Patent ID: 7567705

Claim:
A computer program product, tangibly embodied on a computer-readable medium including instructions operable to cause data processing apparatus to: receive an image; identify a set of protected colors within a source color space within the image, the protected colors being a subset of the colors in the source color space, and wherein the protected colors are identified by a user through a graphical user interface; specify a first color mapping that associates each color in the source color space with a tuple of mapped component values, each mapped component value being a value for a corresponding component in a destination color space, the destination color space having a range of permissible component values for each of a plurality of components of the destination color space; determine if the mapped protected color component values include at least one mapped protected color component value that is outside the range of permissible values for the destination color space, and: when it is determined that the mapped protected color component values do not include at least one mapped protected color component value that is outside the range of permissible values for the protected color space, apply the first color mapping to the image to generate a modified image, and when it is determined that the mapped protected color component values do include at least one mapped protected color component value that is outside the range of permissible values for the protected color space, specify an injective second color mapping using the mapped protected color component values, the injective second color mapping associating the tuples of mapped protected color component values with tuples of modified mapped protected color component values, each of the modified mapped protected color component values being within the range of permissible values for the destination color space, and construct a third color mapping, the third color mapping being a concatenation of the injective second color mapping with the first color mapping, the third color mapping being constructed such that under the third color mapping, each color in the set of protected colors is associated with a distinct modified mapped protected color inside the destination color space, and applying the third color mapping to the image to generate a modified image.