WO2018053292A1 - Interference handling in time-of-flight depth sensing - Google Patents
Interference handling in time-of-flight depth sensing Download PDFInfo
- Publication number
- WO2018053292A1 WO2018053292A1 PCT/US2017/051820 US2017051820W WO2018053292A1 WO 2018053292 A1 WO2018053292 A1 WO 2018053292A1 US 2017051820 W US2017051820 W US 2017051820W WO 2018053292 A1 WO2018053292 A1 WO 2018053292A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- light
- time
- pixel values
- sequence
- identifying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
Definitions
- This disclosure pertains to interference handling for time -of-flight (ToF) depth sensing, and more particularly to interference handling for ToF depth sensing in a multiple-camera environment.
- ToF time -of-flight
- An imaging system used for time -of-flight depth estimation can emit light (e.g., infrared light) to illuminate a scene, and can use the reflected light from the scene to estimate depth.
- light emitted from other imaging systems is also received by the primary imaging system's image sensor, resulting in interference. Interference can be caused by a camera's inability to distinguish the light from its own light source from received light emitted from other light sources.
- FIG. 1 is a schematic diagram of an example imaging system in accordance with
- FIG. 2A is a schematic diagram of an example illumination scheme for estimating depth.
- FIG. 2B is a schematic diagram of obtaining an example depth frame.
- FIGS. 3A-B are schematic diagrams of an example multi -camera system in accordance with embodiments of the present disclosure.
- FIG. 4A is a schematic diagram of an example of a single primary camera shutter pulse bundle scheme for taking depth frames.
- FIG. 4B is a schematic diagram of an example interference scheme occurring at a primary camera due to the illumination pulse bundles of the interfering cameras that are added to the primary camera's own illumination pulse bundles (primary camera's own illumination pulse bundles are not shown, rather, interfering cameras' illumination pulse bundles are overlaid to the primary camera's shutter pulse bundles that are shown in Figure 4A).
- FIG. 5A is an example process flow diagram for determining an available pulsing scheme timing location in accordance with embodiments of the present disclosure.
- FIG. 5B is another example of a schematic diagram of how "dead times" between pulse bundles can be sensed for interleaving multiple cameras in interference-free or low-interference operation.
- FIG. 5 C is an example schematic diagram of an example imaging system equipped with an additional light sensitive device such as a photodiode that can act as a continuously running ambient light sensor for determining an available time slot as in FIG. 5B.
- an additional light sensitive device such as a photodiode that can act as a continuously running ambient light sensor for determining an available time slot as in FIG. 5B.
- FIGS. 6A-D are schematic diagrams of an example pulsing scheme in accordance with embodiments of the present disclosure.
- FIG. 7 is a schematic diagram of an example pulsing scheme of two interfering imaging systems in accordance with embodiments of the present disclosure.
- FIG. 8 is an example pulsing and shutter scheme for odd- and even-numbered rows of pixels in an imaging sensor in accordance with embodiments of the present disclosure.
- FIGS. 9A-B are example formulas for the theoretical values of signals recorded in odd- and even-valued row of pixels in an imaging sensor.
- FIG. 10 is a schematic diagram of a timing sequence for performing a pulse scheme in accordance with embodiments of the present disclosure.
- FIG. 11 is a schematic diagram of determining an S0 A final pixel value using SO and SO values, an S 1 ⁇ pixel using S 1 and Si values and a depth value using S0 A and S 1 ⁇ values in accordance with embodiments of the present disclosure.
- FIG. 12 is a process flow diagram for estimating a final pixel value through interference handling in accordance with embodiments of the present disclosure.
- FIG. 13 is a process flow diagram for estimating depth of a pixel in accordance with embodiments of the present disclosure.
- FIG. 14 is a schematic diagram illustrating an interference avoidance scheme in accordance with embodiments of the present disclosure.
- FIG. 15 is a schematic diagram illustrating an interference cancellation scheme in accordance with embodiments of the present disclosure.
- FIG. 16 is a schematic diagram illustrating the multiplicative effect of combining interference cancellation schemes in accordance with embodiments of the present disclosure.
- FIG. 17 is a schematic diagram illustrating cross correlation.
- FIG. 18A-C are schematic diagrams illustrating the addition of cameras to a camera system in accordance with embodiments of the present disclosure.
- FIG. 19 is a process flow diagram for performing interference avoidance in accordance with embodiments of the present disclosure.
- FIG. 20 is a process flow diagram for performing interference cancellation in accordance with embodiments of the present disclosure.
- Section I Interference Handling Through Time Interleaving
- FIG. 1 is a schematic diagram of an example imaging system 100 in accordance with embodiments of the present disclosure.
- Imaging system 100 includes an image sensor 102.
- Image sensor 102 can be a charge coupled device (CCD) sensor, CMOS image sensor (CIS), or any array imager with a global shutter mechanism.
- the imaging system 100 can include one or multiple image sensors 102.
- Image sensor 102 can include a filter or other mechanism for color differentiation.
- Image sensor 102 can include an array of pixels, the array having individually controllable pixels. For example, each pixel of the image sensor may be turned on to collect charge or turned off, so as to not collect charge. By extension, each row of the image pixel array can be turned on or off.
- each row forming the entire array can be simultaneously (or substantially simultaneously) turned on or off (i.e., the array of pixels can be switched on or off).
- the switching of a pixel from off to on to off can be analogous to the opening and closing of a mechanical shutter.
- the image sensor 102 can include a mechanical shutter. But the term shutter here can also refer to the electrically controlled switching of a pixel to collect charge for a time period and then to stop collecting charge.
- the imaging system 100 can also include a light source 116 that can emit light 118.
- the light source 116 can be a laser, such as an infrared laser and the emitted light 118 can be infrared light.
- the shutter of the image sensor 102 and the pulse timing of the light source 116 can be controlled by a timing generator 112.
- the timing generator 112 can cause the light source 116 to emit pulses of light 118 and can also signal the shutter to open (collect charge) and close (cease collecting charge).
- An example of a pulsing scheme is shown in FIGS. 2A-B.
- the light 118 emitted from the light source 116 can reflect off an object and be received at the imaging system 100 by the image sensor 102.
- the reflected light 120 can be focused by a lens 106.
- An iris 104 can act as an on-off shutter to control whether light 120 is received at the image sensor 102.
- the received light 120 is converted into charge by the image sensor 102. More specifically, each pixel receives light and the light collected at each pixel is converted to electrical charge associated with a pixel location. The collective charge is transmitted to an analog front end (AFE) 110 for processing.
- the AFE 110 also includes an input for timing information from the timing generator 112.
- the AFE 110 can transmit image data to the depth processor 114 for depth estimation.
- FIG. 2 A is a schematic diagram of an example of an illumination scheme consisting of (a) bundles of light pulses and periods of no illumination and (b) the timing of each light pulse relative to different shutters.
- three bundles of images are captured by the image sensor.
- a first bundles SO light is emitted based on, for example, a 22 ns pulse and a shutter is opened for a corresponding period of time.
- the shutter pulse opens the shutter of the image sensor so that reflected light can be captured by the image sensor. Due to a round-trip-time delay, a portion of the emitted light is captured by the image sensor before the shutter closes.
- a second pulse bundle 206 light is emitted based on a 22 ns pulse and a shutter is opened for a corresponding period of time, but in the second bundle S 1 206, the shutter pulse is delayed by an amount of time equivalent to the length of the laser pulse (e.g., 22 ns in the example of FIG. 2).
- bundle SI a portion of the light reflected from a scene is captured while the shutter is open. The round trip travel time for the light emitted can be calculated using the information from SO and SI .
- a third bundle BG 208 can include a shutter pulse without a light emission to capture background light reflections (i.e., reflections from background or ambient light and not from emitted light from the imaging system). Each bundle can be performed multiple times and the collected charges may keep accumulating during these multiple measurements in order to increase SNR and the accuracy of the depth measurements.
- FIG. 2B is a schematic diagram of obtaining an example depth frame.
- SO bundle 204 can result in a SO frame 205;
- S I bundle can result in a frame 207; and
- BG bundle can result in a BG frame 209.
- a depth frame 210 can be created using a combination of frames SO, S I , and BG (i.e., by removing BG).
- An example equation for calculating depth includes:
- FIGS. 3A-B are schematic diagrams of an example of a multi -camera system in accordance with embodiments of the present disclosure.
- FIG. 3 A illustrates an example multi -camera system 300.
- Multi -camera system 300 includes camera 1 302, camera 2 304, and camera 3 306. Each camera is interested in capturing a depth image of the scene which includes an object 308.
- Camera 1 302 emits light 312 towards the object 308 and will use the reflected light from the object 308 to perform depth estimations.
- Camera 2 304 and camera 3 306 also emit light (314 and 316, respectively) toward the object 308, for similar purposes.
- the light reflected from the object can include light emitted from all three cameras.
- light received by camera 1 302 can include light 322, which includes light originally emitted from cameras 1-3.
- cameras 2 and 3 Because light and shutter pulses of a camera are timed with respect to each other to estimate round-trip-time of own light pulses and consequently the depth, receiving light from other light sources can create interference and distort depth estimation.
- FIG. 4A is an example schematic diagram of a shutter pulsing scheme 400 for taking depth frames.
- each rectangular shaped block represents a pulse bundle: for example, block 204 represents a bundle of SO shutters from FIG. 2A; block 206 represents a bundle of S I shutters from FIG. 2A; and block 208 represents a bundle of BG shutters from FIG. 2A.
- dead times 402 between bundle set 401 i.e. periods where no measurements are made and no pulses of light are sent.
- Each bundle set 401 is performed 6 times in this example where dead times may exist between pulse bundles, preceding pulse bundles or following pulse bundles.
- FIG. 4B is a schematic diagram 450 of an example interference scheme occurring at a primary camera due to the illumination pulse bundles of interfering cameras that are added to the primary camera's own illumination pulse bundles.
- Primary camera's own illumination pulse bundles are not shown in FIG. 4B, rather, interfering cameras' illumination pulse bundles are overlaid to the primary camera's shutter pulse bundles that are shown in FIG. 4A to illustrate the fact that the primary camera may be receiving interference illumination while its shutters are open. If the shutter is open during an interfering light pulse from other cameras, light from other light sources can distort the measurement of own light pulses, reduce signal to noise ratio or result in an incorrect account of round-trip-time of the camera's own light pulses.
- This disclosure describes interference handling by interleaving pulse bundles. If a central synchronization scheme is possible between cameras, then the cameras can be controlled to emit light pulse bundles in a certain order so that no overlap occurs. If synchronization is too difficult or impossible, each additional camera entering the landscape is programed to first determine the pulse landscape through a sequence of measurements to find a "quiet" interval. The camera can then use the quiet interval for placing its own pulse bundles.
- pulse landscape can imply an addition or collection of patterns of pulse bundles that are being emitted by the other cameras in the same environment to illuminate the scene.
- every camera may intentionally increase the dead time between light pulse bundles, for example by decimating its frame rate by a certain number N, which allows about a factor of N increase in the number of cameras that can fit the landscape without interfering with one another.
- the duty cycle that each camera uses for light pulse bundles is also predetermined (e.g., by a camera manufacturer) so that the duty cycles are substantially the same. Overlap can still occur if duty cycles are not normalized. Decreasing the duty cycle of pulse bundles also increases the dead time between pulse bundles, which in turn increases the number of cameras that can fit the landscape without interfering with one another.
- the reduction in power due to the decrease in the duty cycle can may be compensated by an equivalent increase in the power or the number of illumination sources on the cameras in order to maintain a similar SNR.
- a camera entering a multi -camera environment can begin sensing (e.g., by opening its shutter for a predetermined period of time) the landscape to find the next available spot.
- a camera can perform its availability search as follows:
- FIG. 5A is an example process flow diagram for determining available pulsing locations in accordance with embodiments of the present disclosure.
- the camera first opens its shutter to detect light pulses from other cameras (502).
- the camera can determine whether an available slot exists by measuring the light received at several instances across a certain time period (504).
- the camera can determine the amount of collected light signals in each measurement instance that have the same (or substantially the same) values (506).
- the camera can also detect the presence of outlier values that indicate a change in light intensity from one measurement instance to a second measurement instance (or lack of any light intensity except background noise) (508). For example, the camera can identify a light measurement that has a different value than that of an adjacent grouping of measured light values.
- the camera can then open its shutter at time instances that coincide with the outlier values and at time instances that are adjacent to the outlier values (510).
- the camera can then determine whether an outlier value indicates an available slot (or, if not, then the camera can determine that the outlier indicates a border between a first pulse bundle and a second (different) pulse bundle around which a spot is available, and take further measurements at a finer time resolution around the outlier value to determine a time slot with no or little light intensity) (512).
- the camera can use the available slot for pulse bundles for its own depth estimation (514).
- FIG. 5B is another example of a schematic diagram of how dead times can be sensed for interleaving multiple cameras for interference-free or low-interference operation.
- FIG. 5B illustrates an example protocol describing how an additional circuit that can be added to Figure 1 consisting of a photodiode or other light sensitive device (similar to the one in FIG. 5C) can be used to determine a time slot during which no other cameras are emitting light or during which the emission is weak enough so that a new camera can start using that time slot.
- the photodiode or the light sensitive device can be used in conjunction with an ADC to continuously monitor the ambient light by measuring it at a predetermined sampling rate (552).
- the camera may determine an available time slot by processing or examining the time signal obtained from the photodiode or the light sensitive device (556). This camera may choose to emit light during the period in which the amount of ambient light from other interferers is below a predetermined threshold or nonexistent. For the following frames, the camera may continue to emit light and take measurements in this determined time slot (558). In FIG. 5B, if the camera has previously been assigned to a time slot, it may continue to emit light and take measurements in the time slot it has been assigned to by directly moving from step 554 to 558.
- a camera that has already been assigned to a time slot may use the measurements of the photodiode or the light sensitive device (552) to continuously monitor the interference in its own time slot and/or other time slots, and decide to switch to another slot if its own slot starts receiving interference beyond a predetermined threshold due to the arrival of additional cameras, relative clock drifts, etc., or if other slots that have lower interference become available.
- a further initial step to be taken before step 552 may consist of generating a random or pseudorandom number locally at each camera which may be proportional to the amount of time measured in, e.g., frames, or seconds, which that particular camera will wait before starting to measure the background interference.
- the identification of available time slots in FIG. 5B can include cross correlating a desired emission pattern with a measured engagement function.
- a camera system can identify a desired emission pattern for light emission for capturing depth images from a scene.
- the desired emission pattern can be preprogrammed into the camera.
- the desired emission pattern includes a light intensity value (or a corresponding "high" binary value) and an emission timing for each light intensity value, as well as duty cycle, and other information.
- the location of available time periods for emission of laser pulses can be determined based on cross correlating the desired emission pattern with a measured engagement function, e.g., a measured set of light intensity values that provide information on engaged time slots.
- the time lag value at which the cross- correlation is smallest or gets below a predetermined threshold value may be chosen as the beginning of an available time slot for emission.
- the cross-correlation can be performed in a streaming manner to identify available time slots for emission.
- the measured engagement function can be generated by receiving light by a photodiode.
- the light values can be converted to digital values by first sampling via an ADC and then by comparing the light intensity to a threshold value at each time instance. If a light intensity value exceeds the threshold value, a high or a 1 binary value is assigned for the corresponding time instance in the engagement function; if a light intensity value does not exceed the threshold (or if it is equal to the threshold), then a low or 0 binary value is assigned for the corresponding time instance in the engagement function.
- FIG. 5 C is an example schematic diagram of an example imaging system 150 similar to the one in FIG. 1 further equipped with a light sensitive device 560 such as a photodiode that can act as a continuously running ambient light sensor for determining an available time slot as described in FIG. 5B.
- the photodiode 560 can sense the ambient light 568 stemming from both the interfering cameras and the primary camera (therefore may include light 120 from the primary camera's own illumination pulses).
- the photodiode may generate a current based on the ambient light it senses that may be turned into a voltage value by an operational amplifier 562 with a resistor in its feedback path.
- FIGS. 6A-D are schematic diagrams of an example shutter pulsing scheme in accordance with embodiments of the present disclosure.
- FIGS. 6A-D illustrate a shutter pulsing scheme for a four camera environment. The illumination pulses maybe sent out aligned with these shutters or delayed by predetermined amounts similar to the example in FIG. 2A.
- the delay amount between illumination pulses and shutter pulses may be orders of magnitude smaller than the spacing between pulse bundles; therefore the illumination pulses may be considered also to be aligned with the shutter pulses for all practical purposes. Moreover, during some periods in which the shutter is open, there may be no illumination such as the background measurement period 208 in FIG. 2A. Therefore, the illumination pulse bundles may even span narrower time periods than the shutter pulse bundles.
- Pulsing scheme 600 includes a first shutter pulse bundle 602.
- FIG. 6A also illustrates dead time 604 between shutter pulse bundles 602.
- FIG. 6B illustrates an interleaved pulsing scheme 650 for a two camera environment. Pulse bundles 608 for the second camera are timed within the dead time 604 (now occupied by the pulse bundles 608 for camera 2).
- FIG. 6C illustrates an interleaved pulsing scheme 660 for a three camera environment. Dead time 612 still exists between pulse bundles 610.
- FIG. 6D illustrates an interleaved pulsing scheme 670 for a four camera environment. Pulse bundles 614 are timed within previously dead times 612.
- the duty cycle of each pulse bundle can be reduced to introduce more dead time available to accommodate the new cameras.
- the reduced duty cycle corresponds to reduced illumination power which in turn may lead to decreased SNR.
- this can be mitigated by adding more illumination sources such as more infrared lasers.
- a reduction by half in the duty cycle may be compensated by doubling the number of lasers.
- a camera can remove background and interference at the pixel level by having some pixels of the sensor array capture light that includes light emitted by the camera's own light source as well as background light and light emitted by other cameras (interference), and by nearly concurrently having some other pixels of the sensor array capture light that only includes background light and light from other cameras (interference). Pixel values without background light and interference can be obtained algorithmically from these two types of measurements.
- An example of a subset of pixels that captures light that includes light emitted by the camera's own light source as well as background light and light emitted by other cameras (interference) can include all pixels in even numbered rows of the sensor array.
- An example of a subset of pixels that nearly concurrently captures light that only includes background light and light from other cameras (interference) can include all pixels in odd numbered rows of the sensor array.
- Other configurations of pixel subsets can be used; however, this even-subset and odd-subset example is illustrated further below:
- a camera can use two complementary random shutter sequences for two different subsets of pixels, e.g., odd numbered and even numbered rows of pixels, so that one of the subsets of pixels (e.g., the even rows) collects light only when the other subset (e.g. the odd rows) does not, and vice-versa, by, for instance, electrically controlling the collection of light on a pixel-by- pixel basis or on a row-by-row basis.
- embodiments can include capturing light emitted by the camera's own light source, background light and interference light from other cameras using e.g., pixels in even numbered rows of the image sensor, and capturing background light and interference light using e.g. pixels in odd numbered rows.
- a first timing pulse sequence can trigger shutter sequences SO and SO:
- a high shutter pulse can open a shutter that is synchronized with the camera's light source so as to capture light that includes light emitted by the camera's own light source (SO); and
- a low shutter pulse can open a shutter to capture light that does not include emitted light from the camera's own light source (e.g., background and interference) (SO).
- SO background and interference
- a second timing pulse sequence can trigger shutter sequences S 1 and SJ_:
- a high shutter pulse can open a shutter that is synchronized with the camera's light source so as to capture light that includes light emitted by the camera's own light source (S I); and
- a low shutter pulse can open a shutter to capture light that does not include emitted light from the camera's own light source (e.g., background and interference) (S I).
- the camera's own light source e.g., background and interference
- the raw SO and SO values captured at nearby pixels, or adjacent pixels can be mathematically combined to obtain a processed value, S0 A , for each pixel, which contains only the light emitted by the camera's own light source and does not contain the background light or the interfering light from other cameras.
- the raw S I and SI values captured at nearby pixels or adjacent pixels can be mathematically combined to obtain a processed S1 A value for each pixel, which contains only the light emitted by the camera's own light source and not the background light or the interfering light from other cameras.
- the so-obtained processed S0 A and S1 A values can be used to obtain a depth estimate for each pixel.
- the process of obtaining the final processed pixels S0 A and S 1 A as well as obtaining a depth estimate from them, are described in more detail below.
- FIG. 7 is a schematic diagram of an example pulsing scheme 700 in accordance with embodiments of the present disclosure.
- Pulsing scheme 700 illustrates how two cameras can perform pulse scheme execution without also capturing separate background frames. Each camera collects light using a SO shutter/illumination sequence for some pixels and a SO shutter/illumination sequence for other pixels and a S 1 shutter/illumination sequence for some pixels and a Si shutter/illumination sequence for other pixels.
- camera 1 can perform, for example, 100 SO 702 shutter pulses for a portion of the image sensor grid, and S I 708 shutter pulses for the same portion of the sensor array for light emission pulses 706 and 712, respectively.
- Pulse scheme 700 also includes pulses that open the shutter (SO 704 and Si 710) while no light pulses are emitted for another portion of the sensor array.
- Pulse scheme 720 applies to camera 2.
- Camera 2 can perform 4000 SO' 722 shutter pulses for a portion of the image sensor array, and S I ' 728 shutter pulses for the same portion of the sensor array for 4000 light emission pulses 726 and 732, respectively.
- Pulse scheme 720 also includes pulses that open the shutter (SO' 724 and S T 730) while no light pulses are emitted for another portion of the sensor array.
- FIG. 8 is a schematic diagram of a timing sequence 800 for performing a pulse scheme in accordance with embodiments of the present disclosure.
- Timing sequence 800 represents a detailed perspective of the pulse schemes shown in FIG. 7 (e.g., pulse scheme 702 corresponding to pulse sequence 804 for SO shutter sequences, and pulse scheme 706 corresponding to pulse sequence 806 for the LD illumination sequences).
- a random pattern 802 is generated to indicate shutter pulse and laser activation for SO.
- the light source 810 does not emit light.
- the odd numbered rows (for example) from the image sensor array collect background and interference light (i.e., odd rows: shutter 808 is open; even rows: shutter 804 is closed).
- the odd row shutter 808 stays open for a predetermined amount of time, then closes.
- the pattern indicates a one or high value
- the light source 806 emits a light and the even numbered rows from the image sensor grid collect background and interference light (i.e., even rows: shutter 804 is open; odd rows: shutter 808 is closed) as well as light emitted by the light source 810.
- the SO pixel value is equal to the value given by equation provided in FIG. 9A.
- FIG. 9B provides a legend for the quantities in the equation of in FIG. 9A. The equation shows that a pixel value obtained using SO sequence contains the desired value corresponding to light emitted by the camera's own light source, plus an error term corresponding to background light plus interference light; whereas a pixel value obtained using the SO sequence only contains the error term. Therefor the error term can be identified and removed from the pixel value obtained using SO pulse sequence.
- the pixels or rows of pixels used for collected SO and SO values can be different than that described above.
- the SO pixel value can be obtained from the odd rows, and the SO pixel value could be obtained from the even rows.
- FIG. 10 is a schematic diagram of a timing sequence 1000 for performing a pulse scheme in accordance with embodiments of the present disclosure.
- a random pattern 1002 is generated to indicate shutter pulse and laser activation for S 1.
- the random patter 1002 can be different from the random pattern 802.
- the pattern indicates a zero or low value
- the light source 1010 does not emit light.
- the odd numbered rows from the image sensor array collect background and interference light (i.e., odd rows: shutter 1 108 is open; even rows: shutter 1004 is closed).
- the odd row shutter 1008 stays open for a predetermined amount of time, then closes.
- the light source 1006 emits a light and the even numbered rows from the image sensor grid collect background and interference light (i.e., even rows: shutter 1004 is open; odd rows: shutter 1008 is closed).
- the shutter pulse can be delayed by a predetermined amount with respect to the light pulse. After a predetermined number of pulse iterations (e.g., 4000), the S I pixel value is equal to the value given by equations similar to the one provided in FIG. 9A.
- the equation shows that a pixel value obtained using S I sequence contains the desired value corresponding to light emitted by the camera's own light source, plus an error term corresponding to background light plus interference light; whereas a pixel value obtained using the Si sequence only contain the error term.
- FIG. 1 1 is a schematic diagram of determining an S0 A final pixel using SO and SO values in accordance with embodiments of the present disclosure. Also provided is a formula for providing depth that uses the values of both S0 A and S 1 A .
- FIG. 12 is a process flow diagram 1200 for estimating a final pixel value through interference handling in accordance with embodiments of the present disclosure.
- a timing generator of the imaging system e.g. comprising a linear-feedback register LFSR
- LFSR linear-feedback register
- the light source upon receiving a high timing signal (1202), the light source activates for a predetermined time period, and emits light towards a scene, the light being reflected back to the imaging system (1204). After a predetermined amount of time, the light source deactivates.
- the time period of activation to deactivation can be on the order of tens of nanoseconds.
- the high signal also triggers the opening of a shutter for a first subset of pixels on the image sensor; the opening of the shutter can coincide with the activation of the laser, or the opening of the shutter can be time delayed from the activation of the laser (1206).
- the first subset of pixels on the image sensor can collected light reflected off the scene coming from the camera's own light source, as well as light reflected off of the scene from background light and from other active light sources ( 1208).
- the shutter closes (1210).
- Steps 1204- 1210 can be repeated for every high signal received, which can occur as many as 500 to 4000 times or more.
- the subset of pixels can be all pixels within rows of the image sensor, such as all even row pixels.
- a shutter upon receiving a low timing signal ( 1212), a shutter is opened for a second subset of pixels of the imaging sensor for a predetermined amount of time, and then closed (1214).
- the second subset of pixels can include all pixels in odd numbered rows of the image sensor.
- the low signal does not trigger the emission of light from the imaging system. So all of the light collected by the second subset of pixels includes background light and light received from other light sources from other imaging systems (1216). After a predetermined amount of time, the shutter is closed (1218).
- Steps 1204-1218 can be performed for a predetermined number of iterations (1220). For example, after 4000 high and low signals, the imaging system can begin processing the charges captured by each pixel.
- the imaging system can determine a pixel value (referred to as a first pixel value) for each pixel of a first subset of pixels (1222). For example, the value for S0/t[z ' /J can be determined based on an equation such as that shown in FIG. 9A.
- the imaging system can determine a pixel value (referred to as a second pixel value) for each pixel of the second subset of pixels (1224). For example, the value for S3 ⁇ 4[z ' /J based on an equation such as that shown in FIG. 9A.
- the imaging sensor can determine a final pixel value S0 A based on S0/t[/ ' j] and S3 ⁇ 4[y]-
- S0 A can be determined based on a first pixel value for two neighboring pixels in a first row and a second pixel value from a second row adjacent the first row, the second pixel adjacent the first pixel for both neighboring pixels (1226).
- S0 A /t[/ ' j] can be determined based on S0/t[z ' /J and SOJ/./l as shown in FIG. 9A.
- the pixel value calculations of steps 1222-1226 can be repeated for all pixels making up an image having a desired resolution (1228).
- FIG. 13 is a process flow diagram 1300 for estimating depth of a pixel based on two final pixel values S0 A and S1 A .
- the imaging system can determine a final pixel value S0 A for each of a first set of pixels based on a first random timing sequence (S0 A based on SO and SO) (1302).
- the first set of pixels includes SO and SO for each corresponding physical pixel of the sensor.
- the imaging system can determine a final pixel value S1 A for each of a second set of pixels based on a second random timing sequence different from the first timing sequence (S1 A based on SI and S T) (1304).
- the second set of pixels includes S 1 and Si for each corresponding physical pixel of the same sensor.
- the imaging system can calculate an estimated depth for each pixel based on S0 A and S1 A , as shown in FIG. 11 (1306).
- policies for cameras can be implemented aimed at choosing a time slot for each camera in a way that their measurement periods did not overlap with the illumination patterns of other cameras to avoid incorrect time-of-flight estimates. Since the cameras are actively sensing the environment (using a photodiode for example) for ambient illumination from other cameras and "avoiding" those time slots in which such illumination exists, also referred to as "avoidance algorithm" for short.
- FIG. 14 illustrates this idea. Note that the illumination period for each camera is shown as a single pulse bundle in this figure, however the same idea can be applied when there are multiple bundles that a camera uses (see FIGS. 6A-6D above). For simplicity of illustration, this disclosure will continue the discussion with a single pulse bundle in the sequel.
- the camera used a first subset of its pixels to measure the illumination stemming from both itself and the interfering cameras while using a second subset of its pixels to measure the illumination stemming from only the interferers. If each camera measured the illumination according to a carefully chosen random sequence in its first subset of pixels, and measured the illumination according to the logical complement of that random sequence in its second subset of pixels, then the latter measurement can be representative of the interference that contaminated the measurement of the first subset of pixels and can be subtracted to obtain a representative of a clean measurement.
- FIG. 15 summarizes the interference cancellation technique. Since the cameras actively measure the interference and try to subtract or "cancel” it, this technique can be referred to as the "cancellation algorithm" for short.
- a number M cameras can be used in the avoidance algorithm because illumination bundles from a larger number of cameras do not always fit in the span of one frame.
- a number N cameras can operate simultaneously in the same time slot under the interference cancellation algorithm. Therefore, in order to achieve a larger set of cameras (such as Mx N) working together with a desirable level of interference handling, this disclosure describes combining these two approaches in a way that the number of cameras that can be handled is a multiplication of the numbers that individual algorithms can handle. For example, if there are 6 non -overlapping time slots in one frame, then each slot can be used to accommodate 10 cameras utilizing the cancellation algorithm, which is shown to be adequate for this many cameras. This gives rise to the possibility of operating 60+ cameras simultaneously with cancellable interference.
- FIG. 16 illustrates the multiplicative effect of combining the two interference handling algorithms. Note that the height of each cell does not necessarily represent the laser power for that camera, it is merely a representation of an exemplary time slot allocation for each camera. (FIG. 18A shows cameras with different power levels assigned to different time slots.)
- Threshold these measurements Values below the threshold “Th” should be set to 0, and above the threshold “Th” should remain the same.
- FIG. 17 illustrates an example cross correlation between time slots in accordance with embodiments of the present disclosure.
- the thresholding of the PD output is done differently.
- the value of the PD output is not set to 1 if it is above the threshold. Instead it is left unchanged to keep the exact value of the interference amount in that time slot.
- a minimum value of the cross-correlation between the thresholded PD output and the indicator function of the self-operation pattern is determined rather than searching for a time slot that will make the cross-correlation zero.
- FIGS. 18A-C illustrates an example illumination landscape from the perspective of a new camera as it enters the scene.
- each time slot is occupied by a camera (cameras 1-6).
- a new camera, camera 7, will choose the minimum interference time slot to operate, which will be Time Slot 4 in this case. It is possible that once the new camera, camera 7, inserts itself into the landscape, another camera sharing the same time slot with it may find the interference in that particular slot has reached a level that cannot be handled by the cancellation algorithm and may choose to relocate itself to a new time slot. This is why each camera keeps monitoring the landscape even after settling down.
- a minimum wait time in terms of frames or seconds
- new camera 8 identifies time slot 2 as an available time slot, into which camera 8 is assigned.
- FIG. 19 is a process flow diagram 1900 for interference avoidance in accordance with embodiments of the present disclosure.
- the method can be implemented by an imaging system, such as a device that includes a camera.
- the process can include sensing, by an light sensor of the imaging system, light received during a time period (1902).
- the imaging system can process the light received by the light sensor (e.g., by a control logic implemented at least partially in hardware) ( 1904).
- Processing the light received can include creating a time series waveform representative of the light received within the time period.
- the imaging system can process the time series waveform.
- the imaging system can identify time instances from the processed time series waveform corresponding to the reception of light emitted by a source of interference and determine a set of time slots based on the time instances.
- processing the time series waveform comprises obtaining a magnitude and a time instance representative of a rising edge or falling edge of the time series waveform.
- the imaging system can identify an available measurement period for the imaging system within the time period based on the processed light (1906).
- the imaging system can identify an available measurement period by correlating the time series waveform with a time window to create a correlation waveform.
- the imaging system can identify a period during which the correlation waveform indicates a lowest level of interference.
- the imaging system can identify a period during which the correlation waveform indicates a level of interference below a threshold level of interference.
- the imaging system can include identifying a first period during which the correlation waveform indicates an interference level below a threshold level of interference, the first period occurring immediately after a period during which the correlation waveform indicates an interference level above the threshold level.
- the imaging system can identify an available measurement period for the imaging system by identifying an available time slot from among a set of time slots within the time period for the imaging system to use for transmitting light pulses.
- the imaging system can identify an available time slot from among the set of time slots by identifying an occupied time slot and identifying a subsequent time slot to the occupied time slot that is unoccupied.
- the imaging system can determine the set of time slots by identifying a time instance from the obtained magnitude and time instance representative of a rising edge from the time series waveform corresponds to a beginning of an occupied time slot.
- the imaging system can determine the set of time slots based on the determination that the time instance corresponds to the beginning of the occupied time slot.
- the imaging system can identify a time instance from the obtained magnitude and time instance by identifying a guard time interval greater than or equal to a known guard period in the time series waveform during which the time series waveform indicates received interference below a first threshold level and by identifying a time instance corresponding to a magnitude representative of a rising edge in the time series waveform greater than the first threshold level and adjacent in time to the identified guard time interval.
- the imaging system can also determine that a magnitude representative of rising edges or falling edges comprises a value greater than a second threshold value and is present in the time series waveform within an interval substantially equal to a known time slot length and adjacent in time to the identified guard time interval.
- processing the time series waveform includes obtaining a magnitude and a time instance representative of a rising edge or falling edge of the time series waveform.
- the imaging system can identify an available time slot by identifying a time slot that exhibits a magnitude value below a threshold value for each time instance within the identified time slot.
- the imaging system can identify an available time slot by accumulating values of the time series waveform in each time slot; and identifying a time slot that exhibits a lowest accumulated value among the time slots.
- the imaging system can identify a guard period adjacent a time slot
- the imaging system can transmit and receive light during a corresponding measurement period in one or more subsequent time periods (1908).
- FIG. 20 is a process flow diagram 2000 for performing interference cancellation in accordance with embodiments of the present disclosure.
- An imaging system such as a camera system that includes a processor or other control logic can generate or be programmed with, a sequence (2002).
- the sequence can include a plurality of high values and plurality of low values and can include a sequence length.
- generating the sequence can include selecting a template sequence length that is smaller than the sequence length, generating a template sequence comprising a length equal to the selected template sequence length, and generating the sequence having the sequence length by repeating the template sequence.
- generating the template sequence can include generating a subsequence having a length that is half of the template sequence length; generating a complementary sub-sequence to the sub-sequence that is half of the template sequence length; and generating the template sequence by concatenating the sub-sequence and the complementary sub-sequence.
- the sub-sequence comprises a sequence of equal values.
- generating the sequence can include generating a pseudo-random sequence.
- the pseudo-random sequence can include at least part of a Gold sequence or other the of sequence.
- the imaging system can generate a first set of pixel values, the first set of pixel values representative of light received from a scene by a light sensor including light originating from the camera, background light, and light originating from other camera light sources (2004).
- generating the first set of pixel values can include activating a light source and a shutter based on a high value of the sequence.
- generating the first set of pixel values can include measuring a first subset of pixel values using the image sensor that are representative of light reflected from a scene including light originating from the camera system, background light, and light originating from other camera light sources.
- the imaging system can generate a second subset of pixel values by interpolating the first subset of pixel values; and generate the first set of pixels based on the first subset of pixel values and the second subset of pixel values.
- the imaging system can generate a second set of pixel values, the second set of pixel values representative of light reflected from a scene including background light and light originating from other camera light sources (2006).
- generating the second set of pixel values can include activating a shutter based on a low value of the sequence.
- the imaging system can determine a third set of pixel values representative of light reflected from a scene based on a function of the first set of pixel values and the second set of pixel values (2008).
- generating the second set of pixel values can include measuring a third subset of pixel values using the image sensor that are representative of light reflected from a scene including background light, and light originating from other camera light sources; generating a fourth subset of pixel values by interpolating the third subset of pixel values; and generating the second set of pixels based on the third subset of pixel values and the fourth subset of pixel values.
- generating the third set of pixel values can include subtracting the second set of pixel values from the first set of pixel value.
- the first subset comprises pixel values representative of pixels from even rows of the light sensor; the fourth subset comprises pixel values based on interpolated pixel values from the even rows of the light sensor; the third subset comprises pixel values representative of pixels from odd rows of the light sensor; and the second subset comprises pixel values based on interpolated pixel values from the odd rows of the light sensor.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Studio Devices (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020197008570A KR102378228B1 (en) | 2016-09-16 | 2017-09-15 | Interference handling in time-of-flight depth sensing |
| JP2019514797A JP6908695B2 (en) | 2016-09-16 | 2017-09-15 | Interference processing to detect depth in flight time |
| CN201780062546.1A CN109863418B (en) | 2016-09-16 | 2017-09-15 | Interference handling in time-of-flight depth sensing |
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201662396038P | 2016-09-16 | 2016-09-16 | |
| US62/396,038 | 2016-09-16 | ||
| US201662431395P | 2016-12-07 | 2016-12-07 | |
| US62/431,395 | 2016-12-07 | ||
| US15/705,095 | 2017-09-14 | ||
| US15/705,141 | 2017-09-14 | ||
| US15/705,095 US10627494B2 (en) | 2016-09-16 | 2017-09-14 | Interference handling in time-of-flight depth sensing |
| US15/705,141 US10451713B2 (en) | 2016-09-16 | 2017-09-14 | Interference handling in time-of-flight depth sensing |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018053292A1 true WO2018053292A1 (en) | 2018-03-22 |
Family
ID=61619752
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2017/051820 Ceased WO2018053292A1 (en) | 2016-09-16 | 2017-09-15 | Interference handling in time-of-flight depth sensing |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018053292A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108897000A (en) * | 2018-06-19 | 2018-11-27 | 北京旷视科技有限公司 | A kind of cross talk restraining method, device, electronic equipment and computer-readable medium |
| CN111316130A (en) * | 2018-09-27 | 2020-06-19 | 深圳市大疆创新科技有限公司 | Distance measuring device and time measuring method based on distance measuring device |
| GB2591336A (en) * | 2019-12-09 | 2021-07-28 | Tymphany Acoustic Tech Ltd | Synchronization of motion-sensitive acoustic speakers |
| EP4191998A4 (en) * | 2020-07-29 | 2024-01-03 | JVCKENWOOD Corporation | Infrared image capturing device, and infrared image capturing system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140313376A1 (en) * | 2012-01-10 | 2014-10-23 | Softkinetic Sensors Nv | Processing of time-of-flight signals |
| US20150312554A1 (en) * | 2014-04-26 | 2015-10-29 | Tetravue, Inc. | Method and system for robust and extended illumination waveforms for depth sensing in 3d imaging |
| US20150331092A1 (en) * | 2014-05-19 | 2015-11-19 | Rockwell Automation Technologies, Inc. | Waveform reconstruction in a time-of-flight sensor |
| US20150338510A1 (en) * | 2012-12-18 | 2015-11-26 | Koninklijke Philips N.V. | Controlling transmission of pulses from a sensor |
| US20160182820A1 (en) * | 2014-12-19 | 2016-06-23 | Semiconductor Components Industries, Llc | Image sensor system for detection and information processing |
-
2017
- 2017-09-15 WO PCT/US2017/051820 patent/WO2018053292A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140313376A1 (en) * | 2012-01-10 | 2014-10-23 | Softkinetic Sensors Nv | Processing of time-of-flight signals |
| US20150338510A1 (en) * | 2012-12-18 | 2015-11-26 | Koninklijke Philips N.V. | Controlling transmission of pulses from a sensor |
| US20150312554A1 (en) * | 2014-04-26 | 2015-10-29 | Tetravue, Inc. | Method and system for robust and extended illumination waveforms for depth sensing in 3d imaging |
| US20150331092A1 (en) * | 2014-05-19 | 2015-11-19 | Rockwell Automation Technologies, Inc. | Waveform reconstruction in a time-of-flight sensor |
| US20160182820A1 (en) * | 2014-12-19 | 2016-06-23 | Semiconductor Components Industries, Llc | Image sensor system for detection and information processing |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108897000A (en) * | 2018-06-19 | 2018-11-27 | 北京旷视科技有限公司 | A kind of cross talk restraining method, device, electronic equipment and computer-readable medium |
| CN108897000B (en) * | 2018-06-19 | 2022-02-08 | 北京旷视科技有限公司 | A crosstalk suppression method, apparatus, electronic device and computer readable medium |
| CN111316130A (en) * | 2018-09-27 | 2020-06-19 | 深圳市大疆创新科技有限公司 | Distance measuring device and time measuring method based on distance measuring device |
| CN111316130B (en) * | 2018-09-27 | 2024-03-08 | 深圳市大疆创新科技有限公司 | A distance measuring device and a time measurement method based on the distance measuring device |
| GB2591336A (en) * | 2019-12-09 | 2021-07-28 | Tymphany Acoustic Tech Ltd | Synchronization of motion-sensitive acoustic speakers |
| GB2591336B (en) * | 2019-12-09 | 2023-10-11 | Tymphany Acoustic Tech Ltd | Synchronization of motion-sensitive acoustic speakers |
| EP4191998A4 (en) * | 2020-07-29 | 2024-01-03 | JVCKENWOOD Corporation | Infrared image capturing device, and infrared image capturing system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10451713B2 (en) | Interference handling in time-of-flight depth sensing | |
| US11448757B2 (en) | Distance measuring device | |
| KR102759838B1 (en) | Measuring and removing the corruption of time-of-flight depth images due to internal scattering | |
| JP6320406B2 (en) | Method for generating an image with depth information and an image sensor | |
| JP2019144261A (en) | Imaging system and method for making it operate | |
| CN110221273B (en) | Time flight depth camera and distance measuring method of single-frequency modulation and demodulation | |
| CN110221274B (en) | Time flight depth camera and multi-frequency modulation and demodulation distance measuring method | |
| WO2018053292A1 (en) | Interference handling in time-of-flight depth sensing | |
| CN110320528B (en) | Time depth camera and noise reduction distance measurement method for multi-frequency modulation and demodulation | |
| CN110361751B (en) | Time flight depth camera and distance measuring method for reducing noise of single-frequency modulation and demodulation | |
| JP6304567B2 (en) | Ranging device and ranging method | |
| JPWO2016189808A1 (en) | Ranging imaging device and solid-state imaging device | |
| JPWO2017098725A1 (en) | Solid-state imaging device, distance measuring device, and distance measuring method | |
| JPWO2017061104A1 (en) | Imaging apparatus and solid-state imaging device used therefor | |
| US12498463B2 (en) | Time of flight apparatus and method | |
| JP7402160B2 (en) | Distance measuring device and reliability determination method | |
| JP2021060246A (en) | Distance measuring device and distance measuring system | |
| CN109991581A (en) | Time-of-flight acquisition method and time-of-flight camera | |
| US12422530B2 (en) | Ranging device and ranging method | |
| US12581584B2 (en) | Light source monitoring | |
| CN119110909A (en) | Depth Scan Image Sensor | |
| EP4685517A1 (en) | Image capturing apparatus and image capturing method | |
| CN121049921A (en) | Distance image camera device and distance image camera method | |
| CN121994833A (en) | Image acquisition methods and systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17851623 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2019514797 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20197008570 Country of ref document: KR Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17851623 Country of ref document: EP Kind code of ref document: A1 |