Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de...

144
Compressão de Vídeo MPEG TT083

Transcript of Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de...

Page 1: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Compressão de Vídeo MPEG

TT083

Page 2: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

SumárioSumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional Técnicas de Compressão de Vídeo MPEG-1 Vídeo MPEG-2 Vídeo Conclusões

Page 3: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [1]Sistema Visual Humano (VHS) [1]

Na retina do olho existem diversos tipos de elementos foto-sensíveis (cones e bastonetes).

Existem três classes de células cones (foto-receptores de cor no olho) que têm sensibilidades diferentes aos comprimentos de onda do espectro visível. Fundamentalmente, são sensíveis às cores vermelho, verde e azul (padrão RGB).

As demais cores são formadas como médias ponderadas das cores primárias:

C = r x R + g x G + b x B

onde r, g e b representam o quanto um determinado comprimento de onda estimulou as três classes de receptores.

Page 4: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [2]Sistema Visual Humano (VHS) [2]

Azul Verde Vermelho

Sensibilidades dos três tipos de cones no olho humano

Page 5: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [3]Sistema Visual Humano (VHS) [3]

O olho humano é mais sensível ao verde, depois ao vermelho e por último ao azul.

Estes efeitos interessam em compressão porque não é necessário reproduzir fielmente detalhes que o olho não pode ver.

Desta forma, pode-se representar a imagem em outros padrões que explorem estas características, como em termos de luminância e crominância.

Luminância está relacionada ao brilho da imagem e é proporcional à energia emitida pela fonte.

Crominância está associada à percepção de saturação e matiz.

Page 6: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [4]Sistema Visual Humano (VHS) [4]

O olho percebe mais detalhes espaciais na componente de luminância do que na de crominância.

A maioria dos componentes de alta frequência de uma imagem está na luminância.

A sensibilidade cai em alta frequência para todos os componentes.

A maior sensibilidade está na componente de luminância em baixas frequências.

Page 7: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [5]Sistema Visual Humano (VHS) [5]

Componentes de alta frequência em uma imagem correspondem às bordas, detalhes, limites e ruído da imagem. Então, o maior conteúdo da imagem está em baixa frequência.

Ao se realizar uma filtragem passa-baixa em uma imagem, esta perderá a nitidez, mas as componentes de crominância quase não serão afetadas (uma imagem clara continuará clara e uma imagem escura continuará escura).

Page 8: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Sistema Visual Humano (VHS) [6]Sistema Visual Humano (VHS) [6]

Devido à sensibilidade do olho humano à magnitude e à fase da imagem, pode-se fazer uma análise objetiva dos codificadores de vídeo, uma vez que as formas de onda de entrada e saída devem ser iguais.

Lei de Weber = Resposta não-linear às mudanças na saturação - inversamente proporcional à saturação. Sensibilidade maior para níveis de saturação menor.

A região de fundo também deve ser levada em consideração. Se a saturação do fundo for maior (fundo mais escuro), a sensibilidade diminui.

Maior sensibilidade à padrões horizontais e verticais do que à padrões diagonais.

Page 9: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Espaços de Cores [1]Espaços de Cores [1]RGB, YUV, YCRCB, YCoCg…

Em sistemas de vídeo, as componentes RGB (já com correção de gama) estão definidas em uma escala relativa entre 0 e 1.

Os tons de cinza da imagem são produzidos quando R = G = B (gerando imagens com oito bits/pixel).

Branco – R = G = B = 1

Preto – R = G = B = 0

R, G e B contribuem para o brilho, mas precisam ser ponderadas de acordo com a sensibilidade relativa do olho à cada cor primária. Assim, tem-se a seguinte conversão para a componente de luminância:

Y = 0,229 x R + 0,587 x G + 0,114 x B

Page 10: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Espaços de Cores [2]Espaços de Cores [2]Para a representação da matiz e da saturação usam-se diferenças

de cores:

U = B – Y V = R – Y

Para eliminar os possíveis valores negativos, as componentes U e V são escalonadas e deslocadas, tal que:

CR = (V / 1,6) + 0,5 CB = (U / 2) + 0,5

Para obter a representação das componentes por oito bits, basta multiplicá-las por 255 (imagem colorida com 24 bits/pixel).

Uma das vantagens do YUV (YCRCB) é que as componentes de crominância podem ter uma taxa de amostragem menor sem degradação perceptível do sinal.

Page 11: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

4:4:4 Nenhuma informação é descartada. Pouco utilizado (24 bpp).

4:2:2 Os sinais de crominância são sub-amostrados por um fator de 2 na direção horizontal (16 bpp).

4:2:0 Os sinais de crominância são sub-amostrados por um fator de 2 nas duas direções, horizontal e vertical. É o mais utilizado (12 bpp).

Espaços de Cores [3]Espaços de Cores [3]

Page 12: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Espaços de Cores [4]Espaços de Cores [4]Os formatos YUV são divididos em formatos empacotados e

planares. Em um formato empacotado, as componentes Y, U e V estão armazenadas em um único vetor e os pixels estão organizados em grupos de macropixels. Em um formato planar, as componentes Y, U e V são armazenadas em três planos diferentes.

Formatos empacotados:

YUY2, UYVY, …

formato 4:2:2 preferido Direct-X

Formatos planares:

YV12, IMC2, IMC4, NV12,…

Page 13: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Espaços de Cores [5]Espaços de Cores [5]YCoCg (luminância + offset laranja + offset verde)

Y = 0,25 x R + 0,5 x G + 0,25 x B R = Y – Co – Cg

Co = 0,5 x R – 0,5 x B G = Y + Cg

Cg = -0,25 x R + 0,5 x G – 0,25 x B B = Y – Co – Cg

Ainda não é completamente reversível. Se todas as operações fossem multiplicadas por quatro, a reversibilidade seria alcançada, porém haveriam componentes de cor com mais de dois bits.

Solução = YCoCg – R (completamente reversível). Porém usa um bit a mais para cada componente de crominância.

Resultados melhores que os obtidos com YCRCB e com RCT (transformada de cor reversível do JPEG 2000).

Page 14: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Formatos de Vídeo [1]Formatos de Vídeo [1]

- Aproximadamente 30 frames / segundo

- Não-entrelaçados

Page 15: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Formatos de Vídeo [2]Formatos de Vídeo [2]

Formato Tipo de serviço

Resolução

240p LDTV 320 x 240

480i SDTV 720 x 480

480p SDTV 720 x 480

720p HDTV 1280 x 720

1080i HDTV 1920 x 1080

i – interlaced; p – progressive.

Page 16: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Porque comprimir o sinal?Porque comprimir o sinal?

TV de Alta Definição (HDTV)- 1920x1080- Taxa de Bits sem

