introdução padrão brasileiro de tv digital middleware ginga ...julius/icc/tvd.pdf · 1! 1 2...
TRANSCRIPT
1!
1 2
Introdução Padrão Brasileiro de TV Digital
• Middleware GINGA Desenvolvimento de Aplicações Interativas
• Linguagem NCL (Nested Context Language) Trabalhos em andamento
3 4
6
Maior resolução de imagem Melhor qualidade de imagem Melhor qualidade de som Som surround Otimização da utilização do espectro Recepção móvel
10
Novos tipos de conteúdo - transmissão de dados; Novos recursos
• interatividade • multiprogramação
2!
12
Transmissão a cabo Transmissão
via satélite
13
Transmissão terrestre digital de sinais de televisão (radiodifusão), incorporando as potencialidades da tecnologia digital (novas aplicações,
interatividade, novos recursos)
=> Inclusão digital
Padrão Brasileiro Transmissão terrestre
14 15
Sistema Americano • ATSC – Advanced Television
Sistema Europeu • DVB – Digital Video Broadcast
Sistema Japonês • ISDB – Integrated Services Digital Broadcasting
Sistema Brasileiro • ISDB-TB - Integrated Services Digital Broadcasting
–Terrestrial (Brasileiro)
16 17
ISDB-TB • Brasil, Peru, Argentina • Chile, Venezuela, Equador • Costa Rica, Paraguai, Bolívia, • Filipinas
DVB-T • Uruguai, Colômbia, Panamá • Guiana Francesa
ATSC • México, Porto Rico, Honduras
3!
18
Transmissor Receptor
Meios de Difusão
Canal de retorno
Canal de Transmissão
Set-Top Box
Provedor de serviço de difusão e interação
Codificador
Modulador Tx Rx Demodulador
Decodificador
Multiplexador
Captura de áudio, vídeo e dados
Demultiplexador
ESTÚDIO Casa do Telespectador
SET-TOP B
OX
sinal
Fluxo de transporte
Fluxos de áudio, vídeo e dados
Sinais no formato específico da TV analógica
DIFUSÃO
Canal de Retorno
23
Aplicação
Middleware
Codificação Monomídia
Multiplexação!
Modulação BST-OFDM
MPEG2-TS
H.264 HP@L4 H.264 [email protected]
MPEG-4 HE-AAC@L4 MPEG-4 HE-AAC@L2
GINGA
EPG T-GOV T-COM Entretenimento
24
SBTVD • ISDB-TB • Subsistema de transmissão baseado no padrão
japonês ISDB • Incorpora padrões mais recentes de codificação
monomídia – H.264 e MPEG-4 AAC • Incorpora inovações desenvolvidas pela área de
computação das universidades brasileiras – Middleware brasileiro GINGA
63
67
Middleware é uma camada de software adicional, cujo objetivo é oferecer um serviço padronizado às aplicações, escondendo as especificidades e heterogeneidades das camadas de hardware e sistema operacional, dando suporte às facilidades básicas de codificação, transporte e modulação de um sistema de televisão digital.
68
Requisitos do middleware dependem dos requisitos das aplicações • Cenário brasileiro => inclusão social e digital
5!
76 77
Sistema de transmissão em broadcast Distância razoável entre o usuário e a tela Dispositivos de E/S com poucos recursos Assistência coletiva Aplicações baseadas em vídeo principal
Interatividade como caso particular de sincronismo
Múltiplos dispositivos
78 79
80
Perfis de usuários diferentes Dispositivos de exibição diversos Usuários em localidades diferentes
Adaptabilidade
81
Conteúdo pode depender, por exemplo, da localização do usuário!
6!
82
Suporte à sincronização • interatividade
Suporte a canal de retorno Suporte a múltiplos dispositivos Suporte a adaptação do conteúdo e da
apresentação Suporte à edição ao vivo
83
O universo das aplicações para televisão digital pode ser particionado em dois conjuntos: • Aplicações declarativas:
– Uma aplicação declarativa é aquela em que sua entidade “inicial” é do tipo “conteúdo declarativo” (baseado em XML).
• Aplicações procedurais: – Uma aplicação procedural é aquela em que sua
entidade “inicial” é do tipo “conteúdo procedural” (baseado em Java).
84
Imperativo (procedural) • Especificação: como fazer • Maior poder de expressão
Declarativo • Especificação: a intenção final • Especificação em mais alto nível
90
Middleware GINGA • pode ser dividido em dois subsistemas principais,
que permitem o desenvolvimento de aplicações seguindo dois paradigmas de programação diferentes.
– GINGA-J – aplicações procedurais – Java Xlets – GINGA-NCL – aplicações declarativas – NCL e Lua
http://www.ginga.org.br
92
Linguagem NCL – Nested Context Language Suporte à sincronização
• interatividade Suporte a canal de retorno Suporte a múltiplos dispositivos Suporte a adaptação do conteúdo e da apresentação Suporte à edição ao vivo
NCL é software livre • www.ncl.org.br • www.softwarepublico.org.br
93
Em NCL, é fácil: • descrever o comportamento espacial e temporal de
uma apresentação multimídia, • associar links (interação do usuário) a objetos de
mídia, • definir alternativas para apresentação (adaptação) e • descrever o leiaute da apresentação em múltiplos
dispositivos.
7!
94
Em NCL, é difícil: • processamento matemático, • manipulação sobre textos, • uso do canal de interatividade, • controle fino do teclado, • animações para objetos gráficos e, • tarefas que necessitem da especificação de
algoritmos e estruturas de dados.
95
Uma linguagem declarativa também deve oferecer suporte a objetos que contêm código procedural
NCL permite: • Aplicações HTML com código ECMAScript • NCLet – objetos procedurais com código Java Xlet • NCLua – objetos procedurais com código Lua
96
Lua é simples e poderosa Lua é portável Lua é embeddable Lua é rápida Lua é robusta Lua é software livre
97
Receptor SBTVD com suporte a interatividade
98
Receptores full-seg • recebem sinal de alta definição
99
Receptores one-seg • Equipamentos portáteis (celulares, TVs portáteis …)
8!
100 101
Programa de TV digital interativa é um documento multimídia composto de: • Objetos de mídia
– Texto, imagem, gráfico, áudio, vídeo, animação ... • Relacionamentos entre os objetos
Blablabla!Blablabla!Blablabla!
...!Blablabla!Blablabla!
...!
107
<ncl>!
</ncl>!110
O que exibir? • Nós
Onde exibir? • Regiões
Como exibir? • Descritores
Quando exibir? • Elos e conectores
111
Nós – <media>
113
<media id="video" src="media/video.mp4" type=“video/mp4” descriptor="dpVideo"> <area id="apresentaIcone" begin="20s" end="40s"/> <area id="apresentaFigura" begin="50s"/>
</media>
<media id=“choro” src=“choro.mp3” descriptor=“audioDesc”> <property name=“soundLevel” value=“1”/>
</media>
9!
114
Estrutura do documento • Nós de contexto – <body> e <context>
121
Regiões - <region> • Indicam área do dispositivo de exibição que será
usada para apresentar algum nó
123
atributos
124
<regionBase> <region id=“TV”>
<region id=“rgVideoTV” top=“5%” left=“5%” width=“50%” height=“50%”/>
<region id=“rgImg” top=“100” left=“100” width=“200” height=“200”/>
</region> </regionBase>
125
Descritores - <descriptor> • Indicam as características de exibição de um nó
127
<descriptorBase> <descriptor id=“dVideo” region =“rgVideoTV”/> <descriptor id=“dImg” region =“rgImg”
explicitDur=“4s”> <descriptorParam name=“transparency” value=“30%”/>
</descriptor> </descriptorBase>
10!
130
Todo nó deve ser associado a um descritor, que pode ter uma região associada • Cabeçalho:
– <region id=“rgVideo1” …/> – <descriptor id=“dVideo1” region=“rgVideo1”/>
• Corpo: – <media id=“video1” descriptor=“dVideo1”/>
131
Como criar um relacionamento entre nós?
132
Elos e conectores
148
Como definir o elo entre os nós?
154
Outras facilidades: • Adaptação do conteúdo de um programa • Definição de metadados • Reúso • Definições de animações e transições • Programação para múltiplos dispositivos • Comandos para edição ao vivo • Integração com objetos Lua
157
Desenvolvimento de aplicações interativas • Quiz, Manuais Interativos, Comerciais, T-Censo • Jogos – RummiTV, Genius, Lig4, Jogo da Velha, Jogo do Mosquito,
Jogo da Memória, Sudoku, Tetris – DamasTV
• menção honrosa no Concurso Latinoamericano de Aplicações para TV Digital – WebMedia/WTVDI 2010 e
• menção honrosa no 1st ITU IPTV Challenge 2011 – categoria user friendliness
Linguagens e ferramentas para facilitar autoria NCL • Novas linguagens para definição e uso de templates em
programas NCL • Editores Gráficos de templates
11!
160
APIs Java para manipular documentos NCL • aNa – API NCL para Autoria • aNaa – API para Autoria e Análise (validação)
Trabalhos em andamento • Editor gráfico NCL com suporte a templates • JNCL – JSON NCL • Conversor NCL => HTML5 • Framework para Desenvolvimento de Jogos em Lua • Ambiente de autoria gráfico integrado para GINGA
161
Obrigada!! – [email protected]
Mais informações sobre NCL: • www.ginga.org.br • www.ncl.org.br • clube.ncl.org.br • www.softwarepublico.org.br • www.forumsbtvd.org.br
Mais informações sobre o Laboratório MídiaCom: • www.midiacom.uff.br • www.midiacom.uff.br/gtvd