Август 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-панелью сейчас нет, было бы интересно услышать комментарии людей, работающих с ЖК-мониторами.

Февраль 22, 2006 - 18:33 -
Написано живо. Понравилось.
Даже упомянул вашу историю в форуме http://forum.omsk.com/viewtopic.php?t=23821&start=45
Февраль 22, 2006 - 21:33 -
Думаю, жена будет весьма польщена
Кстати, я все пытаюсь убедить ее открыть кулинарный блог и блог о материнстве
Февраль 24, 2006 - 19:54 -
Т.е. все эти слова в посте и комменте — всё это посвящено вашей любимой жене? Просто ужасно.
Февраль 24, 2006 - 23:12 -
Joe, возможно, что моя ирония была действительно несколько жесткой. Поэтому я просто исправил свой пост и комментарий, чтобы более точно отразить свои чувства в отношении жены и ее рассказа. Основная мысль: “Так держать!”
Февраль 25, 2006 - 4:27 -
Сергей, несмотря на исправление, создается ощущение (забыла точное слово) ущемления прав женщины в интересах мужчины. Вот объясни плиз, как это: “все свободное время тратит на маленького ребенка, уборку, готовку”. “Все свободное” или точнее будет сказать “все”? куда уходит “несвободное” время? она занята “тем, что любит”?
Март 6, 2006 - 0:43 -
История неплохая, но необычная… лично я не очень верю в знакомство через сеть.
Март 6, 2006 - 12:25 -
Как ни удивительно, подобные истории случаются все чаще и чаще. Недавно списался со своей бывшей однокурсницей, оказалось, что она со своим мужем познакомилась также посредством Сети!
Сентябрь 20, 2006 - 18:38 -
Да-да! И бывшая однокурсница , в моем лице, полностью подтверждает реальность виртуальных знакомств!