Экспоненциальный код Голомба: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
w>Mikhail Ryazanov
м (→‎Преамбула: оформление)
w>Mikhail Ryazanov
м (→‎Ссылки: орфография, пунктуация)
Строка 30: Строка 30:
  
 
== Ссылки ==
 
== Ссылки ==
* [https://books.google.ru/books?id=PDZOAwAAQBAJ&pg=PA240& 7.5.3 Exponential-Golomb codes] / Communicating Pictures: A Course in Image and Video Coding, Academic Press, 2014, ISBN 9780080993744, стр.240
+
* [https://books.google.ru/books?id=PDZOAwAAQBAJ&pg=PA240& 7.5.3 Exponential-Golomb codes] / Communicating Pictures: A Course in Image and Video Coding, Academic Press, 2014, ISBN 9780080993744, с. 240.
* [http://www.hpl.hp.com/techreports/2006/HPL-2006-74.pdf#page=25 2.5 Elias-Teuhola («Exp-Golomb») Codes] / Amir Said, On the Determination of Optimal Parameterized Prefix Codes for Adaptive Entropy Coding. HPL-2006-74
+
* [http://www.hpl.hp.com/techreports/2006/HPL-2006-74.pdf#page=25 2.5 Elias-Teuhola («Exp-Golomb») Codes] / Amir Said, On the Determination of Optimal Parameterized Prefix Codes for Adaptive Entropy Coding. HPL-2006-74.
 
{{rq|sources|refless}}
 
{{rq|sources|refless}}
 
{{Методы сжатия}}
 
{{Методы сжатия}}

Версия от 23:26, 19 октября 2022

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