Você está na página 1de 21

FlexTV — Uma Proposta de Arquitetura de

Middleware para o Sistema Brasileiro de TV Digital


Luiz Eduardo Cunha Leite
Carlos Eduardo Coelho Freire Batista
Guido Lemos de Souza Filho
Raoni Kulesza
Luiz Gustavo Pacola Alves
Graça Bressan
Rogerio Ferreira Rodrigues
Luiz Fernando Gomes Soares

{leduardo,bidu,guido}@lavid.ufpb.br,
{raoni,luizgpa,gbressan}@larc.usp.br,
{rogerio,lfgs}@inf.puc-rio.br

Resumo

As diversas propostas de Sistema de Televisão Digital trazem consigo a especificação de middlewares


que possibilitam a execução de programas de televisão interativos nos Receptores Digitais ou Terminais
de Acesso, escondendo dos mesmos a complexidade dos mecanismos definidos pelos protocolos de
comunicação, do sistema operacional e do hardware do equipamento. É o middleware que define a interface
para tais programas e, por conseguinte, quais funcionalidades poderão ser oferecidas pelos aparelhos de
televisão para seus usuários. Visando promover a inclusão social e digital da população brasileira, é
extremamente importante que o middleware a ser adotado no Sistema Brasileiro de Televisão Digital
permita o desenvolvimento de programas mais adequados à realidade desse público. Realidade esta
diferente daquela encontrada em outros países que já definiram seus Sistemas de Televisão Digital. Não
obstante, esse middleware também deve possuir alinhamento com padrões internacionais, de forma a
possibilitar a exportação do conteúdo televisivo produzido no país, bem como a exibição de conteúdo
produzido por outros países nos televisores do Brasil, promovendo, dessa forma, o desenvolvimento
econômico e o intercâmbio cultural no país. Este trabalho apresenta a arquitetura do middleware FlexTV,
que está sendo desenvolvido no contexto do projeto do Sistema Brasileiro de Televisão Digital. A arquite-
tura, que se baseia fortemente no uso de componentes de software, permite que o middleware adapte-se
a diferentes tipos de aparelhos receptores e infra-estruturas de comunicação, através da adição ou remo-
ção de componentes de software, de forma a torná-lo o mais adequado possível à realidade brasileira. A
mesma característica também simplifica a tarefa de tornar o FlexTV compatível com os sistemas de
televisão digital já em operação em outros países.

Palavras-chave: TV Digital Interativa, Middleware, SBTVD.

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 29


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

1. Introdução tivamente, com diferentes níveis de qualidade. Para


o caso do vídeo, estão, por exemplo: SDTV
A televisão, como os outros meios de comunica-
(Standard Digital Television) e HDTV (High
ção de massa, segue a tendência mundial do mo-
Definition Digital Television). O MPEG Sistema de-
vimento de digitalização através de um acelerado
fine formatos e protocolos para montagem de pa-
processo de substituição de suas plataformas
cotes para transmissão de fluxos elementares
analógicas por plataformas e tecnologias digitais
multiplexados. Os fluxos elementares transportam
interoperáveis.
streams de vídeo, áudio ou dados.

A primeira onda de impacto, já sentida internamen-


A terceira onda de impacto da TV Digital (TVD), a
te por várias redes de TV brasileiras, é a necessária
ser sentida após a adoção do padrão de DTT, é a
substituição dos equipamentos de captura, edição
necessidade de desenvolvimento de novos mode-
e transmissão interna de áudio e vídeo analógicos,
los de negócio que: (i) estimulem a população a
por similares digitais, visando melhoria da imagem
investir em equipamentos de TV de nova geração;
e som.
e (ii) permitam às redes obter retorno sobre os in-

A segunda onda de impacto, a ser sentida pelo vestimentos efetuados. Segundo esta visão, os

conjunto da sociedade, é a necessária adoção de recursos aplicados pelas cadeias de TV e pela au-

um padrão uniforme de sistema para codificação, diência televisiva devem ser encarados como in-

transmissão, modulação, difusão e recepção digital vestimentos que permitem a exploração de novos

de programas de televisão. No Brasil, este impac- negócios. A maior expectativa de retorno reside na

to será maior nos sistemas de TV Digital Terrestre interação. O canal de dados do MPEG-2 torna pos-

(DTT – Digital Terrestrial Television), comumente sível a agregação de elementos de interação aos

usados nos centros urbanos, onde o maior desafio programas de televisão, tornando-os “interativos”.

é a escolha técnica-econômica-social-política do A possibilidade de interação obriga que o aparelho

formato de modulação de sinais [37]. Está em dis- receptor de televisão tenha capacidade de proces-

cussão no país a definição do sistema a ser adota- sar o código que define os elementos de interação,

do para DTT. Tal discussão está sendo travada em o “código do programa de TV interativo” e,
torno do projeto do Sistema Brasileiro de Televi- opcionalmente, enviar o resultado da interação atra-
são Digital (SBTVD). Este projeto prevê o estudo vés de um “canal de retorno” para a estação emis-
dos sistemas já existentes – ATSC (americano), sora do programa interativo. A estação, conseqüen-
DVB (europeu) e ISDB (japonês) – e a proposta temente, também precisa estar equipada com
com base nas tecnologias já existentes, em exten- hardware e software adequados para dar suporte
sões ou mesmo em tecnologias desenvolvidas no aos “programas interativos”. Espera-se também
país, de um sistema que atenda aos requisitos que a rede difusora de TV se associe às outras
socioeconômicos do Brasil. Os sistemas de televi- redes de transporte de informações, dando aos
são já definidos convergem com relação ao forma- telespectadores oportunidade para influenciar di-
to adotado para a codificação digital dos dados a retamente nos programas assistidos. Em suma,
serem transmitidos: o padrão ISO MPEG-2. Este quando a TV se tornar interativa (TV Digital
padrão, que na realidade define não uma, mas um Interativa - TVDI), espera-se que a mesma venha
conjunto de normas, divide-se em MPEG Vídeo, a associar imenso apelo e penetração com capa-
MPEG Áudio e MPEG Sistema. O MPEG Áudio e cidade de interação instantânea com milhões de
o MPEG Vídeo especificam métodos para compres- telespectadores e com uma vasta cadeia de pro-
são e codificação de áudio e vídeo digital, respec- dutores de conteúdo.

30 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

Portanto, é preciso entender a TVDI como um novo São várias as vantagens de se utilizar o paradigma
meio a ser explorado que, não apenas no Brasil, de Desenvolvimento Orientado a Componentes.
mas em todo o mundo, só obterá sucesso através Por exemplo:
do desenvolvimento de novas aplicações, reorga-
nização das cadeias de produção televisiva, gera- • Possibilidade de reutilização de projetos e
ção de negócios e de transformações sociais. implementações – dependendo da granulari-
dade adotada, todo o projeto, ou parte dele,
Todas as propostas de sistemas de Televisão Digital pode ser utilizado na produção de outros siste-
especificam middlewares sobre os quais as aplica- mas ou, até mesmo, de outros componentes;
ções de TV Interativa podem ser executadas.
Middleware é o neologismo criado para designar ca- • Possibilidade de desenvolvimento em lar-
madas de software que não constituem diretamente ga escala – em função da possibilidade de
aplicações, mas que facilitam o uso de ambientes reuso, uma grande quantidade de componen-
ricos em tecnologia da informação. A camada de tes pode ser desenvolvida a partir de outros;
middleware concentra serviços como identificação,
autenticação, autorização, diretórios, certificados di- • Facilidade de testes – as funcionalidades dos
gitais e outras ferramentas para segurança [1]. componentes podem ser testadas separada-
mente, possibilitando uma prematura detecção
No contexto de TV Digital, o Middleware vem a ser e correção de problemas;
o software que controla suas principais facilidades
(grade de programação, menus de opção), inclusi- • Aumento de confiabilidade – em virtude da
ve a possibilidade de execução de aplicações, dan- facilitação dos testes, há a possibilidade de di-
do suporte à interatividade [1]. O middleware é um minuição do tempo de detecção e correção de
elemento capaz de fornecer uma abstração do sis- problemas;
tema para as aplicações e os usuários, esconden-
• Facilidade de atualização e crescimento fun-
do toda a complexidade dos mecanismos defini-
dos pelos hardware, software e interfaces de co- cional – os componentes podem ter sua funcio-

municação do aparelho receptor do sinal de televi- nalidade interna incrementada, sem acarretar

são digital. Dessa forma, a padronização de uma danos aos usuários, apenas mantendo-se as an-
camada de middleware permite a construção de tigas interfaces e incluindo outras novas;
aplicações independentes do hardware e do siste-
• Possibilidade de troca de componentes - tra-
ma operacional, executáveis em qualquer platafor-
balhando-se em um ambiente autoconfigurável,
ma de qualquer fabricante.
caso componentes apresentem defeito, estes
Desenvolvimento baseado em (ou orientado a) com- podem ser trocados por outros em perfeito fun-
ponentes [3][4] é um paradigma de desenvolvimen- cionamento.
to de software onde o processo de produção de um
Este trabalho apresenta uma proposta de middleware
sistema é feito através da construção de seus
para o Sistema Brasileiro de Televisão Digital, deno-
módulos (componentes) separadamente, sendo
minado FlexTV, cuja arquitetura interna é baseada
estes posteriormente interligados através de seus
pontos de conexão. Na visão de Pereira [3], qual- em componentes de software. Tal arquitetura possi-

quer elemento de software pode ser considerado bilita que os componentes que constituem o FlexTV

um componente, desde que possua uma interface possam ser adicionados, removidos ou alterados,
bem definida. Pereira visualiza o desenvolvimento fomentando a escalabilidade funcional desse
baseado em componentes como uma evolução di- middleware. Ou seja, novas funcionalidades podem
reta do paradigma de orientação a objetos. ser adicionadas ou removidas do FlexTV, de acordo

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 31


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

com a evolução dos Terminais de Acesso ou com o middleware para TV Digital é exposta; na Seção 5
surgimento de novos requisitos por parte de seus o middleware FlexTV é apresentado mais
usuários (telespectadores e emissoras). detalhadamente, e por fim (Seção 6) são descritas
as conclusões do trabalho.
Uma outra vantagem de adotar uma arquitetura
baseada em componentes de software é que al-
guns dos componentes internos do FlexTV podem
2. Embasamento Teórico
ser aderentes a padrões internacionais de
middleware para Televisão Digital Interativa, en- Um Sistema Básico de Televisão Digital (TVD) con-
quanto outros podem ser inovadores e mais ade- siste de uma estação transmissora ou head-end,
quados à realidade brasileira. Os componentes do um meio físico sobre o qual o sinal de vídeo é trans-
FlexTV que são aderentes a padrões internacio- mitido, que pode ser o ar ou meios físicos guiados
nais possibilitam o desenvolvimento de aplicações (cabo coaxial, fibra óptica etc.), e um Receptor Di-
que podem tanto funcionar no Sistema Brasileiro gital, incluindo um Set-Top Box ou Terminal de Aces-
de Televisão Digital quanto nos sistemas de outros
so, responsável por receber o sinal transmitido,
países; bem como a importação de aplicações de-
decodificá-lo e exibi-lo. Para garantir a compatibili-
senvolvidas para outros sistemas de Televisão Di-
dade entre esses elementos, é necessário que
gital Interativa. Já os componentes não aderentes
sejam estabelecidos padrões que normatizem todo
a padrões internacionais possibilitam o desenvol-
o processo de captura, compressão, modulação e
vimento de aplicações que tirem proveito de ca-
transmissão dos sinais de vídeo, além de todas as
racterísticas específicas do Sistema Brasileiro de
interfaces físicas entre os equipamentos envolvi-
Televisão Digital.
dos no processo. Para tanto, existem atualmente
Para ilustrar os benefícios que a arquitetura basea- diversas propostas de Sistemas de Televisão Digtal.
da em componentes do FlexTV pode trazer, consi- Dentre elas podemos citar: o DVB [5] (proposta
dere o caso de uma aplicação de comercio eletrônico européia), o ATSC [6] (proposta americana) e o
sendo executada no terminal de acesso de um ISDB [7] (proposta japonesa).
telespectador com deficiência visual. Nesse caso,
os componentes do FlexTV responsáveis por fazer Apesar de divergirem em vários aspectos, as prin-

a exibição dos elementos gráficos das aplicações cipais propostas de padronização para TVD con-

no televisor podem ser substituídos por outros com- vergem em pelo menos um ponto: Todas seguem

ponentes capazes de fazer a tradução de tais ele- o modelo de referência União Internacional de Te-
mentos em mensagens sonoras, possibilitando a lecomunicações – ITU [22] para transmissão dos
interação com os usuários portadores de deficiên- sinais de televisão digital. Este modelo divide as
cia, sem que seja necessária qualquer modificação funcionalidades do sistema (de transmissão) em
na aplicação original de comercio eletrônico que foi três camadas principais: (i) codificação do sinal-
transmitida pela emissora de televisão. fonte; (ii) multiplexação; e (iii) modulação, adotan-
do o padrão MPEG-2 como principal tecnologia nos
Este trabalho está organizado da seguinte forma: processos realizados nas camadas (i) – em parti-
seguindo a introdução, temos uma seção que visa cular, a codificação do sinal-fonte de vídeo – e (ii),
embasar o leitor acerca da teoria fundamental para enquanto que nos processos da camada (iii) cada
compreensão do texto (Seção 2 – Embasamento uma das propostas (DVB, ATSC e ISDB) adota uma
Teórico); na Seção 3 a especificação GEM (Globally solução diferente. As especificações MPEG-2
Executable MHP) é apresentada; logo em seguida [23][24][25][26][27] basicamente descrevem regras
(Seção 4) uma análise das propostas de sintáticas e semânticas que definem esquemas de

32 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

compressão, empacotamento e multiplexação de soal que essencialmente atua como um ponto cen-
sinais individuais de áudio, vídeo e outros tipos tral provedor de serviços para o usuário. A interação
dados digitais em um fluxo de transporte (TS – com o usuário pode ocorrer por dispositivos de
transport stream), permitindo transmitir em um úni- entrada - tais como, controle remoto e teclado, e
co canal físico vários “fluxos elementares”, que em dispositivos de saída – tais como, aparelhos de TV
conjunto representam um ou mais serviços de TVD. analógico ou digital, monitores de computador e
Adicionalmente, para mapear e indexar o conteú- sistemas de som. Acessórios e outros equipamen-
do do fluxo de transporte, cada padrão de TVD tos também podem ser conectados ao Terminal de
estende as tabelas PSI (Program Specific Acesso. A presença desses aparelhos diretamen-
Information) do padrão MPEG-2 definindo um con- te ligados à televisão na casa dos usuários e a pos-
junto de estruturas que possuem dados descriti- sibilidade de receber qualquer dado digital, além do
vos (metadados) que carregam informações de áudio e vídeo, motivou o desenvolvimento de aplica-
serviços (SI – Service Information) específicas do ções (software), tais como: jogos, grades de pro-
domínio de TVD. Podemos citar como principais gramação eletrônica, etc. A essas aplicações, com
padrões de SI para TVD: DVB-SI [22], ATSC-PSIP as quais os telespectadores podem interagir atra-
[23], ISDB-SI [24], respectivamente, especificações vés do aparelho de televisão, mas sem o envio de
do padrão europeu, americano e japonês. dados à estação transmissora ou head-end, da-
mos o nome de Aplicações de Televisão Digital
O conceito de fluxos elementares multiplexados Interativa com Interação Local. Com o aprimora-
com informações de serviço num único fluxo de mento dos Terminais de Acesso, os mesmos co-
transporte permite que sejam codificados e trans- meçaram a ser dotados de interfaces que
portados em paralelo um ou mais fluxos de vídeo, possibilitam o estabelecimento de canais de
por exemplo, gerados por câmeras diferentes em interação com os head-ends, por exemplo, modems
uma partida de futebol; um ou mais fluxos de áudio, telefônicos, interfaces de rede e etc. Os canais de
transportando, por exemplo, os seis canais de áudio interação possibilitam então que dados sejam en-
utilizados na sonorização de home theaters; ou, viados do usuário para o head-end e vice versa. O
generalizando, qualquer tipo de dado digital. A via- surgimento desses canais deu origem a um novo
bilidade de transportar e identificar qualquer tipo grupo de aplicações, as chamadas Aplicações de
de dado em um fluxo elementar abriu novas possi- Televisão Digital Interativa com Interação Remota,
bilidades de expressão de informação nos conteú- ou simplesmente Aplicações de TV Digital Interativa
dos transmitidos na rede de televisão. Por exemplo, – TVDI. São exemplos desse tipo de aplicações:
podem ser transmitidos textos com legendas; ima- aplicações de comércio eletrônico, acesso bancá-
gens com propaganda que podem ser exibidas em rio, jogos multi-usuário etc.
painéis virtuais; códigos definindo elementos de
Visando facilitar o desenvolvimento das aplicações,
interação, que podem ser então associados aos
garantir a compatibilidade das mesmas com as di-
programas de televisão tornando-os interativos; ou
versas arquiteturas de Terminais de Acesso exis-
mesmo códigos de programação executáveis.
tentes e ocultar particularidades e diferenças do
Uma vez entregue um fluxo de transporte, para que hardware e sistema operacional, as principais pro-
o mesmo possa ser demultiplexado, decodificado e postas de Sistema de TVD trazem, além da
exibido para o telespectador, se faz necessária a uti- especificação das interfaces de meio físico e da
lização de um Terminal de Acesso. Tal equipamento codificação dos sinais de transmissão, propostas

é uma combinação de elementos de arquitetura de de middlewares para Televisão Digital com uma

um receptor de sinais digitais e um computador pes- Interface para Programação de Aplicações

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 33


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

(Application Programing Interface – API) bem defi- cas para o contexto de TVD; (ii) JMF [32] que defi-
nida. Dentre as principais propostas de middleware ne o comportamento e a interação de objetos de
para TVDI podem ser citados: o MHP [8] para o mídia contínua. A JMF é utilizada para capturar,
sistema DVB, o DASE [9] e o ACAP [10] para o sis- processar e apresentar alguns tipos de mídias con-
tema ATSC, o ARIB-STD 24 [7] para o sistema ISDB tínuas; (iii) DAVIC [34], que define requisitos de sis-
e o OCAP [11], definido pela CableLabs para o sis- temas audiovisuais para prover interoperabilidade
tema de TV a cabo norte-americano. Todos esses fim-a-fim; e (iv) HAVi [33], que estende o pacote
middlewares oferecem mecanismos para carregar gráfico padrão do Java (AWT) e adiciona funciona-
o código dos aplicativos recebidos a partir do head- lidades para prover suporte a controle remoto, grá-
end, e executá-los. Além disso, esses middlewares fico específico para TVD, entre outros.
também oferecem serviços que permitem: (i) ge-
rência de aplicações e recursos do middleware; (ii) As primeiras plataformas para serviços interativos
comunicação entre aplicações e processos; (iii) de TV Digital foram implantadas no final da déca-
processamento (decodificação e exibição) de da de 90 de acordo com uma divisão em blocos
mídias; (iv) sincronismo; (v) seleção e acesso e in- macroeconômicos, políticos, geográficos. Conse-
terpretação de fluxos elementares e informações qüentemente, esse cenário resultou em muitos
de serviço; (vi) tratamento de eventos e elementos padrões, tecnologias e equipamentos distintos e
áudio-visuais de interface com o usuário; (vii) tornou-se o principal motivo da incompatibilidade,
armazenamento, localização e recuperação de da- que não permite que uma aplicação, serviço ou
dos locais; e (viii) controle do ciclo de vida das apli- conteúdo criado para uma plataforma específica
cações. Outras funcionalidades podem ser seja portável para outras plataformas do mesmo
oferecidas de acordo com o middleware e com os mercado, sem algum mecanismo de conversão
recursos presentes no Terminal de Acesso, tais técnica. Entretanto, nos últimos anos, vários esfor-
como sistemas de acesso condicional, acesso a ços têm sido elaborados com o propósito de ex-
dados remotos, perfis de usuários, acesso ao flu- pandir o cenário de TVD, integrando-a assim aos
xo de áudio e vídeo principal sendo exibido. cenários de convergência da tecnologia digital.

Observando um middleware como uma base de A convergência tecnológica permite a integração


software que abstrai detalhes e permite às aplica- de serviços de propósitos complementares e sua
ções o acesso a recursos básicos do Terminal de disponibilidade para múltiplos terminais de diferen-
Acesso, através de componentes, funções de alto tes características. Desta maneira, é possível inte-
nível, estruturas de dados e protocolos que repre- grar as redes de transmissão digital de telefonia
sentam um conjunto de APIs, temos a tecnologia celular, de dados (Internet) e de TVD e conseqüen-
1
Java da Sun Microsystems como peça central temente, seus serviços e conteúdos. Para isso é
desse conjunto de software (APIs) e que, atualmen- necessário desenvolver, implementar e implantar
te, está presente em todos os padrões de uma série de itens tecnológicos, como: (i) gateways
middleware já citados. No contexto dos padrões de conversão de: protocolos, modulação e forma-
DASE, ACAP, OCAP, ARIB STD 24 e MHP as prin- tos (resolução e qualidade das mídias); (ii)conteúdo
cipais APIs Java presentes são: (i) JavaTV [31], com interatividade compatível para os diversos ter-
que viabiliza o desenvolvimento de aplicações minais; e (ii) e plataformas de execução
interativas portáteis, que são independentes da (middlewares) compatíveis.
tecnologia do hardware e da rede de difusão utili-
zados. Ela estende o pacote J2ME (Java 2 Platform, Como forma a prover uma padronização única para
Micro Edition) e adiciona funcionalidades específi- middleware de TV digital, está sendo desenvolvido

34 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

o padrão GEM (Globally Executable MHP), con- Para que aplicações MHP pudessem ser utiliza-
tendo um conjunto de funcionalidades básicas (por das sobre outras plataformas, conforme requisita-
exemplo, a compatibilidade com a tecnologia Java do por entidades tais como CableLabs (EUA) e
e utilização de APIs comuns) a todos os outros ARIB (Japão), o grupo DVB tomou a decisão de
padrões de middleware. Nota-se, portanto, que é propor uma especificação única chamada GEM
desejável que qualquer middleware a ser desen- (Globally Executable MHP) [12]. Além de capturar
volvido para TV digital seja compatível com o mo- as interfaces e toda a semântica definidas pelo MHP
delo GEM, de forma a possibilitar a execução de (independentes da plataforma DVB), o GEM for-
um maior número de aplicações disponíveis e a nece também suporte às necessidades impostas
serem desenvolvidas. Desta forma, na próxima por outros padrões internacionais. Ou seja, GEM é
seção detalharemos o GEM. um acordo de harmonização. Por isso, a CableLabs
participou da composição da primeira versão do
GEM com o intuito de tornar o middleware OCAP
3. GEM (Globally Executable MHP) (Open Cable Application Platform) [11] compatível
com o GEM. Recentemente, o middleware japo-
nês ARIB e o candidato a padrão americano ACAP
Com a rápida evolução e popularização do
também tornaram-se compatíveis com o GEM.
middleware europeu MHP entre os diversos paí-
ses que utilizam o padrão DVB, surgiram algumas
Formalmente, GEM não pode ser considerado uma
iniciativas para sua implementação sobre outras pla-
especificação completa para terminais de acesso.
taformas internacionais. Certas entidades respon-
O correto é dizer que GEM é um framework a partir
sáveis pela padronização de sistemas de TV Digital
do qual uma implementação de um terminal de aces-
fora da Europa manifestaram o interesse em ter
so pode ser instanciada; ou ainda, que GEM é um
parte do middleware MHP implementado em suas
padrão ao qual implementações existentes devem
especificações, como forma de se aproveitar todo
se adaptar para obter uma conformidade que ga-
seu desenvolvimento tecnológico e manter uma
ranta a execução global de aplicações. O padrão
compatibilidade que permitisse que as aplicações
define, portanto, um conjunto de APIs, garantias de
já existentes (e futuras) pudessem ser executadas
semântica e formatos de conteúdo com os quais as
ou apresentadas em terminais de acesso compatí-
aplicações (agora globalmente interoperáveis) po-
veis com outros sistemas.
dem contar para a implementação de serviços

O padrão MHP é especificado com o objetivo prin- interativos, executáveis em qualquer plataforma

cipal de prover uma abstração do terminal de aces- definida pelos padrões internacionais compatíveis.

so e das redes de comunicação para as aplicações Para a criação de middlewares em conformidade,


e serviços interativos, de forma que estes não se torna-se obrigatório referenciar por completo a
preocupem com os mecanismos e protocolos defi- especificação GEM, de forma a preencher todos os
nidos no sistema. Por outro lado, por ter sido cria- seus requisitos obrigatórios.
do pelo grupo DVB, o MHP é uma implementação
que se encontra atrelada aos protocolos e Os principais objetivos da especificação GEM são

especificações próprias de terminais DVB. Alguns os seguintes:

exemplos dessa dependência estão nos pacotes


do MHP que fazem acesso às informações de ser- • Maximizar a interoperabilidade entre especifi-
viços (DVB-SI) e naqueles que compõem o siste- cações de terminais baseados no GEM e pro-
ma de legendas (DVB-SUB). duzidos por diferentes organizações;

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 35


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

• Maximizar a presença de componentes MHP, Assim, GEM se concentra na parte estritamente


