marco cagnazzo elaborazione dei segnali multimediali 27 ...unina.stidue.net/elaborazione di segnali...

43
La codifica video La codifica video Marco Cagnazzo Marco Cagnazzo Elaborazione dei Segnali Multimediali Elaborazione dei Segnali Multimediali 27 27 maggio maggio 2010 2010 27 27 maggio maggio 2010 2010

Upload: others

Post on 14-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

La codifica videoLa codifica video

Marco CagnazzoMarco Cagnazzo

Elaborazione dei Segnali MultimedialiElaborazione dei Segnali Multimediali

27 27 maggio maggio 2010201027 27 maggio maggio 20102010

Page 2: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

SommarioSommario• Il segnale video• Il segnale video• La codifica video

Principi di base

C i i lCompressione spaziale

Tecniche di predizione temporalep p

Stima e compensazione del movimento

• Il codificatore ibrido

ESM – Codifica Video 227 maggio 2010

Page 3: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: esempioIl segnale video: esempio

ESM – Codifica Video 327 maggio 2010

Page 4: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: formatiIl segnale video: formati

Righe Colonne

QCIF 144 176

CIF 288 352

SD 576 704

HD720p 720 1280

ESM – Codifica Video 427 maggio 2010

Page 5: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: caratteristicheIl segnale video: caratteristiche

• Frame rate: 25 al secondo• Risoluzione : 576 × 720 pixels per frame p p

(Standard definition)• Colore : 3 canali per pixelp p• Precisione : 1 byte = 8 bit per canale

Totale : 25 × 576 × 720 × 3 × 8 ≈ 250 Mbps

Compressione

ESM – Codifica Video 527 maggio 2010

Page 6: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: ridondanzaIl segnale video: ridondanza

• Ridondanza statisticaL t ll di d t ti ti d i i iLegata alla dipendenza statistica dei campioni

• Ridondanza psicofisicaLegata all’incapacità del sistema visuale umano di cogliere tutti i dettagliSensibilità ai dettagli spaziali alle basse frequenze temporaliInsensibilità al colore in condizioni di scarsa luminositàff i di h

ESM – Codifica Video 627 maggio 2010

Effetti di mascheramento

Page 7: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: ridondanza spazialespaziale

Ampie aree omogenee all’interno di una singola immagine

ESM – Codifica Video 727 maggio 2010

singola immagine

Page 8: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il segnale video: ridondanza temporaletemporale

Ampie aree immutate da un’immagine all’altra

ESM – Codifica Video 827 maggio 2010

Page 9: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Criteri di valutazione di un codificatore videocodificatore video

• Tasso di codifica• Tasso di codifica• QualitàQ

Oggettiva: percettiva, non percettiva

S iSoggettiva

• ComplessitàComplessità• Ritardo• Robustezza agli errori

ESM – Codifica Video 927 maggio 2010

Page 10: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Schema generale di n codificato e ideodi un codificatore video

Sequenza difi t

Compressione Compressione codificatatemporale spaziale Buffer

Sequenza video

d’ingresso

Informazioni di movimento

ESM – Codifica Video 1027 maggio 2010

Page 11: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Compressione spazialeCompressione spaziale

• Compressione di immagini: JPEGO bl hi di i l• Opera su blocchi di pixel

• Tre stadi:Tre stadi:

Quantiz-zatore

Trasformata2d

Codificalossless

ESM – Codifica Video 1127 maggio 2010

Page 12: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Compressione spazialeCompressione spaziale

k k k

QDCT2d

Codificalossless

k1, k2, k3, …

0101011100000110101…

Q*IDCT2d

Decodificalossless

k1, k2, k3, …k1, k2, k3, …

ESM – Codifica Video 1227 maggio 2010

Page 13: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Compressione temporaleCompressione temporaleTecniche di predizioneTecniche di predizione

• Codifica differenziale (DPCM)• Conditional replenishment• Compensazione del movimento• Compensazione del movimento

ESM – Codifica Video 1327 maggio 2010

Page 14: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Famiglie di codificatoriFamiglie di codificatori

Spazio Tempo + e - Applic.

Motion picture Trasform – Semplice;

comprime poco

Fotoca-mere, webcamp p p webcam

Ibrido Trasform PredizioneCompressione ottima; poco

Distribuzione video Ibrido Trasform Predizione ottima; poco

scalabileone video supporti

Scalabile DistribuziTrasf. 3D Trasform Trasform

Scalabile, comprime meno bene dell’ibrido

Distribuzione video su rete

ESM – Codifica Video 1427 maggio 2010

Page 15: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il codificatore ibrido: DPCMIl codificatore ibrido: DPCM

