Patent Publication Number: US-11381753-B2

Title: Adjusting camera exposure for three-dimensional depth sensing and two-dimensional imaging

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 16/353,859, filed Mar. 14, 2019, which in turn claims the priority of U.S. Provisional Patent Application Ser. No. 62/645,190, filed Mar. 20, 2018. Both of these applications are herein incorporated by reference in their entireties. 
    
    
     BACKGROUND 
     U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 describe various configurations of distance sensors. Such distance sensors may be useful in a variety of applications, including security, gaming, control of unmanned vehicles, and other applications. 
     The distance sensors described in these applications include projection systems (e.g., comprising lasers, diffractive optical elements, and/or other cooperating components) which project beams of light in a wavelength that is substantially invisible to the human eye (e.g., infrared) into a field of view. The beams of light spread out to create a pattern (of dots, dashes, or other artifacts) that can be detected by an appropriate light receiving system (e.g., lens, image capturing device, and/or other components). When the pattern is incident upon an object in the field of view, the distance from the sensor to the object can be calculated based on the appearance of the pattern (e.g., the positional relationships of the dots, dashes, or other artifacts) in one or more images of the field of view, which may be captured by the sensor&#39;s light receiving system. The shape and dimensions of the object can also be determined. 
     For instance, the appearance of the pattern may change with the distance to the object. As an example, if the pattern comprises a pattern of dots, the dots may appear closer to each other when the object is closer to the sensor, and may appear further away from each other when the object is further away from the sensor. 
     SUMMARY 
     An example method includes setting an exposure time of a camera of a distance sensor to a first value, instructing the camera to acquire a first image of an object in a field of view of the camera, where the first image is acquired while the exposure time is set to the first value, instructing a pattern projector of the distance sensor to project a pattern of light onto the object, setting the exposure time of the camera to a second value that is different than the first value, and instructing the camera to acquire a second image of the object, where the second image includes the pattern of light, and where the second image is acquired while the exposure time is set to the second value. 
     In another example, a non-transitory machine-readable storage medium is encoded with instructions executable by a processor. When executed, the instructions cause the processor to perform operations including setting an exposure time of a camera of a distance sensor to a first value, instructing the camera to acquire a first image of an object in a field of view of the camera, where the first image is acquired while the exposure time is set to the first value, instructing a pattern projector of the distance sensor to project a pattern of light onto the object, setting the exposure time of the camera to a second value that is different than the first value, and instructing the camera to acquire a second image of the object, where the second image includes the pattern of light, and where the second image is acquired while the exposure time is set to the second value. 
     In another example, a distance sensor includes a pattern projector configured to project a pattern of light onto an object, a camera, a controller configured to set an exposure time of the camera to a first value when the pattern projector is not projecting the pattern of light onto the object and to set the exposure time of the camera to a second value when the pattern projector is projecting the pattern of light onto the object, and a processor configured to calculate a distance from the distance sensor to the object based on a first image captured when the exposure time is set to the first value and a second image captured when the exposure time is set to the second value. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating an example distance sensor of the present disclosure; 
         FIG. 2  is a flow diagram illustrating one example of a method for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure; 
         FIG. 3  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera, and the distance projection for three-dimensional distance measurement, where a single light source emits light during separate exposures for three-dimensional distance information and two-dimensional image acquisition, and where three-dimensional distance measurement and two-dimensional image acquisition alternate every other frame; 
         FIG. 4  is a block diagram illustrating an example distance sensor of the present disclosure; 
         FIG. 5  is a flow diagram illustrating one example of a method for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure; 
         FIG. 6  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera, the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where a first light source emits light at or near the time of three-dimensional data acquisition and second, separate light source emits light at the time of two-dimensional image acquisition, and three-dimensional distance measurement and two-dimensional image acquisition alternate every other frame; 
         FIG. 7  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera, the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where a first light source emits light at or near the time of three-dimensional data acquisition and second, separate light source emits light at the time of two-dimensional image acquisition, and three-dimensional distance measurement and two-dimensional image acquisition alternate every predetermined number of frames; 
         FIG. 8  is a block diagram illustrating an example distance sensor of the present disclosure; 
         FIG. 9  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where two light projection systems (e.g., used for three-dimensional distance data acquisition) are used and the exposure durations for three-dimensional data acquisition and two-dimensional image capture are the same; 
         FIG. 10  is a flow diagram illustrating one example of a method for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure; 
         FIG. 11  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where information about shutter speed at the time of two-dimensional image acquisition is fed back to the timing for three-dimensional distance data acquisition; and 
         FIG. 12  depicts a high-level block diagram of an example electronic device for calculating the distance from a sensor to an object. 
     
    
    
     DETAILED DESCRIPTION 
     The present disclosure broadly describes an apparatus, method, and non-transitory computer-readable medium for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture. As discussed above, distance sensors such as those described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 determine the distance to an object (and, potentially, the shape and dimensions of the object) by projecting beams of light that spread out to create a pattern (e.g., of dots, dashes, or other artifacts) in a field of view that includes the object. The beams of light may be projected from one or more laser light sources which emit light of a wavelength that is substantially invisible to the human eye, but which is visible to an appropriate detector (e.g., of the light receiving system). The three-dimensional distance to the object may then be calculated based on the appearance of the pattern to the detector. 
     In some cases, a two-dimensional image of the object may also be captured (e.g., by a camera of the light receiving system) and used to improve the three-dimensional distance measurement. For example, a reference mark may be affixed to the object. Then, when the available amount of three-dimensional information (e.g., number of dots of the pattern) is insufficient for making an accurate distance measurement, information from a two-dimensional image of the object (including the reference mark) may be used to supplement the three-dimensional information. It may also be possible to determine environmental characteristics such as external brightness, object reflectance, and the like from the two-dimensional image. This information may be used to adjust the projected beams (and, consequently, the projected pattern) to improve the three-dimensional distance measurement. 
     Various factors, however, make it difficult to acquire three-dimensional object data (e.g., including pattern data) and a two-dimensional object image in quick succession with the same camera. For instance, noise introduced by ambient light may make it difficult for the detector to clearly detect the pattern formed by the beams. One way to mitigate the effects of ambient light is to incorporate a narrow band-pass filter in the light receiving system of the sensor, e.g., where the filter allows only infrared light to pass. However, if the amount of ambient light is very great (such as might be the case outdoors), then the difference in brightness between the pattern and the ambient light may be very small. Moreover, if the exposure time of the light receiving system is not set appropriately, then the relationship between the exposure value and the sensor latitude may cause unwanted saturation. In either case, it may still be difficult for the detector to distinguish the pattern formed by the beams from the ambient light, even if a narrow band-pass filter is used. For example, when both the image of the pattern formed by the beams and the ambient light exceed the sensor latitude, saturation may occur. However, an image of the pattern may become clearer by reducing the exposure time so that the amount of light input to the light receiving system is within the range of the sensor&#39;s latitude. 
     Alternatively or in addition, when the amount of ambient light is great, the pattern may be easier for the detector to distinguish if the brightness of the beams that form the pattern is increased relative to the brightness of the ambient light. However, from a safety perspective, increasing the brightness of the beams may come with some risk, as exposure to the brighter beams may be harmful to the human eye. Thus, the emission time of the lasers may be shortened to minimize the risk, and the exposure time of the light receiving system may also be shortened to reduce ambient light. 
     Although increasing the brightness of the pattern and reducing the exposure time of the light receiving system may improve the detector&#39;s ability to acquire three-dimensional information, these modifications may also impair the camera&#39;s ability to capture a useful two-dimensional image. For instance, a two-dimensional image that is captured under a shortened exposure time is likely to be dark. Generally, a longer exposure time may be needed to capture a clearer two-dimensional image. 
     Thus, in summary, the optimal camera exposure time for detecting a three-dimensional projection pattern and the optimal camera exposure time for capturing a two-dimensional image may be very different. This makes it difficult to detect the three-dimensional projection pattern and to capture the two-dimensional image simultaneously, or within a relatively short period of time (e.g., less than one second), with the same camera. 
     Examples of the present disclosure provide a distance sensor that is capable of performing three-dimensional information acquisition (e.g., from a pattern of projected light) and two-dimensional image acquisition in quick succession, with a single camera. In one example, the light source used to provide illumination for the two-dimensional image acquisition has the same wavelength as the light source that is used to project the pattern for three-dimensional information acquisition. This eliminates the need for a band-pass filter in the light receiving system of the distance sensor. 
       FIG. 1  is a block diagram illustrating an example distance sensor  100  of the present disclosure. The distance sensor  100  may be used to detect the distance d to an object  114 . In one example, the distance sensor  100  shares many components of the distance sensors described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. For instance, in one example, the distance sensor comprises a camera (or other image capturing device)  102 , a processor  104 , a controller  106 , and a pattern projector  108 . 
     In one example, the camera  102  may be a still or video camera. The camera  102  may be capable of capturing three-dimensional distance data. For instance, the camera  102  may include a detector that is capable of detecting a pattern of light that is projected onto the object  114 , where the projected light is of a wavelength that is substantially invisible to the human eye (e.g., infrared). The camera  102  may also be capable of capturing two-dimensional red, green, blue (RGB) images of the object  114 . Thus, in one example, the camera  102  may be a red, green, blue infrared (RGBIR) camera. In this case, infrared light emitted for three-dimensional distance sensing may be input only to the pixels of the camera  102  with the IR filter, while other wavelengths of light can be recognized as color images by the pixel(s) on the RGB filter. Thus, the detector of the camera can detect red, green, blue and infrared simultaneously, can detect only infrared, or can detect only red, green, and blue. Because the three-dimensional distance sensing depends on the intensity of the projected pattern of light, and the two-dimensional imaging depends on external brightness, the optimal exposure time for the IR and RGB portions of the camera  102  will be different. The camera  102  may have a fish-eye lens, and may be configured to capture image data of a field of view of up to 180 degrees. 
     The camera  102  may send captured image data to the processor  104 . The processor  104  may be configured to process the captured image data (e.g., three-dimensional distance data and two-dimensional image data) in order to calculate the distance to the object  114 . For instance, the distance may be calculated in accordance with the methods described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. 
     The controller  106  may be configured to control operation of the other components of the distance sensor, e.g., the operations of the camera  102 , the processor  104 , and the pattern projector  108 . For instance, the controller  106  may control the exposure time of the camera  102  (e.g., the duration for which the camera&#39;s shutter is open), and the timing with which the camera  102  captures images (including images of the object  114 ). As discussed in further detail below, the controller  106  may set two separate exposure durations for the camera  102 : a first exposure duration during which an image of the object  114  is captured at the same time that the pattern projector  108  projects a pattern onto the object  114  (e.g., for three-dimensional distance sensing), and a second exposure duration during which an image of the object  114  is captured at a time when the pattern projector  108  does not project a pattern onto the object  114  (e.g., for two-dimensional image acquisition). In one example, the controller  106  may alternate between the first exposure duration and the second exposure duration. 
     The controller  106  may also control the duration for which the pattern projector  108  projects the pattern of light onto the object  114 , as well as the timing with which the pattern projector  108  projects the pattern of light onto the object  114 . For instance, the controller  106  may control the duration of pulses emitted by a light source of the pattern projector  108 , as discussed in further detail below. 
     The pattern projector  108  may comprise various optics configured to project the pattern of light onto the object  114 . For instance, the pattern projector  108  may include a laser light source, such as a vertical cavity surface emitting laser (VCSEL)  110  and a diffractive optical element (DOE)  112 . The VCSEL  110  may be configured to emit beams of laser light under the direction of the controller  106  (e.g., where the controller  106  controls the duration of the laser pulses). The DOE  112  may be configured to split the beam of light projected by the VCSEL  110  into a plurality of beams of light. The plurality of beams of light may fan or spread out, so that each beam creates a distinct point (e.g., dot, dash, x, or the like) of light in the camera&#39;s field of view. Collectively, the distinct points of light created by the plurality of beams form a pattern. The distance to the object  114  may be calculated based on the appearance of the pattern on the object  114 . 
       FIG. 2  is a flow diagram illustrating one example of a method  200  for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure. The method  200  may be performed, for example, by the processor  104  illustrated in  FIG. 1 . For the sake of example, the method  200  is described as being performed by a processing system. 
     The method  200  may begin in step  202 . In step  204 , the processing system may set the exposure time of a camera of a distance sensor to a first value. The first value may define a duration of the exposure (e.g., a first window of time for which the shutter of the camera is open to acquire image data). 
     In step  206 , the processing system may instruct the camera to acquire a first image of an object in the distance sensor&#39;s field of view. In one example, the first image is a two dimensional image (which includes no data from projected patterns of light). In one example, the time of exposure for the acquisition of the first image is therefore equal to the first value. 
     In step  208 , the processing system may instruct a pattern projector (e.g., a system of optics including a laser light source and diffractive optical element) of the distance sensor to project a pattern of light onto the object. In one example, the pattern of light may comprise light that is emitted in a wavelength that is substantially invisible to the human eye (e.g., infrared). In one example, the instructions sent to the pattern projector may include instructions regarding when to start projecting the pattern of light and for how long to project the pattern of light (e.g., the timing and duration of laser pulses). 
     In step  210 , the processing system may set the exposure time of the camera to a second value. The second value may define a duration of the exposure (e.g., a second window of time for which the shutter of the camera is open to acquire image data). In one example, the second value is smaller than the first value. 
     In step  212 , the processing system may instruct the camera to acquire a second image of the object, where the second image also includes the pattern of light projected onto the object by the pattern projector. In one example, the time of exposure for the acquisition of the second image is therefore equal to the second value. 
     In step  214  the processing system may instruct the pattern projector to stop projecting the pattern of light onto the object. For instance, the instructions sent to the pattern projector may instruct the pattern projector to turn off a laser. 
     In step  216 , the processing system may determine whether to stop imaging the object. For instance, imaging of the object may stop if sufficient data (e.g., from the first and second images) has been acquired to calculate the distance to the object. If the processing system concludes in step  216  that imaging should not be stopped, then the method  200  may return to step  204  and proceed as described above to capture additional images of the object. 
     Alternatively, if the processing system concludes in step  216  that imaging should be stopped, then the method  200  may proceed to step  218 . In step  218 , the processing system may process the first and second images in order to determine the distance to the object. For instance, any of the methods described in in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 may be used to calculate the distance. Alternatively, the processing system may send the first and second images to a remote processing system for the distance calculation. 
     The method  200  may end in step  220 . 
       FIG. 3  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera, and the distance projection for three-dimensional distance measurement, where a single light source emits light during separate exposures for three-dimensional distance information and two-dimensional image acquisition, and where three-dimensional distance measurement and two-dimensional image acquisition alternate every other frame. For instance, the timing chart of  FIG. 3  may illustrate the operations of the distance sensor  100  of  FIG. 1 . 
     In particular,  FIG. 3  shows seven frames, f 1 -f 7 , of the timing chart. In one example, a three-dimensional distance measurement and a two-dimensional image acquisition are performed alternately, every other frame. That is, during a first frame f 1 , a first camera exposure of a first duration d 1  may be employed to acquire information for three-dimensional distance measurement. Then, during a subsequent second frame f 2 , a second camera exposure of a second duration d 2  (longer than the duration of the first camera exposure, i.e., d 2 &gt;d 1 ) may be employed to acquire a two-dimensional image. During a third frame f 3  and subsequent oddly numbered frames f 5 , f 7 , etc., the first duration d 1  is again employed for the exposure to acquire additional information for three-dimensional distance measurement. During a fourth frame f 4  and subsequent evenly numbered frames f 6 , etc., the second duration d 2  is again employed for the exposure to acquire additional two-dimensional images, and so on. 
     In one example, a laser (or projection light source) pulse of a third, fixed duration p 1  may be emitted every other frame. In one example the third duration p 1  is greater than the first duration d 1 , but less than the second duration d 2  (i.e., d 1 &lt;p 1 &lt;d 2 ). In one example, the laser pulse is emitted at the same time as each camera exposure of the first duration d 1  (e.g., every oddly numbered frame). Put another way, at the start of each oddly numbered frame, a laser pulse of duration p 1  is emitted, and the camera shutter is opened for a window of duration d 1 . Thus, the laser pulse may be used to project a pattern from which the distance sensor may acquire information for three-dimensional distance measurement. 
     It can also be seen from  FIG. 3  that each laser pulse of the third duration p 1  is associated with one camera exposure of the first duration d 1  and one camera exposure of the second duration d 2 . That is, one camera exposure of the first duration d 1  and one camera exposure of the second duration d 2  (in that order) occur between each pair of laser pulses of the third duration p 1 . Subsequently, the images acquired for three-dimensional distance measurement and the two-dimensional images may be processed separately and differently. 
       FIG. 4  is a block diagram illustrating an example distance sensor  400  of the present disclosure. The distance sensor  400  may be used to detect the distance d to an object  414 . In one example, the distance sensor  400  shares many components of the distance sensors described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. For instance, in one example, the distance sensor comprises a camera (or other image capturing device)  402 , a processor  404 , a controller  406 , and a pattern projector  408 . However, unlike the distance sensor  100  of  FIG. 1 , the distance sensor  400  additionally includes a light emitting diode (LED)  416  or other type of illumination means that emits light in a wavelength that is visible to the human eye (e.g., white). Alternatively, the emitted wavelength of the LED  416  may be the same as the wavelength of the VCSEL  410 . 
     In one example, the camera  402  may be a still or video camera. The camera  402  may be capable of capturing three-dimensional distance data. For instance, the camera  402  may include a detector that is capable of detecting a pattern of light that is projected onto the object  414 , where the projected light is of a wavelength that is substantially invisible to the human eye (e.g., infrared). The camera  402  may also be capable of capturing two-dimensional red, green, blue (RGB) images of the object  414 . Thus, in one example, the camera  402  may be a red, green, blue infrared (RGBIR) camera. In this case, infrared light emitted for three-dimensional distance sensing may be input only to the pixel of the camera  402  with the IR filter, while other wavelengths of light can be recognized as color images by the pixel(s) on the RGB filter. Because the three-dimensional distance sensing depends on the intensity of the projected pattern of light, and the two-dimensional imaging depends on external brightness, the optimal exposure time for the IR and RGB portions of the camera  102  will be different. The camera  402  may have a fish-eye lens, and may be configured to capture image data of a field of view of up to 180 degrees. 
     The camera  402  may send captured image data to the processor  404 . The processor  404  may be configured to process the captured image data (e.g., three-dimensional distance data and two-dimensional image data) in order to calculate the distance to the object  414 . For instance, the distance may be calculated in accordance with the methods described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. 
     The controller  406  may be configured to control operation of the other components of the distance sensor, e.g., the operations of the camera  402 , the processor  404 , the pattern projector  408 , and the LED  416 . For instance, the controller  406  may control the exposure time of the camera  402  (e.g., the duration for which the camera&#39;s shutter is open), and the timing with which the camera  402  captures images (including images of the object  414 ). As discussed in further detail below, the controller  406  may set two separate exposure durations for the camera  402 : a first exposure duration during which an image of the object  414  is captured at the same time that the pattern projector  408  projects a pattern onto the object  414  (e.g., for three-dimensional distance sensing), and a second exposure duration during which an image of the object  414  is captured at a time when the pattern projector  408  does not project a pattern onto the object  414 , but at which the LED  416  is illuminating the object  414  (e.g., for two-dimensional image acquisition). In one example, the controller  406  may alternate between the first exposure duration and the second exposure duration. 
     The controller  406  may also control the duration for which the pattern projector  408  projects the pattern of light onto the object  414 , as well as the timing with which the pattern projector  408  projects the pattern of light onto the object  414 . For instance, the controller  406  may control the duration of pulses emitted by a light source of the pattern projector  408 , as discussed in further detail below. 
     The controller  406  may also control the duration for which the LED  416  illuminates the object  414 , as well as the timing with which the LED  416  illuminates the object  414 . For instance, the controller  406  may control the duration of pulses emitted by the LED  416 , as discussed in further detail below. 
     The pattern projector  408  may comprise various optics configured to project the pattern of light onto the object  414 . For instance, the pattern projector  408  may include a laser light source, such as a vertical cavity surface emitting laser (VCSEL)  410  and a diffractive optical element (DOE)  412 . The VCSEL  410  may be configured to emit beams of laser light under the direction of the controller  406  (e.g., where the controller  406  controls the duration of the laser pulses). The DOE  412  may be configured to split the beam of light projected by the VCSEL  410  into a plurality of beams of light. The plurality of beams of light may fan or spread out, so that each beam creates a distinct point (e.g., dot, dash, x, or the like) of light in the camera&#39;s field of view. Collectively, the distinct points of light created by the plurality of beams form a pattern. The distance to the object  414  may be calculated based on the appearance of the pattern on the object  414 . 
     The LED  416  may comprise one or more light emitting diodes, or other light sources, capable of emitting light in a wavelength that is visible to the human eye (e.g., white) under the direction of the controller  406  (e.g., where the controller  406  controls the duration of the LED pulses). Alternatively, the emitted wavelength of the LED  416  may be the same as the wavelength of the VCSEL  410 . The illumination provided by the LED  416  may be used to acquire a two-dimensional image of the object  414 , as discussed in further detail below. 
       FIG. 5  is a flow diagram illustrating one example of a method  500  for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure. The method  500  may be performed, for example, by the processor  404  illustrated in  FIG. 4 . For the sake of example, the method  500  is described as being performed by a processing system. 
     The method  500  may begin in step  502 . In step  504 , the processing system may set the exposure time of a camera of a distance sensor to a first value. The first value may define a duration of the exposure (e.g., a first window of time for which the shutter of the camera is open to acquire image data). 
     In step  506 , the processing system may instruct an illumination source (e.g., an LED) of the distance sensor to illuminate an object in the distance sensor&#39;s field of view. In one example, the light emitted to illuminate the object may comprise light in a wavelength that is visible to the human eye. Alternatively, the emitted wavelength of the illumination source may be the same as the wavelength of the distance sensor&#39;s pattern projector. In one example, the instructions sent to the illumination source may include instructions regarding when to start emitting the light and for how long emit the light (e.g., the timing and duration of LED pulses). 
     In step  508 , the processing system may instruct the camera to acquire a first image of the object. In one example, the first image is a two dimensional image (which includes no data from projected patterns of light). In one example, the time of exposure for the acquisition of the first image is therefore equal to the first value. 
     In step  510 , the processing system may instruct the illumination source to stop illuminating the object. For instance, the instructions sent to the illumination source may instruct the pattern projector to turn off an LED. 
     In step  512 , the processing system may instruct a pattern projector (e.g., a system of optics including a laser light source and diffractive optical element) of the distance sensor to project a pattern of light onto the object. In one example, the pattern of light may comprise light that is emitted in a wavelength that is substantially invisible to the human eye (e.g., infrared). In one example, the instructions sent to the pattern projector may include instructions regarding when to start projecting the pattern of light and for how long to project the pattern of light (e.g., the timing and duration of laser pulses). 
     In step  514 , the processing system may set the exposure time of the camera to a second value. The second value may define a duration of the exposure (e.g., a second window of time for which the shutter of the camera is open to acquire image data). In one example, the second value is smaller than the first value. 
     In step  516 , the processing system may instruct the camera to acquire a second image of the object, where the second image also includes the pattern of light projected onto the object by the pattern projector. In one example, the time of exposure for the acquisition of the second image is therefore equal to the second value. 
     In step  518  the processing system may instruct the pattern projector to stop projecting the pattern of light onto the object. For instance, the instructions sent to the pattern projector may instruct the pattern projector to turn off a laser. 
     In step  520 , the processing system may determine whether to stop imaging the object. For instance, imaging of the object may stop if sufficient data (e.g., from the first and second images) has been acquired to calculate the distance to the object. If the processing system concludes in step  520  that imaging should not be stopped, then the method  500  may return to step  504  and proceed as described above to capture additional images of the object. 
     Alternatively, if the processing system concludes in step  520  that imaging should be stopped, then the method  500  may proceed to step  522 . In step  522 , the processing system may process the first and second images in order to determine the distance to the object. For instance, any of the methods described in in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 may be used to calculate the distance. Alternatively, the processing system may send the first and second images to a remote processing system for the distance calculation. 
     The method  500  may end in step  524 . 
       FIG. 6  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where a first light source emits light at or near the time of three-dimensional data acquisition and second, separate light source emits light at the time of two-dimensional image acquisition, and three-dimensional distance measurement and two-dimensional image acquisition alternate every other frame. 
     In particular,  FIG. 6  shows seven frames, f 1 -f 7 , of the timing chart. As in the example of  FIG. 3 , a three-dimensional distance measurement and a two-dimensional image acquisition are performed alternately, every other frame. That is, during a first frame f 1 , a first camera exposure of a first duration d 1  may be employed to acquire information for three-dimensional distance measurement. Then, during a subsequent second frame f 2 , a second camera exposure of a second duration d 2  (longer than the duration of the first camera exposure, i.e., d 2 &gt;d 1 ) may be employed to acquire a two-dimensional image. During a third frame f 3  and subsequent oddly numbered frames f 5 , f 7 , etc., the first duration d 1  is again employed for the exposure to acquire additional information for three-dimensional distance measurement. During a fourth frame f 4  and subsequent evenly numbered frames f 6 , etc., the second duration d 2  is again employed for the exposure to acquire additional two-dimensional images, and so on. 
     As in the example of  FIG. 3 , a laser (or projection light source) pulse of a third, fixed duration p 1  may be emitted every other frame. In one example the third duration p 1  is greater than the first duration d 1 , but less than the second duration d 2  (i.e., d 1 &lt;p 1 &lt;d 2 ). In one example, the laser pulse is emitted at the same time each camera exposure of the first duration d 1  begins (e.g., each time every oddly numbered frame begins). Put another way, at the start of each oddly numbered frame, a laser pulse of duration p 1  is emitted, and the camera shutter is opened for a window of duration d 1 . Thus, the laser pulse may be used to project a pattern from which the distance sensor may acquire information for three-dimensional distance measurement. 
     It can also be seen from  FIG. 6  that each laser pulse of the third duration p 1  is associated with one camera exposure of the first duration d 1  and one camera exposure of the second duration d 2 . That is, one camera exposure of the first duration d 1  and one camera exposure of the second duration d 2  (in that order) occur between each pair of laser pulses of the third duration p 1 . 
     In one example, a light emitting diode (LED) (or illumination light source) pulse of a fourth, fixed duration p 2  may also be emitted, alternately with the laser pulses of the third duration p 1 . In one example the fourth duration p 2  is the greatest of the first duration d 1 , the second duration d 2 , and the third duration p 1  (i.e., d 1 &lt;p 1 &lt;d 2 &lt;p 2 ). In one example, the LED pulses overlap frames; that is, the LED pulses may begin at the end of (e.g., more than halfway through) one frame and may end near the middle of the subsequent frame. For instance, referring to  FIG. 6 , an LED pulse of fourth duration p 2  may begin in frame f 1 , after the laser pulse of the third duration p 1  has ended. The same LED pulse may end in the middle of the subsequent frame f 2  (during which no laser pulse may occur). In one example, the LED pulse is emitted just before each camera exposure of the second duration d 2  (e.g., just before every even numbered frame begins). Put another way, just before the start of each even numbered frame, an LED pulse of duration p 2  is emitted, and the camera shutter is opened for a window of duration d 2  which ends in the middle of the (even numbered) frame. Thus, the LED pulse may be used to provide illumination with which the distance sensor may acquire a two-dimensional image of an object. 
     It can also be seen from  FIG. 6  that each LED pulse of the fourth duration p 2  is associated with one camera exposure of the second duration d 2  and one camera exposure of the first duration d 1 . That is, one camera exposure of the second duration d 2  and one camera exposure of the first duration d 1  (in that order) occur between each pair of LED pulses of the fourth duration p 2 . Subsequently, the images acquired for three-dimensional distance measurement and the two-dimensional images may be processed separately and differently. 
     In another example, steps  508  and  516  of  FIG. 5  can be modified so that the processing system instructs the camera to capture a first plurality of (e.g., n) images and a second plurality of (e.g., n) images, respectively. Thus, during each pulse or emission of the illumination source or the pattern projection, a plurality of images may be captured. 
     For instance,  FIG. 7  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where a first light source emits light at or near the time of three-dimensional data acquisition and second, separate light source emits light at the time of two-dimensional image acquisition, and three-dimensional distance measurement and two-dimensional image acquisition alternate every predetermined number of frames. 
     In particular,  FIG. 7  shows seven frames, f 1 -f 7 , of the timing chart. Unlike the examples of  FIG. 3  and  FIG. 6 , where a three-dimensional distance measurement and a two-dimensional image acquisition alternate every other frame, in  FIG. 7 , a three-dimensional distance measurement and a two-dimensional image acquisition alternate every predetermined (and configurable) number n of frames. In the particular example illustrated in  FIG. 7 , n=3. That is, during a first three frames f 1 , f 2 , and f 3 , a first camera exposure of a first duration d 1  may be employed to acquire information for three-dimensional distance measurement. Then, during a subsequent three frames frame f 4 , f 5 , and f 6 , a second camera exposure of a second duration d 2  (longer than the duration of the first camera exposure, i.e., d 2 &gt;d 1 ) may be employed to acquire a two-dimensional image. During a subsequent three frames starting with f 7 , the first duration d 1  is again employed for the exposure to acquire additional information for three-dimensional distance measurement, and so on. 
     As in the example of  FIG. 3 , a laser (or projection light source) pulse of a third, fixed duration p 1  may be emitted at the start of each frame in which three-dimensional distance measurement data is acquired. In one example the third duration p 1  is greater than the first duration d 1 , but less than the second duration d 2  (i.e., d 1 &lt;p 1 &lt;d 2 ). In one example, the laser pulse is emitted at the same time each camera exposure of the first duration d 1  begins (e.g., each time a frame in a set of n subsequent frames begins). Put another way, at the start of each frame in a set of n frames designated for three-dimensional data acquisition, a laser pulse of duration p 1  is emitted, and the camera shutter is opened for a window of duration d 1 . Thus, the laser pulse may be used to project a pattern from which the distance sensor may acquire information for three-dimensional distance measurement. 
     It can also be seen from  FIG. 7  that each laser pulse of the third duration p 1  is associated with one camera exposure of the first duration d 1 . That is, one camera exposure of the first duration d 1  occurs between each pair of laser pulses of the third duration p 1 . 
     In one example, a light emitting diode (LED) (or illumination light source) pulse of a fifth, fixed duration p 3  may also be emitted at the start of each set of n frames in which a two-dimensional image is acquired. In one example the fifth duration p 2  is the greatest of the first duration d 1 , the second duration d 2 , the third duration p 1 , and the fourth duration p 2  (i.e., d 1 &lt;p 1 &lt;d 2 &lt;p 2 &lt;p 3 ). In one example, the LED pulses overlap frames; that is, the LED pulses may begin at the end of (e.g., more than halfway through) one frame and may end near the middle of a frame n frames later. For instance, referring to  FIG. 7 , an LED pulse of fifth duration p 3  may begin in frame f 3 , after a laser pulse of the third duration p 1  has ended. The same LED pulse may end in the middle of the frame n frames later, i.e., frame f 6 . In one example, the LED pulse is emitted just before the first camera exposure of the second duration d 2  (e.g., where n camera exposures of the second duration d 2  occur in a row). Put another way, just before the start of the first frame of n subsequent frames designated for two-dimensional image acquisition, an LED pulse of duration p 3  is emitted, and the camera shutter is opened three times in a row for a window of duration d 2  (which ends in the middle of each frame of the n frames) during the duration d 3 . Thus, the LED pulse may be used to provide illumination with which the distance sensor may acquire a two-dimensional image of an object. 
     It can also be seen from  FIG. 7  that each LED pulse of the fifth duration p 3  is associated with n camera exposures of the second duration d 2 . That is, n camera exposures of the second duration d 2  occur during every LED pulse of the fifth duration p 3 . Subsequently, the images acquired for three-dimensional distance measurement and the two-dimensional images may be processed separately and differently. 
       FIG. 8  is a block diagram illustrating an example distance sensor  800  of the present disclosure. The distance sensor  800  may be used to detect the distance d to an object  814 . In one example, the distance sensor  800  shares many components of the distance sensors described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. For instance, in one example, the distance sensor comprises a camera (or other image capturing device)  802 , a processor  804 , a controller  806 , and a plurality of pattern projectors  808   1 - 808   2  (hereinafter individually referred to as a “pattern projector  808 ” or collectively referred to as “pattern projectors  808 ”). Thus, unlike the distance sensors  100  of  FIGS. 1 and 4 , the distance sensor  800  comprises more than one pattern projector. 
     In one example, the camera  802  may be a still or video camera. The camera  802  may be capable of capturing three-dimensional distance data. For instance, the camera  802  may include a detector that is capable of detecting a pattern of light that is projected onto the object  814 , where the projected light is of a wavelength that is substantially invisible to the human eye (e.g., infrared). The camera  802  may also be capable of capturing two-dimensional red, green, blue (RGB) images of the object  814 . Thus, in one example, the camera  802  may be a red, green, blue infrared (RGBIR) camera. In this case, infrared light emitted for three-dimensional distance sensing may be input only to the pixel of the camera  802  with the IR filter, while other wavelengths of light can be recognized as color images by the pixel(s) on the RGB filter. Because the three-dimensional distance sensing depends on the intensity of the projected pattern of light, and the two-dimensional imaging depends on external brightness, the optimal exposure time for the IR and RGB portions of the camera  102  will be different. The camera  802  may have a fish-eye lens, and may be configured to capture image data of a field of view of up to 180 degrees. 
     The camera  802  may send captured image data to the processor  804 . The processor  804  may be configured to process the captured image data (e.g., three-dimensional distance data and two-dimensional image data) in order to calculate the distance to the object  814 . For instance, the distance may be calculated in accordance with the methods described in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429. 
     The controller  806  may be configured to control operation of the other components of the distance sensor, e.g., the operations of the camera  802 , the processor  804 , the pattern projectors  808 , and the LED  816 . For instance, the controller  806  may control the exposure time of the camera  802  (e.g., the duration for which the camera&#39;s shutter is open), and the timing with which the camera  802  captures images (including images of the object  814 ). As discussed in further detail below, the controller  806  may set two separate exposure durations for the camera  802 : a first exposure duration during which an image of the object  814  is captured at the same time that at least one of the pattern projectors  808  projects a pattern onto the object  814  (e.g., for three-dimensional distance sensing), and a second exposure duration during which an image of the object  814  is captured at a time when the pattern projectors  808  do not project a pattern onto the object  814 , but at which the LED  816  is illuminating the object  814  (e.g., for two-dimensional image acquisition). In one example, the controller  806  may alternate between the first exposure duration and the second exposure duration. 
     The controller  806  may also control the duration for which the pattern projectors  808  project the pattern of light onto the object  814 , as well as the timing with which the pattern projectors  808  project the pattern of light onto the object  814 . For instance, the controller  806  may control the duration of pulses emitted by a light source of the pattern projectors  808 , as discussed in further detail below. In one particular example, the controller  806  may control the pattern projectors  808  to project the pattern of light into separate portions of the camera&#39;s field of view at separate times. 
     The controller  806  may also control the duration for which the LED  816  illuminates the object  814 , as well as the timing with which the LED  816  illuminates the object  814 . For instance, the controller  806  may control the duration of pulses emitted by the LED  816 , as discussed in further detail below. 
     The pattern projectors  808  may comprise various optics configured to project the pattern of light onto the object  814 . For instance, each pattern projector  808  may include a respective laser light source, such as a respective vertical cavity surface emitting laser (VCSEL)  810   1  or  810   2  (hereinafter also referred to individually as a “VCSEL  810 ” or collectively as “VCSELs  810 ”) and a respective diffractive optical element (DOE)  812   1  or  812   2  (hereinafter referred to individually as a “DOE  812 ” or collectively as “DOEs  812 ”). The VCSELs  810  may be configured to emit beams of laser light under the direction of the controller  806  (e.g., where the controller  806  controls the duration of the laser pulses). The DOEs  812  may be configured to split the beams of light projected by the respective VCSELs  810  into respective pluralities of beams of light. The pluralities of beams of light may fan or spread out, so that each beam creates a distinct point (e.g., dot, dash, x, or the like) of light in the camera&#39;s field of view. Collectively, the distinct points of light created by the pluralities of beams form respective patterns. The distance to the object  814  may be calculated based on the appearance of the patterns on the object  814 . 
     The LED  816  may comprise one or more light emitting diodes, or other light sources, capable of emitting light in a wavelength that is visible to the human eye (e.g., white) under the direction of the controller  806  (e.g., where the controller  806  controls the duration of the LED pulses). Alternatively, the emitted wavelength of the LED  816  may be the same as the wavelength of the VCSEL  810 . The illumination provided by the LED  816  may be used to acquire a two-dimensional image of the object  814 , as discussed in further detail below. 
       FIG. 9  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where two light projection systems (e.g., used for three-dimensional distance data acquisition) are used and the exposure durations for three-dimensional data acquisition and two-dimensional image capture are the same. 
     In particular,  FIG. 9  shows seven frames, f 1 -f 7 , of the timing chart. In one example, two three-dimensional distance measurement and one two-dimensional image acquisition are performed alternately, every three frame. That is, during a first frame f 1 , a first camera exposure of a first duration d 1  may be employed to acquire information for three-dimensional distance measurement. During a subsequent second frame f 2 , a second camera exposure of the first duration d 1  may be employed to acquire information for three-dimensional distance measurement. Then, during a subsequent third frame f 3 , a third camera exposure of the first duration d 1  may be employed to acquire a two-dimensional image. During a fourth frame f 4  and a fifth frame f 5 , the first duration d 1  is again employed for the exposure to acquire additional information for three-dimensional distance measurement. During a sixth frame f 6 , the first duration d 1  is again employed for the exposure to acquire additional two-dimensional images, and so on. 
     As illustrated in  FIG. 9 , a first laser (or projection light source) pulse of a third, fixed duration p 1  may be emitted every three frames. In one example the third duration p 1  is greater than the first duration d 1  (i.e., d 1 &lt;p 1 ). In one example, the first laser pulse is emitted at the beginning of every third frame. Put another way, at the start of every third frame, a first laser pulse of duration p 1  is emitted, and the camera shutter is opened for a window of duration d 1 . Thus, the first laser pulse may be used to project a pattern from which the distance sensor may acquire information for three-dimensional distance measurement. 
     Similarly, a second laser (or projection light source) pulse of the third, fixed duration p 1  may also be emitted every three frames. In one example, the second laser pulse is emitted at the beginning of every third frame, but one frame after each first laser pulse. Put another way, at the start of every frame after a frame in which the first laser pulse occurs, a second laser pulse of duration p 1  is emitted, and the camera shutter is opened for a window of duration d 1 . Thus, the second laser pulse may be used to project a pattern from which the distance sensor may acquire information for three-dimensional distance measurement. 
     It can also be seen from  FIG. 9  that each laser pulse (whether it is a first laser pulse or a second laser pulse) of the third duration p 1  is associated with three camera exposures of the first duration d 1 . That is, three camera exposures of the first duration d 1  occur between each pair of (first or second) laser pulses of the third duration p 1 . 
     In one example, a light emitting diode (LED) (or illumination light source) pulse of a fourth, fixed duration p 2  may also be emitted, after each second laser pulse of the third duration p 1 . In one example the fourth duration p 2  is the greatest of the first duration d 1  and the third duration p 1  (i.e., d 1 &lt;p 1 &lt;p 2 ). In one example, the LED pulses overlap frames; that is, the LED pulses may begin at the end of (e.g., more than halfway through) one frame and may end near the middle of the subsequent frame. For instance, referring to  FIG. 9 , an LED pulse of fourth duration p 2  may begin in frame f 2 , after the second laser pulse of the third duration p 1  has ended. The same LED pulse may end in the middle of the subsequent frame f 3  (during which no laser pulse may occur). In one example, the LED pulse is emitted just before each camera exposure during which two-dimensional image acquisition is performed (e.g., just before every third frame begins). Put another way, just before the start of every third frame, an LED pulse of duration p 2  is emitted, and the camera shutter is opened for a window of duration d 1  which ends in the middle of the subsequent frame. Thus, the LED pulse may be used to provide illumination with which the distance sensor may acquire a two-dimensional image of an object. 
     It can also be seen from  FIG. 9  that each LED pulse of the fourth duration p 2  is associated with three camera exposures of the first duration d 1 . That is, three camera exposures of the first duration d 1  occur between each pair of LED pulses of the fourth duration p 2 . Subsequently, the images acquired for three-dimensional distance measurement and the two-dimensional images may be processed separately and differently. 
       FIG. 10  is a flow diagram illustrating one example of a method  1000  for adjusting the camera exposure of a distance sensor for three-dimensional depth sensing and two-dimensional image capture, according to the present disclosure. The method  1000  may be performed, for example, by any of the processors  104 ,  404 , or  804  illustrated in  FIGS. 1, 4, and 8 . However, in this case, the processor additionally performs an analysis of two-dimensional image data captured by the camera and feeds this analysis back into the controller to control the exposure control and illumination control. For the sake of example, the method  1000  is described as being performed by a processing system. 
     The method  1000  may begin in step  1002 . In step  1004 , the processing system may set the exposure time of a camera of a distance sensor to a first value. The first value may define a duration of the exposure (e.g., a first window of time for which the shutter of the camera is open to acquire image data). 
     In step  1006 , the processing system may instruct an illumination source (e.g., an LED) of the distance sensor to illuminate an object in the distance sensor&#39;s field of view. In one example, the light emitted to illuminate the object may comprise light in a wavelength that is visible to the human eye (e.g., white). In one example, the instructions sent to the illumination source may include instructions regarding when to start emitting the light and for how long emit the light (e.g., the timing and duration of LED pulses). 
     In step  1008 , the processing system may instruct the camera to acquire a first image of the object. In one example, the first image is a two dimensional image (which includes no data from projected patterns of light). In one example, the time of exposure for the acquisition of the first image is therefore equal to the first value. 
     In step  1010 , the processing system may instruct the illumination source to stop illuminating the object. For instance, the instructions sent to the illumination source may instruct the pattern projector to turn off an LED. 
     In step  1012 , the processing system may determine a second value for the exposure time of the camera and a projection time of a pattern projector of the distance sensor (e.g., a system of optics including a laser light source and diffractive optical element), based on an analysis of the first image of the object. 
     In step  1014 , the processing system may instruct the pattern projector of the distance sensor to project a pattern of light onto the object. In one example, the pattern of light may comprise light that is emitted in a wavelength that is substantially invisible to the human eye (e.g., infrared). In one example, the instructions sent to the pattern projector may include instructions regarding when to start projecting the pattern of light and for how long to project the pattern of light (e.g., the timing and duration of laser pulses). 
     In step  1016 , the processing system may set the exposure time of the camera to the second value. The second value may define a duration of the exposure (e.g., a second window of time for which the shutter of the camera is open to acquire image data). In one example, the second value is smaller than the first value. 
     In step  1018 , the processing system may instruct the camera to acquire a second image of the object, where the second image also includes the pattern of light projected onto the object by the pattern projector. In one example, the time of exposure for the acquisition of the second image is therefore equal to the second value. 
     In step  1020  the processing system may instruct the pattern projector to stop projecting the pattern of light onto the object. For instance, the instructions sent to the pattern projector may instruct the pattern projector to turn off a laser. 
     In step  1022 , the processing system may determine whether to stop imaging the object. For instance, imaging of the object may stop if sufficient data (e.g., from the first and second images) has been acquired to calculate the distance to the object. If the processing system concludes in step  1022  that imaging should not be stopped, then the method  1000  may return to step  1004  and proceed as described above to capture additional images of the object. 
     Alternatively, if the processing system concludes in step  1022  that imaging should be stopped, then the method  1000  may proceed to step  1024 . In step  1024 , the processing system may process the first and second images in order to determine the distance to the object. For instance, any of the methods described in in U.S. patent application Ser. Nos. 14/920,246, 15/149,323, and 15/149,429 may be used to calculate the distance. Alternatively, the processing system may send the first and second images to a remote processing system for the distance calculation. 
     The method  1000  may end in step  1026 . 
       FIG. 11  is an example timing chart illustrating the relationship between the frame rate and exposure of a distance sensor camera (e.g., a video camera), the distance projection for three-dimensional distance measurement, and the light emission for two-dimensional image acquisition, where information about shutter speed at the time of two-dimensional image acquisition is fed back to the timing for three-dimensional distance data acquisition. That is, the exposure time of the camera and the time of projection for a pattern of light during three-dimensional distance data acquisition may be based on an analysis of the object from a two-dimensional image of the object. 
     It should be noted that although not explicitly specified, some of the blocks, functions, or operations of the methods  200 ,  500 , and  1000  described above may include storing, displaying and/or outputting for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods  200 ,  500 , and  1000  can be stored, displayed, and/or outputted to another device depending on the particular application. Furthermore, blocks, functions, or operations in  FIGS. 2, 5, and 10  that recite a determining operation, or involve a decision, do not imply that both branches of the determining operation are practiced. In other words, one of the branches of the determining operation may not be performed, depending on the results of the determining operation. 
       FIG. 12  depicts a high-level block diagram of an example electronic device  1100  for calculating the distance from a sensor to an object. As such, the electronic device  2300  may be implemented as a processor of an electronic device or system, such as a distance sensor (e.g., as processor  104 ,  404 , or  804  in  FIGS. 1, 4, and 8 ). 
     As depicted in  FIG. 12 , the electronic device  1200  comprises a hardware processor element  1202 , e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor, a memory  1204 , e.g., random access memory (RAM) and/or read only memory (ROM), a module  1205  for calculating the distance from a sensor to an object, and various input/output devices  1206 , e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a display, an output port, an input port, and a user input device, such as a keyboard, a keypad, a mouse, a microphone, a camera, a laser light source, an LED light source, and the like. 
     Although one processor element is shown, it should be noted that the electronic device  1200  may employ a plurality of processor elements. Furthermore, although one electronic device  1200  is shown in the figure, if the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the blocks of the above method(s) or the entire method(s) are implemented across multiple or parallel electronic devices, then the electronic device  1200  of this figure is intended to represent each of those multiple electronic devices. 
     It should be noted that the present disclosure can be implemented by machine readable instructions and/or in a combination of machine readable instructions and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a general purpose computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the blocks, functions and/or operations of the above disclosed method(s). 
     In one example, instructions and data for the present module or process  1205  for calculating the distance from a sensor to an object, e.g., machine readable instructions can be loaded into memory  1204  and executed by hardware processor element  1202  to implement the blocks, functions or operations as discussed above in connection with the methods  200 ,  500 , and  1000 . Furthermore, when a hardware processor executes instructions to perform “operations”, this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component, e.g., a co-processor and the like, to perform the operations. 
     The processor executing the machine readable instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the present module  1205  for calculating the distance from a sensor to an object of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or an electronic device such as a computer or a controller of a safety sensor system. 
     It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, or variations therein may be subsequently made which are also intended to be encompassed by the following claims.