Técnicas de Compressão Vídeo

Post on 13-Jan-2016

33 views 1 download

description

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 - PowerPoint PPT Presentation

Transcript of Técnicas de Compressão Vídeo

Técnicas de Compressão Vídeo

Joaquim MacedoUniversidade 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á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!

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

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 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

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]

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

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

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%

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)

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.

Redundância temporal no vídeo

Redução da Redundância Temporal

Exemplo

T=1 T=2

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

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

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.

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

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

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

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

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)

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

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

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)

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

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)

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

77 ,

Imagens de erro com unificação de Busca Completa

(d) Janela de Busca = (e) Janela de Busca = 1616 ,

VM para Busca Completa

Histograma dos VM

Hor. Motion

Vert. Motion Hor. Motion

Vert. Motion

Sequência de futebol

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 melhorUnificação

Busca Logarítmica 2-D

Bloco com melhorUnificação

Busca em Direcção Conjugada

Best Matched BlockBest Matched Block

Desempenho de MC

Busca de 3 passos Busca de direcção conjugada

MPGMPG= 47.6 = 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 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

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

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 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

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

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

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

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

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

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

(a) (b)

(c) (d)

(a) (b)

(c) (d)

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 da textura na rede

Armazena os vértices da rede e os parâmetros de movimento

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

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

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

Exemplo de codificação sprite duma sequência vídeo

(a)

(b) (c)

(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

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

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

Vídeo Bream

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

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

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