Distance determination method

10795021 ยท 2020-10-06

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for determining a distance comprises: providing at least two phase measurements made with modulated light of different modulation wavelengths, each phase measurement being indicative of the distance up to an integer multiple of a respective modulation wavelength; providing a set of possible wraparound count combinations; for each one of the possible wraparound count combinations, calculating a combination of unwrapped phase hypotheses corresponding to the at least two phase measurements; and selecting a most plausible combination of unwrapped phase hypotheses among the combinations of unwrapped phase hypotheses and calculating the distance based upon the selected most plausible combination of unwrapped phase hypotheses.

Claims

1. A method for determining a distance between a time-of-flight (TOF) measuring device and a target, wherein the time-of-flight measuring device is configured to generate a range image of the target and includes an illumination unit, an imaging sensor, and an evaluation unit coupled with a non-transitory memory, the method comprising: defining a usable distance measurement range within which the TOF measuring device determines a distance to the target; generating a table containing all possible wraparound count combinations for phase measurements at different modulation frequencies, wherein the table is stored in the non-transitory memory as part of the TOF measuring device configuration; emitting light from the illumination unit into a direction of the target, wherein the light is modulated at different modulation wavelengths; receiving at the imaging sensor the modulated light reflected from the target and generating a phase information signal based on the reflected light at the different modulation wavelengths; using the evaluation unit, determining for each pixel of the imaging sensor, phase measurements based on the phase information signal received from the imaging sensor, wherein each phase measurement is indicative of the distance up to an integer multiple of a respective modulation wavelength; using the evaluation unit, for each one of the possible wraparound count combinations in the table, determining a combination of unwrapped phase hypotheses based on the phase measurements; using the evaluation unit, determining a most plausible combination of unwrapped phase hypotheses among the combinations of unwrapped phase hypotheses by calculating, for each combination of unwrapped phase hypotheses, a gap between a point having the respective unwrapped phase hypotheses as coordinates and an origin-crossing straight line having a direction vector with coordinate representation [c/.sub.1, . . . , c/.sub.n], where .sub.1, . . . , .sub.n designate the different modulation wavelengths and c designates the speed of light, and selecting as the most plausible combination of unwrapped phase hypotheses the one for which the gap is smallest; calculating the distance to the target for each pixel of the image sensor based on the selected most plausible combination of unwrapped phase hypotheses; and generating a range image of the target using the distance calculated for each pixel.

2. The method as claimed in claim 1, wherein the distance is determined as .Math. .fwdarw. est .Math. .Math. c 4 .Math. .Math. u .fwdarw. .Math. , where {right arrow over ()}.sub.est is an orthogonal projection onto the origin-crossing straight line of a point having the most plausible combination of unwrapped phase hypotheses as coordinates, and it is the direction vector [c/.sub.1, . . . , c/.sub.n].

3. The method as claimed in claim 1, wherein the determining of the gap is carried out in a rotated coordinate system, in which the origin-crossing straight line is a coordinate axis.

4. The method as claimed in claim 3, wherein the distance is determined as ( .fwdarw. j_opt ) 1 .Math. c 4 .Math. .Math. u .fwdarw. .Math. where ({right arrow over ()}.sub.j_opt).sub.1 is a coordinate of said point having the most plausible combination of unwrapped phase hypotheses as coordinates in the rotated coordinate system, and {right arrow over (u)} is the direction vector [c/.sub.1, . . . , c/.sub.n].

5. A computer program product, stored on a non-transitory computer readable medium, the computer program product comprising computer-implementable instructions, which, when executed by a processing unit, cause the processing unit to carry out the method as claimed in claim 1.

6. Time-of-flight distance measuring device, comprising: an electronic control unit coupled to a memory, the memory having stored therein a computer program as claimed in claim 5, the electronic control unit being configured to execute the computer program when determining a distance, wherein the electronic control unit is the processing unit.

7. Time-of-flight distance measuring device, comprising: an electronic control unit with an FPGA and/or an ASIC, said FPGA and/or ASIC configured and arranged to carry out the method as claimed in claim 1.

