Схема и алгоритм профиля модели цветов WCS

Обзор

архитектуры модели цвета (CAMP)

схему CAMP

элементы схемы CAMP

алгоритм CAMP

Обзор

Эта схема используется для указания содержимого профиля модели оформления цвета (CAMP). Связанные базовые алгоритмы описаны в следующих разделах.

CAMP состоит из XML-тегов, которые предоставляют параметрические значения переменным модели внешнего вида CIECAM02 базовой цветовой модели. Подробные сведения о диапазонах параметров приведены в спецификации базовой модели внешнего вида цвета и CIECAM02 рекомендации.

Архитектура профиля модели цветового оформления

диаграмме, в которую показана архитектура профиля CAMP, созданная из тегов X M L.

Схема CAMP

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  xmlns:cam="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"
  xmlns:wcs="http://schemas.microsoft.com/windows/2005/02/color/WcsCommonProfileTypes"
  targetNamespace="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  blockDefault="#all"
  version="1.0">

  <xs:annotation>
    <xs:documentation>
      Color Appearance Model profile schema.
      Copyright (C) Microsoft. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <xs:import namespace="http://schemas.microsoft.com/windows/2005/02/color/WcsCommonProfileTypes" />

  <xs:annotation>
    <xs:documentation>
      ColorAppearanceModel element contains viewing conditions
      parameters based on CIECAM02.
    </xs:documentation>
  </xs:annotation>
  <xs:element name="ColorAppearanceModel">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ProfileName" type="wcs:MultiLocalizedTextType"/>
        <xs:element name="Description" type="wcs:MultiLocalizedTextType" minOccurs="0"/>
        <xs:element name="Author" type="wcs:MultiLocalizedTextType" minOccurs="0"/>
        <xs:element name="ViewingConditions">
          <xs:complexType>
            <xs:sequence>
              <xs:choice>
                <xs:element name="WhitePoint" type="wcs:NonNegativeCIEXYZType"/>
                <xs:element name="WhitePointName">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:enumeration value="D50"/>
                      <xs:enumeration value="D65"/>
                      <xs:enumeration value="A"/>
                      <xs:enumeration value="F2"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
              </xs:choice>
              <xs:element name="Background" type="wcs:NonNegativeCIEXYZType"/>
              <xs:choice>
                <xs:element name="ImpactOfSurround" type="xs:float"/>
                <xs:element name="Surround">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:enumeration value="Average"/>
                      <xs:enumeration value="Dim"/>
                      <xs:enumeration value="Dark"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
              </xs:choice>
              <xs:element name="LuminanceOfAdaptingField" type="xs:float"/>
              <xs:element name="DegreeOfAdaptation" type="xs:float"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="NormalizeToMediaWhitePoint" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="True"/>
              <xs:enumeration value="False"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="ID" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Элементы схемы CAMP

ColorAppearanceModel

Этот элемент представляет собой последовательность:

  1. Строка ProfileName,
  2. необязательная строка описания,
  3. необязательная строка "Автор",
  4. Элемент ПросмотрConditions.

условия проверки: Каждый вложенный элемент проверяется собственным типом. Длина строк ограничена 10 000 символами.

Пространство имен

xmlns:cam="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"

targetNamespace="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"

Версия

Версия >0.1 или <= "1.0" с первым выпуском Windows Vista.

условия проверки : любое значение версии <=2.0 также допустимо для поддержки некрикционных изменений в формате.

Документация

Схема профиля модели внешнего вида цвета.

Корпорация Майкрософт(C). Все права защищены.

условия проверки: Каждый вложенный элемент проверяется собственным типом.

SurroundType

Этот элемент представляет собой перечисление "Среднее", "Dim" или "Темный" CIECAM02 или фактические количественные параметры из рекомендации CIECAM02 c, влияние окружения.

условия проверки : параметр c может варьироваться от 0,525 до 0,69.

Просмотрconditions

Этот элемент состоит из следующих вложенных элементов:

Элемент Тип
WhitePoint WhitePointType
Фон CIEXYZ
Окружать SurroundType
LuminanceOfAdaptingField плавать
DegreeOfAdaptation плавать
NormalizeToMediaWhitePoint Булев

условия проверки : вложенных элементов CIEXYZ проверяются с помощью NonNegativeXYZType. LuminanceOfAdaptingField составляет не более 10 000cd/m^2. СтепеньOfAdaptation может варьироваться от 0,0 до 1.0. Значение NormalizeToMediaWhitePoint может быть "true" или "false". Если подэлемент NormalizeToMediaWhitePoint отсутствует, он фактически по умолчанию имеет значение true. См. следующий раздел алгоритма CAMP.

WhitePointType

Этот элемент представляет собой перечисление значения источника света CIE ("D50", "D65", "A", "F2") или подэлемер CIEXYZ.

условия проверки: Каждый вложенный элемент проверяется собственным типом.

CIEXYZType

Элемент CIEXYZType состоит из трех элементов с плавающей запятой IEEE nonNegativeFloatType с одной точностью, именованных "X", "Y" и "Z". Эти измерения могут быть либо абсолютными (не относительными) CIEXYZ 1931 отражающими значениями, либо абсолютными (не относительными) ЗНАЧЕНИЯМИ CIEXYZ 1931 прямой (трансмиссивной) в канделях на единицу квадрата.

условия проверки: Это означает, что допустимы только реальные значения, а отрицательные значения измерения CIEXYZ недопустимы. Так как это абсолютные значения, значения могут значительно превышать 1,0f. Разумное ограничение для любого значения X, Y или Z будет произвольно иметь значение 10000,0f.

Алгоритм CAMP

Модель внешнего вида цвета (CAM) основана на уравнениях модели оформления цвета CIECAM02 CIE.

Этот класс реализует моделирование внешнего вида цвета. Обратите внимание, что CAM WCS не заменять, например с помощью подключаемого модуля. Это цель дизайна, чтобы иметь только одну модель внешнего вида цвета. Cam основан на рекомендациях CIECAM02.

CIECAM02 можно использовать двумя способами. В направлении цветовой метрики к внешнему виду он предоставляет сопоставление из пространства CIE XYZ с пространством внешнего вида цвета. В направлении метрики внешнего вида к цвету она сопоставляется с пространством внешнего вида XYZ. Внешний вид цвета коррелирует светлость, J, chroma, C и hue, h. Эти три значения образуют цилиндрическую систему координат. Часто, оказывается, что удобнее работать в прямоугольной системе координат, поэтому вычислить = C cos h и b = C sin h, чтобы дать CIECAM02 Jab.

Значения света CAM больше 100. Комитет CIE, который разработал CIECAM02, не обращался к поведению оси света для входных значений с светом больше, чем принятой белой точкой; то есть для входных значений Y больше, чем принятое значение Y. Экспериментирование показало, что уравнения светимости в CIECAM02 ведут себя разумно для таких значений. Легкость увеличивается экспоненциально и следует тому же экспоненту (примерно 1/3).

Иногда пользователи хотят изменить способ вычисления степени адаптации (D). Конструктор WCS позволяет пользователям управлять этим вычислением путем изменения значения градусаOfadaptation в параметрах условий просмотра.

Чтобы обеспечить более согласованное соответствие ожиданиям, влияющим на ICC пользователей, степеньOfAdaptation в лагерях по умолчанию — 1.0. Это дает лучшие результаты во всех случаях, кроме MinCD Absolute, где может потребоваться позволить WCS вычислить степеньOfAdaptation (через degreeOfAdaptation = -1).

Вместо использования окружного значения "Среднее", "Dim" и "Темный", предоставляется непрерывное значение окружности, вычисленное из значения c. Значение c должно быть плавающей запятой от 0,525 до 0,69.

Из cможно вычислить Nc и F, используя подельную линейную интерполяцию между значениями, уже предоставленными для "Среднее", "Dim", и "Темный". Эта модель показана на рисунке 1 CIE 159:2004, CIECAM02 спецификации.

degreeOfAdaption Поведение
-1.0 Показывает формулу для поведения C E E A M 02 по умолчанию. Это поведение по умолчанию CIECAM02.
0.0 <= degreeOfAdaption <= 1.0 D = degreeOfAdaptation (значение, предоставленное пользователем)

В реализацию также добавлен определенный объем проверки ошибок. Следующие числа уравнений используются в определении CIE 159:2004 CIECAM02.

ColorimetricToAppearanceColors

Входные значения проверяются на разумность: если X или Z < 0,0 или если Y < -1.0, то HRESULT E_INVALIDARG. Если значение -1.0 <= Y < 0.0, то J, C и h имеют значение 0,0.

Существуют определенные внутренние условия, которые могут привести к ошибкам. Вместо создания таких результатов внутренние результаты обрезаются для создания значений в диапазоне. Это происходит для спецификаций цветов, которые будут темными и невозможными хроматичными: в уравнении 7.23, если A < 0, A = 0. В уравнении 7.26, если t < 0, t = 0.

AppearanceToColorimetricColors

Входные значения проверяются на разумность. Если C < 0, C > 300 или J > 500, то HRESULT E_INVALIDARG.

R'a;, G'a;и B'a;, (уравнения 8.19 – 8.21) обрезаются к диапазону 399,9.

Для всех профилей модели цветового оформления (CAMPS) подсистема WCS будет проверять принятую белую точку. Если Y не равен 100,0, то принятой белой точкой будет масштабироваться так, чтобы Y не равен 100,0. Такое же масштабирование будет применено к фоновому значению. Коэффициент масштабирования — 100.0/adoptedWhitePoint.Y. Один и тот же коэффициент масштабирования применяется к каждому из X, Y и Z. Если для поля NormalizeToMediaWhitePoint задано значение True, или если оно отсутствует в CAMP, подсистема также масштабирует все входные данные устройств в DeviceToColorimetric, чтобы значение Y носителя устройства равно 100,0. Цвета устройств, поступающие из ColorimetricToDevice, будут масштабироваться умножением в обратном значении этого коэффициента масштабирования. Если для флага NormalizeToMediaWhitePoint задано значение False, данные цветовой метрики не масштабируются.

Для некоторых задач имеет смысл масштабировать значения цветовой метрики, поступающие из DeviceToColorimetric. Уравнения гиперболического света в CAM действительно предназначены для яркости белой точки 100,0. Единственное место, где разница в абсолютной светимости (или несветимости) вступает в игру в светянии адаптируемого поля. Таким образом, CAM должен быть инициализирован с белой точкой Y 100,0. Но если средняя белая точка модели устройства используется в качестве принятой белой точки, то все цвета, поступающие от устройства, должны быть масштабированы соответствующим образом, или белый цвет устройства не выйдет со значением J 100,0. Поэтому значения Y должны масштабироваться в измерениях. Значения измерений можно масштабировать перед инициализацией модели устройства. Затем результаты уже будут находиться в соответствующем диапазоне. Но это сделает тестирование модели устройства более сложным, поскольку значения, исходящие из него, потребуют масштабирования. Для задач, в которых средняя белая точка устройства воспринимается как истинный белый цвет, нормализация с помощью носителя устройства является желательной.

CAM инициализируется непосредственно из CAMP. Это позволяет разработчикам реализовать некоторую гибкость при инициализации CAM на основе задачи, которую они хотят выполнить. В некоторых задачах наблюдатели будут игнорировать любые хромы в белых точках мультимедиа, потому что они когнитивно "знают", что исходные и целевые носители являются "белыми". В таких случаях разработчики хотят инициализировать пересылку и обратные ЦС с соответствующими точками мультимедиа. В некоторых случаях наблюдатели могут сравнивать цвет фона мультимедиа. В таких случаях рекомендуется использовать один CAM для обоих устройств, и может быть желательно не масштабировать значения цветов каждого устройства по средней белой точке этого устройства. Затем различные значения tristimulus носителя приводят к разным значениям внешнего вида в CIECAM02.

основные понятия управления цветами

схемы и алгоритмы цветовой системы Windows