Tipi di fotogramma nella compressione video

Nel campo della compressione video un fotogramma può essere compresso utilizzando diversi algoritmi, ciascuno con specifici pro e contro, focalizzati in particolare sul livello di compressione. In relazione ai fotogrammi, questi algoritmi sono chiamati tipi di fotogramma. I tre tipi di fotogramma più comuni utilizzati in diversi algoritmi di compressione video sono i cosiddetti I-frame, P-frame e B-frame, i quali si differenziano per le seguenti caratteristiche:

  • il tipo I è il meno compresso, ma non richiede altri fotogrammi per essere decodificato;
  • il tipo P può utilizzare dati dal fotogramma precedente per essere decompresso ed è più compresso del tipo I;
  • il tipo B può usare fotogrammi precedenti e successivi al fine di ottenere un livello più alto di compressione.

Introduzione

modifica
 
Una sequenza di fotogrammi video, che consiste in due fotogrammi-chiave (I), un fotogramma predittivo (P) e un fotogramma predittivo bidirezionale (B).

Esistono tre tipi di fotogrammi usati nella compressione video: I‑frame, P‑frame e B‑frame.

Un I‑frame, dall'inglese 'Intra-coded frame', consiste in una immagine completamente descritta, allo stesso modo di un file immagine non in movimento. I P‑frame e B‑frames contengono invece solo parte dell'informazione sull'immagine e di conseguenza necessitano di meno spazio su disco rispetto agli I‑frame. Ciò migliora il rapporto di compressione.

Un P‑frame, 'Predicted frame', contiene solo la parte dell'immagine che è cambiata rispetto al fotogramma precedente. Ad esempio, in una scena in cui un'auto si muove su uno sfondo fisso, solo il movimento della macchina necessita di essere codificato. Il codificatore non ha bisogno di scrivere in memoria i pixel che riguardano lo sfondo fisso, risparmiando in termini di spazio. I P‑frame sono anche noti come delta‑frame.

Un B‑frame, 'Bi-predictive picture', risparmia ancora più spazio sfruttando la differenza del fotogramma corrente rispetto sia al fotogramma precedente che a quello successivo.

I fotogrammi utilizzati come riferimento per la predizione di altri sono chiamati fotogrammi di riferimento. Nei software di elaborazione video localizzati in italiano è presente a volte con il termine corrispondente in lingua inglese, Key frame.

Secondo quanto descritto, gli I-frame non utilizzano nessuna predizione, i P-frame usano un solo fotogramma di riferimento (o al più un fotogramma per ciascuna regione) e i B-frame usano un segnale di predizione che consiste nella media (possibilmente pesata) di due fotogrammi di riferimento.

Sezioni

modifica

Nel più recente standard internazionale, noto come H.264/MPEG-4 AVC, la granularità alla quale viene stabilito il tipo di predizione è stata portata ad un livello più basso chiamato livello di sezione (slice level) della rappresentazione. Una sezione è una particolare sezione spaziale del fotogramma che è codificata separatamente da ogni altra regione nello stesso fotogramma. Secondo questo standard, invece di parlare di I-frame, P-frame e B-frame, ci si riferisce a I-slice, P-slice, e B-slice.

Macroblocchi

modifica

Tipicamente, i segmenti sono spazialmente suddivisi in macroblocchi, e uno specifico tipo di predizione può essere applicato ad un macroblocco piuttosto che all'intera immagine, così che:

  • gli I-frame possono contenere solo macroblocchi non predittivi;
  • i P-frame possono contenere macroblocchi predittivi e non predittivi;
  • i B-frame possono contenere macroblocchi predittivi, non predittivi e bidirezionalmente predittivi;

Inoltre, nella codifica H.264, il fotogramma può essere suddiviso in sequenze di macroblocchi chiamate sezioni(slices), e invece di usare fotogrammi di tipo I, B e P, il codificatore può scegliere uno stile di predizione diverso per ogni sezione. Anche in H.264 è possibile trovare diversi tipi di fotogramma/sezione:

  • gli SI‑frame/slice (Switching I) facilitano la commutazione (switching) tra stream codificati e contengono macroblocchi SI (un tipo particolare di macroblocchi non predittivi).
  • gli SP‑frame/slice (Switching P) facilitano la commutazione (switching) tra stream codificati e contengono macroblocchi P e/o I;
  • gli estimatori di moto multi-fotogramma contengono fino a 16 fotogrammi (o 16 coppie di fotogrammi interlacciati) di riferimento.

Gli estimatori di moto multi-fotogramma consentono di aumentare la qualità del video a parità di compressione. I fotogrammi SI ed SP migliorano la resistenza agli errori, tanto da rendere possibile in alcuni casi di recuperare, ad esempio, settori danneggiati di DVD video.