Compressão de video

12
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

description

Compressão de video

Transcript of Compressão de video

Page 1: Compressão de video

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

Page 2: Compressão de video

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

Page 3: Compressão de video

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:

©Disney/Pixar

©Disney/Pixar

©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

Page 4: Compressão de video

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 áudio 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.

Page 5: Compressão de video

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:

©Disney/Pixar

Page 6: Compressão de video

©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.

Page 7: Compressão de video

Seria possível ainda compactar um vídeo de duas horas, com qualidade semelhante à de uma fita VHS em um arquivo de 200 ou 300MB. 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.

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

Page 8: Compressão de video

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.

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

Page 9: Compressão de video

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.

Divx O MPEG é até hoje o formato de compressão de vídeo mais usado em qualquer tipo de vídeo em formato digital, incluindo naturalmente os DVDs. Porém, o formato usado atualmente, o MPEG 2, apesar de permitir uma qualidade de imagem muito superior à de uma fita VHS

Page 10: Compressão de video

comum, o que explica a qualidade dos filmes em DVD, não executa uma compactação de dados muito eficiente, fazendo com que os arquivos de vídeo fiquem enormes. O MPEG 4 aparece então como uma alternativa ao já cansado MPEG 2, permitindo compactar os vídeos em MPEG 2 numa razão de até 12 para 1, fazendo com que um filme em DVD de até 108 minutos caiba em um simples CD-ROM, mesmo mantendo a mesma resolução de imagem. O novo formato pode ser usado para compactar qualquer tipo de vídeo em MPEG, não apenas DVD. Isto traz a possibilidade de criar arquivos de vídeo muito menores para serem transmitidos pela Net. O MPEG 4 tem tudo para se tornar uma espécie de MP3 do ramo de vídeo. Em termos de qualidade de imagem há uma pequena perda, devido ao processo de compactação, que torna-se mais perceptível conforme diminui o tamanho do arquivo. Até 3 para 1 a perda não chega a ser algo muito grande, a 6 para 1 (o suficiente para colocar a maioria dos filmes em DVD num CD) já temos uma perda considerável. O maior problema do formato é que é preciso um micro poderoso tanto para assistir, quanto para compactar os vídeos. Para assistir um vídeo em MPEG 4 com qualidade de DVD, é preciso no mínimo um Pentium III 600, caso contrário haverá perda de fluidez da imagem. Para compactar os vídeos, não existe um mínimo muito definido mas, naturalmente, quanto mais lento for o micro, mais demorará para compactar os filmes. Compactar um DVD de 108 minutos demora aproximadamente 13 horas num Pentium III 600, imagine o que demoraria num micro mais lento... Naturalmente é possível gerar vídeos de resolução mais baixa, que poderão ser vistos sem problemas em micros mais lentos, e ocuparão menos espaço em disco. Um programa muito fácil de usar que faz a conversão dos vídeos para Divx;-) é o Virtual Dub. O programa tem apenas 800 KB e é freeware. Este programa é adequado para a compactação de filmes em DVD, é preciso um pouco de jogo de cintura nas configurações para conseguir bons resultados em vídeos de resolução mais baixa, mas você pode baixar e testar em qualquer vídeo em MPEG que tenha gravado no micro. Mas, antes de você sair por aí copiando DVDs, vale lembra que a cópia é

Page 11: Compressão de video

considerada pirataria, e naturalmente ilegal. Você pode fazer apenas uma cópia para uso pessoal, caso tenha comprado o DVD original. MP3 MPEG Layer 3. Padrão de compactação de áudio que permite que as músicas fiquem com 1/10 do tamanho original sem uma degradação muito grande da qualidade. Graças à esta versatilidade, o MP3 tornou-se rapidamente o padrão de arquivo de áudio na Internet. Inicialmente os usuários apenas ripavam seus CDs para poder ouvir suas músicas no micro na ordem que quisessem em gravar seus CDs com coletâneas. Mas, não demorou muito para que a troca de músicas virasse um hábito, impulsionado pelo Napster e mais tarde por outros programas de compartilhamento. Atualmente temos além dos MP3 Players portáteis, que armazenam as músicas em memória Flash ou num HD, alguns Disk-Mans capazes de reproduzir CDs com arquivos em MP3. A vantagem continua sendo a mesma que existe na web: o tamanho dos arquivos. Um CD pode armazenar apenas 74 minutos de música, mas é capaz de guardar mais de 12 horas de música em MP3. Os 64 MB de memória flash da maioria dos Players portáteis já são suficientes para armazenar uma hora de música com bit-rate de 128 k. Pixel Cada um dos pontos que formam uma imagem digitalizada. Pixel é a contração de "Picture Element". Num monitor colorido cada Pixel é composto por um conjunto de 3 pontos: verde, vermelho e azul. Cada um destes pontos é capaz de exibir 256 tonalidades diferentes (o equivalente a 8 bits) e combinando tonalidades dos três pontos é possível exibir 16 milhões de cores diferentes. Em resolução de 640 x 480 temos 307 mil pixels, a 800 x 600 temos 480 mil, a 1024 x 768 temos 786 mil e assim por diante. Nos monitores CRT geralmente é possível escolher entre várias resoluções diferentes, que vão de 640 x 480 a 1280 x 1024 ou outro valor suportado pelo monitor, sendo que a imagem não apresenta grandes distorções ao variar a resolução. Nos monitores LCD temos escolhas mais limitadas, já que estes monitores são capazes de exibir

Page 12: Compressão de video

imagens perfeitas apenas na sua resolução máxima (geralmente 1024 x 768)ou 786.432 Pixels. Usando resoluções mais baixas a imagem aparece borrada