Context-adaptive variable-length coding

Context-adaptive variable-length coding

Le Context-adaptive variable-length coding ou CAVLC est une forme de codeur entropique à longueur variable utilisé dans la norme vidéo H.264 ou MPEG-4 AVC. Il fait partie des techniques de compression sans perte, c'est-à-dire qu'à partir du code binaire généré par le codeur, il est possible de faire l'opération inverse et de retrouver les informations d'entrée sans aucune différence.

Sommaire

Principe

Le CAVLC est un codeur adaptatif à longueur variable basé sur le codage de Huffman. Il s'agit d'un codage souvent représenté en arbre dans lequel chaque symbole est assigné à un code plus ou moins long selon sa probabilité d'apparition. Un code sera long si sa probabilité est faible. Le défaut du codage de Huffman est que le nombre de bits qu'il attribue pour chaque symbole est entier et donc il est souvent loin du codage optimal. Par exemple, si on considère une probabilité de 0.99%, le meilleur codage selon l'entropie (eq.1) est de 0.015 bits or le symbole assigné sera codé sur 1 bit (au minimum).

Rappel de la formule du calcul de l'entropie:

H = − log(P), où P est un réel compris compris entre 0 et 1 (la probabilité) (eq.1)

Applications

Dans la norme H.264, son rôle est d'encoder les coefficients des blocs résiduels de l'image à encoder après les étapes de transformée de Fourier discrète, de quantification et de ré-ordonnancement (établi par un zigzag). Il s'agit de la dernière étape d'encodage qui permet de créer le flux binaire. L'opération inverse est utilisé par le décodeur.

La norme H.264 possède également un deuxième codeur entropique mais de type arithmétique CABAC (Context-based adaptive binary arithmetic coding) qui est plus efficace d'un point de compression par rapport au CAVLC (environ 10% de gain en compression) mais qui demande beaucoup plus de ressources pour le décodage.

Le CAVLC est présent sur tous les différents profiles de la norme H.264 contrairement au CABAC qui est exclus des profiles baseline et extended.

Références

(en) E. G. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia, Chichester, John Wiley & Sons Ltd., septembre 2003 (ISBN 0-470-84837-5) 


Annexes

Articles connexes

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Context-adaptive variable-length coding de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Context-adaptive variable-length coding — (CAVLC) is a form of entropy coding used in H.264/MPEG 4 AVC video encoding. It is an inherently lossless compression technique, like almost all entropy coders. In H.264/MPEG 4 AVC, it is used to encode residual, zig zag order, blocks of… …   Wikipedia

  • Context Adaptive Variable Length Coding — CAVLC (Context adaptive Variable Length Coding) beschreibt eine kontextabhängige Lauflängenkodierung und ist eine Art der verlustfreien Entropiekodierung. Ein Einsatzgebiet von CAVLC ist bei der Videokomprimierung MPEG 4/Part10 (H.264/AVC). Das… …   Deutsch Wikipedia

  • Context-Adaptive Variable Length Coding — Las siglas CAVLC corresponden a las iniciales de Context Adaptive Variable Length Coding, que traducido del inglés significa codificación adaptativa según el contexto de longitud variable. El objetivo de esta codificación es procesar la… …   Wikipedia Español

  • Context-adaptive binary arithmetic coding — (CABAC) is a form of entropy coding used in H.264/MPEG 4 AVC video encoding. It is a lossless compression technique. It is notable for providing much better compression than most other encoding algorithms used in video encoding, and is one of the …   Wikipedia

  • Context-adaptive binary arithmetic coding — ou CABAC que l on peut traduire par codage arithmétique binaire à contexte adaptatif est un type de codeur entropique utilisé dans la norme de compression vidéo H.264 ou MPEG 4 AVC. Il s agit d un codeur arithmétique dont la compression est dite… …   Wikipédia en Français

  • Context Adaptive Binary Arithmetic Coding — CABAC (Context based Adaptive Binary Arithmetic Coding) beschreibt eine effektive Art der verlustfreien Komprimierung von Binärdateien. Der Referenz Algorithmus für CABAC wurde von der ITU T und der ISO/IEC im Zuge der Standardisierung des… …   Deutsch Wikipedia

  • Advanced Video Coding — H.264/MPEG 4 AVC ist ein Standard zur hocheffizienten Videokompression. Er wurde zunächst von der ITU (Study Group 16, Video Coding Experts Group) unter dem Namen H.26L entwickelt. Im Jahre 2001 schloss sich die ITU Gruppe mit MPEG Visual… …   Deutsch Wikipedia

  • Advanced Video Coding — H.264 Pour les articles homonymes, voir AVC. H.264, ou MPEG 4 AVC (Advanced Video Coding), est une norme de codage vidéo développée conjointement par l UIT T Q.6/SG16 Video Coding Experts Group (VCEG) ainsi que l ISO/CEI Moving Picture Experts… …   Wikipédia en Français

  • Unified Video Decoder — (рус. Унифицированный видео декодер; ранее называемый Universal Video Decoder  рус. Универсальный видео декодер; сокращённо  UVD)  аппаратный компонент (блок) графических процессоров производства американской компании AMD,… …   Википедия

  • Huffman coding — Huffman tree generated from the exact frequencies of the text this is an example of a huffman tree . The frequencies and codes of each character are below. Encoding the sentence with this code requires 135 bits, as opposed of 288 bits if 36… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”