Среди фотографов известно, что на "больших" камерах использование 14-битного считывания по сравнению с 12-битным может положительно сказаться на детализации теней. Как же дело обстоит с маленькими сенсорами в камерах смартфонов? В прошлый раз мы разбирались, как наиболее точно измерить динамический диапазон сенсора камеры. Сегодня я хотел бы представить похожий эксперимент, но уже исследующий другую ситуацию - стоит ли ставить в модуль камеры смартфона 12-битный АЦП? У подавляющего большинства смартфонов 10-битные АЦП (также чаще всего используется 16-битный контейнер), исключения составляют, например, все(?) новые iPhone, HTC 10 и OnePlus 9 Pro (правда, это Quad Bayer сенсор, поэтому 12 бит в 12МП режиме получается из четырёх 10-битных сигналов). Последний и будет использоваться для эксперимента в данном посте Как и в прошлый раз, я буду использовать квадратик из шума и сделаю серии кадров на разных значениях ISO и выдержки. Для чистоты эксперимента серия с 10-битным считыванием будет проведена отдельно, а не просто получена из 12-битных файлов. Для переключения режима считывания я буду использовать приложение MotionCam, где RAW10 - 10-битный режим, а RAW_SENSOR - 12-битный. Будем использовать обычные подсчёты SNR вместо каких-либо других, более сложных измерений так же для чистоты эксперимента. Как и во FreeDCam, использовавшейся в прошлый раз, в MotionCam тоже отсутствуют очень короткие значения выдержки, из-за чего графики немного перекошены, но данных всё равно достаточно для оценки уровня шума. На графиках измерения начинаются с 4 стопов ниже насыщения, так как нас в первую очередь интересуют тени Итак, 10 бит: Получается вполне ожидаемый график, не могу отметить явное присутствие шумодава. Я не знаю, что произошло с ISO 100 в этом замере, но с большой вероятностью это моя ошибка - при повторном измерении всё было в порядке (здесь прикладываю график первого теста из-за большей схожести освещения и значений с графиком 12 бит ниже) А теперь самое интересное, 12 бит: К моему удивлению, четырёхкратное увеличение точности считывания не привело к увеличению SNR - здесь можно обратить внимание на линии высоких ISO. В каких-то случаях даже можно заметить ухудшение SNR - внимание, например, на 4 стоп ISO 1600. Также можно попробовать использовать 12-битный референсный кадр для 10-битной серии: Ситуация сильно не изменилась (но интересно, что линия ISO 100 теперь в норме). Результаты эксперимента получились неожиданными для меня - изначально я хотел показать, как использование 12-битных АЦП улучшит сигнал в тенях, но, как мы видим, этого не произошло. Именно поэтому (и из-за заваленного графика ISO 100 💀) я и называю свой эксперимент провальным. Основываясь на полученных результатах, можно было бы сделать вывод, что камерам смартфонов даже с достаточно большим размером сенсора пока не нужны 12-битные АЦП - уровень шума просто слишком высок. Это можно подтвердить, посмотрев, опять же, на измерения на Photons To Photos, где все протестированные смартфоны даже с шумодавом не дотягивают до 9 стопов динамического диапазона, а значит точности 10-битного АЦП будет достаточно. Однако я бы хотел отметить, что современные смартфоны используют методы вычислительной фотографии, где несколько кадров могут быть наложены друг на друга - в таком случае дополнительная точность не будет лишней, ведь итоговый динамический диапазон после склейки вполне может вырасти выше 10 стопов. Кроме того, тот факт, что исследуемый сенсор не имеет исходного 12-битного считывания мог повлиять на результат. Производителям смартфонов могу только порекомендовать провести углублённое исследование для конкретной модели и конкретных алгоритмов обработки и склейки, чтобы узнать, стоит ли включать 12-битное считывание у модуля или доплачивать за модуль с такой характеристикой. А что о результатах думаете Вы? Действительно ли всё так, или я где-то допустил ошибку? Пожалуйста, поделитесь своим мнением в комментариях