~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 9747885DF708080133BDF4530B73804C__1711537680 ✰
Заголовок документа оригинал.:
✰ Elias gamma coding - Wikipedia ✰
Заголовок документа перевод.:
✰ Гамма-кодирование Элиаса — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Elias_gamma_coding ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/97/4c/9747885df708080133bdf4530b73804c.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/97/4c/9747885df708080133bdf4530b73804c__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 17:57:04 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 27 March 2024, at 14:08 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Гамма-кодирование Элиаса — Википедия Jump to content

Гамма-кодирование Элиаса

Из Википедии, бесплатной энциклопедии

Элиас код или гамма-код Элиаса универсальный код , кодирующий положительные целые числа, разработанный Питером Элиасом . [1] : 197, 199  Чаще всего он используется при кодировании целых чисел, верхняя граница которых не может быть определена заранее.

Кодировка [ править ]

Чтобы закодировать число x ≥ 1:

  1. Позволять быть наивысшей степенью двойки, которую он содержит, поэтому 2 Н х < 2 Н +1 .
  2. Написать ноль битов, тогда
  3. Добавьте двоичную форму , -битное двоичное число.

Эквивалентный способ выразить тот же процесс:

  1. Кодировать в унарном ; то есть как нули, за которыми следует единица.
  2. Добавьте оставшиеся двоичные цифры этому представлению .

Чтобы представить число , используется гамма Элиаса (γ) биты. [1] : 199 

Код начинается ( для ясности добавлено предполагаемое распределение вероятностей для кода):

Число Двоичный γ-кодирование Подразумеваемая вероятность
1 = 2 0  + 0 1 1 1/2
2 = 2 1 + 0 1 0 0 1 0 1/8
3 = 2 1 + 1 1 1 0 1 1 1/8
4 = 2 2 + 0 1 00 00 1 00 1/32
5 = 2 2 + 1 1 01 00 1 01 1/32
6 = 2 2 + 2 1 10 00 1 10 1/32
7 = 2 2 + 3 1 11 00 1 11 1/32
8 = 2 3 + 0 1 000 000 1 000 1/128
9 = 2 3 + 1 1 001 000 1 001 1/128
10 = 2 3 + 2 1 010 000 1 010 1/128
11 = 2 3 + 3 1 011 000 1 011 1/128
12 = 2 3 + 4 1 100 000 1 100 1/128
13 = 2 3 + 5 1 101 000 1 101 1/128
14 = 2 3 + 6 1 110 000 1 110 1/128
15 = 2 3 + 7 1 111 000 1 111 1/128
16 = 2 4 + 0 1 0000 0000 1 0000 1/512
17 = 2 4  +  1 1 0001 0000 1 0001 1/512

Расшифровка [ править ]

Чтобы декодировать целое число, закодированное гамма-гаммой Элиаса:

  1. Считайте и посчитайте 0 из потока, пока не дойдете до первой 1. Назовите это количество нулей N .
  2. Учитывая тот, который был достигнут, является первой цифрой целого числа со значением 2 Н , прочитайте оставшиеся N цифр целого числа.

Использует [ править ]

Гамма-кодирование используется в приложениях, где наибольшее закодированное значение заранее неизвестно, или для сжатия данных. [ сомнительно обсудить ] в котором малые значения встречаются гораздо чаще, чем большие значения.

Гамма-кодирование является строительным блоком дельта-кода Элиаса .

Обобщения [ править ]

Гамма-кодирование не кодирует ноль или отрицательные целые числа. Один из способов обработки нуля — добавить 1 перед кодированием, а затем вычесть 1 после декодирования. Другой способ — поставить перед каждым ненулевым кодом цифру 1, а затем закодировать ноль как одиночный 0.

Один из способов кодирования всех целых чисел — установить биекцию , отображающую целые числа (0, −1, 1, −2, 2, −3, 3, ...) в (1, 2, 3, 4, 5, 6). , 7, ...) перед кодированием. В программном обеспечении это проще всего сделать путем сопоставления неотрицательных входов с нечетными выходами, а отрицательных входов с четными выходами, поэтому младший бит становится битом с инвертированным знаком :

Экспоненциальное кодирование Голомба обобщает гамма-код на целые числа с «более плоским» степенным распределением, точно так же, как кодирование Голомба обобщает унарный код. Он включает в себя деление числа на положительный делитель, обычно степень 2, запись гамма-кода для числа, превышающего частное, и запись остатка в обычном двоичном коде.

См. также [ править ]

  • Дельта-кодирование Элиаса (d) – универсальный код, кодирующий положительные целые числа.
  • Кодирование Элиаса омега (?) - Универсальный код, кодирующий положительные целые числа.
  • Posit (числовой формат) — вариант чисел с плавающей запятой в компьютерах.

Ссылки [ править ]

  1. ^ Перейти обратно: а б Элиас, Питер (март 1975 г.). «Универсальные наборы кодовых слов и представления целых чисел». Транзакции IEEE по теории информации . 21 (2): 194–203. дои : 10.1109/тит.1975.1055349 .

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 9747885DF708080133BDF4530B73804C__1711537680
URL1:https://en.wikipedia.org/wiki/Elias_gamma_coding
Заголовок, (Title) документа по адресу, URL1:
Elias gamma coding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)