METHOD OF IMAGING CODING PATTERN USING VARIANT REGISTRATION CODEWORDS
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 registration symbols, each registration 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 cnt registration symbols, said registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, forming a registration codeword of length r;
there are v 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;
cnt≧
r; and
v≧
ct;
(c) sampling and decoding at least cnt registration symbols contained in said imaged portion;
(d) constructing an imaged registration codeword of length r using at least cnt of said decoded registration symbols ordered in a defined sequence, said defined sequence being determined by positions of registration symbols relative to target elements in the imaged portion;
(e) identifying one of v 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; and
(g) using said identified registration 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 registration symbols contained in the imaged portion; (d) constructing an imaged registration codeword of length r using the decoded registration symbols ordered in a defined sequence, the defined sequence being determined by positions of registration symbols relative to target elements in the imaged portion; (e) identifying one of v distinct registration codewords corresponding to the imaged registration codeword; (f) determining a registration corresponding to the identified registration codeword; and (g) using the identified registration to decode data symbols sampled from the imaged portion.
16 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 registration symbols, each registration 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 cnt registration symbols, said registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, forming a registration codeword of length r; there are v 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; cnt≧
r; andv≧
ct;(c) sampling and decoding at least cnt registration symbols contained in said imaged portion; (d) constructing an imaged registration codeword of length r using at least cnt of said decoded registration symbols ordered in a defined sequence, said defined sequence being determined by positions of registration symbols relative to target elements in the imaged portion; (e) identifying one of v 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; and (g) using said identified registration 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)
identifying one of ct distinct first registration codewords or one of ct distinct second registration codewords corresponding to said imaged registration codeword; and determining a format of said coding pattern using said imaged registration codeword.
-
-
10. The method of claim 9, wherein a minimum distance (dformat) between each pair of first and second registration codewords encoding the same registration is at least r/2, and wherein said method determines said format in the presence of up to (r/2−
- 1)/2 registration symbol errors.
-
11. The method of claim 10, wherein each data symbol is represented by d1 macrodots, each of said d1 macrodots occupying a respective position from a plurality of predetermined possible positions p1, the respective positions of said d1 macrodots representing one of a plurality of possible data values, and wherein d1 has different values in said first and second encoding formats.
-
12. The method of claim 8, wherein each of the ct possible registrations has a corresponding flagged first registration codeword, a corresponding unflagged first registration codeword, a corresponding flagged second registration codeword and a corresponding unflagged second registration codeword, said flagged registration codewords identifying the presence of an active area flag and said unflagged registration codewords identifying the absence of said active area flag, and wherein said method comprises the steps of;
-
identifying one of ct distinct flagged first registration codewords, one of ct distinct unflagged first registration codewords, one of ct distinct flagged second registration codewords or one of ct distinct unflagged second registration codewords corresponding to said imaged registration codeword; and determining the presence or absence of said active area flag using the registration codeword corresponding to said imaged registration codeword.
-
-
13. The method of claim 12, wherein the active area flag is determined to be present in the event of any ambiguity in the step of identifying the registration codeword corresponding to imaged registration codeword.
-
14. The method of claim 12, wherein said imaged registration codeword is a mixed registration codeword of length r containing registration symbols from both flagged and unflagged registration codewords encoding the same format, and said method comprises the step of:
correcting registration symbol errors in said mixed registration codeword, wherein a minimum distance (dflag) between each pair of flagged and unflagged registration codewords encoding the same registration and the same format is less than r/2, thereby enabling correction of registration symbol errors in said mixed registration codeword.
-
15. The method of claim 14, wherein each tag contains a registration codeword selected from one of the codewords defined as:
-
16. The method of claim 1, wherein each tag comprises at least one local codeword identifying a location of a respective tag, said local codeword comprising a respective set of local data symbols, and wherein said method comprises the step of:
decoding local data symbols contained within the imaged portion to determine a coordinate location of said optical reader relative to the surface.
-
17. The method of claim 1, wherein each tag comprises one or more common codewords identifying an identity, each common codeword being common to a plurality of contiguous tags, each common codeword comprising a respective set of common data symbols, and wherein said method comprises the step of:
-
decoding common data symbols contained within the imaged portion to determine said one or more common codewords; and determining said identity using said one or more common codewords.
-
-
18. The method of claim 17, wherein said identity identifies at least one of:
- said substrate;
a region;
a page;
a product;
a visual layout; and
an interactivity layout.
- said substrate;
-
19. A system for decoding a coding pattern, said system comprising:
-
(A) a substrate having a coding pattern disposed therein or thereon, 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 registration symbols, each registration 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 cnt registration symbols, said registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, forming a registration codeword of length r; there are v 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; cnt≧
r; andv≧
ct;(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 cnt registration symbols contained in said imaged portion; (ii) constructing an imaged registration codeword of length r using at least cnt of said decoded registration symbols ordered in a defined sequence, said defined sequence being determined by positions of registration symbols relative to target elements in the imaged portion; (iii) identifying one of v 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; and (v) using said identified registration 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 registration symbols, each registration 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 cnt registration symbols, said registration symbols, taken in a defined sequence relative to the physical layout of the tag-shaped array, forming a registration codeword of length r; there are v distinct registration codewords, each corresponding to a distinct one of the 2ct 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; cnt≧
r; andv≧
2ct;(c) sampling and decoding at least cnt registration symbols contained in said imaged portion; (d) constructing an imaged registration codeword of length r using at least cm of said decoded registration symbols ordered in a defined sequence, said defined sequence being determined by positions of registration symbols relative to target elements in the imaged portion; (e) identifying one of v distinct registration codewords corresponding to said imaged registration codeword; (f) determining a registration corresponding to said identified registration codeword; and (g) using said identified registration to decode data symbols sampled from said imaged portion.
-
Specification