Август 26, 2005

Полевые испытания графических форматов

Перед каждым шароварщиком рано или поздно встает вопрос – какой формат файлов использовать для подготовки графических материалов к программе. Есть ли “правильный” ответ на этот вопрос?

Озадачившись, я решил провести небольшое исследование трех наиболее популярных форматов на пригодность для использования в shareware-индустрии.

Наибольшее распространение и поддержку получили следующие форматы: gif, jpeg и png. Ниже приводится их краткое описание для того, чтобы в дальнейшем было проще понять, как особенности конкретного формата тем или иным образом отразились на качестве и размере файлов.

Формат gif

Формат gif – один из старейших в web. До недавнего времени практически вся web-графика использовала его возможности. Основные преимущества – возможность создания “прозрачных” участков изображения и анимация. Для сжатия используется алгоритм LZW, который используется в архиваторе zip и базируется на нахождении повторяющихся цепочек символов. Минусы – поддержка не более 256 цветов.

Формат jpeg

Второй по популярности формат в области web и первый – в сфере цифровой фотографии. Алгоритм сжатия использует довольно сложные математические модели и преобразования (в частности, дискретно косинусное), учитывает особенности работы человеческого глаза. Замечательной возможностью является манипулирование степенью сжатия – можно получать маленькие файлы, жертвуя качеством и наоборот.

Формат png

Формат png сравнительно молод, поэтому не успел снискать всеобщее признание. Основное отличие от предыдущих – сохраняет оригинальное качество изображения, то есть сжимает без потерь. Это преимущество является и недостатком, так как вы не сможете получить файл маленького размера, пожертвовав качеством. Среди множества других вкусностей поддержка прозрачности и настоящего полноцвета (вплоть до 48 бит на пиксел).

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

Оценка качества скриншотов

Запускаем программу, нажимаем волшебную комбинацию Ctrl + PrntScrn (сделать скриншот рабочего окна) и последовательно переводим оригинальный файл в различные форматы. Сразу привожу таблицу сравнения, отсортированную по размеру:

screen-gif-128.gif – 21,677 – версия в формате gif, 128 цветов
screen-gif-256.gif – 23,708 – версия в формате gif, 256 цветов
screen-jpeg-low.jpg – 29,258 – jpeg, 10% качество
screen-png.png – 36,577 – формат png
screen-jpeg-medium.jpg – 40,728 – jpeg, 30% качество
screen-jpeg-high.jpg – 63,755 – jpeg 60% качество

Вы можете просмотреть их в отдельном окне и задать себе тот же вопрос, что и я – какие выводы можно сделать просмотра данных изображений?

Прежде всего, jpeg с низким качеством просто безобразен! Его нельзя показать даже родной маме, не то, что потенциальным или состоявшимся покупателям. Jpeg среднего качества смотрится уже лучше, но артефакты все-таки заметны даже невооруженным взглядом, поэтому применять его я бы все-таки поостерегся. Jpeg высокого качества вполне на уровне – атефактов не заметно, цвета естественны.

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

Лидером обзора по качеству стал формат png, что и неудивительно. Никакого сравнения с jpeg! Однако даже в полтора раза меньший скриншот в gif выглядит несильно хуже, чем png.

Полноцветные фотографии

Переходим ко второй части наших испытаний. Для того, чтобы оценить, как поведут себя разные алгоритмы сжатия на полноцветной картинке фотографического качества, я взял фото девушки (довольно миловидной внешности), которое содержало как можно больше различных цветов, а главное – различные плавные переходы, которые наиболее трудно передаются.

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

Привожу таблицу картинок, отсортированных в порядке увеличения размера файла – вы можете посмотреть и сравнить их в отдельном окне, кликнув на соотв. ссылке.

photo-jpeg-low.jpg – 14,144 – jpeg, 10% качество
photo-jpeg-medium.jpg – 21,736 – jpeg, 30% качество
photo-jpeg-high.jpg – 44,498 – jpeg 60% качество
photo-gif-128.gif – 73,787 – версия в формате gif, 128 цветов
photo-gif-256.gif – 94,084 – версия в формате gif, 256 цветов
photo-png.png – 323,082 – формат png

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

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

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

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

Выводы

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

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

Для передачи фотографий альтернативы на данный момент нет – jpeg и еще раз jpeg, желательно как можно более высокого качества.

Формат png использовать не стоит – идеальное качество не дает в наших условиях никаких особых преимуществ, а вот размеры файлов способны весьма разочаровать. Да и поддержка пока не на высоте.

P.S: Напоследок – пара слов об оборудовании, которое использовал. Это достаточно неплохой 17″ монитор Philips 107P4 на базе электронно-лучевой трубки с апертурной маской (лучший CRT из всех мной виденных) и видеокарта Matrox G200 – несколько лет назад эта карточка была рабочей лошадкой для многих профессионалов в сфере графики.

P.P.S: Так как возможности воспользоваться LCD-панелью сейчас нет, было бы интересно услышать комментарии людей, работающих с ЖК-мониторами.


Похожие записи

Так вот ты какой, интернет-предприниматель…
Google AdSense идет в народ
Текущий стиль веб-дизайна
Первый литературный опыт моей жены




Комментарии [8] - на пост “Первый литературный опыт моей жены”

  1. Илья

    Написано живо. Понравилось. :) Даже упомянул вашу историю в форуме http://forum.omsk.com/viewtopic.php?t=23821&start=45
    :)

  2. Сергей Гоцуляк

    Думаю, жена будет весьма польщена ;-)

    Кстати, я все пытаюсь убедить ее открыть кулинарный блог и блог о материнстве :-)

  3. Joe

    Т.е. все эти слова в посте и комменте — всё это посвящено вашей любимой жене? Просто ужасно.

  4. Сергей Гоцуляк

    Joe, возможно, что моя ирония была действительно несколько жесткой. Поэтому я просто исправил свой пост и комментарий, чтобы более точно отразить свои чувства в отношении жены и ее рассказа. Основная мысль: “Так держать!” :-)

  5. March

    Сергей, несмотря на исправление, создается ощущение (забыла точное слово) ущемления прав женщины в интересах мужчины. Вот объясни плиз, как это: “все свободное время тратит на маленького ребенка, уборку, готовку”. “Все свободное” или точнее будет сказать “все”? куда уходит “несвободное” время? она занята “тем, что любит”?

  6. Zybc

    История неплохая, но необычная… лично я не очень верю в знакомство через сеть.

  7. Сергей Гоцуляк

    Как ни удивительно, подобные истории случаются все чаще и чаще. Недавно списался со своей бывшей однокурсницей, оказалось, что она со своим мужем познакомилась также посредством Сети!

  8. Vera

    Да-да! И бывшая однокурсница , в моем лице, полностью подтверждает реальность виртуальных знакомств! :)

Ваше мнение?