PATENT DOCUMENT

Publication Number: US-11500094-B2
Application Number: US-202016885316-A
Country: US
Kind Code: B2

Title: Selection of pulse repetition intervals for sensing time of flight

Abstract:
Sensing apparatus includes a radiation source, which emits pulses of optical radiation toward multiple points in a target scene. A receiver receives the optical radiation that is reflected from the target scene and outputs signals that are indicative of respective times of flight of the pulses to and from the points in the target scene. Processing and control circuitry selects a first pulse repetition interval (PRI) and a second PRI, greater than the first PRI, from a permitted range of PRIs, drives the radiation source to emit a first sequence of the pulses at the first PRI and a second sequence of the pulses at a second PRI, and processes the signals output in response to both the first and second sequences of the pulses in order to compute respective depth coordinates of the points in the target scene.

Claims:
The invention claimed is: 
     
       1. Sensing apparatus, comprising:
 a radiation source, which is configured to emit pulses of optical radiation toward multiple points in a target scene; 
 a receiver, which is configured to receive the optical radiation that is reflected from the target scene and to output signals, responsively to the received optical radiation, that are indicative of respective times of flight of the pulses to and from the points in the target scene; 
 a radio transceiver, which communicates over the air by receiving signals in an assigned frequency band; and 
 processing and control circuitry, which is configured to select a first pulse repetition interval (PRI) and a second PRI, greater than the first PRI, from a permitted range of PRIs, wherein the processing and control circuitry is configured to identify the permitted range of the PRIs responsively to the assigned frequency band, and to drive the radiation source to emit a first sequence of the pulses at the first PRI and a second sequence of the pulses at a second PRI, and to process the signals output by the receiver in response to both the first and second sequences of the pulses in order to compute respective depth coordinates of the points in the target scene. 
 
     
     
       2. The apparatus according to  claim 1 , wherein the radiation source comprises an array of vertical-cavity surface-emitting lasers (VCSELs). 
     
     
       3. The apparatus according to  claim 1 , wherein the radiation source comprises an array of emitters, which are arranged in multiple banks, and wherein the processing and control circuitry is configured to drive the multiple banks sequentially so that each bank emits respective first and second sequences of the pulses at the first and second PRIs. 
     
     
       4. The apparatus according to  claim 1 , wherein the receiver comprises an array of single-photon avalanche diodes (SPADs). 
     
     
       5. The apparatus according to  claim 1 , wherein the first PRI defines a range limit, at which a time of flight of the pulses is equal to the first PRI, and wherein the processing and control circuitry is configured to compare the signals output by the receiver in response to the first and second sequences of pulses in order to distinguish the points in the scene for which the respective depth coordinates are less than the range limit from the points in the scene for which the respective depth coordinates are greater than the range limit, thereby resolving range folding of the depth coordinates. 
     
     
       6. The apparatus according to  claim 5 , wherein the processing and control circuitry is configured to compute, for each of the points in the scene, respective first and second histograms of the times of flight of the pulses in the first and second sequences, and to detect that range folding has occurred at a given point responsively to a difference between the first and second histograms. 
     
     
       7. The apparatus according to  claim 1 , wherein the permitted range is defined so that the PRIs in the permitted range have no harmonics within the assigned frequency band. 
     
     
       8. The apparatus according to  claim 1 , wherein the processing and control circuitry is configured to modify the permitted range in response to a change in the assigned frequency band of the radio transceiver, and select new values of one or both of the first PRI and the second PRI so that the new values fall within the modified range. 
     
     
       9. The apparatus according to  claim 1 , wherein the processing and control circuitry is configured to store a record of multiple groups of the PRIs, to identify an operating environment of the apparatus, and to select one of the groups to apply in driving the radiation source responsively to the identified operating environment. 
     
     
       10. The apparatus according to  claim 9 , wherein the processing and control circuitry is configured to select the one of the groups responsively to a geographical region in which the apparatus is operating. 
     
     
       11. The apparatus according to  claim 9 , wherein the groups of the PRIs have respective priorities that are assigned responsively to a likelihood of interference with frequencies used by the radio transceiver, and wherein the processing and control circuitry is configured to select the one of the groups responsively to the respective priorities. 
     
     
       12. The apparatus according to  claim 9 , wherein the PRIs in each group are co-prime with respect to the other PRIs in the group. 
     
     
       13. The apparatus according to  claim 1 , wherein the processing and control circuitry is configured to select a third PRI, greater than the second PRI, from the permitted range of the PRIs, and to drive the radiation source to emit a third sequence of the pulses at the third PRI, and to process the signals output by the receiver in response to the first, second and third sequences of the pulses in order to compute the respective depth coordinates of the points in the target scene. 
     
     
       14. The apparatus according to  claim 1 , wherein the processing and control circuitry is configured to select the first and second PRIs so as to maximize a range of the depth coordinates while maintaining a resolution of the depth coordinates to be no greater than a predefined resolution limit. 
     
     
       15. A method for sensing, comprising:
 selecting a first pulse repetition interval (PRI) and a second PRI, greater than the first PRI, from a permitted range of PRIs; 
 driving a radiation source to emit a first sequence of pulses of optical radiation at the first PRI and a second sequence of the pulses of the optical radiation at the second PRI toward each of multiple points in a target scene; 
 receiving the optical radiation that is reflected from the target scene and outputting signals, responsively to the received optical radiation, that are indicative of respective times of flight of the pulses to and from the points in the target scene; and 
 processing the signals output in response to both the first and second sequences of the pulses in order to compute respective depth coordinates of the points in the target scene, 
 wherein selecting the first PRI and the second PRI comprises identifying a permitted range of the PRIs responsively to an assigned frequency band of a radio transceiver, which communicates over the air in the assigned frequency band in proximity to the radiation source, and choosing the first PRI and the second PRI from the permitted range. 
 
     
     
       16. The method according to  claim 15 , wherein the first PRI defines a range limit, at which a time of flight of the pulses is equal to the first PRI, and wherein processing the signals comprises comparing the signals output in response to the first and second sequences of pulses in order to distinguish the points in the scene for which the respective depth coordinates are less than the range limit from the points in the scene for which the respective depth coordinates are greater than the range limit, thereby resolving range folding of the depth coordinates. 
     
     
       17. The method according to  claim 15 , wherein the permitted range is defined so that the PRIs in the permitted range have no harmonics within the assigned frequency band. 
     
     
       18. The method according to  claim 15 , and comprising selecting a third PRI, greater than the second PRI, from the permitted range of the PRIs, wherein driving the radiation source comprises directing a third sequence of the pulses at the third PRI toward the target scene, and wherein processing the signals comprises using the signals that are output in response to the first, second and third sequences of the pulses in order to compute the respective depth coordinates of the points in the target scene.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims the benefit of U.S. Provisional Patent Application 62/859,211, filed Jun. 10, 2019, which is incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to systems and methods for depth mapping, and particularly to beam sources used in time-of-flight (ToF) sensing. 
     BACKGROUND 
     Existing and emerging consumer applications have created an increasing need for real-time three-dimensional (3D) imagers. These imaging devices, also known as depth sensors or depth mappers, enable the remote measurement of distance (and often intensity) to each point in a target scene—referred to as target scene depth—by illuminating the target scene with an optical beam and analyzing the reflected optical signal. A commonly-used technique to determine the distance to each point on the target scene involves transmitting one or more pulsed optical beams towards the target scene, followed by the measurement of the round-trip time, i.e. time-of-flight (ToF), taken by the optical beams as they travel from the source to the target scene and back to a detector array adjacent to the source. 
     Some ToF systems use single-photon avalanche diodes (SPADs), also known as Geiger-mode avalanche photodiodes (GAPDs), in measuring photon arrival time. 
     SUMMARY 
     Embodiments of the present invention that are described hereinbelow provide improved depth mapping systems and methods for operating such systems. 
     There is therefore provided, in accordance with an embodiment of the invention, sensing apparatus, including a radiation source, which is configured to emit pulses of optical radiation toward multiple points in a target scene. A receiver is configured to receive the optical radiation that is reflected from the target scene and to output signals, responsively to the received optical radiation, that are indicative of respective times of flight of the pulses to and from the points in the target scene. Processing and control circuitry is configured to select a first pulse repetition interval (PRI) and a second PRI, greater than the first PRI, from a permitted range of PRIs, and to drive the radiation source to emit a first sequence of the pulses at the first PRI and a second sequence of the pulses at a second PRI, and to process the signals output by the receiver in response to both the first and second sequences of the pulses in order to compute respective depth coordinates of the points in the target scene. 
     In a disclosed embodiment, the radiation source includes an array of vertical-cavity surface-emitting lasers (VCSELs). Additionally or alternatively, the radiation source includes an array of emitters, which are arranged in multiple banks, and the processing and control circuitry is configured to drive the multiple banks sequentially so that each bank emits respective first and second sequences of the pulses at the first and second PRIs. Further additionally or alternatively, the sensing elements include single-photon avalanche diodes (SPADs). 
     In some embodiments, the first PRI defines a range limit, at which a time of flight of the pulses is equal to the first PRI, and the processing and control circuitry is configured to compare the signals output by the receiver in response to the first and second sequences of pulses in order to distinguish the points in the scene for which the respective depth coordinates are less than the range limit from the points in the scene for which the respective depth coordinates are greater than the range limit, thereby resolving range folding of the depth coordinates. In one such embodiment, the processing and control circuitry is configured to compute, for each of the points in the scene, respective first and second histograms of the times of flight of the pulses in the first and second sequences, and to detect that range folding has occurred at a given point responsively to a difference between the first and second histograms. 
     In some embodiments, the apparatus includes one or more radio transceivers, which communicate over the air by receiving signals in at least one assigned frequency band, wherein the processing and control circuitry is configured to identify the permitted range of the PRIs responsively to the assigned frequency band. Typically, the permitted range is defined so that the PRIs in the permitted range have no harmonics within the assigned frequency band. Additionally or alternatively, the processing and control circuitry is configured to modify the permitted range in response to a change in the assigned frequency band of the radio transceiver, and select new values of one or both of the first PRI and the second PRI so that the new values fall within the modified range. 
     In a disclosed embodiment, the processing and control circuitry is configured to store a record of multiple groups of the PRIs, to identify an operating environment of the apparatus, and to select one of the groups to apply in driving the radiation source responsively to the identified operating environment. The processing and control circuitry can be configured to select the one of the groups responsively to a geographical region in which the apparatus is operating. Additionally or alternatively, the groups of the PRIs have respective priorities that are assigned responsively to a likelihood of interference with frequencies used by the radio transceiver, and the processing and control circuitry is configured to select the one of the groups responsively to the respective priorities. In one embodiment, the PRIs in each group are co-prime with respect to the other PRIs in the group. 
     In another embodiment, the processing and control circuitry is configured to select a third PRI, greater than the second PRI, from the permitted range of the PRIs, and to drive the radiation source to emit a third sequence of the pulses at the third PRI, and to process the signals output by the receiver in response to the first, second and third sequences of the pulses in order to compute the respective depth coordinates of the points in the target scene. 
     Additionally or alternatively, the processing and control circuitry is configured to select the first and second PRIs so as to maximize a range of the depth coordinates while maintaining a resolution of the depth coordinates to be no greater than a predefined resolution limit. 
     There is also provided, in accordance with an embodiment of the invention, a method for sensing, which includes selecting a first pulse repetition interval (PRI) and a second PRI, greater than the first PRI, from a permitted range of PRIs. A radiation source is driven to emit a first sequence of pulses of optical radiation at the first PRI and a second sequence of the pulses of the optical radiation at the second PRI toward each of multiple points in a target scene. The optical radiation that is reflected from the target scene is received, and signals are output, responsively to the received optical radiation, that are indicative of respective times of flight of the pulses to and from the points in the target scene. The signals are processed in response to both the first and second sequences of the pulses in order to compute respective depth coordinates of the points in the target scene. 
     The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which: 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram that schematically illustrates a mobile communication device with a depth mapping camera, in accordance with an embodiment of the invention; 
         FIG. 2  is a schematic side view of a depth mapping camera, in accordance with an embodiment of the invention; 
         FIG. 3  is a schematic frontal view of an array of emitters that can be used in a depth mapping camera, in accordance with an embodiment of the invention; 
         FIGS. 4A, 4B, 4C and 4D  are plots that schematically show timing signals in a depth mapping camera, in accordance with embodiments of the invention; 
         FIG. 5  is a block diagram that schematically illustrates the operation of a depth mapping camera using multiple banks of emitters, in accordance with an embodiment of the invention; 
         FIG. 6  is a plot that schematically illustrates harmonic frequencies of a pair of pulse repetition intervals, selected with reference to a cellular communication band, in accordance with an embodiment of the invention; 
         FIG. 7  is a flow chart that schematically illustrates a method for selecting pulse repetition intervals for use in depth mapping, in accordance with an embodiment of the invention; and 
         FIG. 8  is a flow chart that schematically illustrates a method for selecting pulse repetition intervals for use in depth mapping, in accordance with another embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     Overview 
     Embodiments of the present invention provide ToF-based depth sensing apparatus, in which a radiation source emits pulses of optical radiation toward multiple points in a target scene. (The term “optical radiation” is used interchangeably with the term “light” in the context of the present description and the claims, to mean electromagnetic radiation in any of the visible, infrared and ultraviolet spectral ranges.) A receiver receives the optical radiation reflected from the target scene and outputs signals that are indicative of the respective times of flight of the pulses to and from the points in the target scene. Processing and control circuitry drives the radiation source and processes the signals output by the receiver in order to compute respective depth coordinates of the points in the target scene. 
     Apparatus of this sort often suffers from problems of low signal/noise ratio (SNR). To increase the SNR, the processing and control circuitry collects and analyzes signals from the receiver over sequences of many pulses that are emitted by the radiation source. In some cases, the processing and control circuitry computes histograms of the times of flight of the sequences of pulses that are reflected from each point in the target scene, and uses analysis of the histogram (e.g., the mode of the histogram at each point) as an indicator of the corresponding depth coordinate. To generate and output the depth coordinates at a reasonable frame rate (for example, 30 frames/sec), while collecting signals over sequences of many pulses, it is desirable that the radiation source emit the sequences of pulses at a high pulse repetition frequency (PRF), or equivalently, with a low pulse repetition interval (PRI). For example, the radiation source may output pulses of about 1 ns duration, with a PRI of 40-50 ns. 
     The use of a short PRI, however, gives rise to problems of range folding: Because optical radiation propagates at approximately 30 cm/ns, when a pulse emitted in a sequence with PRI of 40 ns reflects from an object that is more than about 6 m away from the apparatus, the reflected radiation will reach the receiver only after the next pulse has already been emitted by the radiation source. The processing and control circuitry will then be unable to determine whether the received radiation originated from the most recent emitted pulse, due to reflection from a nearby object, or from a pulse emitted earlier in the sequence, due to a distant object. The PRI thus effectively defines a range limit, which is proportional to the PRI and sets an upper bound on the distance of objects that can be sensed by the apparatus. 
     Embodiments of the present invention address this problem by using two or more different PRIs in succession. The processing and control circuitry selects (at least) first and second PRIs from a permitted range of PRIs. It then drives the radiation source to emit a first sequence of the pulses at the first PRI and a second sequence of the pulses at a second PRI, and processes the signals output by the receiver in response to both the first and second sequences of pulses in order to compute depth coordinates of the points in the target scene. The sequences may be transmitted one after the other, or they may be interleaved, with pulses transmitted in alternation at the first PRI and the second PRI. Although the embodiments described below mainly refer, for the sake of simplicity, to only first and second PRIs, the principles of these embodiments may be readily extended to three or more different PRIs. 
     More specifically, in order to resolve and disambiguate possible range folding, the processing and control circuitry compares the signals output by the receiver in response to the first sequence of pulses to those output in response to the second sequence, in order to distinguish the points in the scene for which the respective depth coordinates are less than the range limit defined by the PRI from the points in the scene for which the respective depth coordinates are greater than the range limit. For example, the processing and control circuitry may compute, for each of the points in the scene, respective first and second histograms of the times of flight of the pulses in the first and second sequences. For objects closer than the range limit, the two histograms will be roughly identical. Objects beyond the range limit, however, will give rise to different histograms in response to the different PRIs of the first and second pulse sequences. The processing and control circuitry is thus able to detect that range folding has occurred at each point in the target scene based on the similarity or difference between the first and second histograms at each point. 
     Another problem arises when the depth sensing apparatus is incorporated in a mobile communication device, such as a smartphone: The mobile communication device comprises at least one radio transceiver (and often multiple radio transceivers), which communicates over the air by receiving signals in an assigned frequency band, for example one of the bands defined by the ubiquitous LTE standards for cellular communications. Furthermore, the assigned frequency band will often change as the device roams from one cell to another. Meanwhile, the sequences of short, intense current pulses that are used to drive the radiation source at high PRF give rise to harmonics, some of which may fall within the assigned frequency band of the transceiver. The noise due to these harmonics can severely degrade the SNR of the radio transceiver. 
     To overcome this problem, in some embodiments of the present invention, the processing and control circuitry identifies a permitted range of the PRIs in a manner that avoids interference with the assigned frequency band of the radio transceiver, and selects the first and second PRI values to be within this permitted range. The permitted range is preferably defined, in other words, so that the PRIs in the permitted range will have no harmonics within the assigned frequency band. The permitted range may be defined, for example, as a list of permitted PRI values, or as a set of intervals within the PRI values may be chosen. Additionally or alternatively, multiple groups of two or more PRIs may be defined in advance and stored in a record held by the apparatus. The appropriate group can then be identified and used depending on the radio operating environment of the apparatus. 
     When the assigned frequency band of the radio transceiver changes, the processing and control circuitry will modify the permitted range or group of PRI values accordingly. When necessary, the processing and control circuitry will select new values of one or all of the PRIs so that the new values fall within the modified range. The PRIs may be selected, subject to these range constraints, by applying predefined optimization criteria, for example to maximize the range of the depth coordinates while maintaining the resolution of the depth coordinates at a value no greater than a predefined resolution limit. 
     As noted earlier, although some of the embodiments described herein relate, for the sake of simplicity, to scenarios using two PRI values, the principles of the present invention may similarly be applied to selection and use of three or more PRI values. The use of a larger number of PRI values, within different parts of the permitted range, can be useful in enhancing the range and resolution of depth mapping. 
     System Description 
       FIG. 1  is a block diagram that schematically illustrates a mobile communication device  10 , which includes a ToF-based depth camera  20 , in accordance with an embodiment of the invention. Device  10  is shown in  FIG. 1  as a smartphone, but the principles of the present invention may similarly be applied in any sort of device that carries out both radio communications (typically, although not exclusively, over cellular networks) and optical sensing at high pulse repetition rates. 
     Device  10  comprises multiple radio transceivers  12 , which transmit radio signals to and/or receive radio signals from respective networks. For LTE cellular networks, for example, the radio signals can be in any of a number of different frequency bands, typically in the range between 800 MHz and 3000 MHz, depending on territory and type of service. As device  10  roams, the frequency bands on which it transmits and receives signals will typically change. A frequency controller  14  in device  10  selects the frequencies to be used in radio communication by transceivers  12  at any given time. 
     Camera  20  senses depth by outputting trains of optical pulses toward a target scene and measuring the times of flight of the pulses that are reflected back from the scene to the camera. Details of the structure and operation of camera  20  are described with reference to the figures that follow. 
     Generation of the optical pulses emitted from camera  20  gives rise to substantial electrical noise within device  10  both at the pulse repetition frequency of camera  20  (PRF, which is the inverse of the pulse repetition interval, or PRI) and at harmonics of the PRF. To avoid interfering with the operation of transceivers  12 , frequency controller  14  provides camera  20  with a current range of permitted PRIs, whose harmonics fall entirely outside the frequency band or bands on which transceivers  12  are currently transmitting and receiving. (Alternatively, the frequency controller may notify the camera of the frequency band or bands on which the transceiver is currently transmitting and receiving, and the camera may itself derive the current range of permitted PRIs on this basis.) The range may have the form, for example, of a list of permitted PRIs (or equivalently, PRFs) or a set of intervals within which the PRI (or PRF) may be chosen. Camera  20  selects a pair of PRIs from the permitted range that will give optimal depth mapping performance, or possibly three or more PRIs, while thus avoiding interference with communications by device  10 . Details of the criteria and process for selection are explained below. 
       FIG. 2  is a schematic side view of depth camera  20 , in accordance with an embodiment of the invention. Camera  20  comprises a radiation source  21 , which emits M individual pulsed beams (for example, M may be on the order of 500). The radiation source comprises emitters arranged in a two-dimensional array  22 , which may be grouped into multiple banks (as shown in detail in  FIG. 3 ), together with beam optics  37 . The emitters typically comprise solid-state devices, such as vertical-cavity surface-emission lasers (VCSELs) or other sorts of lasers or light-emitting diodes (LEDs). The emitters are driven by a controller  26  to emit optical pulses at two different PRIs, as described further hereinbelow. 
     Beam optics  37  typically comprise a collimating lens and may comprise a diffractive optical element (DOE), which replicates the actual beams emitted by array  22  to create the M beams that are projected onto the scene  32 . (For example, an array of four banks with  16  VCSELs in a 4×4 arrangement in each bank may be used to create 8×8 beams, and a DOE may split each beam into 3×3 replicas to give a total of 24×24 beams.) For the sake of simplicity, these internal elements of beam optics  37  are not shown. 
     A receiver  23  in camera  20  comprises a two-dimensional detector array, such as SPAD array  24 , together with J processing units  28  and select lines  31  for coupling the processing units to the SPADs. A combining unit  35  passes the digital outputs of processing units  28  to controller  26 . SPAD array  24  comprises a number of detector elements N, which may be equal to M or possibly much larger than M, for example, 100×100 pixels or 200×200 pixels. The number J of processing units  28  depends on the number of pixels of SPAD array  24  to which each processing unit is coupled. 
     Array  22  emits M pulsed beams  30  of light, which are directed by beam optics  37  toward a target scene  32 . Although beams  30  are depicted in  FIG. 2  as parallel beams of constant width, each beam diverges as dictated by diffraction. Furthermore, beams  30  diverge from each other so as to cover a required area of scene  32 . Scene  32  reflects or otherwise scatters those beams  30  that impinge on the scene. The reflected and scattered beams are collected by objective optics  34 , represented by a lens in  FIG. 2 , which form an image of scene  32  on array  24 . Thus, for example, a small region  36  on scene  32 , on which a beam  30   a  has impinged, is imaged onto a small area  38  on SPAD array  24 . 
     A Cartesian coordinate system  33  defines the orientation of depth camera  20  and scene  32 . The x-axis and the y-axis are oriented in the plane of SPAD array  24 . The z-axis is perpendicular to the array and points to scene  32  that is imaged onto SPAD array  24 . 
     For clarity, processing units  28  are shown as if separate from SPAD array  24 , but they are commonly integrated with the SPAD array. Similarly, combining unit  35  is commonly integrated with SPAD array  24 . Processing units  28 , together with combining unit  35 , comprise hardware amplification and logic circuits, which sense and record pulses output by the SPADs in respective pixels or groups of pixels (referred to as “super-pixels”). These circuits thus measure the times of arrival of the photons that gave rise to the pulses, as well as the strengths of the optical pulses impinging on SPAD array  24 . 
     Processing units  28  together with combining unit  35  may assemble one or more histograms of the times of arrival of multiple pulses emitted by array  22 , and thus output signals that are indicative of the distance to respective points in scene  32 , as well as of signal strength. Circuitry that can be used for this purpose is described, for example, in U.S. Patent Application Publication 2017/0176579, whose disclosure is incorporated herein by reference. Alternatively or additionally, some or all of the components of processing units  28  and combining unit  35  may be separate from SPAD array  24  and may, for example, be integrated with controller  26 . For the sake of generality, controller  26 , processing units  28  and combining unit  35  are collectively referred to herein as “processing and control circuitry.” 
     Controller  26  is coupled to both radiation source  21  and receiver  23 . Controller  26  drives the banks of emitters in array  22  in alternation, at the appropriate PRIs, to emit the pulsed beams. The controller also provides to the processing and combining units in receiver  23  an external control signal  29 , and receives output signals from the processing and combining units. The output signals may comprise histogram data, and may be used by controller  26  to derive both times of incidence and signal strengths. Controller  26  calculates from the timing of the emission of beams  30  by VCSEL array  22  and from the times of arrival measured by the M processing units  28  the time-of-flight of the M beams, and thus maps the distance to the corresponding M points in scene  32 . 
     In some embodiments, in order to make optimal use of the available sensing and processing resources, controller  26  identifies the respective areas of SPAD array  24  on which the pulses of optical radiation reflected from corresponding regions of target scene  32  are imaged by lens  34 , and chooses the super-pixels to correspond to these areas. The signals output by sensing elements outside these areas are not used, and these sensing elements may thus be deactivated, for example by reducing or turning off the bias voltage to these sensing elements. 
     For clarity, the dimensions of emitter array  22  and SPAD array  24  have been exaggerated in  FIG. 2  relative to scene  32 . The lateral separation of emitter array  22  and SPAD array  24 , referred to as the “baseline,” is in reality much smaller than the distance from emitter array  22  to scene  32 . Consequently a chief ray  40  (a ray passing through the center of objective optics  34 ) from scene  32  to SPAD array  24  is nearly parallel to rays  30 , leading to only a small amount of parallax. 
     Controller  26  typically comprises a programmable processor, which is programmed in software and/or firmware to carry out the functions that are described herein. Alternatively or additionally, controller  26  comprises hard-wired and/or programmable hardware logic circuits, which carry out at least some of the functions of the controller. Although controller  26  is shown in the figure, for the sake of simplicity, as a single, monolithic functional block, in practice the controller may comprise a single chip or a set of two or more chips, with suitable interfaces for receiving and outputting the signals that are illustrated in the figure and are described in the text. 
     One of the functional units of controller  26  is a depth processing unit (DPU)  27 , which receives and processes signals from both processing units  28 . DPU  27  calculates the times of flight of the photons in each of beams  30 , and thus maps the distance to the corresponding points in target scene  32 . This mapping is based on the timing of the emission of beams  30  by emitter array  22  and from the times of arrival (i.e., times of incidence of reflected photons) measured by processing units  28 . DPU  27  makes use of the histograms accumulated at the two different PRIs of emitter array  22  in disambiguating any “range folding” that may occur, as explained below with reference to  FIG. 4 . Controller  26  typically stores the depth coordinates in a memory, and may output the corresponding depth map for display and/or further processing. 
       FIG. 3  is a schematic frontal view of emitter array  22  in beam source  21 , in accordance with an embodiment of the invention. Four banks  62   a ,  62   b ,  62   c  and  62   d  of vertical emitters  54  are interleaved as alternating vertical stripes on a substrate  64 , such as a semiconductor chip. Each bank comprises a number of stripes that alternate on the substrate with the stripes in the other banks. Alternatively, other interleaving schemes may be used. Emitters  54  emit respective beams  30  toward optics  37 , which collimate and project the beams toward the target scene. In a typical implementation, emitters  54  comprise VCSELs, which are driven by electrical pulses that are about 1 ns wide, with sharp rising and falling edges and with peak pulse currents in excess of 1 A, and with a PRI on the order of 40 ns. Alternatively, other timing and current parameters may be used, depending upon application requirements. 
     To enable selection and switching among the different banks, array  22  may be mounted on a driver chip (not shown), for example, a silicon chip with CMOS circuits for selecting and driving the individual VCSELs or banks of VCSELs. The banks of VCSELS in this case may be physically separated, for ease of fabrication and control, or they may be interleaved on the VCSEL chip, with suitable connections to the driver chip to enable actuating the banks in alternation. Thus, beams  30  likewise irradiate the target scene in a time-multiplexed pattern, with different sets of the beams impinging on the respective regions of the scene at different times. 
     As further alternatives to the pictured embodiments, array  22  may comprise a larger or smaller number of banks and emitters. Typically, for sufficient coverage of the target scenes with static (non-scanned) beams, array  22  comprises at least four banks  62 , with at least four emitters  54  in each bank, and possibly with a DOE for splitting the radiation emitted by each of the emitters. For denser coverage, array  22  comprises at least eight banks, with twenty emitters or more in each bank. These options enhance the flexibility of camera  20  in terms of time-multiplexing of the optical and electrical power budgets, as well as processing resources. 
     PRI Selection and Control 
       FIG. 4A  is a plot that schematically shows timing signals in depth camera  20 , in accordance with an embodiment of the invention. In this example, controller  26  has selected two different PRIs: PRI 1 =40 ns, and PRI 2 =44 ns. The controller drives emitters  54  to emit a sequences of pulses at PRI 1 , alternating with sequences of pulses at PRI 2 . PRI 1  gives rise to a range limit  75  roughly 6 m from camera  20 . In the embodiment shown in this figure, the times of flight of the pulses at PRI 1  and PR 2  are measured by time-to-digital converters (TDCs) with the same slope for both PRIs, meaning that the time resolution is the same at both PRIs. 
     In the pictured scenario, radiation source  22  transmits a pulse  70 . An object at a small distance (for example, 2.4 m from camera  20 ) returns a reflected pulse  72 , which reaches receiver  23  after a ToF of 16 ns. To measure the ToF, receiver  23  counts the time elapsed between transmitted pulse  70  and the receipt of reflected pulse  72 . The count value for the pulse sequence at PRI 1  is represented in  FIG. 4A  by a first sawtooth  76 , while the value for the pulse sequence at PRI 2  is represented by a second sawtooth  78 . The two sawtooth waveforms are identical in shape, but with an offset in the intervals between the successive waveforms due to the difference in PRI. Therefore, for reflected pulse  72 , the same ToF of 16 ns will be measured in both pulse sequences, at both PRI 1  and PRI 2 . Each sawtooth in this embodiment is followed by a reset period for the purpose of TDC resynchronization. 
     On the other hand, an object at a distance larger than the range limit (for example, 8.4 m from camera  20 ) will return a reflected pulse  74 , which reaches receiver  23  after a ToF of 56 ns. Pulse  74  thus reaches the receiver after radiation source  22  has already transmitted the next pulse in the sequence, and after the counters represented by sawtooth  76  and sawtooth  78  have been zeroed. Therefore, receiver  23  will record a ToF of 16 ns for pulse  74  during the sequence at PRI 1 . Because of the larger PRI during the sequence at PRI 2 , however, the receiver will record a ToF of 12 ns during this sequence. 
       FIGS. 4B and 4C  are plots that schematically show timing signals in depth camera  20 , in accordance with other embodiments of the invention. These timing scheme are similar in operation to that described above with reference to  FIG. 4A , but do not use a TDC reset period. In the embodiment of  FIG. 4B , the TDCs use the same count resolution (same maximum number of counts) for both sawtooth  76  at PRI 1  and the longer sawtooth  78  at PRI 2 . This approach is advantageous in reducing the number of memory bins that are used in histogram accumulation. In the embodiment of  FIG. 4C , the TDCs detect photon arrival times with the same absolute temporal resolution at both PRI 1  and PRI 2 , meaning that depth resolution can be enhanced, though at the expense of using a larger number of histogram bins. 
     Upon processing the ToF results in any of the above schemes, controller  26  will detect that that a certain point in scene  32  had two different ToF values during the pulse sequences at the two different PRI values. These two different ToF values are separated by the difference between the PRI values (4 ns). In this manner, controller  26  is able to detect that range folding has occurred at this point. Thus, the controller distinguishes the points in the scene whose respective depth coordinates are less than range limit  75  from the points in the scene whose respective depth coordinates are greater than the range limit, thereby resolving range folding of the depth coordinates. Depending on the difference between the PRI values (or equivalently, the beat frequency of the PRF values), controller  26  may be able to distinguish between different multiples of range limit  75  and thus extend the range of detection even farther. 
       FIG. 4D  is a plot that schematically shows timing signals in depth camera  20 , in accordance with yet another embodiment of the invention. In this example, controller  26  selects three or more different PRIs: PRI 1 , PRI 2 , PRI 3 , . . . , PRIk. The controller drives radiation source  22  to transmit pulses  70  at the different PRIs sequentially in alternation. The object in this case is assumed to be at a distance D (corresponding to a time of flight T), which is beyond the range-folding limit, so that each reflected pulse  72  reaches receiver  23  after the next transmitted pulse  70  has already been transmitted. In other words, each reflected pulse j reaches the receiver at a time Tj after pulse j+1 has been transmitted. The actual distance to the object is given (in terms of time of flight) by the formula: T=T 1 +PRI 1 =T 2 +PRI 2 =T 3 +PRI 3 . 
     Receiver  23  may experience a “dead zone” immediately after each transmitted pulse  70 , in which the receiver is unable to detect pulses reflected from target objects due to stray reflections within camera  20 . This dead zone is exemplified by the last reflected pulse k in  FIG. 4D , which reaches receiver  23  at a small time Tk following the next transmitted pulse. Controller  26  may consequently ignore signals output by the receiver within the dead zone. The use of three or more different PRIs, as in the present example, is advantageous in avoiding ambiguity due to dead zones of this sort and enhancing the accuracy of depth measurement. When three or more different PRIs are used, it is also possible to choose relatively shorter PRI values without risk of ambiguity due to range folding and dead zones, thus increasing the frequencies of the harmonics and reducing the probability of interference with radio transceivers  12  ( FIG. 1 ). 
     It is advantageous to choose the PRI values that are used together in the sort of scheme that is shown in  FIG. 4D  such that each PRI (PRI 1 , PRI 2 , PRI 3 , . . . ) is co-prime with respect to the other PRIs (meaning that the greatest common integer divisor of any pair of the PRIs is 1). In this case, in accordance with the Chinese Remainder Theorem, the given set of measurements T 1 , T 2 , T 3 , . . . , will have exactly one unique solution T, as in the formula presented above, regardless of range folding. 
       FIG. 5  is a block diagram that schematically illustrates the operation of camera  20  using multiple banks of emitters, in accordance with an embodiment of the invention, such as banks  62  of emitters  54  in  FIG. 3 . Controller  26  drives banks  62  sequentially so that each bank emits respective sequences of the pulses at the two different PRIs in succession. Alternatively, the principles of this embodiment may be extend to drive banks  62  to emit pulses at three or more different PRIs. 
       FIG. 5  shows the operation of camera  20  over a single frame  80  of depth map generation, for example a period of 33 ms. Frame  80  is divided into eight segments  82 ,  84 , . . . , with two successive segments allocated to each of the four banks  62   a ,  62   b ,  62   c  and  62   d . During the first segment  82 , the first bank (for example, bank  62   a ) transmits a sequence of pulse at intervals given by PRI 1 , followed by a sequence of pulses at intervals given by PRI 2  in segment  84 . During each such segment, receiver  23  generates ToF histograms for the pixels (or super-pixels) in SPAD array  24  that have received pulses reflected from points in target scene  32 . Thus, controller  26  will receive two ToF histograms in each frame  80  with respect to the points in scene  32  that are irradiated by bank  62   a . Controller  26  can then compare the two histograms in order to disambiguate any range folding, as explained above, and thus converts the ToF histograms into precise depth coordinates. 
     This process of transmitting pulse sequences at PRI 1  and PRI 2  is repeated for each of the other banks  62   b ,  62   c  and  62   d , and controller  26  thus receives the dual histograms and extracts depth coordinates for the corresponding sets of pixels in receiver  23 . Controller  26  combines the depth coordinates generated over all four banks of emitters in order to create and output a complete depth map of scene  32 . 
     Although  FIG. 5  illustrates capture of a frame of data by collecting histograms separately at PRI 1  and PRI 2 , in an alternative embodiment the ToF data can be collected in a concurrent or alternating fashion in the same histogram, which is read out only once for each bank (following block  84  in  FIG. 5 , for example). The histogram in this case will including peaks corresponding to both PRI values. The use of two histogram readouts, as in the embodiment of  FIG. 5 , provides more information in the sense that the histogram data can be unambiguously assigned to the particular PRI. Furthermore, because of shorter exposure times, the ToF data are less affected by ambient noise, thus improving range folding detectability. On the other hand, the additional readout required in this case, relative to the use of a single readout for both PRIs, consumes time and hence reduces the count of photons. 
       FIG. 6  is a plot that schematically illustrates harmonic frequencies  92 ,  94  of a pair of pulse repetition intervals, selected with reference to a cellular communication band  90 , in accordance with an embodiment of the invention. In this example, frequency controller  14  has received the assignment of band  90  in the frequency spectrum, and has output to camera  20  a list of permitted PRI values, which will not generate any harmonics within band  90 . Controller  26  selects the pulse rate intervals PRI 1  and PRI 2  from the list of permitted values. As a result, harmonic frequencies  92  and  94  fall entirely outside band  90 , thus minimizing any possible interference with the performance of transceiver  12 . 
       FIG. 7  is a flow chart that schematically illustrates a method for selecting pulse repetition intervals for use in depth mapping, in accordance with an embodiment of the invention. The method is described, for the sake of clarity and concreteness, with reference to the components of device  10  ( FIG. 1 ). The principles of this method, however, may similarly be applied in other devices that combine the functions of radio communication and pulsed range measurement. 
     Frequency controller  14  identifies the radio frequency band over which transceiver  12  is to communicate, at a frequency assignment step  100 . Based on this assignment, the frequency controller computes a list of PRIs with no harmonics in the assigned radio frequency band, at a PRI list generation step  102 . Alternatively, frequency controller  14  may compute and output available PRI values. Further alternatively, frequency controller  14  may convey the assignment of the radio frequency band to camera  20 , and controller  26  may then compute the list of available PRIs. 
     Controller  26  of camera  20  selects a first PRI value (PRI 1 ) from the list, at a first PRI selection step  104 , and selects a second PRI value (PRI 2 ) at a second PRI selection step  106 . Optionally, controller  26  may choose one or more additional PRI values, up to PRIk, at a further PRI selection step  107 . The controller may apply any suitable optimization criteria in choosing the PRI values. For example, controller  26  may select PRI 1  and PRI 2  so as to optimize SNR and maximize the range of the depth coordinates that can be measured by camera  20 , while maintaining a resolution of the depth coordinates to be no greater (i.e., no worse) than a predefined resolution limit. Criteria that may be applied in this regard include:
         Optimizing PRI difference to maximize detectability and measurability at long ranges, while setting a lower bound on the PRIs depending on the minimum range to be covered.   Optimizing compatibility with radio transceiver  12 , including:
           Guaranteeing no interference with transceiver  12 .   Exploiting a-priori knowledge of cellular frequency channel changes (based on probabilities of channel use in certain environments, if possible).   Choosing PRIs that cover diverse wireless channels from a statistical point of view, in order to minimize potential reassignments of PRIs.   Using PRIs that avoid the need to switch internal synchronization circuits within device  10  whenever possible, in order to avoid acquisition delays and timing changes that may introduce transient depth errors.   Whenever internal synchronization frequencies needs to change, minimizing the step size in order to minimize transient depth errors.
 
