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:
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:
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.