La compressione video
Analis i in multirisoluzioneWavelet
La compress ione di immaginiCompress ione JPEG
S tandard MPEG
Visione artificiale 08/09 Multirisoluzione 2
Trasformata di Fourier
• Analisi in frequenza delle immagini
Visione artificiale 08/09 Multirisoluzione 4
Trasformata di Fourier
• Analisi in frequenza delle immagini
Visione artificiale 08/09 Multirisoluzione 5
Filtraggio in frequenza
Trasformata di Fourier
FiltroH(u, v)
Trasformata inversa
Preprocessing Postprocessing
f(x,y)Input image
g(x,y)Output image
F(u,v) H(u,v)F(u,v)
Visione artificiale 08/09 Multirisoluzione 6
Piramide
• Una piramide (image pyramid) è un insieme di immagini a risoluzione decrescente
• Normalmente l’immagine originale (base) è una immagine quadrata di dimensione potenza di 2
• I vari livelli della piramide (approssimazioni successive) sono versioni di dimensione (lineare) dimezzata, il numero di livelli dipende dalla potenza di 2
• Il livello superiore della piramide (apice) è di dimensione 20 (ma spesso la piramide è troncata prima)
• La memoria necessaria per memorizzare una piramide differisce di poco rispetto alla immagine di partenza
221
2
34
)4(1...
)4(1
)4(11 NN k <
++++
Visione artificiale 08/09 Multirisoluzione 7
Piramide gaussiana• I livelli sono ottenuti attraverso un sottocampionameto
(viene mantenuto un pixel ogni due) normalmente preceduto da un filtro passa-basso (filtro gaussiano)– In questo caso si parla di piramide gaussiana – Normalmente i filtri utilizzati hanno le proprietà:
• sono scomponibili (si esegue prima un filtraggio monodimensionale per righe e poi per colonne)
• la somma dei pesi pari è uguale a quella dei pesi dispari (uguale a ½)
• la dimensione è dispari– Esempi
[¼, ½, ¼][ 1/20, 5/20, 8/20, 5/20, 1/20] = [1/20, 1/4, 2/5, 1/4, 1/20][1/16, 4/16, 6/16, 4/16, 1/16]filtri di dimensione maggiore sono onerosi come tempo di calcolo
Visione artificiale 08/09 Multirisoluzione 8
Piramide laplaciana
• È l’insieme di immagini che contengono informazioni relative a bande di frequenza decrescenti (e l’apice di una immagine gaussiana)
• Ogni livello è ottenuto dalla differenza fra l’immagine di livello j di una piramide gaussiana e la sua approssimazione ottenuta dal livello j+1
• In linea teorica è possibile la ricostruzione dell’immagine originale (non memorizzata)
Immagine j
Filtro di approssimazione 2↓
2↑Filtro di
interpolazione
Laplaciano j
Immagine j+1
+-
sottocampionamento
sovracampionamento
Visione artificiale 08/09 Multirisoluzione 10
La trasformata wavelet
• La trasformata wavelet è capace di offrire elevata efficienza di compressione e, allo stesso tempo, capacità di localizzazione spaziale e di analisi a risoluzione variabile impossibili con le trasformate tradizionali
• L’approccio tradizionale alla analisi di un segnale 1-D f(t) ne prevede la rappresentazione mediante una somma pesata di funzioni di base:
f(t) = Σi ciψi(t)• Le funzioni di base sono fissate, una volta per tutte, dal
tipo di trasformazione adoperata, per cui tutta l’informazione sul segnale è contenuta nei pesi, che sono i coefficienti della trasformazione stessa
• Per esempio, le funzioni di base sono funzioni trigonometriche complesse nel caso della trasformata di Fourier, trigonometriche reali per la DCT, etc.
Visione artificiale 08/09 Multirisoluzione 11
La trasformata wavelet
πω
π/20
|H0(ω)| |H1(ω)|
2↓ 2↑h0(n) g0(n)
2↓ 2↑h1(n) g1(n)
x(n) + x(n)^
y0(n)
y1(n)
Analisi Sintesi
h0 passa bassoh1 passa alto
Visione artificiale 08/09 Multirisoluzione 17
Trasformata di Haar
a b BA
A=(a+b)/2 (è una media, un filtro passa basso)
B=(b-a)/2 (è un filtro differenziale, un filtro passa alto)
a=A-Bb=A+B
Ricostruzione Ho riottenuto esattamente i valori di partenza
Visione artificiale 08/09 Multirisoluzione 18
Trasformata di Haar
Trasformata
Ricostruzione
Il numero di operazioni è proporzionale al numero di campioniNon è necessaria memoria oltre a quella iniziale (numero di campioni)
Visione artificiale 08/09 Multirisoluzione 19
Trasformata di Haar
Primo livello
Secondo livello
Terzo livello
Quarto livello
NNNN 22...42
<++++
In due dimensione il numero di operazioni raddoppia
Visione artificiale 08/09 Multirisoluzione 21
Compressione
Codifica senzaperdite (lossless)
Codifica conperdite (lossy)
Decodifica
Decodifica
Visione artificiale 08/09 Multirisoluzione 22
Codifica senza perdite
Perché si può comprimere?
I valori non hanno la stessa frequenza
I valori sono correlati fra di loro
Visione artificiale 08/09 Multirisoluzione 23
Codifica run-length
• Si sostituiscono valori ripetuti, con la loro moltiplicità• 0000001100011111… 0 6 2 3 5 …
Visione artificiale 08/09 Multirisoluzione 24
Codifica a lunghezza variabile
0.15111115%D
110
10
0
VL Bit necessari
Codifica standardFrequenzaSimboli
1.4Totale
0.15105%C
0.40120%B
0.70070%A
Visione artificiale 08/09 Multirisoluzione 25
Codice di Huffman
L’algoritmo di Huffman permette di ricavare il codice VL ottimo, che minimizza il numero di bit necessari
0.07E0.100.08C
0.150.100.10D0.300.200.150.10A
0.350.350.300.300.30F0.650.350.350.350.35B
4321Prob.SimboloPassiSorgente
1.00
0.65 0.35
0.35 0.30
0.20 0.15
0.10 0.10 0.08 0.07
0 1 B
00 01 F
000 001
0010 C 0011 E0000 A 0001 D
Visione artificiale 08/09 Multirisoluzione 26
Algoritmo Lempel-Ziv-Welch
1261263939
1261263939
1261263939
1261263939 Immagine di test• Non richiede la conoscenza a priori della distribuzione di probabilità dei simboli dell’alfabeto
• È alla base di gzip, pkzip, winzip, compress …
• È coperto da brevetto
Visione artificiale 08/09 Multirisoluzione 27
Codifica con perdite
Perché si può comprimere?
Il sistema visivo non riesce a percepire piccole differenze
Discorso analogo per il segnale audio (codifica percettiva) MP3
Visione artificiale 08/09 Multirisoluzione 28
Il JPEG Standard
La sequenza di operazioni del JPEG
Preparazionedel
blocco
Trasformatacoseno
discretaQuantizazione
Quantizzazionedifferenziale
CodificaRun-length
Codificastatistica
Visione artificiale 08/09 Multirisoluzione 29
JPEG– Preparazione dei blocchi
16x1616x16 16x1616x16 16x1616x16
RR GG BB
16x1616x16
8x88x8 8x88x8
YY CCbb CCrr
YCbCr 4:2:0
CCrr ∝ RR – Y– Y
CCbb ∝ BB - Y- Y
Visione artificiale 08/09 Multirisoluzione 30
Trasformata coseno
•Trasformata di Fourier• periodicità implicita• vi sono discontinuità ai bordi
•Trasformata coseno• non vi sono discontinuità
Visione artificiale 08/09 Multirisoluzione 31
JPEG – Trasformata coseno discreta (DTC)
Riordino dei dati
Visione artificiale 08/09 Multirisoluzione 32
JPEG
128x192 RGB 72.0 K128x192 RGB 72.0 K qualità 80% 6.4 Kqualità 80% 6.4 K qualità 60% 4.2 Kqualità 60% 4.2 K
qualità 40% 3.1 Kqualità 40% 3.1 K qualità 20% 2.0 Kqualità 20% 2.0 K qualità 5% 0.8 Kqualità 5% 0.8 K
Visione artificiale 08/09 Multirisoluzione 33
Compressione lossy
Qualità Qualità percepitapercepita
Spazio Spazio richiestorichiesto
Potenza Potenza di di calcolo calcolo richiestarichiesta
Visione artificiale 08/09 Multirisoluzione 34
Prestazioni medie JPEG
Immagini fotografiche a coloriImmagini fotografiche a colori
CompressioneCompressione qualità percepitaqualità percepita64:164:1 da da scarsascarsa a a buonabuona
32:132:1 da da buonabuona a a molto buonamolto buona
24:124:1 da da molto buonamolto buona a a eccellenteeccellente
12:112:1 da da eccellenteeccellente a a indistinguibileindistinguibile
oltre 8:1oltre 8:1 indistinguibileindistinguibile
Visione artificiale 08/09 Multirisoluzione 35
Il futuro: JPEG2000
• basato non su DCT, ma su WAVELET• migliori prestazioni a forte compressione• possibilità di definire regioni di interesse (ROI)• visione multirisoluzione
Visione artificiale 08/09 Multirisoluzione 36
Compressione video: solo JPEG
compressione compressione insufficienteinsufficiente: : non viene sfruttata la non viene sfruttata la ridondanza temporale: ridondanza temporale: frameframe consecutivi sono spesso molto consecutivi sono spesso molto simili fra lorosimili fra loro
CodificaJPEG
Visione artificiale 08/09 Multirisoluzione 37
Lo standard MPEG
Sincronizzazione di audio e video in MPEG-1.
Clock
Codificaaudio
Codificavideo
Multiplexer MPEG - 1
Visione artificiale 08/09 Multirisoluzione 38
Tipi di frame
• II-frame-frame immagini complete (come se fossero JPEG)immagini complete (come se fossero JPEG)
• PP-frame-frame ricavabili da frame precedenti opportunamentericavabili da frame precedenti opportunamente modificati modificati
• BB-frame-frame possono dipendere sia da frame precedenti, sia da possono dipendere sia da frame precedenti, sia da frame successivi (predizione bidirezionale)frame successivi (predizione bidirezionale)
• DD-frame-frame per l’avanzamento veloce (per l’avanzamento veloce (componente a frequenza 0componente a frequenza 0))
PP B B I B B PB B I B B P B B B B I I
Visione artificiale 08/09 Multirisoluzione 40
Compressione video
MPEGMPEG = = MMoving oving PPicture icture EExperts xperts GGrouproup ( (www.mpeg.orgwww.mpeg.org))
Evoluzione:Evoluzione:
MPEG-1MPEG-1 permettere video da CD-ROM (circa 1.2 Mbps)permettere video da CD-ROM (circa 1.2 Mbps)
MPEG-2MPEG-2 video di grandi dimensioni per HDTVvideo di grandi dimensioni per HDTV
MPEG-4MPEG-4 trasmissione su mezzi a bassa banda (< 64Kbps)trasmissione su mezzi a bassa banda (< 64Kbps)
MPEG-7MPEG-7 descrizione ad alto livello dei contenutidescrizione ad alto livello dei contenuti
MPEG-21MPEG-21 futurofuturo