Home             Introdução             Evolução          Tecnologia             Modelos de Negócio
Para comunicar, é necessário transferir informação de uma fonte para outra através de um canal [10]. Particularmente, na iTV, a informação que se quer difundir é, numa primeira instância, captada, armazenada, codificada e só depois transmitida pela internet (canal) até chegar ao terminal que a solicitou. Esse terminal pode ser qualquer dispositivo com capacidade de acesso à internet. Compete à engenharia tornar este processo de comunicação realizável e eficiente.


Arquitectura de um sistema de Internet TV
Tecnologia







Contrariamente ao modelo clássico em que os canais licenciados eram os únicos emissores, actualmente o modelo de emissão distingue-se em dois modos. Com o aparecimento da internet surge um novo modo de apresentador, onde deixa de existir um formalismo a nível de formato transmissivo e televisivo. A função das emissoras televisivas pode agora também ser desempenhada por single-users. Estes single-users podem emitir os seus conteúdos a partir de um dispositivo com acesso à internet. Por exemplo, ao criar uma conta no USTREAM, é possível fazer uma emissão televisiva a partir do que é captado pela câmara de vídeo e microfone do dispositivo que o single-user possui.

Em sistemas de transmissão em tempo real pela internet, como é o caso da iTV, de modo a poupar recursos de rede e de armazenamento nos servidores à custa de alguma perda de "qualidade", usa-se um processo denominado de codificação. Neste âmbito, o conceito de qualidade depende da sua interpretação. Qualidade em termos matemáticos é algo concreto, no entanto qualidade em termos visuais ou audíveis é algo subjectivo. É possível obter resultados matematicamente diferentes sem que o aparelho humano (visual ou auditivo) note essas diferenças. Este é um dos fenómenos que a codificação explora. A codificação, é considerada o aspecto técnico mais importante neste tipo de sistemas por ter grande influência no débito binário necessário para a transmissão de conteúdos, que é um factor crítico [11]. Consiste em representar os dados que chegam de um dispositivo de gravação, numa linguagem mais adequada aos requisitos pretendidos. A codificação realiza-se antes de os conteúdos serem transmitidos para a internet.

Multimédia é uma combinação de conteúdos de várias formas, das quais apenas duas serão retratadas com mais detalhe, sendo elas o vídeo e o áudio. Para exemplificar um processo de codificação de vídeo, será descrito o H.264/Advanced Video Coding (H.264/AVC) que foi desenvolvido em conjunto pela ITU-T Video Coding Experts Group (VCEG) e pela ISO/IEC Moving Picture Experts Group (MPEG), que é um codec com qualidade já comprovada e utilizado frequentemente em aplicações de tempo real. De seguida será exemplificado um codificador de áudio denominado por ISO/IEC 13818-7 ou MPEG-2 Advanced Audio Codec (MPEG-2 AAC), desenvolvido pela ISO/IEC [12].


Situação em Portugal            Perspectivas Futuras           Conclusões           Referências          Links Úteis
Emissão de Conteúdos
 
Está retratada uma possível arquitectura de um sistema de iTV na figura seguinte. A informação pode ser captada por um qualquer dispositivo que possua uma câmara de vídeo e um microfone, porque se trata de conteúdo audiovisual. Essa informação é armazenada em um ou mais servidores via internet ou qualquer outro tipo de ligação existente entre a fonte de vídeo e o(s) servidor(es). O espectador pode assim aceder a essa informação em qualquer local através de um dispositivo com acesso à internet.
Arquitectura da iTV
 
Codificador de Vídeo
 
A arquitectura do codificador do H.264/AVC é descrita na figura seguinte onde podem ser observados dois caminhos bastante distintos: o caminho "forward" e o "reconstruction", que correspondem às cores azul e cor-de-rosa respectivamente.
Estrutura do codificador H.264/AVC
O caminho "forward" tem à entrada uma imagem Fn para ser codificada. A imagem está dividida em macroblocos, e estes por sua vez estão divididos em blocos que podem ter dimensões 4x4, 8x8 e 16x16. Cada macrobloco é codificado em modo inter ou intra, consoante a sua similaridade com a imagem presente ou com imagens do passado ou do futuro. Em qualquer dos casos, o macrobloco passa a ser designado como P.

  • Intra prediction: Explora a redundância espacial, P é formada a partir dos blocos ou macroblocos que se encontram na imagem corrente e que já foram previamente codificados, descodificados e reconstruídos (na figura corresponde a uF'n).

  • Movement Estimation (ME): No modo inter, P é formado por estimação do vector de movimento de uma ou mais imagens de referência que podem ser do passado ou do futuro (esta referência temporal é feita a partir da ordem em que as imagens devem ser apresentadas ao utilizador). Essa predição varia caso se esteja a tratar das crominâncias ou da luminância e pode ser feita a vários níveis, como por exemplo ao nível do macrobloco ou do sub-macrobloco [13].

A predição de P é subtraída pelo macrobloco corrente para produzir um macrobloco residual Dn  até à Network Abstraction Layer (NAL) passa por uma série de operações:

  • Transform (T): Bloco onde se aplica, neste caso, a Discrete Cosine Transform (DCT) que transforma o sinal em coeficientes de várias frequências.

  • Quantization (Q): A quantização desses coeficientes é feita conforme os vários requisitos, nos quais está incluído o da qualidade visual pretendida.

  • Reorder: Reordenação é feita ao nível dos coeficientes criando uma maior resistência aos erros de canal.

  • Entropy encode: A codificação entrópica atribui bits aos coeficientes conforme as suas probabilidades.

A informação à saída do codificador entrópico, em conjunto com mais algumas informações complementares (que são enviadas nos cabeçalhos e têm informações tais como: modo de predição de macrobloco; passo de quantização utilizado, etc) formam o bitstream comprimido que é passado para a NAL.

No caminho "reconstruction", os coeficientes quantizados X, são descodificados de modo a construír uma imagem que permita a futura codificação de macroblocos. Esse processo de descodificação consiste na realização dos processos inversos de quantificação (bloco Q^-1) e de transformação DCT (bloco T^-1), produzindo D'n. Note-se que este processo não origina Dn porque ao proceder à quantização, há informação que é perdida e que nunca mais é recuperada. A D'n é adicionada à predição do macrobloco P para criar uma reconstrução distorcida do macrobloco original uF'n . Aplica-se um filtro para reduzir o efeito de bloco e é então criada uma imagem referência, que ao assumir que não há erros de canal, será exactamente igual à imagem apresentada pelo descodificador. É através destas imagens de referência que o codificador "sabe" o que é recebido pelo descodificador e lhe permite enviar coeficientes residuais [14].

Codificador de Áudio
 
Um possível diagrama de blocos de um codificador e de um descodificador MPEG-2 AAC, está representado na figura seguinte.
Diagrama de blocos do codificador do MPEG-2 AAC
No processo de codificação, o sinal de áudio passa por uma sequência de blocos cujas funções são descritas:

  • AAC Gain Control: Ferramenta usada para a escalabilidade de frequência de amostragem (SSR). Caso esta ferramenta esteja desactivada, o sinal à sua entrada não será alterado;

  • Filter bank: Utilizado para decompor o sinal de entrada nas suas componentes espectrais subamostradas.

  • Perceptual Model: Usa o sinal de entrada no domínio do tempo e/ou o sinal de saída do Filter bank para fazer uma estimação do valor actual de masking threshold usando as regras da psicoacústica. Esse valor de masking threshold vai permitir conhecer o Signal to Mask Ratio (SMR) que, por sua vez, faz com que o quantificador designe mais ou menos bits para cada bloco [15].

  • Quantization & Coding: As componentes espectrais são quantizadas e codificadas com o objectivo de manter o ruído abaixo do valor do masking threshold. Em particular no MPEG-2 ACC, este bloco é composto por mais algumas ferramentas tais como Temporal Noise Shaping (TNS), Predição e Codificação Entrópica. O TNS faz o noise shaping no domínio do tempo o que resulta numa melhoria significativa (em relação ao MP3) na qualidade do sinal de voz para baixos débitos [16] [17].

Transmissão
 
Uma rede de transmissão é um sistema através do qual os dados, independentemente do seu tipo, são enviados por um canal. Os canais de transmissão podem ser físicos ou não, tomando por exemplo nas telecomunicações o uso de cabos coaxiais, fibras ópticas, par de fios telefónico e o espaço livre [18].
A distribuição point-to-multipoint pressupõe que os elementos de streaming estejam divididos em pequenos pedaços de informação (chunks streams). A figura seguinte exemplifica que, embora os servidores tenham localizações diferentes, emitem diferentes streams que são reunidos nos terminais e todos esses terminais recebem a mesma informação.

Chunk  streaming
Deste modo garante-se a necessidade de toda a informação não provir de um só servidor, podendo existir vários pontos de acesso. Para garantir este tipo de transmissão de streaming via IP utiliza-se o Real Time Protocol (RTP).
Com intuito de controlar uma sessão de emissão/recepção utiliza-se o Session Description Protocol (SDP). O servidor virtual de emissão fornece à rede os dados fundamentais para a recepção e reordenação de pacotes, garantindo que as especificações requeridas pelo cliente são cumpridas, recorrendo para isso ao SDP. Através do uso de um protocolo, os clientes conseguem reunir os elementos correctos e iniciar uma recepção correcta de conteúdos.

Streams Multimédia
 
A noção de stream permite-nos descrever a propagação contínua de dados (fragmentados) numa rede. Existem também substreams que representam um fluxo de dados que percorre um caminho desde a fonte até ao receptor. Por fim, definem-se os streams multimédia como sendo um conjunto de substreams, onde cada um pode transportar vários tipos de dados (por exemplo áudio e vídeo) como ilustra a figura seguinte.
Stream de multimédia, de áudio e vídeo substream consistem em chunk streams
O receptor necessita de reunir todos os substreams gerados na fonte para poder obter o stream multimédia final, tendo em conta a multiplexagem na fonte e a transmissão na rede.
O RTP pressupõe uma comunicação point-to-point, podendo esta ser utilizada tanto em emissão multipoint ou single point. Este protocolo funciona fornecendo sequências numeradas de pacotes, carimbos temporais e identificação de tipo de conteúdo (áudio, vídeo, etc). O RTP tem por base o protocolo User Datagram Protocol (UDP) [19] onde não existe uma conexão direccionada, o que impossibilita a verificação da recepção correcta de pacotes de dados.

Uma sessão de RTP pressupõe que os intervenientes comuniquem através de endereços IP em conjunto com duas portas UDP (controlo + transporte de dados). Em cada sessão é apenas transmitido um pacote de identificação de conteúdo e a sua informação de controlo.

A estrutura de cada pacote de RTP tem um cabeçalho fixo com 12 bytes, seguido de uma lista variável de fontes para a identificação de conteúdos, uma possível extensão de cabeçalho e a informação propriamente dita. O cabeçalho é composto pelo carimbo temporal, o seu número de sequência de pacotes e por um identificador de sincronização. Neste protocolo não existe a possibilidade de recuperar pacotes perdidos.

Real Time Protocol
Real Time Control Protocol
O RTP coexiste com o Real Time Control Protocol (RTCP), um protocolo que visa monitorizar o funcionamento do RTP. O RTCP tem por base a periodicidade da transmissão de pacotes de controlo entre os utilizadores numa sessão de RTP.
Para garantir um funcionamento correcto, o RTCP insere uma característica fundamental nos pacotes, um identificador de fim de pacote designado CNAME (nome canónico). Na recepção, o CNAME é utilizado na associação de substreams garantindo a sua sincronização, sendo também importante para reportar alguns dados estatísticos para a aplicação. Estes dados estatísticos incluem o número de pacotes enviados, perdidos e o jitter.
Na comunicação via RTCP cada utilizador envia pacotes de controlo para os outros utilizadores, o que permite a particularidade de identificar o número de utilizadores que estão a partilhar a mesma rede na sesssão. O uso desta informação permite ainda definir a banda disponível para a comunicação, podendo o utilizador limitar o fluxo de dados que partilha [20].

Terminais
Cada terminal tem de possuir um descodificador para obter o conteúdo multimédia que foi previamente codificado na fonte.
 
 
 
Descodificador de Vídeo
Seguindo o exemplo do H.264/AVC, o processo de descodificação tem um diagrama de blocos que pode ser observado na figura seguinte. Há um caminho muito semelhante ao caminho cor-de-rosa do codificador.
Estrutura do descodificador H.264/AVC
O descodificador recebe um bitstream comprimido da NAL, que descodificado entropicamente produz um conjunto de coeficientes quantizados X. Após reordenação, passam pelo processo inverso de quantização e de transformação para originar D'n (que como já foi referido, é igual ao do codificador). Usando a informação disponível nos cabeçalhos, o descodificador cria uma predição do macrobloco P, em tudo idêntica à predição original feita no codificador. P é adicionada a D'n  para produzir uF'n  que é filtrado e cria-se então o macrobloco descodificado F'n .
Descodificador de Áudio
 
 
Para descodificar o áudio, e seguindo o exemplo do MPEG-2 AAC, é necessário um descodificador cujo diagrama de blocos está representado na figura seguinte.
Diagrama de blocos do descodificador do MPEG-2 AAC
O processo de descodificação consiste basicamente no processo inverso de codificação. A informação sobre as operações efectuadas no codificador chega por meio dos cabeçalhos, permitindo a reconstituição de um sinal de áudio semelhante ao que foi originalmente fornecido ao codificador.

A recepção de multimédia efectua-se através de qualquer dispositivo com ligação à internet. Alguns canais são disponibilizados livremente na internet bastando para tal aceder ao site da cadeia televisiva ou à plataforma virtual por eles responsável. Em geral, a maior parte dos contéudos são livres de assinatura, mas existem alguns programas que pedem um registo ou a criação de conta, para que se possa aceder aos conteúdos. É o caso da Eurosport [21]. Tome-se também o exemplo dos canais americanos NBC [22] e ABC [23] que restringem os seus conteúdos por endereços de IP.

A maior oferta e a descida de preço de equipamentos de electrónica de consumo, aumentou a potencialidade de recepção de conteúdos multimédia. Existe a possibilidade de aceder a conteúdos audiovisuais através de computadores (Tablet pc, portáteis, eepc, etc) ou ainda através de telefones móveis inteligentes (iPhone, Blackberry, etc).