US6744534B1 - Robust colorimetry transform - Google Patents
Robust colorimetry transform Download PDFInfo
- Publication number
- US6744534B1 US6744534B1 US09/562,775 US56277500A US6744534B1 US 6744534 B1 US6744534 B1 US 6744534B1 US 56277500 A US56277500 A US 56277500A US 6744534 B1 US6744534 B1 US 6744534B1
- Authority
- US
- United States
- Prior art keywords
- pixel
- gamut
- sub
- image
- rendering
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000004737 colorimetric analysis Methods 0.000 title 1
- 238000009877 rendering Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 63
- 239000000203 mixture Substances 0.000 claims abstract description 31
- 238000002156 mixing Methods 0.000 claims abstract description 24
- 239000003086 colorant Substances 0.000 claims description 126
- 230000006870 function Effects 0.000 claims description 43
- 238000013507 mapping Methods 0.000 claims description 29
- 230000001131 transforming effect Effects 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 9
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 238000004321 preservation Methods 0.000 claims 2
- 229920006395 saturated elastomer Polymers 0.000 description 20
- 230000003595 spectral effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000007935 neutral effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000007639 printing Methods 0.000 description 6
- 238000012512 characterization method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000001060 yellow colorant Substances 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000007645 offset printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6058—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
Definitions
- the invention relates to the art of color image rendering. It finds particular application where an image created on or prepared for rendering on a first or source device is rendered on a second or destination device.
- each pixel describes a small portion of the image in terms of colorant pixel values for the colorants available on the rendering device.
- a cathode ray tube (CRT) based computer display screen is comprised of red (R), green (G) and blue (B) phosphors.
- R red
- G green
- B blue
- An image prepared for display on a CRT is described with a set of pixels.
- Each pixel describes the intensity with which the red, green and blue phosphors are to be illuminated on a small portion of the CRT.
- a similar procedure is followed when an image is prepared for rendering on a printing device.
- CMY or CMYK color space When an image is prepared for rendering on a color-printing device, the image is represented as a set of pixels. Each pixel describes a small portion of the image by calling for an appropriate mixture of the available colorants. Typically, the pixel value for each colorant can range from 0 to 255. The higher a colorant's pixel value is, the more of that colorant the color image processor applies to the print medium.
- the number 255 represents the maximum or fully saturated amount of colorant.
- the number 0 is used when none of a particular colorant is required. It should be noted that sometimes, for the purposes of analysis or discussion this range is normalized to a range of 0 to 1.
- the CRT and the CMYK printer use different materials to generate the perception of color.
- the materials used impact a set of colors that each device can reproduce.
- the set of colors a device can produce is referred to as the color gamut of the device. There is no guarantee that a color that can be produced by a first device can also be produced by second device. This is even true when both devices are CMYK printers.
- That transform may translate the original RGB CRT pixel to a second CMYK pixel.
- One reason two different CMYK printers may require different transforms is that different printers use different colorants.
- a first magenta colorant used in a first printer may have a different spectral content than a second magenta colorant used in a second printer.
- a first yellow colorant used in a first printer may have a different spectral content than a second yellow colorant used in a second printer.
- an image prepared for rendering on a first device may need to be transformed if it is to be properly rendered on a second device.
- Such a transformation is an attempt to emulate the first or source device onto the second or destination device.
- CMYK Standard Web Offset Printing
- SWOP Standard Web Offset Printing
- second CMYK device for example, a xerographic printer
- a “4 to 4” transform is typically used to emulate the first device on the second device.
- Each color characterization profile maps a calorimetric space, such as CIELAB to the device's color gamut.
- the mapping is bi-directional, so that each device's color gamut can also be mapped to the calorimetric space.
- the source image, the image prepared for printing on the first device is transformed from the first device's CMYK space, via the first device's color characterization profile, into calorimetric space e.g. CIELAB.
- the calorimetric version of the image is then transformed via the second device's color characterization profile, into the second device's CMYK space.
- Spectral matching is not always the desired goal when rendering color images.
- Spectral matching is not always the desired goal when rendering color images.
- a user is concerned with how vivid and pure the colors in the chart are and not with how well the rendered colors match a set of original colors.
- the primary colors include red, green, blue, cyan, magenta, yellow, black and white.
- Red, green and blue are considered primary colors because they can be additively mixed to produce the perception of other colors in the human eye.
- Cyan, magenta, and yellow are considered primary colors because the human eye also perceives their subtractive mixture as other colors.
- White is perceived when red, green and blue are mixed in a well-balanced manner.
- black is perceived when cyan, magenta and yellow are mixed in a well-balanced manner.
- Additive mixing of any two of red, blue and green produces one of cyan, magenta and yellow.
- Subtractive mixing of any two of cyan, magenta and yellow produces one of red, blue and green. For example, as indicated above, a balanced mixture of magenta and yellow is perceived as red.
- cyan (C), magenta (M), yellow (Y), and black (K) colorants the rendition of dark vivid colors in business graphics applications is often best achieved by using not more than two of the colorants C, M, Y to produce the desired vividness, along with K to produce the desired darkness. That is, every pixel is rendered in 3-colorant combinations of CMK, MYK, or CYK. In such cases, contamination with a fourth colorant is undesirable, as it could reduce the vividness or purity of the color.
- the method takes an image comprised of pixels that has been prepared for rendering on a first device and prepares it for rendering on a second device.
- the method can be applied where the first device has an associated first color gamut, and where the first color gamut can be subdivided into at least a first sub-gamut, a second sub-gamut and a transition region between the first sub-gamut and the second sub-gamut.
- the second device also has an associated second color gamut that can be subdivided into at least a first sub-gamut, a second sub-gamut and a transition region.
- the method comprises the steps of finding each pixel's location within the first color gamut, mapping pixels located in the first sub-gamut of the first color gamut under a first rendering intent through a first transform to pixels within the first sub-gamut of the second color gamut, mapping pixels located in the second sub-gamut of the first color gamut under a second rendering intent through a second transform to pixels in the second sub-gamut of the second color gamut, and mapping pixels located between the first sub-gamut and the second sub-gamut of the first color gamut via a blend of the first transform and the second transform.
- One advantage of the present invention is that it allows images to be rendered properly without user intervention.
- Another advantage of the present invention is that it can be used to process images that contain both pictorial and business graphics type components.
- Another advantage of the present invention is that it renders images in a more pleasing manner than do prior art techniques.
- Another advantage of the present invention is that it preserves neutral colorant components of an image. This is especially useful in business graphics.
- Another advantage of present invention is that it preserves primary color components of an image. This is also especially useful in business graphics.
- Another advantage of present invention is that it preserves the purity and vividness of dark vivid colors in a business graphics image.
- the invention may take form in various components and arrangements of components, and in various steps and arrangements of steps.
- the drawings are only for purposes of illustrating preferred embodiments, they are not to scale, and are not to be construed as limiting the invention.
- FIG. 1 is a diagram depicting a first device's color gamut
- FIG. 2 is a diagram depicting a second devices color gamut
- FIG. 3 is a flow diagram illustrating a process for rendering an image
- FIG. 4 is a graph illustrating two functions that can be used as blending functions
- FIG. 5 is a block diagram illustrating a blending process
- FIG. 6 is a block diagram illustrating possible modifications to the process depicted in FIG. 5,
- FIG. 7 is a block diagram of a color image processor for rendering an image via the method depicted in FIG. 3, and
- FIG. 8 is a block diagram of the color image processor of FIG. 7 showing details of a particular implementation.
- FIG. 9 is a block diagram of the color image processor of FIG. 7 showing an implementation that includes a Lookup Table
- FIG. 10 is a block diagram of the method of FIG. 3 implement through the use of a Lookup Table.
- a color gamut 100 for a first CMY or CMYK device can be illustrated as a cube.
- Three edges or axis of the cube represent pixel values for three colorants, for example, there can be a cyan 114 , a magenta 118 , and a yellow 122 axis.
- Each of the three axes 114 , 118 , 122 runs from an origin 124 where the pixel value of each colorant is zero, to a point representing the maximum amount of colorant available.
- a far end 128 , 132 , 136 of each axis 114 , 118 , 122 represents fully saturated cyan, magenta and yellow respectively.
- Three corners of the cube represent the fully saturated mixtures of two of the subtractive colorants cyan, magenta and yellow.
- a red corner 140 represents the fully saturated mixture of magenta and yellow.
- a green corner 144 represents the fully saturated mixture of yellow and cyan.
- a blue corner 148 represents the fully saturated mixture of cyan and magenta.
- Diagonal lines 152 , 156 , 160 connecting each of the red 140 , green 144 and blue 148 corners with the origin 124 represent less than fully saturated shades of red, green and blue respectively.
- a black corner 164 represents the fully saturated mixture of all three colorants cyan, magenta, and yellow.
- a long diagonal line 168 connecting the black corner with the origin 124 represents neutral or gray combinations of the three colorants.
- the origin 124 where the pixel values of the three colorants are all zero, represents white (assuming the print medium is white) and so is also a white corner 172 .
- color gamut 100 is a sub-gamut referred to as a pictorial gamut 174 .
- a pictorial gamut is a set of colors most often used when rendering photographs and similar images.
- the centrally located pictorial gamut includes pixels calling for significant color mixture. Therefore the centrally located pictorial gamut 174 of the first device also represents those colors which require careful matching when an image that was prepared for rendering on the first device is to be rendered on a second device. It is likely that the pictorial gamut 174 of the first device will not match a pictorial gamut 178 of the second device. For example, see a second device'color gamut 200 illustrated in FIG. 2 . When rendering colors from the first devices centrally located pictorial gamut 174 on the second device, it is desirable to match the colors as closely as possible. Therefore, an emulation transform is required when rendering these centrally located colors.
- the colors that lie on the surface of the gamut cube, and particularly the primary colors that lie at the corners 128 , 132 , 136 , 140 , 144 , 148 , 168 , 172 of the cube are those colors that are most often used in business graphics.
- the primary colors do not require careful spectral matching when an image that was prepared for rendering on first device is to be rendered on a second device. Indeed the presentation of these colors is often degraded when spectral matching is attempted. Therefore an emulation transform should not be used when mapping primary colors. Instead primary colors are said to be mapped through an identity transform.
- the identity transform does not change the pixel values of a pixel as it is mapped to the color gamut of another device.
- Intermediate colors such as those depicted at points labeled 182 , that lie between the pictorial gamut 174 and the surface of the gamut cube, need to be treated to some degree as if they were in the pictorial gamut 174 and to some degree as if they were primary colors.
- pixels calling for intermediate colors 182 are transformed by a blend between the emulation transform and the identity transform.
- the degree to which the blended transform resembles the emulation transform or the identity transform is a function of the intermediate pixels location in the color gamut 100 .
- the color gamut 200 for a second CMY or CMYK device is illustrated as a cube.
- Three edges or axis of the cube represent pixel values for three colorants, for example, there can be a cyan 214 , a magenta 218 , and a 222 yellow axis.
- Each of the three axis 214 , 218 , 222 runs from an origin 224 where the pixel value of each colorant is zero to a point representing the maximum amount of colorant available.
- the far end 228 , 232 , 236 of each axis 214 , 218 , 222 represents fully saturated cyan, magenta and yellow respectively.
- a red corner 240 represents the fully saturated mixture of magenta and yellow.
- a green corner 244 represents the fully saturated mixture of yellow and cyan.
- a blue corner 248 represents the fully saturated mixture of cyan and magenta.
- diagonal lines 252 , 256 , 260 connecting each of the red 240 , green 244 and blue 248 corners with the origin 124 represent less than fully saturated shades of red, green and blue respectively.
- a black corner 264 represents the fully saturated mixture of all three colorants cyan, magenta, and yellow.
- a long diagonal line 268 connecting the black corner with the origin 224 represents neutral or gray combinations of the three colorants. The origin is also a white corner 272 .
- the second devices pictorial gamut 178 is different than the first device's pictorial gamut 174 .
- the second device's pictorial gamut 178 has a different shape. The difference in shape is brought about, for example, by differences in the colorants used in each device. While the colorants share the same name, they are not necessarily made of the same materials. Therefore the colorants can have different spectral characteristics. While, for example, the edges 276 , 280 of the two pictorial gamuts 174 , 178 can represent the same perceived colors, they are created by different mixtures of colorants on the first and second devices.
- a first pixel 284 on the first devices pictorial gamut 174 is ideally mapped to a second pixel 288 on the second device's pictorial gamut 178 .
- the pixels 284 , 288 are perceived to be the same color.
- the pixels 284 , 288 are rendered with different mixtures of different colorants.
- the second pixel 288 contains less of the second device's cyan colorant than the first pixel 284 contains of the first device's cyan colorant.
- a method 300 for mapping an image prepared for rendering on a first device to the color gamut of a second device can be broken down into a series of steps.
- the method 300 treats each class of pixel (centrally located, primary color and intermediate) in an image, appropriately.
- a pixel from the image is examined.
- a location step 320 a pixel's location within the first device's color gamut is determined from colorant pixel values for each colorant called for by the pixel.
- a first testing step 330 determines if the pixel is centrally located.
- the pixel is a centrally located pixel, it is mapped in a centrally located mapping step 340 .
- Centrally located pixels call for a high degree of colorant mixing, and are treated as pictorial pixels. Therefore, centrally located pixels are mapped to the second or destination device's color gamut through the use of an emulation transform.
- the pixel is passed to a second testing step 350 .
- the second testing step 350 determines if the pixel values called for by the pixel describe a primary color.
- the pixel is mapped, in a primary color mapping step 360 , to the second or destination device's color gamut through an identity transform.
- the identity transform leaves the pixel values unchanged.
- the primary color is mapped to the destination device's version of that primary color. For example, if the pixel calls for the pure mixture of the first device's magenta and yellow to produce a first device's version of red, it is mapped to a pure mixture of the destination device's magenta and yellow to produce a destination device's version of red. It is understood and accepted that the first device's version of red and second device's version of red may not match. Any mismatch in hue or lightness is tolerated in the interest of preserving the primary colors vividness and purity.
- the pixel does not describe a primary color, the pixel must be located in an area of the first device's gamut 100 , between the centrally located pixels or pictorial gamut 174 and the primary color pixels 152 , 156 , 160 . Therefore, the pixel is mapped to the second or destination device's color gamut, in an intermediate pixel-mapping step 370 , through a blending function that smoothly combines the effect of the emulation transform and the identity transform.
- the closer the pixel is to the centrally located pixels the more it is treated like a centrally located pixel.
- CMYK complementary metal-oxide-semiconductor
- ⁇ 1 is defined as:
- ⁇ 1 is a measure of the distance from the pixel to one of the surfaces 380 , 384 , 388 of the gamut cube that include the white corner 172 (see FIG. 1 ). The measure is based on the pixel value of the non-black colorant with the lowest pixel value.
- ⁇ 2 is defined as:
- ⁇ 2 is a measure of the distance from the pixel to one of the surfaces 392 , 396 , 398 of the gamut cube that include the black corner 164 (see FIG. 1 ). The measure is based on the pixel value of the non-black colorant with the highest pixel value.
- ⁇ 3 is defined as:
- ⁇ 3 is a measure of the distance from the pixel to saturated black (not shown).
- ⁇ 4 is defined as:
- ⁇ 4 (1 ⁇ max( C,M,Y ))/(1 ⁇ min( C,M,Y )) (4)
- ⁇ 4 is related to the closeness of the pixel to the neutral axis 168 (see FIG. 1 ). For points on the neutral axis ⁇ 4 is equal to 1. For primary colors, other than black and white, on the corners 128 , 132 , 136 , 140 , 144 , and 148 of the gamut cube, ⁇ 4 is equal to zero.
- ⁇ is defined as:
- ⁇ holds the metric that most strongly reports the position of the pixel to be far from the center of the gamut after multiplying the metric by a convenient scaling factor.
- the red 140 , green 144 , blue 148 , cyan 128 , magenta 132 , yellow 136 and white 172 corners of the gamut cube are located where at least one colorant's pixel value is zero. For pixels near these corners ⁇ 1 is near zero.
- the red 140 , green 144 , blue 148 , cyan 128 , magenta 132 , yellow 136 and black 164 corners of the gamut cube are located where at least one colorant's pixel value is 1. For pixels near these corners ⁇ 2 is near zero.
- ⁇ is near zero in all the above cases. Therefore, when a pixel is far from the center of the gamut cube ⁇ is near zero. ⁇ is near one for pixels near the center of the gamut cube.
- a function of ⁇ , f( ⁇ ), is used to smoothly blend between using an emulation transform for pixels near the center of the gamut cube and using an identity transform for pixels near the primary colors.
- the blending function is defined as:
- CMYK blended f ( ⁇ )* CMYK emulation +(1 ⁇ f ( ⁇ ))* CMYK identity (6)
- CMYK identity term dominates.
- the pixel is treated as a primary color and the colorant pixel values are changed very little as the pixel is mapped from the first device's color gamut to the second device's color gamut.
- the CMYK emulation term dominates.
- the pixel is treated as a pictorial pixel and the colorant pixel value is modified as is required to map to the second device's pictorial gamut. As f( ⁇ ) moves away from the extremes the effects of the emulation transform and the identity transform are blended together.
- the function f( ⁇ ) can be any smoothly varying monotonic function. However, f( ⁇ ) should be chosen with the shape and relative size of the pictorial gamut 174 in mind. f( ⁇ ) should be chosen so that the value of f( ⁇ ) is near 1 for all or most of the pixels in the pictorial gamut 174 .
- f( ⁇ ) An example of another function that can be chosen for use as f( ⁇ ) is a gamma function. In that case the gamma function f( ⁇ ) would be defined as:
- a source CMYK image 510 is delivered to three sub-processes, the emulation transform 520 , the identity transform 530 and a blending function calculator 540 .
- the emulation transform 520 is depicted as a two-stage process.
- a source device profile is used to transform the input CMYK image to a standard calorimetric space such as, for example of CIELAB color space.
- a destination device profile is used to transform a standard calorimetric space version of the image to a destination CMYK version of the image.
- the second stage 560 of the emulation transform 520 delivers transformed pixel information to a destination CMYK image calculator 570 .
- the identity transform 530 is depicted simply as a signal flow path without a functional block since the identity transform 530 does not operate to change the input image.
- the identity transform 530 delivers input CMYK image pixel information to the destination CMYK image calculator 570 .
- the blending function calculation block 540 examines the incoming CMYK source image and calculates ⁇ , ⁇ 1 , ⁇ 2 , ⁇ 3 , ⁇ 4 and f( ⁇ ) for each pixel.
- the blending function calculation block 540 delivers the value of f( ⁇ ) for each pixel in the source image 510 to the destination CMYK image calculator 570 .
- the destination CMYK image calculator 570 accepts as input the terms on the right hand side of equation 6 and calculates the destination CMYK image 580 using equation 6 to blend between the emulation transform and the identity transform as controlled by f( ⁇ ).
- the first adjustment is to apply chroma amplification after the first stage 550 of the emulation transform 520 .
- a Chroma amplification stage 610 increases the value of a chroma component of the standard colorimetric version of the image in a suitable fashion.
- a tone reproduction curve 620 is applied after the identity transform 530 .
- the tone reproduction curve can be used, for example, to vary an image lightness and to bring the identity transform closer to the emulation transform.
- the method 300 has been described as if it is performed on the pixels of an image.
- the method can be, and preferably is, encapsulated in the form of a four-dimensional lookup table by performing it on pixels from the first color gamut 100 and storing the results in the Lookup table for later use in transforming an image.
- every pixel represented in the entire first color gamut 100 with the addition of the black channel (not shown), are processed through the described method 300 in a color gamut transformation step 450 .
- a results storage step 455 the results are stored in the four-dimensional lookup table.
- the colorant pixel values in pixels from an actual image are examined in a pixel-examining step 460 and used as indexes into the lookup table.
- the value stored in the location addressed by the colorant pixel values is accessed in a transform determining step 470 and delivered as the transformed version of the pixel. The value is the same as would have resulted if the pixel itself were processed through the method 300 directly.
- the lookup table described above includes a storage location for every possible set of pixel values there would have to be 4,294,967,296 storage locations (assuming a system comprising 256 levels of pixel values for each colorant).
- 4 bytes of computer memory or more could be required for each storage location. Therefore the lookup table could require as much as 17,179,869,184 bytes of computer memory. That much computer memory can be prohibitively expensive.
- the colorant values are used to generate or calculate the indexes of actual table entries that would surround or would be near an entry associated with the pixel if the pixel had an associated entry.
- the generated indexes are used to retrieve transform values that are near the transform value of the pixel.
- the transform values are used in the interpolation process to determine the transform value of the pixel.
- this embodiment is concerned with the blending of two transforms and two sub-gamuts
- the method can be extended to blend a plurality of transforms for a plurality of sub-gamuts.
- a plurality of weighting functions can be used to vary the weight of a plurality of transforms.
- the weighted transforms can then be combined or blended together.
- the only restriction on the weighting functions is that when the weighting functions themselves are combined in the same manner as the weighted transforms, the combination must equal 1.
- equation 6 For example, the terms on the right hand side of equation 6 are combined by summing and if one combines the weighting functions in equation 6 (f( ⁇ ) and 1 ⁇ f( ⁇ ) ) in a like manner, by summing, the combination equals 1 no matter what the value of ⁇ .
- a plurality of weighting functions can be used to blend a plurality of transforms as long as the plurality of weighting functions combine to equal 1.
- An example of a combination of weighted transforms is a weighted summation of transforms.
- a color image processor 700 for carrying out the method of the present invention comprises a pixel mapper 710 .
- the pixel mapper maps pixels from a first or source device's color gamut to a second device's color gamut.
- the pixel mapper comprises sub-mappers including a centrally located pixel mapper 720 , a primary color pixel mapper 730 and an intermediate pixel mapper 740 .
- the centrally located pixel mapper 720 maps pixels near the center of the source device's color gamut to color matched pixels in the destination device's color gamut.
- the primary color pixel mapper 730 maps pixels that represent pure, vivid primary colors in the first device's color space to pure, vivid primary colors in the second device's colors space.
- the intermediate pixel mapper 740 maps pixels that are not near the center of the first device's color gamut and do not represent primary colors to the second devices color space through a blend of the techniques used by the centrally located pixel mapper 720 and the primary color pixel mapper 730 .
- the location of each intermediate pixel 182 within the first device's color gamut 100 controls the blending process.
- a color image processor 800 can include a pixel mapper 810 that implements its three sub-mappers in the form of an emulation transformer 820 , an identity transformer 830 and a transform blender 840 .
- the emulation transformer 820 maps pixels in the first device's color gamut to pixels in the second device's color gamut.
- the emulation transformers 820 mapping is controlled by differences between a first device's color profile and a second device's color profile.
- the emulation transformer 820 attempts to emulate the first device on the second device. How the emulation transformer maps pixels from the source device's color gamut to the destination device's color gamut is usually base on a rendering intent.
- the emulation transformer may be optimized to map pictorial images from one space to another.
- the emulation transformer can include adjusters, such as, for example, chroma amplifiers, where necessary or beneficial.
- the identity transformer 830 is often just a signal path that simply maps pixels in the first device's gamut to pixels with exactly the same colorant pixel values in the second device's color space.
- the identity transformer 830 can include adjusters such as tone reproduction curves where necessary or beneficial. Identity transformation preserves the purity of primary colors while sometimes sacrificing color accuracy.
- the emulation transformer 820 and the identity transformer 830 deliver pixel information to the transform blender 840 .
- the transform blender 840 uses pixel information from the emulation transformer 820 to map pixels that are near the center of the source device's color gamut to color matched pixels in the destination device's color gamut.
- the transform blender 840 uses pixel information from the identity transformer 830 to map pixels that represent pure primary colors in the source device's color gamut to pixels that represent primary colors in the second device's color gamut.
- the transform blender 840 combines pixel information from both transformers 820 , 830 in such a way as to map intermediate pixels that do not represent primary colors and are not near the center of the source device's color gamut to appropriate pixels in the destination device's color gamut. The closer the intermediate pixels are to the center of the color gamut the more the transform blender 840 strives to maintain color accuracy. The closer the intermediate pixels are to primary colors the more the transform blender 840 strives to maintain color purity.
- the pixel mapper 710 , 810 and the sub-mappers 720 , 730 , 740 are implemented in the form of the emulation and identity transformers 820 , 830 and transform blender 840 , the pixel mapper 710 , 810 is usually implemented as a set of software modules that access a lookup table.
- a color image processor 900 comprises a pixel mapper 910 that includes software modules 920 that access a lookup table 930 .
- the lookup table 930 stores pre-calculated pixel transformations.
- the lookup table 930 can contain an entry for every possible combination of colorant pixel values. However such a table is usually considered to be too large.
- the lookup table 930 usually contains entries for a small subset of the possible colorant pixel value combinations.
- the software modules 920 then use interpolation to calculate the transform values of pixels that do not have corresponding entries in the lookup table.
- the pixel mapper 710 , 810 is stored in computer or microprocessor memory and executed by a microprocessor or central processing unit. However the functions of the pixel mapper 710 , 810 can be carried out in various ways and by various devices, including but not limited to distributed processors and various components interconnected via computer networks.
- This embodiment of the invention has been described with regard to a particular set of transforms (emulation and identity) with regard to a particular set of rendering intents. Obviously other transforms and other rendering intents can be substituted. Furthermore, while this embodiment has two transformers the color image processor can comprise a plurality of transformers, each transformer delivering its output to a blender that blends the output from the plurality of transformers.
- the invention has been described with reference to particular embodiments. Modifications and alterations will occur to others upon reading and understanding this specification.
- different blending functions can be used.
- the blending technique can be applied to transforms other than emulation and/or identity transforms.
- the transforms used can focus on rendering intents other than those designed to enhance pictorial image rendering quality.
- Colorimetric standards other than CIELAB can be used in the emulation transform.
- the emulation transform can operate directly, avoiding the use of a calorimetric standard.
- the blending function can be selected to blend between transforms that focus on other than centrally located pixels and primary color pixels.
- the method can be used on systems that use different colorants. The method can be extended to systems that include more than four colorants. It is intended that all such modifications and alterations are included insofar as they come within the scope of the appended claims or equivalents thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
Description
Claims (25)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/562,775 US6744534B1 (en) | 2000-05-02 | 2000-05-02 | Robust colorimetry transform |
JP2001125331A JP4471056B2 (en) | 2000-05-02 | 2001-04-24 | Color image processor and image rendering method |
CA002345585A CA2345585C (en) | 2000-05-02 | 2001-04-27 | Robust colorimetry transform |
EP01110616A EP1152373A3 (en) | 2000-05-02 | 2001-04-30 | Robust colorimetry transform |
BR0102193-1A BR0102193A (en) | 2000-05-02 | 2001-05-02 | Robust colorometry transformation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/562,775 US6744534B1 (en) | 2000-05-02 | 2000-05-02 | Robust colorimetry transform |
Publications (1)
Publication Number | Publication Date |
---|---|
US6744534B1 true US6744534B1 (en) | 2004-06-01 |
Family
ID=24247723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/562,775 Expired - Fee Related US6744534B1 (en) | 2000-05-02 | 2000-05-02 | Robust colorimetry transform |
Country Status (5)
Country | Link |
---|---|
US (1) | US6744534B1 (en) |
EP (1) | EP1152373A3 (en) |
JP (1) | JP4471056B2 (en) |
BR (1) | BR0102193A (en) |
CA (1) | CA2345585C (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030081060A1 (en) * | 2001-10-29 | 2003-05-01 | Huanzhao Zeng | Method and system for management of color through conversion between color spaces |
US20040136018A1 (en) * | 2003-01-10 | 2004-07-15 | Uwe-Jens Krabbenhoft | Method of adapting a printing process while maintaining black build-up |
US20040257595A1 (en) * | 2003-06-18 | 2004-12-23 | Xerox Corporation | Two-dimensional calibration architectures for color devices |
US20050140612A1 (en) * | 2003-12-29 | 2005-06-30 | Lg.Philips Lcd Co., Ltd. | Display device and driving method thereof |
US20050146735A1 (en) * | 2003-12-30 | 2005-07-07 | Microsoft Corporation | Device color characterization profile format |
US20050151983A1 (en) * | 2004-01-14 | 2005-07-14 | Xerox Corporation | Method and system for device-independent color gamut mapping |
US7161710B1 (en) * | 2000-09-01 | 2007-01-09 | Adobe Systems Incorporated | Composite rendering intent for color proofing applications |
US7227666B1 (en) | 2000-09-01 | 2007-06-05 | Adobe Systems Incorporated | Dynamic selection of rendering intent for color proofing transforms |
US20070247647A1 (en) * | 2006-04-21 | 2007-10-25 | Daniel Pettigrew | 3D lut techniques for color correcting images |
US20080030786A1 (en) * | 2006-07-27 | 2008-02-07 | International Business Machines Corporation | Mapping an input color value in an input color space to an output color value in an output color space |
US20090066978A1 (en) * | 2007-09-11 | 2009-03-12 | Xerox Corporation | Method and system for improved space filling interpolation |
US20110033108A1 (en) * | 2009-08-10 | 2011-02-10 | Canon Kabushiki Kaisha | Performing spectral gamut mapping for reproducing an image |
US20110122426A1 (en) * | 2009-11-24 | 2011-05-26 | Canon Kabushiki Kaisha | Spectral gamut mapping by constrained subdivision of gamut |
US20110149307A1 (en) * | 2009-12-18 | 2011-06-23 | Canon Kabushiki Kaisha | Selection of samples for spanning a spectral gamut |
US8068255B2 (en) | 2006-11-17 | 2011-11-29 | Microsoft Corporation | Gamut mapping spectral content to reduce perceptible differences in color appearance |
US20110299143A1 (en) * | 2010-06-04 | 2011-12-08 | Alessi Paula J | Color transform insensitive to process variability |
US11289049B2 (en) * | 2014-06-06 | 2022-03-29 | Imagination Technologies Limited | Gamut mapping with blended scaling and clamping |
US20220109781A1 (en) * | 2019-06-13 | 2022-04-07 | Hewlett-Packard Development Company, L.P. | Color matching |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7019755B2 (en) | 2003-01-15 | 2006-03-28 | Xerox Corporation | Rendering intent selection based on input color space |
DE102021208206A1 (en) | 2021-07-29 | 2023-02-02 | Heidelberger Druckmaschinen Aktiengesellschaft | Process for transforming color spaces |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734802A (en) * | 1996-02-29 | 1998-03-31 | Xerox Corporation | Blended look-up table for printing images with both pictorial and graphical elements |
US5872895A (en) * | 1994-09-29 | 1999-02-16 | Apple Computer, Inc. | Method for object based color matching when printing a color document |
US6342951B1 (en) * | 1998-12-16 | 2002-01-29 | Xerox Corporation | Gamut mapping algorithm using inverted gamma function |
US6427030B1 (en) * | 1994-08-03 | 2002-07-30 | Xerox Corporation | Method and system for image conversion utilizing dynamic error diffusion |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363218A (en) * | 1990-11-26 | 1994-11-08 | Konica Corporation | Color estimation method for compressing color image data for image reproduction |
US5323249A (en) * | 1993-01-12 | 1994-06-21 | E. I. Du Pont De Nemours And Company | Method for reproducing color images having one color gamut with a device having a different color gamut |
AUPN113395A0 (en) * | 1995-02-14 | 1995-03-09 | Canon Information Systems Research Australia Pty Ltd | Colour conversion method |
-
2000
- 2000-05-02 US US09/562,775 patent/US6744534B1/en not_active Expired - Fee Related
-
2001
- 2001-04-24 JP JP2001125331A patent/JP4471056B2/en not_active Expired - Fee Related
- 2001-04-27 CA CA002345585A patent/CA2345585C/en not_active Expired - Lifetime
- 2001-04-30 EP EP01110616A patent/EP1152373A3/en not_active Withdrawn
- 2001-05-02 BR BR0102193-1A patent/BR0102193A/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427030B1 (en) * | 1994-08-03 | 2002-07-30 | Xerox Corporation | Method and system for image conversion utilizing dynamic error diffusion |
US5872895A (en) * | 1994-09-29 | 1999-02-16 | Apple Computer, Inc. | Method for object based color matching when printing a color document |
US5734802A (en) * | 1996-02-29 | 1998-03-31 | Xerox Corporation | Blended look-up table for printing images with both pictorial and graphical elements |
US6342951B1 (en) * | 1998-12-16 | 2002-01-29 | Xerox Corporation | Gamut mapping algorithm using inverted gamma function |
Non-Patent Citations (1)
Title |
---|
Richard M. Adams II, "Choosing a Color Management Module", Secondsight, SS No. 73, a reprint from GATFWorld, the magazine of the Graphics Arts Technical Foundation, 1999. |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7161710B1 (en) * | 2000-09-01 | 2007-01-09 | Adobe Systems Incorporated | Composite rendering intent for color proofing applications |
US7423780B1 (en) | 2000-09-01 | 2008-09-09 | Adobe Systems Incorporated | Dynamic selection of rendering intent for color proofing transforms |
US7408678B1 (en) | 2000-09-01 | 2008-08-05 | Adobe Systems Incorporated | Composite rendering intent for color proofing applications |
US7468813B1 (en) | 2000-09-01 | 2008-12-23 | Adobe Systems Incorporated | Dynamic selection of rendering intent for color proofing transforms |
US7796299B1 (en) | 2000-09-01 | 2010-09-14 | Adobe Systems Incorporated | Composite rendering intent for color proofing applications |
US7227666B1 (en) | 2000-09-01 | 2007-06-05 | Adobe Systems Incorporated | Dynamic selection of rendering intent for color proofing transforms |
US20030081060A1 (en) * | 2001-10-29 | 2003-05-01 | Huanzhao Zeng | Method and system for management of color through conversion between color spaces |
US7054035B2 (en) * | 2001-10-29 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Method and system for management of color through conversion between color spaces |
US20100177332A1 (en) * | 2003-01-10 | 2010-07-15 | Heidelberger Druckmaschinen Ag | Method of adapting a printing process while maintaining black build-up |
US7813014B2 (en) * | 2003-01-10 | 2010-10-12 | Heidelberger Druckmaschinen Ag | Method of adapting a printing process while maintaining black build-up |
US20040136018A1 (en) * | 2003-01-10 | 2004-07-15 | Uwe-Jens Krabbenhoft | Method of adapting a printing process while maintaining black build-up |
US7355752B2 (en) * | 2003-06-18 | 2008-04-08 | Xerox Corporation | Two-dimensional calibration architectures for color devices |
US20040257595A1 (en) * | 2003-06-18 | 2004-12-23 | Xerox Corporation | Two-dimensional calibration architectures for color devices |
US20050140612A1 (en) * | 2003-12-29 | 2005-06-30 | Lg.Philips Lcd Co., Ltd. | Display device and driving method thereof |
US7511690B2 (en) * | 2003-12-29 | 2009-03-31 | Lg Display Co., Ltd. | Display device and driving method thereof |
US20050146735A1 (en) * | 2003-12-30 | 2005-07-07 | Microsoft Corporation | Device color characterization profile format |
US7813000B2 (en) * | 2003-12-30 | 2010-10-12 | Microsoft Corporation | Device color characterization profile format |
US7379207B2 (en) * | 2004-01-14 | 2008-05-27 | Xerox Corporation | Method and system for device-independent color gamut mapping |
US20050151983A1 (en) * | 2004-01-14 | 2005-07-14 | Xerox Corporation | Method and system for device-independent color gamut mapping |
US20070247647A1 (en) * | 2006-04-21 | 2007-10-25 | Daniel Pettigrew | 3D lut techniques for color correcting images |
US20080030786A1 (en) * | 2006-07-27 | 2008-02-07 | International Business Machines Corporation | Mapping an input color value in an input color space to an output color value in an output color space |
US7821689B2 (en) * | 2006-07-27 | 2010-10-26 | Infoprint Solutions Company Llc | Mapping an input color value in an input color space to an output color value in an output color space |
US8068255B2 (en) | 2006-11-17 | 2011-11-29 | Microsoft Corporation | Gamut mapping spectral content to reduce perceptible differences in color appearance |
US7864366B2 (en) * | 2007-09-11 | 2011-01-04 | Xerox Corporation | Method and system for improved space filling interpolation |
US20090066978A1 (en) * | 2007-09-11 | 2009-03-12 | Xerox Corporation | Method and system for improved space filling interpolation |
US20110033108A1 (en) * | 2009-08-10 | 2011-02-10 | Canon Kabushiki Kaisha | Performing spectral gamut mapping for reproducing an image |
US8311324B2 (en) | 2009-08-10 | 2012-11-13 | Canon Kabushiki Kaisha | Performing spectral gamut mapping for reproducing an image |
US8610948B2 (en) | 2009-11-24 | 2013-12-17 | Canon Kabushiki Kaisha | Spectral gamut mapping by constrained subdivision of gamut |
US20110122426A1 (en) * | 2009-11-24 | 2011-05-26 | Canon Kabushiki Kaisha | Spectral gamut mapping by constrained subdivision of gamut |
US20110149307A1 (en) * | 2009-12-18 | 2011-06-23 | Canon Kabushiki Kaisha | Selection of samples for spanning a spectral gamut |
US8542402B2 (en) | 2009-12-18 | 2013-09-24 | Canon Kabushiki Kaisha | Selection of samples for spanning a spectral gamut |
US20110299143A1 (en) * | 2010-06-04 | 2011-12-08 | Alessi Paula J | Color transform insensitive to process variability |
US8427722B2 (en) * | 2010-06-04 | 2013-04-23 | Eastman Kodak Company | Color transform insensitive to process variability |
US11289049B2 (en) * | 2014-06-06 | 2022-03-29 | Imagination Technologies Limited | Gamut mapping with blended scaling and clamping |
US11727895B2 (en) | 2014-06-06 | 2023-08-15 | Imagination Technologies Limited | Gamut mapping using luminance parameters |
US20220109781A1 (en) * | 2019-06-13 | 2022-04-07 | Hewlett-Packard Development Company, L.P. | Color matching |
Also Published As
Publication number | Publication date |
---|---|
CA2345585C (en) | 2006-06-06 |
EP1152373A3 (en) | 2004-12-15 |
CA2345585A1 (en) | 2001-11-02 |
JP2001358962A (en) | 2001-12-26 |
EP1152373A2 (en) | 2001-11-07 |
BR0102193A (en) | 2001-12-26 |
JP4471056B2 (en) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6744534B1 (en) | Robust colorimetry transform | |
Lukac et al. | Color image processing: methods and applications | |
Vrhel et al. | Color device calibration: A mathematical formulation | |
US6539110B2 (en) | Method and system for color matching between digital display devices | |
EP0611230B1 (en) | Method and associated apparatus for transforming input color values in an input color space to output color values in an output color space | |
US6400843B1 (en) | Color image reproduction with accurate inside-gamut colors and enhanced outside-gamut colors | |
US7251058B2 (en) | Method for generating customized ink/media transforms | |
US6421142B1 (en) | Out-of-gamut color mapping strategy | |
EP1821518B1 (en) | Personalized color reproduction | |
US7729014B2 (en) | Systems for gray component replacement blending | |
JP3737149B2 (en) | Color image generation system and method | |
US6275606B1 (en) | Method and system for color matching between digital display devices | |
US8437053B2 (en) | Gamut mapping using hue-preserving color space | |
US20090040564A1 (en) | Vision-Based Color and Neutral-Tone Management | |
US6650771B1 (en) | Color management system incorporating parameter control channels | |
Katoh et al. | Three-dimensional gamut mapping using various color difference formulae and color spaces | |
US6185004B1 (en) | Self-calibration for color image reproduction system | |
US8427722B2 (en) | Color transform insensitive to process variability | |
KR19990009458A (en) | Color Correction Apparatus and Method of Imaging System | |
WO1997000495A1 (en) | Printer driver having gamut-mapped colors | |
US7355752B2 (en) | Two-dimensional calibration architectures for color devices | |
Spaulding et al. | UltraColor: A new gamut-mapping strategy | |
GB2213674A (en) | Transforming colour monitor pixel values to colour printer pixel values | |
US7006105B2 (en) | Color correction method and color correction program to obtain desired output image | |
US20070171441A1 (en) | Color and darkness management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BALASUBRAMANIAN, THYAGARAJAN (NMI);ROLLESTON, ROBERT J.;REEL/FRAME:010778/0310 Effective date: 20000502 |
|
AS | Assignment |
Owner name: BANK ONE, NA, AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:013111/0001 Effective date: 20020621 Owner name: BANK ONE, NA, AS ADMINISTRATIVE AGENT,ILLINOIS Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:013111/0001 Effective date: 20020621 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:015134/0476 Effective date: 20030625 Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT,TEXAS Free format text: SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:015134/0476 Effective date: 20030625 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20160601 |
|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO BANK ONE, N.A.;REEL/FRAME:061388/0388 Effective date: 20220822 Owner name: XEROX CORPORATION, CONNECTICUT Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK;REEL/FRAME:066728/0193 Effective date: 20220822 |