WO1999010835A1 - Scanner calibration and correction techniques using scaled lightness values - Google Patents

Scanner calibration and correction techniques using scaled lightness values Download PDF

Info

Publication number
WO1999010835A1
WO1999010835A1 PCT/US1998/017468 US9817468W WO9910835A1 WO 1999010835 A1 WO1999010835 A1 WO 1999010835A1 US 9817468 W US9817468 W US 9817468W WO 9910835 A1 WO9910835 A1 WO 9910835A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
chromaticity
scanner
pair
independent
Prior art date
Application number
PCT/US1998/017468
Other languages
French (fr)
Inventor
Edward M. Granger
Original Assignee
X-Rite, Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by X-Rite, Incorporated filed Critical X-Rite, Incorporated
Publication of WO1999010835A1 publication Critical patent/WO1999010835A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/603Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer
    • H04N1/6033Colour correction or control controlled by characteristics of the picture signal generator or the picture reproducer using test pattern analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition

Definitions

  • the present invention relates generally to color management in graphic arts (GA) publishing, and more specifically to techniques for calibrating scanners.
  • the term "scanner” used herein is intended to include not only devices that scan a printed input but also other devices that receive radiation and output color signals, such as digital cameras.
  • a computer system providing color management functions comprises various devices that receive or output color images . Each such device usually has its own, device-dependent, way of specifying a particular color. Typically, each device communicates color information to other devices by mapping its device-dependent color specifications into corresponding specifications in a common device-independent representation of color used throughout the computer system.
  • One such device-independent representation of color is the XYZ color space defined by the CIE (Commission Internationale de l'Eclarage in French) .
  • a scanner which scans a color printed image.
  • a typical scanner provides a set of RGB (red-green-blue) values, each normally ranging from 0-255, with (0, 0, 0) ideally corresponding to black and (255, 255, 255) to white (no colorant) .
  • RGB red-green-blue
  • a scanner must be calibrated in order to provide accurate mapping from the scanner's color representations to corresponding device-independent color representations, over the range of colors that are expected to be encountered. Accurate device-independent representations can then- be shared with other devices (such as a monitor) , enabling them to accurately reproduce colors that look like the colors in the scanned printed image or captured scene.
  • color printed image is intended to include not only images printed on paper but also other types of scanner inputs, such as films, transparencies, and slides.
  • printer is intended to include the devices producing such scanner inputs and against whose output the scanner is to be calibrated.
  • One approach to scanner calibration involves building a lookup table, whose entries are indexed by scanner color representation, with each entry containing a respective corresponding device-independent color representation.
  • the scanner color representation associated with each table entry is obtained by scanning a sample of a respective color from the input color space.
  • the corresponding device-independent color representation is obtained by examining the color sample with a device that can provide device-independent color representations, such as a spectrophoto eter .
  • An interpolation technique is used to calculate a device-independent color representation corresponding to an arbitrary scanner color representation, using the values stored in two or more of the look-up table entries .
  • the required interpolation technique is typically three- dimensional, and thus computationally expensive. Given that a scanned image may have millions of pixels, the interpolation technique may result in an unacceptably slow mapping from a scanner representation to a device- independent representation of the colors in the image. Further, to build a look-up table over the three-dimensional scanner color space may require a very large number of samples to adequately capture the range of possible colors .
  • the present invention provides techniques for calibrating a scanner and correcting measurements from a scanner so that once the scanner is calibrated, the scanner's device-dependent tristimulus values for an arbitrary color are transformed to an extremely faithful device- independent representation of the arbitrary color in a computationally efficient manner.
  • the invention characterizes a scanner in a manner that a corrected device-independent representation of a scanned color can be determined on the basis of a pair of chromaticity coordinates in a chromaticity space having (i) a pair of chromaticity coordinates that span hue and chroma (saturation) , and (ii) a lightness coordinate that is a luminance correlate (monotonic function of luminance) .
  • a calibration technique proceeds as follows. First, a set of color samples is measured, both with the scanner and with a measurement device (such as a spectrophotometer) that provides device-independent color representations.
  • the scanner representations are RGB tristimulus values and the device-independent representation of a color is the set of XYZ values for that color. For each color sample, the scanner values are transformed to representations in a chromaticity space.
  • These measurements are used to generate a look-up table, indexed by the two chromaticity coordinates, with each entry in the table including device- independent values and a device-dependent lightness value, either directly taken from the measurement of a single color sample or derived from measurements of a plurality of color samples.
  • the scanner measurements of color samples are not uniformly spaced in chromaticity space. Therefore, it is preferred to interpolate the sets of measured values (i.e., the device-independent values and the device-dependent lightness value for the different samples) in order to generate a table having entries labeled by equally spaced values of the pair of chromaticity coordinates. If desired, the interpolation can be modified to build gamut compression into the table .
  • a technique for correcting a scanner measurement of an arbitrary color proceeds as follows.
  • a set of device-independent values (such as XYZ) and a lightness value are determined as a function of a pair of chromaticity values corresponding to the scanned value.
  • the determined device-independent values are then scaled by the ratio of the scanned lightness value to the determined lightness value to provide the device- independent values for the scanned color.
  • the function that provides the set of device-independent values and the lightness value as a function of the chromaticity coordinates is implemented by a table, such as that mentioned above, indexed by the two chromaticity coordinates.
  • the table entries are typically determined by interpolating the values from the measured color samples .
  • a technique for correcting a scanner measurement proceeds as follows . To the extent that the scanner measurement is not in the chromaticity representation, it is converted to the chromaticity representation.
  • the scanner's uncorrected chromaticity values are then used to access the relevant portion of the table and retrieve the device- independent values and the device-dependent lightness value corresponding to the pair of uncorrected chromaticity values .
  • the table has entries for all possible chromaticity coordinate pairs, the values are directly retrieved by look-up alone, and the table is still of a manageable size. Even if a smaller table is used, the retrieval can be accomplished by a two-dimensional interpolation of table entries, which is computationally efficient.
  • the term "possible" should be taken as being determined by the precision to which the chromaticity coordinates are calculated. For example, if the chromaticity coordinates are calculated to NB- ⁇ and NB 2 bits of precision, there are only 2 NB1+NB2 possible pairs of values, even though there are infinitely many possible colors.
  • the corrected device-independent values for the scanner measurement are then obtained by multiplying each of the retrieved device- independent values by the ratio of the scanner measurement ' s uncorrected 99/10835
  • the corrected device-independent values for a pixel of arbitrary color are given by:
  • the values of variables t and d are normalized chromaticity coordinates characterized by a given proportion of R, G, and B, and represent the direction cosines of a vector in V-T-D space. It is sometimes convenient to convert t and d to a pair of values r representing chroma (saturation) and ⁇ representing hue where:
  • a given hue is sometimes said to be characterized by a given hue angle, ⁇ .
  • the table is labeled by r and ⁇ , but the interpolations to build the table are done in t-d space .
  • FIG. 1 is a block diagram of a computer system in which the present invention may be embodied
  • Fig. 2 is a flowchart showing a method of calibrating a scanner in accordance with the present invention
  • Fig. 3 is a flowchart showing a method of constructing a calibration table
  • Fig. 4 (left-hand portion) schematically shows possible values in a particular chromaticity plane; Fig. 4 (right-hand portion) schematically shows a number of measured points (hollow circles) populating the chromaticity plane; and Fig. 5 is a flowchart showing a method of transforming an RGB measurement of an arbitrary color into a corresponding XYZ measurement .
  • Fig. 1 is a simplified block diagram of a computer system 10 in which the present invention may be embodied.
  • the computer system includes a processor 12 that communicates with a number of peripheral devices via a bus subsystem 15.
  • peripheral devices typically include a memory subsystem 17, a user input facility 20, a display subsystem 22, output devices such as a printer 23 (as broadly defined in the background section) , and a file storage system 25.
  • bus subsystem is used generically so as to include any mechanism for letting the various components of the system communicate with each other as intended. With the exception of the input devices and the display, the other components need not be at the same physical location.
  • Bus subsystem 15 is shown schematically as a single bus, but a typical system has a number of buses such as a local bus and one or more expansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), as well as serial and parallel ports .
  • Network connections are usually established through a device such as a network adapter on one of these expansion buses or a modem on a serial port.
  • the computer system may be a desktop system or a portable system.
  • Memory subsystem 17 includes a number of memories including a random access memory (RAM) 30 (possibly including one or more caches) and a read only memory (ROM) 32 in which fixed instructions are stored.
  • RAM random access memory
  • ROM read only memory
  • User input facility 20 includes a keyboard 40, a pointing device 42, a scanner 43 (as broadly defined in the background section), and a spectrophot ⁇ meter 45.
  • the role of spectrophotometer 45 could be performed by a colorimeter.
  • a densitometer may be a useful adjunct.
  • the pointing device may be an indirect pointing device such as a mouse, trackball, touchpad, or graphics tablet, or a direct pointing device such as a touchscreen incorporated into the display.
  • Scanner 43 produces a bitmap image corresponding to a photographic print or slide, or other hard copy document. In the case where the scanner is a digital camera, the bitmap image has been directly captured from the scene.
  • Spectrophotometer 45 is a color measurement device that provides device-independent spectrometric information about a single color.
  • the spectrophotometer may be a ColortronTM 32-band digital color sensor device, available from Light Source Computer Images, Inc. (located in San Rafael, California), a subsidiary of X-Rite, Incorporated (located in Grandville, Michigan) .
  • Display subsystem 22 typically includes a display controller 50 and a display device 55 coupled to the controller.
  • the display device may be a cathode ray tube (CRT) , a flat-panel device such as a liquid crystal display (LCD), or a projection device.
  • Display controller provides control signals to the display device and normally includes a display memory (not shown in the figure) for storing the pixels that appear on the display device .
  • the file storage system provides persistent (non-volatile) storage for program and data files, and typically includes at least one hard disk drive 57 and at least one floppy disk drive 60. There may also be other devices such as a CD-ROM drive 62 and optical drives. Additionally, the system may include hard drives of the type with removable media cartridges. As noted above, one or more of the drives may be located at a remote location, such as in a server on a local area network or at a site on the Internet's World Wide Web.
  • a set of color samples are scanned by scanner 43 to produce a corresponding set of scanner color representations, which are stored in a table 65.
  • the color representations produced by scanner 43 consist of RGB values.
  • the present invention is equally applicable to embodiments in which scanner 43 produces color representations other than RGB representations.
  • the invention is equally applicable to embodiments where scanner 43 produces a measurement other than a tristimulus measurement.
  • scanner 43 might output quadstimulus (i.e., four-valued) measurements.
  • the invention is equally applicable to calibrating a scanner whose input is other than paper (e.g., slides, film) .
  • the scanner could be a digital camera.
  • Spectrophotometer 45 individually examines each of the color samples and produces corresponding device-independent color representations, which are stored in a table 70.
  • spectrophotometer 45 produces XYZ color representations, as defined by the CIE (Commission Internationale de l'Eclarage in French) .
  • CIE Commission Internationale de l'Eclarage in French
  • the present invention is equally applicable to embodiments in which spectrophotometer 45 produces device- independent tristimulus color representations other than XYZ representations (such as the CIE-defined xyY, Lab, or Luv color spaces) .
  • a program executing on processor 12 uses the values stored in tables 65 and 70 to generate calibration information 75, which information is used to transform a representation produced by scanner 43 for an arbitrary color into an equivalent device-independent color representation for the arbitrary color.
  • Calibration information 75 once constructed, is typically stored on one of the devices in file storage subsystem 22. The calibration information, when it is to be used to transform scanner representations of arbitrary colors to corresponding device-independent representations, is read into RAM 30. Tables 65 and 70 and calibration information 75 and their methods of construction and use will be described in detail in later sections .
  • the present invention entails, both in calibrating a scanner and in correcting scanned colors, transforming scanned input colors to a chromaticity space.
  • the invention allows corrected device-independent values (e.g., XYZ) to be determined in a computationally efficient way.
  • the chromaticity space should have the property that it includes a pair of chromaticity coordinates that span hue and chroma, and a luminance correlate that is substantially independent of the chromaticity coordinates.
  • CIE xyY and CIE Yuv and derivatives thereof are suitable chromaticity spaces.
  • CIE Lab and Luv (1976) would generally not be suitable since L is heavily correlated with a and b and with u and v.
  • it is convenient to define a chromaticity space in terms of the scanner RGB space as follows:
  • V (2R + 3G + 2B)/2 (light-dark opponent system);
  • variables t and d are normalized chromaticity coordinates characterized by a given proportion of R, G, and B, and represent the direction cosines of a vector in V-T-D space. It is sometimes convenient to convert t and d to a pair of values r and ⁇ representing chroma (saturation) and hue, respectively, where:
  • a given hue is sometimes said to be characterized by a given hue angle .
  • the VTD space approximates Guth's ATD opponent vision model, but uses a different luminance correlate, namely V. It has been found that using V to normalize the chromaticity coordinates provides a chromaticity space that is more uniform in differences in perceived chroma than would be achieved by using A. Using A, on the other hand, provides a space that is more uniform in differences in perceived brightness.
  • the value of a color's V coordinate is sometimes referred to as the V value or the lightness of the color.
  • A, T, and V can be accomplished by logical shifts and additions. In a specific embodiment, computations are performed with 32-bit integers, and shifts are performed last to preserve precision. It is noted that V has a value in the range 0-892.5 (R, G, and B all 0 or all 255) . Each of T and D has a value in the range of -255 to 255.
  • V (R + G + B) .
  • Fig. 2 is a flowchart showing a method of calibrating a scanner in accordance with the present invention.
  • a set of color samples is provided. This set preferably contains the range of colors that it is hoped to scan. To the extent that the scanner is to be calibrated for output from a particular target printer, it may be preferable to print the color samples using the target printer. If the scanner is a digital camera, the color samples preferably include the types of real-world colors that would be encountered (e.g., flesh tones, blue sky tones) . The color samples preferably include a region of bare substrate (i.e., white) and a region of the darkest color (black) that is readily available.
  • Granger for "APPEARANCE-BASED TECHNIQUE FOR RENDERING COLORS ON AN OUTPUT DEVICE” describes techniques for characterizing output devices such as printers, so that a color specified in a device-independent representation (e.g., XYZ) can be faithfully rendered on the target printer. Included in the techniques described are the use of what are referred to as umbrella colors .
  • the umbrella colors are disclosed as being preferably characterized by the highest luminance that the target printer is capable of rendering for a given chromaticity (hue and chroma) .
  • the umbrella colors include a single primary colorant at values from 0 to 100% dot area or pairwise combinations of the primary colorants over that range .
  • a set of color samples could be used in connection with the present invention.
  • an industry-standard color chart such as a 56-color chart available from GretagMacBeth (located in New Windsor, New York) could be used.
  • a chart with a possible set of umbrella colors for a CMY printer is shown associated with step 100. The color samples are laid out in a hexagonal pattern, with the center sample devoid of colorant.
  • Each of the 120° sectors of the chart is equivalent to one of the three square charts shown in U.S. Patent No. 5,650,942.
  • the charts in U.S. Patent No. 5,650,942 are each 11x11, which is suitable, although the chart shown in Fig. 2 herein would also work well. Acceptable results could be obtained using only 7 samples, namely the samples at the center and the six corners of the hexagon.
  • each sample is measured with scanner 43 to obtain a set of scanner tristimulus (in particular, RGB) measurements of the six samples and the region of bare substrate.
  • scanner representations other than RGB representations may be produced by scanner 43.
  • the measured device-dependent values from this step can be stored in table 65.
  • each sample is measured with spectrophotometer 45 to obtain a set of device-independent tristimulus (in particular, XYZ) measurements of the samples.
  • device-independent tristimulus color representations other than XYZ representations (such as the CIE-defined xyY, Lab, or Luv color spaces) may be produced by spectrophotometer 45.
  • the measured device-independent values from this step can be stored in table 70.
  • a program executing on processor 12 uses the information in tables 65 and 70 to compute calibration information.
  • the calibration information implements a function that maps scanner measurements of unknown arbitrary colors to device-independent values.
  • the function is implemented as a table, indexed by uncorrected scanner chromaticity values .
  • the table contains entries corresponding to device-independent tristimulus measurements and device- dependent lightness values.
  • Fig. 3 is a flowchart showing additional details of step 107
  • Fig. 2 of constructing calibration table 75 (Fig. 1) .
  • the color samples have been measured with the scanner and with a spectrophotometer, so as to generate RGB and XYZ values for each color sample.
  • the scanner values RGB typically
  • V-t-d chromaticity representation
  • the measured XYZ values and the derived lightness value (V) are stored in association with the derived chromaticity values (t, d) at a step 112.
  • what is stored represents a table of XYZ-V entries indexed by t and d, but the values of t and d arise from the particular colors of the measured samples, and are typically not suited to a rapid convenient look-up. Rather, what is desired is a table containing XYZ-V entries for equally spaced values of the chromaticity coordinates. Therefore, at a step 115, the desired values of t and d for the calibration table are determined.
  • the look-up table is indexed by r and ⁇ , which represent chroma and hue angle and are derived from t and d. Accordingly, the desired t-d pairs are determined as those values that correspond to uniformly spaced r and ⁇ values. Thus, the desired r- ⁇ pairs are determined (essentially trivially) , and those values are converted to t and d values using the inverse of the equations above.
  • the inverse conversion equations are:
  • r is an 8-bit quantity and ⁇ is a 9-bit quantity.
  • each desired t-d pair is determined, at a step 117, from the measured XYZ values and derived lightness values that were stored at step 112. This is accomplished by two-dimensional interpolation in the t-d space. The interpolation can be based on the nearest three points or the nearest four points in the t-d space. Currently interpolating based on the nearest four points is preferred.
  • each of the interpolated XYZ-V entries is stored in the calibration table.
  • the table includes 256x512 entries, namely an entry for each possible 8-bit value of r and each possible 9-bit value of ⁇ .
  • Fig. 4 shows a number of measured points (hollow circles) populating the t-d space within the triangle.
  • superimposed on the triangle are a number of equally spaced concentric circles, each denoting a locus of a fixed value of r (chroma) .
  • Also superimposed on the triangle are a number of radial lines spaced at equal angles, each denoting a locus of a fixed value of ⁇ (hue angle) .
  • the concentric circles and the radial lines represent a grid in r- ⁇ space, and their intersections represent r- ⁇ pairs suitable for indexing the calibration table.
  • each raw scanner measurement is converted into a linearized and balanced scanner measurement before any further use is made of it. This includes measuring the calibration color samples, as described above, and measuring arbitrary colors, as described below. This is a well-known correction and will only be described briefly below.
  • V__ the maximum RGB coordinate value .
  • K Q , K ⁇ _ , ... i ⁇ are evenly spaced in the range of RGB coordinate values .
  • linearized and balanced scanner values lie in the interval [0,255] .
  • the function LS is implemented as a set of three look-up tables, one each for the R, G, and B coordinates. Each table is indexed by raw scanner values and contains linearized and balanced scanner values .
  • FIG. 5 is a flowchart showing a method of transforming an RGB measurement of an arbitrary color (having values denoted by p i x , G r >i x and B_ ⁇ ⁇ ) into a corresponding XYZ measurement (having values denoted by _ ⁇ ⁇ , Y p ⁇ , and Z ⁇ x ) •
  • a program running on processor 12 converts the Rpi x G pi X ' and B pi x values to the r- ⁇ -V representation (having values r p ⁇ ⁇ , ⁇ - ⁇ , and V pj _ x ) •
  • the values of r p ⁇ ⁇ and ⁇ p ⁇ ⁇ are used to index into the calibration table and retrieve an XYZ- V entry (having XYZ values designated X ca ⁇ , Y ca __ > and Z ca ⁇ , and a
  • the scanned input is destined for an output device (e.g., printer or monitor) whose output gamut is less than that of the input colors
  • an output device e.g., printer or monitor
  • the above-mentioned U.S. Patent No. 5,650,942 describes techniques for making output destined for a high-end printer look good when printed on a low-end proofing printer or displayed on a monitor of lesser gamut.
  • the range of commanded (desired) chroma values was smoothly mapped (compressed) to a lesser range (see, e.g., Fig. 20 in the patent) .
  • This approach can be used in connection with XYZ values produced by the present invention.
  • a straightforward way would be to take the XYZ values from the calibration table, convert them to r- ⁇ -V values using the meta RGB equations shown in column 7 of the patent, and then reduce the r value at the upper end of the chroma range for adaptation.
  • the mapping of r could be implemented with a two-dimensional lookup table, indexed by r and ⁇ , to provide the reduced value of r.
  • the adaptation function is generally different for the different hue angles, since the output device will typically require different amounts of compression.
  • step 115 determines the desired t-d values for the calibration table. If no adaptation is desired, the above description of step 115 applies.
  • the set of t-d values needed for the interpolation in step 117 would be determined on the basis of the compressed range of r (amount of compression typically being different for different values of ⁇ ) , but the entries would then be stored for the full range of r. In this way, the table, when accessed by values of r that would be outside the gamut of the output device, would output entries generated with data characterized by lesser values of r (in accordance with the adaptation function) .
  • the present invention provides extremely effective and efficient techniques for calibrating scanners and thereby allowing the conversion of a scanner measurement to a device-independent representation.

Abstract

A technique for calibrating a scanner (43) wherein once the scanner (43) is calibrated, the scanner's device-dependent tristimulus values (e.g. RGB) for an arbitrary color are transformed to a device-independent representation (e.g., XYZ) of the arbitrary color in a computationally efficient manner. The scanner (43) is characterized in a manner that a corrected device-independent representation of an arbitrary scanned color can be determined on the basis of a pair of chromaticity coordinates in a chromaticity space having (i) a pair of chromaticity coordinates that span hue and chroma (saturation), and (ii) a lightness coordinate that is a luminace correlate (monotonic function of luminace). A look up table (75) stores XYZ values and a lightness value. A set of XYZ values and a lightness value are retrieved from the table as addressed by a pair of chromaticity values corresponding to the scanned value. The XYZ values from the table are then scaled by the ratio of the scanned lightness value to the lightness value from the table to provide the XYZ values from the arbitrary color.

Description

SCANNER CALIBRATION AND CORRECTION TECHNIQUES USING SCALED LIGHTNESS VALUES
BACKGROUND OF THE INVENTION
The present invention relates generally to color management in graphic arts (GA) publishing, and more specifically to techniques for calibrating scanners. The term "scanner" used herein is intended to include not only devices that scan a printed input but also other devices that receive radiation and output color signals, such as digital cameras. A computer system providing color management functions comprises various devices that receive or output color images . Each such device usually has its own, device-dependent, way of specifying a particular color. Typically, each device communicates color information to other devices by mapping its device-dependent color specifications into corresponding specifications in a common device-independent representation of color used throughout the computer system. One such device-independent representation of color is the XYZ color space defined by the CIE (Commission Internationale de l'Eclarage in French) . One common device in color management systems is a scanner, which scans a color printed image. A typical scanner provides a set of RGB (red-green-blue) values, each normally ranging from 0-255, with (0, 0, 0) ideally corresponding to black and (255, 255, 255) to white (no colorant) . Typically, a scanner must be calibrated in order to provide accurate mapping from the scanner's color representations to corresponding device-independent color representations, over the range of colors that are expected to be encountered. Accurate device-independent representations can then- be shared with other devices (such as a monitor) , enabling them to accurately reproduce colors that look like the colors in the scanned printed image or captured scene. The use of the term "color printed image" is intended to include not only images printed on paper but also other types of scanner inputs, such as films, transparencies, and slides. The term "printer" is intended to include the devices producing such scanner inputs and against whose output the scanner is to be calibrated.
One approach to scanner calibration involves building a lookup table, whose entries are indexed by scanner color representation, with each entry containing a respective corresponding device-independent color representation. The scanner color representation associated with each table entry is obtained by scanning a sample of a respective color from the input color space. The corresponding device-independent color representation is obtained by examining the color sample with a device that can provide device-independent color representations, such as a spectrophoto eter . An interpolation technique is used to calculate a device-independent color representation corresponding to an arbitrary scanner color representation, using the values stored in two or more of the look-up table entries .
The required interpolation technique is typically three- dimensional, and thus computationally expensive. Given that a scanned image may have millions of pixels, the interpolation technique may result in an unacceptably slow mapping from a scanner representation to a device- independent representation of the colors in the image. Further, to build a look-up table over the three-dimensional scanner color space may require a very large number of samples to adequately capture the range of possible colors .
In view of these difficulties, attempts have been made to find a linear mapping between the scanner's device-dependent color representations (e.g., scanner RGB values) and the desired device- independent color representations (e.g., XYZ values). Put another way, attempts have been made to determine a 3x3 transformation matrix, M, such that the XYZ values, denoted Xa, Ya, and Za, for an arbitrary set of scanner RGB values denoted Ra, Ga, and Ba, are determined as follows:
<xa< γa' za> = <Ra< Ga< Ba> * M- This has typically been done by measuring a number of color samples distributed over the input color space, and doing a least squares fit (or other type of fit) to determine the matrix parameters. Since the mapping is, in general, not linear over the entire color space, such efforts have not led to acceptable results .
SUMMARY OP THE INVENTION The present invention provides techniques for calibrating a scanner and correcting measurements from a scanner so that once the scanner is calibrated, the scanner's device-dependent tristimulus values for an arbitrary color are transformed to an extremely faithful device- independent representation of the arbitrary color in a computationally efficient manner.
In brief, the invention characterizes a scanner in a manner that a corrected device-independent representation of a scanned color can be determined on the basis of a pair of chromaticity coordinates in a chromaticity space having (i) a pair of chromaticity coordinates that span hue and chroma (saturation) , and (ii) a lightness coordinate that is a luminance correlate (monotonic function of luminance) .
A calibration technique according to a specific embodiment of the invention proceeds as follows. First, a set of color samples is measured, both with the scanner and with a measurement device (such as a spectrophotometer) that provides device-independent color representations. In a specific embodiment, the scanner representations are RGB tristimulus values and the device-independent representation of a color is the set of XYZ values for that color. For each color sample, the scanner values are transformed to representations in a chromaticity space. These measurements are used to generate a look-up table, indexed by the two chromaticity coordinates, with each entry in the table including device- independent values and a device-dependent lightness value, either directly taken from the measurement of a single color sample or derived from measurements of a plurality of color samples.
In general, the scanner measurements of color samples are not uniformly spaced in chromaticity space. Therefore, it is preferred to interpolate the sets of measured values (i.e., the device-independent values and the device-dependent lightness value for the different samples) in order to generate a table having entries labeled by equally spaced values of the pair of chromaticity coordinates. If desired, the interpolation can be modified to build gamut compression into the table .
A technique for correcting a scanner measurement of an arbitrary color proceeds as follows. A set of device-independent values (such as XYZ) and a lightness value are determined as a function of a pair of chromaticity values corresponding to the scanned value. The determined device-independent values are then scaled by the ratio of the scanned lightness value to the determined lightness value to provide the device- independent values for the scanned color. In a specific embodiment, the function that provides the set of device-independent values and the lightness value as a function of the chromaticity coordinates is implemented by a table, such as that mentioned above, indexed by the two chromaticity coordinates. The table entries are typically determined by interpolating the values from the measured color samples .
In an embodiment using such a table, a technique for correcting a scanner measurement according to the invention proceeds as follows . To the extent that the scanner measurement is not in the chromaticity representation, it is converted to the chromaticity representation.
The scanner's uncorrected chromaticity values are then used to access the relevant portion of the table and retrieve the device- independent values and the device-dependent lightness value corresponding to the pair of uncorrected chromaticity values . If the table has entries for all possible chromaticity coordinate pairs, the values are directly retrieved by look-up alone, and the table is still of a manageable size. Even if a smaller table is used, the retrieval can be accomplished by a two-dimensional interpolation of table entries, which is computationally efficient. In this context, the term "possible" should be taken as being determined by the precision to which the chromaticity coordinates are calculated. For example, if the chromaticity coordinates are calculated to NB-^ and NB2 bits of precision, there are only 2NB1+NB2 possible pairs of values, even though there are infinitely many possible colors.
The corrected device-independent values for the scanner measurement are then obtained by multiplying each of the retrieved device- independent values by the ratio of the scanner measurement ' s uncorrected 99/10835
lightness value to the retrieved lightness value. For example, if the device-independent values retrieved from the calibration table are designated Xcai γ Cal' and zcal' the retrieved lightness value is designated Vcai > and the scanner measurement (pixel) has a lightness value designated Vp^χ, the corrected device-independent values for a pixel of arbitrary color, designated Xpix, γ pix. and Zpiχ, are given by:
*pix = xcal * (vpix / vcal> ; γpix = Ycal * <vpix / vcal)' and zpix = zcal * <vpix / vcal>
In a specific embodiment, it is convenient to define the chromaticity space in terms of the scanner RGB space as follows :
V = (2R + 3G + 2B)/2 (light-dark opponent system); T = R - G (red-green opponent system) ;
D = (R + G - 2B) /2 (yellow-blue opponent system) ; t = T/V; and d = D/V. The values of variables t and d are normalized chromaticity coordinates characterized by a given proportion of R, G, and B, and represent the direction cosines of a vector in V-T-D space. It is sometimes convenient to convert t and d to a pair of values r representing chroma (saturation) and θ representing hue where:
r = (t2 + v2)1 2; and θ = tan_1(t/d) .
In this representation, a given hue is sometimes said to be characterized by a given hue angle, θ. In a specific embodiment, the table is labeled by r and θ, but the interpolations to build the table are done in t-d space .
A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings .
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a computer system in which the present invention may be embodied;
Fig. 2 is a flowchart showing a method of calibrating a scanner in accordance with the present invention;
Fig. 3 is a flowchart showing a method of constructing a calibration table;
Fig. 4 (left-hand portion) schematically shows possible values in a particular chromaticity plane; Fig. 4 (right-hand portion) schematically shows a number of measured points (hollow circles) populating the chromaticity plane; and Fig. 5 is a flowchart showing a method of transforming an RGB measurement of an arbitrary color into a corresponding XYZ measurement .
DESCRIPTION OF SPECIFIC EMBODIMENTS
1. System Overview
Fig. 1 is a simplified block diagram of a computer system 10 in which the present invention may be embodied. In accordance with known practice, the computer system includes a processor 12 that communicates with a number of peripheral devices via a bus subsystem 15. These peripheral devices typically include a memory subsystem 17, a user input facility 20, a display subsystem 22, output devices such as a printer 23 (as broadly defined in the background section) , and a file storage system 25. In this context, the term "bus subsystem" is used generically so as to include any mechanism for letting the various components of the system communicate with each other as intended. With the exception of the input devices and the display, the other components need not be at the same physical location. Thus, for example, portions of the file storage system could be connected via various local-area or wide-area network media, including telephone lines. Similarly, the input devices and display need not be at the same location as the processor, although it is anticipated that the present invention will most often be implemented in the context of PCs and workstations . Bus subsystem 15 is shown schematically as a single bus, but a typical system has a number of buses such as a local bus and one or more expansion buses (e.g., ADB, SCSI, ISA, EISA, MCA, NuBus, or PCI), as well as serial and parallel ports . Network connections are usually established through a device such as a network adapter on one of these expansion buses or a modem on a serial port. The computer system may be a desktop system or a portable system.
Memory subsystem 17 includes a number of memories including a random access memory (RAM) 30 (possibly including one or more caches) and a read only memory (ROM) 32 in which fixed instructions are stored. In the case of Macintosh-compatible personal computers this would include portions of the operating system,- in the case of IBM-compatible personal computers, this would include the BIOS (basic input/output system).
User input facility 20 includes a keyboard 40, a pointing device 42, a scanner 43 (as broadly defined in the background section), and a spectrophotσmeter 45. In other embodiments the role of spectrophotometer 45 could be performed by a colorimeter. Further, a densitometer may be a useful adjunct. The pointing device may be an indirect pointing device such as a mouse, trackball, touchpad, or graphics tablet, or a direct pointing device such as a touchscreen incorporated into the display. Scanner 43 produces a bitmap image corresponding to a photographic print or slide, or other hard copy document. In the case where the scanner is a digital camera, the bitmap image has been directly captured from the scene. Spectrophotometer 45 is a color measurement device that provides device-independent spectrometric information about a single color. In a specific embodiment, the spectrophotometer may be a Colortron™ 32-band digital color sensor device, available from Light Source Computer Images, Inc. (located in San Rafael, California), a subsidiary of X-Rite, Incorporated (located in Grandville, Michigan) .
Display subsystem 22 typically includes a display controller 50 and a display device 55 coupled to the controller. The display device may be a cathode ray tube (CRT) , a flat-panel device such as a liquid crystal display (LCD), or a projection device. Display controller provides control signals to the display device and normally includes a display memory (not shown in the figure) for storing the pixels that appear on the display device . The file storage system provides persistent (non-volatile) storage for program and data files, and typically includes at least one hard disk drive 57 and at least one floppy disk drive 60. There may also be other devices such as a CD-ROM drive 62 and optical drives. Additionally, the system may include hard drives of the type with removable media cartridges. As noted above, one or more of the drives may be located at a remote location, such as in a server on a local area network or at a site on the Internet's World Wide Web.
In accordance with the present invention, a set of color samples, possibly produced by printer 23, are scanned by scanner 43 to produce a corresponding set of scanner color representations, which are stored in a table 65. In the specific embodiment discussed below, the color representations produced by scanner 43 consist of RGB values. However, the present invention is equally applicable to embodiments in which scanner 43 produces color representations other than RGB representations. For example, the invention is equally applicable to embodiments where scanner 43 produces a measurement other than a tristimulus measurement. For example, in one such embodiment scanner 43 might output quadstimulus (i.e., four-valued) measurements. Further, the invention is equally applicable to calibrating a scanner whose input is other than paper (e.g., slides, film) . As mentioned above, the scanner could be a digital camera.
Spectrophotometer 45 individually examines each of the color samples and produces corresponding device-independent color representations, which are stored in a table 70. In the specific embodiment discussed below, spectrophotometer 45 produces XYZ color representations, as defined by the CIE (Commission Internationale de l'Eclarage in French) . However, the present invention is equally applicable to embodiments in which spectrophotometer 45 produces device- independent tristimulus color representations other than XYZ representations (such as the CIE-defined xyY, Lab, or Luv color spaces) . A program executing on processor 12 uses the values stored in tables 65 and 70 to generate calibration information 75, which information is used to transform a representation produced by scanner 43 for an arbitrary color into an equivalent device-independent color representation for the arbitrary color. Calibration information 75, once constructed, is typically stored on one of the devices in file storage subsystem 22. The calibration information, when it is to be used to transform scanner representations of arbitrary colors to corresponding device-independent representations, is read into RAM 30. Tables 65 and 70 and calibration information 75 and their methods of construction and use will be described in detail in later sections .
2. Preferred Chromaticity Space
As will be described below, the present invention entails, both in calibrating a scanner and in correcting scanned colors, transforming scanned input colors to a chromaticity space. In correcting scanner measurements, the invention allows corrected device-independent values (e.g., XYZ) to be determined in a computationally efficient way. The chromaticity space should have the property that it includes a pair of chromaticity coordinates that span hue and chroma, and a luminance correlate that is substantially independent of the chromaticity coordinates. CIE xyY and CIE Yuv and derivatives thereof are suitable chromaticity spaces. CIE Lab and Luv (1976) would generally not be suitable since L is heavily correlated with a and b and with u and v. In a preferred embodiment, it is convenient to define a chromaticity space in terms of the scanner RGB space as follows:
V = (2R + 3G + 2B)/2 (light-dark opponent system);
T = R - G (red-green opponent system) ; D = (R + G - 2B) /2 (yellow-blue opponent system); t = T/V; d a D/V.
The values of variables t and d are normalized chromaticity coordinates characterized by a given proportion of R, G, and B, and represent the direction cosines of a vector in V-T-D space. It is sometimes convenient to convert t and d to a pair of values r and θ representing chroma (saturation) and hue, respectively, where:
r = (t2 + v2)1/2; and θ = tan_1(t/d) .
In this representation, a given hue is sometimes said to be characterized by a given hue angle . The VTD space approximates Guth's ATD opponent vision model, but uses a different luminance correlate, namely V. It has been found that using V to normalize the chromaticity coordinates provides a chromaticity space that is more uniform in differences in perceived chroma than would be achieved by using A. Using A, on the other hand, provides a space that is more uniform in differences in perceived brightness. The value of a color's V coordinate is sometimes referred to as the V value or the lightness of the color.
The computations of A, T, and V can be accomplished by logical shifts and additions. In a specific embodiment, computations are performed with 32-bit integers, and shifts are performed last to preserve precision. It is noted that V has a value in the range 0-892.5 (R, G, and B all 0 or all 255) . Each of T and D has a value in the range of -255 to 255.
If a color has only an R component, t=l and d=l/2. Similarly, if a color has only a G component, t=-2/3 and d=l/3, while if a color has only a B component, t=0 and d=-l.
It has been found that an alternative chromaticity space also works. In this space, the pair of chromaticity values, denoted r and g, are related to the RGB values according to the equations :
r = R /(R + G + B) and g = G / (R + G + B) ;
and the lightness value, designated V , is given by the equation:
V = (R + G + B) .
Note that the chromaticity coordinate r in this chromaticity representation should not be confused with the chroma component r in the V-t-d representation described above.
3. Scanner Calibration
3.1 Calibration Overview
Fig. 2 is a flowchart showing a method of calibrating a scanner in accordance with the present invention. In a step 100, a set of color samples is provided. This set preferably contains the range of colors that it is hoped to scan. To the extent that the scanner is to be calibrated for output from a particular target printer, it may be preferable to print the color samples using the target printer. If the scanner is a digital camera, the color samples preferably include the types of real-world colors that would be encountered (e.g., flesh tones, blue sky tones) . The color samples preferably include a region of bare substrate (i.e., white) and a region of the darkest color (black) that is readily available. U.S. Patent No. 5,650,942, issued July 22, 1997, to Edward M.
Granger for "APPEARANCE-BASED TECHNIQUE FOR RENDERING COLORS ON AN OUTPUT DEVICE" describes techniques for characterizing output devices such as printers, so that a color specified in a device-independent representation (e.g., XYZ) can be faithfully rendered on the target printer. Included in the techniques described are the use of what are referred to as umbrella colors . The umbrella colors are disclosed as being preferably characterized by the highest luminance that the target printer is capable of rendering for a given chromaticity (hue and chroma) . Where the target printer includes a set of primary colorants (e.g., CMY or CMYOG) , the umbrella colors include a single primary colorant at values from 0 to 100% dot area or pairwise combinations of the primary colorants over that range . Such a set of color samples could be used in connection with the present invention. Alternatively, an industry-standard color chart, such as a 56-color chart available from GretagMacBeth (located in New Windsor, New York) could be used. A chart with a possible set of umbrella colors for a CMY printer is shown associated with step 100. The color samples are laid out in a hexagonal pattern, with the center sample devoid of colorant. A set of spokes is shown overlaid, and the samples at the outer ends of the spokes are maximum dot coverage of a single primary colorant (yellow, magenta, cyan) or of maximum dot coverage of a pair of adjacent primary colorants (red = yellow-magenta overprint, blue = magenta-cyan overprint, green = cyan-yellow overprint. Each of the 120° sectors of the chart is equivalent to one of the three square charts shown in U.S. Patent No. 5,650,942. The charts in U.S. Patent No. 5,650,942 are each 11x11, which is suitable, although the chart shown in Fig. 2 herein would also work well. Acceptable results could be obtained using only 7 samples, namely the samples at the center and the six corners of the hexagon.
In a step 102, each sample is measured with scanner 43 to obtain a set of scanner tristimulus (in particular, RGB) measurements of the six samples and the region of bare substrate. In other embodiments, scanner representations other than RGB representations may be produced by scanner 43. The measured device-dependent values from this step can be stored in table 65.
In a step 105, each sample is measured with spectrophotometer 45 to obtain a set of device-independent tristimulus (in particular, XYZ) measurements of the samples. In other embodiments, device-independent tristimulus color representations other than XYZ representations (such as the CIE-defined xyY, Lab, or Luv color spaces) may be produced by spectrophotometer 45. The measured device-independent values from this step can be stored in table 70.
In a step 107, a program executing on processor 12 uses the information in tables 65 and 70 to compute calibration information. The calibration information implements a function that maps scanner measurements of unknown arbitrary colors to device-independent values. In specific embodiments, the function is implemented as a table, indexed by uncorrected scanner chromaticity values . The table contains entries corresponding to device-independent tristimulus measurements and device- dependent lightness values.
3.2 Constructing the Calibration Table Fig. 3 is a flowchart showing additional details of step 107
(Fig. 2) of constructing calibration table 75 (Fig. 1) . As described above, the color samples have been measured with the scanner and with a spectrophotometer, so as to generate RGB and XYZ values for each color sample. For each measured sample, the scanner values (RGB typically) are converted, at a step 110, to a chromaticity representation (V-t-d) . This could equally well have been performed in connection with measurement step 102 in Fig. 1.
The measured XYZ values and the derived lightness value (V) are stored in association with the derived chromaticity values (t, d) at a step 112. Once all the samples are processed, what is stored represents a table of XYZ-V entries indexed by t and d, but the values of t and d arise from the particular colors of the measured samples, and are typically not suited to a rapid convenient look-up. Rather, what is desired is a table containing XYZ-V entries for equally spaced values of the chromaticity coordinates. Therefore, at a step 115, the desired values of t and d for the calibration table are determined. If the table is to be indexed by equal increments of t and d, this determination is a somewhat degenerate step, although it could be possible for the system to allow the user to specify the increments of t and d. However, in a preferred implementation, the look-up table is indexed by r and θ, which represent chroma and hue angle and are derived from t and d. Accordingly, the desired t-d pairs are determined as those values that correspond to uniformly spaced r and θ values. Thus, the desired r-θ pairs are determined (essentially trivially) , and those values are converted to t and d values using the inverse of the equations above. The inverse conversion equations are:
t = r * cosθ; and d = r * sinθ .
In a specific embodiment, r is an 8-bit quantity and θ is a 9-bit quantity.
Once the desired t-d pairs are determined, XYZ values and lightness values corresponding to each desired t-d pair are determined, at a step 117, from the measured XYZ values and derived lightness values that were stored at step 112. This is accomplished by two-dimensional interpolation in the t-d space. The interpolation can be based on the nearest three points or the nearest four points in the t-d space. Currently interpolating based on the nearest four points is preferred. Finally, at a step 120, each of the interpolated XYZ-V entries is stored in the calibration table. In a specific embodiment, the table includes 256x512 entries, namely an entry for each possible 8-bit value of r and each possible 9-bit value of θ. The choice of 8 bits (possible values of 0-255) and 9 bits (possible values of 0-511) for r and θ provides sufficient precision that two colors whose r and θ values, at this precision, differed by 1 would not generally be perceived as different colors by a human viewer. Higher levels of precision are, of course, possible should special applications require them. Further, it might be desirable to compute r and θ to more bits of precision if the scanner inputs had a greater bit depth. Fig. 4 (left-hand portion) shows schematically the possible values in the t-d plane. If a color has only an R component, t=l and d=l/2. Similarly, if a color has only a G component, t=-2/3 and d=l/3, while if a color has only a B component, t=0 and d=-l. A triangle joining these points encloses all the possible t-d pairs that could arise in connection with a scanner measurement. Intermediate points on the sides of the triangle opposite the R, G, and B vertices correspond to cyan, magenta, and yellow.
Fig. 4 (right-hand portion) shows a number of measured points (hollow circles) populating the t-d space within the triangle. Superimposed on the triangle are a number of equally spaced concentric circles, each denoting a locus of a fixed value of r (chroma) . Also superimposed on the triangle are a number of radial lines spaced at equal angles, each denoting a locus of a fixed value of θ (hue angle) . The concentric circles and the radial lines represent a grid in r-θ space, and their intersections represent r-θ pairs suitable for indexing the calibration table.
Since the color samples were chosen to provide sufficient colors to populate the scanner's color space, there was generally no effort (and generally no way) to locate them such that their chromaticity values would fall on the intersections of the circles and radial lines. However, those of the intersections that fall within the triangle (solid black circles) are candidates for points in the calibration table. Note that not all hue angles and chroma values are possible, and so those intersection points (not drawn with solid black circles) that don't correspond to suitable entries have zeros stored for their entries.
3.3 Linearizing and Balancing the Scanner
It is generally preferred that each raw scanner measurement is converted into a linearized and balanced scanner measurement before any further use is made of it. This includes measuring the calibration color samples, as described above, and measuring arbitrary colors, as described below. This is a well-known correction and will only be described briefly below.
In one embodiment, linearizing and balancing a scanner producing RGB measurements involves the following steps: 1) Assembling a set of calibration patches N0, Tϋ ...Nn that are chromatically neutral and are evenly spaced in reflectance. NQ represents absolute darkness as closely as possible and Nn represents the brightest possible white paper (or bare substrate) . 2) Devising a mapping LS from raw scanner RGB values to linearized and balanced scanner RGB values . LS must cause each of the raw scanner RGB values for the calibration patches to have equal linearized and balanced scanner R, G, and B values. Let K^ be that value for N^, i = 1, ..., n. That is, the linearized and balanced scanner RGB values for Nj_ are ( K± , Kj_ , Kj_ ) , i = 1, ..., n. KQ = 0. V__ = the maximum RGB coordinate value . KQ , K^_ , ... i^ are evenly spaced in the range of RGB coordinate values .
In one embodiment linearized and balanced scanner values lie in the interval [0,255] . The function LS is implemented as a set of three look-up tables, one each for the R, G, and B coordinates. Each table is indexed by raw scanner values and contains linearized and balanced scanner values .
4. Transforming Arbitrary Colors Fig. 5 is a flowchart showing a method of transforming an RGB measurement of an arbitrary color (having values denoted by pix, G r>ix and B_^χ) into a corresponding XYZ measurement (having values denoted by _^χ, Yp χ, and Z ^x) • At a step 130, a program running on processor 12 converts the Rpix GpiX' and Bpix values to the r-θ-V representation (having values rp^χ, θ-^, and Vpj_x) • At a step 132, the values of rp^χ and θp^χ are used to index into the calibration table and retrieve an XYZ- V entry (having XYZ values designated Xcaι, Yca__ > and Zca^ , and a lightness value designated cal_) . At a step 135, the corrected device- independent values, designated Xpix/ Y ±χ> and z X for the pixel are computed using the following equations:
pix = xcal * <vpix vcal> : pix = γcal * <vpix vcal> < and zpix = zcal * <vpix vcal>
5. Adaptation to Accommodate Limited Gamut of Output Devices
In some instances, where it is known that the scanned input is destined for an output device (e.g., printer or monitor) whose output gamut is less than that of the input colors, it can be desirable to adapt the XYZ values that are converted to output commands. For example, the above-mentioned U.S. Patent No. 5,650,942 describes techniques for making output destined for a high-end printer look good when printed on a low-end proofing printer or displayed on a monitor of lesser gamut. In those cases, the range of commanded (desired) chroma values was smoothly mapped (compressed) to a lesser range (see, e.g., Fig. 20 in the patent) . This approach can be used in connection with XYZ values produced by the present invention. A straightforward way would be to take the XYZ values from the calibration table, convert them to r-θ-V values using the meta RGB equations shown in column 7 of the patent, and then reduce the r value at the upper end of the chroma range for adaptation. The mapping of r could be implemented with a two-dimensional lookup table, indexed by r and θ, to provide the reduced value of r. The adaptation function is generally different for the different hue angles, since the output device will typically require different amounts of compression.
A different way would be to implement the adaptation at the stage of accessing the XYZ-V calibration table. After converting the scanner RGB values to r-θ-V values at step 130, as described above, the system could reduce the r value in accordance with the desired adaptation before accessing the table at step 132, and use the XYZ-V entry stored at the address defined by the lower r value . Another approach, normally preferred, is to build the adaptation into the XYZ-V calibration table, it being recognized that the table would then provide values that are customized for a particular output device. This can be accomplished as follows. As mentioned above in connection with Fig. 2, step 115 determines the desired t-d values for the calibration table. If no adaptation is desired, the above description of step 115 applies. If adaptation is desired, the set of t-d values needed for the interpolation in step 117 would be determined on the basis of the compressed range of r (amount of compression typically being different for different values of θ) , but the entries would then be stored for the full range of r. In this way, the table, when accessed by values of r that would be outside the gamut of the output device, would output entries generated with data characterized by lesser values of r (in accordance with the adaptation function) .
6. References
The following publications provide additional background and are incorporated by reference in their entirety for all purposes:
E.M. Granger, "Is CIE L*a*b Good Enough for Desktop Publishing?", Device-Independent Color Imaging, SPIE, Vol. 2170, pp. 144-148 (7-8
February 1994, San Jose, CA) ;
E.M. Granger, "ATD, Appearance Equivalence, and Desktop Publishing," Device- Independent Color Imaging, SPIE, Vol. 2170, pp. 163-168 (7-8 February 1994, San Jose, CA) ; and
E.M. Granger, "Gamut Mapping for Hard Copy Using the ATD Color Space," Device-Independent Color Imaging II, SPIE, Vol. 2414, pp. 27-35 (7-8 February 1995, San Jose, CA) .
Also incorporated by reference in their entirety for all purposes are: U.S. Patent No. 5,650,942, issued July 22, 1997, to Edward M. Granger for "APPEARANCE-BASED TECHNIQUE FOR RENDERING COLORS ON AN OUTPUT DEVICE;" and
U.S. Application No. 08/709,774, filed September 9, 1996, by Edward
M. Granger for "SCANNER CALIBRATION TECHNIQUE."
7. Conclusion
In conclusion, it can be seen that the present invention provides extremely effective and efficient techniques for calibrating scanners and thereby allowing the conversion of a scanner measurement to a device-independent representation.
While the above is a complete description of specific embodiments of the invention, various modifications, alternative constructions, and equivalents may be used. Therefore, the above description should not be taken as limiting the scope of the invention as defined by the claims .

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method of calibrating a scanner, the method comprising the steps of: providing a set of color samples having a plurality of hues; measuring each sample with a device that provides a device- independent measurement to obtain a set device-independent measurements of the samples; measuring each sample with the scanner to be calibrated to obtain a set of scanner measurements in a representation in a chromaticity space that is spanned by a lightness value that correlates with luminance and a pair of chromaticity values, referred to as a chromaticity pair, in a two-dimensional space that spans hue and chroma; and constructing a look-up table, the look-up table having respective entries for a plurality of chromaticity pairs, the entry for a given chromaticity pair including (a) a device-independent set of values corresponding to the given chromaticity pair, and (b) a device-dependent lightness value; the look-up table entries being derived from the set of device-independent measurements and the set of scanner measurements.
2. The method of claim 1 wherein the device- ndependent measurements are XYZ values .
3. The method of claim 1 wherein : the scanner provides RGB values ; and the step of measuring each sample with the scanner includes converting the RGB values to the representation in the chromaticity space .
4. The method of claim 3 , wherein the scanner measurements are linearized and balanced RGB values .
5. The method of claim 1 wherein the samples are printed from individual ones and pairwise overprints of a set of primary colorants .
6. The method of claim 1 wherein at least one of the samples includes at least one primary colorant at maximum dot coverage.
7. The method of claim 1 wherein said step of constructing a look-up table comprises : constructing a first table having a plurality of entries, each corresponding to a respective one of the set of samples, the entry for a given sample being labeled by the values of the device-dependent chromaticity coordinates for the given sample, the entry for the given sample including the device-independent measurement for the given sample, and the device-dependent lightness value for the given sample; and using the first table to construct a second table having a different plurality of entries, said entries being labeled by equally spaced values of the pair of chromaticity coordinates, and being derived by interpolating values of entries in the first table .
8. The method of claim 1 wherein the look-up table incorporates an adaptation function that characterizes a target output device .
9. The method of claim 1 wherein: the scanner provides RGB values; the pair of chromaticity values, denoted t and d, are related to the RGB values according to the equations t = 2(R - G)/(2R + 3G + 2B) and d = (R + G - 2B)/ (2R + 3G + 2B) ; and the lightness value, designated V, is given by the equation V = (2R + 3G + 2B)/2.
10. The method of claim 9 wherein: the look-up table is labeled by a saturation value r and a hue angle ╬╕ where r and ╬╕ are related to t and d according to the equations r = (t2 + v2)1/2 ; and ╬╕ = tan-1(t/d) .
11. The method of claim 1 wherein: the scanner provides RGB values; the pair of chromaticity values, denoted r and g, are related to the RGB values according to the equations r = R /(R + G + B) and g = G / (R + G + B) ; and the lightness value, designated V , is given by the equation V = (R + G + B) .
12. A computer-implemented method of calibrating a scanner, the method comprising the steps of: measuring each of a set of color samples with a device that provides a device-independent measurement to obtain a set of device- independent measurements of the samples ; measuring each sample with the scanner to be calibrated to obtain a set of scanner tristimulus measurements of the samples; converting each scanner tristimulus measurement to a representation in a chromaticity space that is spanned by a lightness value that correlates with luminance and a pair of chromaticity values, referred to as a chromaticity pair, in a two-dimensional space that spans hue and chroma; constructing a first table having a plurality of entries, each corresponding to a respective one of the set of samples, the entry for a given sample being labeled by the values of the device-dependent chromaticity coordinates for the given sample, the entry for the given sample including the device-independent measurement for the given sample, and the device-dependent lightness value for the given sample; using the first table to construct a second table having a different plurality of entries, said entries being labeled by equally spaced values of the pair of chromaticity coordinates, and being derived by interpolating values of entries in the first table .
13. A computer-implemented method of correcting a scanner measurement of an arbitrary color, the method comprising the steps of: converting the scanner measurement to a representation in a chromaticity space that is spanned by a lightness value that correlates with luminance and a pair of chromaticity values in a two-dimensional space that spans hue and chroma, the scanner measurement thus providing a pair of uncorrected chromaticity values clunc and c2unc and an uncorrected lightness value LLunc; determining, as a first function of clunc and c2unc, a set of device-independent tristimulus values TTca^ and a lightness value LLcal; and generating, as a second function of TTcal, LLcal, and LLunc, corrected device-independent tristimulus values for the scanner.
14. The method of 13 a wherein the first function is implemented by providing a look-up table having respective entries for a plurality of chromaticity coordinate pairs, the entry for a given chromaticity pair including (a) a set of device-independent tristimulus values, and (b) a device-dependent lightness value; the given entry's set of device-independent tristimulus values corresponding to a calibration measurement using the scanner that yielded (i) uncorrected chromaticity values corresponding to the given chromaticity pair and (ii) the entry's device-dependent lightness value.
15. The method of 13 a wherein the second function is implemented by multiplying each of the set device-independent tristimulus values TTcal, by the ratio LLunc/LLcal .
16. The method of claim 13 wherein the first function incorporates an adaptation function that characterizes a target output device .
17. A computer-implemented method of correcting a scanner measurement of an arbitrary color, the method comprising the steps of: converting the scanner measurement to a representation in a chromaticity space that is spanned by a lightness value that correlates with luminance and a pair of chromaticity values in a two-dimensional space that spans hue and chroma, the scanner measurement thus providing a pair of uncorrected chromaticity values and an uncorrected lightness value; providing a look-up table having respective entries for a plurality of chromaticity coordinate pairs, the entry for a given chromaticity pair including (a) a device-independent set of values, and (b) a device-dependent lightness value; the given entry's device-independent set of values corresponding to a calibration measurement using the scanner that yielded (i) uncorrected chromaticity values corresponding to the given chromaticity pair and (ii) the entry's device-dependent lightness value; retrieving from the table a device-independent set of values and a device-dependent lightness value corresponding to the pair of uncorrected chromaticity values; and generating corrected device-independent values for the scanner measurement by multiplying each of the retrieved device-independent values by the ratio of the scanner measurement's uncorrected lightness value to the retrieved lightness value.
18. The method of claim 17 wherein: the table has entries corresponding to all possible chromaticity values derived from the scanner measurement; and said step of retrieving from the table includes directly retrieving an entry from the table .
19. The method of claim 17 wherein: the table has a smaller number of entries than the number of possible chromaticity values derived from the scanner measurement; and said step of retrieving from the table includes retrieving a plurality of entries from the table, and interpolating values in the plurality of entries in order to obtain values for the device-independent set of values and a device- dependent lightness value corresponding to the pair of uncorrected chromaticity values .
20. The method of claim 17 wherein: the device-independent measurement of the arbitrary color is a set of XYZ values; and the scanner measurement of the arbitrary color is a set of RGB values ; the scanner provides RGB values; the pair of chromaticity values, denoted t and d, are related to the RGB values according to the equations t = 2(R - G)/(2R + 3G + 2B) and d = (R + G - 2B)/(2R + 3G + 2B) ; and the lightness value, designated V, is given by the equation V = (2R + 3G + 2B)/2.
21. The method of claim 20 wherein the table is labeled by a hue angle, ╬╕, and a chroma value r, which are determined from t and d by the equations r = (t2 + v2)1/2; and ╬╕ = tan_1(t/d) .
22. The method of claim 17 wherein the scanner measurements are linearized and balanced RGB values .
23. A memory for storing data for access by an application program being executed on a data processing system, the program operating to correct a scanner measurement of an arbitrary color, the scanner measurement being expressed in a representation in a chromaticity space that is spanned by a lightness value that correlates with luminance and a pair of chromaticity values, referred to as a chromaticity pair, in a two- dimensional space that spans hue and chroma, the memory comprising: a look-up table having respective entries for a plurality of chromaticity pairs, the entry for a given chromaticity pair including (a) a device-independent set of values corresponding to the given chromaticity pair, and (b) a device-dependent lightness value.
24. A computer program product for execution in a system including a processor and memory, the product comprising a computer storage medium comprising code that directs the processor to effect the method of claim 13.
25. A computer program product for execution in a system including a processor and memory, the product comprising a computer storage medium comprising code that directs the processor to effect the method of claim 17.
PCT/US1998/017468 1997-08-29 1998-08-20 Scanner calibration and correction techniques using scaled lightness values WO1999010835A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/921,395 US6005968A (en) 1997-08-29 1997-08-29 Scanner calibration and correction techniques using scaled lightness values
US08/921,395 1997-08-29

Publications (1)

Publication Number Publication Date
WO1999010835A1 true WO1999010835A1 (en) 1999-03-04

Family

ID=25445364

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/017468 WO1999010835A1 (en) 1997-08-29 1998-08-20 Scanner calibration and correction techniques using scaled lightness values

Country Status (2)

Country Link
US (1) US6005968A (en)
WO (1) WO1999010835A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1045576A2 (en) * 1999-04-12 2000-10-18 Clemens Beisch Method and model for calibrating a digital input apparatus
EP1139653A2 (en) * 2000-02-18 2001-10-04 Eastman Kodak Company Color image reproduction of scenes with preferential color mapping
WO2006120606A2 (en) * 2005-05-10 2006-11-16 Koninklijke Philips Electronics N.V. Color transformation luminance correction method and device
US7253921B2 (en) 2000-10-11 2007-08-07 True Color Technology Gmbh Process and target for calibration of digital input devices

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271825B1 (en) * 1996-04-23 2001-08-07 Rainbow Displays, Inc. Correction methods for brightness in electronic display
US6208753B1 (en) * 1998-02-27 2001-03-27 International Business Machines Corporation Quality of digitized images through post-scanning reregistration of their color planes
US6181445B1 (en) * 1998-03-30 2001-01-30 Seiko Epson Corporation Device-independent and medium-independent color matching between an input device and an output device
US6088095A (en) * 1998-11-12 2000-07-11 Xerox Corporation Model-based spectral calibration of color scanners
US6370277B1 (en) * 1998-12-07 2002-04-09 Kofax Image Products, Inc. Virtual rescanning: a method for interactive document image quality enhancement
US6744531B1 (en) * 1998-12-29 2004-06-01 Xerox Corporation Color adjustment apparatus and method
JP2000278546A (en) * 1999-01-22 2000-10-06 Sony Corp Device and method for image processing, device and method for color gamut conversion table preparation, recording medium recording image processing program and recording medium recording color gamut conversion table preparation program
US6961066B2 (en) * 1999-04-13 2005-11-01 Athentech Technologies, Inc. Automatic color adjustment for digital images
US6677959B1 (en) 1999-04-13 2004-01-13 Athentech Technologies Inc. Virtual true color light amplification
US6704442B2 (en) * 1999-11-15 2004-03-09 Canon Kabushiki Kaisha Composite color transformation using customized gamut mappings
DE50013566D1 (en) * 2000-08-11 2006-11-16 Gretag Macbeth Ag Method and device for the colorimetric measurement of a two-dimensional original
US20020126328A1 (en) * 2001-03-09 2002-09-12 Lehmeier Michelle R. Method and apparatus for matching color image data with a corresponding color in a defined color space
US20030012453A1 (en) * 2001-07-06 2003-01-16 Jasc Software, Inc. Method for removing defects from images
DE60229338D1 (en) * 2001-09-07 2008-11-27 Canon Kk Image processing method and apparatus
US6719392B2 (en) 2001-12-20 2004-04-13 International Business Machines Corporation Optimized color ranges in gamut mapping
JP4062924B2 (en) * 2002-01-24 2008-03-19 コニカミノルタホールディングス株式会社 Color image processing method and color image processing apparatus
US6750442B2 (en) * 2002-03-06 2004-06-15 Xerox Corporation Use of spectral sensors for automatic media identification and improved scanner correction
CN1745570A (en) * 2003-01-30 2006-03-08 柯达彩色绘图有限责任公司 Color correction using a device-dependent display profile
US7190828B2 (en) * 2003-08-28 2007-03-13 Hewlett-Packard Development Company, L.P. Color rendering
US7598961B2 (en) 2003-10-21 2009-10-06 Samsung Electronics Co., Ltd. method and apparatus for converting from a source color space to a target color space
US6980219B2 (en) * 2003-10-21 2005-12-27 Clairvoyante, Inc Hue angle calculation system and methods
US7301543B2 (en) 2004-04-09 2007-11-27 Clairvoyante, Inc. Systems and methods for selecting a white point for image displays
US7619637B2 (en) * 2004-04-09 2009-11-17 Samsung Electronics Co., Ltd. Systems and methods for improved gamut mapping from one image data set to another
KR20050102412A (en) * 2004-04-22 2005-10-26 삼성전자주식회사 Method and apparatus reconstituting a color chart
US7103217B2 (en) * 2004-05-06 2006-09-05 Canon Kabushiki Kaisha Color appearance space to CMYK mapping
US7154636B2 (en) * 2004-09-28 2006-12-26 Canon Kabushiki Kaisha Color appearance space to CMYK mapping using relative purity
US7545529B2 (en) 2005-03-24 2009-06-09 Kofax, Inc. Systems and methods of accessing random access cache for rescanning
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US8749839B2 (en) 2005-03-24 2014-06-10 Kofax, Inc. Systems and methods of processing scanned data
US7450226B2 (en) * 2005-04-15 2008-11-11 Xerox Corporation Gray balance calibration of an imaging system
US7777915B2 (en) * 2006-06-15 2010-08-17 Eastman Kodak Company Image control system and method
US7536281B2 (en) * 2007-06-01 2009-05-19 Lexmark International, Inc. Method for compensating for a contaminated calibration target used in calibrating a scanner
US20090080004A1 (en) * 2007-09-26 2009-03-26 Sony Corporation System and method for determining an optimal reference color chart
US8289344B2 (en) * 2008-09-11 2012-10-16 Apple Inc. Methods and apparatus for color uniformity
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US8284260B2 (en) * 2010-03-26 2012-10-09 Sony Corporation Optimal raw RGB determination for color calibration
US9165187B2 (en) 2012-01-12 2015-10-20 Kofax, Inc. Systems and methods for mobile image capture and processing
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
WO2014160426A1 (en) 2013-03-13 2014-10-02 Kofax, Inc. Classifying objects in digital images captured using mobile devices
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
JP2016518790A (en) 2013-05-03 2016-06-23 コファックス, インコーポレイテッド System and method for detecting and classifying objects in video captured using a mobile device
WO2015073920A1 (en) 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10803350B2 (en) 2017-11-30 2020-10-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843573A (en) * 1987-10-26 1989-06-27 Tektronix, Inc. Display-based color system
US5313291A (en) * 1991-11-25 1994-05-17 Xerox Corporation Method for matching color prints to color images on a monitor screen

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3986202A (en) * 1975-03-05 1976-10-12 Eastman Kodak Company Processing apparatus and method for color video signals
US4929978A (en) * 1987-10-23 1990-05-29 Matsushita Electric Industrial Co., Ltd. Color correction method for color copier utilizing correction table derived from printed color samples
GB9005030D0 (en) * 1990-03-06 1990-05-02 Crosfield Electronics Ltd Image data processing
US5243414A (en) * 1991-07-29 1993-09-07 Tektronix, Inc. Color processing system
US5231504A (en) * 1991-12-30 1993-07-27 Xerox Corporation Method for improved color reproduction using linear mixing calculations based on positional relationships between an original color and an achromatic region in a linear mixing space
US5309257A (en) * 1991-12-31 1994-05-03 Eastman Kodak Company Method and apparatus for providing color matching between color output devices
US5317425A (en) * 1992-02-10 1994-05-31 Eastman Kodak Company Technique for use in conjunction with an imaging system for providing an appearance match between two images and for calibrating the system thereto
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
JP3417993B2 (en) * 1994-04-27 2003-06-16 富士通株式会社 Color correction method and apparatus
US5450216A (en) * 1994-08-12 1995-09-12 International Business Machines Corporation Color image gamut-mapping system with chroma enhancement at human-insensitive spatial frequencies
JPH08111784A (en) * 1994-10-12 1996-04-30 Canon Inc Color image processor
JP3714701B2 (en) * 1995-06-22 2005-11-09 富士写真フイルム株式会社 Color conversion method
US5650942A (en) * 1996-02-02 1997-07-22 Light Source Computer Images, Inc. Appearance-based technique for rendering colors on an output device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843573A (en) * 1987-10-26 1989-06-27 Tektronix, Inc. Display-based color system
US5313291A (en) * 1991-11-25 1994-05-17 Xerox Corporation Method for matching color prints to color images on a monitor screen

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1045576A2 (en) * 1999-04-12 2000-10-18 Clemens Beisch Method and model for calibrating a digital input apparatus
EP1045576A3 (en) * 1999-04-12 2001-12-19 Clemens Beisch Method and model for calibrating a digital input apparatus
EP1139653A2 (en) * 2000-02-18 2001-10-04 Eastman Kodak Company Color image reproduction of scenes with preferential color mapping
EP1139653A3 (en) * 2000-02-18 2004-12-22 Eastman Kodak Company Color image reproduction of scenes with preferential color mapping
US7253921B2 (en) 2000-10-11 2007-08-07 True Color Technology Gmbh Process and target for calibration of digital input devices
WO2006120606A2 (en) * 2005-05-10 2006-11-16 Koninklijke Philips Electronics N.V. Color transformation luminance correction method and device
WO2006120606A3 (en) * 2005-05-10 2007-04-05 Koninkl Philips Electronics Nv Color transformation luminance correction method and device

Also Published As

Publication number Publication date
US6005968A (en) 1999-12-21

Similar Documents

Publication Publication Date Title
US6005968A (en) Scanner calibration and correction techniques using scaled lightness values
US5991511A (en) Appearance-based technique for rendering colors on an output device
JP3174604B2 (en) Color image reproducing apparatus and method
Vrhel et al. Color device calibration: A mathematical formulation
US5481655A (en) System for matching a picture on a monitor to a printed picture
Kang Color technology for electronic imaging devices
US6724500B1 (en) Piecewise color transformation by gamut partitioning
EP0700198B1 (en) System for correcting color images using tetrahedral interpolation over a hexagonal lattice
US5553199A (en) Method and apparatus for calibrating a four color printer
US4884130A (en) Method of describing a color in a triaxial planar vector color space
KR100881028B1 (en) Apparatus and method for calibration of gray data
US6897988B1 (en) Image processing apparatus, image processing method, and storage medium for color matching
Sharma et al. Color imaging for multimedia
EP0503051B1 (en) Color image processing system for preparing a composite image transformation module for performing a plurality of selected image transformations
EP0203448A2 (en) Matching hardcopy color to display color
JPH06187407A (en) Method and apparatus for processing of color information in image
JPH11313219A (en) Color data conversion method
JPH11341296A (en) Color area conversion method and color area converter
JPH0856289A (en) Method for reproducing color picture by color outputting device
AU3916293A (en) Color correction with a four-dimensional look-up table
WO2005104659A2 (en) Method and system for approximating the spectrum of a plurality of color samples
JPH1084487A (en) Image processor and its method
US6134029A (en) Scanner calibration technique
US20050276473A1 (en) Apparatus and method of detecting color gamut in color device and calculating color space inverse transform function
MacDonald Developments in colour management systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA