METHOD AND APPARATUS FOR CONVERTING COLOR SCANNER SIGNALS INTO COLORIMETRIC VALUES

Abstract: A method and apparatus for reconstructing a spectrum realizable in a medium from signals of a color scanner, includes the steps of obtaining an initial spectrum using a linear vector-space representation of the medium spectra, projecting the initial spectrum onto a logarithmic vector-space representation of the medium spectra to obtain an initial set of coordinates in the logarithmic vector-space and modifying the initial coordinates in an iterative convergence loop until a solution criterion is met. The solved coordinates are then transformed into spectrum using the logarithmic vector-space representation and subsequently may be transformed into colorimetric values. The method and apparatus of this invention thus enable conversion of color scanner signals into colorimetric values. This is accomplished without modification of the prevailing scanner elements. In one embodiment, the method comprises selecting a specific medium and a specific scanner, constructing a medium model for the selected medium, constructing a scanner model for the selected scanner, iteratively using the media model and the scanner model to solve for a spectral function representative of a color input, and converting the spectral function into a colorimetric value representative of the color input. The method may be performed in a digital processing system including a memory, a processor such as a CPU, a scanner for receiving the medium and scanning the media to provide the color input, and a printer for reproducing the colorimetric value.

Description: METHOD AND APPARATUS FOR CONVERTING COLOR SCANNER SIGNALS INTO COLORIMETRIC VALUES BACKGROUND OF THE INVENTION: Using a colorime -;r to obtain accurate values of a color original in a CIE-based colorimetnc space, allows many tasks of color reproduction to be carried out more effectively and easily than by the traditional use of a scanning densitometer. These tasks include soft-proofing — that is, reproducing the color on a display (such as a CRT), gamut mapping — that is, alteration of the range of color across different media, tone scaling and other image processing and manipulation processes. A colorimeter is a device that computes exact colorimetric values by integrating a color spectrum with the spectral response of a pre¬ defined standard observer. Standardizing colorimetry had been carried out by several committees of the CIE Commission during the past few decades, such as the 1931 and 1976 committees. The CIE had mainly dealt with standardizing colorimetric entities, such as standard illuminants and standard colorimetric observers, and colorimetric procedures, such as computation of color coordinates and color differences in various color spaces. The usefulness of exact colorimetric coordinates in representing color is demonstrated by the recent rapid popularity of color reproduction systems that use device-independent methods, such as disclosed by Schreiber in U.S. Patent 4,500,919. Scanning colorimetrically is typically performed by using red, green and blue filters having spectral responses similar to the colorimetric matching functions, or some linear combination of such functions. The resulting scanner signals represent substantially the original color in terms of exact colorimetric coordinates. However, building such a scanner is a relatively expensive and difficult task and typically requires careful design and selection of various scanner components. Today's scanners, as a result, are only roughly colorimetric. Converting signals of a roughly colorimetric scanner using a linear transformation result in a better approximation to the true colorimetric values of the original color. Such a method was described by Kang in "Color Scanner Calibration," Journal of Imaging Science and Technology. Volume 36, Number 2, Pages 162-170, March-April 1992. The linear transformations, and other higher-order transformations suggested by Kang are based on empirically fitting certain functional forms to describe the relationship between scanner signals and exact colorimetric values using a set of measured color samples. Such methods are sensitive to the choice of color samples and tend to possess a lower accuracy for colors not present in the training set. A method using a lookup table (LUT) loaded with empirically determined data, such as described by Hung in "Colorimetric Calibration for Scanners and Media." Proceedings SPIE. Volume 1448, Pages 164-174, 1991, uses similar color samples as a training set together with inteφolation and extrapolation techniques. However, this method, as well as others that load lookup tables using empirically determined data, must compute all entries for the LUT experimentally and manipulate them as an inter-dependent set using ad-hoc techniques. Roughly colorimetric scanners, in contrast to truly colorimetric scanners, exhibit an eye-versus-scanner metamerism effect. This effect causes different scanner signals to be produced for color samples of identical colorimetric coordinates but of different media types. Hence, a satisfying transformation developed for one medium type might be inadequate for another. For this reason, empirically determined transformations must use training sets of color samples made of various media types. This is potentially an exhaustive and complicated task. The type of an original medium is usually identified not only by the components of which it is comprised, but also by the process used to create the original color. For example, the type of a photographic reflection print may be determined by the paper stock, the development process and the finish type (e.g. glossy or matte). Types of other scanned media may be identified by such or different attributes. Dunne and Stockham disclose a conversion method in U.S. Patent 5,149,960 based on film modeling. Their method computes a set of colorant amounts required to reproduce a color in an original medium. A colorant is a medium component contributing to the creation of different colors by varying its amount in the medium. For example, a colorant may be an ink in a press print, or a layered dye in a photographic film. Further, the computed colorant amounts are converted into exact colorimetric data. The Dunne/Stockham method requires knowledge of the density spectra of the individual medium colorants in order to simulate the construction of the color spectrum. The method computes the density spectrum of the medium color by summing the known density spectral distributions of the individual medium colorants, multiplied by the determined amounts of colorants. A similar method was also presented by Mancill in "Digital Color Image Restoration," Ph.D. Dissertation, University of Southern California, Los Angeles, August 1975. Constructing color spectra in a medium from the individual colorant amounts is not likely to retain high accuracy for media types other than film stocks while colorant mixing models are currently an open research issue. Moreover, it is not clear how to construct color spectra for media with various substrates, for example, inks printed on different papers, various finish qualities, for example, matte and glossy, and other media attributes. Cohen in "Dependency of the Spectral Reflectance Curves of Munsell Color Chips," Psvchonomic Science. Volume 1, Pages 369-370, 1964, showed that empirical spectral reflectance functions of natural surfaces are highly correlated and may be efficiently represented as a linear combination of only a few basis spectral functions. This representation is based on a vector-space approach which is well-known in matrix algebra. Maloney in "Evaluation of Linear Models of Surface Spectral Reflectance with Small Numbers of Parameters ," Journal of the Optical Society of America A. Volume 3, Number 10, Pages 1673-1683, October 1986, further showed that such spectra fall within a linear model composed of band-limited functions, with as few as five to seven basis spectral functions. However, the dimension of the original color spectra must be effectively restricted to the number of scanner channels, usually three, in order to obtain unique solutions. Otherwise, an infinite number of different colors may correspond to the same instance of scanner signals. Wandell in "Color Rendering of Camera Data," Color Research and Application Supplement. Volume 11, S30-S33, 1986, Vrhel and Trussell in "Color Correction Using Principal Components," Color Research and Application. Volume 17, Number 5, Pages 328-338, October 1992, and others, used such linear vector-space representations in order to perform estimation of object colors from detector signals. However, these methods lead to simplified linear transformations between detector signals and colorimetric signals, which are not accurate enough as mentioned above. Lee in "Colorimetric Calibration of a Video Digitizing System: Algorithm and Applications," Color Research and Application. Volume 13, Number 13, Pages 180- 186, 1988, used a similar method based on linear vector-space representation combined with ad-hoc modifications to reduce empirical deviations. This method suffers from limitations similar to other LUT methods as mentioned above. OVERCOMING PROBLEMS IN THE ART: The method and apparatus of the present invention enables conversion of color scanner signals into colorimetric values accurately without altering the spectral response characteristics of the scanner. Such an alteration would require modifying one or more of the appropriate scanner elements — that is, the lamp, filters and detectors. Further, the method and apparatus of the present invention is capable of establishing such a conversion while requiring only the knowledge of the spectral sensitivities of the scanner. The method and apparatus of the present invention also only requires the knowledge of a few easily determined basis spectral functions that effectively represent the spectra of any medium of interest. These spectral functions can be derived, for example, from measured spectra of color samples using simple statistical techniques. The efficient representation of the logarithmic medium spectra enables accurate reconstruction of the spectrum in a scanned original. This is done without assuming a mixing model for individual colorants in the original medium. Moreover, unlike many of the approaches in the prior art, the invention effectively converts scanned values without requiring that the original being scanned be on a particular medium. Still further, the method and apparatus of the present invention is based on analytical modeling of the problem components — that is, the scanner and media. This is in contrast to conventional methods that use ad-hoc empirical techniques. Moreover, the method and apparatus of the present invention allows one to determine exact colorimetric values for any observer, for example, 2-degree or 10-degree standard colorimetric observers, as well as for any illuminant, for example, D5000 daylight or A standard illuminants. More particularly, the method and apparatus of the present invention reconstructs the actual spectrum of each color image pixel, hence allowing for calculation of CIE colorimetric values for any desired illuminant and observer using standard colorimetry methods. The method and apparatus of the present invention does not make use of ad-hoc inteφolation or function fitting techniques, but determines the color transformation analytically based on modeling of the scanning device response along with modeling the scanned medium spectra using statistical characteristics. The method and apparatus of the present invention can be used for a broad variety of scanners such as drum and flatbed scanners, and for various medium types such as slides, reflections and transparencies. SUMMARY OF THE INVENTION: The method disclosed in accordance with the present invention involves scanning a color original by a photo-sensitive device with known spectral response characteristics. Spectral response characteristics are also often called spectral sensitivities. Output signals from the photo-sensitive device are used to reconstruct the spectra of the original medium corresponding to the signals. Further, the spectrum may be converted into exact colorimetric data in any specific color space. Scanned color media are frequently composed of a combination of colorants, such as a mixture of inks on a substrate forming a reflection print, or dyes emulsions layered in a substrate forming a slide transparency. The absoφtion spectra of the individual colorants and the absoφtion spectra of the substrate interact in a multiplicative fashion to form the absoφtion spectra of the composite. Following this observation, and in accordance with one embodiment of the present invention, a small set of spectral functions is determined to serve as a vector-space model which efficiently represents spectra realizable on a medium. The spectra thus represented are typically logarithmic spectra and represent a media model for a particular medium. Further, in accordance with another embodiment of the present invention, a method of reconstructing a spectrum of a color original from scanner signals is disclosed, where a first set of spectral functions, representing spectral sensitivities of the scanner and being used to provide a scanner model, and a second set of spectral functions, representing basis vectors for spectra, typically logarithmic spectra of the original, are known. The prefened method and apparatus of the present invention includes the steps of determining an initial set of values for the coordinates in the vector-space spanned by the second set of spectral functions and processing the coordinate values in an iterative convergence loop until a solution is met according to a set criterion. The reconstructed spectrum is taken as the spectrum corresponding to the coordinates obtained at the last iteration of the iterative loop. The method and apparatus of the present invention may include the steps of converting the reconstructed spectrum into colorimetric data by performing an integration of the reconstructed spectrum weighted by a selected illuminant spectral content and selected observer color matching functions. In one embodiment, the method comprises selecting a specific medium and a specific scanner, constructing a medium model for the selected medium, where the medium model is a representation of the medium and provides a spectral representation of the selected medium as a function of wavelength and is expressed in a coordinate system based on said medium, constructing a scanner model for the selected scanner, iteratively using the media model and the scanner model to solve for a spectral function representative of a color input, and converting the spectral function into a colorimetric value representative of the color input. The method may be performed in a digital processing system including a memory, a processor such as a CPU, a scanner for receiving the medium and scanning the media to provide the color input, and a printer for reproducing the colorimetric value. In accordance with this embodiment, a lookup table (LUT), possibly together with an inteφolator, may be used to allow for efficient transformation of scanner signals into colorimetric data by loading entries of the LUT, addressed by scanner signals, with the colorimetric values developed by the method and apparatus of the present invention. Alternatively, the LUT may be loaded with values of the reconstructed spectra or with coordinates' values corresponding to the reconstructed spectra. BRIEF DESCRIPTION OF THE DRAWINGS: FIG. 1 A is a general schematic diagram of a system implementing the method and apparatus of the present invention; FIG IB is a general schematic diagram of a digital computer system which implements the method of the present invention. FIG. 2 is a set of typical curves representing the linearization functions of the red, green and blue channel outputs of the scanner depicted in FIG. 1 with respect to luminance. FIG. 3 is a set of typical curves representing the spectral response characteristics, also known as spectral sensitivities, of the red, green and blue channels of the scanner depicted in FIG. 1. FIG. 4 is a flow chart describing the generation of the spectral functions representing effectively the logarithmic spectra of a specific medium type. FIG. 5 is a set of curves representing typical spectral functions generated by the flow chart of FIG. 4. FIG. 6 is a schematic diagram of a system implementing the construction of a lookup table (LUT) using pairs of scanner signals and converted colorimetric values. FIG. 7 is a schematic diagram of a system using the LUT constructed according to FIG. 6 to convert scanner signals into colorimetric values. FIG. 8A is a schematic diagram of a system that does not use a LUT to convert scanner signals into colorimetric values; FIG 8B is a schematic diagram of a digital computer system that does not use a LUT to convert scanner signals into colorimetric values. FIG. 9 is a schematic diagram of a system for implementing the operation performed by the digital processor of FIG. 1 A. FIG. 10 is a schematic diagram of a system implementing the function performed by module 904 of FIG. 9 to determine the initial values of coordinates. FIG. 11 is a schematic diagram of a system implementing the function performed by module 926 of FIG. 9 to determine the modification of coordinates. FIG. 12A and 12B are flow charts showing a method according to the invention for converting color signals from a color scanner to accurate colorimetric signals representing colorimetric values. DETAILED DESCRD7TION OF THE PRESENT INVENTION: Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits typically within a computer memory or being processed by digital hardware. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self- consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, vectors, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Further, the manipulations performed are often refened to in terms, such as multiplying, adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary or desirable in most cases in any of the operations described herein which form part of the present invention; the operations are machine operations. Useful machines for performing the operations of the present invention include general puφose digital computers or other similar devices as well as dedicated digital hardware. In all cases the distinction between the method operations in operating a computer or dedicated digital hardware and the method of computation itself should be borne in mind. The present invention relates to apparatus and to method steps for operating a computer or other digital hardware in processing electrical or other (e.g. mechanical, chemical) physical signals to generate other desired physical signals. FIG. 1A schematically shows the preferred embodiment of the present invention. Referring to FIG. 1A, a color scanning device 104, which may consist of a light source, separation filters and a photo- sensitive element, scans a color original 102 to provide a set of signals, typically red, green and blue, representing color components for each pixel of the scanned medium. The color original 102 typically consists of a mixture of colorants on a substrate, such as reflection print, or layered dyes carried in a substrate, such as photographic paper or transparency. The set of scanner signals is supplied to a digital processor 106 that transforms the scanner signals into colorimetric signals representing colorimetric values in a particular colorimetric color space. The digital processor 106 may consists of a digital computer or of special-puφose hardware circuitry for carrying out the transformation. The colorimetric signals developed by the digital processor 106 may be supplied to other processing circuits 108 or directly to an output reproduction device, such as a display or a printer (not shown). FIG. IB shows a typical digital computer implementation of the system shown generally in FIG. 1A. The digital computer of FIG. IB includes a conventional CPU 120, which typically comprises a microprocessor, conventional memory 122 and a conventional mass memory 126, which is often a hard disk or optical storage device. The CPU 120, memory 122 and mass memory 126 are interconnected by the system bus 124; the mass memory 126 is connected to be system bus 124 by a conventional I/O controller which is adapted to control, in a well known manner, the transfer of data to and from the mass memory 126. Conventional peripherals, such as input devices (e.g. keyboard and/or mouse 128 or other cursor positioning devices) and a color display 130 (e.g. color CRT or color LCD), are also included in the computer system of FIG. IB and these peripherals are controlled by their respective conventional controllers, the input controller 127 and the display controller 129, which couple the peripherals to the CPU 120 and the memory 122 via the system bus 124. The computer system of FIG. IB also includes the color scanner 104 and a conventional color printer, which are coupled to the CPU 120 and memory 122 by the bus 124; a separate conventional controller may act as an interface between the scanner 104 and the system bus 124 and, similarly, a conventional printer controller may act as an interface between the color printer 132 and the system bus 124. It will be appreciated that numerous other well known computer architectures may be utilized by the present invention; for example, the CPU 120 may be implemented as a multi-processor system or system bus 124 may be coupled to certain peripherals over a conventional computer network—for example, the mass memory 126, color printer 132 and color scanner may be coupled to the CPU 120 and the system bus 124 via the computer network. Whatever the computer's architecture, the use of the system will typically involve the user instructing the color scanner 104 to scan a color original 102, resulting in triplet signal values being generated, for each pixel in the color original 102 (with the user specifying to the system an identification of the specific medium of the color original 102); for each pixel, these triplet signal values (R, G, B) will typically be stored in either mass memory 126 or memory 122 and then these triplet signals, for each pixel, will be processed, according to the processes of the present invention, by the CPU 120 to transform these triplet signals into colorimetric signals representing colorimetric values for each pixel. These colorimetric signals may then be stored in memory 122 or mass memory 126 or may be further processed in conventional ways or used to generate display signals to display the image of the color original on the color display 130. Further, the colorimetric signals, either with or without farther processing, may be provided to the color printer 132 to produce a reproduction of the color original 102. In accordance with the present invention, it was found that vector- space models of low dimension can effectively represent logarithmic spectra of colors of a specific medium that consists of a combination of mixed colorants or layered dyes. For most such media, which comprise the vast majority of color originals used in the scope of color reproduction, three spectral functions are sufficient to represent accurately the logarithmic spectra of colors that can be rendered on a specific medium. This essentially enables one to "reverse" the scanning process — that is, to reconstruct the color spectrum of each pixel of original 102 from the corcesponding signals of scanner 104. Further, the reconstructed spectrum can be converted into colorimetric values using the spectral functions of a desired illuminant and observer. In this manner, the invention produces colorimetric values from practically any scanner thereby, in effect, calibrating the output values from the scanner. In order to be able to 'reverse' the scanning process, first one needs to know its spectral response characteristics — that is, the function applied by scanner 104 to any input color spectrum to develop the scanner output signals. Scanning devices commonly found in the scientific and commercial fields of color reproduction are modeled by their linearization curves and by their spectral sensitivities. The linearization curves represent the functions used to map each of the original red, green and blue channel signals, respectively, of scanner 104 to new red, green and blue signals, respectively, which are proportional with respect to a luminance scale. The spectral response curves represent the characteristics (or spectral sensitivities) of the combined optical elements of scanner 104. These curves are in the form of spectral functions corresponding to each of the red, green and blue channels. These spectral functions describe how a color spectrum input to the scanner is integrated to develop red, green and blue signals. The overall function of scanner 104 can be described by the cascade of the spectral response curves and the linearization curves. The linearization functions and spectral response functions of scanner 104 are determined by traditional techniques well known in the art. Alternatively, these functions may be determined from data supplied by the scanner manufacturer of the particular scanner. The method used to determine the linearization functions is similar to that described by Kang in "Color Scanner Calibration," Journal of Imaging Science and Technology. Volume 36, Number 2, Pages 162-170, March- April 1992. A set of curves 202, 204 and 206, illustrating linearization functions for the red, green and blue channels respectively is shown in FIG. 2. The method used to determine the spectral response functions is similar to that described by Pratt and Mancill in "Spectral Estimation Techniques for the Spectral Calibration of a Color Image Scanner," Applied Optics. Volume 15, Number 1, Pages 73-75, January 1976. Also see, Mancill's Ph.D. dissertation, noted above. A typical set of curves, 302, 304 and 306, illustrating the spectral response functions (or spectral sensitivities) of the red, green and blue channels respectively is shown in FIG. 3. It will be appreciated that the linearization functions and spectral response functions provide a basis for constructing a scanner model for the scanner 104. FIG. 4 shows a flow chart that outlines a method, according to the present invention, for determining an appropriate set of spectral functions for any medium. This method produces a medium model for a selected medium. These spectral functions effectively represent the color spectra that can be rendered on a specific medium (for example, photographic papers of a certain kind), from which a color original 102 is made. First, a collection of color samples of a selected medium 102 is generated, as shown in FIG. 4 at step 410. Typically, this collection is a set of color patches. Samples of color patches are commercially available and readily accessible to one engaged in the field. An example is the Q60 color reproduction guide made by the Eastman Kodak Company of Rochester, New York. Alternatively, collections of color patches may be produced on the medium type of interest by various reproduction processes, such as for example, by feeding a color printer combinations of cyan, magenta and yellow signals for printing a color patch on a certain paper type which is the selected medium. Next, in step 430, the spectral content of the collection of patches is obtained. For example, in the case of a reflective medium, spectral reflectance functions may be measured using a reflective spectrophotometer device. This is typically accomplished by placing a color patch into a spectrophotometer device and obtaining intensity readings (e.g. reflectance intensity) at numerous wavelengths (λ) from the spectrophotometer. For example, in one embodiment, 31 intensity readings by the spectrophotometer at 31 wavelengths for a color patch on a selected medium provides a sampling of the spectral reflectance function for this color patch on this medium. This is repeated for several color patches on the same medium (e.g. type of paper) at the same 31 wavelengths, and after several color patches are so measured, the step 430 produces a set of samples each having 31 spectral values. Each sample may be regarded as a vector (e.g. iCi, 1 C 2 ... 1 C 31 comprises one sample from one color patch while 2 C 1 , 2C2—2C3 1 comprises another sample from another patch on the same medium. Next, in step 450, a logarithm (e.g. In —the natural logarithm— in a preferred embodiment) function is applied to the spectral functions. That is, elements of each spectral function are replaced by their logarithm; thus, for example, for the first color patch l c , the sample values are replaced by: In (1C1), In (ιC2),...u (1C3 1 ). Functions other than the logarithm might be used in altemate embodiments. In the final step 470, a linear three-dimensional (3-D) vector subspace is determined for the resulting set of spectral functions. The 3-D subspace is defined by three spectral functions that span the vector subspace. In the preferred embodiment, the determined subspace also includes another spectral function serving as an offset vector. In the preferred embodiment, the well-known method of principal component analysis (PCA) is used to determine the representative spectral functions. PCA determines the offset spectral function to be the mean of spectral functions in the set. The three spanning spectral functions are obtained by applying the well-known method of singular value decomposition (SVD) to the spectral functions, after the offset spectral function has been subtracted from each of the spectral functions in the set. The first three singular vectors are selected from the resulting decomposition to represent the vector subspace. Determining four spectral functions in this way by the method outlined in the flow chart of FIG. 4 leads to the following representation for S(λ), where S(λ) denotes any arbitrary color spectrum of the selected medium 102: S(λ) = exp [V M (λ) + a j Vj (λ) + a 2 V 2 (λ) + a 3 V (λ)] (Equation 1 ) where VM( ) is the offset spectral function, V^(λ), V2(λ) and V * 3(λ) are the basis spectral functions, "exp" indicates that the term in the brackets is an exponent of e, Euler's number, and a 1? a 2 and a 3 are scalars serving as coordinates in the logarithmic medium spectral subspace. Other methods for fitting linear models to a collection of vectors are known in the art, and may be used instead of PCA to construct the basis vectors for the representation of the logarithmic spectra of medium 102. Equation (1) represents a media model for a selected medium which was measured in step 430 (by measuring various color patches on the selected medium). In one embodiment where 31 samplings are obtained from each color patch on the selected medium, the basis spectral function VI (λ) is a vector having 31 known values each specified by one of the particular sampling values of λ. The same is true for the offset spectral function V , and the basis spectral functions V 2 (λ) and V3(λ). Thus, it will be appreciated that Equation (1), for any given λ, has three "unknown" variables: ai, a 2 , and a 3 ; for that given λ (e.g. λ = λo ), then Equation (1) may be represented as: S(λo) = exp [V M (λo) +aιVι(λO)+ a 2 V 2 (λo) +a 3 V 3 (λo )] where all values in the exponential are known except ai, a 2 and a 3 . Specifying instance values for the coordinates a 1? a 2 and a 3 is essentially equivalent to specifying the corresponding color spectrum of selected medium 102. It should also be noted that, since the basis spectral functions, Vι(λ), V2(λ) and V 3 (λ), and the offset spectral function, VMλ), are specified by the spectral reflectance of a selected medium and since ai, a2 and a3 are the "unknown" variables, then Equation (1) may be regarded as being a media model for a selected medium in a coordinate space defined by the selected medium which specifies the media model. That is, the coordinate space of the media model represented by Equation (1) is defined by and specified by the selected medium used to generate the spectral functions measured in step 430. It should be noted that in an actual implementation, all spectral functions are discrete versions of the respective continuous spectrum signals. They thus may be represented by finite-length vectors. In the preferred embodiments as noted, vectors of 31 elements are used as discrete versions of the respective spectral functions. These vectors are derived by sampling the spectral functions in the frequency range of λ = 400 nanometer to 700 nanometer at 10 nanometer intervals. Similarly, mathematical operations among spectral functions are performed by their discrete counteφarts from matrix algebra. For example, integration of spectral functions is performed by an inner product — that is, by multiplying the respective vectors' elements, element-by -element and summing the products. A set of curves illustrating the four spectral functions for the selected medium determined by the method outlined in the flow chart of FIG. 4 is shown in FIG. 5. In the particular example of FIG. 5, the four spectral functions have been drawn as continuous, rather than discrete, functions by well known curve approximating techniques which smooth the discrete points along each curve into a continuous curve. The curve 502 represents the spectral function V " M(λ), and curves 504, 506 and 508 represent respectively the three basis functions Vι(λ), V2(λ) and V3(λ). Referring now to FIG. 6, after the linearization functions (e.g. see FIG. 2) and spectral response functions (e.g. see FIG. 3) have been determined for scanner 104 and after the four representative spectral functions (e.g. see FIG. 5) have been determined for medium 102, iterative convergence loop 630 may be used to produce spectrum values for each set of simulated scanner signals. These spectrum values are then converted into colorimetric signals by colorimetric converter 650. A LUT 670 (Look Up Table 670) may store the converted colorimetric data at table locations addressed by the simulated scanner signals. Typically, a set of simulated scanner signals will be generated to provide a full set of addresses for all possible LUT locations. In the preferred embodiment, simulated scanner signals range from 0 to 255 in increments of 17, that is 16 steps per channel, in each of the red, green and blue channels. These scanner signals 610 are processed by the iterative convergence loop 630 according to the invention and the colorimetric converter 650 to obtain colorimetric signals 690, such as signals representing values in the XYZ color space. The colorimetric signals are stored in LUT 670 at table entries addressed by the corresponding scanner signals. An alternative method for loading LUT 670 is to scan color samples of medium 102 by scanner 104. LUT 670, addressed by scanner signals corresponding to the color samples, will be loaded with the converted colorimetric signals. It may be desired to use an invertible transformation, such as the logarithmic, exponential, or gamma function for the scanner signals prior to addressing LUT 670. This may be desired because of the particular scaling of the scanner signals for a particular scanner. Indeed, a separate invertible transformation may be used for each of the red, green and blue signal channels. In order to do so, the inverse of the transformation must be applied to the designated lookup table addresses and the inverse addresses must be supplied to the iterative convergence loop 630 instead. In like manner, it may be desired to use an invertible transformation for the colorimetric signals obtained by the colorimetric converter prior to storing the signals as entries in LUT 670. For example, in the case where the LUT entries are loaded with RGB values that are intended to be viewed on a display, an exponential function matching the gamma of the display may be used to achieve faithful reproduction of the color. Again, a different invertible transformation may be used for each colorimetric signal channel. In order to do so, the transformation would be carried out as an additional last step of the colorimetric converter process. Referring now to FIG. 7, scanner signals originating from scanner 104 are, in one embodiment, converted into colorimetric signals using the loaded LUT 670 together with an appropriate three-dimensional (3- D) inteφolation method carried out by inteφolator 720. Examples of 3- D inteφolation techniques include ordinary trilinear inteφolation and any of the tetrahedral or other methods used for 3-D inteφolation. In the embodiment illustrated in FIG. 7, the LUT 670 is loaded according to the method described in conjunction with FIG. 6, where simulated scanner signals are used as addresses to the LUT 670 and are used produce, via the iterative convergence loop 630 and the colorimetric converter 650, colorimetric values which are stored in the LUT at the location addressed by the corresponding simulated scanner signals. It will also be appreciated that the LUT 670, once generated for a particular scanner and medium, may be stored in any memory device of a computer system, such as memory 126, and then, at a later time when the same scanner and medium are being used, retrieved and placed in memory 122 (which may be, for example, RAM) and used by the CPU 120 to convert color input signals from the scanner 104 into colorimetric values for subsequent storage or processing. It should be noted that when using a lookup table, inaccuracy is inevitable at table addresses representing scanner signals that are unrealizable for the medium for which the lookup table entries are derived. Furthermore, some error may be introduced by inteφolator 720 which may not exactly predict entry values for intermediate addresses of LUT 670. The above- mentioned errors can be decreased by using more steps for LUT 670. In such an embodiment, 32 steps per channel are used. This requires more memory to store the larger number of entries in the LUT. In yet another embodiment, an alternative method for converting scanner signals into colorimetric signals without the use of a LUT is illustrated in FIG. 8A. In this case, scanner signals originating from scanner 104 are first processed by iterative convergence loop 630 and further processed by colorimetric converter 650 to develop colorimetric signals directly. Using LUT 670 for conversion of a plurality of scanner signals into colorimetric signals may be more computationally efficient, while utilizing iterative convergence loop 630 together with colorimetric converter 650 may be more accurate. FIG. 8B shows a particular digital computer embodiment of the apparatus of FIG. 8A, and this particular embodiment is analogous to the digital computer shown in FIG. IB. The mass memory 126a, which may be a conventional hard disk, is coupled to the CPU 120a via the conventional I/O controller 125a and bus 124a. The memory 122a, which may be conventional system DRAM, is coupled to the CPU 120a for storage of operating system programs and for other programs and data. As shown in FIG. 8B, the CPU 120a will typically cause the color scanner 104 to scan the color original to thereby provide scanner signals which may be stored in memory 122a. The basis spectral functions for the selected medium (which was, or is to be, scanned) may be loaded from memory 126a into the memory 122a. Note that, as shown in FIG. 8B, the mass memory 126a may contain many different basis spectral functions for many different media such that the user may, by an input device, indicate to the computer the type of media which is being scanned so that the appropriate media model, represented by the appropriate basis spectral functions may be loaded from mass memory 126a into memory 122a. It will be appreciated that the CPU 120a, typically in conjunction with data (such as the input RGB signals and the selected media model) and programs stored in the memory 122a and/or memory 126a, operates to provide the iterative convergence loop 630 and colorimetric converter 650. Referring now to FIG. 9, the iterative convergence loop 630 and the colorimetric converter 650 are illustrated in finer detail. FIG. 9 shows schematically an apparatus for implementing these steps. Iterative convergence loop 630 incoφorates a signal linearization module 902, a coordinates initialization module 904, an adder 922, a spectrum construction module 924 and a coordinates modification module 926. Also, multiplexor 932 and latches 942, 944 and 946 control the flow of data throughout the loop according to signals SI, LI and L2. Signal SI causes multiplexor 932 to select one or the other of its inputs as its output, signal LI causes latch 942 to latch, and signal L2 causes both latch 944 and latch 946 to latch. These signals operate in accordance with whether the current iteration of loop 630 is the first or a subsequent iteration. The colorimetric converter 650 incoφorates multiplication modules 964 and 966, and an integration module 968. Also, latch 952 controls the entry point to the colorimetric converter 650 according to signal L3. This signal operates in accordance with whether loop 630 terminates and is typically provided by the modify coordinates module 926. Either the iterative convergence loop 630 or the colorimetric converter 650 or both may be implemented by a computer program, by an electronic hardware circuit, or by a combination of both. The iterative convergence loop 630 implements a solution to the following set of scanner observation equations: J λ S(λ)R(λ)dλ = R (r) (Equation 2a) J S(λ)G(λ)dλ = / G (g) (Equation 2b) λ I S(λ)B(λ)dλ = /„(b) (Equation 2c) where r, g and b are the red, green and blue signals, respectively, of scanner 104; ^, and g are the red, green and blue linearization functions, respectively, of scanner 104; R(λ), G(λ) and B(λ) are the red, green and blue spectral response functions (sometimes referred to as scanner sensitivities functions), respectively, of scanner 104; and S(λ) is the unknown medium spectrum (e.g. the spectrum of the pixel being scanned). This is for one pixel in the original. Equations 2a, 2b and 2c together represent a scanner model for any scanner such that, given the spectral function S(λ) of a pixel and given the spectral response functions (e.g. R(λ)) for a particular, the Equation 2a, 2b and 2c provide a model of the output of the scanner. In accordance with the present invention, S(λ) is uniquely represented by the coordinates a l5 a 2 and a 3 as described in Equation (1). In the preferred embodiment, the steps carried out by the iterative convergence loop 630 use this parameterized representation of S(λ) to obtain a solution to the non-linear set of Equations (2a), (2b) and (2c) in an iterative fashion through the development of suitable values for the a l5 a and a 3 coordinates. The procedure carried out by the iterative convergence loop 630 will now be described. A triplet of red, green and blue signals defining the color components from scanner 104 are linearized by module 902, and the result is latched by latch 942. Further, the triplet of linearized red, green and blue signal is passed to module 904 to obtain an initial approximation to the coordinates a 1? a 2 and a 3 represented by a triplet of signals. Next, these coordinate signals are fed to multiplexor 932. During the first iteration of loop 630, the initial coordinates signals are transferred by multiplexor 932 to be latched by latch 944 (this is determined by signal SI which acts as a multiplexor select which is set to select the initial coordinates from module 904 only on the first iteration. The coordinate signals are further fed to the non-inverting input 972 of adder 922. During this first iteration, the other non- inverting input 974 of adder 922 is of zero value. The coordinate signals developed by adder 922 are fed at the output 976 to both module 924 and back to multiplexor 932 at input 978. Module 924 then develops a vector representing the pixel spectrum S(λ) corresponding to the current input coordinate signals. The input represents the coordinates a l5 a 2 and a 3 , and module 924 computes the vector representing the pixel spectrum S(λ) using these coordinates ai, a2 and a3 and Equation 1. The vector is further fed to module 926 which produces a triplet of modification signals that are latched by latch 946 at the end of an iteration. The operation of module 926 in the prefened embodiment is illustrated in FIG. 11. During subsequent iterations of loop 630 for a particular pixel or LUT address, multiplexor 932 transfers the modified coordinate signals (supplied on line 978) rather than the initial coordinates signals from module 904. These coordinate signals transferred by multiplexor 932 are then latched by latch 944 and further fed to the non-inverting input 972 of adder 922. The triplet of modification signals which were latched by latch 946 in the previous iteration, are supplied to the other non-inverting input 974 of adder 922 which in turn produces a new triplet of modified coordinates signals. The preceding process continues until a stopping criterion is met. In the preferred embodiment, the procedure terminates when the coordinate modification signals produced by module 926 fall below a certain threshold. This termination is indicated by signal L3 from module 926. Other stopping criteria known in the fields of numerical analysis and optimization may be used instead. It has been found that six iterations of loop 630 are usually sufficient to achieve accuracy such that the errors are smaller than color differences typically noticeable to humans. When the process performed by loop 630 terminates, the vector output by module 924 represents the spectrum of the specific medium used, which is needed to reproduce the supplied triplet of red, green and blue signals of the particular pixel. That is, the vector output by module 924 represents a spectrum S(λ) which solves Equations (1), (2a), (2b) and (2c). This vector will typically have n values at the n λ samplings. In an alternate embodiment, a different iterative approximation procedure may be used instead of the iterative convergence loop 630 disclosed herein to obtain a solution of the scanner observation equations (2a), (2b) and (2c). The original spectrum S(λ) to be reconstructed is given by Equation (1). The colorimetric converter 650 implements a conventional and well known conversion of the pixel spectrum S(λ) determined by loop 630 into colorimetric signals using the following formulae: x = J S(λ) I(λ) X(λ) dλ (Equation 3a) λ y = J S(λ) I(λ) Y(λ) dλ (Equation 3b) z = J S(λ) I(λ) Z(λ) dλ (Equation 3c) λ where x, y and z are the CIEXYZ colorimetric values, I(λ) is the spectral function of the selected illuminant and X(λ), Y(λ) and Z(λ) are the color matching functions of the selected illuminant. In the preferred embodiment, the chosen illuminant is the D50 (5000K) proofing light, and the selected observer is the 1931 CIE 2-degree standard colorimetric observer. The programming carried out by the colorimetric converter 650 proceeds as follows. Referring again to FIG. 9, the spectrum vector output by module 924 after loop 630 terminates is first latched by latch 952 as indicated by signal L3 from module 926. This vector is further fed to module 964 where it is multiplied by the selected illuminant' s spectral function I(λ). The resulting vector is fed to module 966 where it is multiplied by each of the selected observer's color matching curves X(λ), Y(λ) and Z(λ), respectively. The resulting three vectors are fed to module 968 where they are integrated to give the final colorimetric signals. If desired, the XYZ signals produced by module 968 may be converted to a different color space, such as CIELAB, and consequently stored in LUT 670 as previously explained and illustrated in FIG. 6. FIG. 10 schematically describes the preferred apparatus for carrying out the function of module 904 depicted in FIG. 9. This module determines initial values for the coordinate signals a 1? a 2 and a 3 . First, an approximate representation with a linear vector subspace is used for any medium spectrum S(λ): S(λ) = W M (λ) + b j W^λ) + b 2 W 2 (λ) + b 3 W 3 (λ) (Equation 4) where W M (λ) is an offset spectral function, W j (λ), W 2 (λ) and W 3 (λ) are basis spectral functions, and b l5 b 2 and b 3 are scalars used as coordinates in the spectral subspace. The spectral functions W M (λ), W^λ), W 2 (λ) and W 3 (λ) are calculated using a procedure identical to the flow chart illustrated in FIG. 4, except that step 450 of applying a log function is omitted and thus these functions are linear basis spectral functions which are inputted to module 904. Substituting the right-hand side of Equation (4) instead of S(λ) in the scanner observation equations (2a), (2b) and (2c) results in a set of three linear equations in the three unknowns b^, b 2 and b . The latter unknowns are solved using any linear equation solving methods well-known in matrix algebra, and the spectrum S(λ) is then calculated using Equation (4). In the preferred embodiment, the values of b j , b and b are obtained from the linearized scanner signals r', g' and b' using the following formulae: (Equation 5) where the matrix M is computed by: M (Equation 6) Finally, the initial values for the coordinates a l 5 a 2 and a 3 are produced using the following formulae: a l = J [ log ( S(λ) ) - V M (λ) ] V 1 (λ) dλ (Equation 7 a) λ a 2 = J χ [ log ( S(λ) ) - V M (λ) ] V 2 (λ) dλ (Equation 7b) a 3 = f [ log ( S(λ) ) - V M (λ) ] V 3 (λ) dλ (Equation 7c) Referring now to FIG. 10, the scanner signals r, g and b, respectively, are first linearized to produce linearized scanner signals r', g' and b', respectively. These linearized scanner signals 1001, r', g' and b', are fed into module 1003 to obtain a 3x1 vector. r' -|W M (λ)R(λ)dλ λ g' -jWM(λ)G(l)dl (Equation 8) λ Module 1005 comprises the calculation of the 9 elements of the 3x3 matrix M. The matrix M is inverted using module 1007 and further multiplied by the 3x1 vector using module 1009 to obtain the scalars b 1 ? b 2 and b 3 according to Equation (5 ) above. The scalars are then fed into module 1011 to calculate an approximate spectrum S(λ), according to Equation (4) above. Further, the said spectrum is fed into module 1013 which calculates initial coordinate signals 1015, according to Equations (7a), (7b) and (7c) above. In the preferred embodiment, the 3x3 matrix M as well as its inverse are calculated only once; there is no need to recompute each time a new set of linearized scanner signals 1001 are supplied to the apparatus. In a like manner, the entities J W M (λ) R(λ) dλ, J W M (λ) A, λ G(λ) dλ and J W M (λ) B(λ) dλ in module 1003 and the entities , J λ V M (λ) V ! (λ) dλ, J λ V M (λ) V 2 (λ) dλ and J λ V M (λ) V 3 (λ) dλ in module 1013 are calculated only once. Figure 11 schematically shows the preferred apparatus for obtaining modification signals for the coordinates a l5 a 2 and a 3 , that is, for carrying out the function of module 926 in FIG. 9. The apparatus uses the technique known in the art as the Newton-Raphson technique to produce modification signals Δa j , Δa 2 and Δa 3 , respectively, by which to modify the coordinates a 1? a 2 and a 3 , respectively, at each iteration step according to the formulae: aι new = a j - Δa j (Equation 9a) a 2 new = a 2 - Δa 2 (Equation 9b) a 3 new = a 3 - Δa 3 (Equation 9c) where a 1 new , a 2 new and a 3 new , respectively, are the new values of a l s a 2 and a 3 , respectively, determined during this iteration. The modification signals are produced according to the following formula: (Equation 10) where r', g' and b' are the linearized scanner signals and the matrix N is computed by: |S(λ)R(λ)Vι(λ)dλ |S(λ)R(λ)V 2 (λ)dλ Js(λ)R(λ)V 3 (λ)dλ x x λ N = |S(λ)G(λ)Vι(λ)dλ |S(λ)G(λ)V 2 (λ)dλ |S(λ)G(λ)V 3 (λ)dλ . (Equation 11) λ λ x JS(λ)B(λ)Vι(λ)dλ |S(λ)B(λ)V 2 (λ)dλ Js(λ)B(λ)V 3 (λ)dλ Referring to FIG. 11, S(λ), the currently estimated spectrum 1101 (from module 924), is fed into module 1103 to obtain the 9 elements of the 3x3 matrix N. The linearized scanner signals 1105, r', g', and b', together with the spectrum, are fed into module 1107 to obtain the 3x1 vector on the right hand side of Equation 10. Further, the matrix N is inverted by module 1109 and multiplied with the 3 x 1 vector by module 1111 to obtain the coordinate modification signals 1113. The invention will now be described in view of the flowcharts shown in FIGS. 12A and 12B. This flowchart describes a typical process performed according to the previously described embodiment of the invention, which may be implemented by a digital computer or digital hardware, such as, for example, the apparatus of FIG. 9. The process of FIGS. 12A and 12B begins at step 1201, wherein a selection of the medium and the scanner 104 is made; this is typically performed by the user of the scanner identifying to the apparatus of the invention the particular medium (e.g. reflective print on a photographic paper of a certain manufacturer) and the particular scanner which will be (or has been) used to scan a color original. Typically, the apparatus of the invention will have a database of information for various particular media and scanners, where the database will include characteristics defining the media model or the actual basis spectral functions which comprise the media model and will further include characteristics (e.g. linearization functions and spectral response functions) which contribute to the scanner model. The user will, by selecting a particular medium and a particular scanner, cause the apparatus, as shown in steps 1205 and 1211, to obtain the appropriate media model (if already constructed) and the appropriate scanner model. If the exact media model or scanner model is not available, the user may select an available medium which most closely resembles the actual medium which is being scanned, although the results achieved will not be as accurate as if a media model for the desired medium were actually obtained according to the method of FIG. 4. If the media model has not yet been constructed (by e.g., determining the basis spectral functions according to FIG. 4), then the media model is determined in the manner described above. Typically, data representing the media model and the scanner model will be loaded into memory, such as, for example, memory 122, for processing by the CPU 120 of FIG. IB. In step 1215, the system obtains r, g, and b signals for either a current pixel being scanned in the scanner 104 (as in the case of the embodiment of FIG. 8) or for a simulated scanner signal which represents a LUT address as in the embodiment of FIG. 6. Then in step 1221, the system linearizes these r, g, b signals; this is typically performed by using the particular channel's signal (e.g. π) to find the corresponding Luminance using the channel's linearization function (e.g. curve 202 in FIG. 2). As shown in the embodiment of FIG. 9, this operation is performed in module 902. In step 1225, the system determines initial values for the coordinates ai, a2 and a3 for the first iteration on the current pixel or LUT address in the iterative convergence loop. As shown in the embodiment of FIG. 9, this operation is performed by module 904. Next, in step 1231, the system determines a vector representing S(λ) for the current al, a2, a3 set of values for the cunent pixel or LUT address. Typically, this vector will be n elements at the n samplings over the desired wavelengths (λ); in a typical embodiment where n = 31 samplings, this vector will have 31 elements Si, S2...S31 determined by Equation (1) noted above. In the embodiment of FIG. 9, this vector is determined by module 924. In step 1235, the system attempts to determine the error in solving the scanner model by using the media model. In effect, this error may be regarded as the differences between the given values of the linearization functions (e.g. from FIG. 2 or module 902 or step 1221) and the determined values of Equations 2a, 2b and 2c given the vector representing S(λ) obtained from step 1231. Step 1235 also determines the modification signals (Δa, Δa2 and Δa3) for the coordinates al, a2 and a3; in the embodiment of FIG. 9, this operation is performed by module 926. In step 1241 the system determines the new values for coordinates aι,a2 and a3 according to the modification signals provided in step 1235; in the embodiment of FIG. 9, this operation is performed by module 976. Then in step 1245, the system determines whether another iteration for the current pixel or LUT address is necessary; in the embodiment of FIG. 9 this is performed by module 926. If a further iteration is necessary (determined as described above) then the process loops back to step 1231 and continues from there. If no further iteration is necessary then processing proceeds to step 1251, in which the spectral vector S(λ) (e.g. from module 924 of FIG 9) representing the current pixel or LUT address is converted into colorimetric signals representing colorimetric values using well known techniques. In the embodiment of FIG. 9, step 1251 is performed by module 650. These values may be stored in, for example, LUT 670 at the corresponding LUT address. Then the system, in step 1255, determines whether further pixels or LUT address require processing according to the invention. If so, then, processing loops back to step 1215, from which processing continues; otherwise the method is completed. The method and apparatus of the present invention can be used for various types of color originals, such as slides, transparencies or reflective prints, by deriving a set of spectral basis functions, serving as a vector subspace for the logarithmic spectra typical of the particular medium of the original. The method and apparatus of the present invention may be used with various types of scanners, such as transmittance scanners, reflectance scanners or any other photosensitive devices, so long as the spectral response characteristics of the scanner or device are known. In addition, the method and apparatus of the present invention may be used with scanners having other than three (e.g., red, green and blue) signal channels. This is done by using a different appropriate number of spectral basis functions and coordinates in Equation (1) to represent logarithmic spectra of scanned media. In general, the method and apparatus of the present invention may be used whenever the number of coordinates does not exceed the number of scanner signal channels. Maximum accuracy is expected when the number of scanner signal channels is equal to the number of coordinates being used. Numerous modifications and alternative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is for the puφose of teaching those skilled in the art the best mode of carrying out the invention. The details of the structure may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which come within the scope of the appended claims is reserved.

Claims: I claim: ... 1. A method of converting signals, representing output from a scanner, into signals representing colorimetric values, said method comprising: selecting a medium and selecting a scanner; producing a medium model for said medium, said medium being a selected medium, said medium model having a coordinate space defined by said selected medium; producing a scanner model for said selected scanner; using said medium model to solve said scanner model, wherein the scanner model is solved in the coordinate space defined by said selected medium. 2. A method as in claim 1 wherein said scanner model is solved to obtain a spectral signal which represents a conversion of said signals representing output from said scanner. 3. A method as in claim 2 wherein said spectral signal is further converted into a set of colorimetric values. 4. A method as in claim 3 wherein said medium model is a non-linear expression of said selected medium, and wherein said medium model providing a spectral representation of said selected medium as a function of wavelength. 5. A method as in claim 3 wherein, said scanner model is solved iteratively in an iterative convergence loop, wherein said iterative convergence loop develops a succession of values in said coordinate space defined by said selected medium. 6. A method as in claim 3 wherein said signals representing output from said scanner are simulated scanner signals representing an address to a look up table. 7. A method as in claim 4 wherein said non-linear expression is in the form of a logarithmic function and wherein said scanner model is solved iteratively in an iterative convergence loop, wherein said iterative convergence loop develops a succession of values in said coordinate space defined by said selected medium. 8. A method as in claim 7 wherein said signals representing output from said scanner are simulated scanner signals representing an address to a look up table. 9. A method as in claim 8 wherein said set of colorimetric values is stored in a said look up table in a location corresponding to said address. 10. A method as in claim 3 wherein said colorimetric values are in the XYZ color space. 11. A method as in claim 1 wherein said medium model is produced by a process comprising the use of principal components analysis. 12. A method as in claim 3 wherein said medium model is produced by a process comprising the use of principal components analysis. 13. A method as in claim 4 wherein said medium model is produced by a process comprising the use of principal components analysis on said non-linear expression of said selected medium. 14. An apparatus for converting signals, representing output from a scanner, into signals representing colorimetric values, said apparatus comprising: means for selecting a medium and a scanner, said means comprising an input device; means for producing a medium model for said medium, said means for producing being coupled to said means for selecting, said medium model having a coordinate space defined by said medium; means for producing a scanner model for said selected scanner; means for solving said scanner model using said medium model, said means for solving being coupled to said means for producing a scanner model, wherein the scanner model is solved in the coordinate space defined by said medium. 15. An apparatus for converting signals, representing output from a scanner, into signals representing colorimetric values, said apparatus comprising: an input device; a memory coupled to a bus; a digital processor, said digital processor being coupled to said input device and to said memory, said memory storing a representation of a medium for a selected medium, said representation of a medium having a coordinate space defined by said selected medium, said representation of a medium providing a spectral representation of said selected medium as a function of wavelength, said memory storing a representation of a scanner for a selected scanner, said digital processor producing a solution for said representation of a scanner using said representation of a medium for said selected medium, wherein said solution is produced in the coordinate space defined by said selected medium. 16. An apparatus as in claim 15 wherein said input device is used to select said selected medium and said selected scanner. 17. An apparatus as in claim 15 wherein said solution provides a spectral signal which represents a conversion of said signals representing output from said scanner. 18. An apparatus as in claim 17 wherein said spectral signal is further converted into a set of colorimetric values by said digital processor. 19. An apparatus as in claim 18 further comprising a scanner coupled to said digital processor. 20. An apparatus as in claim 19 further comprising a color printer coupled to said digital processor. 21. An apparatus as in claim 19 wherein said solution is produced iteratively in an iterative convergence loop, wherein said iterative convergence loop develops a succession of values in said coordinate space defined by said selected medium. 22. An apparatus as in claim 21 wherein said signals representing output from said scanner are simulated scanner signals representing an address to a look up table.

Inventors: SHERMAN DORON, SHERMAN, DORON
Applicants: ELECTRONICS FOR IMAGING INC, ELECTRONICS FOR IMAGING, INC.
Application year: 1995
Main classification: H04N1
IPC codes: G01J3, G06T1, G06T5, H04N1