Динамический диапазон: первый подход к снаряду

Я уже столько раз ругался на измерения пресловутого ДД, что даже сбился со счета. Существующие в сети измерения меня не устраивают по куче причин:

  • Обычно методика описана очень приблизительно (при этом опубликованные результаты - странные).
  • Из (приблизительного) описания методики удается понять, что снималась контрастная мишень одним кадром, а такая съемка сама по себе проблемная по многим причинам:
  • Как правило, изучается различимость больших плашек, что не имеет большого смысла с точки зрения фотографической задачи: получения детализации в тенях и светах.

Альтернативная методика выстроилась в голове довольно давно, она тоже далека от идеала, данный текст предназначен, в числе прочего, для начала публичной дискуссии о методике.

Что мы, собственно, измеряем?

"Динамический диапазон" или диапазон воспроизводимых (цифровой камерой/пленкой) яркостей - характеристика очень важная и интуитивно понятная. Несмотря на ее интуитивную понятность, какого-то разумного и фотографического количественного определения автору не известно, подозреваю что его и нет. Большинство методик сводится к изучению больших плашек и их различимости в смысле методик обработки данных ("среднее такое-то, отклонение такое-то, значит можем различить на 98%-м уровне достоверности"), только никакого фотографического смысла в этом нет.

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

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

Методика измерения

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

  1. Возьмем не слишком контрастный объект с большим количеством легко идентифицируемых деталей.
  2. Осветим его, по возможности, равномерно и стабильно. Постараемся, заодно, измерить контраст.
  3. Снимем серию кадров с вилкой (брекетингом), с минимальным шагом, общим размахом стопов 15.
  4. Оценим результат.

Для начала, в качестве "не слишком контрастного объекта" я взял газету ("Коммерсантъ" с цветными иллюстрациями, цветность потом оказалась полезной), осветив ее дневным пасмурным светом из окна. Цветовая температура, с точки зрения камеры, оказалась равной 5100K.

Характеристики мишени

У газеты оказался на удивление невысокий контраст: отношение яркости бумаги к яркости букв черного шрифта всего 1:6 (2.5 стопа), это значение получено как спотметром, так и анализом получившегося RAW-файла. При этом бумага на стоп (ровно) ярче, чем 18%-е серое поле, а черные буквы шрифта - на 1.5 стопа темнее. Буквы шрифта достаточно блестящие, таким образом при освещении направленным светом контраст будет меняться.

Диапазон яркостей иллюстрации практически совпадает с диапазоном бумаги: света буквально на 1/6 стопа ниже, тени совпадают с буквами шрифта (оценивалось по RAW-данным в зеленом канале). Размер деталей: шрифт статьи имеет базовую высоту в 12 пикселов, толщина штрихов букв - более 1 пиксела. Шрифт заголовка имеет базовую высоту 36 пикселов.

Съемка

Фотографирование проводилось камерой Canon 5D Mark II с объективом Canon EF 50/1.4 на диафрагме f/8, с жесткого штатива. Диапазон выдержек от 1/1000 до 10 секунд с шагом 1/3 EV. Базовая выдержка (замеренная спотметром Sekonic по серой карте, помещенной в кадр) составляет 1/6 сек при указанной диафрагме.

Мишень и камера выравнивались с помощью уровней, однако средств для гарантирования точной перпендикулярности мишени и плоскости сенсора у меня нет, поэтому изображение оценивалось только по центральной части.

Наводка на резкость осуществлялась по экрану камеры (LiveView) при максимальном увеличении, по центру кадра.

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

Проявка

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

В данном эксперименте использовался конвертор Adobe Camera Raw 5.3, выбранный за наибольшую доступность (по меньшей мере, в российских условиях). Предположительно, конвертор в Adobe Lightroom от него отличается несильно.