promovendo economia de escala para toda a comum dos middlewares, especificando, por exem-
cadeia de difusão interativa, dado o parque de plo, um conjunto de protocolos de rede para ca-
tecnologia MHP já instalado, o conhecimento já nais de retorno e de difusão, formatos de conteúdo
adquirido e o volume de conteúdo já produzido; para exibição e o uso da máquina virtual Java e das
APIs de extensão para TV. Para a parte funcional-
• Ser capaz de respeitar as restrições impostas mente comum, mas específica de plataforma, cabe
pelas tecnologias de transporte e pelos mode- aos padrões internacionais submeter seus equiva-
los de negócio locais. lentes. Por exemplo, o padrão ACAP acumula fun-
ções do DASE e do OCAP para preencher as
Por definir um framework baseado no padrão MHP,
lacunas do framework. O middleware MHP, por ser
o documento de especificação do GEM é, na reali-
a base do framework, funciona como alicerce para
dade, uma listagem de referências a outros docu-
definição de equivalentes funcionais, que são sem-
mentos do consórcio DVB. Ele descreve as diversas
pre referenciados na especificação GEM. Os prin-
partes do MHP que são independentes do padrão
cipais pontos de flexibilização redefinidos pelo
DVB e salienta aquelas que devem ser substituí-
ARIB, por sua vez, especificam um conjunto dife-
das de acordo com a infra-estrutura de implemen-
rente de protocolos de rede e de informações so-
tação das novas especificações compatíveis. Esses
bre serviços. Vale ressaltar que, apesar de não
pontos de flexibilização do GEM devem ser, então,
ilustrado na Figura 1, cada middleware define seu
preenchidos por “equivalentes funcionais” – meca-
próprio modelo de aplicações declarativas, porém
nismos que lançam mão de outras tecnologias (de-
esse item é considerado como “não-relevante” para
finidas pelas respectivas organizações de TV
a especificação GEM. Outro ponto digno de nota é
digital) para implementar uma funcionalidade aná-
a ausência do middleware DASE no cenário de
loga àquela proposta pelo DVB. Tais tecnologias
convergência, que se deve ao fato de o ATSC ter
passam a ser qualificadas como equivalentes funcio-
partido para uma harmonização com o OCAP sur-
nais somente após negociações entre o consórcio
gindo, então, o ACAP, como caminho para a defini-
DVB e cada uma das organizações que requisitam a
ção de um middleware compatível com o GEM.
conformidade com o GEM.

A Figura 1 ilustra o cenário de convergência dos


padrões de middleware de TV Digital em relação à
especificação GEM. Os padrões OCAP, ACAP, ARIB
e MHP definem cada qual seu conjunto de especifi-
cações para o gerenciamento de aplicações
interativas e outros serviços importantes em TV Di-
gital. Muitas dessas especificações se relacionam
diretamente com os respectivos padrões de termi-
nais de acesso, sendo óbvio, portanto, que boa par-
te delas esteja atrelada aos padrões internacionais
de TV Digital. Porém, de uma forma geral, pode-se
concluir que, em meio à heterogeneidade de defini-
Figura 1. Relação entre a especificação GEM e
ções, existe um conjunto de funcionalidades equi- outros padrões.
valentes, capturadas pelo GEM.

36 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

3.1. Definição de perfis GEM e requisitos Itens obrigatórios para o perfil Interactive
de compatibilidade Broadcast

Terminais GEM podem ser classificados pelos perfis • Formatos estáticos: JPG sem restrições
herdados do padrão MHP. Os requisitos de com- • Protocolos de difusão: IP Multicast sobre difu-
patibilidade são especificados apenas para os perfis são (recomendável)
Enhanced Broadcast e Interactive Broadcast.
• Protocolos para o canal de retorno: TCP/IP,
Itens Obrigatórios em ambos os perfis UDP/IP, DNS
• Formatos estáticos: PNG, MPEG I-Frames, • DVB-J: APIs de suporte a IP e de segurança
JPG, MPEG Audio Layers 1 e 2, MPEG-2 Video sobre o canal de retorno.
Drips e texto UTF-8

• Formatos de streaming: Pelo menos um for- 3.2. Equivalentes Funcionais


mato de áudio e um formato de vídeo, a serem
Uma extensa tabela de equivalentes funcionais é
preenchidos por equivalentes funcionais.
especificada em [12]. Ela define os pontos de
• Fontes: Teresias e suporte a fontes carregáveis. flexibilização deixados em aberto pelo framework
• Protocolos de difusão: Seções MPEG-2, GEM e qual seu correspondente na arquitetura
Carrossel de Objetos (ou equivalente) MHP. A Tabela 1 traz os equivalentes funcionais
relevantes para este trabalho e indica a
• DVB-J: APIs fundamentais, APIs de apresen-
obrigatoriedade de preenchimento pelos padrões
tação, APIs de acesso a dados encapsulados,
candidatos à conformidade com GEM.
APIs de acesso a informações sobre serviços,
APIs de infra-estrutura e de segurança.

Tabela 1. Equivalentes Funcionais GEM.

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 37


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

O resultado dos esforços do GEM originou a primei- preocupou com a definição do modelo de apresen-
ra versão da especificação técnica no início de 2003 tação de documentos declarativos.
(1.0.0). A versão atual (1.2.1) data de maio de 2004.
Independente do tipo de aplicação, cabe ao
Há vertentes que garantem que o GEM atingiu uma middleware fornecer mecanismos de abstração dos
maturidade no que diz respeito à sua especificação, recursos e dos serviços de comunicação do termi-
e que em versões futuras as alterações serão rela- nal de acesso. Dessa forma, as aplicações ficam
tivamente simples, sem muitos elementos opcionais independentes da plataforma de hardware do ter-
adicionais. No entanto, algumas mudanças podem minal e, com a harmonização rumo ao padrão GEM,
surgir em relação a dois aspectos: funcionalidades tendem a ficar independentes dos esquemas de
como aplicações Web, pois devem ser estabeleci- transporte dos dados e metadados. Nesse contex-
dos fundamentos comuns entre OCAP, ACAP e to, torna-se clara a importância do uso de lingua-
MHP; e uso de APIs de smart cards. gens de programação procedurais e declarativas
que facilitam tal interoperabilidade. Por essa razão,
todos os sistemas de TV digital adotaram
4. Avaliação das propostas de Middleware middlewares baseados na máquina virtual Java e
para TV Digital em linguagens declarativas cujos interpretadores
também são facilmente portáveis.
De uma forma geral, pode-se dizer que todos os
padrões de middleware definem dois tipos de apli-
Podem-se levantar aspectos pontuais nos quais
cações a serem executadas em terminais de aces-
existem divergências entre os padrões de
so de sistemas de TV Digital: aplicações procedurais
middleware. Por exemplo, para se adicionar novas
e aplicações declarativas.
funcionalidades ao middleware DASE é necessá-
rio o acréscimo de novos interpretadores para di-
As aplicações procedurais correspondem a progra-
mas de computador formados por comandos ou ferentes aplicações. Dependendo do tipo de apli-

instruções a serem interpretados ou executados no cação (declarativa ou procedural) para o qual o

Terminal de Acesso, para realizarem algum tipo de interpretador foi projetado, o mesmo será alocado

processamento de dados e interface com o usuá- no respectivo ambiente de execução. Já no MHP,


rio. Os padrões de middleware convergem para o os interpretadores são chamados de plug-ins e têm
uso da máquina virtual Java e de algumas APIs de funcionalidade análoga à dos interpretadores do
extensão como modelo de execução de aplicações DASE, podendo ser alocados em diferentes ambi-
procedurais. Isso favoreceu o estabelecimento do entes de execução. No ARIB, por sua vez, apenas
framework GEM (Globally Executable MHP), con- plug-ins relacionados a aplicações procedurais
forme explicado na Seção 3, e sua adoção por vá- podem ser adicionados ao middleware, pois o mes-
rios padrões. mo trabalha com a forma declarativa exclusivamen-
te através da linguagem BML (Broadband Markup
As aplicações declarativas são, na realidade, do- Language) [7].
cumentos hipermídia a serem apresentados no
Terminal de Acesso, com intuito principalmente in- A definição de perfis de plataforma também apre-
formativo, e que possibilitam o encadeamento de senta diferenças. O perfil Enhanced Broadcast do
diversos documentos. Nesse ponto, no entanto, MHP corresponde ao DASE nível 1, ambos sem
cada padrão de middleware estabeleceu uma lin- canal de retorno e destinados apenas à difusão de
guagem diferente para a descrição de documen- TV digital. O DASE nível 2 inclui suporte para crité-
tos. Cabe destacar que o framework GEM não se rios de segurança e pequenas condições de

38 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

interatividade, enquanto o perfil Intercative 5. Middleware FlexTV


Broadcast do MHP possui boa interatividade,
Da mesma forma que as várias propostas de
disponibilizando o suporte ao protocolo IP sobre o
middleware citadas na Seção 4, o Middleware de
canal de retorno. O DASE nível 3 e o perfil Internet
Access do MHP têm como foco a interatividade e a referência FlexTV, elaborado no contexto do Sis-

integração com a Internet, necessitando, como tema Brasileiro de Televisão Digital, foi concebido

conseqüência, de um maior poder de com o objetivo de possibilitar a execução de apli-

processamento (processadores e memória) nos cações computacionais nos Terminais de Acesso,

terminais de acesso. isolando das mesmas as características específi-


