1 / 17

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.

lyndon
Download Presentation

Università degli studi di Ferrara

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. DATI VISIVI • Contenuti visivi bidimensionali naturali: immagini in movimento a colori • a variazione continua di tono • Rappresentazione in forma normale: • successione di bitmaps • nello spazio di colore YCBCR t • Sottocampionamento crominanza: • perdita di qualità impercettibilie • rappresentazione più compatta esempio notevole: chroma format 4:2:0 Campione Y Campione CB,CR

  3. 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 LIMITI TRASMISSIONE STORAGE banda canali di trasmissione es.: ISDN 128 kbps capacità dispositivi storage es.: 1 h di filmato richiede 13,5 GB di memoria di massa 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

  4. 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

  5. CODIFICA PER TRASFORMATE Trasform. 2D Codifica entropica Quantiz. scalare 01011101... 8x8 3x Cod. sorgente (lossy) Cod. lossless Implementazione low cost della quantizzazione vettoriale 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) Quantizzazione pesata o percettiva Codifica entropica: Huffman o aritmetica (5-10% più efficiente ma onerosa)

  6. 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

  7. MPEG-4 Mira all’integrazione di 3 campi applicativi della tecnologia dell’informazione TV computer MPEG-4 telecom. • Obiettivi: • efficienza di compressione per ampia gamma di bitrates e tipi di dato • interattività basata sui contenuti → approccio ad oggetti Sequenza tradizionale (frame based) Oggetto di forma arbitraria (arbitrary shaped) • accesso universale → rappresentazione robusta e scalabilità

  8. PARTE 1: SISTEMA audio • Non solo codifica ma anche composizione di scene • contenuti disomogenei: es. video: naturali, sintetici (2D e 3D) o ibridi • grafo in stile VRML • codec scena formato BIFS immagine arbitrary-shapednaturale Immagine naturale tradizionale 3D sintetico • Consente l’integrazione dei codec specifici • codifica → multiplazione dei flussi informativi in uno stream MP4 conforme • decodifica → demultiplazione e composizione della scena Supporto necessario

  9. 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 simple scalable Profili visivi naturali: ricoprimento parziale → MPEG-4 video famiglia di algoritmi main simple core n bit

  10. CODIFICA FRAME-BASED Si adatta la codifica a blocchi per trasformate alle immagini in movimento: importante correlazione temporale → codifica differenziale dell’immagine 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) l’efficienza di compressione aumenta DivX;-) implementa lo standard di codifica frame-based MPEG-4 con audio MP3

  11. 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: • DCT adattiva alla forma (SA-DCT): solo pixel attivi nei border blocks (costo computazionale ridotto) • Padding: sfondo originale poco efficiente nella MC → farcitura oggetto segmentato per ottimizzarne le capacità predittive

  12. 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)

  13. 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 in tempo reale (broadcasting in rete e videoconferenza) • - 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 “Stefan” “bream” classe frame-based ≈ 86 kB (5,6%) classe arbitrary-shaped ≈ 18 kB (1,2%)

  14. FUNCTION TIMING: DECODER vs “bream”: 1960 ms “Stefan”: 730 ms IDCT 34% I/O 30% elaborazione 15% I/O 85% ME-MC 23% altro 8% IQ 5% • 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

  15. CONFRONTO 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

  16. 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

  17. 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 all’avanguardia

More Related