Так как мы предполагаем, что кадры, которые мы снимаем последовательно, на самом деле - один кадр, то для всех кадров серии нам нужна одинаковая настройка. Была использована следующая настройка ACR, позволяющая получить максимально линейный рендеринг:

  • Вкладка Basic: баланс белого по серой карте, остальные движки в 0
  • Вкладка Tone Curve: все движки в 0, на под-вкладке Point выбрана линейная кривая (Linear)
  • Вкладка Sharpen: Amount в 0 (остальные параметры Sharpen в этом случае безразличны), подавление шума - все в 0.
  • Вкладка Camera Profile: Adobe Standard.
Данная настройка отвечает случаю "хотим все максимально линейно, дальше доведем сами", каковая только и имеет смысл при оценке динамического диапазона.

Результаты

Чтобы предметно обсуждать методику, желательно иметь пример ее применения. Поэтому с выбранной мишенью была снята тестовая серия кадров. Вся тестовая последовательность - это 41 кадр т.е. 13.3 стопов экспозиции. Рассматривать все кадры, особенно в середине диапазона, где они очень похожи, нет смысла, ниже рассмотрены наиболее показательные из них.

Базовый кадр

_MG_0984.jpg
Базовый кадр (в новом окне, 1000x800, масштаб 1:1)
Базовый кадр полностью ожидаем: серая бумага, черные буквы, достаточно цветная картинка (как я уже предупредил выше, цвета картинки нам еще понадобятся).

Кадр снят с экспозицией "по серой карте", показания внешнего спотметра и экспонометра камеры были одинаковыми: f/8, 1/6 секунды.

Здесь и далее клик по картинке открывает превью 1:1 (пиксел в пиксел) в новом окне

Света

Прогуляемся вверх по светам.

+2EV: фактура бумаги

_MG_0990.jpg

Кадр, снятый с выдержкой 0.6 секунды - последний, где видна фактура газетной бумаги. Вспоминая, что бумага ярче серой карты на стоп, получаем первую практическую рекомендацию: если нам нужна фактура в светах, то нужно замерять по светам и открывать не более чем на 3 стопа.

Если рассматривать RAW-данные при номинальной экспозиции, то видно, что уровень "усредненной газеты" по зеленому каналу - 2200 единиц, а максимум у используемой камеры - примерно 14150 единиц, что дает нам запас по светам в 2.7 стопа относительно базового кадра, а не в 2.0 Запас в светах в оставшихся каналах - еще больше (что потенциально дает возможность Highlight recovery). Таким образом, выполняемое ACR (и внутрикамерным конвертором - тоже) сжатие светов (о котором я уже писал раньше) приводит к потере в светах как минимум 2/3 стопа.

+3.0EV: начало пропадания деталей

_MG_0993.jpg
На стоп выше начинают пропадать мелкие детали: все еще вполне читаемо, но стандартный шрифт изрядно истончился (а жирный - пока держится). Кроме того, на данном кадре видно, как теряется цвет в светах (по картинке).

+3.7EV: деталей почти нет

_MG_0995.jpg

Передержав еще на 2/3 стопа мы практически полностью потеряли мелкие детали (стандартный шрифт), а крупные еще держатся.

+4EV: последние следы деталей

_MG_0996.jpg

При экспозиции +4EV мы еще видим следы деталей (то, что остается при +4.3EV напоминает, скорее, след от мухи на зеркале).

Вспомним теперь, что черная краска на 1.5 стопа темнее, чем серая карта, от которой мы отсчитываем базовую экспозицию. Получается, что жалкие остатки деталей мы получили в ситуации, когда они всего на 2.5 стопа выше среднего тона т.е. должны бы еще отображаться целиком и полностью. Однако мы наблюдаем погрызенные буквы, чуть лучше у нас с картинкой, темной на большой площади.

RAW данные и настройка конвертора

Вышеописанная потеря деталей начиная с +3EV связана с настройками конвертора (которые мы принципиально сделали одинаковыми по всем кадрам). В RAW-данных пропадание деталей начинается и заканчивается на стоп выше т.е. практически там, где предсказывает теория. Кроме того, изменение настроек конвертора (достаточно просто движка экспокоррекции) позволяет извлечь данные из RAW если они там есть.

Тени

