Два пути в никудаАвторы: Алексей Тутубалин, Илья Борг За последние десять-пятнадцать лет цифровая фотография вытеснила фотопленку практически из всех традиционных областей применения. Потребителям проданы сотни миллионов цифровых камер, даже без учета тех, что встроены в мобильные телефоны. Столь массовая индустрия не может существовать без стандартов - и таковые, казалось бы, имеются: стандартизованы устройства для хранения данных (флэш-карточки) и формат изображений JPEG, удовлетворяющий потребности подавляющего числа пользователей.Однако формат JPEG далеко не всегда устраивает профессионалов - фотографов, дизайнеров, сотрудников prepress-бюро, фотобанков и фотоархивов. Зачастую не удовлетворяет он и продвинутых фотолюбителей. Именно поэтому многие модели камер, позиционируемые производителем как профессиональные и полупрофессиональные, поддерживают, кроме JPEG, и запись изображения в формате RAW. У стороннего наблюдателя может сложиться мнение, что RAW - это тоже стандартный формат, обеспечивающий лучшее качество - "качество для профи". Однако это не так: на самом деле жизнь гораздо сложнее, а положение профессионалов на сегодняшнем цифровом фоторынке просто ужасно и к тому же быстро ухудшается (тогда как у менее притязательных любителей все прекрасно). RAW и JPEG: в чем разницаПри сохранении фотографии в формате JPEG все стадии обработки изображения (установка баланса белого, контраста, насыщенности и т. п.) выполняются самой камерой перед записью файла. Напротив, RAW-снимок - это практически неизмененные, сырые данные, полученные при считывании со светочувствительной матрицы фотокамеры и сохраненные в файле. Рассуждая в классических фотографических терминах, JPEG - это почти готовый снимок (аналог Поляроида), а RAW - полуфабрикат, аналог латентного, скрытого изображения на непроявленной пленке, требующий обязательной обработки [Обработка исторически называется "конверсией RAW", а программы для нее - RAW-конверторами] (проявки) - с той существенной разницей, что пленку проявить можно лишь однажды, а RAW - столько раз, сколько захочется, и притом - воспользовавшись разными "проявителями" (конверторами), экспериментируя столько, сколько понадобится, пока не будет достигнут нужный результат. Разумеется, чтобы получить на выходе камеры JPEG, также выполняется конвертация RAW. Соответствующий конвертор - часть интеллекта камеры. Если конвертация, выполненная самой камерой, неудовлетворительна (плохой контраст, неестественный цвет, слишком плотные тени, слишком яркие света), исправить существенные ошибки этой стадии при дальнейшей обработке изображения на компьютере уже невозможно. При сохранении в формате JPEG значительная часть данных изображения, зафиксированного камерой, теряется безвозвратно. Кроме того, используемое в JPEG сжатие с потерями сильно ограничивает и возможности последующей коррекции снимка. При записи изображения в формате RAW (в отличие от записи в JPEG) камера никакой цифровой обработки изображения не выполняет - вся обработка делается после съемки, на мощном компьютере с хорошим монитором. Это позволяет использовать более сложные алгоритмы и визуально контролировать и процесс, и его результаты. Как правило, качество результирующего изображения существенно выше, а кроме того, можно подбирать параметры обработки в широких пределах, со значительно меньшим риском возникновения постеризации [Постеризация (от слова poster, плакат) - уменьшение количества оттенков изображения при обработке], роста шумов и появления всяческих артефактов. Обработка RAW-файлов требует и дополнительных навыков, и дополнительных затрат времени, поэтому данный формат используется меньшинством фотографов: продвинутыми любителями и профессионалами - в тех случаях, когда качество результата важнее оперативности его получения или когда условия съемки не допускают применения JPEG в связи с его ограниченным по сравнению с RAW динамическим диапазоном. Кроме того, иногда съемки в RAW требует заказчик, а иногда ее используют в качестве своеобразной подстраховки. Впрочем, "меньшинство" - это миллионы пользователей во всем мире. Отнюдь не способствует распространению RAW - при всех его достоинствах - и почти полное отсутствие разумных стандартов на этот формат, из-за чего участники рынка вынуждены иметь дело с десятками (или сотнями - как считать) вариантов представления данных. Форматы данных и совместимостьФотография - одна из тех отраслей, которая во многом зависит от прозрачного и взаимнооднозначного обмена данными между участниками процесса. Порой эти ожидания оправдываются (JPEG, TIFF, многие другие "стандартные" форматы), однако в случае RAW - это совсем не так. Например, фотограф, выполнив съемку в RAW и просмотрев ее результаты с помощью своего конвертора, не может вслепую отдать RAW-файлы в подготовку к печати - из-за использования различных конверторов или даже различных версий одного конвертора результаты конвертации могут оказаться разными, - даже если фотограф передаст параметры конвертации вместе с самим файлом. На сегодняшний день общепринятых стандартов RAW нет. Исторически сложилось так, что формат выдаваемых конкретной фотокамерой RAW-файлов определяется ее производителем. В большинстве случаев используются расширения формата TIFF, но они у каждого производителя свои. Ряд производителей имеет несколько (несовместимых) форматов RAW. Бывает и так, что одна камера может выдавать несколько разных форматов. Как правило, документация на форматы публично недоступна. Некоторые производители принимают дополнительные меры по закрытию данных (к примеру, шифрование части полей данных, используемое компанией Nikon, но это не единственный случай). С точки зрения производителей камер закрытость форматов объясняется просто:
Стремительность развития цифровой фототехники не позволяет создать универсальный формат данных, который устроил бы всех и навсегда. Вместе с тем сегодняшнее изобилие явно избыточно. И вызвано оно, в числе прочего, отсутствием серьезных попыток стандартизации. Фотографической индустрии всегда было присуще разнообразие, порой совершенно неуместное. Появлялись и вымирали форматы пленки (828, 110, 126, APS, disc film), хирели или вовсе исчезали вариации химического процесса (Polacolor, C-22, K-14). Не все знают, чем вызвано упомянутое разнообразие (к сожалению, помимо экономических и технологических факторов, сей калейдоскоп зачастую объясняется тривиальным желанием привязать к себе потребителя или заработать на предоставлении прав конкурентам); но все знают, к чему это привело: архивы, накопленные в "форматах-неудачниках", могут поддерживаться только профессиональными архивными службами, а частным лицам и мелким компаниям это не под силу. Очень не хотелось бы, чтобы подобная участь ожидала накапливаемые сегодня цифровые фотоархивы. Особенно принимая во внимание, что за последние пять лет фотографий снято примерно столько же, сколько за предыдущие тридцать. Данные,метаданные и смыслыОдним из существенных достижений цифровой фотографии является то, что кроме самого снимка (то есть собственно данных) сохраняются еще и метаданные.
Такой "документации", разумеется, совершенно недостаточно. Несмотря на все усилия "хакеров", случаются ошибки, полнота описания метаданных хромает, иногда правильная расшифровка поля данных от какой-то камеры становится доступной как раз к тому моменту, когда камера уже снята с производства. В результате даже авторы программ обработки RAW не могут с уверенностью утверждать, что они все делают правильно [Исключением из этого правила являются конверторы, поставляемые производителем фотокамеры]. Забавным следствием является то, что сравнение качества программ обработки RAW на одном-двух примерах становится бессмысленным. Революционная ситуация цифровой фотографииТаким образом, в индустрии цифровой фотографии складывается революционная ситуация в полном соответствии с определением В. И. Ленина: Фотографы (и вся индустрия, использующая результаты их работы) не могут жить по-старому: разнообразие недокументированных форматов никого не устраивает, особенно учитывая, что новые модификации форматов прирастают экспоненциально. Производители фототехники не могут управлять по-старому: несмотря на все их усилия, в том числе (и особенно) по сокрытию информации, конверторы независимых производителей доминируют по числу пользователей и зачастую обеспечивают более высокое качество результата. Как известно, перерастание революционной ситуации в революцию зависит от наличия партии, готовой и способной возглавить борьбу. Встает резонный вопрос: а как в этом хаосе работает хоть что-то? Разработчики в основном используют два подхода, хоть как-то снижающих энтропию:
Нетрудно видеть, что оба способа бесперспективны, особенно в стратегическом плане. Adobe DNGФормат DNG предложен компанией Adobe в сентябре 2004 года в качестве универсального формата "цифрового негатива", предназначенного для вечного архивного хранения данных. Спецификация DNG 1.0 была очень плохо продумана [В DNG 1.0 не было места для хранения части данных: значений маскированных (закрытых от света) пикселов, которые используются для расчета уровня шума и некоторых видов шумопонижения], и через полгода Adobe предложила спецификацию DNG 1.1. Помимо описания формата, был выпущен и DNG SDK, который иначе как "отпиской" не назовешь: удобочитаемая документация, полезные примеры, а также программные заготовки практически отсутствуют. Прежде чем двигаться дальше, проверим оба утверждения Adobe: об архивности и об универсальности. Архивный?Эксперимент очень прост: сымитируем ситуацию, которая могла бы иметь место года три назад, для чего возьмем исходный RAW-файл от достаточно старой камеры (Canon Powershot G6) и преобразуем его в DNG старой версией конвертора Adobe [Adobe DNG Convertor, поставлявшийся совместно Adobe Camera Raw 2.3]. Для проверки архивности преобразуем с одинаковыми настройками оба файла - исходный RAW и производный от него DNG - в растровый RGB-формат, воспользовавшись текущей версией Adobe Camera Raw [Adobe Camera Raw 4.5], и посмотрим на разницу в результатах (рис. 1). Визуальное различие между двумя вариантами конверсии невелико и скорее всего на журнальной печати видно не будет, но механическое вычитание показывает, что разница есть. Довольно трудно считать "архивным" формат, который не обеспечивает идентичность с исходным материалом, даже когда архив и исходный материал обрабатывались одинаково. Универсальный?Для проверки "универсальности" выполним обратную операцию: возьмем кадр, сделанный с помощью относительно новой камеры (Canon 1D Mark III), преобразуем его в DNG современной версией DNG-конвертора и попробуем "подсунуть" старой версии конвертора Adobe Camera Raw, которая эту камеру не знает. Этот эксперимент весьма актуален потому, что поддержка новых камер в Adobe Photoshop CS2 прекращена, однако далеко не все готовы платить за апгрейд до Adobe Photoshop CS3 или CS4, не предоставляющих никаких дополнительных преимуществ в применении к их задачам. Выяснилось, что версия Camera Raw 2.4 полученный DNG-файл просто не открывает, а версии 3.x - открывают, но результаты конверсии RAW и DNG в RGB (рис. 2) отличаются еще больше, чем в предыдущем эксперименте. Недостатки и эволюция DNGПричина двух рассмотренных выше неудач заключается в том, что в спецификациях DNG описано недостаточное количество метаданных. На каждом этапе развития DNG Adobe распаковывает и "стандартизирует" лишь те метаданные, которые необходимы для работы их сегодняшних конверторов. Все остальные метаданные если и хранятся, то в исходном (недокументированном) виде. "Стандартизованных" данных очевидно не хватает для заявленной цели (универсальный архивный формат). Adobe постепенно дополняет спецификацию, находя смысл в тех метаданных, которые в предыдущих версиях конверторов игнорировались. Но если файл уже сконвертирован более старой версией конвертора, часть этих данных может быть, как показано выше, безвозвратно утеряна.
Формат DNG никак не помогает разработчикам поддерживать нестандартные сенсоры (полноцветный Foveon, Fuji SuperCCD SR с двумя разными изображениями в одном кадре и т. п.). Конечно, придумать способ хранения нестандартных данных внутри DNG нетрудно, но нестандартные данные требуют и нестандартных алгоритмов, а вот их-то стандарт DNG не предусматривает [О чем представители Adobe пишут открытым текстом (см., например, forums.dpreview.com/forums/read.asp?forum=1027&message=22605268)]. В то же время некоторые производители (Panasonic, Leica, Samsung) стали использовать формат DNG в качестве выходного формата своих камер, что, впрочем, не мешает им продолжать записывать недокументированные метаданные, благо в спецификациях DNG для них предусмотрено специальное место. Можно рассматривать DNG как еще один RAW-формат, в этом смысле он чуть лучше всех остальных, ибо часть полей все же как-то документирована. В качестве "универсального архивного формата" использовать DNG нельзя, и это видно даже из описанных выше простых экспериментов. Кроме того, принятие DNG в его сегодняшнем виде в качестве стандарта ведет еще и к тому, что следом неявно навязывается и способ конвертации, который использует Adobe. OpenRAWВ 2005 году возникла инициатива OpenRAW. Фактически она сводилась к призыву производителям камер опубликовать спецификации их RAW-форматов. Призыв сей был дружно проигнорирован, несмотря на то что очень уважаемые люди вели вежливые и неспешные переговоры по всем правилам японского этикета с весьма влиятельными сотрудниками ведущих производителей цифровой фотоаппаратуры.
Про OpenRAW вовсе не имело бы смысла упоминать, если б не PR-кампания, развернутая три года назад. Кампания оказалась успешной, многие теперь думают (к сожалению, ошибочно), что есть такой формат данных - OpenRAW. Кто виноват и что делать?Вышеописанные проблемы фотографической индустрии связаны, в числе прочего, с тем, что список требований к RAW-данным никогда всерьез не обсуждался. В результате набор интерпретируемых конвертором метаданных в каждом конкретном случае отражает мнение разработчиков формата о правильном способе обработки этих данных. За примерами далеко ходить не надо - один из авторов статьи сам грешен тем, что хоть и знает, как расшифровываются записанные в метаданных камер Nikon тональные кривые, но считает их плохими и посему со спокойной совестью в своем конверторе оные игнорирует. Формат DNG тоже укладывается в указанную тенденцию: данные, добавленные в версии 1.2, в первую очередь предназначены для использования программами Adobe. Информационная индустрия многократно сталкивалась с подобными проблемами и решала их путем принятия стандартов на форматы данных. Перед принятием эти стандарты обсуждаются всеми заинтересованными сторонами, а при необходимости - дополняются и пересматриваются по, опять же, стандартной процедуре. В случае RAW-форматов принятие стандарта на метаданные тоже является разумным выходом из сложившейся ситуации. Стандарт должен описывать обязательные и рекомендованные метаданные. Кроме того, должно быть запрещено шифрование обязательных, важных для последующей обработки полей. О составе полей такого формата можно спорить (в рамках комитета по стандартизации), хотя некоторые из них очевидны. Одним из таких очевидных полей, отсутствие которого значительно замедляет работу и вызывает непроизводительные затраты времени и средств, является описание спектральных характеристик светочувствительного сенсора камеры. Эти характеристики хорошо известны производителю и в некоторых случаях даже опубликованы в паспортах сенсоров, - к сожалению, в виде кривых достаточно общего вида, а не таблиц точных значений. Отсутствие открытой информации о цветовых характеристиках фотокамеры приводит к тому, что для ее полноценной поддержки требуется либо провести серию утомительных, дорогостоящих и не всегда достаточно точных тестов, либо подбирать цвет на глаз. Это занимает время, поэтому для новых камер какое-то время доступен единственный RAW-конвертор, предлагаемый - иногда за дополнительные деньги - фирмой-производителем камеры. И он далеко не всегда устраивает пользователей, иногда потому, что не обеспечивает достаточного качества, а зачастую - просто не вписывается в отработанный процесс, принятый пользователем или большой корпорацией. Например, многие дизайн-бюро, фотостудии и prepress-бюро пользуются только продуктами компании Adobe. Поддержка же новых камер в этих продуктах может задерживаться на месяцы. Как уже говорилось, появление DNG в значительной степени и есть попытка компании навязать индустрии свой формат в качестве единого стандарта и таким образом снять столь раздражающую пользователей проблему запаздывания поддержки новых камер. В то же время DNG не безнадежен и вполне мог бы стать основой для стандарта. Достаточно расширить список полей метаданных, сделать необязательными часть специфических для Adobe полей и запретить шифрованные данные. Правда, конкурирующие разработчики прекрасно осведомлены об истории формата TIFF [Формат TIFF достался Adobe при покупке компании Aldus вместе с PageMaker. Изменения, внесенные в стандарт сразу после покупки, были призваны затруднить жизнь QuarkXpress, конкуренту PageMaker] и относятся к инициативам Adobe с осторожностью, но, передав DNG в какой-то комитет по стандартам, эту проблему, возможно, и удастся решить. Оба же имеющихся на сегодняшний день подхода - и описание всех особенностей десятков-сотен форматов данных (OpenRAW) (тем более без описания смысла полей форматов), и не соответствующий требованиям куцый единый формат (DNG) - проблем индустрии решить не могут и по сути являются путями в никуда. Сенсоры цифровых камерПодавляющее большинство цифровых камер оснащены сенсором с так называемой байеровской матрицей (Bayer pattern), названной в часть Брайса Байера, сотрудника компании Kodak, запатентовавшего эту схему в 1975 году.Как показано на рисунке, каждый светочувствительный элемент сенсора камеры закрыт своим собственным светофильтром и воспринимает только часть цветов спектра. Классическая (по исходному патенту) байеровская матрица состоит из двух элементов, чувствительных к яркости, и двух цветочувствительных элементов в квадрате 2x2. В реальных камерах спектральные чувствительности отдельных элементов делают разными: классическим стал RGB-вариант, но это не догма, есть и CMYG (Cyan-Magenta-Yellow-Green) матрицы и другие варианты. В любом случае, каждый из элементов сенсора получает только часть цветовой информации, остальные данные безвозвратно теряются (отфильтровываются цветными фильтрами). Для восстановления полной цветовой картины используются различные методы интерполяции. Любая интерполяция может давать ошибку, нетрудно подобрать тестовый объект, который будет конкретной камерой и конкретным RAW-конвертором воспроизводиться неверно. Одна из самых больших проблем - цветовой муар, который трудно гарантированно подавить программным способом. Для борьбы с ним большинство фотокамер имеют противомуарный (anti-alias) фильтр поверх сенсора, немного размывающий изображение. Разумеется, производители активно разрабатывают сенсоры, лишенные недостатков байеровской матрицы. До использования в конечной продукции пока добрались только Foveon X3, где три сенсора (чувствительные соответственно к синему, зеленому и красному) расположены друг под другом. К сожалению, разделение цветовых каналов у Foveon не очень хорошее, что ведет к проблемам цветовоспроизведения.
|