Until recently, most ICC-based color management processing engines (CMMs), including Windows' ICM CMM, implemented the processing models defined in the ICC profile format specifications; they were a collection of matrix and interpolation table processors. Such CMMs are termed "static CMMs": they implement a fixed set of processing models defined in the ICC specs.
In ICC-based color management systems most of the complexity, art, and color science happens during profile creation: the color rendering or gamut mapping between a device color space and the ICC profile connection space (PCS) is established during profile creation - the device <-> PCS transform is precomputed. The operation of the static CMM is pretty cut-and-dried. Ideally, all static ICC CMMs should produce the same results processing color data through the same set of profiles.
With the introduction of the version 4 ICC profile format specification, the ICC enabled support for what are called "dynamic" or "deferred-color-rendering" CMMs. Prior to version 4, there was some ambiguity about whether the results of the relative colorimetric rendering intent table could be scaled so that the black point matched the PCS black point. In version 4, it was clarified that the relative colorimetric rendering intent table was not scaled, but the perceptual LUT is scaled. (Thus, there is a defined gamut boundary for the perceptual intent, but none for the colorimetric intent.) It is possible to recover colorimetry from the relative colorimetric tables, and such pseudo-measurement data can be used by a dynamic CMM.
A dynamic CMM is one that defers color rendering and gamut mapping until runtime They may support processing models other than those described in the ICC specs. Often they operate with raw color measurement data. In the ICC context, a dynamic CMM recovers pseudo-measurement colorimetric data from ICC profiles, and then performs device modeling and color rendering based on that measurement data. Dynamic CMMs can utilize modern color appearance models, and more elaborate processing models than those available to static CMMs. The nature of that modeling and color rendering are left undefined by the ICC. Dynamic CMMs can also avoid the gamut and dynamic range limitations imposed by the ICC print-referred PCS.
WCS offers our customers both a static and a dynamic CMM. The static CMM is the improved ICM CMM, with added support for version 4 ICC profiles. The dynamic CMM is the WCS Color Infrastructure and Translation Engine (CITE), which uses both ICC profiles and WCS XML profiles. Both CMMs are available, and the choice of which to use in a particular color workflow is entirely up the user (or at least, up to the author of the color software involved). Also, our dynamic CMM extends its support to both ICC v4 profiles, and to the older and much more widespread ICC v2 profiles.
We have defined new XML-based device model profiles, gamut mapping model profiles, and color appearance model profiles for use with WCS. These new profiles, which are embeddable in ICC profiles, carry the parameters used for selection of the WCS device model, the choice of gamut mapping method, and the viewing condition parameters used in WCS's CIECAM02-based color appearance model. The WCS device model profiles also carry raw measurement data, and provide a very simple way to unambiguously characterize a color device. They are especially useful when the device has a wide gamut or a high dynamic range not well accommodated by the ICC PCS.
While static CMMs are generally limited to 8- and 16-bit per channel integer data, the WCS CITE can also process fixed point and floating point color data, with up to 32 bits per channel It even extends this support to color transforms involving ICC profiles. The WCS CITE can construct and evaluate color transforms that contain a mix of ICC and WCS profiles, or even all-ICC profile transform sequences.
Thus, WCS provides continuing improved support for ICC static-CMM/precomputed-profile color management, as well as offering the first widely available dynamic CMM. As mentioned above, while the ICC doesn't define or restrict the behavior of a dynamic CMM, the WCS CITE is fully documented, with all its device models, its color appearance model, and all gamut mapping algorithms detailed, so that its color processing is understandable and predictable.