Оригинал: ExtremeTech
Перевод: Сергей Мильчаков, Дмитрий Чеканов
Даже темными холодными зимними вечерами за окном нас продолжает радовать прекрасный мир всеми своими красками. А с появлением Интернета, с ростом популярности цифровых камер, сканеров, цветных принтеров, все большая часть прекрасного реального мира находит себе отражение в цифровом.
Задача мало изменилась с момента постановки - необходимо обеспечить соответствие цветов между печатью на бумаге и изображением на мониторе, на принтере, и на цифровой камере - обеспечить взаимное соответствие между всеми этими изображениями и реальным миром.
Вы даже и представить себе не можете, насколько сложно правильно передавать цвет. Но все же отметим, со временем технологии работы с цветом улучшаются и становятся проще в использовании как для конечных пользователей, так и для разработчиков оборудования и программного обеспечения.
Причиной тому главным образом стало то, что индустрия (включая и программные продукты, и аппаратное обеспечение) обретает свои стандарты. Отметим, что существует не один стандарт, а целое семейство стандартов представления цвета. В нашей статье мы рассмотрим стандарт ICM 2.0 (Image Color Management - управление цветностью изображения), он используется в Windows 98, 2000 и ME, стандарт профилей ICC (International Color Consortium - международного сообщества проблемы цветопередачи), стандарты sRGB и scRGB (которые, скорее всего, вам знакомы в качестве более старой версии - sRGB64). Для того, чтобы осознать значимость всех этих стандартов, для начала надо разобраться, почему при цветопередаче возникают такие сложности.
В идеале все должно быть так: вы берете сканер, монитор, цифровую камеру или принтер, и мгновенно создаете с их помощью качественное цветное изображение. Причем изображение, что на экране, что на принтере - должно соответствовать друг другу. При сканировании или фотографировании в идеале изображение должно также соответствовать оригиналу.
Ещё недавно такое было утопией - нормальной цветопередаче мешало множество факторов. Среди самых существенных отметим следующие:
Во-первых, цвет - понятие субъективное. Казалось бы, совершенно очевидно, что цвет - это характеристика объекта. Травушка-муравушка - зеленая, небеса - голубые, обои в комнате - цвета персика (у кого - как :), и так далее. С первого взгляда кажется, что проще некуда. На самом деле все не так. Цвет - это ощущение, его можно сравнить с прикосновением. И те цвета, что мы видим, полностью субъективны, они интерпретируются нашей зрительной системой, нашим мозгом.
Во-вторых, на цвет влияет освещение: цвет предмета - и в оригинале, и в распечатанном виде - будет различным в зависимости от освещения. Например, изображение будет различным в зависимости от того, освещается ли предмет лампой накаливания, люминесцентной лампой, или дневным светом.
В-третьих, одинаковые цвета могут оказаться метамерными - два предмета имеют один цвет при одном освещении, но могут оказаться разных цветов при изменении освещения.
В-четвертых, цвета взаимозависимы друг от друга - от того, каким образом расположены цвета, вы будете воспринимать общую картину по-разному. Такой эффект называется одновременным зрительным контрастом. Попробуйте нарисовать на синем фоне маленький зеленый квадратик, и он примет оттенок желтого. Если поменять фон на желтый, то квадрат примет оттенок синего.
В-пятых, человеческие глаза - не сенсоры сканера или фотоаппарата. Сенсоры устройств и колбочки человеческих глаз воспринимают свет различных частот в разных пропорциях.
Кроме того, различные устройства характеризуются различной цветовой гаммой. Монитор способен показать такие цвета, которые не способен напечатать принтер, а принтер, в свою очередь, может произвести цвет, который нельзя воспроизвести на мониторе. Сенсоры камеры или сканера могут определять цвета, которые нельзя воспроизвести ни на мониторе, ни на принтере.
Наконец, различные устройства используют разные цветовые модели. Цветовая модель - это представление цвета в математическом виде. Если устройства используют различные цветовые модели, они должны преобразовывать цвет из одной модели в другую. При таких операциях часто происходят ошибки. Это целая проблема для зависимых от устройств моделей (device-dependent models) - моделей, предназначенных только для работы с конкретным принтером, монитором, сканером или фотоаппаратом.
Важно не только знать все эти факторы, но и понимать разницу между поправимыми цветовыми ошибками и неисправимыми ошибками. Первые можно исправить программным путем. Со вторыми уже ничего не поделаешь, так как информации, требуемой для исправления, уже не существует. При таких ошибках информация теряется во время сканирования, съемки или печати.
Например, если вы не видите некоторых тонких оттенков, которые должны видеть, вы не сможете правильно воссоздать цвета. Если же вы сохранили оттенки, и видите, что цвет не тот, вы можете это исправить.
Обычно в качестве образца фотографии, чтобы судить о качестве изображения, служит снимок корзины с фруктами, сделанный с близкого расстояния. Такой выбор не случаен - каждый знает, как должен выглядеть фрукт, поэтому можно судить о реалистичности изображения. Не обращайте пока внимания на цветопередачу, заметьте, изображение стало не трехмерным - каким вы его видели в оригинале. Такое уплощение означает потерю некоторых тонких оттенков при распечатке, и это считается неисправимой ошибкой.
Внимательно присмотритесь к изображению с плавно изменяющимся цветом (крупный план лица или небо), и вы убедитесь, что цвет изменяется постепенно, непрерывно. Резкое изменение цвета вместо постепенного называется огрублением (posterization), и относится к неисправимым ошибкам.
Попробуйте распечатать фотографию, на которой есть и темные, и яркие области - например, фотографию ряда деревьев на фоне ясного неба. Присмотритесь, теряется ли качество на этих областях? Детали должны просматриваться на всем диапазоне яркости.
Все эти эффекты происходят в результате потери градаций серого. Уплощение объекта происходит вследствие потери оттенков цвета, огрубление также происходит в результате потери различных оттенков. Потеря деталей на светлых и темных областях изображения также является результатом потери оттенков.
В любом случае, если нельзя произвести ту или иную градацию серого, теряется определенный цвет. А так как информация практически отсутствует, ничего поделать нельзя. С другой стороны, при других ошибках - например, сдвиге по цвету (shift in color) - информация не теряется, она просто не используется должным образом. И такие ошибки считаются исправимыми.
То же самое (касательно исправимых и неисправимых ошибок) относится и к камерам, и к сканерам. Лучшие объективы, лучшее оптическое покрытие
и улучшенные ПЗС матрицы могут свести все непоправимые ошибки при сканировании или фотографировании к минимуму. Отметим, для преодоления исправимых ошибок требуется управление цветами (color management). Теперь, когда мы разобрались со всеми факторами, влияющими на передачу цвета, называть это уравниванием цветов (color matching - уравнивание цветов) будет несколько неправильно, с точки зрения английского языка, более точным будет называть это именно управлением, подбором цветов (color management).
До недавних пор, подбор цвета в цифровых изображениях считался чем-то загадочным, доступным лишь только профессиональным фотографам и полиграфистам. Дело в том, что работа с цветом на самом деле была очень сложна. Классический подход к подбору цвета заключался в замкнутой калибровке (closed loop calibration) различных частей специального аппаратного обеспечения для последующей работы с какой-либо специальной программой.
Например, чтобы произвести калибровку сканера и принтера, вы сначала сканируете предмет, затем печатаете получившееся изображение. Калибровочное программное обеспечение после этого сравнит то, что увидел сканер, с тем, что распечатал принтер. После этого программа создаст профиль для принтера, с помощью которого будет компенсироваться разница. Если у вас не один принтер, операцию придется повторить. Если вы потом перешлете файл с отсканированным изображением ещё кому-то, это вовсе не будет означать, что изображение будет откалибровано для экрана этого человека. Кроме того, вы можете откалибровать изображение специально для той программы, из которой вы собираетесь распечатать файл - ведь каждая программа воспринимает цвета по-разному.
Идея калибровки монитора такая же, но несколько отличается сама процедура. Программа отображает определенные цвета - скажем, столько-то частей красного, зеленого и синего, и затем сравнивает эти характеристики с характеристиками цвета, увиденного колориметром. После сравнения программа создает профиль, который затем компенсирует разницу.
Эта рутинная работа была неизбежной, так как не существовало общепринятых стандартов управления цветом. Очевидно, что если бы каждая программа пользовалась одним и тем же подходом для управления цветом, что и принтер, монитор, сканер или камера - вся работа оказалась бы намного проще. Если бы все программное обеспечение пользовалось одинаковым стандартом цветовой модели, или поставлялось с профилем, который бы приводил всю информацию о цвете в стандартный вид, то можно было бы перемещать изображения из программы в программу или сканировать и затем распечатывать практически без ошибок.
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.