Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Алгоритмы методов сжатия
Сжатие информации достигается за счет устранения избыточности в данных путем обработки файлов по специальным алгоритмам. Существует достаточно много методов сжатия данных, однако в их основе лежит сравнительно небольшое количество теоретических алгоритмов (табл. 8.1). Таблица 8.1 Свойства алгоритмов сжатия
Алгоритм RLE заменяет повторяющиеся символы двумя значениями: числом повторений и кодом. Например, если текст содержит 20 пробелов, которые следуют подряд, то вместо 20 байт можно записать только 2 байт: число 20 (в двоичном коде) и код пробела. Программные реализации алгоритмов RLE отличаются простотой, высокой скоростью работы, но в среднем обеспечивают недостаточное сжатие. Наилучшими объектами для данного алгоритма являются графические файлы, в которых большие одноцветные участки изображения кодируются длинными последовательностями одинаковых байт. Этот метод также может давать заметный выигрыш на некоторых типах файлов баз данных, имеющих таблицы с фиксированной длиной полей. Для текстовых данных методы RLE, как правило, неэффективны. Алгоритм KWE кодирует часто встречающиеся последовательности. Кодированию предшествует статистический анализ исходного файла на предмет Алгоритм Хаффмана кодирует символы битовыми группами различной длины. Кодированию предшествует статистический анализ исходного файла на предмет выявления частоты повтора каждого из встречающихся символов. Чем чаще встречается тот или иной символ, тем меньшим количеством битов он кодируется. Образующаяся в результате кодирования иерархическая структура прикладывается к сжатому документу в качестве таблицы соответствия.
|