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

53
Gli standard di Gli standard di Gli standard di Gli standard di codifica video codifica video Marco Cagnazzo Marco Cagnazzo Elaborazione dei Segnali Multimediali Elaborazione dei Segnali Multimediali 28 28 maggio maggio 2010 2010 28 28 maggio maggio 2010 2010

Upload: trannga

Post on 17-Feb-2019

239 views

Category:

Documents


1 download

TRANSCRIPT

Gli standard di Gli standard di Gli standard di Gli standard di codifica videocodifica video

Marco CagnazzoMarco Cagnazzo

Elaborazione dei Segnali MultimedialiElaborazione dei Segnali Multimediali

28 28 maggio maggio 2010201028 28 maggio maggio 20102010

SommarioSommario• MPEG-1MPEG 1

Tipi di frameME/MC a precisione frazionariaME/MC a precisione frazionaria

• MPEG-2 e scalabilità• MPEG-4 e codifica a oggetti• H.264/AVC (Advanced video coding)H.264/AVC (Advanced video coding)

Tecniche avanzate di codifica videoControllo operazionale tasso/distorsioneControllo operazionale tasso/distorsione

• H.264/SVC (Scalable video coding)

ESM – Codifica Video 222 maggio 2009

Lo standard MPEG 1Lo standard MPEG-1• Tasso ≤ 1 5 Mbps (qualità video CD)• Tasso ≤ 1.5 Mbps (qualità video CD)

• Codificatore ibrido con MC

• Tipi di frame• Tipi di frame

• ME/MC a precisione frazionaria

ESM – Codifica Video 322 maggio 2009

Lo standard MPEG-1: tipi di f ametipi di frame

• Frame I Intra coded } anchor frame (AF)

• Frame P Predictive} (AF)

• Frame B Bidirectional• Frame B Bidirectional

• Frame D DC coded

ESM – Codifica Video 422 maggio 2009

Lo standa d MPEG 1 st tt a del GoPLo standard MPEG-1: struttura del GoP

• Frame organizzate in Groups of Pictures• La prima è sempre una ILa prima è sempre una I• Struttura

N i t ll t d I 8 i t N: intervallo tra due I, 8 in questo casoM: intervallo tra due AF, 2 in questo caso

I B PB B PB BB I B PB

Gop n Gop n+1

…I B PB B PB BB I B PB

ESM – Codifica Video 522 maggio 2009

Lo standard MPEG-1: F ame Int aFrame Intra

• Codificate con JPEG: indipendenti• Codificate con JPEG: indipendenti

• Tutti i MB sono codificati in modo Intra

l• Utili per:Fast Forward

Accesso casuale

Recupero da errori

I B PB B PB BB I B PB

Gop n Gop n+1

…I B PB B PB BB I B PB

ESM – Codifica Video 622 maggio 2009

Lo standard MPEG-1: F ame P edicti eFrame Predictive

• I MB possono essere Intra o InterI MB possono essere Intra o Inter

• Predizione unicamente dalla AF precedente

M i i• Maggiore compressione

• Necessità di ME e MC (maggiore complessità)

I B PB B PB BB I B PB

Gop n Gop n+1

…I B PB B PB BB I B PB

ESM – Codifica Video 722 maggio 2009

Lo standard MPEG-1: F ame Bidi ectionalFrame Bidirectional

• È possibile predire un MB dalla AF precedente o • È possibile predire un MB dalla AF precedente o dalla AF successive

• I MB possono essere anche IntraI MB possono essere anche Intra• Più compresse delle P (doppia predizione)• Doppia ME e MC (massima complessità)• Doppia ME e MC (massima complessità)

I B PB B PB BB I B PB

Gop n Gop n+1

…I B PB B PB BB I B PB

ESM – Codifica Video 822 maggio 2009

Lo standard MPEG-1: ME a p ecisione f a iona iaME a precisione frazionaria

• Non è detto che il movimento di un • Non è detto che il movimento di un oggetto corrisponda ad un numero intero di pixelintero di pixel

• Si effettua la ME “a mezzo pixel” interpolando la frame di riferimento interpolando la frame di riferimento

• Aumento notevole della complessità e delle prestazionip

ESM – Codifica Video 922 maggio 2009

Lo standard MPEG-1: ME a p ecisione f a iona iaME a precisione frazionaria

V=(2,3) V=(1.5,2.5)

ESM – Codifica Video 1022 maggio 2009

Lo standard MPEG 1: parametriLo standard MPEG-1: parametri

• Molti parametri dell’algoritmo non sono • Molti parametri dell algoritmo non sono predefiniti

Diametro finestra MEDiametro finestra ME

Criterio di ME

Frequenza di I-frame e di B-frame

• Compatibilità

• Concorrenza tra le implementazioni

ESM – Codifica Video 1122 maggio 2009

Lo standard MPEG 2Lo standard MPEG-2• Algoritmo di codifica immutato• Algoritmo di codifica immutato

• Bit-rate fino a 15Mbps con qualità HDTV

• Profili e livelli

• Il supporto alla scalablità• Il supporto alla scalablità

ESM – Codifica Video 1222 maggio 2009

La scalabilitàLa scalabilità• Codifica a tasso prossimo a quello • Codifica a tasso prossimo a quello

disponibile sul canale R• Decodifica di tutti i dati ricevuti

• Ottimizzazione della codifica per il Ottimizzazione della codifica per il tasso R

ESM – Codifica Video 1322 maggio 2009

La scalabilitàLa scalabilità• Tasso disponibile e velocità del • Tasso disponibile e velocità del

decodificatore sul canale sconosciuti i bilio variabili

• Ottimizzazione della codifica per l’intervallo di tassi [R1,R2]

ESM – Codifica Video 1422 maggio 2009

La scalabilitàLa scalabilità• Un bitstream scalabile è strutturato • Un bitstream scalabile è strutturato

in strati o “layer”• Anche avendo solo alcuni layer, è

possibile ricostruire il segnale possibile ricostruire il segnale (seppure con qualità o risoluzione ridotte)ridotte)

• Queste ricostruzioni sono efficienti Qin termini RD

ESM – Codifica Video 1522 maggio 2009

La scalabilitàLa scalabilità

Bitstream non scalabile

ESM – Codifica Video 1622 maggio 2009

La scalabilitàLa scalabilità

Bitstream non scalabile Ricezione parziale

ESM – Codifica Video 1722 maggio 2009

La scalabilitàLa scalabilità

Bitstream scalabile

ESM – Codifica Video 1822 maggio 2009

La scalabilitàLa scalabilità

Bitstream scalabile Ricezione parziale

ESM – Codifica Video 1922 maggio 2009

La scalabilità: esempioLa scalabilità: esempio

Risoluzione

Quualità

ESM – Codifica Video 2022 maggio 2009

La scalabilitàLa scalabilità

Risoluzione

Quualità

ESM – Codifica Video 2122 maggio 2009

La scalabilitàLa scalabilità

Risoluzione

Quualità

ESM – Codifica Video 2222 maggio 2009

La scalabilitàLa scalabilitàCodifica scalabile due layer a 400 e 800 kbps

Codifica non scalabile, un layer 200 kbps

Codifica scalabile desiderata

Codifica scalabile, due layer a 400 e 800 kbps

C difi l bil l 900 kbQualità

Curva limite

Codifica non scalabile, un layer 900 kbps

sequenza decodifica

Banda disponibilesul canale

ata

ESM – Codifica Video 2322 maggio 2009

La scalabilità: esempioLa scalabilità: esempio

Server RouterClient 1

Server

Client 3

Router

Router

Client 2

Senza scalabilità…

ESM – Codifica Video 2422 maggio 2009

La scalabilità: esempioLa scalabilità: esempio

Server RouterClient 1

Server

Client 3

Router

Router

Client 2

Con scalabilità…

ESM – Codifica Video 2522 maggio 2009

Lo standard MPEG-2:la scalabilitàla scalabilità

MPEG-2 fornisce scalabilità in:MPEG-2 fornisce scalabilità in:

• risoluzione

• qualità• qualità

• frame-rate

ESM – Codifica Video 2622 maggio 2009

Lo standard MPEG-2:la scalabilità in q alitàla scalabilità in qualità

MPEG(Q1)Input video

LivelloBase

MPEG(Q2)LivelloEnhanced

ESM – Codifica Video 2722 maggio 2009

Lo standard MPEG-2:la scalabilità in isol ionela scalabilità in risoluzione

MPEG(Q1)Input video

LivelloBase

2

2

MPEG(Q2)LivelloEnhanced

ESM – Codifica Video 2822 maggio 2009

Lo standard MPEG-2:la scalabilità in f ame atela scalabilità in frame-rate

• Ricevere solo le anchor frame t tt• oppure tutte

B BB BBB

enhancement

B BB BBB

P P II

Gop nbase

ESM – Codifica Video 2922 maggio 2009

Lo standard MPEG 4Lo standard MPEG-4• Lo standard MPEG-4 fornisce un • Lo standard MPEG-4 fornisce un

insieme di tecnologie orientate a ddi f l i di soddisfare le esigenze di: chi produce il segnale video (autori);p g ( );

chi lo distribuisce (provider di servizi di rete); rete);

e chi ne usufruisce (utenti).

ESM – Codifica Video 3022 maggio 2009

Lo standard MPEG 4Lo standard MPEG-4• Autori

la produzione di contenuti con una elevata riusabilità maggiore flessibilità gggrafici animati interazione con pagine WWW migliore gestione dei diritti d'autore

• Fornitori di serviziinformazioni di trasporto più complete e flessibilidescrittori di qualità di servizio (QoS)

• Utentielevato livello d'interazione con il contenutotecniche di codifica ad elevata efficienza

ESM – Codifica Video 3122 maggio 2009

Lo standa d MPEG 4 codifica a oggettiLo standard MPEG-4: codifica a oggetti

• Rappresentazione oggetti/sfondo• Rappresentazione oggetti/sfondo• Modelli complessi di movimentop• Codifica di:

Sfondo (Sprite)

Contorno (Punti di controllo)Contorno (Punti di controllo)

Texture (EZW adattato alla forma)

• Segmentazione?

ESM – Codifica Video 3222 maggio 2009

Lo standa d MPEG 4 codifca pe sp iteLo standard MPEG-4: codifca per sprite

ESM – Codifica Video 3322 maggio 2009

Lo standard H 264Lo standard H.264• Nuovi strumenti di codificaNuovi strumenti di codifica

Filtro di deblockingCodifica aritmetica adattativa contestualeCodifica aritmetica adattativa contestualeTrasformata intera

• Nuovi modi di codificaIntra con predizione, Inter con blocchi di dimensione variabile

• Ottimizzazione RDStima del movimento ottimizzataScelta dei modi ottimizzataScelta dei modi ottimizzata

ESM – Codifica Video 3422 maggio 2009

Lo standard H 264Lo standard H.264• E’ un codificatore ibrido

• La codifica è fatto macroblocco per • La codifica è fatto macroblocco per macroblocco

• Esistono molti modi di codifica per ogni macrobloccomacroblocco

L l d l d è d di• La scelta del modo non è standardizzataottimizzazione tasso-distorsione della scelta

ESM – Codifica Video 3522 maggio 2009

Schema del codificatore H 264Schema del codificatore H.264Control

Input

Control

DCT Mod4x4 Q CABAC/

CAVLCChannelBuffer

x e4x4 CAVLC Buffer

xpQ*

MEIDCT Mod

4x4I t /I t

MV

Inter/Intra

DeblockingFilter

IntraPrediction

MC FrameBuffer

xqeq

xp

ESM – Codifica Video 3622 maggio 2009

xp

Modi di codifica in H 264Modi di codifica in H.264• Skipped• Skipped• Modi Inter

16x16 16x8 8x16 8x8 8x4 4x8

• Modi Intra16x16 4x4 (anche 8x8 nell’estensione)16x16 4x4 (anche 8x8 nell estensione)

• IPCMLossless (valori di luminanza e crominanza senza compressione)crominanza senza compressione)

ESM – Codifica Video 3722 maggio 2009

Modo skippedModo skipped• Si usa la compensazione del • Si usa la compensazione del

movimento• Il vettore è ricavato dai vicini

Non si trasmette l’errore di • Non si trasmette l’errore di predizione

• Costo di codifica basso, distorsione alta

ESM – Codifica Video 3822 maggio 2009

Modi InterModi Inter

• Stima e compensazione del movimento mono e bi-direzionale

• Precisione al quarto di pixel• Blocchi di dimensione variabile

16x168x1616x88x84x88x44x4

ESM – Codifica Video 3922 maggio 2009

Modi InterModi Inter

• B-frame generalizzateMedia pesata delle due predizioniMedia pesata delle due predizioniScelta relativamente libera delle frame di riferimento (liste)di riferimento (liste)

