Codifica, decodifica e formati (INF) - e-Learning

Transcript

Codifica, decodifica e formati (INF) - e-Learning
“COSTO” DI UN SEGNALE
Dipende da campionamento e quantizzazione
Immagini:
– Risoluzione spaziale in numero di pixel
– Profondità colore
IMAGING DIGITALE
AA. 2014-2015
COMPRESSIONE
LOSSLESS
LOSSY
ESEMPIO NUMERICO
•
Quantità di dati per memorizzare un film di 2 ore:
•
Standard televisivo digitale NTSC (HDTV)
– Risoluzione spaziale: 720x480 pixel (1920x1080)
– Quantizzazione (profondità colore) 3 x 8bit=24bit
– Risoluzione temporale: 30 fps (60fps)
– (Trascuriamo audio)
720x480 pixel/frame x 30 frame/s x 24 bit/pixel x 2x60x60 s= 2.24 1011Byte
1920x1080 pixel/frame x 60 frame/s x 24 bit/pixel x 2x60x60 s= 2.68 1012Byte
208 GB
così sarebbero necessari 24 DVD (da 8.7 GB)
- Bisogna comprimere 23.9 volte!
5 Blu-Ray (da 50 GB –doppio strato)
- comprimere 4.2 volte
2.44 TB
così sarebbero necessari 288 DVD (da 8.7 GB)
- Bisogna comprimere 287.6 volte!
50 Blu-Ray (da 50 GB –doppio strato)
- comprimere 50.05 volte
TECNICHE DI COMPRESSIONE
error-free o loss less
•Tecniche di compressione
lossy
• error-free o loss less (compressione senza perdita di
informazione): il segnale può essere compressa e ricostruito senza
che si perda alcuna informazione (tipicamente per applicazioni
mediche, immagini da satellite,... )
• lossy (compressione con perdita di informazione):
non è possibile una perfetta ricostruzione del segnale originale
(segnali televisivi, videoconferenze,...)
Suono
– Frequenza di campionamento
– Livelli di quantizzazione
– Numero di canali
Video
–
–
–
–
Risoluzione spaziale in numero di pixel
Risoluzione temporale (numero di frame per sec)
Profondità colore
+ audio
COMPRESSIONE DI SEGNALI
• Processo di riduzione della quantità di dati necessaria a rappresentare
una data quantità di informazione.
•Matematicamente: trasformazione in un insieme di dati statisticamente
scorrelati.
•Metodi di compressione sono particolarmente significativi e di interesse
commerciale per la trasmissione e l’archiviazione di dati.
•Devono essere soddisfatti alcuni requisiti:
- deve essere garantita una qualità segnale compresso: cioè deve
essere definito un grado di fedeltà al segnale originale tipico per
l’applicazione
- il livello computazionale del processo di codifica-decodifica deve
essere accettabile per il tipo specifico di applicazione.
DATI E INFORMAZIONE
•Dati e informazione non sono sinonimi: i dati sono gli strumenti tramite i
quali è rappresentata l’informazione. Diversi quantitativi di dati possono
essere usati per rappresentare la stessa informazione.
•La compressione si basa sulla rimozione dei dati ridondanti, concetto
matematicamente quantificabile.
•Dati due insiemi differenti di dati per descrivere la stessa informazione,
è possibile definire la ridondanza relativa dei dati:
C =
b1
b2
rapporto di
compressione
n° bit per rappresentare una
informazione con un certo insieme di
dati (prima della compressione)
n° bit per rappresentare la stessa
informazione con un altro insieme di
dati (dopo la compressione)
R = 1−
1
C
Ridondanza
relativa
1
DATI E INFORMAZIONE
R = 1−
C=
1
C
Ridondanza del primo
insieme adottato
rispetto al secondo
ESEMPI DI RIDONDANZA
n° bit per rappresentare una
informazione con un certo insieme
di dati
b1
b2
n° bit per rappresentare la stessa
informazione con un altro insieme
di dati
rapporto di
compressione
Se b1=b2 , R=0: la prima rappresentazione non contiene dati ridondanti rispetto alla
seconda.
Un rapporto di compressione tipico di 10, che si indica anche come 10:1, significa
che il primo insieme necessita di 10 bit quando al secondo insieme ne basta 1.
1
0.8
0.6
0.4
La corrispondente ridondanza è 0.9. Il 90% dei dati del primo data set è ridondante.
0.2
0
0
50
100
150
200
250
1 RIDONDANZA DELLA CODIFICA
RIDONDANZA
L’istogramma dei livelli di grigio di un’immagine fornisce importanti informazioni
su come ridurre il quantitativo di dati necessario per rappresentare l’immagine.
•Possono essere individuati 3 diversi tipi di ridondanza:
1. Ridondanza della codifica
ridondanza
statistica
2. Ridondanza spaziale (o temporale)
pr
3. Ridondanza percettiva
• Si ottiene una compressione quando una o più di queste ridondanze
vengono ridotte o eliminate.
rk
Probabilità di
occorrenza del livello
di grigio rk
1
2
nk
pr (rk ) =
N ×M
3
RIDONDANZA DELLA CODIFICA: VLC
L
rk: variabile random che
indica il k-esimo livello
di grigio
L=n° livelli di grigio
numero di pixel che assumono il
valore del k-esimo livello di grigio
numero di pixel immagine
2 Ridondanza spaziale: VLC?
no
1
0.8
0.6
0.4
0.2
0
0
50
100
150
200
250
Quando l’istogramma è uniforme la VLC non ha effetto! Tutti i valori sono
equiprobabili.
Forte ridondanza spaziale
Lavg = 0.25 × 2 + 0.47 ×1 + 0.25 × 3 + 0.03 × 3 = 1.81 bit
C=
8
= 4.42
1.81
R = 1−
1
= 0.774
C
Il 77.4% dei dati nella
rappresentazione a 8 bit
è ridondante
OSSERVIAMO però che:
• lungo le righe c’è una forte correlazione spaziale
• Lungo le colonne no (ad ogni riga è stato assegnato casualmente uno
dei valori tra 0 e 255).
2
3 Ridondanza percettiva
N=256
Run-length Encoding (RLE) o Run-length coding (RLC)
Versione equalizzata
L’immagine è percepita come se avesse un valore di grigio uniforme. Non è così e
lo si capisce dall’istogramma.
N=256
Si può ridurre la ridondanza spaziale individuata introducendo coppie
run-length: il primo valore della coppia individua il valore di intensità, il
secondo il numero di volte con cui si ripete.
Le informazioni ignorate dal nostro sistema visivo possono essere eliminate.
Sostituiamo un unico valore pari al valore medio.
C=NxMx8/8 NxM:1
Nell’esempio: C=nbit tot iniziali/nbit finali=(256x256x8)/(2x256) x8
Con questo approccio inevitabilmente c’è perdita. (approccio con quantizzazione)
C 128:1
Approccio Loss less
Ridondanza spaziale o temporale: RLC
Sorgenti con memoria: il valore del simbolo corrente dipende dal valore
del simbolo precedente.
L’algoritmo di compressione Run-Length Coding (Enconding) sfrutta la
memoria presente nei campioni del segnale.
Ridondanza statistica
algoritmi di compressione senza perdita
Idea alla base del RLC (RLE): se i simboli tendono a formare dei
raggruppamenti allora è possibile pensare di codificare il simbolo e la
lunghezza del gruppo.
Con questa tecnica si sostituisce una sequenza di simboli uguali con un
solo simbolo accompagnato dal numero di volte che questo compare
consecutivamente
RIDONDANZA INTERPIXEL: RLC
RLC (RUN LENGTH CODING)
Gran parte del contenuto informativo di un pixel è ridondante e può essere ottenuto a
partire dal contenuto informativo dei pixel vicini.
Si può ridurre questa ridondanza passando ad un mapping differente dell’immagine,
più efficiente ma generalmente non interpretabile visivamente.
Usato nei FAX
Soglia per la binarizzazione
Questa tecnica puo‘ essere impiegata anche per la codifica di
immagini a colori, traendo vantaggio dall'occorrenza di pixel
consecutivi di ugual colore.
Run-length coding
Si considerano singolarmente le
linee dell’immagine.
• sostituisce a sequenze di pixel identici l’indicazione del numero
di volte che tale pixel si ripete, seguita dal valore
• efficiente per immagini artificiali
Per ogni linea si collezionano le
successive coppie (g,w) ove
g=valore (0,1), w la lunghezza del
tratto di pixel con quel valore.
• poco efficiente per immagini reali (fotografie) anche
controproducente
• metodo conservativo (lossless)
Particolarmente efficace per immagini binarie
3
RLC (RUN LENGTH CODING)
Ridondanza percettiva
BMP/ (BMP con RLC)
BMP/ (BMP con RLC)
C=0.98
algoritmi di compressione con perdita
C=1.35
RIDONDANZA PERCETTIVA
Deriva dalle caratteristiche del nostro sistema percettivo: non tutta
l’informazione ha la stessa importanza per il nostro sistema percettivo.
Il nostro sistema percettivo non valuta ciascun pixel/campione
quantitativamente, ma sfrutta caratteristiche particolari (edge, texture,
frequenze...) per raggruppare i pixel/campioni in insiemi significativi.
La riduzione di ridondanza percettiva
comporta una perdita quantitativa di
informazione: si parla così di
quantizzazione. Si tratta di una
compressione irreversibile
di tipo: lossy
MASKING E SOGLIA DI UDIBILITA’
RIDONDANZA PSICO-UDITIVA
Gli schemi di compressione “percettivi” comprimono il segnale
eliminando quelle parti che il nostro apparato uditivo non percepisce.
Sono codifiche di tipo lossy.
mascheramento in frequenza (Masking): principale caratteristica
dell’apparato uditivo umano su cui si basano le tecniche di
compressione audio.
la presenza di un forte suono
ad una certa frequenza tende
a mascherare suoni a
frequenze vicine.
RIDONDANZA PSICOVISUALE
Caratteristiche psicovisuali su cui basare la quantizzazione:
• Legge di Weber: la sensibilità alle variazioni di luminosità diminuisce
man mano che l’immagine diventa più scura ⇒ quantizzazione più
grossolana nelle zone più scure.
• Siamo più sensibili al rumore nelle regioni uniformi (a bassa frequenza)
piuttosto che nelle regioni ad alta frequenza.
In presenza di un segnale sonoro ad una generica frequenza, si ha
una alterazione della soglia di udibilità per le frequenze limitrofe al
segnale, che non vengono percepite.
• Il sistema visivo umano è più sensibile alle variazioni di luminanza che
non a quelle di crominanza ⇒ quantizzazione più grossolana per la
codifica delle componenti di crominanza.
alcune tecniche di compressione tengono conto più che di tutte le
componenti presenti nella banda, solo di quelle che sono
effettivamente udibili (non mascherate).
4
RIDONDANZA PSICOVISUALE: IGS (improved gray scale)
8
C= ;
4
C = 2 :1
R = 1−
Sottocampionamento YCbCr
Original
1
C
Luma Subsampled 8x
= 50%
8 bit: 256 livelli
4 bit 16 livelli
Chroma Subsampled 8x
4 bit (IGS)
Minore sensibilità del sistema visivo al rumore alle alte frequenze:
quantizzazione IGS: l’errore di quantizzazione alle basse frequenze è convertito
in rumore ad alte frequenze.
Effetto: eliminazione dei falsi contorni ed introduzione di una granulosità che
risulta però meno fastidiosa. (Effetto dithering già visto nel suono)
MODELLO DI COMPRESSIONE
Un sistema per la compressione di immagini è generalmente formato da due
unità strutturali distinte: codificatore (o compressore) e decodificatore (o
decompressore).
Compressione
valutazione della qualità
algoritmi composti
• Codificatore di sorgente: riduce la ridondanza del segnale.
• Codificatore di canale: incrementa l’immunità al rumore.
• Nel decodificatore sono realizzate le operazioni inverse.
Se f̂ ( x , y ) = f ( x , y )
CODIFICATORE E DECODIFICATORE DI SORGENTE
•In generale opera sulle tre forme di ridondanza:
Ridondanza
spaziale/temporale
(reversibile)
es. run-length coding
ridondanza percettiva
(irreversibile)
ridondanza di codifica
(reversibile)
es. variable-length
coding
il sistema si dice error-free o information preserving
MODELLO DI COMPRESSIONE
Non necessariamente negli algoritmi
di compressione sono presenti tutte
e tre le fasi.
In caso di compressione error free
infatti non c’è quantizzazione.
In altri casi mapping e quantizzazione possono essere effettuati
contemporaneamente.
Il decodificatore presenta solo
due blocchi poichè il processo
di quantizzazione è irreversibile.
Quando il canale di trasmissione è rumoroso,
si può incrementare l’immunità del segnale al
rumore con un codificatore di sorgente, che
introduce un grado controllato di ridondanza
nel segnale compresso che poi viene
riconosciuto ed eliminato nel decodificatore.
E’ chiaramente un processo costoso dal punto di vista del rapporto di
compressione effettivo.
5
COMPRESSIONE ERROR-FREE
COMPRESSIONE LOSSY
Le tecniche di compressione senza perdita consentono di raggiungere
rapporti di compressione normalmente non superiori a 10:1.
Prevedono un’operazione di mapping ed una di codifica di simbolo ma NON
di quantizzazione.
Con l’approccio error free, il rapporto massimo di compressione ha un valore
limite relativamente basso. Nel caso di compressione con perdita di
informazione (lossy) si possono raggiungere rapporti di compressione molto
elevati: 100:1.
La compressione lossy si basa sul compromesso fra accuratezza della
ricostruzione e compressione raggiungibile.
La differenza principale fra compressione error free e compressione lossy
sta nel termine di quantizzazione.
Ad esempio con una codifica a lunghezza variabile si può ridurre la sola
ridondanza di codifica. In realtà queste tecniche possono operare anche su
un precedente mapping capace di ridurre la ridondanza spaziale/temporale.
CRITERI DI FEDELTÀ OGGETTIVA
CRITERI DI FEDELTÀ SOGGETTIVA
Con la quantizzazione si perde anche informazione non ridondante. E’ necessario
poter valutare quantitativamente questa perdita attraverso la qualità del segnale
ricostruito, cioè valutando la sua fedeltà rispetto all’originale. Criteri di fedeltà
oggettiva.
•Scala di valutazione assoluta: l’immagine decompressa viene fatta valutare da un
gruppo di osservatori. Il giudizio finale, mediato, è rapportato ad una tabella del tipo:
e( x, y ) = fˆ ( x, y ) − f (x, y )
•Segnale errore:
M −1 N −1
M −1 N −1
x =0 y =0
x =0 y =0
∑∑ e(x, y ) = ∑∑ fˆ (x, y ) − f (x, y )
•Errore totale
•Root mean square error
RMS:
 1
erms = 
 MN
∑∑ [ f̂ (x , y ) − f (x , y )] 
M −1 N −1
2
N
12

x =0 y =0
M

∑∑ f̂ (x , y )
•Signal to noise ratio
SNR:
SNR =
•Scala di valutazione relativa: due immagini vengono affiancate e confrontate.
2
x =0 y = 0
M −1 N −1
∑∑ [ f̂ ( x , y ) − f (x , y )]
2
x =0 y =0
CODIFICA CON TRASFORMATE
CODIFICA CON TRASFORMATE
Una tipica compressione a perdita di informazione è la codifica con trasformate.
Opera nel dominio trasformato.
Una trasformata lineare e reversibile è usata per il mapping del segnale in un set di
coefficienti che vengono poi quantizzati e codificati.
mapping
mapping
•Nella fase di mapping NON si ha compressione. La codifica attraverso i
coefficienti della trasformata prepara alle successive fasi di compressione.
•La compressione si realizza quantizzando o addirittura trascurando coefficienti
con ampiezza poco significativa.
64x64
N=64
n=8
(N/n)2=64
Nella decodifica c’è sempre un blocco in meno della codifica poichè la
quantizzazione è un fenomeno irreversibile.
6
JPEG (Joint Photographic Experts Group)
Formato standard di memorizzazione delle immagini fotografiche (per
immagini a colori, ma anche immagini a toni di grigio) che permette
un’elevata compressione, con accettabile degradazione della qualità
→ compressione lossy.
JPG è uno standard flessibile che definisce una serie di possibili
elaborazioni da eseguire sulle immagini, elaborazioni che possono anche
essere saltate. Viene infatti data un guideline per la compressione ma
soprattutto specifiche rigide per la decompressione.
JPEG
JPEG2000
In pratica non viene specificato come si deve fare la compressione ma solo
quali regole devono essere rispettate dai dati compressi per poter ottenere
poi una corretta decompressione.
Si impose velocemente in particolar modo con lo sviluppo di Internet, dove
è necessario disporre di formati ad elevata compressione per una più
rapida trasmissione di immagini.
COMPRESSIONE JPEG
1. CONVERSIONE SPAZIO CROMATICO
1. CONVERSIONE SPAZIO COLORE
Compressione su componenti cromatiche
•
Si può sfruttare la caratteristica psicovisuale per cui il sistema visivo
umano è più sensibile alle variazioni di luminanza che non a quelle di
crominanza ⇒ quantizzazione più grossolana delle componenti di
crominanza.
•
Si realizza così la riduzione di ridondanza psicovisuale, introducendo
una compressione “lossy”.
•
L'immagine originale viene convertita dallo spazio cromatico RGB ad
uno in cui siano separati la luminanza e le due componenti di
crominanza, ad esempio YIQ, YUV, YCbCr...
•
E’ stato dimostrato che lo spazio migliore rispetto alla compressione
(cioè quello che introduce minori distorsioni) è lo spazio YCbCr.
http://www.stanford.edu/~esetton/jpeg.htm
Cb
Cr
2. SUDDIVISIONE IN
BLOCCHI 8X8
di ciascun canale
5.CODIFICA
variable length encoding (HUFFMAN)
3. TRASFORMATA COSENO
Quantizzazione coefficienti
4. MAPPING
DPCM per componente continua DC
RLE per componenti variabili AC
Sottocampionamento cromatico
Il campionamento del colore è espresso come x:y:z
x = numero relativo di campioni di luminanza
y = numero campioni di chroma per ogni linea dispari
z = numero campioni chroma per le altre linee
1. 1 COMPRESSIONE LOSSY SULLE COORDINATE CROMATICHE
Le dimensioni dell’immagine sono ridotte sottocampionando solo le
componenti cromatiche:
1. Media a due a due tra pixel adiacenti dei piani cromatici,
dimezzando così la risoluzione orizzontale: codifica 4:2:2, riduzione
delle dimensioni del 30%.
i canali Cb e Cr sono di solito campionati orizzontalmente.
2. Si dimezza anche la risoluzione verticale, codifica 4:2:0, riduzione
delle dimensioni del 50%.
4:2:0 vuol dire che per ogni 4 campioni di luminanza ci sono 2 chroma
sulle linee dispari. In altre parole in 4:2:0 ho una componente di chroma
per ogni blocco di 2x2 pixel
codifica 4:2:0
N.B. Questa conversione e la conseguente quantizzazione delle componenti
cromatiche è opzionale.
7
2. SUDDIVISIONE IN BLOCCHI DI 8X8 PIXEL
•Ciascun canale (es. Y,Cb,Cr)
dell’immagine è suddiviso in
blocchi.
3.a ANALISI IN FREQUENZA: TRASFORMATA COSENO
Nel JPEG viene usata la DCT, Discrete Cosine Transform. I coefficienti
T(u,v) che ne derivano rappresentano le ampiezze di quei segnali armonici
(coseno) che sommati ricostruiscono il segnale.
M −1 N −1
•Ciascun blocco è costituito da
8x8 pixel.
F (u , v ) = ∑∑ f ( x, y )g (u , v, x, y )
DCT
x =0 y =0
M −1 N −1
 (2 x + 1)πu 
 (2 x + 1)πv 
f ( x, y ) = ∑∑ F (u, v ) cos 
 cos 2 N 
 2N 


u =0 v =0
n=8
 (2x +1)πu   (2 y +1)πv  kernel
g (x , y ,u,v) = α (u )α (v) cos
cos
 2N   2N 
COEFFICIENTI DCT
3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT
Per ogni canale, ad ogni blocco di 8x8 pixel nel dominio dello 'spazio'
corrisponde un blocco di 8x8 coefficienti nel dominio della frequenza.
I coefficienti in alto a sinistra rappresentano le basse frequenze mentre quelli
via via in basso a destra rappresentano le alte frequenze spaziali ossia i
dettagli dell'immagine.
In particolare il primo coefficiente del blocco trasformato è correlato al valor
medio dei valori del blocco 8x8 originario (componente continua o DC).
201
165
162
182
171
199
18'
183
201
88
102
15
25
67
107
190
200
190
105
183
199
199
178
0
123
63
255
183
183
23
54
0
65
38
194
21
148
18
243
0
0
180
255
0
123
226
12
0
66
102
0
130
189
0
255
6
22
254
132
159
183
213
6
43
Blocco 8x8
(una sola componente)
Si definisce una 'quantization table’ Q(u,v) che divide la matrice dei
coefficienti F(u,v) e genera dei coefficienti quantizzati.
 F (u, v ) 

Fˆ (u, v ) = round 
 Q(u, v ) 
Tabella di quantizzazione
per la luminanza
Tabella di quantizzazione
per la crominanza
DCT
Coefficienti F(u,v)
della trasformata DCT
3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT
Poiché i valori della tabella di quantizzazione sono abbastanza elevati,
i valori dei coefficienti quantizzati sono significativamente più piccoli di
quelli dei coefficienti originali, ed hanno conseguentemente una
varianza più bassa: questo agevola la codifica successiva.
Sono state definite delle tabelle Q(u,v) da studi psicofisici con lo scopo
di massimizzare la compressione minimizzando la perdita percepita.
E’ possibile definire tabelle customizzate
Regione
smooth
Consideriamo in Y un
blocchetto 8x8 di Lena
Si può variare il rapporto di compressione semplicemente riscalando i
coefficienti della tabella di quantizzazione. (questo fattore di scala è
legato al Quality factor della compressione JPEG)
I coefficienti vengono poi dequantizzati in fase di decodifica
semplicemente rimoltiplicandoli per la tabella di quantizzazione:
~
F (u, v ) = Fˆ (u, v )Q(u , v )
I coefficienti quantizzati sono ottenuti arrotondando all'intero più vicino: i
coefficienti meno significativi tendono ad azzerarsi. Rimangono i
coefficienti relativi ai contributi informativi più importanti. I valori in alta
frequenza (gen. già piccoli) vengono molto spesso arrotondati a 0. Il
risultato è la concentrazione di pochi coefficienti diversi da 0 in alto a
sinistra e 0 tutti gli altri.
8
Regione
smooth
Regione con
texture
Consideriamo in Y un
blocchetto 8x8 di Lena
Consideriamo in Y un
blocchetto 8x8 di Lena
Ovviamente a
parità di tabella di
quantizzazione si
introduce una
maggior perdita in
zone a più alta
frequenza
3.b QUANTIZZAZIONE COEFFICIENTI DELLA DCT
Immagine originale
la qualità è abbastanza buona con
16 coefficienti diversi da zero
(ultimo caso a destra).
nella generica griglia di 8x8
coefficienti: in bianco quelli
diversi da 0 e in nero quelli
azzerati.
4.a MAPPING DEI COEFFICIENTI DELLA DCT
Il tipo di mapping impiegato si differenzia
per la componente continua, indicata come
DC, e per le componenti variabili, indicate
con AC, dei coefficienti superstiti dopo la
quantizzazione.
lettura a Zig-Zag
versioni compresse
dell’immagine originale
immagini differenza tra la
versione compressa e
l'originale (immagini errore)
4.a MAPPING DEI COEFFICIENTI DELLA DCT
Sul valore DC di ciascun blocco viene invece applicata una tecnica
DPCM (differential pulse code modulation). Poichè esiste una
relazione statistica nelle immagini tra le componenti DC di blocchi
adiacenti, è possibile codificare la componente DC di un blocco
come differenza rispetto al valore del blocco precedente.
DC
AC
Le componenti AC vengono ordinate tramite una
lettura a Zig-Zag. Il vettore 1x63 risultante
contiene sequenze di valori nulli che rendono
particolarmente efficace l’impiego di una tecnica
Run Length Encoding RLE.
Componenti AC
Stiamo lavorando sui coefficienti quantizzati!
5. CODIFICA ENTROPICA DEI DATI
L'ultima codifica applicata ai dati è una codifica a lunghezza di codice
variabile VLE.
In pratica i dati vengono suddivisi in 'parole' (stringhe di bit), viene
analizzata la frequenza statistica di ciascuna parola e ognuna viene
ricodificata con un codice a lunghezza variabile in funzione della
frequenza di apparizione. Un codice corto per le parole che appaiono
frequentemente e via via codici più lunghi per quelle meno frequenti.
Complessivamente il numero di bit necessari per rappresentare i dati si
riduce consistentemente.
Probabilità di occorrenza
della parola k-esimo
pr (rk ) =
nk
n
L −1
Numero medio di bit
necessario per la codifica
Lavg = ∑ l (rk ) pr (rk )
k =0
numero di bit per descrivere la
k-esima parola
9
PRESTAZIONI MEDIE JPEG
PRESTAZIONI MEDIE JPEG
Immagini fotografiche a colori
Compressione
qualità percepita
64:1
da scarsa a buona
32:1
da buona a molto buona
24:1
da molto buona a eccellente
12:1
da eccellente a indistinguibile
oltre 8:1
indistinguibile
originale
320x240 RGB 230 Kb
qualità 75% 19 Kb
qualità 40% 11 Kb
www.jpeg.org
qualità 20% 7 Kb
JPEG2000
qualità 5% 2 Kb
Conventional compression method (JPEG)
www.jpeg.org/JPEG2000.htm
• basato non su DCT, ma su WAVELET
• migliori prestazioni a forte compressione
•visione multirisoluzione
•
•
7Kb - compressione 100:1
Vantaggi
Bassa complessità
Efficienza di compressione
•
•
•
•
Svantaggi
Singola risoluzione
Singola qualità
No regione di interesse
Blocking artifacts
7Kb - compressione 100:1
JPEG 2000
JPEG 2000
Sfrutta una decomposizione Wavelet a 3 livelli
•
•
•
•
Vantaggi
Diverse risoluzioni
Diverse qualità
Regione di interesse
No Blocking artifacts
10
jpeg vs jpeg2000
bpp = bit per pixel
jpeg 2 bpp
jpeg2000 2 bpp
Originale 24 bpp
jpeg 0.5 bpp
jpeg2000 0.5 bpp
Visual quality: JPEG vs JPEG2000
Jpeg
Jpeg2000
Original 24 bpp (bit per pixel 3x8)
Compression factor 1:60
JPEG 2000
0.4 bpp
Original
24 bpp
JPEG 0.4 bpp
JPEG
0.4 bpp
JPEG 2000 0.4 bpp
11
Jpeg 2000: qualita’ al variare dei bpp
0.125 bpp
0.250 bpp
0.5 bpp
1 bpp
0.25 bpp overall (without and with ROI at 0.75 bpp)
12
Compressione e formato
In fase di codifica: necessità di adottare tecniche di
compressione per ottimizzare:
1.occupazione di spazio di memoria
2.velocità di trasmissione
In fase di decodifica: decompressione
FORMATI IMMAGINE
FORMATI
• Formato dei file: comprende sia i dati (es. Immagine)
che le informazioni su come leggere ed interpretare il
file.
• Le proprietà dei formati variano in termini di risoluzione,
profondità colore, capacità di riprodurre il colore, tipi di
compressione e possibilità di supportare meta data.
Algoritmi compressione
2. Metodi di Codifica non statistici:
Lempel-Ziv (metodo basato su dizionario) in 3
varianti: LZ77, LZ78, LZW
•
Basati sul fatto che determinate sequenze di simboli si
ripetono frequentemente
Flate: LZ77 seguito da codifica Huffman in alcuni casi
è indicato come ZIP
RLE (Run Length Encoding): ogni riga dell’immagine è
sostituita dalla sequenza delle lunghezze delle
successioni (o run) di pixel consecutivi dello stesso
colore.
Il FORMATO e’ la regola con la quale una descrizione
dell’immagine è memorizzata in un file elettronico.
L’utilità di un formato è determinata da:
•compatibilità
•velocità di trasferimento (dimensione del file)
•qualità dell’immagine
Algoritmi compressione lossless
1. Metodi di codifica statistici
Basati sulla conoscenza della statistica, sono
codici a lunghezza variabile (VLC variable length
coding)
Codifica di Huffman
Codifica aritmetica: tipicamente 5–10% migliore
dell’Huffman coding, ma più
complesso
ALGORITMI DI COMPRESSIONE DELLE IMMAGINI
IMAGE
Raw
Data
Algoritmo di
Compressione
(Direct)
Algoritmo di
Compressione
(Inverse)
IMAGE
Raw
Data
Conservativi (lossless o error free)
Non c’è perdita di informazione ⇒ con la decompressione
ottengo un file identico all’originale
Non Conservativi (lossy)
Con perdita di informazione
Formati Multimediali AA 2011/2012
Francesca Gasparini
13
PRINCIPALI FORMATI
PRINCIPALI FORMATI
BITMAP
GIF (Graphics Interchange Format)
Standard Microsoft
Immagini a colori a 1,4,8 bit per pixel con mappa di colori
o senza mappa a 24 bit per pixel
• nato per la trasmissione delle immagini (1987)
A livelli di grigio registrati con i tre colori uguali
Formato espanso o compresso (run length encoding)
Immagini memorizzate da in basso a sinistra riga per riga
(compressione LZW + interlacciamento)
• supporta la trasparenza
• può contenere più immagini ⇒ può essere utilizzato per
animazioni
• per immagini su web
Contiene
– header
– mappa di colori
– dati
bit per pixel non superiore a 8 (⇒ 256 colori)
PRINCIPALI FORMATI
PRINCIPALI FORMATI
TIFF (Tagged Image File Format)
TIFF (Tagged Image File Format)
• formato più versatile, può essere di ogni dimensione (in
pixel) e di ogni profondità di bit
• permette di memorizzare immagini in bianco e nero, a scala
di grigio, a scala di colore, a colori RGB, CMYK, YCbCr, Lab
• Può essere salvato con o senza compressione. Adotta una
compressione conservativa (LZW)
• solo immagini a colori RGB con colormap con un numero di
•può contenere meta informazioni in locazioni di memoria
chiamate tag. (risoluzione, compressione, il modello di
colore, il profilo ICC...). Alcune applicazioni inseriscono dei
tag proprietari che talvolta impediscono ai file di essere
aperti da altre applicazioni.
•due versioni, una per macchine Windows e una per
macchine Macintosh. i byte sono ordinati in maniera
diversa. I byte nei file per Windows iniziano con le cifre
meno significative, nei file per Macintosh con quelle più
significative.
PRINCIPALI FORMATI
Alpha channel
PNG (Portable Network Graphics)
• Assume valori tra 0 e 1, indica come miscelare
(blending) più immagini
Obiettivi
• standard per lo scambio di immagini su Internet (alternativa al
GIF)
• superare la limitazione a 256 colori del GIF
Caratteristiche
• supporta colori a 24 e 48 bit
• compressione senza perdita di informazione (ZIP)
• immagini a livelli di grigio, RGB con o senza colormap
• alpha-channel per la gestione della trasparenza
• interlacciamento
• file PNG sono di dimensioni inferiori rispetto al TIF LZW
• non è possibile l’animazione come nel GIF
• “1” indica un pixel “pieno”, “0” indica un pixel
completamente trasparente
α IA + (1−α ) IB
• Nel GIF la trasparenza è a 1 livello (ON-OFF). Nel PNG
ho 1 byte per definire il livello di trasparenza
14
PRINCIPALI FORMATI
JPEG (Joint Photographic Experts Group)
•JPEG (Joint Photographic Experts Group)
Originale TIFF, 360 kB
• per immagini fotografiche
• con perdita di informazioni
• RGB, CMYK, scala di grigio
• non supporta la trasparenza
• per immagini su web
•JPEG tratta solo immagini statiche (standard correlato,
MPEG, per i filmati).
Compressione JPEG 75%, 11 kB
Factor: 100 Size=326321 bytes
Factor: 75 Size=70586 bytes
Factor: 50 Size=46295 bytes
Factor: 25 Size=29360 bytes
15
Factor: 10 Size=15325 bytes
The GIF version of the original picture
Factor: 5 Size=9438 bytes
Factor: 100 Size=326321 bytes
Size 258898 bytes
Factor: 50 Size=46295 bytes
Factor: 100 Size=326321 bytes
16
JPEG (Joint Photographic Experts Group)
•
JPEG è utile come mezzo di compressione e archiviazione di
immagini fotografiche. Non è utile come formato intermedio per una
sequenza di passi di manipolazione. In tal caso serve un formato di
compressione lossless come per esempio il TIFF.
PRINCIPALI FORMATI
JPEG 2000
basato su tecnologie wavelet per una miglior compressione
•40-60% file più piccoli, buona qualità ad altissima compressione;
no artefatti a blocchi
•compressione lossy o lossless
•supporto per multi-spectral imagery, CMYK e profili ICC
•capacità di recupero di errore per canali rumorosi
•ricostruzione progressiva dell’immagine
•codifica di regioni di interesse per la compressione differenziata
•accesso random ai dati per l’estrazione e ricostruzione per aree di
interesse, risoluzione, formato colore e qualità
PRINCIPALI FORMATI
JPEG 2000
Formato multirisoluzione:
bassa risoluzione per
dispositivi mobili
alta risoluzione per
stampe
media risoluzione per
visualizzazione a monitor
Postscript
È basato su una descrizione vettoriale:
Gli elementi di pagina sono definiti attraverso vettori.
1. Postscript include testo e elementi grafici vettoriali
2. Immagini tipo bitmap possono essere incluse nei file
PS.
3. Encapsulated Postscript files aggiungono
informazioni addizionali per l’inclusione dei file PS
in altri documenti.
4. Un file Postscript non ha compressione, in fatti è
memorizzato come ASCII.
PRINCIPALI FORMATI
Portable Document Format PDF (Sviluppato da Adobe)
PRINCIPALI FORMATI
Scalable Vector Graphics SVG
•Linguaggio per grafica 2D
• Un file PDF può contenere una o più pagine
• Del documento sorgente conserva: font, informazioni di
formattazione, colori
• Può contenere grafica vettoriale, immagini, link a
ipertesti, audio, video
•Fino a qualche anno fa nella grafica vettoriale il formato
più diffuso era Postscript (Adobe). PS è un formato di
page layout: non si usa per rappresentare immagini isolate
•Visualizzazione su Web di immagini vettoriali, bitmap e
testo
• Supporta la compressione JPEG, RLE, LZW
•SVG è derivato da PS, usa lo stesso modello.
• Supporta i profili ICC
•facile da implementare e semplice trasmetterlo in rete
17
PRINCIPALI FORMATI
EXIF (Exchange Image File) è un formato per immagini da
camera digitale.
Si basa sulla compressione jpeg
Contiene numerosi tag (più che nel TIFF) con
informazioni sulla camera e sulle condizioni di
acquisizione
3. Lo standard EXIF include anche specifiche per l’audio.
4. Contiene informazioni proprietarie a volte anche criptate
1.
2.
Exif:
• immagine
exif
I tag Exif per le immagini si suddividono in tre principali gruppi:
1. tag che riguardano la fotocamera;
2. tag che riguardano l’immagine;
3. altri tag.
•
fotocamera
Make
: NIKON CORPORATION
Camera Model Name : NIKON D100
Software
: Ver.2.00
Bits Per Sample
: 12
CFA Pattern
: [Blue,Green][Green,Red]
Compression
: Nikon NEF Compressed
PRINCIPALI FORMATI
Originale
GIF
JPEG
Image Width
: 3034
Image Height
: 2024
Exposure Time
: 1/60
F Number
: 5.6
Exposure Program
: Program AE
Create Date
: 2004:10:17 11:03:36
Exposure Compensation
:0
Metering Mode
: Multi-segment
Flash
: Fired, Return detected
Focal Length
: 24.0 mm
PRINCIPALI FORMATI
Alcuni confronti
• Si usa GIF quando l'immagine originale è a scala di
colore, con un massimo di 256 colori. Naturalmente, se
si parte da una immagine con più di 256 colori è spesso
accettabile una sua conversione in scala di colore. Se
invece sono necessari più di 256 colori bisogna
considerare JPEG.
si
18
Utilizzo dei formati
Proprietà
Miglior qualità per
l’originale
Più piccole
dimensioni del file
Maggior
compatibilità
Scelta peggiore
Immagini
Fotografiche
Toni sfumati, colori
a 24 bit o a scala di
grigio, no testo,
poche linee e spigoli
TIFF o PNG
JPG, da 75% a 80%
ESEMPIO di standard: formato GIF
Grafici, disegni
Colori saturi, fino a
256 colori, testo,
linee e contorni
nitidi
PNG o GIF o TIFF
PNG o GIF, TIFF
LZW.
TIFF senza
TIFF senza
compressione LZW compressione LZW
GIF ha solo 256
La compressione
colori e produce un JPG introduce degli
file più grande di una artefatti,
JPG con color depth degrada il testo e le
di 24 bit
linee
GIF (Graphics Interchange Format)
• compressione LZW + interlacciamento
• supporta la trasparenza
• può contenere più immagini ⇒ può essere utilizzato per
animazioni
• per immagini su WWW
• solo immagini a colori RGB con colormap con un numero di
bit per pixel non superiore a 8 (⇒ 256 colori)
19