Embodiments of the present invention comprise methods and systems for efficient white balance and gamma control of liquid crystal displays (LCDs).
A typical LCD display comprises an array of pixels, which are subdivided into sub-pixels that correspond to red, green and blue colors. Each sub-pixel may be addressed with a value that varies the intensity of that color. Various combinations of sub-pixel value can be used to create different colors. Typically, when all sub-pixels are addressed at somewhere near their maximum values, the color white is produced. However, different viewers may have a different perception of what white should look like. Also, various applications may require different “shades” of white to appear natural or to reproduce the light of a particular scene. For these reasons and others, the values that create a “white” pixel color may need to be adjusted. This process may be called a “white balance” process.
While some displays, such as television displays, used for casual viewing may not require precise white balance adjustment, displays used for professional purposes, such as colorimetric displays and displays used for benchmark comparison, require precise white balance adjustment.
Some embodiments of the present invention comprise systems and methods for improving white balance processes by controlling the gamma table of the three primary color channels. These embodiments may provide white balance control as well as independent control of color channel gamma curves. Some embodiments may comprise a calibration step to control the chromaticity of the white point.
Embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The figures listed above are expressly incorporated as part of this detailed description.
It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the methods and systems of the present invention is not intended to limit the scope of the invention but it is merely representative of the presently preferred embodiments of the invention.
Elements of embodiments of the present invention may be embodied in hardware, firmware and/or software. While exemplary embodiments revealed herein may only describe one of these forms, it is to be understood that one skilled in the art would be able to effectuate these elements in any of these forms while resting within the scope of the present invention.
Some embodiments of the present invention relate to devices that display, measure or reproduce color with multiple color channels. Some embodiments may relate to reproduction devices, such as scanners and cameras, which quantize and record colors detected on media. Some embodiments may comprise display devices, such as Cathode Ray Tube (CRT) monitors and Liquid Crystal Display (LCD) devices, which display color images that have been digitized.
Colors used in these devices may be characterized by coordinates in a standard color space. An exemplary color space is illustrated by the CIE (Commission Internationale d'Eclairage) 1931 chromaticity diagram, shown in
Some embodiments of the present invention comprise methods and systems for deriving a color mixing model for a display or other device. For a display device, this may be performed by displaying the primary colors, e.g., red, green and blue, as well as black and white and measuring the displayed output with a calorimeter. In some embodiments, matrices may be derived from the measured output. In some embodiments, one matrix may represent the conversion from normalized RGB values to XYZ values and another matrix may represent the conversion from XYZ to normalized RGB. These matrices are shown as equations 1 and 2 below.
In some embodiments, the tone scale or gamma curve of a device may be measured to determine the appropriate gamma value to be used for the device. However, for many devices, such as LCD displays for personal computers or televisions, a gamma of 2.2 may be assumed. Other gamma values may be standard for other applications as well.
Some embodiments of the present invention comprise white point calibration or white point determination, wherein the brightest driving values that will produce the reference white point's chromaticity are determined. In some embodiments, the color produced when all color channels are displayed at maximum values, e.g. r=255, g=255, b=255, is displayed and the display is measured with a colorimeter. If the chromaticity is not within a given tolerance of the target chromaticity, an iterative loop may be used to find the maximum color values that will produce the target chromaticity.
Some embodiments of the present invention may be described with reference to
If the differences between the target chromaticity coordinates and the measured chromaticity coordinates are more than a chromaticity tolerance 32, the color channel code values may be adjusted 34 to bring the displayed/measured chromaticity closer to the target reference chromaticity. In some embodiments, new color channel code values may be determined by adjusting previous color channel code values in proportion to the differences 31 measured above. In some embodiments, new color channel values may be determined 34 by methods comprising multiplying an XYZ to RGB conversion matrix (e.g., from equation 2) with the column vector shown as equation 3:
where X, Y and Z are measured values based on the previously displayed color channel values and x0 and y0 are target reference white point chromaticity coordinates.
In some embodiments, new color channel values may be determined 34 with equation 4
wherein R, G and B are linearized color channel values (e.g., R=(r/255)γ); XYZ2RGB is an XYZ to RGB conversion matrix (e.g., from equation 2); X, Y and Z are measured values based on the previously displayed color channel values and x0 and y0 are target reference point chromaticity coordinates.
In some embodiments, these linearized color channel values may be converted 35 to code domain values for use on the display. In some embodiments this may be performed using equations 5-7.
In some embodiments, these color channel code values may then be displayed 36 and the output measured to determine the chromaticity of the displayed color. The measured values resulting from display of the adjusted color channel code values may then be compared to the target reference chromaticity 31 and the differences may be checked to determine whether they are within tolerance 32. This adjustment process may be repeated until color channel values are found that fall within the specified tolerance thereby determining the color channel values that correspond to the selected white point 33.
This process may be repeated for each incremental value along a gamma curve, but such a procedure would be very calculation intensive and time consuming. Therefore, in some embodiments, control points may be selected between which interpolation may be performed to fill in the gaps. If we assign the variable, gli, to represent the gray level for a control point, the target XYZ values can be obtained with equation 8.
Where gli is the gray level of the control point; Xi, Yi and Zi are target coordinates; Yw is the luminance value of the reference white point; γ is the target gamma value and x0 and y0 are target reference point chromaticity coordinates
Once control point intervals are determined, color balance and gamma control may be performed for each control point location. In some embodiments, an iterative process may be used to find a set of rgb values that satisfy chromaticity and gamma constraints. Some embodiments may be described with reference to
Differences between the displayed output and the target values may then be determined 43. If one or more or some combination of these differences is less than a given tolerance 44, the color channel code values may be used as the coordinates for the control point 45. If one or more or some combination of these differences is greater than a given tolerance 44, the color channel code values may be adjusted 46 to reduce the differences. In some embodiments, this color channel code value adjustment may comprise multiplying an XYZ to RGB transfer function by a column vector of differences between XYZ target values, Xi, Yi and Zi, and current measured output values, X, Y and Z. In some embodiments, this adjustment may comprise determining linearized color channel difference values. In some embodiments, this process may comprise using equation 9 to calculate linearized color channel difference values.
Wherein ΔR, ΔG and ΔB are linearized color channel difference values (e.g., R=(r/255)γ); XYZ2RGB is an XYZ to RGB conversion matrix (e.g., from equation 2); X, Y and Z are measured values based on the previously displayed color channel values; Xi, Yi and Zi, are control point target values and x0 and y0 are target reference point chromaticity coordinates.
This adjustment may further comprise conversion of the linearized color channel differences, ΔR, ΔG and ΔB, to the code domain 47. In some embodiments, this process may comprise using equations 10-12.
Wherein
and cvmax is 255 for an 8 bit system; ΔR, ΔG and ΔB are linearized color channel difference values; Δr, Δg and Δb are code domain color channel difference values and γ is a display target gamma value.
In some embodiments, once the code domain color channel code difference values are determined, they may be used to adjust 48 the previously used color channel code values for the control point. These adjusted color channel code values may then be displayed on the display where they can be measured with a calorimeter or similar device. The difference between the measured chromaticity produced with the adjusted color channel code values and the target chromaticity may be determined 43 and this process may iterate until the measured values are within tolerance 44.
The processes described above may result in control points that define one or more gamma correction curves as shown in
The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention in the use of such terms and expressions of excluding equivalence of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.