Oswaldo Norbim13/05/2009
Seminários
O que é o Ginga?
Ginga é o middleware de especificação aberta
adotado pelo Sistema Brasileiro de TV Digital
Terrestre (SBTVD) e que será instalado em
conversores (set-top boxes) e em televisores.
Middleware é uma camada de software posicionada
entre o código das aplicações e a infra-estrutura de
execução (plataforma de hardware e sistema
operacional).
 Para tornar os aplicativos
independentes da plataforma de
hardware e software de um
fabricante de receptor específico, e
para dar um melhor suporte às
aplicações voltadas para a TV, uma
nova camada é acrescentada nos
padrões de referência de um
sistema de TV digital. Essa camada
é o middleware.
O middleware possui duas
funções principais: uma é tornar as
aplicações independentes do
sistema operacional da plataforma
de hardware utilizados. A outra é
oferecer um melhor suporte ao
desenvolvimento de aplicações.
O Ginga será o responsável por dar suporte à interatividade.
Exemplo de tela Ginga
 O Ginga é fruto do desenvolvimento de projetos de
pesquisa coordenados pelos laboratórios Telemídia
da PUC Rio e LAVID da UFPB.
 Leva em consideração a necessidade de inclusão
social/digital e a obrigação do compartilhamento de
conhecimento de forma livre.
 Mas por que o nome Ginga?
Ginga é uma qualidade, quase indefinível,de
movimento e atitude que nós brasileiros possuímos e
que é evidente em tudo o que fazemos. A forma
como caminhamos, falamos, dançamos e nos
relacionamos com tudo em nossas vidas.
O nome Ginga foi escolhido em reconhecimento à
cultura, arte e contínua luta por liberdade e igualdade
do povo brasileiro.
 Ginga é uma tecnologia que leva ao cidadão todos os meios
para que ele obtenha acesso à informação, educação à
distância e serviços sociais apenas usando sua TV, o meio de
comunicação onipresente do país.
 Ginga leva em consideração a importância da televisão,
presente na totalidade dos lares brasileiros, como um meio
complementar para inclusão social/digital. Ginga: suporte para
o que é chamado de "aplicações de inclusão", tais como T-
Government, T-health e T-Learning.
 Ginga é uma especificação aberta, de fácil aprendizagem e
livre de royalties, permitindo que todos os brasileiros produzam
conteúdo interativo, o que dará novo impulso às TVs
comunitárias e à produção de conteúdo pelas grandes
emissoras.
 Middleware Proprietários
OpenTV Core (OpenTV)
MediaHighway (Canal+)
Microsoft TV (Microsoft)
Liberate, PowerTV, NDS Core (NDS),
Liberty
 Middleware Abertos
MHEG e DAVIC
ARIB B.23 e ARIB B.24 (ISDB)
MHP (DVB)
GEM e ITU-T J.200
Ginga (SBTVD)
O universo das aplicações para TV
digital pode ser dividido em dois
conjuntos:
– o das aplicações declarativas;
– o das aplicações procedurais.
O sistema é subdividido em três subsistemas principais
interligados (Ginga-CC, Ginga-NCL e Ginga-J), que
permitem o desenvolvimento de aplicações seguindo dois
paradigmas de programação diferentes. Dependendo das
funcionalidades requeridas no projeto de cada aplicação, um
paradigma será mais adequado do que o outro.
 Um conteúdo declarativo é baseado
(especificado) em uma linguagem
declarativa;
 Enfatiza a descrição declarativa do
problema, ao invés da sua
decomposição em uma implementação
algorítmica;
 Linguagens declarativas são linguagens
de mais alto nível de abstração,
usualmente ligadas a um domínio ou
objetivo específico;
 Em uma linguagem declarativa, o
programador fornece apenas o conjunto
das tarefas a serem realizadas;
 Não se preocupa com os detalhes de
como o executor da linguagem
(interpretador, compilador ou a própria
máquina real ou virtual de execução)
realmente implementará essas tarefas;
 Linguagens declarativas resultam em
uma declaração do resultado desejado
 Entre as linguagens declarativas
mais
comuns estão:
– NCL (Nested Context Language);
– SMIL;
– e XHTML.
 Linguagens procedurais especificam os
