SPAD array control method, SPAD array and image acquisition equipment
By controlling the activation and inactive status of pixel units in the SPAD array by preset pixel templates, only some pixel units work, solving the problem of bottleneck in hardware resources in traditional SPAD arrays and achieving the optimization of hardware resources and performance improvement.
Patent Information
- Application Number
- CN202510712152.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-07-04
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional SPAD arrays face hardware resource bottlenecks under high pixel density, especially the readout circuit and signal lines occupy too much chip area, resulting in high cost and power consumption problems, and resource consumption shows an ultra-linear increase, affecting device performance.
By controlling which pixel units in the SPAD array are in the activated state and which are in the inactive state through the preset pixel template, so that only some pixel units work, and convert the detection values of multiple pixel units into one pixel cluster output value, reducing hardware resource requirements.
It effectively reduces the output data space dimension of the SPAD array, reduces the processing circuit scale, reduces the hardware resource requirements, reduces power consumption and improves device performance.
Smart Images

Figure CN120254816A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of optoelectronic detection technology, and particularly to a control method for a SPAD array, a SPAD array, and an image acquisition device. Background Art
[0002] In the application of a Single Photon Avalanche Diode (SPAD) array, with the continuous improvement of pixel density and resolution, the traditional parallel processing architecture faces severe hardware resource bottlenecks.
[0003] Specifically, a high pixel density SPAD array usually requires independent readout circuits, signal lines, and storage units for each pixel, resulting in a sharp increase in wafer area and cost. Especially in a parallel processing architecture, the readout circuits and signal lines can occupy more than 50% of the wafer area, directly driving up the manufacturing cost of the SPAD array. Summary of the Invention
[0004] The present application provides a control method for a SPAD array, a SPAD array, and an image acquisition device, which are used to reduce the spatial dimension occupied by the output data of the SPAD array, thereby reducing the scale of the processing circuit and the hardware resource requirements of the SPAD array.
[0005] In a first aspect of an embodiment of the present application, a control method for a SPAD array is provided. The SPAD array includes m×n SPAD pixel units. The method includes: controlling the operation of the m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the state of each pixel unit in the m×n SPAD pixel units, and some pixel units in the preset pixel template are in an active state and some pixel units are in a non-active state; the pixel cluster output value is used to characterize the sum of the detection values of the pixel units in the active state; outputting the pixel cluster output value to an image reconstruction module so that the image reconstruction module reconstructs a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0006] The control method of the SPAD array provided by the embodiment of the present application determines which SPAD pixel units in the array are in the active state and which are in the inactive state through a predefined preset pixel template when acquiring the detection image of the SPAD array, so that only some pixel units work during each exposure or time window, rather than all being read out in parallel. Furthermore, after each preset pixel template runs, only the detection values (the number of photons or pulses received) corresponding to the active pixels are collected, and the sum of the detection values is calculated, so that only one output value is obtained after each detection for the m×n SPAD pixel units. It can be seen that the solution provided by the embodiment of the present application can convert the detection values of the m×n pixel units into a pixel cluster output value, that is, the detection values of the m×n pixel units only need one processing circuit to output, which can reduce the space dimension occupied by the output data of the SPAD array, thereby reducing the hardware resource requirements of the SPAD array.
[0007] Combined with the first implementation manner of the first aspect, the SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in the active state or the inactive state; controlling the operation of the m×n SPAD pixel units based on the preset pixel template includes: activating the target pixel enable terminal to make the SPAD pixel unit corresponding to the target pixel enable terminal in the active state; the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit characterized as being in the active state by the preset pixel template.
[0008] Combined with the second implementation manner of the first aspect, controlling the operation of the m×n SPAD pixel units based on the preset pixel template to obtain the pixel cluster output value corresponding to the m×n SPAD pixel units includes: controlling the operation of the m×n SPAD pixel units based on the preset pixel template to obtain the number of photons corresponding to each SPAD pixel unit in the m×n SPAD pixel units to form a photon count matrix; the number of photons corresponding to the SPAD pixel units in the inactive state in the photon count matrix is 0; determining the compressed measurement vector based on the photon count matrix and the observation matrix; the compressed measurement vector is the pixel cluster output value corresponding to the m×n SPAD pixel units.
[0009] Combined with the third implementation manner of the first aspect, controlling the operation of the m×n SPAD pixel units based on the preset pixel template to obtain the pixel cluster output value corresponding to the m×n SPAD pixel units includes: within a preset time period, controlling the operation of the m×n SPAD pixel units based on the preset pixel template and counting the total number of pulses received by the m×n SPAD pixel units; determining the pixel cluster output value based on the total number of pulses received by the m×n SPAD pixel units within the preset time period.
[0010] Combined with the fourth implementation manner of the first aspect, determining the pixel cluster output value based on the number of pulses received by m×n SPAD pixel units within a preset time period includes: within the preset time period, if the number of pulses received by the m×n SPAD pixel units reaches a preset pulse number threshold, or the end time of the preset time period arrives, determining the pixel cluster output value based on the received number of pulses and the statistical time for counting the pulses.
[0011] Combined with the fifth implementation manner of the first aspect, the method further includes: reconstructing a detection image based on multiple pixel cluster output values and a preset pixel template corresponding to each pixel cluster output value; the preset pixel templates corresponding to each pixel cluster output value among the multiple pixel cluster output values are different.
[0012] The second aspect of the embodiments of the present application provides a SPAD array, which includes: m×n SPAD pixel units, a pulse statistics module, and an image reconstruction module. The pulse statistics module is configured to control the operation of the m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the on / off states of each pixel unit among the m×n SPAD pixel units, and the on / off states of the m×n SPAD pixel units in the preset pixel template are different; the pulse statistics module is further configured to output the pixel cluster output values to the image reconstruction module, so that the image reconstruction module reconstructs a detection image based on the multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0013] Combined with the first implementation manner of the second aspect, the SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or a non-active state; specifically, the pulse statistics module is configured to activate a target pixel enable terminal, so that the SPAD pixel unit corresponding to the target pixel enable terminal is in an active state; the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit that is in an active state characterized by the preset pixel template.
[0014] The third aspect of the embodiments of the present application provides a radar, which includes the SPAD array provided by the second aspect and its possible implementation manners.
[0015] The fourth aspect of the embodiments of the present application provides an image acquisition device, which includes the SPAD array provided by the second aspect and its possible implementation manners.
[0016] Among them, for the beneficial effects described in the second aspect to the fourth aspect, reference can be made to the analysis of the beneficial effects of the first aspect, which will not be elaborated here. Description of the Drawings
[0017] The accompanying drawings are used to provide a further understanding of the technical solution of the present invention, and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present invention, and do not constitute a limitation to the technical solution of the present invention.
[0018] Figure 1 It is a schematic diagram of the theory of compressive sensing provided by the embodiment of the present application; Figure 2 It is a schematic structural diagram of a SPAD array provided by the embodiment of the present application; Figure 3 It is the method flow of a control method of a SPAD array provided by the embodiment of the present application Figure 1 ; Figure 4 It is the method flow of a control method of a SPAD array provided by the embodiment of the present application Figure 2 ; Figure 5 It is a schematic diagram of a pulse counting process provided by the embodiment of the present application; Figure 6 It is another schematic diagram of a pulse counting process provided by the embodiment of the present application; Figure 7 It is a schematic diagram of a control device of a SPAD array provided by the embodiment of the present application; Figure 8 It is a schematic structural diagram of an electronic device provided by the embodiment of the present application. Detailed implementation manners
[0019] Next, the technical solutions in the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0020] The terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present application, unless otherwise stated, the meaning of "a plurality" is two or more.
[0021] In the description of this application, it should be noted that unless otherwise clearly specified and defined, the terms "connected" and "coupled" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to specific circumstances. Additionally, when describing pipelines, the terms "connected" and "coupled" used in this application have the meaning of conducting. The specific meaning needs to be understood in combination with the context.
[0022] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0023] For the convenience of description, the professional terms involved in the embodiments of this application are first explained: Compressed Sensing (CS): Utilizes the sparsity of signals and the theory of random measurement, so as to be able to maintain the integrity and accuracy of signal information while reducing the amount and complexity of measurement data. The basic principle of compressed sensing can be briefly summarized as follows: When a signal (such as an image) is sparse in a certain transform domain (such as wavelet transform) (that is, most of the coefficients are zero or close to zero), the signal can be completely reconstructed at a sampling rate much lower than the traditional requirement. Specifically, the system does not directly collect the complete signal, but first performs non-correlated linear projection measurements (such as random sampling) on the signal to obtain a set of low-dimensional observation values; then, using a non-linear optimization algorithm, the original high-dimensional signal is reconstructed from these few observation values. The key to this method lies in the non-correlation between the measurement matrix and the signal sparse basis, and the use of optimization techniques such as minimizing the L1 norm to solve the underdetermined system of equations.
[0024] Exemplarily, please refer to Figure 1 , compressed sensing can project the high-dimensional original signal x into a low-dimensional space through the observation matrix Φ to obtain the observation value y. It should be understood that the original signal x is the pixel data directly captured by the sensor, with a lot of noise and data redundancy. Therefore, the sparse representation of the original signal can be determined by the sparse basis Ψ and the sparse coefficient S, that is, the original signal is projected into a "more essential" representation space through the sparse basis, in which most of the information is carried by a few sparse coefficients.
[0025] The whole process can be represented by the following mathematical formula: ; Among them, x is the vectorized representation of an r×r image (i.e., a vector of dimension r), Ψ is a sparse basis (such as Fourier basis, wavelet basis, etc.), s is the coefficient vector of the image in the sparse basis, and it is sparse, that is, only a few non-zero elements.
[0026] y = Φx; Among them, y is the compressed measurement vector (i.e., a k-dimensional vector, k << r 2 ), and Φ is an observation matrix (k×r 2 matrix) that is not related to the sparse basis.
[0027] Furthermore, based on the compressed measurement vector y, multiple iterative calculations are performed on the original signal to gradually approximate the sparse representation x of the original signal, thereby realizing signal compression and reconstruction.
[0028] In the application of SPAD arrays, with the continuous improvement of pixel density and resolution, the traditional parallel processing architecture faces severe hardware resource bottlenecks. This challenge is mainly reflected in the following aspects: First of all, from the perspective of hardware implementation, a high pixel density SPAD array usually requires an independent readout circuit, signal line, and storage unit for each pixel. Although this design method can ensure the parallelism and real-time nature of data acquisition, it comes at the cost of wafer area. As the array scale has developed from the early 32×32 to the current mainstream 512×512 or even larger scales, the metal wiring resources for interconnection and readout on the wafer have increased exponentially, resulting in an increasingly prominent problem of wiring congestion.
[0029] Secondly, in the traditional parallel architecture, the readout circuit and signal lines can occupy more than 50% of the wafer area. This not only significantly increases the manufacturing cost (the cost per square millimeter of a SPAD array using advanced manufacturing processes can reach thousands of dollars), but also brings significant power consumption problems. Especially in the case of large array scales, the parallel working readout circuits will generate serious heating effects, which in turn affect key performance indicators such as the dark count rate (DCR) and photon detection efficiency (PDE) of the device.
[0030] More critically, this resource consumption shows a superlinear growth trend. For example, when the array resolution is increased from 256×256 to 512×512, the required interconnection resources do not simply increase by 4 times. Due to the reduction of wiring pitch and the improvement of shielding requirements, the actual resource consumption may increase by 6 - 8 times. This geometric growth makes the SPAD array using the traditional architecture face fundamental scalability challenges at the million-pixel level.
[0031] Based on this, an embodiment of the present application provides a control method for a SPAD array. This method controls the operation of m×n SPAD pixel units of the SPAD array based on a preset pixel template, and obtains the pixel cluster output values corresponding to the m×n SPAD pixel units. It should be understood that the preset pixel template is used to represent the state of each pixel unit in the m×n SPAD pixel units. Some pixel units in the preset pixel template are in an active state, and some pixel units are in an inactive state; the pixel cluster output value is used to characterize the sum of the detection values of the pixel units in the active state. Furthermore, the solution of the present application outputs the pixel cluster output value to an image reconstruction module, so that the image reconstruction module reconstructs a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0032] That is to say, for the control method of the SPAD array provided by the embodiment of the present application, when acquiring the detection image of the SPAD array, it is determined which SPAD pixel units in the array are in an active state and which SPAD pixel units are in an inactive state through a predefined preset pixel template, so that only some pixel units work during each exposure or time window, rather than all being read out in parallel. Furthermore, after each preset pixel template runs, only the detection values (the number of received photons or pulses) corresponding to the active pixels are collected, and the sum of their detection values is calculated, so that there is only one output value for the m×n SPAD pixel units after each detection. It can be seen that the solution provided by the embodiment of the present application can convert the detection values of the m×n pixel units into a pixel cluster output value, that is, the detection values of the m×n pixel units only need one processing circuit to output, which can reduce the spatial dimension occupied by the output data of the SPAD array, thereby reducing the hardware resource requirements of the SPAD array.
[0033] The control method of the SPAD array provided by the embodiment of the present application can be applied to Figure 2 the SPAD array shown. Please refer to Figure 2 , the SPAD array 100 includes: m×n SPAD pixel units 11, a pulse statistics module 12, and a pulse counting module 13.
[0034] It should be understood that Figure 2 only exemplarily shows an application scenario where the SPAD array 100 includes a pixel cluster (composed of m×n SPAD pixel units). In actual applications, the SPAD array may include multiple pixel clusters, and the embodiment of the present application does not limit this.
[0035] It should be understood that a SPAD is a highly sensitive single-photon photodetector that can operate in Geiger mode under reverse bias. When a single photon enters the depletion region of the SPAD, it triggers an avalanche effect. That is, after the photon is absorbed, the generated electron-hole pairs are accelerated under the action of a strong electric field, triggering impact ionization, resulting in an avalanche-like increase in the number of carriers and forming a significant current pulse. After the avalanche occurs, the SPAD needs to use a quenching circuit to reduce the voltage below the breakdown voltage to terminate the avalanche process, and then reset to prepare for detecting the next photon. The number of output photons (or pulses) of the SPAD is linearly related to the incident light intensity. Therefore, the number of photons (or pulses) can be directly used to characterize the brightness information of the pixel.
[0036] As an implementation, each SPAD pixel unit 11 includes a SPAD diode and a quenching circuit. Among them, the SPAD diode is a single-photon sensitive element that operates in Geiger mode, and the photon triggers an avalanche current; the quenching circuit is used to actively / passively quench the avalanche and restore the SPAD to a detectable state.
[0037] As an implementation, as Figure 2 shown, each SPAD pixel unit 11 may further include a pulse output terminal and a pixel enable terminal. The pulse output terminal is used to output the avalanche pulse signal triggered by photons, while the pixel enable terminal receives an external control signal to determine whether the pixel unit is activated. When the enable terminal is valid, the SPAD pixel unit enters the active state, and the detected photons are converted into electrical pulses and output; otherwise, the SPAD pixel unit remains in the inactive state and does not participate in signal acquisition. This design supports dynamic pixel control and provides a hardware basis for templated sampling.
[0038] The working principle of the SPAD pixel unit is: photon incidence → SPAD triggers avalanche → quenching circuit resets. If the pixel enable terminal is at a high level, the pulse signal is transmitted to the subsequent module through the output terminal. If the enable terminal is at a low level, the pixel is inactive and does not contribute a signal.
[0039] The pulse statistics module 12 is responsible for processing the pulse signals output by the SPAD pixel units. Its main functions include photon counting and timestamp recording. By integrating a time-to-digital converter (TDC) or a counter, this module can count the arrival time of photons (for time-of-flight measurement) or the cumulative number of photons (for intensity imaging).
[0040] The pulse counting module 13 is the last link in signal processing, responsible for integrating and preprocessing the output of the pulse statistics module. Its core tasks may include data caching, time alignment, and noise filtering. For example, during the template switching process, this module associates the signals collected in different time windows with the corresponding template numbers to ensure the matching of data and pixel positions; meanwhile, it can filter out noises such as dark counts. The processed data is output to the image reconstruction module in a standardized format to support the calculation and recovery of high-precision images or depth information.
[0041] It should be understood that the SPAD array 100 may further include a control module (not shown in the figure). The m×n SPAD pixel units are arranged in a matrix form, and the pixel enable terminal of each pixel unit is connected to the control module through specific control lines. The control module is used to manage the pixel enable terminals of the m×n SPAD pixel units 11 based on a preset pixel template, so as to send signals to each pixel enable terminal through the preset pixel template, making the m×n SPAD pixel units 11 in an active state or an inactive state.
[0042] Specifically, as an implementation manner, the control unit can generate corresponding control signals according to the preset pixel template. For each pixel enable terminal, if the value of the corresponding element in the template is 1, an activation signal (such as a high-level signal) is generated; if the value of the corresponding element in the template is 0, a non-activation signal (such as a low-level signal) is generated. When the pixel enable terminal receives the activation signal, the corresponding SPAD pixel unit is activated and starts photon detection; when it receives the non-activation signal, the pixel unit is in an inactive state and stops detection.
[0043] As another implementation manner, the control module sequentially controls multiple pixel enable terminals to operate according to each of the K preset pixel templates stored in advance, so that the m×n SPAD pixel units can sequentially output K pixel cluster output values to the image reconstruction module. So that the image reconstruction module can reconstruct the detection image based on the K pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0044] Specifically, K time periods can be set, each time period corresponding to a preset pixel template. The control module determines whether each pixel enable terminal among the m×n pixel enable terminals is activated based on the preset pixel template corresponding to the current time period, and then obtains the pixel cluster output value corresponding to the current time period.
[0045] It should be understood that the control method of the SPAD array provided by the embodiments of the present application can be applied to the control module of the SPAD array 100. It can also be applied to a controller connected to the SPAD array, and the embodiments of the present application do not limit this.
[0046] Please refer to Figure 3, the control method of the SPAD array provided by the embodiments of the present application includes the following steps: S101. Control m×n SPAD pixel units to operate based on a preset pixel template, and obtain pixel cluster output values corresponding to the m×n SPAD pixel units.
[0047] Among them, the preset pixel template is used to represent the state of each pixel unit in the m×n SPAD pixel units. Some pixel units in the preset pixel template are in an active state, and some pixel units are in an inactive state; the pixel cluster output value is used to characterize the sum of the detection values of the pixel units in the active state.
[0048] Exemplarily, the preset pixel template can be regarded as an m×n binary matrix, and each element in the matrix (such as 0 or 1) corresponds to the switch state of an SPAD pixel unit (such as 1 = active, 0 = inactive).
[0049] In the solution of the present application, the active / inactive (disabled) state of the SPAD pixel units is configured in real time according to the preset pixel template, and only some of the m×n SPAD pixel units are in an active state, and other pixel units are in an inactive state. That is, only a part of the m×n SPAD pixel units (i.e., macro pixel units) are activated each time, which can reduce the spatial compression ratio (SCR) of the SPAD array.
[0050] It should be understood that SCR is the number of activated pixels / the total number of pixels in the macro pixel, which reflects the degree of retention of spatial information by the compression algorithm. The closer SCR is to 1, the more pixels are retained after compression, and the less spatial information is lost; the smaller SCR is, the higher the compression rate, but information loss may occur.
[0051] In the solution provided by the present application, after controlling the operation of the m×n SPAD pixel units, the final output is not a single pixel value, but the pixel cluster output value corresponding to the pixel cluster composed of the m×n SPAD pixel units, that is, the sum of the detection values of the pixel units in the active state.
[0052] That is to say, in each detection process, the output value of the m×n SPAD pixel units is the summary information of multiple pixel units, and only a single numerical value is output. During the detection process, there is no need to store and transmit the complete detection matrix, which can reduce the subsequent data transmission volume and reduce the storage and computing resource requirements.
[0053] In some embodiments, the SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or an inactive state. As a feasible implementation, controlling the operation of m×n SPAD pixel units based on a preset pixel template in step S101 can be specifically implemented as: activating the target pixel enable terminal so that the SPAD pixel unit corresponding to the target pixel enable terminal is in an active state.
[0054] Among them, the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit that is in an active state characterized by the preset pixel template.
[0055] The preset pixel template is a predefined m×n matrix, and each element in the matrix corresponds to the enable state (active or inactive) of an SPAD pixel unit. Controlling the operation of the SPAD pixel unit based on this template is to activate the corresponding target pixel enable terminal according to the instructions in the template, so that the corresponding SPAD pixel unit is activated, while the other pixel enable terminals that do not meet the template requirements remain inactive, so that the corresponding SPAD pixel units are in an inactive state.
[0056] The control unit can control the row and column scanning circuits of the SPAD array according to the preset pixel template, batch-configure the enable signals, and only make the target pixel enable terminals marked as 1 in the template be in an active state (such as setting a high level), so that the corresponding SPAD pixel units are in an active state and can respond to incident photons. The SPAD pixel units in an inactive state have no output.
[0057] The solution provided in this embodiment directly integrates the pixel enable terminal into the pixel array, and each pixel unit is directly connected to the control signal line through an independent enable terminal (such as a transistor switch), so that the control module can independently control the activation state of each pixel. It should be understood that the pixel-level control response time is usually in the nanosecond level, which is suitable for high-speed applications (such as lidar, high-speed cameras). Moreover, by controlling the operation of the SPAD pixel unit through the pixel enable terminal, the unactivated pixel units can be completely powered off, without generating dark current noise, thermal noise or leakage current, which can not only reduce the power consumption of the SPAD array, but also avoid noise being superimposed on the output signal.
[0058] S102. The output pixel cluster outputs a value to the image reconstruction module, so that the image reconstruction module reconstructs the detection image based on the output values of multiple pixel clusters and the preset pixel template corresponding to each pixel cluster output value.
[0059] The output values of pixel clusters reduce the data volume through spatial compression, but retain the key information of the scene and can be used to represent the linear projection of the original image. The output values of pixel clusters can be regarded as compressed packages of images. Each output value of a pixel cluster only contains local information of the detected image, but the details cannot be directly viewed. Therefore, during image reconstruction, it is necessary to perform reconstruction based on multiple output values of pixel clusters and the preset pixel templates corresponding to each output value of a pixel cluster.
[0060] It should be noted that the preset pixel templates corresponding to multiple output values of pixel clusters are different, so as to obtain different multiple output values of pixel clusters. The output values of pixel clusters corresponding to different preset pixel templates can be understood as images "observed" from different angles. Multiple output values of pixel clusters can ensure information complementarity. These observation results from different angles complement each other and jointly retain the key features of the scene, so they can be used to reconstruct the detected image.
[0061] In the actual application process, among the preset pixel templates corresponding to multiple output values of pixel clusters, each template may correspond to local features at different positions or in different directions in the image. For example, the template may cover different sub-regions of the image (such as the center, edge, corner, etc.), or edge features in a specific direction (such as horizontal, vertical, diagonal). The embodiments of the present application do not limit this.
[0062] It should be understood that the image reconstruction module can be a module in the SPAD array or a module in other computing devices. The embodiments of the present application do not limit this.
[0063] It can be seen that in the method for controlling the SPAD array provided by the embodiments of the present application, when obtaining the detected image of the SPAD array, it is determined which SPAD pixel units in the array are in the active state and which are in the non-active state through the predefined preset pixel templates, so that only some pixel units work during each exposure or time window, rather than all being read out in parallel. Furthermore, after each preset pixel template runs, only the detected values (the number of photons or pulses received) corresponding to the active pixels are collected, and the sum of their detected values is calculated, so that only one output value is obtained after each detection for the m×n SPAD pixel units. It can be seen that the solution provided by the embodiments of the present application can convert the detected values of the m×n pixel units into one output value of a pixel cluster, that is, the detected values of the m×n pixel units only require one processing circuit to output, which can reduce the spatial dimension occupied by the output data of the SPAD array, thereby reducing the hardware resource requirements of the SPAD array.
[0064] In some embodiments, each SPAD pixel unit can be equipped with an independent counting circuit that can record the number of avalanche events triggered within a specific time, i.e., the number of incident photons. Furthermore, the pixel cluster output value is determined by the number of photons of each SPAD pixel unit.
[0065] As a feasible implementation, please refer to Figure 4 , S101 can be specifically implemented as follows: S1011. Control the operation of m×n SPAD pixel units based on a preset pixel template to obtain the number of photons corresponding to each SPAD pixel unit among the m×n SPAD pixel units, so as to form a photon counting matrix.
[0066] Among them, the number of photons corresponding to the SPAD pixel units in the non-activated state in the photon counting matrix is 0.
[0067] Each SPAD pixel unit records the number of detected photons during the integration time. Photon counting is the core function of SPAD, which can provide high-precision photon arrival time information. Independently record the photon counting of each pixel, and organize the photon counting results of each pixel into a two-dimensional matrix. The number of rows and columns of the matrix respectively correspond to m and n of the pixel array.
[0068] In the photon counting matrix, by setting the number of photons corresponding to the non-activated pixels to 0, it clearly identifies which pixels are not activated during the data acquisition process. Ensure that each element in the matrix has a clear physical meaning. Even if the pixel is not activated, its corresponding position is retained in the matrix.
[0069] S1012. Determine the compressed measurement vector based on the photon counting matrix and the observation matrix.
[0070] Among them, the compressed measurement vector is used to represent the pixel cluster output value corresponding to the m×n SPAD pixel units.
[0071] The observation matrix Φ is a linear transformation matrix that projects a high-dimensional signal (photon counting matrix) into a low-dimensional measurement space, with a dimension of p×(m×n), where p m×n. It is used to reduce the data volume through random projection and lower the storage and transmission costs. Under the condition of satisfying the restricted isometry property, the observation matrix can ensure that the sparse representation of the signal does not lose key information in the low-dimensional space.
[0072] It should be understood that the embodiments of the present application do not limit the observation matrix. The observation matrix can be a Gaussian random matrix, a Bernoulli matrix, or a partial Hadamard matrix, and can be determined according to requirements in actual applications. As a feasible implementation, since the partial reconstruction algorithm depends on the characteristics of the observation matrix, the observation matrix used can be determined based on the reconstruction algorithm to be used subsequently. Exemplarily, partial reconstruction algorithms (such as L1 minimization) rely on the randomness of the observation matrix (such as Gaussian matrices, Bernoulli matrices) to ensure the uniqueness and stability of the solution. The partial reconstruction algorithm requires the observation matrix to satisfy the restricted isometry property condition to ensure the accurate reconstruction of the sparse signal.
[0073] The compressed measurement vector y is a linear combination of the observation matrix Φ and the photon counting matrix X, with a dimension of p×1, that is: y = ΦX. The dimension p of the measurement vector is much smaller than m×n, thus enabling data compression. The measurement vector y contains the key features of the photon counting matrix and can be used for subsequent reconstruction or analysis.
[0074] As a feasible implementation, the photon counting matrix X (with a dimension of m×n) can be flattened into a column vector x (with a dimension of m×n×1), and then y = Φx can be calculated to obtain the compressed measurement vector.
[0075] It can be seen that the solution provided in this embodiment, by performing compressive projection on the photon counting matrix in combination with the observation matrix, can significantly reduce the storage and transmission requirements of data. Moreover, the uncorrelated characteristics of the observation matrix (such as i.i.d. random elements) can evenly disperse the noise energy and effectively suppress the typical dark counts and crosstalk noise of SPADs. When the RIP condition is satisfied, the compressive projection retains the sparse features (such as wavelet coefficients) of the original signal and can be used for accurate image reconstruction.
[0076] In some embodiments, setting a counter for each pixel unit incurs a relatively high cost, and the compressed measurement vector can be understood as the weighted sum of the number of photons collected by pixel units in multiple working states. Therefore, in order to further reduce costs, a shared counter can be set for multiple pixel units, and the compressed measurement vector can be directly obtained by acquiring the total number of pulses corresponding to multiple pixel units.
[0077] As another feasible implementation, S101 can be specifically implemented as: S201. During a preset time period, control m×n SPAD pixel units to operate based on a preset pixel template, and count the total number of pulses received by the m×n SPAD pixel units.
[0078] Combined with Figure 2As shown, a shared timer and a shared counter can be set in the pulse statistics module 12. The pulse signals of all activated pixels are merged through an "OR gate" and then input into the shared counter. At the start time of a preset time period, the shared timer starts, and the shared counter is cleared. At the end of the period, the shared counter locks and outputs the count value, obtaining the total number of photon pulses received by the m×n SPAD pixel units within the preset time period.
[0079] It can be understood that counting the total number of pulses is faster than reading data pixel by pixel, which is suitable for high-speed applications. Moreover, there is no need to equip each pixel with an independent counter and memory, which can reduce the hardware complexity.
[0080] S202. Determine the pixel cluster output value based on the total number of pulses received by the m×n SPAD pixel units within the preset time period.
[0081] It can be understood that the compressed measurement vector in the above embodiments is directly obtained by compressive sensing of the photon counting matrix (original pulse number matrix), that is, the high-dimensional photon arrival rate matrix R is projected into a low-dimensional space through the measurement matrix Φ to obtain the compressed photon arrival rate vector.
[0082] However, after counting the total number of pulses received by the m×n SPAD pixel units within the preset time period, the number of photons received by the m×n SPAD pixel units can be directly obtained, and then the photon arrival rate corresponding to the m×n SPAD pixel units can be determined.
[0083] The light intensity I is the photon energy per unit area per unit time. The SPAD converts photons into electrical signals through the photoelectric effect. When each photon arrives at the SPAD pixel unit, an electrical pulse is triggered. The total number of pulses = the total number of photons = the light signal intensity. The probability of each photon arriving at the SPAD is related to the light intensity: the higher the light intensity, the more photons arrive per unit time, and the number of pulses (frequency) received by the SPAD naturally increases. In other words, the photon arrival rate = the light signal intensity per unit time, and the photon arrival rate can directly reflect the light intensity distribution of the pixel cluster.
[0084] As a feasible implementation method, the photon arrival rate can be determined in the following way: ; where R is the photon arrival rate; N is the total number of pulses, that is, the total number of photons received within the time period T; T is the time period, which is used to normalize the number of pulses to give it a time dimension.
[0085] That is to say, the number of pulses received by the m×n SPAD pixel units can be divided by the preset time period to obtain the photon arrival rate corresponding to the m×n SPAD pixel units, and then the photon arrival rate can be used as the pixel cluster output value.
[0086] It can be seen that for the solution provided in this embodiment, it is only necessary to count the total number of pulses (number of photons) received by m×n SPAD pixel units within a preset time period, and then the photon arrival rate corresponding to the m×n SPAD pixel units can be determined, that is, the pixel cluster output value can be obtained. This solution only needs to count the total number of pulses, without the need to record the number of pulses of each pixel in real time, and the pixel cluster output value can be obtained. The counter and timer (such as a global counter) can be reused, which can reduce the number of counters and timers and lower the hardware cost. Moreover, the solution provided in this embodiment only needs to transmit and store the total number of pulses, and the data volume is significantly reduced, which can reduce the storage and transmission costs and improve the system efficiency.
[0087] In some embodiments, in order to increase the duty cycle of the SPAD array, enable the SPAD array to complete the photon detection task in a shorter time, and thus improve the overall efficiency. The actual working time t of the SPAD (single photon avalanche diode) array within each period T can be restricted, so that the SPAD array is only in the active state during the t time, and in the standby or reset state for the rest of the time.
[0088] Specifically, as a feasible implementation manner, S202 can be specifically implemented as follows: within a preset time period, if the number of pulses received by the m×n SPAD pixel units reaches a preset pulse number threshold, or the end time of the preset time period arrives, based on the received number of pulses and the statistical time for counting the pulses, determine the pixel cluster output value.
[0089] The SPAD (single photon avalanche diode) reflects the target characteristics (such as distance, reflectivity, light intensity) by counting the number of photon pulses. When the total number of pulses is reached, if the statistical time is too long and still does not reach T, it means that the number of photons reflected by the target is already sufficient, and at this time, there is no need to continue pulse counting, and the counting can be stopped in advance to optimize the duty cycle.
[0090] As an implementation manner, please refer to Figure 5 , within the preset time period T, the statistical time t obtained by time counting does not reach the maximum value, but the number of pulses obtained by pulse counting reaches the preset pulse number threshold P. At this time, it can be explained that the number of photons reflected by the target is already sufficient, and the target characteristics can be inferred. Therefore, stop counting the pulses, and determine the pixel cluster output value according to the counted number of pulses P and the statistical time t: ; Combined with Figure 5It can be seen that in this implementation, when the statistical time t does not reach the maximum value, the pulse count is stopped. The duty cycle of the SPAD array operation is t / T, that is, within the period T, it only works for t time. Since the working time is reduced, the total number of pulses is reduced, and the data storage and transmission pressure is reduced. Moreover, the SPAD array can complete the photon detection task in a shorter time, thereby improving the overall efficiency.
[0091] As another implementation, please refer to Figure 6 , within the preset time period T, when the statistical time t obtained by time counting reaches the maximum value T, at this time, since the number of pulses obtained by pulse counting reaches the preset pulse number threshold P, it can be considered that the target characteristic is weak or there is no target, and the statistics need to be stopped to save power consumption. Therefore, the pulse count is stopped, and the pixel cluster output value is determined according to the counted pulse number p and the statistical time T: .
[0092] It can be seen that in the solution provided by this embodiment, within the preset time period, when the number of pulses received by the SPAD pixel unit cluster reaches the preset pulse number threshold, the statistical process is immediately terminated without waiting for the end of the period; if the number of pulses does not meet the standard but the time arrives, the statistics are forced to stop. This method can effectively avoid the waste of invalid time in traditional fixed-duration statistics. Especially in strong target or high-reflectivity scenarios, when the number of pulses reaches the standard quickly, the statistical duration can be greatly shortened, thereby reducing the actual proportion of statistical time (that is, the invalid part in the duty cycle), reducing power consumption and improving the system real-time performance. At the same time, through the adjustable parameters, the flexibility and accuracy requirements of different application scenarios are taken into account.
[0093] In some embodiments, in order to facilitate data transmission, it is necessary to compress the outputs of m×n SPAD pixel units into a pixel cluster output value. However, this compression operation will inevitably result in a loss of spatial resolution, that is, the compressed output value can only represent the sum of the intensities (pixel sum) of all pixels within the pixel cluster, and cannot retain the spatial position and intensity distribution information of each independent pixel.
[0094] As a feasible implementation, the control method of the SPAD array provided by the embodiments of this application further includes: reconstructing the detection image based on multiple pixel cluster output values and the preset pixel templates corresponding to each pixel cluster output value.
[0095] Among them, the preset pixel templates corresponding to each pixel cluster output value among the multiple pixel cluster output values are different.
[0096] That is to say, it is necessary to use K different preset pixel templates to perform K measurements to obtain K pixel cluster output values, and then reconstruct the detection image based on the K preset pixel templates and the K pixel cluster output values.
[0097] It should be noted that in order to ensure the effect of the reconstructed detection image, the original detection images in the K - time measurement process should be the same or similar, that is, it is necessary to ensure that in the K - time measurement, the physical properties such as the target position, light intensity distribution, and reflectivity in the detection field of view need to be strictly consistent or highly similar to avoid excessive differences in the original detection images corresponding to the output values of the K pixel clusters. Since the SPAD array itself has the characteristic of high time resolution, when measuring multiple times in a short time, the dynamic changes of the target scene can be effectively suppressed, thus ensuring the consistency of the original detection images.
[0098] As a feasible implementation method, the detection image can be reconstructed by the noise - aware Basis Pursuit Denoising (BPDN) algorithm.
[0099] Since noise inevitably exists during the compression process, during the process of reconstructing the image, the influence of measurement noise needs to be considered, so is introduced. Let the L2 - norm of the measurement noise n have an upper bound (that is, , which is also ).
[0100] Specifically, a sparse image can be reconstructed by minimizing the L1 - regularization problem, as shown in the following formula: ; where is the estimated sparse coefficient vector, is the L1 - norm of (that is, the sum of the absolute values of non - zero elements), is an observation matrix (k× matrix) that is uncorrelated with the sparse basis ; is the upper bound of the measurement error.
[0101] After obtaining , the reconstructed image can be determined by the following formula: ; where is the image vector reconstructed from the compressed measurement.
[0102] By solving the above - mentioned optimization problem, the image vector of the detection image can be recovered from the k - time measurement, and thus the detection image can be obtained.
[0103] As another feasible implementation, the detection image can be reconstructed by a greedy algorithm (such as orthogonal matching pursuit).
[0104] Orthogonal Matching Pursuit (OMP) is an iterative greedy algorithm suitable for sparse signal reconstruction. Its core idea is to gradually select the measurement template (i.e., the weight distribution of the pixel cluster) that is most relevant to the current residual, and update the estimate by the least squares method until the stopping condition is met (such as reaching the preset sparsity or residual threshold). OMP has high computational efficiency and is suitable for scenarios with strong real-time requirements.
[0105] As yet another feasible implementation, the detection image can be obtained through direct mapping of a trainable neural network.
[0106] Deep learning-based methods (such as U-Net, autoencoder, or fully connected network) train an end-to-end mapping model through a large amount of data to directly reconstruct the image from the compressed measurements. By learning the non-linear relationship between the measurements and the image, the network can implicitly optimize the reconstruction quality and has strong noise robustness. This method has obvious advantages in scenarios with a fixed measurement template and fast inference speed, but it relies on a large amount of training data and requires retraining the model if the measurement pattern changes.
[0107] The solution provided in this embodiment reconstructs the detection image through the output values of multiple pixel clusters and the preset pixel templates corresponding to each pixel cluster output value, and can restore the original detection image with high precision. The solution provided in this embodiment utilizes the compressed sensing theory, only requires a small number of measurements to completely retain the image information, and can effectively eliminate noise interference in cooperation with optimization algorithms (such as basis pursuit or OMP), and finally achieve an accurate reconstruction close to the original signal.
[0108] In some embodiments, to facilitate the description of the solution provided in this application embodiment, a specific example is given below for illustration: The SPAD array includes 1280×720 pixel units. For the convenience of processing and analysis, this large SPAD array is divided into smaller units, that is, 160×90 pixel clusters. Each pixel cluster is composed of 8×8 pixel units combined. In the related art, 8×8 pixel units have 64 output values. While adopting the solution of this application embodiment, based on a set of 8×8 masks (preset pixel templates), multiple detection values of each pixel cluster are converted into one pixel cluster output value, so that 8×8 pixel units only have 1 output value.
[0109] For ease of explanation, take an original image of 1280×720 pixels as an example. The original image is divided into 160×90 block areas, each block area is 8×8 in size, and a set of 8×8 masks (selected pixels are 1 and unselected pixels are 0) is constructed. There are a total of k sets of such masks, where k is a number much smaller than 64. We need to apply each set of masks to the image.
[0110] The specific approach is to regard the mask as a "small window" and slide this "small window" on the image, that is, perform a convolution operation on the pixel values of each block area, so that each block area corresponds to a pixel value, obtaining an image with a resolution of 160×90. Then, based on the k sets of masks and the 160×90 image, the original image of 1280×720 pixels is solved.
[0111] In an exemplary embodiment, the present application also provides a control device for a SPAD array. The control device for the SPAD array can be the aforementioned control module or a controller. The control device for the SPAD array can include one or more functional modules for implementing the control method of the SPAD array in the above method embodiments.
[0112] For example, Figure 7 is a schematic diagram of a control device for a SPAD array provided by an embodiment of the present application. As Figure 7 shown, the control device 80 for the SPAD array includes: a control unit 81 and an output unit 82.
[0113] The control unit 81 is configured to control the operation of m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the state of each pixel unit in the m×n SPAD pixel units, and some pixel units in the preset pixel template are in an active state and some are in a non-active state; the pixel cluster output value is used to characterize the sum of the detection values of the pixel units in the active state. The output unit 82 is configured to output the pixel cluster output value to an image reconstruction module, so that the image reconstruction module reconstructs a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0114] In some embodiments, the SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or a non-active state; The control unit 81 is specifically configured to activate a target pixel enable terminal, so that the SPAD pixel unit corresponding to the target pixel enable terminal is in an active state; the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit in the active state represented by the preset pixel template.
[0115] In some embodiments, the control unit 81 is specifically configured to control the operation of m×n SPAD pixel units based on a preset pixel template, obtain the number of photons corresponding to each SPAD pixel unit among the m×n SPAD pixel units, so as to form a photon counting matrix; the number of photons corresponding to the SPAD pixel units in the non-activated state in the photon counting matrix is 0; Determine a compressed measurement vector based on the photon counting matrix and the observation matrix; the compressed measurement vector is the pixel cluster output value corresponding to the m×n SPAD pixel units.
[0116] In some embodiments, the control unit 81 is specifically configured to, within a preset time period, control the operation of the m×n SPAD pixel units based on a preset pixel template, and count the total number of pulses received by the m×n SPAD pixel units; determine the pixel cluster output value based on the total number of pulses received by the m×n SPAD pixel units within the preset time period.
[0117] In some embodiments, the control unit 81 is specifically configured to, within a preset time period, if the number of pulses received by the m×n SPAD pixel units reaches a preset pulse number threshold, or the end time of the preset time period arrives, determine the pixel cluster output value based on the number of received pulses and the statistical time for counting the pulses.
[0118] In some embodiments, the control device of the SPAD array further includes a reconstruction module, configured to reconstruct a detection image based on a plurality of pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value; the preset pixel templates corresponding to each pixel cluster output value among the plurality of pixel cluster output values are different.
[0119] In an exemplary embodiment, the present application further provides an SPAD array, which includes: m×n SPAD pixel units, a pulse statistics module, and an image reconstruction module; The pulse statistics module is configured to control the operation of the m×n SPAD pixel units based on a preset pixel template, and obtain the pixel cluster output value corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the switching state of each pixel unit among the m×n SPAD pixel units, and the switching states of the m×n SPAD pixel units in the preset pixel template are different; The pulse statistics module is further configured to output the pixel cluster output value to the image reconstruction module, so that the image reconstruction module reconstructs a detection image based on a plurality of pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
[0120] In some embodiments, the SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or an inactive state; the pulse statistics module is specifically configured to activate the target pixel enable terminal so that the SPAD pixel unit corresponding to the target pixel enable terminal is in an active state; the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit that is in an active state represented by a preset pixel template.
[0121] An embodiment of the present application also provides a radar, including the SPAD array provided in any of the above embodiments.
[0122] It should be understood that a radar (Radio Detection And Ranging) generally refers to a system that uses radio waves (such as millimeter waves, microwaves) for detection and ranging. When a radar includes an SPAD array, it can be called a lidar (LiDAR).
[0123] Among them, the lidar uses laser (usually near-infrared light) and combines with the SPAD array to achieve single-photon-level high-sensitivity detection, that is, the SPAD array is the core detector of the lidar. The lidar can achieve centimeter-level ultra-high resolution and is suitable for 3D environment modeling (such as precise positioning for autonomous driving).
[0124] An embodiment of the present application also provides an image acquisition device, including the SPAD array provided in any of the above embodiments.
[0125] It should be understood that when an image acquisition device integrates an SPAD array, it can be applied to imaging in extremely low-light environments or high-precision time-resolved detection, such as low-light / single-photon imaging cameras, time-correlated single-photon counting, quantum imaging and communication devices, industrial inspection and high-speed imaging, lidar, etc. The specific types of image acquisition devices in the embodiments of the present application are not limited.
[0126] The SPAD array has ultra-high sensitivity, can detect single photons, and is suitable for extremely low-light environments (such as starlight, bioluminescence). And its signal-to-noise ratio (SNR) far exceeds that of traditional image sensors, and it can still clearly image in dark scenes.
[0127] An embodiment of the present application also provides an electronic device. Please refer to Figure 8 The electronic device 110 includes: one or more memories 111, one or more processors 112, a communication bus 113, and a communication interface 114. Among them, the processor 112 is connected to the memory 111 through the bus 113; one or more memories 111 are used to store computer program code, and the computer program code includes computer instructions; when one or more processors 112 execute the computer instructions, the electronic device 110 executes the control method of the SPAD array provided in the above embodiments.
[0128] Optionally, the memory 111 may be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc. The embodiments of the present application do not impose any restrictions on this.
[0129] The processor 112 may be a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The embodiments of the present application do not impose any restrictions on this.
[0130] The communication bus 113 may be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, etc. The communication bus 113 may be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 8 it is only represented by a thick line, but it does not mean that there is only one bus or one type of communication bus.
[0131] The communication interface 114 uses any transceiver-like device for communicating with other devices or communication networks, such as a control system, a radio access network (RAN), a wireless local area network (WLAN), etc.
[0132] The embodiments of the present application further provide a computer program product including one or more instructions. The one or more instructions are stored in the memory of the computer device and are executed by the processor to complete the various processes of the above embodiments.
[0133] The embodiments of the present application further provide a computer-readable storage medium. The computer-readable storage medium includes computer-executable instructions. When the computer-executable instructions run on a computer, the computer is caused to execute the control method of the SPAD array provided in the above embodiments.
[0134] From the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0135] In several embodiments provided in this application, it should be understood that the disclosed device and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be in electrical, mechanical or other forms.
[0136] The units described as separate components may or may not be physically separated. The components displayed as units may be one physical unit or multiple physical units, that is, they can be located in one place or distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0137] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0138] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. The software product is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, etc.) or a processor to execute all or part of the steps of the methods of the various embodiments of this application. The foregoing storage medium includes: USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical discs and other media that can store program codes.
[0139] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A control method for a SPAD array, characterized in that, The SPAD array includes: m×n SPAD pixel units, and the method includes: Controlling the operation of the m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the state of each pixel unit in the m×n SPAD pixel units, and some pixel units in the preset pixel template are in an active state and some pixel units are in a non-active state; the pixel cluster output value is used to characterize the sum of the detection values of the pixel units in the active state; Outputting the pixel cluster output value to an image reconstruction module, so that the image reconstruction module reconstructs a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
2. The control method according to claim 1, characterized in that, The SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or a non-active state; The controlling the operation of the m×n SPAD pixel units based on a preset pixel template includes: Activating a target pixel enable terminal to make the SPAD pixel unit corresponding to the target pixel enable terminal be in an active state; The target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit in the active state represented by the preset pixel template.
3. The control method according to claim 1, characterized in that, The controlling the operation of the m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units includes: During a preset time period, controlling the operation of the m×n SPAD pixel units based on a preset pixel template and counting the total number of pulses received by the m×n SPAD pixel units; Determining the pixel cluster output value based on the total number of pulses received by the m×n SPAD pixel units during the preset time period.
4. The control method according to claim 3, characterized in that The determining the pixel cluster output value based on the number of pulses received by the m×n SPAD pixel units during the preset time period includes: During the preset time period, if the number of pulses received by the m×n SPAD pixel units reaches a preset pulse number threshold, or the end time of the preset time period arrives, determining the pixel cluster output value based on the received number of pulses and the statistical time for counting the number of pulses.
5. The control method according to claim 1, characterized in that, The method further includes: Reconstructing a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value; the preset pixel templates corresponding to each pixel cluster output value among the multiple pixel cluster output values are different.
6. The control method according to claim 1, characterized in that The controlling the operation of the m×n SPAD pixel units based on a preset pixel template to obtain pixel cluster output values corresponding to the m×n SPAD pixel units includes: Controlling the operation of the m×n SPAD pixel units based on the preset pixel template to obtain the number of photons corresponding to each SPAD pixel unit in the m×n SPAD pixel units to form a photon counting matrix; the number of photons corresponding to the SPAD pixel units in the non-active state in the photon counting matrix is 0; Determine the compressed measurement vector based on the photon counting matrix and the observation matrix; the compressed measurement vector is the pixel cluster output values corresponding to the m×n SPAD pixel units.
7. A SPAD array, characterized in that, The SPAD array includes: m×n SPAD pixel units, a pulse statistics module, and an image reconstruction module; The pulse statistics module is configured to control the operation of the m×n SPAD pixel units based on a preset pixel template to obtain the pixel cluster output values corresponding to the m×n SPAD pixel units; the preset pixel template is used to represent the on / off states of each of the m×n SPAD pixel units, and the on / off states of the m×n SPAD pixel units in the preset pixel template are different; The pulse statistics module is further configured to output the pixel cluster output values to the image reconstruction module, so that the image reconstruction module reconstructs a detection image based on multiple pixel cluster output values and the preset pixel template corresponding to each pixel cluster output value.
8. The SPAD array according to claim 7, wherein The SPAD pixel unit includes a pixel enable terminal; the pixel enable terminal is used to control the SPAD pixel unit to be in an active state or an inactive state; Specifically, the pulse statistics module is configured to activate a target pixel enable terminal, so that the SPAD pixel unit corresponding to the target pixel enable terminal is in an active state; the target pixel enable terminal is the pixel enable terminal of the SPAD pixel unit that is in an active state characterized by the preset pixel template.
9. A radar, characterized in that, Including the SPAD array according to claim 7 or 8.
10. An image acquisition device, characterized in that, Including the SPAD array according to claim 7 or 8.
Citation Information
Patent Citations
Pixel array, receiving module and detection system
CN111694007A
Parameter correction and data processing method for area array single-photon detection system
CN113721228A
Laser radar imaging system and method, electronic equipment and storage medium
CN115113231A
Laser radar based on pulse coding and detection method
CN118795484A
Photosensitive chip and distance measuring device
CN119758302A
Cited By
Data shaping method and device
CN121037523A