Сжатие графики

загруженное (1)

Дизайнеру, верстальщику, фотографу и каждому пользователю практически каждый день приходится работать с графическими файлами. Но если их накапливается целый архив, то искусство может превратиться в муку. Дизайнер, работая над проектом, хранит в своей рабочей папке до 500 Мб различных файлов - от фотографий и до версий эскизов разрабатываемого проекта. Верстальщикам глянцевых журналов приходится работать с еще большим объемом графической информации. В среднестатистическом глянцевом журнале порядка 96-ти полос, и практически на каждой странице размещаются фотографии или другие иллюстрации. Таким образом, общий объем графической информации, с которой работают при верстке, увеличивается до нескольких гигабайт. О фотографах, работающих в рекламных агентствах, страшно даже подумать. Чтобы сохранить одну фотографию в таком качестве, которое было бы приемлемым для дальнейшего использования в полиграфии, потребуется не менее 30-ти Мб. А таких фотографий не одна и не две, их целый архив, который создавался в течение не одного года. Вот и задумываешься после этого о том, на чем все это хранить и как уменьшить объем архива, чтобы тот занимал поменьше места на и без того забитом до краев винчестере. По этим причинам и было изобретено множество методов сжатия самых разных данных, в том числе графических.

АРХИВАЦИЯ И КОМПРЕССИЯ

Как правило, все методы сжатия графических изображений разделяют на две категории: архивацию и компрессию. Под архивацией понимают сжатие информации с возможностью ее дальнейшего восстановления. Компрессия же означает потерю некоторого количества информации об изображении, что естественно приводит к ухудшению качества, но уменьшает объем сохраненных данных. Архивировать можно как растровую, так и векторную графику. Принцип архивации состоит в том, что программа анализирует наличие в сжимаемых данных одинаковых последовательностей и исключает их, записывая вместо повторяющегося фрагмента ссылку на предыдущий и аналогичный ему для того, чтобы была возможность восстановления. Хорошим примером графического объекта с большим количеством одинаковых последовательностей может стать фотография или рисунок с голубым небом в изображении или со сплошной однотонной заливкой. При таком подходе можно восстанавливать нужную информацию без потерь. Компрессия же не гарантирует полного восстановления исходных данных, поэтому ее основная задача - не "убить" что-нибудь очень ценное в погоне за уменьшением объема. Обычно информация, подвергнутая компрессии, занимает значительно меньше объема, чем сохраненная методами архивации. Именно это обстоятельство и оставляет этому методу место под солнцем. Регулирование степени сжатия дает право на выбор: размер выходного файла или сохранение его качества. Рассмотрим несколько алгоритмов сжатия данных, которые не вносят изменений в исходные файлы и гарантируют полное восстановление данных.

RLE (RUN LENGTH ENCODING)

Метод сжатия данных, при котором одинаковые последовательности одних и тех же байтов заменяются однократным упоминанием повторяющегося байта (или целой цепочки байтов) и числа его повторений в исходных данных. Например, строка типа 0100 0100 0100 0100 0100 0100 0100 0100, описывающая некую группу пикселей, будет заменена на запись типа 0100х8 и т.п. Применяется этот тип сжатия в тех случаях, когда изображение имеет большие участки одного цвета, цифровое представление которых идентично. В основном этот тип сжатия применим для монохромных изображений с небольшим количеством цветов: для деловой и научной графики, в которых сжатием данных можно добиться наилучших результатов. Алгоритм применим для сжатия других типов данных (в том числе и не графических), но малоэффективен, так как сжимаемые данные должны иметь простую повторяющуюся структуру. Этот алгоритм имеет еще одно важное преимущество - он от- носительно прост и позволяет быстро производить распаковку из этого формата и упаковку обратно (все графические данные для их обработки должны быть предварительно распакованы, а любая компрессия или архивация применяется в основном для временного или постоянного хранения файла). В принципе, на основе этого несложного алгоритма работают более совершенные и более сложные (а также менее быстрые) методы сжатия графических данных (я рассмотрю их ниже). Этот метод используется для файлов формата .PSD, .BMP и других.

CCITT GROUP 3, CCITT GROUP 4

Эти два похожие метода сжатия графических данных работают с однобитными изображениями, сохраненными в цветовой модели Bitmap. Основаны на поиске и исключении из исходного изображения дублирующихся последовательностей данных (как и в предыдущем типе сжатия - RLE). Оба ориентированы на упаковку именно растровой графической информации, так как работают с отдельными рядами пикселей в изображении. Изначально алгоритм был разработан для сжатия данных, передаваемых через факсимильные системы связи (CCITT Group 3), а более совершенная разновидность этого метода архивации данных (CCITT Group 4) подходит для записи монохромных изображений с более высокой степенью сжатия. Как и предыдущий алгоритм, он в основном подходит для сжатия изображений с большими одноцветными областями. Его достоинство - скорость выполнения, а недостаток - в ограничениях при компрессии графических данных (не все данные удается эффективно сжать таким образом). Этот метод - для файлов формата .PDF, PostScript (в инкапсулированных объектах) и других.

LZW (LEMPLE-ZIF-WELCH)

Алгоритм сжатия данных, основанный на поиске и замене в исходном файле одинаковых последовательностей данных для их исключения и уменьшения размера "архива". В отличие от предыдущих рассмотренных методов сжатия, более "интеллектуально" просматривает сжимаемое cодержимое, а все ради большей степени сжатия данных. Данный тип сжатия не вносит искажений в исходный графический файл и подходит для обработки растровых данных любого типа - монохромных, чернобелых или полноцветных. Наилучшие результаты получаются при компрессии изображений с большими областями одинакового цвета или изображений с повторяющимися одинаковыми структурами. Этот метод демонстнрирует самые поразительные результаты степени сжатия (среди других существующих методов сжатия графических данных) при полном отсутствии потерь или искажений в исходных файлах. Используется в файлах формата .TIFF, .PDF, .GIF, PostScript (в инкапсулированных объектах) и других.


Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>