Image reading apparatus including means for accurately determining the location of read image information
This application is a continuation of application Ser. No. 642,269 filed Aug. 20, 1984, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an image reading apparatus for reading image information. 
     2. Description of the Prior Art 
     Various types of conventional apparatuses have been reported which read image information by using line sensors or contact sensors. 
     When image information is read by a contact reading apparatus which is brought into tight contact with the surface of an original, the reading apparatus is fixed in position while the original is fed at a constant speed according to a conventional method. However, it is difficult for this conventional reading apparatus to record an original such as a thick book or the like. In addition to this disadvantage, an original feed apparatus is required to feed the original at a constant speed, resulting in a large size and high cost. In order to overcome these drawbacks, a method is proposed wherein an original is fixed while a reading apparatus is moved. In this case, an original feed apparatus is not required. However, when the reading apparatus is fed at an arbitrary speed along an arbitrary direction, the image is recorded twice or partially omitted, resulting in inconvenience. In addition to these disadvantages, the feed speed and direction of the reading apparatus are limited, resulting in a large size and high cost. In addition, information pertaining to the location of the image information on the original (hereinafter &#34;location information of the image&#34;) cannot be obtained. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to eliminate the above drawbacks. 
     It is another object of the present invention to improve an image reading apparatus. 
     It is still another object of the present invention to provide an image reading apparatus which can be fed at an arbitrary speed. 
     It is still another object of the present invention to provide an image reading apparatus for preventing image reading errors. 
     It is still another object of the present invention to provide an image reading apparatus for recognizing location information of image information. 
     It is still another object of the present invention to provide an image reading apparatus capable of detecting a ramp state in scanning. 
     It is still another object of the present invention to provide an image reading apparatus for issuing an alarm to warn of a reading error. 
    
    
     The above and other objects, features and advantages of the present invention will be apparent from the following detailed description in conjunction with the accompanying drawings. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a perspective view showing the outer appearance of an image reading apparatus according to an embodiment of the present invention; 
     FIG. 2 is a sectional view of the image reading apparatus; 
     FIG. 3 shows a transparent sheet for detecting location information; 
     FIG. 4 is a block diagram of the image reading apparatus; 
     FIG. 5 is a flow chart showing a control program of the image reading apparatus; 
     FIG. 6 is a representation showing an example of data stored in a memory; 
     FIG. 7 is a representation showing reading positions of an image sensor; 
     FIG. 8 is a flow chart showing a location information determining program; 
     FIG. 9 is a block diagram for performing the flow chart of FIG. 8; and 
     FIG. 10 is a block diagram of an image reading apparatus according to another embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention will be described in detail with reference to the accompanying drawings. 
     FIG. 1 shows an image reading apparatus to which the present invention can be applied. Referring to FIG. 1, a portable image reading apparatus 1 is brought into contact with a location information detection transparent sheet 2. The transparent sheet 2 is placed on an original 3 to be recorded. The portable image reading apparatus 1 is moved along a direction indicated by arrow A. 
     FIG. 2 is a sectional view of this image reading apparatus. Stripes are formed by a chemical treatment (i.e., etching) in a surface of the transparent sheet 2 along a direction perpendicular to a subscan direction A. The stripes are equidistantly spaced apart at a (see FIG. 1) density of 8 stripes/mm, and each stripe has a width of 50μ. Along a main scan direction (direction indicated by arrow B), stripes are similarly formed in the sheet from its one end in such a manner that intervals are gradually increased. Any two adjacent stripes along the B direction have an interval difference more than the size of a pel of an image sensor 8. More specifically, if an initial interval between the first two stripes is given to be a mm, and an increment in the adjacent two stripe intervals is given to be 1 mm, the stripes are etched from one end of the transparent sheet 2 at increasing intervals a, a+1, . . . , a+n, . . . Since the transparent sheet 2 has an etched surface bearing the matrix stripes, reflection and transmission of light occur selectively in accordance with the angles of incidence of light. FIG. 3 shows the matrix stripes of the transparent sheet 2 in association with the image reading apparatus 1. It should be noted here that reference symbol A denotes a subscan direction, and B, the main scan direction. LED light sources 4, 6 and 13 serve as image information reading, location information reading and clock generation light sources, respectively. The LED arrays 4 and 6 are aligned along the A direction. 
     Light from the LED light source 4 can be incident on the transparent sheet 2 at an angle (more than 60° in this embodiment) to illuminate the original 3 even if the light irradiates the stripes. Light reflected by the original 3 is focused as image information on the image sensor (CCD) 8 through a lens 5. 
     Light from the LED light source 6 is reflected by an etched stripe in the transparent sheet 2 (although this light is incident on the sheet 2 at an angle of 30°). The light reflected by the transparent sheet 2 is focused on an image sensor 8&#39; through a lens 5&#39;. Location information pertaining to location along the main scan direction B is determined such that the light reflected by the stripes having the increasing intervals along the B direction is focused on the image sensor 8&#39;. In other words, since the intervals between any two adjacent stripes differ from each other (i.e., any two intervals are different), the location on the transparent sheet 2 can be immediately determined when a given stripe interval is detected. (This is sometime referred to hereinafter as &#34;absolute location information.&#34;) 
     Recording along the subscan direction A is performed as follows. Light emitted from the LED light source 13 and reflected by the stripes formed at a density of 8 stripes/mm along the direction perpendicular to the A direction is detected by a photo sensor 12 through a lens 5&#34;. An output from the photo sensor 12 is used as a read start clock. (Photosensor 12 thus serves as a detector to provide what is sometimes hereinafter called &#34;relative location information.&#34;) A control circuit 9 for the image sensors 8 and 8&#39; is driven in response to this clock so as to drive the image sensors 8 and 8&#39; in units of stripes, thereby performing subscan recording. For example, each of the image sensors 8 and 8&#39; has n pels each of which corresponds to an image surface portion of about 1/8 mm. Therefore, each image sensor has an 8-pel resolution. Every time the photo sensor 12 detects 8 stripes/mm etched along the direction perpendicular to the A direction, the image sensors 8 and 8&#39; are operated to record one-line data having n pels. The image sensors 8 and 8&#39; are arranged along the same direction. Memories 10 and 10&#39; store location information read by the image sensors 8 and 8&#39;, respectively. A battery 11 comprises a dry cell for operating the image reading apparatus, so that the apparatus can be made compact and portable so as to read image information anywhere at any time. 
     If the wavelength of light provided by the light source is rendered variable, only one light source need be used. The single light source is sequentially operated at different wavelengths, instead of turning on the LED arrays 4, 6 and 13. 
     FIG. 4 is a block diagram of the image reading apparatus according to an embodiment of the present invention. The control unit 9 comprises a main component a known one-chip microcomputer (CPU) 26 incorporating a ROM and a RAM. The image reading apparatus is controlled in accordance with a program stored in the ROM. FIG. 5 is a flow chart for explaining the operation of the control program. The operation of the image reading apparatus will be described with reference to FIGS. 4 and 5. 
     When the operator places the image reading apparatus on a surface of an image 3 through the transparent sheet 2 and moves the apparatus along the A direction while the apparatus is brought into tight contact with the transparent sheet 2, as shown in FIG. 1, an output port F0 is enabled to turn on the LED array 13 in step 1. Light reflected by the above-mentioned stripes is detected by the photo sensor 12, and a detection signal is supplied to an input port P0 so as to determine whether or not the stripes are detected. When the stripes are detected, the flow advances to step 2. 
     Output ports F1 and F2 are enabled to turn on the LED arrays 4 and 6 so as to obtain image information and location information, in step 2. A main scan counter, to be described later, is reset. An output port F3 is enabled to open a gate 20 so as to store data from the CCDs 8 and 8&#39; in the memories 10 and 10&#39;, and the flow advances to the next step. 
     When the LED arrays 4 and 6 are turned on, reflected light rays become incident on the image sensors 8 and 8&#39; and are stored as analog image and location information signals in the respective pels. 
     The gate 20 is enabled, to couple an output as read clocks from a reference oscillator (OSC) 21 to the image sensors 8 and 8&#39;. The analog signals from the respective pels are sequentially read out as serial data. More specifically, these analog signals are converted by A/D converters 22 and 23 to digital data having a predetermined number of bits. The digital data are then converted by image signal processing circuits 24 and 25 to binary signals which are then stored as video data in the memories 10 and 10&#39;, respectively. In addition, when the gate 20 is enabled, the output from the reference oscillator 21 is supplied to an input port P1. 
     In step 3, the clocks from the OSC 21 are continuously monitored. When the OSC clock is detected, address data is generated from an output port F4 in synchronism with the OSC clocks to determine the addresses of the memories 10 and 10&#39; for storing the video data. A W/R signal for the memories 10 and 10&#39; is set in the write mode and is generated from an output port F5, thereby storing the video data in a memory area at predetermined addresses. In step 4, the address data is incremented by one to determine the address for the next pel. At the same time, the main scan counter corresponding to the n pels of the CCD is incremented until the count reaches n. However, when the count has not reached n, the flow returns to step 3 wherein the video data corresponding to the next pels are repeatedly stored in synchronism with the corresponding clocks. When the count of the main scan counter has reached n, the one-line image information and one-line position information of the CCD along the main scan direction have been completely read, and the gate 20 is disabled (i.e., the output port F3 is disabled). In addition, the LED arrays 4 and 6 are turned off (i.e., the output ports F1 and F2 are disabled) (step 5), and the flow returns to step 1. The image reading apparatus is set in the standby mode until another stripe signal (read start signal) from the photo sensor 12 is received by the CPU 26. In this manner, every time the stripes etched along the direction perpendicular to the A direction are detected, the LED arrays 4 and 6 are turned on to cause the image sensors 8 and 8&#39; to read the image information and the location information which are then stored in memory locations at predetermined addresses of the memories 10 and 10&#39;, respectively. Identical image information is often read and stored in the memories 10 and 10&#39; since an arbitrary image area is scanned. However, each image information and the corresponding location information are stored in the memories 10 and 10&#39;, respectively, thereby preventing double storage. In order to read out the image information and the location information respectively from the memories 10 and 10&#39;, the R/W signal is set in the read mode to access predetermined addresses thereof, so that memory outputs 27 and 28 can be easily read out from the memories 10 and 10&#39;, respectively. 
     As is apparent from the above description, the image information and the location information are respectively stored in the memories 10 and 10&#39; in one-to-one correspondence. FIG. 6 shows the data stored in the memories 10 and 10&#39;. The data in the memory 10&#39; has n bits along the main scan direction. A bit of logic &#34;0&#34; in the memory 10&#39; indicates that a stripe is not detected, and a bit of logic &#34;1&#34; indicates that a stripe is detected. The data in the memory 10 also has n bits. However, a bit of logic &#34;0&#34; in the memory 10 indicates that the density of the image represents nearly white, and a bit of logic &#34;1&#34; indicates that the density of the image represents black. The number of bits between adjacent bits of logic &#34;1&#34; in the location information in the memory 10&#39; indicates the distance between the two adjacent etched stripes. In order to detect the number of bits between the bits of logic &#34;1&#34;, an external editing device (not shown) connected to the output 28 counts the number of bits. When the number M of bits between the two adjacent bits of logic &#34;1&#34; is detected, the distance between the two adjacent stripes can be determined in accordance with the resolution of the CCD. In other words, if the resolution of the CCD is given by 8 pels/mm, the distance L between two adjacent stripes is given by L=M/8. If the initial stripe interval is given to be a mm and an increment is given to be 1 mm, an address k of the location information is derived to be k=L-a. In other words, the number of bits corresponding to the stripe internal is 8×(a+k). Since the image information corresponds to the location information in a one-to-one relationship, the data in the memory 10 which corresponds to the number, i.e., 8×(a+k) in the memory 10&#39; is easily detected as the image information at the address k. 
     A case will be described wherein the image reading apparatus according to the present invention is moved obliquely with respect to the main scan direction B. When the image sensor 8 has such a number of pels as to detect at least three stripes along the B direction, the image information and the corresponding location information within two or more stripe intervals can be stored in the memories 10 and 10&#39;, respectively. 
     Referring to FIG. 7, when a case M1 is given wherein the image sensor 8 is moved substantially parallel to the main scan direction B, the image sensor 8 reads address 1 and address 2, so that the distance data are stored at address 1 and address 2 of memory 10 so as to satisfy l1=8·(a+1) and l2=8·(a+2), respectively. However, in a case M2 wherein the image sensor 8 is moved obliquely with respect to the main scan direction B (hereinafter the term &#34;ramp&#34; will sometimes be used to designate such oblique movement, and specifically to indicate the magnitude of the obliqueness), the image sensor 8 reads distance data l1&#39; and l2&#39; as stripe intervals of addresses 1 and 2. The data l1&#39; and l2&#39; differ from the data l1=8·(a+1) and l2=8·(a+2), respectively. However, by utilizing relation l1: l2=l1&#39;:l2&#39;, the location information at the time of oblique scanning can be calculated in a manner shown in FIG. 8. 
     A value l1&#39;/l2&#39; is calculated and is substituted into x (step 11). The address k is reset to zero, and x is sequentially compared with a/(a+1), (a+1)/(a+2), . . . , and (a+N)/(a+N+1), where N is the number of stripes along the main scan direction B, so that a maximum address becomes N. When x becomes equal to (a+k)/(a+k+1), k represents the address, thereby determining the location information (step 13). 
     However, when a case M3 for the image sensor 8 is given, as shown in FIG. 7, i.e., when scanning of the image sensor 8 is performed across not more than two stripes, the location information cannot be determined, resulting in a scanning error. If any value does not correspond to the value l1&#39;/l2&#39;, a scanning error is also detected, as shown in FIG. 8. Thus, this arrangement provides additional information which facilitates image reading, and thus the pertinent parts of the arrangement will sometimes be termed &#34;providing means&#34; hereinafter, in the sense that they &#34;provide&#34; additional information available for use in the image reading. 
     Error detection is performed by using a CPU 30, as shown in FIG. 9. The read/write signal W/R for the memories 10 and 10&#39; is set in the read mode, and n bit location information data are sequentially read out from the memory 10&#39; in response to address signals ADRS. When three or more stripes cannot be detected, and the location information cannot be determined, as shown in FIG. 8, an error is displayed on an error display 31 to signal a read error to the operator. When a read error occurs, the read inhibition may be performed at the reading section. 
     The CPU 30 may be incorporated in the image reading apparatus or in an external editing apparatus. Alternatively, the CPU 30 may be substituted for by the CPU 26 shown in FIG. 4. In this case, the location information from the output 28 is supplied to the input port P2 of the CPU 26, and proper arithmetic operation is performed to determine the location information. 
     Furthermore, the arithmetic operation for determining the location information may be performed immediately after the image information and the corresponding location information are received by the photo sensor 12. Alternatively, the arithmetic operation may be performed after data of a few lines are read, or when the data is edited by the external device. 
     Even if the image reading apparatus is moved obliquely with respect to the main scan direction, the location information can be accurately detected, and the corresponding image information can be obtained. Even if an error occurs, the error is immediately displayed, thereby freeing the operator from cumbersome operation. 
     The present invention is not limited to the particular embodiments illustratively described herein. Various changes and modifications may be made within the spirit and scope of the invention and the appended claims.