BACKGROUND OF THE INVENTION The present invention relates to scanning devices for decoding symbols, and more particularly to a method for decoding symbols using a high resolution image sensor.
Encoded symbols such as ID bar codes, 2D bar codes and symbols, such as data matrixes, are commonly found in retail, industrial, and other applications for identifying labeled goods, products, or components. Bar codes are symbols that comprise a series of alternating white and black elongated bars or modules which are aligned to define a code. Data matrixes comprise a plurality of black and white cells which are arranged in a two dimensional code. Both of these types of codes, as well as various other symbols known in the art, can be found in applications for identifying goods, applied either to a label or printed directly on a part or component.
Devices for reading encoded symbols typically employ an illumination device for shining light on the symbol and a camera module for detecting the reflected light. The camera module typically has a fixed focal distance and a fixed aperture, providing a fixed field of view (FOV). The sensor in the camera module is arranged as an array of pixels defined by a row and column location in the sensor, and typically employs a low resolution sensor having a VGA resolution of about 640×480 pixels. In operation, the scanning device illuminates the symbol, and the camera module detects image data as reflected light from the illuminated area in the field of view. A decoding algorithm is employed to decode the symbol based on the acquired data.
The decoding algorithms used in these devices require a certain number of pixels per symbology element bar or cell for accurate decoding. When the FOV is fixed, as is typically found in current devices, there is therefore a direct relationship between the resolution of the sensor (in pixels per row/column) and the smallest readable code (measured in mm/module for bar codes and mm/cell for matrix codes). To provide the appropriate resolution, and both fast and accurate decode times for different types of symbols, readers are therefore typically specialized for a specific application and include lenses and/or focal distances which are fixed based on the expected application and the expected type of symbol to be read.
These specialized devices are useful for work stations where a single type of symbol is expected to be read under stable environmental conditions. However, it is often desirable to read different types of marks at a single station. To allow for reading of different types of symbols under varying environmental conditions, therefore, handheld readers are also available which use autofocus or bifocal lenses. These devices extend the reading range of the scanning device and therefore provide a variety of magnifications, thereby providing more versatile scanning capable at reading different types of symbols. Scanning devices including autofocus and bifocal lenses, however, can also be expensive and difficult to use. Autofocus and bifocal devices, for example, are highly dependent on the skill of the operator, as the operator must manually position the reader depending on the type of code being read. Furthermore, as the reader is moved further away, proper illumination of the symbol becomes problematic, rendering accurate reading difficult. These devices, therefore, require frequent re-positioning, are time-consuming to use, and can also be inaccurate.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGSFIG. 1 is a perspective view of a scanning system including a scanning device and host computer.
FIG. 2 is an exploded view of the scanning device ofFIG. 1.
FIG. 3 is a block diagram of a control system for the scanning device ofFIG. 2.
FIG. 4 is a simplified view of the image sensor ofFIG. 3.
FIG. 5 is a flow chart illustrating the steps for decoding a symbol in accordance with one embodiment of the invention.
FIG. 6 is a view of the simplified image sensor ofFIG. 4 illustrating a low resolution image acquisition of a partial read of the full field of view.
FIG. 7 is a view of the simplified image sensor ofFIG. 4 illustrating windowing based on a finder pattern.
FIG. 8 is a view of the sensor ofFIG. 4 illustrating windowing for a high resolution data set including all of the pixels in a portion of the field of view.
FIG. 9 is a flow chart illustrating a second embodiment of the invention.
FIG. 10 is a flow chart illustrating a third embodiment of the invention.
BRIEF SUMMARY OF THE INVENTION In one aspect, the present invention provides a method for decoding an encoded digital symbol with a digital scanner which is useful for decoding various types of symbols in various environmental conditions. Initially, a low resolution image data set of a field of view including the symbol is acquired, and evaluated to attempt to decode the symbol. If the symbol is not decoded in the first step, a high resolution image data set of at least a portion of the field of view is acquired and, again, evaluated to determine if it can be decoded. If the symbol is again not decoded, additional high resolution image data sets of windowed portions of the field of view are acquired until the symbol is decoded.
In another aspect of the invention, a method for decoding an encoded digital symbol with a digital scanner is provided. Here, a high resolution image data set of a field of view of the scanner is acquired and stored. The data set is then sub-sampled and the resultant low resolution image data set is evaluated in an attempt to decode the symbol. If the decode attempt does not succeed, windowed portions of the high resolution image data set are selected and evaluated, windowing as appropriate until the symbol is decoded.
In yet another aspect of the invention, a digital scanner device is provided for decoding an encoded digital symbol. The scanner includes an illuminator for illuminating a field of view including the encoded digital symbol, a sensor comprising a plurality of pixels for detecting reflected light from the encoded digital symbol and to provide an electrical signal when light is detected, and a controller connected to the sensor to selectively read at least one of the pixels into an image data acquisition set. The controller is programmed to acquire a low resolution image data set by reading a subset of the pixels in the sensor distributed through the field of view, evaluate the low resolution image data set to decode the symbol, and, when the evaluation does not decode the symbol, to acquire a high resolution image data set by reading a full set of the pixels in a selected portion of the field of view. The high resolution image data set is then evaluated to decode the symbol and, when the evaluation of the high resolution image data set does not decode the symbol, reposition the selected portion of the field of view and acquiring and analyzing additional data sets until the symbol is decoded.
In still another aspect of the invention, a method for analyzing image data is provided. The method comprises the steps of analyzing a sub-sampled image data set of the field of view for a selected image parameter, and, if the image parameter is not found, analyzing a fully sampled portion of a certain field of view for the image parameter. If the image parameter is not found in the fully sampled portion, windowing through the data and analyzing a different fully sampled portion of the field of view for the image parameter until the parameter is identified.
In yet another aspect of the invention, a digital scanner for decoding symbols is provided including an image sensor comprising an array of pixels for imaging the symbol and a controller connected to the sensor to analyze image data acquired by the sensor. The controller is programmed to selectively acquire and decode low resolution image data comprising a sub-sampling of pixels in the field of view, acquire and decode high resolution image data comprising a full sampling of pixels in at least a portion of the field of view, acquire low resolution image data and switch to acquire high image resolution data when decoding of the low resolution image data fails.
These and other aspects of the invention will become apparent from the following description. In the description, reference is made to the accompanying drawings which form a part hereof, and in which there is shown a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention and reference is made therefore, to the claims herein for interpreting the scope of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to the figures and more particularly toFIG. 1, a handhelddigital scanning device10 useful for performing the present invention is shown. Thedigital scanning device10 is provided in ahousing12 having a body section16 and agrip section14. The body section16 provides illumination from a distal end to illuminate a symbol such as a bar code or data matrix, as described below. Amoveable trigger15 provided on thehousing12 is selectively activated by an operator to provide a start signal to an internal processor to illuminate and decode the symbol. A visual or audio indicator, such as an indicator light or buzzer, can also be provided to alert the user when a symbol has been decoded. Typically, thescanning device10 is connected through acable53 to a host computer50 which receives decode data.
Referring now toFIG. 2, an exploded view of thedigital scanning device10 ofFIG. 1 is shown. Apower supply board20 is provided in thegrip section14 and provides power to aCPU board22, a camera orCAM board24, and anillumination board28 which are mounted in the body section16 of thescanning device10. Anillumination pipe26 is coupled between theCAM board24 and the distal end of the body portion16 of thedigital scanner10, and includes arecessed end27 sized and dimensioned to receive theillumination board28 which, as described more fully below, includes a plurality of lighting elements such as light emitting diodes orLEDs46 arranged in a ringed configuration to provide dark field illumination. Although theillumination board28 is shown arranged at the end of theillumination pipe26, a “passive”illumination pipe26, which receives light at a first end adjacent theCAM board24 and transmits the light through theillumination pipe26, can also be used, as described in co-pending application Ser. No. 10/693,626 filed Oct. 24, 2003 which is incorporated herein by reference for its description of such devices.
Referring now also toFIG. 3 thepower supply board20 includes apower supply30 for providing logic level power to components in thescanner10 including theCPU board22, theCAM board24, and theillumination PC board28. As thepower supply board20 is provided in thegrip portion14 of thescanning device10, a switchingelement40 activatable by the trigger15 (FIG. 1) is provided on thepower supply board20 for receiving a user-input signal requesting a scan. Thepower supply board20 further includes a transmitter andreceiver32 for transmitting and receiving information from the host system50 which, as described above, can be connected to thescanning device10 to receive decode information from thedigital scanning device10, and to transmit data to thescanning device10. The transmitter/receiver32 can be any of a number of different types of communication devices including an RS 232 connection to the host system50 or a PS2 connection which can be connected to a wedge between the keyboard52 and the host system50. Various other wired and wireless communication systems, which will be apparent to those of skill in the art, could also be used.
Referring still toFIG. 3, the central processing unit orCPU board22 includes a microprocessor orcontroller38, and amemory component34 which can include both random access memory and read only memory. Thecontroller38 is connected to thememory component34 for storing data to and retrieving data from memory, to thepower supply board30 for transmitting signals to and receiving signals from the host system50 through the transmitter/receiver32 and the receiving a start scan signal fro theswitch40, to theCAM board24 to receive acquired image data and to operatebright field illumination44, as described below, and to theillumination PC board28 for driving thelight elements46 to provide dark field illumination to a symbol to be scanned, also as described more fully below. Although direct connections are shown between thecontroller38 and various other elements, it will be apparent that various I/O device, A/D converters, and other elements can also be provided for implementing communication between the various circuit boards.
Referring still toFIG. 3 and also toFIG. 4, theCAM board24 includes animage acquisition sensor42 which detects light reflected from a symbol such as a barcode or a data matrix, along with alens25 and other optical elements. Theimage acquisition sensor42 is a high resolution sensor, and preferably a CMOS sensor having a resolution of at least a 1280×1024 provided in an array of pixels62 arranged in rows and columns. Thesensor42 can be provided on a single chip including rowselect logic64 and a column readout device66 which provides selective access to the individual pixels62 within the array, and can also include acquisition hardware elements for selectively sub-sampling the array and windowing portions of the array. Although a number of suitable chips are commercially available, one image sensor component suitable in this application is the megapixel sensor sold as part number LM9638 from National Semiconductor of Santa Clara Calif. A brightfield illumination element44, such as an LED, can also be provided on theCAM board24 and can be activated by thecontroller38 independently of or in conjunction with thedark field illumination46 provided on theillumination board28.
Referring again toFIGS. 2 and 3, as described above, theillumination PC board28 includes a plurality of light emitting diodes orLEDs46 arranged in a ring configuration which, as shown, is circular. TheLEDs46 are connected to thepower supply20 and to theCPU board22 such that thecontroller38 can selectively control theLEDs46, either individually, as a group, or in connected segments, to provide illumination from thescanning device10. Although a circular ring array is shown here, the light elements provided in theillumination PC board28 can be arranged in various configurations, and the term ring is intended to include various polygonal, rectangular, square, oval, and other configurations.
Referring again toFIG. 4, a simplified schematic illustration of animage acquisition sensor42 is shown. As described above, theimage acquisition sensor42 comprises an array of pixels62 which are arranged in a row and column configuration and which are selectively accessible by controller38 (FIG. 3) through rowselect logic64 and a column readout66. A full field of view (FOV) typically includes all of the pixels62 in the array of theimage sensor42. As described below, various portions of theimage acquisition sensor42 array can be accessed and individually read out thereby providing the ability to select various portions of the array for imaging.
Referring again toFIGS. 2, 3, and4, in operation, thetrigger15 on thescanning device10 is activated by a user, activating theswitch40 on thepower supply board20, and providing a control signal to thecontroller38 to activate at least a portion of theLEDs46 on theillumination board28 and/or thebright field illumination44 to illuminate a symbol to be decoded. Reflected light from the symbol is detected by theimage acquisition sensor42 on theCAM board24, which has a fixed lens to provide a fixed focal distance. Image data acquired by thesensor42 is read out by thecontroller38, and can be processed or stored in thememory component34 as a series of pixels62. In accordance with the present invention image data from thehigh resolution sensor42 is acquired or processed using subsets of pixels to provide improved processing speeds. These subsets can be, as described below, sub-sampled portions of the FOV in which a portion of the available pixels across the FOV are sampled, or windowed higher resolution data sets including all of the pixels acquired in a segment or portion of the FOV. By selectively processing reduced sets of data, high speed acquisition and decoding of image data can be achieved, and the scanning device can automatically adjust for varying symbology and environmental condition.
To provide a full range of capabilities, thedigital scanning device10 can, in some applications, be selectively operated in each of a low resolution mode, in which acquired data is sub-sampled over the entire FOV as described above, in a high resolution mode, in which acquired data is fully sampled over a portion of the field of view and subsequent acquisitions “window” through the field of view, and an automatic switching mode, as described with reference toFIGS. 5 and 8, below. Switching between the various modes can be provided, for example, by activating thetrigger15 repeatedly within a predetermined period of time, by adding an additional single position or multi-position switch to thescanning device10, by selecting a mode from the keyboard52 of the host computer50, or in various other ways which will be apparent to those of skill in the art. Although a high resolution mode is described as employing a windowing process, a high resolution image could also be acquired for all of the pixels in the FOV.
Referring now toFIG. 5, one embodiment of a method for decoding the symbol in accordance with the present invention using automatic switching between low resolution and high resolution modes is shown. Here, after thetrigger15 is activated the initial set of image data acquired is a low resolution image data set in which the pixels62 are sub-sampled such that data is acquired from a subset of the available pixels. The subset can include, for example, image data acquired from reading every other row and column of the array, as shown inFIG. 6 where the dark pixels67 represent sampled pixels (step68). The first low image resolution data set therefore includes image data for the full field of view (FOV) but sampled at partial, typically half resolution, providing a large but lower resolution image than would be available if data were acquired from all the pixels62 in theimage sensor42. The half resolution image data set comprises each pixel that is read, a scan of both in every other row and every other column, resulting in a set of pixels which is one fourth cut the total number of pixels in the image.
Instep70, thecontroller38 inCPU board24 attempts to decode the low resolution image data set by applying a decode algorithm. In step72 a determination is made as to whether the decode of the low resolution image data set has been successful. If the decode is successful, the process is complete, theCPU board24 activates an indicator36 indicating that a decode has been completed, and can also transmit decode data to the host system50 (step74). If the decode is not successful, the low resolution image data set is evaluated to determine whether a finder pattern or code, which provides symbol location information to the scanner can be located within the symbol being analyzed (step76). If so, the finder pattern is used to set windowing parameters (step78) for acquiring additional high resolution image data sets of the symbol which are smaller in size than the FOV, but which include most and preferably all, of the pixels62 in at least a portion of thesensor42, as shown schematically inFIG. 7. Here, the symbol is a data matrix having a finder pattern of a solid line along the left side and bottom of the symbol and thewindow91 is positioned around the symbol.
If a finder pattern is not available, instep80 default windowing parameters for selecting an initial the location for acquiring “windowed” high resolution image data is instituted. Referring now toFIG. 8, using these default parameters, for example, windowing will typically begin in the center90 of thesensor42 and continue to a second location92 based on data acquired from the first window90, which can include, as described above, a finder pattern for locating successive windows, a default set of windowing parameters, or identifying a portion of the symbol which allows repositioning of the window to the second location92. Using any of these methods, thecontroller38 attempts to zoom in on the symbol, and to decode the symbol using the acquired high resolution images, windowing through the FOV as appropriate instep82, attempting to decode the symbol instep83, changing the windowing parameters instep85 until the image is decoded instep84. When the symbol is decoded, thecontroller38 again activates a user indicator to provide an indication to the operator that the symbol has been decoded, and/or downloads decode data to the host system50.
Referring now toFIG. 9, a flow chart illustrating a second embodiment of the invention is shown, in which identical steps to those described above with reference toFIG. 5 are given like numbers. Here, a high resolution data set is initially acquired for the entire FOV in step94. This high resolution image data set is stored in memory. Thecontroller38 initially retrieves a low resolution subset of the acquired data (step96) which can be, for example, every other pixel67 or alternate rows and columns of pixel data, as described above with respect to steps72-80. If decode is not successful, processing continues by retrieving and windowing through high resolution sets of data (steps85,96 and98), and processing of the data then continues as described above. Here, rather than acquiring successive sets of image data through hardware, as described above, sampling and windowing of the data is a software function.
The present invention therefore provides a scanning device which is capable of consistently reading a variety of symbols in a variety of environmental conditions without the need for the operator to adjust to either the symbol being scanned or the surrounding conditions. By employing a higher resolution sensor and processing smaller or lower resolution portions of the available pixels, the invention also provides fast processing of the data, particularly when the reduced image contains all the information needed to decode the symbol.
Referring now toFIG. 10, although the invention is described specifically above for use in decoding symbols, similar methods can be used for any type of image data for which imaging parameters can be defined and evaluated. Here, for example, a first low resolution image set comprising sub-sampled data over the FOV is acquired in step100, and then analyzed for a selected parameter instep102. If the parameter is found, the process is complete, and an indication of success can be provided (step106). If the parameter cannot be found in the image data acquired, high resolutions images of windowed portions of the FOV re acquired (step108), evaluated for the parameter (step110), changing the window field of view (step114) until the process is successful (step112) or, in the alternative, until all of the data has been imaged at a high resolution. In alternate embodiments, successive sub-sampled, full FOV images could be acquired at varying levels of sampling, including, for example, a first step at a resolution of one quarter of the pixels, a second step at a resolution of one third of the pixels, and a third step at a resolution of half of the pixels. Similarly, windowing could be provided for successively larger or smaller portions of the FOV, or at successively increased sampling levels.
Therefore, although specific embodiments have been shown and described, it will be apparent that a number of variations could be made within the scope of the invention. For example, although a handheld scanner with specific hardware configuration has been described above, it will be apparent to those of ordinary skill in the art that many variations could be provided in the hardware and software described. Additionally, a fixed mount scanning device could also be used. Furthermore, although specific lighting conditions and symbols have been described, these are not considered to be limitations of the invention, as the methods described herein could be employed in various applications, as will be apparent from the description above. Additionally, although the method has been described above for use in decoding symbols, it will be apparent that similar methods can also be used in several imaging applications. It should be understood therefore that the methods and apparatuses described above are only exemplary and do not limit the scope of the invention, and that various modifications could be made by those skilled in the art that would fall under the scope of the invention. To apprise the public of the scope of this invention, the following claims are made: