Изменения
Перейти к навигации
Перейти к поиску
Строка 1:
Строка 1:
− +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Строка 15:
Строка 32:
− +
Строка 23:
Строка 40:
− Код Голомба оптимален для экспоненциального [[распределение вероятности|распределения вероятности]]:
− : <math>P(i) = (1-p)p^{i}</math>
нет описания правки
'''Коды [[Голомб, Соломон Вольф|Голомба]]''' — это семейство [[энтропийное кодирование|энтропийных кодеров]], которые представляют символ в виде двоичного слова, состоящего из бинарного и [[Унарное кодирование|унарного кода]]. Для кодирования числа ''n'' производится деление ''n'' на ''m'', где ''m'' основной параметр кода Голомба. Частное от деления записывается в унарной форме, остаток в бинарной.
'''Коды [[Голомб, Соломон Вольф|Голомба]]''' — это семейство [[энтропийное кодирование|энтропийных кодеров]], являющихся общим случаем [[Унарное кодирование|унарного кода]]. Также под кодом Голомба может подразумеваться один из представителей этого семейства.
Код Голомба позволяет представить последовательность символов в виде последовательности двоичных слов. Это представление будет оптимальным при условии, что [[распределение вероятности]] символов подчиняется геометрическому закону:
: <math> P(i) = (1-p)p^{i} </math>,
где ''i'' — номер символа, а ''p'' — параметр [[Геометрическое распределение|геометрического распределения]]. Также должно соблюдаться условие:
: <math>p^m = \frac 1 2 </math>,
где ''m'' — основной параметр кода Голомба.
Для кодирования символа с номером ''n'' необходимо представить ''n'' в виде:
: <math> n = qm + r </math>,
где ''q'' и ''r'' — целые положительные числа, <math> 0 \le r < m </math>. Затем ''r'' кодируется унарным кодом, а ''q'' — бинарным. Полученные двоичные последовательности объединяются в результирующее слово.
остаток
остаток
:<math> r = n\ mod\ m = 13\ mod\ 4 = 1 </math>
:<math> r = n \mod m = 13 \mod 4 = 1 </math>
бинарный код
бинарный код
:<math> 01 </math>
:<math> 01 </math>