A blur resistant barcode is disclosed. The blur resistant barcode comprise a plurality of parallel lines and spaces where information is encoded in the barcode by variations in the thicknesses of the plurality of parallel lines and by variations in the spacing between the plurality of parallel lines. The blur resistant barcode has at least one blur resistant feature that has a thickness in an axis of motion greater than a maximum thickness of any one of the plurality of parallel lines. The axis of motion is perpendicular to the plurality of parallel lines.
|
1. A method for reading and decoding a motion blur resistant barcode when the motion blur resistant barcode is in relative motion with respect to a scanning device along an axis of motion, comprising:
capturing an image from at least one scan line along the axis of motion of the motion blur resistant barcode with the scanning device, wherein the barcode comprises a plurality of parallel lines and spaces where information is encoded in the barcode by variations in a thickness of the plurality of parallel lines and by variations in the spacing between the plurality of parallel lines;
extracting a blur radius from at least one motion blur resistant feature in the image wherein the blur radius is a measure of the blur due to the relative motion between the motion blur resistant barcode and the scanning device, wherein the at least one motion blur resistant feature comprises triangles added to at least one bar in the barcode;
removing the blur from the image using the blur radius;
decoding the motion blur resistant barcode from the non-blurred image.
2. The method for reading and decoding a motion blur resistant barcode of
3. The method for reading and decoding a motion blur resistant barcode of
capturing an image from at least two scan lines with the scanning device wherein each scan line is along the axis of motion of the motion blur resistant barcode and the at least two scan lines are separated by a distance d and wherein the distance d is less than a height h of the at least one triangle.
4. The method for reading and decoding a motion blur resistant barcode of
5. The method for reading and decoding a motion blur resistant barcode of
6. The method for reading and decoding a motion blur resistant barcode of
|
This application is a divisional of, and claims priority too, prior application Ser. No. 12/567,392, filed Sep. 25, 2009 now U.S. Pat. No. 8,226,010, titled “Blur resistant barcode”, which is hereby incorporated by reference.
Barcodes have been in use since 1974. Barcodes are machine readable representations of data. In a basic one-dimensional barcode, the data is typically encoded by the thicknesses of parallel lines and the distance or thicknesses of the spaces between the parallel lines. Some barcodes have additional, or secondary, information encoded into the lines. The mapping between messages and barcodes is called a symbology. The specification of a symbology includes the encoding of the single digits/characters of the message as well as the start and stop markers into bars and space, the size of the quiet zone required to be before and after the barcode, as well as the computation of a checksum.
The symbology also includes a definition for the thicknesses of the parallel lines and spaces in a barcode. There are two main types of linear symbologies: two-width symbologies and many-width symbologies. Bars and spaces in two-width symbologies are wide or narrow. How wide a wide bar is exactly has no significance as long as the symbology requirements for wide bars are adhered to, usually two to three times wider than a narrow bar. Bars and spaces in many-width symbologies are all multiples of a basic width called the module. Most many-width symbologies use four widths of 1, 2, 3 and 4 modules.
One use for barcodes is to electronically identify items during checkout. Barcodes may also be used during the manufacturing process. When used in a manufacturing process, the barcode may be in motion when scanned. On a high speed manufacturing line, or a high speed printing press, the speed of the barcode with respect to the barcode reader may cause the image of the barcode being scanned to be blurred in the direction of motion. When the blurring or smearing becomes too pronounced, the barcode may become unreadable.
One way to reduce the blurring of the barcode image is to slow down the relative motion between the barcode and the barcode reader. Another method to reduce the bluffing of the barcode image is to increase the illumination so that the exposure time used to capture the image of the barcode is shortened. Some methods use image processing to remove the blur from the barcode image. One example of image processing to remove blur is a de-convolution using a Wiener Filter. De-convolution to remove blur typically requires a measure of the blur radius.
The image in
When a barcode is scanned while in motion, the image of the barcode may become blurred. The blur amount can be quantized as a blur radius. In one example embodiment of the invention, a barcode is modified such that the blur radius can be calculated even when the blur radius is greater than ½ the maximum bar thickness allowed by the barcode symbology or ½ the maximum spacing between the bars allowed in the barcode symbology. In one example embodiment of the invention, the modification to the barcode is the addition of a mark or fiduciary nearby a standard barcode.
Augmented barcode 200 is typically scanned in the direction shown by arrows 206, 208 and 212 (the barcode will be moving in the opposite direction with respect to the scanner). When the blur radius is expected to be less than one-half the maximum bar thickness or one-half the maximum spacing between bars, augmented barcode 200 may be scanned and decoded using only the standard barcode 202. In this case, scan line 206 may be used. When the blur radius is greater than one-half the maximum bar thickness, scan line 208 and/or 212 may be used. When using scan line 208 or 212 the blur radius can be determined using mark 204.
The width or thickness of mark 204 is greater than the maximum thickness allowed for any of the bars or spaces in the standard barcode 202. In some cases the thickness of mark 204 may be greater than 4 times the maximum bar thickness in the standard barcode 202. The thickness of mark 204 is chosen such that a smooth transition from the full black oldie bar to the full white of the background is obtained when mark 204 is scanned. Using the smooth transition from minimum intensity to maximum intensity, the blur radius can be determined. Once the blur radius has been determined, the blur can be removed from the image of the standard barcode and the barcode can be decoded.
Mark 204 is placed distance D away from standard bar code 202 along the scanning axis. In one example embodiment of the invention, distance D is greater than or equal to the thickness of mark 204. When distance D is greater than 2 times the blur radius, scanning line 212 may be used to both determine the blur radius and capture an image of the standard barcode. When distance D is smaller than 2 times the blur radius, scanning line 208 may be used to determine the blur radius, and scan line 206 may be used to capture the image of standard barcode 202. In some embodiments, even when distance D is greater than 2 times the blur radius, scan line 208 may be used to determine the blur radius. Using scan line 208 to determine the blur radius prevents misidentifying large dark areas in standard barcode 202, area 210 for example, as mark 204.
In another example embodiment of the invention, the modification to the barcode that allows the determination of the blur radius is the addition of features to the bars of a barcode. In this embodiment the additional features added to the bars of the barcode are triangles.
When the blur radius is less than ½ the thickness of bars B, C or D, the thickness of the bars can be determined normally using scan lines 340, 342, and 344. When the blur radius is greater that ½ the thickness of bars B, C or D, the triangles may be used to determine the blur radius. The blur radius can be calculated from the image of the triangles clue to the linear variation in spacing along the edge of the triangles.
In one example embodiment of the invention, each barcode is scanned with multiple scan lines spaced apart by a known distance, for example distance d. The information from the multiple scan lines and the distance between scan lines is used to determine the blur radius. Once the blur radius has been determined, the barcode can be decoded. In another example embodiment, the placement of the triangles onto the bars of the barcode is varied in a known order between different placement types, for example placement types A, B, C and D. With the placement of the triangles varying between the different bars of the barcode, a single scan line will intersect the triangle at different locations along the height of the different triangles. Using the information from the single scan line, the blur radius is determined and then the barcode is decoded. In another example embodiment, a two-dimensional (2-D) image of the entire barcode is captured using a charged coupled device (CCD). A single row of pixels or multiple rows of pixels in the 2-D image may be used to determine the blur radius and to decode the information within the barcode. In this application, a scan line is defined to include an image generated by sweeping a single point of light across a barcode or as an image from a single row of pixels in a 2-D array of pixels that were used to capture the image of the barcode.
When using four triangles, the triangle can be used to add four additional bits of information to each bar in a barcode. The presence of a triangle in the top position can indicate a 1000 and the absence of it triangle in the top position can indicate a 0000. The presence of a triangle in the second to the top position can indicate a 0100. The presence of a triangle in the second to the bottom position can indicate a 0010, and the presence of a triangle in bottom position can indicate a 0001. Even when the blur is so great that the blur radius can not be determined using the triangles, the additional information encoded with the triangles may be decoded. In one example embodiment of the invention, the information encoded by the triangles may replicate the information encoded in the bars of the barcode. In other example embodiments of the invention, the information encoded by the triangles may contain additional information not encoded by the bars in the barcode.
The thicknesses of the bars in a barcode vary depending on the information encoded into a barcode, as well as the barcode symbology.
The visible area of a triangle attached to a barcode varies dependent on the type of triangle used.
The orientation of the triangles on a bar is another degree of freedom.
The per-bar symbol polarity can be strategically inverted (reverse polarity) in order to further minimize inter-triangle blurring. When the triangles on a bar represent the symbol 0111, the “reverse polarity” version of this symbol is 1000. The reverse polarity version of the symbol can be combined with a switch in orientation of the triangles on the bar. The four bars on the right side of
Some barcode formats or symbologies, for example UPC-A, optically invert half the symbols in the barcode. The result of the optical inversion is that the spaces are turned black and the bars are turned white. This effectively makes thin bars thick and thick bars thin. Barcode with triangles added to the bars can be used for formats that require optical inversion.
In one example embodiment of the invention, the blur radius may be determined using only partial information about the barcode and the triangles. Full information includes all of the following information: the width of the black bats (un-blurred) in a barcode, the width of the base of the triangle (un-blurred), the angle of the triangle, and the distance between scan lines in the barcode reader.
In
Simske, Steven J., Ulichney, Robert Alan, Gaubatz, Matthew D.
Patent | Priority | Assignee | Title |
8750637, | Mar 30 2009 | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | Barcode processing |
Patent | Priority | Assignee | Title |
5189292, | Oct 30 1990 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
6565003, | Dec 16 1998 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
6672511, | Jun 03 1996 | Symbol Technologies, LLC | Omnidirectional reading of two-dimensional symbols |
20040256465, | |||
20090277962, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 12 2012 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 22 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 23 2020 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 07 2024 | REM: Maintenance Fee Reminder Mailed. |
Date | Maintenance Schedule |
Feb 19 2016 | 4 years fee payment window open |
Aug 19 2016 | 6 months grace period start (w surcharge) |
Feb 19 2017 | patent expiry (for year 4) |
Feb 19 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 19 2020 | 8 years fee payment window open |
Aug 19 2020 | 6 months grace period start (w surcharge) |
Feb 19 2021 | patent expiry (for year 8) |
Feb 19 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 19 2024 | 12 years fee payment window open |
Aug 19 2024 | 6 months grace period start (w surcharge) |
Feb 19 2025 | patent expiry (for year 12) |
Feb 19 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |