Sorry, not available yet
   

На главную страницу
Список статей

Неизвестный JPEG
_______________________________________________________

 

   I.

   Вот уже многие годы JPEG и GIF являются двумя наиболее распространенными форматами для представления графической информации в Internet. Казалось бы, что может быть в них загадочного? Уж и так их описывали, и эдак… Все так… Но, к сожалению, многие авторы, подвизающиеся на ниве ликбеза, сеют не только разумное, но и заблуждения.

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

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

   Откройте какой-либо файл в программе Photoshop и сохраните его в формате JPEG с некоторым уровнем качества. Откройте только что созданный файл и сохраните его ещё раз с тем же самым уровнем качества. Повторите эту процедуру несколько раз. Уже начиная со второй копии качество никак не ухудшается: последовательно сохраненные файлы никак не будут отличаться друг от друга.

В других программах обработки графики последовательное применение пары команд Open/Save
при постоянном уровне качества JPEG может давать другие результаты, но суть останется неизменной.

Примечание:
Тут уместно напомнить процедуру инструментального сравнения двух файлов в Photoshop. Сравниваемые изображения следует поместить в два разных слоя и установить blending = difference. Если изображения одинаковы, результатом будет идеальный черный прямоугольник. Убеждаться в идеальной черноте следует не на глазок, а с помощью инструмента «пипетка».

   Так что же имеют в виду, когда говорят, что качество падает при многократном выполнении операций Open/Save? Формат JPEG является форматом с потерями. Это значит, что при сохранении файла алгоритм принимает решение о том, чтобы подвергнуть некоторые цвета оригинального изображения трансформации. Если просто последовательно выполнять несколько операций Open/Save (при одном и том же уровне качества), то преобразование цветов пикселей произойдет лишь на первом этапе, а при последующих сохранениях цветовая палитра будет оставаться без изменений. Однако гораздо хуже ситуация будут складываться, если в промежутке между операциями Open и Save мы будем как-то редактировать (изменять файл). Теперь на каждом этапе процедура пересчета цветов может отфильтровывать все больше и больше исходных оттенков. Часто это смещение цветовой гаммы является гораздо большим недостатком, чем пресловутые артефакты JPEG.

   Однако, лучше один раз увидеть, чем сто раз услышать. Рассмотрим небольшой пример (см. рис. 1).

Рис. 1 Фрагмент натюрморта Франса Снейдерса

Рис. 2 Результат 10-кратного сохранения в JPEG
(с добавлением однопиксельных белых полосок слева и сверху при каждом сохранении)

   На рис. 2 показано, что происходит с изображением при многократном сохранении в формате JPEG с промежуточным редактированием. В данном случае это редактирование было минимально: после каждого открытия к изображению были добавлены слева и сверху две белые полоски шириной в 1 пиксель. Почему простое добавление этих полосок привело к смещению цветовой гаммы? Дело в том, что в процессе JPEG-сжатия изображение разбивается на квадраты 8 х 8, и решение о трансформации цветов происходит в пределах этих блоков. После добавления однопиксельных полосок разбиение будет произведено уже по-новому. В результате, при каждой операции сохранения, цвета на изображении немного меняются. Именно это явление и можно наблюдать на рис. 2. Иными словами, прямоугольные артефакты JPEG — это лишь полбеды, причем часто не самая критическая ее половина.

  Так что же? Отказаться от редактирования JPEG совсем? Излишняя категоричность тут, наверно, ни к чему. Ведь часто редактировать JPEG приходится потому, что оригинала в другом формате просто нет в наличии. В таких случаях разумно придерживаться следующей рекомендации: сохраненный после редактирования JPEG-файл должен быть по объему не меньше (а лучше — больше) оригинала. Само по себе это правило не гарантирует хорошего результата, но на безрыбье…
 

   II.

   Уж коли речь зашла про JPEG, обсудим еще одно его свойство. Количество цветов в JPEG-изображении может быть примерно 16 млн. Много это или мало?

   Среди ученых нет единого мнения насчет того, сколько же цветов различает человеческий глаз. Некоторые оценки можно, например, найти тут: http://rc.nsu.ru/distance/Biology/Archives/033.html. Цифры разные, но большинство источников дают оценки меньше джипеговских 16 млн. (Правда, в разных частях спектра человеческий глаз различает разное количество оттенков; и кроме того, зрительное восприятие — вообще непростая для описания вещь). Как бы там ни было, в формате JPEG действительно могут храниться оттенки, которых мы не различаем.

   Вот небольшой пример. Как-то участница Livejournal Тамара Николаевна Зибунова разместила в своем журнале фотографию в формате JPEG (рис. 3), сопроводив её вопросом: «Как вы думаете, что здесь изображено?»

 
Рис. 3
 
Рис. 4

   Умудренные многими знаниями собеседники Тамары Николаевны долго гадать не стали. Не мудрствуя лукаво, они просто загрузили изображение в Photoshop и выполнили команду Auto Levels. И тайное стало явным: на фотографии изображен кот, сидящий на оконной раме (рис. 4).
 

   III.

   Итак, артефакты, присущие формату JPEG, — это лишь один из его недостатков. Не самый страшный. Если не злоупотреблять сжатием, то практически всегда можно добиться незаметности этих самых артефактов. Но, как было показано в ходе «маленького ненаучного эксперимента», этому формату свойственна еще одна существенная проблема: потеря оттенков и смещение цветовой гаммы. При этом такие потери не всегда рациональны с точки зрения зрителя: с одной стороны, алгоритм искажает цвета, которые для восприятия играют важную роль (только взгляните на унылый виноград на рис. 2!); с другой стороны, он сохраняет то, чем вроде бы безболезненно можно было пожертвовать (например, детали в тенях на рис.3).

   Значит ли это, что формат безнадежно плох? Нет, конечно. Как любой другой инструмент, он обладает своими плюсами и минусами. Важно знать их и по мере необходимости учитывать.

   Благодарность

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

* * *

 

На главную страницу
Список статей


© Игорь Ефремов, 2007, все права сохранены

Для использования материалов этого сайта в коммерческих или некоммерческих целях необходимо получить от меня письменное разрешение, если обратное не оговорено в явной форме.
 

Hosted by uCoz
Строительство пруда для разведения рыбы: важные нюансы подробно.