Point cloud prediction processing method and apparatus, computer, storage medium
Patent Information
- Application Number
- CN202210243498.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-11
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2042-03-11
AI Technical Summary
其中,在进行点云编码的过程中,会对点云进行属性预测,一般情况下,会确定初始块大小,基于当前点及初始块大小,确定当前点的空间结构,进而在该空间结构中获取当前点的邻居点,进行属性预测,也就是说,该邻居点的获取是基于当前点(可以称为局部点)所获取的,使得邻居点的获取较为局限,从而降低点云属性预测的性能
[0057]在本申请实施例中,获取目标点云点所在的目标点云组的备选点集合;备选点集合属于M个点云组,M个点云组包括目标点云组;每个点云组所包括的点云点的坐标码字,在经过所在点云组对应的分组移动位数移动后是相同的;M为正整数;从备选点集合中获取目标点云点关联的预测参考点,基于预测参考点对目标点云点进行预测处理,得到目标点云点的目标属性预测值。在此基础上,可以基于目标属性预测值进行编码或解码,即,实现对点云的编解码处理,其中,备选点集合是从点云组中所获取的,该点云组是基于点云点的坐标码字对点云点进行分组得到的,而从获取到的备选点集合中获取目标点云点关联的预测参考点,可以考虑到各个点云组之间的空间关联性,进而,可以基于各个点云组之间的空间关联性进行相应的属性预测,从而提高点云预测的准确性。并且在此基础上进行编解码,可以提高编解码的性能及效率。
Smart Images

