Compressione immagini Torna alla pagina Università Avanti

08/12/2000

Vediamo due tecniche di compressione di immagini:

JPEG

DWT, o codifica a sottobande

 

JPEG

Lo schema generale di un compressore di dati con perdite, come sono ad esempio le immagini, consta di tre passaggi: 

  1. Trasformazione lineare

  2. Quantizzazione

  3. Codifica entropica

Lo standard JPEG è un sistema nato per la compressione di immagini fisse. Utilizza una tecnica non molto sofisticata, ma la cui semplicità ne ha decretato il successo. JPEG non è uno standard unico, qui analizzeremo il modo sequenziale. 

In questo contesto ci limiteremo ad analizzare immagini in bianco e nero codificate su 8 bit/pixel, dette anche a 256 livelli di grigio. Ciò significa che l'immagine è rappresentata come una matrice i cui coefficienti rappresentano i pixel e vanno da 0 a 255 (0 corrisponde al nero 255 al bianco).

Trasformazione lineare

La trasformazione lineare è il primo passo del compressore. Serve a riportare il segnale in un dominio nel quale l’operazione di quantizzazione è efficiente.

La trasformata K (trasformata Karhunen Loéve) è una trasformata lineare basata sull’idea di diagonalizzare la matrice di autocorrelazione che si estrae dalla matrice originaria (l'immagine). In questo modo si riesce a scorrelare i campioni che per ovvi motivi nella matrice di partenza sono strettamente legati gli uni agli altri, in quanto l'immagine è un oggetto uniforme. In questo modo si concentra l’energia su un numero inferiore di coefficienti. Tale soluzione, si può dimostrare, è ottima per quello che riguarda il fattore di compressione, ma ha dei limiti precisi che sono nella complessità e nella dipendenza dal vettore di dati.

La trasformazione DCT bidimensionale è l’approssimazione maggiormente utilizzata della trasformata K.

La DCT utilizzata da JPEG è data dalla seguente espressione:

        per k=1,…,N-1

        per k=0

Il limite principale della DCT sta nella necessità di segmentare (blocchettizzare) i dati, in modo da non introdurre eccessivi ritardi.

Il primo passo di JPEG è quello di effettuare la DCT su blocchetti di 8X8 pixel. La scelta della dimensione del blocchetto è il compromesso tra due necessità opposte:

  1.  Efficienza codifica

  2. Velocità computazionale

 

La prima di queste esigenze richiederebbe la manipolazione di blocchi grandi, in modo da massimizzare la soppressione della correlazione, di contro maggiori sono le dimensioni dei blocchetti e più lungo sarà il tempo di elaborazione. Bisogna però considerare che tra un blocchetto e l’altro è presente un effetto di troncamento, più grande è la blocchettizzazione e più fastidiosa, a livello soggettivo, è la sensazione di quadrettatura dell’immagine. In effetti questo errore di bordo è minimo a livello di energia, ma è molto accentuato a livello visivo-soggettivo. 

La DCT viene calcolata prima per le colonne e quindi per le righe.

La figura 1 (purtroppo per chiari motivi è compressa .jpg) riporta un’immagine di esempio che nell'originale era di 256x256 pixel, la figura seguente ne mostra i coefficienti della DCT.

Si noti che i coefficienti di figura 2 non hanno apparentemente nessuna somiglianza con l’immagine di partenza. Riordinando però la matrice dei coefficienti, seconde le stesse frequenze spaziali, allora la DCT può essere interpretata in termini di scomposizione a banda assoluta costante.

La figura 3 riporta la matrice dei coefficienti riordinata per frequenze spaziali, si noti come la sottomatrice 8x8 in alto a sinistra, che si riferisce ai coefficienti DC che operano sulle basse frequenze, rappresenta una versione a minore risoluzione dell'intera immagine. Questo ci dice che la DCT non elimina completamente la correlazione tra i vari blocchetti.

Chiarisco ora cosa si intende con bassa frequenza in una immagine. Una porzione di immagine è a bassa frequenza quanto più è omogenea, ad esempio un muro a tinta unita. Siamo in presenza di alta frequenza quando ci sono interruzioni, ad esempio i rami di un albero spoglio che si stagliano nel cielo. Si noti che si può parlare allora di frequenza in orizzontale o in verticale, in quanto l'immagine viene analizzata secondo queste due direzioni.

Curiosità, il pappagallo in foto è una Calopsite maschio

figura 1

Coefficienti della DCT

figura 2

Coefficiente della DCT riordinati

figura 3

Torna alla pagina Università Avanti