Color mapping techniques for color imaging devices

Information

  • Patent Application
  • 20080043260
  • Publication Number
    20080043260
  • Date Filed
    August 21, 2006
    18 years ago
  • Date Published
    February 21, 2008
    16 years ago
Abstract
Disclosed embodiments relate to techniques for color gamut mapping when an input signal transmitting color visual images has a different color gamut than does the output display device. Polynomial rubber-sheet mapping may be used to translate the input color gamut to the output color gamut on a hue-by-hue basis within a three-dimensional perceptual color space. Also, a memory color look-up table may be used to preserve memory colors in the input gamut which are capable of reproduction within the output gamut. By using such techniques alone or in combination, it may be possible to more effectively map an input color gamut to a different output color gamut with improved calorimetric accuracy.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Reference is made to the following figures, in which disclosed embodiments are illustrated by way of example, with like reference numbers referring to similar elements:



FIG. 1 illustrates an exemplary x-y chromaticity space diagram, showing the type of non-perceptual color space typically used for conventional linear gamut mapping;



FIG. 2 illustrates the linear manner in which conventional gamut mapping is performed within an x-y chromaticity space;



FIG. 3 illustrates an exemplary input color gamut using a perspective view of a raised relief map, showing the relationship between hue, lightness, and chroma in a perceptual three-dimensional color space;



FIG. 3A is a chart illustrating an exemplary hue slice from the 3-D input gamut map (shown in FIG. 3), graphing lightness and chroma for a particular, constant hue angle within the input color gamut;



FIG. 4 illustrates an exemplary output color gamut using a perspective view of a raised relief map, showing the relationship between hue, lightness, and chroma in a perceptual three-dimensional color space;



FIG. 4A is a chart illustrating an exemplary hue slice from the 3-D output gamut map (shown in FIG. 4), graphing lightness and chroma within the output color gamut for the same specific hue angle used for FIG. 3A;



FIG. 5 is a chart of the input and output color gamuts for an exemplary hue slice;



FIG. 6 is a chart illustrating polynomial rubber-sheet mapping of the input gamut to the output gamut for an exemplary hue slice;



FIG. 7 is a chart illustrating the input and output gamut of an exemplary hue slice in which concavity exists, demonstrating an example of one instance when linear mapping might not produce a particularly effective fit, but when polynomial rubber-sheet mapping may be more effective;



FIG. 7A illustrates an exemplary polynomial rubber sheet mapping technique when there is a concavity, demonstrating the manner in which additional control points may be selected to account for the concavity;



FIG. 8 is a contour elevation map of an exemplary three-dimensional input gamut, providing an illustration of hue-inconstant rubber-sheet mapping, for which several control points would be fixed, while several other control points would be shifted, as for example, if certain hues were to be emphasized;



FIG. 9 is a block diagram of a color mapping device in which a processor maps the input color gamut from an input signal to the output color gamut of a display device on a hue-by-hue basis, perhaps also consulting a memory color look-up table to determine if scaling based on the probability of being a memory color should be performed; and



FIG. 9A is a block diagram of a specific color gamut mapping device for a light modulator array, such as a DMD.





DETAILED DESCRIPTION OF EMBODIMENTS

The disclosed embodiments generally employ a three dimensional perceptual color space to model color gamuts. Examples of such perceptual color spaces would be CIELUV and CIELAB, which represent colors in a more uniform manner. Perceptual color spaces represent color gamuts using three distinct axes: hue, lightness, and chroma. Thus, any color gamut in a perceptual color space may be represented graphically as a 3-D raised relief map, showing the relationship between hue, lightness, and chroma. By way of example, FIG. 3 illustrates an exemplary input color gamut 300 as a raised relief map, while FIG. 4 illustrates an exemplary output color gamut 400 as a raised relief map. As has been discussed above, the input 300 and output 400 color gamuts often differ, as may be seen by comparing the raised relief maps of the input 300 and output 400 color gamuts shown in FIG. 3 and FIG. 4.


