The present invention relates to an image reading apparatus.
Generally, image reading apparatuses for large-sized documents have a configuration that uses multiple small-sized line image sensors, which has a great cost advantage. The use of multiple line image sensors needs the processing of stitching together the data read by each line image sensor. In this case, when the document conveyance roller exhibits eccentricity, an error will occur in the processing of stitching the data together.
When multiple line image sensors 106 obtain results, the results are stitched together at stitching positions 113. At this time, if either or both of the document conveyance rollers 107, 108 exhibit eccentricity, an error occurs in the stitching positions due to positional misalignment in the conveyance direction between the line image sensors. For example, when straight line patterns 1403 are read as shown in
To address the above-mentioned issue, a configuration is known in which a calibration process is performed to obtain and correct an error component during reading caused by eccentricity of the document conveyance rollers in advance. Japanese Patent Application Publication No. 2021-061563 discloses a configuration in which, during the calibration process, a document on which multiple dot patterns are printed is read, and the eccentricity of the document conveyance rollers 107, 108 is obtained through curve approximation processing on the basis of the position data of the read dot patterns.
In the above-described configuration, the influence of eccentricity of the conveyance mechanism is obtained by performing curve approximation on the basis of the coordinate interval ratio of obtained dot patterns. To obtain the eccentricity of the document conveyance rollers 107, 108 with high accuracy to read an image with high accuracy, it is preferable to use a document on which more dot patterns are printed and to perform curve approximation processing on the basis of more data. However, to distinguish between dot patterns and dust in reading, the dot patterns need to be relatively large. This limits the number of patterns printed on the document, that is, the amount of data used for curve approximation.
In view of the above-mentioned issues, an object of the present invention is to provide an image reading apparatus capable of reading an image with high accuracy.
To achieve the above object, an image reading apparatus according to the present invention includes:
According to the present invention, it is possible to provide an image reading apparatus capable of reading an image with high accuracy.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Hereinafter, a description will be given, with reference to the drawings, of various exemplary embodiments (examples), features, and aspects of the present disclosure. However, the sizes, materials, shapes, their relative arrangements, or the like of constituents described in the embodiments may be appropriately changed according to the configurations, various conditions, or the like of apparatuses to which the disclosure is applied. Therefore, the sizes, materials, shapes, their relative arrangements, or the like of the constituents described in the embodiments do not intend to limit the scope of the disclosure to the following embodiments.
First, a first embodiment of the present invention is described. Although details will be described below, an image reading apparatus according to the first embodiment includes document conveyance rollers 107, 108 and multiple line image sensors (CISs) 106, in a similar manner to the image reading apparatus described with reference to
First, the basic configuration of the image reading apparatus according to the first embodiment is described.
The scanner 100 has an operation portion 103 on the upper surface of the apparatus main body. The operation portion 103 includes physical keys, a touch panel, an LCD panel, and the like and is configured to enable the setting of reading conditions and document size input. Also, a top cover 104 is provided on the upper surface of the scanner 100, and the scanner 100 is configured so that the top cover 104 can be opened upward to allow access to the reading portion and the like and the maintenance of the apparatus main body.
A document detection sensor 105 is a sensor that detects insertion of a document 110. When the document detection sensor 105 detects insertion of a document 110, a control portion 202 (see
Inside of the main body, the document 110 passes between a glass plate 109 and a document pressing plate 111. The document pressing plate 111 functions to press the document 110 against the glass plate 109 with a predetermined pressure. CISs 106 are line image sensors in which light receiving elements are arranged in a main scanning direction p (X direction in the drawing) and include multiple chips formed by multiple light receiving elements. Each CIS 106 has a reading surface facing the glass plate 109 and is designed so that the reading focal position is located at the contact surface between the document 110 and the glass plate 109.
The downstream document conveyance roller 108 is configured to follow the upstream document conveyance roller 107 through a belt (not shown) and functions to discharge the document that has passed through the pressing region, in which the document is pressed against the glass plate 109 by the document pressing plate 111, to the downstream side. The control portion 202, which will be described below, includes a circuit board for controlling detection sensors, a motor (now shown) for rotating the upstream document conveyance roller 107, the CISs 106, the operation portion 103, and the like, for example.
As shown in the top view of
A conveyance motor 201 is controlled by the CPU 204 via the motor driver 207 to rotate the upstream document conveyance roller 107 and the downstream document conveyance roller 108. Outputs of the document detection sensor 105 and the edge detection sensor 112 are input to the CPU 204. The CPU 204 performs control such as determining the drive timing of the multiple CISs 106 on the basis of changes in output signals of these sensors and the state of the conveyance motor 201.
The CISs 106 output the read images to the control portion 202 as analog signals. The analog signals output from the multiple CISs 106 are converted into digital signals by the A/D conversion portions 206 and input to the CPU 204. The CPU 204 processes the data converted into digital signals by each A/D conversion portion 206, and transmits the processed data as image data via the IF portion 203 to an external device connected via a USB or LAN. A power supply portion 205 generates a voltage required for each portion and supplies power. The memory 208 is capable of storing image data of multiple lines.
Referring to
When a correction value is obtained in advance, a correction value is obtained by reading a predetermined document prepared in advance at the factory or by the user. The same correction value is subsequently used for each reading. In this case, since it is not necessary to obtain a correction value for each reading, it is possible to reduce the reading time and improve productivity.
In contrast, when a correction value is obtained for each reading, a correction value is obtained by reading a predetermined document before reading, or by reading a document on which a pattern for obtaining a correction value is printed in the header portion of the document. In this case, the current error components can be timely corrected, achieving highly accurate reading.
In the calibration process, at step S301, the CPU 204 first receives an input from the user pressing the calibration start button of the operation portion 103. This step places the scanner 100 into a state of waiting for insertion of a special document for calibration. Hereinafter, for the sake of simplicity, “Step S . . . ” will be abbreviated to “S . . . ”.
At S302, the CPU 204 determines whether insertion of a document 110 for calibration set by the user has been detected. If the determination result at this step is true, that is, if insertion of the document 110 is detected, the process proceeds to S303. If the determination result at this step is false, that is, if insertion of the document 110 has not been detected, the insertion detection determination of the document 110 is performed again at S302.
At S303, the CPU 204 controls the conveyance motor 201 to convey the document 110 to the reading start position. When the document 110 is conveyed to the reading start position, the process proceeds to S304.
At S304, the CPU 204 starts an image reading operation and stores the data obtained by the reading (referred to as read data) in the memory 208.
At S305, the CPU 204 determines whether reading for a predetermined length has been completed at S304. If the determination result at this step is true, that is, reading for the predetermined length has been completed, the process proceeds to S306. If the determination result at this step is false and reading for the predetermined length has not been completed, the reading operation is continued until reading for the predetermined length is completed, and the determination is performed again at S305.
At S306, the CPU 204 ends the image reading operation and conveys the document 110 to the paper discharge position. When the image reading operation is completed, the process proceeds to S307.
At S307, the CPU 204 performs a correction value obtainment process. The correction value obtained at this step is stored in the memory 208, and is read out and applied during normal reading operations. Step S307 may be started before the conveyance of the document 110 to the paper discharge position is completed.
Referring to
As shown in
Referring to
The dot pattern 401 located at one end of the calibration chart 400 in the main scanning direction p and at one end of the sub-scanning direction q, which is the dot pattern 401 at the upper left corner in
The dot pattern group Gr2 is adjacent to the dot pattern group Gr1 in the main scanning direction p, and is formed by three second dot columns. In the first embodiment, the interval between the dot patterns 401 in the dot pattern group Gr1 and the dot pattern group Gr2 that are adjacent to each other in the main scanning direction p is the distance D. The dot patterns 401 in the dot pattern group Gr2 are the third to fifth dot patterns 401 from the dot pattern 401a in the dot pattern group Gr1 in the main scanning direction p. The sub-scanning direction positions of the dot patterns 401 in the dot pattern group Gr2 are offset by a distance D/M from the dot patterns 401 in the dot pattern group Gr1. That is, the amount of offset of the dot patterns 401 in the sub-scanning direction q is a distance obtained by dividing the distance D by M.
Similarly, the sub-scanning direction positions of the dot patterns 401 in the dot pattern group Gr3 adjacent to the dot pattern group Gr2 are offset by the distance D/M from the dot patterns 401 in the dot pattern group Gr2. In this manner, a dot pattern group is formed by arranging dot patterns 401 offset from the dot patterns 401 of the adjacent dot pattern group by the distance D/M in the sub-scanning direction q, and a total of M dot pattern groups are formed. That is, the sub-scanning direction positions of the dot patterns 401 in the dot pattern group GrM are offset from the dot patterns 401 in the dot pattern group Gr1 by a distance (D×(M−1))/M. The dot pattern group GrM is the dot pattern group located at the edge of the calibration chart 400 opposite to the dot pattern group Gr1 in the width direction. The dot pattern group GrM includes three Mth dot columns. By arranging the dot patterns 401 in this manner, the dot pattern groups Gr1 to GrM are formed. In the overall dot patterns in this arrangement, dots of other dot pattern groups are interpolated at regular intervals between dots of the reference dot pattern group Gr1 in the sub-scanning direction q.
Here, the number of divisions M, which is also the total number of dot pattern groups, is preferably defined as a number that satisfies M≥D/(2×R), where R is the radius of the dot patterns 401. This is because all dot patterns 401 are arranged without gaps in between in the sub-scanning direction q when the number of divisions M satisfies the above expression and the amount of offset between dot pattern groups in the sub-scanning direction q is set to a distance D/M. In other words, satisfying the above conditions causes dot patterns 401 that are adjacent in the sub-scanning direction q to overlap each other if all dot patterns 401 are arranged at the same position in the main scanning direction p. In the first embodiment, the dot chart is arranged so that the offset between the sub-scanning coordinates of adjacent dot pattern groups is D/M, but there is no limitation to this. It is also preferable to set the offset between the sub-scanning coordinates to a multiple of D/M.
At S502, the CPU 204 performs processing for obtaining the inclination angles of the CISs 106. The circular dot patterns 401 are arranged concentrically so that the sum of the coordinates with respect to the reference coordinates is zero. In the first embodiment, this arrangement relationship is used to obtain the inclination angle. The processing of obtaining the inclination angles at this step is processing for limiting misalignment of stitching positions 113 when the read data is stitched together. The information on the inclination angles of the CISs 106 obtained at this step allows read images to be stitched with high accuracy at a later step. In the processing of obtaining correction values, which will be described below, the correction values corresponding to the inclination angles of the CISs 106 obtained at step S502 are applied in advance before the processing is performed.
At S503, the CPU 204 performs processing of obtaining the sub-scanning direction magnification based on the document conveyance rollers 107, 108. The processing of obtaining the sub-scanning direction magnification based on the document conveyance rollers 107, 108 is processing of obtaining the sub-scanning direction magnification based on diameter errors of the document conveyance rollers 107, 108, which affect the overall reading result of the scanner 100.
At S504, the CPU 204 performs processing of limiting the influence of eccentricity of the document conveyance rollers 107, 108. This step is processing for correcting a reading error in the sub-scanning direction q caused by eccentricity of the document conveyance rollers 107, 108, which affects the overall reading result of the scanner 100, for example by calculating the eccentricity rates of the document conveyance rollers 107, 108.
At S505, the CPU 204 performs processing of obtaining the main scanning direction magnification based on an inter-chip step. The processing of obtaining the main scanning direction magnification based on an inter-chip step is processing for correcting a reading error in the main scanning direction p caused by a gap between chips located inside of the CISs 106.
At S506, the CPU 204 performs processing of obtaining stitching positions. The stitching position obtainment processing is processing for accurately stitching together the reading results of the CISs 106, and is processing of obtaining stitching positions 113 by applying in advance the correction values that correspond to the respective steps and are obtained from the results of S502 to S505. This completes the calibration involving the obtainment of each correction value.
Referring to
At S702, the CPU 204 determines, on the basis of the pixel data extracted at S701, whether there are any successive pixels in the main scanning direction p whose tone values exceed a threshold value Xt. For this determination, the image data is binarized for each pixel as shown in the right side of
At S703, the CPU 204 obtains the central coordinates of the dot pattern 401 in the main scanning direction p. Specifically, the position of the central pixel of the successive pixels whose tone values exceed the threshold value Xt is obtained as the central coordinates in the main scanning direction p.
At S704, the CPU 204 determines whether obtainment of all central coordinates in the main scanning direction p, that is, the central coordinates in the main scanning direction p of all lines in the sub-scanning direction q has been completed. If the determination result at this step is true, that is, if obtainment of all central coordinates in the main scanning direction p has been completed, the process proceeds to S706. If the determination result at this step is false, that is, if there are any central coordinates among all center coordinates in the main scanning direction p that have not been obtained, the process proceeds to S705.
At S705, the CPU 204 advances the position of interest in the sub-scanning direction q by one pixel in the sub-scanning direction q. Then, the process proceeds to S701, where pixel data is extracted at the new position of interest. In this manner, steps S701 to S705 are repeated until obtainment of all central coordinates in the main scanning direction p is completed.
At S706, the CPU 204 calculates the average of the obtained central coordinates in the main scanning direction p, and sets the calculated average value as the center coordinates 601 of the circular dot pattern 401, which is a lattice point. The position in the sub-scanning direction q of the center coordinates 601 may be, for example, the position of the line at the center in the sub-scanning direction q among the lines having successive pixels in the main scanning direction p whose tone values exceed the threshold value Xt. In this manner, in the scanner 100, the CPU 204 functions as a first obtainment means that obtains the coordinates of each of the multiple dot patterns 401 printed on the calibration chart 400.
When consideration is given to a reading error due to dust in obtaining the central coordinates in the main scanning direction p, it is preferable to use larger dot patterns 401. Also, when consideration is given to a reading error due to gaps between chips of the CISs 106, the center coordinates need to be obtained by selecting a section that does not straddle chips in obtaining the coordinates of the main scanning direction p.
The shape of the dot pattern does not necessarily have to be circular, but a substantially circular shape as shown in
Referring to
At S802, the CPU 204 selects processing target coordinates on the basis of the center coordinate data of circular dot patterns 401. Specifically, the center coordinates 601 of the circular dot patterns 401 included in the main scanning section determined at S801 is searched for in the sub-scanning direction q. Then, from the center coordinates 601 detected by the search, a reference point and a main-scanning distance measurement point are first selected. The reference point and the main-scanning distance measurement point are the center coordinates 601 of dot patterns 401 that have the same coordinate in the sub-scanning direction q in the chart. As the reference point and the main-scanning distance measurement point, points are selected that are located on opposite sides of the pixel located at the center of the predetermined main scanning section of the sensor chip that reads the main scanning section. Here, of the two selected center coordinates 601, the center coordinates 601 on the reference side in the main scanning direction (the side corresponding to the leading pixel) are selected as the reference point, and the other center coordinates 601 are selected as the main-scanning distance measurement point.
After selecting the reference point and the main-scanning distance measurement point, the CPU 204 selects a sub-scanning distance measurement point. The sub-scanning distance measurement point is the center coordinates of a circular dot pattern 401 having the same coordinate in the main scanning direction p in the chart, and a coordinate point is selected that is located at a position in the chart where the distance between the reference point and the main-scanning distance measurement point and the distance between the reference point and the sub-scanning distance measurement point are the same. In this manner, the CPU 204 obtains the main scanning direction distance (width direction distance) between the reference dot pattern serving as a reference and the dot pattern adjacent to the reference dot pattern in the main scanning direction p. Similarly, the CPU 204 obtains the sub-scanning direction distance (conveyance direction distance) between the reference dot pattern and a dot pattern adjacent to the reference dot pattern in the sub-scanning direction q.
At S803, the CPU 204 converts each distance measurement point into relative coordinates of the distance measurement points centered on the coordinates A11, which are the reference coordinates. When the coordinates of A11 after conversion are A11a (0, 0), A12 is converted into A12a (x12a, y12a), and A21 is converted into A21a (x21a, y21a). In this case, x12a=x12−x11, y12a=y12−y11, x21a=x21−x11, and y21a=y21−y11. In this case, y21a is synonymous with the sub-scanning direction distance between A11a and A21a (conveyance direction distance), and x12a is synonymous with the main scanning direction distance between A11a and A12a (width direction distance). A specific description is given below using these coordinates.
At S804, the CPU 204 corrects the coordinates converted at S803 (in this example, the converted coordinates A12a and A21a) on the basis of the correction value associated with the inclination information of the CIS 106 obtained in the inclination angle obtainment processing at S502. When the inclination angle of the relevant chip is determined to be φ by the immediately preceding inclination detection of the CIS 106, A12a and A21a are converted into A12b (x12b, y12b) and A21b (x21b, y21b), respectively, with the coordinate A11a as the reference point. This correction processing may be omitted when the inclination of the CIS 106 or the chip 901 is mechanically limited and the tolerance does not affect the reading result. S804 allows for the obtainment of the main scanning direction distance x21b, which is the distance between the reference point and the converted main-scanning distance measurement point A12b, and the sub-scanning direction distance y12b, which is the distance between the reference point and the converted sub-scanning distance measurement point A21b.
At S805, the CPU 204 stores the main scanning direction distance x21b and the sub-scanning direction distance y12b calculated at S804 in the memory 208 as distance data for the coordinates A11, which is the reference coordinates. The above is the flow of the processing of obtaining the conveyance data information for one reference point, and similar processing is performed for the other arranged center coordinates 601. In the scanner 100, the CPU 204 functions as a second obtainment means that obtains, on the basis of the coordinates of the dot patterns 401, the distance in the main scanning direction p and the distance in the sub-scanning direction q between the coordinates of the dot patterns 401. Furthermore, the second obtainment means also obtains correction data by correcting these distances on the basis of the correction value associated with the inclination information of the CIS 106.
At S806, the CPU 204 determines, on the basis of the stored center coordinate data, if there are center coordinates 601 remaining that can be selected as a reference point. If the determination result at this step is true, that is, if there are no remaining center coordinates 601 that can be selected as a reference point, the process proceeds to S807. If the determination result of this step is false, that is, if center coordinates 601 that can be selected remain, the center coordinates 601 of the circular dot pattern 401 are selected by shifting the reference point by one in the sub-scanning direction q from the center coordinates 601 last selected as the reference point. In this manner, the CPU 204 obtains multiple distances in the main scanning direction p and multiple distances in the sub-scanning direction q between the coordinates of the dot patterns 401 while shifting the reference point in the sub-scanning direction q.
In this manner, the center coordinates of A11 to A(N−1)1 are selected as reference points, and the distance to each distance measurement point is obtained with the selected reference point as the center and recorded in the memory 208. Selecting A(N−1)1 as the reference point causes AN1 to become the sub-scanning distance measurement point for A(N−1)1. Since there is no data beyond that, the process ends. When distance data for all sections is collected, at S807, the CPU 204 reads the data from the memory 208 and calculates the sub-scanning direction magnification Ms. The sub-scanning direction magnification Ms is a value obtained by dividing the sum of the main scanning direction distances by the sum of the sub-scanning direction distances, and can be calculated by the following expression (1).
The sub-scanning direction magnification Ms obtained by the above calculation can be reflected in the generation timing of a line reading start trigger, enlargement/reduction correction in image processing, and the like.
Referring to
The error due to eccentricity can be obtained by using the sub-scanning direction distances (y21b, y31b, . . . , yN1b) in the converted coordinate data used when obtaining the sub-scanning direction magnification Ms described above. In the processing of limiting the effects of eccentricity, first at S1101, to obtain an error due to eccentricity with high accuracy, the flow of obtaining the sub-scanning direction magnification shown in
At S1102, the sub-scanning direction distance is obtained from the converted coordinate data obtained at S1101, and the obtained value is divided by the sub-scanning direction magnification Ms. The sub-scanning direction distance refers to the distance (yN1b) between the converted coordinate data adjacent in the sub-scanning direction q, indicated by y21a in
The divided sub-scanning direction distance Δy is recorded in the memory 208 in a pair with the relative coordinates with the reference coordinate as 0. The same processing is performed for all the coordinate data.
The sub-scanning direction distance Δy obtained at S1102 may be regarded as the conveyance amount per short-term section of the document conveyance rollers 107, 108. As such, at S1103, the CPU 204 obtains an approximation curve with the vertical axis representing the sub-scanning direction distance Δy (the conveyance amount per unit section) and the horizontal axis representing the cumulative added value y (the conveyance amount added value) of the sub-scanning direction distance Δy.
For example, with a configuration in which the dot patterns 401 of the calibration chart 400 are arranged side by side in the sub-scanning direction q without being offset in the main scanning direction p, the data obtained for creating the approximation curve is limited to that shown in
At S1104, the CPU 204 stores a timing correction value. The use of the equation of the approximation curve obtained at S1103 allows a correction value to be obtained for reading an image by the CIS 106 at any rotation angle of the document conveyance rollers 107, 108. In this example, the correction value for reading an image by the CIS 106 is a value for correcting the generation timing of a reading start trigger. The memory 208 of the scanner 100 stores a table for holding timing correction values for the conveyance amount per unit section, and the timing correction value obtained at S1104 is held in this table. In the scanner 100, the CPU 204 functions as a third obtainment means that obtains a correction value for correcting the generation timing of a reading start trigger for the CIS 106 on the basis of the distance between dot patterns and the amount of conveyance per unit section of the document conveyance rollers 107, 108.
The timing correction data held in the timing correction table is read out during normal reading operations and is used to perform fine adjustment of the generation timing of a line reading start trigger. As a result of this fine adjustment, for sections where the conveyance amount in the unit section is greater than the theoretical value, the generation timing of a line reading start trigger is earlier than the initial value, and for sections where the conveyance amount in the unit section is less than the theoretical value, the generation timing is later than the initial value. As a result, even when there are variations in the conveyance amount due to eccentricity of the document conveyance rollers 107, 108, the line reading cycle is constant, thereby improving the reading quality.
According to the configuration of the first embodiment, the use of the read data of dot patterns 401 arranged at different main scanning coordinates so as to interpolate between dot patterns in the sub-scanning direction q allows the influence of eccentricity to be obtained with high resolution even when the distance between dot patterns cannot be short. This enables the obtainment of a highly accurate approximation curve equation and the determination of the generation timing of a reading start trigger with high accuracy, thereby allowing the scanner 100 to read images with high accuracy.
When the size of the dot patterns is small, any dirt or dust on the calibration chart tends to result in erroneous detection of the center coordinates of patterns during calibration reading. The use of the present technology allows the dot patterns to have a size that is large enough to be unaffected by dirt or dust. When only the coordinates of dot patterns arranged on the same main scanning coordinate are used, the intervals between plots are large, causing the accuracy to be insufficient near the maximum amplitude of the curve. In contrast, the above scanner 100 can obtain an approximation curve equation with higher accuracy by using a large amount of coordinate data. At the same time, since it is possible to obtain an approximation curve equation from a large amount of coordinate data, the above-described scanner 100 can also reduce the influence of minute variations of the coordinates caused by reading errors.
In applying the present invention, the processing described in the above embodiments as being performed by one apparatus may be shared and executed by multiple apparatuses. Alternatively, the processing described as being performed by different apparatuses may be performed by a single apparatus. For example, the scanner 100 may include multiple CPUs separately serving as a first obtainment means for obtaining the coordinates of the dot patterns 401, a second obtainment means for obtaining the distances between the coordinates of the dot patterns 401, and a third obtainment means for obtaining correction values. In this manner, in a computer system, the hardware configuration that provides each function may be flexibly changed.
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. 2023-212165, filed on Dec. 15, 2023, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2023-212165 | Dec 2023 | JP | national |