Patent Publication Number: US-2022214428-A1

Title: Methods and apparatus for increased precision and improved range in a multiple detector lidar array

Description:
RELATED APPLICATION 
     This application is a continuation of U.S. application Ser. No. 16/047,793 filed Jul. 27, 2018, now U.S. Pat. No. 11,226,398 issued Jan. 18, 2022, which is a continuation of U.S. application Ser. No. 14/639,802 filed Mar. 5, 2015, now U.S. Pat. No. 10,036,801 issued Jul. 31, 2018, which is hereby fully incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to determining presence and position in a surrounding space of objects that interact with propagating electromagnetic waves. More particularly, the present invention relates to LiDAR systems using one or more emitters and a detector array to cover a given field of view wherein the detector array can produce a multitude of features based on volumetric analysis of each emitted light packet and/or a multitude of feature distances based on frequency analysis of the sampled return signals. 
     BACKGROUND OF THE INVENTION 
     LiDAR (light detection and ranging) uses laser technology to make precise distance measurements over short or long distances. LiDAR units have found widespread application in both industry and the research community. 
     The predecessor technology to current LiDAR units were object detection systems that could sense the presence or absence of objects within the field of view of one or more light beams based on phase shift analysis of the reflected light beam. Examples of these kinds of object detection systems in the field of vehicle “blind spot” warning systems include U.S. Pat. Nos. 5,122,796, 5,418,359, 5,831,551, 6,150,956, and 6,377,167. 
     Current LiDAR units are typically scanning-type units that emit beams of light in rapid succession, scanning across the angular range of the unit in a fan-like pattern. Using a time of flight calculation applied to any reflections received, instead of just a phase shift analysis, the LiDAR unit can obtain range measurements and intensity values along the singular angular dimension of the scanned beam. LiDAR units typically create the scanning beam by reflecting a pulsed source of laser light from a rotating mirror. The mirror also reflects any incoming reflections to the receiving optics and detector(s). 
     Single-axis-scan LiDAR units will typically use a polygonal mirror and a pulsed laser source to emit a sequence of light pulses at varying angles throughout the linear field of view. Return signals are measured by a bandpass photoreceptor that detects the wavelength of light emitted by the laser. The field of view of the photoreceptor covers the entire one-dimensional scan area of the laser. Thus, each subsequent emitted pulse of laser light must occur only after the reflected signal has been received for the previous laser pulse. Dual-axis-scan LiDAR units produce distance-measured points in two dimensions by using, for instance, a pair of polygonal mirrors. The horizontal scan mirror rotates at a faster rate than the vertical scan mirror. An example of a long-range scanning-type LiDAR for satellite and aircraft is U.S. Pat. No. 7,248,342 that describes scanning of both the transmitted and received laser signals along with a linear arrangement of pixel sensors referred to as a “push broom” sensor for detecting the received laser signals as it is scanned back and forth. U.S. Pat. No. 8,599,367 describes an improved push broom approach that uses laser light with different frequency components and then separates the frequency components received as reflected signals to be detected by different linear pixel sensors. 
     Image-type LiDAR units offer a way to acquire a 3D map of a scene via a solid state or mostly solid state approach in the form of a detector array. These image-type devices are often referred to as flash LiDAR devices because they illuminate an entire 2D field of view with a blanket of light and then simultaneously measure the return value time for each photoreceptor location in the detector array that covers the field of view. Examples of image-type LiDAR units include U.S. Pat. Nos. 7,551,771 and 8,072,581. Unfortunately, these approaches have been relegated to very close proximity applications due to the low incident laser power available for each location in the field of view. For flash LiDAR at longer ranges, the usable field of view is typically too small for applications like autonomous vehicle navigation without the use of high performance cameras operating in the picosecond range for exposure times. 
     U.S. Pat. No. 7,969,558 describes a LiDAR device that uses multiple lasers and a 360-degree scan to create a 360-degree 3D point cloud for use in vehicle navigation. The disclosed system has three limitations. First, the rotating scan head makes the unit impractical for widespread use on autonomous vehicles and makes it unusable for inclusion in mobile devices like smart phones, wearable devices, smart glasses, etc. Second, multiple units cannot work effectively in the same relative physical space due to the potential of crosstalk. Third, the throughput of the device is limited to measurements along a single angular direction for each emitted light pulse. 
     U.S. Publ. Appl. No. 2011/0313722 A1 describes a LiDAR technique used for determining the object distance in the presence of an aerosol cloud. The technique relies on analysis of a trailing edge of a given light pulse compared to an established threshold to remove reflected energy from the aerosol cloud, such as fog. U.S. Pat. No. 8,242,428 describes a LiDAR system that utilizes modulated light pulses detected by two detectors at different distances to perform quantum ghost imaging analysis. While these techniques may be useful for the specific issues addressed, such as fog or ghost imaging, these techniques address special case scenarios and are not generally applicable beyond these special cases. 
     LiDAR units have the potential to be utilized extensively in applications like autonomous vehicle navigation, robotics, mobile computing, wearable devices, and collision avoidance systems for unmanned aerial vehicles (UAVs), as well as high precision image analysis such as surface defect detection and texture analysis, as well as detection of roadway conditions and contaminations. Low and medium resolution LiDAR systems are typically used for object detection and some limited object identification. By increasing the precision of LiDAR processing, object identification can be markedly increased. However, the high throughput and high resolution necessary for autonomous vehicle navigation and other high precisions image analysis cannot be met with present LiDAR approaches. Furthermore, 3D point cloud approaches are inadequate for object identification and high-frequency feature extraction in real-time applications like autonomous vehicle navigation. 
     SUMMARY OF THE INVENTION 
     LiDAR (light detection and ranging) systems in accordance with various embodiments of the invention use one or more emitters and a detector array to cover a given field of view where the emitters each emit a single pulse or a multi-pulse packet of light and the reflected versions of said light are sampled by the detector array. On each emitter cycle the detector array will sample the incoming signal intensity at a pre-determined sampling frequency that generates two or more samples per emitted light packet to allow for volumetric analysis of the retroreflected signal portion of each emitted light packet as reflected by one or more objects in the field of view and then received by each detector. 
     LiDAR systems in accordance with various embodiments of the invention use a detector array and a graphics processing unit (GPU) to interpret the retroreflected signal to produce multiple output points corresponding to a single emitted light packet. In an embodiment the GPU establishes N points in a pre-defined grid of points throughout the field of view of the emitter, and may utilize segmentation to differentiate between multiple objects in a single field of view. In another embodiment the GPU defines an edge feature describing the edge of an object in the field of view. In another embodiment the GPU defines a corner feature describing the corner of an object in the field of view. 
     LiDAR systems in accordance with various embodiments of the invention may utilize a plurality of frame buffers corresponding to the detector array at different portions of the cycle associated with a given emitted light packet. In some embodiments at least three different frame buffers are used for detection and identification of objects in the field of view of the emitter. In some embodiments a leading-edge frame buffer, a steady-state-frame buffer, and a trailing-edge frame buffer are analyzed by the GPU to compare relative ratios among detectors in the array. In other embodiments a ramp-up frame buffer, a steady-state frame buffer, and a ramp-down frame buffer are used by the GPU to compare and/or reconstruct relative intensities among detectors in the array. 
     LiDAR systems in accordance with various embodiments may determine other attributes of the objects in the field of view. The slope of the object—where slope is defined as the normal vector of the surface of a detected object whereby the vector is expressed as an angle relative to the measurement device—may be determined through analysis of received waveforms. Time domain analysis for leading-edge, steady-state and trailing-edge portions of light packets as reflected allows the GPU to determine the direction and the rate of the slope of detected objects. In some embodiments the GPU utilizes analysis of neighboring detectors to facilitate in determination of angles of the retroreflected light energy. 
     In various embodiments calibration of a given LiDAR system may be utilized to account for manufacturing, aging, and related differences in the emitter and detector array. In situ calibration, for example, may be performed by emitting pre-determined calibration patterns and measuring the intensity, location, and angle of the reflected signals. Characterization of the intensity of the emitted beam may be determined throughout the entire cross section of the beam and may be utilized to differentiate light energy patterns and resolve between emitted and reflected light energies. Characterization parameters unique to the given LiDAR system may be saved in a profile for the unit that can account for any modified optical path of the incident and/or reflected light and provide for better determination of the center vector of each emitter and for more accurate volumetric analysis of the light packets. 
     LiDAR systems in accordance with various embodiments may compute object intensity for multiple objects within a field of view. In various embodiments the reported intensity may be modified based on environmental factors such as rain, fog, and snow. In various embodiments the reported intensity may be modified based on the location and severity of dirt or other foreign substance that has accumulated on a windshield or other protective layer near the device. 
     LiDAR systems in accordance with various embodiments utilize laser diodes preferably wherein the laser can be tuned by varying a bias current or bias voltage. The bias current or voltage preferably comprises a component of the injection current or voltage of the laser, wherein the bias current or voltage variation waveform can be ramp-shaped over at least a portion of its cycle, can be staircase-shaped over at least a portion of its cycle, or can be at a constant value for at least a portion of its cycle. Also, with respect to various embodiments, the shape of the bias current or voltage variation waveform can be controlled in order to reduce the variations in total optical dose across the waveform emitter timeframes. 
     LiDAR systems in accordance with various embodiments may utilize two or more frequencies of emitted energy. The reflected portions of these emitted signals will produce beat frequencies or “chirp” frequencies at the detectors whereby each chirp frequency is the difference in the frequencies of the emitted signals. By utilizing N samples in the detector frame buffers and performing an N-sample FFT, the time location of the chirp frequencies for each detector can be established. 
     In various embodiments each detector in the array-based LiDAR unit has a unique angle at which the reflected light energy is received. For purposes of these embodiments, the angle may be defined as the center of the area of the light beam received by the detector not including any modifications to the light beam due to optic elements internal to the LiDAR unit. In some embodiments the light energy or light packet is emitted and received as common laser wavelengths of 650 nm, 905 nm or 1550 nm. In some embodiments the light energy can be in the wavelength ranges of ultraviolet (UV)—100-400 nm, visible—400-700 nm, near infrared (NIR)—700-1400 nm, infrared (IR)—1400-8000 nm, long-wavelength IR (LWIR)—8 um-15 um, far IR (FIR)—15 um-1000 um, or terahertz—0.1 mm-1 mm. These various embodiments can provide increased device throughput, an increased number of computed points per emitted light packet, and/or additional point and linear feature elements at these various wavelengths. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a single emitter and single detector configuration. 
         FIG. 2  illustrates the electrical and optical timing parameters for a single emitter and single detector configuration of  FIG. 1 . 
         FIG. 3  illustrates an emitted packet of light and the resulting return packet of light at a detector array. 
         FIG. 4  illustrates a system block diagram for electrical components in accordance with an embodiment of the invention. 
         FIG. 5  illustrates a device field of view for a detector array in accordance with an embodiment of the invention. 
         FIG. 6  illustrates the geometry of a single emitter, a single object, and a detector array. 
         FIG. 7  illustrates volumetric reconstruction of a sampled light packet in accordance with an embodiment of the invention. 
         FIG. 8  illustrates the electrical and optical timing of sampled waveforms with a detector array in accordance with an embodiment of the invention. 
         FIG. 9A  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 9B  illustrates a sampled frame buffer for a detector array in accordance with an embodiment of the invention. 
         FIG. 9C  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 9D  illustrates a sampled frame buffer for a detector array in accordance with an embodiment of the invention. 
         FIG. 9E  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 9F  illustrates a sampled frame buffer for a detector array in accordance with an embodiment of the invention. 
         FIG. 10  illustrates a typical roadside scene with an object face at a non-normal orientation to the sensor. 
         FIG. 11A  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 11B  illustrates a sampled frame buffer for a detector array with an object face at a non normal orientation to the sensor in accordance with an embodiment of the invention. 
         FIG. 11C  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 11D  illustrates a sampled frame buffer for a detector array with an object face at a non normal orientation to the sensor in accordance with an embodiment of the invention. 
         FIG. 11E  illustrates a a three-dimensional graphical representation of a surface image in accordance with an embodiment of the invention. 
         FIG. 11F  illustrates a sampled frame buffer for a detector array with an object face at a non normal orientation to the sensor in accordance with an embodiment of the invention. 
         FIG. 12  illustrates emitted packets of light and the resulting return packets of light at a detector array for a multi-pulse system in accordance with an embodiment of the invention. 
         FIG. 13  illustrates the electrical and optical signal timing for a multi-pulse, time-shifted emitter configuration in accordance with an embodiment of the invention. 
         FIG. 14  illustrates the volumetric reconstruction of the reflected light packets resulting from relative time-shifted incident emitter pulses in accordance with an embodiment of the invention. 
         FIG. 15  illustrates the geometry of a dual-frequency emitter system in accordance with an embodiment of the invention. 
         FIG. 16  illustrates the electrical and optical timing of a dual-frequency emitter system in accordance with an embodiment of the invention. 
         FIG. 17  illustrates the electrical and optical timing of a dual-frequency emitter system with relative time-shifted emitter pulses in accordance with an embodiment of the invention. 
         FIG. 18  illustrates the timing of a system with encoded emitter pulse streams and relative time-shifted emitter pulses in accordance with an embodiment of the invention. 
         FIG. 19 a -19 b    illustrates potential device layouts for optical and electrical components in accordance with an embodiment of the invention. 
         FIG. 20  illustrates the use of a device in accordance with an embodiment of the invention for detecting low-reflection objects and non-reflective objects utilizing contextual information. 
         FIG. 21  illustrates the use of a device in accordance with an embodiment of the invention in a road surface detection and analysis application. 
         FIG. 22  illustrates the use of a device in accordance with an embodiment of the invention in a road surface deflectometer application. 
         FIG. 23  illustrates a lateral view of the road surface deflectometer application. 
         FIG. 24  illustrates the use of a device in accordance with an embodiment of the invention in an autonomous vehicle application. 
         FIG. 25  illustrates the use of devices in accordance with an embodiment of the invention in an unmanned aerial vehicle application. 
     
    
    
     DETAILED DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows the configuration of the optical elements in a typical LiDAR system. The emitter  10  is a light source that is controlled by the emitter drive circuitry  18 . The beam of emitted light will typically be near collimated or slightly diverging in multi-point measurement systems and will be widely diverging in flash LiDAR systems. The profile of the emitted beam is typically controlled by a focusing lens  14 .  FIG. 1  shows the extents  22  of a slightly diverging beam. Incident light from the detector will reach the object  28 , with a portion of the light being absorbed by the object, another portion reflected at various angles, and still another portion of the light reflected off the object back toward the light source  10 . The detector  12  is typically a photodetector that may include a wavelength filter that allows only photons at or near the wavelength of the emitter  10 . A lens  16  is typically used to establish the field of view  26  of the detected photons. The detector sampling circuitry  20  will sample the detected signal at various intervals throughout the device&#39;s capture cycle. The mid-point of the emitted beam  24  determines the angle of the detected object  28  relative to the device. 
     The timing diagram in  FIG. 2  shows some of the essential electrical and optical elements of a typical emitter/detector cycle associated with  FIG. 1 . A high level  32  on the emitter drive pulse  30  controls the enabling of the emitter output  36 . The emitter drive pulse  30  is activated during emitter cycle number 0 (as shown at  34 ). The detector samples  40  are taken at periodic intervals throughout an emitter cycle. These samples are typically digital representations of an A/D converted signal from the detector. The detector intensity  38  increases at some point in time after the start of the emitter cycle. Starting at to, the detector level is sampled at each detector interval and the sampled value is stored in a detector frame buffer  42 . 
     Upon completion of the emitter/detector cycle, the frame buffer  42  is post-processed to determine the time of flight for the light. The typical equation for time of flight (tof) is: 
       tof=λ detector   *k   (Eq. 1)
         where λ detector  is the period of the detector clock
           k is the detector counter value that signifies when the reflected signal is sensed by the detector
 
