О линейности RAW и ETTR
На картинке - кривая, которая применяется к RAW-данным камеры Sony NEX-C3 при их распаковке. NEX-C3 просто первая попалась под руку, в компрессированных RAW A77 или A900 совершенно такая же по смыслу кривая, немножно отличается в деталях.
После наложения этой кривой, RAW-данные становятся линейными. Соответственно, при упаковке используется обратная кривая, линейная в тенях и полутонах и загибающаяся в светах (последних 3 стопах диапазона). По сути, три верхних стопа диапазона сжали в 1 стоп сигнала.
Где именно происходит процесс сжатия светов из формы кривой (и процедуры распаковки) выяснить нельзя, это может быть и цифровой процесс над линейными данными обычного АЦП и сжатие в нелинейном АЦП или нелинейном предусилителе.
Собственно, ничего плохого в такой компрессии светов нет. От того, что в верхнем стопе будет не 2048 градаций (предполагая 12-битный АЦП), а "всего" около 600 - становится только хорошо, потому что поэкономленные 1400 градаций переезжают на второй и третий стопы сверху (полутона и следующий стоп за ними).
В случае Sony градаций на самом деле меньше: прежде чем наложить кривую, RAW-значение умножается на 2, т.е. реальная битность RAW-данных не 12, а 11. Cоответственно, в светах у нас примерно по 300 градаций на стоп, а в тенях - обычное линейное убывание, но в 4-м сверху стопе будет не 1024 градаций, а 512, в 5-м - 256 и так далее.
Следствий из этого я вижу два:
- Если на вашей камере есть выбор между нежатым и жатым RAW (как он есть на A900), используйте нежатый. Вы не для того снимаете в RAW, чтобы сходу терять бит из данных, там их всего 12.
-
Для рассматриваемого же формата получается интересный вывод относительно ETTR:
- Больше всего градаций - в 4-м сверху стопе. Т.е. "полутонах", "средне-сером".
- Во всех стопах светлее средне-серого и в 5-м сверху - градаций около 300.
- И только в более глубоких тенях количество градаций в данных начинает уменьшаться
Помимо Sony, подобные кривые, хранящиеся в метаданных, есть у большинства снимающих в 8-битный RAW камер, у некоторых камер Kodak, некоторых 12-битных камер Canon (подозреваю 1D/1Ds, но пока не проверял), кинокамер Red. Но содержимое кривых на этих камерах я пока не смотрел. Хотя по смыслу должно быть похоже, ибо делается для одного и того же.
Ну и в DNG тоже есть, но тоже не исследовал, используется ли, кем и как.
Comments
Sony теперь нам не дает выбора. На новых камерах оставили то
Sony теперь нам не дает выбора. На новых камерах оставили только такой корявый RAW. :(
Есть мнение, что при этом нелинейность делается "до АЦП" (ил
Есть мнение, что при этом нелинейность делается "до АЦП" (или на нелинейном АЦП)
Что сильно меняет дело т.к. рабочий диапазон получается сравним с 14-битной камерой.
У меня новых нексов пока нет т.к. не знаю что с ними делать, но если кто снимет серую шкалу с разной экспозицией с размахом стопов 12 - я бы на RAW посмотрел.
Можно для <del>тупых</del> тугих пояснить попроще, начиная о
Можно для тупых тугих пояснить попроще, начиная от количества собранных фотоэлектронов - кто на ком стоял что и относительно чего нелинейно. И почему кривая на самом деле (если верить глазам) - ломаная прямая из пяти звеньев.
>У меня новых нексов пока нет т.к. не знаю что с ними делать,
Как что? Некс это такой цифрозадник для мануальной оптики т.к. на самый короткий рабочий отрезок можно надеть какой угодно объектив от какой угодно системы.
Не, не знаю я кто на ком стоял. Конкретно для соней процеду
Не, не знаю я кто на ком стоял.
Конкретно для соней процедура такая:
1) читаем таблицу из exif
2) linear_value = table [ pixel-from-raw * 2 ]
Вот эту таблицу я и нарисовал.
А "нелинейность" и "деление на 2" может делаться как из относительно многоразрядного АЦП в софте (так, вероятно, происходит для А900), так и нелинейным малоразрядным (11 bit) АЦП. Второй случай, вроде бы, NEX-5N.
А задник для любой оптики - штука такая, страная. Вот у меня micro-4/3 есть, но по факту пользуюсь я там родной оптикой, а не пересаженой. С одним исключением в виде 35/1.4 под леечный байонет.
А как получить pixel-from-raw
А как получить pixel-from-raw?
dcraw -4 -o 0 -r 1 1 1 1 подойдет?
или dcraw сам знает про эту таблицу? а про умножение на 2?
Судя по вопросу, вы мне и на
А во втором Пятаке как?
А во втором Пятаке как?
А во втором пятаке все скучно
А во втором пятаке все скучно линейно. 14 бит АЦП, черный не вычтен, сигма у нулевого сигнала (с крышечкой) порядка 4 или 6 (не помню уже), т.е. бит 11-12 условно рабочих.
А безусловно рабочих меньше: http://blog.lexa.ru/2011/03/24/o_lineinosti_v_tenyakh.html
>Где именно происходит
>Где именно происходит процесс сжатия...выяснить нельзя...
А если порыться здесь:
http://www.sony.net/Products/Linux/DI/NEX-5.html
или здесь:
http://elektrotanya.com/?q=showresult&megnev=sony&megnev2=nex-vg10&kateg...
ничего нельзя раскопать?
Не, ну а как отличить
Не, ну а как отличить "нелинейный АЦП" от "цифрового сжатия"? Ну разве что по дыркам от округления, но там деление на 2-4-8 и дырок не будет.