Os Formatos de Compressão de Vídeo

Tudo começou quando alguém percebeu que ao exibir fotos muito rápido, as pessoas tinham a ilusão de movimento. Não demorou muito para inventarem as primeiras máquinas de filmar, que ainda utilizavam película, e eram movidas à manivela. Depois, surgiu a televisão, que tem um funcionamento muito parecido com os monitores. Elas recebem um sinal analógico através da antena ou cabo (os monitores CRT também são analógicos) e com ele varrem a tela, linha a linha, 30 vezes por segundo, criando as imagens.

Os filmes em película tem uma resolução muito boa, tanto que até hoje são usados nos cinemas, mas em compensação são caríssimos. Não é algo que você teria condições de assistir em casa por exemplo. A televisão por sua vez é bem acessível, o aparelho é barato e os sinais podem ser transmitidos para o país inteiro e muitas vezes serem capitados até mesmo pelos nossos vizinhos do mercosul, mas por outro lado, tem uma qualidade de imagem muito ruim se comparado com os filmes em película e existe o problema de interferência do sinal. Logo depois surgiram as firas VHS, que armazenam vídeo com uma qualidade ainda inferior à da TV, mas em compensação, podem ser gravadas, regravadas, copiadas e distribuídas.

Mas, tudo isto é do tempo em que os computadores mais avançados equipavam salas inteiras, pesavam toneladas e demoravam horas para terminar cálculos complexos. Desde a década de 70, os computadores vem seguindo a lei de Moore e dobrando de desempenho a cada 18 meses. Assistir um DVD, que seria algo impensável usando um 386 é brincadeira de criança para um processador atual. Por outro lado, quando foi o último grande avanço em se tratando de vídeo analógico?

Assim como áudio, imagens, texto, etc. trabalhar com vídeo digitalizado traz grandes vantagens. Não se perde qualidade ao tirar cópias ou editar o original. A qualidade não se degrada com o tempo, ao contrário do vídeo gravado em fitas e é possível arquivar e manipular os arquivos com muito mais facilidade. Não é à toa que o SBT está investindo pesado para digitalizar seu acervo de 100.000 horas de programação.

Depois das vantagens de se trabalhar com vídeo digitalizado, cabe falar um pouco sobre os problemas. Imagine um vídeo com resolução de 720 x 576 e 16 bits de cor. Sem compressão, teríamos 1,35 MB por quadro, com 25 quadros por segundo teríamos incríveis 33,75 MB/s! Mesmo 4 HDs IDE em RAID 0 teriam dificuldades em transmitir um fluxo de dados tão grande. Isso sem contar que duas horas de filme neste formato consumiriam incríveis 243 GB. Novamente, seriam precisos 4 HDs em RAID, agora para armazenar o filme.

O trabalho do processador, por outro lado, seria muito pequeno pois ele teria apenas que enviar o vídeo para a placa de vídeo, não precisaria fazer nenhum trabalho de decodificação.

Compressão de vídeo

Já que em qualquer PC o processador é muito mais rápido do que os HDs, nada mais lógico do que comprimir os vídeos. Assim, diminuímos o tamanho dos arquivos, junto com a necessidade de HDs muito rápidos em troca de uma parte do desempenho do processador. É justamente neste idéia que se baseia o MPEG, o formato usado no DVD e em várias outras aplicações.

O MPEG trabalha aplicando dois tipos de compressão. A primeira é baseada nas cores, o algoritmo procura por agrupamentos de pixels com a mesma cor e os substitui por um único código, algo parecido com o usado no formato JPG. Com esta primeira camada de compressão já é possível compactar os vídeos numa razão de mais ou menos 1/3. Já é um grande ganho, mas ainda não é o suficiente para colocar duas horas de filme em um DVD.

A segunda etapa da compressão é um pouco mais inteligente. A imagem é dividida em pequenos blocos de 16 x 16 pixels cada um, chamados de macro blocks. Ao invés de simplesmente atualizar toda a imagem a cada quadro, são mudados apenas os blocos que foram alterados de forma perceptível entre um quadro e outro.

Veja um exemplo abaixo. Estes são três quadros do Toy Story 2 (©Disney/Pixar), onde o Buzz está falando algo. Note que em três quadros, quase não houve movimentação. Ele apenas mexeu um pouco a boca e a cabeça. O restante do quadro continua idêntico:

image001©Disney/Pixar
image002©Disney/Pixar
image003©Disney/Pixar

Usando vídeo sem compressão, cada quadro seria uma nova imagem. Mas, graças ao MPEG, são capturadas apenas as diferenças entre os quadros. Mesmo em cenas com movimentação rápida é raro serem alterados mais do que 20 ou 30% dos macro blocks a cada quadro da imagem.

Somados, os dois modos de compressão permitem compactar o vídeo de 243 GB que tínhamos originalmente, a ponto dele poder ser armazenado em único DVD. Claro, que o processo resulta em alguma perda, como sempre temos ao salvar uma imagem em JPEG, mesmo escolhendo mante-la com 90 ou 95% da qualidade, por exemplo. Mas, neste caso, o benefício fala mais alto, já que mesmo com a compressão um DVD tem uma imagem incomparavelmente superior ao de uma fita VHS. Se não fosse a compressão, não haveria DVD.

As variações do MPEG

O MPEG divide-se em três formatos, chamados de MPEG 1, MPEG 2 e MPEG 4

O MPEG 1 é o formato mais antigo, lançado em 92, que previa a criação de vídeos com qualidade de fitas VHS. Graças a isto, a resolução está limitada a 352 x 288 e o audio a 48 kHz. Os vídeos em MPEG 1 têm um bit-rate no máximo 3 megabits por segundo, apesar do mais usado ser apenas 1380 kbits, que permite gravar pouco mais de uma hora de vídeo em um CD comum. Este formato ainda é muito usado por muitas placas de captura de vídeo, pois graças à baixa resolução é preciso pouco poder de processamento tanto para comprimir quanto para exibir o vídeo. Infelizmente, a qualidade também não é das melhores.

O MPEG 2 é a evolução deste formato, que permite resoluções mais altas, de até 1920 x 1052, apesar dos 720 x 576 do DVD serem o modo mais utilizado. O áudio também foi melhorado, passou a ser de 96 kHz e com suporte a até 8 canais.

Apesar do algoritmo de compactação no MPEG 1 e 2 ser fundamentalmente o mesmo, o MPEG 2 trouxe algumas melhorias importantes, como por exemplo a capacidade de misturar trechos de qualidades diferentes dentro de um mesmo vídeo. Isso permite que sejam usados menos bits nas cenas com pouco movimento e mais bits nas cenas de ação. Isso mantém o vídeo uniforme e diminui bastante o tamanho do arquivo final.

O problema é que quanto maior a resolução, mais pesado é o trabalho de codificação e decodificação do vídeo. Isso explica por que é necessário um Pentium II 350 para assistir filmes em DVD com qualidade, sem a ajuda de uma placa decodificadora.

MPEG 4

O MPEG 2 possibilita uma qualidade de imagem fantásticas, mas os arquivos ainda são grandes demais para várias aplicações, como por exemplo, transmissão de vídeo pela Internet. Mesmo com uma conexão via ADSL a 256 k, demorariam pelo menos dois dias para baixar um vídeo de duas horas com qualidade de DVD.

Aproveitando esta lacuna, surgiram formatos como o Real Vídeo e o Windows Media, que geram arquivos de baixíssima qualidade, mas que em compensação podem ser assistidos via streaming usando um simples modem de 56k. Mas, uma tela do tamanho de um tijolinho de lego não é algo muito empolgante, o ideal seria algo com uma qualidade próxima à do DVD. Surgiu então o MPEG 4.

