Новый старый подход к динамическому диапазону на примере камеры Canon EOS 5D IV

Преамбула

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

К сожалению, общедоступные массивы данных по ДД ограничиваются графиком «ДД – чувствительность ISO» (это может быть «инженерный ДД», как у DXOMark, т.е. отношение сигнал/шум равное единице, это может быть «фотографический ДД», как у Клаффа, который проводит границу по более высокому отношению S/N). При этом, характер шума (например, нерегулярный или banding) никак не учитывается. В ряде случаев в базах данных по ДД наблюдаются артефакты, интерпретация которых требует достаточно глубокого понимания того, откуда они взялись.

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

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

Старый подход

4 года назад, изучая свежекупленную камеру Canon EOS 6D, я попытался подойти к проблеме практического ДД следующим способом:

  • Снималась мишень с известным контрастом (серый текст на сером фоне с контрастом 0.5, 1, 1.5EV)
  • И с деталями известного размера (шрифт 12, 18, 30pt)

Практическая граница динамического диапазона проводилась по читаемости букв фиксированного размера и контраста («читается 12pt с контрастом 0.5EV» - годится для большого увеличения; «читается 30pt с контрастом 1.5» - годится для публикации в интернете). Фактический разброс «рабочего ДД» был, для EOS 6D и ISO200 от 7.3 стопа по самому жесткому критерию до 11 стопов по самому мягкому.

Новый подход (точнее, его иллюстрация)

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

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

Например, как-то так (это реальный снимок реальной мишени, кликните чтобы увидеть крупнее):

Необходимые пояснения:

  1. Тут две мишени «на разрешение», отличающиеся вдвое по размерам т.к. на этапе подготовки было непонятно, какой размер оптимален (на практике дальше везде будет иллюстрация по верхней).
  2. EV=0 – использованная экспозиция отвечает такой, что серый фон мишени в RAW был на уровне 12.7% ниже точки насыщения: 3 стопа ниже насыщения – более-менее общепринятое сейчас место для среднего тона в RAW исходя из мысли, что 2.45 стопа (18%) явно мало на практике, 4 – много, а хочется еще иметь круглое значение.
  3. На снимке (здесь и далее) – рендеринг RAW в масштабе 1:1, снималось на объектив Zeiss Makro Planar 100/2 на f/8, мишень была в центре кадра) с расстояния в 3.5 метра, весь снимок мишени вписывается в квадрат 1000x1000

Если снять эту мишень с вилкой по экспозиции (на одной диафрагме и чувствительности) и затем как-то (в пределах разумного) скомпенсировать экспозицию («вытянув тени обратно в средний тон») то мы увидим следующее:

Тени

Вот четыре кадра (чтобы увидеть полное разрешение - кликните в них)

Как легко увидеть, с уменьшением экспозиции (а это может быть как тень на нормально экспонированном снимке, так и средний тон на недодержаном) постепенно и относительно плавно падает разрешение:

  • -4EV вниз от среднего тона – разрешение упало процентов на 20 (на снимке EV=0 читались штрихи в районе отметки 10, а на EV=-4 – у отметки 8)
  • -6EV – разрешение упало вдвое от оптимальной экспозиции
  • -8EV – разрешение упало вчетверо
  • -9.6EV – в практическом смысле упало до нуля, кое-как видны только совсем крупные, в сотню пикселов, объекты.

Ничего неожиданного нет, сначала постепенно, а потом быстро падает разрешение.

Света

В светах ситуация чуть сложнее, чем можно предположить, исходя из линейности сенсора ЦФК.

Серый фон стал полностью белым (что в точности ожидаемо, EV=0 отвечает уровню серого на 3 стопа ниже насыщения, соответственно с +3 мы и попали в насыщение). Но более темные штрихи мишени все на месте и разрешение тоже полностью на месте.

А вот если увеличить выдержку еще на 0.6 стопа – на снимке останутся только самые крупные детали, да и они видны так себе:

 

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

Как мы помним, фотонный поток всегда имеет разброс (фотонный шум, «дисперсия равна сигналу»), в результате гистограмма однотонных объектов представляет из себя колокол. На рассматриваемом снимке, колокол на темных объектах таков, что краешек его оказался ниже уровня насыщения сенсора. На больших объектах – этого достаточно, чтобы их как-то отрисовать. На мелких – пикселов недостаточно, колокол не такой широкий, за край уже не высовывается и пикселов темнее точки осечения - слишком мало для формирования видимого изображения.

Результаты и их анализ

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

Результаты сведены в следующий график:

На этом графике:

  • По горизонтальной оси – экспозиция мишени, 0 соответствует «среднесерому» (на уровне -3 от насыщения сенсора в зеленом канале), соответственно все что в положительной области (справа) – это света снимка, все что в отрицательной – тени.
  • По вертикальной оси – относительная разрешающая способность, за 1.0 принято максимальное разрешение на низких ISO.
    Точность по вертикальной оси – порядка 0.05-0.08 единиц (5-8% по разрешению) или примерно одно маленькое деление, соответственно к этим графикам не нужно относиться как к абсолютно точным.

Глядя на этот график, мы можем многое сказать. Например:

  1. На ISO 100, по уровню «разрешение чуть выше нуля» мы получаем динамический диапазон 12(-13)EV. Только реальное разрешение на краях диапазона будет не мегапиксельное, а килопиксельное (см. выше примеры на -9.6 и +3.6EV), какие-то крупные объекты будут как-то видны на фоне шума.
  2. ISO 200 и ISO100 у этой камеры практически не различаются. Что совершенно обычно для камер Canon.
  3. Если на низких ISO недодержать пару стопов (то есть вместо EV0 оказаться в EV-2), а затем вытащить эту недодержку в конверторе, то это приведет к потере 10% по линейному разрешению (т.е. 30-мегапиксельная камера станет ~24-мегапиксельной).
  4. Если вместо ISO200 поставить ISO400 и экспонировать оптимально, то это приведет ровно к тому же эффекту: потеря 10% по линейному (и ~20% по мегапиксельному) разрешению.
  5. Дальнейшее увеличение чувствительности ведет (при правильном экспонировании) к дальнейшей потере разрешения в средних тонах и на ISO6400 мы имеем примерно 12-мегапиксельную камеру (вместо 30Mpix).

Можно использовать график и иначе: выбрать какое-то значение разрешения, которое нас интересует. Ну вот, скажем, 3840 по длинной стороне – это 0.57 от (формального) разрешения камеры.

Проведем горизонтальную линию по уровню 0.6 и увидим, что для выбранной потери разрешения мы будем иметь такой ДД:

  • 8.6EV (5.6 в минус, 3.0 в плюс) для ISO100-200
  • 7.5EV для ISO400
  • …. 2.7 EV для ISO6400, но весь этот ДД расположен в светах и если мы хотим им как-то пользоваться и получить хороший кадр под 4к-монитор, то надо выкрутить экспопоправочку в плюс (убив «запас в светах»).

«Полное» же разрешение эта камера дает только на ISO100-400 и в области светов (это, кстати, к вопросу о ETTR и почему оно хорошо).

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

Единственное небанальное следствие я могу сформулировать так:

  • Допустим, у нас есть светосильный объектив (ну, к примеру, f/2) у которого оптимальная диафрагма в смысле качества картинки (опять же к примеру) f/5.6
  • И мы снимаем что-то, где мало света и хочется поднять ISO (и снимать на «оптимальной диафрагме», ибо она оптимальная).
  • Так вот, может оказаться значительно выгоднее ISO не поднимать, а дырочку приоткрыть: потери (разрешения) за счет неоптимальной диафрагмы могут оказаться меньше, чем потери за счет поднятия ISO.

P.S. Недодержка в тестах обеспечивалась укорачиванием выдержки и левый край графиков снят на очень коротких, вплоть до 1/8000. В реальной жизни ситуация будет хуже (шум выше, а ДД – соответственно меньше) за счет дополнительного теплового шума на реальных (гораздо более длинных) выдержках.

P.P.S. На других камерах конкретные цифры будут другими, но общий вид графиков сохранится, ибо «шум на высоких ISO» (при вменяемых выдержках, ну там меньше секунды) - это в первую очередь шум самого сигнала (фотонный шум), а не шум электроники камеры.

Comments

Интересно было бы ещё посмотреть на эти графики, если их сдвинуть на EV друг относительно друга, чтобы понимать, что получается при том или ином количестве света при фиксированной выдержке — лучше недодержать или таки поднять ISO (вот с ISO 200 похоже, что лучше недодержать, например, с ISO 3200 — наоборот)

