Point cloud data sorting circuit and method, SoC chip and computer equipment

By designing a point cloud data sorting circuit, using the row cache unit and the row sorting unit to hardware sort the point cloud data collected by the lidar, the problem of slow point cloud data sorting in the existing technology is solved, and faster point cloud data processing is achieved.

CN119716803APending Publication Date: 2025-03-28SUTENG INNOVATION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311280131.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In the prior art, the sorting speed of point cloud data is slower, especially under the spiral scanning trajectory of lidar, the original point cloud data is arranged at intervals, and software processing is required for reordering, resulting in slower processing speed.

Method used

A point cloud data sorting circuit is designed, including a sorting module, which includes a row cache unit and a row sorting unit. The row cache unit obtains and caches the original point cloud data to be sorted, and the row sorting unit transforms the original point cloud data, sorts it according to pitch angle, and outputs the position conversion matrix.

Benefits of technology

The original point cloud data is sorted through hardware processing, which significantly improves the sorting speed of point cloud data, avoids the bottlenecks of software processing, and saves the cost of CPU hardware.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119716803A_ABST
    Figure CN119716803A_ABST
Patent Text Reader

Abstract

The invention provides a point cloud data sorting circuit and method, an SoC chip and computer equipment. The point cloud data sorting circuit comprises a sorting module, and the sorting module comprises a row cache unit and a row sorting unit; the line cache unit is used for acquiring and caching original point cloud data to be sorted; the original point cloud data is obtained after the laser radar scans a field of view, one frame of original point cloud data is obtained in one detection period, the detection period comprises a first scanning period corresponding to P first axes and a second scanning period corresponding to Q second axes, and the first scanning period and the second scanning period of the two rows of original point cloud data obtained in one second scanning period are identical. N rows of original point cloud data obtained in other second scanning periods exist; and the row sorting unit is used for performing coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputting a position transformation matrix. Therefore, the original point cloud data can be sorted by adopting independent hardware, and the sorting rate of the original point cloud data is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of radar, and more specifically, to a point cloud data sorting circuit, method, SoC chip and computer device in the field of radar. Background Art

[0002] The LiDAR main control chip is the core component of the LiDAR, responsible for the collection, processing and transmission of all LiDAR information.

[0003] For example, taking the MEMS scanning galvanometer as an example, its scanning trajectory is the scanning trajectory of the Lissajous figure. Under this scanning trajectory, the radar point cloud data collected is arranged at intervals, which is not conducive to the identification and processing of the target object. Therefore, the point cloud data needs to be reordered according to the pitch angle before it can be used normally.

[0004] In the related art, software processing is generally used to reorder the point cloud data, and the sorting processing speed is slow. Summary of the invention

[0005] The present application provides a point cloud data sorting circuit, method, SoC chip and computer device. The method provides a circuit for point cloud data sorting, which can improve the sorting speed of point cloud data.

[0006] In a first aspect, a point cloud data sorting circuit is provided, the point cloud data sorting circuit comprising a sorting module, the sorting module comprising a row buffer unit and a row sorting unit;

[0007] The row cache unit acquires and caches the raw point cloud data to be sorted; wherein the raw point cloud data is obtained by scanning the field of view by a laser radar, and one detection cycle obtains one frame of the raw point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of the raw point cloud data obtained in one second scanning cycle, there are N rows of the raw point cloud data obtained in other second scanning cycles; wherein P, Q, and N are all positive integers;

[0008] The row sorting unit performs coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputs a position conversion matrix.

[0009] In a second aspect, a point cloud data sorting method is provided, the method comprising:

[0010] Acquire and cache the raw point cloud data to be sorted; wherein the raw point cloud data is obtained by scanning the field of view by a laser radar, and one detection cycle obtains one frame of the raw point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of the raw point cloud data obtained in one second scanning cycle, there are N rows of the raw point cloud data obtained in other second scanning cycles; wherein P, Q, and N are all positive integers;

[0011] The original point cloud data is subjected to coordinate transformation to obtain target point cloud data sorted according to the pitch angle, and a position conversion matrix is ​​output.

[0012] In a third aspect, a SoC chip is provided, in which the point cloud data sorting circuit described in the above aspects is configured.

[0013] In a fourth aspect, a computer device is provided, wherein the computer device is used to execute the point cloud data sorting method described in the above aspect.

[0014] In a fifth aspect, a computer program product is provided, which includes: a computer program code, when the computer program code is run on a computer, the computer executes the point cloud data sorting method described in the above aspect.

[0015] In a sixth aspect, a computer-readable storage medium is provided, which stores a computer program code. When the computer program code runs on a computer, the computer executes the point cloud data sorting method described in the above aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a schematic diagram of a scanning trajectory of a laser radar device provided in an embodiment of the present application;

[0017] Figure 2 is a schematic structural diagram of a point cloud data sorting circuit provided in an embodiment of the present application;

[0018] Figure 3 is a schematic structural diagram of another point cloud data sorting circuit provided in an embodiment of the present application;

[0019] Figure 4 This is a schematic diagram of a row sorting process provided by an embodiment of the present application;

[0020] Figure 5 is another schematic diagram of a row sorting process provided in an embodiment of the present application;

[0021] Figure 6is a schematic structural diagram of another point cloud data sorting circuit provided in an embodiment of the present application;

[0022] Figure 7 It is a schematic diagram of a process of outputting target point cloud data located within a target sliding window provided by an embodiment of the present application;

[0023] Figure 8 is a flow chart of a point cloud data sorting method provided in an embodiment of the present application;

[0024] Fig. 9 It is a structural schematic diagram of a SoC chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] The technical solution in the present application will be described clearly and in detail below in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B: "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0026] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features.

[0027] The point cloud data collected in the LiDAR application scenario is obtained by scanning the field of view by the LiDAR (or LiDAR device). The point cloud data is subsequently processed to realize the recognition and processing of the target objects in the field of view. Among them, the scanning trajectory of the LiDAR for the field of view is determined by the scanning method adopted by the corresponding scanning galvanometer of the LiDAR. Under certain scanning methods, such as the spiral scanning method, the collected original point cloud data are arranged at intervals, and the original point cloud data cannot be directly used for target object recognition and processing. The original point cloud data must first be re-sorted according to the pitch angle size before the sorted target point cloud data can be processed and used normally.

[0028] Figure 1 Schematic diagram of a scanning trajectory of a laser radar device provided in an embodiment of the present application. Figure 1 As shown, the scanning device of the laser radar reciprocates around the first axis (corresponding to the X axis) and the second axis (corresponding to the Y axis) to form Figure 1The Lissajous trajectory shown in FIG. The first axis corresponds to the first scanning cycle, the second axis corresponds to the second scanning cycle, and between two lines of original point cloud data of a second scanning cycle, there are multiple lines of original point cloud data obtained from other second scanning cycles. Optionally, by adjusting the driving signals of the first axis and the second axis, the scanning trajectory of the laser radar device can also form a spiral scanning trajectory.

[0029] Under the spiral scanning trajectory, there is at least one row of original point cloud data obtained in another second scanning cycle between two rows of original point cloud data obtained in one second scanning cycle. Corresponding to the spiral scanning trajectory, the collected original point cloud data needs to be sorted to form target point cloud data sorted by pitch angle before normal processing. In the related art, software processing is generally used to process the original point cloud data, and the point cloud data processing speed is slow.

[0030] In order to solve the problem of slow sorting rate of the above-mentioned original point cloud data, an embodiment of the present application provides a point cloud data sorting circuit, which can sort the original point cloud data by hardware processing to quickly complete the sorting operation of the original point cloud data.

[0031] It should be noted that the point cloud data sorting circuit provided in the embodiment of the present application may be a circuit component independent of the laser radar main control chip, or it may be a circuit component integrated on the laser radar main control chip, and the embodiment of the present application does not constitute a limitation to this.

[0032] Figure 2 is a schematic structural diagram of a point cloud data sorting circuit provided in an embodiment of the present application. For example, Figure 2 As shown, the point cloud data sorting circuit 200 mainly includes a sorting module 210 , and the sorting module 210 includes two functional units: a row buffer unit 211 and a row sorting unit 212 .

[0033] The row buffer unit 211 acquires and buffers the original point cloud data to be sorted.

[0034] Among them, the original point cloud data is obtained after the laser radar scans the field of view, and one detection cycle obtains one frame of original point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of original point cloud data obtained in one second scanning cycle, there are N rows of original point cloud data obtained in other second scanning cycles; among them, P, Q, and N are all positive integers.

[0035] In the process of scanning with a galvanometer, one detection cycle includes a first scanning cycle, one first scanning cycle corresponds to multiple second scanning cycles, and between two lines of original point cloud data obtained in one second scanning cycle there are multiple lines of original point cloud data obtained in other second scanning cycles.

[0036] The row buffer unit 211 may obtain the original point cloud data to be sorted from the previous module and buffer the original point cloud data to be sorted. The previous module may be a module for preprocessing the collected original point cloud data.

[0037] The row sorting unit 212 performs coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputs a position conversion matrix.

[0038] The row sorting unit 212 is used to sort the raw point cloud data to be sorted in the row buffer unit 211. The row sorting process mainly transforms the coordinates of the raw point cloud data to obtain target point cloud data sorted by pitch angle, and outputs a position conversion matrix. The position conversion matrix is ​​used to indicate the positional relationship between the raw point cloud data before sorting and the target point cloud data after sorting.

[0039] In summary, the embodiment of the present application provides a point cloud data sorting circuit, which has the functions of caching the original point cloud data to be sorted, sorting the original point cloud data by row according to the pitch angle, and outputting the position conversion matrix. This allows the original point cloud data to be sorted using independent hardware without software processing and CPU intervention, which can save the cost of CPU hardware; and compared with software processing, the original point cloud data sorting rate can be increased.

[0040] Figure 3 is a schematic structural diagram of another point cloud data sorting circuit provided in an embodiment of the present application. Figure 3 As shown, the point cloud data sorting circuit 300 mainly includes a sorting module 310, which includes two functional units: a row buffer unit 311 and a row sorting unit 312; the row buffer unit 311 also includes M row buffer areas 313 ( Figure 3 The row cache unit 311 includes 6 cache areas 313 , each row cache area 313 includes K cache locations 314 , where M is an integer greater than or equal to N, and K is a positive integer.

[0041] The row buffer unit 311 obtains and buffers the original point cloud data to be sorted.

[0042] The row cache unit 311 includes M row cache areas 313, and each row cache area 313 includes K cache locations 314. When the raw point cloud data to be sorted is cached in the row cache unit 311, a single detection point data in each row of raw point cloud data can be cached in each cache location. That is, if each row of raw point cloud data includes K detection point data, each cache location 314 can be used to cache a single detection point data.

[0043] It should be noted that the value of M can be an integer greater than or equal to N. If M is equal to N, the row cache unit 311 is used to cache the original point cloud data to be sorted; if M is greater than N, the row cache area 313 of the first N rows in the row cache unit 311 is used to cache the original point cloud data to be sorted. By setting a redundant M value to cope with the subsequent increase in the value of N, that is, setting the value of M greater than N can avoid the failure of the row cache unit 311 to cache the N rows of original point cloud data to be sorted if the value of N increases; the redundant row cache area can also be used as a backup, and when the row cache area in use fails, the backup row cache area is enabled.

[0044] like Figure 3 As shown, if the value of M is 6 and the value of N is 5, the first 5 rows of buffer areas in the row buffer unit 311 are used to buffer the original point cloud data to be sorted.

[0045] Optionally, the row buffer unit 311 may be a ring buffer structure to cache the original point cloud data to be sorted.

[0046] The row sorting unit 312 performs coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputs a position conversion matrix.

[0047] When the row sorting unit 312 sorts the raw point cloud data to be sorted, the sorting process is mainly divided into two cases. The first case is that N rows of raw point cloud data are cached in the row buffer unit 311; the second case is that N-1 rows of raw point cloud data are cached in the row buffer unit 311. Taking the row sorting of a frame of raw point cloud data as an example, the first case may be that in the early stage of sorting the raw point cloud data of the frame, the number of rows of the remaining raw point cloud data to be sorted is greater than N rows; the second case may be that in the late stage of sorting the raw point cloud data of the frame, the number of rows of the remaining raw point cloud data to be sorted is less than N rows.

[0048] For the first case, the process of row sorting when N rows of original point cloud data are cached in the row cache unit 311 can be as follows: when N rows of original point cloud data are cached in the row cache unit 311, the i-th round of sorting is performed, and the row sorting unit 312 compares the pitch angles of the N rows of original point cloud data by column, where i is a positive integer; the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data, and K maximum detection point data are output from the row cache unit, where the maximum pitch angle includes the maximum pitch angle or the minimum pitch angle; and the target row and column numbers of the maximum detection point data after sorting and the original row and column numbers of the maximum detection point data in the original point cloud data are determined; based on the correspondence between the target row and column numbers and the original row and column numbers of the detection point data in the original point cloud data, the position conversion matrix is ​​output.

[0049] When N rows of original point cloud data are cached in the row cache unit 311, the pitch angles of the N rows of original point cloud data need to be compared column by column in each round of sorting, and the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data; that is, each column outputs a maximum detection point data, and when each row of original point cloud data includes K detection point data, K maximum detection point data are output corresponding to each round of sorting, and the K maximum detection point data are output from the row cache unit 311.

[0050] In the process of row sorting using the point cloud data sorting circuit, the sorted target point cloud data is not directly output, but the corresponding relationship between each detection point data before and after sorting, that is, the position conversion matrix, is output. In a possible implementation, after each round of sorting outputs K maximum detection point data, the target row and column number of the maximum detection point data after sorting (the target row and column number is used to indicate the position of the maximum detection point data after sorting) and the original row and column number of the maximum detection point data before sorting in the original point cloud data are determined, and then based on the corresponding relationship between the target row and column number and the original row and column number of the detection point data in the original point cloud data, the position conversion matrix can be output.

[0051] Specifically, the process of outputting the position transformation matrix is ​​as follows: in each round of sorting, the correspondence between the original row and column numbers and the target row and column numbers obtained after sorting the maximum detection point data can be used as an element value in the position transformation matrix. When a frame of original point cloud data is sorted, the element value corresponding to a frame of original point cloud data is obtained, that is, the position transformation matrix corresponding to the frame of original point cloud data can be obtained.

[0052] Figure 4 Schematic diagram of a row sorting process provided by an embodiment of the present application. Figure 4As shown, taking the row buffer unit 311 containing 6 rows of buffer areas (respectively line buffer0 to line buffer0), and each row of original point cloud data including ten detection point data as an example; in the first round of sorting, the row buffer unit 311 caches the original point cloud data of the original first row to the original sixth row, for example, the original point cloud data of the original first row is cached to line buffer0, and the original point cloud data of the original second row is cached to line buffer1, and so on, to obtain the 6 rows of original point cloud data required for the first round of sorting. During the first round of sorting, the pitch angles of the original point cloud data in each column are compared. It can be seen that the pitch angle in line buffer0 is the largest among the original point cloud data in each column. Corresponding to the first round of sorting, the ten detection point data in line buffer0 are output in column order. The output order of these detection point data is the position of the detection point data in the target point cloud data after sorting. The target row and column numbers of the detection point data can be determined according to the output order of the data stream. At this time, the space in line buffer0 is "free" and can be used to cache the newly added original point cloud data to be sorted. Correspondingly, the original point cloud data of the original seventh row is cached in line buffer0 for the second round of sorting.

[0053] Similar to the first round of sorting, in the second round of sorting, the pitch angle in line buffer2 in each column of original point cloud data is the largest, corresponding to the second round of sorting output of ten detection point data in line buffer2; at this time, the space in linebuffer2 is "free" and can be used to cache newly added original point cloud data to be sorted, corresponding to caching the original point cloud data of the original eighth row into line buffer2 for the third round of sorting.

[0054] During the third round of sorting, by comparing the pitch angles of each column of original point cloud data, it is found that the first column is the detection point data in linebuffer4 with the largest pitch angle, the second, third and fourth columns are the detection point data in line buffer1 with the largest pitch angle, and the fifth, sixth, seventh, eighth, ninth and tenth columns are the detection point data in line buffer4 with the largest pitch angle. Therefore, during the third round of sorting, the detection point data in line buffer4, line buffer1, line buffer1, line buffer1, line buffer4, line buffer4, linebuffer4, line buffer4, line buffer4 and line buffer4 are output from the first column to the tenth column in sequence, and the space corresponding to the above linebuffer is "free", which can be used to cache the original point cloud data of the ninth row into line buffer4, line buffer1, line buffer1, line buffer1, line buffer4, line buffer4, linebuffer4, line buffer4, line buffer4 and line buffer4 by column.

[0055] Considering that only N rows of cache areas in the row cache unit 311 are used to cache the raw point cloud data to be sorted, after the i-th round of sorting, in order to allow the new raw point cloud data to be cached in the N rows of cache areas to participate in the i+1 round of sorting. In a possible implementation, when the i-th round of sorting is completed, the row cache unit 311 determines the cache row and column number of the output maximum detection point data in the cache area 313; and obtains a row of newly added raw point cloud data to be sorted that needs to be added in the i+1 round of sorting; and writes the newly added raw point cloud data into the cache area 313 corresponding to the cache row and column number.

[0056] Since K maximum detection point data will be output from the row cache unit 311 after the i-th round of sorting is completed, in order to avoid the newly added original point cloud data to be sorted from overwriting the original point cloud data that was not output during the i-th round of sorting, the row sorting unit 311 can write a newly added row of original point cloud data to be sorted into the cache position where the K maximum detection point data that have been output during the i-th round of sorting are located. Correspondingly, after the i-th round of sorting is completed, the row cache unit 311 first determines the cache row and column number of the K maximum detection point data output by the i-th round of sorting in the cache area 313, and then writes the next row of original point cloud data to be sorted into the cache area 313 corresponding to the cache row and column number.

[0057] It should be noted that if there is no new row of original point cloud data to be sorted, that is, when only N-1 rows of original point cloud data to be sorted are cached in the row cache unit 311, there is no need to execute the cache row and column number of the maximum detection point data in the cache area and subsequent steps.

[0058] like Figure 4 As shown, since the first and second rounds of sorting output the original point cloud data in the same line buffer, after the first round of sorting, the original point cloud data of the original seventh line is cached in line buffer0 according to the cache row and column numbers (the row numbers in the cache row and column numbers are all line buffer0), and after the second round of sorting, the original point cloud data of the original eighth line is cached in linebuffer2 according to the cache row and column numbers (the row numbers in the cache row and column numbers are all line buffer2). Different from the first and second rounds of sorting, the third round of sorting outputs the detection point data in different line buffers, and after the third round of sorting, the original point cloud data of the original ninth line is written into different ine buffers according to the cache row and column numbers. For example, the detection point data in the first column of the original ninth row is written into the first column of line buffer4, the detection point data in the second column of the original ninth row is written into the second column of line buffer1, and the detection point data in the third column of the original ninth row is written into the third column of line buffer1, and so on. The original point cloud data of the original ninth row is written into line buffer4, line buffer1, line buffer1, line buffer1, linebuffer4, line buffer4, line buffer4, line buffer4, line buffer4 and line buffer4 respectively.

[0059] For the second case, the process of row sorting when N-1 rows of original point cloud data are cached in the row cache unit 311 can be as follows: when N-1 rows of original point cloud data are cached in the row cache unit 311, the i-th round of sorting is performed, and the row sorting unit 312 compares the pitch angles of the remaining original point cloud data to be sorted by column; the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is output from the row cache unit as the maximum detection point data; and the target row and column number of the maximum detection point data after sorting and the original row and column number of the maximum detection point data in the original point cloud data are determined; based on the correspondence between the target row and column number and the original row and column number of the detection point data in the original point cloud data, the position conversion matrix is ​​output.

[0060] When N-1 rows of original point cloud data are cached in the row cache unit 311, it means that there is no new original point cloud data to be sorted in the future. Then, after each round of sorting, the original point cloud data cached in the row cache unit 311 will not change. In order to make each round of sorting only for the remaining original point cloud data that are not involved in the sorting, in a possible implementation, when N-1 rows of original point cloud data are cached in the row cache unit 311, in each round of sorting, the row sorting unit 312 compares the pitch angles of the remaining original point cloud data to be sorted in the row cache unit 311 by column, and uses the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data; that is, each column will also output a maximum detection point data. When each row of original point cloud data includes K detection point data, K maximum detection point data will also be output corresponding to each round, and the K maximum detection point data will be output from the row cache unit 311.

[0061] Similarly, when each round of sorting outputs K extreme value detection point data, the target row and column numbers of the extreme value detection point data after sorting (the target row and column numbers are used to indicate the position of the extreme value detection point data after sorting) and the original row and column numbers of the extreme value detection point data in the original point cloud data before sorting (the original row and column numbers are used to indicate the position of the extreme value detection point data before sorting) will also be determined, and then based on the correspondence between the target row and column numbers and the original row and column numbers of the detection point data in the original point cloud data, the position transformation matrix can be output.

[0062] Specifically, the process of outputting the position transformation matrix is ​​as follows: in each round of sorting, the correspondence between the original row and column numbers and the target row and column numbers obtained after sorting the maximum detection point data can be used as an element value in the position transformation matrix. When a frame of original point cloud data is sorted, the element value corresponding to a frame of original point cloud data is obtained, that is, the position transformation matrix corresponding to the frame of original point cloud data can be obtained.

[0063] Figure 5 FIG. 1 is another schematic diagram of a row sorting process provided by an embodiment of the present application. Figure 5As shown, when N is 6 and only 5 lines of original point cloud data are cached in the line buffer unit 311, in the first round of sorting, the pitch angles of the remaining original point cloud data to be sorted (each column of the remaining original point cloud data to be sorted contains 5 detection point data) are compared by column, and the first round of sorting outputs the detection point data in Line buffer1, line buffer4, line buffer4, line buffer4, linebuffer1, line buffer1, line buffer1, line buffer1, line buffer1, line buffer1, and line buffer1. Since there is no more original point cloud data to be sorted in this frame of original point cloud data, the corresponding linebuffer position ( Figure 5 The gray area in the figure is not filled with new raw point cloud data to be sorted. In the second round of sorting, the pitch angles of the remaining raw point cloud data to be sorted (each column of the remaining raw point cloud data to be sorted contains 4 detection point data) are compared column by column. Figure 5 The detection point data in the middle gray area does not participate in this round of sorting. The second round of sorting outputs the detection point data in Linebuffer3, line buffer3, line buffer3, line buffer3, line buffer1, line buffer3, linebuffer0, line buffer0, line buffer0, and line buffer0; and so on. In the third round of sorting, each column of the original point cloud data to be sorted includes 3 detection point data.

[0064] Optionally, since the scanning direction of the laser radar device includes forward scanning and reverse scanning, and different scanning directions will also affect the difference in sorting directions. In order to adapt to the different scanning directions of the laser radar device, the point cloud data sorting circuit in the embodiment of the present application needs to support the sorting of the original point cloud data under two scanning directions. Corresponding to a possible implementation, when the laser radar adopts forward scanning, the row sorting unit 312 outputs the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data from the row cache unit 311; when the laser radar adopts reverse scanning, the row sorting unit 312 outputs the detection point data corresponding to the minimum pitch angle in each column of the original point cloud data as the maximum detection point data from the row cache unit 311. By adjusting the maximum detection point data corresponding to the output maximum pitch angle or the maximum detection point data corresponding to the minimum pitch angle, the sorting of the original point cloud data generated by different scanning directions can be achieved.

[0065] In the actual sorting process, it is found that there may be multiple identical maximum pitch angles in the same column, but each column can only output one maximum detection point data in each round of sorting process; in order to avoid the influence of this situation on the normal sorting process, a selection condition is set to select the maximum detection point data that is preferentially output in this round of sorting from multiple detection point data with the same maximum pitch angle. Corresponding to a possible implementation, when there are identical maximum pitch angles in a column of original point cloud data, the row sorting unit 312 obtains the cache row number of the detection point data corresponding to the identical maximum pitch angle in the cache area 313; and outputs the detection point data with the smallest cache row number as the maximum detection point data of the column of original point cloud data from the row cache unit 311. That is to say, during the sorting process, if there are multiple identical maximum pitch angles in a column, the cache row numbers of the cache area 313 where the detection point data corresponding to the identical maximum pitch angle are located are obtained respectively, and the detection point data with a smaller cache row number is preferentially output.

[0066] like Figure 4 As shown, in the third round of sorting, there are two identical maximum pitch angles (1680) in the second column, and the cache line numbers corresponding to the two identical maximum pitch angles are line buffer1 and line buffer4, and the cache line number of line buffer1 is relatively small. Therefore, in the third round of sorting, the second column preferentially outputs the detection point data in line buffer1.

[0067] In this embodiment, according to the characteristics of the number of cache areas of the row cache unit in the point cloud data sorting circuit, and the characteristics of the early and late stages of the sorting process of a frame of original point cloud data, two row sorting processes (two row sorting stages) are divided: N rows of original point cloud data are cached in the cache unit and N-1 rows of original point cloud data are cached in the cache unit; so that the row sorting process is suitable for the hardware row cache unit.

[0068] Moreover, when N lines of original point cloud data are cached in the cache unit, after each round of sorting is completed, a new line of original point cloud data to be sorted will be written into the cache position of the maximum detection point output by the previous round of sorting in the cache area, so as to realize the addition of new original point cloud data to be sorted in the line cache unit without affecting other original point cloud data to be sorted.

[0069] In addition, considering that the scanning directions of the laser radar device include forward scanning and reverse scanning, the corresponding point cloud data sorting circuit is set to output the maximum detection point data of the maximum pitch angle or the maximum detection point data of the minimum pitch angle to adapt to the sorting of the original point cloud data collected in different scanning directions.

[0070] In addition, during the sorting process, if there are multiple identical maximum pitch angles in the same column, the detection point data with the smallest cache row number is set to be output first to avoid confusion in the sorting process caused by outputting multiple maximum detection point data at the same time, thereby ensuring the normal sorting of the point cloud data sorting circuit.

[0071] When the post-stage algorithm module of the point cloud data processes the sorted target point cloud data, the data is generally acquired in units of sliding windows. In order to facilitate the post-stage algorithm module to call the sorted target point cloud data, the point cloud data sorting circuit also includes a point cloud output module for outputting the sorted target point cloud data in the target sliding window.

[0072] Figure 6 is a schematic structural diagram of another point cloud data sorting circuit provided in an embodiment of the present application. Figure 6 As shown, the point cloud data sorting circuit 600 mainly includes a sorting module 610 and a point cloud output module 620. The sorting module 610 includes two functional units: a row cache unit 611 and a row sorting unit 612. Optionally, the row cache unit 611 includes M row cache areas 613, and each row cache area 613 includes K cache locations 614.

[0073] The row buffer unit 611 obtains and buffers the original point cloud data to be sorted.

[0074] Among them, the original point cloud data is obtained after the laser radar scans the field of view, and one detection cycle obtains one frame of original point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of original point cloud data obtained in one second scanning cycle, there are N rows of original point cloud data obtained in other second scanning cycles; among them, P, Q, and N are all positive integers.

[0075] The row sorting unit 612 performs coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputs a position conversion matrix.

[0076] The position conversion matrix includes a first conversion matrix and a second conversion matrix, wherein the first conversion matrix is ​​a conversion matrix of corresponding positions of the detection point data and the target point cloud data, and the second conversion matrix is ​​a conversion matrix of corresponding positions of the target point cloud data and the detection point data. That is, the first conversion matrix can be used to index the sorted target point cloud data according to the detection point data before sorting, and the second conversion matrix can be used to reversely index the detection point data before sorting according to the target point cloud data after sorting.

[0077] The point cloud output module 620 is used to receive a point cloud data reading instruction, and based on the original point cloud data and the position conversion matrix, output the sorted target point cloud data required by the point cloud data reading instruction.

[0078] Since the row sorting unit 612 does not directly output the sorted target point cloud data, but outputs the position conversion matrix between the original point cloud data before sorting and the sorted target point cloud data, when outputting the target point cloud data required by the post-stage algorithm module, it is also necessary to de-index the target point cloud data required by the post-stage algorithm module based on the original point cloud data and the position conversion matrix.

[0079] Optionally, when the post-stage algorithm module needs to obtain the target point cloud data located in the target sliding window opened with the target detection point data as the center, the post-stage algorithm module can send a point cloud data reading instruction to the point cloud data sorting circuit, and the corresponding point cloud data sorting circuit receives the point cloud data reading instruction and transmits it to the point cloud output module 620. The point cloud output module 620 determines the target point cloud data after sorting required by the point cloud data reading instruction based on the point cloud data reading instruction, the original point cloud data and the position conversion matrix, and outputs it to the post-stage algorithm module by the point cloud output module 620. Optionally, the post-stage algorithm module can be an image signal processing (ISP) algorithm module.

[0080] When the post-stage algorithm module needs to obtain the target point cloud data located within the target sliding window centered on the target detection point data, the point cloud data reading instruction also includes the first row and column numbers of the pre-sorted detection point data (i.e., the target detection point data) located at the center of the target sliding window, so that the point cloud output module 620 can determine other target point cloud data located within the target sliding window based on the first row and column numbers of the pre-sorted detection point data.

[0081] Specifically, the process of the point cloud output module 620 outputting the target point cloud data located in the target sliding window can be: the point cloud output module 620 determines the first row and column number of the pre-sorted detection point data that needs to be read based on the received point cloud data reading instruction; and based on the first row and column number and the first conversion matrix, indexes the second row and column number of the pre-sorted detection point data after sorting; then based on the second row and column number and the target sliding window, determines the third row and column number set of the sorted detection point data located in the target sliding window, and the target sliding window is a window centered on the sorted detection point data corresponding to the second row and column number; also based on the third row and column number set and the second conversion matrix, reversely indexes the fourth row and column number set of the sorted detection point data located in the target sliding window before sorting; and determines the set of pre-sorted detection point data corresponding to the fourth row and column number set as the target point cloud data; and outputs the target point cloud data corresponding to the target sliding window.

[0082] Since the post-stage algorithm module provides the first row and column number of the detection point data before sorting, which is located at the center of the target sliding window, the point cloud output module 620 can first index the second row and column number of the detection point data before sorting after sorting based on the first row and column number and the first transformation matrix (the first transformation matrix is ​​a relationship matrix that maps the coordinates before sorting to the coordinates after sorting). The second row and column number is the row and column number of the sorted target point cloud data located at the center of the target sliding window; and then the third row and column number of the sorted detection point data located in the target sliding window can be determined based on the second row and column number and the size of the target sliding window. A set of column numbers, the center position of the third row and column number set is the second row and column number; after determining the third row and column number set of each target point cloud data located in the target sliding window, the fourth row and column number set of the sorted detection point data before sorting in the target sliding window can be reversely indexed according to the third row and column number set and the second transformation matrix (the second transformation matrix is ​​a relationship matrix that maps the sorted coordinates to the pre-sorted coordinates), and the corresponding detection point data is indexed in the storage area of ​​the original point cloud data according to the fourth row and column number set, which is the target point cloud data located in the target sliding window that needs to be output.

[0083] Figure 7 Schematic diagram of a process of outputting target point cloud data located within a target sliding window provided by an embodiment of the present application. Figure 7 As shown, taking the target sliding window including 25 detection point data as an example, the point cloud data reading instruction includes the first row and column number (row1, col1) corresponding to the detection point data A before sorting, and the point cloud output module 620 indexes the second row and column number (row2, col2) of the detection point data A before sorting according to the first row and column number and the first conversion matrix 701; and obtains the other 24 row and column numbers centered on the second row and column number, and determines the other 24 row and column numbers and the second row and column number as a third row and column number set, that is, determines the third row and column number set of the sorted detection point data located in the target sliding window; further, the point cloud output module 620 can reversely index the fourth row and column number set of the sorted detection point data located in the target sliding window before sorting according to the third row and column number set and the second conversion matrix 702, and the fourth row and column number set includes 25 fourth row and column numbers (row3, col3); finally, the set of the detection point data before sorting corresponding to the fourth row and column number set is determined as the 25 target point cloud data located in the target sliding window.

[0084] In this embodiment, a point cloud output module is configured in the point cloud data sorting circuit, so that the required target point cloud data can be directly output to the subsequent algorithm module according to its requirements, thereby reducing the data processing logic of the subsequent algorithm module.

[0085] The above embodiments mainly describe the circuit structure of the point cloud data sorting circuit and the point cloud data sorting process performed based on the circuit structure. The following embodiments also provide a point cloud data sorting method based on the circuit structure.

[0086] Figure 8 1 is a flow chart of a point cloud data sorting method provided in an embodiment of the present application. The point cloud data sorting method can be executed by a computer device equipped with the point cloud data sorting circuit disclosed in the above embodiment.

[0087] For example, Figure 8 As shown, the method 800 includes:

[0088] Step 801: Acquire and cache the original point cloud data to be sorted.

[0089] Among them, the original point cloud data is obtained after the laser radar scans the field of view, and one detection cycle obtains one frame of original point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of original point cloud data obtained in one second scanning cycle, there are N rows of original point cloud data obtained in other second scanning cycles; among them, P, Q, and N are all positive integers.

[0090] Step 802 , coordinate transformation is performed on the original point cloud data to obtain target point cloud data sorted by pitch angle, and a position transformation matrix is ​​output.

[0091] Each row of original point cloud data includes K detection point data, where K is a positive integer.

[0092] Similar to the process in which the row sorting unit in the above embodiment transforms the coordinates of the original point cloud data to obtain the target point cloud data sorted according to the pitch angle and outputs the position conversion matrix, the process of row sorting of the original point cloud data also corresponds to two cases. The first case is: sorting when N rows of original point cloud data are cached, and the second case is: sorting when N-1 rows of original point cloud data are cached. Taking the row sorting of a frame of original point cloud data as an example, the first case may be that in the early stage of row sorting of the frame of original point cloud data, the number of rows of the remaining original point cloud data to be sorted is greater than N rows; the second case may be that in the late stage of row sorting of the frame of original point cloud data, the number of rows of the remaining original point cloud data to be sorted is less than N rows.

[0093] The sorting process for the first case includes: performing the i-th round of sorting when N rows of original point cloud data are cached, comparing the pitch angles of the N rows of original point cloud data by column, i being a positive integer; using the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data of each column of the original point cloud data, and outputting K maximum detection point data, the maximum pitch angle including the maximum pitch angle or the minimum pitch angle; determining the target row and column number of the maximum detection point data after sorting, and the original row and column number of the maximum detection point data in the original point cloud data; outputting the position conversion matrix based on the correspondence between the target row and column number and the original row and column number of the detection point in the original point cloud data.

[0094] Optionally, after the i-th round of sorting, in order to obtain N rows of original point cloud data participating in the i+1 round of sorting, in a possible implementation, the step of obtaining and caching the original point cloud data to be sorted also includes: when the i-th round of sorting is completed, determining the cache row and column numbers of the maximum detection point data in the N rows of original point cloud data cached in the i-th round of sorting; obtaining a new row of original point cloud data to be sorted that needs to be added in the i+1 round of sorting; and writing the new original point cloud data at the cache row and column numbers.

[0095] The sorting process for the second case includes: when N-1 rows of original point cloud data are cached for the i-th round of sorting, the pitch angles of the remaining original point cloud data to be sorted are compared column by column; the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data of each column of the original point cloud data, and the maximum pitch angle includes the maximum pitch angle or the minimum pitch angle; the target row and column number of the maximum detection point data after sorting, and the original row and column number of the maximum detection point data in the original point cloud data are determined; based on the correspondence between the target row and column number and the original row and column number of the detection point in the original point cloud data, the position conversion matrix is ​​output.

[0096] Optionally, considering that the scanning methods of the laser radar include forward scanning and reverse scanning, in order to sort the original point cloud data collected by the two scanning methods, the step of using the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data of each column of the original point cloud data may also include: when the laser radar adopts forward scanning, the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data of each column of the original point cloud data; when the laser radar adopts reverse scanning, the detection point data corresponding to the minimum pitch angle in each column of the original point cloud data is used as the maximum detection point data of each column of the original point cloud data.

[0097] Optionally, in the process of comparing each column of raw point cloud data, there may be multiple identical maximum pitch angles in a column. In order to avoid outputting multiple maximum pitch angles at the same time and affecting the normal sorting process, the detection point data with the smallest cache line number among the detection point data corresponding to the multiple identical maximum pitch angles is set to be output first. The step of using the detection point data corresponding to the maximum pitch angle in each column of raw point cloud data as the maximum detection point data in each column of raw point cloud data also includes: when there is the same maximum pitch angle in a column of raw point cloud data, obtaining the cache line number of the detection point data corresponding to the same maximum pitch angle in the cache area; using the detection point data with the smallest cache line number as the maximum detection point data of the column of raw point cloud data.

[0098] Step 803 , when receiving a point cloud data reading instruction, outputting the sorted target point cloud data required by the point cloud data reading instruction based on the original point cloud data and the position conversion matrix.

[0099] The position conversion matrix includes a first conversion matrix and a second conversion matrix, wherein the first conversion matrix is ​​a conversion matrix of corresponding positions of the detection point data and the target point cloud data, and the second conversion matrix is ​​a conversion matrix of corresponding positions of the target point cloud data and the detection point data. That is, the first conversion matrix can be used to index the sorted target point cloud data according to the detection point data before sorting, and the second conversion matrix can be used to reversely index the detection point data before sorting according to the target point cloud data after sorting.

[0100] Taking the target point cloud data in the output target sliding window as an example, the point cloud data reading instruction carries the first row and column numbers of the pre-sorted detection point data located at the center of the target sliding window, so that the computer device can index and obtain the sorted target point cloud data located in the target sliding window based on the first row and column numbers, the original point cloud data, the first transformation matrix and the second transformation matrix.

[0101] Optionally, in the case of receiving a point cloud data reading instruction, the step of outputting the target point cloud data after sorting required by the point cloud data reading instruction based on the original point cloud data and the position conversion matrix may also include: determining the first row and column numbers of the pre-sorted detection point data to be read based on the received point cloud data reading instruction; indexing the second row and column numbers of the pre-sorted detection point data after sorting based on the first row and column numbers and the first conversion matrix; determining the third row and column number set of the sorted detection point data located in the target sliding window based on the second row and column numbers and the target sliding window, the target sliding window being a window centered on the sorted detection point data corresponding to the second row and column numbers; reversely indexing the fourth row and column number set of the sorted detection point data located in the target sliding window before sorting based on the third row and column number set and the second conversion matrix; determining the set of pre-sorted detection point data corresponding to the fourth row and column number set as the target point cloud data located in the target sliding window after sorting; and outputting the target point cloud data.

[0102] It should be noted that, in this embodiment, the process of acquiring and caching the original point cloud data to be sorted is executed by the row cache unit in the point cloud data sorting circuit in the above embodiment, the process of coordinate transformation of the original point cloud data and outputting the position transformation matrix is ​​executed by the row sorting unit in the point cloud data sorting circuit in the above embodiment, and based on the original point cloud data and the position transformation matrix, the process of outputting the target point cloud data after sorting required by the point cloud data reading execution command is executed by the point cloud output module in the above embodiment.

[0103] In summary, the embodiment of the present application provides a point cloud data sorting method based on a point cloud data sorting circuit, so that the sorting of original point cloud data can be realized by independent hardware without the need for software processing and CPU intervention, thereby saving the cost of CPU hardware; and compared with software processing, the sorting rate of original point cloud data can be increased.

[0104] Fig. 9 It is a structural schematic diagram of a SoC chip provided in an embodiment of the present application.

[0105] For example, Fig. 9 As shown, the SoC chip 900 is configured with a point cloud data sorting circuit 910, and the point cloud data sorting circuit 910 may include the above embodiments. Figure 2 , Figure 3 and Figure 6 The circuit structure shown. And the point cloud data sorting circuit 910 can be executed during use Figure 8 The point cloud data sorting method shown.

[0106] An embodiment of the present application also provides a computer device, which is used to execute the point cloud data sorting method in the above embodiment.

[0107] An embodiment of the present application also provides a computer-readable storage medium, in which a computer program code is stored. When the computer program code is executed on a computer, the computer executes the above-mentioned related method steps to implement the point cloud data sorting method in the above-mentioned embodiment.

[0108] This embodiment further provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the above-mentioned related steps to implement the point cloud data sorting method in the above-mentioned embodiment.

[0109] Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0110] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0111] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A point cloud data sorting circuit, characterized in that: The point cloud data sorting circuit comprises a sorting module, wherein the sorting module comprises a row buffer unit and a row sorting unit; The row cache unit acquires and caches the raw point cloud data to be sorted; wherein the raw point cloud data is obtained by scanning the field of view by a laser radar, and one detection cycle obtains one frame of the raw point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of the raw point cloud data obtained in one second scanning cycle, there are N rows of the raw point cloud data obtained in other second scanning cycles; wherein P, Q, and N are all positive integers; The row sorting unit performs coordinate transformation on the original point cloud data to obtain target point cloud data sorted according to the pitch angle, and outputs a position conversion matrix.

