A dynamically configured depth probing method and depth sensing chip

CN117031439BActive Publication Date: 2026-10-20SHANGHAI LINGFANG TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310999164.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-09
Publication Date
2026-10-20
Estimated Expiration
2043-08-09

AI Technical Summary

Technical Problem

这种方式使得深度探测的灵活性较差,难以适应不同的深度探测环境下对像素数量的要求

Benefits of technology

[0036]本发明的有益效果为:提供一种动态配置的深度探测方法与深度传感芯片,通过动态划分的像素配置以及灵活使用状态机的帧数来动态打开和关闭各个像素,从而实现不同像素分辨率的深度探测。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117031439B_ABST
    Figure CN117031439B_ABST
Patent Text Reader

Abstract

The application provides a dynamically configured depth detection method and a depth sensing chip. The method comprises: obtaining pixel configuration information, dividing an SPAD array into m*n pixels according to the pixel configuration information and configuring an initial opening position, wherein each pixel comprises at least one SPAD unit, and one or more pixels are connected to one TDC unit; setting a state machine, starting from the initial opening position according to the frame number of the state machine and the pixel configuration information, and controlling one pixel at a corresponding position to be opened in a specified order in each frame; outputting TDC data of each frame through the TDC unit connected to the opened pixel; when the state machine completes one round of m*n frames, generating m*n histograms according to the m*n frames of TDC data that have been output; and calculating the depth values of the m*n pixels according to the m*n histograms. The dynamic division of the pixel configuration and the flexible use of the frame number of the state machine are used to dynamically open and close the pixels, so that depth detection with different pixel resolutions is realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of depth sensing, in particular to a depth detection method with dynamic configuration and a depth sensing chip. BACKGROUND

[0002] In the field of depth sensing, dToF (direct time of flight) technology is to emit pulsed light to a target object, receive the pulsed light reflected back from the target object by a high-performance photosensor, and measure the flight time required for the emitted light to return in the form of a statistical histogram, thereby realizing depth detection of the target object, i.e., distance measurement.

[0003] A SPAD (single photon avalanche diode) is the most commonly used photosensor in the current dToF depth sensing system, and a SPAD array composed of multiple SPADs arranged on a rectangular plane is usually used to respond to incident photons to achieve light signal reception. Currently, the basic detection unit of the SPAD array is fixedly configured when it is working, for example, if it is a single-point system, the SPAD array is used as a single-point pixel, and the depth value of one pixel is output after superimposing the data of all SPADs in a frame time. This way makes the flexibility of depth detection poor and difficult to adapt to the requirements of the number of pixels in different depth detection environments. SUMMARY

[0004] In view of the above shortcomings of the prior art, the present application aims to provide a depth detection method with dynamic configuration and a depth sensing chip to improve the flexibility of depth detection.

[0005] To achieve the above-mentioned purpose, the present application adopts the following technical solutions:

[0006] The present application provides a depth detection method with dynamic configuration, comprising the following steps:

[0007] Obtain pixel configuration information, divide the SPAD array into m*n pixels according to the pixel configuration information and configure the initial opening position, wherein each pixel includes at least one SPAD unit, one or more pixels correspond to connect one TDC unit, but only one pixel is opened at the same time;

[0008] Set a state machine, according to the frame number of the state machine and the pixel configuration information, start from the initial opening position, and control one pixel in the corresponding position to be opened in a specified order in each frame;

[0009] Output the TDC data of each frame through the TDC unit connected to the opened pixel;

[0010] When the state machine completes a round of m*n frames, m*n histograms are generated according to the m*n frames of TDC data that have been output;

[0011] According to the m*n histograms, the depth values of the m*n pixels are calculated.

[0012] In an embodiment, the pixel configuration information is obtained, and the SPAD array is divided into m*n pixels and the initial opening position is configured according to the pixel configuration information, which includes:

[0013] The pixel configuration information is obtained, which includes the number of pixels, the serial number of the pixels, and the distribution of the pixels.

[0014] The SPAD cells with the same serial number in the SPAD array are divided into the same pixel, and m*n pixels are obtained; wherein the SPAD array includes M*N SPAD cells, M is divisible by m, and N is divisible by n.

[0015] In an embodiment, the enable signal of the SPAD cell corresponding to the pixel to be turned on is set to 1, and the enable signal of the SPAD cell corresponding to other pixels is set to 0.

[0016] In an embodiment, the pixel corresponding to the specified sequence is controlled to be turned on in a corresponding position in each frame, which specifically includes:

[0017] In the order of the serial number from small to large, one pixel in the position with the serial number 1 is turned on in the 1st frame, one pixel in the position with the serial number 2 is turned on in the 2nd frame, and so on, and one pixel in the position with the serial number m*n is turned on in the m*nth frame.

[0018] In an embodiment, before the pixel configuration information is obtained and the SPAD array is divided into m*n pixels and the initial opening position is configured according to the pixel configuration information, the method further includes:

[0019] k TDC units and the priority of each TDC unit are configured, and each TDC unit is connected to one or more pixels, k=m or n or other numbers that can divide m*n.

[0020] In an embodiment, the priority of each TDC unit is configured, which specifically refers to:

[0021] The priority of the first TDC unit is the highest in the 1st frame, the priority of the second TDC unit is the highest in the 2nd frame, …, the priority of the kth TDC unit is the highest in the kth frame, the priority of the first TDC unit is the highest in the k+1th frame, and so on, until the detection output is stopped.

[0022] In one embodiment, the pixel configuration information includes the connection relationship between m*n pixels and k TDC units.

[0023] In one embodiment, the connection relationship is specifically as follows:

[0024] Each pixel connected sequentially to the first TDC unit to the kth TDC unit has its number arranged in ascending order and in a cyclical pattern with k as the period.

[0025] In one embodiment, when the SPAD array is divided into 2*2 pixels and configured with 4 TDC units, each pixel is connected to one TDC unit, and as the frame number increases, the pixel and TDC unit are turned on in ascending order of sequence number.

[0026] In one embodiment, when the SPAD array is divided into 4*4 pixels and configured with 4 TDC units, the 4 pixels are connected to 1 TDC unit, and as the frame number increases, the pixels and TDC units are turned on in ascending order of their serial numbers; wherein, the pixels numbered 1, 5, 9 and 13 are connected to the first TDC unit; the pixels numbered 2, 6, 10 and 14 are connected to the second TDC unit; the pixels numbered 3, 7, 11 and 15 are connected to the third TDC unit; and the pixels numbered 4, 8, 12 and 16 are connected to the fourth TDC unit.

[0027] In one embodiment, starting from the pixel number 1 to the pixel number m*n, pixels with every k numbers are distributed in the same partition, and pixels in the same partition are connected to the same TDC unit, where k is the number of TDC units; pixels with adjacent numbers are distributed in different partitions.

[0028] In one embodiment, starting from the pixel number 1 to the pixel number m*n, every k consecutively numbered pixels are distributed clockwise in different k partitions in the SPAD array;

[0029] The m*n / k pixels within the same partition are distributed clockwise in ascending order of their serial numbers, where k is the number of TDC units.

[0030] A second aspect of the present invention provides a depth sensing chip, comprising:

[0031] The SPAD array is divided into m*n individual pixels based on the obtained pixel configuration information and configured with initial open positions. Each individual pixel includes at least one SPAD unit, and one or more individual pixels are connected to a TDC unit.

[0032] A state machine is configured to control the sequential opening of one pixel at a corresponding position in each frame, starting from the initial opening position and according to the frame number and the pixel configuration information, in a specified order.

[0033] The TDC array includes multiple TDC units, each of which is used to receive a photon signal output by a pixel connected to it in response to an incident photon, and outputs the TDC data corresponding to the photon signal in each frame.

[0034] The histogram module is used to generate m*n histograms based on the output m*n frames of TDC data when the state machine completes each round of m*n frames.

[0035] The data processing module is used to calculate the depth values ​​of m*n pixels based on the m*n histograms.

[0036] The beneficial effects of the present invention are as follows: It provides a dynamically configured depth detection method and a depth sensing chip, which dynamically opens and closes each pixel by dynamically dividing the pixel configuration and flexibly using the frame number of the state machine, thereby realizing depth detection at different pixel resolutions. Attached Figure Description

[0037] The present invention will be further described below with reference to the accompanying drawings and embodiments. In the accompanying drawings:

[0038] Figure 1 This is a flowchart of the dynamically configured depth detection method in an embodiment of the present invention;

[0039] Figure 2 This is a schematic diagram of the SPAD array configuration for single-point detection in an embodiment of the present invention;

[0040] Figure 3 This is a schematic diagram of a SPAD array configuration for multi-point detection in an embodiment of the present invention;

[0041] Figure 4 This is a schematic diagram of another SPAD array configuration for multi-point detection in an embodiment of the present invention;

[0042] Figure 5 This is a schematic diagram of another SPAD array configuration for multi-point detection in an embodiment of the present invention;

[0043] Figure 6 This is a structural diagram of the depth sensing chip in an embodiment of the present invention. Detailed Implementation

[0044] To make the technical problems, technical solutions, and beneficial effects of the embodiments of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present invention and are not intended to limit the present invention.

[0045] It should be noted that when a component is referred to as "fixed to" or "set on" another component, it can be directly on or indirectly on that other component. When a component is referred to as "connected to" another component, it can be directly connected to or indirectly connected to that other component. Furthermore, a connection can be for both fixing and circuit connection purposes.

[0046] It should be understood that the terms "length", "width", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", and "outer" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing the embodiments of the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the present invention.

[0047] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of the present invention, "a plurality of" means two or more, unless otherwise explicitly specified.

