Point cloud encoding method, point cloud decoding method, point cloud encoding and decoding system, point cloud encoder and point cloud decoder

By independently determining the prediction mode of attribute information in point cloud encoding, the problem of low encoding efficiency caused by the combination of prediction mode decision and attribute information reconstruction in the prior art is solved, and a more efficient encoding and decoding process is achieved.

JP7673198B2Active Publication Date: 2025-05-08GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023536205
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-12-28
Publication Date
2025-05-08
Estimated Expiration
2040-12-28

AI Technical Summary

Technical Problem

In point cloud encoding, the decision process of prediction mode is combined with the reconstruction process of attribute information, resulting in a decrease in encoding efficiency.

Method used

By using geometric information in the point cloud to independently determine the prediction mode of attribute information, the prediction mode decision process and the reconstruction process of attribute information are separated in the encoding and decoding process to realize parallel processing.

Benefits of technology

Improves the efficiency of point cloud encoding and decoding, and enhances processing speed and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007673198000025
    Figure 0007673198000025
  • Figure 0007673198000026
    Figure 0007673198000026
  • Figure 0007673198000027
    Figure 0007673198000027
Patent Text Reader

Abstract

The present application provides a point cloud encoding method, a point cloud decoding method, a point cloud encoding and decoding system, a point cloud encoder and a point cloud decoder, which determine a prediction mode of attribute information of a current point according to geometric information of a point in a point cloud, in this way, the process of determining the prediction mode and the process of reconstructing attribute information of a point in a point cloud are decoupled, and the two processes can be performed in parallel, further improving the efficiency of encoding / decoding.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to the technical field of point cloud encoding / decoding, and in particular to a point cloud encoding method, a point cloud decoding method, a point cloud encoding and decoding system, a point cloud encoder and a point cloud decoder. [Background technology]

[0002] The collecting device collects the object surface to form point cloud data, which includes hundreds of thousands of points or more. In the video production process, the point cloud data is transmitted between the point cloud encoding device and the point cloud decoding device in the form of a point cloud media file. However, such a large number of points brings challenges to the transmission, so the point cloud encoding device needs to compress the point cloud data before transmission.

[0003] Compression of point cloud data mainly includes compression of geometric information and compression of attribute information, and during compression of attribute information, redundant information in the point cloud data is reduced or removed by prediction, for example, by obtaining one or more neighboring points of the current point from the encoded points, and predicting the attribute information of the current point based on the attribute information of the neighboring points.

[0004] Currently, the prediction mode of the current point is determined based on the reconstructed value of the attribute information of the adjacent points, and the process of determining the prediction mode and the process of reconstructing the attribute information are combined, which reduces the effect of point cloud coding. Summary of the Invention [Problem to be solved by the invention]

[0005] SUMMARY OF THE DISCLOSURE The embodiments of the present application provide a point cloud encoding method, a point cloud decoding method, a point cloud encoding and decoding system, a point cloud encoder and a point cloud decoder to improve point cloud encoding efficiency. [Means for solving the problem]

[0006] According to a first aspect, the present application provides a point cloud encoding method, the method comprising: Obtaining geometric information and attribute information of a current point in the point cloud; determining K neighboring points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; determining a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point; obtaining a residual value of the attribute information of the current point based on a predicted value of the attribute information of the current point; encoding the residual value of the attribute information of the current point to generate a point cloud bitstream.

[0007] According to a second aspect, an embodiment of the present application provides a point cloud decoding method, the method comprising: Decoding the point cloud bitstream to obtain geometric information and attribute information of a current point in the point cloud; determining K neighboring points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; determining a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point.

[0008] According to a third aspect, the present application provides a point cloud encoder adapted to perform the method of the first aspect or any embodiment thereof, in particular the encoder comprising functional units adapted to perform the method of the first aspect or any embodiment thereof.

[0009] According to a fourth aspect, the present application provides a point cloud decoder adapted to perform the method of the second aspect or any embodiment thereof, in particular the decoder comprising functional units adapted to perform the method of the second aspect or any embodiment thereof.

[0010] According to a fifth aspect, there is provided a point cloud encoder comprising a processor and a memory, the memory storing a computer program, the processor calling and executing the computer program stored in the memory to perform the method of the first aspect above or any embodiment thereof.

[0011] According to a sixth aspect, there is provided a point cloud decoder comprising a processor and a memory, the memory storing a computer program, the processor calling and executing the computer program stored in the memory to perform the method of the second aspect above or any embodiment thereof.

[0012] According to a seventh aspect, there is provided a point cloud encoding and decoding system comprising a point cloud encoder and a point cloud decoder, the point cloud encoder performing the method of the first aspect or any of its embodiments above, and the point cloud decoder performing the method of the second aspect or any of its embodiments above.

[0013] According to an eighth aspect, there is provided a chip for implementing the method according to any one of the first and second aspects or each embodiment thereof. Specifically, the chip includes a processor that retrieves and executes a computer program from a memory to cause a device in which the chip is implemented to implement the method according to any one of the first and second aspects or each implementation thereof.

[0014] According to a ninth aspect, there is provided a computer-readable storage medium having stored thereon a computer program for causing a computer to carry out the method of any one of the first to second aspects above or each embodiment thereof.

[0015] According to a tenth aspect there is provided a computer program product comprising computer program instructions for causing a computer to carry out the method of any one of the first to second aspects above or respective embodiments thereof.

[0016] According to an eleventh aspect, there is provided a computer program which, when executed on a computer, causes the computer to carry out the method of any one of the first to second aspects above or each embodiment thereof. Effect of the Invention

[0017] Based on the above technical solution, the prediction mode of the attribute information of the current point is determined according to the geometric information of the points in the point cloud, in this way, the process of determining the prediction mode and the process of reconstructing the attribute information of the points in the point cloud are decoupled, and the two processes can be performed in parallel, further improving the efficiency of encoding / decoding. [Brief description of the drawings]

[0018] [Figure 1] FIG. 1 is an exemplary block diagram of a point cloud encoding and decoding system 100 according to an embodiment of the present application. [Diagram 2] FIG. 2 is an exemplary block diagram of a point cloud encoder 200 according to an embodiment of the present application. [Diagram 3] 3 is an exemplary block diagram of a decoder 300 according to an embodiment of the present application; [Figure 4] FIG. 4 is a partial block diagram of an attribute encoding module 400 according to an embodiment of the present application. [Diagram 5] FIG. 5 is a partial block diagram of an attribute decoding module 500 according to an embodiment of the present application. [Figure 6] FIG. 1 is a schematic diagram of prediction at the encoding end in one embodiment. [Figure 7] FIG. 2 is a schematic diagram of prediction at the decoding end of one embodiment. [Figure 8] 6 is an exemplary flow chart of a point cloud encoding method 600 according to an embodiment of the present application. [Figure 9] 6 is an exemplary flowchart of a point cloud encoding method 600a according to an embodiment of the present application. [Figure 10] 7 is an exemplary flowchart of a point cloud encoding method 700 according to an embodiment of the present application. [Figure 11]8 is an exemplary flow chart of a point cloud decoding method 800 according to an embodiment of the present application. [Figure 12] 8 is an exemplary flowchart of a point cloud decoding method 800a according to an embodiment of the present application. [Figure 13] 9 is an exemplary flow chart of a point cloud decoding method 900 according to an embodiment of the present application. [Figure 14] FIG. 1 is an exemplary block diagram of a point cloud encoder 10 according to an embodiment of the present application. [Figure 15] FIG. 2 is an exemplary block diagram of a point cloud decoder 20 according to an embodiment of the present application. [Figure 16] 1 is an exemplary block diagram of an electronic device 30 according to an embodiment of the present application. [Figure 17] FIG. 1 is an exemplary block diagram of a point cloud encoding and decoding system 40 according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] The present application may be applied in the technical field of point cloud compression.

[0020] To facilitate understanding of the embodiments of the present application, we first provide a brief description of relevant concepts related to the embodiments of the present application.

[0021] A Point Cloud refers to a set of discrete points randomly distributed in space that represent the spatial structure and surface attributes of a 3D object or a 3D scenario.

[0022] Point cloud data is a specific recording form of a point cloud, and a point in the point cloud may include position information of the point and attribute information of the point. For example, the position information of the point may be three-dimensional coordinate information of the point. The position information of the point may also be called geometric information of the point. For example, the attribute information of the point may include color information and / or reflectance, etc. For example, the color information may be information in any color space. For example, the color information may be RGB. In another example, the color information may be luminance chroma (YUV: YcbCr) information. For example, Y indicates luma, Cb (U) indicates blue chromatic difference, Cr (V) indicates red chromatic difference, and U and V indicate chroma, and are used to describe color difference information. For example, a point in a point cloud obtained based on a laser measurement principle may include three-dimensional coordinate information of the point and laser reflectance of the point. Also, for example, a point in a point cloud obtained based on a photography measurement principle may include three-dimensional coordinate information of the point and color information of the point. Also, for example, points in a point cloud obtained by combining laser measurement and photography measurement principles may include three-dimensional coordinate information of the points, laser reflectance of the points, and color information of the points.

[0023] Approaches for acquiring point cloud data include, but are not limited to, at least one of the following: (1) Generated by a computer device. The computer device can generate point cloud data based on virtual three-dimensional objects and virtual three-dimensional scenarios. (2) Acquired by three-dimensional (3D) laser scanning. The 3D laser scanning can acquire point cloud data of a static real-world three-dimensional object or three-dimensional scenario, and can acquire millions of point cloud data per second. (3) Acquired by 3D photography measurement. The point cloud data of the real-world visual scenario is acquired by collecting a real-world visual scenario with a 3D photography device (i.e., a camera device with a set of cameras or multiple camera lenses and sensors), and the 3D photography can be used to acquire point cloud data of a dynamic real-world three-dimensional object or three-dimensional scenario. (4) Acquired by a medical device point cloud data of biological tissues and organs. In the medical field, medical equipment such as magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic positioning information can be used to obtain point cloud data of biological tissues and organs.

[0024] Depending on the acquisition approach, point clouds can be divided into dense and sparse point clouds.

[0025] According to the timing type of the data, the point clouds are divided into a first type static point cloud, a second type dynamic point cloud, and a third type dynamic acquisition point cloud.

[0026] The first type is static point cloud: that is, the object is static and the device that acquires the point cloud is also static.

[0027] Second type: Dynamic point cloud: The object is dynamic, but the device that acquires the point cloud is static.

[0028] Third type: Dynamic acquisition point cloud: The equipment that acquires the point cloud is dynamic.

[0029] Depending on the purpose of the point cloud, it can be divided into two types.

[0030] Type 1: Machine-sensing point cloud, which can be used for scenes such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue robots.

[0031] Type 2: Human-eye-sensing point cloud, which can be used in point cloud application scenes such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive dialogue.

[0032] FIG. 1 is an exemplary block diagram of a point cloud encoding and decoding system 100 according to an embodiment of the present application. It should be noted that FIG. 1 is merely an example, and the point cloud encoding and decoding system of the embodiment of the present application includes, but is not limited to, that shown in FIG. 1. As shown in FIG. 1, the point cloud encoding and decoding system 100 includes an encoding device 110 and a decoding device 120. Here, the encoding device encodes (may be understood as compressing) point cloud data to generate a bitstream, and transmits the bitstream to a decoding device. The decoding device decodes the bitstream generated by the encoding device encoding to obtain decoded point cloud data.

[0033] The encoding device 110 in the embodiments of the present application may be understood as a device having a point cloud encoding function, and the decoding device 120 may be understood as a device having a point cloud decoding function, that is, the encoding device 110 and the decoding device 120 in the embodiments of the present application include a wider range of devices, such as smartphones, desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, video game consoles, vehicle computers, etc.

[0034] In some embodiments, encoding device 110 may transmit the encoded point cloud data (e.g., a bitstream) to decoding device 120 over channel 130. Channel 130 may include one or more media and / or devices capable of transmitting the encoded point cloud data from encoding device 110 to decoding device 120.

[0035] In one example, the channel 130 includes one or more communication media that enable the encoding device 110 to directly transmit the encoded point cloud data to the decoding device 120 in real time. In this example, the encoding device 110 can modulate the encoded point cloud data based on a communication standard and transmit the modulated point cloud data to the decoding device 120. Here, the communication media includes wireless communication media such as a radio frequency spectrum, and illustratively, the communication media may include wired communication media such as one or more physical transmission paths.

[0036] In another example, the channel 130 includes a storage medium that can store the point cloud data encoded by the encoding device 110. The storage medium can include various locally accessible data storage media, such as optical disks, DVDs, flash memory, etc. In this example, the decoding device 120 can obtain the encoded point cloud data from the storage medium.

[0037] In another example, the channel 130 may include a storage server that can store the point cloud data encoded by the encoding device 110. In this example, the decoding device 120 can download the stored encoded point cloud data from the storage server. Alternatively, the storage server can store the encoded point cloud data and transmit the encoded point cloud data to the decoding device 120, such as a web server (e.g., a website), a file transfer protocol (FTP) server, or the like.

[0038] In some embodiments, encoding device 110 includes a point cloud encoder 112 and an output interface 113, where output interface 113 may include a modulator / demodulator (modem) and / or a transmitter.

[0039] In some embodiments, the encoding device 110 may further include a point cloud source 111 in addition to the point cloud encoder 112 and the input interface 113 .

[0040] The point cloud source 111 may include at least one of a point cloud collection device (e.g., a scanner), a point cloud archive, a point cloud input interface, and a computer graphics system, where the point cloud input interface is used to receive point cloud data from a point cloud content provider and the computer graphics system is used to generate the point cloud data.

[0041] The point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a bitstream. The point cloud encoder 112 transmits the encoded point cloud data directly to the decoding device 120 via the output interface 113. The encoded point cloud data can further be stored in a storage medium or a storage server for subsequent reading by the decoding device 120.

[0042] In some embodiments, the decoding device 120 includes an input interface 121 and a point cloud decoder 122 .

[0043] In some embodiments, the decoding device 120 may further include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .

[0044] Here, the input interface 121 includes a receiver and / or a modem. The input interface 121 can receive the encoded point cloud data via a channel 130.

[0045] The point cloud decoder 122 is configured to decode the encoded point cloud data to obtain decoded point cloud data, and transmit the decoded point cloud data to the display device 123.

[0046] The display device 123 displays the decoded point cloud data. The display device 123 may be integrated with the decoding device 120 or may be located external to the decoding device 120. The display device 123 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.

[0047] Furthermore, FIG. 1 is only an example, and the technical solutions of the embodiments of the present application are not limited to FIG. 1, for example, the technology of the present application may be applied to single-sided point cloud encoding or single-sided point cloud decoding.

[0048] Current point cloud encoders may adopt the Geometry Point Cloud Compression (G-PCC) encoding / decoding framework or the Video Point Cloud Compression (V-PCC) encoding / decoding framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC encoding / decoding framework provided by the Audio Video Standard (AVS). Both G-PCC and AVS-PCC are symmetrical to static sparse point clouds, and their encoding frameworks are almost the same. The G-PCC encoding / decoding framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud, and the V-PCC encoding / decoding framework can be used to compress the second type of dynamic point cloud. The G-PCC encoding / decoding framework is also called point cloud encoder / decoder TMC13, and the V-PCC encoding / decoding framework is also called point cloud encoder / decoder TMC2.

[0049] In the following, a point cloud encoder and a point cloud decoder to which the embodiments of the present application are suitable will be described using the G-PCC encoding / decoding framework as an example.

[0050] FIG. 2 is an exemplary block diagram of a point cloud encoder 200 according to an embodiment of the present application.

[0051] As can be seen from the above description, a point in a point cloud can include point position information and point attribute information, so the encoding of a point in a point cloud mainly includes position encoding and attribute encoding. In some embodiments, the position information of a point in a point cloud can also be called geometric information, and correspondingly, the position encoding of a point in a point cloud can also be called geometric encoding.

[0052] The process of positional coding includes the following steps: points in the point cloud are preprocessed, such as coordinate transformation, quantization and removing duplicate points, then the preprocessed point cloud is geometrically coded, such as constructing an octet tree, and geometrically coded based on the constructed octet tree to form a geometric bit stream; at the same time, the positional information of each point in the point cloud data is reconstructed based on the positional information output by the constructed octet tree, and the reconstructed value of the positional information of each point is obtained.

[0053] The attribute coding process includes the following steps: Given the reconstruction information of the position information of the input point cloud and the original values ​​of the attribute information, select one of three prediction modes to perform point cloud prediction, quantize the predicted result, and perform arithmetic coding to form an attribute bitstream.

[0054] As shown in FIG. 2, the positional coding is This can be realized by a coordinate transformation unit 201, a quantize and remove points unit 202, an octree analysis unit 203, a reconstruct geometry unit 204 and a first arithmetic encoding unit 205.

[0055] The coordinate transformation unit 201 can be configured to transform the world coordinates of the points in the point cloud into relative coordinates, for example, by subtracting the minimum values ​​of the x, y and z coordinate axes from the geometric coordinates of the points, respectively, which corresponds to a DC removal operation, thereby transforming the coordinates of the points in the point cloud from the world coordinates into relative coordinates.

[0056] The quantization and duplicate point removal unit 202 can reduce the number of coordinates through quantization, and after quantization, the original different points may be given the same coordinates, and based on this, the duplicate points can be removed through a duplicate removal operation, for example, multiple groups with the same quantization position and different attribute information can be merged into one group through attribute conversion. In some embodiments of the present application, the quantization and duplicate point removal unit 202 is a substitution unit module.

[0057] The octree analysis unit 203 can use an octree encoding method to encode the position information of the quantized points. For example, the point group is divided according to the shape of an octree, so that the positions of the points can correspond one-to-one to the positions of the octree, and the positions of the points in the octree are counted and their flags are set to 1 to perform geometric encoding.

[0058] The geometric reconstruction unit 204 performs position reconstruction based on the position information output by the octree analysis unit 203, and can obtain a reconstructed value of the position information of each point in the point cloud data.

[0059] The first arithmetic coding unit 205 performs arithmetic coding on the position information output by the octree parsing unit 203 using an entropy coding method, that is, it can generate a geometric bitstream on the position information output by the octree parsing unit 203 using an arithmetic coding method, and the geometric bitstream can also be called a geometry bitstream.

[0060] The attribute encoding is This can be realized by a color space conversion unit 210, a transfer attributes unit 211, a region adaptive hierarchical transform (RAHT) unit 212, a predicting transform unit 213, a lifting transform unit 214, a quantize coefficients unit 215 and a second arithmetic coding unit 216.

[0061] It should be explained that the point cloud encoder 200 may include more, fewer, or different functional components than those shown in FIG.

[0062] The color space conversion unit 210 may be configured to convert the RGB color space of the points in the point cloud to a YCbCr format or other format.

[0063] The attribute transformation unit 211 may be configured to transform attribute information of points in the point cloud to minimize attribute distortion. For example, the attribute transformation unit 211 may be configured to obtain original values ​​of attribute information of points. For example, the attribute information may be color information of points.

[0064] After the original value of the attribute information of the point is transformed by the attribute transformation unit 211, an arbitrary prediction unit can be selected to predict a point in the point cloud. The prediction unit may include a RAHT 212, a predicting transform unit 213 and a lifting transform unit 214.

[0065] In other words, any one of the RAHT 212, the predicting transform unit 213, and the lifting transform unit 214 may be configured to predict attribute information of points in the point cloud to obtain a predicted value of the attribute information of the points, and obtain a residual value of the attribute information of the points based on the predicted value of the attribute information of the points. For example, the residual value of the attribute information of the points may be a value obtained by subtracting the predicted value of the attribute information of the points from the original value of the attribute information of the points.

[0066] In one embodiment of the present application, the predictive transformation unit 213 can be further configured to generate a level of detail (LOD). The LOD generation process includes: obtaining Euclidean distances between points based on the position information of the points in the point cloud; and dividing the points into different detail representation layers based on the Euclidean distances. In one embodiment, after sorting the Euclidean distances, different ranges of Euclidean distances can be divided into different detail representation layers. For example, one point can be randomly selected as the first detail representation layer. Then, the Euclidean distance between the remaining points and the point is calculated, and the points whose Euclidean distance meets the first threshold requirement are classified into the second detail representation layer. The centroid of the points in the second detail representation layer is obtained, and the Euclidean distance between the points other than the first and second detail representation layers and the centroid is calculated, and the points whose Euclidean distance meets the second threshold are classified into the third detail representation layer. By analogy therewith, all points are classified into the detail representation layer. By adjusting the Euclidean distance threshold, the number of points in each LOD layer can be gradually increased. It should be understood that the LOD division method may adopt other methods, and the present application is not limited thereto.

[0067] It should be noted that the point cloud may be directly split into one or more layers of detail, or the point cloud may be split into multiple point cloud slices, and then each point cloud slice may be split into one or more LOD layers.

[0068] For example, the point cloud can be divided into multiple point cloud slices, and the number of points in each point cloud slice can be 550,000 to 1.1 million. Each point cloud slice can be considered as an independent point cloud. Each point cloud slice can be further divided into multiple detail layers, and each detail layer includes multiple points. In one embodiment, the division of the detail layers can be performed based on Euclidean distance between points.

[0069] The quantization unit 215 may be configured to quantize the residual value of the attribute information of the point. For example, when the quantization unit 215 is connected to the prediction transformation unit 213, the quantization unit may be configured to quantize the residual value of the attribute information of the point output by the prediction transformation unit 213.

[0070] For example, the residual values ​​of the point attribute information output by the predictive transformation unit 213 are quantized using a quantization step to improve system performance.

[0071] The second arithmetic coding unit 216 can use zero run length coding to perform entropy coding on the residual value of the attribute information of the point to obtain an attribute bitstream, which can be bitstream information.

[0072] FIG. 3 is an exemplary block diagram of a decoder 300 according to an embodiment of the present application.

[0073] As shown in Fig. 3, the decoding framework 300 can obtain a point cloud bitstream from an encoding device, and parse the bitstream to obtain position information and attribute information of points in the point cloud. The decoding of the point cloud includes position decoding and attribute decoding.

[0074] The process of positional decoding includes: performing arithmetic decoding on the geometric bit stream; constructing and integrating an octree to reconstruct the positional information of the points to obtain reconstructed information of the positional information of the points; and performing coordinate transformation on the reconstructed information of the positional information of the points to obtain the positional information of the points. The positional information of the points can also be called geometric information of the points.

[0075] The attribute decoding process includes: obtaining a residual value of the attribute information of the points in the point cloud by analyzing the attribute bit stream; performing inverse quantization on the residual value of the attribute information of the points to obtain the inverse quantized residual value of the attribute information of the points; selecting one from three prediction modes, i.e., RAHT, prediction change and lifting change, to perform point cloud prediction based on the reconstruction information of the position information of the points obtained in the position decoding process to obtain a predicted value, adding the predicted value to the residual value to obtain a reconstructed value of the attribute information of the points; and performing color space inverse transform on the reconstructed value of the attribute information of the points to obtain a decoded point cloud.

[0076] As shown in FIG. 3, the positional decoding is This can be realized by a first arithmetic decoding unit 301 , a synthesize octree unit 302 , a reconstruct geometry unit 303 and an inverse transform coordinates unit 304 .

[0077] The attribute encoding is This can be realized by a second arithmetic decoding unit 310, an inverse quantize unit 311, a RAHT unit 312, a predicting transform unit 313, a lifting transform unit 314 and an inverse transform colors unit 315.

[0078] It should be noted that decompression is the inverse process of compression, and similarly, the function of each unit in the decoder 300 can refer to the function of the corresponding unit in the encoder 200. Furthermore, the point cloud decoder 300 may include more, less, or different functional components than those shown in FIG.

[0079] For example, the decoder 300 can divide the point cloud into multiple LODs based on the Euclidean distance between the points in the point cloud, and sequentially decode the attribute information of the points in the LODs, for example, calculate the number of zeros (zero_cnt) in the zero run-length coding technique, and decode the residual based on the zero_cnt, and the decoding framework 200 can perform inverse quantization based on the decoded residual value, and add the inverse quantized residual value to the predicted value of the current point to obtain the reconstructed value of the point cloud until the decoding of the entire point cloud is completed. The current point is used as the point closest to the points in the subsequent LOD, and the reconstructed value of the current point is used to predict the attribute information of the subsequent point.

[0080] As can be seen from the above Fig. 2, in terms of function, the point cloud encoder 200 mainly includes two parts: a position encoding module and an attribute encoding module, where the position encoding module is configured to encode position information of the point cloud to form a geometric bitstream, and the attribute encoding module is configured to encode attribute information of the point cloud to form an attribute bitstream. This application mainly relates to the encoding of attribute information, and the following will introduce the attribute encoding module in the point cloud encoder related to this application with reference to Fig. 4.

[0081] Fig. 4 is a partial block diagram of an attribute encoding module 400 according to an embodiment of the present application, which can be understood as a unit configured to realize attribute information encoding in the point cloud encoder 200 shown in Fig. 2 above. As shown in Fig. 4, the attribute encoding module 400 includes: a pre-processing unit 410, a residual unit 420, a quantization unit 430, a prediction unit 440, a dequantization unit 450, a reconstruction unit 460, a filtering unit 470, a decoding buffer unit 480, and a coding unit 490. It should be noted that the attribute encoding module 400 may further include more, less, or different functional components.

[0082] In some embodiments, the pre-processing unit 410 may include the color space conversion unit 210 and the attribute conversion unit 211 shown in FIG.

[0083] In some embodiments, the quantization unit 430 may be understood as the quantized coefficient unit 215 in FIG. 2 above, and the encoding unit 490 may be understood as the second arithmetic coding unit 216 in FIG. 2 above.

[0084] In some embodiments, the prediction unit 440 may include the RAHT 212, the prediction transformation unit 213, and the lifting transformation unit 214 shown in Fig. 2. The prediction unit 440 is specifically configured to obtain reconstruction information of point position information in the point cloud, and select any one of the RAHT 212, the prediction transformation unit 213, and the lifting transformation unit 214 to predict the attribute information of the point in the point cloud according to the reconstruction information of the point position information, so as to obtain a prediction value of the attribute information of the point.

[0085] The residual unit 420 can obtain a residual value of the attribute information of the point in the point cloud based on the original value of the attribute information of the point in the point cloud and the reconstructed value of the attribute information, for example, by subtracting the reconstructed value of the attribute information from the original value of the attribute information of the point to obtain the residual value of the attribute information of the point.

[0086] The quantization unit 430 can quantize the residual value of the attribute information, specifically, the quantization unit 430 quantizes the residual value of the attribute information of the point based on a quantization parameter (QP) value associated with the point cloud. The point cloud encoder can adjust the degree of quantization applied to the point by adjusting the QP value associated with the point cloud.

[0087] The inverse quantization unit 450 can inverse quantize the residual values ​​of the quantized attribute information respectively, and reconstruct the residual values ​​of the attribute information from the residual values ​​of the quantized attribute information.

[0088] The reconstruction unit 460 may add residual values ​​of the reconstructed attribute information to the prediction values ​​generated by the prediction unit 440 to generate reconstructed values ​​of the attribute information of the points in the point cloud.

[0089] The filtering unit 470 may remove or reduce noise in the reconstruction operation.

[0090] The decoding buffer unit 480 can store the reconstructed values ​​of the attribute information of the points in the point cloud. The prediction unit 440 can use the reconstructed values ​​of the attribute information of the points to predict the attribute information of other points.

[0091] As can be seen from the above Fig. 3, in terms of function, the point cloud decoder 300 mainly includes two parts: a position decoding module and an attribute decoding module, where the position decoding module is configured to decode the geometric bitstream of the point cloud to obtain the position information of the points, and the attribute decoding module is configured to decode the attribute bitstream of the point cloud to obtain the attribute information of the points. In the following, the attribute decoding module in the point cloud decoder related to the present application will be introduced with reference to Fig. 5.

[0092] Fig. 5 is a partial block diagram of an attribute decoding module 500 according to an embodiment of the present application, which can be understood as a unit configured to realize attribute bitstream decoding in the point cloud decoder 300 shown in Fig. 3 above. As shown in Fig. 5, the attribute decoding module 500 includes: a decoding unit 510, a prediction unit 520, a dequantization unit 530, a reconstruction unit 540, a filtering unit 550 and a decoding buffer unit 560. It should be noted that the attribute decoding module 500 may include more, less or different functional components.

[0093] The attribute decoding module 500 may receive an attribute bitstream. The decoding unit 510 may extract syntax elements from the attribute bitstream by parsing the attribute bitstream. As part of parsing the attribute bitstream, the decoding unit 510 may parse the encoded syntax elements in the attribute bitstream. The prediction unit 520, the inverse quantization unit 530, the reconstruction unit 540, and the filtering unit 550 may decode attribute information based on the syntax elements extracted from the attribute bitstream.

[0094] In some embodiments, the prediction unit 520 can determine a prediction mode for a point based on one or more syntax elements parsed from the bitstream and predict attribute information of the point using the determined prediction mode.

[0095] The inverse quantization unit 530 may inverse quantize (i.e., dequantize) the residual values ​​of the quantized attribute information associated with the points in the point cloud to obtain the residual values ​​of the attribute information of the points. The inverse quantization unit 530 may determine the quantization degree using the QP value associated with the point cloud.

[0096] The reconstruction unit 540 reconstructs the attribute information of the points in the point cloud using the residual value of the attribute information of the points in the point cloud and the predicted value of the attribute information of the points in the point cloud. For example, the reconstruction unit 540 can add the residual value of the attribute information of the points in the point cloud to the predicted value of the attribute information of the points to obtain a reconstructed value of the attribute information of the points.

[0097] The filtering unit 550 may remove or reduce noise in the reconstruction operation.

[0098] The attribute decoding module 500 can store the reconstructed values ​​of the attribute information of the points in the point cloud in the decoding buffer unit 560. The attribute decoding module 500 can use the reconstructed values ​​of the attribute information in the decoding buffer unit 560 as a reference point for subsequent prediction, or can transmit the reconstructed values ​​of the attribute information to a display device for display.

[0099] The basic process of encoding / decoding attribute information of a point cloud is as follows: At the encoding end, the attribute information of the point cloud data is pre-processed to obtain the original value of the attribute information of the point in the point cloud. The prediction unit 410 selects one of the above three prediction methods based on the reconstructed value of the position information of the point in the point cloud to predict the attribute information of the point in the point cloud, and obtains the predicted value of the attribute information. The residual unit 420 can calculate the residual value of the attribute information based on the original value of the attribute information of the point in the point cloud and the predicted value of the attribute information, that is, the difference between the original value of the attribute information of the point in the point cloud and the predicted value of the attribute information is used as the residual value of the attribute information of the point in the point cloud. The residual value is quantized by the quantization unit 430, which can remove information that is not sensitive to the human eye and can eliminate visual redundancy. The encoding unit 490 can receive the residual value of the quantized attribute information output by the quantization unit 430, encode the residual value of the quantized attribute information, and output an attribute bitstream.

[0100] In addition, the inverse quantization unit 450 can also receive the residual value of the quantized attribute information output by the quantization unit 430, and perform inverse quantization on the residual value of the quantized attribute information to obtain the residual value of the attribute information of the point in the point cloud. The reconstruction unit 460 obtains the residual value of the attribute information of the point in the point cloud output by the inverse quantization unit 450 and the predicted value of the attribute information of the point in the output point cloud by the prediction unit 410, and adds the residual value of the attribute information of the point in the point cloud to the predicted value to obtain the reconstructed value of the attribute information of the point. The reconstructed value of the attribute information of the point is filtered by the filtering unit 470 and then buffered in the decoding buffer unit 480, and used in the subsequent prediction process of other points.

[0101] At the decoding end, the decoding unit 510 can analyze the attribute bitstream to obtain the residual value, prediction information, quantization coefficients, etc. of the quantized attribute information of the point in the point cloud; the prediction unit 520 predicts the attribute information of the point in the point cloud according to the prediction information to generate the predicted value of the attribute information of the point; the inverse quantization unit 530 uses the quantization coefficient obtained from the attribute bitstream to perform inverse quantization on the residual value of the quantized attribute information of the point to obtain the residual value of the attribute information of the point; the reconstruction unit 440 adds the predicted value of the attribute information of the point with the residual value to obtain the reconstructed value of the attribute information of the point; the filtering unit 550 filters the reconstructed value of the attribute information of the point to obtain the decoded attribute information.

[0102] It should be noted that the mode information or parameter information, such as prediction, quantization, coding, filtering, etc., determined when encoding the attribute information at the encoding end is carried in the attribute bitstream as necessary. The decoding end analyzes the attribute bitstream and determines the same mode information or parameter information, such as prediction, quantization, coding, filtering, etc., as the encoding end by analyzing based on existing information, so that the reconstructed value of the attribute information obtained by the encoding end is the same as the reconstructed value of the attribute information obtained by the decoding end.

[0103] The above description is the basic process of a point cloud encoder / decoder based on the G-PCC encoding / decoding framework, and as technology develops, some modules or steps of the framework or process may be optimized, and the present application applies to, but is not limited to, the basic process of a point cloud encoder / decoder based on the G-PCC encoding / decoding framework.

[0104] FIG. 6 is a schematic diagram of prediction at the encoding end in one embodiment, which includes the following steps as shown in FIG.

[0105] In step S61, reconstructed values ​​of attribute information, such as color values, of adjacent points of the current point are obtained, and the maximum color difference maxDiff of the adjacent points is calculated based on the reconstructed values ​​of the attribute information of the adjacent points.

[0106] Specifically, suppose the current point has three adjacent points, which are point 1, point 2 and point 3, where the color value of point 1 is (R1, G1, B1), the color value of point 2 is (R2, G2, B2), and the color value of point 3 is (R3, G3, B3). Calculate the maximum differences in the R, G and B components of the three adjacent points, and use the maximum difference of the R, G and B components as maxDiff.

[0107] For example, the maximum color difference maxDiff corresponding to the above three adjacent points is obtained based on the following formula (1).

number

[0108] In step S62, maxDiff is compared with a predetermined threshold value.

[0109] In step S63, if maxDiff is less than the threshold, it is determined that the target prediction mode of the current point is a single-predictor variable mode (single-pred), and the current point is predicted by a weighted average method, for example, the weighted average value of the reconstructed values ​​of the attribute information of the above three adjacent points is used as the predicted value of the attribute information of the current point.

[0110] In step S64, if maxDiff is equal to or greater than threshold, determine that the target prediction mode of the current point is a multi-predictor mode (multi-pred). Specifically, use the reconstructed value of the attribute information of each of the three adjacent points as one predictor variable to obtain the predictor variable of the three adjacent points, and further use the weighted average value of the reconstructed value of the attribute information of the three adjacent points as another predictor variable to obtain the weighted average predictor variable, obtain the 3+1 predictor variables shown in the table in FIG. 6, and set an index for each predictor variable.

[0111] In step S65, a score corresponding to each predictor in the 3+1 predictor variables is calculated, and a Rate Distortion Optimization (RDO) value corresponding to each predictor in the 3+1 predictor variables is calculated, for example using a Rate Distortion Optimization (RDO) technique.

[0112] In step S66, the predictor variable with the smallest score is determined as the optimal predictor variable for the current point, and entropy coding is performed on the information of the optimal predictor variable.

[0113] FIG. 7 is a schematic diagram of prediction at the decoding end in one embodiment, as shown in FIG. 7, it includes the following steps:

[0114] In step S71, decode the bitstream to obtain attribute information of adjacent points of the current point, decode the attribute information of the adjacent points to obtain a reconstructed value of the attribute information of the adjacent points, and calculate the maximum color difference maxDiff of the adjacent points based on the reconstructed value of the attribute information of the adjacent points, specifically, see step 2 in Figure 6 above.

[0115] In step S72, maxDiff is compared with a predetermined threshold value.

