Vistas New Color Management System - WCS

From ColorWiki

Jump to: navigation, search
Reserved Article

This page is a
Reserved Article.
For more details see
Reserved ColorWiki Articles

ColorNews

This reserved article originally appeared in CHROMiX ColorNews Issue 26 on Feb 14, 2007.

Click here to see the original in its original context.
Email
colornews(at)chromix.com to subscribe to the ColorNews newsletter.

February, 2007 This Month's Feature Article:

Contents

Vista's new Color Management System: WCS

by CHROMiX President Steve Upton


Recently Microsoft released their delayed and highly anticipated upgrade to Windows: Vista.

There is no shortage of articles analyzing Vista, its requirements, its new features, and many of the changes that will take place for the user and software developer. What I have not seen, however, is an article addressing Vista's color management system (CMS) capabilities. So here we go.

Windows Vista includes a significant upgrade to operating system-level color management. The Windows Color System (WCS) represents an departure from the ICC-based architecture that most CMSs have used for the past 10 years or so. As I often do with many of my articles, let's take a few steps back to put it all in perspective.

Some Background

Windows 2000 and XP include Microsoft's CMS called Image Color Management (ICM). The Color Management Module (CMM - I hope this is the last of these acronyms) was originally written by Heidelberg and has not seen much of upgrades or bug fixes over the years. As a result of this low priority on Microsoft's list, ICM has had enough bugs and short comings few people rarely use it for color conversions. Though you can select ICM for conversions in Photoshop and other applications, few users do. Many print drivers and RIPs on Windows use CMMs licensed from Kodak and other companies. It's fair to say that those of us in the professional realm had given ICM up for dead.

Smart Profiles / Dumb CMM

Windows ICM, Apple's CMM in the Mac OS, Adobe's CMM "ACE" in their publishing applications, Kodak's CMS and most other major color processing systems have used the architecture and profile format described by the ICC. In this architecture (at least thus far) the basic components have been 'smart' profiles and a 'dumb' CMM. This is an over simplification but it captures the basic building blocks.


In the early to mid 1990's computing power was only a fraction of what it is today. Calculating color transformations took time - 5 to 20 minutes or so - and it wasn't realistic to calculate these tables real-time in production workflows. At the same time, the bleeding edge of color research lay in mapping gamuts and transforming color as smoothly and realistically as possible. By placing the color mapping function into the ICC profile, the CMM was left to perform the much simpler - and faster - job of converting image colors using simple interpolations of the profile's tables. The hard work, both in design and computation, is performed off-line when the profile is originally calculated from color measurement and reference data. Profiling software manufacturers can refine and revise their color conversion technology to bring us better and better profiles without us having to upgrade our publishing applications. Competition between profiling vendors would also drive improvement in color technology over time. All in all, a wise method to get us through the first 10 years of advancement.


But over time, shortcomings in the architecture came to light. One of its primary strengths turns out to be a weakness as well. Recall that ICC device profiles perform half the required color conversion. In a normal workflow, when an image is converted between two color spaces (say Adobe RGB and SWOP CMYK), two profiles are put to work and they hand off the image color in the Lab color space. By selecting Lab (and sometimes its cousin XYZ) as the profile connection space the ICC gave us the brilliant system where a profile only needs to know about converting between its device and Lab. Users can select profiles on the fly and the CMS knits them together to perform the conversion. Profiles can be combined in different ways to convert from device space or to device space. Profiles can be used for matching between devices or simulating one device on another. The problem is that the very calculations that map color between one device and another are performed when we don't know what the 'other' device will be. In other words, when I choose the perceptual rendering intent, the tables in my source profile and in my destination profile will both try to map color from the, typically, larger source gamut to the smaller destination gamut. As I mentioned before, this stuff is the real rocket science behind color management and yet neither profile can be aware of the size and shape of the other's gamut. This can result in sub-optimal hand-off between profiles and inaccuracies or unnecessary desaturation in color conversions.

Black Point Compensation

Another example of this is black point compensation. BPC is an Adobe work-around to this same gamut-blindness. With BPC, the Adobe CMM evaluates the lightness range of each device gamut and scales between them. BPC is performed in the CMM, has been only available in the Adobe CMM, and was outside the ICC spec.

For this and other reasons, advanced users have been calling for a change in the architecture to allow for moving some of the smarts from the profile into the CMM. The ICC is evaluating several options to change the way profiles interact as well.

Windows Vista WCS

Windows WCS, as you might have been able to anticipate, is based on an updated architecture where the profiles are simplified and the CMM enhanced. ICM, the ICC-based engine is still playing along for the times when users supply ICC profiles for their conversions. The new features and interplay between WCS and ICM are a bit involved so let's step through it:

Features

<http://blogs.msdn.com/color_blog/archive/2006/09/29/Profile-utilization-test-image-and-profile.aspx>

Shortcomings

So, with all these new features and capabilities are there any shortcomings? Well, yes. This is a version 1.0 product after all.

After you calibrate and profile your display, the profiling software saves the graphics card's calibration curves inside the monitor profile so they can be reloaded on reboot. The Mac OS has reloaded these curves automatically since OS 8 but on Windows, a third-party utility is required. This is open to conflicts as two different software packages might fight over loading curves (LUT wars).

Also, selecting different display profiles in the displays control panel does not load each profile's calibration curves... cumbersome at best. This is an odd oversight as it is a simple function and one that really should be performed by the OS.

The Authorization bug


Editor's note: Microsoft has provided a possible solution to this bug in Service Pack 1 for Vista. For more information on this, click the following links:



Implications

One of the more challenging things about evaluating Vista color management is judging the actual impact of a major upgrade to a system that no professionals use at this time.

If a tree falls in the forest...

Let's face it, most professional color work is done in professional color applications. For production work that's typically an Adobe or Quark product and while they may give the user the option to select an outside color engine, people rarely do. It's end users that have been using ICM color conversions when they print and many printing systems licensed an outside CMM for those conversions anyway.

So does that mean that Vista color management is only going to change the consumer-level user? In the short term, I think yes. Especially as the current shortcomings in Vista's handling of display calibration and in WCS make it an unwise decision in professional color workflows. I'm sure Microsoft will eventually correct these problems in an upcoming 'service pack' but in the meantime consumer-level users will be the ones feting out WCS and that's OK with me. As much as we like change to happen quickly, the adoption of a major system upgrade is one that is often undertaken slowly.

Predictability - a bit of a wash

One of the concerns the ICC is addressing is predictability. If ICC profiles from different vendors are combined in a workflow, will they produce expected results? Vista's WCS combines color information into color transforms on the fly. While this technique makes for optimized gamut mapping how does it do for predictability? That remains to be seen. Suffice to say that both architectures are dealing with predictability in different ways and which one wins out remains to be seen.

Unknown capabilities (does it work?)

The color science and architecture behind WCS look good on paper. They've adopted acknowledged color science techniques and formulae such as CIECAM02. It should work well but as with any new system it remains to be seen if the implementation delivers on the promise.

Available only on Vista

As WCS is only available on Vista and will only be available on Vista, the adoption curve won't be too quick. Add to that the glacial pace of color management adoption in general and we will probably have something we'll be able to observe over many months. Again, this is probably a good thing.

Interactions with Photoshop

Yes, I finally get around to the meat of the article that many people are looking for:

Can I get at WCS from Photoshop and how?

The short answer is yes, in some cases.

In Photoshop on Windows you have the ability to select "ICM" as the color engine for color transforms. When file conversions are performed, Photoshop will call on the operating system to perform the color calculations rather than its internal engine. So, a few points:

Summary

WCS has the makings of a very capable color management system. It seems to be able to fit into traditional ICC-based workflows and then quickly flip into WCS mode for some of its newer features and capabilities. The architecture certainly has a future. It's the present I am concerned with primarily. Due to Vista's non-handling and mishandling of graphics card calibration curves it is next to impossible for a professional user to be confident that their system is properly calibrated and displaying color correctly. For this reason I do not recommend Vista for professional workflows at this time. When Microsoft addresses the calibration-clobbering bug in a future service pack then I think Vista will make an effective platform for high quality color production.

For further reading:

<http://www.microsoft.com/color>


Thanks for reading,

Steve Upton Feb. 2007

For further reading on the Authorization bug, see the following ColorWiki page: Vista Gamma Table Bug

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox