# Qpel

El terme Qpel (quarter pixel) significa quart de píxel i es pren com una unitat de subpixelació equivalent a un quart d'un píxel estandard. S'ha utilitzat i s'utilitza en molts estandards moderns de codificació com per exemple MPEG-4 ASP i H.264.

## Descripció

Qpel és un concepte utilitzat per definir la precisió amb què actuen els mètodes d'estimació i/o compensació de moviment en la codificació de vídeo, és una unitat de precisió.
La primera unitat de subpixelació que es va utilitzar és l'anomenada half pixel. Com el seu nom indica, aquesta unitat de precisió equival al valor de mig píxel. Va ser utilitzada per primer cop a l'estàndard de codificació MPEG-2.
La motivació principal per la creació i utilització d'unitats de subpixelació és l'augment de la qualitat en la definició del vídeo codificat. Mitjançant la creació de subpíxels la recerca dels blocs (block matching) és més exhaustiva, ja que els desplaçaments són més petits perquè tenim més posicions de recerca i aquest fet ens proporciona resultats més acurats, obtenim un decrement dels bits residuals.
Aquesta millora en la definició de la imatge, però, no és l'únic canvi. Degut a la creació d'aquests nous valors (inexistents en la imatge original) es produeix un increment considerable en el cost dels bits necessaris per a la codificació dels vectors de moviment resultants de realitzar la recerca (''block mathcing'') durant el mètode d'estimació o codificació de moviment. A més el cost computacional també augmenta, ja que es té un nombre més gran de blocs per avaluar. Inicialment els vídeos codificats amb vectors de moviment de precisió de quart de píxel requerien gairebé el doble de la potència de càlcul.

## Procés d'obtenció

L'obtenció dels nous valors de píxel es duu a terme, normalment, a partir d'interpolacions. Amb aquest mètode s'obtenen submostres dels píxels originals.
La interpolació és el resultat de crear un nou valor que se situarà entre dos d'existents. El càlcul d'aquest nou valor es pot fer amb qualsevol procés. En el cas de la subpixelació es busquen nous valors de píxels que tinguin relació espacial amb els seus veïns, és a dir, que segueixin una progressió coherent amb els valors dels seus píxels veïns.
Els dos tipus d'interpolacions més utilitzades són la interpolació bilineal i la bicúbica. Partint d'un píxel original la interpolació bilineal consisteix a observar els 4 píxels veïns i realitzar la mitjana entre els seus valors. La interpolació bicúbica comporta una millora a la bilineal, ja que aquesta te en compte els 16 píxels adjacents al píxel original.
En la següent imatge es mostren les diverses posicions de recerca resultants de l'obtenció de noves mostres equivalents a mig i un quart de píxel a partir de les mostres dels píxels originals:
* Els rectangles equivalen a les posicions dels píxels originals.
* Les el·lipses equivalen a les posicions dels half pixels.
* Els triangles equivalen a les posicions dels quarter pixels.
Un exemple pràctic és l'estàndard VC-1 (també SMPTE 421M) que utilitza la interpolació bicúbica per obtenir els quarter píxels. L'estàndard H.264 va ser el primer a definir una precisió d'un quart de píxel per defecte, en aquest estàndard s'utilitza un filtre 6-tap per trobar els valors equivalents a mig píxel (half píxels) i un cop obtinguts s'aplica unainterpolació bilineal per aconseguir les mostres que permetran aplicar la precisió de quart de píxel. Degut a la simplicitat de la filtració bilineal la interpolació amb la que s'obtenen els quarter píxels necessita un temps considerablement petit pel càlcul que ha de realitzar la CPU.

## Alguns formats de vídeo que accepten Qpel

* H.264/AVC
* MPEG-4 ASP
* VC-1
* VP7