Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Унарное кодирования , [NB 1] или унарную систему счисления , а также иногда называют термометром код , является энтропийного кодирования , которая представляет собой натуральное число , п , с п те , за которым следует ноль (если натуральное число понимается как неотрицательное целое число ) или с n  - 1 единицами, за которыми следует ноль (если натуральное число понимается как строго положительное целое ). Например, 5 представлен как 111110 или 11110. В некоторых представлениях используется n или n - 1 ноль, за которым следует единица. Единицы и нули взаимозаменяемы без потери общности . Унарное кодирование - это как код без префиксов, так и самосинхронизирующийся код .

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

для .

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

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

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

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

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

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

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

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

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

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

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

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

Заметки [ править ]

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

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

  1. ^ Fiete, IR; Сын, HS (2007). «Нейросетевые модели производства, обучения и кодирования птичьего пения». In Squire, L .; Олбрайт, Т .; Блум, Ф .; Gage, F .; Спитцер, Н. (ред.). Новая энциклопедия неврологии . Эльзевир .
  2. ^ Мур, JM; и другие. (2011). «Конвергенция моторных путей предсказывает размер репертуара слогов у осетровых птиц» . Proc. Natl. Акад. Sci. США . 108 (39): 16440–16445. DOI : 10.1073 / pnas.1102077108 . PMC 3182746 . PMID 21918109 .  
  3. ^ Как, С. (2015). «Обобщенное унарное кодирование». Схемы, системы и обработка сигналов . 35 (4): 1419–1426. DOI : 10.1007 / s00034-015-0120-7 .