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









