Zygomatic Color

The colorspace of source image in ICC profile


Categories: Blogs Tags: ICC Profile Quality Perceptual Rendering Intent

Do you want to dig through ICC profile?

You might feel ‘ICC profile is too hard to be well informed.’ That’s absolutely right, far beyond you imagine. If you want to dig through ICC profile, please do it yourself. This article describes about just one point of ICC profile. Quite a few points are there. For example, this article describes the deep point of polyline approximation problem of ICC profile.

Conversion - what-to-what?

Printing system profile is a set of gamut maps. Maps of what-to-what?

There is no puzzle in A2B. This is required for soft proofing (simulation) of printing. n of B2An is almost everything of printing system profile.

The n indicates mapping type. I guess you know Perceptual / Relative Colorimetric / Absolute Colorimetric / Saturation in Photoshop or something like it. Relative Colorimetric and Absolute Colorimetric both come from the same mapping type. So there are three mapping types, Colorimetric (B2A1), Perceptual (B2A0), and Saturation (B2A2).

Colorimetric is a simple mapping type. It is just the inverse mapping of A2B. Working colorspace’s gamut is much larger than device’s gamut, so the inverse mapping of A2B leaves much area undefined. The undefined area is made to smooth over out-of-gamut failure.

Please let me explain more details. One of the confusing points is ‘working colorspace.’ This isn’t Photoshop’s nor Lightroom’s. This is ICC profile’s. In ICC term, ‘PCS’: the acronym of ‘Profile Connection Space.’

When you print ICC-based (sRGB, Adobe RGB, Display P3, or etc.) image, the image data undergoes colorspace conversion twice. Source → PCS is one, and PCS → Device RGB or CMYK is another. Source → PCS mapping is defined in the profile of sRGB, Adobe RGB, Display P3, or etc. PCS’s gamut should be the same or larger than source colorspace’s. Otherwise, source → PCS conversion may occur out-of-gamut failure.

sRGB is small, and Adobe RGB is large. PCS should be super-large. Such super-large colorspace contains imaginary colors, which is a mathematical ghost employed by color scientists. Your eyes never see imaginary colors (it is a ghost!), but it is valuable for color science and engineering.

Complicated mapping

Let’s back to mapping.

Perceptual and Saturation are complicated mapping types. They displace colors to jam out-of-gamut colors into device gamut. ‘Out-of-gamut colors’… What range (gamut) should we jam? Whole PCS? But it contains imaginary colors. So, all non-imaginary colors in PCS? But it wastes overall quality in vain. The larger supposed gamut is, the larger displacement is, the worse overall quality is. sRGB’s gamut is far far far smaller than all non-imaginary colors’.

I guess you know most printing system profiles don’t show the problem. They implicitly suppose a common colorspace like Adobe RGB. If you consistently adopt Adobe RGB for all your cameras and scanners, it is a good idea. But recent iPhone’s camera uses Display P3. Of course, your clients often pass you sRGB images.

So I decided to prepare separate profiles for each source colorspaces and show it in profile name as @sRGB / @Adobe RGB / @Display P3. It is especially beneficial for sRGB source image. Many printing system profiles suppose Adobe RGB, but sRGB’s gamut is far smaller than Adobe RGB’s.

Then, source colorspace is irrelevant on Colorimetric conversion? No.

Please remind about ‘undefined area’ of Colorimetric mapping. Smoothing over out-of-gamut failure isn’t free of charge. The larger smoothing area is, the lower precision of in-gamut conversion is. I decided to limit smoothing area to source colorspace. Even when you use Colorimetric conversion, care about source colorspace.

In RAW processing, export by Adobe RGB first. Most RAW capable cameras are optimized for Adobe RGB.

From the waste basket of history

By the way…

ICC profile version 4 tried to solve the problem. The technique is ‘Perceptual Reference Medium Gamut (PRMG).’ It was a pragmatic solution for common cases at that time (2001). It may be in use now, but not accepted as a de facto standard. Zygomatic Color provides ICC profile version 2.4.0.

Windows Color System (WCS) also tried to solve the problem by cdmp / gmmp. The architecture was potentially an ideal solution, but the implementation was desperately poor. No one uses it now.