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

By adjusting the quantization parameters in G-PCC and determining the quantization parameters based on the prediction reliability of the points, the problem of poor prediction accuracy in G-PCC is solved, and the encoding performance and compression efficiency are improved.

CN119866509APending Publication Date: 2025-04-22GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380065782.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-19
Filing Date
2023-09-18
Publication Date
2025-04-22

AI Technical Summary

Technical Problem

In G-PCC, the distance between the current point and the predicted point used to predict the current point may be far, resulting in poor prediction accuracy and poor encoding performance.

Method used

By adjusting the quantization parameters, the quantization parameters are determined based on whether the points in the range belong to irregular points, thereby performing dequantization operations and improving coding performance.

Benefits of technology

By improving the determination method of quantitative parameters, the encoding performance of G-PCC is improved and the compression efficiency of point cloud data is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119866509A_ABST
    Figure CN119866509A_ABST
Patent Text Reader

Abstract

The invention provides a point cloud decoding method, a point cloud encoding method, a decoder and an encoder. The point cloud decoding method comprises the steps of: decoding a code stream of a point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points within a range; determining a quantization parameter based on whether one of the points within the range belongs to an irregular point; a dequantization operation is performed on at least one of the quantized transform coefficients using the quantization parameter.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. 63 / 376,258 filed on September 19, 2022. The entire contents of the above patent application are incorporated herein by reference and constitute a part of this specification. Technical Field

[0001] Point cloud is a collection of data points in three-dimensional space. Point cloud is often used to represent the shape, appearance, and spatial distribution of objects or scenes in various applications. Point cloud encoding (also known as point cloud compression) is essential for many reasons such as transmission efficiency and bandwidth limitations. Specifically, point cloud data can be very large, especially when capturing detailed 3D scenes or objects. Efficient encoding technology is essential to minimize the data size of point cloud data, thereby speeding up transmission and reducing storage space requirements.

[0002] In recent years, geometry point cloud coding (G-PCC) has been widely used in entertainment applications (such as VR / AR) and industrial applications (such as LiDAR scan compression and HD maps for navigation of cars or robots). MPEG has released the first version of the G-PCC standard, and the audio video standard (AVS) is also developing the G-PCC standard. In order to effectively compress point cloud data, the geometric information of the point cloud is first compressed, and then the corresponding attributes, including color or reflectivity, are compressed based on the geometric information. However, the existing G-PCC specification still has many shortcomings that need to be improved. Summary of the invention [Technical issues]

[0003] In G-PCC, the distance between the current point and the prediction point used to predict the current point may be far, so the prediction accuracy of such a point will be poor, resulting in poor coding performance. [Solution to the problem]

[0004] The present disclosure proposes a method for adjusting a quantization parameter of a G-PCC.

[0005] The point cloud decoding method of the present invention comprises the following steps: decoding the code stream of the point cloud to obtain multiple quantized transform coefficients associated with multiple points within a range; determining a quantization parameter based on whether one of the points within the range is an irregular point; and performing a dequantization operation on at least one of the quantized transform coefficients using the quantization parameter.

[0006] In the embodiment of the present invention, the step of determining the quantization parameter based on whether one of the points in the range is an irregular point includes: when one of the points in the range is an irregular point, determining the quantization parameter according to the original quantization parameter and the delta value.

[0007] In the embodiment of the present invention, the step of determining the quantization parameter based on whether one of the points in the range is an irregular point includes: when one of the points in the range is not an irregular point, determining the quantization parameter as the original quantization parameter.

[0008] In the embodiment of the present invention, the quantization parameter is the sum of the original quantization parameter and the delta value.

[0009] In the embodiment of the present invention, the delta value is a default value.

[0010] In the embodiment of the present invention, the delta value is specified in the bitstream.

[0011] In the embodiment of the present invention, the quantization parameter includes a plurality of first quantization parameters respectively corresponding to a plurality of attribute components of each point, and each first quantization parameter is determined according to an original quantization parameter and a delta value.

[0012] In the embodiment of the present invention, the attribute components of each point include a brightness component, a Cb component, and a Cr component.

[0013] In the embodiment of the present invention, the delta values ​​respectively corresponding to the first quantization parameters are different from each other.

[0014] In the embodiment of the present invention, the delta values ​​respectively corresponding to the first quantization parameters are the same as each other.

[0015] In an embodiment of the present invention, at least one of the quantized transform coefficients includes a direct component (DC) coefficient.

[0016] In the embodiment of the present invention, the step of determining the quantization parameter based on whether a point in the range belongs to an irregular point includes: determining the quantization parameter according to whether the range belongs to an irregular range.

[0017] In the embodiment of the present invention, when the last point in the range is an irregular point, the range is an irregular range.

[0018] In the embodiment of the present invention, multiple reconstruction points are used to predict points in the range, and it is determined whether one of the points in the range is an irregular point based on the distance between one of the points in the range and at least one of the reconstruction points.

[0019] In the embodiment of the present invention, when a distance between one of the points in the range and at least one of the reconstructed points is greater than a threshold, the one of the points in the range is an irregular point.

[0020] The point cloud encoding method of the present invention includes the following steps: generating multiple transformation coefficients associated with multiple points within a range; determining a quantization parameter based on whether one of the points within the range is an irregular point; performing a quantization operation on at least one of the transformation coefficients using the quantization parameter to generate at least one quantized transformation coefficient; encoding the quantized transformation coefficient to generate a code stream of the point cloud.

[0021] The decoder of the present invention includes a storage device and a processor, the processor is electrically connected to the storage device and is used to: decode a code stream of a point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points within a range; determine a quantization parameter based on whether one of the points within the range is an irregular point; and perform a dequantization operation on at least one of the quantized transform coefficients using the quantization parameter.

[0022] The encoder of the present invention includes a storage device and a processor, the processor is electrically connected to the storage device and is used to: generate a plurality of transform coefficients associated with a plurality of points within a range; determine a quantization parameter based on whether one of the points within the range is an irregular point; perform a quantization operation on at least one of the transform coefficients using the quantization parameter to generate at least one quantized transform coefficient; and encode the quantized transform coefficient to generate a code stream of a point cloud. [Effects of the Invention]

[0023] Based on the above, according to the point cloud decoding method, point cloud encoding method, decoder and encoder of the present invention, since the quantization parameter is determined based on the prediction reliability of the considered point, the encoding performance of G-PCC can be improved.

[0024] In order to make the above contents more clearly understood, they are described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a schematic diagram of a G-PCC encoding process according to an embodiment of the present invention.

[0026] Figure 2A and Figure 2B The octree structure of the G-PCC according to an embodiment of the present invention is shown.

[0027] Figure 2C A corresponding numerical representation of an octree structure according to an embodiment of the present invention is shown.

[0028] Figure 3 The structure of a cube according to an embodiment of the present invention is shown.

[0029] Figure 4 is a schematic diagram of a G-PCC decoding process according to an embodiment of the present invention.

[0030] Figure 5Aand Figure 5B is a schematic diagram of a syntax table for color residual coding according to an embodiment of the present invention.

[0031] Figure 6 It is a schematic diagram of a syntax table of reflectivity coding according to an embodiment of the present invention.

[0032] Figure 7 4 is a schematic diagram of a syntax table for zero run length coding according to an embodiment of the present invention.

[0033] Figure 8 is a flowchart of a point cloud decoding method applied to a decoder according to an embodiment of the present invention.

[0034] Fig. 9 is a flow chart of determining a quantization parameter according to an embodiment of the present invention.

[0035] Fig.10 is a flow chart of determining a quantization parameter according to an embodiment of the present invention.

[0036] Fig.11 is a flowchart of a point cloud encoding method applied to an encoder according to an embodiment of the present invention.

[0037] Fig.12 It is a schematic block diagram of a coding and decoding device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0038] In order to understand the features and technical contents of the embodiments of the present invention in more detail, the implementation methods of the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. The accompanying drawings are for reference and illustration only and are not used to limit the embodiments of the present invention.

[0039] The present disclosure proposes adjustments to the quantization method of G-PCC. The proposed method can be used in future G-PCC coding standards, such as AVS-GPCC. With the implementation of the proposed method, the code stream structure, syntax, constraints, and mapping used to generate decoded point clouds are considered to be modified for standardization.

[0040] Point cloud refers to a set of discrete points that are irregularly distributed in space, representing the spatial structure and surface properties of a three-dimensional object or scene. Each point in the point cloud can include the point's location information and the point's attribute information. The point's location information can be the point's three-dimensional coordinate information. The point's location information can also be called the point's geometric information. On the other hand, the point's attribute information can be color information and / or reflectivity.

[0041] For example, the color information of a point may include data from various color spaces such as RGB color space, YCbCr color space, and YUV color space. That is, the color information may include RGB information. Alternatively, the color information may include brightness information and chromaticity information. In addition, based on the principle of laser measurement, a point in a point cloud may include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectivity). For another example, based on the principle of photogrammetry, a point in a point cloud may include the three-dimensional coordinate information and color information of the point.

[0042] Point cloud data can be obtained by various methods, including but not limited to at least one of the following: (1) generation by computer equipment, wherein the computer equipment can generate point cloud data based on virtual 3D objects and virtual 3D scenes; (2) acquisition by 3D laser scanning, wherein point cloud data of static real-world three-dimensional objects or three-dimensional scenes can be obtained by 3D laser scanning, and millions of point cloud data can be obtained per second; (3) acquisition by 3D photogrammetry, wherein point cloud data of real-world visual scenes can be obtained by 3D photography equipment (i.e., a set of cameras or video equipment with multiple lenses and sensors) to obtain point cloud data of real-world visual scenes, and point cloud data of dynamic real-world three-dimensional objects or three-dimensional scenes can be obtained by 3D photography; (4) point cloud data of biological tissues and organs can be obtained by medical equipment. In the medical field, point cloud data of biological tissues and organs can be obtained by medical equipment such as magnetic resonance imaging (MRI), computed tomography (CT), and electromagnetic positioning information.

[0043] These technologies reduce the cost and time of point cloud data collection while improving data accuracy. However, the processing of massive 3D point cloud data may face challenges in storage space and transmission bandwidth limitations. G-PCC is a solution to overcome this problem. G-PCC generally includes compression of geometric information and compression of attribute information. The operations of point cloud encoding are introduced below.

[0044] Figure 1 is a schematic diagram of a G-PCC encoding process according to an embodiment of the present invention. Figure 1 , Figure 1 The G-PCC encoding process shown can be implemented by a point cloud encoder. For the point cloud data to be encoded, the point cloud data is divided into multiple slices by slicing. In each slice, the position of the point (i.e., geometric information) and the attributes of the point are encoded (i.e., encoded and decoded) respectively. It can be understood from the above that the points in the point cloud can have position information and attribute information. Therefore, the encoding of the point can involve position encoding and attribute encoding. In some cases, the position information of the point is called geometric information, and the encoding of the point position can also be called geometric encoding.

[0045] In the geometric encoding process, in step S102, a transformation is performed on the coordinates of the points to transform the coordinates of the points from the initial domain to the transformed domain. Specifically, the positions of the points are coordinated so that the point cloud is enclosed in a bounding box. In step S104, the transformed coordinates are voxelized. Voxelization of the transformed coordinates can include quantization and removal of some points of the point cloud. Quantization mainly plays a role in scaling. Due to quantization rounding, the positions of some of the point clouds are the same, so in step S104, it is further determined based on parameters whether to remove duplicate points. The process of quantization and removal of duplicate points is also called voxelization process.

[0046] In step S106, an octree is generated based on the voxelized transformed coordinates. That is, the bounding box is divided into an octree for octree analysis. In the octree-based geometric information encoding process, the bounding box is divided into eight sub-cubes, and the non-empty (containing points in the point cloud) sub-cubes are further divided into eight equal parts until a leaf node is obtained. In step S108, the points in the leaf nodes of the octree structure are arithmetically encoded to generate a binary geometric code stream, i.e., a geometric code stream.

[0047] Figure 2A and Figure 2B FIG. 4 shows an octree structure of a G-PCC according to an embodiment of the present invention. Figure 2C 2 shows a corresponding digital representation of an octree structure according to an embodiment of the present invention. Figure 2A , the cube axis-aligned bounding box B consists of two extreme points (0,0,0) and (2 d ,2 d ,2 d ) definition, where d is the maximum size of a given point cloud along the x, y, or z direction. The points of the point cloud will be denoted as "points" hereinafter. All points are included in the cube B of this definition.

[0048] refer to Figure 2B , cube B is divided into eight child cubes B1 to B8, which creates an octree structure that allows one parent cube B to have eight child cubes B1 to B8. The 7 sibling cubes B2 to B8 of a given cube B1 are cubes of the same size and share at least one of the same faces / edges / points with the given cube. The volume of each cube B1 to B8 is 1 / 8 of the volume of its parent cube B. Each cube B1 to B8 can contain multiple points, and the number of points in a cube depends on the size and position of the cube. The size of the smallest cube for a given point cloud is predefined. For a given point, the parent cube of the given point is defined as the smallest size cube that contains the given point. The sibling points of a given point are defined as points that have the same parent cube as the given point.

[0049] refer to Figure 2C , an octree is a recursive data structure that is commonly used to describe three-dimensional space, in which each inner cube has exactly eight sub-cubes. The space is recursively subdivided into eight octants until the resolution of the sub-cube is equal to the size of a point (i.e., the smallest element that is not further subdivided). To represent the cube, an 8-bit binary code following a space-filling curve pattern (Hilbert, Morton) is used, with each sub-cube assigned a "1" or "0" value to indicate that the space in the sub-cube has a point associated with the sub-cube, or that the sub-cube is empty. Only occupied sub-cubes are further subdivided. The parent cube subdivision process terminates when the size of the sub-cube is equal to the size of the indivisible element (i.e., the spatial resolution of the point cloud), or simply the size of the point.

[0050] Figure 3 FIG. 2 shows the structure of a cube according to an embodiment of the present invention. Figure 3 , depending on the position of the current cube, a cube can have up to six cubes of the same size that share a face. In addition, the current cube can also have some neighboring cubes that share lines or points with the current cube.

[0051] Similarly, the parent cube of the current cube also has at most six neighboring cubes of the same size as the parent cube that share a face with the parent cube. The parent cube of the current cube also has at most twelve neighboring cubes of the same size as the parent cube that share edges with the parent cube. The parent cube of the current cube also has at most eight neighboring cubes of the same size as the parent cube that share points with the parent cube.

[0052] return Figure 1 , in step S110, the points are analyzed to potentially determine a surface representation of the point set. In other words, based on the surface formed by the distribution of the point cloud in each block, twelve parts of the block and the surface are analyzed. A maximum of twelve vertices (intersections) are generated by the edges, and arithmetic coding (surface fitting based on intersections) is performed on the vertices in step S108 to generate a binary geometry code stream. In step S112, the transformed coordinates of the points in the point cloud can be reconstructed based on the octree, the data indicating the surface determined in step S110, and / or other information. The reconstructed geometric information can be used by the attribute encoding process.

[0053] In the attribute encoding process, after the geometric information is reconstructed, a color transformation is performed in step S114 to transform the color information (i.e., attribute information) from the RGB color space to the YUV color space, the YCbCr color space, or other color spaces. In step S116, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. Since the geometric information changes after geometric encoding, it is necessary to reassign attribute values ​​to each point after geometric encoding.

[0054] In the color information encoding process, there are mainly two transformation methods. The first method is the distance-based lifting transformation in step S120, which depends on the level of detail (LOD) division in step S118; the second method is the region adaptive hierarchical transform (RAHT) transformation in step S122, which directly transforms the image. Both methods convert color information from the spatial domain to the frequency domain, thereby obtaining high-frequency coefficients and low-frequency coefficients through transformation. The high-frequency coefficients and the low-frequency coefficients can be called transform coefficients. Next, in step S124, these transform coefficients are quantized to generate quantized transform coefficients. In some cases, quantizing the transform coefficients of a point may involve dividing the quantized attribute value (i.e., the quantized transform coefficient) by the QP step size of the point, and the QP step size is determined according to the quantization parameter (QP). In step S126, arithmetic coding can be performed on the syntax elements representing the quantized attribute coefficients, and these syntax elements are output in the form of an attribute code stream. That is, the quantized transform coefficients can be encoded using arithmetic coding to generate a binary attribute code stream, i.e., an attribute code stream.

[0055] Figure 4 is a schematic diagram of a G-PCC decoding process according to an embodiment of the present invention, Figure 4 The process in can be implemented by the point cloud decoder. For the binary code stream obtained, the geometric code stream and the attribute code stream in the binary code stream are first decoded in steps S402 and S404 respectively. When decoding the geometric code stream, the position of the point cloud (i.e., geometric information) is obtained through arithmetic decoding in step S402, octree synthesis in step S406, surface fitting in step S408, geometric reconstruction in step S410, and inverse coordinate transformation in step S412.

[0056] When decoding the attribute code stream, the attributes of the point cloud are obtained through arithmetic decoding in step S404, inverse quantization in step S414, inverse transformation based on LOD-based lifting in steps S416 and S418, or inverse transformation based on RAHT in step S420, and inverse color transformation in step S422. It should be noted that the quantized attribute value (i.e., the quantized transform coefficient) can be dequantized in step S414. In some cases, dequantizing the quantized attribute value of the point may involve multiplying the quantized attribute value by the QP step size of the point, and the QP step size is determined according to the quantization parameter (QP).

[0057] Octree-based geometric information can be encoded using context-based arithmetic coding. The point cloud may also have some corresponding attribute information (including color, reflectivity, etc.) that needs to be compressed. Since adjacent points in a point cloud may have strong correlations, prediction-based coding methods have been developed and used to compose and encode point cloud attributes. More specifically, a prediction is formed from adjacent encoded attributes. Then, the difference between the current attribute and the prediction is encoded.

[0058] It should be noted that Figure 1 and Figure 4 The steps shown may be implemented as multiple program codes or circuits, and the present invention is not particularly limited thereto.

[0059] In the present invention, coding can be understood as encoding and decoding methods and systems.

[0060] [Attribute Coding in AVSG-PCC]

[0061] AVS is developing the G-PCC standard. After encoding the geometry information, the point cloud cube can be converted into a one-dimensional array using Morton or Hilbert codes / sequences. Each position in the cube has a corresponding Morton or Hilbert code, but some positions may not have any corresponding point cloud attributes. In other words, some positions may be empty. The attribute encoding will follow a predefined Morton or Hilbert sequence. Predictors can be generated from points previously encoded in the Morton or Hilbert sequence. The attribute difference between the current point and its predictor is encoded into the codestream.

[0062] To reduce memory usage, some predefined values ​​have been assigned to limit the number of neighboring points that can be used to generate a prediction. For example, only M data points out of the previous N consecutive coded points can be used to encode the current attribute. In previous AVSG-PCC software, M and N were set to fixed values ​​of 3 and 128, respectively.

[0063] If there are more than 128 points encoded before the current point, only 3 of the 128 previously encoded neighboring points can be used to form an attribute predictor according to a predefined order. If there are less than 128 points encoded before the current point, all of these encoded points will be used as candidates for establishing attribute predictors. More specifically, K points (e.g., K=6) before the current point are selected according to a predefined Morton or Hilbert order. Then, the new Morton or Hilbert codes of these N points are recalculated by adding a fixed shift (e.g., 1) to the coordinates (x, y, z) of these N data points. Assuming that the new Morton or Hilbert code of the current position is X, a set of P points before the current position and a set of Q points after the current position according to the new Morton or Hilbert code order will be selected. Among these predefined K, P, and Q point sets, M points are selected, and these encoded points have the M closest "distances" to the current point. As an example, the distance d1 is defined as follows, and other distance metrics can also be used.

[0064] d1=|x1-x2|+|y1-y2|+|z1-z2| (1)

[0065] Among them, (x1, y1, z1) and (x2, y2, z2) are the coordinates of the current point and the pre-selected point respectively.

[0066] Recently, a full search method based on Hilbert codes has been adopted in AVSG PCC attribute coding. In the current software, the search range is set to 128 and the number of previous points used to form the predictor is set to M. If more than 128 points have been encoded before the current point, only M points out of the 128 previously encoded neighboring points can be used to form the attribute predictor according to the Hilbert order.

[0067] If there are fewer than 128 points encoded before the current point, all of these encoded points are used as candidates for forming attribute predictors. Among the maximum 128 previously encoded points, M points are selected that have the M closest "distances" to the current point. As an example, the distance d2 is defined as follows, and other distance metrics can also be used.

[0068] d2=|x1-x3|+|y1-y3|+|z1-z3| (2)

[0069] Where (x1, y1, z1) and (x3, y3, z3) are the coordinates of the current point and the pre-selected point along the Hilbert order, respectively. Once the M nearest points are selected, the weighted average of the attributes of these M points forms the predictor to encode the attributes of the current point.

[0070] Points that are known to share the same face / line / point with the current point are close to the current point. Another technique is to consider these points as predictors.

[0071] The residual is defined as the difference in the property value between the current point and its predictor. Depending on the application, PCC can be lossless or lossy. Therefore, the residual can be quantized using a predefined quantization process or not. In this disclosure, the unquantized or quantized residual is called a level. The level can be a signed integer and will be encoded into the bitstream.

[0072] [Color level coding]

[0073] Each point has three color attributes from three color components. If the levels of the three color components are all zero, the point is called a zero-level point. Otherwise, if the point has a non-zero level of at least one color component, the point is called a non-zero-level point. In the current AVS-GPCC, the number of consecutive zero-level points is called the zero run length. The zero run length value and the level of the non-zero level point are encoded into the bitstream.

[0074] More specifically, on the encoding side, before encoding the first point, the zero run length value is set to zero. Starting from the first point, along the predefined encoding order, the residuals between the three color predictors of the current point and their corresponding color attributes can be obtained. Then, the corresponding levels of the three components of the current point can also be obtained. If the current point is a zero-level point, the zero run length value will increase by one, and the process proceeds to the next point. If the current point is a non-zero level point, the zero run length value is encoded first, and then the three color levels of the non-zero level point are encoded. After encoding the level of the non-zero level point, the zero run length value is reset to zero, and the process proceeds to the next point until all points are completed.

[0075] On the decoding side, the zero run length value is decoded first, and the three color levels corresponding to the number of zero run length points are set to zero. Then, the levels of the non-zero level points are decoded, and then the next zero run length value is decoded. This process continues until all points are decoded.

[0076] For example, refer to Figure 5A and Figure 5B , Figure 5A and Figure 5BSchematic diagram of syntax tables 500a and 500b for color residual coding according to an embodiment of the present invention. For a non-zero level point, at least one of the three components has a non-zero level. The values ​​of the three components are encoded in color_residual_coding(). Several 1-bit flags plus the remainder of the absolute level can be encoded to represent the levels of the three components. The absolute level or the absolute level minus one of the color residual can be encoded in the function coded_level_coding() and is referred to as the coded level in the remainder of this disclosure.

[0077] In one case, a first flag (e.g., color_first_comp_zero) is encoded to indicate whether the first component of the color is zero; if the first component of the color is zero, a second flag (e.g., color_second_comp_zero) is encoded to indicate whether the second component of the color is zero; if the second component of the color is zero, the absolute level minus one and the sign of the third component are encoded according to the following encoding level method.

[0078] In another case, a first flag is encoded to indicate whether the first component of the color is zero; if the first component of the color is zero, a second flag is encoded to indicate whether the second component of the color is zero; if the second component of the color is not zero, the absolute level minus one and the sign of the second component are encoded according to the following encoding level method, and the absolute level and sign of the third component are encoded according to the following encoding level method.

[0079] In another case, a first flag is encoded to indicate whether the first component of the color is zero; if the first component of the color is not zero, the absolute level minus one and the sign of the first component are encoded according to the following encoding level method, and the absolute levels and signs of the second and third components are encoded according to the following encoding level method, respectively.

[0080] The encoding method for generating the encoding level is designed as follows. A first flag (e.g., coded_level_equal_zero) is encoded to indicate whether the encoding level is zero; if the encoding level is the absolute level of a component minus one, that is, when isComponentNoneZero is equal to true, the sign of the level of the component is encoded (e.g., coded_level_sign). If the first flag indicates that the encoding level is not zero, and if the encoding level is the absolute level of a component itself, that is, when isComponentNoneZero is equal to false, the sign of the level of the component is encoded. A second flag (e.g., coded_level_gt1) is encoded to indicate whether the encoding level is greater than one; if the encoding level is greater than one, the parity of the encoding level minus two is encoded, and a third flag (e.g., coded_level_minus2_div2_gt0) is encoded to indicate whether the encoding level minus two divided by two is greater than zero; if the encoding level minus two divided by two is greater than zero, the encoding level minus two divided by two minus one is encoded.

[0081] [Reflectivity level coding]

[0082] In the current AVS-GPCC specification, the zero run length of the reflectivity level and the non-zero reflectivity level are encoded into the bitstream. More specifically, on the encoding side, before encoding the first point, the zero run length counter is set to zero. Starting from the first point, along the predefined encoding order, the residual between the predictor and the corresponding original point is obtained. Then the corresponding level is obtained. If the current level is zero, the zero run length will increase by one, and then the process proceeds to the next point. If the level is not zero, the zero run length is encoded first, and the non-zero level is encoded after the zero run length encoding. After encoding the non-zero level, the zero run length counter is reset to zero, and the process proceeds to the next point. On the decoding side, the value of the zero run length is first decoded, and the level corresponding to the number of zero run length points is set to zero. Then the non-zero level is decoded and the value of the next zero run length is decoded. The process continues until all points are decoded.

[0083] For example, refer to Figure 6 , Figure 66 is a schematic diagram of a syntax table 600 for reflectivity coding according to an embodiment of the present invention. For a non-zero level, if the current point is not a repeated point, the sign of the level is first encoded using the syntax element residual_sign. Then the syntax element abs_level_minus1_parity indicating the parity of the absolute level minus one is encoded. Another syntax element abs_level_minus1_div2_gt0 is encoded to indicate whether the value of the absolute level minus one divided by two is greater than zero; if abs_level_minus1_div2_gt0 is greater than zero, another syntax element abs_level_minus1_div2_gt1 is encoded to indicate whether the value of the absolute level minus one divided by two is greater than one; if abs_level_minus1_div2_gt1 is greater than 1, another syntax element abs_level_minu1_div2_minus2 is encoded to indicate the value of the absolute level minus one divided by two minus two.

[0084] [Zero-run encoding]

[0085] In the current AVS-GPCC specification, the value of the zero run length is encoded into the bitstream. For example, refer to Figure 7 , Figure 7 is a schematic diagram of a syntax table 700 for zero run length coding according to an embodiment of the present invention. More specifically, a first syntax element zero_run_length_level_equal_zero is encoded to indicate whether the zero run length is equal to zero; if not zero, a second syntax element zero_run_length_level_equal_one is encoded to indicate whether the zero run length is equal to one; if not one, a third syntax element zero_run_length_level_equal_two is encoded to indicate whether the zero run length is equal to two; if not two, a fourth syntax element zero_run_length_level_minus3_parity and a fifth syntax element zero_run_length_level_minus3_div2 are encoded to indicate the parity of the zero run length minus three and the value of the zero run length minus three divided by two, respectively.

[0086] Figure 8 is a flow chart of a point cloud decoding method applied to a decoder according to an embodiment of the present invention. Figure 8 Each step in the method can be used by the decoder as follows Figure 4The G-PCC decoding process shown is performed. In step S810, the decoder can decode the code stream of the point cloud to obtain multiple quantized transform coefficients associated with multiple points within the range. It should be noted that a transform (e.g., a RAHT transform or a lifting transform) can be used to further improve the encoding performance. Once the transform is applied, each point group including N points (e.g., 8 points) is considered to be a range, where N is equal to the size / length of the transform. The range will be encoded rather than encoded individually point by point. In an embodiment, a range of quantized transform coefficients may include quantized AC coefficients and quantized DC coefficients.

[0087] More specifically, for each point in the range, the predicted value of each point is obtained by searching for the three nearest points in the previously encoded point within the search range. N residuals corresponding to the N predicted values ​​and the N original points are further obtained. For example, 8 residuals are transformed to obtain 8 transform coefficients including 1 DC coefficient and 7 AC coefficients. Then, these N transform coefficients are quantized using one or more quantization parameters (for example, QP=30), and the quantized transform coefficients are further entropy encoded. In an embodiment of the present invention, the DC coefficient can be quantized by an adjusted quantization parameter, which is determined based on whether one of the points in the range is an irregular point, and the AC coefficient can be quantized by the original quantization parameter. Accordingly, the decoder can obtain the quantized transform coefficients associated with the points in the range by decoding the code stream (i.e., the attribute code stream) of the point cloud.

[0088] In step S820, the decoder may determine the quantization parameter based on whether one of the points in the range is an irregular point. In an embodiment of the present invention, the decoder may determine the quantization parameter based on whether the last point in the range is an irregular point.

[0089] In an embodiment of the present invention, a plurality of reconstruction points are used to predict a point within a range, and based on a distance between one of the points within the range and at least one of the reconstruction points, it is determined whether one of the points within the range is an irregular point. The reconstruction points may be some adjacent points within the search range.

[0090] In the embodiment of the present invention, when the distance between one of the points in the range and at least one of the reconstructed points is greater than a threshold, the one of the points in the range is an irregular point. On the other hand, when the distance between one of the points in the range and at least one of the reconstructed points is not greater than a threshold, the one of the points in the range is not an irregular point.

[0091] For example, for each point in the range, the prediction value of each point is obtained by searching for the three nearest points in the previously encoded points in the search range. Specifically, the points in the point cloud can be encoded point by point according to a predefined order (e.g., the Hilbert order). Starting from the (M+1)th point in the point cloud, the M reconstruction points (e.g., M=3 reconstruction points) with the closest Manhattan distance to the current point in the search range are selected as the prediction points of the current point. Assume that the distances between the M reconstruction points in the search range and the current point are D_1 to D_M. According to at least one of the distances D_1 to D_M between the current point and at least one of the reconstruction points, determine whether the current point in the range belongs to an irregular point. For example, if any one of the distances D_1 to D_M is greater than a predefined threshold T, such a current point can be called an irregular point. Or, in other cases, if all of the distances D_1 to D_M are greater than the predefined threshold T, such a current point can be called an irregular point.

[0092] In an embodiment of the present invention, if one of the points in the range (e.g., the last point in the range) is an irregular point, the quantization parameter may be determined as a first value. Otherwise, if one of the points in the range (e.g., the last point in the range) is not an irregular point, the quantization parameter may be determined as a second value different from the first value. Then, the quantized transform coefficient associated with the range including the irregular point may be dequantized using the first value or the second value.

[0093] In step S830, the decoder may perform a dequantization operation on at least one of the quantized transform coefficients using the quantization parameter. The decoder may dequantize the quantized transform coefficient of the point by multiplying the quantized transform coefficient by the QP step size of the point, and the QP step size is determined according to the quantization parameter. More specifically, attribute encoding in G-PCC involves a quantization / dequantization process that enables the codec to trade off between the quality of reconstruction of the attributes of the point cloud and the bits required to represent the attributes of the point cloud. The quantization parameter is used to control this tradeoff by determining the specific scaling operation to be performed on the attribute. The QP and the parameters used to determine the QP can be written into the bitstream.

[0094] In an embodiment of the present invention, at least one of the quantized transform coefficients may include a direct current component (DC) coefficient, and the at least one quantized transform coefficient is dequantized by a quantization parameter determined based on whether one of the points (e.g., the last point in the range) is an irregular point. Specifically, in an embodiment of the present invention, the DC coefficient may be dequantized by a QP determined based on whether one of the points is an irregular point, and the AC coefficient may be dequantized by another unadjusted QP determined based on whether one of the points is an irregular point. In an embodiment of the present invention, at least one of the quantized transform coefficients may include a DC coefficient and an AC coefficient, and the at least one quantized transform coefficient is dequantized by a quantization parameter determined based on whether one of the points (e.g., the last point in the range) is an irregular point. Specifically, in an embodiment of the present invention, the DC coefficient and the AC coefficient may be dequantized by a QP determined based on whether one of the points is an irregular point.

[0095] Fig. 9 is a flow chart of determining a quantization parameter according to an embodiment of the present invention. Fig. 9 , in step S821a, the decoder may determine whether one of the points in the range belongs to an irregular point. If step S821a determines to be yes, then in step S822, when one of the points in the range belongs to an irregular point, the decoder may determine the quantization parameter according to the original quantization parameter and the delta value. That is, when it is considered that the prediction accuracy of the range is unreliable, the original quantization parameter may be adjusted by the delta value to determine the adjusted quantization parameter, and the quantization operation / dequantization operation is performed on the range using the adjusted quantization parameter.

[0096] In the embodiment of the present invention, when one of the points in the range is an irregular point, the quantization parameter may be the sum of the original quantization parameter and the delta value. The delta value may be a positive value or a negative value.

[0097] In the embodiment of the present invention, the delta value may be a default value.

[0098] In the embodiment of the present invention, the delta value may be specified in the bitstream. In addition, the original quantization parameter may also be specified in the bitstream.

[0099] In an embodiment of the present invention, when one of the points in the range is an irregular point, the DC coefficient may be dequantized by a QP that is the sum of an original quantization parameter and a delta value, and the AC coefficient may be dequantized by another QP that is the original quantization parameter. In an embodiment of the present invention, when the range is an irregular range, the DC coefficient and the AC coefficient may be dequantized by a QP that is the sum of an original quantization parameter and a delta value.

[0100] On the other hand, if step S821a is determined to be no, then in step S822, when one of the points in the range does not belong to an irregular point, the decoder may determine the quantization parameter as the original quantization parameter. That is, when the prediction accuracy of the range is considered reliable, the original quantization parameter may not be adjusted by the delta value, and the quantization operation / dequantization operation is performed on the range using the original quantization parameter.

[0101] Fig.10 is a flow chart of determining a quantization parameter according to an embodiment of the present invention. Fig.10 In step S821b, the decoder may determine the quantization parameter according to whether the range belongs to an irregular range.

[0102] In the embodiment of the present invention, when the last point in the range is an irregular point, the range belongs to an irregular range. Specifically, all points in the range are predicted using multiple reconstruction points, and whether the last point in the range belongs to an irregular point is determined based on the distance between the last point and at least one of the reconstruction points. In the embodiment of the present invention, when the distance between the last point in the range and at least one of the reconstruction points is greater than a threshold, the last point in the range belongs to an irregular point.

[0103] If the determination in step S821b is yes, then in step S822, when the range belongs to the irregular range, the decoder may determine the quantization parameter according to the original quantization parameter and the delta value. On the other hand, if the determination in step S821b is no, then in step S822, when the range does not belong to the irregular range, the decoder may determine the quantization parameter as the original quantization parameter. Fig.10 Step S822 and step S823 shown have been described in detail above, and thus will not be repeated hereafter.

[0104] In the embodiment of the present invention, the quantization parameter includes multiple first quantization parameters corresponding to multiple attribute components of each point respectively. When one of the points in the range is an irregular point, each first quantization parameter can be determined according to the original quantization parameter and the delta value.

[0105] In an embodiment of the present invention, when the range belongs to an irregular range, the DC coefficient may be dequantized by a QP, which is the sum of an original quantization parameter and a delta value, and the AC coefficient may be dequantized by another QP, which is the original quantization parameter. In an embodiment of the present invention, when the range belongs to an irregular range, the DC coefficient and the AC coefficient may be dequantized by a QP, which is the sum of an original quantization parameter and a delta value.

[0106] In the embodiment of the present invention, the attribute component of each point may include a brightness component, a Cb component, and a Cr component. That is, the number of first quantization parameters is three, and the three first quantization parameters may correspond to the brightness component, the Cb component, and the Cb component, respectively. Alternatively, in the embodiment of the present invention, the attribute component of each point may include a Y (brightness) component, a U component, and a V component, and the three first quantization parameters may correspond to the Y component, the U component, and the V component, respectively.

[0107] In the embodiment of the present invention, the delta values ​​respectively corresponding to the first quantization parameter may be different from each other. In the embodiment of the present invention, the delta values ​​respectively corresponding to the first quantization parameter may be the same as each other. That is, when one of the points in the range belongs to an irregular point, the first quantization parameters respectively corresponding to different attribute components may be determined according to the same delta value or different delta values.

[0108] For example, the original quantization parameter for encoding the luminance component can be specified for a given point cloud frame, denoted as luma_QP. The quantization offsets for the Cb component and the Cr component can also be specified for a given point cloud frame, denoted as offset_cb_QP and offset_cr_QP, respectively. For the Cb component and the Cr component, the original quantization parameters for encoding the Cb component and the Cr component are denoted as cb_QP and cr_QP, respectively, and are set according to the following formulas (1) and (2), respectively. cb_QP=luma_QP+offset_cb_QP Formula (1) cr_QP=luma_QP+offset_cr_QP Formula (2)

[0109] In an embodiment, the present disclosure proposes that the original quantization parameter for the DC component can be further adjusted to encode an irregular range including irregular points. More specifically, a delta value (expressed as delta_QP) ​​can be used to adjust the original quantization parameter and can be used to encode the irregular range, where delta_QP can be a positive or negative number.

[0110] In an embodiment, the same delta_QP may be used to encode the luma / Cb / Cr DC components. In other words, when the range is an irregular range or one of the points in the range is an irregular point, the quantization parameter may be determined as luma_QP+delta_QP, luma_QP+offset_cb_QP+delat_QP, and luma_QP+offset_cr_QP+delat_QP. The luma / Cb / Cr DC components may be encoded using the adjusted quantization parameters luma_QP+delta_QP, luma_QP+offset_cb_QP+delat_QP, and luma_QP+offset_cr_QP+delat_QP, respectively. In some cases, delta_QP may be specified in the bitstream or a default value, such as 8, may be used.

[0111] In an embodiment, the luma / Cb / Cr DC components may be encoded with different delta values, respectively. For example, when the range is an irregular range or one of the points in the range is an irregular point, the quantization parameter of the luminance component may be determined as luma_QP+delta_QP_luma. When the range is an irregular range or one of the points in the range is an irregular point, the quantization parameter of the Cb component may be determined as luma_QP+offset_cb_QP+delat_QP_cb. When the range is an irregular range or one of the points in the range is an irregular point, the quantization parameter of the Cr component may be determined as luma_QP+offset_cr_QP+delat_QP_cr. The adjusted quantization parameters luma_QP+delta_QP_luma, luma_QP+offset_cb_QP+delat_QP_cb, and luma_QP+offset_cr_QP+delat_QP_cr may be used to encode the luminance / Cb / Cr DC components, respectively. In some cases, delta_QP_luma, delta_QP_cb, and delta_QP_cr may be specified in the bitstream or use a default value, such as 8.

[0112] Fig.11 is a flow chart of a point cloud encoding method applied to an encoder according to an embodiment of the present invention. Fig.11 , each step in the method can be used by the encoder as Figure 1 The G-PCC encoding process shown is performed. In step S1110, the encoder may generate a plurality of transform coefficients associated with a plurality of points within the range. In step S1120, the encoder may determine a quantization parameter based on whether one of the points within the range is an irregular point.

[0113] In the embodiment of the present invention, when one of the points in the range is an irregular point, the encoder may determine the quantization parameter according to the original quantization parameter and the delta value. Otherwise, when one of the points in the range is not an irregular point, the encoder may determine the quantization parameter as the original quantization parameter. It should be noted that the encoder and the decoder may determine the quantization parameter based on similar operations and steps, which have been described in detail above and are therefore not described in detail below.

[0114] In step S1130, the encoder performs a quantization operation on at least one of the transform coefficients using a quantization parameter to generate at least one quantized transform coefficient; in step S1140, the encoder encodes the quantized transform coefficient to generate a code stream of the point cloud.

[0115] In an embodiment of the present invention, the present disclosure proposes a point cloud coding method, which can encode an irregular range using a new prediction value. First, determine whether the range is an irregular range. When the range is an irregular range where the last point is an irregular point, the prediction value may not be derived using the reconstructed point, but the prediction values ​​of all points in the irregular range may be determined by a fixed value or a coded value in the bitstream.

[0116] In the embodiment of the present invention, when the range is an irregular range in which the last point is an irregular point, a fixed value (e.g., 1<<(bitDepth-1)) can be used as a prediction value for encoding all points in the irregular range. That is, the prediction values ​​of all points in the irregular range can be set to a fixed value.

[0117] In the embodiment of the present invention, when the range is an irregular range in which the last point is an irregular point, the coded value in the code stream can be used as a predicted value for encoding all points in the irregular range. The coded value can be a comprehensive average value of the input points or a median value of the input points, that is, the predicted values ​​of all points in the irregular range can be set as the coded value.

[0118] Fig.12 is a schematic block diagram of a coding and decoding device provided by an embodiment of the present invention. Fig.12 The coding and decoding device 1000 may be a decoder or an encoder as described in the embodiment of the present invention. The coding and decoding device 1000 may include a transceiver 1001 , a storage device 1002 , and a processor 1003 .

[0119] The memory device 1002 may store executable instructions or computer programs. The processor 1003 may execute the executable instructions or computer programs to implement the method of the embodiment of the present invention. For example, the processor 1003 may be used to execute the instructions or computer programs stored in the memory device 1002. Figures 8 to 11 The steps of the above method.

[0120] In some embodiments of the present invention, the processor 1003 may include (but not limited to) a central processing unit (CPU), a graphic processing unit (GPU), a general or special processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gates, or transistor logic devices, discrete hardware components, etc. In the embodiment of the present invention, the codec device 1000 may include more processors to implement the method in the embodiment of the present invention.

[0121] In some embodiments of the present invention, the memory device 1002 includes (but is not limited to) volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM) or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache. For illustration and not limitation, there are many forms of RAM available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct Rambus RAM (DR RAM).

[0122] In some embodiments of the present invention, the computer program may be divided into one or more units, which are stored in the storage device 1002 and executed by the processor 1003 to complete the method provided by the present invention. The one or more units may be a series of computer program instruction segments that can complete specific functions.

[0123] The transceiver 1001 may be connected to the processor 1003 or the storage device 1002. The processor 1003 may control the transceiver 1003 to communicate with other devices, specifically, may send information or data to other devices, or receive information or data sent by other devices. For example, the transceiver 1003 is used to receive or send a code stream of a point cloud. The transceiver 1001 may include a transmitter and a receiver. The transceiver 1001 may also include an antenna, and the number of antennas may be one or more.

[0124] It should be understood that the various components in the codec device 1000 are connected via a bus system, wherein the bus system includes a power bus, a control bus, and a status signal bus in addition to a data bus.

[0125] The present invention also provides a computer storage medium on which a computer program is stored, and the computer program is executed by a computer so that the computer can execute the method embodiment of the above method. In other words, the embodiment of the present invention also provides a computer program product, including instructions, and when the computer executes the method of the above method embodiment, the instructions are executed by the computer.

[0126] When implemented using software, it can be implemented in whole or in part 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, the process or function according to the present invention is generated 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 computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website (for example, coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (for example, infrared, wireless, microwave, etc.) to another website, computer, server, or data center for transmission. The computer-readable storage medium can be any available medium that can be accessed by a computer, or it can be a data storage device (for example, a server, data center, etc.) that includes one or more available media integration. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a digital video disc (digital video disc, DVD)) or a semiconductor medium (for example, a solid state disk (solid state disk, SSD)), etc.

[0127] The embodiment of the present invention further provides a non-transitory computer-readable recording medium storing a plurality of program code segments, which are used to complete the steps in the above method after being loaded into and executed by the processor 1003 of the coding and decoding device 1000 .

[0128] In summary, according to the point cloud decoding method, point cloud encoding method, decoder, and encoder of the present invention, the coding performance of G-PCC can be improved because the quantization parameter is determined based on the prediction reliability of the point. More specifically, the present disclosure can improve the process of quantizing and dequantizing the attribute values ​​of points in the point cloud, so that the present disclosure can reduce the consumption of computing resources, can improve the compression rate, or can provide other benefits.

[0129] It will be apparent to those skilled in the art that various modifications and variations may be made to the disclosed embodiments without departing from the scope or spirit of the present disclosure. In view of the foregoing, the present disclosure is intended to cover modifications and variations as long as these modifications and variations fall within the scope of the claims and their equivalents. Reference Symbols List

[0130] 1000: Codec device 1003: Processor 1002: Storage Devices 1001: Transceiver 500a, 500b, 600, 700: Syntax table B1~B8: Cube S102, S104, S106, S108, S110, S112, S114, S116, S118, S120, S122, S124, S126, S402, S404, S406, S408, S410, S412, S414, S416, S418, S420, S422, S810, S820, S830, S821a, S821b, S822, S823, S1110, S1120, S1130: Steps

Claims

1. A point cloud decoding method, comprising: Decoding a bitstream of the point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points within the range; determining a quantization parameter based on whether one of the points within the range is an irregular point; as well as A dequantization operation is performed on at least one of the quantized transform coefficients using the quantization parameter.

2. The point cloud decoding method according to claim 1, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: When the one of the points within the range belongs to the irregular point, the quantization parameter is determined according to an original quantization parameter and a delta value.

3. The point cloud decoding method according to claim 2, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: When the one of the points within the range does not belong to the irregular point, the quantization parameter is determined as the original quantization parameter.

4. The point cloud decoding method according to claim 2, wherein: The quantization parameter is the sum of the original quantization parameter and the delta value.

5. The point cloud decoding method according to claim 4, wherein: The delta value is a default value.

6. The point cloud decoding method according to claim 4, wherein: The delta value is specified in the code stream.

7. The point cloud decoding method according to claim 1, wherein: The quantization parameters include a plurality of first quantization parameters respectively corresponding to a plurality of attribute components of each point, and each of the first quantization parameters is determined according to an original quantization parameter and a delta value.

8. The point cloud decoding method according to claim 7, wherein: The attribute components of each point include a brightness component, a Cb component, and a Cr component.

9. The point cloud decoding method according to claim 7, wherein: The delta values ​​respectively corresponding to the first quantization parameters are different from each other.

10. The point cloud decoding method according to claim 7, wherein: The delta values ​​respectively corresponding to the first quantization parameters are identical to each other.

11. The point cloud decoding method according to claim 1, wherein: The at least one of the quantized transform coefficients includes a direct current component (DC) coefficient.

12. The point cloud decoding method according to claim 1, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: The quantization parameter is determined according to whether the range belongs to an irregular range.

13. The point cloud decoding method according to claim 12, wherein: When the last point in the range belongs to the irregular point, the range belongs to the irregular range.

14. The point cloud decoding method according to claim 1, wherein: The points within the range are predicted using a plurality of reconstruction points, and it is determined whether the one of the points within the range belongs to the irregular point based on a distance between the one of the points within the range and at least one of the reconstruction points.

15. The point cloud decoding method according to claim 14, wherein: When the distance between the one of the points within the range and at least one of the reconstructed points is greater than a threshold, the one of the points within the range belongs to the irregular point.

16. A point cloud encoding method, comprising: generating a plurality of transform coefficients associated with a plurality of points within the range; determining a quantization parameter based on whether one of the points within the range is an irregular point; performing a quantization operation on at least one of the transform coefficients using the quantization parameter to generate at least one quantized transform coefficient; as well as The quantized transform coefficients are encoded to generate a bit stream of the point cloud.

17. The point cloud encoding method according to claim 16, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: When the one of the points within the range belongs to the irregular point, the quantization parameter is determined according to an original quantization parameter and a delta value.

18. The point cloud encoding method according to claim 17, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: When the one of the points within the range of the points does not belong to the irregular point, the quantization parameter is determined as the original quantization parameter.

19. The point cloud encoding method according to claim 17, wherein: The quantization parameter is the sum of the original quantization parameter and the delta value.

20. The point cloud encoding method according to claim 19, wherein: The delta value is a default value.

21. The point cloud encoding method according to claim 19, wherein: The delta value is specified in the code stream.

22. The point cloud encoding method according to claim 16, wherein: in, The quantization parameters include a plurality of first quantization parameters respectively corresponding to a plurality of attribute components of each point, and each of the first quantization parameters is determined according to an original quantization parameter and a delta value.

23. The point cloud encoding method according to claim 22, wherein: The attribute components of each point include a brightness component, a Cb component, and a Cr component.

24. The point cloud encoding method according to claim 22, wherein: The delta values ​​respectively corresponding to the first quantization parameters are different from each other.

25. The point cloud encoding method according to claim 22, wherein: The delta values ​​respectively corresponding to the first quantization parameters are identical to each other.

26. The point cloud encoding method according to claim 16, wherein: The at least one of the transform coefficients includes a direct current component (DC) coefficient.

27. The point cloud encoding method according to claim 15, wherein: The step of determining the quantization parameter based on whether the one of the points within the range belongs to the irregular point comprises: The quantization parameter is determined according to whether the range belongs to an irregular range.

28. The point cloud encoding method according to claim 27, wherein: When the last point in the range belongs to the irregular point, the range belongs to the irregular range.

29. The point cloud encoding method according to claim 16, wherein: The points within the range are predicted using a plurality of reconstruction points, and it is determined whether the one of the points within the range belongs to the irregular point based on a distance between the one of the points within the range and at least one of the reconstruction points.

30. The point cloud encoding method according to claim 29, wherein: When the distance between the one of the points within the range and at least one of the reconstructed points is greater than a threshold, the one of the points within the range belongs to the irregular point.

31. A decoder comprising: Storage devices; as well as A processor is electrically connected to the memory device and is configured to: Decoding a bitstream of the point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points within the range; determining a quantization parameter based on whether one of the points within the range is an irregular point; as well as A dequantization operation is performed on at least one of the quantized transform coefficients using the quantization parameter.

32. An encoder comprising: Storage devices; as well as A processor is electrically connected to the memory device and is configured to: generating a plurality of transform coefficients associated with a plurality of points within the range; determining a quantization parameter based on whether one of the points within the range is an irregular point; performing a quantization operation on at least one of the transform coefficients using the quantization parameter to generate at least one quantized transform coefficient; as well as The quantized transform coefficients are encoded to generate a bit stream of the point cloud.

33. A computer storage medium having recorded thereon a computer program to be loaded into a processor of a decoder to execute the steps of the method according to any one of claims 1 to 15.

34. A computer storage medium having recorded thereon a computer program to be loaded into a processor of an encoder to execute the steps of the method according to any one of claims 16 to 30.