Экспоненциальный код Голомба

Материал из in.wiki
Версия от 12:44, 30 апреля 2009; w>SieBot (робот добавил: zh:指数哥伦布码)
Перейти к навигации Перейти к поиску

Экспоненциальный код Голомба порядка k – это универсальный код целого числа k. Для кодирования неотрицательного числа в экспоненциальный код Голомба порядка k, можно использовать следующий метод:

  1. Возьмем число N в двоичном коде, без последних k цифр. Прибавим к нему 1 (арифметически): N = N+1. Запишем полученное N.
  2. Подсчитаем количество C бит в N.
  3. Вычтем из С единицу: С = С-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).


Ошибка Lua в Модуль:Autosorting на строке 85: attempt to index field 'wikibase' (a nil value).Ошибка Lua в Модуль:Autosorting на строке 85: attempt to index field 'wikibase' (a nil value).

en:Exponential-Golomb coding zh:指数哥伦布码