The above criteria are presented only by way of example, and alternative optimization criteria may be used, depending on system design and operational environment. A systematic method for selecting groups of PRI values that can be used together advantageously is described hereinbelow with reference to  FIG. 8 .
   
               

     Following the choice of PRI values, camera  20  captures depth data by emitting sequences of pulses at PRI 1  and PRI 2  in succession, as explained above, at a depth mapping step  108 . 
     Camera  20  typically continues operating with the selected pair of PRI values, until frequency controller  14  assigns a new frequency band for communication by transceiver  12 , at a new frequency assignment step  110 . In this case, the method returns to step  100 , where the frequency controller  14  modifies the permitted PRI range of camera  20 . Controller  26  will then select new values of one or both of PRI 1  and PRI 2 , so that the new values fall within the modified range. Operation of camera  20  continues using these new values. 
       FIG. 8  is a flow chart that schematically illustrates a method for selecting pulse repetition intervals for use in depth mapping, in accordance with another embodiment of the invention. As noted earlier, the principles of this specific method may be integrated into the more general methods that are described above. 
     Specifically, the method of  FIG. 8  constructs groups of mutually-compatible PRI values and enables controller  26  to store a record of these groups. (The method may be carried out by controller  26  itself, but more typically, the record could be generated off-line by a general-purpose computer and then stored in a memory that can be accessed by the controller.) At any given time, controller  26  can then identify the operating environment of mobile communication device  10 , such as the geographical region in which the device is operating, and can select the PRI group to apply in driving radiation source  21  based on the characteristics of the operating environment. For example, if controller  26  finds that certain frequency bands are commonly used for radio communication in a given environment, the controller may then select a group of PRIs so as to reduce the likelihood of interference with these frequency bands. The controller may derive this information, for example, by analyzing the operation of transceiver  12  or on the basis of information received from external sources. 
     In typical use, mobile communication device  10  comprises multiple transceivers, which operate concurrently in different frequency bands, such as the Global Position System (GPS) operating in the range of 1.5-1.7 GHz; wireless local area networks (Wi-Fi) operating on channels around 2.4 GHz and 5 GHz; and various cellular bands between 600 MHz and 5 GHz. In choosing the groups of PRI values, controller  26  can give priority to certain frequencies, so that PRIs with harmonics in high-priority radio bands are avoided. For example, because GPS signals are weak and require sensitive receivers, the GPS band will have high priority. Cellular channels that are used in critical signaling, as well as the lower ranges of cellular frequencies, which are more susceptible to interference, may be prioritized, as well. Wi-Fi channels may have lower priority, as long as for any given group of PRI values, there is at least one Wi-Fi channel that is free of interference. 
     In the method of  FIG. 8 , the computer begins by compiling a list of all possible PRI values that can be supported by camera  20 , at a PRI compilation step  120 . The computer then eliminates certain PRI values whose harmonics are liable to cause electromagnetic interference (EMI) on certain target radio frequencies, at a PRI elimination step  122 . For example, the computer may eliminate:
         PRI values with harmonics in the GPS band or bands.   PRI values with harmonics that will interfere with critical cellular channels and/or with high-priority cellular bands.   PRI values with harmonics that will interfere with entire bands of Wi-Fi channels.
 