For the emitter/detector cycle shown, the value of k for Eq. 1 would be 38 (the leading edge of the sampled signal),  39  (the sample at which full intensity is detected),  38 . 5  (the mid-point of the leading edge sample and the full intensity sample), or some value in this range based on a pre-determined intensity threshold value or some other interpolation technique used for sub-sample determination. The intensity of the sampled waveform will typically be the maximum intensity value  44  in the frame buffer  42 .
   
               

     Flash LiDAR systems typically utilize a single emitter to cover a scene with laser light and utilize a detector array to establish 3D point locations relative to the device. Each detector in the detector array will measure the time of flight for the first return signal, or via periodic sampling will determine the time of flight of the emitted and detected photons. 
       FIG. 3  shows a LiDAR emitter  50  for a flash LiDAR system directed toward a planar surface  52  that is positioned at an oblique angle  54  to the emitter  50 . The emitter  50  emits light for a defined period of time and the incident light packet  56  is shown as a collection of photons traveling through space at a time after the emitter  50  emits the light pulse. The incident light packet  56  is collimated and a portion of the incident photons  56  are reflected off the surface  52  back toward the light source  50 . The reflected light packet  58  will often have a different shape and different energy distribution throughout the packet depending on characteristics of the surface  52 . The reflected light packet  58  is focused onto a detector array  60  with a lens  62  or other optics. 
     Flash LiDAR systems that accurately measure time of flight for first-return photons can interpret some amount of surface angularity  54  if the time-of-flight circuitry is sufficiently fast to differentiate between photons that arrive at different first-return times. In sampling flash LiDAR systems, the sampling rate must be sufficiently fast enough in order to detect small differences in the times of flight of reflected photons. Typical response times for the sampling rate and/or processing by the time-of-flight circuitry may range from 10 picoseconds to 10 nanoseconds and may depend up the nature/frequency of the light energy that is emitted. 
     It would be an advantage for a multi-return LiDAR system to report a different angle for each return. The use of a single detector with a wide field of view like that shown in  FIG. 1  makes it difficult to differentiate reflected light angles in multi-return situations. In order to increase the accuracy and resolution for each emitted packet of light energy a new approach is desirable. Various embodiments of the present invention disclosed herein utilize a multi-detector sensing mechanism and image analysis techniques to increase the spatial accuracy (the detected angle) of detected objects. Some of the embodiments of the present invention also disclose techniques to increase the resolution (the number of object points per incident light packet) of the detected objects. Further embodiments of the present invention disclose techniques to enhance the reported data about detected objects to include information like object edges, corners, and normal angles of surfaces of objects. 
       FIG. 4  shows some of the elements of a LiDAR device  80  in accordance with various embodiments of the present invention that can be used to improve the resolution, spatial accuracy, precision and information types for detected objects. Emitter drive circuitry  94  is used to control the incident light from the one or more emitters  82 . Some embodiments herein can be implemented to enhance a single emitter device as well as a multi-emitter device. The emitter(s) can be incorporated as part of the LiDAR device  80  or can be part of a disparate device that is operably connected to the LiDAR device  80 . One differentiating aspect of the embodiments of the LiDAR system of  FIG. 4  is that the detector circuitry (controller  84  and sampling control circuitry  86 ) has precise knowledge of when the emitter(s)  82  are energized. The LiDAR device  80  contains a multi-detector configuration of an array  100  of individual detectors arranged in an embodiment of M rows and N columns. In this embodiment, each detector in the array  100  has a dedicated A/D converter  90 , and there are M×N A/D converters  90  per LiDAR device  80 . 
     In embodiments an A/D converter  90  establishes a digital output based on analog input information to a corresponding detector in the array  100 . The analog information can be in the form of a voltage, an electrical current, a charge, or any other electrical, photonic or molecular description of the converted or transformed optical signal. The digital output of the A/D  90  can be multi-bit or can be a single bit (1 or 0) based on a defined or configurable threshold. In various embodiments A/D converter  90  can take the form of a quantum effect counter whereby the digital output is a representation of the number of quantum events or quantum particles present in the transformed optical signal. 
     A frame buffer block  88  contains K frame buffers, where K represents the number of samples acquired for each detector during a single detector/emitter cycle. For example, Frame Buffer 0 represents the sampled detector values at time to for all M×N detector elements in the detector array  100 . The number of bits per detector sample will be equivalent to the number of bits produced by each A/D converter  90 . As an example, a LiDAR device  80  that has a detector array  100  of 256 rows and 256 columns will have 65,536 detectors. If each A/D converter  90  in this device has 16 bits, each frame buffer  88  will contain 1,048,576 bits, or 131,072 8-bit bytes. If the number K of samples per detector/emitter cycle is 128, there will be 16,777,216 bytes of storage in all of the frame buffers for frame buffer block  88 . 
     The sampling control circuitry  86  controls the sampling of the A/D converters  90  for each of the M×N detectors at each of the K frame buffers. Upon completion of the detector/emitter cycle the Graphics Processing Units (GPUs)  92  analyze the frame buffer  88  contents to determine the information for each detected signal in accordance with the volumetric analysis techniques described in the various embodiments of the present invention. The number of GPUs  92  per device can vary from 1 to M×N. More GPUs  92  will yield greater throughput for the device  80 . In one embodiment the number of GPUs  92  will be equal to the number of emitters utilized for each emitter/detector cycle. Each GPU  92  consists of a processing unit, instruction memory, working memory, result memory and configuration circuitry. The results of the GPU  92  analyses are stored within each GPU  92  and moved to the device memory  96  by the controller  84 . Upon completion of the data packet creation in device memory  96 , the controller initiates the transmission of the data packets via the I/O interface  98 . 
     An example of a commercially available multi-GPU device suitable for use with various embodiments of the present invention is the nVidea GEFORCE® Titan product that contains 2688 CUDA cores, wherein a CUDA core is described as a proprietary parallel computing platform and programming model that enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). For a more detailed description of this embodiment of GPU  92 , reference is made to the disclosure at http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-titan/specifications, which is hereby incorporated by reference. 
     While a multi-GPU device is used in certain embodiments, it will be recognized the processing units such as GPU  92  may be any programmable device that accepts digital data as input, is configured to process the input according to instructions or algorithms, and provides results as outputs. In an embodiment, the processing systems can include one or more central processing units (CPUs) configured to carry out the instructions stored in an associated memory of a single-threaded or multi-threaded computer program or code using conventional arithmetical, logical, and input/output operations. The associated memory can comprise volatile or non-volatile memory to not only provide space to execute the instructions or algorithms, but to provide the space to store the instructions themselves. In embodiments, volatile memory can include random access memory (RAM), dynamic random access memory (DRAM), or static random access memory (SRAM), for example. In embodiments, non-volatile memory can include read-only memory, flash memory, ferroelectric RAM, hard disk, floppy disk, magnetic tape, or optical disc storage, for example. The foregoing lists in no way limit the type of memory that can be used, as these are given only by way of example and are not intended to limit the scope of the invention. 
     The other embodiments, the processing system can include various engines, each of which is constructed, programmed, configured, or otherwise adapted, to autonomously carry out a function or set of functions. The term engine as used herein is defined as a real-world device, component, or arrangement of components implemented using hardware, such as by an application specific integrated circuit (ASIC) or field-programmable gate array (FPGA), for example, or as a combination of hardware and software, such as by a microprocessor system and a set of program instructions that adapt the engine to implement the particular functionality, which (while being executed) transform the microprocessor system into a special-purpose device. An engine can also be implemented as a combination of the two, with certain functions facilitated by hardware alone, and other functions facilitated by a combination of hardware and software. In certain implementations, at least a portion, and in some cases, all, of an engine can be executed on the processor(s) of one or more computing platforms that are made up of hardware that execute an operating system, system programs, and/or application programs, while also implementing the engine using multitasking, multithreading, distributed processing where appropriate, or other such techniques. 
     Accordingly, it will be understood that each processing system can be realized in a variety of physically realizable configurations, and should generally not be limited to any particular implementation exemplified herein, unless such limitations are expressly called out. In addition, a processing system can itself be composed of more than one engines, sub-engines, or sub-processing systems, each of which can be regarded as a processing system in its own right. Moreover, in the embodiments described herein, each of the various processing systems may correspond to a defined autonomous functionality; however, it should be understood that in other contemplated embodiments, each functionality can be distributed to more than one processing system. Likewise, in other contemplated embodiments, multiple defined functionalities may be implemented by a single processing system that performs those multiple functions, possibly alongside other functions, or distributed differently among a set of processing system than specifically illustrated in the examples herein. 
       FIG. 5  shows the optical configuration of an embodiment for a detector array  100 . A lens  102  or other optics determines the field of view  106  of the detector array  100 . The edges of the detector array  100  field of view  106  are defined by angular extents from the normal vector of the device. This same normal vector will serve as the reference vector for subsequent angular measurements for detected objects. The surface  104  shown is a portrayal of the detector array  100  field of view at a constant distance from the array  100 . In various embodiments, each detector element  108  in the array  100  may be associated with a different angle  110  within the field of view  106 . The individual detector&#39;s  108  field of view  112  will be a subset of the detector array&#39;s  100  field of view  106 . Said another way, the detector array  100  field of view  106  is the summation of all of the individual fields of view  112 . 
     For a detector array  100  with an in-focus lens  102  the individual fields of view  112  corresponding to each detector  108  should perfectly align with the fields of view for neighboring detectors. In practice, a lens  102  will almost never be perfectly in focus. Thus, the fields of view  112  of each detector  108  in a lensed system may typically overlap. Detector arrays  100  may not have optimal density in their configuration due to semiconductor layout limitations, substrate heat considerations, electrical crosstalk avoidance, or other layout, manufacturing, or yield constraints. As such, sparse detector arrays  100  may experience loss in photon detector efficiency within the device field of view  106  due to reflected photons contacting the unutilized spaces between successive detector elements  108 . 
     For non-lensed systems the field of view  112  of each detector  108  can be determined by a diffraction grating, an interferometer, a waveguide, a 2D mask, a 3D mask, or a variety of other aperture configurations designed to allow light within a specific field of view. These individual detector apertures will typically have overlapping fields of view  112  within the device field of view  106 . 
     An element of various embodiments of the present invention is the determination of an angle  110  for each detector  108 .  FIG. 5  shows a detector array  100  with a single lens  102 . Another embodiment utilizes micro lenses at each detector element  108  wherein the individual micro lenses are configured to transmit reflected light at various angles throughout the device&#39;s field of view  106 . Another embodiment utilizes detector elements  108  with waveguides at various angles throughout the device&#39;s field of view. Other embodiments utilize detector elements with apertures created from interferometers, diffraction gratings, 2D masks, 3D masks, or other aperture-forming structures to create waveguide properties at various angles throughout the device&#39;s field of view. For a single-lens  102  system like that of  FIG. 5  with a lens  102  configured to transmit in-focus light to the array  100 , the individual fields of view  112  are essentially adjacent to the fields of view of the neighboring detectors  108  in the array  100 . Out-of-focus lenses  102  will produce overlapping fields of view  112  for individual detectors  108 . Waveguide and aperture detectors will likely produce overlapping fields of view  112  for individual detectors  108 . Micro lenses will also likely produce overlapping fields of view  112  for the individual detectors  108 . All of these overlapping field-of-view embodiments produce reliable results according to the specifications herein. The features of the optical detection system of these embodiments are that multiple detector elements comprise a device&#39;s field of view  106 , and every element in the detector array is defined by the angle  110  that determines the detector  108  field of view  112 . 
     Variations will occur in the fabrication of LiDAR devices. In single-lens  102  detector array devices like that shown in  FIG. 5 , miniscule differences in the alignment of the array  100  and the lens  102  can cause differences in the detector angles between separate devices. Because of the minor fabrication and assembly differences between devices, each device will undergo a post-production characterization process. The characterization process will define the central angle  110  for each as-constructed detector element. In various embodiments, characterization data from this process is stored in non-volatile memory or in a configuration file for every device. Waveguide, micro lens and aperture devices will require similar characterization to establish angles  110  for each detector element. 
     Due to the importance of accurate determination of the optical path, in situ calibration may be desirable for devices according to various embodiments of the present invention. As an example, a LiDAR device according to an embodiment of the present invention may be used as a sensor in an autonomous vehicle. In order to protect the device it may be mounted inside a passenger vehicle affixed to the windshield behind the rear-view mirror. Since the device is facing in front of the vehicle, emitted light and reflected light will pass through the windshield on its way to and from external objects. Both components of light will undergo distortion when passing through the windshield due to reflection, refraction, and attenuation. In situ calibration for this autonomous vehicle LiDAR device may include the device emitting pre-determined calibration patterns and measuring the intensity, location, and angle of the reflected signals. The device characterization parameters would be updated to account for the modified optical path of the incident and/or reflected light based on the calibration. 
       FIG. 6  shows a device configuration with a lensed detector array  100 , a single emitter  116 , and an object  124  with a flat side with a normal vector that is roughly aligned with the normal vector of the device. The light beam from the emitter  116  has a center vector  120  and a field of view  118 . Incident photons  122  that contact the surface of an object  124  will undergo one of four main effects. First, some photons will be absorbed by the object  124  and will not be reflected from the object&#39;s surface. Second, some photons will exhibit specular (mirror-like) reflection where the angle of incidence on the surface equals the angle at which it is reflected. Third, some photons will exhibit diffuse reflection where the reflected photons project at various angles relative to the surface of the object  124  and relative to the incident angle. Fourth, other photons will exhibit retroreflection where the reflected energy is directed back toward the source of the incident energy, in this case the emitter  116 . 
     Most LiDAR systems utilize detectors that lie along or essentially along the incident axis of the emitter  116 . As such, most LiDAR systems measure the retroreflective properties of objects at the emitter wavelength. Some LiDAR systems attempt to include some of the properties of diffuse reflection into the analysis of return signals, but the intensity of the returned diffuse signal is typically very low relative to the retroreflected signal. The reflected signal has a centerline  119  and a field of view  117  that intersects the lens  102  surface and is directed toward the detector array  100 . The offset  126  between the emitter  116  and detector is relatively small compared to the object  124  distance. However, knowing the offset  126  between each detector element and the emitter  116  that produced the beam is an important parameter in working backwards to determine the precise distance to the object  124 . 
     The emitter beam is described in various embodiments as non-uniform. In practice the cross-sectional profile of this beam may have a two-dimensional Gaussian distribution with an ovoid shape. The emitted beam may likely have different divergence angles for the horizontal and vertical axis. Each emitter beam may undergo a characterization process whereby the emitted beam&#39;s intensity is determined throughout the entire cross section. The beam intensity profile may be described mathematically or numerically. Mathematical representations require less storage on the device, but may introduce more error than numerical approaches. One skilled in the art can utilize other methods for determining, storing, and manipulating beam profiles. It will be appreciated that various embodiments of the present invention may utilize any characterized beam profile in the processing of reflected signals to enhance the information produced. 
     A typical beam profile for a two-dimensional Gaussian beam will consist of a center vector and a 2D array of values with each set of values comprising a signal intensity and an angle. The angle of each sub-beam within the array can be expressed as relative to the center vector or relative to the device normal vector. An important feature of the beam profile is that the light intensity is expressed along a defined angle.  FIG. 6  shows the reflected beam  114  that has been transmitted by the lens  102  onto the detector array  100 . Every element on the array  100  is connected to an A/D converter  90  and sampling circuitry for the respective frame buffer bank  88  to capture intensity values throughout the device field of view for each sampling event. 
     The round trip distance from the emitter to the target and back to detector m,n in the array  100  is designated as the sample distance and is expressed as: 
         D   (sample)[m,n]   =V   light *tof m,n   (Eq. 2)
         where V light  is the velocity of light in the medium (atmosphere, water, oceans, space, etc.)
           where the device is used   tof m,n  is the round trip time of flight for the emitted and detected signal
 
From  FIG. 6  the sample distance is the sum of the incident and reflected distances and is expressed as:
   
               

         D   (sample)[m,n]   =D   incident   +D   (reflected)[m,n]   (Eq. 3)
         where D incident  is the distance from the emitter to the target
           D (reflected)[m,n]  is the distance from the target to detector m,n
 
Using the law of cosines, the distances from  FIG. 6  can be expressed as:
   
               

         D   incident   2   =D   (reflected)[m,n]   2  OffSet m,n   2 −2* D   (reflected)[m,n] *offset m,n *cos(90−α)  (Eq. 4)
         where D incident  is the distance from the emitter to the target
           D (reflected)[m,n]  is the distance from the target to detector m,n   offset m,n  is the offset distance from the emitter to detector m,n   α is the angle of the center point of the detected signal, expressed in degrees Solving Eq. 3 and Eq. 4 for the distance from the target to each detector:   
               

     
       
         
           
             
               
                 
                   
                     D 
                     
                       
                         ( 
                         reflected 
                         ) 
                       
                       ⁡ 
                       
                         [ 
                         
                           m 
                           , 
                           n 
                         
                         ] 
                       
                     
                   
                   = 
                   
                     
                       
                         D 
                         
                           
                             ( 
                             sample 
                             ) 
                           
                           ⁡ 
                           
                             [ 
                             
                               m 
                               , 
                               n 
                             
                             ] 
                           
                         
                         2 
                       
                       - 
                       
                         offset 
                         
                           m 
                           , 
                           n 
                         
                         2 
                       
                     
                     
                       
                         2 
                         * 
                         
                           D 
                           
                             
                               ( 
                               sample 
                               ) 
                             
                             ⁡ 
                             
                               [ 
                               
                                 m 
                                 , 
                                 n 
                               
                               ] 
                             
                           
                         
                       
                       - 
                       
                         2 
                         * 
                         
                           offset 
                           
                             m 
                             , 
                             n 
                           
                         
                         * 
                         
                           cos 
                           ⁡ 
                           
                             ( 
                             
                               90 
                               - 
                               α 
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     5 
                   
                   ) 
                 
               
             
           
         
       
     
     For values of a close to 90 degrees and offset values that are small relative to the reflected distance, the offset terms in Eq. 5 can be ignored and the reflected distance can be expressed as: 
         D   (reflected)[m,n]   =D   (sample)[m,n] /2  (Eq. 6)
 
     In an application, for example, where a is 80 degrees, the offset is 30 mm and the sample distance is 20 meters, Eq. 6 will yield a reflected distance of 10 meters while Eq. 5 will yield a reflected distance of 10.00258 meters, or roughly 2.58 mm more than the result of Eq. 6. For high precision measurements at close ranges where the distance to the object is less than 5 meters Eq. 5 can be used to compute the distances to objects. Whereas, for measurements that can be used for analysis of surface characteristics, such as road surface measurements, Eq. 6 can be used. LiDAR systems as described herein will typically be a smart sensor component of a collision avoidance system, autonomous vehicle navigation system, data collection and analysis system and/or a surveillance system. Examples of these various kinds of upstream systems for which a LiDAR system in accordance with the various embodiments can be used are described, for example, in U.S. Pat. Nos. 8,855,849 and 8,364,334, the disclosures of which are incorporated herein by reference. 
     For each measured location within the field of view the LiDAR system in accordance with at least some of the embodiments described will report 3D location information to an upstream system for the point in the form of (d, φ, θ, i) where d is the distance to the measured point or object from the device, φ is the horizontal plane angular offset from the device normal vector, θ is the vertical plane angular offset from the device normal vector, and i is the intensity of the reflected signal. U.S. patent application Ser. No. 14/251,254, which is commonly owned with the present application and the disclosure of which is hereby incorporated by reference, discloses several versions of 3D object and point location reporting that include parameters like edge features, corner features and normal vectors for the surfaces of detected objects. 
     Systems that utilize LiDAR as smart sensors typically convert the relative positional information provided by the sensor into real-world coordinates. For example, a data collection system will need to associate sensor-provided points to actual real-world features and objects. The data collection system will utilize its trajectory information, typically described utilizing 6 DOF (degrees of freedom) nomenclature like (X, Y, Z, roll, pitch, yaw) for a reference point on the system, the relative offset measurement between the sensor reference point and the system reference point, and the relative location(s) of the point(s) provided by the sensor to establish the real-world coordinates of the point(s). 
       FIG. 7  shows a close-up of the reflected light packet  70  subject to the volumetric analysis in accordance with various embodiments of the present invention. For purposes of the present invention, it will be understood that a volumetric analysis includes an analysis of frame buffers corresponding to the LiDAR detectors that is performed for multiple points in time or samples within that frame buffer such that there are multiple periodic samples that may be evaluated to reconstruct and analyze the reflected light energy. For example, the vertical lines  72  represent a periodic sampling of the reflected light by the LiDAR detector sampling circuitry  86  as shown, for example, in  FIG. 4 . At each sampling time a frame buffer is created that constitutes a single-bit or multi-bit intensity value for each discrete detector in the detector array  100 . 
     By utilizing volumetric reconstruction and analysis of the reflected light packet  70 , embodiments of the present invention can determine more information about the surface characteristics of the object than in the flash LiDAR case as shown in  FIG. 1 . Changes in the energy distribution along the axis of the light packet will yield information about the contour of the surface. Transformations of the energy distribution between the characterized incident wave and the reflected wave will yield information about the texture of the surface. 
     A sample comparison of surface angle measurements for first return system of conventional flash LiDAR and a GPU-based volumetric analysis in accordance with various embodiments of the present invention highlights the difference in surface angle determination capabilities. For this sample comparison, assume: 
     1) the speed of light is 0.3 mm/picosecond, 
     2) a 10 picosecond period sampling clock, 
     3) incident energy contacting a sloped surface of 8 degrees from the normal vector, 
     4) incident light circular field of view of diameter 4 centimeters, and 
     5) a detector grid of 5×5 that covers the field of view of the returned signal. 
     With these assumptions, the first-return system of conventional flash LiDAR systems will obtain only one sample during the leading-edge portion of a returned light energy. The values in the detector array of the conventional Flash LiDAR system will be unable to resolve a difference between the eight-degree sloped surface and a 0.5 degree sloped surface. The error in this case would be approximately +/−4 degrees. In contrast, the GPU-based system with volumetric analysis in accordance with various embodiments of the present invention utilizes the leading edge sample and at least one steady state sample during the period of the light pulse to determine the angle of the measured surface to +/−1.5 degrees. 
       FIG. 8  shows the timing diagram for the sampling of the detectors for a single object. The emitter drive pulse  128  activates the emitter output  130  at emitter time t 0 . There are 48 samples acquired for this emitter/detector cycle, denoted as times to through t 47  on the detector sampling timeline  134 . The intensity of the reflected light at the detector elements is shown as detector m,n intensity  132 . In the frame buffer block  136 , there is a frame buffer for each detector sample event. Each frame buffer contains a multi-bit value for each detector in the array  100 . For a device that has M*N detectors and A/D converters with L bits, each frame buffer will have M*N*L bits. If K represents the number of samples per detector cycle, the frame buffer block  136  will contain M*N*L*K bits. 
       FIGS. 9A-9F  display[s] frame buffers for three sample times for the single-object example. The first frame buffer  140  ( FIG. 9B ) is for t 38 , the second frame buffer  144  ( FIG. 9D ) is for times t 39  through t 41 , and the last frame buffer  148  ( FIG. 9F ) is for t 42 . The values in each cell correspond to the sampled intensity value for each detector element. The maximum intensity values  150 ,  152 ,  154  are denoted in each frame buffer. The 3D surfaces  156 ,  158 ,  160  (see  FIGS. 9A, 9C, and 9E ) graphically show a visualization for understanding the contents of the frame buffers  140 ,  144 ,  148  where each element on the x-y plane of the graph  138 ,  142 ,  146  represents a detector in the array and the z value (height) of the surface  156 ,  158 ,  160  represents the intensity value of each element in the array. 
     Frame buffer t 38    140  establishes the time of first return as t=37.5 time periods. Utilizing Eq. 1 and Eq. 2 yields the D sample  for this object, which is the length of the optical path from the emitter to the object and back to the detector array. With a characterized emitter at a known central angle, a characterized beam profile and a known D sample  the theoretical reflected beam profile can be compared to the sampled profile. If m,n(k) represents the detector frame buffer at time k and m,n(D sample ) represents the expected frame buffer values for the emitter as received from a normal object of constant intensity at distance D sample , the ratio of sampled to expected values for each detector can be expressed as: 
       Ratio m,n   =m,n ( D   sample )/ m,n ( k )  (Eq. 7)
 
     The expected frame buffer in this embodiment will typically cover a small percentage of the elements in a detector frame buffer since the field of view of the emitted beam will usually be rather small compared to the detector array field of view. The area of interest for Eq. 7 will be confined to those pixels that have an expected value that is non-zero and above a defined threshold. Having established the localized ratios of actual values to expected values, the processing as part of the volumetric analysis can identify the pixels with a constant ratio within the expected value array. These constant-ratio pixels will be grouped together as being from the same surface. For constant-ratio analysis the ratios of the pixels do not need to be equivalent. The ratio analysis may search for pixel ratios that fall within a defined range based on the pixel ratios from neighboring pixels. The analysis of near-constant ratios to determine surfaces is referred to as segmentation and will be utilized in subsequent examples. 
     Constant-ratio segmentation analysis, such as in accordance with Eq. 7, can utilize a somewhat large intensity range for grouping pixels together on the same object or surface. Object qualities like surface texture, color, and temperature will result in varying reflective characteristics on the surface of the object. As a result, the intensity values in the frame buffer will vary accordingly. Analysis that utilizes a large range for constant-ratio segmentation can be expanded to include analysis and identification of the surface qualities like texture, color, temperature, friction, density, and surface type. 
     For each object detected within the frame buffers, the peak detector intensity is identified. The peak intensity is used to determine the reported intensity of the object. 
     
       
         
           
             
               
                 
                   
                     Intensity 
                     
                       
                         [ 
                         object 
                         ] 
                       
                       ⁢ 
                       
                         ( 
                         
                           m 
                           , 
                           n 
                         
                         ) 
                       
                     
                   
                   = 
                   
                     
                       A 
                       * 
                       
                         I 
                         max 
                       
                       * 
                       
                         
                           I 
                           
                             [ 
                             
                               m 
                               , 
                               n 
                             
                             ] 
                           
                         
                         ⁡ 
                         
                           ( 
                           k 
                           ) 
                         
                       
                     
                     
                       
                         I 
                         
                           [ 
                           
                             m 
                             , 
                             n 
                           
                           ] 
                         
                       
                       ⁡ 
                       
                         ( 
                         
                           D 
                           sample 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     8 
                   
                   ) 
                 
               
             
           
         
       
         
         
           
             where Intensity [object](m,n)  is the computed intensity of the object with a peak intensity value at location (m,n)
           A is a scaling factor that depends on the efficiency of the device   I max  is the maximum value allowed for the computed intensity   I [m,n] (k) is the measured intensity value for location m,n in the frame buffer for time k   I [m,n] (D sample ) is the expected intensity value for location m,n at an object distance of D sample      
         
           
         
       
    
     Since the typical beam from an emitter is diverging, objects farther from the emitter will receive less incident radiation than those objects closer to the emitter. The angular characterization of each emitter will establish the intensity of the emitted beam throughout the emitter&#39;s field of view. For every object distance, simple geometry may be used to compute the incident radiation (using an interpolation method for an actual angle between two discrete angles in our light source characterization and calibration) hitting the actual object. 
     In the determination of the reported intensity of an object, in various embodiments the processing system knows how much incident radiation intersects with the object and how much retroreflected radiation is returned toward the photon source. An “ideal retroreflector” is an object that reflects all incident photons back toward the source of the photons. For every object distance, there will be an expected return signal for the ideal retroreflector. This expected return signal is a function of the emitter characterization (the diverging angles throughout the emitter field of view), the device calibration (the angular and intensity adjustments due to the medium), and the distance to the object. The intensity conversion from the detector intensities to the reported intensity of an object is governed by the I [m,n] (D sample ) term of Eq. 8. 
       FIG. 10  shows a typical roadside scene. The field of view  74  of an emitted beam from a LiDAR device  78  mounted on a vehicle  79  traveling along the road is shown on the side of the foreground building  76 . The surface of the building  76  is likely uniform intensity, but the normal vector to the building  76  side is not aligned with the normal vector of the LiDAR device  78 . For the non-normal building  76  side, photons from the emitter will reach the building  76  at the left side of the emitter field of view  74  before they reach the building  76  at the right side of the field of view  74 . In turn, the return paths for photons on the right side will be longer than those return paths on the left side. Stated another way, the D [sample](m,n)  values will be lower for detectors on the left side of the returned signal than they will be on the right side. 
     Analysis of frame buffers at the leading and trailing edges of return packets from the roadside scene will yield information about the angle of the side of the building.  FIGS. 11A-11F  show[s] three frame buffers  246 ,  250 ,  254  (see  FIGS. 11B, 11D, and 11F ) and the associated 3D surfaces  248 ,  252 ,  256  (see  FIGS. 11A, 11C, and 11E ) for the sampled reflections from the building side. Segmentation analysis of the steady-state frame buffer  250  determines that there is a single object of near-uniform intensity. Furthermore, frame buffer analysis determines there are no signal returns at other sampling times throughout the emitter/detector cycle. The leading-edge frame buffer  246  is a collection of sampled values for all detectors at a sampling time that is early in the received packet cycle. Using Eq. 7 the ratio is computed for all detectors in the leading-edge frame buffer  246 . Analysis of the frame buffer ratio map identifies a detector  258  at which the ratio is a maximum. This maximum-ratio location is labeled m,n MaxRatio (leading). 
     In various embodiments, the steady-state frame buffer  250  corresponds to a sample time that is in the middle of the return packet. These steady-state values are experiencing small variations from sample to sample since they reflect time periods whereby all of the incident photons are intersecting with the object throughout the emitter field of view and all reflected photons throughout the field of view. Using Eq. 7 the ratio is computed for all detectors. If the surface of the intersecting object has uniform reflectivity and a constant normal vector throughout the emitter field of view, the ratio analysis on the steady-state frame buffer should yield relatively constant ratios throughout the relevant detector area. The detector of maximum intensity  260  will have a ratio at steady state that is consistent with the ratios of neighboring detectors. 
     The trailing-edge frame buffer  254  is a collection of sampled values for all detectors at a sampling time that is late in the received packet cycle. Using Eq. 7 the ratio is computed for all detectors in the trailing-edge frame buffer  254 . Analysis of the frame buffer ratio map identifies a detector  262  at which the ratio is a maximum. This maximum-ratio location is labeled m,n MaxRatio (trailing). 
     Having determined the locations of the maximum ratios of the leading and trailing edges of the received packet, the GPU can compute the normal vector for the object surface. 
         uvw= 2* D   1 *sin[(angle- m   2 −angle- m   1 )/2],
 
       2* D   1 *sin[(angle- n   2 −angle- n   1 )/2],
 
       √[ u -comp 2   +v -comp 2 +( D   2   −D   1 ) 2 ]*tan[90−tan −1 (( D   2   −D   1 )/√( u -comp 2   +v -comp 2 ))]}  (Eq. 9)
 
     Where D 1 =D [reflected](m,n)  for m,n MaxRatio (leading), 
     D 2 =D [reflected](m,n)  for m,n MaxRatio (trailing), 
     Angle-m 1  is the x component of the angle for m,n MaxRatio (leading), 
     Angle-m 2  is the x component of the angle for m,n MaxRatio (trailing), 
     Angle-n 1  is the y component of the angle for m,n MaxRatio (leading), 
     Angle-n 2  is the y component of the angle for m,n MaxRatio (trailing), 
     u-comp is the u component of the uvw notation for Eq. 9 
     v-comp is the v component of the uvw notation for Eq. 9 
     The determination of maximum-ratio locations in the detector array depends on a sufficiently high sampling rate for the detectors. For sampling rates that are somewhat lower than ideal, extrapolation is used to establish accurate maximum-ratio locations. For example, a sampling system that captures a single frame buffer during the “ramp-up” part of the cycle, a single frame buffer during the “ramp-down” part of the cycle, and multiple steady state frame buffers will underestimate the locations of maximum ratios for both the leading and trailing edges. For a “ramp-up” frame buffer the location of the sample in time can be estimated by comparing the additive intensity of the ramp-up frame buffer to the additive intensity of the steady-state frame buffer. 
     
       
         
           
             
               
                 
                   
                     Pct 
                     ⁡ 
                     
                       ( 
                       leading 
                       ) 
                     
                   
                   = 
                   
                     
                       Σ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           Intensity 
                           
                             m 
                             , 
                             n 
                           
                         
                         ⁡ 
                         
                           ( 
                           
                             ramp 
                             ⁢ 
                             
                               - 
                             
                             ⁢ 
                             up 
                           
                           ) 
                         
                       
                     
                     
                       Σ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           Intensity 
                           
                             m 
                             , 
                             n 
                           
                         
                         ⁡ 
                         
                           ( 
                           
                             steady 
                             ⁢ 
                             
                               - 
                             
                             ⁢ 
                             state 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     10 
                   
                   ) 
                 
               
             
           
         
       
         
         
           
             where Pct(leading) is the percentage of leading edge time that has elapsed from the start of the leading edge of the light packet until the sampling of the ramp-up frame buffer.
           Intensity m,n (ramp-up) is the intensity value of location m,n in the ramp-up frame buffer.   Intensity m,n (steady-state) is the intensity value of location m,n in the steady-state frame buffer.   
         
           
         
       
    
     The Pct(trailing) number is obtained in a similar way by computing the ratio of the additive intensity of the ramp-down frame buffer to the additive intensity of the steady-state frame buffer. Using Eq. 10 for leading and trailing end percentages, the maximum ratio locations can be determined by: 
     
       
         
           
             
               
                 
                   
                     
                       m 
                       MaxRatio 
                     
                     ⁡ 
                     
                       ( 
                       leading 
                       ) 
                     
                   
                   = 
                   
                     
                       m 
                       
                         r 
                         - 
                         u 
                       
                     
                     - 
                     
                       
                         ( 
                         
                           
                             m 
                             
                               r 
                               - 
                               u 
                             
                           
                           - 
                           
                             m 
                             
                               r 
                               - 
                               d 
                             
                           
                         
                         ) 
                       
                       * 
                       
                         
                           Pct 
                           ⁡ 
                           
                             ( 
                             leading 
                             ) 
                           
                         
                         
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               leading 
                               ) 
                             
                           
                           + 
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               trailing 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     11 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     
                       n 
                       MaxRatio 
                     
                     ⁡ 
                     
                       ( 
                       leading 
                       ) 
                     
                   
                   = 
                   
                     
                       n 
                       
                         r 
                         - 
                         u 
                       
                     
                     - 
                     
                       
                         ( 
                         
                           
                             n 
                             
                               r 
                               - 
                               u 
                             
                           
                           - 
                           
                             n 
                             
                               r 
                               - 
                               d 
                             
                           
                         
                         ) 
                       
                       * 
                       
                         
                           Pct 
                           ⁡ 
                           
                             ( 
                             leading 
                             ) 
                           
                         
                         
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               leading 
                               ) 
                             
                           
                           + 
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               trailing 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     12 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     
                       m 
                       MaxRatio 
                     
                     ⁡ 
                     
                       ( 
                       trailing 
                       ) 
                     
                   
                   = 
                   
                     
                       m 
                       
                         r 
                         - 
                         u 
                       
                     
                     + 
                     
                       
                         ( 
                         
                           
                             m 
                             
                               r 
                               - 
                               u 
                             
                           
                           - 
                           
                             m 
                             
                               r 
                               - 
                               d 
                             
                           
                         
                         ) 
                       
                       * 
                       
                         
                           Pct 
                           ⁡ 
                           
                             ( 
                             trailing 
                             ) 
                           
                         
                         
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               leading 
                               ) 
                             
                           
                           + 
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               trailing 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     13 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     
                       n 
                       MaxRatio 
                     
                     ⁡ 
                     
                       ( 
                       trailing 
                       ) 
                     
                   
                   = 
                   
                     
                       m 
                       
                         r 
                         - 
                         u 
                       
                     
                     + 
                     
                       
                         ( 
                         
                           
                             m 
                             
                               r 
                               - 
                               u 
                             
                           
                           - 
                           
                             m 
                             
                               r 
                               - 
                               d 
                             
                           
                         
                         ) 
                       
                       * 
                       
                         
                           Pct 
                           ⁡ 
                           
                             ( 
                             trailing 
                             ) 
                           
                         
                         
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               leading 
                               ) 
                             
                           
                           + 
                           
                             Pct 
                             ⁡ 
                             
                               ( 
                               trailing 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     Eq 
                     . 
                     
                         
                     
                     ⁢ 
                     14 
                   
                   ) 
                 
               
             
           
         
       
         
         
           
             where m r-u —is the horizontal component of the max-ratio location in the ramp-up frame buffer
           n r-u —is the vertical component of the max-ratio location in the ramp-up frame buffer   m r-d —is the horizontal component of the max-ratio location in the ramp-down frame buffer   n r-d —is the vertical component of the max-ratio location in the ramp-down frame buffer   
         
           
         
       
    
     The extrapolated MaxRatio locations from Eqs. 11-14 for the leading and trailing edges are utilized in Eq. 9 to determine the normal vector for the surface of the object. 
     One measure of the precision of a LiDAR device is how accurately the measured distances to objects are reported by the device. For example, using a speed of light of 0.3 mm/picosecond and a LiDAR system according to an embodiment that utilizes a detector sampling frequency of 100 picoseconds, the precision of the system would be based on frame buffers sampled at 30 mm increments. Depending on GPU post-processing, the actual object distances could be measured to +/−7.5 mm increments. In some embodiments it is desirable to utilize lower sampling frequencies to reduce device cost and/or increase manufacturability. In other embodiments it is desirable to increase the precision of the device by increasing the effective sampling rate. 
       FIG. 12  shows an embodiment of a LiDAR device  161  in accordance with the present invention that includes a detector array  162  with a single emitter  164 . The device  161  is operated in an environment whereby the device  161  and an object  165  are stationary, or whereby the relative movement between the device  161  and the object  165  is relatively small during the timeframe of the emitter cycles. Small relative movement of the device and/or scene could be defined as the movement of less than the inter-element spacing in the detector array. For embodiments wherein the relative movement is small the processing software can assume the axis of the 3D volumetric reconstruction is normal to the detector elements in the array. For relative movement greater than the inter-element spacing in the detector array during the timeframe of the emitter cycles the frame buffer analysis software will need to construct 3D volumetric representations of the sampled waveforms whereby the representations have an axis that is non-normal to the detector elements in the array. 
     The emitter  164  is directed toward a planar surface  166  of the object  165  that is positioned at an oblique angle  168  to the emitter  164 . The emitter  164  emits a series of light pulses, each for a defined period of time and the incident light packets  170  are shown as collections of photons traveling through space at a time after the emitter  164  emits the light pulses. The incident light packets  170  are all uniform in their shape, duration, and intensity. The only differences in the incident light packets are their positions within the emitter timing cycle and their relative relationships to the detector sampling clock. Incident photons  170  are reflected off the surface  166  back toward the light source  164 . The reflected light packets  172  will typically differ from the incident light packets  170  primarily due to the characteristics of the object&#39;s surface  166 . Reflected light packets  172  will often have a different shape and different energy distribution throughout the packets. The modified shape and energy distribution are some of the characteristics that embodiments will detect, analyze, and interpret to determine myriad descriptions of the object&#39;s characteristics. The reflected light packets  172  will all be essentially the same shape and energy distribution as the other reflected light packets, with the only differentiating factor being their positions within the detector timing cycle and their relative positions to the detector sampling clock. It is the uniformity of the reflected light packets  172  and their relative timing position within the detector clock cycle that is exploited in various embodiments of the present invention to reconstruct a high-precision high effective sampling rate volumetric reconstruction of the reflected light packets. The reflected light packets  172  are focused onto a detector array  162  with a lens  174 . 
       FIG. 13  shows the electrical and optical timing for a multi-pulse embodiment. The emitter clock  180  is an electrical signal that is used to determine the start time for the emitter drive pulse. Each activation of the electrical emitter drive pulse results in a corresponding activation of the optical emitter output  192 . The detector sampling clock  194  determines the sampling rate of the detector frame buffers. Utilizing positive transition logic, one detector frame buffer is filled with sampled detector data on each rising edge of the detector sampling clock  194 . In a traditional system with a single-pulse emitter cycle, the start time for the emitter drive pulse is typically synchronized with the detector sampling clock  194 . 
     In the  FIG. 13  embodiment the frequency of the emitter clock  180  is four times the frequency of the detector sampling clock  194 . The four emitter pulses  182 ,  184 ,  186 ,  188  are offset in time by one full emitter activation period and by a fraction of the detector sampling clock  194 . The start time for the emitter drive pulse for the first emitter period  182  is delayed by ¼ of a detector clock period, or one emitter clock period. The start time for the emitter drive pulse for the second emitter period  184  is delayed by ½ of a detector clock period, or two emitter clock periods. The start time for the emitter drive pulse for the third emitter period  186  is delayed by ¾ of a detector clock period, or three emitter clock periods. The start time for the emitter drive pulse for the fourth emitter period  188  is delayed by one detector clock period, or four emitter clock periods. At a point later in time (around t 84  in  FIG. 13 ), the reflected signals begin energizing the detector input  196  circuitry. The returned signals  200 ,  202 ,  204 ,  206  correspond to the reflected portions of the four pulses emitted previously. 
       FIG. 14  shows the 3D profiles of the four reflected packets discussed in  FIG. 12  and  FIG. 13 . Vertical dashed lines  218  show the relative location of the sample that is captured in each frame buffer. Each sample line represents a positive transition of the detector sampling clock and a corresponding filling of the frame buffer with the intensity information for each detector in the array. The first return packet  208  is shown along with the sampling times (t n , t n+1  and t n+2 ) within the packet  208 . The second return packet  210 , which energizes the device detectors at a later point in time, shows the sampling times (t n+K , t n+K+1  and t n+K+2 ) within the packet  210 . Since the start time of the incident packet for the second pulse was delayed by ¼ of the sampling clock period, the samples within the second light packet  210  are captured at different locations, corresponding to a time difference equal to ¼ of the detector sampling clock period, within the second light packet. The third returned light packet  212  and the fourth returned light packet  214  are both shown with their relative times (t n+2K , t n+2K+1  and t n+2K+2  for the third packet and t n+3K , t n+3K+1  and t n+3K+2  for the fourth packet) of the detector sampling clock period. For the detector sampling times of the form: 
       Detector sampling time= t   n+aK+b   (Eq. 15)
         n signifies the detector sample time at which any detector intensity is first realized for the series of detected waveforms   K is the number of detector clock cycles between successive emitted pulses   a is the pulse number within the series of detected waveforms, with a=0 for the first pulse   b is the sample sequence number within a detected waveform       

     The last item in  FIG. 14  portrays the light packet model  216  that is produced by sampling the incoming light packets in a multi-pulse, relative time-shifted system as depicted in  FIG. 12  and  FIG. 13 . The samples  220  shown in the model represent the samples that are acquired for the four relative time-shifted return signals. The effective sampling frequency for the volumetric model  216  is four times the actual sampling frequency for the detector frame buffers. 
         f   effective   =N*f   sampling   (Eq. 16)
         where f effective  is the effective sampling frequency of the device,
           N is the number of pulses used in a multi-pulse embodiment   f sampling  is the sampling frequency of the detector frame buffers
 
For each phase-shifted emitter pulse the start times for the N emitter cycles are phase shifted by 1/N, 2/N, 3/N, . . . N/N detector clock periods. High-speed electrical systems are typically described using sampling periods instead of sampling frequencies. Expressing the relationship from Eq. 16 as a sampling period yields:
   
               

         p   effective   =p   sampling   /N   (Eq. 17)
         where p effective  is the effective sampling period for the relative time-shifted system
           N is the number of pulses used in a multi-pulse embodiment   p sampling  is the sampling period of the detector frame buffers
 
In the multi-pulse case where N=4, the emitter drive pulse offsets from the detector sampling clock were established by integer multiples of the emitter clock. Utilizing synchronous clocking methods, the emitter clock frequency will typically be equal to the effective sampling frequency. While utilizing synchronous clocks is practical for N=4, the use of synchronous clocks for N=100 is problematic for embodiments with high detector sampling frequencies. As such, asynchronous methods are desirable for higher-N applications whereby the emitter pulse start times for the 1/N, 2/N, 3/N, N/N offsets from the detector clock for the N pulses is selectable utilizing digital delay logic or some other semiconductor-based asynchronous delay circuitry.
   
               

     As a practical example, assume a LiDAR system embodiment that, due to electrical considerations, has a maximum sampling frequency of 1 GHz, which corresponds to a minimum sampling period of 1 nSec. Utilizing half-cycle interpolation and a speed of light of 300 mm per nanosecond, the precision of the described device for distance measurement would be +/−15 cm. Utilizing the same LiDAR system, but with an N-pulse time-shifted configuration as described herein, with N being equal to 100, the effective sampling rate would be 100 GHz, the effective sampling period would be 10 picoseconds, and the precision of the distance measurement would be +/−1.5 mm. 
     One skilled in the art will recognize that the sampling period does not need to be uniform throughout the detector sampling cycle. In addition, the offsets for emitter start pulses from the detector sampling clock are not required to be a uniform offset for each successive emitter pulse. The essential elements of the embodiment are that N equally shaped (duration, amplitude, and frequency) emitter pulses are utilized in succession, with each of the N pulses starting at a different relative offset in time from the detector sampling clock. 
     The range of a LiDAR device is the maximum distance at which objects of interest can be measured. Objects that are highly retroreflective at the given emitter wavelengths will have longer distances at which they can be measured. The range of a particular LiDAR device can be extended by increasing the emitter power and/or increasing the detector sensitivity. Both methods add cost and complexity. One technique that has been utilized to some success to increase range is continuous waveform (CW) imaging where the detector circuitry is tuned to interpret a chirp frequency, defined as the Δf of the incident and reflected frequencies. The incident waveform is typically a portion of the emitted waveform directed toward the detector with an interferometer. The emitted waveform will typically have a changing frequency throughout the emitter cycle. The distance to the reflective object in a CW LiDAR system is a function of the chirp frequency of the interferometer-provided incident and reflected waveforms. The details of implementing CW LiDAR with chirp frequency functionality are described, for example, in U.S. Pat. Nos. 6,118,518 and 6,181,463, the disclosures of which are hereby incorporated by reference. 
       FIG. 15  shows a configuration that utilizes multi-frequency techniques similar to those utilized in CW LiDAR systems but without the interferometer to extend the range of an array-based LiDAR device. A secondary emitter  222  is added to the configuration with a field of view  224  that is equal to or greater than the field of view  118  of the primary emitter  116 . The frequency of the secondary emitter  222  radiation will be at a constant frequency throughout its duration, but the frequency will be different than the emitted frequency of the primary emitter  116 . The frequency difference Δf is utilized to detect objects that are beyond the range of the primary emitter  116  due to the distance of the object from the emitter or the retroreflective properties of the object. 
       Δ f   DF   =f   pnmary   −f   secondary   (Eq. 18)
         where Δf DF  is the frequency difference in a system that utilizes dual frequency techniques
           f pnmary  is the frequency of the signals from the primary emitter   f secondary  is the frequency of the signals from the secondary emitter   
               

       FIG. 16  shows a timing diagram for an embodiment with dual-frequency emitters and the detection of a single object. The objective of a dual-emitter, dual-frequency embodiment is to establish distance measurement capabilities for objects that are out of range for single-frequency emitters. The primary emitter drive pulse  226  is activated for three emitter clock periods and the primary emitter output  228  is activated for a similar time. The secondary emitter drive pulse  230  is activated for one emitter clock period and the secondary emitter output  232  activated for a similar time. For embodiments whereby sampled frame buffers are analyzed for detected objects angular characteristics, the secondary emitter output should not be energized during the transition times for the primary emitter pulse  228 . Furthermore, the time difference between the leading edges of the two emitter pulses and the trailing edges of the two emitter pulses should be sufficient to allow two detector sampling periods between the pairs of successive edges. The retroreflected information from the object is represented by the detector intensity  234  signal. The intensity values shown here are analyzed by the GPU and deemed as not having sufficient amplitude to perform volumetric analysis, segmentation analysis, constant ratio processing and./or leading/training edge analysis. Therefore, frequency analysis is performed to determine time of flight processing for the object. 
     Fast Fourier Transform (FFT) processing is performed on each location in the detector array to determine time of flight for the detected objects. The number of frequency bins for FFT processing is defined as: 
       # of bins=Samples/2  (Eq. 19)
         where # of bins is the number of frequency bins for the FFT analysis
           Samples is the number of samples collected for the FFT analysis   
               

     The maximum frequency detectable with FFT is the Nyquist frequency, or ½ the detector sampling frequency. The bin resolution is defined as: 
         Bin  resolution= f   S   /S   (Eq. 20)
         Where f S  is the detector sampling frequency
           S is the number of samples collected   
               

     Referring again to  FIG. 16 , as a practical example the system utilizes a sampling frequency of 500 MHz, a detector sampling clock  236  period of 2 nSec, detector frame buffers with 128 samples, a primary emitter wavelength of 1550.001 nanometers and a secondary emitter wavelength of 1550.002 nanometers. An FFT analysis of the frame buffers by the GPU will detect a maximum frequency of 250 MHz, will utilize 64 bins with each bin having a resolution of 3.90625 MHz. The Δf of the primary and secondary emitters is 125 MHz, which is below the maximum frequency threshold. The FFT analysis will yield the amplitudes of the various frequency components for each frequency bin at each sampling time. Upon completion of the FFT the GPU will analyze the 125 MHz values to determine the sample locations at which this frequency yielded a signal. The amplitude of the 125 MHz frequency components at the sampling times are utilized to determine the time of flight for each detector element and the intensity value to be reported to the upstream application. 
     In practice the wavelength of emitters in a dual-frequency system may drift due to aging, fabrication tolerances, temperature, or environmental reasons. Furthermore, the frequencies of individual emitters may drift more than their companion emitters within the same device. In various embodiments modifications that adjust FFT parameters according to changing Δf values are incorporated to account for these drift factors. 
     The techniques disclosed herein can be utilized in a single-emitter configuration with a varying output frequency and an interferometer. The FFT analysis is performed in a similar fashion. The emitter frequency is constantly varying and the detected frequency in the interferometer version will vary depending on the distance to the object. The frequency ramp of the emitter should be confined so that Δf, the difference between the minimum and maximum frequencies, is less than ½ the sampling frequency of the detectors. 
     In various embodiments modifications to the system shown in  FIG. 16  are made whereby the relative pulse widths are changed, the ratio of the primary to secondary widths are changed, the secondary emitter provides either the leading-edge or trailing-edge portion of the convolved signal, the amount of non-overlap between the signals is changed, or there exists 100% overlap with the signals. These modifications are all consistent with an embodiment that utilizes frequencies from two emitters that are energized over a field of view whereby there is some overlap in the time domain of the emitted signals and possibly some non-overlap in the time domain, thus allowing volumetric analysis of the detected signals that are of sufficient intensity for singular emitted signals. Three or more emitters with overlapping fields of view can also be utilized by selecting emitter wavelengths that produce Δf values for each emitter pair that will yield FFT results in different frequency bins for each pair. 
     In various embodiments of these multi-frequency techniques the use of transformation or other processing techniques known in the art may be substituted in place of FFT analysis, provided that such transform or processing technique can meet the requirements of detecting the presence of the beat frequency Δf at various locations throughout the sampled frame buffers. 
     LiDAR systems can be susceptible to crosstalk and other interference from energy sources at or near the target device frequencies. The use of multi-frequency emitters and Δf analysis techniques and other similar embodiments can allow for the detection of retroreflected device signals, even in noisy environments. FFT analysis on sampled frame buffers will identify the sampling times at which the Δf occurred and will identify the amplitude (intensity) of the Δf signal at those times. Utilizing Eq. 8 will yield the intensity of this detected signal, where I [m,n] (k) is ½ the value of the intensity reported by FFT analysis. 
       FIG. 17  shows the electrical and optical timing for a multi-pulse embodiment with emitters at two frequencies. In this embodiment the emitter clock is a signal that is used to determine the start time for the emitter drive pulses. Each activation of the electrical emitter drive pulses results in a corresponding activation of the optical emitter outputs. The detector sampling clock determines the sampling rate of the detector frame buffers. Utilizing positive transition logic, one detector frame buffer is filled with sampled detector data on each rising edge of the detector sampling clock. In a traditional system with a single-pulse emitter cycle, the start time for the emitter drive pulse is typically synchronized with the detector sampling clock. In the  FIG. 17  embodiment the frequency of the emitter clock is four times the frequency of the detector sampling clock. The four primary emitter pulses  238  and the four secondary emitter pulses  240  are offset in time by an emitter pulse cycle time and by a fraction of the detector sampling clock. The start times for the primary and secondary emitter drive pulses for the first emitter period are delayed by ¼ of a detector clock period, or one emitter clock period. The start times for the primary and secondary emitter drive pulses for the second emitter period are delayed by ½ of a detector clock period, or two emitter clock periods. The start times for the primary and secondary emitter drive pulses for the third emitter period are delayed by % of a detector clock period, or three emitter clock periods. The start times for the primary and secondary emitter drive pulses for the fourth emitter period are delayed by one detector clock period, or four emitter clock periods. 
     At a point later in time (around t 84  in  FIG. 17 ), the reflected signals begin energizing the detector input circuitry. The returned signals  241 ,  242 ,  243 ,  244  correspond to the reflected portions of the four primary and four secondary pulses emitted previously. 
     Emitters operating at different frequencies are utilized to establish distance measurement capabilities for objects that are out of range for single-frequency emitters. The primary emitter drive pulse  238  is activated for three emitter clock periods. The secondary emitter drive pulse  240  is activated for one emitter clock period. For embodiments whereby sampled frame buffers are analyzed for detected objects angular characteristics, the secondary emitter output should not be energized during the transition times for the primary emitter pulse  238 , or the primary and secondary emitters should be energized with 100% overlap. Furthermore, the time difference between the leading edges of the two emitter pulses and the trailing edges of the two emitter pulses should be sufficient to allow two detector sampling periods between the pairs of successive edges. The retroreflected information from the object is represented by the detector input. The intensity values shown here are analyzed by the GPU and deemed as not having sufficient amplitude to perform volumetric analysis, segmentation analysis, constant ratio processing and/or leading/training edge analysis. Therefore, frequency analysis is performed to determine time of flight processing for the object. 
     FFT processing is performed on each location in the detector array to determine time of flight for the detected objects. By utilizing Eq. 17 and Eq. 18 the FFT parameters are established for the number of frequency bins, the frequency resolution of each bin and the number of samples needed for the frequencies utilized by the primary and secondary emitters. Since the sampled waveforms are a result of relative time-shifted emitter pulses, the sampled FFT values can be utilized to reconstruct the higher effective sampling rate waveform according to Eq. 15. 
     As a practical example the system in  FIG. 17  utilizes a sampling frequency of 500 MHz, a detector sampling clock period of 2 nSec, detector frame buffers with 128 samples, a primary emitter wavelength of 1550.001 nanometers and a secondary emitter wavelength of 1550.002 nanometers. An FFT analysis of the frame buffers by the GPU will detect a maximum frequency of 250 MHz, will utilize 64 bins with each bin having a resolution of 3.90625 MHz. The Δf of the primary and secondary emitters is 125 MHz, which is below the maximum frequency threshold. The FFT analysis will yield the amplitudes of the various frequency components for each frequency bin at each sampling time. Upon completion of the FFT the GPU will analyze the 125 MHz values to determine the sample locations at which this frequency yielded a signal. The amplitude of the 125 MHz frequency components at the sampling times are utilized to determine the time of flight for each detector element and the intensity value to be reported to the upstream application. Since this example utilized four relative time-shifted emitter pulse pairs with start times offset by ¼ of a detector clock period for each subsequent pair, the effective sampling frequency is 2 GHz, or four times the detector sampling frequency. In turn, the effective sampling period is 500 picoseconds, or ¼ of the detector sampling period. The measurement precision of the four-pulse, dual-frequency emitter system is increased by a factor of four for objects that are out of range for a single-frequency emitter embodiment. 
     LiDAR systems can be susceptible to crosstalk and other interference from energy sources at or near the target device frequencies. Multi-emitter LiDAR systems can emit locally unique waveforms, thus allowing detection circuitry to differentiate the target device reflected signals from the crosstalk or interference signals. U.S. patent application Ser. No. 14/078,001, which is commonly owned with the present application and the disclosure of which is hereby incorporated by reference, discloses an exemplary embodiment of a multi-emitter LiDAR system.  FIG. 18  shows the electrical timing for a multi-pulse embodiment whereby the emitters utilize locally unique waveforms with emitter waveforms sequenced by 1/N emitter clock offsets to increase the effective sampling rate of each waveform, where N is the ratio of the effective sampling frequency to the actual sampling frequency. 
     For the succession of pulses within each emitter pulse sequence, the start time for each pulse number is determined by: 
         t   n ( e )=the start times for each pulse for emitter  e   (Eq. 21)
 
       for  i= 0 to  M,n=P   e ( i )*(( T*i )+Σ j=0   i   P   e ( j ))(for all  n&gt; 0)  (Eq. 22)
         where M indicates the number of possible emitter activation periods
           e identifies the emitter number   T is the number of emitter clock cycles per emitter activation period   P e (i) is the activation vector for the encoded sequence for emitter e   
               

     Utilizing a value of M=8 possible activation periods and N=4 logic one values for each emitter activation vector, the four activation vectors for  FIG. 18  are assigned as: 
                                             Emitter #   Activation Vector                          k   [1, 0, 1, 0, 1, 0, 1, 0]           k + 1   [1, 1, 0, 1, 0, 1, 0, 0]           k + 2   [1, 0, 0, 1, 0, 1, 0, 1]           k + 3   [1, 1, 0, 0, 1, 0, 0, 1]                        
