Изменения
Перейти к навигации
Перейти к поиску
Строка 1:
Строка 1:
− +
− Согласно [[Прямая теорема Шеннона для источника|теореме Шеннона]] оптимальная длина кода для символа равна <math>\displaystyle -\log_bP</math>, где <math>\displaystyle b</math> — это количество символов, использованных для изготовления выходного кода, и <math>\displaystyle P</math> — вероятность входного символа.+
− Три самых распространённых способа кодирования энтропии — это [[кодирование Хаффмана]], [[кодирование длин серий]] и [[арифметическое кодирование]].+
− +
+
+
+
+
+
− ----
−
− ''Ранняя версия этой статьи: {{PlanetMath|EntropyEncoding|Энтропийное кодирование}}''
нет описания правки
'''Кодирование энтропии''' — [[кодирование]] словами (кодами) переменной длины, при которой длина кода символа имеет обратную зависимость от [[вероятность|вероятности]] появления символа в передаваемом сообщении. Обычно [[энтропия (теория информации)|энтропийные]] кодировщики используют для сжатия данных коды, длины которых пропорциональны отрицательному [[логарифм|логарифму]] вероятности символа. Таким образом, наиболее вероятные символы используют наиболее короткие коды.
'''Энтропийное кодирование''' — кодирование последовательности значений с возможностью однозначного восстановления с целью уменьшения объёма информации (длины последовательности) с помощью усреднения вероятностей появления элементов последовательности.
Предполагается, что до кодирования отдельные элементы последовательности имеют различную вероятность появления. После кодирования в результирующей последовательности вероятности появления отдельных символов практически одинаковы ([[Информационная энтропия|энтропия]] на символ максимальна).
Различают несколько вариантов кодов:
Если приблизительные характеристики энтропии потока данных предварительно известны, может быть полезен более простой статический код, такой как [[унарное кодирование]], [[гамма-код Элиаса]], [[кодирование Фибоначчи]], [[кодирование Голомба]] или [[кодирование Райса]].
* Сопоставление каждому элементу исходной последовательности различного числа элементов результирующей последовательности. Чем больше вероятность появления исходного элемента, тем короче соответствующая результирующая последовательность. Примером могут служить [[код Шеннона]], [[код Фано]], [[код Хаффмана]],
* Сопоставление нескольким элементам исходной последовательности фиксированного числа элементов конечной последовательности. Примером является [[код Танстола]].
* Другие структурные коды, основанные на операциях с последовательностью символов. Примером является [[кодирование длин серий]].
* Если приблизительные характеристики энтропии потока данных предварительно известны, может быть полезен более простой статический код, такой как [[унарное кодирование]], [[гамма-код Элиаса]], [[кодирование Фибоначчи]], [[кодирование Голомба]] или [[кодирование Райса]].
Согласно [[Теоремы Шеннона для источника общего вида|теореме Шеннона]], существует предел сжатия без потерь, зависящий от энтропии источника. Чем более предсказуема получаемая информация, тем лучше её сжать. [[Случайная последовательность]] сжатию без потерь не поддаётся.
==См. также==
==См. также==
* [[Универсальный код]]
* [[Универсальный код]]
{{методы сжатия}}
{{методы сжатия}}
[[Категория:Алгоритмы сжатия без потерь]]
[[Категория:Алгоритмы сжатия без потерь]]