Compressão de vídeo

compactação de fluxos e arquivos de vídeo digital

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

Production Level Video editar

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

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

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

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

Tipos de Quadro editar

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...
  • 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)

Estimativa e Compensação de Movimento editar

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

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

Referências

  1. «Como Funciona a Compressão de Vídeo». Clube do Hardware. Consultado em 7 de Janeiro de 2016 
  2. «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