Utilizing a value of T=16 emitter clock cycles for each emitter activation period the starts times for each emitter activation period are:
 
                                 Emitter Activation Period #   Period Start Time                  0   t 0         1   t 16         2   t 32         3   t 48         4   t 64         5   t 80         6   t 96         7   t 112                      
Using the values of T=16, N=4 and the activation vectors specified herein for  FIG. 18 , the start times for the N=4 pulses for the four emitters according to Eq. 21 are:
 
     
       
         
           
               
               
             
               
                   
               
               
                 Emitter # 
                 Emitter Pulse Start Times 
               
               
                   
               
             
            
               
                 k 
                 t 1 , t 34 , t 67 , t 100   
               
               
                 k + 1 
                 t 1 , t 18 , t 51 , t 84   
               
               
                 k + 2 
                 t 1 , t 50 , t 83 , t 116   
               
               
                 k + 3 
                 t 1 , t 18 , t 67 , t 116   
               
               
                   
               
            
           
         
       
     
     In  FIG. 18  the emitter clock  306  is an electrical signal that is used to determine the start time for each emitter drive pulse. Each activation of the electrical emitter drive pulses results in corresponding activation of the optical emitter outputs. The detector sampling clock  308  determines the sampling rate of the detector frame buffers. Utilizing positive transition logic, one detector frame buffer is filled with sampled detector data on each rising edge of the detector sampling clock  308 . In a traditional system with a single-pulse emitter cycles, the start times for the emitter drive pulses are typically synchronized with the detector sampling clock  308 . 
     In the  FIG. 18  embodiment the frequency of the emitter clock  306  is four times the frequency of the detector sampling clock  308 . Each of the emitter drive pulses—k, k+1, k+2 and k+3—will sequence four discrete pulses over the emitter drive period. The locally unique pulse encoding scheme utilizes four activations within eight possible emitter activation periods. 
     The four emitter pulses for each of the emitter sequences are offset in time by an integer number of emitter activation periods and by a fraction of the detector sampling clock  308 . The start time for the first emitter drive pulse  310  for emitter k is delayed by ¼ of the detector clock period, or one emitter clock period. The start time for the second emitter drive pulse  312  for emitter k is delayed by ½ of the detector clock period, or two emitter clock periods. The start time for the emitter drive pulse  314  for emitter k is delayed by ¾ of the detector clock period, or three emitter clock periods. The start time for the emitter drive pulse  316  for emitter k is delayed by one detector clock period, or four emitter clock periods. Each of the sampled waveforms corresponding to each emitter is reconstructed to create a volumetric waveform with en effective sampled rate of N times the detector sampling clock rate. 
       FIG. 19 a    shows a typical device  264  layout for an embodiment with two emitters and a detector array  270 . The primary emitter  266  and secondary emitter  268  are controlled by the circuitry  272 . The emitters  266 ,  268  may operate at the same frequency to increase emitted amplitude or may be operated at two frequencies to enable FFT analysis of the sampled waveforms to increase the range of the device  264  or to minimize crosstalk or interference. The control circuitry will include emitter control circuitry, detector sampling memory, A/D converters, GPUs, one or more control units, local memory, and support logic for device I/O and timing. The electrical and optical components may be fabricated on a single semiconductor die or may be fabricated on disparate die and mounted on a substrate. Emitter  266 ,  268  lenses may be added during the semiconductor fabrication phase or added to the device  264  as part of assembly. Detector lenses or waveguides may be added during the semiconductor fabrication phase or added to the device  264  as part of assembly. 
       FIG. 19 b    shows a typical device  274  layout for an embodiment with an array of emitters  276  and a detector array  282 . The primary emitters  278  and secondary emitters  280  are controlled by the circuitry  284 . The emitters  278 ,  280  may operate at the same frequency to increase emitted amplitude or may be operated at two frequencies to enable FFT analysis of the sampled waveforms to increase the range of the device  274 . The control circuitry will include emitter control circuitry, detector sampling memory, A/D converters, GPUs, one or more control units, local memory, and support logic for device I/O and timing. The electrical and optical components may be fabricated on a single semiconductor die or may be fabricated on disparate die and mounted on a substrate. Emitter  278 ,  280  lenses may be added during the semiconductor fabrication phase or added to the device  274  as part of assembly. Detector lenses or waveguides may be added during the semiconductor fabrication phase or added to the device  274  as part of assembly. 
     The electrical circuitry in  FIGS. 19 a  and 19 b    is described utilizing semiconductor nomenclature. In other embodiment circuitry and control logic that utilizes optical computing, quantum computing or similar miniaturized scalable computing platform may be used to perform part or all of the necessary high-speed logic, digital storage, and computing aspects of the systems described herein. The optical emitter elements are described utilizing fabricated semiconductor laser diode nomenclature. In other embodiments the requirements for the various techniques described herein may be accomplished with the use of any controllable photon-emitting elements wherein the output frequency of the emitted photons is known or characterizable, is controllable with logic elements, and is of sufficient switching speed. 
     In various embodiments, high density detector arrays can enable the use of contextual information to detect low-reflectivity or non-reflective objects.  FIG. 20  shows the view of a roadway  340  as displayed within the field of view of a LiDAR device. The animal  342  in the roadway  340  has surface characteristics that cause most of the incident radiation to be absorbed, thus producing a “LiDAR black hole”. Analysis of the detector array elements for a detector/emitter cycle will yield points along the roadway  340  that, when analyzed spatially, will produce a view of the continuous surface that is the roadway  340 . Some of the elements in the detector array, those corresponding to return signals from the LiDAR black hole  342 , will have zero or near-zero values throughout the detector/emitter cycle. Embodiments of the LiDAR system described herein utilize the contextual information from the more-reflective features in the scene to determine that the zero or near-zero signals are the result of the LiDAR black hole  342  and not due to the absence of an object within the device&#39;s range. In various embodiments of a LiDAR system as described herein, the information can be reported to the upstream application in the form of (d, φ, θ, i)—where d is the distance to each measured point or object from the device, φ and θ is the angle of each point/object and i is the signal intensity—and would report d values equivalent to the d value for the closest location established from the contextual information. In  FIG. 20 , these d values would be the same as the point on the roadway near the animal&#39;s  342  foot  344 . 
       FIG. 21  shows a typical two-lane roadway  286  as imaged from a LiDAR device  290  in accordance with various embodiments of the present invention on a vehicle  288  that is traversing the roadway  286 . The device  290  is a high effective sampling rate LiDAR device  290  and the field of view  292  of the device  290  includes an area on the roadway  286  over which the vehicle  288  will traverse. The device has a detector array with 4 million horizontal elements. With a diverging field of view over a four meter vehicle path and a sensor height of 0.3 meters the horizontal pixel size on the road surface will be roughly one micron at the center of the vehicle path and roughly 1.4 microns at the edge of the vehicle path. The device is utilized in a multi-sample mode whereby multiple pulses are emitted and sampled at a high rate, with each emitted pulse offset by a fraction of the detector sampling clock to achieve a high effective sampling rate. In this example the device emits 1000 pulses with a detector sampling period of 0.2 nSec. By utilizing volumetric reconstruction of the detector frame buffers, an effective sampling period of 0.5 picoseconds is achieved. Using a light velocity of 300 mm/nSec, a 0.2 picosecond effective sampling period equates to an inter-frame spacing of 0.06 mm. 
     For each 1.2 micron (average) section of the roadway in front of the vehicle the device will have a distance measurement from the sensor accurate to within 30 microns (using inter-frame interpolation) and a retroreflected intensity value. At this granularity the device can interpret and compute roadway textures. Low amplitude pixel-to-pixel variability and group-of-pixel variability in sensor-to-roadway distances will signal fine and coarse textures respectively. Little or no pixel-to-pixel or group-of-pixel variability in sensor-to-roadway distances will signal no texturing or very fine texturing in the roadway surface. For smooth roadway surfaces, analysis of the pixel intensity values will yield information about the surface of the roadway, with uniform intensity values with high amplitude signaling an ice-covered roadway conditions and uniform intensity values with low amplitude signaling a fluid-covered roadway. The chart below outlines the characteristics of the captured frame buffers of the  FIG. 21  sensor and the information determined from the characteristics. 
                                     Distance Variation   Intensity Values   Feature Detected                  Discontinuity   Discontinuity   Roadway Distress               (crack)       Raised discontinuity   High amplitude   Reflective markings       Low pixel-to-pixel   Medium pixel-to-pixel   Smooth, dry surface       Low group-of-pixel   Medium pixel-to-pixel   Textured surface       Low pixel-to-pixel   High amplitude uniform   Ice-covered       Low pixel-to-pixel   Medium amplitude uniform   Fluid-covered                    
The list of road surface features and characteristics is not exhaustive, and it will be understood that other road surface features and characteristics that are detectable and quantifiable with a LiDAR system are contemplated in accordance with embodiments of the present invention. In some embodiments, such road surface features will be detectable and quantifiable by a LiDAR system in accordance with embodiments of the present invention that has a spatial resolution of less than one micron, distance measuring capability with a precision of 1 micron or less, and intensity values for each pixel.
 
     Roadway surface friction is a function of, among other things, surface material type, and three-dimensional surface area. The 3D surface area is a function of texture amplitude (difference between minimum and maximum surface elevations) and texture resolution (horizontal spacing between minimum and maximum surface elevations). Embodiments consistent with the horizontal pixel resolution and high effective rate sampling of the  FIG. 21  embodiments allow for the collection and measurement of roadway texture amplitude and texture resolution at posted highway speeds, thus allowing real-time or post-processed friction analysis and measurement for a non-contact system. 
     Roadway surface integrity and roadway life cycle estimates typically rely on deflectometer testing whereby the deflectometer measures minute deformations in materials under transverse stress.  FIG. 22  shows a typical two-lane roadway  286  as imaged from a LiDAR device  296  in accordance with embodiments of the present invention on a vehicle  294  that is performing deflectometer measurement within the device  296  field of view  298 . Using device  296  specifications of 1 micron transverse pixel resolution and an effective sampling period of 0.2 picoseconds, surface deformations can be measured with a precision of 30 microns (using inter-frame interpolation). 
       FIG. 23  shows a cross-sectional view of the roadway  286  surface deformation  302 . Depending upon the nature of the road surface (e.g., asphalt), the vehicle tire  300  may cause road surface deformation  302  at points under the tire and at the sides of the tire. The dotted line  304  shows the starting location of the roadway surface prior to deformation  302 . Various embodiments of the present invention may be utilized to scan the roadway  286  and analyze surface deformations  302  for purposes of providing, for example, surface deflectometer measurements. 
       FIG. 24  shows a use for embodiments of the present invention. A vehicle  318  traversing a roadway  320  contains a LiDAR device  322  that enables semi-autonomous or full autonomous capabilities for the vehicle  318 . The device  322  may be mounted inside the vehicle  318  behind the windshield or may be mounted external to the vehicle  318 . An example field of view  324  for the forward navigation direction of the vehicle  318  is shown. In other embodiments, multiple fields of view  324  may be captured with different LiDAR devices  322  oriented in different directions relative to the forward navigation of the vehicle  318 , e.g., side view, rear view, corner view. 
       FIG. 25  shows another use for embodiments of the present invention. An Unmanned Aerial Vehicle (UAV)  326  utilizes six devices  328 , each with a 90°×90° field of view  332 . Utilizing six devices  328  allows for LiDAR coverage at every orientation (360° horizontally and vertically) surrounding the UAV  326 . UAVs  326  equipped as such can be used for autonomous low-altitude data collection for structure analysis, assessment, and surveillance. 
     In some embodiments, the light energy or light packet is emitted and received as near-collimated, coherent, or wide-angle electromagnetic energy, such as common laser wavelengths of 650 nm, 905 nm or 1550 nm. In some embodiments, the light energy can be in the wavelength ranges of ultraviolet (UV)—100-400 nm, visible—400-700 nm, near infrared (NIR)—700-1400 nm, infrared (IR)—1400-8000 nm, long-wavelength IR (LWIR)—8 um-15 um, far—IR (FIR)—15 um-1000 um, or terahertz—0.1 mm-1 mm. The various embodiments of the present invention can provide increased device resolution, higher effective sampling rates and increased device range at these various wavelengths. 
     Detectors as utilized in the various embodiments refer to discrete devices or a focal plane array of devices that convert optical energy to electrical energy. Detectors as defined herein can take the form of PIN photodiodes, avalanche photodiodes, photodiodes operating at or near Geiger mode biasing, or any other devices that convert optical to electrical energy whereby the electrical output of the device is related to the rate at which target photons are impacting the surface of the detector. Detectors can also embody elements that convert photons to charges and accumulate said charges over a defined charge collection window for each element. 
     Persons of ordinary skill in the relevant arts will recognize that the invention may comprise fewer features than illustrated in any individual embodiment described above. The embodiments described herein are not meant to be an exhaustive presentation of the ways in which the various features of the invention may be combined. Accordingly, the embodiments are not mutually exclusive combinations of features; rather, the invention can comprise a combination of different individual features selected from different individual embodiments, as understood by persons of ordinary skill in the art. Moreover, elements described with respect to one embodiment can be implemented in other embodiments even when not described in such embodiments unless otherwise noted. Although a dependent claim may refer in the claims to a specific combination with one or more other claims, other embodiments can also include a combination of the dependent claim with the subject matter of each other dependent claim or a combination of one or more features with other dependent or independent claims. Such combinations are proposed herein unless it is stated that a specific combination is not intended. Furthermore, it is intended also to include features of a claim in any other independent claim even if this claim is not directly made dependent to the independent claim. 
     Any incorporation by reference of documents above is limited such that no subject matter is incorporated that is contrary to the explicit disclosure herein. Any incorporation by reference of documents above is further limited such that no claims included in the documents are incorporated by reference herein. Any incorporation by reference of documents above is yet further limited such that any definitions provided in the documents are not incorporated by reference herein unless expressly included herein. 
     For purposes of interpreting the claims for the present invention, it is expressly intended that the provisions of Section 112, sixth paragraph of 35 U.S.C. are not to be invoked unless the specific terms “means for” or “step for” are recited in a claim.