Ну это более-менее видно же. В интересной (хоть каким-то качеством изображения) области оно идет "чаще чем через стоп", то есть польза от подъема ISO вплоть до 6400 есть (выше - пока не стал делать, все-таки каждая серия это много кадров и изрядно времени).

Что, собственно, и так известно про Canon - read noise с увеличением ISO падает.

Интересно.
Вот с дилеммой поднимать ISO/открывать дырку сталкиваюсь всю дорогу сейчас с TS-E где для маленьких увеличений F5 не сильно хуже F10 - если не сдвигать сильно. А 1600 точно хуже 400.

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

С рук особо не порулишь, жаль у меня первая A7r, без стаба.

Tilt-shift с рук? Месье силен!

Или это только сдвиг?

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

По мне, чтобы наклон навести на резкость - нужно 4 руки минимум без штатива если :)

Нужно, да.

> там где штатив не пронесешь

а инвалиду с тросточкой (monopod) ?

Z / V

надо попробовать, отдельного в хозяйстве нет, но переделывается в. текущий штатив. второй головы нет только под рукой

вообще снимать в помещении где нельзя пыхать (а в музеях поди нельзя, раз там даже трипод не поставить) с рук на A7R это сильно... EFCS нет = shutter shock в определенном диапазоне выдержек = надо хоть чугунивую болванку прикручивать снизу, IBIS нет для диапазона выдержек которые длиннее тех где shutter shock, света нет поди для выдержек которые короче тех где shutter shock уменьшает разрешение...

Z / V

Ну за неимением гербовой...

A900 со стабом по совокупности получается не лучше - да и шифта на неё у меня сейчас нет и не будет уже.
Ну и удобные 1/30 для 24мм шока на моей не дают, хуже в районе 1/60, да.

Алексей, при анализе падения разрешающей способности при повышении ISO как-то учитывалось влияние конвертера и его алгоритмов? Про эту мишень ходит немало дебатов, что производители своими алгоритмами "улучшайзинга" научились ее распознавать, соответственно, тесты получаются весьма неоднозначно трактуемыми.

Вопрос про конвертор правильный, потому что даже если конвертор не научился распознавать, в разных конверторах (с разной демозаикой, с разным шумопонижением по-умолчанию и т.п.) результат будет несколько разным. Ну и как мы знаем, для подобных мишеней обработка в плавучке дает принципиально лучшие результаты (сравнивать https://www.libraw.su/articles/festina-lente.html c https://www.libraw.org/articles/bayer-moire.html) в смысле алиасинга на высоких пространственных частотах (т.е. в той части, где разрешение близко к максимальному)

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

Кроме того, если мы посмотрим на тестовые мишени "на краю диапазона" (-8, тем более -9.6EV в примерах выше) - там видно, что размер разрешаемых деталей таков, что демозаика особой роли не играет.

спасибо за ответ

Открыл в rawdigger (1.2.21540 x64 mac PE) неразмытую мишень из статьи Ильи Борга - на масштабе более 100% получил "хроматические аберрации " даже на тексте названия мишени, не говоря уже о линиях самой мишени - там целый калейдоскоп. А rpp 4.8.0 (1823) категорически эту мишень масштабировать отказывается. Это специфика библиотеки libraw? Или это такой сложный для демозаика файл?(просмотр на матрице macbook air 11" - ear.2015 видеокарта intel HD 6000) Имеет ли смысл его напечатать и использовать в качестве мишени для исследования ДД?

Возможно (краем уха что-то слышал), RPP использует на показе быструю демозаику half, а полноценную - только на выводе

Но это лучше у Андрея спросить.

> Возможно (краем уха что-то слышал), RPP использует на показе быструю демозаику half, а полноценную - только на выводе

Именно так. Для превью используется Half - полноразмерная демозаика только при генерировании результата.

а ежели -NoCFA YES

Z / V

Будет ли WB с таким ключиком?

А "по второму вопросу" (имеет ли смысл использовать для исследования): вот в реальной жизни интереснее же объекты невысокого контраста и передача деталей в них (понятно, есть исключения). Поэтому вот мне кажется, что реальная "интересная фотографу" мишень должна иметь контраст ну скажем стоп. Может быть полтора (или наоборот 0.5). Но никак не черное на белом.