Bar code reading system for reconstructing irregularly damaged bar codes
First Claim
1. A bar code reading system comprising:
- scanning means for scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one black bar element and white space element being a constant value for each at least one symbol;
damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged, said damage-determining means including means for estimating an expected length of said bar code symbol and comparing said expected length with the actual length of said bar code symbol;
reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; and
decoding means for decoding the reconstructed or undamaged bar code symbol.
2 Assignments
0 Petitions
Accused Products
Abstract
A bar code reading system capable of reconstructing irregularly damaged bar codes includes an input device such as an omnidirectional or CCD scanner, processors for determining whether the bar code symbol has been damaged, and a decoder. The scanner initially scans the bar code to determine the symbology that governs the bar code. Once the symbology has been obtained, an expected length for each symbol can be calculated. The scanner then individually scans each symbol and compares the symbol'"'"'s length to its expected length. If the lengths differ by a significant amount, the symbol is assumed to be damaged and information about the elements of each symbol are stored in memory. The scanner then scans in a reverse direction and stores information about the symbol in memory. A processor then determines all of the possible permutations of element widths from the stored information. Each permutation is checked against all possible decoded symbols until a single, decodable symbol is found.
48 Citations
22 Claims
-
1. A bar code reading system comprising:
-
scanning means for scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one black bar element and white space element being a constant value for each at least one symbol; damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged, said damage-determining means including means for estimating an expected length of said bar code symbol and comparing said expected length with the actual length of said bar code symbol; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; and decoding means for decoding the reconstructed or undamaged bar code symbol. - View Dependent Claims (2, 6, 7, 8, 9, 10, 11, 12)
-
-
3. A bar code reading system comprising:
-
scanning means for scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one black bar element and white space element being a constant value for each at least one symbol; damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; and decoding means for decoding the reconstructed or undamaged bar code symbol; wherein the damage-determining means further comprises; symbology determining means for determining a symbology type of the bar code; number-calculating means for calculating a number of symbols in the bar code; length-calculating means for calculating a length of a symbol in the bar code; and comparing means for comparing an absolute value of a difference between the calculated length of the symbol and the constant value to a predetermined tolerance value. - View Dependent Claims (4)
-
-
5. A bar code reading system comprising:
-
scanning means for scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one black bar element and white space element being a constant value for each at least one symbol; damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; and decoding means for decoding the reconstructed or undamaged bar code symbol; wherein the reconstructing means comprises; scanning means for scanning, in a second direction, and on a second scanning line, the bar code; sequencing means for calculating a first sequence comprising all element widths of the bar code symbol in the first direction, and a second sequence comprising all element widths of the bar code symbol in the second direction; set calculating means for calculating a first set comprising all possible combinations of elements from the first sequence and the second sequence; and decode set calculating means for calculating a set comprising all decodable combinations from the first set.
-
-
13. A bar code reading system for reading bar codes having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol, the bar code reading system comprising;
-
damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged, said reconstructing means including a scanning means for scanning said bar code symbol in a first and second direction, and a set calculating means for calculating all possible decodable combinations in the bar code symbol; decoding means for decoding the reconstructed or undamaged bar code symbol; and memory means for storing data. - View Dependent Claims (16, 17)
-
-
14. A bar code reading system for reading bar codes having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol, the bar code reading system comprising;
-
damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; decoding means for decoding the reconstructed or undamaged bar code symbol; and memory means for storing data; wherein the damage-determining means further comprises; symbology determining means for determining a symbology of the bar code; number-calculating means for calculating a number of symbols in the bar code; length-calculating means for calculating a length of a symbol in the bar code; and comparing means for comparing an absolute value of a difference between the calculated length of the symbol and the constant value to a predetermined tolerance value.
-
-
15. A bar code reading system for reading bar codes having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol, the bar code reading system comprising;
-
damage-determining means for determining whether the at least one bar code symbol is damaged or undamaged; reconstructing means for reconstructing the bar code symbol if the bar code symbol is damaged; decoding means for decoding the reconstructed or undamaged bar code symbol; and memory means for storing data; wherein the reconstruction means comprises; sequencing means for calculating a first sequence comprising all element widths of the bar code symbol in a first direction, and a second sequence comprising all element widths of the bar code symbol in a second direction opposite the first direction; set calculating means for calculating a first set comprising all possible combinations of elements from the first sequence and the second sequence; and decode set calculating means for calculating a set comprising all decodable combinations from the first set.
-
-
18. A method for reading bar codes comprising the steps of:
-
scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol; determining whether the at least one bar code symbol is damaged or undamaged, including the steps of estimating an expected length of said bar code symbol and comparing said expected length with the actual length of said bar code symbol; reconstructing the bar code symbol if the bar code symbol is damaged, including the steps of scanning the bar code symbol in a second direction and calculating a set of all possible decodable combinations of the bar code symbol; and decoding the reconstructed or undamaged bar code symbol.
-
-
19. A method for reading bar codes comprising the steps of:
-
scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol; determining whether the at least one bar code symbol is damaged or undamaged; reconstructing the bar code symbol if the bar code symbol is damaged; and decoding the reconstructed or undamaged bar code symbol; wherein the determining step further comprises the steps of; determining a symbology of the bar code; calculating a number of symbols in the bar code; calculating a length of a symbol in the bar code; and comparing an absolute value of a difference between the calculated length of the symbol and the constant value to a predetermined tolerance value.
-
-
20. A method for reading bar codes comprising the steps of:
-
scanning, on a first scanning line and in a first direction, a bar code having at least one symbol, the at least one bar code symbol having at least one of a black bar element and a white space element, a sum of widths of the at least one of a black bar element and a white space element being a constant value for each at least one symbol; determining whether the at least one bar code symbol is damaged or undamaged; reconstructing the bar code symbol if the bar code symbol is damaged; and decoding the reconstructed or undamaged bar code symbol; wherein the reconstructing step further comprises the steps of; scanning, in a second direction, and on a second scanning line, the bar code; calculating a first sequence comprising all element widths of the bar code symbol in the first direction, and a second sequence comprising all element widths of the bar code symbol in the second direction; calculating a first set comprising all possible combinations of elements from the first sequence and the second sequence; and calculating a set comprising all decodable combinations from the first set.
-
-
21. An apparatus for decoding a bar code symbol having a plurality of data elements, said apparatus comprising:
-
a processor; an input device coupled to said processor for creating a digitized image of said bar code symbol; a program memory storing a program for controlling said processor to reconstruct a damaged data element within said bar code symbol by scanning said damaged data element in a first and second direction, calculating a set of all possible decodable combinations of said damaged data element, and repeating said scanning and calculating on different scan lines until said set includes only one decodable data element; and a decoder for decoding said digitized image.
-
-
22. An apparatus for decoding a bar code symbol having a plurality of data elements, said apparatus comprising:
-
a processor; an input device coupled to said processor for creating a digitized image of said bar code label; a program memory storing a program for controlling said processor to detect damage in one of said plurality of data elements by comparing an expected length of said data element to a scanned length of said data element, and reconstruct a damaged data element within said bar code symbol by scanning said damaged data element in a first and second direction, calculating a set of all possible decodable combinations of said damaged data element, and repeating said scanning and calculating on different scan lines until said set includes only one decodable data element; and a decoder for decoding said digitized image.
-
Specification