Università degli studi di Ferrara
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Università degli studi di Ferrara PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

  • 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


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


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


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)


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 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à


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


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

    [email protected] → punto di interoperabilità codec fissato

simple scalable

Profili visivi naturali:

ricoprimento parziale

→ MPEG-4 video famiglia di algoritmi

main

simple

core

n bit


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


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


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)


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%)


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


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


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


  • Login