Starting from the list of PRI values remaining after step  122 , the computer builds groups of mutually-compatible PRI values, at a group building step  124 . Each such group will include k members, wherein k≥2. Controller  26  stores a record of these groups. During operation of mobile communication device  10 , controller will then select one of the groups of PRI values to use in camera  20 , for example based on the operating environment and radio frequencies that are actually in use by transceiver  12 , as explained above.
       

     Various approaches may be adopted in building the groups of PRI values at step  124 . In the present embodiment, for example, the computer begins by selecting the largest PRI value remaining in the list, at a starting PRI selection step  130 . The computer then searches for another, smaller PRI value that is co-prime with the other values already selected for inclusion in this group, at a further PRI selection step  132 . The computer starts by searching for PRI values that are close to the values already in the group, while ensuring that there is at least one Wi-Fi band with which none of the harmonics of any of the PRIs in the group will interfere. PRI values that do not satisfy this latter requirement are not selected in step  132 . This process of adding and evaluating PRI values for incorporation in the present group continues iteratively until the group has k member PRI values, at a group completion step  134 . 
     After a given group of k PRI values has been assembled, the computer returns to step  130  in order to construct the next group of PRI values. The process of building PRI groups continues until a sufficient number of groups has been constructed and stored, at a record completion step  136 . For example, the computer may check the harmonics of the PRIs in each group to ensure that for each radio frequency band that may be used by transceiver  12 , including cellular and Wi-Fi bands, there is at least one group of PRI values that will not interfere with the band. Controller  26  will then be able to choose the appropriate PRI group, at step  126 , in order to accommodate the actual radio frequencies that are in use at any given time. 
     It will be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.

