Exemplary embodiments of the invention are directed to converting between a source and destination device color space. More specifically, the present invention is directed to converting color spaces using color ridges of the source and destination device color gamuts, and to an iterative learning technique for modifying the conversion based on user preferences.
Color gamut is a visual representation of the color reproduction capability of an imaging device. Typically, there is a mismatch in color reproduction capabilities among the input and output devices. For example, the gamut of an image-capturing device adopting additive primaries, such as red, green, blue (RGB), is usually different from that of a printing device adopting subtractive primaries, such as cyan, magenta, yellow, black (CMYK). Color gamut mapping is employed for color image reproduction to address this mismatch of color reproduction capabilities.
Color gamut mapping typically requires converting the color gamuts of the source and destination devices into a device-independent, reference color space, such as the standard CIELAB or CIECAM02 color spaces. This can be achieved using lookup tables, commonly referred to as ICC profiles, and a color management module (CMM) performs an interpolation operation using the profiles to convert an image from a source device into the device-independent color space and to convert an image from the device-independent color space to the destination device. Alternatively, the color management module can convert images into and out of the device-independent color space using a list of color measurements for each device, a technique commonly referred to as “smart CMM”.
Once the device color spaces have been converted into the device-independent color space, the color gamuts can then be computed in the chosen color space, where the cusp of the gamut, focal points and border colors, can be identified. Hue information is preserved by applying a selected lightness and chroma compression strategy on the source gamut at each hue angle to match the destination color gamut. Alternatively, a hue shift of a set of border colors can be specified, the hue between two different border color points is linearly modified and lightness and chroma compression are applied.
Although the CIELAB and CIECAM02 color spaces are intended to be perceptual color spaces, which are used to map color gamuts accounting for user perception, due to the complexities of the human visual system and how the human brain interprets colors, conventional gamut mapping techniques do not always accurately convert colors between different devices. Additionally, conventional techniques assume a certain illumination during color gamut mapping, whereas the viewing conditions and associated illumination levels may not conform to those assumed by the mapping technique. Finally, conventional techniques do not account for cultural and/or regional variations in the interpretation of color.
Exemplary embodiments of the invention overcome the above-identified and other deficiencies of conventional gamut mapping techniques by employing a color ridge-based mapping technique along with a learning process that modifies the mapping technique based on user preferences. Specifically, an exemplary method involves converting a source device color space into an independent color space to form a source color gamut and converting a destination device color space into an independent color space to form a destination color gamut. Colors of source color gamut are mapped in the independent color space to colors in the destination color gamut based on color ridges of the source and destination color gamuts, wherein the color ridges are intersections of primary or secondary colors in the source device color space or in the destination device color space that are traced within the independent color space. Information for converting an image from a source device color space to a destination device color space is generated based on the mapping.
An exemplary method can also involve receiving a selection of a portion of an image displayed on a source device and rendering a color ridge associated with the selected portion of the image on a destination device, wherein the color ridge is an intersection of primary or secondary colors in the source or destination device color space that is traced within an independent color space. A mapping of a color ridge of the source and destination device colors spaces is modified based on a perceptual preference of the rendered color ridge.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
One major feature in the aforementioned gamut mapping algorithms is that they need to operate in a color space correlated with visual attributes such as hue and chroma. As illustrated in
The present invention uses a gamut mapping process based on ridges on the color gamut surface within an operating color space (i.e., the device-independent color space) that align with the primary and secondary color ramps in the original source device color space or destination device color space. As used herein the term “ridge” signifies areas of intersection of primary or secondary colors in the source or destination device color space that are traced within the independent color space.
When a color tone scale has been defined (“Yes” path out of decision step 515), then the ridge definition process is initiated by accessing a database containing perceptual preferences along color ridges (step 520) to determine whether there is a match between the perceptual preferences and the source and destination color ridges (step 525). The information in the database can be populated based on previous iterations of this method using the information generated using a predefined tone scale from steps 555-565, which are described in more detail below.
When a match exists between the perceptual preferences and the source and destination color ridges (“Yes” path out of decision step 525), then each source color edge is associated with a trajectory of an edge in the destination color gamut based on the perceptual preferences (step 530) and anchor points are defined along the corresponding trajectories based on the preference data (step 535). This is illustrated in
Returning now to
When the color tone scale is not defined (“No” path out of decision step 515), then the database containing the preferred color rendition of user-defined colors is accessed (step 555) and a predefined tone scale that most closely matches the preferred color rendition is identified (step 560).
Exemplary gamut mapping from sRGB to CMYK in CIECAM02 and CIELAB color spaces using the method of
As briefly discussed above, exemplary embodiments of the present invention also provide for a learning process to adapt the color gamut mapping to conform to user preferences. An exemplary method is illustrated in
When a source color ridge has not been satisfactorily rendered on the destination device (“No” path out of decision step 920), then the database containing perceptual preferences is modified along the color ridges of the source and destination device by modifying the respective anchor points (step 925). For example, a user can indicate that a particular color should be made light or darker, or moved more in the direction of, or away from, a particular color shade. In response the color ridge is modified to accommodate the user's indicated preference. The modified color ridge is accessed from the database (step 930) and again rendered (step 915) for the user to determine whether it was satisfactorily rendered (step 920).
When the source color ridge is satisfactorily rendered (“Yes” path out of decision step 920), then it is determined whether additional color ridges associated with the selected pixels should be rendered (step 935). When additional color ridges should be rendered (“Yes” path out of decision step 935), the additional source color ridge is accessed (step 940), rendered on the destination device (step 915) for the user to determine whether the additional color ridge was satisfactorily rendered (step 920).
When there are no additional color ridges for potential adjustment (“No” path out of decision step 935), then, as illustrated in
When the source critical color is satisfactorily rendered on the destination device (“Yes” path out of decision step 950), it is determined whether there are additional source critical colors for evaluation by the user (step 965). When there are additional source critical colors for evaluation (“Yes” path out of decision step 965), then the additional source critical colors are accessed (step 970), and rendered on the destination device (step 945) for determination by the user whether the color is satisfactorily rendered (step 950).
When there are no additional source critical colors for evaluation by the user (“No” path out of decision step 965), then it is determined whether the user has requested the addition of a source critical color (step 975). When the user has so requested (“Yes” path out of decision step 975), then the user-requested additional critical color is accessed (step 980), rendered on the destination device (step 945) for determination by the user whether the color is satisfactorily rendered (step 950). When, however, there is not a user request for additional critical colors (“No” path out of decision step 975), then the process ends (step 985).
The gamut mapping function approximation process of
Although the method of
The color association table generated using the methods of
The methods described above can be performed on one or more processors, such as a microprocessor, field programmable gate array (FPGA), and/or an application specific integrated circuit (ASIC). When a microprocessor is employed instructions for executing the methods can be obtained from any type of suitable memory. The one or more processors can be included in the source device, destination device and/or a device that couples the source and destination devices (e.g., a computer).
The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.