Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom
Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom
3.1. INTRODUZIONE 49 Un’immagine a colori è rappresentata mediante tre canali, tipicamente uno di luminanza (Y ), e due di crominanza (CR,CB). 3.2 Figura 3.1: Sottocampionamento della crominanza. Il simbolo X rappresenta un generico campione di luminanza, i due semiquadrati rappresentano una coppia di campioni CRCB condivisa da quattro campioni di luminanza. La crominanza è sottocampionanta di un fattore 2 in entrambe le direzioni, e quindi quattro pixel di luminanza condividono la stessa crominanza, vedi Fig.3.1. Modalità di funzionamento Lo standard JPEG prevede quattro distinte modalità di funzionamento: • Sequenziale (con DCT, con perdita); • Progressiva (con DCT, con perdita); • Senza Perdita; • Gerarchica (con o senza DCT, con o senza perdita). 3.2 Dai coefficienti tricromatici del sistema di riferimento colorimetrico NTSC, i.e. RN ,GN ,BN , la trasformazione in luminanza/crominanza si ottiene nel modo seguente: Y =0.299 · RN +0.587 · GN +0.114 · BN CR = RN − Y CB = BN − Y ; RN = CR + Y BN = CB + Y GN = Y − 0.299 · RN − 0.114 · BN 0.587 (3.1.1)
50 CAPITOLO 3. LO STANDARD JPEG PER LA COMPRESSIONE DI IMMAGINI FISSE 3.2 Modalità Sequenziale blocco 8x8 Immagine Originale xn [ , n ] DCT 1 2 X k1 k2 DCT ( ) [ , ] Quantizzatore ( DCT) X [ k , k ] 1 2 Codificatore Entropico Tavole Tavole Figura 3.2: Schema del Codificatore JPEG Dati Immagine Compressa La struttura essenziale di un codificatore JPEG è mostrata nella Fig.3.2. Ogni componente dell’immagine da codificare è suddivisa in blocchetti da 8x8 pixel. Secondo una scansione lessicografica, ciascuno di questi blocchetti è elaborato dalla trasformazioni indicate come DCT, Quantizzatore, Codificatore Entropico. 3.2.1 Trasformata Dicreta del Coseno (DCT) Questa trasformazione opera il calcolo della DCT. Lo standard non specifica un particolare algoritmo di calcolo, lasciando così a chi sviluppa il codificatore la libertà di implementare un particolare procedimento. Ciò dipende dal fatto che diverse applicazioni possono richiedere differenti realizzazioni del calcolatore di DCT, e.g. realizzazioni hardware VLSI rispetto a realizzazioni software o ibride come un DSP dedicato, implementazioni in artimetica a virgola fissa o mobile, etc., ciascuna con differenti compromessi fra velocità e precisione. Tale flessibilità può però presentare qualche svantaggio. In effetti, idealmente, la cascata di una trasformazione DCT e di una trasformazione DCT inversa (IDCT) non comporta alcuna perdita di informazione. In realtà, la presenza di funzioni sinusoidali nell’espressione della trasformata, rende impossibile di fatto realizzare i calcoli con accuratezza perfetta. Dunque potremmo trovarci di fronte al problema che codificatori e decodificatori diversi, in linea di principio, potrebbero produrre risultati anche abbastanza diversi fra loro. Per evitare tale problema, nello standard JPEG sono specificati dei test di conformità rispetto all’accuratezza cui si devono adeguare il codificatore e il decodificatore. In ogni caso, ricordiamo le definizioni della DCT di un’immagine x[n1,n2] di dimensioni N ×N. • Trasformata DCT (analisi): X DCT N−1 X [k1,k2] =α(k1)α(k2) con α(0) def q 1 = N e α(k) = • Trasformata IDCT (sintesi): x[n1,n2] = N−1 X N−1 X k1=0 k2=0 N−1 X n1=0 n2=0 q 2 N µ µ π(2n1 +1)k1 π(2n2 +1)k2 x[n1,n2]cos cos 2N 2N per 1 ≤ k ≥ N − 1; α(k1)α(k2)X (DCT) µ µ π(2n1 +1)k1 π(2n2 +1)k2 [k1,k2]cos cos 2N 2N 0 ≤ k1,k2 ≤ N − 1 0 ≤ n1,n2 ≤ N − 1 Dalle Figg. 3.3, 3.4, e 3.5 è possibile apprezzare come la DCT compatti l’energia media nelle componenti a bassa frequenza. In tali figure, l’ampiezza dei coefficienti DCT é rappresentato come livelli di grigio, dal nero verso il bianco. Tale compattazione è ancora più evidente per blocchetti di dimensione contenuta (vedi Figg. 3.4 e 3.5), dove la correlazione tra i pixel cresce, e l’approssimazione DCT → KLT è sufficientemente accurata. Si osservi come, bastano pochissimi coefficienti DCT per “spiegare” blocchetti con scarse variazioni del livello di grigio.
- Page 1: Capitolo 3 Lo Standard JPEG per la
- Page 5 and 6: 52 CAPITOLO 3. LO STANDARD JPEG PER
- Page 7 and 8: 54 CAPITOLO 3. LO STANDARD JPEG PER
- Page 9 and 10: 56 CAPITOLO 3. LO STANDARD JPEG PER
- Page 11 and 12: 58 CAPITOLO 3. LO STANDARD JPEG PER
- Page 13 and 14: Capitolo 4 Elementi di Codifica Vid
- Page 15 and 16: 62 CAPITOLO 4. ELEMENTI DI CODIFICA
- Page 17 and 18: 64 CAPITOLO 4. ELEMENTI DI CODIFICA
- Page 19 and 20: 66 CAPITOLO 4. ELEMENTI DI CODIFICA
- Page 21 and 22: 68 CAPITOLO 4. ELEMENTI DI CODIFICA
- Page 23 and 24: 70 CAPITOLO 4. ELEMENTI DI CODIFICA
- Page 25: Indice Analitico Symbols YCRCB ....
3.1. INTRODUZIONE 49<br />
Un’immagine a colori è rappresentata me<strong>di</strong>ante tre canali, tipicamente uno <strong>di</strong> luminanza (Y ), e due <strong>di</strong> crominanza<br />
(CR,CB). 3.2<br />
Figura 3.1: Sottocampionamento del<strong>la</strong> crominanza. Il simbolo X rappresenta un generico campione <strong>di</strong> luminanza, i due semiquadrati<br />
rappresentano una coppia <strong>di</strong> campioni CRCB con<strong>di</strong>visa da quattro campioni <strong>di</strong> luminanza.<br />
La crominanza è sottocampionanta <strong>di</strong> un fattore 2 in entrambe le <strong>di</strong>rezioni, e quin<strong>di</strong> quattro pixel <strong>di</strong> luminanza<br />
con<strong>di</strong>vidono <strong>la</strong> stessa crominanza, ve<strong>di</strong> Fig.3.1.<br />
Modalità <strong>di</strong> funzionamento<br />
<strong>Lo</strong> standard <strong>JPEG</strong> prevede quattro <strong>di</strong>stinte modalità <strong>di</strong> funzionamento:<br />
• Sequenziale (con DCT, con <strong>per</strong><strong>di</strong>ta);<br />
• Progressiva (con DCT, con <strong>per</strong><strong>di</strong>ta);<br />
• Senza Per<strong>di</strong>ta;<br />
• Gerarchica (con o senza DCT, con o senza <strong>per</strong><strong>di</strong>ta).<br />
3.2 Dai coefficienti tricromatici del sistema <strong>di</strong> riferimento colorimetrico NTSC, i.e. RN ,GN ,BN , <strong>la</strong> trasformazione in luminanza/crominanza<br />
si ottiene nel modo seguente:<br />
Y =0.299 · RN +0.587 · GN +0.114 · BN<br />
CR = RN − Y<br />
CB = BN − Y<br />
;<br />
RN = CR + Y<br />
BN = CB + Y<br />
GN = Y − 0.299 · RN − 0.114 · BN<br />
0.587<br />
(3.1.1)