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

м (25 версий импортировано: Импорт из Википедии)
 
(не показаны 23 промежуточные версии 19 участников)
Строка 1: Строка 1:
'''Экспоненциальный код Голомба''' порядка ''k'' это [[универсальный код]] целого числа ''k''. Для кодирования неотрицательного числа в экспоненциальный код Голомба порядка ''k'', можно использовать следующий метод:
+
'''Экспоненциальный код Голомба''' порядка ''k'' — это [[универсальный код]], параметризованный целым числом ''k''. Разработан [[Голомб, Соломон Вольф|Соломоном Голомбом]]. Для кодирования неотрицательного числа в экспоненциальный код Голомба порядка ''k'' можно использовать следующий метод:
# Возьмем число ''N'' в двоичном коде, без последних ''k'' цифр. Прибавим к нему 1 (арифметически): ''N = N+1''. Запишем полученное ''N''.
+
# Взять число <math>N</math> в [[Двоичная система счисления|двоичном коде]] без последних ''k'' цифр. Прибавить к нему 1 (арифметически): . Записать полученное ''N''.
# Подсчитаем количество ''C'' бит в ''N''.  
+
# Подсчитать количество <math>C</math> битов в <math>N+1</math> (арифметически).
# Вычтем из ''С'' единицу: ''С = С-1''. Запишем ''С'' нулевых бит перед ''N''.
+
# Записать <math>C-1</math> нулевых битов перед полученным числом из предыдущего шага.
  
Для порядка ''k'' = 0 код выглядит так:
+
Для порядка <math>k = 0</math> код выглядит так:
  
 
  0 => 1 => 1
 
  0 => 1 => 1
Строка 17: Строка 17:
 
  ...
 
  ...
  
Экспоненциальный код Голомба при ''k'' = 0 используется в [[H.264]]/[[MPEG-4]] [[AVC]] стандартах сжатия видео, в которых есть также возможность кодирования подписанных номеров путем присвоения значения 0 ключевому слову '0' в бинарном виде и последующее назначение ключевых слов для ввода значений увеличения масштабов и переменного знака.
+
Экспоненциальный код Голомба при <math>k = 0</math> используется в стандартах сжатия видео [[H.264]] и MPEG-4 [[AVC]], в которых есть также возможность кодирования знаковых чисел путём присвоения значения 0 ключевому слову '0' в бинарном виде и последующее назначение кодовых слов ко входным значениям увеличивающихся амплитуд и переменных знаков.
  
 
Экспоненциальный код Голомба также используется в алгоритме кодирования несжатого видео [[Dirac]].
 
Экспоненциальный код Голомба также используется в алгоритме кодирования несжатого видео [[Dirac]].
  
При ''k'' = 0 экспоненциальное кодирование Голомба совпадает с [[гамма-кодирование  Элиаса| гамма-кодированием Элиаса]] этого же числа плюс один. Таким образом, он может кодировать ноль, тогда как гамма-код Элиаса может кодировать только числа больше ноля.
+
При <math>k = 0</math> экспоненциальное кодирование Голомба совпадает с [[гамма-код Элиаса|гамма-кодом Элиаса]] этого же числа плюс один. Таким образом, он может кодировать ноль, тогда как гамма-код Элиаса может кодировать только числа больше ноля.
  
Несмотря на подобные название, экспоненциальное кодирование Голомба лишь немного аналогично [[кодирование Голомба| кодированию Голомба]], которое представляет собой тип [[Энтропийное_кодирование|кодирования энтропии]], но не является универсальным кодом.
+
Несмотря на близкие название, экспоненциальное кодирование Голомба лишь немного аналогично [[кодирование Голомба|кодированию Голомба]], которое представляет собой тип [[энтропийное кодирование|энтропийного кодирования]], но не является универсальным кодом.
  
==Ссылки==
+
== См. также ==
*[[гамма-кодирование  Элиаса]]
+
* [[Код Левенштейна]]
*[[дельта-кодирование Элиаса]]
+
* [[Омега-код Элиаса]]
*[[омега-кодирование Элиаса]]
 
*[[Универсальный код (сжатие данных)]]
 
  
 +
== Ссылки ==
 +
* [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.
 +
{{rq|sources|refless}}
 
{{Методы сжатия}}
 
{{Методы сжатия}}
  
 
[[Категория:Системы счисления]]
 
[[Категория:Системы счисления]]
 
+
[[Категория:Алгоритмы сжатия без потерь]]
[[en:Exponential-Golomb_coding]]
 

Текущая версия от 00:51, 20 августа 2025

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

  1. Взять число N N в двоичном коде без последних k цифр. Прибавить к нему 1 (арифметически): . Записать полученное N.
  2. Подсчитать количество C C битов в N + 1 N+1 (арифметически).
  3. Записать C 1 C-1 нулевых битов перед полученным числом из предыдущего шага.

Для порядка k = 0 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 k = 0 используется в стандартах сжатия видео H.264 и MPEG-4 AVC, в которых есть также возможность кодирования знаковых чисел путём присвоения значения 0 ключевому слову '0' в бинарном виде и последующее назначение кодовых слов ко входным значениям увеличивающихся амплитуд и переменных знаков.

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

При k = 0 k = 0 экспоненциальное кодирование Голомба совпадает с гамма-кодом Элиаса этого же числа плюс один. Таким образом, он может кодировать ноль, тогда как гамма-код Элиаса может кодировать только числа больше ноля.

Несмотря на близкие название, экспоненциальное кодирование Голомба лишь немного аналогично кодированию Голомба, которое представляет собой тип энтропийного кодирования, но не является универсальным кодом.

См. такжеПравить

СсылкиПравить

Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).