1 / 37

Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System

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

patty
Download Presentation

Ginga-NCL: the Declarative Environment of the Brazilian Digital TV System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ginga-NCL: the DeclarativeEnvironment of the BrazilianDigital 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

  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. Exemplo: example03.ncl

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

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

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

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

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

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

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

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

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

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

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

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

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

  32. Dúvidas ???

  33. Obrigado!!!

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

More Related