Литмир - Электронная Библиотека
A
A

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

• Если автор программы заявляет поддержку большинства распространенных форматов, то скорее всего он использует исходные тексты 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). Визуальное различие между двумя вариантами конверсии невелико и скорее всего на журнальной печати видно не будет, но механическое вычитание показывает, что разница есть.

Журнал "Компьютерра" №758 - _758-19.jpg

Довольно трудно считать "архивным" формат, который не обеспечивает идентичность с исходным материалом, даже когда архив и исходный материал обрабатывались одинаково.

Универсальный?

Для проверки "универсальности" выполним обратную операцию: возьмем кадр, сделанный с помощью относительно новой камеры (Canon 1D Mark III), преобразуем его в DNG современной версией DNG-конвертора и попробуем "подсунуть" старой версии конвертора Adobe Camera Raw, которая эту камеру не знает.

Этот эксперимент весьма актуален потому, что поддержка новых камер в Adobe Photoshop CS2 прекращена, однако далеко не все готовы платить за апгрейд до Adobe Photoshop CS3 или CS4, не предоставляющих никаких дополнительных преимуществ в применении к их задачам.

Журнал "Компьютерра" №758 - _758-30.jpg

Выяснилось, что версия 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)].

В то же время некоторые производители (Panasonic, Leica, Samsung) стали использовать формат DNG в качестве выходного формата своих камер, что, впрочем, не мешает им продолжать записывать недокументированные метаданные, благо в спецификациях DNG для них предусмотрено специальное место.

Можно рассматривать DNG как еще один RAW-формат, в этом смысле он чуть лучше всех остальных, ибо часть полей все же как-то документирована. В качестве "универсального архивного формата" использовать DNG нельзя, и это видно даже из описанных выше простых экспериментов. Кроме того, принятие DNG в его сегодняшнем виде в качестве стандарта ведет еще и к тому, что следом неявно навязывается и способ конвертации, который использует Adobe.

OpenRAW

В 2005 году возникла инициатива OpenRAW. Фактически она сводилась к призыву производителям камер опубликовать спецификации их RAW-форматов. Призыв сей был дружно проигнорирован, несмотря на то что очень уважаемые люди вели вежливые и неспешные переговоры по всем правилам японского этикета с весьма влиятельными сотрудниками ведущих производителей цифровой фотоаппаратуры. Впрочем, допустим, что производители оказались бы отзывчивыми и всю свою внутреннюю кухню опубликовали, пусть даже лишь в том объеме, который и так уже известен. Помогло бы это разработчикам программ? На взгляд авторов, если и помогло бы, то не очень, и причин тому (традиционно) две:

• Запрограммировать обработку всех форматов данных - огромный труд. Дэйв Коффин занимается этим уже больше десяти лет, Фил Харви - около пяти. Конечно, имея описания, не придется "хакать", что сократит объем работы, но и этот сократившийся объем все равно останется непомерно большим.

• На самом деле, нужно не описание всех битов в формате данных, а только описание важных полей плюс инструкции, что со всем этим делать. Но инициаторы OpenRAW об инструкциях даже и не думали просить.

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

Кто виноват и что делать?

Вышеописанные проблемы фотографической индустрии связаны, в числе прочего, с тем, что список требований к RAW-данным никогда всерьез не обсуждался. В результате набор интерпретируемых конвертором метаданных в каждом конкретном случае отражает мнение разработчиков формата о правильном способе обработки этих данных. За примерами далеко ходить не надо - один из авторов статьи сам грешен тем, что хоть и знает, как расшифровываются записанные в метаданных камер Nikon тональные кривые, но считает их плохими и посему со спокойной совестью в своем конверторе оные игнорирует. Формат DNG тоже укладывается в указанную тенденцию: данные, добавленные в версии 1.2, в первую очередь предназначены для использования программами Adobe.

14
{"b":"101743","o":1}