В
описании стандарта ICC
предписан формат для
различных классов
профилей, называемых в
целом профилями ICC. Этот
формат предназначен в
качестве независимого от
конкретной платформы или
приложения. До разработки
стандарта ICC профили были
зависимыми от платформы
или приложения.
В
этом приложении
представлена техническая
информация для более
углубленного изучения
содержимого различных
профилей ICC. Разумеется,
это приложение не может
заменить собой описание
стандарта ICC, доступное на
Web-сайте ICC (International Color
Consortium — Международного
консорциума по цвету) по
адресу: www.color.org.
Структура
профиля
Все
профили ICC состоят из трех
частей: заголовка профиля,
таблицы дескрипторов и
данных размеченных
элементов (рис. А
.1
).
Заголовок
профиля
Заголовок
профиля содержит
информацию, позволяющую
осуществлять поиск и
сортировку профилей ICC,
причем размер заголовка
всегда составляет точно 128
байтов. Заголовок профиля
содержит следующие
перечисленные по порядку
параметры кодирования:
-
Размер профиля — это
общий размер профиля в
байтах.
-
Сигнатура типа модуля СММ
— обозначает наиболее
предпочтительный модуль
СММ (по существу,
стандартный модуль СММ).
Имеется также возможность
указать
непредпочтительный
модуль СММ. Во избежание
недоразумений сигнатуры
должны быть
зарегистрированы.
-
Версия профиля — это
версия описания ICC,
которому соответствует
данный профиль. Для
основных исправлений (определяемых
как вновь введенные или
измененные обязательные
дескрипторы, требующие
использования профиля в
обновленном модуле СММ),
незначительных
исправлений (определяемых
как вновь введенные или
измененные
необязательные
дескрипторы, не требующие
использования профиля в
обновленном модуле СММ), а
также для исправлений
ошибок оставлены
свободные места.
-
Класс профиля —
определяет класс профиля
в соответствии с
приведенной ниже таблицей.

