EP0439682B1
Expired / Lapsed
EP
⏱️ 0.0 years remaining
High density two dimensional symbology
Assignee: Symbol Technologies LLC
•
Filing: 1990-10-10
•
Granted: 1996-07-10
•
Expires: 2010-10-10
Abstract
No abstract record available.
Inventors
- 👤 Theodosios Pavlidis
- 👤 Ynjuin Paul Wang
- 👤 Jerome Swartz
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-10-24 19:34
CPC Classifications
G; G06; G06K; G06K19/00; G06K19/06; G06K19/06009; G06K19/06037; G06F; G06F3/00; G06F3/002; G06F8/00; G06F8/60; G06F8/70; G06F8/71; G06K1/00; G06K1/12; G06K1/126; G06K17/00; G06K17/0016; G06K19/06046; G06K7/00; G06K7/10; G06K7/14; G06K7/1404; G06K7/1408; G06K7/1417; G06K7/1439; G06K7/1443; G06K7/1456; G06K7/146; G06K7/1486; G06K7/1491; H; H04; H04N; H04N1/00; H04N1/00127; H04N1/00326; H04N1/00328; H04N1/00334; H04N1/0035; H04N1/00352; H04N1/00355; H04N1/00358; H04N1/00363; H04N1/00368; H04N1/00374; H04N1/00392; H04N1/00962; H04N1/00968; H04N1/32; H04N1/32101; G06K2019/06215; G06K2019/06253; H04N1/00204; H04N2201/00; H04N2201/0008; H04N2201/0065; H04N2201/0067; H04N2201/0068; H04N2201/0077; H04N2201/0081; H04N2201/0082; H04N2201/32; H04N2201/3201; H04N2201/3225; H04N2201/3269; H04N2201/3271; H04N2201/3278
Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
141 words
A method of reading and decoding a machine readable symbol, the symbol including a plurality of adjacent groups of codewords, each group comprising a plurality of individual codewords having a detectable mark/space pattern; the codewords together defining, when taken in sequence, an encoded version of the data to be decoded, the method comprising: (a) scanning and reading the codewords, not necessarily in the said sequence; (b) calculating, for each code word X, a discriminator function f(X) the value of which distinguishes the group containing X from an adjacent group within the said plurality of groups; (c) dividing the scanned codewords into a plurality of partial scans, each partial scan consisting wholly of code words of one group; (d) re-creating the said sequence by stitching together the partial scans; and (e) decoding the codewords and outputting or storing the sequenced decoded data.
Claim 2
Dependent Claim
32 words
A method as claimed in Claim 1 in which the mark/space patterns within any given group are approximately equidistant in terms of error distance from the mark/space patterns within any other group.
Claim 3
Dependent Claim
40 words
A method as claimed in Claim 1 in which the codewords are arranged in a plurality of adjacent rows within the symbol, the row in which the codeword X lies being determined at least partially by the value of f(X).
Claim 4
Dependent Claim
45 words
A method as claimed in Claim 3 in which the codewords are scanned row-wise or at a skewed angle thereto, the codewords X i (i = 1,2...) on scanning being assigned to a common row only for so long as f(x i ) remains constant.
Claim 5
Dependent Claim
35 words
A method as claimed in Claim 3 and Claim 4 in which the values of f(X) uniquely discriminate between any codeword lying in a first row and any codeword lying in a second adjacent row.
Claim 6
Dependent Claim
40 words
A method as claimed in Claim 5 in which the respective values of f(X) also uniquely discriminate between any codeword lying in the first or second rows, and any codeword lying in a third row, adjacent to the second row.
Claim 7
Independent Claim
44 words
A method as claimed in any one of the preceding claims in which each mark/space pattern comprises a plurality of bars and spaces and in which f(X) is a function of the widths of the individual bars and/or spaces making up the codeword X.
Claim 8
Dependent Claim
64 words
A method as claimed in Claim 7 in which each mark/space pattern has exactly four bars and in which f(X) = (x 1 - x 3 + x 5 - x 7 ) mod 9 where: x 1 = width of 1st bar x 3 = width of 2nd bar x 5 = width of 3rd bar x 7 = width of 4th bar
Claim 9
Dependent Claim
29 words
A method as claimed in Claim 8 in which a scanned mark/space pattern is determined not to be a codeword if f(X) does not equal 0, 3 or 6.
Claim 10
Independent Claim
42 words
A method as claimed in any one of the preceding claims in which a scanned mark/space pattern is determined not to be a codeword if any of the marks or spaces making up the pattern are wider than a specified width limited.
Claim 11
Independent Claim
58 words
A method as claimed in any one of the preceding claims in which a scanned mark/space pattern is determined not to be a codeword if the distance between the start of any one of the marks or spaces making up the pattern, and the start of the adjacent such mark or space, is greater than a specified limit.
Claim 12
Independent Claim
38 words
A method as claimed in any one of the preceding claims in which a scanned mark/space pattern is determined not to be a codeword if the pattern does not comprise exactly a given number of marks and spaces.
Claim 13
Dependent Claim
26 words
A method as claimed in Claim 10 in which the total width of a valid codeword is 17 units, and the width limit is 6 units.
Claim 14
Dependent Claim
26 words
A method as claimed in Claim 11 in which the total width of a valid codeword is 17 units, and the specified units is 9 units.
Claim 15
Dependent Claim
32 words
A method as claimed in Claim 12 in which the total width of a valid codeword is 17 units, and in which the said given number is 4 marks and 4 spaces.
Claim 16
Independent Claim
86 words
A method as claimed in any one of the preceding claims comprising calculating a t-sequence for the codeword X and decoding the codeword X according to the t-sequence and f(X); the t-sequence being defined as a sequence of N-1 digits t i where N is the total number of marks and spaces in the pattern and t i is equal to the measured distance between the beginning of the ith mark or space and the beginning of the next following mark or space respectively (Figure 2).
Claim 17
Dependent Claim
38 words
A method as claimed in Claim 16 in which the codeword X is decoded by looking up in a table in memory an index number which, for a given value of f(X) uniquely corresponds to the calculated t-sequence.
Claim 18
Dependent Claim
60 words
A method as claimed in Claim 17 including converting the index number into respective high and low values, defined as follows: V H = (index number) div m V L = (index number) mod m and decoding the codeword X as two consecutive items corresponding to entries in a further look-up table at addresses V H and V L .
Claim 19
Dependent Claim
12 words
A method as claimed in Claim 18 in which m = 30.
Claim 20
Independent Claim
90 words
A method as claimed in any one of Claims 17 to 19 including the following steps: (a) maintaining in memory a plurality of look-up tables corresponding to a plurality of decoding modes (eg figure 5); (b) maintaining a variable in memory representative of the decoding mode currently active; (c) when the index value for the codeword X, or the value of V H or V L , corresponds to a control character which specifies a new decoding mode, changing to the said new mode and updating the decoding mode variable.
Claim 21
Dependent Claim
46 words
A method as claimed in any one of the preceding claims when dependent upon Claim 3 including calculating a checksum for each row and determining that an error has occurred if the calculated checksum does not match a checksum provided by a checksum-codeword in the row.
Claim 22
Dependent Claim
94 words
A method as claimed in Claim 21 including the following steps, for each row: (a) scanning the mark/space patterns within the row and decoding each recognised codeword where possible, to an index value; (b) storing the respective index values in a decoding array (DA); (c) repeating steps (a) and (b) until an index number has been stored in the decoding array for; (i) the row check sum codeword for the row; and (ii) all but one of the codewords in the row; and (d) reconstructing the missing one codeword using the row checksum codeword.
Claim 23
Dependent Claim
113 words
A method as claimed in Claim 21 including the following steps: (a) scanning the mark/space patterns within a row and decoding each recognised codeword, where possible, to an index value; (b) storing the respective index values in a decoding array (DA); (c) repeating steps (a) and (b) as necessary for each row, and for all rows until an index number has been stored in the decoding array for: (i) a symbol checksum codeword; (ii) all but two of the codewords in the symbol; and (iii) the row check sum codewords for the rows having the missing codewords; and (d) reconstructing the missing codewords using the row checksum codewords and the symbol checksum codeword.
Claim 24
Independent Claim
111 words
A method as claimed in any one of Claims 21 to 23 including the following steps: (a) scanning the mark/space patterns and decoding each recognised codeword, where possible, to an index value; (b) storing the respective index values in a decoding array (DA); (c) determining a confidence level corresponding to each of the elements of the decoding array (DA) and storing the confidence levels in a corresponding confidence array (FA); (d) re-scanning, re-decoding, and re-determining index values and corresponding confidence values; (e) updating the decoding array and the confidence array according to the index values and confidence values determined at step (d) and the values in the decoding and confidence arrays.
Claim 25
Dependent Claim
150 words
Apparatus for reading and decoding a machine readable symbol, the symbol including a plurality of groups of codewords, each group comprising a plurality of individual codewords having a detectable mark/space pattern; the codewords together defining, when taken in sequence, an encoded version of the data to be decoded, the apparatus including means for scanning and reading the codewords, not necessarily in the said sequence, means for decoding the codewords and means for outputting or storing the sequenced decoded data; characterised by: (a) means for calculating, for each codeword X, a discriminator function f(X) the value of which distinguishes the group containing X from an adjacent group within the said plurality of groups; (b) means for dividing the scanned codewords into a plurality of partial scans, each partial scan consisting wholly of code words of one group; and (c) means for recreating the said sequence by stitching together the partial scans.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.