Aller au contenu

Context-adaptive binary arithmetic coding

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 15 juillet 2010 à 16:10 et modifiée en dernier par Stenzzz (discuter | contributions) (Création de la page CABAC). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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.

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 traite 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

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

Annexes

Articles connexes

Lien externe