Memory-efficient coded light error correction
First Claim
1. A method for correcting errors in a depth map generated by a structured light system, the method comprising:
- receiving a plurality of valid codewords and at least one invalid codeword, each of the plurality of valid codewords included in a codebook of valid codewords, the codebook not including the at least one invalid codeword, each codeword representing at least one row and at least one column of pixels of a structured light image, and each codeword corresponding to a location in a depth map;
detecting the invalid codeword;
retrieving, from a memory unit, a set of candidate codewords that are included in the codebook, each candidate codeword a first Hamming distance from the invalid codeword, the first Hamming distance being a lowest Hamming distance between the at least one invalid codeword and the codewords in the codebook;
determining a depth estimate for a plurality of locations of the depth map that include at least one location adjacent to the invalid codeword location in the depth map;
associating a depth with each of the candidate codewords;
selecting the candidate codeword having an associated depth closest to the determined depth estimate; and
assigning the depth associated with the selected candidate codeword to the location of the invalid codeword.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for correcting errors in a depth map generated by a structured light system are disclosed. In one aspect, a method includes receiving valid and invalid codewords, the valid spatial codewords included in a codebook. The method includes detecting the invalid codeword. The method includes retrieving a set of candidate valid codewords a lowest Hamming distance between the invalid codeword and the valid codewords in the codebook. The method includes estimating a median depth of neighboring locations of the invalid codeword. The method includes associating a depth with each candidate codeword and selecting the candidate with an associated depth closest to the depth estimate. The method includes assigning the depth associated with the selected candidate codeword to the location of the invalid codeword.
-
Citations
30 Claims
-
1. A method for correcting errors in a depth map generated by a structured light system, the method comprising:
-
receiving a plurality of valid codewords and at least one invalid codeword, each of the plurality of valid codewords included in a codebook of valid codewords, the codebook not including the at least one invalid codeword, each codeword representing at least one row and at least one column of pixels of a structured light image, and each codeword corresponding to a location in a depth map; detecting the invalid codeword; retrieving, from a memory unit, a set of candidate codewords that are included in the codebook, each candidate codeword a first Hamming distance from the invalid codeword, the first Hamming distance being a lowest Hamming distance between the at least one invalid codeword and the codewords in the codebook; determining a depth estimate for a plurality of locations of the depth map that include at least one location adjacent to the invalid codeword location in the depth map; associating a depth with each of the candidate codewords; selecting the candidate codeword having an associated depth closest to the determined depth estimate; and assigning the depth associated with the selected candidate codeword to the location of the invalid codeword. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for correcting errors in a depth map generated by a structured light system, the apparatus comprising:
-
a memory unit configured to; store a plurality of valid codewords and at least one invalid codeword, each of the plurality of valid codewords included in a codebook of valid codewords, the codebook not including the at least one invalid codeword, each codeword representing at least one row and at least one column of pixels of a structured light image, and each codeword corresponding to a location in a depth map, the memory unit further configured to store a set of candidate codewords that are included in the codebook, each candidate codeword a first Hamming distance from the invalid codeword, the first Hamming distance being a lowest Hamming distance between the invalid codeword and codewords in the codebook; and a processor in communication with the memory unit, the processor configured to; receive the plurality of valid codewords and the at least one invalid codeword, detect the invalid codeword, retrieve the set of candidate codewords, determine a depth estimate for a plurality of locations of the depth map, the plurality of locations of the depth map including at least one location adjacent to the location of the invalid codeword, associate a depth with each of the candidate codewords, select the candidate codeword having an associated depth closest to the depth estimate, and assign the depth associated with the selected candidate codeword to the location of the invalid codeword. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for correcting errors in a depth map generated by a structured light system, the apparatus comprising:
-
means for storing a plurality of valid codewords and at least one invalid codeword, each of the plurality of valid codewords included in a codebook of valid codewords, the codebook not including the at least one invalid codeword, each codeword representing at least one row and at least one column of pixels of a structured light image, and each codeword corresponding to a location in a depth map; means for receiving a plurality of valid codewords and at least one invalid codeword, means for detecting the invalid codeword; means for retrieving, from the means for storing, a set of candidate codewords that are included in the codebook, each candidate codeword a first Hamming distance from the invalid codeword, the first Hamming distance being a lowest Hamming distance between the at least one invalid codeword and the codewords in the codebook; means for determining a depth estimate for a plurality of locations of the depth map that include at least one location adjacent to the invalid codeword location in the depth map; means for associating a depth with each of the candidate codewords; means for selecting the candidate codeword having an associated depth closest to the determined depth estimate; and means for assigning the depth associated with the selected candidate codeword to the location of the invalid codeword. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A non-transitory computer-readable medium storing instructions for correcting errors in a depth map generated by a structured light system, the instructions when executed that, when executed, perform a method comprising:
-
receiving a plurality of valid codewords and at least one invalid codeword, each of the plurality of valid codewords included in a codebook of valid codewords, the codebook not including the at least one invalid codeword, and each codeword corresponding to a location in a depth map; detecting the invalid codeword; retrieving, from a memory unit, a set of candidate codewords that are included in the codebook, each candidate codeword a first Hamming distance from the invalid codeword, the first Hamming distance being a lowest Hamming distance between the invalid codeword and codewords in the codebook; determining a depth estimate for a plurality of locations of the depth map, the plurality of locations of the depth map including at least one location adjacent to the location of the invalid codeword; associating a depth with each of the candidate codewords; selecting the candidate codeword having an associated depth closest to the depth estimate; and assigning the depth associated with the selected candidate codeword to the location of the invalid codeword.
-
Specification