Калибровка: эсперанто для принтера
АрхивЕсли вы увлекаетесь цифровой фотографией, то наверняка не раз были разочарованы, держа в руках свежеотпечатанный снимок. Вы стремились запечатлеть Красоту, а из принтера вместо волшебных красок заката или яркого наряда экзотической птицы выползло нечто аляповатое. Да, конечно, принтер может передать не любой цвет. Однако самая вероятная причина неудачи - то, что фотоаппарат и принтер "говорят" на разных языках.
Эсперанто
Когда-то Бог, разгневавшись на людей, дерзнувших построить башню до небес, смешал их языки, так что люди перестали понимать друг друга, и рассеял их по всей земле. С тех пор не было другого способа общаться с жителями других стран, кроме как учить чужие языки. Но быть полиглотом дано не каждому. И вот в 1887 году польский врач Людвик Заменгоф (Ludwik Zamenhof) создал искусственный язык эсперанто, задуманный как средство межнационального общения.
Как и люди, устройства цифрового ввода или вывода изображений (принтеры, мониторы, сканеры) говорят на разных "языках". И приходилось снабжать программное обеспечение целым ворохом "словарей" - алгоритмов, связывающих выражение какого-либо цвета данным устройством с нужным выражением другого устройства. Как Заменгофу пришла в голову мысль об универсальном языке, так и у разработчиков цветовоспроизодящей техники и программного обеспечения возникла идея универсального языка. Ряд фирм и организаций, принявших эту идею, объединились в 1993 году в Международный консорциум по цвету - International Color Consortium, или ICC (www.color.org).
Файл, представляющий собой словарь "язык устройства - универсальный язык" (и обратно) и отвечающий принятым ICC стандартом, получил название ICC-профиль. А эсперанто для устройств, работающих с цветом, - пространство для связывания профилей (Profile Connecting Space, PCS).
Словари - профили
"Языки" устройств цветового ввода-вывода - это устройство-зависимые (device dependent) цветовые пространства, например RGB и CMYK. Координаты в этих пространствах характеризуют соотношение между сигналами, подаваемыми на соответствующие пушки (в мониторах), или между количествами красителей, подаваемых на бумагу (в принтерах). Но поскольку каждый производитель использует свои материалы, результаты не будут идентичными. Вот почему часто случается ситуация "Попал? Ни фига...", описанная С. Кащавцевым в "КТ" #295, с. 19.
К счастью, бывают и устройство-независимые цветовые пространства, примером которых могут служить XYZ и Lab (см. статью "Цветовоспроизведение", "КТ" #295). Их-то и используют в качестве PCS - эсперанто для цвета. Связь между XYZ и Lab взаимно однозначная, поэтому фактически есть только одно (принятое ICC) эсперанто для устройств, работающих с цветом.
ICC-профиль - это не зависящий от платформы бинарный файл (как правило, с расширением .icm или .pf), содержащий в себе словарь - правила перевода (в виде таблиц) из PCS в устройство-зависимое пространство и обратно. Например, из XYZ в CMYK и из CMYK в XYZ.
Системы управления цветом - переводчики
Как переводчик может перевести книгу с языка A на язык B с помощью двух словарей, так и система (или программный модуль - plugin) управления цветом (Color Management System, CMS, или Color Management Module, CMM) выполняет перевод, используя два "словаря" - например, RGB-XYZ и XYZ-CMYK. На рис. 1 первый словарь - из профиля монитора, второй - из профиля принтера. Таким образом, можно сказать, что система управления цветом связывает профили.
Системы управления цветом, интегрированные с ОС, - это ColorSync для Apple Macintosh и Windows ICM для PC. Так что, заглянув в директорию windows\system32\color (если у вас PC под Windows) или System Folder:Preferences:ColorSync profiles folder (если у вас Mac), вы наверняка найдете там как минимум с десяток ICC-профилей.
Программное обеспечение, поставляемое с современными принтерами (впрочем, как и со сканерами), как правило, опирается на эти системы. Однако, по моему мнению, надежнее пользоваться отдельными программами - например, модулями для Photoshop (это может быть ColorSync plugin, если у вас Mac, или Kodak ICC Convert plugin, если у вас PC). Встроенные модули управления цветом, использующие ICC-стандарт, имеют многие программы для подготовки документов - такие как Adobe PageMaker или Adobe Illustrator. Воспользовавшись одной из них, можно напечатать изображение, не отличающееся от экранного.
Составление словаря - калибровка
В изначальном, самом широком смысле, калибровка означает приведение всех устройств системы (сканер-монитор-принтер или камера-принтер) в согласие друг с другом.
Есть два других, более узких значения. Первое - настройка устройства на некоторые стандартные параметры. Второе - изготовление профиля устройства. Последнее чаще называется профилированием (profiling). Однако мы будем использовать слово "калибровка" именно как синоним профилирования.
Вообще говоря, большинство современных принтеров поставляется вместе с ICC-профилем (его называют canned profile - консервированный профиль). Поэтому в широком смысле можно сказать, что принтер калиброван, если он снабжен хорошим профилем. Однако может статься, вы обнаружите, что принтер не позволяет добиться хорошей цветопередачи. Причин этому может быть масса: от "не та бумага" до "а принтер-то уже старенький". В таком случае требуется калибровка.
Задача калибровки - определить, какой цвет (измеренный как тройка чисел XYZ или Lab) дает принтер для каждой возможной тройки чисел CMY (или четверки - CMYK). Чтобы найти соответствие, печатается тестовое изображение с набором прямоугольников разного цвета (от 18 до 4500 штук). Затем цвет прямоугольников измеряется колориметром или спектрофотометром, и полученные значения передаются программе цветовой калибровки, которая и создает профиль. Рынок предлагает самые разнообразные приборы (рис. 2) и ПО для цветовой калибровки принтеров.
Есть фирмы, осуществляющие удаленный сервис по калибровке принтеров, - например, Chromix (www.chromix.com/pages/cm/rps.html). Отослав тестовое изображение, в ответ вы получите профиль (по e-mail или по ftp). Пожалуй, это самый дешевый способ откалибровать принтер (149 долларов у Chromix).
Может статься, однако, что калибровка почти не улучшит качества отпечатков. В таком случае попробуйте сменить программу, управляющую цветом.
Различные типы перевода
Как один и тот же текст может быть переведен различными способами - художественным, техническим, машинным, - так и цвет может быть конвертирован по-разному. Каждая из программ управления цветом предоставляет возможность выбрать способ конвертации (rendering intent или matching style), который применяется в момент использования профиля. В соответствии с ICC-стандартом в набор способов входят абсолютно-колориметрический (absolute colorimetric), относительно-колориметрический (relative colorimetric), перцепционный (perceptual) и сохраняющий насыщенность (saturation).
Откуда такое разнообразие? Казалось бы, в случае, скажем, монитор-принтер, найдя (по профилю монитора) тройку XYZ (или Lab), соответствующую данной тройке RGB, мы должны заглянуть в ICC-профиль принтера и найти числа CMY (или CMYK), соответствующие этим XYZ.
Но тут возникают проблемы. Цветовые диапазоны монитора и принтера не совпадают (рис. 3), и может оказаться, что принтер не способен напечатать тот или иной из присутствующих в изображении цветов. Надо как-то втиснуть "выпавший" цвет в диапазон принтера. По стандарту ICC в случае перцепционного способа конвертации цветовой диапазон изображения (то есть область, заполняемая в цветовом пространстве всеми цветами, присутствующими в изображении) должен быть растянут или сжат (не обязательно линейно) таким образом, чтобы оптимально вписаться в диапазон устройства назначения. Продолжая лингвистическую аналогию, можно сказать, что это - художественный перевод. Но сделать его можно по-разному. На рис. 4 показано два крайних способа такого перевода.
В более простых ситуациях используются более простые способы. Так, для бизнес-графики (диаграмм, схем и т. п.) достаточно "машинного перевода", то есть сохранения насыщенности. Аналог технического перевода - абсолютно-колориметрический способ. Он удобен для калибровки, но не годится для отсканированных или цифровых фотографий, когда важна правильная передача цветового тона. Почему? Потому что ни XYZ, ни Lab не описывают цвет исчерпывающим образом. Другими словами, открытая Ньютоном трехмерность человеческого восприятия - лишь первое приближение к действительности. В дополнение к XYZ нужны параметры, описывающие условия наблюдения (viewing conditions), ярким примером которых является превалирующий источник света. Из-за явления, называемого хроматической адаптацией, цвет, воспринимаемый человеком, сильно зависит от условий освещения. В литературе о цвете можно встретить такой пример. Смотря телевизор, вы не сомневаетесь, что белое на экране действительно белое. Однако человеку, заглядывающему вечером в окно с улицы, телеэкран покажется голубым (эффект особенно заметен, если телевизор черно-белый). Это происходит потому, что глаз адаптировался к освещенности, создаваемой желтоватым светом уличных фонарей, которые в этот момент и служат глазу эталоном белого.
Относительно-колориметрический способ связывания профилей пытается учесть эффект хроматической адаптации, исходя из того, что правильным выражением цвета являются не числа X, Y, Z сами по себе, но отнесенные к соответствующим числам "текущего" белого (то есть того, к которому глаз в данный момент адаптируется как к белому). В случае принтера - это XYZ чистого листа бумаги; в случае монитора - это XYZ белого экрана.
Хотя относительно-колориметрический способ дает, как правило, приемлемый результат, такой тип описания цвета тоже не является полным. Тут нужно заметить, что исследователи ищут color appearance model (CAM) - математическую модель цвета с учетом условий наблюдения, и поиск ее пока не завершен, хотя предварительный упрощенный вариант модели (CIECAM97s) стандартизован. И, по-видимому, программы управления цветом используют такого рода модели при перцепционном способе конвертации. Во всяком случае, именно он, как правило, дает наилучшие результаты.
Однако условия наблюдения всегда разные: отпечаток может рассматриваться и под лампой накаливания, и под люминесцентной лампой. Программа управления цветом не знает, каковы условия наблюдения в данный момент. Поэтому в последней версии стандарта ICC помимо белой и черной точки носителя специфицируются различные типы условий наблюдения. А именно: абсолютные XYZ-значения для источника, абсолютные XYZ-значения окружения (surround), тип источника - D50, D55, D65, D93, A, E (о них см. "КТ" #295), а также F2 или F8 (флюоресцентные лампы).
Итак, чтобы ваш принтер мог объясниться с другими представителями цифрового мира (камерами, сканерами, мониторами), приобщите его к эсперанто - снабдите словарем (профилем) и переводчиком (программой управления цветом).
Автор благодарит д-ра Патрика Херцога (www.ite.rwth-aachen.de/herzog) за любезно предоставленные рис. 3-6.
Константин Колчин - кандидат физ.-мат. наук, научный сотрудник ИПМ им. М. В. Келдыша РАН.