WO2005104083A2 - Systems and methods for improved gamut mapping from one image data set to another - Google Patents

Systems and methods for improved gamut mapping from one image data set to another Download PDF

Info

Publication number
WO2005104083A2
WO2005104083A2 PCT/US2005/010021 US2005010021W WO2005104083A2 WO 2005104083 A2 WO2005104083 A2 WO 2005104083A2 US 2005010021 W US2005010021 W US 2005010021W WO 2005104083 A2 WO2005104083 A2 WO 2005104083A2
Authority
WO
WIPO (PCT)
Prior art keywords
color
image data
data
gamut
input
Prior art date
Application number
PCT/US2005/010021
Other languages
French (fr)
Other versions
WO2005104083A3 (en
Inventor
Michael Francis Higgins
Candice Hellen Brown Elliott
Original Assignee
Clairvoyante, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clairvoyante, Inc. filed Critical Clairvoyante, Inc.
Publication of WO2005104083A2 publication Critical patent/WO2005104083A2/en
Publication of WO2005104083A3 publication Critical patent/WO2005104083A3/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/06Colour space transformation

Definitions

  • the present application relates to methods and systems for converting input image data from one color space into image data into another color space.
  • a system and method for converting input image data in a first color space to output image data in a second color space are given.
  • the second color space may comprises an RGBW format.
  • the system and method comprise a converter for calculating chro ma/luma values and calculating hue angle of said input image data from a first color space; a hue angle triangle calculator, said hue angle triangle calculator determines in which chromaticity triangle the input data resides and a matrix multiply unit, said unit multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination.
  • a method and system for converting input image data in a first color space to output image data in a second color space are given.
  • the second color space may comprise an RGBW format.
  • the steps of said method and system may comprise calculating chroma/luma values and calculating hue angle of said input image data from a first color space; determining which chromaticity triangle the input data resides and multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination.
  • FIG. 1 is an overview of one embodiment of an architecure of an RGB to RGBW converter.
  • FIG. 2 is an embodiment of a simplified RGB to luminosity converter.
  • FIG. 3 is an embodiment of an simplified RGB to chrominance converter.
  • FIG. 4 is an embodiment of a hue angle calculator.
  • FIG. 5 is a portion of a hue angle calculator.
  • FIG. 6 is one stage of a division unit embodiment. [017] FIG.
  • FIG. 7 is one embodiment of a five division units connected to perform a 5-bit divide [018]
  • FIG. 8 is RG case of a 3x3 matrix multiplier simplified embodiment.
  • FIG. 9 is the GB case of a 3x3 matrix multiplier simplifed embodiment.
  • FIG. 10 is the BR case of a 3x3 matrix multiplier simplified embodiment.
  • FIG. 11 is one embodiment of a gamut claming circuit.
  • FIG. 12 is one embodiment of a W selector.
  • FIG. 13 is one embodiment of a diagram showing reduced bandwith by delaying the W selection.
  • FIG. 14 is one embodiment of a diagram showing RGBW conversion and SPR in hardware.
  • FIG. 15 is one embodiment of a diagram showing a software implementaion of RGBW and SPR with simplified display hardware.
  • FIG. 16 is an alternate embodiment of a software implimentaion of RGBW and SPR
  • FIG. 1 shows one possible gamut mapping system 100 from a RGB color space to a RGBW color space.
  • RGB data input 102 (possibly 8 bits per color) is input into a chroma/luma converter 104.
  • the output of block 104 could be one of a number of chrominance/luminance coordinates (e.g.
  • FIG. 1 shows one embodiment of a high level block diagram 200 that implements Y calculation as above.
  • RGB data is input and the R is left shifted by 1 bit (i.e. multiply by 2) at 202, G data is left shifted 2 bits and added to itself (i.e.
  • Figure 3 shows one embodiment of a chroma calculating block 300.
  • results of these are saved as the signs of x and y for the hue angle calculator and also used to selectively swap the values before subtracting them.
  • Subtraction may be accomplished as a twos compliment NEG operation 306 followed by an addition 308.
  • the NEG operation may result in an additional bit. However, this bit may be ignored in the addition since the sign is known to be one and the result is known to be a positive number.
  • this functionality could be accomplished in a number of different ways, including to perform all possible subtractions for both values and select the positive ones at the end.
  • Hue Angle Calculator It may be possible to combine the chroma/luma converter with the hue angle calculator and achieve certain optimizations.
  • Figure 4 depicts one embodiment of such a combined hue angle calculator 400.
  • Absolute Value of Chroma [035] If the chroma/luma converter is combined with the hue angle calculator (as in blocks 402 and 404), the absolute values of the chroma are already available, including the signs as they would have been before taking the absolute values. Taking the absolute value helps to limit calculations to one quadrant of the possible color vector angles. It will be appreciated that the "Y" in blocks 402 and 404 refer to the luminance value; while “y” output from block 404 onward refers to a chrominance value.
  • the test as to whether the chroma y value is greater than the chroma x value may determine whether the hue angle is in the first or second octant of the vector angle or, alternatively, whether the angle is greater than 45 degrees.
  • By swapping the x and y components of chroma (as possibly performed by block 406 in Figures 4 and 5), it is possible to limit the calculations to the first octant of all possible color vector angles. Of course, the result of the test may be saved for correcting the final output hue angle.
  • Division module 408 supplies input data to the arctangent look up table, as will be discussed later.
  • Action LUT 410 may comprise a small table of bits and offsets that are added in the final step to correct for the simplification of doing all the calculations in the first octant.
  • Action LUT is included below.
  • the output is a "neg" bit and an offset.
  • the neg bit indicates if the negative of the arc tangent result is needed.
  • the offset is an angle to add to the upper bits in the final step. It may be desirable to select the units of angle for the hue angle to produce only 256 "degrees" of angle around the color vector circle. This results in several convenient optimizations.
  • One of these is that all the offsets in the Action LUT are multiples of 64 and the lower 6 bits were always zero and these did not need to be stored.
  • the y component is divided by the x component of chroma. This can be done in many possible ways. One way might be to invert the x component into a fixed point fraction and then do a multiply with y. The inversion could be done in a LUT, however the results of the multiply may be inaccurate unless the multiply is sufficiently wide (e.g. 12 bits). It may be possible to accomplish the divide in a multiple step pipeline, using a module 600 ("DIV1") as shown in Figure 6. Each step in the division does a single shift, addition and selection. The output is the remainder for the next step and one bit of the result. After a finite number of steps, all the bits needed from the division will be available.
  • DIV1 module 600
  • Figure 7 shows one possible embodiment 700 where x and y are 8bit data units and the result is a 5bit number.
  • -x may be 9 bits, formed from an 8bit number that has been negated (twos compliment).
  • y When y is left shifted, it also becomes 9bits for the addition. Only the lower 8bits of the result may suffice for the Y OUT.
  • the carry bit from the addition may be used to select either the input y value or the "subtracted" y value as the output. The inverse of the carry is the result bit.
  • Arc Tangent LUT [041] The result of the division may be used as the index to an arc tangent table.
  • One possible embodiment of the arc tangent table is shown below. As this table may be small, it may be possible to store both the positive and negative arc tangent values and use the neg bit from the Action LUT as the least significant bit of the address of the Arc Tangent LUT. In one embodiment in which the original values are 5 bit unsigned integers, their negatives may produce 6 bits to have room for the sign bit. However, the sign bit is typically identical to the input neg bit, so it may not necessary to store it and the table may remain 5bits wide.
  • the result of the Arc Tangent LUT may be added to the offset selected from the Action LUT. However, this operation may be simpler than a full addition. Because the offset from the Action LUT may have a certain number of (e.g. 6) implied bits of zeros, the lower bits are not involved in the addition.
  • the number of (e.g. 5) bits output by the Arc Tangent LUT are simply copied into the lower number of (e.g. 5) bits of the hue angle.
  • the neg bit becomes the last (e.g. 6 th ) bit of hue angle, and additional (e.g. two) more copies of the neg bit are added to the offset bits from the action table to form the upper (e.g. two) bits of hue.
  • additional (e.g. two) more copies of the neg bit are added to the offset bits from the action table to form the upper (e.g. two) bits of hue.
  • only a two bit addition is necessary. This is shown in the following table.
  • Chromaticity Triangle LUT [043] The hue angle may be used as the index to a table to determine which chromaticity triangle the input color lies in.
  • chromaticity triangle LUT is given below. In the case of RGBW, there may be only three chromaticity triangles, so the table may result in only one of three possible values. The calculations leading up to this look-up may trade-off the need for a larger LUT without such calculations.
  • the chromaticity triangle number may, in turn, be used to select one of the multi- primary matrices, stored in LUT 110 in Figure 1, to be used in a color-space conversion step later. These numbers may change according to the characteristics of any given, different, display model - one embodiment of which is shown below. It should be noted that the conversion matrices may involve positive and negative numbers, so the multipliers may be signed — unless optimizations suggested herein are used. In one embodiment, the values in these matrices may be multiplied by 128 to allow room for 7 bits of value plus a sign bit. Thus, the results may be divided by 128 instead of 256. Multi-Primary Matrices
  • RGB Color Path Input Gamma LUT [045]
  • incoming data to the pipeline could be "sRGB", or nonlinear RGB.
  • the hue angle may be calculated from the sRGB values, since the color conversion should preserve hue angle. This allows hue angle to be calculated with the nonlinear RGB values.
  • sRGB acts somewhat as a compression scheme that allows image data to be stored in 8bits when it might normally require more.
  • input gamma block 103 converts the 8bit input data to 1 lbit linear RGB data.
  • the input data turns out to be YCbCr or some other TV format, most of these also have an implied nonlinear transformation applied to them and may also require an input gamma table. For these formats, it may be desirable to convert into sRGB before sending it down the pipeline.
  • Gamut Clamping Path When black and white are mapped to the same colors in RGB and RGBW, the total gamut "volume" of RGBW may turn out to be smaller than RGB. Thus, there may be some colors, especially bright saturated ones, that exist in RGB but cannot be displayed in RGBW. When these colors appear, it may be desirable to manage this situation. Simply clamping the RGBW values to the maximum range may result in the hue of these colors being distorted. Instead the out-of-gamut colors could be detected and scaled in a way that preserves hue while bringing them back into range.
  • the multipliers and accumulators in the multi -primary matrix conversion section above may be designed to return values larger than their input values. This is to allow out-of- gamut (O.O.G.) values to be calculated. These values are typically not more than twice the range of the input values, so one more bit may be allowed in the output for "overflow" values. If this extra overflow bit is zero in all three of the R G and B results, then the color is in gamut and it could be gated around the rest of the gamut clamping path.
  • Figure 11 shows one embodiment of hardware that could effect the functionality of blocks 114 and or 116 in Figure 1.
  • bits 11 the upper bit (bit 11) of all three converted primaries are OR'ed (1102) together to produce the O.O.G. signal - which can then be used by multiplexors 1110 to select a bypass mode or data modified by the Inv LUT 1106.
  • One manner of handling out of gamut data is to calculate the ratio of distance to the edge of the gamut relative to the out-of-gamut distance as the gamut scaling factor to bring out-of- gamut values back in range. In one mode of calculation, this might require calculating two square roots. In another embodiment, the ratio of the width of the color-space relative to the maximum component of the out-of-gamut color may yield the same result ⁇ without need of costly square root calculations. This may be seen by looking at similar triangles within the gamut. The width of the color-space tends to be a power of two (e.g. 2 U for the case of 11 bit linear RGB values) and becomes a convenient bit shift. MAX block 1104 selects the maximum component of the out-of- gamut color.
  • the maximum out-of-gamut component is inverted by looking it up in an inverse LUT 1106.
  • 12bit converted values will allow 2-times out of gamut values, in practice, it may be rare that it will be more than 25% above the maximum allowed value. This allows the Inverse LUT to have only 256 entries.
  • the lower 8bits of the maximum out-of-gamut component may be used as an index into this table.
  • a table of inverses may contain some errors, but the first 25% of the 1/x table is typically not where the errors occur, so this may suffice.
  • the R G and B components output from the multi-primary matrix multiply are out-of-gamut, they may be multiplied by the output of the Inverse LUT. When the value is in gamut, the input values may be gated around the multipliers, thus bypassing the gamut clamping.
  • the W value of RGBW may turn out to be equal to one of the other primaries, so selecting W may be delayed until later to avoid duplicate processing.
  • Figure 12 shows one embodiment of hardware that selects the W value from one of the other converted primaries with a MUX. The result will be 4 primaries, RGB and W and this concludes the RGB to RGBW multi-primary conversion. It should be noted that the W value is equal to one of the other primaries up to this stage, but since the Sub-Pixel Rendering treats W different than the other primaries, the final results to the display will be a W value different than any of the other primaries.
  • the output from multi-primary conversion may be linear color components so the sub-pixel rendering module will not have to perform input gamma conversion.
  • the input components may have more than 8bits per primary (e.g. 1 lbits in one embodiment).
  • output gamma being performed after the sub-pixel rendering to show that the data can stay in the linear domain until the last moment before being converted to send to the display. It should be appreciated that such an output gamma table may be tailored for the particular display panel.
  • the RGBW display may employ more than one step on more than one board.
  • truncating the linear components to 8bits is not preferred.
  • One manner to compensate is to convert the data for transmission by applying the sRGB non-linear transformation to the data on the way out. Then, the second board can perform input gamma correction to linearize the data again to 11 bits.
  • Figure 13 depicts one embodiment.
  • the system sends two bits of information along with three (RGB) primary colors, the W selection MUX can be moved onto the second board and the W primary will not have to be transmitted between boards.
  • the two bits of information sent would be the chromaticity triangle number calculated on the hue angle path.
  • RGBW Simplified for Low Cost Implementations [061] The complexity of doing multi-primary conversions seems to have confined RGBW to used only in high-end systems. However, there may be ways to use the multi-primary conversions for RGBW in low cost displays. The few remaining multiplies by odd constants may be done in software in some implementations, or perhaps it is suffices to convert those constants into numbers that are easier to implement in hardware. [062] When the primaries and white point are identical to the sRGB standard, the matrices become even simpler. The sRGB primaries and white point results in numbers that can be multiplied with only 2 or 3 shifts and adds as shown above and in Figures 8, 9 and 10. The limiting factor may be the complexity of the SPR algorithms.
  • the above table has the CIE Chromaticity values for the sRGB standard. Using these values the CIE XYZ coordinates of the D65 white point can be calculated and the conversion matrix for converting linear RGB values into CIE XYZ tristimulus values can be derived:
  • the matrices are combined then multiplied by 64 to convert their coefficients into fixed point binary numbers with 6 bits below the binary point. Other powers of two will work, depending on the precision required and the hardware available. Using a value of 64 in this case results in coefficients that will fit in 8bit bytes with a sign bit. This results in low- cost implimentations where only 8bit arithmetic can be done. In implimentations with 16bit arithmetic a larger multiplier than 64 could be used. [069] These matrices involve multiplying by 0, by 64 (which is multiplying by one after the fixed point binary shift), by 84 and by 20.
  • Multiplying by 20 can be done with two shifts and an add, multiplying by 84 can be done by three shifts and two adds. Two subtracts are always required after the multiplies. This is simple enough to impliment in hardware or software so it is not necessary to try and find more convenient numbers.
  • the conversion from sRGB to RGBW can be done in hardware fairly inexpensively.
  • Sub-pixel rendering may require line buffers and filters running at display refresh rates. If a system has hardware SPR, the addition of logic to do RGBW is not appreciably more difficult. In the hardware model, all the RGB values are fetched once for every frame time, converted to RGBW, shifted through line buffers, area resample filtered, sent to the TCON and/or display and forgotten.
  • the software may not have line buffers but does random-access reads to the RGB frame buffer instead. This might require recalculating RGBW values from the RGB values every time they are fetched.
  • the SPR filters could be 2x3 coefficients. Thus, in this case, each RGB value might be fetched and converted 6 times in the course of re-rendering the area around it.
  • determining the chromaticity triangle number could be reduced to 4 compares. Matrix multiply can be done with 5 shifts, three adds and two subtracts.
  • Gamut clamping may require two compares and three divides. Gamut clamping may be done on a small subset of colors and a simple set of 3 tests determines if this step can be skipped.
  • the processor is fast enough and can do the divisions (or at least, inverse table lookup and multiply) then this may suffice.
  • the time spent converting to RGBW may be reduced by converting every RGB pixel to RGBW only once and storing them in an intermediate frame buffer. For one example, consider a 120x160 by 24bit RGB display. Storing a copy of the RGB frame buffer may take only 58Kbytes. The RGBW intermediate frame buffer would be 77Kbytes. After SPR the hardware frame buffer would only be 39Kbytes. Such a system is depicted in Figure 16. [075] One additional embodiment might replace the RGBW frame buffer with smaller line buffers.

Abstract

The present application discloses methods and system for converting input image data in a first color space into image data in a second color space format. Several embodiments disclose improved techniques for performing these conversions using inexpensive hardware and software implementations.

Description

SYSTEMS AND METHODS FOR IMPROVED GAMUT MAPPING FROM ONE IMAGE DATA SET TO ANOTHER
TECHNICAL FIELD
[01] The present application relates to methods and systems for converting input image data from one color space into image data into another color space.
BACKGROUND [02] In commonly owned United States Patent Applications: (1) United States Patent Application Serial No. 09/916,232 ("the '232 application" ), entitled "ARRANGEMENT OF COLOR PIXELS FOR FULL COLOR IMAGING DEVICES WITH SIMPLIFIED ADDRESSING," filed July 25, 2001; (2) United States Patent Application Serial 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 October 22, 2002; (3) United States Patent Application Serial 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 October 22, 2002; (4) United States Patent Application Serial No. 10/243,094 ("the '094 application), entitled "IMPROVED FOUR COLOR ARRANGEMENTS AND EMITTERS FOR SUB-PIXEL RENDERING," filed September 13, 2002; (5) United States Patent Application Serial 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 October 22, 2002; (6) United States Patent Application Serial No. 10/278,393 ("the '393 application"), entitled "COLOR DISPLAY HAVING HORIZONTAL SUB-PIXEL ARRANGEMENTS AND LAYOUTS," filed October 22, 2002; (7) United States Patent Application Serial 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 January 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. [03] 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) United States Patent Application Serial Number 10/456,839 entitled "IMAGE DEGRADATION CORRECTION IN NOVEL LIQUID CRYSTAL DISPLAYS"; (2) United States Patent Application Serial No. 10/455,925 entitled "DISPLAY PANEL HAVING CROSSOVER CONNECTIONS EFFECTING DOT INVERSION"; (3) United States Patent Application Serial No. 10/455,931 entitled "SYSTEM AND METHOD OF PERFORMING DOT INVERSION WITH STANDARD DRIVERS AND BACKPLANE ON NOVEL DISPLAY PANEL LAYOUTS"; (4) United States Patent Application Serial No. 10/455,927 entitled "SYSTEM AND METHOD FOR COMPENSATING FOR VISUAL EFFECTS UPON PANELS HAVING FIXED PATTERN NOISE WITH REDUCED QUANTIZATION ERROR"; (5) United States Patent Application Serial No. 10/456,806 entitled "DOT INVERSION ON NOVEL DISPLAY PANEL LAYOUTS WITH EXTRA DRIVERS"; (6) United States Patent Application Serial No. 10/456,838 entitled "LIQUID CRYSTAL DISPLAY BACKPLANE LAYOUTS AND ADDRESSING FOR NON- STANDARD SUBPIXEL ARRANGEMENTS"; (7) United States Patent Application Serial No. 10/696,236 entitled "IMAGE DEGRADATION CORRECTION IN NOVEL LIQUID CRYSTAL DISPLAYS WITH SPLIT BLUE SUBPIXELS", filed October 28, 2003; and (8) United States Patent Application Serial No. 10/807,604 entitled "IMPROVED TRANSISTOR BACKPLANES FOR LIQUID CRYSTAL DISPLAYS COMPRISING DIFFERENT SIZED SUBPIXELS", filed March 23, 2004. [04] These improvements are particularly pronounced when coupled with sub-pixel rendering (SPR) systems and methods further disclosed in those applications and in commonly owned United States Patent Applications: (1) United States Patent Application Serial No. 10/051,612 ("the '612 application"), entitled "CONVERSION OF RGB PIXEL FORMAT DATA TO PENTILE MATRIX SUB-PIXEL DATA FORMAT," filed January 16, 2002; (2) United States Patent Application Serial No. 10/150,355 ("the '355 application"), entitled "METHODS AND SYSTEMS FOR SUB-PIXEL RENDERING WITH GAMMA ADJUSTMENT," filed May 17, 2002; (3) United States Patent Application Serial No. 10/215,843 ("the '843 application"), entitled "METHODS AND SYSTEMS FOR SUB-PIXEL RENDERING WITH ADAPT1NE FILTERING," filed August 8, 2002; (4) United States Patent Application Serial No. 10/379,767 entitled "SYSTEMS AND METHODS FOR TEMPORAL SUB-PIXEL RENDERING OF IMAGE DATA" filed March 4, 2003; (5) United States Patent Application Serial No. 10/379,765 entitled "SYSTEMS AND METHODS FOR MOTION ADAPTIVE FILTERING," filed March 4, 2003; (6) United States Patent Application Serial No. 10/379,766 entitled "SUB-PIXEL RENDERING SYSTEM AND METHOD FOR IMPROVED DISPLAY VIEWING ANGLES" filed March 4, 2003; (7) United States Patent Application Serial No. 10/409,413 entitled "IMAGE DATA SET WITH EMBEDDED PRE-SUBPIXEL RENDERED IMAGE" filed April 7, 2003, which are hereby incorporated herein by reference in their entirety. [05] Improvements in gamut conversion and mapping are disclosed in commonly owned and co-pending United States Patent Applications: (1) United States Patent Application Serial No. 10/691,200 entitled "HUE ANGLE CALCULATION SYSTEM AND METHODS", filed October 21, 2003; (2) United States Patent Application Serial No. 10/691,377 entitled "METHOD AND APPARATUS FOR CONVERTING FROM SOURCE COLOR SPACE TO RGBW TARGET COLOR SPACE", filed October 21, 2003; (3) United States Patent Application Serial No. 10/691,396 entitled "METHOD AND APPARATUS FOR CONVERTING FROM A SOURCE COLOR SPACE TO A TARGET COLOR SPACE", filed October 21, 2003; and (4) United States Patent Application Serial No. 10/690,716 entitled "GAMUT CONVERSION SYSTEM AND METHODS" filed October 21, 2003 which are all hereby incorporated herein by reference in their entirety. [06] Additional advantages have been described in (1) United States Patent Application Serial No. 10/696,235 entitled "DISPLAY SYSTEM HAVING IMPROVED MULTIPLE MODES FOR DISPLAYING IMAGE DATA FROM MULTIPLE INPUT SOURCE FORMATS", filed October 28, 2003 and (2) United States Patent Application Serial No. 10/696,026 entitled "SYSTEM AND METHOD FOR PERFORMING IMAGE RECONSTRUCTION AND SUBPIXEL RENDERING TO EFFECT SCALING FOR MULTI- MODE DISPLAY" filed October 28, 2003. [07] Additionally, these co-owned and co-pending applications are herein incorporated by reference in their entirety: (1) United States Patent Application Serial No. [ATTORNEY DOCKET NUMBER 08831.0064] entitled "SYSTEM AND METHOD FOR IMPROVING SUB-PIXEL RENDERING OF IMAGE DATA IN NON-STRIPED DISPLAY SYSTEMS"; (2) United States Patent Application Serial No. [ATTORNEY DOCKET NUMBER 08831.0065] entitled "SYSTEMS AND METHODS FOR SELECTING A WHITE POINT FOR IMAGE DISPLAYS"; (3) United States Patent Application Serial No. [ATTORNEY DOCKET NUMBER 08831.0066] entitled "NOVEL SUBPLXEL LAYOUTS AND ARRANGEMENTS FOR HIGH BRIGHTNESS DISPLAYS"; (4) United States Patent Application Serial 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.
DISCLOSURE OF THE INVENTION
[08] In an embodiment of the present application, a system and method for converting input image data in a first color space to output image data in a second color space are given. The second color space may comprises an RGBW format. The system and method comprise a converter for calculating chro ma/luma values and calculating hue angle of said input image data from a first color space; a hue angle triangle calculator, said hue angle triangle calculator determines in which chromaticity triangle the input data resides and a matrix multiply unit, said unit multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination. [09] In another embodiment of the present application, a method and system for converting input image data in a first color space to output image data in a second color space are given. The second color space may comprise an RGBW format. The steps of said method and system may comprise calculating chroma/luma values and calculating hue angle of said input image data from a first color space; determining which chromaticity triangle the input data resides and multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination.
BRIEF DESCRIPTION OF THE DRAWINGS
[010] 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. [011] FIG. 1 is an overview of one embodiment of an architecure of an RGB to RGBW converter. [012] FIG. 2 is an embodiment of a simplified RGB to luminosity converter. [013] FIG. 3 is an embodiment of an simplified RGB to chrominance converter. [014] FIG. 4 is an embodiment of a hue angle calculator. [015] FIG. 5 is a portion of a hue angle calculator. [016] FIG. 6 is one stage of a division unit embodiment. [017] FIG. 7 is one embodiment of a five division units connected to perform a 5-bit divide [018] FIG. 8 is RG case of a 3x3 matrix multiplier simplified embodiment. [019] FIG. 9 is the GB case of a 3x3 matrix multiplier simplifed embodiment. [020] FIG. 10 is the BR case of a 3x3 matrix multiplier simplified embodiment. [021] FIG. 11 is one embodiment of a gamut claming circuit. [022] FIG. 12 is one embodiment of a W selector. [023] FIG. 13 is one embodiment of a diagram showing reduced bandwith by delaying the W selection. [024] FIG. 14 is one embodiment of a diagram showing RGBW conversion and SPR in hardware. [025] FIG. 15 is one embodiment of a diagram showing a software implementaion of RGBW and SPR with simplified display hardware. [026] FIG. 16 is an alternate embodiment of a software implimentaion of RGBW and SPR
DETAILED DESCRIPTION [027] 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.
Architecture Overview [028] Several systems and methods for gamut mapping from one color space to another were disclosed in the above incorporated '200, '377, '396 and the '716 applications. The present application improves upon those systems and methods by disclosing additional savings, efficiencies and cost reduction in both the hardware and the software implementations of those systems. [029] One potential simplifying assumption that may lead to efficiencies is assuming that the target color space is RGBW. Given that assumption, there are many optimizations possible in the "gamut pipeline". For example, for a RGB to RGBW gamut mapping system, gamut expansion may not be very important or applicable; but gamut clamping might be desired after gamut conversion. Additionally, for multiprimary systems (e.g. RGBC or the like) that employ the 3x4 matrix multiply normally required for 4-primary multi-primary can be replaced by a 3x3 matrix multiplier and a MUX. Also, those 3x3 matrices, according to disclosed methods here and in application mentioned above, may have many elements that are zeros, ones, and/or powers of two. Such conditions may allow special purpose hardware to do the matrix multiplies with a reduced number of gates. [030] Figure 1 shows one possible gamut mapping system 100 from a RGB color space to a RGBW color space. RGB data input 102 (possibly 8 bits per color) is input into a chroma/luma converter 104. The output of block 104 could be one of a number of chrominance/luminance coordinates (e.g. Y, By,Ry or the like) and input into a hue angle calculator 106 which then could be passed to a hue angle triangle look-up table 108 (as previously described in the above incorporated applications). The hue angle triangle could then be converted into a multi-primary matrix look-up table 110 which loads matrix coefficients into 3x3 matrix multiply 112. It will be appreciated that the specification of the number of bits per line - in either the specification or the accompanying figures - are offered only to elucidate possible embodiment; but that the scope of the present invention is not limited to any particular data set or specified bandwidth on any data path.
Chroma Luma Converter [031]The "NTSC" formula for calculating luminosity is: Y=0.2126*R+0.7152*G+0.0511*B. However, for the purposes of calculating hue angle, the formula Y=(2*R+5*G+B)/8 may suffice as close enough and it can be advantegously calculated using only binary shifts and adds. This is equivalent to calculating Y=0.25*R+0.625*G+0.125*B. [032] Figure 2 shows one embodiment of a high level block diagram 200 that implements Y calculation as above. RGB data is input and the R is left shifted by 1 bit (i.e. multiply by 2) at 202, G data is left shifted 2 bits and added to itself (i.e. multiply by 5) at 204 and B data is added to the red which is then summed with the green total. The resulting sum is then right shifted by 3 bits at 206 to supply the final Y data as given above. It should be appreciated that the operation and their orders may be changed, as long as the arithmetic result is the same. [033] Figure 3 shows one embodiment of a chroma calculating block 300. The chroma component is a vector, two signed numbers, calculated from the formulae x=B-Y and y=R-Y. However, it may be desirable to use the absolute value of these numbers, so it is possible to calculate their absolute values directly and keep the signs separate. Comparators 302 and 304 are used to determine if B>Y and if R>Y, respectively. The results of these are saved as the signs of x and y for the hue angle calculator and also used to selectively swap the values before subtracting them. Subtraction may be accomplished as a twos compliment NEG operation 306 followed by an addition 308. As the values input are signed numbers, the NEG operation may result in an additional bit. However, this bit may be ignored in the addition since the sign is known to be one and the result is known to be a positive number. Alternatively, this functionality could be accomplished in a number of different ways, including to perform all possible subtractions for both values and select the positive ones at the end.
Hue Angle Calculator [034] It may be possible to combine the chroma/luma converter with the hue angle calculator and achieve certain optimizations. Figure 4 depicts one embodiment of such a combined hue angle calculator 400.
Absolute Value of Chroma [035] If the chroma/luma converter is combined with the hue angle calculator (as in blocks 402 and 404), the absolute values of the chroma are already available, including the signs as they would have been before taking the absolute values. Taking the absolute value helps to limit calculations to one quadrant of the possible color vector angles. It will be appreciated that the "Y" in blocks 402 and 404 refer to the luminance value; while "y" output from block 404 onward refers to a chrominance value.
Select Octant, y>x [036] The test as to whether the chroma y value is greater than the chroma x value may determine whether the hue angle is in the first or second octant of the vector angle or, alternatively, whether the angle is greater than 45 degrees. By swapping the x and y components of chroma (as possibly performed by block 406 in Figures 4 and 5), it is possible to limit the calculations to the first octant of all possible color vector angles. Of course, the result of the test may be saved for correcting the final output hue angle. Division module 408 supplies input data to the arctangent look up table, as will be discussed later. Action LUT [037] One embodiment of Action LUT 410 may comprise a small table of bits and offsets that are added in the final step to correct for the simplification of doing all the calculations in the first octant. One possible embodiment of the Action LUT is included below. In this example, the concatenation of the y<0 x<0 and y>x results is the address of this LUT. The output is a "neg" bit and an offset. The neg bit indicates if the negative of the arc tangent result is needed. The offset is an angle to add to the upper bits in the final step. It may be desirable to select the units of angle for the hue angle to produce only 256 "degrees" of angle around the color vector circle. This results in several convenient optimizations. One of these is that all the offsets in the Action LUT are multiples of 64 and the lower 6 bits were always zero and these did not need to be stored. Action LUT
Figure imgf000009_0001
y/x Divide [038] At block 408, the y component is divided by the x component of chroma. This can be done in many possible ways. One way might be to invert the x component into a fixed point fraction and then do a multiply with y. The inversion could be done in a LUT, however the results of the multiply may be inaccurate unless the multiply is sufficiently wide (e.g. 12 bits). It may be possible to accomplish the divide in a multiple step pipeline, using a module 600 ("DIV1") as shown in Figure 6. Each step in the division does a single shift, addition and selection. The output is the remainder for the next step and one bit of the result. After a finite number of steps, all the bits needed from the division will be available. [039] Figure 7 shows one possible embodiment 700 where x and y are 8bit data units and the result is a 5bit number. It should be noted that -x may be 9 bits, formed from an 8bit number that has been negated (twos compliment). When y is left shifted, it also becomes 9bits for the addition. Only the lower 8bits of the result may suffice for the Y OUT. Additionally, it might be possible to drop the least significant bit from both x and y, to allow using 8bit adders in all the DIN1 modules. The carry bit from the addition may be used to select either the input y value or the "subtracted" y value as the output. The inverse of the carry is the result bit. [040] In Figure 7, it is noted that the x component of chroma need only be negated (twos compliment) once at the start of the pipeline. It is also notes that the DIV1 module has been optimized for the case when x>y and when the result is a fixed point fraction less than 1. When x=0, the result will be zero. When x=y, the result would be all bits on, which is slightly smaller than the correct answer. However, as storing the correct answer would require another bit in the result, this small error may suffice to be close enough for hue angle calculations to realize some hardware efficiencies.
Arc Tangent LUT [041] The result of the division may be used as the index to an arc tangent table. One possible embodiment of the arc tangent table is shown below. As this table may be small, it may be possible to store both the positive and negative arc tangent values and use the neg bit from the Action LUT as the least significant bit of the address of the Arc Tangent LUT. In one embodiment in which the original values are 5 bit unsigned integers, their negatives may produce 6 bits to have room for the sign bit. However, the sign bit is typically identical to the input neg bit, so it may not necessary to store it and the table may remain 5bits wide.
Arc Tangent LUT
Figure imgf000010_0001
Figure imgf000011_0001
Final Addition [042] The result of the Arc Tangent LUT may be added to the offset selected from the Action LUT. However, this operation may be simpler than a full addition. Because the offset from the Action LUT may have a certain number of (e.g. 6) implied bits of zeros, the lower bits are not involved in the addition. To construct the final hue angle, the number of (e.g. 5) bits output by the Arc Tangent LUT are simply copied into the lower number of (e.g. 5) bits of the hue angle. The neg bit becomes the last (e.g. 6th) bit of hue angle, and additional (e.g. two) more copies of the neg bit are added to the offset bits from the action table to form the upper (e.g. two) bits of hue. Thus, in this one embodiment, only a two bit addition is necessary. This is shown in the following table.
Figure imgf000011_0002
Chromaticity Triangle LUT [043] The hue angle may be used as the index to a table to determine which chromaticity triangle the input color lies in. One embodiment of chromaticity triangle LUT is given below. In the case of RGBW, there may be only three chromaticity triangles, so the table may result in only one of three possible values. The calculations leading up to this look-up may trade-off the need for a larger LUT without such calculations.
Chromaticity Triangle LUT
Figure imgf000012_0001
Multi-Primary Matrix LUT [044] The chromaticity triangle number may, in turn, be used to select one of the multi- primary matrices, stored in LUT 110 in Figure 1, to be used in a color-space conversion step later. These numbers may change according to the characteristics of any given, different, display model - one embodiment of which is shown below. It should be noted that the conversion matrices may involve positive and negative numbers, so the multipliers may be signed — unless optimizations suggested herein are used. In one embodiment, the values in these matrices may be multiplied by 128 to allow room for 7 bits of value plus a sign bit. Thus, the results may be divided by 128 instead of 256. Multi-Primary Matrices
Figure imgf000013_0001
RGB Color Path Input Gamma LUT [045] In one embodiment, incoming data to the pipeline could be "sRGB", or nonlinear RGB. In such a case, it may be desirable to linearized this data in an (optional) input gamma table (as shown as block 103 in Figure 1) before performing color conversions or sub-pixel rendering. It should be noted that the hue angle may be calculated from the sRGB values, since the color conversion should preserve hue angle. This allows hue angle to be calculated with the nonlinear RGB values. One aspect of sRGB is that it acts somewhat as a compression scheme that allows image data to be stored in 8bits when it might normally require more. So, once the data is linearized, it may be desirable to store the resulting data in more bits to avoid any possible image defects. Thus, in the embodiment shown in Figure 1, input gamma block 103 converts the 8bit input data to 1 lbit linear RGB data. [046] If the input data turns out to be YCbCr or some other TV format, most of these also have an implied nonlinear transformation applied to them and may also require an input gamma table. For these formats, it may be desirable to convert into sRGB before sending it down the pipeline.
Multi-Primary Matrix Multiply Conversion [047] In one embodiment, it is possible to perform a 3x4 matrix multiply in order to effect RGB to RGBW color-space conversion. This might require 12 multipliers and adders. However, in RGBW, the W value may turn out to be equal to one of the other results, reducing the matrix multiply down to 3x3. In one embodiment, this may still be problematical to implement since each multiply is 11x8=12 bits with the 8bit coefficient signed as well. It should be noted that the multipliers input 1 lbit values but output 12bit results. This extra bit may be used to detect out-of- gamut values in the gamut clamping path described below. [048] Advantegeously, many of the coefficients in the matrices are either zero or powers of two. Of the remaining coefficients, multiplying by 168 can be done with three shifts and adds while 40 can be done by two shifts and adds. To take advantage of these constants, special purpose hardware can be designed for each chromaticity triangle. Fortunately, in RGBW, there are only three triangles so the hardware to do all the cases may remain simple. It is possible that all three formula will run in parallel with a MUX at the end to select the correct answer based on the chromaticity triangle number output by the hue angle path. Figures 8, 9 and 10 are embodiments that implement the calculation for the RGW, GBW and the BRW chromaticity triangles, respectively. Thus, in these embodiments, multiplying the 11 bit input numbers by the 8bit constants will result in 19bit numbers. When these are right shifted by 7, the final result will be a 12bit number. The upper bit on these values indicates that the color is out-of-gamut and is used by the gamut clamping path described later. It is also possible to generate negative results here, and these must be clamped to zero. [049] It should also be noted that each input color is multiplied by 168 in two of the three triangle cases. This calculation could be shared between the formula, only multiplying by 168 a total of three times, further reducing the total number of gates. It should also be noted that the exact constants used may change when the chromaticity of each new RGBW display model is measured.
Gamut Clamping Path [050] When black and white are mapped to the same colors in RGB and RGBW, the total gamut "volume" of RGBW may turn out to be smaller than RGB. Thus, there may be some colors, especially bright saturated ones, that exist in RGB but cannot be displayed in RGBW. When these colors appear, it may be desirable to manage this situation. Simply clamping the RGBW values to the maximum range may result in the hue of these colors being distorted. Instead the out-of-gamut colors could be detected and scaled in a way that preserves hue while bringing them back into range.
Detecting In-Gamut [051] The multipliers and accumulators in the multi -primary matrix conversion section above may be designed to return values larger than their input values. This is to allow out-of- gamut (O.O.G.) values to be calculated. These values are typically not more than twice the range of the input values, so one more bit may be allowed in the output for "overflow" values. If this extra overflow bit is zero in all three of the R G and B results, then the color is in gamut and it could be gated around the rest of the gamut clamping path. Figure 11 shows one embodiment of hardware that could effect the functionality of blocks 114 and or 116 in Figure 1. As may be seen, the upper bit (bit 11) of all three converted primaries are OR'ed (1102) together to produce the O.O.G. signal - which can then be used by multiplexors 1110 to select a bypass mode or data modified by the Inv LUT 1106.
Out-Of-Gamut Response [052] If the overflow bit in any one of the R G and B results is on, this indicates that an out-of-gamut color has resulted and all three of the primaries may be scaled by some factor - e.g. the same factor. Scaling all three components by the same factor may tend to decrease luminosity and saturation but preserve hue. This scale factor typically is a number slightly less than one, so it may be a fixed point binary fraction.
Maximum Component [053] One manner of handling out of gamut data is to calculate the ratio of distance to the edge of the gamut relative to the out-of-gamut distance as the gamut scaling factor to bring out-of- gamut values back in range. In one mode of calculation, this might require calculating two square roots. In another embodiment, the ratio of the width of the color-space relative to the maximum component of the out-of-gamut color may yield the same result ~ without need of costly square root calculations. This may be seen by looking at similar triangles within the gamut. The width of the color-space tends to be a power of two (e.g. 2U for the case of 11 bit linear RGB values) and becomes a convenient bit shift. MAX block 1104 selects the maximum component of the out-of- gamut color.
Inverse LUT [054] The maximum out-of-gamut component is inverted by looking it up in an inverse LUT 1106. In one embodiment, although using 12bit converted values will allow 2-times out of gamut values, in practice, it may be rare that it will be more than 25% above the maximum allowed value. This allows the Inverse LUT to have only 256 entries. The lower 8bits of the maximum out-of-gamut component may be used as an index into this table. A table of inverses may contain some errors, but the first 25% of the 1/x table is typically not where the errors occur, so this may suffice. Clamping Multipliers [055] In one embodiment, the Inverse LUT may have 12bit values in it, so three 12x11=11 multipliers may suffice to scale out-of-gamut values back down into range. The output of the multipliers may only be 11 bits because the inverse numbers could be expressed as fixed point binary numbers between 0.75 and 1. It is also possible that the inverse table could be a little narrower, perhaps only 8bits per inverse value, resulting in significant savings in gates by using a 12x8=11 multiplier. [056] When the R G and B components output from the multi-primary matrix multiply are out-of-gamut, they may be multiplied by the output of the Inverse LUT. When the value is in gamut, the input values may be gated around the multipliers, thus bypassing the gamut clamping.
White Selection [057] As mentioned above, the W value of RGBW may turn out to be equal to one of the other primaries, so selecting W may be delayed until later to avoid duplicate processing. Figure 12 shows one embodiment of hardware that selects the W value from one of the other converted primaries with a MUX. The result will be 4 primaries, RGB and W and this concludes the RGB to RGBW multi-primary conversion. It should be noted that the W value is equal to one of the other primaries up to this stage, but since the Sub-Pixel Rendering treats W different than the other primaries, the final results to the display will be a W value different than any of the other primaries.
Sub-Pixel Rendering and Output Gamma [058] In one embodiment, the output from multi-primary conversion may be linear color components so the sub-pixel rendering module will not have to perform input gamma conversion. This also means that the input components may have more than 8bits per primary (e.g. 1 lbits in one embodiment). In the embodiment of Figure 1, there is shown output gamma being performed after the sub-pixel rendering to show that the data can stay in the linear domain until the last moment before being converted to send to the display. It should be appreciated that such an output gamma table may be tailored for the particular display panel.
Optional Output Gamma LUT [059] In other embodiments, it is possible that the RGBW display may employ more than one step on more than one board. Thus, between boards, it may be desirable to transmit the data on standard interfaces with 8bit values. As mentioned above, truncating the linear components to 8bits is not preferred. One manner to compensate is to convert the data for transmission by applying the sRGB non-linear transformation to the data on the way out. Then, the second board can perform input gamma correction to linearize the data again to 11 bits. [060] It may also be difficult to send 4-primary colors between the boards. Figure 13 depicts one embodiment. The system sends two bits of information along with three (RGB) primary colors, the W selection MUX can be moved onto the second board and the W primary will not have to be transmitted between boards. The two bits of information sent would be the chromaticity triangle number calculated on the hue angle path.
RGBW Simplified for Low Cost Implementations [061] The complexity of doing multi-primary conversions seems to have confined RGBW to used only in high-end systems. However, there may be ways to use the multi-primary conversions for RGBW in low cost displays. The few remaining multiplies by odd constants may be done in software in some implementations, or perhaps it is suffices to convert those constants into numbers that are easier to implement in hardware. [062] When the primaries and white point are identical to the sRGB standard, the matrices become even simpler. The sRGB primaries and white point results in numbers that can be multiplied with only 2 or 3 shifts and adds as shown above and in Figures 8, 9 and 10. The limiting factor may be the complexity of the SPR algorithms.
Figure imgf000017_0001
[063] The above table has the CIE Chromaticity values for the sRGB standard. Using these values the CIE XYZ coordinates of the D65 white point can be calculated and the conversion matrix for converting linear RGB values into CIE XYZ tristimulus values can be derived:
Figure imgf000017_0002
[064] Additionally, one possible matrix that converts RGBW values into CIE XYZ tristimulus values using the above primaries is as follows: f θ.314179 0.272425 0.137499 0.226353^ W2X = 0.161998 0.54485 0.055 0.238153 0.014727 0.090808 0.724161 0.259362,/
[065] The matrices that convert CIE XYZ tristimulus values into RGBW values are given below as:
Figure imgf000018_0001
[066] An input color would be converted using one of these three matrices, depending on which chromaticity triangle it lies in. These coefficients may be derived using the standard sRGB chromaticities. Using the same primaries for the input data and the display simplify these matrices. [067] When the color primary assumptions of an input image are not known, sRGB assumptions may be used. Input RGB values would be converted to CIE XYZ by using the R2X matrix mentioned earlier, then converted to RGBW using one of the three matrices above. In practice, the R2X matrix can be combined with each of the other three matrices beforehand so that only one matrix multiply suffices for each input color. Also in a low cost implementation the matrices are converted to integers by multiplying them by some power of two:
Figure imgf000018_0002
[068] In the above example, the matrices are combined then multiplied by 64 to convert their coefficients into fixed point binary numbers with 6 bits below the binary point. Other powers of two will work, depending on the precision required and the hardware available. Using a value of 64 in this case results in coefficients that will fit in 8bit bytes with a sign bit. This results in low- cost implimentations where only 8bit arithmetic can be done. In implimentations with 16bit arithmetic a larger multiplier than 64 could be used. [069] These matrices involve multiplying by 0, by 64 (which is multiplying by one after the fixed point binary shift), by 84 and by 20. Multiplying by 20 can be done with two shifts and an add, multiplying by 84 can be done by three shifts and two adds. Two subtracts are always required after the multiplies. This is simple enough to impliment in hardware or software so it is not necessary to try and find more convenient numbers. [070] The conversion from sRGB to RGBW can be done in hardware fairly inexpensively. Sub-pixel rendering may require line buffers and filters running at display refresh rates. If a system has hardware SPR, the addition of logic to do RGBW is not appreciably more difficult. In the hardware model, all the RGB values are fetched once for every frame time, converted to RGBW, shifted through line buffers, area resample filtered, sent to the TCON and/or display and forgotten. This system is depicted in Figure 14. [071] However, in one embodiment of a low cost implementation, SPR may be done in software, as opposed to hardware. Thus, it is reasonable to add RGBW calculations in software as well. In one embodiment, there may be some frame buffers to access. For example, if there is a RGB frame buffer in system memory that application programs write to, then a software driver may convert this data to the sub-pixel rendered version and store it in a hardware frame buffer. Such a sytem is depicted in Figure 15. Optionally, the system could have the driver convert small rectangular areas that have changed, and not require that the entire display be reconverted every time any change is made. [072] Often, the software driver may not completely simulate the hardware. For example the software may not have line buffers but does random-access reads to the RGB frame buffer instead. This might require recalculating RGBW values from the RGB values every time they are fetched. For example, in one embodiment, the SPR filters could be 2x3 coefficients. Thus, in this case, each RGB value might be fetched and converted 6 times in the course of re-rendering the area around it. [073] In one embodiment, determining the chromaticity triangle number could be reduced to 4 compares. Matrix multiply can be done with 5 shifts, three adds and two subtracts. Gamut clamping may require two compares and three divides. Gamut clamping may be done on a small subset of colors and a simple set of 3 tests determines if this step can be skipped. If the processor is fast enough and can do the divisions (or at least, inverse table lookup and multiply) then this may suffice. [074] However, on a slower processor, with sufficient memory to store another copy of the frame buffer, the time spent converting to RGBW may be reduced by converting every RGB pixel to RGBW only once and storing them in an intermediate frame buffer. For one example, consider a 120x160 by 24bit RGB display. Storing a copy of the RGB frame buffer may take only 58Kbytes. The RGBW intermediate frame buffer would be 77Kbytes. After SPR the hardware frame buffer would only be 39Kbytes. Such a system is depicted in Figure 16. [075] One additional embodiment might replace the RGBW frame buffer with smaller line buffers. With more software processing, it is possible to build line-buffers of RGBW values similar to the line buffers in typical SPR hardware implementations. Two line buffers the width of the display might suffice. In this version, the RGB values are only fetched and converted once, then read multiple times out of the line buffers. [076] 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.

Claims

What is claimed is: 1. A system for converting input image data in a first color space to output image data in a second color space, wherein said second color space comprises an RGBW format, said system comprising: a converter for calculating chroma/luma values and calculating hue angle of said input image data from a first color space; a hue angle triangle calculator, said hue angle triangle calculator determines in which chromaticity triangle the input data resides; a matrix multiply unit, said unit multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination.
2. The system of Claim 1 wherein said converter further comprises a means for calculating the absolute value of chrominance data from said input image data.
3. The system of Claim 2 wherein said converter further comprises a means for determining the octant of the hue angle of the input image data.
4. The system of Claim 3 wherein said converter further comprises a means for swapping the x and y chroma values, depending upon the results of a test condition.
5. The system of Claim 1 wherein said matrix multiply unit further comprises means for selecting at least one 3x3 matrix for converting said input image data.
6. The system of Claim 1 wherein said matrix multiply unit comprises a means for calculating a plurality of chromaticity triangle conversions and a multiplexor for selecting one of said plurality of chromaticity triangle conversions.
7. The system of Claim 1 wherein said system further comprises: out of gamut detection unit; and gamut clamping unit to clamp the gamut of detected out of gamut image data.
8. The system of Claim 7 wherein said gamut clamping unit computes the the ratio of the width of the color-space relative to the maximum component of the out-of-gamut color.
9. The system of Claim 1 wherein the color primaries and white point of said input color data are identical to the sRGB standard.
10. The system of Claim 1 wherein the color primaries of said input color data are not known, and said system converts said input color data to CIE XYZ and into RGBW data.
11. A method for converting input image data in a first color space to output image data in a second color space, wherein said second color space comprises an RGBW format, the steps of said method comprising: calculating chroma/luma values and calculating hue angle of said input image data from a first color space; determining which chromaticity triangle the input data resides; multiplying the input data with a conversion matrix selected depending upon the chromaticity triangle determination.
12. The method of Claim 11 wherein said step of calculation further comprises calculating the absolute value of chrominance data from said input image data.
13. The method of Claim 12 wherein said step of calculating further comprises determining the octant of the hue angle of the input image data.
14. The method of Claim 13 wherein said step of calculating further comprises swapping the x and y chroma values, depending upon the results of a test condition.
15. The method of Claim 11 wherein said step of multiplying further comprises selecting at least one 3x3 matrix for converting said input image data.
16. The method of Claim 11 wherein said step of multiplying further comprises calculating a plurality of chromaticity triangle conversions; and selecting one of said plurality of chromaticity triangle conversions.
17. The method of Claim 11 wherein said method further comprises: detecting out of gamut condition; and clamping the gamut of detected out of gamut image data.
18. The method of Claim 17 wherein said step of clamping further comprises: computing the the ratio of the width of the color-space relative to the maximum component of the out-of-gamut color.
19. The method of Claim 11 wherein the color primaries and white point of said input color data are identical to the sRGB standard.
20. The method of Claim 11 wherein said method further comprises converting said input color data to CIE XYZ and into RGBW data.
PCT/US2005/010021 2004-04-09 2005-03-23 Systems and methods for improved gamut mapping from one image data set to another WO2005104083A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/821,306 US7619637B2 (en) 2004-04-09 2004-04-09 Systems and methods for improved gamut mapping from one image data set to another
US10/821,306 2004-04-09

Publications (2)

Publication Number Publication Date
WO2005104083A2 true WO2005104083A2 (en) 2005-11-03
WO2005104083A3 WO2005104083A3 (en) 2006-08-31

Family

ID=35060098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/010021 WO2005104083A2 (en) 2004-04-09 2005-03-23 Systems and methods for improved gamut mapping from one image data set to another

Country Status (4)

Country Link
US (1) US7619637B2 (en)
CN (2) CN101329859B (en)
TW (1) TWI278826B (en)
WO (1) WO2005104083A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8890901B2 (en) 2009-09-09 2014-11-18 Realtek Semiconductor Corp. Color management circuit and related method

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289233B1 (en) 2003-02-04 2012-10-16 Imaging Systems Technology Error diffusion
US8305301B1 (en) 2003-02-04 2012-11-06 Imaging Systems Technology Gamma correction
US7176935B2 (en) * 2003-10-21 2007-02-13 Clairvoyante, Inc. Gamut conversion system and methods
US7598961B2 (en) * 2003-10-21 2009-10-06 Samsung Electronics Co., Ltd. method and apparatus for converting from a source color space to a target color space
US7728846B2 (en) 2003-10-21 2010-06-01 Samsung Electronics Co., Ltd. Method and apparatus for converting from source color space to RGBW target color space
US7301543B2 (en) 2004-04-09 2007-11-27 Clairvoyante, Inc. Systems and methods for selecting a white point for image displays
US7619637B2 (en) 2004-04-09 2009-11-17 Samsung Electronics Co., Ltd. Systems and methods for improved gamut mapping from one image data set to another
US7248268B2 (en) 2004-04-09 2007-07-24 Clairvoyante, Inc Subpixel rendering filters for high brightness subpixel layouts
KR20060014213A (en) * 2004-08-10 2006-02-15 엘지.필립스 엘시디 주식회사 Circuit for driving organic light emitting diode device and method for driving with using the same
KR100648310B1 (en) * 2004-09-24 2006-11-23 삼성전자주식회사 The color transforming device using the brightness information of the image and display device comprising it
JP2008064771A (en) * 2004-12-27 2008-03-21 Sharp Corp Display panel drive unit, display device provided with the same, and display panel driving method, and program and recording medium
US7986291B2 (en) * 2005-01-24 2011-07-26 Koninklijke Philips Electronics N.V. Method of driving displays comprising a conversion from the RGB colour space to the RGBW colour space
JP4145888B2 (en) * 2005-03-23 2008-09-03 セイコーエプソン株式会社 Display device and display method
US7990393B2 (en) * 2005-04-04 2011-08-02 Samsung Electronics Co., Ltd. Systems and methods for implementing low cost gamut mapping algorithms
CN1882103B (en) * 2005-04-04 2010-06-23 三星电子株式会社 Systems and methods for implementing improved gamut mapping algorithms
EP1885865A4 (en) * 2005-05-12 2010-12-22 Univ North Carolina Enzymatic synthesis of sulfated polysaccharides
EP1882234B1 (en) 2005-05-20 2019-01-02 Samsung Display Co., Ltd. Multiprimary color subpixel rendering with metameric filtering
US7557817B2 (en) * 2005-08-23 2009-07-07 Seiko Epson Corporation Method and apparatus for overlaying reduced color resolution images
WO2007047534A1 (en) 2005-10-14 2007-04-26 Clairvoyante, Inc. Improved memory structures for image processing
KR101287039B1 (en) 2005-10-14 2013-07-23 삼성디스플레이 주식회사 Improved gamut mapping and subpixel rendering system and method
US8107762B2 (en) 2006-03-17 2012-01-31 Qualcomm Incorporated Systems, methods, and apparatus for exposure control
US7592996B2 (en) * 2006-06-02 2009-09-22 Samsung Electronics Co., Ltd. Multiprimary color display with dynamic gamut mapping
EP2038734A4 (en) 2006-06-02 2009-09-09 Samsung Electronics Co Ltd High dynamic contrast display system having multiple segmented backlight
EP2055092A1 (en) * 2006-08-16 2009-05-06 Koninklijke Philips Electronics N.V. Image gamut mapping
US7876341B2 (en) 2006-08-28 2011-01-25 Samsung Electronics Co., Ltd. Subpixel layouts for high brightness displays and systems
US8018476B2 (en) 2006-08-28 2011-09-13 Samsung Electronics Co., Ltd. Subpixel layouts for high brightness displays and systems
WO2008039764A2 (en) 2006-09-30 2008-04-03 Clairvoyante, Inc. Systems and methods for reducing desaturation of images rendered on high brightness displays
JP2008096548A (en) * 2006-10-10 2008-04-24 Hitachi Displays Ltd Display device
CN101663605B (en) 2007-02-13 2013-07-31 三星显示有限公司 Subpixel layouts and subpixel rendering methods for directional displays and systems
US8248328B1 (en) 2007-05-10 2012-08-21 Imaging Systems Technology Plasma-shell PDP with artifact reduction
US7567370B2 (en) * 2007-07-26 2009-07-28 Hewlett-Packard Development Company, L.P. Color display having layer dependent spatial resolution and related method
KR101329125B1 (en) * 2007-08-13 2013-11-14 삼성전자주식회사 Rgb to rgbw color decomposition method and system
US8749861B2 (en) * 2007-09-28 2014-06-10 Xerox Corporation L*a*b* scanning using RGB-clear
KR101273468B1 (en) * 2007-10-01 2013-06-14 삼성전자주식회사 System and method for convert rgb to rgbw color using white value extraction
US8295594B2 (en) * 2007-10-09 2012-10-23 Samsung Display Co., Ltd. Systems and methods for selective handling of out-of-gamut color conversions
US7697176B2 (en) * 2007-12-18 2010-04-13 Eastman Kodak Company Method and apparatus for chromatic adaptation
TWI399697B (en) * 2008-02-15 2013-06-21 Univ Nat Central Color reading and writing system and its reading and writing method
TWI415105B (en) * 2009-03-23 2013-11-11 Au Optronics Corp Display device and driving method thereof
CN102292991B (en) * 2009-05-15 2014-10-08 夏普株式会社 Image processing device and image processing method
CN102918435A (en) 2010-04-16 2013-02-06 弗莱克斯照明第二有限责任公司 Sign comprising a film-based lightguide
CA2796519A1 (en) 2010-04-16 2011-10-20 Flex Lighting Ii, Llc Illumination device comprising a film-based lightguide
CN101866642B (en) * 2010-06-11 2012-04-18 华映视讯(吴江)有限公司 Red-green-blue-white light display system and image display method thereof
CN102769758A (en) * 2012-07-18 2012-11-07 京东方科技集团股份有限公司 Method and system for processing RGB (red, green and blue) data
KR101990956B1 (en) * 2012-11-20 2019-06-20 삼성디스플레이 주식회사 Device for converting color gamut and method thereof
WO2014084153A1 (en) * 2012-11-28 2014-06-05 Semiconductor Energy Laboratory Co., Ltd. Display device
US20150365689A1 (en) * 2014-06-11 2015-12-17 Samsung Electronics Co., Ltd. Image processing apparatus and method
US9858845B2 (en) * 2014-10-22 2018-01-02 Snaptrack, Inc. Display incorporating dynamic saturation compensating gamut mapping
CN104269138B (en) * 2014-10-24 2017-04-05 京东方科技集团股份有限公司 White light OLED display device and its display control method, display control unit
CN104505053B (en) * 2015-01-04 2017-03-15 京东方科技集团股份有限公司 Show signal conversion method and device
CN105185288A (en) 2015-08-28 2015-12-23 京东方科技集团股份有限公司 Pixel array, display driving unit, driving method and display device
JP2018021963A (en) * 2016-08-01 2018-02-08 株式会社ジャパンディスプレイ Display device and display method
KR102266087B1 (en) * 2017-04-11 2021-06-18 삼성디스플레이 주식회사 Device for determining residual image of display device and method for determining residual image of display device
US10346163B2 (en) * 2017-11-01 2019-07-09 Apple Inc. Matrix computation engine
CN108184037B (en) * 2017-12-12 2019-09-27 维沃移动通信有限公司 A kind of image display method and mobile terminal
US10970078B2 (en) 2018-04-05 2021-04-06 Apple Inc. Computation engine with upsize/interleave and downsize/deinterleave options
US10642620B2 (en) 2018-04-05 2020-05-05 Apple Inc. Computation engine with strided dot product
US10754649B2 (en) 2018-07-24 2020-08-25 Apple Inc. Computation engine that operates in matrix and vector modes
US10831488B1 (en) 2018-08-20 2020-11-10 Apple Inc. Computation engine with extract instructions to minimize memory access

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081796A (en) * 1995-01-31 2000-06-27 Matsushita Electric Industrial Co., Ltd. Proportion predicting system and method of making mixture

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439759A (en) * 1981-05-19 1984-03-27 Bell Telephone Laboratories, Incorporated Terminal independent color memory for a digital image display system
US4751535A (en) * 1986-10-15 1988-06-14 Xerox Corporation Color-matched printing
JPS6459318A (en) * 1987-08-18 1989-03-07 Ibm Color liquid crystal display device and manufacture thereof
US4989079A (en) * 1987-10-23 1991-01-29 Ricoh Company, Ltd. Color correction device and method having a hue area judgement unit
US5341153A (en) * 1988-06-13 1994-08-23 International Business Machines Corporation Method of and apparatus for displaying a multicolor image
US5448652A (en) * 1991-09-27 1995-09-05 E. I. Du Pont De Nemours And Company Adaptive display system
JPH05241551A (en) * 1991-11-07 1993-09-21 Canon Inc Image processor
US5416890A (en) * 1991-12-11 1995-05-16 Xerox Corporation Graphical user interface for controlling color gamut clipping
US5233385A (en) * 1991-12-18 1993-08-03 Texas Instruments Incorporated White light enhanced color field sequential projection
US5459595A (en) * 1992-02-07 1995-10-17 Sharp Kabushiki Kaisha Active matrix liquid crystal display
DE4310727C2 (en) * 1992-04-06 1996-07-11 Hell Ag Linotype Method and device for analyzing image templates
US5438649A (en) * 1992-10-05 1995-08-01 Canon Information Systems, Inc. Color printing method and apparatus which compensates for Abney effect
DE69431006D1 (en) * 1993-01-11 2002-08-29 Canon Kk Clipping the hue area
JP3305794B2 (en) 1993-03-03 2002-07-24 日本放送協会 Primary color conversion method and apparatus for multi-primary color display
US5311295A (en) * 1993-04-12 1994-05-10 Tektronix, Inc. RGB display of a transcoded serial digital signal
US5398066A (en) * 1993-07-27 1995-03-14 Sri International Method and apparatus for compression and decompression of digital color images
GB2282928B (en) 1993-10-05 1998-01-07 British Broadcasting Corp Method and apparatus for decoding colour video signals for display
EP0679020A1 (en) * 1994-04-19 1995-10-25 Eastman Kodak Company Method and apparatus for constrained gamut clipping
JPH089172A (en) * 1994-06-15 1996-01-12 Fuji Xerox Co Ltd Color image processing unit
US5450216A (en) * 1994-08-12 1995-09-12 International Business Machines Corporation Color image gamut-mapping system with chroma enhancement at human-insensitive spatial frequencies
JP2726631B2 (en) * 1994-12-14 1998-03-11 インターナショナル・ビジネス・マシーンズ・コーポレイション LCD display method
JPH08202317A (en) 1995-01-31 1996-08-09 Mitsubishi Electric Corp Liquid crystal display device and its driving method
JP3400888B2 (en) * 1995-03-29 2003-04-28 大日本スクリーン製造株式会社 How to change the color of a color image
JP3600372B2 (en) * 1995-06-27 2004-12-15 株式会社リコー Apparatus and method for correcting color gamut
JP3163987B2 (en) * 1995-09-04 2001-05-08 富士ゼロックス株式会社 Image processing apparatus and gamut adjustment method
TWI287652B (en) * 1995-09-11 2007-10-01 Hitachi Ltd Color liquid crystal display device
JPH0998298A (en) * 1995-09-29 1997-04-08 Sony Corp Color area compression method and device
US6137560A (en) * 1995-10-23 2000-10-24 Hitachi, Ltd. Active matrix type liquid crystal display apparatus with light source color compensation
KR100275681B1 (en) * 1996-08-28 2000-12-15 윤종용 Apparatus for changing rcc table by extracting histogram
TW417074B (en) * 1996-09-06 2001-01-01 Matsushita Electric Ind Co Ltd Display device
JPH10164380A (en) * 1996-10-04 1998-06-19 Canon Inc Device and method for processing image
JPH10178557A (en) * 1996-10-14 1998-06-30 Oki Data:Kk Color image processing method
US5917556A (en) * 1997-03-19 1999-06-29 Eastman Kodak Company Split white balance processing of a color image
US6707463B1 (en) * 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6256425B1 (en) * 1997-05-30 2001-07-03 Texas Instruments Incorporated Adaptive white light enhancement for displays
US6108053A (en) * 1997-05-30 2000-08-22 Texas Instruments Incorporated Method of calibrating a color wheel system having a clear segment
US6054832A (en) * 1997-05-30 2000-04-25 Texas Instruments Incorporated Electronically programmable color wheel
US5990997A (en) * 1997-06-05 1999-11-23 Ois Optical Imaging Systems, Inc. NW twisted nematic LCD with negative tilted retarders for improved viewing characteristics
US5963263A (en) * 1997-06-10 1999-10-05 Winbond Electronic Corp. Method and apparatus requiring fewer number of look-up tables for converting luminance-chrominance color space signals to RGB color space signals
US6005968A (en) * 1997-08-29 1999-12-21 X-Rite, Incorporated Scanner calibration and correction techniques using scaled lightness values
US6147664A (en) * 1997-08-29 2000-11-14 Candescent Technologies Corporation Controlling the brightness of an FED device using PWM on the row side and AM on the column side
US6453067B1 (en) * 1997-10-20 2002-09-17 Texas Instruments Incorporated Brightness gain using white segment with hue and gain correction
JPH11313219A (en) * 1998-01-20 1999-11-09 Fujitsu Ltd Color data conversion method
JPH11275377A (en) * 1998-03-25 1999-10-08 Fujitsu Ltd Method and device for converting color data
US6181445B1 (en) * 1998-03-30 2001-01-30 Seiko Epson Corporation Device-independent and medium-independent color matching between an input device and an output device
US6278434B1 (en) * 1998-10-07 2001-08-21 Microsoft Corporation Non-square scaling of image data to be mapped to pixel sub-components
US6393145B2 (en) 1999-01-12 2002-05-21 Microsoft Corporation Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices
US6262710B1 (en) * 1999-05-25 2001-07-17 Intel Corporation Performing color conversion in extended color polymer displays
JP2000338950A (en) * 1999-05-26 2000-12-08 Olympus Optical Co Ltd Color reproduction system
US6738526B1 (en) * 1999-07-30 2004-05-18 Microsoft Corporation Method and apparatus for filtering and caching data representing images
US6483518B1 (en) * 1999-08-06 2002-11-19 Mitsubishi Electric Research Laboratories, Inc. Representing a color gamut with a hierarchical distance field
KR100314097B1 (en) * 1999-10-08 2001-11-26 윤종용 Method and apparatus for generating white component and for controlling the brightness in display devices
US6750874B1 (en) * 1999-11-06 2004-06-15 Samsung Electronics Co., Ltd. Display device using single liquid crystal display panel
EP1147509A1 (en) 1999-11-12 2001-10-24 Koninklijke Philips Electronics N.V. Liquid crystal display device with high brightness
US6894806B1 (en) * 2000-03-31 2005-05-17 Eastman Kodak Company Color transform method for the mapping of colors in images
WO2001086617A1 (en) * 2000-05-09 2001-11-15 Koninklijke Philips Electronics N.V. Method of and unit for displaying an image in sub-fields
US6870523B1 (en) * 2000-06-07 2005-03-22 Genoa Color Technologies Device, system and method for electronic true color display
JP3450842B2 (en) * 2000-11-30 2003-09-29 キヤノン株式会社 Color liquid crystal display
EP1227687A3 (en) * 2000-12-30 2005-05-25 Texas Instruments Incorporated System for reducing color separation artifacts in sequential color displays
TW540022B (en) * 2001-03-27 2003-07-01 Koninkl Philips Electronics Nv Display device and method of displaying an image
DE60237084D1 (en) * 2001-06-07 2010-09-02 Genoa Color Technologies Ltd DATA PROCESSING SYSTEM AND METHOD FOR BIG LEADER INDICATORS
US6868179B2 (en) * 2001-07-06 2005-03-15 Jasc Software, Inc. Automatic saturation adjustment
KR100806897B1 (en) * 2001-08-07 2008-02-22 삼성전자주식회사 a thin film transistor array for a liquid crystal display
JP4565260B2 (en) * 2001-09-21 2010-10-20 株式会社ニコン Signal processing device
JP2005505801A (en) * 2001-10-19 2005-02-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method for displaying an image, image processing unit, and display device having the display processing unit
US6719392B2 (en) * 2001-12-20 2004-04-13 International Business Machines Corporation Optimized color ranges in gamut mapping
US7027105B2 (en) * 2002-02-08 2006-04-11 Samsung Electronics Co., Ltd. Method and apparatus for changing brightness of image
JP4130744B2 (en) * 2002-03-19 2008-08-06 株式会社沖データ Image processing apparatus and image processing method
KR100878280B1 (en) * 2002-11-20 2009-01-13 삼성전자주식회사 Liquid crystal displays using 4 color and panel for the same
US6889775B2 (en) * 2002-08-20 2005-05-10 Fike Corporation Retrofitted non-Halon fire suppression system and method of retrofitting existing Halon based systems
TW200405082A (en) * 2002-09-11 2004-04-01 Samsung Electronics Co Ltd Four color liquid crystal display and driving device and method thereof
EP1563483B1 (en) 2002-10-31 2013-08-28 Genoa Color Technologies Ltd. System and method of selective adjustment of a color display
US20040111435A1 (en) * 2002-12-06 2004-06-10 Franz Herbert System for selecting and creating composition formulations
US7184067B2 (en) * 2003-03-13 2007-02-27 Eastman Kodak Company Color OLED display system
KR100493165B1 (en) * 2002-12-17 2005-06-02 삼성전자주식회사 Method and apparatus for rendering image signal
KR100915238B1 (en) 2003-03-24 2009-09-02 삼성전자주식회사 Liquid crystal display
KR100943273B1 (en) * 2003-05-07 2010-02-23 삼성전자주식회사 Method and apparatus for converting a 4-color, and organic electro-luminescent display device and using the same
US6903378B2 (en) * 2003-06-26 2005-06-07 Eastman Kodak Company Stacked OLED display having improved efficiency
US7212359B2 (en) * 2003-07-25 2007-05-01 Texas Instruments Incorporated Color rendering of illumination light in display systems
US6980219B2 (en) * 2003-10-21 2005-12-27 Clairvoyante, Inc Hue angle calculation system and methods
US7728846B2 (en) * 2003-10-21 2010-06-01 Samsung Electronics Co., Ltd. Method and apparatus for converting from source color space to RGBW target color space
US7598961B2 (en) * 2003-10-21 2009-10-06 Samsung Electronics Co., Ltd. method and apparatus for converting from a source color space to a target color space
US7176935B2 (en) * 2003-10-21 2007-02-13 Clairvoyante, Inc. Gamut conversion system and methods
US7706604B2 (en) * 2003-11-03 2010-04-27 Seiko Epson Corporation Production of color conversion profile for printing
US6885380B1 (en) * 2003-11-07 2005-04-26 Eastman Kodak Company Method for transforming three colors input signals to four or more output signals for a color display
WO2005050296A1 (en) 2003-11-20 2005-06-02 Samsung Electronics Co., Ltd. Apparatus and method of converting image signal for six color display device, and six color display device having optimum subpixel arrangement
KR101012790B1 (en) * 2003-12-30 2011-02-08 삼성전자주식회사 Apparatus and method of converting image signal for four color display device, and display device comprising the same
US7308135B2 (en) * 2004-01-14 2007-12-11 Eastman Kodak Company Constructing extended color gamut digital images from limited color gamut digital images
US9412316B2 (en) 2004-02-09 2016-08-09 Samsung Display Co., Ltd. Method, device and system of displaying a more-than-three primary color image
US7333080B2 (en) * 2004-03-29 2008-02-19 Eastman Kodak Company Color OLED display with improved power efficiency
US7301543B2 (en) * 2004-04-09 2007-11-27 Clairvoyante, Inc. Systems and methods for selecting a white point for image displays
US7619637B2 (en) 2004-04-09 2009-11-17 Samsung Electronics Co., Ltd. Systems and methods for improved gamut mapping from one image data set to another
CN1882103B (en) * 2005-04-04 2010-06-23 三星电子株式会社 Systems and methods for implementing improved gamut mapping algorithms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081796A (en) * 1995-01-31 2000-06-27 Matsushita Electric Industrial Co., Ltd. Proportion predicting system and method of making mixture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8890901B2 (en) 2009-09-09 2014-11-18 Realtek Semiconductor Corp. Color management circuit and related method

Also Published As

Publication number Publication date
CN101329859A (en) 2008-12-24
US7619637B2 (en) 2009-11-17
CN1938752A (en) 2007-03-28
US20050225562A1 (en) 2005-10-13
TW200534229A (en) 2005-10-16
TWI278826B (en) 2007-04-11
CN101329859B (en) 2011-06-15
CN100505034C (en) 2009-06-24
WO2005104083A3 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
US7619637B2 (en) Systems and methods for improved gamut mapping from one image data set to another
US7589743B2 (en) Hue angle calculation system and methods
JP4705917B2 (en) Method and apparatus for converting from a source color space to a target color space
JP5153336B2 (en) Method for reducing motion blur in a liquid crystal cell
US6043804A (en) Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation
US7081899B2 (en) Image processing support system, image processing device and image display device
WO2006108083A2 (en) Systems and methods for implementing low cost gamut mapping algorithms
WO2005043459A2 (en) Method and apparatus for converting from source color space to rgbw target color space
GB2476722A (en) Colour Gamut Space Conversion
KR20090036513A (en) Systems and methods for selective handling of out-of-gamut color conversions
US20080007565A1 (en) Color correction circuit, driving device, and display device
US20080266315A1 (en) Method and apparatus for displaying images having wide color gamut
WO2005043507A1 (en) Gamut conversion system and methods
US6972778B2 (en) Color re-mapping for color sequential displays
TWI707336B (en) Over-drive compensation method and device thereof
JP4998145B2 (en) Image processing apparatus, image processing method, image processing program, recording medium storing image processing program, and image display apparatus
JP2008067343A (en) Color correction circuit, drive device, and display device
Miller et al. Display Signal Processing
KR100753668B1 (en) Display Drive Device Reducing Memory Usage and Method Thereof
KR20220039232A (en) Field-sequential-color display device
JP2022007871A (en) Image generation apparatus, display apparatus, control method, system, program, and storage medium
CN112349253A (en) Overdrive compensation method and apparatus thereof
KR20050019790A (en) Color re-mapping for color sequential displays

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 5178/DELNP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 200580010076.1

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

122 Ep: pct application non-entry in european phase