пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

Кодування Хаффмана для систем стиску мультимедіа-інформації

Идея алгоритма заключается в следующем: найти вероятности символов в сообщении, можно описать процедуру построения кодов переменной длины, состоящие из целого числа битов. Символам с большей вероятностью ставятся в соответствие короткие коды. Коды Хаффмана имеют префиксальное свойство (т.е. ни кодовое слово не является префиксом другого), что позволяет однозначно их декодировать.

Классический алгоритм Хаффмана на входе получает таблицу частоты зустричання символов в сообщении. Далее на основании этой таблицы строится дерево кодирования Хаффмана (Н-дерево).

  1. Символы входного алфавита образуют список свободных узлов. Каждый лист имеет вес, который может равняться или вероятности, или количества вхождений символа в сообщение, которое было сжато.
  2. Выбираются два свободных узлы дерева с наименьшими весами.
  3. Создается отец с весом, равной их суммарной весе.
  4. Отец добавляется в список свободных узлов, а два его потомка удаляются из этого списка.
  5. Одной дуге, выходящей из родителей, ставится в соответствие бит 1, другой - бит 0.
  6. Шаги, начиная со второго, повторяются до тех пор, пока в списке свободных узлов не останется только один свободный узел. Он и будет считаться корнем дерева.

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

Алгоритм Хаффмана с фиксированной таблицей - модификация классического алгоритма используется при сжатии черно-белых изображений (один бит на пиксель). Последовательности черных и белых точек в нем заменяются числом, равным их количества. А этот ряд, уже в свою очередь, сжимается по Хаффману с фиксированной таблицей. Каждая строка изображения сжимается независимо.


17.01.2016; 23:17
хиты: 69
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь