LiDAR system with enhanced area coverage

Information

  • Patent Grant
  • 11555900
  • Patent Number
    11,555,900
  • Date Filed
    Monday, November 11, 2019
    4 years ago
  • Date Issued
    Tuesday, January 17, 2023
    a year ago
Abstract
Depth-sensing apparatus includes a laser, which emits pulses of optical radiation toward a scene. One or more detectors receive the optical radiation that is reflected from points in the scene and to output signals indicative of respective times of arrival of the received radiation. A scanner scans the pulses of optical radiation across the scene along successive parallel scan lines of a raster. Control and processing circuitry drives the laser to emit a succession of output sequences of the pulses with different, respective temporal spacings between the pulses within the output sequences in the succession, and matches the times of arrival of the signals due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster to the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene.
Description
FIELD OF THE INVENTION

The present invention relates generally to range sensing, and particularly to devices and methods for depth mapping based on time-of-flight measurement.


BACKGROUND

Time-of-flight (ToF) imaging techniques are used in many depth mapping systems (also referred to as 3D mapping or 3D imaging). In direct ToF techniques, a light source, such as a pulsed laser, directs pulses of optical radiation toward the scene that is to be mapped, and a high-speed detector senses the time of arrival of the radiation reflected from the scene. The depth value at each pixel in the depth map is derived from the difference between the emission time of the outgoing pulse and the arrival time of the reflected radiation from the corresponding point in the scene, which is referred to as the “time of flight” of the optical pulses. The radiation pulses that are reflected back and received by the detector are also referred to as “echoes.”


United States Patent Application Publication 2019/0094364, whose disclosure is incorporated herein by reference, describes a depth-sensing apparatus. The apparatus includes a laser, which is configured to emit pulses of optical radiation toward a scene. One or more detectors are configured to receive the optical radiation that is reflected from points in the scene and to output signals indicative of respective times of arrival of the received radiation. Control and processing circuitry is coupled to drive the laser to emit a succession of output sequences of the pulses with different, respective temporal spacings between the pulses within the output sequences in the succession, and to match the times of arrival of input sequences of the signals to the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene.


SUMMARY

Embodiments of the present invention that are described hereinbelow provide improved apparatus and methods for depth mapping.


There is therefore provided, in accordance with an embodiment of the present invention, depth-sensing apparatus, including a laser, which is configured to emit pulses of optical radiation toward a scene. One or more detectors are configured to receive the optical radiation that is reflected from points in the scene and to output signals indicative of respective times of arrival of the received radiation. A scanner is configured to scan the pulses of optical radiation across the scene along successive parallel scan lines of a raster. Control and processing circuitry is coupled to drive the laser to emit a succession of output sequences of the pulses with different, respective temporal spacings between the pulses within the output sequences in the succession, and to match the times of arrival of the signals due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster to the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene.


In some embodiments, the control and processing circuitry is configured to match the times of arrival of the signals to the temporal spacings of the output sequences by calculating a respective fit between the times of arrival of a group of the signals and each of a set of codes conforming to a predefined coding structure, which includes a plurality of the pulses extending across two or more of the adjacent scan lines. In one embodiment, calculating the respective fit includes calculating a residue of each respective fit, and identifying a code that yields a residue that is below a predetermined threshold as the code that matches the group of the signals. The output sequences may be defined so as to maximize the residues of the codes other than the code that matches the group of the signals.


Additionally or alternatively, the control and processing circuitry is configured, in calculating the respective fit, to apply a linear transformation to each code to account for a tilt of the scene, and to calculate the respective fit between the times of arrival of each group of the signals and the pulses in each code following the linear transformation. In one embodiment, the coding structure includes multiple pulses in each of the two adjacent scan lines, and the linear transformation is a two-dimensional transformation.


In some embodiments, the control and processing circuitry is configured first to match the times of arrival of the signals to the output sequences in single scan lines of the raster scan, to identify one or more remaining signals that were not matched to any of the output sequences in a single scan line, and then to match the times of arrival of groups of the signals that include the remaining signals and extend across two or more of the adjacent scan lines in the raster to the temporal spacings of output sequences. In a disclosed embodiment, the control and processing circuitry is configured to match the times of arrival of the groups of the signals that extend across the two or more of the adjacent scan lines only for the groups that include one or more of the remaining signals that were not matched to any of the output sequences in a single scan line.


In a disclosed embodiment, the control and processing circuitry is configured to construct a depth map of the scene based on the times of arrival.


In one embodiment, the control and processing circuitry is configured to match the times of arrival of the signals due to the optical radiation reflected from the points in at least three adjacent scan lines in the raster. Additionally or alternatively, the control and processing circuitry is configured to match the times of arrival of the signals due to the optical radiation reflected from the at least two points in each of two adjacent scan lines.


There is also provided, in accordance with an embodiment of the present invention, a method for depth sensing, which includes directing a succession of output sequences of pulses of optical radiation toward a scene with different, respective temporal spacings between the pulses within the output sequences in the succession, while scanning the pulses across the scene along successive parallel scan lines of a raster. The optical radiation that is reflected from points in the scene is received, and signals are output indicative of respective times of arrival of the received radiation. the times of arrival of the signals due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster are matched to the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene.


The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic side view of a depth-sensing apparatus, in accordance with an embodiment of the invention;



FIG. 2 is a schematic representation of a group of 3×1 coding structures, in accordance with an embodiment of the invention;



FIG. 3 is a schematic representation of a pair of 2×2 coding structures, in accordance with another embodiment of the invention;



FIG. 4 is a schematic representation of sequences of pulses emitted along a success of scan lines, in accordance with an embodiment of the present invention;



FIG. 5 is a schematic representation of pulses illustrating a mutual temporal alignment of scan lines, in accordance with an embodiment of the invention; and



FIG. 6 is a flowchart that schematically illustrates a two-stage disambiguation process, in accordance with an embodiment of the invention.





DETAILED DESCRIPTION OF EMBODIMENTS
Overview

As described in United States Patent Application Publication 2019/0094364, referenced above, the spatial resolution of ToF-based LiDARs may be increased by emitting pulse sequences at predetermined but uneven intervals. By choosing the intervals of successive sequences to be sufficiently different, several pulses may be simultaneously “in the air,” thus increasing the spatial resolution, while the arrival time of each sequence can still be determined uniquely, enabling an accurate determination of ToF of each pulse. (The procedure of making an unambiguous association between a received pulse sequence or sequence of pulses and a particular emitted pulse or sequence of pulses is termed “disambiguation.”)


