Comunicações de Áudio e Vídeo

2011/2012

Perspectiva técnica

Áudio e Vídeo

Tome-se agora como exemplo o caso do serviço Hulu. À semelhança do Youtube, o streaming dos conteúdos é realizado em formato FLV (Flash Video Files) e, portanto, requer um reprodutor de Flash, o Adobe Flash Player, que deverá ser instalado no browser que se pretende utilizar. Actualmente, todos os browsers suportam este tipo de tecnologia, pelo que praticamente não existem restrições deste tipo para que se possa efectuar streaming de uma forma satisfatória. No entanto, nos browsers presentes em dispositivos móveis, em particular nos comercializados pela Apple, não existe suporte para esta tecnologia, dado os elevados recursos computacionais que exige. Embora esta informação não estava publicamente disponível, é de supor que o Hulu utilize os formatos de streaming descritos na secção anterior para disponibilizar o serviço nos dispositivos móveis que suporta.

Os conteúdos enviados para o utilizador, em formato FLV, são codificados com diferentes ferramentas consoante a resolução e o débito binário utilizados. No caso dos débitos mais baixos, 500 kbps e 700 kbps, o conteúdo é codificado com o codec On2 Flash VP6. Para os débitos superiores, 1000 kbps, 2.5 Mbps e 3.2 Mbps é utilizado o codec H.264, compatível com versões de Flash superiores à 10. A codificação dos conteúdos é feita dinamicamente, de acordo com o débito binário da ligação e com a resolução pedida pelo utilizador/disponibilizada pelo Hulu, de forma a proporcionar ao utilizador a melhor experiência de visualização possível.

Quanto à qualidade dos ficheiros enviados, é de referir que o Hulu utiliza 4 diferentes scan rates: 288p, 360p (resolução standard) e 480p e 720p (alta definição), sendo que maiores resoluções requerem que a ligação suporte, em média, débitos superiores, tal como se pode observar na tabela abaixo. Estes scan rates dizem respeito ao número de linhas da imagem que é transmitida e à forma como estas são enviadas. Assim, uma resolução de 720p corresponde a um vídeo com 1280 colunas por 720 linhas enviadas de forma progressiva, isto é, cada frame é exibida com todas as linhas, ao contrário do que acontece com os métodos interlaced que exibem as linhas ímpares e pares alternadamente, o que introduz artefactos, especialmente notórios em conteúdos com muito movimento, tais como desporto automóvel ou basquetebol.

Comparação formatos OTT
Débito Binário médio para as qualidades especificadas.

Enquanto que é possível alternar entre 360p e 480p facilmente, a resolução máxima de 1280 x 720 só é atingida quando se fazem pedidos à Hulu HD Gallery. Neste último caso, a resolução dos conteúdos situa-se entre a oferecida pelo DVD (720 x 480 ou 720 x 576) e pelo Blu-Ray (1920 x 1080). No entanto, os débitos binários médios do DVD e do Blu-Ray são muito elevados, cerca de 9.8 Mbps e 36 Mbps, respectivamente, o que nunca permitiria o streaming eficiente e com boa qualidade mesmo com as grandes velocidades de acesso à Internet de que hoje dispomos. De facto, o Hulu efectua streaming HD a 3.2 Mbps, um valor significativamente inferior aos dois casos anteriores.

O segredo para este bitrate reduzido está no codec de vídeo utilizado, o H.264/AVC. Este codec de última geração, desenvolvido pela parceria Joint Video Team, permite taxas de compressão que podem superar o antigo MPEG-2, utilizado no DVD, em mais de duas vezes. Mais, a existência de vários perfis de qualidade permitem que seja utilizado em situações com limitações de largura de banda fundamentalmente diferentes. Com efeito, embora o Blu-Ray utilize este codec, não o usa com os mesmos parâmetros que um serviço de streaming de vídeo pela Internet.

Entre outros, um dos parâmetros principais, e que muito influência o débito binário final, refere-se a uma técnica conhecida como chroma subsampling na literatura anglo-saxónica. Esta técnica permite que as componentes de cor da imagem sejam codificadas com uma resolução inferior à componente que transmite a luminância, isto é, a intensidade luminosa global desta. Assim, num sistema 4:4:4, tanto a luminância como as duas crominâncias são codificadas no mesmo número de colunas e linhas, enquanto que em 4:2:2, as crominâncias utilizam metade das linhas e em 4:2:0 as duas componentes de cor utilizam metade das linhas e colunas que a componente de luminância. Na tabela abaixo os 3 níveis de sub-amostragem cromática permitidos pelo H.264 são exemplificados para uma resolução de 1280x720.

Chroma Subsampling
Resolução de cada componente de imagem nos três formatos de subsampling permitidos pelo H.264.

No streaming de conteúdos na Internet é, portanto, natural utilizar o formato 4:2:0 o que reduz significativamente o débito binário necessário à transmissão, já que cada frame é composta por metade dos pixeis que seriam necessários caso fosse usado o sistema 4:4:4. Só por si, esta modificação já contribui significativamente para a redução do bitrate, no entanto os perfis do H.264 definem muitos outros parâmetros que tornam possível baixar este valor ainda mais, em troca de uma redução da qualidade, até que seja adequado à aplicação em questão.

Embora o H.264 seja usado para codificar os conteúdos HD do Hulu, as resoluções de 288 e 360p recorrem a um codec propietário da empresa On2 designado VP6 incluído no Adobe Flash Player. Em relação ao H.264, apresenta uma menor complexidade e melhor desempenho para débitos baixos mas, a sua grande vantagem reside no facto de não acarretar o pagamento de royalties. De facto, a utilização do standard H.264/AVC implica o pagamento de royalties pela propriedade intelectual associada por cada dispositivo vendido, ao que acresce ainda o custo de desenvolver ou adquirir um par codificador-descodificador que implementem um ou vários dos seus perfis. Por outro lado, a implementação do codec VP6 requer apenas que este seja comprado à On2, dispensando quaisquer pagamentos adicionais. Infelizmente, a sua natureza proprietária traduz-se numa taxa de adopção muito baixa, sendo usado num número muito reduzido de aplicações.

Enquanto que o Hulu oferece vários níveis de qualidade, nomeadamente SD e HD, outras empresas como a Apple ou a Netflix focaram-se exclusivamente em formatos de alta qualidade, 480p e 720p. Estes operadores optaram por privilegiar a qualidade em detrimento do débito binário necessário, resultando em 3.8 Mbps no caso do Netflix e 4.1 Mbps no da Apple, ambos para 720p. No entanto, enquanto que a Apple utiliza também o codec H.264, no Netflix os conteúdos são enviado num stream com ficheiros de áudio (estéreo) WMA, transferidos ao débito binário de 128 kbps, e ficheiros de vídeo com qualidade 720p HD codificados com o codec VC-1 Advanced Profile, uma alternativa ao H.264 desenvolvida pela Microsoft, e transferidos ao ritmo de 2.6Mbps ou 3.8 Mbps .