Ir para o conteúdo

Ginga-NCL

Ginga-NCL é o subsistema Ginga desenvolvido pela PUC-Rio que visa prover uma infraestrutura de apresentação para aplicações declarativas escritas na linguagem NCL (Nested Context Language). NCL é uma linguagem de aplicação XML com facilidades para a especificação de aspectos de interatividade, sincronismo espaço-temporal entre objetos de mídia, adaptabilidade, suporte a múltiplos dispositivos e suporte à produção ao vivo de programas interativos não-lineares.

O que é NCL?

NCL é o acrônimo para Nested Context Language.

NCL é uma linguagem declarativa, na verdade uma aplicação XML, que tem sido especificado de forma modular, visando combinar seus módulos em linguagem perfis.

Entre os perfis NCL estão aqueles direcionados ao domínio DTV. A flexibilidade NCL, sua facilidade de reutilização, suporte a vários dispositivos, conteúdo de aplicativos e adaptabilidade de apresentação e, principalmente, seu suporte intrínseco para facilitar definindo a sincronização espaço-temporal entre ativos de mídia, incluindo aqueles provenientes das interações do espectador, fazem da NCL uma excelente solução para todos tipos de sistemas DTV interativos.

NCL é a linguagem declarativa do middleware nipo-brasileiro de TV digital ISDB-TB12, e também Recomendação ITU-T para serviços de IPTV3.

A NCL tem uma separação mais rígida entre o conteúdo e a estrutura do aplicativo. A NCL não define nenhum conteúdo de mídia por si só. Em vez disso, define a cola que mantém a mídia unida em apresentações multimídia. Assim, um NCL documento apenas define como os objetos de mídia são estruturados e relacionados no tempo e espaço.

Como uma linguagem cola, a NCL não restringe nem prescreve qualquer tipo de conteúdo do objeto de mídia. Quais objetos de mídia são suportados depende do reprodutores de mídia incorporados no formatador NCL (o reprodutor NCL).

Portanto, podemos ter conteúdos perceptivos, como vídeos, imagens, áudios e textos, como objetos de mídia NCL. Também podemos ter objetos de mídia com imperativo conteúdo de código, como código Lua, código ECMAScript, código Java, etc. Além disso, podemos ter objetos de mídia com conteúdo de código declarativo, como baseado em HTML código, código SVG, código X3D, código SMIL, código NCL (sim, aplicativos NCL incorporados outras aplicações NCL), etc. Portanto, NCL não substitui, mas incorpora aplicações de outras línguas, relacionando todos os objetos no tempo e no espaço em uma apresentação distribuída em vários dispositivos.

Relatórios PUC-Rio


  1. Associação Brasileira de Normas Técnicas. NBR 15606-2. TV digital terrestre -- Codificação de dados e especificações de transmissão para radiodifusão digital -- Parte 2: Ginga-NCL para receptores fixos e móveis -- Linguagem XML de aplicação para codificação de aplicações. 2ª Edição. Maio, 2011. Disponível em https://forumsbtvd.org.br/legislacao-e-normas-tecnicas/normas-tecnicas-da-tv-digital/portugues/ 

  2. Associação Brasileira de Normas Técnicas. NBR 15606-5. TV digital terrestre -- Codificação de dados e especificações de transmissão para radiodifusão digital -- Parte 5: Ginga-NCL para receptores portáteis -- Linguagem XML de aplicação para codificação de aplicações. 2ª Edição. Maio, 2011. Disponível em https://forumsbtvd.org.br/legislacao-e-normas-tecnicas/normas-tecnicas-da-tv-digital/portugues/ 

  3. Recomendação ITU-T H.761. Nested Context Language (NCL) e Ginga-NCL para Serviços IPTV. Genebra, Abril, 2009. Disponível em http://www.itu.int/rec/T-REC-H.761