Форматы графических файлов

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

BMP

графические форматыРазработан компанией Микрософт для собственных нужд и поэтому поддерживается на уровне операционной системы. Используется практически без сжатия, зато поддерживает до 48-бит цвета на пиксель. Кстати, очень похожую структуру имеют файлы .ICO (иконки) и .CUR (курсоры), так что в принципе их можно взаимно переименовывать, разумеется, соблюдая размеры. Для наших целей особенную ценность не представляет из-за размера. Слева — исходный файл, созданный в программе Paint. Квадрат 100*100 точек, проведены линии толщиной 1 пиксель, квадраты залиты двумя простыми цветами. Размер файла 30054 байт. Назовём его исходным.
графические форматы24 бита = 3 цвета * 8 бит для каждого цвета. 8 бит = 256 вариантов в двоичном коде. Итого 16,7 миллиона цветов. Человеческий глаз различает примерно 12-14 миллионов оттенков. Не всегда необходимо достоверно передавать такое количество оттенков. Можно сохранить этот же файл с 256, либо с 16 цветами (вместо 16 с лишним миллионов для 24-битного представления). Размер файла с 16 цветами равен 5318 байт. Видим, что цвет немного изменился. Для небольших файлов с малым количеством цветов — типа картинок, иллюстраций — вполне себе допустимо.

GIF

графические форматыСпособен хранить сжатое изображение с глубиной цвета не более 256 цветов. При наличии в исходнике бОльшего количества цветов переводит их в более узкий диапазон. Используемые алгоритмы сжатия позволяют использовать данный формат для сохранения изображений, содержащих четкие линии и малое количество цветов — логотипы, схемы, чертежи. Позволяет сохранять несколько изображений в одном. Видели на некоторых сайтах анимированные изображения сексуальной направленности ужасного качества? Вот это и есть GIF. Ещё одна важная особенность — поддержка прозрачных слоёв. Иногда это важно — чтобы, например, логотип аккуратно лёг на цветной фон. Слева — файл с 32 цветами. Размер — 545 бит. Разница, как говорится, налицо. Это же файл с 4 цветами займёт 445 бит.

JPEG (JPG)

графические форматыПредназначен для хранения сжатых изображений. Алгоритмы очень хорошо работают для реальных картин и фотографий, содержащих плавные переходы яркости и цвета. Малопригоден для чертежей, знаковой графики — для таких исходников лучше применять форматы GIF, TIFF. Совершенно не подходит для многоступенчатой обработки. То есть повторное сжатие изображения следует допускать только в исключительных случаях. Слева приведён исходный файл BMP, сжатый с уровнем 98%. Размер файла 1732 байт. графические форматыСправа — тот же файл, сжатый до 30%. Хорошо видны специфические артефакты. Размер файла 703 байта. Кстати, помните Лену Седерберг, по чьей фотографии изучались алгоритмы сжатия? Вот это как раз зарождение формата JPEG. И еще интересный факт: в 2010 году в швейцарских Альпах была закопана капсула с описанием алгоритмов сжатия изображений, популярных в начале XXI века. Для потомков.
Среди довольно большого семейства алгоритмов сжатия JPEG отдельного упоминания заслуживает Jpeg2000. Алгоритм отличается ещё большей степенью сжатия — ещё процентов на 20, за счёт применения такой математики, что я, даже только что с трудом прочитав название, не могу повторить его, не то что хотя бы на пальцах понять, о чём идёт речь. Понятно, что такие преобразования требуют и процессоров посильнее, поэтому алгоритм не получил заслуженного распространения. Здесь не могу разместить образец, так как WordPress не поддерживает его (якобы «по соображениям безопасности»), однако смею Вас заверить, что качество сжатия выше, чем у JPEG, а объём файла при 30% сжатии составляет 865 байт.

PNG

графические форматыОфициально начал жить в 1995 году, как бесплатная замена платному GIF (технически, естественно, никто не собирается платить за использование этого формата, но юридически мы все обязаны это делать). Алгоритм хоть и сжимает изображение, но делает это неразрушающими методами в отличии от JPEG и GIF. Кстати, подобные алгоритмы сжатия использует архиватор ZIP. Благодаря неразрушающему сжатию возможно многократное пересохранение оригинала. Поддерживаются полутоновые изображения с глубиной цвета до 48 бит. Не поддерживает анимацию. Слева расположен файл PNG с 256 цветами. Размер файла — 945 байт.

TIFF

Используется для хранения файлов с большой глубиной цвета. Разрабатывался фирмой Macintosh, а в настоящее время патент принадлежит фирме Adobe. Позволяет сохранять файлы в большом количестве цветовых пространств, среди которых RGB, CMYK, Lab, полутоновый и т.д. Глубина цвета — до 64 бит на цвет (не могу даже представить отрасль человеческой жизни, где нужна такая глубина цвета). Возможно сохранение нескольких изображений (слоёв) в одном файле. Поддерживает различные алгоритмы сжатия без потерь. Из очевидных минусов — большой объём файла. WordPress не поддерживает и его, поэтому показать нет возможности. Размер файла — 2176 байт. Но это для маленьких файлов. А для больших — размер очень даже сравним с RAW, и именно поэтому постепенно теряет актуальность. При прочих равных условиях RAW даёт сто очков форы формату TIFF, а последний по качеству вполне сравним с JPEG с минимальным сжатием. Последний его бастион — полиграфия.

PSD

графические форматыВнутренний формат фирмы Adobe, разработанный специально для своего детища — Photoshop. Поддерживает все его возможности. Сохраняет все слои, в том числе настроечные, и их стили, а также режимы наложения. Зато, благодаря закрытым спецификациям, полностью поддерживается только программами клана Adobe, ну и еще некоторыми продуктами Corel. Ну и, конечно, размер. Огромный. Даже в моей скромной практике, учитывая мою нелюбовь к сохранению слоёв (я стараюсь по возможности сразу сводить их), встречаются файлы по несколько сот мегабайт.

RAW

На самом деле, это даже не стандарт, и он не имеет чёткой спецификации, и каждая фотоаппаратная фирма считает долгом чести поддерживать только свой формат сырых данных. И только Adobe создала хоть какой-то вид стандарта — .DNG, и то, скорее всего, больше для своего удобства. И еще — я был уверен, что RAW — это аббревиатура, а не просто «сырье».
Думаю, что все уже и без меня прекрасно знают о достоинствах и недостатках формата, поэтому не буду продолжать бессмысленную религиозную войну из серии, что лучше — сметана или майонез, Микрософт  или Ubuntu и прочие.

Скажу только, что лично меня напрягает огромный объём файлов. Рядовая свадьба — 30-40 гигов. Никаких дисков не хватит. Особенно в свете нынешнего дискового дефицита. А бэкап?


Для полноты картины я решился на такой эксперимент: взял рядовой файл RAW, открыл его в Любимой Программе и сохранил в двух варианатх — PSD и TIFF (без сжатия). Мой фотоаппарат (Pentax K200D) позволяет сохранять файлы сразу в формате DNG. Путём несложных экспериментов я выяснил, что в DNG файл занимает процентов на 7-10 меньше места, чем в родном пентаксовском PEF, поэтому я уже давным давно велел фотику сохранять все снимки в формате DNG, и уже даже почти забыл об этом. По размерам файлов выяснилось вот что. Исходный DNG занимает 17035 Мб, PSD — 60256 Мб, TIFF — 60255 (без сжатия). Выгоды очевидны, по крайней мере для однослойного файла.
графические форматыДальше — интереснее. Беру этот же исходный файл, и, не обращая внимания на художественную сторону снимка, просто сооружаю вот такой бутерброд, как показан на рисунке: копирую слой, размываю его, изменяю режим наложения, добавляю корректирующий слой, свожу слои в один с помощью волшебной комбинации клавиш — Ctrl+Shift+Alt+E, снова копирую слой, снова добавляю корректирующий слой, и провожу на нём три мазка кистью. Повторюсь, я нимало не беспокоюсь о художественной стороне, и просто произвожу действия,  более-менее похожие на стандартную рабочую ситуацию.
Вот такой биг-мак сохраняю поочередно в PSD и TIFF. Причём, не раз и не два я скачивал файлы PSD со слоями, у которых была отключена видимость слоя. Значит, как-то это должно влиять? Вот и проверим практически.
Биг-мак в PSD — 211,63 Мб, с отключенными слоями — 231,7 Мб. Он же в TIFF — 401,5 Мб, с отключенными слоями — тоже 401,5. Очень удивился полученному результату, полез на уважаемые форумы, которые после 20-30 дельных постов сбиваются с мысли и начинают обсуждать в лучшем случае совершенно постороннюю тему, а в худшем — друг друга. Там высказали предположение, что, возможно, эта фишка работала в CS3 или даже в CS4, а теперь вроде как решили, что диски уже стали большими? Может, кто-то подскажет?
Так или иначе, я для своего техпроцесса оставляю JPG, PNG, RAW и PSD.
Вам же желаю хорошего света и удачных снимков!