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 CavalliDott. Ing. Massimo Piccardi Correlatore: Prof. Ing. Rita Cucchiara
DATI VISIVI t - Rappresentazione in forma normale: successione di bitmaps nello spazio di colore YC B C R - 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 YCampione C B,C R
TRASMISSIONE DI CONTENUTI VISIVI Es.: filmato SIF 4:2:0 progressivo a 30 Hz in true color (risoluzione media) ogni frame richiede 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 LIMITI TRASMISSIONESTORAGE 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
COMPRESSIONE Compressione o compattamento dei dati: codifica dellinformazione 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
CODIFICA PER TRASFORMATE 8x8 Codifica entropica Quantiz. scalare Trasform. 2D 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
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
MPEG-4 Mira allintegrazione di 3 campi applicativi della tecnologia dellinformazione 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.
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 lintegrazione dei codec specifici codifica multiplazione dei flussi informativi in uno stream MP4 conforme decodifica demultiplazione e composizione della scena Supporto necessario
PARTE 2: VIDEO Standard generale: moltissimi tools ad hoc per le diverse funzionalità Implementazione completa spesso ingiustificata e costosa profili e livelli Profilo: definisce unimplementazione parziale dello standard (sottoinsieme della sintassi) attraverso i tipi di oggetti trattabili Livello: identifica un insieme di vincoli sui parametri dellalgoritmo, fissando il limite massimo di complessità consentita punto di interoperabilità codec fissato Profili visivi naturali: ricoprimento parziale MPEG-4 video famiglia di algoritmi simple scalable n bit core main simple
CODIFICA FRAME-BASED Si adatta la codifica a blocchi per trasformate alle immagini in movimento: importante correlazione temporale codifica differenziale dellimmagine rispetto a una sua predizione Formazione predizione: in avanti, indietro (ordine di riproduzione) o bi-interpolata con compensazione del movimento: si stima il movimento dei macroblocchi e 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) lefficienza di compressione aumenta DivX;-) implementa lo standard di codifica frame-based MPEG-4 con audio MP3
CODIFICA OBJECT-BASED Codifica di oggetti di forma arbitraria per supportare interattività content-based: contenuto informativo duplice formatrama 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
CODIFICA SAGOMA Sequenza di fotogrammi detti α-planes: rappresentazione forma o livelli di traslucentezza codifica sagome binarie: Formazione di una finestra minima (VOP) contenente loggetto 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)
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 Stefanbream - Configurazione piattaforma: PC Pentium II 450 Mhz 128 MB Windows 98 - due sole sequenze di test di risoluzione media: 1s CIF fps in tempo reale (broadcasting in rete e videoconferenza) classe frame-based 86 kB (5,6%) classe arbitrary-shaped 18 kB (1,2%)
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à daccesso 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
CONFRONTO Al netto di I/O: 500 ms (Stefan) contro 290 ms (bream) per 1s di video Entrambe stanno in real-time, bream condizionatamente allI/O
ENCODER Tempi totali: 167 s contro 97 s per 1 s di video ME estremamente onerosa: tempi 2 ordini di grandezza superiori agli altri tools
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 distribuzione video 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 allavanguardia