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

Материал из in.wiki
Версия от 19:52, 3 апреля 2009; 212.178.0.100 (комментарии) ( Новая страница: «'''Экспоненциальный код Голомба''' порядка ''k'' – это универсальный код целого чи…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Экспоненциальный код Голомба порядка 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).