Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Алгоритмы обратимых методов

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

При исследовании методов сжатия данных следует иметь в виду существование следующих доказанных теорем.

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

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

Таким образом, обсуждая различные методы сжатия, следует иметь в виду, что наивысшую эффективность они демонстрируют для данных разных типов и раз­ных объемов.

 

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

 

Таблица 1. Свойства алгоритмов сжатия

Алгоритм   Выходная структура   Сфера применения   Примечание  
RLE (Run-Length Encoding)   Список (вектор данных)   Графические данные   Эффективность алгоритма не зависит от объема данных  
KWE (Keyword Encoding)   Таблица данных (словарь)   Текстовые данные   Эффективен для массивов большого объема  
Алгоритм Хафмана   Иерархическая структура (дерево кодировки)   Любые данные   Эффективен для массивов большого объема  

Алгоритм RLE

В основу алгоритмов RLE положен принцип выявления повторяющихся последо­вательностей данных и замены их простой структурой, в которой указывается код данных и коэффициент повтора.

Например, для последовательности: 0; 0; 0; 127; 127; 0; 255; 255; 255; 255 (всего 10 байтов) образуется следующий вектор:

Значение   Коэффициент повтора  
   
   
   
   

При записи в строку он имеет вид:

0; 3; 127; 2; 0; 1; 255; 4 (всего 8 байтов). В данном примере коэффициент сжатия равен 8/10 (80 %).

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

Алгоритм Хафмана

В основе этого алгоритма лежит кодирование не байтами, а битовыми группами.

Пример 1. Кодирования символов русского алфавита представлен на рис.

Бит

Бит

Бит

Бит

Бит

Бит

……………………………………………………………………………………………

128 значений
16 бит


Дата добавления: 2015-12-08; просмотров: 135 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)