ginga-ncl: the declarative environment of the brazilian digital tv system alex pinheiro das graças...

Post on 17-Apr-2015

108 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ginga-NCL: the DeclarativeEnvironment of the Brazilian

Digital TV System

Alex Pinheiro das Graçasalex.pgracas@gmail.com

Lucas Augusto Scotta Merloscotta@inf.ufes.br

2

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

3

Introdução

A arquitetura e funcionalidades do Ginga foram projetadas para sistemas de broadcast. Para o sistema normal de antena.

A mesma arquitetura pode ser usada para outras maneiras de transporte do sinal ( satélite, TV a cabo e IPTV).

4

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

5

Arquitetura Ginga

The Ginga Architecture can be divided in three major modules: Common Core, Ginga-NCL e Ginga-J: Ginga-J is a logical subsystem of the

Ginga System that processes Xlet object content.

6

Arquitetura Ginga Common Core

Ginga-NCL e Ginga-J são construídos sobre os serviços oferencidos pelo Ginga Common-Core module.

7

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

8

Ginga-NCL - Histórico NCL (Linguagem de Contexto Aninhado). MHEG-1:

usava a notação sintática ASN-1 para a definição de aplicações multimídia baseadas no relacionamento entre objetos.

Modelo de Contexto Aninhado (NCM) problema de aninhamento de composições em

documentos estruturados. MHP

primeiro padrão de middleware aberto fundado puramente em Java.

9

Ginga-NCL – Histórico (cont...)

Linguagem declarativa x procedural Queda do uso puramente em JAVA.

Pelo alto grau de abstração, a lig. declarativa foi sendo adotada para trabalhar principalmente com a interação e sincronização espaço-temporal de mídias.

Os 3 principais padrões: DVB-HTML, ACAP-X e BML adotaram a linguagem declarativa. BML usa apenas declarativa.

10

Ginga-NCL - XHTML

Os três padrões supracitados, utilizam XHTML como linguagem declarativa.

XHTML define as relações entre o conteúdo nele contidos junto com sua estruturação. Usa EcmaScript (ou outra linguagem imperativa)

para tratar relacionamentos de sincronização espaço-temporal, dentre outros.

11

Ginga NCL – Comp. das linguagens declarativas

SMIL e NCL não misturam a definição do conteúdo de um documento com sua estruturação, oferecendo: um controle não invasivo, tanto do leiaute do

documento (apresentação espacial), quanto da sua apresentação temporal.

NCL linguagem de “cola” que mantém os objetos semanticamente juntos em uma apresentação multimídia.

12

Ginga-NCL - Player NCL formatter (NCL player) responsável por

apresentar os diversos tipos de mídia como: MP3, MPEG2, HTML, dentre outras.

Eventos são gerados durante e apresentação. Devem ser informados pelo player ao formatador NCL. Pode gerar ações para ser aplicado a esse ou outros

players. Ginga-NCL define uma API adaptadora, para

padronizar a interface entre o Ginga-NCL Formatador, e cada player.

13

Ginga-NCL – NCL

NCL é uma aplicação XML que se segue a abordagem de modularização. Um módulo é uma coleção de elementos XML

semanticamente relacionados, atributos e valores do atributo que representa uma unidade de funcionalidade.

Uma perfil de linguagem é uma combinação de módulos. No sistema brasileiro temos: EDTVProfile (Enhanced Digital TV Profile) e, BDTVProfile (Basic Digital TV Profile).

14

Estrutura de um documento NCL

Um documento NCL é um arquivo escrito em XML. Um cabeçalho NCL (linhas 1 e 2). <ncl> Uma seção do cabeçalho do programa (<head>, linhas 3

a 13), onde se definem as regiões <regionBase>, descritores <descriptorBase>, conectores <connectorBase>, e as regras <ruleBase>, utilizadas pelo programa.

O corpo do programa (<body>, linhas 14 a 17) onde se definem os contextos, nós de mídia, elos e outros elementos que definem o conteúdo e estrutura do programa.

Pelo menos uma porta que indica por onde o programa começa a ser exibido (<port> ptInicio, linha 15) e

a conclusão do documento </ncl> (linha 18)

15

Estrutura de um documento NCL

16

Estrutura de um documento NCL

17

18

19

20

Exemplo: example03.ncl

21

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

22

Ginga Common Core Data Processing

Ginga Common Core é composto pelos decodificadores de conteudos mais comuns e devem suportar o modelo de decodificação especificados pelo Sistema Brasileiro de TV.

23

Ginga Common Core Data Processing

DSM-CC descritores de fluxo de eventos tem uma estrutura composta basicamente por : id (identificação): identifica unicamente o fluxo

de eventos como um comando de edição Time reference: indica o momento exato quando

disparar o evento. Private data field: Campo privado com suporte a

parametros de eventos.

24

Ginga Common Core Data Processing

A transmissão de documentos NCL podem ser feitas por carrossel de dados ou via canal de retorno.

O Ginga Common Core é responsável por montar cada organização de sistema de arquivo que compõe o parametro baseado em XML no receptor

25

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

26

LUA: THE NCL SCRIPT LANGUAGE

A linguagem de script adotado peloGinga-NCL para implementear objetos procedurais embutidos dentro de documentos NCL é a Lua.

<media> elementos do tipo application/x-ginga-NCLua”.

27

LUA: THE NCL SCRIPT LANGUAGE

Todas as funções podem receber tempo como parâmetro opcional, desta maneira é possível especificar o momento exato que o comando de edição deverá ser executado. Se o tempo não é especificado o comando é

executado imediatamente.

28

LUA: THE NCL SCRIPT LANGUAGE

É possível ter acesso a API provida pelo Ginga-J dependendo da configuração do middleware. Desta maneira é possível ter acesso a alguns recursos do set-top box e funcionalidades do Ginga.

29

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

30

Comunicação Ginga NCL Ginga-J

Ginga NCL -> Ginga-J: Através do NCL definida no elemento <link> que refere-se a elementos <media> representando Xlet(“application/x-ginga-NCLet” type) códigos suportados pelo Ginga-J; Lua scripts (<media> elements of the application/xginga- NCLua” type) referenciando métodos do Ginga-J.

31

Comunicação Ginga NCL Ginga-J

Ginga-J -> Ginga NCL : Através de funções java que podem monitorar eventos e também podem atribuir valores para atributos e elementos NCL.

32

Agenda

Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL Processamento de dados pelo Ginga Common

Core Lua: Linguagem de script pelo NCL Ponte entre Ginga-NCL e Ginga-J Considerações Finais

33

Considerações Finais

Diferentemente de outros middlewares, o ambiente declarativo é baseado em uma linguagem estruturada, a linguagem NCL.

O ambiente declarativo e procedural foi concebido para ser integrado desde o ínicio da fase de design.

34

C. Final - Propriedades do NCL

Ela é uma linguagem structure-based; Provê suporte para sincronização spaço

temporal. Incluindo interação com o usuário.

35

Dúvidas ???

36

Obrigado!!!

Ginga-NCL: the DeclarativeEnvironment of the Brazilian

Digital TV System

Alex Pinheiro das Graçasalex.pgracas@gmail.com

Lucas Augusto Scotta Merloscotta@inf.ufes.br

top related