NOTES ON COLOR MANAGEMENT
Many of the sources I referred on the web seemed to start with the statement that it is one of the most difficult(yet most important) step in digital workflow. Fortunately I did not find any difficulty in understanding it. I read through several sources on the internet but I found Norman Koren's tutorial the best, shortest and most informative. See links at the end of this article.
Here, I am trying to jot down everything I have learnt on color management. I am trying to keep it short so that it can be referred very quickly, and I am sticking to only those points one needs to know for image processing and not touching more technical stuff.
HISTORY, AND NEED FOR COLOR MANAGEMENT.
Color management is all about reproducing colors faithfully. Sometimes, a picture that has excellent colors appears very dull in someone else's computer, or in the printout. The most common problem I have witnessed is the washed out colors and bad contrast. The later can be fixed with proper monitor calibration. Good colors can be obtained by color management.
Sometimes, even on the same machine, two applications can display colors incorrectly. I have seen that myself - I had a very beautiful, colorful picture when seen on Photoshop and it looked pale and terrible on IrfanView.
STANDRDISING COLOR
This kind of problem is common in computer industry. There are so many different hardwares and softwares and they all have their own way of representing data. When such problems arise, engineers normally define a standard form of communication so that all softwares or hardwares can extract information faithfully from these standards and convert it to their native form.
In a similar manner, someone defined a standard way to convey the actual colors instead of letting the image processing software or device make its own ad hoc decision. The International Color Consortium(ICC) defined a way to represent colors in an absolute fashion, independent of the devices that render the colors. Color management is all about making this device independent colors work with your imaging application.
We all know that all colors can be derived from three primary colors - Red, Green and Blue. And we know that most of the electronic devices that render colors(monitors, printers, etc) use phosphors/pigments of primary colors to render all the colors in the visible spectrum. When storing colors in an image file, the color information of each pixel is typically represented by 24 bits(This depends on your system configuration - could be more or less than 24). These 24 bits are shared as 8 bits for each of the primary colors. So each color could have 255 levels(8 bits can store 255 levels). Before color management got introduced, the color values 0 to 255 were interpreted by the image processing entity(monitor, imaging software, printer, etc,..). So Red level 255 could be interpreted differently by your printer compared to your monitor. So what appeared deep red in the monitor could look dull when printed or vice versa. It was compounded by the fact that the range of colors that can be produced by each device could be different. Some colors that can be rendered by the monitor may not be reproducible by printer and vice versa.
The range of colors that can be interpreted by a device is normally called color gamut of that device. The color gamut that can be seen by the human eyes is typically much higher than the gamut that can be produced by a monitor or printer. Printers usually have a wider gamut than monitors.
The ICC has defined a standard way to represent colors. That is, regardless of the rendering system, the colors defined(by certain numbers) represent the same hue and saturation. A rendering device that understands the ICC color management understands this standard color, converts these standard colors into its own native representation and displays it. To provide an example, the color red represented by 8 bits in an ICC standard profile may have its value set to 200. In a monitor's color system, this color may be represented by a different value, say 225. A printer may have another value for the same color, say 210. If the entire system is properly color managed, while displaying in the monitor, the system converts the value ICC red 200 to 225 and displays it. Similarly when printing, the red value is converted to 210. This ensures that the color looks the same when viewing in the monitor or printing. If the system is not color managed, both monitor and printer would have displayed their native value 200 which is different from intended value to be displayed. This would have altered the saturation and hue of the color. This usually leads to frustrations by seeing different colors in print than what was seen in the monitor.
HOW COLOR MANAGEMENT WORKS
In a color-managed system, each image source will have a color profile embedded in it. The color profile helps to understand the colors in the image source in a device independent manner. For example, a jpeg image can have an ICC color profile embedded within the file. When imaging software reads the jpeg image, it reads the embedded ICC profile and hence knows how to interpret the colors in the file. When displaying the colors on the monitor, the imaging software maps and converts the embedded profile to the monitor's color profile. In the same manner when the image is sent for printing, the colors are converted to printer's local profile so that the rendering device understands the colors correctly. This ensures that the colors look the same in all rendering devices. The component that performs this conversion is called Color Engine. Most of the operating systems ship with a color engine. Some imaging softwares use the operating system's color engine and some softwares such as Photoshop have their own color engine.

