Vés al contingut

Context-adaptive variable-length coding

De la Viquipèdia, l'enciclopèdia lliure
Aquesta és una versió anterior d'aquesta pàgina, de data 23:02, 8 des 2009 amb l'última edició de Elysabet (discussió | contribucions). Pot tenir inexactituds o contingut no apropiat no present en la versió actual.

Les sigles CAVLC corresponen a les inicials de Context-Adaptive Variable Length Coding, que traduït de l'anglès significa codificació adaptativa segons el context de longitud variable. L'objectiu d'aquesta codificació és processar la informació que es vol transmetre o emmagatzemar en un dispositiu de forma que ocupi el mínim espai possible. D'aquesta manera, amb l'ús de la CAVLC serà possible transmetre una imatge en menys temps o fer que ocupi menys espai en el dispositiu d'emmagatzematge. Una característica important d'aquesta codificació és que no té pèrdues i per tant es podrà recuperar la informació original a l'aplicar el procés invers.

La codificació CAVLC s'utilitza en l'estàndard de codificació de vídeo MPEG-4 (part 10), per codificar i comprimir la informació que resulta de l'aplicació de la transformació i quantificació d'un bloc de luminància de tamany 4x4 píxels.

Resum

CAVLC és un mètode de codificació de font, que pertany a la família dels codificadors entròpics. Un codi entròpic és aquell que substitueix les paraules codi d'una font d'informació per altres amb una longitud proporcional a la freqüència de dita paraula. L'objectiu dels codis font es tractar d'eliminar tota la informació que sigui redundant per reduir al màxim la quantitat de dades a transmetre. Un exemple d'aquest tipus de codis seria l'UVLC.

Característiques de la informació a codificar

Abans de descriure el funcionament del CAVLC resulta interesant fer un petit estudi de les característiques de la informació que es va a codificar. La descripció d'aquest tipus de mètode de codificació es basarà en l'àmbit de codificació de vídeo segons l'estàndard MPEG-4, part 10.

La unitat elemental és un bloc de píxels d'un tamany determinat. Així doncs, de forma simplificada, el pas previ a la codificació és la divisió del quadre o camp que omple en bloc. Per simplificar l'explicació considerarem que codificarem una imatge en escala de grisos, és a dir, sense color. En l'estàndard MPEG-4 s'especifica que el tamany d'aquests blocs siguin de 4x4 píxels, amb això es formaran blocs de 16 píxels. Cadascun d'aquest píxels tindran assignats un valor comprés entre 0 i 255 de forma que:

  • si el píxel és de color negre s'assignarà el valor 0
  • si és de color blanc s'assignarà el valor 255
  • si el color del píxel és un to de gris, se li assignarà un valor comprés entre 1 (gris més obscur) i 254 (gris més clar).

Si fóssim a transmetre aquest valors tal qual, podríem enviar, per exemple, un darrere l'altre llegint el bloc per files. La seqüència de bits resultants sería la següent:

Bloc de luminància 4x4 sense aplicar transformació
Seqüència resultant: 120,63,12,24,110,8,43,10,0,11,33,98,55,12,21,0