Imaging systems have become exceedingly popular peripherals for computers and other types of computerized devices. They enable users to print images onto media, thus also referred to as printers. The most common media is paper.
There are many different types of imaging systems, including most popularly inkjet printers and laser printers. Inkjet printers generally operate by ejecting fine droplets of ink onto the media, whereas laser printers generally operate by fusing toner onto the media. Either type of imaging systems may be a black and white only printer or a color printer.
With higher resolution imaging systems, and improved calibration methods, imaging quality has improved rapidly in recent years, approaching photo quality. As a result, neutral gray calibration has become increasingly important. For example, black and white images may be mixed with color images and have to be imaged together without the opportunity to switch to a black and white mode. Further, often, neutral gray nodes in a color transformation lookup table (LUT) are used for interpolating near-gray colors, accordingly, neutral gray balance is important for imaging neutral colors.
One neutral gray adjustment technique employs a 1-D LUT table for neutral gray mapping. Another technique employs a LUT for converting an imaging system's color space to a modified color space to serve neutral mapping. Yet, another technique involves the creation of a neutral gray mapping by applying a calorimetric table in the color profile of an imaging system. Each of these techniques has its disadvantages at least at times and/or in certain circumstances.
Embodiments of the present invention will be described by way of the accompanying drawings in which like references denote similar elements, and in which:
a-1b illustrate a method in accordance with one embodiment of the present invention;
a graphically illustrates an example neutral aim in an example PCS relative to the media white;
b graphically depicts an example neutral gray target with a plurality of near-neutral color patches in an example PCS;
c graphically depicts measurements of the example neutral gray target of
d graphically illustrates measurements in an example lightness level in the example PCS in further detail;
e-2f illustrate determination of whether a point P is inside or outside a triangle ABC;
g-2h illustrate an interpolation approach at a lightness level, in accordance with one embodiment;
Embodiments of the present invention include, but are not limited to, methods to calibrate neutral gray outputs of imaging systems, storage medium, computing devices and/or imaging systems endowed with implementations of at least portions of the methods.
In the following description, various aspects of embodiments of the present invention will be described. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced with only some or all aspects described. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of these embodiments of the present invention. However, it will be apparent to one skilled in the art that various embodiments of the present invention may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the disclosed embodiments of the present invention.
Various operations will be described as multiple discrete steps in turn, in a manner that is helpful in understanding these embodiments of the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment, however, it may.
Referring now to
As shown, for the embodiment, a target with near-neutral color patches surrounding neutral gray in various lightness levels from white to black, block 102, is first designed for printing and measurement.
where Δa and Δb are the intervals of a* coordinate and b* coordinate for the target design. There are total of n L* levels. In each L* level, there are three steps of a* and three steps of b*, which made a total of nine color patches in each L* level, or 9 by n color patches in the entire target.
Next, the desired neutral aim in a device-independent color space, block 104, is defined.
For ease of understanding, the remaining description will be presented with the CIE's L*a*b* color space model as the PCS. However, as will be readily apparent from the description to follow, in alternate embodiments, the PCS may be of other device-independent luminance-chrominance color space models.
Next, the print table to be adjusted is applied to convert the pre-designed target defined in the PCS into the imaging system's color space, block 106. The target is then printed using the imaging system, and measurements of the printed target are taken, employing e.g. a calorimeter or a spectrophotometer, block 108.
Assuming the measurements are not taken in a manner that directly provides color space model values in the PCS (e.g. the CIE L*a*b* color space model of
Continuing to refer to
Thereafter, the print table of the color profile of the imaging system, or more specifically, the neutral nodes of the print table, may be adjusted accordingly, in view of the color values computed in block 112, block 114.
b illustrates the operations of block 112 in further details, in accordance with one embodiment. As illustrated, the operations start from the selection of a first neutral node (i.e. first lightness, or L*, level), block 124. Typically, the selection starts with a neutral node at either end of the lightness axis, however, in alternate embodiments, the selection may be arbitrary.
Upon selection of the neutral node or L* level, the imaging system color values and their corresponding measured L*a*b* values surrounding of the corresponding L* level are retrieved, block 128. For the embodiment, up to 9 set-pair (A1 to A8 and N in
Then, area analyses are performed to determine an area encompassing the desired neutral node of the lightness level (the location marked “X” for the example of
For the illustrated embodiment, the area analyses begin with constructing eight triangles, block 130. More specifically, the eight triangles are constructed by first dividing the area defined by the eight points A1-A8 into 4 quadrangles, A8A1A2N, A2A3A4N, A4A5A6N and A6A7A8N (see also
The 8 triangles are then exhaustively searched to determine the triangle containing the desired neutral color of a lightness level (point X for the example of
Once the triangle containing the neutral color for the current selected lightness is found, the corresponding imaging system color value set (the color values in the device color space) is computed by three-point interpolation, block 134.
The color values of each of the color channels, the Red (R), the Green (G) and the Blue (B) color channel, are calculated for the corresponding neutral gray output. The imaging device RGB color values are calculated by weighting the R, G and B color values based on the weights computed on the corresponding set of L*a*b* color space model values of the vertices of the triangle containing the neutral node of the lightness level in the PCS.
More specifically, the imaging system color space values (Rx, Gx, Bx) of the neutral aimed point X are calculated in accordance with the following formulas:
where area—012, area—013 and area—023 are the areas occupied by triangles OP1P2, OP1P3 and OP2P3 in the 2-D a*b* plane; andarea—123 is the sum of area—012, area—013 and area—023. Each triangle area is computed using (L, a, b) coordinates of the three points of the triangle. The L* value of the (Rx, Gx, Bx) neutral gray point is also computed. In one embodiment, it is computed as the weighted average as follows:
At block 136, a determination is made whether above described operations have been performed for each lightness level. If not, the process continues at block 126, where the above-described operations are performed for another neutral node (i.e. lightness level). If the above-described operations have been performed for each lightness level, the process goes to 138.
Above process and equations are applied to compute (Rx, Gx, Bx) for each L* level or node point. (Rx, Gx, Bx) are the imaging system color space values to produce PCS values, (Lx, ax, bx). The intention is to have (Lx, ax, bx) equal to the aimed neutral gray (Li, ai, bi). However, because L1, L2, and L3 of the three points in a triangle are not exactly equal to the value of L* level (Li), the Lx value of a lightness level is usually not exactly the same as Li. Accordingly, in various embodiments, after all node points are computed, the RGB values of each point are adjusted to achieve an L* value of the corresponding node point, block 138.
where W is the weighting parameter for linear interpolation.
If Li is in the range between Lx,i and Lx,l−1, i and (i−1) points should be applied for linear interpolation.
In alternate embodiments, the color profile of the imaging system may be other color profiles, e.g. a CMYK color profile.
Memory 304 and mass storage 306 may be employed to store instructions and/or data, more specifically, a temporary and a permanent copy of color profile adjustment logic 312 implementing the method of
In other words, for the embodiment, computing device 300 may be employed, e.g. by a manufacturer of an imaging system, or a user of an image system, to calibrate and generate a modified color profile for the imaging system, to facilitate more balanced and/or preferred imaging of neutral gray by the imaging system.
As alluded to earlier, in various embodiments, computing device 300 may practice all or portion of the computing operations illustrated in
In yet other embodiments, computing device 300 may be employed to perform only the computing operations of block 112. For these embodiments, computing device 300 may e.g. receive the converted measurements from another device, and performs the computing operations of blocks 112 in response. Again, computing device 300 may further cause the color profile of the imaging system to be adjusted accordingly, by providing the resulting color values to another computing device or to the imaging system, to in turn perform the adjustment operation of block 114.
In yet other embodiments, computing device 300 (especially those equipped with measurement devices such as spectrophotometers and/or calorimeters) may perform also the measurement operations of block 108 as well as the adjustment operation of block 114.
In summary, computing device 300 may perform all or some of the operations of blocks 108-114 of the color profile neutral gray calibration method of
Otherwise, processors 302, memory 304, mass storage 306, I/O devices 308, and bus 310 represent a broad range of such elements.
In various embodiments, computing device 300 may be a server, a desktop computer, a computing tablet, a laptop computer, a palm sized personal assistant, a pocket PC, or other computing devices of the like.
Memory 404 is employed to store instructions and/or data, more specifically, imaging control logic 426, color profile 424 and color profile adjustment logic 422. Imaging control logic 426 is employed to control pens 412 to print images onto media. Color profile 424 is applied by imaging control logic 426 during imaging. Color profile adjustment logic 422 implements at least portions of the method of
In other words, imaging device 400, in addition to being used for imaging on media, may be employed, e.g. by its manufacturer or a user, to calibrate and adjust its color profile for outputting the desired neutral gray outputs.
In various embodiments, imaging device 400 may practice all or portion of the operations illustrated in
In other embodiments, imaging device 400 equipped with a colorimeter, a spectrophotometer or other measurement device of the like may be employed to perform also the operations of block 108.
In yet other embodiments, imaging device 400 may be employed to perform only the operations of blocks 112-114. For these embodiments, imaging device 400 receives the converted measurements, and performs the operations of blocks 112-114 in response.
In summary, imaging device 400 may perform all or some of the operations of blocks 108-114 of the color profile neutral gray calibration method of
Imaging control logic 426 represents a broad range of such element, including but is not limited to imaging control logic found in many imaging systems available from Hewlett Packard Corp of Palo Alto, Calif. In particular, imaging control logic 426 may be employed to image pixels of images onto media employing one or more colorants. Imaging control logic 426 accesses color profile 424 as adjusted by color profile adjustment logic 422, and images the pixels accordingly.
Otherwise, processors 402, memory 404, imaging engine 406, communication interfaces 408, and bus 410 represent a broad range of such elements.
In various embodiments, imaging device 400 may be an inkjet printer or an electrophotographic printer.
In alternate embodiments, as alluded to earlier, color profile adjustment logic 504 may implement merely only some of operations 110-114 of the method of
In various embodiments, storage medium 502 may be a diskette, a tape, a compact disk (CD), a digital versatile disk (DVD), a solid state storage device, or other electrical, magnetic and/or optical storage devices of the like.
Thus, it can be seen from the above descriptions, embodiments of a novel method to adjust a color profile of an imaging system for neutral gray balance and/or preference have been described. While the novel method has been described in terms of the foregoing embodiments, those skilled in the art will recognize that the method is not limited to the embodiments described. The method may be practiced with modification and alteration within the spirit and scope of the appended claims.
Thus, the description is to be regarded as illustrative instead of restrictive.