High density two-dimensional bar code symbol
First Claim
1. A method of generating a signal representative of information encoded in a machine-readable label,(A) said machine-readable label including at least two rows of codewords, one row adjacent to and beneath another(B) each said codeword representing at least one information-bearing character and being selected from among a set of detectable mark/space patterns,(C) each said mark/space pattern having a determinable discriminator function value and comprising a pattern of marks and spaces, each said mark and space being representative of one of a plurality of different states,(D) each said row having codewords selected from one of a plurality of subsets of said mark/space patterns, each said subset comprising mark/space patterns having discriminator function values that are mutually exclusive of discriminator values corresponding to the mark/space patterns comprising any other subset, said method including the steps of:
- (a) scanning the codewords;
(b) computing the discriminator function value for each of the scanned codewords;
(c) determining, from the value of the computed discriminator function, the row containing each of the scanned codewords;
(d) decoding each of the scanned codewords to obtain a plurality of corresponding symbolic values; and
(e) generating a signal representative of the presence of each of said corresponding symbolic values in the determined row.
2 Assignments
0 Petitions
Accused Products
Abstract
A nonvolatile electro-optical read-only memory includes a substrate on which is printed (or otherwise inscribed) a complex symbol or "label" with a high density two-dimensional symbology, a variable number of component symbols or "codewords" per row, and a variable number of rows. Codewords in alternating rows are selected from mutually exclusive subsets of a mark pattern such as a (17,4) mark pattern. The subsets are defined in terms of particular values of a discriminator function, which is illustrated as being a function of the widths of bars and spaces in a given codeword. In the illustrated embodiment, each subset includes 929 available codewords; that, plus a two-step method of decoding scanned data, permitting significant flexibility in defining mappings of human-readable symbol sets into codewords. The memory may be used in conjunction with a scanner and a suitable control system in a number of applications, e.g., robotic operations or automated microfilm searching.
750 Citations
70 Claims
-
1. A method of generating a signal representative of information encoded in a machine-readable label,
(A) said machine-readable label including at least two rows of codewords, one row adjacent to and beneath another (B) each said codeword representing at least one information-bearing character and being selected from among a set of detectable mark/space patterns, (C) each said mark/space pattern having a determinable discriminator function value and comprising a pattern of marks and spaces, each said mark and space being representative of one of a plurality of different states, (D) each said row having codewords selected from one of a plurality of subsets of said mark/space patterns, each said subset comprising mark/space patterns having discriminator function values that are mutually exclusive of discriminator values corresponding to the mark/space patterns comprising any other subset, said method including the steps of: -
(a) scanning the codewords; (b) computing the discriminator function value for each of the scanned codewords; (c) determining, from the value of the computed discriminator function, the row containing each of the scanned codewords; (d) decoding each of the scanned codewords to obtain a plurality of corresponding symbolic values; and (e) generating a signal representative of the presence of each of said corresponding symbolic values in the determined row.
-
-
2. A method of generating a signal representative of information encoded in a machine-readable label,
(A) said machine-readable label including first, second, and third rows of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, (B) each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, (C) each said mark and space having a width xi of an integral multiple of a basic width unit, (D) each of said first, second, and third subsets including only codewords X matching all of the following criteria: - (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, said method including the steps of;
(a) scanning said mark/space patterns within said machine-readable label and generating an electronic image of each of said scanned mark/space patterns; (b) determining whether each of said scanned mark/space patterns is a codeword; (c) if any of said scanned mark/space patterns is a codeword, then classifying each of the codewords as a member of one of the first, second, or third subsets; (d) decoding each of the codewords in the corresponding classified subset; and (e) generating a signal uniquely representing the codewords. - View Dependent Claims (3)
- (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, said method including the steps of;
-
4. A method of generating a signal representative of information encoded in a machine-readable label,
(A) said machine-readable label including first, second, and third rows of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, (B) each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, (C) each said mark and space having a width xi of an integral multiple of a basic width unit, (D) each of said first, second, and third subsets including only codewords X matching all of the following criteria: - (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, said method including the steps of;
(a) scanning said mark/space patterns within said machine-readable label and generating an electronic image of each of said scanned mark/space patterns; (b) computing for each of the scanned mark/space patterns a t-sequence of N-1 digits whose ith digit is ti, where N is the number of marks and spaces in a scanned mark/space pattern; (c) computing the discriminator functions of each of the scanned mark/space patterns; (d) if the computed t-sequence and the computed discriminator function for any of the scanned mark/space patterns fail to satisfy the criteria for said first, second, and third subsets, then indicating that each said failed mark/space pattern is not a codeword; (e) if any of said scanned mark/space patterns is a codeword, then classifying each of the codewords as a member of one of the first, second, or third subsets; (f) according to the classified subset, performing a first level of decoding each of the codewords including obtaining from one of three lookup tables in a first memory, the three tables respectively representing the first, second, and third subsets, a plurality of index numbers uniquely corresponding to the computed t-sequences; (g) performing a second level of decoding the codewords including; (1) converting each said index number into a two-digit number in base 30, the first digit of said two-digit number being a high value and the second digit being a low value; (2) for each of the high values and the low values in succession, (i) determining, from the state of a decoding-mode variable stored in a second memory, which of a plurality of decoding modes is a currently active decoding mode, (ii) determining a symbol character associated with the high value or low value from a lookup table in said second memory associated with the active mode, and (iii) if the symbol character is a shift character, changing to a specified new current decoding mode and changing the state of the decoding-mode variable to correspond to the new decoding mode; and (h) generating a signal uniquely representing the codewords.
- (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, said method including the steps of;
-
5. A method of generating a signal representative of information encoded in a machine-readable label,
(A) said machine-readable label including first, second, and third rows each comprising a plurality of codewords and at least one control word, (B) each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, (C) each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, (D) each said mark and space having a width xi of an integral multiple of a basic width unit, (E) each of said first, second, and third subsets including only codewords X matching all of the following criteria: - (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units,
(F) each said row including a checksum codeword representing a checksum function of the other codewords in the row, the checksum function being a function of unique respective values of each codeword in the row, said method including the steps of; (a) scanning said mark/space patterns within a row and generating an electronic image of each of said scanned mark/space patterns; (b) computing for each of the scanned mark/space patterns a t-sequence of N-1 digits whose ith digit is ti, where N is the number of marks and spaces in a scanned mark/space pattern; (c) computing the discriminator function of each of the scanned mark/space patterns; (d) if the computed t-sequence and the computed discriminator function for any of the scanned mark/space patterns fail to satisfy the criteria for said first, second, and third subsets, then indicating that each said failed mark/space pattern is not a codeword; (e) if any of the scanned mark/space patterns is a codeword, then classifying each of the codewords as a member of one of the first, second, or third subsets; (f) according to the classified subset, performing a first level of decoding each of the codewords including obtaining from one of three lookup tables in a first memory, the three tables respectively representing the first, second, and third subsets, a plurality of initial index numbers uniquely corresponding to the computed t-sequences; (g) storing said initial index numbers for each of the codewords in corresponding storage locations in an initial decoding array DA in a second memory; (h) if an initial index number has been stored in the initial decoding array DA for all codewords in each of said rows, then computing checksum functions of the codewords represented in the initial decoding array DA; (i) if any of the computed checksum functions does not match the checksum codeword for the respective row, then indicating an error; (j) if a computed checksum function does match the checksum codeword for the row, then performing a second level of decoding the codewords including (1) converting each said initial index number into a two-digit number in base 30, the first digit of said two-digit number being a high value and the second digit being a low value, (2) for each of the high values and the low values in succession, (i) determining, from the state of a decoding-mode variable stored in a third memory, which of a plurality of decoding modes is a currently active decoding mode, (ii) determining a symbol character associated with the high value or low value from a lookup table in said third memory associated with the active mode, and (iii) if the symbol character is a shift character, changing to a specified new current decoding mode and changing the state of the decoding-mode variable to correspond to the new decoding mode; and (k) generating a signal uniquely representing the codewords. - View Dependent Claims (6)
- (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units,
-
7. A method of scanning and decoding a series of patterns representative of information encoded in a machine-readable label,
(A) said machine-readable label including first, second, and third rows each comprising a plurality of codewords and at least one control word, (B) each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, (C) each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, (D) each said mark and space having a width xi of an integral multiple of a basic width unit, (E) each of said first, second, and third subsets including only codewords X matching all of the following criteria: - (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units,
(F) each said row including a row checksum codeword representing a checksum function of the other codewords in the row, the checksum function being a function of unique respective values of each codeword in the row, (G) the machine-readable label including a sequence of one or more codewords representing a structure checksum for the machine-readable label, said method including the steps of; (a) scanning a mark/space pattern within a row and generating an electronic image of said scanned mark/space pattern; (b) computing a t-sequence of N-1 digits whose ith digit is ti, where N is the number of marks and spaces in the scanned mark/space pattern; (c) computing the discriminator function of the scanned mark/space pattern; and (d) if the computed t-sequence and the computed discriminator function fail to satisfy the criteria for said first, second, and third subsets, then indicating that the scanned mark/space pattern is not a codeword; (e) if the scanned mark/space pattern is a codeword, then classifying the codeword as a member of one of the first, second, or third subsets; (f) according to the classified subset, performing a first level of decoding the codeword including obtaining from one of three lookup tables in a first memory, the three tables corresponding to the first, second, and third subsets, an initial index number uniquely corresponding to the computed t-sequence; (g) storing said initial index number for the codeword in a corresponding storage location in an initial decoding array DA in a second memory; (h) repeatedly performing steps (a) through (g) until an initial index number has been stored in the initial decoding array DA for (i) each of the row checksum codewords for each said row and the structure checksum codeword sequence, and (ii) all but at most two of all codewords in all rows of the machine-readable label; (i) if an initial index number has not been stored for an unknown codeword in any of said rows, then computing an initial index number for each said unknown codeword as a function of one or both of the initial index numbers corresponding to the respective row checksum codeword and the structure checksum codeword sequence; (j) if an initial index number has been stored in the initial decoding array DA for all codewords in any of said rows, then computing the respective checksum function of the codewords represented in the initial decoding array DA for each said row; (k) if the computed checksum function does not match the row checksum codeword for any of said rows, then indicating an error for each unmatched checksum function. - View Dependent Claims (8, 9, 10)
- (i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword X in the respective first, second, and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units,
-
11. A method for generating a signal produced by scanning a machine-readable label that includes a plurality of codewords organized into at least two adjacent rows, each said codeword representing at least one human-recognizable symbol and no codeword in any one row being identical to any codeword in an adjacent row, said method including the steps of:
-
(a) scanning said label to detect said codewords; (b) determining a detectable characteristic for each said scanned codeword; (c) computing a unique index number for each said scanned codeword as a function of said detectable characteristic; and (d) processing each of the index numbers to generate a signal representative of the at least one human-recognizable symbol. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for storing and retrieving information by scanning indicia on the surface of a substrate,
(A) said indicia including a plurality of codewords scanned sequentially and organized into at least two adjacent rows, (B) each codeword being either an information codeword or a control codeword, (C) each information codeword being a representation of at least one information-containing data structure, (D) no codeword in any one row being identical to any codeword in an adjacent row, said method comprising the steps of: -
(a) storing information including applying said indicia to said substrate; and (b) retrieving said information, including; (1) scanning said indicia to detect a codeword; (2) determining whether said scanned codeword is an information codeword or a control codeword, (3) providing a plurality of different protocols, each said protocol associating said scanned codeword with a corresponding one of said data structures, only one protocol being active at any given time; (4) if said scanned codeword is an information codeword, decoding and outputting said scanned codeword according to the active protocol, (5) if said scanned codeword is a control codeword, processing said scanned codeword to decode a symbol representative of a new protocol, and changing the active protocol to the new protocol, and (6) repeating steps (1) through (5) until all codewords are decoded.
-
-
17. An apparatus for generating a signal representative of information encoded in a machine-readable label, said machine-readable label including at least two adjacent rows of codewords, each said codeword representing at least one information bearing character and being selected from a set of detectable mark/space patterns, each said mark/space pattern having a determinable discriminator function, the apparatus comprising:
-
scanning means for scanning said codewords within the machine-readable label; means for computing a discriminator function value for each of the each of the scanned codewords; means for determining, from the value of the discriminator function computed by the computing means, the row of the machine-readable label corresponding to each of the scanned codewords; means for decoding each of the scanned codewords to obtain a plurality of corresponding symbolic values; and means for generating a signal representing the presence of each of said plurality of corresponding symbolic values in the determined row.
-
-
18. An apparatus for generating a signal representative of information encoded in a machine-readable label, said machine-readable label including first, second, and third rows of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from first, second, and third subsets of detectable mark/space patterns, each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, each said mark and space having a width xi of an integral multiple of a basic width unit, each of said first, second, and third subsets including only codewords X matching all of the following criteria:
-
(i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword in the respective first, second and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, the apparatus comprising; (a) means for scanning said mark/space patterns within said machine-readable label and for generating an electronic image of each of said scanned mark/space patterns; (b) means for determining whether each of said scanned mark/space patterns is a codeword; (c) means, coupled to said determining means, for classifying each of the codewords as a member of one of the first, second, or third subsets; (d) means for decoding in the classified subset each of the codewords; and (e) means for generating a signal uniquely representing the codewords. - View Dependent Claims (19)
-
-
20. An apparatus for generating a signal representative of information encoded in a machine-readable label, said machine-readable label including first, second, and third rows of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from first, second, and third subsets of detectable mark/space patterns, each said mark/space pattern comprising a fixed width pattern of at least eight marks and spaces of varying widths representing on states and off states, each said mark and space having a width xi of an integral multiple of a basic width unit, each of said first, second, and third subsets including only codewords X matching all of the following criteria:
-
(i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword in the respective first, second and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, the apparatus comprising; (a) means for scanning said mark/space patterns within said machine-readable label and for generating an electronic image of each of said scanned mark/space patterns; (b) first means for computing, from each of the scanned mark/space patterns, a t-sequence of N-1 digits whose ith digit is ti, where N is the number of marks and spaces in each of the scanned mark/space patterns; (c) second means for computing the discriminator function of each of the scanned mark/space patterns; (d) means, coupled to the first and second computing means, for indicating that any of the scanned mark/space patterns is not a codeword, if the computed t-sequence and the computed discriminator function fail to satisfy the criteria for said first, second, and third subsets; (e) means, coupled to said indicating means, for classifying each of the codewords as a member of one of the first, second, or third subsets; (f) means, coupled to said classifying means, for performing a first level of decoding each of the codewords including obtaining from one of three lookup tables in a first memory, the three tables corresponding to the first, second, and third subsets, a plurality of index numbers uniquely corresponding to the computed t-sequences from the first computing means; (g) means for performing a second level of decoding the codewords including; (1) means for converting each said index number into a two-digit number in base 30, the first digit of said two-digit number being a high value and the second digit being a low value, (2) for each of the high values and the low values, (i) first means for determining, from the state of a decoding-mode variable stored in a second memory, which of a plurality of decoding modes is a currently active decoding mode, (ii) second means for determining, a symbol character associated with the high value or low value from a lookup table in said second memory associated with the active mode, and (iii) means, coupled to said second determining means, for changing to a specified new current decoding mode, and for changing the state of the decoding-mode variable to correspond to the new decoding mode, if said symbol character is a shift character; and (h) means for generating a signal uniquely representing the codewords.
-
-
21. An apparatus for generating a signal representative of information encoded in a machine-readable label, said machine-readable label including first, second, and third rows each comprising a plurality of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, each said mark/space pattern comprising a fixed-width pattern of at least eight marks and spaces of varying widths representing on states and off states, each said mark and space having a width xi of an integral multiple of a basic width unit, each of said first, second, and third subsets including only codewords X matching all of the following criteria:
-
(i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword in the respective first, second and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-sequences ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, each said row including a checksum codeword representing a checksum function of the other codewords in the row, the checksum function being a function of unique respective values of each codeword in the row, the apparatus comprising; (a) means for scanning each of said mark/space patterns within said machine-readable label and for generating an electronic image of each of said scanned mark/space patterns; (b) first means for computing, for each of the scanned mark/space patterns, a t-sequence of N-1 digits whose ith digit is ti, where N is the number of marks and spaces in each of the scanned mark/space patterns; (c) second means for computing the discriminator function of each of the scanned mark/space patterns; (d) means, coupled to the first and second computing means, for indicating that any of the scanned mark/space patterns is not a codeword, if the computed t-sequence and the computed x-sequence fail to satisfy the criteria for said first, second, and third subsets; (e) means, coupled to said indicating means, for classifying each of the codewords as a member of one of the first, second, or third subsets; (f) means, coupled to said classifying means, for performing a first level of decoding the codewords including obtaining from one of three lookup tables in a first memory, the three tables corresponding to the first, second, and third subsets, a plurality of initial index numbers uniquely corresponding to the computed t-sequences from the first computing means; (g) means for storing said initial index numbers for the codewords in a corresponding storage location in an initial decoding array DA in a second memory; (h) third means for computing checksum functions of the codewords represented in the initial decoding array DA if an initial index number has been stored in the initial decoding array DA for all codewords in each of said rows; (i) second means for indicating an error if any of the computed checksum functions does not match the checksum codeword for the respective row; (j) means for performing a second level of decoding the codewords, if a computed checksum function does match the checksum codeword for the row, including; (1) means for converting each said initial index number into a two-digit number in base 30, the first digit of said two-digit number being a high value and the second digit being a low value, (2) first means for determining, for each of the high values and the low values, from the state of a decoding-mode variable stored in a third memory, which of a plurality of decoding modes is a currently active decoding mode, (3) second means for determining, for each of the high values and the low values, a symbol character associated with the high value or low value from a lookup table in said third memory associated with the active mode, and (4) means, coupled to said second determining means, for changing, for each of the high values and low values, to a specified new current decoding mode and changing the state of the decoding-mode variable to correspond to the new decoding mode if said symbol character is a shift character; and (k) means for generating a signal uniquely representing the codewords. - View Dependent Claims (22)
-
-
23. An apparatus for scanning and decoding a series of patterns representative of information encoded in a machine-readable label, said machine-readable label including first, second, and third rows each comprising a plurality of codewords and at least one control word, each said codeword representing at least one information-bearing character and being selected from among first, second, and third subsets of detectable mark/space patterns, each said mark/space pattern comprising a fixed-width pattern of marks and spaces of varying widths representing on states and off states, each said mark and space having a width xi of an integral multiple of a basic width unit, each of said first, second, and third subsets including only codewords X matching all of the following criteria:
-
(i) a discriminator function f(X)=(x1 -x3 +x5 -x7) mod 9 of each codeword in the respective first, second and third subsets is equal to 0, 3, or 6, respectively, (ii) all t-functions ti =xi +xi+1 of each codeword X are not greater than 9 basic width units, and (iii) each codeword X includes only marks and spaces whose widths are not greater than 6 basic width units, each said row including row checksum a codeword representing a checksum function of the other codewords in the row, the checksum function being a function of unique respective values of each codeword in the row, the machine-readable label including a sequence of one or more codewords representing a structure checksum for the machine-readable label, the apparatus comprising; (a) means for scanning each of said mark/space patterns within said machine-readable label and for generating an electronic image of each of said scanned mark/space patterns; (b) first means for computing, for each of the scanned mark/space patterns, a t-sequence of N-1 digits whose ith digit is t1, where N is the number of marks and spaces in each of the scanned mark/space patterns; (c) second means for computing the discriminator function of each of the scanned mark/space patterns; and (d) means, coupled to the first and second computing means, for indicating that each of the scanned mark/space patterns is not a codeword, if the computed t-sequence and the computed discriminator function fail to satisfy the criteria for said first, second, and third subsets; (e) means, coupled to the indicating means, for classifying each of the codewords as a member of one of the first, second, or third subsets, if the scanned mark/space pattern is a codeword; (f) means, coupled to said classifying means, for performing a first level of decoding the codewords including obtaining from one of three lookup tables in a first memory, the three tables corresponding to the first, second, and third subsets, a plurality of initial index numbers uniquely corresponding to the computed t-sequences from the first computing means; (g) means for storing each of said initial index numbers for each of the codewords in a corresponding storage location in an initial decoding array DA in a second memory; (h) third means for computing an initial index number for each codeword for which an initial index number has not been stored in the initial decoding array DA; (i) fourth means for computing the checksum function of the codewords represented in the decoding array DA for any of said rows in which an initial index number has been stored in the initial decoding array DA for all codewords in a row; and (j) second means for indicating an error for any of said rows in which the computed checksum function does not match the row checksum codeword. - View Dependent Claims (24, 25, 26)
-
-
27. An apparatus for generating a signal produced by scanning a machine-readable label, said machine readable label including a plurality of codewords organized into at least two adjacent rows, each said codeword representing at least one human-recognizable symbol and no codeword in any one row being identical to any codeword in an adjacent row, the apparatus comprising:
-
(a) means for scanning said label to detect said codewords; (b) first decoding means for determining a detectable characteristic for each said scanned codeword; (c) second decoding means for computing a unique index number for each said scanned codeword as a function of said detectable characteristic; and (d) means for processing each of the index numbers to generate a signal representative of said at least one human-recognizable symbol. - View Dependent Claims (28, 29, 30, 31)
-
-
32. An apparatus for storing and retrieving information by scanning indicia on the surface of a substrate, said indicia including a plurality of codewords scanned sequentially and organized into at least two adjacent rows, each codeword being either an information codeword or a control codeword, each information codeword being a representation of at least one information-containing data structure, no codeword in any one row being identical to any codeword in an adjacent row, the apparatus comprising:
-
(a) means for storing information including applying said indicia to said substrate; and (b) means for retrieving said information including; (1) means for scanning said indicia to detect said information and control codewords; (2) means for determining whether each of said scanned codewords is an information codeword or a control codeword, (3) means for providing a plurality of different protocols, each said protocol associating each said scanned codeword with a corresponding said data structure, only one protocol being active at any given time; (4) means, coupled to the determining means, for decoding and outputting each of said scanned information codewords according to the active protocol, and (5) means, coupled to the determining means, for processing each of said scanned control codewords to decode a symbol representative of a new protocol, and for changing the active protocol to the new protocol.
-
-
33. A method of reading a machine-readable symbol, the symbol, including a plurality of individual codewords and at least one control word, each codeword and control word having a detectable mark/space pattern, the codewords, when taken in sequence, together defining an encoded version of data to be decoded, the mark/space pattern of each codeword having a detectable characteristic representative of information relating to a position of each said codeword within said sequence, the method comprising the steps, executed using a machine, of:
-
(a) scanning and reading the codewords; (b) calculating, for each codeword X, a value of a discriminator function f(X) dependent upon the detectable characteristic; (c) determining the position in said sequence of each codeword X as a function of the order in which each codeword X has been read and as a function of the corresponding value of said discriminator function f(X); and (d) decoding, as a function of said determined position, the codewords and outputting a decoded version of said data. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A method of reading a machine-readable symbol, the symbol including a plurality of individual codewords and at least one control word, each codeword and control word having a detectable mark/space pattern, the codewords, when taken in sequence, together defining an encoded version of data to be decoded, the mark/space pattern of each codeword having a detectable characteristic representative of information relating to a position of each said codeword within said sequence, the method comprising the steps, executed using a machine, of:
-
(a) scanning and reading the codewords; (b) calculating, for each codeword X, a value of a discriminator function f(X) dependent upon the detectable characteristic; (c) calculating a t-sequence for each said codeword X, the t-sequence being defined as a sequence of N-1 digits whose ith digit is ti, where N is the total number of marks and spaces in a mark/space pattern, each mark and space being a measured distance from one another and having a leading edge and a trailing edge, and ti equals a measured distance between the leading edge of the ith mark and the leading edge of the following mark in a mark/space pattern, or the leading edge of the ith space and the leading edge of the following space in a mark/space pattern; and (d) decoding each said codeword X as a function of the respective t-sequence and discriminator function f(X) and outputting a decoded version of said data. - View Dependent Claims (59, 60, 61, 62)
-
-
63. A method of reading a machine-readable symbol, the symbol including a plurality of codewords organized into at least two adjacent rows, each codeword being a representation of an item of data, and no codeword in any one row being identical to any codeword in an adjacent row, the method including the steps, executed using a machine, of:
-
(a) scanning and reading said plurality of codewords within the symbol; (b) determining whether an individual scanned codeword lies in one said row or in another adjacent row; (c) computing an index number for said individual scanned codeword as a function of a detectable characteristic of said codeword and as a function of the result of the determining step; and (d) processing the index number to generate a signal representative of said data item.
-
-
64. An apparatus for reading and decoding a machine readable symbol, the symbol including a plurality of individual codewords having a position within the symbol, each codeword having a detectable mark/space pattern, said codewords, when taken in sequence, defining an encoded version of data to be decoded, the apparatus comprising:
-
(a) means for scanning and reading the codewords; (b) means for calculating, for each codeword X, a discriminator function f(X); (c) means for determining the position of each codeword X in said sequence as a function of the order in which each codeword X has been read and as a function of the value of f(X); (d) means for decoding the codewords to obtain a decoded version of said data; and (e) means for outputting the decoded version of the data. - View Dependent Claims (65)
-
-
66. A robotic system for use in selectively moving an object having a machine-readable symbol, said robotic system including a plurality of individual codewords and at least one control word, each codeword and control word having a detectable mark/space pattern, the codewords, when taken in sequence, defining an encoded version of data to be decoded, the mark/space pattern of each codeword having a detectable characteristic representative of information relating to a position of each said codeword within said sequence, said robotic system comprising:
-
(a) first scanning means for scanning and reading the codewords; (b) means for calculating, for each codeword X, a value of a discriminator function f(X) dependent upon the detectable characteristic; (c) means for determining the position in said sequence of each codeword X as a function of the order in which each codeword X has been read and as a function of the corresponding value of said discriminator function f(X); (d) means for decoding the codewords as a function of said determined position and for outputting a decoded version of said data; (e) second scanning means for generating a signal as a function of the decoded version of said data; and (f) means for manipulating said object in response to said signal.
-
-
67. An apparatus for generating a signal representative of information encoded in a machine-readable symbol, the symbol including at least two adjacent rows of codewords, each codeword representing an item of data and being selected from a set of detectable mark/space patterns, each said mark/space pattern having a determinable discriminator function, the apparatus comprising:
-
(a) scanning means for scanning the codewords within the symbol; (b) means for computing the discriminator function for each of said scanned codewords; (c) means for determining, from the values of the computed discriminator functions corresponding to each of said scanned codewords, the row of the symbol in which each of said scanned codewords lies; (d) means for decoding said scanned codewords as a function of the determined row for each of said scanned codewords to obtain a plurality of corresponding symbolic values; and (e) means for generating a plurality of signals representative of said symbolic values. - View Dependent Claims (68)
-
-
69. Apparatus for retrieving information by scanning indicia on the surface of a substrate, the indicia including a plurality of codewords organized into at least two adjacent rows, each codeword being either an information codeword or a control codeword, each information codeword being representative of at least one information-containing data structure, and no codeword in any one row being identical to any codeword in an adjacent row, the apparatus comprising:
-
(a) scanning means for scanning said plurality of codewords within the indicia; (b) means for determining whether an individual scanned codeword is an information codeword or a control codeword; (c) means for storing a plurality of different protocols each associating a scanned information codeword with a corresponding data structure, only one protocol being active at any given time; (d) means, coupled to the determining means, for decoding said individual scanned codeword according to the currently active protocol, if the scanned codeword is an information codeword; and (e) means, coupled to the determining means, for processing said individual scanned codeword and, if said individual scanned codeword is a control codeword, for decoding a symbol representative of a new protocol and for changing the currently active protocol to said new protocol.
-
-
70. A method for storing and retrieving information by scanning indicia on the surface of a substrate, said indicia including a plurality of codewords scanned sequentially and organized into at least two adjacent rows, each codeword being either an information codeword or a control codeword, each information codeword being a representation of at least one information-containing data structure, no codeword in any one row being identical to any codeword in an adjacent row, the method including the steps of:
-
(a) storing information by applying said indicia to said substrate; and (b) retrieving said information, the retrieving step including the substeps of; (1) scanning said indicia to detect said information and control codewords, (2) determining whether each of said scanned codewords is an information codeword or a control codeword, (3) providing a plurality of different protocols each associating each codeword with a corresponding data structure, only one protocol being active at any given time, (4) if any of said scanned codewords is an information codeword as determined in said determining step, then decoding and outputting each of said scanned information codewords according to the active protocol, and (5) if any of said scanned codewords is a control codeword as determined in said determining step, then processing each of said scanned control codewords to decode a symbol representative of a new protocol, and changing the active protocol to the new protocol.
-
Specification