• Please use real names.

    Greetings to all who have registered to OPF and those guests taking a look around. Please use real names. Registrations with fictitious names will not be processed. REAL NAMES ONLY will be processed

    Firstname Lastname


    We are a courteous and supportive community. No need to hide behind an alia. If you have a genuine need for privacy/secrecy then let me know!
  • Welcome to the new site. Here's a thread about the update where you can post your feedback, ask questions or spot those nasty bugs!

About color lookup tables (CLUTs)

Doug Kerr

Well-known member
Color lookup tables (CLUTs) may be involved in display chain color management in two ways. It is easy to get confused between the two, a part of the common confusion between two aspects of display color management. They are often just spoken of as lookup tables (LUT). I will use the latter term here for consistency with familiar other writings

The basic role of a color lookup table

In general a color lookup table is multidimensional table which takes an RGB triple and converts it to anther RGB triple. It basically remaps the coordinates of a color space. The exact nature of the remapping is determined by the numerous constants in the table.

One place we find a LUT is in the "video card" that drives our display system "monitor". It is used to remap the color coordinates from those of the "input" color space the display system is supposed to follow (perhaps sRGB) into to the coordinates needed to control the monitor mechanism itself.

This is needed, among other things, in that the three dot colors may not be the same as the primaries prescribed for the input color space, and also to mediate between the nonlinear nature of the input coordinates and the actual response curve of the display mechanism.

The overall "monitor calibration" process

Suppose we use a "monitor calibration" system such as one of the "Spyder" systems. When we run the whole process, we actually do two distinct things:

Monitor calibration

In this stage, the calibration system populates the LUT in the video card so that the display system, as near as it can be done in this way, exhibits the desired color rendering performance (which may be to follow a certain color space, perhaps sRGB). This result is generally a bit imperfect.

Note that we can speak of the "color space of the calibrated monitor" (probably not exactly the intended standard color space, such as sRGB). We will encounter this concept later.

Display profiling

In this stage, the (perhaps slightly imperfect) performance of the display system, as calibrated in the first stage, is determined precisely and a "profile" developed which will allow "profile-aware" applications to precompensate for the residual imperfections so as to very-precisely cause the proper rendering of colors on the display.

This profile, in a standard form prescribed by the International Color Consortium, is stored in a file we call an "ICC profile file".

Saving the monitor LUT information

The data that is implanted in the video card LUT to implement the "calibration" of the monitor must be available when the computer is restarted so it can be freshly implanted in the video card LUT. (The LUT is typically volatile or in any case will be reset to "factory" settings when the video card is initialized.)

This information is not a part of the ICC profile for the display (which is used by profile-aware applications to deal precisely with the display chain "as it is, calibrated"). But in fact there is provision for a "caboose" to the ICC profile file that can be used to hold the monitor LUT information.

(You can see why it is easy to get confused here if these things are too-casually described!)

Loading the LUT information

When the computer system is (re)started, the LUT data stored in the caboose of the applicable ICC profile file is loaded into the LUT of the video card either:

• By the operating system (in Windows, this is possible for Windows 7 and up, but has to be turned on).

• By an automatically-started utility program typically provided as part of the software suite of the monitor calibration system. (For the Spyder system, this is one function of the "Spyder Utility.)

The other LUT

The ICC profile itself for the display system is used by a profile-aware application to transform the colors to be displayed from an intermediate color space called the profile connection space (PCS) to the "color space" of the monitor as calibrated.

One way to define this transform (perhaps the most through and precise way) is with an LUT.

Thus the monitor ICC profile itself may contain an LUT (not at all the same as the monitor LUT data saved in the ICC profile file "caboose").


Best regards,