TopGlossario tecnicoCompressione

Compressione

Questioni di base

 

I dati originali che rappresentano immagini e sequenze visive registrate in formato RGB contengono informazioni eccessive e trascurabili. Le informazioni eccessive possono essere ripristinate sulla base di altri dati concernenti la stessa immagine. Invece, le informazioni trascurabili sono informazioni la cui cancellazione non comporta alcun deterioramento notevole dell'immagine. La struttura di algoritmi di compressione consente la valutazione automatica delle informazioni trascurabili che causano distorsioni quasi non visibili a un osservatore. Il livello di compressione raggiunto dipende dal contenuto dell'immagine e anche da una perdita ammissibile della qualità dell'immagine. Il seguente grafico (fig. 1) presenta un rapporto teorico tra il flusso di dati e la distorsione.

 

Fig. 1 Distorsione dell'immagine in funzione della dimensione del flusso di dati

 

A - Flusso di dati B - Distorsione

La compressione si divide in compressione intraframe e interframe. Nel primo caso, è codificata l'intera immagine, indipendentemente da altri fotogrammi della sequenza. Nel secondo caso, la codifica dipende dai fotogrammi precedenti e successivi.

 

Rappresentazione dei colori

 

Solitamente, vengono compresse le immagini a colori. Nei monitor, le immagini sono ottenute miscelando i tre colori primari: rosso, verde e blu (RGB). Ogni pixel è rappresentato dalla somma di questi tre componenti. Purtroppo, i dati salvati così hanno un enorme volume. A causa della natura dell'occhio umano, è meglio salvare i dati in forma di luminanza Y e due crominanze differenziali Cr e Cb, dove:

 

Y = 0.299R + 0.587G + 0.114B,
Cb = 0.564(B-Y), Cr = 0.713(R-Y). 

Il vantaggio è che l'occhio umano è più sensibile alla variazione della luminosità dei punti rappresentati dalla luminanza ed è meno sensibile alla variazione del colore rappresentata dalla crominanza. Il segnale di crominanza può pertanto essere oggetto di decimazione. Nei sistemi televisivi analogici, come PAL, SECAM o NTSC, è stata utilizzata questa proprietà e circa la metà della banda è stata usata per la trasmissione del segnale di crominanza, senza perdere in modo notevole la qualità dell'immagine.

 

Compressione intraframe

 

L'essenza delle tecniche contemporanee di compressione intraframe è il fatto che lo spettro del segnale visivo è fortemente focalizzato attorno alle frequenze più basse. Basta quindi calcolare lo spettro del segnale e salvare una piccola quantità di coefficienti di pertinenza (per lo più con frequenze più basse), gli altri invece (per lo più con alte frequenze) possono essere registrati su una quantità di bit veramente bassa.

 

In pratica, le immagini vengono divise in blocchi di 8x8 punti e si calcola la trasformata del coseno (trasformata di Fourier modificata). La sequenza numerica risultante è divisa da una tabella di quantizzazione speciale. A seguito di questa operazione si ottengono molti zeri ripetuti. La rappresentazione ottenuta è registrata nelle coppie seguenti: numero di zeri, valore del coefficiente diverso da zero. I risultati ottenuti sono registrati con codici con bit di lunghezza variabile. Ciò significa che alle coppie più comuni sono assegnati i codici con meno bit, mentre alle coppie che si verificano meno frequentemente sono assegnati i codici con più bit.

 

Compressione interframe

 

L'essenza della codifica interframe consiste nell'utilizzare il fatto che in una sequenza video il fotogramma precedente e quello successivo sono generalmente molto simili. Basta quindi inviare l'errore di predizione, cioè, la differenza tra l'immagine e la sua predizione. Nel caso più semplice, si prevede che l'immagine successiva è identica a quella precedente.

 

In encoder più avanzati, la compensazione del movimento è utilizzata per la predizione. Per i quadrati 16x16 dei campioni di luminanza, vengono ricercati i quadrati più simili nell'immagine successiva. Le differenze della localizzazione dei quadrati sono i vettori di movimento. Con l'uso di compensazione del movimento o senza di essa, a seconda dell'encoder, l'immagine anticipata viene generata e confrontata con l'immagine reale. La differenza, codificata come nella codifica intraframe, viene inviata al ricevitore.

 

Fig. 2 Regola di predizione del movimento nella codifica interframe

 

A - Blocco di 16x16 pixel nell'immagine precedente B - Blocco più simile di 16x16 pixel nell'immagine attuale