1. 4° Edição Java Day
TV Digital
Introdução ao Middleware Ginga
Ginga-J
2. Carlos Fernando Gonçalves
Mestre em Engenharia de Computação, área de
concentração - Engenharia de Software pelo IPT-SP
Bacharel em Física-USP-São Carlos-SP
Atua no mercado de desenvolvimento de sistema a mais de
15 anos.
Professor na Pós-graduação FATEC São José do Rio Preto
3. Televisão
A palavra televisão foi inventada em 1900, pelo francês Constantin Perskyi.
Vem da junção das palavras tele (longe, em grego) e videre (ver, em
latim). Perskyi apresentou uma tese no Congresso Internacional de
Eletricidade, em Paris cujo título era "Televisão". A tese descrevia um
equipamento baseado nas propriedades fotocondutoras do selênio, que
transmitia imagens à distância.
Fonte: http://www.portalsaofrancisco.com.br/alfa/historia-da-televisao/historia-da-televisao.php
4. Alta definição
A história da televisão digital inicia-se nos anos 70, quando a direção da
rede pública de TV do Japão Nippon Hoso Kyokai (NHK) juntamente com
um consórcio de 100 estações comerciais, dão carta branca aos
cientistas do NHK Science & Technical Research Laboratories para
desenvolver uma TV de alta definição (que seria chamada de HDTV).
Os esforços estavam direcionados para a pesquisa de uma solução
tecnológica capaz de dar ao telespectador as sensações mais
próximas possíveis, tanto em imagem quanto em som, daquelas
experimentadas por um espectador no cinema. Isso exigia não só
maior nitidez da imagem e estabilidade na transmissão, mas também
uma tela com dimensões proporcionais à das salas de projeção.
Fonte:http://pt.wikipedia.org/wiki/Hist%C3%B3ria_da_televis%C3%A3o_digital
5. Twitter e TV
Fonte: http://www.youtube.com/watch?v=Jc8TQppzORE&feature=player_embedded
6. Notícia
Televisores da LG terão loja de aplicativos
Uma loja de aplicativos online é uma das atrações da nova família de televisores Smart TV, da LG, que chegará ao
mercado brasileiro nas próximas semanas
A nova família de TVs conectadas da LG, batizada de Smart TV, chegará ao mercado brasileiro nas próximas semanas.
Entre as novidades está a inclusão de um menu com serviços “premium”, dentre os quais estarão portais de vídeo
sob demanda, como NetMovies, Saraiva Digital e Terra TV Video Store. A LG fechou acordos de divisão de receitas
com esses parceiros para as vendas de programação sob demanda através de seus televisores.
Fonte: http://www.mobilizado.com.br/aplicativos/televisores-da-lg-terao-loja-de-aplicativos
7. Notícia
Pesquisa mostra relação da TV com as redes sociais
A proximidade da internet com a televisão nos lares já começa a estimular nos
brasileiros o hábito de comentar online o conteúdo dos programas exibidos na
telinha. Fatos televisivos divertidos, polêmicos e inesperados ou ainda
programas aguardados com grande expectativa estão motivando este
comportamento nos internautas.
Hoje, a internet brasileira já soma 73,9 milhões em todo o país. Desses, 76% dos
adultos afirmam que navegam na internet enquanto assistem TV e, entre eles,
54% publicam comentários na internet, 30% trocam torpedos e 67% trocam
mensagens instantâneas.
Um estudo realizado pelo IBOPE Nielsen Online confirmou esse potencial que os
maiores programas da TV têm para gerar grandes picos de discussão nas
redes sociais, hoje acessadas por 87% dos internautas brasileiros. A análise foi
obtida a partir do BuzzMetrics, ferramenta de mensuração de conteúdos em
mídias sociais, ao investigar três assuntos televisivos muito discutidos na
esfera social: futebol, reality shows e novela. Nos três, um mesmo fenômeno
se repete: as discussões se aquecem sempre que eventos considerados
importantes pelo público acontecem.
Fonte: http://www.adnews.com.br/tecnologia/115307.html?
sms_ss=twitter&at_xt=4dd3b9581fd50c7c,0
8. Notícia
Pesquisa mostra relação da TV com as redes sociais
Reality shows
De dezembro de 2010 a abril deste ano, foram encontradas quase 5 milhões de
mensagens que citavam o nome dos principais reality shows nacionais. Os principais
picos quase sempre estão relacionados com eventos predeterminados pelos
programas: eliminação, provas por liderança, abertura e encerramento dos
programas...
Novelas
Futebol
As mensagens com a palavra futebol chegaram a quase 2 milhões,..
Em estudo conduzido pelo IBOPE Nielsen Online, a pesquisa Social TV, foi possível
perceber ainda que o período das 18 às 24h é o preferido por 85% dos usuários que
comentam na internet sobre o programa que estão assistindo na TV.
Diante desses fatos, o IBOPE Nielsen Online constata que o futuro dos meios está na
combinação entre eles. “Sem isso, será muito difícil, por exemplo, as empresas
atingirem seus públicos-alvo. É preciso planejar cuidadosamente ações motivacionais
que garantam engajamento e continuidade, e que o assunto não seja falado apenas
durante alguns momentos e, depois, esquecido”, analisa Juliana Sawaia, gerente de
inteligência de mercado do IBOPE Nielsen Online.
Fonte: http://www.adnews.com.br/tecnologia/115307.html?sms_ss=twitter&at_xt=4dd3b9581fd50c7c,0
10. Sistema Brasileiro de Televisão Digital
Decreto Nº 4.901, de 26 de novembro de 2003
Institui o Sistema Brasileiro de Televisão Digital
http://www.forumsbtvd.org.br/anexos/decreto-tv-digital.pdf
DECRETO Nº 5.820, DE 29 DE JUNHO DE 2006.
Implantação do SBTVD-T
http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5820.htm
Novembro de 2006
Fórum SBTVD
http://www.forumsbtvd.org.br/materias.asp?id=39
11. O que significa a sigla ISDB-TB ?
Esse é o acrônimo para Integrated Services Digital Broadcasting –
Terrestrial. Faltou o “B” que é de Brasil. A tradução da sigla mostra que é
um “Sistema Integrado de Radiodifusão Digital” transmitido por ondas
terrestres, ou seja, não é nem a cabo e nem via satélite. Ele foi
desenvolvido no Japão e é o sistema de TV Digital desse país. Ao ser
adotado no Brasil, ele recebeu atualizações tecnológicas (upgrades) nas
partes de áudio, vídeo e interatividade. Então o “B” é para contemplar
essas atualizações, mas ele não é mais um sistema de TV Digital; ele é
ISDB-T reconhecido pelas organizações internacionais que regulam as
telecomunicações no mundo.
Fonte: http://www.forumsbtvd.org.br/materias.asp?id=20
12. Os países que já adotaram o padrão ISDB-Tb
Fonte: http://www.dtv.org.br/index.php/onde-ja-tem-tv-digital/veja-aqui-os-paises-da-america-do-sul-que-ja-adotaram-o-padrao-isdb-tb/
18. TV Analógica e TV Digital
Esse número é a relação entre Largura e Altura da tela. Às vezes é chamada de “tela de cinema” ou
“tela larga”.
Para ver um imagem de alta definição verdadeira (1920 pixels na horizontal e 1080 pixels/linhas na
vertical) o televisor precisa ter, no mínimo, 42 polegadas (da ordem de 1.07m) de diagonal. Isso
equivale a uma largura de 93cm e altura de 52cm, porque a largura/altura é 16/9.
21. Cadeia de Valor: TV Analógica
Industria de equipamentos
De recepção
Telespectador
Passivo
Anunciantes
Redes de
Produtores
Televisão
de Conteúdo
Aberta
Industria de
Transmissão
22. Cadeia de Valor: TV Digital Aberta
Provedores
de Chipsets para Set Top Box
Proveedores de software Industria de equipamentos
embarcado De recepção
Telespectador
Passivo
Anunciantes
Redes de
Produtores
Televisão
de Conteúdo
Aberta
Softwares para equipamentos Industria de
de transmissão Transmissão
23. Cadeia de Valor: TV Digital Aberta e Interativa
Provedores
de Chipsets para Set Top Box
Proveedores de software Industria de equipamentos
embarcado De recepção
Proveedores
de middleware
Telespectator
Ativo
Proveedores
Anunciantes
ferramentas
Desenvolvedores
para
De aplicação
desenvolviemento.
interactivas Redes de
de aplicativos Produtores
Ginga Televisão
de Conteúdo
Aberta
Softwares para equipamentos Industria de
de transmissão Transmissão
27. TV Digital interativa
TVs da Linha Sony Brava - Em todas as TVs da linha Sony Bravia a partir de
2011 com recurso DTVi
28. TV Digital interativa
VT20 (3D) - Desde dezembro todas TVs das séries VT20 (3D) e D20 (LED
LCD), da linha Viera, saem de fábrica com o Ginga embarcado
35. Set-top-box
Tnstituto Nacional de Telecomunicações (Inatel), em Santa Rita do Sapucaí,
em Minas Gerais - Placa eletrônica do terminal interativo
Fonte:http://www.revistapesquisa.fapesp.br/index.php?art=5515&bd=4&pg=1&lg
40. CONSEGI 2011
Governo usará TV pública para induzir interatividade e tornará GINGA obrigatório
no PPB
“Não vamos esperar a decisão sobre o novo modelo de negócios [da radiodifusão]. A TV
pública deve lançar a interatividade”, afirmou o assessor especial da Casa Civil, André
Barbosa, durante debate sobre TV Digital promovido nesta sexta-feira, 13/5, durante o 4º
Consegi - Congresso Internacional de Software Livre e Governo Eletrônico. Segundo
Barbosa, o Ginga também pode se tornar obrigatório nos celulares
A principal diferença parece ser a aposta na TV pública – EBC, TV Cultura, etc – como
indutora da interatividade, acreditando que isso fará com que os telespectadores
naturalmente exijam um movimento das emissoras comerciais. Mas ainda há desafios
que precisam ser superados, a começar pelo canal de retorno do sistema.
Fonte:
http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=26258&sid=101
41. Aplicações sofisticadas na TV Digital
Fonte: http://www.youtube.com/watch?v=HDe_XMTEA88&feature=player_embedded
45. 2008
Java TV
TV digital – Desenvolvendo uma aplicação utilizando a plataforma Java TV
Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=11447
57. Paradigmas Imperativo e Declarativo
Em outros ambiente computacionais, temos várias formas de se construir
aplicações e são utilizadas linguagens de programação declarativas,
imperativas ou uma mistura dos dois tipos de linguagens.
Uma linguagem de programação declarativa é um paradigma de
programação baseado em programação funcional, programação lógica
ou programação restritiva.
Exemplo: linguagens de marcação
São declarativas pois descrevem o que são suas estruturas e não como
elas serão utilizadas.
58. Paradigmas Imperativo e Declarativo
Programação imperativa (ou programação procedural) é um paradigma de
programação que descreve a computação como ações (comandos) que
mudam o estado (variáveis) de um programa. Muito parecido com o
comportamento imperativo das linguagens naturais que expressam
ordens, programas imperativos são uma sequência de comandos para o
computador executar.
59. O middleware Ginga
O Ginga é a especificação de middleware do SBTVD, resultado da
integração das propostas FlexTV [Leite 2005] e MAESTRO [Soares 2006],
desenvolvidas por consórcios liderados pela UFPB e PUC-Rio no projeto
SBTVD , respectivamente.
O Ginga integrou estas duas soluções, chamadas de Ginga-J e Ginga-NCL ,
tomando por base as recomendações internacionais da ITU. Desta forma,
o Ginga é subdividido em dois subsistemas interligados, também
chamados de Máquina de Execução (Ginga-J) e Máquina de Apresentação
(Ginga-NCL)
64. Norma Ginga-J [NBR 15606-4 2010]
1 - Pacotes da plataforma básica Java – representa as funcionalidades de
um ambiente Java básico um sistema embarcado baseado nos ambientes
CDC [CDC 1.1 2008], FP [FP 1.1 2008] e PBP [PBP 1.1 2008].
2 - Pacotes da especificação JSSE 1.0.1 – implementa funcionalidades
opcionais de segurança para a plataforma básica de Java para TV Digital,
como por exemplo protocolos de transporte seguro [JSSE 1.0.1 2006].
65. Norma Ginga-J [NBR 15606-4 2010]
3 - Pacotes da especificação JCE 1.0 – implementa outras funcionalidades
opcionais de segurança para a plataforma básica de Java para TV Digital,
especificamente para operações de criptografia [JCE 1.0.1 2006].
4 - Pacotes da especificação SATSA 1.0.1 – permite comunicação com
dispositivos externos (normalmente smartcards) utilizando o protocolo
APDU (do inglês, Application Protocol Data Unit) [SATSA 1.0.1 2007].
66. Norma Ginga-J [NBR 15606-4 2010]
5 - Pacotes da especificação JavaTV 1.1 – implementa o modelo de
gerenciamento de aplicações, funcionalidades específicas para TV Digital
num grau de abstração maior, além de incluir a API JMF (Java Media
Framewor) [JavaTV 1.1 2008].
6. Pacotes da especificação JavaDTV 1.3 – extende os pacotes do JavaTV 1.1
para implementar funcionalidades específicas de TV Digital adicionais ou de
menor grau de abstração. Também contém os pacotes de APIs gráficas do
LWUIT (componentes gráficos, tratamento de eventos do usuário e
gerenciador de
layout) [JavaDTV 1.3 2009].
67. Norma Ginga-J [NBR 15606-4 2010]
7 - Pacotes específicos Ginga-J – contém pacotes que implementam
funcionalidades exclusivas do sistema brasileiro (controle de planos
gráficos, ou que foram herdadas do sistema japonês (acesso a informações
de serviço dependente de protocolo) [NBR 15606-4 2010].
68. Planos gráficos
Aplicações Ginga-J podem obter acesso de forma genérica aos planos
gráficos oferecidos pelo terminal de acesso, para configuração e exibição
de conteúdo de acordo com um modelo de camadas na tela do dispositivo.
69. Planos gráficos
1. Plano[0]: Plano de texto e gráficos;
2. Plano[1]: Plano de seleção vídeo/imagem;
3. Plano[2]: Plano de imagens estáticas;
4. Plano[3]: Plano de vídeo.
Plano de legenda não é acessível
70. Interatividade Local
O conteúdo é transmitido unilateralmente para o receptor, de uma só
vez. A partir daí, o usuário pode interagir livremente com os dados que
ficam armazenados no seu receptor. Um novo fluxo de dados ocorre
apenas quando é solicitada uma atualização ou uma nova área do
serviço é acessada.
Fonte: http://pt.wikipedia.org/wiki/Televis%C3%A3o_digital#Interatividade
71. Interatividade com Canal de Retorno Não-Dedicado -
Aplicações com canal de retorno intermitente caracterizam-se por
estabelecer a conexão do terminal de acesso em horários
preestabelecidos, durante a madrugada por exemplo. Dessa forma, os
dados não são enviados on-line (comunicação assíncrona), ficando
armazenados no terminal de acesso até o momento da conexão e do
envio. Nesse nível, a comunicação exigida pela aplicação não necessita
ocorrer em tempo real (máximo de instantaneidade) nem apresentar
requisitos de latência mínima, pois ela se baseia em informações que
podem ser processadas posteriormente, sem prejuízo ao desempenho da
aplicação.
72. Interatividade com Canal de Retorno Dedicado
As aplicações com canal de retorno permanente são caracterizadas pela
disponibilidade em tempo integral do canal de retorno. Essa
característica constitui uma comunicação em tempo real (comunicação
síncrona), pois os dados devem ser enviados a emissora/provedor de
serviços sempre que houver uma solicitação. Nesse nível, a comunicação
exigida pelo serviço ocorre com o máximo de instantaneidade e deve
apresentar requisitos de latência mínima, pois se baseia em informações
que não podem ser processadas posteriormente, sob pena de inviabilizar
a aplicação.
Fonte: http://barao.mycpqd.com/file.upload/154089.pdf
76. Xlet
As aplicações para TV interativa desenvolvidas em JavaTV são chamadas de Xlets.
O ciclo de vida dos Xlets é regido por quatro métodos:
- initXlet():responsável por inicializar os componentes da aplicação e manipular o
XletContext;
- startXlet(): que é o metodo chamado para iniciar a aplicação;
- pauseXlet(): chamando quando há um evento que causa uma pausa na aplicação
- destroyXlet(): chamado quando a aplicação é destruída.
81. Modelo Gráfico Ginga-J
A classe com.sun.dtv.ui.Device (representa o dispositivo no qual o Ginga está
instalado) dá acesso a uma ou mais classes com.sun.dtv.ui.Screen (representa
cada tela disponível para exibição dos gráficos da aplicação). Esta classe
permite acessar todos os planos do terminal, retornando instancias da classe
com.sun.dtv.ui.Plane com os respectivos identificadores específicos (Video
Plane, Still Picture Plane, Switching
Plane e Graphics/Text Plane). Para cada plano é possível verificar suas
características (com.sun.dtv.ui.Capabilities) e obter uma classe
com.sun.dtv.ui.DTVContainer que é o componente que suporta todos os tipos de
com.sun.dtv.lwuit.component e operações gráficas definidas na API do LWUIT
(por exemplo, com.sun.dtv.lwuit.Form).
82. Modelo Gráfico Ginga-J
A classe ResourceComponents é apenas uma classe auxiliar (pertence a própria
aplicação e não faz parte da especificação Ginga-J) para encapsular as classes que
permitem configurar (Device, Screen, Plane e Capabilities) e desenhar elementos
gráficos na tela do terminal do acesso (Form e DTVContainer), conforme ilustrado
no trecho de código a seguir.
84. Tratamento de Eventos de Entrada do Usuário
As seguintes classes são recursos limitados, ou seja implementam a interface
com.sun.dtv.resources ScarceResource no Ginga-J: filtros de seções MPEG-2
(com.sun.dtv.filtering.DataSectionFilterCollection), eventos de entrada do usuário
(com.sun.dtv.ui.event.UserInputEvent, com.sun.dtv.ui.event.KeyEvent,
com.sun.dtv.ui.event.MouseEvent, com.sun.dtv.ui.event.RemoteControlEven),
dispositivos de rede (com.sun.dtv.net.NetworkDevice), telas
(com.sun.dtv.ui.Screen) e sintonizador (com.sun.dtv.tuner.Tuner).
O trecho de código a seguir exemplifica a reserva da escuta de eventos de
qualquer tecla colorida do controle remoto (através da chamada do método
reserve()).
85. Tratamento de Eventos de Entrada do Usuário
No exemplo, anyColoredKeyTyped é uma instância da classe
com.sun.dtv.ui.event.RemoteControlEvent.
86. Tratamento de Eventos de Entrada do Usuário
Depois de configurar as camadas gráficas para desenho dos elementos da
interface gráfica do usuário e realizar a reserva de recursos limitados do
terminal, o próximo passo é definir o esquema de navegação de aplicação
através de tratamento de eventos de entrada do usuário.
No Ginga-J o mecanismo de tratamento de eventos de entrada do usuário é
oferecido através de componentes específicos de TVD (pacote
com.sun.dtv.ui.event) e componentes mais gerais providos pela LWUIT (pacote
com.sun.dtv.lwuit.events). A classe que trata os eventos gerados por
componente gráficos é a com.sun.dtv.ui.event.UserInputEventManager.
87. Tratamento de Eventos de Entrada do Usuário
Na sequência do texto trechos de código da tela inicial da aplicação exemplo são
ilustrados. As 5 (cinco) primeiras linhas do trecho de código servem para a criação
de um objeto UserInputEventManager a partir de uma referência para uma
Screen (currentScreen) e o cadastro (método addUserInputEventListener) do
objeto corrente (o objeto da Tela Inicial) como Listener (implementa a interface
com.sun.dtv.ui.event.UserInputEventListener) do UserInputEventManager e
configurado para receber apenas eventos das teclas coloridas (já explicado no
passo 3 deste seção). Já o método userInputEventReceived é definido na
interface do Listener e é chamado quando algum evento é disparado em
componentes gráficos da aplicação. No exemplo é verificado se o evento gerado
é de uma tecla de ENTER. Caso afirmativo, a “Tela” atual é apagada e se abre
uma nova “Tela” (representado pela classe Menu1).
91. Máquina Virtual com OpenGinga 0.4.3
O OpenGinga tem como objetivo oferecer uma implementação não emulada da
especificação Ginga executável em ambientes PC. Oferecendo a execução de aplicações
Ginga-J e GingaNCL através da união da Implementação de Referência Ginga-J do Lavid
da UFPB e a Implementação de Referência Ginga-NCL do laboratório Telemídia da PUC-
Rio.
Foi liberado a Máquina virtual com a versão 0.4.3 instalada do OpenGinga em um Ubuntu
10.04.
Nessa versão foi corrigido o problema de eventos de input das aplicações e foi instalado a
decodificação por ffmpeg, que possibilita a decodificação por hardware(em breve
liberarei um vídeo exemplificando). A próxima versão terá o foque de incrementar a API
ginga-j, em especial a API LWUIT e a de multidevices.
Para maiores detalhes e/ou contribuições, se cadastre e acesse o projeto OpenGinga na rede
GingaCDN.
O tutorial de Instalação pode ser encontradono seguinte endereço
http://gingacdn.lavid.ufpb.br/projects/ginga-j/wiki/Usando_a_m%C3%A1quina_virtual.
112. Vídeo no OpenGinga
ln -s /home/openginga/278-SD_Futebol_Copa_2002_Brasil.ts
openginga/gingacc/channels/channel0
113. Grande problema
O problema com as aplicações de televisão interativa é que elas têm toda a complexidade
das aplicações de computadores, mas estão rodando em uma plataforma que
normalmente não tem problemas técnicos ou de usabilidade. Os aparelhos de televisão
dos telespectadores não falham, o controle remoto sempre funciona (a menos que a
bateria acabe) e, ao contrário da internet, a imagem não carrega mais lentamente nos
horários de pico de visualização. Qualquer serviço de televisão interativa que cause
problemas com o aparelho de televisão ou faça coisas inesperadas provavelmente não
será tolerado pelos telespectadores.
Gawlinski, M. (2003). “Interactive television production”. Oxford: Focal Press, 2003.
114. Bibliografia
Parte 4: Ginga-J - Ambiente para a execução de aplicações procedurais
http://www.dtv.org.br/download/pt-br/ABNTNBR15606-4_2010Ed1.pdf
Desenvolvimento de Aplicações Imperativas para TV Digital no middleware Ginga
com Java
https://disciplinas.dcc.ufba.br/pub/MATA39/NotasDeAula/gingaj-minicurso-webmedia-c
Introdução ao OpenGinga
http://www.lavid.ufpb.br/
115. Bibliografia
Desenvolvimento Ginga-J
JavaDTV – OpenGinga
http://www.tvdi.inf.br/site/artigos/Ginga-J/Desenvolvimento%20Ginga-J,%20JavaDTV,%
Ginga-J Emulator: Uma Ferramenta de Execução de Aplicações Imperativas para o
Middleware Ginga
http://www.erisvaldojunior.com/downloads/TCC_Erisvaldo_UFPB.pdf
116. Agradeço a Deus
A minha esposa Marli
E as minhas filhas Danúbia e Letícia
E-mail: mercuriocfg@yahoo.com.br