WO2022217611A1 - 编解码方法及相关设备、存储介质 - Google Patents

编解码方法及相关设备、存储介质 Download PDF

Info

Publication number
WO2022217611A1
WO2022217611A1 PCT/CN2021/087918 CN2021087918W WO2022217611A1 WO 2022217611 A1 WO2022217611 A1 WO 2022217611A1 CN 2021087918 W CN2021087918 W CN 2021087918W WO 2022217611 A1 WO2022217611 A1 WO 2022217611A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
point
neighbor
attribute
current point
Prior art date
Application number
PCT/CN2021/087918
Other languages
English (en)
French (fr)
Inventor
元辉
王璐
李明
王晓辉
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to EP21936486.6A priority Critical patent/EP4322527A1/en
Priority to KR1020237038796A priority patent/KR20230173135A/ko
Priority to PCT/CN2021/087918 priority patent/WO2022217611A1/zh
Priority to JP2023562955A priority patent/JP2024513583A/ja
Priority to CN202180096891.3A priority patent/CN117157973A/zh
Publication of WO2022217611A1 publication Critical patent/WO2022217611A1/zh
Priority to US18/379,997 priority patent/US20240037800A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments of the present disclosure relate to, but are not limited to, encoding and decoding technologies, and in particular, relate to an encoding and decoding method, related devices, and storage media.
  • 3D point cloud data has begun to spread to various fields, such as virtual/augmented reality, robotics, geographic information systems, medical fields, etc.
  • 3D point cloud data With the development of 3D point cloud data and the continuous improvement of the benchmark and speed of 3D point cloud data scanning equipment (such as lidar, Kinect somatosensory camera, etc.), people can accurately obtain a large amount of point cloud data on the surface of objects, often a scene
  • the point cloud data below can include hundreds of thousands of points.
  • Such a huge amount of point cloud data also brings challenges to computer storage and transmission.
  • Point cloud compression is mainly divided into geometric compression and attribute compression.
  • the point cloud attribute compression framework described in the test platform TMC13 (Test Model for Category1&3) provided by the International Standards Organization (Moving Picture Experts Group, MGEP) includes multiple The Lifting Transform strategy of LOD (Level of Detail), and the Predicting Transform strategy based on LOD, etc.
  • TMC13 Test Model for Category1&3
  • PCEM Computer Engineering Coding Standard
  • an embodiment of the present disclosure provides a coding method, comprising:
  • the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point
  • the quantized residual value is encoded.
  • an embodiment of the present disclosure provides a decoding method, including:
  • the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point
  • an embodiment of the present disclosure also provides another encoding method, comprising:
  • An encoding method comprising:
  • the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point
  • the identification information of the first prediction mode is written into the code stream, where the identification information is used to indicate the prediction mode.
  • an embodiment of the present disclosure also provides another decoding method, including:
  • Fig. 1 is a kind of schematic flow chart of point cloud coding
  • Fig. 2 is a kind of schematic flow chart of point cloud decoding
  • Fig. 3 is a kind of schematic diagram of LOD generation process
  • FIG. 5 is a schematic flowchart of an encoding method according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic flowchart of an encoding method according to an exemplary embodiment of the present disclosure.
  • FIG. 7 is a schematic flowchart of a decoding method according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart of a decoding method according to an exemplary embodiment of the present disclosure.
  • FIG. 9 is a schematic flowchart of an encoding method according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic flowchart of an encoding method according to an exemplary embodiment of the disclosure.
  • FIG. 11 is a schematic flowchart of a decoding method according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic diagram of a framework of an encoder according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic diagram of an exemplary encoder processing flow of the disclosure.
  • FIG. 14 is a schematic diagram of a framework of a decoder according to an embodiment of the present disclosure.
  • 15 is a schematic diagram of an exemplary decoder processing flow of the disclosure.
  • FIG. 16 is a schematic diagram of a frame of an encoding device.
  • FIG. 1 is a schematic diagram of a point cloud encoding framework.
  • the point cloud encoding framework shown in FIG. 1 can be applied to a point cloud encoder.
  • the geometric information and attribute information of each point in the point cloud to be encoded are encoded separately.
  • the geometric information is transformed into coordinates so that all point clouds are contained in a bounding box, and then quantized.
  • This step of quantization mainly plays a role in scaling. Due to the rounding of quantization, some
  • the geometric information of the point cloud is the same, so the process of quantizing and removing duplicate points is also called the voxelization process when deciding whether to remove duplicate points based on parameters. Then perform octree division on the bounding box.
  • the bounding box is divided into eight sub-cubes, and the non-empty sub-cubes (including points in the point cloud) are further divided into eight equal parts until the obtained leaf nodes are divided into eight equal parts.
  • the point is a 1 ⁇ 1 ⁇ 1 unit cube
  • the division is stopped, and arithmetic coding is performed on the points in the leaf nodes to generate a binary geometric bit stream, that is, a geometric code stream.
  • octree division is also required first, but different from octree-based geometric information encoding, this trisoup does not require point clouds to be divided into levels.
  • the geometry encoding is completed, and after the geometric information is reconstructed, color conversion is performed to convert the color information (ie, a type of attribute information) from the RGB color space to the YUV color space. Then, the point cloud is recolored with the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. Attribute encoding is mainly carried out for color information.
  • the distance-based predictive transform (Predictive Transform) that depends on the level of detail (Level of Detail, LOD) division, and the other is the same dependent
  • LOD level of detail
  • RAHT region adaptive hierarchical transform
  • FIG. 2 is a schematic diagram of a point cloud decoding framework.
  • the point cloud decoding framework shown in FIG. 2 can be applied to a point cloud decoder.
  • For the obtained binary code stream first independently decode the geometric bit stream and the attribute bit stream in the binary code stream.
  • the geometric information of the point cloud is obtained through arithmetic decoding-octree synthesis-surface fitting-reconstruction geometry-inverse coordinate transformation; when decoding the attribute bit stream, through arithmetic decoding-inverse coordinate transformation Quantization-LOD-based prediction transform or lifting inverse transform or RAHT-based inverse transform-inverse color transform to obtain the attribute information of the point cloud, and restore the 3D image model of the point cloud data to be encoded based on the geometric information and attribute information.
  • LOD division is mainly used in two methods, Predicting Transform and Lifting Transform, in point cloud attribute transformation.
  • the LOD division based on distance will be described in detail below.
  • the process of LOD division is after the point cloud geometric reconstruction, and the geometric coordinate information of the point cloud can be directly obtained at this time.
  • the process of dividing LOD can be applied to both the point cloud encoder and the point cloud decoder.
  • the LOD generation process is as follows:
  • the LOD layer is divided by continuous iteration.
  • the LOD generation process of the refinement level corresponding to the first iteration is as follows:
  • Figure 3 is a schematic diagram of a LOD generation process.
  • the point cloud includes 10 points such as P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, etc.
  • LOD division in this way, the order in the LOD0 set includes P4, P5, P0, P2, the order in the LOD1 set includes P4, P5, P0, P2, P3, P1, P6, and the order in the LOD2 set includes P4, P5, P0 , P2, P3, P1, P6, P7, P8, P9.
  • the LOD division scheme based on Morton code can reduce the computational complexity.
  • Morton coding is also called z-order code because its coding order is in the spatial z order.
  • the variable Pi represents the point in the input point cloud
  • the process of calculating the Morton code is described as follows. For the three-dimensional coordinates represented by d-bit binary numbers for each component, the three coordinate components are represented as follows:
  • the Morton code M starts from the highest bit for x, y, and z, and arranges x l , y l , z l to the lowest bit in turn.
  • the calculation formula of M is as follows:
  • D0 the threshold of the initial distance
  • the distance threshold ratio when the adjacent LOD layers are divided
  • I the index of all points
  • the process is as follows:
  • the initialized division distance threshold is D0;
  • L(k) saves the points belonging to the LOD of the kth layer
  • O(k) saves the point set with a higher level of refinement than the LODk layer.
  • the calculation process of L(k) and O(k) is as follows:
  • O(k) and L(k) are initialized to empty sets
  • each iteration is traversed in the index order of the points saved in I.
  • Each traversal will calculate the geometric distance from the current point to all points within a certain range in the set O(k), and based on the Morton code corresponding to the current point in I, the first search in the set O(k) is greater than the current point.
  • the index of the Morton code point corresponding to the point and then search in a search range SR1 of the index (here, SR1 represents the search range based on Morton code, which can be 8, 16, 64); if in this range If a point whose distance from the current point is less than the threshold is found, the current point is added to the set L(k), otherwise, the current point is added to the set O(k);
  • the nearest h predicted neighbors are searched in the set O(k) (in general, h can be set to 3). The process of finding the nearest neighbor is as follows:
  • the Morton code corresponding to the point is Mi
  • FIG 4 is a schematic diagram of another LOD generation process.
  • the point cloud includes 10 points such as P0, P1, P2, P3, P4, P5, P6, P7, P8, and P9.
  • the code is divided into LOD, firstly arranged in ascending order of Morton code, the order of these 10 points is P4, P1, P9, P5, P0, P6, P8, P2, P7, P3; then the nearest neighbor is searched, so , the LOD0 set still includes P4, P5, P0, P2 in order, the LOD1 set still includes P4, P5, P0, P2, P3, P1, P6 in order, and the LOD2 set still includes P4, P5, P0, P2, P3, P1, P6, P7, P8, P9.
  • the Lifting Transform mode For the Lifting Transform mode, first use the point cloud sorted according to the Morton code to construct the LOD, that is, according to the preset number of LOD layers, downsample the sorted points.
  • the points form a layer of LOD, and the sampling distance is from large to small until the entire LOD is constructed. Then, the points in the point cloud are searched for neighbor points in LOD order, and the weighted average of the attribute values of all neighbor points is used as the attribute prediction value, where the weight of each neighbor point is the geometric coordinates of the current point and the neighbor point of the current point.
  • the inverse of the square of the distance and finally subtract the predicted value of the attribute from the actual attribute value of the current point to obtain the residual value of the attribute.
  • the K nearest neighbor (k-Nearest Neighbor, KNN) algorithm can be used to find at most K nearest neighbor points for each point, then there are K+1
  • There are two prediction modes namely: taking the attribute values of the first, second, ..., the K-th nearest neighbor point as the prediction reference value, and taking the attribute weighted average of the K nearest neighbor points as the prediction reference value,
  • the weight of each nearest neighbor point is the reciprocal of the square Euclidean distance of the geometric coordinate between the current point and the nearest neighbor point of the current point, and then rate-distortion optimization is calculated for K+1 prediction reference values and corresponding modes.
  • optimization, RDO cost value, and take the attribute prediction value corresponding to the smallest cost value as the attribute prediction value of the current point.
  • the color prediction technique in the Predicting Transform mode applied to point cloud color coding can be implemented through the following process:
  • the prediction mode and the number of bits idxBits required to encode each prediction mode are shown in Table 1.
  • Predictive value idxBits 0 average 1 1 1st nearest point 2 2 2nd nearest point 3 3 3rd nearest point 3
  • the RDO technology can be used to optimize the rate-distortion selection of the four prediction modes, and the optimal prediction mode can be selected to predict the color information of the current point. Entropy encoding is performed.
  • predMode can take a value of 0-3.
  • the three nearest neighbor points P0, P5 and P4 of P2 are obtained, and the distance-based weighted average of P0, P5 and P4 can be predicted.
  • the variable index is set to 0.
  • the predictor index of the attribute value of the nearest neighbor P4 is set to 1.
  • the attribute value predictor index of the next neighbor points P5 and P0 are set to 2 and 3, respectively, as shown in Table 2. Show.
  • the utilization distortion optimization process selects the best predictor and then performs arithmetic coding on the selected predictor index (here, no encoding is required if the prediction mode of the current point is 0, if The three prediction modes 1, 2, and 3 selected by RDO are encoded into the attribute code stream).
  • Predictor index Predicted value 0 average 1 P4(1st nearest point) 2 P5( 2nd nearest point) 3 P0( 3rd nearest point)
  • the color prediction technique in the Predicting Transform mode applied to point cloud color coding can be implemented through the following process:
  • the RDO technology calculates a cost score for each prediction mode of the current point, and then selects the prediction mode with the smallest cost score, that is, the optimal prediction mode, as the attribute prediction mode of the current point.
  • the maximum difference maxDiff of the attributes of the neighbor point set of the current point is calculated.
  • the attribute value attrValue is subtracted from the predicted value attrPred and quantized to obtain the quantized residual attrResidualQuant.
  • R1 represents the attribute value of the first neighbor point on the R component
  • R2 represents the attribute value of the second neighbor point on the R component
  • R3 represents the attribute value of the third neighbor point on the R component
  • G1 represents the first neighbor point.
  • G2 represents the attribute value of the second neighbor point on the G component
  • G3 represents the attribute value of the third neighbor point on the G component
  • B1 represents the first neighbor point in The attribute value on the B component
  • B2 represents the attribute value of the second neighbor point on the B component
  • B3 represents the attribute value of the third neighbor point on the B component.
  • the attribute encoding process may include: generating a level of detail LOD (Level of Detail) by given the position information of the input point cloud, performing point cloud prediction according to the order of the LOD, and performing a prediction on the residual result calculated after the prediction (also It can be called residual value) for quantization, and arithmetic coding is performed on the residual value and the prediction mode to form an attribute code stream.
  • the attribute decoding process may include: by parsing the attribute code stream, obtaining the residual value of attribute information of the point in the point cloud, then obtaining the prediction mode, and then performing point cloud prediction, obtaining the attribute prediction value of the point cloud, and then obtaining the prediction mode.
  • the residual value of the attribute information of the point By inverse quantizing the residual value of the attribute information of the point, the residual value of the attribute information of the point after inverse quantization is obtained; adding the above predicted value to obtain the reconstructed value of the attribute information of the point to obtain the decoded point cloud.
  • Attribute encoding includes not only the encoding of color information, but also the encoding of other attribute information such as reflectance information.
  • the color information and reflectance information of each point in the point cloud to be encoded are encoded separately. For example, the color information (color) in the attribute is encoded first, the color attribute code stream is formed after the color information is encoded, and then the reflectance information (reflectance) is encoded, and the reflectance attribute code stream is formed after the encoding is completed.
  • the prediction mode (predMode) of the reflectance information will default to the prediction mode left over from the color attribute, that is, the reflectance information will use the color by default Predictive patterns of information.
  • the characteristics of the color attribute and the reflectance attribute are different.
  • the prediction mode that directly inherits the color attribute predicts the reflectance information, which will cause logical errors, which may lead to deviations in the prediction results, resulting in low prediction accuracy and reduced encoding and decoding performance. .
  • An embodiment of the present disclosure provides a decoding method, as shown in FIG. 5 , the method includes:
  • Step 501 Determine the neighbor point of the current point in the point cloud to be encoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • Step 502 when the first parameter is less than a threshold, use a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • Step 503 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • Step 504 encoding the quantized residual value.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • the first prediction mode includes at least one of: using a weighted average of attributes of neighbor points as a prediction value; and using an attribute value of one of the neighbor points as a prediction value.
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • the property value of one of the neighbor points is used as the predicted value, including:
  • the M neighbor points include at least some neighbor points among the first P neighbor points of the current point, P ⁇ M.
  • the neighbor points of the current point include R neighbor points, and the value of R is a positive integer greater than 1.
  • M may take a value of 3, 4, or 5.
  • N may take a value of 1, 2, or 3.
  • R may take a value of 3, 4, or 5.
  • the method further includes:
  • the rate-distortion optimization RDO is used to select the second prediction mode
  • the identification information of the second prediction mode is written into the code stream, where the identification information is used to indicate the prediction mode.
  • the second prediction mode includes at least one of the following:
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • the weighted average of the attributes of the S neighbor points is used as the prediction value, the value of S is a positive integer greater than 1, and the corresponding identification information is a preset index value and has global uniqueness.
  • the property value of one of the neighbor points is used as the predicted value, including:
  • the attribute value of the T-th neighbor point of the current point is used as the predicted value, T is a positive integer, and the corresponding identification information is the index value of the T-th neighbor point.
  • the S neighbor points include at least some of the first U neighbor points of the current point, U ⁇ S.
  • S may take a value of 3, 4, or 5.
  • T may take a value of 1, 2, or 3.
  • U may take a value of 3, 4, or 5.
  • An exemplary embodiment of the present disclosure provides an encoding method, as shown in FIG. 6 , including:
  • Step 601 Determine the neighbor point of the current point in the point cloud to be encoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • the neighbor points of the current point in the point cloud to be encoded refer to already encoded neighbor points of the current point in the point cloud to be encoded.
  • the neighbor points of the current point may include R neighbor points, where R is a positive integer greater than 1.
  • R can take a value of 3, 4, or 5.
  • the neighbor points of the current point include 3 neighbor points, and the 3 neighbor points may refer to the 3 neighbor points closest to the current point based on the distance from near to far, or any of the Z neighbor points closest to the current point.
  • 3 neighbor points, Z>3, Z is a positive integer.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • the first attribute includes reflectivity information
  • the first parameter is a difference between a maximum value and a minimum value in reconstructed values of the reflectivity information of neighbor points.
  • the first parameter maxDiff max(Re)-min(Re), where max(Re) represents the maximum value in the reconstructed values of the reflectivity information of the neighbor point, and min(Re) represents the maximum value in the reflectivity information of the neighbor point. minimum value.
  • the neighbor points of the current point include 3 neighbor points, and the first parameter is the difference between the maximum value and the minimum value in the reconstructed values of the reflectivity information of the 3 neighbor points.
  • the first attribute includes color information
  • the first parameter is a difference between a maximum value and a minimum value in reconstructed values of color information of neighbor points.
  • the first parameter maxDiff can be calculated by:
  • maxDiff max(max(R)-min(R), max(G)-min(G), max(B)-min(B)), where max(R) indicates that the neighbor point is reconstructed on the R component
  • max(R) indicates that the neighbor point is reconstructed on the R component
  • min(R) represents the minimum value of the reconstructed value of the neighbor point on the R component
  • max(G) represents the maximum value of the reconstructed value of the neighbor point on the G component
  • min(G) represents the neighbor point in the The minimum value of the reconstructed value on the G component
  • max(B) represents the maximum value of the reconstructed value of the neighbor point on the B component
  • min(B) represents the minimum value of the neighbor point's reconstructed value on the B component.
  • the neighbor points of the current point include 3 neighbor points
  • the first parameter is the difference between the maximum value and the minimum value in the reconstructed values of the color information of the 3 neighbor points, that is, the first parameter is that the 3 neighbor points are in The maximum difference value on the R component, the maximum difference value on the G component, and the maximum difference value on the B component.
  • Step 602 judging whether the first time parameter is less than a threshold
  • the threshold may be preset.
  • a threshold corresponding to the color information may be preset, and when the first attribute is color information, it is determined whether the first parameter is smaller than the threshold of the color information.
  • a threshold value corresponding to the reflectivity information may be preset, and when the first attribute is the reflectivity information, it is determined whether the first parameter is smaller than the threshold value of the reflectivity information.
  • Step 603 using a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • the first prediction mode includes at least one of the following: using a weighted average of attributes of neighbor points as a prediction value; and using an attribute value of one of the neighbor points as a prediction value.
  • the first prediction mode may be set in advance to use a weighted average of neighbor point attributes as a prediction value.
  • the first prediction mode may be set in advance to use an attribute value of one of the neighbor points as a prediction value.
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • M is a positive integer greater than 1.
  • M can take a value of 3, 4, or 5.
  • the weighted average of the attributes of 3 neighbor points can be used as the predicted value.
  • the M neighbor points include at least some of the first P neighbor points of the current point, P ⁇ M.
  • P can take a value of 5
  • M can take a value of 3
  • 3 neighbor points can be selected from the first 5 neighbor points of the current point.
  • the top P neighbor points of the current point refer to the top P neighbor points from the current point based on the distance from near to far, where P is a positive integer.
  • the M neighbor points may select neighbor points of the current point for which the first parameter is calculated.
  • the neighbor point of the current point for which the first parameter is calculated may select 3 neighbor points, and the M neighbor points may also select the 3 neighbor points.
  • the M neighbor points may also select the 3 neighbor points. For example, to calculate the neighbor points of the current point of the first parameter, select the 3 neighbor points closest to the current point, and also use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the M neighbor points may select points among the neighbor points of the current point for calculating the first parameter or points among the neighbor points that are not the current point for calculating the first parameter, such as neighbors of the current point for calculating the first parameter
  • a point can choose 5 neighbor points
  • M neighbor points can choose 3 neighbor points.
  • the 3 neighbor points may be 3 of the 5 neighbor points, or the 3 neighbor points may not be among the 5 neighbor points, or some of the 3 neighbor points may be the 5 neighbor points point in .
  • to calculate the neighbor points of the current point of the first parameter select the 5 neighbor points closest to the current point, and use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the weight of each neighbor point may be the inverse of the squared Euclidean distance between the current point and the neighbor point.
  • using the attribute value of one of the neighbor points as the predicted value includes: using the attribute value of the Nth neighbor point of the current point as the predicted value, where N is a positive integer.
  • N can take a value of 1, 2, or 3.
  • the Nth neighbor point refers to the Nth neighbor point closest to the current point from near to far.
  • the attribute value of the 1st neighbor point closest to the current point can be used as the predicted value, and the attribute value can be Rebuild value.
  • the attribute value of the second neighbor point closest to the current point can be used as the predicted value.
  • the attribute value of the third neighbor point closest to the current point can be used as the predicted value.
  • the user may preset the first prediction mode of the codec, for example, the user may preset the first prediction mode of the encoder to use the weighted average of attributes of M neighbor points as the prediction value. For another example, the user may preset the first prediction mode of the encoder to use the attribute value of the Nth neighbor point of the current point as the prediction value.
  • the first modes preset by the codec end are the same. In another example, the first modes preset by the codec end are different.
  • the first prediction mode may further include: using an average value of neighbor points as a prediction value. For example, the average value of the attribute values of the selected three neighbor points is taken as the predicted value of the current point.
  • the first prediction mode may further include: a value obtained by performing a mathematical operation on the attribute value of the neighbor point as a prediction value.
  • the mathematical operation refers to any other mathematical operation method except weighted average and average.
  • one of multiple prediction modes may be selected in advance and set as the first prediction mode of the encoding end.
  • the multiple prediction modes may be determined according to the neighbor points of the current point for which the first parameter is calculated,
  • the multiple prediction modes may include: a prediction mode that uses the weighted average of the attributes of the three neighbor points as the prediction value, and a prediction mode that uses the first, second, and third neighbor points respectively.
  • the attribute value of the second neighbor point (2st nearest point) is directly used as the prediction value
  • Each prediction mode may correspond to an identifier (which may be an index number). In this example, the index numbers of the four prediction modes, as shown in Table
  • prediction mode Predictive value 1 1st nearest point 2 2nd nearest point 3 3rd nearest point
  • the first prediction mode may be preset at the encoding end and the decoding end, for example, the default initialization value of the prediction mode at both ends of the encoding and decoding ends is set to the identifier corresponding to the first prediction mode.
  • the default initialization value at both ends of the codec can be set to 1.
  • the encoding end and the decoding end may set the same first prediction mode. In another example, the encoding end and the decoding end may set different first prediction modes.
  • Step 604 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • Step 605 encoding the quantized residual value
  • Step 606 using rate-distortion optimized RDO to select a second prediction mode; using the second prediction mode to determine the predicted value of the first attribute of the current point;
  • the second prediction mode may be selected using rate-distortion optimized RDO from among a variety of alternative prediction modes.
  • the multiple alternative prediction modes may include: prediction modes in which the weighted average of the attributes of neighbor points is used as the prediction value, and D prediction modes, where D is a positive integer.
  • the D types of prediction modes include one or more of the following: based on the distance from near to far, the prediction using the attribute values of the first, second, ..., E-th neighbor points of the current point as the predicted value respectively The modes are the 1st to Eth prediction modes, and E is a positive integer.
  • the multiple prediction modes may include: a prediction mode in which the weighted average of the attributes of neighbor points is used as the prediction value, the attribute value of the first neighbor point closest to the current point is used as the prediction mode for the prediction value, and the first neighbor point closest to the current point is the prediction mode.
  • the attribute values of the two neighbor points are used as the prediction mode of the predicted value, and the attribute value of the third neighbor point closest to the current point is used as the prediction mode of the predicted value.
  • the multiple alternative prediction modes may include: F prediction modes, where F is a positive integer.
  • the F prediction modes include one or more of the following: based on the distance from near to far, take the attribute values of the first, second, ..., G-th neighbor points of the current point as the prediction value respectively.
  • the modes are the first to G-th prediction modes, and G is a positive integer.
  • the multiple alternative prediction modes may include: a prediction mode in which the attribute value of the first neighbor point closest to the current point is used as the prediction value, and the attribute value of the second neighbor point closest to the current point is used as the prediction mode.
  • the prediction mode of the value, the attribute value of the third neighbor point closest to the current point is used as the prediction mode of the predicted value.
  • RDO is employed to select the second prediction mode from a variety of alternative prediction modes, including:
  • the prediction mode with the smallest cost score is selected as the second prediction mode.
  • the second prediction mode includes at least one of the following:
  • the using the weighted average of attributes of neighbor points as the predicted value includes: using the weighted average of attributes of S neighbor points as the predicted value, where S is a positive integer greater than 1.
  • S can take a value of 3, 4, or 5.
  • the weighted average of the attributes of 3 neighbor points can be used as the predicted value.
  • the S neighbor points include at least some of the first U neighbor points of the current point, U ⁇ S.
  • U can take a value of 5
  • S can take a value of 3
  • 3 neighbor points can be selected from the first 5 neighbor points of the current point.
  • the top U neighbors of the current point refer to the top U neighbors from the current point based on the distance from near to far, where U is a positive integer.
  • the S neighbors may select neighbors of the current point for which the first parameter is calculated.
  • the neighbor point of the current point for which the first parameter is calculated may select 3 neighbor points, and the S neighbor points may also select the 3 neighbor points.
  • the S neighbor points may also select the 3 neighbor points. For example, to calculate the neighbor points of the current point of the first parameter, select the 3 neighbor points closest to the current point, and also use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the S neighbor points may select points among the neighbor points of the current point for calculating the first parameter or points among the neighbor points that are not the current point for calculating the first parameter, such as neighbors of the current point for calculating the first parameter
  • a point can choose 5 neighbor points
  • S neighbor points can choose 3 neighbor points.
  • the 3 neighbor points may be 3 of the 5 neighbor points, or the 3 neighbor points may not be among the 5 neighbor points, or some of the 3 neighbor points may be the 5 neighbor points point in .
  • select the 5 neighbor points closest to the current point select the 5 neighbor points closest to the current point, and use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the weight of each neighbor point may be the inverse of the squared Euclidean distance between the current point and the neighbor point.
  • the weight of each neighbor point may also be other values, such as a preset coefficient or the like.
  • the S neighbor points and the M neighbor points may select the same neighbor point, for example, the weighted average of attributes of the three neighbor points closest to the current point may be selected as the predicted value of the current point.
  • the S neighbor points and the M neighbor points may also select different neighbor points.
  • the M neighbor points select the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value of the current point
  • S Each neighbor point selects the weighted average of the attributes of the 5th to 7th neighbor points closest to the current point as the predicted value of the current point.
  • the S neighbor points and the points of the M neighbor points may be partially identical.
  • M neighbors select the weighted average of attributes of the 3 closest neighbors to the current point as the predicted value of the current point
  • S neighbors select the weighted average of the attributes of the 2nd to 4th neighbors closest to the current point as the weighted average of the attributes of the current point. Predicted value for the current point.
  • using the attribute value of one of the neighbor points as the predicted value includes: using the attribute value of the T-th neighbor point of the current point as the predicted value, where T is a positive integer.
  • T can take a value of 1, 2, or 3.
  • the T-th neighbor point refers to the T-th neighbor point that is closest to the current point from near to far.
  • the attribute value of the 1st neighbor point closest to the current point can be used as the predicted value, and the attribute value can be Rebuild value.
  • the attribute value of the second neighbor point closest to the current point can be used as the predicted value.
  • the attribute value of the third neighbor point closest to the current point can be used as the predicted value.
  • the second prediction mode may be selected using rate-distortion optimized RDO from among a variety of alternative prediction modes.
  • the multiple candidate prediction modes may be determined according to the neighbor points of the current point for which the first parameter is calculated,
  • the multiple alternative prediction modes may include: a prediction mode that uses the weighted average of the attributes of the three neighbor points as a prediction value, and a prediction mode that uses the first, second, The attribute value of the third neighbor point is used as the prediction mode of the prediction value.
  • the second prediction mode can be selected from the four prediction modes.
  • Step 607 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • the residual value attrResidualQuant of the first attribute of the current point can be calculated by:
  • AttrPredValue is the attribute prediction value
  • attrValue is the attribute value (original value) of the current point
  • the quantization step size Qstep is calculated from the quantization parameter Qp.
  • Step 608 Encode the quantized residual value, and write the identification information of the second prediction mode into the code stream, where the identification information is used to indicate the prediction mode.
  • each prediction mode may correspond to an identifier.
  • the identifier of the prediction mode that uses the weighted average value of neighbor point attributes as the prediction value may be set as a preset index value with global uniqueness, for example, the prediction index value may be 0.
  • the identifier of the prediction mode using the attribute value of the T-th neighbor point of the current point as the prediction value may be set as the index value of the T-th neighbor point in advance. For example, the identification of the prediction mode that uses the attribute value of the T-th neighbor point of the current point as the prediction value is set to T.
  • the identifier of the prediction mode that uses the attribute value of the T-th neighbor point of the current point as the predicted value is set to 1
  • the identifier of the prediction mode that uses the attribute value of the second neighbor point of the current point as the predicted value is set.
  • the flag of the prediction mode that uses the attribute value of the 3rd neighbor point of the current point as the prediction value is set to 3.
  • the T-th neighbor point of the current point refers to the T-th neighbor point closest to the current point based on the distance from near to far.
  • the identification information may be an identification bit, which is used to indicate prediction mode information, such as an index number of the prediction mode.
  • An embodiment of the present disclosure provides a decoding method, as shown in FIG. 7 , including:
  • Step 701 Determine the neighbor point of the current point in the point cloud to be decoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • Step 702 when the first parameter is less than a threshold, use a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • Step 703 parsing the code stream to obtain the residual value of the first attribute of the current point
  • Step 704 Calculate the sum of the residual value after inverse quantization and the predicted value, as a reconstructed value of the first attribute of the current point.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • the first prediction mode includes at least one of: using a weighted average of attributes of neighbor points as a prediction value; and using an attribute value of one of the neighbor points as a prediction value.
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • the property value of one of the neighbor points is used as the predicted value, including:
  • the neighbor points of the current point include R neighbor points, and the value of R is a positive integer greater than 1.
  • M may take a value of 3, 4, or 5.
  • N may take a value of 1, 2, or 3.
  • R may take a value of 3, 4, or 5.
  • the method further includes:
  • a prediction value of the first attribute of the current point is determined using the prediction mode indicated by the identification information.
  • a weighted average value of attributes of neighbor points is used as the predicted value of the current point
  • the attribute value of one of the neighbor points is used as the predicted value of the current point
  • using the weighted average value of neighbor point attributes as the predicted value of the current point including:
  • using the attribute value of one of the neighbor points as the predicted value of the current point includes:
  • the attribute value of the T-th neighbor point is used as the predicted value of the current point, where T is the index value corresponding to the identification information.
  • An exemplary embodiment of the present disclosure provides a decoding method, as shown in FIG. 8 , the method includes:
  • Step 801 Determine the neighbor point of the current point in the point cloud to be decoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • the neighbor points of the current point in the point cloud to be decoded refer to already decoded neighbor points of the current point in the point cloud to be decoded.
  • the neighbor points of the current point may include R neighbor points, where R is a positive integer greater than 1. In one example, R can take a value of 3, 4, or 5.
  • the neighbor points of the current point include 3 neighbor points, and the 3 neighbor points may refer to the 3 neighbor points closest to the current point based on the distance from near to far, or any of the Z neighbor points closest to the current point. 3 neighbor points, Z>3.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • the first attribute includes reflectivity information
  • the first parameter is a difference between a maximum value and a minimum value in reconstructed values of reflectivity information of neighbor points.
  • the first parameter maxDiff max(Re)-min(Re), where max(Re) represents the maximum value in the reconstructed values of the reflectivity information of the neighbor point, and min(Re) represents the maximum value in the reflectivity information of the neighbor point. minimum value.
  • the neighbor points of the current point include 3 neighbor points, and the first parameter is the difference between the maximum value and the minimum value in the reconstructed values of the reflectivity information of the 3 neighbor points.
  • the first attribute includes color information
  • the first parameter is a difference between a maximum value and a minimum value in reconstructed values of color information of neighbor points.
  • the first parameter maxDiff can be calculated by:
  • maxDiff max(max(R)-min(R), max(G)-min(G), max(B)-min(B)), where max(R) indicates that the neighbor point is reconstructed on the R component
  • max(R) indicates that the neighbor point is reconstructed on the R component
  • min(R) represents the minimum value of the reconstructed value of the neighbor point on the R component
  • max(G) represents the maximum value of the reconstructed value of the neighbor point on the G component
  • min(G) represents the neighbor point in the The minimum value of the reconstructed value on the G component
  • max(B) represents the maximum value of the reconstructed value of the neighbor point on the B component
  • min(B) represents the minimum value of the neighbor point's reconstructed value on the B component.
  • the neighbor points of the current point include 3 neighbor points
  • the first parameter is the difference between the maximum value and the minimum value in the reconstructed values of the color information of the 3 neighbor points, that is, the first parameter is that the 3 neighbor points are in The maximum difference value on the R component, the maximum difference value on the G component, and the maximum difference value on the B component.
  • Step 802 judging whether the first time parameter is less than a threshold
  • the threshold may be preset.
  • a threshold corresponding to the color information may be preset, and when the first attribute is color information, it is determined whether the first parameter is smaller than the threshold of the color information.
  • a threshold value corresponding to the reflectivity information may be preset, and when the first attribute is the reflectivity information, it is determined whether the first parameter is smaller than the threshold value of the reflectivity information.
  • step 803 When the first parameter is less than the threshold, go to step 803, and when the first parameter is not less than the threshold, go to step 804:
  • Step 803 using a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • the first prediction mode includes at least one of the following: using a weighted average of attributes of neighbor points as a prediction value; and using an attribute value of one of the neighbor points as a prediction value.
  • the first prediction mode may be set in advance to use a weighted average of neighbor point attributes as a prediction value.
  • the first prediction mode may be set in advance to use an attribute value of one of the neighbor points as a prediction value.
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • M is a positive integer greater than 1.
  • M can take a value of 3, 4, or 5.
  • the weighted average of the attributes of 3 neighbor points can be used as the predicted value.
  • the M neighbor points include at least some of the first P neighbor points of the current point, P ⁇ M.
  • P can take a value of 5
  • M can take a value of 3
  • 3 neighbor points can be selected from the first 5 neighbor points of the current point.
  • the top P neighbor points of the current point refer to the top P neighbor points from the current point based on the distance from near to far.
  • the M neighbor points may select neighbor points of the current point for which the first parameter is calculated.
  • the neighbor point of the current point for which the first parameter is calculated may select 3 neighbor points, and the M neighbor points may also select the 3 neighbor points.
  • the M neighbor points may also select the 3 neighbor points. For example, to calculate the neighbor points of the current point of the first parameter, select the 3 neighbor points closest to the current point, and also use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the M neighbor points may select points among the neighbor points of the current point for calculating the first parameter or points among the neighbor points that are not the current point for calculating the first parameter, such as neighbors of the current point for calculating the first parameter
  • a point can choose 5 neighbor points
  • M neighbor points can choose 3 neighbor points.
  • the 3 neighbor points may be 3 of the 5 neighbor points, or the 3 neighbor points may not be among the 5 neighbor points, or some of the 3 neighbor points may be the 5 neighbor points point in .
  • to calculate the neighbor points of the current point of the first parameter select the 5 neighbor points closest to the current point, and use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the weight of each neighbor point may be the inverse of the squared Euclidean distance between the current point and the neighbor point.
  • the weight of each neighbor point may also be other values, such as a preset coefficient or the like.
  • using the attribute value of one of the neighbor points as the predicted value includes: using the attribute value of the Nth neighbor point of the current point as the predicted value, where N is a positive integer.
  • N can take a value of 1, 2, or 3.
  • the Nth neighbor point refers to the Nth neighbor point closest to the current point from near to far.
  • the attribute value of the 1st neighbor point closest to the current point can be used as the predicted value, and the attribute value can be Rebuild value.
  • the attribute value of the second neighbor point closest to the current point can be used as the predicted value.
  • the attribute value of the third neighbor point closest to the current point can be used as the predicted value.
  • the user may preset the first prediction mode of the codec, for example, the user may preset the first prediction mode of the decoder to use the weighted average of attributes of M neighbor points as the prediction value.
  • the user may preset the first prediction mode of the encoder to use the attribute value of the Nth neighbor point of the current point as the prediction value.
  • the first modes preset by the codec end are the same. In another example, the first modes preset by the codec end are different.
  • the first prediction mode may further include: using an average value of neighbor points as a prediction value. For example, the average value of the attribute values of the selected three neighbor points is taken as the predicted value of the current point.
  • the first prediction mode may further include: a value obtained by performing a mathematical operation on the attribute value of the neighbor point as a prediction value.
  • the mathematical operation refers to any other mathematical operation method except weighted average and average.
  • Step 804 Parse the code stream to obtain identification information of the prediction mode; use the prediction mode indicated by the identification information to determine the predicted value of the first attribute of the current point;
  • a weighted average of attributes of neighbor points is used as the predicted value of the current point.
  • the indicator of the prediction mode that uses the weighted average of the attributes of the neighbor points as the prediction value is set as the index value 0 in advance, then when the identification information of the prediction mode obtained by analysis is 0, the prediction mode indicated by the identification information 0 is used to The attribute weighted average as the prediction mode of the predicted value determines the predicted value for the current point.
  • the prediction mode that uses the weighted average of neighbor point attributes as the prediction value of the current point indicated by the identification information includes:
  • S can take a value of 3, 4, or 5.
  • the weighted average of the attributes of 3 neighbor points can be used as the predicted value.
  • the S neighbor points include at least some of the first U neighbor points of the current point, U ⁇ S.
  • U can take a value of 5
  • S can take a value of 3
  • 3 neighbor points can be selected from the first 5 neighbor points of the current point.
  • the top U neighbors of the current point refer to the top U neighbors from the current point based on the distance from near to far.
  • the S neighbors may select neighbors of the current point for which the first parameter is calculated.
  • the neighbor point of the current point for which the first parameter is calculated may select 3 neighbor points, and the S neighbor points may also select the 3 neighbor points.
  • the S neighbor points may also select the 3 neighbor points. For example, to calculate the neighbor points of the current point of the first parameter, select the 3 neighbor points closest to the current point, and also use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the S neighbor points may select points among the neighbor points of the current point for calculating the first parameter or points among the neighbor points that are not the current point for calculating the first parameter, such as neighbors of the current point for calculating the first parameter
  • a point can choose 5 neighbor points
  • S neighbor points can choose 3 neighbor points.
  • the 3 neighbor points may be 3 of the 5 neighbor points, or the 3 neighbor points may not be among the 5 neighbor points, or some of the 3 neighbor points may be the 5 neighbor points point in .
  • select the 5 neighbor points closest to the current point select the 5 neighbor points closest to the current point, and use the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value.
  • the weight of each neighbor point may be the inverse of the squared Euclidean distance between the current point and the neighbor point.
  • the weight of each neighbor point may also be other values, such as a preset coefficient or the like.
  • the S neighbor points and the M neighbor points may select the same neighbor point, for example, the weighted average of attributes of the three neighbor points closest to the current point may be selected as the predicted value of the current point.
  • the S neighbor points and the M neighbor points may also select different neighbor points.
  • the M neighbor points select the weighted average of the attributes of the 3 neighbor points closest to the current point as the predicted value of the current point
  • S Each neighbor point selects the weighted average of the attributes of the 5th to 7th neighbor points closest to the current point as the predicted value of the current point.
  • the S neighbor points and the points of the M neighbor points may be partially identical.
  • M neighbors select the weighted average of attributes of the 3 closest neighbors to the current point as the predicted value of the current point
  • S neighbors select the weighted average of the attributes of the 2nd to 4th neighbors closest to the current point as the weighted average of the attributes of the current point. Predicted value for the current point.
  • an attribute value of one of the neighbor points is used as the predicted value of the current point.
  • using the attribute value of one of the neighbor points as the predicted value includes: using the attribute value of the T-th neighbor point of the current point as the predicted value, where T is a positive integer.
  • T can take a value of 1, 2, or 3.
  • the T-th neighbor point refers to the T-th neighbor point that is closest to the current point from near to far.
  • the index value of 1 can be preset to indicate that the attribute value of the first neighbor point of the current point is used as the predicted value.
  • the index value 2 indicates that the attribute value of the second neighbor point of the current point is used as the predicted value
  • the index value 1 indicates that the attribute value of the third neighbor point of the current point is used as the predicted value, when the identification information obtained by parsing is 1, Then use the attribute value of the first neighbor point of the current point as the predicted value of the current point, when the identification information obtained by analysis is 2, then use the attribute value of the second neighbor point of the current point as the predicted value of the current point, when If the identification information obtained by parsing is 3, the attribute value of the third neighbor point of the current point is used as the predicted value of the current point.
  • the 1st, 2nd, and 3rd neighbor points refer to the 1st, 2nd, and 3rd neighbor points closest to the current point based on the distance from near to far.
  • Step 805 Parse the code stream to obtain the residual value of the first attribute of the current point; calculate the sum of the residual value after inverse quantization and the predicted value, as the first attribute of the current point reconstruction value.
  • An embodiment of the present disclosure provides an encoding method, as shown in FIG. 9 , including:
  • Step 901 Determine the neighbor point of the current point in the point cloud to be encoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • Step 902 when the first parameter is less than a threshold, use a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • Step 903 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • Step 904 Encode the quantized residual value, and write the identification information of the first prediction mode into the code stream, where the identification information is used to indicate the prediction mode.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • the first prediction mode includes at least one of: using a weighted average of attributes of neighbor points as a prediction value; and using an attribute value of one of the neighbor points as a prediction value.
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • the property value of one of the neighbor points is used as the predicted value, including:
  • the M neighbor points include at least some neighbor points among the first P neighbor points of the current point, P ⁇ M.
  • the neighbor points of the current point include R neighbor points, and the value of R is a positive integer greater than 1.
  • M may take a value of 3, 4, or 5.
  • N may take a value of 1, 2, or 3.
  • R may take a value of 3, 4, or 5.
  • the method further includes:
  • the rate-distortion optimization RDO is used to select the second prediction mode
  • the identification information of the second prediction mode is written into the code stream, where the identification information is used to indicate the prediction mode.
  • the second prediction mode includes at least one of the following:
  • the use of the weighted average of neighbor point attributes as the predicted value includes:
  • the weighted average of the attributes of the S neighbor points is used as the prediction value, the value of S is a positive integer greater than 1, and the corresponding identification information is a preset index value and has global uniqueness.
  • the property value of one of the neighbor points is used as the predicted value, including:
  • the attribute value of the T-th neighbor point of the current point is used as the predicted value, T is a positive integer, and the corresponding identification information is the index value of the T-th neighbor point.
  • the S neighbor points include at least some of the first U neighbor points of the current point, U ⁇ S.
  • S may be 3, 4, or 5.
  • T may take a value of 1, 2, or 3.
  • U may take a value of 3, 4, or 5.
  • An exemplary embodiment of the present disclosure provides an encoding method, as shown in FIG. 10 , including:
  • Step 1001 Determine the neighbor point of the current point in the point cloud to be encoded, and calculate a first parameter according to the neighbor point; the first parameter is the difference between the maximum value and the minimum value in the reconstruction value of the first attribute of the neighbor point value;
  • the neighbor point of the current point and the related content of the first parameter are the same as in the above-mentioned embodiment, and are not repeated here.
  • Step 1002 judging whether the first parameter is less than a threshold
  • the threshold may be preset.
  • a threshold corresponding to the color information may be preset, and when the first attribute is color information, it is determined whether the first parameter is smaller than the threshold of the color information.
  • a threshold value corresponding to the reflectivity information may be preset, and when the first attribute is the reflectivity information, it is determined whether the first parameter is smaller than the threshold value of the reflectivity information.
  • Step 1003 using a preset first prediction mode to determine the predicted value of the first attribute of the current point;
  • the content related to the first prediction mode is the same as that in the above-mentioned embodiment, and details are not repeated here.
  • the content related to the second prediction mode is the same as that in the above-mentioned embodiment, and details are not repeated here.
  • Step 1004 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • Step 1005 encode the quantized residual value; write the identification information of the first prediction mode into a code stream, and the identification information is used to indicate the prediction mode;
  • Step 1006 using rate-distortion optimization RDO to select a second prediction mode; using the second prediction mode to determine the prediction value of the first attribute of the current point;
  • Step 1007 calculating the difference between the original value of the first attribute of the current point and the predicted value, as the residual value of the first attribute of the current point;
  • Step 1008 Encode the quantized residual value; write the identification information of the second prediction mode into the code stream, where the identification information is used to indicate the prediction mode.
  • An embodiment of the present disclosure provides a decoding method. As shown in FIG. 11 , the method includes:
  • Step 1101 parse the code stream to obtain the identification information of the prediction mode of the current point in the point cloud to be decoded
  • Step 1102 using the prediction mode indicated by the identification information to determine the prediction value of the first attribute of the current point;
  • Step 1103 parse the code stream to obtain the residual value of the first attribute of the current point
  • Step 1104 Calculate the sum of the residual value after inverse quantization and the predicted value, as a reconstructed value of the first attribute of the current point.
  • the first attribute includes at least one of the following: reflectance information, color information.
  • a weighted average value of attributes of neighbor points is used as the predicted value of the current point
  • an attribute value of one of the neighbor points is used as the predicted value of the current point.
  • using the weighted average value of neighbor point attributes as the predicted value of the current point including:
  • using the attribute value of one of the neighbor points as the predicted value of the current point includes:
  • the attribute value of the Y-th neighbor point is used as the predicted value of the current point, and Y is the index value corresponding to the identification information. Y is a positive integer.
  • the content related to the prediction value using the attribute value of one of the neighbor points as the prediction value is the same as that in the above-mentioned embodiment, and details are not repeated here.
  • An exemplary embodiment of the present disclosure provides an encoding method, including:
  • Step 1 determine the adjacent points of the current point, and calculate the maxDiff according to the adjacent points
  • the pattern index numbers of the adjacent points are written into the code stream (that is, corresponding to pattern index numbers 1, 2, and 3 whose Predictor index in Table 1 is not equal to 0).
  • neighbors used to compute maxDiff (“neighbor set A”), neighbors used for weighted average when computing "maxDiff ⁇ threshold” (“neighbor set B”) .
  • the RDO determines the adjacent candidate points ("adjacent point set C") used in the process of determining the predicted value of the current point.
  • An exemplary embodiment of the present disclosure provides a decoding method, including:
  • Step 1 determine the adjacent points of the current point
  • Step 2 parsing the code stream to obtain the mode index serial number of the current point
  • the mode index number refers to the identification information of the prediction mode.
  • Step 3 when the pattern index number indicates the use of "the prediction mode of the weighted average of the attribute values of neighbor points", the adjacent point is used to calculate the predicted value of the current point; "predicted value”, the decoder sets the predicted value of the current point to be equal to the attribute value of the adjacent point indicated by the mode index number.
  • the pattern index number index indicates the point closest to the current point at the index th of the adjacent points according to the Euclidean distance).
  • An exemplary embodiment of the present disclosure provides a decoding method, including:
  • Step 1 parsing the code stream to obtain the mode index serial number of the current point
  • Step 2 when the mode index number indicates the use of the "prediction mode of the weighted average of the attribute values of neighbor points", determine the adjacent points of the current point, and use the adjacent points to calculate the predicted value of the current point; otherwise,
  • Step 3 when the mode index sequence number indicates that "the attribute value of the neighbor point determines the predicted value of the current point", the adjacent point of the current point is determined, and the decoder sets the predicted value of the current point to be equal to that indicated by the mode index sequence number.
  • the attribute value of the adjacent point For example: the pattern index number index indicates the point closest to the current point at the index th of the adjacent points according to the Euclidean distance).
  • the prediction mode is determined first, and then the adjacent points are acquired according to the prediction mode, so as to avoid the acquired adjacent points from being unused, thereby avoiding wasting resources.
  • An exemplary embodiment of the present disclosure provides an encoding method, including:
  • Step 1 determine the adjacent points of the current point, and calculate the maxDiff according to the adjacent points
  • Step 2 when maxDiff ⁇ threshold, use the "prediction mode of weighted average of attribute values of neighbor points" to determine the prediction value of the current point.
  • An exemplary embodiment of the present disclosure provides a decoding method, including:
  • Step 1 determine the adjacent points of the current point, and calculate the value of the first parameter (that is, maxDiff);
  • Step 2 when the Y value of maxDiff is a positive integer.
  • the "prediction mode of the weighted average of the attribute values of neighbor points” is used to calculate the predicted value of the current point (that is, the mode index number corresponding to the Predictor index in Table 1 equal to 0); here, the decoder is based on the existing decoding information. To deduce the mode information of the current point, it is not necessary to parse the code stream to obtain the mode information; otherwise;
  • Step 3 when the value of maxDiff is greater than the threshold, the decoder parses the code stream to obtain the mode index number; the decoder sets the predicted value of the current point equal to the attribute value of the adjacent point indicated by the mode index number.
  • An embodiment of the present disclosure further provides an encoder, as shown in FIG. 12 , comprising: a processor and a memory storing a computer program executable on the processor, wherein the processor executes the computer program When implementing the encoding method described in any of the above.
  • the processing flow of the encoder includes: calculating the maximum difference maxDiff (ie, the first parameter) of its attribute values for the neighbor point set of the current point, and judging whether maxDiff ⁇ threshold, when maxDiff ⁇ threshold , select the preset first prediction mode preMode to calculate the predicted value of point cloud attributes, otherwise execute RDO to select the second prediction mode to calculate the predicted value of point cloud attributes, and calculate the residual error of point cloud attributes.
  • maxDiff ie, the first parameter
  • the coding prediction mode (that is, the identification information of the prediction mode is written into the code stream, for example, when the selected second prediction mode is prediction mode 1, preMode1 is written. code stream) and the encoded residual, and write the encoded code word into the attribute code stream.
  • the first prediction mode preMode may be one of the prediction modes 0, 1, 2, and 3 shown in Table 1, and the RDO may select one of the prediction modes 1, 2, and 3 as the second prediction mode. .
  • An embodiment of the present disclosure further provides a decoder, as shown in FIG. 14 , comprising: a processor and a memory storing a computer program executable on the processor, wherein the processor executes the computer program When the decoding method described in any of the above is implemented.
  • the processing flow of the decoder includes: obtaining an attribute code stream, decoding residuals, calculating the maximum difference maxDiff (ie, the first parameter) of attribute values for the neighbor point set of the current point, and determining Whether maxDiff ⁇ threshold, when maxDiff ⁇ threshold, select the preset first prediction mode preMode to calculate the point cloud attribute prediction value, otherwise decode the prediction mode (that is, parse and obtain the identification information of the prediction mode), use the prediction mode preMode ( That is, the prediction mode indicated by the identification information) calculates the predicted value of the point cloud attribute, and calculates the reconstructed attribute value of the point cloud according to the residual error and the predicted value, so as to reconstruct the point cloud.
  • the first prediction mode preMode may be one of the prediction modes 0, 1, 2, and 3 shown in Table 1.
  • An embodiment of the present disclosure further provides a terminal, including: a point cloud codec, where the point cloud codec includes the foregoing encoder and/or the foregoing decoder.
  • An embodiment of the present disclosure further provides an encoding and decoding system, including: a point cloud codec, where the point cloud codec includes the above-mentioned encoder and/or the above-mentioned decoder.
  • the technical solutions provided by the embodiments of the present disclosure avoid the occurrence of logical errors in the encoding and decoding process, resulting in the problem that the prediction result may be biased and the encoding and decoding performance is not high.
  • the test result obtained by testing the test sequence in the cat3-fused test set required by MPEG under the CTC CY test condition is the end-to-end rate percentage ( End to End BD-AttrRate%) is -0.1%, indicating that the coding and decoding performance can be effectively improved by using the technical solutions provided by the embodiments of the present disclosure.
  • FIG. 16 is a schematic frame diagram of an encoding device.
  • the encoding device 1 may include a processor 101 , a memory 103 and a bus system 104 .
  • the processor 101 and the memory 103 are connected through a bus system 104, the memory 103 is used to store instructions, and the processor 101 is used to execute any prediction method, encoding method or decoding method described in this disclosure.
  • the processor 101 may be a central processing unit (CPU), and the processor 101 may also be other general-purpose processors, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory 103 may comprise a ROM device or a RAM device. Any other suitable type of storage device may also be used as memory 103 .
  • Memory 103 may include code and data accessed by processor 101 using bus 104 .
  • bus system 104 may also include a power bus, a control bus, a status signal bus, and the like.
  • Various buses may be designated as bus system 104 in the figure.
  • the encoding device 1 may also include one or more output devices, such as a display 102 .
  • the display 102 may be a touch-sensitive display that incorporates a display with a tactile sense operable to sense touch input.
  • Display 102 may be connected to processor 101 via bus 104 .
  • the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit.
  • Computer-readable media may include computer-readable storage media corresponding to tangible media, such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, eg, according to a communication protocol.
  • a computer-readable medium may generally correspond to a non-transitory, tangible computer-readable storage medium or a communication medium such as a signal or carrier wave.
  • Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementing the techniques described in this disclosure.
  • the computer program product may comprise a computer-readable medium.
  • such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or may be used to store instructions or data Any other medium in the form of a structure that stores the desired program code and that can be accessed by a computer.
  • any connection is also termed a computer-readable medium if, for example, a connection is made from a website, server, or other remote sources transmit instructions, coaxial cable, fiber optic cable, twine, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.
  • computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory (transitory) media, but are instead directed to non-transitory, tangible storage media.
  • magnetic disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, or Blu-ray disks, etc., where disks typically reproduce data magnetically, while optical disks use lasers to Optically reproduce data. Combinations of the above should also be included within the scope of computer-readable media.
  • processors such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs) field programmable logic arrays (FPGAs) or other equivalent integrated or discrete logic circuits.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable logic arrays
  • processors may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein.
  • the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated in a combined codec. Also, the techniques may be fully implemented in one or more circuits or logic elements.
  • the technical solutions of the embodiments of the present disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (eg, a chip set).
  • IC integrated circuit
  • Various components, modules, or units are described in the disclosed embodiments to emphasize functional aspects of devices configured to perform the described techniques, but do not necessarily require realization by different hardware units. Rather, as described above, the various units may be combined in codec hardware units or provided by a collection of interoperating hardware units (including one or more processors as described above) in conjunction with suitable software and/or firmware.
  • Such software may be distributed on computer-readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
  • computer storage media includes both volatile and nonvolatile implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data flexible, removable and non-removable media.
  • Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices, or may Any other medium used to store desired information and which can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and can include any information delivery media, as is well known to those of ordinary skill in the art .

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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

编解码方法及相关设备、存储介质,其中一种编码方法包括:确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;对量化后的所述残差值进行编码。

Description

编解码方法及相关设备、存储介质 技术领域
本公开实施例涉及但不限于编解码技术,尤其涉及一种编解码方法及相关设备、存储介质。
背景技术
三维点云数据已经开始普及到各个领域,例如虚拟/增强现实、机器人、地理信息系统、医学领域等。随着三维点云数据的发展和三维点云数据扫描设备(比如激光雷达,Kinect体感相机等)的基准度和速率的不断提升,人们可以准确地获取物体表面的大量点云数据,往往一个场景下的点云数据就可以包括几十万个点。数量如此庞大的点云数据也给计算机的存储和传输带来了挑战。
点云压缩主要分为几何压缩和属性压缩,其中针对属性压缩,国际标准组织(Moving Picture Experts Group,MGEP所提供的测试平台TMC13(Test Model for Category1&3)中描述的点云属性压缩框架包括基于多细节层次LOD(Level of Detail)的升降变换(LiftingTransform)策略,以及基于LOD的预测变换(Predicting Transform)策略等。还有AVS(Audio Video coding Standard)点云压缩工作组所提供的测试平台PCEM中描述的点云属性压缩方法,等等。
但是点云属性压缩方案仍有很多可改进的余地。
发明概述
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
第一方面,本公开实施例提供了一种编码方法,包括:
确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
对量化后的所述残差值进行编码。
第二方面,本公开实施例提供了一种解码方法,包括:
确定待解码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
解析码流,获得所述当前点的第一属性的残差值;
计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
第三方面,本公开实施例还提供了另一种编码方法,包括:
一种编码方法,包括:
确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
对量化后的所述残差值进行编码;
将所述第一预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
第四方面,本公开实施例还提供了另一种解码方法,包括:
解析码流,获得待解码点云中当前点的预测模式的标识信息;
使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值;
解析码流,获得所述当前点的第一属性的残差值;
计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
附图用来提供对本公开实施例的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为一种点云编码的流程示意图;
图2为一种点云解码的流程示意图;
图3为一种LOD生成过程的示意图;
图4为另一种LOD生成过程的示意图;
图5为本公开一实施例编码方法的流程示意图;
图6为本公开一示例性实施例编码方法的流程示意图;
图7为本公开实施例解码方法的流程示意图;
图8为本公开一示例性实施例解码方法的流程示意图;
图9为本公开一实施例编码方法的流程示意图;
图10为本公开一示例性实施例编码方法的流程示意图;
图11为本公开一实施例解码方法的流程示意图;
图12为本公开实施例一种编码器的框架示意图;
图13为本公开一示例编码器处理流程的示意图;
图14为本公开实施例一种解码器的框架示意图;
图15为本公开一示例解码器处理流程的示意图;
图16为一种编码设备的框架示意图。
详述
本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。
本公开中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。
在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于 按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
图1为一种点云编码的框架示意图,如图1所示的点云编码的框架,可以应用于点云编码器。针对待编码点云中每个点的几何信息和属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个bounding box(包围盒)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于三角面片集(triangle soup,trisoup)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到block(子块)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex(交点),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的几何信息在对点云的属性编码时使用。
在属性编码过程中,几何编码完成,对几何信息进行重建后,进行颜色转换,将颜色信息(即属性信息的一种)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。属性编码主要针对颜色信息进行,在颜色信息编码过程中,包括三种变换方法,一是依赖于细节层次(Level of Detail,LOD)划分的基于距离的预测变换(Predictive Transform),二是同样依赖于细节层次(Level of Detail,LOD)划分的基于距离的提升变换,LOD,三是直接进行区域自适应分层变换(Regionadaptive Hierarchal Transform,RAHT)的变换,后两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将量化后的系数进行算数编码,生成二进制的属性比特流,即属性码流。
图2为一种点云解码的框架示意图,如图2所示的点云解码的框架,可以应用于点云解码器。针对所获取的二进制码流,首先对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-逆坐标转换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的预测变换或提升逆变换或者基于RAHT的逆变换-逆颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
在如上述图1所示的点云编码框架中,LOD划分主要用于点云属性变换中的预测变换(Predicting Transform)和提升变换(Lifting Transform)两种方式。下面将对基于距离进行LOD划分进行详细介绍。作为一种示例,LOD划分是通过一组距离阈值(用d l表示,l=0,1,...,N-1),将输入的点云划分为不同的细化级别(用R l表示,l=0,1,...,N-1),即将点云中的点划分到不同的集合R l中。其中,该距离阈值可以是自定义的值。距离阈值需要满足两个条件:d l<d l-1以及d l-1=0。在一示例中,LOD划分的过程是在点云几何重建之后,这时候点云的几何坐标信息是可以直接获取的。划分LOD的过程可以同时应用在点云编码器和点云解码器,生成LOD过程如下:
(1)、将点云中所有的点置于“未访问过”的点集,并且初始化“访问过”的点集(用V表示)为空集;
(2)、通过不断迭代来划分LOD层,第1次迭代所对应的细化级别LOD生成过程如下所示:
a、通过迭代遍历点云中所有的点;
b、如果当前的点已经遍历过,则忽略该点;
c、否则,分别计算该点到集合V中每个点的距离,记录其中最近的距离为D;
d、如果距离D大于或等于阈值,则将该点添加到细化级别R 0和集合V中;
e、重复a至d的过程,直至点云中的至少一个点全部被遍历过;
(3)、针对第l个LOD集合,即LODl是通过将细化级别R 0、R 1、…、R l中的点进行合并得到;
(4)、通过重复(1)至(3)的过程进行不断地迭代,直至所有的LOD层生成或者所有的点都被遍历过。
图3为一种LOD生成过程的示意图,如图3所示,点云中包括有P0、P1、P2、P3、P4、P5、P6、P7、P8、P9等10个点,基于距离阈值进行LOD划分,如此,LOD0集合中顺序包括有P4、P5、P0、P2,LOD1集合中顺序包括有P4、P5、P0、P2、P3、P1、P6,LOD2集合中顺序包括有P4、P5、P0、P2、P3、P1、P6、P7、P8、P9。
基于莫顿码进行LOD划分的方案,与原始遍历搜索全部的点进行LOD划分的方案相比,基于莫顿码进行LOD划分的方案可以降低计算复杂度。
莫顿编码也叫z-order code,因为其编码顺序按照空间z序。首先以变量P i表示输入点云中的点,变量M i为与P i相关的莫顿码,其中,i=1,2,...,N。计算莫顿码的过程描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标,其三个坐标分量的表示通过以下实现:
Figure PCTCN2021087918-appb-000001
其中,x l,y l,z l∈{0,1}分别是x,y,z的最高位(l=1)到最低位(l=d)对应的二进制数值。莫顿码M是对x,y,z从最高位开始,依次交叉排列x l,y l,z l到最低位,M的计算公式如下所示:
Figure PCTCN2021087918-appb-000002
其中,m l'∈{0,1}分别是M的最高位(l'=1)到最低位(l'=3d)的值。在得到点云中每个点的莫顿码M后,将点云中的点按照莫顿码由小到大的顺序进行排列。
进一步地,D0(初始距离的阈值)和ρ(相邻LOD层划分时的距离阈值比)分别为初始参数,并且ρ>1。假定I表示所有点的索引,在第k次迭代时,LODk中的点会从LOD0到第LODk-1层中查找最近邻居,即距离最近的点;k=1,2,...,N-1。这里,N为LOD划分的总层数;而且当k=0时,第0次迭代时,LOD0中的点会直接在LOD0中查找最近邻居。示例性的,过程如下:
(1)、初始化划分距离阈值为D0;
(2)、在第k次迭代时,L(k)保存属于第k层LOD中的点,O(k)保存比LODk层更高细化级别的点集。其中,L(k)和O(k)的计算过程如下:
首先,O(k)和L(k)被初始化为空集;
其次,每一次迭代按照I中所保存点的索引顺序进行遍历。每一次遍历都会计算当前点到集合O(k)中一定范围内所有点的几何距离,而且基于I中当前点所对应的莫顿码,在集合O(k)中进行查找第一个大于当前点所对应莫顿码点的索引,然后在该索引的一个搜索范围SR1内进行查找(这里,SR1表示基于莫顿码的搜索范围,可以取值为8,16,64);如果在该范围内查找到与当前点的距离小于阈值的点,就将当前点加入到集合L(k)中,否则,则将当前点加入到集合O(k)中;
(3)、在每一次迭代的过程中,集合L(k)和O(k)分别进行计算,并且O(k)中的点会被用来预测集合L(k)中点。假定集合R(k)=L(k)¥L(k-1),即R(k)表示LOD(k-1)与LOD(k)集合相差部分的点集。针对位于集合R(k)中的点会在集合O(k)中进行查找最近的h个预测邻居(一般来说,h可以设置为3)。查找最近邻居的过程如下:
a、对于集合R(k)中的点Pi,该点所对应的莫顿码为Mi;
b、在集合O(k)查找第一个大于当前点Pi所对应的莫顿码Mi的点的索引j;
c、基于索引j在集合O(k)中的一个搜索范围[j-SR2,j+SR2]内查找当前点Pi的最近邻居(这里,SR2表示一个搜索范围,可以取值为8、16、32、64);
(4)、通过重复(1)至(3)的过程不断地迭代,直至I中所有的点全部被遍历。
图4为另一种LOD生成过程的示意图,如图4所示,点云中包括有P0、P1、P2、P3、P4、P5、P6、P7、P8、P9等10个点,基于莫顿码进行LOD划分,首先按照莫顿码的升序进行排列,这10个点的顺序为P4、P1、P9、P5、P0、P6、P8、P2、P7、P3;然后进行最近邻居的查找,如此,LOD0集合中仍然顺序包括有P4、P5、P0、P2,LOD1集合中仍然顺序包括有P4、P5、P0、P2、P3、P1、P6,LOD2集合中仍然顺序包括有P4、P5、P0、P2、P3、P1、P6、P7、P8、P9。
对于提升变换(Lifting Transform)模式,首先用已按照莫顿码排序的点云构建LOD,即根据预设好的LOD层数,对已经排好序的点进行下采样,每采样一次后已经得到的点构成一层LOD,采样距离由大到小,直至整个LOD构建完成。然后以LOD顺序对点云中的点寻找邻居点,以所有邻居点属性值的加权平均作为属性预测值,其中每个邻居点的权重是当前点与该当前点的邻居点的几何坐标欧氏距离平方的倒数,最后用当前点的实际属性值减去属性预测值得到属性残差值。
在一示例中,对于提升变换(Lifting Transform)模式,在构建完LOD之后,可以按照K最近邻(k-NearestNeighbor,KNN)算法为每一个点寻找最多K个最邻居点,则共有K+1种预测模式,分别是:以第一个、第二个、……、第K个最邻居点的属性值作为预测参考值,以及以K个最邻居点的属性加权平均值作为预测参考值,其中每个最邻居点的权重是当前点与该当前点的最邻居点的几何坐标欧氏距离平方的倒数,然后对此K+1个预测参考值及对应模式计算率失真优化(Rate-distortion optimization,RDO)代价值,将其中最小代价值的对应属性预测值作为当前点的属性预测值。
在一示例中,应用于点云颜色编码的预测变换Predicting Transform模式中的颜色预测技术可以通过以下流程实现:
1、基于每个点的欧式距离生成LOD,基于LOD的顺序得到当前点的3个最近邻,将其作为当前点的邻居点集;
2、根据邻居点集的颜色信息对当前点的颜色进行预测,共有4种预测模式。
在一示例中,预测模式0,即predMode=0(predMode赋值为0),以邻居点与当前点欧式距 离的倒数作为权重,对邻居点集中3个邻居点的颜色加权平均,得到当前点的颜色预测值。预测模式1,即predMode=1,直接采用第1邻居点(1st nearest point)的颜色信息作为预测值。预测模式2,即predMode=2,直接采用第2邻居点(2st nearest point)的颜色信息作为预测值。预测模式3,即predMode=3,直接采用第3邻居点(3st nearest point)的颜色信息作为预测值。预测模式及编码每种预测模式所需比特数idxBits如表1所示。
表1:
预测模式 预测值 idxBits
0 average 1
1 1st nearest point 2
2 2nd nearest point 3
3 3rd nearest point 3
计算得到4种预测模式的颜色预测值之后,可以采用RDO技术对4种预测模式进行率失真优化选择,选择最优预测模式来预测当前点的颜色信息,采用算术编码器对最优预测模式信息进行熵编码。
在一示例中,在预测点云中的当前点时,基于生成LOD时的近邻点搜索结果创建多个预测变量候选项,即predMode可以取值0~3。如图3所示,当使用预测方式编码P2的属性值时,得到P2的3个最近邻点位点P0,P5 and P4,可以将P0,P5 and P4,的基于距离的加权平均值的预测变量索引设为0,然后,将最近邻邻居P4属性值的预测变量索引设为1,此外,将下一个近邻点P5 and P0的属性值预测变量索引分别设为2和3,如表2所示。在创建预测变量候选项之后,利用率失真优化过程(RDO)选择最佳预测变量,然后对所选的预测变量索引进行算术编码(在这里,若当前点的预测模式为0不需要编码,若是通过RDO选择后的1,2,3三种预测模式则编码到属性码流)。
表2:
Predictor index Predicted value
0 average
1 P4(1 st nearest point)
2 P5(2 nd nearest point)
3 P0(3 rd nearest point)
在一示例中,应用于点云颜色编码的预测变换Predicting Transform模式中的颜色预测技术可以通过以下流程实现:
对当前点的邻居点集计算其属性的最大差异maxDiff,将maxDiff与设定的阈值进行比较,如果小于阈值则使用邻居点属性值加权平均的预测模式;否则对该点使用RDO技术选择最优预测模式;
RDO技术会对当前点的每种预测模式计算得到一个代价分数,然后选取代价分数最小的预测模式,即最优预测模式作为当前点的属性预测模式。
例如,基于表1所示的4种预测模式,首先,计算当前点邻居点集的属性最大差异maxDiff,过程如下:首先计算邻居点在R(红色)分量上的最大差异,即MAX(R)–MIN(R),G(绿色)、B(蓝色)分量同理,然后选择R、G、B分量中的最大差异值作为maxDiff,即maxDiff= max(max(R1,R2,R3)-min(R1,R2,R3),max(G1,G2,G3)-min(G1,G2,G3),max(B1,B2,B3)-min(B1,B2,B3));将maxDiff与阈值比较,若小于阈值则当前点的预测模式设为0,即predMode=0;若大于等于阈值,则对当前点使用RDO技术,计算出每种预测模式对应的属性预测值attrPred,令当前点的属性值attrValue与预测值attrPred相减并量化得到量化残差attrResidualQuant,RDO技术中的失真D为attrResidualQuant三个分量的和,即D=attrResidualQuant[0]+attrResidualQuant[1]+attrResidualQuant[2];计算编码每种预测模式所需的比特数idxBits作为RDO技术中的码率R,即R=idxBits,则每种预测模式的代价分数可表示为D+lambda x R,其中lambda=0.01x Qstep,选择代价分数最小的预测模式作为当前点的最优预测模式。其中,R1表示第1个邻居点在R分量上的属性值;R2表示第2个邻居点在R分量上的属性值;R3表示第3个邻居点在R分量上的属性值;G1表示第1个邻居点在G分量上的属性值;G2表示第2个邻居点在G分量上的属性值;G3表示第3个邻居点在G分量上的属性值;B1表示第1个邻居点在B分量上的属性值;B2表示第2个邻居点在B分量上的属性值;B3表示第3个邻居点在B分量上的属性值。
在一示例中,属性编码过程可以包括:通过给定输入点云的位置信息生成细节级别LOD(Level of Detail),依据LOD的顺序,进行点云预测,对预测后计算的残差结果(也可以称为残差值)进行量化,并对残差值和预测模式进行算术编码形成属性码流。在一示例中,属性解码过程可以包括:通过解析属性码流,获取点云中点的属性信息的残差值,然后获取预测模式,继而进行点云预测,得到点云的属性预测值,然后通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;与上述预测值相加得到点的属性信息的重建值,以得到解码点云。
属性编码不仅包括对颜色信息的编码,还包括对反射率信息等其他属性信息的编码。在属性编码过程中,针对待编码点云中每个点的颜色信息和反射率信息是分开进行编码的。例如,先编码属性中的颜色信息(color),颜色信息编码完成后形成颜色属性码流,接着再编码反射率信息(reflectance),编码完成后形成反射率属性码流。在对反射率信息进行预测的过程中,当不使用RDO选择最优预测模式时,反射率信息的预测模式(predMode)会默认为颜色属性遗留下来的预测模式,即反射率信息会默认使用颜色信息的预测模式。但是颜色属性和反射率属性的特性不同,直接继承颜色属性的预测模式对反射率信息进行预测,会产生逻辑错误,导致预测结果也可能存在偏差,导致预测准确度不高,降低了编解码性能。
本公开实施例提供了一种解码方法,如图5所示,该方法包括:
步骤501,确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
步骤502,当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
步骤503,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
步骤504,对量化后的所述残差值进行编码。
在一些示例性实施例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一些示例性实施例中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例性实施例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
在一些示例性实施例中,使用邻居点之一的属性值作为预测值,包括:
使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
在一些示例性实施例中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。
在一些示例性实施例中,所述当前点的邻居点包括R个邻居点R取值为大于1的正整数。
在一些示例性实施例中,M可以取值为3、4或者5。
在一些示例性实施例中,N可以取值为1、2或3。
在一些示例性实施例中,R可以取值为3、4或5。
在一些示例性实施例中,该方法还包括:
当所述第一参数不小于阈值时,采用率失真优化RDO选择第二预测模式;
使用所述第二预测模式确定所述当前点的第一属性的预测值;
将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
在一些示例性实施例中,所述第二预测模式包括以下至少一种:
使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例性实施例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数,对应的标识信息为预设索引值且具有全局唯一性。
在一些示例性实施例中,使用邻居点之一的属性值作为预测值,包括:
使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数,对应的标识信息是第T个邻居点的索引值。
在一些示例性实施例中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。
在一些示例性实施例中,S可以取值为3、4或5。
在一些示例性实施例中,T可以取值为1、2或3。
在一些示例性实施例中,U可以取值为3、4或5。
本公开一示例性实施例提供了一种编码方法,如图6所示,包括:
步骤601,确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
在一些示例中,待编码点云中当前点的邻居点是指待编码点云中当前点的已经编码的邻居点。
在一些示例中,当前点的邻居点可以包括R个邻居点,R取值为大于1的正整数。在一示例中,R可以取值为3、4或5。例如当前点的邻居点包括3个邻居点,该3个邻居点可以是指基于距离从近到远,距离当前点最近的3个邻居点,或者距离当前点最近的Z个邻居点中的任意3个邻居点,Z>3,Z为正整数。
在一些示例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一示例中,所述第一属性包括反射率信息,所述第一参数为邻居点的反射率信息的重建值中最 大值与最小值的差值。例如,该第一参数maxDiff=max(Re)-min(Re),其中,max(Re)表示邻居点的反射率信息重建值中的最大值,min(Re)表示邻居点反射率信息中的最小值。例如,当前点的邻居点包括3个邻居点,第一参数为该3个邻居点的反射率信息的重建值中最大值与最小值的差值。
在一示例中,所述第一属性包括颜色信息,所述第一参数为邻居点的颜色信息的重建值中最大值与最小值的差值。例如,可以通过以下方式计算第一参数maxDiff:
计算邻居点在R分量上的最大差异值,即max(R)-min(R);
计算邻居点在G分量上的最大差异值,即max(G)-min(G);
计算邻居点在B分量上的最大差异值,即max(B)-min(B);
选择R、G、B分量上的最大差异值中的最大值作为maxDiff;
即,maxDiff=max(max(R)-min(R),max(G)-min(G),max(B)-min(B)),其中max(R)表示邻居点在R分量上重建值中的最大值,min(R)表示邻居点在R分量上重建值中的最小值,max(G)表示邻居点在G分量上重建值中的最大值,min(G)表示邻居点在G分量上重建值中的最小值,max(B)表示邻居点在B分量上重建值中的最大值,min(B)表示邻居点在B分量上重建值中的最小值。例如,当前点的邻居点包括3个邻居点,第一参数为该3个邻居点的颜色信息的重建值中最大值与最小值的差值,也就是第一参数为该3个邻居点在R分量上的最大差异值,在G分量上的最大差异值,在B分量上的最大差异值这三者数值中的最大值。
步骤602,判断所述第一次参数是否小于阈值;
在一些示例中,该阈值可以预先设定。例如,可以预先设定颜色信息对应的阈值,当第一属性为颜色信息时,判断第一参数是否小于颜色信息的阈值。又例如,可以预先设定反射率信息对应的阈值,当第一属性为反射率信息时,判断第一参数是否小于反射率信息的阈值。
当所述第一参数小于阈值时,执行步骤603至步骤605,当所述第一参数不小于阈值时,执行步骤606至步骤608:
步骤603,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
在一些示例中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。例如,可以预先将第一预测模式设置为使用邻居点属性加权平均值作为预测值。又例如,可以预先将第一预测模式设置为使用邻居点之一的属性值作为预测值。
在一些示例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。在一示例中,M可以取值为3、4或者5。例如可以使用3个邻居点属性加权平均值作为预测值。
在一些示例中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。例如,P可以取值为5,M可以取值为3,可以从当前点的前5个邻居点中选择3个邻居点。当前点的前P个邻居点是指基于距离从近到远,距离当前点的前P个邻居点,P为正整数。
在一些示例中,M个邻居点可以选取计算第一参数的当前点的邻居点。例如计算第一参数的当前点的邻居点可以选择3个邻居点,M个邻居点也可以选择该3个邻居点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的3个邻居点,也使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,M个邻居点可以选取计算第一参数的当前点的邻居点中的点或者不是计算第一参数的当前点的邻居点中的点,例如计算第一参数的当前点的邻居点可以选择5个邻居点,M个邻居点 可以选择3个邻居点。该3个邻居点可以是该5个邻居点中的3个,或者该3个邻居点可以不是该5个邻居点中的点,或者该3个邻居点的部分点可以是该5个邻居点中的点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的5个邻居点,使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,每个邻居点的权重可以是当前点与该邻居点的欧式距离平方的倒数。
在一些示例中,使用邻居点之一的属性值作为预测值,包括:使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。在一示例中,N可以取值为1、2或3。第N个邻居点是指距离从近到远,距离当前点最近的的第N个邻居点,例如可以使用距离当前点最近的第1个邻居点的属性值作为预测值,该属性值可以是重建值。又例如,可以使用距离当前点最近的第2个邻居点的属性值作为预测值。又例如,可以使用距离当前点最近的第3个邻居点的属性值作为预测值。
在一些示例中,用户可以预先设置编解码的第一预测模式,例如用户可以预先设置编码端的第一预测模式为使用M个邻居点属性加权平均值作为预测值。又例如用户可以预先设置编码端的第一预测模式为使用当前点的第N个邻居点的属性值作为预测值。在一示例中,编解码端预先设置的第一模式相同。在另一示例中,编解码端预先设置的第一模式不同。
在一些示例中,所述第一预测模式还可以包括:使用邻居点的平均值作为预测值。例如,将选取的3个邻居点的属性值的平均值作为当前点的预测值。
在一些示例中,所述第一预测模式还可以包括:将对邻居点的属性值进行数学运算后得到的值作为预测值。该数学运算是指除了加权平均和平均之外的其他任意一种数学运算方法。
在一些示例中,可以预先从多种预测模式中选择一种设置为编码端的第一预测模式。例如,该多种预测模式可以根据计算第一参数的当前点的邻居点确定,
比如,当前点的邻居点为3个,则该多种预测模式可以包括:使用该3个邻居点属性加权平均值作为预测值的预测模式,以及分别将第1个、第2个、第3个邻居点的属性值作为预测值的预测模式,例如表1中所示,包括预测模式0,即predMode=0(predMode赋值为0),以邻居点与当前点欧式距离平房的倒数作为权重,对3个邻居点的属性值加权平均,作为当前点的预测值;预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)的属性值作为预测值。例如,以图3中点P2为例,选择点P2的3个邻居点P0,P5 and P4,可以从4种预测模式中选择一种设置为第一预测模式,该4种预测模式包括:预测模式0,即predMode=0(predMode赋值为0),即以邻居点与当前点欧式距离平方的倒数作为权重,对P0,P5 and P4的属性加权平均,得到值作为当前点的预测值;预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)即P4的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)即P5的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)即P0的属性值作为预测值。每一种预测模式可以对应一种标识(可以是索引号),本示例中,4种预测模式的索引号,如表1所示,分别为0,1,2,3。
又比如,当前点的邻居点为3个,则该多种预测模式可以包括:分别将第1个、第2个、第3个邻居点的属性值作为预测值的预测模式,例如表3中所示,包括预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)的属性值作为预测值;预测模式3,即predMode=3, 直接采用第3个邻居点(3st nearest point)的属性值作为预测值。例如,以图3中点P2为例,选择点P2的3个邻居点为点P0,P5 and P4,从3种预测模式中选择一种设置为第一预测模式,该三种预测模式包括:预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)即P4的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)即P5的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)即P0的属性值作为预测值。
表3:
预测模式 预测值
1 1st nearest point
2 2nd nearest point
3 3rd nearest point
在一示例中,可以在编码端和解码端预先设置第一预测模式,例如将编解码两端预测模式默认初始化值设置为第一预测模式对应的标识。例如,当将表3中的预测模式1设定为第一预测模式时,可以将编解码两端默认初始化值设置为1。在一示例中,编码端和解码端可以设置相同的第一预测模式。在另一示例中,编码端和解码端可以设置不同的第一预测模式。
步骤604,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
步骤605,对量化后的所述残差值进行编码;
步骤606,采用率失真优化RDO选择第二预测模式;使用所述第二预测模式确定所述当前点的第一属性的预测值;
在一些示例中,可以从多种备选的预测模式中,采用率失真优化RDO选择第二预测模式。例如该多种备选的预测模式可以包括:邻居点属性加权平均值作为预测值的预测模式,以及D种预测模式,D为正整数。该D种预测模式包括以下一种或者多种:基于距离由近到远,分别将以当前点的第1个、第2个、……、第E个邻居点的属性值作为预测值的预测模式作为第1种至第E种预测模式,E为正整数。例如,该多种预测模式可以包括:邻居点属性加权平均值作为预测值的预测模式,距离当前点最近的第1个的邻居点的属性值作为预测值的预测模式,距离当前点最近的第2个的邻居点的属性值作为预测值的预测模式,距离当前点最近的第3个的邻居点的属性值作为预测值的预测模式。又例如,该多种备选的预测模式可以包括:F种预测模式,F为正整数。该F种预测模式包括以下一种或者多种:基于距离由近到远,分别将以当前点的第1个、第2个、……、第G个邻居点的属性值作为预测值的预测模式作为第1种至第G种预测模式,G为正整数。例如,该多种备选的预测模式可以包括:距离当前点最近的第1个的邻居点的属性值作为预测值的预测模式,距离当前点最近的第2个的邻居点的属性值作为预测值的预测模式,距离当前点最近的第3个的邻居点的属性值作为预测值的预测模式。
在一些示例中,采用RDO从多种备选的预测模式中选择第二预测模式,包括:
针对多种备选的预测模式中的每一种预测模式分别执行:
计算出该种预测模式对应的预测值attrPred,将当前点的反射率值attrValue与预测值attrPred相减并量化得到量化残差attrResidualQuant,将该量化残差attrResidualQuant作为RDO技术中的失真D,即D=attrResidualQuant;
计算编码该种预测模式所需的比特数idxBits,将该比特数idxBits作为RDO技术中的码率R,即R=idxBits;
计算该种预测模式的代价分数,其中,代价分数=D+lambda x R,lambda=0.01 x Qstep,Qstep为量化步长;
选择代价分数最小的预测模式作为第二预测模式。
在一些示例中,所述第二预测模式包括以下至少一种:
使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例中,所述使用邻居点属性加权平均值作为预测值,包括:使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数。
在一示例中,S可以取值为3、4或者5。例如可以使用3个邻居点属性加权平均值作为预测值。
在一些示例中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。例如,U可以取值为5,S可以取值为3,可以从当前点的前5个邻居点中选择3个邻居点。当前点的前U个邻居点是指基于距离从近到远,距离当前点的前U个邻居点,U为正整数。
在一些示例中,S个邻居点可以选取计算第一参数的当前点的邻居点。例如计算第一参数的当前点的邻居点可以选择3个邻居点,S个邻居点也可以选择该3个邻居点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的3个邻居点,也使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,S个邻居点可以选取计算第一参数的当前点的邻居点中的点或者不是计算第一参数的当前点的邻居点中的点,例如计算第一参数的当前点的邻居点可以选择5个邻居点,S个邻居点可以选择3个邻居点。该3个邻居点可以是该5个邻居点中的3个,或者该3个邻居点可以不是该5个邻居点中的点,或者该3个邻居点的部分点可以是该5个邻居点中的点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的5个邻居点,使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,每个邻居点的权重可以是当前点与该邻居点的欧式距离平方的倒数。
在一些示例中,每个邻居点的权重还可以是其他值,例如可以是预先设置的系数等。
在一示例中,S个邻居点与M个邻居点可以选取相同的邻居点,例如可以都选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值。
在一示例中,S个邻居点与M个邻居点也可以选取不相同的邻居点,例如M个邻居点选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值,S个邻居点选择距离当前点最近的第5个至第7个邻居点的属性加权平均作为当前点的预测值。
在一示例中,S个邻居点与M个邻居点中的点可以部分相同。例如M个邻居点选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值,S个邻居点选择距离当前点最近的第2个至第4个邻居点的属性加权平均作为当前点的预测值。
在一些示例中,使用邻居点之一的属性值作为预测值,包括:使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数。在一示例中,T可以取值为1、2或3。第T个邻居点是指距离从近到远,距离当前点最近的的第T个邻居点,例如可以使用距离当前点最近的第1个邻居点的属性值作为预测值,该属性值可以是重建值。又例如,可以使用距离当前点最近的第2个邻居点的属性值作 为预测值。又例如,可以使用距离当前点最近的第3个邻居点的属性值作为预测值。
在一些示例中,可以从多种备选的预测模式中,采用率失真优化RDO选择第二预测模式。例如,该多种备选预测模式可以根据计算第一参数的当前点的邻居点确定,
比如,当前点的邻居点为3个,则该多种备选预测模式可以包括:使用该3个邻居点属性加权平均值作为预测值的预测模式,以及分别将第1个、第2个、第3个邻居点的属性值作为预测值的预测模式,例如表1中所示,包括预测模式0,即predMode=0(predMode赋值为0),以邻居点与当前点欧式距离平房的倒数作为权重,对3个邻居点的属性值加权平均,作为当前点的预测值;预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)的属性值作为预测值。例如,以图3中点P2为例,选择点P2的3个邻居点P0,P5 and P4,可以从4种预测模式中选择第二预测模式,该4种预测模式包括:预测模式0,即predMode=0(predMode赋值为0),即以邻居点与当前点欧式距离平方的倒数作为权重,对P0,P5 and P4的属性加权平均,得到值作为当前点的预测值;预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)即P4的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)即P5的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)即P0的属性值作为预测值。每一种预测模式可以对应一种标识(该标识信息可以是索引号),本示例中,4种预测模式的索引号,如表1所示,分别为0,1,2,3。
又比如,当前点的邻居点为3个,则该多种备选的预测模式可以包括:分别将第1个、第2个、第3个邻居点的属性值作为预测值的预测模式,例如表3中所示,包括预测模式1,即predMode=1,直接采用第1个邻居点(1st nearest point)的属性值作为预测值;预测模式2,即predMode=2,直接采用第2个邻居点(2st nearest point)的属性值作为预测值;预测模式3,即predMode=3,直接采用第3个邻居点(3st nearest point)的属性值作为预测值。
步骤607,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
在一些示例中,可以通过以下方式计算当前点的第一属性的残差值attrResidualQuant:
Figure PCTCN2021087918-appb-000003
其中,attrPredValue为属性预测值,attrValue为当前点的属性值(原始值),量化步长Qstep由量化参数Qp计算得到。
步骤608,对量化后的所述残差值进行编码,以及将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
在一些示例中,每一种预测模式可以对应一种标识。在一示例中,可以预先将使用邻居点属性加权平均值作为预测值的预测模式的标识设置为预设索引值且具有全局唯一性,例如该预测索引值可以为0。在另一示例中,可以预先将使用当前点的第T个邻居点的属性值作为预测值的预测模式的标识设置为该第T个邻居点的索引值。例如,将使用当前点的第T个邻居点的属性值作为预测值的预测模式的标识设置为T。又例如,将使用当前点的第T个邻居点的属性值作为预测值的预测模式的标识设置为1,将使用当前点的第2个邻居点的属性值作为预测值的预测模式的标识设置为2,将使用当前 点的第3个邻居点的属性值作为预测值的预测模式的标识设置为3。当前点的第T个邻居点是指基于距离由近到远,距离当前点最近的第T个邻居点。
在一些示例中,该标识信息可以是一个标识位,用于指示预测模式的信息,例如预测模式的索引号。
本公开实施例提供了一种解码方法,如图7所示,包括:
步骤701,确定待解码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
步骤702,当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
步骤703,解析码流,获得所述当前点的第一属性的残差值;
步骤704,计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
在一些示例性实施例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一些示例性实施例中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例性实施例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
在一些示例性实施例中,使用邻居点之一的属性值作为预测值,包括:
使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
在一些示例性实施例中,所述当前点的邻居点包括R个邻居点,R取值为大于1的正整数。
在一些示例性实施例中,M可以取值为3、4或者5。
在一些示例性实施例中,N可以取值为1、2或3。
在一些示例性实施例中,R可以取值为3、4或5。
在一些示例性实施例中,该方法还包括:
当所述第一参数不小于阈值时,解析码流,获得预测模式的标识信息;
使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值。
在一些示例性实施例中,当所述标识信息为预设索引值时,将邻居点属性加权平均值作为所述当前点的预测值;
当所述标识信息为所述预设索引值之外的其他索引值时,使用邻居点之一的属性值作为所述当前点的预测值,
在一些示例性实施例中,使用邻居点属性加权平均值作为所述当前点的预测值,包括:
使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数。
在一些示例性实施例中,使用邻居点之一的属性值作为所述当前点的预测值,包括:
使用第T个邻居点的属性值作为所述当前点的预测值,T为所述标识信息对应的索引值。
本公开一示例性实施例提供了一种解码方法,如图8所示,该方法包括:
步骤801,确定待解码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
在一些示例中,待解码点云中当前点的邻居点是指待解码点云中当前点的已经解码的邻居点。
在一些示例中,当前点的邻居点可以包括R个邻居点,R取值为大于1的正整数。在一示例中,R可以取值为3、4或5。例如当前点的邻居点包括3个邻居点,该3个邻居点可以是指基于距离从近到远,距离当前点最近的3个邻居点,或者距离当前点最近的Z个邻居点中的任意3个邻居点,Z>3。
在一些示例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一示例中,所述第一属性包括反射率信息,所述第一参数为邻居点的反射率信息的重建值中最大值与最小值的差值。例如,该第一参数maxDiff=max(Re)-min(Re),其中,max(Re)表示邻居点的反射率信息重建值中的最大值,min(Re)表示邻居点反射率信息中的最小值。例如,当前点的邻居点包括3个邻居点,第一参数为该3个邻居点的反射率信息的重建值中最大值与最小值的差值。
在一示例中,所述第一属性包括颜色信息,所述第一参数为邻居点的颜色信息的重建值中最大值与最小值的差值。例如,可以通过以下方式计算第一参数maxDiff:
计算邻居点在R分量上的最大差异值,即max(R)-min(R);
计算邻居点在G分量上的最大差异值,即max(G)-min(G);
计算邻居点在B分量上的最大差异值,即max(B)-min(B);
选择R、G、B分量上的最大差异值中的最大值作为maxDiff;
即,maxDiff=max(max(R)-min(R),max(G)-min(G),max(B)-min(B)),其中max(R)表示邻居点在R分量上重建值中的最大值,min(R)表示邻居点在R分量上重建值中的最小值,max(G)表示邻居点在G分量上重建值中的最大值,min(G)表示邻居点在G分量上重建值中的最小值,max(B)表示邻居点在B分量上重建值中的最大值,min(B)表示邻居点在B分量上重建值中的最小值。例如,当前点的邻居点包括3个邻居点,第一参数为该3个邻居点的颜色信息的重建值中最大值与最小值的差值,也就是第一参数为该3个邻居点在R分量上的最大差异值,在G分量上的最大差异值,在B分量上的最大差异值这三者数值中的最大值。
步骤802,判断所述第一次参数是否小于阈值;
在一些示例中,该阈值可以预先设定。例如,可以预先设定颜色信息对应的阈值,当第一属性为颜色信息时,判断第一参数是否小于颜色信息的阈值。又例如,可以预先设定反射率信息对应的阈值,当第一属性为反射率信息时,判断第一参数是否小于反射率信息的阈值。
当所述第一参数小于阈值时,执行步骤803,当所述第一参数不小于阈值时,执行步骤804:
步骤803,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
在一些示例中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。例如,可以预先将第一预测模式设置为使用邻居点属性加权平均值作为预测值。又例如,可以预先将第一预测模式设置为使用邻居点之一的属性值作为预测值。
在一些示例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。在一示例中,M可以取值为3、4或者5。例如可以使用3个邻居点属性加权平均值作为预测值。
在一些示例中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。例如,P可以取值为5,M可以取值为3,可以从当前点的前5个邻居点中选择3个邻居点。当前点的前P个邻居点是指基于距离从近到远,距离当前点的前P个邻居点。
在一些示例中,M个邻居点可以选取计算第一参数的当前点的邻居点。例如计算第一参数的当前点的邻居点可以选择3个邻居点,M个邻居点也可以选择该3个邻居点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的3个邻居点,也使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,M个邻居点可以选取计算第一参数的当前点的邻居点中的点或者不是计算第一参数的当前点的邻居点中的点,例如计算第一参数的当前点的邻居点可以选择5个邻居点,M个邻居点可以选择3个邻居点。该3个邻居点可以是该5个邻居点中的3个,或者该3个邻居点可以不是该5个邻居点中的点,或者该3个邻居点的部分点可以是该5个邻居点中的点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的5个邻居点,使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,每个邻居点的权重可以是当前点与该邻居点的欧式距离平方的倒数。
在一些示例中,每个邻居点的权重还可以是其他值,例如可以是预先设置的系数等。
在一些示例中,使用邻居点之一的属性值作为预测值,包括:使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。在一示例中,N可以取值为1、2或3。第N个邻居点是指距离从近到远,距离当前点最近的的第N个邻居点,例如可以使用距离当前点最近的第1个邻居点的属性值作为预测值,该属性值可以是重建值。又例如,可以使用距离当前点最近的第2个邻居点的属性值作为预测值。又例如,可以使用距离当前点最近的第3个邻居点的属性值作为预测值。
在一些示例中,用户可以预先设置编解码的第一预测模式,例如用户可以预先设置解码端的第一预测模式为使用M个邻居点属性加权平均值作为预测值。又例如用户可以预先设置编码端的第一预测模式为使用当前点的第N个邻居点的属性值作为预测值。在一示例中,编解码端预先设置的第一模式相同。在另一示例中,编解码端预先设置的第一模式不同。
在一些示例中,所述第一预测模式还可以包括:使用邻居点的平均值作为预测值。例如,将选取的3个邻居点的属性值的平均值作为当前点的预测值。
在一些示例中,所述第一预测模式还可以包括:将对邻居点的属性值进行数学运算后得到的值作为预测值。该数学运算是指除了加权平均和平均之外的其他任意一种数学运算方法。
步骤804,解析码流,获得预测模式的标识信息;使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值;
在一些示例中,当所述标识信息为预设索引值时,将邻居点属性加权平均值作为所述当前点的预测值。例如,预先将邻居点属性加权平均值作为预测值的预测模式的标识设置为索引值0,则当解析获得的预测模式的标识信息为0时,使用该标识信息0指示的预测模式即将邻居点属性加权平均值作为预测值的预测模式确定当前点的预测值。
在一些示例中,该标识信息指示的使用邻居点属性加权平均值作为所述当前点的预测值的预测模式,包括:
使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数。
在一示例中,S可以取值为3、4或者5。例如可以使用3个邻居点属性加权平均值作为预测值。
在一些示例中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。 例如,U可以取值为5,S可以取值为3,可以从当前点的前5个邻居点中选择3个邻居点。当前点的前U个邻居点是指基于距离从近到远,距离当前点的前U个邻居点。
在一些示例中,S个邻居点可以选取计算第一参数的当前点的邻居点。例如计算第一参数的当前点的邻居点可以选择3个邻居点,S个邻居点也可以选择该3个邻居点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的3个邻居点,也使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,S个邻居点可以选取计算第一参数的当前点的邻居点中的点或者不是计算第一参数的当前点的邻居点中的点,例如计算第一参数的当前点的邻居点可以选择5个邻居点,S个邻居点可以选择3个邻居点。该3个邻居点可以是该5个邻居点中的3个,或者该3个邻居点可以不是该5个邻居点中的点,或者该3个邻居点的部分点可以是该5个邻居点中的点。比如,计算第一参数的当前点的邻居点选择距离当前点最近的5个邻居点,使用距离当前点最近的3个邻居点属性加权平均值作为预测值。
在一些示例中,每个邻居点的权重可以是当前点与该邻居点的欧式距离平方的倒数。
在一些示例中,每个邻居点的权重还可以是其他值,例如可以是预先设置的系数等。
在一示例中,S个邻居点与M个邻居点可以选取相同的邻居点,例如可以都选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值。
在一示例中,S个邻居点与M个邻居点也可以选取不相同的邻居点,例如M个邻居点选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值,S个邻居点选择距离当前点最近的第5个至第7个邻居点的属性加权平均作为当前点的预测值。
在一示例中,S个邻居点与M个邻居点中的点可以部分相同。例如M个邻居点选择距离当前点最近的3个邻居点的属性加权平均作为当前点的预测值,S个邻居点选择距离当前点最近的第2个至第4个邻居点的属性加权平均作为当前点的预测值。
在一些示例中,当所述标识信息为所述预设索引值之外的其他索引值时,使用邻居点之一的属性值作为所述当前点的预测值。在一示例中,使用邻居点之一的属性值作为预测值,包括:使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数。在一示例中,T可以取值为1、2或3。第T个邻居点是指距离从近到远,距离当前点最近的的第T个邻居点,例如,可以预先设置的索引值1指示使用当前点的第1个邻居点的属性值作为预测值,索引值2指示使用当前点的第2个邻居点的属性值作为预测值,索引值1指示使用当前点的第3个邻居点的属性值作为预测值,当解析获得的标识信息为1,则使用当前点的第1个邻居点的属性值作为当前点的预测值,当解析获得的标识信息为2,则使用当前点的第2个邻居点的属性值作为当前点的预测值,当解析获得的标识信息为3,则使用当前点的第3个邻居点的属性值作为当前点的预测值。第1,2,3个邻居点是指基于距离由近到远,距离当前点最近的第1,2,3个邻居点。
步骤805,解析码流,获得所述当前点的第一属性的残差值;计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
本公开实施例提供了一种编码方法,如图9所示,包括:
步骤901,确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
步骤902,当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
步骤903,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
步骤904,对量化后的所述残差值进行编码,将所述第一预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
在一些示例性实施例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一些示例性实施例中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例性实施例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
在一些示例性实施例中,使用邻居点之一的属性值作为预测值,包括:
使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
在一些示例性实施例中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。
在一些示例性实施例中,所述当前点的邻居点包括R个邻居点,R取值为大于1的正整数。
在一些示例性实施例中,M可以取值为3、4或者5。
在一些示例性实施例中,N可以取值为1、2或3。
在一些示例性实施例中,R可以取值为3、4或5。
在一些示例性实施例中,该方法还包括:
当所述第一参数不小于阈值时,采用率失真优化RDO选择第二预测模式;
使用所述第二预测模式确定所述当前点的第一属性的预测值;
将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
在一些示例性实施例中,所述第二预测模式包括以下至少一种:
使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
在一些示例性实施例中,所述使用邻居点属性加权平均值作为预测值,包括:
使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数,对应的标识信息为预设索引值且具有全局唯一性。
在一些示例性实施例中,使用邻居点之一的属性值作为预测值,包括:
使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数,对应的标识信息是第T个邻居点的索引值。
在一些示例性实施例中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。
在一些示例性实施例中,S可以为3、4或5。
在一些示例性实施例中,T可以取值为1、2或3。
在一些示例性实施例中,U可以取值为3、4或5。
本公开一示例性实施例提供了一种编码方法,如图10所示,包括:
步骤1001,确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
其中,针对当前点的邻居点以及第一参数的相关内容,与上述实施例相同,在此不再赘述。
步骤1002,判断所述第一参数是否小于阈值;
在一些示例中,该阈值可以预先设定。例如,可以预先设定颜色信息对应的阈值,当第一属性为颜色信息时,判断第一参数是否小于颜色信息的阈值。又例如,可以预先设定反射率信息对应的阈值,当第一属性为反射率信息时,判断第一参数是否小于反射率信息的阈值。
当所述第一参数小于阈值时,执行步骤1003至步骤1005,当所述第一参数不小于阈值时,执行步骤1006至步骤1008:
步骤1003,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
其中,针对第一预测模式的相关内容,与上述实施例相同,在此不再赘述。
其中,针对第二预测模式的相关内容,与上述实施例相同,在此不再赘述。
步骤1004,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
步骤1005,对量化后的所述残差值进行编码;将所述第一预测模式的标识信息写入码流,所述标识信息用于指示预测模式;
其中,针对标识信息的相关内容,与上述实施例相同,在此不再赘述。
步骤1006,采用率失真优化RDO选择第二预测模式;使用所述第二预测模式确定所述当前点的第一属性的预测值;
步骤1007,计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
步骤1008,对量化后的所述残差值进行编码;将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
其中,针对标识信息的相关内容,与上述实施例相同,在此不再赘述。
本公开实施例提供了一种解码方法,如图11所示,该方法包括:
步骤1101,解析码流,获得待解码点云中当前点的预测模式的标识信息;
步骤1102,使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值;
步骤1103,解析码流,获得所述当前点的第一属性的残差值;
步骤1104,计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
在一些示例性实施例中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
在一些示例性实施例中,当所述标识信息为预设索引值时,将邻居点属性加权平均值作为所述当前点的预测值;
当所述标识信息为所述预设索引值之外的其他索引值时,使用邻居点之一的属性值作为所述当前点的预测值。
在一些示例性实施例中,使用邻居点属性加权平均值作为所述当前点的预测值,包括:
使用X个邻居点属性加权平均值作为预测值,X取值为大于1的正整数。
其中,针对将邻居点属性加权平均值作为的预测值的相关内容,与上述实施例相同,在此不再赘述。
在一些示例性实施例中,使用邻居点之一的属性值作为所述当前点的预测值,包括:
使用第Y个邻居点的属性值作为所述当前点的预测值,Y为所述标识信息对应的索引值。Y取值为正整数。
其中,针对使用邻居点之一的属性值作为的预测值的相关内容,与上述实施例相同,在此不再赘述。
本公开一示例性实施例提供了一种编码方法,包括:
步骤1,确定当前点的相邻点,根据相邻点计算maxDiff;
步骤2,当maxDiff<阈值时,使用“邻居点属性值加权平均的预测模式”确定当前点的预测值,编码器将该模式序号写入码流(即对应于表1中的Predictor index等于0的模式索引序号);反之,当maxDiff>=阈值时,使用RDO的方法,从相邻候选点中选择之一,将该选择的点的值作为当前点的预测值,编码器将指示该相邻点的模式索引序号写入码流(即对应于表1中的Predictor index不等于0的模式索引序号1、2、3)。
在一些示例中,用于计算maxDiff的相邻点(“相邻点集合A”)、用于计算“maxDiff<阈值”时的加权平均值使用的相邻点(“相邻点集合B”)、用于“maxDiff>=阈值”时RDO确定当前点预测值过程中使用的相邻候选点(“相邻点集合C”),三个集合可以是由不同数量的点组成的。例如:按照与当前点之间的距离,选择前5个最近邻点来作为集合A和B,但在C时,可以使用前3个最近邻来构造3种“maxDiff>=阈值”下的预测模式。
本公开一示例性实施例提供了一种解码方法,包括:
步骤1,确定当前点的相邻点;
步骤2,解析码流,得到当前点的模式索引序号;
其中,该模式索引序号是指预测模式的标识信息。
步骤3,当模式索引序号指示使用“邻居点属性值加权平均的预测模式”时,使用相邻点计算当前点的预测值;反之,当模式索引序号指示使用“邻居点的属性值确定当前点的预测值”时,解码器将当前点的预测值设置为等于所述模式索引序号指示的相邻点的属性值。(例如:模式索引序号index指示的是按欧氏距离,相邻点中第index个与当前点最临近的点)。
本公开一示例性实施例提供了一种解码方法,包括:
步骤1,解析码流,得到当前点的模式索引序号;
步骤2,当模式索引序号指示使用“邻居点属性值加权平均的预测模式”时,确定当前点的相邻点,使用相邻点计算当前点的预测值;反之,
步骤3,当模式索引序号指示使用“邻居点的属性值确定当前点的预测值”时,确定当前点的相 邻点,解码器将当前点的预测值设置为等于所述模式索引序号指示的相邻点的属性值。(例如:模式索引序号index指示的是按欧氏距离,相邻点中第index个与当前点最临近的点)。
在本示例性实施例中,先确定预测模式,再根据预测模式获取相邻点,避免获取的相邻点是用不上的,从而避免了浪费资源。
本公开一示例性实施例提供了一种编码方法,包括:
步骤1,确定当前点的相邻点,根据相邻点计算maxDiff;
步骤2,当maxDiff<阈值时,使用“邻居点属性值加权平均的预测模式”确定当前点的预测值,这种情况下,编码器不需要将该模式序号写入码流(即对应于表1中的Predictor index等于0的模式索引序号);反之,当maxDiff>=阈值时,使用RDO的方法,从相邻候选点中选择之一,将该选择的点的值作为当前点的预测值,编码器将指示该相邻点的模式索引序号写入码流(即对应于表1中的Predictor index不等于0的模式索引序号1、2、3)。
本公开一示例性实施例提供了一种解码方法,包括:
步骤1,确定当前点的相邻点,计算第一参数(即maxDiff)的取值;
步骤2,当maxDiff的Y取值为正整数。小于阈值时,则使用“邻居点属性值加权平均的预测模式”计算当前点的预测值(即对应于表1中的Predictor index等于0的模式索引序号);这里,解码器根据已有解码信息来推导当前点的模式信息,不需要解析码流来获得模式信息;反之;
步骤3,当maxDiff的取值大于阈值时,解码器解析码流,获得模式索引序号;解码器将当前点的预测值设置为等于所述模式索引序号指示的相邻点的属性值。
本公开实施例还提供了一种编码器,如图12所示,包括:处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现上述任一项所述的编码方法。
在一些示例中,如图13所示,编码器的处理流程包括:对当前点的邻居点集计算其属性值的最大差异maxDiff(即第一参数),判断maxDiff是否<阈值,当maxDiff<阈值时,选择预先设置的第一预测模式preMode计算点云属性预测值,否则执行RDO选择第二预测模式计算点云属性预测值,计算点云属性残差,当没有选择RDO选择的预测模式时,编码残差写入属性码流,当选择RDO选择的预测模式时,编码预测模式(即将预测模式的标识信息写入码流,例如选择的第二预测模式为预测模式1时,将preMode1写入码流)以及编码残差,将编码的码字写入属性码流。在一示例中,第一预测模式preMode可以为表1所示的预测模式0、1、2、3中的一种,RDO可以从预测模式1、2、3中选择一种作为第二预测模式。
本公开实施例还提供了一种解码器,如图14所示,包括:处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现上述任一项所述的解码方法。
在一示例中,如图15所示,解码器的处理流程包括:获得属性码流,解码残差,对当前点的邻居点集计算其属性值的最大差异maxDiff(即第一参数),判断maxDiff是否<阈值,当maxDiff< 阈值时,选择预先设置的第一预测模式preMode计算点云属性预测值,否则解码预测模式(即解析获得预测模式的标识信息),采用解码获得的预测模式preMode(即标识信息指示的预测模式)计算点云属性预测值,根据残差和预测值计算点云重建属性值,以重建点云。在一示例中,第一预测模式preMode可以为表1所示的预测模式0、1、2、3中的一种。
本公开实施例还提供了一种终端,包括:点云编解码器,所述点云编解码器包括上述的编码器,和/或上述的解码器。
本公开实施例还提供了一种编解码系统,包括:点云编解码器,所述点云编解码器包括上述的编码器,和/或上述的解码器。
本公开实施例提供的技术方案,避免了编解码的过程中产生逻辑错误,导致预测结果也可能存在偏差导致编解码性能不高的问题。例如采用本公开实施例在G-PCC参考软件TMC13 V12.0上实现后,在CTC CY测试条件下对MPEG要求的cat3-fused测试集中测试序列进行测试得到的测试结果为端到端速率百分比(End to End BD-AttrRate%)为-0.1%,表明采用本公开实施例提供的技术方案可以有效提高编解码性能。
图16为一种编码设备的框架示意图,如图16所示,编码设备1可以包括处理器101、存储器103和总线系统104。处理器101和存储器103通过总线系统104相连,该存储器103用于存储指令,该处理器101用以执行本公开描述的任一项预测方法、编码方法或者解码方法。
该处理器101可以是中央处理单元(central processing unit,CPU),该处理器101还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器103可以包括ROM设备或者RAM设备。任何其他适宜类型的存储设备也可以用作存储器103。存储器103可以包括由处理器101使用总线104访问的代码和数据。
该总线系统104除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。在图中可以将各种总线都标为总线系统104。
编码设备1还可以包括一个或多个输出设备,例如显示器102。该显示器102可以是触感显示器,其将显示器与可操作地感测触摸输入的触感合并。显示器102可以经由总线104连接到处理器101。
在一或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一或多个计算机或者一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。
举例来说且并非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中 所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读介质的范围内。
可由例如一或多个数字信号理器(DSP)、通用微处理器、专用集成电路(ASIC)现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。
本公开实施例的技术方案可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (60)

  1. 一种编码方法,包括:
    确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
    当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
    计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
    对量化后的所述残差值进行编码。
  2. 根据权利要求1所述的编码方法,其中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
  3. 根据权利要求1所述的编码方法,其中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
  4. 根据权利要求3所述的编码方法,其中,所述使用邻居点属性加权平均值作为预测值,包括:
    使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
  5. 根据权利要求3所述的编码方法,其中,使用邻居点之一的属性值作为预测值,包括:
    使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
  6. 根据权利要求4所述的编码方法,其中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。
  7. 根据权利要求3所述的编码方法,其中,所述当前点的邻居点包括R个邻居点,R取值为大于1的正整数。
  8. 根据权利要求4所述的编码方法,其中,M取值为3、4或者5。
  9. 根据权利要求5所述的编码方法,其中,N取值为1、2或3。
  10. 根据权利要求7所述的编码方法,其中,R取值为3、4或5。
  11. 根据权利要求1所述的编码方法,该方法还包括:
    当所述第一参数不小于阈值时,采用率失真优化RDO选择第二预测模式;
    使用所述第二预测模式确定所述当前点的第一属性的预测值;
    将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
  12. 根据权利要求11所述的编码方法,其中,所述第二预测模式包括以下至少一种:
    使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
  13. 根据权利要求12所述的编码方法,其中,所述使用邻居点属性加权平均值作为预测值,包括:
    使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数,对应的标识信息为预设索引值且具有全局唯一性。
  14. 根据权利要求12所述的编码方法,其中,使用邻居点之一的属性值作为预测值,包括:
    使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数,对应的标识信息是第T个邻居点的索引值。
  15. 根据权利要求13所述的编码方法,其中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。
  16. 根据权利要求13所述的编码方法,其中,S取值为3、4或5。
  17. 根据权利要求14所述的编码方法,其中,T取值为1、2或3。
  18. 根据权利要求15所述的编码方法,其中,U取值为3、4或5。
  19. 根据权利要求7所述的编码方法,其中,M和R的取值相同。
  20. 一种解码方法,包括:
    确定待解码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
    当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
    解析码流,获得所述当前点的第一属性的残差值;
    计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
  21. 根据权利要求20所述的解码方法,其中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
  22. 根据权利要求20所述的解码方法,其中,所述第一预测模式包括以下至少一种:使用邻居点 属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
  23. 根据权利要求22所述的解码方法,其中,所述使用邻居点属性加权平均值作为预测值,包括:
    使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
  24. 根据权利要求22所述的解码方法,其中,使用邻居点之一的属性值作为预测值,包括:
    使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
  25. 根据权利要求20所述的解码方法,其中,所述当前点的邻居点包括R个邻居点,R取值为大于1的正整数。
  26. 根据权利要求23所述的解码方法,其中,M取值为3、4或者5。
  27. 根据权利要求24所述的解码方法,其中,N取值为1、2或3。
  28. 根据权利要求26所述的解码方法,其中,R取值为3、4或5。
  29. 根据权利要求20所述的解码方法,该方法还包括:
    当所述第一参数不小于阈值时,解析码流,获得预测模式的标识信息;
    使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值。
  30. 根据权利要求21所述的解码方法,其中,
    当所述标识信息为预设索引值时,将邻居点属性加权平均值作为所述当前点的预测值;
    当所述标识信息为所述预设索引值之外的其他索引值时,使用邻居点之一的属性值作为所述当前点的预测值。
  31. 根据权利要求30所述的解码方法,其中,使用邻居点属性加权平均值作为所述当前点的预测值,包括:
    使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数。
  32. 根据权利要求32所述的解码方法,其中,使用邻居点之一的属性值作为所述当前点的预测值,包括:
    使用第T个邻居点的属性值作为所述当前点的预测值,T为所述标识信息对应的索引值。
  33. 一种编码方法,包括:
    确定待编码点云中当前点的邻居点,根据所述邻居点计算第一参数;所述第一参数为所述邻居点的第一属性的重建值中最大值与最小值的差值;
    当所述第一参数小于阈值时,使用预先设置的第一预测模式确定所述当前点的第一属性的预测值;
    计算所述当前点的第一属性的原始值与所述预测值的差值,作为所述当前点的第一属性的残差值;
    对量化后的所述残差值进行编码;
    将所述第一预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
  34. 根据权利要求33所述的编码方法,其中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
  35. 根据权利要求33所述的编码方法,其中,所述第一预测模式包括以下至少一种:使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
  36. 根据权利要求35所述的编码方法,其中,所述使用邻居点属性加权平均值作为预测值,包括:
    使用M个邻居点属性加权平均值作为预测值,M取值为大于1的正整数。
  37. 根据权利要求35所述的编码方法,其中,使用邻居点之一的属性值作为预测值,包括:
    使用当前点的第N个邻居点的属性值作为预测值,N取值为正整数。
  38. 根据权利要求36所述的编码方法,其中,所述M个邻居点包括所述当前点的前P个邻居点中的至少部分邻居点,P≥M。
  39. 根据权利要求33所述的编码方法,其中,所述当前点的邻居点包括R个邻居点,R取值为大于1的正整数。
  40. 根据权利要求36所述的编码方法,其中,M取值为3、4或者5。
  41. 根据权利要求37所述的编码方法,其中,N取值为1、2或3。
  42. 根据权利要求39所述的编码方法,其中,R取值为3、4或5。
  43. 根据权利要求9所述的编码方法,该方法还包括:
    当所述第一参数不小于阈值时,采用率失真优化RDO选择第二预测模式;
    使用所述第二预测模式确定所述当前点的第一属性的预测值;
    将所述第二预测模式的标识信息写入码流,所述标识信息用于指示预测模式。
  44. 根据权利要求43所述的编码方法,其中,所述第二预测模式包括以下至少一种:
    使用邻居点属性加权平均值作为预测值;使用邻居点之一的属性值作为预测值。
  45. 根据权利要求44所述的编码方法,其中,所述使用邻居点属性加权平均值作为预测值,包括:
    使用S个邻居点属性加权平均值作为预测值,S取值为大于1的正整数,对应的标识信息为预设索引值且具有全局唯一性。
  46. 根据权利要求44所述的编码方法,其中,使用邻居点之一的属性值作为预测值,包括:
    使用当前点的第T个邻居点的属性值作为预测值,T取值为正整数,对应的标识信息是第T个邻居点的索引值。
  47. 根据权利要求45所述的编码方法,其中,所述S个邻居点包括所述当前点的前U个邻居点中的至少部分邻居点,U≥S。
  48. 根据权利要求45所述的编码方法,其中,S取值为3、4或5。
  49. 根据权利要求46所述的编码方法,其中,T取值为1、2或3。
  50. 根据权利要求47所述的编码方法,其中,U取值为3、4或5。
  51. 一种解码方法,包括:
    解析码流,获得待解码点云中当前点的预测模式的标识信息;
    使用所述标识信息指示的预测模式确定所述当前点的第一属性的预测值;
    解析码流,获得所述当前点的第一属性的残差值;
    计算所述残差值反量化后与所述预测值相加的和值,作为所述当前点的第一属性的重建值。
  52. 根据权利要求51所述的解码方法,其中,所述第一属性包括以下至少一种:反射率信息,颜色信息。
  53. 根据权利要求51所述的解码方法,其中,
    当所述标识信息为预设索引值时,将邻居点属性加权平均值作为所述当前点的预测值;
    当所述标识信息为所述预设索引值之外的其他索引值时,使用邻居点之一的属性值作为所述当前点的预测值。
  54. 根据权利要求53所述的解码方法,其中,使用邻居点属性加权平均值作为所述当前点的预测值,包括:
    使用X个邻居点属性加权平均值作为预测值,X取值为大于1的正整数。
  55. 根据权利要求53所述的解码方法,其中,使用邻居点之一的属性值作为所述当前点的预测值,包括:
    使用第Y个邻居点的属性值作为所述当前点的预测值,Y为所述标识信息对应的索引值。
  56. 一种编码器,包括:处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如权利要求1至19,或者33至50中任一项所述的编码方法。
  57. 一种解码器,包括:处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如权利要求20至32或者51至55中任一项所述的解码方法。
  58. 一种终端,包括:点云编解码器,所述点云编解码器包括如权利要求56所述的编码器,和/或如权利要57所述的解码器。
  59. 一种编解码系统,包括:点云编解码器,所述点云编解码器包括如权利要求56所述的编码器,和/或如权利要求57所述的解码器。
  60. 一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如如权利要求1至19,或者33至50中任一项所述的编码方法,或者如权利要求20至32或者51至55中任一项所述的解码方法。
