Inside an ICC Profile (Part 1)

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.

ICC Profile Use in CSS3

There will come a day when most of our OS, applications, devices, and browser experiences are color managed. Right now, we are close in some respects but still pretty far in other respects. If you read my prior post on browser compatibility, you found out that with respect to images, they should be embedded with sRGB, but that only helps if your viewing the images on a browser that supports embedded profiles (otherwise the display profile is used as source).

Let’s say we were talking about non image elements, like gray backgrounds or orange headers. How should those elements be color managed, especially if your designer is using Photoshop for conceptual layout? If the web designer uses sRGB as the “Working Space” as he/she is supposed to do, what happens at the level of the Web Producer.

The Web Producer does the splicing of the PS file and makes PNG or GIF files out of the individual elements or he codes directly the hex values into CSS. However, one can not embed a profile into a PNG or GIF. This is where CSS3 comes in. CSS3 will allow the Web Producer to set the color profile for the entire coded page, in this case sRGB. That way when the designer and the producer compare the published beta site and the Photoshop preview the two match (of course right now only in Safari).

It will be great day when all modern browsers use embedded profiles and CSS3 becomes a common standard. If your looking for a fantastic tutorial on the subject check out gballard.net.

Follow

Get every new post delivered to your Inbox.