Рис.
A.1. Структура профиля ICC
|
Arial">Класс устройства
|
Arial">Сигнатура
|
|
Отображение
|
mntr
|
|
Ввод
|
scnr
|
|
Вывод
|
prtr
|
|
Arial">Ниже приведены дополнительные классы
профилей.
|
|
Arial">Класс профиля
|
Arial">Сигнатура
|
|
Преобразование
цветового
пространства
|
spac
|
|
Абстрактный
|
abst
|
|
Именованный
цвет
|
nmcl
|
|
Связывание
устройств
|
link
|
-
Сигнатура цветового
пространства —
существует 25 возможных
сигнатур для пространств
устройств и аппаратно-независимых
цветовых пространств, в
том числе XYZ, CIELAB, CIELUV, YCbCr,
CIEYxy, RGB, gray, HSV, HLS, CMYK и CMY,
которые указываются явно,
а также любое
специализированное
цветовое пространство,
содержащее от 2 до 15
каналов.
-
Сигнатура пространства
привязки профилей (PCS) —
для обозначения
пространства PCS есть
только два варианта: CIEXYZ
или CIELAB.
-
Сигнатура основной
платформы — обозначает
платформу, на которой был
создан профиль. Для этого
есть шесть следующих
вариантов: Apple Computer, Inc.;
Microsoft Corporation; Silicon Graphics, Inc.;
Sun Microsystems, Inc.; Taligent, Inc.; т. е.
фактически ни одного
наименования основных
платформ.
-
Признаки профиля — таких
признаков два. Один
признак обозначает,
является ли профиль в
настоящий момент
автономным (не встроенным)
или встроенным в документ.
А второй признак
обозначает, может ли
встроенный профиль быть
извлечен из документа и
превращен в автономный.
-
Сигнатуры производителя и
моделей устройств —
сигнатуры устройств
должны быть
зарегистрированы в ICC.
Список
зарегистрированных
устройств слишком велик,
чтобы его здесь приводить.
-
Свойства устройств —
описывают носители,
связанные с устройством, к
которому применяется
профиль. К возможным
вариантам свойств
носителей относятся
следующие: отражающий или
прозрачный, глянцевый или
матовый, позитивный или
негативный, цветной или
черно-белый. Здесь нередко
содержатся неверные
данные, которые, впрочем,
не оказывают влияния на
эффективность профиля (подобно
всем остальным данным в
этой части профиля). Хотя
они и вынуждают различать
профили по именам, а не по
сигнатурам свойств
устройств.
-
Цель цветопередачи —
обозначает стандартную
таблицу целей
цветопередачи в профиле. К
возможным вариантам целей
цветопередачи относятся
следующие: воспринимаемая,
определяемая носителем
колориметрическая,
насыщенная и абсолютная
колориметрическая ICC. В
табл. А1 представлены
основные перекрестные
ссылки на дескрипторы
цветопередачи.
-
Сигнатура создателя
профиля — обозначает
создателя профиля по
упомянутому выше списку
сигнатур производителей
устройств.
-
Идентификатор профиля —
формируется методом
идентификационной метки,
шифруемой по алгоритму MD5.
При этом нулевое значение
обозначает отсутствие
сформированного
идентификатора. В
настоящий момент эта сиг
натура необязательна.
Таблица
дескрипторов
Таблица
дескрипторов является
второй и наименьшей
частью профиля, однако она
играет в профиле важную
роль аналогично
индексному файлу базы
данных или содержанию
книги. Она состоит из
числа, определяющего
общее количество
дескрипторов в профиле, и
последующего списка всех
его дескрипторов.
Обращение к каждому
дескриптору в этом списке
осуществляется по 4-байтовой
сигнатуре,
зарегистрированной в ICC, 4-байтовому
смещению для обозначения
места, с которого
начинаются данные
дескриптора, и 4-байтовому
значению размера для
обозначения длины
дескриптора.
Данные
размеченных элементов
В
этой третьей части
профиля содержится
основная информация, в том
числе данные белой точки,
описание профиля,
появляющееся в
раскрывающихся списках
приложений, таблицы целей
цветопередачи, кривые
тоновоспроизведения и
прочие сведения.
Таблицу
дескрипторов можно
представить в виде
библиотечной картотеки, а
данные размеченных
элементов — в виде
отдельных книг. Эта
аналогия окажется еще
более полной, если
представить себе книги
без обложек, страницу за
страницей и без явного
начала и конца. Таблица
дескрипторов сообщает
модулю СММ, что собой
представляет каждый
дескриптор и в каком месте
профиля он находится. Это
очень важный момент,
поскольку дескрипторы
могут располагаться в
любом порядке, имея в
некоторых случаях
произвольную длину.
Обязательные
дескрипторы
Описание
профиля ICC включает в себя
как обязательные, так и
необязательные
дескрипторы. Ниже
приведены обязательные
дескрипторы, которые
должны непременно
присутствовать в каждом
профиле ICC.
Дескриптор
profileDescriptionTag
Этот
дескриптор содержит имя
профиля, появляющееся в
раскрывающихся списках
приложений. Имя файла и
имя профиля — это далеко
не одно и то же. Настоящее
имя профиля указывает
дескриптор profileDescriptionTag.
Этот дескриптор требуется
также для профилей
дополнительных классов.
Дескриптор
mediaWhitePointTag
Этот
дескриптор указывает
значение белой точки
носителя, измеренное в
пространстве CIEXYZ. Он
используется наряду с
дескрипторами AtoBlTag и BtoA1Tag
при расчете цели
абсолютной
колориметрической
цветопередачи.
Дескриптор
chromaticAdaptationTag
Этот
дескриптор требуется в
том случае, когда выбран
отличный от D50 источник
света. Он используется для
приведения конкретного
источника света к
осветителю PCS (т. е. D50).
Дескриптор
copyrightTag
Сведения
об авторском праве на
профиль хранятся в этом
дескрипторе в виде 7-разрядной
строки, представленной в
коде ASCII. Данный
дескриптор также
требуется для профилей
дополнительных классов.
Профили
ввода
Профили
ввода поддерживаю
полутоновые, RGB и CMYK
устройства ввода.
Теоретически они
позволяют описывать и
многоканальные
устройства ввода. Хотя нам
неизвестны
инструментальные
средства для формирования
профилей ввода CMYK, не
говоря уже о профилях для
многоканальных устройств
ввода. (Это же относится и
к инструментальным
средствам для
формирования профилей
монохромных устройств.)
Таким образом, возможны
следующие виды профилей
ввода: матричные RGB,
табличные RGB и матрично-табличные
RGB.
Матричные
профили
Для
матричных профилей ввода
RGB требуются лишь два
дополнительных типа
дескрипторов. Эти
дескрипторы содержат
небольшой объем данных,
поэтому размер матричных
профилей RGB, как правило,
составляет лишь несколько
кило байтов. В качестве
дополнительных требуются
следующие типы
дескрипторов:
-
MatrixColumnTag — три
дескриптора данного типа
таковы: redMatrixColumnTag,
greenMatrixColumnTag и blueMatrixColumnTag.
Они содержат трехцветные
значения XYZ основных
цветов (красного, зеленого
и синего соответственно).
Цветовое пространство CIELAB
в матричных профилях не
поддерживается.
-
TRCTag — к данному типу также
относятся три следующих
дескриптора кривой
тоновоспроизведения (TRC):
greenTRCTag, redTRCTag и blueTRCTag.
Табличные
профили
Для
табличных профилей ввода
RGB требуется лишь один
дополнительный
дескриптор, хотя он может
содержать значительный
объем данных по сравнению
матричными профилями.
-
AtoBOTag — в этой таблице
хранятся данные
преобразования из
цветового пространства
устройства в пространство
PCS с использованием цели
воспринимаемой
цветопередачи, которая
только и требуется для
табличных профилей ввода.
Хотя поддерживаются и
другие цели цветопередачи.
Кроме того,
обеспечивается точность
преобразования 8 или 16
разрядов. Данные PCS можно
представить в
пространстве CIEXYZ или CIELAB.
Гибридные
профили
В
версии 4.0 описания
стандарта ICC
поддерживаются также
матрично-табличные (гибридные)
профили ввода.
Профили
отображения
Профили
монохромных устройств
отображения
поддерживаются в описании
стандарта ICC с помощью
лишь одного дескриптора
grayTRCTag. А для более
распространенных цветных
устройств отображения
предоставляются
матричные, табличные и
матрично-табличные (гибридные)
профили отображения RGB,
как и для упомянутых выше
устройств ввода.
Дополнительные
дескрипторы, требующиеся
для матричных профилей
отображения RGB, аналогичны
тем, что требуются для
матричных профилей ввода
RGB. А для табличных и
гибридных профилей
отображения требуется
лишь один дополнительный
дескриптор.
Дескриптор
BtoAOTag
Этот
дескриптор содержит
таблицу воспринимаемого
преобразования из
пространства PCS в цветовое
пространство устройства.
Данный дескриптор
требуется для обеспечения
обратимости профилей
отображения. Потребность
в таблице воспринимаемого
преобразования не
означает, что при этом
требуется также цель
воспринимаемой
цветопередачи, поскольку
данный дескриптор
практически всегда
содержит
колориметрические данные.
Это означает, что
цветопередача всегда
будет колориметрической (относительной
или абсолютной).
Профили
вывода
В
описании стандарта ICC
допускаются профили
монохромного вывода
только TRC типа, хотя вряд
ли можно найти
инструментальное
средство для их
формирования. Как правило,
применяются RGB, CMYK и (намного
реже) полутоновые
табличные профили вывода.
В настоящее время
поддерживаются профили
вывода с максимум 15
каналами (в версии 4.0.0
описания стандарта ICC).
Однако в типичных модулях
СММ допускается наличие
максимум 8 каналов в
профилях вывода. Ниже
приведены типы
дескрипторов, которые
требуются для профилей
вывода.
Дескрипторы
AtoBTag и BtoATag
Имеются
шесть возможных
дескрипторов, указывающих
как цель цветопередачи,
так и направление
преобразования цвета (в
пространство PCS или из
пространства PCS). Их
нетрудно перепутать,
поэтому для простоты
вместо буквы "В" в
обозначении "AtoB" или
"BtoA" следует мысленно
подставить букву "Р"
из обозначения
пространства PCS, которая и
укажет направление
преобразования: "AtoP"
или "PtoA", где — "Р"
— это пространство PCS, а
"А" — пространство
устройства.
-
AtoBOTag — дескриптор
преобразования из
цветового пространства
устройства в пространство
PCS с использованием
воспринимаемой
цветопередачи
-
AtoB I Tag — дескриптор
преобразования из
цветового пространства
устройства в пространство
PCS с использованием
колориметрической
цветопередачи
-
AtoB2Tag — дескриптор
преобразования из
цветового пространства
устройства в пространство
PCS с использованием
насыщенной цветопередачи
-
BtoAOTag — дескриптор
преобразования из
пространства PCS в цветовое
пространство устройства с
использованием
воспринимаемой
цветопередачи
-
BtoA1Tag — дескриптор
преобразования из
пространства PCS в цветовое
пространство устройства с
использованием
колориметрической
цветопередачи
-
BtoA2Tag — дескриптор
преобразования из
пространства PCS в цветовое
пространство устройства с
использованием
насыщенной цветопередачи.
Обратите внимание на
использование лишь одной
таблицы
колориметрического
преобразования (см. выше
описание дескриптора
mediaWhitePointTag). А описание
принципов применения
целей цветопередачи в
преобразованиях
приведено ниже во врезке
"Цели цветопередачи и
преобразования".
Дескриптор
gamutTag
В
этой таблице содержатся
входные значения PCS и
единственное выходное
значение 1 или 0. Так,
значение 1 обозначает, что
цвет PCS находится вне
цветовой гаммы, а значение
0 — в пределах цветовой
гаммы.
Дополнительные
классы профилей
Помимо
профилей устройств (включая
и такие профили "виртуальных"
устройств, как Adobe RGB (1998),
Colormatch RGB и sRGB), в описании
стандарта ICC допускаются
четыре следующих
дополнительных класса
профилей: связывания
устройств (DeviceLink),
преобразования цветового
пространства (ColorSpace Conversion),
абстрактные (Abstract) и
именованного цвета (Named Color).
Цели
цветопередачи и
преобразования
При
выполнении
преобразований
большинство 'приложений
позволяет лишь выбрать
единственную цель
цветопередачи, несмотря
на то, что исходные и
целевые профили содержат
ряд целей цветопередачи,
которые можно применить в
преобразованиях. Покажем,
как это происходит на
практике.
Если
исходный и целевой
профили со держат
указанную цель
цветопередачи, эта цель
используется как в
преобразовании из
пространства исходного
профиля в пространство PCS,
так и из пространства PCS в
пространство целевого
профиля.
Однако
матричные профили
содержат только одну цель
цветопередачи (обычно
относительную
колориметрическую, как
отмечалось ранее в этом
приложении), даже если она
обозначается иногда как
воспринимаемая. Для
преобразования из
пространства матричных
профилей в пространство PCS
и обратно может быть
использована только цель
цветопередачи из
матричного профиля. Так,
если исходный или целевой
профиль является
матричным, в
преобразовании из
пространства этого
профиля в пространство PCS
или обратно используется
цель цветопередачи именно
этого профиля. А если
другой профиль содержит
специально указанную цель
цветопередачи, именно эта
цель используется в
преобразовании из
пространства данного
профиля в пространство PCS
или обратно.
Если
же цель цветопередачи не
указана в связи с тем, что
пользовательский
интерфейс этого не
допускает, или вследствие
того, что выбран цветовой
механизм Automatic,
стандартная цель
цветопередачи целевого
профиля используется как
в преобразовании из
пространства исходного
профиля в пространство PCS,
так и в преобразовании из
пространства PCS в
пространство целевого
профиля, при условии что
данная цель цветопередачи
поддерживается в исходном
профиле.
Так,
если запросить
преобразование из
пространства правки
матричного профиля,
например, Adobe RGB (1998), в
пространство профиля
вывода CMYK с
использованием
воспринимаемой
цветопередачи, в
преобразовании из
цветового пространства
исходного профиля в
пространство PCS будет
использована
относительная
колориметрическая
цветопередача, поскольку
это единственная цель
цветопередачи в профиле
Adobe RGB (1998). А в
преобразовании из
пространства PCS в цветовое
пространство целевого
профиля будет
использована
воспринимаемая
цветопередача.
Именно
поэтому указываемые цели
цветопередачи иногда не
оказывают никакого
влияния. Так, при
преобразовании из одного
матричного профиля в
другой будут использованы
только те цели, которые
содержатся в этих
профилях.
Профили
связывания устройств
Профили
связывания устройств
допускают
непосредственное
преобразование из
цветового пространства
одного устройства в
цветовое пространство
другого, а по существу, из
одного профиля в другой. И
хотя они, как правило,
содержат только один
исходный и один целевой
профиль, в профиль
связывания устройств
можно последовательно
включить любое число
пространств устройств и
аппаратно-независимых
пространств. Однако
первым и последним в этой
цепочке все же должны быть
пространства устройств.
Для профилей связывания
устройств требуются
четыре дескриптора:
profileDescriptionTag, AtoBOTag,
profileSequenceDescTag и copyrightTag.
Иногда
кажется, что профили
связывания устройств
нарушают общее правило,
требующее наличия двух
профилей для
преобразования, но внутри
любого профи ля данного
класса на самом деле
содержатся, по крайней
мере, два профиля, хотя он
и представляет собой один
файл.
-
profileSequenceDescTag — этот
дескриптор описывает
последовательность
профилей в цепочке.
Профили
преобразования цветового
пространства
Профили
преобразования цветового
пространства обычно
используются модулями СММ
для преобразования из
разных аппаратно-независимых
цветовых пространств,
например, из CIELAB в CIELUV.
Такие профили могут быть
встроены в изображения.
Так, если имеется
изображение в цветовом
пространстве LAB с
осветителем, отличным от
D50, в него придется
встроить подходящий
профиль преобразования
цветового пространства.
Абстрактные
профили
Абстрактные
профили предназначены для
редактирования
изображений путем
преобразования цветовой
информации в пространстве
PCS. На практике они
используются очень редко.
Нам известно лишь одно
инструментальное
средство для формирования
таких профилей: Kodak ColorFlow
Profile Tools (называемое иначе
Profile Editor).
Профили
именованного цвета
Профили
именованного цвета (иногда
еще называемые NCP)
используются для
поддержки таких систем
именованных цветов, как
Pantone, Focoltone или заказных
цветов ряда поставщиков.
При этом именованные
цвета должны быть связаны
с аппаратно-независимыми
значениями (как правило,
значениями LAB).
Дополнительной, а,
возможно, и наиболее
практической
особенностью профилей NCP
является возможность
ссылки на каждый
именованный цвет по его
значениям для выбранного
устройства, благодаря
чему достигается наиболее
оптимальное
воспроизведение
именованных цветов на
конкретном устройстве