università degli studi di ferrara

17
Università degli studi di Ferrara DIPARTIMENTO DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica Codifica e decodifica di oggetti visivi nello standard MPEG-4 Laureando: Relatore: Fabio Cavalli Dott. Ing. Massimo Piccardi Correlatore: Prof. Ing. Rita Cucchiara

Upload: lyndon

Post on 04-Jan-2016

49 views

Category:

Documents


1 download

DESCRIPTION

Università degli studi di Ferrara. DIPARTIMENTO DI INGEGNERIA Corso di Laurea in Ingegneria Elettronica. Codifica e decodifica di oggetti visivi nello standard MPEG-4. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Università degli studi di Ferrara

Università degli studi di Ferrara

 DIPARTIMENTO DI INGEGNERIA

Corso di Laurea in Ingegneria Elettronica

 Codifica e decodifica di oggetti visivi

nello standard MPEG-4

Laureando: Relatore: Fabio Cavalli Dott. Ing. Massimo Piccardi

Correlatore:

Prof. Ing. Rita Cucchiara

Page 2: Università degli studi di Ferrara

DATI VISIVI

t

- Rappresentazione in forma normale:

successione di bitmaps

nello spazio di colore YCBCR

- Contenuti visivi bidimensionali naturali: immagini in movimento a colori

a variazione continua di tono

- Sottocampionamento crominanza:

perdita di qualità impercettibilie

rappresentazione più compatta

esempio notevole: chroma format 4:2:0

Campione Y Campione CB,CR

Page 3: Università degli studi di Ferrara

TRASMISSIONE DI CONTENUTI VISIVI

Es.: filmato SIF 4:2:0 progressivo a 30 Hz in true color (‘risoluzione’ media)

ogni frame richiede 1,5 ∙ 352 ∙ 240 ∙ 8 ≈ 1 Mbit → data rate: 30 Mbps

banda canali di trasmissione

es.: ISDN 128 kbps

capacità dispositivi storage

es.: 1 h di filmato richiede 13,5 GB

LIMITITRASMISSIONE STORAGE

compressione necessaria in part. per riproduzione in tempo reale dalla rete

→ altrimenti conveniente: uso efficiente delle risorse (rete, memorie)

tempi di latenza ridotti SE non è troppo onerosa

di memoria di massa

Page 4: Università degli studi di Ferrara

COMPRESSIONE

Compressione o compattamento dei dati: codifica dell’informazione volta

al conseguimento di una rappresentazione in forma compatta

Efficienza di codifica per immagini naturali:

correlazione spaziale → codifica intra

correlazione temporale → codifica inter

ridondanza percettiva (spc. e tmp.) → codifica con perdita (lossy)

TECNICHE LOSSY PER IMMAGINI FISSE

Maggior efficienza di compressione a parità di costo computazionale

quantizzazione vettoriale

compressione frattale

Troppo onerose → codifica per trasformate

Page 5: Università degli studi di Ferrara

CODIFICA PER TRASFORMATE

8x8

Codificaentropica

Quantiz.scalare

Trasform.2D

01011101...

1. Trasformazione decorrelante:

coefficienti indipendenti – energia concentrata alle basse frequenze spaziali

trasf. subottime ma veloci: attualmente DCT (tutti IS)

verso Wavelet (JPEG2000, VTC di MPEG-4): opt. contorni (localizzazione)

2. Quantizzazione pesata o percettiva

3. Codifica entropica: Huffman o aritmetica (5-10% più efficiente ma onerosa)

Cod. sorgente (lossy) Cod. lossless

Implementazione low cost della quantizzazione vettoriale

3x

Page 6: Università degli studi di Ferrara

MPEG

MPEG: comitato ISO/IEC per codifica immagini in mov. ed audio associato

MPEG-4: fase 4 del gruppo, attualmente 2 versioni (altre 3 in fieri)

Storage su supporti digitali

Televisione digitale (SDTV e HDTV)

Codifica a oggetti

MPEG-7: rappresentazione e gestione contenuti multimediali

MPEG-21: infrastruttura multimediale

Page 7: Università degli studi di Ferrara

MPEG-4

Mira all’integrazione di 3 campi applicativi della tecnologia dell’informazione

Obiettivi:

efficienza di compressione per ampia gamma di bitrates e tipi di dato

interattività basata sui contenuti → approccio ad oggetti

accesso universale → rappresentazione robusta e scalabilità

Sequenza tradizionale

(frame based)

Oggetto di forma arbitraria

(arbitrary shaped)

MPEG-4

computer TV

telecom.

Page 8: Università degli studi di Ferrara

PARTE 1: SISTEMA

Non solo codifica ma anche composizione di scene

contenuti disomogenei:

3D sintetico

Immagine naturale

tradizionale

audio

arbitrary-shaped naturale

immagine

es. video: naturali, sintetici (2D e 3D) o ibridi

grafo in stile VRML

codec scena formato BIFS

Consente l’integrazione dei codec specifici

codifica → multiplazione dei flussi informativi in uno stream MP4 conforme

decodifica → demultiplazione e composizione della scena

Supporto necessario

Page 9: Università degli studi di Ferrara

PARTE 2: VIDEO

Standard generale: moltissimi tools ad hoc per le diverse funzionalità

Implementazione completa spesso ingiustificata e costosa → profili e livelli

Profilo: definisce un’implementazione parziale dello standard (sottoinsieme della sintassi) attraverso i tipi di oggetti trattabili

Livello: identifica un insieme di vincoli sui parametri dell’algoritmo, fissando il limite massimo di complessità consentita

Profilo@livello → punto di interoperabilità codec fissato

Profili visivi naturali:

ricoprimento parziale

→ MPEG-4 video famiglia di algoritmi

simple scalable

n bit

core

mainsimple

Page 10: Università degli studi di Ferrara

CODIFICA FRAME-BASED

Si adatta la codifica a blocchi per trasformate alle immagini in movimento:

importante correlazione temporale → codifica differenziale dell’immaginerispetto a una sua predizione

Formazione predizione:

in avanti, indietro (ordine di riproduzione) o bi-interpolata

con compensazione del movimento: si stima il movimento dei macroblocchie lo si applica al frame di riferimento per la predizione.

16x16

svantaggi: devo allegare i vettori di moto stimati (overhead) stima e compensazione del moto onerose

con codifica differenziale dei MV (altamente correlati) l’efficienza di compressione aumenta

DivX;-) implementa lo standard di codifica frame-based MPEG-4 con audio MP3

Page 11: Università degli studi di Ferrara

CODIFICA OBJECT-BASED

Codifica di oggetti di forma arbitraria per

supportare interattività content-based:

contenuto informativo ‘duplice’

forma trama

Il codec per la forma guida il codec per la trama: richiede la codifica dei soli blocchi dentro o sul contorno della sagoma

Schema di codifica classico ottimizzato:

(costo computazionale ridotto)

Padding: sfondo originale poco efficiente

DCT adattiva alla forma (SA-DCT):solo pixel attivi nei border blocks

nella MC → farcitura oggetto segmentato per ottimizzarne le capacità predittive

Page 12: Università degli studi di Ferrara

CODIFICA SAGOMA

Sequenza di fotogrammi detti α-planes: rappresentazione forma o livelli di traslucentezza

→ codifica sagome binarie:

Formazione di una finestra minima (VOP) contenente l’oggetto e allineata ai macroblocchi ← per pilotare correttamente il codec della trama

Codifica del VOP (anche lossy):

approccio a macroblocchi, detti BAB

moto-compensazione OR codifica aritmetica basata sul contesto (CAE)

CAE: codificatore aritmetico pilotato dalla probabilità delle realizzazioni condizionata ad un contesto di pixel ‘vicini’ ← correlazione!

MC per formazione contesto inter mode (vicinato temporale)

Page 13: Università degli studi di Ferrara

CODEC VIDEO MICROSOFT

Implementazione software in C++ rivolta a Windows

solo parte video di MPEG-4 vers. 1 → corredo software

oggetti naturali e trame scalabili (wavelet)

codice non ottimizzato

BENCHMARK

- Obiettivi: stima tempi di calcolo richiesti e verifica requisiti per esecuzione

“Stefan” “bream”

- Configurazione piattaforma: PC Pentium II 450 Mhz 128 MB Windows 98

- due sole sequenze di test di ‘risoluzione’ media: 1s CIF 4:2:0 @10 fps

in tempo reale (broadcasting in rete e videoconferenza)

classe frame-based ≈ 86 kB (5,6%)

classe arbitrary-shaped ≈ 18 kB (1,2%)

Page 14: Università degli studi di Ferrara

FUNCTION TIMING: DECODER

“Stefan”: 730 ms “bream”: 1960 ms

I/O 85%

elaborazione 15%

IDCT 34%

ME-MC 23%

IQ 5%

altro 8%

I/O 30%

I/O in “bream” molto oneroso: diversa modalità d’accesso al disco accesso sequenziale di “Stefan” → accesso diretto (“seekoff”) di “bream”

Misura I/O poco significativa:

dipende fortemente disco rigido usato (ottimizzazioni controller)

applicazioni pratiche (players): la riproduzione non richiede scrittura su disco

→ confronto al netto di I/0

vs

Page 15: Università degli studi di Ferrara

CONFRONTO

54,147

34,648

247,806

162

47,75135,326

19,399,304

93,15282,553

0

50

100

150

200

250

IDCT ME-MC IQ VLD shape altro

Tem

pi d

i ese

cuzi

one

[ms]

Stefan

bream

Al netto di I/O: 500 ms (“Stefan”) contro 290 ms (“bream”) per 1s di video

Entrambe stanno in real-time, “bream” condizionatamente all’I/O

Page 16: Università degli studi di Ferrara

ENCODER

3410

161079

47710681663

89369

552

5161

1

100

10000

1000000

(I)DCT ME-MC (I)Q altro (I/O)

Tem

pi d

i ese

cuzi

one

[ms]

Stefan

bream

Tempi totali: 167 s contro 97 s per 1 s di video

ME estremamente onerosa: tempi 2 ordini di grandezza superioriagli altri tools

Page 17: Università degli studi di Ferrara

CONCLUSIONI

Fattore di scala (≈1,7) ricorrente tra gli stessi tempi relativi alle 2 sequenze: tempi di esecuzione modulati dal numero di blocchi utili (tecniche block-based)

Per risoluzioni medie decoder supporta il real-time → distribuzionevideo in rete

Margine per risoluzioni maggiori minimo MA accortezze speed-up immediato:

codice ottimizzato MMX dei GPP moderni

algoritmi di complessità ridotta per ME (ad libitum)

riduzione dei tempi di un ordine di grandezza

→ plausibile real-time anche per ‘risoluzioni’ maggiori su PC più recenti

Encoder: vincoli sforati clamorosamente → impossibili applicazioni real time (end-to-end, es. videoconferenza)

Forse solo per risoluzioni molto basse su piattaforme all’avanguardia