Técnicas de Compressão Vídeo
Joaquim Macedo
Universidade do Minho
Material Utilizado
Acetatos do livro Multimedia Signals
and Systems (Kluwer Academic) de
Mrinal Mandal
Necessidade de Compressão Vídeo
Televisão de Alta Definição (HDTV)
1920x1080
30 quadros por segundo (movimento total)
8 bits cada uma das três cores primárias
Total 1.5 Gb/seg!
Cada canal cabo usa 6 MHz
Max débito de dados de 19.2 Mb/seg
Reduzido para 18 Mb/seg c/audio + control …
Relação de compressão tem que ser 83:1!
Princípios de Compressão de Vídeo
Um vídeo pode ser considerado um função tridimensional de intensidade de luz I(x,y,t)
A amplitude da função em qq coordenada espacial
(x,y) dá o brilho da imagem nessa coordenada
num instante de tempo
Imagem mocromática I(x,y,t)
Imagem a cores (R(x,y,t), B(x,y,t), G(x,y,t))
No vídeo digital x,y,t são discretos
Princípios de Compressão de Vídeo
Como o vídeo é uma sequência de imagens
ordenada no tempo
As técnicas de compressão de imagens podem ser
aplicadas
Explorar as redundâncias estatística, espacial, estrutural
e psico-visual
Para além disso, o vídeo tem a redundância
temporal e de conhecimento que podem ser
exploradas para se conseguir melhor desempenho
Redundâncias no vídeo
Temporal
Conhecimento
Psico-Visual
Redundância Temporal
Tirar partido da similaridade entre quadros
sucessivos
Esta redundância entre quadros é removida
explorando técnicas de estimação e
compensação de movimento
950
951
952
Redundância de conhecimento
Quando um vídeo tem utilização limitada e se
pode associar um conhecimento comum
Pode-se conseguir compressão eficiente
Ex. Chamada Videofone
A imagem das pessoas não muda durante a chamada
Há pequenos movimentos de corpo e mudanças de
expressão facial
Se se enviar inicialmente a imagem das pessoas
Ir enviando os movimentos
Mudanças de expressão
Pode-se conseguir uma boa compressão
Redundância Psico-Visual
Há vários tipos
SVH é pouco sensível aos componentes de cor
Os componentes de cor podem ser quantizados
mais grosseiramente que os de luminosidade
Quando vemos um vídeo de boa qualidade
Se pararmos a imagem não nos parece tão boa
SVH é menos sensível aos objectos em rápido
movimento
Regiões em rápido movimento podem ser
quantizadas mais grosseiramente
Objecto da sessão
Estudo de técnicas de redução para
Redundância temporal
Redundância da cor
As outras redundâncias
Não estão dentro do âmbito
Vídeo Digital e Redundância da Cor
As câmaras de vídeo usam tipicamente o espaço de
cores {R,G,B} para representar vídeo a cores
Assuma que a câmara de vídeo produz sinais com
correcção Gama {Rn,Gn,Bn} normalizados para
referência branco
Os componentes de luminância e crominância são
gerados pela combinação linear de {Rn,Gn,Bn}
O espaço de cores {R,G,B} não é eficiente para
compressão
Para transmissão os canais {R,G,B} são convertidos para um
sinal de luminância e dois sinais de crominância
Codificação de Cores
Imagem representada por pixel de 24 bits
pixel (8 bpp)
Cada valor de cor entre 0 e 255
O vídeo usa codificação não linear
Distribuição uniforme de cores para códigos
RGB R’G’B’ (RGB com gamma corrigido)
Video usa a luminância/crominância
R’G’B’ Y’CBCR
Luminância é Y (tecnicamente luma é Y’)
Crominância é is CBCR
Modelo de Cores YCbCr
Y 0.299 R 0.587 G 0.114 B
Yd 219Y 16
Gama dinâmica = [16,235]
112 ( B Y )
CB
128
0.886
Gama dinâmica = [16,240]
112 ( R Y )
CR
128
0.701
Gama dinâmica = [16,240]
Sub-amostragem do Chroma
4:4:4 --> Sem sub-amostragem do chroma, cada pixel tem valores
Y, Cr e Cb.
4:2:2 --> Sub-amostragem horizontaldos sinais Cr,Cb por um factor
de 2
4:1:1 --> Sub-amostragem horizontal por um factor de 4
4:2:0 --> Sub-amostragem tanto na dimensão vertical como horizontal
por um factor de 2
4:1:1 e 4:2:0 são usados principalmente no JPEG e MPEG
Sub-amostragem do Chroma
4:4:4
4:2:2
(a)
(b)
4:1:1
(d)
(c)
4:2:0
(e)
4:2:0
Pixels
Pixelscom
withvalores
Y,
, Y, Cr, Ch,
Pixels apenas com o valor Y
Pixels com Cr e Ch
Exemplo 9.1
Determine a redução na taxa de bits devido à
sub-amostragem 4:2:2 e 4:2:0
Assuma que há N pixéis de cor no vídeo.
Quando não há sub-amostragem há 3N bytes de tamanho ( 8
bits de resolução em cada canal de cor)
Com sub-amostragem 4:2:2 teremos N amostras de Y, N/2 Cr
e N/2 Cb. Isto conduz a N+N/2+N/2= 2N bytes
Com sub-amostragem 4:2:0 teremos N amostras de Y, N/4 de
Cr e N/4 Cb. Termos N+N/4+N/4=1.5 N bytes
A sub-amostragem 4:2:2 reduz 33% e a 4:2:0 reduz 50%
Normas CCIR para Video Digital
CCIR 601
525/60
NTSC
CCIR 601
625/50
PAL/SECAM
CIF
QCIF
Resolução da
luminância
720 x 480
720 x 576
352 x
288
176 x
144
Resolução da
crominância
360 x 480
360 x 576
176 x
144
88 x 72
Sub-amostragem
de cor
4:2:2
4:2:2
4:2:0
4:2:0
Campos/seg
60
50
30
30
Entrelaçamento
Sim
Sim
Não
Não
(CCIR -- Consultative Committee for International Radio)
Porquê a Compressão ?
A 1920 x 1080, com 30 frames/sec (varrimento progressivo),
teremos 1920 x 1080 x 30 = 62.2 milhões de pixels/segundo. Se
Cada pixel usar 24 bits, a taxa de bits é
1.49Gb/s.
O vídeo digital em bruto necessita duma compactação massiva
(mais que 60:1 de relação de compressão)
Utlizaremos três métodos para consegui-la:
1. Codificação de menor resolução para os canais de cor
2. Remoção da redundãncia temporal pela Compensação de
Movimento
3. Remoção da Redundância espacial pelas técnicas de
transformada de domínio
Redundância temporal no vídeo
Redução da Redundância Temporal
Exemplo
T=1
T=2
Predição
É usado um modelo para prever o conteúdo do quadro; os
parâmetros do modelo precisam de ser extraídos e enviados para o
descodificador
Captura
Display
Predição
Modelo
Codificação
da entropia
Parâmetros do
Modelo
Extração de
parâmetros
Modelo
Descoficação
da entropia
Erro de predição
Motivação
A maioria das diferenças entre quadros subsequentes
numa cena típica são provocadas por movimentos de
translação:
Movimentos ou Zooming da Camera e de objectos
Variações de forma que tb parecem movimentos locais
Essas variações podem ser consideradas num modelo de
predição:
Compensação de Movimento
Este modelo precisa de parâmetros que têm que ser
estimados no codificador:
Estimação de Movimento
Técnicas de Estimação de Movimento
Unificação por Bloco
A imagem é dividida em pequenos blocos
Assume-se que cada bloco pertencem a um corpo rígido
e têm o mesmo movimento
Menor precisão e maior complexidade computacional
Mais usada
Recursiva ao pixel
Calcula-se o vector de movimento por pixel
Maior precisão mas maior complexidade computacional
Estimação/Compensação:
A estimação e a compensação estão relacionadas e
trabalham conjuntamente:
Estimação de Movimento (EM) tenta detectar movimento numa
cena e extrai vectores de movimento para descrevê-la.
Compensação de Movimento (CM) é um modelo. Usa
conjuntamente os vectores de movimento e outros quadros para
gerar um predictor para o quadro corrente.
É removida a redundância uma vez que é necessário
transmitir apenas os vectores de movimento
Os algoritmos EM/CM são baseados em blocos
Os pixéis não são considerados separadamente
São usados tipicamente blocos quadrados
Algumas aplicações usam blocos de pixels de formas arbitrárias
Estimação de movimento
Os quadros são divididos em quadrados de tamanho fixo.
A EM encontra para cada bloco do novo quadro M o
previsor encontra a melhor previsão algures num quadro
M conhecido:
Quadro M
Quadro N
O vector-de-movimento é o deslocamento entre as
coordenadas dos blocos e a posição do melhor match.
Compensação de Movimento
CM tenta prever um quadro de:
Um quadro já conhecido
Os vectores de movimento fornecidos adicionalmente
Cada bloco é substituído por outro no quadro de referência. O
deslocamento entre o bloco e a sua previsão é determinado
pelo vector de movimento.
Quadro M
Quadro N
Erro de
Previsão
Estimação de movimento baseada
em blocos
Considere um pixel vídeo i(x,y,k)
(x,y) coordenada espacial
k é o tempo
O objectivo da EM é calcular o vector de
movimento d(x,y,k)
Que permite reconstruir i(x,y,k) a partir de
i(x,y,k(+/-)p), p é um inteiro pequeno
Estimação de movimento por blocos
A EM por blocos pressupõe
a imagem é composta por objectos rígidos
Os objectos movem-se vertical ou
horizontalmente
É possível encontrar um vector d(x,y;k) tal
que i(x,y;k)= i((x,y) –d(x,y;k),k-p)
Se houver zoom ou rotação a estimação
não sucede.
Estimação de movimento por blocos
Assume-se que o movimento é homegéneo
no tempo i.e
Os objectos movem-se a velocidade constante no
plano da imagem
I(x,y;k)=I((x,y)+d(x,y;k), k+p)
Num EMB espera-se a validade desses
pressupostos para todos pixels do bloco b
com o mesmo vector de deslocamento db.
São satisfeitos se os blocos forem pequenos e se a
amostragem temporal for densa.
Estimação de movimento por blocos
Cada quadro é dividido em blocos KxL
rectangulares e não sobrepostos
Cada bloco no quadro actual e unificado
com um bloco no quadro anterior
Determinar os deslocamentos horizontais e
verticais para esse bloco
Estimação de Movimento por
Unificação de Bloco
Quadro prévio (t-1)
K ? 2? u
L ? 2? v
Vector de Movimento
Área de busca
L
K
Bloco de Referência
Quadro actual (t)
Critério de Unificação de Bloco
(uˆ, vˆ)
K 1 L1
arg min iDFD ( x, y; u, v )
(u,v )2 x0 y 0
u u , v v
2
onde
iDFD ( x, y; u, v) i( x, y; k ) i( x u, y v; k 1)
Exemplo da Estimação de Movimento
37 39
43 44
40 41
42 43
41 42
43 44
43 43
44 45
43 43
43 44
43 44
44 45
44 45
47 48
44 46
45 47
47 48
48 49
40 41
41 43
Blocos da Imagem Prévia
Blocos da imagem corrente
8
6
1
3
5
8
7
6
7
9
10
9
8
9
11
13
12
12
16
19
19
17
17
23
27
Exemplo da Compensação de Movimento
8
6
1
3
5
8
7
6
7
9
10
9
8
9
11
13
12
12
16
19
19
17
17
23
27
40 41
41 43
MV(0,-2) +
0 0
-1 0
ME com busca completa (1)
Os algoritmos de busca completa, fazem uma busca exaustiva do
quadro de referência para a melhor unificação da previsão
A qualidade da unificação entre um bloco e o candidato para
previsão pode ser medida com diferentes critérios:
Erro Médio Quadrático (MSE)
W 1 H 1
D
i 0 j 0
f
( x i, y j ) f N ( N x i, N y j )
M
2
Soma das Diferenças Absolutas (SAD)
W 1 H 1
D f M ( x i, y j ) f N ( N x i, N y j )
i 0 j 0
Classificação da diferença dos pixels (PDC)
A previsão com a menor distância para o bloco previsto é
escolhido e as suas coordenadas relativas são codificadas
como VM para o bloco
ME com busca completa (2)
A complexidade computacional para a EM duma
imagem de tamanho X*Y que é dividida em blocos de
tamanho W*H pode ser estimada da forma seguinte:
O número total de operações é :
C = 2*(W*H)*(X*Y)*[(X/W)*(Y/W)] = (X^2)*(Y^2)
Cálculo o critério de unificação SAD para um candidato
precisa de 2*W*H operações de adição.
Tem que considerar candidatos para todos blocos em X*Y
A busca completa tem que ser feita para todos (X/W)*(Y/W)
blocos.
For X=352 Y=288 temos C>10 GAdições/Quadro
Para reduzir a complexidade:
A área de busca é limitada à vizinhança do bloco.
EM é executada com base apenas na luminância
Avaliação para técnicas de EM
Um algoritmo de EM é avaliado usando dois
factores
A eficiência da CM
Gm= (Energia do bloco de imagem original)/ (Energia residual da CM)
Se a compensação de movimento for adequada a energia
residual é pequena e o ganho é alto
Complexidade Computacional
Deve ser pequena para facilitar a concretização para
tempo real
É proporcional ao número de pontos testados pelo
algoritmo para uma dada área de busca
Numa concretização hardware para tempo real o número
de passos sequenciais necessários pode também ser
importante porque a ME dos blocos individuais pode ser
paralelizada
Exemplo 9.3
Calcule os VM correspondentes ao quadro
apresentado na figura 9.5(b), relativamente
mostrada na figura 9.5(b)
Assuma um tamanho de bloco 16x16 e uma
janela de busca [-16,16] tanto na direcção
horizontal como vertical
Calcule o ganho da previsão de movimento e
estime a complexidade da EM
Desempenho da CM
(a)Referência
(b) Corrente
(c)Diferença de Quadros
Imagens de erro com unificação de Busca Completa
(d) Janela de Busca = 7 ,7
(e) Janela de Busca = 16 ,16
VM para Busca Completa
Histograma dos VM
Sequência de futebol
Ver
t
. M
o tio
n
ti on
o
M
.
Hor
Algoritmos rápidos de EM
No exemplo anterior viu-se que a complexidade da
EM para um quadro de vídeo de 240x352 pode ser
superior a 100 MOP
Geralmente a complexidade do algoritmo de busca
completa é muito grande da ordem de 8x ΔuXΔv
Foram propostas diversas técnicas para reduzir a
complexidade da EM
A maioria destes algoritmos é baseada no pressuposto
que o erro de previsão cresce monotonamente conforme
a busca se move sem ser na direcção de distorção
mínima
Os algoritmos são mais rápidos que o de busca completa
mas menos precisos
Busca em 3 passos
Bloco com melhor
Unificação
Busca Logarítmica 2-D
Bloco com melhor
Unificação
Busca em Direcção Conjugada
Best M atched
Block
Desempenho de MC
Busca de 3 passos
GMP = 47.6
Busca de direcção conjugada
GMP = 36.7
Vectores de Movimento
Exemplo 9.5
Imagem Real
Imagem Estimada
Resultados
Imagem Real
Imagem Estimada
Limitações da Busca Rápida
A maioria dos algoritmos de busca rápida
Assumem um superfície de erro monótona onde
há apenas um mínimo
Se este pressuposto for correcto
todas técnicas encontram eventualmente esse mínimo
global
Normalmente uma superfície de erro não é
estritamente monótona
Nesse caso o algoritmo pode encontrar apenas um
mínimo local e fornecer apenas um desempenho subóptimo.
No sentido de evitar um mínimo local, os pontos de
busca devem estar bem espalhados
Estimação de Movimento Bidireccional
A estimação do movimento tem sido feita
com previsões para a frente
O quadro corrente pode ser previsto do quadro
passado para satisfazer a casualidade
Pode-se conseguir melhor desempenho com a
informação adicional de quadros futuros
Para conseguí-lo temos que atrasar a EM alguns quadros
A maior parte das normas de codificação de vídeo usam
previsão baseada em quadros passados e futuros.
Estimação do Movimento dos
componentes chroma
Num vídeo a cores existem três componentes
de cor
As técnicas de EM podem ser aplicadas
indivualmente a cada um dos componentes
de cor
Há uma forte correlação entre os VM dos
diferentes componentes
É usado o VM do Y para CM dos componentes Cr e
Cb
É necessário usar um factor de escala pelo facto dos
componentes Cr e Cb terem tamanho diferente do Y
Normas de Compressão Vídeo
Motion JPEG
MPEG-1
MPEG-2
MPEG-4
H.261
H.263,H.263+,H26L
Comparação de Desempenho dos Codecs
História dos Codecs
CODEC Vídeo Genérico
Motion-JPEG
O codec não normalizado mais simples
Usa o norma JPEG para imagens fixas para
cada quadro individualmente
Como não há EM a complexidade do
algoritmo de codificação é muito pequena
O desempenho de codificação não é muito
bom
Não explora a correlação temporal entre os
quadros de vídeo
Usado por muitas das primeiras aplicações de
vídeo
MPEG-1
Utiliza algoritmos de compressão eficientes para dados áudio e vídeo
completamente sincronizados
Atinge um débito máximo de 1.5 Mb/seg
Tem como objectivo:
Armazenamento de vídeo em CD-Rom e a sua transmissão sob os mais
diversos tipos de média digital
Codificador de Vídeo MPEG-1
Regulator
Reordered
Input Video
Frames
+
+
-
Block
DCT
Block
Quantizer
VLC
Block
Dequantizer
Block
IDCT
+
Motion
Compensation
Predictor
Motion Vectors
Motion
Estimator
M
U
X
Encoded
Bitstream
Buffer
Tipos de quadro MPEG
Conflito entre acesso aleatório e taxa de
compressão! 3 categorias de quadros:
I – quadros INTRA codificados que são
imagens auto contidas.
Dão pontos de acesso na sequência
Taxa de compressão moderadas
P – quadros PREVISTOS com base na
diferença bloco-a-bloco com o quadro
anterior. Baseados em macroblocos
(16x16 (8x8) pixels no espaço de
luminancia(crominância)).
B – quadros BI-DIRECTIONAIS que se
baseiam na diferença entre o último e o
próximo quadro. Não suportados por
todas concretizações MPEG-1.
GOP (Grupo de Figuras) no MPEG
Time
1
I1
R
2
3
4
5
6
7
8
9
B1
B2
P1
B3
B4
P2
B5
B6
R
R
10
I2
R
Descodificador Vídeo MPEG-1
Coded
Decoder
Bitstream VLCand
Demultiplexer
Inverse
Quantizer
Inverse
DCT
+
Motion Predicted Frame
Motion Vectors
Motion
Compensator
Predictor
Reconstructed
Frames
MPEG-2
Uma forma mais genérica de multiplexar áudio e vídeo.
Define cadeias elementares (elementary streams),
incluindo áudio e vídeo mas também incluindo cadeias de
dados que podem ser sincronizadas com áudio e vídeo como
por exemplo sub-títulos.
Cada uma das cadeias é primeiro dividida em pacotes com
etiquetas temporais. A saída do empacotador é uma
Packetised Elementary Stream (PES).
As PES’s para áudio e vídeo são então multiplexadas
conjuntamente para uma uma única saída a transmitir.
O program stream (PS) é usado para multiplexar
conjuntamente cadeias elementares que tenham uma base de
tempo comum e precisam de ser mostradas de forma
sincronizada.
A cadeia de transporte (transport stream) é usada para
multiplexar cadeias que não tenham uma base de tempo
comum
MPEG-2
Permite débitos de 1.5 a 80 Mbit/seg
É similar ao MPEG-1
inclui extensões para uma larga gama de aplicações
Sintaxe para codificação eficiente de vídeo emtrelaçado
Permite codidficação da crominância a 4:2:0, 4:2:2 e 4:4:4
10 bits DCT para previsão AC
Tabelas VLC
Disponibiliza funcionalidades para
Transmitir sinais multimédia multi-canal de alta qualidade
para difusão terreste, satélite ou redes de banda larga
Suporta uma variedade de formatos de pacotes, correcção de
erros adequada para TV cabo e ligações satélite
MPEG-2
Outras funcionalidades importantes:
Extensões escaláveis que permitem a
divisão dum sinal de vídeo continuo em 2
ou mais cadeias codificadas que
representam o vídeo a diferentes
Resoluções (escalabilidade espacial)
Qualidade da imagem (escalabilidade SNR)
Taxas de imagens (escalabilidade temporal)
O mesmo sinal pode servir para TV de alta
definição e TV normal
Codificador e Empacotador MPEG-2
Video
Data
Video
Encoder
Packetizer
Video
PES
PS
Program
Stream
Mux
Audio
Data
Audio
Encoder
Packetizer
Audio
PES
PS
Mux
Transport
Stream
Níveis e Perfis MPEG-2
Níveis
Simples
Baixo
Principal
4:2:0
720x756
15 Mbit/s
I,P
Principal
Escalável
SNR
4:2:0
352x288
4 Mbit/s
I,P,B
4:2:0
352x288
4 Mbit/s
I,P,B
4:2:0
720x756
15 Mbit/s
I,P,B
4:2:0
720x756
15 Mbit/s
I,P,B
Alto
1440
4:2:0
1440x1152
60 Mbit/s
I,P,B
Alto
4:2:0
1920x1152
80 Mbit/s
I,P,B
Escalável Alto
espacial
4:2:0,4:2:2
720x756
20 Mbit/s
I,P,B
4:2:0
1440x1152
60 Mbit/s
I,P,B
4:2:0, 4:2:2
1440x1152
80 Mbit/s
I,P,B
4:2:0,4:2:2
1920x1152
100 Mbit/s
I,P,B
Perfil
4:2:2
4:2:2
720x756
50 Mbit/s
I,P,B
Perfis e níveis MPEG-2
O MPEG-1 é usado apenas para armazenamento de vídeo a baixo
débito
Nível
Tamanho
Baixo
352x288x
30
720x576x
30
1440x115
2x60
1920x115
2x60
Prncipal
Alto
Muito
Alto
Pixels/
seg
3M
Débito
(Mbits/s)
4
12 M
15
96 M
60
128 M
80
Aplicações
Qualidade
VHS
TV Estúdio
HDTV
assinante
Produção
Filme
MPEG-4
MPEG-1 e MPEG-2
ME inter-quadro para remover redundância
temporal
DCT para remover correlação espacial nos quadros
de erro
Conseguem
Bom desempenho de codificação relativamente a
Taxa de Bits e Qualidade subjectiva
Maior desvantagem
Não disponibilizam funcionalidades de acesso ao
conteúdo
MPEG-4
Definido mais recentemente
Disponibiliza:
Técnicas para armazenamento, transmissão e
manipulação de
Texturas naturais e sintetizadas
Imagem e Vídeo em ambientes multimédia a uma
larga gama de débitos
Centrado no AVO
AVO (Audio-Visual Object)
MPEG-4
“Orientado ao Objecto (OO)”
Mas: actuais concretizações são quadro total
O cliente pode interagir com o conteúdo
Escalabilidade baseada no conteúdo
Reutilização de codificação
Comportamento associado aos objectos
audio-visuais
Mas: problemas de compatibilidade com
concretizações proprietárias do MPEG-4
Uma cena MPEG-4
Objectos Segmentados no MPEG-4
Mesh 2D-Animado
Para além do código baseado em
objectos
O MPEG-4 incorpora técnicas para
representar imagens sintéticas
Usa o VRML para sintetizar vídeo animado
Modelação mesh 2-D para representar imagens
como a face humana
Rede 2D Animada
Correspondência
Armazena
movimento
da textura na rede
os vértices da rede e os parâmetros de
Estrutura das ferramentas
para representar vídeo natural
Os algoritmos para codificação de vídeo e
imagem do MPEG-4
Dão uma representação eficiente de objectos
visuais de forma arbitrária
Suportam a maioria das funcionalidades do MPEG1 e MPEG-2
Compressão eficiente de sequências de imagens
rectangulares para vários
Níveis de formatos de entrada,Taxa de Quadros,
Profundidade de pixel,Taxa de bits, Níveis de escalabilidade
espacial, temporal e de qualidade
Funcionalidades convencionais
baseados no conteúdo
Compromisso entre débito de bits e
funcionalidades
MPEG-4 a débito baixo é similar ao MPEG-1/2
VOP (Video Object Picture) é codificada com
CM seguido da codificação da textura
Para codificação de funcionalidades de conteúdo
com a sequência de vídeo a conter objectos de
forma arbitraria
Codifica-se a forma e transparência
Codificador Vídeo MPEG-4
VOP or
Video
+
Entropy
coding
DCT &
Quantizat ion
IDCT &
Dequantization
+
+
Mot. Co mp.
Predictor
Motion
Estimator
Shape
Coding
Frame
Store
M
U
L
T
I
P
L
E
X
E
R
Coded
Video
Exemplo de codificação sprite duma
sequência vídeo
(a)
(b)
(c)
Estrutura Lógica duma cena
Norma H.261
O MPEG-1 e MPEG-2 foram concebidos para
aplicações de propósito geral
Para conseguir melhor desempenho os
codificadores são bastante mais complexos que os
descodificadores
Esta abordagem é adequada quando há muito menos
codificadores que descodificadores
Para videotelefone este pressuposto não é verdadeiro
Tanto o codificador como o descodificador devem ser
baratos para tornar os produtos menos caros para os
consumidores
H.261
Similar ao MPEG-1
Um codec vídeo para débitos video de {1-30}x64
(px64, p de 1 a 30) kbps.
Dois formatos de imagem diferentes: CIF e QCIF.
Foi concebido para aplicações de video-conferência
e é suposto transportar vídeo sobre RDIS.
Optimiza a utilização de largura de banda
estabelecendo um compromisso entre qualidade
contra movimento
Imagens com rápidas mudanças têm pior qualidade que
imagens quase estáticas
H.263
Versão melhorada do H.261.
Usa a mesma DCT e mesma técnica para MC
Mesma qualidade com metade do débito
As diferenças principais são:
Usa CM de meio pixel para reduzir a energia DFD
Codificação de comprimento variável melhorada
(codificação aritmética como opção)
Modos opcionais incluem VM sem restrições
Modo de previsão de movimento avançado incluindo CM
de blocos sobrepostos.
Um modo que combina previsão bidireccional com a
prévia (modo PB)
Suporta uma larga gama de formatos de imagem
(4CIF,16 CIF)
H.263+
Melhoramentos adicionais sobre o H.263 para
aumentar
gama de aplicação
Desempenho de compressão
Aceita novos tipos de imagens
Imagens escaláveis
Formatos do utilizador
Novos modos de codificação
Codificação avançada intra-quadro
Filtro para “deblocking”
Selecção de imagens de referência
H.26L
Em desenvolvimento pelos peritos do ITU
Principal objectivo:Um algoritmo de codificação simples para
aumentar o desempenho da compressão
Adicionalmente
Representação em pacotes de vídeo
Amigável para a rede
Orientada para aplicações interactivas (videotelefone) e
não interactivas (armazenamento, difusão,…)
Disponibiliza uma camada de codificação vídeo (VCL)
Melhoria significativa na taxa de distorção
Uma camada de rede para difusão de vídeo sobre um tipo
particular de rede
Desenvolvida para transportar vídeo sobre RTP/IP ou
sistemas sem fios 3G
Desempenho das Normas CODEC
O principal objectivo de qualquer
CODEC é bom desempenho de da
codificação
Têm diferente complexidade e
desempenho de codificação
É dificil de comparar porque são usados em
contextos diferentes e o débito pretendido é
diferente
Desempenho da Codificação
Vídeo SIF
PSNR (in dB)
40
Hallway
36
32
Football
28
Table Tennis
24
20
M-JPEG
0
MPEG2-I
1
MPEG2-IP
2
Desempenho da Codificação
Vídeo CCIR
PSNR (in dB)
40
Hallway
36
Football
32
Table Tennis
28
24
M-JPEG
0
MPEG2-I
1
MPEG2-IP
2
Vídeo Bream
MPEG-1 vs MPEG-4 a 1.1 Mbits/s
130
Bitrate (in kbps)
MPEG-1
40
PSNR (in dB)
MPEG-4
39
38
MPEG-1
MPEG-4
110
90
70
50
30
37
10
36
0
20
40
60
Frame Index
80
0
20
40
60
Frame Index
80
H.263 vs MPEG-4 a 1.1 Mbits/s
40
39
38
37
H.263
MPEG-4
36
Bitrate (in kbps)
PSNR (in dB)
41
H.263
MPEG-4
120
90
60
30
0
35
0
20
40
60
Frame Index
80
0
20
40
60
Frame Index
80
H.263 vs MPEG-4 a 56 Kbits/s
60
PSNR (in dB)
Bitrate (in kbps)
H.263
35
MPEG-4
33
31
29
50
H.263
40
MPEG-4
30
20
10
0
0
4
8
12
16
20
Frame Index
24
28
32
0
4
8
12
16
20
Frame Index
24
28
32