marco cagnazzo elaborazione dei segnali multimediali 27 ...unina.stidue.net/elaborazione di segnali...
Post on 14-Jul-2020
4 Views
Preview:
TRANSCRIPT
La codifica videoLa codifica video
Marco CagnazzoMarco Cagnazzo
Elaborazione dei Segnali MultimedialiElaborazione dei Segnali Multimediali
27 27 maggio maggio 2010201027 27 maggio maggio 20102010
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
Il segnale video: esempioIl segnale video: esempio
ESM – Codifica Video 327 maggio 2010
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
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
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
Il segnale video: ridondanza spazialespaziale
Ampie aree omogenee all’interno di una singola immagine
ESM – Codifica Video 727 maggio 2010
singola immagine
Il segnale video: ridondanza temporaletemporale
Ampie aree immutate da un’immagine all’altra
ESM – Codifica Video 827 maggio 2010
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
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
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
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
Compressione temporaleCompressione temporaleTecniche di predizioneTecniche di predizione
• Codifica differenziale (DPCM)• Conditional replenishment• Compensazione del movimento• Compensazione del movimento
ESM – Codifica Video 1327 maggio 2010
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
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
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
Conditional ReplenishmentConditional Replenishment
Immagine divisa in macroblocchi
ESM – Codifica Video 1727 maggio 2010
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
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
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
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
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
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
Stima del movimento: esempioStima del movimento: esempio
ESM – Codifica Video24
27 maggio 2010
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
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
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
Stima del movimento: full searchStima del movimento: full search
n2 valutazionidel criterio
ESM – Codifica Video 2827 maggio 2010
Stima del movimento: cross searchStima del movimento: cross search
2n-1 valutazioni del criterio
ESM – Codifica Video 2927 maggio 2010
Stima del movimento: log searchStima del movimento: log search
≈ 9(log2n-1) 9(log2n 1) valutazionidel criterio
ESM – Codifica Video 3027 maggio 2010
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
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
Motion JPEG: il fotogramma originaleoriginale
ESM – Codifica Video 3327 maggio 2010
DPCM: la differenza tra frame consecutiveconsecutive
100
150
50
100
0
-50
-100
ESM – Codifica Video 3427 maggio 2010
CR: New & Refine blocksCR: New & Refine blocks
ESM – Codifica Video 3527 maggio 2010
MC: errore compensato in movimentomovimento
ESM – Codifica Video 3627 maggio 2010
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
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
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
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
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
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
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
top related