Abstract:
An imaging-based bar code reader that includes an imaging and decoding system. Focusing optics and a sensor array define a field of view. A data processor has a memory for storing a pattern definition of previously imaged OCR characters and comparing a format of said previously stored characters to a present image to determine a character content of the present image.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to an imaging-based bar code reader and, more particularly, to a bar code reader that captures 2-dimensional images. 
       BACKGROUND OF THE INVENTION 
       [0002]    Various electro-optical systems have been developed for reading optical indicia, such as bar codes. A bar code is a coded pattern of graphical indicia comprised of a series of bars and spaces having differing light reflecting characteristics. The pattern of the bars and spaces encode information. In certain bar codes, there is a single row of bars and spaces, typically of varying widths. Such bar codes are referred to as one dimensional (1D) bar codes. Other bar codes include multiple rows of bars and spaces, each row typically having the same width. Such bar codes are referred to as two dimensional (2D) bar codes. 
         [0003]    Imaging systems include charge coupled device (CCD) arrays, complementary metal oxide semiconductor (CMOS) arrays, or other imaging pixel arrays having a plurality of photosensitive elements or pixels. An illumination system comprising light emitting diodes (LEDs) or other light source directs illumination toward a target object, e.g., a target bar code. Light reflected from the target bar code is focused through a lens of the imaging system onto the pixel array. Thus, an image of a field of view of the focusing lens is focused on the pixel array. Periodically, the pixels of the array are sequentially read out generating an analog signal representative of a captured image frame. The analog signal is amplified by a gain factor and the amplified analog signal is digitized by an analog-to-digital converter. Decoding circuitry of the imaging system processes the digitized signals and decodes the imaged bar code. 
         [0004]    In many instances, a printed label designed to be scanned by a barcode scanner or reader may contain multiple barcodes. Often, the different barcodes contain different pieces of information and a combination of them provide information for filling a computer form. In some other cases, only one barcode within the printed label must be scanned. In the latter case, a “pick-list” mode of the scanner, not covered in this disclosure, may well be suited. 
         [0005]    One traditional approach to solve the first mode of operation is to have an operator scan a sequence of barcodes. To prevent possible mix-ups between the multiple barcodes on the label, the barcodes printed on the target label may contain special tags, such as a leading letter “S” for serial number, to differentiate one barcode from the rest and allow the operator to choose the barcodes in a proper or specified order for subsequent formatting by the reader. 
         [0006]    With imaging scanners, it is possible to scan many barcodes simultaneously (here the word “simultaneously” is understood from the user&#39;s point of view, meaning that for the user no perceivable effort, such as re-aiming of the scanner through motion, or re-arming the scanner through additional trigger-pulls, is required for the operation to complete; for the scanner, however, the multiple barcodes are likely decoded sequentially). While the decoding of multiple barcodes from one or more images by the scanner is relatively easy, the specification of which barcodes to expect, to decode, and to output may become difficult. When setting up the image reading process that allows the scanner to properly format the barcode data, if measurement data is gathered and programmed manually, it would be relatively labor-intensive and error-prone. 
       SUMMARY OF THE INVENTION 
       [0007]    A system for automatically and accurately evaluating bar codes contained in a target image includes an imaging system for creating a target image from a target including focusing optics and a sensor array. The focusing optics defines a field of view for focusing reflected illumination from an image onto the sensor array. A processor includes a memory for storing an image gathered from the sensor array having multiple bar codes spaced with respect to each other on the target in a predetermined format. A display presents data concerning the multiple bar codes on a viewing screen for use in programming an imaging-based reader for subsequent decoding and presentation of data conforming to the predetermined format. 
         [0008]    These and other objects, advantages, and features of the exemplary embodiment of the invention are described in detail in conjunction with the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a perspective view of a bar code scanner supported on a stationary stand and connected to a desktop computer; 
           [0010]      FIG. 2  is a schematic sectional view of a portion of the imaging-based bar code reader showing the scanner head; 
           [0011]      FIG. 3  is a block circuit diagram of the imaging-based bar code reader of  FIG. 1 ; 
           [0012]      FIG. 4  is a plan view of a representative target label having multiple spaced bar codes representing different information; and 
           [0013]      FIG. 5  is a plan view of an image of the label of  FIG. 4  having a data window the overlies a part of the label image. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    An imaging-based scanner or reader that is capable of reading bar codes is shown schematically at  10  in the Figures. The scanner  10  is capable of imaging and decoding bar codes. One example is the 2D bar code  14  in  FIG. 3 . Additionally, the reader  10  is also capable of capturing images such as an image or a document  110  in  FIG. 4  that contains multiple bar codes. The bar code reader  10  includes a housing  11  supporting an imaging system  20  and a decoding system  40  ( FIG. 3 ). The housing  11  supports a transparent window  17  through which reflected illumination from the target document is received by the imaging system  20 . 
         [0015]    When enabled, the imaging system  20  captures an image frame  42  of a field of view FV of the imaging system which is stored in a memory  44 . The imaging process captures an image of the target bar code. The decoding system  40  analyzes a captured image frame  42  and attempts to decode decodable portions of the image frame  42 . The decoded portions  41  of image frame  42  are stored in a buffer memory  44   a . Alternately, a series of image frames  43  are captured and using a stitching method the decoding system  40  attempts to combine or stitch the decoded portions stored in buffer memory to achieve a full decode of the document  12  or  110 . 
         [0016]    The imaging system  20  includes an imaging camera  22  ( FIG. 2 ) and associated imaging circuitry  24 . The imaging camera  22  includes a housing supporting focusing optics including a focusing lens  26  and a 2D photosensor or pixel array  28 . The imaging camera  22  is enabled during an imaging session to capture a sequence of images of the field of view FV of the focusing lens  26 . 
         [0017]    In one mode of operation, the bar code reader  10  is a hands-free reader including a housing having a flat base portion that can be placed on a counter or tabletop. The scanner  10  of  FIG. 1  is supported by a support stand  100 . When so mounted, the exposure operation mode of the camera can be altered enhance the image quality of the resulting image produced by the scanner  10 . 
         [0018]    The housing  11  defines an interior area  11   a . Disposed within the interior area  11   a  circuitry  13  including the imaging and decoding systems  20 ,  40  and an illumination assembly  60  including one or more light emitting diodes  62  which, when enabled, direct illumination through the transparent window  17  and onto a target. The bar code reader circuitry  13  is electrically coupled to a power supply, which may be in the form of an on-board battery or a connected off-board power supply. If powered by an on-board battery, the reader  10  may be a stand-alone, portable unit. If powered by an off-board power supply, the reader  10  may have some or all of the reader&#39;s functionality provided by a connected host device. 
         [0019]    Circuitry associated with the imaging and decoding systems  20 ,  40 , including the imaging circuitry  24 , may be embodied in hardware, software, electrical circuitry or any combination thereof and may be disposed within, partially within, or external to the camera assembly housing  25 . In the illustrated embodiment, the functions of the reader are controlled and co-ordinated by a microprocessor controller  101 . The controller  101  also manages outputs from the decoding system  40  such as an output  56  to a display  58  and communications output port  57  and visual and audible signals from an LED  59   b  and speaker  59   a . The imaging camera housing  25  is supported with an upper or scanning head portion  11   c  of the housing and receives reflected illumination from the target document through the transparent window  17  supported by the scanning head  11   c . The focusing lens  26  is supported by a lens holder  26   a . The camera housing  25  defines a front opening  25   a  that supports and seals against the lens holder  26   a  so that the only illumination incident upon the sensor array  28  is illumination passing through the focusing lens  26 . 
         [0020]    Depending on the specifics of the camera assembly  22 , the lens holder  26   a  may slide in and out within the camera housing front opening  25   a  to allow dual focusing under the control of the imaging circuitry  24  or the lens holder  26   a  may be fixed with respect to the camera housing  25  in a fixed focus camera assembly. The lens holder  26   a  is typically made of metal. A back end of the housing  25  may be comprised of a printed circuit board  24   b , which forms part of the imaging circuitry  24  and may extend beyond the housing  25  to support the illumination system  60 . 
         [0021]    The imaging system  20  includes the sensor array  28  which may comprise a charged coupled device (CCD), a complementary metal oxide semiconductor (CMOS), or other imaging pixel array, operating under the control of the imaging circuitry  24 . In one exemplary embodiment, the pixel array  28  comprises a two dimensional (2D) mega pixel array with a typical size of the pixel array being on the order of 1280×1024 pixels. The pixel array  28  is secured to the printed circuit board  24   b , in parallel direction for stability. 
         [0022]    As is best seen in  FIG. 2 , the focusing lens  26  focuses light reflected from the target bar code  14  through an aperture  26   b  onto the pixel/photosensor array  28 . Thus, the focusing lens  26  focuses an image of the target document within the field of view FV onto the array of pixels comprising the pixel array  28 . The focusing lens  26  field of view FV includes both a horizontal and a vertical field of view, the vertical field of view being shown schematically as FV in  FIG. 2 . 
         [0023]    During an imaging session, one or more images in the field of view FV of the reader  10  may be obtained by the imaging system  20 . An imaging session may be instituted by an operator, for example, pressing a trigger to institute an imaging session. Alternately, the imaging system  20  may institute an imaging session when a lower or bottom edge of the item  15  moves through an upper portion of the field of view FV. Yet another alternative is to have the imaging system  30  always operational such that image after image is captured and analyzed for the presence of data within an imaged target. In any event, the process of capturing an image  42  of the field of view FV during an imaging session is known in the scanner art. Electrical signals are generated by reading out of some or all of the pixels of the pixel array  28  after an exposure period. After the exposure time has elapsed, some or all of the pixels of pixel array  28  are successively read out, thereby generating an analog signal  46 . In some sensors, particularly CMOS sensors, all pixels of the pixel array  28  are not exposed at the same time, thus, reading out of some pixels may coincide in time with an exposure period for some other pixels. 
         [0024]    The analog image signal  46  from the pixel array represents a sequence of photosensor voltage values, the magnitude of each value representing an intensity of the reflected light received by a photosensor/pixel during an exposure period. The analog signal  46  is amplified by a gain factor, generating an amplified analog signal  48 . The imaging circuitry  24  further includes an analog-to-digital (A/D) converter  50 . The amplified analog signal  48  is digitized by the A/D converter  50  generating a digitized signal  52 . The digitized signal  52  comprises a sequence of digital gray scale values  53  typically ranging from 0-255 (for an eight bit processor, i.e., 2 8 =256), where a 0 gray scale value would represent an absence of any reflected light received by a pixel (characterized as low pixel brightness) and a 255 gray scale value would represent a very intense level of reflected light received by a pixel during an integration period (characterized as high pixel brightness). 
       Target Label Interpretation 
       [0025]    The exemplary image based scanner  10  can capture an image  42  such as an image of a target label  110  illustrated in  FIG. 4  having multiple bar codes printed thereon. The label shown in  FIG. 4  is a shipping label used in shipping a product such as an image based scanner or bar code reader. The label contains five 1D barcodes  112 ,  114 ,  116 ,  118 ,  120 , namely one each for the model number, serial number, country of origin, revision number, and manufacture date. In addition, there is also a 2D barcode  130  containing both the model and serial numbers. In accordance with the exemplary system it is desirable to get several pieces of data from a single image either with or without the aid of stitching within the scanner  10 . 
         [0026]    In the preferred embodiment, to program one or more such scanners, an operator performs the following steps:
       1. S/he opens a special computer program executing on a computer  150  and connects the program with a communications protocol running on an image capturing device, possibly the scanner  10 . The communications between the computer and the scanner occur over a cable  104  connected to the communications port  57  on the scanner and a communications port, such as a USB port on the computer  150 . The computer program, in turn, puts the scanner into a special mode in which an image  140  ( FIG. 5 ) of the label  110  is obtained and transmitted to the computer.   2. S/he operates the scanner  10  to obtain such an image  140 . This step may be performed with a video-preview on the computer, and/or it can be repeated until the acquired image meets a certain criteria, either judged by the scanner  10 , the computer program executing on the computer  150 , or the operator.   3. S/he works with the computer program, which now displays the captured image of the printed label. When the cursor is moved to select a barcode, the computer program automatically performs certain tasks on the barcode. These tasks include highlighting an outline  160  of the barcode and displaying the barcode&#39;s decoded results such as the code type and the decoded data content in a window  162 . Alternatively, the information relating to each barcode in the image could be displayed statically, either in the image itself, or in a separate text area on the computer screen or monitor  152  with markers, such as numbers or letters, linking them to the barcodes in the image.   4. With the help of the computer program, the operator constructs processing logic for use in programming the scanner  10  with the barcodes in view, utilizing each barcode&#39;s properties.       
 
         [0031]    The properties utilized in the scanner logic may include the barcode&#39;s physical size (as measured relatively to the image), its location co-ordinates relative to a reference point of the image, its data size, its code type, part of its data content (such as the leading letter “S” for serial number), etc. The size and coordinate values, described as relative ones here, are in relation to each other, and are independent of the orientation and size they represent in the actual image. 
         [0032]    The window  162  of  FIG. 5  shows data generated as context data when a user moves the computer cursor over the barcode near the bottom-center of the image. A part of the context data can be used by the user in programming the desired behavior of the imaging barcode scanner. While the image itself is sometimes in grayscale only, the highlighting, shown here as a dashed rectangular box around the barcode under review, can be better viewed when displayed in color. 
         [0033]    The logic specified for the scanning procedure may be straightforward such as output order and pre- and postfixes attached to the barcodes, or complex ones such as the scanning operation must be able to produce the data for the manufacture data, revision number and serial number, while the serial number can be obtained from either from either a 1D or 2D barcode. The output is typically formatted in the form of a string with delimiters for the different bar codes that is output as a string from the communications port  57  of the bar code reader. 
         [0034]    The data available from a bar code containing target is used to program the bar code reader for subsequent use. More specifically, the data is used by a person in storing a signature for a target label into the reader for subsequent scanning. This means that once the makeup of a bar code label and its processing logic is determined it will be transmitted to one or more barcode scanners to generate a desired output when scanning this type of target label. The programming of the one or more such barcode scanners can be through wired or wireless electronic communication, or through the use of one or more programming barcodes. 
         [0035]    When using one or more programming barcodes (either 1D or 2D, each bar code bears special codes to differentiate them from “normal” data-carrying barcodes). They are produced by the computer program running on the computer  150 . These barcodes are scanned by each scanner which must be programmed to scan target labels with the specified format. 
         [0036]    More than one such label can be specified at a time in each scanner, if the barcode specifying properties can uniquely identify not only a barcode (or a group of barcodes) is within a target label, but also uniquely identify a barcode (or a group of barcodes) is within one of a set of target labels. 
         [0037]    The system for capturing and decoding can be different from the disclosed exemplary embodiment for the purpose of GUI programming. The capturing can be by a camera, such as a high quality webcam and decoding could be done by the computer  150 . Its only when one is programming a scanner that a scanner need be attached to the computer and only if the programming is done through the communications link between them such as a USB port connection. Of course an imaging scanner can be used to capture and decode the bar codes of a target image. In the exemplary embodiment, however, the decoding is done by the computer attached to the scanner that implements the GUI so that only an image of the target is transmitted to the computer  150  rather than data from the bar codes. 
         [0038]    While the present invention has been described with a degree of particularity, it is the intent that the invention includes all modifications and alterations from the disclosed design falling within the spirit or scope of the appended claims.