1. Field of the Invention
The present invention relates to control of image recording using a recording head and particularly to recording control according to inclination (misalignment) of a recording head or nozzle rows (nozzle array) of a recording head.
2. Description of the Related Art
A serial scanning type recording apparatus performs recording by using a recording head (print head) having element rows (also referred to hereinafter as “nozzle rows” and/or “nozzle array”), each containing recording elements (e.g., nozzles from which ink is discharged) arranged in a direction orthogonal to a main scanning direction. The recording apparatus performs printing while scanning a recording medium with the recording head, and transports the recording medium in a sub-scanning direction (which is orthogonal to the main scanning direction). The recording apparatus thus repeats the scanning and transporting process, thereby forming an image on the recording medium.
A typical print head is secured to a carriage holder (hereinafter called “carriage”). Since the print head is positioned such that nozzle rows (nozzle array) thereof are orthogonal to the main scanning direction, dots can be accurately arranged on a recording medium when ink is ejected during the scanning of the recording medium. However, due to manufacturing tolerances and assembly errors, nozzle rows (nozzle array) of the print head are, in fact, often not orthogonal to the main scanning direction. Moreover, the amount of inclination of nozzle rows (nozzle array) caused by assembly errors of the print head may not be consistent and may change every time the user attaches the print head to the recording apparatus.
The inclination of nozzle rows (nozzle array) causes misalignment of lines and colors on a printed image and leads to degraded image quality. Since recent tendencies toward longer and greater number of nozzle rows (nozzle array) and higher resolution cause more noticeable misalignment of lines and colors, a need exists to develop mechanisms for correcting the inclination of nozzle rows (nozzle array).
There is a proposed recording apparatus in which a plurality of heating dots are divided into a predetermined number of heating dot groups according to the amount of inclination of a print head, and print timing is shifted at each heating dot group so as to correct the inclination of the print head. If the amount of head inclination “D” is in the range of [N dots<D≦(N+1) dots] on a print dot basis, a plurality of heating dots are divided into (N+1) heating dot groups. Then, from the first heating dot group at which to start printing, print timing is shifted by one dot at each heating dot group to perform printing.
This print timing is divided into a plurality of segments (blocks) within a period of a pulse signal corresponding to one column (one pixel).
In this recording apparatus, print data that is shifted in a print direction on a dot-by-dot basis is expanded (stored) in an image buffer. Then, after the addition of off-dot data to be used for correction, print timing is shifted to correct the inclination of the print head.
Such a recording apparatus is discussed, for example, in Japanese Patent Laid-Open No. 11-42803 and Japanese Patent Laid-Open No. 7-137240.
However, in the known techniques described above, data that is shifted on a dot-by-dot basis has to be stored in the image buffer. Therefore, if the amount of data increases due to the increased length of a print head or the increased number of nozzle rows (nozzle array) for multiple ink colors, a problem arises in that a heavier load is placed on control for data processing.
Moreover, in timing control discussed in Japanese Patent Laid-Open No. 7-137240, timing adjustment through split driving can be performed only within the range (timing) of one pixel and cannot be performed over the range of one pixel.
Embodiments of the present invention have been made in view of the problems described above and are directed to correcting dot misalignment caused by the inclination of a print head without performing data correction in a print buffer.
According to an aspect of the present invention, a recording apparatus performs recording with a recording head having at least one recording element row containing a plurality of recording elements arranged in a direction differing from a main scanning direction. The recording elements of the recording element row are divided into a plurality of blocks. The recording apparatus includes a position signal generating unit configured to generate a recording position signal with respect to the main scanning direction, a data generating unit configured to generate recording data, and an enabling signal generating unit configured to generate a plurality of first enabling signals based on information about inclination of the recording element row and the recording position signal generated by the position signal generating unit. The first enabling signals are used to enable the data generating unit to generate recording data on a block-by-block basis in the main scanning direction. The enabling signal generating unit is further configured to generate a plurality of second enabling signals that correspond to the respective first enabling signals delayed by a time interval. The second enabling signals are used to enable the recording elements to be driven on a block-by-block basis. The recording apparatus further includes a drive unit configured to drive the recording elements on a block-by-block basis according to the second enabling signals.
According to another aspect of the present invention, a printing apparatus performs printing with a print head having at least one nozzle row containing a plurality of nozzles arranged in a direction differing from a main scanning direction. The nozzles of the nozzle row are divided into blocks. The printing apparatus includes a position signal generating unit configured to generate a printing position signal with respect to the main scanning direction, a data generating unit configured to generate printing data, and an enabling signal generating unit configured to generate first enabling signals and second enabling signals based on misalignment information associated with each of the blocks of the nozzle row and the printing position signal generated by the position signal generating unit. The first enabling signals are used to enable the data generating unit to generate printing data on a block-by-block basis. The printing apparatus further includes a drive unit configured to drive the nozzles on a block-by-block basis according to the second enabling signals.
According to a further aspect of the present invention, a method is provided for performing recording with a recording head having at least one recording element row containing a plurality of recording elements arranged in a direction differing from a main scanning direction. The recording elements of the recording element row are divided into a plurality of blocks. The method includes generating a recording position signal with respect to the main scanning direction, and generating recording data. The method also includes generating first enabling signals based on information about inclination of the recording element row and the recording position signal. The first enabling signals are used to enable recording data generation on a block-by-block basis. The method further includes generating second enabling signals and driving the recording elements on a block-by-block basis according the second enabling signals.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Exemplary embodiments of the present invention will now be described in detail with reference to the drawings.
The controller 106 further includes a temporary buffer control unit (temporary buffer controller) 111, a head control unit (head controller) 114, and a drive control unit (motor controller) 113. The temporary buffer control unit 111 reads print data from the temporary buffer 112 in response to a request from the head control unit 114. On the basis of heat timing signals from the positional information generating unit 108, the head control unit 114 transfers actual print data to a print head assembly 115 and controls ink ejection of the print head assembly 115. The drive control unit 113 controls the drive of a carriage motor 116 and a convey motor 117. The carriage motor 116 allows scanning operation of the carriage on which the print head assembly 115 is mounted. The convey motor 117 feeds or ejects recording media.
Next, the print operation of the recording apparatus according to the present exemplary embodiment will be described. Image data or the like received from the host apparatus (not shown) via the interface 104 by the interface control circuit 107 of the controller 106 is temporarily stored in a receive buffer allocated in the RAM 103.
The received data stored in the receive buffer is subjected to command analysis. Actual image data is subjected to print data processing according to the print mode and stored in a print buffer (recording buffer) allocated in the RAM 103. Upon completion of the storage of a required amount of data, the drive control unit 113 drives the carriage motor 116 to start scanning with the recording head (print head).
The positional information generating unit 108 detects positional information from the encoder 105 to generate a timing signal (e.g., HEAT_TRG illustrated in
The data generation control unit 110 reads image data from the print buffer on the basis of a data window signal, performs predetermined processing (e.g., HV conversion) on the image data, and writes the image data to the temporary buffer 112 through the temporary buffer control unit 111. The HV conversion is such as to convert raster data arranged in a scanning direction (horizontal direction) of the recording head into column data arranged in a nozzle array direction (vertical direction) of the recording head.
On the basis of a heat window signal and at predetermined timing, the head control unit 114 reads actual print data (recording data) held by the temporary buffer control unit 111 to transfer the print data to the print head assembly 115.
Moreover, the head control unit 114 generates a drive signal for the print head assembly 115 and outputs the generated drive signal to the print head assembly 115. The temporary buffer 112 includes two banks, which are toggled between read and write modes. The temporary buffer control unit 111 performs toggle control and address management for the temporary buffer 112.
Upon receipt of the print data and drive signal from the head control unit 114, ink is ejected from the print head assembly 115 to form an image on a recording medium. The drive control unit 113 drives the carriage motor 116 to cause the print head assembly 115 to scan the recording medium. Also, the drive control unit 113 drives the convey motor 117 to cause the recording medium to be transported.
Next, a method for correcting the inclination of a print head to perform printing will be described.
In
White dots in
In an exemplary embodiment, a nozzle row (nozzle array) is divided into a plurality of blocks (i.e., nozzle groups), each of which is assigned a heat window signal, and heat timing can be shifted on a pixel-by-pixel basis (on a column-by-column basis) based on head inclination information. This control allows the correction of head inclination and an image to be formed on paper.
In the present exemplary embodiment, to correct the inclination of nozzle rows (nozzle array) illustrated in
The inclination of nozzle rows (nozzle array) is corrected with reference to block C_BLK0. That is, blocks C_BLK1 through C_BLK3 are adjusted to the position of block C_BLK0.
For example, to move block C_BLK1 in the print head scanning direction ((+) direction, the direction of an arrow in
Although, in
A heat window register 1103 is a register in which positional information that enables a heat window signal for a nozzle row (nozzle array) is set. Positional information that disables the heat window signal is also set in the heat window register 1103. The positional information for enabling or disabling the heat window signal is set with respect to each nozzle row (nozzle array).
A data window register 1104 is a register in which positional information that enables a data window signal for a nozzle row (nozzle array) is set. Positional information that disables the data window signal is also set in the data window register 1104. The positional information for enabling or disabling the data window signal is set with respect to each nozzle row (nozzle array).
An inclination correction value register 1105 is a register in which a correction value for each nozzle row (nozzle array) is set on the basis of head inclination information held in the head inclination information storage unit 109.
A window control circuit 1106 generates a heat window signal and a data window signal on the basis of values in the position counter 1102, heat window register 1103, data window register 1104, and inclination correction value register 1105.
Next, the positional information generating unit 108 described with reference to
For example, settings are configured such that a heat window signal is enabled when the position counter 1102 reaches 1000h, and is disabled when the position counter 1102 reaches F000h. The value of the position counter 1102 increases as the print head moves. Blocks C_BLK1 through C_BLK3 are misaligned (inclined), from block C_BLK0 serving as a reference block, toward the print head scanning direction. To bring blocks C_BLK1 through C_BLK3 into alignment with block C_BLK0, blocks C_BLK1 through C_BLK3, which are non-reference blocks, are shifted by one pixel to the (−) direction.
Therefore, in the inclination correction value register 1105, the value “−1” is set in sections corresponding to respective blocks C_BLK1 through C_BLK3. In the position counter 1102, 10h is equivalent to one pixel.
With this setting, heat window signals C_HT_WIN1 through C_HT_WIN3 are enabled when the position counter 1102 reaches, for example, “0FF0h” during the scanning of the print head. When the print head reaches a position corresponding to, for example, the value “EFF0h” in the position counter 1102, heat window signals C_HT_WIN1 through C_HT_WIN3 are disabled.
Data window signals are controlled on the basis of set values in the data window register 1104 and inclination correction value register 1105, in a similar manner to that in the case of the heat window signals.
Referring to
Next, when the cyan nozzle row (nozzle array) reaches position X=X1, heat window signals for block C_BLK0 are output at timing t=t1. At this point, ink is ejected from the lower 96 nozzles to form dots at position X=X1. However, since the upper 32 nozzles are displaced by one pixel from the lower 96 nozzles, ink ejected from the upper 32 nozzles forms dots at position X=X0. Likewise, when the cyan nozzle row (nozzle array) reaches position X=X2, heat window signals output at timing t=t2 allow ink to be ejected from the lower 96 nozzles to form dots at position X=X2 and, at the same time, allow ink to be ejected from the upper 32 nozzles to form dots at position X=X1. Thus, shifting the heat timing on a block-by-block basis can correct for the inclination of a nozzle row (nozzle array) and allow the formation of the same image as that formed in the case where the print head is not misaligned.
The above-described delay, that is, delay time (or the amount of delay) corresponding to 16 pixels is applicable to the other blocks. Likewise, for each of nozzle rows (nozzle array) for the other colors, the start of the output of a heat window signal is delayed by a 16-pixel period from the start of the output of a data window signal. In an exemplary embodiment, this delay time corresponds to the capacity of a temporally buffer described below.
To advance the start of ink ejection from the lower 96 nozzles corresponding to blocks C_BLK1 through C_BLK3 by one pixel period from the start of ink ejection from the upper 32 nozzles corresponding to block C_BLK0, the positional information generating unit 108 controls data window signals. Specifically, after enabling signals C_DT_WIN1 through C_DT_WIN3 on the basis of head inclination information stored in the head inclination information storage unit 109, the positional information generating unit 108 enables signal C_DT_WIN0 corresponding to the upper 32 nozzles with a delay of one pixel period.
The data generation control unit 110 starts generating data for the lower 96 nozzles in response to trigger signal HEAT_TRG by which three signals C_DT_WIN1 through C_DT_WIN3 are enabled. Likewise, the data generation control unit 110 starts generating data for the upper 32 nozzles in response to trigger signal HEAT_TRG by which signal C_DT_WIN0 is enabled. The temporary buffer 112 of the present exemplary embodiment is provided for each nozzle row (nozzle array) and includes two banks, each bank having a capacity that can hold data corresponding to 16 columns (16 pixels in the main scanning direction). In other words, each nozzle row (nozzle array) is provided with the temporary buffer 112 including two banks.
The data generation control unit 110 generates data for 16 columns with respect to each of the blocks corresponding to respective signals C_DT_WIN0 through C_DT_WIN3 and completes the generation of data every time the generation of data for 16 columns is completed. Then, the data generation control unit 110 writes print data through the temporary buffer control unit 111 to the temporary buffer 112. Print data for 16 columns is written each time to one of bank 0 and bank 1 of the temporary buffer 112. A buffer to which the print data is written is toggled between bank 0 and bank 1.
After enabling data window signals C_DT_WIN0 through C_DT_WIN3, the positional information generating unit 108 enables heat window signals C_HT_WIN0 through C_HT_WIN3, each of which is delayed by 16-column period from their corresponding data window signals. On the basis of these heat window signals, the head control unit 114 reads print data held in the temporary buffer 112, transfers the print data to the print head assembly 115 at predetermined timing, and generates and outputs an actual drive signal for the print head assembly 115. Print data for 16 columns is read each time from one of bank 0 and bank 1 of the temporary buffer 112. A buffer from which the print data is read is toggled between bank 0 and bank 1. In other words, print data is read from bank 0 while being written to bank 1, and is read from bank 1 while being written to bank 0.
Next, timing adjustment between nozzle rows (nozzle array) will be described with reference to
Moreover, in view of the inclination of the print head, window signals are controlled on a block-by-block basis. For example,
Likewise, when the nozzle row (nozzle array) for magenta reaches a distance of “dm+lm” from the reference position, signals M_HT_WIN1 through M_HT_WIN3 are enabled. Subsequently, when the print head moves a “pm” pixel distance to reach a distance of “dm+lm+pm” from the reference position, a signal M_HT_WIN0 is enabled.
Likewise, when the nozzle row (nozzle array) for yellow reaches a distance of “dy+ly” from the reference position, signals Y_HT_WIN1 through Y_HT_WIN3 are enabled. Subsequently, when the print head moves a “py” pixel distance to reach a distance of “dy+ly+py” from the reference position, a signal Y_HT_WIN0 is enabled.
A data window signal assigned to each block is enabled a 16-pixel period (distance) before its corresponding heat window signal is enabled.
Thus, the positional information generating unit 108 controls data window signals and heat window signals on the basis of information about registration between nozzle rows (nozzle array) and head inclination information stored in the head inclination information storage unit 109.
As described above, data window signals C_DT_WIN0 through C_DT_WIN3 for data generation control and heat window signals C_HT_WIN0 through C_HT_WIN3 are always controlled in synchronization with each other. Performing this control allows a print operation to be performed while print data for 16 columns is being held in the temporary buffer 112.
Ink is ejected from the print heads 201 and 202 onto a recording medium 209 that is controlled on its recording surface by a platen roller 210, with a very small clearance left between the recording medium 209 and the print heads 201 and 202. An image is thus formed on the recording medium 209.
In response to image data, ejection signals are supplied to the print heads 201 and 202 through a flexible cable 207. The carriage motor 116 causes the carriage 206 to scan the recording medium 209 along the shafts 211. The drive force of the carriage motor 116 is transmitted through a wire 203 to the carriage 206. The convey motor 117 is combined with the platen roller 210 to transport the recording medium 209.
With the configuration described above, the data generation and print timing of each block of a nozzle row (nozzle array) can be adjusted on the basis of head inclination information, on a pixel-by-pixel basis. This allows an image to be formed without having to store, in a print buffer, data corresponding to the inclination of a print head. This can eliminate the load of storing, in the print buffer, data that reflects the inclination of a nozzle row (nozzle array).
Moreover, synchronizing a data window signal and a heat window signal can prevent the unnecessary drive of a print head that occurs due to noise, and thus can prevent unnecessary ink ejection.
Although a single bank of the temporary buffer 112 has a capacity of 16 columns of data in the explanation described above, the capacity of a single bank is not limited to this. For example, if a single bank of the temporary buffer 112 has a capacity of 8 columns of data, the start of the output of a heat window signal can be controlled to be delayed by an 8-pixel period.
If the capacity of a single bank of the temporary buffer 112 is further changed, a heat window signal can be controlled such that its output timing is varied according to the changed capacity.
The capacity of a single bank of the temporary buffer 112 is changed when the amount of data generated per unit time is changed, or when a memory area in the temporary buffer 112 is partially used for other purposes. Therefore, the output timing of a heat window signal is controlled such that it is changed on the basis of the settings of an allocating unit that performs area allocation in the temporary buffer 112.
In other words, the capacity of a single bank of the temporary buffer 112 is changed when a print mode or the type of a print head to be used is changed.
The type of a print head is changed when various print heads with various numbers of nozzle row (nozzle array) or for various numbers of colors can be mounted on the recording apparatus, and when the user changes the print head. In this case, the recording apparatus includes an identifying unit that can identify the type of a print head mounted on the recording apparatus.
In the present exemplary embodiment, head inclination correction is performed on a pixel-by-pixel basis. This means that the resolution of the head inclination correction (in the scanning direction of the print head) is equal to the print resolution. That is, if the print resolution is 1200 dpi, the head inclination correction is performed at a resolution of 1200 dpi.
The inclination of a print head that occurs during the assembly process of the print head corresponds to several (an integral number of) dots at a resolution of 1200 dpi. In this case, in a print mode where printing is performed at a resolution of 1200 dpi, the head inclination correction is reflected on the resulting image. However, in draft mode (high speed mode) where printing is performed at a resolution of 300 dpi, there is no need to perform correction, as the resolution of head inclination correction is also 300 dpi.
Therefore, head inclination correction can be controlled not to be performed depending on the print mode. In other words, it can be configured such that the positional information generating unit 108 performs control on the basis of information about the print mode.
Although the position counter 1102 is set on a pixel-by-pixel basis in the present exemplary embodiment described above, the position counter 1102 can be set in steps of less than one pixel for higher precision in adjustment. For example, the position counter 1102 can be set in steps of 0.5 pixels. Here, an adjustment value for 0.5 pixels is 08h.
An exemplary method for obtaining head inclination information is to determine a correction value on the basis of a registration pattern that is output in a certain mode of the recording apparatus. In another exemplary method, the recording apparatus receives head inclination information prestored in a storage unit of a recording head mounted on the recording apparatus.
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 modifications, equivalent structures and functions.
This application claims the benefit of Japanese Application No. 2005-188291 filed Jun. 28, 2005, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2005-188291 | Jun 2005 | JP | national |