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

The point cloud decoding and encoding methods utilize Kalman filtering to improve the prediction of color information, enhancing reconstruction accuracy and decoding effectiveness by filtering chroma values, addressing the challenge of improving prediction in existing technologies.

JP7610002B2Active Publication Date: 2025-01-07GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023537455
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-12-22
Publication Date
2025-01-07
Estimated Expiration
2040-12-22

AI Technical Summary

Technical Problem

The challenge of improving the prediction effect in point cloud encoding, particularly in the process of predicting color information, has not been adequately addressed in existing technologies.

Method used

A point cloud decoding method and encoding method that utilize Kalman filtering to enhance the reconstruction accuracy of attribute information by converting initial reconstruction values into luminance and chroma values, and filtering the chroma values using a Kalman filtering algorithm, thereby improving the decoding effect.

Benefits of technology

The proposed method enhances the reconstruction accuracy and decoding effect of point clouds by improving the quality of the point reconstruction process, particularly in handling stationary signals with large brightness fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007610002000006
    Figure 0007610002000006
  • Figure 0007610002000007
    Figure 0007610002000007
  • Figure 0007610002000008
    Figure 0007610002000008
Patent Text Reader

Abstract

In the embodiments of the present application, a point cloud decoding method, a point cloud encoding method, a decoder and an encoder are provided. The decoding method includes the following contents: An initial reconstruction value of attribute information of one target point in the point cloud is obtained by analyzing the bit stream of the point cloud; The initial reconstruction value is converted into an initial luminance value and an initial chroma value; A final chroma value is obtained by filtering the initial chroma value using a Kalman filtering algorithm; A final reconstruction value of the attribute information of the target point is obtained according to the final chroma value and the initial luminance value; A decoded point cloud is obtained according to the final reconstruction value of the attribute information of the target point. In the solution of the present application, the initial reconstruction value is converted into an initial luminance value and an initial chroma value, and only the initial chroma value is filtered using a Kalman filtering algorithm, so that the decoding effect of the point cloud decoding can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The embodiments of the present application relate to the field of point cloud encoding and decoding, and more particularly, to a point cloud decoding method, a point cloud encoding method, a decoder and an encoder. [Background technology]

[0002] Point clouds are beginning to be popular in various fields, such as virtual / augmented reality, robotics, geographic information systems, and medical fields. With the continuous improvement of the standards and speed of scanning devices, a large amount of point clouds on the surface of an object can be accurately acquired, and hundreds of thousands of points can be acquired in one scene. Such a large number of points poses challenges to computer storage and transmission. Therefore, point compression has become an important issue.

[0003] To compress a point cloud, it is necessary to mainly compress its position information and color information. Specifically, the position information of the point cloud is first octree-encoded, and its color information is predicted based on the octree-encoded position information. Next, the color information is encoded by taking the difference from the original color information, thereby achieving point cloud encoding.

[0004] Up to now, in the process of predicting the color information of a point, how to improve the prediction effect is a technical problem to be solved in this field. Summary of the Invention

[0005] In the embodiments of the present application, a point cloud decoding method, a point cloud encoding method, a decoder and an encoder are provided, which can improve the reconstruction accuracy in the process of point cloud decoding and further enhance the decoding effect.

[0006] In one aspect, a point cloud decoding method is provided, which includes: obtaining an initial reconstruction value of attribute information of one target point in the point cloud by analyzing a bit stream of the point cloud; converting the initial reconstruction value into an initial luminance value and an initial chroma value; obtaining a final chroma value by filtering the initial chroma value using a Kalman filtering algorithm; obtaining a final reconstruction value of the attribute information of the target point according to the final chroma value and the initial luminance value; obtaining a decoded point cloud according to the final reconstruction value of the attribute information of the target point.

[0007] In another aspect, a point cloud encoding method is provided, the method includes: obtaining reconstruction information of the target point's position information by processing position information of one target point in the point cloud; obtaining a predicted value of attribute information of the target point based on the reconstruction information of the target point's position information; obtaining an actual value of the target point's attribute information by processing the target point's attribute information in the point cloud; obtaining a residual value of the target point's attribute information based on the predicted value of the target point's attribute information and the actual value of the target point's attribute information; obtaining a bitstream by encoding a number of lossy encoded residual values ​​of the point's attribute information and the residual value of the target point's attribute information that need to be written into a bitstream.

[0008] In another aspect, a decoder is provided, the decoder including an analysis unit, a transformation unit, a filtering unit, a first processing unit, and a second processing unit. The analysis unit is configured to obtain an initial reconstruction value of attribute information of a target point in the point cloud by analyzing a bit stream of the point cloud. The transformation unit is configured to transform the initial reconstruction value into an initial luminance value and an initial chroma value. The filtering unit is configured to obtain a final chroma value by filtering the initial chroma value using a Kalman filtering algorithm. The first processing unit is configured to obtain a final reconstruction value of the attribute information of the target point based on the final chroma value and the initial luminance value. The second processing unit is configured to obtain a decoded point cloud based on the final reconstruction value of the attribute information of the target point.

[0009] In another aspect, an encoder is provided. The encoder includes a first processing unit, a second processing unit, a third processing unit, a fourth processing unit, and an encoding unit. The first processing unit is configured to obtain reconstruction information of the position information of the target point by processing position information of one target point in the point cloud. The second processing unit is configured to obtain a predicted value of attribute information of the target point based on the reconstruction information of the position information of the target point. The third processing unit is configured to obtain a true value of the attribute information of the target point by processing the attribute information of the target point in the point cloud. The fourth processing unit is configured to obtain a residual value of the attribute information of the target point based on the predicted value of the attribute information of the target point and the true value of the attribute information of the target point. The encoding unit is configured to obtain a bitstream by encoding a number of residual values ​​of the attribute information of the losslessly encoded points that need to be written into the bitstream and the residual value of the attribute information of the target point.

[0010] In another aspect, an embodiment of the present application comprises: electronic equipment is provided. electronic equipmentThe present invention includes a processor and a computer-readable storage medium. The processor is adapted to execute computer instructions. The computer-readable storage medium stores computer instructions, and the computer instructions are loaded by the processor to execute the above-mentioned Point cloud decoding method or point cloud encoding method is suitable for carrying out the following:

[0011] In another aspect, an embodiment of the present application provides a computer readable storage medium having computer instructions stored thereon, the computer instructions being readable and executed by a processor of a computer device, the computer device being capable of performing the above-mentioned Point cloud decoding method or point cloud encoding method Execute the command.

[0012] In the solution of the present application, the initial reconstruction value is converted into an initial luminance value and an initial chroma value, and the initial chroma value is only filtered using the Kalman filtering algorithm, so that the accuracy of the reconstruction of the attribute information of the target point can be improved, and the quality of the reconstruction process of the point can be improved, and the decoding effect of the point cloud decoding can be correspondingly improved.In addition, the Kalman filtering algorithm is more suitable for processing stationary signals, and the luminance value of the point cloud has large fluctuations, so that the filtering effect can be improved by using the Kalman filtering algorithm to only filter the initial chroma value, and the decoding effect of the point cloud decoding can be further improved. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a block diagram illustrating an encoding framework according to an embodiment of the present application. [Diagram 2] FIG. 2 is a block diagram illustrating a level of detail (LOD) layer according to an embodiment of the present application. [Diagram 3] FIG. 3 is a block diagram illustrating a decoding framework according to an embodiment of the present application. [Figure 4] FIG. 4 is a flow chart illustrating a point cloud decoding method according to an embodiment of the present application. [Diagram 5]FIG. 5 is a schematic diagram illustrating the principle of Kalman filtering according to an embodiment of the present application. [Figure 6] FIG. 6 is another flow chart illustrating a point cloud decoding method according to an embodiment of the present application. [Figure 7] FIG. 7 is a flow chart illustrating a point cloud encoding method according to an embodiment of the present application. [Figure 8] FIG. 8 is a block diagram illustrating a decoder according to an embodiment of the present application. [Figure 9] FIG. 9 is a block diagram illustrating an encoder according to an embodiment of the present application. [Figure 10] FIG. 10 is a block diagram showing an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Next, the concept of point clouds will be explained.

[0015] A point cloud is a collection of discrete points irregularly distributed in space that represents the spatial structure and surface properties of a three-dimensional (3D) object or scene.

[0016] Point cloud data is a specific recording format of a point cloud, and the point cloud data of each point in the point cloud includes geometric information and attribute information. The geometric information of each point in the point cloud refers to the Cartesian three-dimensional coordinate data of the point, and the attribute information of each point in the point cloud can include, but is not limited to, at least one of color information, material information, and laser reflection intensity information. The color information may be information on any color space. For example, the color information may be Red Green Blue (RGB) information. As another example, the color information may be luminance chroma (YCbCr, YUV) information. Here, Y represents luminance (luma), Cb (U) represents blue chroma, Cr (V) represents red chroma, U and V represent chroma, and chroma is used to describe color difference information.

[0017] Each point in the point cloud has the same number of attribute information. For example, each point in the point cloud has two kinds of attribute information, namely, color information and laser reflection intensity information. As another example, each point in the point cloud has three kinds of attribute information, namely, color information, material information and laser reflection intensity information. In the encapsulation process of the point cloud media, the geometric information of the point can also be called the geometric component of the point cloud media, and the attribute information of the point can also be called the attribute component of the point cloud media. The point cloud media can include one geometric component and one or more attribute components.

[0018] Based on the application scenario, point clouds can be classified into two types: machine-perceived point clouds and human-eye-perceived point clouds. The application scenarios of machine-perceived point clouds include, but are not limited to, autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, rescue and disaster relief robots, etc. The application scenarios of human-eye-perceived point clouds include, but are not limited to, digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, 3D immersive interaction, etc. The acquisition methods of point clouds include, but are not limited to, computer generation, 3D laser scanning, 3D photography measurement, etc. The computer can generate point clouds of virtual 3D objects and scenes. 3D scanning can acquire point clouds of static real-world 3D objects or scenes, and can acquire a million-level point cloud per second. 3D photography can acquire point clouds of dynamic real-world 3D objects or scenes, and can acquire tens of millions of point clouds per second. Specifically, the point cloud on the object surface can be collected through a collection device such as a photovoltaic radar, a laser radar, a laser scanner, a multi-view camera, etc. The point cloud obtained based on the laser measurement principle can include three-dimensional coordinate information of the points and laser reflectance of the points. The point cloud obtained based on the photography measurement principle can include three-dimensional coordinate information of the points and color information of the points. The point cloud obtained based on both the laser measurement principle and the photography measurement principle can include three-dimensional coordinate information of the points, laser reflectance of the points, and color information of the points. Accordingly, based on the point cloud acquisition method, the point cloud can be divided into three types: a first type of static point cloud, a second type of dynamic point cloud, and a third type of dynamically acquired point cloud. In the first type of static point cloud, the object is stationary and the point cloud acquisition device is also stationary. In the second type of dynamic point cloud, the object is dynamic but the point cloud acquisition device is stationary. In the third type of dynamically acquired point cloud, the point cloud acquisition device is dynamic.

[0019] For example, in the medical field, point clouds of biological tissues and organs can be obtained by magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic localization information. These technologies reduce the acquisition cost and time period of point clouds and improve the accuracy of data. The innovation of point cloud acquisition methods enables the acquisition of large-scale point clouds. With the continuous accumulation of large-scale point clouds, efficient storage, transmission, publication, sharing, and standardization of point clouds are the keys to the application of point clouds.

[0020] The point cloud data can be used to form a point cloud media, which may be a media file. The point cloud media may include a plurality of media frames, each media frame in the point cloud media being composed of point cloud data. The point cloud media is widely used because it can flexibly and conveniently represent the spatial structure and surface attributes of a three-dimensional object or a three-dimensional scene. After encoding the point cloud media, the encoded bitstream is encapsulated to form an encapsulation file, which can be used to transmit to a user. Accordingly, at the point cloud media player side, the encapsulation file can be decapsulated and decoded to finally present a decoded data flow. The encapsulation file can also be called a point cloud file.

[0021] To date, point clouds can be encoded using point cloud coding frameworks.

[0022] The point cloud coding framework may be a geometry point cloud compression (G-PCC) coding-decoding framework or a video point cloud compression (V-PCC) coding-decoding framework provided by the moving picture experts group (MPEG), or may be an AVS-PCC coding-decoding framework provided by the audio video standard (AVS). The G-PCC coding-decoding framework may be used for compressing a first type of static point cloud and a third type of dynamically acquired point cloud, and the V-PCC coding-decoding framework may be used for compressing a second type of dynamic point cloud. The G-PCC coding-decoding framework may also be referred to as a point cloud encoder-decoder TMC13, and the V-PCC coding-decoding framework may also be referred to as a point cloud encoder-decoder TMC2. Hereinafter, the coding-decoding framework applicable to the embodiments of the present application will be described in terms of the G-PCC coding-decoding framework.

[0023] FIG. 1 is a block diagram illustrating an encoding framework 100 according to an embodiment of the present application.

[0024] As shown in FIG. 1, the encoding framework 100 can obtain position information and attribute information of a point cloud from a collection device. The encoding of the point cloud includes position encoding and attribute encoding. In one embodiment, the process of position encoding includes performing preprocessing such as coordinate transformation, quantization, and duplicate point removal on the original point cloud, constructing an octree, and then encoding to form a geometry bitstream. The process of attribute encoding includes providing reconstruction information of the position information of the input point cloud and true values ​​of the attribute information, selecting one of three prediction modes to perform point cloud prediction, quantizing the predicted result, and performing arithmetic encoding to form an attribute bitstream.

[0025] As shown in FIG. 1, the position encoding can be realized by a coordinate transform unit 101, a quantization and repetition point removal unit 102, an octree analysis unit 103, a geometry reconstruction unit 104, and a first arithmetic encoding unit 105.

[0026] The coordinate transformation unit 101 can be used to transform the world coordinates of the points in the point cloud into relative coordinates. For example, the coordinates of the points in the point cloud can be transformed from the world coordinates into the relative coordinates by subtracting the minimum values ​​of the x, y and z coordinate axes from the geometric coordinates of the points (corresponding to a DC removal operation). The quantization and duplicate point removal 102 can reduce the number of coordinates by quantization, and can remove duplicate points by a de-duplicating operation since the same coordinates may be given to different original points after quantization. For example, multiple points having the same quantization position and different attribute information can be merged into one point by attribute transformation. In some embodiments of the present application, the quantization and duplicate point removal unit 102 is a selectable unit module. The octree analysis unit 103 can encode the position information of the quantized points in an octree encoding manner. For example, by dividing the point cloud in the form of an octree, the positions of the points can correspond one-to-one to the positions of the points in the octree, and the positions of the nodes in the octree are counted and their flags are recorded as 1 to perform geometry coding. The first arithmetic coding unit 105 can perform arithmetic coding on the position information output from the octree analysis unit 103 using an entropy coding method, that is, the first arithmetic coding unit 105 uses the position information output from the octree analysis unit 103 to generate a geometry bitstream using an arithmetic coding method. The geometry bitstream may be called a geometry codestream.

[0027] The attribute encoding may be realized by a color transform unit 110, an attribute transfer unit 111, a region adaptive hierarchical transform (RAHT) unit 112, a predictive transform unit 113, and a lifting transform unit 114, a quantization unit 115, and a second arithmetic coding unit 116.

[0028] The color space conversion unit 110 can be used to convert the RGB color space of the points in the point cloud into YCbCr format or other formats. The attribute conversion unit 111 can be used to convert the attribute information of the points in the point cloud so as to minimize the distortion of the attributes. For example, the attribute conversion unit 111 can be used to obtain the true value of the attribute information of the points. For example, the attribute information may be the color information of the points. After the true value of the attribute information of the points is obtained by the conversion of the attribute conversion unit 111, any prediction unit can be selected to predict the points in the point cloud. The unit used to predict the points in the point cloud can include at least one of the RAHT unit 112, the prediction conversion unit 113, and the lifting conversion unit 114. In other words, any of the RAHT unit 112, the prediction conversion unit 113, and the lifting conversion unit 114 can be used to predict the attribute information of the points in the point cloud to obtain a predicted value of the attribute information of the points, and further 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 a point may be a value obtained by subtracting the predicted value of the attribute information of the point from the true value of the attribute information of the point.

[0029] The predictive transformation unit 113 can be used to generate a level of detail (LOD), sequentially predict attribute information of points in the LOD, and calculate a prediction residual for subsequent quantization coding. Specifically, for each point in the LOD, find three nearest neighboring points in the previous LOD, and use the reconstruction values ​​of the three nearest neighboring points to predict the current point to obtain a predicted value. Based on the above, a residual value of the current point can be obtained based on the predicted value of the current point and the true value of the current point. For example, the residual value can be calculated based on the following formula:

number

[0030] The current point is taken as the nearest neighbor of the successor point, and the reconstructed value of the current point is used to predict the attribute information of the successor point. The reconstructed value of the attribute information of the current point can be obtained by the following formula:

number

[0031] The process of generating the LOD includes obtaining the Euclidean distance between points based on the position information of the points in the point cloud, and dividing the points into different LOD layers based on the Euclidean distance. In one embodiment, after ranking the Euclidean distance, the points corresponding to the Euclidean distance in different ranges can be divided into different LOD layers. For example, one point is arbitrarily selected as the first LOD layer. Then, the Euclidean distance between the remaining points and the point is calculated, and the points whose Euclidean distance satisfies a first threshold are classified into the second LOD layer. The center of mass of the points in the second LOD layer is obtained, and the Euclidean distance between the points other than the first LOD layer and the second LOD layer and the center of mass is calculated, and the points whose Euclidean distance satisfies a second threshold are classified into the third LOD layer. The above operations are sequentially inferred until all points are classified into LOD layers. The number of points in each LOD layer can be increased by adjusting the threshold of the Euclidean distance. Other methods may be adopted as the method of dividing the LOD layers, and the present application is not limited thereto. It should be noted that the point cloud can be directly divided into one or more LOD layers, or the point cloud can be divided into multiple point cloud slices first, and then each point cloud slice can be divided into one or more LOD layers. 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 regarded as a single point cloud. Each point cloud slice can be divided into multiple LOD layers, and each LOD layer includes multiple points. In one embodiment, the division of the LOD layers can be performed according to the Euclidean distance between the points.

[0032] FIG. 2 is a block diagram illustrating a level of detail (LOD) layer according to an embodiment of the present application.

[0033] As shown in Fig. 2, assume that a point cloud includes a number of points, i.e., P0, P1, P2, P3, P4, P5, P6, P7, P8, and P9, arranged in an original order, and assume that the point cloud can be divided into three LOD layers, i.e., LOD0, LOD1, and LOD2, based on the Euclidean distance between the points. LOD0 may include P0, P5, P4, and P2, LOD2 may include P1, P6, and P3, and LOD3 may include P9, P8, and P7. In this case, LOD0, LOD1, and LOD2 may be used to form a LOD-based order (i.e., P0, P5, P4, P2, P1, P6, P3, P9, P8, and P7) of the point cloud. The LOD-based order may be the coding order of the point cloud.

[0034] The quantization unit 115 may be used to quantize the residual value of the attribute information of the point. For example, when the quantization unit 115 and the predictive transformation unit 113 are connected, the quantization unit may be used to quantize the residual value of the attribute information of the point output from the predictive transformation unit 113. For example, the residual value of the attribute information of the point output from the predictive transformation unit 113 is quantized with a quantization step size to improve system performance. The second arithmetic coding unit 116 may obtain an attribute bitstream by entropy coding the residual value of the attribute information of the point using zero run length coding. The attribute bitstream may be bitstream information.

[0035] In addition, in the embodiment of the present application, the predicted value of the attribute information of the point in the point cloud may also be referred to as a predicted color in the LOD mode. The residual value of the point is obtained by subtracting the predicted value of the attribute information of the point from the true value of the attribute information of the point. The residual value of the attribute information of the point may also be referred to as a residual color in the LOD mode. The predicted value of the attribute information of the point and the residual value of the attribute information of the point are added to generate a reconstructed value of the attribute information of the point. The reconstructed value of the attribute information of the point may also be referred to as a reconstructed color in the LOD mode.

[0036] FIG. 3 is a block diagram illustrating a decoding framework 200 according to an embodiment of the present application.

[0037] As shown in Fig. 3, the decoding framework 200 can obtain a bit stream of a point cloud from an encoding device, and obtain position information and attribute information of points in the point cloud by analyzing the bit stream. The decoding of the point cloud includes position decoding and attribute decoding. In one embodiment, the process of position decoding includes: performing arithmetic decoding on the geometric bit stream; constructing an octree and then integrating to reconstruct the position information of the points to obtain reconstructed information of the position information of the points; and performing coordinate transformation on the reconstructed information of the position information of the points to obtain the position information of the points. The position information of the points can also be called geometric information of the points.

[0038] The attribute decoding process includes: obtaining residual values ​​of attribute information of points in the point cloud by analyzing the attribute bitstream; performing inverse quantization on the residual values ​​of the attribute information of the points to obtain residual values ​​of the attribute information of the points after inverse quantization; selecting one of three prediction modes to perform point cloud prediction based on reconstruction information of the position information of the points obtained during position decoding to obtain a predicted value; obtaining a reconstructed value of the attribute information of the points based on the predicted value and the residual value; and performing color space inverse transform on the reconstructed value of the attribute information of the points to obtain a decoded point cloud.

[0039] 3, positional decoding may be realized by a first arithmetic decoding unit 201, an octree synthesis unit 202, a geometric reconstruction unit 203, and a coordinate inverse transform unit 204. Attribute decoding may be realized by a second arithmetic decoding unit 210, an inverse quantization unit 211, a RAHT unit 212, a predictive transform unit 213, a lifting transform unit 214, and a color inverse transform unit 215.

[0040] Note that decompression is the reverse process of compression, and similarly, the function of each unit in the decoding framework 200 can refer to the function of the corresponding unit in the encoding framework 100. For example, in the decoding framework 200, a point cloud can be divided into a plurality of LODs according to the Euclidean distance between points in the point cloud, and then the attribute information of the points in the LODs can be sequentially decoded. For example, the number of zeros (zero_cnt) in the zero run length encoding technique is calculated, and the residual value is decoded based on the number of zeros. Then, in the decoding framework 200, inverse quantization is performed based on the decoded residual value until all points are decoded, and the reconstructed value of the point can be obtained by adding the residual value after inverse quantization and the predicted value of the current point. The decoding operation is performed based on the zero run length encoding technique. First, the size of the first zero_cnt in the bit stream is obtained. If zero_cnt is greater than 0, it indicates that the residual value of the attribute information of this point is 0. If zero_cnt is 0, it indicates that the residual value of the attribute information of this point is 0. is equal to If the residual value is 0, it indicates that the residual value of the attribute information of this point is not 0. If the residual value is 0, a first analysis function is used to analyze the residual value, and if the residual value is not 0, a second analysis function is used to analyze the residual value. The current point is taken as the nearest neighbor of the subsequent point in the LOD, and the attribute information of the subsequent point is predicted using the reconstruction value of the current point. Also, for inverse transformation and inverse quantization (also called scaling), in orthogonal transformation, if one matrix is ​​used for transformation, the other matrix is ​​used for inverse transformation. In the decoding method, the matrix used in the decoder can be called a "transform" matrix.

[0041] In the embodiments of the present application, a point cloud decoding method, a point cloud encoding method, a decoder and an encoder are provided, which can improve the reconstruction accuracy in the process of point cloud decoding and further enhance the decoding effect.

[0042] Figure 4 shows an exemplary flow chart of a point cloud decoding method 300 according to an embodiment of the present application. The point cloud decoding method 300 can be executed by a decoding side, for example, by the decoding framework 200 shown in Figure 3, that is, the point cloud decoder TMC 13. For convenience of explanation, the technical solution of the present application is described below by taking the decoder as the execution entity.

[0043] As shown in FIG. 4, the decoding method 300 may include the following:

[0044] S301: Obtain an initial reconstruction value of attribute information of one target point in the point cloud by analyzing the bit stream of the point cloud.

[0045] S302: The initial reconstruction values ​​are converted into initial luminance values ​​and initial chroma values.

[0046] S303: A final saturation value is obtained by filtering the initial saturation value using a Kalman filtering algorithm.

[0047] S304: Obtain a final reconstruction value of the attribute information of the target point according to the final saturation value and the initial luminance value.

[0048] S305: Obtain a decoded point cloud based on the final reconstruction values ​​of the attribute information of the target points.

[0049] Specifically, the initial reconstruction value can be a value having an RGB format, for example, the initial reconstruction value F can be obtained by mixing different components R, G, B, that is, F=r[R]+g[G]+b[B], where r, g, and b are the coefficients of mixing three primary colors. When the three primary color components are all 0 (weakest), the mixed color is black, and when the three primary color components are all k (strongest), the mixed color is white. By adjusting the values ​​of the three coefficients r, g, and b, various mixed colors between black and white can be obtained. RGB can be converted into luminance values ​​(i.e., luminance signal Y) and chroma values ​​(i.e., chroma signal Cr and chroma signal Cb) through color space conversion. The color space including chroma values ​​and luminance values ​​is the so-called YCbCr color space. In the embodiment of the present application, the original chroma values ​​after conversion are subjected to Kalman filtering to enhance the decoding effect.

[0050] In the solution of the present application, the initial reconstruction value is converted into an initial luminance value and an initial chroma value, and the initial chroma value is only filtered using the Kalman filtering algorithm, so that the accuracy of the reconstruction of the attribute information of the target point can be improved, and the quality of the reconstruction process of the point can be improved, and the decoding effect of the point cloud decoding can be correspondingly improved.In addition, the Kalman filtering algorithm is more suitable for processing stationary signals, and the luminance value of the point cloud has large fluctuations, so that the filtering effect can be improved by using the Kalman filtering algorithm to only filter the initial chroma value, and the decoding effect of the point cloud decoding can be further improved.

[0051] Based on the technical solution of this application, tests are carried out using the G-PCC reference software TMC13 V11.0, and some test sequences required by MPEG are tested under CTC CY test conditions. The test results are shown in Table 1 below. The performance improvement effect will be described below with reference to Table 1.

[0052] [Table 1]

[0053] TIFF0007610002000004.tif71170

[0054] TIFF0007610002000005.tif83170

[0055] It should be noted that the Kalman filtering process in the embodiment of the present application may be combined with the decoder post-processing process or the in-loop filtering process, and the embodiment of the present application is not specifically limited thereto. It should be noted that the point cloud in the present application may be a complete point cloud, or a point cloud slice formed by dividing the complete point cloud.

[0056] FIG. 5 is a schematic diagram illustrating the principle of Kalman filtering according to an embodiment of the present application.

[0057] As shown in FIG. 5, the initial saturation value of the attribute information of the target point can be represented by a curve 371, the final saturation value of the attribute information of the target point can be represented by a curve 372, and the measurement value of the attribute information of the target point can be represented by a curve 373. In other words, the final saturation value of the attribute information of the target point can be obtained by filtering the initial saturation value of the attribute information of the target point using the measurement value of the attribute information of the target point. The initial saturation value can also be called a priori estimate, and the final saturation value can also be called an optimal estimate or a posteriori estimate. For example, Kalman filtering for a target point in a point cloud can be divided into a prediction process and a correction process. Suppose the target point is the k-th point in the point cloud, and in the prediction process, the state of the k-th point is estimated based on the initial saturation value of the (k-1)-th point to obtain the measurement value of the k-th point, and in the correction process, the measurement value of the k-th point is used to correct the initial saturation value of the k-th point to obtain the final saturation value of the k-th point.

[0058] In some embodiments of the present application, the above S303 may include the following content: Take the saturation value of the reconstructed value of the attribute information of one or more points before the target point as the measurement value, and use the Kalman filtering algorithm to filter the initial saturation value to obtain a final saturation value.

[0059] For example, the reconstructed value of the attribute information of one or more points before the target point may be the reconstructed value of the attribute information of one point before the target point. As another example, the reconstructed value of the attribute information of one or more points before the target point may be the average value, maximum value, or minimum value of the reconstructed value of the attribute information of multiple points before the target point. For example, the saturation value of the initial reconstructed value of the attribute information of one or more points before the target point is taken as a measurement value, and the initial saturation value is filtered using a Kalman filtering algorithm to obtain a final saturation value. As another example, the saturation value of the final reconstructed value of the attribute information of one or more points before the target point is taken as a measurement value, and the initial saturation value is filtered using a Kalman filtering algorithm to obtain a final saturation value. Optionally, the one or more points before the target point are one or more points located before the target point based on the decoding order. Of course, the one or more points before the target point may be one or more points determined based on other orders. In addition, one or more points before the target point may be understood to be one or more points before the target point in the LOD layer in which the target point is located, or one or more points located before the target point based on the code order.

[0060] In essence, the decoder uses the saturation values ​​of the reconstructed values ​​as measurements and filters the initial saturation values ​​using a Kalman filtering algorithm to obtain the final saturation values.

[0061] For example, the above S303 may include the following contents: Calculate the average reconstruction value of the reconstruction values ​​of the attribute information of one or more points before the target point; Convert the average reconstruction value into an average brightness value and an average saturation value; Take the average saturation value as the measurement value, and use the Kalman filtering algorithm to filter the initial saturation value to obtain the final saturation value.

[0062] Of course, as noted above, taking the average saturation value as a measurement is merely an example provided in this application and should not be construed as a limitation of this application.

[0063] In some embodiments of the present application, the residual value of the attribute information of the target point is obtained by performing inverse quantization according to a target quantization step size among a plurality of quantization step sizes. The above S302 can include the following content: If the target quantization step size is equal to or greater than a threshold N, convert the initial reconstruction value into an initial luminance value and an initial chroma value, where N is a non-negative integer. Optionally, the plurality of quantization step sizes are sorted in ascending order, where N is the value of the nth quantization step size among the plurality of quantization step sizes, where n is a positive integer.

[0064] In other words, when performing inverse quantization based on a relatively large quantization step, the initial reconstruction values ​​are converted into initial luma and chroma values.

[0065] Assume that there are five quantization step sizes corresponding to five bit rates. Assume that the Kalman filtering process is performed only on the three relatively large latter quantization step sizes (i.e., the target quantization step size), and no process is performed on the two previous quantization step sizes. The larger the quantization step size, the larger the error between the reconstructed value of the point attribute information and the true value of the point attribute information, and the worse the quality of the reconstructed value of the point attribute information. Based on this, even if the Kalman filtering process is performed on the two previous quantization step sizes, the error of the reconstructed value of the point attribute information is small, so the filtering effect is not good. If the Kalman filtering process is performed only on the three relatively large latter quantization step sizes, the filtering effect of the reconstructed value of the point attribute information is good, which not only simplifies the filtering process, but also ensures the decoding effect.

[0066] In some embodiments of the present application, the above S302 may include the following: Convert the initial reconstruction value into an initial luminance value and an initial chroma value using a color space conversion function. The initial luminance value and the initial chroma value are located in a color space supported by the display screen. Optionally, the color space conversion function may be transformGbrToYCbCrBt709. Optionally, the color space may also be called a color gamut space.

[0067] Of course, the present application intends to protect the use of a color space conversion function to convert the initial reconstruction value into a color space or color gamut space supported by a display screen, and the specific conversion function is not limited in the embodiments of the present application. For example, different conversion functions can be used according to the attributes of the display screen, and different conversion functions can also be used based on the color space or color gamut space of different encoding and decoding standards.

[0068] In some embodiments of the present application, the above S301 may include the following content: If the number of points in one LOD layer in the point cloud is less than a threshold M, for each point in the LOD layer, obtain an initial reconstruction value of point attribute information based on a residual value of the losslessly encoded point attribute information and a predicted value of the point attribute information. If the number of points in one LOD layer in the point cloud is equal to or greater than the threshold M, for the (m*M)th point in the LOD layer, obtain an initial reconstruction value of point attribute information based on a residual value of the losslessly encoded point attribute information and a predicted value of the point attribute information. M is a positive integer greater than 1, and m is equal to or greater than 0. Greater than A positive integer.

[0069] In the LOD layer, the Euclidean distance is large with respect to points located earlier in the coding order, so there is a possibility that a relatively large quantization error will occur in the quantization process. The residual values ​​of the attribute information of some points are not quantized, and the reconstructed values ​​of the attribute information of these points are equivalent to true values. As a result, the accuracy of the reconstructed values ​​of the attribute information of all points in the point cloud can be improved. At the same time, as the accuracy of the reconstructed values ​​improves, the accuracy of the update and iteration process of Kalman filtering can be further improved, and the decoding effect can be further improved. The decoder does not perform inverse quantization on points located at the same position, and can obtain correct, higher quality reconstructed values.

[0070] Optionally, the method 300 may further include: obtaining the number of points in the bitstream whose residual values ​​of the attribute information do not need inverse quantization by analyzing the bitstream;

[0071] In some embodiments of the present application, the above S301 may include the following content: If the number of points in one LOD layer in the point cloud is less than the threshold T, for each point in the LOD layer, replace the final reconstructed value of the attribute information of the point with the true value of the attribute information of the point. If the number of points in one LOD layer in the point cloud is equal to or greater than the threshold T, replace the final reconstructed value of the attribute information of the (t*T)th point in the LOD layer with the true value of the attribute information of the point. T is a positive integer greater than 1, and t is equal to or greater than 0. Greater than A positive integer.

[0072] In the LOD layer, the Euclidean distance is large with respect to the point cloud located earlier in the coding order, so that a relatively large quantization error may occur in the quantization process. By replacing the final reconstruction values ​​of some points with true values, the accuracy of the reconstruction values ​​of the attribute information of all points in the point cloud can be improved. At the same time, as the accuracy of the reconstruction values ​​is improved, the accuracy of the update and iteration process of Kalman filtering can be further improved, and the decoding effect can be further improved. By adopting the true values ​​for points at the same position, the decoder can obtain correct reconstruction values ​​with better quality.

[0073] Optionally, the method 300 may further include: Analyzing the bitstream to obtain the number of points in the bitstream whose final reconstructed values ​​of attribute information are true values, and the true values ​​of the attribute information of the points.

[0074] In some embodiments of the present application, the method 300 may further include: Dividing the point cloud into one or more LOD layers, each of which includes one or more points.

[0075] In some embodiments of the present application, the above S301 may include the following contents: Obtain reconstruction information of the position information of the target point by analyzing the bit stream; Obtain a predicted value of the attribute information of the target point based on the reconstruction information of the position information of the target point; Obtain a residual value of the attribute information of the target point by analyzing the bit stream; Obtain an initial reconstruction value of the attribute information of the target point based on the predicted value of the attribute information of the target point and the residual value of the attribute information of the target point.

[0076] FIG. 6 is another schematic diagram illustrating a decoding method according to an embodiment of the present application.

[0077] As shown in Fig. 6, assume that there are five quantization step sizes (i.e., Qp1, Qp2, Qp3, Qp4 and Qp5) corresponding to five bit rates. Assume that the last three quantization step sizes (i.e., Qp3, Qp4 and Qp5) are equal to or greater than the threshold N, that is, the Kalman filtering process is performed only on the relatively large last three quantization step sizes (i.e., Qp3, Qp4 and Qp5), and no processing is performed on the previous two quantization step sizes. Based on this, the Kalman filtering operation can be performed sequentially on the reconstruction value of each point based on the generation order of LOD.

[0078] specifically, Decoder obtains an initial reconstruction value (RGB value) of the attribute information of the current point in the point cloud by traversing the point cloud, and the decoder calculates an average reconstruction value of the reconstruction values ​​of the attribute information of the three points preceding the current point. Then, the decoder can use the function transformGbrToYCbCrBt 709 to convert the initial reconstruction value of the current point and the average reconstruction value of the reconstruction values ​​of the three points preceding the current point from the RGB domain to the YUV domain, i.e. Decoder obtains the average saturation value and the average luminance value of the average reconstruction value, and the initial saturation value and the initial luminance value of the current point. Then, the decoder performs Kalman filtering with the obtained average saturation value as the measurement value and the initial saturation value as the prediction value to obtain the final saturation value of the current point, and further obtains the final reconstruction value based on the final saturation value and the initial luminance value of the current point. In other words, the UV components of the YUV components are taken as the input parameters required for Kalman filtering, i.e., as the measurement value, and the UV components of the YUV components of the current point are taken as another input parameter of Kalman filtering, i.e., as the prediction value. After the Kalman filtering is completed, the final reconstruction value after filtering covers the initial reconstruction value of the current point.

[0079] In this embodiment, when a relatively large quantization step size is selected, the Kalman filtering process is performed only on the initial chroma value, which can avoid the quality loss of the initial luminance value and improve the filtering performance.

[0080] 7 is a flow chart illustrating a point cloud encoding method 400 according to an embodiment of the present application. The method 400 can be performed by an encoding side, for example, as shown in FIG. 1 The above-described embodiment may be implemented by the encoding framework 100 or encoder shown in FIG.

[0081] As shown in FIG. 7, the method 400 may include the following contents.

[0082] S401: The position information of one target point in a point cloud is processed to obtain reconstruction information of the position information of the target point.

[0083] S402: A predicted value of attribute information of the target point is obtained based on the reconstruction information of the position information of the target point.

[0084] S403: The attribute information of the target point in the point cloud is processed to obtain the true value of the attribute information of the target point.

[0085] S404: A residual value of the attribute information of the target point is obtained based on the predicted value of the attribute information of the target point and the true value of the attribute information of the target point.

[0086] S405: Obtain a bitstream by encoding the number of residual values ​​of the attribute information of the losslessly encoded points and the residual values ​​of the attribute information of the target points that need to be written into the bitstream.

[0087] In some embodiments of the present application, the above S405 may include the following content: If the number of points in one LOD layer in the point cloud is less than a threshold M, obtain a bitstream by encoding the residual value of the attribute information of the point that is not dequantized for each point in the LOD layer; If the number of points in one LOD layer in the point cloud is equal to or greater than the threshold M, obtain a bitstream by encoding the residual value of the attribute information of the point that is not dequantized for the (m*M)th point in the LOD layer; M is a positive integer greater than 1, and m is a positive integer greater than 0. Greater thanA positive integer.

[0088] Specifically, the encoder processes the position information of one target point in the point cloud to obtain reconstruction information of the position information of the target point. The encoder obtains a predicted value of the attribute information of the target point based on the reconstruction information of the position information of the target point. The encoder processes the attribute information of the target point in the point cloud to obtain a true value of the attribute information of the target point. The encoder obtains a residual value of the attribute information of the target point based on the predicted value of the attribute information of the target point and the true value of the attribute information of the target point. The encoder obtains a bit stream by encoding the residual value of the attribute information of the target point. Optionally, the encoder can further encode the number of points that do not need to quantize the residual value of the attribute information. For example, if the number of points in one LOD layer in the point cloud is less than a threshold M, for each point in the LOD layer, the encoder obtains a bit stream by encoding the residual value of the attribute information of the point that is not dequantized. If the number of points in one LOD layer in the point cloud is equal to or greater than a threshold M, a bitstream is obtained by encoding the residual value of the attribute information of the point that is not dequantized for the (m*M)th point in the LOD layer. M is a positive integer greater than 1, and m is a number between 0 and 1. Greater than A positive integer.

[0089] In some embodiments of the present application, the method 400 may include: Dividing the point cloud into one or more LOD layers, each of which includes one or more points.

[0090] Although the preferred embodiments of the present application have been described in detail above with reference to the accompanying drawings, the present application is not limited to the detailed contents of the above embodiments, and various simple modifications can be made to the technical solutions of the present application within the scope of the technical ideas of the present application, and all such simple modifications fall within the scope of protection of the present application. For example, the specific technical features described in the above specific embodiments may be combined by any suitable means if there is no contradiction, and in order to avoid unnecessary duplication, various possible combinations are not described again in this application. In addition, for example, among various different embodiments of the present application, any combination should be considered as disclosed in the present application as long as it does not contradict the ideas of the present application. It should be understood that in various method embodiments of the present application, the magnitude of the sequence numbers of each of the above processes does not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any restriction on the implementation process of the embodiments of the present application.

[0091] Hereinafter, a point cloud encoder or a point cloud decoder according to embodiments of the present application will be described with reference to the accompanying drawings.

[0092] FIG. 8 is a block diagram illustrating a decoder 500 according to an embodiment of the present application.

[0093] As shown in Fig. 8, the decoder 500 includes an analysis unit 501, a conversion unit 502, a filtering unit 503, a first processing unit 504, and a second processing unit 505. The analysis unit 501 is configured to obtain an initial reconstruction value of attribute information of one target point in the point cloud by analyzing a bit stream of the point cloud. The conversion unit 502 is configured to convert the initial reconstruction value into an initial luminance value and an initial chroma value. The filtering unit 503 is configured to obtain a final chroma value by filtering the initial chroma value using a Kalman filtering algorithm. The first processing unit 504 is configured to obtain a final reconstruction value of the attribute information of the target point based on the final chroma value and the initial luminance value. The second processing unit 505 is configured to obtain a decoded point cloud based on the final reconstruction value of the attribute information of the target point.

[0094] In some embodiments of the present application, the filtering unit 503 is specifically configured to calculate an average reconstruction value of the reconstruction values ​​of the attribute information of one or more points before the target point, convert the average reconstruction value into an average brightness value and an average saturation value, take the average saturation value as the measurement value, and filter the initial saturation value using a Kalman filtering algorithm to obtain a final saturation value.

[0095] In some embodiments of the present application, the one or more points before the target point are one or more points that are located before the target point based on the decoding order.

[0096] In some embodiments of the present application, the residual value of the attribute information of the target point is obtained by performing inverse quantization according to a target quantization step size among a plurality of quantization step sizes. The conversion unit 502 is specifically configured to convert the initial reconstruction value into an initial luminance value and an initial chrominance value when the target quantization step size is equal to or larger than a threshold N, where N is a non-negative integer.

[0097] In some embodiments of the present application, the multiple quantization step sizes are sorted in ascending order, and N is the value of the nth quantization step size among the multiple quantization step sizes, where n is a positive integer.

[0098] In some embodiments of the present application, the conversion unit 502 is specifically configured to convert the initial reconstruction values ​​into initial luminance values ​​and initial chroma values ​​using a color space conversion function, where the initial luminance values ​​and initial chroma values ​​are located in a color space supported by the display screen.

[0099] In some embodiments of the present application, the analysis unit 501 is specifically configured to: obtain, for each point in an LOD layer, an initial reconstruction value of the point attribute information based on the residual value of the losslessly encoded point attribute information and the predicted value of the point attribute information when the number of points in one LOD layer in the point cloud is less than a threshold M; or obtain, for an (m*M)th point in the LOD layer, an initial reconstruction value of the point attribute information based on the residual value of the losslessly encoded point attribute information and the predicted value of the point attribute information when the number of points in one LOD layer in the point cloud is equal to or greater than the threshold M, where M is a positive integer greater than 1, and m is a positive integer greater than 0. Greater than A positive integer.

[0100] In some embodiments of the present application, the parsing unit 501 is further configured to obtain a number of points in the bitstream whose residual values ​​of the attribute information do not require inverse quantization by parsing the bitstream.

[0101] In some embodiments of the present application, the analysis unit 501 is specifically configured to: replace, for each point in an LOD layer, the final reconstructed value of the attribute information of the point with the true value of the attribute information of the point when the number of points in one LOD layer in the point cloud is less than a threshold T; or replace, for each point in an LOD layer, the final reconstructed value of the attribute information of the (t*T)th point in the LOD layer with the true value of the attribute information of the point when the number of points in one LOD layer in the point cloud is equal to or greater than the threshold T, where T is a positive integer greater than 1, and t is equal to or greater than 0. Greater thanis a positive integer,

[0102] In some embodiments of the present application, the parsing unit 501 is further configured to obtain, by parsing the bitstream, the number of points in the bitstream for which the final reconstructed values ​​of the attribute information are true values ​​and the true values ​​of the attribute information of the points.

[0103] In some embodiments of the present application, the analysis unit 501 is further configured to divide the point cloud into one or more LOD layers, each LOD layer including one or more points.

[0104] In some embodiments of the present application, the analysis unit 501 is specifically configured to obtain reconstruction information of the target point's position information by analyzing the bit stream, obtain a predicted value of the target point's attribute information based on the reconstruction information of the target point's position information, obtain a residual value of the target point's attribute information by analyzing the bit stream, and obtain an initial reconstruction value of the target point's attribute information based on the predicted value of the target point's attribute information and the residual value of the target point's attribute information.

[0105] FIG. 9 is a block diagram illustrating a point cloud encoder 600 according to an embodiment of the present application.

[0106] As shown in FIG. 9, the encoder 600 includes a first processing unit 601, a second processing unit 602, a third processing unit 603, a fourth processing unit 604, and an encoding unit 605. The first processing unit 601 is configured to obtain reconstruction information of the position information of the target point by processing the position information of one target point in the point cloud. The second processing unit 602 is configured to obtain a predicted value of the attribute information of the target point based on the reconstruction information of the position information of the target point. The third processing unit 603 is configured to obtain a true value of the attribute information of the target point by processing the attribute information of the target point in the point cloud. The fourth processing unit 604 is configured to obtain a residual value of the attribute information of the target point based on the predicted value of the attribute information of the target point and the true value of the attribute information of the target point. The encoding unit 605 is configured to obtain a bitstream by encoding the number of residual values ​​of the attribute information of the losslessly encoded points and the residual value of the attribute information of the target point that need to be written into the bitstream.

[0107] In some embodiments of the present application, the encoding unit 605 is specifically configured to obtain a bitstream by encoding the residual value of the attribute information of the non-dequantized points for each point in the LOD layer when the number of points in one LOD layer in the point cloud is less than a threshold M, or to obtain a bitstream by encoding the residual value of the attribute information of the non-dequantized points for the (m*M)th point in the LOD layer when the number of points in one LOD layer in the point cloud is equal to or greater than the threshold M, where M is a positive integer greater than 1, and m is a positive integer greater than 0. Greater than A positive integer.

[0108] In some embodiments of the present application, the first processing unit 601 is specifically configured to divide the point cloud into one or more LOD layers, each of which includes one or more points.

[0109] It should be noted that the apparatus embodiment may correspond to the method embodiment, and similar descriptions can be referred to the method embodiment. In order to avoid repetition, the description is omitted here. Specifically, the decoder 500 may correspond to the entity that executes the method 300 in the embodiment of the present application. In addition, each unit in the decoder 500 is respectively used to realize each process in the method 300. Similarly, the encoder 600 may correspond to the entity that executes the method 400 in the embodiment of the present application. In addition, each unit in the encoder 600 is respectively used to realize each process in the method 400. In order to be concise, the description is omitted here.

[0110] Furthermore, each or all of the units in the encoder or decoder according to the embodiments of the present application may be integrated into one or several other units, or some of the units may be further divided into several smaller units in terms of function, so that the same operations can be realized without affecting the realization of the technical effects of the embodiments of the present application. In other words, the units are divided based on logic functions. In practical applications, the functions of one unit can be realized by several units, or the functions of several units can be realized by one unit. Of course, in other embodiments of the present application, the encoder or decoder may include other units, and in practical applications, these functions may be realized by other units working together, or may be realized by several units working together.

[0111] According to another embodiment of the present application, a general-purpose computer device, such as a general-purpose computer having processing elements and storage elements, such as a central processing unit (CPU), a random access memory (RAM), and a read only memory (ROM), executes a computer program (including program code) capable of executing each step of the corresponding method, thereby constructing an encoder or decoder according to the embodiment of the present application, and realizing the encoding method or decoding method according to the embodiment of the present application. The computer program is, for example, recorded in a computer-readable storage medium, and is installed in any electronic device having processing capabilities via the computer-readable storage medium, and can operate therein to realize the corresponding method in the embodiment of the present application. In other words, the above-mentioned units may be realized in a hardware form, may be realized by instructions in a software form, or may be realized by a combination of hardware and software modules. Specifically, each step of the method embodiment in the embodiment of the present application can be completed by an integrated logic circuit of hardware in a processor or instructions in a software form. The steps of the method disclosed in the embodiments of the present application can be directly performed and completed by a hardware decoding processor, or can be performed and completed by a combination of hardware and software modules in the decoding processor. Optionally, the software can be located in a mature storage medium in the technical field, 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 the memory. The processor reads the information in the memory and completes the steps of the above method embodiments together with the hardware of the processor.

[0112] FIG. 10 is a block diagram illustrating an electronic device 700 according to an embodiment of the present application.

[0113] As shown in FIG. 10, the electronic device 700 includes at least a processor 710 and a computer-readable storage medium 720. The processor 710 and the computer-readable storage medium 720 may be connected by a bus or other methods. The computer-readable storage medium 720 is used to store a computer program 721 including computer instructions. The processor 710 is used to execute the computer instructions stored in the computer-readable storage medium 720. The processor 710 is a calculation core and a control core of the electronic device 700, and is suitable for implementing one or more computer instructions, specifically, for implementing a process of a corresponding method or a corresponding function by loading and executing one or more computer instructions. The electronic device 700 further comprises a transceiver 730 .

[0114] By way of example, processor 710 may also be referred to as a CPU. Processor 710 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, or the like.

[0115] By way of example, the computer-readable storage medium 720 may be a high-speed RAM memory or a non-volatile memory, such as at least one magnetic disk storage device. Alternatively, the computer-readable storage medium 720 may be at least one computer-readable storage medium remote from the processor 710. Specifically, the computer-readable storage medium 720 includes, but is not limited to, a volatile memory and / or a non-volatile memory. The non-volatile memory may be a ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a RAM that functions as an external high-speed cache. By way of illustrative, but non-limiting example, various RAMs are available, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synch-link DRAM, SLDRAM), and direct rambus random access memory (direct rambus RAM, DRRAM).

[0116] In one embodiment, the electronic device 700 is a decoder 200 as shown in FIG. 3 or a decoder 200 as shown in FIG. 500The computer-readable storage medium 720 stores a first computer instruction. The processor 710 loads and executes the first computer instruction stored in the computer-readable storage medium 720 to realize the corresponding steps in the method embodiment shown in FIG. 4. Specifically, the first computer instruction in the computer-readable storage medium 720 is loaded and executed by the processor 710 to perform the corresponding steps. To avoid repetition, the description is omitted here.

[0117] In one embodiment, the electronic device 700 may be the encoded frame 100 shown in Fig. 1 or the encoder 600 shown in Fig. 9. The computer-readable storage medium 720 stores a second computer instruction. The processor 710 loads and executes the second computer instruction stored in the computer-readable storage medium 720 to realize the corresponding step in the method embodiment shown in Fig. 7. Specifically, the second computer instruction in the computer-readable storage medium 720 is loaded and executed by the processor 710 to perform the corresponding step. To avoid repetition, the description is omitted here.

[0118] According to another aspect of the present application, a computer-readable storage medium (Memory) is provided in an embodiment of the present application. The computer-readable storage medium is a storage device in the electronic device 700, and is used to store programs and data. For example, the computer-readable storage medium may be a computer-readable storage medium 720. The computer-readable storage medium 720 here may include a built-in storage medium in the electronic device 700, and may of course include an extended storage medium supported by the electronic device 700. The computer-readable storage medium provides a storage space in which an operating system of the electronic device 700 is stored. Furthermore, the storage space stores one or more computer instructions suitable for being loaded and executed by the processor 710, and these computer instructions may be one or more computer programs 721 (including program codes).

[0119] According to another aspect of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions, which are stored in a computer-readable storage medium, and may be, for example, a computer program 721. In this case, the electronic device 700 may be a computer, and a processor 710 reads the computer instructions from the computer-readable storage medium 720, and the processor 710 executes the computer instructions to cause the computer to perform the encoding method or the decoding method according to the various selectable schemes.

[0120] In other words, when implemented by software, all or part of the above embodiments can be 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 and executed on a computer, it executes all or part of the processes of the embodiments of the present application or the functions of the embodiments of the present application. 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 by wire (e.g., coaxial cable, fiber optic, digital subscriber line (DSL), etc.) or wirelessly (e.g., infrared, radio, microwave, etc.).

[0121] In conjunction with each exemplary unit and process described in the embodiments disclosed herein, those skilled in the art can be aware that the present application can be realized by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed by hardware or software is determined by the specific application of the technical solution, the design constraints, etc. Those skilled in the art can realize the described functions using different methods for each specific application, but these realizations should not be considered beyond the scope of the present application.

[0122] Finally, it should be noted that the above content is only a specific embodiment of the present application, and the scope of protection of the present application is not limited thereto. Any modifications or replacements that a person skilled in the art can easily think of 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 decoding method, comprising: Obtaining an initial reconstruction value of attribute information of a target point in the point cloud by analyzing a bit stream of the point cloud; converting the initial reconstruction values ​​into initial luminance and chroma values; filtering the initial saturation values ​​using a Kalman filtering algorithm to obtain final saturation values; obtaining a final reconstruction value of attribute information of the target point based on the final saturation value and the initial luminance value; and obtaining a decoded point cloud based on a final reconstruction value of attribute information of the target points. The point group decoding method according to claim 1,

2. Utilizing the Kalman filtering algorithm to filter the initial saturation values ​​to obtain final saturation values, a saturation value of a reconstructed value of attribute information of one or more points before the target point is used as a measurement value, and a final saturation value is obtained by filtering the initial saturation value using the Kalman filtering algorithm; The method of claim 1 , wherein the point cloud is decoded.

3. The method further comprises: taking a saturation value of a reconstructed value of attribute information of one or more points before the target point as a measurement value; and filtering the initial saturation value using the Kalman filtering algorithm to obtain a final saturation value; Calculating an average reconstruction value of reconstruction values ​​of attribute information of one or more points before the target point; converting the average reconstruction values ​​into average luminance and chroma values; said average saturation value being a measurement, and filtering said initial saturation value using said Kalman filtering algorithm to obtain said final saturation value. The method of claim 2, wherein the point group is decoded.

4. the one or more points before the target point are one or more points that are located before the target point based on the decoding order. The method of claim 2, wherein the point group is decoded.

5. The residual value of the attribute information of the target point is obtained by performing inverse quantization based on a target quantization step size among a plurality of quantization step sizes, and converting the initial reconstruction value into an initial luminance value and an initial chroma value is if the target quantization step size is greater than or equal to a threshold N, converting the initial reconstruction values ​​to the initial luma values ​​and the initial chroma values; N is a non-negative integer. The method of claim 1 , wherein the point cloud is decoded.

6. the plurality of quantization step sizes are sorted in ascending order, N is a value of an n-th quantization step size among the plurality of quantization step sizes, n being a positive integer; The method for decoding points according to claim 5 .

7. Transforming the initial reconstruction values ​​into initial luminance values ​​and initial chroma values ​​comprises: converting the initial reconstruction values ​​to the initial luminance values ​​and the initial chroma values ​​using a color space conversion function; the initial luminance value and the initial chroma value lie within a color space supported by a display screen. The method of claim 1 , wherein the point cloud is decoded.

8. Obtaining an initial reconstruction value of attribute information of a target point in the point cloud by analyzing the bit stream of the point cloud, If the number of points in a level of detail (LOD) layer in the point cloud is less than a threshold M, for each point in the LOD layer, obtain an initial reconstruction value of point attribute information based on the residual value of the losslessly encoded point attribute information and the predicted value of the point attribute information; or When the number of points in one LOD layer in the point cloud is equal to or greater than the threshold M, for an (m*M)-th point in the LOD layer, obtaining an initial reconstruction value of point attribute information based on a residual value of the losslessly encoded point attribute information and a predicted value of the point attribute information; M is a positive integer greater than 1, and m is a positive integer greater than 0. The method of claim 1 , wherein the point cloud is decoded.

9. The point group decoding method includes: The method further includes obtaining a number of points in the bitstream at which residual values ​​of attribute information do not require inverse quantization by analyzing the bitstream. The method of claim 8, wherein the point cloud is decoded.

10. Obtaining an initial reconstruction value of attribute information of a target point in the point cloud by analyzing the bit stream of the point cloud, If the number of points in one LOD layer in the point cloud is less than a threshold T, for each point in the LOD layer, replacing the final reconstructed value of the attribute information of the point with the true value of the attribute information of the point; or When the number of points in one LOD layer in the point cloud is equal to or greater than the threshold T, replacing a final reconstructed value of attribute information of a (t*T)-th point in the LOD layer with a true value of the attribute information of the point; T is a positive integer greater than 1, and t is a positive integer greater than 0. The method of claim 1 , wherein the point cloud is decoded.

11. The point group decoding method includes: The method further includes obtaining the number of points in the bit stream whose final reconstructed values ​​of attribute information are true values ​​and the true values ​​of the attribute information of the points by analyzing the bit stream. The method of claim 10,

12. Obtaining an initial reconstruction value of attribute information of a target point in the point cloud by analyzing the bit stream of the point cloud, obtaining reconstruction information of position information of the target point by analyzing the bit stream; Obtaining a predicted value of attribute information of the target point based on reconstruction information of position information of the target point; Analyzing the bitstream to obtain a residual value of attribute information of the target point; obtaining an initial reconstruction value of the attribute information of the target point based on the predicted value of the attribute information of the target point and the residual value of the attribute information of the target point; The method of claim 1 , wherein the point cloud is decoded.

13. A decoder, comprising: a parsing unit, a transforming unit, a filtering unit, a first processing unit, and a second processing unit; The analysis unit is configured to obtain an initial reconstruction value of attribute information of a target point in the point cloud by analyzing a bit stream of the point cloud; the transformation unit is configured to transform the initial reconstruction values ​​into initial luminance values ​​and initial chroma values; the filtering unit is configured to filter the initial saturation values ​​using a Kalman filtering algorithm to obtain final saturation values; The first processing unit is configured to obtain a final reconstruction value of attribute information of the target point according to the final saturation value and the initial luminance value; the second processing unit is configured to obtain a decoded point cloud based on a final reconstruction value of the attribute information of the target points; 23. A decoder comprising:

Citation Information

Patent Citations

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

    WO2020138463A1

  • Information processing device and method

    WO2020145143A1

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

    WO2020189709A1