2. The point cloud data sorting circuit according to claim 1, characterized in that: The row cache unit includes M row cache areas, each row cache area includes K cache locations, each row of the original point cloud data includes K detection point data, each cache location is used to cache a single detection point data, M is an integer greater than or equal to N, and K is a positive integer; When N rows of the original point cloud data are cached in the row cache unit, the i-th round of sorting is performed, and the row sorting unit compares the pitch angles of the N rows of the original point cloud data by column, where i is a positive integer; the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data, and K of the maximum detection point data are output from the row cache unit, wherein the maximum pitch angle includes the maximum pitch angle or the minimum pitch angle; and the target row and column numbers of the maximum detection point data after sorting and the original row and column numbers of the maximum detection point data in the original point cloud data are determined; based on the corresponding relationship between the target row and column numbers and the original row and column numbers of the detection point data in the original point cloud data, the position conversion matrix is ​​output.

3. The point cloud data sorting circuit according to claim 2, characterized in that: When the i-th round of sorting is completed, the row cache unit determines the cache row and column number of the output maximum detection point data in the cache area; and obtains a row of newly added original point cloud data to be sorted during the i+1-th round of sorting; and writes the newly added original point cloud data into the cache area corresponding to the cache row and column number.

4. The point cloud data sorting circuit according to claim 2, characterized in that: In the case where the laser radar device adopts forward scanning, the row sorting unit outputs the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data from the row buffer unit; In the case where the laser radar device adopts reverse scanning, the row sorting unit outputs the detection point data corresponding to the minimum pitch angle in each column of the original point cloud data as the maximum detection point data from the row cache unit.

5. The point cloud data sorting circuit according to claim 2, characterized in that: When the same maximum pitch angle exists in a column of the original point cloud data, the row sorting unit obtains the cache row number of the detection point data corresponding to the same maximum pitch angle in the cache area; and outputs the detection point data with the smallest cache row number from the row cache unit as the maximum detection point data of the column of the original point cloud data.

6. The point cloud data sorting circuit according to claim 2, characterized in that: When N-1 rows of the original point cloud data are cached in the row cache unit, the i-th round of sorting is performed, and the row sorting unit compares the pitch angles of the remaining original point cloud data to be sorted by column; the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is output from the row cache unit as the maximum detection point data; and the target row and column numbers of the maximum detection point data after sorting and the original row and column numbers of the maximum detection point data in the original point cloud data are determined; based on the corresponding relationship between the target row and column numbers and the original row and column numbers of the detection point data in the original point cloud data, the position conversion matrix is ​​output.

7. The point cloud data sorting circuit according to any one of claims 2 to 6, characterized in that: The point cloud data sorting circuit also includes a point cloud output module; The point cloud output module is used to receive a point cloud data reading instruction, and based on the original point cloud data and the position conversion matrix, output the target point cloud data after being sorted as required by the point cloud data reading instruction.

8. The point cloud data sorting circuit according to claim 7, characterized in that: The position conversion matrix includes a first conversion matrix and a second conversion matrix, the first conversion matrix is ​​a conversion matrix of corresponding positions of the detection point data and the target point cloud data, and the second conversion matrix is ​​a conversion matrix of corresponding positions of the detection point data and the target point cloud data; The point cloud output module determines the first row and column numbers of the pre-sort detection point data to be read based on the received point cloud data reading instruction; and indexes the second row and column numbers of the pre-sort detection point data after sorting based on the first row and column numbers and the first conversion matrix; and then determines the third row and column number set of the sorted detection point data located in the target sliding window based on the second row and column numbers and the target sliding window, wherein the target sliding window is a window centered on the second row and column numbers corresponding to the sorted detection point data; and also reversely indexes the fourth row and column number set of the sorted detection point data located in the target sliding window before sorting based on the third row and column number set and the second conversion matrix; And determining the set of the pre-sorted detection point data corresponding to the fourth row and column number set as the target point cloud data; and outputting the target point cloud data corresponding to the target sliding window.

9. A point cloud data sorting method, characterized in that: The method comprises: Acquire and cache the raw point cloud data to be sorted; wherein the raw point cloud data is obtained by scanning the field of view by a laser radar, and one detection cycle obtains one frame of the raw point cloud data. The scanning device of the laser radar reciprocates around the first axis and the second axis respectively. The detection cycle includes P first scanning cycles corresponding to the first axis and Q second scanning cycles corresponding to the second axis. Between two rows of the raw point cloud data obtained in one second scanning cycle, there are N rows of the raw point cloud data obtained in other second scanning cycles; wherein P, Q, and N are all positive integers; The original point cloud data is subjected to coordinate transformation to obtain target point cloud data sorted according to the pitch angle, and a position conversion matrix is ​​output.

10. The method according to claim 9, characterized in that Each row of the original point cloud data includes K detection point data, where K is a positive integer; The coordinate transformation of the original point cloud data is performed to obtain target point cloud data sorted by pitch angle, and the position transformation matrix is ​​output, including: When N rows of the original point cloud data are cached, an i-th round of sorting is performed, and the pitch angles of the N rows of the original point cloud data are compared column by column, where i is a positive integer; Taking the detection point data corresponding to the maximum pitch angle in each column of original point cloud data as the maximum detection point data of each column of original point cloud data, and outputting K maximum detection point data, wherein the maximum pitch angle includes the maximum pitch angle or the minimum pitch angle; Determine the target row and column numbers of the maximum detection point data after sorting, and the original row and column numbers of the maximum detection point data in the original point cloud data; Based on the correspondence between the target row and column numbers and the original row and column numbers of the detection points in the original point cloud data, the position conversion matrix is ​​output.

11. The method according to claim 10, characterized in that The obtaining and caching the original point cloud data to be sorted includes: When the i-th round of sorting is completed, determining the cache row and column number of the maximum detection point data in the N rows of the original point cloud data cached in the i-th round of sorting; Obtain a row of newly added original point cloud data that needs to be sorted in the i+1th round of sorting; The newly added original point cloud data is written at the cache row and column number.

12. The method according to claim 10, characterized in that The method of using the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data in each column of the original point cloud data includes: In the case where the laser radar device adopts forward scanning, the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data is used as the maximum detection point data of each column of the original point cloud data; When the laser radar device adopts reverse scanning, the detection point data corresponding to the minimum pitch angle in each column of the original point cloud data is used as the maximum detection point data of each column of the original point cloud data.

13. The method according to claim 10, characterized in that The method of using the detection point data corresponding to the maximum pitch angle in each column of original point cloud data as the maximum detection point data of each column of original point cloud data further includes: When there is a same maximum pitch angle in a column of the original point cloud data, obtaining a cache row number in a cache area where the detection point data corresponding to the same maximum pitch angle is located; The detection point data with the smallest cache row number is used as the maximum detection point data of the original point cloud data in this column.

14. The method according to claim 10, characterized in that The coordinate transformation of the original point cloud data is performed to obtain target point cloud data sorted by pitch angle, and outputting a position conversion matrix, further comprising: When N-1 rows of the original point cloud data are cached for the i-th round of sorting, the pitch angles of the remaining original point cloud data to be sorted are compared column by column; Using the detection point data corresponding to the maximum pitch angle in each column of the original point cloud data as the maximum detection point data of each column of the original point cloud data, wherein the maximum pitch angle includes the maximum pitch angle or the minimum pitch angle; Determine the target row and column numbers of the maximum detection point data after sorting, and the original row and column numbers of the maximum detection point data in the original point cloud data; Based on the correspondence between the target row and column numbers and the original row and column numbers of the detection points in the original point cloud data, the position conversion matrix is ​​output.

15. The method according to any one of claims 10 to 14, characterized in that: The method further comprises: When a point cloud data reading instruction is received, the target point cloud data after being sorted as required by the point cloud data reading instruction is output based on the original point cloud data and the position conversion matrix.

16. The method according to claim 15, characterized in that The position conversion matrix includes a first conversion matrix and a second conversion matrix, the first conversion matrix is ​​a conversion matrix of the detection point data at the corresponding position of the target point cloud data, and the second conversion matrix is ​​a conversion matrix of the detection point data and the corresponding position of the target point cloud data; The method of, upon receiving a point cloud data reading instruction, outputting the target point cloud data after being sorted as required by the point cloud data reading instruction based on the original point cloud data and the position conversion matrix, comprises: Based on the received point cloud data reading instruction, determining the first row and column number of the pre-sort detection point data to be read; Based on the first row and column numbers and the first conversion matrix, indexing the second row and column numbers of the detection point data before sorting after sorting; Based on the second row and column numbers and a target sliding window, determining a third row and column number set of the sorted detection point data in the target sliding window, wherein the target sliding window is a window centered on the sorted detection point data corresponding to the second row and column numbers; Based on the third row and column number set and the second conversion matrix, reversely indexing a fourth row and column number set of the sorted detection point data located in the target sliding window before sorting; Determine the set of detection point data before sorting corresponding to the fourth row and column number set as the target point cloud data located in the target sliding window after sorting; The target point cloud data is output.

17. A SoC chip, characterized in that: The SoC chip is configured with a point cloud data sorting circuit as described in any one of claims 1 to 8.

18. A computer device, characterized in that: The computer device is used to execute the point cloud data sorting method according to any one of claims 9 to 16.