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

37
Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças [email protected] Lucas Augusto Scotta Merlo [email protected]

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

Ginga-NCL: the DeclarativeEnvironment of the Brazilian

Digital TV System

Alex Pinheiro das Graç[email protected]

Lucas Augusto Scotta [email protected]

Page 2: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@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

Page 3: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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).

Page 4: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 5: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 6: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

6

Arquitetura Ginga Common Core

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

Page 7: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 8: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 9: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 10: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 11: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 12: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 13: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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).

Page 14: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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)

Page 15: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

15

Estrutura de um documento NCL

Page 16: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

16

Estrutura de um documento NCL

Page 17: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

17

Page 18: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

18

Page 19: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

19

Page 20: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

20

Exemplo: example03.ncl

Page 21: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 22: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 23: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 24: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 25: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 26: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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”.

Page 27: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 28: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 29: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 30: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 31: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 32: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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

Page 33: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 34: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

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.

Page 35: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

35

Dúvidas ???

Page 36: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

36

Obrigado!!!

Page 37: Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System Alex Pinheiro das Graças alex.pgracas@gmail.com Lucas Augusto Scotta Merlo scotta@inf.ufes.br

Ginga-NCL: the DeclarativeEnvironment of the Brazilian

Digital TV System

Alex Pinheiro das Graç[email protected]

Lucas Augusto Scotta [email protected]