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

By considering the initial order and density of target sorting methods in point cloud encoding, the problem of insufficient performance in existing point cloud encoding technologies is solved, and more efficient encoding results are achieved.

CN116233385BActive Publication Date: 2025-10-31VIVO MOBILE COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111465446.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-03
Publication Date
2025-10-31
Estimated Expiration
2041-12-03

AI Technical Summary

Technical Problem

The existing technology for reordering point clouds using Hilbert codes is quite complex and fails to fully consider the spatial correlation of each coded point in the point cloud, resulting in reduced coding performance of the point cloud.

Method used

The target sorting method is determined based on the initial order and density of the point cloud to be encoded. The initial order and density reflect the spatial correlation of the points to be encoded in the point cloud. The target sorting method is then used to reorder and encode the point cloud.

Benefits of technology

It improves the encoding performance of point clouds and enhances encoding efficiency, especially under lossy encoding conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116233385B_ABST
    Figure CN116233385B_ABST
Patent Text Reader

Abstract

This application discloses a point cloud attribute encoding method, a point cloud decoding method, and a terminal, belonging to the field of point cloud processing technology. The point cloud attribute encoding method of this application includes: an encoding end acquiring a point cloud to be encoded; the point cloud to be encoded includes at least one attribute information, and each encoded point in the point cloud to be encoded includes an attribute value corresponding to the attribute information; the encoding end determines a target sorting method for the point cloud to be encoded based on an initial order corresponding to the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded, wherein the initial order is determined based on the attribute values ​​of the target encoded points in the point cloud to be encoded, and the density is determined according to the geometric information of the point cloud to be encoded and the number of encoded points in the point cloud to be encoded; the encoding end encodes the point cloud to be encoded based on the target sorting method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of point cloud processing technology, specifically relating to a point cloud attribute encoding method, a point cloud decoding method, and a terminal. Background Technology

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

[0003] In the process of attribute prediction encoding of point clouds, the point clouds need to be reordered. In related technologies, Hilbert codes are uniformly used to reorder the point clouds in order to reduce the impact of spatial transition points. However, the sorting method of reordering point clouds using Hilbert codes is relatively complex and does not take into account the spatial correlation between the encoded points in the point cloud, thus reducing the encoding performance of the point cloud. Summary of the Invention

[0004] This application provides a point cloud attribute encoding method, a point cloud attribute decoding method, and a terminal, which can solve the technical problem that the sorting method of reordering the geometric information of point clouds reduces the attribute encoding performance of point clouds.

[0005] Firstly, a point cloud attribute encoding method is provided, which includes:

[0006] The encoding end acquires a point cloud to be encoded; the point cloud to be encoded includes at least one type of attribute information, and each encoded point in the point cloud to be encoded includes an attribute value corresponding to the attribute information;

[0007] The encoding end determines the target sorting method of the point cloud to be encoded based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density corresponding to the point cloud to be encoded. The initial order is determined based on the attribute values ​​of the target encoding points in the point cloud to be encoded, and the density is determined based on the geometric information of the point cloud to be encoded and the number of encoding points in the point cloud to be encoded.

[0008] The encoding end encodes the point cloud to be encoded based on the target sorting method.

[0009] Secondly, a point cloud attribute encoding device is provided, comprising:

[0010] The first acquisition module is used to acquire a point cloud to be encoded; the point cloud to be encoded includes at least one type of attribute information, and each encoded point in the point cloud to be encoded includes an attribute value corresponding to the attribute information;

[0011] The first determining module is used to determine the target sorting method of the point cloud to be encoded based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density corresponding to the point cloud to be encoded. The initial order is determined based on the attribute values ​​of the target encoding points in the point cloud to be encoded, and the density is determined based on the geometric information of the point cloud to be encoded and the number of encoding points in the point cloud to be encoded.

[0012] The encoding module is used to encode the point cloud to be encoded based on the target sorting method.

[0013] Thirdly, a point cloud attribute decoding method is provided, which includes:

[0014] The decoding end acquires the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded; a target parameter is used to characterize the target sorting method corresponding to an attribute information;

[0015] The decoding end uses the target sorting method represented by the target parameters to decode the point cloud to be decoded.

[0016] Fourthly, a point cloud attribute decoding device is provided, comprising:

[0017] The second acquisition module is used to acquire the point cloud to be decoded, and at least one target parameter in the attribute parameter set of the point cloud to be decoded; a target parameter is used to characterize the target sorting method corresponding to an attribute information;

[0018] The decoding module is used to decode the point cloud to be decoded using the target sorting method represented by the target parameters.

[0019] Fifthly, a terminal is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect, or implementing the steps of the method as described in the third aspect.

[0020] In a sixth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the third aspect.

[0021] In a seventh aspect, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being configured to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the third aspect.

[0022] Eighthly, a computer program / program product is provided, which is stored in a storage medium and 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 the steps of the point cloud attribute decoding method as described in the third aspect.

[0023] In this embodiment, a point cloud to be encoded is obtained; a target sorting method for the point cloud to be encoded is determined based on the initial order of the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded; and the point cloud to be encoded is encoded based on the target sorting method. In this embodiment, both the initial order and the density of the point cloud to be encoded can reflect the spatial correlation between the encoded points in the point cloud. By using the initial order of the point cloud to be encoded, or the initial order and density of the point cloud to be encoded, to determine the target sorting method for reordering the point cloud, the spatial correlation between the encoded points in the point cloud is fully considered during the reordering process, thereby improving the encoding efficiency of the point cloud. Attached Figure Description

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

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

[0026] Figure 3 This is a flowchart of the point cloud attribute encoding method provided in the embodiments of this application;

[0027] Figure 4 This is a flowchart of the point cloud attribute decoding method provided in the embodiments of this application;

