Inside an ICC Profile (Part 1)
February 26, 2010 Leave a comment
Profiles are a mystery to most users. Even for me the first few years in color management, I had no idea really what was in an ICC profile. Essentially when I learned what was inside a profile it made for easier understanding of how profiles actually work. While this information is not necessary for an ICC workflow it sure helps with comprehending a general framework of how and why an ICC aware workflow does it’s magic.
According to Understanding Color Management by Abhay Sharma, a profile is “a data file describing the color characteristics of an imaging device”. Profiles are made for scanners, digital cameras, displays, and print devices. There are even profiles for “non-devices” such as a color space profile. Profiles usually have an extension of .icc or .icm. Profiles are used to translate color into or out of one color space to another. An example can be sRGB from your digital camera to the default profile for your display. Another way to explain this is to call upon the Adobe® terminology of source to destination color.
Profiles have two main parts: tags and headers. There are many tags to describe different functions a profile has. There is a quality setting tag. Sometimes you need to fix a particular tag in order to troubleshoot your ICC workflow. The ICC (International Color Consortium) regulates the structure and contents of profiles. The header usually contains information about device type, i.e. Epson Scanner, Apple Cinema Display, hp Designjet Printer. The tags are the body of the profile and contain all the working data. Headers are standardized and contain a fixed number of items. Tags are device dependent and the number of tags vary according to class and profiling software. Display profiles have different tags compared to print profiles. Scanner profiles have different tags compared to “non-device” profiles like Adobe RGB. If you run OS X you can double click on a profile and it will oped colorsync and you can view header and tag information. There are also “profile inspector” tools available to view and even edit the contents of a profile available for both Mac and Windows. LUT’s are Look Up Tables and are found in ICC profiles and are used to do image conversions.
CMM Type
One of the headers is the CMM type. CMM is the Color Management Module and is the color engine that does the color conversion on an image. The main role of the CMM is to convert the image data from one color space to another using all of the information contained in the profile. CMM’s come from Apple, Adobe. and Kodak as well as a few others. The Adobe ACE (Adobe Color engine) is cross platform and is the most common CMM used today. Most CMM’s behave the same way however you can test the effect of a CMM by changing it in a profile editor or in an ICC aware application.
Profile Class
The profile class header tells us what type of profile it, such as scanner, monitor, printer, etc. There are seven profile classes : display (mntr), input (scnr), output (prtr), device link (link), color space (spac), abstract (abst), and named color (nmcl). Typically profile class tells the type of tags that will be present in a profile and without it applications will not know what to expect. We can easily expect what a display, input, or output profile is used for. Device link profiles are one profile that links two profiles together. Most Device link profiles are CMYK to CMYK and are used to shortcut a color conversion. Device link profiles are very effective dealing with issues converting from CMYK to CMYK especially in areas like black generation. Color space profiles examples are Generic Lab and Generic XYZ profiles and are used to convert images into or out of a device independent space. Abstract profiles are used for special purposes like storing image edits and finally named color profiles are used to support color information from named color systems like PANTONE.
Data Color Space and PCS
Data Color Space refers to the device color space like RGB or CMYK. PCS refers to Profile Connection Space and is usually XYZ or LAB. Profiles usually but not always work in both directions, from the Data Color Space to the PCS or from the PCS to the Data Color Space. Another way to look at it From RGB to LAB and from LAB to RGB, from CMYK to LAB and from LAB to CMYK. Because printer profiles can both be RGB or CMYK when you look at the Data Color Space header you can tell if the profile is treating the printer as an RGB or CMYK device.
Next post we will focus on Flags, Rendering Intent, PCS Illuminant, and more.





