В предыдущей статье мы выясняли, как камера получает изображение, спроецированное на сенсор. Если коротко, то у каждого пикселя есть светочувствительный элемент, который улавливает свет, преобразует в электричество, копит его. После окончания съёмки заряд из ячейки усиливается и преобразуется в цифровое значение. Возможности этого процесса не безграничны, и следует знать некоторые особенности.
Для фотографов большая часть информации в этой статье не понадобится, но всегда же интересно знать, как оно работает. Кроме того, в жанрах, связанных с очень малым количеством захваченного света (астрофото, спортивная съёмка, съёмка дикой природы) может быть важно понимать, что приносит шум и лишние эффекты. Если Вам интересно, как эту информацию использовать, но Вы не хотите углубляться в работу разработчиков матриц, то смело переходите к итогам.
Ограничения оцифровки #
Начнём немного с конца, с оцифровки сигнала. Потому что её проще понять, и она довольна общая для оцифровки любого сигнала, здесь мало фотографической специфики.
Накопленный электрический заряд оцифровывается с помощью аналогово-цифрового преобразователя (АЦП). Он получает ток на входе и выдаёт двоичное число на выходе. Чем выше напряжение, тем больше число. Единицы этой величины называются analog-to-digit unit (единица из аналога в цифру), обозначаются ADU.
Разрядность этого числа ограничена, в современных сенсорах чаще всего используются 12 или 14 бит.
Однородность АЦП #
В общем случае, АЦП может выдавать значения, зависящие от входного напряжения любым строго монотонным образом. Чаще всего желательна однородная зависимость, то есть зависимость вида \(D_{out} = \alpha V_{in}\), \(D_{out}\) — цифровое значение, \(V_{in}\) — аналоговое напряжение, \(\alpha > 0\) — некоторая константа. Иначе работать со значениями будет сложнее и менее эффективно, хотя всегда можно подобрать линеаризацию.
Большинство современных сенсоров выдают числа с линейным откликом. Он однородный после компенсации уровня чёрного (поговорим о нём позже).
Рядовой пользователь фотоаппарата вообще не знает о существовании такой зависимости, информация в этом параграфе интересна только инженерам, работающим с сенсором напрямую.
Дискретизация #
Ограниченная разрядность АЦП даёт шум дискретизации, он же шум квантования. Если мы плавно увеличиваем напряжение на его входе, выходные значения будут увеличиваться ступеньками.
Насколько это страшно? В большинстве случаев ни насколько. 12-битный сенсор даёт \(2^{12} = 4096\) возможных значений одного пикселя. После преобразования в RGB и того больше, но с помощью трюков. Это очень много вариаций, глазу они совершенно незаметны. Более того, большинство экранов до сих пор работают в sRGB, где пиксель кодируется тремя каналами по 8 бит, и человек переходы между уровнями всё равно не видит.
Однако это справедливо только если все разряды заняты. Если Вы чрезмерно недоэкспонируете кадр, то есть соберёте слишком мало света, то вся информация останется в младших нескольких битах. При попытке “вытянуть” до различимой яркости в теории Вы столкнётесь с постеризацией, она же изогелия, которая ощутимо уберёт детали из снимка и будет выглядеть совершенно ненатурально.
Однако на практике младшие разряды шумные, дают эффект дизеринга, и постеризация глазу незаметна. Просто к аналоговым шумам ещё будет примешан цифровой, снижая качество ещё больше. К тому же Вы наверняка будете уменьшать разрешение изображения, и сложение соседних пикселей даст больше вариаций, искусственно повышая разрядность.
Если говорить коротко, то из-за дискретизации Вы хотите уместить всё важное в большом количестве разрядов.
Пересвет #
АЦП имеет фиксированный набор уровней. Если мы накопили больше света, чем может уместиться в максимальный такой уровень, то АЦП насыщается и выдаёт своё максимальное значение. В таких случаях говорят, что произошло перенасыщение, клипинг, обрезка сигнала или пересвет, а по-английски saturation, clipping, clamping, overlight, overexposure, в контексте фотографии blown up highlights.
Главный недостаток клипинга в том, что уровни выше максимума неразличимы. Если на постобработке мы понизим яркость, то детали в пересвеченной области не вернутся, будет монотонно закрашенная область.
Кроме того, возможен сдвиг цветов. Происходит это, когда один или два канала RGB ушли в насыщение, а остальные ещё нет, и из-за этого поменялось соотношение цветов. Пример:
- мы сфотографировали объект на 12-битную камеру (значения от 0 до 4095 ADU), получили в каком-то пикселе \(RGB = (1000, 3000, 2000)\) ;
- решили увеличить экспозицию в два раза, сделали повторный снимок;
- на новом кадре зелёный канал пикселя должен приобрести значение 6000, это выше максимума, значит оно клипится до 4095;
- красный и синий каналы приобрели значения 2000 и 4000;
- в результате соотношения каналов поменялись, изменился и цвет .
В большинстве случаев Вы хотите избежать пересветов. Однако бывают ситуации, когда сложно или невозможно снять целевой объект с необходимой яркостью, не пересветив какие-то объекты вокруг. Например при съёмке портретов в контровом освещении, работе в тёмном помещении с маленькими лампочками или при фотографировании ландшафта против солнца на восходе. Бывает лучше пойти на компромисс и подобрать такую экспозицию, чтобы и целевой объект был светлым, и пересвеченный фон не выглядел страшно. Чёрно-белая или любая другая монохромная фотография при этом прощает больше ошибок, так как нет сдвига цвета.
Аналоговые пределы #
Full well capacity #
У каждой светочувствительной ячейки есть максимальный заряд, который в неё помещается. Его называют full well capacity (FWC), что переводится как “ёмкость полного колодца”. Он измеряется в электронах, например \(50000~\mathrm{e^-}\).
Если упрощать и не вдаваться в детали, то мы не можем из-за этого собирать сколько угодно света. После некоторого порога появятся отрицательные эффекты, затем начнётся отсечка.
При прочих равных, чем больше FWC, тем лучше, в разумных пределах. Ведь мы можем собрать больше света и получить лучшее отношение сигнал/шум. Разумеется, если условия съёмки и оптика позволяют получить столько фотонов.
Один из главных факторов ёмкости ячейки — её площадь. При одинаковом разрешении у большого сенсора будет гораздо больший FWC, чем у маленького. Это одна из причин, почему full frame до сих пор столь желанный среди профессиональных фотографов и любителей. А крошечная матрица телефона имеет очень скромные возможности при съёмке одного кадра.
АЦП настраиваются так, чтобы максимальное ADU соответствовало количеству электронов, чуть меньшему FWC. Должен быть небольшой запас, чтобы гарантированно не столкнуться с эффектами, возникающими незадолго до переполнения.
На тёмной стороне #
Итак, у нас есть предельное количество фотонов, которые мы можем зарегистрировать в ячейке. Что насчёт ограничений снизу?
В идеальном мире съёмка в кромешной тьме должна была бы дать \(0~\mathrm{e^-}\), и кадр должен был бы быть полностью чёрным, а все пиксели иметь значение 0 ADU. Но в действительности это не так.
Есть очень много эффектов, которые не позволяют нулю быть нулём, некоторые тесно переплетаются друг с другом, объяснять это довольно утомительно, а 99% населения планеты эта информация не нужна. Поэтому расскажем лишь о нескольких из них. В конце концов, автор не имеет достаточно знаний в этой области, чтобы кого-то учить, так что будьте осторожны с выводами далее.
Шум чтения #
Закроем объектив крышкой, поместим фотоаппарат в темноту, на случай утечек света. Чтобы нагрев сенсора, усиление и работа механики минимально влияли на изображение, выставим самую быструю доступную выдержку, самую широкую апертуру (тогда не будет щелчка диафрагмой) и минимальный ISO. Сделаем снимок.
Вроде всё чёрное, всё отлично. Но давайте сделаем эквализацию, то есть растянем значения ADU по всему диапазону значений изображения.
Очевиден шум. Также видно, что у него есть структура (pattern noise, паттерновый шум), но мы обещали не вываливаться слишком далеко, поэтому сейчас нам интересно лишь одно. Даже в идеальных условиях мы получим шум на изображении.
Такой шум называют шумом чтения, или read noise. Он вызван работой тракта, передающего накопленный сигнал на дальнейшую обработку. Он указывается как среднеквадратическое отклонение (СКО) в электронах, например \(2~\mathrm{e^-}\). Он не зависит от условий съёмки (температуры, свойств света и т.д.), а зависит лишь от самого тракта. То есть он есть всегда и имеет одинаковое распределение, пока мы не поменяем цепь (такое возможно даже в рамках одного устройства, например при переходе из rolling shutter в global shutter или от LCG к HCG, что обсудим позже).
Уровень чёрного #
Проанализируем исходное изображение, которое мы только что сняли. Построим гистограмму значений в ADU.
Помимо самого шума видим, что он разбросан вокруг довольно большого значения, примерно 512. Что это такое?
Это black level (уровень чёрного), или baseline. Это аналоговый сдвиг тока перед оцифровкой, который вносится специально для обеспечения некоторых свойств. Обычно для того, чтобы значения в ADU не переходили за ноль ни при каком ожидаемом шуме. Потому что такие значения будут клипиться, на гистограмме появится “палка” в нуле, и считать корректную статистику по такой выборке будет сложнее; а также считать калибровочные кадры. Кроме того, в тёмных областях получится, что какие-то значения представляют собой шум, а какие-то — плоский ноль.
Black level может регулироваться. У потребительских фотоаппаратов обычно он фиксирован, либо есть несколько для разных режимов работы сенсора.
Тёмный ток #
А что будет, если мы сделаем выдержку подольше? Попробуем 1 секунду и 180 секунд.
Гистограмма расширилась, то есть шума стало больше. Кроме того, хоть на гистограмме этого и не видно, появились отдельные пиксели с очень большим ADU по сравнению с ячейками вокруг. В чём причина?
У сенсора есть такой эффект, как dark current (тёмный ток, темновой ток). Это паразитный заряд, который возникает в самой светочувствительной ячейке вследствие некоторых несовершенств. У современных сенсоров он совсем небольшой, но его величина линейно растёт со временем выдержки, так как паразитные заряды копятся интегрально. Кроме того, он зависит от температуры сенсора. Это значит, что в жару он больше, и что очень длинная выдержка, нагревая сенсор, даст его рост даже больше, чем линейный.
Однако сказанное в предыдущем абзаце означает всего лишь сдвиг. Современные камеры умеют его оценивать и компенсировать, поэтому центры гистограмм выше примерно одинаковы. Но кроме сдвига у тёмного тока есть свои собственные флуктуации, что и даёт наблюдаемое увеличение шума. Они называются dark noise (тёмный шум, темновой шум), dark current noise или термошум. При постоянной температуре его СКО увеличивается пропорционально квадратному корню из выдержки.
Также при длинных выдержках возникают hot pixels (горячие пиксели). Они появляются вследствие нарушения работы отдельных ячеек, в результате чего паразитный заряд в них растёт гораздо быстрее. Часто они видны как отдельные пиксели в насыщении. Иногда горячие пиксели, ещё не ушедшие в насыщение, называют warm pixels (тёплые пиксели).
Если Вы перегрели сенсор длинной выдержкой, то горячие пиксели будут видны в одних и тех же местах на разных кадрах. Не стоит этого бояться, они не вышли из строя. Достаточно дать матрице остыть, и они восстановятся. Возможно перегреть ячейки настолько, что они умрут навсегда, но это редкость.
Не следует путать горячие и битые пиксели. Битые не подлежат восстановлению и неизбежно возникают при механическом воздействии, сбоях электроники и, самое частое, вследствие радиации. Так как радиация есть в каких-то количествах в любом месте, то с возрастом у любого сенсора растёт число битых ячеек. Причём в местностях с высокой радиацией, например на экваторе, это происходит быстрее. Многие сенсоры самостоятельно определяют их и “исправляют” с помощью интерполяции соседних пикселей.
Так как dark current сильно зависит от температуры, то его влияние почти исключается у камер с охлаждением матрицы, например у специальных астро-камер. Хотя могут оставаться горячие пиксели, вызванные дефектами транзистора.
Шум #
В общем смысле шум — это нежелательный сигнал по сравнению с тем, что мы хотим получить. Сюда можно отнести и флуктуации тока на сенсоре, и аберрации оптики, и даже мусор, лежавший на лужайке, пока мы её фотографировали. Однако чаще всего в контексте фотоизображения говорят об эффектах, меняющих значения пикселей случайным или плохо контролируемым образом. Говоря проще, это шумы сенсора, АЦП и потока фотонов.
Большинство из них случайны в рамках одного пикселя, то есть при съёмке одной и той же сцены они меняют значение одного пикселя случайным образом. Некоторые структурированы в рамках кадра, то есть математические ожидания этих величин имеют рисунок, не меняющийся при неизменных условиях съёмки.
Мы уже перечислили и описали некоторые. Давайте составим список и добавим ещё пару. Заодно опишем, от чего они зависят.
- Read noise. Зависит только от режима работы сенсора. Он включает в себя смесь флуктуаций из нескольких электронных источников, например шум усилителя, шум АЦП и другие. Сюда же включают и шум квантования; он имеет совсем другую, не электронную природу, но сами измерения шума проводятся с помощью АЦП в единицах ADU, потом пересчитываются в \(\mathrm{e^-}\), поэтому он неявно присутствует.
- Dark current noise. Увеличивается с ростом выдержки пропорционально её корню. Увеличивается с ростом температуры сенсора нелинейно.
- Shot noise (дробовой или пуассоновский шум). Связан со случайностью попадания фотонов на ячейку за время выдержки. То есть мы направляем пучок света на пиксель, но пучок может доставить чуть больше или чуть меньше фотонов за одно и то же время, пока затвор открыт.
- Сюда же можно добавить шумы от обработки, например демозаики.
Структурированные и статичные шумы можно калибровать (bias frames, dark frames), затем корректировать их влияние. Но это делают только там, где это действительно нужно, например в астрофотографии, где сигнал очень слабый, и структура шума видна на фоне полезного изображения. При этом приходится делать калибровку под конкретные условия. В рядовой фотографии, когда полученный свет многозначительно превосходит шум, это не нужно.
Когда говорят о шуме, обычно учитывают не абсолютную его величину, а отношение сигнал/шум $$ SNR = S / \mathcal{N}, $$ где \(S\) — уровень сигнала, \(\mathcal{N}\) — уровень шума (СКО), всё в одинаковых единицах. В научных статьях его любят мерить в децибелах: $$ SNR_{dB} = 20 \log_{10}(S / \mathcal{N}). $$ Почему именно отношение? Потому что абсолютные значения мы потом всё равно переводим в другие величины, чтобы отобразить на экран или напечатать на принтере. А интерес представляет лишь то, насколько шум заметен по сравнению с изображением.
Динамический диапазон #
Динамический диапазон определяют как отношение максимального к минимальному различимому сигналу. Его указывают либо как есть, либо в децибелах, либо в стопах: $$ \begin{array}{ll} DR &= S_{max} / S_{min}, \\ DR_{dB} &= 20 \log_{10}(S_{max} / S_{min}), \\ DR_{EV} &= \log_2(S_{max} / S_{min}). \end{array} $$
Само определение довольно обтекаемо. Например можно разделить максимальное значение АЦП (\(2^{b} - 1\) при \(b\) разрядах) на минимальное ненулевое (1), но такой подход не учитывает шум.
Другой способ, лабораторный, — повесить табличку с квадратиками разной яркости, сфотографировать так, чтобы самый яркий квадратик немного недотягивал до пересвета. Затем посчитать, насколько тёмные квадратики становятся неразличимы между собой. Самый яркий такой квадратик представляет минимальный различимый сигнал, самый яркий во всей табличке — максимальный различимый. Если таблица хорошо калибрована, то мы знаем соотношение этих квадратиков и можем оценить динамический диапазон.
Третий способ говорит, что динамический диапазон — это отношение full well capacity к read noise. По сути это наилучшее отношение сигнал/шум, которое может получить сенсор. Из него исключаются термошум и флуктуации фотонов. Такое определение удобно для дальнейших рассуждений, будем его использовать с небольшими модификациями.
Так как FWC зависит от площади пикселя, то у полнокадрового фотоаппарата будет заметно больший динамический диапазон, чем у кропа с тем же разрешением. Конечно если оба сенсора изготовлены примерно по одной технологии и имеют схожий read noise.
Разрядность #
Не стоит путать динамический диапазон с возможностями разрядной сетки АЦП (\(2^b\) значений для \(b\)-битного АЦП).
Первый показывает, какой разброс яркости мы можем различить. Сами абсолютные значения минимального и максимального сигнала не очень важны, мы можем “растягивать” яркость наблюдаемой сцены на допустимый диапазон в электронах с помощью выдержки и диафрагмы. Важно именно соотношение.
Второй показывает, на сколько уровней мы можем разбить этот диапазон. То есть насколько высокие “ступеньки” будут после оцифровки плавного перехода. Эти величины связаны примерно как размер сенсора и его разрешение. Размер — физическая величина проецируемого изображения, а разрешение показывает, насколько мелко мы можем его “нарезать”, чтобы получить различимые точки.
Усиление #
ISO #
Очень долгое время люди фотографировали на плёнку. У каждой марки была своя светочувствительность, то есть количество света, воспринимаемое эмульсией в единицу времени. Когда пробуешь незнакомую плёнку, не знаешь, какую выдержку в каких условиях следует использовать.
В течение XX века было разработано несколько способов измерения и стандартов обозначения светочувствительности. Включая, например, советские ГОСТы и немецкие DIN’ы. С ними можно было сравнивать параметры двух марок, полагаясь лишь на указание на упаковке, что удобнее, чем потратить всю катушку и узнать, что нужно было снимать по-другому. Однако их разнообразие создавало сложности, если фотографу в руки попадал экземпляр от незнакомого стандарта.
В первой половине же XX века в Швейцарии начала работу контора под названием “Международная организация по стандартизации”, она же “Internation Standardization Organization”, или ISO. Во второй половине века она выпустила стандарт ISO-6, который в итоге приняли все заинтересованные стороны и используют и по сей день. В 90-е его дополнили способами измерения светочувствительности цифровых матриц.
Так вот, то, что фотографы до сих пор называют ISO — это эквивалент светочувствительности, взятый как раз по этому стандарту. При этом обычно используют его линейную форму; есть ещё логарифмическая, её мало, кто вспоминает. Например у Вас было выставлено ISO 100, Вы поменяли в настройках на ISO 400. Число увеличилось в 4 раза, значит яркость изображения тоже увеличивается в 4 раза. Конечно если не произошло клипинга.
На ранних этапах развития цифровой фотографии изменение ISO обычно производилось программным умножением уже оцифрованных значений на коэффициент. Главным недостатком такого подхода является умножения шума квантования. Например, если АЦП выдаёт 8-битные величины, то их умножение на 4 (\(= 2^2\)) приводит к вчетверо большим ступенькам, а итоговая разрядность становится \(8 - 2 = 6\) бит. Также в те времена были не очень развиты техники шумоподавления. В итоге в нулевых ISO для цифровых фотоаппаратов получило репутацию бесполезной характеристики, оно слишком увеличивало шум. Особенно если камера снимает в RAW-формате, ведь умножить картинку можно и дома после съёмки.
Однако время шло, технологии быстро развивались, и стали доступны в любительских устройствах аналоговое усиление, менее шумные схемы и шумоподавление, в том числе современное через генеративные нейросети. В этой главе нас из всего этого замечательного исторического экскурса интересует только введение аналогового усиления.
Итак, в современных камерах регулировка ISO делится на две ступени. До какого-то значения используется аналоговое усиление. Это управление характеристиками того самого усилителя, который стоит перед АЦП и увеличивает мощность накопленного ячейкой заряда. У любого усилителя есть предел, после которого он становится нелинейным, затем вовсе насыщается. Чтобы этого не происходило, его ограничивают, и после порогового значения ISO часто делают цифровое усиление, то есть программное умножение картинки. Это довольно бесполезный режим при съёмке в RAW, но теоретически полезный при съёмке в JPEG. Правда, у многих сенсоров это происходит на таком ISO, что из-за шума пользоваться им уже не хочется.
Нас интересует первая ступень, где усиление чисто аналоговое.
Усиление и шум #
Аналоговое усиление “умножает” весь аналоговый ток: и полезный сигнал, и шум (только аналоговый, шум квантования остаётся постоянным). Это значит, что оно не меняет отношение сигнал/шум в аналоговом домене. Общее же наоборот выигрывает, так как шум дискретизации накладывается на более сильный сигнал. Разумеется, при условии, что ничего не ушло в пересвет.
Пример. Вы снимаете тусклую галактику Андромеды ночью со штатива. Из-за движения звёзд выдержка ограничена, значит много света собрать не получится. Как ни крути, будет много шума, однако его можно уменьшить стэккингом, сняв много фотографий. На выбор использовать минимальное ISO и вытягивать яркость на постобработке, либо задрать до ISO 3200, потом всё равно вытягивать. Что лучше? В обоих случаях отношение сигнал/шум одного кадра низкое, но с малым ISO Вы “утопите” всё, что собрали, в шуме дискретизации. Так как он не очень случайный, то вытащить из него уже ничего не получится. Будет постеризация. Если же увеличить усиление, то сетка дискретизации ляжет на большее разнообразие уровней, и это создаст меньшую проблему. Только нужно следить, чтобы звёзды не слишком уходили в пересвет, оставляя некрасивый fringe по краям.
Можно ли менять ISO #
Если Вы учились по старым материалам, то наверняка видели тезис, что снимать нужно только на минимальном ISO, остальное — только лишний шум. Он давно утратил силу, хотя в нём есть некоторый здравый смысл.
Во-первых, схемы нынешних матриц имеют довольно небольшой шум. Его умножение на более-менее приличные величины ухудшает изображение, но часто они остаются вполне пригодными. Особенно если просмотр изображений предполагается на небольшом экране телефона. Если изображение кажется шумноватым, то можно попробовать “починить” его современными алгоритмами шумоподавления, вплоть до нейросетевых.
Во-вторых, само усиление не меняет отношение сигнал/шум. Вы умножаете и шум, и сигнал, причём шум дискретизации не меняется. Конечно если это не повлечёт клипинг, ведь после насыщения АЦП детали восстановить не получится.
Однако эти доводы оправдывают использование усилителя только в случаях, когда Вы не можете улучшить отношение сигнал/шум. Необходимость завысить ISO указывает на недостаточный свет. Если это возможно без потери качества и художественной задумки, то лучше добавить фотонов следующими способами:
- увеличить выдержку;
- раскрыть диафрагму;
- подсветить объект съёмки вспышкой, студийной лампой, фонариком или просто включить свет в комнате; либо дождаться лучших световых условий.
Если же выдержка упирается в размытие движением, диафрагма — в желаемый ГРИП, а светить прожектором в мотоциклиста на соревнованиях не позволяют, то смело поднимайте ISO. Умеренный шум выглядит лучше, чем смазанная фотография или дефокус. Если они не входят в художественный замысел, что тоже бывает.
Усиление и динамический диапазон #
Итак, мы расхвалили высокий ISO как могли, пора налить и бочку дёгтя. В предыдущих параграфах всё сказанное справедливо, если не начинаются пересветы. Чем больше усиление, тем раньше они начинаются.
Допустим, Вы являетесь счастливым обладателем фотоаппарата, у матрицы которого FWC составляет \(50000~\mathrm{e^-}\), шум чтения — \(4\mathrm{e^-}\), минимальное ISO-число 100. Динамический диапазон равен 12500.
Вы повышаете ISO до 200. АЦП остаётся настроен на преобразование \(50000~\mathrm{e^-}\) в своё максимальное значение. Если мы усиливаем сигнал вдвое, то такой заряд будет достигнут при вдвое меньшем сигнале в ячейке. То есть всё, что больше \(25000~\mathrm{e^-}\), начнёт клипиться. Мы больше не можем использовать весь FWC, половины колодца достаточно, чтобы уйти в насыщение.
Понятно, что чем дальше, тем хуже. Увеличение ISO в \(N\) раз даёт уменьшение эффективного динамического диапазона в \(N\) раз, так как снижается потолок. При этом динамический диапазон самой ячейки никак не меняется, она по-прежнему может копить полный колодец; просто мы больше не можем его использовать.
Так что же, ISO всё-таки нельзя менять, всегда нужно держать на минимуме? Если это возможно, то да, но ведь его и не поднимают в случаях, когда света достаточно. ISO — это “последняя миля” в экспозиции. Если никакими способами Вы не можете собрать полный колодец и обречены работать со слабым сигналом, то хотя бы “растяните” его так, чтобы имеющийся сигнал был разбит на как можно больше уровней АЦП. Если же есть возможность хорошо заполнить ячейку, то поднимать усиление ни к чему.
Режимы усилителя #
Многие современные фотоматрицы имеют два режима усиления: low conversation gain (LCG) и high conversation gain (HCG). Первый обеспечивает больший full well capacity, но и больший шум чтения. Второй даёт меньший шум чтения, но и меньший FWC. Динамический диапазон в нём в итоге меньше. Их меняют в зависимости от применяемого усиления, чтобы максимизировать динамический диапазон, сейчас расскажем, как. Такая технология называется dual conversation gain.
Сначала давайте назовём тот заряд на светочувствительной ячейке, который при данном усилении отобразится в максимальное значение АЦП, эффективным полным колодцем (effective full well) для выбранного ISO. И обозначим \(EFW(ISO)\), чтобы не сойти с ума. Также введём \(FWC_{LCG}\) и \(FWC_{HCG}\) — ёмкости полного колодца в режимах LCG и HCG соответственно.
Для малых значений ISO используется LCG, так как он даёт больший динамический диапазон. Увеличивая ISO, мы пропорционально уменьшаем \(EFW(ISO)\). При каком-то значении \(ISO_t\) окажется, что \(EFW(ISO_t) \leq FWC_{HCG}\). Это значит, что преимущества большого колодца LCG мы уже не можем использовать, достаточно колодца HCG. Поэтому без потери эффективного “потолка” переходим в режим HCG и получаем меньший шум чтения. В результате эффективный динамический диапазон увеличивается ступенькой!
То есть при увеличении усиления динамический диапазон до \(ISO_t\) линейно падает, в значении \(ISO_t\) он немного приподнимается, затем снова линейно падает, возможно с другим наклоном.
Разумеется, если Вы работаете с готовой камерой, то она определяет точку переключения за Вас. Для большинства людей это не очень полезная информация, но, кажется, занимательная.
Ещё одна интересная особенность — при переключении режимов могут меняться другие параметры. Например на моём фотоаппарате увеличивается black level, так как ожидаются большие шумы, и нужно дальше отступать от нуля.
Итоги #
Если Вы смогли прочитать это от начала до конца, то, возможно, думаете, как жить дальше. Оказывается, есть так много тонких моментов, которые влияют на качество изображения, да ещё нужно думать о фотонах, да электронах! Но не волнуйтесь, на самом деле не нужно. Здесь столько информации приведено для справки, что из этого использовать на практике — сейчас вкратце расскажем.
Например автор этой статьи узнал больше половины описанного во время написания самой статьи. Потому что при, казалось бы, простейших экспериментах с фотографией темноты неожиданно увидел:
- black level как большой сдвиг, казавшийся чрезмерно раздутым;
- величина сдвига после порогового ISO увеличивается вчетверо (это как раз переход от LCG к HCG и смена black level в ожидании больших шумов);
- в однокадровом режиме съёмки (одно нажатие кнопки — один кадр) используются все 14 бит, но если перевести в непрерывную съёмку (пока держим кнопку, камера снимает серию), то АЦП переводится в ускоренный 12-битный режим; это даже написано в инструкции, но раньше не обращал внимания.
По большому счёту мелочи, и их знание не помогает фотографу, даже в астрофотографии можно обойтись упрощённой информацией. Но ведь интересно.
Ладно, меньше слов, больше практических заметок.
- Предпочтительно выбирать экспозицию так, чтобы сигнал с сенсора заполнял всю сетку АЦП. Однако для рядовой съёмки здесь нет смысла выжимать максимум: разрядность АЦП избыточна с хорошим запасом, чтобы человек не замечал переходов. Плюс для вывода на экран обычно всё в итоге отображается в 8 бит.
- Если собрать слишком много света, то получится пересвет, и детали из него достать уже не получится. Также он может менять цвета в областях, где клипинг частичный.
- Длинная выдержка даёт немного больше шума, пропорционально квадратному корню из неё. Чем горячее сенсор, тем больше шума, зависимость нелинейная и довольно резкая. При длинных выдержках появляются горячие пиксели, которые можно закрашивать программно с помощью соседей, но это небольшая порча качества.
- Даже в идеальных условиях есть шум.
- Значение имеет не наличие или величина шума, а отношение сигнал/шум. Чем сигнал “сильнее” шума, тем чище выглядит изображение.
- Динамический диапазон определяет максимально возможное отношение сигнал/шум. По сути это как много фотонов мы теоретически можем поймать по сравнению с тем, как нам их испортит шум чтения.
- Разрядность АЦП не совсем определяет динамический диапазон. Скорее это аналог разрешения: на сколько различимых уровней мы можем разбить смесь сигнала и шума.
- ISO как таковое не увеличивает шум. Оно оставляет аналоговое отношение сигнал/шум постоянным, зато может уменьшить ошибки дискретизации. Оно ассоциируется с шумом из-за того, что обычно используется при пониженном отношении сигнал/шум.
- Если возможно, следует собирать как можно больше света, не уходя в пересветы, и выставлять минимальное ISO. Так будут использованы все возможности сенсора, и шум будет минимальным. Если же условия не позволяют собрать много света, то поднимайте ISO, чтобы хотя бы заполнить побольше разрядов АЦП. При этом также нельзя допускать пересветов.
- Полностью контролировать все копеечные процессы в большинстве камер невозможно. Автоматика молча делает кучу работы по замыслу конструкторов. Однако можно изучать работу в конкретных режимах, снимая тестовые кадры.
- Можно калибровать некоторые эффекты, например через съёмку bias frames и dark frames. Но это отдельная тема, и нужно это, в основном, астрофотографам, которые снимают очень тусклые объекты. Даже более-менее яркие Млечный путь, Орион или Плеяды вполне снимаются без них.