Sistemas Multimídia
Vídeo
Profa. Débora Christina Muchaluat Saade
[email protected]
Departamento de Ciência da Computação - UFF
Sistemas Multimídia
Vídeo
Princípios da Compressão de Vídeo
•
Redundância inter-quadro
–
Estimativa de Movimento
H.261
H.263
MPEG-1, MPEG-2
MPEG-4/H.264
Sistemas Multimídia
Vídeo
Vídeo = sequência de imagens
•
Quadros (frames)
Estrutura do Vídeo
•
Resolução espacial
–
resolução geométrica + resolução de cor
•
Resolução temporal
–
n
o. de quadros por seg.
Sistemas Multimídia
Exemplo de Padrão de Vídeo (TV)
Sistema NTSC
• formato 4:3
• 525 linhas
• 30 quadros/seg
• Sistema de cores
– Luminância e crominância
– Sistema YIQ (NTSC)
• Y = 0.299R + 0.587G + 0.114B
• I = 0.74 (R - Y) – 0.27 (B – Y)
• Q = 0.48 (R - Y) + 0.41 (B – Y)
Sistemas Multimídia
Compressão de Vídeo
Pode-se utilizar algoritmos para comprimir imagens e tratar cada quadro do 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
Sistemas Multimídia
Princípios da Compressão de Vídeo
Redundância espacial (intra-quadro)
Redundância temporal (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 3s => (60 quadros/seg.) => 180 quadros
•
Estimação de movimento (motion estimation)
•
Compensação de movimento (motion compensation)
Sistemas Multimídia
Tipos de Quadro
2 tipos de quadros
•
Codificados de forma independente
–
Intracoded frames
• I-frames/quadros-I
•
Quadros estimados (predicted frames)
–
Predictive frames
• P-frames/quadros-P
–
Bidirectional frames (intercoded or interpolation frames)
• B-frames/quadros-B
Sistemas Multimídia
Tipos de Quadro
Sistemas Multimídia
Tipos de Quadro
Quadros-I
• Codificados de forma independente
• Matrizes Y, Cr, Cb Codificadas com JPEG
– DCT, quantização, codificação por entropia
• Ideal que fosse sempre o primeiro quadro de cada nova cena de um filme. Na prática, isso não acontece:
– algoritmo de compressão é independente do conteúdo
– Quadros-I devem aparecer em intervalos regulares com frequência alta
• Evitar grandes perdas de informação se um quadro-I for perdido
GOP (Group of Pictures)
• Número de quadros entre 2 quadros-I sucessivos
– Tipicamente de 3 a 12 quadros
Sistemas Multimídia
Tipos de Quadro
Quadros-P
•
Conteúdo relativo a um quadro-I ou quadro-P anterior
•
Na prática, o número de quadros-P entre cada par de quadros-I sucessivos é limitado para evitar
propagação de erros
•
Codificados usando estimação e compensação de movimento
–
Pequenos blocos de dois quadros sucessivos são
comparados para identificar movimentos de objetos de
um quadro para o outro
Sistemas Multimídia
Estimação e Compensação de Movimento
Sistemas Multimídia
Tipos de Quadro
Quadros-B
•
Conteúdo relativo a um quadro-I ou quadro-P anterior ou posterior
•
Codificados usando estimação e compensação de movimento
•
Não propagam erros
–
Não estão envolvidos na decodificação de outros
quadros
Sistemas Multimídia
Quadro-B
Sistemas Multimídia
Tipos de Quadro
Decodificação
• Quadro-I => imediata
• Quadro-P => precisa do 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
• Sequência original
– I B B P B B P B B I B B P...
Sistemas Multimídia
Tipos de Quadro
Quadro-PB
• Dois quadros –P e –B vizinhos codificados juntos
• Aumenta taxa de quadros sem aumentar significativamente a taxa de bits
Quadro-D
• 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-forward e rewind no vídeo em aplicações de vídeo-sob-demanda (VoD)
Sistemas Multimídia
Estimação e Compensação de Movimento
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 continua 8x8
Exemplo no formato 4:2:0
• 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
Sistemas Multimídia
Estimação e Compensação de Movimento
Para codificar quadro-P (quadro alvo)
• Conteúdo de cada macrobloco é comparado pixel-a-pixel com o conteúdo do macrobloco correspondente no quadro-I ou –P anterior (quadro de referência)
– Se o conteúdo casar, só o endereço do macrobloco é codificado
• Se o conteúdo não casar, a comparação é estendida em um área em volta do macrobloco no quadro de referência
– Só o conteúdo da matriz Y é utilizado na procura
– Se a média dos erros absolutos de todos os pixels no macrobloco diferença for menor que um threshold => conteúdo casou
Sistemas Multimídia
Estimação e Compensação de Movimento
Se o conteúdo casou
•
2 parâmetros são codificados:
–
Vetor de movimento (x,y)
• deslocamento do macrobloco sendo codificado e a área selecionada no quadro de referência
–
Erro da estimativa
• 3 matrizes Y, Cr, Cb com a diferença dos valores de todos os pixels entre o macrobloco alvo e a área
selecionada no quadro de referência
Sistemas Multimídia
Estimação e Compensação de Movimento
Sistemas Multimídia
Estimação e Compensação de Movimento
Como macroblocos são pequenos
• Objetos que se movem em uma cena normalmente correspondem a vários macroblocos
– Vários macroblocos são afetados de maneira similar
• Vetor de movimento é codificado com codificação diferencial (depois Huffman)
Três matrizes diferença são codificadas como nos quadros-I
• JPEG (DCT, quantização e codificação por entropia)
Se não encontrar área correspondente no quadro de referência
• Codifica o macrobloco de forma independente como no
Sistemas Multimídia
Estimação e Compensação de Movimento
Possibilidades de conteúdo de um macrobloco de quadro-P:
•
Endereço do macrobloco do quadro-I ou –P anterior
•
Vetor de movimento e matriz diferença em relação a um macrobloco do quadro anterior
•
Codificado de forma independente como no
quadro-I
Sistemas Multimídia
Estimação e Compensação de Movimento
Para codificar quadro-B (quadro alvo)
•
Vetor de movimento e matrizes diferença são computados
–
Primeiro com relação ao quadro-I ou –P anterior
–
Depois com relação ao quadro-I ou –P posterior
–
E ainda com a média dos conjuntos de valores computados anteriormente
•
O conjunto com o menor conjunto de matrizes
diferença é codificado como nos quadros-P
Sistemas Multimídia
Estimação e Compensação de Movimento
Sistemas Multimídia
Compressão de Vídeo
Quadros-I
Sistemas Multimídia
Compressão de Vídeo
Quadros-P
Sistemas Multimídia
Compressão de Vídeo
Quadros-B
Sistemas Multimídia
Estimação e Compensação de Movimento
Exemplo de formato do macrobloco codificado
•
Tipo do quadro (I, P, B)
•
Endereço
•
Valor usado na quantização dos coeficientes DCT
•
Vetor de movimento (se existir)
•
Quais blocos 8x8 estão presentes
•
Coeficientes DCT codificados como no JPEG para
os blocos presentes
Sistemas Multimídia
Princípios da Compressão de Vídeo
Tráfego gerado pelo codificador é VBR
Decodificador é mais simples, pois não precisa calcular estimativa de movimento
Taxas de compressão típicas:
•
Quadros-I
–
Similar ao JPEG (10:1 a 20:1)
•
Quadros-P
–
20:1 a 30:1
•
Quadros-B
–
30:1 a 50:1
Sistemas Multimídia
H.261
Padrão do ITU-T para serviços de videotelefonia e
videoconferência em redes digitais de serviços integrados (ISDN)
• Canais de transmissão em taxas múltiplas de 64 Kbps
• Padrão conhecido como px64, com p entre 1 e 30
– 64 kbps a 1.92 Mbps
Formatos de digitalização
• Common Intermediate Format (CIF)
• Quarter CIF (QCIF)
• Formato 4:2:0 não entrelaçado
Sistemas Multimídia
H.261
Cada quadro é dividido em macroblocos de 16x16
•
Resolução horizontal de 352 amostras (22 macroblocos)
•
Resolução espacial
•
Resolução temporal
Formato Y Cr e Cb
CIF 352 x 288 176 x 144
QCIF 176 x 144 88 x 72
Formato No. Quadros/seg
CIF 30
Sistemas Multimídia
H.261
Só quadros-I e –P
Três quadros-P entre cada par de quadros-I
Sistemas Multimídia
H.261
Frame H.261 define estrutura de grupos de macroblocos
GOB – group of (macro)blocks
•
Matriz de 11 x 3 macroblocos
Sistemas Multimídia
H.261
12 GOBs no CIF (2 x 6) e 3 GOBs no QCIF
Sistemas Multimídia
H.261
Como a taxa gerada é variável, codificador utiliza buffer para regular a taxa de bits,
transformando-a em taxa constante para enviar no canal de transmissão
ajustes necessários são feitos variando o valor do
threshold de quantização
Sistemas Multimídia
H.261