次の方法で共有


WCS カラー表示モデル プロファイルのスキーマとアルゴリズム

概要

カラー外観モデル プロファイル (CAMP) アーキテクチャ

CAMP スキーマ

CAMP スキーマ要素

CAMP アルゴリズム

概要

このスキーマは、色の外観モデル プロファイル (CAMP) の内容を指定するために使用されます。 関連するベースライン アルゴリズムについては、次のセクションで説明します。

CAMP は、CIECAM02 ベースラインカラーアピアランスモデル変数にパラメトリック値を提供するXMLタグで構成されています。 パラメーターの範囲の詳細については、ベースラインカラーアピアランスモデル仕様とCIECAM02レコメンデーションを参照してください。

色の外観モデル プロファイルのアーキテクチャ

X M L タグで構成された CAMP プロファイル アーキテクチャを示す図。

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. 省略可能な Author 文字列、
  4. ViewingConditions 要素。

検証条件: 各サブ要素は、独自の型によって検証されます。 文字列の長さは 10,000 文字に制限されています。

名前空間

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

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

バージョン

Windows Vista の最初のリリースでは、バージョン >0.1 または <= "1.0" です。

検証条件: バージョン値 <=2.0 は、形式に対する破壊的でない変更をサポートするためにも有効です。

ドキュメント

色の外観モデル プロファイル スキーマ。

Copyright (C) Microsoft。 All rights reserved.

検証条件: 各サブ要素は、独自の型によって検証されます。

SurroundType

この要素は、"Average"、"Dim"、または "Dark" CIECAM02 パラメーターの列挙、または CIECAM02 レコメンデーション c の実際の定量的パラメーター 、サラウンドの影響のいずれかです。

検証条件: c パラメーターの範囲は 0.525 から 0.69 です。

ViewingConditions

この要素は、次のサブ要素で構成されます。

要素 Type
WhitePoint WhitePointType
背景 CIEXYZ
サラウンド SurroundType
LuminanceOfAdaptingField float
DegreeOfAdaptation float
NormalizeToMediaWhitePoint Boolean

検証条件: CIEXYZ サブ要素は NonNegativeXYZType によって検証されます。 LuminanceOfAdaptingField は最大 10,000cd/m^2 です。 DegreeOfAdaptation の範囲は 0.0 から 1.0 です。 NormalizeToMediaWhitePoint の値には、"true" または "false" を指定できます。NormalizeToMediaWhitePoint サブ要素が存在しない場合、実質的に既定値は "true" になります。次の CAMP アルゴリズムのセクションを参照してください。

WhitePointType

この要素は、CIE 光源値 ("D50"、"D65"、"A"、または "F2") または CIEXYZ サブ要素の列挙体です。

検証条件: 各サブ要素は、独自の型によって検証されます。

CIEXYZType

CIEXYZType 要素は、"X"、"Y"、および "Z" という名前の 3 つの NonNegativeFloatType 単精度 IEEE 浮動小数点要素で構成されます。これらの測定値は、絶対 (相対ではない) CIEXYZ 1931 反射値または絶対 (相対ではない) CIEXYZ 1931 直接 (透過) 値 (2 乗単位あたりのカンデラス単位) のいずれかになります。

検証条件: つまり、実際の値のみが有効であり、負の CIEXYZ 測定値は無効です。 これらは絶対値であるため、値の範囲は 1.0f を大きく超える可能性があります。 X、Y、または Z 値の妥当な制限は、任意に 10000.0f に設定されます。

CAMP アルゴリズム

カラーアピアランスモデル(CAM)は、CIE CIECAM02カラーアピアランスモデル式に基づいています。

このクラスは、色の外観モデリングを実装します。 WCS CAM は、たとえばプラグインを使用して置き換え 可能ではないこと に注意してください。 色の外観モデルを 1 つだけ持つことが設計目標です。 CAM は CIECAM02 の推奨事項に基づいています。

CIECAM02 は、2 つの方法で使用できます。 比色と外観の方向では、CIE XYZ 空間から色の外観空間へのマッピングが提供されます。 外観と比色の方向では、色の外観空間から XYZ 空間にマップされます。 色の外観は、明度、J、クロマ、C、色相、hに相関しています。 これら 3 つの値は、円柱座標系を形成します。 多くの場合、四角形の座標系で作業する方が便利であることが判明するので、CIECAM02 Jab を与えるために、 = C cos h と b = C sin h を計算します。

