EE 638: Principles of Digital Color Imaging Systems Lecture 16: Monitor Characterization and Calibration – Advanced Methods
Monitor Characterization Method Using Multiple Non-square Matrices Thanh Ha and Satyam Srivastava (2009) Now with KLA-Tencor Now with Intel
Traditional basic monitor model Forward monitor model Inverse monitor model. (“-1” implies an inverse process)
Forward monitor model using multiple non-square matrices MN, MR, MG, MB are 3x11matrices trained with only colors from Neutral, Red, Green, and Blue classes, respectively. During the training process, only MN is set subject to constraint to map exactly RGB→XYZ for white color.
Haneishi’s color classification method Step 1: For a given RGB, compute r, g, and b. Step 2: Compute the p, q coordinates on the pq plane. Step 3: Color cube is classified on the pq plane RGB Plane R+G+B=const 5
Framework for developing a non-square matrix for a color class C Objective: minimize ∆E over the training set For Neutral class, constraint is set to guarantee that white color [255 255 255] is transformed correctly 6
Testing error statistics for forward models
Inverse monitor model using multiple non-square matrices MN*, MR*, MG*, MB* are 3x11matrices trained with only colors from Neutral*, Red*, Green*, and Blue* classes, respectively. During the training process, only MN is set constraint to map exactly XYZ→RGB for white color.
XYZ classification method Step 1: For a given XYZ compute x, y, and z. Step 2: Based on position of a color on xy diagram, determine the color class to which that color belongs. 9
Framework for developing a non-square matrix for a color class C* Objective: minimize ∆E over the training set Forward model is embedded into the training framework. For class N*, constraint is set to guarantee white color is transformed correctly. 10
Testing error statistics for inverse models
White point adjustment White point adjustment (done before calibration) Monitor white usually have a relatively high correlated color temperature >>6500 K (D65), 5500 K (D50) To display some other white point (say lower T) reduce B and maybe G. May want to do this anyway to make behavior correspond better to model: Choose Ymax Choose Chromaticity of desired white point (xw, yw)
Simplified White Point Correction Framework Replace (R,G,B) monitor input by an adjusted (R,G,B) monitor input (Radj, Gadj, Badj). Note that (R, G, B) = (255, 255, 255) is the white point of the monitor
Recap: Monitor characterization with white-point correction Step 1: Determine the desired reference white (D65 chromaticity coordinates, highest luminance, inside the gamut of the monitor). Step 2: Develop the white balancing (source RGB→white balanced RGB) in absolute linear RGB space. Step 3: Develop the model for predicting CIE XYZ from a given nonlinear RGB using white point correction.
Recap step 1: Method for determining desired reference white for a monitor Use a calibration model to search for the desired reference white. XYZ Fix xy to D65, gradually decrease luminance until obtaining RGBnonl whose three components (R, G, and B) are in range [0-255] in the output. Use PR-705 to search among the neighbors of the white found by using calibration model (coarse result) for the better desired white (refined result). This search can be implemented automatically.
Recap step 2: White balancing in absolute linear RGB space Objective: Map neutrals with respect to the native white to neutrals with respect to the corrected (or desired) white White Balancing Module — Native nonlinear RGB — White balanced nonlinear RGB — Absolute linear RGB of the native monitor white — Absolute linear RGB of desired white