This method, however, may fail when one or more echoes in a given pulse sequences are not returned from the same planar object. Echoes of this sort can be lost, for example, when the scanned scene comprises an object having a small dimension in the scan direction, or due to variations in the reflectance of an object in the scene. The remaining echoes in such a sequence are referred to herein as “orphaned echoes,” i.e., echoes that could not be associated with specific pulses of the original emitted sequence and thus could not be disambiguated by the LiDAR.


Embodiments of the present invention that are described herein provide a LiDAR that is capable of recognizing and disambiguating a single echo or a sequence of echoes with length shorter than the pulse sequence. Specifically, these embodiments use neighboring echoes in successive lines of the scan pattern (meaning that the echoes do not all belong to the same sequence of emitted pulses.) This capability, in turn, enables the LiDAR to add points to the depth map that would otherwise be lost, for example points on objects whose dimensions in the direction of the scan are less than the scan length of a single pulse sequence.


In the disclosed embodiments, a LiDAR depth-sensing apparatus comprises a laser, which emits pulses of optical radiation toward a scene, a scanner, which scans the pulses in parallel scan lines of a raster across the scene, and one or more detectors, which receive the optical radiation that is reflected from points in the scene and output signals indicative of respective times of arrival of these echoes. Control and processing circuitry drives the laser to emit a succession of output sequences of pulses with different, respective temporal spacings between the pulses within the output sequences. The times of arrival of signals due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster are matched by the circuitry to the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene.


In a disclosed embodiment, the laser emits the pulses in output sequences at predetermined but unequal intervals. Moreover, the succession of output sequences within neighboring scan lines differ from each other. (The successions of output sequences may repeat cyclically, for example with a number P of different successions, repeating every P scan lines.) This sort of pulse timing scheme gives rise to a large set of “coding structures,” meaning sets of pulses along and across scan lines, with certain timing relations between the pulses in the structure. An “N×M coding structure” comprises M pulses in each of N adjacent scan lines, wherein the N groups (N≥2) of M pulses (M≥1) are projected by the LiDAR at neighboring locations within the same spatial area across the scan lines of the raster scan. The pulses in adjacent scan lines are arranged around repeating average locations across the scan lines, but with a line-to-line and pulse-to-pulse varying dither around the average.


In the embodiments described below, the N×M coding structure is typically of the form 3×1 or 2×2, although other coding structures may also be used. The term “code” refers to a series of numbers denoting the uneven temporal spacings of the M pulses (relative to a reference time) and the relative temporal spacings between the groups of M pulses belonging adjacent scan lines. Thus, the code of a 3×1 coding structure is a 3×1 matrix of numbers, whereas the code of a 2×2 coding structure is a 2×2 matrix of numbers. As the N lines of an N×M are required to have different sequences along each of the lines, P should be at least equal to N.


The pulses that are received by the detectors after reflection from the scene (i.e., the echoes) are grouped by the control and processing circuitry into a group of N×M pulses, termed a “received code,” and compared to emitted pulses of the same N×M structure, termed “emitted codes.” This comparison of a specific received code to a number of emitted codes is termed “decoding.” The emitted code with the best match to the specific received code identifies the emitted code that has been reflected by the scene into that received code. As the time of emission of the emitted code is known by the control and processing circuitry, and as the arrival time of the pulses of the received code on the detector have been measured by the control and processing circuitry, the ToF of the N×M pulses can be unambiguously determined, and the distances from the LiDAR to the points of the scene that reflected the received pulses may be calculated. The echoes are assumed to be reflected from a planar region of the scene, which is a reasonable assumption for a densely-sampled scene.


As will be further detailed below, the control and processing circuitry has the capability to choose different groupings of received pulses as required, i.e., different received codes with different values for N and M for the N×M structure. This capability is used to provide the required additional information for disambiguating orphaned echoes.


In the process of decoding that is described above, a local tilt of a planar region in the scene may be accounted for by stretching (applying a linear transformation to) the intervals between the pulses. This compensates for the difference in ToF between the points on the tilted surface on which the pulses are incident. By minimizing the residue of the fit between the emitted code and the received code, the best fit to a calculated scene tilt is achieved. In practice, the “best match” may be identified as a match for which the residue of the fit is below a predetermined threshold.


In the more general case, decoding extracts coordinates with three degrees of freedom (DoF) from each decoded coding structure: ToF, scene tilt in the direction of the scan, and scene tilt perpendicular to the direction of the scan. For this purpose, each coding structure should comprise at least four pulses, i.e. N×M≥4, including at least two pulses both along and across the scan lines, i.e., both N≥2 and M≥2. The minimal coding structure satisfying these conditions is 2×2, whereas a 3×1 coding structure is able to resolve ToF and scene tilt perpendicular to the direction of the scan. The tilt in the scan direction has a negligible effect on the ToF variation, assuming that the pulses are approximately aligned one under the other, i.e., aligned in a direction perpendicular to the direction of the scan.


Although coding structures have been above described as rectangular structures, other shapes of coding structures, for example an L-shape, may be used.


In some embodiments, decoding of codes that extended over multiple scan lines is performed only as a second stage of a decoding process, for disambiguation of only orphaned echoes that remain after decoding pulsed sequences along the scan lines. This approach considerably reduces the memory and time resources demanded by the process. In the first stage of this embodiment, the control and processing circuitry decodes and disambiguates the received pulse sequences only along scan lines, in a similar way to that described in the above-referenced United States Patent Application Publication 2019/0094364. The disambiguated echoes from this first stage are utilized to establish a depth map of the target scene that includes the uniquely determined point distances.


The first stage may leave orphaned echoes, i.e., single echoes or sequences of echoes shorter than the length of the pulse sequence in the scan direction, which therefore could not be disambiguated in the first stage. The orphaned echoes are stored together with a sufficient number of neighboring received pulses both along the scan lines and across the scan lines in order to provide for the code structures that will be used in the second stage for disambiguating the orphaned echoes. This approach is advantageous in reducing the complexity (and thus the required computational resources) of the process due to the following:

    • 1. Orphaned echoes are fitted only in the areas of the missing points of the point map, i.e., to the received pulses that were not matched to emitted pulses.
    • 2. A code structure can comprise orphaned echoes together with decoded echoes. This feature reduces the number of possible codes. For example, using a 3×1 code structure in the presence of K orphaned echoes possible for each point, K3 combinations are required. However, if one of the points is an echo that was already decoded in the first stage, the number of required combinations is reduced to K2.


After a successful fit of the decoded orphaned echoes, they are added to the point map and eliminated from further stages of decoding.


Optimization schemes for choosing the codes of both 3×1 and 2×2 code structures are detailed hereinbelow. The optimized codes are utilized for assuring a low probability for ambiguity in the decoding process.


In a further embodiment, the detectors also measure the intensities of the received pulses, in addition to the time of arrival of each pulse. The intensity of the received pulses can then be used as an additional dimension of the decoding process to increase the robustness of the disambiguation.


System Description


FIG. 1 is a schematic side view of a depth-sensing apparatus 20, in accordance with an embodiment of the invention. In the pictured embodiment, apparatus 20 is used to generate depth maps of a scene including an object 22, in this example a hand of a user of the apparatus. To generate the depth map, an illumination assembly 24 directs pulses of light toward object 22, and an imaging assembly 26 measures the ToF of the photons reflected from the object. (The term “light,” as used in the present description and in the claims, refers to optical radiation, which may be in any of the visible, infrared, and ultraviolet ranges.)


Illumination assembly 24 typically comprises a pulsed laser 28, which emits short pulses of light, with pulse duration in the nanosecond range and repetition frequency in the range of 0.5-50 MHz, for example. Projection optics 30 direct the light toward object 22. Alternatively, other pulse durations and repetition frequencies may be used, depending on application requirements. In some embodiments, illumination assembly 24 comprises a scanner, such as one or more rotating mirrors (not shown), which scans the beam of pulsed light across the scene forming lines of a raster scan. In other embodiments, illumination assembly comprises an array of lasers, in place of laser 28, which illuminates different parts of the scene either concurrently or sequentially along the lines of a raster. More generally, illumination assembly 24 may comprise substantially any pulsed laser or laser array that can be driven to emit sequences of pulses toward object 22 at irregular intervals.


Imaging assembly 26 comprises objective optics 32, which image object 22 onto one or more detectors, represented in the figure by a sensing array 34, so that photons emitted by illumination assembly 24 and reflected from object 22 are incident on the sensing device. In the pictured embodiment, sensing array 34 comprises a sensor chip 36 and a processing chip 38, which are coupled together, for example, using chip stacking techniques that are known in the art. Sensor chip 36 comprises one or more high-speed photodetectors, such as avalanche photodiodes.


In some embodiments, sensor chip 36 comprises a single photodetector, such as a single avalanche photodiode or SPAD. In other embodiments, the photodetectors in sensor chip 36 comprise an array of SPADs 40, each of which outputs a signal indicative of the times of arrival of photons on the SPAD following emission of pulses by illumination assembly 24. Processing chip 38 comprises an array of processing circuits 42, which are coupled respectively to the sensing elements. Both of chips 36 and 38 may be produced from silicon wafers using well-known CMOS fabrication processes, based on SPAD sensor designs that are known in the art, along with accompanying drive circuits, logic and memory. For example, chips 36 and 38 may comprise circuits as described in U.S. Patent Application Publication 2017/0052065 and/or U.S. Patent Application Publication 2017/0179173, both of whose disclosures are incorporated herein by reference. Alternatively, the designs and principles of detection that are described herein may be implemented, mutatis mutandis, using other circuits, materials and processes. All such alternative implementations are considered to be within the scope of the present invention.


Imaging assembly 26 outputs signals that are indicative of respective times of arrival of the received radiation at each SPAD 40 or, equivalently, from each point in the scene that is being mapped. These output signals are typically in the form of respective digital values of the times of arrival that are generated by processing circuits 42, although other signal formats, both digital and analog, are also possible. Control and processing circuitry 44 reads out the individual pixel values and generates an output depth map, comprising the measured ToF—or equivalently, the measured depth value—at each pixel. The depth map is typically conveyed to a receiving device 46, such as a display or a computer or other processor, which segments and extracts high-level information from the depth map.


In other embodiments, imaging assembly 26 outputs signals that are indicative of respective times of arrival and pulse energies of the received radiation at each SPAD 40 or, equivalently, from each point in the scene that is being mapped.


As explained above, control and processing circuitry 44 drives the laser or lasers in illumination assembly 24 to emit sequences of pulses in a predefined temporal pattern, with irregular intervals between the pulses in the sequence. Control and processing circuitry 44 then finds the respective times of flight for the points in the scene by matching the times of arrival of input sequences of the signals to the temporal spacings of the output sequences both within each scan line and between neighboring scan lines.


The matching is challenged by orphaned echoes, as outlined above. An example of possible orphaned echoes is provided by object 22, which in FIG. 1 is depicted as a hand: Were the fingers of the hand to be spread out, and were a scan line to cross the spread-out fingers, the spaces between the fingers would not return an echo for pulses “shot” between the fingers. The echoes received from the neighboring points along the scan lines might then become orphaned echoes. The process of matching, including the disambiguation of orphaned echoes, will be further detailed in the sections below.


Although the present description relates to control and processing circuitry 44 and processing chip 38 as separate entities, with a certain division of functions between the control and processing circuitry and processing chip, in practice these entities and their functions may be combined and implemented monolithically on the same integrated circuit. Alternatively, other divisions of functionality between these entities will also be apparent to those skilled in the art and are considered to be within the scope of the present invention. Therefore, in the present description and in the claims, control and processing circuitry 44 and processing chip 38 are referred to collectively as “control and processing circuitry 44,” and this term is meant to encompass all implementations of the functionalities that are attributed to these entities.


Coding Structures


FIG. 2 is a schematic representation of a group of 3×1 coding structures, in accordance with an embodiment of the invention.


Laser 28 emits pulses 100, shown schematically as upright arrows, in a succession of temporal sequences. Pulses 100 are scanned along raster lines 102, with the scan direction of the raster lines in this example being from left to right. As described above with reference to FIG. 1, raster lines 102 are produced by, for example, a scanner or by an array of lasers. Only three raster lines 102, numbered as n, n+1, and n+2, are shown in FIG. 2, wherein n is a positive integer. Similarly, only three pulses 100 are shown for each raster line 102. In general, an emission sequence of a given scan line comprises L pulse-to-pulse intervals repeated cyclically. L is chosen as the number of pulses that may be in the air simultaneously at any given time during a scan, and may be for example 3 for a short distance between depth-sensing apparatus 20 and the scene, or 5, 10, 20, or even higher for a long distance (The maximal number of “pulses in the air” may be limited by the optical design of the sensor.) In most embodiments, a large number of emission sequences and raster lines 102 are generated, with typical numbers of sequences per raster line and numbers of raster lines being in the tens or hundreds.