[0028] Figure 5 This is a structural diagram of the point cloud attribute encoding device provided in the embodiments of this application;

[0029] Figure 6 This is a structural diagram of the point cloud attribute decoding device provided in the embodiments of this application;

[0030] Figure 7 This is a structural diagram of the communication device provided in the embodiments of this application;

[0031] Figure 8 This is a schematic diagram of the hardware structure of the terminal provided in the embodiments of this application. Detailed Implementation

[0032] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0033] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0034] In this application embodiment, both the attribute encoding device corresponding to the point cloud attribute encoding method and the attribute decoding device corresponding to the point cloud attribute decoding method can be terminals. These terminals can also be called terminal devices or user terminals (User Equipment, UE). Terminals can be mobile phones, tablet computers, laptop computers, personal digital assistants (PDAs), handheld computers, netbooks, ultra-mobile personal computers (UMPCs), mobile internet devices (MIDs), augmented reality (AR) / virtual reality (VR) devices, robots, wearable devices or vehicle-mounted devices (VUEs), pedestrian terminals (PUEs), smart home devices (home appliances with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), game consoles, and personal computers. Terminal devices such as computers (PCs), ATMs, or self-service machines; wearable devices include smartwatches, smart bracelets, smart earphones, smart glasses, smart jewelry (smart bracelets, smart necklaces, smart anklets, smart ankle chains, etc.), smart wristbands, smart clothing, etc. It should be noted that the embodiments in this application do not limit the specific type of terminal.

[0035] For ease of understanding, the following describes some aspects of the embodiments of this application:

[0036] Please see Figure 1 ,like Figure 1 As shown, in current digital audio and video encoding and decoding technology standards, the geometric and attribute information of point clouds are encoded separately using the point cloud AVS attribute encoding device. First, the geometric information undergoes coordinate transformation to ensure the entire point cloud is contained within a bounding box, followed by coordinate quantization. Quantization primarily serves a scaling function. Because quantization rounds the geometric coordinates, some points have identical geometric information, known as duplicate points. Whether to remove duplicate points is determined by parameters. These two steps, quantization and duplicate point removal, are collectively known as voxelization. Next, the bounding box is partitioned into a multi-way tree, such as an octree, quadtree, or binary tree. In the multi-way tree-based geometric information encoding framework, the bounding box is divided into eight equal sub-cubes. The non-empty sub-cubes are further partitioned until a unit cube with 1x1x1 leaf nodes is obtained. The number of points in the leaf nodes is then encoded to generate a binary bitstream.

[0037] In geometric coding of point clouds based on multi-branch trees, the point to be coded needs to store the placeholder information of the neighboring nodes to predict and encode the placeholder information of the point to be coded. Thus, for the point to be coded that is close to the leaf node, a large amount of placeholder information needs to be stored, which occupies a large amount of memory space.

[0038] After geometric encoding, the geometric information is reconstructed for subsequent recoloring. Attribute encoding mainly targets color and reflectance information. First, it is determined whether a color space conversion is needed based on the parameters. If a color space conversion is needed, the color information is converted from the Red Green Blue (RGB) color space to the Luminance Color (YUV) color space. Then, the geometrically reconstructed point cloud is recolored using the original point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, after sorting the point cloud using Morton codes or Hilbert codes, the nearest neighbors of the point to be predicted are searched using geometric spatial relationships. The reconstructed attribute values ​​of the found neighbors are used to predict the predicted attribute value of the point to be predicted. Then, the difference between the true attribute value and the predicted attribute value is obtained to get the prediction residual. Finally, the prediction residual is quantized and encoded to generate a binary code stream.

[0039] It should be understood that the decoding process in digital audio and video codec technology standards corresponds to the encoding process described above. Specifically, the AVS attribute decoding device framework is as follows: Figure 2 As shown.

[0040] Currently, digital audio and video codec standards have the following technical problems:

[0041] In digital audio and video encoding and decoding technology standards, point clouds are geometrically encoded before attribute encoding. During attribute prediction encoding, Hilbert codes are used to reorder the point clouds. However, the Hilbert code reordering method is complex and does not consider the spatial correlation between the encoded points in the point cloud, thus reducing the encoding performance.

[0042] Given the above situation, how to improve the encoding performance of point clouds in the process of attribute prediction encoding is a technical problem that needs to be solved.

[0043] To address the aforementioned potential technical problems, embodiments of this application provide a point cloud attribute encoding method. The point cloud attribute encoding method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.

[0044] Please see Figure 3 , Figure 3 This is a flowchart of the point cloud attribute encoding method provided in this application. The point cloud attribute encoding method provided in this embodiment includes the following steps:

[0045] S101, the encoding end acquires the point cloud to be encoded.

[0046] The point cloud to be encoded in this step is a point cloud with geometric encoding or coded point cloud; 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 undergone recoloring and color space conversion.

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

[0048] The point cloud to be encoded in this step includes at least one type of attribute information. It should be understood that each type of attribute information corresponds to an attribute type, and each encoded point in the point cloud includes the attribute value corresponding to the attribute information.

[0049] For example, a point cloud to be encoded includes two attribute information: one attribute information represents reflectance, and the other attribute information represents color. Each encoded point in the point cloud includes an attribute value representing reflectance and an attribute value representing color.

[0050] S102, the encoding end determines the target sorting method of the point cloud to be encoded based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density corresponding to the point cloud to be encoded.

[0051] The initial order of the point cloud to be encoded is the input order of the point cloud during the attribute encoding process. The initial order is determined based on the attribute values ​​of the target encoding points in the point cloud. In this step, one optional implementation is to determine the target sorting method of the point cloud to be encoded based on its initial order; another optional implementation is to determine the target sorting method of the point cloud to be encoded based on its initial order and density. The target sorting method includes, but is not limited to, initial order, Hilbert code sorting, and Morton code sorting.

