# Inter-frame

Inter-frame prediction és una tècnica que explota la correlació temporal entre frames consecutius per poder codificar amb el mínim nombre de bits possibles. Per codificar, el que es fa és predir un frame a partir de frames anteriors i/o futurs, aplicant sobre aquests un moviment dictat per uns vectors de moviment. Aquesta tècnica ja es feia servir en anteriors estàndards com MPEG-2.

## Context

H.264 és un estàndard de codificació de vídeo que substituirà el MPEG-2. H.264 és una part de MPEG-4 (part 10) que només s'ocupa de la part de codificació de vídeo.

## Millores de la predicció inter-frame en H.264

Les millores més importants d'aquesta tècnica en H.264 respecte a anteriors estàndards són:
* Particions de bloc més flexibles
* Resolució de fins a un quart de pixel en la compensació de moviment
* Múltiples referències
* Direct/Skip Macroblock millorat

### 1) Particions de bloc més flexibles

Particions dels blocs de luminància de 16x16 (MPEG2), 16x8, 8x16, 8x8; en aquest últim cas se'ns permet dividir-ho en nous blocs de 4x8, 8x4, 4x4.
El frame a codificar es divideix en blocs de mida igual a algun dels mostrats a la figura. La predicció de cada bloc seran blocs del mateix mida de les imatges referència aplicant-s'hi un cert desplaçament.

### 2) Resolució de fins a un quart de pixel en la compensació de moviment

Resolució dels vectors de moviment de fins a un quart de píxel (MPEG-2 permetia una resolució de ½ píxel). Això vol dir que podem buscar un bloc del frame a codificar en altres frames de referència o podem interpolar píxels que no existeixen per a trobar blocs que s'adaptin encara millor al bloc actual. Quan el vector de moviment és un nombre d'unitats enter de mostres significa que el bloc compensat en moviment el podem trobar en les imatges referència. Si el vector de moviment no és enter, la predicció l'obtindrem a partir de píxels interpolats aplicant un filtre interpolador en la direcció horitzontal i vertical.
Els pixels a les half-pixel posicions s'obtenen aplicant un filtre de longitud 6:
H=[1 -5 20 20 -5 1]
Per exemple:
b=A - 5B + 20C+20D+E
Els píxels a les quarter-pixel posicions s'obtenen per interpolació bilineal.

### 3) Múltiples referències

Múltiples referències per estimar el moviment. Permet buscar la millor referència en els 2 possibles buffers (List0 per a imatges passades, List1 per a imatges futures) que tenen fins a 16 frames.
La predicció del bloc es faria mitjançant una suma ponderada dels blocs de les imatge referència. Permet millorar la qualitat de la imatge en escenes on hi ha canvis de pla, zooms, o quan es descobreixen nous objectes en la seqüència.

### 4) Direct/Skip Macroblock millorat

Els modes Skip Mode i Direct Mode s'usen molt sovint, sobretot amb les B-pictures, i permeten reduir molt la taxa de bits a codificar. Ens referirem a aquests modes quan codifiquem un bloc sense enviar error residual ni vectors de moviment, el codificador només senyalarà que es tracta d'un Skip macroblock. El decodificador deduirà el vector de moviment del bloc codificat amb Direct/Skip Mode a partir d'altres macroblocks ja decodificats.
Hi ha dos modes de deduir el moviment:

#### Temporal

    Utilitza el vector de moviment del bloc del frame de List 1 situat a la mateixa posició per deduir el vector de moviment. El bloc de List 1 tindrà com a referència un bloc de List 0. Dedueix els vectors MV1,MV2 a partir de MV aplicant les ponderacions temporals necessàries.

#### Espacial

    Prediu el moviment a partir dels macroblocks veïns dins del mateix frame. Un possible criteri seria copiar el vector de moviment d'un bloc veí.
Aquests modes s'utilitzen en zones de la imatge uniformes on no hi ha gaire moviment.
Els blocs de color rosa corresponen a blocs codificats amb Direct/Skip Mode. Com es pot observar s'utilitzen molt sovint, sobretot amb les B-pictures.

## Vegeu també

* Còdec de vídeo
* Relació senyal-soroll
* Compressió de dades

## Referències

* Software H.264: http://iphome.hhi.de/suehring/tml/download/
* T.Wiegand, G.J. Sullivan, G. Bjøntegaard, A.Luthra: Overview of the H.264/AVC Video Coding Standard. IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, July 2003 (referència en anglès)

## Enllaços externs

* Tutorial de compresión de video MPEG-4 AVC en anglès
* Tutorial de MPEG-4 de OKI Arxivat 2007-09-27 a Wayback Machine. en anglès
* Noticia sobre MPEG-4 AVC Arxivat 2007-09-30 a Wayback Machine. en francès