Изменить стиль страницы

• Необходимы для получения качественного изображения из RAW: производитель и модель камеры, использованная при съемке чувствительность, данные о балансе белого, использовалась ли вспышка. Ну и сами данные снимка, то есть карта освещенности, зафиксированная сенсором.

• Могут быть использованы при обработке RAW: настройки камеры (контраст-насыщенность), параметры оптики и фокусировки и т. п.

• Не нужны для обработки, но полезны для показа, каталогизации и поиска: дата и время, GPS-координаты, автор снимка, описание снимка и т. п. Нельзя сказать, что никакого стандарта на метаданные нет: существует стандарт EXIF, и большинство производителей камер ему следует. Однако EXIF, создававшийся в первую очередь для сопровождения готовых изображений, описывает поля, нужные для каталогизации (третья группа в нашей классификации), но практически никак не помогает авторам программ обработки RAW. Также нельзя сказать, что данные и метаданные совсем не документированы, но документированность эта соответствует старой шутке [FreeBSD kernel is very well documented, unfortunately it all on "C"]:

• Данные и некоторая часть метаданных "документированы"в известной программе dcraw Дэйва Коффина (Dave Coffin), которая на сегодня поддерживает (умеет распаковывать) форматы 312 цифровых камер.

• Метаданные "документированы"в программе ExifTool Фила Харви (Phil Harvey), которая на самом деле оперирует с гораздо большим объемом информации, чем просто EXIF, - программа распознает и расшифровывает и ряд служебных полей, в том числе внедряемых в RAW-файл некоторыми конверторами. Интересно, что по объему программного кода ExifTool почти на порядок превышает dcraw (75 тысяч строк кода против 8 тысяч). Это соотношение вполне адекватно отражает соотношение трудоемкости расшифровки данных и метаданных: метаданные гораздо разнообразнее.

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

В результате даже авторы программ обработки RAW не могут с уверенностью утверждать, что они все делают правильно [Исключением из этого правила являются конверторы, поставляемые производителем фотокамеры]. Забавным следствием является то, что сравнение качества программ обработки RAW на одном-двух примерах становится бессмысленным.

Революционная ситуация цифровой фотографии

Таким образом, в индустрии цифровой фотографии складывается революционная ситуация в полном соответствии с определением В. И. Ленина:

Фотографы (и вся индустрия, использующая результаты их работы) не могут жить по-старому: разнообразие недокументированных форматов никого не устраивает, особенно учитывая, что новые модификации форматов прирастают экспоненциально.

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

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

Встает резонный вопрос: а как в этом хаосе работает хоть что-то? Разработчики в основном используют два подхода, хоть как-то снижающих энтропию:

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

• Если автор программы заявляет поддержку большинства распространенных форматов, то скорее всего он использует исходные тексты dcraw либо как готовое решение, либо как документацию. В числе прочих это делает и такая крупная компания, как Adobe. Приходится констатировать, что огромная индустрия зависит от одного человека и 8 тысяч строк написанного им кода.

Нетрудно видеть, что оба способа бесперспективны, особенно в стратегическом плане.

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, которая эту камеру не знает.