Context-adaptive binary arithmetic coding

Context-adaptive binary arithmetic coding

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 sans perte.

Sommaire

Algorithme

Le CABAC possède de nombreux modes de probabilités pour différents contextes. Tout d'abord, il convertit tous les symboles non-binaires en symboles binaires. Puis, pour chaque bit, le codeur sélectionne le modèle de probabilité le plus adapté et utilise les informations des éléments voisins pour optimiser l'estimation de la probabilité. Le codage arithmétique est ensuite appliqué pour compresser les données résultantes.

Application dans la norme H.264

Dans la norme H.264, il existe deux codeurs entropiques qui se distinguent des autres normes vidéo : CAVLC ((en) Context-adaptive variable-length coding) et CABAC ((en) Context-adaptive binary arithmetic coding). Ce dernier n'est pas utilisé dans tous les profiles de codage définis par la norme : il est seulement supporté dans le profile Main et des profiles supérieurs, c'est-à-dire supérieurs par le débit qu'ils autorisent. La raison est due à la complexité du CABAC qui nécessite une grande quantité de ressources pour traiter et décoder les données, en comparaison avec des algorithmes similaires. En comparaison, le CAVLC est moins exigeant au niveau des ressources, c'est pourquoi il est présent sur tous les profiles et les plus petites plateformes (par exemple les mobiles).

Il est également difficile de paralléliser les différents traitements à cause de sa dépendance avec les autres contextes précédemment calculés.

Mais malgré sa complexité, il fournit de meilleurs résultats de compression que la plupart des algorithmes d'encodage utilisés dans l'encodage vidéo et ce qui fait de lui, l'un des premiers avantages du schéma d'encodage de la norme H.264. En effet, son gain par rapport à CAVLC est d'environs 10% dans des conditions similaires.

Références

Annexes

Articles connexes

Lien externe


Wikimedia Foundation. 2010.

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

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • 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 — 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

  • 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 — 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… …   Wikipédia en Français

  • Arithmetic coding — is a method for lossless data compression. Normally, a string of characters such as the words hello there is represented using a fixed number of bits per character, as in the ASCII code. Like Huffman coding, arithmetic coding is a form of… …   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

  • 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

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

  • AVC1 — 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

Share the article and excerpts

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