Golomb koodit

Golomb - koodit  ovat entropiakoodien perhe . Golomb-koodi voi tarkoittaa myös yhtä tämän perheen edustajia.

Tarkastellaan lähdettä, joka muodostaa itsenäisesti ei-negatiivisia kokonaislukuja todennäköisyyksillä , jossa  on mielivaltainen positiivinen luku, joka ei ylitä 1, eli lähde, jota kuvaa geometrinen jakauma . Jos positiivinen kokonaisluku on sellainen, että

,

silloin optimaalinen merkki merkiltä koodi (eli koodi, joka yhdistää jokaisen koodatun merkin tiettyyn koodisanaan) tällaiselle lähteelle on koodi, joka on rakennettu Solomon Golombin ehdottaman menettelyn mukaisesti, jonka mukaan mikä tahansa koodattu numero , jossa on tunnettu koodisana, numeron yksipuolinen merkintä ja koodattu alla kuvatun menettelyn mukaisesti, jaon loppuosa :

  1. Jos on 2:n potenssi, niin jäännöskoodi on binääriesitys luvusta , joka on sijoitettu bitteinä.
  2. Jos ei ole 2:n potenssi, luku lasketaan . Edelleen:
Jos , jäännöskoodi on binääriesitys luvusta , joka on sijoitettu bitteinä, muussa tapauksessa loppuosa koodataan luvun binäärimerkinnällä , joka on sijoitettu bitteinä.

Myöhemmin R. Gallagher ja D. Van Voorhees osoittivat, että Golombin ehdottama koodi ei ole optimaalinen vain erilliselle arvojoukolle, joka täyttää yllä olevan kriteerin, vaan myös kaikille , joille kaksois-epäyhtälö on totta.

,

missä  on positiivinen kokonaisluku. Koska millä tahansa on aina korkeintaan yksi arvo , joka täyttää yllä olevan epäyhtälön, S. Golombin ehdottama geometrisen lähteen koodausmenettely osoittautuu optimaaliseksi mille tahansa arvolle .

Erittäin helppokäyttöinen, mutta ei aina optimaalinen Golomb-koodin versio siinä tapauksessa, että potenssi 2 on nimeltään Rice-koodi.

Esimerkki

Anna , numero on koodattava .

Arvo, joka tyydyttää kaksinkertaisen Gallagher-Van Voorhees-epäyhtälön .

Yllä kuvatun koodausmenettelyn mukaisesti koodattua numeroa 13 vastaava koodisana muodostetaan osamäärän n/m unaariesityksenä:

,

(unaarikoodi , eli q nollaa ja yksi),

ja koodattu loppuosa

,

(koodi , eli itse loppuosa, joka on kirjoitettu bitteinä).

Tuloksena oleva koodisana

Katso myös

Linkit