Desenvolvendo aplicações Java
para TV Digital
Ginga-J
Carlos Fernando Gonçalves
César Augusto Fusca
Thiago G. Vespa
Agenda
●
Motivação
●Introdução
●
Interatividade nas emissoras de TV
●Middleware Ginga
●
Ginga Integrado com Novas Tecnologias
●Oportunidade Ginga
●
JavaDTV-Ginga-J
●Tutorial
Vinicius Senger Yara Senger Bruno Souza
Javaman
Introdução
TV Analógica
Em 1927, a AT&T, atual gigante da telefonia americana, fez os primeiros testes para
transmissão de conteúdo de TV em Nova York. A transmissão foi restrita, já que não havia
aparelhos suficientes para a recepção.
Introdução
No Brasil a TV foi introduzida por Assis Chateaubriand, um empresário que tinha as comunicações como seu principal negócio. Proprietário de várias emissoras de rádio, jornais e revistas, Chateaubriand inaugurou a TV brasileira em setembro de 1950, entrava no ar a TV Tupi, canal 3 de São Paulo. O sistema de transmissão (no Brasil e no mundo) é terrestre, ou seja, o sinal é enviado pela emissora a uma antena (geralmente localizada nos pontos mais altos da cidade) que amplifica este sinal e retransmite via ondas eletromagnéticas em freqüências VHF (Very High Frequency). O Brasil adotou o sistema PAL, em sua variação M, então temos o PAL-M.
Introdução
Fonte: http://pt.wikipedia.org/wiki/Apollo_11 1969
Apollo 11 foi a quinta missão tripulada do Programa Apollo e primeira a pousar na Lua, em 20 de Julho de 1969
Introdução
Introduçã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
Introdução
Americano ATSC(Advanced Television Systems Committee)
1998 O sistema Americano é o mais antigo, porém só começou a ser utilizando para TV Digital em 1998, o foco esta na transmissão de video em alta definição(HDTV).
Europeu DVB( Digital Video Broadcasting)
1993 Vantagem está na possibilidade de multiprogramação, interatividade e novos serviços.
Japonês ISDB(Integrated Service Digital Broadcasting)
1999 Principal vantagem e a facilidade e qualidade na transmissão para diferentes tipos de dispositivos(TVs, Celulares, etc), ou seja mobilidade aliada a alta definição.
Introdução
TV Digital
Sistema Brasileiro de Televisão Digital Terrestre
Decreto Nº 4.901, de 26 de novembro de 2003 Institui o Sistema Brasileiro de Televisão Digital
http://forumsbtvd.org.br/theoffice/wp-content/uploads/2011/07/decreto-tv-digital.pdf?9d7bd4 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, criado o Fórum SBTVD
http://forumsbtvd.org.br/
Início das transmissões em 2 de dezembro de 2007 http://pt.wikipedia.org/wiki/SBTVD
Introdução
•
O que é TV Digital Aberta?
A banda do canal legal no DTV é de 6MHz (igual ao do analógico PAL-M), como por exemplo, o canal 14 começa na frequência de 470MHz e vai até 476MHz. O canal é dividido em 14 segmentos de 428,57KHz, mas um segmento é descartado para a transmissão, ficando somente 13, que são numerados de 0 a 12. Portanto a banda de transmissão de um canal DTV é de 13x428,57=5,57MHz, mas para uma maior segurança é expandida para 5,7MHz.
Segmento 0 que fica bem no centro, por ser de mais fácil recepção, é destinado para receptores portáteis como celular. Por ser transmissão de 1 só segmento, é conhecido como One Seg ou 1 Seg.
Fonte:http://imagemesomhd.blogspot.com/2010/01/tv-digital-sbtvdisdb-tb.html
Multiprogramação
Uma grande vantagem do sistema, é de poder aproveitar as camadas hierárquicas, por exemplo, se uma camada estiver transmitindo um programa em SD e a segunda camada, o mesmo programa em HD, a segunda aproveita também a primeira camada que tem informações de SD para formar o HD. Um receptor móvel que só consegue receber o SD, aproveita a primeira camada e descarta a segunda. Cada camada pode transmitir um programa diferente, e acaba se tornando um canal lógico. Além da transmissão One Seg, no Full Seg é possível ter até mais 3 programas em definição padrão (SD), mas em Full HD (1920x1080) que utiliza todos os 12 segmentos, só é possível transmitir 1 programa.
Fonte:http://imagemesomhd.blogspot.com/2010/01/tv-digital-sbtvdisdb-tb.html
Introdução
Transmissores Analógicos
Introdução
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/
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”
Introdução
Normas Brasileiras de TV Digital
Transmissão Codificação Multiplexação Receptores Segurança Middleware Canal de interatividade Guia de operação http://forumsbtvd.org.br/acervo-online/normas-brasileiras-de-tv-digital/
Introdução
Por que interatividade?
O BRASILEIRO passa em média 3,5 HORAS POR DIA na
frente da Televisão, diz estudo
81% da população brasileira ASSISTEM TV todos os dias.
Aproximadamente 105 horas por mês
Adolescentes de 12 a 17 anos assistem em média 3 horas e 20
minutos por dia
Dedicação exclusiva Segundo estudo realizado pela Delloite,
apenas 37% dos telespectadores não desenvolvem outra atividade
enquanto assistem televisão
Fonte:
http://javanoroeste.com.br/javanoroeste/tdc2012_SP/TDC2012_Lu
ana%20_Bravo_SBT.pdf
Fonte:
http://javanoroeste.com.br/javanoroeste/tdc2012_SP/TDC %202012_TVDigital_Interativa_Globo.pdf
Fonte:
http://javanoroeste.com.br/javanoroeste/tdc2012_SP/TDC2012_Rosiene_Lauer&Shyrles_Mo nteiro_Rede_Record.pdf
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)
Middleware Ginga
Ginga Integrado com Novas
Tecnologias
Cloud TV
Busca de Conteúdo
Conteúdo VOD ou OTT
IBB ou HBB - Integrated / Hybrid
Para Cloud TV Ginga(Ginga-J) é a plataforma ideal para o
desenvolvimento por possibilitar uma ligação natural com a
Internet através do uso de protocolos e tecnologias (Web Services,
SOA)
Ginga Integrado com Novas
Tecnologias
Ginga Integrado com Novas
Tecnologias
Multi-Screen
Interatividade na 2ª. Tela
Sincronização com o conteúdo
Ginga Integrado com Novas
Tecnologias
Ginga Integrado com Novas
Tecnologias
Fonte:
http://javanoroeste.com.br/javanoroeste/tdc2012_SP/TDC2012_David_Campelo_TBanking_BB.pdf
Ginga Integrado com Novas
Tecnologias
Oportunidade Ginga
3,0 Milhões de TVs com Ginga(TOTVS) já vendidos no
mercado.
(Este número foi atualizado nesta semana para 3,5 milhões
e a SAMSUNG lider no seguimento não foi computado)
Quase todos os principais fabricantes de TVs já têm produtos
com o Ginga
Todas as principais redes de TV aberta já transmitem aplicações
Ginga em seus sinais de TV Digital. A maioria das emissoras
transmite aplicações em várias capitais
As emissoras têm estratégias variadas, mas suas afiliadas
em todo o Brasil estão se preparando para colocar no ar
aplicações regionais.
Fonte:
http://javanoroeste.com.br/javanoroeste/tdc2012_SP/TDC
%202012%20-%20Aguinaldo%20Boquimpani.pdf
Oportunidade para aprender - TCC
•
Aplicação para TV Digital
Visualiza: escalações, estatísticas, classificação, artilharia e enquete.
•
Sistema de cadastro Web
Cadastros: campeonatos, partidas, equipes, jogadores, escalações,
árbitros e estatísticas (gols, cartões, escanteios, pênaltis, etc...)
JavaDTV-Ginga-J
● Em maio de 2008 foi iniciado o projeto JavaDTV e as discussões
sobre a redefinição do Ginga-J
● Sem Royalties (exceto pela certificação da JVM)
● Objetivo substituir o GEM funcionalmente
– Light Weight User Interface Toolkit por HAVi
● API desenvolvida pela SUN para uso em dispositivos
móveis
● Conjunto de componentes gráfico LWUIT
● Buttons, checkbox, dropdown, list e etc
● Perda de interoperabilidade
JavaDTV-Ginga-J
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].
JavaDTV-Ginga-J
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].
JavaDTV-Ginga-J
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
Framework) [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].
JavaDTV-Ginga-J
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].
Fonte:
http://forumsbtvd.org.br/acervo-online/javadtv-download/
JavaDTV-Ginga-J
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.
JavaDTV-Ginga-J
As aplicações para TV interativa desenvolvidas em JavaDTV 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.
JavaDTV-Ginga-J
JavaDTV-Ginga-J
Xlet
public class SampleXlet implements Xlet { protected XletContext xletcontext;
public void initXlet(XletContext xc) throws XletStateChangeException { this.xletcontext = xc;
}
public void startXlet() throws XletStateChangeException { Form mainForm = new Form("Alo mundo!");
Label label = new Label("Alo mundo!"); MainForm.add(label);
mainForm.show(); }
public void pauseXlet() { }
public void destroyXlet(boolean bln) throws XletStateChangeException { }
JavaDTV-Ginga-J
LWUIT
JavaDTV-Ginga-J
LWUIT
Inspirado no LWUIT dos dispositivos móveis (JavaME/MIDP)
● Foi baseado no Swing ● Estilo Swing MVC
● Melhorou componentes existentes
Não é compatível com o que se tem em JavaME
JavaDTV-Ginga-J
Form
O componente Form possui uma Barra de Título na parte superior em que o título do formulário pode ser escrito e uma Barra de Menu na parte inferior, para os comandos e menu. O espaço entre as duas barras é para o painel conteúdo, que carrega os componentes a serem colocados no formulário.
************************** * Title * ************************** * * * * * ContentPane * * * * * ************************** * MenuBar * **************************
JavaDTV-Ginga-J
LWUIT
O componente Label pode exibir de imagens e textos que não podem ser selecionados e sem interação com o usuário. Possui um grande número de
possibilidades alinhamento que são suportados para o posicionamento do texto e à imagem.
JavaDTV-Ginga-J
LWUIT
Gerenciadores de Layout (Layout Managers) no LWUIT tem um gerenciador de layout sofisticado para UIs. Os gerenciadores suportados são:
● BorderLayout ● BoxLayout ● FlowLayout ● GridLayout ● GroupLayout
JavaDTV-Ginga-J
LWUIT
O visual de todos os componentes LWUIT pode ser variado através de um objeto de estilo associado. Alterar a aparência de um componente individual, você pode
JavaDTV-Ginga-J
LWUIT
LWUIT inclui o conceito de um Command. Um Command é algo que o usuário pode fazer em sua aplicação. LWUIT decide como mostrar o comando na tela e como o usuário faz acontecer. Normalmente, os comandos são atribuídos aos botões virtuais de seu telefone móvel. LWUIT normalmente irá mostrar os comandos como etiquetas nos cantos inferiores da tela, o usuário pode invocar-los pressionando o botão
JavaDTV-Ginga-J
LWUIT
Uma transição fornece uma pista útil visual para o usuário sobre a relação entre diferentes formas.
LWUIT pode deslizar formas horizontalmente ou verticalmente. LWUIT inclui também uma transição gradual de uma forma para outra.
JavaDTV-Ginga-J
JavaDTV-Ginga-J
JavaDTV-Ginga-J
astrobox
Dúvidas?
Sugestões?
Astro DevNet
https://www.astrodevnet.com/AstroDevNet/home.html
https://www.astrodevnet.com/AstroDevNet/formulario_cadastro.html
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
Parte 6: Java DTV 1.3
http://www.tvdi.inf.br/site/artigos/Normas%20ABNT/15606-6-Middleware.pdf
Informações sobre TV Digital interativa
http://blog.globalcode.com.br/2011/10/informacoes-sobre-tv-digital-interativa.html
Blog Thiago G. Vespa
http://www.thiagovespa.com.br/blog/category/tv-digital/
Comunidade Ginga-J no Java Noroeste
http://javanoroeste.com.br/javanoroeste/novo/gingaj.html
TDC 2011: Developers Conference-SP http://www.thedevelopersconference.com.br/tdc/2011/saopaulo/trilha-tvdigital#programacao TDC 2011: Developers Conference-Goiânia http://www.thedevelopersconference.com.br/tdc/2011/goiania/trilha-tv-digital#programacao TDC 2012: Developers Conference-SP http://www.thedevelopersconference.com.br/tdc/2012/saopaulo/trilha-tv-digital#programacao
Referências
Agradecimentos
Professor Doutor Sergio D Zorzo Fabio Velloso
mercuriocfg@yahoo.com.br @mercuriocfg @javanoroeste cesar.fusca@gmail.com thiagogv@gmail.com @thiagovespa