• Nenhum resultado encontrado

Codificac¸˜ao de V´ıdeo MPEG

3.3 V´ıdeo MPEG e Xvid

3.3.1 Codificac¸˜ao de V´ıdeo MPEG

MPEG, Moving Picture Experts Group, ´e o nome da fam´ılia de padr˜oes usados para codificar informac¸˜ao ´audio-visual em um formato digital comprimido. A maior vantagem de MPEG com- parado a outros padr˜oes similares ´e que os arquivos MPEG s˜ao menores para a mesma qualidade de m´ıdia. Os padr˜oes MPEG s˜ao muito utilizados, por exemplo, s˜ao os codificadores de v´ıdeo MPEG que s˜ao usados nos sistemas para DVD e VCD.

Os padr˜oes MPEG mais conhecidos e utilizados s˜ao :

• MPEG-1 : originalmente definido em 1992, foi previsto para ser um v´ıdeo de tela cheia para ser armazenado em um CD. Ele foi incorporado ao padr˜ao VCD e ´e usado em apare- lhos de CD-ROMs convencionais.

• MPEG-2 : apareceu ap ´os o MPEG-1 e foi projetado para ser o padr˜ao para aplicac¸˜oes de tv digital e para uso nos discos de DVD. Este padr˜ao suporta v´ıdeo entrelac¸ado e taxas de codificac¸˜ao vari´avel.

• MPEG-3 : foi projetado para se um padr˜ao para HDTV (High Definition TV - Tv de alta definic¸˜ao), mas este padr˜ao foi incorporado ao MPEG-2.

• MPEG-4 : foi projetado para ser usado em v´ıdeo conferˆencias, distribuic¸˜ao de v´ıdeo na Internet ou aplicac¸˜oes similares usando baixas larguras de banda de rede.

Um v´ıdeo digital compreende de uma seq¨uˆencia de imagens ou quadros que, sem compress˜ao requerem um espac¸o de armazenamento muito maior at´e que um v´ıdeo em formato DVD. V´arios m´etodos s˜ao usados para comprimir a informac¸˜ao contida em um quadro de v´ıdeo.

Cada quadro de v´ıdeo ´e dividido em um arranjo de macro blocos, cada um com 16x16 pi- xels de tamanho, compreendendo 4 blocos Y (luminˆancia), 1 bloco de de U e 1 de V (cro- minˆancia). A informac¸˜ao da cor tem conseq¨uentemente a metade da resoluc¸˜ao horizontal e vertical da informac¸˜ao de luminˆancia. A figura 3.3 mostra o macro bloco e seus componentes.

30 3.3. V´IDEO MPEG E XVID

A informac¸˜ao Y, U e V em cada macro bloco ´e comprimida usando Trasnformada Discreta de Cosseno (DCT) e compensac¸˜ao de movimento.

3.3.1.1 Transforma Discreta de Cosseno - DCT

A transformada discreta de cosseno ´e usado para reduzir o espac¸o requerido para representar um ´unico quadro. Cada um dos 6 blocos do macro bloco ´e codificado realizando uma transfor- mada de Fourier dos pixels em linhas diagonais (veja na figura 3.4) que mapeia o bloco 8x8 a 1x64, antes da codificac¸˜ao DCT.

Figura 3.4: Transformada de Fourier nos Blocos do Macro Bloco

A codificac¸˜ao de Huffman ´e usada para codificar o dado DCT. Se a largura de banda ´e li- mitada, os componentes das freq¨uˆencias mais altas ser˜ao cortados. A codificac¸˜ao MPEG pode degradar neste caminho para permiter menores larguras de banda em uma m´ıdia.

3.3.1.2 Compensac¸ ˜ao de Movimento

A Compensac¸˜ao de Movimento ´e usada para predizer valores de pixels pelo realocamento de um bloco de pixels de uma imagem anterior. Este movimento ´e descrito por um vetor bi- dimensional ou movimento de sua ´ultima posic¸˜ao.

A maioria dos erros de predic¸˜ao ser˜ao pequenos uma vez que os valores de pixel n˜ao apre- sentam uma mudanc¸a grande em uma ´area pequena. Os valores do erro ir˜ao comprimir mais e melhor do que os valores por si pr´oprios.

3.3.1.3 Tipos de Quadros MPEG

Seq¨uˆencias de um v´ıdeo MPEG compreendem GOPs. Cada GOP (Grupo de figuras) com- preende um quadro de v´ıdeo de trˆes diferentes tipos. Estes quadros s˜ao:

• Quadros I (I-frames ou Intra Coded Frames) : usam codificac¸˜ao DCT somente para com- primir um quadro ´unico sem referˆencia a nenhum outro quadro na seq¨uˆencia. Tipicamente quadros I s˜ao codificados com 2 bits por pixel na m´edia. Como o dado inicial ´e composto por 4 bytes de Y, 1 byte de U e 1 byte de V (total de 6 bytes = 48 bits) por pixel, este d´a uma raz˜ao de 24:1 na compress˜ao. Para um posicionamento aleat´orio de um v´ıdeo sendo exe- cutado, o decodificador deve comec¸ar o processo por um quadro I e n˜ao por um quadro P. Os quadros I s˜ao inseridos a cada 12 ou 15 quadros e s˜ao usados para iniciar a seq¨uˆencia, permitindo que o v´ıdeo seja executado em posic¸˜oes aleat´oria e para avanc¸o e retrocesso r´apido.

• Quadros P (P-frames ou Predicted frames) : o quadro P ´e codificado a partir da previs˜ao dos novos pixels em raz˜ao do ´ultimo quadro I ou P. Os quadros P usam predic¸˜ao de movi- mento e d˜ao uma raz˜ao de compress˜ao maior que os quadros I dependendo da quantidade de dados presentes. As diferenc¸as entre o quadro previsto e o atual s˜ao codificados. A maior parte de erros da previs˜ao ser˜ao pequenos uma vez que os valores dos pixels n˜ao apresentam mudanc¸as grandes em uma ´area pequena.

• Quadros B (B-frames ou Bi-directional frames) : s˜ao codificados como diferenc¸as do ´ultimo ou pr´oximo quadros I ou P. Quadros B s˜ao predic¸˜oes como os quadros P mas de cada bloco B tanto os quadros I ou P sucessores e antecedentes s˜ao usados. Quadros P usam predic¸˜ao de movimento e codificac¸˜ao DCT. Por causa que quadros B necessitam dos quadros antecessores e sucessores para a codificac¸˜ao corrente, a ordem de leitura dos quadros MPEG ´e diferente da ordem de visualizac¸˜ao.

Estes quadros est˜ao entrelac¸ados em uma seq¨uˆencia como IBBPBBP.. ou IBPBPBPBP. O anterior ´e mais dif´ıcil de codificar mas provˆe uma compress˜ao maior dos dados que o ´ultimo.

Documentos relacionados