Abstract:
Systems and methods are disclosed to effect conversion of a three color primary image data set to a multiple color primary set in which one of the primaries is white. One method converts a three-color image data set comprising C1, C2, and C3 colors into a four-color image data set comprising C1, C2, C3 and W colors.

Description:
RELATED APPLICATIONS 
     The present application is related to commonly owned (and filed on even date) United States Patent Applications: (1) U.S. patent application Ser. No. 10/691,200 entitled “HUE ANGLE CALCULATION SYSTEM AND METHODS”; (2) 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”; (3) U.S. patent application Ser. No. 10/690,716 entitled “GAMUT CONVERSION SYSTEM AND METHODS,” which are hereby incorporated herein by reference. 
     BACKGROUND 
     In commonly owned U.S. patent applications: (1) U.S. patent application Ser. No. 09/916,232 (“the &#39;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 &#39;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 &#39;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 &#39;094 application), entitled “IMPROVED FOUR COLOR ARRANGEMENTS AND EMITTERS FOR SUB-PIXEL RENDERING,” filed Sep. 13, 2002; (5) U.S. patent application Ser. No. 10/278,328 (“the &#39;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 &#39;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 &#39;001 application”) entitled “IMPROVED SUB-PIXEL ARRANGEMENTS FOR STRIPED DISPLAYS AND METHODS AND SYSTEMS FOR SUB-PIXEL RENDERING SAME,” filed Jan. 16, 2003, novel sub-pixel arrangements are therein disclosed for improving the cost/performance curves for image display devices and herein incorporated by reference. 
     For certain subpixel repeating groups having an even number of subpixels in a horizontal direction, the following systems and techniques to affect proper dot inversion schemes are disclosed and are herein incorporated by reference: (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”; and (6) U.S. patent application Ser. No. 10/456,838 entitled “LIQUID CRYSTAL DISPLAY BACKPLANE LAYOUTS AND ADDRESSING FOR NON-STANDARD SUBPIXEL ARRANGEMENTS”. 
     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 &#39;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 &#39;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 &#39;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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       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. 
         FIG. 1  shows a color space in which four primaries break up the space into various regions. 
         FIG. 2  depicts two color spaces and sample image data points to exemplify in-gamut and out-of-gamut conditions. 
         FIG. 3  shows one embodiment of a gamut conversion system as made in accordance with the principles of the present inventions. 
     
    
    
     DETAILED DESCRIPTION 
     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. 
     In the co-pending application entitled “METHOD AND APPARATUS FOR CONVERTING FROM A SOURCE COLOR SPACE TO A TARGET COLOR SPACE”, there is described a technique for converting from one color space to another, multi-primary space in which the multi-primary space is broken up into triangles on the CIE chromaticity diagram. The triangles are laid out between adjacent primary colors and the white-point. Normally, in a 4 color multi-primary display, there would be 4 triangles. If, however, W is one of the primary colors, and lies directly underneath the white-point at least one of the triangles collapses into a straight line. However, as will be discussed in greater detail below, for each of the triangles, there are resulting matrices that have non-zero coefficients for the primaries that are not on the corners of the triangle. These coefficients are one solution for W in the RGBW system. 
     One embodiment of the present RGBW conversion system proceeds as if there are 4 primaries, but divides the chromaticity diagram into three triangles.  FIG. 1  shows the general situation—with RGBW primaries within the CIE color chart. Of course, it will be appreciated that the present system and techniques will work for any 4-color primary system with W as one of the primaries (e.g. CMYW and the like). With such a system, one possible solution for RGBW arises from the three matrices that each have coefficients for the fourth primary which will linearly interpolate white values from 0 at the primary base of the triangles to 1 at the white-point. It will be appreciated that—although triangles are a natural choice for the regions bounded by W and two of R, G, and B—other regions are possible for purposes of the present invention. It will also be appreciated that there may be more than three non-white primaries. 
     An example using the present system will now be described. When characterizing any display, it is common to use a colorimeter to measure the chromaticity of red (x r ,y r ) green (x g ,y g ) blue (x b ,y b ) and the CIE XYZ co-ordinates of the white-point (X w ,Y w ,Z w ). The “little z” co-ordinates for red green and blue may be calculated using the formula z=1−x−y. Using standard conversion equations, it is possible to also calculate (x w ,y w ,z w ) from the white-point. Plugging these into a matrix conversion equation and expanding the formula to work with the 4-color RGBW system yields: 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           X 
                         
                       
                       
                         
                           Y 
                         
                       
                       
                         
                           Z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               
                                 x 
                                 r 
                               
                               · 
                               Cr 
                             
                           
                           
                             
                               
                                 x 
                                 g 
                               
                               · 
                               Cg 
                             
                           
                           
                             
                               
                                 x 
                                 b 
                               
                               · 
                               Cb 
                             
                           
                           
                             
                               
                                 x 
                                 w 
                               
                               · 
                               Cw 
                             
                           
                         
                         
                           
                             
                               
                                 y 
                                 r 
                               
                               · 
                               Cr 
                             
                           
                           
                             
                               
                                 y 
                                 g 
                               
                               · 
                               Cg 
                             
                           
                           
                             
                               
                                 y 
                                 b 
                               
                               · 
                               Cb 
                             
                           
                           
                             
                               
                                 y 
                                 w 
                               
                               · 
                               Cw 
                             
                           
                         
                         
                           
                             
                               
                                 z 
                                 r 
                               
                               · 
                               Cr 
                             
                           
                           
                             
                               
                                 z 
                                 g 
                               
                               · 
                               Cg 
                             
                           
                           
                             
                               
                                 z 
                                 b 
                               
                               · 
                               Cb 
                             
                           
                           
                             
                               
                                 z 
                                 w 
                               
                               ⁣ 
                               
                                 · 
                                 Cw 
                               
                             
                           
                         
                       
                       ) 
                     
                     · 
                     
                       ( 
                       
                         
                           
                             R 
                           
                         
                         
                           
                             G 
                           
                         
                         
                           
                             B 
                           
                         
                         
                           
                             W 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   1 
                 
               
             
           
         
       
     
     This equation will convert RGBW values into CIE XYZ once the “C” coefficients are calculated. To calculate them, it is possible to substitute the white-point (X w ,Y w ,Z w ) in for (X Y Z), substitute the value (1 1 1 1) for the expected RGBW value, and factor the C values out into a separate vector to yield: 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           
                             X 
                             w 
                           
                         
                       
                       
                         
                           
                             Y 
                             w 
                           
                         
                       
                       
                         
                           
                             Z 
                             w 
                           
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               x 
                               r 
                             
                           
                           
                             
                               x 
                               g 
                             
                           
                           
                             
                               x 
                               b 
                             
                           
                           
                             
                               x 
                               w 
                             
                           
                         
                         
                           
                             
                               y 
                               r 
                             
                           
                           
                             
                               y 
                               g 
                             
                           
                           
                             
                               y 
                               b 
                             
                           
                           
                             
                               y 
                               w 
                             
                           
                         
                         
                           
                             
                               z 
                               r 
                             
                           
                           
                             
                               z 
                               g 
                             
                           
                           
                             
                               z 
                               b 
                             
                           
                           
                             
                               z 
                               w 
                             
                           
                         
                       
                       ) 
                     
                     · 
                     
                       ( 
                       
                         
                           
                             Cr 
                           
                         
                         
                           
                             Cg 
                           
                         
                         
                           
                             Cb 
                           
                         
                         
                           
                             Cw 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   2 
                 
               
             
           
         
       
     
     Alternatively, it might be possible to use different values for [Xw,Yw,Zw]—other than the standard white-point—to change the resulting equation for: (1) different backlights of target multi-primary displays; or (2) if the source image data was created under a given assumption about its white point or its measured primaries that differ from the target display. This change in the white point might correct for color differences between those assumptions under which the source image data was created and the display characteristics upon which the source image data will be rendered. 
     It will be noted that the center matrix is a 3×4 matrix and, hence, does not have an inverse. Instead, it is possible to use a numerical solver package to find one of many sets of solutions to the C values. The resulting Cr Cg Cb and Cw values may then be plugged back into Equation 1 to fill in the last unknowns. With these values, Equation 1 may now convert any RGBW value to CIE XYZ, but it may be desired to have an inverse mapping of sorts. It will also be appreciated that any other predetermined value for the RGBW-tuple in Equation 1 could be employed—but the choice of such a known tuple would change the C&#39;s found in Equation 2. 
     As the center matrix in Equation 1 is not square and cannot be inverted to create an inverse equation, Equation 3 is such a possible inverse mapping using known values and Equation 1 to solve for the matrix in Equation 3 for each of the triangles in  FIG. 1 . 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           R 
                         
                       
                       
                         
                           G 
                         
                       
                       
                         
                           B 
                         
                       
                       
                         
                           W 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           
                             
                               R 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                             
                           
                           
                             
                               R 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               2 
                             
                           
                           
                             
                               R 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               3 
                             
                           
                         
                         
                           
                             
                               G 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                             
                           
                           
                             
                               G 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               2 
                             
                           
                           
                             
                               G 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               3 
                             
                           
                         
                         
                           
                             
                               B 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                             
                           
                           
                             
                               B 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               2 
                             
                           
                           
                             
                               B 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               3 
                             
                           
                         
                         
                           
                             
                               W 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               1 
                             
                           
                           
                             
                               W 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               2 
                             
                           
                           
                             
                               W 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               3 
                             
                           
                         
                       
                       ) 
                     
                     · 
                     
                       ( 
                       
                         
                           
                             X 
                           
                         
                         
                           
                             Y 
                           
                         
                         
                           
                             Z 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   3 
                 
               
             
           
         
       
     
     Next using the known RGBW co-ordinates for red (1,0,0,0) green (0,1,0,0) and white (1,1,1,1), Equation 1 can be used to find the matching CIE XYZ co-ordinates. A numerical solver can then find a solution for the 3×4 matrix in Equation 3 that will produce these three results. This is the matrix that can convert any CIE XYZ color whose chromaticity is inside the RGW triangle in  FIG. 1  into RGBW. The same procedure is performed using the known RGBW co-ordinates for green (0,1,0,0) blue (0,0,1,0) and white (1,1,1,1) to produce a matrix that can convert any color whose chromaticity is inside triangle GBW in  FIG. 1 . The same procedure is performed using the known RGBW co-ordinates for blue (0,0,1,0) red (1,0,0,0) and white (1,1,1,1) to produce a matrix that can convert any color whose chromaticity is inside triangle BRW in  FIG. 1 . 
     These three matrices are calculated once beforehand and combined with other conversion matrices as necessary. For example, if the three-valued input colors are REC 709 RGB values sometimes called sRGB, then the standard conversion matrix for turning sRGB values into CIE XYZ could be combined with each of the RGBW matrices to change them into matrices that directly convert sRGB into RGBW. Once the three matrices are constructed, they are stored as tables in software conversion methods or burned into the ROM of a hardware conversion apparatus. 
     The REC 709 chromaticity values are red (0.64, 0.33) green (0.30, 0.60) and blue (0.15, 0,06). The D65 standard white-point CIE XYZ value is (0.950468, 0.999999, 1.088970). If these standard recommended values are used as the input values for the above procedure, the resulting matrix for Equation 1 is: 
     
       
         
               
               
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 0.299845 
                 0.260683 
                 0.131481 
                 0.257989 
               
               
                   
                 0.154608 
                 0.521367 
                 0.052593 
                 0.271433 
               
               
                   
                 0.014055 
                 0.086894 
                 0.692468 
                 0.295582 
               
               
                   
                   
               
             
          
         
       
     
     Then the matrix for equation 3 that works in the RGW triangle on  FIG. 1  is: 
     
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 4.436563 
                 −2.03784 
                 −1.08265 
               
               
                 −1.350209 
                 2.649123 
                 −0.335905 
               
               
                 0.055635 
                 −0.203996 
                 1.057069 
               
               
                 0.055635 
                 −0.203996 
                 1.057069 
               
               
                   
               
             
          
         
       
     
     The resulting matrix for equation 3 that works in the GBW triangle of  FIG. 1  is: 
     
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 3.240696 
                 −1.537253 
                 −0.498569 
               
               
                 −2.53408 
                 3.144689 
                 0.242317 
               
               
                 −1.13095 
                 0.292705 
                 1.636617 
               
               
                 3.240696 
                 −1.537253 
                 −0.498569 
               
               
                   
               
             
          
         
       
     
     Finally, the matrix for equation 3 that works in the BRW triangle of  FIG. 1  is: 
     
       
         
               
               
               
             
           
               
                   
               
             
             
               
                 4.821372 
                 −2.818797 
                 −0.701364 
               
               
                 −0.96926 
                 1.876 
                 0.041556 
               
               
                 0.437457 
                 −0.978892 
                 1.435395 
               
               
                 −0.96926 
                 1.876 
                 0.041556 
               
               
                   
               
             
          
         
       
     
     This set of matrices will convert CIE XYZ to RGBW for the special case where the RGBW primaries match the REC 709 and D65 standards. This may serve as useful conversions for testing or for easy implementation purposes. However, for any specific display, it may be desirable to measure the actual chromatic ties and generate matrices specifically calibrated for the class of display. It is to be appreciated that similar analysis may lead to RGBW conversion from other tristimulus color spaces such as YCbCr, as converting these color space formats to an RGB format is well known in the art. 
     RGBS Gamut Limits 
     When using the above matrices to convert sRGB to RGBW images, it may be the case that the gamut of RGBW does not have quite the same volume as sRGB. Both color spaces may have the same gamut in CIE chromaticity, but RGBW is not able to display all those colors at all luminosities. The result is that there are some colors in sRGB that cannot be displayed when converted to RGBW. This is shown in the 2 dimensional diagram of  FIG. 2 . This figure is a simplified diagram of a slice through the two color-spaces with the differences exaggerated for explanatory purposes. The central hexagonal area represents the colors that can be displayed in RGBW while the outer square is the colors representable by sRGB. It should be noted that both color-spaces are drawn so that white is the same point in both spaces (i.e. normalized at maximum luminance). All the points in  FIG. 2  are considered after they are converted to RGBW space, so some of them will be out-of gamut. 
     It is possible to detect when colors are out of gamut in RGBW (or any multiprimary color space, for that matter) by checking for values that are out of bounds. If color components are calculated on the range 0-255, these out-of-gamut values will be larger than 255. One embodiment clamps all the resulting color components to the maximum allowed value. However, this results in a change in the hue of the resulting color.  FIG. 2  shows an example of this effect. The point P is a color that is outside the RGBW gamut and results in out-of-gamut values. If the out-of-gamut values are simply clamped to the maximum allowed values, the resulting color would be color D. It may be more desirable to have the color E as the resulting color which also lies on the edge of the RGBW color gamut but has the same hue as the original color P. 
     To calculate the correct color E the following procedure is used: When an out-of gamut color is detected, the maximum of the four RGBW color components is found. The ratio between the maximum allowed value (usually 255) and the maximum RGBW value is a scale factor that is then used to correct all four of the RGBW components. Scaling all four of the components by the same number preserves hue and results in the correct color E instead of the “simple clamped” color D. 
     It should be noted that although hue is preserved this is still a clamping process, all the colors on the line E-C will all be clamped to the single color E. In some prior art, a scaling factor is calculated that scales all the colors on the line BLACK-C. This scales the color at point C so that it lands at point E and scales the color at point P so that it lands at point P′. This kind of gamut scaling has the effect that it changes the color of point Q to Q′—making some colors dimmer than they possibly need to be. The present embodiment does not have this effect—the color at point Q remains bright and is not replaced with the dim color at point Q′. 
     The above clamping has the advantage of matching the ensemble image statistics that indicate that it is rare to have both high saturation and high luminance. That is to say, that the colors that are out of gamut are not often encountered in natural photographic images. Additionally, the human eye is less able to distinguish differences in luminosity at the higher end of the scale, thus the loss of such differences, quantizing all out of gamut colors to the maximum in gamut color of the same hue is unlikely to be noticed by any but the most sophisticated viewer. 
     The process of calculating the scale factor can be done by using the maximum RGBW value as an index into a table of inverse values. Ordinarily, using a table of inverses results in some errors. However, in this case the range on possible values of the maximum RGBW value makes all the inverse values fall on a “good” section of the 1/x curve and not on the tail where most of the errors are introduced. As a result an apparatus built to this design could be done with an inverse table and a multiplier, saving the complexity of doing a divide.  FIG. 3  shows such an apparatus. 
       FIG. 3  shows a section of a gamut pipeline  300 . Chroma/luma data (e.g. L,x,y) is converted by 3×n matrix multiplier  302  into RGB and W components—which can result in RGBW values out-of-gamut. If the data is out of gamut, one of the RGB data will be larger than what the display  310  can render. When one or more of these color components are out of range of the display, MAX detector  304  will detect this condition and output the maximum out of range component to the inverse look-up table (LUT)  306 . The LUT will output a scale factor that will cause the multipliers  308  to scale the RGBW values back into gamut range. In the case that the original RGB values were in gamut range, MAX unit and inverse LUT are designed to output a scale factor of 1 to leave the image values the same. In another embodiment, another detector would be necessary to detect the in-gamut colors and multiplex them around the multipliers directly to the display. 
     In the above embodiments, reference to functional blocks can be implemented using any combination of hardware and/or software, including components or modules such as one or more memory devices or circuitry. For example, a programmable gate array or like circuitry can be configured to implement such functional blocks. In other examples, a microprocessor operating a program in memory can also implement such functional blocks. 
     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.