Elias Omega Code

Elias Omega Code  on Peter Eliasin kehittämä yleinen koodi positiivisten kokonaislukujen koodaamiseen.

Aivan kuten Elias- gamma- ja delta-koodit , se määrittää kokonaisluvun alkuun sen suuruusluokan yleisessä koodissa. Toisin kuin kaksi muuta mainittua koodia, omega-koodi koodaa rekursiivisesti etuliitettä, minkä vuoksi se tunnetaan myös rekursiivisena Elias-koodina .

Numeron koodaaminen:

  1. Kirjoita uudelleen nollien ryhmä näkymän loppuun.
  2. Jos koodattava numero on yksi, lopeta; jos ei, lisää luvun binääriesitys ryhmänä esityksen alkuun.
  3. Toista edellinen vaihe juuri kirjoitettujen numeroiden (bittien) lukumäärällä miinus yksi, kuten uuden koodattavan numeron kohdalla.

Ensimmäiset koodit näkyvät alla. Lisäksi annetaan ns. arvioitu jakauma, joka kuvaa niiden arvojen jakautumista, joille tämä koodaus johtaa minimikokoiseen koodiin (katso: universaali koodi ).

Aloita koodaus:

Määrä Koodaus Arvioitu
todennäköisyys
yksi 0 1/2
2 100 1/8
3 11 0 1/8
neljä 10 100 0 1/64
5 10 101 0 1/64
6 10 110 0 1/64
7 10 111 0 1/64
kahdeksan 11 1000 0 1/128
9 11 1001 0 1/128
kymmenen 11 1010 0 1/128
yksitoista 11 1011 0 1/128
12 11 1100 0 1/128
13 11 1101 0 1/128
neljätoista 11 1110 0 1/128
viisitoista 11 1111 0 1/128
16 10 100 10000 0 1/2048
17 10 100 10001 0 1/2048

Algoritmi Elias omega -koodissa esitetyn numeron dekoodaamiseksi:

  1. Aloita muuttujalla N, joka on asetettu arvoon 1.
  2. Lue ensimmäinen "ryhmä" jäljellä olevien N numeroiden jälkeen, jotka koostuvat joko "0" tai "1". Jos se koostuu "0", se tarkoittaa, että kokonaisluvun arvo on 1; jos se alkaa "1", niin N saa ryhmän arvon, joka tulkitaan binääriluvuksi.
  3. Lue jokainen seuraava ryhmä; se koostuu joko "0":sta tai "1":stä, joka seuraa loput N numeroa. Jos ryhmä on "0", se tarkoittaa, että kokonaisluvun arvo on N; jos se alkaa luvulla "1", niin N saa ryhmän arvon, joka tulkitaan binääriluvuksi.

Omega-koodausta käytetään sovelluksissa, joissa suurinta koodattavaa arvoa ei tiedetä etukäteen, tai tiedon pakkaamiseen, jossa pienet arvot ovat paljon yleisempiä kuin suuret.

Katso myös

Kirjallisuus