Circuitry, electronic device and method for depth estimation based on direct time-of-flight

By obtaining and analyzing multiple histograms from a macropixel with varying offsets, the method addresses cyclic errors in depth estimation, resulting in more accurate depth measurements.

WO2025056695A1PCT designated stage expired Publication Date: 2025-03-20SONY SEMICON SOLUTIONS CORP +1

Patent Information

Application Number
PCT/EP2024/075525
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-14
Filing Date
2024-09-12
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

Existing depth estimation techniques using time-of-flight imaging suffer from cyclic errors due to rapid saturation of macropixels, which limits the accuracy of depth measurements, especially in scenarios with high reflectivity or close-range objects.

Method used

The proposed solution involves obtaining multiple histograms from a macropixel, each indicating the degree of saturation in predefined sampling bins and associated with a specific offset between light emission and histogram acquisition. The circuitry estimates depth based on breakpoints in these histograms, which helps to mitigate cyclic errors by desaturating the echo and resolving the transition between ground and full saturation.

Benefits of technology

This approach significantly reduces cyclic errors in depth estimation, enabling more accurate measurements by effectively handling saturation issues and improving the precision of depth calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024075525_20032025_PF_FP_ABST
    Figure EP2024075525_20032025_PF_FP_ABST
Patent Text Reader

Abstract

The disclosure pertains to circuitry for estimating a depth, wherein the circuitry is configured to obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]CIRCUITRY, ELECTRONIC DEVICE AND METHOD TECHNICAL FIELD The present disclosure generally pertains to circuitry, an electronic device and a method for estimating a depth. TECHNICAL BACKGROUND It is generally known to estimate a depth based on time-of-flight imaging. For example, direct time-of-flight imaging is based on emitting a light pulse into a scene and receiving a reflection of the light pulse from the scene with a single-photon detector. The single- photon detector counts photons received within each of a plurality of sampling intervals. The reflected light pulse is detected based on a histogram that indicates the photon count per sampling interval, and a position of a rising edge of the reflected light pulse in the histogram corresponds to the depth. Although there exist techniques for time-of-flight imaging, it is generally desirable to provide improved circuitry, an improved system and an improved method for estimating a depth. SUMMARY According to a first aspect, the disclosure provides circuitry for estimating a depth, wherein the circuitry is configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms. According to a second aspect, the disclosure provides an electronic device for estimating a depth, wherein the electronic device includes: a light emission unit; a macropixel that includes a plurality of single-photon detectors; and a circuitry that is configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms. According to a third aspect, the disclosure provides a method for estimating a depth, wherein the method includes: obtaining a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimating a depth based on breakpoints in the plurality of histograms. Further aspects are set forth in the dependent claims, the drawings and the following description. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments are explained by way of example with respect to the accompanying drawings, in which: Fig.1 shows a histogram acquired by a single-photon avalanche diode array lidar; Fig.2 illustrates how saturation happens in a macropixel; Fig.3 illustrates a cyclic error due to a saturation of a macropixel; Fig.4 illustrates a cyclic error due to a saturation of a macropixel in case of upsampling; Fig.5 illustrates an electronic device and a circuitry according to an embodiment; Fig.6 illustrates a method for estimating a depth according to an embodiment; Fig.7 illustrates breakpoints in a plurality of histograms; Fig.8 illustrates that a breakpoint height is proportional to a half-saturation point position; Fig.9 illustrates an algorithm that uses a height of an average breakpoint for an accurate depth estimate according to an embodiment; Fig.10 illustrates a cyclic error of a depth estimated by an algorithm that uses a height of an average breakpoint for an accurate depth estimate; Fig.11 illustrates an algorithm that uses a half-maximum threshold for a depth estimate according to an embodiment; Fig.12 illustrates an error ε for a case where an average breakpoint is below a half-maximum threshold; Fig.13 illustrates an error term ^^ as a function of a position of an average breakpoint; Fig.14 illustrates a cyclic error of a depth estimated by an algorithm that uses a half-maximum threshold for a depth estimate; Fig.15 illustrates an algorithm that is based on averaging estimates from individual upsampled histograms for a depth estimate according to an embodiment; Fig.16 illustrates an average of individual estimates by an algorithm that is based on averaging estimates from individual upsampled histograms; Fig.17 illustrates a cyclic error of a depth estimated by an algorithm that is based on averaging estimates from individual upsampled histograms for a depth estimate; Fig.18 illustrates a degree of upsampling needed according to an embodiment; Fig.19 illustrates an adjustment due to ambient light according to an embodiment; Fig.20 illustrates a correction of a cyclic error at different levels of saturation according to an embodiment; Fig.21 illustrates a correction term ^^ for a correction of a cyclic error at different levels of saturation according to an embodiment; Fig.22 illustrates examples of a correction of a cyclic error in different levels of saturation; Fig.23 illustrates a half width of an emitted light pulse according to an embodiment; Fig.24 schematically shows an embodiment of a ToF device; and Fig.25 schematically shows an alternative embodiment of a ToF device. DETAILED DESCRIPTION OF EMBODIMENTS Before a detailed description of the embodiments under reference of Fig.5 to 25 is given, general explanations are made. As mentioned in the outset, direct time-of-flight (dToF) imaging is based on emitting a light pulse into a scene and receiving a reflection of the light pulse from the scene with a single- photon detector. The single-photon detector counts photons received within each of a plurality of sampling intervals. The reflected light pulse is detected based on a histogram that indicates the photon count per sampling interval, and a position of a rising edge of the reflected light pulse in the histogram corresponds to a depth. For example, in a single-photon avalanche diode (SPAD) array dToF imaging apparatus, e.g. a SPAD-array lidar, the depth may be estimated from an acquired histogram. The SPAD-array dToF imaging apparatus may include a plurality of SPADs arranged in an array. The plurality of SPADs may be grouped into macropixels such that a macropixel includes several SPADs (e.g, arranged as 3x3, 4x4, MxM, MxN, NxM, where M and N may be any integer number and may differ). The SPAD-array dToF imaging apparatus may emit a light pulse into a scene and control the SPADs to detect photons. Upon receiving a reflection (echo) of the emitted light pulse from the scene, a number of photons detected by the SPADs may increase. Upon detecting a photon, a SPAD assume a triggered state for a predetermined time interval in which the SPAD cannot detect further photons. For determining a time of detection of the light pulse, a percentage (or proportion / fraction) of SPADs of a macropixel that are saturated may be acquired in a histogram. Fig.1 shows a histogram 1 acquired by a SPAD-array dToF imaging apparatus. A horizontal axis of the histogram 1 indicates a sampling bin. The sampling bins correspond to predefined subsequent time intervals in which the SPADs of a macropixel of the SPAD-array dToF imaging apparatus are controlled to detect photons. A vertical axis of the histogram 1 indicates a percentage (fraction) of SPADs in the macropixel that are in a triggered state (due to detecting a photon) in the respective time intervals of the respective sampling bins. For example, a vertical value of zero indicates that no SPAD of the macropixel detects a photon in a time interval of a respective sampling bin, and a vertical value of 1 indicates that all SPADs of the macropixel detect a photon in a time interval of a respective sampling bin. A rising edge of the echo in the histogram 1 is used to estimate a distance to an object of the scene which reflects the light pulse. A range at which a dToF imaging apparatus (e.g., lidar) is still able to detect objects in a scene may depend on a peak power (intensity) of the emitted light pulse (e.g., a laser pulse). Thus, a laser pulse with high peak power may be emitted for maximizing the range at which the dToF imaging apparatus is still able to detect objects in the scene. Therefore, for reflections from closely located objects, the reflected laser pulse may have a high power. Accordingly, a number of photons from a closely located object may be so large that it may result in immediate (or near-immediate) “saturation” (within one or a few sampling bins) of the macropixel upon receiving the reflected laser pulse because all SPADs of the macropixel may detect a photon within the one or few sampling bins of the histogram 1, as indicated by an arrow 2. If the saturation of the macropixel happens within one sample bin, a depth can be estimated only with accuracy defined by a native time resolution of the SPAD sampling in some instances. For example, for a 1-GHz sampling frequency, i.e., sampling bin width of 1 ns, a range resolution may be^௧ଷ⋅^^^^×^⋅^^షవଶ ≅౩^ ଶ = 15 cm, where ^^ is the speed of light and ^^ is the time width of one sampling bin. However, the disclosure is not limited to these values for a sampling frequency, sampling bin width and range resolution, respectively. For example, a sampling bin width of 0.1 ns, 0.5 ns, 2 ns, 5 ns or 10 ns may be used, and the values of the sampling frequency and of the range resolution may change accordingly. Other suitable values may be used for the sampling bin width as well. Fig.2 illustrates how saturation happens in a macropixel. A histogram 2 illustrates a saturation of a macropixel of a dToF imaging apparatus in a vertical direction. A dotted line 3 indicates a full saturation of the macropixel, where all SPADs of the macropixel are in a triggered state. The histogram 2 indicates sampling bins 4 in a horizontal direction, which correspond to subsequent time intervals. Histogram bars 5a to 5d illustrate respective degrees of saturation of the macropixel at the sampling bins 4. The degree of saturation is also referred to herein as level of saturation. Accordingly, a histogram level (value of a vertical axis) of the histograms discussed herein indicates a (degree / level of) saturation of a macropixel. A graph 6 illustrates, in a vertical direction, a photon rate (e.g., a number of photons per time) incident on a surface of the macropixel during acquisition of the histogram 2. A horizontal direction of the graph 6 corresponds to time. A half-saturation point (HSP) 7 of the macropixel corresponds to a time when the saturation of the macropixel reaches a half saturation, i.e., when 50 % of the SPADs (or approximately 50 % of the SPADs, e.g., when a number of SPADs is odd) of the macropixel detect a photon and enter a triggered state. When the photon rate is low, e.g. at moderate levels of ambient light, such as in interval 8a, only a relatively small fraction of SPADs are activated in the macropixel (for instance, at the sampling bin ^^ − 1). When a reflected light pulse (e.g. a rising edge of the reflected light pulse) arrives at the macropixel, the photon rate increases in accordance with a shape of the light pulse, such as in intervals 8b to 8d. Accordingly, a saturation of the macropixel increases. In close range, a power level (intensity) of the reflected light pulse is typically high, resulting in a number of incident photons high enough to activate all or almost all SPADs within one sampling period, as illustrated at sampling bin ^^). In the intervals 8b and 8c of the rising edge of the reflected light pulse, the saturation of the macropixel increases and, at the end of the interval 8c, reaches full saturation, as in sample bin ^^, where a degree of saturation (histogram bar 5c) reaches a level of full saturation (dotted line 3). When the macropixel is fully saturated, the macropixel cannot detect a further increase of the photon rate (as in the interval 8d) because all of its SPADs are already triggered, as can be seen at sampling bin ^^ + 1, where a degree of saturation (histogram bar 5d) does not exceed the level of full saturation (dotted line 3) although the photon rate is still increasing. A time (e.g., small time interval) around which the number of photons (photon rate) incident to the surface of the macropixel is just enough to activate approximately half of all SPADs of the macropixel is herein referred to as half-saturation point (HSP) 7. In the interval 8b before the HSP 7, only a first half of the SPADs of the macropixel is triggered (detects a photon), and in the interval 8c after the HSP 7, also a second half of the SPADs of the macropixel is triggered such that no SPAD remains that could detect a further increase of the photon rate. Since, in the case of Fig.2, all photons arriving at the beginning of the reflected laser pulse (i.e., in the intervals 8b and 8c) until saturation of the macropixel happens fall into one sample bin, the saturation indicated by the histogram goes straight from ambient light to a maximum level (i.e., full saturation) within one sampling bin (sampling bin ^^). Due to the rapid saturation of the macropixel within one sampling bin, distance estimates may contain a range accuracy error which is hereinafter be referred to as cyclic error. Fig.3 illustrates a cyclic error due to a saturation of a macropixel. A of Fig.3 is a graph 9 that shows, in a vertical direction, a distance estimate based on histograms such as the histogram 1 of Fig.1 from the macropixel and, in a horizontal direction, an actual distance of an object whose distance is estimated. The object is moved in steps of 1.5 cm between respective measurements. A depth (i.e., a distance of the object) is estimated from a rising edge of the respective histograms. A solid line 10 indicates the estimated distance estimated from a rising edge in a histogram where saturation occurs, and a dashed line 11 indicates a true distance that would be measured if no measurement error were present. The cyclic error of the distance estimate causes the estimated distance (solid line 10) to fluctuate around the true distance (dashed line 11). A period of the cyclic error corresponds to the native range resolution of the SPAD-array dToF imaging sensor, which is 15 cm in the shown case (without limiting the disclosure to 15 cm). B of Fig.3 is a graph 12 that shows, in a vertical direction, absolute values of the cyclic error in the estimated distance of graph 9 for respective actual distance values (horizontal direction). Fig.4 illustrates a cyclic error due to a saturation of a macropixel in case of upsampling. A of Fig.4 is a graph 13 that shows a cyclic error if only upsampling is used, i.e., upsampled histograms are summed up and the depth (distance of the object) is estimated from a respective half-maximum height of a respective rising edge in the respective resulting histograms. B of Fig.4 is a graph 14 that shows absolute values of the cyclic error of graph 13. It can be seen from Fig.4 that a residual error (cyclic error) is still present when upsampling is used. Just applying upsampling (sum of 10 shifted histograms in this case) does not cancel the error completely in some embodiments. A solution for cancelling or at least significantly mitigating such a cyclic error may include three stages. At first, a coarse estimation of a distance may be performed based on a sampling bin of a histogram where full saturation of the respective macropixel occurs. At second, a fine estimation (residual) of the distance may be performed based on changing a reference point measurement (upsampling). At third, the range may be estimated from the histogram(s), e.g., based on applying one of three methods for estimating the range from the histogram(s) as described herein. Consequently, some embodiments of the present disclosure pertain to circuitry for estimating a depth, wherein the circuitry is configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms. The circuitry may include an application-specific integrated circuit (ASIC), a field- programmable gate array (FPGA), and / or any suitable kind of programmable microprocessor or integrated circuit. A functionality of the circuitry may be specified at least in part by a hardware configuration of the circuity and / or at least in part by software stored on or provided to the circuitry, wherein the software may include instructions executed by the circuitry. The circuitry may also include a memory that stores (e.g., temporary) data that are generated for estimating the depth. The memory may include a flipflop, a latch, a static random-access memory (SRAM), an embedded dynamic random-access memory (eDRAM) or the like. The circuitry may further include a communication unit for receiving data (e.g., the plurality of histograms or data necessary for generating the plurality of histograms) and / or for outputting data (e.g., the estimated depth). The communication unit may include a processor pin, a Mobile Industry Processor Interface (MIPI) camera serial interface (CSI), a peripheral component interconnect (PCI) interface, a universal serial bus (USB) interface, or the like. The circuitry may be configured to perform and / or control direct time-of-flight (dToF) measurements. For example, the circuitry may be configured to emit light pulses into a scene. The light pulses may be generated by any suitable light emission unit, e.g., by a laser diode, a vertical-cavity surface-emitting laser (VCSEL), a light-emitting diode (LED) or the like. The light pulses may include laser pulses. The light pulses may have any suitable shape. For example, the light pulses may include one or more dots (e.g., an array of laser dots), one or more lines, and / or a diverging light beam that is configured to illuminate the scene in a predetermined solid angle. The light pulses emitted by the light emission unit into the scene may be reflected by an object in the scene. The reflected light pulses (echo) from the object may be detected by a dToF sensor. The dToF sensor may include one or more macropixels (e.g., a one-dimensional or two- dimensional array of macropixels). Each macropixel may include a plurality of single-photon detectors, e.g., single-photon avalanche diodes (SPADs), that are configured to detect single photons. The single-photon detectors of a macropixel may be arranged in a one-dimensional or two-dimensional array. For example, a macropixel may include four single-photon detectors arranged in two rows and two columns, nine single-photon detectors arranged in three rows and three columns, sixteen single-photon detectors arranged in four rows and four columns, or the like. The disclosure is not limited to these arrangements, and the single-photon detectors may be arranged in any suitable number of rows and columns (including NxM and MxN configurations, where N may be not equal to M). Some single-photon detectors may be shared among macropixels, e.g., a macropixel may overlap an adjacent macropixel, and photons detected by a certain single-photon detector of the macropixel (e.g., a single-photon detector in a portion where the macropixel and the adjacent macropixel overlap) may be associated with both the macropixel and the adjacent macropixel. Upon detecting a photon, the respective single-photon detector (e.g., SPAD) may assume a triggered state for a predetermined time interval. A saturation of a macropixel may correspond to a percentage (fraction) of all single-photon detectors of the macropixel that are in a triggered state. For each reflected light pulse detected by the macropixel, degrees of saturation of the macropixel in subsequent time intervals may be represented in a respective histogram. The histogram may include predefined sampling bins that correspond to the subsequent time intervals, and each sampling bin may be associated with a degree of saturation of the macropixel in the respective time interval. A value of zero of the degree of saturation may indicate that no single-photon detector of the respective macropixel has detected a photon during a time interval of a respective sampling bin, and value of one of the degree of saturation may indicate that all single-photon detectors of the macropixel have detected a photon in a time interval of a respective sampling bin. All sampling bins of the histogram may have a same sampling bin width. The sampling bins of the histogram may have a width of (i.e., may correspond to a time interval of) 0.1 ns, 0.5 ns, 1 ns, 2 ns, 5 ns or 10 ns. However, the disclosure is not limited to these values, and the sampling bins may have other suitable values; for example, the sampling bins may have a width outside of the range from 0.1 ns to 10 ns. The histogram 1 of Fig.1 is an example of a histogram in which degrees of saturation of a macropixel in subsequent time intervals are represented. An acquisition of the plurality of histograms may include controlling the single-photon detectors of the macropixel to detect photons, and acquiring the degree of saturation of the macropixel at each respective sampling bin. A start of acquisition of a histogram may include a start of acquisition of respective histogram data (which may represent the respective histogram), and / or a start of acquisition of data from which the circuitry is configured to generate the respective histogram. For reducing a cyclic error when estimating a depth, the light emission unit may emit a plurality of light pulses subsequently into a scene, the dToF sensor (e.g., a macropixel of the dToF sensor) may detect reflections of the respective light pulses from an object in the scene, and a plurality of histograms may be generated that may correspond to the respective light pulses emitted into the scene (and whose reflections from the object may be detected by the macropixel). An offset between emitting the plurality of light pulses by the light emission unit and starting an acquisition of the respective histograms may be varied between the light pulses. Each of the plurality of histograms may be associated with a respective offset between light emission of the respective light pulse and a start of acquisition of the respective histogram, such that an edge (e.g., start or end) of a sampling bin in a first histogram of the plurality of histograms may differ, by the difference of the respective offsets, from a corresponding edge of a corresponding sampling bin in a second histogram of the plurality of histograms. By varying the offset between an emission of a light pulse and a start of acquisition of a respective histogram, an echo (e.g., a representation of the reflected light pulse) in the respective histogram may be desaturated. For example, a transition between a ground saturation (at which the reflected light pulse is not received) and a full saturation (at which all single-photon detectors of the macropixel detect a photon due to the reflected light pulse) may be resolved such that a degree of saturation of at least one histogram bin of a histogram may have a value between the ground saturation and the full saturation. The circuitry may obtain the plurality of histograms. For example, the circuitry may receive the plurality of histograms from the dToF sensor or from a processing unit thereof. For example, the circuitry may receive, from the dToF sensor, indications of single photons detected by the macropixel or by the respective single-photon detectors of the macropixel, and may generate the plurality of histograms based on the received indications. The obtaining of the plurality of histograms may include obtaining respective histogram data (e.g., data that represent respective histograms). The obtaining of the plurality of histograms may include obtaining data from which the circuitry is configured to generate respective histograms, and generating the histograms accordingly. The circuitry may perform processing of the plurality of histograms for identifying breakpoints in the plurality of histograms, and may estimate the depth based on the breakpoints. The depth may correspond to a distance of the object, e.g., a distance between the object and the dToF sensor, or a distance between the object and any suitable reference point or reference plane whose position relative to the dToF sensor is predetermined. In some embodiments, at least one of the breakpoints corresponds to a degree of saturation between a ground saturation and a full saturation. In a case where no ambient light is present and / or where a presence of ambient light is neglected, the ground saturation may correspond to zero saturation of the macropixel or to a dark count rate of the macropixel. In a case where ambient light is expected and / or should be accounted for, the ground saturation may correspond to a saturation (e.g., an average saturation) of the macropixel that is caused by ambient light (e.g., by an average ambient light or by a currently measured ambient light). The full saturation may correspond to a case where all single-photon detectors of the macropixel detect a photon and, thus, are in a triggered state. The at least one breakpoint that corresponds to a degree of saturation between the ground saturation and the full saturation may correspond to a sampling bin in whose corresponding time interval at least one but not all single-photon detectors of the macropixel have detected a photon. For example, if an intensity of the reflected light pulse is so high (e.g., due to a short distance and / or a high reflectivity of the object in the scene) that the saturation of the macropixel transitions from the ground saturation to full saturation within not more than one sampling bin width, each histogram may include at most one breakpoint that corresponds to a degree of saturation between the ground saturation and the full saturation. Varying, between the respective light pulses, the offset between light pulse emission and start of acquisition of the respective histograms may ensure (or at least increase a probability) that at least one histogram of the plurality of histograms includes a breakpoint that corresponds to a degree of saturation between the ground saturation and the full saturation. In some embodiments, each breakpoint corresponds to a respective degree of saturation in a sampling bin of a rising edge in a respective histogram of the plurality of the histograms. The rising edge may correspond to a sequence of sampling bins of the histogram in which the respective degree of saturation of the macropixel increases with time. Since the rising edge may indicate an arrival of the light pulse at the dToF sensor, the circuitry may ignore breakpoints outside of the rising edge (e.g., in a falling edge). In some embodiments, each breakpoint corresponds to a sampling bin that precedes an earliest sampling bin in the respective histogram in which the degree of saturation corresponds to a full saturation of the macropixel. For example, the circuitry may identify, in each histogram, an earliest sampling bin (e.g., a sampling bin that corresponds to an earliest time among the sampling bins) in which the degree of saturation of the macropixel indicates that all single-photon detectors of the macropixel have detected a photon. The circuitry may then determine a breakpoint of the respective histogram in a sampling bin that directly precedes the earliest sampling bin in which the degree of saturation corresponds to full saturation of the macropixel. The circuitry may determine the breakpoint to correspond to a degree of saturation associated with the sampling bin of the breakpoint. In some embodiments, the estimating of the depth includes estimating a saturation threshold time at which a rising edge of the saturation of the macropixel intersects a saturation threshold; and mapping the saturation threshold time to a depth. The time at which the rising edge of the saturation of the macropixel intersects the saturation threshold (saturation threshold time) may be considered as the time when the respective light pulse arrives at the dToF sensor, and, accordingly, may be used for estimating the depth. The mapping of the saturation threshold time to the depth may be based on a predefined formula. In some embodiments, the mapping is based on the speed of light. The mapping may be based on the assumption that the emitted light pulse travels with the speed of light from the light emission unit to the object and from the object to the dToF sensor. Accordingly, when neglecting a distance between the light emission unit and the dToF sensor, the distance of the object may be estimated by multiplying the speed of light with half the time between emission of the light pulse at the light emission unit and detection of the reflected light pulse at the dToF sensor (e.g., the saturation threshold time). However, the disclosure is not limited to this mapping. For example, an alternative mapping may further account for a difference between a distance of the object to the light emission unit and a distance of the object to the dToF sensor for estimating the depth more accurately. In some embodiments, the estimating of the depth is based on an average breakpoint that corresponds to an average among the breakpoints in the plurality of histograms. The average breakpoint may be determined based on all breakpoints (in a rising edge) identified in the plurality of histograms. For example, one respective breakpoint from each of the plurality of histograms may be used for determining the average breakpoint. In some embodiments, the degree of saturation of the average breakpoint corresponds to an average degree of saturation of the breakpoints in the plurality of histograms. The circuitry may determine an average of the degrees of saturation that are associated with the respective breakpoints of the respective histograms, and may associate the determined average to the average breakpoint. In some embodiments, the degree of saturation of the average breakpoint is based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms. For determining the average degree of saturation for the average breakpoint, the circuitry may integrate (sum up) the respective degrees of saturation of the breakpoints in the plurality of histograms on which the average breakpoint is based. For example, the circuitry may divide the sum of the degrees of saturation by the number of breakpoints whose degrees of saturation are included in the sum. Alternatively, the circuitry may, instead of dividing the sum by the number of breakpoints, consider the sum as the average degree of saturation and perform the further processing based on the sum. Thus, the circuitry may avoid performing a division operation. In some embodiments, a time of the average breakpoint corresponds to a sampling bin of a breakpoint in a histogram with a predefined offset. For example, the circuitry may assign, to the average breakpoint, a time that corresponds to the sampling bin of the breakpoint in the histogram of the plurality of histograms with a shortest offset between light pulse emission and start of acquisition of the histogram. For example, the time that corresponds to the sampling bin of a breakpoint may correspond to a center, a start or an end of the respective time interval. In some embodiments, the estimating of the saturation threshold time includes subtracting a duration that corresponds to the degree of saturation of the average breakpoint from a time at which a reference slope intersects the saturation threshold. The reference slope may correspond to a hypothetical (e.g., linear) increase of the saturation of the macropixel from zero saturation as described above to a full saturation as described above. The reference slope may start at a time that corresponds to the average breakpoint and may end at a time that corresponds to the subsequent sampling bin. Thus, the reference slope may span one sampling bin width. For example, the circuitry may determine the duration that corresponds to the degree of saturation of the average breakpoint to be a duration after which the reference slope reaches the degree of saturation of the average breakpoint. For example, the circuitry may determine a percentage of saturation of the macropixel that corresponds to the degree of saturation of the average breakpoint, and may determine the determined percentage of one sampling bin width to be the duration that corresponds to the degree of saturation of the average breakpoint. The circuitry may determine the saturation threshold time, based on which the depth should be estimated, as the time obtained by subtracting the duration that corresponds to the degree of saturation of the average breakpoint from the time at which the reference slope intersects the saturation threshold. In some embodiments, the estimating of the saturation threshold time includes: determining an intersection time at which an interpolation of the saturation between the average breakpoint and one of its adjacent sampling bins intersects the saturation threshold; determining an error term that depends on a difference between a time at which a reference slope intersects the saturation threshold and the intersection time; and applying the error term to the intersection time. For determining the intersection time, the circuitry may (e.g., linearly) interpolate the saturation of the macropixel at least in a direction of the saturation threshold. If the average breakpoint is above the saturation threshold, the circuitry may interpolate the saturation between the average breakpoint and its preceding sampling bin (and the respective degree of saturation). If the average breakpoint is below the saturation threshold, the circuitry may interpolate the saturation between the average breakpoint and its subsequent sampling bin (and the respective degree of saturation). The circuitry may determine the intersection time as a time at which the interpolated saturation equals the saturation threshold. The breakpoints may be distributed asymmetrically around the saturation threshold such that the determined intersection time may not accurately indicate the saturation threshold time based on which the depth should be estimated. Therefore, the circuitry may determine and apply an error term to the intersection time. The error term may compensate for the asymmetric distribution of the breakpoints around the saturation threshold. The circuitry may determine the error term based on a predefined formula that depends on the difference between the intersection time and the time at which the reference slope intersects the saturation threshold. The reference slope may correspond to a hypothetical (e.g., linear) increase of the saturation of the macropixel, as described above. The circuitry may apply the error term to the intersection time by adding or subtracting the error term from the intersection time, and may determine the time obtained by applying the error term to the intersection time as the saturation threshold time based on which the depth should be estimated. In some embodiments, the error term depends on whether the intersection time is before or after the breakpoint. For example, based on whether the intersection time is before or after the breakpoint (e.g., based on whether the breakpoint is above or below the saturation threshold), the circuitry may select a corresponding formula for determining the error term. The formulas, for example, yield error terms with a different sign. In some embodiments, the reference slope corresponds to a linear increase from zero saturation of the macropixel in a sampling bin of the average breakpoint to full saturation of the macropixel in a subsequent sampling bin, as described above. In some embodiments, the estimating of the saturation threshold time includes: determining, for each breakpoint, an intersection time at which an interpolation of the saturation between the respective breakpoint and one of its adjacent sampling bins intersects the saturation threshold; and determining, as the saturation threshold time, an average time among the intersection times. The circuitry may (e.g., linearly) interpolate the saturation of the macropixel for each breakpoint in a direction of the saturation threshold. If the respective breakpoint is above the saturation threshold, the circuitry may interpolate the saturation between the respective breakpoint and its preceding sampling bin (and the respective degree of saturation). If the respective breakpoint is below the saturation threshold, the circuitry may interpolate the saturation between the respective breakpoint and its subsequent sampling bin (and the respective degree of saturation). The circuitry may determine the intersection time of the respective breakpoint as a time at which the respective interpolated saturation equals the saturation threshold. The circuitry may then determine an average among the intersection times (e.g., divide a sum of the intersection times by the number of intersection times) and determine the average to be the saturation threshold time based on which the depth should be estimated. In some embodiments, the saturation threshold corresponds to an average degree of saturation between a ground saturation of the macropixel and full saturation of the macropixel. For example, the saturation threshold may indicate a half height of a peak that represents a reflected light pulse in the respective histogram when the saturation of the macropixel reaches full saturation at the peak. For example, the saturation threshold may correspond to a half- saturation point (HSP) of the macropixel. For example, the saturation threshold may correspond to a degree saturation of the macropixel at which 50% of the single-photon detectors (e.g., SPADs) of the macropixel detect a photon and the other 50% of the single-photon detectors (e.g., SPADs) of the macropixel do not detect a photon. In such a case, the saturation threshold is also referred to herein as mid-threshold and as half-maximum threshold. In some embodiments, if ambient light is present, the ground saturation corresponds to a saturation caused by the ambient light. For example, the circuitry may determine the saturation caused by the ambient light based on a degree of saturation in a sampling bin before a rising edge in the respective histogram, based on an average degree of saturation in several sampling bins before a rising edge in the respective histogram, or based on an average degree of saturation in a histogram that has been acquired without previously emitting a light pulse. The circuitry may determine that ambient is present based on the saturation determined this way. In some embodiments, if no ambient light is present, the ground saturation corresponds to zero saturation. For example, the circuitry may determine that no ambient light is present based on a (e.g., average) degree of saturation in one or more sampling bins before a rising edge in the respective histogram or based on a saturation of the macropixel indicated by a histogram that has been acquired without previously emitting a light pulse. The circuitry may set the ground saturation to zero saturation upon determining that no ambient light is present, or, in some cases, the circuitry may set the ground saturation to zero saturation without determining whether ambient light is present. In some embodiments, the ground saturation corresponds to a dark count rate of the single- photon detectors of the macropixel. The dark count rate may be based on a predetermined value and / or may be determined based on a temperature of the dToF sensor and / or the macropixel. The circuitry may set the ground saturation to the dark count rate upon determining that no ambient light is present, or, in some cases, the circuitry may set the ground saturation to the dark count rate without determining whether ambient light is present. In some embodiments, the offset associated with a histogram varies between the plurality of histograms based on a step size smaller than a width of the sampling bins. Accordingly, acquiring a plurality of histograms of a plurality of respective light pulses with a varying offset between an emission of the respective light pulses and a start of acquisition of the respective histograms allows to perform an upsampling of the saturation of the macropixel without changing / reducing a sampling bin width of the plurality of histograms. In some embodiments, the step size is at most the width of the sampling bins divided by the number of histograms in the plurality of histograms. The step size may be equal to or smaller than the sampling bin width divided by the number of histograms. For example, if the step size equals the sampling bin width divided by the number of histograms, the offset may be iteratively increased between the plurality of histograms beginning at zero such that equidistant upsampling can be realized with an upsampling ratio that corresponds to the number of light pulses / histograms. The skilled person will find alternative ways of realizing an equivalent upsampling, e.g., by iteratively decreasing the offset between the plurality of histograms, or by starting acquisition of each of the plurality of histograms at another offset selected arbitrarily (e.g., randomly or pseudo-randomly) from the necessary offsets after emission of the respective light pulse. For example, if a sampling bin width of the histograms is 1 ns, and ten histograms are acquired for ten respective light pulses, the step size for varying the offset may be set to 0.1 ns, and a tenfold upsampling of the saturation of the macropixel may be realized. In some embodiments, the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an acquisition start of the respective histograms. For example, the trigger signals may trigger both an emission of respective light pulses by the light emission unit and a start of acquisition of respective histograms. A delay element may be provided between a source of the trigger signals and the single-photon detectors of the macropixel. The delay element may delay or advance the trigger signals according to the respective offsets such that a start of acquisition of the respective histograms is delayed or advanced accordingly with respect to an emission of the respective light pulses. In some embodiments, the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an emission of respective light pulses. For example, the trigger signals may trigger both an emission of respective light pulses by the light emission unit and a start of acquisition of respective histograms. A delay element may be provided between a source of the trigger signals and the light emission unit. The delay element may reduce or increase a delay of the trigger signals according to the respective offsets such that an emission of the respective light pulses is delayed or advanced accordingly with respect to a start of acquisition of the respective histograms. It is noted that, in some embodiments, respective delay elements may be provided both between the source of the trigger signals and the light emission unit and the source of the trigger signals and the single-photon detectors, and the varying of the offset may include both delaying or advancing the emission of a light pulse and delaying or advancing a start of acquisition of a histogram. In some embodiments, the plurality of histograms represent detected reflections of respective emitted light pulses. A rising edge in the respective histograms may represent an arrival of the respective reflection at the dToF sensor In some embodiments, the degree of saturation in a sampling bin corresponds to a percentage of single-photon detectors of the macropixel that detect a photon in a time interval that corresponds to the sampling bin. For example, as described above, a value of zero of the degree of saturation may correspond to a case where no single-photon detector of the macropixel has detected a photon in the time interval of the corresponding sampling bin, and a value of one of the degree of saturation may correspond to a case where all single-photon detectors of the macropixel have detected a photon in the time interval of the corresponding sampling bin. In some embodiments, the estimation of the depth is based on representing the plurality of histograms in normalized units. For example, the degree of saturation of the macropixel may be converted from a number of detected photons or a number of triggered single-photon detectors in the macropixel to a normalized value in a (normalized) unit of saturation of the macropixel, e.g., a value in an interval from zero to one, a value from 0 % to 100 %, an integer value from 0 to 8 (wherein 8 may correspond to full saturation), an integer value from 0 to 16 (wherein 16 may correspond to full saturation), an integer value from 0 to 255 (wherein 255 may correspond to full saturation), or the like. Likewise, a time that corresponds to a fraction of a sampling bin width may be represented in a normalized value in a (normalized) unit of a sampling bin width, e.g., a value from zero to one, a value from 0 % to 100 %, an integer value from 0 to 8 (wherein 8 may correspond to the sampling bin width), an integer value from 0 to 16 (wherein 16 may correspond to the sampling bin width), an integer value from 0 to 255 (wherein 255 may correspond to the sampling bin width), or the like. Representing the plurality of histograms in normalized units may facilitate estimating the depth, e.g., by allowing to convert a degree of saturation of the macropixel into a duration without performing a unit conversion that may include a computationally expensive floating-point operation. The disclosure is not limited to the values described above as examples of normalized values. The histograms may as well be represented based any other suitable normalization. It is noted that the aspects described above for the circuitry may be combined in any suitable way, and that the circuitry described above may further exhibit any suitable feature described below with respect to any one of Fig.5 to 25. Some embodiments pertain to an electronic device for estimating a depth, wherein the electronic device includes: a light emission unit; a macropixel including a plurality of single-photon detectors; and the circuitry according to any configuration described above. Some embodiments pertain to a method for estimating a depth, wherein the method includes: obtaining a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimating a depth based on breakpoints in the plurality of histograms. The method may be configured corresponding to the circuitry described above, and the method may accordingly exhibit any feature described with respect to the circuitry and / or any suitable feature described below with respect to any one of Fig.5 to 25. The method may be performed by the circuitry and / or by the electronic device described above. The methods as described herein are also implemented in some embodiments as a computer program causing a computer and / or a processor to perform the method, when being carried out on the computer and / or processor. In some embodiments, also a non-transitory computer- readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the methods described herein to be performed. Returning to Fig.5, Fig.5 illustrates an electronic device 20 and a circuitry 23 according to an embodiment. The electronic device 20 is an example of a (SPAD-array) dToF imaging apparatus and is configured to estimating a depth. The electronic device 20 includes a vertical-cavity surface- emitting laser (VCSEL) array 21, a macropixel array 22 and a circuitry 23. The VCSEL array 21 is an example of a light emission unit. The VCSEL array 21 is configured to emit a laser pulse 24 (which is an example of a light pulse) based on a trigger signal received by the VCSEL array 21. The laser pulse 24 includes a plurality of laser dots arranged in an array. The VCSEL array 21 emits the laser pulse 24 into a scene that includes an object 25. The object 25 reflects (a fraction of) the laser pulse 24. The reflected laser pulse 26 travels back to the electronic device 20, passes through a lens (not shown) of the electronic device 20 and arrives at the macropixel array 22. The macropixel array 22 is an example of a dToF sensor and includes a plurality of macropixels arranged in an array. Each macropixel of the macropixel array 22 includes a plurality of single- photon avalanche diodes (SPADs) (which are examples of single-photon detectors). Each macropixel of the macropixel array 22 is configured to acquire a histogram based on a trigger signal received by the macropixel array 22, wherein the histogram indicates degrees of saturation of the macropixel (i.e., a percentage of the SPADs of the macropixel that detect a photon) for respective sampling bins which correspond to respective subsequent time intervals. Accordingly, the histograms acquired by the macropixel array 22 represent detected reflections 26 of respective emitted laser pulses 24 emitted by the VCSEL array 21. The histogram 1 of Fig.1 is an example of a histogram acquired by a macropixel of the macropixel array 22. The circuitry 23 is configured to obtain a respective plurality of histograms from macropixels of the macropixel array 22 and estimate a respective depth (i.e., a distance of the object 25) for each macropixel based on breakpoints in the respective plurality of histograms. The circuitry 23 includes a processing unit 23a, a memory 23b and a communication unit 23c. The processing unit 23a performs data processing (including arithmetic / logic operations) necessary for estimating the depth. The memory 23b stores data necessary for the data processing by the processing unit 23a (including software instructions for the processing unit 23a, the obtained pluralities of histograms, temporary values, and the estimated depths). The communication unit 23c receives histogram data corresponding to the pluralities of histograms from the macropixel array 22 and outputs the estimated depths to an external device. The electronic device 20 and the circuitry 23 are configured to perform any method disclosed herein, including the method of Fig.6. Fig.6 illustrates a method 30 for estimating a depth according to an embodiment. The method 30 is an example of a method performed by the electronic device 20 of Fig.5. At 31, an offset between emission of a laser pulse (an example of a light pulse) by the VCSEL array 21 and a start of acquisition of a histogram by a macropixel of the macropixel array 22 is varied with a predefined step size. The step size is smaller than a sampling bin width of the histogram and is set to a predefined number that corresponds to a number of histograms that should be acquired by the macropixel. The varying of the offset may be performed by a control unit (not shown in Fig.5) of the electronic device 20 or by the circuitry 23. Examples for a hardware configuration for varying the offset are described with respect to Fig.24 and 25. At 32, the VCSEL array 21 emits a laser pulse 24 into the scene, and at 33, the macropixel of the macropixel array 22 acquires the histogram. The acquired histogram is associated with the offset that has been set at 31. The emission of the laser pulse 24 at 32 and the acquisition of the histogram at 33 are based on (i.e., triggered by) a trigger signal. The trigger signal may be generated by a control unit (not shown in Fig.5) of the electronic device 20 or by the circuitry 23. The processing at 31, 32 and 33 is iterated (performed) as often until the macropixel has acquired the predefined number of histograms that should be acquired. At each iteration, the offset is varied at 31 based on the step size. At 34, the circuitry 23 obtains the plurality of histograms that have been acquired by the macropixel by the iterations of the processing at 33. At 35, the circuitry 23 determines breakpoints in the plurality of histograms obtained at 34. Each breakpoint corresponds to a respective degree of saturation in a sampling bin of a rising edge in a respective histogram of the plurality of histograms, and at least one of the breakpoints corresponds to a degree of saturation of the macropixel between a ground saturation and a full saturation, wherein the ground saturation corresponds to zero saturation if no ambient light is present and corresponds to a saturation caused by ambient light if ambient light is present, and wherein the full saturation corresponds to a case where all SPADs of the macropixel detect a photon. The circuitry 23 determines the breakpoints such that each breakpoint corresponds to a sampling bin that precedes an earlies sampling bin in the respective histogram in which the degree of saturation of the macropixel corresponds to the full saturation. At 36, the circuitry 23 estimates a depth (i.e., a distance of the object 25) based on the breakpoints determined at 35. The estimating of the depth at 36 includes estimating a saturation threshold time at 37 and mapping the saturation threshold time to the depth at 38. The estimating of the saturation threshold time at 37 is based on the breakpoints determined at 35. The saturation threshold time is an estimated time at which a rising edge of the saturation of the macropixel intersects a saturation threshold. Examples of estimating the saturation threshold time are given below with respect to Fig.7 to 23. The mapping of the saturation threshold time to the depth at 38 is based on the speed of light and on a time in which the laser pulse 24 has travelled from the VCSEL array 21 to the object 25 and, as a reflected laser pulse 26, from the object 25 to the macropixel. Note that, although the method 30 has been described for one macropixel of the macropixel array 22, the method 30 may be performed for multiple (e.g., all) macropixels of the macropixel array 22 (e.g., simultaneously). For example, at 33, each macropixel of the macropixel array 22 may acquire a respective histogram associated with the respective offset. The circuitry may perform the processing at 34, 35 and 36 for each macropixel of the macropixel array 22 (e.g., serially or in parallel), and may thus estimate a respective depth for each macropixel of the macropixel array 22. Fig.7 illustrates breakpoints in a plurality of histograms. A plurality of histograms 40 (dashed lines) are shown for the object 25 located at different distances from the SPAD array of the macropixel. In the case of Fig.7, the object 25 is placed at ten sequential distances with a step size of 1.5 cm (which corresponds to 1 / 10 of a 15 cm native sensor resolution). It is noted that these values are only provided for example purposes. The disclosure is not limited to these values; instead, any suitable value may be chosen for the step size and the native sensor resolution. In the plurality of histograms 40, a histogram amplitude (vertical direction) indicates a saturation of the macropixel (wherein a saturation of one indicates a full saturation of the macropixel where all SPADs of the macropixel detect a photon), and a horizontal direction indicates sampling bins 41. A graph 42 indicates a photon rate incident to a surface of the macropixel in a vertical direction and a time in a horizontal direction. A position of a half-saturation point (HSP) relative to the sampling bins 41 of a respective light pulse significantly affects a number of SPADs activated within a given sampling bin. For example, the photon rate 43a corresponds to a reflected light pulse from the object 25 at a distance for which a HSP 43b is located close to (short time before) a border between two adjacent sample bins 41 (sample bins ^^ and ^^ + 1). In a histogram 43c that corresponds to the photon rate 43a of this reflection, the number of photons in the ^^-th sampling bin is enough to activate only a half of the SPADs of the macropixel, while complete saturation of the macropixel happens in the ^^ + 1-th sampling bin. A measured saturation level in the histogram when the macropixel array 22 is operated under saturation conditions but there is still a mid point measurement 43d in a rising edge of the histogram 43c is called a breakpoint (BP) 43d. In contrast, for a photon rate 44a of another reflected light pulse, a saturation of all SPADs happens within one sampling bin (sampling bin ^^ + 1), which results in a “jump” of a degree of saturation of the macropixel indicated by a respective histogram 44c from a very low value to a full saturation level within one sampling bin (from sampling bin ^^ to sampling bin ^^ + 1). This shows that delaying the laser pulse 24 within a time span of one sampling bin width step by step causes the BP 43d, 44d go down in the respective histograms 43c, 44c as the respective HSP 43b, 44b moves toward a respective next sample bin. For each of the ten histograms 40 shown in Fig.7, the laser pulse was delayed by 1 / 10 of the sampling bin width of the histograms 40. For most of the histograms 40, the respective BP are close to the zero saturation level. This is because a number of photons detected by the macropixel is proportional to the area under the respective curve 43a, 44a in the graph 42 within the respective sampling bin 41, and because this area decreases quadratically (triangle area) with a linear increase of a delay of the respective laser pulse (indicated by an arrow 45). Fig.8 illustrates that a breakpoint height is proportional to a HSP position. A plurality of histograms 50 (dashed lines) indicate degrees of saturation of the macropixel (vertical direction) in respective sampling bins 51 (horizontal direction). A graph 52 indicates a photon rate incident to a surface of the macropixel (vertical direction) as a function of time (horizontal direction). In principle, a position of a HSP 53a, 53b relative to a sampling grid (i.e., edges of sampling bins 51) defines the height of a respective breakpoint in a respective histogram 50. A height of a BP is proportional to a number of SPADs activated in the macropixel. In the measurements shown in Fig.8, the HSP 53a, 53b moves through a border between two adjacent sampling bins (sampling bins ^^ − 1 and ^^), starting roughly from a middle of the sampling bin ^^ − 1. This results in a quite uniform spread of breakpoints in the individual histograms 50 over the zero-to-max histogram level. Delaying the light pulse 24 or shifting the sampling grid by a fraction of 1 ns provides a basis (so-called upsampling) for precisely defining the distance to the object 25. In some embodiments, shifts of individual histogram acquisitions span the sampling interval (1 ns in this case, without limiting the disclosure to this value) with a step size significant to locate an average breakpoint 54 which is used, by some methods of estimating a depth, for a precise estimate of the distance to the object 25. In some embodiments, the number of steps needed for obtaining a suitable average breakpoint 54 depends on a steepness and on an intensity of the reflected laser pulse 26 that arrives at the SPADs of the macropixel. The average breakpoint 54 is a breakpoint 54 of an average histogram 55 (bold solid line). A height (i.e., an associated degree of saturation of the macropixel) of the average BP 54 is a measure which is proportional to a shift (indicated by an arrow 56) between the spans in which a reference measurement grid, i.e. sampling bins, of the plurality of histograms 50 or the laser pulses 24 are shifted one relative to another. In some embodiments, the height of the average BP 54 is independent from an implementation of the shift / delay: (1) A reference measurement point (starting point when the SPADs of the macropixel are on to begin measurements) may be shifted to acquire the individual histograms 50 while the laser pulse 24 may be emitted with a regular period or (2) the reference measurement point may be fixed while each consequent laser pulse 24 may have an extra delay relative to the previous one. When the shift is minimal, the average BP 54 may be located close to the maximum or minimum level of the histogram 50, which may indicate that a beginning of the span in which the laser pulse 24 is delayed may be aligned with borders of the sampling bins 51 (or a beginning of the span in which a reference point of the sampling bins 51 is shifted may be aligned with the emitted laser pulse 24). In the following, three major algorithms for extracting a depth from the plurality of histograms 50 (e.g., based on the average histogram 55) are described. A first algorithm (described in more detail with respect to Fig.9) includes a coarse depth estimate, a fine depth estimate and a total depth estimate. The coarse depth estimate corresponds to the point where the average histogram 55 saturates to its maximum (or nearly maximum level). The fine depth estimate is finer than a sampling bin resolution (e.g., a sampling bin width) and is proportional to a fraction of the sampling bin width, wherein the fraction corresponds to a height of the average BP 54. The total depth estimate is obtained as the coarse depth estimate minus the fine depth estimate. A second algorithm (described in more detail with respect to Fig.11 and 12) includes applying a half-max threshold to a rising edge only. I.e., a mid-threshold level between minimum and maximum degrees of saturation of the average histogram 55 is defined, and the depth is estimated based on an intersection of the mid-threshold and the average histogram 55. A third algorithm (described in more detail with respect to Fig.15) includes applying the mid- threshold to each of upsampled histogram (i.e., each of the plurality of histograms 50), and averaging the individual points of intersection the respective histograms 50 and the mid- threshold to obtain an average estimate, based on which the depth is then computed. For the first algorithm, in some embodiments, the depth estimate is accurate and does not need any further correction rather than range walk error compensation. The range walk error may be caused by a variation of an intensity of the reflected light pulse 26 between different distances and / or reflectivities of the object 25 that reflects the light pulse 24. However, a correction of the range walk error is a different problem and is not further considered herein. For the second algorithm, in some embodiments, a correction factor is be applied since this method, as shown further, does not use a direct information about the height of the average BP 54 but rather derivative information. For the third algorithm, in some embodiments, the depth estimate is accurate and does not need any further correction, as explained later. An adjustment of the algorithms depending on a level of present ambient light is described later below with respect to Fig.19. Fig.9 illustrates an algorithm that uses a height of an average breakpoint for an accurate depth estimate according to an embodiment. A plurality of histograms 60 indicate a saturation of the macropixel (vertical direction) for predefined sampling bins (horizontal direction). An average breakpoint 61 is determined based on breakpoints in the plurality of histograms 60, and a breakpoint bin (the sampling bin that includes the breakpoints; sampling bin 15 in Fig.9) is determined. A sampling bin subsequent to the breakpoint bin corresponds to a coarse depth estimate (sampling bin 16 in Fig.9). For obtaining a fine depth estimate, a reference slope 62 is determined, which represents a linear increase from a ground saturation in the breakpoint bin (sampling bin 15) to a full saturation (saturation of 1) in a subsequent sampling bin (sampling bin 16). I.e., the refence slope 62 basically corresponds to a line that connects an earliest full saturation point of the average histogram (average of the plurality of histograms 60; bold solid line in Fig.9) with a zero-level in the preceding sampling bin (i.e., the breakpoint bin). The ground saturation corresponds to zero saturation if no ambient light is present and corresponds to a saturation caused by the ambient light if ambient light is present. Further, an intersection time at which the reference slope 62 intersects a mid-threshold 63 is determined (i.e., a half-max level of the reference slope 62). The mid-threshold 63 corresponds to a half-saturation of the macropixel at which half of the SPADs of the macropixel detect a photon. The mid-threshold 63 is an example of a saturation threshold. A height ℎ (i.e., an associated degree of saturation) of the average breakpoint 61 is determined, and a duration that corresponds to the height ℎ of the average breakpoint 61 is considered as the fine depth estimate. In Fig.9, both the saturation and the time are represented in normalized units (the saturation assumes values from zero to one, and a sampling bin width is taken to be one). Therefore, the fine depth estimate (duration) in normalized units equals the height ℎ in normalized units. For obtaining a total depth estimate, a saturation threshold time 64 is determined by subtracting the fine depth estimate (duration that corresponds to the average breakpoint height ℎ) from the coarse depth estimate (time that corresponds to the sampling bin subsequent to the breakpoint bin), as indicated by an arrow 65 that shows a direction in which the total depth estimate is taken. The saturation threshold time 64 is then mapped to the depth, i.e., the distance estimate is extracted from the marker 64 that corresponds to the saturation threshold time 64. Using the average BP height ℎ gives, in some embodiments, a straightforward accurate estimate of the distance to the object 25. Thus, in the first algorithm, which is illustrated in Fig.9, the estimating of the depth at 36 of Fig.6 is based on the average breakpoint 61 that corresponds to an average among the breakpoints in the plurality of histograms 60, wherein the degree of saturation of the average breakpoint 61 corresponds to an average degree of saturation of the breakpoints in the plurality of histograms 60 and is, in some embodiments, based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms 60, and wherein, in some embodiments, a time of the average breakpoint corresponds to a sampling bin of a breakpoint in a histogram with a predefined offset between light emission and start of acquisition of the respective histogram. More concretely, in the first algorithm of Fig.9, the estimating 37 of the saturation threshold time 64 includes subtracting a duration ℎ that corresponds to the degree ℎ of saturation of the average breakpoint 61 from a time at which a reference slope 62 intersects the saturation threshold 63. As shown in Fig.9, the reference slope 62 corresponds to a linear increase from zero saturation of the macropixel in a sampling bin of the average breakpoint 61 to full saturation of the macropixel in a subsequent sampling bin. Fig.10 illustrates a cyclic error of a depth estimated by an algorithm that uses a height of an average breakpoint for an accurate depth estimate. A of Fig.10 is a graph 66 that shows, in a vertical direction, a distance estimate obtained with the algorithm of Fig.9 and, in a horizontal direction, the actual distance of the object 25 whose distance is estimated. A solid line in the graph 66 indicates the estimated distance, and a dashed line in the graph 66 indicates a true distance that would be measured if no measurement error were present. B of Fig.10 is a graph 67 that shows, in a vertical direction, absolute values of the cyclic error in the estimated distance of the graph 66 for respective actual distance values (horizontal direction). The breakpoint-based algorithm of Fig.9, which is based on tenfold upsampling and an average breakpoint, provides an accurate estimate of the depth. It can be seen from a comparison of Fig.10 with Fig.3 and Fig.4 that the algorithm of Fig.9 can reduce a cyclic error better than estimating the depth without upsampling and better than just applying upsampling without using the average breakpoint 61. A residual deviation in Fig.10 corresponds to the range walk error and may be corrected separately based on any suitable method known in the art. Fig.11 illustrates an algorithm that uses a half-maximum threshold for a depth estimate according to an embodiment. The algorithm of Fig.11 is described for the same plurality of histograms 60 as the algorithm of Fig.9. Therefore, figure elements that are also present in Fig.9 are assigned the same reference signs in Fig.11. In the algorithm of Fig.11, the average breakpoint 61 is determined, and an intersection time 68 is determined at which an interpolation of the saturation between the average breakpoint 61 and one of its adjacent sampling bins intersects the mid-threshold 63. I.e., the intersection time 68 corresponds to an intersection of the average histogram (bold solid line) with the half-maximum threshold 63. However, the intersection time 68 can be biased by an error ^^ that can depend on a distribution of the breakpoints in the plurality of histograms 60. For correcting the error ^^, the error term ^^ is determined, which depends on a difference ^^ between the time at which the reference slope 62 intersects the mid-threshold 63 and the intersection time 68. The saturation threshold time 64, based on which the depth is estimated, is then estimated by applying the error term ^^ to the intersection time 68. Using the half-maximum algorithm of Fig.11 may be beneficial in some cases because an amount of data streamed from a chip (e.g., a chip that includes the macropixel array 22 or that acquires / records / generates the plurality of histograms 60 based on photons detected by the macropixel) to the host (e.g., to the circuitry 23) may be reduced. For example, if the circuitry 23 knows the sampling bin width, the ground saturation level (e.g., depending on whether ambient light is present, zero saturation or a saturation caused by ambient light) and the level of full saturation, only the degree of saturation associated with the average breakpoint 61 needs to be transmitted from the chip to the circuitry 23, or only the value ^^ needs to be transmitted. The value ^^ may also be expressed via ℎ. The algorithm of Fig.11 does not use the height ℎ of the average BP 61 directly but rather a proxy estimate 68, which should be corrected to get an accurate estimate 64 of the depth. The idea and the computation of the residual error term ^^ is as follows: For a case where the average breakpoint 61 is above the half-maximum threshold 63 and, accordingly, ^^ ∈ ^^ଶ ; 1^, as shown in Fig.11, the following values are used: ℎ = 1 2 + ^^ ^^ = 1 +^^The values for ℎ and ^^ are given by When both the saturation and the time are expressed in normalized units, ^^ can be written as: ^^ = ^^ − ^^ = ^^ − ℎ Further: tan( ^^) = ^^ ^^ tan( ^^) = ℎ ^^ = ℎ − 1 2ℎ − 1 2 = 2 ^^ − ℎ = ^^ − ^^ = ^^ − ^^ = ^^ ൬1 − ℎ ^ 1 ^^ = ^^ − ℎ = 3ℎ − 1 3ℎ − 1 − 2ℎଶ2ℎ − ℎ = 2ℎ 2ℎ ^^ = 3ℎ − 1 1 = 3ℎ − 2ℎ ^^ 1 = ℎ(3 − 2 ^^) ℎ = 1 3− 2 ^^^^ = ^^ − ℎ = ^^ − 1 3 − 2 ^^ ^^ = 3 ^^ − 2 ^^ଶ− 1 − ^^ Therefore, ^^ may be expressed as the in a case where ^^ ∈^^ଶ ; 1^, i.e., the average breakpoint is above the half-maximum threshold 63. However, in a case where the average breakpoint 61 is below the half-maximum threshold 63 and, accordingly, ^^ ∈ ^0;^ଶ ^, the above function may not be accurate. Fig.12 illustrates the error ε for a case where the average breakpoint 61 is below a half- maximum threshold 72. Based on a plurality of histograms 70, an average breakpoint 71 is determined in an average histogram (bold solid line) of the plurality of histograms 70. The average histogram intersects a the half-maximum threshold 72 at an intersection time 73, which differs by an error ^^ from a saturation threshold time 74 based on which the depth should be estimated. As in Fig.11, a height of the average breakpoint 71 is denoted as ℎ, and a difference between the intersection time 73 and an intersection of a reference slope (not shown in Fig.12) with the half-maximum threshold 72 is denoted as ^^. In this case, the following values are used: ℎ = 1 2 − ^^ ^^ = 1 − ^^ The values for ℎ and ^^ are given by When both the saturation and the time are expressed in normalized units, ^^ can be written as: ^^ = ^^ − ^^ = ℎ − ^^ Further: tan( ^^) = ^^ ^^ tan( ^^) = 1 − ℎ ^^ = 1 − ℎ = 1 − 2ℎ ^^ = ℎ − ൬1 − 2ℎ ^൬ℎ − = 2ℎ − 2ℎଶ− ℎ + 2ℎଶ− = ℎ − 2(1 − 2 ^^ − 2 ^^ℎ = ℎ ℎ = 2 ^^ 1 + 2 ^^ ^^ = 2 ^^ ^ − 2 ^^ − ^^ − 2 ^^ଶ1 + 2 ^ ^^ = 1 + 2 ^^ ^^ = ^^ − 2 ^^ଶ1 + 2 ^^ Therefore, ^^ may be expressed as the above function of ^^ in a case where ^^ ∈ ^0;^ଶ ^, i.e., the average breakpoint is below the half-maximum threshold 72. Thus, in the second algorithm, which is illustrated in Fig.11 and 12, the estimating of the depth at 36 of Fig.6 is based on the average breakpoint 61 that corresponds to an average among the breakpoints in the plurality of histograms 60, wherein the degree of saturation of the average breakpoint 61 corresponds to an average degree of saturation of the breakpoints in the plurality of histograms 60 and is, in some embodiments, based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms 60, and wherein, in some embodiments, a time of the average breakpoint corresponds to a sampling bin of a breakpoint in a histogram with a predefined offset between light emission and start of acquisition of the respective histogram. More concretely, in the second algorithm of Fig.11 and 12, the estimating 37 of the saturation threshold time 64 includes determining an intersection time 68 at which an interpolation of the saturation between the average breakpoint 61 and one of its adjacent sampling bins intersects the saturation threshold 63, determining an error term ^^ that depends on a difference between a time at which the reference slope 62 intersects the saturation threshold 63 and the intersection time 68, and applying the error term ^^ to the intersection time 68. As described, the error term ^^ depends on whether the intersection time 68 or 73, respectively, is before or after the average breakpoint 61 or 71, respectively. Fig.13 illustrates an error term ^^ as a function of a position of the average breakpoint 61 or 71. A graph 75 shows the error term ^^ based on ^^, i.e., that a formula for the average breakpoint 61 above the half-maximum threshold 63 is applied for ^^ > 0.5, and that a formular for the average breakpoint 71 below the half-maximum threshold 72 is applied for ^^ < 0.5. By applying this compensation, it is possible in some embodiments to get an accurate depth estimate with the algorithm of Fig.11, as shown in Fig.14. Before applying the error term ^^, the error term ^^ may be multiplied by the sampling bin with in a length unit (e.g., in meters, centimeters, feet or inches), for instance, 0.15 m for 1 GHz sampling frequency (without limiting the disclosure to these values). Fig.14 illustrates a cyclic error of a depth estimated by an algorithm that uses a half-maximum threshold for a depth estimate. A of Fig.14 is a graph 76 that shows, in a vertical direction, a distance estimate obtained with the algorithm of Fig.11 and, in a horizontal direction, the actual distance of the object 25 whose distance is estimated. A solid line in the graph 76 indicates the estimated distance, and a dashed line in the graph 76 indicates a true distance that would be measured if no measurement error were present. B of Fig.14 is a graph 77 that shows, in a vertical direction, absolute values of the cyclic error in the estimated distance of the graph 76 for respective actual distance values (horizontal direction). By applying the compensation of the error ^^, it is possible to get an accurate depth estimate using the half-maximum threshold algorithm of Fig.11. It can be seen from a comparison of Fig.14 with Fig.3 and Fig.4 that the algorithm of Fig.11, which uses upsampling and a half-maximum method with the correction term ^^, can reduce a cyclic error better than estimating the depth without upsampling and better than just applying upsampling without using the average breakpoint 61 or 71. Fig.15 illustrates an algorithm that is based on averaging estimates from individual upsampled histograms for a depth estimate according to an embodiment. The algorithm of Fig.15 is based on a plurality of histograms 80, which indicate degrees of saturation of the macropixel (vertical direction) in respective sampling bins (horizontal direction). The algorithm of Fig.15 determines a respective intersection 82a to 82g of each of the plurality of histograms 80 with a half-maximum threshold 81. The half-maximum threshold 81 corresponds to a saturation level at which half of the SPADs of the macropixel detect a photon and is located in a middle between a ground saturation and a full saturation of the macropixel, wherein the ground saturation corresponds to zero saturation or to a saturation caused by ambient light, based on a presence of ambient light. The intersections 82a to 82g may also be referred to as points ^^^where the ^^-th histogram 80 intersects the half-maximum threshold 81. I.e., based on applying the half-maximum threshold 81 to each of the upsampled histograms 80 (dashed lines in Fig.15), the intersection time 82a to 82g is determined at which an interpolation of the saturation between a breakpoint of the respective histogram 80 and one of its adjacent sampling bins intersects the half-maximum threshold 81 (an example of a saturation threshold). The algorithm of Fig.15 then determines, as the saturation threshold time based on which the depth should be estimated, an average time 83 among the intersection times 82a to 82g. The average 83 of the delays (in ns) between emission of the respective light pulse and the respective intersection times 82a to 82g that correspond to the points ^^^(their location along the time axis) is then computed and used as a precise estimate to determine the range. Thus, in the third algorithm, which is illustrated in Fig.15, the estimating of the saturation threshold time at 37 of Fig.6 includes determining, for each breakpoint, an intersection time 82a to 82g at which an interpolation of the saturation between the respective breakpoint and one of its adjacent sampling bins intersects the saturation threshold 81, and determining, as the saturation threshold time, an average time 83 among the intersection times 82a to 82g. Fig.16 illustrates an average of individual estimates by the algorithm of Fig.15 that is based on averaging estimates from the individual upsampled histograms 80. A of Fig.16 shows a correlation between the average 83 over the individual estimates 82a to 82g against the breakpoint estimates (square marker 85 in Fig.15). A reason why applying the threshold 81 to the upsampled histograms 80 (instead of averaging the histograms 80 and applying the threshold 81 to the average histogram) and averaging the ^^^points provides a fine estimate of the distance is that all individual ^^^points contain an error term ^^ as shown in Fig.13. A sign of the error term ^^ may depend on whether the individual breakpoint is located above or below the threshold 81. Summing them up (averaging) may result in compensation of error terms ^^ contained in each individual ^^^estimate (due to the fact that the error term function ^^ is symmetric). This is illustrated B of Fig.16, where a rectangle 89 highlights a distribution of the individual ^^^points for a given location. An average of those points ^^^provides, in some embodiments, a fine estimate of the range in which all individual error terms ^^ compensate each other. Fig.17 illustrates a cyclic error of a depth estimated by the algorithm of Fig.15 that is based on averaging estimates from individual upsampled histograms for a depth estimate. A of Fig.17 is a graph 89 that shows, in a vertical direction, a distance estimate obtained with the algorithm of Fig.15 and, in a horizontal direction, the actual distance of the object 25 whose distance is estimated. A solid line in the graph 89 indicates the estimated distance, and a dashed line in the graph 89 indicates a true distance that would be measured if no measurement error were present. B of Fig.17 is a graph 90 that shows, in a vertical direction, absolute values of the cyclic error in the estimated distance of the graph 89 for respective actual distance values (horizontal direction). It can be seen from a comparison of Fig.17 with Fig.3 and Fig.4 that the algorithm of Fig.15 can reduce a cyclic error better than estimating the depth without upsampling and better than just applying upsampling without using the average breakpoint 61 or 71, and that the algorithm of Fig.15 provides an accurate estimate of the depth. A residual deviation in Fig.17 corresponds to the range walk error and may be corrected separately based on any suitable method known in the art. Fig.18 illustrates a degree of upsampling needed according to an embodiment. Graphs in a left column of Fig.18 show histograms, and graphs in a right column of Fig.18 show respective residual errors after correction. An exact degree of upsampling that is needed to cancel the cyclic error in range measurements depends on a strength (intensity) of the reflected light pulse 26 impinging the SPAD array of the micropixel. In Fig.18, an example with no upsampling, x2, x4, and x8 upsampling is shown for different strengths of the reflected laser pulses 26. In graphs in a top row of Fig.18, (almost) immediate full saturation of the echo in the respective histograms occurs. In graphs in a bottom row of Fig.18, saturation of the respective histogram increases over multiple consequent sampling bins. In the histogram graphs on the left of Fig.18, a horizontal axis (“Sampling bin #”) includes ticks 23 to 26 (upper histogram) or 14 to 18 (lower histogram), while in the cyclic error graphs on the right of Fig.18, the horizontal axis (“Actual distance [m]”) starts from 0 m. The reason for the different offsets of the values given in the respective horizontal axes is that, in the cyclic error graphs on the right side, a value of 0 m does not correspond to a dToF sensor position but to a distance from the dToF sensor at which a series of measurements has started. For example, if a respective measurement series starts at a distance of 2.25 m from the dToF sensor, the distance of 2.25 m from the dToF sensor may be represented as 0 m in the cyclic error graphs on the right side, whereas the same distance may be represented as sampling bin #15 in the histograms on the left side (in a case of 1-GHz sampling frequency, i.e., 1-ns sampling bins, since 15 cm * 15 [bins] = 2.25 m). Thus, values in the horizontal axes of the cyclic error graphs on the right side of Fig.18 indicate a respective displacement of a detected object from a starting position (e.g., 2.25 m from the dToF sensor) in a series of measurements within a span of, e.g., [0;0.3] m. Fig.19 illustrates an adjustment due to ambient light according to an embodiment. Presence of ambient light may result in a non-zero floor level of the histogram. For the algorithms of Fig.9 and 15, no adjustments are needed in some embodiments when ambient light is present, except the half-maximum threshold 63 and 81 is computed as the average level between a maximum level of the histogram (one in a case if the histograms are normalized, as illustrated herein) and the ambient light level (e.g., a saturation that is caused by the ambient light). For the algorithm of Fig.11 and 12, a decision rule on what formula to apply to correct the error ^^ changes so that instead of using ½ as a level of the threshold 63 or 72, the threshold 63 or 72 is computed as an average saturation level between a maximum level of the histogram (one in a case if the histograms are normalized, as illustrated herein) and the ambient light level (e.g., a saturation that is caused by the ambient light). The error terms ^^ (for method b) are then applied respectively. In some embodiments, a residual absolute error introduced by a varying level of the ambient light is relatively small (compared to the cyclic error) and can be compensated in a particular system by calibration measures. Fig.20 illustrates a correction of a cyclic error at different levels of saturation according to an embodiment. In some embodiments, the algorithm of Fig.15 works well at different degrees of saturation, i.e. with a different number of points in a rising edge of a respective histogram, and it provides a best compensation of a cyclic error under different conditions: different degree of saturation, and different levels of ambient light. For example, A of Fig.20 shows a plurality of histograms with different degrees of saturation in a respective rising edge. B of Fig.20 shows a cyclic error without correction (dashed line) and a cyclic error with the algorithm of Fig.15 applied as a correction (solid line). It can be seen that the algorithm of Fig.15 reduces the cyclic error. It is noted that a horizontal axis of the cyclic error graph in B of Fig.20 indicates a displacement from a starting position in a series of measurements, as explained with respect to Fig.18. However, the algorithm of Fig.15 may need preprocessing of the respective individual histograms (each of 10 in case of upsampling x10, without limiting the disclosure to these values) before averaging the results (individual ^^^points). To avoid significant computational load in case when multiple laser pulses are used to form one histogram (to reduce noise), an accumulation of pulses and upsampling can be split in batches. For instance, each of a plurality of × ^^ upsampled (e.g. delayed) histograms may be obtained by accumulating ^^ pulses to reduce the noise, then the resulting accumulations ( ^^ histogram in this case) may be processed individually, and results (individual ^^^points) may then be averaged to get a final estimate of a distance (depth). Therefore, instead of ^^ ∗ ^^ processing iterations (applying a filter to all of ^^ ∗ ^^ histograms and finding the respective ^^ ∗ ^^ ^^^points), the number of histograms that should be processed may be reduced to ^^. So, for × 4 upsampling and 100 accumulations per histogram, each of four upsampled (e.g., delayed) acquisitions may respectively be obtained as a sum of 100 individually acquired histograms which are all acquired with a same delay and then accumulated (summed). Then to each of those four resulting histograms, the half-maximum threshold 81 may be applied to extract individual ^^^points. After that, the mean over four ^^^points may be used to compute (estimate) the distance (depth). The disclosure is not limited to × 4 upsampling and 100 accumulations per histogram, and the skilled person will find other suitable values for the upsampling ratio and for the number of accumulations per histogram. However, the algorithm of Fig.11 and 12, which is based on applying a correction term, needs to be updated in some embodiments to take into account different levels of saturation (e.g., a number of points in a rising edge of a histogram). Fig.21 illustrates the correction term ^^ for a correction of a cyclic error at different levels of saturation according to an embodiment. The correction term ^^ of the algorithm of Fig.11, which has been described with respect to Fig.12 and 13, is adjusted in some embodiments, as follows. ^^ is a span between a preceding and a subsequent point (in a rising edge) in a respective histogram, relative to an intersection of the rising edge of the respective histogram and the (half- maximum threshold), which is placed at ½ between a maximum of the upsampled histogram and an ambient light level threshold (which corresponds to a saturation caused by ambient light). However, in the case of Fig.21, no ambient light is present, and the ambient light level threshold equals a degree of saturation that corresponds to zero saturation. య A criterion for using an extra attenuation factor ^^మin the error term ^^ of the algorithm of Fig.11 is the following: When at least two points (i.e., breakpoints) are observed in a rising edge of an య upsampled histogram (as illustrated in Fig.21), the extra term ^^మshould be applied to take into account scaling. Fig.22 illustrates examples of a correction of a cyclic error in different levels of saturation. A of Fig.22 illustrates four example cases of histograms with different levels (degrees) of saturation. B of Fig.22 illustrates a cyclic error of the respective four cases of A of Fig.22 that is obtained when only upsampling is performed but no correction is applied. C of Fig.22 illustrates a cyclic error of the respective four cases of A of Fig.22 that is obtained using an adjusted error term ^^ that has been adjusted as described with respect to Fig.21. As its can be seen from a comparison of B and C of Fig.22, Fig.22 provides examples of reduction of the cyclic error for different levels (degrees) of saturation for × 4 upsampling (which may be achieved, for instance, by summing the acquired histogram with the ones acquired by delaying the emitted light pulse by ¼, ½, and ¾ of a sampling bin width relative to the first one). It is noted that a horizontal axis of the cyclic error graphs in B and C of Fig.22 indicates a displacement from a starting position in a series of measurements, as explained with respect to Fig.18. To mitigate the cyclic error, it is important in some embodiments to have a rising edge of the emitted laser pulse long enough so that a half width of the laser pulse is comparable with a length of the rising edge of the histogram at a moderate level of saturation (at least 3-4 sampling intervals), as illustrated in Fig.23. Fig.23 illustrates a half width of an emitted light pulse (e.g., of an emitted laser pulse emitted by the VCSEL array 21 of Fig.5) according to an embodiment. The half width of the emitted laser pulse should span an interval indicated by an arrow (about four sampling bins in this case; for 1 GHz this is >= 8-ns laser pulse width, without limiting the disclosure to these values). Choosing the half width of the emitted light pulse long enough may provide the conditions that, when varying an offset between the emitted light pulse and a start of acquisition of a respective histogram (e.g., delaying the laser pulse) within one sampling period (e.g., within one sampling bin width), results in a proportional increase / decrease of rising edge values of the respective histogram and that the error term ^^ described above holds true for all possible values of the offset (e.g., delays of the light pulse) within one sampling period. In some embodiments, a further increase of the rising edge duration in a histogram is observed typically for long distances. In this case, the cyclic error may become negligible and the scaling factor ^^ may make the error term ^^ negligible as well (due to the small steps between adjacent points in the histogram rising edge). This may prevent an introduction of the error by applying the error term ^^ in case when the cyclic error disappears. Example hardware implementations for varying the offset between the emission of a light pulse and the start of acquisition of a respective histogram are depicted in Figs.24 and 25. A programmable delay generator (an example of a delay element) is introduced, which is configured to delay the pulse trigger signal or a reference clock of a respective histogram recording system. Fig.24 schematically shows an embodiment of a time-of-flight (ToF) device 111. The ToF device 111 includes an IC logic controller 112, a SPAD array 113, and a programmable delay generator 114. A laser driver 115 is configured to drive a laser 116. The IC logic controller 112 generates a SPAD record trigger signal which controls the SPAD array 113. A SPAD record trigger signal obtained from IC logic controller 112 is passed through programmable delay generator 114, which is provided between the SPAD record trigger signal and the laser driver 115, in order to delay the laser trigger signal according to the offset. For example, the IC logic controller 112 may control the delay generator 114 by a delay index which indicates the offset and represents a corresponding delay configuration. Fig.25 schematically shows an alternative embodiment of a ToF device 112. The ToF device 121 comprises an IC logic controller 122, a SPAD array 123, and a programmable delay generator 124. A laser driver 125 is configured to drive a laser 126. The IC logic controller 122 generates a SPAD record trigger signal which is sent to laser driver 125 as a laser trigger signal. Based on the SPAD record trigger signal received from IC logic controller 122, laser driver 125 controls laser 126 to produce a laser pulse. IC logic controller 122 further generates a delay configuration and sends this delay configuration to programmable delay generator 124 together with the SPAD record trigger signal. Programmable delay generator 124 delays the SPAD record trigger signal based on the delay configuration and controls the recording in SPAD array 123 based on the delayed trigger signal. Programmable delay generator 124 is thus used to modify the SPAD record trigger signal between the laser trigger signal and the SPAD array recording. As in the example of Fig.24, the IC logic controller 122 may control the delay generator 124 by a delay index which indicates the offset and represents the delay configuration. The ToF devices 111 and 121 of Fig.24 and 25, respectively, may perform dToF measurements for estimating a depth, as described herein. The IC logic controllers 112 and 122, respectively, are an example of a source of a trigger signal for an emission of a light pulse and for a start of acquisition of a histogram, and may correspond to the circuitry 23 of Fig.5 (e.g., may include the circuitry 23 or may provide a similar functionality as the circuitry 23), or the circuitry 23 may be provided separately from the IC logic controllers 112 or 122, respectively. The lasers 116 and 126, respectively, may correspond to, include or be included in the VCSEL array 21 of Fig.5. The SPAD arrays 113 and 123, respectively, may correspond to the macropixel array 22 of Fig.5 or may be included in one or more macropixels of the macropixel array 22. The delay generators 114 and 124, respectively, are examples of delay elements for varying an offset between an emission of a light pulse (e.g., by the VCSEL array 21) and a start of acquisition of a histogram (e.g., by the macropixel array 22) as described herein. In some embodiments, an accuracy in SPAD-array lidars in improved by cyclic error correction, as described herein. It should be recognized that the embodiments describe methods with an exemplary ordering of method steps. The specific ordering of method steps is however given for illustrative purposes only and should not be construed as binding. For example, in the method 30 of Fig.6, the obtaining of histograms at 34 and the determining of breakpoints may respectively be performed separately after each iteration of acquiring a histogram at 33 or may be performed for all acquired histograms after all histograms have been acquired at 33. Other changes of the ordering of method steps may be apparent to the skilled person. Please note that the division of the circuitry 23 of Fig.5 into the processing unit 23a, the memory 23b and the communication unit 23c is only made for illustration purposes and that the present disclosure is not limited to any specific division of functions in specific units. For instance, the circuitry 23 could be implemented by a respective programmed processor, field programmable gate array (FPGA) and the like. The method 30 of Fig.6 can also be implemented as a computer program causing a computer and / or a processor, such as circuitry 23, IC logic controller 112 and / or IC logic controller 122 discussed above, to perform the method, when being carried out on the computer and / or processor. In some embodiments, also a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor, such as the processor described above, causes the method described to be performed. All units and entities described in this specification and claimed in the appended claims can, if not stated otherwise, be implemented as integrated circuit logic, for example on a chip, and functionality provided by such units and entities can, if not stated otherwise, be implemented by software. In so far as the embodiments of the disclosure described above are implemented, at least in part, using software-controlled data processing apparatus, it will be appreciated that a computer program providing such software control and a transmission, storage or other medium by which such a computer program is provided are envisaged as aspects of the present disclosure. Note that the present technology can also be configured as described below. (1) Circuitry for estimating a depth, the circuitry being configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms. (2) The circuitry of (1), wherein at least one of the breakpoints corresponds to a degree of saturation between a ground saturation and a full saturation. (3) The circuitry of (1) or (2), wherein each breakpoint corresponds to a respective degree of saturation in a sampling bin of a rising edge in a respective histogram of the plurality of the histograms. (4) The circuitry of any one of (1) to (3), wherein each breakpoint corresponds to a sampling bin that precedes an earliest sampling bin in the respective histogram in which the degree of saturation corresponds to a full saturation of the macropixel. (5) The circuitry of any one of (1) to (4), wherein the estimating of the depth includes: estimating a saturation threshold time at which a rising edge of the saturation of the macropixel intersects a saturation threshold; and mapping the saturation threshold time to a depth. (6) The circuitry of (5), wherein the mapping is based on the speed of light. (7) The circuitry of (5) or (6), wherein the estimating of the depth is based on an average breakpoint that corresponds to an average among the breakpoints in the plurality of histograms. (8) The circuitry of (7), wherein the degree of saturation of the average breakpoint corresponds to an average degree of saturation of the breakpoints in the plurality of histograms. (9) The circuitry of (7) or (8), wherein the degree of saturation of the average breakpoint is based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms. (10) The circuitry of any one of (7) to (9), wherein a time of the average breakpoint corresponds to a sampling bin of a breakpoint in a histogram with a predefined offset. (11) The circuitry of any one of (7) to (10), wherein the estimating of the saturation threshold time includes subtracting a duration that corresponds to the degree of saturation of the average breakpoint from a time at which a reference slope intersects the saturation threshold. (12) The circuitry of any one of (7) to (10), wherein the estimating of the saturation threshold time includes: determining an intersection time at which an interpolation of the saturation between the average breakpoint and one of its adjacent sampling bins intersects the saturation threshold; determining an error term that depends on a difference between a time at which a reference slope intersects the saturation threshold and the intersection time; and applying the error term to the intersection time. (13) The circuitry of (12), wherein the error term depends on whether the intersection time is before or after the breakpoint. (14) The circuitry of any one of (11) to (13), wherein the reference slope corresponds to a linear increase from zero saturation of the macropixel in a sampling bin of the average breakpoint to full saturation of the macropixel in a subsequent sampling bin. (15) The circuitry of (5) or (6), wherein the estimating of the saturation threshold time includes: determining, for each breakpoint, an intersection time at which an interpolation of the saturation between the respective breakpoint and one of its adjacent sampling bins intersects the saturation threshold; and determining, as the saturation threshold time, an average time among the intersection times. (16) The circuitry of any one of (5) to (15), wherein the saturation threshold corresponds to an average degree of saturation between a ground saturation of the macropixel and full saturation of the macropixel. (17) The circuitry of (16), wherein, if ambient light is present, the ground saturation corresponds to a saturation caused by the ambient light. (18) The circuitry of (16) or (17), wherein, if no ambient light is present, the ground saturation corresponds to zero saturation. (19) The circuitry of any one of (1) to (18), wherein the offset associated with a histogram varies between the plurality of histograms based on a step size smaller than a width of the sampling bins. (20) The circuitry of (19), wherein the step size is at most the width of the sampling bins divided by the number of histograms in the plurality of histograms. (21) The circuitry of any one of (1) to (20), wherein the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an acquisition start of the respective histograms. (22) The circuity of any one of (1) to (21), wherein the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an emission of respective light pulses. (23) The circuitry of any one of (1) to (22), wherein the plurality of histograms represent detected reflections of respective emitted light pulses. (24) The circuitry of any one of (1) to (23), wherein the degree of saturation in a sampling bin corresponds to a percentage of single- photon detectors of the macropixel that detect a photon in a time interval that corresponds to the sampling bin. (25) The circuitry of any one of (1) to (24), wherein the estimation of the depth is based on representing the plurality of histograms in normalized units. (26) An electronic device for estimating a depth, the electronic device comprising: a light emission unit; a macropixel including a plurality of single-photon detectors; and the circuitry according to any one of (1) to (25). (27) A method for estimating a depth, the method comprising: obtaining a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimating a depth based on breakpoints in the plurality of histograms. (28) The method of (27), wherein at least one of the breakpoints corresponds to a degree of saturation between a ground saturation and a full saturation. (29) The method of (27) or (28), wherein each breakpoint corresponds to a respective degree of saturation in a sampling bin of a rising edge in a respective histogram of the plurality of the histograms. (30) The method of any one of (27) to (29), wherein each breakpoint corresponds to a sampling bin that precedes an earliest sampling bin in the respective histogram in which the degree of saturation corresponds to a full saturation of the macropixel. (31) The method of any one of (27) to (30), wherein the estimating of the depth includes: estimating a saturation threshold time at which a rising edge of the saturation of the macropixel intersects a saturation threshold; and mapping the saturation threshold time to a depth. (32) The method of (31), wherein the mapping is based on the speed of light. (33) The method of (31) or (32), wherein the estimating of the depth is based on an average breakpoint that corresponds to an average among the breakpoints in the plurality of histograms. (34) The method of (33), wherein the degree of saturation of the average breakpoint corresponds to an average degree of saturation of the breakpoints in the plurality of histograms. (35) The method of (33) or (34), wherein the degree of saturation of the average breakpoint is based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms. (36) The method of any one of (33) to (35), wherein a time of the average breakpoint corresponds to a sampling bin of a breakpoint in a histogram with a predefined offset. (37) The method of any one of (33) to (36), wherein the estimating of the saturation threshold time includes subtracting a duration that corresponds to the degree of saturation of the average breakpoint from a time at which a reference slope intersects the saturation threshold. (38) The method of any one of (33) to (36), wherein the estimating of the saturation threshold time includes: determining an intersection time at which an interpolation of the saturation between the average breakpoint and one of its adjacent sampling bins intersects the saturation threshold; determining an error term that depends on a difference between a time at which a reference slope intersects the saturation threshold and the intersection time; and applying the error term to the intersection time. (39) The method of (38), wherein the error term depends on whether the intersection time is before or after the breakpoint. (40) The method of any one of (37) to (39), wherein the reference slope corresponds to a linear increase from zero saturation of the macropixel in a sampling bin of the average breakpoint to full saturation of the macropixel in a subsequent sampling bin. (41) The method of (31) or (32), wherein the estimating of the saturation threshold time includes: determining, for each breakpoint, an intersection time at which an interpolation of the saturation between the respective breakpoint and one of its adjacent sampling bins intersects the saturation threshold; and determining, as the saturation threshold time, an average time among the intersection times. (42) The method of any one of (31) to (41), wherein the saturation threshold corresponds to an average degree of saturation between a ground saturation of the macropixel and full saturation of the macropixel. (43) The method of (42), wherein, if ambient light is present, the ground saturation corresponds to a saturation caused by the ambient light. (44) The method of (42) or (43), wherein, if no ambient light is present, the ground saturation corresponds to zero saturation. (45) The method of any one of (27) to (44), wherein the offset associated with a histogram varies between the plurality of histograms based on a step size smaller than a width of the sampling bins. (46) The method of (45), wherein the step size is at most the width of the sampling bins divided by the number of histograms in the plurality of histograms. (47) The method of any one of (27) to (46), wherein the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an acquisition start of the respective histograms. (48) The circuity of any one of (27) to (47), wherein the offset associated with a histogram varies between the plurality of histograms based on a varying delay between respective trigger signals and an emission of respective light pulses. (49) The method of any one of (27) to (48), wherein the plurality of histograms represent detected reflections of respective emitted light pulses. (50) The method of any one of (27) to (49), wherein the degree of saturation in a sampling bin corresponds to a percentage of single- photon detectors of the macropixel that detect a photon in a time interval that corresponds to the sampling bin. (51) The method of any one of (27) to (50), wherein the estimation of the depth is based on representing the plurality of histograms in normalized units. (52) A computer program comprising program code causing a computer to perform the method according to anyone of (27) to (51), when being carried out on a computer. (53) A non-transitory computer-readable recording medium that stores therein a computer program product, which, when executed by a processor, causes the method according to anyone of (27) to (51) to be performed.

Claims

CLAIMS 1. Circuitry for estimating a depth, the circuitry being configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms.

2. The circuitry of claim 1, wherein at least one of the breakpoints corresponds to a degree of saturation between a ground saturation and a full saturation.

3. The circuitry of claim 1, wherein each breakpoint corresponds to a respective degree of saturation in a sampling bin of a rising edge in a respective histogram of the plurality of the histograms.

4. The circuitry of claim 1, wherein each breakpoint corresponds to a sampling bin that precedes an earliest sampling bin in the respective histogram in which the degree of saturation corresponds to a full saturation of the macropixel.

5. The circuitry of claim 1, wherein the estimating of the depth includes: estimating a saturation threshold time at which a rising edge of the saturation of the macropixel intersects a saturation threshold; and mapping the saturation threshold time to a depth.

6. The circuitry of claim 5, wherein the estimating of the depth is based on an average breakpoint that corresponds to an average among the breakpoints in the plurality of histograms.

7. The circuitry of claim 6, wherein the degree of saturation of the average breakpoint corresponds to an average degree of saturation of the breakpoints in the plurality of histograms.

8. The circuitry of claim 6, wherein the degree of saturation of the average breakpoint is based on a sum of the degrees of saturation of the breakpoints in the plurality of histograms.

9. The circuitry of claim 6, wherein the estimating of the saturation threshold time includes subtracting a duration that corresponds to the degree of saturation of the average breakpoint from a time at which a reference slope intersects the saturation threshold.

10. The circuitry of claims 6, wherein the estimating of the saturation threshold time includes: determining an intersection time at which an interpolation of the saturation between the average breakpoint and one of its adjacent sampling bins intersects the saturation threshold; determining an error term that depends on a difference between a time at which a reference slope intersects the saturation threshold and the intersection time; and applying the error term to the intersection time.

11. The circuitry of claim 9, wherein the reference slope corresponds to a linear increase from zero saturation of the macropixel in a sampling bin of the average breakpoint to full saturation of the macropixel in a subsequent sampling bin.

12. The circuitry of claim 5, wherein the estimating of the saturation threshold time includes: determining, for each breakpoint, an intersection time at which an interpolation of the saturation between the respective breakpoint and one of its adjacent sampling bins intersects the saturation threshold; and determining, as the saturation threshold time, an average time among the intersection times.

13. The circuitry of claim 5, wherein the saturation threshold corresponds to an average degree of saturation between a ground saturation of the macropixel and full saturation of the macropixel.

14. The circuitry of claim 13, wherein, if ambient light is present, the ground saturation corresponds to a saturation caused by the ambient light.

15. The circuitry of claim 1, wherein the offset associated with a histogram varies between the plurality of histograms based on a step size smaller than a width of the sampling bins.

16. The circuitry of claim 15, wherein the step size is at most the width of the sampling bins divided by the number of histograms in the plurality of histograms.

17. The circuitry of claim 1, wherein the degree of saturation in a sampling bin corresponds to a percentage of single- photon detectors of the macropixel that detect a photon in a time interval that corresponds to the sampling bin.

18. The circuitry of claim 1, wherein the estimation of the depth is based on representing the plurality of histograms in normalized units.

19. An electronic device for estimating a depth, the electronic device comprising: a light emission unit; a macropixel including a plurality of single-photon detectors; and a circuitry configured to: obtain a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimate a depth based on breakpoints in the plurality of histograms.

20. A method for estimating a depth, the method comprising: obtaining a plurality of histograms from a macropixel, wherein each of the plurality of histograms indicates respective degrees of saturation of the macropixel in predefined sampling bins, and wherein each of the plurality of histograms is associated with a respective offset between light emission and a start of acquisition of the histogram; and estimating a depth based on breakpoints in the plurality of histograms.

Citation Information

Patent Citations

  • System and method for evaluating symbols

    EP3712842A1

  • Methods and systems for power-efficient subsampled 3D imaging

    US20220035010A1

  • Multimode detector for different time-of-flight based depth sensing modalities

    US20220294998A1

Cited By

  • Optical receiving sensor applied to laser radar, laser radar, and ranging method

    CN122652513A