In some cases, it may be useful to acquire a spectrum of a sample, such as a color patch printed by a printer, or some other type of sample. A spectrum of a sample can be represented by intensities at various wavelengths. Often, use of complex and relatively expensive spectrometers, spectrophotometers, and spectroanalyzers to measure the spectrum of a sample may not be feasible due to cost and the complexity involved in manual use of such devices.
Some embodiments are described with respect to the following figures:
Characterization of a spectrum relating to a sample can be used for various purposes. In some examples, the sample for which a spectrum is estimated can be one or multiple color patches (or other printed objects) that are printed by a printer, such as an inkjet printer or some other type of printer. In other implementations, a spectrum can be estimated for other types of samples, such as an image displayed on a display device, a physical object, and so forth. In the case where the sample is a color patch or other printed object printed by a printer, the estimated spectrum can be used for performing calibration of the printer. Estimating the spectrum of a sample can also assist in ensuring accurate color reproduction by an output device, such as the printer or some other output device. Alternatively, estimating a spectrum of a sample can assist in characterizing a scanner or other type of measurement device that is used to acquire an image of the sample. There can be other uses of a spectrum estimated for a target sample.
In accordance with some implementations, techniques or mechanisms are provided to allow for estimation of a spectrum of a target sample, based on measurement data related to an image of the target sample acquired by a measuring device. The spectrum is estimated by solving an optimization problem that is based on a non-linear model for estimating a spectral response, and on a profile of the measurement device.
In alternative implementations, instead of a target sample on a printed page, as printed by the printer 102, a target sample can be produced by another output device, such as a display device, a projector, and so forth. As yet another alternative, the target sample 106 can be a physical object.
In some examples, an illuminating light 108 produced by a light source 110 is directed onto the target sample 106. Reflected light (112) from the target sample 106 is detected by a measurement device 114. In some implementations, the measurement device 114 can be a general-purpose image scanner that optically scans the target object 106, and converts the scanned image into a digital image (where the image is associated with measurement data). Note that a general-purpose image scanner is not configured to measure targeted colors, such as by use of color filters. Rather, a general-purpose image scanner is designed to acquire a full spectrum of the colors of the target sample, without performing filtering to focus on specific colors.
In other implementations, other types of measurement devices 114 can be used to acquire measurement data relating to an image of the target sample 106.
Measurement data relating to the image of the target sample 106 acquired by the measurement device 114 is communicated over a link 116 to a processing system 118. The processing system 118 can be a computer, or any other type of system that has a processor.
The processing system 118 includes a storage media 120, which can be implemented with one or multiple disk-based storage devices and/or memory devices. The storage media 120 stores measurement data 122 received from the measurement device 114, a device profile 124 of the measurement device 114, and a non-linear model 126 (such as a model of the printer 102 and possibly a substrate of the printed page 104) that is used for estimating a spectral response. In other implementations, where the output device is other than the printer 102, the non-linear model 126 can represent the spectral response of the other type of output device.
The processing system 118 also includes a spectral estimator 128 that is executed on one or multiple processors 130 in the processing system 118. The spectral estimator 128 is able to estimate a spectrum of the target sample 106 based on the measurement data 122, device profile 124, and non-linear model 126, using techniques according to some implementations.
The spectral estimator 128 then computes (at 204) an estimated spectrum of the sample based on the measurement data, by solving a problem that seeks to provide a solution for the spectrum that is based on the non-linear model 126 and on the device profile 124 (
The estimated spectrum computed at 204 can be represented as a K×1 vector, where K represents the number of discrete wavelengths at which the spectrum is sampled. In a specific example, K can be 36, although other values of K can be used in other examples.
A device response of the measurement device 114 (
The device response (of the measurement device 114) to a given spectrum s is modeled as
mj=j(Pjs+η),jε{1,2,3}, (Eq. 1)
where j is a non-linear optoelectric conversion function, Pj is a 1×K vector of the device profile (124 in
If K (the length of the spectral vector, such as 304 in
According to the Yule-Nielsen model, a general spectrum s can be described as:
where ai, 1≦i≦27, are parameters representing respective ink coverages (expressed as percentages in some implementations), and where Ri represent the spectral reflectances of Neugebauer primaries, where the Neugebauer primaries include all the (C, M, Y) combinations at [0, 0.5, 1.0], where [0, 0.5, 1.0] refers to optical densities of each of C (cyan), M (magenta), and Y (yellow). All the (C, M, Y) combinations at [0, 0.5, 1.0] include the following 27 ink combinations:
{ }, {C1.0}, {M1.0}, {Y1.0}, {C0.5}, {M0.5}, {Y0.5},
{C1.0, M1.0}, {C1.0, Y1.0}, {M1.0, Y1.0},
{C1.0, M0.5}, {C1.0, Y0.5}, {M1.0, Y0.5}, {C0.5, M1.0}, {C0.5, M0.5},
{C0.5, Y0.5}, {C0.5, Y1.0}, {M0.5, Y1.0}, {M0.5, Y0.5}.
{C1.0, M1.0, Y1.0}, {C0.5, M0.5, Y0.5}, {C0.5, M1.0, Y1.0},
{C1.0, M0.5, Y0.5}, {C0.5, M0.5, Y1.0}, {C1.0, M0.5, Y1.0},
{C0.5, M1.0, Y1.0}, {C0.5, M1.0, Y0.5}.
In other implementations, instead of using (C,M,Y) combinations at [0,0.5,1.0], (C,M,Y) combinations as [0,1.0] can be used. In Eq. 2 above, the n exponent in Ri1/n provides a non-linear relationship. The Yule-Nielsen model is different from the Neugebauer model, which defines a linear relationship between ink coverages and a spectral response. The Yule-Nielsen model defines a non-linear relationship. The value of n, which is greater than 1, can be empirically set based on expert knowledge and/or tests. The regular Neugebauer model employs a Demichel's dot overlap model for the surface coverage of each primary. With certain printers, such as inkjet printers, the simple Demichel model does not describe well the surface coverage of each primary ink—however, to avoid a more complicated model that accounts for ink spreading and other physical phenomena, the surface coverages (ai) are assumed to be positive and their sum is 1, as specified in Eq. 2 above. In accordance with some implementations, to estimate a spectral vector, s, that represents the spectrum of the target sample 106 of
In the optimization problem represented by Eq. 3, R is a matrix that contains Ri values from Eq. 2, a is a matrix that is a vector of the ai values of Eq. 2, λ is a predefined constant (where λ is selected to balance between the two assumptions with respect to the estimated spectrum—that the spectrum respects the Yule-Nielsen model and that the measurements are represented by m), and (R1/na)n is based on the Yules-Nielsen model expressed in Eq. 2, which maps between a vector of ink coverages (ai, i=1 to 27) and the spectral response of the target sample. Also, P is a 3×K matrix containing the three profiles of the measurement device 114 (such as the device profiles P1, P2, and P3 for the three R, G, B colors mentioned above), and m is the linearized (R,G,B) measurements (linearized after applying 1 on m, where 1 is a matrix that is the inverse of {1, 2, 3}, which are the non-linear optoelectric conversion functions employed in Eq. 1 above).
Also, in the optimization problem (Eq. 3) set forth above, the ∥ ∥22 operator denotes an l2—norm of the vector contained within the pair of double lines. The operator argmin stands for argument of the minimum, that is to say that the set of points of the given argument (which in this case includes the vectors a and s) for which the value of the function within the braces { } attains a minimum value.
In the optimization problem (Eq. 3), both s and a are unknown. Solving the optimization problem is performed iteratively, by assuming a and solving for s, and then using s to solve for a. Multiple iterations of solving the optimization problem are performed, where successive ones of the iterations alternately solve for the spectral vector (s) and the ink coverage parameters (a). The iterations are continued until a predefined criterion is satisfied.
More generally, the optimization problem (Eq. 3) seeks to find the spectral vector, s, representing the spectrum that minimizes a function based on a difference between the non-linear model and the spectral vector and a difference between a product of the device profile and the spectral vector and the measurement data.
A specific procedure to solve the optimization problem according to some implementations is set forth below:
Initialize a0, j=1, ε0=1000. Repeat iteratively:
In the foregoing algorithm, a is a vector containing the ai values. As indicated in the procedure, an estimated vector s in iteration j (sestj) is calculated, followed by solving for an estimated vector a in iteration j (aestj). In the next iteration (j+1), the previous vector a in iteration j is used to estimate the vector s in iteration j+1. The value εj represents an error value, that is used to calculate a difference that is compared with the threshold T (a predefined threshold). For example, if the difference between εj and εj-1 values calculated in successive iterations (where εj-1 is calculated in iteration j−1, and εj is calculated in iteration j) is less than T, then the iterative procedure can be stopped. Stated differently, the iterative procedure shown above is continued until a predefined criterion is satisfied, which in some implementations is based on error values in successive iterations (εj and εj-1 values) being different by less than the threshold T.
By using techniques or mechanisms according to some implementations, an automated way of estimating a spectrum of a target sample is provided. In some examples, the spectrum estimation can be performed using a relatively low-cost measurement device, such as a general-purpose image scanner.
Machine-readable instructions of modules discussed above, including the spectral estimator 128 of
Data and instructions are stored in respective storage devices, which are implemented as one or more computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2011/031683 | 4/8/2011 | WO | 00 | 10/8/2013 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2012/138347 | 10/11/2012 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5543940 | Sherman | Aug 1996 | A |
5748330 | Wang et al. | May 1998 | A |
6587793 | Viassolo et al. | Jul 2003 | B2 |
7433102 | Takahashi et al. | Oct 2008 | B2 |
7480063 | Kakutani | Jan 2009 | B2 |
20050052654 | Gila et al. | Mar 2005 | A1 |
20050094871 | Berns | May 2005 | A1 |
20070263265 | Sekine | Nov 2007 | A1 |
20080259400 | Hersch | Oct 2008 | A1 |
20090213434 | Ito et al. | Aug 2009 | A1 |
20100134550 | Ito | Jun 2010 | A1 |
20110199626 | Bestmann | Aug 2011 | A1 |
20120105878 | Aharon | May 2012 | A1 |
Number | Date | Country |
---|---|---|
2008259168 | Oct 2008 | JP |
2009111667 | May 2009 | JP |
Entry |
---|
Search report and Written opinion in counterpart PCT patent application PCT/US2011/031683, dated Jan. 18, 2012. |
R.D. Hersch et al., “Deducing ink spreading curves . . . ,” J. Imaging Sci. Technol. May-Jun. 2009. |
S. Zuffi et al., “An innovative method for spectral-based printer characterization,” Proc. of SPIE-IS&T Electronic Imaging, year 2002. |
Number | Date | Country | |
---|---|---|---|
20140052424 A1 | Feb 2014 | US |