Aller au contenu
uencoder

Range Coding

Le codage par intervalles est la variante entière du codage arithmétique : il remplace les opérations à virgule flottante par une borne inférieure d'intervalle et une largeur, évitant les problèmes de précision avec moins de contraintes de brevets.

Objectif

Il atteint une compression quasi entropique en arithmétique entière et sert de remplaçant sans brevet du codage arithmétique.

Mécanisme

On maintient un intervalle [low, low+range) ; pour chaque symbole, on subdivise l'intervalle selon la probabilité cumulée et on renormalise, en émettant les bits de poids fort devenus fixes. C'est mathématiquement équivalent au codage arithmétique, mais avec des intervalles entiers au lieu de la virgule flottante.

Cas d’usage

  • Moteur de codage entropique de PPMd
  • Implémentations de compression généralistes
  • Remplaçant sans brevet du codage arithmétique

Outils associés

References