Point cloud decoding and coding method, device and system, storage medium and code stream

CN120476600APending Publication Date: 2025-08-12GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380090705.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-02-21
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

The storage space and transmission bandwidth limitations of massive 3D point cloud data cause point cloud data processing to become a bottleneck. Especially in the application of point cloud video, the amount of data far exceeds the corresponding 2D video, and efficient compression technology is required to achieve data management and transmission efficiency.

Method used

Provide a point cloud decoding method and encoding method, by obtaining the identifier from the point cloud code stream to determine whether it contains attribute-related parameters, thereby deciding whether to encode and decode the attribute information, using geometry-based point cloud compression (G-PCC) ) or video point cloud compression (V-PCC) encoding and decoding framework to reduce the encoding and transmission of unnecessary attribute-related parameters.

Benefits of technology

It effectively reduces the data volume of point cloud code streams, improves encoding and decoding efficiency, reduces storage and transmission requirements, and is suitable for the management and transmission of massive 3D point cloud data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120476600A_ABST
    Figure CN120476600A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a point cloud coding method, a point cloud decoding method and equipment, a storage medium, a point cloud coding and decoding system and a code stream. The decoding method comprises the following steps: acquiring a first identifier from a point cloud code stream; under the condition that the first identifier indicates that the point cloud code stream contains the attribute related parameters, decoding from the point cloud code stream to obtain the attribute related parameters; wherein the attribute related parameters comprise parameters used for decoding to obtain the attribute information. The coding method comprises the following steps: acquiring a first identifier corresponding to a to-be-coded point cloud; under the condition that the first identifier indicates that the point cloud code stream contains attribute related parameters, encoding the point cloud and then outputting a first point cloud code stream; wherein the first point cloud code stream comprises attribute information of the point cloud and parameters used for indicating decoding to obtain the attribute information. According to the scheme provided by the embodiment of the invention, the coding and decoding switch of the attribute related parameters can be controlled by utilizing the first identifier, and the data volume of the point cloud code stream in a related scene is further reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Point cloud decoding and encoding method and device, system, storage medium, and code stream Technical Field

[0001] The embodiments of the present disclosure relate to, but are not limited to, point cloud processing technology, and in particular to a point cloud encoding method, a point cloud decoding method and device, a storage medium, a point cloud encoding and decoding system, and a code stream. Background Art

[0002] A point cloud is a massive collection of points that expresses the spatial distribution and surface characteristics of an object within a common spatial reference frame. By obtaining the spatial coordinates of each sampling point on an object's surface, we obtain a three-dimensional point set, called a "point cloud." A point cloud is a set of randomly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.

[0003] Two-dimensional images contain information at every pixel, and their distribution is regular, so there's no need to record their location information. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so recording the location of each point in space is necessary to fully represent a point cloud. Similar to two-dimensional images, each location in the acquisition process has corresponding attribute information, typically an RGB color value, which reflects the object's color. For point clouds, in addition to color, the more common attribute information corresponding to each point is reflectance, which reflects the surface material of the object. Therefore, point cloud data typically includes geometric information (x, y, z) consisting of three-dimensional position information, and attribute information consisting of three-dimensional color information (R, G, B) and one-dimensional reflectance information (r).

[0004] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Because point clouds are directly sampled from real objects, they can provide a strong sense of realism while ensuring accuracy. While changes in point cloud data acquisition methods have made it possible to acquire large amounts of point cloud data, the processing of massive amounts of 3D point cloud data is facing bottlenecks due to storage space and transmission bandwidth constraints, as application demands grow.

[0005] Taking a point cloud video with a frame rate of 30 fps (frames per second) as an example, each frame contains 700,000 points, each with coordinate information (xyz, float) and color information (RGB, uchar). Therefore, the data volume of a 10-second point cloud video is approximately 0.7 million (4 Byte 3 + 1 Byte 3) 30 fps 10 seconds = 3.15 GB. For a 1280 x 720 2D video with a YUV sampling format of 4:2:0 and a frame rate of 24 fps, the data volume for 10 seconds is approximately 1280 x 720 12-bit 24 frames 10 seconds = 0.33 GB. A 10-second two-view 3D video has a data volume of approximately 0.33 x 2 = 0.66 GB. Therefore, the data volume of a point cloud video far exceeds that of a 2D or 3D video of the same length. Therefore, point cloud compression has become a key issue in promoting the development of the point cloud industry to better manage data, save server storage space, and reduce the transmission traffic and time between the server and client.

[0006] SUMMARY OF THE INVENTION

[0007] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.

[0008] The present disclosure provides a point cloud decoding method, including:

[0009] Obtain the first identifier from the point cloud code stream;

[0010] When the first identifier indicates that the point cloud code stream includes attribute-related parameters, decoding the point cloud code stream to obtain the attribute-related parameters;

[0011] The attribute-related parameters include: parameters used to decode and obtain attribute information.

[0012] In some embodiments of the present disclosure, obtaining the first identifier from the point cloud code stream includes:

[0013] Decoding the point cloud code stream to obtain a sequence parameter set;

[0014] The first identifier is obtained from the sequence parameter set.

[0015] In some embodiments of the present disclosure, obtaining the first identifier from the point cloud code stream includes:

[0016] Decoding and obtaining high-level syntax elements from the point cloud code stream;

[0017] Obtaining the first identifier from the high-level syntax element;

[0018] The high-level syntax elements include one or more of the following:

[0019] Sequence-level syntax elements, frame-level syntax elements, tile-level syntax elements, and slice-level syntax elements.

[0020] In some embodiments of the present disclosure, the attribute-related parameters include:

[0021] Attribute parameter set, attribute patch parameter set, or mesh attribute parameter set.

[0022] In some embodiments of the present disclosure, the point cloud code stream includes: geometry-based point cloud compression G-PCC point cloud code stream, video-based point cloud compression V-PCC point cloud code stream, audio and video coding standard point cloud compression AVS-PCC point cloud code stream or audio and video dynamic grid coding V-DMC point cloud code stream.

[0023] In some embodiments of the present disclosure, the first identifier includes: a parameter attribute_present_flag in the AVS-PCC point cloud code stream; wherein the attribute_present_flag is a binary variable, indicating that the point cloud code stream contains attribute-related parameters or indicating that the point cloud code stream does not contain attribute-related parameters.

[0024] In some embodiments of the present disclosure, the first identifier includes: the parameter num_attributes in the G-PCC point cloud code stream; wherein, the num_attributes greater than 0 indicates that the point cloud code stream contains attribute-related parameters, and the num_attributes equal to 0 indicates that the point cloud code stream does not contain attribute-related parameters.

[0025] The present disclosure also provides a point cloud encoding method, including:

[0026] Obtaining a first identifier corresponding to the point cloud to be encoded;

[0027] When the first identifier indicates that the point cloud code stream includes attribute-related parameters, encoding the point cloud and outputting a first point cloud code stream;

[0028] The first point cloud code stream includes attribute information of the point cloud and parameters for indicating decoding to obtain the attribute information.

[0029] In some embodiments of the present disclosure, the point cloud encoding method further includes: when the first identifier indicates that the point cloud code stream does not include attribute-related parameters, encoding the point cloud and outputting a second point cloud code stream;

[0030] The second point cloud code stream does not include attribute information of the point cloud, nor does it include parameters for indicating decoding to obtain attribute information.

[0031] In some embodiments of the present disclosure, the first identifier is obtained from a sequence parameter set corresponding to the point cloud.

[0032] In some embodiments of the present disclosure, the first identifier includes: a parameter attribute_present_flag in the Audio and Video Coding Standard Point Cloud Compression AVS-PCC point cloud code stream; wherein, the attribute_present_flag is a binary variable, indicating that the point cloud code stream contains attribute-related parameters or indicating that the point cloud code stream does not contain attribute-related parameters.

[0033] In some embodiments of the present disclosure, the first identifier includes: the parameter num_attributes in the G-PCC point cloud code stream; wherein, the num_attributes greater than 0 indicates that the point cloud code stream contains attribute-related parameters, and the num_attributes equal to 0 indicates that the point cloud code stream does not contain attribute-related parameters.

[0034] In some embodiments of the present disclosure, the point cloud encoding method further includes: adding the first identifier to a sequence parameter set corresponding to the point cloud.

[0035] In some embodiments of the present disclosure, the first identifier is written into one or more of the following high-level syntax elements of the point cloud code stream:

[0036] Sequence level syntax elements, frame level syntax elements, tile level syntax elements, and slice level syntax elements.

[0037] An embodiment of the present disclosure also provides a point cloud decoding device, comprising a processor and a memory storing a computer program that can be run on the processor, wherein when the processor executes the computer program, the point cloud decoding method as described in any embodiment of the present disclosure is implemented.

[0038] An embodiment of the present disclosure also provides a point cloud coding device, comprising a processor and a memory storing a computer program that can be run on the processor, wherein when the processor executes the computer program, the point cloud coding method as described in any embodiment of the present disclosure is implemented.

[0039] The embodiments of the present disclosure also provide a point cloud encoding and decoding system, which includes a point cloud decoding device as described in any embodiment of the present disclosure and / or a point cloud encoding device as described in any embodiment of the present disclosure.

[0040] An embodiment of the present disclosure also provides a non-volatile computer-readable storage medium, which stores a computer program, wherein the computer program, when executed by a processor, implements the point cloud decoding method described in any embodiment of the present disclosure or the point cloud encoding method described in any embodiment of the present disclosure.

[0041] The embodiment of the present disclosure further provides a code stream, wherein the code stream is generated according to the point cloud coding method as described in any embodiment of the present disclosure.

[0042] Still other aspects will become apparent upon reading and understanding the accompanying drawings and detailed description.

[0043] Summary of the Figures

[0044] The accompanying drawings are used to provide an understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the technical solutions of the present disclosure and do not constitute a limitation to the technical solutions of the present disclosure.

[0045] Figure 1 is a schematic diagram of the structure of a point cloud coding framework;

[0046] FIG2 is a schematic diagram of the structure of a point cloud decoding framework;

[0047] FIG3 is a schematic diagram of the structure of another point cloud encoding and decoding framework;

[0048] FIG4 is a flowchart of a point cloud decoding method according to an embodiment of the present disclosure;

[0049] FIG5 is a flowchart of a point cloud encoding method according to an embodiment of the present disclosure;

[0050] FIG6 is a flowchart of a point cloud encoding method according to another embodiment of the present disclosure;

[0051] FIG7 is a schematic diagram of the structure of a point cloud encoding / decoding device that can be used in an embodiment of the present disclosure.

[0052] Details

[0053] The present disclosure describes multiple embodiments, but the description is exemplary rather than restrictive, and it is obvious to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described in the present disclosure.

[0054] In the description of the present disclosure, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment described as "exemplary" or "for example" in the present disclosure should not be interpreted as being more preferred or advantageous than other embodiments. "And / or" in this article is a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. "Multiple" refers to two or more than two. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present disclosure, words such as "first" and "second" are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not limit them to be necessarily different.

[0055] When describing representative exemplary embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those skilled in the art, other orders of steps are also possible. Therefore, the specific order of the steps set forth in the specification should not be interpreted as a limitation on the claims. In addition, the claims to the method and / or process should not be limited to performing their steps in the order written, and those skilled in the art can readily understand that these orders can be changed and still remain within the spirit and scope of the disclosed embodiments.

[0056] Point clouds are three-dimensional representations of object surfaces and can be acquired through computer generation, 3D laser scanning, 3D photogrammetry, and other methods. Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, generating millions of point clouds per second; and 3D photogrammetry can obtain point clouds of dynamic real-world three-dimensional objects or scenes, generating tens of millions of point clouds per second. These technologies reduce the cost and time required to acquire point cloud data and improve data accuracy. While changes in point cloud data acquisition methods have made it possible to acquire large amounts of point cloud data, the processing of massive amounts of 3D point cloud data has encountered bottlenecks due to storage space and transmission bandwidth limitations, as application demands grow.

[0057] A point cloud refers to a collection of massive three-dimensional points. The points in the point cloud may include the point's position information (abbreviated as position) and the point's attribute information (abbreviated as attribute). In this article, the position information of a point in a point cloud may also be referred to as the geometric information or geometric data of the point cloud, and the attribute information of a point in a point cloud may also be referred to as the attribute data of the point cloud. For example, the position information of a point may be the three-dimensional coordinate information of the point. For example, the attribute information of a point includes, but is not limited to, one or more of color information, reflection intensity / reflectivity, transparency, and normal vector. The color information may be information in any color space. For example, the color information may be represented as the color of three channels (red, green, and blue) (RGB). For another example, the color information may be represented as luminance and chrominance information (YCbCr, YUV), where Y represents luminance (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference. For example, the reflectivity value reflects the surface material of an object.

[0058] For example, a point cloud obtained based on the principle of laser measurement can include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point. For another example, a point cloud obtained based on the principle of photogrammetry can include the three-dimensional coordinate information of the point and the color information of the point. For another example, a point cloud obtained by combining the principles of laser measurement and photogrammetry can include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.

[0059] For example, point clouds can be divided into the following categories according to the acquisition method:

[0060] First, static point cloud: the object is stationary and the device that obtains the point cloud is also stationary;

[0061] The second type of dynamic point cloud: the object is moving, but the device that obtains the point cloud is stationary;

[0062] The third type of dynamic point cloud acquisition: the device that acquires the point cloud is moving.

[0063] For example, point clouds can be divided into two categories according to their usage:

[0064] Category 1: Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and disaster relief robots;

[0065] Category 2: Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.

[0066] Since a point cloud is a collection of massive points, storing the point cloud not only consumes a large amount of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, it is necessary to compress the point cloud.

[0067] As of now, point clouds can be compressed through the point cloud coding framework.

[0068] The point cloud coding framework can be a geometry-based point cloud compression (G-PCC) codec framework or a video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or an AVS-PCC codec framework provided by the Audio Video Standard (AVS). The G-PCC codec framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud, and the V-PCC codec framework can be used to compress the second type of dynamic point cloud. The G-PCC codec framework is also known as the point cloud codec TMC13, and the V-PCC codec framework is also known as the point cloud codec TMC2.

[0069] The following describes the point cloud encoding and decoding framework applicable to the embodiments of the present disclosure by taking the G-PCC encoding and decoding framework as an example.

[0070] FIG1 is a schematic block diagram of a coding framework 100 provided by an embodiment of the present disclosure.

[0071] As shown in Figure 1, the encoding framework 100 can obtain the location and attribute information of a point cloud from a capture device. Point cloud encoding involves both location encoding and attribute encoding. In one embodiment, the location encoding process includes preprocessing the original point cloud, such as coordinate transformation and quantization to remove duplicate points; and then constructing an octree or prediction tree, followed by encoding to form a geometric bitstream.

[0072] The attribute encoding process includes: given the reconstruction information of the input point cloud's position information and the true value of the input point cloud's attribute information, selecting one of the two transformation modes to transform the point cloud, quantizing the transformed result, and performing arithmetic coding to form an attribute code stream.

[0073] As shown in Figure 1, position encoding can be implemented by the following units: a coordinate conversion (Tanmsform coordinates) unit 101, a quantization and removal of duplicate points (Quantize and remove points) unit (voxelization unit) 102, an octree analysis (Analyze octree) unit 103 or a prediction tree analysis (Analyze Predtree) unit 104, a geometry reconstruction (Reconstruct geometry) unit 105 and a first arithmetic encoding (Arithmetic enconde) unit 106.

[0074] in:

[0075] The coordinate conversion unit 101 can be used to convert the world coordinates of a point in the point cloud into relative coordinates. For example, the geometric coordinates of the point are subtracted from the minimum value of the x, y, and z coordinate axes, which is equivalent to a DC removal operation, to convert the coordinates of the point in the point cloud from world coordinates to relative coordinates.

[0076] The quantization and duplicate point removal unit 102 can reduce the number of coordinates through quantization. After quantization, previously different points may be assigned the same coordinates. Based on this, duplicate points can be removed through deduplication. For example, multiple clouds with the same quantized position but different attribute information can be merged into a single cloud through attribute conversion. In some embodiments of the present disclosure, the quantization and duplicate point removal unit 102 is an optional unit module.

[0077] The octree analysis unit 103 may encode the quantized point position information using an octree encoding scheme. For example, the point cloud may be partitioned into an octree, so that point positions correspond one-to-one with octree positions. Geometric encoding is performed by counting the point positions in the octree and setting their flags to 1.

[0078] The prediction tree analysis unit 104 can encode the position information of the quantized points using a prediction tree (Predtree) encoding method. For example, the point cloud is sorted, and the sorting methods that can be used include disorder, Morton order, azimuth order, or radial distance order. At the encoding end, the prediction tree structure is established by using two different methods, including: KD-Tree (high-latency slow mode) and using lidar calibration information to divide each point into different lasers and establish a prediction structure according to different lasers (low-latency fast mode). Next, based on the structure of the prediction tree, each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain a prediction residual, and the geometric prediction residual is quantized using a quantization parameter. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.

[0079] The first arithmetic coding unit 106 may perform arithmetic coding on the position information output by the octree analysis unit 103 or the prediction tree analysis unit 104 using an entropy coding method, i.e., the position information output by the octree analysis unit 103 or the prediction tree analysis unit 104 may be arithmetic coded to generate a geometry bitstream; the geometry bitstream may also be referred to as a geometry bitstream.

[0080] Attribute encoding can be achieved through the following units:

[0081] A color space conversion unit 110 , a transfer attributes unit 111 , a region adaptive hierarchical transform (RAHT) unit 112 , a lifting transform unit 113 , a quantization coefficients unit 114 and a second arithmetic coding unit 115 .

[0082] in:

[0083] The color space conversion unit 110 may be configured to convert the RGB color space of a point in the point cloud into a YCbCr format or other formats.

[0084] The attribute conversion unit 111 can be used to convert the attribute information of points in the point cloud to minimize attribute distortion. For example, the attribute conversion unit 111 can be used to obtain the true value of the attribute information of the point. For example, the attribute information can be the color information of the point. In this case, the attribute conversion unit 111 is used to recolor the point.

[0085] After the true value of the attribute information of the point is converted by the attribute conversion unit 111, any transformation unit can be selected to transform the point in the point cloud.

[0086] The transform unit may include a RAHT (Region Adaptive Hierarchal Transform) unit 112 or a lifting transform unit 113. The RAHT unit 112 directly performs a RAHT transform, while the lifting transform unit 113 relies on LOD (Level of Detail) partitioning to perform a distance-based lifting transform. The lifting transform unit 113 includes an LOD generation subunit 1131 and a lifting transform subunit 1132. Both transforms convert color information from the spatial domain to the frequency domain, resulting in high-frequency coefficients and low-frequency coefficients.

[0087] The quantization coefficient unit 114 may be used to quantize coefficients obtained after the attribute information of the point is transformed.

[0088] The second arithmetic coding unit 115 may perform entropy coding on the quantized coefficients using zero run length coding to obtain an attribute code stream. The attribute code stream may be bit stream information.

[0089] FIG2 is a schematic block diagram of a point cloud decoding framework 200 applicable to the embodiments of the present disclosure.

[0090] As shown in Figure 2, the decoding framework 200 can obtain the point cloud code stream generated by the encoding device and parse the code stream to obtain the position and attribute information of the points in the point cloud. Point cloud decoding includes position decoding and attribute decoding. In one embodiment, the position decoding process includes: performing arithmetic decoding on the geometric code stream; constructing an octree or prediction tree and then merging it to reconstruct the point position information to obtain reconstructed point position information; and performing coordinate transformation on the reconstructed point position information to obtain the point position information. The point position information can also be referred to as the point's geometric information.

[0091] The attribute decoding process includes: obtaining the residual value of the attribute information of the point in the point cloud by parsing the attribute code stream; obtaining the residual value of the attribute information of the point after dequantization by dequantizing the residual value of the attribute information of the point; based on the reconstruction information of the point position information obtained in the position decoding process, selecting one of the two inverse transformation modes to obtain the reconstructed value of the attribute information of the point; and performing color space deconversion on the reconstructed value of the attribute information of the point to obtain the decoded attribute information.

[0092] As shown in FIG2 , position decoding may be implemented by the following units: a first arithmetic decoding unit 201 , an octree reconstruction unit 202 or a predtree reconstruction unit 203 , a geometry reconstruction unit 204 , and an inverse transform coordinates unit 205 .

[0093] Attribute decoding can be implemented by the following units: a second arithmetic decoding unit 210, an inverse quantization unit 211, a RAHT unit 212, a lifting transform unit 213, and an inverse color space conversion unit 214. The lifting transform unit 213 includes an LOD generation subunit 2131 and a lifting transform subunit 2132.

[0094] It should be noted that decompression is the inverse process of compression. Similarly, the functions of the various units in the decoding framework 200 can refer to the functions of the corresponding units in the encoding framework 100.

[0095] The point cloud encoding and decoding framework applicable to the embodiments of the present disclosure is described below using the AVS-PCC encoding and decoding framework as an example.

[0096] Figure 3 is a schematic block diagram of another point cloud encoding and decoding framework 300 applicable to embodiments of the present disclosure. The encoding framework can obtain point cloud location and attribute information from an acquisition device. Point cloud encoding includes location encoding and attribute encoding. In one embodiment, the location encoding process includes: performing coordinate transformation 301 on the raw point cloud, quantizing and removing duplicate points 302, and other preprocessing; constructing an octree 303, followed by entropy encoding 304 to form a geometric code stream.

[0097] The attribute encoding process includes: first, determining whether to perform color space conversion 311. If color space conversion is performed, the color information is converted from RGB color space to YUV color space; then, determining whether to perform attribute interpolation 312. If interpolation is performed, attribute interpolation is performed based on the position information of the point cloud and the octree reconstruction information; by giving the octree reconstruction 305 information of the position information of the input point cloud and the true value of the attribute information of the input point cloud, selecting the attribute prediction 313 mode or the attribute transformation 314 mode to perform point cloud prediction or transformation, quantizing the predicted or transformed results 315, and performing entropy coding 316 to form an attribute code stream.

[0098] The decoding framework can obtain the point cloud bitstream generated by the encoding device and parse the bitstream to obtain the position and attribute information of the points in the point cloud. Point cloud decoding includes position decoding and attribute decoding. In one embodiment, the position decoding process includes: entropy decoding 321 of the geometric bitstream; reconstructing the octree 322 to obtain reconstructed information about the point position information; and performing an inverse coordinate transformation 323 on the reconstructed point position information to obtain the point position information. Point position information can also be referred to as point geometric information.

[0099] The attribute decoding process includes: entropy decoding 331 the attribute code stream to obtain the residual value or transformation value of the attribute information of the point in the point cloud; inverse quantizing 332 the residual value or transformation value of the attribute information of the point to obtain the inverse quantized attribute information of the point; based on the reconstruction information of the point position information obtained in the position decoding process, selecting one of the two inverse transformation modes (attribute prediction compensation 333 mode or attribute inverse transformation 334 mode) to obtain the reconstructed value of the attribute information of the point; performing color space inverse transformation 335 on the reconstructed value of the attribute information of the point to obtain the decoded attribute information.

[0100] It should be noted that the relevant descriptions of the embodiments of the present disclosure use terminology from G-PCC or AVS-PCC for ease of explanation. However, the solutions provided by the embodiments of the present disclosure are not limited to G-PCC or AVS-PCC. In fact, the technical solutions provided by the embodiments of the present disclosure can also be implemented in V-PCC, V-DMC (Video-Dynamic Mesh Code), and the subsequent versions and extensions of these standards.

[0101] In these feasible point cloud encoding and decoding frameworks, when encoding point cloud information, only the point cloud geometry information can be encoded, or both the geometry information and the attribute information can be encoded. Usually in the encoder, there are SPS (Sequence Parameter Set), GPS (Geometry Parameter Set) and APS (Attribute Parameter Set) to specify some high-level syntax elements of the sequence set, where SPS specifies some parameters common to the geometry information and attribute information of the sequence, while GPS only contains some sequence parameters of the geometry information, and APS only contains some sequence parameters of the attribute information. However, at present, when only the geometry information is encoded, APS also needs to be encoded, which will result in some waste of bit rate.

[0102] In the embodiments of the present disclosure, a point cloud refers to a collection of massive three-dimensional points, and the point cloud includes one or more of the following information of the points: geometric information (also called position information) and attribute information; the encoded, transmitted, and decoded point cloud data may include one or more of the following: a sequence parameter set, a geometric parameter set, an attribute parameter set, geometric information, and attribute information. In some coding and decoding frameworks, a point cloud is decomposed into a set of patches (Patch), and the corresponding point cloud includes one or more of the following: a geometric patch and an attribute patch. The encoded, transmitted, and decoded point cloud data may include one or more of the following: a sequence parameter set, a geometric patch parameter set, an attribute patch parameter set, a geometric patch, and an attribute patch. In some coding and decoding frameworks, a point cloud corresponds to a mesh model, and the corresponding point cloud includes one or more of the following: a three-dimensional (geometric) mesh and an attribute mesh. The encoded, transmitted, and decoded point cloud data may include one or more of the following: a sequence parameter set, a three-dimensional mesh parameter set, an attribute mesh parameter set, a three-dimensional mesh, and an attribute mesh. It can be seen that under different coding and decoding frameworks, geometric information and attribute information are described in different ways, and the corresponding coding and decoding parameters of the geometric information or attribute information are also different.

[0103] To this end, an embodiment of the present disclosure provides a point cloud decoding method, as shown in FIG4 , the method comprising:

[0104] Step 410: Obtain a first identifier from the point cloud code stream;

[0105] Step 420: When the first identifier indicates that the point cloud code stream includes attribute-related parameters, decode the point cloud code stream to obtain the attribute-related parameters;

[0106] The attribute-related parameters include: parameters used to decode and obtain attribute information.

[0107] In the point cloud decoding method provided by the embodiment of the present disclosure, the first identifier indicates that the point cloud code stream contains attribute-related parameters, or indicates that the point cloud code stream does not contain attribute-related parameters.

[0108] In some embodiments of the present disclosure, the method further includes:

[0109] According to the attribute-related parameters, attribute information is decoded from the point cloud code stream.

[0110] In some embodiments of the present disclosure, the point cloud code stream includes: geometry-based point cloud compression G-PCC point cloud code stream, video-based point cloud compression V-PCC point cloud code stream, audio and video coding standard point cloud compression AVS-PCC point cloud code stream or audio and video dynamic grid coding V-DMC point cloud code stream.

[0111] Accordingly, in point cloud code streams of different standards, the specific parameters corresponding to the first identifier are independently determined, and existing parameters can be reused or newly added, without limitation to specific aspects.

[0112] In some embodiments of the present disclosure, the attribute-related parameters include:

[0113] Attribute parameter set, attribute patch parameter set, or attribute mesh parameter set.

[0114] For example, in G-PCC or AVS-PCC, the decoder decodes and obtains attribute information according to the attribute parameter set (aps), that is, the attribute parameter set (aps) includes parameters for decoding and obtaining attribute information. For another example, in V-PCC, the decoder decodes and obtains the attribute patch according to the attribute patch parameter set, that is, the attribute patch parameter set includes parameters for decoding and obtaining the attribute patch. For another example, in V-DMC, the decoder decodes and obtains the attribute mesh according to the attribute mesh parameter set, that is, the attribute mesh parameter set includes parameters for decoding and obtaining the attribute mesh. In more codec frameworks, attribute-related parameters are not exemplified here one by one.

[0115] In some embodiments of the present disclosure, step 410 includes:

[0116] Decoding and obtaining a sequence parameter set (SPS) from the point cloud code stream;

[0117] The first identifier is obtained from the sequence parameter set.

[0118] Correspondingly, sps is obtained by decoding from the G-PCC point cloud code stream, or sps is obtained by decoding from the V-PCC point cloud code stream, or sps is obtained by decoding from the AVS-PCC point cloud code stream, and then the first identifier is obtained.

[0119] In some embodiments of the present disclosure, step 410 includes:

[0120] Decoding and obtaining high-level syntax elements from the point cloud code stream;

[0121] Obtaining the first identifier from the high-level syntax element;

[0122] The high-level syntax elements include one or more of the following:

[0123] Sequence-level syntax elements, frame-level syntax elements, tile-level syntax elements, and slice-level syntax elements.

[0124] It can be understood that the first identifier is written into at least one of the above-mentioned high-level syntax elements at the encoding end, and is sent to the decoding end after encoding. The decoding end obtains the high-level syntax elements after decoding the point cloud code stream, and then determines the first identifier. Under different codec frameworks, the high-level syntax elements included in the point cloud code stream are divided differently. According to the selected codec framework, the available high-level syntax elements can be selected accordingly, without being limited to specific aspects. In the embodiments of the present disclosure, this aspect is recorded in terms of G-PCC or AVS-PCC for ease of explanation.

[0125] In some embodiments of the present disclosure, the high-level syntax element is a sequence-level syntax element, and step 410 includes:

[0126] A sequence header is obtained by decoding the point cloud code stream, and the first identifier is obtained from the sequence header.

[0127] In some embodiments of the present disclosure, the point cloud code stream is an AVS-PCC point cloud code stream, and the first identifier includes: a parameter attribute_present_flag in the AVS-PCC point cloud code stream;

[0128] The attribute_present_flag is a binary variable that indicates whether the point cloud codestream contains attribute-related parameters or does not contain attribute-related parameters. For example, the binary variable takes the value of true or false, or the value of 1 or 0; for example, 1 indicates that the point cloud codestream contains attribute-related parameters, and 0 indicates that the point cloud codestream does not contain attribute-related parameters.

[0129] According to the AVS-PCC standard, the parameter attribute_present_flag is used to indicate whether the point cloud codestream contains attribute information. A value of '1' indicates that the current point cloud codestream contains attribute information (encoding); a value of '0' indicates that the current point cloud codestream does not contain attribute information (encoding). In some exemplary embodiments, the attribute-related parameter is an attribute parameter set, which is reused as the first identifier. A value of '1' indicates that the current point cloud codestream contains the attribute parameter set (encoding), and a value of '0' indicates that the current point cloud codestream does not contain the attribute parameter set (encoding).

[0130] In the case where the point cloud code stream is a code stream defined by other specifications, the first identifier may also reuse defined parameters or newly added parameters, without being limited to specific aspects.

[0131] In some embodiments of the present disclosure, when the first identifier indicates that the point cloud code stream does not contain attribute-related parameters, there is no need to decode the point cloud code stream to obtain the attribute-related parameters.

[0132] In some embodiments of the present disclosure, in the encoding / decoding method, the pseudo code for encoding / decoding the sequence header in the point cloud code stream is shown in Table 1 below, where the attribute_present_flag value is '1' indicating that the point cloud code stream contains the attribute parameter set sps, and the value is '0' indicating that the point cloud code stream does not contain the attribute parameter set; when the attribute_present_flag value is '1', the attribute parameter set sps is encoded or decoded to obtain the attribute parameter set sps.

[0133] Table 1 - Sequence Header

[0134] Correspondingly, the pseudo code for encoding / decoding the attribute header in the point cloud code stream is shown in Table 2 below. The attribute_present_flag value of '1' indicates that the point cloud code stream contains attribute information, and the value of '0' indicates that the point cloud code stream does not contain attribute information. When the attribute_present_flag value is '1', the attribute information is encoded or decoded to obtain the attribute information.

[0135] Table 2 - Attribute Header

[0136] In some embodiments of the present disclosure, the point cloud code stream is a G-PCC point cloud code stream, and the first identifier includes: the parameter num_attributes in the G-PCC point cloud code stream; wherein, the num_attributes is greater than 0, indicating that the point cloud code stream contains attribute-related parameters, and the num_attributes is equal to 0, indicating that the point cloud code stream does not contain attribute-related parameters.

[0137] According to the G-PCC standard, the parameter num_attributes is used to indicate how many attribute information is included in the point cloud codestream. A value of "0" indicates that the current point cloud codestream does not contain attribute information (encoding), and a value of "n" (n>0) indicates that the current point cloud codestream contains attribute information (encoding) of n attributes. For example, num_attributes = 2 means that the current point cloud codestream contains attribute information (encoding) of two attributes: color and reflectivity.

[0138] It can be seen that in the G-PCC codec framework, the first identifier can also reuse defined parameters; optionally, a new parameter can also be added as the first identifier, without being limited to a specific aspect.

[0139] In the point cloud decoding solution provided by the embodiment of the present disclosure, the received point cloud code stream may not contain attribute-related parameters based on the first identifier. Compared to some implementable solutions that implement codecs that only do not include attribute information in the point cloud code stream (including only geometric information), the point cloud codec solution provided by the embodiment of the present disclosure can eliminate the need to encode, transmit, and decode attribute-related parameters even when the point cloud code stream does not include attribute information (including only geometric information). This further reduces the amount of point cloud code stream data in this case and improves codec efficiency to a certain extent.

[0140] The present disclosure also provides a point cloud encoding method, as shown in FIG5 , including:

[0141] Step 510: Obtain a first identifier corresponding to the point cloud to be encoded;

[0142] Step 520: When the first identifier indicates that the point cloud code stream includes attribute-related parameters, encode the point cloud and output a first point cloud code stream;

[0143] The first point cloud code stream includes attribute information of the point cloud and parameters for indicating decoding to obtain the attribute information.

[0144] That is, the first point cloud code stream includes attribute information and attribute-related parameters of the point cloud; the attribute-related parameters include: parameters used to indicate decoding to obtain the attribute information.

[0145] In some embodiments of the present disclosure, as shown in FIG6 , the method further includes:

[0146] Step 530: When the first identifier indicates that the point cloud code stream does not contain attribute-related parameters, encode the point cloud and output a second point cloud code stream;

[0147] The second point cloud code stream does not include attribute information of the point cloud, nor does it include parameters for indicating decoding to obtain attribute information.

[0148] That is, the second point cloud code stream does not include the attribute information of the point cloud, nor does it include attribute-related parameters; the attribute-related parameters include: parameters used to indicate the attribute information obtained by decoding.

[0149] In the disclosed embodiments, the first and second point cloud streams include: a geometry-based point cloud compression (G-PCC) point cloud stream, a video-based point cloud compression (V-PCC) point cloud stream, an audio and video coding standard point cloud compression (AVS-PCC) point cloud stream, or an audio and video dynamic mesh coding (V-DMC) point cloud stream. The terms "first" and "second" are used solely to distinguish point cloud streams output under different coding scenarios. They do not distinguish between order or priority. These point cloud streams can be output under the same coding framework or different coding frameworks.

[0150] In some embodiments of the present disclosure, the attribute-related parameters include:

[0151] Attribute parameter set, attribute patch parameter set, or attribute mesh parameter set.

[0152] In some embodiments of the present disclosure, the first identifier is obtained from a sequence parameter set corresponding to the point cloud.

[0153] According to the G-PCC / V-PCC / AVS-PCC codec framework, based on the input point cloud and functional requirements, the point cloud data corresponding to the point cloud includes a sequence parameter set (SPS), which specifies one or more parameters common to the geometric information and attribute information of the sequence. Accordingly, the point cloud code stream output after encoding also contains the encoded sequence parameter set.

[0154] In some embodiments of the present disclosure, the AVS-PCC coding framework is used for point cloud coding, and the first identifier includes: a parameter attribute_present_flag in the AVS-PCC point cloud codestream; wherein the attribute_present_flag is a binary variable indicating whether the point cloud codestream contains attribute-related parameters or whether the point cloud codestream does not contain attribute-related parameters. For example, a value of 1 for attribute_present_flag indicates that the point cloud codestream contains attribute-related parameters, and a value of 0 for attribute_present_flag indicates that the point cloud codestream does not contain attribute-related parameters.

[0155] That is, the parameter attribute_present_flag in the sequence parameter set (sps) corresponding to the point cloud to be encoded is obtained as the first identifier. In some embodiments, the parameter attribute_present_flag is determined according to whether the point cloud includes attribute information, or is determined according to the requirements of the upper-layer application. When the point cloud does not include attribute information, the parameter attribute_present_flag is 0, and when the point cloud includes attribute information, the parameter attribute_present_flag is 1; or, when the upper-layer application indicates that attribute information is not required, the parameter attribute_present_flag is 0, and when the upper-layer application indicates that attribute information is required, the parameter attribute_present_flag is 1. Under the AVS-PCC coding framework, when attribute_present_flag is 0, attribute information is not written into the encoded output point cloud code stream, and when attribute_present_flag is 1, attribute information is written into the encoded output point cloud code stream. In some embodiments of the present disclosure, the parameter attribute_present_flag is used as the first identifier. Accordingly, in step 510, the value of the parameter attribute_present_flag is obtained.

[0156] In some embodiments of the present disclosure, a G-PCC coding framework is used for point cloud coding, and the first identifier includes: a parameter num_attributes in the G-PCC point cloud code stream; wherein, the num_attributes greater than 0 indicates that the point cloud code stream contains attribute-related parameters, and the num_attributes equal to 0 indicates that the point cloud code stream does not contain attribute-related parameters.

[0157] It can be seen that in some embodiments of the present disclosure, parameters defined in the relevant coding framework can be reused as the first identifier.

[0158] In some embodiments of the present disclosure, step 510 includes:

[0159] Obtain a first identifier corresponding to the point cloud to be encoded from an upper-layer application indication.

[0160] It can be understood that in the above embodiment, if the upper-layer application indicates that the output point cloud code stream does not require attribute-related parameters or attribute information, it is determined that the first identifier indicates that the point cloud code stream does not contain attribute-related parameters; if the upper-layer application indicates that the output point cloud code stream requires attribute-related parameters or attribute information, it is determined that the first identifier indicates that the point cloud code stream contains attribute-related parameters.

[0161] In some embodiments of the present disclosure, the point cloud encoding method further includes:

[0162] The first identifier is added to the sequence parameter set corresponding to the point cloud.

[0163] After the first identifier is added to the sequence parameter set, when point cloud encoding is performed, the sequence parameter set to which the first identifier has been added is encoded again according to the selected encoding and decoding standard and then written into the point cloud code stream.

[0164] It will be appreciated that in some embodiments of the present disclosure, when the first identifier reuses existing parameters in the selected codec standard, the sequence parameter set already contains the reused existing parameters, and there is no need to re-write the first identifier. That is, the first identifier included in the point cloud codestream encoded and output in steps 520 and 530 can be a newly added parameter or an existing parameter, and is not limited to a particular aspect.

[0165] In some embodiments of the present disclosure, the first identifier is written into one or more of the following high-level syntax elements of the point cloud code stream:

[0166] sequence-level syntax elements, frame-level syntax elements, tile-level syntax elements, and slice-level syntax elements;

[0167] The point cloud code stream includes at least one of the following: a first point cloud code stream and a second point cloud code stream.

[0168] Using the encoding scheme provided by the present disclosure, the first identifier is determined based on whether the point cloud contains attribute information, or based on the requirements of upper-layer applications. Furthermore, when encoding the point cloud, the first identifier is used to determine whether to encode attribute-related parameters. This allows for control over whether attribute-related parameters are encoded and written into the point cloud codestream. When only geometric information encoding is required (without attribute information encoding), the codestream size can be further reduced.

[0169] An embodiment of the present disclosure also provides a point cloud coding device, as shown in Figure 7, comprising a processor and a memory storing a computer program that can be run on the processor, wherein when the processor executes the computer program, the point cloud coding method as described in any embodiment of the present disclosure is implemented.

[0170] An embodiment of the present disclosure also provides a point cloud decoding device, as shown in Figure 7, comprising a processor and a memory storing a computer program that can be run on the processor, wherein when the processor executes the computer program, it implements the point cloud decoding method as described in any embodiment of the present disclosure.

[0171] An embodiment of the present disclosure further provides a point cloud encoding and decoding system, comprising a point cloud encoding device as described in any embodiment of the present disclosure and / or a point cloud decoding device as described in any embodiment of the present disclosure.

[0172] An embodiment of the present disclosure further provides a non-transitory computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the point cloud decoding method or the point cloud encoding method as described in any embodiment of the present disclosure.

[0173] An embodiment of the present disclosure further provides a code stream, wherein the code stream is generated according to the point cloud encoding method as described in any embodiment of the present disclosure.

[0174] The code stream includes a first point cloud code stream or a second point cloud code stream. The first point cloud code stream or the second point cloud code stream both include a first identifier for indicating whether the point cloud code stream includes attribute-related parameters or does not include attribute-related parameters; that is, based on the identifier, the decoding end determines whether to decode the attribute-related parameters.

[0175] The first identifier used in the embodiment of the present disclosure indicates whether the point cloud code stream contains attribute-related parameters. It can achieve the situation where there is no need to encode and decode the attribute information, and the attribute-related parameters do not need to be encoded and decoded, so as to further reduce the data volume of the point cloud code stream and improve the encoding and decoding efficiency in this application scenario to a certain extent.

[0176] In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or codes on or transmitted via a computer-readable medium and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium corresponding to a tangible medium such as a data storage medium, or a communication medium that facilitates the transfer of a computer program from one place to another, such as according to a communication protocol. In this manner, a computer-readable medium may generally correspond to a non-transitory tangible computer-readable storage medium or a communication medium such as a signal or carrier wave. A data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for implementing the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0177] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Furthermore, any connection may also be referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwaves, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient (transient) media, but rather refer to non-transient tangible storage media. As used herein, disk and optical disk include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, or Blu-ray disc, among others, where disks typically reproduce data magnetically, while optical discs use lasers to reproduce data optically. Combinations of the above should also be included within the scope of computer-readable media.

[0178] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Thus, the term "processor," as used herein, may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into a combined codec. Furthermore, the techniques may be fully implemented in one or more circuits or logic elements.

[0179] The technical solutions of the embodiments of the present disclosure can be implemented in a wide variety of devices or equipment, including wireless mobile phones, integrated circuits (ICs), or a group of ICs (e.g., chipsets). Various components, modules, or units are described in the embodiments of the present disclosure to emphasize the functional aspects of the devices configured to perform the described techniques, but they do not necessarily need to be implemented by different hardware units. Instead, as described above, the various units can be combined in a codec hardware unit or provided by a collection of interoperable hardware units (including one or more processors as described above) in combination with appropriate software and / or firmware.

[0180] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media generally embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

Claims

1. A point cloud decoding method, comprising: Obtain a first identifier from the point cloud code stream; When the first identifier indicates that the point cloud code stream includes attribute-related parameters, decoding the point cloud code stream to obtain the attribute-related parameters; The attribute-related parameters include: parameters used for decoding and obtaining attribute information.

2. The point cloud decoding method according to claim 1, wherein: The obtaining a first identifier from the point cloud code stream includes: Decoding the point cloud code stream to obtain a sequence parameter set; The first identifier is obtained from the sequence parameter set.

3. The point cloud decoding method according to claim 1, wherein: The obtaining a first identifier from the point cloud code stream includes: Decoding and obtaining high-level syntax elements from the point cloud code stream; Acquire the first identifier from the high-level syntax element; The high-level syntax elements include one or more of the following: Sequence level syntax elements, frame level syntax elements, tile level syntax elements, and slice level syntax elements.

