Multi-module printer calibration

An apparatus and method for use in generating calibration parameters for a printing apparatus comprising a plurality of print modules are disclosed. The method comprises printing a first plurality of test patches for each print module of the plurality of print modules, analysing the first plurality of test patches to identify at least two clusters of print modules, wherein each cluster comprises a sub-group of print modules having substantially similar performance, printing a second plurality of test patches comprising an extended calibration test patch set for each cluster of print modules, the second plurality of test patches being distributed across the print modules of the cluster, and analysing extended calibration test patch set for each cluster to determine a calibration parameter for the printing apparatus.

BACKGROUND

In order to ensure consistent color reproduction by a printing apparatus on a print media, it is common to perform a calibration process on the printing apparatus. Different technologies are known to implement a printing apparatus, e.g. inkjet printers, offset printing, etc., but all technologies may be subject to drifting away from a calibrated state over time.

DETAILED DESCRIPTION OF AN EXAMPLE

Examples herein provide a method of calibrating a printing apparatus having multiple print modules while reducing the time and print media required to perform the calibration.

In order to ensure consistent output from a printing device, calibration maybe performed on a regular basis. This allows the output of the printer to be compared against a pre-defined reference and adjustments made to correct any discrepancies.

For example, inkjet printers print dots on a print medium by ejecting small drops of ink from one or more nozzles. In order to ensure consistent color reproduction in an image built up on the print medium from a large number of drops of ink, it is important that portions of the image printed by different nozzles have equivalent colorimetry. This can be achieved by ensuring that the amount of ink present in each drop is the same for each drop ejected from all of the nozzles. Alternatively, for print elements that are found to eject smaller drops, the average number of drops ejected by that print element may be increased.

However, the amount of ink present in each ejected drop may vary due to slight differences between nozzles, due to changes in the ink being used, or for other reasons. A calibration process may be performed at regular intervals in order to determine colorimetry of the printer output as compared to a desired reference. The calibration process allows the control signals provided to each nozzle, or portion of a printhead to be adjusted such that the output is corrected for any variation that has occurred. This may be achieved by modifying the control signals directly based on calibration parameters, or by altering the image data to be printed to take account of variations in the response of the nozzles being used to print the image.

Color calibration may be performed by printing and measuring of a set of patches in order to determine the state of a given printer with respect to a pre-defined reference, to be able to then compensate for any changes due to time, usage or environmental conditions. Typically, a test patches of number of shades, for example twelve or more, of each primary color may be printed. In the case of multi-die (for example page-wide-array) calibration, a chart may be printed and measured for each printhead die in order to allow all the dies to be calibrated to the same reference level.

While regular re-calibration of the nozzles in a printer can ensure consistency for colors printed across a print medium, and for a series of print media, performing the calibration process may waste a certain amount of print media and ink.

For a printing apparatus that includes a number of separate print modules, such as a plurality of printhead dies, calibration may be performed for each individual print module to allow the printer to compensate for different changes over time in each print module. For example, a page wide array printer may comprise a number of inkjet printhead dies that experience different levels of use resulting in diverging performance over time, leading to inconsistent reproduction of a printed image across the print media. Similarly, a printing apparatus comprising an analogue offset press with a blade that regulates the amount of ink deposited on a fountain roller and that is adjustable in several locations along the blade could be considered to comprise a plurality of separately calibrated print modules corresponding to the adjustable locations for the blade.

Currently, to perform a calibration for a printer, a predetermined number of test patches may be printed. These test patches may then be analyzed in comparison with a reference level to determine the calibration state of the print module. For a printer including a number of print modules, the predetermined number of test patches should be printed for each individual print module to allow calibration to be performed for each individual print module separately. Thus, for a printer including a large number of print modules, the number of test patches to be printed increases significantly, leading to a relatively large amount of wasted print media and ink, and increasing the time taken to perform the calibration process.

According to some examples, a two stage process is applied to calibrating a printer comprising a number of discrete print modules.

In a first stage of the two stage process, each print module is used to print a small number of initial test patches. The initial test patches are then measured and analyzed to identify modules that behave sufficiently similarly to be considered as equivalent for the purposes of calibration. The print modules can then be divided into clusters of similarly behaving print modules based on the analysis of the initial test patches.

Once the print modules have been assigned to clusters, the calibration process is performed by printing and measuring an extended set of test patches that allow full characterization of the performance of each module. However, the extended set of test patches is printed on a per cluster and not per module basis, such that, if N test patches are required to be printed to perform the calibration, the N patches are spread across the different modules of the cluster which have been identified as performing in an equivalent manner.

For example, for a system with ten print dies/modules, by printing and analyzing a small initial number of patches it may be determined that four behave equivalently, another three behave differently but equivalently among them and finally another three also behave sufficiently similar to be grouped together for analysis purposes. A chart of the extended set of N test patches may then be printed that is spread across three dies for each cluster. For the cluster that includes four dies, three dies may be chosen, for example, based on those closest in performance, or the fourth die may be used to print test patches to be used as a redundant data set. Thus, the total number of test patches to be printed as part of the extended set is reduced from N patches for each module to N patches divided across three modules for each cluster, i.e. the number of patches to be printed and analyzed as part of the extended calibration set is reduced by a third in this example.

In some examples, the measurement of the initial test patch set may indicate that one of the clusters corresponds to dies that have not drifted significantly in color accuracy from a predefined printer-relative reference level. If it is determined that performance of a cluster of print modules corresponds with a printer reference level, it may not be necessary to perform the full calibration process for these print modules, further saving ink and time resources required to perform the calibration.

Examples of the two stage calibration may provide advantages by reducing the amount of data to be printed/measured (less time/waste) and by providing the ability to have redundant data in the calibration chart, thus contributing to more robust measurements.

FIG. 1illustrates a block diagram of a Page Wide Array (PWA) printer100. A PWA printer, such as that illustrated inFIG. 1, is a printer comprising an array of nozzles that extends the full width of print media used with the printer, thereby removing the need for a printhead to be scanned laterally across a print medium to form an image. In some examples, the array of nozzles is formed from a plurality of individual dies, each having a plurality of nozzles, arranged on a printbar.

The printer100comprises a printbar102having a plurality of printhead dies104, in which a first media sheet106is loaded for printing. A printer control unit108comprises a processor and a memory including a calibration module110and a clustering module112comprising instructions that may be executed on the processor. The printer control unit108is coupled to the printbar102and provides control information to the printbar102to control the activation of individual print dies104when printing to the print media106. A monitoring device, such as a camera or spectrophotometer116, is arranged to measure the properties of test patches printed onto the print media106under control of a test patch measurement module114. The test patch measurement module114is coupled to the calibration module108to allow the measurements to be fed back for use in the calibration process. In some examples, the test patch measurement module114may be a function of the printer control unit108.

In operation, the printer control unit108, the calibration module110, and clustering module112ofFIG. 1may control the print dies104to implement a two stage calibration process as outlined in more detail below:

Stage 1: Die-Region Clustering:a. Print and measure a small number of patches per die (module), for example k*N+1 where N is the number of inks and k is an integer equal to one or more. These patches can, for example, be the primaries of the system plus the blank substrate for relative reference.b. Define a difference metric (for example the International Commission on Illumination (CIE) DE2000 distance metric), statistic (e.g. 95th percentile or median) and cutoff value. These may relate to the print and measure repeatability of a given system such that, for example, if print and measure repeatability of a system is 0.5 median and 0.8 95th percentile (DE2000) then if two sets of data (corresponding to two dies) differ by less than 0.5 DE2000 in median terms or less than 0.8 DE2000 in 95th percentile terms then they are in effect indistinguishable from each other since they differ by at most as much as print and measure repeatability.c. Compute a Hierarchical Agglomerative Cluster (HAC) tree based on the chosen metric and statistic and apply the cutoff value.FIG. 2is an example of such computation, based on 95th percentile CIEDE2000 error between respective die-regions with a clustering cut-off of 0.8. As can be seen inFIG. 2, the HAC tree terminates in a number of print module clusters wherein print modules in a single cluster differ among themselves by at most the cutoff value, in terms of the statistic over the metric.FIG. 3illustrates a similar example based on the median CIEDE2000 error between respective die-regions with a clustering cut off of 0.5.

In examples, computation of the HAC tree is performed by clustering module112based on measurements of the initial test patch set provided by the test patch measurement module114.

In some examples, if a predetermined reference performance level was set on the printing system by printing and measuring the nominal state of the dies (i.e. the state that needs no calibration) then a cluster that aligns with the reference state corresponds to a cluster of dies/regions that may need no calibration and can be either ignored for the second stage of calibration, or used for control data. In some cases calibration changes all dies/regions, in this case this option does not apply.

In other examples, other metrics and/or clustering methods may be used to determine clusters of similar print dies.

Stage 2: Die-Redundant Calibrationa. Given the above clustering of dies or regions, a calibration chart is built. This is independent of the type of pipeline (Halftone Area Neugebauer Separation (HANS) or ink-channel based) as well as the calibration approach (whether Closed-loop-color, RGB→RGB 3D calibration or Neugebauer Primaries area coverage (NPac)→NPac calibration, etc.).b. Given a set of M patches each having a target color value to be used for the calibration, for every cluster of dies/modules the M patches are distributed among the dies that are within a cluster. For example,FIG. 4aillustrates a calibration chart for a system with 4-dies and a calibration approach based on the printing and measurement of 27 patches where for each of the 4 dies all 27 patches are printed and measured. Instead, if these dies have been clustered into two categories such that dies 1 and 3 and dies 2 and 4 respectively belong to the same clusters (i.e. based on the initial test patch set dies 1 and 3 are indistinguishable up to print and measurement repeatability) then the chart can be printed such that the 27 patches are distributed among the dies within the same cluster as illustrated inFIG. 4b.c. The result is a smaller calibration chart which in this example saves 50% of the original calibration chart paper waste (and measurement time). In case of clusters of varying size, the smallest size determines the saving, while the larger clusters can be used for redundant printing/measurement leading to more robust data.

Analysis of the printed calibration chart comprising the extended test patch set may then be performed by the calibration module108based on measurements of the extended test patch set provided by the test patch measurement module114. This analysis may result in calibration parameters being determined separately for each cluster of print modules identified by the clustering module112as an output of the first stage of the calibration process.

FIG. 5illustrates a method of performing a two stage calibration process according to examples that may be implemented on a printing device as shown inFIG. 1. According to the method500ofFIG. 5, in a first stage502a first, initial test patch set of a relatively small number of patches per print module is printed504for each print module or die104. For example, the initial test patch set may comprise a test patch for each primary color of the print die and a blank control patch. The first test patch set is then analyzed506to identify print modules having substantially identical performance. The print modules can then be grouped into clusters508of similarly performing print modules based on the analysis of the first test patch set.

According to some examples, a hierarchical agglomerative clustering approach is taken to determining the clusters of similarly performing print modules. In this approach, the measurements of the initial test patch set for each print module may be evaluated by the clustering module112to calculate a distance metric, for example based on the International Commission on Illumination (CIE) DE2000 distance metric, between the measured performance and a predetermined reference performance for the print modules. The hierarchy may then be progressively built from the individual data points associated with the print modules by progressively merging clusters based on the distance metric.

For example, in a first stage the two closest elements, according to the chosen distance metric are merged to form a cluster. At each subsequent iteration, the next two nearest elements or clusters are merged until a certain number of clusters is reached, or a distance between the clusters exceeds a certain value.

Once the HAC tree has been generated a cutoff value for the distance metric can be applied to determine the print module clusters to be used for the second calibration stage502.

In the example HAC tree ofFIG. 2, based on the 95thpercentile CIEDE2000 difference metric, pairs of elements and then clusters can be seen to be combined to generate the tree. Applying a cutoff value of 0.8 results in clusters comprising die regions 6 and 5; 4, 10, and 16; 11, 12, 15, and 3; etc.

In some examples, another difference metric may be used to generate a HAC tree, such as a median CIEDE2000 difference value as illustrated inFIG. 3.

In a second stage510, an extended test patch set is printed512for each of the clusters identified in the first stage, with the number of test patches in the extended set distributed over the modules of each cluster. The extended test patch set is then analyzed514to determine a difference between the actual output of the print modules of the cluster and the desired calibrated output to allow calibration parameters to be determined for each cluster.

Once the calibration parameters have been determined, the printer control unit108may apply the calibration parameters when providing control signals to the printbar102when printing an output image to the print media106.

FIG. 6illustrates a method600according to further examples. According to the method ofFIG. 6, following the identification of print module clusters in the first stage502of the method ofFIG. 5, a cluster of print modules having a performance that substantially matches a predetermined reference performance level (i.e. a calibrated state of the printing apparatus) is identified602. The identified cluster may then be marked604as not requiring calibration in the second stage510of the calibration process. The print modules of the marked cluster may then be ignored during the second stage, not requiring any test patches to be printed for that cluster, or may be used to provide further reference control data for comparison with the clusters of print modules still to be calibrated.

The second stage of the calibration process may then be performed510taking into account any cluster of print modules marked as not requiring calibration. The calibration parameters determined based on the second test patch set may then be applied606to the printing apparatus to provide a calibrated output.

While examples have been described in the context of a PWA printer, other examples may be suited to use with any printing device that includes number of individual print modules or dies requiring separate calibration.

Examples described herein may be implemented into a printing apparatus using any suitably configured hardware and/or software. For example, printer control unit108may comprise one or more processing resources operable to execute instructions stored in a memory and configured to implement the calibration method described above.

In the above disclosure, the determination of calibration parameters for the print modules has been discussed. The person skilled in the art will understand that the application of the calibration parameters may take the form of a mathematical procedure (such as an algorithm or Look-Up-Table) applied to data representing image color or a quantity of ink to be applied for a pixel. In another example, the calibration parameters may affect physical control signals applied to a specific nozzle, for example a voltage, time or intensity of a control signal applied to a nozzle.