Коди Голомба — сімейство ентропійних кодів. Під кодом Голомба може матися на увазі також один із представників цього сімейства.
Розглянемо джерело, яке незалежним чином породжує цілі невід'ємні числа з імовірностями , де p - довільне позитивне число, яке не перевищує 1, тобто джерело, описуване геометричним розподілом.
Якщо при цьому ціле позитивне число m таке, що
- ,
то оптимальним посимвольним кодом (тобто кодом, що ставить у відповідність кожному кодованого символу певне кодове слово) для такого джерела буде код, побудований згідно з запропонованою С. Голомб процедурою, згідно з якою для будь-якого кодованого числа n при відомому m кодове слово утворюють унарний запис числа і кодований відповідно до описаної нижче процедурою залишок r від ділення :
Якщо m є ступенем числа 2, то код залишку являє собою двійковий запис числа r, розміщений в бітах.
Якщо m не є ступенем 2, обчислюється число .
Далі: Якщо , код залишку являє собою двійковий запис числа r, розміщений в b-1 бітах, інакше залишок r кодується двійковим записом числа , розміщеним у b бітах.
Пізніше Р. Галлагером і Д. Ван Вурхіс було показано, що запропонований Голомб код оптимальний не тільки для дискретного набору значень p, задовольняють наведеним вище критерієм, а й для будь-яких p, для яких справедливо подвійне нерівність
- ,
де m - ціле позитивне число. Оскільки для будь-якого p завжди знайдеться не більше одного значення m, що задовольняє наведеній вище нерівності, запропонована С. Голомб процедура кодування геометричного джерела виявляється оптимальною для будь-якого значення p.
Надзвичайно простий в реалізації, але не завжди оптимальний різновид коду Голомба у разі, коли m є ступенем 2, називається .
Приклад
Нехай p = 0.85, потрібно закодувати число n = 13.
Задовольняє подвійній нерівності Галлагера - Ван Вурхиса значення m = 4.
Відповідно до описаної вище процедури кодування кодове слово, відповідне кодованому числу 13, будується як унарний запис результату від ділення n / m:
- ,
(унарний код 0001, тобто q нулів із завершальною одиницею),
і кодованого залишку
- r = 1,
(код 01, тобто власне залишок, записаний в бітах).
Результуюче кодове слово
0001 | 01
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Kodi Golomba simejstvo entropijnih kodiv Pid kodom Golomba mozhe matisya na uvazi takozh odin iz predstavnikiv cogo simejstva Rozglyanemo dzherelo yake nezalezhnim chinom porodzhuye cili nevid yemni chisla i displaystyle i z imovirnostyami P i 1 p p i displaystyle P i 1 p p i de p dovilne pozitivne chislo yake ne perevishuye 1 tobto dzherelo opisuvane geometrichnim rozpodilom Yaksho pri comu cile pozitivne chislo m take sho p m 1 2 displaystyle p m frac 1 2 to optimalnim posimvolnim kodom tobto kodom sho stavit u vidpovidnist kozhnomu kodovanogo simvolu pevne kodove slovo dlya takogo dzherela bude kod pobudovanij zgidno z zaproponovanoyu S Golomb proceduroyu zgidno z yakoyu dlya bud yakogo kodovanogo chisla n pri vidomomu m kodove slovo utvoryuyut unarnij zapis chisla q n m displaystyle q left frac n m right i kodovanij vidpovidno do opisanoyi nizhche proceduroyu zalishok r vid dilennya n m displaystyle frac n m Yaksho m ye stupenem chisla 2 to kod zalishku yavlyaye soboyu dvijkovij zapis chisla r rozmishenij v l o g 2 m displaystyle log 2 m bitah Yaksho m ne ye stupenem 2 obchislyuyetsya chislo b log 2 m displaystyle b lceil log 2 m rceil Dali Yaksho r lt 2 b m displaystyle r lt 2 b m kod zalishku yavlyaye soboyu dvijkovij zapis chisla r rozmishenij v b 1 bitah inakshe zalishok r koduyetsya dvijkovim zapisom chisla r 2 b m displaystyle r 2 b m rozmishenim u b bitah Piznishe R Gallagerom i D Van Vurhis bulo pokazano sho zaproponovanij Golomb kod optimalnij ne tilki dlya diskretnogo naboru znachen p zadovolnyayut navedenim vishe kriteriyem a j dlya bud yakih p dlya yakih spravedlivo podvijne nerivnist p m p m 1 1 lt p m p m 1 displaystyle p m p m 1 leq 1 lt p m p m 1 de m cile pozitivne chislo Oskilki dlya bud yakogo p zavzhdi znajdetsya ne bilshe odnogo znachennya m sho zadovolnyaye navedenij vishe nerivnosti zaproponovana S Golomb procedura koduvannya geometrichnogo dzherela viyavlyayetsya optimalnoyu dlya bud yakogo znachennya p Nadzvichajno prostij v realizaciyi ale ne zavzhdi optimalnij riznovid kodu Golomba u razi koli m ye stupenem 2 nazivayetsya PrikladNehaj p 0 85 potribno zakoduvati chislo n 13 Zadovolnyaye podvijnij nerivnosti Gallagera Van Vurhisa znachennya m 4 Vidpovidno do opisanoyi vishe proceduri koduvannya kodove slovo vidpovidne kodovanomu chislu 13 buduyetsya yak unarnij zapis rezultatu vid dilennya n m q n m 13 4 3 displaystyle q left frac n m right left frac 13 4 right 3 unarnij kod 0001 tobto q nuliv iz zavershalnoyu odiniceyu i kodovanogo zalishku r 1 kod 01 tobto vlasne zalishok zapisanij v log 2 m displaystyle lceil log 2 m rceil bitah Rezultuyuche kodove slovo 0001 01