Golomb koder

Golomb- koder  er en familie af entropikoder . Golomb-koden kan også betyde en af ​​repræsentanterne for denne familie.

Overvej en kilde, der uafhængigt genererer ikke-negative heltal med sandsynligheder , hvor  er et vilkårligt positivt tal, der ikke overstiger 1, det vil sige en kilde beskrevet af en geometrisk fordeling . Hvis et positivt heltal er sådan, at

,

så vil den optimale tegn-for-tegn-kode (det vil sige den kode, der forbinder hvert kodet tegn med et bestemt kodeord) for en sådan kilde være en kode konstrueret i overensstemmelse med proceduren foreslået af Solomon Golomb , ifølge hvilken ethvert kodet tal , med et kendt kodeord, en unær notation af et tal og et kodet i overensstemmelse med proceduren beskrevet nedenfor, resten af ​​divisionen :

  1. Hvis er en potens af 2, så er den resterende kode en binær repræsentation af tallet , placeret i bit.
  2. Hvis ikke en potens af 2, beregnes tallet . Yderligere:
Hvis den resterende kode er en binær repræsentation af tallet , placeret i bit, ellers er resten kodet af den binære notation af tallet , placeret i bits.

Senere viste R. Gallagher og D. Van Voorhees, at koden foreslået af Golomb er optimal ikke kun for et diskret sæt værdier, der opfylder ovenstående kriterium, men også for enhver , for hvilken den dobbelte ulighed er sand.

,

hvor  er et positivt heltal. Da der for enhver altid højst er én værdi , der opfylder ovenstående ulighed, viser proceduren for kodning af en geometrisk kilde foreslået af S. Golomb sig at være optimal for enhver værdi af .

En ekstremt nem at implementere, men ikke altid optimal, version af Golomb-koden i tilfældet, hvor er en potens af 2, kaldes Rice-koden.

Eksempel

Lad , det er påkrævet at kode nummeret .

Værdien, der opfylder den dobbelte Gallagher-Van Voorhees ulighed .

I overensstemmelse med kodningsproceduren beskrevet ovenfor er kodeordet svarende til det kodede tal 13 konstrueret som en unær repræsentation af kvotienten n/m:

,

(unær kode , dvs. q nuller efterfulgt af et),

og kodet resten

,

(kode , det vil sige selve resten, skrevet i bits).

Resulterende kodeord

Se også

Links