Este formato usa um sistema de compressão bem mais inteligente que o do MPEG 2, pois além de trabalhar atualizando apenas as partes da imagem que foram modificadas é capaz de tratar partes da imagem como objetos.

Abaixo está um exemplo de transição de quadros onde este sistema funciona muito bem. Veja que o Buzz move-se para a direita e mexe a cabeça, mas o restante do corpo se mexe muito pouco. No MPEG 2 toda a parte da imagem que se movimenta seria trocada no quadro seguinte. No MPEG 4 são trocadas apenas as partes que se movem. Além do Woody e do fundo, as partes do Buzz que se moveram, mas não sofreram modificação entre os quadros seriam mantidas:

image004©Disney/Pixar
image005©Disney/Pixar

Este sistema funcionaria ainda melhor em uma cena com um objeto em movimento, um carro indo de um canto ao outro da imagem por exemplo. Tanto o fundo, quanto a imagem do carro seriam salvos e o algoritmo se encarregaria de simplesmente mover o “objeto carro” como se fosse um vetor de uma imagem do Corel Draw. Veja que para isso funcionar é preciso desprezar mudanças sutis nos objetos. Uma pequena variação de luminosidade por exemplo, seria ignorada. É mais uma pequena perda de qualidade em relação a um vídeo em MPEG 2.

Este ganho em termos de compressão é ampliado pela versatilidade permitida no MPEG 4. É possível por exemplo comprimir o áudio separadamente do vídeo. Com isto, você pode compactar o áudio em MP3 e diminuir consideravelmente o tamanho total do arquivo.

Outro recurso interessante é a possibilidade de escolher qualquer bit-rate. Na prática, isto significa que você pode gerar vídeos do tamanho que quiser. Claro que quanto menor o arquivo, pior a qualidade, mas é possível chegar a extremos, como transformar um filme de duas horas num arquivo de 20 MB (lembra-se do tijolinho de lego? 🙂

Em comparação com o DVD, é possível compactar o vídeo numa razão de 1/3 sem ter uma perda muito grande na qualidade. É por isso que muitos filmes em Divx;-) costumam vir em dois CDs, que juntos têm pouco menos de 1/3 da capacidade de um DVD. Também é comum vermos filmes com 600 ou 700 MB, que podem ser armazenados em um único CD (no caso dos de 700 MB seria necessário um CD de 80 minutos), mas neste caso já há uma grande perda de qualidade.

Seria possível ainda compactar um vídeo de duas horas, com qualidade semelhante à de uma fita VHS em um arquivo de 200 ou 300 MB.

Na verdade, o Divx;-) usa o MPEG 4, a diferença é que os codecs e todos os programas que precisa para editar e assistir os vídeos estão disponíveis gratuitamente pela Net.

Você pode baixar o Virtual-Dub, que pode ser usado para editar e compactar os vídeos, juntamente com os Codecs necessários através dos links abaixo:

O Divx possui dois codecs, chamados de High Motion e Low Motion. No Virtual Dub você pode escolher entre um ou outro clicando em “Video” e em seguida em “Compression…” . Escolha entre Divx Low e Divx High.

image006

Como o nome sugere, o codec Low Motion é mais indicado para filmes com poucas cenas de movimentação, pois ele usa um bit-rate fixo. Isto significa que tanto numa cena com alguém parado falando, quanto em outra com um avião explodindo, será reservada a mesma quantidade de dados por segundo de vídeo. A primeira cena ficará perfeita, enquanto a segunda virará um borrão.

No codec Fast Motion não se estabelece um bit-rate fixo, mas sim um bit-rate máximo. O algoritmo mantém uma relação entre o número de cenas de movimentação rápida e de movimentação lenta, e ajusta o bit-rate de acordo com a cena, para que todas tenham uma qualidade aceitável. Em compensação, é complicado calcular o tamanho final do vídeo, já que o bit-rate muda a cada cena, respeitando apenas o limite máximo.