[0052] For details on the technical solution for determining the target sorting method of the point cloud to be encoded, please refer to the subsequent embodiments.

[0053] S103, the encoding end encodes the point cloud to be encoded based on the target sorting method.

[0054] In this step, after determining the target sorting method, the point cloud to be encoded is reordered using the target sorting method, and then the reordered point cloud to be encoded is encoded to generate a binary code stream.

[0055] In this step, a corresponding target parameter can be introduced into the attribute parameter set of the point cloud to be encoded. Based on the initial order and density of the point cloud, the value of the target parameter is determined. The target sorting method for reordering the point cloud to be encoded is determined according to the value of the target parameter. The above-mentioned target parameter is also called the reordering mode identifier.

[0056] The target parameter mentioned above can be expressed as sort_mode[num_attr_type], where num_attr_type represents the number of attribute types in the point cloud. For example, the target parameter can be represented as sort_mode[attrIdx], where attrIdx is used to identify different attribute types. For details, please refer to Table 1:

[0057] Table 1:

[0058] attrIdx Attribute type 0 color 1 reflectivity

[0059] As shown in Table 1, when the value of attrIdx is 0, the attribute type is color; when the value of attrIdx is 1, the attribute type is reflectance. Then sort_mode[0] represents the reordering method of color attribute information in the point cloud to be encoded, and sort_mode[1] represents the reordering method of reflectance attribute information in the point cloud to be encoded.

[0060] It should be understood that during the entropy encoding process of the point cloud to be encoded, the specific value of the target parameter can be written into the attribute parameter set so that the point cloud can be reordered according to the target parameter during the decoding process.

[0061] Under lossy encoding conditions, the point cloud attribute encoding provided in this application embodiment has higher encoding performance for point clouds than traditional point cloud attribute encoding. Please refer to Table 2 for a clearer understanding of the technical effects achieved by this application.

[0062] Table 2:

[0063] Test Sequence 1 -0.8% Test Sequence 2 -0.3% Test sequence 3 -1.2% Test sequence 4 -1.3%

[0064] The test sequences in Table 2 are obtained by comparing point clouds encoded using the point cloud attribute encoding provided in this application with point clouds encoded using traditional point cloud attribute encoding. BD-AttrReate in Table 2 is a parameter used to measure the encoding performance of attribute information. A negative BD-AttrReate indicates higher encoding performance, and the higher the absolute value of BD-AttrReate, the greater the gain in encoding performance. Table 2 shows that the point cloud attribute encoding provided in this application has higher encoding performance than traditional point cloud attribute encoding.

[0065] In this embodiment, a point cloud to be encoded is obtained; a target sorting method for the point cloud to be encoded is determined based on the initial order of the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded; and the point cloud to be encoded is encoded based on the target sorting method. In this embodiment, both the initial order and the density of the point cloud to be encoded can reflect the spatial correlation between the encoded points in the point cloud. By using the initial order of the point cloud to be encoded, or the initial order and density of the point cloud to be encoded, to determine the target sorting method for reordering the point cloud, the spatial correlation between the encoded points in the point cloud is fully considered during the reordering process, thereby improving the encoding efficiency of the point cloud.

[0066] Optionally, determining the target sorting method for the point cloud to be encoded based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded, includes:

[0067] If the initial order of the point cloud to be encoded is the first order, the encoding end determines the target sorting method as the initial order.

[0068] When the initial order of the point cloud to be encoded is the second order and the point cloud to be encoded is a dense point cloud, the encoding end determines that the target sorting method is Hilbert code sorting.

[0069] When the initial order of the point cloud to be encoded is the second order and the point cloud to be encoded is a sparse point cloud, the encoding end determines that the target sorting method is Morton code sorting.

[0070] The first order mentioned above is used to characterize the first correlation of the spatial coding points in the point cloud to be coded. The first correlation can be understood as the coding points in the point cloud to be coded having a strong spatial correlation, and the first order mentioned above can be understood as the input order of the point cloud to be coded being ordered. The second order mentioned above is used to characterize the second correlation of the spatial coding points in the point cloud to be coded. The first correlation can be understood as the coding points in the point cloud to be coded having a weak spatial correlation, and the second order mentioned above can be understood as the input order of the point cloud to be coded being unordered.

[0071] In this embodiment, if the initial order of the point cloud to be encoded is the first order, it indicates that there is spatial correlation between the encoded points in the point cloud to be encoded, and the target sorting method is determined to be the initial order.

[0072] If the initial order of the point cloud to be encoded is the second order and the point cloud to be encoded is a dense point cloud, it means that there may be multiple transition points in the point cloud to be encoded. Therefore, the target sorting method is determined to be Hilbert code sorting.

[0073] When the initial order of the point cloud to be encoded is the third order and the point cloud to be encoded is a sparse point cloud, it is possible that there are no transition points in the point cloud to be encoded, and the Morton code sorting with lower complexity can be determined as the target sorting method.

[0074] For easier understanding, please refer to Table 3:

[0075] Table 3:

[0076] sortModeIdx Target sorting method 0 Input order 1 Hilbert code sorting 2 Morton code sorting

[0077] In Table 3, sortModeIdx represents the value of the target parameter. As shown in Table 3, when sortModeIdx is 0, the target sorting method is determined to be the initial order; when sortModeIdx is 1, the target sorting method is determined to be Hilbert code sorting; and when sortModeIdx is 2, the target sorting method is determined to be Morton code sorting.

[0078] In this embodiment, the target sorting method is determined by taking into account the spatial correlation of each coding point in the point cloud to be encoded, thereby improving the coding performance of the point cloud.

[0079] The following details the technical solution for determining the initial order of the point cloud to be encoded:

[0080] Optionally, the method further includes:

[0081] The encoding end groups the point cloud to be encoded into N point cloud groups;

[0082] The encoding end determines the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target encoding point in each point cloud group;

[0083] The encoding end determines the target value based on the target attribute value and N corresponding to each point cloud group;

[0084] The encoding end determines the initial order based on the target value.

[0085] In this embodiment, after obtaining the point cloud to be encoded, the point cloud to be encoded is grouped into N point cloud groups, where N is a positive integer greater than or equal to 1, and the number of encoded points included in each point cloud group can be customized.

[0086] Alternatively, each point cloud group may contain the same number of coded points. For example, if the point cloud to be encoded contains 100 coded points, these 100 coded points may be divided into 10 point cloud groups, with each point cloud group containing 10 coded points.

[0087] Alternatively, there may be point cloud groups that contain a different number of coded points than other point cloud groups. For example, if the point cloud to be encoded contains 90 coded points, the 100 coded points can be divided into 5 point cloud groups, with the first, second, third, and fourth point cloud groups each containing 20 coded points, and the fifth point cloud group containing 10 coded points.

[0088] For each point cloud group, the target attribute value corresponding to the target coded point in the point cloud group can be determined based on the attribute value of the target coded point in the point cloud group. For the specific technical solution on how to determine the target attribute value corresponding to the point cloud group, please refer to the following embodiments.

[0089] In this embodiment, it can be determined whether a point cloud group is a target point cloud group based on the target attribute value corresponding to the point cloud group, wherein the encoded points in the target point cloud group have spatial correlation. Optionally, a target value can be determined based on the target attribute value and N corresponding to each point cloud group. The target value represents the proportion of the target point cloud group in all point cloud groups; based on the specific target value, the initial order of the point clouds to be encoded is determined.

[0090] Optionally, the initial order satisfies at least one of the following:

[0091] If the target value is greater than a first preset threshold, the initial order of the point cloud to be encoded is the first order;

[0092] When the target value is less than or equal to the first preset threshold, the initial order of the point cloud to be encoded is the second order.

[0093] The aforementioned first preset threshold can be an empirical threshold or a user-defined threshold. In this embodiment, if the target value is greater than the first preset threshold, it indicates that most of the coded points in the point cloud to be encoded have strong spatial correlation, and the initial order of the point cloud to be encoded is determined as an ordered first order.

[0094] If the target value is less than or equal to the first preset threshold, it indicates that most of the coded points in the point cloud to be encoded have weak spatial correlation, and the initial order of the point cloud to be encoded is determined as an unordered second order.

[0095] The following section details how to determine the target attribute values ​​corresponding to point cloud groupings:

[0096] Optionally, determining the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target coded point in each point cloud group includes:

[0097] The encoding end determines the attribute value corresponding to the first encoded point in the point cloud group as the target attribute value corresponding to the point cloud group; or,

[0098] The encoding end determines the average value of the attribute values ​​corresponding to all encoded points in the point cloud group as the target attribute value corresponding to the point cloud group.

[0099] In one optional implementation, the first encoded point in the point cloud group is determined as the target encoded point. In this implementation, the attribute value corresponding to the first encoded point in the point cloud group is determined as the target attribute value corresponding to the point cloud group.

[0100] Another alternative implementation is to determine all the encoded points in the point cloud group as the target encoded points. In this implementation, the average value of the attribute values ​​corresponding to all encoded points in the point cloud group is determined as the target attribute value corresponding to the point cloud group.

[0101] It should be understood that if the attribute type corresponding to the target attribute value is color attribute, the above attribute value can be obtained based on any of the Y, U, and V channels corresponding to the encoding point; if the attribute type corresponding to the target attribute value is reflectance, the reflectance of the encoding point can be directly obtained and used as the attribute value.

[0102] Optionally, determining the target value based on the target attribute value and N corresponding to each point cloud group includes:

[0103] For each first point cloud group, the encoding end calculates the difference between the target attribute value corresponding to the first point cloud group and the target attribute value corresponding to the second point cloud group.

[0104] When the difference is less than a second preset threshold, the encoding end determines the point cloud group as the target point cloud group.

[0105] The encoding end determines the target value based on the first value.

[0106] The first point cloud group mentioned above is any point cloud group other than the first point cloud group in the point cloud group to be encoded. The second point cloud group mentioned above is associated with the first point cloud group. Optionally, the second point cloud group mentioned above is a point cloud group in the point cloud to be encoded that is adjacent to the first point cloud group and located before the first point cloud group.

[0107] The aforementioned second preset threshold can be an empirical threshold or a threshold set by the user.

[0108] In this embodiment, the difference between the target attribute value corresponding to the first point cloud group and the target attribute value corresponding to the second point cloud group is calculated. If the difference is less than the second preset threshold, it indicates that there is a spatial correlation between the coded points in the first point cloud group and the coded points in the second point cloud group. Then, the first point cloud group is determined as the target point cloud group.

[0109] Optionally, the number of target point cloud groups in the point cloud to be encoded is determined as a first value, and the target value is determined based on the first value. For specific technical solutions, please refer to the following embodiments.

[0110] Optionally, determining the target value based on the first value includes:

[0111] The quotient of the first value and the second value is determined as the target value.

[0112] In this embodiment, the difference between N and a preset value can be determined as the second value, where the preset value represents the number of the first point cloud group in the point cloud to be encoded; that is, the preset value can be 1. The first value and the second value are divided to obtain the target value. It should be understood that in other embodiments, the first value and the second value can also be weighted and then divided to obtain the target value.

[0113] For easier understanding, please refer to the following formula:

[0114]

[0115] Where ratioOfSubGroup is the target value, SubGroupNum is the number of target point cloud groups, and GroupNum is the total number of point cloud groups in the point cloud to be encoded.

[0116] Optionally, the method further includes:

[0117] The encoding end determines a third value based on the geometric information of the point cloud to be encoded;

[0118] The encoding end determines the density value corresponding to the point cloud to be encoded based on the third value and the number of encoding points;

[0119] The encoding end determines the density of the point cloud to be encoded based on the density value.

[0120] The third value mentioned above represents the volume of the point cloud to be encoded. As mentioned above, the geometric information includes the length, width, and height information of the bounding box containing the point cloud to be encoded. Specifically, the third value can be obtained using the following formula:

[0121] sizeOfPointCloud=bounding_box_x×bounding_box_y×bounding_box_z

[0122] Where sizeOfPointCloud is the third value, bounding_box_x is the length of the bounding box containing the point cloud to be encoded, bounding_box_y is the width of the bounding box containing the point cloud to be encoded, and bounding_box_z is the height of the bounding box containing the point cloud to be encoded.

[0123] After determining the third value, divide the third value by the number of coded points in the point cloud to be coded to obtain the density value of the point cloud to be coded. Specifically, the density value can be obtained using the following formula:

[0124]

[0125] Where densityOfPoint is the density value, sizeOfPointCloud is the third value, and pointnum is the number of coded points in the point cloud to be coded.

[0126] In this embodiment, a third preset threshold is also provided. This third preset threshold can be an empirical threshold or a custom-set threshold. If the density value is less than the third preset threshold, the point cloud to be encoded is determined to be a dense point cloud; if the density value is greater than or equal to the third preset threshold, the point cloud to be encoded is determined to be a sparse point cloud.

[0127] The point cloud attribute decoding method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.

[0128] Please see Figure 4 , Figure 4 This is a flowchart of the point cloud attribute decoding method provided in this application. The point cloud attribute decoding method provided in this embodiment includes the following steps:

[0129] S201, the decoding end acquires the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded.

[0130] As described above, during the entropy encoding process of point clouds, the values ​​corresponding to the target parameters are written into the binary code stream. Thus, during the decoding process of the point cloud, the decoding end can obtain the target parameters from the attribute parameter set of the point cloud to be decoded. The number of these target parameters is greater than or equal to one, and each target parameter represents a target sorting method corresponding to a certain attribute information.

[0131] For example, when the point cloud to be encoded includes two attribute types, color and reflectance, the number of target parameters is 2.

[0132] S202, the decoding end uses the target sorting method represented by the target parameter to decode the point cloud to be decoded.

[0133] In this step, the reordering method of the point cloud to be decoded can be determined based on the value of the target parameter, and then the point cloud to be decoded can be decoded.

[0134] Please refer to Table 3. When the value of the target parameter is 0, the initial order, i.e. the input order of the point cloud to be decoded, is used to decode the point cloud; when the value of the target parameter is 1, Hilbert code sorting is used to decode the point cloud; when the value of the target parameter is 2, Morton code sorting is used to decode the point cloud.

[0135] In this embodiment, a point cloud to be decoded and at least one target parameter from the attribute parameter set of the point cloud to be decoded are obtained; the point cloud to be decoded is decoded using a target sorting method represented by the target parameter. In this embodiment, the sorting method for reordering the point cloud to be decoded is determined according to the target parameter from the attribute parameter set of the point cloud to be decoded. The sorting method represented by the target parameter is based on the initial order of the point cloud, or determined by the initial order and density. Both the initial order and density of the point cloud can reflect the spatial correlation of the points to be decoded in the point cloud, thereby improving decoding performance.

[0136] Optionally, if the target parameter is a first value, the target sorting method is the initial order; or,

[0137] When the target parameter is the second value, the target sorting method is Hilpert code sorting; or,

[0138] When the target parameter is a third value, the target sorting method is Morton code sorting.

[0139] In this embodiment, different values ​​can be assigned to the target parameters to determine the target sorting method.

[0140] Please refer to Table 3. When the target parameter is the first value, the target sorting method is determined as the initial order. The first value mentioned above can be 0.

[0141] When the target parameter is the second value, the target sorting method is determined to be Hilpert code sorting, where the second value can be 1.

[0142] When the target parameter is a third value, the target sorting method is determined to be Morton code sorting, where the third value can be 2.

[0143] The point cloud attribute encoding method provided in this application can be executed by a point cloud attribute encoding device. This application uses the example of a point cloud attribute encoding device executing the point cloud attribute encoding method to illustrate the point cloud attribute encoding device provided in this application.

[0144] like Figure 5 As shown, the point cloud attribute encoding device 500 includes:

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

[0146] The first determining module 502 is used to determine the target sorting method of the point cloud to be encoded based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density corresponding to the point cloud to be encoded.

[0147] The encoding module 503 is used to encode the point cloud to be encoded based on the target sorting method.

[0148] Optionally, the first determining module 502 is specifically used for:

[0149] If the initial order of the point cloud to be encoded is the first order, then the target sorting method is determined to be the initial order.

[0150] If the initial order of the point cloud to be encoded is the second order, and the point cloud to be encoded is a dense point cloud, then the target sorting method is determined to be Hilbert code sorting.

[0151] If the initial order of the point cloud to be encoded is the second order and the point cloud to be encoded is a sparse point cloud, then the target sorting method is determined to be Morton code sorting.

[0152] Optionally, the point cloud attribute encoding device 500 further includes:

[0153] The grouping module is used to group the point cloud to be encoded into N point cloud groups;

[0154] The second determining module is used to determine the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target coded point in each point cloud group;

[0155] The third determination module is used to determine the target value based on the target attribute value and N corresponding to each point cloud group;

[0156] The fourth determining module is used to determine the initial order based on the target value.

[0157] Optionally, the second determining module is specifically used for:

[0158] The attribute value corresponding to the first coded point in the point cloud group is determined as the target attribute value corresponding to the point cloud group; or,

[0159] The average value of the attribute values ​​corresponding to all coded points in the point cloud group is determined as the target attribute value corresponding to the point cloud group.

[0160] Optionally, the third determining module is specifically used for:

[0161] For each first point cloud group, calculate the difference between the target attribute value corresponding to the first point cloud group and the target attribute value corresponding to the second point cloud group;

[0162] If the difference is less than a second preset threshold, the point cloud group is determined as the target point cloud group;

[0163] The target value is determined based on the first value.

[0164] Optionally, the third determining module is further specifically used for:

[0165] The quotient of the first value and the second value is determined as the target value.

[0166] Optionally, the point cloud attribute encoding device 500 further includes:

[0167] The fifth determining module is used to determine the third value based on the geometric information of the point cloud to be encoded;

[0168] The sixth determining module is used to determine the density value corresponding to the point cloud to be encoded based on the third value and the number of encoded points;

[0169] The seventh determining module is used to determine the density of the point cloud to be encoded based on the density value.

[0170] In this embodiment, a point cloud to be encoded is obtained; a target sorting method for the point cloud to be encoded is determined based on the initial order of the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded; and the point cloud to be encoded is encoded based on the target sorting method. In this embodiment, both the initial order and the density of the point cloud to be encoded can reflect the spatial correlation between the encoded points in the point cloud. By using the initial order of the point cloud to be encoded, or the initial order and density of the point cloud to be encoded, to determine the target sorting method for reordering the point cloud, the spatial correlation between the encoded points in the point cloud is fully considered during the reordering process, thereby improving the encoding efficiency of the point cloud.

[0171] The point cloud attribute encoding device provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0172] The point cloud attribute decoding method provided in this application can be executed by a point cloud attribute decoding device. This application uses the example of a point cloud attribute decoding device executing the point cloud attribute decoding method to illustrate the point cloud attribute decoding device provided in this application.

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

[0174] The second acquisition module 601 is used to acquire the point cloud to be decoded, and at least one target parameter in the attribute parameter set of the point cloud to be decoded.

[0175] The decoding module 602 is used to decode the point cloud to be decoded using the target sorting method characterized by the target parameters.

[0176] In this embodiment, a point cloud to be decoded and at least one target parameter from the attribute parameter set of the point cloud to be decoded are obtained; the point cloud to be decoded is decoded using a target sorting method represented by the target parameter. In this embodiment, the sorting method for reordering the point cloud to be decoded is determined according to the target parameter from the attribute parameter set of the point cloud to be decoded. The sorting method represented by the target parameter is based on the initial order of the point cloud, or determined by the initial order and density. Both the initial order and density of the point cloud can reflect the spatial correlation of the points to be decoded in the point cloud, thereby improving decoding performance.

[0177] The point cloud attribute encoding device and point cloud attribute decoding device in this application embodiment can be electronic devices, such as electronic devices with an operating system, or components in electronic devices, such as integrated circuits or chips. The electronic device can be a terminal, or other devices besides a terminal. For example, the terminal can include, but is not limited to, the type of terminal 11 listed above; other devices can be servers, network attached storage (NAS), etc., and this application embodiment does not specifically limit the types.

[0178] The point cloud attribute encoding device provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0179] The point cloud attribute decoding device provided in this application embodiment can achieve... Figure 4 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0180] Optionally, such as Figure 7 As shown, this application embodiment also provides a communication device 700, including a processor 701 and a memory 702. The memory 702 stores a program or instructions that can run on the processor 701. For example, when the communication device 700 is a terminal, when the program or instructions are executed by the processor 701, they implement the various steps of the above-described point cloud attribute encoding method embodiment and achieve the same technical effect, or implement the various steps of the above-described point cloud attribute decoding method embodiment and achieve the same technical effect.

[0181] This application embodiment also provides a terminal, including a processor and a communication interface, wherein the processor is used to perform the following operations:

[0182] Obtain the point cloud to be encoded;

[0183] The target sorting method of the point cloud to be encoded is determined based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded.

[0184] The point cloud to be encoded is encoded based on the target sorting method.

[0185] Alternatively, the processor may be used to perform the following operations:

[0186] Obtain the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded;

[0187] The target sorting method characterized by the target parameters is used to decode the point cloud to be decoded.

[0188] This terminal embodiment corresponds to the aforementioned terminal-side method embodiment. All implementation processes and methods of the aforementioned method embodiments can be applied to this terminal embodiment and achieve the same technical effect. Specifically, Figure 8 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.

[0189] The terminal 800 includes, but is not limited to, components such as: radio frequency unit 801, network module 802, audio output unit 803, input unit 804, sensor 805, display unit 806, user input unit 807, interface unit 808, memory 809, and processor 810.

[0190] Those skilled in the art will understand that the terminal 800 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 810 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 8 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0191] It should be understood that, in this embodiment, the input unit 804 may include a graphics processing unit (GPU) 8041 and a microphone 8042. The GPU 8041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 806 may include a display panel 8061, which may be configured as a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 807 includes at least one of a touch panel 8071 and other input devices 8072. The touch panel 8071 is also called a touch screen. The touch panel 8071 may include a touch detection device and a touch controller. Other input devices 8072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.

[0192] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 801 can transmit it to the processor 810 for processing; the radio frequency unit x01 can also send uplink data to the network-side device. Typically, the radio frequency unit 801 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, and duplexers.

[0193] The memory 809 can be used to store software programs or instructions, as well as various data. The memory 809 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 809 may include volatile memory or non-volatile memory, or it may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 809 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.

[0194] Processor 810 may include one or more processing units; optionally, processor 810 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 810.

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

[0196] Obtain the point cloud to be encoded;

[0197] The target sorting method of the point cloud to be encoded is determined based on the initial order corresponding to the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded.

[0198] The point cloud to be encoded is encoded based on the target sorting method.

[0199] In this embodiment, a point cloud to be encoded is obtained; a target sorting method for the point cloud to be encoded is determined based on the initial order of the point cloud to be encoded, or based on the initial order and the density of the point cloud to be encoded; and the point cloud to be encoded is encoded based on the target sorting method. In this embodiment, both the initial order and the density of the point cloud to be encoded can reflect the spatial correlation between the encoded points in the point cloud. By using the initial order of the point cloud to be encoded, or the initial order and density of the point cloud to be encoded, to determine the target sorting method for reordering the point cloud, the spatial correlation between the encoded points in the point cloud is fully considered during the reordering process, thereby improving the encoding efficiency of the point cloud.

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

[0201] Obtain the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded;

[0202] The target sorting method characterized by the target parameters is used to decode the point cloud to be decoded.

[0203] In this embodiment, a point cloud to be decoded and at least one target parameter from the attribute parameter set of the point cloud to be decoded are obtained; the point cloud to be decoded is decoded using a target sorting method represented by the target parameter. In this embodiment, the sorting method for reordering the point cloud to be decoded is determined according to the target parameter from the attribute parameter set of the point cloud to be decoded. The sorting method represented by the target parameter is based on the initial order of the point cloud, or determined by the initial order and density. Both the initial order and density of the point cloud can reflect the spatial correlation of the points to be decoded in the point cloud, thereby improving decoding performance.

[0204] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described point cloud attribute encoding method embodiment or the various processes of the above-described point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0205] The processor is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0206] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described point cloud attribute encoding method embodiment, or to implement the various processes of the above-described point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0207] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0208] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described point cloud attribute encoding method embodiment or the various processes of the above-described point cloud attribute decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0209] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0210] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0211] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A point cloud attribute encoding method, characterized in that, The method includes: The encoding end acquires a point cloud to be encoded; the point cloud to be encoded includes at least one type of attribute information, and each encoded point in the point cloud to be encoded includes an attribute value corresponding to the attribute information; The encoding end determines the target sorting method of the point cloud to be encoded based on the correlation information corresponding to the point cloud to be encoded, or based on the correlation information and the density of the point cloud to be encoded. The correlation information is determined based on the attribute values ​​of the target encoding points in the point cloud to be encoded. The correlation information represents the correlation between spatial encoding points in the point cloud to be encoded. The density is determined according to the geometric information of the point cloud to be encoded and the number of encoding points in the point cloud to be encoded. The encoding end encodes the point cloud to be encoded based on the target sorting method.

2. The method according to claim 1, characterized in that, The method for determining the target sorting of the point cloud to be encoded based on the correlation information corresponding to the point cloud to be encoded, or based on the correlation information and the density of the point cloud to be encoded, includes: When the correlation information corresponding to the point cloud to be encoded is the first correlation, the encoding end determines the target sorting method as the initial order, which is the input order of the point cloud to be encoded in the attribute encoding process. When the correlation information corresponding to the point cloud to be encoded is the second correlation and the point cloud to be encoded is a dense point cloud, the encoding end determines that the target sorting method is Hilbert code sorting. When the correlation information corresponding to the point cloud to be encoded is the second correlation and the point cloud to be encoded is a sparse point cloud, the encoding end determines that the target sorting method is Morton code sorting. The first correlation is higher than the second correlation.

3. The method according to claim 1, characterized in that, The method further includes: The encoding end groups the point cloud to be encoded into N point cloud groups; N is a positive integer greater than or equal to 1. The encoding end determines the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target encoding point in each point cloud group; The encoding end determines the target value based on the target attribute value and N corresponding to each point cloud group; The encoding end determines the correlation information based on the target value.

4. The method according to claim 3, characterized in that, The correlation information satisfies at least one of the following: When the target value is greater than a first preset threshold, the correlation information corresponding to the point cloud to be encoded is the first correlation. When the target value is less than or equal to the first preset threshold, the correlation information corresponding to the point cloud to be encoded is the second correlation. The first correlation is higher than the second correlation.

5. The method according to claim 3, characterized in that, The step of determining the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target coded point in each point cloud group includes: The encoding end determines the attribute value corresponding to the first encoded point in the point cloud group as the target attribute value corresponding to the point cloud group; or, The encoding end determines the average value of the attribute values ​​corresponding to all encoded points in the point cloud group as the target attribute value corresponding to the point cloud group.

6. The method according to claim 3, characterized in that, The step of determining the target value based on the target attribute value and N corresponding to each point cloud group includes: For each first point cloud group, the encoding end calculates the difference between the target attribute value corresponding to the first point cloud group and the target attribute value corresponding to the second point cloud group; the first point cloud group is any point cloud group other than the first point cloud group in the point cloud group to be encoded, the second point cloud group is associated with the first point cloud group, and the second point cloud group is the point cloud group in the point cloud to be encoded that is adjacent to the first point cloud group and located before the first point cloud group; When the difference is less than the second preset threshold, the encoding end determines the first point cloud group as the target point cloud group. The encoding end determines the target value based on the first value, which is used to characterize the number of target point cloud groups in the point cloud to be encoded, and the target value characterizes the proportion of the target point cloud group in all point cloud groups.

7. The method according to claim 6, characterized in that, Determining the target value based on the first value includes: The quotient of the first value and the second value is determined as the target value; the second value is determined according to N.

8. The method according to claim 1, characterized in that The method further includes: The encoding end determines a third value based on the geometric information of the point cloud to be encoded; the third value is used to characterize the volume of the point cloud to be encoded. The encoding end determines the density value corresponding to the point cloud to be encoded based on the third value and the number of encoding points; The encoding end determines the density of the point cloud to be encoded based on the density value; wherein, if the density value is less than a third preset threshold, the point cloud to be encoded is determined to be a dense point cloud; or, if the density value is greater than or equal to the third preset threshold, the point cloud to be encoded is determined to be a sparse point cloud.

9. A point cloud attribute encoding device, characterized in that, include: The first acquisition module is used to acquire the point cloud to be encoded; The point cloud to be encoded includes at least one attribute information, and each encoded point in the point cloud to be encoded includes an attribute value corresponding to the attribute information; The first determining module is used to determine the target sorting method of the point cloud to be encoded based on the correlation information corresponding to the point cloud to be encoded, or based on the correlation information and the density of the point cloud to be encoded. The correlation information is determined based on the attribute values ​​of the target encoding points in the point cloud to be encoded. The correlation information represents the correlation between spatial encoding points in the point cloud to be encoded. The density is determined according to the geometric information of the point cloud to be encoded and the number of encoding points in the point cloud to be encoded. The encoding module is used to encode the point cloud to be encoded based on the target sorting method.

10. The point cloud attribute encoding device according to claim 9, characterized in that, The first determining module is specifically used for: If the correlation information corresponding to the point cloud to be encoded is the first correlation, the target sorting method is determined to be the initial order, which is the input order of the point cloud to be encoded in the attribute encoding process; If the correlation information corresponding to the point cloud to be encoded is the second correlation, and the point cloud to be encoded is a dense point cloud, then the target sorting method is determined to be Hilbert code sorting. If the correlation information corresponding to the point cloud to be encoded is the second correlation and the point cloud to be encoded is a sparse point cloud, then the target sorting method is determined to be Morton code sorting. The first correlation is higher than the second correlation.

11. The point cloud attribute encoding device according to claim 9, characterized in that, The point cloud attribute encoding device further includes: The grouping module is used to group the point cloud to be encoded into N point cloud groups; N is a positive integer greater than or equal to 1. The second determining module is used to determine the target attribute value corresponding to the point cloud group based on the attribute value corresponding to the target coded point in each point cloud group; The third determination module is used to determine the target value based on the target attribute value and N corresponding to each point cloud group; The fourth determining module is used to determine the correlation information based on the target value.

12. The point cloud attribute encoding device according to claim 11, characterized in that, The second determining module is specifically used for: The attribute value corresponding to the first coded point in the point cloud group is determined as the target attribute value corresponding to the point cloud group; or, The average value of the attribute values ​​corresponding to all coded points in the point cloud group is determined as the target attribute value corresponding to the point cloud group.

13. The point cloud attribute encoding device according to claim 11, characterized in that, The third determining module is specifically used for: For each first point cloud group, calculate the difference between the target attribute value corresponding to the first point cloud group and the target attribute value corresponding to the second point cloud group; the first point cloud group is any point cloud group other than the first point cloud group in the point cloud group to be encoded, the second point cloud group is associated with the first point cloud group, and the second point cloud group is the point cloud group in the point cloud to be encoded that is adjacent to the first point cloud group and located before the first point cloud group; If the difference is less than a second preset threshold, the point cloud group is determined as the target point cloud group; The target value is determined based on the first value; The first value is used to characterize the number of target point cloud groups in the point cloud to be encoded, and the target value characterizes the proportion of the target point cloud group in all point cloud groups.

14. The point cloud attribute encoding device according to claim 13, characterized in that, The third determining module is further specifically used for: The quotient of the first value and the second value is determined as the target value; the second value is determined according to N.

15. The point cloud attribute encoding device according to claim 9, characterized in that, The point cloud attribute encoding device further includes: The fifth determining module is used to determine a third value based on the geometric information of the point cloud to be encoded; the third value is used to characterize the volume of the point cloud to be encoded. The sixth determining module is used to determine the density value corresponding to the point cloud to be encoded based on the third value and the number of encoded points; The seventh determining module is used to determine the density of the point cloud to be encoded based on the density value; wherein, if the density value is less than a third preset threshold, the point cloud to be encoded is determined to be a dense point cloud; or, if the density value is greater than or equal to the third preset threshold, the point cloud to be encoded is determined to be a sparse point cloud.

16. A point cloud attribute decoding method, characterized in that, The method includes: The decoding end acquires the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded; a target parameter is used to characterize the target sorting method corresponding to an attribute information; The decoding end uses the target sorting method represented by the target parameters to decode the point cloud to be decoded; The attribute information includes at least color information and reflectance information, and the color information and the reflectance information correspond to their respective arrangement. Wherein, if the target parameter is a first value, the target sorting method is an initial order, which is the input order of the point cloud to be encoded during the attribute encoding process; or, When the target parameter is the second value, the target sorting method is Hilpert code sorting; or, When the target parameter is a third value, the target sorting method is Morton code sorting.

17. A point cloud attribute decoding device, characterized in that, include: The second acquisition module is used to acquire the point cloud to be decoded, and at least one target parameter from the attribute parameter set of the point cloud to be decoded. A target parameter is used to characterize the target sorting method corresponding to a certain attribute information; The decoding module is used to decode the point cloud to be decoded using the target sorting method characterized by the target parameters; The attribute information includes at least color information and reflectance information, and the color information and the reflectance information correspond to their respective arrangement. Wherein, if the target parameter is a first value, the target sorting method is an initial order, which is the input order of the point cloud to be encoded during the attribute encoding process; or, When the target parameter is the second value, the target sorting method is Hilpert code sorting; or, When the target parameter is a third value, the target sorting method is Morton code sorting.

18. A terminal, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the point cloud attribute encoding method as described in any one of claims 1-8, or to implement the steps of the point cloud attribute decoding method as described in claim 16.

19. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the point cloud attribute encoding method as described in any one of claims 1-8, or the steps of the point cloud attribute decoding method as described in claim 16.

Citation Information

Patent Citations

  • Point cloud attribute encoding method, decoding method, encoding equipment and decoding equipment

    CN111145090A

  • Point cloud attribute encoding and decoding method, device and system based on DCT

    CN111953998A