compressão: 1,5 Gbps- Nível aceitável para

transmissão: 19 Mbps

TV de Definição Padrão (SDTV)

- 720x480- Taxa de Bits sem

compressão: 270 Mbps- Nível aceitável para

transmissão: 4 a 5 Mbps

Daí a necessidade

de comprimir o sinal!

Largura de Banda

6 MHz = 19 Mbps

Page 17: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Compressão vs. CompactaçãoCompressão vs. Compactação

Compressão: redução do número de bits utilizados para representar uma imagem, podendo ou não, ter uma imagem reconstruída diferente diferente da original (com perdas)

Compactação: compressão sem perdas. Aquela em que a imagem reconstruída deve ser identica a original

Page 18: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Objetivo da Compressão de Vídeo

Uma seqüência de vídeo digitalizada apresenta grande quantidade de redundância.

A codificação de vídeo (= compressão de vídeo) objetiva reduzir a Taxa de Bits através da redução de redundâncias.

Page 19: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Tipos de RedundânciaTipos de Redundância

Os valores dos pixels são correlacionados com seus vizinhos, dentro do mesmo quadro.

Os valores dos pixels são correlacionados com seus vizinhos entre quadros consecutivos.

Algumas componentes são irrelevantes para o sistema visual humano.

Alguns coeficientes codificados ocorrem com mais freqüência que outros.

REDUNDÂNCIA ESPACIAL

REDUNDÂNCIA

TEMPORAL

REDUNDÂNCIA

PSICOVISUAL

REDUNDÂNCIA

EM ENTROPIA

Exemplo de ferramenta de compressão

DCT

Estimação de

movimento

Quantização

VLC

Page 20: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Métodos Óbvios de CompressãoMétodos Óbvios de Compressão

Redução da Taxa de amostragem

Redução do número de níveis de quantização

Redução da Taxa de Atualização (refresh)

Problema

Problema

Problema

Sobreposição, assim deve-se respeitar a Taxa de Nyquist

Aparece nos contornos (bordas) da imagem

Flickering

Page 21: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Principais Ferramentas de CodificaçãoPrincipais Ferramentas de Codificação

DCT (Discrete Cosine Transform)QuantizaçãoCodificação EntrópicaVarredura Zig-ZagEstimação e Compensação de

Movimento (EM/CM)

Page 22: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura Principal do CodificadorEstrutura Principal do Codificador

Temporal

Espacial

PsicoVisual Entropia

Page 23: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura Principal do DecodificadorEstrutura Principal do Decodificador

Como o decodificador não tem acesso aos quadros originais de referência para reconstituir os quadros preditos, o codificador deve utilizar os mesmos quadros de referência utilizados pelo decodificador. Assim, é necessário aplicar uma quantização inversa e DCT inversa.

Page 24: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação PreditivaCodificação Preditiva

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

A maior parte da informação de um quadro pode ser predita a partir do quadro anterior.

A simples subtração entre frames consecutivos já reduz a energia do quadro a ser transmitido, porém ainda há uma quantidade significativa de energia a ser comprimida. Para isso, podem ser técnicas de compensação de movimento.

Page 25: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação PreditivaCodificação Preditiva

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

O DPCM faz a codificação do erro de predição gerado pela estimação do quadro a partir de quadros anteriores.

A faixa dinâmica do erro de predição resultante é menor do que a faixa do sinal. Assim, tem-se uma quantização mais precisa do erro do que do próprio sinal. A imagem diferencial é menos correlacionada, com variância menor, distribuição laplaciana com pico em zero.

Energia de um quadro e seu erro de predição

Page 26: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação e Compensação de Estimação e Compensação de Movimento (EM/CM)Movimento (EM/CM)

Estimação de Movimento é o processo pelo qual vetores de deslocamento são calculados no codificador. Usa o quadro anterior predito (do buffer) e o atual para determinar os vetores de deslocamento para os macroblocos. Assim, determina-se a quantidade de movimento existente entre os dois quadros.

Compensação de Movimento explora o fato de que a maior parte do movimento é previsível. Usa o quadro do buffer e os vetores de deslocamento para predizer o quadro atual. A predição é subtraída do quadro atual e o erro de predição é codificado.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 27: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação e Compensação de Estimação e Compensação de Movimento (EM/CM)Movimento (EM/CM)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 28: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação de MovimentoEstimação de Movimento Um vetor de deslocamento é gerado para cada macrobloco para

indicar a posição de um determinado bloco do quadro anterior no quadro atual, melhorando a predição do quadro atual.

O vetor de deslocamento é composto de duas componentes (horizontal e vertical).

De acordo com o erro de predição obtido, o modo de codificação do macrobloco pode ser: INTRA, INTER ou INTER + CM. Se o último modo for selecionado, além do erro de predição, estes vetores de deslocamento são transformados, quantizados e transmitidos para o decodificador como parte da bistream.

A imagem entre o quadro e a sua predição é a MCD (Motion Compensated Difference). Esta é a imagem codificada.

No MPEG, EM/CM é ainda mais desenvolvido, pois tem interpolação de quadros (quadros I, P e B).

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 29: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação de MovimentoEstimação de Movimento

Algoritmos de EM recursivos:

- Podem ser aplicados à blocos de pixels ou à um único pixel.

- PRA : Pel Recursive Algorithm. Assume que cada pixel da imagem de um corpo rígido teve um deslocamento transversal paralelo ao plano da câmera.

- Necessitam apenas do deslocamento anterior e de uma lei recursiva de estimação.

- Não têm efeitos de blocagem. Porém, têm alta complexidade computacional

- Este tipo de EM é chamada de “Backward Motion Estimation”.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 30: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação de MovimentoEstimação de Movimento

Algoritmos de EM baseados em casamento de blocos:

- Partem do princípio de que o movimento é sempre de um objeto rígido translacional e paralelo ao plano da câmera.

- O quadro é dividido em pequenos blocos que são procurados no quadro anterior a fim de se determinar o movimento dos blocos.

- A procura é realizada em uma região limitada do quadro anterior, chamada de janela de busca.

- Define-se, também uma função de casamento para a escolha da melhor posição.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 31: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação de MovimentoEstimação de Movimento

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

A diferença entre as coordenadas do bloco no quadro atual e as coordenadas deste mesmo bloco no quadro anterior é armazenada no vetor de deslocamento (VD).

Page 32: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Compensação de MovimentoCompensação de Movimento

Após a estimação do movimento, cada bloco do quadro anterior é deslocado de acordo com seu vetor de deslocamento.

A imagem assim gerada é a estimação do quadro atual baseada no quadro anterior.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 33: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Block matchingBlock matching A precisão da estimação depende de três importantes fatores:- Tamanho do bloco;- Tamanho da janela de busca;- Função de casamento.

As medidas de erro geralmente usadas são:– MSE: Mean Square Error– MAD: Mean Absolute Distortion (Mais usado)– NCCF: Normalized Cross-Correlation Function

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 34: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Block matchingBlock matching

Algoritmos de busca rápida do vetor deslocamento:

- A idéia é considerar que a função casamento é decrescente no sentido do vetor deslocamento correto. Esta direção é chamada de DMD – Direction of Minimum Distortion.

- TSS (Three-Step Search) – semelhante ao DMD com a diferença de que a cada passo 9 pontos são avaliados.

- OTS (One-at-a-time search)- CDS (Conjugate Direction Search)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 35: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Block matchingBlock matching

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 36: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Exemplo de Estimação de Exemplo de Estimação de Movimento Movimento ForwardForward

Grade de MB

Imagem anterior I ou P

Dentro da área de busca um bom casamento é encontrado. O codificador envia o vetor de

movimento apropriado

Imagem P

MB Atual. Visto que o casamento é encontrado este

MB é intercodificado

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 37: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estimação de Movimento Estimação de Movimento BackwardBackward

Imagem P ou I anteriorA busca nesta imagem não

encontra um bom casamento

Imangem B atual Próxima Imagem I ou PA busca nesta imagem

encontra um bom casamento

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 38: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação 3DCodificação 3D

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Uma sequência de vídeo também pode ser vista como um volume de dados, como um sinal tri-dimensional.

Elimina-se os problemas causados pela estimação de movimentos: atrasos, perdas, dificuldades em sequências de vídeo que apresentam movimentos rápidos ou que tenham rotação, zoom e mascaramento de objetos.

Ocorre uma perda na taxa de compressão, mas a qualidade do sinal reconstruído é alta.

Page 39: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

DCT (DCT (Discrete Cosine TransformDiscrete Cosine Transform)) A imagem é dividida em blocos 8x8 = 64 coeficientes não

correlacionados. Concentra a energia nos coeficientes de baixa freqüência. O coeficiente mais importante ocupa a posição relativa (0,0) no

bloco (coeficiente DC). Organiza a informação de forma que facilita a compressão.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 40: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

DCTDCT

DC: significa que não há mudanças de intensidade (baixas freqüências

AC: a intensidade do bloco varia rapidamente de pixel p/ pixel (altas freqüências

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 41: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Bloco 8x8 e sua transformadaBloco 8x8 e sua transformada

Page 42: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

DCTDCT

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 43: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Vantagens da DCT Vantagens da DCT

Os coeficientes DCT são quase completamente descorrelacionados, ou seja, independentes um dos outros e portanto podem ser codificados independentemente

A forma como decompõe os dados em freqüências é muito importante para a compressão pois permite que os coeficientes DCT sejam reduzidos de maneira consistente com com as propriedades do sistema visual humano

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 44: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Transformada Wavelet Transformada Wavelet

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Apresenta grande capacidade de concentrar a energia

Explora as características do Sistema Visual Humano

Diminui sensívelmente o efeito de bloco (bloccking effect) que é um dos principais problemas do JPEG baseado em DCT

Page 45: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Análise de Multiresolução (1 estágio)Análise de Multiresolução (1 estágio)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 46: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Análise de Multiresolução (3 estágios)Análise de Multiresolução (3 estágios)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 47: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Síntese da Wavelet Síntese da Wavelet

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 48: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

QuantizaçãoQuantização

É usada para reduzir a precisão dos coeficientes É a principal fonte de perda de informação Os coeficientes DCT são divididos por um valor de

quantização e arredondados Quanto maior o valor de quantização menor é a precisão do

coeficiente DCT quantizado Os valores de quantização são escolhidos para minimizar a

distorção na imagem reconstruída usando os princípios básicos do sistema visual humano

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 49: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

QuantizaçãoQuantização As transformadas não compactam o sinal, apenas

descorrelacionam os dados originais e compactam a energia em poucos coeficientes (aproximadamente sem perda).

A quantização é uma função que mapeia muitos pontos em um, reduzindo a precisão dos coeficientes. Por isso, não é reversível e não há como recuperar os valores originais após a quantização.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 50: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

QuantizaçãoQuantização

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

O vetor quantizado possui entropia menor que a entropia do vetor original e portanto, necessita de menos bits para ser representado digitalmente.

Assim, a escolha do número de níveis de quantização é que determina o número de bits necessários para a codificação.

Os coeficientes DCT são divididos por um valor de quantização e arredondados.

Quanto maior o passo de quantização menor é a precisão do coeficiente DCT quantizado.

Page 51: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

QuantizaçãoQuantização

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Os métodos de quantização se dividem em: progressivos, escalares e vetoriais.

Quanto mais uma função de densidade de probabilidade se desvia da função uniforme (máxima entropia), maior é o ganho em se usar quantizador não-uniforme sobre o quantizador uniforme.

Um exemplo simples de um quantizador escalar é o arredondamento de um número real para o inteiro mais próximo.

Page 52: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Quantização LinearQuantização Linear

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 53: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Quantização VetorialQuantização Vetorial

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Método estatístico de agrupamento de dados: K-means O algoritmo k-means, baseado na técnica estatística do centróide, toma um

parâmetro inicial k e divide um conjunto de dados em k grupos de tal forma que a similaridade dentro dos grupos seja alta enquanto que a similaridade entre os grupos seja pequena.

O procedimento do algoritmo é, em primeiro lugar, selecionar aleatoriamente k objetos do conjunto de dados, onde cada um destes objetos representará inicialmente uma média do centro de cada grupo. A seguir os demais objetos são classificados nos grupos para os quais apresentam maior similaridade. Um parâmetro tipicamente utilizado como medida de similaridade é a Distância Euclidiana.

222 )()()( ccc BBGGRRd

Page 54: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Quantização VetorialQuantização Vetorial

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Assim, o agrupamento dos dados se dá através das menores distâncias em relação ao centro dos grupos, ou seja, cada elemento é classificado no grupo para o qual apresenta a menor distância ao seu centro. O processo interativo consiste na atualização dos centros de grupos, através da média das coordenadas dos pontos de cada grupo. Os valores dos centros dos k grupos são, então, o resultado do processo interativo do k-means e os vetores que representam estas centróides são também chamados de codewords e o conjunto das codewords forma o codebook do quantizador vetorial.

Page 55: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Quantização VetorialQuantização Vetorial

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Cada componente da imagem (vetor 3D) é substituído por sua respectiva codeword e o índice da codeword é que é transmitido para o receptor (que deve possuir o mesmo codebook).

Codebooks de tamanhos grandes podem ser utilizados para treinamento de redes neurais, por representarem mais fielmente os dados de um determinado conjunto.

Um codebook grande pode ter uma estrutura de árvore ou ser formado pelo produto cartesiano vários codebooks menores.

É mais usada em codificadores de formas de onda do que em codificadores de transformadas porque os dados estão mais correlacionados.

Page 56: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Tipos de VTipos de Varreduraarredura

Varredura Zig-Zag

Obrigatória no MPEG-1Opcional no MPEG-2

Varredura Zig-Zag Alternada Não é usada no MPEG-1 Opcional no MPEG-2

Blocos 8x8 de coeficientes DCT quantizados

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 57: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Tipos de VTipos de Varreduraarredura

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

A ordem de escaneamento das sub-bandas requer que os nós pais sejam escaneados antes dos nós filhos.Além disso, todas as posições de uma determinada sub-banda são escaneadas antes de se passar para a próxima sub-banda.EZW, SPIHT,…

Page 58: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Run-Level Encoder (RLE) Run-Level Encoder (RLE) • Cada coeficiente não-nulo da sequência é codificado como um

par (run, level), onde:

– Run é o número de coeficientes nulos que precedem o coeficiente não-nulo.

– Level é a amplitude do coeficiente não-nulo.

• Geralmente, a sequência é reduzida e a codificação de entropia que a vem a seguir é mais eficiente.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 59: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação de entropia Codificação de entropia

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Alfabeto da fonte

CA CB CC

A 0 0 0

B 0 010 100

C 0 01 101

D 1 10 11

Singular

Não-unicamente decodificável

Código instantâneo

Códigos de bloco

Não-singular

Unicamente decodificável

Instantâneo

Page 60: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)O objetivo é sempre associar códigos mais

curtos a símbolos mais frequentes e códigos mais longos a símbolos menos frequentes.

Espera-se sempre obter um código ótimo, o qual possui comprimento médio igual à entropia da fonte.

O código de Huffman é de comprimento variável e ótimo (minimiza o comprimento médio dentre todos os códigos instantâneos), mas não é único.

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 61: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Codificação de Huffman

2,2854bits0,15)log0,1520,2log0,20,25log0,25(2)H(Χ

2,3bits30,15220,22(0,25)2l(x)p(x)L

222

Χx

Page 62: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

O código de Huffman é ótimo, mas somente para uma transmissão. Assim, se uma sequência de variáveis deve ser transmitida no lugar de uma única variável, outro código de Huffman deve ser projetado. Porém, se as sequências são de variáveis aleatórias independentes e com distribuição de probabilidade invariante, o código de Huffman é o mais indicado.

Caso contrário, para uso recursivo, outros códigos são melhores, mas são sub-ótimos, tais como códigos aritméticos e de Golomb.

Page 63: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

A codificação aritmética não faz uso de tabelas de código. Por isso, a complexidade computacional aumenta.

Codifica sequências de variáveis aleatórias de alfabeto finito (igual ao Huffman), mas com distribuições de probabilidade variantes.

Pode-se relacionar a codificação aritmética com o processo de sub-divisão de um intervalo unitário. Cada palavra de código é a soma das probabilidades dos símbolos precedentes e o comprimento ou tamanho do sub-intervalo à direita da palavra de código corresponde à probabilidade do símbolo.

Os códigos são proprietários e são usados no JPEG e no H.264 CABAC e VLC).

Page 64: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

O código de Golomb codifica variáveis aleatórias com distribuição de probabilidade geométrica, mas também é usado para codificar sequências de variáveis aleatórias independentes cuja distribuição de probabilidade “favorece” um dos possíveis resultados da variável.

Permite variações na distribuição de probabilidade utilizada, desde que seja lenta e conserve a propriedade de “favorecer” o mesmo resultado.

O código de Golomb é usado para codificar corridas de zeros porque existe um mapeamento biunívoco entre sequências de v.a.’s de Bernoulli e sequências de variáveis com distribuição geométrica.

Page 65: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Uma v.a. X com distribuição de probabilidade geométrica é uma v.a. que assume apenas valores inteiros não-negativos com probabilidade:

Uma v.a. de Bernoulli possui apenas dois resultados: fracasso (0) e sucesso (1) com probs. p e 1-p.

Assim, v.a.’s com distribuição geométrica podem ser geradas pela contagem do número de “fracassos” consecutivos antes da ocorrência de um “sucesso” em uma sequência de v.a.’s Bernoulli i.i.d.

Page 66: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Variable Length Coding (VLC)Variable Length Coding (VLC)

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

O principal parâmetro do codificador de Golomb é o comprimento do codificador l. Este parâmetro pode ser ajustado de acordo com a distribuição de probabilidade que está sendo codificada.

O resultado k de uma v.a. geométrica X é representado por uma palavra código formada por três partes:

- uma sequência de k / l zeros consecutivos;- Um bit ‘1’ para indicar o fim da primeira parte;- Uma palavra de código para representar o resto da

divisão k / l;

Page 67: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

BufferBuffer A quantização dos coeficientes DCT, a codificação RLE e

codificação a VLC são processos que produzem uma taxa de bits variável

Para produzir uma taxa de bits constante (CBR) é necessário um buffer para suavizar as variações na taxa de bits

Assim, um controlador de taxa ajusta o quantizador para controlar o buffer e prevenir overflow ou underflow do buffer do decodificador

O tamanho do buffer afeta a qualidade da imagem e provoca atraso

Temporal

EM/CM

Espacial

Transformadas

PsicoVisual

Quantização

Entropia

RLE VLCZig-Zag Buffer

Page 68: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Compressão com e sem perdasCompressão com e sem perdas As perdas observadas no sinal reconstruído devem-

se principalmente à operação de quantização (além de operações inteiras de transformadas, etc).

Compressão sem perdas exige técnicas diferentes de codificação:

- Codificação de planos de bits (transmissão progressiva – planos + significativos são + correlacionados)

- Código Gray, codificação aritmética, de corrida de zeros, etc…

Page 69: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação adaptativaCodificação adaptativa

A técnica de codificação é adaptativa se a estrutura dos componentes ou seus parâmetros (tais como limiares) mudam localmente dentro da imagem.

A performance do processo aumenta, mas a complexidade também aumenta.

A adaptatividade pode ocorrer de forma causal ou não-causal.

Page 70: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Codificação adaptativaCodificação adaptativa

Na forma causal, os parâmetros do codificador são baseados somente nos valores dos pixels previamente reconstruídos. Não há overhead, mas não se detectam mudanças bruscas no sinal e a complexidade do decodificador aumenta, pois este precisa repetir todos os processo de decisão feitos no codificador.

Na forma não-causal, os parâmetros são baseados em valores de pixels passados e futuro. Como o decodificador não tem pixels futuros, o codificador precisa enviar os bits adicionais ao decodificador para informá-lo sobre as adaptações.

