27
Elaborazione e Trasmissione Elaborazione e Trasmissione Video Video Video Video Parte 4 Parte 4 Codifica Video - I A.A. 2007-2008 Esempio 1 Esempio 1 Playback di un video NTSC digitale da CD Video non compresso: Video non compresso: 720x480pixel/frame * 8x3bit/pixel * 30frame/sec Banda: 248Mbps Tempo di trasferimento dati tipico di un CD-ROM: 1.5Mbps (può arrivare a 4Mbps) Ho bisogno di comprimere con un fattore 200:1 Ho bisogno di comprimere con un fattore 200:1 (usando 1.2Mpbs per il video e 0.3Mpbs per l’audio) Con questo fattore di compressione il CD può contenere circa 1ora di video. A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 2 Esempio 2 Esempio 2 Trasmissione video HDTV digitale Video non compresso: 1920x1080pixel/frame * 8x3bit/pixel * 30frame/sec Banda: 1.5Gbps La HDTV viene trasmessa su una canale a 6Mhz che supporta circa 20Mbps Ho bisogno di comprimere con un fattore 75:1 Ho bisogno di comprimere con un fattore 75:1 Formato per film: super-35 Video non compresso: 4096x3112pixel/frame * 10x3bit/pixel * 24frame/sec 1sec di film richiede circa 9Gbit (1.15Gbytes) di memoria A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 3 Bitrate Bitrate altezza * larghezza * bpp * fps Fattore di compressione = bit/sec altezza pixel (160, 320, 640, 720, 1280, 1920, …) Fattore di compressione altezza pixel (160, 320, 640, 720, 1280, 1920, …) larghezza pixel (120, 240, 480, 485, 720, 1080, …) bpp bit (1, 4, 8, 15, 16, 24, …) bpp bit (1, 4, 8, 15, 16, 24, …) fps frame al secondo (5, 15, 20, 24, 30, …) Fattore di compressione (1 6 24 ) Fattore di compressione (1, 6, 24, …) A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 4

Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Elaborazione e Trasmissione Elaborazione e Trasmissione VideoVideoVideoVideo

Parte 4Parte 4Codifica Video - I

A.A. 2007-2008

Esempio 1Esempio 1

Playback di un video NTSC digitale da CDVideo non compresso:Video non compresso:

720x480pixel/frame * 8x3bit/pixel * 30frame/secBanda: 248Mbps

Tempo di trasferimento dati tipico di un CD-ROM: 1.5Mbps (può arrivare a 4Mbps)Ho bisogno di comprimere con un fattore 200:1 Ho bisogno di comprimere con un fattore 200:1 (usando 1.2Mpbs per il video e 0.3Mpbs per l’audio)Con questo fattore di compressione il CD può contenere circa 1ora di video.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 2

Esempio 2Esempio 2

Trasmissione video HDTV digitale

Video non compresso:deo o co p esso

1920x1080pixel/frame * 8x3bit/pixel * 30frame/sec

Banda: 1.5Gbps

La HDTV viene trasmessa su una canale a 6Mhz che supporta circa 20Mbps

Ho bisogno di comprimere con un fattore 75:1Ho bisogno di comprimere con un fattore 75:1

Formato per film: super-35

Video non compresso:

4096x3112pixel/frame * 10x3bit/pixel * 24frame/sec

1sec di film richiede circa 9Gbit (1.15Gbytes) di memoria

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 3

BitrateBitratealtezza * larghezza * bpp * fps

Fattore di compressione= bit/sec

altezza ∼ pixel (160, 320, 640, 720, 1280, 1920, …)

Fattore di compressione

altezza pixel (160, 320, 640, 720, 1280, 1920, …)larghezza ∼ pixel (120, 240, 480, 485, 720, 1080, …)bpp ∼ bit (1, 4, 8, 15, 16, 24, …)bpp bit (1, 4, 8, 15, 16, 24, …)fps ∼ frame al secondo (5, 15, 20, 24, 30, …)Fattore di compressione (1 6 24 )Fattore di compressione (1, 6, 24, …)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 4

Page 2: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Esempio di codificatoreEsempio di codificatore

Source Encoder

Channel Encoder 01011000...

originale

Source Decoder

Channel Decoder01011000... DecoderDecoder01011000...

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 5ricostruito

Schema base di un codec Schema base di un codec Schema base di un codec Schema base di un codec genericogenerico

Segnale Codificatore

Rappresentazione(Trasformata) Quantizzazione Codifica

Binaria

Segnale Originale Bitstream

Compresso

Codificatore

CanaleGeneralmente

LosslessLossy Lossless

Canale

Rappesentazione Quantizzazione Decodifica

Segnale Ricostruito

Lossless

(Anti-Trasformata) Inversa Binaria

Decodificatore

(a) Rappresentazione: raggruppa l’informazione in pochi parametri (DCT, Wavelet)(b) Quantizzazione: rende i parametri discreti(c) Codifica binaria: sfrutta le statistiche non uniformi dei parametri quantizzati e crea il

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 6

bitstream (codifica entropica)

Caratteristiche del segnale Caratteristiche del segnale Caratteristiche del segnale Caratteristiche del segnale videovideo

I segnali video contengono molta ridondanza:

Spaziale Spaziale Di colore (il colore viene sottocampionato) T lTemporale

La ridondanza viene sfruttata dalle tecniche di compressione Esistono due approcci base che compressione. Esistono due approcci base che sfruttano due tipi di ridondanza:

Intra-frame o spazialepInter-frame o temporale

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 7

Ridondanza temporaleRidondanza temporaleAnche in un filmato con scene di moto veloce le differenze veloce le differenze possono essere piccole

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 8

Page 3: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Tecniche di compressioneTecniche di compressione

Le tecniche di codifica si distinguono in:

Codifica senza perdita (lossless): comprimono poco, ip od ione e tt dell’o igin leriproduzione esatta dell’originale

Codifica con perdita (lossy): il tipo di distorsione dipende dalla tecnica di compressione

Gli algoritmi di compressione lossy sfruttano il fatto che l’uomo percepisce in modo diverso stimoli diversi nascondendo gli errori dove l’occhi percepisce di meno (Perceptual Coding):

Si b ll t di d l i t di i i Si basa sullo studio del sistema di visione umano P.e. Masking: un segnale può nascondere un altro più debole (p.e. la luce di un flash)L i i i è i fl t d li b La percezione visiva è influenzata da angoli e basse frequenze

Gli standard di compressione utilizzano sia tecniche di compressione lossy che lossless

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 9

compressione lossy che lossless

Compressione IntraCompressione Intra--FrameFrame

Elabora i frame singolarmente ed in modo isolato (immagine statica) cercando di isolato (immagine statica), cercando di sfruttare la ridondanza presente nel frame

Molto simile alla compressione di immagini t ti h ( JPEG W l t)statiche (p.e. JPEG, Wavelet)

Motion-JPEG

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 10

JPEG (ripasso)JPEG (ripasso)( p )( p )Segnale Originale Quality Factor q

blocco 8x8 DCT Tabelle di QuantizzazioneQuantizzazione

Zig-Zagcomponente DC componenti AC

Codifica differenziale

(DPCM)

Zig Zag scanning

run lengthrun-length coding

VLCVLCTabella di Huffman

Tabella di Huffman VLCVLC Huffman

(AC)Huffman

(DC)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 11bitstream

Compressione InterCompressione Inter--FrameFrame

Sfrutta la ridondanza presente tra due frame successiviframe successivi

Si assume che solo alcuni pixel dell’immagine cambino tra un frame ed il

isuccessivo

Predizione del frame basata sul frame precedente

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 12

Page 4: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Metodi di codifica InterMetodi di codifica Inter--FrameFrame

Sfruttano la ridondanza temporale dovuta alle i li t f t l t i i isomiglianze tra frame temporalmente vicini

Codifica basata su Motion Compensation, basata su modelli di moto elementari (usati dalla maggior parte modelli di moto elementari (usati dalla maggior parte degli standard di compressione video internazionali)

Compressione 3-D basata su modelli statistici del Compressione 3 D, basata su modelli statistici del segnale (3-D Transform Coding, 3-D Subband Coding)

Codifica basata su oggetti, conoscenza o semantici: è basata su modelli sofisticati della scena

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 13

Codifica ibrida DCT/DPCMCodifica ibrida DCT/DPCM

Variante: codifica ibrida DCT/DPCMf d fTrasformata 2-D di ogni frame

Banco di DPCM paralleliLa DPCM dipende dalle statistiche di ogni coefficiente

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 14

Primi approcciPrimi approcci

Primi approcci: “Conditional replenishment” (lett riempimento condizionale)(lett. riempimento condizionale)

Si codifica se una zona del frame è cambiata o menoo menoLe intensità sono codificate con tecniche DPCMDPCMNon si effettua stima del moto (Motion Detection)Detection)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 15

Tecniche di codifica Tecniche di codifica Tecniche di codifica Tecniche di codifica predittivapredittivapp

Sono basate sulla stima del motol d lEvoluzione del DPCM: MC-DPCM

Basate su trasformate: MC-DCT, MC-Wavelet

MC V t Q ti tiMC-Vector Quantization

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 16

Page 5: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Codec predittivo (DPCM)Codec predittivo (DPCM)Codec predittivo (DPCM)Codec predittivo (DPCM)Codificatore

Rappesentazione(Trasformata) Quantizzazione Codifica

Binaria+

-

+Segnale

OriginaleBitstream

CompressoQuantizzazione

InversaClosed loop prediction

++

Predizione Memoria

Segnale Ricostruito

Bitstream Compresso Decodificatore

Decodifica Entropica

RicostruitoCompresso

QuantizzazioneInversa Predizione Memoria

+

+

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 17

Codificatore ibrido blockCodificatore ibrido block--basedbasedCodificatore ibrido blockCodificatore ibrido block--basedbasedSegnale

Originale

DCT Quantizzazione+ -

(blocco)

VLC

tt i di t

blocco ricostruito

VLCvettori di moto (MV)

QuantizzazioneInversa

Compensazione del moto (MC)

MV

Stima del moto (ME)

…001101010…Bitstream

CompressoFrame Buffer

++

DCT-1

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 18

Compresso+

Codificatore ibrido blockCodificatore ibrido block basedbasedCodificatore ibrido blockCodificatore ibrido block--basedbased

Si addotta una codifica ibrida basata su trasformata e compensazione del moto.Il frame viene suddiviso in blocchi e processato

Ogni blocco viene predetto dal precedente usando una stima del moto block-basedViene codificata a differenza tra il blocco e quello predetto (DCT, quantizzazione e VLC)

La stima è rappresentata dai vettori di moto pp(motion vector – MV) e anche questi vengono codificati nel bitstreamIl codificatore riprende lo schema del decodificatore Il codificatore riprende lo schema del decodificatore per calcolare l’immagine differenza con la stessa immagine ricostruita dal decoder.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 19

D difi ib id bl kD difi ib id bl k b db dDecodificatore ibrido blockDecodificatore ibrido block--basedbased

Bitstream Compresso001101010

+DCT-1Quantizzazione

Inversa…001101010…

+Inversa

Segnale Ricostruito

VLC-1Frame Buffer

Compensazione del moto (MC) VLC-1

MV

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 20

Page 6: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Nota: macroblocco (MB)Nota: macroblocco (MB)Nota: macroblocco (MB)Nota: macroblocco (MB)

i d l i f d l fLa stima del moto viene fatta su un area del frame detta macroblocco (MB), che viene ulteriormente suddivisa in blocchi per la codifica DCT:p

In genere si usano MB 16x16 e blocchi 8x8.Il colore viene sottocampionato con formato 4:2:0 per cui si hanno:per cui si hanno:

4 blocchi Y, 1 blocco Cb e 1 blocco Cr.

I MB vengono raggruppati in GOB (Group Of Blocks) g gg pp ( p )o “slice”, e più GOB formano un frame.La predizione dei MV e della componente DC viene ristretta a livello di GOB per evitare la propagazione ristretta a livello di GOB per evitare la propagazione dell’errore.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 21

MacrobloccoMacroblocco

Y YCb

Y1 Y2

Y3 Y4 C3 4 Cr

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 22

Tipi di frame usati nella Tipi di frame usati nella Tipi di frame usati nella Tipi di frame usati nella predizionepredizionepp

I-Frame: è il frame di riferimento, viene codificato in modo ,indipendente dagli altri frame (Intra Mode coding)

P-Frame: il frame viene codificato utilizzando l’informazione del il frame viene codificato utilizzando l informazione del frame precedente di tipo I o P (Inter Mode). Può essere decodificato solo dopo la decodifica dei frame I o P precedente e successivo.

B-Frame: il frame viene codificato utilizzando l’informazione del frame precedente e successivo di tipo I o P (si usa

di t d ll d di i i) (I t una media pesata delle due predizioni) (Inter Mode). Può essere decodificato solo dopo la decodifica dei frame I o P precedente e successivo.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 23

Modalità di codifica (i)Modalità di codifica (i)

La modalità di codifica (Inter o Intra) può essere decisa sia a livello di frame che di MB. decisa sia a livello di frame che di MB. Frame codificati in modalità Intra vengono utilizzati per:

E it l i d ll’ Evitare la propagazione dell’errore Permettere l’accesso random

Il primo frame di una sequenza viene sempre p o a d u a qu a pcodificato in modalità IntraIn base all’errore di predizione il codificatore può decidere di codificare un blocco in modalità Intra decidere di codificare un blocco in modalità Intra anche se il frame è di tipo Inter

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 24

Page 7: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Modalità di codifica (ii)Modalità di codifica (ii)

I frame possono essere raggruppati in GOP (Group Of Pictures):Of Pictures):

Ogni GOP inizia con un I-frame, seguito da P-frame o B-frameQuesta modalità consente l’accesso random: è Questa modalità consente l accesso random: è possibile decodificare ogni GOP senza decodificare i GOP precedenti

Avanzamento veloce: vengono decodificati solo i IAvanzamento veloce: vengono decodificati solo i I-frame o i I-frame e P-frameRiavvolgimento: vengono decodificati solo i I-frame g gin ordine inverso

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25

EsempioEsempio

I B B P B B P B B I B B P B B P B B PP

GOPt

GOP

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 26

Nota: BNota: B frameframeNota: BNota: B--frameframe

Quando un oggetto si muove scopre lo sfondo. E’ possibile predire lo sfondo da una immagine successiva

MPEG l p.e. MPEG: per la decodifica dei B-frame richiede gli I o P frame immediatamente immediatamente precedenti e successiviNei B-frame la predizione è più predizione è più accurata

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 27

Altri tipi di frameAltri tipi di frame

D- (o DC-coded) frameI D-frame contengono l’informazione solo delle I D-frame contengono l informazione solo delle frequenze più basse dell’immagineUtilizzato per le funzioni di avanzamento veloce o

lriavvolgimento.E’ possibile utilizzare i I-frame per queste operazioni, ma richiedono più spazio in memoria e più tempo per la richiedono più spazio in memoria e più tempo per la visualizzazione

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 28

Page 8: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Compensazione del motoCompensazione del moto

Blocchettatura nell’immagine predetta può essere dovuta:essere dovuta:

Stima di MV non sufficientemente accurataModello di translazionale non appropriatoModello di translazionale non appropriato

Soluzione:La stima del moto viene fatta combinando le La stima del moto viene fatta combinando le stime dei blocchi vicini (Overlapped Block Matching)Filtraggio dell’immagine predetta (loop filtering)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 29

Compensazione del moto: OBMCCompensazione del moto: OBMC

Ogni pixel del blocco corrente viene predetto da una media pesata di più punti da una media pesata di più punti corrispondenti sul frame di riferimento

I punti (sul frame di riferimento) sono determinati dai MV dei MB correnti e adiacenti

I pesi dipendono dall’accuratezza media ottenuta nella stima dei MVottenuta nella stima dei MV

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 30

Rate ControlRate ControlRate ControlRate ControlCodifica di un video per soddisfare una bitrate predefinita: è un compromesso tra rate e distorsione.Nella codifica predittiva ibrida dipende dalla scelta dei parametri:parametri:

Frame rateInter- vs. Intra-P i di i iParametri di quantizzazionePrecisione nella stima del moto (sub-pixel)

Rate Distortion: trovare i parametri in modo da pminimizzare il rate medio (è un problema di ottimizzazione)Può essere usato per applicazioni che richiedono la Può essere usato per applicazioni che richiedono la trasmissione del video oppure la memorizzazione

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 31

RC: osservazioniRC: osservazioni

Ipotizzo di avere bit rate medio costante su intervalli di tempo:

all’uscita del encoder si ha un bitstream a bitrate variabile (VLC coding mode a livello di frame)variabile (VLC, coding mode a livello di frame)

Si inserisce un buffer per attenuare la variabilità della bitrate nell’intervallo:

il bitstream a bitrate variabile in uscita dal encoder il bitstream a bitrate variabile in uscita dal encoder diventa un bitstream a bitrate costante all’uscita del buffer

L’intervallo di tempo massimo e la variabilità permessa all’interno dell’intervallo dipendono:all interno dell intervallo dipendono:

dal massimo ritardo ammissibile imposto dall’applicazionedalla dimensione massima del buffer

ù è à àPiù il buffer è grande e migliore sarà la qualità ma maggiore sarà il ritardo.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 32

Page 9: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

RC per la trasmissione: passo 1RC per la trasmissione: passo 1RC per la trasmissione: passo 1RC per la trasmissione: passo 1

Aggiornamento della bitrate media desiderata in un intervallo – “rate update interval”.

Dipende dall’applicazione:CBR (C t t Bit R t ) ti bit t t t CBR (Constant Bit Rate): reti a bit rate costante, p.e. modem, ISDN, il bitrate target è costanteVBR (Variabile Bit Rate): reti a bit rate variabile, p.e. ATM i l l bi i d d li à ATM, si regola la bitrate in modo da avere una qualità costante soddisfacendo i requisiti di rate medio e di picco

àReti in cui la capacità di canale e le caratteristiche di errore variabili nel tempo,p.e. reti best effort come Internet e wireless, il target rate viene adattato alle

di i i d l l l’i t ll di t di d d ll condizioni del canale; l’intervallo di tempo dipende dalla banda disponibile, dalla dimensione del buffer e dal massimo ritardo ammissibile

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 33

RC l t i i 2RC l t i i 2RC per la trasmissione: passo 2RC per la trasmissione: passo 2

Determinazione del tipo di codifica (I-, P- o B-frame) e il budget di bit disponibili per la codifica di ogni framedell’intervallo.

In genere questa operazione viene fatta basandosi sulla bitrate target per l’intervallo e la disponibilità di sulla bitrate target per l intervallo e la disponibilità di spazio libero nel buffer.

Se lo spazio libero nel buffer è insufficiente, il frame può essere saltato (skipped), può succedere p.e. in applicazioni interattive, dove in genere si codifica solo il primo frame in I-mode in modo da avere un ritardo primo frame in I mode in modo da avere un ritardo costante

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 34

RC per la trasmissione: passo 3RC per la trasmissione: passo 3RC per la trasmissione: passo 3RC per la trasmissione: passo 3

Determinazione del tipo di codifica e del parametro di quantizzazione (Quanization Parameter – QP) per ogni MB nel frame in modo da soddisfare il target assegnato MB nel frame in modo da soddisfare il target assegnato allo specifico frame.

Approcci EuristiciApprocci Euristici.

Approcci basati sulla teoria della Rate Distortion

(ottimizzazione che si risolve p e con i (ottimizzazione che si risolve p.e. con i

moltiplicatori di Lagrange o la programmazione

dinamica))

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 35

RC per la memorizzazioneRC per la memorizzazione

Il totale dei bit utilizzati è limitato dal supporto di memorizzazionememorizzazione

Il vincolo è sulla bitrate totale della sequenza

La bit rate può cambiare all’interno della sequenza codificata per tenere conto delle scene di movimento o “difficili”

E i t t di h difi l d Esistono metodi che codificano la sequenza con due passaggi: il primo analizza le statistiche della sequenza ed il secondo fa la codifica vera e propriaq p p

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 36

Page 10: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

RC i iRC i iRC: osservazioniRC: osservazioni

Alternative:RC basato sulla codifica a oggetti: il RC distribuisce il RC basato sulla codifica a oggetti: il RC distribuisce il budget a disposizione tra i vari oggetti; ogni oggetto può avere una bitrate assegnata diversa che spartisce t i d ti l ti i ll f l t ll t ttra i dati relativi alla forma, al moto e alla texture.Tecniche di codifica con bitstream scalabile.

L’algoritmo usato per il RC non è definito dagli L algoritmo usato per il RC non è definito dagli standard di codifica:

il codificatore ha la flessibilità di ottimizzare l’implementazione purché il bitstream prodotto sia compatibile con la sintassi stabilita dallo standard.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 37

Codificatore ibrido blockCodificatore ibrido block--based based (RC bilit t )(RC bilit t )(RC abilitata)(RC abilitata)

Segnale Originale(blocco)

DCT Quantizzazione+

(blocco)

VLC

Controllo - RC( / )

-dati controllo

blocco ricostruito

dati dalla ME(Inter/Intra)

VLCvettori di moto (MV)

QuantizzazioneInversa

Compensazione del moto (MC)

MV0Stima del

moto (ME)

…001101010…Bitstream

CompressoFrame Buffer

++

DCT-1

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 38

pBuffer +

Decodificatore ibrido blockDecodificatore ibrido block--basedbased(RC abilitata)(RC abilitata)

Bitstream Compresso001101010

+DCT-1Quantizzazione

Inversa…001101010… +

0

Segnale Ricostruito

VLC-1

Frame 1

dati controllo

BufferVLC-1

Compensazione del moto (MC)

MV

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 39

EsempioEsempio

Sequenza mobile & calendar:@ 460kpbs / @ 1Mbps@~460kpbs / @~1Mbps

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 40

Page 11: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Standard of Audiovisual Standard of Audiovisual Communication SystemsCommunication Systems

Standard H.310 H.320 H.321 H.322 H.323 H.324Network ATM LAN ISDN ATM LAN (QoS)

LAN Ethernet PSTN

(POTS) Video MPEG-2

(H 262)H.261 (H 263)

H.261 (H 263)

H.261 H 263+

H.261 H 263+

H.261 H 263+(H.262)

H.261 (H.263) (H.263) H.263+ H.263+ H.263+

Audio G.711 G.722

G.711 G.722

G.711 G.722

G.711 G.722

G.711 G.722

G.723

G.728 MPEG-2

G.728 G.728 G.728 G.728 G.729 G.723

M lti l i H 222 0 H 221 H 221 H 221 H 225 0 H 223Multiplexing H.222.0 H.222.1 (MPEG)

H.221 H.221 H.221 H.225.0 H.223

Control H.245 H.230 H.242 H.242 H.245 H.245H.242

Multi-point H.231 H.243

H.231 H.243

H.231 H.243

H.323

D t T 120 T 120 T 120 T 120 T 120 T 120A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 41

Data T.120 T.120 T.120 T.120 T.120 T.120

Standard videoStandard videoStandard videoStandard video

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 42

Standard videoStandard video

1989 19901990 1991 1992

1991 19921993

19991996

19951995

19941994

1993 19971998

JPEG

H.261 H.26x

JPEG2000

MPEG-1 MPEG-2

MPEG-4

MPEG-7

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 43

E i di d di iE i di d di iEnti di standardizzazioneEnti di standardizzazioneI principali enti di standardizzazione che I principali enti di standardizzazione che operano nel campo della compressione video e multimedialità sono due:

ITU-T Video Coding Experts Group (VCEG)International Telecommunications Union –Telecommunications Standardization Sector (ITU-T a Telecommunications Standardization Sector (ITU T, a United Nations Organization, formerly CCITT), Study Group 16, Question 6

ISO/IEC Moving Picture Experts Group ISO/IEC Moving Picture Experts Group (MPEG)

International Standardization Organization and International Electrotechnical Commission Joint International Electrotechnical Commission, Joint Technical Committee Number 1, Subcommittee 29, Working Group 11

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 44

Page 12: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Raggio di azione degli Raggio di azione degli Raggio di azione degli Raggio di azione degli standardstandard

Lo standard copre solo aspetti di sintassiriguardanti il decodificatore:riguardanti il decodificatore:

Consente l’ottimizzazione. Consente di ridurre la complessità richiesta per l’implementazionel implementazioneNon dà garanzie, ma solo interoperabilità

Pre-Processing CodificaSorgente

D ti iDestinazionePost-Processing Decodifica

Azione dello Standard

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 45

Azione dello Standard

Standard VideoStandard VideoStandard VideoStandard Video

ITUISO

ITU

Standard di codifica video H 261

ISOMoving Picture Expert Group

Standard di codifica video per l’intrattenimento e TV digitale

MPEG-1codifica video per comunicazioni video interattive

H.261H.263

H 264

l intrattenimento e TV digitale (memorizzazione filmati e broadcast) MPEG-2

Standard di codifica video, audio, H.264 (w/ISO)

Definiscono i

, ,grafica per servizi multimediali interattivi e d’intrattenimento (Internet, video professionale, comunicazioni mobili)

MPEG-4

terminali multimediali per comunicazioni interattive

H.323comunicazioni mobili)

Interfaccia per la descrizione dei contenuti dei documenti audio-video

MPEG-7interattive

H.324 Multimedia Framework MPEG-21

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 46

ITU(CCITT) H 261ITU(CCITT) H 261ITU(CCITT) H.261ITU(CCITT) H.261

Servizi di videoconferenza e video telefono su ISDN a Servizi di videoconferenza e video telefono su ISDN a p × 64 kbps (p=1÷30)

p.e. p=1 videotelefonia; p≥6 videoconferenza; p=39 qualità VHSqualità VHS

Progetto europeo COST 211bis 1983-1990Caratteristiche rilevanti:Caratteristiche rilevanti:

Ritardo massimo di codifica 150 msec (requisito necessario per la video comunicazione bidirezionale)Possibilità di implementazione hw (VLSI) a basso costoPossibilità di implementazione hw (VLSI) a basso costoSlow MotionVincoli per la dimensione max del frame codificato ( kb f kb f )(256kbit per formato CIF, 64kbit per formato QCIF)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 47

H.261: H.261: Formati in ingresso e Formati in ingresso e H.261: H.261: Formati in ingresso e Formati in ingresso e struttura datistruttura dati

Formati in ingresso:CIF (opzionale) e QCIF non interlacciato (1:1)Frame rate target: 30 fps;Aspect Ratio 4:3Formato colore: 4:2:0 (CCIR 601); scan progressivoFormato colore: 4:2:0 (CCIR 601); scan progressivo4CIF per immagini statiche

Utilizza una codifica ibrida basata su suddivisione in bl hiblocchi:

Si lavora su macroblocchi (MB) 16x16La DCT viene effettuata su blocchi 8x8I MB sono raggruppati in GOB di 33 MB.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 48

Page 13: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

H 261: H 261: struttura datistruttura datiH.261: H.261: struttura datistruttura dati

