Point cloud attribute encoding method, point cloud attribute decoding method and terminal

By determining the prediction points in point cloud attribute encoding and calculating the predicted attribute value, the efficiency reduction caused by reordering in point cloud attribute prediction encoding is solved, and a more efficient encoding and decoding process is achieved.

CN116233386BActive Publication Date: 2025-02-14VIVO MOBILE COMM CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111465642.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-03
Publication Date
2025-02-14
Estimated Expiration
2041-12-03

AI Technical Summary

Technical Problem

During the point cloud attribute prediction encoding process, the geometric information of the point cloud needs to be reordered, resulting in a reduced encoding efficiency.

Method used

By obtaining the point cloud to be encoded, determining its prediction point based on the position of the point to be encoded, calculating the predicted attribute value and weight value of the predicted point, and quantizing and entropy encoding the attribute prediction residuals to obtain the target code stream. This method does not involve reordering the point clouds, maintaining the geometric coding order.

Benefits of technology

It improves the efficiency of point cloud attribute encoding and decoding, reduces the complexity and computing cost in the encoding process, and achieves more efficient point cloud data compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116233386B_ABST
    Figure CN116233386B_ABST
Patent Text Reader

Abstract

The present application discloses a point cloud attribute encoding method, a point cloud attribute decoding method and a terminal, and belongs to the field of point cloud processing technology. The point cloud attribute encoding method of the embodiment of the present application includes: obtaining a point cloud to be encoded; determining at least one prediction point corresponding to the point to be encoded based on the position of the point to be encoded in the point cloud to be encoded; determining the predicted attribute value of the point to be encoded based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point; quantizing and entropy encoding the first attribute prediction residual to obtain a target code stream, wherein the first attribute prediction residual is determined based on the real attribute value and the predicted attribute value of the point to be encoded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of point cloud processing technology, and specifically relates to a point cloud attribute encoding method, a point cloud attribute decoding method and a terminal. Background Art

[0002] A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.

[0003] After geometric encoding of the point cloud, attribute encoding is performed on the point cloud, wherein the attribute encoding of the point cloud includes attribute prediction encoding. During the attribute prediction encoding process, the geometric information of the point cloud needs to be reordered, which disrupts the geometric encoding order after the point cloud is geometrically encoded. It is necessary to determine the nearest neighbor points corresponding to the points to be encoded in a more complex way for attribute prediction encoding, which reduces the encoding efficiency. In addition, the attribute decoding process of the point cloud corresponds to the attribute encoding process of the point cloud, and the reordering of the point cloud during the attribute decoding process also reduces the attribute decoding efficiency of the point cloud. Summary of the invention

[0004] The embodiments of the present application provide a point cloud attribute encoding method, a point cloud attribute decoding method and a terminal, which can solve the technical problem that the operation of reordering the geometric information of the point cloud during the attribute prediction encoding process reduces the attribute encoding and decoding efficiency of the point cloud.

[0005] In a first aspect, a point cloud attribute encoding method is provided, the method comprising:

[0006] The encoding end obtains the point cloud to be encoded;

[0007] The encoder determines, based on the position of the to-be-encoded point in the to-be-encoded point cloud, at least one prediction point corresponding to the to-be-encoded point;

[0008] The encoding end determines the predicted attribute value of the to-be-encoded point cloud based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0009] The encoding end quantizes and entropy encodes a first attribute prediction residual to obtain a target bitstream, where the first attribute prediction residual is determined based on a real attribute value of the point to be encoded and the predicted attribute value.

[0010] In a second aspect, a point cloud attribute encoding device is provided, comprising:

[0011] The first acquisition module is used to acquire the point cloud to be encoded;

[0012] A first determination module, configured to determine at least one prediction point corresponding to each to-be-encoded point based on the position of the to-be-encoded point in the to-be-encoded point cloud;

[0013] A second determination module, configured to determine the predicted attribute value of the to-be-encoded point cloud based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0014] The encoding module is used to quantize and entropy encode the first attribute prediction residual to obtain a target bit stream, wherein the first attribute prediction residual is determined based on the real attribute value of the point to be encoded and the predicted attribute value.

[0015] In a third aspect, a point cloud attribute decoding method is provided, the method comprising:

[0016] The decoding end obtains a target code stream, wherein the target code stream includes a point cloud to be decoded;

[0017] The decoding end determines at least one prediction point corresponding to the point to be decoded based on the position of the point to be decoded in the point cloud to be decoded;

[0018] The decoding end obtains the reconstructed attribute value of the point to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0019] In a fourth aspect, a point cloud attribute decoding device is provided, comprising:

[0020] A second acquisition module is used to acquire a target code stream, wherein the target code stream includes a point cloud to be decoded;

[0021] A third determination module, configured to determine at least one prediction point corresponding to the point to be decoded based on the position of the point to be decoded in the point cloud to be decoded;

[0022] The decoding module is used to obtain the reconstructed attribute value of the point to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0023] In a fifth aspect, a communication device is provided, which includes a processor and a memory, wherein the memory stores a program or instruction that can be executed on the processor, and when the program or instruction is executed by the processor, the steps of the point cloud attribute encoding method as described in the first aspect are implemented, or the steps of the point cloud attribute decoding method as described in the third aspect are implemented.

[0024] In a sixth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the point cloud attribute encoding method as described in the first aspect are implemented, or the steps of the point cloud attribute decoding method as described in the third aspect are implemented.

[0025] In the seventh aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the point cloud attribute encoding method as described in the first aspect, or to implement the steps of the point cloud attribute decoding method as described in the third aspect.

[0026] In an eighth aspect, a computer program / program product is provided, wherein the computer program / program product is stored in a storage medium, and the computer program / program product is executed by at least one processor to implement the steps of the point cloud attribute encoding method as described in the first aspect, or to implement the steps of the point cloud attribute decoding method as described in the third aspect.

[0027] In the embodiment of the present application, a point cloud to be encoded is obtained, and based on the position of the point to be encoded in the point cloud to be encoded, at least one prediction point corresponding to the point to be encoded is determined; based on the reconstructed attribute value of the prediction point and the weight value corresponding to the prediction point, the predicted attribute value of the point cloud to be encoded is determined; the first attribute prediction residual is quantized and entropy encoded to obtain a target bitstream. In the above point cloud attribute encoding process, the point cloud to be encoded is not reordered, so the geometric encoding order after the point cloud is geometrically encoded will not be disrupted, and the nearest neighbor point of the point to be encoded can be determined based on the geometric encoding order for attribute prediction encoding, thereby improving the encoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 It is a schematic diagram of the framework of the point cloud AVS point cloud attribute encoding device;

[0029] Figure 2 It is a schematic diagram of the framework of the point cloud AVS point cloud attribute decoding device;

[0030] Figure 3 is a flow chart of a point cloud attribute encoding method provided in an embodiment of the present application;

[0031] Figure 4 This is an application scenario diagram of the point cloud attribute encoding method provided in an embodiment of the present application;

[0032] Figure 5 is a flow chart of a point cloud attribute decoding method provided in an embodiment of the present application;

[0033] Figure 6 is a structural diagram of a point cloud attribute encoding device provided in an embodiment of the present application;

[0034] Figure 7 is a structural diagram of a point cloud attribute decoding device provided in an embodiment of the present application;

[0035] Figure 8 is a structural diagram of a communication device provided in an embodiment of the present application;

[0036] Fig. 9 It is a schematic diagram of the hardware structure of the terminal provided in the embodiment of the present application. DETAILED DESCRIPTION

[0037] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of this application.

[0038] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first" and "second" are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally represents that the objects associated with each other are in an "or" relationship.

[0039] The point cloud attribute encoding device corresponding to the point cloud attribute encoding method and the point cloud attribute decoding device corresponding to the point cloud attribute decoding method in the embodiment of the present application can both be terminals, which can also be called terminal equipment or user equipment (UE). The terminal can be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a handheld computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), augmented reality (augmentedreality, AR) / virtual reality (virtual reality, VR) equipment, a robot, a wearable device (WearableDevice) or a vehicle-mounted equipment (VUE), a pedestrian terminal (PUE), a smart home (home equipment with wireless communication function, such as a refrigerator, a television, a washing machine or furniture, etc.), a game console, a personal computer (personal The terminal side devices include: computer, PC), ATM or self-service machine, and wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. It should be noted that the specific type of the terminal 11 is not limited in the embodiment of the present application.

[0040] For ease of understanding, some contents involved in the embodiments of the present application are described below:

[0041] See also Figure 1 ,like Figure 1As shown, currently, in the digital audio and video coding technology standard, the geometric information and attribute information of the point cloud are encoded separately using the point cloud AVS point cloud attribute encoding device. First, the geometric information is converted into coordinates so that all the point clouds are contained in a bounding box, and then the coordinates are quantized. Quantization mainly plays a role in scaling. Since quantization will round the geometric coordinates, the geometric information of some points will be the same, which is called duplicate points. Whether to remove duplicate points is determined according to parameters. The two steps of quantization and removal of duplicate points are also called voxelization process. Next, the bounding box is divided into a multi-tree, such as an octree, a quadtree or a binary tree. In the multi-tree-based geometric information encoding framework, the bounding box is divided into 8 equal sub-cubes, and the non-empty sub-cubes are continued to be divided until the division is stopped when the leaf node is a unit cube of 1x1x1, and the number of points in the leaf node is encoded to generate a binary code stream.

[0042] In the multi-tree-based geometric coding of point clouds, the points to be coded need to store the placeholder information of neighboring nodes to predict the placeholder information of the points to be coded. In this way, for the points to be coded close to the leaf nodes, a large amount of placeholder information needs to be stored, which takes up a lot of memory space.

[0043] After the geometric encoding is completed, the geometric information is reconstructed for the subsequent recoloring. Attribute encoding is mainly for color and reflectance information. First, it is determined whether to perform color space conversion based on the parameters. If color space conversion is performed, the color information is converted from the red green blue (RGB) color space to the brightness color (YUV) color space. Then, the original point cloud is used to recolor the geometrically reconstructed point cloud so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, after sorting the point cloud by Morton code or Hilbert code, the nearest neighbor of the point to be predicted is searched by geometric spatial relationship, and the reconstructed attribute value of the neighbor is used to predict the point to be predicted to obtain the predicted attribute value, and then the real attribute value and the predicted attribute value are differentiated to obtain the prediction residual, and finally the prediction residual is quantized and encoded to generate a binary code stream.

[0044] It should be understood that the decoding process in the digital audio and video coding and decoding technical standard corresponds to the above encoding process. Specifically, the AVS point cloud attribute decoding device framework is as follows: Figure 2 shown.

[0045] At present, the general point cloud technology standard has the following technical problems:

[0046] In the general point cloud technology standard, the point cloud is geometrically encoded and then attribute encoded. In the process of attribute prediction encoding of the point cloud, the geometric information of the point cloud needs to be reordered, such as reordering the point cloud using Hilbert code, which disrupts the geometric encoding order of the point cloud and reduces the encoding efficiency.

[0047] Based on the above situation, how to improve the coding efficiency of point cloud in the process of attribute prediction coding is a technical problem to be solved.

[0048] In order to solve the above-mentioned technical problems that may exist, the present application provides a point cloud attribute encoding method. The point cloud attribute encoding method provided by the present application is described in detail below with reference to the accompanying drawings through some embodiments and their application scenarios.

[0049] See also Figure 3 , Figure 3 is a flow chart of the point cloud attribute encoding method provided by the present application. The point cloud attribute encoding method provided by this embodiment comprises the following steps:

[0050] S101, obtaining a point cloud to be encoded.

[0051] The point cloud to be encoded in this step is a point cloud that has been geometrically encoded and has a geometric encoding order; the point cloud to be encoded in this step is a point cloud that has not been reordered, and the point cloud to be encoded in this step is a point cloud that has been recolored and converted in color space.

[0052] The above-mentioned recoloring refers to recoloring the geometrically reconstructed point cloud using the original point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information, and the recolored point cloud is obtained; the above-mentioned color space conversion refers to converting the color information of the point cloud from the RGB space to the YUV space.

[0053] S102: Determine at least one prediction point corresponding to the point to be encoded based on the position of the point to be encoded in the point cloud to be encoded.

[0054] In this step, when most of the coding blocks in the point cloud to be encoded are encoded using prediction tree coding, since in prediction tree coding, the front and rear nodes in the same coding block are usually the nearest neighbor points, it is possible to determine the prediction points corresponding to the points to be encoded based on the positions of the points to be encoded in the point cloud to be encoded based on the characteristics of the above prediction tree coding. The above prediction points are the nearest neighbor points, and the prediction points are the encoded points.

[0055] It should be understood that when the point cloud to be encoded meets the first condition, it is determined that most of the coding blocks in the point cloud to be encoded use the prediction tree encoding. For a specific technical solution on how to determine whether the point cloud to be encoded meets the first condition, please refer to the subsequent embodiments.

[0056] The number of prediction points corresponding to a to-be-encoded point is greater than or equal to 1. When the to-be-encoded point is the first encoding point, the preset attribute information corresponding to the to-be-encoded point may be directly encoded.

[0057] In this step, if most of the coding blocks in the point cloud to be encoded are not encoded using the prediction tree coding method, for example, most of the coding blocks are encoded using the octree coding method, then the attribute prediction coding method in the general point cloud technology standard is used to perform attribute prediction coding on the point cloud to be encoded.

[0058] S103: Determine a predicted value corresponding to the to-be-encoded point cloud based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0059] The reconstructed attribute value is the attribute value corresponding to the encoded prediction point. In this step, the reconstructed attribute value of the prediction point can be directly read and the weight value corresponding to the prediction point can be calculated. For the specific technical solution of how to calculate the weight value corresponding to the prediction point, please refer to the subsequent embodiments.

[0060] Furthermore, the above-mentioned reconstructed attribute values ​​and weight values ​​are correlated and calculated to obtain the predicted value corresponding to the point cloud to be encoded. For the specific technical solution of how to determine the predicted value corresponding to the point cloud to be encoded, please refer to the subsequent embodiments.

[0061] S104, quantizing and entropy encoding the first attribute prediction residual to obtain a target bit stream.

[0062] The first attribute prediction residual is determined based on the real attribute value of the to-be-encoded point and the predicted attribute value

[0063] In this step, after obtaining the predicted attribute value of the point to be encoded, the difference between the actual attribute value of the point to be encoded and the predicted attribute value can be determined as the first attribute prediction residual, and the first attribute prediction residual is quantized and entropy encoded to obtain the target bitstream. Among them, entropy coding is a coding method that does not lose any information according to the entropy principle during the coding process. The entropy coding can be Shannon coding, Huffman coding or other types of coding, which is not specifically limited in this embodiment. The target bitstream is a binary bitstream.

[0064] In the embodiment of the present application, a point cloud to be encoded is obtained, and based on the position of the point to be encoded in the point cloud to be encoded, at least one prediction point corresponding to the point to be encoded is determined; based on the reconstructed attribute value of the prediction point and the weight value corresponding to the prediction point, the prediction attribute value corresponding to the point cloud to be encoded is determined; the first attribute prediction residual is quantized and entropy encoded to obtain a target bitstream. In the above point cloud attribute encoding process, the point cloud to be encoded is not reordered, so the geometric encoding order after the point cloud is geometrically encoded will not be disrupted, and the nearest neighbor point of the point to be encoded can be determined based on the geometric encoding order for attribute prediction encoding, thereby improving the encoding efficiency.

[0065] Under the condition of lossless coding, the point cloud attribute coding provided by the embodiment of the present application has a higher attribute compression efficiency for point clouds than the traditional point cloud attribute coding for point clouds. To facilitate understanding of the technical effects of the present application, please refer to Table 1.

[0066] Table 1:

[0067]

[0068] Among them, the "bpip ratio" in Table 1 is also called the average bit ratio of the coding point. It should be understood that under the condition of lossless coding, the lower the value of the average bit ratio of the coding point, the higher the attribute compression efficiency of the coding method and the better the coding performance. The average bit ratio of the coding point includes the overall ratio, the geometric information ratio and the attribute information ratio. Among them, "Total" in Table 1 can also be expressed as the overall ratio, "Geometry" can also be expressed as the geometric information ratio, and "Colour" can also be expressed as the attribute information ratio.

[0069] The code streams 1 and 2 shown in Table 1 are code streams obtained by applying the point cloud attribute coding provided in the embodiment of the present application, and the code streams 3, 4, 5, 6, and 7 shown in Table 1 are code streams obtained by traditional point cloud attribute coding. Among them, the attribute information ratio corresponding to the code stream obtained by the point cloud attribute coding provided in the embodiment of the present application is lower than the attribute information ratio of the code stream obtained by the traditional point cloud attribute coding.

[0070] Optionally, after obtaining the point cloud to be encoded, the method includes:

[0071] determining a first ratio value;

[0072] When the first ratio value is greater than a preset threshold, the target parameter in the attribute header information of the point cloud to be encoded is set to a preset value.

[0073] It should be understood that in the process of encoding the attributes of the point cloud, the point cloud will be divided into an octree to obtain multiple coding blocks, and it is determined whether the octree level corresponding to the point cloud adopts macroblock encoding. When macroblock encoding is adopted, macroblock encoding is adopted for the point cloud, and the number of coding blocks corresponding to the point cloud is determined as the number of macroblocks of the point cloud to be encoded using the macroblock encoding method. In this embodiment, the number of macroblocks of the point cloud to be encoded using the macroblock encoding method can be determined as the second value.

[0074] Among them, the point cloud includes the parameter lcu_node_depth. After the point cloud is divided into octrees, the octree level octree_node_depth corresponding to the point cloud is obtained. When octree_node_depth is less than lcu_node_depth, it is determined that the octree level corresponding to the point cloud adopts the macroblock encoding method.

[0075] It should be understood that after the point cloud is encoded using macroblocks, it is determined whether each coding block continues to be encoded using the octree or the prediction tree, and the number of macroblocks encoded using the prediction tree method in the point cloud is determined as the first value. In other words, the number of coding blocks encoded using the prediction tree method in the point cloud is determined as the first value.

[0076] The point cloud includes a high density coefficient geomTreeDensityHigh, a low density coefficient geomTreeDensityLow, and a minimum point limit parameter geomPointTh. The method for determining whether a coding block is encoded using the prediction tree method is to calculate the density of the coding block. If the density of the coding block is greater than the value corresponding to the low density coefficient and less than the value corresponding to the high density coefficient, and the number of coding points included in the coding block is greater than the value corresponding to the minimum point limit parameter, it can be determined that the coding block is encoded using the prediction tree method.

[0077] Further, the quotient of the first value and the second value is determined as a first proportional value.

[0078] For example, when the point cloud reaches the second level of the octree division, the conditions for starting macroblock encoding are met. Since the point cloud is divided into 8 coding blocks at the second level of the octree division, the second value can be determined to be 8. If 4 of the above 8 coding blocks use prediction tree encoding, then the first value can be determined to be 4 and the first ratio value can be determined to be 0.5.