Uma terceira opção é gerar dois vídeos separados, um compactado usando Low Motion e outro usando Fast motion e em seguida usar o Make Film para junta-los. Neste caso, caso o objetivo final fosse gerar um arquivo de 600 MB, você poderia gerar um arquivo de 400 MB usando o Low motion e outro de 1 GB usando o Fast Motion. Ao abrir o Make Film você estabelece que o arquivo final deverá ter no máximo 600 MB, aponta os dois arquivos e o programa se encarrega de juntar as melhores cenas de cada formato, gerando um arquivo misto, de melhor qualidade. Você pode baixa-lo pelo link abaixo:

http://www.divx-digest.com/software/makefilm.html

Existe apenas um pequeno problema com esta brincadeira toda, que é o tempo que os vídeos demoram para serem compactados. Um vídeo em MPEG 2 de duas horas, com qualidade de DVD, demora cerca de 14 horas para ser compactado em MPEG 4, usando o Virtual Dub, num Pentium III 600. Se você tiver um processador mais rápido, o tempo irá diminuir proporcionalmente, mas mesmo assim ainda será bastante. Caso pretenda usar o Make Film, o tempo necessário triplica, pois você precisará gerar três vídeos no total.

Uma dica para quando for ripar seus DVDs é salvar os filmes com resolução de 320 x 240 ao invés dos 720 x 480 que é a resolução nativa do DVD. Isso permitirá que o filme possa ser assistido sem qualquer falha na movimentação um Celeron 600, enquanto a 720 x 480 você teria falhas nas cenas de movimentação mais rápida mesmo num Athlon de 1.0 GHz. Afinal, estamos falando de uma resolução mais de quatro vezes maior.

Na hora de assistir, basta configurar o player para usar zoom de 2x, ou então assistir em tela cheia. Ao contrário do que pode parecer à primeira vista, você conseguirá filmes em Divx com uma qualidade bastante superior à 320 x 240, principalmente em filmes de movimentação rápida. O raciocínio é simples, ao usar uma resolução mais baixa, sobrarão mais bits para cada pixel e cada quadro. Com isto você terá uma reprodução de cores mais fiel e uma movimentação mais perfeita e não precisará de um PC topo de linha para conseguir assistir aos filmes. Faça um teste e veja a diferença por sí mesmo.

Transmissão via Web

Os vídeos compactados em MPEG 4 são uma boa alternativa para a distribuição de vídeos via Web. Na verdade, muita gente já vem fazendo isso, basta procurar o Edonkey 2000 ou outro programa de compartilhamento de arquivos popular e você encontrará até mesmo os últimos lançamentos, filmes que mal estrearam nos cinemas e já estão na Web.

Mas, além da pirataria de filmes, o formato pode ser usado para distribuir qualquer tipo de vídeo via Web. É uma alternativa ao Real Player, pois não é preciso assistir o video via streaming, sujeitando-se às paradas da transmissão, mas sim baixar o vídeo na qualidade desejada e depois assisti-lo sem percalços.

É possível gerar vídeos menores do que você imagina. Um vídeo de 2 minutos, pode ficar com 2 MB, até mesmo 1 MB com uma qualidade bem superior ao que teria um streaming em real vídeo ou Windows media para modems de 56 k.

Neste caso, você poderia capturar os vídeos em MEG 1 ou MPEG 2 usando uma placa capturadora, ou mesmo fazer alguma coisa usando sua Webcan e em seguida compactá-los usando o Virtual Dub e os codecs que citei acima.

Quem for assistir o vídeo, precisará apenas instalar o Divx Codec e o MP3 codec (caso você tenha escolhido compactar o áudio em MP3) para assisti-los através do Media Player.

AUTOR: Carlos E. Morimoto

FONTE: GUIA DO HARDWARE.NET

Deixe um comentário