Как и написано выше, тени интересно рассматривать исходя из соображений их "вытягивания". Без такого вытягивания любая современная dSLR обладает достаточным (для печати/показа на мониторе) динамическим диапазоном и обсуждать просто нечего. В примерах ниже изображение растягивалось на более-менее полный диапазон линейной кривой в Photoshop в режиме 16 бит.

-3EV: заметный шум

_MG_0975.jpg
На кадре, снятом с недодержкой в 3EV имеется вполне заметный шум, который можно считать незаметным на небольших площадях и более-менее приемлемым на больших.
_MG_0975-up.jpg
Если поднять изображение на 3EV (см. картинку), то шум на больших плашках уже неприемлем (вероятно, смена конвертора может ситуацию улучшить), безопасным является подъем на 1, максимум 2EV.

-4EV-5EV: растет шум, падает контраст

В диапазоне недодержек на 4-5EV картина сохраняется: шум остается приемлемым на больших плашках и незаметным на маленьких. При подъеме на 1-2EV шум остается в рамках разумного, при большем подъеме - неразумным. Контраст ощутимо падает (сигнал уменьшается, а шум остается более-менее постоянным)

-6EV -7EV: потеря деталей

При недодержке в 6EV начинается потеря деталей, текст теряет читаемость на фоне шума. На экспозиции -6.7EV от базовой текст уже можно признавать нечитаемым даже после сильного увеличения контраста:
_MG_0964-up.jpg

Обсуждение методики

В процессе применения "наколеночной" методики выявились недостатки, которые стоит исправить в дальнейшем:
  1. Необходимо управлять контрастом мишени. Грубо говоря, нужны детали стандартного размера (буквы стандартного шрифта вполне подходят) с фиксированным контрастом (а не как газетная типография напечатала). Интересен контраст в 0.5, 1 и 2 стопа.
  2. Очень не хватает цветных объектов, причем как плашек (у которых можно измерить цвет), так и мелких деталей. Крайне полезным видится изучение разрешения деталей близких цветов (скажем, светло-синие буквы на синем фоне).
Несмотря на эти недостатки, методика позволяет неплохо охарактеризовать камеру с точки зрения ее практического использования. Кроме того, очевидно что можно без проблем сравнивать поведение камеры при разных чувствительностях и, со многими оговорками, поведение разных RAW-конверторов.

Необходимо отметить, что никакого определения динамического диапазона мы не вводили (как и написано в начале текста), но это не мешает вполне однозначно оценивать полученные результаты с практической точки зрения.

Обсуждение результатов

Помимо отработки методики, нам удалось оценить характеристики используемой камеры на чувствительности ISO100 (в сочетании с конвертором), причем результаты можно сформулировать буквально в нескольких фразах:
  • Рабочий диапазон в светах составляет 3EV для "обнуленных" настроек использованного конвертора и до 3.7-4EV если пользоваться движком Exposure. При дальнейшем повышении экспозиции в светах начинают пропадать мелкие детали (теряется разрешение).
  • Если не вытягивать тени, то они "рабочие" до -4..-5EV, а если нет больших темных площадей, то и более. Этого более чем достаточно для любого современного выводного устройства, от бумаги (максимум 8 стопов диапазона) до калиброваного монитора (8-9 стопов).
  • Вытягивать тени более чем на 2EV допустимо только если глубокие тени занимают небольшие участки изображения.

Comments

1. какой физический эффект обеспечивает пропадаение деталей в светах?
перетекание заряда?

2. с тенями не понятно. по идее это шум (шум матрицы + шум неравномерного потока фотонов). шум матрицы по идее темновой должен быть постоянным. неужели начинает влиять неравномерность потока (ловим отдельные фотоны)?

2а. чем большие площади хуже? ведь шум с не меньшим успехом убьет мелкие детали, а не только даст шум как таковой

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

2. Шум потому и шум, что не константа? Т.е. просто темновой сигнал имеет случайную составляющую, уж не знаю, тепловую, шум АЦП и проч.

3. Когда у меня большая плашка (скажем 10x10 см в размерах отпечатка) шум визульно заметнее, чем на плашке 3x3 миллиметра.

