codifica | decodifica | compressione

> elias | delta | ottimale <

// Elias Delta – codice universale più efficiente di Gamma per interi più grandi

0 caratteri
0 caratteri

>> funzionalità

[EFFICIENTE]

Meglio di Gamma

Più efficiente di Elias Gamma per interi > 3.

[UNIVERSALE]

Codice universale

Funziona con qualsiasi intero positivo senza parametri aggiuntivi.

[ASINTOTICO]

Buone proprietà asintotiche

Usa log₂(n) + 2log₂(log₂(n)) + 1 bit.

>> informazioni tecniche

Come funziona Elias Delta

Elias Delta codifica un intero positivo n in tre parti: 1) si calcola L = ⌊log₂(n)⌋ + 1 (lunghezza in bit), 2) si codifica L usando Elias Gamma, 3) si aggiungono gli ultimi L−1 bit di n. Questa crescita doppiamente logaritmica lo rende più efficiente di Gamma per numeri più grandi, mantenendo la natura universale del codice.

Esempi di codifica Delta

n=1: L=1, Gamma(1)='1', bit='', Delta='1'
n=2: L=2, Gamma(2)='010', bit='0', Delta='0100'
n=3: L=2, Gamma(2)='010', bit='1', Delta='0101'
n=4: L=3, Gamma(3)='011', bit='00', Delta='01100'
n=16: L=5, Gamma(5)='00101', bit='0000', Delta='001010000'

Confronto delle lunghezze:
n     | Gamma | Delta | Risparmio
1     | 1     | 1     | 0
16    | 9     | 9     | 0
100   | 13    | 12    | 1
1000  | 19    | 16    | 3

Perché usare Elias Delta

  • Meglio di Gamma per n > 3
  • Nessun parametro da configurare
  • Codice prefisso privo di ambiguità
  • Ottimo per interi di dimensioni medie
  • Ponte verso Elias Omega

>> domande frequenti

Che cos'è la codifica Elias Delta?

Elias Delta è un miglioramento di Elias Gamma: codifica innanzitutto la lunghezza della rappresentazione binaria con Gamma e poi aggiunge i bit rimanenti. Usa circa log₂(n) + 2log₂(log₂(n)) + 1 bit, risultando più efficiente per interi più grandi.

Delta vs Gamma?

Gamma utilizza 2⌊log₂(n)⌋ + 1 bit, mentre Delta utilizza log₂(n) + 2log₂(log₂(n)) + 1 bit. Delta è migliore per n > 3 e il risparmio cresce con numeri più grandi. Per valori molto piccoli (1–3) i due codici sono comparabili.

Quando usare Delta invece di Gamma?

Usa Delta quando i tuoi dati contengono principalmente interi > 3. Per interi molto piccoli (1–2), Gamma può essere leggermente migliore. Per interi molto grandi considera Elias Omega, che migliora ulteriormente Delta.

Delta è il miglior codice di Elias?

Delta è una via di mezzo. Gamma è il più semplice ma il meno efficiente. Delta migliora la compressione. Omega è il migliore per interi molto grandi ma anche il più complesso. Scegli in base alla distribuzione dei dati e ai vincoli di implementazione.