Struttura dei GOB in un frame Struttura dei blocchi in un MBGOB 1GOB 3GOB 5

GOB 2GOB 4GOB 6

GOB 1GOB 2GOB 3

Struttura dei GOB in un frame

1 2 5 6

Struttura dei blocchi in un MB

C CGOB 5 GOB 6GOB 7GOB 9GOB 11

GOB 8GOB 10GOB 12

QCIFGOB 3

3 4

Y

Cb Cr

CIF

Struttura dei blocchi in un GOB

1 2

12 13

3 4

14 15

5 6

16 17

7 8

18 19

9

20

10 11

21 22

Struttura dei blocchi in un GOB

12 13

23 24

14 15

25 26

16 17

27 28

18 19

29 30

20

31

21 22

32 33

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 49

H.261: FormatiH.261: Formati

Formato Pixel per riga (Y)

Righe per frame (Y)

Su porto H.261

Bitrate non compresso (Mps)

10 frame sec 30 frame sec(Y) (Y)

Mono Colore Mono Colore

QCIF 176 144 Sì 2.0 3.0 6.1 9.1

CR ≅ 100÷3000

CIF 352 288 Opzionale 8.1 12.2 24.3 36.5

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 50

H 261: compensazione del H 261: compensazione del H.261: compensazione del H.261: compensazione del motomoto

Compensazione di moto (MC) intera in avanti per ogni MB codificato in modalità Inter

MV range: ±16 pixel. Lo standard non specifica l’algoritmo per la stima dei MV:

p.e. può essere determinato non solo considerando l’errore di predizione ma anche tenendo conto del numero di bit necessario a codificare i MV e i

ffi i ti d ll DCT (d ll’ di di i )coefficienti della DCT (dell’errore di predizione).I MV sono codificati in modo differenziale (DMV) sottraendo il valore del MV del MB precedente.Tutti i MV devono indirizzare aree all’interno del frame

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 51

H.261: Loop FilterH.261: Loop Filter

Può utilizzare il Loop Filter su ogni MB:

consente di ridurre l’errore di predizione riducendo la consente di ridurre l errore di predizione riducendo la “blocchettatura”

ha un effetto passa bassobil [1/4 1/2 1/4]separabile [1/4,1/2,1/4]

applicato sull’immagine predetta.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 52

Page 14: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

H.261H.261

I coefficienti DCT sono:trasformati in simboli (run length, value)

codificati con Huffman (2-D VLC)

dopo l’ultimo coefficiente non nullo viene inserito il simbolo EOB.

Anche le informazioni ausiliarie (p.e. MTYPE, CBP) sono codificati con codifica di , )Huffman.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 53

H.261: Modalità di codificaH.261: Modalità di codifica

Modalità di codifica dei MB:Intra Intra,

Inter con MV nullo (il MV non viene codificato nel bitstream), bitstream),

Inter con MC,

Inter con MC e loop filter.

E’ possibile inserire periodicamente un Intra-frame per eliminare la propagazione dell’errore.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 54

H 261: codificatoreH 261: codificatoreH.261: codificatoreH.261: codificatore

F Loop FilterP Stima e compensazione del moto (ME-MC)q coefficienti quantizzatiD vettori di moto (MV)

t trasmesso/non trasmessop modalità Inter/Intraqz indice di quantizazzionef loop filter on/off\

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 55

D vettori di moto (MV) f loop filter on/off\

H.261 QuantizzazioneH.261 Quantizzazione

Coefficiente DC in modalità Intra: uniforme step 8Intra: uniforme, step 8.

Coefficienti AC, Intra e Inter: uniforme (step=2÷64)uniforme (step 2 64)eccetto per la zona morta.

Nella zona morta (-T,T) i ( , )coefficienti sono quantizzati a zero per evitare di

ùcodificare i coefficienti più piccoli, in genere dovuti a rumore

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 56

rumore

Page 15: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

H.261: selezione parametriH.261: selezione parametri

MTYPEinter vs intra; MV vs MV nullointer vs. intra; MV vs. MV nullo

CBP indica quali blocchi del MB hanno coefficienti non nulli

MQUANTconsente di modificare il passo di quantizzazione a livello di MB (±2). P.e. può essere modificato dal RC.( ) p

MVLoop filter on/off

MBA MTYPE MQUANT MVD CBP Block Data

Struttura di un MB

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 57

Struttura di un MB

ITU (CCITT) H.263ITU (CCITT) H.263

E’ lo standard video utilizzato in H.323/H.324, ed ha come target la video telefonia su PSTN e ha come target la video telefonia su PSTN e InternetSviluppato in tre fasi

St d d i i i l (H 263 B li ) N b 1995Standard iniziale (H.263 Baseline) Novembre 1995H.263 version 2 (H.263+) Settembre 1997H.263++ Novembre 2000

Migliore qualità a bitrate bassiIl video codificato con l’H.263 a 18/24Kbps è migliore che l’H 261 a 64Kbpsche l H.261 a 64KbpsConsente la video telefonia su rete telefonica fissa (target 28.8Kbps)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 58

H.263 Baseline vs. H.261H.263 Baseline vs. H.261

H.263 Baseline: incorpora le funzionalità base che ogni decoder H.263 deve implementareogni decoder H.263 deve implementarePrincipali differenze rispetto all’H.261:

MC al mezzo pixel con filtro di interpolazione bilinearebilineareUsa 3-D VLC nella codifica dei coefficienti della DCT (integra la codifica dell’EOB nel codice VLC – (last,

l l))run,level))Minor overhead a livello di GOPSupporta un numero maggiore di formati:pp ggSub-QCIF e QCIF; CIF, 16CIF e dimensione variabile (larghezza<2048; altezza<1152) opzionali.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 59

H 263 f i lità i li (i)H 263 f i lità i li (i)H.263: funzionalità opzionali (i)H.263: funzionalità opzionali (i)

Unrestricted MV (Annex D): è permesso che il MV punti fuori dal frame è permesso che il MV punti fuori dal frame. L’immagine è generata ripetendo i pixel di contorno del frame. Il range è esteso a [-31.5,31]. (maggior ffi i i di t d ll t l t efficienza in caso di moto della telecamera e moto

vicino ai contorni)

Codifica aritmetica basata sulla sintassi (Annex E):Codifica aritmetica basata sulla sintassi (Annex E):può essere utilizzata al posto dei codici VLC (fino a 4% di guadagno P-mode, 10% I-mode, 50% di aumento computazionale)aumento computazionale)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 60

Page 16: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

H.263: funzionalità opzionali (ii)H.263: funzionalità opzionali (ii)

Predizione del moto avanzato (Annex F): Overlapped Block Motion Compensation Overlapped Block Motion Compensation (OBMC): il valore di ogni pixel viene predetto come la somma pesata dei valori p ppredetti da tre diversi MV: il MV del MB corrente e i MV dei due MB che sono più i i i il bl 8 8 tvicini il blocco 8x8 corrente.

