E-Mail: info@free-da.com
Телефон: +7 (812) 642-98-71
Сжатие данных
В основе алгоритмов сжатия без потерь лежат свойства префиксных кодов, а именно то, что их алфавит можно представить кодами разной длинны.
Префисный код - код переменной длинны позволяющий однозначно декодировать его в сообщении.Таким образом хотя префиксный код состоит из слов разной длины, эти слова можно записывать без разделительного символа.
Дес. знак | Бинарный код | Префиксный код |
1 | 01 | 1 |
2 | 10 | 01 |
3 | 11 | 001 |
Идея, положенная в основу кода Шеннона, основана на частоте появления символа в последовательности. Символ, который встречается в последовательности чаще всего, получает новый очень маленький код, а символ, который встречается реже всего, получает, наоборот, очень длинный код. Это нужно, так как мы хотим, чтобы, когда мы обработали весь ввод, самые частотные символы заняли меньше всего места ( и меньше, чем они занимали в оригинале), а самые редкие — побольше (но так как они редкие, это не имеет значения). Например буквенно цифровое сообщение 2,1,1,1,3 в бинароном виде будет представлено как 10 01 01 01 11 (10 bit) а в префисном коде как 01 1 1 1 001 (8 bit)
Алгоритм Хаффмана — это еще один из алгоритмов получения оптимальных префиксных кодов переменной длины.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии