Совершенно безболезненное руководство программиста по XYZ, RGB, ICC, xyY и TRCs
Это руководство было написано в надежде, что оно может быть полезно технически подкованным людям, которые знают многое о коде и математике, используемой при создании программы редактирования изображений, но, возможно, не так много о цветовых пространствах и профилях ICC.
Написано в октябре 2013 года. Обновлено в феврале 2015 года.
А) Цвет в одном абзаце
Б) XYZ - краткий конспект
В) RGB - расположение чёрного, белого, красного, зелёного и синего в пространстве XYZ
Г) ICC означает D50 адаптированный RGB
Д) xyY - достаточное количество цветов, все цвета и воображаемые цвета
Е) TRC и однородность восприятия
Ё) Обобщение плюс краткая историческая справка о редактировании изображений с линейной гаммой
Все числа RGB, XYZ и yxY в этом учебнике - это числа с плавающей запятой. Числа RGB имеют номинальный диапазон от 0 до 1, как и Y от XYZ и xyY. На практике номинальные диапазоны часто расширяются.
Прим. от меня: Хроматичность и цветность это одно и тоже, если вы не знали.
А) Цвет
С одной стороны, свет исходит от солнца или других источников излучения, преломляется средами (вода, атмосфера, стекло) и диффузно или зеркально отражается от поверхностей. С другой стороны, цвет не существует в мире в том же осязаемом виде, что и свет. Скорее, цвет является частью того, как мы ощущаем окружающий мир. Свет попадает в глаза, обрабатывается световыми рецепторами (колбочками и палочками) и передается по зрительным нервам в мозг для дальнейшей обработки и интерпретации. Свет различается по длине волны, которую наши глаза и мозг интерпретируют как различные цвета, а также по интенсивности. Поэтому наше восприятие цвета состоит как из информации об интенсивности, так и из информации о хроматичности. Называя цвета, мы выходим из узкой области цветовосприятия в более широкую область культурной и лингвистической интерпретации и классификации цвета, а затем в еще более широкие философские, эстетические, теологические и метафизические соображения.
Б) XYZ
Б1) Эксперименты с цветовым отображением: что видит средний человек
В конце 1920-х годов Уильям Дэвид Райт и Джон Гилд независимо друг от друга провели серию экспериментов по подбору цветов, в ходе которых были определены все цвета, которые может видеть средний человек (то есть среднее число людей, участвовавших в экспериментах). В 1931 году ученые, изучающие цвета, использовали результаты экспериментов Райта и Гилда для создания цветового пространства CIE XYZ ("XYZ" для краткости).
Б2) Визуализация XYZ
Чтобы представить себе XYZ, подумайте о трехмерной декартовой системе координат (алгебра средней школы) с осями, обозначенными X, Y и Z. В цветовом пространстве XYZ Y соответствует относительной яркости; Y также несет цветовую информацию, связанную с реакцией колбочек глаза "М" (желто-зеленых). X и Z несут дополнительную информацию о том, как колбочки человеческого глаза реагируют на световые волны различной частоты.
Палочки сетчатки глаза
Данные фоторецепторы имеют форму цилиндра, длина которого составляет примерно 0,06 мм, а диаметр около 0,002 мм. Таким образом, подобный цилиндр действительно весьма похож на палочку. Глаз здорового человека содержит примерно 115-120 млн. палочек.
Палочку глаза человека можно разделить на 4 сегментарные зоны:
1 — Наружная сегментарная зона (включает мембранные диски, содержащие родопсин),
2 — Связующая сегментарная зона (ресничка),
3 — Внутренняя сегментарная зона (включает митохондрии),
4 — Базальная сегментарная зона (нервное соединение).
Палочки в высшей степени светочувствительны. Так, для их реакции, достаточно энергии 1 фотона (мельчайшей, элементарной частицы света). Данный факт очень важен при ночном зрении, что позволяет видеть при низком освещении.
Палочки не могут различать цвета, это, в первую очередь, связано с присутствием в них только одного пигмента - родопсина. Пигмент родопсин, называемый иначе зрительным пурпуром, благодаря включенным группам белков (хромофорам и опсинам) имеет 2 максимума светопоглощения. Правда, один из максимумов существует за гранью света, видимого человеческим глазом (278 нм – область уф-излучения), поэтому, наверное стоит называть его максимумом волнопоглощения. Но, второй максимум виден глазу - он существует на отметке 498 нм, расположенной на границе зелёного и синего цветового спектра.
Достоверно известно, родопсин, присутствующий в палочках, реагирует на свет много медленнее, чем йодопсин, содержащийся в колбочках. Потому, для палочек характерна слабая реакция на динамику световых потоков, и кроме того, они плохо различают движения объектов. И острота зрения не является их прерогативой.
Колбочки сетчатки глаза
Эти фоторецепторы, также получили свое название благодаря характерной форме, схожей с формой лабораторных колб. Длина колбочки составляет приблизительно 0,05 мм, диаметр ее в наиболее узком месте равен примерно 0,001 мм, а в самом широком - 0,004. Сетчатка здорового взрослого человека содержит около 7 млн. колбочек.
Колбочки имеют меньшую чувствительность к свету. То есть для возбуждения их деятельности потребуется световой поток, который в десятки раз более интенсивен, чем для возбуждения работы палочек. Но колбочки обрабатывают световые потоки значительно интенсивнее палочек, поэтому они лучше воспринимают и их изменение (к примеру, лучше различают свет при движении объектов, в динамике относительно глаза). Кроме того, они более четко определяют изображения.
Колбочки человеческого глаза, также включают 4 сегментарные зоны:
1 — Наружная сегментарная зона (включает мембранные диски, содержащие йодопсин),
2 — Связующая сегментарная зона (перетяжка),
3 — Внутренняя сегментарная зона (включает митохондрии),
4 — Зона синаптического соединения или базальный сегмент.
Причина вышеописанных свойств колбочек - это содержание в них специфического пигмента йодопсина. Сегодня выделены и доказаны 2 вида данного пигмента: эритролаб (йодопсин, чувствительный к красному спектру и длинным L-волнам), а также хлоролаб (йодопсин, чувствительный к зеленому спектру и средним M-волнам). Пигмент, который чувствителен к синему спектру и коротким S-волнам, пока не найден, хотя название за ним уже закрепилось – цианолаб.
Подразделение колбочек по видам доминирования в них цветового пигмента (эритролаба, хлоролаба, цианолаба) обусловлено трехкомпонентной гипотезой зрения. Существует, однако, и другая теория зрения - нелинейная двухкомпонентная. Ее приверженцы считают, что все колбочки, включают в себя эритролаб, и хлоролаб одновременно, а потому способны воспринимать цвета и красного, и зеленого спектра. Роль цианолаба, при этом, выполняет выцветший родопсин палочек. Эту теорию подтверждают и примеры людей, страдающих дальтонизмом, а именно невозможностью различать синюю часть спектра (тританопия). Они так же испытывают затруднения с сумеречным зрением (гемералопия), что является признаком аномальной деятельности палочек сетчатки глаза.
Б3) Реальные цвета и воображаемые цвета (imaginary colors)
Теоретически, оси XYZ уходят в бесконечность как в положительном, так и в отрицательном направлении. Однако не каждый набор координат в пространстве XYZ соответствует цвету, который может видеть средний человек. Координаты XYZ, которые находятся вне локуса цветов, отображенных в результате экспериментов по сопоставлению цветов, которые привели к созданию цветового пространства XYZ, называются воображаемыми цветами. Координаты XYZ, которые находятся внутри локуса цветов, отображенных в результате экспериментов по сопоставлению цветов, называются реальными цветами.
Б4) Цвета, которые не были измерены
Не каждое существо видит цвет точно так же, как гипотетический средний человек. Например, птицы, пчелы, собаки и люди с нестандартным цветовосприятием видят те же цвета не так, как среднестатистический человек. Однако для целей цифровой фотолаборатории цвета, которые видит любое существо с нестандартным цветовосприятием, не являются ни реальными, ни воображаемыми. Вот почему:
Как уже упоминалось в первом разделе этой статьи, световые волны различных частот существуют в мире, но цвет возникает в глазу и мозге. Можно было бы провести (и я уверен, что ученые-цветоведы уже провели) эксперименты по подбору цвета с человеческими тетрахроматами, с дальтониками, и, возможно, даже с птицами, пчелами, собаками и т.д. Но полученное цветовое пространство "тетрахромат-XYZ" (или цветовое пространство "дальтоник-XYZ", или цветовое пространство "птица-XYZ") не будет таким же, как цветовое пространство CIEXYZ 1931 года "только для среднего человека". Эти альтернативные цветовые пространства будут иметь свои собственные наборы реальных и воображаемых цветов.
Подведем итог: если цветок отражает его/это ("его/это" - то сложное явление, которое мы называем светом) и пчела видит его, то, конечно, для пчелы он реален. А если картина отражает свет и его видит тетрахромат, то для тетрахромата он реален. Но что касается цветового пространства CIE XYZ 1931 года, которое мы используем в цифровой фотолаборатории, то эти цвета "нестандартного цветовосприятия" не реальны и не воображаемы, они просто не были измерены во время экспериментов по подбору цветов, которые привели к созданию цветового пространства XYZ.
Б5) Кто средний?
Я не знаю состав людей, участвовавших в экспериментах по подбору цветов, которые привели к созданию цветового пространства CIE XYZ "среднего человека" 1931 года, но если бы мне пришлось гадать, я бы предположил, что это были здоровые молодые взрослые британские мужчины. Меня удивляет, что, несмотря на несколько ограниченную экспериментальную базу цветового пространства XYZ (впоследствии дополненную дополнительными экспериментами), XYZ, тем не менее, чрезвычайно полезно. Фактически, хотя цветовое пространство XYZ редко используется непосредственно при редактировании изображений, оно является основой всего, что связано с цветом в приложениях для редактирования изображений, управляемых цветом.
Прим. от меня: Помнится читал, что то ли лесбиянки, то ли педерасты видят цвет немного по иному, у них какой-то компонент отсутствует в глазах, они какой-то цвет не различают. Так что можете сами погуглить это в интернете.
В) RGB из XYZ
Различные цветовые пространства RGB, которые мы используем в цифровой фотолаборатории, являются просто полезными подмножествами всех цветов, содержащихся в цветовом пространстве XYZ.
В1) Как указать цветовое пространство матрицы RGB
Самый простой тип цветового пространства RGB, который мы используем для обычного редактирования изображений, - это матричное цветовое пространство RGB. Цветовое пространство матрицы RGB определяется путем указания координат XYZ для пяти цветов, которые являются цветовым пространством:
· Самый тёмный тёмный цвет ("черный")
· Самый светлый светлый цвет ("белый")
· Самый красный красный цвет
· Самый зеленый зеленый цвет
· Самый синий синий цвет
Пять координат XYZ, определяющих цветовое пространство матрицы RGB в пространстве XYZ, имеют названия, которые немного проще произнести, чем фразы типа "максимально тёмно-тёмный", "максимально светло-светлый" и так далее:
· Координаты XYZ для самого тёмного цвета называются чёрной точкой цветового пространства.
· Координата XYZ для самого светлого цвета называется белой точкой цветового пространства.
· Координаты XYZ для максимально красного, максимально зелёного и максимально синего цветов называются первичными точками красного, зелёного и синего цветов цветового пространства.
В2) Что такое чёрный? Что такое белый?
Мы интуитивно понимаем, что "чёрный" и "белый" имеют только по одному значению. Но для дальнейшего уточнения деталей цветового пространства матрицы RGB единственным требованием является то, что координата Y для цвета RGB "белый" больше координаты Y для цвета RGB "черный". Например, для профиля принтера координаты XYZ для "чёрного" могут представлять реальный цвет, который в обычных условиях мы можем назвать тёмно-сине-серым или тёмно-жёлто-серым, в зависимости от краски принтера. А XYZ-координаты для белого цвета могут представлять реальный цвет, который в обычных условиях мы можем назвать голубовато-белым или яичной скорлупой, в зависимости от базового цвета бумаги принтера. (В качестве примечания: большинство профилей принтеров - это профили LUT, а не матричные профили, но профили LUT все равно имеют чёрные и белые точки).
В3) Восемь вершин из пяти координат
Для определения цветового пространства матрицы RGB требуется всего пять координат XYZ, это координаты XYZ для пяти цветов RGB - чёрного, самого красного, самого синего, самого зелёного и белого. Однако в результате в пространстве XYZ получается не пирамида (5 вершин, 4 грани), а гексаэдр (8 вершин, 6 граней), вершинами которого являются следующие восемь координат XYZ:
· Координата XYZ для цвета RGB (0; 0; 0) или самого тёмного из возможных тёмных цветов RGB ("чёрный").
· Координата XYZ для цвета RGB (1; 1; 1) или максимально светлого цвета RGB ("белый").
· Координата XYZ для цвета RGB (1; 0; 0) или самый красный цвет RGB red.
· Координата XYZ для цвета RGB (0; 1; 0) или самый зеленый цвет RGB green.
· Координата XYZ для цвета RGB (0; 0; 1) или самого синего цвета RGB blue.
· Координата XYZ для цвета RGB (1; 0; 1) или самый пурпурный из возможных RGB magenta.
· Координата XYZ для цвета RGB (1; 1; 0) или самый жёлтый из возможных жёлтых цветов RGB yellow.
· Координата XYZ для цвета RGB (0; 1; 1) или максимально возможный циановый цвет RGB cyan.
Как получить 8 вершин XYZ, указав только пять координат XYZ? Свет является аддитивным. Поэтому, когда вы знаете XYZ-координаты красного, синего и зелёного цветов, добавьте красный и синий, чтобы получить пурпурный, добавьте красный и зелёный, чтобы получить жёлтый, и добавьте синий и зелёный, чтобы получить циановый.
В4) Бесконечное число цветовых пространств RGB, или "Что такое красный?".
Люди, живущие с начала появления цифровых изображений, иногда склонны неосознанно считать, что "RGB" означает "sRGB", даже если сознательно они знают обратное. Но на самом деле существует бесконечное число возможных цветовых пространств матрицы RGB, и физическое (реальное) значение "самого красного", "самого зелёного" и "самого синего" зависит от того, какие координаты XYZ вы выберете для первичных цветов цветового пространства RGB.
Допустим, вы хотите создать два различных матричных цветовых пространства RGB, LargeRGB и SmallRGB. Самый красный из возможных красных в LargeRGB имеет координаты RGB (1; 0; 0). Самый красный возможный красный в SmallRGB также имеет координаты RGB (1; 0; 0). Но значение (1; 0; 0) в LargeRGB не совпадает со значением (1; 0; 0) в SmallRGB, потому что эти два цветовых пространства имеют разные первичные красные цвета, что означает разные координаты XYZ, которые соответствуют соответствующему цвету RGB (1; 0 ;0). Вот почему люди говорят, что RGB прямо родственен XYZ.
Я еще не представил пространство xyY (см. раздел Г ниже). Но в отличие от XYZ, пространство xyY чётко отделяет XYZ Y (яркость/luminance) от цвета, а точнее от хроматичности, что и обозначает "xy" в xyY. Таким образом, в пространстве xyY вы можете изобразить "цвет" (на самом деле, хроматичность) на двумерной диаграмме. На рисунке 1 показаны координаты цветности xy для красного, синего и зелёного первичных цветов для относительно небольшого пространства sRGB и более крупного цветового пространства Wide Gamut RGB, что является наглядным подтверждением часто повторяемого утверждения о том, что "RGB родственен XYZ" (и, следовательно, также родственен xyY):
Какой цвет красный? Зеленый? Синий? Это зависит от расположения определяющих координат XYZ/xyY цветового пространства RGB:
· Самый красный из возможных красных цветов sRGB более оранжевый и менее насыщенный, чем самый красный из возможных красных цветов Wide Gamut.
· Самый зелёный из возможных зелёных цветов sRGB значительно более жёлтый и менее насыщенный, чем самый зелёный из возможных зелёных цветов Wide Gamut.
· По сравнению с самым синим из возможных синих цветов sRGB, самый синий из возможных синих цветов Wide Gamut является более фиолетовым и более насыщенным.
Приведенная выше диаграмма цветности (без наложенных первичных цветов цветовых пространств sRGB и Wide Gamut RGB) является диаграммой цветности из Википедии.
Двухмерная xy-диаграмма не может передать интуитивное ощущение различных трёхмерных цветовых пространств RGB внутри эталонного цветового пространства XYZ. Экспериментирование с программой 3D Gamut Viewer Брюса Линдблума (в нижней части статьи "Информация о рабочем пространстве RGB") - это самый быстрый способ получить интуитивное ощущение взаимосвязи между эталонным цветовым пространством XYZ и различными по размеру и форме цветовыми пространствами RGB. Я настоятельно рекомендую вам посетить сайт Брюса Линдблума и потратить несколько минут на изучение различных цветовых пространств RGB внутри эталонного цветового пространства XYZ. Например, используя 3D Gamut Viewer, выберите цветовое пространство 'Wide Gamut' в качестве основного рабочего пространства, 'None' в качестве вторичного рабочего пространства и 'XYZ' в качестве (эталонного) цветового пространства. Gamut Viewer является интерактивным, поэтому вы можете менять цветовое пространство XYZ и просматривать основное рабочее пространство со всех сторон. Также попробуйте переключиться в пространство xyY. Проверьте, можете ли вы найти все 8 вершин XYZ (чёрный, белый, красный, синий, зелёный, пурпурный, циановый, белый). Затем добавьте "sRGB" в качестве вторичного рабочего пространства и посмотрите, как цветовое пространство Wide Gamut сравнивается с цветовым пространством sRGB.
Г) ICC означает RGB адаптированный к D50
XYZ был изобретен в 1931 году. ICC была основана 62 года спустя, в 1993 году. Цветовые пространства RGB использовались в цветоведении и практических приложениях задолго до того, как ICC предложила людям использовать профили ICC в своих цифровых фотолабораториях. Цветовое пространство матрицы RGB профиля ICC - это просто цветовое пространство матрицы RGB, адаптированное к эталонному белому цвету D50.
Г1) Эталонный белый цвет профиля ICC D50
Концепция эталонного белого цвета D50 важна, но не совсем интуитивно очевидна, поэтому требует небольшой справочной информации. ICC выбрал D50 в качестве эталонного белого для профилей ICC, поскольку ICC в значительной степени ориентирован на облегчение изготовления печати на бумаге, а D50 является предпочтительным эталонным белым для оценки печати на бумаге.
Следующий вопрос: "Что такое эталонный белый"? То, что мы воспринимаем как "белый", зависит от типа света, освещающего сцену. С точки зрения повседневного опыта, D50/5003K - это цвет прямого солнечного света ранним утром в ясный день. D50 теплее и желтее, чем D65/6504K - цвет непрямого, рассеянного дневного света в полдень в пасмурный день, который, в свою очередь, теплее и желтее, чем цвет света в глубокой тени здания (11 000K и выше) в яркий солнечный день. Если говорить наоборот, то цвет света в глубокой тени здания холоднее и голубее, чем дневной свет, который, в свою очередь, холоднее и голубее, чем солнечный свет ранним утром.
Говоря, что цвет является "белым", вы уже выбрали определенный "цвет белого" в качестве эталонного белого. Если D50 - ваш эталонный белый, то D65 на самом деле синий. Если D65 - ваш эталонный белый, то D50 на самом деле желтый. Если вы измените эталонный белый, вам придется изменить все цвета, иначе они будут выглядеть странно. Технический термин для изменения цветов в соответствии с новым эталонным белым - адаптация.
В реальном мире эталонный белый цвет определяется типом света, который освещает то, на что вы смотрите. Чтобы дать вам наглядное представление о том, почему адаптация необходима при изменении эталонного белого (ваши глаза действительно адаптируются при изменении эталонного белого!), рассмотрим следующее: По сравнению с прямым утренним солнечным светом, свет в пасмурный дождливый день холодный и голубой. По сравнению с прямым утренним солнечным светом свет свечи тёплый и жёлтый. Поэтому, когда вы и ваш партнер устраиваете романтический ужин при свечах, лицо вашего партнера имеет тёплый отблеск от свечи. Было бы очень странно, если бы лицо вашего партнера имело такой же тёплый отблеск от свечи не только за обеденным столом, но и стоя на улице в пасмурный дождливый день, где цвет света намного холоднее и голубее. Это было бы похоже на то, как если бы ваш партнер всегда был освещен светом свечи, даже когда все остальные мокнут под дождем (это хорошая поэтическая метафора, но не совсем наука о цвете).
Г2) Рабочие пространства матрицы RGB обладающие желательными или положительными качествами
Это руководство посвящено ICC-профилям для определенного типа матричных цветовых пространств, а именно, имеющих желательные или положительные качества, адаптированных к D50 цветовых пространств RGB-матриц, которые мы используем в цифровой фотолаборатории и обычно называем рабочими пространствами. Цитирую по статье "Что делает цветовое пространство хорошо управляемым?":
[Для цветовых пространств имеющих желательные качества] "белый" и " чёрный" имеют точные физические определения. Если предположить, что сцену освещает один источник света полного спектра, то "сплошной черный" - это цвет, который получается, когда от поверхности не отражается абсолютно никакой свет, а "сплошной белый" - это цвет, который получается, когда 100% света отражается от идеально диффузной отражающей поверхности. В реальности не существует поверхностей, которые вообще не отражают свет (близко к этому стоит световая ловушка), и нет поверхностей, которые идеально диффузно отражают весь свет (близко к этому стоит тонко измельченный белый порошок).
Прим. от меня: Vantablack — Субстанция из углеродных нанотрубок. Является одним из самых чёрных из известных веществ. Поглощает 99,965% падающего на него излучения: видимого света, микроволн и радиоволн. Состоит из насаждения вертикальных нанотрубок, которые «растут» на алюминиевой фольге; фотоны, попадая на Vantablack, теряются между этими нанотрубками и, практически не отражаясь обратно, превращаются в тепло. Впервые это вещество было представлено учёными Национальной физической лаборатории Великобритании и Surrey NanoSystems на авиасалоне Фарнборо в июле 2014 года.
Люди описывают это как дыра в пространстве, очень пугающе )))
Про отражение https://4pda.to/2021/04/16/384424/samaya_belaya_kraska_v_mire_otrazhaet_pochti_100_sveta/
и реализация так называемого Абсолютного зеркала
Все профили рабочего пространства ICC RGB имеющие желательные качества, обладают тремя характеристиками:
· Черный цвет RGB (0; 0; 0) имеет координаты XYZ (0,0000; 0,0000; 0,0000).
· Белый цвет RGB (1; 1; 1) имеет координаты XYZ (0,9642; 1,0000; 0,8249).
· Если R=G=B, то полученный цвет будет нейтрально-серым.
Белый цвет в любом профиле ICC рабочего пространства матрицы RGB всегда имеет координаты XYZ (0,9642; 1,0000; 0,8249), потому что это координаты XYZ стандартного осветителя D50, и ICC решил, что все профили ICC должны использовать D50 в качестве эталонного белого цвета профиля ICC. Если бы ICC ориентировался на отображение изображений на мониторах ЭЛТ, а не на оценку бумажных копий, они, вероятно, выбрали бы D65 в качестве эталонного белого, и эталонный белый цвет профиля ICC имел бы координаты D65 XYZ (0,9505; 1,0000; 1,0891). Если бы они выбрали E (equal energy/равноэнергетический), который является эталонным белым для цветового пространства CIE XYZ 1931 года и очень близок к D55, который является эталонным белым для цветных непроявленных киноплёнок, то эталонный белый цвет профиля ICC имел бы координаты E XYZ (1,0000; 1,0000; 1,0000).
Г3) Матричные и LUT ICC профили рабочих пространств RGB
Почти все профили ICC рабочего пространства RGB (sRGB, AdobeRGB, BetaRGB, ProPhotoRGB и т.д.) являются простыми матричными профилями. Матричные профили используют матрицу 3x3 для преобразования цвета RGB в XYZ и наоборот.
Другой тип ICC-профиля - это профиль таблицы поиска ("LUT"). Профили LUT содержат (иногда очень большие) таблицы поиска, которые определяют местоположение цветов RGB в пространстве XYZ. Профили LUT обычно используются для описания сложного поведения таких устройств, как принтеры, цифровые камеры (для которых также часто используются матричные профили), а иногда даже мониторы. Кроме того, существуют LUT-профили для цветовых пространств, отличных от RGB, таких как CMYK.
В этом руководстве, чтобы не повторять слово "матрица" снова и снова, все ссылки на ICC-профили рабочего пространства означают профили рабочего пространства матрицы RGB. Мне известно только одно рабочее пространство с таблицей просмотра RGB, которое называется PhotoGamutRGB. ICC создал несколько ориентированных на печать профилей LUT RGB с именами, которые вызывают стандартные матричные профили sRGB и ProPhotoRGB, но эти профили LUT не являются профилями рабочего пространства в обычном смысле этого слова, и далее в этом руководстве не рассматриваются.
Г4) Точка белого sRGB D65 и профиль sRGB ICC
Я почти уверен, что вы возразите, что точка белого в sRGB - это не D50, а D65. И вы правы. Но это эталонный белый цвет цветового пространства sRGB, не путать с эталонным белым цветом профиля ICC (см. раздел A "Яркость цвета sRGB зависит от эталонного белого" для получения дополнительной информации). В профиле ICC метка illuminant указывает эталонный белый цвет профиля ICC, который всегда равен D50.
ICC устанавливает спецификации для создания профиля ICC, и со временем они изменили свои взгляды на то, как делать профиль ICC, в результате чего появились профили V2, профили V4 и профили V2, сделанные в соответствии со спецификациями V4 (если вы думаете, что это путаница, обратитесь в ICC). В профиле V2, сделанном в соответствии со спецификациями профиля V2, фактический эталонный белый цвет цветового пространства (например, D65 для sRGB) указан в метке точки белого в профиле. Таким образом, профиль V2 sRGB, сделанный с использованием спецификаций профиля V2 (например, профиль Argyllcms "sRGB.icm"), имеет точку белого профиля D65.
В любом профиле, V2 или V4, сделанном в соответствии со спецификациями профиля V4, метка точки белого профиля кажется несколько излишней, поскольку она всегда содержит координаты D50 XYZ, что является той же информацией, которая содержится в метке illuminant профиля.
Так где же информация об исходном эталонном белом цветовом пространстве D65 sRGB в профилях, созданных в соответствии со спецификациями V4? Она содержится в метке chad ("матрица хроматической адаптации"). Метка chad не дает вам эталонный белый цвет цветового пространства. Скорее, он дает матрицу адаптации для адаптации от исходного эталонного белого цветового пространства (например, D65, E, C и т.д.) к эталонному белому D50 профиля ICC. Например, метка chad в профиле V2 или V4 sRGB, сделанном с использованием спецификаций V4, содержит матрицу хроматической адаптации D65 к D50.
Г5) Красный, синий и зелёный первичные цвета XYZ (адаптированы к D50)
Мы уже видели, что все стандартные ICC-профили RGB с желательными качествами "рабочего пространства" имеют одинаковое расположение точек чёрного и белого в пространстве XYZ. Поэтому то, что отличает одно рабочее цветовое пространство ICC от другого, - это соответствующие координаты XYZ для самого красного, самого зелёного и самого синего цветов цветового пространства. В таблице 1 приведены координаты XYZ для самого красного, самого зелёного и самого синего цветов для пяти различных рабочих пространств RGB, расположенных в порядке от наименьшего до наибольшего цветового охвата (цветовой охват/color gamut — это трёхмерная форма и размер части эталонного цветового пространства XYZ, занимаемой любым данным цветовым пространством RGB):
Таблица 1: Адаптированные к D50 первичные цвета рабочего пространства RGB (XYZ)
Я уже несколько раз упоминал о "яркости/luminance", и вот снова. Если сложить значения Y для красного, синего и зелёного первичных цветов в строке профилей в таблице 1, то сумма всегда будет равна 1,0000. Например, для sRGB 0,2224 плюс 0,7170 плюс 0,0606 равно 1,0000.
Все первичные цвета RGB-XYZ в таблице 1 (а также эквивалентные первичные цвета xyY в таблице 1 ниже) уже адаптированы к эталонному белому цвету профиля ICC D50. Когда вы создаете ICC-профиль с помощью LittleCMS версии 2 (LCMS2, которая использует спецификации ICC V4), вы фактически даете LCMS2 неадаптированные первичные цвета цветового пространства XYZ, обычно как xyY, а не XYZ, и вы также даете LCMS2 эталонный белый цвет цветового пространства. Затем LCMS2 услужливо выполняет адаптацию Брэдфорда от эталонного белого цвета цветового пространства к эталонному белому цвету профиля D50 ICC (например, D65 для sRGB), а затем выдаёт ICC-совместимый, адаптированный к D50 профиль цветового пространства.
Больше информации: Если бы эталонный белый в ICC был D65 или E ...
Если бы ICC использовал D65, а не D50 в качестве эталонного белого цвета профиля ICC, то первичные sRGB RGB-XYZ в таблице 1 соответствовали бы неадаптированным первичным sRGB, знакомым по ColorFAQ Пойнтона.
Если бы ICC использовал E, а не D50 в качестве эталонного белого цвета профиля ICC, и если бы я указал, что эталонный белый цвет Identity также E, то первичные цвета Identity RGB-XYZ в таблице 1 были бы (1; 0; 0), (0; 1; 0) и (0; 0; 1). В качестве дополнения, сравните адаптированные к D50 первичные цвета Identity в таблице 1 со значениями XYZ эталонного белого в ICC-профиле - что вы видите?
Г6) Почему так много рабочих пространств RGB?
Любой может создать новое рабочее пространство RGB, выбрав подходящий набор красных, синих и зелёных первичных цветов и эталонный белый цвет. Два цветовых пространства RGB в таблице 1 - sRGB и ProPhoto RGB - должны быть знакомы каждому.
Цветовое пространство CIE-RGB является первым цветовым пространством, когда-либо изобретенным. Его первичные красный, зелёный и синий цвета представляют собой фактические длины волн света, использованные в оригинальных экспериментах Райта и Гилда, которые привели к созданию цветового пространства XYZ. CIE-RGB имеет эталонный белый цвет E, и именно его использует оригинальное цветовое пространство CIE XYZ 1931 года.
Возможно, вы никогда не слышали о цветовом пространстве Identity, но оно всплывает время от времени, потому что это математически очевидно. Это то, что вы получите, если попросите LCMS2 сделать профиль с (1; 0; 0), (0; 1; 0) и (0; 0; 1) в качестве самого красного, самого зелёного и самого синего в пространстве XYZ и D50 в качестве эталонного белого в цветовом пространстве Identity.
Я уверен, что вы никогда раньше не слышали о цветовом пространстве AllColors-RGB, потому что я сам его изобрел. AllColors-RGB чуть больше цветового пространства ACES, оно достаточно велико, чтобы охватить некоторые едва заметные красные и фиолетово-синие длины волн света, которые ACES исключает, и в нем используется эталонный белый цвет D50 вместо эталонного белого цвета ACES D60.
Существует множество привычных и не очень привычных цветовых пространств RGB, помимо пяти, перечисленных в таблице 1. Все они были придуманы кем-то для определенных целей. Многие цветовые пространства были придуманы для соответствия различным устройствам отображения. Старое цветовое пространство NTSC описывало характеристики телевизоров 1950-х годов. sRGB было изобретено для соответствия цветам, которые можно было отобразить на ЭЛТ 1990-х годов, также как и AppleRGB (мониторы Apple) и ColorMatchRGB (мониторы PressView). Я не уверен, что уже доступны какие-либо потребительские продукты, использующие новое цветовое пространство Rec. 2020 UHDTV.
Многие другие известные цветовые пространства были разработаны для того, чтобы быть "достаточно большими" для хранения цветов, которые могут быть отсканированы с плёнки и/или цветов, которые могут быть напечатаны на бумаге. Цветовые пространства "от плёнки до печати" включают AdobeRGB, BetaRGB, BruceRGB, DonRGB и ECI-RGB (этот список далеко не полный). Компания Kodak создала ProPhotoRGB в 1999 году (под названием "ROMM" или "Reference Output Medium Metric RGB Color Space"), чтобы оно было достаточно большим и вмещало все возможные цвета "плёнки для печати", а затем и некоторые другие, чтобы выступать в качестве архивного, перспективного цветового пространства.
Однако ни одно из этих цветовых пространств "от плёнки до печати" не охватывает все цвета, которые могут быть получены с помощью современных цифровых камер. Существует клин фиолетово-синих и пурпурных цветов, которые ProPhotoRGB полностью пропускает (см. пурпурные точки и линии ProPhoto на рисунке 2, раздел D), а цифровые камеры захватывают цвета, которые уходят глубже в видимые синие и фиолетово-синие оттенки, чем даже самый синя-синий ProPhotoRGB. Это, несомненно, одна из причин, по которой ACES придумал свое собственное цветовое пространство ACES, которое содержит практически все цвета (ACES - это архивное цветовое пространство, которым должен был стать Kodak ROMM), и почему мое цветовое пространство "AllColors-RGB" лишь немного больше цветового пространства ACES.
За любое "достаточно большое, чтобы вместить все реальные цвета" цветовое пространство приходится расплачиваться тем, что в дополнение к реальным цветам оно будет содержать различный процент воображаемых цветов. Самый простой способ продемонстрировать, где находятся эти воображаемые цвета, - это показать вам некоторые двумерные диаграммы цветности xy, которые будут приведены в разделе Д:
Д) xyY и диаграмма цветности
Подковообразная диаграмма цветности, с которой вы, несомненно, знакомы, является своего рода "отпечатком" всех реальных цветов на плоскости xy (цветность) цветового пространства xyY.
Д1) xyY из XYZ
xyY вычисляется из XYZ с помощью удивительно простых математических уравнений:
В отличие от XYZ, пространство xyY четко отделяет XYZ Y (яркость) от цвета, а точнее от цветности, что и обозначает "xy" в xyY. Более подробную информацию можно найти в разделах "Цветовые пространства CIE XYZ и xyY" и "xyY в XYZ и XYZ в xyY" Брюса Линдблума.
Внешний край подковообразной формы соответствует различным спектрально чистым длинам волн реального света, который может видеть человек, вот почему я сказал, что XYZ и xyY связаны "удивительно" простыми уравнениями: меня удивляет, что значения XYZ так легко связаны с длинами волн реального света. Но опять же, длины волн света, использованные в экспериментах Гилда и Райта, существовали еще до того, как для их описания были придуманы цветовые пространства xyY и XYZ.
Все цвета XYZ имеют уникальное расположение в пространстве xyY и наоборот, поэтому, как и XYZ, xyY также является эталонным цветовым пространством. Часть "xy" в xyY представляет цвет (фактически "цветность", то есть то, что остается от цвета после абстрагирования от яркости), а "Y" представляет относительную яркость/relative luminance. Если вы изучите уравнения для вычисления xyY из XYZ и наоборот, вы увидите, что "Y" xyY и "Y" XYZ равны друг другу, поэтому оба они представляют относительную яркость цвета.
Д2) Координаты цветового пространства RGB в пространстве xyY
Таблица 2 точно такая же, как и Таблица 1, за исключением того, что вместо указания местоположения координат цветового пространства профиля ICC в пространстве XYZ, теперь местоположение указано в пространстве xyY:
Таблица 2: Адаптированные к D50 первичные цвета рабочего пространства RGB (xyY)
Некоторые первичные цвета в таблицах 1 и 2 выделены желтым цветом. Выделенные первичные цвета представляют координаты XYZ (и, следовательно, xyY), которые не являются реальными цветами. Самый сине-синий и самый зелёно-зелёный цвета в цветовых пространствах ProPhotoRGB, AllColors-RGB и Identity являются воображаемыми цветами, как и самый красно-красный цвет в цветовом пространстве Identity. На рисунке 2 ниже показано, почему эти цвета не являются реальными - они выходят за пределы подковообразной диаграммы цветности.
Д3) Чёрный, белый, красный, синий и зелёный цвета на диаграмме цветности
На рисунке 2 показаны координаты цветности xy красного, синего и зеленого цветов, соответствующие координатам "xy" цветового пространства RGB в таблице 1. Ярко окрашенная подковообразная форма на рисунке 2 - это диаграмма цветности, показывающая все координаты xy, которые представляют реальные цвета. Все точки xy за пределами диаграммы цветности представляют воображаемые цвета. Чтобы показать вам фактические координаты xyY (или XYZ), потребуется интерактивное 3D-представление.
Внешний край диаграммы цветности представляет спектрально чистые цвета, идентифицируемые по длине волны. Синие цифры по краям ярко окрашенной "подковы" - это различные длины волн спектрально чистого света, указанные в нанометрах. Например, самый красный цвет имеет длину волны 700 нм, самый зеленый - около 520 нм, а самый синий - около 450 нм. Ниже 450 нм располагаются фиолетово-синие цвета, и, как ни странно, все пурпурные цвета между фиолетово-синим при 380 нм и красным при 700 нм являются чисто конструкцией человеческого мозга, не имеющей соответствующих реальных длин волн света. Световые волны существуют в мире, но цвет возникает при взаимодействии световых волн с глазом, мозгом и сознанием.
Треугольник, определяемый координатами цветности цветового пространства (большие точки чёрного, цианового, пурпурного, зелёного и синего цветов), обозначает границы наиболее интенсивных, чистых, насыщенных цветов, которые может содержать данное цветовое пространство. Все, что находится за пределами треугольника, является "вне цветового охвата" по отношению к данному цветовому пространству.
Треугольник sRGB (линии, соединяющие чёрные точки) показывает, что многие реальные цвета находятся вне цветового охвата пространства sRGB. Многие приложения для редактирования изображений требуют возможности задавать цвета, выходящие за пределы цветового пространства sRGB, поэтому существует более одного рабочего цветового пространства RGB.
CIE-RGB, которое является самым первым цветовым пространством RGB, когда-либо изобретённым, показано циановыми точками и линиями. Наиболее часто используемым большим рабочим пространством профиля ICC является ProPhotoRGB, показанный пурпурными точками и линиями. Зелёные точки и линии показывают цветовое пространство ACES/AllColors, а синие точки и линии показывают (самое большое и математически простое) цветовое пространство Identity.
На диаграмме синяя линия цветового пространства Identity, соединяющая (0;0) - (0;1), скрыта соответствующей зеленой линией цветового пространства ACES/AllColors; аналогично часть синей линии, соединяющей (1;0) - (0;1) цветового пространства Identity, скрыта соответствующей зеленой линией цветового пространства ACES/AllColors.
Оси x и y цветового пространства xyY простираются до бесконечности как в положительном, так и в отрицательном направлениях. Оси xy на рисунке 2 останавливаются на 0,9 и 0,8, потому что я использовал диаграмму цветности из Википедии, находящуюся в открытом доступе, а не рисовал свою собственную диаграмму с нуля, и осям x и y не нужно идти дальше 0,8 и 0,9, чтобы учесть цветность всех реальных цветов.
Как уже отмечалось, черный цвет в рабочем цветовом пространстве ICC матрицы RGB имеет координаты XYZ (0,0000; 0,0000; 0,0000), а белый цвет имеет координаты XYZ (0,9642; 1,0000; 0,8249). Соответствующие координаты xyY черного и белого цветов - (0,3805; 0,3769; 0,0000) и (0,3805; 0,3769; 1,0000). Если мысленно определить местоположение этих точек на диаграмме цветности на рисунке 2, то должно быть ясно, что чёрный и белый цвета расположены примерно в центре диаграммы цветности.
Д4) "Все настоящие цвета" требуют и воображаемых цветов.
Самым большим рабочим пространством RGB, использующим в качестве первичных цветов только реальные цвета, является цветовое пространство WideGamutRGB (показанное на рисунке 1 в разделе Б), которое использует в качестве первичных цветов три спектрально чистых цвета, расположенных на длинах волн 700, 525 и 450 нанометров. Если мысленно провести на диаграмме цветности линии, соединяющие длины волн света 700, 525 и 450 нм (или вернуться к рисунку 1 ), то должно быть очевидно, что WideGamutRGB включает не все реальные цвета. Здесь есть полоса зеленых и циановых цветов, а также полоса фиолетово-синих и пурпурных цветов, которые остались за кадром. Перемещение синего основного цвета вниз до 380 нм включило бы фиолетово-синий и пурпурный, но гораздо больше зелёных и циановых цветов осталось бы за бортом.
К сожалению, невозможно выбрать три точки в любом месте внутри или на краю подковообразной диаграммы цветности, которые можно соединить, чтобы охватить всю подкову. Самый простой и математически очевидный способ получить "все цвета" - это профиль идентичности с координатами цветности (1;0), (0;1) и (0;0), все из которых лежат вне диаграммы цветности и, следовательно, представляют собой воображаемые цвета.
Координаты цветности цветового пространства ACES/AllColors также математически очевидны: проведите прямую линию от координат цветности для самого красного реального красного при 700 нм, прямо до (воображаемых) координат (0;1) для первичного зеленого цвета. Проведите вторую линию от координат цветности для самого красного реального красного через координаты для самого синего реального (фиолетового) синего при 380 нм. С помощью алгебры средней школы рассчитайте наклон и точку пересечения Y, которая находится в (воображаемых) координатах (x=0,0, y=-0,6).
Цветовое пространство Identity и цветовое пространство ACES/AllColors включают все реальные цвета. Глядя на диаграмму цветности, должно быть очевидно, что цветовое пространство ACES/AllColors более эффективно, чем цветовое пространство Identity, то есть оно включает меньший процент воображаемых цветов.
Обратите внимание, что цветовые пространства CIE-RGB, ProPhotoRGB и ACES/AllColors-RGB имеют (почти) одинаковые координаты цветности самого красного. Некоторые другие стандартные цветовые пространства также используют те же самые координаты цветности самого красного (реального! не воображаемого) цвета, включая BestRGB и WideGamutRGB (значения Y отличаются, поэтому координаты XYZ не идентичны, только координаты цветности xy).
Переходя к последней теме, рассмотренной в этом учебнике, следует отметить еще одну информацию, необходимую для создания и использования профиля ICC матричного цветового пространства RGB в рабочем процессе с управлением цветом, а именно кривые тонового отклика профиля цветового пространства, которые рассматриваются в разделе Е:
Е) TRC и однородность восприятия
Е1) Однородность восприятия в (не очень) повседневном опыте
Вот мысленный эксперимент, который может помочь продемонстрировать, что значит однородность восприятия с повседневной точки зрения: Представьте, что вы находитесь в комнате. В ней нет окон, а светонепроницаемая дверь закрыта и заперта. В комнате есть 25 десятиваттных лампочек, сгруппированных вплотную друг к другу и прикрепленных к потолку. Потолок достаточно низкий, а комната достаточно маленькая, чтобы 255 ватт света делали комнату достаточно яркой, но достаточно большая, чтобы 10 ватт света почти не освещали комнату.
Теперь представьте, что ни одна из лампочек не включена, поэтому в комнате полная темнота. У вас в руках документ, который вам нужно прочитать, потому что в нем написано, как отпереть дверь и выбраться из комнаты. Итак, как только вы находите первый выключатель света (их тоже 25, и, к сожалению, они не все находятся в одном месте), вы начинаете включать лампочки. Эта первая лампочка делает большую разницу (есть свет и нет света). Но в зависимости от того, насколько далеко находится потолок, вы, вероятно, еще не можете прочитать документ, потому что интенсивность света уменьшается как квадрат расстояния от источника света.
При включении второй лампочки все выглядит, возможно, вдвое ярче, потому что люди очень чувствительны к незначительным изменениям в освещении, когда уровень света очень низкий. При включении третьей лампочки всё выглядит ещё ярче, но не в три раза ярче, чем при включении одной лампочки. Причина в том, что чем больше увеличивается фотометрическая яркость, тем меньше разница в восприятии от небольшой "единицы изменения". Мы можем легко отличить две 10-ваттные лампочки от трех 10-ваттных лампочек в нашей гипотетической "достаточно маленькой" запертой комнате, но не 24 от 25 10-ваттных лампочек.
Подводя итоги нашего мысленного эксперимента, можно сказать, что наше восприятие изменений яркости не является линейным, что означает, что линейное увеличение дополнительного освещения не означает линейного увеличения нашего восприятия яркости света. Когда уровень освещенности низкий, " ещё одна лампочка" делает большую разницу в восприятии. Когда уровень освещенности достаточно высок, "ещё одна лампочка" не дает практически никакой разницы в восприятии. (В качестве упражнения попробуйте связать результаты этого "мысленного эксперимента" с графиками TRC и xicclu на рисунке 3 ниже).
Е2) Что такое кривая тонального или тонового отклика/tone response curve?
Прим. от меня: Согласно Словарь лингвистических терминов Т.В. Жеребило Тоновый (тон) тоже самое, что и тональный. Просто есть нюансы применения этих слов: тоновый рисунок, тональный звук, тональный крем, тональный шум. Пишите как хотите, образованный человек всегда вас поймёт :)
Если резко переключить передачу, то в ICC-профиле кривая отклика тона ("TRC") определяет, насколько быстро цвет переходит от темного к светлому при изменении RGB-значений цвета от 0 до 1. Некоторые TRC линейны. Некоторые TRC более или менее равномерны для восприятия.
Важным замечанием является то, что в данном документе используется фраза "кривая тонального отклика", и эта фраза является общепринятой терминологией. Однако вы также увидите фразу "кривая воспроизведения тона/tone reproduction curve", которая также является общепринятой терминологией и используется более широко (даже на этом сайте), чем фраза "кривая тонального отклика". К счастью, обе фразы имеют одинаковый акроним "TRC".
На самом деле в ICC-профиле есть три метки TRC, по одной для красного, синего и зелёного каналов. Теоретически каждый канал ICC-профиля RGB может иметь свой собственный TRC, который не совпадает с TRC двух других каналов. Это обычно делается в look-профилях, которые предназначены для того, чтобы изображение "выглядело красивее" за счет простого применения ICC-профиля. Но для хорошо управляемых ICC-профилей матрицы RGB, которые мы используем для редактирования изображений в цифровой фотолаборатории, все три канала имеют абсолютно одинаковую кривую тонового отклика.
Е3) Часто используемые TRC
Хотя существует бесконечное количество возможных кривых тонального отклика в ICC-профилях, лишь некоторые из них нашли широкое применение в ICC-профилях рабочего пространства:
- Линейная гамма TRC математически проста (valuein=valueout/какое значение вошло=такое значение и вышло). Не существует единого цветового пространства типа "линейный свет RGB". Любое цветовое пространство RGB можно превратить в цветовое пространство "линейного света", просто задав ему TRC линейной гаммы вместо обычного TRC, отсюда линейный свет sRGB, линейный свет ProPhotoRGB, линейный свет Identity и т.д. Таким образом, "linear light RGB" или "linear gamma RGB" не говорит вам, какое именно цветовое пространство RGB имеет линейную гамму, а лишь сообщает, что данное цветовое пространство имеет линейную кривую тоновой характеристики. Цветовое пространство ACES - единственное широко используемое цветовое пространство, которое имеет линейную гамму TRC по своей конструкции.
- Другие кривые "истинной гаммы/true gamma". Помимо линейной гаммы TRC, двумя другими широко используемыми "истинными гаммами" TRC являются гамма=1,80 (например, AppleRGB, ColorMatchRGB и ProPhotoRGB) и гамма=2,2 (например, AdobeRGB, BetaRGB и WideGamutRGB). TRC с гаммой=2,2 наиболее близка к однородности восприятия. TRC гамма=2,0 является математически самым простым нелинейным TRC.
- Математически неудобный sRGB TRC состоит из небольшого линейного сегмента (в тенях), добавленного к кривой гамме=2,4 (везде). TRC sRGB также близка к перцептивно однородной кривой и приблизительно равна математически более простой истинной TRC гамме=2,20.
- Кривая "L-звёздочка" - это перцептивно однородная кривая тонального отклика, основанная на канале CieLAB L*. Кривая L-star используется в цветовом пространстве ECI-RGB. TRC "L-star" также математически неудобна, поскольку опирается на уравнения компандирования L*.
Е4) Кривые тонового отклика и графики xicclu
На рисунке 3 сравнивается линейная гамма TRC с точно перцептивно однородной L-звёздочка TRC и приблизительно перцептивно однородной sRGB TRC:
Три профильные кривые тонового отклика и их графики xicclu:
1) Верхний ряд: линейная гамма TRC.
2) Средний ряд: sRGB TRC.
3) Нижний ряд: перцептивно однородная L-звёздочка TRC.
Top row: the linear gamma TRC.
Middle row: the sRGB-TRC.
Bottom row: the perceptually uniform L-star TRC.
Для каждой строки на рисунке 3 слева указан фактический TRC профиля, содержащийся в метках TRC профиля ICC, как показано в ICC Profile Inspector, а справа - соответствующий график xicclu, показывающий, насколько быстро цвета переходят от черного к белому вдоль оси серого цвета профиля по сравнению с перцептивно однородной кривой L*. График xicclu имеет обратный вид - белый цвет находится в левом верхнем углу, а черный - в правом нижнем.
Шкала TRC профиля работает от 0 до 65535, а шкала xicclu - от 0 до 100. Таким образом, средняя точка профиля TRC равна 32767, а средняя точка кривой xicclu равна 50. Зелёные точки делят каждый график профиля TRC и xicclu на четверти вдоль вертикальной шкалы, поэтому вы можете визуально сравнить скорость изменения профильных TRC слева с соответствующей скоростью изменения кривой xicclu справа.
Как интерпретировать TRC профилей и их графики xicclu:
- График xicclu является прямой линией тогда и только тогда, когда соответствующий профиль TRC приводит к перцептивно равномерной скорости изменения светлоты (L*) цвета по мере увеличения числа RGB от 0 до максимально белого.
- Если посмотреть на графики в верхнем ряду, то линейная гамма TRC (левая сторона) представляет собой прямую линию, которая отражает то, как на самом деле ведет себя свет, но ее кривая xicclu (правая сторона) сильно изогнута, что означает, что распределение тональности от чёрного к белому не является перцепционно однородным (или равномерным).
- Если посмотреть на графики в нижнем ряду, то перцептуально однородный TRC (слева) сильно искривлен и не отражает реальное поведение света, но его кривая xicclu (справа) представляет собой прямую линию, что означает, что распределение тональности от чёрного к белому перцептуально однородно.
- График xicclu для sRGB TRC (средняя строка) не совсем прямая линия, что означает, что sRGB TRC только приблизительно перцептивно однороден. TRC гамма=2,2 и график xicclu (не показанный на рисунке 3) очень похожи на TRC sRGB и график xicclu.
Основные выводы из рисунка 3 выше таковы:
- Линейная гамма TRC представляет то, как на самом деле сочетается и изменяется реальный свет в реальном мире, то есть линейно — в два раза больше света, в два раза больше яркости (Y в xyY и XYZ). Но скорость изменения перцептивно очень неравномерна.
- TRC L-звёздочка является точно перцептивно однородной, а TRC sRGB (а также TRC gamma=2,2) - приблизительно перцептивно однородна. Перцептивно однородная скорость изменения требует очень нелинейной TRC и не отражает поведение реального света.
Е5) Если свет линеен, почему так много привычных цветовых пространств RGB используют (приблизительно) перцептивно однородные/воспринимаемые одинаково TRC?
Основная причина, по которой во многих привычных цветовых пространствах RGB используются приблизительные или абсолютные по восприятию однородные TRC, связана с небольшой проблемой под названием постеризация, от которой страдает редактирование 8-битных изображений. Чтобы объяснить, что такое постеризация, необходимо немного предыстории. На рисунке 4 сравниваются три градиента, созданные соответственно с линейной гаммой TRC, почти перцептивно однородной sRGB TRC и перцептивно однородной l-star TRC:
Рисунок 4, Три градиента от чёрного к белому:
- Верхний ряд: градиент, получаемый при использовании рабочего пространства ICC-профиля с линейной кривой тонового отклика гаммы.
- Средний ряд: градиент, получаемый при использовании рабочего пространства ICC-профиля с обычным профилем цветового пространства ICC sRGB с его почти перцептивно однородной кривой тонового отклика sRGB.
- Нижний ряд: градиент, получаемый при использовании рабочего пространства ICC-профиля с перцептивно однородной кривой тонового отклика l-star.
Как вы можете видеть, взглянув на линейный градиент гаммы в верхнем ряду рисунка 4, линейный градиент гаммы распределяет ступени тона очень неравномерно. Под "ступенями тона" я подразумеваю количество градаций, доступных для перехода от черного к белому. В 8-битном целочисленном изображении на каждый канал приходится 255 ступеней тона. В 16-битном целочисленном изображении на канал приходится 65535 ступеней тона. В 32-битном изображении с плавающей точкой это зависит от процессора и точной реализации математики с плавающей точкой, но ответ - "много".
Большинство ступеней тона в линейной гамме изображения сосредоточено в области светов. Соответственно, для теней и срединных тонов доступно меньше ступеней тона. Когда цифровая обработка изображений только начиналась в конце 1990-х годов, компьютеры не были достаточно мощными, чтобы обрабатывать более 8 бит на канал. Поэтому, чтобы максимально использовать 255 доступных ступеней тона, все использовали рабочие цветовые пространства с более или менее одинаковыми для восприятия кривые отклика тона. В противном случае теневые области были бы постеризованы.
Постеризация - это визуально заметная полосатость изображения, которая возникает из-за слишком малого количества ступеней тона, распределенных слишком далеко по области изображения. Постеризация при работе с 8-битовыми изображениями - это причина, по которой существует так много рабочих пространств "для плёнки и печати" (AdobeRGB, BetaRGB, BruceRGB и т.д.). Если цветовое пространство слишком велико, тени - не единственные области изображения, которые могут пострадать от постеризации (на рисунке 1 выше сравните расстояние между самым красным WideGamut и самым зелёным WideGamut и гораздо меньшим расстоянием между самым красным sRGB и самым зелёным sRGB). Поэтому люди продолжали пытаться создать цветовое пространство, которое было бы достаточно большим для хранения цветов плёнки и печати, не растягивая жалкие 255 ступеней тона на слишком большое цветовое пространство.
На рисунке 5 показана постеризация градиента в 8-битной линейной гамме:
Цветные изображения немного меньше подвержены постеризации, поскольку каждый канал имеет свои собственные 255 ступеней тона, которые, надеюсь, "рассинхронизированы" со ступенями тона в двух других теневых областях. Однако области теней каждого канала все равно постеризованы, и в зависимости от изображения постеризация может быть очевидной, как показано на рисунке 6 ниже:
В двух словах, когда только зарождалась цифровая обработка изображений, компьютеры были слишком медленными, чтобы позволить редактировать изображения не только в 8-битном формате. При 8 битах в тенях изображения с линейной гаммой (даже в небольших цветовых пространствах, таких как sRGB) недостаточно ступеней тона, чтобы обеспечить визуально плавные тональные переходы. Поэтому, чтобы избежать постеризации, рабочие цветовые пространства RGB имели более или менее равномерно воспринимаемые кривые тонового отклика.
Ходят упорные слухи, что 16-битные изображения страдают от постеризации в цветовых пространствах с линейной гаммой, но я не обнаружил, что это правда, даже при редактировании в сверхбольшом цветовом пространстве Identity. Кроме того, в индустрии VFX используется линейная гамма 16-битных данных с плавающей запятой ("половинная" точность плавающей запятой), а 16-битное целое число более точно, чем 16-битная плавающая запятая. Поэтому, вопреки слухам, вы действительно можете редактировать 16-битные целочисленные изображения с линейной гаммой, не опасаясь постеризации.
Ё) Обобщение XYZ, RGB, ICC, xyY и TRC
- Эталонное цветовое пространство CIE XYZ 1931 года ("XYZ") основано на экспериментах по подбору цветов, проведенных в 1920-х годах. Y измеряет относительную яркость; X и Z основаны на том, как колбочки человеческого глаза реагируют на световые волны и создают цвет. xyY - это математическое преобразование XYZ, которое отделяет цветность от яркости. Некоторые координаты XYZ/xyY представляют реальные цвета, остальные - воображаемые.
- Знакомая диаграмма цветности в форме подковы показывает цветность всех реальных цветов. Координаты xy красного, зелёного и синего первичных цветов матричного цветового пространства RGB могут быть нанесены на диаграмму цветности xy. Диаграмма цветности показывает, что цветовое пространство RGB, которое достаточно велико, чтобы вместить все реальные цвета мира, также должно вместить некоторые воображаемые цвета. Существует два математически очевидных цветовых пространства RGB, которые вмещают все реальные цвета: цветовое пространство Identity и цветовое пространство ACES/All-Colors. Цветовое пространство Identity является математически более простым. Цветовое пространство ACES/All-Colors математически более эффективно, то есть в нем меньше процент воображаемых цветов, чем в цветовом пространстве Identity.
- Цветовое пространство матрицы RGB является удобным подмножеством всех цветов XYZ. Цветовое пространство матрицы RGB определяется чёрной и белой точками, а также красным, зелёным и синим первичными цветами, расположенными в пространстве XYZ. Различные цветовые пространства RGB были изобретены для различных применений. Например, цветовое пространство sRGB D65 описывает устройство отображения D65, которое было откалибровано для соответствия sRGB. Цветовое пространство профиля sRGB ICC описывает адаптированный к D50 профиль рабочего пространства ICC с цветовым охватом, который соответствует цветовому охвату цветового пространства sRGB D65. Различные цветовые пространства RGB "плёнка и печать" пытаются удержать цвета, которые могут быть сняты на плёнку и напечатаны на бумаге. Ни одно из цветовых пространств "плёнка и печать" не поддерживает все цвета, которые могут быть получены с помощью современных цифровых камер.
- Цветовое пространство ICC профиля матричного RGB - это матричное цветовое пространство RGB, которое было адаптировано для использования эталонного белого цвета D50. ICC выбрал D50, потому что это предпочтительный эталонный белый для оценки и расчёта печати на бумаге. Для хорошо работающего профиля ICC цветового пространства RGB чёрный (R=G=B=0) имеет координаты XYZ (0,0000; 0,0000; 0,0000), а белый (R=G=B=1) - координаты XYZ (0,9642; 1,0000; 0,8249). Хорошо работающие профили ICC цветового пространства RGB имеют дополнительную особенность: если R=G=B, то результирующий цвет будет нейтрально-серым.
- Технологические ограничения редактирования изображений на компьютерах в 1990-х годах означали, что цифровая обработка изображений была 8-битной. Ограничения 8-битной обработки изображений означали, что рабочие цветовые пространства RGB имели более или менее перцептивно однородные кривые тонового отклика, несмотря на недостатки редактирования в нелинейных цветовых пространствах. Это также способствовало поиску идеально подходящего цветового пространства, которое было бы достаточно маленьким, чтобы не вызывать постеризации при редактировании 8-битных изображений, и достаточно большим, чтобы хранить различные множества "плёночных и печатных" цветов. В 21 веке используется 32-битная обработка с плавающей запятой, поэтому редактирование изображений в цветовом пространстве с линейной гаммой, достаточно большом, чтобы вместить "все цвета", не приводит к появлению полосатости.
Прим. от меня: Цветовое пространство матрицы RGB или матричное цветовое пространство RGB это одно и тоже.
Историческая перспектива редактирования в линейной гамме:
Как только у компьютеров появилось достаточно оперативной памяти и достаточно быстрых процессоров, программы 3D-рендеринга начали переходить на редактирование изображений с линейной гаммой, поскольку получить реалистичные цвета и тоновые градации в нелинейном цветовом пространстве невозможно (сложновато будет). Некоторое время некоторые программы рендеринга использовали ужасно сложные обходные пути, но в итоге от них отказались, сочтя их не стоящими усилий.
В мире редактирования двумерных изображений 16-битное редактирование изображений существует уже несколько лет. Но редакторы 2D-изображений не спешат приспосабливаться к редактированию изображений с линейной гаммой. Возможно, Adobe отчасти виновата в том, что десять лет назад не стала лидером. В этом также может быть частично виновата шумиха вокруг заявлений одного из первых сторонников редактирования изображений с линейной гаммой, Тимо Аутокари, поскольку шумиха вокруг того, что он сделал неправильно, заслонила ценность того, что он сделал правильно. С одной стороны, Тимо привел некоторые аргументы, основанные на, похоже, фундаментальном непонимании относительно отображения изображений на мониторах и ограничений 8-битного редактирования изображений. С другой стороны, некоторые из его конкретных примеров преимуществ редактирования изображений с линейной гаммой были совершенно правильными. И с третьей стороны (в любом обсуждении Тимо нужно как минимум три руки), по какой-то причине Тимо, похоже, расстроил людей. Очень сильно.
Сайта Тимо больше нет, но его всё ещё стоит просмотреть в архивах Wayback Machine сайта The Accurate Image Manipulation. Вероятно, наиболее взвешенное из оставшихся в сети обсуждений реальных методов редактирования изображений с линейной гаммой Тимо - это Dan Margulis Applied Color Theory - Linear Gamma (Gamma 1,0), где Эндрю Родни замечает: "Тимо - это своего рода шутка для 10-го этажа Adobe (где тусуются все инженеры Photoshop)". Теперь, когда Adobe LightRoom может похвастаться своей обработкой изображений с линейной гаммой, надеемся, что шутка Эндрю Родни вызвала у Тимо несколько смешков в ответ.
Completely Painless Programmer's Guide to XYZ, RGB, ICC, xyY, and TRCs by Elle Stone is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Источник https://ninedegreesbelow.com/photography/xyz-rgb.html#RGB
Фотографии в Интернете лучше всего просматривать с помощью калиброванного и профилированного монитора и браузера с управлением цветом.