The color profiles help to map entire color gamut of a device to the device independent colors. Each device or an image can have its own color profile. However, most of the image sources use certain standard color profiles available. Most of the images displayed on the web use sRGB as the color profile as this represents the color gamut of most of the CRT monitors. sRGB is also the default color profile of the web and the windows operating system.
Recall that the color gamut of a monitor is smaller than a printer and either of these devices have a gamut smaller than the color gamut of human eye. This means that sRGB does not faithfully cover all the colors that can be represented by a printer since some printable colors go out of gamut of sRGB. To overcome this, images that are destined to be printed typically use a different color profile - Adobe RGB. The gamut of Adobe RGB is known to match the gamut of most of the printers but is still smaller than the human eye's color gamut. There are color profiles available that cover the entire visible range but these are best avoided since devices usually can't display all these colors. The disadvantage of using wider gamut being - the same 8 bits per channel have to be distributed among wider range of colors which results in wastage of the color space that can't be rendered by a device. The set of all colors that are represented by a color profile is normally called color space
CONVERSION ALGORITHMS
There are several ways to convert images from source profile to the monitor's profile(Or profile of any output destination). It is fairly straightforward to convert a smaller gamut profile to wider gamut since all colors from source can be accommodated. However, some amount of color loss results when a wide gamut profile has to be converted to narrow gamut(such as Adobe RGB to sRGB). There are many different conversion algorithms used by the color engines. These conversion algorithms are called Rendering Intent. Below are some popular rendering intents. Note that these names are not standard and different applications may use different names. The names below are used in Photoshop.
Relative Colorimetric
When converting from wide gamut to narrow gamut, all colors that fall into the target gamut are converted as is. The colors in the source that are out of gamut of target color space are simply mapped to the best possible color. This can result in clipping of saturated colors(that are out of gamut of target profile). The lost colors can't be retrieved in the reverse process. This intent is recommended when the image is not likely to have heavily saturated colors.
Perceptual Rendering
This intent compresses all the colors into the target color space. A band of colors that are out of gamut get mapped into a smaller band in the target space. In the reverse conversion, the smaller band is expanded to cover the entire wide gamut. This makes the process reversible. This is the most commonly used rendering intent and works best when the image has heavily saturated colors.
To get a better understanding of these intents, see "gamut mapping" pictures in Norman Koren's website.
Some more intents such as Absolute Colorimetric and Saturation or not recommended in photography. Perceptual Rendering is recommended for normal use. Relative Colorimetric works best when the image does not have heavily saturated colors.
COLOR MANAGEMENT IN PHOTOSHOP
Below is the setup I prefer to use on Photoshop. This should be the optimal setting in most occasions for a photographer. In some cases when a picture does not have heavily saturated colors, I tend to use Relative Colorimetric as rendering intent. But I did not see considerable difference in the output.
Photoshop color management console is opened using the menu option Edit >> Color Settings. It opens the interface shown below. I have explained some of the settings that I have used.

1. Settings: Set to Custom so that color management parameters can be set.
2. Clicking on the advanced mode enables or disables changing some of the options in the page.
3. Working Space: This indicates the color space in which you want to do any editing of the picture. I use Adobe RGB which has a wider gamut and can faithfully reproduce most of the printer colors. If your images are more likely to be used for posting on the web or emailing, sRGB is recommended. I leave rest of the settings untouched.
4. Color Management Policies: I choose to preserve embedded color profile. I leave the other 2 values untouched. For profile mismatch, I check both the boxes. This means that Photoshop opens a dialogue box as below when the source image profile is different from working profile.

Here I prefer to convert the profile to working profile so that I can make complete use of working profile's gamut. For missing profiles, I choose to assign sRGB as the profile, since sRGB is the most commonly used ICC profile and then I convert it to Adobe RGB(checkbox).

5. Conversion Engine: I leave this as ACE - Adobe Conversion Engine.
6. Intent: As mentioned earlier, I choose perceptual as my default though occasionally I use Relative Colorimetric.
I leave rest of the values to their default. Once I have set my values, I save these settings so that I can reuse them later if my settings had changed.
COMPARISON: WITH AND WITHOUT COLOR MANAGEMENT
Below is a comparison of a picture that goes through the color managed workflow against one that is not color managed. The original picture was shot in Adobe RGB. The first picture below was saved as a jpeg using the same profile(no color management). The picture looks fine on Photoshop or when printed but since browsers always assume sRGB, colors look dull when opened in the browser.

Next, I converted the picture to sRGB using Perceptual Intent and saved it. You can see that the colors rendered are much better. However, would you compare these pictures in a color managed application(such as Photoshop), they will look almost the same.

A similar effect can be achieved if printing process is color managed.
PHOTOSHOP - MAKING IMAGES FOR THE WEB
Most photographers prefer to shoot in Adobe RGB so that they can get best results when printing. But browsers and most of the web applications are not color managed and use sRGB as their default color profile. So when an ARGB image is displayed on a browser, it may appear dull and washed out. So one needs to take some special care to save the jpeg images for web. For this, convert the picture to sRGB using Image >> Mode >> Convert Profile. Then use File >> Save for Web option to save the picture as a jpeg image for the web. This helps to reproduce the colors properly when displayed on browsers.
NOTES
Although this post does not cover the following terms, knowing these terms helps understanding color management better.
- Standard Color Representation - CIE LAB, CIE XYZ
- RGB and CMYK representations, additive and subtractive colors.
LINKS
Norman Koren's articles on color management[recommended]
Extract from Martin Evening's book on Photoshop
Jonathan Sach's tutorial
International Color Consortium
Color Physics on Nebulus
Computer Darkroom









1 Comments:
Thanks for this information. It helps lot.
www.mowglitech.com
Post a Comment
<< Home