abr 04

Fórum SBTVD define como será o middleware

ginga Comentários desativados em Fórum SBTVD define como será o middleware

O Fórum SBTVD deve decidir o destino do middleware Ginga na reunião desta segunda-feira, 6. O que está em jogo é a escolha da linguagem procedural do middleware, que está entre a JavaDTV e o GEM. Até o momento, ninguém manifestou opinião nos encontros. Os conselheiros apenas receberam os estudos técnicos. “Nada está decidido. Por enquanto, o que todos concordam é que as duas linguagens atendem as necessidades plenamente”, revela um conselheiro. Conforme apurou este noticiário, a linguagem Java tem algumas vantagens em relação ao GEM. O fato de ser totalmente livre de royalties é apenas uma delas. Outra vantagem importante é que a implantação da interatividade seria mais rápida, já que a máquina virtual Java está embarcada nos processadores Intel e STI, e deve ser implantada nos chips da Broadcom até outubro deste ano. Além disso, a força técnica dedicada a harmonizar o JavaDTV com a linguagem declarativa NCL, para formar o middleware Ginga-J, seria maior, contando com esforços da própria Sun. Outro ponto importante é que a base de programadores Java é muito maior.

Embora ninguém tenha emitido opinião nos encontros, especula-se no mercado que a radiodifusão poderia sair em defesa do GEM. “Eles temem que a Internet ‘atrapalhe’ a televisão”, diz uma fonte. A linguagem Java é amplamente difundida na programação para a Internet. Com uma porta de comunicação e a linguagem embarcada nos televisores, nada impediria que Yahoo!, UOL, Terra e Google, por exemplo, passassem a disputar a atenção dos telespectadores dentro de uma caixa que, até há pouco tempo, era exclusiva dos canais de TV. Vale lembrar que os chamados “outros dispositivos” (DVDs, video games ou até computadores ligados ao televisor) vêm ganhando audiência na TV nos últimos anos.

Procedural e declarativa

O middleware é formado por duas linguagens. A declarativa descreve o quê, e não como, seus procedimentos funcionam. No Ginga, está decidido que esta linguagem será o NCL.

A outra linguagem é a procedural, que especifica os passos que um programa deve seguir para alcançar um estado desejado. A princípio, o Ginga teria a linguagem GEM. Foi apontado pelo próprio Fórum do SBTVD que haveria o risco de surgirem detentores de patentes escondidas no código após a implantação do middleware, o que poderia acarretar royalties mais altos e difíceis de serem negociados, já que abandonar a linguagem nesta altura deixaria como legado todos os receptores já instalados.

Fonte: Tela Viva

Tagged with:
mar 23

Nova versão da implementação de referência Ginga-NCL

ginga, ginga-ncl Comentários desativados em Nova versão da implementação de referência Ginga-NCL

Está disponível no SVN da Comunidade Ginga a mais nova versão da implementação de referência do Ginga-NCL. Ginga-NCL 0.10.1 traz novas funcionalidades, maior estabilidade e uma nova arquitetura, baseada em componentes de software.

A implementação de referiencia é o protótipo do Ginga-NCL mantido pela PUC-Rio para demonstrar a forma como as especificações contidas nas Normas ABNT do Ginga podem ser implementadas. A implementação de referência é escrita em linguagem C++ e otimizada para execução em plataformas embarcadas, como os set-top boxes de TV Digital. A mesma implementação de referência tem sido a base para as ferramentas de testes disponíveis na Comunidade, como o Ginga Virtual Set-top box e o Ginga Live CD.