Il modo più semplice di predire il fotogramma corrente è usare il precedenteg p

Frame correnteCodificatore

Errore

JPEG

Frame precedente

ESM – Codifica Video 1527 maggio 2010

a e p ecede te

Page 16: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il codificatore ibrido: DPCMIl codificatore ibrido: DPCM

Problema: sincronizzazione tra codifica e decodifica

Frame correnteCodificatore

Errore

JPEG

Buffer

Frame precedente

ESM – Codifica Video 1627 maggio 2010

a e p ecede te

Page 17: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Conditional ReplenishmentConditional Replenishment

Immagine divisa in macroblocchi

ESM – Codifica Video 1727 maggio 2010

Page 18: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Conditional ReplenishmentConditional Replenishment

Possiamo allora suddividere i MB di una frame in “statici” (marcati con 1) e “dinamici” (con 0)

1 1 1 1 1 1 1 1

1 1 0 1 1 1 1 1

1

11 1 0 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 0 0 1

0

1

1

1

1

1

1

1

1

1

1

0

0

0

1

0

1

0

0

1

01

1

ESM – Codifica Video 1827 maggio 2010

Page 19: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Conditional ReplenishmentConditional Replenishment

• Test

( ) γ<)()( , pphk BBd ( )

Blocco centrato nel pixel p nella frame k

Blocco centrato nel pixel p nella frame h

ESM – Codifica Video 1927 maggio 2010

Page 20: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Conditional ReplenishmentConditional Replenishment

• MB statici:refine: si trasmette ( ) refine: si trasmette l’errore di predizione

skip: non vengono per ( ) γ<)()( , pp

hk BBdskip: non vengono per niente trasmessi

• MB dinamici:( ) γ>)()( pp BBdnew: si trasmette il MB

( ) γ>)()( , pphk BBd

ESM – Codifica Video 2027 maggio 2010

Page 21: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimentoStima del movimento

Bk(p) Bh

(p+v) d(v)=d(Bk(p), Bh

(p+v)) v* = arg min d(v)v

ESM – Codifica Video 2127 maggio 2010

v

Page 22: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimentoStima del movimento

( )• Test ME ( ))()( ,)( vppv += hk BBdd

• Vettore scelto )(minarg* vv d=Vettore scelto )(minarg vvv

d

• Blocco trasmesso

)()( *vpp +− hk BBtrasmesso

ESM – Codifica Video 2227 maggio 2010

Page 23: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimentoStima del movimento• Qual è il vettore “ottimo”?Qual è il vettore ottimo ?

• Compromesso tasso distorsione

)()(min arg* vvvv

rd λ+=

• Funzione di costo r(v)

v

Costo di codifica

C it i di l itàCriterio di regolaritàESM – Codifica Video 23

27 maggio 2010

Page 24: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: esempioStima del movimento: esempio

ESM – Codifica Video24

27 maggio 2010

Page 25: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: esempioStima del movimento: esempio

Entropia MVF: 1.675 Kbits PSNR errore predizione: 21.69 Entropia MVF: 1.430 Kbits PSNR errore predizione: 21.69

Minimizzazione SSD Minimizzazione D+λR

ESM – Codifica Video 2527 maggio 2010

Page 26: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: esempioStima del movimento: esempioE i MVF 8 39 Kbi PSNR di i 22 82 E i MVF 642 Kbi PSNR di i 22 9Entropia MVF: 8.397 Kbits PSNR errore predizione: 22.82 Entropia MVF: 5.642 Kbits PSNR errore predizione: 22.79

Minimizzazione SSD Minimizzazione D+λR

ESM – Codifica Video 2627 maggio 2010

Page 27: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: complessità vs efficienzacomplessità vs. efficienza

• Full search: n2 valutazioni del • Full search: n valutazioni del criterio

Cross search: ricerca prima in • Cross search: ricerca prima in orizzontale e poi in verticale

• Log search: raffinamenti successivi

ESM – Codifica Video 2727 maggio 2010

Page 28: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: full searchStima del movimento: full search

n2 valutazionidel criterio

ESM – Codifica Video 2827 maggio 2010

Page 29: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: cross searchStima del movimento: cross search

2n-1 valutazioni del criterio

ESM – Codifica Video 2927 maggio 2010

Page 30: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: log searchStima del movimento: log search

≈ 9(log2n-1) 9(log2n 1) valutazionidel criterio

ESM – Codifica Video 3027 maggio 2010

Page 31: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Stima del movimento: classificazioneclassificazione

• Modello di movimento (traslazione • Modello di movimento (traslazione, rotazione, deformazione; basato su bl hi h )blocchi o su mesh, …)

• Criterio da minimizzare (SSD, SAD, Criterio da minimizzare (SSD, SAD, ottimizzato RD, psicovisuale, …)

• Strategia di ricerca (Full search, log search, …), )

ESM – Codifica Video 3127 maggio 2010

Page 32: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Compressione temporale: conclusioniconclusioni

• A valle dello stadio di compressione temporale troviamo:temporale troviamo:

Sequenza difi t

Compressione Compressione codificatatemporale spaziale Buffer

Sequenza video

d’ingresso

Informazioni di movimento

ESM – Codifica Video 3227 maggio 2010

Page 33: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Motion JPEG: il fotogramma originaleoriginale

ESM – Codifica Video 3327 maggio 2010

Page 34: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

DPCM: la differenza tra frame consecutiveconsecutive

100

150

50

100

0

-50

-100

ESM – Codifica Video 3427 maggio 2010

Page 35: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

CR: New & Refine blocksCR: New & Refine blocks

ESM – Codifica Video 3527 maggio 2010

Page 36: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

MC: errore compensato in movimentomovimento

ESM – Codifica Video 3627 maggio 2010

Page 37: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Il codificatore video ibridoIl codificatore video ibrido• Codifica macroblocco per macroblocco• Codifica macroblocco per macroblocco

• Modi di codificaIntra: nessuna predizione temporale, trasformata spaziale p

Inter: ME/MC per la predizione temporale trasformata spazialetemporale, trasformata spaziale

Direct: vettore di movimento dedotto dai vicini; blocco copiato dal riferimentovicini; blocco copiato dal riferimento

Lossless: codifica senza perdite

ESM – Codifica Video 3727 maggio 2010

Page 38: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Codifica di un MB:compromesso R/Dcompromesso R/D

Direct mode

tors

ione

Dis

t

ME/MC, Inter 16x16

CR, blocchi 16x16

no ME

ME/MC, Inter 8x8

CR, blocchi8x8

no ME, Intra Lossless

T

ESM – Codifica Video 3827 maggio 2010

Tasso

Page 39: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Selezione del modo di codificaSelezione del modo di codifica• Minimizzare D per R totale assegnato• Minimizzare D per R totale assegnato

),( QiDD k

K

k∑= ),( QiRR k

K

k∑=• Il passo Q è prefissato

),(1

QiDD kk

k∑=

),(1

QiRR kk

k∑=

• Il passo Q è prefissato

• L’insieme dei modi i={ik}k deve essere scelto in modo da minimizzare

∑∑KK

QiRQiDQJ )()()( λλi ∑∑==

+=k

kkk

kk QiRQiDQJ11

),(),(),,( λλi

ESM – Codifica Video 3927 maggio 2010

Page 40: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Selezione del modo di codificaSelezione del modo di codifica• Invece di cercare congiuntamente il • Invece di cercare congiuntamente il

vettore i, si sceglie separatamente il modo di ogni macroblocco minimizzando:di ogni macroblocco, minimizzando:

),(),(),,( QiRQiDQiJ kkkkkk λλ +=• La scelta del modo dipende quindi da Q e

da λ

• Q è un parametro d’ingresso

è d l• λ è determinato sperimentalmente in funzione di Q

ESM – Codifica Video 4027 maggio 2010

Page 41: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Codifica di un MB:compromesso R/Dcompromesso R/D

Direct mode

tors

ione

Dis

t

ME/MC, Inter 16x16

CR, blocchi 16x16

no ME

ME/MC, Inter 8x8D+λ2R = J

CR, blocchi8x8

no ME, Intra Lossless

T

D+λ1R = J

ESM – Codifica Video 4127 maggio 2010

Tasso

Page 42: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Struttura del codificatore ibridoStruttura del codificatore ibrido

Control

Channelx e

JPEGcoder

Input DCT Q VLC ChannelBuffer

x

xp

e

ME

Q*Inter/Intra

Frame xqMV

IDCT

eq

MC FrameBuffer

xq q

xp

ESM – Codifica Video 4227 maggio 2010

Page 43: Marco Cagnazzo Elaborazione dei Segnali Multimediali 27 ...unina.stidue.net/Elaborazione di Segnali Multimediali/Materiale/Slides/2 - Codifica...• Risoluzione : 576 × 720 pppixels

Struttura del decodificatore ibridoStruttura del decodificatore ibrido

ChannelInput Channelbuffer VLD

MVQ*

IDCT

eqFrame xq qFrameBuffer

xq

xp

MC xq

ESM – Codifica Video 4327 maggio 2010