<q>1. Каждый отдельный пиксель имеет свою яркость (усреднение краска-бумага в рамках пикселя, блики), поэтому и пропадает в разное время. Плюс,ACR отгрызает почти стоп сверху (программно)</q>
ничего не понял (не увидел связи с вопросом)

<blockquote>2. Шум потому и шум, что не константа? Т.е. просто темновой сигнал имеет случайную составляющую, уж не знаю, тепловую, шум АЦП и проч.
</blockquote>
имелось ввиду параметры шума константа. ну там сигма, среднее, форма распределения (вероятно гаус)

<q>3. Когда у меня большая плашка (скажем 10x10 см в размерах отпечатка) шум визульно заметнее, чем на плашке 3x3 миллиметра.</q>
плашка 1x1 мм шумом просто будет убита нахрен, разве нет?

Детали в светах пропадают (по очереди) т.к. яркость у них на самом деле не константная, а своя.

А плашка 1x1 может и будет убита, но никто об этом не узнает.

не узнает если постарается забыть что за мишень мы снимали

но мы-то знаем

ипо идее это важный момент при лпределении динамического диапазона, иначи мо возвращемся к статистическому усреднению по площадям

Я все-таки пролетарским чутьем определяю.
Вот у меня есть газета, в тени. Она нейтральная и я это знаю/вижу. За счет шума она стала разноцветной, но если она на полкадра, то я эту разноцветность увижу и меня вытошнит, а если маленький кусочек газеты где-то в кадре поразноцветнел - не вытошнит.

на большой площади и сгладить можно (конвертором на автомате, руками в фотошопе)

а вот если в шумах буква потонула -- боржоми пить поздно

На последней картинке - даже если бы буквы были читаемы (а надо взять не -6.7, а -6 - и будут читаемы), счастья на плоских поверхностях не добавляется, такое в любом случае печатать не следует.

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

проблема удаления цветного шума -- отдельная, и почему постулируется что решения она не имеет?

Потому что я не есть понимай, как удалитель шума отличит шум от цветных деталей.

ты не понимай, кто другой понимай.
все переделывать взад?

у меня книжка лежит спертая по цифровой обработке сигналов [1979 года], так там ссылка есть на работу [залез на антресоль, раскрыл] 1970 года.

правда ч/б, но вряд ли это существенно, вероятно цветное еще проще фильтровать

приведенные картинки бьют прям в пятку

Типичные задачи обработки сигналов - это именно повысить читаемость букв и т.п.

Но я пока не видел, чтобы, грубо говоря, сняли цветной шум с газеты и вернули фактуру газеты (банальное обесцвечивание для теней

убежало

банальное обесцвечивание - не рассматриваем.

ну все деградирует

http://www.umup.narod.ru/1128.zip

на 221 странице с шумом, на 224 -- без

Очень интересно куда линеаризованный ACR отгрызает ступень и как это согласуется с графиком, что Павел Буров (линейным) в такой ситуации намерял...

Я подозреваю, что это сильно очень зависит от камеры. У меня же камера почти на стоп недодерживает (относительно "нормы") и конвертор это типа исправляет.

А в других камерах уровень серединки - выше.

небольшой параноидальный комментарий.
мне все время кажется, что использование для тестов связанных с цветом искусственных объектов типа напечатанных CMYK-ом газет или самосветных RGB-мониторов будет давать какую-то непредсказуемо неучитываемую аберрацию. все эти метамеризмы и проч. - они ж наверное вокруг крутятся.
поэтому для цвета может юзать лучше что-нибудь этакое... чистое...

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

Если нейтрали получаются нейтралями без излишних ухищрений с ЦТ, то вроде с метамеризмом все нормально. Монитор действительно выглядит более проблемным, но опять - если мерять сигнал в одном канале (как с засветкой), то вроде и наплевать.

А с ND-фильтрами трудно получить 10 стопов без рассеяния в фильтрах, у меня 8-стопного и нету...

только с фильтрами - да, но хотя бы не юзать 10-секундные выдержки, держаться в пределах секунды.

Фильтры никак не помогут укоротить выдержку, только удлинить.

упс...

но с другой стороны - это как посмотреть. если "нормальный" кадр делать с фильтром, то снимая его - свет прибавится :-)

