Field of the Invention
The present invention relates to a printing apparatus and a driving method therefor.
Description of the Related Art
A printing apparatus includes, for example, a printhead for printing dots on a printing medium, and a conveying roller for conveying the printing medium. For example, in an arrangement in which printing is executed on a printing medium such as a longitudinally long-shaped sheet (roll sheet) while conveying the printing medium, the frictional force between the conveying roller and the printing medium can change due to a change in environment such as heat and humidity. Therefore, the conveying speed of the printing medium may change while printing is executed by conveying the printing medium. This may cause a print position shift by the printhead, thereby degrading the image quality.
Japanese Patent Laid-Open No. 2005-138374 exemplifies a method of correcting the timing of printing of dots in accordance with a change in conveying speed. An example of a method of correcting the timing of printing of dots is a method of delaying printing timings by some nozzle arrays by inserting null data to print data, and synchronizing the printing timings with those by the remaining nozzle arrays. This method is advantageous in improving the image quality since a print position shift caused by a change in conveying speed is corrected.
In some printing apparatuses, a printhead includes two or more nozzle arrays which are used to print dots of the same color and each of which has a plurality of nozzles arranged along a predetermined direction. Print data are distributed to the respective nozzle arrays, and the respective nozzle arrays are simultaneously driven based on the distributed print data. This arrangement is advantageous in improving the print speed since the two or more nozzle arrays are driven in parallel to print dots according to the print data.
Japanese Patent Laid-Open No. 2012-30594 (e.g. FIG. 8C) discloses a technique in which the nozzles of each group of two nozzle arrays are time-divisionally driven, and each nozzle array is time-divisionally driven by shifting the driving timings by a ½ period of time-divisional driving. Similarly, Japanese Patent Laid-Open No. 2012-30594 (e.g. FIG. 11C) discloses a technique in which the nozzles of each group of four nozzle arrays are time-divisionally driven, and each nozzle array is time-divisionally driven by shifting the driving timings by a ¼ period of time-divisional driving.
In the arrangement described in Japanese Patent Laid-Open No. 2012-30594, however, when the conveying speed of a printing medium is increased to improve the throughput, it is necessary to increase the operation speed of each nozzle array (for example, the driving frequency of each nozzle array) so that dots are appropriately printed on the printing medium at a speed corresponding to the conveying speed. This requires the user to change the design of hardware such as the circuit design of a printing apparatus along with a change in operation speed, leading to an increase in manufacturing cost.
The present invention provides a technique for a new driving method of two or more nozzle arrays, which is advantageous in correcting a print position shift while improving the throughput of a printing apparatus by increasing the conveying speed of a printing medium.
One of the aspects of the present invention provides a printing apparatus, comprising a printing unit including at least two nozzle arrays arranged in a first direction, each nozzle array including a plurality of nozzles arranged along a second direction intersecting the first direction, a conveying unit configured to convey, in the first direction, a sheet to be printed, a driving unit configured to drive the printing unit so as to print an image corresponding to print data on the sheet conveyed by the conveying unit and print, on the sheet, an adjusting pattern for acquiring a print position shift amount of a dot in the first direction between the nozzle arrays at a predetermined interval, a reading unit configured to read a printing result by the printing unit on the downstream side of a conveying direction of the sheet with respect to the printing unit, an acquisition unit configured to acquire the print position shift amount between the nozzle arrays based on a result of reading, by the reading unit, the adjusting pattern printed on the sheet while the conveying unit conveys the sheet, and a print data generation unit configured to generate the print data, wherein the print data generation unit performs a first operation of expanding print data onto a memory in correspondence with the first direction and the second direction, a second operation of, in each nozzle array for every column data corresponding to the second direction in the expanded print data, determining some of the plurality of nozzles as non-discharge nozzles so the nozzles do not overlap each other between the nozzle arrays in the first direction, and the remaining nozzles of the plurality of nozzles as discharge nozzles, a third operation of determining print data to be assigned to each nozzle array so that printing of dots corresponding to each column data is completed by printing dots corresponding to the determined non-discharge nozzles of a given nozzle array of the plurality nozzle arrays by the determined discharge nozzles of another nozzle array of the plurality of nozzle arrays, a fourth operation of inserting null data as column data corresponding to the print position shift amount acquired by the acquisition unit to the determined print data, and a fifth operation of distributing the print data to the respective nozzle arrays so as to newly determine discharge nozzles and non-discharge nozzles in response to insertion of the column data of the null data, and print, by the newly determined discharge nozzles, dots corresponding to the print data to which the column data has been inserted.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
A plurality of nozzles are arranged along a predetermined direction in the printhead 110, and ink dots (dots) are printed on the sheet P by discharging ink droplets from the nozzles. The printhead 110 adopts a so-called full-line arrangement, and can perform printing at the full width (for example, about 18 inches) on the sheet P at once.
When the apparatus 100 supports color printing, the ink cartridges 120 are provided in correspondence with respective colors (for example, yellow (Y), magenta (M), cyan (C), and black (K)). In this example, the four ink cartridges 120 are provided. Ink in each ink cartridge 120 is supplied to the printhead 110 via, for example, an ink inlet pipe 150. Note that the color types and the number of colors are not limited to those in this example.
The conveying roller 130 conveys the sheet P in a direction intersecting the array direction of the plurality of nozzles in the printhead 110. In this specification, the array direction of the nozzles will be simply referred to as a “nozzle array direction” hereinafter, and the conveying direction of the sheet P will be simply referred to as a “conveying direction” hereinafter.
Note that only the conveying roller 130 is shown for the sake of simplicity. The apparatus 100 may further include other conveying units. For example, the apparatus 100 includes a paper feed unit for feeding the sheet P to a path for executing printing on the sheet P and each process associated with printing, a plurality of conveying rollers for conveying the sheet P from the paper feed unit, and a plurality of motors for driving the plurality of conveying rollers.
The control unit 140 includes, for example, a CPU 141 and a memory such as a RAM 142 and ROM 143, and controls the respective units of the apparatus 100 based on, for example, a print job including a control command and print data. More specifically, for example, the CPU 141 reads out a program for printing from the ROM 143 and expands it onto the RAM 142, and also expands print data onto the RAM 142, thereby performing data processing based on the program for the print data. The CPU 141 drives the conveying roller 130 while driving the printhead 110 based on the print data having undergone the data processing.
Note that upon start of printing based on the print data having undergone the above data processing, before the printing is completed, preparations for printing based on next print data are started by expanding the next print data onto the RAM 142, and performing the same data processing. By repeating this operation, one or more images corresponding to a print job input to the apparatus 100 are formed on the sheet P without interrupting a print operation.
With the above arrangement, while the sheet P is conveyed in the conveying direction, dots are printed on the sheet P by the respective nozzles of the printhead 110, and images corresponding to the print data are formed on the sheet P. Note that in this specification, an “image” can include a region such as a blank where no dots are printed, in addition to characters, graphics, symbols, and other objects formed by one or more dots, which are formed in an effective region of the roll sheet P. An image formed in a region corresponding to a unit page of the roll sheet P will also be referred to as an “image for one page” or “unit image” hereinafter.
The apparatus 100 further includes a scanner 200 arranged on the downstream side of the conveying direction with respect to the printhead 110. The scanner 200 functions as an inspection unit for inspecting an image formed on the sheet P, and can also function as a reading unit for reading a predetermined test pattern. A CCD or CMOS line sensor or another known optical sensor is used as the scanner 200. Note that the scanner 200 need only be located on the downstream side of the conveying direction with respect to the printhead 110 when the apparatus 100 executes printing, and need not be located on the downstream side while the apparatus 100 executes no printing.
The apparatus 100 may further include a memory card slot 151, an external interface (external I/F) 152, an operation unit 153, and a display unit 154. These units are connected to the control unit 140 via, for example, a system bus, and can exchange print data or a control command. For example, a memory card 155 is inserted to the memory card slot 151, and the control unit 140 can read out print data held in the memory card 155, and perform control based on the print data. For example, the control unit 140 may receive print data via the external interface 152, and control each unit based on the print data. Furthermore, for example, the user can set print information via the operation unit 153, and the control unit 140 may control each unit based on the information. The display unit 154 can display a print status and the state of the apparatus 100, as needed, and the user can refer to the display unit 154.
The element substrate 300 includes a plurality of printing elements e and a logic circuit 310 for driving the plurality of printing elements e. Each of the plurality of printing elements e corresponds to each nozzle nz, and an electrothermal transducer (heater) can be used as each printing element e. The logic circuit 310 specifically includes driver circuits 301, AND circuits 302, a shift register 303, a latch circuit 304, and a block selection circuit 305. In accordance with a signal from the logic circuit 310, each printing element e is driven to generate heat energy, and the corresponding nozzle nz discharges an ink droplet by the heat energy. This is also expressed as “the nozzle is driven”.
The plurality of printing elements e are divided into N groups G, that is, G1 to GN so that each group includes 16 printing elements e (N is an integer of 2 or more). More specifically, a segment number (Seg#) is assigned to each of the plurality of printing elements e, and a given group Gk includes 16 printing elements e of Seg#(16(k−1)+1) to Seg#(16(k−1)+16) (k is an integer of 1 to N).
The element substrate 3001 corresponding to the nozzle array La will be exemplified. In this case, among the 16 printing elements e of the group Gk, the 16 printing elements e of Seg#(16(k−1)+1), Seg#(16(k−1)+2), . . . , Seg#(16(k−1)+16) correspond to the nozzles nz of the nozzle array La.
Block numbers B#1 to B#16 are also assigned to the 16 printing elements e, respectively. For example, in the group Gk, the printing element e of Seg#(16(k−1)+1) belonging to the nozzle array La or the like is assigned with B#1. That is,
B#1: Seg#(16(k−1)+1)
Similarly,
B#2: Seg#(16(k−1)+2)
B#3: Seg#(16(k−1)+3)
B#4: Seg#(16(k−1)+4)
B#5: Seg#(16(k−1)+5)
B#6: Seg#(16(k−1)+6)
B#7: Seg#(16(k−1)+7)
B#8: Seg#(16(k−1)+8)
B#9: Seg#(16(k−1)+9)
B#10: Seg#(16(k−1)+10)
B#11: Seg#(16(k−1)+11)
B#12: Seg#(16(k−1)+12)
B#13: Seg#(16(k−1)+13)
B#14: Seg#(16(k−1)+14)
B#15: Seg#(16(k−1)+15)
B#16: Seg#(16(k−1)+16)
Similarly, segment numbers (Seg#) and block numbers (B#) are assigned to the corresponding nozzles nz.
Each of the printing elements e of each group G is driven for each block together with the corresponding printing elements e of other groups G. More specifically, the respective printing elements e of the same block number are simultaneously driven. For example, the printing element e of Seg#(1) of the group G1 and that of Seg#(16(k−1)+1) of the group Gk belong to the same block, that is, B#1, and are driven at substantially the same timing. The printing elements e belonging to the respective blocks are sequentially driven.
This driving method will also be referred to as “time-divisional driving” hereinafter, the block will also be referred to as a “time-divisional driving block” or simply a “time-divisional block” hereinafter, and the group will also be referred to as a “time-divisional driving group” or simply a “time-divisional group” hereinafter.
The shift register 303 is a 16×N-bit shift register, and sequentially shifts print data DATA every time a clock signal DCLK is received from the control unit 140.
The latch circuit 304 is a 16×N-bit latch circuit, and latches the 16×N-bit print data of the shift register 303 in response to a latch signal LATCH from the control unit 140. The latched data will also simply be referred to as “latch data” hereinafter. For example, the latch circuit 304 initializes the latch data upon receiving a reset signal RESET from the control unit 140.
The block selection circuit 305 functions as a decoder and, for example, generates a block selection signal BSEL, that is, BSEL1 to BSEL16 upon receiving block enable signals BENB0 to BENB3 from the control unit 140. The block selection signal BSEL is a control signal for selecting a specific block whose printing elements e are to be driven.
Each AND circuit 302 is provided in correspondence with each printing element e. Each AND circuit 302 receives the latch data of the latch circuit 304, the block selection signal BSEL, and a heat enable signal HENB for defining the driving time of the printing element e, and outputs a driving signal to the driver circuit 301.
A heater voltage VH and a ground voltage GNDH corresponding to it are supplied to the driver circuit 301, and the driver circuit 301 boosts the driving signal from the AND circuit 302 and supplies it to the printing element e. This drives the printing element e, that is, drives the corresponding nozzle nz to discharge an ink droplet.
Furthermore, during the period T1, the shift register 303 receives the clock signal DCLK, and shifts print data DATA2 for a second period T2. In response to the latch signal LATCH during the period T2, the latch circuit 304 latches the print data DATA2. After that, the same processing as that during the period T1 is performed.
The first embodiment will be described below with reference to
In step S110 (to be simply referred to as “S110” hereinafter; the same applies to other steps), print data input from a data input unit 510 are acquired. More specifically, as described with reference to
In S120, a color conversion processing unit 520 performs color conversion processing (color space conversion processing) for the input print data. The print data are converted into 8-bit, 256-tone data for respective colors corresponding to ink colors. For example, in this example in which color printing is executed using four ink colors of Y (yellow), M (magenta), C (cyan), and K (black), data for the four colors of Y, M, C, and K are generated. The print data having undergone the color conversion processing undergoes data processing for each color.
In S130, a quantization processing unit 530 performs quantization processing for the print data for each color, which has undergone the color conversion processing. The quantization processing includes data processing by, for example, an error diffusion method or dither matrix method. Assuming that unit data corresponding to a given print position is a “pixel value” in the print data, the error diffusion method performs quantization processing for each pixel value in accordance with the difference from its peripheral pixel value. The print data can be converted into, for example, four-level data (one of levels 0 to 3) by the error diffusion method.
In S140, a distribution processing unit 540 performs distribution processing for the print data for the respective colors, which have undergone the quantization processing, thereby distributing the print data to the respective nozzle arrays L of the printhead 110. More specifically, the print data are distributed to the respective element substrates 300 so as to appropriately print dots by the corresponding nozzle arrays L.
The distribution processing unit 540 performs distribution processing based on a result of selection or determination by a selection/determination unit 535 and a detailed description thereof will be provided later. The selection/determination unit 535 selects or determines, among the plurality of nozzles nz, nozzles (“driving nozzles” or “discharge nozzles”) which can be driven to perform printing according to the print data and nozzles (“non-driving nozzles” or “non-discharge nozzles”) which are not driven, and determines specific ones of the driving nozzles, which are to be used for printing.
Note that as described above with reference to
In S150, the printhead 110 is driven based on the distributed print data to print dots on the sheet P by the respective nozzle arrays L.
Note that with respect to the above-described units 520 to 540, the control unit 140 may include dedicated arithmetic processing units corresponding to them or the CPU 141 may have functions corresponding to them. Also, the dedicated arithmetic processing unit corresponding to the units 520 to 540 or the unit having the functions corresponding to the units 520 to 540 may be referred to as a print data generation unit.
Assume that on the sheet P, a region where it is possible to print dots by driving all the driving nozzles once among the driving nozzles and non-driving nozzles is set as a “unit column”. That is, assuming that the unit period of time-divisional driving is the time required to drive all the driving nozzles once, the unit column indicates a region where it is possible to print dots for one period of time-divisional driving, and can also indicate a region with a unit pixel width (for example, 1,200 dpi). Data for one column corresponding to the unit column in the print data will be referred to as “unit column data” or simply “column data” hereinafter. Each column data corresponds to the nozzle array direction Y.
For the sake of simplicity, restriction patterns each for four columns will be described using the block numbers B#1 to B#16.
Each restriction pattern defines driving nozzles and non-driving nozzles for every column unit. In other words, each restriction pattern is a reference table for selecting, for each column data of the print data, nozzles (that is, driving nozzles) which can be driven to print dots corresponding to the column data and nozzles (that is, non-driving nozzles) driving of which is limited. Each restriction pattern need only be stored in, for example, the ROM 143 (see
For example, with respect to a restriction pattern TR1a to be applied to the nozzle array La, in a first column clm1, the nozzles nz of B#1 to B#12 are driving nozzles and the nozzles nz of B#13 to B#16 are non-driving nozzles. To discriminate between the driving nozzles and the non-driving nozzles, the boxes of the non-driving nozzles are hatched in
Similarly, with respect to a restriction pattern TR1b to be applied to the nozzle array Lb, in the column clm1, the nozzles nz of B#5 to B#16 are driving nozzles and the nozzles nz of B#1 to B#4 are non-driving nozzles. With respect to a restriction pattern TR1c to be applied to the nozzle array Lc, in the column clm1, the nozzles nz of B#1 to B#4 and B#9 to B#16 are driving nozzles and the nozzles nz of B#5 to B#8 are non-driving nozzles. With respect to a restriction pattern TR1d to be applied to the nozzle array Ld, in the column clm1, the nozzles nz of B#1 to B#8 and B#13 to B#16 are driving nozzles and the nozzles nz of B#9 to B#12 are non-driving nozzles.
That is, some of the plurality of nozzles nz of each group G are selected as “non-driving nozzles” so the non-driving nozzles do not overlap each other between the nozzle arrays L in the conveying direction X, and the remaining nozzles are selected as “driving nozzles”.
In this example, with respect to the column clm1, the nozzles nz of B#1 to B#4 in the nozzle array Lb are non-driving nozzles, and dots corresponding to these nozzles are printed by driving nozzles in at least one of the nozzle arrays La, Lc, and Ld. That is, in this example, with respect to the column clm1, dots corresponding to the nozzles nz of B#1 to B#4 are printed by the corresponding nozzles nz of at least one of the nozzle arrays La, Lc, and Ld.
Similarly, dots corresponding to the nozzles nz of B#5 to B#8 are printed by the corresponding nozzles nz of at least one of the nozzle arrays La, Lb, and Ld. Dots corresponding to the nozzles nz of B#9 to B#12 are printed by the corresponding nozzles nz of at least one of the nozzle arrays La, Lb, and Lc. Dots corresponding to the nozzles nz of B#13 to B#16 are printed by the corresponding nozzles nz of at least one of the nozzle arrays Lb, Lc, and Ld.
In a second column clm2, third column clm3, and fourth column clm4, the block numbers corresponding to the diving nozzles and non-driving nozzles are sequentially shifted by four. For example, with respect to the restriction pattern TR1a, the nozzles nz of B#9 to B#12 are non-driving nozzles in the column clm2, the nozzles nz of B#5 to B#8 are non-driving nozzles in the column clm3, and the nozzles nz of B#1 to B#4 are non-driving nozzles in the column clm4. The same applies to the restriction patterns TR1b to TR1d.
In summary, the “driving nozzles” selected based on the restriction pattern are the nozzles nz which can be driven to perform printing according to the print data. Therefore, for example, if the corresponding latch data (see
Note that for example, if some nozzles nz are selected as driving nozzles, the remaining nozzles nz can be set as non-driving nozzles. Alternatively, if some nozzles nz are selected as non-driving nozzles, the remaining nozzles nz can be set as driving nozzles. That is, selection of driving nozzles and non-driving nozzles by the restriction pattern is substantially equivalent to selection of driving nozzles or non-driving nozzles by the restriction pattern.
For example, in a driving order TD1a of the driving nozzles in the nozzle array La1, the nozzles are driven in the order of B#1, B#2, . . . , B#12 with respect to the column clm1, and thus the nozzle array La prints dots for the column clm1. The nozzles are driven in the order of B#13, B#14, B#15, B#16, B#1, B#2, . . . , B#8 with respect to the column clm2, and thus the nozzle array La prints dots for the column clm2.
The phases of the cycles of the block driving orders defined in the driving order reference table are shifted by 90° between the respective nozzle arrays L. Therefore, for example, in a driving order TD1b of the driving nozzles in the nozzle array Lb, the nozzles are driven in the order of B#5, B#6, . . . , B#16 with respect to the column clm1, and thus the nozzle array Lb prints dots for the column clm1. The nozzles are driven in the order of B#1, B#2, . . . , B#12 with respect to the column clm2, and thus the nozzle array Lb prints dots for the column clm2. Note that the same applies to a driving order TD1c of the driving nozzles in the nozzle array Lc, a driving order TD1d of the driving nozzles in the nozzle array Ld, and the remaining columns clm3 and clm4.
For example, “cda” is defined for B#1 of the column clm1, which indicates that the nozzle array Lc has the highest priority, the nozzle array Ld has the second highest priority, and the nozzle array La has the lowest priority. For example, consider a case in which among the print data having undergone the quantization processing in S130, data corresponding to B#1 of the column clm1 is at level 1, that is, the number of dots to be printed is 1. In this case, one dot is printed at a print position corresponding to B#1 of the column clm1 by the nozzle nz of B#1 of the nozzle array Lc having the highest priority.
Furthermore, for example, “dac” is defined for B#2 of the column clm1, which indicates that the nozzle array Ld has the highest priority, the nozzle array La has the second highest priority, and the nozzle array Lc has the lowest priority. For example, consider a case in which among the print data having undergone the quantization processing in S130, data corresponding to B#2 of the column clm1 is at level 2, that is, the number of dots to be printed is 2. In this case, two dots are printed at a print position corresponding to B#2 of the column clm1 by the nozzle nz of B#2 of the nozzle array Ld having the highest priority and the nozzle nz of B#2 of the nozzle array La having the second highest priority.
Print data DD1a to DD1d respectively assigned to the nozzle arrays La to Ld are dot data each indicating whether to print dots, and are determined based on the print data DQ1 and the above-described priority level reference table TP1. More specifically, the specific nozzle array L whose driving nozzle is to be used to print a dot corresponding to data corresponding to each column and each block in the print data DQ1 is determined based on the priority level of driving of each driving nozzle.
In this example, since the priority levels of B#1 of the column clm1 are indicated by “cda”, dot data (indicated by a solid circle in
Similarly, since the priority levels of B#2 of the column clm1 are indicated by “dac”, dot data (indicated by a solid circle in
The thus determined print data DD1a to DD1d are distributed to the corresponding nozzle arrays La to Ld, respectively.
Note that for the sake of simplicity, a symbol is assigned to each dot in
For example, in the column clm1, the nozzles nz of B#13 to B#16 of the nozzle array La are non-driving nozzles. Dots corresponding to B#13 to B#16 are printed by the nozzles nz of B#13 to B#16 which are driving nozzles in the nozzle arrays Lb to Ld other than the nozzle array La. Similarly, in the column clm2, the nozzles nz of B#9 to B#12 of the nozzle array La are non-driving nozzles, and dots corresponding to B#9 to B#12 are printed by the nozzles nz of B#9 to B#12 which are driving nozzles in the remaining nozzle arrays Lb to Ld.
As for each column data, this driving method selects some of the plurality of nozzles nz of each nozzle array L as non-driving nozzles, and selects the remaining nozzles nz as driving nozzles. The non-driving nozzles are selected so the non-driving nozzles do not overlap each other between the nozzle arrays L in the conveying direction X of the sheet P. That is, a dot (a dot which is not printed by a non-driving nozzle) corresponding to a non-driving nozzle of a given nozzle array (for example, the nozzle array La) is printed by a driving nozzle of another nozzle array (for example, one of the nozzle arrays Lb to Ld), thereby completing printing of dots corresponding to the print data.
When the conveying speed of the sheet P is increased to improve the throughput, if all the plurality of nozzles nz of each nozzle array L are driven, the print positions of some dots fall outside the corresponding columns. To print these dots in the corresponding columns, for example, it is necessary to increase the operation speed of each nozzle array L, for example, the driving frequency of each nozzle array L, leading to an increase in manufacturing cost by, for example, changing the design of hardware.
To solve this problem, according to this driving method, some of the plurality of nozzles nz are selected as non-driving nozzles and their driving is limited, and dots corresponding to the non-driving nozzles are printed by driving nozzles of another nozzle array different from a nozzle array to which the non-driving nozzles belong. Consequently, this driving method can appropriately print all dots in the corresponding columns without changing the operation speed of each nozzle array L, and is advantageous in improving the throughput of the printing apparatus while suppressing the manufacturing cost. The driving nozzles and non-driving nozzles are shifted for each column data (in other words, the nozzles nz which serve as non-driving nozzles for given column data are driven as driving nozzles for the next column data), thereby effectively using all the plurality of nozzles nz.
In the arrangement in which while conveying a longitudinally long-shaped printing medium such as the sheet P, printing is executed on the sheet P, the frictional force between the conveying roller 130 and the sheet P may change due to a change in environment such as heat and humidity, thereby changing the conveying speed of the sheet P. This causes a print position shift of a dot between the nozzle arrays L of the printhead 110, and such print position shift may degrade the image quality. A method will be exemplified below in which the printing timings of some nozzle arrays L are delayed by inserting null data (data indicating that no dots are printed) to the print data in accordance with a change in conveying speed, and synchronized with the printing timings of the remaining nozzle arrays.
Null data is inserted based on an analysis result obtained by reading and analyzing a predetermined adjusting pattern printed or formed on the sheet P. The adjusting pattern is read by, for example, the above-described scanner 200. The adjusting pattern is analyzed by, for example, the CPU 141 of the control unit 140 described above, a dedicated arithmetic processing unit (not shown), or the like. More specifically, a shift amount of the landing position of an ink droplet when the adjusting pattern is printed is analyzed, and a printing timing shift amount between the nozzle arrays L when the adjusting pattern is printed is acquired. After that, null data corresponding to the printing timing shift amount is generated, and inserted to the print data assigned to the corresponding nozzle array. This corrects the print position shift between the nozzle arrays L.
As described above, it is possible to maintain the image quality by analyzing an adjusting pattern printed for each predetermined region in the conveying direction of the sheet P, and correcting a print position shift in accordance with the analysis result.
The adjusting pattern 64 is printed in a non-image printing portion between the two images 63 printed on the sheet P, and read by the scanner 200. Although
Note that the patterns 72 to 75 need only be matched by a method exemplified in Japanese Patent Laid-Open No. 2010-105203 or another known method. In this example, the print position shift amount is a relative value between nozzle arrays. However, with reference to a nozzle array on the most downstream side of the conveying direction among the four nozzle arrays corresponding to a given nozzle substrate (for example, black (K)), the print position shift of each of the remaining nozzle arrays may be corrected.
In S1100, it is determined whether the adjusting pattern 64 has been detected. If no adjusting pattern 64 has been detected, the process advances to S1200, that is, the print data determined in S143 of
In S1400, a printing timing shift amount between the nozzle arrays L is acquired based on the analysis result and it is determined whether it is necessary to adjust the printing timing. This step may be performed by comparing the magnitude of the printing timing shift amount with that of a predetermined value (predetermined threshold). If it is not necessary to adjust the printing timing, the process advances to S1200, that is, the print data determined in S143 are distributed to the respective nozzle arrays L. On the other hand, if it is necessary to adjust the printing timing, the process advances to S1500.
In S1500, null data for adjusting the printing timing is generated, and the process advances to S1600. Null data need only be generated based on the printing timing shift amount and a detailed description thereof will be provided later. In S1600, the null data generated in S1500 is inserted to the print data determined in S143, and the process advances to S1200. In this case, in S1200, the print data to which the null data has been inserted are distributed to the respective nozzle arrays L.
An assignment unit 815 of a distribution processing unit 810 assigns the converted print data to the respective nozzle arrays L based on the result of selection or determination by the selection/determination unit 820 (indicated by A2 in
When the adjusting pattern 64 printed on the sheet P is detected, the scanner 200 reads the adjusting pattern 64. An arithmetic unit 840 acquires a printing timing shift amount between the nozzle arrays L based on the read adjusting pattern 64, and determines whether it is necessary to adjust the printing timing. If it is determined that it is necessary to adjust the printing timing, the selection/determination unit 820 receives the result of the shift amount (indicated by B1 in
With this arrangement, it is possible to analyze the adjusting pattern printed for each predetermined region in the conveying direction of the sheet P, and correct the print position shift between the nozzle arrays L for each analysis operation. Note that this arrangement is merely an exemplary arrangement for executing an example of the above-described flowchart, and the control unit 140 may include dedicated arithmetic processing units corresponding to the above-described unit 520 and the like or the CPU 141 may have functions corresponding to the unit 520 and the like.
A practical example of the above flowchart will be described with reference to
In this example, since four of the 16 nozzles nz of B#1 to B#16 are sequentially selected as non-driving nozzles for each column data, a selection interval corresponds to column data for four columns. Therefore, the flag F#1 is assigned to a fifth column clm5 (not shown), and similarly, the flags F#2 to F#4 are respectively assigned to sixth to eighth columns clm6 to clm8. The same applies to the subsequent columns. For example, the flag number held in the information holding unit 835 is shifted (one is added) every time printing corresponding to column data for one column is completed, and when the flag number is larger than four, a remainder obtained by dividing the number by four is set as a new flag number. The above-described driving unit 830 can drive the driving nozzles among the driving nozzles and non-driving nozzles with reference to the flag number held in the information holding unit 835.
When paying attention to the column clm3, the flag F#3 is assigned to the column clm3, that is, the nozzles nz of B#1 to B#4 and B#9 to B#16 are driving nozzles and the nozzles nz of B#5 to B#8 are non-driving nozzles. On the other hand, since the column data assigned to the column clm2 is shifted to the position of the column clm3 by inserting the null data, some dots corresponding to B#5, B#7, and B#8 are not printed. Similarly, with respect to the column clm4, some dots corresponding to B#1, B#3, and B#4 are not printed. With respect to the column clm5, some dots corresponding to B#13, B#15, and B#16 are not printed. That is, when the null data is inserted, it is necessary to newly select driving nozzles and non-driving nozzles accordingly.
Note that a case in which the null data is inserted to the column clm2 has been explained for the sake of simplicity but the timing at which the print position shift is actually corrected (that is, the timing at which the null data is inserted) is not limited to this. That is, the print position shift may be corrected when a print job of a predetermined unit is complete. For example, the print position shift is corrected after analysis of the adjusting pattern is completed (after the null data to be inserted is generated) and before printing of a unit image starts. More specifically, if analysis of the adjusting pattern is completed while the ith image is printed where i is an integer of 1 or more, the print position shift can be corrected after printing of the ith image is completed and before printing of the (i+1)th image starts.
If no null data has been inserted, the initially selected driving nozzles and non-driving nozzles may remain unchanged, and the flag number is shifted (one is added). In S1211, one is added to the flag number. In this example, the flags F#1 to F#4 are sequentially assigned for the respective column data. Therefore, if the flag number is larger than four as a result of adding one to the flag number, a remainder obtained by dividing the number by four is set as a new flag number. On the other hand, if the null data has been inserted, the process advances to S1212 to hold the flag number.
After that, the driving unit 830 drives each nozzle array L based on the flag number corresponding to S1211 or S1212. In this method, if the null data has been inserted, it is possible to appropriately print dots corresponding to each shifted column data by the initially selected driving nozzles.
Note that if data processing of, for example, preparing again the print data before assignment to each nozzle array and inserting the null data is performed to correct the print position shift, the load of the CPU 141 increases, for example, the memory use amount increases. To solve this problem, this correction method can determine print data to be assigned to the respective nozzle arrays L at the start of printing, and insert, to the determined print data, the null data for correcting the print position shift while executing printing. Consequently, this correction method suppresses the memory use amount, and is advantageous in reducing the load of the CPU 141.
Although a case in which the null data for one column is inserted has been exemplified, the number of null data corresponding to the shift amount need only be inserted, and when the print position shift amount is relatively large, null data for two or more columns may be inserted. Furthermore, although a case in which the flag number is used has been exemplified, the present invention is not limited to this, and it is only necessary to appropriately select new driving nozzles in response to insertion of null data.
According to this embodiment, some of the plurality of nozzles nz are selected as non-driving nozzles and their driving is limited, and thus dots corresponding to the non-driving nozzles are printed by driving nozzles of another nozzle array different from that to which the non-driving nozzles belong. Note that driving nozzles and non-driving nozzles are selected in advance when, for example, performing distribution processing of print data. In this method, even if the conveying speed of the sheet P is increased, it is possible to appropriately print all dots in corresponding columns without changing the operation speed of each nozzle array L. Therefore, this method is advantageous in improving the throughput of the printing apparatus while suppressing the manufacturing cost.
When the conveying speed of the sheet P is changed, this causes a print position shift between the nozzle arrays. Thus, while executing printing, the print position shift is corrected in accordance with a result of analyzing the adjusting pattern printed for each predetermined region in the conveying direction of the sheet P. The print position shift is corrected by inserting null data corresponding to the print position shift amount to the correction target print data among the print data assigned to the respective nozzle arrays. At this time, print data after the insertion portion of the correction target print data is shifted by inserting the null data, and thus driving nozzles and non-driving nozzles are newly selected so as to appropriately execute printing in accordance with the print data. This is done by using a predetermined parameter such as the above-described flag number for selecting or specifying the driving nozzles and non-driving nozzles selected for each column data. In this method, dots corresponding to the print data to which the null data has been inserted are printed by the initially selected driving nozzles.
This embodiment is advantageous in correcting a print position shift while improving the throughput of the printing apparatus by increasing the conveying speed of the printing medium.
Although the printhead 110 including the four nozzle arrays La to Ld has been exemplified in this embodiment, the number of nozzle arrays is not limited to this and need only be two or more. For example, when the printhead 110 includes L nozzle arrays and each group G includes M nozzles nz where L represents an integer of 2 or more and M represents an integer of 2 or more and an multiple of L, M/L nozzles nz may be selected as non-driving nozzles. Note that the arrangement in which the nozzle array La and the like print dots of the same color has been exemplified. However, this embodiment is not limited to this as long as each nozzle can print a dot of an arbitrary color.
Although the arrangement of the full-line printhead 110 has been exemplified in this embodiment, the present invention may be applied to the arrangement of a serial printhead for performing printing by alternately repeating scanning of the printhead and conveyance of the printing medium.
The second embodiment will be described with reference to
In S1220, a difference number ΔF# as a parameter for specifying whether to shift or hold the flag number is set to 1 (ΔF#1), and the process advances to S1222. On the other hand, in S1221, the difference number is set to 0 (ΔF#0), and the process advances to S1222.
In S1222, the difference number ΔF# is added to a flag number F#. More specifically, if no null data has been inserted (ΔF#1), the flag number is shifted (one is added). Note that the flag F#1 to F#4 are sequentially assigned to respective column data, similarly to the first embodiment. Thus, when the flag number is larger than four, a remainder obtained by dividing the number by four is set as a new flag number. On the other hand, if the null data has been inserted (ΔF#0), the flag number is held.
According to this embodiment, it is also possible to obtain the same effects as those in the above-described first embodiment.
Each of the above-described first and second embodiments has exemplified a case in which the block driving order complies with the order of the block numbers for the sake of simplicity. The present invention, however, is not limited to this, and other block driving orders may be adopted. In this example, the block driving order is not the order of block numbers, and complies with shuffled block numbers. Such driving method will also be referred to as “distributed driving” hereinafter. According to this embodiment, it is also possible to obtain the same effects as those in each the above-described embodiments.
The driving order TD2a indicates a driving order in the driving method using distributed driving according to this example. For example, with respect to the column clm1 of the nozzle array La, the nozzles of B#5, B#6, B#11, and B#16 are non-driving nozzles, and the remaining nozzles nz are driving nozzles. The driving nozzles are driven in the order of B#1, B#12, B#7, B#2, B#13, B#8, B#3, B#14, B#9, B#4, B#15, and B#10, and the non-driving nozzles of B#5, B#6, B#11, and B#16 are not driven. Similarly, print data DD2a, a driving order TD2a′, and print data DD2a′ indicate print data in this example, a driving order when null data is inserted, and print data when null data is inserted, respectively.
Distributed driving is advantageous in an inkjet method since the influence of heat energy, generated by driving of the nozzle nz of a given block, on the nozzle nz of an adjacent block is reduced. Note that an example of the driving order of distributed driving has been exemplified but the driving order is not limited to this, and may be changed for, for example, every print job of a predetermined unit, every predetermined column data, or every predetermined period.
The two preferred embodiments of the present invention have been exemplified above with reference to a printing apparatus including an inkjet full-line printhead. The present invention, however, is not limited to these embodiments, and the embodiments may partially be changed or their features may be combined in accordance with the purpose or the like.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
In addition, the present invention is applicable to another aspect without departing from the spirit and scope of the present invention. For example, although an inkjet method using heating elements has been exemplified in each of the above-described embodiments, any printing methods such as a method using piezoelectric elements, a method using electrostatic elements, a method using MEMS elements, and other known printing methods may be used.
Furthermore, “printing” can include, in addition to printing of forming significant information such as characters and graphics, printing in a broad sense regardless of whether information is significant or insignificant. For example, “printing” need not be visualized to be visually perceivable by humans, and can also include printing of forming images, figures, patterns, structures, and the like on a printing medium, or printing of processing the medium.
In addition, “printing agent” can include a consumable used for printing in addition to “ink” used in each of the above-described embodiments. For example, “printing agent” can include a liquid which is used to process a printing medium or to process ink (for example, to solidify or insolubilize a colorant in ink applied onto a printing medium) as well as a liquid which is applied onto a printing medium to form images, figures, patterns, and the like. Furthermore, it is possible to adopt, for example, an arrangement configured to perform printing by applying ink onto an intermediate transfer medium and then transferring the ink onto a printing medium, instead of an arrangement configured to directly apply ink onto a printing medium. It is also possible to use an arrangement configured to perform monochrome printing using one type of ink (for example, black ink), instead of an arrangement configured to perform color printing using a plurality of types of inks.
In addition, “printing medium” can include any media capable of receiving a printing agent, such as cloth, plastic films, metal plates, glass, ceramics, resin, wood, and leather, as well as paper used in general printing apparatuses.
The definition of each term used in this specification for the sake of simplicity should be interpreted without departing from the spirit and scope of the present invention.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2014-206671, filed Oct. 7, 2014, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2014-206671 | Oct 2014 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6164754 | Ide et al. | Dec 2000 | A |
6334659 | Maeda et al. | Jan 2002 | B1 |
6364446 | Ishikawa et al. | Apr 2002 | B1 |
6557982 | Murakami et al. | May 2003 | B2 |
6572212 | Konno et al. | Jun 2003 | B2 |
6580460 | Takahashi et al. | Jun 2003 | B1 |
6644770 | Niimura et al. | Nov 2003 | B1 |
6729709 | Konno et al. | May 2004 | B2 |
6733100 | Fujita et al. | May 2004 | B1 |
6808247 | Kawatoko et al. | Oct 2004 | B2 |
6827413 | Kawatoko et al. | Dec 2004 | B1 |
6921218 | Moriyama et al. | Jul 2005 | B2 |
6957880 | Kawatoko et al. | Oct 2005 | B2 |
6960036 | Fujita et al. | Nov 2005 | B1 |
7048351 | Kawatoko | May 2006 | B2 |
7057756 | Ogasahara et al. | Jun 2006 | B2 |
7290855 | Chikuma et al. | Nov 2007 | B2 |
7296872 | Hayashi et al. | Nov 2007 | B2 |
7325900 | Hayashi et al. | Feb 2008 | B2 |
7344219 | Sakamoto et al. | Mar 2008 | B2 |
7600835 | Moriyama et al. | Oct 2009 | B2 |
7618116 | Hamasaki et al. | Nov 2009 | B2 |
7706023 | Kanda et al. | Apr 2010 | B2 |
7959246 | Hamasaki et al. | Jun 2011 | B2 |
8287074 | Kano et al. | Oct 2012 | B2 |
8384944 | Kawatoko et al. | Feb 2013 | B2 |
8430472 | Nishikori et al. | Apr 2013 | B2 |
8444246 | Muro et al. | May 2013 | B2 |
8608271 | Murayama et al. | Dec 2013 | B2 |
8622538 | Miyakoshi et al. | Jan 2014 | B2 |
8675250 | Muro et al. | Mar 2014 | B2 |
8757754 | Azuma et al. | Jun 2014 | B2 |
8864266 | Suzuki et al. | Oct 2014 | B2 |
8876280 | Ishikawa et al. | Nov 2014 | B2 |
8955956 | Yamamoto et al. | Feb 2015 | B2 |
8979238 | Nishikori et al. | Mar 2015 | B2 |
9004640 | Ishikawa et al. | Apr 2015 | B2 |
9016821 | Masuda et al. | Apr 2015 | B2 |
9039112 | Murayama et al. | May 2015 | B2 |
9079421 | Kato et al. | Jul 2015 | B2 |
9108403 | Kawatoko et al. | Aug 2015 | B2 |
9138989 | Kawatoko et al. | Sep 2015 | B2 |
9174436 | Suzuki et al. | Nov 2015 | B2 |
20090009543 | Arazaki | Jan 2009 | A1 |
20110310152 | Muro et al. | Dec 2011 | A1 |
20120050375 | Kano et al. | Mar 2012 | A1 |
20120274951 | Nishikori et al. | Nov 2012 | A1 |
20150284202 | Asano et al. | Oct 2015 | A1 |
Number | Date | Country |
---|---|---|
2005-138374 | Jun 2005 | JP |
2010-105203 | May 2010 | JP |
2012-30594 | Feb 2012 | JP |
Number | Date | Country | |
---|---|---|---|
20160096363 A1 | Apr 2016 | US |