Decoding and error correction in 2-D arrays
View Patent ↗A system and process for determining the location of a captured image from a larger image is described. A non-repeating sequence may be folded into a non-repeating array in which the array is unique for every sub window of a given size. The image of the sub window may be captured and its location determined within the non-repeating array.
1. A method for generating an image for identifying a position of an object with respect to the image, the method comprising steps of:
creating a non-repeating one-dimensional sequence of numbers;
wrapping the non-repeating one-dimensional sequence into a two-dimensional array; and
generating an image based upon the two-dimensional array;
wherein each sub window of the two-dimensional array having at least n elements is unique in the array and the size of the array is less than or equal to 2 n −1,
wherein a portion of the generated image is captured by a camera for decoding a position of an object with respect to the generated image.
2. The method of claim 1 , wherein the step of wrapping includes wrapping the non-repeating one-dimensional sequence along a diagonal of the two-dimensional array.
3. The method of claim 2 ,
wherein the step of wrapping includes representing each bit b kl of the two-dimensional array of size m 1 by m 2 by a number of the one-dimensional sequence,
wherein each bit b kl of the two-dimensional array is calculated based upon k=i mod(m 1 ) and l=i mod(m 2 ),
wherein i=0, . . . , L−1,
wherein L=m1×m2.
4. The method of claim 1 , wherein the two-dimensional array is a binary array.
5. The method of claim 1 , wherein the one-dimensional sequence of numbers includes only ones and zeroes.
6. The method of claim 1 , wherein the step of generating includes placing the image in a displayed form.
7. The method of claim 6 , wherein the displayed form includes a physical medium.
8. The method of claim 7 , wherein the physical medium includes a watermark on printed paper.
9. The method of claim 6 , wherein the displayed form includes a projected image.
10. One or more computer readable media storing executable instructions for performing a method of generating an image for identifying a position of an object with respect to the image, the method comprising steps of:
creating a non-repeating one-dimensional sequence of numbers;
wrapping the non-repeating one-dimensional sequence into a two-dimensional array; and
generating an image based upon the two-dimensional array,
wherein each sub window of the two-dimensional array having at least n elements is unique in the array and the size of the array is less than or equal to 2 n −1,
wherein a portion of the generated image is captured by a camera for decoding a position of an object with respect to the generated image.
11. The computer readable media of claim 10 , wherein the step of wrapping includes wrapping the non-repeating one-dimensional sequence along a diagonal of the two-dimensional array.
12. The computer readable media of claim 11 ,
wherein the step of wrapping includes representing each bit b kl of the two-dimensional array of size m 1 by m 2 by a number of the one-dimensional sequence,
wherein each bit b kl of the two-dimensional array is calculated based upon k=i mod(m 1 ) and l=i mod(m 2 ),
wherein i=0, . . . , L−1,
wherein L=m1×m2.
13. The computer readable media of claim 10 , wherein the two-dimensional array is a binary array.
14. The computer readable media of claim 10 , wherein the one-dimensional sequence of numbers includes only ones and zeroes.
15. The computer readable media of claim 10 , wherein the step of generating includes placing the image in a displayed form.
16. The computer readable media of claim 15 , wherein the displayed form includes a physical medium.
17. The computer readable medium of claim 15 , wherein the physical medium includes a watermark on printed paper.
18. The computer readable media of claim 15 , wherein the displayed form includes a projected image.
19. One or more computer readable media storing executable instructions for performing a method of displaying an image for identifying a position of an object with respect to the image, the method comprising steps of:
creating a non-repeating one-dimensional sequence of numbers;
wrapping the non-repeating one-dimensional sequence into a two-dimensional array; and
displaying an image based upon the two-dimensional array on a display of a computer,
wherein each sub window of the two-dimensional array having at least n elements is unique in the array and the size of the array is less than or equal to 2 n −1.