Коды Голомба: различия между версиями
(Небольшое уточнение (Arbuzello)) |
|||
Строка 7: | Строка 7: | ||
− | то оптимальным | + | то оптимальным посимвольным кодом (т.е. кодом, ставящим в соответствие каждому кодируемому символу определённое кодовое слово) для такого источника будет построенный в соответствии с предложенной С. Голомбом процедурой, согласно которой для любого кодируемого числа <math>n</math> при известном <math>m</math> кодовое слово образуют [[Унарное кодирование|унарная запись]] числа <math>q = \left[ \frac{n}{m}\right]</math> и кодированный в соответствии с описанной ниже процедурой остаток <math>r</math> от деления <math>\frac{n}{m}</math>: |
Версия от 19:57, 31 августа 2010
Коды Голомба — семейство энтропийных кодов. Под кодом Голомба может подразумеваться также один из представителей этого семейства.
Рассмотрим источник, независимым образом порождающий неотрицательные числа с вероятностями , где — произвольное положительное число, не превосходящее 1, т.е. источник, описываемый геометрическим распределением. Если при этом целое положительное число таково, что
то оптимальным посимвольным кодом (т.е. кодом, ставящим в соответствие каждому кодируемому символу определённое кодовое слово) для такого источника будет построенный в соответствии с предложенной С. Голомбом процедурой, согласно которой для любого кодируемого числа при известном кодовое слово образуют унарная запись числа и кодированный в соответствии с описанной ниже процедурой остаток от деления :
- Если является степенью числа 2, то код остатка представляет собой двоичную запись числа , размещённую в битах.
- Если не является степенью 2, вычисляется число . Далее:
- Если , код остатка представляет собой двоичную запись числа , размещённую в битах,
- иначе остаток кодируется двоичной записью числа , размещённой в битах.
Позже Р. Галлагером и Д. Ван Вурхисом было показано, что предложенный Голомбом код оптимален не только для дискретного набора значений , удовлетворяющих приведённому выше критерию, но и для любых , для которых справедливо двойное неравенство
где — целое положительное число. Поскольку для любого всегда найдётся не более одного значения , удовлетворяющего приведённому выше неравенству, предложенная С. Голомбом процедура кодирования геометрического источника оказывается оптимальной для любого значения .
Пример
Пусть , .
Удовлетворяющее двойному неравенству Галлагера - Ван Вурхиса значение .
частное
унарный код ,
остаток
код .
Результирующее кодовое слово
Ссылки
- Golomb S.W. Run-length encodings //IEEE Trans. Inf. Theor.–1996.- IT-12, No 3. – pp. 399-401
- Gallager R.G., Van Voorhis D.C. Optimal source codes for geometrically distributed integer alphabets //IEEE Trans. Inf. Theor.–1975.-IT-21, No 2. – pp. 228-230
Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).
de:Golomb-Code en:Golomb coding es:Codificación Golomb-Rice fr:Codage de Golomb ja:ゴロム符号 pl:Kod Golomba pt:Códigos de Golomb