В цветовой модели CIELAB сделана попытка учесть особенности восприятия цвета человеком. Все пространства этой модели получены определенным нелинейным преобразованием пространства CIEXYZ, подобранным так, чтобы улучшить соответствие тому, как человек воспринимает разности цветов. То есть, пространства CIELAB являются более однородными по восприятию, чем CIEXYZ и CIERGB. Другими словами, в CIELAB воспринимаемое различие между двумя близкими цветами приблизительно пропорционально расстоянию между соответствующими точками. Пространство CIELAB иногда записывается в виде L*a*b* с тем, чтобы подчеркнуть его отличие от цветового пространства Lab, которое было придумано Хантом ранее.
В модели CIELAB используется один параметр: точка белого. Иногда аббревиатура CIELAB означает не модель, а пространство с точкой белого, равной D50. Полезность пространства CIELAB объясняется следующими свойствами.
• Яркость (координата L*) отделена от цветности (координаты a* и b*). Поэтому манипулирование с яркостью и контрастом практически не затрагивает цветность. И наоборот.
• CIELAB является более однородным по восприятию, чем sRGB.
• Цветовой охват CIELAB включает в себя цветовые охваты sRGB, Adobe RGB и CMYK.
• Это пространство является устройство-независимым. То есть, цвета определены без учета возможностей какого-либо устройства, на котором они воспроизводятся или с помощью которого они считываются. Если же в качестве точки белого выбрана самая яркая точка, которую может воспроизвести какое-нибудь устройство, то такое пространство LAB уже окажется устройство-зависимым.
Это пространство нормировано: L*=0 для точки черного и L*=100 для точки белого. Для нейтрально серого цвета a*=0 и b*=0. CIELAB-пространства тоже могут быть представлены в полярных координатах, например, CIELCH.
Пространство CIELAB удобно использовать в качестве промежуточного формата для аппаратно-зависимых пространств. Из-за большого цветового охвата CIELAB все преобразования в нем следует проводить с глубиной цветности не менее, чем 16 бит на канал.
Другими примерами пространств, в которых яркость отделена от цветности, служат пространства, используемые при описании модели восприятия цвета CIECAM02. Модели CIECAM02 посвящен отдельный параграф ниже.
Перейдем к цветовой модели CMYK (произносится «смик»), которая моделирует отображение цветов принтерами и обычно является аппаратно-зависимой. Каждая тройка чернила-принтер-бумага в рамках этой модели может иметь свое собственное цветовое пространство. Смысл числовых значений координат CMYK по сравнению с RGB обратный: 0 – это максимальное количество цвета данного канала, 255 для 8-битной глубины цветности – это отсутствие цвета данного канала. Если преобразование RGB-координат в CMY-координаты элементарно простое, то пересчет из CMY в CMYK можно выполнить по-разному. Один из простейших вариантов: {C, M, Y} – > { K = min(C, M, Y), C – K, M – K, Y – K, }. Реальные варианты гораздо сложнее и учитывают многие характеристики чернил, бумаги, оборудования и даже температуру и влажность воздуха возле печатной машины.
В пространстве CMY нейтральные цвета определены как C = M = Y. В пространстве CMYK – как C = M = Y = 0.
Распечатанное изображение гораздо сильнее зависит от условий просмотра, чем изображение на экране монитора. Чтобы вычислить видимый цвет малого кусочка картинки, нужно взять спектр источника освещения и умножить его на спектральные коэффициенты отражения чернил, которыми закрашен этот кусочек, и просвечивающей сквозь них бумаги. Полученный спектр отраженного от этого кусочка света и позволит определить искомый цвет, воспринимаемый человеком. Усложняет дело то, что, если заменить источник освещения другим, имеющим тот же самый цвет, но другой спектр (метамерный), то видимый цвет кусочка может измениться!
Цветовой охват CMYK для обычных принтеров больше цветового охвата sRGB (в светло-голубых и светло-зеленых тонах), но меньше цветового охвата Adobe RGB (1998).
Четырехцветная печать CMYK не всегда может отобразить светлые насыщенные цвета. Поэтому часто используют шестицветную печать CcMmYK и даже еще более многоцветную.
А теперь вспомним то, о чем говорилось в предыдущей главе и опишем процессы, происходящие в сетчатке глаза, в терминах цветовых пространств. Рецепторы сетчатки реагируют на видимый цвет и выдают сигнал, похожий на значения координат в пространстве RGB (точнее, в пространстве «колбочковых ответов» LMS). Затем спектрально оппонентные ганглиозные клетки преобразуют rgb-сигнал, опять же приблизительно, в координаты CIELAB.
Зачем могло понадобиться использовать такие нетривиальные координаты в зрительной системе человека? Этот факт может быть объяснен тем, что цветовое зрение в процессе эволюции возникло на основе черно-белого. К рецепторам-палочкам, дающим сигнал только о яркости (значение координаты L*), добавились колбочки. Сигналы от трех видов колбочек (приблизительно – красный, зеленый и синий цвета) нейроны сетчатки преобразуют только в две дополнительные цветовые координаты a* (разность зеленого и красного) и b* (разность синего и желтого). Что вместе с координатой L* и дает цвет. В пространстве RGB объединить сигнал палочек и колбочек было бы сложнее. Простое добавление трех координат RGB к координате L привело бы к избыточности (четыре значения вместо трех). Упразднение координаты L и рецепторов-палочек вызвало бы потерю зрения в сумерках.
Кстати, то, что не бывает красно-зеленого и сине-желтого цветов, как раз и объясняется тем, что такие цвета невозможно описать в координатах a* и b*.
После того как были определены цветовые пространства, нужно объяснить, как преобразовывать изображения из одного цветового пространства в другое. В процессе компьютерной обработки неизбежно приходится это делать, явно или неявно. Так, картинка, полученная сканером или цифровой фотокамерой, представляет собой множество точек (пикселей), координаты которых даны в цветовом пространстве данного устройства. Эта картинка преобразуется в независящее от устройства рабочее цветовое пространство графического редактора. Затем, для просмотра – в цветовое пространство монитора. И, наконец, после обработки в редакторе – в цветовое пространство принтера. Если эти преобразования не делать, то камера запишет в файл одни цвета, монитор покажет другие, а принтер напечатает третьи, несмотря на то, что во всех трех случаях числовые значения координат цвета в файле будут одними и теми же. И останется только надеяться, что все три цветовых пространства не будут сильно различаться.
Но, как правило, цветовые охваты входного и выходного цветового пространства далеко не одинаковые. Например, как уже многократно упоминалось, некоторые светлые зелено-голубые оттенки обычный струйный принтер может воспроизвести, а обычный монитор – нет. Поэтому при переходе сохранить все цвета не удастся, и нужно решить, чем можно будет пожертвовать и каким образом.
Чтобы определить, каким цветом выходного пространства изобразить данный цвет входного (то есть, задать gamut mapping, соответствие цветовых охватов), таблицу соответствия, конечно, не составляют. Вместо этого задают алгоритм такого преобразования (это еще называется «вид колориметрического отображения» или «тип цветопередачи», rendering intent).
Для обработки пейзажей важны два следующих алгоритма преобразования цветовых пространств: перцептивный и колориметрический. Первый пытается сохранить общий вид картинки в ущерб точности цветов. Второй, наоборот, пытается точно воспроизвести цвета, даже если при этом общий вид картинки пострадает.
Колориметрических алгоритмов тоже два: относительный (относительно точки белого среды, то есть, бумаги, экрана монитора, пленки слайда или виртуальной среды аппаратно-независимого ЦП) и абсолютный. Абсолютный старается передать цвета без каких-либо изменений, а относительный – изменяет цвета так, чтобы точка белого входного пространства изображалась цветом точки белого выходного пространства.
В первом приближении эти алгоритмы можно описать так (для случая, когда цветовой охват выходного пространства меньше).
Перцептивное, или воспринимаемое, отображение равномерно (или S-образно) сжимает входное цветовое пространство так, чтобы оно целиком вошло в выходное. При этом изменяются все цвета, даже и те, которые входят в оба пространства и, вообще говоря, могли бы не изменяться при преобразовании. Сделано это для того, чтобы сохранить соотношение для всех цветов, а не только для воспроизводимых в выходном пространстве. Если не сжимать все цвета входного пространства, то чтобы «втиснуть» в выходное пространство новые цвета не было бы места. Таким образом, при перцептивном отображении сохраняется правильное соотношение между всеми цветами входного пространства, но теряется идентичность цветов из общей части обоих пространств (при переходе такие цвета тоже изменяются).
Сохранение соотношения всех цветов означает, что для любых двух цветов выполняется следующее:
• если до преобразования один цвет был светлее другого, то и после преобразования он останется светлее, хотя яркость обоих цветов может измениться;
• если до преобразования один цвет был насыщеннее другого, то и после преобразования он останется насыщеннее, хотя насыщенность обоих цветов может измениться;
• если до преобразования один цвет был, например, зеленее другого, то и после преобразования он останется зеленее, хотя цветовой тон обоих цветов может измениться.
При сжатии ЦП, контраст и насыщенность всегда падают. S-образное сжатие позволяет лучше (по сравнению с линейным случаем) сохранить контраст в средних тонах. Но за счет еще большего уменьшения контраста в темных и светлых частях изображения.
Разумеется, если выходное пространство больше входного, то перцептивное отображение растягивает входное цветовое пространство, а контраст и насыщенность при этом возрастают.
Все это только в первом приближении. В идеале перцептивное отображение должно использовать цветовой охват не всего входного пространства, а гамут конкретного изображения, представленного в этом пространстве. Последний часто существенно меньше, и требует меньшего сжатия и, следовательно, не такого сильного уменьшения насыщенности и контраста.
На практике перцептивное отображение использует некоторую промежуточную степень сжатия ЦП, которая зафиксирована в профиле соответствующего устройства. Такую степень каждый автор профиля определяет по-своему, исходя из цветового охвата устройства и некоторой оценки того цветового охвата, который обычно встречается в фотографиях.
Относительное колориметрическое отображение преобразует яркости линейно и так, чтобы точка белого входного пространства попала в точку белого выходного пространства. Таким образом, детали светлых частей изображения не будут потеряны, но за счет ухудшения других цветов. Так, если точка белого выходного пространства темнее, то и вся картинка станет темнее, и может произойти потеря деталей в тенях. Если цветности точек белого входного и выходного пространств разные, то цвета входного пространства изменяются соответственно. Например, если точка белого выходного пространства голубее, то все цвета входного пространства смещаются в голубую сторону.
Для того чтобы смягчить недостатки относительного отображения, применяют «компенсацию точки черного». Идея этого алгоритма состоит в том, чтобы с помощью линейного (или нелинейного) преобразования цвета в области теней добиться того, чтобы, дополнительно, точка черного входного пространства попала в точку черного выходного пространства. Таким образом, детали сохраняются и в светлых и в темных частях изображения, но падает общий контраст и насыщенность.
В том случае, когда точка черного выходного пространства светлее точки черного входного пространства, тени получаются светлее, а цвета в тенях менее насыщенными. В этом случае результат применения этого алгоритма можно представить как добавление небольшого количества белого цвета ко всем или только к темным цветам картинки (эффект тумана). Или вычитание (туман рассеялся), если точка черного выходного пространства темнее.
А что происходит с цветностью? В отличие от перцептивного отображения, при относительном отображении идентичность цветов из общей части обоих пространств сохраняется, но только в относительном смысле, относительно точки белого. Например, точка белого бумаги часто более желтая, чем точка белого монитора. Выравнивание точек белого приведет к тому, что области фотографии, выглядящие белыми на мониторе, будут напечатаны желтоватыми и все остальные цвета сдвинутся в желтую сторону на величину, равную разности между этими двумя точками белого. Кроме этого, поскольку в выходном пространстве нет места для цветов входного пространства, отсутствующих в выходном, то такие цвета заменяются наиболее близкими к ним цветами выходного пространства (например, с помощью понижения насыщенности). В результате происходит клиппирование цвета, то есть, два разных цвета входного пространства могут перейти в один и тот же цвет выходного пространства.
Если печатать картинку на бумаге разного оттенка с помощью относительного отображения, то принтер будет в каждом случае использовать одно и то же количество чернил для соответствующих точек изображения. Плотность красок будет одна и та же, но картинки, размещенные рядом друг с другом, могут выглядеть по-разному, потому что глаза не смогут одновременно адаптироваться к разным цветам бумаги и будут воспринимать цвета картинки в сумме с цветом бумаги. Если картинки сравнивать по очереди, так, чтобы глаза успевали переадаптироваться, то обнаружить разницу будет труднее.
Абсолютное колориметрическое отображение полностью сохраняет идентичность цветов из общей части обоих пространств, не учитывая различие точек белого и черного. В рассмотренном выше примере цвета, воспроизводимые и на мониторе и на принтере, будут напечатаны без изменений. Цвета, невоспроизводимые на принтере, будут клиппированы. В частности, области фотографии, выглядящие белыми на мониторе, будут напечатаны белыми, если белый цвет воспроизводится на принтере с желтоватой бумагой. Если же нет, то белый цвет будет клиппирован (например, заменен на желтоватый).
Если нужно посмотреть на экране монитора, как будет выглядеть эта же картинка, напечатанная на бумаге, то какое отображение следует использовать? Для простоты рассмотрим случай, когда цветовой охват картинки полностью вписывается в цветовой охват монитора. В случае абсолютного колориметрического отображения на экране воспроизведется желтоватый цвет бумаги, а для относительного – нет.
Абсолютное колориметрическое отображение используется, в частности, для того, чтобы напечатать картинку на одном принтере так, чтобы она выглядела так же, как если бы была напечатана на другом принтере или на печатной машине. При этом, если точка белого входного пространства темнее точки белого выходного, то белые области изображения будут напечатаны темнее, чем точка белого выходного пространства. При данном отображении, в отличие от относительного, могут возникать границы между пустым пространством (полями) и белыми областями картинки.
Если печатать картинку на бумаге разного цвета с помощью абсолютного отображения, то принтер учтет разные точки белого и будет использовать разные количества чернил для соответствующих точек изображения. Плотность красок будет разная, но картинки, размещенные рядом друг с другом, могут выглядеть одинаково.
Чтобы наглядно продемонстрировать разницу между двумя видами колориметрического отображения, я подкорректировал профиль принтера так, чтобы сместить точку белого в сторону желтого цвета. Точка белого в профиле была задана в пространстве CIEXYZ, поэтому я уменьшил значение координаты Z. На рисунке 2.1 показана получившаяся точка белого и результаты имитации распечатки принтера на экране монитора (softproof), для двух видов колориметрического отображения (река Немда, недалеко от города Советск, Кировская область).
Рис. 2.1. Имитация распечатки принтера на экране монитора с использованием разных колориметрических отображений: а) точка белого, заданная в профиле; б) абсолютное колориметрическое; в) относительное колориметрическое. Получено с помощью программы RawTherapee (пояснения в тексте).
Видим, что относительное колориметрическое отображение построило картинку относительно точки белого монитора, что привело к исчезновению влияния точки белого для принтера.
Так какой же вариант колориметрического отображения выбрать? Ответ на этот вопрос зависит от разных факторов:
• от цветового охвата конкретного изображения,
• от цели обработки изображения (нужного уровня цветовоспроизведения, см. ниже).
Например, если цвета, которые были бы клиппированы при относительном отображении, составляют незначительную часть данной картинки, и детали в этих цветах несущественны, то, возможно, следует выбрать именно этот вид отображения.
Понимая свойства колориметрических отображений, можно предвидеть (и подтвердить экспериментально), что произойдет с конкретным изображением. Упрощая, можно сказать, что перцептивное отображение изменяет все цвета, но сохраняет то, как изображение воспринимается, а колориметрическое сохраняет некоторые цвета, а другие портит. Перцептивное отображение вписывает изображение в цветовой охват и диапазон яркостей выходного пространства, а колориметрическое копирует цвета (для относительного – с учетом разницы между точками белого), которые находятся внутри цветового охвата выходного пространства, и минимальным образом искажает цвета, которые находятся вне его. Перцептивное отображение создает визуально-комфортное изображение, например, насыщенность может быть повышена, если выходное ЦП это позволяет. Перцептивное отображение используется, когда нужно правильно изобразить плавные переходы и градиенты цвета на границе цветового охвата выходного пространства. Колориметрическое (оба варианта) используется тогда, когда важнее обеспечить тождественность цветов. Но при этом не используются дополнительные цвета выходного ЦП (если они есть) и может произойти клиппирование цвета.
Если точки белого входного и выходного ЦП совпадают, то оба колориметрических отображения дадут одинаковый результат.
Если цветовой охват принтера очень большой (например, как у принтера Canon imagePROGRAF PRO-500, использующего 11 видов чернил), то абсолютное колориметрическое отображение может дать более точную цветопередачу для фотографий.
О проекте
О подписке