Реферат: Сжатие данных

значение было улучшено посредством использования дисциплины move-to-front, что

сократило количество счетчиков, значения которых измененяются каждый раз, когда

обрабатывается буква.

Дальнейшее улучшение организации распределения накопленной частоты требует

коренного отхода от простых СД. Требования, которым должна отвечать эта СД лучше

изучить, если выразить ее через абстрактный тип данных со следующими пятью

операциями: initialize, update, findletter, findrange и maxrange. Операция

инициализации устанавливает частоту всех букв в 1, и любое не равное нулю

значение будет действовать до тех пор, пока алгоритм кодирования и

раскодирования используют одинаковые начальные частоты. Начальное значение

частоты, равное нулю, будет присваиваться символу в качестве пустого интервала,

т.о. предупреждая его от передачи или получения.

Операция update(c) увеличивает частоту буквы с. Функции findletter и findrange

обратны друг другу, и update может выполнять любое изменение порядка алфавита,

пока сохраняется эта обратная связь. В любой момент времени findletter ( f, c,

min, max ) будет возвращать букву c и связанный с нею накапливаемый частотный

интервал [ min, max ), где f [ min, max ). Обратная функция findrange( c, min,

max ) будет возвращать значения min и max для данной буквы c.

Функция maxrange возвращает сумму всех частот всех букв алфавита, она нужна

для перечисления накопленных частот в интервале [ 0, 1 ).

Применение расширения к арифметическим кодам.

Ключом к реализации СД, накапливающей значение частот и в худшем случае

требующей для каждой буквы менее, чем O(n) операций для n-буквенного алфавита,

является представление букв алфавита в качестве листьев дерева. Каждый лист

дерева имеет вес, равный частоте встречаемой буквы, вес каждого узла

представляет собой сумму весов его наследников. Рисунок 7 демонстрирует такое

дерево для 4-х-буквенного алфавита ( A, B, C, D ) с вероятностями ( 0.125,

0.125, 0.25, 0.5 ) и частотами ( 1, 1, 2, 4 ). Функция maxrange на таком дереве

вычисляется элементарно - она просто возвращает вес корня. Функции update и

К-во Просмотров: 2679
Бесплатно скачать Реферат: Сжатие данных