International Color Consortium

Making color seamless between devices and documents

Member Login

Making connections with iccMAX


A guide to understanding how profile connection works using iccMAX profiles

iccMAX profile connection   Background and basics  Connecting and using profiles


Next: Transform Selection and PCS Adjustment

Connecting and using V2 / V4 ICC profiles

Figures 1 and 3 are intended to illustrate an overall view of colour management transformation. However, two important concepts are needed to be able to understood how these figures relate to the application of ICC profiles: transform selection and PCS conversion and/or adjustment. Transform Selection Transform selection is used to determine the part(s) of the profile that are used to perform the colour transformation (represented by the “T” boxes in Figures 1 and 3). Several parameters are involved in transform selection including:
  • Profile class – The type of profile that is being used.
  • Position – Where in the sequence of transforms the profile is being used.
  • Rendering Intent – Defines a user selectable “flavour” of colour transformation. The ICC profile specifications define four rendering intents: Perceptual (or preferred reproduction), Relative (matching media white), Absolute (exact match), and Saturation (business graphics). Transform selection based on rendering intent allows for alternates when a transform for a rendering intent is not available. (Example: The perceptual intent transform will be used if the relative intent is selected but the relative transform is not available). The precedence of rendering intent usage is explicitly defined by the ICC profile specifications.
  • Transform Type – Defines how the profile is used, and is associated with the workflow “scenario” that is involved. Transform type options are dependent on the profile class, and transforms for different transform types may have different connection endpoints. Transform type may either be explicitly selected as a CMM control option (in addition to rendering intent) or transform type may simply involve the use of different interfaces of the CMM. Transform types that can be associated with V2 and V4 profiles include: colour transformation, named colour, gamut, and preview. Additionally, the “colour transformation” transform type can further be thought of as being subdivided into colour LUT-based, colour matrix/TRC, and colour MPE-based (V4.3) transform types (as implied by the “Required tags” and “Precedence order of tag usage” sections in the specification). This aspect of transform selection is often overlooked because the transform type is explicitly assumed (usually colour transformation with tag precedence applied) or only one transform type is supported/implemented by the CMM. However, the concept of transform type is an important aspect of transform selection that is critical for achieving predictable behaviour when applying profiles that contain multiple types of transform tags.

PCS Conversion and/or Adjustment

The concept of a Reference Colour Space in Figures 3 and 4 is expressed in ICC colour management using PCS connection. The CMM applies the transform of the profile going into the PCS (source profile) performs PCS adjustments (as needed) and then applies the transform of the profile going out of the PCS (destination profile). The PCS adjustment in the middle may involve one or more of the following operations performed by the CMM:

  • Pass-through (No change) – This happens when the PCS configuration of the source profile transform directly matches the PCS configuration of the destination profile transform (and no further CMM controls are applied). For example, when either both the source and destination profiles use an XYZ PCS then the CMM passes the data directly from the source profile transform to the destination profile transform. (The same applies if both profiles use a Lab PCS).
  • Colour space conversion – This happens when the source and destination profiles do not have the same PCS configuration. The following conversions may then apply:
    • If the source profile uses an XYZ space and the destination profile uses a Lab space, then an XYZ to Lab conversion is applied as part of PCS processing by the CMM.
    • If the source profile uses a Lab space and the destination profile uses an XYZ space, then a Lab to XYZ conversion is applied as part of PCS processing by the CMM.
    • When a V2 profile and V4 profile are connected using the perceptual intent, then a black point adjustment is performed since the V2 and V4 perceptual intents have different reference medium black points.
  • Rendering intent adjustment – For V2/V4 profiles, the absolute colorimetric intent uses relative colorimetric transforms with a PCS adjustment in XYZ space scaling between the media white point and the illuminant. The mediaWhitePointTag of each profile is used to get the XYZ colorimetry of the media to perform this operation. The relative-to-absolute adjustment scales the XYZ PCS values by the ratio of the media XYZ divided by the illuminant XYZ. The absolute-to-relative adjustment scales the PCS values by the ratio of the illuminant XYZ divided by the media XYZ. (Note: Since absolute-relative adjustment is XYZ based, colour space conversion is also applied when a profile uses a Lab based PCS).
  • CMM controlled adjustment – A CMM might have a control option (requested by the calling application) that causes the CMM to perform additional PCS adjustments. An example of a CMM control that results in a PCS based adjustment is Black Point Compensation (BPC). (Note: This normalization is similar in concept to absolute-relative adjustment described in the previous section). BPC involves determining the black points for the profiles on both sides of the transform and then performing an XYZ scaling to normalize the black point from source profile to the black point of the destination profile. BPC scaling involves having the CMM use the associated transform tags from each of the profiles to determine the black points.

Next: Transform Selection and PCS Adjustment

Developer Tools