1. Field of the Invention
This invention relates to symbology readers and more particular to systems for acquiring and decoding symbology images.
2. Background Information
Machine vision systems use image acquisition devices that include camera sensors to deliver information on a viewed subject. The system then interprets this information according to a variety of algorithms to perform a programmed decision-making and/or identification function.
Symbology reading entails the aiming of an image acquisition sensor (CMOS camera, CCD, etc.) at a location on an object that contains a symbol (a “barcode”), and acquiring an image of that symbol. The symbol contains a set of predetermined patterns that represent an ordered group of characters or shapes from which an attached data processor (for example, a microcomputer) can derive useful information about the object (e.g. its serial number, type, model, price, etc.). Symbols/barcodes are available in a variety of shapes and sizes. One of the most commonly employed symbol types used in marking and identifying objects are the so-called one-dimensional or “linear” barcode, one common for of which comprises a series of vertical stripes of varying width and spacing.
By way of background, FIG. 1 shows an exemplary scanning system 100 adapted for fixed-mount operation. An exemplary scanning appliance 102 is provided. It includes a housing section 104, imaging lens 103 and mounting structure 106 that maintains the scanning appliance in a relatively fixed position with respect to an object 105 or other subject of interest. Note that the object 105 can be directed through the scanning appliance's field of view using a conveyor 130 that moves, for example, in the direction of arrow 132. An image formation system 151 within the housing (in optical communication with the lens 103 is shown in phantom. The image formation 151 can be controlled by, and can direct image data to, an onboard embedded processor 109 (shown outside the housing 104 for clarity). This processor 109 can include a scanning software application 113 by which lighting is controlled, images are acquired and image data is interpreted into usable information (for example, alphanumeric strings derived from the symbols, such as the depicted one-dimensional or “linear” barcode 195 on the surface of the object 105). The decoded information can be directed via a cable 111 to a PC or other data storage device 112 having (for example) a display 114, keyboard 110 and mouse 118, where it can be stored and further manipulated using an appropriate application 121. In this example, the barcode data is translated by the application, using known techniques, into appropriate alphanumeric characters 196, which are provided (by way of example) on the display 114 as shown. Alternatively, the cable 111 can be directly connected to an interface in the scanning appliance and an appropriate interface in the computer 112. In this case the computer-based application 121 performs various image interpretation/decoding and lighting control functions as needed. The precise arrangement of the handheld scanning appliance with respect to an embedded processor, computer or other processor is highly variable. For example, a wireless interconnect can be provided in which no cable 111 is present. Likewise, the depicted microcomputer can be substituted with another processing device, including an onboard processor or a miniaturized processing unit such as a personal digital assistant or other small-scale computer device.
The scanning application 113 can be adapted to respond to inputs from the scanning appliance 102. For example, when the operator or the conveyor triggers an image-acquisition operation, an internal camera image sensor (that is part of the image formation system 151) acquires an image of a region of interest 131 on the object 105. The exemplary region of interest includes a one-dimensional symbol 195 that can be used to identify the object 105. Identification and other processing functions are carried out by the scanning application 113, based upon image data transmitted from the hand held scanning appliance 102 to the processor 109. A visual indicator 141 can be illuminated by signals from the processor 109 to indicate a successful reading and decoding of the symbol 195.
Where image sensors are employed to read and decode symbology, it is common for the reader to acquire an image in a region of interest (131 in this example) that is often significantly larger than the bounds of the actual symbol 195. To properly decode the underlying information in a barcode, the reader's application must first determine the location of the barcode within the overall region of interest. This generally entails the recognition that a barcode pattern is actually present in the region of interest. A variety of techniques are employed to determine whether, and where, a barcode resides in an image. A more complete description of such techniques is described below. Once the barcode pattern is recognized, the boundaries of the barcode and its angular orientation must be established, at least approximately, so that it can be read completely. Finally, the image of the barcode within the overall set of acquired image data must be interpreted using known image-decoding techniques that rely, in part, upon an estimation of the approximate resolution (minimum distance between features, which also relates to its apparent size) of the barcode derived from the previous scanning steps.
Commonly assigned, published U.S. Patent application Serial No. 2006/0043186 to Nadabar addresses certain inefficiencies in reading two-dimensional type barcodes by providing models from previously discerned images of a barcode that assist in future reading of barcodes by, for example, identifying the specific symbol type for use in future scans. This application is expressly incorporated herein by reference. These techniques are particularly adapted to barcodes that present information in two dimensions, including, for the purposes of that discussion, stacked barcodes. The incorporated description relates largely to identifying the type of symbol. It is recognized, however, that under certain conditions, a runtime symbol search and decode procedure may implicate similar symbols with a plurality of invariant features. Techniques specifically adapted to one-dimensional barcodes/symbols and techniques that take advantage a variety of invariant features beyond symbol type are desirable as they could substantially increase yield in decoding scanned one-dimensional symbols, while reducing processing overhead.
To this end, the resolution, or size of the barcode within the region of interest may be highly variable, likewise, its angular orientation may be subject to great variability. As such, the reader typically expends a significant degree of processing overhead in locating and recognizing a barcode within the acquired image data. This reduces the reading speed, and moreover, increases the possibility of an erroneous read. Accordingly, it is desirable to provide a system and method for reading symbology, and in particular, one-dimensional barcodes of various types, that increases read-reliability and decreases processing overhead.