View
21
Download
0
Category
Preview:
DESCRIPTION
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. Agenda. Introdução Arquitetura Ginga Ginga-NCL Comandos de edição Ginga-NCL - PowerPoint PPT Presentation
Citation preview
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
Recommended