USPatent applicationPatented

Ink minimizing profile making tool

Granted 14 Feb 2012 · 2 office actions

Life of the application

13 dated events
⤢ drag to zoom20082010201220142016201820202022202420262028ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An International Color Consortium (ICC) profile making tool includes a regression module to establish a dependency between a profile connection space (PCS) and a device color space and an optimization module to generate a first output profile based on an ink minimization mode and a second output profile based on a high accuracy mode.

Description

6 parts
›FIELD OF THE INVENTION

This invention relates generally to the field of printing systems. More particularly, the invention relates to managing and controlling ink usage in a color printing system.

›BACKGROUND

Growth in color management has resulted in an increase in software packages that are used to generate International Color Consortium (ICC) profiles. ICC profiles describe color attributes of a particular device or viewing requirement by defining a mapping between a source or target color space and a profile connection space (PCS), which is either CIELAB (L*a*b*) or CIEXYZ.

An ICC profile also plays an important role in ink consumption at a printer driver, or third party software, since the profile provides the means of determining CMYK intensities for each point in a given image. The minimization of ink usage at printers has been an important and challenging problem, which has had a significant economic impact. Current approaches to minimizing ink in ICC profiles are based on limiting a peak coverage or black removal heuristics. However, the ink saving efficiency of such mechanisms is quite limited.

Therefore, what is desired is an ICC profile mechanism that provides for efficient ink minimization.

›SUMMARY

In one embodiment, an ICC profile tool is disclosed. An International Color Consortium (ICC) profile tool includes a regression module to establish a dependency between a profile connection space (PCS) and a device color space and an optimization module to generate a first output profile based on an ink minimization mode and a second output profile based on a high accuracy mode.

In another embodiment, a method is disclosed. The method includes performing a regression method to establish a dependency between a profile connection space (PCS) and a device color space and performing an optimization method to generate a first ICC profile based on an ink minimization mode and a second ICC profile based on a high accuracy mode.

›DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:

FIG. 1 illustrates one embodiment of an ICC profile tool;

FIG. 2 illustrates one embodiment of a regression model;

FIG. 3 illustrates one embodiment of an optimization module; and

FIG. 4 illustrates one embodiment of a computer system.

›DETAILED DESCRIPTION · 1 of 2

An ICC profile tool is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of the present invention.

Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

FIG. 1 illustrates one embodiment of an ICC profile tool 100 . Profile tool 100 is a tool for making, editing and assessing ICC profiles. According to one embodiment, ICC profile tool 100 generates an ICC output profile with respect to a set of parameter values that are passed to a point operation optimization algorithm.

In such an embodiment, a multitude of different ICC profiles, depending on a parameter setup, may be produced for a given printer that addresses a trade-off between print quality and amount of ink required. In a further embodiment, the output profile may be applied to any ink jet or EP printer.

According to one embodiment, tool 100 receives as input from a user: a measurement file, type of optimization and color lookup table (CLUT) resolution. CLUT resolution determines how many evenly distributed points will be used to represent a grid that spans an entire device independent color space (e.g., typical values 9, 25, or 33).

The measurement file may be a standard print charts, e.g., ECI2002V, printed on a target printer and measured in XYZ or the CIE 1976 L*a*b color spaces. In one embodiment, the measurement file is obtained by a particular printer printing out the chart, which is measured using a spectrophotometer. As a result, the set of points (called sample set) in L*a*b is obtained with known responses in the device color space.

The type of optimization includes an ink minimizing mode and a high accuracy mode. The ink minimizing mode enables a user to establish a limit as to how much a reproduced color (e.g., the result of ink minimization) can deviate from the requested color in the device independent color space. In one embodiment, a user specifies a level of print quality that is acceptable in the ink minimizing mode. The high accuracy mode ensures that color error will be minimized between the requested and reproduced color regardless of the amount of ink consumed. In one embodiment each mode, an ICC profile is generated that includes an associated set of CLUTs 150 that can be used in the color management system of a given printer to implement the respective mode.

According to one embodiment, tool 100 includes regression module 120 and optimization module 130 . The regression module performs a method that establishes dependency between L*a*b and device color space (e.g., CMYK). In one embodiment, the regression method avoids contouring effects on images.

Regression Model

As a first step, regression module 120 retrieves the sample set derived from the measurement file. In one embodiment, the above-described functional dependency between L*a*b* and CMYK is established using polynomials. For example for the first degree polynomial degree, the functional dependency, denoted as F(CMY K)→LAB, can be written as:

[ b a L ] = [ β const ⁢ ⁢ 1 β 11 β 12 β 13 β 14 ] β const ⁢ ⁢ 2 β 21 β 22 β 23 β 24 β const ⁢ ⁢ 3 β 31 β 32 β 33 β 34 ] × [ C M Y K ]

where (3×5) β matrix contains the regression coefficients.

The computation of these coefficients is based on the closed form solution of the least square error minimization for the subset of sample points. This subset of sample points is selected individually for each node in the constructed BtoA CLUT. This concept of locality is very important as F(CMY K)→LAB may vary from one region of printer's gamut to another.

Suppose that the given subset of sample points is composed of N points, each point i, 1≦i≦N is specified by L i a i b i coordinates in Lab space and C i M i Y i K i in CMYK space. The regression model for the first degree polynomial is shown in FIG. 2 . Let {circumflex over (b)} i , â i , and {circumflex over (L)} i denote the b, a and L components of the right hand side vector in FIG. 2 , computed when β coefficients are found.

The least square regression implies that β coefficients are determined such that

is minimized. It is very important to note that this is a least squares optimization of Euclidean distances between actual sample points in Lab space and corresponding mappings from CMYK space. To see this, Equation 1 can be written as

By these means, our regression model resolves the common pitfall in color science based on the fact that the least squares optimization is applied to find β coefficients separately for L, a and b. As a result, that approach does not minimize

∑ i = 1 N ⁢ Δ 1 2 .

Let V (C M Y K) be a vector formed with all terms of k-degree polynomial constructed from the elements of [C M Y K] vector. In general, the F(CMY K)→LAB can be expressed as [L a b]=[3×length of V(C M Y K)] β matrix×V(C M Y K). In one embodiment, first degree polynomials were used in profile tool 100 for subsets with a small number of sample points, second degree—for other subsets.

Optimization Setup

Referring back to FIG. 1 , once the regression method has been performed at regression module 120 control is forwarded to optimization module 130 . FIG. 3 illustrates one embodiment of an optimization module 130 . Optimization module 130 includes two modules to perform optimization setups for non-linear optimization. These modules include ink minimizing module 310 and high accuracy module 320 . However, in some embodiments, an ink limit may be applied at both modules.

›DETAILED DESCRIPTION · 2 of 2

Let [lab] denote a node in the constructed BtoA CLUT. Once the local relation F(CMY K)→LAB is established node for node [lab], the optimization problem can be formulated mathematically at ink saving module 310 and high accuracy module 320 . The ink saving mode is formulated as:

minimize C+M+Y+K

subject to

||F(CMY K)−[lab]||≦Δ limit ; C+M+Y+K≦Ω limit ; 0≦C≦100; 0≦M≦100; 0≦Y≦100; 0≦K≦100,

while the high accuracy mode is formulated as:

minimize|F(CMY K)−[lab]||

subject to

C+M+Y+K≦Ω limit ; 0≦C≦100; 0≦M≦100; 0≦Y≦100; 0≦K≦100,

where Δ limit and Ω limit specify the maximum deviation from node [lab] in L*a*b* space and maximum ink coverage, respectively.

In these formulations, the non-linear element ||F(CMY K)−[lab]|| provides a qualitative measure of deviation from node [lab]. In one embodiment, an additional constraint limiting ink coverage is provided to the set of constraints to prevent paper distortion failures (e.g., curl, cockle, and tearing). In a further embodiment, the formulations can be modified to address the specific details of optimization. For example C+M+Y+K can be replaced with a weighted sum p c ×C+p m ×M+p k ×K, where each coefficient p represents a cost of the corresponding ink.

According to one embodiment, a local optimal solution can be found for the non-linear constrained optimization modes in a finite number of iterations by applying mathematical procedures based on the projected gradient methods, penalty function, etc. In another embodiment, commercially available third party optimization packages, e.g., Matlab, Lingo, can be used for this purpose. In addition, a variety of global optimization iterative heuristics, e.g., Genetic Algorithm, Simulated Annealing, can be adapted for this purpose.

System

FIG. 4 illustrates a computer system 400 on which ICC profile tool 100 may be implemented. Computer system 400 includes a system bus 420 for communicating information, and a processor 410 coupled to bus 420 for processing information. According to one embodiment, processor 410 is implemented using one of the multitudes of ARM™ microprocessors. Nevertheless one of ordinary skill in the art will appreciate that other processors may be used.

Computer system 400 further comprises a random access memory (RAM) or other dynamic storage device 425 (referred to herein as main memory), coupled to bus 420 for storing information and instructions to be executed by processor 410 . Main memory 425 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 410 . Computer system 400 also may include a read only memory (ROM) and or other static storage device 426 coupled to bus 420 for storing static information and instructions used by processor 410 .

A data storage device 425 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 400 for storing information and instructions. Computer system 400 can also be coupled to a second I/O bus 450 via an I/O interface 430 . A plurality of I/O devices may be coupled to I/O bus 450 , including a display device 424 , an input device (e.g., an alphanumeric input device 423 and or a cursor control device 422 ). The communication device 421 is for accessing other computers (servers or clients) via external data network 170 . The communication device 421 may comprise a modem, a network interface card, or other well-known interface device, such as those used for coupling to Ethernet, token ring, or other types of networks.

Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.

Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).

The above-described ICC profile making tool designed ink jet and EP printers minimizes the total cost (or volume) of CMYK required to produce images with a requested perceptual print quality. The ICC profile making tool is capable of producing high accuracy ICC profiles and ICC profiles with minimized ink usage at user specified level of print quality. Further, the ICC output profiles produced with the tool are compliant with ICC.1:2004-10, profile version 4.2.0.0 specification. The CLUTs in these profiles are computed utilizing a point operation method based on the specifically designed regression and state-of-the-art non-linear constrained optimization techniques.

Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

6 codes
IPC · International Patent Classification
Section G — Physics
  • G03F3/08
Section H — Electricity
  • H04N1/46
USPC · US Patent Classification
358/523358/3.24358/504382/167

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2008Jan 2009Jul 2009Jan 2010Jul 2010Jan 2011Jul 2011Jan 2012USPTOApplicantNon-final rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
3.8 y
1,376 days filing → grant
Office actions
2
non-final + final
Responses
2
no RCE
Examiner
James A Thompson
art unit 2625 · TC 2600
Citations: 14 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20082010201220142016201820202022202420262028Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock