~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 802A4E4EEB999A7C9EE894E323D5681F__1706222520 ✰
Заголовок документа оригинал.:
✰ Unary coding - Wikipedia ✰
Заголовок документа перевод.:
✰ Унарное кодирование — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Unary_coding ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/80/1f/802a4e4eeb999a7c9ee894e323d5681f.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/80/1f/802a4e4eeb999a7c9ee894e323d5681f__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 17:56:06 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 January 2024, at 01:42 (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] или унарная система счисления , также иногда называемая кодом термометра , представляет собой энтропийное кодирование которое представляет натуральное число , n с кодом длины n + 1 (или n ), обычно n единиц, за которыми следует ноль (если натуральное число). понимается как неотрицательное целое число ) или с n − 1 единицами, за которыми следует ноль (если под натуральным числом понимать строго положительное целое число ). Например, 5 представляется как 111110 или 11110. В некоторых представлениях используются n или n - 1 нулей, за которыми следует единица. Единицы и нули взаимозаменяемы без потери общности . Унарное кодирование — это одновременно код без префиксов и самосинхронизирующийся код .

n (неотрицательный) n (строго положительный) Унарный код Альтернатива
0 1 0 1
1 2 10 01
2 3 110 001
3 4 1110 0001
4 5 11110 00001
5 6 111110 000001
6 7 1111110 0000001
7 8 11111110 00000001
8 9 111111110 000000001
9 10 1111111110 0000000001

Унарное кодирование является оптимально эффективным кодированием для следующего дискретного распределения вероятностей:

для .

При посимвольном кодировании оптимально для любого геометрического распределения.

для которого k ≥ φ = 1,61803398879..., золотое сечение или, в более общем плане, для любого дискретного распределения, для которого

для . Хотя это оптимальное посимвольное кодирование для таких распределений вероятностей, кодирование Голомба обеспечивает лучшую возможность сжатия геометрического распределения, поскольку оно не рассматривает входные символы независимо, а скорее неявно группирует входные данные. По той же причине арифметическое кодирование работает лучше для общих распределений вероятностей, как и в последнем случае выше.

Унарный код используется сегодня [ править ]

Примеры использования унарного кода включают в себя:

  • В коде Голомба-Райса для кодирования частной части кодового слова Голомба используется унарное кодирование.
  • В UTF-8 унарное кодирование используется в первом байте многобайтовой последовательности для указания количества байтов в последовательности, чтобы длину последовательности можно было определить без проверки байтов продолжения.
  • Мгновенно обучаемые нейронные сети используют унарное кодирование для эффективного представления данных.

Унарное кодирование в биологических сетях [ править ]

Унарное кодирование используется в нейронных цепях , отвечающих за производство пения птиц . [1] [2] Ядром в мозгу певчих птиц, который играет роль как в обучении, так и в производстве птичьего пения, является HVC ( высокий голосовой центр ). Командные сигналы для разных нот пения птиц исходят из разных точек HVC. Это кодирование работает как пространственное кодирование, которое является эффективной стратегией для биологических цепей благодаря своей простоте и надежности.

Стандартные унарные коды длины серии [ править ]

Все двоичные данные определяются способностью представлять унарные числа в чередующихся длинах 1 и 0. Это соответствует стандартному определению унарного числа, т.е. N цифр одного и того же числа 1 или 0. Все длины серий по определению имеют хотя бы одну цифру и, таким образом, представляют собой строго положительные целые числа .

н РЛ-код Следующий код
1 1 0
2 11 00
3 111 000
4 1111 0000
5 11111 00000
6 111111 000000
7 1111111 0000000
8 11111111 00000000
9 111111111 000000000
10 1111111111 0000000000
...

Эти коды гарантированно закончатся при любой длине данных (при чтении произвольных данных), а в (отдельном) цикле записи позволяют использовать и передавать дополнительный бит (тот, который использовался для первого бита), сохраняя при этом общий и индивидуальный бит. -целочисленные унарные коды длиной ровно N.

беспрефиксные унарные коды Уникально декодируемые

Ниже приведен пример однозначно декодируемых унарных кодов, которые не являются префиксным кодом и не поддаются мгновенному декодированию ( для декодирования требуется предварительный просмотр ).

н Унарный код Альтернатива
1 1 0
2 10 01
3 100 011
4 1000 0111
5 10000 01111
6 100000 011111
7 1000000 0111111
8 10000000 01111111
9 100000000 011111111
10 1000000000 0111111111
...