100 より大きい CAM 明度値を使用できます。 CIECAM02を策定したCIE委員会は、採用された白色点よりも輝度が大きい入力値の明度軸の動作に対処しなかった。つまり、入力 Y 値が、採用されたホワイト ポイント Y 値より大きい場合。 実験では、CIECAM02の輝度方程式がそのような値に対して合理的に動作することを示しています。 明度は指数関数的に増加し、同じ指数 (約 1/3) に従います。

ユーザーは、適応度 (D) の計算方法を変更する必要がある場合があります。 WCS 設計を使用すると、ユーザーは表示条件パラメーターの degreeOfadaptation 値を変更して、この計算を制御できます。

ユーザーの ICC に影響を受ける期待に一貫性のある一致を提供するために、既定の CAMPS の degreeOfAdaptation は 1.0 です。 これにより、MinCD Absolute 以外のすべてのケースでより良い結果が得られます。ここで、WCS で degreeOfAdaptation を計算できるようにしたい場合があります (degreeOfAdaptation = -1 を使用)。

"Average"、"Dim"、"Dark" のサラウンド値を使用する代わりに、値 c から計算された連続するサラウンド値が提供されます。 c の値は、0.525 から 0.69 の間の浮動小数点である必要があります。

cNcF は、"Average"、"Dim"、"Dark" に既に指定されている値の間の段階的な線形補間を使用して計算できます。このモデルは、CIE 159:2004(CIECAM02 仕様)の図 1 に示されているものをモデル化します。

degreeOfAdaption 動作
-1.0 既定の C I E C A M 02 動作の数式を示します。これは既定の CIECAM02 動作です。
0.0 <= degreeOfAdaption <= 1.0 D = degreeOfAdaptation (ユーザーが指定した値)

特定の量のエラー チェックも実装に追加されています。 次の数式番号は、CIECAM02 の CIE 159:2004 定義で使用されます。

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 の範囲にクリップされます。

すべてのカラーアピアランスモデルプロファイル(CAMP)について、WCSエンジンは採用されたホワイトポイントを調べます。 Y が 100.0 でない場合、Y が 100.0 になるように、採用されたホワイト ポイントがスケーリングされます。 同じスケーリングがバックグラウンド値に適用されます。 スケーリング係数は 100.0/adoptedWhitePoint.Y です。 X、Y、Z のそれぞれに同じスケーリング 係数が適用されます。NormalizeToMediaWhitePoint フィールドが "True" に設定されている場合、または CAMP に存在しない場合、エンジンはデバイス メディアのホワイト ポイントの Y 値が 100.0 になるように DeviceToColorimetric に入力されたすべてのデバイス カラーもスケーリングします。 ColorimetricToDevice から取得されるデバイスの色は、そのスケーリング 係数の乗算逆関数によってスケーリングされます。 NormalizeToMediaWhitePoint フラグが "False" に設定されている場合、比色データはスケーリングされません。

一部のタスクでは、DeviceToColorimetric から取得される比色値をスケーリングするのが理にかなっています。 CAMの双曲線明度方程式は、実際には100.0の白色点輝度のために設計されています。 絶対輝度(または照度)の差が生じる唯一の場所は、適応分野の輝度にあります。 そのため、CAM は 100.0 のホワイト ポイント Y で初期化する必要があります。 ただし、デバイス モデルの中程度の白点が採用されたホワイト ポイントとして使用されている場合は、デバイスから取得されるすべての色をそれに応じてスケーリングする必要があります。または、デバイスの白が J 値 100.0 で出力されません。 したがって、Y 値は測定値でスケーリングする必要があります。 測定値は、デバイス モデルを初期化する前にスケーリングできます。 その後、結果は既に適切な範囲内にあります。 ただし、値が出てくるにはスケーリングが必要になるため、デバイス モデルのテストはより困難になります。 デバイスの中白点が真白であると認識されるタスクの場合は、デバイス メディアのホワイト ポイントによる正規化が望ましいです。

CAM は CAMP から直接初期化されます。 これにより、開発者は、実行するタスクに基づいて CAM を柔軟に初期化できます。 一部のタスクでは、オブザーバーはメディアのホワイト ポイント内のクロマを無視します。これは、ソースメディアとターゲット メディアが "白" であることを認知的に "知っている" ためです。このような場合、開発者は、それぞれのメディア ホワイト ポイントを使用して前方 CAM と逆 CAM を初期化する必要があります。 場合によっては、オブザーバーがメディアの背景の色を比較している可能性があります。 このような場合は、両方のデバイスに 1 つの CAM を使用することをお勧めします。各デバイスの比色値を、そのデバイスの中程度の白点でスケーリングしないことをお勧めします。 その後、メディアの異なるトリスティミュラス値は、CIECAM02で異なる外観値につながります。

基本的な色管理の概念

Windows カラー システムのスキーマとアルゴリズム