It is often desirable to maintain hue when mapping an input color gamut to a different output color gamut to avoid color shifts between the source and target color gamuts that could result in improper color renditions. Accordingly, the mapping process may be performed on a hue-by-hue basis by mapping corresponding hue slices (of which there are 360) from the input color gamut 300 to the output color gamut 400. By way of example, FIG. 3A illustrates an exemplary hue slice 320, showing the variation between chroma and lightness for a particular, constant hue angle within the input color gamut 300. Such a hue slice 320 indicates the relationship between chroma and lightness for a particular hue, and may be plotted as shown in FIG. 3A. Likewise, FIG. 4A illustrates a corresponding exemplary hue slice 420 from the output color gamut 400 (with the constant hue angle matching that selected for the hue slice shown in FIG. 3A). In the example shown in FIGS. 3 and 4, the input color gamut 300 and the output color gamut 400 for these corresponding hue slices 320, 420 differ, as shown more clearly in FIGS. 3A and 4A. By plotting two such corresponding hue slices together, the differing scope of the hue slices 320, 420 becomes more apparent.



FIG. 5 shows both the input 320 and output 420 hue slices (for a particular, constant exemplary hue angle) in relation to one another, highlighting their differences. Accordingly, it may be useful to map the input color gamut 300 onto the output color gamut 400 in a way that preserves calorimetric accuracy while accounting for the differences in the color gamuts. By performing this type of mapping procedure, transforming the input gamut 300 to the output gamut 400 (for a particular hue slice), for all 360 possible hue slices, the entire input color gamut 300 may be mapped to the output color gamut 400 on a hue-by-hue basis.


Disclosed embodiments teach the use of a polynomial rubber-sheet mapping technique when mapping each of the input hue slice color gamuts to its corresponding output hue slice color gamut. FIG. 6 provides an illustrative example of a basic rubber-sheet mapping technique. Note, these hue slices have been simplified for purposes of this example, and real world hue slices will tend to be more complex than the triangular example described below in conjunction with FIG. 6. (FIGS. 3A, 4A, and 5, along with FIG. 7 discussed in more detail below, illustrate the type of more complex hue slices that may be seen, including possible concavity.) In FIG. 6, the input color gamut 610 of this particular hue slice is smaller than the output color gamut 620. The polynomial rubber-sheet mapping technique essentially acts to stretch the ends of the input color gamut 610 so that they correlate to the ends of the output color gamut 620, with all internal points stretching similarly to follow along behind the extreme points in order to adjust each point in the input color gamut 610 to a corresponding point proportionately within the output color gamut 620.


So in this example, the point of minimum luminance (lightness) 612 of the input gamut 610 is mapped to the point of minimum luminance 622 of the output gamut 620 (which in this example happens to correspond to the zero point, or black), the point of maximum luminance 614 of the input gamut 610 is mapped to the point of maximum luminance 624 of the output gamut 620 (which in this example happens to correspond to a lightness of 100, or pure white), and the point of maximum chroma 616 of the input gamut 610 is mapped to the maximum chroma 626 of the output gamut 620. This mapping of the extreme points of the color gamuts is illustrated by the vectors shown in FIG. 6, which show the manner in which the extreme points of the two color gamuts for a particular hue slice are mapped to correspond. The points internal to the input gamut hue slice 610 will follow along the path set by the extreme points, stretching like a rubber-sheet to proportionately map each point to its corresponding point in the output gamut hue slice 620.


In basic form, a polynomial rubber-sheet mapping technique would be utilized, mapping the points of the input color gamut 610 (for a particular hue slice) to corresponding points within the output color gamut 620 in a way that preserves calorimetric accuracy. So, if the input gamut is larger than the output gamut, points of the input gamut that are outside of the output gamut would be brought inside the range of the output gamut. Points inside both gamuts would be adjusted appropriately, so that color distinctions would remain and critical differentiating information would not be lost. The rubber-sheet mapping technique would adjust all points so that they fit within the output gamut and would be located appropriately in proportion to the extreme points. On the other hand, if the input gamut 610 is smaller than the output gamut 620 (for a particular hue slice, as illustrated in FIG. 6), then the extreme points for the input gamut 610, which serve as control points in this example, would be stretched to the corresponding extreme points for the output gamut 620. Again, the rubber-sheet mapping technique would adjust other points from the input gamut 610, so that they would proportionately map to corresponding points within the output gamut 620.


