Сжатие без проблем Дмитрий Андрианов Спецвыпуск: Хакер, номер #050, стр. 050-102-3 ZIP Метод сжатия, аналогичный использующемуся в популярном алгоритме архивации PKZip. В основу ZIP положен метод, аналогичный LZW. Как и LZW, не вносит искажений в исходный файл и лучше всего подходит для обработки графических данных с одинаковыми одноцветными или повторяющимися областями. Используется в файлах формата PDF, TIFF и некоторых других. А теперь рассмотрим алгоритмы и методы конвертирования данных, которые вносят изменения в исходные файлы, показывая при этом более высокую степень качества упаковки графических изображений. JPEG (Joint Photographic Experts Group) Метод, используемый для хранения полутоновых и полноцветных изображений, позволяющий добиться лучшей степени сжатия и минимального размера выходного файла. Принцип работы основан на особенностях восприятия человеческим глазом различных цветов и достаточно сложен с вычислительной точки зрения, так как занимает много процессорного времени. Кодирует файлы в несколько этапов. Во-первых, изображение условно разбивается на несколько цветовых каналов для дальнейшего анализа. Затем картинка разбивается на группы по 64 пиксела в каждой группе (она же - квадратный участок изображения размером 8х8 пикселей) для последующей обработки. Затем цвет пикселей специальным образом кодируется, исключаются дублирующая и избыточная информация, причем при описании цвета больше внимания уделяется скорее яркостной, чем цветовой составляющей, так как человеческий глаз воспринимает изменения яркости лучше, чем изменения конкретного цветового тона. Полученные данные сжимаются по RLE или LZW-алгоритму для достижения еще большей компрессии. В результате на выходе получаем файл иногда в десятки раз меньший, чем его неконвертированный аналог. Однако чем меньше размер выходного файла, тем меньше степень "аккуратности" при работе программы-конвертора и, соответственно, ниже качество выходного изображения. Обычно в программах, позволяющих сохранять растровые данные, есть возможность некоторого компромисса между объемом выходного файла и качеством изображения. При лучшем качестве объем выходного файла в 3-5 раз меньше исходного незапакованного. При качестве похуже - меньше исходника в десятки раз, но, как правило, при этом качество изображения уже не позволяет использовать его где-либо. Данный формат предназначен для хранения в основном фотографических изображений с большим количеством оттенков и цветовых переходов и почти не подходит для хранения однотонных изображений типа кадров из мультфильмов, скриншотов (сжатие будет слишком низким или качество картинки достигнет критической отметки). Этот метод сжатия графических данных используется в файлах формата PDF, PostScript (для включенных объектов), собственно в JPEG и других. |