Download - Técnicas de Compressão Vídeo
![Page 1: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/1.jpg)
Técnicas de Compressão Vídeo
Joaquim MacedoUniversidade do Minho
![Page 2: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/2.jpg)
Material Utilizado Acetatos do livro Multimedia
Signals and Systems (Kluwer Academic) de Mrinal Mandal
![Page 3: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/3.jpg)
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áriasTotal 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!
![Page 4: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/4.jpg)
Princípios de Compressão de Vídeo
Um vídeo pode ser considerado um função tri-dimensional 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
![Page 5: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/5.jpg)
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
![Page 6: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/6.jpg)
Redundâncias no vídeo Temporal Conhecimento Psico-Visual
![Page 7: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/7.jpg)
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
![Page 8: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/8.jpg)
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
![Page 9: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/9.jpg)
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
![Page 10: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/10.jpg)
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
![Page 11: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/11.jpg)
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
![Page 12: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/12.jpg)
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 linearDistribuição uniforme de cores para códigosRGB R’G’B’ (RGB com gamma corrigido)
Video usa a luminância/crominânciaR’G’B’ Y’CBCR
Luminância é Y (tecnicamente luma é Y’)Crominância é is CBCR
![Page 13: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/13.jpg)
Modelo de Cores YCbCr
BGRY 114.0587.0299.0
16219 YYd
128886.0
)(112
YBCB
128701.0
)(112
YRCR
Gama dinâmica = [16,235]
Gama dinâmica = [16,240]
Gama dinâmica = [16,240]
![Page 14: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/14.jpg)
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 44: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
![Page 15: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/15.jpg)
Sub-amostragem do Chroma4:4:4 4:2:2
4:1:1 4:2:0
4:2:0
(a)
(c)
(b)
(d)
(e)
Pixels with Y, ,
4:4:4 4:2:2
4:1:1 4:2:0
4:2:0
(a)
(c)
(b)
(d)
(e)
Pixels com valores Y, Cr, Ch, ,
Pixels apenas com o valor Y
Pixels com Cr e Ch
![Page 16: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/16.jpg)
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 bytesCom 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 bytesA sub-amostragem 4:2:2 reduz 33% e a 4:2:0 reduz 50%
![Page 17: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/17.jpg)
Normas CCIR para Video Digital
CCIR 601525/60NTSC
CCIR 601625/50PAL/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)
![Page 18: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/18.jpg)
Porquê a Compressão ?
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
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.
![Page 19: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/19.jpg)
Redundância temporal no vídeo
![Page 20: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/20.jpg)
Redução da Redundância Temporal
![Page 21: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/21.jpg)
Exemplo
T=1 T=2
![Page 22: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/22.jpg)
Predição
Captura
Codificaçãoda entropia
Descoficaçãoda entropia
DisplayPrediçã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
Erro de predição
Par
âm
etro
s do
M
odel
o
Extração deparâmetros
Modelo Modelo
![Page 23: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/23.jpg)
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:
Este modelo precisa de parâmetros que têm que ser estimados no codificador:
Compensação de Movimento
Estimação de Movimento
![Page 24: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/24.jpg)
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
![Page 25: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/25.jpg)
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.
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
É removida a redundância uma vez que é necessário transmitir apenas os vectores de movimento
![Page 26: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/26.jpg)
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:
O vector-de-movimento é o deslocamento entre as coordenadas dos blocos e a posição do melhor match.
Estimação de movimento
Quadro NQuadro M
![Page 27: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/27.jpg)
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 NQuadro M
Erro de Previsão
![Page 28: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/28.jpg)
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
![Page 29: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/29.jpg)
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.
![Page 30: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/30.jpg)
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.
![Page 31: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/31.jpg)
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
![Page 32: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/32.jpg)
Estimação de Movimento por Unificação de Bloco
L
K
L v 2
Ku
2
L
K
Área de busca
Vector de Movimento
Bloco de Referência
Quadro actual (t)
L v 2
Ku
2
Ku
2
Quadro prévio (t-1)
![Page 33: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/33.jpg)
Critério de Unificação de Bloco
1
0
1
0
2
2),;,(
,),(min arg)ˆ,ˆ(
K
x
L
yDFD
vu
vuyxi
vuvu
vu
)1;,();,(),;,( kvyuxikyxivuyxiDFD
onde
![Page 34: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/34.jpg)
Exemplo da Estimação de Movimento
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
37 3943 44
43 4343 44
40 4142 43
43 4344 45
44 4547 48
43 4444 45
41 4243 44
47 4848 49
44 4645 47
40 4141 43
37 3943 44
43 4343 44
40 4142 43
43 4344 45
44 4547 48
43 4444 45
41 4243 44
47 4848 49
44 4645 47
37 3943 44
43 4343 44
40 4142 43
43 4344 45
44 4547 48
43 4444 45
41 4243 44
47 4848 49
44 4645 47
40 4141 4340 4141 43
![Page 35: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/35.jpg)
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 4141 43
0 0-1 0 +MV(0,-2)40 41
41 4340 4141 43
0 0-1 0 +MV(0,-2)
![Page 36: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/36.jpg)
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)
Soma das Diferenças Absolutas (SAD)
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
1
0
1
0
2),(),(
W
i
H
jyxNMjNiNfjyixfD
1
0
1
0
),(),(W
i
H
jyxNM jNiNfjyixfD
![Page 37: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/37.jpg)
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:
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.
O número total de operações é :
For X=352 Y=288 temos C>10 GAdições/QuadroPara reduzir a complexidade:
A área de busca é limitada à vizinhança do bloco. EM é executada com base apenas na luminância
C = 2*(W*H)*(X*Y)*[(X/W)*(Y/W)] = (X^2)*(Y^2)
![Page 38: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/38.jpg)
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
![Page 39: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/39.jpg)
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
![Page 40: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/40.jpg)
Desempenho da CM
(a)Referência (b) Corrente (c)Diferença de Quadros
77 ,
Imagens de erro com unificação de Busca Completa
(d) Janela de Busca = (e) Janela de Busca = 1616 ,
![Page 41: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/41.jpg)
VM para Busca Completa
![Page 42: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/42.jpg)
Histograma dos VM
Hor. Motion
Vert. Motion Hor. Motion
Vert. Motion
Sequência de futebol
![Page 43: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/43.jpg)
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
![Page 44: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/44.jpg)
Busca em 3 passos
Bloco com melhorUnificação
![Page 45: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/45.jpg)
Busca Logarítmica 2-D
Bloco com melhorUnificação
![Page 46: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/46.jpg)
Busca em Direcção Conjugada
Best Matched BlockBest Matched Block
![Page 47: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/47.jpg)
Desempenho de MC
Busca de 3 passos Busca de direcção conjugada
MPGMPG= 47.6 = 36.7
![Page 48: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/48.jpg)
Vectores de Movimento
![Page 49: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/49.jpg)
Exemplo 9.5
Imagem Real Imagem Estimada
![Page 50: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/50.jpg)
Resultados
Imagem Real Imagem Estimada
![Page 51: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/51.jpg)
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
![Page 52: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/52.jpg)
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.
![Page 53: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/53.jpg)
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
![Page 54: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/54.jpg)
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
![Page 55: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/55.jpg)
História dos Codecs
![Page 56: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/56.jpg)
CODEC Vídeo Genérico
![Page 57: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/57.jpg)
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
![Page 58: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/58.jpg)
MPEG-1
Utiliza algoritmos de compressão eficientes para dados áudio e vídeo completamente sincronizadosAtinge um débito máximo de 1.5 Mb/segTem como objectivo:
Armazenamento de vídeo em CD-Rom e a sua transmissão sob os mais diversos tipos de média digital
![Page 59: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/59.jpg)
Codificador de Vídeo MPEG-1
ReorderedInput VideoFrames
MotionEstimator
+ BlockDCT
BlockQuantizer
VLC
Regulator
MUX
+Buffer
-
MotionCompensationPredictor
EncodedBitstream
+
BlockDequantizer
BlockIDCT
Motion Vectors
ReorderedInput VideoFrames
MotionEstimator
+ BlockDCT
BlockQuantizer
VLC
Regulator
MUX
+BufferBuffer
-
MotionCompensationPredictor
MotionCompensationPredictor
EncodedBitstream
++
BlockDequantizer
BlockIDCT
Motion Vectors
![Page 60: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/60.jpg)
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.
![Page 61: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/61.jpg)
GOP (Grupo de Figuras) no MPEG
Time
1 2 3 4 5 6 7 8 9 10
I1 B1 B2 P1 B3 B4 B5 B6 I2P2
R RR R
Time
1 2 3 4 5 6 7 8 9 10
I1I1 B1B1 B2B2 P1P1 B3B3 B4B4 B5B5 B6B6 I2I2P2P2
RR RRRR RR
![Page 62: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/62.jpg)
Descodificador Vídeo MPEG-1
ReconstructedFrames
VLC Decoderand
Demultiplexer
Motion Compensator
Predictor
Coded Bitstream Inverse
QuantizerInverseDCT +
Motion Predicted Frame
Motion Vectors
ReconstructedFrames
VLC Decoderand
Demultiplexer
VLC Decoderand
Demultiplexer
Motion Compensator
Predictor
Motion Compensator
Predictor
Coded Bitstream Inverse
QuantizerInverse
QuantizerInverseDCT
InverseDCT ++
Motion Predicted Frame
Motion Vectors
![Page 63: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/63.jpg)
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
![Page 64: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/64.jpg)
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
![Page 65: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/65.jpg)
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
![Page 66: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/66.jpg)
Codificador e Empacotador MPEG-2
VideoEncoder
Audio Encoder
Packetizer
Packetizer
PS
Mux
PS
Mux
VideoData
AudioData
ProgramStream
TransportStream
Video PES
AudioPES
VideoEncoder
Audio Encoder
Packetizer
Packetizer
PS
Mux
PS
Mux
VideoData
AudioData
ProgramStream
TransportStream
Video PES
AudioPES
![Page 67: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/67.jpg)
Níveis e Perfis MPEG-2Níveis Simple
sPrincipal Escaláve
l SNREscalável espacial
Alto Perfil 4:2:2
Baixo 4:2:0352x2884 Mbit/s I,P,B
4:2:0352x2884 Mbit/s I,P,B
Principal
4:2:0720x75615 Mbit/s I,P
4:2:0720x75615 Mbit/s I,P,B
4:2:0720x75615 Mbit/s I,P,B
4:2:0,4:2:2720x75620 Mbit/s I,P,B
4:2:2720x75650 Mbit/s I,P,B
Alto 1440
4:2:01440x115260 Mbit/s I,P,B
4:2:01440x115260 Mbit/s I,P,B
4:2:0, 4:2:21440x115280 Mbit/s I,P,B
Alto 4:2:01920x115280 Mbit/s I,P,B
4:2:0,4:2:21920x1152100 Mbit/s I,P,B
![Page 68: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/68.jpg)
Perfis e níveis MPEG-2
Nível Tamanho Pixels/seg
Débito (Mbits/s)
Aplicações
Baixo 352x288x30
3 M 4 Qualidade VHS
Prncipal 720x576x30
12 M 15 TV Estúdio
Alto 1440x1152x60
96 M 60 HDTV assinante
Muito Alto
1920x1152x60
128 M 80 Produção Filme
O MPEG-1 é usado apenas para armazenamento de vídeo a baixodébito
![Page 69: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/69.jpg)
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
![Page 70: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/70.jpg)
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)
![Page 71: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/71.jpg)
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
![Page 72: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/72.jpg)
Uma cena MPEG-4
![Page 73: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/73.jpg)
Objectos Segmentados no MPEG-4
(a) (b)
(c) (d)
(a) (b)
(c) (d)
![Page 74: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/74.jpg)
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
![Page 75: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/75.jpg)
Rede 2D Animada
Correspondência da textura na rede
Armazena os vértices da rede e os parâmetros de movimento
![Page 76: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/76.jpg)
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
MPEG-1 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
![Page 77: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/77.jpg)
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
![Page 78: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/78.jpg)
Codificador Vídeo MPEG-4
DCT &Quantizat ion
MotionEstimator
+
Entropy coding
M
U
L
T
I
P
L
E
X
E
R
IDCT &Dequantization
Frame Store
Shape Coding
+
+
Mot. Comp.Predictor
VOP orVideo
Coded Video
DCT &Quantizat ion
MotionEstimator
+
Entropy coding
M
U
L
T
I
P
L
E
X
E
R
IDCT &Dequantization
Frame Store
Shape Coding
+
+
Mot. Comp.PredictorMot. Comp.Predictor
VOP orVideo
Coded Video
![Page 79: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/79.jpg)
Exemplo de codificação sprite duma sequência vídeo
(a)
(b) (c)
(a)
(b) (c)
![Page 80: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/80.jpg)
Estrutura Lógica duma cena
![Page 81: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/81.jpg)
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
![Page 82: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/82.jpg)
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
![Page 83: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/83.jpg)
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)
![Page 84: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/84.jpg)
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
![Page 85: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/85.jpg)
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
![Page 86: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/86.jpg)
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
![Page 87: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/87.jpg)
Desempenho da Codificação Vídeo SIF
20
24
28
32
36
40
0 1 2
PS
NR
(in
dB
)
M-JPEG MPEG2-I MPEG2-IP
Hallway
Table Tennis
Football
20
24
28
32
36
40
0 1 2
PS
NR
(in
dB
)
M-JPEG MPEG2-I MPEG2-IP
Hallway
Table Tennis
Football
![Page 88: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/88.jpg)
Desempenho da Codificação Vídeo CCIR
24
28
32
36
40
0 1 2
PS
NR
(in
dB
)
M-JPEG MPEG2-I MPEG2-IP
Hallway
Table Tennis
Football
M-JPEG MPEG2-I MPEG2-IP
Hallway
Table Tennis
Football
![Page 89: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/89.jpg)
Vídeo Bream
![Page 90: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/90.jpg)
MPEG-1 vs MPEG-4 a 1.1 Mbits/s
36
37
38
39
40
0 20 40 60 80Frame Index
PS
NR
(in
dB
)
MPEG-1
MPEG-4
10
30
50
70
90
110
130
0 20 40 60 80
Frame Index
Bitr
ate
(in k
bps)
MPEG-1MPEG-4
![Page 91: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/91.jpg)
H.263 vs MPEG-4 a 1.1 Mbits/s
35
36
37
38
39
40
41
0 20 40 60 80Frame Index
PS
NR
(in
dB
)
H.263MPEG-4
0
30
60
90
120
0 20 40 60 80Frame Index
Bitra
te (i
n kb
ps)
H.263MPEG-4
![Page 92: Técnicas de Compressão Vídeo](https://reader035.vdocuments.pub/reader035/viewer/2022062217/568145b1550346895db2b4eb/html5/thumbnails/92.jpg)
H.263 vs MPEG-4 a 56 Kbits/s
29
31
33
35
0 4 8 12 16 20 24 28 32Frame Index
PS
NR
(in
dB)
H.263
MPEG-4
0
10
20
30
40
50
60
0 4 8 12 16 20 24 28 32
Frame Index
Bit
rate
(in
kb
ps) H.263
MPEG-4