A Camada de Middleware

Arquitetura da TV Digital
Neste novo post, estarei falando um pouco mais a respeito da camada de middleware. A camada de middleware é um dos componentes mais importantes (se é que posso dizer isso) da arquitetura da TV Digital, já que é o middleware o responsável pela abstração e processamento dos dados recebidos das camadas inferiores. Mas antes de discorrermos sobre o assunto, vamos a uma definição de middleware:
Segundo CPQD, “o middleware de um sistema de Televisão Digital corresponde a uma camada, em software, de abstração do hardware, sobre a qual são estrutradas as aplicações, independentemente das peculiaridades do Terminal de Acesso.” Explicando melhor, a finalidade da camada de middleware é prover um serviço padronizado à camada de aplicação, ou seja, o middleware “abstrai”, “esconde” , todo processamento ocorrido nas camadas inferiores (codificação, transporte, transmissão). Para ser mais claro, uma pessoa que desenvolverá um software ou uma aplicação interativa pra TV Digital (programador) não precisa saber que aquele fluxo de dados (bits) que está sendo codificado na camada de codificação corresponde a uma stream de vídeo ou de áudio ou até mesmo corresponde a uma imagem no formato .png. Quem em sã consciência saberá que esse fluxo de bits: 1001000110000101010100101000001010101010101000011101010010111100 corresponde a uma imagem bmp ? (Cuidado, isto é apenas um exemplo, na verdade esses bits não representam nada ). Então a camada de middleware faz isso, ela faz toda essa abstração dos dados quem chegam (pela emissora por exemplo) e entrega o dado pronto para o programador, e diz: “Olha isso é uma imagem no formato jpg ou isso é um áudio no formato mp3”, o trabalho do programador então fica bem mais simples.
Em relação ao projeto de TV Digital, a inserção do middleware foi necessário para resolver um novo paradigma que surgiu: Como combinar a TV tradicional com um ambiente interativo, um ambiente o qual poderia receber textos, gráficos, streams de áudio, vídeo, e etc. Os projetistas perceberam então que as características necessárias para o novo modelo são encontradas no ambiente Web: representação gráfica, navegação, dentre outras. A partir daí o middleware foi inserido, seria o software que possibilitaria o incrível fato de haver comunicação entre o emissor e o receptor.
Provavelmente você (tirando o pessoal da computação é claro) nunca ouviu falar nessa palavra “middleware”, apresento aqui então pra vocês um novo termo da computação. Assim como o hardware e o software, existe o middleware. O middleware não existe apenas na TV Digital, ele é um termo originário da computação. Com o desenvolvimento da computação disbtribuída, houve a necessidade da criação de uma nova camada, que fizesse a comunicação entre softwares. Os cientistas e engenheiros criaram então a camada de middleware que seria utilizada para mover informações entre programas escondendo do programador peculiaridades dos protocolos de comunicação, plataformas a serem executadas e peculiaridades do sistema operacional. Tudo isso, tendo em vista sempre o de facilitar o trabalho do programador, menos trabalho, mais facilidade.
Voltando ao nosso assunto, para entender melhor as funcionalidades de um middleware de TV Digital, temos que dar uma olhada em sua arquitetura. Abaixo, vamos dar uma olhada nos principais componentes da arquitetura de um middleware de TV Digital [1]:
- Tratamento de fluxos elementares: o middleware possui componentes que interagem com a Camada de Transporte, fazendo assim o controle e o processamento dos fluxos;
- Interface com o usuário: Faz a interação com o usuário final (você que está assistindo à TV), através de elementos áudio-visuais. Também responsável pela coleta de eventos de um usuário (por exemplo, você apertou o botão verde do controle remoto para responder a uma enquete de um programa qualquer);
- Acesso ao canal de interação: Disponibiliza o acesso para o usuário do canal de retorno (para acesso à internet em geral, interação com aplicações interativas, …);
- Armazenamento de Informações de modo persistente: armazena informações, como preferências do usuário, mensagens e aplicações recebidas, …;
- Gerenciar o ciclo de vida das aplicações: Faz o controle do ciclo de vida das aplicações, ou seja, gerencia quando uma aplicação deve ser carregada, executada, pausada ou finalizada (quem programa em java sabe do que estou falando);
- Sincronismo de Mídias: faz o controle da apresentação de objetos multimída (como por exemplo, tocar aquele áudio mp3 quando o usuário apertar o botão amarelo do controle remoto, e ao mesmo tempo, carregar uma imagem de fundo como descanso de tela);
- Segurança da Informação: responsável pela autenticação das aplicações e na privacidade no tráfego de informações quando utilizado o canal de retorno, dentre outros;
- Mecanismo de abstração de hardware: responsável por traduzir ou interpretar uma linguagem abstrata para uma linguagem específica do mecanismo sobre o qual atua.
Não existe um middleware padrão, atualmente existem no mundo 3 padrões de middlewares: MHP-DVB (Europa), DASE-ATSC (Americano) e o ARIB-ISDB-T (Japonês). Existe ainda o middleware brasileiro GINGA, o qual ainda não foi totalmente especificado (falta a normatização pela ABNT do ambiente GINGA-J) dedicarei o próximo post apenas para falar sobre o middleware brasileiro GINGA.
MHP (Multimídia Home Plataform) – Padrão Europeu
O middleware europeu prioriza a segurança e interoperabilidade. Foi desenvolvido para suportar um grande número de serviços, entre elas o Web Browsing. Uma característica interessante do MHP é que, assim como o GINGA, ele é de código aberto.
Por ser de código aberto, o MHP suporta diversos tipos de serviços e é executa em diversas plataformas de hardware, podendo receber o sinal de várias operadoras de TV Digital.
Abaixo são apresentadas alguns tipos de transmissão suportados pelo middleware:
Enhanced Broadcast . Combina transmissão de áudio e vídeo e serviços de download de aplicações, que permitem serviços de interação local. Este tipo de configuração não suporta canal de retorno. Suporte a linguagem HTML pode ser incrementado a partir de plug-in [2].
Interactive Broadcast . Contém todas as funcionalidades do Enhanced e também permite diferentes formas de interação, modo Global, com ou sem associação com serviços de Broadcast. Esta configuração requer canal de retorno e suporta Internet Protocol (IP) [2].
Internet Access . Possui todas as funcionalidade dos modos antecessores e permite acesso a serviços Internet. Interação entre serviços Broadcast e serviços Internet são possíveis. Browser para e-mail e API Java para acesso à Internet também são comuns nesta configuração [2].
DASE (DTV Application Software Environment Level 1) – Padrão Americano
O DASE é uma camada de software que permite às aplicações (softwares em geral) e a programação a executarem em um equipamento chamado “receptor comum” [3]. O DASE foi dividido em 3 partes:
Aplicação DASE: é a coleção de informações que expressa um conjunto específico de comportamentos observáveis.
- Ambiente de Aplicações Declarativas: é basicamente o browser de documentos multimídia (User Agent). Entende-se por Aplicações Declarativas como o documento multimídia composto por regras de estilo, scripts, markups, gráficos, vídeo e áudio.
- Ambiente de Declarações Procedurais: é a JAVA Virtual Machine e a implementação de suas APIs. As Aplicações Procedurais utilizam uma API desenvolvida pela Sun chamada de JavaTV, os aplicativos desenvolvidos através dessa API são chamados de Xlets (dedicarei um post posteriormente à API JavaTV e aos xLets), composto por código binário, compilado pela JVM, em conjunto com outros conteúdos como gráficos, vídeos e áudios.
O DASE define ainda as seguintes capacidades [3]:
- Capacidade de entrada para usuários: interação com os usuários através de navegação (o mesmo quando você navega na web).
- Capacidade de áudio: decodificação em tempo real e apresentação do conteúdo do fluxo de áudio.
- Capacidade de vídeo: decodificação de vídeo em tempo real e apresentação doconteúdo do fluxo de vídeo.
- Capacidade gráfica: decodificação e a apresentação de conteúdo visual, que não seja vídeo, de acordo com várias resoluções.
- Modelo de Display: utiliza modelo baseado em planos de apresentação (display plan).
ARIB (Association of Radio Industries and Business) – Padrão Japonês
O padrão ARIB define as regras de aplicação de um modelo de referência para o serviço de broadcasting de dados, transportado como parte do serviço de broadcasting digital, definido pelo padrão Japonês de broadcasting digital [4].
Neste sistema, áudio, vídeo e todos os serviços de dados são multiplexados e transmitidos via broadcasting de rádio, em um fluxo empacotado (Transport Stream – TS), especificado pelo MPEG-2. Canais para a interatividade das comunicações são disponibilizados através dos canais interativos da rede, tanto fixas quanto móveis [4].
Três tipos de sistemas de transmissão de dados são suportados pelo ARIB [4]:
- Transmissão de dados que utiliza o armazenamento dos pacotes como um fluxo de pacotes no PES (Packetized Elementary Stream);
- Transmissão de dados que utiliza as seções, utilizado para serviços de armazenagem de informação (data storage services);
- E o sistema onde os dados são armazenados diretamente no payload. do pacote TS.
Os processos no receptor podem ser divididos em três etapas: decodificação dos dados multimídia; decodificação dos dados monomídia e apresentação. Os receptores deverão possuir as funções de recepção, display, comunicação com o serviço de dados(interatividade) além, é claro, das funções básicas de um receptor normal de TV [5].
O padrão também define como características do sistema os serviços oferecidos (conteúdo, acessibilidade, extensões), a interoperabilidade (interatividade), a capacidade de controle e os erros de apresentação no display [5].
Bom para finalizar, podemos afirmar que a camada de middleware é a camada que proporcionará ao usuário de TV Digital ter a tão sonhada interatividade. Através do middleware, a TV poderá proporcionar milhares de serviços como por exemplo, acesso à internet, jogos online, vários tipos de aplicações (T-Banking, T-Commerce, T-Gov, T-Mail, …), e etc. Nos próximos posts, falarei a respeito do middleware brasileiro Ginga e seus ambientes Ginga-NCL e Ginga-j. Até mais.
Acesse também
www.grupogingagoias.com.br
grupogingagoias.wordpress.com
twitter.com/grupogingagoias
Referências:
[1] Arquitetura de Referência. Sistema Brasileiro de Televisão Digital Terrestre. FUNTTEL OS: 40.541
[2] Draft MHP Cable Workshop, MHP- Concept and Impact, Munique, 2002
[3] http:// www.atsc.org/standards.html – DASE/1 Standard
[4] ARIB Standard: STD-B24, Vol. 1, V. 3.2, 2002.
[5] Padrões de Middleware para TV Digital, Alexsandro Paes, Renato H. Antoniazzi, Débora C. Muchaluat Saade. Universidade Federal Fluminense (UFF) / Centro Tecnológico Departamento de Engenharia de Telecomunicações Niterói, RJ, Brasil.
“Televisão : goma de mascar para os olhos.” (Frank Lloyd Wright)
Popularity: 2% [?]
Related posts:









