Color processing pipeline

  • Автор темы Автор темы rs84
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

rs84

Участник
Топикстартер
Сообщения
14
Реакции
0
Приветствую!

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

А вопрос - про место в цепочке обработки RAW изображения с цифровой таких операции как коррекция экспозиции и кривая контраста. Какое цветовое пространство наиболее "подходит" для этих операций. Должны ли они выполнятся в RGB пространстве цифровой камеры или же в одном из стандартных пространств c единичной гаммой? Какие критерии можно использовать для оценки того или иного подхода?
 
Как правило, коррекция экспозиции и прочие "творческие кривые" выполняются после приведения всех данных в PCS (D50/2). Можно это делать в перцептуально-равноконтрастном Lch, например.
 
Ну, Lab и Lch, например, для коррекции экспозиции не подходят, т.к. не являются радиометрически линейными.
 
Переводите линейную цифирь экспы в равномерно-перцептуальную и применяете к цифирям данных. Это всего два шага, один из которых простое умножение.

Если позволите, вопрос - а Вам зачем? :)
 
Тривиальная задача - экспокоррекция снимка.
Можно выполнить либо до преобразования из камерного цвета в камерном RGB, либо после преобразование в стандартное пространство (ProPhoto с линейной гаммой, например). Принципиальная особенность именно экспокоррекции - это умножение (в радиометрически линейном) трех каналов на заданную величну.
 
Еще раз повторюсь: переводите величину коррекции в другое пространство и применяете ее там, суть от этого не меняется. Но с точки зрения колориметрического процессинга так более правильно. Идеологически, что ли.

стандартное пространство (ProPhoto с линейной гаммой
Это далеко не стандартное пространство. Более стандартное - это XYZ. Он тоже линейный и типа RGB зрительной системы.


Вопрос был, скажем так, шире: Вы пишете свой RAW-конвертор?
 
Хотя нет. "Идеологически" - я мягко и неверно выразился. Если просто умножите каналы, то у Вас съедет цветовой тон. Вам же надо его сохранить? Или не надо? :)
 
Еще раз повторюсь: переводите величину коррекции в другое пространство и применяете ее там, суть от этого не меняется. Но с точки зрения колориметрического процессинга так более правильно. Идеологически, что ли.

Не очень понимаю, как Вы понимаете перевод величны коррекции, например, в 2 EV-стопа в Lab и что с ней там делать?

Нечто, напинающее конвертер - давно есть. Оглядываюсь назад и анализирую, как нужно делать правильно. Точнее, выбираю критерии для анализа корректности.
 
2 стопа - это 4 раза. Переводите эти 4 раза в Lab/Lch, затем в равноконтрастное и накладываете получившееся значение на светлоту. Вы же светлоту картинки хотите повысить без изменения хромы и цветового тона?
 
На самом деле - хочу повысить не "светлоту", а экспозицию. Мы ж не думаем при изменении экспозиции в камере про оттенок? И как самый первый вариант и, казалось бы, верный - решается эта задача умножением каналов в пространстве камеры.
 
А тогда что Вас, собственно, смущает? '))' Множьте каналы RAW и дело в шляпе.
 
Вроде по-русски, а ничего не понял :)
Догадываюсь, что речь идет о некой математически правильной коррекции РАВа. Имея абсолютно нелинейного перцептора (глаз+мозг) такую задачу не решить. И не надо оно. Оговорюсь, что имею ввиду бытовую и художественную области. Не касаюсь научной или репродукции.
 
Нет такой "математически правильной" коррекции РАВа. Есть линейные фотоны/электроны, а есть нелинейная зрительная система. Или равномерно больше/меньше фотонов, или равномерно светлее/темнее визуально. Все.

Лично мне, как стандартному двухградусному наблюдателю, :) ближе равномерно пепрцептуально.
 
Рассмотрим варианты.

1) Коррекция"линейных фотонов/электронов" + матричный профиль камеры. Не будем пока учитывать нелиненые участки ХК сенсора камеры. В этом случае не имеет значения, что умножать: RAW данные или данные в цветовом пространстве, полученные после матричного преобразования.
 
2) cLUT профиль камеры. В этом случае, результат умножения RAW данных и умножение данных после cLUT может быть различным.
 
Вы, для начала, определитесь, какой результат хотите получить. Что, собственно, нужно? Линейные радиометрические фотоны перемножить линейно? Ну так и перемножайте в линейном РАВе.

умножение данных после cLUT может быть различным.
Это что означает? Различным от чего? Что с чем различается?
 
Rc, Gc, Bc - raw camera RGB
k - exposure correction factor
[M] - camera to RGB color matrix
[LUT] - ICC color lookup table

(Rc*k, Gc*k, Bc*k) * [M] = ((Rc, Gc, Bc) * [M]) * k
vs
(Rc*k, Gc*k, Bc*k) ->[LUT] /= ((Rc, Gc, Bc) -> [LUT]) * k
 
Разумеется, что не равно. А как Вы хотели?
(3^2)*3 не равно (3*3)^2. В школе вроде проходят такое. '%)'

LUT - это нелинейная трансформация. Если LUT линеен, то он не нужен. Достаточно множителей (матрицы).
 
Разумеется, что не равно. А как Вы хотели?

По другому я никак не хотел. А хотел попросить помощи в анализе этой ситуации. На каком этапе с колориметрической точки зрения корректно выполнять поправку экспозиции: до или после линейного матричного/нелинейного табличного преобразования. И на каком этапе (как следствеие после поправки экспозиции) должна выпоняться компрессия светов. Опять таки - с колориметрической точки зрения
 
С колориметрически-перцептивной точки зрения все коррекции осуществляются после перевода информации в независимое пространство "обмена", PCS. Т.е. считали RAW, наложили нужные матрицы, наложили LUT, а дальше результат корректируем как хотим.

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

Еще раз подчеркну, что коррекции и их величины тоже должны быть перцептивны. Либо не перцептивны, но об этом надо предупреждать пользователя заранее. '%)'
 
Статус
Закрыто для дальнейших ответов.