Наверное, многих удивит заголовок, вроде бы этот режим и так работает в Photoshop, но дело в том, что со штатными матричными профилями типа sRGB, AdobeRGB, ProPhoto и многими другими режим этот не работает. Точнее он работает как Relative Colorimetric, то есть "отрезает" все внегамутные цвета. Вообще, когда разговор заходит о цветовых преобразованиях и софт-пруфинге в Photoshop мне часто вспоминаются строки "... о сколько нам открытий чудных...". И сегодня речь пойдет о том, как же заставить этот режим работать, чтобы сжать цвета в широком цветовом пространстве до гамута узкого, в частности из ProPhoto в sRGB. Такая ситуация возникает, когда мы хотим полученный из RAW снимок в пространстве Prophoto аккуратно сжать до единственно приемлемого на сегодняшний день для Интернета пространства sRGB, чтобы сохранить или попытаться передать детали в насыщенных областях.

Но прежде давайте вспомним отличие режимов Perceptual и Relative Colorimetric. В режиме Percetual цвета сжимаются относительно неподвижной белой точки. То, что точка белого не сдвигается, очень важно и этим этот режим отличается от малопригодного для целей работы с фотографиями режима Absolute Colorimetric. Relative Colorimetric же варварски отрезает все внегамутные цвета, присваивая им значение 255 (в 8-битном режиме).

Прежде всего продемонстрируем, действительно ли Perceptual не работает. Создаем в Photoshop новый документ, пространство ProPhoto, 16-бит, и заливаем его градиентом (0,255,0)-(0,0,0), как показано на рисунке ниже.

Теперь скопируем через Image->Duplicate и оба документа сконвертируем в sRGB, но один в режиме Perceptual, а другой в Relative Colorimetric. Затем из копии копируем изображение и вставляем обратно на отдельном слое в режиме Difference. Разница вроде должна быть. Однако её нет. То есть режимы работают одинаково и работают как Relative Colorimetric. Но проблема не в Photoshop, хотя ради приличия можно было бы и сказать пользователю, что независимо от того, что Вы там указали в качестве Intent, работать будет только через Relative Colorimetric. Проблема в используемых профилях. Для того, чтобы режим Perceptual отработал как ему положено, в профиле sRGB должна присутствовать таблица преобразований BtoA0, которая и осуществляет Gammut Mapping. То есть нужен не матричный ICC профиль, а CLUT.

Для общего развития, в CLUT профилях могут содержать следующие таблицы:

AtoB0 : Input Perceptual (из входного пространства в PCS)
BtoA0 : Output Perceptual (из PCS в выходное пространство)
AtoB1 : Input Colorimetric
BtoA1 : Output Colorimetric
AtoB2 : Input Saturation
BtoA2 : Output Saturation

Поставляемые с Photoshop профиля sRGB, AdobeRGB, ProPhoto являются матричными и этих таблиц не имеют. По этой причине Perceptual преобразований они не производят. Как же так? Многие пользователи же свято верят, что этот режим честно отрабатывает, при этом даже преобразования выполняют в зависимости от того, есть ли внегамутные цвета или нет. Смешно? Маркетинг в Adobe (да и вообще в любой другой компании) занимается чем угодно, но не реально необходимыми вещами. Господа, сделайте уже профили, поддерживающие все методы, которые указываются в Color Settings, либо предупреждайте пользователей о том, что на самом деле будет выполнено.

Теперь поговорим о том, какой есть выход. Если в штатных профилях нет выше указанных таблиц, возможно они есть в сторонних профилях. Если мы преобразуем в sRGB, то нам нужен CLUT профиль sRGB и такой профиль можно бесплатно скачать с сайта организации International Color Consortium. Вот адрес страницы: http://www.color.org/srgbprofiles.xalter. (прямая ссылка на файл: http://www.color.org/sRGB_v4_ICC_preference.icc). В этом профиле есть нужные таблицы (бесплатную программу ICC Profile Inspector можно скачать на этом же сайте: http://www.color.org/profileinspector.xalter)

Теперь можно в окне Convert to profile выбирать профиль sRGB v4 ICC Preference perceptual intent beta.

Обратите внимание, то в Intent нужно указывать Relative Colorimetric, а не Perceptual. В результате мы получим действительно Perceptual преобразование. Затем можно выполнить конвертацию в обычное sRGB пространство. Если сравнить через режим наложения Difference работу CLUT профиля и штатного, то можно увидеть разницу (для наглядности разница усилена кривой):

Существуют способы преобразований через devicelink профиля или lut (на корректирующем слое Lookup Table). Лично меня качество таких преобразований не устроило. Как только я смогу добиться некоторых приемлемых результатов, обязательно опубликую материал на эту тему.

Удачи!

Дополнительно:

About ICC profiles and Gamut Mapping

 

 

 

Добавить комментарий


Защитный код
Обновить