Friday, February 15, 2008

Monitors with internal LUTs

Once a while there's a post on the openicc list that deals with (pretty expensive) TFT displays that have internal LUTs for color calibration. But what's behind all this and how does it help users if there are already tools that can calibrate monitors? The answer to the latter one is: you typically do not calibrate your monitor but the graphics adapter inside your PC - except you have a monitor with internal LUTs and calibration software like basiccolor display that knows how to handle these.

Before continuing here, we should talk about the displays. There are actually only a few displays that have an internal LUT - oh, wait, no: they allow setting the internal LUT - probably every display has an internal LUT. But the ones that expose them are typically high-end displays. The LUT of the monitor can then be set either via the monitor cable (VGA, DVI, whatever) or with a separate USB connection. The monitor cable solution was chosen by NEC whereas Eizo decided a USB connection would be better.

But what's the benefit of exposing the monitor's internal LUT? Well, the LUT is already used to adapt the TFT panel to a curve that is approximately what the user expects (sRGB) - therefore it's quite obvious that using only one LUT in the data flow can provide much better quality than one LUT inside the video card and another one in the monitor. Another advantage is the higher bit depth of the monitor internal LUTs - they are typically 10-12bits per channel (red, green and blue) whereas the LUT inside the video card is already limited by the 8bit nature of current operating systems and the DVI connection to the display that is also 8bits.

Still, this is just a rough overview for what I wanted to say: There's a demand for setting the monitor LUTs from operating systems for improved fidelity. This would be the much better alternative to monitor calibration loaders like xcalib and dispwin.

The first step is done already (at least for high-end NEC monitors): The protocol that NEC uses to set (and get) the LUTs of the display is DDC/CI, which is again based on the standard I2C bus protocol. A DDC/CI tool is also alread in place, ddccontrol. I hope that the folks working on this tool know that their work could be used for much more. Let's wait and see!