[0079] In this embodiment, a threshold is set. When the first ratio value is greater than or equal to the threshold, it means that most of the coding blocks in the point cloud use prediction tree coding, and the target parameter in the attribute header information of the point cloud to be coded is set to a preset value. The above threshold can be an empirical threshold or a threshold set by the user.

[0080] It should be understood that the above preset value is used to indicate that the point cloud to be encoded meets the first condition, that is, most of the coding blocks in the point cloud to be encoded use prediction tree encoding. Wherein, when the point cloud to be encoded meets the first condition, the prediction point corresponding to the point to be encoded is determined based on the position of the point to be encoded in the point cloud to be encoded.

[0081] In this embodiment, a target parameter may be set in the attribute header information (Attribute Brick Header, ABH) of the point cloud to be encoded, and the target parameter may be expressed as use_pred_tree_code_attr, wherein the preset value may be 1. It should be understood that when the value assigned to the target parameter is not a preset value, for example, when the value assigned to the target parameter is 0, it indicates that most of the coding blocks in the point cloud to be encoded do not use prediction tree coding.

[0082] Optionally, the determining, based on the position of each to-be-encoded point in the to-be-encoded point cloud, at least one prediction point corresponding to the to-be-encoded point comprises:

[0083] Taking the position of the to-be-encoded point as the search center, searching for the encoded point within a preset range of the to-be-encoded point;

[0084] The searched K encoded points are determined as prediction points corresponding to the point to be encoded.

[0085] As described above, when most coding blocks are coded using prediction tree, the previous and next coding points in the same coding block are usually the nearest neighbor points. In this way, the position of the point to be coded can be used as the search center, and the coded point can be searched within the preset range of the point to be coded, and the searched coded point can be determined as the prediction point. The above preset range refers to the coded range corresponding to the point to be coded.

[0086] For example, see Figure 4 , Figure 4 The coding points in form a geometric coding order based on the single chain structure of the KD tree, where point P0 is the point to be coded. Within the preset range corresponding to point P0, three coded points P1, P2 and P3 are searched and determined as prediction points.

[0087] In this embodiment, when most of the coding blocks in the point cloud to be encoded use prediction tree encoding, the coding points in the coding blocks are not reordered based on the coding blocks, but the prediction points are determined based on the geometric coding order of the coding blocks, thereby improving the coding efficiency.

[0088] Optionally, determining the predicted attribute value of the to-be-coded point according to the reconstructed attribute value of the predicted point and a weight value corresponding to the predicted point includes:

[0089] Determining a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be encoded and each prediction point;

[0090] For any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points is determined as a first target value corresponding to the prediction point;

[0091] The sum of the first target values ​​corresponding to each prediction point is determined as the prediction attribute value of the point to be encoded.

[0092] In this embodiment, the weight value corresponding to each prediction point can be determined based on the geometric spatial position relationship between the point to be encoded and each prediction point. For specific technical solutions, please refer to the subsequent embodiments.

[0093] The following describes how to determine the predicted attribute value of the point to be coded:

[0094] For each prediction point corresponding to the point to be encoded, the reconstructed attribute value of the prediction point is multiplied by the weight values ​​corresponding to other prediction points, and the multiplication result is used as the first target value corresponding to the prediction point. Further, the first target values ​​of all prediction points corresponding to the point to be encoded are accumulated to obtain the predicted attribute value of the point to be encoded.

[0095] For ease of understanding, Figure 4 The implementation scenario shown is used as an example for explanation. Figure 4 In the illustrated implementation scenario, the point to be encoded P0 corresponds to three prediction points P1, P2 and P3, as shown in the following formula:

[0096] predAttr=W 2*W 3*Attr1+W 1*W 3*Attr2+W 1*W 2*Attr3

[0097] Among them, predAttr is the predicted attribute value of the point to be encoded, that is, the predicted attribute value of P0; W1, W2 and W3 are the weight values ​​corresponding to the predicted points, among which W1 is the weight value corresponding to P1, W2 is the weight value corresponding to P2, and W3 is the weight value corresponding to P3; Attr1, Attr2 and Attr3 are the reconstructed attribute values ​​corresponding to the predicted points, among which Attr1 is the reconstructed attribute value corresponding to P1, Attr 2 is the reconstructed attribute value corresponding to P2, and Attr 3 is the reconstructed attribute value corresponding to P3. The predicted attribute value corresponding to the point to be encoded P0 can be obtained through the above formula.

[0098] The following describes in detail how to determine the weight value corresponding to each prediction point:

[0099] Optionally, the determining, based on the geometric spatial position relationship between the to-be-encoded point and each prediction point, a weight value corresponding to each prediction point comprises:

[0100] For any predicted point, calculating the distance value between the predicted point and the point to be encoded;

[0101] The distance value is numerically converted to obtain a weight value corresponding to the prediction point.

[0102] For a predicted point, the distance value between the predicted point and the point to be encoded is calculated. In an optional implementation, the distance value between the predicted point and the point to be encoded can be directly obtained. In another optional implementation, the length of the space vector between the predicted point and the point to be encoded can be calculated, and then based on the length of the space vector, the weight value corresponding to the predicted point is obtained.

[0103] After obtaining the distance value between the prediction point and the point to be encoded, the distance value is numerically converted to obtain the weight value corresponding to the prediction point. The essence of the numerical conversion of the distance value is to determine the first norm corresponding to the distance value as the weight value corresponding to the prediction point, or to determine the second norm corresponding to the distance value as the weight value corresponding to the prediction point, or to determine other numerical expressions corresponding to the distance value as the weight value corresponding to the prediction point.

[0104] The point cloud attribute decoding method provided by the embodiment of the present application is described in detail below through some embodiments and their application scenarios in combination with the accompanying drawings.

[0105] See also Figure 5 , Figure 5 : is a flow chart of the point cloud attribute decoding method provided by the present application. The point cloud attribute decoding method provided by this embodiment includes the following steps:

[0106] S201, obtaining a target bitstream.

[0107] In the attribute prediction decoding process, the target code stream is directly sent to the point cloud attribute decoding device, and the above target code stream includes the point cloud to be decoded.

[0108] S202: Determine at least one prediction point corresponding to the point to be decoded based on the position of the point to be decoded in the point cloud to be decoded.