8. The method as claimed in claim 1, wherein the usable distance measurement range is less than a target detection range of the TOF measuring device.

9. The method as claimed in claim 1, further comprising determining whether the distance is a valid distance that lies within the usable distance measurement range based on a comparison of the smallest gap to a minimum line segment distance value.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Preferred, non-limiting, embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which:

(2) FIG. 1 is a graph illustrating phase couples (.sub.1, .sub.2) obtainable through ideal phase measurements at two different modulation frequencies for distances between 0 and a maximum distance;

(3) FIG. 2 is a graph illustrating phase triples (.sub.1, .sub.2, .sub.3) obtainable through ideal phase measurements at three different modulation frequencies for distances between 0 and a maximum distance;

(4) FIG. 3 is a schematic flowchart of a first embodiment of a method for estimating the unknown distance from n phase measurements made at n different frequencies;

(5) FIG. 4 is a schematic flowchart of a second embodiment of a method for estimating the unknown distance from n phase measurements made at n different frequencies;

(6) FIG. 5 is a schematic flowchart of a third embodiment of a method for estimating the unknown distance from n phase measurements made at n different frequencies;

(7) FIG. 6 is a schematic illustration of a preferred embodiment of a 3D-TOF camera

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

(8) Embodiments of the invention are going to be discussed, for illustration purposes, in the context of a 3D TOF camera that delivers, for each of its pixels, a phase information in rad which is indicative of the distance d in meters between the camera and the target, and is given by:

(9) = mod ( d .Math. 4 .Math. f c , 2 ) ,
where mod is the modulo function (which returns the remainder of the division of the first argument by the second argument), f is the modulation frequency in Hz, and c is the speed of light in m/s. The modulation wavelength is given as =c/f.

(10) As can be seen, the phase repeats itself periodically with the distance, implying that there is a limited unambiguity range of the distance measurement. The unambiguity range is given by:

(11) d u = c 2 f .

(12) The usable distance measurement range is bounded by the unambiguity range. When performing n measurements with n different frequencies of the same scene, the usable distance measurement range can be extended by combining the results of the different measurements and finding, or estimating in the case of presence of measurement noise, the unknown distance by inverting the modulo function.

(13) A first problem that needs to be addressed is how to select the frequency values so as to maximize the allowed measurement noise when a defined usable distance measurement range is required. When sufficient noise is present, the modulo function inversion leads to a distance estimation error.

(14) To illustrate this problem for a 2-frequency measurement, FIG. 1 shows the relation between ideally measured (i.e. not affected by noise) phases .sub.1 and .sub.2, respectively corresponding to modulation frequencies f.sub.1 and f.sub.2, when the unknown distance ranges between 0 and the required usable distance measurement range. For FIG. 1, f.sub.1 and f.sub.2 have been assumed to be 10 MHz and 11 MHz, respectively, and the maximum usable distance measurement range has been set to 100 m. It can be seen that .sub.1 and .sub.2 wrap around each time they arrive at 2 (illustrated by dashed lines). If no noise is present on the measurements, the point (.sub.1, .sub.2) defined by the measured phases .sub.1 and .sub.2 lies on one of the line segments shown in FIG. 1. However, if noise is present on the phase measurements, the measured point ({tilde over ()}.sub.1, {tilde over ()}.sub.2) may differ from the a priori unknown ideal point (.sub.1, .sub.2) and be located in the forbidden areas between the line segments. If the noise is sufficiently high, the measured point ({tilde over ()}.sub.1, {tilde over ()}.sub.2) may be closer to a line segment that corresponds to a distance that is completely different from the actual distance. Therefore, the distance between the line segments shown on FIG. 1 must be maximized for a given required usable distance measurement range by appropriately selecting the frequencies f.sub.1 and f.sub.2. The same applies for an n-frequency measurement. For the illustration of a 3-frequency measurement, FIG. 2 shows a graph similar to the one of FIG. 1 for the frequencies 10 MHz, 11 MHz and 13 MHz. The three frequencies result in a 3D plot.

(15) The maximization of the distances between the line segments may be achieved by a brute force approach. The range in which the modulation frequencies can lie is known beforehand, and is defined for example by the maximum operating frequency of the active illumination and by the minimum frequency which still yields an acceptable imager noise level. Within this range all n frequencies are varied, for example by linearly sweeping or randomly selecting. For each set of n frequencies, (frequency n-tuple), the distance trajectories are drawn in the n-dimensional phase space, and the minimum distance between each possible line segment pair is searched. Finally, the optimal frequency n-tuple that achieves the maximum of the minimum line segment distances is kept and used for the application. The minimum line segment distance value h.sub.1 for the optimal frequency n-tuple is also kept and is used in the application to check the confidence level of the measured phase n-tuple.

(16) In the following, the n frequencies are assumed to be known. For illustration purposes, they will be given certain values, but it shall be understood that these frequencies are not necessarily optimal with regard to the above criterion of maximal separation between the line segments.

(17) A first embodiment of a method for estimating the unknown distance from n phase measurements at n different frequencies will now be described, with reference to FIG. 3. In a first step, the modulation frequencies f.sub.1, . . . , f.sub.n are fixed (step 301) and for the unknown distance ranging between zero and the usable distance measurement range, a list with all the possibly occurring distinct combinations of phase wraparound counts of each of the n phases is established (step 302). For example, using a 3-frequency measurement with the same parameters as for FIG. 2 (frequencies f.sub.1=10 MHz, f.sub.2=11 MHz and f.sub.3=13 MHz) the following table results:

(18) TABLE-US-00001 nwrap.sub.1 0 0 0 1 1 1 2 2 2 3 3 3 3 4 4 4 5 5 5 6 6 6 nwrap.sub.2 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 5 6 6 6 7 nwrap.sub.3 0 1 1 1 2 2 2 3 3 3 4 4 5 5 5 6 6 7 7 7 8 8
where nwrap.sub.1 is the wraparound count of .sub.1 for frequency f.sub.1, nwrap.sub.2 the wraparound count of .sub.2 for frequency f.sub.2 and nwrap.sub.3 the wraparound count of .sub.3 for frequency f.sub.3. It is worthwhile noting that each column in the above table corresponds to one segment in FIG. 2. The table of phase wraparound counts can be calculated offline, that is to say only once during the configuration of the measurement system, and its results can be permanently stored in the application's non volatile memory, as the only information needed are the n frequencies and the required usable distance measurement range, which are known beforehand.

(19) For each row i and column j in the table, a distance hypothesis may be calculated as:

(20) d ij = ( i + nwrap ij .Math. 2 ) .Math. c 4 .Math. f i

(21) During the measurement, a phase n-tuple [.sub.1, . . . , .sub.n] is measured (step 303). Using the wraparound count table above, a distance hypothesis is estimated for each cell in the table using the above formula for d.sub.ij (step 304).

(22) Then, the optimal column j.sub.opt in the table is searched for. This column corresponds to the most plausible combination of phase wraparound counts. According to the first embodiment of the method, the optimal column is the one for which the variance or the standard deviation of the n distances d.sub.ij in the column is minimal. The variance .sub.j.sup.2 of each wraparound count combination j may be calculated (step 305) as:

(23) j 2 = 1 n .Math. i = 1 n d ij 2 - 1 n .Math. i = 1 n d ij
and the minimum variance be determined (step 306).

(24) The ratio of the standard deviation (found for j_opt) to the minimum line segment distance h.sub.1 can be used as an indicator of the confidence level of the distance measurement (the smaller the ratio the better).

(25) Finally, the mean (average)

(26) .Math. d j_opt .Math. = 1 n .Math. i = 1 n d ij_opt
of the distances d.sub.ij_opt of the column j_opt serves as an estimation of the unknown distance (step 307).

(27) A second embodiment of the method for estimating the unknown distance from n phase measurements at n different frequencies will now be described with reference to FIG. 4. This embodiment takes advantage from the fact that the actual required distance measurement range is typically smaller than the target detection range from which no folding back into the required distance measurement range must occur, but where the actual target distance does not need to be measured. In many application it is necessary only that the TOF measurement device is able to measure the unknown distance over a restricted range. Targets beyond this range and still within the range where the TOF measurement device detects a target must not fold back into the required distance measurement range, but their distance does not need to be known. For example, in an automotive advanced driver assistance system, only the distances to targets which are within, e.g. 20 m in front of the car shall be measured, but at the same time highly reflective targets up to 100 m in front of the car must not be folded back into the required distance measurement range. For this example, the detection range is 100 m, but the required distance measurement range is only 20 m. This implies that the frequency selection process (step 401) takes into account 1) the distances between any two line segments representing distances within the required measurement range, 2) the distances between any pair of one line segment representing a distance within the required measurement range and one line segment representing a distance that is outside the required measurement range but still within the equipment's detection range
but does not take into account the distances between any two line segments representing distances, which are outside the required measurement range but still within the equipment's detection range. The minimum line segment distance value (hereinafter noted h.sub.2) that is found (step 403) is kept and used in the application to check the confidence level of the measured phase n-tuple.

(28) For the unknown distance ranging between zero and the required measurement range, a list with all the possibly occurring distinct combinations of phase wraparound counts of each of the n phases is established. For example, using 3-frequency measurement with the same parameters as for FIG. 2 and a wanted measurement range of 20 m, the following table results:

(29) TABLE-US-00002 nwrap.sub.1 0 0 0 1 1 nwrap.sub.2 0 0 1 1 1 nwrap.sub.3 0 1 1 1 2
where nwrap.sub.1 is again the wraparound count of .sub.1 for frequency f.sub.1, nwrap.sub.2 the wraparound count of .sub.2 for frequency f.sub.2 and nwrap.sub.3 the wraparound count of .sub.3 for frequency f.sub.3. The set of frequencies and the table of wraparound count can be calculated offline (steps 401 and 402), that is only once during the configuration of the measurement system and its results can be permanently stored in the application's non volatile memory, as the only information needed are the n frequencies, the wanted measurement range and the required extended unambiguity distance, which are known beforehand.

