Compressão de vídeo
Foram assinalados vários problemas nesta página ou se(c)ção: |
Compressão de vídeo envolve diminuir o tamanho de um vídeo (podendo ser com perda ou sem perda), utilizando-se de uma técnica que remove das imagens as informações que já foram projetadas.
Um vídeo (como arquivos do tipo AVI ou MPEG) é formado por várias imagens sendo projetadas. Cada imagem é chamada quadro e a quantidade de imagens projetadas por segundo é chamada cadência, medida em quadros por segundo (qps) ou frames por segundo (fps). Quanto mais quadros por segundo seu vídeo tiver, mais realista será a imagem. Vídeos normalmente trabalham com a mesma cadência da TV, que é de 30 quadros por segundo.
Uma maneira de diminuir o tamanho do vídeo é justamente diminuindo a quantidade de quadros por segundo. O tamanho do vídeo diminui, mas sua qualidade também: há “quebras de quadro”, isto é, os movimentos no vídeo ficam “truncados”, menos realistas.
Um exemplo de técnica é o qual o primeiro quadro deste vídeo é projetado integralmente, mas no próximo os pedaços da imagem que são idênticos ao quadro anterior são removidos, economizando uma grande quantidade de espaço, já que somente o primeiro quadro precisa estar completo e os demais são compostos somente da diferença entre o quadro anterior e o atual[1]. Esses quadros incompletos são chamados quadros delta (delta frames).
Técnicas de compressão
[editar | editar código-fonte]Production Level Video
[editar | editar código-fonte]O PLV (Production Level Video) é uma técnica de compressão assímétrica para a codificação de video a cores que requer que a mesma seja feita pela Intel® ou por uma entidade licenciada pela mesma.
O RTV (Real Time Video) proporciona uma qualidade de video comparável à compressão JPEG e usa uma técnica de compressão simétrica e variável.
As técnicas de compressão DVI permitem a compressão do video com taxas de 80:1 até 160:1 e a sua visualização a cores e em tamanho real a 24 frames por segundo, enquanto que o JPEG só permite a visualização de uma imagem aceitável numa pequena janela.
MPEG
[editar | editar código-fonte]No padrão MPEG os quadros delta podem ser classificados em quadros P (de “predictive”) ou quadros B (de “bidirecionais”). Os quadros P funcionam da maneira descrita, enquanto os quadros B podem ainda ter a diferença não só para o quadro anterior, mas também a diferença para o quadro seguinte na seqüência, daí o nome “bidirecional”.[2]
O problema é que por conta desta técnica, não haveria como você usar os recursos de avanço e retrocesso do seu tocador de mídia, pois ele precisaria tocar o filme desde o início para poder construir uma imagem que esteja no meio do filme, já que no meio do filme só haverá a informação do que é diferente para o quadro anterior e não uma imagem completa.
Por isso, de tempos em tempos é necessário inserir um quadro completo (como o primeiro quadro do filme) para que os recursos de avanço e retrocesso possam ser usados. Esses quadros completos são chamados quadros-chave (key frames) ou quadros I (I-frames). Quanto mais quadros-chave seu vídeo tiver, maior ele será (pois mais imagens completas, que ocupam mais espaço, serão inseridas), mas em compensação mais pontos de avanço e retrocesso existirão. Você precisa de espera que o tocador chegue a um quadro-chave para que este consiga mostrar o vídeo; quanto menos quadros-chave o vídeo tiver mais frequente será este problema no seu vídeo.
Perda de dados
[editar | editar código-fonte]Existem técnicas em que cada quadro é comprimido usando um algoritmo baseado em perda de dados, da mesma forma que ocorre com imagens no formato JPEG e áudio no formato MP3. Isso significa que o vídeo comprimido não tem a mesma qualidade do vídeo original.
Princípios
[editar | editar código-fonte]Pode-se utilizar algoritmos para comprimir imagens e tratar cada de quadro de vídeo individualmente.
M-JPEG - Motion J-PEG
Taxas típicas entre 10:1 e 20:1 não são suficientes para vídeo
Formato 4:2:2 para vídeo digital
Taxa de 216 Mbps
- Redundância espacial (intra-quadro)
- Redundância inter-quadro
- Em um conjunto de quadros, pequenos movimentos acontecem de um quadro para outro
- Videotelefonia (movimento dos lábios e olhos)
- Cena de filme (pessoa ou veículo em movimento)
- Ex.: cena de 3 s => (60 quadros/seg) => 180 quadros
- Tipos de Quadro
- Estimativa de Movimento
- Compensação de movimento
- Em um conjunto de quadros, pequenos movimentos acontecem de um quadro para outro
Tipos de Quadro
[editar | editar código-fonte]2 tipos de quadros
- Codificados de forma independente
- Intracoded frames (I): I-frames/Quadros-I
- Quadros estimados (predicted frames)
- Predictive frames (P): P-frames/Quadros-P
- Bidirectional frames (B - Intercoded ou interpolation frames): B-frames/Quadros-B
- GOP - Group of Pictures
Decodificação
- Quadro-I: imediata
- Quadro-P: precisa do quadro quadro -I ou -P anterior
- Quadro-B: precisa do quadro -I ou -P anterior e do quadro -I ou -P posterior
- Maior retardo para decodificar
- Para minimizar o retardo de decodificação dos quadros -B
- ordem da codificação/transmissão dos quadros é invertida
- ambos os quadros -I ou -P anterior e posterior estão disponíveis quando um quadro -B é recebido
- Exemplo:
- Sequência original
- I B B P B B P BB I B B P...
- Sequência codificada
- I P B B P B B I B B P B B...
- Sequência original
- Quadro-PB
- Dois quadros -P e -B vizinhos codificados juntos
- Aumenta taxa de quadros sem aumentar significantemente a taxa de bits
- D - Quadro de menor resolução
- Quadros de menor resolução
- Só considera os coeficientes DC de cada matriz 8x8 JPEG
- Inseridos em intervalos regulares no fluxo de vídeo
- Não são usados no processo de decodificação de quadros -P e -B
- Usados para opções de fast-foward e rewind no vídeo em aplicações de vídeo-sob-demanda (VoD)
- Quadros de menor resolução
Estimativa e Compensação de Movimento
[editar | editar código-fonte]Usados na codificação de quadros -P e -B
Conteúdo da matriz de luminância Y é dividido em macroblocos de 16x16
- Cada macrobloco tem um endereço
Tamanho do bloco para operação da transformada DCT contínua 8x8
Exemplo no formato 4:1:1
- Para cada 4 amostras de luminância, 1 crominância Cr e 1 de crominância Cb
- Matrizes 8x8 para Cr e Cb
- 6 blocos DCT no total
Para codificar quadro-P (quadro alvo)
Para codificar quadro-B (quadro alvo)
Compressão de Vídeo
[editar | editar código-fonte]Quadros-I
Conteúdo do quadro alvo → (Macroblocos) → TCD Sequencial (FDCT) → Quantização (Q) → Codificação de Entropia (EE) → Formatador
Quadros-P
Conteúdo do quadro alvo → ["Caixa preta"] → Bit de fluxo codificado
Quadros-B
Conteúdo do quadro alvo → ["Caixa preta"] → Bit de fluxo codificado
Ver também
[editar | editar código-fonte]- ↑ «Como Funciona a Compressão de Vídeo». Clube do Hardware. Consultado em 7 de Janeiro de 2016
- ↑ «What does Bi-Directional Predictive Frame (B-Frame) mean?» (em inglês). Techopedia. Consultado em 7 de Janeiro de 2016
Li, Z, Drew, M. S. e Liu, J. (2014), "Fundamentals of Multimedia", 2 ed., 727 p. 350 fig., 97 fig. color., ISBN 0130618721