So the underlying principle of the rubber-sheet mapping technique is that, for a given hue slice, the input gamut 610 is preferentially scaled in or out based on control points. The control points typically determine mapping for the extreme limits of the gamut, and mapping for the remaining points is scaled accordingly to provide for perceptually accurate reproduction. Typically, rubber-sheet mapping scales the input gamut hue slice 610 based on at least three control points. In the example of FIG. 6, the control points for the input gamut 610 are the extreme points of the gamut, A, B, and C (designated reference numbers 612, 614, 616), while the control points for the output gamut 620 are A1, B1, and C1 (designated reference numbers 622, 624, 626). Thus, the point of minimum lightness 612 for the input gamut 610 along the achromatic line 630 (when chroma equals zero), point A, maps to the point of minimum lightness 622 for the output gamut 620 along the achromatic line 630 (corresponding to point (0,0) in this example), point A1; the point of maximum lightness 614 for the input gamut along the achromatic line, point B, maps to the point of maximum lightness 624 for the output gamut along the achromatic line, point B1 (corresponding to point (0, 100) in this example); and the point of maximum chroma 616 for the input gamut, point C of FIG. 6, maps to the point of maximum chroma 626 for the output gamut, point C1.


By choosing these three control points, the achromatic colors would not be unduly distorted during the mapping process, and the chroma of the output may be maximized (to take advantage of the larger output color gamut 620). Depending upon the needs of the system, other control points may be utilized for different effect. By way of example, the point of maximum chroma 616 for the input gamut 610 could be mapped to an arbitrary point in the output gamut 620 (although this might fail to take full advantage of the full scope of the output gamut 620); the midpoint of the input gamut lightness value (along the achromatic line 630) could be mapped to the gray point of the output gamut; or additional control points could be designated in a region of concavity to ensure a good fit. By utilizing additional control points (above the minimum number required to determine the coefficients of the polynomial equations), a better fit may be achieved.


It is often considered desirable to prevent compression of core colors (which are colors around the achromatic axis). By selecting two or more control points along the achromatic axis 630, as is described above, the rubber-sheet mapping technique automatically would reduce the amount of change in chroma/lightness depending upon the distance of a color point from the achromatic axis 630. Points closer to the achromatic axis 630 would tend to experience less change than would points further away from the achromatic axis 630. This control point scaling technique prevents core colors from being corrupted, offering superior calorimetric accuracy.


The rubber-sheet mapping technique may provide a more accurate fit than would a linear mapping technique, because it allows additional control points (above those utilized for linear mapping) to be used during mapping, and accuracy improves as control points are added. A least-squares approach, based on the degree of the polynomial, is used for the rubber-sheet mapping technique. By way of example, rubber-sheet mapping may be accomplished by employing the following set of polynomial equations, which describe the manner in which color points in the input gamut would map to the output gamut:






C
o
=a
0
+a
1
C
i
+a
2
L
i
+a
3
C
i
L
i






L
o
=b
0
+b
1
C
i
+b
2
L
i
+b
3
C
i
L
i


This set of equations represents a first-order rubber-sheet mapping with a cross-term, effectively employing three control points of the type used in the example of FIG. 6. This set of equations would allow any point within the input gamut, with a Chroma Ci and a Lightness Li to be mapped to a corresponding point within the output gamut, with a Chroma Co and a Lightness Lo. A least squares approach may be used with the control points to compute the “best” set of coefficients (a0, a1, a2, a3, b0, b1, b2, b3) for the set of polynomial equations. And while additional control points may be used in an attempt to achieve a better fit, the user should select at least a number of control points necessary to determine the coefficients for a specific set of polynomial equations (which in the above example, illustrated by FIG. 6, would be three control points). The use of a least-squares approach for determining coefficients would ensure that all control points in the input gamut map to their appropriate corresponding points in the output gamut, while providing a smooth estimate when mapping other points. Once the constant coefficients are determined, a fairly straightforward application of the polynomial equations would allow all of the points in the input gamut 610 for a particular hue slice to be mapped to the appropriate points in the output gamut 620.


It should be noted that in this example, because two of the three control points are defined along the achromatic axis 630, colors closer to the achromatic axis 630 would be less chroma compressed (or expanded) than those further from the achromatic axis (thus preserving core colors). If necessary, additional terms (representing additional control points) may be employed, resulting in higher order polynomial mapping. The higher the order of the polynomial used for rubber-sheet mapping, the more accurate the color mapping may be (since additional control points will better define the parameters for mapping). Typically, the effective limit on the number of terms for the polynomial would depend upon the memory or computing capabilities of the system.


Such polynomial rubber-sheet mapping allows for improved chromatic accuracy. It may be specifically used to preserve achromatic “core” colors, as discussed above by using additional control points along the achromatic axis. This is an advantage that the disclosed embodiments may generally offer over conventional linear mapping techniques. Disclosed polynomial rubber-sheet mapping techniques may also provide for superior mapping of an input gamut hue slice 710 to an output gamut hue slice 720 whenever a gamut includes concavity 730, as illustrated in FIG. 7. Concavities arise typically in multiprimary display systems that contain a red (or cyan) primary that is weaker than the yellow primary (or if the cyan primary is significantly chromatic). Real world display systems may not have color gamuts that produce triangular hue slices (discussed above merely for exemplary purposes). Instead, the hue slices often tend to be more complex figures, perhaps including one or more concavities 730. Linear mapping techniques may have difficulty effectively mapping such irregularly shaped hue slices from the input gamut 710 to the output gamut 720. The added flexibility provided by polynomial rubber-sheet mapping may allow for more effective mapping, however, since additional control points may help define the concavity.


An example of such polynomial rubber sheet mapping involving a concave color gamut may be found in FIG. 7A. In such color gamuts, the disclosed embodiments may account for concavity 730 of the color gamut by specifying control points for the polynomial rubber-sheet mapping to address and preserve the concavity 730 of the color gamut. In FIG. 7A, control points 741 and 742 map back on themselves (since both gamuts have the same beginning and ending points along the achromatic axis). Control point 743, representing the maximum chroma of the input gamut 710, maps to control point 744 for the maximum chroma of the output gamut 720. Two additional control points have been designated within this example in order to account for the concavity of the output gamut 720. Thus, control point 745 in the input gamut 710 maps to control point 746 in the output gamut 720, while control point 747 in the input gamut 710 maps to control point 748 in the output control gamut 720. By defining additional control points to account for concavity, the polynomial rubber-sheet mapping should provide a better fit.


It should be noted that, while the examples described above all maintain hue, a similar technique would apply if hues were not held constant. Such a technique might be utilized if there is a desire to accentuate certain hues. By way of example, FIG. 8 illustrates an input gamut contour map 800 (representing an entire three-dimensional input gamut of hue, lightness, and chroma) in which certain hues are held constant, while other hues are translated. A 3-D rubber-sheet mapping technique would first be applied to the input gamut 800, using control points to apply polynomial rubber-sheet mapping to the entire 3-D input gamut 800. In FIG. 8, the position of Point 810 would be shifted, changing hue and lightness (and possibly chroma). Points 820, 830, and 840 would be held constant, while point 850 would be shifted (as indicated by the vector arrow). Thus, the 3-D rubber-sheet mapping technique would act to translate points 810 and 850 as prescribed, while holding points 820, 830, and 840 constant. Other points would stretch (translate position) based upon their proximity to the control points. In the example of FIG. 8, the following polynomial equations might be used:






L
i
′=a
0
+a
1
h
i
+a
2
L
i
+a
3
h
i
L
i






h
i
′=b
0
+b
1
h
i
+b
2
L
i
+b
3
h
i
L
i






C
i
′=f(Li′,hi′)


where f(_,_) is a function relating lightness and hue to chroma.


Once 3-D polynomial rubber-sheet mapping has been applied to the entire 3-D input color gamut 800 (maintaining certain points while shifting others), then polynomial rubber-sheet mapping would be applied to each hue slice, as is described above. In other words, hue inconstant mapping is a multi-stage process, first rubber-sheet mapping the entire 3-D input color gamut 800 to account for the desired changes in hue, and then rubber-sheet mapping each of the individual hue slices in order to project the shifted input gamut onto the output gamut on a hue-by-hue basis.