Figure CN116781908B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a point cloud prediction processing method, apparatus, computer, and storage medium. Background Technology
[0002] Currently, mainstream point cloud encoding technologies can be categorized into geometric structure-based point cloud encoding and projection-based point cloud encoding, depending on the type of point cloud data. In point cloud encoding, attribute prediction is performed. Typically, an initial block size is determined, and based on the current point and the initial block size, the spatial structure of the current point is determined. Then, neighboring points are obtained within this spatial structure for attribute prediction. In other words, the acquisition of these neighboring points is based on the current point (which can be called a local point), making the acquisition of neighboring points relatively limited and thus reducing the performance of point cloud attribute prediction. Summary of the Invention
[0003] This application provides a point cloud prediction processing method, apparatus, computer, and storage medium, which can improve the accuracy of point cloud prediction processing, and further improve encoding and decoding efficiency and performance by performing encoding and decoding on this basis.
[0004] One embodiment of this application provides a point cloud prediction processing method, the method comprising:
[0005] Obtain the set of candidate points for the target point cloud group to which the target point belongs; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0006] Obtain the prediction reference points associated with the target point cloud points from the candidate point set, perform prediction processing on the target point cloud points based on the prediction reference points, and obtain the target attribute prediction values of the target point cloud points.
[0007] One embodiment of this application provides a point cloud prediction processing method, the method comprising:
[0008] Obtain the set of candidate points for the target point cloud group to which the target point belongs; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0009] Obtain the prediction reference points associated with the target point cloud points from the candidate point set, perform prediction processing on the target point cloud points based on the prediction reference points, and obtain the target attribute prediction values of the target point cloud points.
[0010] Obtain the bitstream corresponding to the target point cloud point, decode the bitstream corresponding to the target point cloud point to obtain the target attribute residual of the target point cloud point, and determine the target attribute reconstruction value of the target point cloud point based on the target attribute prediction value and the target attribute residual.
[0011] One embodiment of this application provides a point cloud prediction processing apparatus, which includes:
[0012] The candidate set acquisition module is used to acquire the candidate point set of the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0013] The reference point acquisition module is used to obtain the predicted reference points associated with the target point cloud points from the candidate point set;
[0014] The attribute prediction module is used to perform prediction processing on target point cloud points based on prediction reference points to obtain the target attribute prediction values of the target point cloud points.
[0015] Wherein, the group shift bits corresponding to each of the M point cloud groups are all the default group shift bits; or,
[0016] When the average number of point cloud points contained in each of the M1 adjacent point cloud groups is greater than the first point count threshold, the number of group movement steps corresponding to the target point cloud group is less than the number of group movement steps corresponding to each of the M1 adjacent point cloud groups; when the average number of point cloud points contained in each of the M1 adjacent point cloud groups is less than the second point count threshold, the number of group movement steps corresponding to the target point cloud group is greater than the number of group movement steps corresponding to each of the M1 adjacent point cloud groups; M1 is a positive integer less than M.
[0017] The candidate point set consists of point cloud groups that are located before and adjacent to the target point cloud group among the M point cloud groups; the total number of point cloud points included in the candidate point set is less than or equal to the third point count threshold.
[0018] The candidate point set is the point cloud group that precedes the target point cloud group among the M point cloud groups; the number of point cloud points included in each candidate point set is greater than or equal to the number of points in the group threshold.
[0019] The candidate point set consists of N point cloud groups that are located before the target point cloud group among M point cloud groups; N is a positive integer and N is the default adjacency group threshold.
[0020] Among them, a point cloud group corresponds to a point cloud group sequence. The point cloud group sequence refers to the coordinate codeword of the point cloud points included in the corresponding point cloud group, which is obtained after shifting the corresponding point cloud group by the number of group shifts.
[0021] When the number of bits moved by the target group corresponding to the target point cloud group is a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after the candidate point cloud group sequence corresponding to the candidate point set is moved by the first multiple of the number of bits in the coordinate dimension is the same as the target movement sequence obtained after the target point cloud group sequence corresponding to the target point cloud group is moved by the first multiple of the number of bits in the coordinate dimension; the number of bits in the coordinate dimension refers to the number of dimensions corresponding to the coordinate codewords of the point cloud points included in each point cloud group;
[0022] When the number of bits moved by the target group corresponding to the target point cloud group is not a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after moving the candidate point cloud group sequence corresponding to the candidate point set by the supplementary dimension bits is the same as the target movement sequence obtained after moving the target point cloud group sequence corresponding to the target point cloud group by the supplementary dimension bits. The supplementary dimension bits refer to the remainder between the number of bits moved by the target group and the coordinate dimension, and the difference in the number of bits between them; or, the supplementary dimension bits refer to the sum of the difference in the number of bits and the second multiple of the number of bits in the coordinate dimension.
[0023] The set of candidate points consists of at least two points; the reference point acquisition module includes:
[0024] The candidate acquisition unit is used to select d point cloud points from at least two candidate point sets respectively, and determine the d point cloud points corresponding to the at least two candidate point sets as prediction reference points associated with the target point cloud points; d is a positive integer.
[0025] The set of candidate points consists of at least two points; the reference point acquisition module includes:
[0026] The candidate acquisition unit is used to select d point cloud points from at least two candidate point sets as candidate point cloud points;
[0027] The distance selection unit is used to obtain the first inter-point distance between candidate point cloud points and target point cloud points, sort the candidate point cloud points based on the first inter-point distance, and obtain the prediction reference point associated with the target point cloud point from the sorted candidate point cloud points.
[0028] The set of candidate points consists of at least two points; the reference point acquisition module includes:
[0029] The candidate sorting unit is used to obtain the second inter-point distance between the point cloud points included in at least two candidate point sets and the target point cloud point, sort the point cloud points included in at least two candidate point sets based on the second inter-point distance, and obtain the prediction reference point associated with the target point cloud point from the point cloud points included in the sorted at least two candidate point sets.
[0030] The set of candidate points consists of at least two points; the reference point acquisition module includes:
[0031] The priority acquisition unit is used to acquire the set priorities corresponding to at least two candidate point sets, sort the at least two candidate sets based on the set priorities, and acquire P prediction reference points associated with the target point cloud points from the sorted at least two candidate sets; P is a positive integer.
[0032] The attribute prediction module includes:
[0033] The coordinate acquisition unit is used to acquire the predicted reference coordinates of the prediction reference point and the target coordinates of the target point cloud.
[0034] The weight acquisition unit is used to determine the reference weight of the prediction reference point based on the coordinate distance between the prediction reference coordinates and the target coordinates.
[0035] The attribute prediction unit is used to obtain the reference attribute reconstruction value of the prediction reference point, and to perform weighted processing based on the reference attribute reconstruction value and reference weight to obtain the target attribute prediction value of the target point cloud point.
[0036] The device also includes:
[0037] The residual acquisition module is used to obtain the actual value of the target attribute of the target point cloud point, and obtain the target attribute residual of the target point cloud point based on the difference between the actual value of the target attribute and the predicted value of the target attribute of the target point cloud point.
[0038] The quantization processing module is used to quantize and transform the target attribute residuals to obtain the target transformation coefficients of the target point cloud points.
[0039] The device also includes:
[0040] The first encoding module is used to obtain the transform coefficients of the point cloud points included in the target point cloud group, encode the transform coefficients of the point cloud points included in the target point cloud group, and obtain the target bitstream corresponding to the target point cloud group; or,
[0041] The second encoding module is used to obtain the group number limit threshold, obtain g point cloud groups to be encoded that contain the target point cloud group based on the group number limit threshold, obtain the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded, encode the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded, and obtain the group bitstream corresponding to the g point cloud groups to be encoded; g is a positive integer, and g is less than or equal to the group number limit threshold.
[0042] One embodiment of this application provides a point cloud prediction processing apparatus, which includes:
[0043] The candidate set acquisition module is used to acquire the candidate point set of the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0044] The reference point acquisition module is used to obtain the predicted reference points associated with the target point cloud points from the candidate point set;
[0045] The attribute prediction module is used to predict the target point cloud points based on the prediction reference points to obtain the target attribute prediction values of the target point cloud points.
[0046] The bitstream acquisition module is used to acquire the bitstream corresponding to the target point cloud points;
[0047] The bitstream decoding module is used to decode the bitstream corresponding to the target point cloud points to obtain the target attribute residuals of the target point cloud points;
[0048] The attribute reconstruction module is used to determine the reconstructed target attribute values of target point cloud points based on the predicted target attribute values and the target attribute residuals.
[0049] The bitstream decoding module includes:
[0050] The initial decoding unit is used to decode the bitstream corresponding to the target point cloud points to obtain the target transformation coefficients of the target point cloud points;
[0051] The coefficient transformation unit is used to perform inverse transformation on the target transformation coefficients to obtain the target attribute residuals of the target point cloud points.
[0052] One embodiment of this application provides a computer device, including a processor, a memory, and an input / output interface;
[0053] The processor is connected to a memory and an input / output interface, respectively. The input / output interface is used to receive and output data, the memory is used to store computer programs, and the processor is used to call the computer programs so that the computer device containing the processor executes the point cloud prediction processing method in one aspect of the embodiments of this application.
[0054] One aspect of this application provides a computer-readable storage medium storing a computer program adapted to be loaded and executed by a processor, so that a computer device having the processor performs the point cloud prediction processing method of one aspect of this application.
[0055] One aspect of this application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in various optional embodiments of this application. In other words, when the computer instructions are executed by the processor, they implement the methods provided in various optional embodiments of this application.
[0056] Implementing the embodiments of this application will have the following beneficial effects:
[0057] In this embodiment, a set of candidate points for the target point cloud group is obtained. The candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group. The coordinate codewords of the point cloud points included in each point cloud group are the same after being shifted by the corresponding grouping shift number of the point cloud group. M is a positive integer. Predictive reference points associated with the target point cloud points are obtained from the candidate point set. Based on the predictive reference points, the target point cloud points are predicted to obtain the target attribute prediction value of the target point cloud points. On this basis, encoding or decoding can be performed based on the target attribute prediction value, that is, the encoding and decoding processing of the point cloud is realized. The candidate point set is obtained from the point cloud group, which is obtained by grouping the point cloud points based on the coordinate codewords of the point cloud points. Obtaining the predictive reference points associated with the target point cloud points from the obtained candidate point set can take into account the spatial correlation between the point cloud groups. Therefore, corresponding attribute prediction can be performed based on the spatial correlation between the point cloud groups, thereby improving the accuracy of point cloud prediction. Furthermore, encoding and decoding on this basis can improve the performance and efficiency of encoding and decoding. Attached Figure Description
[0058] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0059] Figure 1 This is a network interaction architecture diagram for point cloud prediction processing provided in an embodiment of this application;
[0060] Figure 2 This is a schematic diagram of a point cloud prediction processing scenario provided in an embodiment of this application;
[0061] Figure 3 This is a flowchart of a point cloud prediction processing method provided in an embodiment of this application.
[0062] Figure 4 This is a schematic diagram of point cloud point distribution provided in an embodiment of this application;
[0063] Figure 5 This is an optional point cloud point grouping process provided in the embodiments of this application;
[0064] Figure 6 This is a flowchart of a point cloud prediction processing method provided in an embodiment of this application;
[0065] Figure 7 This is a data interaction architecture diagram provided in an embodiment of this application;
[0066] Figure 8 This is a schematic diagram of a point cloud prediction processing device provided in an embodiment of this application;
[0067] Figure 9 This is a schematic diagram of a point cloud prediction processing device provided in an embodiment of this application;
[0068] Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0069] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0070] This application relates to the field of big data. Big data refers to data sets that cannot be captured, managed, and processed within a certain timeframe using conventional software tools. It represents massive, rapidly growing, and diverse information assets that require new processing models to achieve stronger decision-making, insight discovery, and process optimization capabilities. With the advent of the cloud era, big data has attracted increasing attention. Big data requires specialized technologies to effectively process large amounts of data within a tolerable timeframe. Technologies suitable for big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the Internet, and scalable storage systems. For example, big data processing and data computing technologies can be used to group, predict, and encode / decode point clouds to improve data processing efficiency.
[0071] In the embodiments of this application, please refer to Figure 1 , Figure 1This is a network interaction architecture diagram for point cloud prediction processing provided in an embodiment of this application. The computer device 101 can obtain point cloud points to be encoded from the computer device 101 and encode the obtained point cloud points; or, it can obtain a bitstream to be decoded from the computer device 101 and decode the obtained bitstream. Alternatively, the computer device 101 can obtain point cloud points to be encoded from other associated devices and encode the obtained point cloud points; or, it can obtain a bitstream to be decoded from the associated devices and decode the obtained bitstream, etc. The number of associated devices is one or at least two, for example, using... Figure 1 For example, if the number is 3, such as associated device 102a, associated device 102b, or associated device 102c, etc.
[0072] For details, please see Figure 2 , Figure 2 This is a schematic diagram of a point cloud prediction processing scenario provided in an embodiment of this application. For example... Figure 2 As shown, the computer device can acquire at least two point cloud points 201. Based on the coordinate codewords corresponding to the at least two point cloud points 201, the at least two point cloud points 201 are grouped to obtain M point cloud groups, where M is a positive integer, for example... Figure 2 In this example, M is a positive integer greater than or equal to 3, such as point cloud group 1, point cloud group 2, and point cloud group M. The computer device can obtain the target point cloud group containing the target point. Within the M point cloud groups, it obtains the set of candidate points corresponding to the target point cloud group. The computer device can then obtain the prediction reference points associated with the target point from the set of candidate points. Furthermore, the computer device can perform prediction processing on the target point cloud based on the prediction reference points to obtain the predicted target attribute values of the target point cloud. In other words, during point cloud prediction, the point cloud points that need to be encoded are grouped. When predicting a specific point cloud point, the computer device obtains the set of candidate points from the grouped service groups, thus taking into account the spatial correlation between point cloud groups. This allows the attribute prediction of the point cloud to include some information about the spatial correlation between groups, thereby improving subsequent encoding and decoding performance and efficiency.
[0073] It is understood that the associated devices mentioned in the embodiments of this application can be computer devices, including but not limited to terminal devices or servers. In other words, a computer device can be a server or a terminal device, or a system composed of a server and a terminal device. The terminal device mentioned above can be an electronic device, including but not limited to mobile phones, tablets, desktop computers, laptops, handheld computers, in-vehicle devices, augmented reality / virtual reality (AR / VR) devices, head-mounted displays, smart TVs, wearable devices, smart speakers, digital cameras, webcams, and other mobile internet devices (MIDs) with network access capabilities, or terminal devices in scenarios such as trains, ships, and flights. The server mentioned above can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, vehicle-to-everything (V2X) communication, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0074] Optionally, the data involved in the embodiments of this application may be stored in a computer device or may be stored based on cloud storage technology, without any limitation.
[0075] Further, please see Figure 3 , Figure 3 This is a flowchart illustrating a point cloud prediction processing method during the encoding process provided in an embodiment of this application. Figure 3 As shown, the point cloud prediction process includes the following steps:
[0076] Step S301: Obtain the set of candidate points for the target point cloud group where the target point cloud point is located.
[0077] In this embodiment, the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping shift number of the point cloud group; M is a positive integer. Specifically, the computer device can obtain M point cloud groups obtained by grouping k point cloud points, where k is a positive integer. The computer device can obtain the candidate point set of the target point cloud group to which the target point belongs from the M point cloud groups. That is, the candidate point set is essentially a point cloud group, and the number of candidate point sets can be one or at least two. Optionally, the computer device can obtain the point cloud to be encoded and obtain the k point cloud points that make up the point cloud to be encoded; or, the computer device can obtain a space filling curve and obtain the k point cloud points included in the space filling curve, etc. The specific method of obtaining the k point cloud points to be encoded is not limited here. The computer device acquires k point cloud points and their corresponding coordinate codewords. Point cloud points with the same codeword sequence after being shifted by a certain number of shift positions are grouped into M point cloud groups. Optionally, the number of shift positions can be a fixed value or a variable value. For example, the number of shift positions can be denoted as L. L can be a fixed value, meaning it remains constant, or it can be a variable, meaning its value changes as the grouping progresses. L can be considered a positive integer.
[0078] The coordinate codeword of the r-th point cloud point can be denoted as H. r Assuming the coordinate dimension corresponding to the coordinate codeword is dig, the codeword length in each coordinate dimension is s, r is a positive integer less than or equal to k, dig is a positive integer, and s is a positive integer, then the coordinate codeword of the r-th point cloud point can be represented as: Here, `coor` represents the coordinates, `coor_1` represents the first coordinate dimension, `coor_dig` represents the `dig`th coordinate dimension, and the subscript represents the number of bits in the codeword corresponding to each coordinate dimension. For example, `s-1` represents the encoding of the (s-1)th bit in each coordinate dimension. In other words, This forms the encoding of the r-th point cloud point in the first coordinate dimension. This forms the encoding of the r-th point cloud point in the second coordinate dimension. Optionally, assuming dig is 3, including the x, y, and z coordinate dimensions, the coordinate codeword of the r-th point cloud point can be represented as... in, This forms the encoding of the r-th point cloud point in the x-coordinate dimension; This forms the encoding of the r-th point cloud point in the y-coordinate dimension; This forms the encoding of the r-th point cloud point in the z-coordinate dimension. Optionally, assuming dig is 4, including four coordinate dimensions: x, y, z, and t, the coordinate codeword of the r-th point cloud point can be represented as: wait.
[0079] For example, see Figure 4 , Figure 4 This is a schematic diagram of point cloud point distribution provided in an embodiment of this application. For example... Figure 4 As shown, taking a coordinate dimension of 3 as an example, the coordinate distribution of point cloud points is equivalent to a three-dimensional spatial distribution. For example, Figure 4 The three point cloud points shown belong to a point cloud group 401. In other words, all point cloud points located in point cloud group 401 belong to point cloud group 401. Furthermore, by moving the coordinate codewords of each point cloud point within point cloud group 401, the range of codewords encompassed by point cloud group 401 can be obtained. Figure 4 The range of point cloud group 401 can represent the point cloud group order of point cloud group 401.
[0080] Specifically, the grouping shift number corresponding to each of the M point cloud groups is a default grouping shift number. That is, the grouping shift number can be a fixed value. This default grouping shift number can be based on experience, provided by the user, or be a historical grouping shift number, etc. By shifting the grouping by a fixed value, the grouping basis of the coordinate codewords of each point cloud point is the same. In this case, the efficiency of grouping the point cloud points and obtaining the subsequent candidate point set can be improved.
[0081] Alternatively, the number of shifts per group can be a variable value. Specifically, when the average number of points in the M1 adjacent point cloud groups is greater than the first point count threshold, the number of shifts per group corresponding to the target point cloud group is less than the number of shifts per group corresponding to the M1 adjacent point cloud groups; when the average number of points in the M1 adjacent point cloud groups is less than the second point count threshold, the number of shifts per group corresponding to the target point cloud group is greater than the number of shifts per group corresponding to the M1 adjacent point cloud groups; M1 is a positive integer less than M; when the average number of points in the M1 adjacent point cloud groups is greater than or equal to the second point count threshold and less than or equal to the first point count threshold, the number of shifts per group for the target point cloud group is the same as the number of shifts per group for the point cloud group preceding the target point cloud group. In other words, when the number of point cloud points contained in an adjacent point cloud group is too large, the number of point cloud points contained in the subsequent point cloud group can be reduced by decreasing the number of bits in the group movement; when the number of point cloud points contained in an adjacent point cloud group is too small, the number of bits in the group movement can be increased by increasing the number of point cloud points contained in the subsequent point cloud group. This can make the number of point cloud points contained in each point cloud group as balanced as possible, thereby improving the grouping effect of point cloud groups.
[0082] Optionally, the M point cloud groups may include one or at least two inter-group sets. Point cloud groups within the same inter-group set have the same number of group shifts, while point cloud groups in different inter-group sets have different group shifts. The number of point cloud groups included in an inter-group set is less than or equal to a grouping unit threshold. Furthermore, when the average number of point cloud points in the M1 adjacent point cloud groups adjacent to the first point cloud group in the j-th inter-group set is greater than a first point count threshold, the number of group shifts for the point cloud groups included in the j-th inter-group set is less than the number of group shifts corresponding to the M1 adjacent point cloud groups. When the average number of point points in the M1 adjacent point cloud groups of the first point cloud group in the inter-group set is less than the second point count threshold, the number of shifts in the point cloud groups included in the j-th inter-group set is greater than the number of shifts in the M1 adjacent point cloud groups. When the average number of point points in the M1 adjacent point cloud groups of the first point cloud group in the j-th inter-group set is greater than or equal to the second point count threshold and less than or equal to the first point count threshold, the number of shifts in the point cloud groups included in the j-th inter-group set can be the same as the number of shifts in the previous inter-group set. This allows for changes to the number of shifts to improve the distribution balance of the point cloud points after grouping, while limiting the number of changes to the number of shifts. That is, the number of shifts is updated once every time a threshold number of point cloud groups are obtained, reducing the amount of data that needs to be processed. For example, assuming a grouping unit threshold of 5, the number of group movement positions is obtained, and point cloud groups from the first to the fifth are obtained based on these positions. The average number of point clouds in the M1 neighboring point cloud groups of the next point cloud point in the fifth point cloud group is obtained, and the group movement position is updated based on this average number. Based on the updated group movement position, point cloud groups from the sixth to the tenth are obtained, and so on, until k point clouds are grouped. Optionally, the inter-group set can be a concept used to describe the change in the number of group movement positions.
[0083] Optionally, when obtaining a candidate point set for the target point cloud group from M point cloud groups, in one method of obtaining the candidate point set, the candidate point set is the point cloud group that is located before and adjacent to the target point cloud group in the M point cloud groups; the total number of point cloud points included in the candidate point set is less than or equal to a third point count threshold. Optionally, the third point count threshold can be denoted as maxNumofNeighbor. Specifically, the computer device can, in the M point cloud groups, take the target point cloud group as the base group and obtain point cloud groups sequentially forward until a candidate point set is obtained. The total number of point cloud points in the point cloud group corresponding to the candidate point set is less than or equal to the third point count threshold, and the sum of the number of point cloud points included in the candidate point set and the point cloud group located before the candidate point set is greater than the third point count threshold. For example, given (point cloud group 1, point cloud group 2, point cloud group 3, ... and point cloud group M), assuming the target point cloud group is point cloud group 5, and assuming the third point count threshold is 10, then using the target point cloud group as the base group, point cloud group 4 is obtained sequentially. It is assumed that point cloud group 4 includes 3 point cloud points, which is less than the third point count threshold. Point cloud group 3 is then obtained, assuming it includes 5 point cloud points. At this point, point cloud group 4 and point cloud group 3 together include 8 point cloud points, which is less than the third point count threshold. Point cloud group 2 is then obtained, assuming it includes 4 point cloud points. At this point, point cloud group 4, point cloud group 3, and point cloud group 2 together include 12 point cloud points, which is greater than the third point count threshold. Therefore, point cloud group 4 and point cloud group 3 are determined as the candidate point set for the target point cloud group.
[0084] In one method of obtaining candidate point sets, the candidate point set is a point cloud group located before the target point cloud group among M point cloud groups; the number of point cloud points included in each candidate point set is greater than or equal to a threshold number of points in the group. Optionally, the number of candidate point sets is less than or equal to a threshold number of groups. Specifically, the computer device can use the target point cloud group as the base group and sequentially obtain candidate point cloud groups from the M point cloud groups, wherein the number of point cloud points included in the candidate point cloud group is greater than or equal to the threshold number of points in the group. When the M point cloud groups have been traversed, the obtained candidate point cloud groups are determined as the candidate point set for the target point cloud group. For example, given point cloud groups (1, 2, 3, ..., and M), assuming a threshold of 4 points per group, and the target point cloud group is point cloud group 5, and assuming that the number of points in each of the point cloud groups 1, 2, and 3 is greater than or equal to 4, then point cloud groups 1, 2, and 3 are determined as the candidate point set for the target point cloud group. Alternatively, the computer device can use the target point cloud group as a baseline group and sequentially acquire candidate point cloud groups from the M point cloud groups, where the number of points in each candidate point cloud group is greater than or equal to the threshold of the number of points in the group. When the number of candidate point cloud groups reaches the group selection threshold, or when all M point cloud groups have been traversed, the acquired candidate point cloud groups are determined as the candidate point set for the target point cloud group. For example, given (point cloud group 1, point cloud group 2, point cloud group 3, ... and point cloud group M), assuming the threshold for the number of points in a group is 4, the target point cloud group is point cloud group 5, and the threshold for selecting the number of groups is 2, assuming point cloud group 4 includes 3 point cloud points (3 is less than the threshold for the number of points in a group); assuming point cloud group 3 includes 5 point cloud points (5 is greater than the threshold for the number of points in a group), point cloud group 3 is determined as a candidate point cloud group. At this time, there is one candidate point cloud group (1 is less than the threshold for selecting the number of groups); assuming point cloud group 2 includes 4 point cloud points (4 is equal to the threshold for the number of points in a group), point cloud group 2 is determined as a candidate point cloud group. At this time, there are 2 candidate point cloud groups (2 is the threshold for selecting the number of groups), then point cloud group 2 and point cloud group 3 are determined as the set of candidate points for the target point cloud group.
[0085] In one method of obtaining the candidate point set, the candidate point set consists of N point cloud groups preceding the target point cloud group out of M point cloud groups; N is a positive integer, and N is the default adjacency group threshold. Specifically, the computer device can use the target point cloud group as the base group and obtain N point cloud groups forward from the M point cloud groups, determining the obtained N point cloud groups as the candidate point set for the target point cloud group. For example, assuming the default adjacency group threshold is 3 and the target point cloud group is point cloud group 5, then using point cloud group 5 as the base group, three point cloud groups are obtained sequentially, namely point cloud group 4, point cloud group 3, and point cloud group 2, and point cloud group 4, point cloud group 3, and point cloud group 2 are determined as the candidate point set for the target point cloud group.
[0086] In one method of obtaining the candidate point set, a point cloud group corresponds to a point cloud group sequence. The point cloud group sequence refers to the coordinate codewords of the point cloud points included in the corresponding point cloud group, obtained after shifting the group by the corresponding group shift number. For example, taking the r-th point cloud point mentioned above as an example, assuming that the group shift number of the point cloud group containing the r-th point cloud point is dig, the codeword sequence obtained after shifting the r-th point cloud point can be denoted as... In other words, the coordinate codewords of all point cloud points in the point cloud group to which the r-th point cloud point belongs are the same as the codeword sequence obtained after the coordinate codeword of the r-th point cloud point is moved by the number of bits in the group.
[0087] When the number of bits moved by the target group corresponding to the target point cloud group is a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after moving the candidate point cloud group sequence corresponding to the candidate point set by a multiple of the first number of bits in the coordinate dimension is the same as the target movement sequence obtained after moving the target point cloud group sequence corresponding to the target point cloud group by a multiple of the first number of bits in the coordinate dimension. The number of bits in the coordinate dimension refers to the number of dimensions corresponding to the coordinate codewords of the point cloud points included in each point cloud group, that is, the number of coordinate dimensions corresponding to the coordinate codewords. For example, when the number of bits moved by the target group L = dig * v, where v is a positive integer, the target point cloud group sequence corresponding to the target point cloud group is denoted as H. K1 Let the target point cloud group be denoted as point cloud group K1, and let the target point cloud group be sequenced as H. K1 The movement is performed by a factor of one multiple of the coordinate dimensions, denoted as H. K1 >>dig*mul1, get the result that satisfies H K2 >>dig*mul1=H K1 The point cloud group with coordinate dimension digits greater than 1 (dig*mul1) is the point cloud group whose movement sequence is the same as the target point cloud group whose movement sequence is the same as the target point cloud group's movement sequence obtained after moving the target point cloud group by ... K2 >>3=H K1 >>3, then point cloud group K2 is the set of candidate points for point cloud group K1, where point cloud group K2 can be considered as a neighbor node of the parent node of point cloud group K1; or, when H K2 >>6=H K1 >>When 6 is twice 3, point cloud group K2 is the set of candidate points for point cloud group K1, etc.
[0088] When the number of moves corresponding to the target point cloud group is not a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after moving the candidate point cloud group sequence corresponding to the candidate point set by adding supplementary dimension bits is the same as the target movement sequence obtained after moving the target point cloud group sequence corresponding to the target point cloud group by adding supplementary dimension bits. The supplementary dimension bits refer to the difference between the remainder of the target group movement number and the coordinate dimension bits, or the sum of the difference in bits and a second multiple of the coordinate dimension bits. This second multiple can be denoted as mul2, where mul2 is a positive integer. For example, when the number of moves for the target group L = dig*v - (dig-1), where v is a positive integer, the target point cloud group sequence corresponding to this target point cloud group is denoted as H. K1 Let the target point cloud group be denoted as point cloud group K1. At this time, the number of supplementary dimensions is (dig-1) or {(dig-1)+dig*mul2}, and obtain the result satisfying H. K2 >>(dig-1)=H K1 >>(dig-1) point cloud group, or, obtain the point cloud group that satisfies H K2 >>{(dig-1)+dig*mul2}=H K1 The point cloud group >>{(dig-1)+dig*mul2} is used to determine the point cloud group K2 as the candidate point set for the target point cloud group; when the target group moves by L = dig*v-(dig-2), the number of supplementary dimensions is (dig-2) or {(dig-2)+dig*mul2}, and H is obtained. K2 >>(dig-2)=H K1 >>(dig-2) point cloud group, or, obtain the point cloud group that satisfies H K2 >>{(dig-2)+dig*mul2}=H K1 The point cloud group of {(dig-2)+dig*mul2} is used to determine the candidate point set of the target point cloud group; ...; when the target group moves by a number of bits L = dig*v-1, the number of bits for the supplementary dimension is 1, and points satisfying H are obtained. K2 >>1=H K1 >>1 point cloud group, or, obtain the point cloud group that satisfies H K2 >>{1+dig*mul2}=H K1 For a point cloud group of {1+dig*mul2}, the obtained point cloud group K2 is determined as the candidate point set for the target point cloud group. At this time, point cloud group K2 can be considered a neighbor node of point cloud group K1. For example, assuming the coordinate dimension bits dig is 3 and the target group movement bits L is 2, the supplementary dimension bits can be 1, or (1+3=4), etc. For example, when H is satisfied... K2 >>1=HK1 When >>1, point cloud group K2 can be considered as the set of candidate points for point cloud group K1; or, when H is satisfied... K2 >>4=H K1 When >>4, point cloud group K2 can be considered as the set of candidate points for point cloud group K1, etc. Here, ">>" indicates movement; for example, assuming H... K1 If it is 001101, then after H K1 After >>1, we get 00110.
[0089] like Figure 4 As shown, assuming the target point cloud group is point cloud group 401, after two movements, the resulting target movement sequence can be represented by region 402. The point cloud groups located in region 402 can be identified as the candidate point set for point cloud group 401. In other words, region 402 can be considered the parent node of point cloud group 401. Optionally, region 402 also includes 6 coplanar neighbor nodes, such as... Figure 4 The area indicated by the dashed box may also include 12 collinear neighbor nodes and 8 point-to-point neighbor nodes. Optionally, the computer device can, as needed, obtain a set of candidate points for the target point cloud group from the coplanar neighbor nodes, collinear neighbor nodes, or point-to-point neighbor nodes of the parent node. Specifically, the number of coplanar neighbor nodes, collinear neighbor nodes, and point-to-point neighbor nodes is determined by the number of coordinate dimensions (dig), and is not limited here.
[0090] Optionally, the process of obtaining the candidate point set can be achieved through any one or any combination of the above methods for obtaining the candidate point set.
[0091] Step S302: Obtain the prediction reference points associated with the target point cloud from the candidate point set.
[0092] In this embodiment, the computer device can obtain prediction reference points associated with target point cloud points from a set of candidate points. The set of candidate points can contain one or at least two points. When there is only one candidate point set, the point cloud points included in the candidate point set can be directly determined as prediction reference points associated with the target point cloud points; alternatively, the distance between the point cloud points included in the candidate point set and the target point cloud points can be obtained, and prediction reference points associated with the target point cloud points can be obtained from the candidate point set based on this distance. The distance between points can be the distance between the coordinates of the point cloud points included in the candidate point set and the coordinates of the target point cloud point, also known as the geometric distance, or it can be the number of interval points between the point cloud points included in the candidate point set and the target point cloud point in M point cloud groups, etc.
[0093] The number of candidate point sets is at least two. Specifically, in one method of obtaining prediction reference points, the computer device can select d point cloud points from at least two candidate point sets, and determine the d point cloud points corresponding to the at least two candidate point sets as prediction reference points associated with the target point cloud point; d is a positive integer. For example, assuming d is 1, then one point cloud point is obtained from each of the at least two candidate point sets as the prediction reference point associated with the target point cloud point. Optionally, in this approach, it can be assumed that the prediction reference points are the same for point cloud points within the same point cloud group. Therefore, the computer device can search for the prediction reference points corresponding to the target point cloud group. If a prediction reference point corresponding to the target point cloud group is found, it is determined as the prediction reference point for the target point cloud point. If no prediction reference point corresponding to the target point cloud group is found, d point cloud points are selected from at least two candidate point sets, and the d point cloud points corresponding to each of the at least two candidate point sets are determined as the prediction reference points associated with the target point cloud point. Simultaneously, the d point cloud points corresponding to each of the at least two candidate point sets can be determined as the prediction reference points corresponding to the target point cloud group. Through this process, only one prediction reference point needs to be obtained for the same point cloud group, thereby reducing the amount of data to be processed and improving the efficiency of obtaining prediction reference points.
[0094] In one method for obtaining prediction reference points, d point cloud points are selected from at least two candidate point sets as candidate point cloud points. The first inter-point distance between the candidate point cloud points and the target point cloud point is obtained. The candidate point cloud points are then sorted based on this first inter-point distance. Finally, the prediction reference point associated with the target point cloud point is obtained from the sorted candidate point cloud points. Here, the first inter-point distance can be the distance between the coordinates of the candidate point cloud point and the coordinates of the target point cloud point, also known as the geometric distance, or it can be the number of interval points between the candidate point cloud point and the target point cloud point in M point cloud groups, etc.
[0095] In one method of obtaining prediction reference points, a second inter-point distance is obtained between point cloud points included in at least two candidate point sets and a target point cloud point. The point cloud points in the at least two candidate point sets are then sorted based on this second inter-point distance. From the sorted point cloud points in the at least two candidate point sets, prediction reference points associated with the target point cloud point are obtained. The second inter-point distance can be the distance between the coordinates of the point cloud points in the at least two candidate point sets and the coordinates of the target point cloud point, also known as the geometric distance. Alternatively, it can be the number of interval points between the point cloud points in the at least two candidate point sets and the target point cloud point in M point cloud groups. For example, for point cloud point 1 in the candidate point sets, the second inter-point distance can be the geometric distance between the coordinates of point cloud point 1 and the coordinates of the target point cloud point, or it can be the number of interval points between the positions of point cloud point 1 and the target point cloud point in the M point cloud groups.
[0096] In one method of obtaining prediction reference points, the set priorities corresponding to at least two candidate point sets are obtained. Based on these set priorities, the at least two candidate sets are sorted. From the sorted at least two candidate sets, P prediction reference points associated with the target point cloud are obtained; P is a positive integer. Optionally, the computer device can obtain the inter-group association relationships between the at least two candidate point sets and the target point cloud group, and determine the set priorities corresponding to the at least two candidate point sets based on these inter-group association relationships. The inter-group association relationships include, but are not limited to, neighbor association relationships, parent association relationships, and interval association relationships. For example, a neighbor association relationship can be considered an inter-group association relationship between a point cloud group adjacent to the target point cloud group and the target point cloud group; a parent association relationship can be considered an inter-group association relationship between point cloud groups with the same parent node, meaning that the point cloud group order of two point cloud groups with a parent association relationship is the same after a second movement; an interval association relationship can be considered an inter-group association relationship between non-adjacent point cloud groups located in M point cloud groups, etc. Optionally, the set priorities corresponding to the at least two candidate point sets can also be preset. Alternatively, if at least two candidate point sets are obtained through multiple candidate point set acquisition methods, then the set priorities corresponding to the at least two candidate point sets can be determined based on the candidate point set acquisition methods corresponding to each of the at least two candidate point sets. That is, the method of obtaining set priorities is not restricted here.
[0097] Step S303: Based on the prediction reference point, perform prediction processing on the target point cloud points to obtain the target attribute prediction value of the target point cloud points.
[0098] In this embodiment, the computer device can obtain the predicted reference coordinates of the predicted reference point and the target coordinates of the target point cloud. Based on the coordinate distance between the predicted reference coordinates and the target coordinates, the reference weight of the predicted reference point is determined. Specifically, the computer device can obtain the reciprocal of the coordinate distance and determine it as the reference weight of the predicted reference point corresponding to that coordinate distance. Optionally, the computer device can determine the coordinate distance between the predicted reference coordinates and the target coordinates by summing the coordinate differences between the predicted reference coordinates and the target coordinates in each coordinate dimension. In this case, the reference weight of the predicted reference point can be obtained from formula ①:
[0099]
[0100] As shown in formula ①, w iu The subscript 'iu' represents the reference weight between the u-th predicted reference point and the i-th point in the point cloud. For example, 'coor_2' represents the u-th predicted reference point of the i-th point in the point cloud. iu This is used to represent the coordinates of the u-th predicted reference point of the i-th point cloud point in the second coordinate dimension. The absolute value of the difference between the u-th predicted reference point's coordinates in the second coordinate dimension and the coordinates of the i-th point cloud point in the second coordinate dimension can be the coordinate difference between the u-th predicted reference point and the i-th point cloud point in the second coordinate dimension, i.e., |coor_2. i -coor_2 iu Similarly, we can obtain the coordinate differences between the i-th point cloud point and the u-th predicted reference point of the i-th point cloud point in each coordinate dimension. Here, i is a positive integer less than or equal to k. For example, assuming dig is 3, that is, the coordinate dimension has 3 bits, including the x, y, and z coordinate dimensions, then the reference weight of the predicted reference point can be seen in formula ②:
[0101]
[0102] Optionally, the computer device can obtain the dimensional weights corresponding to each of the *dig* coordinate dimensions. Based on these dimensional weights, the coordinate differences between the predicted reference coordinates and the target coordinates in each coordinate dimension are weighted and summed to obtain the coordinate distance between the predicted reference coordinates and the target coordinates. In this case, assuming *dig* is 3 (i.e., the coordinate dimensions are 3, including x, y, and z), the reference weights for this predicted reference point can be found in formula ③.
[0103]
[0104] As shown in formula ③, 'a' represents the dimension weight corresponding to the x-coordinate dimension, 'b' represents the coordinate dimension corresponding to the y-coordinate dimension, and 'c' represents the dimension weight corresponding to the z-coordinate dimension.
[0105] Optionally, the coordinate distance between the predicted reference point and the target point cloud is not limited to the calculation method described above. For example, taking three coordinate dimensions (x-coordinate dimension, y-coordinate dimension, and z-coordinate dimension) as an example, it can also be calculated using the formula. The coordinate distance between the i-th point cloud point and the u-th predicted reference point of the i-th point cloud point is obtained, and no restrictions are imposed here.
[0106] Furthermore, the reconstructed reference attribute values of the predicted reference points can be obtained. These reconstructed reference attribute values are then weighted with reference weights to obtain the predicted target attribute values for the target point cloud points. The method for obtaining these predicted target attribute values can be found in formula ④.
[0107]
[0108] As shown in formula ④, The reference attribute reconstruction value used to represent the u-th predicted reference point of the i-th point cloud point. iu The reference weight is used to represent the reference weight between the u-th predicted reference point and the i-th point cloud point, and num is used to represent the total number of predicted reference points for the i-th point cloud point.
[0109] The attribute prediction value of any one of the k point cloud points can be obtained using formulas ① to ④ above. Since the target point cloud point is any one of the k point cloud points, the target attribute prediction value of the target point cloud point can be obtained using formulas ① to ④ above.
[0110] Optionally, when obtaining the predicted target attribute value of the target point cloud by weighting the reconstructed reference attribute value and the reference weight, an optimization parameter can be used to optimize the reference weight to obtain an optimized weight. The reconstructed reference attribute value and the optimized weight are then weighted to obtain the predicted target attribute value of the target point cloud. This optimization parameter may include, but is not limited to, the attribute quantization step size, or the number of reference points with the largest coordinate distance from the target point cloud. For example, a computer device can determine the attribute quantization step size as the optimization parameter. Alternatively, the number of reference points with the largest coordinate distance from the target point cloud can be obtained from the predicted reference points and determined as the optimization parameter. Alternatively, the smaller number can be selected from the attribute quantization step size and the number of reference points obtained above as the optimization parameter; that is, when the attribute quantization step size is greater than the number of reference points, the number of reference points is determined as the optimization parameter; when the attribute quantization step size is less than the number of reference points, the attribute quantization step size is determined as the optimization parameter; when the two are equal, either the attribute quantization step size or the number of reference points is determined as the optimization parameter, etc.
[0111] Furthermore, the computer device can acquire the actual values of the target attributes of the target point cloud points, and obtain the target attribute residuals of the target point cloud points based on the difference between the actual values and the predicted values of the target attributes. The target attribute residuals are then quantized to obtain the target transformation coefficients of the target point cloud points. The quantization method is not limited here; for example, a Discrete Cosine Transform (DCT) can be performed on the target attribute residuals to obtain the target transformation coefficients of the target point cloud points, or a binary tree can be constructed to obtain the target transformation coefficients of the target point cloud points. These target transformation coefficients include a first transformation coefficient and a second transformation coefficient. Optionally, the computer device can also acquire the attribute residuals of the point cloud points included in the target point cloud group, and perform quantization to obtain the transformation coefficients of the point cloud points included in the target point cloud group, including the target transformation coefficients of the target point cloud points.
[0112] Furthermore, the computer equipment can encode point cloud points group by group. Specifically, the transform coefficients of the point cloud points included in the target point cloud group are obtained, and the transform coefficients of the point cloud points included in the target point cloud group are encoded to obtain the target bitstream corresponding to the target point cloud group. Alternatively, a group number limit threshold can be obtained, and based on the group number limit threshold, g point cloud groups containing the target point cloud group are obtained. The transform coefficients of the point cloud points included in the g point cloud groups to be encoded are obtained, and the transform coefficients of the point cloud points included in the g point cloud groups to be encoded are encoded to obtain the group bitstream corresponding to the g point cloud groups to be encoded; g is a positive integer, and g is less than or equal to the group number limit threshold. By limiting the number of point cloud groups that need to be encoded at one time, partial encoding results can be obtained without waiting for all point cloud points to be encoded, thereby reducing encoding failures caused by abnormal situations (such as abnormal interruptions) during the encoding process, improving the efficiency of obtaining encoding results, and thus improving encoding performance and encoding efficiency.
[0113] Optionally, when the number of bits to move in a group is a variable value, see [link to relevant documentation]. Figure 5 , Figure 5 This is an optional point cloud point grouping process provided in an embodiment of this application. For example... Figure 5 As shown, the point cloud point grouping process includes the following steps:
[0114] Step S501: Obtain k point cloud points and the coordinate codeword of each point cloud point.
[0115] In this embodiment of the application, the computer device can acquire k point cloud points and the coordinate codeword of each point cloud point. For example, the computer device can acquire the space filling curve codeword of the space filling curve and obtain the coordinate codewords corresponding to the k point cloud points from the space filling curve codeword.
[0116] Step S502: Obtain the number of bits shifted in the group.
[0117] In this embodiment of the application, the number of bits L that can be moved in a group can be obtained. In this embodiment, L is a variable value.
[0118] Step S503: Based on the number of shift bits in the group, shift the coordinate codeword of the i-th point cloud point to obtain the codeword sequence of the i-th point cloud point.
[0119] In this embodiment of the application, the computer device can move the coordinate codeword of the i-th point cloud point to obtain the codeword sequence of the i-th point cloud point. For example, assuming the coordinate codeword of the i-th point cloud point is "0010101110", and the number of bits for group movement is 3, then moving the coordinate codeword of the i-th point cloud point can obtain the codeword sequence of the i-th point cloud point as "0010101".
[0120] Step S504: Is the i-th codeword sequence the same as the (i-1)-th codeword sequence?
[0121] In this embodiment of the application, the computer device can detect whether the i-th codeword sequence is the same as the (i-1)-th codeword sequence, wherein when i is 1, the codeword sequence of the (i-1)-th point cloud point is defaulted to empty or a special identifier. If the codeword sequence of the i-th point cloud point is the same as the codeword sequence of the (i-1)-th point cloud point, then step S505 is executed; if the codeword sequence of the i-th point cloud point is different from the codeword sequence of the (i-1)-th point cloud point, then step S508 is executed.
[0122] Step S505: Add the i-th point cloud point to the initial point cloud group containing the (i-1)-th point cloud point.
[0123] In this embodiment, if the codeword sequence of the i-th point cloud point is the same as the codeword sequence of the (i-1)-th point cloud point, it means that the i-th point cloud point can be grouped with the (i-1)-th point cloud point into the same point cloud group, and the i-th point cloud point can be added to the initial point cloud group containing the (i-1)-th point cloud point. Specifically, if the (i-1)-th point cloud point does not exist in an initial point cloud group, an initial point cloud group can be created based on the i-th point cloud point and the (i-1)-th point cloud point; if the (i-1)-th point cloud point exists in an initial point cloud group, the i-th point cloud point is added to the initial point cloud group containing the (i-1)-th point cloud point. For example, if i is 4, and the codeword sequence of the 4th point cloud point is the same as the codeword sequence of the 3rd point cloud point, then the 4th point cloud point is added to the initial point cloud group containing the 3rd point cloud point. If the third point cloud point does not exist in an initial point cloud group, an initial point cloud group can be created based on the third point cloud point and the fourth point cloud point; if the third point cloud point exists in an initial point cloud group, the fourth point cloud point can be added to the initial point cloud group containing the third point cloud point.
[0124] Step S506, i == k? .
[0125] In this embodiment of the application, it is detected whether i is k, that is, whether the k point cloud points have been grouped. If i is k, then step S513 is executed; if i is not k, then step S507 is executed.
[0126] Step S507, i++.
[0127] In this embodiment of the application, the value of i is incremented by one, which means processing the next point cloud point.
[0128] Step S508: Generate the current point cloud group, i++.
[0129] In this embodiment, the initial point cloud group containing the (i-1)th point can be obtained, and this initial point cloud group containing the (i-1)th point can be determined as a point cloud group. Optionally, if the (i-1)th point does not have an initial point cloud group, then the (i-1)th point can be grouped into a point cloud group. Further, it can be detected whether i is k. If i is k, then step S513 is executed; if i is not k, then i is updated, i.e., i++, and step S509 is executed.
[0130] Step S509: Is the group statistic e a group unit threshold?
[0131] In this embodiment of the application, the detection group statistical value e is checked to see if it is a grouping unit threshold. If e is a grouping unit threshold, step S511 is executed; if e is not a grouping unit threshold, step S510 is executed. The initial value of e is 0.
[0132] Step S510, e++.
[0133] In this embodiment of the application, the value of e is incremented by one, and the process returns to step S503.
[0134] Step S511: Reset group statistics value e.
[0135] In this embodiment of the application, the group statistics value e is reset, that is, the group statistics value e is reset to the initial value, and step S512 is executed.
[0136] Step S512: When the average number of point cloud points in the M1 neighboring point cloud groups of the current point cloud group is greater than the first point count threshold, decrease the number of shift bits in the group; when the average number of point cloud points in the M1 neighboring point cloud groups of the current point cloud group is less than the second point count threshold, increase the number of shift bits in the group.
[0137] In this embodiment of the application, the number of bits shifted by the group is updated, that is, the value of L is updated, and the process returns to step S503.
[0138] Step S513: Generate the current point cloud group and end the grouping process.
[0139] In this embodiment, the current point cloud group is generated based on the initial point cloud group to which the i-th point cloud point belongs; optionally, if the i-th point cloud point does not exist in an initial point cloud group, the current point cloud group is generated based on the i-th point cloud point. At this point, M point cloud groups consisting of k point cloud points are obtained, and the grouping process ends.
[0140] Further, please see Figure 6 , Figure 6 This is a flowchart illustrating a point cloud prediction processing method during the decoding process provided in an embodiment of this application. Figure 6 As shown, the point cloud prediction process includes the following steps:
[0141] Step S601: Obtain the set of candidate points for the target point cloud group where the target point cloud point is located.
[0142] In this embodiment, the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping shift number of the point cloud group; M is a positive integer. For a detailed implementation process, please refer to [link to implementation details]. Figure 3 The specific description of step S301 in the above steps will not be repeated here.
[0143] Step S602: Obtain the prediction reference point associated with the target point cloud from the candidate point set.
[0144] For a detailed implementation process described in this application embodiment, please refer to [link / reference]. Figure 3 The specific description of step S302 in the above steps will not be repeated here.
[0145] Step S603: Based on the prediction reference point, perform prediction processing on the target point cloud points to obtain the target attribute prediction value of the target point cloud points.
[0146] For a detailed implementation process described in this application embodiment, please refer to [link / reference]. Figure 3 The specific description of step S303 in the above steps will not be repeated here.
[0147] Based on the above process, the attribute prediction value of any one of the k point cloud points can be obtained. k is a positive integer, and the target point cloud point refers to any one of the k point cloud points.
[0148] Step S604: Obtain the bitstream corresponding to the target point cloud point, decode the bitstream corresponding to the target point cloud point, and obtain the target attribute residual of the target point cloud point.
[0149] In this embodiment, the bitstream corresponding to the target point cloud points is decoded to obtain the target transformation coefficients of the target point cloud points. The target transformation coefficients are then subjected to inverse transformation to obtain the target attribute residuals of the target point cloud points.
[0150] Optionally, when encoding is performed based on a group number limit threshold, the bitstream corresponding to the target point cloud point refers to the bitstream of multiple point cloud groups, including the target point cloud group containing the target point cloud point; or, when the bitstream is encoded group by group, the bitstream corresponding to the target point cloud point refers to the bitstream of the target point cloud group, etc. Specifically, the computer device can decode the bitstream corresponding to the target point cloud point to obtain the transform coefficient sequence corresponding to the bitstream, and reverse-sort the transform coefficient sequence corresponding to the bitstream to obtain the transform coefficients of each point cloud point in the point cloud group corresponding to the bitstream, including the target transform coefficient of the target point cloud point. This reverse sorting is a sorting method based on restoring the sorting method of the transform coefficients during the encoding process.
[0151] Step S605: Based on the predicted value of the target attribute and the residual of the target attribute, determine the reconstructed value of the target attribute of the target point cloud.
[0152] In this embodiment, the predicted value of the target attribute and the residual of the target attribute can be fused to obtain the reconstructed value of the target attribute of the target point cloud. This attribute fusion can be attribute addition, etc.
[0153] The execution order of steps S601 to S603 and step S604 is not restricted. That is, step S604 can be executed first, followed by steps S601 to S603, etc.
[0154] In this embodiment, a set of candidate points for the target point cloud group is obtained. The candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group. The coordinate codewords of the point cloud points included in each point cloud group are the same after being shifted by the corresponding grouping shift number of the point cloud group. M is a positive integer. Predictive reference points associated with the target point cloud points are obtained from the candidate point set. Based on the predictive reference points, the target point cloud points are predicted to obtain the target attribute prediction value of the target point cloud points. On this basis, encoding or decoding can be performed based on the target attribute prediction value, that is, the encoding and decoding processing of the point cloud is realized. The candidate point set is obtained from the point cloud group, which is obtained by grouping the point cloud points based on the coordinate codewords of the point cloud points. Obtaining the predictive reference points associated with the target point cloud points from the obtained candidate point set can take into account the spatial correlation between the point cloud groups. Therefore, corresponding attribute prediction can be performed based on the spatial correlation between the point cloud groups, thereby improving the accuracy of point cloud prediction. Furthermore, encoding and decoding on this basis can improve the performance and efficiency of encoding and decoding.
[0155] The encoding and decoding processes described above can be implemented on the same computer device or on different computer devices. For example, when implementing them on different computer devices, please refer to... Figure 7 , Figure 7 This is a data interaction architecture diagram provided in an embodiment of this application. For example... Figure 7 As shown, computer device 701 can encode k point cloud points to obtain an encoded bitstream. The number of bitstreams corresponding to the k point cloud points can be one or at least two. Computer device 701 can send the encoded bitstream to computer device 702, which can decode the acquired bitstream to obtain the k point cloud points, specifically the attribute reconstruction values corresponding to each of the k point cloud points. Optionally, computer device 701 can obtain the k point cloud points from computer device 701, computer device 702, or other associated devices; no limitation is imposed here.
[0156] Further, please see Figure 8 , Figure 8 This is a schematic diagram of a point cloud prediction processing device provided in an embodiment of this application. The point cloud prediction processing device can be a computer program (including program code, etc.) running on a computer device; for example, the point cloud prediction processing device can be an application software. This device can be used to execute the corresponding steps in the method provided in the embodiments of this application. Figure 8 As shown, the point cloud prediction processing device 800 can be used for Figure 3 Specifically, the computer device in the corresponding embodiment may include: a candidate set acquisition module 11, a reference point acquisition module 12, and an attribute prediction module 13.
[0157] The candidate set acquisition module 11 is used to acquire the candidate point set of the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0158] Reference point acquisition module 12 is used to acquire the predicted reference points associated with the target point cloud points from the candidate point set;
[0159] The attribute prediction module 13 is used to perform prediction processing on the target point cloud points based on the prediction reference point to obtain the target attribute prediction value of the target point cloud points.
[0160] Wherein, the group shift bits corresponding to each of the M point cloud groups are all the default group shift bits; or,
[0161] When the average number of point cloud points contained in each of the M1 adjacent point cloud groups is greater than the first point count threshold, the number of group movement steps corresponding to the target point cloud group is less than the number of group movement steps corresponding to each of the M1 adjacent point cloud groups; when the average number of point cloud points contained in each of the M1 adjacent point cloud groups is less than the second point count threshold, the number of group movement steps corresponding to the target point cloud group is greater than the number of group movement steps corresponding to each of the M1 adjacent point cloud groups; M1 is a positive integer less than M.
[0162] The candidate point set consists of point cloud groups that are located before and adjacent to the target point cloud group among the M point cloud groups; the total number of point cloud points included in the candidate point set is less than or equal to the third point count threshold.
[0163] The candidate point set is the point cloud group that precedes the target point cloud group among the M point cloud groups; the number of point cloud points included in each candidate point set is greater than or equal to the number of points in the group threshold.
[0164] The candidate point set consists of N point cloud groups that are located before the target point cloud group among M point cloud groups; N is a positive integer and N is the default adjacency group threshold.
[0165] Among them, a point cloud group corresponds to a point cloud group sequence. The point cloud group sequence refers to the coordinate codeword of the point cloud points included in the corresponding point cloud group, which is obtained after shifting the corresponding point cloud group by the number of group shifts.
[0166] When the number of bits moved by the target group corresponding to the target point cloud group is a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after the candidate point cloud group sequence corresponding to the candidate point set is moved by the first multiple of the number of bits in the coordinate dimension is the same as the target movement sequence obtained after the target point cloud group sequence corresponding to the target point cloud group is moved by the first multiple of the number of bits in the coordinate dimension; the number of bits in the coordinate dimension refers to the number of dimensions corresponding to the coordinate codewords of the point cloud points included in each point cloud group;
[0167] When the number of bits moved by the target group corresponding to the target point cloud group is not a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after moving the candidate point cloud group sequence corresponding to the candidate point set by the supplementary dimension bits is the same as the target movement sequence obtained after moving the target point cloud group sequence corresponding to the target point cloud group by the supplementary dimension bits. The supplementary dimension bits refer to the remainder between the number of bits moved by the target group and the coordinate dimension, and the difference in the number of bits between them; or, the supplementary dimension bits refer to the sum of the difference in the number of bits and the second multiple of the number of bits in the coordinate dimension.
[0168] The set of candidate points has at least two components; the reference point acquisition module 12 includes:
[0169] The alternative acquisition unit 121 is used to select d point cloud points from at least two alternative point sets respectively, and determine the d point cloud points corresponding to the at least two alternative point sets as prediction reference points associated with the target point cloud points; d is a positive integer.
[0170] The set of candidate points has at least two components; the reference point acquisition module 12 includes:
[0171] The candidate acquisition unit 122 is used to select d point cloud points from at least two candidate point sets as candidate point cloud points;
[0172] The distance selection unit 123 is used to obtain the first inter-point distance between the candidate point cloud points and the target point cloud points, sort the candidate point cloud points based on the first inter-point distance, and obtain the prediction reference point associated with the target point cloud points from the sorted candidate point cloud points.
[0173] The set of candidate points has at least two components; the reference point acquisition module 12 includes:
[0174] The candidate sorting unit 124 is used to obtain the second inter-point distance between the point cloud points included in at least two candidate point sets and the target point cloud point, sort the point cloud points included in at least two candidate point sets based on the second inter-point distance, and obtain the prediction reference point associated with the target point cloud point from the point cloud points included in the sorted at least two candidate point sets.
[0175] The set of candidate points has at least two components; the reference point acquisition module 12 includes:
[0176] Priority acquisition unit 125 is used to acquire the set priorities corresponding to at least two candidate point sets respectively, sort the at least two candidate sets based on the set priorities, and acquire P prediction reference points associated with the target point cloud points from the sorted at least two candidate sets; P is a positive integer.
[0177] The attribute prediction module 13 includes:
[0178] The coordinate acquisition unit 131 is used to acquire the predicted reference coordinates of the prediction reference point and the target coordinates of the target point cloud point.
[0179] The weight acquisition unit 132 is used to determine the reference weight of the prediction reference point based on the coordinate distance between the prediction reference coordinates and the target coordinates;
[0180] The attribute prediction unit 133 is used to obtain the reference attribute reconstruction value of the prediction reference point, and perform weighted processing based on the reference attribute reconstruction value and the reference weight to obtain the target attribute prediction value of the target point cloud point.
[0181] The device 800 also includes:
[0182] The residual acquisition module 14 is used to acquire the actual value of the target attribute of the target point cloud point, and obtain the target attribute residual of the target point cloud point based on the difference between the actual value of the target attribute and the predicted value of the target attribute of the target point cloud point.
[0183] The quantization processing module 15 is used to quantize and transform the target attribute residuals to obtain the target transformation coefficients of the target point cloud points.
[0184] The device 800 also includes:
[0185] The first encoding module 16 is used to obtain the transform coefficients of the point cloud points included in the target point cloud group, encode the transform coefficients of the point cloud points included in the target point cloud group, and obtain the target bitstream corresponding to the target point cloud group; or,
[0186] The second encoding module 17 is used to obtain the group number limit threshold, obtain g point cloud groups to be encoded that contain the target point cloud group based on the group number limit threshold, obtain the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded, encode the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded, and obtain the group bitstream corresponding to the g point cloud groups to be encoded; g is a positive integer, and g is less than or equal to the group number limit threshold.
[0187] Further, please see Figure 9 , Figure 9 This is a schematic diagram of a point cloud prediction processing device provided in an embodiment of this application. The point cloud prediction processing device can be a computer program (including program code, etc.) running on a computer device; for example, the point cloud prediction processing device can be an application software. This device can be used to execute the corresponding steps in the method provided in the embodiments of this application. Figure 9 As shown, the point cloud prediction processing device 900 can be used for Figure 6 Specifically, the computer device in the corresponding embodiment may include: a candidate set acquisition module 21, a reference point acquisition module 22, an attribute prediction module 23, a bitstream acquisition module 24, a bitstream decoding module 25, and an attribute reconstruction module 26.
[0188] The candidate set acquisition module 21 is used to acquire the candidate point set of the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping shift number of the point cloud group; M is a positive integer;
[0189] Reference point acquisition module 22 is used to acquire the predicted reference points associated with the target point cloud points from the candidate point set;
[0190] The attribute prediction module 23 is used to perform prediction processing on the target point cloud points based on the prediction reference points to obtain the target attribute prediction values of the target point cloud points.
[0191] The bitstream acquisition module 24 is used to acquire the bitstream corresponding to the target point cloud points;
[0192] The bitstream decoding module 25 is used to decode the bitstream corresponding to the target point cloud points to obtain the target attribute residual of the target point cloud points;
[0193] The attribute reconstruction module 26 is used to determine the target attribute reconstruction value of the target point cloud points based on the target attribute prediction value and the target attribute residual.
[0194] The stream decoding module 25 includes:
[0195] The initial decoding unit 251 is used to decode the bitstream corresponding to the target point cloud points to obtain the target transformation coefficients of the target point cloud points;
[0196] The coefficient transformation unit 252 is used to perform inverse transformation processing on the target transformation coefficients to obtain the target attribute residuals of the target point cloud points.
[0197] This application provides a point cloud prediction processing apparatus. The apparatus can acquire a set of candidate points for a target point cloud group containing a target point cloud point. The candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group. The coordinate codewords of the point cloud points included in each point cloud group are identical after being shifted by the corresponding grouping shift number of the point cloud group. M is a positive integer. Prediction reference points associated with the target point cloud point are acquired from the candidate point set. Based on the prediction reference points, prediction processing is performed on the target point cloud point to obtain the target attribute prediction value of the target point cloud point. On this basis, encoding or decoding can be performed based on the target attribute prediction value, i.e., encoding and decoding processing of the point cloud is achieved. The candidate point set is acquired from the point cloud group, which is obtained by grouping point cloud points based on their coordinate codewords. Acquiring the prediction reference points associated with the target point cloud point from the acquired candidate point set takes into account the spatial correlation between the various point cloud groups. Therefore, corresponding attribute prediction can be performed based on the spatial correlation between the various point cloud groups, thereby improving the accuracy of point cloud prediction. Furthermore, encoding and decoding on this basis can improve the performance and efficiency of encoding and decoding.
[0198] See Figure 10 , Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 10As shown, the computer device in this embodiment may include one or more processors 1001, a memory 1002, and an input / output interface 1003. The processor 1001, memory 1002, and input / output interface 1003 are connected via a bus 1004. The memory 1002 stores a computer program, which includes program instructions. The input / output interface 1003 receives and outputs data, such as for data interaction. The processor 1001 executes the program instructions stored in the memory 1002.
[0199] When encoding, the processor 1001 can perform the following operations:
[0200] Obtain the set of candidate points for the target point cloud group to which the target point belongs; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0201] Obtain the prediction reference points associated with the target point cloud points from the candidate point set, perform prediction processing on the target point cloud points based on the prediction reference points, and obtain the target attribute prediction values of the target point cloud points.
[0202] When performing decoding, the processor 1001 can perform the following operations:
[0203] Obtain the set of candidate points for the target point cloud group to which the target point belongs; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point points included in each point cloud group are the same after being moved by the corresponding group movement number of the point cloud group; M is a positive integer;
[0204] Obtain the prediction reference points associated with the target point cloud points from the candidate point set, perform prediction processing on the target point cloud points based on the prediction reference points, and obtain the target attribute prediction values of the target point cloud points.
[0205] Obtain the bitstream corresponding to the target point cloud point, decode the bitstream corresponding to the target point cloud point to obtain the target attribute residual of the target point cloud point, and determine the target attribute reconstruction value of the target point cloud point based on the target attribute prediction value and the target attribute residual.
[0206] In some feasible implementations, the processor 1001 may be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0207] The memory 1002 may include read-only memory and random access memory, and provides instructions and data to the processor 1001 and the input / output interface 1003. A portion of the memory 1002 may also include non-volatile random access memory. For example, the memory 1002 may also store device type information.
[0208] In practice, the computer device can perform actions such as these through its built-in functional modules. Figure 3 or Figure 6 For details on the implementation methods provided for each step, please refer to [the relevant documentation / document / etc.]. Figure 3 or Figure 6 The implementation methods provided for each step are not elaborated here.
[0209] This application provides a computer device including a processor, an input / output interface, and a memory. The processor retrieves a computer program from the memory and executes it. Figure 3Each step of the method shown involves point cloud prediction processing. This embodiment of the application obtains a set of candidate points for the target point cloud group containing the target point cloud point. The candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group. The coordinate codewords of the point cloud points included in each point cloud group are identical after being shifted by the corresponding grouping shift number of the point cloud group. M is a positive integer. Prediction reference points associated with the target point cloud point are obtained from the candidate point set. Based on the prediction reference points, prediction processing is performed on the target point cloud point to obtain the target attribute prediction value of the target point cloud point. Based on this, encoding or decoding can be performed based on the target attribute prediction value, i.e., point cloud encoding and decoding processing is implemented. The candidate point set is obtained from the point cloud group, which is obtained by grouping point cloud points based on their coordinate codewords. Obtaining the prediction reference points associated with the target point cloud point from the obtained candidate point set takes into account the spatial correlation between the various point cloud groups. Therefore, corresponding attribute predictions can be performed based on the spatial correlation between the various point cloud groups, thereby improving the accuracy of point cloud prediction. Furthermore, encoding and decoding on this basis can improve the performance and efficiency of encoding and decoding.
[0210] This application also provides a computer-readable storage medium storing a computer program adapted to be loaded and executed by a processor. Figure 3 or Figure 6 For details on the point cloud prediction processing methods provided in each step, please refer to the [link / document / reference]. Figure 3 or Figure 6 The implementation methods provided for each step are not repeated here. Furthermore, the beneficial effects of using the same method are also not repeated. For technical details not disclosed in the computer-readable storage medium embodiments involved in this application, please refer to the description of the method embodiments of this application. As an example, a computer program may be deployed to execute on a single computer device, or on multiple computer devices located in one location, or on multiple computer devices distributed across multiple locations and interconnected via a communication network.
[0211] The computer-readable storage medium can be the point cloud prediction processing apparatus provided in any of the foregoing embodiments or the internal storage unit of the computer device, such as the hard disk or memory of the computer device. The computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0212] This application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform... Figure 3 or Figure 6 The methods provided in the various optional approaches can encode or decode based on the predicted values of the target attributes, that is, to perform encoding and decoding processing on the point cloud. The candidate point set is obtained from a point cloud group, which is obtained by grouping point cloud points based on their coordinate codewords. Predictive reference points associated with the target point cloud points are obtained from the acquired candidate point set. This takes into account the spatial correlation between different point cloud groups, and thus, corresponding attribute predictions can be performed based on the spatial correlation between different point cloud groups, thereby improving the accuracy of point cloud prediction. Furthermore, encoding and decoding on this basis can improve the performance and efficiency of encoding and decoding.
[0213] The terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.
[0214] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described in terms of functionality. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0215] The methods and related apparatus provided in this application are described with reference to the method flowcharts and / or structural diagrams provided in this application. Specifically, each block of the method flowchart and / or structural diagram, as well as combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable point cloud prediction processing device to create a machine, such that the instructions executable by the processor of the computer or other programmable point cloud prediction processing device generate instructions for implementing the process... Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable point cloud prediction processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable point cloud prediction processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 A process or multiple processes and / or structures illustrate the steps of the functions specified in one or more boxes.
[0216] The steps in the method of this application embodiment can be adjusted, combined, or deleted according to actual needs.
[0217] The modules in the device of this application embodiment can be merged, divided, and deleted according to actual needs.
[0218] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A point cloud prediction processing method, characterized in that, The method includes: Obtain a set of candidate points for the target point cloud group containing the target point cloud point; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping movement number of the point cloud group; M is a positive integer; the set of candidate points is the point cloud group located before the target point cloud group in the M point cloud groups; the total number of point cloud points included in the set of candidate points is less than or equal to a third point count threshold; Obtain the prediction reference point associated with the target point cloud from the set of candidate points, and perform prediction processing on the target point cloud based on the prediction reference point to obtain the target attribute prediction value of the target point cloud.
2. The method as described in claim 1, characterized in that, The group shift bits corresponding to the M point cloud groups are all the default group shift bits; or... When the average number of point cloud points contained in each of the M1 adjacent point cloud groups adjacent to the target point cloud group is greater than the first point count threshold, the number of group movement bits corresponding to the target point cloud group is less than the number of group movement bits corresponding to each of the M1 adjacent point cloud groups; when the average number of point cloud points contained in each of the M1 adjacent point cloud groups adjacent to the target point cloud group is less than the second point count threshold, the number of group movement bits corresponding to the target point cloud group is greater than the number of group movement bits corresponding to each of the M1 adjacent point cloud groups; M1 is a positive integer less than M.
3. The method as described in claim 1, characterized in that, The set of candidate points is a point cloud group that is adjacent to the target point cloud group.
4. The method as described in claim 1, characterized in that, The number of point cloud points included in each candidate point set is greater than or equal to the threshold number of points in the group.
5. The method as described in claim 1, characterized in that, The candidate point set consists of N point cloud groups that are located before the target point cloud group in the M point cloud groups; N is a positive integer and N is the default adjacency group threshold.
6. The method as described in claim 1, characterized in that, A point cloud group corresponds to a point cloud group sequence, which refers to the coordinate codeword of the point cloud points included in the corresponding point cloud group, obtained after shifting the corresponding point cloud group by a number of group shifts. When the number of bits moved by the target group corresponding to the target point cloud group is a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained by moving the candidate point cloud group sequence corresponding to the candidate point set after moving by a first multiple of the number of bits in the coordinate dimension is the same as the target movement sequence obtained by moving the target point cloud group sequence corresponding to the target point cloud group after moving by a first multiple of the number of bits in the coordinate dimension; the number of bits in the coordinate dimension refers to the number of dimensions corresponding to the coordinate codewords of the point cloud points included in each point cloud group. When the number of moves corresponding to the target point cloud group is not a multiple of the number of bits in the coordinate dimension, the candidate movement sequence obtained after moving the candidate point cloud group sequence corresponding to the candidate point set by the supplementary dimension number of bits is the same as the target movement sequence obtained after moving the target point cloud group sequence corresponding to the target point cloud group by the supplementary dimension number of bits; the supplementary dimension number of bits refers to the difference in number of bits between the remainder of the number of moves corresponding to the target group and the number of bits in the coordinate dimension; or, the supplementary dimension number of bits refers to the sum of the difference in number of bits and the second multiple of the number of bits in the coordinate dimension.
7. The method as described in claim 1, characterized in that, The number of candidate points in the set is at least two; obtaining the prediction reference points associated with the target point cloud points from the candidate point set includes: In at least two candidate point sets, d point cloud points are selected respectively, and the d point cloud points corresponding to the at least two candidate point sets are determined as prediction reference points associated with the target point cloud point; d is a positive integer.
8. The method as described in claim 1, characterized in that, The number of candidate points in the set is at least two; obtaining the prediction reference points associated with the target point cloud points from the candidate point set includes: In the at least two candidate point sets, d point cloud points are selected as candidate point cloud points. The first inter-point distance between the candidate point cloud points and the target point cloud point is obtained. The candidate point cloud points are sorted based on the first inter-point distance. The prediction reference point associated with the target point cloud point is obtained from the sorted candidate point cloud points.
9. The method as described in claim 1, characterized in that, The number of candidate points in the set is at least two; obtaining the prediction reference points associated with the target point cloud points from the candidate point set includes: Obtain the second inter-point distance between the point cloud points included in the at least two candidate point sets and the target point cloud point; sort the point cloud points included in the at least two candidate point sets based on the second inter-point distance; and obtain the prediction reference point associated with the target point cloud point from the sorted point cloud points included in the at least two candidate point sets.
10. The method as described in claim 1, characterized in that, The number of candidate points in the set is at least two; obtaining the prediction reference points associated with the target point cloud points from the candidate point set includes: Obtain the set priority corresponding to the at least two candidate point sets respectively, sort the at least two candidate sets based on the set priority, and obtain P prediction reference points associated with the target point cloud points from the sorted at least two candidate sets; P is a positive integer.
11. The method as described in claim 1, characterized in that, The step of predicting the target point cloud points based on the prediction reference points to obtain the target attribute prediction values of the target point cloud points includes: Obtain the predicted reference coordinates of the predicted reference point, and obtain the target coordinates of the target point cloud point; The reference weight of the prediction reference point is determined based on the coordinate distance between the predicted reference coordinates and the target coordinates; Obtain the reference attribute reconstruction value of the predicted reference point, and perform weighted processing based on the reference attribute reconstruction value and the reference weight to obtain the target attribute prediction value of the target point cloud point.
12. The method as described in claim 1, characterized in that, The method further includes: Obtain the actual value of the target attribute of the target point cloud point, and obtain the target attribute residual of the target point cloud point based on the difference between the actual value of the target attribute and the predicted value of the target attribute of the target point cloud point. The target attribute residuals are quantized and transformed to obtain the target transformation coefficients of the target point cloud points.
13. The method as described in claim 12, characterized in that, The method further includes: Obtain the transform coefficients of the point cloud points included in the target point cloud group, encode the transform coefficients of the point cloud points included in the target point cloud group, and obtain the target bitstream corresponding to the target point cloud group; or, Obtain a group number limit threshold, and based on the group number limit threshold, obtain g point cloud groups to be encoded that contain the target point cloud group. Obtain the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded, and encode the transformation coefficients of the point cloud points included in the g point cloud groups to be encoded to obtain the group bitstream corresponding to the g point cloud groups to be encoded; g is a positive integer, and g is less than or equal to the group number limit threshold.
14. A point cloud prediction processing method, characterized in that, The method includes: Obtain a set of candidate points for the target point cloud group containing the target point cloud point; the set of candidate points belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping movement number of the point cloud group; M is a positive integer; the set of candidate points is the point cloud group located before the target point cloud group in the M point cloud groups; the total number of point cloud points included in the set of candidate points is less than or equal to a third point count threshold; Obtain the prediction reference point associated with the target point cloud from the set of candidate points, and perform prediction processing on the target point cloud based on the prediction reference point to obtain the target attribute prediction value of the target point cloud. Obtain the bitstream corresponding to the target point cloud point, decode the bitstream corresponding to the target point cloud point to obtain the target attribute residual of the target point cloud point, and determine the target attribute reconstruction value of the target point cloud point based on the target attribute prediction value and the target attribute residual.
15. The method as described in claim 14, characterized in that, The step of decoding the bitstream corresponding to the target point cloud points to obtain the target attribute residuals of the target point cloud points includes: The target point cloud points are decoded to obtain the target transformation coefficients of the target point cloud points; The target transformation coefficients are inversely transformed to obtain the target attribute residuals of the target point cloud.
16. A point cloud prediction processing device, characterized in that, The device includes: The candidate point set acquisition module is used to acquire a candidate point set for the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping movement number of the point cloud group; M is a positive integer; the candidate point set is the point cloud group located before the target point cloud group in the M point cloud groups; the total number of point cloud points included in the candidate point set is less than or equal to a third point count threshold; The reference point acquisition module is used to acquire the predicted reference points associated with the target point cloud points from the candidate point set; The attribute prediction module is used to perform prediction processing on the target point cloud points based on the prediction reference points to obtain the target attribute prediction values of the target point cloud points.
17. A point cloud prediction processing device, characterized in that, The device includes: The candidate point set acquisition module is used to acquire a candidate point set for the target point cloud group to which the target point cloud point belongs; the candidate point set belongs to M point cloud groups, and the M point cloud groups include the target point cloud group; the coordinate codewords of the point cloud points included in each point cloud group are the same after being moved by the corresponding grouping movement number of the point cloud group; M is a positive integer; the candidate point set is the point cloud group located before the target point cloud group in the M point cloud groups; the total number of point cloud points included in the candidate point set is less than or equal to a third point count threshold; The reference point acquisition module is used to acquire the predicted reference points associated with the target point cloud points from the candidate point set; The attribute prediction module is used to perform prediction processing on the target point cloud points based on the prediction reference points to obtain the target attribute prediction values of the target point cloud points. The bitstream acquisition module is used to acquire the bitstream corresponding to the target point cloud points; The bitstream decoding module is used to decode the bitstream corresponding to the target point cloud points to obtain the target attribute residuals of the target point cloud points; The attribute reconstruction module is used to determine the target attribute reconstruction value of the target point cloud point based on the target attribute prediction value and the target attribute residual.
18. A computer device, characterized in that, Includes processor, memory, and input / output interfaces; The processor is connected to the memory and the input / output interface respectively, wherein the input / output interface is used to receive data and output data, the memory is used to store computer programs, and the processor is used to call the computer programs so that the computer device executes the method according to any one of claims 1-13, or executes the method according to any one of claims 14-15.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1-13, or the method of any one of claims 14-15.
20. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the method of any one of claims 1-13, or perform the method of any one of claims 14-15.
Citation Information
Patent Citations
Point cloud layering method based on space sequence, point cloud prediction method and equipment
CN112218079A