Codage omega

Codage omega


Le codage omega ou codage omega d'Elias est un codage entropique inventé par Peter Elias et utilisé essentiellement en compression de données.

Le code omega produit est un code préfixe et universel.

Sommaire

Principe

Comme le codage gamma et le codage delta, le codage omega permet de coder tous les entiers naturels, à l'exception de zéro, sans qu'il y ait besoin de connaitre au préalable l'intervalle des valeurs à coder (contrairement, par exemple, au codage binaire de taille fixe, qui ne permet de coder que des nombres inférieurs à une borne supérieure fixée à l'avance).

Codage

Pour cela, le codage omega fait précéder la représentation binaire du nombre par sa longueur (en nombre de bits), comme le font les codages gamma et delta. Comme l'intervalle des valeurs pouvant être prise par cette longueur n'est pas non plus connu à l'avance, elle doit être codée avec un code préfixe. Contrairement au codage gamma qui utilise un codage unaire à cet effet, ou au codage delta qui utilise un codage gamma, le codage omega utilise un codage omega. Ce codage est donc un codage récursif.

En pratique, chaque représentation binaire est précédée de sa longueur moins un en codage omega (car une longueur nulle n'a pas de sens), et la représentation binaire de 1 (correspondant au nombre 1 ou à une longueur 2) est omise, car implicite (1 est donc le cas d'arrêt de la récursion). L'ensemble du code omega est suivi d'un 0 faisant office de séparateur, indiquant que la représentation binaire qui le précède est celle du nombre codé et non pas celle d'une longueur (il n'y a pas d'ambigüité car toutes les représentations binaires commencent par un 1).


Décodage

Au début du décodage, il est considéré qu'un 1 implicite a déjà été décodé, correspondant soit au nombre 1, soit à une longueur 2. À chaque étape du décodage, le premier bit suivant est considéré : si c'est un 0, il indique la fin du code omega, c'est-à-dire que la dernière valeur décodée était le nombre codé (donc un, la première fois) ; si c'est un 1, il indique le début de la représentation binaire suivante, dont la longueur est la dernière valeur décodée plus un (donc deux, la première fois).


Codage des entiers relatifs

Comme pour le codage gamma et le codage delta, il est possible de coder des entiers relatifs avec le codage omega en utilisant une bijection pour transformer les nombres négatifs ou nul en nombres strictement positifs avant le codage à proprement parler. Après le décodage, l'opération inverse doit être effectuée pour retrouver les entiers relatifs d'origine.

Longueur du code

Exemples

Représentation des premiers entiers naturels strictement positifs avec un codage omega
Décimal Binaire Code omega Code delta équivalent Code gamma équivalent
1 1 0 0 0
2 10 10 0 100 0 10 0
3 11 11 0 100 1 10 1
4 100 10 100 0 101 00 110 00
5 101 10 101 0 101 01 110 01

Voir aussi

Articles connexes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Codage omega de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Codage de Levenshtein — Le codage de Levenshtein est un codage entropique inventé par Vladimir Levenshtein en 1968 et utilisé essentiellement en compression de données. Le code de Levenshtein produit est un code préfixe et universel. Sommaire 1 Principe 2 Longueur du… …   Wikipédia en Français

  • Codage d'Even-Rodeh — Le codage d Even Rodeh est un codage entropique inventé par Shimon Even et Michael Rodeh en 1978 et utilisé essentiellement en compression de données. Le code produit est un code préfixe et universel. Sommaire 1 Principe 2 Longueur du code 3… …   Wikipédia en Français

  • Codage delta — Pour les articles homonymes, voir Code Delta (émission de télévision). Le codage delta ou codage delta d Elias est un codage entropique inventé par Peter Elias et utilisé essentiellement en compression de données. Le code delta produit est un… …   Wikipédia en Français

  • Codage gamma — Le codage gamma ou codage gamma d Elias est un codage entropique inventé par Peter Elias et utilisé essentiellement en compression de données. Le code gamma produit est un code préfixe et universel. Sommaire 1 Principe 2 Codage des entiers… …   Wikipédia en Français

  • Oméga — Pour les articles homonymes, voir Oméga (homonymie). Oméga Graphies Capitale …   Wikipédia en Français

  • Codage entropique — Le codage entropique (ou codage statistique à longueur variable) est une méthode de codage de source sans pertes, dont le but est de transformer la représentation d une source de données pour sa compression et/ou sa transmission sur un canal de… …   Wikipédia en Français

  • Codage de Huffman — Le codage de Huffman est un algorithme de compression de données sans perte élaboré par David Albert Huffman, lors de sa thèse de doctorat au MIT. L algorithme a été publié en 1952 dans l article A Method for the Construction of Minimum… …   Wikipédia en Français

  • Codage zeta — Le codage zeta ou codage de Boldi Vigna est un codage entropique inventé par Paolo Boldi et Sebastiano Vigna en 2003 et utilisé essentiellement en compression de graphes. Le code zeta produit est un code préfixe et universel. Sommaire 1 Principe… …   Wikipédia en Français

  • Codage binaire tronqué — Le codage binaire tronqué est un codage entropique utilisé essentiellement en compression de données et s appuyant sur la base 2. Il est plus généralement utilisé pour coder de façon efficace en termes de longueur, un alphabet dont la taille n… …   Wikipédia en Français

  • Codage de Rice — Le codage de Rice, codage de Golomb Rice ou GPO2 (pour Golomb power of 2) est un codage entropique inventé par Robert F. Rice et James R. Plaunt en 1971 et utilisé essentiellement en compression de données. Le code produit est un code préfixe.… …   Wikipédia en Français

Share the article and excerpts

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