Отрицательные координаты

Статус
Закрыто для дальнейших ответов.

Samsonov

Участник
Топикстартер
Сообщения
886
Реакции
89
В теории всё очень красиво и как бы понятно. Мол, если охвата колориметра не хватает, то мы подмешиваем немного «белого» к тестовому стимулу, а после уравнивания вычитаем — и так получаются отрицательные координаты. Но то в теории. А что с этим безобразием делать на практике?


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

Мне приходит на ум только один способ утилизации подобных результатов — многократное усреднение в надежде на то, что там где был минус, появится плюс, и они друг друга подавят. Но в том-то и дело, что надежды оправдываются далеко не всегда. И чем выше повторяемость результатов у прибора, чем дольше время измерения, тем меньше шансов, что мы имеем дело со случайной погрешностью, которая может быть легко устранена. Напротив, иногда складывается впечатление, что погрешность очень даже системная (во всяком случае в рамках текущего сеанса измерений). Причём яркость может быть заметно выше нижнего порога доверия, но вот X или Z безнадёжно застревают в минусе. В некоторых случаях спасает перемещение датчика в другую область экрана — из-за неравномерности последнего; но это предполагает интерактив с пользователем. А как же быть с чисто программной точки зрения? Какой логикой руководствуются сами производители, когда допускают появление отрицательных XYZ?


Не менее интересная ситуация с визуальными RGB-колориметрами. Тут [THREAD=16090]уже поднимался[/THREAD] этот вопрос: что делают отрицательные значения красного в референсах серии ColorChecker? Сформулированные Алексеем Шадриным соображения — это первое, что приходит в голову, учитывая теоретические предпосылки. Однако тогда так никто и не смог назвать абстрактный колориметр, в контексте которого должны применяться эти аппаратные координаты. А вот попробуйте-ка найти такой, чтобы данные совпадали с эталонными Lab-значекниями (например, для ColorCheckerSG в каталоге i1Match имеется спектральный референс, тогда как RGB-значения приведены в ProfileMaker \ Reference \ Others). Я перепробовал все типичные варианты — никаких совпадений, причём не только при переходе от RGB к Lab, но и в обратном направлении. Более того, в случае Lab→RGB не возникает никаких отрицательных значений красного — в ColorLab (LogoSync, ICM) имеем минимум нули, а то и 50–100. И по зелёной и синей координатам тоже нет соответствия, кроме весьма приблизительного подобия.

Потом, выглядит нелепо сама попытка использовать широкий охват. Ведь тот же ColorChecker (обычный на 24 патча) — сплошь скопище умеренных образцов. С какой стати городить этот огород ради двух патчей? Не говоря уже о том, что сия штука может быть использована просто как тест-карта принтера, без оглядки на физический оригинал. В таком случае, даже если принтер готов к управлению цветом, до него дойдут «обрезанные» данные, ибо системы печати популярных операционок оперируют только 8-битными беззнаковыми целыми. Да и на уровне приложения мы ничего не сможем сделать, потому что, опять же, не знаем, какое пространство тут подразумевалось. (А даже если бы и знали, принтер без режима «no color management» всё равно ожидает sRGB или Adobe RGB.)

По поводу «стандартных» пространств. Алексей, не совсем понятен тот ваш пассаж про sRGB в 1961 году. Его вроде бы «изобрели» в конце 90-х Hewlett-Packard и Microsoft, последней из которых в 1961 г. ещё и в планах не было. И уж тем более сомнительно, что sRGB было «родным» для ColorLab, если у него вообще есть «родное» пространство. Да и потом, разве на ColorLab свет клином сошёлся? Это всё-таки вспомогательная утилитка, но не «эталон», по которому можно проверять гипотезы в отношении «стандартов» и «подразумеваний». :)



Особняком стоит проблема с «нереальными» координатами L*a*b*, потому что тут критерии не такие простые как «положительные / отрицательные». Но раз виновник торжества не хочет касаться [THREAD=36394]этой темы[/THREAD] до следующего года, придётся смиренно ждать. Мы терпеливые. :)
 

Alexey Shadrin

Участник
Сообщения
9 260
Реакции
1 190
Ответ: Отрицательные координаты

Samsonov сказал(а):
В теории всё очень красиво и как бы понятно. Мол, если охвата колориметра не хватает, то мы подмешиваем немного «белого» к тестовому стимулу, а после уравнивания вычитаем — и так получаются отрицательные координаты.
Неверно. Мы не белый подмешиваем. А один или два кардинала.
А что с этим безобразием делать на практике? Наверняка все сталкивались со случаями, когда фотоэлектрический колориметр (не являющийся, конечно, визуальным колориметром) возвращает отрицательные XYZ-координаты.
Не сталкивались. Но если бы столкнулись,то предположили, что из-за сильного шума он криво ловит темновой сигнал. Когда-то давно, когда у меня был dtp-92 (редкосное дерьмо, нужно заметить), то работал он хорошо, будучи сильно охлажденным...
Ведь стимулы XYZ специально были подобраны, чтобы полностью охватывать HVS
Нет, их никто так не подбирал. Вернее HVS тут ни при чем: HVS -- это сфера ощущений, а XYZ -- воздействий. XYZ придумал Джадд в 1931 г., когда никто понятия не имел о HVS.
По поводу «стандартных» пространств. Алексей, не совсем понятен тот ваш пассаж про sRGB в 1961 году. Его вроде бы «изобрели» в конце 90-х Hewlett-Packard и Microsoft, последней из которых в 1961 г. ещё и в планах не было.
Довольно туманная ситуация. Хант пишет: "Трихроматическое sRGB-пространство аналогично таковым, много лет применяемым в цветном широковещательном телевидении. sRGB предполагает, что цветности кардинальных (воспроизводящих) стимулов те же, что и у стандартных 709 люминофоров (см. раздел 21.13)".
Лезем в 21.13 и читаем: "В 1969 г. Европейский телевещательный союз (European Broadcasting Union — EBU) утвердил набор цветностей для кардинальных стимулов европейских бытовых телеприемников (B.R.E.M.A., 1969; Sproson, 1978). В том же 1969 г. Обществом кино- и телеинженеров США (Society of Motion Picture and Television Engineers — SMPTE) был специфицирован набор цветностей кардинальных стимулов американских бытовых телеприемников — «SMPTE C». И, наконец, в 1991 г. Международный консультативный комитет по радиовещанию (Comite Consultatif International de la Radiodiffusion — CCIR) в своей «Recommendation 709» принял набор «CCIR 709» для телевидения высокой четкости (DeMarsh, 1993).
Мы видим, что все три набора мало чем отличны друг от друга и в равной степени касаются как светоклапанных, так и жидкокристаллических дисплеев. Однако следует всегда помнить, что окружающий свет, давая паразитную подсветку, может заметно снижать охват цветностей системы."
То есть, формально, Вы правы -- 1991 г. Но причем тут Хьюлет? :)