[0048] The dynamically configured depth detection method provided in this invention is applied to a depth sensing chip based on the time-of-flight (TOF) method. This depth sensing chip includes at least a SPAD array, which is divided into m*n individual pixels based on acquired pixel configuration information and configured with initial activation positions. Each individual pixel includes at least one SPAD unit, and one or more individual pixels are connected to a corresponding TDC unit. A state machine is configured to control the sequential activation of one pixel at a corresponding position in each frame, starting from the initial activation position and following a specified order, based on the frame number and the pixel configuration information. A TDC array includes multiple TDC units, each of which receives a photon signal output by a connected pixel in response to an incident photon, and outputs TDC data corresponding to the photon signal in each frame. A histogram module generates m*n histograms based on the output m*n frame TDC data each time the state machine completes a round of m*n frames. A data processing module calculates the depth values ​​of the m*n pixels based on the m*n histograms.

[0049] Currently, dToF depth sensing systems typically use a SPAD array composed of multiple SPAD units arranged on a rectangular plane to respond to incident photons and receive optical signals. In current SPAD arrays, the basic detection unit and TDC unit are fixed in configuration. For example, in a single-point system, the SPAD array is treated as a single pixel, and the depth value of a single pixel is output by superimposing the data from all SPADs within a limited number of TDC units within one frame. This approach results in poor flexibility in depth detection, making it difficult to adapt to the pixel count requirements of different depth detection environments. Therefore, the following describes how to solve this problem through a dynamically configured depth detection method applied to depth sensing chips, enabling flexible configuration of the SPAD array with different numbers of pixels for depth detection, achieving different pixel resolutions, and improving the flexibility of depth detection.

[0050] like Figure 1 As shown, Figure 1 This is a flowchart of a dynamically configured depth detection method in one embodiment of the present invention. The method specifically includes the following steps:

[0051] S101. Obtain pixel configuration information, divide the SPAD array into m*n pixels according to the pixel configuration information and configure the initial opening position, wherein each pixel includes at least one SPAD unit, one or more pixels are connected to a TDC unit, but at the same time, only one pixel is turned on.

[0052] In this embodiment, a fixed SPAD array is dynamically configured by acquiring pixel configuration information, dividing it into m*n pixels and configuring initial activation positions. Only one pixel is activated at any given time, resulting in higher spatial resolution individual pixel data. Here, m and n are positive integers greater than 1, and each pixel after division includes at least one SPAD unit. m and n can be equal or unequal; for example, an 8*8 SPAD array can be divided into 2*2, 4*4 pixels, etc. The specific division can be flexibly adjusted according to resolution requirements and the number of SPAD units in the SPAD array.

[0053] Furthermore, since the number of TDC units and the physical connection between each TDC unit and the SPAD unit are fixed, after pixel division, based on the different number of pixels, one or more pixels are connected to a TDC unit, ensuring that the flight time of photons received by all pixels is recorded and output.

[0054] S102. Set up a state machine, and according to the frame number of the state machine and the pixel configuration information, start from the initial opening position and control the opening of one pixel at the corresponding position in each frame in a specified order.

[0055] After dividing the pixels, based on the frame number of the state machine and pixel configuration information such as pixel number and distribution position, starting from the initial opening position, one pixel at each corresponding position is opened sequentially in each frame according to a specified order. That is, in the first frame, only one pixel at the initial opening position is opened, and pixels at other positions are closed; in the second frame, one pixel at the next position is opened in the specified order, and pixels at other positions are closed, and so on. Only one pixel is opened in each frame, thus controlling the opening state of each pixel in an orderly manner at different frame numbers, i.e., different detection times. This specified order can be flexibly set according to factors such as detection requirements or equipment conditions, such as based on the position of each pixel in a top-to-bottom order, a left-to-right order, a "Z" shaped order, a clockwise direction, a counterclockwise direction, etc. This embodiment does not limit this.

[0056] Specifically, when controlling the opening and closing of each pixel in each frame, the enable signal of the SPAD unit corresponding to the pixel to be opened is set to 1, and the enable signal of the SPAD unit corresponding to other pixels is set to 0. By setting different enable signal values ​​for the SPAD units corresponding to each pixel at different frame rates, accurate control of the working state of each pixel can be achieved.

[0057] S103. Output TDC data for each frame through a TDC unit connected to an open pixel.

[0058] When a pixel is opened for detection in each frame, the TDC data for each frame is output through the TDC unit connected to the opened pixel. Since only one pixel is opened in each frame, the TDC data obtained in each frame can accurately correspond to the data of the opened pixel, whether one pixel is connected to one TDC unit or multiple pixels share one TDC unit, ensuring the accuracy of detection.

[0059] S104. When the state machine completes each round of m*n frames, it generates m*n histograms based on the output m*n frames of TDC data.

[0060] S105. Calculate the depth values ​​of m*n pixels based on the m*n histograms.

[0061] As the probing continues, histogram construction and depth value output are performed in cycles of m*n pixels. That is, after each pixel is opened once in a specified order, one round of m*n frame probing is completed. Each time the state machine completes one round of m*n frames (e.g., from frame 1 to frame m*n), it obtains m*n frame TDC data output by each TDC unit. This m*n frame TDC data corresponds to the data for each pixel.

[0062] Upon completion of each m*n frame round, m*n histograms are generated based on the m*n frames of TDC data already output in the current round. Specifically, each m*n histogram represents the histogram of each pixel in the current round. After peak finding processing of these m*n histograms, the accurate flight time of each pixel is determined, and the depth values ​​of the m*n pixels are calculated. This embodiment utilizes dynamic pixel configuration and a state machine to control the on / off state of each pixel at different frame counts. This allows for the output of pixel data at different positions using different frames, based on a fixed SPAD array and TDC array. Upon completion of each round with the same number of frames as the number of pixels, the depth values ​​of all pixels are output, thereby achieving dynamic high-pixel-resolution depth detection and improving the flexibility of depth detection.

[0063] In one embodiment, step S101 includes:

[0064] Obtain pixel configuration information, which includes the number of pixels, the pixel number, and the pixel distribution;

[0065] The SPAD units with the same sequence number in the SPAD array are divided into the same pixel to obtain m*n pixels; wherein the SPAD array includes M*N SPAD units, M is divisible by m, and N is divisible by n.

[0066] In this embodiment, the pixel configuration information includes the number of pixels, the pixel number, and the pixel distribution. Specifically, the pixel configuration information can be obtained by configuring the number of M*N SPAD units in the SPAD array. SPAD units with the same number in the SPAD array are divided into the same pixel, resulting in m*n pixels. To ensure the consistency of each pixel, M is divisible by m and N is divisible by n.

[0067] like Figure 2 As shown, the index of each SPAD unit in the SPAD array is configured as 1, meaning only one pixel is used for single-point detection; as... Figure 3 As shown, when SPAD units at different locations are configured as 1-4 respectively, the SPAD array of the same size is divided into 2*2 pixels for multi-point detection; for example... Figure 4 As shown, when SPAD units at different locations are configured as 1-16, the SPAD array of the same size is divided into 4*4 pixels for multi-point detection; for example... Figure 5 As shown, when SPAD units at different locations are configured as 1-64, a SPAD array of the same size is divided into 8*8 pixels for multi-point detection. By simply configuring the corresponding sequence number for SPAD units at different locations, the dynamic division of pixels of a certain number and distribution can be achieved.

[0068] In one embodiment, controlling the sequential opening of a pixel at a corresponding position in each frame according to a specified order specifically includes:

[0069] In ascending order of the sequence number, the pixel at position 1 is opened in the first frame, the pixel at position 2 is opened in the second frame, and so on, until the pixel at position m*n is opened in the m*n frame.

[0070] In this embodiment, based on pixel division by sequence number, the opening order of each pixel is also controlled by sequence number. Following the ascending sequence number, during each round of m*n frame detection, the sequence number is mapped to the frame number. That is, in the first frame, a pixel at position 1 is opened; in the second frame, a pixel at position 2 is opened, and so on, until the pixel at position m*n is opened in the m*n frame. The path from the position of pixel 1 to the position of pixel m*n represents the opening path formed when pixels are opened in a specified order. Therefore, by configuring the sequence numbers of the SPAD units corresponding to pixels at different positions according to different opening paths, precise sequence number control can achieve the opening of individual pixels in a specified order.

[0071] In one embodiment, prior to step S101, the method further includes:

[0072] Configure k TDC units and the priority of each TDC unit. Each TDC unit connects to one or more of the pixels, where k = m or n or other numbers divisible by m*n.

[0073] In this embodiment, the depth sensing system is pre-configured with k TDC units and a priority for each TDC unit. Each TDC unit is fixedly connected to a corresponding SPAD unit. After pixel division based on pixel configuration information, each TDC unit connects to one or more of the aforementioned pixels, i.e., k = m or n pixels or other numbers divisible by m*n. This ensures that n, m, or m*n / k pixels out of m*n pixels are connected to one TDC unit. With a limited number of TDC units, data output for all pixels can be achieved by multiple pixels sharing one TDC unit.

[0074] In one embodiment, the priority of each TDC unit is configured, specifically:

[0075] In the first frame, the first TDC unit has the highest priority; in the second frame, the second TDC unit has the highest priority; ..., in the kth frame, the kth TDC unit has the highest priority; in the (k+1)th frame, the first TDC unit has the highest priority, and so on, until the detection output stops.

[0076] In this embodiment, the priority of each TDC unit corresponds to the frame number. After detection begins, the first TDC unit has the highest priority in the first frame, the second TDC unit has the highest priority in the second frame, and so on, until the kth TDC unit has the highest priority. As detection continues, the priority of the first TDC unit is reconfigured to the highest in the (k+1)th frame, and so on, until detection output stops. It can be understood that if the total number of frames when detection output stops is less than or equal to k, then the i-th TDC unit has the highest priority in the i-th frame, where i is the total number of frames when detection output stops, i.e., there is no k+1 frame.

[0077] In one embodiment, the pixel configuration information also includes the connection relationship between m*n pixels and k TDC units.

[0078] Since the connection relationships between k TDC units and M*N SPAD units are fixed, configuring corresponding sequence numbers for SPAD units at different positions as pixel configuration information simultaneously includes the connection relationships between m*n pixels and k TDC units. Specifically, the sequence number of each SPAD unit can be configured based on the priority of each TDC unit at different frame numbers, combined with the pixel opening order requirements. This ensures that the frame number corresponds to the priority of the TDC units and the pixel opening order, so that the TDC unit connected to a pixel opened in each frame has the highest priority in that frame, improving detection efficiency.

[0079] Specifically, for the connection of each pixel, the pixels sequentially connected to the first TDC unit to the kth TDC unit are numbered in ascending order and cyclically arranged with a period of k. For example, if the SPAD array is divided into 4*4 pixels and configured with 4 TDC units, then pixels numbered 1-4 are connected to the first to fourth TDC units respectively, pixels numbered 5-8 are connected to the first to fourth TDC units respectively, pixels numbered 9-12 are connected to the first to fourth TDC units respectively, and pixels numbered 13-16 are connected to the first to fourth TDC units respectively. This ensures that when a pixel is opened sequentially in ascending order of its number, not only does the number correspond to the frame number, but the priority of the TDC unit connected to the opened pixel also corresponds to the frame number. Each frame only opens one pixel connected to the TDC unit with the highest priority in the current frame, ensuring data output efficiency.

[0080] In one embodiment, starting from the pixel number 1 to the pixel number m*n, pixels with every k numbers are distributed in the same partition, and pixels in the same partition are connected to the same TDC unit, where k is the number of TDC units; pixels with adjacent numbers are distributed in different partitions.

[0081] In this embodiment, based on the number k of TDC units, the SPAD array is partitioned according to the position distribution of each pixel. The SPAD array is divided into k partitions, and pixels located in the same partition are connected to the same TDC unit. When configuring the position distribution of each pixel, the positions of each pixel are cyclically configured in the k partitions in ascending order of their serial numbers, such as... Figure 4 As shown, when the SPAD array is divided into 4*4 pixels and configured with 4 TDC units, the four regions with different gray levels are the four partitions. Starting from the number 1, the pixel positions are cyclically configured in the four partitions. Therefore, the pixels with numbers 1, 5, 9, and 13 are in one partition, the pixels with numbers 2, 6, 10, and 14 are in another partition, and the other numbers are the same, so that the pixels with every 4 numbers are distributed in the same partition, while the pixels with adjacent numbers are distributed in different partitions.

[0082] Since only one pixel is activated per frame, by partitioning the system according to the number of TDC units and configuring the pixel position distribution, the activation of each TDC unit can be controlled according to the pixel position to be activated in each frame, without having to activate all TDC units simultaneously, thus saving detection power consumption. Furthermore, because pixels with adjacent sequence numbers are distributed in different partitions, adjacent pixels are necessarily connected to different TDC units. This prevents the same TDC unit from outputting data for two consecutive frames. When multiple pixels share a single TDC unit, this effectively ensures data accuracy and avoids data confusion between different pixels.

[0083] In one embodiment, starting from the pixel number 1 to the pixel number m*n, every k consecutively numbered pixels are distributed clockwise in different k partitions in the SPAD array; the m*n / k pixels in the same partition are also distributed clockwise in ascending order of their serial numbers, where k is the number of TDC units.

[0084] In this embodiment, based on the distribution of pixels every k indices within the same partition, the positions of each pixel in the k partitions are further cyclically configured in a clockwise direction. That is, pixels from index 1 to index k are distributed clockwise within partitions 1 to k, and pixels from index k+1 to index 2k are also distributed clockwise within partitions 1 to k. This cycle continues until the position distribution of all pixels is completed. Figure 4 As shown, when the SPAD array is divided into 4*4 pixels and configured with 4 TDC units, the pixels numbered 1, 2, 3, and 4 are distributed clockwise in the SPAD array in four different partitions, and the pixels numbered 5-8, 9-12, and 13-16 are distributed in the same way.

[0085] An ordered pixel distribution can better correspond the opening position of pixels at different frame rates to the priority of each TDC unit. For example, the priority of the first TDC unit to the kth TDC unit has been configured to switch periodically with the frame rate, and the partitions 1 to k corresponding to the first TDC unit to the kth TDC unit are distributed clockwise. If each pixel is also distributed clockwise in the k partitions, the highest priority TDC unit can output data when a pixel is opened in each frame, so as to maximize the frame rate and thus compensate for the increase in detection time caused by trading frame rate for pixel quantity.

[0086] For m*n / k pixels within the same partition, they can also be distributed clockwise in ascending order of their sequence number within the same partition to maintain and switch the consistency of pixels across different partitions. For example Figure 4 In this example, within the same partition, pixels numbered 1, 5, 9, and 13 are also distributed clockwise, and the pixel distribution in other partitions is similar. Of course, in other embodiments, the m*n / k pixels within the same partition can also adopt other distribution rules, such as being distributed in rows or columns within the partition in ascending order of their serial numbers, etc. This embodiment does not limit this.

[0087] In one embodiment, when the SPAD array is divided into 2*2 pixels and configured with 4 TDC units, each pixel is connected to one TDC unit, and as the frame number increases, the pixel and TDC unit are turned on in ascending order of sequence number.

[0088] In this embodiment, as Figure 2As shown, in the initial configuration, all SPAD units in the SPAD array are numbered 1, and there are 4 TDC units. Four regions with different gray levels represent the SPAD units within each region and their corresponding TDC units. During detection, the enable signals of all SPAD units with a value of 1 are set to 1 within a frame, meaning all SPAD units are turned on to form a single pixel, and all 4 TDC units are simultaneously enabled. Then, the data from all TDC units are summed to output a histogram for single-point detection.

[0089] Based on the initial configuration, if you wish to increase the number of pixels in the SPAD array to 2*2, then as follows: Figure 3 As shown, SPAD units in four regions of different grayscale are assigned numbers 1-4 respectively. All SPAD units with number 1 form pixel 1, all SPAD units with number 2 form pixel 2, all SPAD units with number 3 form pixel 3, and all SPAD units with number 4 form pixel 4. At this time, pixels 1 to 4 are each connected to one TDC unit. During detection, as the frame number increases, the pixels and TDC units are activated sequentially in ascending order of their numbers. That is, initially, the enable signal of pixel 1 is set to 1, and the enable signals of other pixels are set to 0. After the state machine starts working, it automatically outputs a complete detection data every 4 frames. In the first frame, only SPAD unit with number 1 is automatically activated; in the second frame, only SPAD unit with number 2 is automatically activated; in the third frame, only SPAD unit with number 3 is automatically activated; and in the fourth frame, only SPAD unit with number 4 is automatically activated. After 4 frames, 4 histograms are output, thus obtaining the depth values ​​of 4 pixels.

[0090] In one embodiment, when the SPAD array is divided into 4*4 pixels and configured with 4 TDC units, the 4 pixels are connected to 1 TDC unit, and as the frame number increases, the pixels and TDC units are turned on in ascending order of their serial numbers; wherein, the pixels numbered 1, 5, 9 and 13 are connected to the first TDC unit; the pixels numbered 2, 6, 10 and 14 are connected to the second TDC unit; the pixels numbered 3, 7, 11 and 15 are connected to the third TDC unit; and the pixels numbered 4, 8, 12 and 16 are connected to the fourth TDC unit.

[0091] In this embodiment, as Figure 4As shown, if the number of pixels in the SPAD array is increased to 4*4, and the SPAD units in the four regions with different gray levels are assigned serial numbers 1-16 respectively, the number of TDC units remains fixed at 4. Therefore, every 4 pixels are connected to 1 TDC unit. Preferably, the positions of serial numbers 1-16 can be configured based on the priority rules of the TDC units. For example, according to the order of gray values ​​from high to low, the four regions are the connection regions corresponding to the first TDC unit, the second TDC unit, the third TDC unit, and the fourth TDC unit, respectively. Then, serial numbers 1, 5, 9, and 13 can be configured in the region corresponding to the first TDC unit, serial numbers 2, 6, 10, and 14 can be configured in the region corresponding to the second TDC unit, serial numbers 3, 7, 11, and 15 can be configured in the region corresponding to the third TDC unit, and serial numbers 4, 8, 12, and 16 can be configured in the region corresponding to the third TDC unit, so that the sequence of pixel serial numbers corresponds to the priority sequence of the TDC units.

[0092] During detection, pixels and TDC units are activated sequentially in ascending order of their serial numbers, increasing with the frame rate. Initially, the enable signal for pixel 1 is set to 1, while the enable signals for other pixels are set to 0. After the state machine starts working, it automatically outputs a complete set of detection data every 16 frames. In the first frame, only the SPAD unit with serial number 1 is automatically activated; in the second frame, only the SPAD unit with serial number 2 is activated; in the third frame, only the SPAD unit with serial number 3 is activated; and so on, until the 16th frame, only the SPAD unit with serial number 16 is activated. After 16 frames, 16 histograms are output, yielding 16 depth values ​​for each pixel. Furthermore, during detection, the positions of pixels 1-4, 5-8, 9-12, and 13-16 cycle through the priority order of the first to fourth TDC units, ensuring that pixels within the highest priority TDC unit area are activated in each frame, thus guaranteeing detection efficiency.

[0093] Furthermore, if the number of pixels in the SPAD array is increased to 8*8, such as... Figure 5 As shown, SPAD units in four regions with different gray levels are assigned numbers 1-64, with each SPAD unit acting as a separate pixel. The number of TDC units remains fixed at four, so every 16 pixels are connected to one TDC unit. Similarly, the positions of numbers 1-64 can be configured based on the priority of the TDC units. For example, if the four regions correspond to the first, second, third, and fourth TDC units respectively, in descending order of gray level, then starting from number 1, the corresponding numbers are cyclically assigned to each SPAD unit in the four regions in descending order of gray level until configuration is complete, ensuring the pixel numbering corresponds to the priority order of the TDC units. See details... Figure 5The positions of numbers 1-64 in the four regions are not detailed here.

[0094] During detection, pixels and TDC units are activated sequentially in ascending order of their serial numbers, as the frame number increases. Initially, the enable signal for pixel 1 is set to 1, while the enable signals for other pixels are set to 0. After the state machine starts working, it automatically outputs a complete set of detection data every 64 frames. In the first frame, only the SPAD unit with serial number 1 is automatically activated; in the second frame, only the SPAD unit with serial number 2 is automatically activated; in the third frame, only the SPAD unit with serial number 3 is automatically activated; and so on. In the 64th frame, only the SPAD unit with serial number 64 is automatically activated. After 64 frames, 64 histograms are output, thus obtaining the depth values ​​of 64 pixels.

[0095] Therefore, with a fixed configuration and a limited number of TDC units, the SPAD array is divided into pixels and the order of pixel activation is controlled by a simple and efficient sequence number configuration. Furthermore, the distribution position of pixels is controlled based on factors such as the connection area of ​​each TDC unit and the priority order of the TDC units. This allows the data of a single pixel at a corresponding position to be output using different frames. The number of frames corresponds to the priority order of the TDC units connected to the activated pixels. In each frame, the data of the unique activated pixel is accurately and efficiently output by the highest priority TDC unit. When the cycle number of frames is completed, the depth values ​​of all pixels can be output, thereby realizing the pixel mapping function from 1*1->2*2->4*4->8*8 as in the above embodiment, realizing dynamic pixel resolution depth detection, and improving the flexibility of depth detection.

[0096] It should be noted that there is no necessary order between the above steps. Those skilled in the art will understand from the description of the embodiments of the present invention that the above steps may have different execution orders in different embodiments, that is, they may be executed in parallel or in turn, etc.

[0097] The present invention also provides a dynamically configurable depth sensing chip, such as... Figure 6 As shown, Figure 6The diagram shows the structure of a depth sensing chip in one embodiment of the present invention. It includes a SPAD array 601, a state machine 602, a TDC array 603, a histogram module 604, and a data processing module 605. The SPAD array 601, TDC array 603, histogram module 604, and data processing module 605 are connected in sequence. The SPAD array 601 is also connected to the state machine 602. The SPAD array 601 is divided into m*n individual pixels based on the acquired pixel configuration information and configured with initial activation positions. Each individual pixel includes at least one SPAD unit, and one or more individual pixels are connected to a TDC unit. The state machine 602 is configured to control the sequential activation of one pixel at a corresponding position in each frame, starting from the initial activation position and following a specified order, according to the frame number and the pixel configuration information. The TDC array 603 includes multiple TDC units. Each TDC unit is used to receive the photon signal output by the pixel connected to it in response to the incident photon, and outputs the TDC data corresponding to the photon signal in each frame. The histogram module 604 is used to generate m*n histograms based on the output m*n frame TDC data when the state machine 602 completes each round of m*n frames. The data processing module 605 is used to calculate the depth values ​​of the m*n pixels based on the m*n histograms. Since the above method embodiment has described the dynamically configured depth detection process in detail, please refer to the corresponding method embodiment above for details, and it will not be repeated here.

[0098] In summary, this invention provides a dynamically configured depth detection method and a depth sensing chip. The method includes: acquiring pixel configuration information; dividing a SPAD array into m*n pixels according to the pixel configuration information and configuring initial open positions, wherein each pixel includes at least one SPAD unit, and one or more pixels are connected to a TDC unit; setting up a state machine; starting from the initial open position and according to the frame number of the state machine and the pixel configuration information, controlling the sequential opening of one pixel at the corresponding position in each frame in a specified order; outputting TDC data for each frame through the TDC unit connected to the opened pixel; generating m*n histograms based on the m*n frame TDC data output by the state machine after each round of m*n frames; and calculating the depth values ​​of the m*n pixels based on the m*n histograms. By dynamically dividing the pixel configuration and flexibly using the frame number of the state machine to dynamically open and close each pixel, depth detection at different pixel resolutions can be achieved.

[0099] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, several equivalent substitutions or obvious modifications can be made without departing from the concept of the present invention, and all such modifications, achieving the same performance or purpose, should be considered within the scope of protection of the present invention.

Claims

1. A dynamically configured depth detection method, characterized in that, Includes the following steps: Obtain pixel configuration information, and divide the SPAD array into m based on the pixel configuration information. n pixels are configured with initial open positions, wherein each pixel includes at least one SPAD unit, and one or more pixels are connected to a TDC unit, but only one pixel is open at any given time; Set up a state machine, and control the opening and closing state of each pixel at different frame numbers starting from the initial opening position according to the frame number of the state machine and the pixel configuration information, and control the opening of a pixel at the corresponding position in each frame in a specified order; The TDC data for each frame is output through a TDC unit connected to an open pixel; When the state machine completes each round m At frame n, based on the already output m n frames of TDC data, corresponding to the generation of m n histograms, the m n histograms are the histograms of each pixel in the current round; According to the m Given n histograms, calculate m Depth values ​​of n pixels; The step involves obtaining pixel configuration information and dividing the SPAD array into m segments based on the pixel configuration information. n pixels and configure the initial open position, including: Obtain pixel configuration information, which includes the number of pixels, the pixel number, and the pixel distribution; The SPAD units with the same sequence number in the SPAD array are divided into the same pixel to obtain m n pixels; wherein, the SPAD array includes M There are N SPAD units, where M is divisible by m and N is divisible by n; Divide the SPAD array into k partitions and configure the pixel position distribution, starting from index 1 to index m. For n pixels, pixels with index k are distributed in the same partition, and pixels in the same partition are connected to the same TDC unit, where k is the number of TDC units; pixels with adjacent indexes are distributed in different partitions so that the same TDC unit will not output data for two consecutive frames.

2. The dynamically configured depth detection method according to claim 1, characterized in that, Set the enable signal of the SPAD unit corresponding to the pixel to be enabled to 1, and set the enable signal of the SPAD unit corresponding to other pixels to 0.

3. The dynamically configured depth detection method according to claim 1, characterized in that, The method of controlling the sequential opening of one pixel at a corresponding position in each frame according to a specified order specifically includes: In ascending order of pixel number, in frame 1, the pixel at position 1 is opened; in frame 2, the pixel at position 2 is opened; and so on, until the m-th pixel is opened. When the nth frame is open, the sequence number m is... A pixel at position n.

4. The dynamically configured depth detection method according to claim 1, characterized in that, The step involves obtaining pixel configuration information and dividing the SPAD array into m segments based on the pixel configuration information. Before configuring the initial on position for n pixels, the method further includes: Configure k TDC units and the priority of each TDC unit. Each TDC unit connects to one or more of the aforementioned pixels, where k = m, n, or other numbers divisible by m. The number n.

5. The dynamically configured depth detection method according to claim 4, characterized in that, The priority configuration for each TDC unit specifically refers to: In the first frame, the first TDC unit has the highest priority; in the second frame, the second TDC unit has the highest priority; ..., in the kth frame, the kth TDC unit has the highest priority; in the (k+1)th frame, the first TDC unit has the highest priority, and so on, until the detection output stops.

6. The dynamically configured depth detection method according to claim 5, characterized in that, The pixel configuration information includes m The connection relationship between n pixels and k TDC units.

7. The dynamically configured depth detection method according to claim 6, characterized in that, The connection relationship is specifically as follows: Each pixel connected sequentially to the first TDC unit to the kth TDC unit has its number arranged in ascending order and in a cyclical pattern with k as the period.

8. The dynamically configured depth detection method according to claim 1, characterized in that, When the SPAD array is divided into 2 When there are 2 pixels and 4 TDC units, 1 pixel is connected to 1 TDC unit, and as the frame number increases, the pixel and TDC unit are turned on in ascending order of sequence number.

9. The dynamically configured depth detection method according to claim 1, characterized in that, When the SPAD array is divided into 4 When there are 4 pixels and 4 TDC units, the 4 pixels are connected to 1 TDC unit. As the frame number increases, the pixels and TDC units are activated in ascending order of their serial numbers. Specifically, pixels numbered 1, 5, 9, and 13 are connected to the first TDC unit; pixels numbered 2, 6, 10, and 14 are connected to the second TDC unit; pixels numbered 3, 7, 11, and 15 are connected to the third TDC unit; and pixels numbered 4, 8, 12, and 16 are connected to the fourth TDC unit.

10. The dynamically configured depth detection method according to claim 1, characterized in that, Starting from serial number 1 to serial number m The pixels of n are distributed in a clockwise direction in different k partitions of the SPAD array, with each k consecutively numbered pixel. m in the same partition n / k pixels are arranged in ascending order of their serial numbers and also in a clockwise direction within the partition, where k is the number of TDC units.

11. A depth sensing chip, characterized in that, include: SPAD array, the SPAD array being divided into m based on the acquired pixel configuration information. n pixels are configured with an initial open position, wherein each pixel includes at least one SPAD unit, and one or more of the aforementioned pixels are connected to a TDC unit; A state machine is configured to control the opening and closing states of each pixel at different frame numbers, starting from the initial opening position based on the frame number and the pixel configuration information, and to control the opening of a pixel at the corresponding position in each frame in a specified order. The TDC array includes multiple TDC units, each of which is used to receive a photon signal output by a pixel connected to it in response to an incident photon, and outputs the TDC data corresponding to the photon signal in each frame. The histogram module is used to display the state machine after each round m. At frame n, based on the already output m n frames of TDC data, corresponding to the generation of m n histograms, the m n histograms are the histograms of each pixel in the current round; The data processing module is used to process the data according to the m. m is obtained from n histograms. Depth values ​​of n pixels; The SPAD array is divided into m segments based on the acquired pixel configuration information. The n pixels are configured with an initial open position, specifically: Obtain pixel configuration information, which includes the number of pixels, the pixel number, and the pixel distribution; The SPAD units with the same sequence number in the SPAD array are divided into the same pixel to obtain m n pixels; wherein, the SPAD array includes M There are N SPAD units, where M is divisible by m and N is divisible by n; Divide the SPAD array into k partitions and configure the pixel position distribution, starting from index 1 to index m. For n pixels, pixels with index k are distributed in the same partition, and pixels in the same partition are connected to the same TDC unit, where k is the number of TDC units; pixels with adjacent indexes are distributed in different partitions so that the same TDC unit will not output data for two consecutive frames.

Citation Information

Patent Citations

  • Partition addressing dTOF ranging system

    CN114415198A