Metadata:
Filing Date: 20200528
Publication Date: 20221115
Grant Date: 20221115
Priority Date: 20190610
Inventors: OGGIER, THIERRY
BUETTGEN, BERNHARD
NICLASS, CRISTIANO L
HEZAR, RAHMI
MANDAI, SHINGO
SHRESTHA, DARSHAN
CHUNG, GARY
LAIFENFELD, MOSHE
Assignee: APPLE INC
CPC Classifications: [{"code": "G01S7/527", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S17/48", "inventive": true, "first": true, "tree": "[]"}, {"code": "G01S17/10", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/484", "inventive": true, "first": false, "tree": "[]"}, {"code": "H01S5/183", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/486", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M2250/10", "inventive": false, "first": false, "tree": "[]"}, {"code": "G01S7/4861", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S17/894", "inventive": true, "first": true, "tree": "[]"}, {"code": "G01S7/484", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72403", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S13/865", "inventive": false, "first": false, "tree": "[]"}, {"code": "G01S7/4865", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/484", "inventive": true, "first": true, "tree": "[]"}, {"code": "G01S17/26", "inventive": true, "first": true, "tree": "[]"}, {"code": "G01J2001/446", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M2250/52", "inventive": false, "first": false, "tree": "[]"}, {"code": "G01S7/4815", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/53", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/524", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/4865", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S17/86", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/4876", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/524", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/53", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S17/26", "inventive": true, "first": true, "tree": "[]"}, {"code": "G01S17/86", "inventive": true, "first": false, "tree": "[]"}, {"code": "G01S7/527", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 70975725