Опрос

Какой архиватор наиболее эффективный?:

Новички

Виктор Васильев
Юрий Антонов
Сергей Андреевич
Генадий
Avanasy

Предварительная обработка данных

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

Исходные данные -> препроцессор -> кодер -> сжатые данные

а схема декодирования:

Сжатые данные -> декодер -> постпроцессор -> восстановленные данные

Препроцессор должен так видоизменить входной поток, чтобы коэффици­ент сжатия преобразованных данных был в среднем лучше коэффициента сжа­тия исходных, "сырых" данных. Система препроцессор-постпроцессор работает автономно; кодер "не знает", что он сжимает уже преобразованные данные. Постпроцессор восстанавливает исходные данные без потерь информации, по­этому результаты работы и само существование системы препроцессор-постпроцессор могут быть не заметны для внешнего наблюдателя.

В общем случае преобразования, выполняемые препроцессором, могут быть реализованы в кодере и при этом быть такими же эффективными с точки зрения улучшения сжатия. Но предварительная обработка позволяет существенно упростить алгоритм работы кодера и декодера, дает возмож­ность создания достаточно гибкой специализированной системы сжатия данных определенного типа на основе универсальных алгоритмов. Модули препроцессор-постпроцессор обычно можно применять в сочетании с раз­личными кодерами и архиваторами, повышая их степень сжатия и, возмож­но, скорость работы.

В этой главе рассмотрено несколько способов предварительной обработ­ки типичных данных. Предполагается, что алгоритм сжатия предназначен для кодирования источников с памятью. Описываемые методы препроцес-синга достаточно хорошо известны в кругу разработчиков программ сжа­тия, но не получили широкого освещения в литературе.