The present invention relates generally to improvements to bar code scanning. More particularly, the invention relates to improved systems and techniques for capturing and processing a bar code image so as to generate a scan signal exhibiting a signal to noise ratio sufficient for accurate and efficient scanning.
Retail checkout operations, have used bar code scanning for many years, and bar code scanning has proven to be of great value in numerous other applications as well. Improved efficiency and accuracy of bar code scanning typically leads to improved efficiency of operations in which such scanning is used. One promising bar code scanning technology is imaging scanning, involving the capture and processing of a visual image of a bar code by an imaging device such as a digital camera, in order to extract bar code information. One important aspect of imaging scanning, and of all bar code scanning, is the signal to noise ratio of any signal that is processed to identify light and dark regions of a bar code. The signal produced by processing an image of a bar code typically comprises positive and negative peaks which are analyzed to indicate transitions between light and dark regions. Noise affecting the signal may cause unpredictable effects on the signal level, and may impair the recognition of transitions by decreasing peaks.
Image scanning is subject to a number of constraints. Frequently, it is desired to perform bar code scanning by moving objects bearing bar codes past scanning devices, in order to achieve a rapid throughput of scanned items. This procedure is often used, for example, in retail checkout operations. If image scanning is performed by moving a bar through the field of view of an imaging device, such as a digital camera, the captured image is subject to blurring. In order to reduce or eliminate blurring, it is desirable to use a fast shutter speed. However, the use of a fast shutter speed reduces the light reaching the camera, unless a strong illumination is used. Such strong illumination is often impractical or impossible, because it is unacceptably hazardous or uncomfortable to an operator or bystander. Using a fast shutter speed together with a lower illumination than might ideally be desirable for such a shutter speed, may result in a dark, low contrast image.
Among its several aspects, the present invention recognizes that the circumstances under which imaging scanning is frequently performed may result in the capture of a dark, low contrast image, and that processing of this image to yield a bar code signal is likely to produce a signal subject to noise. The invention addresses such problems, as well as others, by processing multiple rows of sensors in a captured bar code image. A digital image as typically captured by an image sensor, such as a charge coupled device (CCD), complementary metal oxide semiconductor (CMOS), or other image sensor such as may be used in digital imaging systems such as digital cameras, comprises information captured by an array of sensor elements making up the sensor. The information captured by each sensor element may be referred to as a pixel, so that the information captured by the array of sensor elements may be referred to as an array of pixels, with each pixel representing information relating to a point on the image, such as brightness and color. A bar code image may be considered as an array of image information comprising multiple rows of pixels, with each row of pixels comprising captured information representing a cross section of the bar code.
A bar code is typically a set of vertical light and dark regions, resembling vertical stripes, so that each horizontal row of pixels of such an image captures essentially the same information as relates to the transitions between light and dark bar code regions. Therefore, examining multiple rows of pixels will return multiple instances of the same information. Each row of pixels will be affected by whatever noise is present, but noise is random, and can therefore be expected to affect different rows of pixels in different ways. If noise effects tend to have an equal chance of falsely increasing or diminishing a signal, the effects of noise on different rows will tend to cancel one another as the number of rows examined increases. Also, any anomalies present in one row will tend to be diminished in effect as the information from multiple rows is added or averaged together.
A system according to an aspect of the present invention therefore processes multiple rows of pixels representing information from a bar code image, so that information provided by the processing can then be combined. Depending on the particular technique employed, combining information can be accomplished during imaging itself, or by taking information produced by the camera and combining the information mathematically, through addition, averaging, or another suitable technique. The information generated through the processing of the multiple rows produces a scan signal that can be analyzed to extract bar code information, for example, by analyzing peaks and valleys to identify transitions.
A more complete understanding of the present invention, as well as further features and advantages of the invention, will be apparent from the following Detailed Description and the accompanying drawings.
The scanner 122 suitably includes a base 130, a tower section 134, and horizontal and vertical scan windows 136 and 138. The scanner 122 also includes imaging devices, such as digital cameras 140 and 142, and elements for control and image processing, suitably including a processor 154, memory 156, and long term storage such as flash memory 158. The processor 154, memory 156, and long term storage 158, as well as the digital cameras 140 and 142, suitably communicate over a bus 160.
Scanning is often conducted by passing objects in rapid sequence past the horizontal scan window of a scanner, which is the window 136 in the present example, although such rapid scanning may also be employed using a vertical scan window, or both a horizontal and a vertical scan window, as shown in
In cases where rapid scanning of moving bar codes by an imaging scanner is desired, it is highly desirable that images captured by the scanner be as free of distortion as possible. Taking images of moving objects introduces blur, unless proper steps are taken to prevent blurring. In order to eliminate or minimize blur, a fast shutter speed is advantageously used, and for the comfort and safety of persons conducting scanning or near the scanning station, excessive levels of illumination are inadvisable. Therefore, a bar code image captured under such circumstances tends to be significantly affected by noise. Therefore, a scanner such as the scanner 122 suitably processes captured images in such a way as to overcome or compensate for the effects of noise, by taking advantage of the fact that a typical bar code includes multiple instances of essentially identical information. In the present exemplary embodiment, the scanner 122 processes a bar code image by combining information from multiple rows of pixels representing elements of a bar code image and processing the combined information to produce a scan signal.
The dashed lines 202A-202T represent rows passing through the bar code 200. Any image of the bar code 200, or any similar bar code, will provide numerous rows of information. A scanner according to an aspect of the present invention, such as the scanner 122, can implement any of various alternative means of selecting and processing rows of information in an image.
The camera 142 includes an imaging device 302, which may take the form of a charge coupled device (CCD), CMOS sensor device, or other suitable device. The imaging device 302 comprises an array 306 of individual cells, a horizontal register 307, and a bus 308. The array comprises numerous cells, but for simplicity, the imaging device 302 will be represented for illustrative purposes as comprising 25 cells arranged in rows 310A-310E. The imaging device 302 also suitably includes a power and electronic control package 312. These elements may all reside on a single chip. When light strikes the imaging device 302, charges accumulate in the cells of the array 306. In order to retrieve visual information from the array 306, charges are allowed or induced to migrate vertically to the horizontal register 307, and then to the bus 308.
Many imaging devices implement a binning feature, in which charges in adjacent rows may be combined. Rather than passing each row individually to the horizontal register 307, and then passing the charges out of the horizontal register 307 to the bus 308 before the next row is passed to the horizontal register, charges from one row may be passed to an adjacent row so as to produce a row of combined charges. This row of combined charges may then be passed to another adjacent row, and so on. Combinations of adjacent rows may be achieved as desired, with any desired grouping of rows capable of being implemented. For example, the rows 310D and 310E may be combined and passed to the horizontal register 307 and out the bus 308, the row 310C may be passed to the horizontal register 307 and out the bus 308 individually, and the rows 310B and 310A may be combined and passed to the horizontal register 307 and out the bus 308. In a larger array, a large number of alternative groupings is possible.
Such binning allows the row data to be combined within the imaging device 302, so that digitizing and processing may be performed on the already combined data. The imaging device 302 may be chosen and configured to implement such a binning feature in order to combine multiple rows, so that the image information passed to the bus 308 during bar code scanning may represent a combination of multiple rows, combined in the array 306 before being passed to the bus 308. The information received from the imaging device 302 will thus inherently represent combined information from multiple rows.
As an alternative to combining data using a binning feature of an imaging device such as the imaging device 302, it is also possible to combine information from multiple rows mathematically during data processing. Charge data from each row of cells of the array 306 is passed to the horizontal register and out to the bus. Data from the entire array of cells is thus available for processing. Processing of the data includes selecting a specified number of rows of pixels, taking information from those rows of pixels, and combining the information using predetermined techniques, such as addition or averaging.
Such processing may be performed by the power and electronic control package 312 on the imaging device 302, or elsewhere within the camera 142, which suitably includes its own processor 314, memory 316, and storage 318, communicating over a bus 320, which can in turn be connected to the bus 160. If desired, the camera 142 may be provided without its own storage 318, using the storage 158 of the scanner 122 instead. The camera 142 performs appropriate processing as discussed herein in order to retrieve data from the imaging device 302, and passes the data to the bus 160 of the scanner 122.
As a further alternative, mathematical combining of row data may be performed elsewhere in the scanner 122, in generating a scan signal to be interpreted by the scanner.
The scanner 122 uses the data received from the imaging device 302 to create a scan signal which, because of the combining of multiple instances of essentially the same information from multiple rows of pixels of the bar code image, exhibits a greater signal to noise ratio than a signal based on a single row of pixels.
It will be noted that the curve 402A exhibits noticeable diminution of the amplitudes of spurious peaks, showing the effect of combining 2 pixels, and that these peaks are even further reduced in the curve 402C, showing the effects of combining 4 pixels. A combination of 2 to 4 rows can be expected to produce significant improvement, allowing reliable scanning for bar codes in which the narrowest segment is 0.01 inch, with a combination of 8 rows being expected to allow for reliable scanning for bar codes in which the narrowest segment is 0.005 inch. These combinations can typically he achieved without an unacceptable reduction in the speed of passby scanning.
An imaging device such as that the digital camera 142 illustrated in
While the present invention is disclosed in the context of a presently preferred embodiment, it will be recognized that a wide variety of implementations may be employed by persons of ordinary skill in the art consistent with the above discussion and the claims which follow below.