[0116] In step S73, if maxDiff is less than the threshold, it is determined that the target prediction mode of the current point is a single-predictor variable mode (single-pred), and the current point is predicted by a weighted average method, for example, the weighted average value of the reconstructed values ​​of the attribute information of the above three adjacent points is used as the predicted value of the attribute information of the current point.

[0117] In step S74, if maxDiff is equal to or greater than the threshold, it is determined that the target prediction mode for the current point is the multi-predictor mode (multi-pred).

[0118] In step S75, the bitstream is analyzed to obtain information on the predictor variable with the minimum score contained in the bitstream, and the predictor variable corresponding to the information on the predictor variable is used as the predicted value of the current point.

[0119] As can be seen from FIG. 6 and FIG. 7 above, at present, when determining the predicted value of the attribute information of the current point, it is necessary to calculate the maximum color difference maxDiff of the adjacent points of the current point, and based on maxDiff, it is predicted whether the current point adopts a single predictor variable mode (single-pred) or a multi-predictor variable mode (multi-pred). This determination process depends on the reconstructed value of the attribute information of the adjacent points of the current point, and such a dependency relationship makes it impossible for the prediction mode determination process and the attribute information reconstruction process to be performed in parallel, which reduces the efficiency of point cloud encoding / decoding.

[0120] To solve the above technical problems, the prediction mode of the attribute information of the current point is determined according to the geometric information of the points in the point cloud, in this way, the prediction mode determination process is decoupled from the reconstruction process of the attribute information of the points in the point cloud, and the two processes can be performed in parallel, further improving the efficiency of encoding / decoding.

[0121] The following describes in detail the technical solution according to one embodiment of the present application in combination with a specific embodiment.

[0122] The encoding end will now be introduced with reference to FIG.

[0123] Figure 8 is an exemplary flow chart of a point cloud encoding method 600 according to an embodiment of the present application, which is applied to the point cloud encoder shown in Figures 1, 2 and 4. As shown in Figure 8, the method of the embodiment of the present application includes the following steps:

[0124] In step S601, the geometric information and attribute information of the current point in the point cloud are obtained.

[0125] The point cloud includes a plurality of points, and each point may include geometric information of the point and attribute information of the point. Here, the geometric information of the point is also called position information of the point, and the position information of the point may be three-dimensional coordinate information of the point. Here, the attribute information of the point may include color information and / or reflectance, etc.

[0126] Here, the current point can be understood as a point in the point cloud that is currently being coded, and in some embodiments the current point is also called a target point.

[0127] In one example, the attribute information of the current point may be the original attribute information of the current point.

[0128] In another example, as shown in Fig. 2, the point cloud encoder obtains the original attribute information of the current point, and then performs color space conversion on the original attribute information, for example, converts the RGB color space of the current point into YCbCr format or other formats. By performing attribute conversion on the current point after color space conversion, attribute distortion is minimized and attribute information of the current point is obtained.

[0129] In step S602, K (K is a positive integer equal to or greater than 2) adjacent points of the current point are determined based on the geometric information of the current point.

[0130] It should be noted that, after the point cloud encoder completes encoding of the geometric information of the points in the point cloud, the attribute information of the points in the point cloud is encoded. Referring to Figure 2, in the encoding process of the geometric information, the first arithmetic encoding unit 205 encodes the geometric information of the points processed by the octree unit 203 to form a geometric bitstream, and the geometric reconstruction unit 204 reconstructs the geometric information of the points processed by the octree unit 203 to obtain a reconstructed value of the geometric information.

[0131] In some embodiments, based on the reconstruction of the geometric information of the current point, K neighboring points of the current point are obtained from the encoded points in the point cloud.

[0132] For example, convert the geometric information (i.e., geometric coordinates) of the point in the point cloud into a Morton code, specifically, add one fixed value (j1, j2, j3) to the geometric information (x, y, z) of the point in the point cloud to generate the Morton code of the point with new coordinates (x+j1, y+j2, z+j3). Sort the points in the point cloud according to the Morton codes of the points to obtain a Morton order of the point cloud. Based on the Morton order of the point cloud, obtain K neighboring points of the current point from the encoded points in the point cloud, where K is a positive integer equal to or greater than 2.

[0133] In step S603, a target prediction mode of attribute information of the current point is determined based on the geometric information of the current point and the geometric information of the K adjacent points.

[0134] Prediction modes for attribute information of points in a point cloud include a multi-predictor mode (multi-pred) and a single-predictor mode (single-pred).

[0135] Here, the multi-pred mode includes K+1 kinds of predictors, where K is the number of adjacent points of the current point, and uses the reconstructed value of the attribute information of each adjacent point in the K adjacent points as one predictor to obtain K kinds of predictors, which are also called adjacent point predictors; and uses the weighted average value of the reconstructed value of the attribute information of the K adjacent points as the K+1th predictor, which can also be called the weighted average predictor.

[0136] The single predictor mode includes one kind of predictor, namely a weighted average predictor formed by the weighted average value of the reconstructed values ​​of the attribute information of K adjacent points.

[0137] The present application uses the geometric information of the current point and the geometric information of K adjacent points to determine whether the target prediction mode of the attribute information of the current point is a multi-predictor mode (multi-pred) or a single-predictor mode (single-pred).

[0138] In some embodiments, the above S603 includes S603-A1 and S603-A2.

[0139] In step S603-A1, a first distance between the current point and a neighboring point set of K neighboring points is determined based on the geometric information of the current point and the geometric information of the K neighboring points.

[0140] In step S603-A2, a target prediction mode of the attribute information of the current point is determined based on the first distance.

[0141] When the distance between the current point and the neighboring points is large, the accuracy is low when a single predictor variable mode (single-pred) is adopted to predict the attribute information of the current point, so the present application calculates a first distance between the current point and a neighboring point set consisting of K neighboring points, and determines a target prediction mode of the attribute information of the current point based on the size of the first distance, thereby accurately determining a target prediction mode of the attribute information of the current point and accurately predicting the current point. Furthermore, the present application uses the first distance between the neighboring point set consisting of K neighboring points and the current point to determine the prediction mode of the attribute information of the current point, in this way, the process of determining the prediction mode is decoupled from the process of reconstructing the attribute information of the points in the point cloud, and the two processes can be performed in parallel, further improving the efficiency of encoding / decoding.

[0142] The manner of determining the first distance between the neighboring point set of K neighboring points and the current point in the above S603-A1 includes, but is not limited to, some of the following manners.

[0143] In method 1, based on geometric information of the K adjacent points, geometric information of a geometric centroid of the adjacent point set is determined; based on the geometric information of the current point and the geometric information of the geometric centroid, a second distance between the current point and the geometric centroid is determined; based on the second distance, a first distance is determined, for example, using the second distance as the first distance, or performing a corresponding operation (e.g., a rounding operation) on the second distance, and using the operation result as the first distance.

[0144] TIFF0007673198000002.tif56170

number

[0145] Assuming that the geometric information of the current point P0 is (x, y, z), determine a second distance between the current point P0 and the geometric centroid C based on the geometric information of the current point P0 and the geometric information of the geometric centroid C.

[0146] TIFF0007673198000004.tif31170

number

[0147] For example, the encoder executes the following program to obtain the Euclidean distance between the current point P0 and the geometric centroid C:

[0148] TIFF0007673198000006.tif135170

[0149] TIFF0007673198000007.tif29170

number

[0150] In the second method, for each adjacent point among the K adjacent points, a third distance between the adjacent point and the current point is determined based on the geometric information of the adjacent point and the geometric information of the current point, and the average value of the third distances between each adjacent point among the K adjacent points and the current point is used as the first distance.

[0151] Specifically, assuming that the geometric information of the current point P0 is (x, y, z), a first distance between the current point and a neighboring point set consisting of K neighboring points is determined based on the following equation (5).

number

[0152] Here, (x i ,y i ,z i ) is the geometric information of the i-th neighbor in K neighbors.

[0153] After determining the first distance between the current point and the set of adjacent points according to the above method, execute the above S603-A2 to determine the target prediction mode of the attribute information of the current point according to the first distance.

[0154] In some embodiments, the above S603-A2 includes the following S603-A21 and S603-A22.

[0155] In step S603-A21, if the first distance is equal to or greater than the first value, the target prediction mode is determined as the multi-predictor mode.

[0156] In step S603-A22, if the first distance is less than the first numerical value, the target prediction mode is determined as the single predictor variable mode.

[0157] In the present application, when the first distance is equal to or greater than the first value, it indicates that the distance between the current point and the adjacent point is large, and in this case, the attribute information of the current point can be predicted by adopting a multi-prediction variable mode to improve the prediction accuracy.When the first distance is smaller than the first value, it indicates that the distance between the current point and the adjacent point is small, and the attribute information of the current point can be predicted by adopting a single-prediction variable mode, and the prediction process is simple.

[0158] In one possible embodiment, the first numerical value is a predefined threshold value.

[0159] In one possible embodiment, the point cloud encoder determines the first numerical value by performing steps A to C below.

[0160] In step A, a bounding box of the point cloud is obtained based on the geometric information of the points in the point cloud, and the bounding box is used to enclose the point cloud. For example, the bounding box can be understood as a cube enclosing the point cloud, where the length, width, and height of the bounding box are respectively the difference between the maximum and minimum values ​​of the points in the point cloud on the XYZ coordinate axes. For example, the length of the bounding box is the difference between the maximum and minimum values ​​of the points in the point cloud on the X axis, the width of the bounding box is the difference between the maximum and minimum values ​​of the points in the point cloud on the Y axis, and the height of the bounding box is the difference between the maximum and minimum values ​​of the points in the point cloud on the Z axis. That is, the bounding box can be understood as the smallest cube enclosing the point cloud, and the length, width, and height of the bounding box are the three sides of the bounding box.

[0161] In step B, obtain the length of a first side of the bounding box of the point cloud. The first side may be the length of any one of the sides of the bounding box of the point cloud, for example, the first side may be the shortest side of the bounding box or the longest side of the bounding box.

[0162] In step C, a first numerical value is determined based on the length of the first side.

[0163] The manner of determining the first numerical value based on the length of the first side in step C above includes, but is not limited to, the following several:

[0164] In the first method, the ratio of the length of the first side to a predetermined value is determined as a first numerical value, and the predetermined value can be determined according to an actual required value.

[0165] In method 2, the above step C includes the following steps C1 and C2.

[0166] In step C1, a quantization parameter (QP) is obtained.

[0167] In step C2, a first numerical value is determined based on QP and the length of the first side.

[0168] Since the quantization parameter QP is correlated with the selection of the target prediction mode of the current point, for example, when the QP value is large, the prediction effect is poor when predicting attributes of the current point using the multi-predictor mode, and in this case, the single-predictor mode is usually used to predict attribute information of the current point. Based on this, the present application determines a first value using the QP and the length of the first side, and makes the determined first value correlate with the QP, so that when determining a target prediction mode of the current point based on the first value in the future, the effect of the QP is taken into consideration, and the accuracy of determining the target prediction mode can be improved.

[0169] The manner of determining the first value based on QP and the length of the first side in the above step C2 includes, but is not limited to, the following several ways:

[0170] In the first method, the ratio of the length of the first side to QP is used as the first number.

[0171] For example, the first numerical value is determined based on the following formula (6).

number

[0172] TIFF0007673198000011.tif30170

[0173] In the second method, a first ratio between the length of the first side and a first predetermined value is obtained, a second ratio between QP and a second predetermined value is obtained, and a first numerical value is determined based on the first ratio and the second ratio, for example, by shifting the first ratio to the left by the number of digits that the second ratio is rounded to obtain the first numerical value.

[0174] In one example, the first numerical value is determined based on the following equation (7):

number

[0175] TIFF0007673198000013.tif29170

[0176] In another example, the first numerical value is determined based on the following formula (8).

number

[0177] where 2 T3 is equal to a first predetermined value T1, for example, if T1 is 64, then T3 is 6, and ">>" is a right shift, where shifting one place to the right is the same as dividing by 2.

[0178] Optionally, the first predetermined value T1 is greater than the second predetermined value T2.

