Sistema Brasileiro de TV Digital
Transcrição
Sistema Brasileiro de TV Digital
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA Sistema Brasileiro de TV Digital por Christian Puhlmann Brackmann Trabalho Individual I TI-2008/02 Orientado por Prof. Dr. Paulo Roberto Gomes Luzzardi Pelotas, novembro de 2008 Prefácio “Desde o começo a imagem nos fascina. Inventamos muito. Buscamos a qualidade que o olho tem. Nunca chegamos tão perto. É uma nova TV, com imagem mais nítida, sem ruídos e interferências. E tudo isso é resultado de uma tecnologia que começa com um pequeno detalhe: até há pouco as gravações eram analógicas. Marcas físicas eram feitas em uma fita. No novo sistema, todo tipo de informação e gravação é digitalizada, ou seja, transformada por fórmulas em códigos” Primeira transmissão local de TV Digital no RS. Abertura do Jornal do Almoço (05/11/2008) 2 SUMÁRIO 1 Introdução 10 2 Diferenças entre a tecnologia analógica e digital 12 3 A Implantação da TV Digital no Brasil 15 4 O Sistema Brasileiro de Televisão (SBTVD) 28 5 O middleware brasileiro: Ginga 31 5.1 Ginga-NCL (Linguagem Declarativa) 35 5.1.1 XHTML 35 5.1.2 Lua 35 5.2 Ginga-J (Linguagem Procedural) 37 5.5 Ginga-CC (Common Core) 39 6 Ferramenta Disponibilizada para testes: Virtual Set-Top Box 41 7 Canal de Retorno 42 8 Difusão de Dados 46 9 Interação 49 10 Conclusão 51 11 Trabalhos Futuros 52 12 Referências Bibliográficas 54 3 LISTA DE FIGURAS 1 Múltiplos percursos do sinal causando sobreposição de bits 13 recebidos (BARBOSA et. al, 2008) 2 Diferentes tipos de interferência e a recuperação de dados 14 (BARBOSA et. al, 2008a) 3 Cronograma de início de transmissão da TV Digital (FSBTVD, 15 2006) 4 Camadas genéricas dos sistemas de TV Digital (BECKER, 18 2008) 5 Exemplo de transmissão hierárquica e recepção parcial (ABNT 20 NBR 15604:2007). 6 Exemplo de URD Full-Seg 20 7 Exemplo de URD One-Seg 21 8 Formato Entrelaçado e Progressivo 24 9 Arquitetura interna de um Terminal de Acesso (BARBOSA et. 25 al, 2008) 10 Arquitetura interna de um Terminal de Acesso (CPqD, 2006) 25 11 Middlewares existentes atualmente em terminais de acesso 27 (SOUZA, 2008) 12 Camadas do Sistema Brasileiro de TV Digital (SOUZA, 2008) 28 13 Arquitetura do Middleware Ginga (OPENGINGA, 2008) 33 14 Possíveis formas de canais de comunicação 42 15 Sistema de transmissão e recepção de TV Digital (Adaptado de 44 BARBOSA, 2008) 16 Envio de dados por Carrossel 48 17 Tratamento de arquivo corrupto 48 18 Diagrama - novos dispositivos físicos de interação com a TVDi 53 4 LISTA DE TABELAS 1 Domicílios com bens duráveis e serviços de acesso a 10 comunicação em 2007 (IBGE, 2007) 2 Domicílios com bens duráveis e serviços de acesso a 10 comunicação de 1992 a 2007 (IBGE, 2007) 3 Prazos para implantação da TV Digital em diferentes regiões 16 (Adaptado de FSBTVD, 2006). 4 Sinal digital ativos e a serem implantados no Brasil 17 5 Funções e opcionais em URDs 22 6 Resoluções obrigatórias e opcionais em receptores de TV 23 Digital (ABNT NBR 15604:2007). 7 Perfis do H.264 (BARBOSA, 2008) 29 8 Perfis do MPEG-4 HE-ACC (BARBOSA, 2008) 30 9 Funcionalidades mínimas previstas para os URDs 49 5 LISTA DE ABREVIATURAS E SIGLAS SBTVD Sistema Brasileiro de TV Digital API Application Programming Interface ARIB Association of Radio Industries and Businesses ATSC Advanced Common Application Plataform BP Baseline Profile BST-OFDM Band Segmented Transmission - Orthogonal Frequency Division CIF Common Intermediate Format CPU Central Processing Unit DASE Digital Television Application Software Environment DAVIC Digital Audio-Video Council DSM-CC Digital Storage Media, Command and Control DVB Digital Video Broadcasting EAD Educação a Distância GPLv2 General Public License Version 2 HAVI Home Audio-Video Interoperability HD DVD High Definition Digital Video Disc HDMI High-Definition Multimedia Interface HDTV High-Definition Television HP High Profile ISDB Integrated Services Digital Broadcasting ITU International Telecommunication Union MHP Multimedia Home Plataform MP3 MPEG Layer-3 Audio MPEG Moving Picture Expert Group NCL Nested Context Language 6 P2P Peer-to-Peer RF Radiofreqüência SBR Spectral Band Replication SDTV Standard Definition Television SMIL Synchronized Multimedia Integration Language STB Set-Top Box TVDI Televisão Digital Interativa URD Unidade de Recepção Digital VM Virtual Machine XHTML eXtensible Hypertext Markup Language 7 RESUMO Desde os anos 90, discute-se TV Digital Terrestre no Brasil. Esta discussão gerou, naturalmente, interesses tecnológicos e comerciais no Sistema Brasileiro de TV Digital (SBTVD). Baseado no sistema de TV Digital Japonês, a criação do padrão SBTVD levou em consideração também um conjunto de peculiaridades específicas dos costumes, questões sociais e da geografia nacional para que a televisão digital tivesse ao alcance de todos os brasileiros. Este trabalho tem o objetivo de mostrar o estado-da-arte da TV digital no Brasil, apresentando uma visão geral do Sistema Brasileiro de TV Digital, bem como o middleware criado pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-RJ) e Universidade Federal de Pernambuco (UFPE) chamado Ginga. 8 ABSTRACT Since the 1990’s terrestrial Digital TV is being discussed in Brazil. These discussions have, naturally, made several technological and commercial interests in the Brazilian Digital TV System. Based on the Japanese Digital TV system, the creation of the Brazilian system also considered factors of the country’s culture, social issues, and the terrain, so that digital TV could reach all Brazilian citizens. This objective of this research is to show the state of art of the Brazilian digital TV, presenting an overview of the system and also about the middleware developed by PUC-RIO (Pontifícia Universidade Católica) and UFPE (Universidade Federal de Pernambuco). 9 1. Introdução Desde a implantação do primeiro canal de TV, a BBC (British Broadcasting Corporation) de Londres, fundada em 1936, a televisão já passou por várias mudanças, em um constante processo de evolução e adaptação às novas necessidades sociais. Um grande acontecimento da televisão ocorreu na década de 50, onde já era possível assistir imagens coloridas. No final da década de 80 iniciaram os testes com diferentes tipos de modulações do sinal audiovisual digital para transmissão terrestre e por satélite. (BBC, 2008) A televisão é um dos mais importantes meios de comunicação no Brasil e sempre teve um forte papel integrador, sendo um agente de cultura e entretenimento. Com uma forte penetração popular, mais de 94% dos domicílios brasileiros (demonstrado na Tabela 1) recebem informação e se integram ao contexto brasileiro através da televisão. Em algumas localidades, esse é o único meio de comunicação existente (BECKER, 2004). Tabela 1: Domicílios com bens duráveis e serviços de acesso a comunicação em 2007 (IBGE, 2007) Tabela 2: Domicílios com bens duráveis e serviços de acesso a comunicação de 1992 a 2007 (IBGE, 2007) 10 Apesar do Sistema de TV Digital Terrestre Brasileiro ter sido definido recentemente, as transmissões de TV por satélite já são feitas de forma digital há mais de 10 anos no Brasil. Com diversas técnicas de digitalização e compressão dos sinais de vídeo e áudio, emissoras de TV, empresas de ensino à distância e outras com interesses em transmissão de vídeo já utilizam satélites para transmissão dos seus sinais de TV Digitais por todo país. A TV Digital Terrestre é uma evolução tecnológica da TV Analógica, trazendo mais qualidade de vídeo e áudio, aumento da oferta de programação e possibilidades de novos serviços e aplicações. 11 2. Diferenças entre a tecnologia analógica e digital Uma das principais características da transição da TV analógica para a digital é o aumento da resolução, melhora da qualidade de imagem e som, fim de chuviscos e chiados, além de fantasmas. Estes efeitos sobre a imagem ocorrem quando há interferência e ruídos no sinal original, limitando a capacidade do sistema. Os dois tipos de ruídos (aleatório e impulsivo) são melhor detalhados a seguir. Ruídos aleatórios ocorrem em todos os espectros de freqüência e infelizmente não podem ser evitados. Na transmissão analógica, eles são responsáveis pela queda da qualidade do sinal recebido, causando os conhecidos “chuviscos” na imagem. A queda da qualidade depende da relação entre a) potência do sinal e b) ruído (também conhecido como relação S/N). De acordo com a distância do televisor com a fonte de transmissão (torre), diminui também a qualidade do sinal. Em sistemas digitais, o ruído pode modificar um nível digital do sinal a ser recebido a ponto de ser confundido e causando erro de bit. Para não ocorrer este tipo de problema, todos os padrões de TV digital adotadas no mundo utilizam um código de corretores de erros. Se a taxa de erros estiver acima de um limiar, o código corretor é capaz de corrigir todos os erros e não ocorre perda de qualidade, ao contrário o que ocorre quando o sinal é muito fraco: o código de correção não consegue recuperar a transmissão e acaba inclusive inserindo bits errados. Por este motivo é usual dizer que tem-se um sinal perfeito e sem chuviscos. 12 Figura 1: Múltiplos percursos do sinal causando sobreposição de bits recebidos (BARBOSA et. al, 2008) Outra forma de deterioração do sinal recebido é o chamado “múltiplo percurso”. Este efeito é causado pelos diferentes caminhos que o sinal pode realizar. Cada um dos percursos pode apresentar atenuação e atrasos diferentes dos demais, fazendo com que o sinal recebido seja sobreposto de várias maneiras (como mostrado na Figura 1). Este tipo de efeito reflexivo em prédios, casas e outros tipos de elevações íngremes do terreno resultam no efeito “fantasma” no sistema analógico e no digital um fenômeno chamado de ISI (Inter Symbol interference), ou em português: interferência entre símbolos. O ISI é um termo que denota a sobreposição entre os bits recebidos. Se houver um retardo a ponto de sobrepor o símbolo, o ISI pode tornar inviável a recepção. Existem ainda outras fontes de possíveis interferências, tais como os ruídos impulsivos. Os ruídos impulsivos são aqueles causados por motores elétricos (eletrodomésticos, elevadores, motores industriais, entre outros), veículos automotores, transformadores de distribuição de energia elétrica, descargas atmosféricas, etc. 13 Figura 2: Diferentes tipos de interferência e a recuperação de dados (BARBOSA et. al, 2008a) Demonstra-se na Figura 2 uma breve explicação de como ocorre a deterioração do sinal do sinal original e sua recuperação. No topo é mostrado como o sinal original é transmitido, logo abaixo são os efeitos ocasionados pela reflexão do sinal (ruídos aleatórios) e o ruído branco Gaussiano (ruídos impulsivos) e como o sinal é recebido pela URD (Unidade Receptora Decodificadora). A URD será responsável por receber o sinal e com a utilização do código de recuperação e os instantes de amostragem recuperar o sinal original, garantido uma excelente qualidade de imagem e som ao telespectador. O excesso de ruídos na recepção pode ocasionar uma rajada de erros em símbolos consecutivos do sinal e o sistema corretor de erros não ser capaz de corrigir o código recebido, levando a queda da recepção. Esta ocorrência age de forma diferente no sistema analógico, pois por pior que seja o sinal o telespectador pode continuar assistindo. No caso da TV digital, o sinal chega perfeito ou não chega. Por este motivo foi importante avaliar qual sistema de transmissão é o melhor e mais adequado para as residências brasileiras. 14 3. A Implantação da TV Digital no Brasil A TV Digital, após anos de atraso em relação a outros países, chega no Brasil como uma nova tendência de mercado. A primeira transmissão de sinal digital terrestre aberta feita no Brasil aconteceu em dois de dezembro de 2007, na cidade de São Paulo. Ainda assim, a disponibilidade de captação do sinal digital era restrito a alguns bairros da capital. Desde então, o sinal tem se espalhado por outros bairros e até mesmo outras cidades. Destaca-se na Figura 3 e Tabela 3, o cronograma de implantação da transmissão digital. Este cronograma indica o período para a implantação do sinal digital em cada região do país. Espera-se que até 2016 todos os telespectadores já estejam aptos a receber a programação televisiva totalmente digital e que, desta forma, possa extinguir o sinal analógico em âmbito nacional. Figura 3: Cronograma de início de transmissão da TV Digital (FSBTVD, 2006). Na Tabela 3 são mostrados os mesmos dados da Figura 3, porém em um formato de melhor compreensão. Indicou-se os prazos iniciais e finais de cada implantação, dividos pelos grupos de implantação. Na Grande São Paulo não houve uma data de início de implantação, pois seu uso era apenas experimental. Definiu-se apenas um prazo final para o início oficial das transmissões. 15 Fase Início Implantação Prazo Final Cidades Compreendidas SP - Dezembro/2007 Grande São Paulo 1 Janeiro/2008 Janeiro/2010 Geradoras de Belo Horizonte, Brasília, Rio de Janeiro, Salvador e Fortaleza 2 Maio/2008 Maio/2010 Geradoras de Belém, Curitiba, Goiânia, Manaus, Porto Alegre e Recife. 3 Setembro/2008 Setembro/2010 Geradoras de Campo Grande, Cuiabá, João Pessoa, Maceió, Natal, São Luiz e Teresina. 4 Janeiro/2008 Janeiro/2011 Geradoras de Aracajú, Boa Vista, Florianópolis, Macapá, Palmas Porto Velho, Rio Branco, e Vitória. 5 Maio/2009 Maio/2011 Demais Geradoras 6 Junho/2009 Junho/2011 Retransmissoras Capitais e DF 7 Junho/2011 Junho/2013 Retransmissoras de outras localidades Tabela 03: Prazos para implantação da TV Digital em diferentes regiões (Adaptado de FSBTVD, 2006). Vale lembrar que de acordo com EMBRATEL (2008), o sinal digital já é transmitido faz dez anos no Brasil através de satélites de alta tecnologia da companhia. Para a captação deste sinal, é necessário obter equipamentos específicos para captação de sinal por antenas parabólicas e que possam decodificar o sinal de forma correta e íntegra, como por exemplo, o receptor digital de satélite de alta definição Zinwell série ZDX (ZINWELL, 2008). Como este sistema não é o foco deste trabalho, serão discutidos apenas temas pertinentes ao Sistema Brasileiro de TV Digital Terrestre (SBTVD-T). Mesmo existindo um cronograma de implantação do sinal digital, ele não está sendo seguido com rigorosidade, pois já ocorre uma divergência em relação aos prazos estipulados na Tabela 03. Esta divergência é detalhada na Tabela 04, onde para o Grupo G3 não há previsão 16 de início de transmissões em nenhuma das capitais e para o Grupo G4 houve um adiantamento no início das transmissões. Grupo Cidade Início das Transmissões SP Grande São Paulo 02/DEZ/2007 1 G1 Belo Horizonte 07/ABR/2008 2 G1 Rio de Janeiro 16/JUN/2008 3 G2 Goiânia 04/Ago/2008 4 G2 Curitiba 22/OUT/2008 5 G2 Porto Alegre 04/NOV/2008 6 G3 - - G4 Florianópolis Final de NOV/2008 7 Tabela 4: Sinal digital ativos e a serem implantados no Brasil Uma das grandes inovações que a TV Digital traz é a interatividade. De acordo com o dicionário Aurélio, interatividade é qualquer ação que se exerce mutuamente entre duas ou mais coisas, ou duas ou mais pessoas. A interação permitirá que o telespectador participe ativamente da programação que está sendo transmitida através de aplicações que são enviadas juntamente à transmissão do sinal digital, ou seja, parte da banda será alocada para o envio de dados. Os aplicativos, assim como nos computadores, possuem inúmeros recursos que estão disponíveis ao programador, para codificar seu aplicativo. Com o surgimento das novas oportunidades frente à televisão, ocorre em paralelo uma imensa revolução entre os tipos de telespectadores, pois surgem os telespectadores ativos, ou seja, o modelo de transmissão digital cria um novo modelo de relacionamento com seu público (COSTA et. al, 2008) (FLORES, 2008). Além disso, surgem também os programas não-lineares. A definição é vista logo a seguir: 1 http://www.forumsbtvd.org.br/ http://idgnow.uol.com.br/telecom/ 3 http://g1.globo.com/Noticias/0,,MUL603578-15515,00.html 4 http://g1.globo.com/ 5 http://olhardigital.uol.com.br/ 6 http://zerohora.clicrbs.com.br/ 7 http://zerohora.clicrbs.com.br/ 2 17 "Programa não-linear é um programa de TV composto não apenas pelo áudio principal e vídeo principal, mas também por outros dados transmitidos em conjunto. Estes dados constituem outros áudios e vídeos, além do principal, imagens, textos, etc., e um aplicativo relacionando temporalmente e especialmente todos esses objetos de mídia. Esse relacionamento pode ser guiado por interações do usuário telespectador, ao qual poderá ser delegado o controle de fluxo de um programa televisivo, determinando se um determinado conteúdo deve ser exibido ou não e, em sendo, a forma como será exibido. Como o fluxo de um programa televisivo deixa de ser contínuo em sua concepção e com vários caminhos alternativos de exibição, esse programa é chamado de não-linear." (BARBOSA, 2008) A interação com a televisão só é possível havendo aplicativos específicos para a televisão que é executado na camada de aplicação do terminal de acesso. Todos os sistemas de TV Digital no mundo utilizam um sistema de camadas para a organização dos diferentes padrões do sistema, como mostrado na Figura 4. O funcionamento das camadas é comparável ao do utilizado em redes, ou seja, cada camada é responsável pelo tratamento de uma informação específica. As camadas são (em ordem de execução): modulação, transporte, compressão de áudio e vídeo, middleware e aplicação. Figura 4: Camadas genéricas dos sistemas de TV Digital (BECKER, 2008) Pode-se ver na Figura 4 que os aplicativos são localizados acima do middleware. 18 Um middleware é uma classe de software desenvolvida para gerenciar a complexidade e heterogeneidade inerentes ao sistema (BAKKEN, 2001). Programas de TV digital interativa podem ser entendidos como aplicações hipermídia/multimídia. Nesse cenário, sistemas hipermídia (ou multimídia interativos) irão se constituir em uma das ferramentas mais importantes a serem dominadas. Sistemas de autoria hipermídia são o suporte para a geração de informação, não se restringindo apenas à concepção dos conteúdos em si, mas incluindo também a concepção de como eles devem ser apresentados. Sistemas de exibição chamados middlewares para Set-Top Boxes) hipermídia são os (núcleo responsáveis central pela dos apresentação especificada. Todos esses sistemas têm por base alguma linguagem de especificação. Conteúdos para TV digital interativa são usualmente concebidos usando uma linguagem declarativa (aplicações essas que para serem exibidas têm o suporte do chamado middleware declarativo), ou uma linguagem imperativa (a linguagem Java predomina e, nesse caso, as aplicações têm o suporte do chamado middleware procedural). Além do suporte à criação de conteúdos, o middleware tem a função de “virtualizar” os aparelhos de televisão de diferentes fabricantes, definindo para os que produzem conteúdo uma visão única de plataforma. Esse papel confere ao middleware fundamental importância, pois é ele quem regula as relações entre duas indústrias estratégicas para o país de: a) produção de conteúdo e b) fabricação de aparelhos receptores. Os aparelhos receptores, também conhecidos como terminal de acesso, são dispositivos de recepção e decodificação de sinais de televisão digital que são conectados a um televisor por meio de cabos ou qualquer outro tipo de conexão e que, para tanto, disponibilizam interfaces de saída de áudio e vídeo, sejam elas analógicas ou digitais (ABNT NBR 15604, 2007). Aparelhos mais modernos também possuem interfaces de entrada e comunicação, tais como: USB, Ethernet, Rede Sem-Fio, etc. Vale ressaltar ainda que o terminal de acesso possui um sistema operacional sendo executado na CPU (Central Processing Unit). Como o dispositivo foi fabricado para uma função específica, ele pode ser considerado um sistema embarcado. Um sistema embarcado é qualquer componente em um sistema maior que realiza seu processamento local (WOLF, 2002). Acima da camada do sistema operacional está localizada a camada do middleware. 19 O fato de o equipamento possuir um sistema operacional diferenciado possibilita grande flexibilidade, tanto de aplicações, tanto de decodificações de áudio e vídeo. O tipo de URD pode variar de acordo com a condução da codificação do canal. O SBTVD possui uma condução de 13 unidades de segmento, conforme demonstrado na Figura 5. Figura 5: Exemplo de transmissão hierárquica e recepção parcial (ABNT NBR 15604:2007). Para haver a decodificação do sinal digital, é necessário uma URD ou também chamado de terminais de acesso. Os terminais de acesso se dividem em duas categorias: 1. Full-Seg (utiliza todos os segmentos do canal): São dispositivos capazes de decodificar informações de áudio, vídeo, dados etc. contidas na camada do fluxo de transporte de 13 segmentos destinada ao serviço fixo (indoor) e móvel. Receptores full-seg podem ser de dois tipos: integrado (dispositivo de recepção de sinais de televisão digital integrado ao monitor, dispensando interfaces de saídas dos sinais de áudio e vídeo) ou externo (Set-Top Box ou Conversor Digital mostrado na Figura 6) e devem converter diferentes tipos de resoluções, conforme mostrado na Tabela 5. 20 Figura 6: Exemplo de URD Full-Seg 2. One-Seg (utiliza apenas um segmento do canal) Os receptores one-seg (exemplificado na Figura 7) devem obrigatoriamente pelo menos suportar a decodificação de vídeo nos formatos: CIF (Common Intermediate Format) com razão de aspecto de 4:3, QVGA (Quarter Video Graphics Array) e SQVGA (Sub-QVGA), ambos com razão de aspecto de 4:3 e 16:9. Estes formatos de vídeo são apresentados na Tabela 5 e 6, podendo, a critério do fabricante do receptor, ser adicionadas outras resoluções. Destinado para receptores móveis ou "handhelds", decodifica exclusivamente informações de áudio, vídeo, dados etc., contidas na camada “A” localizada no segmento central dos 13 segmentos. O middleware embarcado no receptor oneseg deve obrigatoriamente contemplar as especificações do Ginga-NCL standalone com máquina de execução LUA. A ponte com uma máquina Java é opcional. Figura 7: Exemplo de URD One-Seg 21 Apresenta-se na Tabela 5 as diferentes especificações apresentadas pelo CPqD (Centro de Pesquisa e Desenvolvimento em Telecomunicações) para os terminais de acesso (CPqD, 2006): Tabela 5: Funções e opcionais em URDs (CPqD, 2006) De acordo com a tabela de modelos apresentados na Tabela 5, o consumidor possui várias alternativas de terminais de acesso de TV Digital. Os modelos vão aumentando gradativamente em robustez, do básico ao avançado. No modelo básico, o usuário tem a opção de um aparelho contendo simplesmente o necessário para assistir aos programas transmitidos pela emissora em baixa qualidade. Um dos pontos fracos deste modelo é a falta do middleware Ginga no equipamento, ou seja, não há interação do usuário com a programação. Diferentemente do modelo anterior, os modelos mais avançados já possuem o middleware instalado e, conseqüentemente, possuem interatividade, além de interfaces para 22 outros dispositivos (tais como: armazenamento externo, teclados, mouse, etc.) e saídas para televisores de alta resolução (HDMI - High-Definition Multimedia Interface). Conforme comentado anteriormente, as URDs trabalham com diferentes tipos de resoluções. Na Tabela 6 são listados os diferentes padrões de resolução e sua obrigatoriedade: Tabela 6: Resoluções obrigatórias e opcionais em receptores de TV Digital (ABNT NBR 15604:2007). As diferentes opções de formato possuem a finalidade de aumento de compatibilidade com diferentes equipamentos e para que o telespectador possa usufruir da melhor qualidade de imagem disponível. Conforme apresentado na Tabela 6, nota-se que os formatos que são obrigatórios em dispositivos Full-Seg possuem no final uma letra que indica o modo que a tela executa a varredura de pixels na tela. As letras “i” e “p” indicam a freqüência com que as imagens são projetadas na tela, mostrado na Figura 8. No formato entrelaçado (letra i, do inglês interlaced), apenas metade das linhas de pixels da tela se acende a cada vez, enquanto a outra metade permanece apagada formando a ilusão de uma resolução maior com apenas metade da imagem formada. Isso ocorre alternadamente 60 vezes por segundo. Assim, cada linha se acende 30 vezes a cada segundo, e a imagem é atualizada 30 vezes por segundo. (CLICRBS, 2008) No formato progressivo (letra p), todas as linhas de pixels se acendem ao mesmo tempo 60 vezes por segundo. Isso significa que a imagem completa da cena é atualizada na tela 60 vezes por segundo. (CLICRBS, 2008) 23 Figura 8: Formato Entrelaçado e Progressivo (CLICRBS, 2008) Apresenta-se nas Figuras 9 e 10, exemplos de diagramas em blocos dos terminais de acesso que pode ou não estar embutido no aparelho de televisão. O sinal recebido, passa pelas seguintes etapas (um diagrama mais detalhado pode ser visto também na Figura 15): 1 - Demodulação (sintonia e retirada do canal de freqüência); 2 - Demultiplexação (os fluxos de áudio, vídeo e dados são separados); 3 - Entrega do sinal aos decodificadores de áudio, vídeo e CPU. Também são indicados alguns outros componentes, tais como: IR (interface de rede), CR (controle remoto), CPU (unidade de processamento), RF (entrada e saída de sinais de radiofreqüência) e entradas e saídas de vídeo. 24 Figura 9: Arquitetura interna de um Terminal de Acesso (BARBOSA et. al, 2008) Figura 10: Arquitetura interna de um Terminal de Acesso (CPqD, 2006) Os diagramas apresentados nas Figuras 9 e 10 mostram dois diferentes modelos de terminal de acesso. Foram criados e desenhados pela PUC-Rio e CPqD, respectivamente. Não são notadas muitas diferenças entre as arquiteturas, exceto o elo entre a CPU, onde se encontra o sistema operacional e também o middleware, com a saída de vídeo e áudio. Tal elo é essencial para ocorrer a comunicação entre o fluxo de imagem e áudio principal com o os aplicativos executados no núcleo de processamento do terminal de acesso. Sem este elo, não é possível incluir na tela de exibição a interfaces, menus, músicas, efeitos de som, entre outros. Ou seja, a execução de todas as funções necessárias para a experiência completa dos aplicativos interativos não seria viável no primeiro modelo. Diferentemente do primeiro 25 modelo, o segundo modelo possui um elo entre o núcleo de processamento e controle com o "Processador Gráfico", ou seja, já há uma comunicação entre o middleware e a saída de vídeo do equipamento, a qual será ligada ao televisor. Este elo torna possível misturar e fundir imagens de diferentes fontes (fluxo de imagem principal e imagem gerada pelo aplicativo sendo executado no CPU). Mesmo havendo este elo, não torna ainda completo todos os módulos e fases necessárias para haver a experiência de interatividade completa com o usuário, pois não há uma mixagem de som. Os atuais middlewares existentes para Set-Top Box são (BECKER, 2004) (MORRIS, 2005) (Veja Figura 11): • DASE (Digital Television Application Software Environment): Foi desenvolvido como um padrão norte-americano para a camada de middleware em Set-Top Box de TVs Digitais. O DASE utiliza uma máquina virtual Java como mecanismo que facilita a execução de aplicações interativas baseadas em Java, mas também permite o uso de linguagens declarativas, usadas na Web, como HTML e JavaScript; • ARIB (Association of Radio Industries and Businesses): O middleware japonês é padronizado pela organização ARIB. Esse middleware é formado por alguns padrões, como o ARIB STD-B24 (Data Coding and Transmission Specification for Digital Broadcasting), que define uma linguagem declarativa (BML – Broadcast Markup Language) baseada em XML (Extensible Markup Language), e usada para especificação de serviços multimídia para TV Digital. Outra especificação do middleware é o ARIB-STD B23 (Application Execution Engine Platform for Digital Broadcasting), baseada no padrão europeu (MHP), e que permite a execução de aplicações interativas baseadas em Java; • MHP (Multimedia Home Plataform): O padrão europeu de middleware para TV Digital – busca oferecer um ambiente de TV digital interativa, independente de hardware e software específicos, aberto e inter-operável, para receptores e set-top box de TV Digital. Seu ambiente de execução é baseado no uso de uma máquina virtual Java e em um 26 conjunto APIs que possibilitam aos programas escritos em Java, o acesso a recursos e facilidades do receptor digital de forma padronizada. Uma aplicação DVB (Digital Video Broadcasting) usando API Java é denominada aplicação DVB-J. Além do uso da API Java, o MHP 1.1 introduziu a possibilidade de usar uma linguagem de programação semelhante ao HTML, denominada DVB-HTML. • GINGA: O middleware brasileiro pode ser dividido em quatro macrosistemas principais: Ginga-NCL, Ginga-J (permitem o desenvolvimento de aplicações seguindo dois paradigmas de programação diferentes: declarativo e procedural), Ginga-CC e o Sistema Operacional (Linux). Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma possuirá uma melhor adequação que o outro. Nos capítulos seguintes, o middleware Ginga será melhor detalhado. Figura 11: Middlewares existentes atualmente em terminais de acesso (SOUZA, 2008) Para um melhor entendimento das funcionalidades do middleware brasileiro, no capítulo seguinte será feito uma introdução ao Sistema Brasileiro de TV Digital (SBTVD), onde o Ginga é o middleware. 27 4. O Sistema Brasileiro de Televisão (SBTVD) Conforme pode ser visto na Figura 12, o SBTVD segue a tendência de outros middlewares e seu funcionamento é particionado em camadas. Os padrões adotados são: Figura 12: Camadas do Sistema Brasileiro de TV Digital (SOUZA, 2008) São mostrados a seguir um detalhamento das camadas do SBTVD (Sistema Brasileiro de TV Digital): • BST-OFDM (Band Segmented Transmission - Orthogonal Frequency Division Multiplexing): Na modulação OFDM, divide-se o canal em diversas sub-portadoras e transmite essas sub-portadoras paralelas umas com as outras, e cada uma carrega uma porção da informação. Isto permite que mesmo com interferências, somente uma pequena parte da informação transmitida seja perdida e por isso tecnologia OFDM é mais imune a interferências do ambiente. O BST é responsável pela segmentação de banda, ou seja, torna viável o particionamento do espectro de 6 MHz em três partes: video, áudio e dados. • MPEG-2 System (Moving Pictures Expert Group) - Camada de Transporte: O padrão MPEG-2 também foi adotado na camada de transporte em outros padrões, como o norte-americano e europeu. Esta camada é responsável em conduzir o audio e vídeo em mídias frágeis e que 28 são sujeitas a perdas de dados, como a transmissão por antenas. • H.264 - Camada de Vídeo: Para que seja possível a visualização da imagem, tanto em telas de alta resolução e também em aparelhos portáteis, se faz uso de dois perfis do codec H.264. O perfil HP (High Profile) com nível 4.0 (bit rate máximo de 25 Mbit/s) foi desenvolvido para transmissões e armazenamento de vídeos em discos. Bit rate é a unidade de quantidade de bits por segundo. Este padrão, além de ser utilizado em transmissões de TV de alta definição, é adotado também nos discos de Blu-Ray e HD DVD. O perfil BP (Baseline Profile) com nível 1.3 (bit rate máximo de 768 kbit/s) é destinado a aplicações móveis e videoconferências. Seu uso é restrito a dispositivos com baixos recursos computacionais. Vale salientar ainda que o uso do codec H.264, ao invés do MPEG-2 é um dos diferenciais do padrão brasileiro com o padrão Japonês (ISDB). Na Tabela 7 são mostrados os dois perfis do H.264 utilizado no SBTVD: Tabela 7: Perfis do H.264 (BARBOSA, 2008) • MPEG-4 HE-AAC (High Eficiency - Advanced Audio Coding) - Camada de Áudio: Considerado por muitas pessoas o sucessor do MP3 (MPEG-1 Audio Layer 3), foi especificado no padrões MPEG-2 e MPEG-4. Composto por um sistema que utiliza o método SBR (Spectral Band Replication) para alta eficiência de codificação de áudio, tanto em receptores fixos, assim como portáteis. Esta tecnologia leva em conta o modelo psicoacústico humano, resultando um áudio de alta qualidade e a geração de baixa taxa de bits. 29 Na Tabela 8 são mostrados os dois perfis do MPEG-4 HE-ACC utilizado no SBTVD. Tabela 8: Perfis do MPEG-4 HE-ACC (BARBOSA, 2008), • Ginga - Camada de Middleware: desenvolvido pela PUC-RIO e UFPB. É responsável pela interatividade e interface da aplicação. Será visto com mais detalhes no próximo capítulo. • Aplicações: É onde se encontram as aplicações enviadas pelo canal de dados. Eles são executados de acordo com as necessidades e interesses do telespectador. 30 5. O middleware brasileiro: Ginga Conforme Ginga (2008), o nome foi escolhido porque é considerada uma qualidade, quase indefinível de movimento e atitude que os brasileiros possuem e que é evidente no que fazem. Isto inclui a forma como caminham, falam, dançam e se relacionam com tudo em sua vida. Considerado também um movimento fundamental da capoeira, faz uma analogia com a luta da liberdade e igualdade do povo brasileiro. O nome foi escolhido em reconhecimento à cultura, arte e contínua liberdade deste povo. Conforme os autores do padrão de middleware, o nome também faz uma menção aos anos de trabalho árduo da PUC-Rio e da UFPB, quando romperam barreiras e conseguiu-se torná-lo a única inovação brasileira a compor o Sistema Brasileiro de TV Digital (SBTVD). Desde sua concepção, o Ginga levou em consideração a necessidade de inclusão social/digital e a obrigação do compartilhamento de conhecimento de forma livre. Permitindo levar ao cidadão todos os meios para que ele obtenha acesso à informação, educação à distância (EAD) e serviços sociais apenas usando sua TV, o meio de comunicação onipresente no país. O middleware Ginga leva em consideração a importância da televisão, presente na quase totalidade dos lares brasileiros, como um meio complementar à inclusão social/digital. Ele dá suporte para o que é chamado de "aplicações de inclusão", tais como T-Government, TBanking, T-Health e T-Learning. Tais serviços incluem o acesso a dados do governo (imposto de renda, soliticação de documentos, etc.), serviços bancários (extratos, transferências, etc.), serviços de saúde (marcar consultas, visualizar exames, etc.) e material educacional (EAD, material educativo, etc.) à todas as classes sociais, ou seja, atingindo os objetivos de inclusão digital e social de toda a população brasileira em potencial. Adotado a licença GPLv2, possui especificação aberta, de fácil aprendizagem e livre de royalties, permitindo que todos os brasileiros produzam conteúdo interativo. Isso dará novo impulso às TVs comunitárias e à produção de conteúdo pelas grandes emissoras. Ginga é a camada de software intermediária (middleware) que permite o desenvolvimento de aplicações interativas para a TV Digital do Sistema Brasileiro de TV Digital (SBTVD) de forma independente da plataforma de hardware dos fabricantes de terminais de acesso (SetTop Boxes). 31 Conforme Gustavo Gindre, coordenador-executivo do Instituto de Estudos e Projetos em Comunicação e Cultura - INDECS e conselheiro eleito do Comitê Gestor da Internet no Brasil - CGIbr, o Ginga foi a soma de dois middlewares: FlexTV (atualmente conhecido como Ginga-J) e o Maestro (atualmente conhecido como Ginga-NCL) (OBSERVATORIO DO DIREITO À COMUNICAÇÃO, 2007). 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), o Ginga reúne um conjunto de tecnologias e inovações brasileiras, que o tornam uma especificação de middleware mais avançada e, ao mesmo tempo, mais adequada à realidade do país. Como visto anteriormente, o middleware Ginga pode ser divididos em quatro macro-sistemas principais: Ginga-NCL, Ginga-J, Ginga-CC e Sistema Operacional . Dependendo das funcionalidades requeridas no projeto de cada aplicação, um paradigma possuirá uma melhor adequação que o outro. Apresenta-se na Figura 13 a arquitetura completa do middleware Ginga. 32 Figura 13: Arquitetura do Middleware Ginga (OPENGINGA, 2008) O middleware Ginga deve estar instalado em um Set-Top Box (STB), aparelho responsável pela conversão do sinal digital e também pela execução das aplicações interativas. Logo, todos os telespectadores deverão possuir um decodificador com o middleware Ginga instalado, para que dessa forma possam usufruir de todos os benefícios que a TV Digital pode lhes proporcionar. De acordo com OPENGINGA (2008), o middleware é composto pelas seguintes bibliotecas : 33 • libdirectfb-1.0-0: Biblioteca gráfica projetada tendo como alvo sistemas embarcados. Oferece aceleração do hardware gráfico utilizando o mínimo de recursos possíveis; • libdirectfb-dev: Arquivos necessários para compilar e associar programas que utilizam DirectFB; • libdirectfb-extra: Provê pacotes extras ao DirectFB. Este pacote contém os seguintes provedores adicionais: imagem PNG, imagem JPEG, fonte FreeType, sistema X11; • liblua5.1-dev: Contém a implementação da linguagem Lua; • libxine-dev: Biblioteca que contém os arquivos de desenvolvimento (cabeçalhos, documentação) para desenvolvedores da biblioteca do player Xine. Suporta vídeo no formato MPEG-1 /2 e alguns tipos de AVI. Suporta fluxos recebidos pela interface de rede, legendas e até mesmo arquivos no formato MP3 ou OGG. Esta biblioteca é extensível através de plugins para conteúdos de áudio e vídeo, entrada de mídias, demuxers, etc. • libxine1: Biblioteca de mídia do Xine; • libjpeg62-dev: Biblioteca de desenvolvimento para tratamento de arquivos JPEG; • libfreetype6-dev: É um pacote de desenvolvimento de tipografia digital, especialmente, para sistemas embarcados; • libwxgtk2.6-dev: Biblioteca de classes em C++ que provê componentes GUI (Graphic User Interface) e outras funcionalidades em diversas plataformas. Este pacote é necessário para a compilação de programas WxWidgets; • libxvidcore4-dev: Biblioteca de desenvolvimento de codecs ISO MPEG4; • libx264-dev: Este pacote contém a biblioteca static e cabeçalhos usado para construir programas que usam a libx264. A libx264 é uma biblioteca avançada para a tratamento de fluxos de vídeo com codificação H.264 (MPEG-4 AVC); • libtiff4-dev: Biblioteca desenvolvimento que prover suporte para TIFF (Tag Image File Format), um formato amplamente usando para armazenamento de imagens. Este pacote inclui arquivos de desenvolvimento, biblioteca estática e arquivos de cabeçalho; • libxerces27-dev: Biblioteca de validação XML parser escrita em C++; 34 • libopenthreads-dev: Biblioteca de desenvolvimento que provê um mínimo e completo OO (Object Oriented) thread interface para programadores C++. 5.1 Ginga-NCL (Linguagem Declarativa) Desenvolvido pela PUC-Rio para prover uma infra-estrutura de apresentação de aplicações baseadas em documentos hipermídia escritos em linguagem NCL (Nested Conext Language), com facilidades para a especificação de aspectos de interatividade, sincronismo espaçotemporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos (GINGANCL, 2008) O Ginga-NCL utiliza uma linguagem declarativa. Uma das características da linguagem declarativa é que ela descreve o que e não como seus procedimentos funcionam, ou seja, descrevem propriedades da solução desejada, não especificando como o algoritmo em si deve agir. Em conjunto com a linguagem NCL, pode-se fazer uso também da linguagem Lua e XHTML. Estes dois padrões serão vistos logo a seguir. 5.1.1 XHTML O XHTML (eXtensible Hypertext Markup Language) é a união das tags HTML (HyperText Markup Language) com as regas da XML (eXtensible Markup Language). Este padrão é amplamente utilizado na internet para exibição de páginas web em diversos dispositivos. Pode-se fazer uso de ferramentas para verificar a correta estrutura e código de arquivos XHTML utilizando um validador na página da W3C (World Wide Web Consortium). 5.1.2 Lua Lua é uma linguagem de programação muito leve e poderosa, sendo a única linguagem desenvolvida por brasileiros, fora dos eixos EUA/Japão/Europa. Foi 35 desenvolvida na Tecgraf, na PUC-Rio, por Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, em 1993. A motivação no Tecgraf para o desenvolvimento desta linguagem partia de uma forte demanda para aplicações que fossem configuráveis externamente. Conseguindo isso, pode-se dizer que é possível modificar diversos aspectos essenciais das aplicações sem a necessidade de recompilar a aplicação. Esse tipo de configuração era muito mais do que simples escolhas de tipo de fonte de texto, mas também era necessário poder tomar decisões em tempo de execução que somente os usuários sabiam qual. (CELES, 2008) A partir daí, Lua tem se estendido pelo mundo inteiro, sendo muito utilizada para programação em robôs e em jogos. Tudo isto facilitado pelo fato de ser de uso gratuíto, além de código aberto, inclusive para aplicações comerciais. Outra vantagem desta linguagem é, por ela ser de fácil aprendizado para qualquer programador, desde que ele esteja ambientado com linguagens de script, orientadas à objetos ou funcionais. No fundo, Lua pode ser tão simples ou tão complexa como se queira. ~ (CELES, 2008) Basicamente, Lua é uma linguagem de extensão, ou seja, o código é programado dentro de um código de outra linguagem (geralmente esta linguagem é C), aprimorando e facilitando a programação, além de permitir uma prototipagem rápida e um acesso programável pelo usuário à tecnologia implementada pela aplicação. Mas sendo também muito usada como um interpretador stand-alone, onde o programa é todo escrito em Lua, sem a necessidade do programador possuir conhecimento da API C. Neste caso, as funções pré-definidas de Lua formam o ambiente de programação através das bibliotecas padrão da linguagem, além de eventuais pacotes de extensão que podem ser agregados. As bibliotecas de Lua podem ser usadas em qualquer plataforma que tenha um compilador compatível com o padrão ANSI, já que Lua foi desenvolvida completamente em ANSI C. Lua é uma linguagem que facilita muito a programação de aparelhos pequenos e 36 portáteis, já que apresenta um código compacto e modular, havendo a possibilidade de remover componentes desnecessários. Os chunks, como são chamados os trechos de código em Lua, podem ser précompilados para um formato binário e interpretado posteriormente. Lua é muito usada para ligar linguagens e aplicações diferentes que possuem uma interface com C. Sendo também, usada como linguagem de script de altíssimo nível. Tanto a inteligência artificial de um robô como a inteligência em um jogo de computador poderiam ter seu comportamento implementado facilmente em Lua. Por ser muito simples, Lua reduz muito o trabalho dos programadores, sendo utilizada em testes de algoritmos antes de suas implementações definitivas, além de servir como uma linguagem de descrição de dados. (CELES, 2008) 5.2 Ginga-J (Linguagem Procedural) Em desenvolvimento pela UFPB e SUN, o Ginga-J promete prover uma infra-estrutura de execução de aplicações baseadas em linguagem Java, com facilidades especificamente voltadas para o ambiente de TV Digital. Atualmente, a linguagem procedural ainda não se encontra nos terminais de acesso devido a problemas de royalties do uso do Java Virtual Machine. Sua implantação está prometida para maio de 2009 (LUCA, 2008). O Ginga-J é uma plataforma que utiliza outras APIs para o processamento de classes compiladas. Estas, são consideradas como componentes e cada uma é definida para um tipo de serviço, conforme descrito a seguir: • API Java: utilizada para apresentação, seleção de serviços, controle dos gráficos na tela. Criada pela Sun Microsystems (SUN, 2008) e desenvolvida no ambiente J2ME – Plataforma Java 2 Micro Edition (JAVATV, 2008), sendo uma extensão da plataforma Java, é uma API utilizada no desenvolvimento de conteúdo para Televisão Digital 37 Interativa, pois provê as funcionalidades necessárias em um terminal de acesso. A API apresenta um alto nível de abstração, isto é uma característica que facilita no desenvolvimento, pois o desenvolvedor não se preocupa com as camadas inferiores, que se referem aos protocolos de serviços, transmissão e rede. Funciona como uma espécie de middleware, pois se situa entre o sistema operacional e as aplicações. Podem ser encontradas no Java TV, a JVM (Java Virtual Machine) e várias bibliotecas destinadas a TVDI (TV Digital e Interativa), que contém no terminal de acesso. Isso permite ao desenvolvedor escrever apenas uma única vez o código, pois a JVM torna compatível para os receptores, sem se preocupar em saber qual o hardware e software do equipamento. Esta é uma das vantagem do Java, pois torna a aplicação portável e compatível em vários ambientes. O Java TV ainda oferece serviços e informações de serviços (SI – Service Information), onde serviço pode ser considerado um programa de televisão, ou seja, um conjunto de conteúdo (vídeo, áudio e dados) para apresentação no terminal de acesso. SI é uma coleção de informações que especificam o conteúdo dos serviços, que são armazenadas em uma base de dados denominada SI database. Além disso, o Java especifica pacotes que são utilizados para o desenvolvimento de interfaces, navegação, serviços e transportes. Pode-se citar alguns exemplos, como: o javax.tv.carousel: Fornece acesso a arquivos de radio difusão e diretório de dados; o javax.tv.graphics: Permite que Xlets (programas em Java específicos para TV Digital) possam obter seu repositório principal; o javax.tv.locator: Oferece formas para referenciar dados ou aplicativos acessíveis pela API JavaTV; 38 o javax.tv.xlet: Provê interfaces para o desenvolvimento e comunicação entre aplicações, oferecendo um gerenciamento do mesmo. • API DAVIC (Digital Audio-Visual Council): Criada pela associação DAVIC, especifica formatos de conteúdo para objetos como áudio, vídeo, textos e hipertexto e ainda controla o acesso ao aplicativo e a língua adotada (áudio e legenda); • API Havi (Home Audio Video): Criada por uma associação de companhias de produto eletrônicos, com objetivo de atuar na apresentação e interface gráfica do usuário, sendo mais robusta do que API Java Sun, ou seja, é uma API que possui um padrão para interconexão e interoperação de áudio e vídeo digital, a fim de interagirem entre si na rede. Além disso, pode gerenciar a rede, a interface do usuário e a comunicação dos componentes. Essa API permite que usuários controlem a aplicação através de botões de um controle remoto (SILVA, 2005); • API DVB (Digital Video Broadcasting): API relacionada ao padrão europeu DVB, necessária para segurança, acesso de dados e para dispositivos de I/O (entrada/saída). 5.5 Ginga-CC (Common Core) Oferece suporte básico para os ambientes declarativos (Ginga-NCL) e procedural (Ginga-J), ficando entre os ambientes e o sistema operacional de forma que suas principais funções sejam para tratar a exibição de vários objetos de mídia, tais como: JPEG, MPEG4, MP3, GIF, entre outros formatos. Fornece, ainda, o controle do plano gráfico para o modelo especificado para o SBDTV. Também controla o acesso ao "Canal de Retorno", que é o módulo responsável por controlar o acesso a camada de rede. O Ginga-CC também é responsável pelos meios de obter conteúdos, através de procedimentos e decodificadores de conteúdo unificado, sendo que esse conteúdo pode ser de origem, tanto do Fluxo de Transporte que vem no carrossel de objetos (que será explicado 39 mais detalhadamente no capítulo 7), segundo a multiplexação de dados em MPEG-2 ST, ou então pelo canal de comunicação com a Internet, também conhecido como canal de retorno. Tanto o Ginga-CC, quanto uma aplicação residente, faz uso de chamadas ao sistema operacional. 40 6. Ferramenta Disponibilizada para testes: Virtual Set-Top Box O Ginga-NCL Virtual Set-top Box, também conhecido como Ginga-NCL Development SetTop Box (GINGA-NCL, 2008), consiste em um emulador virtual de um set-top box contendo o middleware Ginga-NCL instalado. Ele foi desenvolvido pela PUC-Rio em linguagem Java, e tem como base para seu funcionamento a distribuição Fedora (FEDORA, 2008) do Sistema Operacional Linux. Pelo fato desse emulador suportar apenas a parte voltada para a linguagem NCL do middleware Ginga, aplicações baseadas em Java que utilizam Java TV, ainda não podem ser executadas no Ginga-NCL Virtual STB. Porém, o middleware Ginga dá perfeitas condições para os testes de aplicações baseadas em NCL. O uso de NCL em aplicações para TV Digital Interativa proporciona uma maior facilidade na construção de uma interface amigável para o telespectador, se comparada com Java, justamente por se tratar de uma linguagem que utiliza documentos hipermídia. Porém, todo o poder computacional que Java possui, não aparece na linguagem NCL, dificultando a execução de determinadas operações como acesso a serviços a internet e banco de dados. Para acesso à internet pelo Lua, por exemplo, necessita-se o uso de uma classe específica chamada de TCP, o que ocorre de forma transparente no Java. 41 7. Canal de Retorno Um assunto recorrente em muitas discussões é o canal de retorno dos URDs. Estes canais de retorno já estão presentes em set-top boxes através de interface ethernet, como pode ser visto nos equipamentos da Proview modelo XPS-1000 (Proview, 2008) e Zinwell modelo ZDS620S (Zinwell, 2008). Denota-se "Canal de Retorno" (Figura 14, item A) o canal de comunicação de dados entre a URD e a nuvem, ou seja, o envio de dados ocorre em ambos os sentidos e não apenas em um. Demonstra-se ainda na Figura 14, o canal de comunicação da emissora com a nuvem (item B) e outros possíveis pontos de comunicação (item C). É de extrema importância levar em consideração todos os possíveis pontos de comunicação dos URDs, pois após a aplicação estar sendo executada na URD, ela tem a possibilidade de trafegar seus dados pela nuvem, ou seja, o canal de comunicação pode conectar-se a um serviço em um datacenter (ex: banco de dados, web services, etc.) e outras residências (ex: P2P). Um diagrama mais detalhado é apresentado na Figura 15. Figura 14: Possíveis formas de canais de comunicação Na Figura 15 são apresentadas todas as fases de conversão, transmissão, recepção e formas de comunicações existentes no Sistema Brasileiro de Televisão Digital. Partindo da emissora (lado esquerdo), a imagem e som são gerados nos programas televisivos (estúdios ou mídias gravadas) e os mesmos são codificados para os padrões do SBTVD (vide Tabela 7 e 8). Os dados que serão enviados também são gerados pelo servidor de aplicativos da emissora. Na fase da multiplexação (transmissão simultaneamente de dois ou mais fluxos em um mesmo 42 canal de transmissão), os três fluxos se transformam em apenas um a fim de proceder com a transmissão do mesmo. Porém, antes da transmissão em si, o fluxo de dados multiplexados precisa ser modulado (conversão para sinal analógico, possibilitando seu transporte por meio de ondas portadoras, como ocorre, p. ex., na transmissão de dados por modem ou fax). O sinal modulado então é enviado à antena emissora e se propaga no ar. No lado direito são representadas as seqüências de processos que ocorrem dentro do terminal de acesso (por exemplo: set-top box). O sinal é recebido por uma antena do tipo UHF (UltraHigh Frequency) na residência do telespectador e demodulado (processo que consiste em extrair, de uma onda de RF modulada em amplitude, freqüência, ou fase, o sinal original usado na modulação), dividindo um único fluxo em três novos: áudio, vídeo e dados. O áudio e vídeo seguem diretamente para a tela de exibição, enquanto os dados seguem para o middleware localizado na unidade de processamento do equipamento e se houver necessidade irão se misturar ao áudio e vídeo do programa televisivo. O aplicativo pode vir a exigir uma comunicação com algum serviço externo do equipamento. Para isto, será necessário um canal de comunicação com a internet (nuvem). Este assunto tem sido alvo de muita discussão, pois apenas 20% das pessoas no Brasil tem acesso à internet (IBGE, 2007) e isto dificulta a interação do telespectador com os aplicativos interativos que necessitam uma comunicação externa, tais como: enquetes, e-commerce, entre outros. A fim de aumentar o número de telespectadores interativos, estudam-se vários formatos do canal de comunicação com o objetivo haver uma melhor inclusão digital. 43 Figura 15: Sistema de transmissão e recepção de TV Digital (Adaptado de BARBOSA, 2008) Entre as várias formas de comunicações possíveis, as mais citadas até agora pelo governo e fabricantes, são: linha de telefone (discada), rede sem-fio (wi-fi), ADSL (Asymmetric Digital Subscriber Line), PLC (Power Line Communication), GSM/GPRS, CDMA2000/1xRTT e WiMAX. 44 A grande barreira para a escolha do melhor sistema é a inclusão digital de pessoas de baixa renda. Conforme Meloni (2007), uma da alternativa viável de canal de retorno seria a utilização da tecnologia WiMAX-700, uma tecnologia que opera em frequências de 54 a 400MHz (VHF) e de 400 a 960 MHz (UHF). Sua utilização possui várias vantagens, tais como: melhor penetração de ondas dentro das residências, maior propagação (até 65KM) e baixo custo de produção, pois utiliza peças já presentes em eletrônicos de entretenimento. A maior propagação é um detalhe muito importante a ser observado, pois cidades de baixa densidade, longe de emissoras, também seriam beneficiadas. Comparando-se as diferentes tecnologias acredita-se que esta solução seja uma das tendências em canal de retorno. No próximo capítulo será feito um melhor detalhamento do envio e recebimento dos dados (datacasting), enviados juntos com os fluxos de áudio e vídeo. 45 8. Difusão de Dados Conforme visto anteriormente, dentre os vários benefícios da TV digital em relação à analógica, é o envio de dados em conjunto com a imagem e som. A capacidade de difundir dados digitais que não sejam fluxos de áudio e vídeo nesse sinal é conhecida como datacasting, e é o pilar da interatividade na televisão digital. É o datacasting que permite às aplicações e demais dados correlacionados serem transmitidos. (PICCIONI et. al., 2005) Existem quatro mecanismos de datacasting, são eles (PICCIONI et. al., 2005): Data Piping, Data Streaming, MPE (Multi-Protocol Encapsulation) e Carrosséis, sendo este último subdividido em: Carrossel de Dados e Carrossel de Objetos. Os mecanismos de carrossel de dados e carrossel de objetos são dois dos mecanismos mais utilizados para a difusão de dados nos sistemas DVB, ATSC e SBTVD, por este motivo manterá-se o foco apenas nestes mecanismos. Ambos modelos de carrosséis são protocolos de difusão de dados definidos pelo padrão DSM-CC (Digital Storage Media, Command and Control) (ISO/IEC 13818-6, 1996), a sexta parte do conjunto de especificações MPEG-2. O DSM-CC foi originalmente desenvolvido com o objetivo de fornecer funções semelhantes às presentes em aparelhos de vídeo cassete para o controle de fluxos de áudio e vídeo de um fluxo de transporte. Posteriormente o DSMCC foi estendido e dividido em várias partes, com o intuito de fornecer, entre outras, funções como seleção, acesso e controle de fontes distribuídas de vídeo e suporte para a transmissão de dados através de fluxos de transporte. O protocolo denominado carrossel foi desenvolvido com o intuito de possibilitar a difusão de dados, de forma periódica, para set-top boxes. A idéia básica desse protocolo é de módulos de dados difundidos ciclicamente, de modo que, quando o receptor necessitar determinado módulo, deve apenas aguardar o instante de sua próxima repetição no fluxo de dados. Na Figura 15 são apresentados os passos para o envio de arquivos pelo carrossel. Representam-se nele, o carrossel em formato de círculo, os arquivos necessários para a execução de um aplicativo no terminal de acesso (letras A, B e C) e as extremidades (emissora e o terminal de acesso). No primeiro momento, o Terminal de Acesso (TA) localizado no lado direito, não recebeu nenhum arquivo da Emissora (lado esquerdo). Ao girar o carrossel, chega o momento do 46 arquivo A ser carregado e difundido (passo 2). Como o TA não possui ainda o arquivo A registrado em sua memória, o arquivo recepcionado e mantido em sua memória de armazenamento até completar o carregamento de todos os arquivos necessários para a execução do aplicativo são recebidos. O mesmo processo se repete até o TA receber o restante dos arquivos (passos 3 e 4). No passo 5, todos os arquivo já se encontram no TA e o aplicativo está pronto para ser executado. Na Figura 17 os mesmos arquivos são enviados, porém ilustra-se um problema no envio dos dados entre a emissora e o TA. Diferentemente da Figura 15 no passo 5, o aplicativo não encontra-se apto para ser executado, pois há falta de um dos arquivos necessários para sua execução. O TA terá que aguardar a repetição do arquivo na próxima seqüência cíclica do arquivo (passo 6) e carregar os arquivos ausentes em sua memória. No passo 7 representa-se o momento em que o TA está apto a executar o aplicativo, pois todos os arquivo foram recebidos e encontram-se íntegros. 47 Figura 16: Envio de dados por Carrossel Figura 17: Tratamento de arquivo corrupto Note que não há comunicação no sentido terminal de acesso - emissora, pois se torna desnecessário e inviável neste modelo de envio de dados, pois não há um canal de comunicação entre as duas extremidades. Com a possibilidade de envio de arquivos audiovisuais e arquivos de dados no mesmo sinal de transmissão, surge a possibilidade do envio de aplicativos para os terminais de acesso para que o telespectador possa interagir com o programa televisivo. No capítulo seguinte, será discutido o dispositivo responsável pela interação do telespectador com a televisão: o controle remoto. 48 9. Interação De acordo com as normas da ABNT (ABNT NBR 15604, 2007), que regulamenta os receptores de TV Digital, são listadas as funções básicas do equipamento e sua interface (física e virtual) com o usuário. São listadas na Tabela 9 algumas funções previstas para o URDs. Tipo de Receptor Funcionalidade Full-Seg One-Seg Opcional Opcional Obrigatório Obrigatório Closed-caption Opcional Opcional Audiodescrição Opcional Opcional Locução Opcional Opcional Dublagem Opcional Opcional Janela de LIBRAS Opcional Opcional Opcional Opcional Recomendado Recomendado Botões de Controle de Volume Opcional Opcional Botão do Guia de Programação Opcional Opcional Opcional Opcional Recomendado Recomendado A. Acessibilidade EPG (Eletronic Program Guide) Classificação Indicativa B. Controle Remoto (funções mínimas) Botões Básicos (Liga/Desliga, Numéricos, Seleção Sequencial de Canais) C. Controle Remoto (funções interativas) Botão Confirma 49 Botão Sair Recomendado Recomendado Botão Voltar Recomendado Recomendado Botões Direcionais (▲, ▼, ◄, ►) Recomendado Recomendado Botões Coloridos Recomendado Recomendado Botão de Informação sobre o evento Recomendado Recomendado Botão Menu Recomendado Recomendado Tabela 9: Funcionalidades mínimas previstas para os URDs. As funcionalidades não se limitam às citadas na Tabela 9, pois a norma prevê interfaces digitais de alta velocidade, são elas: porta USB 2.0 (Universal Serial Bus Specification 2.0), IP (ethernet) e serial. Nenhuma das interfaces é obrigatória, porém aumenta extremamente as possibilidades do usuário a fazer uso de dispositivos dos mais variados tipos em conjunto com o equipamento. O uso de outros dispositivos (além do controle remoto) incluem (CPqD, 2006): teclado, mouse, joystick, impressora, modem, armazenamento, entre outros. Mesmo havendo a citação destes dispositivos nos documentos do CPqD, os mesmos não são mencionados nas normas brasileiras (ABNT). As diferentes possibilidades de conexões do equipamento favorece a criação de novos dispositivos específicos para TV Digital, bem como o uso de tecnologias já existentes (teclado, mouse, etc.). 50 10. Conclusões A demanda por estudos relacionados à TV Digital aumenta a cada dia no país, visto que será implementada a transmissão digital em outros estados e interior dos que já possuem na capital. Este trabalho procurou reunir o maior número de informações possíveis que são relevantes ao funcionamento da TV Digital, sua interação, demonstrar o estado-da-arte da TV digital no Brasil e o que é essencial compreender a respeito do assunto para seu aprofundamento. Os benefícios trazidos pela TV digital às casas dos brasileiros, incluindo a melhoria de qualidade de som e imagem, como também a inclusão de novas funcionalidades (interatividade) são pontos decisivos para a aceitação dos telespectadores e a rápida digitalização da televisão. O padrão adotado pelo Brasil, chamado de SBTVD (Sistema Brasileiro de TV Digital), é baseado no padrão japonês ISDB e adaptado às necessidades brasileiras e às tecnologias mais recentes no mercado e seu middleware, Ginga, evolui com muita velocidade. Dividido em duas partes distintas, o Ginga compreende dois paradigmas de programação diferentes. Integrando o Ginga-J com o Ginga-NCL, oferece-se ao desenvolvedor da aplicação de TV digital a possibilidade de trabalhar tanto com uma linguagem procedural, quanto com uma declarativa. No primeiro semestre de 2008, foi lançada oficialmente a parte procedural do middleware e este se faz necessário difundir o conhecimento frente à demanda nacional e internacional de profissionais. Ainda em um momento de “imaturidade”, a TV digital no Brasil não possui ainda interatividade devido a royalties pelo uso da máquina virtual Java. Uma versão definitiva deverá ser disponibilizada na metade de 2009 pelos órgãos competentes e só então será possível desfrutar de todas as maravilhas que a TV digital proporciona. 51 11. Trabalhos Futuros Pretende-se como trabalhos futuros um estudo mais aprofundado sobre as possibilidades, formas, metodologias, paradigmas, barreiras e dispositivos de interação (periféricos), levando em consideração sua facilidade, praticidade e compatibilidade com o telespectador e os aplicativos televisivos. Conforme MIRANDA (2008), existem diversos trabalhos a respeito de aplicativos complexos e o uso do limitado controle remoto para a interação homem-máquina. Uma forma de solucionar este tipo de problema, conforme o autor, é o uso de novos dispositivos físicos de interação. Tais dispositivos são demonstrados na Figura 18 de forma bastante completa. No ponto mais central são explicitados os autores que podem contribuir diretamente com o desenvolvimento de novos artefatos físicos de interação (camada contribuição) e que possuem interesses e/ou expectativas acerca desse desenvolvimento (camada comunidade). A TV Digital ainda está muita “imatura” e a interatividade ainda não está completamente funcional no Brasil. Muito há ainda a se pesquisar e criar com o SBTVD e sua arquitetura aberta se torna uma grande ferramenta de inclusão digital. Será que o futuro da TV Digital Interativa se resumirá a controles remotos arcaicos e desajeitados e menus complexos sem usabilidade? 52 Figura 18: Diagrama – Novos Dispositivos Físicos de Interação com a TVDI (MIRANDA et al., 2008). 53 12. Referências Bibliográficas ABNT NBR 15604 - Associação Brasileira de Normas Técnicas, "Televisão digital terrestre - Receptores", Sistema Brasileiro de TV Digital Terrestre, NBR 15604, 2007. BARBOSA, S. D. J. SOARES, L. F. G. TV Digital Interativa no Brasil se faz com Ginga: Fundamentos, Padrões, Autoria Declarativa e Usabilidade. Em T. Kowaltowski e K. Breitman (orgs.) Atualizações em Informática 2008. Rio de Janeiro, RJ: Editora PUC-Rio, 2008. pp. 105-174 BARBOSA, S. D. J. SOARES, L. F. G. TV Digital Interativa no Brasil se faz com Ginga: Fundamentos, Padrões, Autoria Declarativa e Usabilidade. Disponível em: http://www.ncl.org.br/documentos/JAI2008-ppt.pdf, acesso em: Out/2008. BAKKEN, D. E. Middleware Encyclopedia of distributed computing, Kluwer Academic Press, 2001. BBC. British Broadcasting Corporation. Disponível em: http://www.bbc.co.uk/info/, acesso em: Nov/2008. BECKER, V.; VARGAS, R.; GUNTER FILHO, ; MONTEZ, C. Júri Virtual I2TV: Uma Aplicação para TV Digital Interativa Baseada em JavaTV e HyperProp. In webmídia 2004, Ribeirão Preto. Proceedings WebMedia & LA-Web 2004, 2004. v. 2. p. 12-19. CELES,W. FIGUEIREDO, L. H. IERUSALIMSCHY, Roberto A Linguagem Lua e suas Aplicações em Jogos. Disponível em: http://www.tvdi.inf.br/ upload / artigos / tutorial_sobre _lua.pdf, acesso em: Set/2008. CLICKRBS TV digital: como escolher um televisor. Disponível em: http://www.clicrbs. com.br/ especial/ rs/ tecnologia/ noticia/ detalhe/ TV-digital: - como – escolher – um televisor.html, acesso em: Out/2008. 54 COSTA, L. CARNEIRO, L. G. DORNELLES, M. KIST, C. CÍRIO, M. PEREZ, M. F. ADAMSKI, R. SET: as novas relações da mídia com o Público. Jornal Hipertexto / Jornal da Famecos/PUCRS. Edição Ano 10, Nº 66. Set/2008. CPqD Arquitetura de Referência Sistema Brasileiro de Televisão Digital Terrestre FUNTTEL. Disponível em: http://itvproducoesinterativas.com.br/pdfs/relatorios/ Modelo_de_referencia_SBTVD-ANEXO1_arquitetura_referencia_sbtvd.pdf, acesso em: Ago/2008. EMBRATEL Lançamento do Satélite Star One C2. Disponível em: http://satelitec2.embratel.net.br/hdtv-tv-digital-star-one-c2.html, acesso em Ago/2008. FEDORA Fedora Project. Disponível em: http://www.fedoraproject.org, acesso em Ago/2008 FLORES, V. F. FAUST, R. PIMENTA, M. S. Definindo uma Proposta para Avaliações de Usabilidade de Aplicações para o Sistema Brasileiro de TV Digital, Anais do IHC (Simpósio Brasileiro de Fatores Humanos em Sistemas Computacionais) 2008, pág. 88-97. PUCRS. FSBTVD Fórum do Sistema Brasileiro de TV Digital Terrestre. Disponível em: http://www.forumsbtvd.org.br/, acesso em: Ago/2008. GINGA. Middleware Ginga. Disponível em: http://www.ginga.org.br/, acesso em Ago/2008. GINGA-NCL Virtual Set-top Box. Disponível: http://www.ncl.org.br/ferramentas/fedorafc7-ginga-i386.zip, acesso em: Ago/2008. IBGE, Instituto Brasileiro de Geografia e Estatística - IBGE. Pesquisa Nacional por Amostra de Domicílios PNAD 2007 [S.l.], 2007. ISO/IEC 13818-6 - Organization for Standardization. Coding of Moving Pictures and 55 Associated Audio- Extension for Digital Storage Media Command and Controls. Disponível em: http://www.iso.ch/cate/d25039.html, acesso em: Out/2008. JAVATV. JavaTV API. Disponível em http://java.sun.com/products/javatv/index.jsp, acesso em Out/2008. LUCA, C. TV Digital: Sun cumpre o prazo de entrega da especificação Java - Futurecom 2008. Disponível em: http://www.convergenciadigital.com.br/cgi/cgilua.exe/sys/start.htm? infoid=16507&sid=80, acesso em Out/2008. MELONI, L. G. P. Return Channel for the Brazilian Digital Television SystemTerrestrial, Journal of the Brazilian Computer Society, no. 1; Vol. 13; Mar. 2007, ISSN 0104-650 MIRANDA, L. C. PICCOLO, L. S. G. BARANAUSKAS, M. C. Artefatos Físicos de Interação com a TVDI: Desafios e Diretrizes para o Cenário Brasileiro. Anais do IHC (Simpósio Brasileiro de Fatores Humanos em Sistemas Computacionais) 2008, pág. 60-69. PUCRS. MORRIS, S. SMITH-CHAIGNEAU, A. Interactive TV Standards: A Guide to MHP, OCAP, and Java TV. Focal Press, 585p. 2005. OBSERVATÓRIO DO DIREITO À COMUNICAÇÃO TV digital: uma farsa chamada ISDTV. Disponível em: http://www.direitoacomunicacao.org.br/novo/content.php?option= com_content&task=view &id=361, acesso em: Set/2008. OPENGINGA. Ginga-j. Disponível em: http://www.openginga.org/, acesso em: Set/2008. PICCIONI, C. BECKER, V. MONTEZ, C. HERWEG, G. H. Datacasting e Desenvolvimento de Serviços e Aplicações para TV Digital Interativa. In: TEIXEIRA, Cesar Augusto Camilo; BARRÉRE, Eduardo; ABRÃO, Iran Calixto. (Org.). Web e Multimídia: Desafios e Soluções. Poços de Caldas, 2005, v. 01, p. 01-30. 56 PROVIEW, 2008 Grupo Proview, Disponível: http://www.zinwell.com.br/, acesso em: Out/2008 SILVA, J. Q. TV Digital Interativa. São Leopoldo: Unisinos. Monografia, Curso de Especialização em Redes de Computadores, Centro de Ciências Exatas e Tecnológicas, Universidade do Vale do Rio dos Sinos. 56p. 2004. SOUZA, G. L. SOARES, L. F. G. Interactive Television in Brazil. Disponível em: http://www.ncl.org.br/documentos/EuroiTV2007S.pdf, acesso em: Ago/2008. SUN. Sun Microsystems. Disponível em http://www.sun.com/, acesso em Out/2008. WOLF, W What is embedded computing? Revista Computer, Edição Jan 2002, Volume: 35, p.136-137 ZINWELL, 2008 Zinwell do Brasil, Disponível em: http://www.zinwell.com.br/ Acesso em: Out/2008 57
Documentos relacionados
TV DIGITAL INTERATIVA NO BRASIL: ATÉ QUANDO ESPERAR?
portabilidade das aplicações, permitindo que sejam transportadas para qualquer receptor digital (ou set top box) que suporte o middleware adotado. Essa portabilidade é primordial em sistemas de TV ...
Leia mais