[0109] In this step, when most of the decoding blocks in the point cloud to be decoded are decoded using prediction tree decoding, the prediction point corresponding to the point to be decoded can be determined based on the characteristics of the above-mentioned prediction tree decoding and based on the position of each point to be decoded in the point cloud to be decoded. The above-mentioned prediction point is the nearest neighbor point, and the prediction point is a decoded point.

[0110] It should be understood that when the point cloud to be decoded meets the first condition, it is determined that most of the decoding blocks in the point cloud to be decoded use the prediction tree decoding. For a specific technical solution on how to determine whether the point cloud to be decoded meets the first condition, please refer to the subsequent embodiments.

[0111] The number of prediction points corresponding to a to-be-decoded point is greater than or equal to 1. When the to-be-decoded point is the first decoding point, the preset attribute information corresponding to the to-be-decoded point may be directly decoded.

[0112] In this step, if most of the decoding blocks in the point cloud to be decoded are not decoded using the prediction tree decoding method, in this case, the attribute prediction decoding method in the general point cloud technology standard is used to perform attribute prediction decoding on the point cloud to be decoded.

[0113] S203 , obtaining a reconstructed attribute value corresponding to the point cloud to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point, and the weight value corresponding to the predicted point.

[0114] In this step, the decoding end performs inverse quantization processing on the first attribute prediction residual in the target bitstream to obtain the second attribute prediction residual. Optionally, the first attribute prediction residual of the point to be decoded and the reconstructed attribute value of the prediction point can be directly read, and the weight value corresponding to the prediction point can be calculated. For the specific technical solution of how to calculate the weight value corresponding to the prediction point, please refer to the subsequent embodiments.

[0115] Furthermore, the second attribute prediction residual, the reconstructed attribute value and the weight value are relatedly calculated to obtain the reconstructed attribute value corresponding to the point cloud to be decoded. For a specific technical solution on how to determine the reconstructed attribute value corresponding to the point cloud to be decoded, please refer to the subsequent embodiments.

[0116] In an embodiment of the present application, a target code stream is obtained, the target code stream includes a point cloud to be decoded, and at least one prediction point corresponding to the point to be decoded is determined based on the position of the point to be decoded in the point cloud to be decoded; based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point, the reconstructed attribute value of the point to be decoded is obtained. In the above point cloud attribute decoding process, the point cloud to be decoded is not reordered, so the geometric decoding order after the point cloud is geometrically decoded will not be disrupted, and then the nearest neighbor point of the point to be decoded can be determined based on the geometric decoding order for attribute prediction decoding, thereby improving decoding efficiency.

[0117] Optionally, after obtaining the point cloud to be decoded, the method includes:

[0118] Obtaining target parameters in the attribute header information of the point cloud to be decoded;

[0119] When the numerical value corresponding to the target parameter is a preset value, it is determined that the point cloud to be decoded satisfies the first condition.

[0120] In the above encoding process, if the point cloud to be encoded meets the first condition, the point cloud attribute encoding device will set the target parameter in the attribute header information of the point cloud to be encoded to the preset value. In this way, in the decoding process, the point cloud attribute decoding device can directly read the target parameter in the attribute header information of the point cloud to be decoded. If the value corresponding to the target parameter is the preset value, it can be directly determined that the point cloud to be decoded meets the first condition.

[0121] Optionally, the determining, based on the position of each to-be-decoded point in the to-be-decoded point cloud, at least one predicted point corresponding to the to-be-decoded point comprises:

[0122] Taking the position of the to-be-decoded point as the search center, searching for the decoded point within a preset range of the to-be-decoded point;

[0123] The searched K decoded points are determined as prediction points corresponding to the point to be decoded.

[0124] As described above, when most of the decoded blocks in the point cloud to be decoded are decoded using prediction trees, the previous and next decoded points in the same decoded block are usually the nearest neighbor points. In this way, the position of the point to be decoded can be used as the search center, and the decoded points can be searched within the preset range of the point to be decoded, and the searched decoded points can be determined as prediction points. The above preset range refers to the decoded range corresponding to the point to be decoded.

[0125] Optionally, obtaining the reconstructed attribute value corresponding to the point cloud to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point includes:

[0126] Determining the predicted attribute value of the to-be-decoded point according to the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0127] The sum of the second attribute prediction residual and the predicted attribute value is determined as the reconstructed attribute value.

[0128] The reconstructed attribute value of the prediction point is the attribute value corresponding to the decoded prediction point. The weight value of the prediction point is related to the geometric spatial position relationship between the prediction point and the point to be decoded. For a specific technical solution on how to determine the weight value corresponding to the prediction point, please refer to the subsequent embodiments. In this embodiment, the predicted attribute value of the point to be decoded is determined based on the reconstructed attribute value and the weight value. The predicted attribute value is the attribute value obtained by using the prediction point to perform attribute prediction decoding on the point to be decoded.

[0129] An optional implementation method is to read the second attribute prediction residual of the point to be decoded, and use the sum of the second attribute prediction residual and the predicted attribute value as the reconstructed attribute value.

[0130] Optionally, determining the predicted attribute value of the to-be-decoded point according to the reconstructed attribute value of the predicted point and a weight value corresponding to the predicted point includes:

[0131] Determining a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be decoded and each prediction point;

[0132] For any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points is determined as a second target value corresponding to the prediction point;

[0133] The sum of the second target values ​​corresponding to each prediction point is determined as the prediction attribute value of the point to be decoded.

[0134] In this embodiment, the weight value corresponding to each prediction point may be determined based on the geometric spatial position relationship between the point to be decoded and each prediction point. For specific technical solutions, please refer to the subsequent embodiments.

[0135] The following specifically describes how to determine the predicted attribute value of the point to be decoded:

[0136] For each prediction point corresponding to the point to be decoded, the reconstructed attribute value of the prediction point is multiplied by the weight values ​​corresponding to other prediction points, and the multiplication result is used as the second target value corresponding to the prediction point. Further, the second target values ​​of all prediction points corresponding to the point to be decoded are accumulated to obtain the predicted attribute value of the point to be decoded.

[0137] Optionally, the determining, based on the geometric spatial position relationship between the point to be decoded and each prediction point, a weight value corresponding to each prediction point comprises:

[0138] For any predicted point, calculating the distance value between the predicted point and the point to be decoded;

[0139] The distance value is numerically converted to obtain a weight value corresponding to the prediction point.

