Printhead calibration and printing
09630401 ยท 2017-04-25
Assignee
Inventors
- Andrew John Clippingdale (Royston, GB)
- Peter James Brown (Royston, GB)
- Ewan Hendrik Conradie (Royston, GB)
- Ammar Lecheheb (Royston, GB)
- John Lawton Sharp (Royston, GB)
- Robin Timothy Bacon (Royston, GB)
Cpc classification
B41J2/065
PERFORMING OPERATIONS; TRANSPORTING
B41J2/04586
PERFORMING OPERATIONS; TRANSPORTING
International classification
B41J2/065
PERFORMING OPERATIONS; TRANSPORTING
B41J2/045
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The invention relates to a method of printing a two-dimensional bit-mapped image having a number of pixels per row, the printhead having a row of ejection channels and each ejection channel having associated ejection electrodes to which voltages are applied in use. During printing, in order to cause volumes of fluid to be ejected from selected ejection channels of the printhead for printing, voltage pulses having values of predetermined amplitude and duration as determined by respective image pixel bit values generated by a raster image processor are applied, at a given pulse period, to the electrodes of the selected ejection channels. The part of the raster image corresponding to an ejection channel is scanned to determine the number of adjacent non-printing pixel periods prior to a pixel to be printed and, immediately prior to the printing of said pixel, a voltage pulse, having a value predetermined in accordance with the time, measured in units of the given pixel period, between the last pixel to be printed and said pixel to be printed, is applied to the ejection electrode.
Claims
1. A method of printing a two-dimensional bit-mapped raster image having a number of pixels per row, using a printhead having a row of ejection channels, each ejection channel having associated ejection electrodes to which voltages are applied in use, and wherein, during printing, in order to cause volumes of fluid to be ejected from selected ejection channels of the printhead for printing, voltage pulses having values of predetermined amplitude and duration as determined by respective image pixel bit values generated by a raster image processor are applied, at a given pulse period, to the electrodes of the selected ejection channels, wherein the part of the raster image corresponding to an ejection channel is scanned to determine the number of adjacent non-printing pixel periods prior to a pixel to be printed and, immediately prior to the printing of said pixel, a voltage pulse, having a value predetermined in accordance with the time, measured in units of the given pixel period, between the last pixel to be printed and said pixel to be printed, is applied to the ejection electrode.
2. A method according to claim 1, wherein the parts of the raster image corresponding to each ejection channel are scanned to determine the number of adjacent nonprinting pixel periods prior to a pixel to be printed and, immediately prior to the printing of said pixel, a voltage pulse, having a value predetermined in accordance with the time, measured in units of the given pixel period, between the last pixel to be printed and said pixel to be printed, is applied to the corresponding ejection electrode.
3. A method according to claim 1 wherein the time duration of the voltage pulses applied immediately prior to the printing of said pixel are limited to the pixel period or to the pulse length of said pixel.
4. A method according to claim 1, wherein the predetermination of the voltage pulse values is carried out in a calibration process in which one or more printing patterns are printed, each of which contains one or more columns of pixels, comprising continuously printing pixels followed by a number of adjacent nonprinting pixels followed by a further pixel or pixels, in the direction of print (P) that the printhead moves relative to a substrate and which together or individually contain a range of non-printing distances between the continuously printed pixels and the further pixel or pixels.
5. A method according to claim 4, in which the or each printed pattern is scanned and the position of the start of each of said further pixels is determined or measured in relation to a datum position corresponding to the ideal or desired print position.
6. A method according to claim 5, in which the printed pattern is scanned and the position of the start of each said further pixels is determined or measured in relation to a datum position corresponding to the ideal or desired print position for at least one channel of the printhead and estimated for the remaining channels of the printhead.
7. A method according to claim 6, wherein the estimation is calculated from said measurement from the at least one measured channel of the printhead combined with predetermined data for the steady-state print density variation across the printhead.
8. A method according to claim 5, further including an interpolation step carried out by interpolating between the determined or measured values to estimate the start positions for all numbers of non-printing pixels over a predetermined range.
9. A method according to claim 5, wherein the position data, expressed in terms of the 8-bit pulse length value of a pixel (where 0 to 255 represents a pulse of 0 to 100% of the pixel period), is saved to memory in the form of one or more look-up tables relating the number of non-printing pixels to the subsequent start position delay in pixel length value or, respectively, relating the number of printing pixels to the subsequent stop position delay in pixel length value.
10. A method according to claim 9, wherein an operational printing speed differs from the speed at which calibration patterns were printed, and wherein the data held in the look-up table is scaled before being applied to the pixels by multiplying the data values by a function of the ratio operational printing speed/calibration pattern printing speed to produce an intermediate set of values and interpolating between rows of the subsequent table to produce a replacement look-up table having rows corresponding to integer entries which replace the rows of the original table.
11. A method according to claim 9, wherein one or more of the look-up tables is contained in a memory forming part of the printhead.
12. A method according to claim 9, wherein the data in the one or more look-up tables is applied to the pixels of the image to be printed.
13. A method according to claim 1, wherein when a continuous line of pixels is to be printed from an ejection channel in the direction of printing, normal to the direction of the row of ejection channels, the pixel bit values of a preselected number of pixels last to be printed in the line are decreased in accordance with a predetermined calibration schema.
14. A method according to claim 13, wherein the parts of the raster image corresponding to each ejection channel are scanned to determine the number of adjacent printing pixel periods prior to a non-printing pixel and, the pixel bit values of the preselected number of printing pulses applied to the corresponding ejection electrode for the pixels last to be printed prior to the non-printing pixel are reduced in dependence on the number of adjacent printing pixel periods prior to the non-printing pixel.
15. A method according to claim 14, wherein the reduction of the pulse value is predetermined in a calibration process in which one or more printing patterns are printed, each of which contains one or more columns of pixels, comprising continuously printing pixels followed by a non-printing pixel, in the direction of print (P) that the printhead moves relative to a substrate, and which together or individually contain a range of printing distances.
16. A method according to claim 15, in which the or each printed pattern is scanned and the position of the end of each of said pixel last to be printed is determined or measured in relation to a datum position corresponding to the ideal or desired print position.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Examples of methods and apparatus according to the present invention will now be described with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
DETAILED DESCRIPTION
(22) Before describing an example of the method according to the invention, it may be useful to describe the two methods generally usable to control the volume of droplets printed (or ejected) using the Tonejet method.
(23)
(24)
(25) The value of P.sub.n of the bitmap pixel to be printed corresponds to a duty cycle (of the ejection pulse) between 0% and 100%. Typically, when printing at a resolution of 600 dpi and with relative motion between the print substrate (not shown) and the printhead 1 being at a speed of 1 ms.sup.1, this equates to a pulse length of between 0 and 42 s on a 42 s pulse repetition period.
(26) Of the alternative techniques depicted in
(27) In practice of course, a printed colour image is produced by using (say) four printheads, each of which is used to print one of the four conventional colour components (CMYK). The following description applies to each printhead, and the calibration process is repeated for each printhead. For simplicity the process is described once only.
(28) As defined above, immediately prior to the printing of a pixel after a number of non-printing pixels, a voltage pulse, having a value predetermined in accordance with the time, measured in units of the given pulse period, between the last pixel to be printed and the pixel to be printed, is applied to the ejection electrode. In some cases the method produces multiple pre-pixel voltage pulses. In order to determine the value of the compensating voltage pulse(s) for these pixel(s) a calibration process is carried out before the printhead is first used and may be repeated from time to time to maintain the highest quality of print from the printhead.
(29) The calibration process will now be described.
(30) The calibration function is obtained for the printhead with a given ink by printing test pattern(s) that contain a range of non-printing distances prior to starting to print again. Examples of suitable patterns are shown in
(31) The patterns A & B each comprise 14 columns of pixels 100 each four pixels wide and 600 pixels long (25.4 mm) in the direction of print P that the printhead moves relative to the substrate, spanning part of the width of the printhead, in this case 116 pixels wide (4.87 mm), each column comprising continuously printing pixels followed by a number of non-printing pixels (illustrated by the white areas above the printed part of each column 100). The number of non-printing pixels varies from left to right as shown below pattern B (only) in
(32) The printed pattern A is then scanned and the position of the start of each block 101 is determined/measured in relation to a datum position corresponding to the ideal or desired print position.
(33) The patterns A & B are then reprinted at the same print speed applying compensation to the pixel pulse values based on the values from LUT1. In this process the raster image processor (RIP) software generates virtual pre-pixels according to the data in the look-up table LUT1 by scanning along each line of image pixels in the print direction, counting the number of white (non-printing) pixels since the last printing pixel until another printing pixel is reached. LUT1 is then referenced to obtain the start delay value for the associated number of non-printing pixels. The RIP translates start delay into a number of discrete pixel values. In the simplest case, a single pre-pixel is generated whose pulse value represents a pulse length identical to the start delay value in LUT1. For delays of longer than a pixel period, the first pre-pixel pulse is set to the maximum length (value 255) and a second pre-pixel is generated immediately preceding the first with a pulse length that is the difference between the delay and the first pre-pixel length, so that the sum of the two discrete pre-pixel pulse lengths is equal to the associated LUT1 delay value. This may extend to a third or further pre-pixel pulses as necessary. This scheme is shown in the plots of
(34) Next, the start-up positions of pattern A are re-measured to ensure that they form a straight line and that the single-pixel dashes of pattern B are uniformly printed. Image B is a more sensitive measure of the correct calibration of the method. If there is non-uniformity between the single-pixel dashes, the values of the measured position delay stored in LUT1 can be iterated and the patterns reprinted until uniformity meets the desired level.
(35) If the printhead is to be used for greyscale printing, it is advantageous to print test pattern B using the minimum grey level dot size and iterate the values of LUT1 to achieve uniform printing of the dashes at this grey-level. This is done for two reasons: firstly, the printing of low grey levels has been found to be more sensitive than higher levels to calibration of history effects and, secondly, the most common areas of a photographic style image in which history compensation will be invoked are areas composed of distributions of the minimum grey-level pixels and non-printing pixels. Such areas arise from the process of screening of a continuous-tone greyscale image to be rendered from a number of discrete dot sizes. If D.sub.min is the optical density of a printed area where all pixels are printed with the minimum chosen dot size, then areas with density less than D.sub.min (paler tones) will be composed of patterns or randomised distributions of the minimum dot size and non-printing pixels, whereas areas with density greater than D.sub.min (darker tones) will generally consist of distributions of two neighbouring dot sizes with no non-printing pixels. Hence, history compensation may be invoked in the former distributions because of the unprinted pixels and likely not in the latter distributions which have no unprinted pixels. Using the minimum greylevel to print test pattern B therefore provides the most accurate calibration of the technique.
(36) The process described above for creating pre-pixel pulses that sum to the start delay in this way is appropriate for a pulsing scheme that generates pre-pulses with fixed trailing edge positions and variable leading edge positions to control the pulse length. As the correction value increases, the leading edge advances until a full-length pre-pulse is reached; a further increase in the correction value generates a second pre-pulse before the first, which is discrete but contiguous with the first and extends further forwards. This is illustrated in
(37) The end result of the start-up calibration process can be seen by the illustration in
(38) The technique is not limited to the particular pulsing scheme described and will work equally well if pulses are aligned at their leading edges or centres for example, albeit that an adjustment is made to the pre-pixel pulse values to account for the resulting space between pulses of less than full length. Hence a different set of pre-pulse lengths will achieve the same compensation under different pulsing schemes. For example, a leading-edge-synchronised scheme (as illustrated in
(39) A variation of the process that is advantageous for greyscale printing involves limiting the value of the compensating pre-pixels to less than or equal to the value of the printing pixel that follows the non-printing space (the target pixel). This has been found to be advantageous to the reproduction of pale areas of print that consist of distributions of the minimum greylevel dot-size chosen to render the image, as described earlier.
(40) In this variation of the process, the way in which the delay values held in LUT1 are translated into pre-pulses is the same as described earlier, except that the maximum permitted value for any compensating pre-pixel is determined by the target pixel and not the value of 255. According to this schema (and using the case where the maximum pre-pixel is equal to the target pixel value) the first pre-pixel is generated using the compensation value from LUT1 in the normal way, except if the LUT1 value is greater than the target pixel value, in which case the first pre-pixel is assigned the target pixel value and the remainder of the compensation value is used to generate the second pre-pixel; if this also reaches the value of the target pixel, a third pre-pixel is generated, and so on. The result is a series of pre-pixels that are generally greater in number, but smaller in value than in the previously described schema, as illustrated in
(41) Because pre-pixel pulses resulting from this schema are not contiguous in time, an adjustment to the pre-pixel pulse values may be made to prevent discontinuities in the compensation occurring as one pre-pulse extends to two, two extends to three, and so on. This involves increasing the values of short pre-pulses in a way similar to the fixed leading edge example illustrated in
(42) To achieve good calibration of this schema, the printing of test pattern B (or similar pattern of equivalent function) is performed at the minimum grey level using this compensation method and the values of LUT1 iterated if necessary to produce uniform printing of the single-pixel dashes.
(43) Just as a delay in start-up of the ejection can be observed, so a delay in turn-off can exist. That is, a continuation of ejection from a channel after the end of a block of printing, which is chiefly dependent on the strength of ejection from that channel. This may be compensated by reducing the value of the final pixel before turn-off dependent on the recent history of print pulses to that channel.
(44) This process may be considered the inverse of the start-up correction and may be calibrated in a similar way but using an inverted form of the test patterns of
(45) As for the previously described process for applying LUT1, the RIP scans the unmodified primary image bitmap to identify the pixels to which to apply the stop-delay correction. The respective modifications of pixel values by these two processes are independent, start-up correction only modifying non-printing pixel values and stop-correction only modifying printing pixel values. The modification of pixel values by LUT2 can therefore be applied to the secondary image bitmap values that have already had LUT1 applied.
(46) The compensations described above have all been appropriate for the case where the operational print speed s.sub.O is constant and equal to the speed s.sub.C at which the calibrations were originally performed. However, operational speeds different from the calibration speed can be accommodated by scaling of the LUTs that contain the calibration results, without the need for performing a new calibration. In the simplest case, scaling of LUT1 and LUT2 is achieved by multiplying the values in both columns by the ratio s.sub.O/s.sub.C and interpolating between rows of the subsequent table to produce rows corresponding to integer entries in column 1, which replace the original rows of the table. In practice it may be necessary to scale the columns of the LUTs using more complex functions of s.sub.O/s.sub.C arrived at from measurement of print performance of the system at different speeds. One example is the nth order polynomial expression:
(47)
(48) Where A.sub.i are constants arrived at from measurement of the print performance. Usually it is sufficient for n in this expression to be no higher than 2.
(49) The compensations described above may be applied uniformly across an entire printhead or may be calibrated independently for smaller sections of the printhead. In the limit, the history-dependent behaviour of individual channels of a printhead may be independently calibrated. This may be achieved with the use of test patterns that have a range of non-printing lengths followed by single pixels and lines of differing grey levels to allow measurement of individual channel characteristics. In such cases the compensation data is held look-up tables that have an additional dimension for channel number or section of the printhead (an example of which is shown in
(50) Furthermore it has been found that the process of calibrating the steady-state print density uniformity of a printhead as described in European patent application EP12184681.0 yields data which can usefully be applied to the independent calibration of history correction of the channels of a printhead. It has been found that variation in dynamic performance across a printhead follows a similar pattern to the variation in steady-state performance as described in EP12184681.0. It has been found that channel-by-channel compensation of history effects can be successfully achieved by using the print density calibration data to modify the history compensation calibration values for individual channels or groups of channels across a printhead, allowing a single history calibration process performed at one location on a printhead to be used in conjunction with the print density calibration data to estimate the history correction calibration data for channel-dependent history compensation across the whole printhead.
(51) There follows a description of this process which is performed as part of the one-off initial calibration of a printhead. The print density calibration process of EP12184681.0 yields a family of curves of pulse length versus printhead channel number comprising one curve for each grey level (see
(52) In operation of a printhead calibrated in accordance with the methods described above, as shown in
(53) In the case where multiple printheads are employed to print each colour separation, for example where printheads are joined end to end to span a substrate that is wider than the individual head width, or interleaved to provide a greater number of dots-per-inch across the substrate than the spacing of the printhead ejectors, the bitmaps 412 are separated, at step 413, into strips to create data sets 414A, 414B, etc., corresponding to the individual printheads.
(54) In the case where multiple passes of the printhead(s) over the substrate are used to build up the print, the bitmaps 412 are separated, at 413, into strips to create data sets 414A, 414B corresponding to individual passes of the printhead(s).
(55) The bitmap data 414A (only that for the first pass/head A is shown for convenience) is then processed by the RIP software 403 to apply history corrections at step 415 to the head bitmap data 414A based upon the predetermined values of start delay and stop delay held in LUT1 and LUT2 respectively, in step 417. The RIP software does this as described previously by scanning along lines of pixels in the print direction, generating pre-pixels of values determined by LUT1 in response to contiguous sets of non-printing pixels to correct start delay and reducing the values of final pixels in a group of printing pixels as determined by LUT2 to correct for turn-off delay.
(56) For a printer operating at fixed speed equal to the speed at which the initial history calibration was performed, the values held in the look-up tables LUT1 and LUT2 are those values arrived at from the calibration process. In the case of a variable speed printer or a printer operating at a different speed to that at which the calibration test patterns were printed, the values in LUT1 and LUT2 are dynamically updated as previously described according to the measured print speed derived from the substrate position encoder 416.
(57) The history-compensated bitmap data 418 is stored in memory 421. It is subsequently transferred in step 419, according to the relative position of the print substrate and the printheads (as determined by the shaft encoder 416), to the pulse generation electronics 420. Here the incoming bitmap data is used to generate, step 422, voltage pulses of corresponding duration which are applied to the individual printhead ejection channels.