While the examples given above apply a static polynomial rubber-sheet mapping technique for hue-by-hue mapping between color gamuts (in which each hue slice has a set polynomial that may be determined in advance based on the system parameters), a dynamic approach could also be utilized, in which the polynomial equations would be computed as they are needed. Such a dynamic approach might take into account changes to the system over time, allowing for further optimization.


Another complementary system that may be used to improve calorimetric accuracy involves the use of a memory color look-up table. Memory colors are those colors, determined by experience, for which human beings have an innate feel. Any alteration of such a memory color harms the believability of the image being reproduced. Thus, a memory color look-up table may be designed to protect certain memory colors from alteration during any mapping process.


In essence, the memory color look-up table protects memory colors in the input color gamut that are reproducible within the output color gamut, preventing them from being transformed during any rubber-sheet mapping. If a specific color is a memory color (as designated during set up by entry into the memory color look-up table), then the image will be more accurately reproduced to a human viewer's perception if the color remains unaltered when mapping from the input gamut to the output gamut. But transitions between memory colors and other colors that may be shifted during the mapping process should be smoothed, so that there would be no discontinuity that would draw the eye. Accordingly, when using a memory color look-up table in conjunction with a mapping process, colors in the input color gamut are compared to the memory color look-up table to determine the probability that a certain color might be one of the memory colors. The probability that a certain color is one of the memory colors is used to weight or scale the final color (when mapping to the output color gamut), determining the degree of color transformation based on the likelihood of being a memory color.


Thus if the probability (designated p) of a color in the input color gamut being one of the memory colors is high, a new lightness-chroma point (within the output color gamut) would typically be computed using a linearly weighted equation, such as the following: p*(L_memory, C_memory)+(1−p)*(L_new, C_new). In this equation, L_memory, C_memory represent the lightness-chroma value of the memory color point in the input color gamut, while L_new, C_new represent the lightness-chroma value to which the point would be mapped in the output gamut based solely on the mapping technique. Thus, a memory color table provides a simple yet powerful means of maintaining uniformity while not corrupting color reproductions (fixing memory colors while smoothing transitions between memory colors and other colors). And the more memory colors included within the look-up table, the more effectively memory colors can be preserved.


A memory color look-up table may be used with any sort of mapping technique, as it improves the accuracy of any gamut mapping by protecting memory colors. It is particularly effective when used in conjunction with polynomial rubber-sheet mapping, however. By fixing memory colors, the look-up table may improve the calorimetric accuracy without the need for additional polynomial terms. Thus, the memory color look-up table can simplify polynomial rubber-sheet mapping while ensuring effective gamut mapping and preserving selected memory colors. So, while either polynomial rubber-sheet mapping or memory color look-up tables may be used separately, together they complement each other and work together to optimize the calorimetric accuracy of gamut mapping.


Thus, one embodiment of the invention effectively utilizes polynomial rubber-sheet mapping on a hue-by-hue basis in conjunction with a memory color look-up table. Such an embodiment would first determine control points for the polynomial rubber-sheet mapping, determining at least three control points on the input color gamut hue slice and their corresponding locations on the output color gamut hue slice. The number of control points would determine the number of terms within the polynomial, as well as the degree of accuracy that may be achieved. A least squares approach would be used to determine the coefficients for the polynomial. Once the coefficients have been computed, the set of polynomial equations can be used to map each point in the input gamut to the corresponding point in the output gamut. The memory color look-up table would then be applied to determine if any of the colors are memory colors that need to be preserved (rather than being mapped into the output gamut). If memory colors are present (and reproducible within the output color gamut), a weighting system based on the probability that a specific color is indeed a memory color would be applied, scaling color points based on their probability of being a memory color in order to ensure a smooth transition between memory colors (that are not transformed) and other colors (that are transformed via the polynomial rubber-sheet mapping technique). While other embodiments may utilize these or other variants of the rubber-sheet mapping technique and/or the memory color look-up table, individual disclosed embodiments may also use the two techniques in conjunction to improve the image reproduction when mapping from one color gamut to another.


Typically, polynomial rubber-sheet mapping techniques would operate via a computer processor 920, mapping color points (representing chroma and lightness for a given hue slice) from an input signal 910 with an input color gamut to a display device 930 with an output color gamut. The set of polynomial equations associated with each hue slice would determine the manner in which the processor would map color points from the input gamut to the output gamut. Likewise, the processor 920 might interface with a memory color look-up table 925, comparing color points in the input gamut to the entries of the memory color look-up table 925 to determine the probability of a color being a memory color. The processor 920 would then scale any transformation of color points in the input color gamut via a mapping technique, such as polynomial rubber-sheet mapping, based on the probability. Thus, the input signal 910 would be operated upon by the processor 920, mapping the input color gamut of the input signal 910 to the output color gamut of the display device 930 using a polynomial rubber-sheet mapping technique. The processor 920 may also check colors against the memory color look-up table 925 and scale color transformation based upon the probability of being a memory color. Once the processor 920 has mapped the input color gamut to the output color gamut (including any memory color preservation), the color data would be communicated to the display device 930 (or possibly to a storage device for later display). The term “display device” is used broadly, and generally describes any type of device for displaying visual images (or storing visual images for later display), typically (by way of non-exclusive example) by combining different colors of light from reflective, transmissive, and/or emissive sources, and also includes display panels and storage devices. FIG. 9 generally illustrates such a color mapping device.



FIG. 9A provides a more specific example of a device configured to use the above-described techniques for color mapping within a Light Modulator Array display system 955 (wherein the display device 930 would use an array of light modulators). Examples of light modulator arrays include a Digital Micromirror Device, a Liquid Crystal Display, a liquid crystal on silicon array, a plasma display, a Cathode Ray Tube (CRT) display, a Silicon X-tal Reflective Display (SXRD), and deformable mirror arrays. At the heart of the display system 955 in this specific example is a light modulator array, such as a DMD with an array of small micromirrors that works in conjunction with one or more light sources, and in some instance a color wheel, to project visual images. (Rather than using a single light source and a color wheel, a DMD might by way of example use multiple light sources of differing color.) A sequence controller 954 generally controls the light modulator array 955 to reproduce images from the input signal 952 within the output gamut. In the example of a DMD device, the sequence controller 954 (which might be an Application Specific Integrated Circuit (ASIC)) would rapidly tilt the micromirrors between on and off positions in order to recreate the frame image.


Gamut mapping generally is based on known system parameters, allowing the gamut mapping algorithm to be performed and stored preliminarily (before transmission of the image input signal 952 begins). Thus, the image input video signal 952 would enter the sequence controller 954, which would map the input gamut to the output gamut by using the pre-stored mapping algorithm (stored in memory 953). In other words, for any color X in the input color gamut, the sequence controller 954 would consult its pre-stored conversion data (using the previously performed polynomial rubber-sheet mapping process results stored in memory 953) in order to map to a specific color Y in the output color gamut. The sequence controller may also consult a memory color look-up table, stored in memory 953, in order to determine if any color mapping needs to be scaled to preserve memory colors. The sequence controller 954 would then control the light modulator array 955 to reproduce the image from the input signal 952 within the output color gamut. By way of example, in a DMD system the ASIC would control image reproduction by flipping the micromirrors of the DMD on and off in rapid succession with respect to the light source(s) (and possibly a color wheel).


While various embodiments in accordance with the principles disclosed herein have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the invention(s) should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with any claims and their equivalents issuing from this disclosure. Furthermore, the above advantages and features are provided in described embodiments, but shall not limit the application of such issued claims to processes and structures accomplishing any or all of the above advantages.


Additionally, the section headings herein are provided for consistency with the suggestions under 37 CFR 1.77 or otherwise to provide organizational cues. These headings shall not limit or characterize the invention(s) set out in any claims that may issue from this disclosure. Specifically and by way of example, although the headings refer to a “Field of the Invention,” the claims should not be limited by the language chosen under this heading to describe the so-called field. Further, a description of a technology in the “Background of the Invention” is not to be construed as an admission that certain technology is prior art to any invention(s) in this disclosure. Neither is the “Brief Summary of the Invention” to be considered as a characterization of the invention(s) set forth in issued claims. Furthermore, any reference in this disclosure to “invention” in the singular should not be used to argue that there is only a single point of novelty in this disclosure. Multiple inventions may be set forth according to the limitations of the multiple claims issuing from this disclosure, and such claims accordingly define the invention(s), and their equivalents, that are protected thereby. In all instances, the scope of such claims shall be considered on their own merits in light of this disclosure, but should not be constrained by the headings set forth herein.

