Professional Documents
Culture Documents
This is a preliminary document and may be changed substantially prior to final commercial release of the
software described herein.
The information contained in this document represents the current view of Microsoft Corporation on the issues
discussed as of the date of publication. Because Microsoft must respond to changing market conditions, the
information presented herein should not be interpreted to be a commitment on the part of Microsoft, and
Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED,
OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under
copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for
any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights
covering subject matter in this document. Except as expressly provided in any written license agreement from
Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights,
or other intellectual property.
2005 Microsoft Corporation. All rights reserved.
Microsoft, the Microsoft logo, the Windows logo, Windows, and Windows Vista are either registered trademarks or
trademarks of Microsoft Corporation in the United States and/or other countries.
All other trademarks are property of their respective owners.
WCS Features
Continued, improved support for ICC-based workflows
New explicitly staged color processing pipeline
New, Simple XML Profile Formats
Easy to edit, verify, understand and extend by third parties
WCS Pipeline
Device A
Device B
Device
Models
Device Model
Profile A
Device
Model A
Device Model
Profile B
Device
Model B
GBD A
Gamut Map
Model C
Profile
GBD B
Gamut
Map Model
C
Color
Appearance
Model
CAMP for
Device B
Viewing
Conditions
.camp
GBD Shells
These allow for different gamut
mapping strategies in different
regions of the device gamut
Reference Shell computed from the
DMP measurement data
Plausible Shell generated using a
sampling of the color cube in device
colorant space run through the DM,
filtered for real colors
Possible Shell points for the possible
shell for high dynamic range color
spaces are generated using a
sampling of the color cube in the HDR
GBD Shells
HueMap
Equivalent to ICC saturation or business
graphics intent
MinCD
A chroma-dependent weight function is used for the distance in
lightness so that the weight is smaller for small chroma and larger for
large chroma until a threshold chroma is reached, after which the
weight stays at 1, i.e. same weight as distance in chroma or hue.
SGCK
Based on a combination of GCUSP (Morovic, 1998)
and the sigmoidal lightness mapping and cusp
knee scaling proposed by Braun & Fairchild (1999)
Extended to handle multi-shell GBDs
Steps:
1. Align neutral axes
2. Apply lightness rescaling mapping to J
sigmoidal within the reference shell, and linear outside
0
g o ,ref
g o , pla
0.9 g r ,ref
0
g r ,ref
g r , pla
0.9 g r ,ref if 0.9 g r ,ref g o ,ref
HueMap
The first step is to determine the Hue Wheels. Find the JCh
values for primary and secondary colors for both source and
destination device. Here we are only considering the hue
components.
Hue Angle of
Input Color
(40% from M to R)
Hue Angle of
Destination Color
(40% from M to R)
R
Y
Y
M
Source
Primaries
&
Secondaries
Destination
Primaries
&
Secondaries
G
B
B
C
HueMap (2)
Second, we perform a lightness rescaling to map the
black/white points of the source leaf to the
destination leaf, scaling all the J coordinates of the
source boundary. The hue-mapped input color
value is scaled in the same manner.
Source Boundary
Destination Boundary
Source White
Point
Source White
Point
&
Destination White
Point
Destination White
Point
Destination Black
Point
Hue
Leaves
Source Black
Point
Before Lightness
Rescaling
Destination Black
Point
&
Source Black
Point
Hue
Leaves
C
After Lightness
Rescaling
HueMap (3)
Third, the cusp point of the source hue leaf is
linearly mapped to the cusp point of the
destination hue leaf, using a shear
operation that locks the J axis, keeping the
black and white points stationary. Apply this
shear mapping to the lightness-adjusted,
hue-rotated input color value.
Finally perform MinCD clipping.
Programming WCS
Use existing ICM APIs and a few new
WCS APIs
All are unmanaged APIs
DMP
CAMP
GMMP
filename filename filename
OpenColorProfile()
WcsOpenColorProfile()
Default Profiles
in Registry
HPROFILE
CreateMultiProfileTransform
HTRANSFORM WINAPI CreateMultiProfileTransform(
PHPROFILE pahProfiles,
// ptr to array of HPROFILEs
DWORD nProfiles,
// number of HPROFILEs (max 10)
PDWORD padwIntent, // ptr to array of intents
DWORD nIntents,
// number of intents (max 10)
DWORD dwFlags,
//
DWORD indexPreferredCMM
// ignored if any WCS profiles
);
pahProfiles - profile array can contain a mix of ICC and WCS profile handles
If only ICC profiles are used, processing will be via the improved ICM3 CMM
nIntents must equal 1, nProfiles -1, or nProfiles
Intents corresponding to WCS HPROFILEs will result in the use of the corresponding
default GMMP mapped to that intent.
Intents specified in the padwIntent array trump GMMPs in WCS HPROFILEs, unless
For WCS profiles, setting the corresponding intent in padwIntent to DWORD_MAX will
force use of GMMPs contained in WCS HPROFILEs (constructed with
WcsOpenColorProfile).
ICC DeviceLink, Abstract, and NamedColor profiles are not supported in combination
with WCS profiles.
DWORD_MAX
HPROFILE A
HPROFILE B
HPROFILE C
DMPA
DMPB
DMPC
CAMPA
CAMPB
CAMPC
GMMPA
GMMPB
GMMPC
DMPA +CAMPA
GBDA
Default Profiles
in Registry
DMPC +CAMPC
DMPB +CAMPB
GMMPPercep.
GBDB
GMMPB
GBDC
Associate
Install/Uninstall
Settings
Global
Transparency
We are publishing the internal design
specs for WCS
Currently, all the WCS design
documents are available under NDA
It is our intent to publish them on
MSDN for non-NDA access prior to
Windows Vista shipping
In Summary
WSC supports existing color
workflows
WCS provides continuing, enhanced
ICC support
WCS supports high, wide, & deep
color
WCS implement state-of-the art color
science
WCS represents a commitment by
Microsoft to provide an extensible
Community
Email questions/feedback to
mscolor @ microsoft.com
WCS Color at Microsoft blog at
http://blogs.msdn.com/color_blog
Questions