Il codificatore può utilizzare per il MB corrente quattro MV uno per ogni blocco Y corrente quattro MV, uno per ogni blocco Y, oppure solo uno. I MV sono codificati in modo predittivo

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 61

modo predittivo

P di i d i MVP di i d i MVPredizione dei MVPredizione dei MV

P di i d i tt i di t ll d lità tPredizione dei vettori di moto nella modalità avanzata:il valore del vettore d è dato dal valore mediano dei predittori (d1, d2, d3, d4)

d

d2

d1

d3

d

d2

d1

d3

d

d2

d

d3

d

d2

d

d3

dd1 dd1

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 62

H 263: funzionalità opzionali (ii)H 263: funzionalità opzionali (ii)H.263: funzionalità opzionali (ii)H.263: funzionalità opzionali (ii)PB-frame (Annex G):

Vi tili t l difi bidi i l li ll di MBViene utilizzata la codifica bidirezionale a livello di MBSi utilizzano 12 blocchi (invece che 6)Vengono codificati prima i 6 blocchi P e poi i 6 blocchi B.Funziona bene per sequenze con moto moderato: frame rate doppio senza aumentare in modo significativo i bit I B-frame vengono codificati a una qualità inferiore

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 63

H.263 version 2 (H.263+)H.263 version 2 (H.263+)

12 Modalità negoziabili (contro 4 del H.263)Tool per migliorare l’efficienze di codifica come:Tool per migliorare l efficienze di codifica, come:

Codifica Intra avanzata (Annex I)Filtro di deblocking (Annex J)Modalità PB avanzata (Annex M)

Tool per l’error resilience, come:FEC con codici BCH (Annex H)FEC con codici BCH (Annex H)Inserimento di marker per la sincronizzazione (Annex K)S l bilità (A O)Scalabilità (Annex O)Decodifica indipendente di segmento (Annex R)Partizionamento dei dati e RVLC (Annex V)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 64

( )

Page 17: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

ITUITU T t d d lT t d d lITUITU--T standard per leT standard per lecomunicazioni multimedialicomunicazioni multimediali

Oltre agli standard di codifica, è necessario regolare la comunicazione tra i terminali, stabilendo un canale comunicazione tra i terminali, stabilendo un canale comune per lo scambio dati. Queste operazioni sono codificate dagli standard di sistema multiplexing e controllo:sistema, multiplexing e controllo:

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 65

Terminale H.324Terminale H.324

Video CodecH.261 H.263

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 66

Terminale H.324 Terminale H.324 Terminale H.324 Terminale H.324 su rete telefonica fissasu rete telefonica fissa

Video CodecVideo CodecH.261 H.263

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 67

ISO/IEC MPEGISO/IEC MPEG--11A di /Vid CD ROM (1 5 Mb )Audio/Video su CD-ROM (1.5 Mbps)

Video a qualità circa VHS, 1.2 Mbps circa in formato SIFNon ha vincoli pesanti sul ritardo (1 sec vs. 150 msec p (H.261).Funzionalità VRC (avanzamento veloce, riavvolgimento, accesso random ogni 0.6 sec)accesso random ogni 0.6 sec)

Inizio lavori 1988 – Standard 1990ISO/IEC 11172-1~5 (Systems, video, audio, compliance, software)software).

Consente di combinare più stream audio e video in uno, utilizzando un clock comune per la sincronizzazione.Nota – MPEG-1 audio:

offre 3 opzioni di codifica; MP3 = MPEG-1 level 3 Audio

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 68

Page 18: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--1 Video vs. H.2611 Video vs. H.261

Sviluppati nello stesso periodoStima del moto più accurata:Stima del moto più accurata:

Mezzo pixel, range ±64Non utilizza il loop filter (non è più necessario)

Predizione bidirezionale: Predizione bidirezionale: Matrice di quantizzazione basata sulla percezione per i coefficienti AC (MB Intra):

M t i di ti i ( i il JPEG)Matrice di quantizzazione (simile a JPEG)Parametro di quantizzazione (MQUANT)MB Intra-A Quantizzazione adattativa (definita per il singolo MB)il singolo MB)

Coefficiente DC codificato in modo predittivo (JPEG)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 69

MPEGMPEG--1 Video vs. H.2611 Video vs. H.261H.261 MPEG-1

Accesso sequenziale Accesso casuale

Frame rate base fisso Frame rate flessibile

Formati CIF e QCIF Formato flessibile

M d lità I P M d lità I P BModalità I e P Modalità I, P e B

MC su un frame MC su uno o più frame

Loop Filter No Loop FilterLoop Filter No Loop Filter

Quantizzazione uniforme Matrice di quantizzazione

No GOP GOP

GOB slice

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 70

MPEGMPEG--1 Video: 1 Video: formato in ingressoformato in ingresso

Video progressivo (non interlacciato)Video progressivo (non interlacciato)Colore: 4:2:0 (come H.261)In genere si utilizza il formato SIFValori massimi detti anche CPS (Constrained Parameters Set) Valori massimi, detti anche CPS (Constrained Parameters Set), stabiliti per facilitare le implementazioni HW:

pixel/riga 720pixel/riga 720

righe/frame 576

frame/sec 30

MB/frame 396

MB/sec 9900

Bitrate 1.86 MbpsBitrate 1.86 MbpsRange dei MV +/-64 pixel

Dim del buffer del decoder 376 832 bit

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 71

MPEGMPEG--1 Video: 1 Video: struttura datistruttura dati

Ogni sequenza è organizzata in gruppi di frame GOP(Group of Pictures)

I frame possono essere codificati nelle seguenti modalità:

I P B (opzionale) o D (solo componente DC di ogni I, P, B (opzionale) o D (solo componente DC di ogni blocco)

Il numero di frame I, P o B in ogni GOP dipende dall’applicazione:

lo standard richiede almeno un frame di tipo I ogni 132.

O i f è ddi i i li t d iù MBOgni frame è suddiviso in slice composte da più MB

Come per l’H.261, si hanno MB 16x16 e la DCT viene applicata su blocchi 8x8

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 72

applicata su blocchi 8x8

Page 19: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG 1 bit t1 bit tMPEGMPEG--1: bitstream1: bitstream

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 73

MPEGMPEG 1 Video:1 Video:MPEGMPEG--1 Video:1 Video:Modalità di codifica MBModalità di codifica MB

MTYPESI-pictures P-pictures B-pictures

Intra Intra Intra

MTYPES:

Intra-A Intra-A Intra-A

Inter-F Inter-F

Inter-FD Inter-FDSi codificano

Predizione in avanti(forward)

Inter-FDA Inter-FDA

Inter-D Inter-B

Inter DA Inter BD

Si codificano solo i MV

Si codificano i MV e l’ di di i

Predizione indietro (backward)

Inter-DA Inter-BD

Skipped Inter-BDA

Inter-I

l’errore di predizione

Come Inter-FD ma si trasmette anche MQUANT

Predizione interpolata

Inter-ID

Inter-IDA

Skipped

Q

Si utilizza il MB del frame precedente

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 74

MPEGMPEG--1 Encoder1 Encoder

Lo standard NON stabilisce:L’algoritmo di stima del motoL algoritmo di stima del motoIl criterio di selezione di MTYPE Il criterio di selezione di MQUANT

Algoritmo:Il codificatore decide come codificare i frame all’interno di un GOP (I, P o B)( , )Stima il MV per ogni MB nei frame di tipo P e BStabilisce la modalità di codifica (MTYPE) per ogni MB del framedel frameSe si sta codificando con quantizzazione adattativa, decide il parametro di quantizzazione MQUANT.

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 75

MPEGMPEG--1: encoder1: encoder

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 76

Page 20: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--1 Video: MC in avanti1 Video: MC in avantiMPEGMPEG 1 Video: MC in avanti1 Video: MC in avantiFrame di riferimento (t-1)

Frame corrente (t)(x y)

MV Miglior match

( )

(x,y)

(x,y)

+ -

Errore di predizione

Al blocco DCT

Errore di predizione

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 77

MPEGMPEG--1 Video: MC bidirezionale1 Video: MC bidirezionaleMPEGMPEG 1 Video: MC bidirezionale1 Video: MC bidirezionale

Frame corrente (t)

Frame di riferimento (t-1)

Frame corrente (t)

(x,y)MV Miglior

matchFrame di riferimento (t+1)

(x,y)

(x,y) MV

+ -

Miglior match

+-Errore di predizione in avanti

Errore di predizione indietro

Al blocco DCTMUX

1/2

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 78

Al blocco DCTMUX

MPEGMPEG--1: struttura del 1: struttura del bitstreambitstream

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 79

ISO/IEC MPEGISO/IEC MPEG 22ISO/IEC MPEGISO/IEC MPEG--22

Broadcast Audio/Video (TV, HDTV, via cavo, satellite, high speed Intra/Internet)

4÷8Mbps per qualità TV; 10÷15Mbps per SDTV (BT 601)4÷8Mbps per qualità TV; 10÷15Mbps per SDTV (BT.601)

18÷45Mbps per HDTV

MPEG-2 high profile/high level è la codifica video standard per HDTV

Test 11/1991, Commitee Draft 11/1993ISO/IEC 13818 1 6 (S t id di li ISO/IEC 13818-1~6 (Systems, video, audio, compliance, software, DSM-CC)

E’ organizzato in profili e livellig p

Compatibile con MPEG-1

Nota MPEG-2 Audio: MPEG-2 AAC

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 80

Page 21: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--2 vs. MPEG2 vs. MPEG--1 Video1 VideoMaggior risoluzione (BT.601 = 4CIF)Gestisce sequenze video interlacciato:

Stima del moto più sofisticata (modalità dual prime per PStima del moto più sofisticata (modalità dual prime per P-frame)Due tipi diversi di implementazione della DCT con due di d lità di i d i ffi i tidiverse modalità di scanning dei coefficienti

Quattro tipi di scalabilitàOrganizzato in profili e livelli:Organizzato in profili e livelli:

Per ridurre la complessità di implementazione (hw e sw)ogni combinazione è indirizzata ad un tipo di applicazione

F i 4 2 0 4 2 2 4 4 4Formato crominanze: 4:2:0, 4:2:2, 4:4:4Possibilità di una quantizzazione più fine:

Fino a [-2048.2047] vs. [-256,255]

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 81

Fino a [ 2048.2047] vs. [ 256,255]

MPEGMPEG--2: struttura dei MB2: struttura dei MB

4:2:0

4:2:2

4:4:4

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 82

MPEGMPEG--2: sottocampionamento 2: sottocampionamento ppdelle crominanzedelle crominanze

Progressivo Interlacciato

4:2:04:2:24:4:4

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 83

MPEGMPEG--2 Video:2 Video:MPEGMPEG 2 Video:2 Video:video interlacciato in ingressovideo interlacciato in ingresso

Tipi di codifica interlacciata:Ogni campo viene codificato in modo indipendente (field pictures)I due campi sono codificati congiuntamente in un frame composito (frame pictures).p ( p )

La scelta del tipo di codifica può avvenire per singolo frame:

Un GOP può essere composto da un mix di frame e Un GOP può essere composto da un mix di frame e field pictures

In genere:Scene con poco moto: codifica congiuntaScene con molto moto: codifica dei campi separata

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 84

Page 22: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--2 Video:2 Video:MPEGMPEG 2 Video:2 Video:video interlacciato in ingressovideo interlacciato in ingresso

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 85

MPEGMPEG--2 Video:2 Video:Frame Picture vs. Field Frame Picture vs. Field

PicturePicturePicturePicture

Le field pictures sono sempre a coppia:

Se il primo campo è di p ptipo P (o B) lo è anche il secondoSe il primo campo è di tipo I il secondo può tipo I, il secondo può essere di tipo I o P

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 86

MPEGMPEG--2 Video:2 Video:implementazione della DCTimplementazione della DCTTipi di DCT:

Frame DCT: divide il MB in 4 blocchi di luminosità (metodo classico)Field DCT: riordina i pixel in un MB in Top e Bottom

Tipi di scanning:Zig Zag scanningScanning alternato: per i campi interlacciati (hanno più correlazione orizzontale che verticale)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 87

Zig Zag scanning Scanning alternato

MPEGMPEG--2 Video: scalabilità2 Video: scalabilità

Data partition:Base layer: tutti gli header MV primi coefficenti DCTBase layer: tutti gli header, MV, primi coefficenti DCTPuò essere implementato a livello di bitstreamMolto semplice

àScalabilità SNR:Base layer: coefficienti DCT quantizzati a bassa risoluzioneEnhanced layer: raffinamento dei coefficenti

Scalabilità spaziale (complessa)S l bilità t lScalabilità temporaleScalabilità ibrida (combinazione delle precedenti)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 88

Page 23: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--2 Video: 2 Video: GG deodeocodificatore con scalabilità SNRcodificatore con scalabilità SNR

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 89

MPEGMPEG--2 Video: 2 Video: codec con scalabilità spazialecodec con scalabilità spaziale

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 90

MPEGMPEG 2 Video: scalabilità 2 Video: scalabilità MPEGMPEG--2 Video: scalabilità 2 Video: scalabilità temporale temporale –– opzione 1opzione 1pp pp

Solo il base layer viene utilizzato per la predizione dell’enhancement layerdell enhancement layerErrori nell’enhancement layer non si propagano

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 91

MPEGMPEG 2 Video: scalabilità 2 Video: scalabilità MPEGMPEG--2 Video: scalabilità 2 Video: scalabilità temporale temporale –– opzione 2opzione 2pp pp

Si possono utilizzare sia il base che l’enhancement layer per la predizione dell’enhancement layerlayer per la predizione dell enhancement layerUtilizzato per video stereoscopico

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 92

Page 24: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--2 Video: profili e livelli2 Video: profili e livelliFunzionalità utilizzate

mp@ml TV digitale(è il profilo

Range dei valori assunti dai parametri di un livello

(è il profilo più usato)

di un livello

mp@ml TV digitale

mp@hl HDTV

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 93

HDTV

backupbackup

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 94

Metodi di compressione 3Metodi di compressione 3--DD

TipiMetodi basati sulla DCT 3 D Metodi basati sulla DCT 3-D Metodi basati sulla trasformata 3-D a sotto-bande

Funzionano bene nel caso ideale di moto lento o Funzionano bene nel caso ideale di moto lento o globaleMale in caso di moto non uniforme

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 95

33--D DCT (i)D DCT (i)

E’ una estensione della codifica 2-D tramite DCT:DCT:

Il video è suddiviso in blocchi MxNxJ (rispettivamente le dimensioni orizzontale (rispettivamente le dimensioni orizzontale, verticale e temporale) e su ogni blocco viene applicata la DCT 3-Dapplicata la DCT 3 DI coefficienti della trasformata 3-D vengono quantizzati (per zona o soglia) e codificati q (p g )(come nel caso 2-D)

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 96

Page 25: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

33--D DCT (ii)D DCT (ii)

Osservazioni:Per sequenze di blocchi stazionarie i coefficienti della Per sequenze di blocchi stazionarie, i coefficienti della DCT rappresentanti la dimensione temporale saranno vicini allo zero e verranno troncati dall’applicazione della sogliadella sogliaIn genere i coefficienti della trasformata si concentrano nelle basse frequenze, sia temporali che spaziali.spaziali.Non richiede MEE’ necessario memorizzare J frame prima di codificare in genere si sceglie J pari a 2 o 4codificare, in genere si sceglie J pari a 2 o 4L’accesso random al video può avvenire ogni J frameNon molto usata in applicazioni pratiche

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 97

33--D DCT (iii)D DCT (iii)Punto di Accesso random ai frame

k+J+1

Punto di Accesso random ai frame

kM

N

J

x22x1t

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 98

Trasformata 3Trasformata 3--D a sottoD a sotto--bande (i)bande (i)

E’ un’estensione della codifica 2-D a sottobandesottobandeVantaggi:

Non presenta (quasi) artefatti dovuti alla blocchettatura (comune nella DCT 3-D)N i ff tt l MENon si effettua la MEScalabilità temporale che spaziale

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 99

Trasformata 3Trasformata 3--D a sottoD a sotto--bande (ii)bande (ii)

Approccio:Decomposizione nelle diverse sottobande spazioDecomposizione nelle diverse sottobande spazio-temporali.Ogni sotto-banda viene codificata in modo indipendente tramite quantizzatone e codifica entropica.In genere si usano blocchi temporali di 2 o 4 frame In genere si usano blocchi temporali di 2 o 4 frame per motivi praticiIn genere si implementa con un banco di filtri di Haar

li ( 2 t di) semplice (a 2 stadi). Nel caso di blocchi di 2 frame il banco di filtri genera la media dei due frame per il filtro

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 100

g ptemporale LP e la differenza per quello HP.

Page 26: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

Decomposizione in sottoDecomposizione in sotto--bandebandeDecomposizione in sottoDecomposizione in sotto bandebande

HPh

HPv 11

HPt

HPh

LPHPv

LPv 10

9LPh

LPv

HPv

8

7

LPt

HPh

HP

v

LPv 6

5

LPh

HPv

LPv

HPhHPv

LPv

4

3

E i di i l i 11LPh\

HPv

LPv

2

1

Esempio di implementazione a 11 sotto-bande: la banda delle basse frequenzespaziali e temporale viene ulteriormentescomposta in quattro sottobande spaziali

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 101

scomposta in quattro sottobande spaziali

Rappresentazione delle Rappresentazione delle Rappresentazione delle Rappresentazione delle sottosotto--bande 3bande 3--DDComponente a bassa risoluzioneComponente a bassa risoluzione

spazio-temporale

8 103

61

2 4

9 115 7

LPt HPt

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 102

H 261: Modalità di codificaH 261: Modalità di codificaH.261: Modalità di codificaH.261: Modalità di codifica

Tipo di predizione MQUANT MVD CBP TCOEFF VLCTipo di predizione MQUANT MVD CBP TCOEFF VLC

Intra X 0001

Intra X X 0000001Intra X X 0000001

Inter X X 1

Inter X X X 00001Inter X X X 00001

Inter + MC X 000000001

Inter + MC X X X 00000001

Inter + MC X X X X 0000000001

Inter + MC + FIL X 001

Inter + MC + FIL X X X 01

Inter + MC X X X X 000001

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 103

H.263: struttura datiH.263: struttura dati

Un GOB è formato da k*16 righe, dove:k=1 per i formati SubQCIF, QCIF e CIFk=2 per formato 4CIFk=4 per formato 16CIF

MB composto da 6 blocchi, tranne per i PB-frame (12 blocchi)GOB 1GOB 0

GOB 1GOB 0

GOB 1

GOB 3

GOB 5

GOB 2

GOB 4

GOB 6

GOB 1

GOB 3

GOB 5

GOB 2

GOB 4

GOB 6GOB 7

GOB 9

GOB 11

GOB 8

GOB 10

GOB 12

GOB 7GOB 8

GOB 0

QCIF

GOB 12GOB 13

GOB 15GOB 14

GOB 16GOB 17

GOB 1

GOB 3

GOB 5

GOB 2

GOB 4

GOB 0

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 104

GOB 5CIF Sub-CIF

Page 27: Esempio 2 Bitrate - Comlab Video.pdf · 2009. 3. 25. · in ordine inverso A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 25 Esempio I BB P B BP BBP I B B P BBPB B P GOP

MPEGMPEG--2 Video: predizione di 2 Video: predizione di MPEGMPEG 2 Video: predizione di 2 Video: predizione di campo per field picturescampo per field pictures

Ogni campo viene predetto psingolarmente dai campi di riferimento precedenti:

Se di tipo P da un campo precedenteSe di tipo B da due

i l i d ll campi scelti dalle due immagini di riferimento

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 105

MPEGMPEG 2 Video: predizione di 2 Video: predizione di MPEGMPEG--2 Video: predizione di 2 Video: predizione di campo per frame picturescampo per frame picturesp p pp p p

Il MB che deve essere predetto viene diviso nei pixel del campo pari (Top) e del campo dispari (Bottom)p p ( p) p p ( )Ogni blocco 16x8 del campo viene predetto separatamente dal suo/suoi MV

A.A. 2007-2008 Elaborazione e Trasmissione Video - Parte V 106