Abstract:
A method and apparatus for scanning an original image with an optical scanning device and for constructing a duplication of the original image. The apparatus of the present invention comprises an optical scanning device for scanning the original image and for generating an electrical representation of the original image. The scanning device comprises an illumination device for projecting light onto an original image being scanned, an optical image sensing device disposed to receive light reflected from the original image, and a processing device in communication with the optical image sensing device for receiving electrical signals produced by the optical sensors of the optical image sensing device and for processing the electrical signals. The optical image sensing device comprises a plurality of optical sensors. Each optical sensor has a field of view and at least two of the optical sensors have fields of view which at least partially overlap. Each optical sensor generates electrical signals relating to the portion of the original image within the field of view of the respective optical sensor. The processing device processes the image data obtained by the optical sensors and determines the amount of overlap of the images obtained by adjacent optical sensors. Once the amount of overlap has been determined, the processing device uses the determined amount of overlap to construct a duplicate of the original image. Preferably, sub-arrays of data suspected of overlapping are correlated to obtain values of a correlation array. The values of the correlation array are then analyzed to determine which data in the sub-arrays is overlapping image data. The overlap is then eliminated to construct a duplication of the original image.

Description:
TECHNICAL FIELD OF THE INVENTION 
     The present invention relates to a method and apparatus for processing image data acquired by an optical scanning device and, more particularly, to an image processing system which receives overlapping image data acquired by an optical scanning device and which reconstructs an original image from the overlapping images. 
     BACKGROUND OF THE INVENTION 
     Image scanning devices such as, for example, flat bed image scanners and sheet feed image scanners, are commonly used to scan documents containing image information to convert the image information contained on the document into a digital representation of the document. Image scanning devices typically utilize a linear imaging device which is scanned across a document being imaged to produce multiple one-dimensional (1-D) slices of the image which are subsequently processed and combined to produce a two-dimensional (2-D) digital representation of the image contained on the document. 
     A light source comprised by the image scanning device projects light onto the document being scanned and the light reflected from the document is focused by imaging optics onto the linear imaging device. The linear imaging device comprises one or more photosensor which convert the light reflected from the document into analog signals. The analog signals are then converted by an analog-to-digital converter into a digital representation. The digital representation is then processed by a processing circuit such as, for example, a microprocessor or a digital signal processor in accordance with a predetermined algorithm to produce an output. The output may be, for example, a reproduction of the original image scanned. 
     Generally, image scanning devices can be categorized into two categories, namely, image scanning devices which utilize an optical reduction system in combination with a single photosensor and image scanning devices which utilize a contact image sensor comprised of a plurality of photosensor in combination with an array of optical fibers which function as the imaging optics. In a reduction system of an image scanning device, a single, relatively small, high-resolution linear image sensor is used to capture an image of the object (e.g., a document) being scanned. Since the image sensor is relatively small, reduction optics are used to reduce the size of the images contained on the object into smaller images which fit onto the photosensor. 
     An advantage of image scanning devices which utilize reduction systems is that only a small image sensor, i.e., a single photosensor, is required for capturing an image of the object being scanned, which is normally relatively inexpensive to manufacture. One disadvantage of image scanning devices which utilize reduction systems is that the reduction optics require a relatively long optical path in order to focus the object image onto the single photosensor, which, consequently, increases the overall size of the image scanning device. Although attempts have been made to “fold” the optical path by incorporating a plurality of mirrors into the imaging optics in order to reduce the size of the image scanning device, additional mirrors increase light loss and increase the cost of the imaging optics. Another disadvantage of image scanning devices which utilize reduction systems is that producing relative motion between the object being scanned and the photosensor often involves substantial mechanical difficulty and, consequently, can lead to malfunctions and increased maintenance costs. 
     A typical contact image sensor utilized in an image scanning device has a length equal to the length of the 1-D scan to be performed. Typically, the contact image sensor comprises an array of photosensor, rather than a single photosensor, because a single photosensor having a length equal to the 1-D length of the scan to be performed is extremely difficult and expensive to manufacture. Therefore, a plurality of photosensor are closely aligned with each other in a linear array so that the photosensor are in contact with each other and so that no gaps exist between the photosensor. 
     In order to focus the image of the object being scanned onto the array, an array of optical fibers is utilized as the imaging optics for focusing the light from the object being scanned onto the contact image sensor. A one-to-one relationship is required between the photosensor of the array and the optical fibers of the imaging optics due to the fact that the fields of views of the optical fibers with respect to their respective photosensor overlap. If a one-to-one relationship is not maintained between the optical fibers and the photosensor, the original object image will not be capable of being accurately reconstructed from the individual 1-D images focused onto the photosensor by the optical fibers. 
     One advantage of implementing a contact image sensor in an image scanning device is that the optical path of the imaging optics is relatively short, which reduces the overall size of the image scanning device. A disadvantage of utilizing a contact image sensor is that the array of photosensor must have a length equal to the length of the 1-D scan being performed. Also, it is a difficult and expensive process to place the individual photosensor in the array and align them since this task must be performed monolithically in silicon. 
     In order to create an photosensor array of this length, full-sized photosensor must be used in the array, which typically are expensive due to the fact that they are monolithically manufactured in silicon and require a relatively large amount of silicon area. The photosensor cannot be fabricated in the same dice. A separate dice must be used for each photosensor. Therefore, each dice must be cut to precise tolerances and then all of the dice must be carefully placed in alignment to create a long line which matches the length of the object (e.g., the document) being scanned. This is a difficult and expensive process. In fact, the alignment process is so difficult that it generally is done by hand, often leading to alignment errors which require that the entire array be discarded, or scrapped. This loss significantly increases the overall cost of the image scanning device since the die are typically the largest percentage of the overall cost of the contact image sensor. 
     Accordingly, a need exists for an image scanning device having a relatively short optical path and which is capable of utilizing an image sensor which is relatively inexpensive to manufacture. 
     SUMMARY OF THE INVENTION 
     The present invention provides a method and apparatus for constructing a representation of an original image scanned with an optical scanning device. The apparatus of the present invention comprises a processing device for generating an electrical representation of the original image scanned with the optical scanning device and for processing the electrical representation to obtain a representation of the original image. 
     Preferably, the scanning device used with the processing device of the present invention comprises an illumination device for projecting light onto an original image being scanned and an optical image sensing device disposed to receive light reflected from the original image. The processing device is in communication with the optical image sensing device for receiving electrical signals produced by the optical sensors of the optical image sensing device and for processing the electrical signals. The optical image sensing device comprises a plurality of optical sensors. Each optical sensor has a field and at least two of the optical sensors have fields of view which at least partially overlap. Each optical sensor generates electrical signals relating to the portion of the original image within the field of view of the respective optical sensor. 
     The processing device processes the image data obtained by the optical sensors and determines the amount of overlap of the images obtained by adjacent optical sensors. Once the amount of overlap has been determined, the processing device uses the determined amount of overlap to construct a representation of the original image. 
     The processing device preferably comprises an analog-to-digital converter (ADC), a memory device and a computer. The ADC receives the electrical signals produced by the optical sensors and generates digital signals representative of the images within the fields of view of the optical sensors. The computer receives the digital signals generated by the analog-to-digital converter and stores the digital representations corresponding to the image data in the memory device. The computer reads the image data out of the memory device and utilizes first and second sub-arrays of the image data to determine the amount of overlap in the images obtained by adjacent optical sensors. The computer correlates the sub-arrays to determine the areas of overlap in the images and then uses this determination to construct the representation of the original image. 
     In accordance with the preferred embodiment of the present invention, the computer correlates the sub-arrays by aligning particular elements in the first sub-array with one or more particular elements in the second sub-array, by multiplying the aligned elements together, by summing the products obtained as a result of the multiplication operations, and by storing the sum of the products as elements in the correlation array. After all of the elements of the correlation array have been produced, the computer determines which element of the correlation array has the largest value. The image data which corresponds to this value in the correlation is the overlapping image data. 
     In accordance with a second embodiment of the present invention, the computer correlates the sub-arrays by aligning particular elements in the first sub-array with particular elements in the second sub-array, by obtaining the differences between the values of the aligned elements in the sub-arrays, by obtaining the absolute values of the differences, by summing the absolute values, and by storing the sums as elements of the correlation array. The computer then determines which element of the correlation array has the smallest value. In this case, the smallest element in the correlation array corresponds to the overlapping image data. 
     In accordance with another embodiment of the present invention, the computer correlates the sub-arrays by aligning particular elements in the first sub-array with particular elements in the second sub-array, by obtaining the differences between the values of the aligned elements in the sub-arrays, by obtaining the absolute values of the differences, by squaring the absolute values, by summing the results of the squaring operations, and by storing the sums as elements of the correlation array. After all of the elements of the correlation array have been produced, the computer determines which element of the correlation array has the smallest value, which corresponds to the overlapping image data. 
     After the computer determines the overlapping image data, the computer constructs the representation of the original image by eliminating the overlap. The overlap can be eliminated by any one of a plurality of methods. The computer can average the image data in the first sub-array that corresponds to the overlap with the data in the second sub-array that corresponds to the overlap. The average can be weighted in order to ensure that discontinuities resulting from offset and gain errors in the optical sensors are removed. Alternatively, the overlap can be eliminated by simply discarding the image data in the first sub-array that corresponds to the overlap. Interpolation techniques may be used to eliminate sub-pixel overlaps. 
     Other features and advantages of the present invention will become apparent from the following description, drawings and claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates the image scanning device of the present invention in accordance with the preferred embodiment. 
     FIG. 2 illustrates a front view of a portion of the image scanning device which illustrates the imaging optics and the photosensor arrays utilized in the image scanning device. 
     FIG. 3 illustrates a block diagram of the processing circuitry of the present invention which reconstructs the original image from the images obtained by the photosensor arrays. 
     FIG. 4 is a flow chart functionally illustrating the preferred embodiment of the present invention for determining the amount of overlap in images obtained by adjacent photosensor of the photosensor arrays. 
     FIG. 5A is a flow chart which functionally illustrates the process corresponding to block  66  in FIG. 4 for correlating the two sub-arrays. 
     FIG. 5B illustrates an alternative embodiment of the method of the present invention for determining the amount of overlap in images obtained by adjacent photosensor of the photosensor arrays. 
     FIG. 6 represents an alternative embodiment of the present invention for determining the amount of overlap in images obtained by adjacent photosensor of the photosensor arrays. 
     FIG. 7 represents an alternative embodiment of the present invention for determining the amount of overlap in images obtained by adjacent photosensor of the photosensor arrays. 
     FIG. 8 illustrates an original image to be scanned by the image scanning device shown in FIG.  1 . 
     FIG. 9 illustrates reproductions of the image shown in FIG. 8 before the overlap in the image has been corrected and after the final overlap has been corrected in accordance with the method of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 illustrates the image scanning device  10  of the present invention in accordance with the preferred embodiment, which may be incorporated in, for example, a facsimile machine, a copier machine, etc. It should be noted that the present invention is not limited to the arrangement shown in FIG.  1 . The image scanning device  10  shown in FIG. 1 is merely the preferred embodiment for carrying out the present invention. It should be noted that the present invention is not limited to any particular type of image scanning device. 
     The image scanning device  10  is arranged to sense an image  14  disposed on the top surface of a document  12  which is moved longitudinally in the directions shown by the arrow  16  so that a single scan line across the width of the document  12  may be sensed at a time. The top surface of the document  12  preferably is illuminated by a series of light-emitting diodes (LEDs), which can generate the same or different colors, as will be apparent to those skilled in the art The LEDs  18 ,  20 ,  22 , and  24  may be, for example, red, blue, green, and yellow, to provide the ability to sense different color images  14 . Alternatively, the LEDs  18 ,  20 ,  22  and  24  may of the same color. 
     Light from the LEDs travels along the path  26  from the LEDs  18 ,  20 ,  22  and  24  during a scan and impinges on the top surface of the document  12  being scanned. The light passes along the line  28  through a lens array  30 , which preferably is a molded plastic lens array, and is focused by the lens array  30  onto an optical image sensing device, which preferably comprises a plurality of photosensor arrays  32 . The photosensor arrays  32  preferably are embedded in a molded lead frame  34 . 
     The molded lead frame  34  has registration features (not shown) that allow accurate positioning of the lens array  30  to the molded lead frame. The registration features allow the molded lead frame to be accurately positioned in assembly equipment and allow the final scanner assembly to be precisely place by the final manufacture in the overall scanner assembly. The precision registration allows the semiconductor die  32  to be placed precisely relative to the molded lead frame and therefore to the optics  30 . 
     For a full color image, three scans are used, commonly referred to as red, green, and blue scans. The spectral distribution of each scan can effect the scanner&#39;s ability to reproduce a true color. More than one color LED may be turned on per scan to create a better spectral distribution. 
     The photosensor arrays  32  are each comprised of a plurality of photosensor. Each of the photosensor arrays is connected to processing circuitry (not shown) contained in housing  36  which receives the electrical signals generated by the photosensor  32  is response to the light impinging thereon and processes the electrical signals into a form which is suitable for use with the particular image scanning device, e.g., facsimile machine, copier machine, etc., in which the present invention is incorporated. The processing circuitry is discussed in more detail below with respect to FIG.  3 . 
     FIG. 2 illustrates a front view of a portion of the image scanning device  10  which illustrates the imaging optics  40  and the photosensor arrays  32 A- 32 E. The imaging optics  40  are comprised of a molded lens array  30 , which is comprised of individual lenses  30 A,  30 B,  30 C,  30 D, and  30 E as examples. Each of the lenses  30 A,  30 B,  30 C,  30 D, and  30 E, has a cellular field of view  42 A,  42 B,  42 C,  42 D, and  42 E, respectively. As indicated, the fields of view overlap. The overlaps are represented by numerals  44 A,  44 B,  44 C, and  44 D. The lens array  30  focuses the cellular fields of view  42 A,  42 B,  42 C,  42 D, and  42 E onto respective photosensitive semiconductor dice  32 A,  32 B,  32 C,  32 D, and  32 E. 
     Therefore, in accordance with the present invention, a plurality of optical lenses  30 A- 30 E of the image scanning device  10  capture overlapping images of a document  12  being scanned as indicated by the overlapping fields of views produced by the imaging optics  40 . By increasing the fields of view of the lenses  30 A- 30 E of the imaging optics  40 , a few lenses can be utilized to capture a 1-D scan of the entire document and the optical path between each image sensor and the document being scanned can be kept relatively short, thus ensuring a relatively small size in a direction parallel to the direction of the optical path. By utilizing overlapping fields of view, a 1-D scan of the entire document can be obtained while preventing gaps from existing in the image information being acquired by the photosensor arrays  32 A- 32 E. 
     However, since the portion of the surface  14  of the document  12  scanned by each of the photosensor arrays produce overlapping images, the images acquired must be processed in order to determine the amount of overlap in the overlapping images before reconstructing the original image from the images obtained by the photosensor arrays. The manner in which this is accomplished will be discussed in detail below with reference to FIGS. 4 and 5. 
     FIG. 3 illustrates a block diagram of the processing circuitry  50  of the present invention which reconstructs the original image from the images obtained by the photosensor arrays  32 A- 32 E. In accordance with the preferred embodiment of the present invention, the processing circuitry  50  comprises an analog-to-digital converter  52 , a computer  54 , and a system memory device  55  which stores the code to be executed by the computer  54  in accordance with the method of the present invention. The system memory device  55  is also used for storing the data corresponding to the image being scanned. 
     The computer  54  may be any type of computer such as, for example, a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), etc. The computer  54  may or may not have on-board memory. If the computer  54  has on-board memory, the on-board memory may be used for storing the code to be executed by the computer  54  in accordance with the method of the present invention. The analog-to-digital converter (ADC)  52  receives the output of the photosensor arrays  32 A- 32 E and converts the signals received into digital signals which are then stored in system memory device  55 . Alternatively, the signals from ADC  52  may first be input to computer  54  where the are processed into a form suitable for storage in system memory device  55  and then subsequently stored in system memory device  55  by computer  54 . In accordance with the preferred embodiment of the present invention, a separate ADC is allocated to receive the output of one of the photosensor arrays  32 A- 32 E. This allows the output of each of the photosensor arrays to be processed very quickly in parallel and stored in system memory device  55 . 
     The algorithm performed by computer  54  for determining the amount of overlap in the overlapping images generated by the photosensor will now be described below with respect to the flow chart of FIGS. 4-7. The flow charts of FIGS. 4-7 are functional representations of the steps performed by the computer  54  and do not depict the actual code executed by the computer  54 . However, those skilled in the art will understand how actual code could be written to perform these functional steps. Therefore, in the interest of brevity, a detailed recitation of the actual code used to perform the steps shown in FIGS. 4-7 will not be provided. 
     As the document  12  is scanned, the outputs of the individual photosensor in a pair of adjacent photosensor arrays are digitized, as indicated by block  62  of FIG.  4 . The digitized outputs of the photosensor in each array which are suspected of overlapping are stored in two sub-arrays in system memory device  55 , as indicated by block  63 . Since the photosensor arrays  32  and the imaging optics  40  are arranged so that the fields of view overlap by a predetermined amount, the maximum possible amount of overlap, M, of photosensor of adjacent photosensor arrays is known. Therefore, each sub-array contains only elements which correspond to digitized outputs of potentially overlapping photosensor. Each sub-array will consist of elements  1  through M. 
     These two sub-arrays stored in system memory device  55  are the same size, i.e., have the same number of elements. In order to minimize any bias in the correlation array to be obtained using the values in the sub-arrays, each sub-array preferably is filtered with a DC removal filter to produce two essentially zero-mean sub-arrays, as indicated by block  65 . Alternatively, each element of the sub-array may have the sub-array mean subtracted from it in order to produce the two essentially zero-means sub-arrays. It should be noted that the step of producing the two essentially zero-mean sub-arrays is optional, although it is preferable, as will be understood by those skilled in the art. 
     The two subarrays are then correlated with each other using a cross-correlation algorithm to produce a correlation array, as indicated by block  66 . Several different embodiments for producing the correlation array are discussed in detail below with reference to FIGS. 5A-7. Once the correlation array has been produced, a particular element in the correlation array, either the largest element or the smallest element, is selected, as indicated by block  68 . The alignment of the sub-arrays corresponding to the selected element in the correlation array represents an estimate of the amount of overlap of the sub-arrays stored in system memory device  55 . The largest element of the correlation array corresponds to the overlapping images when the embodiments of FIGS. 5A and 5B are used to obtain the elements of the correlation array, as discussed below in detail. When the embodiments discussed below with respect to FIGS. 6 and 7 are used to obtain the elements of the correlation array, the smallest element of the correlation array will correspond to the region of overlap. In order to obtain accuracy of less than a single pixel in the amount of overlap, a curve fitting technique can be used to fit the correlation data to an expected correlation curve, as will be understood by those skilled in the art. 
     Once the process represented by the flow chart of FIG. 4 has been performed, a more reliable measure of the amount of overlap of the sub-arrays may be obtained, if desired, by averaging several successive estimates of the determined amount of overlap or by creating a running average of the estimates, as will be understood by those skilled in the art. Alternatively, the successive estimates can be low pass filtered in order to obtain a more reliable measure of the amount of overlap, as will be understood by those skilled in the art. If insufficient detail is present in the overlap area to determine an accurate estimate of the amount of overlap, the lack of detail may be detected by observing either a low amplitude of filtered sub-arrays or by observing a low maximum correlation value. In the latter case, the previous best estimate of the amount of overlap should be used. If this best estimate of the amount of overlap is in error, the error is not of great significance since the lack of detail in the overlap area implies that an accurate combination is not necessary. 
     FIG. 5A is a flow chart which functionally illustrates the process corresponding to block  66  in FIG. 4 for correlating the two sub-arrays. Each sub-array is a 1-D array representing a 1-D scan of the document  12 . As stated above, each sub-array consists of elements  1  through M. The last element of the first sub-array, M 1 , is then aligned with the first element of the second sub-array, element  1   2 , as indicated by block  72 . These elements of the sub-arrays are then multiplied together, as indicated by block  74 . The first time through the process represented by FIG. 5A, only one product is obtained since only one element in the first sub-array is aligned with only one element in the second sub-array. Therefore, this product of the multiplication operation is stored as the first element in the correlation array, as indicated by block  76 . However, after the process of FIG. 5A has been performed the first time and prior to the last time it is performed for a given set of sub-arrays, multiple elements in the first sub-array will be aligned with multiple elements in the second sub-array. Consequently, multiple products will obtained during the step represented by block  74 . In these cases, the products are added together, as indicated by block  76 , and the sum of the products is stored in the correlation array as the correlation array element during the step represented by block  78 . 
     After the product or sum of the products have been stored in the system memory device, a determination is made as to whether the last element in the second sub-array, element M has already been aligned and multiplied with the first element of the first sub-array, as indicated by block  81 . If not, the second sub-array is then shifted by one sub-array element with respect to the first sub-array so that the next element of the first sub-array is aligned with the next element of the second sub-array, as indicated by block  82 . The aligned elements are then multiplied and the product of this multiplication operation is added to the product of the previous multiplication operation during the steps represented by blocks  74  and  76 . The sum of these products is then stored as the next element in the correlation array during the step represented by block  80 . 
     The process represented by blocks  72 ,  74 ,  76 ,  78 ,  81  and  82  continues until the first element of the first sub-array, element  11 , has been multiplied by the last element of the second sub-array, element M 2 , and all of the products have been summed and the sum has been stored as the last element in the correlation array. Once all of the values of the correlation array have been obtained, the step represented by block  68  in FIG. 4 is performed to determine the amount of overlap of the images represented by the sub-arrays. 
     FIG. 5B illustrates an alternative embodiment of the method of the present invention which is substantially identical to the method described above with respect to FIG. 5A except that an additional processing step, represented by block  77 , has been included in the correlation process. As stated above, in order to minimize bias in the correlation array, each sub-array preferably is filtered with a DC removal filter to produce two essentially zero-mean sub-arrays, as indicated by block  65  in FIG.  4 . An alternative to using the filtering step represented by block  65  is to divide the sum of the products obtained at step  76  by the total number of the products. This division step, represented by block  77 , averages the product values to minimize bias in the correlation array, as will be understood by those skilled in the art. 
     FIG. 6 represents an alternative embodiment of the present invention for obtaining the correlation array. The process represented by the flow chart of FIG. 6 is substantially identical to the processes represented by the flow chart of FIG. 5B except that block  74  in FIG. 5B has been replaced by block  85  in FIG.  6 . Rather than using the products of the aligned elements of the sub-arrays to obtain the values for the correlation array, the absolute value of the difference, or the absolute difference, between the aligned elements of the sub-arrays may be utilized to generate the elements of the correlation array. At the step represented by block  85 , the absolute values of the differences between the aligned elements are obtained. These values are then summed during the step represented by block  86 . The remainder of the process is identical to the process represented by the flow chart of FIG.  5 B. 
     When the absolute value of the differences between the aligned elements is used to generate the correlation array, the smallest, rather than the largest, element in the correlation array will be chosen as the best correlation number, which corresponds to the amount of overlap in the images. Errors relating to bias induced in the correlation array are possible if the absolute difference is used. The bias will be minimized by the division step represented by block  89 . However, although the step represented by block  89  preferably is performed in this embodiment, those skilled in the art will understand that this step is not necessary. Preferably, the products of the aligned elements are used to generate the correlation array, as discussed above with respect to FIGS. 5A and 5B. 
     FIG. 7 represents an alternative embodiment which is substantially identical to the embodiments discussed above with respect to FIG. 5B except that the step represented by block  86  in FIG. 6 has been modified. As with the embodiment discussed above with respect to FIG. 6, the absolute differences of the aligned sub-array elements are used rather than their products. However, instead of summing the absolute differences and storing these sums as the values in the correlation array, the absolute differences are squared and then the squared values are stored in system memory as the elements of the correlation array, as indicated by block  96 . The smallest element in the correlation array will be chosen as the best correlation number, which corresponds to the amount of overlap in the images. All of the remaining steps are identical to the those discussed above with respect to FIGS. 5B and 6. As with the embodiment of FIG. 6, the division step  99  in FIG. 7 is preferable but not necessary, as will be understood by those skilled in the art. Functions other than a squarring function may be applied to the absolute difference data on order to generate the correlation array, as will be understood by those skilled in the art. For example, the absolute difference could be raised to some other power, e.g., three. 
     FIG. 8 is an image  105  contained on a document (not shown) being scanned by the image scanning device  10  shown in FIG.  1 . For ease of illustration, the image  105  is comprised of black and white colors only. Preferably, the image sensor  32  of the present invention comprises four photosensor arrays, as shown in FIG.  2 . When the image  105  is scanned, the image sensor  32  comprising the photosensor arrays  32 A- 32 E produces the image  107  shown in window  107  in FIG.  9 . As can be seen in FIG. 9, the image displayed on the display in window  107  contains overlapping regions as opposed to the non-overlapping image regions of original image  105 . The computer  54  then generates the image shown in window  108  by performing the correlation algorithm discussed above with respect to FIGS. 4-7. The image shown in window  108  represents the final image with the overlap corrected by the correlation algorithm of the present invention. 
     Once the value in the correlation array has been found which corresponds to the overlapping image data in the sub-arrays, the overlap is eliminated in order to construct a duplicate of the original image. The overlap can be eliminated by using any one of a plurality of methods. One way of eliminating the overlap is to simply discard the data in one of the sub-arrays corresponding to the overlap. Another method for eliminating the overlap is to average the data corresponding to the overlap in one subarray with the data corresponding to the overlap in the other sub-array. Any discontinuities in the data resulting from offset and/or gain errors in the photosensor can be eliminated by using a weighted average instead of a straight average, as will be understood by those skilled in the art. If the amount of overlapping data is not an integer number of pixels, but rather, includes a sub-pixel amount of overlap, interpolation techniques can be used to eliminate the sub-pixel overlap, as will be understood by those skilled in the art. 
     It will be understood by those skilled in the art that the present invention has been described with respect to the preferred embodiments and that the present invention is not limited to these embodiments. For example, although the method of the present invention has been described with respect to its preferred implementation with the image scanning device  10  shown in FIG. 1, those skilled in the art will understand that the method of the present invention described above with respect to FIGS. 4-7 is not limited to use with any particular image scanning device. It should also be noted that the steps shown in FIGS. 4-7 can be implemented in hardware, software, or a combination of hardware and software, as will be understood by those skilled in the art. When implemented in software, the software can be stored on any type of computer-readable medium available now or in the future including, but not limited to, read only memory (ROM) devices, random access memory (RAM) devices, optical storage devices, such as, for example, compact disks, and magnetic storage devices, such as, for example, floppy disks. It will also be apparent to those skilled in the art that modifications other than those explicitly mentioned above may be made to the embodiments discussed above which are within the scope of the present invention.