Double-arrows 104 are used to mark coding structures, with each double-arrow encompassing a 3×1 coding structure comprising three pulses 100, one from each of scan lines n, n+1, and n+2. With reference to the notation presented above in the Overview, the parameters defining the coding structure are N=3 and M=1; and the code of each of the coding structures refers to the specific temporal locations of the pulses within each structure, with details given further below. The pulse-to-pulse intervals within raster line 102, shown by dotted arrows 106, vary between adjacent pairs of pulses 100. As an example, the code encompassed by a double-arrow 104a comprises pulses 100a, 100b, and 100c, which are in dithered positions around an average position 108a. The dithered positions of the three pulses within each of the 3×1 codes vary from code to code.



FIG. 3 is a schematic representation of a pair of 2×2 coding structures, in accordance with another embodiment of the invention.


Using the same notation as in FIG. 2, pulses 100 emitted by laser 28, with pulse-to-pulse intervals 106 and scanned from left to right along scan lines 102, are now viewed as 2×2 coding structures, as shown by double-arrows 204. Each coding structure comprises two pulses within each of the two scan lines n and n+1.



FIG. 4 is a schematic representation of sequences of pulses 100 emitted along a success of scan lines 102, illustrating the notation used for the optimization of codes and fitting of residues in the description that follows. The emission time (the time when the pulse was emitted by laser 28) of the ith pulse of the nth line is denoted by tin. The interval between pulses i and i+1 for line n is given by zin=ti+1n−tin. The temporal difference between non-consecutive emissions that are k pulses apart is given by







d

i
,
k

n

=




j
=
1


i
+
k
-
1





z
j
n

.







The temporal sequences for adjacent scan lines are different from each other; however, the sequences may repeat cyclically every P scan lines.



FIG. 5 is a schematic representation of pulses 100 illustrating the mutual temporal alignment of scan lines 102, in accordance with an embodiment of the invention. All scan lines 102 start at a respective point in time that is denoted by SOL (Start Of Line). The SOL times for successive scan lines 102 may be simultaneous, or they may be spaced apart by a predefined, fixed interval. The emission time of the first pulse in line n, t0n, is offset from SOL by Δn, wherein the offsets between for all scan lines are chosen so that









"\[LeftBracketingBar]"



t
i
n

-

t
i

n
+
1





"\[RightBracketingBar]"


<

t

t

h







for every pulse i for every line n, and wherein tth is a predetermined threshold. Threshold tth assures that the ith pulses of the adjacent scan lines are approximately aligned one under the other. Any misalignment will create a residue in the fitting process, which will add an additional requirement to the separation of the codes. In FIG. 5, all offsets Δn, Δn+1, and Δn+2 have been chosen, for the sake of simplicity, to be equal, although non-equal values of Δ may alternatively be used.


For a 3×1 coding structure, as shown in FIG. 2, a code can be represented as a vector (d0,ln, d0,ln+1, d0,ln+2), wherein l=1 . . . L. In order to ensure a high degree of disambiguation, the codes along any three neighboring scan lines can be optimized by choosing the temporal differences di,kn so as to maximize the minimal value of the following expression for i=1 . . . L, {∀j=0 . . . 2:0≤kj≤L−1}:











j
=
0

2



k
j


>
0

,

n
=



0




P

-

1
:





[




d

i
,

k
0


n






d

i
,

k
1




(

n
+
1

)


mod


P







d

i
,

k
2




(

n
+
2

)


mod


P





]

-


[




5
/
6




1
/
3





-
1

/
6






1
/
3




1
/
3




1
/
3







-
1

/
6




1
/
3




5
/
6




]

[




d

i
,

k
0


n






d

i
,

k
1




(

n
+
1

)


mod






P







d

i
,

k
2




(

n
+
2

)


mod






P





]




2








For a 2×2 coding structure, as shown in FIG. 3, a code can be represented as a vector (d0,ln, d0,l+1n, d0,ln+1, d0,l+1n+1), wherein l=1 . . . L. In order to ensure a high degree of disambiguation, the codes along any two neighboring scan lines can be optimized by choosing the temporal differences di,kn so as to maximize the minimal value of the following expression for i=1 . . . L, {∀j=0 . . . 3:0≤kj≤L−1)}:











j
=
0

3



k
j


>
0

,

n
=



0




P

-

1
:





[




d

i
,

k
0


n






d


i
+
1

,

k
1


n






d

i
,

k
2




(

n
+
1

)


mod


P







d


i
+
1

,

k
3




(

n
+
1

)


mod






P





]

-



[



1




-
1

/
2





-

z
i
n


/
2





1




-
1

/
2





z
i
n

/
2





1



1
/
2





-

z
i

n
+
1



/
2





1



1
/
2





z
i

n
+
1


/
2




]

OP

[




d

i
,

k
0


n






d


i
+
1

,

k
1


n






d

i
,

k
2




(

n
+
1

)


mod


P







d


i
+
1

,

k
3




(

n
+
1

)


mod


P





]




2









The superscript “OP” on a matrix, in the form AOP, denotes a projection matrix on the subspace formed by the columns of A.


The optimization process may be simplified by using the same temporal sequence for all scan lines, and by having the starting interval index in the sequence increase by S steps for consecutive scan lines. In this case, the codes along three neighboring scan lines can be optimized by choosing the temporal differences di,kn so as to maximize the minimal value of the following expression for i=1 . . . L, {∀j=0 . . . 2:0≤kj≤L−1}:










j
=
0

2



k
j


>

0






[




d

i
,

k
0








d


i
+
S

,

k
1








d


i
+

2

S


,

k
2






]

-


[




5
/
6




1
/
3





-
1

/
6






1
/
3




1
/
3




1
/
3







-
1

/
6




1
/
3




5
/
6




]

[

[




d

i
,

k
0








d


i
+
S

,

k
1








d


i
+

2

S


,

k
2






]

]




2






Similarly, the codes in a 2×2 coding structure can be optimized by maximizing the minimal value of the following expression for i=1 . . . L, {∀j=0 . . . 3:0≤kj≤L−1}:










j
=
0

3



k
j


>

0
:





[




d

i
,

k
0








d


i
+
1

,

k
1








d


i
+
S

,

k
2








d


i
+
S
+
1

,

k
3






]

-



[



1




-
1

/
2





-

z
i


/
2





1




-
1

/
2





z
i

/
2





1



1
/
2





-

z

i
+
S



/
2





1



1
/
2





z

i
+
S


/
2




]

OP

[




d

i
,

k
0








d


i
+
1

,

k
1








d


i
+
S

,

k
2








d


i
+
S
+
1

,

k
3






]




2






Fitting N×M Echoes to a Code

In order to disambiguate the received pulses, control and processing circuitry 44 will try to fit a given set of N×M echoes together to all possible codes. A code is considered “possible” when the emission times of all the pulses in the code could give rise to reflections with arrival times corresponding to the received echoes considering the maximal time of flight to be detected by apparatus 20. In order to account for possible tilt of the surface in the scene from which the pulses are reflected, the fit process includes a linear transformation of the calculated ToF values within a given code, wherein the scene tilt is used as a free parameter in calculating the residue from the fit. For an optimized emission sequence, fitting of codes other than the correct one will result in high residues, and these codes will accordingly be discarded.


For a 3×1 coding structure the residue of the fit for any given possible code is given by the following expression:











[




t

o


f
0







t

o


f
1







t

o


f
2





]

-


[



1


1




1


0




1



-
1




]

[




τ
ˆ






α
^




]




2

,





wherein:

    • to fj is the difference between the emission time and arrival time of each pulse j for the possible code under consideration;
    • {circumflex over (τ)} is the average measured time of flight of the three pulses; and
    • {circumflex over (α)}=tof2−tof0 depends on the object inclination and is limited by a predefined maximal inclination.


For a 2×2 coding structure the residue of the fit is given by the following expression:











[




t

o


f
0







t

o


f
1







t

o


f
2







t

o


f
3





]

-


[



1




-
1

/
2





-

z
0


/
2





1




-
1

/
2





z
0

/
2





1



1
/
2





-

z
1


/
2





1



1
/
2





z
1

/
2




]

[




τ
ˆ






α
^






β
ˆ




]




2

,





wherein:

    • tof0,tof1 are the differences between the emission time and arrival time of a pair of pulses in the first scan line for the possible code under consideration, and tof3,tof4 are the corresponding differences in the second scan line;
    • z0 and z1 are the intervals between the successive emitted pulses in the two scan lines of the possible code under consideration;
    • {circumflex over (α)}=(tof0+tof1)−(tof2+tof3); and








β
ˆ

=




-

z
0



t

o


f
0


+


z
0


t

o


f
1


-


z
1


t

o


f
2


+


z
1


t

o


f
3





z
0
2

+

z
1
2




.




Both {circumflex over (α)} and {circumflex over (β)} depend on the object inclination (perpendicular to and along the scan direction) and are limited by a predefined maximal inclination.


Staged Disambiguation


FIG. 6 is a flowchart that schematically illustrates a two-stage disambiguation process, in accordance with an embodiment of the invention. Although the embodiments described above may be used as a stand-alone pulse sequence design and decoding method, in the present embodiment, illustrated in a flowchart 500, disambiguation is performed in two stages.


In an emission step 502, laser 28 emits coded sequences of pulses (emitted codes) toward a scene. In a first decoding step 504, control and processing circuitry 44 decodes and disambiguates the sequences of echo pulses received from the scene along each scan line separately. The computed times of flight and/or depth values of successfully decoded points are stored in a point map in a point addition step 518. Under normal operating conditions, this step is expected to provide depth values for most of the points in the scene.


In an orphan extraction step 506, control and processing circuitry 44 identifies the sequences of orphaned echoes, i.e., echoes that could not be associated with specific pulses of the emitted sequence and therefore could not be disambiguated in the first stage. In a storage step 508, these orphaned echoes are stored in a memory, together with a sufficient number of other echoes (generally multiple echoes on multiple lines around the orphaned echoes) to fill in code structures that can be used in the second stage for disambiguating the orphaned echoes.


In a missing point step 510, control and processing circuitry 44 identifies all orphaned echoes that can match a given point that is missing from the point map. In a second decoding step 512, each orphaned echo identified in missing point step 510 is joined with relevant surrounding echoes into a coding structure (for example, a 3×1 or a 2×2 coding structure, or any other suitable coding structure), and fit to possible corresponding codes. In a best fit step 514, control and processing circuitry 44 identifies the coding structure and code that yield the best fit for a given orphaned echo are identified. The computed times of flight and/or depth values of the points decoded at step 514 are stored in point addition step 518.


The decoded points are removed from the list of stored orphaned echoes in an elimination step 516. This process continues until all orphaned echoes have been decoded or until control and processing circuitry 44 determines that no further decoding is possible. When an echo is matched to two different ToF's by decoding of different codes, this occurrence may be used for signaling anomalies in the mapping process and to reduce the rate of false alarms.


It will be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.

Claims
  • 1. Depth-sensing apparatus, comprising: a laser, which is configured to emit pulses of optical radiation toward a scene;one or more detectors, which are configured to receive the optical radiation that is reflected from points in the scene and to output signals indicative of respective times of arrival of the received radiation;a scanner configured to scan the pulses of optical radiation across the scene in a given scan direction along successive parallel scan lines of a raster; andcontrol and processing circuitry, which is coupled (i) to drive the laser to emit a succession of output sequences of the pulses at known times of emission with different, respective temporal spacings between the pulses within the output sequences in the succession, and(ii) to match (a) the times of arrival indicated by the signals output by the one or more detectors due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster to(b) the known times of emission and the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene from which the optical radiation is reflected.
  • 2. The depth-sensing apparatus according to claim 1, wherein the control and processing circuitry is configured to match the times of arrival of the signals to the temporal spacings of the output sequences by calculating a respective fit between the times of arrival of a group of the signals and each of a set of codes conforming to a predefined coding structure, which comprises a plurality of the pulses extending across two or more of the adjacent scan lines.
  • 3. The depth-sensing apparatus according to claim 2, wherein calculating the respective fit comprises calculating a residue of each respective fit, and identifying a code that yields a residue that is below a predetermined threshold as the code that matches the group of the signals.
  • 4. The depth-sensing apparatus according to claim 3, wherein the output sequences are defined so as to maximize the residues of the codes other than the code that matches the group of the signals.
  • 5. The depth-sensing apparatus according to claim 2, wherein the control and processing circuitry is configured, in calculating the respective fit, to apply a linear transformation to each code to account for a tilt of the scene, and to calculate the respective fit between the times of arrival of each group of the signals and the pulses in each code following the linear transformation.
  • 6. The depth-sensing apparatus according to claim 5, wherein the coding structure includes multiple pulses in each of the two adjacent scan lines, and wherein the linear transformation is a two-dimensional transformation.
  • 7. The depth-sensing apparatus according to claim 1, wherein the control and processing circuitry is configured first to match the times of arrival of the signals to the output sequences in single scan lines of the raster scan, to identify one or more remaining signals that were not matched to any of the output sequences in a single scan line, and then to match the times of arrival of groups of the signals that include the remaining signals and extend across two or more of the adjacent scan lines in the raster to the temporal spacings of output sequences.
  • 8. The depth-sensing apparatus according to claim 7, wherein the control and processing circuitry is configured to match the times of arrival of the groups of the signals that extend across the two or more of the adjacent scan lines only for the groups that include one or more of the remaining signals that were not matched to any of the output sequences in a single scan line.
  • 9. The depth-sensing apparatus according to claim 1, wherein the control and processing circuitry is configured to construct a depth map of the scene based on the times of arrival.
  • 10. The depth-sensing apparatus according to claim 1, wherein the control and processing circuitry is configured to match the times of arrival of the signals due to the optical radiation reflected from the points in at least three adjacent scan lines in the raster.
  • 11. The depth-sensing apparatus according to claim 1, wherein the control and processing circuitry is configured to match the times of arrival of the signals due to the optical radiation reflected from the at least two points in each of two adjacent scan lines.
  • 12. A method for depth sensing, comprising: directing a succession of output sequences of pulses of optical radiation toward a scene at known times of emission with different, respective temporal spacings between the pulses within the output sequences in the succession, while scanning the pulses across the scene in a given scan direction along successive parallel scan lines of a raster;receiving the optical radiation that is reflected from points in the scene and outputting signals indicative of respective times of arrival of the received radiation; andmatching (a) the times of arrival indicated by the signals due to the optical radiation reflected from the points in at least two adjacent scan lines in the raster to (b) the known times of emission and the temporal spacings of the output sequences in order to find respective times of flight for the points in the scene from which the optical radiation is reflected.
  • 13. The method according to claim 12, wherein matching the times of arrival of the signals to the temporal spacings of the output sequences comprises calculating a respective fit between the times of arrival of a group of the signals and each of a set of codes conforming to a predefined coding structure, which comprises a plurality of the pulses extending across two or more of the adjacent scan lines.
  • 14. The method according to claim 13, wherein calculating the respective fit comprises calculating a residue of each respective fit, and identifying a code that yields a residue that is below a predetermined threshold as the code that matches the group of the signals.
  • 15. The method according to claim 14, and comprising defining the output sequences so as to maximize the residues of the codes other than the code that matches the group of the signals.
  • 16. The method according to claim 13, wherein calculating the respective fit comprises applying a linear transformation to each code to account for a tilt of the scene, and calculating the respective fit between the times of arrival of each group of the signals and the pulses in each code following the linear transformation.
  • 17. The method according to claim 12, wherein matching the times of arrival comprises first matching the times of arrival of the signals to the output sequences in single scan lines of the raster scan, identifying one or more remaining signals that were not matched to any of the output sequences in a single scan line, and then matching the times of arrival of groups of the signals that include the remaining signals and extend across two or more of the adjacent scan lines in the raster to the temporal spacings of output sequences.
  • 18. The method according to claim 12, and comprising constructing a depth map of the scene based on the times of arrival.
  • 19. The method according to claim 12, wherein matching the times of arrival comprises matching the times of arrival of the signals due to the optical radiation reflected from the points in at least three adjacent scan lines in the raster.
  • 20. The method according to claim 12, wherein matching the times of arrival comprises matching the times of arrival of the signals due to the optical radiation reflected from the at least two points in each of two adjacent scan lines.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Patent Application 62/875,005, filed Jul. 17, 2019, which is incorporated herein by reference.