[0179] Optionally, the second predetermined value T2=6.

[0180] Optionally, if the first side is the shortest side of the bounding box, the first predetermined value is 64.

[0181] Optionally, if the first side is the longest side of the bounding box, the first predetermined value is 128.

[0182] After determining the first numerical value using the above method, the present application compares the first numerical value with a first distance between the current point and a set of neighboring points, and if the first distance is equal to or greater than the first numerical value, determines the target prediction mode of the current point as a multi-predictor mode, and if the first distance is less than the first numerical value, determines the target prediction mode of the current point as a single-predictor mode. Then, the following step S604 is executed.

[0183] In step S604, the attribute information of the current point is predicted using the target prediction mode to obtain a predicted value of the attribute information of the current point.

[0184] In step S605, a residual value of the attribute information of the current point is obtained based on the predicted value of the attribute information of the current point. For example, the difference between the original value and the predicted value of the attribute information of the current point is used as the residual value of the attribute information of the current point.

[0185] In step S606, the residual value of the attribute information of the current point is coded to obtain a point cloud bit stream.

[0186] The above S604 includes the following two situations:

[0187] In situation 1, if the above determined target prediction mode of the current point is a multi-predictor variable mode, the above S604 includes the following S604-A1 to S604-A5.

[0188] In step S604-A1, reconstructed values ​​of attribute information of K adjacent points are obtained.

[0189] In step S604-A2, the reconstructed values ​​of the attribute information of the K adjacent points are used as the K predictor variables.

[0190] In step S604-A3, the weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points is used as the (K+1)th predictor variable.

[0191] In step S604-A4, a rate-distortion optimization (RDO) value for each predictor in the K+1 predictors is determined.

[0192] In step S604-A5, the prediction variable with the minimum RDO value is used as the prediction value of the attribute information of the current point.

[0193] Take an example, assume that K=3, that is, the current point includes three adjacent points, which are P1, P2 and P3, and the three adjacent points are all encoded points, and the reconstructed values ​​of the attribute information are stored in the decoding buffer unit 480, as shown in FIG. 4, and the point cloud encoder obtains the reconstructed values ​​of the attribute information of the three adjacent points from the decoding buffer unit 480, and can use them to predict the attribute information of the current point. For example, the reconstructed value of the attribute information of each adjacent point in the three adjacent points can be used as one predictor variable of the current point to obtain three predictor variables. Furthermore, as shown in Table 1, the average value of the reconstructed values ​​of the attribute information of the three adjacent points can be used as another predictor variable of the current point, so that the current point has a total of 3+1 predictor variables.

[0194] [Table 1]

[0195] As can be seen from Table 1, the above 3+1 predictor variables correspond to 3+1 kinds of prediction modes, where the first type prediction mode is a prediction mode corresponding to the reconstructed value of the attribute information of the first adjacent point, i.e., the first predictor variable, and its index is 1; the second type prediction mode is a prediction mode corresponding to the reconstructed value of the attribute information of the second adjacent point, i.e., the second predictor variable, and its index is 2; the third type prediction mode is a prediction mode corresponding to the reconstructed value of the attribute information of the third adjacent point, i.e., the third predictor variable, and its index is 3. The fourth type prediction mode is a prediction mode corresponding to the average value of the reconstructed values ​​of the attribute information of the three adjacent points, i.e., the fourth predictor variable, and its index is 0. Here, the first adjacent point is the adjacent point closest to the current point among the above three adjacent points, the second adjacent point is the one point second closest to the current point among the three adjacent points, and the third adjacent point is the one point farthest from the current point among the three adjacent points.

[0196] A rate-distortion optimization (RDO) value corresponding to each predictor variable in the above 3+1 predictor variables is calculated, and the predictor variable with the smallest rate-distortion optimization value is used as the predicted value of the attribute information of the current point. For example, the predictor variable with the smallest RDO (minimum RDO value) is the reconstructed value of the attribute information of point P2.

[0197] In one example, the inverse of the distance (eg, Euclidean distance) between a neighboring point and the current point can be used as the weight of the neighboring point when determining the RDO value.

[0198] In situation 1, in order to quickly and accurately determine the predicted value of the current point at the decoding end, the prediction mode information corresponding to the predictor variable of the above-mentioned determined minimum RDO value is conveyed to the point group bitstream, so that the decoding end can directly analyze the prediction mode information corresponding to the current point from the point group bitstream, and use the predictor variable indicated by the prediction mode information to determine the predicted value of the current point. For example, the predictor variable of the above-mentioned determined minimum RDO value is the reconstructed value of the attribute information of the point P2, whose corresponding index is 2, and the index 2 can be conveyed to the point group bitstream. The decoding end can directly analyze the index 2 from the point group bitstream, and use the reconstructed value of the attribute information of the point P2 corresponding to the index 2 to predict the attribute information of the current point, for example, use the reconstructed value of the attribute information of the point P2 as the predicted value of the attribute information of the current point.

[0199] In situation 2, when the target prediction mode of the current point is the single predictor variable mode, the above S604 includes the following S604-B1 and S604-B2.

[0200] In step S604-B1, reconstructed values ​​of attribute information of K adjacent points are obtained.

[0201] In step S604-B2, the weighted average of the reconstructed values ​​of the attribute information of the K adjacent points is used as the predicted value of the attribute information of the current point.

[0202] To take an example, assume that K=3, that is, the current point includes three adjacent points, which are P1, P2 and P3, respectively. Then, the reconstructed values ​​of the attribute information of the three points are obtained, and the weighted average value of the reconstructed values ​​of the attribute information of the three adjacent points is used as the predicted value of the attribute information of the current point.

[0203] In one example, the inverse of the distance (eg, Euclidean distance) between a neighboring point and the current point can be used as the weight of the neighboring point when determining the weighted average of the reconstruction values.

[0204] When the goal prediction mode of the current point is a single predictor mode, the predictor variable may include a weighted average value and its corresponding index may be blank, as shown in Table 2.

[0205] [Table 2]

[0206] That is, if the target prediction mode of the current point is a single predictor mode, the point cloud bitstream does not need to carry the prediction mode information corresponding to the current point. In this way, if the decoding end cannot analyze the prediction mode information corresponding to the current point from the point cloud bitstream, the target prediction mode of the current point at the encoding end is the single predictor mode by default, and the decoding end also uses the single predictor mode to predict the attribute information of the current point, thereby ensuring the consistency between the decoding end and the encoding end.

[0207] In one specific embodiment, as shown in FIG. 9, the encoding end prediction process 600a includes the following steps:

[0208] In step S600-1, a first distance between the current point and a set of adjacent points composed of three adjacent points is calculated. It should be noted that the present application takes three adjacent points as an example, and the number of adjacent points of the current point includes, but is not limited to, three, and may be two, four, five, etc., and the present application is not limited thereto.

[0209] In step S600-2, it is determined whether the first distance is equal to or greater than a first numerical value. If the first distance is equal to or greater than the first numerical value, S600-3 is executed, and if the first distance is smaller than the first numerical value, S600-4 is executed.

[0210] In step S600-3, it is determined that the target prediction mode for the current point is the multi-predictor mode (Multi-pred).

[0211] In step S600-4, the RDO value corresponding to each predictor variable is calculated. Specifically, the ROD value corresponding to the weighted average predictor variable corresponding to index 0 is first calculated, and it is determined whether the current index is the last index. If it is not the last index, the index is rotated, and the ROD value corresponding to the predictor variable corresponding to the next index is calculated until the last index. In this way, by rotating, the RDO value corresponding to each predictor variable can be calculated.

[0212] In step S600-5, the predictor variable with the minimum RDO value is selected and used as the predicted value of the attribute information of the current point, and S600-7 is executed.

[0213] In step S600-6, the single predictor variable mode (Single-pred) of the current point is determined, and the weighted average value of the attribute information of the adjacent points is used as the predicted value of the attribute information of the current point, and S600-7 is executed.

[0214] In step S600-7, the process ends.

[0215] Here, comparing the prediction process of the present application shown in Fig. 9 with the prediction process of the existing technology shown in Fig. 6 above, the present application determines a first distance between the current point and a set of neighboring points based on the geometric information of the current point and the geometric information of the neighboring points. The first distance is compared with a first numerical value to determine whether to use a multi-predictor mode (Multi-pred) or a single-predictor mode (Single-pred) to predict the attribute information of the current point, so that the selection process of the prediction mode of the current point is related to the geometric information of the points in the point cloud and is decoupled from the reconstruction process of the attribute information of the neighboring points, and further, the selection process of the prediction mode and the reconstruction process of the attribute information can be performed in parallel, improving the efficiency of encoding.

[0216] FIG. 10 is an exemplary flowchart of a point cloud encoding method 700 according to an embodiment of the present application. In view of the above embodiment, as shown in FIG. 10, the method of the embodiment of the present application includes the following steps:

[0217] In step S701, the geometric information and attribute information of the current point in the point cloud are obtained.

[0218] In step S702, K (K is a positive integer equal to or greater than 2) adjacent points of the current point are determined based on the geometric information of the current point.

[0219] For the specific implementation process of the above S701 and S702, please refer to the description of the above S601 and S602, and the description will not be repeated here.

[0220] In step S703, a first distance between the current point and a set of adjacent points consisting of K adjacent points is determined based on the geometric information of the current point and the geometric information of the K adjacent points. For the specific implementation process, please refer to the relevant description of S603-A1 above, and will not be described again here.

[0221] In step S704, a first numerical value is determined, specifically see the description of S603-A22 above. For example, a bounding box of the point cloud is obtained based on geometric information of points in the point cloud, a length of a first side of the bounding box of the point cloud is obtained, and a first numerical value is determined based on the length of the first side and a quantization parameter (QP).

[0222] It should be noted that there is no priority between the execution processes of the above S703 and the above S704, and S704 may be executed before the above S703, after the above S703, or simultaneously with the above S703, and the present application is not limited thereto.

[0223] In step S705, it is determined whether the first distance is equal to or greater than the first numerical value. If the first distance is equal to or greater than the first numerical value, S707 is executed; if the first distance is smaller than the first numerical value, S706 is executed.

[0224] In step S706, if the first distance is smaller than the first value, the attribute information of the current point is predicted using a single predictor variable mode according to the reconstructed values ​​of the attribute information of the K adjacent points to obtain a predicted value of the attribute information of the current point, for example, the average value of the reconstructed values ​​of the attribute information of the K adjacent points is used as the predicted value of the attribute information of the current point.

[0225] In step S707, if the first distance is equal to or greater than the first value, use a multi-predictor mode to predict the attribute information of the current point based on the reconstructed values ​​of the attribute information of the K adjacent points, and obtain a predicted value of the attribute information of the current point, for example, calculate RDO values ​​corresponding to K+1 predictor variables, and use the predictor variable with the minimum RDO value as the predicted value of the attribute information of the current point.

[0226] In step S708, a residual value of the attribute information of the current point is obtained based on the attribute information of the current point and the predicted value.

[0227] In step S709, the residual value of the attribute information of the current point is coded to obtain a point cloud bitstream, and when the target prediction mode of the current point is a multi-predictor mode, the point cloud bitstream includes prediction mode information corresponding to the residual value of the attribute information of the current point and the predictor of the minimum RDO value.Optionally, the prediction mode information is located after the residual value.

[0228] In order to further illustrate the technical effect of the present application, after implementing the technical solution of the present application on the G-PCC reference software TMC13 V11.0, the component point cloud test sets (cat1-A and cat1-B) required by the Moving Picture Experts Group (MPEG) are tested under the Generic Test Configuration (CTC) CY test conditions, and the test results are shown in Table 1.

[0229] [Table 3]

[0230] Here, CY_ai is a test condition, which indicates a test condition of geometric lossless and near-lossless attributes, where the points in the cat1-A point cloud test set include color attribute information and other attribute information, such as reflectance attribute information, and the points in the cat1-B point cloud test set only include color attribute information. BD-AttrRate is one of the main parameters for evaluating the performance of a video encoding algorithm, and represents the change in code rate and peak signal to noise ratio (PSNR) of a video encoded using a new algorithm (i.e., the technical solution of the present application) compared to a video encoded using an original algorithm, that is, the change in code rate of the new algorithm and the original algorithm under the same signal to noise ratio. As shown in Table 1, for the cat1-A point cloud test set, the technical solution of the present application increases the code rate of the luminance component by 1.4% compared to the conventional technology, increases the code rate of the chrominance component Cb by 1.4%, and increases the code rate of the chrominance component Cr by 1.4%. "Average value" indicates the average value of the change in code rate between the cat1-A point cloud test set and the cat1-B point cloud test set.

[0231] As can be seen from Table 1 above, the technical solution of the present application solves the problem that prediction mode determination and attribute information reconstruction cannot be separated in the existing technology, at a smaller performance distortion cost.

[0232] The point cloud encoding method according to the embodiment of the present application has been described above. Based on this, the point cloud decoding method according to the present application will be described below at the decoding end.

[0233] FIG. 11 is an exemplary flowchart of a point cloud decoding method 800 according to an embodiment of the present application. As shown in FIG. 11, the method of the embodiment of the present application includes the following steps:

[0234] In step S801, the point cloud bitstream is decoded to obtain the geometric information and attribute information of the current point in the point cloud.

[0235] It should be noted that, after completing the decoding of the geometric information of the points in the point cloud, the attribute information is decoded. After the decoding of the geometry bitstream is completed, the geometric information of the points in the point cloud can be obtained.

[0236] The point cloud bitstream includes an attribute bitstream and a geometric bitstream, and by decoding the geometric bitstream, the geometric information of the current point can be obtained, and by decoding the attribute bitstream, the attribute information of the current point can be obtained.

[0237] In step S802, K (K is a positive integer equal to or greater than 2) adjacent points of the current point are determined based on the geometric information of the current point.

[0238] Specifically, according to the geometric information of the current point, the closest K adjacent points to the current point can be obtained from the point whose attribute information is decoded in the point cloud. The specific implementation process of the above S802 can refer to the description of the above S602, and will not be described again here.

[0239] In step S803, a target prediction mode of attribute information of the current point is determined based on the geometric information of the current point and the geometric information of K adjacent points.

[0240] In some embodiments, the above S803 includes S803-A1 and S803-A2.

[0241] In step S803-A1, a first distance between the current point and a neighboring point set of K neighboring points is determined based on the geometric information of the current point and the geometric information of the K neighboring points.

[0242] In step S803-A2, a target prediction mode of the attribute information of the current point is determined based on the first distance.

[0243] Based on the geometric information of the current point and the geometric information of the K adjacent points in the above S803-A1, the manner of determining the first distance between the adjacent point set consisting of the K adjacent points and the current point includes, but is not limited to, the following several:

[0244] In method 1, the above S803-A1 includes S803-A11 and S803-A12.

[0245] In step S803-A11, the geometric information of the geometric centroid of the set of neighboring points is determined based on the geometric information of the K neighboring points.

[0246] In step S803-A12, a second distance between the current point and the geometric centroid is determined based on the geometric information of the current point and the geometric information of the geometric centroid.

[0247] For example, the second distance between the current point and the geometric centroid is the Euclidean distance between the current point and the geometric centroid.

[0248] For example, the second distance between the current point and the geometric centroid is the Manhattan distance between the current point and the geometric centroid.

[0249] In step S803-A13, the first distance is determined based on the second distance, for example, the second distance is used as the first distance.

[0250] In the second method, the above S803-A1 includes S803-A13 and S803-A14.

[0251] In step S803-A13, for each neighboring point in the K neighboring points, a third distance between the neighboring point and the current point is determined based on the geometric information of the neighboring point and the geometric information of the current point.

[0252] In step S803-A14, the average value of the third distances between each of the K adjacent points and the current point is used as the first distance.

[0253] In some embodiments, the above S803-A2 includes the following S803-A21 and S803-A22.

[0254] In step S803-A21, if the first distance is equal to or greater than the first value, the target prediction mode is determined as the multi-predictor mode.

[0255] In step S803-A22, if the first distance is less than the first numerical value, the target prediction mode is determined as the single predictor variable mode.

[0256] In one example, the first numerical value is a predetermined value.

[0257] In another example, the point cloud decoder performs the following steps D1 to D4 to determine the first numerical value.

[0258] In step D1, the point cloud bit stream is decoded to obtain geometric information of the points in the point cloud, specifically, the point cloud geometric bit stream is decoded to obtain geometric information of the points in the point cloud.

[0259] In step D2, a bounding box of the point cloud is obtained based on the geometric information of the points in the point cloud, and the bounding box is used to surround the point cloud, for example, the bounding box can be understood as the smallest cube that surrounds the point cloud.

[0260] In step D3, the length of the first side of the bounding box of the point cloud is obtained, where the first side may be any one of the sides of the bounding box, for example, the shortest side of the bounding box, or the longest side of the bounding box.

[0261] In step D4, a first numerical value is determined based on the length of the first side.

[0262] In some embodiments, determining the first numerical value based on the length of the first side in above step D4 includes the following steps D41 and D42.

[0263] In step D41, the point cloud bitstream is decoded to obtain a quantization parameter (QP). It should be noted that the encoding end encodes the QP into an attribute parameter set, which is encoded into the point cloud bitstream, and the decoding end obtains the QP by decoding the attribute parameter set.

[0264] In step D42, a first numerical value is determined based on QP and the length of the first side.

[0265] The manner of determining the first numerical value based on QP and the length of the first side in the above step D42 includes, but is not limited to, the following several ways.

[0266] Method 1: Use the ratio of the length of the first side to QP as the first value.

[0267] Method 2: obtain a first ratio between the length of the first side and a first predetermined value, obtain a second ratio between QP and a second predetermined value, and determine a first numerical value based on the first ratio and the second ratio. For example, the first ratio is shifted left by the number of digits obtained by rounding the second ratio to obtain a first numerical value.

[0268] In one example, the first numerical value is determined based on the following formula:

number

[0269] TIFF0007673198000019.tif31170

[0270] In one example, the first numerical value is determined based on the following formula:

number

[0271] where 2 T3 is equal to the first predetermined value T1.

[0272] Optionally, the first predetermined value T1 is greater than the second predetermined value T2.

[0273] Optionally, the second predetermined value T2=6.

[0274] Optionally, if the first side is the shortest side of the bounding box, the first predetermined value is 64.

[0275] Optionally, if the first side is the longest side of the bounding box, the first predetermined value is 128.

[0276] In step S804, the attribute information of the current point is predicted using the target prediction mode to obtain a predicted value of the attribute information of the current point.

[0277] In this application, if the target prediction mode of the current point is determined as a multi-predictor mode, the prediction mode information corresponding to the current point is analyzed from the point cloud bitstream. If the target prediction mode of the current point is determined as a single-predictor mode, the prediction mode information corresponding to the current point is not analyzed from the point cloud bitstream, and the single-predictor mode is used by default to predict the predicted value of the attribute information of the current point. Specifically, the following two situations are included:

[0278] In situation 1, when the target prediction mode is a multi-predictor variable mode, the above S804 includes the following S804-A1 to S804-A3.

[0279] In step S804-A1, the point group bit stream is decoded to obtain prediction mode information of the attribute information of the current point.

[0280] In step S804-A2, a reconstructed value of attribute information of a destination adjacent point corresponding to prediction mode information of the K adjacent points is obtained.

[0281] In step S804-A3, the reconstructed value of the attribute information of the target adjacent point is used as the predicted value of the attribute information of the current point.

[0282] As can be seen from the above technical solution at the encoding end, if the target prediction mode at the current point is determined as a multi-predictor mode, prediction mode information corresponding to the predictor with the smallest ROD value is conveyed in the attribute bitstream and transmitted to the decoding end.

[0283] The decoding end first analyzes the geometric bitstream of the point cloud to obtain geometric information of each point in the point cloud, and obtains the K neighboring points closest to the current point based on the geometric information of the point in the point cloud. Based on the geometric information of the K neighboring points and the geometric information of the current point, obtain a first distance between the current point and a neighboring point set consisting of K neighboring points. If the first distance is equal to or greater than a first value, determine the target prediction mode of the current point as a multi-predictor mode. In this case, the decoding end decodes the attribute bitstream of the point cloud to obtain prediction mode information of the attribute information of the current point carried in the attribute bitstream, and the prediction mode information may be an index value in the above Table 1. For example, if the index value included in the prediction mode information is 2, the encoding end uses the reconstructed value of the attribute information of the second neighboring point P2 as the predicted value of the attribute information of the current point. For convenience of explanation, the second neighboring point P2 is taken as the target neighboring point here. Based on this, the decoding end obtains a reconstructed value of the attribute information of the target adjacent point P2 corresponding to the prediction mode information from the decoded point group, and uses the reconstructed value of the attribute information of the target adjacent point as a predicted value of the attribute information of the current point.

[0284] It should be noted that the prediction mode information of the attribute information of the current point and the residual value of the attribute information of the current point are jointly encoded, for example, the prediction mode information is located after the residual value, and thus, when decoding the bitstream to obtain the residual value of the current point, the prediction mode information of the current point can be obtained.

[0285] In situation 2, when the target prediction mode is a single predictor variable mode, the above S804 includes the following S804-B1 to S804-B2.

[0286] In step S804-B1, reconstructed values ​​of attribute information of K adjacent points are obtained.

[0287] In step S804-B2, the weighted average of the reconstructed values ​​of the attribute information of the K adjacent points is used as the predicted value of the attribute information of the target point.

[0288] The above K adjacent points are decoded points in the point cloud, and as shown in Fig. 5, the reconstructed values ​​of the attribute information of the decoded points are stored in the decoding buffer unit 560, and the decoder can obtain the reconstructed values ​​of the attribute information of the K adjacent points from the decoding buffer unit 560. The weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points is used as the predicted value of the attribute information of the target point.

[0289] In one example, the inverse of the distance (eg, Euclidean distance) between a neighboring point and the current point is used as the weight of the neighboring point when determining the weighted average of the reconstruction values.

[0290] In one specific embodiment, as shown in FIG. 12, a prediction process 800a at the decoding end includes the following steps:

[0291] In step S800-1, a first distance between the current point and a set of three adjacent points is obtained.

[0292] In step S800-2, it is determined whether the first distance is equal to or greater than a first numerical value. If the first distance is equal to or greater than the first numerical value, S800-3 is executed, and if the first distance is smaller than the first numerical value, S800-5 is executed.

[0293] In step S800-3, it is determined that the target prediction mode for the current point is the multi-predictor mode (Multi-pred).

[0294] In step S800-4, the point cloud bitstream is decoded to obtain prediction mode information of the attribute information of the current point, and the reconstructed value of the attribute information of the target adjacent point corresponding to the prediction mode information is used as the reconstructed value of the attribute information of the current point.

[0295] In step S800-5, it is determined that the target prediction mode of the current point is a single-predictor mode (single-pred), and the weighted predictor (i.e., the weighted average value of the reconstructed values ​​of the attribute information of K adjacent points) is used as the reconstructed value of the attribute information of the current point.

[0296] Here, comparing the prediction process of the present application shown in FIG. 12 with the prediction process of the existing technology shown in FIG. 7 above, the present application determines a first distance between the current point and a set of neighboring points based on the geometric information of the current point and the geometric information of the neighboring points, compares the first distance with a first numerical value to determine whether to use a multi-predictor mode (Multi-pred) or a single-predictor mode (single-pred) to predict the attribute information of the current point, and if it is determined to use the multi-predictor mode (Multi-pred), obtains prediction mode information from the point cloud bitstream, and if it is determined to use the single-predictor mode (single-pred), does not obtain prediction mode information from the point cloud bitstream. In this way, the selection process of the prediction mode of the current point is related to the geometric information of the points in the point cloud and is separated from the reconstruction process of the attribute information of the neighboring points, and further, the selection process of the prediction mode and the reconstruction process of the attribute information can be performed in parallel, improving the efficiency of decoding.

[0297] FIG. 13 is an exemplary flowchart of a point cloud decoding method 900 according to an embodiment of the present application. As shown in FIG. 13, the method of the embodiment of the present application includes the following steps:

[0298] In step S901, the point cloud bitstream is decoded to obtain the geometric information and attribute information of the current point in the point cloud.

[0299] In step S902, K (K is a positive integer equal to or greater than 2) adjacent points of the current point are determined based on the geometric information of the current point.

[0300] In step S903, a first distance between the current point and a neighboring point set of the K neighboring points is determined based on the geometric information of the current point and the geometric information of the K neighboring points.

[0301] In step S904, a first numerical value is determined. For details, see the description of S803-A21 above. For example, a bounding box of the point cloud is obtained based on geometric information of points in the point cloud, a length of a first side of the bounding box of the point cloud is obtained, and a first numerical value is determined based on the length of the first side and a quantization parameter (QP).

[0302] It should be noted that there is no priority between the execution processes of the above S903 and the above S904, and S904 may be executed before the above S903, after the above S903, or simultaneously with the above S903, and the present application is not limited thereto.

[0303] In step S905, it is determined whether the first distance is equal to or greater than a first numerical value. If the first distance is equal to or greater than the first numerical value, S907 is executed; if the first distance is smaller than the first numerical value, S906 is executed.

[0304] In step S906, if the first distance is smaller than the first value, the attribute information of the current point is predicted using a single predictor variable mode according to the reconstructed values ​​of the attribute information of the K adjacent points to obtain a predicted value of the attribute information of the current point, for example, the average value of the reconstructed values ​​of the attribute information of the K adjacent points is used as the predicted value of the attribute information of the current point.

[0305] In step S907, if the first distance is equal to or greater than the first value, decode the point cloud bitstream to obtain the attribute information prediction mode information of the current point carried in the point cloud bitstream.

[0306] In step S908, reconstructed values ​​of attribute information of destination adjacent points corresponding to the prediction mode information of the K neighboring points are obtained, and the reconstructed values ​​of attribute information of destination adjacent points are used as predicted values ​​of attribute information of the current point.

[0307] In step S909, the point cloud bitstream is decoded to obtain a residual value of the attribute information of the current point, and a reconstructed value of the attribute information of the current point is obtained according to the residual value and the predicted value of the attribute information of the current point. For example, the predicted value of the attribute information of the current point is added to the residual value to obtain the reconstructed value of the attribute information of the current point.

[0308] It should be understood that FIGS. 8 to 13 are merely examples of the present application and should not be construed as limiting the present application.

[0309] Although the preferred embodiments of the present application have been described in detail above with reference to the drawings, the present application is not limited to the specific details in the above embodiments, and various simple modifications may be made to the technical solutions of the present application within the technical concept of the present application, and all such simple modifications are included in the scope of protection of the present application. For example, each specific technical feature described in a specific embodiment may be combined in any suitable manner unless there is a contradiction, and in order to avoid unnecessary repetition, the present application does not specifically describe all possible combinations. For example, various different embodiments of the present application may be combined in any manner, and all of them shall be considered as the contents disclosed in the present application unless they violate the spirit of the present application.

[0310] It should be further understood that in various method embodiments of the present application, the magnitude of the number of each process does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the present application. Furthermore, in the embodiments of the present application, the term "and / or" is merely for describing the related relationship of associated objects, and indicates that three relationships may exist. Specifically, A and / or B indicate three cases: A exists alone, both A and B exist, and B exists alone. Furthermore, the symbol " / " in this specification generally indicates that the associated objects before and after are in an "or" relationship.

[0311] Above, the method embodiment of the present application has been described in detail with reference to FIGS. 8 to 13, and below, the apparatus embodiment of the present application will be described with reference to FIGS.

[0312] FIG. 14 is an exemplary block diagram of a point cloud encoder 10 according to an embodiment of the present application.

[0313] As shown in FIG. 14, the point cloud encoder 10 an acquisition unit 11 configured to acquire geometric information and attribute information of a current point in the point cloud; an adjacent point determining unit 12 configured to determine K adjacent points of the current point based on the geometric information of the current point, where K is a positive integer equal to or greater than 2; a prediction mode determination unit 13 configured to determine a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; an encoding unit 14 configured to predict the attribute information of the current point using the target prediction mode, obtain a predicted value of the attribute information of the current point, obtain a residual value of the attribute information of the current point based on the predicted value of the attribute information of the current point, and encode the residual value of the attribute information of the current point, to generate a point cloud bitstream.

[0314] In some embodiments, the prediction mode determination unit 13 is specifically configured to determine a first distance between the current point and a neighboring point set consisting of the K neighboring points based on geometric information of the current point and geometric information of the K neighboring points, and determine a target prediction mode of attribute information of the current point based on the first distance.

[0315] In some embodiments, the prediction mode determination unit 13 is specifically configured to determine the target prediction mode as a multi-predictor mode if the first distance is greater than or equal to a first numerical value, and to determine the target prediction mode as a single-predictor mode if the first distance is less than the first numerical value.

[0316] In some embodiments, when the target prediction mode is a multi-predictor mode, the encoding unit 14 is specifically configured to obtain reconstructed values ​​of attribute information of the K adjacent points, use the reconstructed values ​​of the attribute information of the previous K adjacent points as K predictor variables, use a weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points as the K+1th predictor variable, determine a rate-distortion optimized RDO value of each predictor variable in the K+1 predictor variables, and use the predictor variable with the minimum RDO value as the predicted value of the attribute information of the current point.

[0317] In some embodiments, the point cloud bitstream comprises prediction mode information corresponding to the predictor variable of the minimum RDO value.

[0318] In some embodiments, the prediction mode determination unit 13 is specifically configured to obtain reconstructed values ​​of attribute information of the K adjacent points when the target prediction mode is a single predictor variable mode, and use a weighted average value of the reconstructed values ​​of attribute information of the K adjacent points as a predicted value of the attribute information of the current point.

[0319] In some embodiments, encoding unit 14 is further configured to obtain a bounding box for the point cloud based on geometric information of points in the point cloud, the bounding box being used to surround the point cloud, obtain a length of a first side of the bounding box for the point cloud, and determine the first numerical value based on the length of the first side.

[0320] In some embodiments, the encoding unit 14 is specifically configured to obtain a quantization parameter (QP) and determine the first numerical value based on the QP and the length of the first edge.

[0321] In some embodiments, encoding unit 14 is specifically configured to use the ratio of the first edge length and the QP as the first numerical value.

[0322] In some embodiments, the encoding unit 14 is specifically configured to obtain a first ratio between the length of the first side and a first predetermined value, obtain a second ratio between the QP and a second predetermined value, and determine the first numerical value based on the first ratio and the second ratio.

[0323] In some embodiments, the encoding unit 14 is specifically configured to left-shift the first ratio by the number of digits that the second ratio is rounded to obtain the first numerical value.

[0324] In some embodiments, the encoding unit 14 is specifically configured to determine the first numerical value based on the following formula:

number

[0325] TIFF0007673198000022.tif31170

[0326] Optionally, the first predetermined value T1 is greater than the second predetermined value T2.

[0327] Optionally, the second predetermined value T2=6.

[0328] Optionally, if the first side is the shortest side of the bounding box, the first predetermined value is 64.

[0329] Optionally, if the first side is the longest side of the bounding box, the first predetermined value is 128.

[0330] In some embodiments, the prediction mode determination unit 13 is specifically configured to determine geometric information of a geometric centroid of the set of neighboring points based on geometric information of the K neighboring points, determine a second distance between the current point and the geometric centroid based on the geometric information of the current point and the geometric information of the geometric centroid, and determine the first distance based on the second distance.

[0331] In some embodiments, the prediction mode decision unit 13 is specifically configured to use the second distance as the first distance.

[0332] In one example, the second distance between the current point and the geometric centroid is a Euclidean distance between the current point and the geometric centroid.

[0333] In another example, the second distance between the current point and the geometric centroid is a Manhattan distance between the current point and the geometric centroid.

[0334] In some embodiments, the prediction mode determination unit 13 is specifically configured to determine, for each adjacent point in the K adjacent points, a third distance between the adjacent point and the current point based on geometric information of the adjacent point and geometric information of the current point, and use the average value of the third distances between each of the adjacent points in the K adjacent points and the current point as the first distance.

[0335] It should be understood that the apparatus embodiment and the method embodiment can correspond to each other, and similar descriptions can refer to the method embodiment. In order to avoid repetition, details will not be described again in this specification. Specifically, the point cloud encoder 10 shown in FIG. 14 can execute the method of the embodiment of the present application, and the above and other operations and / or functions of each unit in the point cloud encoder 10 are respectively used to realize the corresponding process in each method, such as the method 600 and 700, and will not be described again here for brevity.

[0336] FIG. 15 is an exemplary block diagram of a point cloud decoder 20 according to an embodiment of the present application.

[0337] As shown in FIG. 15, the point cloud decoder 20 a decoding unit 21 configured to decode the point cloud bitstream and obtain geometric information and attribute information of a current point in the point cloud; an adjacent point determining unit 22 configured to determine K adjacent points of the current point based on the geometric information of the current point, where K is a positive integer equal to or greater than 2; a prediction mode determination unit 23 configured to determine a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; and an analysis unit 24 configured to predict attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point.

[0338] In some embodiments, the prediction mode determination unit 23 is specifically configured to determine a first distance between the current point and a neighboring point set consisting of the K neighboring points based on geometric information of the current point and geometric information of the K neighboring points, and determine a target prediction mode of attribute information of the current point based on the first distance.

[0339] In some embodiments, the prediction mode determination unit 23 is specifically configured to determine the target prediction mode as a multi-predictor mode if the first distance is greater than or equal to a first numerical value, and to determine the target prediction mode as a single-predictor mode if the first distance is less than the first numerical value.

[0340] In some embodiments, the analysis unit 24 is specifically configured to, when the target prediction mode is a multi-predictor mode, decode the point cloud bitstream, obtain prediction mode information of the attribute information of the current point, obtain reconstructed values ​​of attribute information of target adjacent points corresponding to the prediction mode information at the K neighboring points, and use the reconstructed values ​​of the attribute information of the target adjacent points as predicted values ​​of the attribute information of the current point.

[0341] In some embodiments, the analysis unit 24 is specifically configured to obtain reconstructed values ​​of attribute information of the K adjacent points when the target prediction mode is a single predictor variable mode, and use a weighted average value of the reconstructed values ​​of attribute information of the K adjacent points as a predicted value of the attribute information of the target point.

[0342] In some embodiments, parsing unit 24 is further configured to decode the point cloud bitstream, obtain geometric information of points in the point cloud, obtain a bounding box of the point cloud based on the geometric information of the points in the point cloud, the bounding box being used to enclose the point cloud, obtain a first side length of the bounding box of the point cloud, and determine the first numerical value based on the first side length.

[0343] In some embodiments, the parsing unit 24 is specifically configured to decode the point cloud bitstream, obtain a quantization parameter (QP), and determine the first numerical value based on the QP and the length of the first edge.

[0344] In some embodiments, the analysis unit 24 is specifically configured to use the ratio of the length of the first side and the QP as the first numerical value.

[0345] In some embodiments, the analysis unit 24 is specifically configured to obtain a first ratio between the length of the first side and a first predetermined value, obtain a second ratio between the QP and a second predetermined value, and determine the first numerical value based on the first ratio and the second ratio.

[0346] In some embodiments, parsing unit 24 is specifically configured to left-shift the first ratio by the number of digits that the second ratio is rounded to obtain the first numerical value.

[0347] In some embodiments, the analysis unit 24 is specifically configured to determine the first numerical value based on the following formula:

number

[0348] TIFF0007673198000024.tif31170

[0349] Optionally, the first predetermined value T1 is greater than the second predetermined value T2.

[0350] Optionally, the second predetermined value T2=6.

[0351] Optionally, if the first side is the shortest side of the bounding box, the first predetermined value is 64.

[0352] Optionally, if the first side is the longest side of the bounding box, the first predetermined value is 128.

[0353] In some embodiments, the prediction mode determination unit 23 is specifically configured to determine geometric information of a geometric centroid of the set of neighboring points based on geometric information of the K neighboring points, determine a second distance between the current point and the geometric centroid based on the geometric information of the current point and the geometric information of the geometric centroid, and determine the first distance based on the second distance.