4. The point cloud decoding method according to any one of claims 1 to 3, wherein: The attribute-related parameters include: An attribute parameter set, an attribute patch parameter set, or an attribute mesh parameter set.

5. The point cloud decoding method according to any one of claims 1 to 3, wherein: The point cloud code stream includes: geometry-based point cloud compression G-PCC point cloud code stream, video-based point cloud compression V-PCC point cloud code stream, audio and video coding standard point cloud compression AVS-PCC point cloud code stream or audio and video dynamic grid coding V-DMC point cloud code stream.

6. The point cloud decoding method according to any one of claims 1 to 3, wherein: The first identifier includes: a parameter attribute_present_flag in the AVS-PCC point cloud code stream; wherein the attribute_present_flag is a binary variable, indicating that the point cloud code stream contains attribute-related parameters or indicating that the point cloud code stream does not contain attribute-related parameters; or, The first identifier includes: a parameter num_attributes in a G-PCC point cloud code stream; wherein, if num_attributes is greater than 0, it indicates that the point cloud code stream contains attribute-related parameters, and if num_attributes is equal to 0, it indicates that the point cloud code stream does not contain attribute-related parameters.

7. A point cloud encoding method, comprising: Obtaining a first identifier corresponding to the point cloud to be encoded; When the first identifier indicates that the point cloud code stream includes attribute-related parameters, encoding the point cloud and outputting a first point cloud code stream; The first point cloud code stream includes attribute information of the point cloud and parameters for indicating the attribute information obtained by decoding.