passos que um programa precisa seguir
para alcançar o resultado desejado;
 Sequência de passos computacionais
chamados procedimentos (rotinas,
subrotinas, métodos ou funções) que
precisam ser executados;
 Qualquer procedimento pode ser
chamado em qualquer ponto durante a
execução do programa, inclusive por
outros procedimentos;
 Entretanto, para isso, o desenvolvedor
deve ser bem qualificado e conhecer
bem os recursos de implementação da
linguagem;
 A linguagem mais usual encontrada
nos
ambientes procedurais de um
sistema de
TV digital é Java.
O que é Java?
 É uma tecnologia que contempla:
– Linguagem de Programação;
• Uma linguagem de programação orientada
a objetos;
– Plataforma de Programação;
• Uma coleção de APIs (classes, componentes,
frameworks) e ambiente de
desenvolvimento para aplicações
multiplataforma;
• Um ambiente de execução presente em
browsers, mainframes, SOs, celulares,
palmtops, cartões inteligentes,
eletrodomésticos, etc.
– Familiar (sintaxe parecida com C)
– Simples e robusta (minimiza bugs, aumenta
produtividade)
– Suporte nativo a threads (+ simples, maior
portabilidade)
– Dinâmica (módulos, acoplamento em tempo
de
execução)
– Com coleta de lixo (menos bugs, mais
produtividade)
– Independente de plataforma
– Segura (vários mecanismos para controlar
segurança)
– Código intermediário de máquina virtual
interpretado
(compilação rápida - + produtividade no
Ginga-NCL
O Ginga-NCL foi desenvolvido pela PUC-Rio com o objetivo de prover uma
infra-estrutura de apresentação para aplicações declarativas escritas na
linguagem NCL (Nested Context Language), que é uma 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.
Ginga-J
O Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de
execução de aplicações baseadas na linguagem Java, com facilidades
especificamente voltadas para o ambiente de TV digital.
Ginga-CC
O Ginga-CC (Ginga Common-Core) oferece o suporte básico para os
ambientes declarativos (Ginga-NCL) e procedural (Ginga-J), de maneira que
suas principais funções sejam para tratar da exibição de vários objetos de
mídia, como JPEG, MPEG-4, MP3, GIF, entre outros formatos.
 Interatividade
A promessa da TV digital é não só ter imagens de TV
maiores e mais bem definidas, mas a interatividade
que permitirá aplicativos de t-educação, t-saúde, t-
governo, t-comércio, home banking e muito mais.
Assim, a TV digital poderia tornar-se uma poderosa
ferramenta de inclusão digital e social.
Um sistema de TV digital terrestre pode operar sem
canal de retorno. Nesse caso, as aplicações podem
usar apenas dados transmitidos por difusão.
Mas para se ter interatividade precisa-se de um
canal de retorno.
 Padrões de referência de um sistema de TV digital
podem incluir, contudo, o uso de um canal de
retorno. O canal de retorno pode ser unidirecional,
permitindo ao receptor apenas o envio de dados.
Ex: permitir ao usuário telespectador o envio de
dados, por exemplo, solicitando a compra de um
determinado produto, votando em um determinado
assunto, etc...
 O canal de retorno pode ser também bidirecional
assimétrico, possibilitando ao receptor fazer o
carregamento (download) de dados utilizados pelos
aplicativos. Nesse caso, um aplicativo pode receber
dados por difusão ou pela rede de retorno.
Permite ao usuário telespectador o acesso a dados
não provenientes das emissoras. Por exemplo, a
navegação na Web.
 Um canal de retorno bidirecional pode também
permitir o envio de dados em banda larga (upload).
Nesse caso o receptor pode passar a atuar como
uma pequena emissora.
Esse nível de interatividade, chamada de plena,
possibilita o que vem sendo chamado de TV social
ou TV em comunidade, que se caracteriza por um
grupo de usuários telespectadores de um mesmo
programa poderem trocar dados entre si.
 O SBTVD permite em suas normas todos os níveis
de interatividade
Diretrizes para o design de programas de TV digital interativa
(Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares,
Departamento de informática - Puc RIO).
Diretrizes para o design de programas de TV digital interativa
(Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares,
Departamento de informática - Puc RIO).
Exemplos de aplicações
Apresentação oswaldo
Apresentação oswaldo
Apresentação oswaldo
Apresentação oswaldo
Apresentação oswaldo
Apresentação oswaldo

Apresentação oswaldo

  • 1.
  • 2.
    O que éo Ginga? Ginga é o middleware de especificação aberta adotado pelo Sistema Brasileiro de TV Digital Terrestre (SBTVD) e que será instalado em conversores (set-top boxes) e em televisores. Middleware é uma camada de software posicionada entre o código das aplicações e a infra-estrutura de execução (plataforma de hardware e sistema operacional).
  • 3.
     Para tornaros aplicativos independentes da plataforma de hardware e software de um fabricante de receptor específico, e para dar um melhor suporte às aplicações voltadas para a TV, uma nova camada é acrescentada nos padrões de referência de um sistema de TV digital. Essa camada é o middleware. O middleware possui duas funções principais: uma é tornar as aplicações independentes do sistema operacional da plataforma de hardware utilizados. A outra é oferecer um melhor suporte ao desenvolvimento de aplicações.
  • 5.
    O Ginga seráo responsável por dar suporte à interatividade. Exemplo de tela Ginga
  • 6.
     O Gingaé fruto do desenvolvimento de projetos de pesquisa coordenados pelos laboratórios Telemídia da PUC Rio e LAVID da UFPB.  Leva em consideração a necessidade de inclusão social/digital e a obrigação do compartilhamento de conhecimento de forma livre.  Mas por que o nome Ginga?
  • 7.
    Ginga é umaqualidade, quase indefinível,de movimento e atitude que nós brasileiros possuímos e que é evidente em tudo o que fazemos. A forma como caminhamos, falamos, dançamos e nos relacionamos com tudo em nossas vidas. O nome Ginga foi escolhido em reconhecimento à cultura, arte e contínua luta por liberdade e igualdade do povo brasileiro.
  • 8.
     Ginga éuma tecnologia que leva ao cidadão todos os meios para que ele obtenha acesso à informação, educação à distância e serviços sociais apenas usando sua TV, o meio de comunicação onipresente do país.  Ginga leva em consideração a importância da televisão, presente na totalidade dos lares brasileiros, como um meio complementar para inclusão social/digital. Ginga: suporte para o que é chamado de "aplicações de inclusão", tais como T- Government, T-health e T-Learning.  Ginga é uma especificação aberta, de fácil aprendizagem e livre de royalties, permitindo que todos os brasileiros produzam conteúdo interativo, o que dará novo impulso às TVs comunitárias e à produção de conteúdo pelas grandes emissoras.
  • 9.
     Middleware Proprietários OpenTVCore (OpenTV) MediaHighway (Canal+) Microsoft TV (Microsoft) Liberate, PowerTV, NDS Core (NDS), Liberty  Middleware Abertos MHEG e DAVIC ARIB B.23 e ARIB B.24 (ISDB) MHP (DVB) GEM e ITU-T J.200 Ginga (SBTVD)
  • 10.
    O universo dasaplicações para TV digital pode ser dividido em dois conjuntos: – o das aplicações declarativas; – o das aplicações procedurais. O sistema é subdividido em três subsistemas principais interligados (Ginga-CC, Ginga-NCL e Ginga-J), que permitem o desenvolvimento de aplicações seguindo dois paradigmas de programação diferentes. Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma será mais adequado do que o outro.
  • 11.
     Um conteúdodeclarativo é baseado (especificado) em uma linguagem declarativa;  Enfatiza a descrição declarativa do problema, ao invés da sua decomposição em uma implementação algorítmica;  Linguagens declarativas são linguagens de mais alto nível de abstração, usualmente ligadas a um domínio ou objetivo específico;
  • 12.
     Em umalinguagem declarativa, o programador fornece apenas o conjunto das tarefas a serem realizadas;  Não se preocupa com os detalhes de como o executor da linguagem (interpretador, compilador ou a própria máquina real ou virtual de execução) realmente implementará essas tarefas;  Linguagens declarativas resultam em uma declaração do resultado desejado
  • 13.
     Entre aslinguagens declarativas mais comuns estão: – NCL (Nested Context Language); – SMIL; – e XHTML.
  • 14.
     Linguagens proceduraisespecificam os passos que um programa precisa seguir para alcançar o resultado desejado;  Sequência de passos computacionais chamados procedimentos (rotinas, subrotinas, métodos ou funções) que precisam ser executados;  Qualquer procedimento pode ser chamado em qualquer ponto durante a execução do programa, inclusive por outros procedimentos;
  • 15.
     Entretanto, paraisso, o desenvolvedor deve ser bem qualificado e conhecer bem os recursos de implementação da linguagem;  A linguagem mais usual encontrada nos ambientes procedurais de um sistema de TV digital é Java.
  • 17.
    O que éJava?  É uma tecnologia que contempla: – Linguagem de Programação; • Uma linguagem de programação orientada a objetos; – Plataforma de Programação; • Uma coleção de APIs (classes, componentes, frameworks) e ambiente de desenvolvimento para aplicações multiplataforma; • Um ambiente de execução presente em browsers, mainframes, SOs, celulares, palmtops, cartões inteligentes, eletrodomésticos, etc.
  • 18.
    – Familiar (sintaxeparecida com C) – Simples e robusta (minimiza bugs, aumenta produtividade) – Suporte nativo a threads (+ simples, maior portabilidade) – Dinâmica (módulos, acoplamento em tempo de execução) – Com coleta de lixo (menos bugs, mais produtividade) – Independente de plataforma – Segura (vários mecanismos para controlar segurança) – Código intermediário de máquina virtual interpretado (compilação rápida - + produtividade no
  • 19.
    Ginga-NCL O Ginga-NCL foidesenvolvido pela PUC-Rio com o objetivo de prover uma infra-estrutura de apresentação para aplicações declarativas escritas na linguagem NCL (Nested Context Language), que é uma 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. Ginga-J O Ginga-J foi desenvolvido pela UFPB para prover uma infra-estrutura de execução de aplicações baseadas na linguagem Java, com facilidades especificamente voltadas para o ambiente de TV digital. Ginga-CC O Ginga-CC (Ginga Common-Core) oferece o suporte básico para os ambientes declarativos (Ginga-NCL) e procedural (Ginga-J), de maneira que suas principais funções sejam para tratar da exibição de vários objetos de mídia, como JPEG, MPEG-4, MP3, GIF, entre outros formatos.
  • 20.
     Interatividade A promessada TV digital é não só ter imagens de TV maiores e mais bem definidas, mas a interatividade que permitirá aplicativos de t-educação, t-saúde, t- governo, t-comércio, home banking e muito mais. Assim, a TV digital poderia tornar-se uma poderosa ferramenta de inclusão digital e social.
  • 21.
    Um sistema deTV digital terrestre pode operar sem canal de retorno. Nesse caso, as aplicações podem usar apenas dados transmitidos por difusão. Mas para se ter interatividade precisa-se de um canal de retorno.
  • 22.
     Padrões dereferência de um sistema de TV digital podem incluir, contudo, o uso de um canal de retorno. O canal de retorno pode ser unidirecional, permitindo ao receptor apenas o envio de dados. Ex: permitir ao usuário telespectador o envio de dados, por exemplo, solicitando a compra de um determinado produto, votando em um determinado assunto, etc...
  • 23.
     O canalde retorno pode ser também bidirecional assimétrico, possibilitando ao receptor fazer o carregamento (download) de dados utilizados pelos aplicativos. Nesse caso, um aplicativo pode receber dados por difusão ou pela rede de retorno. Permite ao usuário telespectador o acesso a dados não provenientes das emissoras. Por exemplo, a navegação na Web.
  • 24.
     Um canalde retorno bidirecional pode também permitir o envio de dados em banda larga (upload). Nesse caso o receptor pode passar a atuar como uma pequena emissora. Esse nível de interatividade, chamada de plena, possibilita o que vem sendo chamado de TV social ou TV em comunidade, que se caracteriza por um grupo de usuários telespectadores de um mesmo programa poderem trocar dados entre si.  O SBTVD permite em suas normas todos os níveis de interatividade
  • 25.
    Diretrizes para odesign de programas de TV digital interativa (Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares, Departamento de informática - Puc RIO).
  • 26.
    Diretrizes para odesign de programas de TV digital interativa (Simone Diniz Junqueira Barbosa, Luiz Fernando Gomes Soares, Departamento de informática - Puc RIO).
  • 27.