Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
CAMP-architectuur (Color Appearance Model Profile)
Overzicht
Dit schema wordt gebruikt om de inhoud van een kleurenmodelprofiel (CAMP) op te geven. De bijbehorende basislijnalgoritmen worden beschreven in de volgende secties.
Het CAMP bestaat uit XML-tags die parametrische waarden bieden aan de CIECAM02 modelvariabelen voor het uiterlijk van de basislijnkleur. Details over de bereiken voor parameters worden opgegeven in de specificatie van het model voor het uiterlijk van de basislijnkleur en CIECAM02 aanbeveling.
Profielarchitectuur voor kleurenmodel
Het CAMP-schema
<?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>
De CAMP-schema-elementen
ColorAppearanceModel
Dit element is een reeks van:
- ProfileName-tekenreeks,
- optionele beschrijvingstekenreeks,
- optionele auteurtekenreeks,
- Het element ViewingConditions.
validatievoorwaarden: Elk subelement wordt gevalideerd door een eigen type. Tekenreekslengten zijn beperkt tot 10.000 tekens.
Namespace
xmlns:cam="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"
targetNamespace="http://schemas.microsoft.com/windows/2005/02/color/ColorAppearanceModel"
Versie
Versie >0.1 of <= "1.0" met de eerste versie van Windows Vista.
validatievoorwaarden: elke versiewaarde <=2.0 is ook geldig ter ondersteuning van niet-belangrijke wijzigingen in de indeling.
Documentatie
Modelprofielschema voor kleuruitzicht.
Copyright (C) Microsoft. Alle rechten voorbehouden.
validatievoorwaarden: Elk subelement wordt gevalideerd door een eigen type.
SurroundType
Dit element is een opsomming van 'Gemiddelde', 'Dim' of 'Donker' CIECAM02 parameters of de werkelijke kwantitatieve parameters van de CIECAM02 aanbeveling c, impact van de surround.
Validatievoorwaarden: De parameter c kan variëren van 0,525 tot 0,69.
ViewingConditions
Dit element bestaat uit de volgende subelementen:
Element | Type |
---|---|
WhitePoint | WhitePointType |
Achtergrond | CIEXYZ |
Omringen | SurroundType |
LuminanceOfAdaptingField | drijven |
DegreeOfAdaptation | drijven |
NormalizeToMediaWhitePoint | Booleaans |
validatievoorwaarden: CIEXYZ-subelementen worden gevalideerd door NonNegativeXYZType. Het LuminanceOfAdaptingField is maximaal 10.000cd/m^2. De DegreeOfAdaptation kan variëren van 0,0 tot 1,0. De waarde NormalizeToMediaWhitePoint kan 'true' of 'false' zijn. Als het subelement NormalizeToMediaWhitePoint afwezig is, wordt het standaard ingesteld op 'true'. Zie de volgende sectie van het CAMP-algoritme.
WhitePointType
Dit element is een opsomming van CIE light source value ('D50', 'D65', 'A' of 'F2') of een CIEXYZ-subelement.
validatievoorwaarden: Elk subelement wordt gevalideerd door een eigen type.
CIEXYZType
Het CIEXYZType-element bestaat uit drie NonNegativeFloatType IEEE-elementen met één precisie, genaamd 'X', 'Y' en 'Z'. Deze metingen kunnen absolute (niet relatieve) CIEXYZ 1931 reflecterende waarden zijn of absolute (niet relatieve) CIEXYZ 1931 directe (transmissieve) waarden in candelas per meter kwadratische eenheden.
validatievoorwaarden: Dit betekent dat alleen echte waarden geldig zijn en negatieve CIEXYZ-meetwaarden ongeldig zijn. Omdat dit absolute waarden zijn, kunnen waarden ruim groter zijn dan 1,0f. Een redelijke limiet voor elke X-, Y- of Z-waarde wordt willekeurig ingesteld op 10000,0f.
Het CAMP-algoritme
Het kleurenmodel (CAM) is gebaseerd op de CIE CIECAM02 vergelijkingen van het kleurenmodel.
Deze klasse implementeert de modellering voor kleurweergave. De WCS CAM is niet vervangbaar, bijvoorbeeld met behulp van een invoegtoepassing. Het is een ontwerpdoel om slechts één kleurenmodel te hebben. De CAM is gebaseerd op CIECAM02 aanbevelingen.
CIECAM02 kan op twee manieren worden gebruikt. In de richting colorimetric-to-appearance biedt het een toewijzing van de CIE XYZ-ruimte tot de kleurruimte. In de weergave-naar-colorimetrische richting wordt de kleurruimte teruggezet naar de XYZ-ruimte. Het uiterlijk van de kleur correleert lichtheid, J, chroma, C en tint, h. Deze drie waarden vormen een cilindrische coördinaatsysteem. Vaak blijkt het handiger om te werken in een rechthoekig coördinaatsysteem, dus reken a = C cos h en b = C sin h, om CIECAM02 Jab te geven.
U kunt CAM lichtheid waarden groter dan 100 gebruiken. De CIE-commissie die CIECAM02 heeft geformuleerd, heeft niet ingegaan op het gedrag van de lichtheidsas voor invoerwaarden met een luminantie die groter is dan het aangenomen witte punt; dat wil gezegd, voor invoer-Y-waarden die groter zijn dan de goedgekeurde waarde van het witte punt Y. Uit experimenten blijkt dat de luminantievergelijkingen in CIECAM02 redelijk gedrag vertonen voor dergelijke waarden. De lichtheid neemt exponentieel toe en volgt dezelfde exponent (ongeveer 1/3).
Gebruikers willen soms de manier wijzigen waarop de mate van aanpassing (D) wordt berekend. Met het WCS-ontwerp kunnen gebruikers deze berekening beheren door de degreeOfadaptation-waarde te wijzigen in de parameters voor weergavevoorwaarden.
Om een consistentere overeenkomst te bieden met de door ICC beïnvloede verwachtingen van gebruikers, is de degreeOfAdaptation in de standaardKAMPen 1,0. Dit levert betere resultaten op in alle andere gevallen dan MinCD Absolute, waarbij WCS mogelijk de degreeOfAdaptation (via degreeOfAdaptation = -1) kan laten berekenen.
In plaats van een surround-waarde te gebruiken van 'Gemiddelde', 'Dim' en 'Donker', wordt een doorlopende surround-waarde, berekend op basis van de waarde c, opgegeven. De waarde van c moet een float tussen 0,525 en 0,69 zijn.
Vanaf ckunnen Nc- en F- worden berekend met behulp van stukgewijze lineaire interpolatie tussen de waarden die al zijn opgegeven voor 'Gemiddelde', 'Dim' en 'Donker'. Deze modellen die worden weergegeven in afbeelding 1 van CIE 159:2004, de CIECAM02 specificatie.
degreeOfAdaption | Gedrag |
---|---|
-1.0 |
![]() |
0,0 <= degreeOfAdaption <= 1,0 | D = degreeOfAdaptation (de door de gebruiker opgegeven waarde) |
Er is ook een bepaalde hoeveelheid foutcontrole toegevoegd aan de implementatie. De volgende vergelijkingsnummers zijn de getallen die worden gebruikt in de definitie van CIE 159:2004 van CIECAM02.
ColorimetricToAppearanceColors
De invoerwaarden worden gecontroleerd op redelijkheid: Als X of Z < 0,0 of Y < -1.0, wordt het HRESULT E_INVALIDARG. Als -1,0 <= Y < 0,0, zijn J, C en h allemaal ingesteld op 0,0.
Er zijn bepaalde interne voorwaarden die foutresultaten kunnen opleveren. In plaats van dergelijke resultaten te produceren, worden de interne resultaten geknipt om waarden in het bereik te produceren. Dit gebeurt voor specificaties van kleuren die donker en ondenkbaar chromatisch zouden zijn: in vergelijking 7,23, als A < 0, A = 0. In vergelijking 7,26, als t < 0, t = 0.
AppearanceToColorimetricColors
De invoerwaarden worden gecontroleerd op redelijkheid. Als C < 0, C > 300 of J > 500, wordt hresult E_INVALIDARG.
R'a;, G'a;en Ba;, (vergelijkingen 8,19 - 8,21) worden in het bereik 399,9 geknipt.
Voor alle CAMPs (Color Appearance Model Profiles) onderzoekt de WCS-engine het aangenomen witte punt. Als Y niet 100,0 is, wordt het aangenomen witte punt geschaald zodat Y gelijk is aan 100,0. Dezelfde schaalaanpassing wordt toegepast op de achtergrondwaarde. De schaalfactor is 100,0/adoptWhitePoint.Y. Dezelfde schaalfactor wordt toegepast op elk van X, Y en Z. Als het veld NormalizeToMediaWhitePoint is ingesteld op 'Waar', of als het veld niet aanwezig is in het CAMP, schaalt de engine ook alle invoer van de apparaatkleuren naar DeviceToColorimetric, zodat de Y-waarde van het witte punt van het apparaat gelijk is aan 100,0. Apparaatkleuren die afkomstig zijn van ColorimetricToDevice, worden geschaald door de vermenigvuldigende inverse van die schaalfactor. Als de vlag NormalizeToMediaWhitePoint is ingesteld op Onwaar, worden de colorimetrische gegevens niet geschaald.
Voor sommige taken is het zinvol om de colorimetrische waarden te schalen die afkomstig zijn van DeviceToColorimetric. De hyperbolische lichtheidsvergelijkingen in de CAM zijn echt ontworpen voor een witpunthelderheid van 100,0. De enige plaats waar een verschil in de absolute luminantie (of verlichtingssterkte) in het spel komt, is in de luminantie van het aanpassingsveld. De CAM moet dus worden geïnitialiseerd met een wit punt Y van 100,0. Maar als het gemiddelde witte punt van het apparaatmodel wordt gebruikt als het aangenomen witte punt, moeten alle kleuren die afkomstig zijn van het apparaat dienovereenkomstig worden geschaald, of apparaat wit komt niet met een J-waarde van 100,0. De Y-waarden moeten dus worden geschaald in de metingen. De meetwaarden kunnen worden geschaald voordat het apparaatmodel wordt geïnitialiseerd. De resultaten zijn dan al in het juiste bereik. Maar dat zou het testen van het apparaatmodel moeilijker maken, omdat de waarden die binnenkomen, moeten worden geschaald. Voor taken waarbij het medium wit punt van het apparaat wordt beschouwd als een waar wit, is normaliseren door het witte punt van het apparaat wenselijk.
De CAM wordt rechtstreeks vanuit het CAMP geïnitialiseerd. Dit stelt ontwikkelaars in staat om de CAM te initialiseren op basis van de taak die ze willen uitvoeren. In sommige taken negeren waarnemers chroma in de witte mediapunten, omdat ze cognitief weten dat de bron- en doelmedia 'wit' zijn. In dergelijke gevallen willen ontwikkelaars de doorstuur- en inverse CAM's initialiseren met hun respectieve witte mediapunten. In sommige gevallen kunnen waarnemers de kleur van de media-achtergronden vergelijken. In deze gevallen is het raadzaam om één CAM te gebruiken voor beide apparaten, en het kan wenselijk zijn om de colorimetrische waarden van elk apparaat niet te schalen met het gemiddelde witte punt van dat apparaat. Vervolgens leiden de verschillende tristimuluswaarden van de media tot verschillende weergavewaarden in CIECAM02.