US Referenced Citations (187)
Number Name Date Kind
4623237 Kaneda et al. Nov 1986 A
4757200 Shepherd Jul 1988 A
5164823 Keeler Nov 1992 A
5270780 Moran et al. Dec 1993 A
5373148 Dvorkis Dec 1994 A
5699149 Kuroda et al. Dec 1997 A
6301003 Shirai et al. Oct 2001 B1
6384903 Fuller May 2002 B1
6710859 Shirai et al. Mar 2004 B2
7126218 Darveaux et al. Oct 2006 B1
7193690 Ossig et al. Mar 2007 B2
7303005 Reis et al. Dec 2007 B2
7405812 Bamji Jul 2008 B1
7508496 Mettenleiter et al. Mar 2009 B2
7800067 Rajavel et al. Sep 2010 B1
7800739 Rohner et al. Sep 2010 B2
7812301 Oike et al. Oct 2010 B2
7969558 Hall Jun 2011 B2
8193482 Itsler Jun 2012 B2
8259293 Andreou Sep 2012 B2
8275270 Shushakov et al. Sep 2012 B2
8355117 Niclass Jan 2013 B2
8405020 Menge Mar 2013 B2
8675181 Hall Mar 2014 B2
8736818 Weimer et al. May 2014 B2
8766164 Sanfilippo et al. Jul 2014 B2
8766808 Hogasten Jul 2014 B2
8891068 Eisele et al. Nov 2014 B2
8925814 Schneider et al. Jan 2015 B1
8963069 Drader et al. Feb 2015 B2
9002511 Hickerson et al. Apr 2015 B1
9024246 Jiang et al. May 2015 B2
9052356 Chu et al. Jun 2015 B2
9076707 Harmon Jul 2015 B2
9016849 Duggal et al. Aug 2015 B2
9335220 Shpunt et al. May 2016 B2
9354332 Zwaans et al. May 2016 B2
9465111 Wilks et al. Oct 2016 B2
9516248 Cohen et al. Dec 2016 B2
9709678 Matsuura Jul 2017 B2
9736459 Mor et al. Aug 2017 B2
9739881 Pavek et al. Aug 2017 B1
9761049 Naegle et al. Sep 2017 B2
9786701 Mellot et al. Oct 2017 B2
9810777 Williams et al. Nov 2017 B2
9874635 Eichenholz et al. Jan 2018 B1
10063844 Adam et al. Aug 2018 B2
10067224 Moore et al. Sep 2018 B2
10132616 Wang Nov 2018 B2
10215857 Oggier et al. Feb 2019 B2
10269104 Hannuksela et al. Apr 2019 B2
10386487 Wilton et al. Aug 2019 B1
10424683 Do Valle et al. Sep 2019 B1
10613203 Rekow et al. Apr 2020 B1
10782393 Dussan et al. Sep 2020 B2
20010020673 Zappa et al. Sep 2001 A1
20020071126 Shirai et al. Jun 2002 A1
20020131035 Watanabe et al. Sep 2002 A1
20020154054 Small Oct 2002 A1
20020186362 Shirai et al. Dec 2002 A1
20040051859 Flockencier Mar 2004 A1
20040135992 Munro Jul 2004 A1
20040212863 Schanz Oct 2004 A1
20060044546 Lewin et al. Mar 2006 A1
20060106317 McConnell et al. May 2006 A1
20070145136 Wiklof et al. Jun 2007 A1
20090009747 Wolf et al. Jan 2009 A1
20090262760 Krupkin et al. Oct 2009 A1
20090273770 Bauhahn et al. Nov 2009 A1
20090275841 Melendez et al. Nov 2009 A1
20100019128 Itzler Jan 2010 A1
20100045965 Meneely Feb 2010 A1
20100096459 Gurevich Apr 2010 A1
20100121577 Zhang et al. May 2010 A1
20100250189 Brown Sep 2010 A1
20100286516 Fan et al. Nov 2010 A1
20110006190 Alameh et al. Jan 2011 A1
20110128524 Vert et al. Jun 2011 A1
20110181864 Schmitt et al. Jul 2011 A1
20120038904 Fossum et al. Feb 2012 A1
20120075615 Niclass et al. Mar 2012 A1
20120132636 Moore May 2012 A1
20120153120 Baxter Jun 2012 A1
20120154542 Katz et al. Jun 2012 A1
20120176476 Schmidt et al. Jul 2012 A1
20120249998 Eisele et al. Oct 2012 A1
20120287242 Gilboa et al. Nov 2012 A1
20120294422 Cheung et al. Nov 2012 A1
20130015331 Birk et al. Jan 2013 A1
20130079639 Hoctor et al. Mar 2013 A1
20130092846 Henning et al. Apr 2013 A1
20130107016 Federspiel May 2013 A1
20130208258 Eisele et al. Aug 2013 A1
20130236171 Saunders Sep 2013 A1
20130258099 Ovsiannikov et al. Oct 2013 A1
20130278917 Korekado et al. Oct 2013 A1
20130300838 Borowski Nov 2013 A1
20130342835 Blacksberg Dec 2013 A1
20140027606 Raynor et al. Jan 2014 A1
20140077086 Batkilin et al. Mar 2014 A1
20140078491 Eisele et al. Mar 2014 A1
20140162714 Kim et al. Jun 2014 A1
20140191115 Webster et al. Jul 2014 A1
20140198198 Geissbuehler et al. Jul 2014 A1
20140231630 Rae et al. Aug 2014 A1
20140240317 Go et al. Aug 2014 A1
20140240691 Mheen et al. Aug 2014 A1
20140268127 Day Sep 2014 A1
20140300907 Kimmel Oct 2014 A1
20140321862 Frohlich et al. Oct 2014 A1
20140353471 Raynor et al. Dec 2014 A1
20150041625 Dutton et al. Feb 2015 A1
20150062558 Koppal et al. Mar 2015 A1
20150131080 Retterath et al. May 2015 A1
20150163429 Dai et al. Jun 2015 A1
20150192676 Kotelnikov et al. Jul 2015 A1
20150200222 Webster Jul 2015 A1
20150200314 Webster Jul 2015 A1
20150260830 Ghosh et al. Sep 2015 A1
20150285625 Deane et al. Oct 2015 A1
20150362585 Ghosh et al. Dec 2015 A1
20150373322 Goma et al. Dec 2015 A1
20160003944 Schmidtke et al. Jan 2016 A1
20160041266 Smits Feb 2016 A1
20160072258 Seurin et al. Mar 2016 A1
20160080709 Viswanathan et al. Mar 2016 A1
20160259038 Retterath et al. Sep 2016 A1
20160259057 Ito Sep 2016 A1
20160274222 Yeun Sep 2016 A1
20160334508 Hall et al. Nov 2016 A1
20160344965 Grauer Nov 2016 A1
20170006278 Vandame et al. Jan 2017 A1
20170038459 Kubacki et al. Feb 2017 A1
20170052065 Sharma et al. Feb 2017 A1
20170067734 Heidemann et al. Mar 2017 A1
20170131388 Campbell et al. May 2017 A1
20170131718 Matsumura et al. May 2017 A1
20170139041 Drader et al. May 2017 A1
20170176577 Halliday Jun 2017 A1
20170176579 Niclass et al. Jun 2017 A1
20170179173 Mandai et al. Jun 2017 A1
20170184450 Doylend et al. Jun 2017 A1
20170184704 Yang et al. Jun 2017 A1
20170184709 Kenzler et al. Jun 2017 A1
20170188016 Hudman Jun 2017 A1
20170219695 Hall et al. Aug 2017 A1
20170242102 Dussan et al. Aug 2017 A1
20170242108 Dussan et al. Aug 2017 A1
20170257617 Retterath Sep 2017 A1
20170269209 Hall et al. Sep 2017 A1
20170303789 Tichauer et al. Oct 2017 A1
20170329010 Warke et al. Nov 2017 A1
20170343675 Oggier et al. Nov 2017 A1
20170356796 Nishio Dec 2017 A1
20170356981 Yang et al. Dec 2017 A1
20180045816 Jarosinski et al. Feb 2018 A1
20180059220 Irish et al. Mar 2018 A1
20180062345 Bills et al. Mar 2018 A1
20180081032 Torruellas et al. Mar 2018 A1
20180081041 Niclass et al. Mar 2018 A1
20180115762 Bulteel et al. Apr 2018 A1
20180131449 Kare et al. May 2018 A1
20180167602 Pacala et al. Jun 2018 A1
20180203247 Chen et al. Jul 2018 A1
20180205943 Trail Jul 2018 A1
20180209846 Mandai et al. Jul 2018 A1
20180259645 Shu et al. Sep 2018 A1
20180299554 Van Dyck et al. Oct 2018 A1
20180341009 Niclass et al. Nov 2018 A1
20190004156 Niclass et al. Jan 2019 A1
20190011556 Pacala et al. Jan 2019 A1
20190011567 Pacala et al. Jan 2019 A1
20190018117 Perenzoni et al. Jan 2019 A1
20190018118 Perenzoni et al. Jan 2019 A1
20190018119 Laifenfeld et al. Jan 2019 A1
20190018143 Thayer et al. Jan 2019 A1
20190037120 Ohki Jan 2019 A1
20190056497 Pacala et al. Feb 2019 A1
20190094364 Fine et al. Mar 2019 A1
20190170855 Keller et al. Jun 2019 A1
20190178995 Tsai et al. Jun 2019 A1
20190257950 Patanwala et al. Aug 2019 A1
20190277952 Beuschel et al. Sep 2019 A1
20190361404 Mautner et al. Nov 2019 A1
20200142033 Shand May 2020 A1
20200233068 Henderson et al. Jul 2020 A1
20200314294 Schoenlieb et al. Oct 2020 A1
Foreign Referenced Citations (35)
Number Date Country
2605339 Oct 1994 CA
103763485 Apr 2014 CN
104730535 Jun 2015 CN
104914446 Sep 2015 CN
105992960 Oct 2016 CN
106405572 Feb 2017 CN
110609293 Dec 2019 CN
202013101039 Mar 2014 DE
2157445 Feb 2010 EP
2322953 May 2011 EP
2469297 Jun 2012 EP
2477043 Jul 2012 EP
2827175 Jan 2015 EP
3285087 Feb 2018 EP
3318895 May 2018 EP
3521856 Aug 2019 EP
H02287113 Nov 1990 JP
H0567195 Mar 1993 JP
09197045 Jul 1997 JP
H10170637 Jun 1998 JP
H11063920 Mar 1999 JP
2011089874 May 2011 JP
2011237215 Nov 2011 JP
2013113669 Jun 2013 JP
2014059301 Apr 2014 JP
101318951 Oct 2013 KR
9008946 Aug 1990 WO
2010149593 Dec 2010 WO
2013028691 Feb 2013 WO
2015199615 Dec 2015 WO
2017106875 Jun 2017 WO
2018122560 Jul 2018 WO
2020101576 May 2020 WO
2020109378 Jun 2020 WO
2020201452 Oct 2020 WO
Non-Patent Literature Citations (45)
Entry
IN Application # 202117029897 Office Action dated Mar. 10, 2022.
IN Application # 202117028974 Office Action dated Mar. 2, 2022.
U.S. Appl. No. 16/532,517 Office Action dated Oct. 14, 2020.
EP Application # 20177707.5 Search Report dated Nov. 12, 2020.
JP Application # 2020001203 Office Action dated Feb. 4, 2021.
U.S. Appl. No. 16/752,653 Office Action dated Feb. 4, 2021.
CN Application # 201680074428.8 Office Action dated Jun. 23, 2021.
Zhu Jian, “Research of Simulation of Super-Resolution Reconstruction of Infrared Image”, abstract page, Master's Thesis, p. 1, Nov. 15, 2005.
U.S. Appl. No. 15/844,665 office action dated Jun. 1, 2020.
U.S. Appl. No. 15/950,186 office action dated Jun. 23, 2020.
U.S. Appl. No. 15/586,286 office action dated Dec. 2, 2019.
International Application # PCT/US2019/45187 search report dated Nov. 15, 2019.
Oggier et al., U.S. Appl. No. 16/532,513, filed Aug. 6, 2019.
International Application # PCT/US2020/058760 Search Report dated Feb. 9, 2021.
TW Application # 109119267 Office Action dated Mar. 10, 2021.
U.S. Appl. No. 16/752,653 Office Action dated Apr. 5, 2021.
U.S. Appl. No. 15/586,286 office action dated Feb. 24, 2020.
U.S. Appl. No. 16/752,653 Office Action dated Oct. 1, 2021.
EP Application # 17737420.4 Office Action dated Oct. 28, 2021.
KR Application # 1020200068248 Office Action dated Nov. 12, 2021.
KR Application # 1020207015906 Office Action dated Oct. 13, 2021.
EP Application No. 20177707 Search Report dated Sep. 29, 2020.
Morbi et al., “Short range spectral lidar using mid-infrared semiconductor laser with code-division multiplexing technique”, Technical Digest, CLEO 2001, pp. 491-492 pages, May 2001.
Al et al., “High-resolution random-modulation cw lidar”, Applied Optics, vol. 50, issue 22, pp. 4478-4488, Jul. 28, 2011.
Chung et al., “Optical orthogonal codes: design, analysis and applications”, IEEE Transactions on Information Theory, vol. 35, issue 3, pp. 595-604, May 1989.
Lin et al., “Chaotic lidar”, IEEE Journal of Selected Topics in Quantum Electronics, vol. 10, issue 5, pp. 991-997, Sep.-Oct. 2004.
CN Utility Model Patent # 201520865151.7 UMPER report dated Oct. 9, 2019.
International application PCT/US2019/45188 Search report dated Oct. 21, 2019.
Dharbon et al., “SPAD-Based Sensors”, TOF Range-Imaging Cameras, Springer-Verlag, pp. 11-38, year 2013.
Niclass et al., “A 0.18 um CMOS SoC for a 100m range, 10 fps 200×96 pixel Time of Flight depth sensor”, IEEE International Solid-State Circuits Conference—(ISSCC), Session 27, Image Sensors, 27.6, pp. 488-490, Feb. 20, 2013.
Walker et al., “A 128×96 pixel event-driven phase-domain ΔΣ-based fully digital 3D camera in 0.13μm CMOS imaging technology”, IEEE International Solid-State Circuits Conference—(ISSCC), Session 23, Image Sensors, 23.6, pp. 410-412, Feb. 23, 2011.
Niclass et al., “Design and characterization of a 256×64-pixel single-photon imager in CMOS fora MEMS-based laser scanning time-of-flight sensor”, Optics Express, vol. 20, issue 11, pp. 11863-11881, May 21, 2012.
Kota et al., “System Design and Performance Characterization of a MEMS-Based Laser Scanning Time-of-Flight Sensor Based on a 256×64-pixel Single-Photon Imager”, IEEE Photonics Journal, vol. 5, issue 2, pp. 1-15, Apr. 2013.
Webster et al., “A silicon photomultiplier with >30% detection efficiency from 450-750nm and 11.6μm pitch NMOS-only pixel with 21.6% fill factor in 130nm CMOS”, Proceedings of the European Solid-State Device Research Conference (ESSDERC), pp. 238-241, Sep. 7-21, 2012.
Roth et al., U.S. Appl. No. 16/532,517, filed Aug. 6, 2019.
Buttgen et al., “Pseudonoise Optical Modulation for Real-Time 3-D Imaging With Minimum Interference”, IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 54, Issue10, pp. 2109-2119, Oct. 1, 2007.
Bradski et al., “Learning OpenCV”, first edition, pp. 1-50, O'Reilly Media, Inc, California, USA, year 2008.
U.S. Appl. No. 16/885,316 Office Action dated Jun. 30, 2022.
EP Application # 22167103.5 Search Report dated Jul. 11, 2022.
CN Application # 201780058088.4 Office Action dated Aug. 23, 2022.
U.S. Appl. No. 16/532,513 Office Action dated Aug. 4, 2022.
CN Application # 201810571820.4 Office Action dated Sep. 9, 2022.
KR Application # 1020220101419 Office Action dated Sep. 28, 2022.
U.S. Appl. No. 17/026,365 Office Action dated Nov. 7, 2022.
U.S. Appl. No. 16/532,513 Office Action dated Nov. 23, 2022.
Provisional Applications (1)
Number Date Country
62875005 Jul 2019 US