Intensity imaging and depth sensing with histogram overflow prevention
Depth and imaging pixels include Single-Photon Avalanche Diode (SPAD) micropixels. A memory stores histogram data and intensity data. Timed memory selection logic is configured to generate the histogram data and the intensity data.
1 . A depth and imaging macropixel comprising:
Single-Photon Avalanche Diode (SPAD) micropixels;
a depth memory array configured to store photon times-of-arrival histogram data;
an intensity memory array configured to store intensity data; and
timed memory selection logic configured to:
generate the photon times-of-arrival histogram data by incrementing memory locations in the depth memory array in response to avalanche events generated by the SPAD micropixels; and
increment the intensity memory array in response to the avalanche events in the depth and imaging macropixel.
2 . The depth and imaging macropixel of claim 1 , wherein the photon times-of-arrival histogram data stored in the depth memory array is processed to calculate a depth value, and wherein the intensity data stored in the intensity memory array provides intensity values having a higher spatial resolution than the depth image.
3 . The depth and imaging macropixel of claim 1 , wherein intensity memory locations of the intensity memory array correspond to a specific SPAD micropixel among the SPAD micropixels, and wherein the memory locations of the depth memory array are unassociated with specific SPAD micropixels.
4 . The depth and imaging macropixel of claim 1 , wherein the timed memory selection logic is configured to:
increment memory locations in the depth memory array in response to any of the SPAD micropixels generating the avalanche events; and
increment an intensity memory location of the intensity memory array in response to a specific SPAD micropixel generating an avalanche event.
5 . The depth and imaging macropixel of claim 1 , wherein the memory locations of the depth memory array correspond to histogram bins incremented by the timed memory selection logic based on times of the avalanche events.
6 . The depth and imaging macropixel of claim 1 , wherein, in response to a first avalanche event, the timed memory selection logic is configured to simultaneously: (1) increment a memory location in the depth memory array to increment a histogram bin regardless of which of the SPAD micropixels generated the first avalanche event; and (2) select a specific intensity memory location of the intensity memory array to increment based on which of the SPAD micropixels generated the first avalanche event, the specific intensity memory location that is selected having a 1:1 correspondence with a specific SPAD micropixel that generated the first avalanche event.
7 . The depth and imaging macropixel of claim 1 , wherein the SPAD micropixels are configured to generate the avalanche events in response to near-infrared light becoming incident on the SPAD micropixels.
8 . The depth and imaging macropixel of claim 1 , wherein the SPAD micropixels include a first SPAD micropixel, a second SPAD micropixel, a third SPAD micropixel, and a fourth SPAD micropixel, wherein the depth and imaging macropixel is arranged as a 2×2 depth and imaging macropixel.
9 . The depth and imaging macropixel of claim 1 , wherein the timed memory selection logic is configured to:
ignore a threshold number of initial avalanche events by refraining from incrementing the intensity memory array in response to the threshold number of the initial avalanche events; and
increment the memory locations in the depth memory array to generate the photon times-of-arrival histogram data in response to the initial avalanche events.
10 . The depth and imaging macropixel of claim 1 , wherein the depth memory array and the intensity memory array are in a same physical memory array.
11 . A method of generating a histogram, the method comprising:
emitting light pulses;
incrementing histogram bins in response to avalanche events from light becoming incident on a Single-Photon Avalanche Diode (SPAD); and
ceasing the incrementing of the histogram bins in response to saturation of any of the histogram bins, the saturation occurring when a maximum bin value of any of the histogram bins is reached.
12 . The method of claim 11 , further comprising:
shutting down analog circuitry of histogram circuitry configured to generate the histogram.