Più magri e leggeri, ma il trucco funziona

Marzo 2009. Le prestazioni delle tecniche di compressione video dipendono dal numero di elementi ridondanti contenuti nei dati presenti nell'immagine, così come dal tipo stesso di compressione adottata per codificarla.

Attraverso gli schemi pratici di codifica otteniamo un prevedibile bilanciamento tra l'alta compressione con sufficiente qualità e la complessità delle modifiche che il sistema deve necessariamente subire.

Per quanto riguarda lo sviluppo degli algoritmi di compressione del sistema Mpeg, prevedere la valutazione delle capacità della tecnologia VLSI (Very Large Scale Integration), considerata lo stato dell'arte, è stato molto importante per il ciclo vitale dello standard. In base ai requisiti richiesti dalle applicazioni, possiamo considerare sia una codifica senza perdite (lossless) sia una con perdite (lossy) dei dati video.

Lo scopo della codifica senza perdite (lossless) è di ridurre la quantità di dati per consentirne la conservazione o la trasmissione, preservando tuttavia la qualità delle immagini originali: la qualità delle immagini decodificate deve, cioè, corrispondere a quella delle immagini prima della codifica.

Al contrario, la codifica con perdite (lossy), prevede di raggiungere un certo bit-rate, preventivamente impostato, per l'immagazzinamento e la trasmissione dei segnali. Importanti applicazioni utilizzano la trasmissione di segnali video sui canali di comunicazione con larghezza di banda limitata o addirittura povera, ma con un'efficiente memorizzazione dei dati.

Nelle applicazioni lossy l'alta compressione del segnale è ottenuta degradando la qualità del video, tanto che la qualità oggettiva dell'immagine decodificata risulterà impoverita, se comparata a quella originale prima della codifica, fino ad arrivare al classico “squadrettamento”.

Minore è il bit-rate richiesto per quel canale, più alta sarà la compressione necessaria per le informazioni video, e più visibili risulteranno in genere gli artefatti generati dalla codifica. L'obbiettivo principale delle tecniche di codifica lossy è di preservare quanto più possibile la qualità dell'immagine per un dato bit-rate, subordinato però a criteri di ottimizzazione sia oggettivi sia soggettivi delle informazioni trattate.

Degrado e immagini complesse
Il degrado dell'immagine dipende dal livello di complessità o dal tipo di scena di cui fa parte, come pure dalla complessità della tecnica di compressione utilizzata.
Le immagini di semplice struttura e caratterizzate da una bassa frequenza nei cambi di scena possono essere ricostruite senza visibili correzioni del segnale, anche con una tecnica di compressione leggera.

La codifica video Mpeg si riferisce a una considerazione statistica di situazioni e comportamenti comuni.
Le sequenze video contengono abitualmente delle ridondanze statistiche, sia in senso spaziale sia in senso temporale.
La proprietà statistica basilare su cui si basano le tecniche di compressione Mpeg è l'intercorrelazione tra i pixel, inclusa la considerazione del semplice movimento correlato tra fotogrammi consecutivi.

Tuttavia, si considera che le caratteristiche di un pixel di una certa immagine possano essere predette dai pixel vicini all'interno dello stesso fotogramma, utilizzando la codifica “intra-frame”, o da quelli di un fotogramma contiguo, utilizzando quella “inter-frame”.

Intuitivamente appare chiaro che in alcune circostanze, per esempio durante i cambi scena di una sequenza video, la correlazione temporale tra i pixel di fotogrammi contigui è ridotta o addirittura nulla, nel caso la scena successiva rispetto a quella considerata non presentasse alcuna analogia.
In questo caso le tecniche di codifica “inter-frame” sono state adattate a esplorare la correlazione spaziale per raggiungere un'efficiente compressione dei dati.

Grafico 1. Nell'Mpeg si seleziona un certo numero di fotogrammi (group of pictures) divisi in macroblocchi, ciascuno dei quali contenente quattro blocchi: si effettua poi una predizione sul movimento dei pixel che compongono ciascun blocco

Scansione spaziale dei pixel
Gli algoritmi di compressione Mpeg impiegano tecniche di codifica con Trasformata a Coseno Discreto (DCT - Discrete Cosine Transform) sui blocchi di immagini composti da 8x8 pixel, al fine di effettuare una scansione spaziale tra pixel contigui nell'ambito della stessa immagine.

Tuttavia, se la correlazione tra i pixel considerati in fotogrammi contigui è alta, per esempio nel caso in cui due frame consecutivi abbiano contenuti simili o uguali, risulta più utile l'impiego di tecniche di codifica “inter-frame” DPCM a predizione temporale, cioè la predizione del moto compensata tra i fotogrammi.

Un esempio delle proprietà della correlazione “inter-frame” tra pixel e pixel è quello di una certa immagine, disegnata secondo un modello relativamente semplice e tuttavia abbastanza fedele rispetto ad un certo andamento statistico e più precisamente notiamo l'alta correlazione esistente tra due pixel adiacenti e il progressivo calo di questa stessa correlazione man mano che la distanza tra i due pixel aumenta.

Mpeg-4, ricca famiglia di compressori
Mpeg-4 è il nome dato a un insieme di standard per la codifica dell'audio e del video digitale sviluppati dall'ISO/IEC Moving Picture Experts Group (Mpeg). L'Mpeg-4 è utilizzato principalmente per la videotelefonia, per la televisione digitale, per la trasmissione di filmati via Web e per la memorizzazione su supporti CD-ROM.

Mpeg-4 supporta tutte le caratteristiche degli standard Mpeg-1 e Mpeg-2 oltre a tutta una serie di nuove caratteristiche come la gestione tridimensionale degli oggetti (tramite un'estensione del VRML).
I flussi audio e video vengono trattati dallo standard Mpeg-4 come oggetti che possono essere manipolati e modificati in tempo reale. Lo standard supporta caratteristiche specificate da terze parti, come una particolare gestione interattiva dei contenuti.

La maggior parte delle caratteristiche del codec Mpeg-4 sono opzionali e quindi la loro implementazione è lasciata alla discrezione dello sviluppatore. Per permettere un'elevata interoperabilità, nel formato sono stati inclusi i concetti di profilo e di livello, e di conseguenza i vari lettori Mpeg-4 potranno essere suddivisi a seconda dei profili e dei livelli supportati.

Grafico 2. La struttura dei dati in uno stream Mpeg-2

Grafico 3. Le applicazioni del formato Mpeg-4 sono molteplici, come mostrato dalla figura

Così funziona l'algoritmo
Il concetto alla base del codec Mpeg-4 è la “quantizzazione”, il processo che permette mediante uno specifico algoritmo di compressione, di trasmettere solamente la variazione dell'immagine. Allo stato dell'arte, infatti, esistono due modi per eseguire questa operazione: I-frame e P-frame.

Il primo codifica l'immagine senza una referenza alla precedente (refresh puro), è più preciso ma più pesante per le applicazioni via rete. Il secondo esegue una compensazione nella variazione del movimento (motion-compensated frames) analizzando la differenza di immagine tra due frame correnti. La parte statica non è ritrasmessa e non cambia tra un quadro e l'altro.

Pubblica i tuoi commenti