As principais novidades do Ginga-NCL 0.10.1 são:

  • Código baseado em Componentes de Software. Com esta primeira versão da componentização do Ginga-NCL, abrimos a possibilidade de carregamento dinâmico, conforme a demanda, dos módulos necessários para a apresentação de cada aplicação NCL. Além disso, fica facilitada a manutenção do middleware por meio de atualizações em tempo de operação;
  • Gerência de Contexto. Perfis de usuários podem ser criados e modificados, conforme suas preferências de exibição, localização, dispositivos, etc. Essas preferências podem ser acessadas por aplicações NCL e NCLua por meio das variáveis globais NCL, para personalização e adaptação ao contexto;
  • Nova camada de abstração de hardware no Ginga Common Core (gingacc-system), para facilitar ainda mais o porte entre plataformas;
  • Apresentação de aplicações NCL remotas (https://…), por download;
  • Maior aderência a Norma ABNT (NCL e NCLua);
  • Maior estabilidade do player XHTML (links);
  • Implementação Ginga pronta para acomodar outros subsistemas que não somente o Ginga-NCL;
  • Diversas outras melhorias, que podem ser encontradas nos arquivos Changelog de cada componente.

Usuários do Ginga Live CD 1.0 já contam com todas essas facilidades, pois já possuem o Ginga-NCL 0.10.1 ali embutido. Usuários do Ginga Virtual Set-top Box, aguardem novo release em breve.

Desenvolvedores do middleware, atualizem já seu código para Rev. 21. O Wiki de Compilação e instalação também encontra-se atualizado, visitem: https://svn.softwarepublico.gov.br/trac/ginga/wiki/Building_Wiki_GingaNCL

Há uma trilha em nossos fóruns coletando as limitações encontradas nesta versão, juntamente com notas do Ginga Live CD 1.0: https://www.softwarepublico.gov.br/dotlrn/clubs/ginga/forums/message-view?message_id=10130849

Fonte: Comunidade Ginga

Tagged with:
abr 24

Nova versão Ginga-NCL

ginga Comentários desativados em Nova versão Ginga-NCL

A Comunidade Ginga disponibilizou hoje (23/04/2008) nova versão da implementação em C++ do Ginga-NCL, também conhecida como implementação de referência. Essa atualização foi, ainda, propagada para o Set-top Box Virtual, máquina VMWare que possui o Ginga-NCL (C++) instalado e pronto para uso.

Ginga-NCL (C++) v.0.9.27 possui agora métodos mais eficazes de gerenciamento threads, memória e controle de foco, suporte refinado a transparência por canal alpha no exibidor de imagens (PNG), suporte a formatação no exibidor de texto plano, entre outras novas funcionalidades, com maior aderência à norma ABNT e correções de pequenos bugs. Ginga-NCL (C++) é a implementação de referência para set-top boxes do SBTVD, voltada para plataforma Linux e distribuída como código-fonte, por meio do SVN da Comunidade Ginga (https://svn.softwarepublico.gov.br/trac/ginga/wiki/Building_Wiki_GingaNCL).

Ginga-NCL Virtual Set-top Box v.0.9.27 foi atualizado com o novo código do Ginga-NCL (C++) v.0.9.27. O Set-top Box Virtual é uma máquina virtual VMWare com sistema Linux instalado e pré-configurado com todos os requisitos do Ginga-NCL (C++). Pode ser obtido por meio da SubComunidade Ginga-NCL, no box “Direto ao Ginga” (https://www.softwarepublico.gov.br/dotlrn/clubs/ginga/gingancl/). Lá você encontra também um “HOW-TO” com dicas para instalar e operar o Set-top Box Virtual.

Para maiores informações sobre as modificações no código do Ginga-NCL, consulte os arquivos ChangeLog presentes em cada pacote de código-fonte presente no SVN (https://svn.softwarepublico.gov.br/trac/ginga/browser). A atualização corresponde às revisões 9 e 10 do SVN.

As ferramentas “Ginga-NCL Emulator” e “Composer” não foram afetadas por tal atualização.

Comunidade Ginga
https://www.softwarepublico.gov.br/dotlrn/register?community_id=1101545&referer=/dotlrn/clubs/ginga/

SubComunidade Ginga-NCL
https://www.softwarepublico.gov.br/dotlrn/clubs/ginga/register?community_id=1160871&referer=/dotlrn/clubs/ginga/gingancl

Fonte: Comunidade Ginga

Tagged with:
jan 29

Arquitetura da Implementação de Referência (GINGA)

ginga Comentários desativados em Arquitetura da Implementação de Referência (GINGA)

Em reconhecimento à cultura, arte e contínua luta por liberdade e igualdade do povo brasileiro, Ginga foi escolhido como nome do middleware do Sistema Brasileiro de TV Digital.

Ginga oferece uma série de facilidades para o desenvolvimento de conteúdo e aplicativos para TV Digital, entre elas a possibilidade desses conteúdos serem exibidos nos mais diferentes sistemas de recepção, independente do fabricante e tipo de receptor (TV, celular, PDAs etc.).

No modelo de referência do Sistema Brasileiro, Ginga é uma camada de software interposta entre as aplicações e os outros módulos que compõem o Sistema Brasileiro, que são, usualmente, implementados por hardware.

Quando se busca os requisitos de um middleware, tendo por base as aplicações a serem desenvolvidas em um sistema de TV digital, quatro pontos chamam a atenção: o sincronismo de mídia, o suporte a múltiplos dispositivos, a adaptabilidade e o suporte ao desenvolvimento de programas ao vivo.

No caso especial do Brasil, o middleware deve também oferecer um bom suporte ao desenvolvimento de aplicações visando a inclusão social, como aplicações para ensino, saúde etc.

Com esses requisitos em foco, o universo das aplicações para TV digital pode ser particionado em dois conjuntos: o das aplicações declarativas e o das aplicações procedurais.

As linguagens declarativas são mais intuitivas (de mais alto nível) e, por isso, mais fáceis de usar, normalmente não exigindo um perito programador. Contudo, as linguagens declarativas têm de ser definidas com um foco específico. Quando o foco da aplicação não casa com o da linguagem, o uso de uma linguagem procedural não é apenas vantajoso, mas se faz necessário. O uso de linguagens procedurais usualmente requer um perito em programação. Uma aplicação não precisa ser , entretanto, puramente declarativa ou puramente procedural. Sem erro pode-se afirmar que, nos sistemas de TV digital, os dois tipos de aplicação coexistirão, sendo então conveniente que o dispositivo receptor integre o suporte aos dois tipos em seu middleware. Isso ocorre nos middlewares de todos os sistemas, incluindo o middleware Ginga.

A arquitetura da implementação de referência do middleware Ginga pode ser dividida em três grandes módulos: Ginga-CC (Common Core), o ambiente de apresentação Ginga-NCL (declarativo) e o ambiente de execução Ginga-J (procedural).

Ginga-CC oferece o suporte necessário aos ambientes declarativo e procedural, e tem como funções principais a exibição dos vários objetos de mídia, o controle do plano gráfico, o tratamento de dados obtidos do carrossel de objetos DSM-CC, o tratamento do canal de retorno, entre outras.

Quanto ao ambiente de apresentação Ginga-NCL, a única linguagem declarativa que oferece suporte a todos os requisitos mencionados para um middleware é a linguagem NCL (Nested Context Language), desenvolvida no Laboratório TeleMídia da PUC-Rio, e escolhida como base do Ginga. NCL é uma das principais linguagens existentes para a definição do sincronismo temporal.Como vantagem adicional, e imprescindível em um sistema de TV digital, NCL também provê suporte a variáveis, que podem ser manipuladas através de código procedural, entre eles o de sua linguagem de script Lua.

Lua, também desenvolvida no Departamento de Informática da PUC-Rio, constitui-se hoje em padrão internacional de fato na área de entretenimento, em especial jogos. Vários dos principais jogos lançados nos últimos anos utilizaram Lua em seu desenvolvimento. Lua é leve, fácil de usar e possui um altíssimo desempenho.

Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria.

Por sua vez, o ambiente de execução Ginga-J, desenvolvido no Laboratório LAVID da UFPB, utiliza a linguagem Java e é dividido em três partes: as APIs vermelhas, inovações que dão suporte às aplicações brasileiras, em especial as de inclusão social; as APIs amarelas, também inovações brasileiras, mas que podem ser exportadas para os outros sistemas; e as APIs verdes, que seguem o núcleo comum do padrão GEM (Globally Executable MHP).

Diferente dos outros sistemas, os ambientes de apresentação e execução do middleware Ginga se complementam, unidos por uma ponte em uma implementação sem nenhuma redundância, o que confere ao sistema uma ótima eficiência, tanto em termos de uso de CPU quanto de ocupação de memória. Ao contrário dos outros sistemas, Ginga, desde seu projeto inicial, foi desenvolvido tendo em mente os dois ambientes de programação.

Fonte: Comunidade Ginga

Tagged with:
jan 24

O que é GINGA??

ginga Comentários desativados em O que é GINGA??

Ginga é a camada de software intermediário (middleware) que permite o desenvolvimento de aplicações interativas para a TV Digital de forma independente da plataforma de hardware dos fabricantes de terminais de acesso (set-top boxes).

Resultado de anos de pesquisas lideradas pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e pela Universidade Federal da Paraíba (UFPB), Ginga reúne um conjunto de tecnologias e inovações brasileiras que o tornam a especificação de middleware mais avançada e, ao mesmo tempo, mais adequada à realidade do país.

O Middleware Ginga pode ser dividido em três subsistemas principais: Ginga-CC, Ginga-J e Ginga-NCL.

Ginga-CC (Ginga Common-Core) oferece o suporte básico para os ambientes declarativo (Ginga-NCL) e procedural (Ginga-J). Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma de programação (declarativo ou procedural) possuirá uma melhor adequação que o outro.

Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execução de aplicações baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital.

Ginga-NCL foi desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentação de aplicações baseadas em documentos hipermídia escritos em linguagem NCL, com facilidades para a especificação de aspectos de interatividade, sincronismo espaço-temporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos. NCL possui Lua como sua linguagem de script.

Para facilitar o desenvolvimento de aplicações Ginga-NCL, a PUC-Rio desenvolveu também a ferramenta Composer. Composer é um ambiente de autoria voltado para a criação de programas NCL para TV digital interativa. Nessa ferramenta, as abstrações são definidas em diversos tipos de visões que permitem simular um tipo específico de edição (estrutural, temporal, leiaute e textual). Essas visões funcionam de maneira sincronizada, a fim de oferecer um ambiente integrado de autoria. Entre agora mesmo no subgrupo Composer!

Cabe observar que os desenvolvimentos relacionados à linguagem NCL e à ferramenta Composer estão aplicados ao cenário de TV Digital, mas já são aplicados em outros cenários de aplicações multimídia e hipermídia, como Web, IPTV etc. TV Digital Interativa é apenas um caso particular de aplicação multimídia.

Fonte: Comunidade Ginga

Tagged with:
preload preload preload