Claims
  • 1. A method for mapping an input color gamut of an input device to an output color gamut of an output device within a three-dimensional perceptual color space representing hue, lightness, and chroma, comprising: mapping points representing chroma and lightness on a hue-by-hue basis from a hue slice in the input color gamut to a hue slice in the output color gamut using a polynomial rubber-sheet mapping technique.
  • 2. A method as in claim 1 further comprising: selecting at least three control points in each color gamut hue slice, wherein each control point in the input color gamut hue slice maps to its corresponding control point in the output color gamut hue slice; andcomputing coefficients for the polynomial rubber-sheet mapping technique using a least-squares technique with the control points.
  • 3. A method as in claim 2 wherein the polynomial used for the rubber-sheet mapping technique is at least of first order with a cross term.
  • 4. A method as in claim 2 wherein one or more of the control points are selected to fix achromatic colors, limiting their transformation with respect to chroma when mapping from the input color gamut hue slice to the output color gamut hue slice.
  • 5. A method as in claim 2 wherein: one control point for the input color gamut hue slice is set as the point of maximum chroma in the input color gamut hue slice, which maps to the point of maximum chroma in the output color gamut hue slice;one control point for the input color gamut hue slice is set as the point of maximum lightness in the input color gamut hue slice, which maps to the point of maximum lightness in the output color gamut hue slice; andone control point for the input color gamut hue slice is set as the point of minimum lightness in the input color gamut hue slice, which maps to the point of minimum lightness in the output color gamut hue slice.
  • 6. A method as in claim 5 wherein the polynomial used for the rubber-sheet mapping technique is at least of first order with a cross term.
  • 7. A method as in claim 6 further comprising: applying a 3-D polynomial rubber-sheet mapping technique across all hues of the three-dimensional input color gamut in order to translate certain points representing hue, chroma, and lightness while maintaining other points within the three-dimensional perceptual color space.
  • 8. A method as in claim 1 further comprising detecting points representing memory colors within the input color gamut hue slice by comparing each point representing chroma and lightness within the input color gamut hue slice to a memory color look-up table.
  • 9. A method as in claim 8 further comprising preserving detected memory color points in the input color gamut hue slice if capable of reproduction in the output color gamut hue slice.
  • 10. A method as in claim 8 further comprising: determining the probability that a point in the input color gamut hue slice represents a memory color by comparison to the memory color look-up table; andscaling the amount of transformation when mapping points from the input color gamut hue slice to the output color gamut hue slice in relation to the probability that the point represents a memory color.
  • 11. A method as in claim 6 further comprising detecting points representing memory colors within the input color gamut hue slice by comparing each point in the input color gamut hue slice to a memory color look-up table.
  • 12. A method as in claim 11 further comprising preserving detected memory color points in the input color gamut hue slice if capable of reproduction in the output color gamut hue slice.
  • 13. A method as in claim 11 further comprising: determining the probability that a point in the input color gamut hue slice represents a memory color by comparison to the memory color look-up table; andscaling the amount of transformation when mapping a point from the input color gamut hue slice to the output color gamut hue slice in relation to the probability that the point represents a memory color.
  • 14. A method for preserving memory colors when mapping colors from an input color gamut of an input device to an output color gamut of an output device, comprising: constructing a memory color look-up table containing memory colors based on experience regarding human perception;determining the probability that a color in the input color gamut is a memory color by comparison to the memory color look-up table; andscaling the amount of transformation when mapping that color from the input color gamut to the output color gamut in relation to the probability that the color is a memory color.
  • 15. A method as in claim 14, wherein colors are mapped in a 3-D perceptual color space, and wherein memory colors within the input color gamut which are capable of being reproduced within the output color gamut are preserved.
  • 16. A method as in claim 14, wherein colors are mapped from the input color gamut to the output color gamut using a polynomial rubber-sheet mapping technique.
  • 17. A device comprising: an input signal with an input color gamut within a three-dimensional perceptual color space;a display device with an output color gamut within the three-dimensional perceptual color space; anda processor linking the input signal to the display device via electrical communication, operable to map colors on a hue-by-hue basis from a hue slice in the input color gamut to a hue slice in the output color gamut using a polynomial rubber-sheet mapping technique;wherein the three-dimensional perceptual color space represents colors in terms of hue, lightness, and chroma.
  • 18. A device as in claim 17 wherein: at least three control points are selected in each color gamut hue slice, wherein each control point in the input color gamut hue slice maps to its corresponding control point in the output color gamut hue slice; andcoefficients for the polynomial rubber-sheet mapping technique are computed based on the control points using a least-squares technique.
  • 19. A device as in claim 18, wherein: one control point for the input color gamut hue slice is set as the point of maximum chroma in the input color gamut hue slice, which maps to the point of maximum chroma in the output color gamut hue slice;one control point for the input color gamut hue slice is set as the point of maximum lightness in the input color gamut hue slice, which maps to the point of maximum lightness in the output color gamut hue slice; andone control point for the input color gamut hue slice is set as the point of minimum lightness in the input color gamut hue slice, which maps to the point of minimum lightness in the output color gamut hue slice.
  • 20. A device as in claim 18 wherein the polynomial used for the rubber-sheet mapping technique is at least of first order with a cross term.
  • 21. A device as in claim 18 further comprising a memory color look-up table in electrical communication with the processor; wherein colors in the input color gamut are compared to the memory color look-up table to determine the probability of being a memory color, and the amount of transformation when mapping colors from the input color gamut hue slice to the output color gamut hue slice is scaled according to the probability of being a memory color.
  • 22. A device as in claim 18, wherein: the display device comprises a light modulator array;the processor comprises a sequence controller; andthe sequence controller controls the light modulator array to reproduce images from the input signal within the output color gamut.
  • 23. A device as in claim 22, wherein the light modulator array comprises a Digital Micromirror Device.
  • 24. A device as in claim 22, wherein the light modulator array is selected from a group consisting of a Digital Micromirror Device, a Liquid Crystal Display, a liquid crystal on silicon array, a plasma display, a CRT display, an SXRD, and deformable mirror arrays.
  • 25. A device as in claim 22, wherein the polynomial used for the rubber-sheet mapping technique is at least of first order with a cross term.
  • 26. A device as in claim 25, wherein: one control point for the input color gamut hue slice is set as the point of maximum chroma in the input color gamut hue slice, which maps to the point of maximum chroma in the output color gamut hue slice;one control point for the input color gamut hue slice is set as the point of maximum lightness in the input color gamut hue slice, which maps to the point of maximum lightness in the output color gamut hue slice; andone control point for the input color gamut hue slice is set as the point of minimum lightness in the input color gamut hue slice, which maps to the point of minimum lightness in the output color gamut hue slice.
  • 27. A device as in claim 21, wherein: the display device comprises a light modulator array;the processor comprises a sequence controller; andthe sequence controller controls the light modulator array to reproduce images from the input signal within the output color gamut.
  • 28. A device as in claim 27, wherein the light modulator array comprises a Digital Micromirror Device and the sequence controller comprises an Application-Specific Integrated Circuit.
  • 29. A device as in claim 27, wherein the light modulator array is selected from a group consisting of a Digital Micromirror Device, a Liquid Crystal Display, a liquid crystal on silicon array, a plasma display, a CRT display, an SXRD, and deformable mirror arrays.
  • 30. A device as in claim 27, wherein the polynomial used for the rubber-sheet mapping technique is at least of first order with a cross term.
  • 31. A device as in claim 30, wherein: one control point for the input color gamut hue slice is set as the point of maximum chroma in the input color gamut hue slice, which maps to the point of maximum chroma in the output color gamut hue slice;one control point for the input color gamut hue slice is set as the point of maximum lightness in the input color gamut hue slice, which maps to the point of maximum lightness in the output color gamut hue slice; andone control point for the input color gamut hue slice is set as the point of minimum lightness in the input color gamut hue slice, which maps to the point of minimum lightness in the output color gamut hue slice.