Эти коды также (при записи целых чисел без знака) позволяют использовать и передавать дополнительный бит (тот, который используется для первого бита). Таким образом, они способны передавать m целых чисел * N унарных битов и 1 дополнительный бит информации в пределах m*N бит данных.

Симметричные унарные коды [ править ]

Следующий набор унарных кодов симметричен и может читаться в любом направлении. Он также мгновенно декодируется в любом направлении.

n (строго положительный) Унарный код Альтернатива n (неотрицательный)
1 1 0 0
2 00 11 1
3 010 101 2
4 0110 1001 3
5 01110 10001 4
6 011110 100001 5
7 0111110 1000001 6
8 01111110 10000001 7
9 011111110 100000001 8
10 0111111110 1000000001 9
...

Канонические унарные коды [ править ]

Для унарных значений, где известен максимум, можно использовать канонические унарные коды, которые имеют несколько числовую природу и отличаются от кодов на основе символов. Он включает в себя начало с числового значения «0» или «-1» ( ) и максимальное количество цифр, затем для каждого шага уменьшая количество цифр на одну и увеличивая/уменьшая результат на цифру «1».

н Унарный код Альтернатива
1 1 0
2 01 10
3 001 110
4 0001 1110
5 00001 11110
6 000001 111110
7 0000001 1111110
8 00000001 11111110
9 000000001 111111110
10 0000000000 1111111111

Канонические коды могут потребовать меньше времени на декодирование, если они обрабатываются как числа, а не как строка. Если количество кодов, необходимых для каждой длины символа, отличается от 1, т.е. требуется больше неунарных кодов некоторой длины, это может быть достигнуто путем численного увеличения/уменьшения значений без уменьшения длины в этом случае.

Обобщенное унарное кодирование [ править ]

Обобщенная версия унарного кодирования была представлена ​​Субхашем Каком для гораздо более эффективного представления чисел, чем стандартное унарное кодирование. [3] Вот пример обобщенного унарного кодирования целых чисел от 0 до 15, для которого требуется всего 7 бит (где три бита произвольно выбираются вместо одного в стандартном унарном кодировании для отображения числа). Обратите внимание, что представление является циклическим, где используются маркеры для представления более высоких целых чисел в более высоких циклах.

н Унарный код Обобщенный унарный
0 0 0000000
1 10 0000111
2 110 0001110
3 1110 0011100
4 11110 0111000
5 111110 1110000
6 1111110 0010111
7 11111110 0101110
8 111111110 1011100
9 1111111110 0111001
10 11111111110 1110010
11 111111111110 0100111
12 1111111111110 1001110
13 11111111111110 0011101
14 111111111111110 0111010
15 1111111111111110 1110100

Обобщенное унарное кодирование требует, чтобы диапазон отображаемых чисел был заранее указан, поскольку этот диапазон определяет количество необходимых битов.

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

Примечания [ править ]

  1. ^ Эквивалентом термина «унарное кодирование» в немецкой научной литературе является « BCD-Zählcode », что можно перевести как « двоично-десятичный счетный код». Его не следует путать с аналогичным немецким термином « BCD-код », который переводится как BCD-код на английском языке.

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

  1. ^ Фите, ИК; Сын, HS (2007). «Нейросетевые модели производства, обучения и кодирования пения птиц». В Сквайре, Л.; Олбрайт, Т.; Блум, Ф.; Гейдж, Ф.; Спитцер, Н. (ред.). Новая энциклопедия неврологии . Эльзевир .
  2. ^ Мур, Дж. М.; и другие. (2011). «Конвергенция двигательных путей предсказывает размер слогового репертуара у осциновых птиц» . Учеб. Натл. акад. наук. США . 108 (39): 16440–16445. Бибкод : 2011PNAS..10816440M . дои : 10.1073/pnas.1102077108 . ПМК   3182746 . ПМИД   21918109 .
  3. ^ Как, С. (2015). «Обобщенное унарное кодирование». Схемы, системы и обработка сигналов . 35 (4): 1419–1426. дои : 10.1007/s00034-015-0120-7 . S2CID   27902257 .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 802A4E4EEB999A7C9EE894E323D5681F__1706222520
URL1:https://en.wikipedia.org/wiki/Unary_coding
Заголовок, (Title) документа по адресу, URL1:
Unary coding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)