Экран с широкой гаммой отображает больше, чем цветовое пространство sRGB.
Так почему же с программами, которые не имеют дело с профилями ICC, с заданным цветом, который имеет свое место/значение в глобальном цветовом пространстве, на экране с широкой гаммой отображается иначе, чем на стандартном экране.
Я имею в виду, что цвет, который соответствует, например, цвету #E58C4E, находится в том же месте в сокращенном цветовом пространстве или в расширенном цветовом пространстве. Таким образом, монитор, который может отображать большое цветовое пространство, должен иметь возможность правильно отображать цвет, находящийся в цветовом пространстве, которое находится внутри него, независимо от того, как он к нему адресован.
На самом деле, #E58C4E
если вы имеете в виду веб-цвет, он определен как sRGB . Однако, если вы имели в виду не это конкретное соглашение, а скорее «красный: 229, зеленый: 140, синий: 78», это другое дело, потому что крайние значения («основные цвета») каждого канала различны в разных цветовых пространствах. , так что эти числа на самом деле представляют что- то другое в каждом пространстве. (Возможно, это и есть цветовое пространство . )
Монитор имеет свои собственные основные цвета (исходное цветовое пространство монитора), а система управления цветом выполняет перевод между известным профилем для данного изображения и собственным выходным сигналом. Если цветовое пространство оригинала неизвестно, невозможно угадать правильный перевод.
Итак, другой способ задать вопрос может быть таким: почему цвета из приложений, не поддерживающих управление цветом, просто не воспринимаются как sRGB и не преобразуются на лету? С точки зрения монитора это просто: он понятия не имеет, какой пиксель получен из какого приложения, поэтому он не будет знать, что переводить, а что оставить в покое. Уровень графического драйвера имеет ту же основную проблему. Идя с другой стороны, неосведомленные приложения не могут этого сделать, потому что они не осведомлены. Таким образом, это делает диспетчер отображения операционной системы, и это сложно.
Итак, мы здесь.
[afaik] Если используемый драйвер дисплея или приложение не применяет цветовой профиль или аналогичный для компенсации более широкой гаммы, цветовые коды, которые вы используете в своем приложении, будут отправлены на дисплей как есть. И на дисплее определенное значение цвета (скажем, E5) больше не интерпретируется в шкале srgb, а в шкале более широкой гаммы.
Так почему же дисплей не интерпретирует E5 в шкале srgb? Это связано с тем, что значения, которые может отправлять видеоадаптер, находятся (обычно) в диапазоне 0–255, поэтому для достижения более широкой гаммы значение 255 означает максимальную интенсивность в более широкой гамме, а не максимальную интенсивность в srgb. гамма.
Если драйвер дисплея или приложение используют цветовой профиль, он может сопоставить значения srgb с соответствующими (меньшими) значениями широкой гаммы и, таким образом, выглядеть на дисплее «нормально». Однако, если не используется более широкий масштаб, чем типичный 0–255, вы потеряете разрешение в процессе, поскольку для srgb будет использоваться подмножество масштаба 0–255, например 0–160.
Глобального цветового пространства нет. Цвет, который вы указываете, представляет собой просто триплет красного, зеленого и синего. Каждый компонент имеет значение от 0 до 255 (0 и FF в шестнадцатеричном формате), которое указывает, сколько энергии отдает каждый светодиод для данного пикселя (или люминофора во времена ЭЛТ).
Масштаб зависит от вашего монитора и его текущих настроек. Вот почему мониторы должны быть откалиброваны. На мониторе с широкой гаммой значения просто распределяются по более широкому цветовому пространству.
Если вы ожидаете, что отображаемый цвет будет преобразован в цветовое пространство дисплея, вам необходимо иметь по крайней мере профиль монитора для вашего монитора и пометить ваши изображения профилем ICC, чтобы операционная система знала, как выполнять преобразование. Это, конечно, приведет к артефактам полос, так как точность будет потеряна.
Как сказал бы Рэймонд Чен, разработчики ненавидят платить налоги . Управление цветом — это очень большой налог на Windows. Ожидается, что разработчики спросят Windows, какой цветовой профиль использовать, а затем сами выполнят все преобразования RGB. (И давайте даже не будем начинать с дополнительных проблем с несколькими мониторами!)
Большинство разработчиков не знают ничего лучшего, поэтому они просто рисуют изображение без какого-либо преобразования, поэтому необработанные числа RGB отправляются на монитор без какой-либо коррекции. На их экране это выглядит хорошо, так что им все равно.
Теперь монитор ДОЛЖЕН интерпретировать цвета RGB в самой широкой цветовой гамме, которую он поддерживает, иначе вы вообще не сможете использовать эти цвета, что противоречит цели монитора с широкой гаммой, поэтому вы остаетесь с перенасыщенными цветами. (Большинство мониторов с широким цветовым охватом фактически включают режим sRGB по необходимости.)
В Mac OS X все управляется цветом, и предполагаются профили sRGB, если только программа не выберет что-то другое, поэтому она позволяет избежать этой проблемы.
Оливер
матдм
Соленый Sub2