Изменения

Перейти к: навигация, поиск

Арифметическое кодирование

2 байта добавлено, 23:15, 13 января 2012
Определение
== Определение ==
'''Арифметическое кодирование (Arithmetic coding)''' {{---}} алгоритм сжатия информации без потерь, который при кодировании ставит в соответствие тексту вещественное число из отрезка <tex>[0; 1)</tex>.
Данный метод (как и [[Алгоритм Хаффмана|алгоритм Хаффмана]]) является энтропийным т.е. длина кода конкретного символа зависит от частоты встречаемости этого символа в тексте. Арифметическое кодирование показывает более высокие результаты сжатия, чем алгоритм Хаффмана, для данных с неравномерными распределениями вероятностей кодируемых символов. Кроме того, при арифметическом кодировании каждый символ кодируется нецелым числом бит, что эффективнее кода Хаффмана (теоретически символу <tex>a</tex> с вероятностью появления <tex>p(a)</tex> допустимо ставить в соответствие код длины <tex>-\log_2(p(a))</tex>, следовательно при кодировании Хаффманом это достигается только с вероятностями, равными обратным степеням двойки). 
== Принцип действия ==
=== Кодирование ===
Анонимный участник

Навигация