Веселые картинки

Weird aka Беренштейн Евгений

Хакер, номер #087, стр. 087-034-1

(ICQ# 522715)

Графические форматы и технология сжатия изображений

Однажды, в начале февраля, я сидел с Бубликом и еще двумя замечательными людьми, имена которых слишком известны, чтобы их называть, в одном прекрасном кафе на Китай-городе. И разговор у нас с редактором рубрики PC_Zone зашел вот о чем: все мы часто смотрим картинки в Интернете на различных веселых сайтах, иногда мы сами их обрабатываем. Но далеко не каждый знает, как сжимается изображение и как оно хранится. Ведь никто не хочет ждать по 10 минут, пока загрузится какая-нибудь откровенная фотка или же открытка от любимого человека. Так вот о некоторых принципах сжатия изображений мы сегодня и поговорим.

[как, и вы царь?]

Сначала вернемся на несколько лет назад, чтобы понять, какие алгоритмы сжатия бывают. Первыми для архивации изображений стали применяться привычные алгоритмы. Те, что использовались и используются в системах резервного копирования, при создании дистрибутивов и т.п. Эти алгоритмы архивировали информацию без изменений. Однако основной тенденцией в последнее время стало использование новых классов изображений. Старые алгоритмы перестали удовлетворять требованиям, предъявляемым к архивации. Многие изображения практически не сжимались, хотя «на взгляд» обладали явной избыточностью. Это привело к созданию нового типа алгоритмов, сжимающихся с потерей информации. Как правило, коэффициент архивации и, следовательно, степень потерь качества в них можно задавать. При этом достигается компромисс между размером и качеством изображений.

Но и тут не все так просто. Стоит отметить, что одна из серьезных проблем машинной графики заключается в том, что до сих пор не найден адекватный критерий оценки потерь качества изображения. А теряется оно постоянно — при оцифровке, при переводе в ограниченную палитру цветов, при переводе в другую систему цветопредставления для печати и, что для нас особенно важно, при архивации с потерями.

Специалисты годами пытались выработать этот объективный критерий, который бы позволил четко определить и оценить потери при сжатии, но к единому мнению так и не пришли.

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

Обращаю твое внимание на то, что сжатие изображений не всегда является необходимым, я не имею в виду, что графику не надо обрабатывать, сжимать до приемлемого размера, просто нужно уметь четко различать ситуации, когда это идет на пользу, а когда - во вред. Поэтому сейчас мы поговорим о таких известных и популярных алгоритмах, как JPEG, WAVELET, и рассмотрим форматы GIF и TIFF, реализованные на основе алгоритма LZW.

Содержание  Вперед на стр. 087-034-2
ttfb: 3.1890869140625 ms