IP Library Granted Patent US 9,188,433
Granted Patent B2
US 9,188,433 · App. 13/785,981 · Granted Nov 17, 2015

Code in affine-invariant spatial mask

Inventors: Kalin Mitkov Atanassov (San Diego, CA); James Wilson Nash (San Diego, CA); Vikas Ramachandra (San Diego, CA); Sergiu Radu Goma (San Diego, CA)
Assignee: QUALCOMM Incorporated
G01B11/254G01B11/2513G01B11/2545G06T5/001G06T7/0057H04B1/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,188,433
App. No.
13/785,981
Granted
Nov 17, 2015
Kind
B2
Abstract

A method for generating codes for a code mask is provided. A plurality of symbols may be arranged into an n1 by n2 symbol structure, where n1 and n2 are integer values. A plurality of codewords may be defined from different overlapping k1 by k2 windows within the symbol structure, wherein co-linear and spatially overlapping windows define unique codewords, and the codewords are unique in a first direction of the symbol structure but are repeated in a second direction that is perpendicular to the first direction. A plurality of the symbol structures as a code mask, wherein symbols in two adjacent k1 by k2 windows are selected so as to avoid codeword aliasing of codewords in the two adjacent k1 by k2 windows.

Claims (35)

1. A method for generating codes for a code mask, comprising:

arranging a plurality of symbols into an n1 by n2 symbol structure of a plurality of symbol structures, where n1 and n2 are integer values;

defining a plurality of codewords from different overlapping k1 by k2 windows within the symbol structure, wherein co-linear and spatially overlapping windows define unique codewords, and the codewords are unique in a first direction of the symbol structure but are repeated in a second direction that is perpendicular to the first direction; and

rendering the plurality of the symbol structures as a code mask, wherein symbols in two adjacent k1 by k2 windows are selected so as to avoid codeword aliasing of codewords in the two adjacent k1 by k2 windows.

2. The method of claim 1 , wherein the code mask includes a code layer and an independent and distinct carrier layer, where the carrier layer includes a plurality of reference objects that are robust to distortion upon projection.

3. The method of claim 2 , wherein the plurality of reference objects comprises a plurality of equally spaced reference stripes with a guard interval in between.

4. The method of claim 3 , wherein each reference stripe has a different width than the guard interval.

5. The method of claim 3 , wherein a width of each reference stripe relative to a guard interval width is determined by an expected optical spreading of a transmitter device, a receiver device, or a combination thereof.

6. The method of claim 2 , wherein the plurality of symbols are spatially staggered in at least one dimension, the plurality of symbols included in the code layer.

7. The method of claim 1 , further comprising projecting at least a portion of the code mask onto a target object to ascertain target object depth information.

8. A code mask generating device, comprising:

a processing circuit adapted to:

arrange a plurality of symbols into an n1 by n2 symbol structure of a plurality of symbol structures, where n1 and n2 are integer values; and

define a plurality of codewords from different overlapping k1 by k2 windows within the symbol structure, wherein co-linear and spatially overlapping windows define unique codewords, and the codewords are unique in a first direction of the symbol structure but are repeated in a second direction that is perpendicular to the first direction; and

a tangible storage medium having the plurality of symbol structures rendered as a code mask, wherein symbols in two adjacent k1 by k2 windows are selected so as to avoid codeword aliasing of codewords in the two adjacent k1 by k2 windows.

9. The code mask generating device of claim 8 , wherein the code mask includes a code layer and an independent and distinct carrier layer, where the carrier layer includes a plurality of reference objects that are robust to distortion upon projection.

10. The code mask generating device of claim 9 , wherein the plurality of reference objects comprises a plurality of equally spaced reference stripes with a guard interval in between.

11. The code mask generating device of claim 10 , wherein each reference stripe has a different width than the guard interval.

12. The code mask generating device of claim 10 , wherein a width of each reference stripe relative to a guard interval width is determined by an expected optical spreading of a transmitter device, a receiver device, or a combination thereof.

13. The code mask generating device of claim 9 , wherein the plurality of symbols are spatially staggered in at least one dimension, the plurality of symbols included in the code layer.

14. The code mask generating device of claim 8 , further comprising a projector to project at least a portion of the code mask onto a target object to ascertain target object depth information.

15. A code mask generating device, comprising:

means for arranging a plurality of symbols into an n1 by n2 symbol structure of a plurality of symbol structures, where n1 and n2 are integer values;

means for defining a plurality of codewords from different overlapping k1 by k2 windows within the symbol structure, wherein co-linear and spatially overlapping windows define unique codewords, and the codewords are unique in a first direction of the symbol structure but are repeated in a second direction that is perpendicular to the first direction; and

means for rendering the plurality of symbol structures as a code mask, wherein symbols in two adjacent k1 by k2 windows are selected so as to avoid codeword aliasing of codewords in the two adjacent k1 by k2 windows.

16. The code mask generating device of claim 15 , wherein the code mask includes a code layer and an independent and distinct carrier layer, where the carrier layer includes a plurality of reference objects that are robust to distortion upon projection.

17. The code mask generating device of claim 16 , wherein the plurality of reference objects comprises a plurality of equally spaced reference stripes with a guard interval in between.

18. The code mask generating device of claim 17 , wherein each reference stripe has a different width than the guard interval.

19. The code mask generating device of claim 17 , wherein a width of each reference stripe relative to a guard interval width is determined by an expected optical spreading of a transmitter device, a receiver device, or a combination thereof.

20. The code mask generating device of claim 15 , further comprising means for projecting at least a portion of the code mask onto a target object to ascertain target object depth information.

21. A non-transitory machine-readable storage medium having instructions stored thereon for generating a code mask, which, when executed by a processor, causes the processor to:

arrange a plurality of symbols into an n1 by n2 symbol structure of a plurality of symbol structures, where n1 and n2 are integer values;

define a plurality of codewords from different overlapping k1 by k2 windows within the symbol structure, wherein co-linear and spatially overlapping windows define unique codewords, and wherein the codewords are unique in a first direction of the symbol structure but are repeated in a second direction that is perpendicular to the first direction; and

render the plurality of symbol structures as a code mask, wherein symbols in two adjacent k1 by k2 windows are selected so as to avoid codeword aliasing of codewords in the two adjacent k1 by k2 windows.

22. The non-transitory machine-readable storage medium of claim 21 , further having instructions stored thereon, which, when executed by the processor, cause the processor to project at least a portion of the code mask onto a target object to ascertain target object depth information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2013
From: ATANASSOV, KALIN MITKOV; NASH, JAMES WILSON; RAMACHANDRA, VIKAS; GOMA, SERGIU RADU
To: QUALCOMM INCORPORATED
Reel/Frame 029928/0363 →
Continuity (6)
Provisional Application 61651528 · May 24, 2012
Provisional Application 61651529 · May 24, 2012
Provisional Application 61651533 · May 24, 2012
Provisional Application 61651535 · May 24, 2012
Provisional Application 61666405 · Jun 29, 2012
Related Publication 20130315501A1 · Nov 28, 2013