[0354] In some embodiments, the prediction mode decision unit 23 is specifically configured to use the second distance as the first distance.

[0355] In one example, the second distance between the current point and the geometric centroid is a Euclidean distance between the current point and the geometric centroid.

[0356] In another example, the second distance between the current point and the geometric centroid is a Manhattan distance between the current point and the geometric centroid.

[0357] In some embodiments, the prediction mode determination unit 23 is specifically configured to determine, for each adjacent point in the K adjacent points, a third distance between the adjacent point and the current point based on geometric information of the adjacent point and geometric information of the current point, and use the average value of the third distances between each of the adjacent points in the K adjacent points and the current point as the first distance.

[0358] It should be understood that the apparatus embodiment and the method embodiment can correspond to each other, and similar descriptions can refer to the method embodiment. In order to avoid repetition, details will not be described again in this specification. Specifically, the point cloud decoder 20 shown in FIG. 15 can correspond to a corresponding entity that performs the method 800 and / or 900 of the embodiment of the present application, and the above-mentioned and other operations and / or functions of each unit in the point cloud decoder 20 are respectively used to realize the corresponding process in each method such as the method 800 and / or 900, and will not be described again here for brevity.

[0359] The above describes the apparatus and system of the embodiments of the present application from the perspective of functional units with reference to the drawings. It should be understood that the functional units may be realized through the form of hardware, through instructions in the form of software, or through a combination of hardware and software units. Specifically, each step of the method embodiment in the embodiments of the present application can be completed through an integrated logic circuit of the hardware of the processor and / or instructions in the form of software, and the steps of the method disclosed in the embodiments of the present application may be directly executed by the hardware decoding processor, or may be executed by a combination of hardware and software units in the decoding processor. Exemplarily, the software unit can be located in a conventional storage medium such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps in the above method embodiment in combination with the hardware.

[0360] FIG. 16 is an exemplary block diagram of an electronic device 30 according to an embodiment of the present application.

[0361] As shown in FIG. 16, the electronic device 30 may be a point cloud encoder or a point cloud decoder according to the embodiments of the present application, and the electronic device 30 may include: The computer system may include a memory 31 and a processor 32, and the memory 31 stores a computer program 34 and transmits the program code 34 to the processor 32. In other words, the processor 32 can realize the method in the embodiment of the present application by calling and executing the computer program 34 from the memory 31.

[0362] For example, the processor 32 may perform the steps in the method 200 described above according to instructions in the computer program 34 .

[0363] In some embodiments of the present application, the processor 32 may include: This may include, but is not limited to, a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and the like.

[0364] In some embodiments of the present application, the memory 31 includes: This may include, but is not limited to, volatile memory and / or non-volatile memory. Here, 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 may be random access memory (RAM), used as an external cache. By way of illustrative, but non-limiting example, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synch link dynamic random access memory (SLDRAM), and direct memory bus random access memory (DR RAM).

[0365] In some embodiments of the present application, the computer program 34 can be divided into one or more units, which are stored in the memory 31 and executed by the processor 32 to complete the method of the present application. The one or more units may be a series of computer program instruction segments that can complete a specific function, and the instruction segments are used to describe the execution process of the computer program 34 in the electronic device 30.

[0366] As shown in FIG. 16, the electronic device 30 further includes: A transceiver 33 may be included, which may be connected to the processor 32 or the memory 31 .

[0367] Here, the processor 32 can control the transceiver 33 to communicate with other devices, specifically, to transmit information or data to other devices or receive information or data transmitted by other devices. The transceiver 33 can include a transmitter and a receiver. The transceiver 33 can further include an antenna, and the number of antennas can be one or more.

[0368] The components of the electronic device 30 are connected by a bus system that includes a power bus, a control bus, and a status signal bus in addition to a data bus.

[0369] FIG. 17 is an exemplary block diagram of a point cloud encoding and decoding system 40 according to an embodiment of the present application.

[0370] As shown in FIG. 17, the point cloud encoding and decoding system 40 may include a point cloud encoder 41 and a point cloud decoder 42, where the point cloud encoder 41 performs a point cloud encoding method related to an embodiment of the present application, and the point cloud decoder 42 performs a point cloud decoding method related to an embodiment of the present application.

[0371] The present application further provides a computer storage medium having stored thereon a computer program which, when executed by a computer, causes the computer to perform the method of the above method embodiment, or an embodiment of the present application further provides a computer program product comprising instructions which, when executed by a computer, causes the computer to perform the method of the above method embodiment.

[0372] When implemented using software, it can be fully or partially implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, it generates the processes or functions described in the embodiments of the present application in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another, for example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, radio, microwave, etc.). The computer-readable storage medium can be any available medium accessible by a computer, or can be a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a Digital Versatile Disc (DVD)), or a semiconductor medium (e.g., a Solid State Disk (SSD)).

[0373] It is obvious to those skilled in the art that the units and algorithm steps of each embodiment described with reference to the embodiments disclosed herein can be realized by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in the form of hardware or software depends on the specific application and design constraints of the technical solution. Professionals can use different methods to realize the described functions according to each specific application, but such realization should not be considered as exceeding the protection scope of the present application.

[0374] In some embodiments provided in the present application, it should be understood that the disclosed system, device and method can be realized in other ways. For example, the device embodiments described above are merely illustrative, for example, the division of the units is merely a division of logical functions, and in actual implementation, other division methods can be adopted, for example, multiple units or components can be combined or integrated into another system, and some features thereof can be ignored or not implemented. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections can be realized using some interfaces, and the indirect couplings or communication connections between the devices or units can be in electrical or mechanical form, or in other forms.

[0375] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place or distributed across a network of units. According to actual needs, some or all of the units may be selected to achieve the objective of the solution of the present embodiment. For example, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may be a separate and independent physical unit, or two or more units may be integrated into one unit.

[0376] The above are only specific embodiments of the present application, and the scope of protection of the present application is not limited thereto. Any modifications or replacements that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. 1. A point cloud encoding method, comprising: Obtaining geometric information and attribute information of a current point in the point cloud; determining K neighboring points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; determining a target prediction mode of attribute information of the current point based on geometric information of the current point and geometric information of the K adjacent points; predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point; obtaining a residual value of the attribute information of the current point based on a predicted value of the attribute information of the current point; encoding a residual value of the attribute information of the current point to generate a point cloud bitstream; When the target prediction mode is a multi-prediction variable mode, predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point includes: Obtaining a reconstruction value of attribute information of the K adjacent points; Using the reconstructed values ​​of the attribute information of the K adjacent points as K predictor variables; Using a weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points as a K+1-th predictor variable; determining a rate-distortion optimization (RDO) value for each predictor in the K+1 predictors; and using the prediction variable of the minimum RDO value as a prediction value of attribute information of the current point.

2. Determining a target prediction mode of attribute information of the current point based on geometric information of the current point and geometric information of the K adjacent points includes: determining a first distance between the current point and a neighboring set of the K neighboring points based on geometric information of the current point and geometric information of the K neighboring points; determining a target prediction mode of the attribute information of the current point based on the first distance, The point cloud encoding method according to claim 1 .

3. The point group encoding method includes: obtaining a bounding box for the point cloud based on geometric information of points in the point cloud, the bounding box being used to enclose the point cloud; and obtaining a length of a first side of a bounding box of the point cloud; determining a first value for determining a target prediction mode based on the length of the first side, The point cloud encoding method according to claim 2 .

4. 1. A point cloud decoding method, comprising: Decoding the point cloud bitstream to obtain geometric information and attribute information of a current point in the point cloud; determining K neighboring points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; determining a target prediction mode of attribute information of the current point based on geometric information of the current point and geometric information of the K adjacent points; predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point; The target prediction mode is a multi-prediction variable mode, and predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point includes: Decoding the point cloud bitstream to obtain prediction mode information of the attribute information of the current point; Obtaining a reconstruction value of attribute information of a destination adjacent point corresponding to the prediction mode information of the K adjacent points; using the reconstructed values ​​of attribute information of the target adjacent points as predicted values ​​of attribute information of the current point.

5. Determining a target prediction mode of attribute information of the current point based on geometric information of the current point and geometric information of the K adjacent points includes: determining a first distance between the current point and a neighboring set of the K neighboring points based on geometric information of the current point and geometric information of the K neighboring points; determining a target prediction mode of the attribute information of the current point based on the first distance, The point cloud decoding method according to claim 4.

6. The target prediction mode is a single prediction variable mode, and predicting attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point includes: Obtaining a reconstruction value of attribute information of the K adjacent points; and using a weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points as a predicted value of the attribute information of the current point. The point cloud decoding method according to claim 4.

7. The point group decoding method includes: decoding the point cloud bitstream to obtain geometric information of points in the point cloud; obtaining a bounding box for the point cloud based on geometric information of points in the point cloud, the bounding box being used to enclose the point cloud; and obtaining a length of a first side of a bounding box of the point cloud; determining a first value for determining a target prediction mode based on the length of the first side, The point cloud decoding method according to claim 5.

8. Determining the first numerical value based on the length of the first side includes: Decoding the point cloud bitstream to obtain a quantization parameter (QP); determining the first value based on the QP and the length of the first side, The point cloud decoding method according to claim 7.

9. Determining the first value based on the QP and the length of the first side, The method includes using a ratio of the length of the first side to the QP as the first numerical value. The point cloud decoding method according to claim 8.

10. Determining the first value based on the QP and the length of the first side, obtaining a first ratio between a length of the first side and a first predetermined value; obtaining a second ratio between the QP and a second predetermined value; determining the first numerical value based on the first ratio and the second ratio, The point cloud decoding method according to claim 9.

11. 1. A point cloud encoder comprising: an acquiring unit configured to acquire geometric information and attribute information of a current point in the point cloud; an adjacent point determining unit configured to determine K adjacent points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; a prediction mode determination unit configured to determine a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; an encoding unit configured to predict attribute information of the current point using the target prediction mode, obtain a predicted value of the attribute information of the current point, obtain a residual value of the attribute information of the current point according to the predicted value of the attribute information of the current point, and encode the residual value of the attribute information of the current point to generate a point cloud bitstream; the target prediction mode is a multi-predictor mode, and the encoding unit further comprises: Obtain a reconstruction value of attribute information of the K adjacent points; Using the reconstructed values ​​of the attribute information of the K adjacent points as K predictor variables; A weighted average value of the reconstructed values ​​of the attribute information of the K adjacent points is used as a K+1-th predictor variable; determining a rate-distortion optimization (RDO) value for each predictor in the K+1 predictors; 13. A point cloud encoder configured to use a predictor variable of a minimum RDO value as a predictor value of attribute information of the current point.

12. 1. A point cloud decoder comprising: a decoding unit configured to obtain geometric information and attribute information of a current point in the point cloud; an adjacent point determining unit configured to determine K adjacent points of the current point based on geometric information of the current point, where K is a positive integer equal to or greater than 2; a prediction mode determination unit configured to determine a target prediction mode of attribute information of the current point according to geometric information of the current point and geometric information of the K adjacent points; a decoding unit configured to predict attribute information of the current point using the target prediction mode to obtain a predicted value of the attribute information of the current point; the target prediction mode is a multi-predictor mode, and the decoding unit further comprises: Decode the point cloud bitstream to obtain prediction mode information of the attribute information of the current point; Obtain a reconstruction value of attribute information of a target adjacent point corresponding to the prediction mode information of the K adjacent points; 13. A point cloud decoder configured to use reconstructed values ​​of attribute information of said target neighboring points as predicted values ​​of attribute information of said current point.

13. A computer-readable storage medium storing a computer program for causing a computer to execute the point cloud encoding method according to any one of claims 1 to 3, or a computer program for causing a computer to execute the point cloud decoding method according to any one of claims 4 to 10.

Citation Information

Patent Citations

  • Automatic selection of precompiled or code-generated operator variants

    US20200311084A1

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

    WO2019240215A1

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

    WO2019240284A1

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

    WO2019240286A1