Patent Description:
Some print systems estimate ink usage assuming a constant volume for ink drops ejected from the printhead. However, ink volumes ejected by the printhead tend to vary over time and during printing due to changes in the print environment or conditions of the ink or printhead. Accordingly, ink estimates that assume constant ejection amounts are inaccurate. Determining accurate ink model parameter estimates and computing actual ink drop sizes for a printer are complicated processes that may take large amounts of time to perform.

Performing those determinations typically requires printing a range of print jobs while measuring ink volumes and ink drop counts for each print job. Further, these determinations apply only to the specific print mediums, print settings and printers that are to be evaluated. Because these processes are arduous, efficient mechanisms to determine accurate ink model parameter estimates and computing ink drop sizes are desired. Related prior art is known from <CIT>.

In one embodiment, a printing system is disclosed. The printing system includes at least one physical memory device to store drop size logic and one or more processors coupled with at least one physical memory device to execute the drop size logic to generate drop size data associated with a printing system based on ink deposition data for a print medium and ink drop count data.

A mechanism for determining ink model parameter estimates and using the estimates to compute drop sizes is described. In the following description, for the purposes of explanation, numerous specific details are set forth 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.

<FIG> is a block diagram illustrating one embodiment of a printing system <NUM>. A host system <NUM> is in communication with the printing system <NUM> to print a sheet image <NUM> onto a print medium <NUM> via a printer <NUM> (e.g., print engine). Print medium <NUM> may include paper, card stock, paper board, corrugated fiberboard, film, plastic, synthetic, textile, glass, composite or any other tangible medium suitable for printing. The format of print medium <NUM> may be continuous form or cut sheet or any other format suitable for printing. Printer <NUM> may be an ink jet, electrophotographic or another suitable printer type having a well-defined association with the amount of marking material deposited in each individual printer picture element (pel).

In one embodiment, printer <NUM> comprises one or more print heads <NUM>, each including one or more pel forming elements <NUM> that directly or indirectly (e.g., by transfer of marking material through an intermediary) forms the representation of picture elements (pels) on the print medium <NUM> with marking material (e.g., ink, paint, toner, polymers and other materials suitable for printing) applied (e.g., deposited) to the print medium. In an ink jet printer, the pel forming element <NUM> is a tangible device (e.g., an ink jet nozzle) that ejects the ink drop <NUM> (e.g., marking material elements) onto the print medium <NUM> and, in an electro-photographic (EP) printer the pel forming element may be a tangible device that determines the location of toner particles printed on the print medium (e.g., an EP exposure LED or an EP exposure laser).

The pel forming elements may be grouped onto one or more printheads. The pel forming elements <NUM> may be stationary (e.g., as part of a stationary printhead) or moving (e.g., as part of a printhead that moves across the print medium <NUM>) as a matter of design choice. The pel forming elements <NUM> may be assigned to one of one or more color planes that correspond to types of marking materials (e.g., Cyan, Magenta, Yellow, and blacK (CMYK)).

In a further embodiment, printer <NUM> is a multi-pass printer (e.g., dual pass, <NUM> pass, <NUM> pass, etc.) wherein multiple sets of pel forming elements <NUM> print the same region of the print image on the print medium <NUM>. The set of pel forming elements <NUM> may be located on the same physical structure (e.g., an array of nozzles on an ink jet print head) or separate physical structures. The resulting print medium <NUM> may be printed in color and/or in any of a number of gray shades, including black and white (e.g., Cyan, Magenta, Yellow, and blacK, (CMYK)). The host system <NUM> may include any computing device, such as a personal computer, a server, or even a digital imaging device, such as a digital camera or a scanner.

The sheet image <NUM> may be any file or data that describes how an image on a sheet of print medium <NUM> should be printed. For example, the sheet image <NUM> may include PostScript data, Printer Command Language (PCL) data, and/or any other printer language data. The print controller <NUM> processes the sheet image to generate a bitmap <NUM> for transmission. Bitmap <NUM> may be a halftoned bitmap (e.g., a calibrated halftone bit map generated from calibrated halftones, or uncalibrated halftone bit map generated from uncalibrated halftones) for printing to the print medium <NUM>. The printing system <NUM> may be a high-speed printer operable to print relatively high volumes (e.g., greater than <NUM> pages per minute).

The print medium <NUM> may be continuous form paper, cut sheet paper, and/or any other tangible medium suitable for printing. The printing system <NUM>, in one generalized form, includes the printer <NUM> that presents the bitmap <NUM> onto the print medium <NUM> (e.g., via toner, ink, etc.) based on the sheet image <NUM>. Although shown as a component of printing system <NUM>, other embodiments may feature printer <NUM> as an independent device communicably coupled to print controller <NUM>.

The print controller <NUM> may be any system, device, software, circuitry and/or other suitable component operable to transform the sheet image <NUM> for generating the bitmap <NUM> in accordance with printing onto the print medium <NUM>. In this regard, the print controller <NUM> may include processing and data storage capabilities. In one embodiment, measurement module <NUM> is implemented as part of ink model and ink drop size systems to obtain measurements of the printed medium <NUM>. The measured results are communicated to print controller <NUM> to be used to generate ink model parameter data, as well as generate drop size data. The measurement module <NUM> may be a stand-alone process communicably coupled to printing system <NUM> or be integrated into the printing system <NUM>.

According to one embodiment, measurement module <NUM> may be a sensor to take measurements of printed images on print medium <NUM>. Measurement module <NUM> may generate and transmit print image measurement data. Print image measurement data may be color response (e.g., RGB, optical density, etc.) data corresponding to a printed image that is either raw or processed. In one embodiment, measurement module <NUM> may comprise one or more sensors that each or in total take measurements for printed markings produced for some or all pel forming elements <NUM>. In-line ink volume sensing devices to monitor the amount (e.g., volume or mass) of ink used for printing is another type of device which may be included in measurement module <NUM>.

In another embodiment, measurement module <NUM> may be a camera system, in-line scanner, densitometer or spectrophotometer. In a further embodiment, print image measurement data may include map information to correlate portions (e.g., a pel or plurality of pels) of the print image data to the corresponding pel forming elements <NUM> that produced the portions of the printed images.

<FIG>&2B illustrate embodiments implementing print controller <NUM>. <FIG> illustrates a print controller <NUM> (e.g., DFE or digital front end), in its generalized form, including ink model logic <NUM>, drop size logic <NUM>, and ink estimation logic <NUM>. <FIG> illustrates an embodiment in which print controller <NUM> includes drop size logic <NUM> and ink estimation logic <NUM>, while ink model logic <NUM> are coupled externally. In either embodiment, the separate components may represent hardware used to implement the print controller <NUM>. Alternatively, or additionally, the separate components may represent logical blocks implemented by executing software instructions in a processor of the printer controller <NUM>.

Although shown as a component within of print controller <NUM>, other embodiments may feature ink model logic <NUM> and drop size logic <NUM> included within independent devices, or combination of devices, communicably coupled to print controller <NUM>. For instance, <FIG> illustrates one embodiment of ink model logic <NUM> and drop size logic <NUM> implemented in a network <NUM>. As shown in <FIG>, ink model logic <NUM> and drop size logic <NUM> are included within a computing systems <NUM> and <NUM>, respectively, and transmit data to printing system <NUM> via a cloud network <NUM>.

According to one embodiment, ink model logic <NUM> generates ink model parameter data for an unknown print medium based on uncalibrated ink deposition data for a reference print medium and uncalibrated optical density (OD) measurement data for the unknown print medium printed on a print system (e.g., printing system <NUM>). In such an embodiment, the uncalibrated ink deposition data associated with the reference print medium is generated from reference ink model parameter data for the reference print medium and uncalibrated optical density measurement data for the reference print medium.

<FIG> illustrates one embodiment of ink model logic <NUM>. As shown in <FIG>, ink model logic <NUM> includes ink deposition generation logic <NUM> and ink model generation logic <NUM>. According to one embodiment, ink deposition generation logic <NUM> generates the uncalibrated ink deposition data associated with the reference print medium based on received reference ink model parameter data. In such an embodiment, the reference ink model parameter data comprises a one-time generation of ink model parameter data for the reference print medium.

In one embodiment, ink model parameter data (e.g., reference or unknown) comprises parameter estimates that are generated by applying an ink model, such as a Weibull ink model regression, to describe a functional relationship between OD and ink deposition data. Weibull cumulative distribution function (CDF) describes the probability that a real-valued random variable X with a given probability will be found at a value less than or equal to x (where x is a one possible value of the random variable X). Intuitively, it is the "area under the curve" function of the probability density function (PDF). Cumulative distribution functions are also used to specify the distribution of multivariate random variables. The Weibull CDF model that is employed uses two parameters.

In one embodiment, the Weibull CDF is modified to incorporate paper white and the solid area maximum optical density. This modified Weibull CDF will be described as simply "Weibull CDF". The forward Weibull CDF relates ink deposition to OD, while the inverse Weibull CDF relates OD to ink deposition. In one embodiment, ink deposition is represented by: <MAT>.

In one embodiment, a four parameter Weibull ink model is implemented using OD = (p(<NUM>) *(<NUM>-exp((-(x/p(<NUM>))^p(<NUM>))))+p(<NUM>). In such an embodiment, the two-parameter classical Weibull CDF function has been extended to four parameters to create an ink model. The two additional parameters allow the model to account for paper white and absolute paper referenced OD, where x = ink deposition mass per area, p(<NUM>) = ink mass per area scale factor, which is similar to the classical Weibull scale factor , and p(<NUM>) = slope factor.

This factor influences the shape of the function similarly to the classical Weibull slope factor, p(<NUM>) = maximum paper referenced OD and p(<NUM>) = paper white OD. Factors p(<NUM>) and p(<NUM>) are the parameters used in the classical two parameter Weibull CDF function. The p(<NUM>) scale factor adjusts the shape of the curve to modify how much ink deposition is required to achieve various ODs. Larger values for p(<NUM>) require more ink deposition to achieve the same OD.

In addition, since p(<NUM>) is similar to two-parameter classical Weibull slope, it indicates the point of the curve where the ink deposition corresponds to the OD level approximately <NUM>% between the range defined by the paper referenced OD, parameter p(<NUM>) and the OD defined by p(<NUM>). The model provides a value for the maximum absolute OD for the ink/paper. This maximum OD will be given by the sum of the p(<NUM>) and p(<NUM>) parameters. This maximum OD would occur at infinite ink deposition.

Based on the Weibull CDF parameters, OD ink response data may be generated using uncalibrated ink deposition data. In other embodiments, the response data may be represented using CIE L*a*b* rather than OD. In such an embodiment, CIE L*a*b* is implemented to provide Delta E calculations. Alternate ink models, like the Weibull model described previously, can be used to describe the relationship between CIE L*a*b* and ink deposition. For example L* versus ink deposition can use the same equation, by modifying the definitions for p(<NUM>) and p(<NUM>) to use L* values instead of OD. The alternate model predicts decreased L* values with increased ink deposition x. A polynomial function, alone or combined with a Weibull like equation, can be used to describe a* and b* vs ink deposition.

Uncalibrated OD measurement data comprises OD response data measured from a print medium. In one embodiment, the OD response data comprises an OD versus digital count, where digital count is the gray level representing the pels in the bitmap <NUM>. Uncalibrated ink deposition (or ink deposition) is defined as an average amount of ink deposited per printed device pel, where a pel is a picture element of the printer <NUM> (e.g., the printing device).

In a further embodiment, the amount of ink deposition changes as a function of digital count. In such an embodiment, the pels in bitmap <NUM> range from <NUM>-<NUM> for a typical <NUM>-bit system. Additionally, the digital count is a control parameter of an output pel. In yet a further embodiment, an ink deposition curve is the ink deposition (e.g., amount of ink per area) defined over the range of all possible gray levels (e.g., <NUM>-<NUM>). In such an embodiment, ink deposition is computed on an average basis to eliminate local variations due to halftoning using a set of discrete drop sizes. An area equal to the printed size of the halftone threshold array is a good region to use for the area calculation, since it defines the size of the fundamental halftone patterns. Ink drop sizes may be determined by analyzing the amount of ink used and counts of ink drops of each size, as will be discussed in more detail below.

According to one embodiment, the reference ink model parameter data may be generated from an uncalibrated OD measurement data for the reference medium and an uncalibrated ink deposition may be generated from measured drop sizes and halftone drop fractions generated for test print jobs (e.g., printed and measured at printing system <NUM>, or another printing system).

Once the reference ink model parameter data has been received at ink model logic <NUM>, the reference print medium is installed, and one or more test print jobs may be printed, at printing system <NUM>. As a result, measurement module <NUM> measures uncalibrated OD measurement data of test data printed to the reference print medium. The uncalibrated OD measurement data for the reference print medium may then be received at ink model logic <NUM>.

Uncalibrated ink deposition data for the reference print medium is generated based on the reference ink model parameter data and the uncalibrated OD measurement data for the reference print medium (see details further below). Subsequently, the process may be repeated with an unknown print medium being installed at printing system <NUM>, and one or more test print jobs being printed to the unknown print medium.

Again, measurement module <NUM> measures uncalibrated OD measurement data for printed test data, this time for the unknown print medium. The uncalibrated OD measurement data for the unknown print medium may then be received at ink model logic <NUM>. In one embodiment, ink model generation logic <NUM> generates the ink model parameter data (e.g., via the Weibull ink model regression) for the unknown print medium based on uncalibrated ink deposition data for the reference print medium using inverse Weibull ink model and the uncalibrated optical density (OD) measurement data for the unknown print medium.

<FIG> is a flow diagram illustrating one embodiment of a process <NUM> for performing an ink model computation. Process <NUM> may be performed by processing logic that may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software such as instructions run on a processing device, or a combination thereof. In one embodiment, process <NUM> is performed by ink model logic <NUM>.

According to one embodiment, process <NUM> begins at processing block <NUM>, where ink model parameter data is received for the reference print medium. At processing block <NUM>, the reference print medium is installed at printing system <NUM>, where one or more test print jobs are printed on the reference print medium. At processing block <NUM>, uncalibrated OD measurement data is received for the test print jobs printed on the reference medium (e.g., form measurement module <NUM>).

At processing block <NUM>, uncalibrated ink deposition data is generated for the reference print medium, based on the OD measurement data for the reference print medium and inverse ink model for the reference print medium. At processing block <NUM>, an unknown print medium is installed at printing system <NUM>, where one or more test print jobs are printed on the unknown print medium.

At processing block <NUM>, uncalibrated OD measurement data is received for the test print jobs printed on the unknown medium. At processing block <NUM>, ink model parameter data for the unknown print medium is generated based on the OD measurement data for the unknown medium and the ink deposition data for the reference print medium by using the inverse ink model for the reference print medium. At processing block <NUM>, the ink model parameter data for the unknown print medium is transmitted. It should be understood that measurements and ink depositions for like digital count values are used to obtain matching sets of data to generate the ink model parameters for the unknown medium. By performing this, ink model parameter data for the unknown print medium has been determined efficiently and with minimal system resources. Ink model parameter data may be used to determine ink drop sizes and/or ink usage estimation in a print system <NUM>.

Referring back to <FIG>, drop size logic <NUM> is implemented to generate ink drop sizes for printing system <NUM>. In one embodiment, drop size logic <NUM> uses the ink model parameter data received from ink model logic <NUM> to generate the drop size data. <FIG> illustrates one embodiment of drop size logic <NUM>, including ink deposition generation logic <NUM> and drop size generation logic <NUM>.

Ink deposition generation logic <NUM> generates uncalibrated ink deposition data using (or based on) ink model parameter data and uncalibrated OD measurement data. In one embodiment, the uncalibrated OD measurement data is associated with OD measurements generated to calibrate print heads <NUM> of printer <NUM> (<FIG>). In a further embodiment, the uncalibrated ink deposition data is generated using an inverse of the Weibull ink model (or inverse ink model).

As discussed above, the Weibull ink model refers to OD and ink depositions using measured drop sizes e.g., OD = W(i) = M(ID-<NUM>(i)), where W is the Ink Model W(i) as a function of ink deposition i, M(g) is the Measured OD as a function of gray level g and ID is the uncalibrated ink deposition as a function of gray level. Thus, the inverse Weibull may be used to determine the uncalibrated ink deposition from the uncalibrated OD vs gray level g (e.g., W-<NUM>(OD) = ID(M-<NUM>(OD)). This defines both the OD and Ink deposition ID relationships versus gray level, whereas the ink model does not include this relationship.

It should be clear that while the ink model is referred to as a Weibull ink model, the ink model can be any functional relationship which relates OD to ink deposition for a printer. The inverse ink model being an inverse relationship requires a single value to provide a one to one relationship between ink deposition and OD. This one to one relationship for inverse functions is commonly described by the horizontal line test.

In our application to derive the ink model for an unknown paper, we have W<NUM>-<NUM>(OD) = ID<NUM>(g). This employs the inverse of the ink model W<NUM> for the reference paper to generate a function vs gray level g to describe the ink deposition ID<NUM> for the reference paper. Measuring OD as a function of gray level g using the unknown paper to establish M<NUM>, we then can derive an ink model W<NUM> for the unknown paper using the relationship W<NUM>(i) = M<NUM>(ID<NUM>-<NUM>(i)). This produces a function W<NUM>, which describes the ink model for the unknown paper. Again, since we have inverse functions, we must require them to pass the horizontal line test to ensure that a one to one relationship exists. In the case of the Ink deposition function ID this is generally guaranteed by the halftone design which requires the stacking condition that always has a larger drop size for every pel as the gray level is increased. This produces a monotonically increasing level of ink deposition for increasing gray level which is known to meet the horizontal line test.

Drop size generation logic <NUM> generates drop size data based on the uncalibrated ink deposition data at ink deposition generation logic <NUM>. According to one embodiment, drop size generation logic <NUM> uses the uncalibrated ink deposition (or UID) data and ink drop count data (e.g., uncalibrated drop fractions) to generate the drop size data. Ink drop count data comprises a number of drops that occur at each of the plurality of gray levels. Uncalibrated drop fractions may be received by drop size logic <NUM>. Drop fractions represent the ratio of number of drops for a given drop size, relative to the total number of possible drops of all sizes. Drop fractions are expressed as a function vs gray level.

<FIG> illustrates one embodiment of a graph of uncalibrated drop fractions as a function of gray level for a four-drop size halftone, where the drop fraction range is between zero and one. The drop fractions for each individual drop size, including none, must always sum to a value of one since drops must be one of four different drop sizes.

In one embodiment, the uncalibrated drop fraction data is generated based on analysis of an uncalibrated halftone. A calibrated halftone is a halftone that has been adjusted to achieve a target response and so an uncalibrated halftone has not been adjusted to achieve a target response. Uncalibrated drop fractions represent percentages of a halftone threshold array for a specific drop size at each digital count (DC) level, where digital count is the gray level representing the pels in the bitmap <NUM>, which ranges from <NUM>-<NUM> for a typical <NUM> bit system. DC is a print system input control and print system input control may be represented as DC, percent dot, or gray level.

To determine the uncalibrated drop fractions, an uncalibrated multibit threshold array may be analyzed to determine a number of drops (e.g., drop count) that occur at each DC or gray level. Thus, uncalibrated drop fractions are the number of drops in the threshold array for one drop size (e.g., small, medium, large and none) divided by the total number of drops for the one drop size in the threshold array, which is determined for each different drop size at each DC level.

The total number of drops for a single drop size is defined by the size of the threshold array. The total number of drops for a single drop size is the product of the number of rows and the number of columns in the threshold array. For example, at DC level <NUM>, if we have <NUM> small drops and the array is 256x256, the uncalibrated small drop fraction is <NUM>/(<NUM>*<NUM>) or <NUM>. The uncalibrated drop fraction for the none drop size is not necessary to compute. It can be used for verification since the sum of all uncalibrated drop fractions including none must be equal to one (<NUM>%). Uncalibrated drop fraction may be determined for each color plane based on the uncalibrated multibit threshold corresponding to each color plane.

In one embodiment, UID=W-<NUM>(OD_measured), provided inverse Weibull function = W-<NUM>; measured OD = OD_measured; unknown drop sizes = DS_small, DS_medium and DS_large; Gray level = g; and uncalibrated drop fractions for small, medium and large drops: UDF_small(g), UDF_medium(g), and UDF_large(g). In a further embodiment, the ink model and the OD measurement data are for matching conditions. In other words, the ink model used must be for the same paper, halftone and ink set that was used to measure the OD. Ink models described previously for a reference print medium or unknown print medium maybe used. Thus, assuming a four-drop size system (e.g., none, small, medium and large): <MAT> and<MAT>.

Based on the above, drop size generation logic <NUM> determines best fit drop sizes to obtain an ink deposition per area that equals the uncalibrated ink deposition. In one embodiment, generation logic <NUM> determines the best fit drop sizes by performing a drop size regression. In such an embodiment, a least squares regression process is performed to solve the set of linear equations and obtain the unknown drop sizes.

Using the regression process, ink depositions are determined for each gray level. Based on a set of <NUM> (e.g., <NUM>-<NUM>) simultaneous linear equations of uncalibrated ink deposition values, three equations are implemented to define three unknown drop sizes. Thus, approximately eighty-five (e.g., (<NUM>/<NUM>) sets of three different drop sizes may be determined, enabling an understanding of how drop sizes change across the tonal range (e.g., assuming an <NUM>-bit halftone). Employing higher bit depth halftones permits obtaining a larger set of drop size estimates by employing the regression process for each pattern of the halftone. For example, a <NUM> bit halftone enables deriving drop sizes at each gray level for an <NUM> bit imaging path.

In yet a further embodiment, drop size generation logic <NUM> is also implemented to determine drop sizes for printer characteristics other than gray levels since drop sizes may vary depending on such conditions. In such an embodiment, drop size generation logic <NUM> may determine drop sizes for printer characteristics of print system <NUM>, such as patch sizes, printhead voltages (PHV), printhead temperatures, jetting frequencies, number of jetting nozzles, other system temperatures, and/or etc..

<FIG> is a flow diagram illustrating one embodiment of a process <NUM> for performing a drop size computation. Process <NUM> may be performed by processing logic that may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software such as instructions run on a processing device, or a combination thereof. In one embodiment, process <NUM> is performed by drop size logic <NUM>.

According to one embodiment, process <NUM> begins at processing block <NUM>, where ink model parameter data is received. As discussed above, the ink model parameter data may be received from ink model logic <NUM>. At processing block <NUM>, the uncalibrated OD measurement data is received. In one embodiment, the uncalibrated OD measurement data is generated by print engine calibration.

At processing block <NUM>, uncalibrated ink deposition data is generated using the uncalibrated OD measurement data and ink model parameter data (e.g., via inverse Weibull). At processing block <NUM>, the drop size data is generated based on the uncalibrated ink deposition data (e.g., via a regression using drop fractions). At processing block <NUM>, the drop size data is transmitted. In one embodiment, the transmitted drop size data may be displayed at a graphical user interface (GUI) <NUM> at print controller <NUM>.

At decision block <NUM>, a determination is made as to whether one or more changes to characteristics of print system <NUM> has been detected. If so, control is returned to processing block <NUM> where the process is repeated for updated uncalibrated OD measurement data generated in response to the change in the print system <NUM> characteristics. Otherwise, control remains at decision block <NUM> until a change to characteristics of print system <NUM> has been detected.

Referring to <FIG>, ink estimation logic <NUM> is implemented to provide an estimation of ink that is to be used to produce a print job. In such an embodiment, ink estimation logic <NUM> generates estimated ink usage data by computing a sum of ink usage data for each of a plurality of drop sizes generated by each pel forming element <NUM>. In a further embodiment, ink estimation logic <NUM> uses histograms generated for each color plane (e.g., CMYK), as well as the drop size data and drop fractions, to estimate the print job ink usage. By performing this, ink drop size and/or ink estimation is determined accurately, efficiently and with minimal system resources. Ink drop size data may be used to evaluate and determine ink usage estimation in a print system <NUM>.

<FIG> illustrates a computer system <NUM> on which printing system <NUM>, print controller <NUM>, ink model logic <NUM>, drop size logic <NUM> and/or ink estimation logic <NUM> may be implemented. Computer system <NUM> includes a system bus <NUM> for communicating information, and a processor <NUM> coupled to bus <NUM> for processing information.

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

A data storage device <NUM> such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system <NUM> for storing information and instructions. Computer system <NUM> can also be coupled to a second I/O bus <NUM> via an I/O interface <NUM>. A plurality of I/O devices may be coupled to I/O bus <NUM>, including a display device <NUM>, an input device (e.g., an alphanumeric input device <NUM> and or a cursor control device <NUM>). The communication device <NUM> is for accessing other computers (servers or clients). The communication device <NUM> 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 various features of the different embodiments may be variously combined with some features included and others excluded to suit a variety of different applications. Examples may include subject matter such as a method, means for performing acts of the method, at least one machine-readable medium including instructions that, when performed by a machine cause the machine to perform acts of the method, or of an apparatus or system according to embodiments and examples described herein.

Claim 1:
A system comprising:
at least one physical memory device to store drop size logic; and
one or more processors coupled with the at least one physical memory device to execute the drop size logic to generate drop size data associated with a printing system based on ink deposition data for a print medium and ink drop count data;
wherein the drop size data is generated based on a plurality of print system characteristics,
wherein the print system characteristics comprise gray levels,
wherein the drop size data is generated by performing a drop size regression,
wherein the drop size regression determines a best fit of drop sizes for a plurality of gray levels to determine an ink deposition per area equal to the ink deposition data,
wherein the ink deposition is determined for each gray level using the drop size regression.