WO2024064043A1 - Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur - Google Patents

Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur Download PDF

Info

Publication number
WO2024064043A1
WO2024064043A1 PCT/US2023/032972 US2023032972W WO2024064043A1 WO 2024064043 A1 WO2024064043 A1 WO 2024064043A1 US 2023032972 W US2023032972 W US 2023032972W WO 2024064043 A1 WO2024064043 A1 WO 2024064043A1
Authority
WO
WIPO (PCT)
Prior art keywords
points
point
point cloud
quantization parameter
range
Prior art date
Application number
PCT/US2023/032972
Other languages
English (en)
Inventor
Yue Yu
Haoping Yu
Original Assignee
Innopeak Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innopeak Technology, Inc. filed Critical Innopeak Technology, Inc.
Publication of WO2024064043A1 publication Critical patent/WO2024064043A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Definitions

  • a point cloud is a collection of data points in a three-dimensional space. Point clouds are commonly used to represent the shape, appearance, and spatial distribution of objects or scenes in various applications. Point cloud coding, also known as point cloud compression, is essential due to many reasons, such as transmission efficiency, bandwidth constraints and so on.
  • point cloud data may be voluminous, especially when capturing detailed 3D scenes or objects. Efficient coding techniques are crucial for minimizing the data size of point cloud data, thus leading to accelerated transmission speeds and diminished storage space requirements.
  • G-PCC Geometry Point Cloud Coding
  • MPEG released the first version G-PCC standard
  • AVS Audio Video Standard
  • geometry information of a point cloud is compressed first, and then the corresponding attributes, including color or reflectance, are compressed based upon the geometry information.
  • the point cloud decoding method of the invention includes the following step: decoding a bitstream of point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points in a range; determining a quantization parameter based on whether one of the points in the range belongs to an irregular point; and performing dequantization operation by using the quantization parameter to at least one of the quantized transform coefficients.
  • the step of determining the quantization parameter based on whether the one of the points in the range belongs to the irregular point comprises: determining the quantization parameter according to an original quantization parameter and a delta value when the one of the points in the range belongs to the irregular point.
  • the step of determining the quantization parameter based on whether the one of the points in the range belongs to the irregular point comprises: determining the quantization parameter as the original quantization parameter when the one of the points in the range does not belong to the irregular point.
  • the quantization parameter is a sum of the original quantization parameter and the delta value.
  • the delta value is a default value.
  • the delta value is specified in the bitstream.
  • the quantization parameter includes a plurality of first quantization parameters respectively corresponding to a plurality of attribute components of 137381wof each point, and each of the first quantization parameters is determined according to an original quantization parameter and a delta value.
  • the attribute components of each point comprise a luma component, a Cb component and a Cr component.
  • the delta values respectively corresponding to the first quantization parameters are different from each other.
  • the delta values respectively corresponding to the first quantization parameters are identical with each other
  • the at least one of the quantized transform coefficients includes a direct component (DC) coefficient.
  • the step of determining the quantization parameter based on whether the one of the points in the range belongs to the irregular point includes: determining the quantization parameter according to whether the range belongs to an irregular range.
  • the range belongs to the irregular range when a last point in the range belongs to the irregular point.
  • a plurality of reconstructed points is used to predict the points in the range, and whether the one of the points in the range belongs to the irregular point is determined according to a distance between the one of the points in the range and at least one of the reconstructed points.
  • the one of the points in the range belongs to the irregular point when the distance between the one of the points in the range and at least one of the reconstructed points is greater than a threshold.
  • the point cloud encoding method of the invention includes the following step: generating a plurality of transform coefficients associated with a plurality of points in a range; determining a quantization parameter based on whether one of the points in the range belongs to 137381wof an irregular point; performing quantization operation by using the quantization parameter to at least one of transform coefficients to generate at least one quantized transform coefficient; and encoding the quantized transform coefficient to generate a bitstream of point cloud.
  • the decoder of the invention includes a storage device and a processor.
  • the processor is electrically connected to the storage device, and is configured to: decode a bitstream of point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points in a range; determine a quantization parameter based on whether one of the points in the range belongs to an irregular point; and perform dequantization operation by using the quantization parameter to at least one of the quantized transform coefficients.
  • the encoder of the invention includes a storage device and a processor.
  • the processor is electrically connected to the storage device, and is configured to: generate a plurality of transform coefficients associated with a plurality of points in a range; determine a quantization parameter based on whether one of the points in the range belongs to an irregular point; perform quantization operation by using the quantization parameter to at least one of transform coefficients to generate at least one quantized transform coefficient; and encode the quantized transform coefficient to generate a bitstream of point cloud.
  • FIG.1 is a schematic diagram of a G-PCC encoding process according to an embodiment 137381wof of the invention.
  • FIG. 2A and FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention.
  • FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention.
  • FIG. 3 illustrates structure of the cubes according to an embodiment of the invention.
  • FIG.4 is a schematic diagram of a G-PCC decoding process according to an embodiment of the invention.
  • FIG. 5A and 5B are schematic diagrams of a syntax table of color residual coding according to an embodiment of the invention.
  • FIG. 6 is a schematic diagram of a syntax table of reflectance coding according to an embodiment of the invention.
  • FIG. 7 is a schematic diagram of a syntax table of zero-run length coding according to an embodiment of the invention.
  • FIG. 8 is a flowchart of a point cloud decoding method applied to a decoder according to an embodiment of the invention.
  • FIG. 9 is a flowchart of determining a quantization parameter according to an embodiment of the invention.
  • FIG. 10 is a flowchart of determining a quantization parameter according to an embodiment of the invention.
  • FIG.11 is a flowchart of a point cloud encoding method applied to an encoder according to an embodiment of the invention.
  • FIG.12 is a schematic block diagram of an codec device provided by an embodiment of the invention. 137381wof DESCRIPTION OF EMBODIMENTS [0038]
  • Point cloud refers to a set of discrete points in space with irregular distribution, representing the spatial structure and surface attributes of a three-dimensional object or scene. Each point in the point cloud can include the position information of the point and the attribute information of the point.
  • the position information of a point may be three-dimensional coordinate information of a point.
  • the position information of a point can also be referred to as the geometric information of a point.
  • the attribute information of a point may be color information and/or reflectivity.
  • the color information of a point can encompass data from various color spaces, such as the RGB color space, YCbCr color space, or YUV color space. That is, the color information may include RGB information. Alternatively, the color information may include luminance information and chromaticity information.
  • the points in the point cloud can include the three-dimensional coordinate information of the points and the laser reflectance intensity (reflectance).
  • the points in the point cloud can include the three-dimensional coordinate information of the points and the color information.
  • Point cloud data may be acquired through various methods, which include but are not 137381wof restricted to, at least one of the following: (1) computer equipment generation, wherein computer equipment can generate point cloud data based on virtual 3D objects and virtual 3D scenes; (2) 3D laser scanning acquisition, wherein through 3D laser scanning, point cloud data of static real- world three-dimensional objects or three-dimensional scenes can be obtained, and millions of point cloud data can be obtained every second; (3) 3D photogrammetry acquisition, wherein the point cloud data of the real-world visual scene can be obtained by 3D photography equipment (that is, a group of cameras or camera equipment with multiple lenses and sensors) to obtain the point cloud data of the real-world visual scene, and the point cloud data of dynamic real-world three-dimensional objects or three-dimensional scenes can be obtained through 3D photography; and (4) Obtain point cloud data of biological tissues and organs through medical equipment.
  • 3D photography equipment that is, a group of cameras or camera equipment with multiple lenses and sensors
  • FIG.1 is a schematic diagram of a G-PCC encoding process according to an embodiment of the invention. Referring to FIG. 1, the G-PCC encoding process shown in FIG.
  • the point cloud 1 may be implemented by a point cloud encoder.
  • the point cloud data is divided into multiple slices through slice division.
  • the positions (i.e., geometric information) of the points and the attributes of the points are coded (i.e., encoded and decoded) separately.
  • the encoding of points may 137381wof involve position encoding and attribute encoding.
  • the position information of points is referred to as geometric information, and the encoding of point position can also be termed as geometric encoding.
  • a transform to the coordinates of the points is performed to transform the coordinates of the points from an initial domain to a transform domain.
  • the positions of the points are coordinated to enclose the point cloud into a bounding box (bounding box).
  • the transform coordinates are voxelized.
  • Voxelization of the transform coordinates may include quantization and removing some points of the point cloud.
  • the quantization mainly plays the role of scaling. Due to the quantization rounding, part of the positions of the point cloud is the same, so whether to remove the duplicate points based on the parameters is further determined in step S104.
  • the process of quantifying and removing the duplicate points is also called the voxelization process.
  • step S106 an octree is generated based on the voxelized transform coordinates.
  • the bounding box is divided into an octree for octree analysis.
  • the bounding box is divided into eight sub-cubes, and the non-empty (including points in the point cloud) sub-cubes are continued to be divided into eight equal parts until the leaf nodes are obtained.
  • the points in the leaf nodes of the octree structure are arithmetic coded to generate a binary geometric bitstream, that is, a geometric code stream.
  • FIG. 2B illustrate octree structures of G-PCC according to an embodiment of the invention
  • FIG.2C illustrates corresponding digital representation of the octree structure according to an embodiment of the invention
  • a cubical axis-aligned bounding box B is defined by two extreme points (0,0,0) and ⁇ 2 ⁇ , 2 ⁇ , 2 ⁇ ⁇ where d is the maximum size of a given point cloud along x, y or z direction.
  • a point of the point cloud will be noted as “point” below. All points are included in this defined cube B.
  • the cube B is divided into eight sub-cubes B1 to B8, which creates 137381wof an octree structure allowing one parent cube B to have 8 child cubes B1 to B8.
  • the 7 sibling cubes B2 to B8 of a given cube B1 are the same size cubes and share at least one same face/edge/point with this given cube.
  • the volume of each of the cubes B1 to B8 is 1/8 volume of its parent cube B.
  • Each of the cubes B1 to B8 may contain more than one point, and a number of points in a cube is dependent on the size and location of the cube.
  • an octree is a recursive data structure that is often used to describe three-dimensional space in which each internal cube has exactly eight children. The space is recursively subdivided into eight octants to the point where the resolution of the child cube is equal to a size of the point – the smallest element that has no further subdivisions.
  • FIG. 3 illustrates structure of the cubes according to an embodiment of the invention. Referring to FIG.
  • one cube may have up to six same-size cubes to share one face.
  • the current cube may also have some neighbouring cubes which share lines or points with the current cube.
  • the parent cube of the current cube also has up to six neighbouring cubes with the same size of the parent cube that share one face with the parent cube.
  • the parent cube of the current cube also has up to twelve neighbouring cubes with the same size of parent cubes that share an edge.
  • the parent cube of the current cube also has up to eight neighbouring cubes with 137381wof the same size of parent cubes that share a point with the parent cube.
  • step S110 the points is analyzed to potentially determine a surface representation of sets of the points.
  • twelve pieces of the surface and the block are analyzed.
  • At most twelve vertexes (intersection points) are generated by the edges, and the arithmetic coding is performed on the vertexes (surface fitting based on the intersection points) in step S108 to generate the binary geometric bitstream.
  • the transform coordinates of points in the point cloud may be reconstructed based on the octree, data indicating the surfaces determined in step S110 and/or other information.
  • the reconstructed geometric information may be used by attribute coding process.
  • step S114 color transformation is performed in step S114, in which the color information (that is, the attribute information) is transformed from the RGB color space to the YUV color space, YCbCr color space or other color space.
  • step S116 the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information. Because the geometric information changes after the geometric encoding, it is necessary to reassign the attribute value to each point after the geometric encoding.
  • step S116 the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information. Because the geometric information changes after the geometric encoding, it is necessary to reassign the attribute value to each point after the geometric encoding.
  • the first method is distance-based lifting transformation in step S120 that relies on Level of Detail (LOD) division in step S118.
  • the second method is Region Adaptive Hierarchical Transform (RAHT) transformation in step S122, which directly transforms the image. Both of these methods convert color information from the spatial domain to the frequency domain, to obtain high-frequency coefficients and low-frequency coefficients through the transformation. The high-frequency coefficients and low-frequency coefficients may be referred to transform coefficients.
  • RAHT Region Adaptive Hierarchical Transform
  • quantizing the transform coefficients for a point may 137381wof involve dividing the quantized attribute value (i.e., quantized transform coefficients ) by a QP step size for the point, and the QP step size is determined according to a Quantization Parameter (QP).
  • QP Quantization Parameter
  • arithmetic encoding may be performed to syntax elements representing the quantized attribute coefficients, to output these syntax elements in an attribute bitstream.
  • the quantized transform coefficients may be encoded by using arithmetic encoding to generate a binary attribute bitstream, that is, the attribute code stream.
  • FIG.4 is a schematic diagram of a G-PCC decoding process according to an embodiment of the invention. The process in FIG.
  • the point cloud decoder For the obtained binary code stream, the geometric bitstream and the attribute bitstream in the binary code stream are first decoded in steps S402 and S404, respectively.
  • steps S402 and S404 For decoding the geometric bitstream, through arithmetic decoding in step S402, octree synthesis in step S406, surface fitting in step S408, geometry reconstruction in step S410, and inverse coordinate transformation in step S412, the positions (i.e., geometric information) of the point cloud are obtained.
  • step S404 When decoding the attribute bitstream, through arithmetic decoding in step S404, inverse Quantization in step S414, LOD-based lifting based inverse transformation in steps S416 and S418, or RAHT based inverse transformation in step S420, and inverse color conversion in step S422, the attributes of the point cloud are obtained.
  • the quantized attribute values i.e., quantized transform coefficients
  • dequantizing a quantized attribute value for a point may involve multiplying the quantized attribute value by a QP step size for the point, and the QP step size is determined according to a Quantization Parameter (QP).
  • QP Quantization Parameter
  • the octree-based geometry information may be coded with context-based arithmetic coding. There may also be some corresponding attribute information for point clouds, including color, reflectance, etc., that needs to be compressed. Because the neighbouring points in a point cloud may have a strong correlation, prediction-based coding methods have been developed and 137381wof used to compose and code point cloud attributes. More specifically, a prediction is formed from neighbouring coded attributes. Then, the difference between the current attribute and the prediction is coded. [0058] It should be noted that, the steps depicted in FIG. 1 and FIG. 4 may be implemented as a plurality of program codes or circuits, which are not particularly limited in the invention.
  • coding may be assumed to mean encoding and decoding methods and systems.
  • [0060] [Attribute Coding in the AVS G-PCC] [0061] AVS is developing a G-PCC standard. After the geometry information is coded, Morton or Hilbert code/order may be used to convert a point cloud cube into a one-dimension array. Each position in the cube will have a corresponding Morton or Hilbert code, but some positions may not have any corresponding point cloud attribute. In other words, some positions may be empty. The attribute coding will follow the pre-defined Morton or Hilbert order. A predictor may be generated from the previous coded points in Morton or Hilbert order.
  • the attribute difference between the current point and its predictor is coded into the bitstream.
  • some pre-defined number has been specified to limit the number of neighboring points that can be used in generating the prediction. For example, only M data points among previous N consecutively coded points may be used for coding the current attribute. In the previous AVS G-PCC software, M and N are set as a fixed number of 3 and 128, respectively.
  • M and N are set as a fixed number of 3 and 128, respectively.
  • new Morton or Hilbert codes for these N points 137381wof will be re-calculated by adding a fixed shift, e.g., 1, to coordinates (x, y, z) of these N data points.
  • a fixed shift e.g. 1, to coordinates (x, y, z) of these N data points.
  • a P-point set before and a Q-point set after the current position according to the new Morton or Hilbert code order will be selected.
  • M points are selected with M closest “distance” between these coded points and the current point.
  • the distance d1 as one example is defined as follows, other distance metrics can also be used.
  • ⁇ 1
  • ( ⁇ 1, ⁇ 1, ⁇ 1) and ( ⁇ 2, ⁇ 2, ⁇ 2) are coordinates of the current point and pre- selected point, respectively.
  • a full search method based on Hilbert code has been applied in the AVS GPCC attribute coding. In the current software, the search range is set as 128 and the number of previous points used to form the predictor is set as M.
  • ⁇ 2
  • ( ⁇ 1, ⁇ 1, ⁇ 1) and ( ⁇ 3, ⁇ 3, ⁇ 3) are the coordinates of the current point and the pre-selected point along Hilbert order, respectively.
  • a weighted average of attributes from these M points is formed as the predictor to code the attribute of the current point.
  • the points which share the same face/line/point with the current point are close to the current point. Another technology is to consider these points serving as a 137381wof predictor.
  • the residual is defined as the difference of attribute values between the current point and its predictor.
  • PCC can be either lossless or lossy.
  • the residual may or may not be quantized by using the predefined quantization process.
  • the residual without or with quantization is called level.
  • the level can be a signed integer and will be coded into the bitstream.
  • [Color Level Coding] [0073] There are three color attributes for each point, which come from the three color components. If the levels for all the three color components are zeros, this point is called a zero level point. Otherwise, if there is at least one non-zero level for one color component with the point, this point is called a non-zero level point.
  • the zero-run length value is set as zero. Starting from the first point along the predefined coding order, the residuals between the three color predictors and their corresponding color attributes for the current point can be obtained. Then, the corresponding levels for the three components of the current point also can be obtained. If the current point is a zero level point, the zero-run length value will be increased by one and the process proceeds to the next point.
  • the zero-run length value will be coded first and then the three color levels for this non-zero level point will be coded right after. After the level coding of a non-zero level point, the zero-run length value will be reset to zero and the process proceeds to the next point till finishing all points. [0075] On the decoding side, the zero-run length value is first decoded and the three color levels corresponding to the number of zero-run length points are set as zero. Then, the levels for the non-zero level point are decoded and then the next zero-run length value is decoded. This 137381wof process continues until all points are decoded. [0076] For example, referring to FIG.
  • 5A and 5B are schematic diagrams of a syntax table 500a and 500b of color residual coding according to an embodiment of the invention.
  • a non-zero level point there is at least one non-zero level among the three components.
  • the values of three components are coded in the color_residual_coding( ).
  • Several one-bit flags plus the remainder of the absolute level may be coded to represent levels of three components.
  • the absolute level or absolute level of color residual minus one may be coded in the function coded_level_coding( ) and named as coded level in the remaining of this disclosure.
  • a first flag (e.g., color_first_comp_zero) is coded to indicate if the first component of color is zero or not; if the first component of color is zero, a second flag (e.g., color_second_comp_zero) is coded to indicate if the second component of color is zero or not; if the second component of color is zero, the absolute level minus one and the sign of the third component will be coded according to the following coded level method.
  • a first flag e.g., color_first_comp_zero
  • a second flag e.g., color_second_comp_zero
  • a first flag is coded to indicate if the first component of color is zero or not; if the first component of color is zero, a second flag is coded to indicate if the second component of color is zero or not; if the second component of color is not zero, the absolute level minus one and sign of the second component will be coded according to the following coded level method, the absolute level and sign of the third component will be coded according to the following coded level method.
  • a first flag is coded to indicate if the first component of color is zero or not; if the first component of color is not zero, the absolute level minus one and sign of the first component will be coded according to the following coded level method, the absolute levels and signs of the second and third components will be coded according to the following coded level method, respectively.
  • the coding method to produce a coded level is designed as follows.
  • the first flag (e.g., coded_level_equal_zero) is coded to indicate if the coded level is zero or not; if the coded level is 137381wof the absolute level of one component minus one, i.e., when isComponentNoneZero is equal to true, the sign (e.g., coded_level_sign) of the level of this component will be coded. If the first flag indicates that the coded level is not zero, and if the coded level is the absolute level of one component itself, i.e., when isComponentNoneZero is equal to false, the sign of the level of this component will be coded.
  • coded_level_equal_zero is coded to indicate if the coded level is zero or not; if the coded level is 137381wof the absolute level of one component minus one, i.e., when isComponentNoneZero is equal to true, the sign (e.g., coded_level_sign) of the
  • the second flag (e.g., coded_level_gt1) will be coded to indicate if the coded level is greater than one or not; if the coded level is greater than one, the parity of the coded level minus two is coded and the third flag (e.g., coded_level_minus2_div2_gt0) will be coded to indicate if the coded level minus two dividing two is greater than zero or not; if the coded level minus two dividing two is greater than zero, the coded level minus two dividing two minus one will be coded.
  • coded_level_gt1 The second flag (e.g., coded_level_gt1) will be coded to indicate if the coded level is greater than one or not; if the coded level is greater than one, the parity of the coded level minus two is coded and the third flag (e.g., coded_level_minus2_div2_gt0) will be coded to indicate if the coded level
  • the zero-run length of reflectance level and the non-zero reflectance level are coded into bitstream. More specifically, in the encoding side, before coding of the first point, the zero-run length counter is set as zero. Starting from the first point along the predefined coding order, the residuals between the predictors and corresponding original points are obtained. Then the corresponding levels are obtained. If current level is zero, zero-run length will be increased by one and the process proceeds to the next point. If the level is not zero, the zero-run length will be coded first and the non-zero level will be coded after the zero- run length coding.
  • FIG. 6 is schematic diagram of a syntax table 600 of reflectance coding according to an embodiment of the invention. For a non-zero level, if the current point is not a duplicated point, the sign of level is coded with a syntax element 137381wof residual_sign first.
  • abs_level_minus1_parity which indicates the parity of the absolute level minus one is coded.
  • Another syntax element abs_level_minus1_div2_gt0 is coded to indicate if the value of the absolute level minus one divided by two is greater than zero or not; if abs_level_minus1_div2_gt0 is great than zero, another syntax element abs_level_minus1_div2_gt1 is coded to indicate if the value of the absolute level minus one divided by two is greater than one or not; if abs_level_minus1_div2_gt1 is greater than 1, another syntax element abs_level_minu1_div2_minus2 is coded to indicate the value of the absolute level minus one divided by two minus two.
  • FIG. 7 is a schematic diagram of a syntax table 700 of zero-run length coding according to an embodiment of the invention.
  • the first syntax element zero_run_length_level_equal_zero is coded to indicate if the zero-run length is eqaul to zero or not; if it is not zero, the second syntax element zero_run_length_level_equal_one is coded to indicate if the zero-run length is eqaul to one or not; if it is not one, the third syntax element zero_run_length_level_equal_two is coded to indicate if the zero-run length is eqaul to two or not; if it is not two, the fourth syntax element zero_run_length_level_minus3_parity and the fifth syntax element zero_run_length_level_minus3_div2 are coded 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.
  • FIG. 8 is a flowchart of a point cloud decoding method applied to a decoder according to an embodiment of the invention.
  • each step in the methods may be performed by a decoder using the G-PCC decoding process illustrated as FIG. 4.
  • the decoder may decode a bitstream of point cloud to obtain a plurality of quantized transform coefficients associated with a plurality of points in a range.
  • a transform e.g., RAHT transform or lifting transform
  • RAHT transform e.g., RAHT transform or lifting transform
  • every point group including N points (e.g., 8 points), where N is equal to the size/length of the transform, will be considered as a range.
  • a range will be coded instead of point by point individually.
  • the quantized transform coefficients of one range may include quantized AC coefficients and a quantized DC coefficient.
  • the prediction value of every point is obtained by searching the three closest points in the previous coded points within a search range.
  • the corresponding N residuals between N prediction values and N original points are further obtained. For example, 8 residuals will be transformed, so that 8 transform coefficients including one DC coefficient and seven AC coefficients are obtained.
  • the DC coefficient may be quantized by an adjusted quantization parameter which is determined according to whether one of the points in the range belongs to an irregular point
  • the AC coefficients may be quantized by an original quantization parameter.
  • the decoder may obtain the quantized transform coefficients associated with the points in a range by decoding a bitstream of point cloud which is an attribute bitstream.
  • the decoder may determine a quantization parameter based on whether one of the points in the range belongs to an irregular point.
  • the decoder may determine the quantization parameter based on whether the last point in the range belongs to an irregular point.
  • a plurality of reconstructed points is used to predict the points in the range, and whether the one of the points in the range belongs to the irregular point is determined according to a distance between the one of the points in the range and at least one of the reconstructed points.
  • the reconstructed points may be some neighbouring points from a search range.
  • the one of the points in the range belongs to the 137381wof irregular point when the distance between the 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 does not belongs to the irregular point when the distance between the one of the points in the range and at least one of the reconstructed points is not greater than a threshold.
  • the prediction value of every point is obtained by searching the three closest points in the previous coded points within a search range.
  • the distances between the M reconstructed points in the search range and the current point are D_1 to D_M.
  • Whether the current point in the range belongs to the irregular point is determined according to at least one of the distances D_1 to D_M between the current point and at least one of the reconstructed points. For example, if any one of distances D_1 to D_M is larger than a predefined threshold T, such current point may be referred to an irregular point. Alternatively, in other case, if all of distances D_1 to D_M are larger than a predefined threshold T, such current point may be referred to an irregular point.
  • the quantization parameter may be determined as a first value. Otherwise, if the one of the points (e.g., the last point in the range) is not a irregular point, the quantization parameter may be determined as a second value which is different from the first value.
  • the first value or the second valaue may be used to dequantize the quantized transform coefficients associated with the range including the irregular point.
  • the decoder may perform dequantization operation by using the quantization parameter to at least one of the quantized transform coefficients.
  • the decoder may dequantize a quantized transform coefficient for a point by multiplying the quantized transform 137381wof coefficient by a QP step size for the point, and the QP step size is determined according to the quantization parameter.
  • attribute coding in G-PCC involves a quantization/inverse-quantization process that enables the codec to trade between the reconstructed quality of the attributes of the point cloud and the bits required to represent them.
  • the quantization parameter is used to control this trade-off by determining the particular scaling operations to be performed on the attributes.
  • the QP and the parameters for determined the QP may be signaled in the bitstream.
  • the at least one of the quantized transform coefficients which is dequantized by the quantization parameter determined based on whether one of the points (e.g., the last point in the range) is an irregular point, may include a direct component (DC) coefficient.
  • the DC coefficient may be dequantized by an QP which is determined based on whether one of the points is an irregular point
  • the AC coefficients may be dequantized by another QP which is not adjusted determined based on whether one of the points is an irregular point.
  • the at least one of the quantized transform coefficients which is dequantized by the quantization parameter determined based on whether the one of the points (e.g., the last point in the range) is an irregular point, may include a DC coefficient and AC coefficients.
  • the DC coefficient and the AC coefficients may be dequantized by an QP which is determined based on whether one of the points is an irregular point.
  • FIG. 9 is a flowchart of determining a quantization parameter according to an embodiment of the invention. Referring to FIG. 9, in step S821a, the decoder may determine whether the one of the points in the range belongs to the irregular point.
  • the decoder may determine the quantization parameter according to an original quantization parameter and a delta value when the one of the points in the range belongs to the irregular point. Namely, when the prediction accuracy of a range is deemed to be unreliable, the original quantization parameter may be adjusted by the delta value to determine the 137381wof adjusted quantization parameter, and the quantization operation/dequantization operation may be performed to such range by using the adjusted quantization parameter.
  • the quantization parameter may be a sum of the original quantization parameter and the delta value when the one of the points in the range belongs to the irregular point. The delta value may be positive or negative.
  • the delta value may be a default value.
  • the delta value may be specified in the bitstream.
  • the original quantization parameter may be also specified in the bitstream.
  • the DC coefficient when the one of the points in the range belongs to the irregular point, the DC coefficient may be dequantized by an QP which is a sum of the original quantization parameter and the delta value, and the AC coefficients may be dequantized by another QP which is the original quantization parameter.
  • the DC coefficient and the AC coefficients may be dequantized by an QP which is a sum of the original quantization parameter and the delta value.
  • step S821a the decoder may determine the quantization parameter as the original quantization parameter when the one of the points in the range does not belong to the irregular point. Namely, when the prediction accuracy of a range is deemed to be reliable, the original quantization parameter may be not adjusted by the delta value, and the quantization operation/dequantization operation may be performed to such range by using the original quantization parameter.
  • FIG. 10 is a flowchart of determining a quantization parameter according to an embodiment of the invention. Referring to FIG. 10, in step S821b, the decoder may determine the quantization parameter according to whether the range belongs to an irregular range.
  • the range belongs to the irregular range when a last point in the range belongs to the irregular point.
  • a plurality of reconstructed points is used to predict all points in the range, and whether the last point in the range belongs to the 137381wof irregular point is determined according to a distance between the last point and at least one of the reconstructed points.
  • the last point in the range belongs to the irregular point when the distance between the last point and at least one of the reconstructed points is greater than a threshold.
  • the decoder may determine the quantization parameter according to an original quantization parameter and a delta value when the range belongs to an irregular range.
  • the decoder may determine the quantization parameter as the original quantization parameter when the range does not belong to an irregular range.
  • Step S822 and step S823 depicted in FIG. 10 are described in detail as above so that related description thereof is omitted hereinafter.
  • the quantization parameter includes a plurality of first quantization parameters respectively corresponding to a plurality of attribute components of each point, and each of the first quantization parameters may be determined according to an original quantization parameter and a delta value when the one of the points in the range belongs to an irregular point.
  • the DC coefficient when the range belongs to the irregular range, the DC coefficient may be dequantized by an QP which is a sum of the original quantization parameter and the delta value, and the AC coefficients may be dequantized by another QP which is the original quantization parameter.
  • the DC coefficient and the AC coefficients when the range belongs to an irregular range, the DC coefficient and the AC coefficients may be dequantized by an QP which is a sum of the original quantization parameter and the delta value.
  • the attribute components of each point may include a luma component, a Cb component and a Cr component.
  • the number of the first quantization parameters is 3, and the three first quantization parameters may respectively correspond to the luma component, the Cb component, and the Cb component.
  • the attribute components of each point may include a Y (luma) component, a U component and a V component, and the three first quantization parameters may respectively correspond to the Y component, the U component, and the V component.
  • the delta values respectively corresponding to the first quantization parameters may be different from each other.
  • the delta values respectively corresponding to the first quantization parameters may be identical with each other.
  • the first quantization parameters respectively corresponding to the different attribute components may be determined according to the same delta value or the different delta values.
  • an original quantization parameter for coding the luma component denoted as luma_QP
  • the quantization offsets for the Cb component and Cr component respectively denoted as offset_cb_QP and offset_cr_QP, may be also specified for a given point cloud frame.
  • the original quantization parameters for coding the Cb component and Cr component are set as following formula (1) and formula (2).
  • this disclosure proposes that the original quantization parameter for DC components may be further adjusted for coding an irregular range including an irregular point. More specifically, a delta value, denoted as delta_QP, may be used to adjust the original quantization parameter and may be used to to code an irregular range, where delta_QP can be either a positive or a negative number. [00110] In an embodiment, the same delta_QP may be used to code luma/Cb/Cr DC components.
  • the quantization parameters may be determined as luma_QP+delta_QP, luma_QP+ offset_cb_QP + delat_QP, and luma_QP+ offset_cr_QP + delat_QP when the range is an irregular range or the one of the points in the range is an irregular point.
  • the adjusted quantization 137381wof parameters which are luma_QP+delta_QP, luma_QP+ offset_cb_QP + delat_QP, and luma_QP+ offset_cr_QP + delat_QP, may be used to code luma/ Cb/Cr DC components, respectively.
  • the delta_QP may be specified in the bitstream or use a default value, e.g., 8.
  • the different delta values may be respectively used to code luma/Cb/Cr DC components.
  • the quantization parameter of the luma component may be determined as luma_QP+ delta_QP_luma when the range is an irregular range or the 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 the 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 when the range is an irregular range or the one of the points in the range is an irregular point.
  • the adjusted quantization parameters which are 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 code luma/ Cb/Cr DC components, respectively.
  • FIG.11 is a flowchart of a point cloud encoding method applied to an encoder according to an embodiment of the invention.
  • each step in the methods may be performed by a encoder using the G-PCC encoding process illustrated as FIG.1.
  • the encoder may generate a plurality of transform coefficients associated with a plurality of points in a range.
  • the encoder may determine a quantization parameter based on whether one of the points in the range belongs to an irregular point.
  • the encoder may determine the quantization parameter according to an original quantization parameter and a delta value when the one of the points in the range belongs to the irregular point. Otherwise, the encoder may determine the quantization parameter as the original quantization parameter when the one of the points in the range does not belong to the irregular point. It should be noted that, the encoder and the decoder 137381wof may determine the quantization parameter based on the similar operations and steps, which have been described in detail as above so that related description thereof is omitted hereinafter. [00114] In step S1130, the encoder may perform quantization operation by using the quantization parameter to at least one of transform coefficients to generate at least one quantized transform coefficient.
  • the encoder may encode the quantized transform coefficient to generate a bitstream of point cloud.
  • this disclosure proposes a point cloud coding method by which a new prediction value may be used for coding an irregular range. First, whether the range is an irregular range is determined. When the range is the irregular range which last point is an irregular point, instead of derived the prediction value by using the reconstructed point, the prediction values of all points within the irregular may be determined by a fixed value or a coded value in the bitstream.
  • a fixed value e.g., 1 ⁇ (bitDepth-1)
  • the prediction values of all points within an irregular range may be set as the fixed value.
  • a coded value in the bitstream may be used as a prediction value for coding all points within an irregular range.
  • the coded value may be an integrated average value of input points or a medium value of input points. Namely, the prediction values of all points within an irregular range may be set as the coded value.
  • FIG.12 is a schematic block diagram of an codec device provided by an embodiment of the invention.
  • the codec device 1000 may be the decoder or the encoder described in an embodiment of the invention.
  • the codec device 1000 may comprise a transceiver 1001, a storage device 1002 and a processor 1003.
  • the storage device 1002 may stores executable instructions or the computer program. 137381wof
  • the processor 1003 may execute the executable instructions or the computer program to implement the methods in an embodiment of the invention.
  • the processor 1003 may be used to perform the steps of the above method in FIG. 8 to FIG. 11 according to the instructions or the computer program stored in the storage device 1002.
  • the processor 1003 may include (but is not limited to) a central processing unit (CPU), a graphic processing unit (GPU), general-purpose or special-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the codec device 1000 may include more processors to implement the method in an embodiment of the invention.
  • the storage device 1002 includes(but is not limited to) volatile memory and/or non-volatile memory.
  • non-volatile memory can be Read-Only Memory (ROM), programmable ROM (PROM), erasable programmable read- only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory.
  • Volatile memory can be Random Access Memory (RAM), which is used as an external cache.
  • RAM Random Access Memory
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • DDR SDRAM Double Data Rate SDRAM
  • ESDRAM Enhanced SDRAM
  • SLDRAM synch link DRAM
  • DR RAM Direct Rambus RAM
  • the computer program may be divided into one or more units, the one or more units are stored in the storage device 1002, and executed by the processor 1003 to complete the method provided in the invention.
  • the unit or units may be a series of computer program instruction segments capable of completing a particular function.
  • 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, 137381wof specifically, may send information or data to other devices, or receive information or data sent by other devices.
  • the transceiver 1003 is configured to receive or transmit the bitstream of point cloud.
  • the transceiver 1001 may include a transmitter and receiver.
  • the transceiver 1001 may further include antennas, the number of antennas may be one or more.
  • the various components in the codec device 1000 are connected by a bus system, wherein the bus system includes a power bus, a control bus and a status signal bus in addition to the data bus.
  • the invention also provides a computer storage medium on which a computer program is stored, and the computer program is executed by the computer such that the computer can execute the method embodiment of the above method.
  • embodiments of the invention also provide a computer program product comprising instructions, the instruction is executed by the computer when the computer executes the method of executing the above method embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instruction may 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 instruction may be transmitted from a website site, computer, server or data center to another website site (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) to another website site, computer, Server or data center for transmission.
  • the computer-readable storage medium may be any available media that the computer can access, or a data storage device such as a server, data center, etc., that contains one or more available media integration.
  • the 137381wof available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid state disks (SSDs)) and the like.
  • a non-transitory computer readable recording medium stores a plurality of program code segments, and the program code segments are configured to accomplish the steps in the foregoing method after being loaded to and executed by the processor 1003 of the codec device 1000.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention concerne un procédé de décodage de nuage de points, un procédé de codage de nuage de points, un décodeur et un codeur. Le procédé de décodage de nuage de points comprend l'étape suivante consistant à : décoder un train de bits de nuage de points pour obtenir une pluralité de coefficients de transformée quantifiés associés à une pluralité de points dans une plage ; déterminer un paramètre de quantification sur la base du fait que l'un des points dans la plage appartient à un point irrégulier ; et effectuer une opération de déquantification à l'aide du paramètre de quantification à au moins l'un des coefficients de transformée quantifiés.
PCT/US2023/032972 2022-09-19 2023-09-18 Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur WO2024064043A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263376258P 2022-09-19 2022-09-19
US63/376,258 2022-09-19

Publications (1)

Publication Number Publication Date
WO2024064043A1 true WO2024064043A1 (fr) 2024-03-28

Family

ID=90455064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/032972 WO2024064043A1 (fr) 2022-09-19 2023-09-18 Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur

Country Status (1)

Country Link
WO (1) WO2024064043A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200020132A1 (en) * 2018-07-11 2020-01-16 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
US20200314435A1 (en) * 2019-03-25 2020-10-01 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US20210112281A1 (en) * 2018-06-26 2021-04-15 Huawei Technologies Co., Ltd. High-Level Syntax Designs for Point Cloud Coding
US20210289211A1 (en) * 2020-03-16 2021-09-16 Lg Electronics Inc. Device and method of transmitting point cloud data, device and method of processing point cloud data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210112281A1 (en) * 2018-06-26 2021-04-15 Huawei Technologies Co., Ltd. High-Level Syntax Designs for Point Cloud Coding
US20200020132A1 (en) * 2018-07-11 2020-01-16 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
US20200314435A1 (en) * 2019-03-25 2020-10-01 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US20210289211A1 (en) * 2020-03-16 2021-09-16 Lg Electronics Inc. Device and method of transmitting point cloud data, device and method of processing point cloud data

Similar Documents

Publication Publication Date Title
CN113615181B (zh) 用于点云编解码的方法、装置
CN113632142B (zh) 点云编解码的方法和装置
WO2021252593A1 (fr) Codage résiduel d'attributs en g-pcc
US11258458B2 (en) Methods and devices for lossy coding of point cloud occupancy
TW202141984A (zh) 用於在基於幾何形狀的點雲壓縮中的預測變換的預測器索引訊號傳遞
US11657543B2 (en) Trisoup syntax signaling for geometry-based point cloud compression
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
TW202207709A (zh) 用於基於幾何的點雲壓縮的高級語法
US12026920B2 (en) Point cloud encoding and decoding method, encoder and decoder
US20230051431A1 (en) Method and apparatus for selecting neighbor point in point cloud, encoder, and decoder
WO2024064043A1 (fr) Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur
TW202218425A (zh) 用於在基於幾何的點雲壓縮中的量化參數值的縮放因數
WO2024059232A1 (fr) Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur
WO2024186552A1 (fr) Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur
US20230082456A1 (en) Point cloud attribute prediction method and apparatus, and related device
US20230342987A1 (en) Occupancy coding using inter prediction with octree occupancy coding based on dynamic optimal binary coder with update on the fly (obuf) in geometry-based point cloud compression
WO2024082153A1 (fr) Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage
WO2023024842A1 (fr) Procédé, appareil et dispositif de codage/décodage de nuage de points, et support de stockage
WO2023197338A1 (fr) Procédé et appareil de détermination d'indice, décodeur et codeur
WO2024145933A1 (fr) Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositifs, et support de stockage
US20230386089A1 (en) Point cloud decoding method, decoder, and non-transitory computer-readable storage medium
WO2024145913A1 (fr) Procédé et appareil de codage et de décodage de nuage de points, dispositif, et support de stockage
WO2024044082A2 (fr) Procédé de décodage, procédé de codage, décodeur et codeur
WO2024123568A1 (fr) Procédé de codage en nuage de points géométriques, codeur et décodeur
WO2024086123A1 (fr) Procédé de décodage, procédé de codage, décodeur et codeur

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23868820

Country of ref document: EP

Kind code of ref document: A1