[0140] For a prediction point, the distance value between the prediction point and the point to be decoded is calculated. After obtaining the distance value between the prediction point and the point to be decoded, the distance value is converted into a numerical value, and then the first norm corresponding to the distance value can be determined as the weight value corresponding to the prediction point, or the second norm corresponding to the distance value can be determined as the weight value corresponding to the prediction point, or other numerical forms corresponding to the distance value can be determined as the weight value corresponding to the prediction point.

[0141] In another optional implementation, the length of the space vector between the prediction point and the point to be decoded may be calculated, and based on the length, a weight value corresponding to the prediction point may be obtained.

[0142] The point cloud attribute encoding method provided in the embodiment of the present application may be executed by a point cloud attribute encoding device. In the embodiment of the present application, the point cloud attribute encoding device executing the point cloud attribute encoding method is taken as an example to illustrate the point cloud attribute encoding device provided in the embodiment of the present application.

[0143] like Figure 6 As shown, the point cloud attribute encoding device 600 includes:

[0144] The first acquisition module 601 is used to acquire a point cloud to be encoded;

[0145] A first determination module 602 is used to determine at least one prediction point corresponding to the to-be-encoded point based on the position of the to-be-encoded point in the to-be-encoded point cloud;

[0146] A second determination module 603, configured to determine the predicted attribute value of the to-be-coded point based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0147] The encoding module 604 is used to quantize and entropy encode the first attribute prediction residual to obtain a target bit stream.

[0148] Optionally, the point cloud attribute encoding device 600 further includes:

[0149] A first determining unit, configured to determine a first ratio value;

[0150] The second determining unit is configured to set the target parameter in the attribute header information of the point cloud to be encoded to a preset value when the first ratio value is greater than or equal to a preset threshold.

[0151] Optionally, the first determining module 602 is specifically configured to:

[0152] Taking the position of the to-be-encoded point as the search center, searching for the encoded point within a preset range of the to-be-encoded point;

[0153] The searched K encoded points are determined as prediction points corresponding to the point to be encoded.

[0154] Optionally, the second determining module 603 is further specifically configured to:

[0155] Determining a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be encoded and each prediction point;

[0156] For any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points is determined as a first target value corresponding to the prediction point;

[0157] The sum of the first target values ​​corresponding to each prediction point is determined as the prediction attribute value of the point to be encoded.

[0158] Optionally, the second determining module 603 is further specifically configured to:

[0159] For any predicted point, calculating the distance value between the predicted point and the point to be encoded;

[0160] The distance value is numerically converted to obtain a weight value corresponding to the prediction point.

[0161] In the embodiment of the present application, a point cloud to be encoded is obtained, and based on the position of the point to be encoded in the point cloud to be encoded, at least one prediction point corresponding to the point to be encoded is determined; based on the reconstructed attribute value of the prediction point and the weight value corresponding to the prediction point, the predicted attribute value of the point cloud to be encoded is determined; the first attribute prediction residual is quantized and entropy encoded to obtain a target bitstream. In the above point cloud attribute encoding process, the point cloud to be encoded is not reordered, so the geometric encoding order after the point cloud is geometrically encoded will not be disrupted, and the nearest neighbor point of the point to be encoded can be determined based on the geometric encoding order for attribute prediction encoding, thereby improving the encoding efficiency.

[0162] The point cloud attribute encoding device provided in the embodiment of the present application can achieve Figure 3 The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.

[0163] It should be noted that the point cloud attribute decoding method provided in the embodiment of the present application can be executed by a point cloud attribute decoding device. In the embodiment of the present application, the point cloud attribute decoding device executing the point cloud attribute decoding method is taken as an example to illustrate the point cloud attribute decoding device provided in the embodiment of the present application.

[0164] like Figure 7 As shown, the point cloud attribute decoding device 700 includes:

[0165] The second acquisition module 701 is used to acquire a target bit stream;

[0166] A third determination module 702 is used to determine at least one prediction point corresponding to the to-be-decoded point based on the position of the to-be-decoded point in the to-be-decoded point cloud;

[0167] The decoding module 703 is used to obtain the reconstructed attribute value of the point to be encoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0168] Optionally, the point cloud attribute decoding device 700 further includes:

[0169] An acquisition unit, used to acquire target parameters in the attribute header information of the point cloud to be decoded;

[0170] The third determination unit is used to determine that the point cloud to be decoded meets the first condition when the numerical value corresponding to the target parameter is a preset value.

[0171] Optionally, the third determining module 702 is specifically configured to:

[0172] Taking the position of the to-be-decoded point as the search center, searching for the decoded point within a preset range of the to-be-decoded point;

[0173] The searched K decoded points are determined as prediction points corresponding to the point to be decoded.

[0174] Optionally, the decoding module 703 is specifically configured to:

[0175] Determining the predicted attribute value of the to-be-decoded point according to the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0176] The sum of the second attribute prediction residual and the predicted attribute value is determined as the reconstructed attribute value.

[0177] Optionally, the decoding module 703 is specifically configured to:

[0178] Determining a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be decoded and each prediction point;

[0179] For any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points is determined as a second target value corresponding to the prediction point;

[0180] The sum of the second target values ​​corresponding to each prediction point is determined as the prediction attribute value of the point to be decoded.

[0181] Optionally, the decoding module 703 is specifically configured to:

[0182] For any predicted point, calculating the distance value between the predicted point and the point to be decoded;

[0183] The distance value is numerically converted to obtain a weight value corresponding to the prediction point.

[0184] In an embodiment of the present application, a target code stream is obtained, the target code stream includes a point cloud to be decoded, and at least one prediction point corresponding to the point to be decoded is determined based on the position of the point to be decoded in the point cloud to be decoded; based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point, the reconstructed attribute value of the point to be decoded is obtained. In the above point cloud attribute decoding process, the point cloud to be decoded is not reordered, so the geometric decoding order after the point cloud is geometrically decoded will not be disrupted, and then the nearest neighbor point of the point to be decoded can be determined based on the geometric decoding order for attribute prediction decoding, thereby improving decoding efficiency.

[0185] The point cloud attribute encoding device and the point cloud attribute decoding device in the embodiment of the present application may be an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal or other device other than a terminal. For example, the terminal may include but is not limited to the types of terminals listed above, and other devices may be servers, network attached storage (NAS), etc., which are not specifically limited in the embodiment of the present application.

[0186] The point cloud attribute encoding device provided in the embodiment of the present application can achieve Figure 3 The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.

[0187] The point cloud attribute decoding device provided in the embodiment of the present application can achieve Figure 5 The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.

[0188] Alternatively, if Figure 8 As shown, an embodiment of the present application also provides a communication device 800, including a processor 801 and a memory 802, wherein the memory 802 stores programs or instructions that can be executed on the processor 801. For example, when the communication device 800 is a terminal, the program or instructions are executed by the processor 801 to implement the various steps of the above-mentioned point cloud attribute encoding method embodiment and achieve the same technical effect, or implement the various steps of the above-mentioned point cloud attribute decoding method embodiment and achieve the same technical effect.

[0189] The embodiment of the present application further provides a terminal, including a processor and a communication interface, wherein the processor is configured to perform the following operations:

[0190] Get the point cloud to be encoded;

[0191] Determine at least one prediction point corresponding to the point to be encoded based on the position of the point to be encoded in the point cloud to be encoded;

[0192] Determining the predicted attribute value of the point to be encoded based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0193] The first attribute prediction residual is quantized and entropy encoded to obtain a target bit stream.

[0194] Alternatively, the processor is used to perform the following operations:

[0195] Get the target code stream;

[0196] Based on the position of the to-be-decoded point in the to-be-decoded point cloud, determining at least one prediction point corresponding to the to-be-decoded point;

[0197] The reconstructed attribute value of the point to be decoded is obtained based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0198] This terminal embodiment corresponds to the above-mentioned terminal side method embodiment, and each implementation process and implementation method of the above-mentioned method embodiment can be applied to this terminal embodiment and can achieve the same technical effect. Specifically, Fig. 9 A schematic diagram of the hardware structure of a terminal for implementing an embodiment of the present application.

[0199] The terminal 900 includes but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, a processor 910 and other components.

[0200] Those skilled in the art will appreciate that the terminal 900 may also include a power source (such as a battery) for supplying power to various components, and the power source may be logically connected to the processor 910 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Fig. 9 The terminal structure shown in the figure does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.

[0201] It should be understood that in the embodiment of the present application, the input unit 904 may include a graphics processing unit (GPU) 9041 and a microphone 9042, and the graphics processor 9041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 906 may include a display panel 9061, and the display panel 9071 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 907 includes a touch panel 9071 and at least one of other input devices 9072. The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts: a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.

[0202] In the embodiment of the present application, after receiving downlink data from the network side device, the RF unit 901 can transmit the data to the processor 910 for processing; in addition, the RF unit 901 can send uplink data to the network side device. Generally, the RF unit 901 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.

[0203] The memory 909 can be used to store software programs or instructions and various data. The memory 909 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 909 may include a volatile memory or a non-volatile memory, or the memory x09 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory x09 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0204] The processor 910 may include one or more processing units; optionally, the processor 910 integrates an application processor and a modem processor, wherein the application processor mainly involves the operation of an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 910.

[0205] The processor is used to perform the following operations:

[0206] Get the point cloud to be encoded;

[0207] Determine at least one prediction point corresponding to the point to be encoded based on the position of the point to be encoded in the point cloud to be encoded;

[0208] Determining the predicted attribute value of the point to be encoded based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point;

[0209] The first attribute prediction residual is quantized and entropy encoded to obtain a target bit stream.

[0210] In the embodiment of the present application, a point cloud to be encoded is obtained, and based on the position of the point to be encoded in the point cloud to be encoded, at least one prediction point corresponding to the point to be encoded is determined; based on the reconstructed attribute value of the prediction point and the weight value corresponding to the prediction point, the predicted attribute value of the point cloud to be encoded is determined; the first attribute prediction residual is quantized and entropy encoded to obtain a target bitstream. In the above point cloud attribute encoding process, the point cloud to be encoded is not reordered, so the geometric encoding order after the point cloud is geometrically encoded will not be disrupted, and the nearest neighbor point of the point to be encoded can be determined based on the geometric encoding order for attribute prediction encoding, thereby improving the encoding efficiency.

[0211] Alternatively, the processor 910 is configured to perform the following operations:

[0212] Get the target code stream;

[0213] Based on the position of each to-be-decoded point in the to-be-decoded point cloud, determining at least one prediction point corresponding to the to-be-decoded point;

[0214] The reconstructed attribute value of the point to be decoded is obtained based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point.

[0215] In an embodiment of the present application, a target code stream is obtained, the target code stream includes a point cloud to be decoded, and at least one prediction point corresponding to the point to be decoded is determined based on the position of the point to be decoded in the point cloud to be decoded; based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point, the reconstructed attribute value of the point to be decoded is obtained. In the above point cloud attribute decoding process, the point cloud to be decoded is not involved in reordering, so the geometric decoding order after the point cloud is geometrically decoded will not be disrupted, and then the nearest neighbor point of the point to be decoded can be determined based on the geometric decoding order for attribute prediction decoding, thereby improving the decoding efficiency.

[0216] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned point cloud attribute encoding method embodiment are implemented, or the various processes of the above-mentioned point cloud attribute decoding method embodiment are implemented and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0217] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.

[0218] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned point cloud attribute encoding method embodiment, or to implement the various processes of the above-mentioned point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0219] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.

[0220] The embodiments of the present application further provide a computer program / program product, which is stored in a storage medium, and is executed by at least one processor to implement the various processes of the above-mentioned point cloud attribute encoding method embodiment, or to implement the various processes of the above-mentioned point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0221] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0222] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0223] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A point cloud attribute encoding method, characterized in that: include: The encoding end obtains the point cloud to be encoded; The encoder determines, based on the position of the point to be encoded in the point cloud to be encoded, at least one prediction point corresponding to the point to be encoded; The encoder determines, based on the reconstructed attribute value of the prediction point and the weight value corresponding to the prediction point, the prediction attribute value of the to-be-encoded point; The encoding end quantizes and entropy encodes a first attribute prediction residual to obtain a target bitstream, wherein the first attribute prediction residual is determined based on a real attribute value of the to-be-encoded point and the predicted attribute value; After obtaining the point cloud to be encoded, the method further includes: The encoding end determines a first ratio value, the first ratio value is obtained according to a ratio of a first value to a second value, the first value is used to represent the number of macroblocks encoded by the prediction tree method in the point cloud to be encoded, and the second value is used to represent the number of macroblocks encoded by the macroblock encoding method in the point cloud to be encoded; The encoding end sets the target parameter in the attribute header information of the to-be-encoded point cloud to a preset value when the first ratio value is greater than or equal to a threshold value, wherein the preset value is used to indicate that the to-be-encoded point cloud satisfies a first condition; Wherein, when the point cloud to be encoded satisfies the first condition, the prediction point corresponding to the point to be encoded is determined based on the position of the point to be encoded in the point cloud to be encoded.

2. The method according to claim 1, characterized in that The determining, based on the position of the to-be-encoded point in the to-be-encoded point cloud, at least one prediction point corresponding to the to-be-encoded point comprises: The encoding end uses the position of the to-be-encoded point as the search center and searches for the encoded point within a preset range of the to-be-encoded point; The encoding end determines the searched K encoded points as prediction points corresponding to the point to be encoded, where K is a positive integer.

3. The method according to claim 1, characterized in that The determining the predicted attribute value of the to-be-coded point based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point comprises: The encoding end determines a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be encoded and each prediction point; The encoder determines, for any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points as a first target value corresponding to the prediction point; The encoding end determines the sum of the first target values ​​corresponding to each prediction point as the prediction attribute value of the point to be encoded.

4. The method according to claim 3, characterized in that The determining, based on the geometric spatial position relationship between the point to be encoded and each prediction point, a weight value corresponding to each prediction point comprises: The encoding end calculates, for any predicted point, a distance value between the predicted point and the point to be encoded; The encoding end performs numerical conversion on the distance value to obtain a weight value corresponding to the prediction point.

5. A point cloud attribute encoding device, characterized in that: include: The first acquisition module is used to acquire the point cloud to be encoded; A first determination module, configured to determine at least one prediction point corresponding to the point to be encoded based on the position of the point to be encoded in the point cloud to be encoded; A second determination module, configured to determine the predicted attribute value of the to-be-coded point based on the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point; An encoding module, configured to quantize and entropy encode a first attribute prediction residual to obtain a target bitstream, wherein the first attribute prediction residual is determined based on a real attribute value of the to-be-encoded point and the predicted attribute value; The point cloud attribute encoding device also includes: A first determination unit is used to determine a first proportional value, the first proportional value is obtained according to a ratio of a first value to a second value, the first value is used to represent the number of macroblocks encoded by the prediction tree method in the point cloud to be encoded, and the second value is used to represent the number of macroblocks using the macroblock encoding method in the point cloud to be encoded; A second determining unit, configured to set a target parameter in the attribute header information of the to-be-encoded point cloud to a preset value when the first ratio value is greater than or equal to a preset threshold, wherein the preset value is used to indicate that the to-be-encoded point cloud satisfies a first condition; Wherein, when the point cloud to be encoded satisfies the first condition, the prediction point corresponding to the point to be encoded is determined based on the position of the point to be encoded in the point cloud to be encoded.

6. A point cloud attribute decoding method, characterized in that: include: The decoding end obtains a target code stream, wherein the target code stream includes a point cloud to be decoded; The decoding end determines at least one prediction point corresponding to the point to be decoded based on the position of the point to be decoded in the point cloud to be decoded; The decoding end obtains the reconstructed attribute value of the point to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point; After obtaining the target bitstream, the method further includes: The decoding end obtains the target parameters in the attribute header information of the point cloud to be decoded; The decoding end determines that the point cloud to be decoded satisfies a first condition when the value corresponding to the target parameter is a preset value; Wherein, when the point cloud to be decoded satisfies the first condition, the prediction point corresponding to the point to be decoded is determined based on the position of the point to be decoded in the point cloud to be decoded.

7. The method according to claim 6, characterized in that The determining, based on the position of the to-be-decoded point in the to-be-decoded point cloud, at least one prediction point corresponding to the to-be-decoded point comprises: The decoding end uses the position of the to-be-decoded point as the search center and searches for decoded points within a preset range of the to-be-decoded point; The decoding end determines the searched K decoded points as the prediction points corresponding to the point to be decoded, where K is a positive integer.

8. The method according to claim 6, characterized in that The obtaining the reconstructed attribute value of the point to be decoded based on the second attribute prediction residual of the point to be decoded, the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point comprises: The decoding end determines the predicted attribute value of the to-be-decoded point according to the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point; The decoding end determines the sum of the second attribute prediction residual and the predicted attribute value as the reconstructed attribute value.

9. The method according to claim 8, characterized in that The determining the predicted attribute value of the to-be-decoded point according to the reconstructed attribute value of the predicted point and the weight value corresponding to the predicted point comprises: The decoding end determines a weight value corresponding to each prediction point based on a geometric spatial position relationship between the point to be decoded and each prediction point; The decoding end determines, for any prediction point, a product of the reconstructed attribute value of the prediction point and the weight values ​​corresponding to other prediction points as a second target value corresponding to the prediction point; The decoding end determines the sum of the second target values ​​corresponding to each prediction point as the prediction attribute value of the to-be-decoded point.

10. The method according to claim 9, characterized in that The determining, based on the geometric spatial position relationship between the point to be decoded and each prediction point, a weight value corresponding to each prediction point comprises: The decoding end calculates, for any predicted point, a distance value between the predicted point and the point to be decoded; The decoding end performs numerical conversion on the distance value to obtain a weight value corresponding to the prediction point.

11. A point cloud attribute decoding device, characterized in that: include: A second acquisition module is used to acquire a target code stream, wherein the target code stream includes a point cloud to be decoded; A third determination module, configured to determine at least one prediction point corresponding to the point to be decoded based on the position of the point to be decoded in the point cloud to be decoded; A decoding module, configured to obtain a reconstructed attribute value of the point to be decoded based on a second attribute prediction residual of the point to be decoded, a reconstructed attribute value of the predicted point and a weight value corresponding to the predicted point; The point cloud attribute decoding device also includes: An acquisition unit, used to acquire target parameters in the attribute header information of the point cloud to be decoded; A third determining unit, configured to determine that the to-be-decoded point cloud satisfies a first condition when a value corresponding to the target parameter is a preset value; Wherein, when the point cloud to be decoded satisfies the first condition, the prediction point corresponding to the point to be decoded is determined based on the position of the point to be decoded in the point cloud to be decoded.

12. A communication device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the point cloud attribute encoding method as described in any one of claims 1 to 4 are implemented, or the steps of the point cloud attribute decoding method as described in claims 6 to 10 are implemented.

13. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of the point cloud attribute encoding method as described in any one of claims 1 to 4 are implemented, or the steps of the point cloud attribute decoding method as described in claims 6 to 10 are implemented.

Citation Information

Patent Citations

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2021141117A1