• Stima del movimento con precisione al quarto di pixel

Prima interpolazione: filtro a 6 Prima interpolazione: filtro a 6 coefficientiSeconda interpolazione: bilineareSeconda interpolazione: bilineare

ESM – Codifica Video 4022 maggio 2009

Modi IntraModi Intra

• Predizione spaziale più trasformata a coefficienti interi

• Predizione su zone omogeneeBlocchi 16x16Predizione lungo 2 direzioni, media, g , ,planare

ESM – Codifica Video 4122 maggio 2009

Modi IntraModi Intra

• Predizione spaziale più trasformata a coefficienti interi

• Predizione su zone omogeneeBlocchi 16x16Predizione lungo 2 direzioni, media, g , ,planare

Predizione orizzontale

ESM – Codifica Video 4222 maggio 2009

Modi IntraModi Intra

• Predizione spaziale più trasformata a coefficienti interi

• Predizione su zone omogeneeBlocchi 16x16Predizione lungo 2 direzioni, media, g , ,planare

Predizione verticale

ESM – Codifica Video 4322 maggio 2009

Modi IntraModi Intra

• Predizione spaziale più trasformata a coefficienti interi

• Predizione su zone omogeneeBlocchi 16x16Predizione lungo 2 direzioni, media, g , ,planare

Predizione media

ESM – Codifica Video 4422 maggio 2009

Modi IntraModi Intra

• Predizione spaziale più trasformata a coefficienti interi

• Predizione su zone omogeneeBlocchi 16x16Predizione lungo 2 direzioni, media, g , ,planare

Predizione planare

ESM – Codifica Video 4522 maggio 2009

Modi IntraModi Intra• Predizione dei dettagli• Predizione dei dettagli

Blocchi 4x4

Predizione lungo 8 direzioni, media

E t i bl hi 8 8 di i • Estensione: blocchi 8x8, predizione come nel caso 4x4

• Si trasmette un simbolo che individua il tipo di predizioneindividua il tipo di predizione

ESM – Codifica Video 4622 maggio 2009

Confronto modiConfronto modi

9

x 104 foreman 1 - All MB - Quarter pixel - QP = 37

SkipInter16x16

6

7

8D

Intra4x4Intra16x16IPCM

4

5

6

isto

rtion

-S

SD

2

3

Di

101 102 1030

1

ESM – Codifica Video 4722 maggio 2009

Rate - bits

Scelta del modoScelta del modo

• La scelta del modo è fatta in modo da minimizzare la distorsione per un da minimizzare la distorsione per un bit-rate assegnato

• Si confrontano i modi per un certo passo di quantizzazione Qp q Q

D = DREC(m|Q)R = RREC(m|Q)J( λ|Q) D ( |Q) λR ( |Q)J(m,λ|Q) =DREC(m|Q) + λRREC(m|Q)

ESM – Codifica Video 4822 maggio 2009

Scelta del modoScelta del modo

Skip

Distorsione

Intra

InterD+λ1R = J Intra

Tasso

D λ1R J

ESM – Codifica Video 4922 maggio 2009

Scelta del modoScelta del modo

J( λ|Q) D ( |Q) + λR ( |Q)J(m,λ|Q) =DREC(m|Q) + λRREC(m|Q)• Come si sceglie λ per un certo Q?Come si sceglie λ per un certo Q?• Relazione sperimentale:

Q/3 4λOPT=0.85·2Q/3-4

ESM – Codifica Video 5022 maggio 2009

Stima del movimentoStima del movimento• Anche la stima del movimento è • Anche la stima del movimento è

realizzata con un criterio ottimizzato

J (v λ) D (v) + λ R (v)JME(v,λ) =DDFD(v) + λMERME(v)

Relazione sperimentale tra λME e λ

ESM – Codifica Video 5122 maggio 2009

Lo standard SVCLo standard SVC• Scalable Video Coding (SVC) • Scalable Video Coding (SVC) • Estensione scalabile di H.264• Scalabilità temporale simile a MPEG• Scalabilità in qualità con codifica per

bit-planebit plane• Scalabilità in risoluzione con

predizione (schema piramidale)

ESM – Codifica Video 5222 maggio 2009

Lo standard MVCLo standard MVC

ESM – Codifica Video 5322 maggio 2009