> rice | adaptatif | compression <

// Codage Rice – Compression adaptative d'entiers avec paramètre ajustable

0 caractères
0 caractères

>> fonctionnalités

[ADAPTATIF]

Paramètre ajustable

Ajustez k pour optimiser différentes distributions de données.

[EFFICACE]

Données géométriques

Optimal pour des données à distribution géométrique ou exponentielle.

[SIMPLE]

Codage rapide

Opérations simples de division et de reste pour de hautes performances.

>> informations techniques

Comment fonctionne le codage Rice

Le codage Rice divise chaque entier n par 2^k pour obtenir le quotient q et le reste r. Le quotient est encodé en unaire (q uns suivis d'un zéro) et le reste en k bits binaires. Cela crée un code de longueur variable qui s'adapte à la distribution des données via le paramètre k.

Exemple de codage Rice (k=2)

k=2, M=2^2=4

0 → q=0, r=0 → 0|00 → 000
1 → q=0, r=1 → 0|01 → 001
2 → q=0, r=2 → 0|10 → 010
3 → q=0, r=3 → 0|11 → 011
4 → q=1, r=0 → 10|00 → 1000
5 → q=1, r=1 → 10|01 → 1001
6 → q=1, r=2 → 10|10 → 1010
7 → q=1, r=3 → 10|11 → 1011
8 → q=2, r=0 → 110|00 → 11000

k plus grand : moins de bits unaires, plus de bits binaires
k plus petit : plus de bits unaires, moins de bits binaires

Pourquoi utiliser le codage Rice ?

  • S'adapte à la distribution des données
  • Facile à implémenter
  • Encodage/décodage rapides
  • Idéal pour les données de capteurs
  • Efficace pour les petits entiers

>> questions fréquentes

Qu'est-ce que le codage Rice ?

Le codage Rice est une méthode de codage entropique à longueur variable particulièrement efficace pour les distributions géométriques. C'est un cas particulier du codage Golomb où le diviseur M est restreint aux puissances de 2 (M = 2^k), ce qui permet des implémentations rapides basées sur les décalages de bits.

Comment choisir le paramètre k ?

La valeur optimale de k dépend de la distribution de vos données. Pour des données de moyenne μ, k optimal ≈ log₂(μ × ln(2)). Les petits k (0–2) fonctionnent bien pour des nombres très petits, tandis que les k plus grands (4–8) conviennent mieux aux valeurs plus élevées. Utilisez la fonction d'analyse pour trouver le k optimal pour vos données.

Rice vs codage Golomb ?

Le codage Rice est un sous-ensemble du codage Golomb où M = 2^k. Cette restriction rend Rice plus rapide (décalages de bits au lieu de divisions) mais parfois légèrement moins optimal. Golomb peut choisir n'importe quelle valeur de M pour une meilleure compression, tandis que Rice échange une partie de l'efficacité contre de la vitesse.

Où le codage Rice est-il utilisé ?

Le codage Rice est largement utilisé dans la compression audio sans perte (FLAC, ALAC), la compression d'images (JPEG-LS) et les données de capteurs avec des distributions géométriques. Il est particulièrement efficace pour les petits entiers non négatifs à probabilité décroissante exponentiellement.