Page 71: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Taxa de BitsTaxa de Bits

Métrica comparativa para avaliação dos codificadores.

onde: C = fator do formato de crominância (C= 1/3 para 4:4:4, ½ para 4:2:2, 2/3 para 4:2:0)

R = Taxa de Bits (bits/segundo) F = Taxa de Quadros (quadros/segundo) H, V = Tamanho Horizontal e Vertical (pixels/quadro)

bits/pixel F x V x H

R x C Bits de Taxa

Page 72: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Medidas de DistorçãoMedidas de DistorçãoMean Mean Squared ErrorSquared Error (M (MSESE) )

É a medida de distorção mais utilizada!

Page 73: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Medidas de DistorçãoMedidas de DistorçãoPeak Signal-to-Noise Ratio (PSNR)Peak Signal-to-Noise Ratio (PSNR)

3/))()()((

255log10

2

10 VMSEUMSEYMSEPSNR

MSEPSNR

B 2

10

)12(log10

Boas reconstruções têm valores de 30 dB ou superiores para valores típicos (B = 8).

Isto ocorre para taxas de 0,2; 0,5; 1; 2 bits/pixel (dependendo das características do arquivo de vídeo).

Page 74: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Medidas de DistorçãoMedidas de DistorçãoMean Absolute DistortionMean Absolute Distortion (MAD) (MAD)

• MAD (x,y): é a MAD entre matrizes 16x16.

• Sumprimiu-se a necessidade de multiplicações e divisões, mas é necessário obter o valor absoluto de um número.

• Vn (x+i, y+j): intensidades da matriz 16x16 na posição (x,y) do quadro da imagem atual n.

• Vm (x+dx+i, y+dy+j): intensidades da matriz 16x16 na posição (x+dx,y+dy) do quadro da imagem de referência m.

15

0

15

0

),(),(256

1 y)(x, MAD

i jmn jdyyidxxVjyixV

Page 75: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Complexidade ComputacionalComplexidade Computacional Medida de Complexidade:

onde: MD é a quantidade de memória dinâmica

ME é a quantidade de memória estática

OP é a soma ponderada das

operações aritméticas envolvidas

O peso associado à cada operação aritmética é dado por:

Page 76: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Como comparar a eficiência entre Como comparar a eficiência entre os codificadores de vídeo?os codificadores de vídeo?

Todos os codificadores de vídeo abaixo têm a mesma qualidade!– Qual tem a melhor eficiência de codificação? – Qual tem a pior eficiência?

Parametros Coder 1 Coder 2 Coder 3 Coder 4

Tamanho Imagem (HxV)

720x480 544x480 480x480 1920x1080

Taxa Bit (R) 6 Mbps 4 Mbps 6 Mbps 19 Mbps

Taxa Quadro (F) 29.97 fps 30 fps 24 fps 29.97 fps

Formato Croma 4:2:0 4:2:2 4:4:4 4:2:0

Page 77: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Eficiência de CodificaçãoEficiência de Codificação

A resposta pode ser obtida através da utilização da taxa de bits para comparar os quatro codificadores!

Parametros Coder 1 Coder 2 Coder 3 Coder 4

Tamanho Imagem (HxV)

720x480 544x480 480x480 1920x1080

Taxa Bit (R) 6 Mbps 4 Mbps 6 Mbps 19 Mbps

Taxa Quadro (F) 29.97 fps 30 fps 24 fps 29.97 fps

Formato Croma 4:2:0 4:2:2 4:4:4 4:2:0

Taxa de Bits 0.39 0.26 0.36 0.20

Pior eficiência. Usa mais bits/pixel

Melhor eficiência. Usa menos bits/pixel

Page 78: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

PADRÕES DE PADRÕES DE COCOMMPRESSÃO DE PRESSÃO DE

VÍDEOVÍDEO

Page 79: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Principais Técnicas de Compressão Principais Técnicas de Compressão de Vídeo e Imagemde Vídeo e Imagem

Baseado em DCT– JPEG Aplicações em Estúdio– H.261 Vídeo Conferência– MPEG-1 Armazenamento em CD-ROM– MPEG-2 Broadcast DTV, DVD– MPEG-4 Broadcast DTV

Subbanda/Wavelet– EZW VLBR e aplicações de buscas

Outras– Fractal Multimídia – DPCM Broadcast– Sem perdar Imagens Médicas

Page 80: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Evolução dos Padrões de Evolução dos Padrões de Compressão de VídeoCompressão de Vídeo

JPEG (Joint Photographics Experts Group)– mais usado para codificação de imagens paradas (still

picture)– introduziu DCT e quantização

H.261 (px64)– usado para vídeo conferência– introduziu compensação de movimento DCT (I e P quadros)– média compressão, baixo atraso

MPEG-1, MPEG-2 (Moving Picture Expert Group)– usado para armazenamento digital e broascast– introduziu o conceito de quadros B– alta compressão, atraso médio

Exemplos

Page 81: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Aplicações dos Padrões de Aplicações dos Padrões de Compressão de VídeoCompressão de Vídeo

Page 82: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

MPEG VídeoMPEG Vídeo

Page 83: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Padrão de Compressão MPEGPadrão de Compressão MPEG

• MPEG-1 (ISO/IEC 11172)– 11172-1: Systems– 11172-2: Video– 11172-3: Audio– 11172-4: Conformance– 11172-5: Software

• MPEG-2 (ISO/IEC 13818)– 13818-1: Systems– 13818 -2: Video– 13818 -4: Conformance– 13818 -3: Audio– 13818 -5: Software– 13818 -6: Digital Storage

Media– 13818 -7: Non-Backward

Compatible Audio– 13818 -9: Real-Time

Interface– 13818 -10: DSM-CC

Conformance

11172-2: Video 13818-2: Video

Page 84: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Padrão de Vídeo MPEGPadrão de Vídeo MPEG

Objetivo: criar um padrão de compressão de vídeo para aplicações de multimídia e broadcast

MPEG-1 (resolução SIF)– 352x240, 30 Hz, não entrelaçado, 1,5 Mbps– Aplicações de CD-ROM

MPEG-2 (resolução CCIR 601)– 720x480, 30 Hz, 2 a 80 Mbps– Aplicações de broadcast, incluindo HDTV

Page 85: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Principais áreas de aplicações do Principais áreas de aplicações do MPEG-1 e MPEG-2MPEG-1 e MPEG-2

MPEG-1 Vídeo– 1 a 3 Mbps: Armazenamento em CD-ROM

MPEG-2 Vídeo– 3 a 15 Mbps: Transmissão de SDTV, DVD– 15 a 20 Mbps: Transmissão de HDTV– 25 a 50 Mbps: Produção de SDTV– 100 a 300 Mbps: Produção de HDTV

Page 86: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Pontos Chaves sobre MPEG Pontos Chaves sobre MPEG VídeoVídeo

MPEG especifica somente a sintaxe do bitstream e o processo de decodificação

Algoritmo de codificação (ex., Estimação de Movimento, Controle de Taxa e Modos de Decisão) são abertos a inovações

MPEG é assimétrico, ou seja, muito menos complexidade computacional é requerida para o decodificador

Page 87: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

O MPEG é um sistema O MPEG é um sistema potencialmente potencialmente ASSIMÉTRICOASSIMÉTRICO

O decodificador segue as direções do bitstream e assim são relativamente simples

Os codificadores, entretanto, são muito mais complexos e devem ter muito mais inteligência. O codificador deve:– Identificar áreas em movimento– Determinar os vetores de movimento ótimos– Controlar a taxa de bits– Controlar os dados do buffer de forma a não ocorrer overflow e

underflow– Determinar onde mudar a quantização– Determinar quando um dado bloco pode simplismente ser

repetido– Determinar quando codificar pela técnica Intra e Inter– Variar todos os parâmetros e decisões dinamicamente tal como

para maximizar a qualidade para uma dada taxa

Page 88: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

MPEG-1 VídeoMPEG-1 Vídeo

Page 89: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Caracterísiticas PrincipaisCaracterísiticas Principais

Otimizado para taxa de bits em torno de 1,5 Mbps

Suporta somente vídeo progressivoObjetivo: armazenamento em CD-ROMUtiliza subamostragem 4:1:1 (semelhante ao

4:2:0)

Page 90: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Formato de EntradaFormato de Entrada

Page 91: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura dos DadosEstrutura dos Dados Seqüência de vídeo: formada por vários grupos de

imagem (GOP)

Grupo de pictures (GOP – Group of Pictures): formado por várias imagens (pictures)

Imagem: Intra (I), Predicted (P) e Bidirectional (B)

Slice: formado por Macroblocos

Macrobloco (MB): composto por 4 blocos Y, 1 U e 1 V

Blocos: composto pela matriz de pixels de dimensão 8x8 que é codificada com a DCT

Page 92: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura de DadosEstrutura de Dados

Page 93: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura de DadosEstrutura de Dados

Page 94: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Seqüência de VídeoSeqüência de Vídeo

Cabeçalho: dimensão da imagem, relação de aspecto (relação entre a largura e altura), taxa de bit, dimensão do buffer do decodificador e matrizes de quantização

É formado por um ou mais grupos de imagens (GOP)

Código de fim da seqüência (EOS – End of Sequence)

Page 95: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

PicturePicture

São codificadas inteiramente sem referência de outras imagens

São codificadas tomando como referência a imagem anterior

São codificadas tomando como referência a imagem anterior e posterior. Nuca são usados como referência para outras imagens

Contem somente informação dos coeficientes DC. Raramente é usada

INTRA-PICTURE

(I-picure)

PREDCTED-PICTURE

(P-Picture)

BIDIRECCTIONA-PICTURE

(B-Picture)

DC-PICTURE (D-picture)

Page 96: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

I-I-PicturePicture

Codificado sem referência das outras imagensArmazenada no buffer do codificador e

decodificadorUsado como base de predição para o GOP inteiro

Page 97: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

P-P-PicturePictureCodificado com referência da imagem anteriorArmazenado no buffer do codificador e

decodificadorUsa forward prediction somente

Page 98: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

B-B-PicturePictureCodificado com referência da imagem anterior e

posteriorUsa forward, backward prediction ou predição

bidirecional

Page 99: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Group of PictureGroup of Picture (GOP) (GOP)

É um grupo de imagens que forma uma seqüência consecutiva para visualização

Contem três tipos de imagens: Intra (I), Predicted (P) e Bidirecional (B)

Um GOP, na ordem de codificação, deve começar com uma I-picture

Um GOP, na ordem de display, deve começar com uma I ou B-picture e deve terminar com uma I ou P-picture

Page 100: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Ordem de um GOPOrdem de um GOP

Ordem de display (display order): Entrada do codificador e Saída do decodificador

Ordem de codificação (coder order): Saída do codificador e Entrada do decodificador

A ordem de display é diferente da ordem de codificação se há B-pictures

As B-picture devem ser ordenadas tal que a imagem de referência futura fique disponível para predição

Note que o reordenamento causa ATRASO!

Page 101: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Ordem de um GOP (cont.)Ordem de um GOP (cont.)

Page 102: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

SliceSlice

Um slice é um conjunto de macroblocos

É importante para o tratamento de erros

Se um slice estiver corrompido com ruído pode saltar para o próximo slice

O número de slices em uma imagem pode variar de 1 até o número total de MB. No MPEG-1 os slices devem preencher completamente a imagem

O cabeçalho do slice contém um código de início, sua posição na imagem e o fator de quantização

Page 103: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Macrobloco (MB)Macrobloco (MB)

• Tamanho: 16x16 pixels

• É composto por um bloco de luminância (4x(8x8) amostras) e dois blocos de crominância (1x (8x8) + 1x (8x8) amostras) no caso do MPEG-1

Page 104: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

BlocoBloco

Tamanho: 8x8 coeficientes DCTOs blocos podem ser codificados como inta ou

inter– Intra: usa somente informação da própria imagem,

tirando vantagem das similaridades dos coeficientes adjacentes

– Inter: tira vantagem das similaridades entre quadros de outras imagens

Page 105: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura Típica do Codificador Estrutura Típica do Codificador MPEGMPEG

Page 106: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

MPEG-2 Vídeo

Page 107: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Características PrincipaisCaracterísticas Principais

Foi planejado para suportar:Taxa de bits mais altaTamanho maior de imagemQuandros entrelaçados

Codificação de vídeo de alta qualidade (até 80 Mbps)– Exemplos de aplicação: video on demand (VOD),

televisão digital, armazenamento em DVD, HDTV

Codificação escalável

Page 108: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

MPEG-2MPEG-2

= MPEG-1MPEG-2

Ferramenta de Entrelaçamento

Nova estrutura de sintaxe

ModosEscaláveis

Perfil & Nível

+

Page 109: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Ferramentas de EntrelaçamentoFerramentas de Entrelaçamento

Field PictureField DCTModo de predição de campoVarredura AlternadaSuporte a 3:2 PulldownSuporte a Field-Based Pan-and-Scan

Page 110: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Melhorias do MPEG-2 em relação Melhorias do MPEG-2 em relação ao MPEG-1ao MPEG-1

Page 111: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

MPEG-2 EstruturasMPEG-2 Estruturas Estrutura da Seqüência

– Seqüência Progressiva: contem quadros de imagens (frames pictures)

– Seqüência Entrelaçada: pode conter quadros e campos de imagens

Estrutura de Quadros– Quadro progressivo: os dois campos vêm no mesmo instante

de tempo– Quadro Entrelaçado: os dois campos vem em tempos

diferentes Estrutura da Imagem

– Quadro de Imagem (Frame picture)– Campo de Imagem (Field picture): deve ocorrer em pares;

um quadro = dois campos de imagem

Page 112: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Seqüência de Vídeo Progressivo e Seqüência de Vídeo Progressivo e EntrelaçadoEntrelaçado

Seqüência Entrelaçada: consite de uma série de campos (fields) reconstruídos que estão separados no tempo por um período de campo. Os dois campos de um quadro (frame) podem ser decodificados separadamente (field-picture)

Seqüência Progressiva: cada picture na seqüência deve ser um frame picture (não tem campo). A seqüência na saída do decoder consiste de uma série de quadros que são separados no tempo por um período de quadro

Na seqüência entrelaçada ambos frame-picture e fieldpicture podem ser usados em uma única seqüência de vídeo

Page 113: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Field Picture e Frame PictureField Picture e Frame Picture

Field Picture– Devem ocorrer em pares:

Top Field Botton Field Top Field + Botton Field: Frame

Frame Picture– Seqüência de vídeo entrelaçada usando frame

picture Os dois campos do quadro devem ser entrelaçados um

com o outro e então o quadro inteiro é codificado como um único frame

Page 114: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Field e Frame DCTField e Frame DCT

Quadro DCT: modo de codificação normal MPEG-1Campo DCT: Divide dentro de campos top e bottonO codificador MPEG-2 pode escolher campo DCT

em algum macrobloco

Page 115: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Estrutura do MacroblocoEstrutura do Macrobloco

Page 116: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

PicturePicture Uma imagem codificada pode ser:

– Frame– Field

I-frame: – I-frame picture– um par de I-field picture

P-frame:– P-frame picture– um par de P-frame picture

B-frame– B-frame picture– um par de B-frame picture

Page 117: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Tipos de PicturesTipos de Pictures

Há 3 tipos de picture:– Intra-coded (I) picture: é codificada usando

informação somente dela mesma– Predicted-coded (P) picture: é codificada usando

predição de compensação de movimento dos quadros ou campos de referência da imagem passada

– Bidireccicional-coded (B) picture: é codificada usando predição de compensação de movimento dos quadros ou campos de referência da imagem passada e/ou futura

Page 118: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Modos de PrediçãoModos de PrediçãoHá duas classificações principais de modos de

prediçãoField Prediction: as predições são feitas

independentemente para cada campo usando dados de um ou mais campos codificados anteriormente

Frame Prediction: forma uma predição para o quadro a partir de um ou mais quadros decodificados anteriormente

Page 119: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Field e Frame PredictionField e Frame Prediction

Frame Prediction:melhor região 16x16 na imagem de referência. Determina o MV para o MB.Único tipo de predição permitida no MPEG-1

Field Prediction:melhor região 16x8 no campo Top ou Botton na imagem de referência. Determina os MV’s para o Top e Botton de 16x16 MB.

Page 120: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Modos Especiais de PrediçãoModos Especiais de Predição

Dois modos especiais de predição são usados para predição field ou frame– 16x8 motion compansation

Pode ser usada somente em campos Duas MV’s são enviados para predição forward e backward O primeiro MV é usado para as regiões 16x8 superiores e o

segundo MV para as regiões 16x8 inferiores 4 MV’s são enviados para predição bi-direcional

– Dual Prime Pode ser usada em campo ou quadro Pode somente ser usado em P-pictures Um MV + a diferença MV são enviadas para cada MB

Page 121: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Perfil e NívelPerfil e Nível

Perfil (Profile): define quais funcionalidades (ferramentas de codificação) poderão ser usadas na geração do feixe de bits (bitstream) do vídeo codificado

Nível (Level): é um conjunto de limitações dos parâmetros do feixe de bits (i.e. tamanho da imagem, taxa de quadros e taxa de bits)

Page 122: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Perfil e Nível [1]Perfil e Nível [1] Perfil: Simple Main SNR Spatial High 4:2:2

(ordem hierárquica)

Nível: Low Main High-1440 High (ordem hierárquica)

Os Perfis e Níveis possuem uma relação Hierárquica. Assim:

Sintaxe suportada pelos Perfis mais altos inclui todos os elementos da sintaxe dos perfis mais baixos (ex., para um dado nível, um Main Profile é compatível com o Simple Profile)

Limitações de parâmetros dos Níveis mais altos são iguais ou excedem os limites dos níveis mais baixos (ex., para um dado perfil, um decoder de Nível Main deve ser capaz de decodificar um bitstream em conformidade com as restrições de um nível Low)

Page 123: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Perfil e Nível [2]Perfil e Nível [2] Para um dado perfil o mesmo conjunto de sintaxe é suportado independente do nível

Os feixes de bits codificados pelo MPEG-1 devem ser decodificados por todos os níveis e perfis do MPEG-2 (Compatibilidade Backward)

Os perfis SNR, Spatial, High têm como ferramenta a escalabilidade, ou seja, podem usar mais de um bistream para codificar a imagem

Page 124: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Limitações dos PerfisLimitações dos Perfis

Rec. H.262

Page 125: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Número Máximo de Bits em um MBNúmero Máximo de Bits em um MB

Para todos os Perfis definidos há uma restrição no bitstream de que todos os dados para um MB devem ser representados com um número máximo de bits

Rec. H.262

Page 126: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Perfil x FuncionalidadesPerfil x Funcionalidades

Page 127: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Nível x FuncionalidadesNível x Funcionalidades

Page 128: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade [1]Escalabilidade [1]A escalabilidade foi feita para suportar

aplicações além daquelas já suportadas por uma única camada (codificação sem escalabilidade)

Possui uma camada base e 2 ou 3 camadas de enriquecimento

Extrai do mesmo feixe de bits codificado várias instâncias de vídeo com diferentes:– Níveis de qualidade– Resoluções espaciais– Resoluções Temporais

Page 129: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade [2]Escalabilidade [2] O padrão MPEG-2 definiu 5 tipos de

escalabilidade:1. Particionamento de Dados2. Escalabiliadde SNR3. Escalabilidade Temporal4. Escalabilidade Temporal5. Escalabilidade Híbrida

Todos os tipos de escalabilidades possui a vantagem de transmitir os dados + importantes com uma proteção adicional em relação aos dados menos importantes

Page 130: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Particionamento de DadosParticionamento de Dados

É usado quando dois canais estão disponíveis para transmissão e/ou armazenamento de um feixe de bits de vídeo

Aplicações: redes ATM, transmissão terrestre, meios magnéticos, etc

O feixe de bits é particionado entre os canais tal que:As partes + críticas (tais como, cabeçalhos, VM, coefs DCT

de baixas freqüências) são transmitidos com o melhor desempenho de erro

Dados menos críticos (tal como coefs DCT de altas freqüências) são transmitidos com um desempenho de erro mais probre

Assim, degradações de erros do canal são minimizadas

Page 131: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade SNREscalabilidade SNR

Aplicações: serviços de vídeo com múltiplas qualidades, padrões de TV e HDTV

Gera duas camadas de vídeo com a mesma resolução temporal e espacial, mas com qualidades de reprodução diferentes. Está relacionado com o passo de quantização (proteção a erros)Camada Base: passo de quantização + fino. Maior

proteção a errosCamada Enriquecimento: passo de quantização mais

grosso. Menor proteção a erros

Page 132: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade TemporalEscalabilidade Temporal Aplicações: utilizada em diversas aplicações de

vídeo, desde telecomunicações até HDTV

Motivação: Introdução gradual de sistemas + sofisticados em substituíção a sistemas já existentes

Sistemas de resolução temporal mais baixos: decodificam somente a camada base

Sistemas + sofisticados: decodificam ambas camadas, mantendo assim interoperabilidade com sistemas anteriores

Pode ser utilizada para obter interoperabilidade entre vídeo

entrelaçado e progressivo

Page 133: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade EspacialEscalabilidade Espacial Aplicações: interoperabilidade entre padrões,

interoperabilidade entre HDTV e TV, etc Oferece flexibilidade na escolha do formato de vídeo a

ser empregado em cada camada Possibilidades:

1. Camada base e camada de enriquecimento: padrão MPEG-2

2. Camada base: padrão MPEG-1 e Camada enriquecimento: padrão MPEG-2

A segunda possibilidade tem a vantagem de facilitar a interoperação entre os padrões de codificação de vídeo

Transmissão de Vídeo Simulcast de SDTV e HDTV

Page 134: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Escalabilidade HíbridaEscalabilidade Híbrida

É a combinação de dois tipos de escalabilidade, como por exemplo, escalabilidade espacial + escalabilidade temporal

Tipos de escalabilidade que permitem combinação (escalabilidade híbrida): SNR, Spatial e Temporal

Page 135: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Resolução EspacialResolução Espacial

Rec. H.262

Page 136: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Taxa de Bits (Mbps)Taxa de Bits (Mbps)

Page 137: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Número de camadas para cada Número de camadas para cada Perfil e NívelPerfil e Nível

Rec. H.262

Page 138: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Artefatos no MPEGArtefatos no MPEGEfeito de Bloco (Block Artifact)

– Quando o olho consegue acompanhar movimentos rápidos

– Causado por pobre estimação de movimento e ou insuficiente alocação de bits

Mosquito (“Noise Mosquito”)– Pode ser visto em bordas de textos– As bordas causam coefs DCT em altas

freqüências , os quais são quantizados compassos de quantização grosso

Page 139: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

Tipos de Compressão em que o Tipos de Compressão em que o MPEG pode ter um desempenho ruimMPEG pode ter um desempenho ruim

Para tipos de movimento que não se ajustam a modelos de translação linear– Zoons– Rotações– Movimento de objetos que se movem de forma

transluzente/transparente Para outros tipos

– Sombras– Mudanças de brilho– Corte de cenas– Muitos detalhes (coeficientes de altas freqüências)

Page 140: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

CONCLUSÕES [1]CONCLUSÕES [1]A grande diferença entre o padrão MPEG-1 e

MPEG-2 foi a codificação de vídeo entrelaçado o que permitiu aplicações para TV

O MPEG-2 Vídeo foi adotado em todos os três padrões de TV Digital existentes (DVB, ATSC e ISDB-T)

Uma evolução do padrão MPEG-2 Vídeo é o H.264 que permite taxas de bits ainda menores

Page 141: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

CONCLUSÕES [2]CONCLUSÕES [2]A compressão de vídeo MPEG está sendo útil

para muitas aplicações:

CD-ROM e Multimidia

Transmissão por Satélite

Transmissão terrestre

Transmissão por cabo

Sistemas Video on demand

Page 142: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

ReferênciasReferências

[1]    SULLIVAN, Gary; ESTROP, Stephen. Video Rendering with 8-bit YUV Formats. Microsoft Digital Media Division, 2002. Disponível no MSDN Library 2005.

  [2]  WILSON, Dave. RGB/YUV Pixel Conversion. FOURCC.org. Disponível em

http://www.fourcc.org/fccyvrgb.php. Acesso em 08/2005.

  [3] WILSON, Dave. Compressed Formats. FOURCC.org. Disponível em

http://www.fourcc.org/. Acesso em 08/2005.

[4]      MALVAR, Henrique; SULLIVAN, Gary. YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range. Microsoft Corporation. Documento submetido ao Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG em 2003.

  [5]      LIM, Jae S. Two-dimensional Signal and Image Processing. Prentice Hall Signal Processing

Series, Engewood Cliffs, New Jersey, USA, 1990.

  [6]     JAIN, Anil K. Fundamentals of Digital Image Processing. Prentice Hall Information and

System Sciences Series, New Jersey, USA, 1989.

Page 143: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

ReferênciasReferências

[7]    RABBANI, Majid; JONES, Paul W. Digital Image Compression Techniques. SPIE -The International Society for Optical Engineering, Washington, USA, 1991.

[8]     CHAN, Raymond K. W.; LEE, M. C. 3D-DCT Quantization as a Compression Technique for Video Sequences. International Conference on Virtual Systems and Multimedia, Geneva, Switzerland, 1997, pp. 188-196.

[9]     KIM, Beong-Jo; PEARLMAN, William A. An Embedded Wavelet Video Coder Using Three-Dimensional Set Partitioning in Hierarchical Trees (SPHIT). Proceedings of the Conference on Data Compression, 1997.

[10]  OLIVEIRA, Fabrício Corrêa de Araújo. Compressão Progressiva de Imagens Usando DCT e Código de Golomb. Dissertação de mestrado submetida à Universidade Estadual de Campinas em 2002.

[11]  LAMAR, Marcus Vinicius. Codificação de Vídeo Utilizando Decomposição Quadtree para Estimação de Movimentos. Dissertação de mestrado submetida à Universidade Federal de Santa Catarina em 1996.

Page 144: Compressão de Vídeo MPEG TT083. Sumário Sistema Visual Humano Formatos de Vídeo Compressão de Vídeo Medidas de Distorção Taxa de Bits Complexidade Computacional.

ReferênciasReferências

[11] ITU-T Generic Coding of Moving Pictures and associated audio information - video