Если не рассматривать монитор, что есть отдельная история, то у меня базовая выдержка была 1/6, плюс 5 стопов к ней - 5 секунд.

Но при этом длинные выдержки в-обшем не сильно тревожат, сигнал же уходит на самый верх, шума на этом фоне вовсе не видать.

С монитором, действительно, не хочется уходить короче 1/15 (точнее, нужно протестировать повторяемость на более коротких выдержках, если она есть, то успокоиться, но это для каждого монитора отдельно надо) и фильтры действительно могут помочь.

"Я уже столько раз ругался на измерения пресловутого ДД". Так по этой методике можно сравнивать шумы (ДД) разных фотоаппаратов? Вот бы проголосовать, кто за эту методику, а кто за методику dpreview.com

Можно, сравнивайте.

Чтобы сравнить методики, надо знать, какие биты РАВа(в нем много бит) использутся в JPG dpreview.com. Как бы это узнать?

Фил сравнивает как камерные JPEG-и, так и результаты работы ACR по RAW

Вы вот всё тестируете кеноны... А что скажете про никоны?
Тут просто товарищ говорит, что у никона дд пошире и т.п.

Сам протестировать не имею возможности, т.к. не имею никона. Но в пример приводятся вот такие кадры:

d300. оригинал.
http://a.img-dpreview.com/reviews/NikonD300/Samples/DynRange/DSC_0082-ac...
а тут просто -3 степени по экспозиции.
http://a.img-dpreview.com/reviews/NikonD300/Samples/DynRange/DSC_0082-ac...

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

Но т.к. аналогичный кадр, снятый кеноном, отсутствует - то ничего нельзя сказать однозначно...

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

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

Кроме того, особенность Никонов в том, что на некоторых камерах (и некоторых версиях firmware?) есть "аппаратный" (до записи в raw, но естественно в firmware) клиппинг в зеленом канале, который обработку светов в этих камерах сильно усложняет (и далеко не все конверторы делают ее верно), что динамический диапазон в светах портит. Про D300 ничего не знаю, замечено на D3 и D700.

Если вам важен ДД, то главное смотреть не на JPG, а JPG полученное из RAW с последующей обработкой. А ДД в JPG у разных фотоаппаратов будут ну очень близки.

Наверно можно снять возражение, что шум в JPG меряется для ISO по разному измеряного, и после баланса белого. У меня получилось (Canon 10D), что для значений JPG от 5 до 135 StDev (абсолютное, не относительное!) не меняется и=1.0 Получается непонятное конечно, шум (абсолтный)должен расти при увеличении освещенности, но вот так. Графики в Excel http://bva007.livejournal.com/. Или это у меня фотоаппарат такой?

Если померять примеры Фила, то получается, что шум (абсолютный, StdDev) иногда больше в тени, иногда в сером. Но в RAW/ACR в разы больше, чем в JPG. Видать шумодавы работают ну очень по разному.

У меня на фотоаппарате нет регулировки подавления шума, а видимо подавитель все таки есть, неотключаемый в JPG.Похоже так?

Подавитель скорее всего есть.

Но вообще, стандартное отклонение _ровно_ в 1 это очень странно, или вы в целых числах считаете?

Случайное совпадение, там при значении jpg=3 stddev=0,8 а при следующем стопе вверх, stddev=1.2(по памяти).

Увеличение ISO увеличивает StdDev, а увеличение выдержки при съемке одного и того-же экрана монитора-не меняет. Шум в светах не растет. Удивительно как-то.

Вот ссылка на файл с графиком xls (страница JPG, чтобы сравнить, если самому захочется измерить), вроде рабочая. там для EV=5 stddev=0.9 а для EV=12 stdev=1,2 снят белый экран монитора при различных выдержках.
http://narod.ru/disk/7502180000/Графики%20шума%20и%20освещенности.xls.html