METHOD OF DECODING CODING PATTERN COMPRISING CONTROL SYMBOLS
First Claim
1. A method of decoding a coding pattern disposed on or in a substrate, said method comprising the steps of:
- (a) operatively positioning an optical reader relative to a surface of said substrate;
(b) capturing an image of a portion of said coding pattern, said coding pattern comprising;
a tiling of contiguous grid cells, each grid cell being demarcated by t target elements and having t-fold rotational symmetry, each grid cell containing nt control symbols, each control symbol being encoded by a set of macrodots; and
a tiling of contiguous tags, each tag consisting of an array of c grid cells, each tag containing a plurality of data symbols and having an identical layout of data symbols, each data symbol being encoded by a set of macrodots;
wherein;
the coding pattern has a physical layout defined by its tiling of contiguous grid cells, said physical layout belonging to a plane symmetry group that has t-fold rotational symmetry and translational symmetry with the grid cell as its unit cell;
the coding pattern has a logical layout defined by its tiling of contiguous tags, said logical layout belonging to a plane symmetry group that has translational symmetry with the tag as its unit cell, but no rotational symmetry;
there are ct possible registrations between the physical layout of the coding pattern and the logical layout of the coding pattern, each registration corresponding to a distinct combination of one of the t possible rotations of the physical layout of the coding pattern relative to the logical layout of the coding pattern and one of the c possible translations of the physical layout of the coding pattern relative to the logical layout of the coding pattern;
any contiguous tag-shaped array of c grid cells contains cm control symbols, said cm control symbols encoding r1 registration symbols and r2 second symbols;
the r1 registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, form a registration codeword of length r1;
the r2 second symbols form one or more second codewords;
there are ct distinct registration codewords, each corresponding to a distinct one of the ct possible registrations;
the registration codeword of each contiguous tag-shaped array of c grid cells thereby uniquely identifies a registration between said tag-shaped array and the logical layout of the coding pattern;
t=is an integer value of 2 or more;
c=is an integer value of 2 or more;
n is an integer value of 1 or more; and
cnt≧
r1 and r2;
(c) sampling and decoding at least cnt control symbols contained in said imaged portion to provide r1 registration symbols and r2 second symbols;
(d) constructing an imaged registration codeword of length r1 using said registration symbols ordered in a defined sequence, said defined sequence being determined by positions of control symbols relative to target elements in the imaged portion;
(e) identifying one of ct distinct registration codewords corresponding to said imaged registration codeword;
(f) determining a registration corresponding to said identified registration codeword, said registration identifying a registration between a tag-shaped array of c grid cells at least partially contained in said imaged portion and the logical layout of the coding pattern;
(g) constructing an imaged format codeword of length m using said determined registration and at least some of said r2 second symbols, wherein r2≧
m;
(h) identifying one of a plurality of distinct format codewords corresponding to said imaged format codeword;
(i) determining a distinct format corresponding to said identified format codeword; and
(j) using said determined registration and said determined format to decode data symbols sampled from said imaged portion.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of decoding a coding pattern disposed on or in a substrate. The method comprises the steps of: (a) operatively positioning an optical reader relative to a surface of the substrate; (b) capturing an image of a portion of the coding pattern; (c) sampling and decoding control symbols contained in the imaged portion to provide r1 registration symbols and r2 second symbols; (d) constructing an imaged registration codeword of length r1 using the registration symbols ordered in a defined sequence; (e) identifying a distinct registration codeword corresponding to the imaged registration codeword; (f) determining a registration corresponding to the identified registration codeword; (g) constructing an imaged format codeword of length m using the determined registration and some of the r2 second symbols; (h) identifying a distinct format codeword corresponding to the imaged format codeword; (i) determining a distinct format corresponding to the identified format codeword; and (j) using the determined registration and the determined format to decode data symbols sampled from the imaged portion.
-
Citations
20 Claims
-
1. A method of decoding a coding pattern disposed on or in a substrate, said method comprising the steps of:
-
(a) operatively positioning an optical reader relative to a surface of said substrate; (b) capturing an image of a portion of said coding pattern, said coding pattern comprising; a tiling of contiguous grid cells, each grid cell being demarcated by t target elements and having t-fold rotational symmetry, each grid cell containing nt control symbols, each control symbol being encoded by a set of macrodots; and a tiling of contiguous tags, each tag consisting of an array of c grid cells, each tag containing a plurality of data symbols and having an identical layout of data symbols, each data symbol being encoded by a set of macrodots; wherein; the coding pattern has a physical layout defined by its tiling of contiguous grid cells, said physical layout belonging to a plane symmetry group that has t-fold rotational symmetry and translational symmetry with the grid cell as its unit cell; the coding pattern has a logical layout defined by its tiling of contiguous tags, said logical layout belonging to a plane symmetry group that has translational symmetry with the tag as its unit cell, but no rotational symmetry; there are ct possible registrations between the physical layout of the coding pattern and the logical layout of the coding pattern, each registration corresponding to a distinct combination of one of the t possible rotations of the physical layout of the coding pattern relative to the logical layout of the coding pattern and one of the c possible translations of the physical layout of the coding pattern relative to the logical layout of the coding pattern; any contiguous tag-shaped array of c grid cells contains cm control symbols, said cm control symbols encoding r1 registration symbols and r2 second symbols; the r1 registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, form a registration codeword of length r1; the r2 second symbols form one or more second codewords; there are ct distinct registration codewords, each corresponding to a distinct one of the ct possible registrations; the registration codeword of each contiguous tag-shaped array of c grid cells thereby uniquely identifies a registration between said tag-shaped array and the logical layout of the coding pattern; t=is an integer value of 2 or more; c=is an integer value of 2 or more; n is an integer value of 1 or more; and cnt≧
r1 and r2;(c) sampling and decoding at least cnt control symbols contained in said imaged portion to provide r1 registration symbols and r2 second symbols; (d) constructing an imaged registration codeword of length r1 using said registration symbols ordered in a defined sequence, said defined sequence being determined by positions of control symbols relative to target elements in the imaged portion; (e) identifying one of ct distinct registration codewords corresponding to said imaged registration codeword; (f) determining a registration corresponding to said identified registration codeword, said registration identifying a registration between a tag-shaped array of c grid cells at least partially contained in said imaged portion and the logical layout of the coding pattern; (g) constructing an imaged format codeword of length m using said determined registration and at least some of said r2 second symbols, wherein r2≧
m;(h) identifying one of a plurality of distinct format codewords corresponding to said imaged format codeword; (i) determining a distinct format corresponding to said identified format codeword; and (j) using said determined registration and said determined format to decode data symbols sampled from said imaged portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for decoding a coding pattern, said system comprising:
-
(A) a substrate having a coding pattern disposed thereon or therein, said coding pattern comprising; a tiling of contiguous grid cells, each grid cell being demarcated by t target elements and having t-fold rotational symmetry, each grid cell containing nt control symbols, each control symbol being encoded by a set of macrodots; and a tiling of contiguous tags, each tag consisting of an array of c grid cells, each tag containing a plurality of data symbols and having an identical layout of data symbols, each data symbol being encoded by a set of macrodots; wherein; the coding pattern has a physical layout defined by its tiling of contiguous grid cells, said physical layout belonging to a plane symmetry group that has t-fold rotational symmetry and translational symmetry with the grid cell as its unit cell; the coding pattern has a logical layout defined by its tiling of contiguous tags, said logical layout belonging to a plane symmetry group that has translational symmetry with the tag as its unit cell, but no rotational symmetry; there are ct possible registrations between the physical layout of the coding pattern and the logical layout of the coding pattern, each registration corresponding to a distinct combination of one of the t possible rotations of the physical layout of the coding pattern relative to the logical layout of the coding pattern and one of the c possible translations of the physical layout of the coding pattern relative to the logical layout of the coding pattern; any contiguous tag-shaped array of c grid cells contains cm control symbols, said cm control symbols encoding r1 registration symbols and r2 second symbols; the r1 registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, form a registration codeword of length r1; the r2 second symbols form one or more second codewords; there are ct distinct registration codewords, each corresponding to a distinct one of the ct possible registrations; the registration codeword of each contiguous tag-shaped array of c grid cells thereby uniquely identifies a registration between said tag-shaped array and the logical layout of the coding pattern; t=is an integer value of 2 or more; c=is an integer value of 2 or more; n is an integer value of 1 or more; and cnt≧
r1 and r2;(B) an optical reader comprising; an image sensor for capturing an image of a portion of said coding pattern; and a processor configured for performing the steps of; (i) sampling and decoding at least cm control symbols contained in said imaged portion to provide r1 registration symbols and r2 second symbols; (ii) constructing an imaged registration codeword of length r1 using said registration symbols ordered in a defined sequence, said defined sequence being determined by positions of control symbols relative to target elements in the imaged portion; (iii) identifying one of ct distinct registration codewords corresponding to said imaged registration codeword; (iv) determining a registration corresponding to said identified registration codeword, said registration identifying a registration between a tag-shaped array of c grid cells at least partially contained in said imaged portion and the logical layout of the coding pattern; (v) constructing an imaged format codeword of length m using said determined registration and at least some of said r2 second symbols, wherein r2≧
m;(vi) identifying one of a plurality of distinct format codewords corresponding to said imaged format codeword; (vii) determining a distinct format corresponding to said identified format codeword; and (viii) using said determined registration and said determined format to decode data symbols sampled from said imaged portion.
-
-
20. A method of decoding a coding pattern disposed on or in an at least partially transparent substrate, said method comprising the steps of:
-
(a) operatively positioning an optical reader relative to either side of said substrate; (b) capturing an image of a portion of said coding pattern, said coding pattern comprising; a tiling of contiguous grid cells, each grid cell being demarcated by t target elements and having t-fold rotational symmetry, each grid cell containing nt control symbols, each control symbol being encoded by a set of macrodots; and a tiling of contiguous tags, each tag consisting of an array of c grid cells, each tag containing a plurality of data symbols and having an identical layout of data symbols, each data symbol being encoded by a set of macrodots; wherein; the coding pattern has a physical layout defined by its tiling of contiguous grid cells, said physical layout belonging to a plane symmetry group that has at least one reflection axis, t-fold rotational symmetry and translational symmetry with the grid cell as its unit cell; the coding pattern has a logical layout defined by its tiling of contiguous tags, said logical layout belonging to a plane symmetry group that has translational symmetry with the tag as its unit cell, but no rotational symmetry and no reflection axes; there are 2ct possible registrations between the physical layout of the coding pattern and the logical layout of the coding pattern, each registration corresponding to a distinct combination of;
(1) whether or not the physical layout of the coding pattern is reflected relative to the logical layout of the coding pattern;
(2) one of t possible rotations of the physical layout of coding pattern relative to the logical layout of the coding pattern; and
(3) one of c possible translations of the physical layout of the coding pattern relative to the logical layout of the coding pattern;any contiguous tag-shaped array of c grid cells contains cm control symbols, said cm control symbols encoding r1 registration symbols and r2 second symbols; the r1 registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, form a registration codeword of length r1; the r2 second symbols form one or more second codewords; there are ct distinct registration codewords, each corresponding to a distinct one of the ct possible registrations; the registration codeword of each contiguous tag-shaped array of c grid cells thereby uniquely identifies a registration between said tag-shaped array and the logical layout of the coding pattern; t=is an integer value of 2 or more; c=is an integer value of 2 or more; n is an integer value of 1 or more; and cnt≧
r1 and r2;(c) sampling and decoding at least cnt control symbols contained in said imaged portion to provide r1 registration symbols and r2 second symbols; (d) constructing an imaged registration codeword of length r1 using said registration symbols ordered in a defined sequence, said defined sequence being determined by positions of control symbols relative to target elements in the imaged portion; (e) identifying one of 2ct distinct registration codewords corresponding to said imaged registration codeword; (f) determining a registration corresponding to said identified registration codeword; (g) constructing an imaged format codeword of length m using said determined registration and at least some of said r2 second symbols; (h) identifying one of a plurality of distinct format codewords corresponding to said imaged format codeword; (i) determining a distinct format corresponding to said identified format codeword; and (j) using said determined registration and said determined format to decode data symbols sampled from said imaged portion.
-
Specification