Abstract:
A control system and method for an optical scanner of the type having a document feeding device for transporting documents to an optical scanning station is provided. The control system includes a plurality of buffer memories for temporarily storing optical data from documents processed through the scanning station, and a control circuit connected to the buffer memories and the document feeding device. The delivery rate of the document-feeding device is maximized to a level consistent with an estimated mode value of optical data present on the documents being scanned. When documents having higher than normal optical data cause the buffer memories to fill up faster then than they empty, the control circuit transmits a command to pause or slow down the delivery rate of the document feeding device upon a determination that a threshold capacity of any of the buffer memories has been exceeded or is about to be exceeded. By maximizing the delivery speed of the document-feeding device in accordance with the actual amount of optical data on the documents being scanned, throughput for a given processing bandwidth is maximized.

Description:
FIELD OF THE INVENTION  
         [0001]    This invention generally concerns control systems for document feeders, and is specifically concerned with a system and method for dynamically controlling the rate that a document feeder delivers documents to the scanning station of an optical scanner such that throughput for a given processing bandwidth is maximized.  
         BACKGROUND OF THE INVENTION  
         [0002]    Optical scanners for scanning and recording optical data present on documents are well known in the prior art. Such optical scanners typically include a scanning station having an optical reading element, a light source, and a platen formed from glass or transparent plastic for maintaining a document in a flat position as it is moved across the line-of-sight of the optical element by an assembly of belts and rollers. In some scanners, the documents stay stationary in the platen while the optical reading element is moved. Either type of scanner includes a document feeder for regularly feeding a train of documents into the document-conveying rollers and belts of the station. In operation, optical data from the documents is transmitted from the optical reading element to one or several buffer memories, which temporarily stores the data for further processing, typically includes the compression of the data and permanent storage thereof onto a magnetic disk.  
           [0003]    Because such scanners are often used to make permanent records of important documents, it is important that they operate in such a manner that no data is lost. Such data loss could occur if the capacity of any one of the buffer memories were overloaded as the document was transported past the scanning element. To avoid such a scenario, the speed of the document feeders is deliberately limited to a speed in which the documents containing the highest density of optical information could be delivered to the scanning station and read thereby without overloading the available buffer memory capacities. Unfortunately, in limiting the transport speed to such “worst case” scenario documents, the inventors have observed that the scanner operates at a speed which is slower than necessary for most of the documents contained within a particular scanning run or batch.  
           [0004]    Clearly, there is a need for a control system for an optical scanner that does not limit the delivery speed of the document feeder to those documents having the highest density of optical data Ideally, such a system would operate the document feeder at the fastest rate consistent with the amount of optical data present on a typical document contained within a scanning run, and would automatically pause or slow down the feeder when documents having a higher than normal density of optical data were read by the scanning station without the need for operator intervention. Finally, such a system should be simple and inexpensive to construct and install, easily retrofittable on existing scanners, and should operate reliably without loss of optical data.  
         SUMMARY OF THE INVENTION  
         [0005]    Generally speaking, the invention is both a control system and method for an optical scanner of the type having a mechanism for feeding documents to a scanning station that overcomes the throughput limitations associated with prior art scanners and meets the aforementioned needs in the art. To this end, the control system of the invention comprises a plurality of buffer memories for temporarily storing optical data from documents processed through the scanning station, and a control circuit connected to the buffer memories and the document feeding mechanism for transmitting a command to change a delivery rate of the document feeding mechanism upon a determination that a threshold capacity of any of the buffer memories has been exceeded or is about to be exceeded.  
           [0006]    The control system may include a buffer monitor circuit for determining whether any one of the plurality of buffer memories becomes filled to the threshold capacity, which may be indicative of an “almost full” state of each of the buffer memories. This “almost full” threshold capacity may be pre-selected, and the command to change the delivery rate of the document feeding mechanism may be a pause command. A second threshold capacity may also be pre-selected for each of the buffer memories which is less than the “almost full” threshold for each and which indicates that the particular buffer memory is “sufficiently empty” to receive additional optical data. The buffer monitor circuit may generate a first set of signals indicative of whether the “almost full” threshold of any of the buffer memories has been exceeded, as well as second set of signals indicative of whether or not the capacity of the buffer memories is below the “sufficiently empty” threshold. The first and second signals may be transmitted to first and second gate circuits, and the first gate circuit may generate a pause command upon receipt of a signal that any of the buffer memories is above the “almost full” threshold, while the second gate circuit may cancel the pause command upon receipt of signals from each of the buffer memories that all (or selected) of the memories are below the “sufficiently empty” threshold.  
           [0007]    The capacity of each of the buffer memories may also be pre-selected by electronically changing the portioning between the various memories. In other words, one buffer memory may be expanded in capacity at the expense of another prior to running a particular batch of documents. This feature is particularly useful in efficiently allocating buffer memory resources when, for example, there is typically less information on the back side of the document than the front sides, or only grayscale images are needed rather than color images.  
           [0008]    In an alternate embodiment of the system, the buffer monitor circuit and gate memories may be replaced with a processor which simultaneously monitors the remaining capacity of each of the buffer memories, as well as the trends associated with the density of optical data contained in the documents being scanned, and individually determines, on a floating basis, both an “almost full” threshold and a “sufficiently empty” threshold for each of the buffer memories. In such an alternate embodiment, the implementation of the changing of the delivery rate of the document feeding mechanism is not limited to the generation and cancellation of a pause command, but also includes a speeding up or slowing down of the delivery rate which is dependent upon (at least in part) extrapolated trends in the density of optical data in the documents being processed by the scanning station.  
           [0009]    In both embodiments of the system, document throughput is substantially increased by adjusting the delivery rate of the sheet feeder to a maximum rate consistent with the density of the optical data on the documents actually being scanned. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]    [0010]FIG. 1 is a schematic side view of a document scanner that the control system and method is particularly adapted for use with;  
         [0011]    [0011]FIG. 2 is a schematic diagram of a first embodiment of the control system, and  
         [0012]    [0012]FIG. 3 is a schematic diagram of a second embodiment of the control system of the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0013]    With reference now to FIG. 1, the control system  1  of the invention is particularly adapted for use in a document scanner  2  of the type having a document feeder  3  for transporting documents  4  via a conveyor  5  into a scanning station  7 . The document feeder  3  may be, for example, the type of feeder disclosed and claimed in U.S. Pat. No. 5,921,439, and assigned to Eastman Kodak Company of Rochester, N.Y. Such feeders include a clutch mechanism (not shown) capable of feeding input documents  4  onto the conveyor  5  at a variable rate. Because the conveyor  5  transports the documents  4  at the same speed throughout the scanning process, the effect of such a variable feeder rate is to vary the distance “d” between the side edges of the input documents  4 . Even though the speed of the conveyor  5  remains constant, a large distance “d” between the documents  4  reduces the processing load on the document scanner  2 , while a small distance “d” increases it.  
         [0014]    The scanning station  7  includes a platen  9  for receiving the input documents  4  and maintaining them in a flat orientation as they are illuminated by the light sources  10   a - d  and scanned by the cameras  11   a, b.  Light sources  10   a, b  illuminate the front surface of the document scanned by camera  11   a,  while light sources  10   c, d  illuminate the backside of the document scanned by camera  11   b.  Each of the cameras  11   a, b  includes an imaging sensor assembly  15  having at least one charge coupled device (CCD) image sensor. Preferably the image sensor has between 100 to 1200 pixels per inch (relation to the document) so that each of the cameras  11   a, b  is capable of producing high-resolution images of the documents that cross their line-of-sight through the platen  9 . Each of the cameras  11   a, b  further includes a directing lens  17   a, b  and a mirror array  19   a, b  for directing reflected light from the front and back sides of the document being scanned into the lenses  13   a, b  of the cameras.  
         [0015]    The scanning station  7  further has an internal document transporter  21  formed from an array of belts and rollers for receiving documents from the feeder conveyor  5  and transporting them across the line-of-sight of the cameras  11   a, b.  The speed of the internal document transporter  21  is coordinated with the cameras  11   a, b  and the feeder conveyor  5 , and is set at a value that allows the cameras  11   a, b  to capture an image of the documents conveyed through the platen  9  at the resolution level of the imaging sensor assembly  15 . The internal document transporter  21  transports scanned documents around the upper camera  11   a  and stacks the documents  23  as shown.  
         [0016]    As is schematically illustrated, a selector switch  25  is connected to the control system  1  for allowing the operator of the document scanner  2  to choose the resolution and type of images generated of the documents fed into the scanning station  7 . For example, the operator may choose either high or low resolution in combination with either color, grayscale, or bi-tonal image types. The selector switch also allows the operator to indicate the size of the documents being scanned, i.e., check-size, 8½×11 inches, etch. As previously indicated, the choices made via the selector switch automatically adjusts the feed rate of the feeder  3 , which in turn determines the distance “d” between incoming documents  4  going to the scanning station  7 .  
         [0017]    [0017]FIG. 2 illustrates a first, relatively simple embodiment  30  of the system of the invention. In this embodiment, four buffer memories  32   a - d  are provided, although more may be provided if desired. While each of the buffer memories  32   a - d  is shown as an independent component, they are preferably all part of a single memory circuit to facilitate repartitioning for reallocation purposes. In the preferred embodiment, each of the buffers  32   a - d  temporarily stores one of the parameters of the document image, i.e., grayscale information, bi-tonal information, color data, and image data for the front and back sides of the document, respectively. Each of the buffer memories  32   a - d  has substantially the same storage capacity which may be, for example, 128 megabytes.  
         [0018]    The control system  30  further includes a buffer monitor circuit  34  for monitoring the amount of data actually present in each of the buffers  32   a - d  at any given moment in time, and comparing this amount of data with a first threshold capacity for each of the buffers  32   a - d,  which is referred to in FIG. 2 as the “almost full” capacity. To this end, the buffer monitor circuit  34  monitors the addresses assigned to each of the data bytes that are transmitted into the buffers  32   a - d,  and compares these addresses with the addresses that correspond to an “almost full” condition in any of the buffers. It should be noted that the “almost full” value selected for each of the buffers  32   a - d  does not correspond to the maximum capacity of the buffers; typically, this value will amount to between 70% and 80% of the maximum capacity of each of the buffer memories  32   a - d  so as to leave a reserve capacity of between 20% and 30% in the event that the “almost full” is ever tripped. The reason for selecting the “almost full” value so that such a reserve capacity is left is that, even after a pause command is transmitted to the document feeder  3 , there will typically be some documents either being scanned or “in the pipeline” to be scanned, i.e., in the feeder conveyor  5  and internal document transporter  21  on their way to the cameras  11   a, b.  The 20% to 30% reserve capacity in each of the buffers  32   a - d  insures that no data will be lost after the control system  1  generates a pause command as there is sufficient capacity left to scan and process all such “pipeline” documents. It should be noted that the “almost full” threshold could be as little as 30% when high resolution color images are being generated of large documents. Conversely, this threshold could be as high as 95% low when resolution bi-tonal images are being made of small documents.  
         [0019]    In addition to assigning an “almost full” value to each of the buffers  32   a - d,  the buffer monitor circuit  34  further assigns a second threshold value to each of these buffers which is designated as a “sufficiently empty” level in the drawing. The “sufficiently empty” level is always lower than the “almost full” level, and may be, for example, 50% or 55% of the maximum capacity of each of the buffers. As will be described in more detail hereinafter, the assignment of a “sufficiently empty” level or value to each of the buffer memories  32   a - d  does not allow the pause command to be canceled until the buffer memories have emptied their contents to a level which allow a relatively smooth resumption of the operation of the document feeder  3 . Stated in more technical terms, the provision of a “sufficiently empty” threshold provides the system  1  with a measure of hysteresis that avoids overly frequent transmission of a pause command from the system  1 . The buffer monitor circuit  34  may be any one of a number of relatively inexpensive and low bandwidth capacity programmable processors, such as a Model No. MPC 823, manufactured by Motorola, located in Schaumburg, Ill., in combination with an Altera 203100 FPGA.  
         [0020]    The system  30  further includes an OR gate  36  and an AND gate  38 . The gates  36 ,  38  may be part of the previously referred to FPGA or anyone of a number of commercially available logic gates. As is schematically illustrated, the output of the buffer monitor circuit  34  is connected to the input of each of the OR and AND gates  36 ,  38 , and generates a signal for each of the buffer memories  32   a - d  whether the first or second thresholds have been exceeded. Finally, the system  30  includes a pause command circuit  40 , and a cancel command circuit  42  connected to the outputs of the OR and AND gates  36 , 38 . The circuits  40  and  42  may be either standard logic circuits or switching circuits; the particular component used does not form per se, the invention.  
         [0021]    In operation, the feed rate of the document feeder  3  is initially preprogrammed into the system  30  on the basis of an empirically determined amount of optical data corresponding to the “average” amount of data on a typical document in a typical scanning batch. In operation, the system operator selects, via switch  25 , the type and resolution of document images desired, and indicates the size of the documents in the batch. The image processor will then select the document feeder  3  and the threshold levels (as well as the buffer memory positioning) so that the average amount of optical data on a typical document will consistently fall close to the “almost full” capacity of each of the buffers  32   a - d.  This way, the throughput of the document scanner  2  is maximized with respect to documents of the most common data density and the available processing bandwidth of the buffer memories  32   a - d.    
         [0022]    During the processing of such average density documents, the “almost full” threshold will not be exceeded, although the “sufficiently empty” threshold may be. Thus the AND gate transmits a signal along its “no” branch to the pause command switch  40  in an attempt to actuate it. However, at the same time, the OR gate transmits a signal along its “no” branch to the “cancel command” switch, which actuates it and causes it to prevent actuation of the pause command switch  40 . When one or more documents having a significantly greater than average amount of optical information is processed through the scanning station  7  such that any of the buffer memories  32   a - d  reaches the threshold corresponding to the “almost full” value, the “yes” branch of the OR gate  30  transmits an electrical signal which again instructs the pause command circuit  40  to actuate. At the same time, the signal to the cancel command switch  42  from the OR gate ceases, thus deactivating the switch  42 . The circuit  40  is then free to transmit a pause command to the document feeder  3 , which ceases to feed documents onto the document conveyor  5 . However, image data continues to flow to the buffers  32   a - d  as the document scanner  2  completes the scanning operation of all documents either in the platen  9 , or in route to the platen via the document conveyor  5 . The reserve capacity of the buffers  32   a - d  allows all of the information on such “in process” documents to be scanned without any loss of data. Eventually, the scanning of the “in process” document is completed, and the image data in the buffers  32   a - d  decreases as the data contained therein is downloaded to an imaging processor (not shown), past the “almost full” threshold, whereupon the OR gate  36  ceases to provide a signal along its “yes” branch to the pause command switch  40 . However, the cancel command switch  42  is not actuated to countermand the pause command switch  40  until the amount of data stored in all of the buffers  32   a - d  falls to the “sufficiently empty” threshold, whereupon the AND gate  38  ceases to provide a signal along its “no” branch to the pause command switch  40  and commences to provide a signal along its “yes” branch to the cancel command switch  42 .  
         [0023]    The embodiment of the system  45  illustrated in FIG. 3 works in substantially the same manner as described with respect to the embodiment  30  illustrated in FIG. 2, with the exception that the threshold levels corresponding to “almost full” and “sufficiently empty” are not pre-selected at the beginning of the operation of the document scanner  2 , but rather are periodically modified by the processor  49  on the basis of a computed, floating value of a mode value of image data present on the documents during the scanning run. The processor  49  may also change the gap between the two capacity thresholds based upon the informational load on the processor  49  in a given document batch. Another difference in the operation between the two embodiments  30  and  45  is that the processor computes trends on the basis of the rate of optical data being processed from the documents, and will activate the pause command switch when the computed trends indicate that the floating “almost full” threshold in any of the buffers  47   a - d  is about to be exceeded. In the preferred embodiment, processor  49  may be a Model No. MPC 823 processor manufactured by Motorola.  
         [0024]    One of the advantages of the invention is that it maximizes throughput not only for a particular processor bandwidth, but for a particular buffer memory capacity as well.  
         [0025]    Although this invention has been described with respect to two preferred embodiments, numerous variations and additions will become evident to persons of skill in the systems art. Any such modifications, variations, and additions are intended to be encompassed within the scope of this patent application, which is limited only by the claims appended hereto.  
       PARTS LIST  
       [0026]    1. Control system  
         [0027]    2. Document scanner  
         [0028]    3e. Document feeder  
         [0029]    4. Input documents  
         [0030]    5. Feeder conveyor  
         [0031]    7. Scanning station  
         [0032]    9. Platen  
         [0033]    10. Light sources a-d  
         [0034]    11. Cameras a, b  
         [0035]    13. Lens a, b  
         [0036]    15. Imaging sensor assembly  
         [0037]    17. Directing lens  
         [0038]    19. Mirror array  
         [0039]    21. Internal document transporter  
         [0040]    22. Documents in process  
         [0041]    23. Output documents  
         [0042]    25. Resolution selector switch  
         [0043]    30. First embodiment of control system  
         [0044]    32. Buffer memories a-d  
         [0045]    34. Buffer monitor circuit  
         [0046]    36. OR gate  
         [0047]    38. AND gate  
         [0048]    40. Pause feeder switch  
         [0049]    42. Enable feeding switch  
         [0050]    45. Second embodiment of control system  
         [0051]    47. Buffer memories a-d  
         [0052]    49. Processor  
         [0053]    51. Enable feeding switch  
         [0054]    53. Pause feeding switch