Vídeo na Internet
Instituto
Superior Técnico - Comunicação de Imagem - 2º Semestre 2007/2008
conteúdo
descarregável |
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.