Экспоненциальный код Голомба: различия между версиями
w>U-bot (+ {{изолированная статья|сирота1}}, Removed: {{изолированная статья}},) |
w>In digma |
||
Строка 1: | Строка 1: | ||
− | + | ||
− | '''Экспоненциальный код Голомба''' порядка ''k'' | + | '''Экспоненциальный код Голомба''' порядка ''k'' — это [[универсальный код]] целого числа ''k''. Для кодирования неотрицательного числа в экспоненциальный код Голомба порядка ''k'', можно использовать следующий метод: |
# Взять число ''N'' в двоичном коде, без последних ''k'' цифр. Прибавить к нему 1 (арифметически): ''N = N+1''. Записать полученное ''N''. | # Взять число ''N'' в двоичном коде, без последних ''k'' цифр. Прибавить к нему 1 (арифметически): ''N = N+1''. Записать полученное ''N''. | ||
# Подсчитать количество ''C'' бит в ''N''. | # Подсчитать количество ''C'' бит в ''N''. | ||
Строка 26: | Строка 26: | ||
Несмотря на близкие название, экспоненциальное кодирование Голомба лишь немного аналогично [[кодирование Голомба|кодированию Голомба]], которое представляет собой тип [[энтропийное кодирование|энтропийного кодирования]], но не является универсальным кодом. | Несмотря на близкие название, экспоненциальное кодирование Голомба лишь немного аналогично [[кодирование Голомба|кодированию Голомба]], которое представляет собой тип [[энтропийное кодирование|энтропийного кодирования]], но не является универсальным кодом. | ||
+ | == См. также == | ||
+ | *[[кодирование Голомба]] | ||
+ | *[[Код Левенштейна]] | ||
+ | *[[Омега-код Элиаса]] | ||
{{Методы сжатия}} | {{Методы сжатия}} | ||
Версия от 11:18, 4 ноября 2009
Экспоненциальный код Голомба порядка k — это универсальный код целого числа k. Для кодирования неотрицательного числа в экспоненциальный код Голомба порядка k, можно использовать следующий метод:
- Взять число N в двоичном коде, без последних k цифр. Прибавить к нему 1 (арифметически): N = N+1. Записать полученное N.
- Подсчитать количество C бит в N.
- Вычесть из С единицу: С = С-1. Записать С нулевых бит перед выбранным числом N.
Для порядка k = 0 код выглядит так:
0 => 1 => 1 1 => 10 => 010 2 => 11 => 011 3 => 100 => 00100 4 => 101 => 00101 5 => 110 => 00110 6 => 111 => 00111 7 => 1000 => 0001000 8 => 1001 => 0001001 ...
Экспоненциальный код Голомба при k = 0 используется в старнадртах сжатия видео H.264 и MPEG-4 AVC, в которых есть также возможность кодирования знаковых чисел путем присвоения значения 0 ключевому слову '0' в бинарном виде и последующее назначение кодовых слов ко входным значениям увеличивающихся амплитуд и переменных знаков.
Экспоненциальный код Голомба также используется в алгоритме кодирования несжатого видео Dirac.
При k = 0 экспоненциальное кодирование Голомба совпадает с гамма-кодом Элиаса этого же числа плюс один. Таким образом, он может кодировать ноль, тогда как гамма-код Элиаса может кодировать только числа больше ноля.
Несмотря на близкие название, экспоненциальное кодирование Голомба лишь немного аналогично кодированию Голомба, которое представляет собой тип энтропийного кодирования, но не является универсальным кодом.
См. также
Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).