Ответ: "Windows RGB" vs "Monitor RGB"
Всех приветствую.
Разобраюсь с работой CMS. Чтобы не открывать новую тему, пишу здесь, поскольку вопрос, в общем-то, продолжает разговор о том, "как всё есть". Прошу людей знающих предмет подтвердить адекватность написаного ниже реалиям, а в случае ошибки или неточности поправить. Желательно простым языком, подробно и на конкретных примерах (иначе я вряд ли что-либо пойму).
Пока для простоты, ограничусь только отображением изображений на мониторе/мониторах, без затрагивания темы печати, сканирования и прочего.
=====
Сами изображения не содержат информацию о цвете, только данные о "силе" (интенсивности) свечения трёх люминофоров (Red, Green, Blue) для каждого конкретного пикселя. Разные мониторы при одних и тех же значениях, допустим 70 80 100 будут отображать цвет различно (с точки зрения восприятия человеком). Один и тот же монитор по прошествии нескольких месяцев будет отображать цвет этого пикселя (70 80 100) несколько иначе; если покрутить его ручки контраста и яркости, он станет отображать цвет иначе.
Чтобы одинаково отображать цвет на двух различных мониторах (и на одном и том же мониторе по прошествии времени), нужно во-первых узнать какой реально цвет в настоящее время выдаёт конкретный монитор при подаче на него определённых значений RGB. "Замерив" цвет при определённых значениях RGB (например спектрофотометром), можно сопоставить этим значениям цветовые координаты в CIE Lab (допустим), которые, в свою очередь, соответствуют конкретным цветовым ощущениям человека (усреднённо). Таким образом, зная что нужно получить определённый цвет (отражённый в координатах CIE Lab), и зная какие аппаратные данные (RGB) конкретного монитора ему соответствуют, на него подаются нужные (RGB) значения. Это упрощённо.
Более конкретно, насколько я понимаю, это происходит так.
Процесс "настройки" монитора состоит из двух этапов:
Калибровки при которой изменяют характеристики самого монитора, стремясь приблизить их к характеристикам "идеального" монитора. Так, чтобы, например, одинаковые значения RGB посылаемые на мониор (видеокарту) давали ахроматический цвет. Корректировка харакетристик происходит просредством внесения изменений в LUT видеокарты, которые в дальнейшем, загружаются при каждом запуске операционной сисемы. Кстати, кто-нибудь может дать ссылку на поробную информацию о работе LUT (общий принцип понятен, но не понятны детали и конкретика)?
Далее осуществляют характеризацию монитора. То о чём писал выше: ставят в соответствие определённм значениям RGB, подаваемым на конкретный монитор, конкретный цвет отражённый в цветовых координатах CIE Lab. Эта информация заносится в таблицу пересчёта первичных цветов в профиль монитора, которая в дальнейшем используется программами поддерживающими CMS для того, чтобы вычислить значения RGB, необходимые для корректного отображения определённого цвета (точно заданного в координатах CIE Lab) данным монитором.
Переходя к сути вопроса.
Как работает CMS, если её поддерживает приложение создания/просмотра изображений. Допустим я работаю в Photoshop. Создаю изображение, RGB данные которого интерпретируются как принадлежащие (не знаю как корректно сказать) пространству (?) sRGB, поскольку изображению присвоен профиль sRGB (который описывает поведение абстрактного "идеального" RGB-устройства). При этом происходит следующее: допустим я определил цвет всех пикселей как 250 20 0; CMS Photoshop (пользуясь инфорацией из профиля sRGB который присвоен изображению) пересчитывает их в цветовые координаты CIE Lab (таким образом, виртуально определяя их цвет); далее из координат CIE LAb, пользуясь профилем монитора программа вычисляет значения RGB, которые нужно "дать" монитору чтобы получить этот цвет; далее данные RGB идут на видеокарту, где корректируются LUT, после чего они идут на монитор. Всё верно?
Как всё происходит, если изображение просматривается в программе, не поддерживающей CMS, например в браузере или обычном просмоторщике.
RGB данные из изображения отправляются напрямую на видеокарту, где корректируются LUT и отправляются на монитор. Этот пункт вызывает у меня больше всего сомнений. Получается что данные полученные при характеризации монитора никак не учитываются. Это так?
Другой вопрос: если я, допустим, ставлю изображение на рабочий стол, это равносильно просмотру изображения в программе без поддержки CMS?
Если после столь некороткого поста, уже сложно вспомнить к чему всё это написано )) то, я напомню что прошу людей хорошо разбирающихся в пердмете подтвердить адекватность всего вышенаписанного реальности (плюс ответить на несколько мелких вопросов), а в случае ошибок или неточностей поправить. Желательно простым языком на понятных примерах, иначе я ничего не пойму.
Заранее всем спасибо.