IPTV  

Tecnologias(Codecs e Protocolos)   

A codificação do vídeo é dos principais factores para que se possa oferecer o IPTV, dadas as limitações ao nível da rede. As normas de codificação actualmente disponíveis conseguem reduzir a largura de banda ocupada pelos conteúdos de vídeos mantendo uma elevada qualidade, de forma a oferecer ao cliente a melhor experiência de visualização. Os codificadores encontram-se no video headend e os descodificadores estão em casa dos clientes, por exemplo nas set-top box.

Nesta secção apresentámos as principais normas de codificação/compressão de vídeo utilizadas no IPTV. Em primeiro lugar aborda-se a norma de codificação mais utilizada, o H.264. Por fim, faz-se uma comparação das várias normas.

 H.264 AVC

O H.264 é a norma de compressão de vídeo que está a ser adoptada nas soluções IPTV. Também conhecida por MPEG-4 Part 10 ou MPEG-4 AVC (Advanced Video Coding). Foi escrita pelo Joint Video Team (JVT), que foi formado por peritos do MPEG e do VCEG. A norma foi finalizada em 2003 e fornece o dobro da compressão em relação ao MPEG-2. O MPEG-2 é uma norma de codificação utilizada ainda em muitos sistemas de IPTV e também nos sistemas DVB, mas tende a ser substituído.

Existem duas camadas na codificação H.264, a NAL (Network Abstraction Layer) e a VCL (Video Coding Layer), como se pode ver na Figura 1. A VCL, a qual é descrita mais à frente, é especificada para representar eficientemente os conteúdos de vídeo. A NAL serve para formatar os dados e fornecer um cabeçalho informativo, de forma a adaptar a codificação ao meio de transmissão ou de armazenamento.

Figura 1 - Estrutura de um codificador H.264/AVC.

A camada de codificação de vídeo (VCL) do H.264 é semelhante à de outras normalizações, como por exemplo, a do MPEG-2. Esta camada trabalha sobre macroblocos (MB) e considera imagens no espaço de cores YCbCr(2 crominâncias e 1 luminância ). Estes macroblocos são classificados de acordo com o modo de codificação ao qual são submetidos, podendo ser do tipo I (Intra), P (Predictive) e B (Bi-predictive).

As inovações no H.264 em relação ao MPEG-2 são:

  1. Compensação de movimento – a dimensão e a forma dos blocos podem variar, a estimação do vector de movimento é mais precisa (1/4 de pixel) e usa até 16 tramas de referência (em cada direcção) para a estimação do movimento.
  2. Redução da redundância espacial – usa uma transformada inteira (em vez da DCT usada no MPEG-2) que reduz a influência dos erros.
  3. Quantização – tem um maior número de níveis de quantização, 52 níveis contra 31 do MPEG-2.
  4. Codificação entrópica – usa uma codificação mais complexa, a qual é mais eficiente em comparação com a codificação estática incluída no MPEG-2.

A figura seguinte apresenta da camada VCL responsável pela codificação dos macroblocos.

 

Figura 2 - Arquitectura de codificação do H.264.

A parte de áudio usa o AAC (Advanced Audio Codec) e esta norma consegue uma melhor qualidade sonora comparada com o MP3 com o mesmo ritmo binário.  O AAC suporta múltiplos canais, e até 48 canais de áudio, tem uma baixa complexidade computacional e cobre uma vasta gama de aplicações. O H.264 tem sete perfis, os três primeiros perfis a surgirem são comparados ao MPEG-2 na tabela seguinte.

Tabela 1 - Perfis do H.264 e comparação com o MPEG-2

Existem várias extensões para o H.264 que podem ser usadas de forma a escalar a oferta de IPTV em diferentes dispositivos, e ainda melhorar a forma como vemos televisão. O SVC (Scalable Video Coding) tem como objectivo codificar um stream de vídeo com diferentes camadas de qualidade. Assim, em função da capacidade do dispositivo receptor e do débito de transmissão da rede, podem ser transmitidas mais camadas ou menos camadas, cada uma delas representando diferente número de imagens por segundo, taxas de compressão ou dimensão de imagem. O MVC (Multiview Video Coding) é outra extensão, ainda em desenvolvimento, que permite ter várias vistas do mesmo cenário, isto é, existem vários fluxos de vídeos sincronizados que capturam a mesma cena de diferentes pontos de vista, permitindo ao utilizador escolher uma câmara ou várias. Com o MVC também é possível criar visões 3D do cenário, tendo o utilizador de ter um dispositivo que suporte a tecnologia 3D.

  Comparações

Tabela 2 -Principais funcionalidades do MPEG-2, H.264.

Nesta secção abordam-se os principais protocolos de transporte de vídeo e de informação necessários para o funcionamento de um sistema de IPTV, sendo que outros protocolos poderão ser utilizados. Os protocolos a seguir descritos encontram-se na camada de aplicações do modelo TCP/IP, como podemos ver na figura seguinte, e são utilizadas nas plataformas de IPTV.

Figura 3 - Camadas do modelo OSI e do modelo TCP/IP

 Transporte de Video

O transporte do vídeo/áudio codificado em redes IP pode ser realizado com base em várias tecnologias, das quais se destacam: RTP e MPEG-2 TS, que serão descritas de seguida. Estes protocolos podem ser utilizados sobre TCP (Transport Control Protocol) ou UDP (User Datagram Protocol), dependendo do tipo de aplicação.

1.   MPEG-2 Transport Streams

Uma vez que as primeiras soluções de IPTV se basearam na norma MPEG-2, foram utilizadas para o transporte as tramas MPEG-2 encapsuladas na pilha de protocolos IP. O MPEG-2 TS, ilustrado na figura seguinte, tem um cabeçalho de 4 bytes e um payload de 184 bytes. Quer o codificador de áudio quer o de vídeo produzem Packetized Elementary Streams (PES), que são multiplexados em conjunto com a informação de programa em tramas de transporte de 188 bytes.

Figura 4 – MPEG-2 TS, multiplexagem de vídeo, áudio e informação do programa.

2.   Real Time Protocol (RTP)

A partir do momento em que se utilizam redes IP, ao contrário dos sistemas de broadcast baseados em MPEG-2, é possível tirar partido da bidirecionalidade da comunicação, para que cada cliente possa pedir os conteúdos pretendidos. Desta forma, parte das opções do MPEG-2 TS tornam-se desnecessárias (como por exemplo, a multiplexagem de diferentes canais).

O protocolo RTP foi desenvolvido para transportar dados em tempo real e interactivos sobre as redes IP, incluindo áudio e vídeo. Este protocolo inclui reconstrução no tempo e detecção de perdas com base no número sequencial, identificação dos conteúdos para descrever tipo de codificação usada, identificação da fonte (em sessões multicast) e timestamping para compensação do jitter em pacotes do mesmo stream. O protocolo RTP trata do transporte de dados, estando-lhe associado outro protocolo para tratar da parte de controlo, chamado RTCP (Real Time Control Protocol).

O RTCP fornece informação adicional aos participantes na sessão, como por exemplo:

 IP Multicast

O conteúdo televisivo pode ser enviado para o cliente, utilizando diferentes formas de encaminhamento, como podemos ver na tabela seguinte. O broadcast é geralmente utilizado em meios partilhados (por exemplo rádio, cabo partilhado), onde todos recebem as transmissões de todos. Este método é utilizado nos dias de hoje na televisão analógica e na televisão digital através dos sistemas DVB. A solução para a distribuição de televisão sobre as redes IP é o multicast, para que a rede seja escalável e não haja duplicação de conteúdos.

O multicast é usado ao nível do IP, com os protocolos de IP Multicast, que se baseiam na construção de árvores de encaminhamento, que podem ser partilhadas pelo grupo ou baseadas no servidor de origem. Os principais protocolos são: DVMRP (Distance Vector Multicast Routing Protocol), PIM (Protocol Indepentent Multicast), MOSPF (Multicast Open Shortest Path First Protocol), IGMP (Internet Group Management Protocol), entre outros.

Figura 5 - Esquemas de Encaminhamento

O IGMP foi o protocolo de gestão de grupos escolhido para o IPTV. Nos sistemas IPTV são usadas a versão 3 ou a versão 2. Apesar de as mensagens diferirem entre as duas versões, as funções mantém-se. As diferenças existentes prendem-se pelo tipo de rede e pela possibilidade de agrupar as mensagens. A versão 3 utiliza uma rede SSM (Single Source Multicast), na qual só os aparelhos específicos podem enviar dados, ao contrário da versão 2, que utiliza uma rede ASM (Any Source Multicast), onde qualquer dispositivo pode enviar dados para a rede, podendo causar problemas. As mensagens, na versão 3, podem ser agrupadas de forma a eliminar o overhead existente nas mensagens da versão 2 (por exemplo, no envio de um leave seguido de um join, envia-se apenas uma mensagem).

No IGMP, a STB (Set-Top Box) é um cliente do IGMP e o BSR (Broadband Services Router) é um router IGMP. Ambos interagem, na troca das mensagens:

JOIN – o cliente indica que conteúdo deseja receber, tornando-se membro de um grupo;

LEAVE – o cliente faz um pedido para abandonar um grupo, do qual estava a receber fluxos;

QUERY – o router pergunta ao cliente quais os grupos a que ele pertence. Este é um método para verificar condições de erros. Por exemplo, uma STB é desligada da rede, logo não envia a mensagem LEAVE.

Figura 6 - Operação comum usando o IGMPv3

O IP Multicast geralmente não pode ser utilizado na Internet, isto porque muitas das infra-estruturas bloqueiam o seu tráfego de forma a não congestionar a rede (o Mbone11 é uma excepção). O multicast na camada de aplicação é cada vez mais considerado como alternativa ao IP Multicast na Internet. Visando não depender de dispositivos multicast na rede, a técnica fornece a funcionalidade de encaminhamento dos fluxos para todos os nós do grupo, enviando uma cópia para cada destinatário, o que naturalmente é muito menos eficiente.