PCT/CN2021/087918 2021-04-16 2021-04-16 编解码方法及相关设备、存储介质 WO2022217611A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP21936486.6A EP4322527A1 (en) 2021-04-16 2021-04-16 Coding and decoding methods, related devices and storage medium
KR1020237038796A KR20230173135A (ko) 2021-04-16 2021-04-16 인코딩 및 디코딩 방법 및 관련 기기, 저장 매체
PCT/CN2021/087918 WO2022217611A1 (zh) 2021-04-16 2021-04-16 编解码方法及相关设备、存储介质
JP2023562955A JP2024513583A (ja) 2021-04-16 2021-04-16 符号化・復号化方法およびその関連機器、記憶媒体
CN202180096891.3A CN117157973A (zh) 2021-04-16 2021-04-16 编解码方法及相关设备、存储介质
US18/379,997 US20240037800A1 (en) 2021-04-16 2023-10-13 Encoding and decoding methods, related devices and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/087918 WO2022217611A1 (zh) 2021-04-16 2021-04-16 编解码方法及相关设备、存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/379,997 Continuation US20240037800A1 (en) 2021-04-16 2023-10-13 Encoding and decoding methods, related devices and storage medium

Publications (1)

Publication Number Publication Date
WO2022217611A1 true WO2022217611A1 (zh) 2022-10-20

Family

ID=83639448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/087918 WO2022217611A1 (zh) 2021-04-16 2021-04-16 编解码方法及相关设备、存储介质

Country Status (6)

Country Link
US (1) US20240037800A1 (zh)
EP (1) EP4322527A1 (zh)
JP (1) JP2024513583A (zh)
KR (1) KR20230173135A (zh)
CN (1) CN117157973A (zh)
WO (1) WO2022217611A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
US20200107048A1 (en) * 2018-10-02 2020-04-02 Tencent America LLC Method and apparatus for video coding
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩
US20200107048A1 (en) * 2018-10-02 2020-04-02 Tencent America LLC Method and apparatus for video coding
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备

Also Published As

Publication number Publication date
JP2024513583A (ja) 2024-03-26
EP4322527A1 (en) 2024-02-14
CN117157973A (zh) 2023-12-01
KR20230173135A (ko) 2023-12-26
US20240037800A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
US20230188736A1 (en) Methods and apparatuses for hierarchically encoding and decoding a bytestream
US11310525B2 (en) Predictor-copy coding mode for coding of point clouds
WO2019195921A1 (en) Methods and devices for predictive coding of point clouds
CN114467302A (zh) 针对点云压缩的基于块的预测编码
CN103918009A (zh) 预测位置编码
JP7386337B2 (ja) 分割方法、符号器、復号器及びコンピュータ記憶媒体
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
EP3595179B1 (en) Methods and devices for lossy coding of point cloud occupancy
US20230101072A1 (en) Nearest neighbour search method, encoder, decoder and storage medium
WO2022121650A1 (zh) 点云属性的预测方法、编码器、解码器及存储介质
WO2020248176A1 (zh) 点云处理的方法与装置
WO2022067790A1 (zh) 一种点云分层方法及解码器、编码器、存储介质
WO2022217611A1 (zh) 编解码方法及相关设备、存储介质
WO2021108969A1 (zh) 属性信息的预测方法、编码器、解码器、及存储介质
WO2020237759A1 (zh) 有效表示图像并对图像进行编码的系统和方法
US20230086264A1 (en) Decoding method, encoding method, decoder, and encoder based on point cloud attribute prediction
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
WO2021108970A1 (zh) 点云处理方法、编码器、解码器及存储介质
WO2024011427A1 (zh) 一种点云帧间补偿方法、编解码方法、装置和系统
WO2022067782A1 (zh) 一种点云数据的层次划分方法、编码器及存储介质
WO2023025135A1 (zh) 点云属性编码方法、装置、解码方法以及装置
WO2021138785A1 (zh) 划分方法、编码器、解码器及计算机存储介质
WO2023155045A1 (zh) 预测的方法和装置、编码器、解码器和编解码系统
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质

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: 21936486

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023562955

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2021936486

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20237038796

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237038796

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2021936486

Country of ref document: EP

Effective date: 20231108

NENP Non-entry into the national phase

Ref country code: DE