This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2008-204363 filed Aug. 7, 2008.
1. Technical Field
The present invention relates to a detection device, an image reading control device, and a recording medium in which is recorded an error correction program of a detection device.
2. Related Art
In a photoelectric conversion element group (below, called a “line sensor module”) that is disposed with photoelectric conversion elements (below, called “chips”) where plural photoelectric conversion pixels (below, simply called “pixels”) are arrayed at least in one direction and which has a predetermined reading width as a result of plural chips being arrayed in the one direction, assembly error arises in gaps between the chips.
In view of the cutting margin of the chips and mounting technology capability under current conditions, it is physically close to impossible to make the pixel pitch across the chips the same distance as the pixel pitch inside the chips.
It will be noted that, when the chips are arrayed in one row and assembled, a certain degree of assembly error arises, and it is common to dispose an allowable error beforehand. It is easy to keep the gaps between the chips within the range of this allowable error.
According to an aspect of the invention, there is provided a detection device. The detection device includes: a setting component that, in a photoelectric conversion element group that is intended for photoelectric conversion elements where plural photoelectric conversion pixels are arrayed at least in one direction and that has a predetermined reading width as a result of plural photoelectric conversion elements being arrayed in the one direction, sets, as an initial setting and in joints between the photoelectric conversion elements, interpolation pixels that are interpolated by reading information that surrounding photoelectric conversion pixels have read; a measuring component that measures joint quantities between the photoelectric conversion elements that are dependent on precision when arraying the plural photoelectric conversion elements; an accumulating component that accumulates error quantities of the joints that are obtained from the joint quantities that have been measured by the joint quantity measuring component and a reference quantity; a determining component that determines whether or not the accumulated error quantity in the joint error quantity accumulating component has exceeded an allowable range; and an increasing/decreasing component that increases/decreases, on the basis of direction of error, interpolation pixels between specific photoelectric conversion elements when it has been determined by the determining component that the accumulated error quantity in the joint error quantity accumulating component has exceeded the allowable range.
An exemplary embodiment of the present invention will be described in detail based on the following figures, wherein:
In
The reading controller 10 is disposed with a main control unit 12 that generally manages and controls processing related to image reading.
The main control unit 12 includes a CPU 14, a RAM 16, a ROM 18, an I/O (input/output unit) 20 and a bus 22 such as a data bus or a control bus that interconnects these.
A reading drive system control unit 24 is connected to the I/O 20. The reading drive system control unit 24 controls a drive system of a feeder unit when reading, while conveying, a document and a drive system such as an optical system moving unit for reading an image of a document that has been placed and positioned on a document platen. It will be noted that a document that has been positioned on the document platen is scanned by this optical system moving unit, whereby that scanning light is guided to an image reading device line sensor module 26. In this case, a condensing lens is disposed in the optical system moving unit such that a main scanning direction of an image that has been read is condensed and read by the image reading device line sensor module 26.
The CPU 14 reads various types of programs for performing reading control that are stored in the ROM 18 and performs execution of later-described processing. It will be noted that it is also possible to store and provide these programs in a portable storage medium such as a CD-ROM or the like.
The image reading device line sensor module 26 and a feeder unit line sensor module 28, which is attached to the feeder unit, are connected to the I/O 20.
The difference between the feeder unit line sensor module 28 and the image reading device line sensor module 26 is that, whereas the feeder unit line sensor module 28 corresponds to the reading width of a document, the image reading device line sensor module 26 is reduced by a predetermined magnification ratio with respect to the reading width of a document. In the exemplary embodiment of the present invention, hereinafter, when there is no particular description, this will indicate the feeder unit line sensor module 28 (below, simply called “the line sensor module 28”).
Further, a UI (user interface) 30 is connected to the I/O 20. The UI 30 has the role of receiving input instructions from a user and informing the user of information related to image processing.
Moreover, a hard disk 32 is connected to the I/O 20. The hard disk 32 has the role of storing image data that have been read, for example.
As shown in
Each of the sensor chips 28A is configured such that its sensor surface (light-receiving surface) has a long and narrow rectangular shape whose longitudinal direction is in the array direction and such that G (G is a positive integer) number of pixels (photoelectric conversion pixels) 28B are arrayed at a predetermined pixel pitch p (see
In each of the sensor chips 28A, a casing 28C is disposed so as to surround the pixels 28B.
As shown in
Thus, in the exemplary embodiment of the present invention, a gap g′ (whose ideal value is g) is disposed between the sensor chips 28A, the pixel pitch p′ across the two sensor chips 28A is made equal to two times the pixel pitch p inside one of the sensor chips 28A (p′=2×p), and a hypothetical pixel (interpolation pixel) 28V is embedded between the two sensor chips 28A. As a result, in the data row that has been read by the line sensor module 28, one interpolation pixel 28V each becomes disposed between the sensor chips 28A (initial setting).
As a result, the data row can become data that are always read at the equal pitch p in terms of appearance both inside one of the sensor chips 28A and across two of the sensor chips 28A.
Specific numerical values of elements for specifying the line sensor module 28 that is applied to the exemplary embodiment of the present invention, including the variable N and p, are indicated below.
Number-of-sensor-chips N: 32
Number-of-pixels G in sensor chip unit: 228
Pitch dimension p of each pixel 28B inside sensor chip: 42.33 μm
Gap g (ideal value) between sensor chips: 42 μm
It will be noted that, in the exemplary embodiment of the present invention, the gap g (ideal value) is different from the pixel pitch p′ and is a gap between the outlines of the sensor chips 28A, but the gap g may also be the same as the pixel pitch p′.
Incidentally, in the sensor module 28 of the above-described configuration, when the sensor chips 28A are arrayed with theoretical precision and the concentration of a reference concentration pitch (a pattern image whose concentration changes in direct proportion along the main scanning direction (a reading direction resulting from the sensor module 28)) is read, as indicated by the chain line in
Incidentally, in assembling the sensor chips 28A, assembly error arises because of physical factors. Thus, an allowable error is disposed in the gaps between the sensor chips 28A. This allowable error is configured to be ±15 μm with respect to the gap g (ideal value) on the basis of the specific numerical values. Setting of this allowable error is dependent on the reading resolution of the line sensor module 28 that is to be mounted, but in the exemplary embodiment of the present invention, it is configured to be in a range where there are no problems in terms of precision as long as it is in the above-described range of allowable error.
Here, in relation to assembling the sensor chips 28A in the above-described range of allowable error, there are no problems; however, for example, as for error tendency, the potential for errors to become concentrated in the same direction (plus or minus) when assembling one of the sensor modules 28 is high.
For this reason, errors gradually become accumulated from one end (e.g., the left end, which is where reading starts, when seen in planar view) of the sensor module 28 whose assembly has been completed. This accumulation of errors affects the reading width of the sensor module 28, and the length (the length to the other end (e.g., the right end, which is the terminal end of reading, when seen in planar view) with the one end serving as a reference) of the sensor module 28 under the above-described specific numerical values becomes ±0.465 mm and even reaches about ±0.15% of the total length that becomes a reference (see
Thus, in the exemplary embodiment of the present invention, errors (errors corresponding to one pitch of the pixels) are offset by measuring the gaps g′(n) between the sensor chips 28A in order from the left end of the sensor module 28, accumulating errors ΔL′(n) of the gaps (accumulated value ΔL(n)), and increasing/decreasing the interpolation pixels 28V at a point in time when this accumulated value (absolute value) |ΔL(n)| exceeds the ideal value g of the gaps.
Further, this increase/decrease processing control of the interpolation pixels 28V is repeated and executed until the right end (terminal end) of the sensor module 28 such that, at each time of that increase/decrease processing, errors corresponding to one pitch of the pixels are offset.
g′(n): actual measured values of gaps between sensor chips 28A
ΔL′(n): errors of gaps between sensor chips 28A→ΔL′(n)=g′(n)−g
ΔL: accumulated value of gaps ΔL′(n) between sensor chips 28A→ΔL=ΔL+ΔL′
Here, n represents gap numbers that are the same as the numbers of the sensor chips 28A and are ordinarily 1, 2 to N−1 from the left end.
As for actual measurement of the gaps g′, for example, a reference image whose concentration gradually continuously changes along the reading width direction is read using the sensor module 28, and the data that have been read are analyzed. If the pixel pitch dimension p is constant, then it has a continuous change-in-concentration data change characteristic following the reference image, but joint portions between the sensor chips 28A are different from the pixel pitch p′ because of gap errors, so they should become discontinuous data (step data) deviant from the reference image. By extracting the discontinuous data, the gaps g′ are obtained.
The sensor module 28 is connected to a sensor driver 50, and reading is executed by an instruction from this sensor driver 50.
The sensor driver 50 is connected to an image reading execution instructing unit 52, a data analyzing unit 54 and an interpolation processing unit 56.
The image reading execution instructing unit 52 outputs an execution instruction command to the sensor driver 50 on the basis of a reading instruction from a reading instruction command analyzing unit 58. Among the commands inputted to the reading instruction command analyzing unit 58, there are a reference image reading instruction and a normal image reading instruction, and when there is the reference image reading instruction, the aforementioned interpolation pixel increase/decrease control is executed. In this case, as a document, the line sensor module 28 reads a reference document with a concentration characteristic such as indicated by the chain line in
It will be noted that the normal image reading instruction is an instruction during the work of reading a document image by normal operation, and in this case, image data that have been read by the line sensor module 28 are sent to a data register 60 via the interpolation processing unit 56. The data register 60 has the role of temporarily storing image data and, as needed, transferring image data to the hard disk 32 and the like.
Image data (reference image data) in the case where the line sensor module 28 has read a reference image document based on the reference image reading instruction are sent to the data analyzing unit 54.
The data analyzing unit 54 extracts the gap data g′(n) on the basis of the reference image data that have been inputted.
The data analyzing unit 54 is connected to a gap error computing unit 62 and a counter 64.
The gap data g′(n) that have been extracted by the data analyzing unit 54 are sent to the gap error computing unit 62. The gap error computing unit 62 is connected to a gap (ideal value) memory 66, and the gaps (ideal value) g are inputted. Thus, in the gap error computing unit 62, the gap errors ΔL′(n) are computed (ΔL′(n)=g′(n)−g).
The gap errors ΔL′(n) that have been computed are temporarily stored in a gap error temporary storing unit 68. It will be noted that the value of n at this time corresponds to the number of gap data that have been extracted by the data analyzing unit 54, and n is 1 to (N−1).
Further, when reference image data are inputted to the data analyzing unit 54, the data analyzing unit 54 causes the counter 64 to start up.
The number-of-sensor-chips N is inputted to this counter 64 from a number-of-sensor-chips memory 70, and the counter 64 has the role of incrementing the count value n (n is 1 to N−1) in response to a later-described input trigger signal (a trigger signal from an error accumulated value computing unit 72) and sending this n value to the gap error temporary storing unit 68.
The gap errors ΔL′(n) that have been stored in the gap error temporary storing unit 68 are sent to the error accumulated value computing unit 72 in response to a signal from the counter 64.
The error accumulated value computing unit 72 accumulates the errors (ΔL=ΔL+ΔL′(n)) and sends the result to a comparing unit 74. It will be noted that the error accumulated value computing unit 72 sends a trigger signal to the counter 64 each time the error accumulated value computing unit 72 accumulates.
The comparing unit 74 is connected to the gap (ideal value) memory 66 and compares the error accumulated value ΔL and the ideal value g inputted from this gap (ideal value) memory 66. The comparing unit 74 sends a comparison result of either ΔL<g or ΔL≧g to a determining unit 76.
The determining unit 76 is connected to an interpolation pixel increase/decrease processing unit 78, and interpolation pixel increase/decrease processing is executed on the basis of the determination result (including not increasing/decreasing).
Further, the determining unit 76 is connected to the error accumulated value computing unit 72. The determining unit 76 outputs an instruction signal for adding or subtracting, by a quantity corresponding to interpolation (that is, by a quantity corresponding to one pixel pitch), the error accumulated value ΔL with respect to the error accumulated value computing unit 72 when there is an increase/decrease in the interpolation pixels resulting from the determination result.
The interpolation pixel increase/decrease processing unit 78 is connected to the interpolation processing unit 56. The interpolation processing unit 56 is connected to the data register 60 and generates, and sends to the data register 60, image data of an interpolation image that has been increased/decreased with respect to the image data that the line sensor module 28 has read under the normal image reading instruction inputted to the interpolation processing unit 56 from the sensor driver 50.
The action of the exemplary embodiment of the present invention will be described below in accordance with the flowchart of
In the next step 104, the control routine respectively sets the variable n and ΔL to initial values (the control routine sets the variable n to 1 and sets ΔL to 0) and then moves to step 106.
In step 106, the control routine measures the gap data g′, then moves to step 108, computes the gap errors ΔL′(n), then moves to the next step 110, saves this computation result, and then moves to step 112.
In step 112, the control routine accumulates (ΔL) the saved gap errors ΔL′(n), next moves to step 114, and compares the absolute value of the accumulated gap error ΔL and the ideal chip gap g.
In step 114, when it is determined that |ΔL|<g, then the control routine judges that there is no error of an extent leading to increase/decrease of the interpolation pixels, moves to step 116, increments the variable n, and moves to step 118. In step 118, it is judged whether or not the variable n that has been incremented has become equal to N (that is, whether or not the variable n has exceeded a number of gaps one less than the number-of-sensor-chips N). When it is determined that the answer is NO, then the control routine judges that gaps still remain, returns to step 106, and repeats the above-described process.
Further, in step 118, when the determination is positive, then the control routine judges that measuring and determination of all gaps have ended, and this routine ends.
On the other hand, in step 114, when it is determined that |ΔL|≧g, then the control routine moves to step 120, subtracts the ideal gap g from the current accumulated error, and moves to step 122.
In step 122, the control routine extracts a gap that has a maximum error (where the error ΔL′ is a maximum value) in a range from initial determination or restart determination to until the current point in time.
In the next step 124, the control routine judges whether the extracted error ΔL′(n) is plus or minus. When the extracted error ΔL′(n) is plus, then the control routine moves to step 126 and adds one interpolation pixel. When the extracted error ΔL′(n) is minus, then the control routine moves to step 128 and deletes one interpolation pixel. After either step 126 or step 128, the control routine returns to step 106 (re-determination).
It will be noted that, in the exemplary embodiment of the present invention, although the joint quantities have been described as being the dimensions of the gaps between the sensor chips, the joints are not limited to the gaps between the sensor chips and may also be the pixel pitch of end portions of adjacent sensor chips. Further, in a broad sense, it is also not necessary to limit the joints to end portions, and the joints may also be distances between any pixels of adjacent sensor chips.
It will be noted that the comparative example is an example of a case that does not have the characteristics pertaining to the exemplary embodiment of the present invention. That is, in the comparative example, the initial setting of the data row is always maintained. The data row of the initial setting is a data row where one each of the interpolation pixels 28V is disposed between the sensor chips 28A.
On the other hand, in contrast to this comparative example, the data row of the exemplary embodiment of the present invention is configured such that the interpolation pixels are appropriately increased/decreased on the basis of error quantities of the gaps between the sensor chips 28A.
That is, in the initial setting, in the same manner as the data row of the comparative example, one each of the interpolation pixels 28V is set between the sensor chips 28A.
(Example of Accumulation of Plus Errors)
In accordance with the chart in
Thus, using these inter-sensor chip 28A spaces (1) to (4) as a determination block, the place with the largest error (here, the inter-sensor chip 28A space (2)) of the gaps belonging within this determination block is extracted, and one interpolation pixel 28V is added because the error is plus error (see
(Example of Accumulation of Minus Error)
In accordance with the chart in
Thus, using these inter-sensor chip 28A spaces (11) to (13) as a determination block, the place with the largest error (here, the inter-sensor chip 28A space (12)) of the gaps belonging within this determination block is extracted, and one interpolation pixel 28V is deleted because the error is minus error (see
(Design According to Interpolation Pixel Increase/Decrease)
In the comparative example of
In contrast, in the exemplary embodiment of the present invention, it will be understood that, even if the errors of the gaps are gradually accumulated, errors corresponding to that quantity are offset by executing increase/decrease of the interpolation pixels 28V as mentioned above, and slanting of the corresponding arrows between the positions of the pixels of the sensor chips 28A and the data row is limited and does not deviate from the actual reading width beyond that limitation.
Number | Date | Country | Kind |
---|---|---|---|
2008-204363 | Aug 2008 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5315412 | Mihara et al. | May 1994 | A |
5587814 | Mihara et al. | Dec 1996 | A |
7123388 | Ichihashi | Oct 2006 | B2 |
7164509 | Machida | Jan 2007 | B2 |
20090074330 | Hamada et al. | Mar 2009 | A1 |
20100183237 | Yamanaka | Jul 2010 | A1 |
20110038018 | Kurigata | Feb 2011 | A1 |
Number | Date | Country |
---|---|---|
2006-079318 | Mar 2006 | JP |
Number | Date | Country | |
---|---|---|---|
20100033768 A1 | Feb 2010 | US |