(30) Using the wraparound count table above, the column which best unwraps the n-tuple of measured phases [(.sub.1, . . . , .sub.n], leading to an optimal estimation of the unknown distance, is searched for.

(31) The online calculation starts with the providing of the phase measurements (step 405), which may be represented as phase n-tuple [.sub.1, . . . , .sub.n] or vector {right arrow over ()}. For each row i and column j in the list and for a combination of measured phases (n-tuple [(.sub.1, . . . , .sub.n]), the unwrapped phase is calculated (step 406) using the formula:
.sub.ij=+nwrap.sub.ij.Math.2.

(32) Then, for each column j, the gap g.sub.j in the n-dimensional phase space between the unwrapped phase n-tuple [.sub.ij, . . . .sub.nj] and the origin-crossing straight line having the direction vector
{right arrow over (u)}=[f.sub.1, . . . , f.sub.n]=[c/.sub.1, . . . , c/.sub.n]
is calculated (step 407). This can for example be done by calculating the length of the vector cross product of the unwrapped phase n-tuple [(.sub.1j, . . . , .sub.nj], which we will designate by {right arrow over ()}.sub.j for simplicity, and the normalized vector {right arrow over (u)}:

(33) 0 g j = .Math. .fwdarw. j u .fwdarw. .Math. u .fwdarw. .Math. .Math.
where x designated the vector cross product and . the length of vector a vector. It is worthwhile noting that the vector a is preferably determined beforehand (step 404).

(34) Then, the smallest g.sub.j (hereinafter denoted g.sub.j_opt) is searched among all the g.sub.j, (step 408) and then the unwrapped phase n-tuple {right arrow over ()}.sub.j_opt=[.sub.1j_opt, . . . , .sub.nj_opt] corresponding to g.sub.j_opt is selected.

(35) g.sub.j_opt is compared (step 409) with h.sub.2/2 found in the frequency selection process described above. If g.sub.j_opt<h.sub.2/2, then the distance to be determined lies within the required measurement range, if g.sub.j_opth.sub.2/2, then it lies outside the required measurement range (but within the detection range, for otherwise there would be no phase measurement values) and is not considered a valid distance (step 410).

(36) Preferably, the squares of the g.sub.j are computed instead because doing this is computationally less expensive. g.sub.j_opt.sup.2 is then compared with the offline computed parameter h.sub.2.sup.2/4.

(37) The unknown distance d.sub.est is finally computed by projecting the found unwrapped phase n-tuple {right arrow over ()}.sub.j_opt=[.sub.1j_opt, . . . , .sub.nj_opt] onto the origin-crossing line with direction vector {right arrow over (u)} (step 411), measuring the distance of the projection to the origin.

(38) Noting

(39) .fwdarw. est = 1 .Math. u .fwdarw. .Math. 2 ( .fwdarw. j_opt .Math. u .fwdarw. ) u .fwdarw.
the projection of the found unwrapped phase n-tuple {right arrow over ()}.sub.j_opt=[.sub.1j_opt, . . . , .sub.nj_opt] onto the origin-crossing line with direction vector {right arrow over (u)} ( designated the dot product between two vectors), the distance can be estimated (step 412) as:

(40) d est = .Math. .fwdarw. est .Math. .Math. c 4 .Math. .Math. u .fwdarw. .Math. .

(41) A preferred implementation of the second embodiment, which is computationally inexpensive will now be explained with reference to FIG. 5. This implementation is similar to the implementation of FIG. 4, except that the n-dimensional phase space is rotated around the origin in such a way that the vector {right arrow over (u)}=[f.sub.1, f.sub.2, f.sub.3] will be rotated into alignment with the x-axis unit vector {right arrow over (i)}=[1,0,0]. The y and z-axis unit vectors would allow the same inexpensive implementation, but for the sake of simplicity only the case for the x axis unit vector will be described. There is a virtually infinite number of ways to achieve this transformation, and for simplicity the rotation will be performed around the unity-length normal vector {right arrow over (n)} of the plane spanned by {right arrow over (u)} and {right arrow over (i)}, and the angle of rotation will be the angle between {right arrow over (u)} and {right arrow over (i)}:

(42) With {right arrow over (v)}={right arrow over (u)}/{right arrow over (u)}, {right arrow over (n)} may be expressed as:

(43) n .fwdarw. = v .fwdarw. i .fwdarw. .Math. v .fwdarw. i .fwdarw. .Math. .

(44) The angle can be calculated as: =arccos({right arrow over (v)}{right arrow over (i)}).

(45) The rotation matrix R, which performs the rotation operation described above is defined by:

(46) R = ( n 1 n 1 ( 1 - cos ) + cos n 2 n 1 ( 1 - cos ) - n 3 sin n 3 n 1 ( 1 - cos ) + n 2 sin n 1 n 2 ( 1 - cos ) + n 3 sin n 2 n 2 ( 1 - cos ) + cos n 3 n 2 ( 1 - cos ) + n 1 sin n 1 n 3 ( 1 - cos ) - n 2 sin n 2 n 3 ( 1 - cos ) + n 1 sin n 3 n 3 ( 1 - cos ) + cos ) ,

(47) with {right arrow over (n)}=(n.sub.1, n.sub.2, n.sub.3).

(48) The offline computation comprises the selection of the modulation frequencies (step 501), the calculation of the wraparound count table (step 502) and the calculation of the rotation matrix R (step 503), as indicated above, and the calculation of the parameter h.sub.2 (step 505).

(49) The online calculation begins with providing the n phase measurements (step 506). Instead of calculating, for each column j, the gap g.sub.j in the n-dimensional phase space between the unwrapped phase n-tuple (.sub.1j, . . . , .sub.nj) and the origin-crossing straight line having the direction vector {right arrow over (u)}=[f.sub.1, . . . , f.sub.n], in this implementation, one calculates, for each column j, the gap g.sub.j between the rotated unwrapped phase n-tuple R[.sub.1j, . . . .sub.nj]=R{right arrow over ()}.sub.j and the x-axis (i.e. the rotated origin-crossing straight line having {right arrow over (u)}=[f.sub.1, . . . , f.sub.n] as direction vector). Since the rotation does not change the measures, g.sub.j=g.sub.j.

(50) The rotated unwrapped phase n-tuple {right arrow over ()}.sub.j may be calculated (step 507) as:
{right arrow over ()}.sub.j=R{right arrow over ()}.sub.j=R{right arrow over ()}+R{right arrow over (nwrap)}.sub.j.Math.2,
Where {right arrow over (nwrap)}.sub.j is the j-th column vector of the phase wraparound table. It is worthwhile noting that R{right arrow over (nwrap)}.sub.j.Math.2 can be calculate upfront (as step 504 of the offline calculations), which means that this calculation does not take any processing time in the online calculations.

(51) It shall also be noted that the gap g.sub.j depends only on the second and third coordinates of {right arrow over ()}.sub.j, which we denote by ({right arrow over ()}.sub.j).sub.2 and ({right arrow over ()}.sub.j).sub.3. For the square of the gap g.sub.j, the following equation holds:
g.sub.j.sup.2=({right arrow over ()}.sub.j).sub.2.sup.2+({right arrow over ()}.sub.j).sub.3.sup.2.

(52) The smallest gap is searched for among all the g.sub.j. The smallest gap found, g.sub.j_opt, is compared with h.sub.2/2 found in the offline frequency selection process. If g.sub.j_opt<h.sub.2/2, then the distance to be determined lies within the required measurement range, if t.sub.j_opth.sub.2/2, then it lies outside the required measurement range (but within the detection range, for otherwise there would be no phase measurement values) and is not considered a valid distance. It is possible to compute only the squares of the g.sub.j (step 508). In this case, the smallest squared gap is searched for among all the g.sub.j.sup.2 (step 509), and the value found, g.sub.j_opt.sup.2, is compared with the offline computed parameter h.sub.2.sup.2/4 (step 510). If g.sub.j_opt.sup.2(h.sub.2/2).sup.2, the rotated unwrapped phase n-tuple {right arrow over ()}.sub.j_opt is considered to represent the most plausible combination of unwrapped phase hypotheses, otherwise the target is considered to lie outside the measurement range (step 511).

(53) The unknown distance d.sub.est is computed by orthogonally projecting the rotated unwrapped phase n-tuple {right arrow over ()}.sub.j_opt onto the x-axis (i.e. the rotated origin-crossing line with direction vector {right arrow over (u)}). Noting ({right arrow over ()}.sub.j_opt).sub.1 the first coordinate of {right arrow over ()}.sub.j_opt, the projected point has (({right arrow over ()}.sub.j_opt).sub.1, 0, 0) as coordinates.

(54) The distance can finally be estimated (step 512) as:

(55) d est = ( .fwdarw. j_opt ) 1 .Math. c 4 .Math. .Math. u .fwdarw. .Math. .

(56) The difference between the computational efforts for the first implementation of the method described above, the second implementation and the computationally inexpensive version described above is now illustrated by means of an example. Only the online computation effort is estimated, since the offline computations do not consume any processing time during the measurements. Only the multiplications and square root operations are counted as they are the most expensive to implement.

(57) When using the first implementation and using the parameters given as example, an initial scaling of [.sub.1, .sub.2, .sub.3] in order to reduce the computational effort in calculating the distance hypotheses d.sub.ij requires 3 scalar multiplications for each column in the wraparound list (there are 22 columns in the example), one multiplication for the computation of the mean value, 3 multiplications for the variance (easier to compute than the standard deviation but fulfils the same purpose), and for the calculation of the final result (distance) one scalar multiplication, resulting in: 3+22*(1+3)+1=92 multiplications and no square root operation.

(58) When using the second method described above and using the parameters given as example, for each column in the wraparound list (there are 5 columns), a vector cross product (6 multiplications), a vector squared length calculation (3 multiplications), and for the final result, a vector dot product (3 multiplications), a vector scalar product (3 multiplications), a vector length calculation (3 multiplications and a square root) and a scalar multiplication are required, resulting in: 5*(6+3)+3+3+3+1=55 multiplications and one square root operation.

(59) When using the computationally inexpensive version described above and using the parameters given as example, the initial rotation requires 9 multiplications, for each column in the wraparound list (there are 5 columns), a 2-dimensional vector squared length calculation (2 multiplications), and for the final result, a scalar multiplication are required, resulting in: 9+5*2+1=20 multiplications and no square root operation.

(60) In the above-disclosed distance estimation methods the actual value of the measurement phase noise is preferably known or estimated during the measurement. Indeed, if the phase noise is too large, it may happen that the noisy unknown distance n-tuple in the n-phase space jumps from the vicinity of the line segment, which the actual unknown distance phase n-tuple belongs to, into the vicinity of a completely different line segment in the phase space. Eventually, this leads to wrong distance estimation. Therefore, measurements, which have too large phase noise, are preferably declared invalid. The phase noise can be estimated or measured by measuring the amplitude, or by measuring the amplitude and intensity of the received modulated light and combing the amplitude and intensity. How this can be done is, for example, described in 3D Time-of-Flight Distance Measurement with Custom Solid-State Image Sensors in CMOS/CCD-Technology by R. Lange.

(61) FIG. 6 shows a preferred embodiment of a 3D TOF camera, generally identified by reference numeral 10. The 3D TOF camera 10 comprises an illumination unit 12 emitting light onto a scene, and an imaging sensor 14 imaging the scene. The imaging sensor 14 comprises, in a manner known per se, the required optical accessories such as a focusing lens (not shown) and an electronic camera chip 16 executed in any suitable technology, such as CCD, CMOS, TFA or the like. The imaging sensor 14 comprises a two-dimensional array of individual lock-in pixel sensor cells 18, each of which receives light from a small portion of the scene to be imaged for creating a pixel-by-pixel image thereof.

(62) The illumination unit 12 comprises several individual light emitting devices 20 such as light emitting diodes (LEDs), which are collectively driven by means of an illumination driver 22. A signal source 24 provides the input signals for the illumination driver 22 and a photo gate driver 26. The output of the photo gate driver 26 is connected to the imaging sensor 14. An evaluation unit 28 comprising a suitable electronic calculation device, e.g. a digital signal processor (DSP), is connected to the output of the imaging sensor 14.

(63) When operating, the signal source 24 generates a modulation signal E1 on its output and feeds this modulation signal E1 to the illumination driver 22. The latter drives the illumination unit 12 with a drive signal E2 to emit an intensity-modulated light signal L1 into a target scene comprising an object 30 (for illustration purposes). The modulated light signal L1 is partially reflected by the object 30 so as to form a returning light signal L2 which is received as incident light by the imaging sensor 14. The modulation signal E1 is also fed to the photo gate driver 26, which provides a demodulation signal E3. The imaging sensor 14 receives this demodulation signal E3 and produces a phase information signal E4, which is fed to the evaluation unit 28. The signal source 24 cycles through the plurality of different modulation frequencies f.sub.1, . . . , f.sub.n.

(64) The 3D TOF camera 10 further comprises a reference pixel 32 mounted in the illumination unit 12 contiguous to the light emitting devices 20 in such a way that it gathers light from the light emitting devices 18. The reference pixel 32 produces an output signal E5, which corresponds essentially to a modulation phase reference (comparable to a zero distance measurement). A reference subtraction stage 34 within the evaluation unit 28, outputs, for each pixel, phase information 9, in rad corresponding to the modulation frequency f.sub.i. The distance information for each camera pixel 18 is then calculated in a distance calculation stage 36, in accordance with the method of the present invention. The evaluation unit 28 comprises a non-volatile memory 38, in which the calibration data, in particular the parameters that may be calculated offline, are stored. The distance calculation stage 36 has access to these parameters for executing the method.

(65) It is worthwhile noting that in an actual implementation of the evaluation unit 28, the phase subtraction stage 34 and the distance calculation stage 36 are not necessarily physically separate components. The different operations may, in particular, be carried out by a single (multi-purpose) processor.

(66) While specific embodiments have been described in detail, those skilled in the art will appreciate that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangements disclosed are meant to be illustrative only and not limiting as to the scope of the invention, which is to be given the full breadth of the appended claims and any and all equivalents thereof.