Особняком стоит проблема с «нереальными» координатами L*a*b*, потому что тут критерии не такие простые как «положительные / отрицательные». Но раз виновник торжества не хочет касаться [THREAD=36394]этой темы[/THREAD] до следующего года, придётся смиренно ждать.
"Виновник торжества" -- г-н Маргулис. Это его термин "нереальные цвета". Термин абсурдный. Но ежели хотите -- давайте обсудим этот вопрос в отдельной ветке. А всю статью обсудим тогда, когда "Курсив" позволит опубликовать ее в открытом доступе, то есть 1-го января 2009 г.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Отрицательные координаты

Samsonov сказал(а):
Наверняка все сталкивались со случаями, когда фотоэлектрический колориметр (не являющийся, конечно, визуальным колориметром) возвращает отрицательные XYZ-координаты.
Здесь я вижу два вопроса. Первый про аппаратные трудности измерений. И здесь совершенно верно сделан вывод о сбое нуля прибора (о проблемах нормировки). Второй вопрос более общий. Есть ли смысл в отрицательных значениях XYZ? Вы правы, система XYZ специально использовала абстрактные (комплексные) кардиналы ради того, чтобы избежать отрицательных tristimulus-величин. Однако это верно лишь в фиксированных условиях наблюдения. Смена этих условий может привести к появлению отрицательных чисел. Например хроматический переход - обратите внимание, в матрицах перехода есть отрицательные коэффициенты. Так что боятся отрицательных XYZ не нужно.
Samsonov сказал(а):
что делают отрицательные значения красного в референсах серии ColorChecker?...Я перепробовал все типичные варианты
Старый вопрос, еще со времен "колориметризации" Munsell Color.

Начнем с вопроса, что есть эталон ColorChecker? Увы, это не колориметрический эталон (кстати, как и более известный Pantone). Первые colorchecker'ы описывались в MCS (Munsell color space), как:
Код:
Name Hue Value Chroma 
dark skin 3yr 3.7 3.2 
light skin 2.2yr 6.47 4.1 
blur sky 4.3pb 4.95 5.5 
foliage 6.7gy 4.2 4.1 
blue flower 9.7pb 5.47 6.7 
bluish green 2.5bg 7 6 
orange 5yr 6 11 
purplish blue 7.5pb 4 10.7 
moderate red 2.5r 5 10 
purple 5p 3 7 
yellow green 5gy 7.1 9.1 
orange yellow 10yr 7 10.5 
blue 7.5pb 2.9 12.7 
green .25g 5.4 8.65 
red 5r 4 12 
yellow 5y 8 11.1 
magenta 2.5rp 5 12 
cyan 5b 5 7.27 
white 5b 9.5 0 
neutral 8 5b 8 0 
neutral 6.5 5b 6.5 0 
neutral 5 5b 5 0 
neutral 3.5 5b 3.5 0 
neutral 2 5b 2 0
Через некоторое время появился способ перехода от munsell-координат HVC к привычному XYZ, и у colorchecker наконец появилась колориметрия. Все lab- и xyz-референсы colorchecker'а базируются на этом переходе (он стандартизован трудами Judd, Newhall и Nickerson в 1943, и известен как Munsell renotation). Если пользуетесь такими референсами, следите, совпадают ли данные с Munsell renotation, при этом обращайте внимание на статус осветителя (стандартная таблица Munsell renotation дана для illuminant C). Мне встречались неточные референсы, в т.ч. референсы с gamut mapping (см. ниже) и даже явные "самоделки" - промер шкалы. Аналогично и со спектральными референсами colorchecker'а - в Munsell renotation нет спектральных данных.

Теперь про "Gretag standard RGB". Я встречал много попыток отгадать, что уважаемый гретаг имел ввиду под своими sRGB-данными. Одно из таких исследований в аттаче. Дополню лишь в одном - появление отрицательных данных в любом RGB есть признак выхода за гамут этого RGB. В cms-based преобразованиях мы этого не видим, ибо вылет за гамут маскирует gamut mapping. Но я показывал, как выполнить такой расчет без использования cms (см. аттач 2), легко видеть что cyan (5b5v7.27c в colorchecker) есть -28r133g161b, т.е. out of gamut для sRGB.
 

Вложения

  • RGB Coordinates of the Macbeth ColorChecker.pdf
    319.9 КБ · Просм.: 1 832
  • gretag_cyan_xls.rar
    3.7 КБ · Просм.: 339

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Статус
Закрыто для дальнейших ответов.