Steve on Image Processing with MATLAB

Image processing concepts, algorithms, and MATLAB

ICC DevCon 2008

I just returned from spending a few days in Portland, Oregon. Monday was ICC DevCon 2008. ICC is the International Color Consortium, an organization responsible for the color profile spec, known as either ISO 15076-1:2005 or ICC.1:2004-10. (The MathWorks is a corporate member of ICC and a sponsor of DevCon 2008.) Roughly speaking, a color profile file characterizes color reproduction properties of a device. Given a pair of profiles for an input device and an output or display device, a color management modules can make the necessary computations to achieve a good color reproduction.

A fascinating mix of people from a variety of companies attended ICC DevCon. There were people from computer, printer, camera, and copier manufacturers; software makers (like us!); professional photographers; digital cinema experts; and even a greeting card publisher.

We heard presentations about a variety of technical topics, including:

  • Insights into the design and use of a color management module
  • Color management APIs in Mac OS
  • Early efforts to build color management APIs for Linux
  • Color in PDF files for the graphic arts community
  • Measuring a device's color characteristics
  • Efficient, accurate math computations for ICC profile
  • ICC spec updates related to floating point
  • New tools for getting more pleasing output from images in the sRGB color space
  • Tips and pitfalls related to "soft proofing"

It didn't take me very long to start muttering "Color science makes my brain hurt." (But it's so fascinating that I keep trying to understand it anyway!) Here are some typical examples illustrating why it can be very hard to do color science and color engineering well:

  • Craig Revie, from FujiFilm, gave a talk about how the PDF/X-4 standard provides a framework that enables colored elements can be reproduced well on different output devices and media. He gave an example of two overlapping shapes, one colored cyan and the other colored magenta. Suppose you want to print this page under two different printing conditions (that is, different printers, inks, and paper). You can adjust the colors of the two shapes so that they appear very similar under both printing conditions. However, that doesn't guarantee that the color of the overlapping region will be similar. That means you have to detect and process independently the overlapping regions.
  • William Li, who works at Kodak and is ICC Chair, talked about soft proofing. This is process of simulating on a monitor what a color document will look like when printed. I was surprised to learn from William that many LCD panels exhibit significant, visible color differences from one corner to the opposite corner.
  • William also showed a page inside two different viewing booths. Despite the fact that both booths advertised identical illumination, the background of the page looked blue in one and purple in the other.

After a day of discussion of the various challenges facing the industry, an audience member from Fogra tried to put things in perspective with a little color science humor: In the last 10-15 years, he said, we've gone from "different colors to color differences." Interpretation: today we may find that our color reproduction sometimes still not quite right, but that's a big improvement from not too long ago, when it was often completely wrong.

I'd like to thank everyone who talked with us at lunch and during the evening reception. We learned a lot from you, and you gave us many good suggestions about what we might do better in MATLAB and the Image Processing Toolbox.

  • print
  • send email


To leave a comment, please click here to sign in to your MathWorks Account or create a new one.