8. The point cloud encoding method according to claim 7, further comprising: When the first identifier indicates that the point cloud code stream does not contain attribute-related parameters, encoding the point cloud and outputting a second point cloud code stream; The second point cloud code stream does not include the attribute information of the point cloud, nor does it include parameters for indicating the attribute information obtained by decoding.

9. The point cloud coding method according to claim 7 or 8, wherein: The first identifier is obtained from a sequence parameter set corresponding to the point cloud.

10. The point cloud coding method according to claim 7 or 8, wherein: The first identification includes: Parameter attribute_present_flag in the point cloud code stream of the audio and video coding standard point cloud compression AVS-PCC; wherein the attribute_present_flag is a binary variable, indicating that the point cloud code stream contains attribute-related parameters or indicating that the point cloud code stream does not contain attribute-related parameters; or, The first identifier includes: a parameter num_attributes in a G-PCC point cloud code stream; wherein, if num_attributes is greater than 0, it indicates that the point cloud code stream contains attribute-related parameters, and if num_attributes is equal to 0, it indicates that the point cloud code stream does not contain attribute-related parameters.

11. The point cloud encoding method according to claim 7 or 8, further comprising: The first identifier is added to the sequence parameter set corresponding to the point cloud.

12. The point cloud encoding method according to claim 7 or 8, wherein: The first identifier is written into one or more of the following high-level syntax elements of the point cloud code stream: Sequence level syntax elements, frame level syntax elements, tile level syntax elements, and slice level syntax elements.

13. A point cloud decoding device, comprising a processor and a memory storing a computer program executable on the processor, wherein: When the processor executes the computer program, the point cloud decoding method according to any one of claims 1 to 6 is implemented.

14. A point cloud coding device, comprising a processor and a memory storing a computer program executable on the processor, wherein: When the processor executes the computer program, the point cloud encoding method according to any one of claims 7 to 12 is implemented.

15. A point cloud encoding and decoding system, wherein: It includes a point cloud decoding device as described in claim 13 and / or a point cloud encoding device as described in claim 14.

16. A non-transitory computer-readable storage medium storing a computer program, wherein: The computer program implements the method according to any one of claims 1 to 12 when executed by a processor.

17. A code stream, wherein The code stream is generated according to the point cloud encoding method as described in any one of claims 7 to 12.