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
Técnicas de Compressão de Vídeo
MPEG-1 Vídeo
MPEG-2 Vídeo
Conclusões
Sistema Visual Humano (VHS) [1]
Na
retina do olho existem diversos tipos de elementos fotosensí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=rxR+gxG+bxB
onde r, g e b representam o quanto um determinado comprimento de
onda estimulou as três classes de receptores.
Sistema Visual Humano (VHS) [2]
Azul
Verde
Vermelho
Sensibilidades dos três tipos de cones no olho humano
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.
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.
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).
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.
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
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.
Espaços de Cores [3]

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 [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,…
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).
Formatos de Vídeo [1]
- Aproximadamente 30
frames / segundo
- Não-entrelaçados
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.
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
Largura de
Banda
6 MHz = 19 Mbps
Daí a
necessidade
de comprimir
o sinal!
Compressã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
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.
Tipos 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.
Exemplo de ferramenta
de compressão
REDUNDÂNCIA
ESPACIAL
REDUNDÂNCIA
TEMPORAL
REDUNDÂNCIA
DCT
Estimação de
movimento
Quantização
PSICOVISUAL
REDUNDÂNCIA
EM ENTROPIA
VLC
Métodos Óbvios de Compressão

Redução da Taxa de
Problema
amostragem
Sobreposição, assim
deve-se respeitar a
Taxa de Nyquist

Redução do número de
níveis de quantização
Problema
Aparece nos
contornos (bordas)
da imagem
Redução da Taxa de
Atualização (refresh)
Problema
Flickering

Principais Ferramentas de Codificação
 DCT (Discrete
Cosine Transform)
 Quantização
 Codificação
Entrópica
 Varredura Zig-Zag
 Estimação e Compensação de
Movimento (EM/CM)
Estrutura Principal do Codificador
Temporal
PsicoVisual
Espacial
Entropia
Estrutura 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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Codificação Preditiva


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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Entropia
Zig-Zag
Buffer
RLE VLC
Codificação Preditiva

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
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimação e Compensação de
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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Estimação e Compensação de
Movimento (EM/CM)
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimaçã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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimaçã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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimaçã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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimação de Movimento
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).
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Compensaçã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.
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Block 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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Block 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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Block matching
Entropia
RLE VLC
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Exemplo de Estimação de
Movimento Forward
Grade de MB
Imagem anterior I ou P
Imagem P
Dentro da área de busca um bom
casamento é encontrado. O
codificador envia o vetor de
movimento apropriado
MB Atual. Visto que o
casamento é encontrado este
MB é intercodificado
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Estimação de Movimento Backward
Imagem P ou I anterior
A busca nesta imagem não
encontra um bom casamento
Imangem B atual
Próxima Imagem I ou P
A busca nesta imagem
encontra um bom casamento
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Codificação 3D

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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
DCT (Discrete 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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
DCT
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
Bloco 8x8 e sua transformada
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
DCT
Zig-Zag
Entropia
RLE VLC
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Transformada Wavelet

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
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Análise de Multiresolução (1 estágio)
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Análise de Multiresolução (3 estágios)
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Síntese da Wavelet
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Quantizaçã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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Quantizaçã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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Quantização

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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Quantização

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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Quantização Linear
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Entropia
Zig-Zag
Buffer
RLE VLC
Quantização Vetorial

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.
d  ( R  Rc ) 2  (G  Gc ) 2  ( B  Bc ) 2
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Quantização Vetorial

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.
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Quantização Vetorial




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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Tipos de Varredura
Blocos 8x8 de coeficientes DCT quantizados
Varredura Zig-Zag
Obrigatória no MPEG-1
Opcional no MPEG-2
Varredura Zig-Zag
Alternada
Não é usada no MPEG-1
Opcional no MPEG-2
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Tipos de Varredura
EZW, SPIHT,…
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 subbanda.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
RLE VLC
Codificação de entropia
Alfabeto
da fonte
CA
A
B
C
D
0
0
0
1
CB
CC
Códigos de bloco
Não-singular
0
010
01
10
0
100
101
11
Código instantâneo
Não-unicamente decodificável
Singular
Unicamente
decodificável
Instantâneo
Buffer
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE 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
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)
Codificação de Huffman
L   p(x) l(x)  2  (0,25) 2 0,2 2  2  0,15 3  2,3bits
xΧ
H(Χ)  (2  0,25 log2 0,25 0,2 log2 0,2  2  0,15 log2 0,15) 2,2854bits
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)

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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)




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).
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)

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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)


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.
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Variable Length Coding (VLC)


-
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;
Temporal
Espacial
PsicoVisual
EM/CM
Transformadas
Quantização
Zig-Zag
Entropia
Buffer
RLE VLC
Buffer

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
Compressão com e sem perdas

As perdas observadas no sinal reconstruído devemse 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…
Codificaçã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.
Codificaçã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.
Taxa de Bits

Métrica comparativa
codificadores.
para
avaliação
CxR
Taxa de Bits 
bits/pixel
HxVxF
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)
dos
Medidas de Distorção
Mean Squared Error (MSE)

É a medida de distorção mais utilizada!
Medidas de Distorção
Peak Signal-to-Noise Ratio (PSNR)
(2 B  1) 2
PSNR  10 log10
MSE
2552
PSNR  10log10
(MSE(Y )  MSE(U )  MSE(V )) / 3


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).
Medidas de Distorção
Mean Absolute Distortion (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.
1 15 15
MAD (x, y) 
Vn ( x  i, y  j )  Vm ( x  dx  i, y  dy  j )

256 i 0 j 0
Complexidade 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:
Como comparar a eficiência entre
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
Tamanho
Imagem (HxV)
Taxa Bit (R)
Taxa Quadro (F)
Formato Croma
Coder 1
Coder 2
Coder 3
Coder 4
720x480
544x480
480x480
1920x1080
6 Mbps
29.97 fps
4:2:0
4 Mbps
30 fps
4:2:2
6 Mbps
24 fps
4:4:4
19 Mbps
29.97 fps
4:2:0
Eficiência de Codificação

A resposta pode ser obtida através da utilização da taxa
de bits para comparar os quatro codificadores!
Parametros
Tamanho
Imagem (HxV)
Taxa Bit (R)
Taxa Quadro (F)
Formato Croma
Taxa de Bits
Coder 1
Coder 2
Coder 3
Coder 4
720x480
544x480
480x480
1920x1080
6 Mbps
29.97 fps
4:2:0
0.39
4 Mbps
30 fps
4:2:2
0.26
6 Mbps
24 fps
4:4:4
0.36
19 Mbps
29.97 fps
4:2:0
0.20
Pior eficiência.
Usa mais bits/pixel
Melhor eficiência.
Usa menos bits/pixel
PADRÕES DE
COMPRESSÃO DE
VÍDEO
Principais Técnicas de Compressão
de Vídeo e Imagem

Baseado em DCT
–
–
–
–
–

JPEG
H.261
MPEG-1
MPEG-2
MPEG-4
Subbanda/Wavelet
– EZW

Aplicações em Estúdio
Vídeo Conferência
Armazenamento em CD-ROM
Broadcast DTV, DVD
Broadcast DTV
VLBR e aplicações de buscas
Outras
– Fractal
– DPCM
– Sem perdar
Multimídia
Broadcast
Imagens Médicas
Evolução dos Padrões de
Compressã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
Aplicações dos Padrões de
Compressão de Vídeo
MPEG Vídeo
Padrã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
Video
13818-2:
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
Padrã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
Principais áreas de aplicações do
MPEG-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
Pontos Chaves sobre MPEG
Ví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
O MPEG é um sistema
potencialmente ASSIMÉ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
MPEG-1 Vídeo
Caracterísiticas Principais

Otimizado para taxa de bits em torno de 1,5
Mbps
 Suporta somente vídeo progressivo
 Objetivo: armazenamento em CD-ROM
 Utiliza subamostragem 4:1:1 (semelhante ao
4:2:0)
Formato de Entrada
Estrutura 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
1V

Blocos: composto pela matriz de pixels de dimensão
8x8 que é codificada com a DCT
Estrutura de Dados
Estrutura de Dados
Seqüê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)
Picture


São codificadas
sem referência
imagens
inteiramente
de outras
São codificadas tomando como
referência a imagem anterior
INTRA-PICTURE
(I-picure)
PREDCTED-PICTURE
(P-Picture)


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
BIDIRECCTIONA-PICTURE
(B-Picture)
DC-PICTURE
(D-picture)
I-Picture

Codificado sem referência das outras imagens
 Armazenada
no buffer do codificador e
decodificador
 Usado como base de predição para o GOP inteiro
P-Picture

Codificado com referência da imagem anterior
 Armazenado
no buffer do codificador
decodificador
 Usa forward prediction somente
e
B-Picture

Codificado com referência da imagem anterior e
posterior
 Usa forward, backward prediction ou predição
bidirecional
Group of Picture (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
Ordem 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!
Ordem de um GOP (cont.)
Slice

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
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
Bloco

Tamanho: 8x8 coeficientes DCT
 Os 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
Estrutura Típica do Codificador
MPEG
MPEG-2 Vídeo
Características Principais

Foi planejado para suportar:
 Taxa de bits mais alta
 Tamanho maior de imagem
 Quandros 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
MPEG-2
Ferramenta de
Entrelaçamento
Nova estrutura de
sintaxe
MPEG-2
=
Perfil & Nível
Modos
Escaláveis
+
MPEG-1
Ferramentas de Entrelaçamento

Field Picture
 Field DCT
 Modo de predição de campo
 Varredura Alternada
 Suporte a 3:2 Pulldown
 Suporte a Field-Based Pan-and-Scan
Melhorias do MPEG-2 em relação
ao MPEG-1
MPEG-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
Seqüência de Vídeo Progressivo e
Entrelaç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 field
picture podem ser usados em uma única seqüência de vídeo
Field 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
Field e Frame DCT



Quadro DCT: modo de codificação normal MPEG-1
Campo DCT: Divide dentro de campos top e botton
O codificador MPEG-2 pode escolher campo DCT
em algum macrobloco
Estrutura do Macrobloco
Picture

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
Tipos 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
Modos de Predição

Há duas classificações principais de modos de
predição
 Field
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
Field 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.
Modos 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
Perfil 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)
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)
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
Limitações dos Perfis
Rec. H.262
Nú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
Perfil x Funcionalidades
Nível x Funcionalidades
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
Escalabilidade [2]

O padrão MPEG-2 definiu 5 tipos de
escalabilidade:
1.
2.
3.
4.
5.

Particionamento de Dados
Escalabiliadde SNR
Escalabilidade Temporal
Escalabilidade Temporal
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
Particionamento 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
Escalabilidade 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 erros
 Camada Enriquecimento: passo de quantização mais
grosso. Menor proteção a erros
Escalabilidade 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
Escalabilidade 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
Escalabilidade 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
Resolução Espacial
Rec. H.262
Taxa de Bits (Mbps)
Número de camadas para cada
Perfil e Nível
Rec. H.262
Artefatos no MPEG

Efeito 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
Tipos de Compressão em que o
MPEG 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)
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
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
Referê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.
http://www.fourcc.org/. Acesso em 08/2005.
FOURCC.org.
Disponível
em
[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.
Referê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.
Referências

[11] ITU-T Generic Coding of Moving Pictures and associated audio information - video
Download

MPEG-1 - Ensino Aberto Historico.