Vídeo na Internet

 

Instituto Superior Técnico - Comunicação de Imagem - 2º Semestre 2007/2008

 

introdução

conteúdo descarregável

streaming

download progressivo

impacto social e legal

impacto económico

desenvolvimentos futuros

conclusões

referências


1.1. Arquitecturas de partilha

1.1.1. Download Cliente/Servidor

 Uma das maneiras mais intuitivo de disponibilizar e aceder a conteúdos vídeo na Internet será o de um sistema em que o vídeo está alojado num computador remoto ligado à rede e que pode ser descarregado (downloaded) por um utilizador local para o seu computador onde poderá ser então posteriormente visualizado por um descodificador apropriado que se encontra no mesmo terminal local. Apresenta-se o mesmo num esquema resumido na figura seguinte:

 


Figura f1.1 – Arquitectura de download de um vídeo


1.1.2. Peer-To-Peer


 Com o aumentar do número de utilizadores e consequente aumento da procura de conteúdos, e sendo a Internet uma ferramenta de partilha de informação, outro tipo de tecnologias mais complexas foram desenvolvidas com vista a enfatizar esta mesma partilha. Uma dessas tecnologias, e talvez da mais utilizadas desde o final da década de 90 do século passado até hoje, será então o peer-to-peer (P2P).
Esta tecnologia, cujo termo foi referido pela primeira vez pela IBM em 1984 como Advanced Peer-to-Peer Networking Architecture, funciona de maneira a que nos afastemos da arquitectura de Cliente/Servidor e passemos para um outro paradigma em que alguns terminais, integrados numa rede “virtual”, estão dedicados a servir simultaneamente dados a outros terminais, como podemos verificar na figura f1.2:


Figura f1.2 – Rede P2P

 Este tipo de redes, criado de forma a obter uma estrutura em que fosse possível partilhar recursos entre máquinas (ficheiros de dados, acesso a software, mensagens, ...), foi, acompanhado o desenvolvimento de tecnologias de codificação e compressão e, entre outros, o aumento dos débitos binários na internet, adaptado, no final da década de 90 do século passado, a uma partilha de conteúdos multimédia, primeiro para partilha de música (maioritariamente em formato mp3) com softwares como o Napster e, mais tarde, com outros programas de software vocacionados não apenas para a partilha de ficheiros em formato de música digital mas também para outros conteúdos multimédia, incluindo o próprio vídeo. A estrutura destas redes de P2P difere das referidas inicialmente principalmente no âmbito da organização, dado que estas redes suportam-se não apenas nos terminais que a integram mas também recorrem, para tarefas criticas de controlo (como a indexação de informação, autenticação, etc..), a comunicação com um servidor (à semelhança do que acontecia também com outros protocolos de aplicação baseados em P2P mas vocacionados para a troca de mensagens como por exemplo o Internet Relay Chat).
    Será mais ou menos óbvio que, com o crescer destes ambientes de partilha, entre outros, existe também a necessidade de compreender os mecanismos de compressão vídeo pois são estes que tornam viável o sharing e armazenamento de vídeo na internet.

1.2. Compressão de vídeo

1.2.1. MPEG (Moving Picture Experts Group)


O MPEG é um formato de compressão de vídeo aplicado não só em várias tecnologias emergentes mas também em  outras já estabelecidas, isto porque estas aplicações beneficiam de compressão ajustável com este formato o que leva a uma menor necessidade de espaço de armazenamento para guardar a informação dos vídeos,  menor largura de banda para a transmissão do vídeo de um ponto para outro, ou a combinação de ambos. Um outro grande propulsionador da popularidade desta tecnologia será também o facto de a mesma estar definida em standarts internacionais tendo o próprio MPEG trabalhado bastante para criar especificações para o International Organization for Standardization e para o International Electrotechnical Commission.
    Um vídeo MPEG é estruturado a partir de camadas hierarquizadas, estrutura essa que auxilia no controlo de erros, acesso aleatório, edição, sincronização, entre outros. Imaginemos esta hierarquização como formada por uma camada de mais alto nível que será o fluxo de bits, também conhecida como vídeo sequence layer. A segunda camada serão os grupos de imagens, ou GOP (group of pictures), que são compostos por uma ou mais tramas intra (I), ou integrais, e/ou outras non-intra (P e B) cujas funções e definições aprofundaremos mais à frente. A terceira camada será então uma imagem e a quarta camada será formada por fatias (slices) desta mesma imagem. Cada slice consiste de outra unidade estruturante chamada de macroblocos, que são basicamente arrays 16x16 de pixels de luminância ou então dois arrays 8x8 de pixels de crominâncias, esta diferença de dimensões deve-se ao facto de o olho humano ser mais sensível a transições de luminância do que de crominância e não podemos esquecer que a compressão é um dos objectivos de maior peso a atingir com esta tecnologia.  A mesma estrutura esta representada na figura f1.3.


Figura f1.3 – Camadas de um vídeo MPEG

 Podemos referir agora dois modos de codificação, o modo intra, em que a compressão é feita apenas à custa da redundância espacial da trama em análise, e um modo non-intra que, tal como se seria de esperar, explora a redundância temporal das diversas tramas ao longo do vídeo. Para o modo de codificação intra definamos a seguinte arquitectura:


 
Figura f1.4 – Arquitectura codificação intra

 Como sabemos que pixels próximos uns dos outros tendem a ser bastante correlacionados seria útil explorar esse facto para obter uma maior compressão, para isso utiliza-se uma transformada invertível que concentra a aleatoriedade em blocos menores e não correlacionados. Esta transformada chama-se DCT (Discrete Cosine Transform). A DCT decompõe o sinal em blocos organizados por frequência o que permite uma regulação de precisão para aproveitar características do sistema visual humano com vista a obter maior qualidade. Qualquer macrobloco pode assim ser representado na frequência como uma soma pesada de coeficientes DCT.

Figura f1.5 – Matriz de coeficientes DCT

   

    Após a transformação do sinal é processada então a quantificação dos coeficientes DCT. Estes, de 12bit, são divididos por um número correspondente numa matriz de quantificação, estes coeficientes desta matriz são multiplicados por um valor chamado código de escala da quantificação. O valor deste passo de quantificação irá então permitir um ajuste na codificação, tentando forçar o máximo de coeficientes DCT a 0, ou próximo, com vista a obter o bitrate e qualidade de vídeo pré definidas.

    Depois disto recorre-se a uma codificação entrópica com vista a reduzir a redundância da informação codificada explorando também, no caso do MPEG, o facto de a maioria da energia do sinal estar concentrada nos coeficientes de menor frequência.
    Discutimos até aqui uma codificação intra, ou seja, que explorava a redundância espacial de uma trama intra, mas uma maior eficiência de codificação é obtida pelo MPEG ao explorar redundância temporal entre tramas. As tramas P (predictive) são previstas pelo codificador a partir da trama I ou P imediatamente anterior explorando assim redundância temporal obtendo compressão “prevendo o futuro”. As tramas B (bi-directional) permitem ao codificador utilizar informação futura e anterior para obter maior compressão, isto porque pode agir de uma maneira mais inteligente quando existe uma trama a codificar tendo conhecimento do passado e do futuro, estas tramas suportam-se nas tramas I e P anteriores. Um vídeo codificado será então uma sequencia de tramas I, P e B como se apresenta na figura seguinte em que as setas representam a exploração da redundância temporal pelas tramas P e B:


Figura f1.6 – Tramas I, P e B


    A forma de explorar a redundância espacial por parte do MPEG é feita então concretamente através de estimação de movimento. Esta estimação de movimento baseia-se numa premissa de que, na maioria dos casos, tramas consecutivas de vídeo serão bastante semelhantes aparte de alterações induzidas por objectos a moverem-se entre frames. No caso trivial em que dois frames consecutivos fossem iguais então a única informação necessária ao codificador seria apenas a de que eram iguais, no caso em que existe movimento é feita uma análise bidimensional na matriz de luminância, para cada macrobloco dentro de uma janela de procura, em que deslocamentos entre macroblocos são representados por vectores de movimento e será então esta diferença de posição que será codificada e resultará num aumento da compressão em relação a tramas intra.


Figura f1.7 – Estimativa de movimento


    Para terminar, o grupo MPEG normalizou até aos dias de hoje os seguintes formatos de compressão:

•    MPEG-1: Norma inicial de compressão áudio e vídeo usado mais tarde para compressão para o Vídeo CD e que inclui o formato de compressão áudio mp3.
•    MPEG-2: Norma de compressão e transporte para vídeo, áudio com qualidade de difusão televisiva. Usado para televisão digital, DVB, ISDB, televisão satélite, televisão por cabo entre outras, presente também na codificação dos .VOB dos DVDs.
•   MPEG-3: Originalmente criado para televisão de alta definição foi abandonado visto que o MPEG-2, com algumas extensões, cumpria os requisitos de HDTV. Não se deve confundir esta norma com o formato de MP3 que na verdade é o MPEG-1 Audio Layer 3.
•  MPEG-4: Expande o MPEG-1 para suportar “objectos” vídeo e áudio, conteúdo em 3D, codificação a baixo ritmo binário e suporte para gestão de direitos de autor digitais.
•    MPEG-7: Descrição normalizada de conteúdos multimédia

Este tipo de codificação de vídeo é sem dúvida a maior influência de todo o vídeo na internet pois, para alem de ser um dos mais utilizados, é nele que a maioria das novas tecnologias de vídeo suportadas na internet se baseiam.

1.2.2. DivX

Tendo em conta todas a necessidades de procura disponibilização de conteúdos explicada aparece em 2001 um codec que revoluciona completamente o vídeo na internet permitindo aos utilizadores codificar um vídeo até 15% do seu tamanho original mantendo uma qualidade bastante aceitável, era agora possível codificar um DVD num formato em que o seria possível gravar num CD e por vezes o seu download demoraria menos tempo do que a visualização do próprio filme.
O método de compressão do DivX é semelhante à do MPEG pois repete as imagens que não se modificam no decorrer das tramas, ou seja explora de uma maneira extrema a redundância temporal do entre tramas vídeo, semelhança essa que seria de esperar visto que se trata de um codec baseado no MPEG-4.
Hoje em dia, mais do que um codec que revolucionou o vídeo na Internet, DivX é uma empresa cotada na bolsa cuja tecnologia, para alem da internet é utilizada mesmo em nossas casas tendo os mesmos afirmado que mais de 100 milhões de aparelhos certificados pela empresa DivX já foram introduzidos no mercado por grandes fabricantes.