MPEG

Compressione: Tipi di frames


Tutti i discorsi fatti fino ad ora, sono relativi alla compressione dei singoli fotogrammi ma non tengono conto di un fattore fondamentale che è alla base della compressione MPEG. La grande quantità di dati ridondanti in un video è rappresentata dai pixel che si ripetono nei fotogrammi successivi mantenendo inalterata o quasi la loro posizione. Partendo da questa considerazione, l'MPEG cerca di codificare solamente le differenze tra un fotogramma ed il successivo risparmiando in questo modo una considerevole quantità di dati.

L'MPEG suddivide i fotogrammi in 2 differenti tipi:

I frames di tipo I (detti Intraframes) che vengono gestiti e compressi in maniera autonoma e non sfruttano i dati dei fotogrammi precedenti o successivi.

I frames di tipo P e B (Predicted frames e Bidirectionally predicted frames) che contengono informazioni relative alle differenze tra i frames. Questo tipo di frame ovviamente non ha significato se preso singolarmente ma deve sempre essere successivo ad un I frame che contiene il fotogramma di partenza.

I frames di tipo I vengono compressi nel modo seguente:
  • Il frame viene diviso in macroblocchi di 16x16 pixel
  • Ogni macroblocco viene suddiviso in miniblocchi di 8x8 pixel
  • Per ogni miniblocco viene effettuata la Discrete Cosine Transform
  • Mediante la quantizzazione viene effettuata la vera e propria compressione del frame
Per quanto riguarda invece i frames di tipo P e B ecco cosa avviene:
  • Il frame viene diviso in macroblocchi di 16x16 pixel
  • Mediante la Motion compensation viene cercato nel precedente frame un blocco 16x16 il più possibile simile a quello in elaborazione.
  • Una volta trovato il blocchetto, viene calcolata la differenza tra i due e memorizzata come matrice di 16x16 pixel su cui procede come visto in precedenza per i frames di tipo I
La sequenza in cui i frames I, P e B sono posizionati è detta GOP (Group Of Pictures) e solitamente è la seguente: IBBPBBPBBPBB.