U.S. patent application number 10/821386 was filed with the patent office on 2005-10-13 for systems and methods for selecting a white point for image displays.
This patent application is currently assigned to Clairvoyante, Inc.. Invention is credited to Brown Elliott, Candice Hellen, Higgins, Michael Francis.
Application Number | 20050225561 10/821386 |
Document ID | / |
Family ID | 35060097 |
Filed Date | 2005-10-13 |
United States Patent
Application |
20050225561 |
Kind Code |
A1 |
Higgins, Michael Francis ;
et al. |
October 13, 2005 |
Systems and methods for selecting a white point for image
displays
Abstract
Several embodiments of the present application disclose
techniques, systems and methods for changing or rendering input
image data that may assume a first white point for a given display
into image data to be rendered under a second--assumed, desired or
measured--white point of the display.
Inventors: |
Higgins, Michael Francis;
(Duncan Mills, CA) ; Brown Elliott, Candice Hellen;
(Vallejo, CA) |
Correspondence
Address: |
CLAIRVOYANTE, INC.
874 GRAVENSTEIN HIGHWAY SOUTH, SUITE 14
SEBASTOPOL
CA
95472
US
|
Assignee: |
Clairvoyante, Inc.
Sebastopol
CA
|
Family ID: |
35060097 |
Appl. No.: |
10/821386 |
Filed: |
April 9, 2004 |
Current U.S.
Class: |
345/600 |
Current CPC
Class: |
G09G 5/02 20130101 |
Class at
Publication: |
345/600 |
International
Class: |
G09G 005/02 |
Claims
What is claimed is:
1. A method for converting image data from a first white point of a
display to a second white point, the steps of said method
comprising: solving for the weighting coefficients that relate the
first white point coefficients and said second white point; mapping
color values utilizing said first white point, said color values
derivable from said weighting coefficients, into another set of
color values; converting input image data into output image data in
using said mapping.
2. The method of claim 1 wherein said first white point is an
assumed white point of said display.
3. The method of claim 1 wherein said first white point is a
measured tri-stimulus white point of said display.
4. The method of claim 1 wherein said second white point is a
desired white point of said display.
5. The method of claim 1 wherein said second white point is the
white point with only white subpixels turned on.
6. The method of claim 1 wherein said method further comprises the
step of dynamically changing the weighting coefficients according
to user preference.
7. A method for changing the chromaticity triangle calculations for
input image data, the steps of said method comprising: converting
input image data to a first color space, said first color space
having substantially the same white point as the display;
calculating the chromaticity triangle of the converted input image
data.
8. The method of claim 7 wherein said input image data is in sRGB
format.
9. The method of claim 8 wherein said sRGB input values are
converted into values that have substantially the same white point
as the display.
10. The method of claim 9 wherein said converted values have their
chromaticity triangles calculated.
11. A method of calculating chromaticity triangles of input image
data, the steps of said method comprising: constructing a plurality
of Boolean tests to determine the chromaticity triangle of any
input image data; applying a correction for said Boolean tests
depending upon the desired white point of the display.
Description
BACKGROUND
[0001] In commonly owned U.S. patent applications: (1) U.S. patent
application Ser. No. 09/916,232 ("the '232 application"), entitled
"ARRANGEMENT OF COLOR PIXELS FOR FULL COLOR IMAGING DEVICES WITH
SIMPLIFIED ADDRESSING," filed Jul. 25, 2001; (2) U.S. patent
application Ser. No. 10/278,353 ("the '353 application"), entitled
"IMPROVEMENTS TO COLOR FLAT PANEL DISPLAY SUB-PIXEL ARRANGEMENTS
AND LAYOUTS FOR SUB-PIXEL RENDERING WITH INCREASED MODULATION
TRANSFER FUNCTION RESPONSE," filed Oct. 22, 2002; (3) U.S. patent
application Ser. No. 10/278,352 ("the '352 application"), entitled
"IMPROVEMENTS TO COLOR FLAT PANEL DISPLAY SUB-PIXEL ARRANGEMENTS
AND LAYOUTS FOR SUB-PIXEL RENDERING WITH SPLIT BLUE SUB-PIXELS,"
filed Oct. 22, 2002; (4) U.S. patent application Ser. No.
10/243,094 ("the '094 application), entitled "IMPROVED FOUR COLOR
ARRANGEMENTS AND EMITTERS FOR SUB-PIXEL RENDERING," filed Sep. 13,
2002; (5) United. States patent application Ser. No. 10/278,328
("the '328 application"), entitled "IMPROVEMENTS TO COLOR FLAT
PANEL DISPLAY SUB-PIXEL ARRANGEMENTS AND LAYOUTS WITH REDUCED BLUE
LUMINANCE WELL VISIBILITY," filed Oct. 22, 2002; (6) U.S. patent
application Ser. No. 10/278,393 ("the '393 application"), entitled
"COLOR DISPLAY HAVING HORIZONTAL SUB-PIXEL ARRANGEMENTS AND
LAYOUTS," filed Oct. 22, 2002; (7) U.S. patent application Ser. No.
01/347,001 ("the '001 application") entitled "IMPROVED SUB-PIXEL
ARRANGEMENTS FOR STRIPED DISPLAYS AND METHODS AND SYSTEMS FOR
SUB-PIXEL RENDERING SAME," filed Jan. 16, 2003, each of which is
herein incorporated by reference in its entirety, novel sub-pixel
arrangements are disclosed for improving the cost/performance
curves for image display devices.
[0002] For certain subpixel repeating groups having an even number
of subpixels in a horizontal direction, the following systems and
techniques to affect improvements, e.g. proper dot inversion
schemes and other improvements, are disclosed and are herein
incorporated by reference in their entirety: (1) U.S. patent
application Ser. No. 10/456,839 entitled "IMAGE DEGRADATION
CORRECTION IN NOVEL LIQUID CRYSTAL DISPLAYS"; (2) U.S. patent
application Ser. No. 10/455,925 entitled "DISPLAY PANEL HAVING
CROSSOVER CONNECTIONS EFFECTING DOT INVERSION"; (3) U.S. patent
application Ser. No. 10/455,931 entitled "SYSTEM AND METHOD OF
PERFORMING DOT INVERSION WITH STANDARD DRIVERS AND BACKPLANE ON
NOVEL DISPLAY PANEL LAYOUTS"; (4) U.S. patent application Ser. No.
10/455,927 entitled "SYSTEM AND METHOD FOR COMPENSATING FOR VISUAL
EFFECTS UPON PANELS HAVING FIXED PATTERN NOISE WITH REDUCED
QUANTIZATION ERROR"; (5) U.S. patent application Ser. No.
10/456,806 entitled "DOT INVERSION ON NOVEL DISPLAY PANEL LAYOUTS
WITH EXTRA DRIVERS"; (6) U.S. patent application Ser. No.
10/456,838 entitled "LIQUID CRYSTAL DISPLAY BACKPLANE LAYOUTS AND
ADDRESSING FOR NON-STANDARD SUBPIXEL ARRANGEMENTS"; (7) U.S. patent
application Ser. No. 10/696,236 entitled "IMAGE DEGRADATION
CORRECTION IN NOVEL LIQUID CRYSTAL DISPLAYS WITH SPLIT BLUE
SUBPIXELS", filed Oct. 28, 2003; and (8) U.S. patent application
Ser. No. 10/807,604 entitled "IMPROVED TRANSISTOR BACKPLANES FOR
LIQUID CRYSTAL DISPLAYS COMPRISING DIFFERENT SIZED SUBPIXELS",
filed Mar. 23, 2004.
[0003] These improvements are particularly pronounced when coupled
with sub-pixel rendering (SPR) systems and methods further
disclosed in those applications and in commonly owned U.S. patent
applications: (1) U.S. patent application Ser. No. 10/051,612 ("the
'612 application"), entitled "CONVERSION OF RGB PIXEL FORMAT DATA
TO PENTILE MATRIX SUB-PIXEL DATA FORMAT," filed Jan. 16, 2002; (2)
U.S. patent application Ser. No. 10/150,355 ("the '355
application"), entitled "METHODS AND SYSTEMS FOR SUB-PIXEL
RENDERING WITH GAMMA ADJUSTMENT," filed May 17, 2002; (3) U.S.
patent application Ser. No. 10/215,843 ("the '843 application"),
entitled "METHODS AND SYSTEMS FOR SUB-PIXEL RENDERING WITH ADAPTIVE
FILTERING," filed Aug. 8, 2002; (4) U.S. patent application Ser.
No. 10/379,767 entitled "SYSTEMS AND METHODS FOR TEMPORAL SUB-PIXEL
RENDERING OF IMAGE DATA" filed Mar. 4, 2003; (5) U.S. patent
application Ser. No. 10/379,765 entitled "SYSTEMS AND METHODS FOR
MOTION ADAPTIVE FILTERING," filed Mar. 4, 2003; (6) U.S. patent
application Ser. No. 10/379,766 entitled "SUB-PIXEL RENDERING
SYSTEM AND METHOD FOR IMPROVED DISPLAY VIEWING ANGLES" filed Mar.
4, 2003; (7) U.S. patent application Ser. No. 10/409,413 entitled
"IMAGE DATA SET WITH EMBEDDED PRE-SUBPIXEL RENDERED IMAGE" filed
Apr. 7, 2003, which are hereby incorporated herein by reference in
their entirety.
[0004] Improvements in gamut conversion and mapping are disclosed
in commonly owned and co-pending U.S. patent applications: (1) U.S.
patent application Ser. No. 10/691,200 entitled "HUE ANGLE
CALCULATION SYSTEM AND METHODS", filed Oct. 21, 2003; (2) U.S.
patent application Ser. No. 10/691,377 entitled "METHOD AND
APPARATUS FOR CONVERTING FROM SOURCE COLOR SPACE TO RGBW TARGET
COLOR SPACE", filed Oct. 21, 2003; (3) U.S. patent application Ser.
No. 10/691,396 entitled "METHOD AND APPARATUS FOR CONVERTING FROM A
SOURCE COLOR SPACE TO A TARGET COLOR SPACE", filed Oct. 21, 2003;
and (4) U.S. patent application Ser. No. 10/690,716 entitled "GAMUT
CONVERSION SYSTEM AND METHODS" filed Oct. 21, 2003 which are all
hereby incorporated herein by reference in their entirety.
[0005] Additional advantages have been described in (1) U.S. patent
application Ser. No. 10/696,235 entitled "DISPLAY SYSTEM HAVING
IMPROVED MULTIPLE MODES FOR DISPLAYING IMAGE DATA FROM MULTIPLE
INPUT SOURCE FORMATS", filed Oct. 28, 2003 and (2) U.S. patent
application Ser. No. 10/696,026 entitled "SYSTEM AND METHOD FOR
PERFORMING IMAGE RECONSTRUCTION AND SUBPIXEL RENDERING TO EFFECT
SCALING FOR MULTI-MODE DISPLAY" filed Oct. 28, 2003.
[0006] Additionally, these co-owned and co-pending applications are
herein incorporated by reference in their entirety: (1) U.S. patent
application Ser. No. ______ [ATTORNEY DOCKET NUMBER 08831.0064]
entitled "SYSTEM AND METHOD FOR IMPROVING SUB-PIXEL RENDERING OF
IMAGE DATA IN NON-STRIPED DISPLAY SYSTEMS"; (2) U.S. patent
application Ser. No. ______ [ATTORNEY DOCKET NUMBER 08831.0066]
entitled "NOVEL SUBPIXEL LAYOUTS AND ARRANGEMENTS FOR HIGH
BRIGHTNESS DISPLAYS"; (3) U.S. patent application Ser. No. ______
[ATTORNEY DOCKET NUMBER 08831.0067] entitled "SYSTEMS AND METHODS
FOR IMPROVED GAMUT MAPPING FROM ONE IMAGE DATA SET TO ANOTHER"; (4)
U.S. patent application Ser. No. ______ [ATTORNEY DOCKET NUMBER
08831.0068] entitled "IMPROVED SUBPIXEL RENDERING FILTERS FOR HIGH
BRIGHTNESS SUBPIXEL LAYOUTS"; which are all hereby incorporated by
reference. All patent applications mentioned in this specification
are hereby incorporated by reference in their entirety.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings, which are incorporated in, and
constitute a part of this specification illustrate exemplary
implementations and embodiments of the invention and, together with
the description, serve to explain principles of the invention.
[0008] FIG. 1 is a chromaticity diagram showing measurements of an
RGBW display.
[0009] FIG. 2 is a chromaticity diagram showing several common
standard white-points.
[0010] FIG. 3 is a diagram showing two chromaticity triangles
comprising two different white points respectively.
[0011] FIG. 4 shows a slice through the RGB color cube.
[0012] FIG. 5 shows a corrected slice through the RGB color
cube.
DETAILED DESCRIPTION
[0013] Reference will now be made in detail to implementations and
embodiments, examples of which are illustrated in the accompanying
drawings. Wherever possible, the same reference numbers will be
used throughout the drawings to refer to the same or like
parts.
[0014] The white point of an image display does not always turn out
to be a desirable color. This can be corrected by changing the
color temperature of the backlight but that could be expensive.
Additionally, some monitors have a user control that allows
changing the white point to make all images display "warmer" or
"cooler". The several embodiments of the present invention
disclosed herein show systems and methods of changing the white
point to any desired color without needing to change the backlight.
The present embodiments and techniques are applicable to a full
range of image displays--in particular, multi-primary displays,
RGBW displays, as well as RGB primary displays. In the case of
multi-primary and RGBW systems, these systems typically use
conversion matrices, and changing such matrices may effect a change
in the white point of a display--without the need for an expensive
change in the backlight.
[0015] The difference between the measured and desired white point
of a display could potentially introduce errors into chromaticity
triangle number calculation. This might result in the wrong
conversion being applied to some input colors. The present
invention described herein substantially corrects for this error,
as will be disclosed below.
[0016] Choosing the Correct White Point:
[0017] In the case of a multi-primary system that includes a white
sub-pixel, there may be multiple white points from which to choose.
FIG. 1 depicts a standard chromaticity diagram wherein envelope 102
represents the spectral locus and the "line of purples" that
encloses all the observable colors. Within this envelope 102, a
triangular region 104 represents a typical monitor gamut which
encloses all of the colors that might be displayable by a monitor,
television or some other image rendering device. The region 104 is
depicted here as triangular--primarily assuming that the image
display device employs three primary color points: red 106, green
108, and blue 110 apart from a white subpixel.
[0018] Within this region, there are at least two measurable white
points--white point 112 (herein called the "AW" point) which arises
from all three colored primaries turned on; and white point 114
(herein called the "SW" point) which arises from turning on only
the white subpixels. Additionally, there may be yet another
"desired" white point 116 (e.g. D65). Depending upon the intent,
these three different white points may each be used for different
purposes. For one example, a white point may be desired because it
is the assumed white point of the input image data. This white
point may be different from the measured white point of the image
display.
[0019] Using RGBW as an example, the following equation is the
constraint used to numerically solve for the C weighting
coefficients: 1 [ ( x r C r + x g C g + x b C b + x SW C w ) 2 ( y
r C r + y g C g + y b C b + y SW C w ) 2 ( z r C r + z g C g + z b
C b + z SW C w ) 2 ] = [ ( AW X ) 2 ( AW Y ) 2 ( AW Z ) 2 ]
Equation 1
[0020] The notation x.sub.SW, y.sub.SW and z.sub.SW refer to the CE
xyz chromaticity values for the SW measured white sub-pixel. While
the notation AW.sub.X, AW.sub.Y and AW.sub.Z refer to the CIE XYZ
tri-stimulus values for the AW measured white with all the
primaries on full.
[0021] Equation 1 may be used to solve for the values of the
C.sub.r C.sub.g C.sub.b and C.sub.w weighting coefficients, then
these may be used with the primary chromaticity values to create an
equation to convert RGBW values into CIE XYZ tri-stimulus values.
For a multi-primary system with more primaries, there would simply
be more "columns" in the equation. For example, a display with a
cyan primary would have measured chromaticity values x.sub.c
y.sub.c and z.sub.c. Then there would also be an additional weight
coefficient C.sub.c to solve for. In the case of a multi-primary
display without a white sub-pixel, there would be no column with
x.sub.SW, y.sub.SW and z.sub.SW values and no C.sub.w coefficient
to solve for. It should be appreciated that the term "column" is
used loosely here. Equation 1 is a matrix with only one column in
it, but it is derived from a matrix with a separate column for each
primary.
[0022] The weight coefficients from equation 1 may be used to build
a matrix for converting RGBW (or other multi-primary systems) into
CIE XYZ. This in turn may be used to create a set of matrices for
converting CIE XYX value into RGBW (or other multi-primary
systems). These matrices may be combined with conversion matrices
that convert source data, for example sRGB, to and from CIE XYZ.
Then it is possible, with a single matrix multiply, to convert
source data directly to any multi-primary system.
[0023] Equation 1 uses the measured SW chromaticity of the white
sub pixel and the measured AW tri-stimulus values of the white
point. This produces the mathematically correct conversion, but
with results that sometimes may seem unexpected. For example, if
the input data is sRGB, then it has the D65 white point assumption.
However if the white point AW of a multi-primary display is not
D65, then the sRGB white value (255,255,255) will not result in a
multi-primary value of (255,255,255,255). It is usually expected
that the brightest possible input value to result in the brightest
possible output value. However, that "brightest possible" result
may not always give the correct color. If that color error is not
acceptable, one solution that has been used is to replace AW in
equation 1 with D65 resulting in the following equation: 2 [ ( x r
C r + x g C g + x b C b + x SW C w ) 2 ( y r C r + y g C g + y b C
b + y SW C w ) 2 ( z r C r + z g C g + z b C b + z SW C w ) 2 ] = [
( D65 X ) 2 ( D65 Y ) 2 ( D65 Z ) 2 ] Equation 2
[0024] When all the multi-primary matrices are re-calculated from
this starting point, the resulting matrices have the "expected"
result of converting sRGB (255,255,255) into the multi-primary
values (255,255,255,255). If the measured AW white point is
reasonably close to D65, this may be a reasonable approximation.
Also, if the backlight is modified until the measured AW white
point is in fact D65 then equation 2 is mathematically correct and
so is the "expected" result. However this may require a special
backlight that would add to the cost of the display.
[0025] Therefore, equation 1 may suffice as a starting point to
build the conversion matrices. For example, using the measured
chromaticity values from an RGBW panel in equation 1, when sRGB
(255,255,255) is the input color, one example might produce an RGBW
color of (176,186,451,451). This is out of gamut, so gamut clamping
or scaling may be used to bring it back into range. The result
after this step is (99,105,255,255). If this particular panel was
known to have a very "warm" or yellow white point, then this
conversion may work by leaving the white and blue sub-pixels on
full while decreasing the red and green sub-pixel values. There is
a color in sRGB that does map to the AW measured white point and
comes close to having all the multi-primaries on full. By using the
inverse conversion on the measured AW color and applying gamut
clamping as required the sRGB color closest to "full on" turned out
to be (255,244,135) on this particular RGBW display. This is a
bright yellow color, as expected from the observation and
measurement of the display white point.
[0026] Choosing a Desired White Point:
[0027] It is often desirable to have controls on a monitor to
change the "color temperature" of the display. For example, FIG. 2
depicts four possible desirable white points--D50, D55, D65, and
D75. It will be understood that this list is not exhaustive and
that there may be many other white points that could be "desired".
Backlights exist for LCD displays that have a computer-controllable
color temperature, but these are more expensive than fixed
backlights. Changing the color temperature is equivalent to
changing the desired white point of the display. Since the system
may already be doing conversions from the source sRGB color space
to the destination color space, the system may modify the
conversion matrices to convert to a different desirable white
point. When building our conversion matrices, it is possible to
combine the standard sRGB and CIE XYZ matrices. The standard sRGB
matrix is shown below: 3 R2X = ( 0.485041 0.348893 0.130287
0.250099 0.697786 0.052115 0.022736 0.697786 0.686177 ) Equation
3
[0028] The matrix in equation 3 may be generated using a standard
set of chromaticity values and the D65 white point. It is also
possible to re-calculate a conversion matrix that assumes a
different white point and use that instead of the standard matrix.
Below the steps that suffice are shown: 4 C = ( 0.6400 0.3000
0.1500 0.3300 0.6000 0.0600 0.0300 0.1000 0.7900 ) - 1 D50 Equation
4 R2X D50 = ( 0.6400 C r 0.3000 C g 0.1500 C b 0.3300 C r 0.6000 C
g 0.0600 C b 0.0300 C r 0.6000 C g 0.7900 C b ) Equation 5 5 R2X
D50 = ( 0.485041 0.348893 0.130287 0.250099 0.697786 0.052115
0.022736 0.697786 0.686177 ) Equation 6
[0029] In Equation 4, the matrix of standard chromaticity values
for sRGB can be inverted and multiplied by the D50 CIE XYZ vector,
for example, to produce the vector of weighting coefficients in one
step.
[0030] In Equation 5, these weighting coefficients are inserted
into the matrix of chromaticity values to produce a conversion
matrix in another step. This matrix, its values shown in Equation
6, will convert sRGB values to CIE XYZ tri-stimulus values with the
assumption that sRGB white will map to a desired white point, e.g.
D50. To generate the RGBW conversion matrices, the matrix from
Equation 6 may be used instead of the standard matrix from Equation
3. The result is a set of conversion matrices that convert sRGB to
the multi-primary display with the colors modified to have the D50
white point. This process may be done with any desired white point.
D50 is a "warmer" white point than the standard D65 white point.
There are other standard defined white points. D75 is "cooler" than
D65, D55 is between D50 and D65 in color temperature, Illuminant E
and K (not shown in FIG. 2) are both cooler than D75, etc.
[0031] There are several alternative ways to present these white
points in a monitor user interface. The conversion matrices for a
list of standard white points, for example the ones listed above,
could be pre-calculated and stored in a ROM or other computer
storage device. The user selects from a list of white points by
name. Selecting one causes the monitor to switch to the
corresponding set of matrices and all images displayed become
"warmer" or "cooler". Alternatively the matrices can be calculated
based on the black body temperature of the white point. A list of
color temperatures could be displayed for the user to select from.
If enough matrices are pre-calculated at small enough steps, the
user interface could give the illusion that the white point
temperature can be changed continuously. Finally, if the display
system has enough processing power to re-calculate the matrices on
the fly, the user interface can in fact calculate a new set of
conversion matrices every time the color temperature is
changed.
[0032] Correcting the Chromaticity Triangle for the White
Point:
[0033] In one embodiment, multi-primary conversion may employ
determining which chromaticity triangle an input color lies in and
using a different conversion matrix for each triangle. FIG. 3 shows
one example of a plurality of chromaticity triangles that are based
on two separate white points (302 and 304) and two color primaries.
In this example, white point 302 could represent the measured white
point while white point 304 might represent the desired white
point. One way of determining the chromaticity triangle is to
convert input colors to a separate chroma/luma colorspace,
calculate the hue angle, and look the triangle number up in a
table. However, if the white point of the display (e.g 302) is
different from the white point of the input data (e.g. 304), then
calculating the chromaticity triangles from the input data may
result in errors. Colors that are close to the input white point
may be assigned to the wrong chromaticity triangle. For example, as
may be seen in FIG. 3, color point 306 might be construed as being
contained within the triangle defined by white point 304 and color
primaries 106 and 108; whereas with white point 302, color point
306 would now be construed as being contained within the triangle
defined by white point 302 and color primaries 106 and 110.
[0034] One embodiment would be to convert the input colors to a
different color space that has the same white point as the display
and then calculate the chromaticity triangle. This solution may
require a 3.times.3 matrix multiply. The input data is presumed to
be sRGB, but any other input assumptions can be taken into account.
A conversion matrix may thus be generated. This process is similar
to the steps in equations 4 and 5 but using the AW measured white
point (e.g. white point 302) of the display: 6 C = ( 0.6400 0.3000
0.1500 0.3300 0.6000 0.0600 0.0300 0.1000 0.7900 ) - 1 AW Equation
7 R2X AW = ( 0.6400 C r 0.3000 C g 0.1500 C b 0.3300 C r 0.6000 C g
0.0600 C b 0.0300 C r 0.6000 C g 0.7900 C b ) Equation 8
[0035] Equation 7 calculates the weighting coefficients that are
used to create a conversion matrix in Equation 8. This matrix
converts from a three-valued color space (not to be confused with
the multi-primary color space) that has the measured white point
into CIE XYZ. The inverse of this matrix times the standard sRGB
matrix from Equation 3 will perform the conversion that suffices: 7
( R d G d B d ) = ( R2X AW ) - 1 R2X ( R G B ) Equation 9
[0036] In Equation 9, sRGB input values are converted to RdGdBd
values that have the same white point as the display. These values
may now be converted to chroma/luma, hue angle and chromaticity
triangle number with substantially accuracy. The R2X and inverted
R2X.sub.AW matrices can be combined into one pre-calculated matrix.
It should be noted that this conversion may not be needed when the
measured AW white point is close to D65.
[0037] Utilizing and Expanding Boolean Triangle Detector to
Different White Points:
[0038] Another embodiment for calculating chromaticity triangle
number for an RGBW multi-primary display may be effected by
performing Boolean operations on the source sRGB values. This may
be easier than the hue angle calculation, but it may have some
limitations with systems using other than the 3 RGB primary colors.
If the white-point is not taken into account, it might produce the
incorrect triangle number in some cases, unless the display white
point was D65 or the input values were corrected first, as
described above. The triangle number calculation involved Boolean
tests of the form:
[0039] if R<=B and G>=B then triangle=RGW.
[0040] Other such Boolean triangle tests are similarly constructed.
FIG. 4 depicts three-dimensional representation of the RGB color
space 400 defined by color primary points: red 402, green 404, and
blue 408. The Boolean tests divide the sRGB color space into halves
along planes in 3-space--for example, plane 410 represents an
imaginary plane wherein color points have R components equal to B
components (i.e. R=B). The first test, R<=B, tests for all the
input colors on one side of the plane that has the formula R=B, the
second formula divides the colors into all the colors above the
plane that has the formula G=B. Both of these planes pass through
black (0,0,0) white (255,255,255) and one of the primary colors
(e.g. green 404). The intersection of the two half-space volumes
above these planes is a volume that contains all the colors inside
one chromaticity triangle.
[0041] Using the general formula for a plane in 3D, it is possible
to construct the formula for planes that pass through other
white-points besides D65. For example, FIG. 5 shows a different
plane 502 which cuts through point 504 (e.g. the measured white
point AW). This would correct the calculations for displays with a
white-point that did not match the D65 assumption of input data.
Further, it is possible to generate formula for planes that pass
through other primary colors besides the Rec. 709 standard R G and
B points. It is also possible to add more planes and from the
chromaticity triangle number with any number of primary colors in a
multi-primary display. Equation 10 below is the three-point formula
for a plane in 3-space. 8 ( r g b 1 r 1 g 1 b 1 1 r 2 g 2 b 2 1 r 3
g 3 b 3 1 ) = 0 Equation 10
[0042] This determinant is zero for all points that lie on the
plane. If the = sign is replaced with an inequality such as
>=the formula splits 3-space into two halves. In one embodiment,
the planes may pass through black (0,0,0), through one of the
primaries, and through the white point. Plugging in 255 for each
primary and (255,255,255) for the white point are one possible set
of assumptions for the Boolean formula: 9 ( r g b 1 0 0 0 1 255 255
255 1 255 0 0 1 ) = 0 Equation 11 r g - b = 0 ( r g b 1 0 0 0 1 255
255 255 1 0 255 0 1 ) = 0 Equation 11 g b - r = 0 ( r g b 1 0 0 0 1
255 255 255 1 0 0 255 1 ) = 0 Equation 11 b r - g = 0
[0043] Equations 11r, 11g, and 11b reproduce the Boolean tests. It
is then possible to substitute different values for the white point
and make the formula work correctly when the white point is not the
standard one. Since the Boolean tests may be done in the input
color space, it may desirable, in one embodiment, to translate the
AW measured white point backwards into the sRGB space. From the CIE
XYZ values of AW, the inverse of the standard conversion matrix in
Equation 3 may perform this, or, alternatively, the inverse of the
transform done in Equation 9 from the values (255,255,255). Using
the example AW measured values from an RGBW display, if AW is
converted and gamut clamped to sRGB, the result is W=(255, 243,
135). It is possible to write down a general formula for any white
point: 10 ( r g b 1 0 0 0 1 W r W g W b 1 255 0 0 1 ) = 0 Equation
12 r g W b - W g b = 0 ( r g b 1 0 0 0 1 W r W g W b 1 0 255 0 1 )
= 0 Equation 12 g W r b + r W b = 0 ( r g b 1 0 0 0 1 W r W g W b 1
0 0 255 1 ) = 0 Equation 12 b r W g - W r g = 0
[0044] It should be noted that one possible difference between the
simplified versions of Equations 12r, 12g, and 12b and the Boolean
tests is that the input color values are multiplied by the
converted white point values. However, these 6 multiplication
operations are less than the 9 required to do the matrix operation
described in Equation 9. Thus, the Boolean test may at times be
less computationally expensive than the hue angle method of
calculating the chromaticity triangle number.
[0045] In both Equations 11 and 12, the primaries are assumed to be
at the corners of the sRGB input system. This restriction tends to
prevent the Boolean test from working on displays with more than
three primaries. This is, however, an artificial restriction that
may be lifted, in one embodiment, by using the measured color of
each primary. For example, if a display had a cyan primary, the
inverse matrix from Equation 3 might convert that primary into a
color C in the sRGB space. This color might then be substituted
into Equation 10 along with (0,0,0) for black and the converted
white point W as used in Equations 12. 11 ( r g b 1 0 0 0 1 W 0 W 1
W 2 1 C 0 C 1 C 2 1 ) = 0 ( W 1 C 2 - C 1 W 2 ) r + ( - W 0 C 2 + C
0 W 2 ) g + ( W 0 C 1 - C 0 W 1 ) b = 0 Equation 13
[0046] It should be noted that the calculations using the W and C
values can be done beforehand so this calculation may only need 3
multiplies per primary. An equation like this may be generated for
each of the primaries, no matter how many primaries there are in
the multi-primary system. This allows the Boolean test to be
extended to displays with any number of primaries. It should also
be noted that if some of the primaries are reasonably close to the
standard primaries of sRGB then the simpler formula of Equations 12
may be used and fewer multiplies may be performed. Finally if the
white point of the display is reasonably close to D65 then the
Equations 11 can do some of the tests with no multiplies.
[0047] To build the Boolean expressions to detect each chromaticity
triangle, since all the planes intersect the line of grays, it is
noted that only two planes suffice to be tested for each
chromaticity triangle--e.g. the two that pass through two adjacent
primaries. The equations of the planes may then be converted into
half-space volumes by changing them from =0 to >=0 or <=0.
The union of the two resulting inequalities may constitute the test
for a specific chromaticity triangle. It may also suffice to test
any choice by generating a list of points inside the chromaticity
triangle in a test program then creating a scatter-plot of them
with a 3D plotting program.
[0048] While the invention has been described with reference to an
exemplary embodiment, it will be understood by those skilled in the
art that various changes may be made and equivalents may be
substituted for elements thereof without departing from the scope
of the invention. In addition, many modifications may be made to
adapt a particular situation or material to the teachings without
departing from the essential scope thereof. Therefore, it is
intended that the invention not be limited to the particular
embodiment disclosed as the best mode contemplated for carrying out
this invention, but that the invention will include all embodiments
falling within the scope of the appended claims.
* * * * *