Methods and apparatus for robust decoding of glyph address carpets
First Claim
1. An apparatus for decoding an image, comprising:
- means for determining an orientation of a captured image of two-dimensional address codes, further comprising;
means for developing a correlation indicating the orientation of a matrix associated with the image relative to an orientation of the two-dimensional address codes; and
means for translating the two dimensional address codes in accordance with the orientation of the image into a discrete pointer.
4 Assignments
0 Petitions
Accused Products
Abstract
A captured image includes a portion of a set of two-dimensional address codes. The portion of address codes can be decoded to determine a discrete pointer uniquely defining the portion. The captured image is first processed to determine the orientation of the portion, and then decoded based on the orientation to determine the discrete pointer. To determine the orientation of the portion, the portion is first analyzed to determine values at discrete locations within the portion. The values at each location form a matrix of binary data. The values of the matrix are then correlated to determine an orientation of the captured portion of two dimensional address codes. After determining the orientation of the portion, the values can be further analyzed to determine a discrete pointer that identifies the location of the portion within the address space defined by the two-dimensional address codes.
238 Citations
48 Claims
-
1. An apparatus for decoding an image, comprising:
-
means for determining an orientation of a captured image of two-dimensional address codes, further comprising;
means for developing a correlation indicating the orientation of a matrix associated with the image relative to an orientation of the two-dimensional address codes; and
means for translating the two dimensional address codes in accordance with the orientation of the image into a discrete pointer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
means for decoding a function corresponding to the discrete image pointer.
-
-
3. The apparatus according to claim 1, wherein the means for determining an orientation comprises
means for forming a first set of two-dimensional address codes based on the captured image; - and
means for forming a second set of two-dimensional address codes based on the first set.
- and
-
4. The apparatus according to claim 3, wherein the means for determining an orientation further comprises
means for determining a first correlation based on the first set; -
means for determining a second correlation based on the second set; and
means for selecting the first set or the second set based on the first and second correlations.
-
-
5. The apparatus according to claim 4, wherein the means for determining a first correlation comprises
means for determining a third correlation based on even rows of the first set of two-dimensional address codes; - and
means for determining a fourth correlation based on odd rows of the first set of two-dimensional address codes.
- and
-
6. The apparatus according to claim 4, wherein the means for determining a second correlation comprises
means for determining a third correlation based on even rows of the second set of two-dimensional address codes; - and
means for determining a fourth correlation based on odd rows of the second set of two-dimensional address codes.
- and
-
7. The apparatus according to claim 1, wherein the means for determining an orientation comprises:
-
means for determining a set of two-dimensional address codes having either a first or second orientation; and
means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation.
-
-
8. The apparatus according to claim 7, wherein the means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation comprises
means for performing a majority vote across even rows of the set of two-dimensional address codes; - and
means for performing a majority vote across odd rows of the set of two-dimensional address codes.
- and
-
9. The apparatus according to claim 7,
wherein the means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation comprises means for performing a first correlation on the set of two-dimensional address codes; - and
means for performing a second correlation on the set of two-dimensional address codes; and
wherein the means for translating comprises means for determining the discrete pointer based on the first and second correlation.
- and
-
10. The apparatus according to claim 9,
wherein the means for performing the first correlation comprises means for performing a third correlation based on the even rows of the set of two-dimensional address codes; - and
means for performing a fourth correlation based on the even rows of the set of two-dimensional address codes; and
wherein the means for performing the second correlation comprises means for performing a fifth correlation based on odd rows of the set of two-dimensional address codes; and
means for performing a sixth correlation based on the odd rows of the set of two-dimensional address codes.
- and
-
11. The apparatus according to claim 9, wherein at least one of the first or second correlations comprises
means for correlating a known code sequence and the set of two-dimensional address codes. -
12. The apparatus according to claim 11, wherein the means for correlating a known code sequence comprises
means for performing a majority vote on the set of two dimensional address codes; - and
means for correlating the known code sequence and the majority vote.
- and
-
13. A method for decoding an image, comprising:
-
determining an orientation of a captured image of two-dimensional address codes, further comprising;
means for developing a correlation indicating the orientation of a matrix associated with the image relative to an orientation of the two-dimensional address codes; and
translating the two dimensional address codes in accordance with the orientation of the image into a discrete pointer. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
decoding a function corresponding to the discrete image pointer.
-
-
15. The method according to claim 13, wherein the step of determining an orientation includes
forming a first set of two-dimensional address codes based on the captured image; - and
forming a second set of two-dimensional address codes based on the first set.
- and
-
16. The method according to claim 15, wherein the step of determining an orientation further includes
determining a first correlation based on the first set; -
determining a second correlation based on the second set; and
selecting the first set or the second set based on the first and second correlations.
-
-
17. The method according to claim 16, wherein the step of determining a first correlation includes
determining a third correlation based on even rows of the first set of two-dimensional address codes; - and
determining a fourth correlation based on odd rows of the first set of two-dimensional address codes.
- and
-
18. The method according to claim 16, wherein the step of determining a second correlation includes
determining a third correlation based on even rows of the second set of two-dimensional address codes; - and
determining a fourth correlation based on odd rows of the second set of two-dimensional address codes.
- and
-
19. The method according to claim 13, wherein the step of determining an orientation includes
determining a set of two-dimensional address codes having either a first or second orientation; - and
determining whether the orientation of the set of two-dimensional address codes is the first or second orientation.
- and
-
20. The method according to claim 19, wherein the step of determining whether the orientation of the set of two-dimensional address codes is the first or second orientation includes
performing a majority vote across even rows of the set of two-dimensional address codes; - and
performing a majority vote across odd rows of the set of two-dimensional address codes.
- and
-
21. The method according to claim 19,
wherein the step of determining whether the orientation of the set of two-dimensional address codes is the first or second orientation includes performing a first correlation on the set of two-dimensional address codes; - and
performing a second correlation on the set of two-dimensional address codes; and
wherein the step of translating includes determining the discrete pointer based on the first and second correlation.
- and
-
22. The method according to claim 21,
wherein the step of performing the first correlation includes performing a third correlation based on the even rows of the set of two-dimensional address codes; - and
performing a fourth correlation based on the even rows of the set of two-dimensional address codes; and
wherein the step of performing the second correlation includes performing a fifth correlation based on odd rows of the set of two-dimensional address codes; and
performing a sixth correlation based on the odd rows of the set of two-dimensional address codes.
- and
-
23. The method according to claim 21, wherein at least one of the first or second correlations includes
correlating a known code sequence and the set of two-dimensional address codes. -
24. The method according to claim 23, wherein the step of correlating a known code sequence includes
performing a majority vote on the set of two dimensional address codes; - and
correlating the known code sequence and the majority vote.
- and
-
25. An apparatus for decoding an image, comprising:
-
means for determining an orientation of a captured image of two-dimensional address codes, further comprising;
means for developing a correlation indicating whether a matrix associated with the image is oriented at either of 0°
or 180°
relative to an orientation of the two-dimensional address codes; and
means for translating the two dimensional address codes in accordance with the orientation of the image into a discrete pointer. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
means for decoding a function corresponding to the discrete image pointer.
-
-
27. The apparatus according to claim 25, wherein the means for determining an orientation comprises:
-
means for forming a first set of two-dimensional address codes based on the captured image; and
means for forming a second set of two-dimensional address codes based on the first set.
-
-
28. The apparatus according to claim 27, wherein the means for determining an orientation further comprises:
-
means for determining a first correlation based on the first set;
means for determining a second correlation based on the second set; and
means for selecting the first set or the second set based on the first and second correlations.
-
-
29. The apparatus according to claim 28, wherein the means for determining a first correlation comprises:
-
means for determining a third correlation based on even rows of the first set of two-dimensional address codes; and
means for determining a fourth correlation based on odd rows of the first set of two-dimensional address codes.
-
-
30. The apparatus according to claim 28, wherein the means for determining a second correlation comprises:
-
means for determining a third correlation based on even rows of the second set of two-dimensional address codes; and
means for determining a fourth correlation based on odd rows of the second set of two-dimensional address codes.
-
-
31. The apparatus according to claim 25, wherein the means for determining an orientation comprises:
-
means for determining a set of two-dimensional address codes having either a first or second orientation; and
means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation.
-
-
32. The apparatus according to claim 31, wherein the means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation comprises:
-
means for performing a majority vote across even rows of the set of two-dimensional address codes; and
means for performing a majority vote across odd rows of the set of two-dimensional address codes.
-
-
33. The apparatus according to claim 31, wherein the means for determining whether the orientation of the set of two-dimensional address codes is the first or second orientation comprises:
-
means for performing a first correlation on the set of two-dimensional address codes; and
means for performing a second correlation on the set of two-dimensional address codes; and
wherein the means for translating comprises means for determining the discrete pointer based on the first and second correlation.
-
-
34. The apparatus according to claim 33, wherein the means for performing the first correlation comprises:
-
means for performing a third correlation based on the even rows of the set of two-dimensional address codes; and
means for performing a fourth correlation based on the even rows of the set of two-dimensional address codes; and
wherein the means for performing the second correlation comprises means for performing a fifth correlation based on odd rows of the set of two-dimensional address codes; and
means for performing a sixth correlation based on the odd rows of the set of two-dimensional address codes.
-
-
35. The apparatus according to claim 33, wherein at least one of the first or second correlations comprises:
means for correlating a known code sequence and the set of two-dimensional address codes.
-
36. The apparatus according to claim 35, wherein the means for correlating a known code sequence comprises
means for performing a majority vote on the set of two dimensional address codes; - and
means for correlating the known code sequence and the majority vote.
- and
-
37. A method for decoding an image, comprising:
-
determining an orientation of a captured image of two-dimensional address codes by developing a correlation indicating whether a matrix associated with the image is oriented at either of 0°
or 180°
relative to an orientation of the two-dimensional address codes; and
translating the two dimensional address codes in accordance with the orientation of the image into a discrete pointer. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
decoding a function corresponding to the discrete image pointer.
-
-
39. The method according to claim 37, wherein the step of determining an orientation includes:
-
forming a first set of two-dimensional address codes based on the captured image; and
forming a second set of two-dimensional address codes based on the first set.
-
-
40. The method according to claim 39, wherein the step of determining an orientation further includes:
-
determining a first correlation based on the first set;
determining a second correlation based on the second set; and
selecting the first set or the second set based on the first and second correlations.
-
-
41. The method according to claim 39, wherein the step of determining a first correlation includes:
-
determining a third correlation based on even rows of the first set of two-dimensional address codes; and
determining a fourth correlation based on odd rows of the first set of two-dimensional address codes.
-
-
42. The method according to claim 40, wherein the step of determining a second correlation includes:
-
determining a third correlation based on even rows of the second set of two-dimensional address codes; and
determining a fourth correlation based on odd rows of the second set of two-dimensional address codes.
-
-
43. The method according to claim 37, wherein the step of determining an orientation includes:
-
determining a set of two-dimensional address codes having either a first or second orientation; and
determining whether the orientation of the set of two-dimensional address codes is the first or second orientation.
-
-
44. The method according to claim 43, wherein the step of determining whether the orientation of the set of two-dimensional address codes is the first or second orientation includes:
-
performing a majority vote across even rows of the set of two-dimensional address codes; and
performing a majority vote across odd rows of the set of two-dimensional address codes.
-
-
45. The method according to claim 43, wherein the step of determining whether the orientation of the set of two-dimensional address codes is the first or second orientation includes:
-
performing a first correlation on the set of two-dimensional address codes; and
performing a second correlation on the set of two-dimensional address codes; and
wherein the step of translating includes determining the discrete pointer based on the first and second correlation.
-
-
46. The method according to claim 45, wherein the step of performing the first correlation includes:
-
performing a third correlation based on the even rows of the set of two-dimensional address codes; and
performing a fourth correlation based on the even rows of the set of two-dimensional address codes; and
wherein the step of performing the second correlation includes performing a fifth correlation based on odd rows of the set of two-dimensional address codes; and
performing a sixth correlation based on the odd rows of the set of two-dimensional address codes.
-
-
47. The method according to claim 45, wherein at least one of the first or second correlations includes:
correlating a known code sequence and the set of two-dimensional address codes.
-
48. The method according to claim 47, wherein the step of correlating a known code sequence includes:
-
performing a majority vote on the set of two dimensional address codes; and
correlating the known code sequence and the majority vote.
-
Specification