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 1.2 появились
дополнительные поля метаданных - цветовые данные, но предназначены они в первую очередь опять же для поддержки
собственных продуктов Adobe и потому добавлены ровно в том виде, в каком их используют конверторы Camera Raw и
Lightroom. Эти данные не имеют никакого отношения к исходным форматам RAW и являются привнесенными. Таким образом, DNG
все больше становится внутренним форматом разработавшей его компании.
Формат DNG никак не помогает разработчикам
поддерживать нестандартные сенсоры (полноцветный Foveon, Fuji SuperCCD SR с двумя разными изображениями в одном кадре и
т. п.). Конечно, придумать способ хранения нестандартных данных внутри DNG нетрудно, но нестандартные данные требуют и
нестандартных алгоритмов, а вот их-то стандарт DNG не предусматривает [О чем представители Adobe пишут открытым текстом
(см., например, forums.dpreview.com/forums/read.asp?forum=1027&message=22605268)].