> rice | adattivo | compressione <

// Codifica Rice – Compressione adattiva di interi con parametro regolabile

0 caratteri
0 caratteri

>> funzioni

[ADATTIVO]

Parametro regolabile

Regola k per ottimizzare diverse distribuzioni di dati.

[EFFICIENTE]

Dati geometrici

Ottimale per dati con distribuzione geometrica o esponenziale.

[SEMPLICE]

Codifica veloce

Operazioni semplici di divisione e resto per alte prestazioni.

>> dettagli tecnici

Come funziona la codifica Rice

La codifica Rice divide ogni intero n per 2^k per ottenere quoziente q e resto r. Il quoziente è codificato in modo unario (q uno seguiti da uno zero) e il resto in k bit binari. Questo crea un codice a lunghezza variabile che si adatta alla distribuzione dei dati attraverso il parametro k.

Esempio di codifica 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 maggiore: meno bit unari, più bit binari
k minore: più bit unari, meno bit binari

Perché usare la codifica Rice?

  • Si adatta alla distribuzione dei dati
  • Facile da implementare
  • Codifica e decodifica veloci
  • Ottima per dati da sensori
  • Efficiente per piccoli interi

>> domande frequenti

Che cos'è la codifica Rice?

La codifica Rice è un metodo di codifica entropica a lunghezza variabile particolarmente efficiente per distribuzioni geometriche. È un caso particolare della codifica Golomb in cui il divisore M è limitato alle potenze di 2 (M = 2^k), rendendo l'implementazione più veloce tramite operazioni sui bit.

Come scegliere il parametro k?

Il valore ottimale di k dipende dalla distribuzione dei dati. Per dati con media μ, k ottimale ≈ log₂(μ × ln(2)). Valori piccoli di k (0–2) funzionano bene per numeri molto piccoli, mentre valori più grandi (4–8) sono migliori per dati con valori più elevati. Usa la funzione di analisi per trovare il k ottimale per i tuoi dati.

Rice vs codifica Golomb?

La codifica Rice è un sottoinsieme della codifica Golomb in cui M = 2^k. Questa restrizione rende Rice più veloce (shift di bit invece di divisioni), ma talvolta leggermente meno ottimale. Golomb può scegliere qualsiasi valore di M per una migliore compressione, mentre Rice scambia un po' di efficienza con maggiore velocità.

Dove viene utilizzata la codifica Rice?

La codifica Rice è ampiamente utilizzata nella compressione audio lossless (FLAC, ALAC), nella compressione di immagini (JPEG-LS) e nei dati provenienti da sensori con distribuzioni geometriche. È particolarmente efficace per piccoli interi non negativi con probabilità decrescente esponenzialmente.