共用方式為


WCS 色彩外觀模型設定檔架構和演算法

概觀

色彩外觀模型設定檔 (CAMP) 架構

CAMP 架構

CAMP 架構元素

CAMP 演算法

概觀

此架構可用來指定色彩外觀模型設定檔的內容, (CAMP) 。 下列各節將說明相關聯的基準演算法。

CAMP 是由 XML 標記所組成,可為 CIECAM02 基準色彩外觀模型變數提供參數值。 基準色彩外觀模型規格和 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. 選擇性作者字串,
  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" ;

版本

版本 > 0.1 或 < = 「1.0」 與第一版 Windows Vista。

驗證條件: 任何版本值 < =2.0 也有效,可支援格式的非中斷性變更。

文件

色彩外觀模型設定檔架構。

Microsoft (C) 著作權。 著作權所有,並保留一切權利。

驗證條件: 每個子項目都是由它自己的類型來驗證。

SurroundType

這個專案是 「Average」、「Dim」 或 「Dark」 CIECAM02 參數或 CIECAM02 參數的列舉,或 CIECAM02 建議中的實際量化參數 c,對周圍的影響。

驗證條件: c 參數的範圍可以從 0.525 到 0.69。

檢視條件

這個專案包含下列子項目:

元素 類型
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 元素是由三個 NonNegativeFloatType 單精確度 IEEE 浮點元素所組成,名為 「X」、「Y」 和 「Z」。這些度量可以是絕對 (不是相對) CIEXYZ 1931 反射值,或絕對 (不是相對) CIEXYZ 1931 直接 (以單位為單位的可轉譯) 值。

驗證條件: 這表示只有真實世界值有效,而負 CIEXYZ 度量值無效。 因為這些是絕對值,所以值的範圍可能超過 1.0f。 任何 X、Y 或 Z 值的合理限制都會任意設定為 10000.0f。

CAMP 演算法

(CAM) 的色彩外觀模型是以 CIE CIE CIECAM02 色彩外觀模型方程式為基礎。

這個類別會實作色彩外觀模型。 請注意,WCS CAM 無法使用 外掛程式來取代。 只有一個色彩外觀模型的設計目標。 CAM 是以 CIECAM02 建議為基礎。

CIECAM02 可以透過兩種方式使用。 在色階對外觀方向中,它會提供從 CIE XYZ 空間到色彩外觀空間的對應。 在外觀到色彩對稱方向中,它會從色彩外觀空間對應回 XYZ 空間。 色彩外觀會讓光線、J、chroma、C 和 hue、h 相互關聯。 這三個值形成圓球座標系統。 通常,在矩形座標系統中工作會更方便,因此計算 a = C cos h 和 b = C sin h,以提供 CIECAM02 Jab。

您可以使用大於 100 的 CAM 光線值。 CIE 委員會所制定的 CIECAM02 未解決輸入值的光線軸行為,其亮度大於採用白色點;也就是說,針對大於採用白點 Y 值的輸入 Y 值。 實驗顯示 CIECAM02 中的亮度方程式對於這類值的行為合理。 光線會以指數方式增加,並遵循相同的指數 (大約 1/3) 。

使用者有時會想要變更計算 D (D) 調整程度的方式。 WCS 設計可讓使用者藉由變更檢視條件參數中的 degreeOfadaptation 值來控制此計算。

為了為使用者提供更一致的相符專案給使用者受到 ICC 影響的預期,預設的 CAMP 中的 degreeOfAdaptation 為 1.0。 這可在 MinCD Absolute 以外的所有案例中產生更好的結果,其中一個可能想要讓 WCS 透過 degreeOfAdaptation = -1) 計算 degreeOfAdaptation (。

系統會提供從 c 值計算的連續周框值,而不是使用 「Average」、「Dim」 和 「Dark」 的周框值。 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 (使用者提供的值)

已將特定數量的錯誤檢查新增至實作。 下列方程式編號是 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。

有一些內部條件可能會產生錯誤結果。 內部結果會裁剪為產生範圍內值,而不是產生這類結果。 這發生在色彩規格中,如果 A 0、A < = 0,則為深色和不精確色色的色彩:在方程式 7.23 中。 在方程式 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/採用WhitePoint.Y。 相同的縮放比例會套用至每個 X、Y 和 Z。如果 NormalizeToMediaWhitePoint 欄位設定為 「True」,或者它不存在於 CAMP,引擎也會將所有裝置色彩輸入調整為 DeviceToColorimetric,讓裝置媒體白色點的 Y 值等於 100.0。 來自 ColorimetricToDevice 的裝置色彩將會由該縮放因數的乘法反縮放。 如果 NormalizeToMediaWhitePoint 旗標設定為 「False」,則不會縮放色彩資料。

對於某些工作,調整來自 DeviceToColorimetric 的色度值是有意義的。 CAM 中的雙曲光線方程式實際上是針對 100.0 的白色點亮度而設計。 絕對亮度 (或亮度不足) 唯一作用中的地方,就是調整欄位的亮度。 因此,CAM 必須以 100.0 的白色點 Y 初始化。 但是,如果裝置型號的中型白色點是用來作為採用的白色點,則來自裝置的所有色彩都必須據以調整,否則裝置白色不會以 J 值 100.0 來顯示。 因此,Y 值必須在度量中調整。 在初始化裝置型號之前,可以調整度量值。 然後結果已經位於適當的範圍內。 但這樣會讓測試裝置型號變得更困難,因為即將推出的值需要調整。 對於裝置媒體白色點視為真正的白色的工作,需要由裝置媒體白色點正規化。

CAM 會直接從 CAMP 初始化。 這可讓開發人員根據想要執行的工作,在初始化 CAM 時有一些彈性。 在某些工作中,觀察者會忽略媒體白點中的任何色度,因為它們以認知方式「知道」來源和目的地媒體是「白色」。在這種情況下,開發人員會想要使用各自的媒體白點來初始化正向和反向 CAM。 在某些情況下,觀察者可能會比較媒體背景的色彩。 在這些情況下,建議您針對這兩個裝置使用一個 CAM,而且建議您不要依該裝置的中白點調整每個裝置的色階值。 然後媒體的不同 tristimulus 值會導致 CIECAM02 中的不同外觀值。

基本色彩管理概念

Windows 色彩系統架構和演算法