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.

Description:
TECHNICAL FIELD 
       [0001]    The present invention generally relates to a method for determining a distance based upon a plurality of phase measurements, made at different wavelengths, each of the phase measurements, taken individually, being ambiguous in the sense that it indicates the distance only up to an integer multiple of the respective wavelength. 
       BACKGROUND ART 
       [0002]    Distance measuring equipment often relies on the time-of-flight (TOF) measurement principle. Distance (also: depth) information is in this case obtained by emitting modulated light into the direction of the target and measuring the phase shift of the modulation between the emitted and the reflected light. The measured phase is proportional to the distance between the measurement equipment and the target, modulo the wavelength of the modulation. This relationship may be expressed as: 
         [0000]    
       
         
           
             
               ϕ 
               = 
               
                 mod 
                  
                 
                   ( 
                   
                     
                       
                         
                           d 
                           · 
                           4 
                         
                          
                         
                           π 
                           · 
                           f 
                         
                       
                       c 
                     
                     , 
                     
                       2 
                        
                       π 
                     
                   
                   ) 
                 
               
             
             , 
           
         
       
     
         [0000]    where φ is the modulation phase in radians, d is the distance, f is the modulation frequency, and c is the speed of light. The modulation wavelength λ is given as λ=c/f. The extra factor 2 (4π instead of 2π) in the first argument of the mod function is due to the fact that the light travels twice the distance between the distance measuring equipment and the target. The above relationship expresses that the phase measurement is ambiguous, i.e. the distance value d′ calculated as d′=φ·c/(4π·f) may be different from the actual distance by an a priori unknown integer number of modulation wavelengths. 
         [0003]    The distance d u =c/(2·f) is called the “unambiguity range”, because if it is known beforehand that the measured distance is less than d u , the modulo function may be inverted, yielding an unambiguous distance. However, if the target may be located at greater distances from the target than d u , any phase measurement will be comprised in the interval [0, 2π[: one says that the measurements are “wrapped” into the unambiguity range. As a consequence, retrieving the actual distance from the ambiguous measurement, or, otherwise stated, determining the integer number of modulation wavelengths to add to the distance value d′ in order to arrive at the actual distance, is called “phase unwrapping”. 
         [0004]    In a single-frequency system, the usable distance measurement range is bounded by the unambiguity range unless assumptions are made on the smoothness of the scene (neighbouring pixels) and on the smoothness of the evolution in time of a distance measurement. Such assumptions cannot be made in all circumstances and for all applications. Specifically, in an adaptive driver assistance system, such assumptions are normally not permitted. When operating a 3D TOF camera or other distance measuring equipment, the usable unambiguity range may not be sufficient when employing a single modulation frequency. To overcome that drawback, n (n&gt;1) measurements of the same distance may be made with n different modulation frequencies. The usable distance measurement range can thereby 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 trying to invert the modulo function. When using two frequencies (n=2), the combination is easily performed by calculating the difference between the measured phases at the first and second modulation frequency, but when using three frequencies or more in order to further reduce the measurement error in presence of noise compared to using only two frequencies, a method which is as simple as calculating the phase difference does not exist. 
         [0005]    The paper “Multi-frequency Phase Unwrapping for Time-of-Flight Cameras”, D. Droeschel, D. Holz and S. Behnke, Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Taipei, Taiwan, October 2010, discloses a probabilistic phase unwrapping approach, which takes into account the neighborhood of each pixel. The paper also mentions the possibility of using two modulation frequencies for detecting phase wrapping. It is proposed to compare the two distance values obtained from the two measured phases. If these distance values coincide, the distance lies in the unambiguity range; if they do not coincide, at least one of the phases has been wrapped into the [0,2π[interval and the phase has to be unwrapped. 
         [0006]    Document DE 100 39 422 C2 discloses a photoelectronic mixing device (PMD) operating at plural frequencies for carrying out measurements of speed and/or distance. 
         [0007]    U.S. Pat. No. 7,791,715 B1 relates to a method and system for dealiasing (unwrapping) in TOF systems. The system uses at least two close-together modulation frequencies f 1  and f 2  that are close to the maximum modulation frequency supported by the system. The distance Z is then calculated as: 
         [0000]    
       
         
           
             
               Z 
               = 
               
                 
                   
                     c 
                     · 
                     Δ 
                   
                    
                   
                       
                   
                    
                   ϕ 
                 
                 
                   4 
                    
                   
                     π 
                     · 
                     Δ 
                   
                    
                   
                       
                   
                    
                   f 
                 
               
             
             , 
           
         
       
     
         [0000]    where Δφ is the difference of the measured phases at f 1  and f 2 , respectively, and where Δf=f 1 −f 2 . When more than two different frequencies are available, the phase measurements are combined in pairs and the same formula is applied. 
         [0008]    Whereas it is known from the prior art to combine plural frequencies in order to achieve a greater (combined) unambiguity range, the known methods have drawbacks when measurement noise comes into play. Furthermore, the computational effort necessary to carry these methods out may be too important for low-cost implementations. 
       BRIEF SUMMARY 
       [0009]    A practically implementable method is provided herein for estimating the unknown distance when using two or more modulation frequencies. 
         [0010]    According to the invention, 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, determining 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 determining the distance based upon the selected most plausible combination of unwrapped phase hypotheses.       
 
         [0015]    The distance may e.g. be determined, for example by calculating as an average over the distance values associated with the unwrapped phase hypotheses of the most plausible combination of unwrapped phase hypotheses. 
         [0016]    According to preferred possible embodiment the selecting of the most plausible combination of unwrapped phase hypotheses among the combinations of unwrapped phase hypotheses comprises
       for each combination of unwrapped phase hypotheses, calculating a combination of distance values associated with the unwrapped phase hypotheses of the respective combination of unwrapped phase hypotheses,   for each combination of unwrapped phase hypotheses, calculating a variance or standard deviation of the respective combination of distance values, and   selecting as the most plausible combination of unwrapped phase hypotheses the one for which the variance or standard deviation is smallest.       
 
         [0020]    According to a preferred embodiment of the invention, the selecting of the most plausible combination of unwrapped phase hypotheses among the combinations of unwrapped phase hypotheses comprises
       for each combination of unwrapped phase hypotheses, calculating 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 [1/λ 1 , . . . , 1/λ n ], where λ 1 , . . . , λ n  designate the different modulation wavelengths, and   selecting as the most plausible combination of unwrapped phase hypotheses the one for which the gap is smallest.       
 
         [0023]    The distance may advantageously be calculated as 
         [0000]    
       
         
           
             
               
                 
                    
                   
                     
                       ϕ 
                       → 
                     
                     est 
                     ′ 
                   
                    
                 
                 · 
                 c 
               
               
                 4 
                  
                 
                   π 
                   · 
                   
                      
                     
                       u 
                       → 
                     
                      
                   
                 
               
             
             , 
           
         
       
     
         [0000]    where {right arrow over (φ)}′ 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 {right arrow over (u)} is the direction vector [c/λ 1 , . . . , c/λ n ]. 
         [0024]    Yet more advantageously, the calculating of the gap may be carried out in a rotated coordinate system, in which the origin-crossing straight line is a coordinate axis. In this case, the distance is preferably calculated as calculated as 
         [0000]    
       
         
           
             
               
                 
                   ( 
                   
                     
                       ϕ 
                       → 
                     
                     j_opt 
                     ″ 
                   
                   ) 
                 
                 1 
               
               · 
               c 
             
             
               4 
                
               
                 π 
                 · 
                 
                    
                   
                     u 
                     → 
                   
                    
                 
               
             
           
         
       
     
         [0000]    where ({right arrow over (φ)}″ j     —     opt ) 1  is a coordinate of the point having the most plausible combination of unwrapped phase hypotheses as coordinates in the rotated coordinate system, and a is the direction vector [c/λ 1 , . . . , c/λ n ]. 
         [0025]    A preferred aspect of the invention concerns a computer program, comprising computer-implementable instructions, which, when executed by a computer, cause the computer to carry out the method described hereinabove. 
         [0026]    Another preferred aspect of the invention relates to a time-of-flight distance-measuring device, comprising an electronic control unit with a memory, the memory having stored therein a computer program as described hereinabove, the electronic control unit being configured to execute the computer program when determining a distance. 
         [0027]    Yet another preferred aspect of the invention relates to a to a time-of-flight distance-measuring device, comprising an FPGA (field-programmable gate array) or ASIC (application-specific integrated circuit) configured and arranged to carry out the method described hereinabove. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0028]    Preferred, non-limiting, embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which: 
           [0029]      FIG. 1  is a graph illustrating phase couples (φ 1 , φ 2 ) obtainable through ideal phase measurements at two different modulation frequencies for distances between 0 and a maximum distance; 
           [0030]      FIG. 2  is a graph illustrating phase triples (φ 1 , φ 2 , φ 3 ) obtainable through ideal phase measurements at three different modulation frequencies for distances between 0 and a maximum distance; 
           [0031]      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; 
           [0032]      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; 
           [0033]      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; 
           [0034]      FIG. 6  is a schematic illustration of a preferred embodiment of a 3D-TOF camera 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0035]    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: 
         [0000]    
       
         
           
             
               ϕ 
               = 
               
                 mod 
                  
                 
                   ( 
                   
                     
                       
                         
                           d 
                           · 
                           4 
                         
                          
                         
                           π 
                           · 
                           f 
                         
                       
                       c 
                     
                     , 
                     
                       2 
                        
                       π 
                     
                   
                   ) 
                 
               
             
             , 
           
         
       
     
         [0000]    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. 
         [0036]    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: 
         [0000]    
       
         
           
             
               d 
               u 
             
             = 
             
               
                 c 
                 
                   2 
                    
                   
                       
                   
                    
                   f 
                 
               
               . 
             
           
         
       
     
         [0037]    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. 
         [0038]    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. 
         [0039]    To illustrate this problem for a 2-frequency measurement,  FIG. 1  shows the relation between ideally measured (i.e. not affected by noise) phases φ 1  and φ 2 , respectively corresponding to modulation frequencies f 1  and f 2 , when the unknown distance ranges between 0 and the required usable distance measurement range. For  FIG. 1 , f 1  and f 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 φ 1  and φ 2  “wrap around” each time they arrive at 2π (illustrated by dashed lines). If no noise is present on the measurements, the point (φ 1 , φ 2 ) defined by the measured phases φ 1  and φ 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 (φ)} 1 , {tilde over (φ)} 2 ) may differ from the a priori unknown ideal point (φ 1 , φ 2 ) and be located in the “forbidden areas” between the line segments. If the noise is sufficiently high, the measured point ({tilde over (φ)} 1 , {tilde over (φ)} 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 1  and f 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. 
         [0040]    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 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. 
         [0041]    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. 
         [0042]    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 1 , . . . , f 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 1 =10 MHz, f 2 =11 MHz and f 3 =13 MHz) the following table results: 
         [0000]                                                                                                                        nwrap 1     0   0   0   1   1   1   2   2   2   3   3   3   3   4   4   4   5   5   5   6   6   6       nwrap 2     0   0   1   1   1   2   2   2   3   3   3   4   4   4   5   5   5   5   6   6   6   7       nwrap 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 1  is the wraparound count of φ 1  for frequency f 1 , nwrap 2  the wraparound count of φ 2  for frequency f 2  and nwrap 3  the wraparound count of φ 3  for frequency f 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&#39;s non volatile memory, as the only information needed are the n frequencies and the required usable distance measurement range, which are known beforehand.
 
         [0043]    For each row i and column j in the table, a distance hypothesis may be calculated as: 
         [0000]    
       
         
           
             
               d 
               ij 
             
             = 
             
               
                 
                   ( 
                   
                     
                       ϕ 
                       i 
                     
                     + 
                     
                       
                         
                           nwrap 
                           ij 
                         
                         · 
                         2 
                       
                        
                       π 
                     
                   
                   ) 
                 
                 · 
                 c 
               
               
                 4 
                  
                 
                   π 
                   · 
                   
                     f 
                     i 
                   
                 
               
             
           
         
       
     
         [0044]    During the measurement, a phase n-tuple [φ 1 , . . . , φ 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 ij  (step  304 ). 
         [0045]    Then, the optimal column j 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 ij  in the column is minimal. The variance σ j   2  of each wraparound count combination j may be calculated (step  305 ) as: 
         [0000]    
       
         
           
             
               σ 
               j 
               2 
             
             = 
             
               
                 
                   1 
                   n 
                 
                  
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     n 
                   
                    
                   
                       
                   
                    
                   
                     d 
                     ij 
                     2 
                   
                 
               
               - 
               
                 
                   1 
                   n 
                 
                  
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     n 
                   
                    
                   
                       
                   
                    
                   
                     d 
                     ij 
                   
                 
               
             
           
         
       
     
         [0000]    and the minimum variance be determined (step  306 ). 
         [0046]    The ratio of the standard deviation (found for j_opt) to the minimum line segment distance h 1  can be used as an indicator of the confidence level of the distance measurement (the smaller the ratio the better). 
         [0047]    Finally, the mean (average) 
         [0000]    
       
         
           
             
               〈 
               
                 d 
                 j_opt 
               
               〉 
             
             = 
             
               
                 1 
                 n 
               
                
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   n 
                 
                  
                 
                     
                 
                  
                 
                   d 
                   ij_opt 
                 
               
             
           
         
       
     
         [0000]    of the distances d ij     —     opt  of the column j_opt serves as an estimation of the unknown distance (step  307 ). 
         [0048]    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&#39;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&#39;s detection range. The minimum line segment distance value (hereinafter noted h 2 ) that is found (step  403 ) is kept and used in the application to check the confidence level of the measured phase n-tuple.
   
 
         [0051]    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: 
         [0000]                                                                nwrap 1     0   0   0   1   1           nwrap 2     0   0   1   1   1           nwrap 3     0   1   1   1   2                        
where nwrap 1  is again the wraparound count of φ 1  for frequency f 1 , nwrap 2  the wraparound count of φ 2  for frequency f 2  and nwrap 3  the wraparound count of φ 3  for frequency f 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&#39;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.
 
         [0052]    Using the wraparound count table above, the column which best unwraps the n-tuple of measured phases [(φ 1 , . . . , φ n ], leading to an optimal estimation of the unknown distance, is searched for. 
         [0053]    The online calculation starts with the providing of the phase measurements (step  405 ), which may be represented as phase n-tuple [φ 1 , . . . , φ 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 [(φ 1 , . . . , φ n ]), the unwrapped phase is calculated (step  406 ) using the formula: 
         [0000]      φ′ ij   =+n wrap ij ·2π.
 
         [0054]    Then, for each column j, the gap g j  in the n-dimensional phase space between the unwrapped phase n-tuple [φ′ ij , . . . φ nj ] and the origin-crossing straight line having the direction vector 
         [0000]      {right arrow over (u)}=[f 1 , . . . , f n ]=[c/λ 1 , . . . , c/λ n ]
 
         [0000]    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 [(φ′ 1j , . . . , φ nj ], which we will designate by {right arrow over (φ)}′ j  for simplicity, and the normalized vector {right arrow over (u)}: 
         [0000]    
       
         
           
             
               g 
               j 
             
             = 
             
                
               
                 
                   
                     ϕ 
                     → 
                   
                   j 
                   ′ 
                 
                 × 
                 
                   
                     u 
                     → 
                   
                   
                      
                     
                       u 
                       → 
                     
                      
                   
                 
               
                
             
           
         
       
     
         [0000]    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 ). 
         [0055]    Then, the smallest g j  (hereinafter denoted g j     —     opt ) is searched among all the g j , (step  408 ) and then the unwrapped phase n-tuple {right arrow over (φ)}′ j     —     opt =[φ′ 1j     —     opt , . . . , φ′ nj     —     opt ] corresponding to g j     —     opt  is selected. 
         [0056]    g j     —     opt  is compared (step  409 ) with h 2 /2 found in the frequency selection process described above. If g j     —     opt &lt;h 2 /2, then the distance to be determined lies within the required measurement range, if g j     —     opt ≧h 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 ). 
         [0057]    Preferably, the squares of the g j  are computed instead because doing this is computationally less expensive. g j     —     opt   2  is then compared with the offline computed parameter h 2   2 /4. 
         [0058]    The unknown distance d est  is finally computed by projecting the found unwrapped phase n-tuple {right arrow over (φ)}′ j     —     opt =[φ′ 1j     —     opt , . . . , φ′ 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. 
         [0059]    Noting 
         [0000]    
       
         
           
             
               
                 ϕ 
                 → 
               
               est 
               ′ 
             
             = 
             
               
                 1 
                 
                   
                      
                     
                       u 
                       → 
                     
                      
                   
                   2 
                 
               
                
               
                 ( 
                 
                   
                     
                       ϕ 
                       → 
                     
                     j_opt 
                     ′ 
                   
                   · 
                   
                     u 
                     → 
                   
                 
                 ) 
               
                
               
                 u 
                 → 
               
             
           
         
       
     
         [0000]    the projection of the found unwrapped phase n-tuple {right arrow over (φ)}′ j     —     opt =[φ′ 1j     —     opt , . . . , φ′ 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: 
         [0000]    
       
         
           
             
               d 
               est 
             
             = 
             
               
                 
                   
                      
                     
                       
                         ϕ 
                         → 
                       
                       est 
                       ′ 
                     
                      
                   
                   · 
                   c 
                 
                 
                   4 
                    
                   
                     π 
                     · 
                     
                        
                       
                         u 
                         → 
                       
                        
                     
                   
                 
               
               . 
             
           
         
       
     
         [0060]    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 1 , f 2 , f 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)}: 
         [0061]    With {right arrow over (v)}={right arrow over (u)}/∥{right arrow over (u)}∥, {right arrow over (n)} may be expressed as: 
         [0000]    
       
         
           
             
               n 
               → 
             
             = 
             
               
                 
                   
                     v 
                     → 
                   
                   × 
                   
                     i 
                     → 
                   
                 
                 
                    
                   
                     
                       v 
                       → 
                     
                     × 
                     
                       i 
                       → 
                     
                   
                    
                 
               
               . 
             
           
         
       
     
         [0062]    The angle can be calculated as: α=arccos({right arrow over (v)}•{right arrow over (i)}). 
         [0063]    The rotation matrix R, which performs the rotation operation described above is defined by: 
         [0000]    
       
         
           
             
               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 
                            
                           
                               
                           
                            
                           α 
                         
                       
                     
                   
                 
                 ) 
               
             
             , 
           
         
       
     
         [0064]    with {right arrow over (n)}=(n 1 , n 2 , n 3 ). 
         [0065]    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 2  (step  505 ). 
         [0066]    The online calculation begins with providing the n phase measurements (step  506 ). Instead of calculating, for each column j, the gap g j  in the n-dimensional phase space between the unwrapped phase n-tuple (φ′ 1j , . . . , φ′ nj ) and the origin-crossing straight line having the direction vector {right arrow over (u)}=[f 1 , . . . , f n ], in this implementation, one calculates, for each column j, the gap g′ j  between the rotated unwrapped phase n-tuple R[φ′ 1j , . . . φ′ nj ]=R{right arrow over (φ′)} j  and the x-axis (i.e. the rotated origin-crossing straight line having {right arrow over (u)}=[f 1 , . . . , f n ] as direction vector). Since the rotation does not change the measures, g′ j =g j . 
         [0067]    The rotated unwrapped phase n-tuple {right arrow over (φ)}″ j  may be calculated (step  507 ) as: 
         [0000]      {right arrow over (φ)}″ j   =R{right arrow over (φ)}′   j   =R{right arrow over (φ)}+R {right arrow over ( n wrap)} j ·2π,
 
         [0000]    Where {right arrow over (nwrap)} j  is the j-th column vector of the phase wraparound table. It is worthwhile noting that R{right arrow over (nwrap)} j ·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. 
         [0068]    It shall also be noted that the gap g j  depends only on the second and third coordinates of {right arrow over (φ)}″ j , which we denote by ({right arrow over (φ)}″ j ) 2  and ({right arrow over (φ)}″ j ) 3 . For the square of the gap g j , the following equation holds: 
         [0000]        g   j   2 =({right arrow over (φ)}″ j ) 2   2 +({right arrow over (φ)}″ j ) 3   2 .
 
         [0069]    The smallest gap is searched for among all the g j . The smallest gap found, g j     —     opt , is compared with h 2 /2 found in the offline frequency selection process. If g j     —     opt &lt;h 2 /2, then the distance to be determined lies within the required measurement range, if t j     —     opt ≧h 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 j  (step  508 ). In this case, the smallest squared gap is searched for among all the g j   2  (step  509 ), and the value found, g j     —     opt   2 , is compared with the offline computed parameter h 2   2 /4 (step  510 ). If g j     —     opt   2 ≧(h 2 /2) 2 , the rotated unwrapped phase n-tuple {right arrow over (φ)}″ 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 ). 
         [0070]    The unknown distance d est  is computed by orthogonally projecting the rotated unwrapped phase n-tuple {right arrow over (φ)}″ j     —     opt  onto the x-axis (i.e. the rotated origin-crossing line with direction vector {right arrow over (u)}). Noting ({right arrow over (φ)}″ j     —     opt ) 1  the first coordinate of {right arrow over (φ)}″ j     —     opt , the projected point has (({right arrow over (φ)}″ j     —     opt ) 1 , 0, 0) as coordinates. 
         [0071]    The distance can finally be estimated (step  512 ) as: 
         [0000]    
       
         
           
             
               d 
               est 
             
             = 
             
               
                 
                   
                     
                       ( 
                       
                         
                           ϕ 
                           → 
                         
                         j_opt 
                         ″ 
                       
                       ) 
                     
                     1 
                   
                   · 
                   c 
                 
                 
                   4 
                    
                   
                     π 
                     · 
                     
                        
                       
                         u 
                         → 
                       
                        
                     
                   
                 
               
               . 
             
           
         
       
     
         [0072]    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. 
         [0073]    When using the first implementation and using the parameters given as example, an initial scaling of [φ 1 , φ 2 , φ 3 ] in order to reduce the computational effort in calculating the distance hypotheses d 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. 
         [0074]    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. 
         [0075]    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. 
         [0076]    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. 
         [0077]      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. 
         [0078]    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 . 
         [0079]    When operating, the signal source  24  generates a modulation signal E 1  on its output and feeds this modulation signal E 1  to the illumination driver  22 . The latter drives the illumination unit  12  with a drive signal E 2  to emit an intensity-modulated light signal L 1  into a target scene comprising an object  30  (for illustration purposes). The modulated light signal L 1  is partially reflected by the object  30  so as to form a returning light signal L 2  which is received as incident light by the imaging sensor  14 . The modulation signal E 1  is also fed to the photo gate driver  26 , which provides a demodulation signal E 3 . The imaging sensor  14  receives this demodulation signal E 3  and produces a phase information signal E 4 , which is fed to the evaluation unit  28 . The signal source  24  cycles through the plurality of different modulation frequencies f 1 , . . . , f n . 
         [0080]    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 E 5 , 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 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. 
         [0081]    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. 
         [0082]    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.