Patent Publication Number: US-2023158793-A1

Title: Selective assignment of print data to calibration tables in accordance with substrate advancement skew

Description:
BACKGROUND 
     Printing devices output print material onto a print substrate to form images on the print substrate. Some printing devices eject fluid, such as ink, onto a substrate, such as paper, to form the images. Such fluid-ejection devices, which can include inkjet-printing devices, may operate in one of two ways. 
     First, a fluid-ejection device may have a scanning carriage on which one or multiple fluid-ejection printheads are disposed. A print substrate is advanced under the carriage and then remains stationary as the carriage scans back and forth over a current swath of the substrate to eject fluid onto the swath. The substrate is then advanced to the next swath onto which fluid is to be ejected. 
     Second, a fluid-ejection device may employ a print bar on which a pagewide array (PWA) of fluid-ejection printheads is disposed. Such a PWA of printheads can simultaneously eject fluid onto entire swaths of a print substrate as the substrate advances under the print bar. The print bar therefore does not have to scan back and forth over a current swath of the substrate, and printing occurs more quickly. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS.  1 A and  1 B  are diagrams of an example printing device having a pagewide array (PWA) of printheads. 
         FIGS.  2 A and  2 B  are diagrams depicting example selective assignment of print data to calibration tables corresponding to a PWA of printheads of a printing device. 
         FIGS.  3 A and  3 B  are flowcharts of an example method for selectively assigning print data to calibration tables corresponding to a PWA of printheads of a printing device and printing of the print data by the printheads after application of the calibration tables. 
         FIG.  4    is a diagram of an example non-transitory computer-readable data storage medium. 
     
    
    
     DETAILED DESCRIPTION 
     As noted in the background, a printing device can include a pagewide array (PWA) of printheads that print on swaths of a print substrate as the substrate is advanced under the print bar. The PWA of printheads of such a printing device thus is and remains stationary while printing occurs, in comparison to a printing device that employs a scanning carriage that scans across a current swath of a print substrate to print on the swath as the substrate temporarily remains stationary. The PWA is nominally perpendicular to the direction in which the print substrate advances under or past the printheads during printing. 
     However, in actuality, due to manufacturing tolerances and other reasons, the PWA of printheads of a printing device may purposefully or inadvertently deviate, or skew, from true perpendicular to the direction of substrate advancement. Deviation of the PWA from true perpendicular to the substrate advancement direction can affect the quality of the images printed by the printing device. For instance, calibration tables corresponding to the printheads and which differ by printhead may be incorrectly applied. Such calibration tables can include closed-loop calibration (CLC) tables compensating for different drop weights of the printheads. 
     For example, print data may be organized over rows and columns. Because the PWA is nominally perpendicular to the direction of print substrate advancement, the same columns of print data may be assigned the same calibration tables, regardless of row. The calibration table assigned and applied to a column of print data is that which corresponds to the printhead expected to print the column, under the assumption that there is no substrate advancement skew relative to the PWA. Because in actuality there may be skew, the calibration table for a printhead may be applied to a column of print data that is actually printed by a neighboring printhead, for a given row of print data. Since the calibration tables can differ by printhead, print defects in the form of visible banding artifacts may occur. 
     Techniques described herein alleviate these issues. The columns of each row of print data are selectively assigned to calibration tables respectively corresponding to the printheads of the PWA in accordance with a substrate advancement skew relative to the PWA. Therefore, the calibration table assigned and applied to a column of print data is that which corresponds to the printhead that actually prints the column, and is row-dependent. The techniques thus compensate for skew in calibration table application to print data, reducing if not eliminating print defects such as visible banding artifacts that otherwise may occur. 
       FIGS.  1 A and  1 B  are diagrams of an example printing device  100  having a PWA  102  of printheads  104 A,  104 B,  104 C, and  104 D, which are collectively referred to as the printheads  104 . In the example, there are four printheads  104 . More generally, however, there are at least two printheads  104 . For instance, there may be just two printheads  104 , or there may be more than two printheads  104 , including three printheads  104 , four printheads  104  as in the example, or more than four printheads  104 . 
     The printing device  100  further includes control circuitry  106 . The control circuitry  106  may be considered as including a processor and memory. The processor and memory may be integrated within an application-specific integrated circuit (ASIC) in the case in which the processor is a special-purpose processor. The processor may instead be a general-purpose processor, such as a central processing unit (CPU), in which case the memory may be a separate semiconductor or other type of volatile or non-volatile memory. 
     The control circuitry  106  selectively applies calibration tables  108 A,  108 B,  108 C,  108 D, which are collectively referred to as the calibration tables  108 , and which respectively correspond to the printheads  104 . That is, the calibration table  108 A corresponds to the printhead  104 A, the calibration table  108 B corresponds to the printhead  104 B, and so on. The control circuitry  106  selectively applies the calibration tables  108  to print data prior to the printheads  104  printing the print data on a print substrate  110  as the substrate  110  advances under the PWA  102  in the substrate advancement direction  112 . 
     The print substrate  110  has a skew  114  relative to the PWA  102  in advancing in the substrate advancement direction  112 , which is referred to as the substrate advancement skew  114 . In  FIG.  1 A , the skew  114  is clockwise, in that the substrate  110  is rotated clockwise relative to the PWA  102 . By comparison, in  FIG.  1 B , the skew  114  is counterclockwise, in that the substrate  110  is rotated counterclockwise relative to the PWA  102 . 
     The substrate advancement skew  114  relative to the PWA  102  may be specified in a variety of different ways. The skew  114  may be specified by a skew angle from which the PWA  102  deviates from true perpendicular to the substrate advancement direction  112 . The skew  114  may be specified by a number of millimeters, either positive or negative, by which the substrate  110  shifts perpendicular to the PWA  102  for every number of meters of substrate advancement in the direction  112 . For instance, a skew  114  of 0.004 degrees, which is just over 1/100,000 of a full circle, can result in a deviation of three pixels over a one-meter swath. 
     The control circuitry  106  specifically assigns and applies to the print data the calibration tables  108  corresponding to the printheads  104  that will actually print the print data on the print substrate  110  as the substrate  110  advances under the PWA  102  in the substrate advancement direction  112 . That is, the control circuitry  106  assigns and applies the calibration tables  108  to the print data in a manner that compensates for the substrate advancement skew  114  relative to the PWA  102 . Such skew-compensating calibration table application ensures that print defects such as banding artifacts that would otherwise result from the skew  114  do not in fact occur, or at least are reduced. 
       FIGS.  2 A and  2 B  show example selective assignment of print data  200  to the calibration tables  108  corresponding to the printheads  104  of the printing device  100 .  FIG.  2 A  corresponds to the clockwise skew  114  of  FIG.  1 A , whereas  FIG.  2 B  corresponds to the counterclockwise skew  114  of  FIG.  1 B . In both figures, the print data  200  is organized over rows  202 , from a first row  202 A to a last row  202 N, and columns  204 , from a first column  204 A to a last column  204 M. The number of rows  202  can be greater than, equal to, or less than the number of columns  204 . 
     The print data  200  is divided into portions  206 A,  206 B,  206 C, and  206 D, which are collectively referred to as the portions  206 , and which respectively correspond to the printheads  104  that print and to the calibration tables  108  that are applied to the portions  206 . The calibration table  108 A is thus applied to the portion  206 A and the portion  206 A is printed by the printhead  104 A, and the calibration table  108 B is applied to the portion  206 B and the portion  206 B is printed by the printhead  104 B. Similarly, the calibration table  108 C is applied to the portion  206 C and the portion  206 C is printed by the printhead  104 C, and the calibration table  108 D is applied to the portion  206 D and the portion  206 D is printed by the printhead  104 D. 
     Adjacent portions  206  are divided by boundary columns  208 A,  208 B, and  208 C, which are collectively referred to as the boundary columns  208 . The boundary column  208 A divides the adjacent portions  206 A and  206 B. The boundary column  208 B divides the adjacent portions  206 B and  206 C. The boundary column  208 C divides the adjacent portions  206 C and  206 D. The number of boundary columns  208  is thus equal to one less than the number of printheads  104  (and therefore also to the number or calibration tables  108 ). In the example, because there are four printheads  104  and four calibration tables  108 , there are three boundary columns  208 . 
     From the first row  202 A to the last row  202 N, the boundary columns  208  each rotate by the same magnitude but in the opposite direction as the media advancement skew  114 . For instance, whereas the media advancement skew  114  relative to the PWA  102  in  FIG.  1 A  is clockwise, the boundary columns  208  of  FIG.  2 A  correspondingly rotate by the same magnitude but counterclockwise. Similarly, whereas the skew  114  relative to the PWA  102  in  FIG.  1 B  is counterclockwise, the boundary columns  208  of  FIG.  2 B  correspondingly rotate by the same magnitude but clockwise. 
     Rotation of the boundary columns  208  from the first row  202 A to the last row  202 N ensures that the calibration table  108  applied to each column  204  corresponds to the printhead  104  that actually prints the column  204  in question for each row  202 . The print data  200  is printed on the substrate  110  on a row-by-row basis, starting with the first row  202 A. In the example, each printhead  104  prints the same number of columns  204  of print data  200  in the first row  202 A, and thus the boundary columns  208  divide the first row  202 A into equal numbers of columns  204 . 
     However, as the substrate  110  advances in the direction  112  and as subsequent rows  202  are printed, in  FIG.  2 A , fewer columns  204  are printed by the printhead  104 A and more columns  204  are printed by the printhead  104 D, as a result of the clockwise skew  114  in  FIG.  1 A . Therefore, the calibration table  108 A is correspondingly applied to fewer columns  204  and the calibration table  108 D is correspondingly applied to more columns  204 . Conversely, in  FIG.  2 B , more columns  204  are printed by the printhead  104 A and fewer columns  204  are printed by the printhead  104 D, as a result of the counterclockwise skew  114  in  FIG.  1 B . Therefore, the calibration table  108 A is correspondingly applied to more columns  204  and the calibration table  108 D is correspondingly applied to fewer columns  204 . 
       FIGS.  2 A and  2 B  thus illustrate how print data  200  is selectively assigned to the calibration tables  108  in accordance with the substrate advancement skew  114  relative to the PWA  102 . For each row  202 , the columns  204  are selectively assigned to the calibration tables  108  corresponding to the printheads  104  that will actually print the print data  200 , and therefore account for the skew  114 . The rotation of the boundary columns  208  in accordance with the skew  114  ensures that the print data  200  is divided into portions  206  accurately corresponding to which printhead  104  will print each portion  206  and which calibration table  108  is to be applied to that portion  206 . 
     In the example, the boundary columns  208  linearly rotate from the first row  202 A to the last row  202 N in accordance with the skew  114 . However, such rotation may not be linear. For instance, the boundary columns  208  may rotate in stepwise fashion, such that for every specified number of rows  202 , the boundary columns  208  shift to the left in  FIG.  2 A  and to the right in  FIG.  2 B  by a specified number of columns  204 . That is, after the first X number of rows  202 , the boundary columns  208  may shift by Y number of columns  204 ; after the next X number of rows  202 , the boundary columns  208  may again shift by Y number of columns  204 , and so on. The smaller the skew  114  is, the larger the X number of rows  202  is in relation to the Y number of columns  204  in this example. 
       FIGS.  3 A and  3 B  show an example method  300  for selectively assigning print data  200  to calibration tables  108  corresponding to a PWA  102  of printheads  104  of a printing device  100  and printing of the print data  200  by the printheads  104  after application of the calibration tables  108 . The method  300  can be performed by the control circuitry  106  of the printing device  100 . The method  300  can be implemented as program code stored on a non-transitory computer-readable data storage medium, such as a memory, storing program code and executable by a processor, such as that of the control circuitry  106 . 
     The method  300  includes setting a number-of-rows threshold and a number-of-columns adjustment according to the substrate advancement skew  114  relative to the PWA  102  ( 302 ). The number-of-columns adjustment specifies the number of columns  204  by which the boundary columns  208  are to shift each time the print substrate  110  has advanced in the direction  112  by a number of rows  202  equal to the number-of-rows threshold. The number-of-rows threshold is positive. The number-of-columns adjustment is negative for a clockwise skew  114  and positive for a counterclockwise skew  114  where the columns  204  span from a first column  204 A to a last column  204 M from left to right. 
     The magnitude of the number-of-columns adjustment divided by the magnitude of the number-of-rows threshold is equal to the tangent of the angle of the skew  114 . The number-of-columns adjustment and the number-of-rows threshold may be whole numbers. In the example, the number-of-columns adjustment and the number-of-rows threshold are each specified once, in the case in which the substrate advancement skew  114  is static (and thus linear). However, in the case in which the skew  114  is dynamic (and thus curved), the number-of-columns adjustment and the number-of-rows threshold may each be periodically specified, as the skew  114  changes, for instance. 
     The method  300  includes, for each pair of adjacent printheads  104 , initially setting a corresponding boundary column  208  ( 304 ). Specifically, a pair of adjacent printheads  104  includes a first printhead  104  and a second printhead  104 . The boundary column  208  corresponding to the pair is set to the column  204  before which the first printhead  104  prints a preceding column  204  of the first row  202 A of print data  200  and after which the second printhead  104  prints a succeeding column  204 . 
     The number of columns  204  of the first row  202 A of print data  200  to be printed by a pair of adjacent printheads  104  may be even or odd in number. If the number of columns  204  is even, then the number of columns  204  to be printed by the first printhead  104  is equal to the number of columns  204  to be printed by the second printhead  104 . The boundary column  208  is assigned as the last column  204  in the first row  202 A to be printed by the first printhead  104  or as the first column  204  in the first row  202 A to be printed by the second printhead  104 . In the former case, the boundary column  208  itself is thus printed by the first printhead  104 , whereas in the latter case, the boundary column  208  is printed by the second printhead  104 . 
     If the number of columns  204  of the first row  202 A to be printed by a pair of adjacent printheads  104  is odd, then the number of columns  204  to be printed by the first printhead  104  is one more or one less than the number of columns  204  to be printed by the second printhead  104 . In the former case, the boundary column  208  is assigned as the last column  204  in the first row  202 A to be printed by the first printhead  104  and is printed by the first printhead  104 . In the latter case, the boundary column  208  is assigned as the first column  204  in the first row  202 A to be printed by the second printhead  104  and is printed by the second printhead  104 . 
     For example, the pair of adjacent printheads  104 B and  104 C include a first printhead  104 B and a second printhead  104 C. The corresponding boundary column  208 B is set such that the printhead  104 B prints the column  204  in the first row  202 A immediately before the boundary column  208 B and the printhead  104 C prints the column  204  in the first row  202 A immediately after the boundary column  208 B. The boundary column  208 B itself may be assigned to either the printhead  104 B or  104 C. 
     The method  300  includes resetting a row counter ( 306 ), which is used to track each time the print substrate  110  has been advanced by a number of rows  202  equal to the number-of-rows threshold and such a number of rows  202  have been printed. The method  300  also includes setting a current row  202  to the first row  202 A of print data  200  to be printed ( 308 ). In the example, the method  300  includes then receiving the current row  202  of print data  200 , from the first column  204 A to the last column  204 M ( 310 ). However, in another implementation, all the rows  202  of print data  200  may be received at the same time. That print data  200  organized over rows  202  and columns  204  is received encompasses both implementations. 
     The method  300  includes assigning the columns  204  of the current row  202  before the boundary column  208  for the first pair of adjacent printheads  104  to the first calibration table  108  corresponding to the first printhead  104  of the PWA  102  ( 312 ). For example, the columns  204  of the current row  202  before the boundary column  208 A for the first pair of adjacent printheads  104 A and  104 B are assigned to the first calibration table  108 A corresponding to the first printhead  104 A of the PWA  102 . 
     The method  300  includes assigning the columns  204  of the current row  202  after the boundary column  208  for the last pair of adjacent printheads  104  to the last calibration table  108  corresponding to the last printhead  104  of the PWA  102  ( 314 ). For example, the columns  204  of the current row  202  after the boundary column  208 C for the last pair of adjacent printheads  104 C and  104 D are assigned to the last calibration table  108 D corresponding to the last printhead  104 D of the PWA  102 . 
     The method  300  includes, for each pair of adjacent printheads  104  other than the first and last pairs, assigning the columns  204  of the current row  202  after the boundary column  208  for the previous pair and before the boundary column for the pair to the calibration table  108  for the first printhead  104  of the pair ( 316 ). For example, for the pair of adjacent printheads  104 B and  104 C, the columns  204  of the current row  202  after the boundary column  208 A for the previous pair of adjacent printheads  104 A and  104 B and before the boundary column  208 B for the pair of adjacent printheads  104 B and  104 C are assigned to the calibration table  108 B corresponding to the first printhead  104 B of the pair of adjacent printheads  104 B and  104 C. 
     The method  300  includes, for each pair of adjacent printheads  104  other than the first and last pairs, assigning the columns  204  of the current row  202  after the boundary column  208  for the pair and before the boundary column for the next pair to the calibration table  108  for the second printhead  104  of the pair ( 318 ). For example, for the pair of adjacent printheads  104 B and  104 C, the columns  204  of the current row  202  after the boundary column  208 B for the pair of adjacent printheads  104 B and  104 C and before the boundary column  208 C for the next pair of adjacent printheads  104 C and  104 D are assigned to the calibration table  108 C corresponding to the second printhead  104 C of the pair of adjacent printheads  104 C and  104 D. 
     In the case in which there are four printheads  104  and thus four calibration tables  108 , there is just one pair of adjacent printheads  104  other than the first and last pairs of adjacent printheads  104 . This is because there are three pairs of adjacent printheads  104 : the first pair of adjacent printheads  104 A and  104 B, the second pair of adjacent printheads  104 B and  104 C, and the third (and last) pair of adjacent printheads  104 C and  104 D. By comparison, in the case in which there are more than four printheads  104  and thus more than four calibration tables  108 , there is more than one pair of adjacent printheads  104  other than the first and last pairs of adjacent printheads  104 . 
     Furthermore, in the case in which there are three printheads  104  and thus three calibration tables  108 , there are no pairs of adjacent printheads  104  other than the first and last pairs of adjacent printheads  104 . Therefore, parts  316  and  318  of the method  300  are not performed. By comparison, in the case in which there are two printheads  104  and thus two calibration tables  108 , there is just one pair of adjacent printheads  104 , which is both the first and the last pair of adjacent printheads  104 . Therefore, parts  312  and  314  are each performed in relation to this pair, and parts  316  and  318  are not performed. 
     The method  300  includes incrementing the row counter ( 320 ). In response to the row counter becoming equal to the number-of-rows threshold ( 322 ), the method  300  includes adjusting the boundary column  208  for each pair of adjacent printheads  104  by the number-of-columns adjustment ( 324 ), and resetting the row counter ( 326 ). This boundary column adjustment thus ensures that the columns  204  of subsequent rows  202  of print data  200  are selectively assigned to the calibration tables  108  corresponding to the printheads  104  that will actually print the print data  200 . Each time a number of rows  202  has been selectively assigned to the calibration tables  108 , each boundary column  208  is adjusted. 
     The method  300  includes applying to each column  204  of the current row  202  of print data  200  the calibration table  108  assigned to that column  204  ( 328 ). The method  300  includes then printing each column  204  of the current row  202  of print data using the printhead  104  corresponding to the calibration table  108  assigned (and applied) to that column  204  ( 330 ). That is, the printheads  104  of the PWA  102  print the columns  204  of the current row  202  as the print substrate  110  advances under the PWA  102  in the direction  112  and at the skew  114  relative to the PWA  102 . 
     If the current row  202  is the last row  202 N of print data  200  ( 332 ), the method  300  includes then advancing the current row  202  to the next row  202  of print data ( 334 ), and proceeding back to part  310  with respect to this new current row  202 . Therefore, in effect, while the current row  202  is not past the last row  202 N of print data  200 , parts  310  through  334  are performed. Once the last row  202 N has been printed, the method  300  is finished ( 336 ). 
       FIG.  4    shows an example non-transitory computer-readable data storage medium  400  storing program code  402  executable by a processor, such as that of the control circuitry  106  of the printing device  100 , to perform processing. The processing includes receiving print data  200  organized over rows  202  and columns  204  ( 404 ). The processing includes selectively assigning the columns  204  of each row  202  to calibration tables  108  respectively corresponding to printheads  104  of a PWA  102  in accordance with a substrate advancement skew  114  relative to the PWA  102  ( 406 ). 
     The processing includes applying the calibration tables  108  to the columns  204  of each row  202  respectively assigned to the calibration tables  108  ( 408 ). For example, if there are two calibration tables  108 , the first calibration table  108  is applied to the columns  204  of each row  202  assigned to the first calibration table  108 , and the second calibration table  108  is applied to the columns  204  of each row  202  assigned to the second calibration table  108 . 
     The processing includes printing the columns  204  of each row  202  to which the calibration tables  108  have been applied using the printheads  104  respectively corresponding to the calibration tables  108  ( 410 ). For example, if there are two printheads  104 , the columns  204  of each row  202  to which the first calibration table  108  has been applied are printed using the first printhead  104 , and the columns  204  of each row  202  to which the second calibration table  108  has been applied are printed using the second printhead  104 . 
     Techniques have been described for selectively assigning print data  200  to calibration tables  108  in accordance with substrate advancement skew  114  relative to a PWA  102  of printheads  104 . Therefore, for each row  202  of print data  200 , the columns  204  of the print data  200  are assigned to the calibration tables  108  corresponding to the printheads  104  that are to actually print the columns  204 , taking into account the skew  114 . Print image quality is improved, because for any column  204  of any row  202  of print data  200 , the calibration table  108  corresponding to a printhead  104  other than that which will actually print that column  204  of that row  202  is not incorrectly applied.