cas do hardware e do sistema operacional dos re-
O middleware ARIB não entra em detalhes sobre feridos Terminais.
perfis em suas especificações disponíveis, mas
sabe-se que existem perfis que definem como se O FlexTV possibilitará a execução de aplicações,
dá apresentação de aplicações nos terminais de sejam elas desenvolvidas em linguagem procedural
acesso [7]. Perfis de apresentação especificam a ou em linguagem declarativa. No entanto, tais lingua-
forma de exibição de aplicações para os usuários, gens de desenvolvimento devem ser independentes
considerando restrições como mobilidade e tipo de de plataforma. O FlexTV incluirá implementações de
display. Para a adaptação correta de perfis, o ARIB uma máquina virtual e de um interpretador que pos-
define padrões de conformidade que se prendem sibilitem respectivamente a execução de aplicações
aos tipos de funcionalidades que cada classe de procedurais e de aplicações declarativas.
hardware pode ter.
Para funcionarem sobre o FlexTV, as aplicações
O sistema ACAP, por sua vez, define os perfis procedurais devem ser desenvolvidas na lingua-
ACAP-X only e ACAP-X & ACAP-J, que, em con- gem Java [21]. Essa escolha é justificada princi-
formidade com o GEM, são equivalentes funcio- palmente pelos benefícios advindos do alinhamento
nais aos perfis do MHP. com outros padrões internacionais, tendo em vista
que essa é a linguagem de desenvolvimento su-
Apesar da grande quantidade de serviços e funcio- portada pelos principais middlewares para Televi-
nalidades oferecidas pelos middlewares propostos são Digital existentes no mundo [8][9][10][6][11][12].
pelos principais Sistemas de Televisão Digital exis-
tentes, inclusive o próprio GEM, a grande maioria Já no que concerne ao desenvolvimento das apli-
deles não oferece os serviços inerentes aos cações declarativas, será utilizada a linguagem NCL
middlewares de nova geração, tais como sensibili- [35]. Essa escolha é pautada pelo fato da mesma
dade ao contexto, reconfigurabilidade, adaptabilida- ser uma linguagem extremamente flexível, possibi-
de, reflexibilidade, ubiqüidade, mobilidade etc., ou litando o desenvolvimento de aplicações bastante
mesmo alguns serviços comumente encontrados complexas, mas ao mesmo tempo oferecendo um
nos middlewares de propósito geral, como provisão alto nível de abstração para os autores. Além disso,
de QoS, tolerância a falhas etc. Por este motivo, essa linguagem permite tratar as especificações
novas propostas de middleware para TVDI têm sido declarativas constantes nas principais propostas de
apresentadas na literatura contemplando esses ser- middlewares existentes no mundo como objetos
viços. No caso do FlexTV, tais serviços podem ser (fragmentos) de um documento NCL que pode pos-
implementados através de componentes de software suir relacionamentos de sincronização com outros
desenvolvidos e incorporados ao middleware com objetos do documento. Assim sendo, aplicações
estas finalidades. declarativas que forem desenvolvidas para tais

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 39


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

middlewares poderão funcionar no middleware bra- aplicações, o middleware deverá disponibilizar uma
sileiro. Aplicações que forem desenvolvidas para o API reduzida em linguagem nativa.
FlexTV, mas também com vistas no mercado inter-
nacional, poderão funcionar em middlewares de Visando promover a inclusão social e digital da

outros países, com algumas restrições, através de população brasileira, é extremamente importante

conversões automáticas. Finalmente, as aplicações que o middleware a ser adotado no Sistema Brasi-

que forem desenvolvidas exclusivamente para o leiro de Televisão Digital permita o desenvolvimen-

mercado nacional poderão se beneficiar de todas to das aplicações mais adequadas à realidade des-

as facilidades apresentadas pela linguagem NCL. se público, realidade esta que é diferente daquela
encontrada em outros países que já possuem sis-
As aplicações para televisão digital podem ser tema de televisão digital definido. Não obstante,
transmitidas através dos canais de televisão para esse middleware também deve possuir alinhamento
os Terminais de Acesso, juntamente com os fluxos com outros padrões internacionais, de forma a pos-
de áudio e vídeo do canal. Cabe ao middleware sibilitar a exportação do conteúdo televisivo pro-
perceber a chegada de tais aplicações e apresentá- duzido no país, bem como a exibição de conteúdo
las aos usuários no momento adequado, de acor- produzido no exterior.
do com marcações transmitidas.

5.1. Arquitetura do FlexTV


Visando proporcionar um bom desempenho, algu-
mas aplicações mais usuais devem permanecer re- Visando atingir os objetivos expostos no parágrafo
sidentes no próprio Terminal de Acesso, mesmo
anterior, uma arquitetura de referência para o
quando ele for desligado. Tais aplicações devem
middleware do Sistema Brasileiro de Televisão Di-
estar disponíveis para o usuário no momento em
gital é proposta neste trabalho. Conforme mencio-
que ele ligar o Terminal de Acesso e devem ser
nado anteriormente, a principal característica des-
descorrelacionadas de qualquer canal de transmis-
sa arquitetura é a utilização de uma abordagem
são. Outras aplicações podem ser instaladas no
baseada em componentes de software que permite
Terminal de Acesso via canal de broadcast (quando
que funcionalidades do middleware sejam acrescen-
forem disponibilizadas pela transmissora de televi-
tadas, removidas ou modificadas, através da altera-
são) ou via canal de interação. É responsabilidade
ção de seus componentes internos. Essa aborda-
do middleware notificar o usuário sobre a disponibi-
gem permite que seja traçada uma estratégia de
lidade de novas aplicações e, quando autorizado
evolução para as funcionalidades a serem ofereci-
pelo mesmo, tornar tais aplicações residentes. O
das pelo middleware. A estratégia adotada parte de
middleware também deverá possibilitar que o usuá-
uma configuração inicial para o middleware compa-
rio remova as aplicações pelas quais não tenha mais
tível com aquela especificada pelo framework GEM
interesse; com exceção das aplicações pré-instala-
- Globally Executable Multimedia Home Plataform;
das, que só devem poder ser alteradas mediante
e prevê que tal configuração seja paulatinamente
uma atualização do código do Terminal de Acesso.
ajustada, através da substituição de componentes,
As aplicações residentes podem ser desenvolvidas de forma a tornar o middleware cada vez mais ade-
na linguagem Java, se beneficiando de todas as fun- quado às necessidades brasileiras.
cionalidades oferecidas pelas APIs do FlexTV, mas
A Figura 2 apresenta os principais elementos
também podem ser desenvolvidas na linguagem
arquiteturais que constituem o FlexTV. Esses ele-
nativa do Terminal de Acesso. Nesse caso, tais apli-
mentos por sua vez estão divididos de acordo com
cações são denominadas aplicações residentes
suas funcionalidades em sete grupos principais:
nativas. Para facilitar o desenvolvimento dessas

40 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

Componentes de Acesso a Fluxos de Baixo Nível Componentes de Comunicação – São respon-


– Contêm os elementos responsáveis por acessar sáveis por promover a comunicação entre as apli-
os fluxos de transporte, processá-los e cações que estão sendo executadas sobre o
demultiplexá-los nos vários fluxos elementares que middleware, bem como das mesmas com outras
os constituem. aplicações (externas).

Componentes de Processamento de Fluxos Ele- Componentes de Gerenciamento – Responsá-


mentares – Contêm os elementos responsáveis veis por promover o gerenciamento do middleware
por processar os fluxos elementares, decodifican- (monitoramento de contexto, atualização de códi-
do-os e disponibilizando-os para as camadas su- go etc.) e das aplicações (controle de ciclo de vida,
periores. Por exemplo, decodificadores de áudio, controle de falhas etc.)
vídeo etc.
Componentes de Persistência – Responsáveis
Componentes de Interface com Usuários – Reú- por armazenar dados de forma persistente.
nem os elementos responsáveis por proporcionar a
interação com os usuários através da apresentação Componentes de Acesso Condicional - Respon-

de elementos audiovisuais, bem como através da sáveis pela segurança dos conteúdos de acesso

coleta de eventos gerados pelos usuários. restritos veiculados pelos canais de TV.

Figura 2. Arquitetura de Alto Nível proposta para o FlexTV.

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 41


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

Esses grupos, por sua vez, são constituídos pelos quais fluxos de áudio, vídeo e legenda devem ser
seguintes elementos: decodificados, iniciar e parar a decodificação de
mídias, acelerar e desacelerar o processamento
Acesso a fluxos de baixo nível das mídias etc. Também é de responsabilidade
desse componente o processamento de mídias
Sintonizador – Elemento responsável por selecio-
como: HTML, XML e NCL. Na realidade, nesse
nar um canal físico bem como um dos fluxos de
caso, o componente possui sub-componentes que
transporte que estão sendo transmitidos sobre o
atuam como formatadores ou processadores es-
canal selecionado.
pecíficos para cada um desses tipos de mídia.
Servidor de Informações de Fluxos – Respon- Operações de escrita direta nos decodificadores
sável por identificar e informar aos elementos das por hardware devem ser providas, objetivando a
camadas superiores quais os fluxos elementares exibição de mídias cujas fontes de dados são
que estão presentes no fluxo de transporte selecio- fornecidas pelas aplicações. Métodos de pré-car-
nado pelo componente Sintonizador. Esse compo- regamento de mídia devem ser desenvolvidos com
nente também deverá ser capaz de prover para as o intuito de manipular arquivos oriundos do DSM-
camadas superiores a meta-informação acerca dos CC [27] e/ou de alguma outra forma de transporte
fluxos elementares que é transmitida pelo head- que utilize canal de retorno. A API para controle de
end. Por exemplo, informação sobre agendamento processamento de fluxos multimídia contínuos deve
de programas, sobre as opções de legenda dispo- ser baseada no JMF 1.0, uma vez que este é um
níveis para um dado programa etc. O projeto inter- ponto de convergência da maioria dos padrões de
no desse componente deve possibilitar a fácil TV Digital, o que representa um meio para manter
inclusão de sub-componentes capazes de interpre- a compatibilidade e uma forma de integração com
tar os bitstreams de informação de diversos pa- estes padrões.
drões de TV Digital, tornando o middleware mais
independente dos possíveis padrões de transmis- Processador de Fluxos de Dados – Responsável
são a serem adotados. por acessar, processar e disponibilizar para as ca-
madas superiores os fluxos elementares de dados
Demultiplexador – Responsável por disponibilizar, tais como carrossel de dados, fluxos IP transmitidos
para as camadas superiores, de acordo com suas via canal de broadcast etc. Esse componente deve-
necessidades, os fluxos elementares presentes no rá prover APIs através das quais as camadas supe-
fluxo de transporte. Esses fluxos elementares po- riores poderão acessar os fluxos de dados (carrossel
dem ser disponibilizados para algum componente de dados, fluxos IP etc.) transmitidos em fluxos ele-
de software do sistema (por exemplo, alguma apli- mentares do fluxo de transporte; bem como pode-
cação ou componente de processamento de fluxo rão ser notificadas da ocorrência de eventos como:
elementar) ou podem ser diretamente entregues chegada de aplicações, eventos síncronos e assín-
para algum componente de hardware (por exem- cronos DSM-CC etc.
plo, um decodificador de vídeo ou áudio).

Processamento de fluxos elementares Interface com usuários

Controlador de Processamento de Mídia – Res- Controlador de Apresentação de Mídia – Elemen-


ponsável por controlar o processamento dos ele- to responsável pela apresentação dos fluxos
mentos multimídia e disponibilizá-los para as multimídia (áudio, vídeo, imagens, texto, documen-
camadas superiores. É através da API desse tos HTML, NCL etc.) para o usuário. A exibição das
componente que se pode, por exemplo, selecionar mídias visuais deverá ocorrer em planos de apre-

42 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

sentação organizados hierarquicamente: Plano de Gerenciamento


Fundo, Plano de Vídeo e Plano Gráfico. É de res-
ponsabilidade desse componente prover e contro- Gerenciador de Aplicações – Responsável por:

lar o acesso a tais planos. carregar, configurar, instanciar e executar as apli-


cações que irão funcionar sobre o FlexTV, sejam
Gerenciador de Eventos de Usuários – Respon- elas procedurais ou declarativas; controlar o ciclo
sável por capturar os eventos gerados pelos usuá- de vida dessa aplicações, gerenciando seus esta-
rios, por exemplo, acionamento de teclas de con- dos; atribuir níveis de prioridade às mesmas; e iden-
trole remoto, teclado, mouse etc., e repassá-los tificar e tratar eventuais falhas nas aplicações;
para as aplicações interessadas, bem como para
o gerenciador de aplicações. Gerenciador de Middleware – Responsável por
possibilitar a atualização de código em tempo de
Elementos Gráficos – Implementam os principais execução do middleware, permitindo que compo-
elementos gráficos que constituem uma aplicação, nentes sejam substituídos para correção de even-
tais como: botões, caixas de texto etc. Tais compo- tuais erros de implementação ou mesmo alteração
nentes deverão poder ser organizados em cenas. de funcionalidades. Esse componente também é
Níveis de transparência podem ser associados aos responsável por fornecer às aplicações informa-
elementos, de forma a possibilitar a exibição dos ções acerca do contexto atual do Terminal de Aces-
elementos visuais que estão dispostos hierarqui- so. Contexto esse que é definido em termos de:
camente sob o elemento gráfico em questão. capacidade, utilização e disponibilidade de recur-
sos como CPU, memória, dispositivo de persistên-
Comunicação cia, rede etc.

Canal de Interação – Componente responsável Persistência


por prover interfaces que poderão ser utilizadas
pelas camadas superiores para acessar o canal de Gerenciador de Perfis – O objetivo básico desse
interação (canal de dados bidirecional que pode componente é fornecer para os demais componen-
ser utilizado pelas aplicações locais para se comu- tes internos do middleware, ou mesmo para as
nicarem com aplicações externas). Esse compo- aplicações, informações acerca das preferências
nente deverá considerar a utilização de canais de dos usuários que estão correntemente assistindo
interação intermitentes. Esse componente deverá a TV. Essas informações podem ser relativas às
também prover APIs que permitam: que dados se- preferências de horário para uso do canal de
jam transmitidos assim que o canal de comunica- interação, bloqueio e desbloqueio de canais, auto-
ção esteja disponível; que dados sejam transmiti- rização para uso de aplicações tarifadas ou de ca-
dos em horários pré-estabelecidos pelo usuário; ou nais de TV pagos etc.
mesmo que os dados sejam transmitidos em horá-
rios informados pelas aplicações. Nos dois últimos Persistência – Serviços destinados a permitir que

casos, o componente deverá configurar e colocar um objeto possa ser acessado após processo que o

em funcionamento o canal de interação caso o criou ter sua execução encerrada.

mesmo não esteja disponível.


Acesso condicional

Comunicação entre Aplicações – As interfaces


Acesso Condicional - O Acesso Condicional é um
desse componente podem ser utilizadas pelas apli-
módulo do middleware responsável pela seguran-
cações que estão sendo executadas sobre o
ça dos conteúdos de acesso restritos veiculados
middleware para se comunicarem entre si.
pelos canais de programação.

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 43


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

5.2. Classificação das APIs do FlexTV ção que desempenha. O conjunto das APIs imple-
mentadas por todos os sub-componentes consti-
A abordagem baseada em componentes para o
tuem a API do seu componente. O conjunto das
desenvolvimento da arquitetura do FlexTV permite
APIs de todos os componentes, por sua vez, cons-
que cada um de seus componentes seja compos-
tituem a API do middleware.
to por uma série de sub-componentes. Considere
por exemplo o caso do componente Apresentador A abordagem baseada em componentes possibili-
de Mídias. Esse componente que, como já foi dito ta que alguns sub-componentes do FlexTV apre-
anteriormente, é responsável por realizar a apre- sentem APIs que são especificadas por outros pa-
sentação dos diversos tipos de mídias no Terminal drões de middleware para TV digital. De maneira
de Acesso, é composto na realidade por uma série análoga, outros sub-componentes podem possuir
de sub-componentes, onde cada sub-componente as APIs que são específicas para o contexto brasi-
pode ser utilizado para apresentar um determina- leiro e, portanto, não são contempladas por outros
do tipo de mídia. Por exemplo, um sub-componen- padrões. Dessa forma, a API do FlexTV pode ser
te para apresentar vídeo, outro para áudio, outro categorizada em três grupos, representadas pelas
para legendas, e assim por diante. Cada sub-com- cores verde, amarela e vermelha, conforme mos-
ponente apresenta uma API apropriada para a fun- trado na Figura 3.

Figura 3. Classificação das APIs do FlexTV

A API verde está alinhada com outros sistemas in- aplicações desenvolvidas em outros países, para
ternacionais e visa garantir a compatibilidade do outros middlewares de TV Digital, possam ser exe-
FlexTV com tais padrões. Dessa forma, as aplica- cutadas no FlexTV, desde que a API do middleware
ções que forem desenvolvidas para o SBTVD e que para o qual a aplicação tenha sido desenvolvida
façam uso apenas da API verde poderão também seja compatível com a API verde do FlexTV. Em
ser executadas nos middlewares que disponibilizem suma, é a API verde do FlexTV que possibilita o
APIs compatíveis com a API verde do FlexTV. No intercâmbio de aplicações entre os países que ado-
sentido inverso, a API verde possibilita também que tam algum sistema de televisão digital. A API verde

44 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

é fortemente baseada na API do padrão GEM, ten- desenvolvidas para tal API sejam executadas em
do em vista que vários outros Sistemas de Televi- outros sistemas de televisão digital. Um exemplo
são Digital em outros países têm procurado adotar de funcionalidade que poderia ser disponibilizada
o GEM como middleware de referência (Seção 3). pela API amarela seria a apresentação de elemen-
tos gráficos mais complexos que os previstos no
Os telespectadores brasileiros possuem caracte- GEM. Aplicações desenvolvidas no Brasil e que
rísticas sócio-culturais e econômicas extremamente utilizem tal funcionalidade podem ser exportadas
heterogêneas. Algumas características divergem para outros países mediante o acoplamento de um
bastante daquelas apresentadas por outros países adaptador de software que possibilite que os ele-
que já adotaram algum sistema de televisão digi- mentos gráficos apresentados pela API amarela
tal. Por esse motivo, as aplicações de televisão di- sejam construídos a partir dos elementos gráficos
gital desenvolvidas para o público brasileiro podem apresentados pela API verde, ou seja, pela API do
apresentar recursos extremamente peculiares e país destino da exportação.
demandarem do terminal de acesso e do
middleware requisitos bastante específicos. No A API vermelha do FlexTV não possui nenhum grau
caso do middleware FlexTV, a API verde pode não de compatibilidade com APIs disponibilizadas por
ser suficiente para o desenvolvimento de aplica- outros sistemas de televisão digital. Dessa forma,
ções que melhor atendam às demandas do públi- as aplicações desenvolvidas utilizando tal API de-
co brasileiro. Assim sendo, se faz necessário que vem funcionar apenas no Brasil, inviabilizando a
o middleware FlexTV disponibilize APIs de desen- exportação das mesmas. Normalmente, a API ver-
volvimento que, mesmo não sendo totalmente com- melha está associada às características específi-
patíveis com aquelas constantes em outros cas do Terminal de Acesso. Por exemplo, essa API
sistemas de TV digital, são mais adequadas à rea- poderá estar associada a funcionalidades avança-
lidade brasileira. No FlexTV, essas APIs são clas- das como reconfiguração dinâmica do middleware.
sificas pelas cores amarelo e vermelho, conforme
ilustra a Figura 3. É importante destacar que a pre- 5.3. Aplicações residentes
sença dessas APIs no FlexTV não inviabiliza o in-
tercâmbio de aplicações com outros países que já Independente dos sistemas e padrões para televi-
adotaram algum sistema de TV digital. Desenvol- são digital, é prática comum a implementação de
vedores de aplicações para TV digital devem fazer aplicações residentes no terminal de acesso. Um
uso apenas da API verde quando houver a inten- exemplo deste tipo de aplicação encontrado na
ção de que essas aplicações sejam exportadas quase totalidade dos terminais de acesso é o Guia
para outros países. Num outro cenário, em que as Eletrônico de Programação (EPG, do inglês
aplicações são desenvolvidas unicamente para o Eletronic Program Guide). Visando atender os re-
Brasil, os desenvolvedores podem se beneficiar das quisitos definidos pelo governo brasileiro nos editais
funcionalidades disponibilizadas pelas APIs ama- que definiram o Projeto do Sistema Brasileiro de
rela e vermelha. Televisão Digital, o consórcio formado para propor
o middleware FlexTV projetou e está
As APIs amarela e vermelha diferem basicamente implementando as seguintes aplicações residen-
no que diz respeito ao grau de compatibilidade com tes para o terminal de acesso de referência:
a API verde, ou seja, com as APIs apresentadas
por outros Sistemas de Televisão Digital. No caso Navegador de Aplicações – Aplicação responsá-
da API amarela, adaptadores de software podem vel por carregar as outras aplicações residentes,
ser desenvolvidos para possibilitar que aplicações armazenar (instalar) e excluir (desinstalar) aplica-

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 45


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

ções com a anuência dos usuários. Também é fun- mitidos via broadcast. A aplicação de correio eletrô-
ção do navegador apresentar meta-informações nico vai além no processo de inclusão digital, uma
referente às aplicações residentes. vez que permite a atribuição de endereços eletrôni-
cos aos milhões de brasileiros que hoje não tem
Navegador de Áudio e Vídeo – Guia de progra- acesso à Internet. Esses brasileiros passarão a “fa-
mação Eletrônico que permite o acesso à grade zer parte” do “mundo digital”. Obviamente as apli-
de programação dos canais disponíveis. cações de folheio de documentos HTML e correio
eletrônico não terão todas as funcionalidades das
Gerenciador de Perfis de Usuários – Aplicação
aplicações semelhantes executadas em computa-
que permite que os usuários do Terminal de Aces-
dores conectados à Internet, principalmente no caso
so configurem suas preferências no que se refere
dos usuários que não dispõem de recursos para
à utilização deste equipamento. Essa aplicação
custear o canal de interação. Todavia, mesmo com
deve funcionar como interface entre o componen-
funcionalidade limitada, essas aplicações poderão
te Gerenciador de Perfis, anteriormente mencio-
representar um importante papel como primeiro con-
nado, e os usuários do sistema.
tato a estas tecnologias para os que hoje estão ex-
Correio Eletrônico – Aplicação de Correio Eletrô- cluídos do mundo digital.
nico (E-Mail) adaptada para televisão. O recebimen-
O navegador NCL visa fornecer aos projetistas de
to de mensagens via canal de difusão (broadcast) não
apresentações multimídia interativas a possibilida-
deve ter o compromisso de confirmação de entrega
de de projetar e executar suas aplicações em apa-
(eventualmente enviada para um grupo de usuários).
relhos de televisão, lançando mão de recursos so-
Essa aplicação deve prever a possibilidade de cria-
fisticados de sincronismo e controle da apresenta-
ção de pastas de mensagens personalizadas pelos
ção de mídias que não estão disponíveis em nave-
usuários. Como a conexão pode ser intermitente,
gadores HTML.
deve ser possível realizar uma discagem agendada
para enviar e receber as mensagens.

Navegador Web (HTML 1.1) – Navegador Web 6. Conclusões e Perspectivas Futuras


adaptado para Televisão.

Navegador NCL – Aplicação responsável por re- Este trabalho apresentou o FlexTV, uma proposta
ceber descrições de documentos multimídia/ de middleware para o Sistema Brasileiro de Televi-
hipermídia segundo o modelo conceitual hipermídia são Digital, cuja arquitetura interna é baseada em
NCM (Nested Context Model) [36] e controlar suas componentes de software. A abordagem baseada
apresentações. em componentes permite que as funcionalidades
disponibilizadas pelo FlexTV evoluam ao longo do
Os navegadores de áudio e vídeo e de aplicações, tempo, de acordo com o surgimento de novas
funcionando em conjunto com o gerenciador de tecnologias ou de novos requisitos por parte dos
perfis de usuários, fornecem para o usuário de tele- telespectadores ou mesmo dos provedores de con-
visão um guia de programação sofisticado. O nave- teúdo televisivo.
gador Web foi introduzido com o intuito de permitir o
folheio de páginas HTML simples, o que vem ao Visando promover a compatibilidade do FlexTV com
encontro de um dos objetivos do Projeto do Siste- os middlewares de outros Sistemas de Televisão
ma Brasileiro de Televisão Digital: a promoção da Digital e, dessa forma, possibilitar o intercâmbio de
inclusão digital através da possibilidade de usuários conteúdo televisivo entre os países que adotam tais
navegarem em documentos HTML simples trans-

46 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

sistemas, o FlexTV segue o framework GEM – guagem de programação nativa do Terminal de


Globally Executable MHP. O framework GEM é Acesso e mantidas residentes nesse aparelho,
adotado pelos middlewares das principais propos- enquanto outras são implementadas em Java e
tas de sistemas de televisão digital atuais, como é carregadas dinamicamente pelo middleware, após
o caso do ACAP (americano), ARIB (japonês) e terem sido transmitidas pela emissora de televisão.
MHP (europeu). Atualmente estão sendo realizados estudos para
se determinar quais tipos de aplicações devem
As funcionalidades dos componentes do FlexTV permanecer residentes e quais devem ser trans-
são disponibilizadas para as aplicações através de mitidas para os Terminais de Acesso.
suas interfaces de programação (Application
Programming Interface – API). As APIs do FlexTV Como perspectiva futura deste trabalho prevê-se
são classificadas de acordo com a sua aderência a adição de componentes que possibilitem que
ou não a padrões internacionais. Assim sendo, as sejam incorporadas ao FlexTV características ine-
APIs verdes do FlexTV são completamente ade- rentes aos middlewares de nova geração, tais
rentes ao framework GEM e as aplicações que uti- como: sensibilidade a contexto, adaptabilidade,
lizarem apenas essas APIs poderão ser executadas tolerância a falhas, entre outras. Tais característi-
em outros middlewares que sejam compatíveis com cas podem permitir, por exemplo, que o Terminal
o GEM. Já as aplicações que utilizem as APIs ama- de Acesso seja capaz de perceber quais
relas do FlexTV poderão ser exportadas desde que telespectadores estão fazendo uso da televisão em
sejam desenvolvidos adaptadores de software que um determinado momento e gerar um modelo de
permitam a sua execução em outros middlewares. preferências desses usuários com base nos seus
As APIs vermelhas do FlexTV, por sua vez, históricos de utilização. A partir desse modelo, o
disponibilizam as funcionalidades que servirão para Terminal de Acesso seria capaz customizar as apli-
atender as demandas específicas do Brasil. Assim cações interativas para os seus usuários correntes.
sendo, aplicações que façam uso das APIs verme- Esse é apenas um dos vários cenários possíveis com
lhas apenas poderão ser executadas no FlexTV. a evolução do FlexTV.
Cabe aos desenvolvedores decidir quais APIs as
suas aplicações devem utilizar, de forma a possi-
bilitar ou não que as mesmas sejam executadas Referências Bibliográficas
em outros Sistemas de Televisão Digital.
[1] RNP, GT Middleware. Disponível em <http://
Para uma prova de conceitos, os principais com- www.rnp.br/pd/gts2004-2005/middleware.html>.
ponentes do FlexTV foram implementados de for- Acessado em Maio de 2005.
ma a permitir a execução de algumas aplicações
[2] SET, Textos Importantes – SET. Disponível em
compatíveis com o GEM. Outros componentes es-
<http://www.set.com.br/textos_tvdigital.htm>.
tão sendo paulatinamente adicionados à
Acessado em Maio de 2005.
implementação de acordo com novos requisitos
colhidos a partir da submissão do sistema ao uso [3] Pereira, R., “Suporte ao desenvolvimento e uso
por parte de usuários selecionados. Esses requisi- de frameworks e componentes”. Tese de Doutora-
tos servem também para o refinamento dos com- do, UFRGS. Brasil. Março, 2000.
ponentes já existentes.
[4] Klabunde, C., “Um Estudo sobre Componentes
Na prova de conceitos, algumas aplicações mais de Software”. Relatório Técnico, UFRGS. Brasil.
comumente utilizadas são implementadas na lin- 1999.

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 47


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

[5] Digital Vídeo Broadcasting. Disponível em <http:/ Adaptativos”, Simpósio Brasileiro de Multimídia e
/www.dvb.org>. Acessado em Maio de 2005. Web, Salvador, Novembro de 2003.

[6] Advanced Television System Committee. Dis- [16] Gomes A.T.A., Colcher S., Soares L.F.G.
ponível em <http://www.atsc.org>. Acesso em Maio “Modeling QoS provision on Adaptable
de 2005. Communication Environments”. IEEE International
Conference on Communications, Helsinque, Fin-
[7] Association of Radio Industries and Business.
lândia, junho de 2001.
Disponível em <http://www.arib.or.jp>. Acessado
em Maio de 2005. [17] Elias, G., Lopes, A., Borelli, F., Magalhães, M.
F., “Exploring an Open, Distributed Multimedia
[8] Multimedia Home Platform. Disponível em <http:/
Framework to Design and Develop an Adaptive
/www.mhp.org>. Acessado em Maio de 2005.
Middleware for Interactive Digital Television

[9] DTV Application Software Enviroment. Disponí- Systems”. 9th ACM Symposium on Applied
vel em <http://www.dase.org>. Acessado em Maio Computing (SAC), Nicósia, Chipre, 2004.
de 2005.
[18] Lopes, A., Borelli, F., Elias, G., Magalhães, M.,
[10] CS/101A: Advanced Common Application “A Component-Based Configuration Framework for
Platform (ACAP). ATSC Proposed Standard, feve- Open, Distributed Multimedia Systems” 18th IEEE
reiro, 2004. Disponível em <http://www.atsc.org/ International Conference on Advanced Information
standards/cs_documents/cs_101a.pdf>. Acesso em Networking and Applications (AINA), Fukuoka, Ja-
Outubro de 2004. pão, 2004

[11] OpenCable – Specifications. Disponível em [19] Nelson, M. N., Linton, M., Owicki, S., “A highly
<http://www.opencable.com/specifications>. available scalable ITV system”, ACM SIGOPS
Acessado em Maio de 2005. Operating Systems Review , Proceedings of the
fifteenth ACM symposium on Operating systems
[12] ETSI. TS 102 819: Globally Executable MHP principles, December, 1995.
(GEM). ETSI Standard, maio, 2004. Disponível em
<http://webapp.etsi.org/workprogram/ [20] Omojokun, O., Isbell, C., “User modeling for
Report_WorkItem.asp?WKI_ID=19737>. Acessado personalized universal appliance interaction”, ACM
em Outubro de 2004. conference on Diversity in computing, October,
2003.
[13] Rodrigues R.F. “Formatação e Controle de
Apresentações Hipermídia com Mecanismos de [21] Sun, Java Plataform Specification. Disponível
Adaptação Temporal”. Tese de Doutorado, Depar- em <http://java.sun.com/j2ee/j2ee-1_4-fr-spec-
tamento de Informática,PUC-Rio, Março de 2003. license.html>. Acesso em Maio de 2005.

[14] Soares L.F.G., Rodrigues R.F., Muchaluat- [22] ITU-R: “A Guide to Digital Terrestrial Television
Saade D.C. “Modeling, Authoring and Formatting Broadcasting in the VHF/UHF Bands” – Document
Hypermedia Documents in the HyperProp System”. 11-3/3-E, ITU, Janeiro de 1996.
ACM Multimedia Systems Journal, Springer-Verlag,
8(2), 2000, pp. 118-134. [23] ISO/IEC 13818-1. Information technology —
Generic coding of moving pictures and associated
[15] Rodrigues R.F., Soares, L., “Provisão de QoS audio information: Part 1: Systems, 2000.
Inter e Intra Objetos de Mídia em Formatadores

48 | R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP


FlexTV — Uma Proposta de Arquitetura de Middleware para o Sistema Brasileiro de TV Digital

[24] ISO/IEC 13818-2. Information technology — [32] JMF. Java Media Framework (JMF). Disponí-
Generic coding of moving pictures and associated vel em: <http://java.sun.com/products/jmf/>. Aces-
audio information: Part 2: Video, 2000. so em Agosto de 2005

[25] ISO/IEC 13818-3. Information technology — [33] HAVi Level 2 Graphical User-Interface.
Generic coding of moving pictures and associated Specification of the Home Audio/Video
audio information: Part 3: Audio, 2000. Interoperability (HAVi) Architecture. HAVi, Inc. 2001.
Disponível em: <http://www.havi.org>. Acesso em
[26] ISO/IEC TR 13818-6. Information technology agosto de 2005.
— Generic coding of moving pictures and
associated audio information — Part 6: Extensions [34] DAVIC 1.4 Part 2 – DAVIC Specification
for DSM-CC, 1998. Reference Models and Scenarios, 1998. Disponí-
vel em: <http://www.havi.org>. Acesso em 10 ago
[27] ISO/IEC 13818-10. Information technology — de 2005.
Generic coding of moving pictures and associated
audio information — Part 10: Conformance [35] Soares, L.F.G.; Rodrigues, R.F. “Nested
extensions for Digital Storage Media Command and Context Model 3.0: Part 5 – NCL (Nested Context
Control (DSM-CC), 1999. Language)”. Relatório Técnico de Pesquisa da sé-
rie de Monografias do Departamento de Informática
[28] ETSI, ETSI EN 300 468: Specification for Service da PUC-Rio. 2005.
Information (SI) in DVB systems, novembro, 2000.
Disponível em <http://webapp.etsi.org/workprogram/ [36] Soares L.F.G., Rodrigues R.F. “Nested Context
Report_WorkItem.asp?WKI_ID=8191>. Acesso em Model 3.0: Part 1 – NCM Core”. Relatório Técnico de
Agosto de 2005. Pesquisa da série de Monografias do Departamento
de Informática da PUC-Rio. No. 12. abril de 2005.
[29] ATSC. A/65B: Program and System Information
Protocol for Terrestrial Broadcast and Cable, 2003. [37] Broadcast Papers. “TV Transmission Papers”.
Disponível em <http://www.atsc.org/standards/ Disponível em <http://www.broadcastpapers.com/
a_65b.pdf>. Acesso em Agosto de 2005. tvtran/tvtran.htm>. Acesso em junho de 2004.

[30] ARIB. ARIB STD-B10: Service Information for


Digital Broadcasting System, ARIB Standard, vs. Nota
3.8, junho, 2004. Disponível em <http://
1
A tecnologia Java inclui desde a linguagem de programa-
www.dibeg.org/aribstd/STD-B10-v3.8e.pdf>. Aces- ção, um conjunto de classes organizadas em bibliotecas (API
so em Outubro de 2004. Java), um formato de arquivo para as classes (arquivo class)
e uma máquina virtual, até os ambientes de execução e de-
[31] JavaTV. Java Technology in Digital TV Dispo- senvolvimento, também chamada de plataforma Java

nível em: http://java.sun.com/products/javatv/.


Acesso em 10 ago de 2005

R EVISTA DE E NGENHARIA DE C OMPUTAÇÃO E S ISTEMAS D IGITAIS | PCS | EPUSP | 49

Você também pode gostar