Sistema Brasileiro de TV Digital -...

57
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

Transcript of 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)

5.1.1 XHTML

5.1.2 Lua

5.2 Ginga-J (Linguagem Procedural)

5.5 Ginga-CC (Common Core)

35

35

35

37

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

recebidos (BARBOSA et. al, 2008)

13

2 Diferentes tipos de interferência e a recuperação de dados

(BARBOSA et. al, 2008a)

14

3 Cronograma de início de transmissão da TV Digital (FSBTVD,

2006)

15

4 Camadas genéricas dos sistemas de TV Digital (BECKER,

2008)

18

5 Exemplo de transmissão hierárquica e recepção parcial (ABNT

NBR 15604:2007).

20

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.

al, 2008)

25

10 Arquitetura interna de um Terminal de Acesso (CPqD, 2006) 25

11 Middlewares existentes atualmente em terminais de acesso

(SOUZA, 2008)

27

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

BARBOSA, 2008)

44

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

comunicação em 2007 (IBGE, 2007)

10

2 Domicílios com bens duráveis e serviços de acesso a

comunicação de 1992 a 2007 (IBGE, 2007)

10

3 Prazos para implantação da TV Digital em diferentes regiões

(Adaptado de FSBTVD, 2006).

16

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

Digital (ABNT NBR 15604:2007).

23

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/2010Geradoras 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/20071

G1 Belo Horizonte 07/ABR/20082

G1 Rio de Janeiro 16/JUN/20083

G2 Goiânia 04/Ago/20084

G2 Curitiba 22/OUT/20085

G2 Porto Alegre 04/NOV/20086

G3 - -

G4 Florianópolis Final de NOV/20087

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/ 2 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/

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 hipermídia (núcleo central dos

chamados middlewares para Set-Top Boxes) são os responsáveis pela 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 one-

seg deve obrigatoriamente contemplar as especificações do Ginga-NCL stand-

alone 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 macro-

sistemas 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, T-

Banking, 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 (Set-

Top 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ço-

temporal de objetos de mídia, adaptabilidade e suporte a múltiplos dispositivos (GINGA-

NCL, 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 Set-

Top 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 ZDS-

620S (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 (Ultra-

High 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 DSM-

CC 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

A. Acessibilidade

EPG (Eletronic Program Guide) Opcional Opcional

Classificação Indicativa Obrigatório Obrigatório

Closed-caption Opcional Opcional

Audiodescrição Opcional Opcional

Locução Opcional Opcional

Dublagem Opcional Opcional

Janela de LIBRAS Opcional Opcional

B. Controle Remoto (funções mínimas) Opcional Opcional

Botões Básicos (Liga/Desliga, Numéricos,

Seleção Sequencial de Canais) Recomendado Recomendado

Botões de Controle de Volume Opcional Opcional

Botão do Guia de Programação Opcional Opcional

C. Controle Remoto (funções interativas) Opcional Opcional

Botão Confirma Recomendado Recomendado

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/fedora-

fc7-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 System-

Terrestrial, 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

57

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