WO2023201450A1 - Encoding method, decoding method, code stream, encoder, decoder, and storage medium - Google Patents

Encoding method, decoding method, code stream, encoder, decoder, and storage medium Download PDF

Info

Publication number
WO2023201450A1
WO2023201450A1 PCT/CN2022/087255 CN2022087255W WO2023201450A1 WO 2023201450 A1 WO2023201450 A1 WO 2023201450A1 CN 2022087255 W CN2022087255 W CN 2022087255W WO 2023201450 A1 WO2023201450 A1 WO 2023201450A1
Authority
WO
WIPO (PCT)
Prior art keywords
reconstructed
point cloud
slice
identification information
filter
Prior art date
Application number
PCT/CN2022/087255
Other languages
French (fr)
Chinese (zh)
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 PCT/CN2022/087255 priority Critical patent/WO2023201450A1/en
Publication of WO2023201450A1 publication Critical patent/WO2023201450A1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Definitions

  • the embodiments of the present application relate to the field of video coding and decoding technology, and in particular, to a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
  • the encoding of point cloud attribute information is mainly aimed at encoding color information.
  • the color information is converted from RGB color space to YUV color space.
  • the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
  • three predictive transformation methods are mainly used: Predicting Transform, Lifting Transform, and Region Adaptive Hierarchal Transform (RAHT), and finally generate binary codes. flow.
  • the existing G-PCC encoding and decoding framework only performs basic reconstruction on the initial point cloud, and in the case of attribute lossy coding, the reconstructed point cloud may be different from the initial point cloud after reconstruction. Relatively large, the distortion is more serious, thus affecting the quality of the entire point cloud.
  • Embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium, which can not only improve the quality of point clouds, but also have universal applicability, save bit rates, and thereby improve coding and decoding performance.
  • inventions of the present application provide an encoding method, which is applied to an encoder.
  • the method includes:
  • the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient
  • embodiments of the present application provide a code stream that includes parameter information for determining the decoded point cloud; wherein the parameter information includes at least one of the following: residual values of attribute information of points in the initial slice, First filter identification information and first filter coefficient.
  • embodiments of the present application provide a decoding method, applied to a decoder, and the method includes:
  • the code stream is parsed to determine the first filter coefficient
  • embodiments of the present application provide an encoder, which includes a first determination unit, a first filtering unit and a coding unit; wherein,
  • the first determination unit is configured to determine the reconstructed slice of the reconstructed point cloud; and when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
  • a first filtering unit configured to filter the reconstructed slice according to the first filter coefficient and determine the filtered slice corresponding to the reconstructed slice;
  • the first determining unit is further configured to determine the first filtering identification information according to the filtered slice; wherein the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice;
  • An encoding unit configured to encode the first filter identification information; and if the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient
  • the encoding unit is also configured to write the obtained encoded bits into the code stream.
  • embodiments of the present application provide an encoder, which includes a first memory and a first processor; wherein,
  • a first memory for storing a computer program capable of running on the first processor
  • the first processor is used to execute the method of the first aspect when running the computer program.
  • embodiments of the present application provide a decoder, which includes a decoding unit and a second filtering unit; wherein,
  • the decoding unit is configured to parse the code stream and determine the first filter identification information; and if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
  • the second filtering unit is configured to filter the reconstructed slice according to the first filter coefficient and determine the filtered slice corresponding to the reconstructed slice.
  • embodiments of the present application provide a decoder, which includes a second memory and a second processor; wherein,
  • a second memory for storing a computer program capable of running on the second processor
  • the second processor is configured to perform the method described in the third aspect when running the computer program.
  • embodiments of the present application provide a computer storage medium that stores a computer program.
  • the computer program implements the method described in the first aspect when executed by a first processor, or is executed by a second processor.
  • the processor implements the method described in the third aspect.
  • Embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
  • the reconstructed slice of the reconstructed point cloud is determined; when the reconstructed point cloud meets the preset conditions, the reconstructed point cloud is determined according to the reconstructed point cloud.
  • the initial slice corresponding to the slice and the reconstructed slice determines the first filter coefficient; the reconstructed slice is filtered according to the first filter coefficient to determine the filtered slice corresponding to the reconstructed slice; the first filter identification information is determined according to the filtered slice; wherein, The first filtering identification information indicates whether to perform filtering processing on the reconstructed slice; encode the first filtering identification information; if the first filtering identification information indicates filtering processing on the reconstructed slice, encode the first filter coefficient; and encode the obtained The encoded bits are written into the code stream.
  • the code stream is parsed to determine the first filter identification information; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; according to the first filter coefficient, the The reconstructed slice is filtered, and the filtered slice corresponding to the reconstructed slice is determined.
  • the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
  • Figure 1 is a schematic diagram of the composition framework of a G-PCC encoder
  • Figure 2 is a schematic diagram of the composition framework of a G-PCC decoder
  • Figure 3 is a schematic structural diagram of a zero-run encoding
  • Figure 4 is a schematic flow chart 1 of an encoding method provided by an embodiment of the present application.
  • Figure 5 is a schematic flow chart 2 of an encoding method provided by an embodiment of the present application.
  • Figure 6 is a schematic flow chart 3 of an encoding method provided by an embodiment of the present application.
  • Figure 7 is a schematic flowchart 1 of a decoding method provided by an embodiment of the present application.
  • Figure 8 is a schematic flow chart 2 of a decoding method provided by an embodiment of the present application.
  • Figure 9 is a schematic flow chart 1 of a coding end filtering process provided by an embodiment of the present application.
  • Figure 10 is a schematic flow chart 2 of an encoding-side filtering process provided by an embodiment of the present application.
  • Figure 11 is a schematic flow chart of a decoding end filtering process provided by an embodiment of the present application.
  • Figure 12 is a schematic diagram of test results of predictive transformation under CY test conditions provided by the embodiment of the present application.
  • Figure 13 is a schematic diagram of the test results of lifting transformation under C1 test conditions provided by the embodiment of the present application.
  • Figure 14 is a schematic diagram of the test results of lifting transformation under C2 test conditions provided by the embodiment of the present application.
  • Figure 15 is a schematic diagram of the test results of RAHT transformation under C1 test conditions provided by the embodiment of the present application.
  • Figure 16 is a schematic diagram of the test results of RAHT transformation under C2 test conditions provided by the embodiment of the present application.
  • Figure 17 is a schematic structural diagram of an encoder provided by an embodiment of the present application.
  • Figure 18 is a schematic diagram of the specific hardware structure of an encoder provided by an embodiment of the present application.
  • Figure 19 is a schematic structural diagram of a decoder provided by an embodiment of the present application.
  • Figure 20 is a schematic diagram of the specific hardware structure of a decoder provided by an embodiment of the present application.
  • Figure 21 is a schematic structural diagram of a coding and decoding system provided by an embodiment of the present application.
  • G-PCC Geometry-based Point Cloud Compression
  • V-PCC Video-based Point Cloud Compression
  • RAHT Region Adaptive Hierarchal Transform
  • PSNR Peak Signal to Noise Ratio
  • MMSE Minimum Mean Squared Error
  • Luminance component (Luminance, Luma or Y)
  • Red chroma component Chroma red, Cr
  • Point cloud is a three-dimensional representation of the surface of an object.
  • collection equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera, the point cloud (data) of the surface of the object can be collected.
  • Point Cloud refers to a collection of massive three-dimensional points.
  • the points in the point cloud can include point location information and point attribute information.
  • the position information of the point may be the three-dimensional coordinate information of the point.
  • the position information of a point can also be called the geometric information of the point.
  • the point attribute information may include color information and/or reflectivity, etc.
  • color information can be information on any color space.
  • the color information may be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
  • the color information may be brightness and chrominance (YCbCr, YUV) information. Among them, Y represents brightness, Cb(U) represents blue chroma, and Cr(V) represents red chroma.
  • the points in the point cloud can include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
  • the points in the point cloud may include the three-dimensional coordinate information of the point and the color information of the point.
  • a point cloud is obtained by combining the principles of laser measurement and photogrammetry.
  • the points in the point cloud may include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.
  • Point clouds can be divided into:
  • the first type of static point cloud that is, the object is stationary and the device that obtains the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
  • the third type of dynamically acquired point cloud the device that acquires the point cloud is in motion.
  • point clouds are divided into two categories according to their uses:
  • Category 1 Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue and disaster relief robots;
  • Category 2 Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free-viewpoint broadcasting, three-dimensional immersive communication, and three-dimensional immersive interaction.
  • the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but is also not conducive to transmission. There is not such a large bandwidth to support the direct transmission of the point cloud at the network layer without compression. Therefore, it is necessary to The cloud performs compression.
  • the point cloud coding framework that can compress point clouds can be the G-PCC codec framework or V-PCC codec framework provided by the Moving Picture Experts Group (MPEG), or it can be audio and video coding.
  • the G-PCC encoding and decoding framework can be used to compress the first type of static point cloud and the third type of dynamic point cloud
  • the V-PCC encoding and decoding framework can be used to compress the second type of dynamic point cloud.
  • the description here mainly focuses on the G-PCC encoding and decoding framework.
  • each slice can be independently encoded.
  • FIG. 1 is a schematic diagram of the composition framework of a G-PCC encoder. As shown in Figure 1, this G-PCC encoder is applied to the point cloud encoder.
  • this G-PCC coding framework for the point cloud data to be encoded, the point cloud data is first divided into multiple slices through slice division. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately. In the process of geometric encoding, the geometric information is transformed into coordinates so that all point clouds are contained in a Bounding Box, and then quantized. This quantification step mainly plays a scaling role. Due to the quantization rounding, the geometry of a part of the point cloud is The information is the same, so it is decided whether to remove duplicate points based on parameters.
  • the process of quantifying and removing duplicate points is also called the voxelization process.
  • the bounding box is divided into eight equal parts into eight sub-cubes, and the non-empty sub-cubes (containing points in the point cloud) continue to be divided into eight equal parts until the leaf structure is obtained.
  • the division stops when the point is a 1 ⁇ 1 ⁇ 1 unit cube, and the points in the leaf nodes are arithmetic encoded to generate a binary geometric bit stream, that is, a geometric code stream.
  • this Trisoup does not need to divide the point cloud step by step. It is divided into a unit cube with a side length of 1 ⁇ 1 ⁇ 1, but is divided into sub-blocks (Blocks) when the side length is W. Based on the surface formed by the distribution of point clouds in each Block, the surface and block are obtained. At most twelve intersection points (Vertex) generated by the twelve edges, the Vertex is arithmetic encoded (surface fitting based on the intersection points), and a binary geometric bit stream is generated, that is, the geometric code stream. Vertex is also used in the implementation of the geometric reconstruction process, and the reconstructed set information is used when encoding the attributes of the point cloud.
  • the geometric encoding is completed. After the geometric information is reconstructed, color conversion is performed to convert the color information (ie, attribute information) from the RGB color space to the YUV color space. Then, the point cloud is recolored using 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. In the process of color information encoding, there are two main transformation methods. One is distance-based lifting transformation that relies on LOD division, and the other is direct RAHT transformation. Both methods will convert the color information.
  • the geometrically encoded data and quantized coefficient processing attributes after octree division and surface fitting are After the encoded data is slice-synthesized, the Vertex coordinates of each block are sequentially encoded (that is, arithmetic coding) to generate a binary attribute bit stream, that is, an attribute code stream.
  • FIG. 2 is a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 2, this G-PCC decoder is applied to the point cloud encoder. In this G-PCC decoding framework, for the obtained binary code stream, the geometry bit stream and attribute bit stream in the binary code stream are first independently decoded.
  • the geometric information of the point cloud is obtained through arithmetic decoding - octree synthesis - surface fitting - reconstructed geometry - inverse coordinate conversion; when decoding the attribute bit stream, through arithmetic decoding - inverse Quantization - LOD-based lifting inverse transformation or RAHT-based inverse transformation - inverse color conversion to obtain the attribute information of the point cloud, and restore the three-dimensional image model of the point cloud data to be encoded based on the geometric information and attribute information.
  • LOD division is mainly used for two methods: Predicting Transform and Lifting Transform in point cloud attribute transformation.
  • the process of LOD division is after the geometric reconstruction of the point cloud.
  • the geometric coordinate information of the point cloud can be directly obtained.
  • the decoding operation is performed according to the encoding zero-run encoding method.
  • the size of the first zero_cnt in the code stream is solved. If it is greater than 0, it means that there are consecutive zero_cnt residuals of 0; if zero_cnt is equal to 0, it means that the attribute residual at this point is 0. If the difference is not 0, decode the corresponding residual value, then inversely quantize the decoded residual value and add it to the color prediction value of the current point to obtain the reconstructed value of the point. Continue this operation until all points are decoded. Cloud points.
  • FIG. 3 is a schematic structural diagram of a zero-run encoding.
  • the current point will be used as the nearest neighbor of the subsequent LOD midpoint, and the color reconstruction value of the current point will be used to predict the attributes of subsequent points.
  • the existing G-PCC encoding and decoding framework only performs basic reconstruction of point cloud sequences; for attribute lossy (or almost lossless) coding methods, after reconstruction, no certain processing is performed to further improve the reconstruction points. Quality of cloud color properties. This may cause a large difference between the reconstructed point cloud and the initial point cloud, causing serious distortion, which will affect the quality and visual effects of the entire point cloud.
  • the G-PCC point cloud standard test data set there are a total of 46 point cloud sequences (only single frame point clouds are considered here), belonging to Cat1-A and Cat1-B respectively. Among them, there are many large point clouds in Cat1-B, with more than 10 million points and a size exceeding 2GB. For these point cloud sequences, memory overflow may occur when using related technologies for point cloud processing, causing the program to crash. Therefore, the current related technology still has certain limitations, cannot effectively process all point clouds, and has poor universality.
  • the embodiment of the present application proposes a coding and decoding method, which can affect the arithmetic coding and subsequent parts in the G-PCC coding framework, and can also affect the part after attribute reconstruction in the G-PCC decoding framework.
  • the embodiment of the present application proposes a coding method, which can be applied to the arithmetic coding marked by the dotted box in Figure 1 and subsequent parts.
  • the embodiment of the present application also proposes a decoding method, which can be applied to the part after attribute reconstruction marked with a dotted box in Figure 2.
  • the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices.
  • filtering based on reconstructed slices can not only avoid memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it can also optimize the reconstructed point cloud and improve the point cloud. The quality is improved, the bit rate is saved, and the encoding and decoding performance is improved.
  • FIG. 4 shows a schematic flowchart 1 of an encoding method provided by an embodiment of the present application.
  • the method may include:
  • the encoding method described in the embodiment of the present application specifically refers to the point cloud encoding method, which can be applied to a point cloud encoder (in the embodiment of the present application, it may be referred to as "encoder" for short).
  • the method may further include: slicing the initial point cloud to obtain at least one initial slice; sequentially encoding and reconstructing the at least one initial slice to obtain at least one reconstructed slice; The reconstructed slices are aggregated to obtain a reconstructed point cloud.
  • the initial point cloud first needs to be sliced, that is, the point cloud with a large number of points will be divided into multiple slices, and each slice contains about 800,000 points. ⁇ 1 million or so; then encoding and reconstruction processing are performed on each slice to obtain reconstructed slices; by aggregating all the reconstructed slices together, the reconstructed point cloud can be obtained.
  • slicing processing is usually required for the initial point cloud.
  • the related technology is to aggregate all reconstructed slices into a reconstructed point cloud, and then consider whether to perform filtering based on the entire reconstructed point cloud.
  • some large point clouds for example, with more than 10 million points, a large amount of memory space will be occupied, resulting in memory overflow or even program crash when processing these large point clouds.
  • the point cloud compression efficiency can be ensured to the greatest extent , and at the same time, it can avoid memory overflow caused by occupying a large amount of memory space when processing large point clouds, making the method of the embodiment of the present application more universal.
  • the initial point cloud for a point in the initial slice, when encoding the point, it can be used as a point to be encoded in the initial slice, and there are multiple Coded points.
  • a point in the initial slice it corresponds to a piece of geometric information and a piece of attribute information; among which, the geometric information represents the spatial position of the point, and the attribute information represents the attribute value (such as color component value) of the point.
  • the attribute information may include color components, specifically color information in any color space.
  • the attribute information may be color information in RGB space, color information in YUV space, color information in YCbCr space, etc., which are not limited in the embodiments of this application.
  • the color component may include at least one of the following: a first color component, a second color component, and a third color component.
  • the first color component, the second color component, and the third color component are: R component, G component, and B component; if the color component conforms to the YUV color space, then it can be determined
  • the first color component, the second color component and the third color component are: Y component, U component, V component; if the color component conforms to the YCbCr color space, then the first color component, the second color component and the third color can be determined
  • the components are: Y component, Cb component, Cr component.
  • the attribute information of the point can be a color component, or the attribute information of the point can also be reflectivity, refractive index or other attributes.
  • the application examples are not limited in any way.
  • the predicted value and residual value of the attribute information of the point can be determined first, and then the predicted value and residual value are further used to calculate and obtain the point's Reconstructed values of attribute information to construct reconstructed slices.
  • the geometric information and attribute information of multiple target neighbor points of the point can be used, and the geometric information of the point can be combined to predict the point.
  • the attribute information is predicted to obtain the corresponding prediction value, and then the corresponding reconstruction value can be determined.
  • the point after determining the reconstruction value of the attribute information of the point, the point can be used as the nearest neighbor of the subsequent LOD midpoint, so that the reconstruction value of the attribute information of the point can be used to continue to reconstruct the subsequent points.
  • Points are predicted for attributes, so that reconstructed slices can be constructed; then all reconstructed slices are aggregated together to obtain a reconstructed point cloud.
  • the initial point cloud can be obtained directly through the point cloud reading function of the encoding and decoding program, and the reconstructed point cloud is obtained after all encoding operations are completed.
  • the reconstructed point cloud in the embodiment of the present application can be the reconstructed point cloud output after decoding, or can be used as a reference for subsequent decoding point clouds; in addition, the reconstructed point cloud here can not only be within the prediction loop, that is, as an inloop When used as a filter, it can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter, and is not used as a reference for decoding subsequent point clouds; the embodiments of this application do not specifically limit this.
  • the method may further include:
  • the parameter information of the reconstructed point cloud it is determined whether the reconstructed point cloud meets the preset conditions.
  • determining the parameter information of the reconstructed point cloud may include: determining the number of points in the reconstructed point cloud. That is to say, the embodiment of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstructed slices. .
  • the method may also include:
  • the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset conditions.
  • the preset threshold here can be used to measure whether the reconstructed point cloud is a large point cloud, that is, whether the reconstructed point cloud is filtered as a whole or filtered according to divided reconstructed slices. For example, if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, it means that the number of points in the reconstructed point cloud is too many. In order to avoid memory overflow when filtering it, it can be determined that the When the reconstructed point cloud meets the preset conditions, filtering is performed according to the divided reconstruction slices; if the number of points in the reconstructed point cloud is less than the preset threshold, it means that the number of points in the reconstructed point cloud will not cause any problems during filtering.
  • the reconstructed point cloud does not meet the preset conditions.
  • the reconstructed point cloud is filtered as a whole; in this way, the point cloud compression efficiency can be ensured to the greatest extent and it is more universal. sex.
  • determining the number of midpoints in the reconstructed point cloud may include: performing geometric quantization processing on the initial point cloud to obtain a quantified point cloud; determining the reconstructed point cloud based on the number of midpoints in the quantized point cloud. The number of points in the point cloud.
  • the method of the embodiment of the present application can be applied to all encoding methods except attribute lossless, such as geometric lossless, attribute lossy encoding method, geometric lossy, attribute lossy encoding method, geometric lossless, attribute Almost lossless encoding, etc.
  • attribute lossless such as geometric lossless, attribute lossy encoding method, geometric lossy, attribute lossy encoding method, geometric lossless, attribute Almost lossless encoding, etc.
  • geometric losslessness after the initial point cloud is subjected to geometric quantification processing, the number and geometric coordinates of the points in the quantized point cloud have not changed, making the number of points in the initial point cloud different from the reconstructed point cloud.
  • the data of the midpoints are the same; but in the case of geometric loss, after the initial point cloud is subjected to geometric quantization processing, depending on the set code rate, the number of midpoints and geometric coordinates of the obtained quantized point cloud will be larger. Changes make the number of midpoints in the initial point cloud and the number of midpoints in the reconstructed point cloud different, resulting in the inability to directly determine the number of midpoints in the reconstructed point cloud based on the number of midpoints in the initial point cloud.
  • the quantized point cloud can be obtained. Since the number of points in the quantized point cloud is the same as the number of points in the reconstructed point cloud (if the geometry is lossless, it is also the same as the number of points in the initial point cloud); therefore, in the embodiment of the present application, the encoding end can be based on Quantify the number of midpoints in the point cloud to determine the number of midpoints in the reconstructed point cloud; then, based on the relationship between the number of midpoints in the reconstructed point cloud and the preset threshold, determine whether the reconstructed point cloud meets the preset conditions, and then determine Whether to filter the entire reconstructed point cloud or filter the divided reconstructed slices separately.
  • the first filter coefficient can be determined based on the reconstructed slice and the initial slice corresponding to the reconstructed slice. It should be noted that there is a corresponding relationship between the points in the initial slice and the points in the reconstructed slice.
  • the K 1 target points corresponding to the midpoint of the reconstructed slice can include the current point and (K 1 -1) neighbor points adjacent to the current point, where K 1 is an integer greater than 1. .
  • determining the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice may include: determining the first filter coefficient according to K 1 target points corresponding to the initial slice midpoint and the reconstructed slice midpoint. coefficient.
  • determining the K 1 target points corresponding to the midpoint of the reconstructed slice may include:
  • the first point can be a point in the reconstructed slice.
  • the filter here may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
  • the Wiener filter is taken as an example.
  • the main function of the Wiener filter is to calculate the filter coefficient and at the same time determine whether the quality of the point cloud after Wiener filtering has been improved. That is to say, the filter coefficients (such as the first filter coefficient, the second filter coefficient, etc.) described in the embodiments of the present application can be coefficients used for Wiener filter processing, that is, the filter coefficients can also be called Wiener filter output. coefficient.
  • Wiener Filter is a linear filter with minimization of the mean square error as the optimal criterion.
  • the square of the difference between its output and a given function (often called the expected output) is minimized, and through mathematical operations it can eventually become a problem of solving the Toblitz equation.
  • Wiener filter is also called least squares filter or least squares filter.
  • Wiener filtering is a method that uses the correlation characteristics and spectral characteristics of stationary random processes to filter signals mixed with noise. It is currently one of the basic filtering methods.
  • the specific algorithm of Wiener filtering is as follows:
  • the output when the filter length or order is M is as follows,
  • M is the length or order of the filter
  • y(n) is the output signal
  • x(n) is a column of input signals (mixed with noise).
  • the Wiener filter takes the minimum mean square error as the objective function, so the objective function is expressed as follows,
  • the reciprocal of the coefficient of the objective function should be 0, that is:
  • Rxd and Rxx are the correlation matrix of the input signal and the expected signal and the autocorrelation matrix of the input signal respectively. Therefore, by calculating the optimal solution according to the Wiener-Hough equation, the filter coefficient H can be obtained:
  • determining the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice may include: inputting the reconstructed slice and the initial slice corresponding to the reconstructed slice into the Wiener filter for calculation, and outputting The first filter coefficient.
  • inputting the reconstructed slice and the initial slice corresponding to the reconstructed slice into the Wiener filter for calculation and outputting the first filter coefficient may include:
  • the first filter coefficient is determined.
  • determining the first filter coefficient based on the first attribute parameter and the second attribute parameter may include:
  • Coefficient calculation is performed based on the cross-correlation parameters and auto-correlation parameters to obtain the first filter coefficient.
  • the color component can be first used (such as Y component, U component, V component), the first attribute parameter and the second attribute parameter of the color component are determined, and then the user can be further determined based on the first attribute parameter and the second attribute parameter.
  • the first filter coefficient used for filtering.
  • the first attribute parameter is determined based on the original value of the attribute information of at least one point in the initial slice; the second attribute parameter is determined based on the reconstructed value of the attribute information of K 1 target points corresponding to at least one point in the reconstructed slice.
  • the K 1 target points here include the current point and (K 1 -1) neighbor points adjacent to the current point.
  • the order of the Wiener filter is also involved.
  • the order of the Wiener filter can be set equal to M.
  • the values of M and K 1 may be the same or different, and are not specifically limited here.
  • the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension.
  • filter shapes include diamonds, rectangles, etc.
  • filter dimensions include one-dimensional, two-dimensional or even more dimensions.
  • different filter types can correspond to Wiener filters of different orders.
  • the order values can be 12, 32, and 128 Wiener filters; different types can also be Filters corresponding to different dimensions, such as one-dimensional filters, two-dimensional filters, etc., are not specifically limited here. That is to say, if you need to determine a 16th-order filter, you can use 16 points to determine a 16th-order asymmetric filter, or an 8th-order one-dimensional symmetric filter, or other quantities (such as more special two-dimensional, three-dimensional filter, etc.), the filter is not specifically limited here.
  • the color in the process of determining the first filter coefficient based on the initial slice and the reconstructed slice, the color can first be determined based on the original value of the color component at the midpoint of the initial slice.
  • the first attribute parameter of the color component at the same time, the second attribute parameter of the color component can be determined based on the reconstructed values of the color components of K 1 target points corresponding to the midpoint of the reconstructed slice; finally, the second attribute parameter of the color component can be determined based on the first attribute parameter and the second Attribute parameters determine the first filter coefficient vector corresponding to the color component.
  • the corresponding first attribute parameter and second attribute parameter are calculated for a color component, and the first filter coefficient vector corresponding to the color component is determined using the first attribute parameter and the second attribute parameter.
  • the first filter coefficient vector of each color component can be obtained, so that the first filter can be determined based on the first filter coefficient vector of each color component. coefficient.
  • the cross-correlation parameter corresponding to the color component can be determined based on the first attribute parameter and the second attribute parameter corresponding to the color component; at the same time, the cross-correlation parameter corresponding to the color component can be determined based on the second attribute
  • the parameter determines the autocorrelation parameter corresponding to the color component; then the first filter coefficient vector corresponding to the color component can be determined based on the cross-correlation parameter and the autocorrelation parameter; finally, all color components can be traversed and the first filter coefficient vector corresponding to all color components can be used to determine the first filter coefficient.
  • K 1 target points may include the point itself and (K 1 -1) neighboring points adjacent to it.
  • the point cloud sequence is n
  • use vector S(n) to represent the original value of all points in the initial slice under a certain color component (such as Y component), that is, S(n) is the original value of the Y component of all points in the initial slice.
  • the cross-correlation parameter B(k) is calculated based on the first attribute parameter S(n) and the second attribute parameter P(n,k), as shown below,
  • the autocorrelation parameter A(k,k) is calculated according to the second attribute parameter P(n,k), as shown below,
  • the optimal coefficient H(k) under the Y component that is, the first filter coefficient vector H(k) under the Y component, is as follows,
  • the U component and V component can be traversed according to the above method, and finally the first filter coefficient vector under the U component and the first filter coefficient vector under the V component can be determined, and then the first filter coefficient vector under all color components can be used The first filter coefficient is determined.
  • the process of determining the first filter coefficient it is based on the YUV color space; if the initial slice or reconstructed slice does not conform to the YUV color space (for example, RGB color space), then color space conversion is also required. to make it conform to the YUV color space.
  • YUV color space for example, RGB color space
  • the method may also include: if the color component of the midpoint of the initial slice conforms to the RGB color space, then performing color space conversion on the initial slice so that the color component of the midpoint of the initial slice conforms to the YUV color space; if If the color component of the midpoint of the reconstructed slice conforms to the RGB color space, then the color space conversion of the reconstructed slice is performed so that the color component of the midpoint of the reconstructed slice conforms to the YUV color space.
  • the first attribute parameter and the second attribute parameter corresponding to each color component can be determined based on the color component of the midpoint of the initial slice and the reconstructed slice. attribute parameters, and then the first filter coefficient vector corresponding to each color component can be determined. Finally, the first filter coefficient vector corresponding to all color components can be used to determine the first filter coefficient of the reconstructed slice.
  • S403 Use the first filter coefficient to filter the reconstructed slice, and determine the filtered slice corresponding to the reconstructed slice.
  • the encoder may further use the first filter coefficient to determine the filtered slice corresponding to the reconstructed slice.
  • filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice may include:
  • the first point represents a point in the reconstructed slice.
  • the K 1 target points corresponding to the first point include the first point and the (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice.
  • K 1 is an integer greater than 1.
  • the (K 1 -1) neighbor points here specifically refer to the (K 1 -1) neighbor points with the closest geometric distance to the first point.
  • determining the K 1 target points corresponding to the first point in the reconstructed slice may include:
  • filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice may include:
  • the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
  • the filtered slice when filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, it may include: according to the color component corresponding The first filter coefficient vector performs filtering processing on the K 1 target points corresponding to the first point in the reconstructed slice, and obtains the filtered value of the color component of the first point in the reconstructed slice. In this way, after determining the filter value of the color component of at least one point in the reconstructed slice, the filtered slice can be determined based on the filter value of the color component of the at least one point in the reconstructed slice.
  • the filter value of the color component of each point in the reconstructed slice can be determined based on the first filter coefficient vector and the second attribute parameter corresponding to the color component; and then based on the filter value of the color component of each point in the reconstructed slice, Get filtered slices.
  • the reconstructed slice when using the Wiener filter to filter the reconstructed slice, a noisy signal and an expected signal are required.
  • the reconstructed slice can be used as a noisy signal.
  • the initial slice corresponding to the reconstructed slice is used as the expected signal; therefore, the initial slice and the reconstructed slice can be input into the Wiener filter at the same time, that is, the input of the Wiener filter is the initial slice and the reconstructed slice, and the Wiener filter
  • the output is the first filter coefficient; after obtaining the first filter coefficient, the filtering process of the reconstructed slice can also be completed based on the first filter coefficient to obtain the corresponding filtered slice.
  • the first filter coefficient is obtained based on the initial slice and the reconstructed slice; therefore, by applying the first filter coefficient to the reconstructed slice, the corresponding initial slice can be restored to the maximum extent.
  • the first filter coefficient vector corresponding to the color component can be determined based on the second attribute parameter under the color component. The filter value corresponding to the color component.
  • the first filter coefficient vector H(k) under the Y component is applied to the reconstructed slice, that is, the second attribute parameter P(n,k), to obtain the Y component Filter value R(n), as shown below,
  • the U component and V component can be traversed according to the above method, and finally the filter value under the U component and the filter value under the V component can be determined, and then the filter values under all color components can be used to determine the filter corresponding to the reconstructed slice. Later sliced.
  • S404 Determine the first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to perform filtering processing on the reconstructed slice.
  • the encoder may further determine the first filter identification information based on the filtered slice.
  • the first filtering identification information may indicate whether to perform filtering processing on the reconstructed slice; further, the first filtering identification information may also indicate which one or which colors in the reconstructed slice are to be filtered. components are filtered.
  • the color component may include at least one of the following: a first color component, a second color component, and a third color component; wherein the component to be processed of the attribute information may be the first color component. Any one of the color component, the second color component, and the third color component.
  • a schematic flow chart 2 of an encoding method provided by an embodiment of the present application is shown.
  • the determination of the first filter identification information may include the following steps S501 to S503:
  • S501 Determine the first generation value of the to-be-processed component of the attribute information of the reconstructed slice, and determine the second-generation value of the to-be-processed component of the attribute information of the filtered slice.
  • determining the first-generation value of the component to be processed of the attribute information of the reconstructed slice may include: using the rate-distortion cost method to perform the processing on the component to be processed of the attribute information of the reconstructed slice. Cost value calculation, using the obtained first rate distortion value as the first generation value;
  • Determining the second generation value of the to-be-processed component of the attribute information of the filtered slice may include: using a rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered slice's attribute information, and calculating the resulting second-generation value.
  • the distortion value is obtained as the second generation value.
  • the first filter identification information can be determined using a rate-distortion cost method.
  • the utilization-distortion cost method determines the first-generation value corresponding to the to-be-processed component of the attribute information of the reconstructed slice and the second-generation value corresponding to the to-be-processed component of the filtered slice's attribute information; then based on the first-generation value and the second-generation value
  • the comparison result of the second generation value determines the first filter identification information of the component to be processed.
  • the cost value here may be a distortion value used for distortion measurement, or may be a rate-distortion cost result, etc., which is not specifically limited in the embodiment of the present application.
  • embodiments of this application can also perform rate-distortion trade-offs on filtered slices and reconstructed slices at the same time.
  • the rate-distortion cost method can be used to calculate the overall quality improvement and code stream.
  • Increased rate distortion value can be used to calculate the overall quality improvement and code stream.
  • the first rate distortion value and the second rate distortion value can respectively represent the rate distortion cost results of the reconstructed slice and the filtered slice under the same color component, and are used to represent the compression efficiency of the point cloud before and after filtering.
  • the specific calculation formula is as follows,
  • J is the rate distortion value
  • D is the SSE of the initial slice and the reconstructed slice or the filtered slice, that is, the sum of squares of the corresponding point errors
  • is a quantity related to the quantization parameter QP, which can be selected in the embodiment of this application
  • R i is the code stream size of the color component, expressed in bits.
  • the first rate distortion value of the component to be processed of the reconstructed slice and the second rate distortion value of the component to be processed of the filtered slice can be calculated according to the above method, and used as the first rate distortion value. cost value and the second generation value, and then determine the first filter identification information of the component to be processed based on the comparison result between the two.
  • determining the first-generation value of the component to be processed of the attribute information of the reconstructed slice may include: using the rate-distortion cost method to determine the attribute information of the reconstructed slice to be processed.
  • the cost value of the component is calculated to obtain the first rate distortion value;
  • the preset performance measurement index is used to calculate the performance value of the component to be processed of the attribute information of the reconstructed slice, and the first performance value is obtained; according to the first rate distortion value and the first performance value, determine the first generation value.
  • Determining the second generation value of the to-be-processed component of the attribute information of the filtered slice may include: using a rate-distortion cost method to calculate the cost value of the to-be-processed component of the filtered slice's attribute information to obtain the second rate-distortion value;
  • the preset performance measurement index is used to calculate the performance value of the component to be processed of the attribute information of the filtered slice to obtain the second performance value; the second generation value is determined based on the second rate distortion value and the second performance value.
  • the first performance value and the second performance value can respectively represent the encoding and decoding performance of the reconstructed slice and the filtered slice under the same color component.
  • the first performance value may be the PSNR value of the color component of the midpoint of the reconstructed slice
  • the second performance value may be the PSNR value of the color component of the midpoint of the filtered slice.
  • the embodiments of this application can not only consider the PSNR value to decide whether to perform filtering at the decoding end, but can also use the rate-distortion cost method to perform rate-distortion trade-offs before and after filtering. That is to say, after obtaining the reconstructed slice and the filtered slice, the first performance value and the first rate distortion value of the to-be-processed component of the reconstructed slice can be calculated according to the above method to obtain the first generation value; and the filtered slice can be calculated according to the above method.
  • the second performance value and the second rate distortion value of the component to be processed are sliced to obtain the second generation value, and then the first filter identification information of the component to be processed is determined based on the comparison result of the first generation value and the second generation value.
  • S502 Determine the first filter identification information of the component to be processed based on the first-generation value and the second-generation value.
  • determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
  • the value of the first filter identification information of the component to be processed is determined to be the second value.
  • the value of the first filter identification information of the component to be processed can be determined to be the first value; or, the first value of the component to be processed can also be determined.
  • the value of the filter identification information is the second value.
  • the value of the first filter identification information of the component to be processed is the first value, then it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is filtered. ; Or, if the value of the first filter identification information of the component to be processed is the second value, it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  • determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
  • the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, determine that the value of the first filter identification information of the component to be processed is the first value
  • the second performance value is less than the first performance value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  • determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
  • the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, determine that the value of the first filter identification information of the component to be processed is the first value
  • the second rate distortion value is greater than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  • the value of the first filter identification information of the component to be processed is the first value. Alternatively, it may also be determined that the value of the first filter identification information of the component to be processed is the second value.
  • the value of the first filter identification information of the component to be processed is the first value, then it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is filtered. ; Or, if the value of the first filter identification information of the component to be processed is the second value, it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  • the component to be processed is a color component
  • it can be determined based on the first rate distortion value and the second rate distortion value that one or more of the color components of the filtered slice compared to the reconstructed slice Whether the rate distortion cost (RDCost) has decreased; alternatively, the filtered slice can also be measured based on the first performance value, the first rate distortion value, the second performance value and the second rate distortion value compared to the reconstructed slice. Whether the performance value of one or several of these color components increases while the rate-distortion cost decreases, and then it is determined that one or several of these color components need to be filtered. The following uses RDcost to determine whether one or several of these color components need to be filtered as an example for a detailed introduction.
  • determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may be include:
  • the value of the first filter identification information of the first color component is determined to be the second value.
  • the first filter identification information of the component to be processed is determined based on the first generation value and the second generation value, Can include:
  • the value of the first filter identification information of the second color component is determined to be the second value.
  • determining the first filter identification information of the component to be processed based on the first generation value and the second generation value Can include:
  • the value of the first filter identification information of the third color component is determined to be the second value.
  • the rate distortion cost result (RDCost) of the Y component when determining the first filter identification information of the Y component based on the first rate distortion value and the second rate distortion value, If the RDCost1 corresponding to the reconstructed slice is smaller than the RDCost2 corresponding to the filtered slice, that is, the rate distortion cost of the filtered Y component increases, then the filtering effect can be considered to be poor. At this time, the first filter identification information of the Y component will be set to indicate that the Y component is not correct.
  • a filter identification information indicates filtering of the Y component.
  • embodiments of the present application can traverse the U component and the V component according to the above method, and finally determine the first filter identification information of the U component and the first filter identification information of the V component, so as to utilize the first filter identification information of all color components. to determine the final first filter identification information.
  • S503 Obtain the first filter identification information according to the first filter identification information of the component to be processed.
  • determining the first filter identification information of the reconstructed slice according to the first filter identification information of the component to be processed may include: when the component to be processed is a color component, determining The first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component; according to the first filter identification information of the first color component, the first filter identification information of the second color component The first filter identification information and the first filter identification information of the third color component are used to obtain first filter identification information.
  • the filter identification information here can be in the form of an array, specifically a 1 ⁇ 3 array, which is composed of the first filter identification information of the first color component, the first filter identification information of the second color component and the third color It consists of the first filter identification information of the component.
  • the first filter identification information can be represented by [y u v], where y represents the first filter identification information of the first color component, u represents the first filter identification information of the second color component, and v represents the third color component The first filter identification information.
  • the method may further include: if the value of the first filter identification information of the component to be processed is the first value, determining to perform filtering processing on the component to be processed of the attribute information of the reconstructed slice; if the value of the first filter identification information of the component to be processed is the first value; If the value of the first filter identification information of the processed component is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice will not be filtered.
  • the attribute information takes color components as an example, and the components to be processed may include first color components, second color components, and third color components.
  • the method may further include:
  • the value of the first filter identification information of the first color component is the first value, it is determined to perform filtering processing on the first color component of the reconstructed slice; if the value of the first filter identification information of the first color component is the second value. value, it is determined not to filter the first color component of the reconstructed slice; or,
  • the value of the first filter identification information of the second color component is the first value, it is determined to perform filtering processing on the second color component of the reconstructed slice; if the value of the first filter identification information of the second color component is the second value. value, it is determined not to filter the second color component of the reconstructed slice; or,
  • the value of the first filter identification information of the third color component is the first value, it is determined to perform filtering processing on the third color component of the reconstructed slice; if the value of the first filter identification information of the third color component is the second value. value, it is determined not to perform filtering on the third color component of the reconstructed slice.
  • the color component can be instructed to perform filtering processing; if the first filter identification information corresponding to a certain color component is The second value can indicate that the color component is not filtered.
  • the method may also include:
  • the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the first filter identification information indicates the pair Reconstruct slices for filtering;
  • the first filter identification information of the first color component If all of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component are second values, it is determined that the first filter identification information indicates that reconstruction is not performed. Slices are filtered.
  • the first filter identification information corresponding to these color components are all the second value, then it can be instructed not to perform filtering processing on these color components, and it can be determined that the first filter identification information indication The reconstructed slice is not filtered; accordingly, if at least one of the first filter identification information of these color components is a first value, then it can be indicated that at least one color component is filtered, and it can be determined that the first filter identification information indicates that the Reconstruct slices for filtering.
  • the first value and the second value are different, and the first value and the second value may be in parameter form or in numerical form.
  • the first filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
  • the first value can be set to 1, and the second value can be set to 0; or, the first value can also be set to true, and the second value can also be set to false. ; But there is no specific limit here.
  • the first filter identification information may be encoded; if the first filter identification information indicates filtering of the reconstructed slice, then the third filter identification information also needs to be A filter coefficient is encoded, and the resulting encoded bits are written into the code stream.
  • the encoder obtains the first filter identification information
  • the first filter identification information indicates filtering of the reconstructed slice
  • the first filter coefficient can also be selectively written into the code stream.
  • the first filter identification information can be [1 0 1].
  • the value of the first filter identification information of the first color component is 1, that is, the first color component of the reconstructed slice needs to be Filtering processing
  • the value of the first filter identification information of the second color component is 0, that is, there is no need to perform filtering processing on the second color component of the reconstructed slice
  • the value of the first filter identification information of the third color component is 1, That is, the third color component of the reconstructed slice needs to be filtered; at this time, only the first filter coefficient vector corresponding to the first color component and the first filter coefficient vector corresponding to the third color component need to be written into the code stream, without the need to The first filter coefficient vector corresponding to the second color component is written into the code stream.
  • the method may also include: if the first filtering identification information indicates that the reconstructed slice is not to be filtered, then the first filtering coefficient is not encoded, and at this time, only the first filtering identification information is performed. Encoding, writing the resulting encoded bits into the code stream.
  • the encoder may further determine the first filter identification information based on the reconstructed slice and the filtered slice. If the first filter identification information indicates that the reconstructed slice is filtered, then the first filter identification information and the first filter coefficient need to be written into the code stream; if the first filter identification information indicates that the reconstructed slice is not filtered, then no filtering is performed at this time. To write the first filter coefficient into the code stream, you only need to write the first filter identification information into the code stream for subsequent transmission to the decoder through the code stream.
  • the method may also include: determining the predicted value of the attribute information of the midpoint of the initial slice; determining the initial value according to the original value and predicted value of the color component attribute information of the midpoint of the initial slice.
  • the residual value of the attribute information at the midpoint of the slice ; encode the residual value of the attribute information at the midpoint of the initial slice, and write the resulting coded bits into the code stream. That is to say, after the encoder determines the residual value of the attribute information, it also needs to write the residual value of the attribute information into the code stream for subsequent transmission to the decoder through the code stream.
  • a Wiener filtering operation can be performed on the reconstructed slice, specifically as shown in steps S401 to S407. The operations shown; until all operations on these multiple slices are completed.
  • FIG. 6 a schematic flowchart 3 of an encoding method provided by an embodiment of the present application is shown. As shown in Figure 6, for the filtering process of the entire reconstructed point cloud, the method can also include:
  • S602 Filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
  • S603 Determine the second filtering identification information according to the filtered point cloud; wherein the second filtering identification information indicates whether to perform filtering processing on the reconstructed point cloud.
  • S606 Write the obtained encoded bits into the code stream.
  • the second filter coefficient can be determined based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud. . It should be noted that the points in the initial point cloud and the points in the reconstructed point cloud have a corresponding relationship.
  • the K 2 target points corresponding to the midpoints of the reconstructed point cloud can include the current point and (K 2 -1) neighbor points adjacent to the current point, and K 2 is greater than 1. integer.
  • determining the second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud may include: K 2 target points corresponding to the midpoint of the initial point cloud and the midpoint of the reconstructed point cloud. , determine the second filter coefficient.
  • determining the K 2 target points corresponding to the points in the reconstructed point cloud may include:
  • the first point can be a point in the reconstructed point cloud.
  • K 2 target points corresponding to the first point is to say, for K 2 target points, in addition to the first point itself, it also includes (K 2 -1) neighbor points with the closest geometric distance to the first point, which altogether constitute the reconstructed point cloud.
  • the filter here can also be an adaptive filter, for example, it can be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
  • the Wiener filter is taken as an example.
  • the main function of the Wiener filter is to calculate the filter coefficient and at the same time determine whether the quality of the point cloud after Wiener filtering has been improved.
  • the second filter coefficient here may also be a coefficient used for Wiener filter processing, that is, it may also be called a coefficient output by the Wiener filter.
  • determining the second filter coefficient according to the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud may include: inputting the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud into the Wiener filter Calculation is performed in the processor and the second filter coefficient is output.
  • the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud are input into the Wiener filter for calculation, and the second filter coefficient is output, which may include:
  • the second filter coefficient is determined.
  • determining the second filter coefficient based on the third attribute parameter and the fourth attribute parameter may include:
  • Coefficient calculation is performed based on the cross-correlation parameters and auto-correlation parameters to obtain the second filter coefficient.
  • the initial point cloud and the reconstructed point cloud taking the color component of the attribute information as an example, if the color component conforms to the YUV space, then when determining the second filter coefficient based on the initial point cloud and the reconstructed point cloud, you can First, based on the original value and reconstructed value of the color component (such as Y component, U component, V component), the third attribute parameter and the fourth attribute parameter of the color component are determined, and then the third attribute parameter and the fourth attribute parameter can be determined based on the third attribute parameter and the fourth attribute parameter. A second filter coefficient used for filtering is further determined.
  • the third attribute parameter is determined based on the original value of the attribute information of at least one point in the initial point cloud; the fourth attribute parameter is determined based on the attribute information of K 2 target points corresponding to at least one point in the reconstructed point cloud.
  • the reconstruction value is determined, where the K 2 target points include the current point and (K 2 -1) neighbor points adjacent to the current point.
  • the order of the Wiener filter is also involved.
  • the order of the Wiener filter can be set equal to M.
  • the values of M and K 2 may be the same or different, and are not specifically limited here.
  • the original value of the color component of the point in the initial point cloud can first be determined. , determine the third attribute parameter of the color component; at the same time, the fourth attribute parameter of the color component can be determined based on the reconstructed values of the color components of K 2 target points corresponding to the midpoint of the reconstructed point cloud; finally, the fourth attribute parameter of the color component can be determined based on the third attribute parameters and the fourth attribute parameter to determine the second filter coefficient vector corresponding to the color component.
  • the corresponding third attribute parameter and fourth attribute parameter are calculated for a color component, and the second filter coefficient vector corresponding to the color component is determined using the third attribute parameter and the fourth attribute parameter.
  • the second filter coefficient vector of each color component can be obtained, so that the second filter can be determined based on the second filter coefficient vector of each color component. coefficient.
  • the cross-correlation parameter corresponding to the color component can first be determined based on the third attribute parameter and the fourth attribute parameter corresponding to the color component; at the same time, the cross-correlation parameter corresponding to the color component can be determined based on the third attribute parameter.
  • the four attribute parameters determine the autocorrelation parameters corresponding to the color components; then the second filter coefficient vector corresponding to the color components can be determined based on the cross-correlation parameters and autocorrelation parameters; finally, all color components can be traversed and the second filtering corresponding to all color components can be used coefficient vector to determine the second filter coefficient.
  • K 2 target points may include the point itself and (K 2 -1) neighboring points adjacent to it.
  • the point cloud sequence is n
  • S(n) is the Y component of all points in the initial point cloud
  • the third attribute parameter composed of the original value of n, k) is the fourth attribute parameter composed of the reconstructed values of the Y components of K 2 target points corresponding to all points in the reconstructed point cloud.
  • the cross-correlation parameter B(k) is calculated according to the third attribute parameter S(n) and the fourth attribute parameter P(n,k), as shown in the above formula (10); according to the fourth attribute parameter P(n,k) ) to calculate the autocorrelation parameter A(k,k), as shown in the above formula (11); according to the Wiener-Hough equation, the optimal coefficient H(k) under the Y component is the The two filter coefficient vectors H(k) are shown in the above formula (12).
  • the U component and V component can be traversed according to the above method, and the second filter coefficient vector under the U component and the second filter coefficient vector under the V component are finally determined, and then the second filter coefficient vector under all color components can be used. Determine the second filter coefficient.
  • the process of determining the second filter coefficient it is also based on the YUV color space; if the initial point cloud or the reconstructed point cloud does not conform to the YUV color space (for example, RGB color space), then the color space also needs to be Convert to conform to YUV color space.
  • the YUV color space for example, RGB color space
  • the method may also include: if the color components of the points in the initial point cloud conform to the RGB color space, then performing color space conversion on the initial point cloud so that the color components of the points in the initial point cloud conform to the YUV color space; if the color components of the points in the reconstructed point cloud conform to the RGB color space, then perform color space conversion on the reconstructed point cloud so that the color components of the points in the reconstructed point cloud conform to the YUV color space.
  • the third attribute corresponding to each color component can be determined based on the color components of the points in the initial point cloud and the reconstructed point cloud. parameters and fourth attribute parameters, and then the second filter coefficient vector corresponding to each color component can be determined. Finally, the second filter coefficient vector corresponding to all color components can be used to determine the second filter coefficient of the reconstructed point cloud.
  • the encoder may further use the second filter coefficient to determine the filtered point cloud corresponding to the reconstructed point cloud.
  • filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud may include:
  • the first point represents a point in the reconstructed point cloud
  • the K 2 target points corresponding to the first point include the first point and the (K 2 -1) neighbors adjacent to the first point in the reconstructed point cloud.
  • K 2 is an integer greater than 1.
  • the (K 2 -1) neighbor points here specifically refer to the (K 2 -1) neighbor points with the closest geometric distance to the first point in the reconstructed point cloud.
  • the K 2 target points corresponding to the first point in the reconstructed point cloud it is first necessary to determine the K 2 target points corresponding to the first point in the reconstructed point cloud. Specifically, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud, calculate the distance value between the first point and these candidate points, and then select from these candidate points.
  • filtering the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud may include:
  • the filtered point cloud is determined according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
  • the second filter coefficient vector performs filtering on the K 2 target points corresponding to the first point in the reconstructed point cloud, and obtains the filtered value of the color component of the first point in the reconstructed point cloud.
  • the filtered point cloud can be determined based on the filter value of the color component of the at least one point in the reconstructed point cloud.
  • the filter value of the color component of each point in the reconstructed point cloud can be determined based on the first filter coefficient vector and the fourth attribute parameter corresponding to the color component; and then based on the filtering of the color component of each point in the reconstructed point cloud value to obtain the filtered point cloud.
  • the reconstructed point cloud when using the Wiener filter to filter the reconstructed point cloud, the reconstructed point cloud can be used as a noisy signal, and the initial point cloud corresponding to the reconstructed point cloud can be used as the expected signal; therefore,
  • the initial point cloud and reconstructed point cloud can be input into the Wiener filter at the same time, that is, the input of the Wiener filter is the initial point cloud and the reconstructed point cloud, and the output of the Wiener filter is the second filter coefficient; after obtaining the second After the filtering coefficient, the filtering process of the reconstructed point cloud can also be completed based on the second filtering coefficient to obtain the corresponding filtered point cloud.
  • the second filter coefficient is obtained based on the initial point cloud and the reconstructed point cloud; therefore, applying the second filter coefficient to the reconstructed point cloud can restore the corresponding initial point to the maximum extent cloud.
  • the second filter coefficient vector corresponding to the color component can be determined based on the fourth attribute parameter under the color component. The filter value corresponding to this color component.
  • the second filter coefficient vector H(k) under the Y component is applied to the reconstructed point cloud, that is, the fourth attribute parameter P(n,k), to obtain the Y component under
  • the filter value R(n) is shown in the above formula (13). Then you can also traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the corresponding value of the reconstructed point cloud. Point cloud after filtering.
  • the encoder can also determine the second filter identification information based on the filtered point cloud.
  • the second filtering identification information may indicate whether to perform filtering processing on the reconstructed point cloud; further, the second filtering identification information may also indicate which color component or color components in the reconstructed point cloud are subjected to filtering processing.
  • the color component may include at least one of the following: a first color component, a second color component, and a third color component; wherein the component to be processed of the attribute information may be the first color component. Any one of the color component, the second color component, and the third color component.
  • determining the second filter identification information based on the filtered point cloud may include:
  • the second filter identification information of the component to be processed is obtained.
  • determining the third-generation value of the to-be-processed component of the reconstructed point cloud's attribute information may include: using a rate-distortion cost method to calculate the value of the to-be-processed component of the reconstructed point cloud's attribute information. Calculate and use the obtained third rate distortion value as the third generation value.
  • Determining the fourth generation value of the to-be-processed component of the attribute information of the filtered point cloud may include: using the rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered point cloud's attribute information, and calculating the obtained fourth-generation value of the attribute information of the filtered point cloud.
  • the fourth rate distortion value is used as the fourth generation value.
  • the first filter identification information can be determined using a rate-distortion cost method.
  • the utilization distortion cost method is used to determine the third-generation value corresponding to the to-be-processed component of the attribute information of the reconstructed point cloud and the fourth-generation value corresponding to the to-be-processed component of the filtered point cloud's attribute information; then based on the third-generation value
  • the comparison result with the fourth generation value determines the second filter identification information of the component to be processed.
  • the cost value here may be a distortion value used for distortion measurement, or may be a rate-distortion cost result, etc., which is not specifically limited in the embodiment of the present application.
  • embodiments of this application can also perform rate-distortion trade-offs on the filtered point cloud and the reconstructed point cloud at the same time.
  • the rate-distortion cost method can be used to calculate the overall quality improvement and The rate distortion value after the code stream is increased.
  • the third rate distortion value and the fourth rate distortion value can respectively represent the rate distortion cost results of the reconstructed point cloud and the filtered point cloud under the same color component, and are used to represent the compression efficiency of the point cloud before and after filtering.
  • the specific calculation is as shown in the above equation (14).
  • J is the rate distortion value
  • D is the SSE of the initial point cloud and the reconstructed point cloud or the filtered point cloud, that is, the sum of squares of the corresponding point errors
  • is a quantity related to the quantization parameter QP, which can be selected in the embodiment of this application
  • R i is the code stream size of the color component, expressed in bits.
  • the third rate distortion value of the component to be processed of the reconstructed point cloud and the fourth rate distortion value of the component to be processed of the filtered point cloud can be calculated according to the above method. It is used as the third generation value and the fourth generation value, and then the second filter identification information of the component to be processed is determined based on the comparison result between the two.
  • determining the third generation value of the component to be processed of the attribute information of the reconstructed point cloud may include: using a rate-distortion cost method to generate the value of the component to be processed of the attribute information of the reconstructed point cloud. value calculation to obtain the third rate distortion value; use preset performance measurement indicators to calculate the performance value of the to-be-processed component of the attribute information of the reconstructed point cloud, and obtain the third performance value; according to the third rate distortion value and the third performance value, Determine third generation value.
  • Determining the fourth generation value of the to-be-processed component of the attribute information of the filtered point cloud may include: using the rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered point cloud's attribute information to obtain the fourth rate distortion. value; use the preset performance measurement index to calculate the performance value of the to-be-processed component of the attribute information of the filtered point cloud to obtain the fourth performance value; determine the fourth generation value based on the fourth rate distortion value and the fourth performance value.
  • the third performance value and the fourth performance value can respectively represent the encoding and decoding performance of the reconstructed point cloud and the filtered point cloud under the same color component.
  • the third performance value may be the PSNR value of the color component of the point in the reconstructed point cloud
  • the fourth performance value may be the PSNR value of the color component of the point in the point cloud after filtering.
  • the embodiments of the present application can not only consider the PSNR value to decide whether to perform filtering at the decoding end, but can also use the rate-distortion cost method to perform rate-distortion trade-offs before and after filtering.
  • the third performance value and the third rate distortion value of the to-be-processed component of the reconstructed point cloud can be calculated according to the above method to obtain the third generation value; and calculation
  • the fourth performance value and the fourth rate distortion value of the component to be processed of the filtered point cloud are obtained to obtain the fourth generation value, and then the second value of the component to be processed is determined based on the comparison result of the third generation value and the fourth generation value.
  • Filter identification information In this way, not only the improvement of attribute value quality is considered, but also the cost of writing the second filter coefficient and other information into the code stream is calculated.
  • the performance of the two is combined to determine whether the compression performance after filtering has been improved, thereby deciding whether the encoding end should perform Transfer of the second filter coefficient.
  • determining the second filter identification information of the component to be processed based on the third generation value and the fourth generation value may include: if the fourth generation value is less than the third generation value, determining the second filter identification information of the component to be processed. The value of the second filter identification information is the third value; if the fourth generation value is greater than the third generation value, it is determined that the value of the second filter identification information of the component to be processed is the fourth value.
  • the value of the second filter identification information of the component to be processed can be determined to be the third value; or, the second value of the component to be processed can also be determined.
  • the value of the filter identification information is the fourth value.
  • the value of the second filter identification information of the component to be processed is determined to be the third value; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the component to be processed is determined to be the third value. rate distortion value, it is determined that the value of the second filter identification information of the component to be processed is the fourth value.
  • the fourth performance value is greater than the third performance value and the fourth rate distortion value is less than the third rate distortion value, then it is determined that the value of the second filter identification information of the component to be processed is the third value; if the fourth performance value is less than the third performance value or the fourth rate distortion value is greater than the third rate distortion value, then the value of the second filter identification information of the component to be processed is determined to be the fourth value.
  • the value of the second filter identification information of the component to be processed is the third value; alternatively, the value of the second filter identification information of the component to be processed may also be determined to be the fourth value.
  • the value of the second filter identification information of the component to be processed is the third value, then it can be determined that the second filter identification information of the component to be processed indicates filtering of the component to be processed of the attribute information of the reconstructed point cloud. Process; or, if the value of the second filter identification information of the component to be processed is the fourth value, it can be determined that the second filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  • the component to be processed when the component to be processed is a color component, it can be determined based on the third rate distortion value and the fourth rate distortion value that compared with the reconstructed point cloud, one of these color components or Whether the rate distortion cost (RDCost) of certain components has decreased; or, the phase of the filtered point cloud can also be measured based on the third performance value, the third rate distortion value, the fourth performance value and the fourth rate distortion value.
  • RDCost rate distortion cost
  • the fourth rate distortion value is less than the third rate distortion value, it is determined that the value of the second filter identification information of the first color component is the third value; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the first color component is determined to be the fourth value.
  • the component to be processed is the second color component
  • if the fourth rate distortion value is less than the third rate distortion value it is determined that the value of the second filter identification information of the second color component is the third rate distortion value.
  • the component to be processed is the third color component
  • if the fourth rate distortion value is less than the third rate distortion value it is determined that the value of the second filter identification information of the third color component is the third color component.
  • the rate distortion cost result (RDCost) of the Y component when determining the first filter identification information of the Y component based on the third rate distortion value and the fourth rate distortion value, if the RDCost1 corresponding to the reconstructed point cloud If it is less than the RDCost2 corresponding to the filtered point cloud, that is, the rate distortion cost of the filtered Y component increases, then the filtering effect can be considered to be poor.
  • the second filter identification information of the Y component will be set to indicate that the Y component will not be filtered; accordingly If the RDCost1 corresponding to the reconstructed point cloud is greater than the RDCost2 corresponding to the filtered point cloud, that is, the rate distortion cost of the Y component after filtering is reduced, then the filtering effect can be considered to be better, and the second filter flag of the Y component will be set at this time.
  • the information indicates filtering of the Y component. In this way, embodiments of the present application can traverse the U component and the V component according to the above method, and finally determine the second filter identification information of the U component and the second filter identification information of the V component, so as to utilize the second filter identification information of all color components. to determine the final second filter identification information.
  • determining the second filter identification information of the reconstructed point cloud according to the second filter identification information of the component to be processed may include: when the component to be processed is a color component, determining the first color The second filter identification information of the second color component, the second filter identification information of the second color component, and the second filter identification information of the third color component; according to the second filter identification information of the first color component, the second filtering information of the second color component The identification information and the second filter identification information of the third color component are used to obtain the second filter identification information.
  • the second filter identification information here can also be in the form of an array, specifically a 1 ⁇ 3 array, which is composed of the second filter identification information of the first color component, the second filter identification information of the second color component and It consists of the second filter identification information of the third color component.
  • the second filter identification information can be represented by [Y U V], where Y represents the second filter identification information of the first color component, U represents the second filter identification information of the second color component, and V represents the third color component The second filter identification information.
  • the second filter identification information includes filter identification information for each color component, the second filter identification information can not only be used to determine whether to filter the reconstructed point cloud, but also to determine whether to filter the reconstructed point cloud. Specifically which color component is filtered. Therefore, in some embodiments, the method may further include: if the value of the second filter identification information of the component to be processed is a third value, determining to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud; if If the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  • the attribute information takes color components as an example, and the components to be processed may include first color components, second color components, and third color components.
  • the method may further include:
  • the value of the second filter identification information of the first color component is the third value, it is determined to perform filtering processing on the first color component of the reconstructed point cloud; if the value of the second filter identification information of the first color component is the third value. Four values, then it is determined not to filter the first color component of the reconstructed point cloud; or,
  • the value of the second filter identification information of the second color component is the third value, it is determined to perform filtering processing on the second color component of the reconstructed point cloud; if the value of the second filter identification information of the second color component is the third value. Four values, then it is determined not to filter the second color component of the reconstructed point cloud; or,
  • the value of the second filter identification information of the third color component is the third value, then it is determined to perform filtering processing on the third color component of the reconstructed point cloud; if the value of the second filter identification information of the third color component is the third value. Four values, it is determined that the third color component of the reconstructed point cloud will not be filtered.
  • the color component can be instructed to perform filtering processing; if the second filter identification information corresponding to a certain color component is The fourth value can indicate that the color component is not filtered.
  • the method may also include:
  • the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the second filter identification information indicates the pair Reconstruct the point cloud for filtering;
  • the second filter identification information of the first color component If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, it is determined that the second filter identification information indicates that reconstruction is not performed.
  • the point cloud is filtered.
  • the second filter identification information corresponding to these color components are all the fourth value, then it can be instructed that these color components are not filtered, and the second filter identification information indication can be determined.
  • the reconstructed point cloud is not filtered; accordingly, if at least one of the second filter identification information of these color components is the third value, then it can be indicated that at least one color component is filtered, and the second filter identification information indication can be determined Filter the reconstructed point cloud.
  • the third value and the fourth value are different, and the third value and the fourth value may be in parameter form or in numerical form.
  • the second filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
  • the first filter identification information and the second filter identification information have different expression forms.
  • the first filter identification information can be [0 1 1]
  • the second filter identification information can be [0 2 2]; where the array [0 11] indicates that it is necessary to reconstruct the sum of the second color component in the slice The third color component is filtered.
  • the array [0 2 2] indicates that the second color component and the third color component in the reconstructed point cloud need to be filtered.
  • the second filter identification information can be encoded; if the second filter identification information indicates filtering of the reconstructed point cloud, then the second filter identification information also needs to be processed.
  • the filter coefficients are encoded, and the resulting encoded bits are written into the code stream.
  • the second filter coefficient may be selectively written into the code stream.
  • the value of the second filter identification information of the first color component is 0, that is, there is no need to filter the first color component of the reconstructed point cloud;
  • the value of the second filter identification information of the second color component is 2, that is, the second color component of the reconstructed point cloud needs to be filtered;
  • the value of the second filter identification information of the third color component is 2, that is, the second color component of the reconstructed point cloud needs to be filtered.
  • the third color component of the reconstructed point cloud is filtered; at this time, it is only necessary to write the second filter coefficient vector corresponding to the second color component and the second filter coefficient vector corresponding to the third color component into the code stream, without the need to write the first
  • the second filter coefficient vector corresponding to the color component is written into the code stream.
  • the method may also include: if the second filter identification information indicates that the reconstructed point cloud is not to be filtered, then the second filter coefficient is not encoded, and only the second filter identification information is encoded at this time. Encode and write the resulting encoded bits into the code stream.
  • the encoder can further determine the second filter identification information based on the reconstructed point cloud and the filtered point cloud. If the second filter identification information indicates that the reconstructed point cloud is filtered, then the second filter identification information and the second filter coefficient need to be written into the code stream; if the second filter identification information indicates that the reconstructed point cloud is not filtered, then this At this time, there is no need to write the second filter coefficient into the code stream. It is only necessary to write the second filter identification information into the code stream for subsequent transmission to the decoder through the code stream.
  • the method may also include: determining the predicted value of the attribute information of the midpoint of the initial slice; determining the initial value according to the original value and predicted value of the color component attribute information of the midpoint of the initial slice.
  • the residual value of the attribute information at the midpoint of the slice ; encode the residual value of the attribute information at the midpoint of the initial slice, and write the resulting coded bits into the code stream. That is to say, after the encoder determines the residual value of the attribute information, it also needs to write the residual value of the attribute information into the code stream for subsequent transmission to the decoder through the code stream.
  • the method may also include:
  • n initial slices are determined from the multiple initial slices, and the n initial slices are aggregated to obtain initial aggregated slices;
  • the third filter coefficient is encoded
  • the third filter coefficient is not encoded. At this time, only the third filter identification information is encoded, and the resulting coded bits are written. Input code stream.
  • Wiener filtering can still be used to determine the third filter coefficient.
  • the specific determination process is similar to the aforementioned determination process of the first filter coefficient and the second filter coefficient, and will not be described in detail here.
  • the reconstructed aggregate slice is filtered according to the third filter coefficient.
  • the K 3 target points corresponding to the first point in the reconstructed aggregate slice are filtered according to the third filter coefficient to determine the filtered aggregate slice.
  • the first point here represents the point in the reconstructed aggregation slice.
  • the K 3 target points corresponding to the first point include the first point and the (K 3 -1) neighbor points adjacent to the first point in the reconstructed aggregation slice.
  • K 3 is an integer greater than 1; the (K 3 -1) neighbor points here specifically refer to the (K 3 -1) neighbor points with the closest geometric distance to the first point in the reconstructed aggregation slice.
  • n (1 ⁇ n ⁇ S, S is the total number of slices) slices can be first constructed into a relatively large point cloud.
  • the quality enhancement processing method is then applied to the slice; thus, the number of transmitted filter coefficients can be reduced, and the compression efficiency can be improved; and this method can also be successfully implemented when S is not too large.
  • the embodiments of the present application may also perform quality enhancement processing on reconstructed slices first, and then perform an overall quality enhancement processing on the entire reconstructed point cloud after all reconstructed slices are processed to achieve the purpose of secondary enhancement. Therefore, in some embodiments, the method may further include:
  • the fourth filtering identification information indicates that the first filtered point cloud is not to be filtered, the fourth filtering coefficient will not be encoded. At this time, only the fourth filtering identification information will be encoded, and the obtained The encoded bits are written into the code stream.
  • Wiener filtering can still be used to determine the fourth filter coefficient.
  • the specific determination process is similar to the aforementioned determination process of the first filter coefficient and the second filter coefficient, and will not be described in detail here.
  • the first filtered point cloud is filtered according to the fourth filter coefficient.
  • the K 4 target points corresponding to the first point in the first filtered point cloud are filtered according to the fourth filter coefficient to determine the Second filtered point cloud.
  • the first point here represents the point in the first filtered point cloud
  • the K 4 target points corresponding to the first point include the first point and (K 4 ) adjacent to the first point in the first filtered point cloud.
  • -1) neighbor points K 4 is an integer greater than 1; the (K 4 -1) neighbor points here specifically refer to the (K 4 -1) closest geometric distance to the first point in the first filtered point cloud ) nearest neighbor points.
  • K 1 , K 2 , K 3 and K 4 may be the same or different.
  • K 1 , K 2 , K 3 , and K 4 can all be set to 16, but this is not specifically limited in this embodiment.
  • Wiener filter proposed in the embodiment of this application can be used within the prediction loop, that is, as an inloop filter, and can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as an inloop filter.
  • Post filter is used and is not used as a reference for decoding subsequent point clouds. There is no specific limitation on this.
  • the Wiener filter proposed in the embodiment of the present application is an in-loop filter
  • the parameter information indicating the filtering process needs to be set, such as The filter identification information is written into the code stream, and the filter coefficients also need to be written into the code stream.
  • the Wiener filter proposed in the embodiment of this application is a post-processing filter
  • the filter coefficient corresponding to the filter is located in a separate auxiliary information data unit (for example, supplementary enhancement information SEI)
  • auxiliary information data unit for example, supplementary enhancement information SEI
  • the decoder does not obtain the supplementary enhancement information, it will not Reconstruct the point cloud for filtering.
  • the filter coefficients and other information corresponding to the filter are in an auxiliary information data unit.
  • the parameter information indicating the filtering process such as the filter identification information
  • the filter coefficients also need to be written into the code stream; accordingly, after determining not to perform filtering, you can choose not to write parameter information indicating filtering, such as filter identification information, into the code stream, and at the same time, do not write the filtering information into the code stream.
  • the coefficients are written into the code stream.
  • the embodiments of this application propose a technology that adaptively performs Wiener filtering on the YUV component in the encoding and decoding attribute information to better enhance the quality of the point cloud. Specifically, it can be based on the number of points in the reconstructed point cloud. , decide whether to perform Wiener filtering on the entire reconstructed point cloud, or filter the divided slices separately. This can not only ensure the point cloud compression efficiency to the greatest extent, but also be more universal, that is, this method has application value for any point cloud.
  • the embodiment of the present application proposes an adaptive point cloud color quality improvement method, which is suitable for any point cloud sequence.
  • the number of points in the point cloud is used as a priori knowledge, thereby achieving efficiency and generality.
  • it when applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity.
  • the disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to perform its due function on large point clouds. function; when applied to each slice, the compression efficiency improvement is slightly lower than the former due to more information being transmitted, but this method consumes less resources.
  • the preset threshold T of points is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this technical solution is not limited to Wiener filtering operations. Solutions can be provided for any method that is constrained by resources, etc.
  • This embodiment provides an encoding method, which is applied to the encoder.
  • determine the reconstructed slice of the reconstructed point cloud when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice; filter the reconstructed slice according to the first filter coefficient, Determine the filtered slice corresponding to the reconstructed slice; determine the first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to filter the reconstructed slice; encode the first filter identification information; if the first filter If the identification information indicates that the reconstructed slice is filtered, the first filter coefficient is encoded; the resulting encoded bits are written into the code stream.
  • the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; so , filtering based on reconstructed slices can not only avoid memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud. quality, save bit rate, and thus improve encoding and decoding performance.
  • the embodiment of the present application also provides a code stream, which may contain parameter information for determining the decoded point cloud; wherein the parameter information includes at least one of the following: initial slice midpoint The residual value of the attribute information, the first filter identification information and the first filter coefficient.
  • the decoder obtains the attribute information of the midpoint of the initial slice through decoding.
  • the residual value is then constructed to construct a reconstructed slice; and the decoder obtains the first filter identification information through decoding, and can also determine whether the reconstructed slice needs to be filtered; if it is necessary to filter the reconstructed slice, it can be obtained directly through decoding a first filter coefficient, and filter the reconstructed slice according to the first filter coefficient.
  • the parameter information may also include second filter identification information and second filter coefficients; after the decoder constructs the reconstructed point cloud, the second filter can be obtained through decoding Identification information to determine whether the reconstructed point cloud needs to be filtered; if it is necessary to filter the reconstructed point cloud, the second filter coefficient can also be directly obtained through decoding, and the reconstructed point cloud can be filtered according to the second filter coefficient deal with. In this way, it not only realizes the optimization of the reconstructed point cloud and improves the quality of the point cloud; it also solves the problem of memory overflow due to limited memory resources, and has universal applicability.
  • FIG. 7 shows a schematic flowchart 1 of a decoding method provided by an embodiment of the present application.
  • the method may include:
  • S701 Analyze the code stream and determine the first filter identification information.
  • S703 Filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
  • the decoding method described in the embodiment of the present application specifically refers to the point cloud decoding method, which can be applied to a point cloud decoder (in the embodiment of the present application, it may be referred to as a "decoder" for short).
  • the decoder may first parse the code stream to determine filter identification information, such as first filter identification information, second filter identification information, etc.
  • the first filtering identification information may indicate whether to perform filtering processing on the reconstructed slice
  • the second filtering identification information may indicate whether to perform filtering processing on the reconstructed point cloud.
  • the first filter identification information may also indicate which color component or color components in the reconstructed slice are to be filtered
  • the second filter identification information may also indicate which color component or color components in the reconstructed point cloud to be filtered. Perform filtering.
  • the reconstructed point cloud for a point in the reconstructed slice, when decoding this point, it can be used as a point to be decoded in the reconstructed slice, and the point There are multiple decoded points surrounding a point.
  • a point in the reconstructed slice it corresponds to a piece of geometric information and an attribute information; wherein, the geometric information represents the spatial position of the point, and the attribute information represents the attribute value (such as color component value) of the point.
  • the attribute information may include color components, specifically color information in any color space.
  • the attribute information may be color information in RGB space, color information in YUV space, color information in YCbCr space, etc., which are not limited in the embodiments of this application.
  • the color component may include at least one of the following: a first color component, a second color component, and a third color component.
  • the first color component, the second color component, and the third color component are: R component, G component, and B component; if the color component conforms to the YUV color space, then it can be determined
  • the first color component, the second color component and the third color component are: Y component, U component, V component; if the color component conforms to the YCbCr color space, then the first color component, the second color component and the third color can be determined
  • the components are: Y component, Cb component, Cr component.
  • the attribute information of the point can be a color component, or it can be reflectivity, refractive index or other attributes, and the embodiment of the present application does not make any limitation. .
  • the decoder can determine the residual value of the attribute information of the midpoint of the initial slice by decoding the code stream in order to construct the reconstructed slice. Therefore, in some embodiments, the method may further include:
  • the reconstructed slice is determined based on the reconstructed value of the attribute information of the initial slice midpoint.
  • the predicted value and residual value of the attribute information of the point can be determined first, and then the predicted value and residual value are further used to calculate and obtain the attribute information of the point.
  • Reconstruction values to construct reconstructed slices Specifically, for a point in the reconstructed slice, when determining the predicted value of the attribute information of the point, the geometric information and attribute information of multiple target neighbor points of the point can be used, and the geometric information of the point can be combined to predict the point. The attribute information is predicted to obtain the corresponding prediction value, and then the corresponding reconstruction value can be determined.
  • the point after determining the reconstruction value of the attribute information of the point, the point can be used as the nearest neighbor of the subsequent LOD midpoint, so that the reconstruction value of the attribute information of the point can be used to continue to reconstruct subsequent points. Attribute prediction is performed so that reconstructed slices can be constructed.
  • the method may further include: after determining at least one reconstructed slice, performing aggregation processing on the at least one reconstructed slice to determine the reconstructed point cloud.
  • the initial point cloud can be obtained directly through the point cloud reading function of the codec program, and the reconstructed point cloud is obtained after attribute encoding, attribute reconstruction, and geometric compensation.
  • the reconstructed point cloud in the embodiment of the present application can be the reconstructed point cloud output after decoding, or can be used as a reference for subsequent decoding point clouds; in addition, the reconstructed point cloud here can not only be within the prediction loop, that is, as an inloop When used as a filter, it can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter, and is not used as a reference for decoding subsequent point clouds; the embodiments of this application do not specifically limit this.
  • the method may further include: determining parameter information of the reconstructed point cloud; and determining whether the reconstructed point cloud satisfies a preset condition based on the parameter information of the reconstructed point cloud.
  • analyzing the code stream and determining the first filter identification information may include: when the reconstructed point cloud meets the preset conditions, parsing the code stream and determining the first filter identification information.
  • determining the parameter information of the reconstructed point cloud may be determining the number of points in the reconstructed point cloud.
  • the parameter information of the reconstructed point cloud (such as the number of points in the reconstructed point cloud) can be obtained by parsing the code stream, or can be determined based on the decoded geometric information. There is no limitation here. In this way, embodiments of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstruction slices.
  • the method may also include:
  • the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset conditions.
  • the preset threshold here can be used to measure whether the reconstructed point cloud is a large point cloud, that is, whether the reconstructed point cloud is filtered as a whole or filtered according to divided reconstructed slices. For example, if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, it means that the number of points in the reconstructed point cloud is too many. In order to avoid memory overflow when filtering it, it can be determined that the When the reconstructed point cloud meets the preset conditions, filtering is performed according to the divided reconstruction slices; if the number of points in the reconstructed point cloud is less than the preset threshold, it means that the number of points in the reconstructed point cloud will not cause any problems during filtering.
  • the reconstructed point cloud does not meet the preset conditions.
  • the reconstructed point cloud is filtered as a whole; in this way, the point cloud compression efficiency can be ensured to the greatest extent and it is more universal. sex.
  • the first filter identification information may include filter identification information of the component to be processed of the attribute information.
  • parsing the code stream and determining the first filter identification information may include: parsing the code stream and determining the first filter identification information of the component to be processed; wherein, the component to be processed
  • the first filtering identification information indicates whether to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice.
  • parsing the code stream and determining the first filter identification information may also include: if the value of the first filter identification information of the component to be processed is the first value, determining whether to reconstruct the slice.
  • the to-be-processed component of the attribute information of the reconstructed slice is filtered; if the value of the first filter identification information of the to-be-processed component is the second value, it is determined that the to-be-processed component of the attribute information of the reconstructed slice is not to be filtered.
  • parsing the code stream and determining the first filter identification information may include: parsing the code stream and determining the first filter identification information of the first color component and the first filter identification information of the second color component. and first filter identification information of the third color component.
  • the first filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice
  • the first filter identification information of the second color component indicates whether to perform filtering processing on the second part of the attribute information of the reconstructed slice.
  • the color component is filtered
  • the first filter identification information of the third color component indicates whether to perform filtering on the third color component of the attribute information of the reconstructed slice.
  • the first filter identification information may be in the form of an array, specifically a 1 ⁇ 3 array, which is composed of the first filter identification information of the first color component, the first filter identification information of the second color component and the third color It consists of the first filter identification information of the component.
  • the first filter identification information can be represented by [y u v], where y represents the first filter identification information of the first color component, u represents the first filter identification information of the second color component, and v represents the third color component The first filter identification information.
  • the first filter identification information includes the first filter identification information corresponding to each color component, the first filter identification information can not only be used to determine whether to perform filtering processing on the reconstructed slice, but also can be used to determine whether to filter the reconstructed slice. Determine which color component or color components are to be filtered.
  • the value of the first filter identification information of the first color component is the first value, then it is determined to perform filtering processing on the first color component of the attribute information of the reconstructed slice; if the first color component The value of the first filter identification information of is the second value, then it is determined not to perform filtering processing on the first color component of the attribute information of the reconstructed slice; or, if the value of the first filter identification information of the second color component is the first value, it is determined that the second color component of the attribute information of the reconstructed slice is filtered; if the value of the first filter identification information of the second color component is the second value, it is determined that the second color of the attribute information of the reconstructed slice is not filtered.
  • the component is subjected to filtering processing; or, if the value of the first filter identification information of the third color component is the first value, it is determined to perform filtering processing on the third color component of the attribute information of the reconstructed slice; if the third color component of the third color component is filtered. If the value of the filter identification information is the second value, it is determined that the third color component of the attribute information of the reconstructed slice will not be filtered. That is to say, in the embodiment of the present application, if the first filter identification information corresponding to a certain color component is the first value, then the color component can be instructed to perform filtering processing; if the first filter identification information corresponding to a certain color component is The second value can indicate that the color component is not filtered.
  • the method may also include:
  • the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the first filter identification information indicates the pair Reconstruct slices for filtering;
  • the first filter identification information of the first color component If all of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component are second values, it is determined that the first filter identification information indicates that reconstruction is not performed. Slices are filtered.
  • the first filter identification information corresponding to these color components are all the second value, then it can be instructed not to perform filtering processing on these color components, and it can be determined that the first filter identification information indication The reconstructed slice is not filtered; accordingly, if at least one of the first filter identification information of these color components is a first value, then it can be indicated that at least one color component is filtered, and it can be determined that the first filter identification information indicates that the Reconstruct slices for filtering.
  • the first value and the second value are different, and the first value and the second value may be in parameter form or in numerical form.
  • the identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
  • the first value can be set to 1, and the second value can be set to 0; or, the first value can also be set to true, and the second value can also be set to false. ; But there is no specific limit here.
  • the decoder after the decoder decodes the code stream and determines the first filtering identification information, if the first filtering identification information indicates filtering of the reconstructed slice, it can further decode to obtain the filtering process.
  • the first filter coefficient After the decoder decodes the code stream and determines the first filtering identification information, if the first filtering identification information indicates filtering of the reconstructed slice, it can further decode to obtain the filtering process.
  • the first filter coefficient the first filter coefficient.
  • the filter may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
  • Wiener filter as an example, the first filter coefficients described in the embodiments of the present application can be used for Wiener filtering, that is, the first filter coefficients are coefficients processed by Wiener filtering.
  • Wiener filter is a linear filter with minimization of the mean square error as the optimal criterion.
  • the square of the difference between its output and a given function (often called the expected output) is minimized, and through mathematical operations it can eventually become a problem of solving the Toblitz equation.
  • Wiener filter is also called least squares filter or least squares filter.
  • the first filter coefficient may refer to the first filter coefficient corresponding to the component to be processed.
  • parsing the code stream and determining the first filter coefficient may include: if the first filter identification information of the component to be processed is If the value is the first value, then the code stream is parsed to determine the first filter coefficient vector corresponding to the component to be processed.
  • the color component here includes a first color component, a second color component and a third color component; accordingly, the first filter coefficient may be the first color component.
  • the code stream is parsed to determine the first filter coefficient vector corresponding to the first color component; or if If the value of the first filter identification information of the second color component is the first value, then the code stream is parsed to determine the first filter coefficient vector corresponding to the second color component; or if the value of the first filter identification information of the third color component is If the value is the first value, the code stream is parsed to determine the first filter coefficient vector corresponding to the third color component.
  • the method may further include: if the first filter identification information indicates that the reconstructed slice is not to be filtered, the step of parsing the code stream and determining the first filter coefficient is not performed.
  • the decoder when the first filter identification information indicates that the reconstructed slice is filtered, the decoder can decode to directly obtain the first filter coefficient. However, after the decoder decodes and determines the first filter identification information, if the first filter identification information indicates that a certain color component of the reconstructed slice is not to be filtered, the decoder does not need to decode to obtain the filter coefficient vector corresponding to the color component.
  • filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice may include:
  • the first point represents a point in the reconstructed slice.
  • the K 1 target points corresponding to the first point include the first point and the (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice.
  • K 1 is an integer greater than 1.
  • the (K 1 -1) neighbor points here specifically refer to the (K 1 -1) neighbor points with the closest geometric distance to the first point.
  • determining the K 1 target points corresponding to the first point in the reconstructed slice may include:
  • filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice may include:
  • the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
  • the attribute information takes the color component as an example.
  • Each color component of the reconstructed slice can be filtered separately.
  • the first filter corresponding to the Y component can be determined respectively.
  • These first filter coefficient vectors together constitute the first filter coefficients of the reconstructed slice.
  • the first filter coefficient can be determined by the K 1- order filter; in this way, when the decoder performs filtering, it can perform a KNN search for each point in the reconstructed slice to determine the K 1 corresponding to the point. A target point, and then use the first filter coefficient of the point to filter.
  • the filtered slice when filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, it may include: first filtering according to the color component The coefficient vector performs filtering on the K 1 target points corresponding to the first point in the reconstructed slice, and obtains the filtered value of the color component of the first point in the reconstructed slice. In this way, after determining the filter value of the color component of at least one point in the reconstructed slice, the filtered slice can be determined based on the filter value of the color component of the at least one point in the reconstructed slice.
  • the filter value of the color component of each point in the reconstructed slice can be determined based on the filter coefficient vector and the second attribute parameter corresponding to the color component; and then based on the filter value of the color component of each point in the reconstructed slice, the filter value is obtained Later sliced.
  • the filter value of the attribute information is determined to determine the second attribute parameter corresponding to the attribute information; then the filter value of the attribute information can be determined based on the first filter coefficient and the second attribute parameter; finally, the filtered slice can be obtained based on the filter value of the attribute information.
  • the attribute information is the color component of the YUV space
  • it can be first based on the reconstructed value of the color component (such as Y component, U component, V component), combined with the order of the Wiener filter number to determine the second attribute parameter (represented by P(n,k)), that is, the second attribute parameter represents the reconstructed value of the color component of K 1 target points corresponding to the midpoint of the reconstructed slice.
  • the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension.
  • filter shapes include diamonds, rectangles, etc.
  • filter dimensions include one-dimensional, two-dimensional or even more dimensions. That is to say, in the embodiment of the present application, different filter types can correspond to Wiener filters of different orders.
  • the order values can be 12, 32, and 128 Wiener filters; different types It can also correspond to filters of different dimensions, such as one-dimensional filters, two-dimensional filters, etc., which are not specifically limited here.
  • the filter is not specifically limited here.
  • the second attribute parameter of the color component and the first filter coefficient vector corresponding to the color component can be used to determine the filter value of the color component. . After traversing all the color components and obtaining the filter value of each color component, the filtered slice can be obtained.
  • the reconstructed slice and the first filter coefficient can be input into the Wiener filter at the same time, that is, the Wiener filter
  • the inputs are the first filter coefficient and the reconstructed slice.
  • the filtering process of the reconstructed slice can be completed based on the first filter coefficient, and the corresponding filtered slice can be obtained.
  • the first filter coefficient is obtained based on the initial slice and the reconstructed slice. Therefore, applying the first filter coefficient to the reconstructed slice can restore the initial slice to the maximum extent.
  • the order of the filter is K 1 and the point cloud sequence is n, represented by the matrix P(n,k)
  • P(n,k) The reconstructed value of K 1 target points corresponding to all points in the reconstructed slice under the same color component (such as Y component), that is, P(n,k) is the Y component of K 1 target points corresponding to all points in the reconstructed slice.
  • the second attribute parameter composed of the reconstructed value.
  • the first filter coefficient vector H(k) under the Y component is applied to the reconstructed slice, that is, the second attribute parameter P(n,k), and the attribute information under the Y component can be obtained
  • the filter value R(n) Then, you can traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the filtered value corresponding to the reconstructed slice. slice.
  • the decoder can use the filtered slice to cover the reconstructed slice.
  • the method may further include: after determining at least one filtered slice of the reconstructed point cloud, performing aggregation processing on the at least one filtered slice to determine the filtered point cloud.
  • the decoder performs a Wiener filtering operation on each slice by parsing the code stream, specifically the operations shown in steps S701 to S703; until all the multiple slices are operated Once completed, multiple filtered slices can be obtained. By aggregating these filtered slices together, the filtered point cloud corresponding to the reconstructed point cloud can be obtained.
  • Figure 8 shows a schematic flowchart 2 of a decoding method provided by an embodiment of the present application. As shown in Figure 8, the method may also include:
  • S801 Analyze the code stream and determine the second filter identification information.
  • S803 Filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
  • analyzing the code stream and determining the second filter identification information may include: when the reconstructed point cloud does not meet the preset conditions, parsing the code stream and determining the second filter identification information.
  • determining the parameter information of the reconstructed point cloud may be determining the number of points in the reconstructed point cloud.
  • the parameter information of the reconstructed point cloud (such as the number of points in the reconstructed point cloud) can be obtained by parsing the code stream, or can be determined based on the decoded geometric information. There is no limitation here. In this way, embodiments of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstruction slices.
  • the second filter identification information after parsing the code stream, if the second filter identification information is obtained, it means that the filtering process is performed on the entire reconstructed point cloud.
  • the second filter identification information may also include filter identification information of the component to be processed of the attribute information.
  • parsing the code stream and determining the second filter identification information may include: parsing the code stream and determining the second filter identification information of the component to be processed; wherein, the component to be processed The second filtering identification information indicates whether to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud.
  • the code stream and determining the second filter identification information may also include: if the value of the second filter identification information of the component to be processed is a third value, determining the reconstruction point The to-be-processed component of the attribute information of the cloud is filtered; if the value of the second filter identification information of the to-be-processed component is the fourth value, it is determined that the to-be-processed component of the attribute information of the reconstructed point cloud is not to be filtered.
  • parsing the code stream and determining the second filter identification information may include: parsing the code stream and determining the second filter identification information of the first color component and the second filter identification information of the second color component. and second filter identification information of the third color component.
  • the second filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud
  • the second filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed point cloud.
  • the second color component is filtered
  • the second filter identification information of the third color component indicates whether to perform filtering on the third color component of the attribute information of the reconstructed point cloud.
  • the second filter identification information may be in the form of an array, specifically a 1 ⁇ 3 array, which is composed of the second filter identification information of the first color component, the second filter identification information of the second color component and the third color It consists of the second filter identification information of the component.
  • the second filter identification information can be represented by [Y U V], where Y represents the second filter identification information of the first color component, U represents the second filter identification information of the second color component, and V represents the third color component The second filter identification information.
  • the second filter identification information includes the second filter identification information corresponding to each color component, the second filter identification information can not only be used to determine whether to filter the reconstructed point cloud, but also can be used to determine whether to filter the reconstructed point cloud. It is used to determine which color component or color components are to be filtered.
  • the value of the second filter identification information of the first color component is the third value, it is determined to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud; if the first color If the value of the second filter identification information of the component is the fourth value, it is determined not to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud; or, if the value of the second filter identification information of the second color component is If the third value is the third value, it is determined that the second color component of the attribute information of the reconstructed point cloud is filtered; if the value of the second filter identification information of the second color component is the fourth value, it is determined that the attribute information of the reconstructed point cloud is not filtered.
  • the second color component of the reconstructed point cloud is filtered; or, if the value of the second filter identification information of the third color component is the third value, it is determined that the third color component of the attribute information of the reconstructed point cloud is filtered; if If the value of the second filter identification information of the three color components is the fourth value, it is determined that the third color component of the attribute information of the reconstructed point cloud will not be filtered. That is to say, in the embodiment of the present application, if the second filter identification information corresponding to a certain color component is the third value, then the color component can be instructed to perform filtering processing; if the second filter identification information corresponding to a certain color component is The fourth value can indicate that the color component is not filtered.
  • the method may also include:
  • the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the second filter identification information indicates the pair Reconstruct the point cloud for filtering;
  • the second filter identification information of the first color component If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, it is determined that the second filter identification information indicates that reconstruction is not performed.
  • the point cloud is filtered.
  • the second filter identification information corresponding to these color components are all the fourth value, then it can be instructed that these color components are not filtered, and the second filter identification information indication can be determined.
  • the reconstructed point cloud is not filtered; accordingly, if at least one of the second filter identification information of these color components is the third value, then it can be indicated that at least one color component is filtered, and the second filter identification information indication can be determined Filter the reconstructed point cloud.
  • the third value and the fourth value are different, and the third value and the fourth value may be in parameter form or in numerical form.
  • the second filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
  • the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice
  • the second filtering identification information indicates whether to perform filtering processing on the reconstructed point cloud
  • the first filtering identification information and the second filtering identification information are different.
  • the first filter identification information can be [0 1 1]
  • the second filter identification information can be [0 2 2]; if decoding obtains [0 1 1], then it means that the second filter in the reconstructed slice needs to be The color component and the third color component are filtered; if the decoding obtains [0 2 2], then it means that the second color component and the third color component in the reconstructed point cloud need to be filtered.
  • the decoder after the decoder decodes the code stream and determines the second filtering identification information, if the second filtering identification information indicates filtering of the reconstructed point cloud, it can further decode to obtain the filtering information for filtering. the second filter coefficient.
  • the filter may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
  • Wiener filter as an example, the second filter coefficients described in the embodiments of the present application can be used for Wiener filtering, that is, the second filter coefficients are coefficients processed by Wiener filtering.
  • the second filter coefficient may refer to the second filter coefficient corresponding to the component to be processed.
  • parsing the code stream and determining the second filter coefficient may include: if the second filter identification information of the component to be processed is the third value, then analyze the code stream and determine the second filter coefficient vector corresponding to the component to be processed.
  • the component to be processed is a color component
  • the color component here includes a first color component, a second color component and a third color component; then correspondingly, the second filter coefficient may be the first color component.
  • the code stream is parsed to determine the second filter coefficient vector corresponding to the first color component; or if The value of the second filter identification information of the second color component is the third value, then the code stream is analyzed to determine the second filter coefficient vector corresponding to the second color component; or, if the value of the second filter identification information of the third color component is If the value is the third value, the code stream is parsed to determine the second filter coefficient vector corresponding to the third color component.
  • the method may further include: if the second filtering identification information indicates that the reconstructed point cloud is not to be filtered, the step of parsing the code stream and determining the second filter coefficient is not performed. That is to say, in this embodiment of the present application, when the second filter identification information indicates that the reconstructed point cloud is filtered, the decoder can decode to directly obtain the second filter coefficient. However, after the decoder decodes and determines the second filter identification information, if the second filter identification information indicates that a certain color component of the reconstructed point cloud is not to be filtered, then the decoder does not need to decode to obtain the filter coefficient vector corresponding to the color component. .
  • filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud may include:
  • the first point represents a point in the reconstructed point cloud
  • the K 2 target points corresponding to the first point include the first point and the (K 2 -1) neighbors adjacent to the first point in the reconstructed point cloud.
  • K 2 is an integer greater than 1.
  • the (K 2 -1) neighboring points here specifically refer to the (K 2 -1) neighboring points with the closest geometric distance to the first point.
  • determining the K 2 target points corresponding to the first point in the reconstructed point cloud may include:
  • the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud, calculate the distance value between the first point and these candidate points, and then use these candidate points to Select the (K 2 -1) nearest neighbor points to the first point; that is, in addition to the first point itself, it also includes the (K 2 -1) closest geometric distance to the first point
  • the neighboring points constitute a total of K 2 target points corresponding to the first point in the reconstructed point cloud.
  • filtering the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud includes:
  • the filtered point cloud is determined based on the filter value of the attribute information of at least one point in the reconstructed point cloud.
  • the attribute information takes the color component as an example, and each color component of the reconstructed point cloud can be filtered separately.
  • the second value corresponding to the Y component can be determined respectively.
  • These second filter coefficient vectors together constitute the second filter coefficients of the reconstructed point cloud.
  • the second filter coefficient can be determined by K 2nd order filter; in this way, when the decoder performs filtering, it can perform a KNN search for each point in the reconstructed point cloud to determine the K corresponding to the point. 2 target points, and then use the second filter coefficient of the point to filter.
  • the second filter coefficient when using the second filter coefficient to filter the reconstructed point cloud, you can first use the order of the Wiener filter and the K 2 target points corresponding to the midpoint of the reconstructed point cloud.
  • the reconstructed value of the attribute information determines the second attribute parameter corresponding to the attribute information; then the filter value of the attribute information can be determined based on the second filter coefficient and the second attribute parameter; finally, the filtered slice can be obtained based on the filter value of the attribute information .
  • the attribute information is the color component of the YUV space
  • it can be first based on the reconstructed value of the color component (such as Y component, U component, V component), combined with the order of the Wiener filter number, determine the second attribute parameter (represented by P(n,k)), that is, the second attribute parameter represents the reconstructed value of the color component of K 2 target points corresponding to the point in the reconstructed point cloud.
  • the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension.
  • filter shapes include diamonds, rectangles, etc.
  • filter dimensions include one-dimensional, two-dimensional or even more dimensions. That is to say, in the embodiment of the present application, different filter types can correspond to Wiener filters of different orders.
  • the order values can be 12, 32, and 128 Wiener filters; different types It can also correspond to filters of different dimensions, such as one-dimensional filters, two-dimensional filters, etc., which are not specifically limited here.
  • the filter is not specifically limited here.
  • the second attribute parameter of the color component and the second filter coefficient vector corresponding to the color component can be used to determine the filter value of the color component. . After traversing all the color components and obtaining the filter value of each color component, the filtered slice can be obtained.
  • the reconstructed point cloud and the second filter coefficient can be input into the Wiener filter at the same time, that is, the Wiener filter
  • the input of the filter is the second filter coefficient and the reconstructed point cloud.
  • the filtering process of the reconstructed point cloud can be completed based on the second filter coefficient, and the corresponding filtered point cloud can be obtained.
  • the second filter coefficient is obtained based on the initial point cloud and the reconstructed point cloud. Therefore, applying the second filter coefficient to the reconstructed point cloud can restore the initial point cloud to the maximum extent.
  • the order of the filter is K 2 and the point cloud sequence is n, represented by the matrix P(n,k)
  • P(n,k) The reconstruction value of K 2 target points corresponding to all points in the reconstructed point cloud under the same color component (such as Y component), that is, P(n,k) is the reconstruction value of K 2 target points corresponding to all points in the reconstructed point cloud.
  • the second attribute parameter composed of the reconstructed value of the Y component.
  • the second filter coefficient vector H(k) under the Y component is applied to the reconstructed point cloud, that is, the second attribute parameter P(n,k), and the attributes under the Y component can be obtained
  • the filter value R(n) of the information Then, you can traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the filter corresponding to the reconstructed point cloud. Back point cloud.
  • the decoder determines the filtered point cloud corresponding to the reconstructed point cloud, it can use the filtered point cloud to cover the reconstructed point cloud.
  • the quality of the filtered point cloud obtained after filtering is significantly enhanced; therefore, after obtaining the filtered point cloud, the filtered point cloud can be used to overwrite the original reconstruction. Point cloud, thereby realizing the entire encoding, decoding and quality enhancement operations.
  • this method can also Including: If the color component of the point cloud after filtering does not conform to the RGB color space (for example, YUV color space, YCbCr color space, etc.), then perform color space conversion on the filtered point cloud so that the color of the point cloud after filtering is The components conform to the RGB color space.
  • the RGB color space for example, YUV color space, YCbCr color space, etc.
  • the method may also include:
  • the code stream is parsed to determine the third filter coefficient; where the reconstructed aggregate slice is obtained by aggregating n reconstructed slices, and n is an integer greater than 1;
  • Filtering is performed on the reconstructed aggregation slice according to the third filter coefficient, and a filtered aggregation slice corresponding to the reconstructed aggregation slice is determined.
  • the step of parsing the code stream and determining the third filter coefficient is not performed, that is, the filtering step for the reconstructed aggregate slice is skipped.
  • the reconstructed aggregate slice is filtered according to the third filter coefficient.
  • the K 3 target points corresponding to the first point in the reconstructed aggregate slice are filtered according to the third filter coefficient to determine the filtered Aggregate slices.
  • the first point here represents the point in the reconstructed aggregation slice.
  • the K 3 target points corresponding to the first point include the first point and the (K 3 -1) neighbor points adjacent to the first point in the reconstructed aggregation slice.
  • K 3 is an integer greater than 1; the (K 3 -1) neighbor points here specifically refer to the (K 3 -1) neighbor points with the closest geometric distance to the first point in the reconstructed aggregation slice.
  • n (1 ⁇ n ⁇ S, S is the total number of slices) slices can be first constructed into a relatively large point cloud.
  • the quality enhancement processing method is applied to the slices; thus, the number of transmitted filter coefficients can be reduced, and the compression efficiency can be improved; and this method can also be successfully implemented when s is not too large.
  • the embodiments of the present application may also perform quality enhancement processing on reconstructed slices first, and then perform an overall quality enhancement processing on the entire reconstructed point cloud after all reconstructed slices are processed to achieve the purpose of secondary enhancement. Therefore, in some embodiments, the method may further include:
  • the fourth filtering identification information indicates filtering of the first filtered point cloud, parse the code stream and determine the fourth filtering coefficient
  • the first filtered point cloud is filtered according to the fourth filter coefficient, and a second filtered point cloud corresponding to the first filtered point cloud is determined.
  • the step of parsing the code stream and determining the fourth filter coefficient will not be performed, that is, skipping the step of analyzing the first filtered point cloud. filtering step.
  • the first filtered point cloud is filtered according to the fourth filter coefficient.
  • the K 4 target points corresponding to the first point in the first filtered point cloud are filtered according to the fourth filter coefficient. to determine the second filtered point cloud.
  • the first point here represents the point in the first filtered point cloud
  • the K 4 target points corresponding to the first point include the first point and (K 4 ) adjacent to the first point in the first filtered point cloud.
  • -1) neighbor points K 4 is an integer greater than 1; the (K 4 -1) neighbor points here specifically refer to the (K 4 -1) closest geometric distance to the first point in the first filtered point cloud ) nearest neighbor points.
  • K 1 , K 2 , K 3 and K 4 may be the same or different.
  • K 1 , K 2 , K 3 , and K 4 can all be set to 16, but this is not specifically limited in this embodiment.
  • the decoder can skip the filtering process and apply the reconstructed point cloud obtained by the original program, that is, the reconstructed point cloud will no longer be filtered and updated.
  • the embodiment of this application proposes a technology that adaptively performs Wiener filtering on the YUV component in the encoding and decoding attribute information to better enhance the quality of the point cloud. Specifically, it can be based on the number of points in the reconstructed point cloud. , decide whether to perform Wiener filtering on the entire reconstructed point cloud, or filter the divided slices separately. This can not only ensure the point cloud compression efficiency to the greatest extent, but also be more universal, that is, this method has application value for any point cloud.
  • the embodiment of the present application proposes an adaptive point cloud color quality improvement method, which is suitable for any point cloud sequence, especially for sequences with densely distributed points and medium code rate sequences, and has a more prominent optimization effect.
  • the number of points in the point cloud is used as prior knowledge to achieve the greatest trade-off between efficiency and generality. Specifically, this is achieved by deciding whether point cloud processing is applied to the entire reconstructed point cloud or to each point cloud slice individually.
  • point cloud processing when applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity.
  • the disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to perform its due function on large point clouds.
  • the preset threshold T of points is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this technical solution is not limited to Wiener filtering operations. Solutions can be provided for any method that is constrained by resources, etc.
  • Wiener filter proposed in the embodiment of this application can be used within the prediction loop, that is, as an inloop filter, and can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter is used, not used as a reference for decoding subsequent point clouds. This application does not specifically limit this.
  • the Wiener filter proposed in the embodiment of the present application is an in-loop filter
  • the parameter information indicating the filtering process needs to be The identification information is written into the code stream, and the filter coefficients also need to be written into the code stream.
  • the filter coefficients are not written into the code stream.
  • the Wiener filter proposed in the embodiment of this application is a post-processing filter
  • the filter coefficient corresponding to the filter is located in a separate auxiliary information data unit (for example, supplementary enhancement information SEI)
  • auxiliary information data unit for example, supplementary enhancement information SEI
  • the decoder does not obtain the supplementary enhancement information, it will not Reconstruct the point cloud for filtering.
  • the filter coefficients and other information corresponding to the filter are in an auxiliary information data unit.
  • the parameter information indicating the filtering process such as the filter identification information
  • the filter coefficients also need to be written into the code stream; accordingly, after determining not to perform filtering, you can choose not to write parameter information indicating filtering, such as filter identification information, into the code stream, and at the same time, do not write the filtering information into the code stream.
  • the coefficients are written into the code stream.
  • one or more parts of the reconstructed point cloud/reconstructed slice can be selected to be filtered, that is, the control range of the filtering identification information can be the entire reconstructed point cloud/
  • the reconstructed slice can also be a certain part of the reconstructed point cloud/reconstructed slice, which is not specifically limited here.
  • This embodiment provides an encoding method, which is applied to the encoder.
  • the first filter identification information is determined; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; and the reconstructed slice is processed according to the first filter coefficient. Filter processing to determine the filtered slice corresponding to the reconstructed slice.
  • the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
  • Wiener filtering which uses Wiener filtering to post-process the attribute information at the decoding end, and has achieved good results.
  • the initial point cloud and reconstructed point cloud are used as input, and the order of the Wiener filter is K, then the neighborhood of each point is the K nearest neighbor of the point (while taking the point itself into account).
  • the optimal coefficient of the Wiener filter is calculated for each color channel (Y, U, V) of the attribute information, and the coefficient is used to filter the corresponding color channel of the reconstructed point cloud, and finally the quality enhancement is obtained The filtered point cloud.
  • the filter identification information and filter coefficients are written into the code stream.
  • first decode the filter identification information then determine the color channel that needs to be filtered, and then continue to decode the filter coefficients, use the coefficients to perform filtering, and overwrite the values of the reconstructed point cloud with the obtained values to obtain filtered points with improved quality. cloud.
  • this method can be applied to all encoding methods except attribute lossless, that is, geometric lossless, attribute lossy, geometry lossy, attribute lossy, geometry lossless, attribute almost lossless; and is suitable for RAHT, Predicting Transform and Lifting Transform, etc. Transformation method.
  • this method compares the impact of the number of nearest neighbor points, that is, the value of K, on the experimental results, and optimizes it accordingly. Choosing K around 16 can best achieve the trade-off between effect and time complexity.
  • the point cloud attribute information Wiener filter quality enhancement technology proposed in related technologies has the following problems. Some point clouds cannot apply this quality enhancement technology.
  • a technology for adaptive Wiener filtering processing of the encoding and decoding attribute information (such as the YUV component of the color reconstruction value) is proposed. , compared with related technologies, it has increased universality and has similar test results.
  • the point cloud will be sliced according to the number of points in the quantized point cloud, that is, a point cloud with a larger number of points will be divided into multiple 3D slice (three-dimensional slice), each slice contains about 800,000-1 million points.
  • the G-PCC encoding end will perform geometric encoding and attribute encoding on each slice, and finally aggregate all the slices together to generate Reconstruct the point cloud.
  • Wiener filtering is performed on the entire reconstructed point cloud, but this method is difficult to apply to some large point clouds.
  • the specific process can be: the initial point cloud is After the slicing process, the initial slice (i.e.: initial point cloud slice) can be obtained; then the initial slice is encoded and reconstructed to obtain the reconstructed slice (i.e.: reconstructed point cloud slice); then the initial slice and the reconstructed slice are input separately to the Wiener filter; after calculation by the Wiener filter, the output of the Wiener filter is the first filter coefficient; the first filter coefficient can be selectively written into the attribute code stream.
  • the initial slice i.e.: initial point cloud slice
  • the initial slice is encoded and reconstructed to obtain the reconstructed slice (i.e.: reconstructed point cloud slice)
  • the initial slice and the reconstructed slice are input separately to the Wiener filter
  • the output of the Wiener filter is the first filter coefficient
  • the first filter coefficient can be selectively written into the attribute code stream.
  • FIG 10 it shows the situation where the number of points in the reconstructed point cloud is less than the preset threshold (which can be represented by T).
  • T the preset threshold
  • the specific process can be as follows: after the initial point cloud is encoded and reconstructed, the reconstructed point cloud can be obtained; Then the reconstructed point cloud and the initial point cloud are input to the Wiener filter; after calculation by the Wiener filter, the output of the Wiener filter is the second filter coefficient, and the second filter coefficient can be selectively written into the attribute code stream.
  • the quantized point cloud After geometric quantization of the point cloud at the G-PCC encoding end, the quantized point cloud can be obtained.
  • the quantized point cloud has the same number of points as the final reconstructed point cloud (if the geometry is lossless, it will also have the same number of points as the initial point cloud).
  • the method or mode of Wiener filtering on the point cloud can be determined.
  • the Wiener filtering method of fragmented point cloud is used. Since G-PCC has implemented the division of point cloud slices before geometric encoding, quality enhancement can be directly based on this slicing method. After the color attribute encoding of the point cloud is completed and the reconstruction is completed, the color-lossy reconstructed slices and the corresponding initial slices are input to the Wiener filter.
  • the function of the encoding-side Wiener filter is mainly to calculate the optimal filter coefficients, and at the same time determine whether the quality of the point cloud (or point cloud slice) after Wiener filtering has been improved, and selectively transfer the optimal filter coefficients.
  • KNN is used to construct a neighborhood for each point in the reconstructed slice.
  • the size of K is the number of searches for the nearest neighbor points of each point, which is the order of the Wiener filter.
  • the three YUV color components of the point cloud slice are calculated separately (if the point cloud is not converted to YUV format in G-PCC, the point cloud slice needs to be converted from RGB to YUV first). Filter coefficients and perform filtering processing. Then calculate separately on each color component: the RDCost size of the filtered slice relative to the initial slice and the reconstructed slice relative to the original slice. The specific calculation method is shown in the above formula (14).
  • the optimal coefficient calculated for this component will be written
  • the input code stream is passed to the decoding end to perform post-processing operations on the component of the decoded reconstructed slice. For the entire slice, if the rate-distortion value of one or several components is reduced relative to the reconstructed slice, for example, only the rate-distortion value of the V component is reduced, then only the V component will be filtered at the decoding end.
  • a 1 ⁇ 3 decision array is written into the code stream as the first filter identification information (to determine whether it is needed and which components need to be post-processed at the decoding end, that is, filtering operations, such as (0,1,1) to describe the UV component filtering ), and then write the first filter coefficient into the code stream. If the cost of all components increases, there is no need to write the first filter identification information and the first filter coefficient into the code stream, and at the same time, the Wiener filtering operation should not be performed at the decoding end. Note that information such as filter coefficients is written into the code stream immediately after the attribute encoding information of the slice.
  • the point cloud quality enhancement method of this slice has a large code stream expenditure due to the large number of transmission filter coefficients.
  • Each slice may have coefficient information written into the code stream, which may have a slight impact on the compression efficiency. Therefore, this method It is only used when the number of points in the point cloud is greater than or equal to the preset threshold T.
  • the Wiener filtering quality enhancement method is performed on the entire reconstructed point cloud. This method is the same as that of related technologies, and is similar to the main idea of the method described in (3).
  • the reconstructed point cloud and the initial point cloud are input to the Wiener filter; when calculating the rate distortion cost, R all is the attribute code of the entire point cloud Stream size; the last transmitted second filter identification information should be different from the form of the first filter identification information in the fragmented point cloud processing method (such as (0,2,2) indicating filtering of the UV component), so that it can be used at the decoding end Determine whether to filter the slice or the entire point cloud.
  • the specific process can be: after the attribute code stream is decoded and reconstructed, the reconstructed slice can be obtained; and then continue to parse the code stream , the first filter identification information (such as a decision array) can be obtained; when the first filter identification information indicates that the reconstructed slice is filtered, decoding can be continued to obtain the first filter coefficient; and then the first filter coefficient and the reconstructed slice are input to
  • the Wiener filter outputs filtered slices with enhanced quality through the Wiener filter; then continues to parse the code stream to filter the next reconstructed slice; after obtaining all the filtered slices, these filtered slices can be combined, Obtain the filtered point cloud.
  • a reconstructed point cloud is obtained; at this time, by continuing to parse the code stream, the second filter identification information (such as a decision array) can be obtained; after the second filter identification information indicates, the reconstructed point cloud is During the filtering process, you can continue to decode to obtain the second filter coefficient; then input the second filter coefficient and the reconstructed point cloud to the Wiener filter, and output the filtered point cloud with enhanced quality through the Wiener filter.
  • the second filter identification information such as a decision array
  • the decoder decodes the attribute residual of each slice, it continues to read the code stream.
  • the first filter identification information in the form of a 1 ⁇ 3 array is decoded. If after judgment, it is determined that certain color components need to be filtered, it means that the encoding end has the transmission of optimal coefficients. At this time, continue to decode to obtain Corresponds to the first filter coefficient; otherwise, decoding will not continue, and the Wiener filtering part of the slice will be skipped, and reconstruction will be performed according to the original procedure.
  • the reconstructed slice and the first filter coefficient can be directly input to the Wiener filter at the decoder. Through calculation, a filtered slice with enhanced quality can be obtained and overlaid with the reconstructed slice.
  • the Wiener filter quality enhancement method corresponding to the entire point cloud only needs to continue decoding to obtain the second filter identification information after all attribute residuals are decoded, and determine whether to continue decoding to obtain the second filter coefficient.
  • Input the second filter coefficient and the reconstructed point cloud to the Wiener filter perform a quality enhancement operation, and cover the filtered point cloud with the reconstructed point cloud.
  • Figure 12 is a schematic diagram of the test results of the prediction transformation under the CY test condition provided by the embodiment of the present application
  • Figure 13 is a test result of the improvement under the C1 test condition provided by the embodiment of the present application.
  • Figure 14 is a schematic diagram of the test results of the lifting transformation under the C2 test condition provided by the embodiment of the present application.
  • Figure 15 is the test result of the RAHT transformation under the C1 test condition provided by the embodiment of the present application.
  • Figure 16 is a schematic diagram of test results of RAHT transformation under C2 test conditions provided by the embodiment of the present application.
  • the CY condition is the coding method of lossless geometry and lossy attribute (lossless geometry, lossy attribute);
  • the condition of C1 is the coding method of lossless geometry and lossy attribute (lossless geometry, nearly lossless attribute);
  • the condition of C2 is the coding method of lossy geometry and lossy attribute Coding method (lossy geometry, lossy attribute).
  • End-to-End BD-AttrRate indicates the BD-Rate of the end-to-end attribute value for the attribute code stream.
  • BD-Rate reflects the difference in PSNR curves under two conditions (with or without filtering). When BD-Rate decreases, it means that when PSNR is equal, the code rate decreases and performance improves; otherwise, performance decreases. That is, the more the BD-Rate decreases, the better the compression effect.
  • Cat1-A average and Cat1-B average respectively represent the average value of the point cloud sequence test results of the two data sets. Finally, Overall average is the average of all sequence test effects.
  • n(1 ⁇ n ⁇ S, S is the total number of slices ) slices are first constructed into a larger point cloud slice, and then the quality enhancement method is applied to the point cloud slice.
  • This can reduce the number of transfer coefficients, improve compression efficiency, and this method can be successfully implemented when S is not too large.
  • the cloud quality enhancement process of segmented points can also be performed first. After all slices are processed, an overall quality enhancement is performed on the entire reconstructed point cloud to achieve two levels. The purpose of this enhancement is to further improve the quality and compression efficiency.
  • the encoding and decoding method proposed in the embodiment of this application, and the adaptive G-PCC point cloud decoding end color Wiener filter quality enhancement technology proposed in this solution can not only improve the quality of the point cloud, but also improve the universality.
  • the technical solutions of the embodiments of the present application have application value for all point clouds.
  • An adaptive point cloud color quality improvement method is proposed here. Compared with related technologies, this method mainly uses the number of points in the point cloud as Prior knowledge, thereby achieving the greatest trade-off between efficiency and generality. Specifically, this is achieved by deciding whether point cloud processing is applied to the entire reconstructed point cloud or to each point cloud slice individually. When applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity.
  • the disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to play its due role in large point clouds. ; When applied to each slice, the compression efficiency improvement is slightly lower than the former due to more information being transferred, but this method consumes less resources. As long as the current device can run the original program, this technology can be successfully implemented and run. Therefore, when resources are limited, regional processing can be a good choice.
  • the preset threshold T is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this solution is not limited to Wiener filtering operations, and can be Any method that is limited by resources etc. provides a solution. In this way, it can not only improve the quality of the point cloud, but also have universal applicability, and can also save bit rate, thereby improving encoding and decoding performance.
  • FIG. 17 shows a schematic structural diagram of an encoder 300 provided by an embodiment of the present application.
  • the encoder 300 may include: a first determination unit 3001, a first filtering unit 3002 and an encoding unit 3003; wherein,
  • the first determination unit 3001 is configured to determine the reconstructed slice of the reconstructed point cloud; and when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
  • the first filtering unit 3002 is configured to filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice;
  • the first determining unit 3001 is further configured to determine the first filtering identification information according to the filtered slice; wherein the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice;
  • the encoding unit 3003 is configured to encode the first filter identification information; and if the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient;
  • the encoding unit 3003 is also configured to write the obtained encoded bits into the code stream.
  • the first determination unit 3001 is further configured to determine the parameter information of the reconstructed point cloud; and determine whether the reconstructed point cloud satisfies the preset condition based on the parameter information of the reconstructed point cloud.
  • the first determination unit 3001 is further configured to determine the number of points in the reconstructed point cloud; and if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, determine that the reconstructed point cloud meets the preset condition; Alternatively, if the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
  • the first determination unit 3001 is further configured to perform geometric quantization processing on the initial point cloud to obtain a quantized point cloud; and determine the number of midpoints in the reconstructed point cloud based on the number of midpoints in the quantized point cloud.
  • the first determination unit 3001 is further configured to perform slicing processing on the initial point cloud to obtain at least one initial slice; and to sequentially perform encoding and reconstruction processing on the at least one initial slice to obtain at least one reconstructed slice; and At least one reconstructed slice is aggregated to obtain a reconstructed point cloud.
  • the first filtering unit 3002 is further configured to determine K 1 target points corresponding to the first point in the reconstructed slice; and to determine the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient. Perform filtering to determine the filtered slice; where the first point represents the point in the reconstructed slice, and the K 1 target points corresponding to the first point include the first point and (K 1 - 1) neighboring points, K 1 is an integer greater than 1.
  • the first filtering unit 3002 is also configured to search a preset number of candidate points in the reconstructed slice using a K nearest neighbor search method based on the first point in the reconstructed slice; and calculate the first point and the preset number of candidate points respectively.
  • Distance values between a number of candidate points determine relatively small (K 1 -1) distance values from the obtained preset number of distance values; and candidates corresponding to (K 1 -1) distance values
  • the point determines (K 1 -1) neighboring points, and the first point and (K 1 -1) neighboring points are determined as K 1 target points corresponding to the first point.
  • the first filtering unit 3002 is further configured to perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filtering of the attribute information of the first point in the reconstructed slice. value; and after determining the filtered value of the attribute information of at least one point in the reconstructed slice, determining the filtered slice according to the filtered value of the attribute information of at least one point in the reconstructed slice.
  • the first determination unit 3001 is further configured to determine the first attribute parameter based on the original value of the attribute information of the initial slice midpoint; and based on the attribute information of the K 1 target points corresponding to the reconstructed slice midpoint. reconstruct the value to determine the second attribute parameter; and determine the first filter coefficient based on the first attribute parameter and the second attribute parameter.
  • the first determining unit 3001 is further configured to determine the cross-correlation parameter according to the first attribute parameter and the second attribute parameter; and determine the auto-correlation parameter according to the second attribute parameter; and determine the auto-correlation parameter according to the cross-correlation parameter and the auto-correlation parameter.
  • the parameters are used for coefficient calculation to obtain the first filter coefficient.
  • the first determining unit 3001 is further configured to determine the first generation value of the to-be-processed component of the attribute information of the reconstructed slice, determine the second-generation value of the to-be-processed component of the attribute information of the filtered slice; and according to The first generation value and the second generation value determine the first filter identification information of the component to be processed; and obtain the first filter identification information based on the first filter identification information of the component to be processed.
  • the first determination unit 3001 is further configured to determine that the value of the first filter identification information of the component to be processed is the first value if the second generation value is less than the first generation value; and if the second generation value If the value is greater than the first generation value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  • the first determination unit 3001 is further configured to use the rate-distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice, and use the obtained first rate-distortion value as the first-generation value; And use the rate distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the filtered slice, and use the obtained second rate distortion value as the second generation value.
  • the first determination unit 3001 is further configured to use a rate-distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice to obtain the first rate-distortion value; and use the preset performance measurement index to calculate the cost value.
  • the first determining unit 3001 is further configured to determine the first filter identification information of the component to be processed if the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value. The value is the first value; and if the second performance value is less than the first performance value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  • the first determining unit 3001 is further configured to determine the first filter identification information of the component to be processed if the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value. The value is the first value; and if the second rate distortion value is greater than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  • the first determining unit 3001 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice if the value of the first filter identification information of the component to be processed is the first value; and If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  • the attribute information includes a color component
  • the color component includes at least one of the following: a first color component, a second color component, and a third color component; wherein, if the color component conforms to the RGB color space, the third color component is determined.
  • the first color component, the second color component and the third color component are in order: R component, G component, B component; if the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are in order are: Y component, U component, V component.
  • the first determining unit 3001 is further configured to determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the second color component when the component to be processed is a color component.
  • the first filter identification information of the three color components; and the first filter identification information is obtained according to the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component. information.
  • the first determining unit 3001 is further configured to: if at least one of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component One is the first value, then it is determined that the first filter identification information indicates filtering of the reconstructed slice; and if the first filter identification information of the first color component, the first filter identification information of the second color component and the third color component If all the first filtering identification information is the second value, it is determined that the first filtering identification information indicates that the reconstructed slice is not to be filtered.
  • the first determining unit 3001 is further configured to not encode the first filter coefficient if the first filter identification information indicates that the reconstructed slice is not to be filtered.
  • the first determination unit 3001 is also configured to determine the second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud when the reconstructed point cloud does not meet the preset conditions;
  • the first filtering unit 3002 is also configured to perform filtering processing on the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud;
  • the first determination unit 3001 is further configured to determine second filter identification information based on the filtered point cloud; wherein the second filter identification information indicates whether to filter the reconstructed point cloud;
  • the encoding unit 3003 is also configured to encode the second filter identification information; and if the second filter identification information indicates filtering the reconstructed point cloud, encode the second filter coefficient; and write the resulting encoded bits into code stream.
  • the first filtering unit 3002 is further configured to determine K 2 target points corresponding to the first point in the reconstructed point cloud; and to determine the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient.
  • the target point is filtered to determine the filtered point cloud; among them, the first point represents the point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the points adjacent to the first point in the reconstructed point cloud. (K 2 -1) neighboring points, K 2 is an integer greater than 1.
  • the first filtering unit 3002 is also configured to use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud based on the first point in the reconstructed point cloud; and respectively calculate the first point and Distance values between a preset number of candidate points, determining relatively small (K 2 -1) distance values from the obtained preset number of distance values; and corresponding to (K 2 -1) distance values Determine (K 2 -1) neighbor points of candidate points, and determine the first point and (K 2 -1) neighbor points as K 2 target points corresponding to the first point.
  • the first filtering unit 3002 is also configured to filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the attribute information of the first point in the reconstructed point cloud. the filter value; and after determining the filter value of the attribute information of at least one point in the reconstructed point cloud, determining the filtered point cloud according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
  • the first determination unit 3001 is further configured to determine the third attribute parameter based on the original value of the attribute information of the initial point cloud midpoint; and based on the attributes of the K 2 target points corresponding to the reconstructed point cloud midpoint. Determine the fourth attribute parameter based on the reconstructed value of the information; and determine the second filter coefficient based on the third attribute parameter and the fourth attribute parameter.
  • the first determining unit 3001 is further configured to determine the cross-correlation parameter according to the third attribute parameter and the fourth attribute parameter; and determine the auto-correlation parameter according to the fourth attribute parameter; and determine the auto-correlation parameter according to the cross-correlation parameter and the auto-correlation parameter.
  • the parameters are used for coefficient calculation to obtain the second filter coefficient.
  • the first determination unit 3001 is further configured to determine the third generation value of the to-be-processed component of the attribute information of the reconstructed point cloud, and determine the fourth-generation value of the to-be-processed component of the attribute information of the filtered point cloud; And determine the second filter identification information of the component to be processed according to the third generation value and the fourth generation value; obtain the second filter identification information according to the second filter identification information of the component to be processed.
  • the first determination unit 3001 is further configured to determine that the value of the second filter identification information of the component to be processed is the third value if the fourth generation value is less than the third generation value; and if the fourth generation value If the value is greater than the third generation value, the value of the second filter identification information of the component to be processed is determined to be the fourth value.
  • the first determining unit 3001 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed point cloud if the value of the second filter identification information of the component to be processed is the third value; And if the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  • the first determining unit 3001 is further configured to determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the second color component when the component to be processed is a color component. Second filter identification information of three color components; and obtaining a second filter identification information based on the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component information.
  • the first determining unit 3001 is further configured to: if at least one of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component One is the third value, then it is determined that the second filter identification information indicates filtering of the reconstructed point cloud; and if the second filter identification information of the first color component, the second filter identification information of the second color component and the third color component If all of the second filter identification information are fourth values, it is determined that the second filter identification information indicates that the reconstructed point cloud is not filtered.
  • the first determination unit 3001 is further configured to not encode the second filter coefficient if the second filter identification information indicates that the reconstructed point cloud is not to be filtered.
  • the first determining unit 3001 is also configured to determine n initial slices from the multiple initial slices if the number of at least one initial slice is multiple, and perform aggregation processing on the n initial slices to obtain the initial aggregation slice; and determine the reconstructed aggregation slice corresponding to the initial aggregation slice; wherein, the reconstructed aggregation slice is obtained by aggregating the reconstructed slices corresponding to n initial slices, n is an integer greater than 1; and according to the initial aggregation slice and the reconstructed aggregation slice, determine third filter coefficient;
  • the first filtering unit 3002 is also configured to filter the reconstructed aggregate slice according to the third filter coefficient, and determine the filtered aggregate slice corresponding to the reconstructed aggregate slice;
  • the first determining unit 3001 is further configured to determine third filtering identification information based on the filtered aggregate slice; wherein the third filtering identification information indicates whether to perform filtering processing on the reconstructed aggregated slice;
  • Encoding unit 3003 is also configured to encode the third filter identification information
  • the first determining unit 3001 is further configured to encode the third filter coefficient if the third filter identification information indicates that the reconstructed aggregate slice is filtered;
  • the encoding unit 3003 is also configured to write the obtained encoded bits into the code stream.
  • the first filtering unit 3002 is further configured to determine at least one filtered slice after performing filtering processing on at least one reconstructed slice corresponding to the initial point cloud respectively;
  • the first determination unit 3002 is further configured to perform aggregation processing on at least one filtered slice and determine the first filtered point cloud;
  • the first determination unit 3001 is also configured to determine the fourth filter coefficient based on the initial point cloud and the first filtered point cloud;
  • the first filtering unit 3002 is also configured to filter the first filtered point cloud according to the fourth filter coefficient, and determine the second filtered point cloud corresponding to the first filtered point cloud;
  • the first determination unit 3001 is further configured to determine fourth filtering identification information based on the second filtered point cloud; wherein the fourth filtering identification information indicates whether to perform filtering processing on the first filtered point cloud;
  • the encoding unit 3003 is also configured to encode the fourth filter identification information; and if the fourth filter identification information indicates filtering the first filtered point cloud, encode the fourth filter coefficient; and encode the obtained Bits are written to the code stream.
  • the first determining unit 3001 is further configured to determine the predicted value of the attribute information of the initial slice midpoint; and determine the attributes of the initial slice midpoint according to the original value and the predicted value of the attribute information of the initial slice midpoint. The residual value of the information;
  • the encoding unit 3003 is also configured to encode the residual value of the attribute information of the initial slice midpoint, and write the resulting encoded bits into the code stream.
  • the "unit" may be part of a circuit, part of a processor, part of a program or software, etc., and of course may also be a module, or may be non-modular.
  • each component in this embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software function modules.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of this embodiment is essentially either The part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes a number of instructions to make a computer device (can It is a personal computer, server, or network device, etc.) or processor that executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage media include: U disk, mobile hard disk, Read Only Memory (ROM), Random Access Memory (RAM), magnetic disk or optical disk and other media that can store program code.
  • the embodiment of the present application provides a computer storage medium for use in the encoder 300.
  • the computer storage medium stores a computer program.
  • the computer program is executed by the first processor, any one of the foregoing embodiments is implemented. Methods.
  • the encoder 300 may include: a first communication interface 3101, a first memory 3102, and a first processor 3103; the various components are coupled together through a first bus system 3104. It can be understood that the first bus system 3104 is used to implement connection communication between these components. In addition to the data bus, the first bus system 3104 also includes a power bus, a control bus and a status signal bus. However, for the sake of clear explanation, various buses are labeled as the first bus system 3104 in FIG. 18 . in,
  • the first communication interface 3101 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • the first memory 3102 is used to store a computer program capable of running on the first processor 3103;
  • the first processor 3103 is configured to execute: when running the computer program:
  • the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient
  • the first memory 3102 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories.
  • non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically removable memory. Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be Random Access Memory (RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDRSDRAM
  • enhanced SDRAM ESDRAM
  • Synchlink DRAM SLDRAM
  • Direct Rambus RAM DRRAM
  • the first memory 3102 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
  • the first processor 3103 may be an integrated circuit chip with signal processing capabilities. During the implementation process, each step of the above method can be completed by instructions in the form of hardware integrated logic circuits or software in the first processor 3103 .
  • the above-mentioned first processor 3103 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or a ready-made programmable gate array (Field Programmable Gate Array, FPGA). or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
  • the steps of the method disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field.
  • the storage medium is located in the first memory 3102.
  • the first processor 3103 reads the information in the first memory 3102 and completes the steps of the above method in combination with its hardware.
  • the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), Digital Signal Processing Device (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, and other devices used to perform the functions described in this application electronic unit or combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device Digital Signal Processing Device
  • DSPD Digital Signal Processing Device
  • PLD programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (such as procedures, functions, etc.) that perform the functions described in this application.
  • Software code may be stored in memory and executed by a processor.
  • the memory can be implemented in the processor or external to the processor.
  • the first processor 3103 is further configured to perform the method described in any one of the preceding embodiments when running the computer program.
  • This embodiment provides an encoder.
  • the encoder when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering processing based on the divided reconstructed slices, and determine that the reconstructed slices need to be filtered. After that, the corresponding filter coefficients are passed to the decoder; in this way, filtering based on reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it also It can optimize the reconstructed point cloud, improve the quality of the point cloud, save bit rate, and improve encoding and decoding efficiency.
  • FIG. 19 shows a schematic structural diagram of a decoder 320 provided by an embodiment of the present application.
  • the decoder 320 may include: a decoding unit 3201 and a second filtering unit 3202; wherein,
  • the decoding unit 3201 is configured to parse the code stream and determine the first filter identification information; and if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
  • the second filtering unit 3202 is configured to perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
  • the decoder 320 may also include a second determination unit 3203 configured to determine parameter information of the reconstructed point cloud; and determine whether the reconstructed point cloud satisfies the preset parameter information according to the reconstructed point cloud. condition;
  • the decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information when the reconstructed point cloud meets the preset conditions.
  • the second determination unit 3203 is further configured to determine the number of points in the reconstructed point cloud; and if the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, determine that the reconstructed point cloud meets the preset condition; Alternatively, if the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
  • the decoding unit 3201 is also configured to parse the code stream and determine the residual value of the attribute information of the initial slice midpoint;
  • the second determination unit 3203 is also configured to determine the reconstructed value of the attribute information of the initial slice midpoint based on the predicted value and residual value of the attribute information of the initial slice midpoint after determining the predicted value of the attribute information of the initial slice midpoint. ; and determine the reconstructed slice based on the reconstructed value of the attribute information of the midpoint of the initial slice.
  • the second determining unit 3203 is further configured to perform aggregation processing on the at least one reconstructed slice to determine the reconstructed point cloud after determining the at least one reconstructed slice.
  • the second determination unit 3203 is further configured to determine K 1 target points corresponding to the first point in the reconstructed slice; and to determine the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient. Perform filtering to determine the filtered slice; where the first point represents the point in the reconstructed slice, and the K 1 target points corresponding to the first point include the first point and (K 1 - 1) neighboring points, K 1 is an integer greater than 1.
  • the second determination unit 3203 is further configured to use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice based on the first point in the reconstructed slice; and respectively calculate the first point and the preset number of candidate points in the reconstructed slice.
  • Distance values between a number of candidate points determine relatively small (K 1 -1) distance values from the obtained preset number of distance values; and candidates corresponding to (K 1 -1) distance values
  • the point determines (K 1 -1) neighboring points, and the first point and (K 1 -1) neighboring points are determined as K 1 target points corresponding to the first point.
  • the second filtering unit 3202 is further configured to perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filtering of the attribute information of the first point in the reconstructed slice. value; and after determining the filtered value of the attribute information of at least one point in the reconstructed slice, determining the filtered slice according to the filtered value of the attribute information of at least one point in the reconstructed slice.
  • the second filtering unit 3202 is also configured to, if the first filtering identification information indicates that the reconstructed slice is not to be filtered, the step of parsing the code stream and determining the first filter coefficient is not performed, and the reconstructed slice is directly determined as Slicing after filtering.
  • the second determination unit 3203 is further configured to, after determining at least one filtered slice of the reconstructed point cloud, perform aggregation processing on the at least one filtered slice to determine the filtered point cloud.
  • the decoding unit 3201 is also configured to parse the code stream and determine the second filtering identification information; and if the second filtering identification information indicates filtering the reconstructed point cloud, parse the code stream and determine the second filtering coefficient. ;
  • the second filtering unit 3202 is also configured to filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
  • the first decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information when the reconstructed point cloud does not meet the preset conditions.
  • the second determination unit 3203 is also configured to, if the second filter identification information indicates that the reconstructed point cloud is not filtered, the step of parsing the code stream and determining the second filter coefficient is not performed, and the reconstructed point cloud is directly processed. Determine it as the filtered point cloud.
  • the second determination unit 3203 is further configured to determine K 2 target points corresponding to the first point in the reconstructed point cloud; and to determine the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient.
  • the target point is filtered to determine the filtered point cloud; among them, the first point represents the point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the points adjacent to the first point in the reconstructed point cloud. (K 2 -1) neighboring points, K 2 is an integer greater than 1.
  • the second determination unit 3203 is also configured to search a preset number of candidate points in the reconstructed point cloud using the K nearest neighbor search method based on the first point in the reconstructed point cloud; and respectively calculate the first point and Distance values between a preset number of candidate points, determining relatively small (K 2 -1) distance values from the obtained preset number of distance values; and corresponding to (K 2 -1) distance values Determine (K 2 -1) neighbor points of candidate points, and determine the first point and (K 2 -1) neighbor points as K 2 target points corresponding to the first point.
  • the second filtering unit 32032 is also configured to filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the attribute information of the first point in the reconstructed point cloud. the filter value; and after determining the filter value of the attribute information of at least one point in the reconstructed point cloud, determining the filtered point cloud according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
  • the attribute information includes a color component
  • the color component includes at least one of the following: a first color component, a second color component, and a third color component; wherein, if the color component conforms to the RGB color space, the third color component is determined.
  • the first color component, the second color component and the third color component are in order: R component, G component, B component; if the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are in order are: Y component, U component, V component.
  • the decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information of the component to be processed; wherein the first filter identification information of the component to be processed indicates whether the attribute information of the reconstructed slice is to be processed. components are filtered.
  • the second determination unit 3203 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice if the value of the first filter identification information of the component to be processed is the first value; and If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  • the decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component. ; Wherein, the first filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice, and the first filter identification information of the second color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice.
  • the second color component is subjected to filtering processing, and the first filtering identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed slice.
  • the second determining unit 3203 is further configured to: if at least one of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component One is the first value, then it is determined that the first filter identification information indicates filtering of the reconstructed slice; and if the first filter identification information of the first color component, the first filter identification information of the second color component and the third color component If all the first filtering identification information is the second value, it is determined that the first filtering identification information indicates that the reconstructed slice is not to be filtered.
  • the decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information of the component to be processed; wherein the second filter identification information of the component to be processed indicates whether to reconstruct the attribute information of the point cloud.
  • the processing components are filtered.
  • the second determination unit 3203 is further configured to determine to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud if the value of the second filter identification information of the component to be processed is the third value; And if the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  • the decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component. ; Wherein, the second filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud, and the second filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed point cloud.
  • the second color component of the reconstructed point cloud is subjected to filtering processing, and the second filtering identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed point cloud.
  • the second determining unit 3203 is further configured to: if at least one of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component One is the third value, then it is determined that the second filter identification information indicates filtering of the reconstructed point cloud; and if the second filter identification information of the first color component, the second filter identification information of the second color component and the third color component If all of the second filter identification information are fourth values, it is determined that the second filter identification information indicates that the reconstructed point cloud is not filtered.
  • the decoding unit 3201 is also configured to parse the code stream and determine the third filtering identification information; and if the third filtering identification information indicates filtering the reconstructed aggregate slice, parse the code stream and determine the third filtering coefficient. ; Among them, the reconstructed aggregation slice is obtained by aggregating n reconstructed slices, and n is an integer greater than 1;
  • the second filtering unit 3202 is further configured to perform filtering processing on the reconstructed aggregation slice according to the third filter coefficient, and determine a filtered aggregation slice corresponding to the reconstructed aggregation slice.
  • the second determining unit 3203 is further configured to determine at least one filtered slice after performing filtering processing on at least one reconstructed slice respectively; and perform aggregation processing on at least one filtered slice to determine the first filtered slice. point cloud;
  • the decoding unit 3201 is also configured to parse the code stream and determine the fourth filtering identification information; and if the fourth filtering identification information indicates filtering the first filtered point cloud, parse the code stream and determine the fourth filtering coefficient;
  • the second filtering unit 3202 is also configured to filter the first filtered point cloud according to the fourth filter coefficient, and determine the second filtered point cloud corresponding to the first filtered point cloud.
  • the "unit" may be part of a circuit, part of a processor, part of a program or software, etc., and of course may also be a module, or may be non-modular.
  • each component in this embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software function modules.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • this embodiment provides a computer storage medium for use in the decoder 320.
  • the computer storage medium stores a computer program.
  • any one of the foregoing embodiments is implemented. the method described.
  • the decoder 320 may include: a second communication interface 3301, a second memory 3302, and a second processor 3303; the various components are coupled together through a second bus system 3304. It can be understood that the second bus system 3304 is used to implement connection communication between these components. In addition to the data bus, the second bus system 3304 also includes a power bus, a control bus and a status signal bus. However, for the sake of clear explanation, various buses are labeled as the second bus system 3304 in FIG. 20 . in,
  • the second communication interface 3301 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • the second memory 3302 is used to store computer programs that can run on the second processor 3303;
  • the second processor 3303 is used to execute: when running the computer program:
  • the code stream is parsed to determine the first filter coefficient
  • the second processor 3303 is further configured to perform the method described in any one of the preceding embodiments when running the computer program.
  • This embodiment provides a decoder.
  • the decoder when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering processing based on the divided reconstructed slices, and determine that the reconstructed slices need to be filtered. After that, the corresponding filter coefficients are passed to the decoder; accordingly, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids the need to process large-scale Memory overflow occurs due to limited memory resources during point cloud processing, making it highly adaptable; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
  • FIG. 21 shows a schematic structural diagram of a coding and decoding system provided by an embodiment of the present application.
  • the encoding and decoding system 340 may include an encoder 3401 and a decoder 3402.
  • the encoder 3401 may be the encoder described in any of the preceding embodiments
  • the decoder 3402 may be the decoder described in any of the preceding embodiments.
  • the encoder 3401 when the reconstructed point cloud meets the preset conditions, the encoder 3401 will perform filtering processing based on the divided reconstructed slices, and after determining that the reconstructed slices need to be filtered , the corresponding filter coefficient is transmitted to the decoder; accordingly, the decoder 3402 can directly decode to obtain the filter coefficient, and then use the filter coefficient to filter the reconstructed slice; in this way, filtering based on the reconstructed slice not only avoids the need to process large Memory overflow occurs due to limited memory resources during point cloud processing, making it highly adaptable; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding performance.
  • the reconstructed slice of the reconstructed point cloud is determined; when the reconstructed point cloud meets the preset conditions, the first filter coefficient is determined according to the reconstructed slice and the initial slice corresponding to the reconstructed slice; according to the first The filter coefficient performs filtering on the reconstructed slice and determines the filtered slice corresponding to the reconstructed slice; determines the first filter identification information based on the filtered slice; wherein the first filter identification information indicates whether to filter the reconstructed slice; the first filtered The identification information is encoded; if the first filter identification information indicates that the reconstructed slice is filtered, the first filter coefficient is encoded; and the resulting encoded bits are written into the code stream.
  • the code stream is parsed to determine the first filter identification information; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; according to the first filter coefficient, the The reconstructed slice is filtered, and the filtered slice corresponding to the reconstructed slice is determined.
  • the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

Disclosed in the embodiments of the present application are an encoding method, a decoding method, a code stream, an encoder, a decoder, and a storage medium. The method comprises: determining a reconstructed slice of a reconstructed point cloud; when the reconstructed point cloud meets a preset condition, determining a first filter coefficient according to the reconstructed slice and an initial slice corresponding to the reconstructed slice; performing filter processing on the reconstructed slice according to the first filter coefficient, and determining a filtered slice corresponding to the reconstructed slice; determining first filter identification information according to the filtered slice, wherein the first filter identification information indicates whether to perform filter processing on the reconstructed slice; encoding the first filter identification information; if the first filter identification information indicates that filter processing is to be performed on the reconstructed slice, encoding the first filter coefficient; and writing an obtained encoded bit into a code stream. In this way, the quality of a point cloud can be improved; the present application has universality; and the code rate can also be reduced, thereby improving the encoding and decoding performance.

Description

编解码方法、码流、编码器、解码器以及存储介质Coding and decoding methods, code streams, encoders, decoders and storage media 技术领域Technical field
本申请实施例涉及视频编解码技术领域,尤其涉及一种编解码方法、码流、编码器、解码器以及存储介质。The embodiments of the present application relate to the field of video coding and decoding technology, and in particular, to a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
背景技术Background technique
目前,在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编解码框架中,点云的属性信息编码主要针对颜色信息的编码。首先,将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息的编码中,主要使用预测变换(Predicting Transform)、提升变换(Lifting Transform)、区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)等三种预测变换方式进行操作,最终生成二进制码流。Currently, in the geometry-based point cloud compression (G-PCC) encoding and decoding framework, the encoding of point cloud attribute information is mainly aimed at encoding color information. First, the color information is converted from RGB color space to YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. In the encoding of color information, three predictive transformation methods are mainly used: Predicting Transform, Lifting Transform, and Region Adaptive Hierarchal Transform (RAHT), and finally generate binary codes. flow.
然而,在相关技术中,对于已有的G-PCC编解码框架只会针对初始点云进行基础性重建,而对于属性有损编码的情况,在重建后可能使得重建点云和初始点云相差比较大,失真较为严重,从而影响了整个点云的质量。However, in related technologies, the existing G-PCC encoding and decoding framework only performs basic reconstruction on the initial point cloud, and in the case of attribute lossy coding, the reconstructed point cloud may be different from the initial point cloud after reconstruction. Relatively large, the distortion is more serious, thus affecting the quality of the entire point cloud.
发明内容Contents of the invention
本申请实施例提供一种编解码方法、码流、编码器、解码器以及存储介质,不仅能够提升点云的质量,而且具有普适性,还能够节省码率,进而提高编解码性能。Embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium, which can not only improve the quality of point clouds, but also have universal applicability, save bit rates, and thereby improve coding and decoding performance.
本申请实施例的技术方案可以如下实现:The technical solutions of the embodiments of this application can be implemented as follows:
第一方面,本申请实施例提供了一种编码方法,应用于编码器,该方法包括:In the first aspect, embodiments of the present application provide an encoding method, which is applied to an encoder. The method includes:
确定重建点云的重建切片;Determine the reconstructed slices of the reconstructed point cloud;
在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;When the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;Perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice;
根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;Determine first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to perform filtering processing on the reconstructed slice;
对第一滤波标识信息进行编码;Encoding the first filter identification information;
若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;If the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient;
将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
第二方面,本申请实施例提供了一种码流,该码流包含确定解码点云的参数信息;其中,参数信息包括下述至少之一:初始切片中点的属性信息的残差值、第一滤波标识信息和第一滤波系数。In the second aspect, embodiments of the present application provide a code stream that includes parameter information for determining the decoded point cloud; wherein the parameter information includes at least one of the following: residual values of attribute information of points in the initial slice, First filter identification information and first filter coefficient.
第三方面,本申请实施例提供了一种解码方法,应用于解码器,该方法包括:In a third aspect, embodiments of the present application provide a decoding method, applied to a decoder, and the method includes:
解析码流,确定第一滤波标识信息;Analyze the code stream and determine the first filter identification information;
若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;If the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient;
根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。Filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
第四方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一滤波单元和编码单元;其中,In a fourth aspect, embodiments of the present application provide an encoder, which includes a first determination unit, a first filtering unit and a coding unit; wherein,
第一确定单元,配置为确定重建点云的重建切片;以及在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;The first determination unit is configured to determine the reconstructed slice of the reconstructed point cloud; and when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
第一滤波单元,配置为根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;A first filtering unit configured to filter the reconstructed slice according to the first filter coefficient and determine the filtered slice corresponding to the reconstructed slice;
第一确定单元,还配置为根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;The first determining unit is further configured to determine the first filtering identification information according to the filtered slice; wherein the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice;
编码单元,配置为对第一滤波标识信息进行编码;以及若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;An encoding unit configured to encode the first filter identification information; and if the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient;
编码单元,还配置为将所得到的编码比特写入码流。The encoding unit is also configured to write the obtained encoded bits into the code stream.
第五方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,In a fifth aspect, embodiments of the present application provide an encoder, which includes a first memory and a first processor; wherein,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;a first memory for storing a computer program capable of running on the first processor;
第一处理器,用于在运行计算机程序时,执行如第一方面的方法。The first processor is used to execute the method of the first aspect when running the computer program.
第六方面,本申请实施例提供了一种解码器,该解码器包括解码单元和第二滤波单元;其中,In a sixth aspect, embodiments of the present application provide a decoder, which includes a decoding unit and a second filtering unit; wherein,
解码单元,配置为解析码流,确定第一滤波标识信息;以及若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;The decoding unit is configured to parse the code stream and determine the first filter identification information; and if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
第二滤波单元,配置为根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。The second filtering unit is configured to filter the reconstructed slice according to the first filter coefficient and determine the filtered slice corresponding to the reconstructed slice.
第七方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,In a seventh aspect, embodiments of the present application provide a decoder, which includes a second memory and a second processor; wherein,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;a second memory for storing a computer program capable of running on the second processor;
第二处理器,用于在运行计算机程序时,执行如第三方面所述的方法。The second processor is configured to perform the method described in the third aspect when running the computer program.
第八方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第三方面所述的方法。In an eighth aspect, embodiments of the present application provide a computer storage medium that stores a computer program. The computer program implements the method described in the first aspect when executed by a first processor, or is executed by a second processor. When executed, the processor implements the method described in the third aspect.
本申请实施例提供了一种编解码方法、码流、编码器、解码器以及存储介质,在编码端,确定重建点云的重建切片;在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;对第一滤波标识信息进行编码;若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;将所得到的编码比特写入码流。在解码端,解析码流,确定第一滤波标识信息;若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。这样,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码端可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码效率。Embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium. At the coding end, the reconstructed slice of the reconstructed point cloud is determined; when the reconstructed point cloud meets the preset conditions, the reconstructed point cloud is determined according to the reconstructed point cloud. The initial slice corresponding to the slice and the reconstructed slice determines the first filter coefficient; the reconstructed slice is filtered according to the first filter coefficient to determine the filtered slice corresponding to the reconstructed slice; the first filter identification information is determined according to the filtered slice; wherein, The first filtering identification information indicates whether to perform filtering processing on the reconstructed slice; encode the first filtering identification information; if the first filtering identification information indicates filtering processing on the reconstructed slice, encode the first filter coefficient; and encode the obtained The encoded bits are written into the code stream. At the decoding end, the code stream is parsed to determine the first filter identification information; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; according to the first filter coefficient, the The reconstructed slice is filtered, and the filtered slice corresponding to the reconstructed slice is determined. In this way, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
附图说明Description of the drawings
图1为一种G-PCC编码器的组成框架示意图;Figure 1 is a schematic diagram of the composition framework of a G-PCC encoder;
图2为一种G-PCC解码器的组成框架示意图;Figure 2 is a schematic diagram of the composition framework of a G-PCC decoder;
图3为一种零行程编码的结构示意图;Figure 3 is a schematic structural diagram of a zero-run encoding;
图4为本申请实施例提供的一种编码方法的流程示意图一;Figure 4 is a schematic flow chart 1 of an encoding method provided by an embodiment of the present application;
图5为本申请实施例提供的一种编码方法的流程示意图二;Figure 5 is a schematic flow chart 2 of an encoding method provided by an embodiment of the present application;
图6为本申请实施例提供的一种编码方法的流程示意图三;Figure 6 is a schematic flow chart 3 of an encoding method provided by an embodiment of the present application;
图7为本申请实施例提供的一种解码方法的流程示意图一;Figure 7 is a schematic flowchart 1 of a decoding method provided by an embodiment of the present application;
图8为本申请实施例提供的一种解码方法的流程示意图二;Figure 8 is a schematic flow chart 2 of a decoding method provided by an embodiment of the present application;
图9为本申请实施例提供的一种编码端滤波处理的流程示意图一;Figure 9 is a schematic flow chart 1 of a coding end filtering process provided by an embodiment of the present application;
图10为本申请实施例提供的一种编码端滤波处理的流程示意图二;Figure 10 is a schematic flow chart 2 of an encoding-side filtering process provided by an embodiment of the present application;
图11为本申请实施例提供的一种解码端滤波处理的流程示意图;Figure 11 is a schematic flow chart of a decoding end filtering process provided by an embodiment of the present application;
图12为本申请实施例提供的一种在CY测试条件下预测变换的测试结果示意图;Figure 12 is a schematic diagram of test results of predictive transformation under CY test conditions provided by the embodiment of the present application;
图13为本申请实施例提供的一种在C1测试条件下提升变换的测试结果示意图;Figure 13 is a schematic diagram of the test results of lifting transformation under C1 test conditions provided by the embodiment of the present application;
图14为本申请实施例提供的一种在C2测试条件下提升变换的测试结果示意图;Figure 14 is a schematic diagram of the test results of lifting transformation under C2 test conditions provided by the embodiment of the present application;
图15为本申请实施例提供的一种在C1测试条件下RAHT变换的测试结果示意图;Figure 15 is a schematic diagram of the test results of RAHT transformation under C1 test conditions provided by the embodiment of the present application;
图16为本申请实施例提供的一种在C2测试条件下RAHT变换的测试结果示意图;Figure 16 is a schematic diagram of the test results of RAHT transformation under C2 test conditions provided by the embodiment of the present application;
图17为本申请实施例提供的一种编码器的组成结构示意图;Figure 17 is a schematic structural diagram of an encoder provided by an embodiment of the present application;
图18为本申请实施例提供的一种编码器的具体硬件结构示意图;Figure 18 is a schematic diagram of the specific hardware structure of an encoder provided by an embodiment of the present application;
图19为本申请实施例提供的一种解码器的组成结构示意图;Figure 19 is a schematic structural diagram of a decoder provided by an embodiment of the present application;
图20为本申请实施例提供的一种解码器的具体硬件结构示意图;Figure 20 is a schematic diagram of the specific hardware structure of a decoder provided by an embodiment of the present application;
图21为本申请实施例提供的一种编解码***的组成结构示意图。Figure 21 is a schematic structural diagram of a coding and decoding system provided by an embodiment of the present application.
具体实施方式Detailed ways
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。In order to understand the characteristics and technical content of the embodiments of the present application in more detail, the implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings. The attached drawings are for reference only and are not intended to limit the embodiments of the present application.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or a different subset of all possible embodiments, and Can be combined with each other without conflict. It should also be pointed out that the terms "first\second\third" involved in the embodiments of this application are only used to distinguish similar objects and do not represent a specific ordering of objects. It is understandable that "first\second\ The third "specific order or sequence may be interchanged where permitted, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein.
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:Before further describing the embodiments of this application in detail, the nouns and terms involved in the embodiments of this application are first described. The nouns and terms involved in the embodiments of this application are subject to the following explanations:
基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC或GPCC)Geometry-based Point Cloud Compression (G-PCC or GPCC)
基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC或VPCC)Video-based Point Cloud Compression (V-PCC or VPCC)
维纳滤波器(Wiener Filter)Wiener Filter (Wiener Filter)
八叉树(Octree)Octree
包围盒(Bounding Box)Bounding Box
K近邻(K Nearest Neighbor,KNN)K Nearest Neighbor (KNN)
细节层次(Level of Detail,LOD)Level of Detail (LOD)
预测变换(Predicting Transform)Predicting Transform
提升变换(Lifting Transform)Lifting Transform
区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)Region Adaptive Hierarchal Transform (RAHT)
峰值信噪比(Peak Signal to Noise Ratio,PSNR)Peak Signal to Noise Ratio (PSNR)
率失真代价(Rate Distortion Cost,RDCost)Rate Distortion Cost (RDCost)
和方差(Sum Squared Error,SSE)Sum Squared Error (SSE)
最小均方误差(Minimum Mean Squared Error,MMSE)Minimum Mean Squared Error (MMSE)
率失真优化(Rate Distortion Optimization,RDO)Rate Distortion Optimization (RDO)
亮度分量(Luminance,Luma或Y)Luminance component (Luminance, Luma or Y)
蓝色色度分量(Chroma blue,Cb)Blue chroma component (Chroma blue, Cb)
红色色度分量(Chroma red,Cr)Red chroma component (Chroma red, Cr)
点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。Point cloud is a three-dimensional representation of the surface of an object. Through collection equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera, the point cloud (data) of the surface of the object can be collected.
点云(Point Cloud)是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YCbCr,YUV)信息。其中,Y表示明亮度,Cb(U)表示蓝色色度,Cr(V)表示红色色度。Point Cloud refers to a collection of massive three-dimensional points. The points in the point cloud can include point location information and point attribute information. For example, the position information of the point may be the three-dimensional coordinate information of the point. The position information of a point can also be called the geometric information of the point. For example, the point attribute information may include color information and/or reflectivity, etc. For example, color information can be information on any color space. For example, the color information may be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B). For another example, the color information may be brightness and chrominance (YCbCr, YUV) information. Among them, Y represents brightness, Cb(U) represents blue chroma, and Cr(V) represents red chroma.
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。According to the point cloud obtained according to the principle of laser measurement, the points in the point cloud can include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point. For another example, in a point cloud obtained according to the principle of photogrammetry, the points in the point cloud may include the three-dimensional coordinate information of the point and the color information of the point. For another example, a point cloud is obtained by combining the principles of laser measurement and photogrammetry. The points in the point cloud may include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.
点云可以按获取的途径分为:Point clouds can be divided into:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;The first type of static point cloud: that is, the object is stationary and the device that obtains the point cloud is also stationary;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;The second type of dynamic point cloud: the object is moving, but the device that obtains the point cloud is stationary;
第三类动态获取点云:获取点云的设备是运动的。The third type of dynamically acquired point cloud: the device that acquires the point cloud is in motion.
例如,按点云的用途分为两大类:For example, point clouds are divided into two categories according to their uses:
类别一:机器感知点云,其可以用于自主导航***、实时巡检***、地理信息***、视觉分拣机器人、抢险救灾机器人等场景;Category 1: Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue and disaster relief robots;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。Category 2: Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free-viewpoint broadcasting, three-dimensional immersive communication, and three-dimensional immersive interaction.
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。Since the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but is also not conducive to transmission. There is not such a large bandwidth to support the direct transmission of the point cloud at the network layer without compression. Therefore, it is necessary to The cloud performs compression.
截止目前,可对点云进行压缩的点云编码框架可以是运动图像专家组(Moving Picture Experts Group,MPEG)提供的G-PCC编解码框架或V-PCC编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。其中,G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。在本申请实施例中,这里主要是针对G-PCC编解码框架进行描述。Up to now, the point cloud coding framework that can compress point clouds can be the G-PCC codec framework or V-PCC codec framework provided by the Moving Picture Experts Group (MPEG), or it can be audio and video coding. The AVS-PCC codec framework provided by Audio Video Standard (AVS). Among them, the G-PCC encoding and decoding framework can be used to compress the first type of static point cloud and the third type of dynamic point cloud, and the V-PCC encoding and decoding framework can be used to compress the second type of dynamic point cloud. In the embodiment of this application, the description here mainly focuses on the G-PCC encoding and decoding framework.
可以理解,在点云G-PCC编解码框架中,将输入三维图像模型的点云进行分片(slice)处理后,可以对每一个slice进行独立编码。It can be understood that in the point cloud G-PCC encoding and decoding framework, after the point cloud of the input three-dimensional image model is sliced, each slice can be independently encoded.
图1为一种G-PCC编码器的组成框架示意图。如图1所示,该G-PCC编码器应用于点云编码器。在该G-PCC编码框架中,针对待编码的点云数据,首先通过slice划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个Bounding Box中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是再基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对Bounding Box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于三角面片集(Triangle soup,Trisoup)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该Trisoup不需要将点云逐级划分到边长为1×1×1的单位立方体,而是划分到子块(Block)边长为W时停止划分,基于每个Block种点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个交点(Vertex),对Vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的集合信息在对点云的属性编码时使用。Figure 1 is a schematic diagram of the composition framework of a G-PCC encoder. As shown in Figure 1, this G-PCC encoder is applied to the point cloud encoder. In this G-PCC coding framework, for the point cloud data to be encoded, the point cloud data is first divided into multiple slices through slice division. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately. In the process of geometric encoding, the geometric information is transformed into coordinates so that all point clouds are contained in a Bounding Box, and then quantized. This quantification step mainly plays a scaling role. Due to the quantization rounding, the geometry of a part of the point cloud is The information is the same, so it is decided whether to remove duplicate points based on parameters. The process of quantifying and removing duplicate points is also called the voxelization process. Then divide the Bounding Box into an octree. In the geometric information encoding process based on the octree, the bounding box is divided into eight equal parts into eight sub-cubes, and the non-empty sub-cubes (containing points in the point cloud) continue to be divided into eight equal parts until the leaf structure is obtained. The division stops when the point is a 1×1×1 unit cube, and the points in the leaf nodes are arithmetic encoded to generate a binary geometric bit stream, that is, a geometric code stream. In the process of encoding geometric information based on triangle patch set (Triangle soup, Trisoup), octree division is also required first, but different from octree-based geometric information encoding, this Trisoup does not need to divide the point cloud step by step. It is divided into a unit cube with a side length of 1×1×1, but is divided into sub-blocks (Blocks) when the side length is W. Based on the surface formed by the distribution of point clouds in each Block, the surface and block are obtained. At most twelve intersection points (Vertex) generated by the twelve edges, the Vertex is arithmetic encoded (surface fitting based on the intersection points), and a binary geometric bit stream is generated, that is, the geometric code stream. Vertex is also used in the implementation of the geometric reconstruction process, and the reconstructed set information is used when encoding the attributes of the point cloud.
在属性编码过程中,几何编码完成,对几何信息进行重建后,进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。属性编码主要针对颜色信息进行,在颜色信息编码过程中,主要有两种变换方法,一是依赖于LOD划分的基于距离的提升变换,二是直接进行RAHT变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将经过八叉树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个Block的Vertex坐标(即算术编码),生成二进制的属性比特流,即属性码流。In the attribute encoding process, the geometric encoding is completed. After the geometric information is reconstructed, color conversion is performed to convert the color information (ie, attribute information) from the RGB color space to the YUV color space. Then, the point cloud is recolored using 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. In the process of color information encoding, there are two main transformation methods. One is distance-based lifting transformation that relies on LOD division, and the other is direct RAHT transformation. Both methods will convert the color information. Convert from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through transformation, and finally quantize the coefficients (i.e., quantized coefficients). Finally, the geometrically encoded data and quantized coefficient processing attributes after octree division and surface fitting are After the encoded data is slice-synthesized, the Vertex coordinates of each block are sequentially encoded (that is, arithmetic coding) to generate a binary attribute bit stream, that is, an attribute code stream.
图2为一种G-PCC解码器的组成框架示意图。如图2所示,该G-PCC解码器应用于点云编码器。在该G-PCC解码框架中,针对所获取的二进制码流,首先对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-逆坐标转换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的提升逆变换或者基于RAHT的逆变换-逆颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。Figure 2 is a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 2, this G-PCC decoder is applied to the point cloud encoder. In this G-PCC decoding framework, for the obtained binary code stream, the geometry bit stream and attribute bit stream in the binary code stream are first independently decoded. When decoding the geometry bit stream, the geometric information of the point cloud is obtained through arithmetic decoding - octree synthesis - surface fitting - reconstructed geometry - inverse coordinate conversion; when decoding the attribute bit stream, through arithmetic decoding - inverse Quantization - LOD-based lifting inverse transformation or RAHT-based inverse transformation - inverse color conversion to obtain the attribute information of the point cloud, and restore the three-dimensional image model of the point cloud data to be encoded based on the geometric information and attribute information.
在如上述图1所示的G-PCC编码器中,LOD划分主要用于点云属性变换中的预测变换(Predicting Transform)和提升变换(Lifting Transform)两种方式。In the G-PCC encoder shown in Figure 1 above, LOD division is mainly used for two methods: Predicting Transform and Lifting Transform in point cloud attribute transformation.
还可以理解,LOD划分的过程是在点云几何重建之后,这时候点云的几何坐标信息是可以直接获取的。根据点云点之间的欧式距离将点云划分为多个LOD;依次对LOD中点的颜色进行解码,计算零行程编码技术中零的数量(用zero_cnt表示),然后根据zero_cnt的值对残差进行解码。It can also be understood that the process of LOD division is after the geometric reconstruction of the point cloud. At this time, the geometric coordinate information of the point cloud can be directly obtained. Divide the point cloud into multiple LODs according to the Euclidean distance between the point cloud points; decode the colors of the LOD midpoints in turn, calculate the number of zeros in the zero-run encoding technology (represented by zero_cnt), and then classify the residual values according to the value of zero_cnt The difference is decoded.
其中,依据编码零行程编码方法进行解码操作,首先解出码流中第一个zero_cnt的大小,若大于0,说明有连续zero_cnt个残差为0;若zero_cnt等于0,说明此点的属性残差不为0,解码出相应的残差值,然后对解码出的残差值进行反量化与当前点的颜色预测值相加得到该点的重建值,继续执行该操作直到解码完所有的点云点。示例性地,图3为一种零行程编码的结构示意图。如图3所示,如果残差值为73、50、32、15,那么这时候zero_cnt等于0;如果残差值为0且数量仅有一个,那么这时候zero_cnt等于1;如果残差值为0且数量有N个,那么这时候zero_cnt等于N。Among them, the decoding operation is performed according to the encoding zero-run encoding method. First, the size of the first zero_cnt in the code stream is solved. If it is greater than 0, it means that there are consecutive zero_cnt residuals of 0; if zero_cnt is equal to 0, it means that the attribute residual at this point is 0. If the difference is not 0, decode the corresponding residual value, then inversely quantize the decoded residual value and add it to the color prediction value of the current point to obtain the reconstructed value of the point. Continue this operation until all points are decoded. Cloud points. For example, FIG. 3 is a schematic structural diagram of a zero-run encoding. As shown in Figure 3, if the residual value is 73, 50, 32, 15, then zero_cnt is equal to 0 at this time; if the residual value is 0 and there is only one quantity, then zero_cnt is equal to 1 at this time; if the residual value is 0 and the number is N, then zero_cnt is equal to N at this time.
也就是说,当前点的颜色重建值(用reconstructedColor表示)需要基于当前预测模式下的颜色预测值(用predictedColor表示)与当前预测模式下颜色反量化的残差值(用residual表示)计算获得, 即reconstructedColor=predictedColor+residual。That is to say, the color reconstruction value of the current point (represented by reconstructedColor) needs to be calculated based on the color prediction value in the current prediction mode (represented by predictedColor) and the residual value of the color inverse quantization in the current prediction mode (represented by residual). That is reconstructedColor=predictedColor+residual.
进一步地,当前点将会作为后续LOD中点的最近邻居,并利用当前点的颜色重建值对后续点进行属性预测。Furthermore, the current point will be used as the nearest neighbor of the subsequent LOD midpoint, and the color reconstruction value of the current point will be used to predict the attributes of subsequent points.
然而,已有的G-PCC编解码框架只会对点云序列进行基础性的重建;对于属性有损(或几乎无损)编码方式,在重建之后,并未进行一定的处理来进一步提升重建点云颜色属性的质量。这样可能会使得重建点云和初始点云相差比较大,失真较为严重,从而会影响到整个点云的质量以及视觉效果。另外,在G-PCC点云标准测试数据集中,共有46个点云序列(这里只考虑单帧点云),分别属于Cat1-A和Cat1-B。其中,在Cat1-B中有较多的大型点云,点数超过1000万个,大小超2GB。对于这些点云序列来说,在利用相关技术进行点云处理时还可能会出现内存溢出的情况,造成程序崩溃。因此,目前的相关技术还存在一定的局限性,无法有效处理所有点云,普适性较差。However, the existing G-PCC encoding and decoding framework only performs basic reconstruction of point cloud sequences; for attribute lossy (or almost lossless) coding methods, after reconstruction, no certain processing is performed to further improve the reconstruction points. Quality of cloud color properties. This may cause a large difference between the reconstructed point cloud and the initial point cloud, causing serious distortion, which will affect the quality and visual effects of the entire point cloud. In addition, in the G-PCC point cloud standard test data set, there are a total of 46 point cloud sequences (only single frame point clouds are considered here), belonging to Cat1-A and Cat1-B respectively. Among them, there are many large point clouds in Cat1-B, with more than 10 million points and a size exceeding 2GB. For these point cloud sequences, memory overflow may occur when using related technologies for point cloud processing, causing the program to crash. Therefore, the current related technology still has certain limitations, cannot effectively process all point clouds, and has poor universality.
基于此,本申请实施例提出一种编解码方法,该方法可以影响G-PCC编码框架中的算术编码及以后的部分,也可以影响G-PCC解码框架中的属性重建之后的部分。Based on this, the embodiment of the present application proposes a coding and decoding method, which can affect the arithmetic coding and subsequent parts in the G-PCC coding framework, and can also affect the part after attribute reconstruction in the G-PCC decoding framework.
也就是说,本申请实施例提出一种编码方法,可以应用在如图1中用虚线框标识的算术编码及以后的部分。相应地,本申请实施例还提出一种解码方法,可以应用在如图2中用虚线框标识的属性重建之后的部分。That is to say, the embodiment of the present application proposes a coding method, which can be applied to the arithmetic coding marked by the dotted box in Figure 1 and subsequent parts. Correspondingly, the embodiment of the present application also proposes a decoding method, which can be applied to the part after attribute reconstruction marked with a dotted box in Figure 2.
这样,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码端可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理。如此,基于重建切片进行滤波处理,不仅可以避免处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且还可以实现对重建点云的优化,能够提升点云的质量,节省码率,进而提高编解码性能。In this way, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices. In this way, filtering based on reconstructed slices can not only avoid memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it can also optimize the reconstructed point cloud and improve the point cloud. The quality is improved, the bit rate is saved, and the encoding and decoding performance is improved.
下面将结合附图对本申请各实施例进行清楚、完整地描述。Each embodiment of the present application will be clearly and completely described below with reference to the accompanying drawings.
在本申请的一实施例中,参见图4,其示出了本申请实施例提供的一种编码方法的流程示意图一。如图4所示,该方法可以包括:In an embodiment of the present application, see FIG. 4 , which shows a schematic flowchart 1 of an encoding method provided by an embodiment of the present application. As shown in Figure 4, the method may include:
S401:确定重建点云的重建切片。S401: Determine the reconstructed slice of the reconstructed point cloud.
需要说明的是,本申请实施例所述的编码方法具体是指点云编码方法,可以应用于点云编码器(本申请实施例中,可简称为“编码器”)。It should be noted that the encoding method described in the embodiment of the present application specifically refers to the point cloud encoding method, which can be applied to a point cloud encoder (in the embodiment of the present application, it may be referred to as "encoder" for short).
还需要说明的是,在本申请实施例中,对于重建点云的确定,首先会针对初始点云进行切片(slice)处理,然后针对每个切片分别进行编码及重建处理。具体地,在一些实施例中,该方法还可以包括:对初始点云进行切片处理,得到至少一个初始切片;对至少一个初始切片依次进行编码及重建处理,得到至少一个重建切片;对至少一个重建切片进行聚合处理,得到重建点云。It should also be noted that in this embodiment of the present application, to determine the reconstructed point cloud, slice processing is first performed on the initial point cloud, and then encoding and reconstruction processing are performed on each slice. Specifically, in some embodiments, the method may further include: slicing the initial point cloud to obtain at least one initial slice; sequentially encoding and reconstructing the at least one initial slice to obtain at least one reconstructed slice; The reconstructed slices are aggregated to obtain a reconstructed point cloud.
也就是说,在初始点云的编码及重建过程中,首先需要对初始点云进行切片处理,即点数较多的点云会被分割为多个slice,每个slice包含的点数约为80万~100万个左右;然后针对每个slice进行编码及重建处理,可以得到重建切片;将所有的重建切片聚合到一起,即可得到重建点云。That is to say, during the encoding and reconstruction process of the initial point cloud, the initial point cloud first needs to be sliced, that is, the point cloud with a large number of points will be divided into multiple slices, and each slice contains about 800,000 points. ~1 million or so; then encoding and reconstruction processing are performed on each slice to obtain reconstructed slices; by aggregating all the reconstructed slices together, the reconstructed point cloud can be obtained.
在本申请实施例中,对于初始点云而言,通常都需要进行切片处理。在这里,相关技术是将所有的重建切片聚合为重建点云之后,然后基于整个重建点云来考虑是否进行滤波处理。但是对于一些大型点云,例如点数超过1000万个,会占用大量的内存空间,导致处理这些大型点云时可能会出现内存溢出的情况,甚至出现程序崩溃。因此,在本申请实施例中,可以根据重建点云的参数信息确定是针对整个重建点云进行滤波处理,还是针对划分的重建切片分别进行滤波处理;从而既可以最大程度地保证点云压缩效率,同时又可以避免处理大型点云时由于占用大量的内存空间而导致内存溢出的情况,使得本申请实施例的方法更具有普适性。In the embodiment of this application, slicing processing is usually required for the initial point cloud. Here, the related technology is to aggregate all reconstructed slices into a reconstructed point cloud, and then consider whether to perform filtering based on the entire reconstructed point cloud. However, for some large point clouds, for example, with more than 10 million points, a large amount of memory space will be occupied, resulting in memory overflow or even program crash when processing these large point clouds. Therefore, in the embodiment of the present application, it can be determined according to the parameter information of the reconstructed point cloud whether to perform filtering processing on the entire reconstructed point cloud or on the divided reconstructed slices respectively; thus, the point cloud compression efficiency can be ensured to the greatest extent , and at the same time, it can avoid memory overflow caused by occupying a large amount of memory space when processing large point clouds, making the method of the embodiment of the present application more universal.
在本申请实施例中,对于初始点云而言,针对初始切片中的一个点,在对该点进行编码时,其可以作为初始切片中的待编码点,而该点的周围存在有多个已编码点。另外,针对初始切片中的一个点,其对应一个几何信息和一个属性信息;其中,几何信息表征该点的空间位置,属性信息表征该点的属性值(如颜色分量值)。In the embodiment of this application, for the initial point cloud, for a point in the initial slice, when encoding the point, it can be used as a point to be encoded in the initial slice, and there are multiple Coded points. In addition, for a point in the initial slice, it corresponds to a piece of geometric information and a piece of attribute information; among which, the geometric information represents the spatial position of the point, and the attribute information represents the attribute value (such as color component value) of the point.
在这里,属性信息可以包括颜色分量,具体为任意颜色空间的颜色信息。示例性地,属性信息可以为RGB空间的颜色信息,也可以为YUV空间的颜色信息,还可以为YCbCr空间的颜色信息等等,本申请实施例不作任何限定。Here, the attribute information may include color components, specifically color information in any color space. For example, the attribute information may be color information in RGB space, color information in YUV space, color information in YCbCr space, etc., which are not limited in the embodiments of this application.
在本申请实施例中,颜色分量可以包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量。这样,如果颜色分量符合RGB颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:R分量、G分量、B分量;如果颜色分量符合YUV颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、U分量、V分量;如果颜色分量符合YCbCr颜色 空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、Cb分量、Cr分量。In the embodiment of the present application, the color component may include at least one of the following: a first color component, a second color component, and a third color component. In this way, if the color component conforms to the RGB color space, then it can be determined that the first color component, the second color component, and the third color component are: R component, G component, and B component; if the color component conforms to the YUV color space, then it can be determined The first color component, the second color component and the third color component are: Y component, U component, V component; if the color component conforms to the YCbCr color space, then the first color component, the second color component and the third color can be determined The components are: Y component, Cb component, Cr component.
可以理解的是,在本申请实施例中,针对初始切片中的一个点,该点的属性信息可以为颜色分量,或者,该点的属性信息也可以为反射率、折射率或者其它属性,本申请实施例不作任何限定。It can be understood that in the embodiment of the present application, for a point in the initial slice, the attribute information of the point can be a color component, or the attribute information of the point can also be reflectivity, refractive index or other attributes. The application examples are not limited in any way.
进一步地,在本申请实施例中,针对初始切片中的一个点,可以先确定出该点的属性信息的预测值和残差值,然后再利用预测值和残差值进一步计算获得该点的属性信息的重建值,以便构建出重建切片。具体来讲,对于初始切片中的一个点,在确定该点的属性信息的预测值时,可以利用该点的多个目标邻居点的几何信息和属性信息,结合该点的几何信息对该点的属性信息进行预测,从而获得对应的预测值,进而能够确定出对应的重建值。这样,对于初始点云中的一个点,在确定出该点的属性信息的重建值之后,该点可以作为后续LOD中点的最近邻居,以利用该点的属性信息的重建值继续对后续的点进行属性预测,如此即可构建出重建切片;然后将所有的重建切片聚合到一起,即可得到重建点云。Further, in this embodiment of the present application, for a point in the initial slice, the predicted value and residual value of the attribute information of the point can be determined first, and then the predicted value and residual value are further used to calculate and obtain the point's Reconstructed values of attribute information to construct reconstructed slices. Specifically, for a point in the initial slice, when determining the predicted value of the attribute information of the point, the geometric information and attribute information of multiple target neighbor points of the point can be used, and the geometric information of the point can be combined to predict the point. The attribute information is predicted to obtain the corresponding prediction value, and then the corresponding reconstruction value can be determined. In this way, for a point in the initial point cloud, after determining the reconstruction value of the attribute information of the point, the point can be used as the nearest neighbor of the subsequent LOD midpoint, so that the reconstruction value of the attribute information of the point can be used to continue to reconstruct the subsequent points. Points are predicted for attributes, so that reconstructed slices can be constructed; then all reconstructed slices are aggregated together to obtain a reconstructed point cloud.
也就是说,在本申请实施例中,初始点云可以通过编解码程序点云读取函数直接得到,重建点云则是在所有编码操作结束之后获得的。另外,本申请实施例的重建点云可以是解码后输出的重建点云,也可以是用作解码后续点云参考;此外,这里的重建点云不仅可以在在预测环路内,即作为inloop filter使用,可用作解码后续点云的参考;也可以在预测环路外,即作为post filter使用,不用作解码后续点云的参考;本申请实施例对此不作具体限定。That is to say, in the embodiment of the present application, the initial point cloud can be obtained directly through the point cloud reading function of the encoding and decoding program, and the reconstructed point cloud is obtained after all encoding operations are completed. In addition, the reconstructed point cloud in the embodiment of the present application can be the reconstructed point cloud output after decoding, or can be used as a reference for subsequent decoding point clouds; in addition, the reconstructed point cloud here can not only be within the prediction loop, that is, as an inloop When used as a filter, it can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter, and is not used as a reference for decoding subsequent point clouds; the embodiments of this application do not specifically limit this.
在一些实施例中,该方法还可以包括:In some embodiments, the method may further include:
确定重建点云的参数信息;Determine the parameter information of the reconstructed point cloud;
根据重建点云的参数信息,确定重建点云是否满足预设条件。According to the parameter information of the reconstructed point cloud, it is determined whether the reconstructed point cloud meets the preset conditions.
在本申请实施例中,所述确定重建点云的参数信息,可以包括:确定重建点云中点的数量。也就是说,本申请实施例可以根据重建点云中点的数量,确定重建点云是否满足预设条件,进而确定是针对整个重建点云进行滤波处理,还是针对划分的重建切片分别进行滤波处理。In this embodiment of the present application, determining the parameter information of the reconstructed point cloud may include: determining the number of points in the reconstructed point cloud. That is to say, the embodiment of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstructed slices. .
相应地,在一些实施例中,该方法还可以包括:Correspondingly, in some embodiments, the method may also include:
若重建点云中点的数量大于或等于预设阈值,则确定重建点云满足预设条件;或者,If the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, it is determined that the reconstructed point cloud meets the preset conditions; or,
若重建点云中点的数量小于预设阈值,则确定重建点云不满足预设条件。If the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset conditions.
需要说明的是,这里的预设阈值可以是用于衡量重建点云是否为大型点云,即该重建点云是按照整体进行滤波处理,还是按照划分的重建切片分别进行滤波处理。示例性地,如果重建点云中点的数量大于或的等于预设阈值,意味着该重建点云的点数过多,为避免在对其进行滤波处理时出现内存溢出的情况,那么可以确定该重建点云满足预设条件,这时候是按照划分的重建切片分别进行滤波处理;如果重建点云中点的数量小于预设阈值,意味着该重建点云的点数在进行滤波处理时不会造成内存溢出的情况,那么可以确定该重建点云不满足预设条件,这时候针对该重建点云是按照整体进行滤波处理;如此,既可以最大程度地保证点云压缩效率,同时更具有普适性。It should be noted that the preset threshold here can be used to measure whether the reconstructed point cloud is a large point cloud, that is, whether the reconstructed point cloud is filtered as a whole or filtered according to divided reconstructed slices. For example, if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, it means that the number of points in the reconstructed point cloud is too many. In order to avoid memory overflow when filtering it, it can be determined that the When the reconstructed point cloud meets the preset conditions, filtering is performed according to the divided reconstruction slices; if the number of points in the reconstructed point cloud is less than the preset threshold, it means that the number of points in the reconstructed point cloud will not cause any problems during filtering. In the case of memory overflow, it can be determined that the reconstructed point cloud does not meet the preset conditions. At this time, the reconstructed point cloud is filtered as a whole; in this way, the point cloud compression efficiency can be ensured to the greatest extent and it is more universal. sex.
进一步地,在一些实施例中,所述确定重建点云中点的数量,可以包括:对初始点云进行几何量化处理,得到量化后点云;根据量化后点云中点的数量,确定重建点云中点的数量。Further, in some embodiments, determining the number of midpoints in the reconstructed point cloud may include: performing geometric quantization processing on the initial point cloud to obtain a quantified point cloud; determining the reconstructed point cloud based on the number of midpoints in the quantized point cloud. The number of points in the point cloud.
需要说明的是,本申请实施例的方法可以应用于除属性无损之外的所有编码方式,例如几何无损、属性有损的编码方式、几何有损、属性有损的编码方式、几何无损、属性几乎无损的编码方式等。其中,在几何无损的情况下,初始点云在进行几何量化处理之后,所得到的量化后点云中点的数量、几何坐标并没有发生改变,使得初始点云中点的数量与重建点云中点的数据相同;但是在几何有损的情况下,初始点云在进行几何量化处理之后,根据设置的码率不同,所得到的量化后点云中点的数量、几何坐标都会发生较大改变,使得初始点云中点的数量与重建点云中点的数量存在不同,导致无法根据初始点云中点的数量来直接确定重建点云中点的数量。It should be noted that the method of the embodiment of the present application can be applied to all encoding methods except attribute lossless, such as geometric lossless, attribute lossy encoding method, geometric lossy, attribute lossy encoding method, geometric lossless, attribute Almost lossless encoding, etc. Among them, in the case of geometric losslessness, after the initial point cloud is subjected to geometric quantification processing, the number and geometric coordinates of the points in the quantized point cloud have not changed, making the number of points in the initial point cloud different from the reconstructed point cloud. The data of the midpoints are the same; but in the case of geometric loss, after the initial point cloud is subjected to geometric quantization processing, depending on the set code rate, the number of midpoints and geometric coordinates of the obtained quantized point cloud will be larger. Changes make the number of midpoints in the initial point cloud and the number of midpoints in the reconstructed point cloud different, resulting in the inability to directly determine the number of midpoints in the reconstructed point cloud based on the number of midpoints in the initial point cloud.
也就是说,在编码端对初始点云进行几何量化处理之后,可以得到量化后点云。由于量化后点云中点的数量与重建点云中点的数量相同(若几何无损,则其也与初始点云中点的数量相同);因此,在本申请实施例中,编码端可以根据量化后点云中点的数量,确定出重建点云中点的数量;然后根据重建点云中点的数量与预设阈值之间的关系,判断重建点云是否满足预设条件,进而确定出是针对整个重建点云进行滤波处理,还是针对划分的重建切片分别进行滤波处理。In other words, after the initial point cloud is geometrically quantized at the encoding end, the quantized point cloud can be obtained. Since the number of points in the quantized point cloud is the same as the number of points in the reconstructed point cloud (if the geometry is lossless, it is also the same as the number of points in the initial point cloud); therefore, in the embodiment of the present application, the encoding end can be based on Quantify the number of midpoints in the point cloud to determine the number of midpoints in the reconstructed point cloud; then, based on the relationship between the number of midpoints in the reconstructed point cloud and the preset threshold, determine whether the reconstructed point cloud meets the preset conditions, and then determine Whether to filter the entire reconstructed point cloud or filter the divided reconstructed slices separately.
S402:在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数。S402: When the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice.
在本申请实施例中,如果重建点云满足预设条件,那么意味着需要针对划分的重建切片进行滤波处理,此时可以根据重建切片与重建切片对应的初始切片,确定第一滤波系数。需要说明的是,初始切片中的点与重建切片中的点是具有对应关系的。在输入滤波器进行滤波处理之前,首先需要确定重建切片中点对应的K 1个目标点。在这里,以当前点为例,重建切片中的当前点对应的K 1个目标点可以包括当前点以及与当前点相邻的(K 1-1)个近邻点,K 1为大于1的整数。 In this embodiment of the present application, if the reconstructed point cloud meets the preset conditions, it means that filtering processing needs to be performed on the divided reconstructed slices. At this time, the first filter coefficient can be determined based on the reconstructed slice and the initial slice corresponding to the reconstructed slice. It should be noted that there is a corresponding relationship between the points in the initial slice and the points in the reconstructed slice. Before inputting the filter for filtering processing, it is first necessary to determine the K 1 target points corresponding to the midpoint of the reconstructed slice. Here, taking the current point as an example, the K 1 target points corresponding to the current point in the reconstructed slice can include the current point and (K 1 -1) neighbor points adjacent to the current point, where K 1 is an integer greater than 1. .
在一些实施例中,所述根据重建切片与重建切片对应的初始切片,确定第一滤波系数,可以包括:根据初始切片中点和重建切片中点对应的K 1个目标点,确定第一滤波系数。 In some embodiments, determining the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice may include: determining the first filter coefficient according to K 1 target points corresponding to the initial slice midpoint and the reconstructed slice midpoint. coefficient.
在一种具体的实施例中,所述确定重建切片中点对应的K 1个目标点,可以包括: In a specific embodiment, determining the K 1 target points corresponding to the midpoint of the reconstructed slice may include:
基于重建切片中的第一点,利用K近邻搜索方式在重建切片中搜索预设数量个候选点;Based on the first point in the reconstructed slice, use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice;
分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值; Calculate the distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 1 -1) distance values from the obtained preset number of distance values;
根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将第一点和(K 1-1)个近邻点确定为第一点对应的K 1个目标点。 Determine (K 1 -1) neighbor points based on the candidate points corresponding to (K 1 -1) distance values, and determine the first point and (K 1 -1) neighbor points as K 1 targets corresponding to the first point point.
需要说明的是,第一点可以为重建切片中的点。在这里,以第一点为例,可以利用K近邻搜索方式在重建切片中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 1-1)个近邻点;将第一点自身和(K 1-1)个近邻点确定为最终的K 1个目标点。也就是说,对于K 1个目标点来说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 1-1)个近邻点,总共组成了重建切片中第一点对应的K 1个目标点。 It should be noted that the first point can be a point in the reconstructed slice. Here, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice, calculate the distance value between the first point and these candidate points, and then select from these candidate points with The closest (K 1 -1) neighbor points to the first point; determine the first point itself and (K 1 -1) neighbor points as the final K 1 target points. That is to say, for K 1 target points, in addition to the first point itself, it also includes (K 1 -1) neighbor points with the closest geometric distance to the first point, which altogether constitute the third point in the reconstructed slice. One point corresponds to K 1 target points.
还需要说明的是,这里的滤波器可以是自适应滤波器,例如可以是基于神经网络的滤波器、维纳滤波器等等,这里不作具体限定。It should also be noted that the filter here may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
在本申请实施例中,以维纳滤波器为例,维纳滤波器的作用主要是计算滤波系数,同时判断维纳滤波之后的点云质量是否提升。也就是说,本申请实施例所述的滤波系数(如第一滤波系数、第二滤波系数等)可以为用于维纳滤波处理的系数,即该滤波系数也可称为维纳滤波器输出的系数。In the embodiment of this application, the Wiener filter is taken as an example. The main function of the Wiener filter is to calculate the filter coefficient and at the same time determine whether the quality of the point cloud after Wiener filtering has been improved. That is to say, the filter coefficients (such as the first filter coefficient, the second filter coefficient, etc.) described in the embodiments of the present application can be coefficients used for Wiener filter processing, that is, the filter coefficients can also be called Wiener filter output. coefficient.
在这里,维纳滤波器(Wiener Filter)是一种以最小化均方误差为最优准则的线性滤波器。在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。维纳滤波器又被称为最小二乘滤波器或最小平方滤波器。Here, the Wiener Filter is a linear filter with minimization of the mean square error as the optimal criterion. Under certain constraints, the square of the difference between its output and a given function (often called the expected output) is minimized, and through mathematical operations it can eventually become a problem of solving the Toblitz equation. Wiener filter is also called least squares filter or least squares filter.
其中,维纳滤波是利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法,目前是基本的滤波方法之一。维纳滤波的具体算法如下:Among them, Wiener filtering is a method that uses the correlation characteristics and spectral characteristics of stationary random processes to filter signals mixed with noise. It is currently one of the basic filtering methods. The specific algorithm of Wiener filtering is as follows:
对于一列(混有噪声的)输入信号,滤波器长度或阶数为M时的输出如下,For a column of input signals (mixed with noise), the output when the filter length or order is M is as follows,
Figure PCTCN2022087255-appb-000001
Figure PCTCN2022087255-appb-000001
其中,M为滤波器的长度或阶数,y(n)为输出信号,x(n)为一列(混有噪声的)输入信号。Among them, M is the length or order of the filter, y(n) is the output signal, and x(n) is a column of input signals (mixed with noise).
将式(1)转换为矩阵形式,表示如下,Convert equation (1) into matrix form, expressed as follows,
y(n)=H(m)×X(n)       (2)y(n)=H(m)×X(n) (2)
已知期望信号为d(n),则可以计算已知信号与期望信号之间的误差,用e(n)表示,具体如下,It is known that the expected signal is d(n), then the error between the known signal and the expected signal can be calculated, expressed by e(n), as follows,
e(n)=d(n)-y(n)=d(n)-H(m)×X(n),m=0,1,...M        (3)e(n)=d(n)-y(n)=d(n)-H(m)×X(n), m=0,1,...M (3)
维纳滤波器以最小均方误差为目标函数,故令目标函数如下表示,The Wiener filter takes the minimum mean square error as the objective function, so the objective function is expressed as follows,
Min E(e(n) 2)=E[(d(n)-H(m)×X(n)) 2]       (4) Min E(e(n) 2 )=E[(d(n)-H(m)×X(n)) 2 ] (4)
当滤波系数为最优时,目标函数对系数的倒数应该为0,即:When the filter coefficient is optimal, the reciprocal of the coefficient of the objective function should be 0, that is:
Figure PCTCN2022087255-appb-000002
Figure PCTCN2022087255-appb-000002
也即:That is:
2E[(d(n)-H(m)×X(n))]×X(n)=0       (6)2E[(d(n)-H(m)×X(n))]×X(n)=0 (6)
E[d(n)X(n)]-H(m)E[X(n)X(n)]=0         (7)E[d(n)X(n)]-H(m)E[X(n)X(n)]=0    (7)
进一步可以表示为:It can further be expressed as:
Rxd-H×Rxx=0         (8)Rxd-H×Rxx=0 (8)
其中,Rxd与Rxx分别为输入信号与期望信号的相关矩阵与输入信号的自相关矩阵。从而根据维纳--霍夫方程进行最优解计算,可以得到滤波系数H:Among them, Rxd and Rxx are the correlation matrix of the input signal and the expected signal and the autocorrelation matrix of the input signal respectively. Therefore, by calculating the optimal solution according to the Wiener-Hough equation, the filter coefficient H can be obtained:
H=Rxx -1×Rxd         (9) H=Rxx -1 ×Rxd (9)
进一步地,在进行维纳滤波时,需要含噪信号与期望信号;而在本申请实施例中,对于点云编解码框架,两者分别对应重建切片与初始切片,这样就可以确定出维纳滤波器的输入。这样,对于S402来说,所述根据重建切片与重建切片对应的初始切片,确定第一滤波系数,可以包括:将重建切片与重建切片对应的初始切片输入到维纳滤波器中进行计算,输出第一滤波系数。Furthermore, when performing Wiener filtering, a noisy signal and an expected signal are required; in the embodiment of this application, for the point cloud encoding and decoding framework, the two correspond to the reconstructed slice and the initial slice respectively, so that the Wiener filter can be determined filter input. In this way, for S402, determining the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice may include: inputting the reconstructed slice and the initial slice corresponding to the reconstructed slice into the Wiener filter for calculation, and outputting The first filter coefficient.
在本申请实施例中,将重建切片与重建切片对应的初始切片输入到维纳滤波器中进行计算,输出第一滤波系数,可以包括:In this embodiment of the present application, inputting the reconstructed slice and the initial slice corresponding to the reconstructed slice into the Wiener filter for calculation and outputting the first filter coefficient may include:
根据初始切片中点的属性信息的原始值,确定第一属性参数;Determine the first attribute parameter according to the original value of the attribute information of the initial slice midpoint;
根据重建切片中点对应的K 1个目标点的属性信息的重建值,确定第二属性参数; Determine the second attribute parameter according to the reconstructed values of the attribute information of K 1 target points corresponding to the midpoint of the reconstructed slice;
基于第一属性参数和第二属性参数,确定第一滤波系数。Based on the first attribute parameter and the second attribute parameter, the first filter coefficient is determined.
在一种具体的实施例中,所述基于第一属性参数和第二属性参数,确定第一滤波系数,可以包括:In a specific embodiment, determining the first filter coefficient based on the first attribute parameter and the second attribute parameter may include:
根据第一属性参数和第二属性参数,确定互相关参数;Determine the cross-correlation parameter according to the first attribute parameter and the second attribute parameter;
根据第二属性参数确定自相关参数;Determine the autocorrelation parameter according to the second attribute parameter;
根据互相关参数和自相关参数进行系数计算,得到第一滤波系数。Coefficient calculation is performed based on the cross-correlation parameters and auto-correlation parameters to obtain the first filter coefficient.
需要说明的是,对于初始切片和重建切片而言,以属性信息的颜色分量为例,如果颜色分量符合YUV空间,那么在根据初始切片和重建切片确定第一滤波系数时,可以先基于颜色分量(如Y分量,U分量,V分量)的原始值和重建值,进行颜色分量的第一属性参数和第二属性参数的确定,进而可以根据第一属性参数和第二属性参数进一步确定出用于进行滤波处理的第一滤波系数。It should be noted that for initial slices and reconstructed slices, taking the color component of attribute information as an example, if the color component conforms to the YUV space, then when determining the first filter coefficient based on the initial slice and reconstructed slice, the color component can be first used (such as Y component, U component, V component), the first attribute parameter and the second attribute parameter of the color component are determined, and then the user can be further determined based on the first attribute parameter and the second attribute parameter. The first filter coefficient used for filtering.
具体而言,第一属性参数是根据初始切片中至少一个点的属性信息的原始值进行确定;第二属性参数是根据重建切片中至少一个点对应的K 1个目标点的属性信息的重建值进行确定,这里的K 1个目标点包括当前点以及与当前点相邻的(K 1-1)个近邻点。 Specifically, the first attribute parameter is determined based on the original value of the attribute information of at least one point in the initial slice; the second attribute parameter is determined based on the reconstructed value of the attribute information of K 1 target points corresponding to at least one point in the reconstructed slice. To determine, the K 1 target points here include the current point and (K 1 -1) neighbor points adjacent to the current point.
还需要说明的是,在利用维纳滤波器进行第一滤波系数确定时,还涉及到维纳滤波器的阶数。在本申请实施例,可以设置维纳滤波器的阶数等于M。其中,M和K 1的取值可以相同,也可以不相同,这里不作具体限定。 It should also be noted that when using the Wiener filter to determine the first filter coefficient, the order of the Wiener filter is also involved. In this embodiment of the present application, the order of the Wiener filter can be set equal to M. Among them, the values of M and K 1 may be the same or different, and are not specifically limited here.
还需要说明的是,对于维纳滤波器而言,滤波器类型可以用于指示滤波器阶数,和/或滤波器形状,和/或滤波器维数。其中,滤波器形状包括菱形、矩形等,滤波器维数包括一维、二维乃至更多维等。It should also be noted that for Wiener filters, the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension. Among them, filter shapes include diamonds, rectangles, etc., and filter dimensions include one-dimensional, two-dimensional or even more dimensions.
这样,在本申请实施例中,不同的滤波器类型可以对应不同阶数的维纳滤波器,例如,阶数的取值可以为12、32、128的维纳滤波器;不同的类型还可以对应不同维数的滤波器,例如,一维滤波器、二维滤波器等,这里并不作具体限定。也就是说,如果需要确定一个16阶的滤波器,那么可以用16个点来确定16阶非对称滤波器、或者8阶一维对称滤波器、或者其他数量(例如更加特殊的二维、三维滤波器等)的滤波器等等,这里并不对滤波器作具体限定。In this way, in the embodiment of the present application, different filter types can correspond to Wiener filters of different orders. For example, the order values can be 12, 32, and 128 Wiener filters; different types can also be Filters corresponding to different dimensions, such as one-dimensional filters, two-dimensional filters, etc., are not specifically limited here. That is to say, if you need to determine a 16th-order filter, you can use 16 points to determine a 16th-order asymmetric filter, or an 8th-order one-dimensional symmetric filter, or other quantities (such as more special two-dimensional, three-dimensional filter, etc.), the filter is not specifically limited here.
简单来说,在本申请实施例中,以颜色分量为例,在根据初始切片和重建切片,确定第一滤波系数的过程时,可以先根据初始切片中点的颜色分量的原始值,确定颜色分量的第一属性参数;同时,可以根据重建切片中点对应的K 1个目标点的颜色分量的重建值,确定颜色分量的第二属性参数;最终,便可以基于第一属性参数和第二属性参数,确定出颜色分量对应的第一滤波系数向量。如此,对于一个颜色分量进行对应的第一属性参数和第二属性参数的计算,并利用第一属性参数和第二属性参数确定出该颜色分量对应的第一滤波系数向量。在遍历完全部颜色分量(如Y分量,U分量,V分量)之后,可以获得每一个颜色分量的第一滤波系数向量,从而基于每一个颜色分量的第一滤波系数向量能够确定出第一滤波系数。 To put it simply, in the embodiment of the present application, taking the color component as an example, in the process of determining the first filter coefficient based on the initial slice and the reconstructed slice, the color can first be determined based on the original value of the color component at the midpoint of the initial slice. The first attribute parameter of the color component; at the same time, the second attribute parameter of the color component can be determined based on the reconstructed values of the color components of K 1 target points corresponding to the midpoint of the reconstructed slice; finally, the second attribute parameter of the color component can be determined based on the first attribute parameter and the second Attribute parameters determine the first filter coefficient vector corresponding to the color component. In this way, the corresponding first attribute parameter and second attribute parameter are calculated for a color component, and the first filter coefficient vector corresponding to the color component is determined using the first attribute parameter and the second attribute parameter. After traversing all color components (such as Y component, U component, V component), the first filter coefficient vector of each color component can be obtained, so that the first filter can be determined based on the first filter coefficient vector of each color component. coefficient.
具体来讲,在根据初始切片和重建切片,确定第一滤波系数时,可以先根据颜色分量对应的第一属性参数和第二属性参数确定颜色分量对应的互相关参数;同时可以根据第二属性参数确定颜色分量对应的自相关参数;接着便可以基于互相关参数和自相关参数确定颜色分量对应的第一滤波系数向量;最后可以遍历全部颜色分量,利用全部颜色分量对应的第一滤波系数向量来确定第一滤波系数。Specifically, when determining the first filter coefficient based on the initial slice and the reconstructed slice, the cross-correlation parameter corresponding to the color component can be determined based on the first attribute parameter and the second attribute parameter corresponding to the color component; at the same time, the cross-correlation parameter corresponding to the color component can be determined based on the second attribute The parameter determines the autocorrelation parameter corresponding to the color component; then the first filter coefficient vector corresponding to the color component can be determined based on the cross-correlation parameter and the autocorrelation parameter; finally, all color components can be traversed and the first filter coefficient vector corresponding to all color components can be used to determine the first filter coefficient.
示例性地,在本申请实施例中,以点云序列中的YUV空间的颜色分量为例,假设滤波器的阶数为K 1,即利用重建切片中每一个点对应的K 1个目标点去计算最优系数,即确定第一滤波系数。在这里,K 1个目标点可以包括该点自身和与其相邻的(K 1-1)个近邻点。 Illustratively, in the embodiment of the present application, taking the color component of the YUV space in the point cloud sequence as an example, assuming that the order of the filter is K 1 , that is, K 1 target points corresponding to each point in the reconstructed slice are used To calculate the optimal coefficient, that is, determine the first filter coefficient. Here, K 1 target points may include the point itself and (K 1 -1) neighboring points adjacent to it.
假设点云序列为n,使用向量S(n)表示初始切片中所有点在某颜色分量(如Y分量)下的原始值,即S(n)为由初始切片中所有点的Y分量的原始值所构成的第一属性参数;使用矩阵P(n,k)表示重建切片中所有点对应的K 1个目标点在相同颜色分量(如Y分量)下的重建值,即P(n,k)为由重建切片中所有点对应的K 1个目标点的Y分量的重建值所构成的第二属性参数。 Assume that the point cloud sequence is n, use vector S(n) to represent the original value of all points in the initial slice under a certain color component (such as Y component), that is, S(n) is the original value of the Y component of all points in the initial slice. The first attribute parameter composed of values; use matrix P(n,k) to represent the reconstruction values of K 1 target points corresponding to all points in the reconstructed slice under the same color component (such as Y component), that is, P(n,k ) is the second attribute parameter composed of the reconstructed values of the Y components of K 1 target points corresponding to all points in the reconstructed slice.
具体地,可以按照如下维纳滤波算法执行:Specifically, it can be executed according to the following Wiener filtering algorithm:
根据第一属性参数S(n)和第二属性参数P(n,k)计算获得互相关参数B(k),如下所示,The cross-correlation parameter B(k) is calculated based on the first attribute parameter S(n) and the second attribute parameter P(n,k), as shown below,
B(k)=P(n,k) T×S(n)          (10) B(k)=P(n,k) T ×S(n) (10)
根据第二属性参数P(n,k)计算获得自相关参数A(k,k),如下所示,The autocorrelation parameter A(k,k) is calculated according to the second attribute parameter P(n,k), as shown below,
A(k,k)=P(n,k) T×P(n,k)         (11) A(k,k)=P(n,k) T ×P(n,k) (11)
根据维纳--霍夫方程,Y分量下的最优系数H(k),即Y分量下的第一滤波系数向量H(k),如下所示,According to the Wiener-Hough equation, the optimal coefficient H(k) under the Y component, that is, the first filter coefficient vector H(k) under the Y component, is as follows,
H(k)=A(k,k) -1×B(k)         (12) H(k)=A(k,k) -1 ×B(k) (12)
接着,可以按照上述方法遍历U分量和V分量,最终确定出U分量下的第一滤波系数向量和V分量下的第一滤波系数向量,进而便可以利用全部颜色分量下的第一滤波系数向量确定出第一滤波系数。Then, the U component and V component can be traversed according to the above method, and finally the first filter coefficient vector under the U component and the first filter coefficient vector under the V component can be determined, and then the first filter coefficient vector under all color components can be used The first filter coefficient is determined.
进一步地,在确定第一滤波系数的过程中,这里是基于YUV颜色空间进行的;如果初始切片或者重建切片为不符合YUV颜色空间(例如,RGB颜色空间),那么还需要进行颜色空间转换,以使其符合YUV颜色空间。因此,在一些实施例中,该方法还可以包括:若初始切片中点的颜色分量符合RGB 颜色空间,则对初始切片进行颜色空间转换,使得初始切片中点的颜色分量符合YUV颜色空间;若重建切片中点的颜色分量符合RGB颜色空间,则对重建切片进行颜色空间转换,使得重建切片中点的颜色分量符合YUV颜色空间。Further, in the process of determining the first filter coefficient, it is based on the YUV color space; if the initial slice or reconstructed slice does not conform to the YUV color space (for example, RGB color space), then color space conversion is also required. to make it conform to the YUV color space. Therefore, in some embodiments, the method may also include: if the color component of the midpoint of the initial slice conforms to the RGB color space, then performing color space conversion on the initial slice so that the color component of the midpoint of the initial slice conforms to the YUV color space; if If the color component of the midpoint of the reconstructed slice conforms to the RGB color space, then the color space conversion of the reconstructed slice is performed so that the color component of the midpoint of the reconstructed slice conforms to the YUV color space.
也就是说,在利用初始切片和重建切片进行第一滤波系数的确定时,可以先基于初始切片和重建切片中点的颜色分量,分别确定出每一个颜色分量对应的第一属性参数和第二属性参数,进而可以确定出每一个颜色分量对应的第一滤波系数向量,最终便可以利用全部颜色分量对应的第一滤波系数向量确定重建切片的第一滤波系数。That is to say, when using the initial slice and the reconstructed slice to determine the first filter coefficient, the first attribute parameter and the second attribute parameter corresponding to each color component can be determined based on the color component of the midpoint of the initial slice and the reconstructed slice. attribute parameters, and then the first filter coefficient vector corresponding to each color component can be determined. Finally, the first filter coefficient vector corresponding to all color components can be used to determine the first filter coefficient of the reconstructed slice.
S403:利用第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。S403: Use the first filter coefficient to filter the reconstructed slice, and determine the filtered slice corresponding to the reconstructed slice.
在本申请实施例中,编码器在根据初始切片和重建切片,确定第一滤波系数之后,还可以进一步利用第一滤波系数确定重建切片对应的滤波后切片。具体地,在一些实施例中,所述根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片,可以包括:In this embodiment of the present application, after the encoder determines the first filter coefficient based on the initial slice and the reconstructed slice, the encoder may further use the first filter coefficient to determine the filtered slice corresponding to the reconstructed slice. Specifically, in some embodiments, filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice may include:
确定重建切片中第一点对应的K 1个目标点; Determine the K 1 target points corresponding to the first point in the reconstructed slice;
根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片。 Filter the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient to determine the filtered slice.
需要说明的是,第一点表示重建切片中的点,第一点对应的K 1个目标点包括第一点以及重建切片中与第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。其中,这里的(K 1-1)个近邻点具体是指与第一点几何距离最接近的(K 1-1)个近邻点。 It should be noted that the first point represents a point in the reconstructed slice. The K 1 target points corresponding to the first point include the first point and the (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice. K 1 is an integer greater than 1. Among them, the (K 1 -1) neighbor points here specifically refer to the (K 1 -1) neighbor points with the closest geometric distance to the first point.
还需要说明的是,对于重建切片的滤波处理,首先需要确定重建切片中第一点对应的K个目标点。具体地,在一些实施例中,所述确定重建切片中第一点对应的K 1个目标点,可以包括: It should also be noted that for the filtering process of the reconstructed slice, it is first necessary to determine the K target points corresponding to the first point in the reconstructed slice. Specifically, in some embodiments, determining the K 1 target points corresponding to the first point in the reconstructed slice may include:
基于重建切片中的第一点,利用K近邻搜索方式在重建切片中搜索预设数量个候选点;Based on the first point in the reconstructed slice, use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice;
分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值; Calculate the distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 1 -1) distance values from the obtained preset number of distance values;
根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将第一点和(K 1-1)个近邻点确定为第一点对应的K 1个目标点。 Determine (K 1 -1) neighbor points based on the candidate points corresponding to (K 1 -1) distance values, and determine the first point and (K 1 -1) neighbor points as K 1 targets corresponding to the first point point.
需要说明的是,以第一点为例,可以利用K近邻搜索方式在重建切片中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 1-1)个近邻点;也就是说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 1-1)个近邻点,总共组成了重建切片中第一点对应的K 1个目标点。 It should be noted that, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice, calculate the distance value between the first point and these candidate points, and then select the candidate points from these candidate points. Select the (K 1 -1) neighbor points closest to the first point; that is, in addition to the first point itself, it also includes the (K 1 -1) neighbors closest to the first point in geometric distance. points, a total of K 1 target points corresponding to the first point in the reconstructed slice.
进一步地,在一些实施例中,所述根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片,可以包括: Further, in some embodiments, filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice may include:
根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定重建切片中第一点的属性信息的滤波值; Perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed slice;
在确定出重建切片中至少一个点的属性信息的滤波值之后,根据重建切片中至少一个点的属性信息的滤波值确定滤波后切片。After determining the filter value of the attribute information of at least one point in the reconstructed slice, the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
还需要说明的是,仍以属性信息中的颜色分量为例,在根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理时,可以包括:根据颜色分量对应的第一滤波系数向量对重建切片中第一点对应的K 1个目标点进行滤波处理,得到重建切片中第一点的颜色分量的滤波值。这样,在确定出重建切片中至少一个点的颜色分量的滤波值之后,可以根据重建切片中这至少一个点的颜色分量的滤波值来确定滤波后切片。 It should also be noted that, still taking the color component in the attribute information as an example, when filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, it may include: according to the color component corresponding The first filter coefficient vector performs filtering processing on the K 1 target points corresponding to the first point in the reconstructed slice, and obtains the filtered value of the color component of the first point in the reconstructed slice. In this way, after determining the filter value of the color component of at least one point in the reconstructed slice, the filtered slice can be determined based on the filter value of the color component of the at least one point in the reconstructed slice.
具体而言,可以根据颜色分量对应的第一滤波系数向量和第二属性参数,确定重建切片中每一个点的颜色分量的滤波值;然后基于重建切片中每一个点的颜色分量的滤波值,得到滤波后切片。Specifically, the filter value of the color component of each point in the reconstructed slice can be determined based on the first filter coefficient vector and the second attribute parameter corresponding to the color component; and then based on the filter value of the color component of each point in the reconstructed slice, Get filtered slices.
可以理解的是,在本申请实施例中,在使用维纳滤波器对重建切片进行滤波处理时,需要含噪信号与期望信号,在点云编解码框架中,可以将重建切片作为含噪信号,将该重建切片对应的初始切片作为期望信号;因此,可以将初始切片和重建切片同时输入至维纳滤波器中,即维纳滤波器的输入为初始切片和重建切片,维纳滤波器的输出为第一滤波系数;在获得第一滤波系数之后,还可以基于第一滤波系数完成对该重建切片的滤波处理,获得对应的滤波后切片。It can be understood that in the embodiment of the present application, when using the Wiener filter to filter the reconstructed slice, a noisy signal and an expected signal are required. In the point cloud encoding and decoding framework, the reconstructed slice can be used as a noisy signal. , the initial slice corresponding to the reconstructed slice is used as the expected signal; therefore, the initial slice and the reconstructed slice can be input into the Wiener filter at the same time, that is, the input of the Wiener filter is the initial slice and the reconstructed slice, and the Wiener filter The output is the first filter coefficient; after obtaining the first filter coefficient, the filtering process of the reconstructed slice can also be completed based on the first filter coefficient to obtain the corresponding filtered slice.
也就是说,在本申请实施例中,第一滤波系数是基于初始切片和重建切片获得的;因此,将第一滤波系数作用于重建切片上,可以最大限度恢复出对应的初始切片。换句话说,在根据第一滤波系数对重建切片进行滤波时,对于其中一个颜色分量,可以基于该颜色分量对应的第一滤波系数向量,结合该颜色分量下的第二属性参数,确定出该颜色分量对应的滤波值。That is to say, in this embodiment of the present application, the first filter coefficient is obtained based on the initial slice and the reconstructed slice; therefore, by applying the first filter coefficient to the reconstructed slice, the corresponding initial slice can be restored to the maximum extent. In other words, when filtering the reconstructed slice according to the first filter coefficient, for one of the color components, the first filter coefficient vector corresponding to the color component can be determined based on the second attribute parameter under the color component. The filter value corresponding to the color component.
示例性地,在本申请实施例中,将Y分量下的第一滤波系数向量H(k)作用在重建切片也就是说第二属性参数P(n,k)上,可以获得Y分量下的滤波值R(n),如下所示,Illustratively, in the embodiment of the present application, the first filter coefficient vector H(k) under the Y component is applied to the reconstructed slice, that is, the second attribute parameter P(n,k), to obtain the Y component Filter value R(n), as shown below,
R(n)=P(n,k)×H(k)         (13)R(n)=P(n,k)×H(k) (13)
接着,可以按照上述方法遍历U分量和V分量,最终确定出U分量下的滤波值和V分量下的滤波值,进而便可以利用全部颜色分量下的滤波值来确定出该重建切片对应的滤波后切片。Then, the U component and V component can be traversed according to the above method, and finally the filter value under the U component and the filter value under the V component can be determined, and then the filter values under all color components can be used to determine the filter corresponding to the reconstructed slice. Later sliced.
S404:根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理。S404: Determine the first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to perform filtering processing on the reconstructed slice.
在本申请实施例中,编码器在利用第一滤波系数获得重建切片对应的滤波后切片之后,可以进一步根据滤波后切片来确定第一滤波标识信息。In this embodiment of the present application, after using the first filter coefficient to obtain the filtered slice corresponding to the reconstructed slice, the encoder may further determine the first filter identification information based on the filtered slice.
需要说明的是,在本申请实施例中,第一滤波标识信息可以指示是否对重建切片进行滤波处理;进一步地,第一滤波标识信息还可以指示对重建切片中的哪一个或者哪几个颜色分量进行滤波处理。It should be noted that, in this embodiment of the present application, the first filtering identification information may indicate whether to perform filtering processing on the reconstructed slice; further, the first filtering identification information may also indicate which one or which colors in the reconstructed slice are to be filtered. components are filtered.
还需要说明的是,在本申请实施例中,颜色分量可以包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,属性信息的待处理分量可以为第一颜色分量、第二颜色分量和第三颜色分量中的任意一项。参见图5,其示出了本申请实施例提供的一种编码方法的流程示意图二。如图5所示,对于第一滤波标识信息的确定,可以包括以下步骤S501~S503:It should also be noted that in the embodiment of the present application, the color component may include at least one of the following: a first color component, a second color component, and a third color component; wherein the component to be processed of the attribute information may be the first color component. Any one of the color component, the second color component, and the third color component. Referring to Figure 5, a schematic flow chart 2 of an encoding method provided by an embodiment of the present application is shown. As shown in Figure 5, the determination of the first filter identification information may include the following steps S501 to S503:
S501:确定重建切片的属性信息的待处理分量的第一代价值,以及确定滤波后切片的属性信息的待处理分量的第二代价值。S501: Determine the first generation value of the to-be-processed component of the attribute information of the reconstructed slice, and determine the second-generation value of the to-be-processed component of the attribute information of the filtered slice.
可以理解地,在一种可能的实现方式中,所述确定重建切片的属性信息的待处理分量的第一代价值,可以包括:利用率失真代价方式对重建切片的属性信息的待处理分量进行代价值计算,将所得到的第一率失真值作为所述第一代价值;It can be understood that, in a possible implementation, determining the first-generation value of the component to be processed of the attribute information of the reconstructed slice may include: using the rate-distortion cost method to perform the processing on the component to be processed of the attribute information of the reconstructed slice. Cost value calculation, using the obtained first rate distortion value as the first generation value;
所述确定滤波后切片的属性信息的待处理分量的第二代价值,可以包括:利用率失真代价方式对滤波后切片的属性信息的待处理分量进行代价值计算,将所得到的第二率失真值作为得到所述第二代价值。Determining the second generation value of the to-be-processed component of the attribute information of the filtered slice may include: using a rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered slice's attribute information, and calculating the resulting second-generation value. The distortion value is obtained as the second generation value.
在该实现方式下,可以利用率失真代价方式来确定第一滤波标识信息。首先,利用率失真代价方式分别确定重建切片的属性信息的待处理分量对应的第一代价值和滤波后切片的属性信息的待处理分量对应的第二代价值;然后根据第一代价值和第二代价值的比较结果确定出待处理分量的第一滤波标识信息。其中,这里的代价值可以是用于失真度量的失真值,也可以是率失真代价结果等等,本申请实施例不作具体限定。In this implementation manner, the first filter identification information can be determined using a rate-distortion cost method. First, the utilization-distortion cost method determines the first-generation value corresponding to the to-be-processed component of the attribute information of the reconstructed slice and the second-generation value corresponding to the to-be-processed component of the filtered slice's attribute information; then based on the first-generation value and the second-generation value The comparison result of the second generation value determines the first filter identification information of the component to be processed. The cost value here may be a distortion value used for distortion measurement, or may be a rate-distortion cost result, etc., which is not specifically limited in the embodiment of the present application.
需要说明的是,为了更准确衡量滤波前后性能提升与否,本申请实施例还可以同时对滤波后切片与重建切片进行率失真权衡,这里可以利用率失真代价方式来计算综合质量提升与码流增加后的率失真值。其中,第一率失真值和第二率失真值可以分别表征相同的颜色分量下重建切片和滤波后切片各自的率失真代价结果,用于表示滤波前后点云的压缩效率。对于第一率失真值和第二率失真值的计算,具体计算公式如下所示,It should be noted that in order to more accurately measure whether the performance is improved before and after filtering, embodiments of this application can also perform rate-distortion trade-offs on filtered slices and reconstructed slices at the same time. Here, the rate-distortion cost method can be used to calculate the overall quality improvement and code stream. Increased rate distortion value. Among them, the first rate distortion value and the second rate distortion value can respectively represent the rate distortion cost results of the reconstructed slice and the filtered slice under the same color component, and are used to represent the compression efficiency of the point cloud before and after filtering. For the calculation of the first rate distortion value and the second rate distortion value, the specific calculation formula is as follows,
J=D+λ×R i            (14) J=D+λ×R i (14)
在这里,J为率失真值,D是初始切片与重建切片或滤波后切片的SSE,即对应点误差的平方和;λ是与量化参数QP有关的量,本申请实施例可以选取
Figure PCTCN2022087255-appb-000003
R i为该颜色分量的码流大小,用比特(bit)表示,本申请实施例可以近似选取每一个颜色分量的码流大小R i=R all/3+R coef;其中,R all为整个点云属性码流大小,R coef为每一个颜色分量系数占用的码流大小(对于滤波后切片,可以选取R coef=K×sizeof(int),重建切片不考虑此项)。
Here, J is the rate distortion value, D is the SSE of the initial slice and the reconstructed slice or the filtered slice, that is, the sum of squares of the corresponding point errors; λ is a quantity related to the quantization parameter QP, which can be selected in the embodiment of this application
Figure PCTCN2022087255-appb-000003
R i is the code stream size of the color component, expressed in bits. The embodiment of the present application can approximately select the code stream size of each color component R i =R all /3+R coef ; where R all is the entire Point cloud attribute code stream size, R coef is the code stream size occupied by each color component coefficient (for filtered slices, you can select R coef =K×sizeof(int), this item is not considered when reconstructing slices).
这样,在获得重建切片和滤波后切片之后,可以根据上述方法计算出重建切片的待处理分量的第一率失真值以及滤波后切片的待处理分量的第二率失真值,将其作为第一代价值和第二代价值,然后根据两者的比较结果确定处待处理分量的第一滤波标识信息。In this way, after obtaining the reconstructed slice and the filtered slice, the first rate distortion value of the component to be processed of the reconstructed slice and the second rate distortion value of the component to be processed of the filtered slice can be calculated according to the above method, and used as the first rate distortion value. cost value and the second generation value, and then determine the first filter identification information of the component to be processed based on the comparison result between the two.
还可以理解地,在另一种可能的实现方式中,所述确定重建切片的属性信息的待处理分量的第一代价值,可以包括:利用率失真代价方式对重建切片的属性信息的待处理分量进行代价值计算,得到第一率失真值;利用预设性能衡量指标对重建切片的属性信息的待处理分量进行性能值计算,得到第一性能值;根据第一率失真值和第一性能值,确定第一代价值。It can also be understood that in another possible implementation, determining the first-generation value of the component to be processed of the attribute information of the reconstructed slice may include: using the rate-distortion cost method to determine the attribute information of the reconstructed slice to be processed. The cost value of the component is calculated to obtain the first rate distortion value; the preset performance measurement index is used to calculate the performance value of the component to be processed of the attribute information of the reconstructed slice, and the first performance value is obtained; according to the first rate distortion value and the first performance value, determine the first generation value.
所述确定滤波后切片的属性信息的待处理分量的第二代价值,可以包括:利用率失真代价方式对滤波后切片的属性信息的待处理分量进行代价值计算,得到第二率失真值;利用预设性能衡量指标对滤波后切片的属性信息的待处理分量进行性能值计算,得到第二性能值;根据第二率失真值和第二性能值,确定第二代价值。Determining the second generation value of the to-be-processed component of the attribute information of the filtered slice may include: using a rate-distortion cost method to calculate the cost value of the to-be-processed component of the filtered slice's attribute information to obtain the second rate-distortion value; The preset performance measurement index is used to calculate the performance value of the component to be processed of the attribute information of the filtered slice to obtain the second performance value; the second generation value is determined based on the second rate distortion value and the second performance value.
在该实现方式下,不仅可以考虑利用率失真代价方式确定的率失真值,还可以考虑利用预设性能衡量指标确定的性能值(例如PSNR值)。在这里,第一性能值和第二性能值可以分别表征相同的颜色分量下重建切片和滤波后切片各自的编解码性能。示例性地,在本申请实施例中,第一性能值可以为重建切片中点的颜色分量的PSNR值,第二性能值可以为滤波后切片中点的颜色分量的PSNR值。In this implementation manner, not only the rate distortion value determined using the rate distortion cost method can be considered, but also the performance value (such as PSNR value) determined using the preset performance measurement index can be considered. Here, the first performance value and the second performance value can respectively represent the encoding and decoding performance of the reconstructed slice and the filtered slice under the same color component. For example, in this embodiment of the present application, the first performance value may be the PSNR value of the color component of the midpoint of the reconstructed slice, and the second performance value may be the PSNR value of the color component of the midpoint of the filtered slice.
需要说明的是,考虑到G-PCC编解码框架最终目的是进行点云压缩,压缩率越高代表整体性能越好。本申请实施例不仅可以考虑PSNR值决定是否在解码端进行滤波,同时还可以利用率失真代价方式 进行滤波前后的率失真权衡。也就是说,在获得重建切片和滤波后切片之后,可以根据上述方法计算出重建切片的待处理分量的第一性能值和第一率失真值,以得到第一代价值;以及计算出滤波后切片的待处理分量的第二性能值和第二率失真值,以得到第二代价值,然后根据第一代价值和第二代价值的比较结果确定处待处理分量的第一滤波标识信息。It should be noted that considering that the ultimate purpose of the G-PCC encoding and decoding framework is point cloud compression, the higher the compression rate, the better the overall performance. The embodiments of this application can not only consider the PSNR value to decide whether to perform filtering at the decoding end, but can also use the rate-distortion cost method to perform rate-distortion trade-offs before and after filtering. That is to say, after obtaining the reconstructed slice and the filtered slice, the first performance value and the first rate distortion value of the to-be-processed component of the reconstructed slice can be calculated according to the above method to obtain the first generation value; and the filtered slice can be calculated according to the above method. The second performance value and the second rate distortion value of the component to be processed are sliced to obtain the second generation value, and then the first filter identification information of the component to be processed is determined based on the comparison result of the first generation value and the second generation value.
这样,不仅考虑了属性值质量的提升,同时计算了将第一滤波系数等信息写入码流所需的代价,综合二者表现判断滤波后压缩性能是否有了提升,从而决定编码端是否进行第一滤波系数的传递。In this way, not only the improvement of attribute value quality is considered, but also the cost of writing the first filter coefficient and other information into the code stream is calculated. The performance of the two is combined to determine whether the compression performance after filtering has been improved, thereby deciding whether the encoding end should perform Transfer of the first filter coefficient.
S502:根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息。S502: Determine the first filter identification information of the component to be processed based on the first-generation value and the second-generation value.
在一种可能的实现方式中,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In a possible implementation, determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
若第二代价值小于第一代价值,则确定待处理分量的第一滤波标识信息的取值为第一值;If the second generation value is less than the first generation value, determine the value of the first filter identification information of the component to be processed as the first value;
若第二代价值大于第一代价值,则确定待处理分量的第一滤波标识信息的取值为第二值。If the second generation value is greater than the first generation value, the value of the first filter identification information of the component to be processed is determined to be the second value.
需要说明的是,对于第二代价值等于第一代价值的情况,这时候可以确定待处理分量的第一滤波标识信息的取值为第一值;或者,也可以确定待处理分量的第一滤波标识信息的取值为第二值。It should be noted that, for the situation where the second generation value is equal to the first generation value, at this time, the value of the first filter identification information of the component to be processed can be determined to be the first value; or, the first value of the component to be processed can also be determined. The value of the filter identification information is the second value.
还需要说明的是,如果待处理分量的第一滤波标识信息的取值为第一值,那么可以确定待处理分量的第一滤波标识信息指示对重建切片的属性信息的待处理分量进行滤波处理;或者,如果待处理分量的第一滤波标识信息的取值为第二值,那么可以确定待处理分量的第一滤波标识信息指示不对重建切片的属性信息的待处理分量进行滤波处理。It should also be noted that if the value of the first filter identification information of the component to be processed is the first value, then it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is filtered. ; Or, if the value of the first filter identification information of the component to be processed is the second value, it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
在另一种可能的实现方式中,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In another possible implementation, determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
若第二性能值大于第一性能值且第二率失真值小于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第一值;If the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, determine that the value of the first filter identification information of the component to be processed is the first value;
若第二性能值小于第一性能值,则确定待处理分量的第一滤波标识信息的取值为第二值。If the second performance value is less than the first performance value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
在又一种可能的实现方式中,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In yet another possible implementation, determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may include:
若第二性能值大于第一性能值且第二率失真值小于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第一值;If the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, determine that the value of the first filter identification information of the component to be processed is the first value;
若第二率失真值大于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第二值。If the second rate distortion value is greater than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
需要说明的是,对于第二性能值等于第一性能值或者第二率失真值等于第一率失真值的情况,此时可以确定待处理分量的第一滤波标识信息的取值为第一值;或者,也可以确定待处理分量的第一滤波标识信息的取值为第二值。It should be noted that, for the situation where the second performance value is equal to the first performance value or the second rate distortion value is equal to the first rate distortion value, at this time, it can be determined that the value of the first filter identification information of the component to be processed is the first value. ; Alternatively, it may also be determined that the value of the first filter identification information of the component to be processed is the second value.
还需要说明的是,如果待处理分量的第一滤波标识信息的取值为第一值,那么可以确定待处理分量的第一滤波标识信息指示对重建切片的属性信息的待处理分量进行滤波处理;或者,如果待处理分量的第一滤波标识信息的取值为第二值,那么可以确定待处理分量的第一滤波标识信息指示不对重建切片的属性信息的待处理分量进行滤波处理。It should also be noted that if the value of the first filter identification information of the component to be processed is the first value, then it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is filtered. ; Or, if the value of the first filter identification information of the component to be processed is the second value, it can be determined that the first filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
还可以理解地,当待处理分量为颜色分量时,可以根据第一率失真值和第二率失真值,确定出滤波后切片相比于重建切片,这些颜色分量中某个或者某几个分量的率失真代价(RDCost)是否有所下降;或者,也可以根据第一性能值、第一率失真值、第二性能值和第二率失真值,来衡量滤波后切片相比于重建切片,这些颜色分量中某个或者某几个分量的性能值是否增加同时率失真代价是否有所下降,进而判断这些颜色分量中某个或者某几个分量需要进行滤波处理。下面以RDcost来判断这些颜色分量中某个或者某几个分量需要进行滤波处理为例进行详细介绍。It can also be understood that when the component to be processed is a color component, it can be determined based on the first rate distortion value and the second rate distortion value that one or more of the color components of the filtered slice compared to the reconstructed slice Whether the rate distortion cost (RDCost) has decreased; alternatively, the filtered slice can also be measured based on the first performance value, the first rate distortion value, the second performance value and the second rate distortion value compared to the reconstructed slice. Whether the performance value of one or several of these color components increases while the rate-distortion cost decreases, and then it is determined that one or several of these color components need to be filtered. The following uses RDcost to determine whether one or several of these color components need to be filtered as an example for a detailed introduction.
在一种可能的实施方式中,当待处理分量为第一颜色分量时,对于S502来说,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In a possible implementation, when the component to be processed is the first color component, for S502, determining the first filter identification information of the component to be processed based on the first generation value and the second generation value may be include:
若第二率失真值小于第一率失真值,确定第一颜色分量的第一滤波标识信息的取值为第一值;If the second rate distortion value is less than the first rate distortion value, determine the value of the first filter identification information of the first color component to be the first value;
若第二率失真值大于第一率失真值,确定第一颜色分量的第一滤波标识信息的取值为第二值。If the second rate distortion value is greater than the first rate distortion value, the value of the first filter identification information of the first color component is determined to be the second value.
在另一种可能的实施方式中,当待处理分量为第二颜色分量时,对于S502来说,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In another possible implementation, when the component to be processed is the second color component, for S502, the first filter identification information of the component to be processed is determined based on the first generation value and the second generation value, Can include:
若第二率失真值小于第一率失真值,确定第二颜色分量的第一滤波标识信息的取值为第一值;If the second rate distortion value is less than the first rate distortion value, determine the value of the first filter identification information of the second color component to be the first value;
若第二率失真值大于第一率失真值,确定第二颜色分量的第一滤波标识信息的取值为第二值。If the second rate distortion value is greater than the first rate distortion value, the value of the first filter identification information of the second color component is determined to be the second value.
在又一种可能的实施方式中,当待处理分量为第三颜色分量时,对于S502来说,所述根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息,可以包括:In yet another possible implementation, when the component to be processed is the third color component, for S502, determining the first filter identification information of the component to be processed based on the first generation value and the second generation value, Can include:
若第二率失真值小于第一率失真值,确定第三颜色分量的第一滤波标识信息的取值为第一值;If the second rate distortion value is less than the first rate distortion value, determine the value of the first filter identification information of the third color component to be the first value;
若第二率失真值大于第一率失真值,确定第三颜色分量的第一滤波标识信息的取值为第二值。If the second rate distortion value is greater than the first rate distortion value, the value of the first filter identification information of the third color component is determined to be the second value.
具体来说,在本申请实施例中,以Y分量的率失真代价结果(RDCost)为例,在根据第一率失真值和第二率失真值,确定Y分量的第一滤波标识信息时,如果重建切片对应的RDCost1小于滤波后切片对应的RDCost2,即滤波后Y分量的率失真代价增加,那么都可以认为滤波效果不佳,此时将设置Y分量的第一滤波标识信息指示不对Y分量进行滤波处理;相应地,如果重建切片对应的RDCost1大于滤波后切片对应的RDCost2,即滤波后Y分量的率失真代价得到减小,那么可以认为滤波效果较好,此时将设置Y分量的第一滤波标识信息指示对Y分量进行滤波处理。Specifically, in this embodiment of the present application, taking the rate distortion cost result (RDCost) of the Y component as an example, when determining the first filter identification information of the Y component based on the first rate distortion value and the second rate distortion value, If the RDCost1 corresponding to the reconstructed slice is smaller than the RDCost2 corresponding to the filtered slice, that is, the rate distortion cost of the filtered Y component increases, then the filtering effect can be considered to be poor. At this time, the first filter identification information of the Y component will be set to indicate that the Y component is not correct. Perform filtering; accordingly, if the RDCost1 corresponding to the reconstructed slice is greater than the RDCost2 corresponding to the filtered slice, that is, the rate distortion cost of the Y component after filtering is reduced, then the filtering effect can be considered to be better, and the Y component will be set at this time. A filter identification information indicates filtering of the Y component.
这样,本申请的实施例可以按照上述方法遍历U分量和V分量,最终确定出U分量的第一滤波标识信息和V分量的第一滤波标识信息,以便利用全部颜色分量的第一滤波标识信息来确定出最终的第一滤波标识信息。In this way, embodiments of the present application can traverse the U component and the V component according to the above method, and finally determine the first filter identification information of the U component and the first filter identification information of the V component, so as to utilize the first filter identification information of all color components. to determine the final first filter identification information.
S503:根据待处理分量的第一滤波标识信息,得到第一滤波标识信息。S503: Obtain the first filter identification information according to the first filter identification information of the component to be processed.
需要说明的是,在本申请实施例中,所述根据待处理分量的第一滤波标识信息来确定重建切片的第一滤波标识信息,可以包括:在待处理分量为颜色分量的情况下,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息;根据第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息,得到第一滤波标识信息。It should be noted that in this embodiment of the present application, determining the first filter identification information of the reconstructed slice according to the first filter identification information of the component to be processed may include: when the component to be processed is a color component, determining The first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component; according to the first filter identification information of the first color component, the first filter identification information of the second color component The first filter identification information and the first filter identification information of the third color component are used to obtain first filter identification information.
也就是说,这里的滤波标识信息可以为数组形式,具体为1×3的数组,其是由第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息组成的。例如,第一滤波标识信息可以用[y u v]表示,其中,y表示第一颜色分量的第一滤波标识信息,u表示第二颜色分量的第一滤波标识信息,v表示第三颜色分量的第一滤波标识信息。That is to say, the filter identification information here can be in the form of an array, specifically a 1×3 array, which is composed of the first filter identification information of the first color component, the first filter identification information of the second color component and the third color It consists of the first filter identification information of the component. For example, the first filter identification information can be represented by [y u v], where y represents the first filter identification information of the first color component, u represents the first filter identification information of the second color component, and v represents the third color component The first filter identification information.
由此可见,由于第一滤波标识信息包括有每一个颜色分量的滤波标识信息,因此,第一滤波标识信息不仅可以用于是否对重建切片是否进行滤波处理进行确定,还可以用于确定出具体地对哪一个颜色分量进行滤波处理。因此,在一些实施例中,该方法还可以包括:若待处理分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的待处理分量进行滤波处理;若待处理分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的待处理分量进行滤波处理。It can be seen that since the first filter identification information includes filter identification information for each color component, the first filter identification information can not only be used to determine whether to perform filtering processing on the reconstructed slice, but also can be used to determine the specific Which color component is filtered. Therefore, in some embodiments, the method may further include: if the value of the first filter identification information of the component to be processed is the first value, determining to perform filtering processing on the component to be processed of the attribute information of the reconstructed slice; if the value of the first filter identification information of the component to be processed is the first value; If the value of the first filter identification information of the processed component is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice will not be filtered.
需要说明的是,属性信息以颜色分量为例,待处理分量可以包括第一颜色分量、第二颜色分量和第三颜色分量。在一种具体的实施例中,该方法还可以包括:It should be noted that the attribute information takes color components as an example, and the components to be processed may include first color components, second color components, and third color components. In a specific embodiment, the method may further include:
若第一颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的第一颜色分量进行滤波处理;若第一颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的第一颜色分量进行滤波处理;或者,If the value of the first filter identification information of the first color component is the first value, it is determined to perform filtering processing on the first color component of the reconstructed slice; if the value of the first filter identification information of the first color component is the second value. value, it is determined not to filter the first color component of the reconstructed slice; or,
若第二颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的第二颜色分量进行滤波处理;若第二颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的第二颜色分量进行滤波处理;或者,If the value of the first filter identification information of the second color component is the first value, it is determined to perform filtering processing on the second color component of the reconstructed slice; if the value of the first filter identification information of the second color component is the second value. value, it is determined not to filter the second color component of the reconstructed slice; or,
若第三颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的第三颜色分量进行滤波处理;若第三颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的第三颜色分量进行滤波处理。If the value of the first filter identification information of the third color component is the first value, it is determined to perform filtering processing on the third color component of the reconstructed slice; if the value of the first filter identification information of the third color component is the second value. value, it is determined not to perform filtering on the third color component of the reconstructed slice.
也就是说,在本申请实施例中,如果某颜色分量对应的第一滤波标识信息为第一值,那么可以指示对该颜色分量进行滤波处理;如果某颜色分量对应的第一滤波标识信息为第二值,那么可以指示不对该颜色分量进行滤波处理。That is to say, in the embodiment of the present application, if the first filter identification information corresponding to a certain color component is the first value, then the color component can be instructed to perform filtering processing; if the first filter identification information corresponding to a certain color component is The second value can indicate that the color component is not filtered.
进一步地,在一些实施例中,该方法还可以包括:Further, in some embodiments, the method may also include:
若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定第一滤波标识信息指示对重建切片进行滤波处理;If at least one of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the first filter identification information indicates the pair Reconstruct slices for filtering;
若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中全部为第二值,则确定第一滤波标识信息指示不对重建切片进行滤波处理。If all of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component are second values, it is determined that the first filter identification information indicates that reconstruction is not performed. Slices are filtered.
也就是说,在本申请实施例中,如果这些颜色分量对应的第一滤波标识信息均为第二值,那么可以指示对这些颜色分量均不进行滤波处理,即可确定第一滤波标识信息指示不对重建切片进行滤波处理;相应地,如果这些颜色分量的第一滤波标识信息中至少一个为第一值,那么可以指示对至少一个颜色分量进行滤波处理,即可确定第一滤波标识信息指示对重建切片进行滤波处理。That is to say, in the embodiment of the present application, if the first filter identification information corresponding to these color components are all the second value, then it can be instructed not to perform filtering processing on these color components, and it can be determined that the first filter identification information indication The reconstructed slice is not filtered; accordingly, if at least one of the first filter identification information of these color components is a first value, then it can be indicated that at least one color component is filtered, and it can be determined that the first filter identification information indicates that the Reconstruct slices for filtering.
另外,在本申请实施例中,第一值和第二值不同,而且第一值和第二值可以是参数形式,也可以是数字形式。具体地,这些颜色分量对应的第一滤波标识信息可以是写入在概述(profile)中的参数,也可以是一个标志(flag)的取值,这里对此不作具体限定。In addition, in the embodiment of the present application, the first value and the second value are different, and the first value and the second value may be in parameter form or in numerical form. Specifically, the first filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
示例性地,对于第一值和第二值而言,第一值可以设置为1,第二值可以设置为0;或者,第一值还可以设置为true,第二值还可以设置为false;但是这里并不作具体限定。For example, for the first value and the second value, the first value can be set to 1, and the second value can be set to 0; or, the first value can also be set to true, and the second value can also be set to false. ; But there is no specific limit here.
S405:对第一滤波标识信息进行编码。S405: Encode the first filter identification information.
S406:若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码。S406: If the first filter identification information indicates that the reconstructed slice is filtered, encode the first filter coefficient.
S407:将所得到的编码比特写入码流。S407: Write the obtained encoded bits into the code stream.
需要说明的是,在本申请实施例中,在得到第一滤波标识信息之后,可以对第一滤波标识信息进行编码;如果第一滤波标识信息指示对重建切片进行滤波处理,那么还需要对第一滤波系数进行编码,将所得到的编码比特写入码流。It should be noted that in this embodiment of the present application, after obtaining the first filter identification information, the first filter identification information may be encoded; if the first filter identification information indicates filtering of the reconstructed slice, then the third filter identification information also needs to be A filter coefficient is encoded, and the resulting encoded bits are written into the code stream.
还需要说明的是,在本申请实施例中,编码器在得到第一滤波标识信息之后,如果第一滤波标识信息指示对重建切片进行滤波处理,那么在将滤波标识信息写入码流的同时,还可以选择性地将第一滤波系数写入码流。It should also be noted that in this embodiment of the present application, after the encoder obtains the first filter identification information, if the first filter identification information indicates filtering of the reconstructed slice, then while writing the filter identification information into the code stream , the first filter coefficient can also be selectively written into the code stream.
示例性地,以第一滤波标识信息可以用[1 0 1]为例,此时由于第一颜色分量的第一滤波标识信息的取值为1,即需要对重建切片的第一颜色分量进行滤波处理;第二颜色分量的第一滤波标识信息的取值为0,即不需要对重建切片的第二颜色分量进行滤波处理;第三颜色分量的第一滤波标识信息的取值为1,即需要对重建切片的第三颜色分量进行滤波处理;这时候仅需要将第一颜色分量对应的第一滤波系数向量和第三颜色分量对应的第一滤波系数向量写入码流,而无需将第二颜色分量对应的第一滤波系数向量写入码流。For example, the first filter identification information can be [1 0 1]. At this time, since the value of the first filter identification information of the first color component is 1, that is, the first color component of the reconstructed slice needs to be Filtering processing; the value of the first filter identification information of the second color component is 0, that is, there is no need to perform filtering processing on the second color component of the reconstructed slice; the value of the first filter identification information of the third color component is 1, That is, the third color component of the reconstructed slice needs to be filtered; at this time, only the first filter coefficient vector corresponding to the first color component and the first filter coefficient vector corresponding to the third color component need to be written into the code stream, without the need to The first filter coefficient vector corresponding to the second color component is written into the code stream.
进一步地,在一些实施例中,该方法还可以包括:若第一滤波标识信息指示不对重建切片进行滤波处理,则不对所述第一滤波系数进行编码,此时仅对第一滤波标识信息进行编码,将所得到的编码比特写入码流。Further, in some embodiments, the method may also include: if the first filtering identification information indicates that the reconstructed slice is not to be filtered, then the first filtering coefficient is not encoded, and at this time, only the first filtering identification information is performed. Encoding, writing the resulting encoded bits into the code stream.
需要说明的是,在本申请实施例中,编码器在利用第一滤波系数获得重建切片对应的滤波后切片之后,可以进一步根据重建切片和滤波后切片确定第一滤波标识信息。如果第一滤波标识信息指示对重建切片进行滤波处理,那么需要将第一滤波标识信息和第一滤波系数写入码流;如果第一滤波标识信息指示不对重建切片进行滤波处理,那么这时候不需要将第一滤波系数写入码流,仅需将第一滤波标识信息写入码流即可,以便后续通过码流传输至解码器中。It should be noted that in this embodiment of the present application, after using the first filter coefficient to obtain the filtered slice corresponding to the reconstructed slice, the encoder may further determine the first filter identification information based on the reconstructed slice and the filtered slice. If the first filter identification information indicates that the reconstructed slice is filtered, then the first filter identification information and the first filter coefficient need to be written into the code stream; if the first filter identification information indicates that the reconstructed slice is not filtered, then no filtering is performed at this time. To write the first filter coefficient into the code stream, you only need to write the first filter identification information into the code stream for subsequent transmission to the decoder through the code stream.
还需要说明的是,在本申请实施例中,该方法还可以包括:确定初始切片中点的属性信息的预测值;根据初始切片中点的颜色分量属性信息的原始值和预测值,确定初始切片中点的属性信息的残差值;对初始切片中点的属性信息的残差值进行编码,并将所得到的编码比特写入码流。也就是说,编码器在确定出属性信息的残差值之后,还需要将属性信息的残差值写入码流,以便后续通过码流传输至解码器中。It should also be noted that in the embodiment of the present application, the method may also include: determining the predicted value of the attribute information of the midpoint of the initial slice; determining the initial value according to the original value and predicted value of the color component attribute information of the midpoint of the initial slice. The residual value of the attribute information at the midpoint of the slice; encode the residual value of the attribute information at the midpoint of the initial slice, and write the resulting coded bits into the code stream. That is to say, after the encoder determines the residual value of the attribute information, it also needs to write the residual value of the attribute information into the code stream for subsequent transmission to the decoder through the code stream.
这样,在本申请实施例中,如果初始点云划分有多个slice,那么在每个slice编码及重建结束后,可以对该重建切片进行维纳滤波操作,具体都是如步骤S401~S407所示的操作;直至这多个slice全部操作完成。In this way, in this embodiment of the present application, if the initial point cloud is divided into multiple slices, then after each slice is encoded and reconstructed, a Wiener filtering operation can be performed on the reconstructed slice, specifically as shown in steps S401 to S407. The operations shown; until all operations on these multiple slices are completed.
还可以理解地,如果重建点云中点的数量小于预设阈值,那么可以对整个重建点云进行滤波处理。参见图6,其示出了本申请实施例提供的一种编码方法的流程示意图三。如图6所示,对于整个重建点云的滤波处理,该方法还可以包括:It can also be understood that if the number of points in the reconstructed point cloud is less than a preset threshold, then the entire reconstructed point cloud can be filtered. Referring to FIG. 6 , a schematic flowchart 3 of an encoding method provided by an embodiment of the present application is shown. As shown in Figure 6, for the filtering process of the entire reconstructed point cloud, the method can also include:
S601:在重建点云不满足预设条件的情况下,根据重建点云与重建点云对应的初始点云,确定第二滤波系数。S601: When the reconstructed point cloud does not meet the preset conditions, determine the second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud.
S602:根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云。S602: Filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
S603:根据滤波后点云,确定第二滤波标识信息;其中,第二滤波标识信息指示是否对重建点云进行滤波处理。S603: Determine the second filtering identification information according to the filtered point cloud; wherein the second filtering identification information indicates whether to perform filtering processing on the reconstructed point cloud.
S604:对第二滤波标识信息进行编码。S604: Encode the second filter identification information.
S605:若第二滤波标识信息指示对重建点云进行滤波处理,则对第二滤波系数进行编码。S605: If the second filter identification information indicates that the reconstructed point cloud is filtered, encode the second filter coefficient.
S606:将所得到的编码比特写入码流。S606: Write the obtained encoded bits into the code stream.
需要说明的是,如果重建点云不满足预设条件,那么意味着需要针对整个重建点云进行滤波处理,此时可以根据重建点云与重建点云对应的初始点云,确定第二滤波系数。需要说明的是,初始点云中的点与重建点云中的点是具有对应关系的。在输入滤波器进行滤波处理之前,首先需要确定重建点云中点对应的K 2个目标点。在这里,以当前点为例,重建点云中的当前点对应的K 2个目标点可以包括当前点以及与当前点相邻的(K 2-1)个近邻点,K 2为大于1的整数。 It should be noted that if the reconstructed point cloud does not meet the preset conditions, it means that the entire reconstructed point cloud needs to be filtered. At this time, the second filter coefficient can be determined based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud. . It should be noted that the points in the initial point cloud and the points in the reconstructed point cloud have a corresponding relationship. Before inputting the filter for filtering processing, it is first necessary to determine the K 2 target points corresponding to the midpoints of the reconstructed point cloud. Here, taking the current point as an example, the K 2 target points corresponding to the current point in the reconstructed point cloud can include the current point and (K 2 -1) neighbor points adjacent to the current point, and K 2 is greater than 1. integer.
在一些实施例中,所述根据重建点云与重建点云对应的初始点云,确定第二滤波系数,可以包括:根据初始点云中点和重建点云中点对应的K 2个目标点,确定第二滤波系数。 In some embodiments, determining the second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud may include: K 2 target points corresponding to the midpoint of the initial point cloud and the midpoint of the reconstructed point cloud. , determine the second filter coefficient.
在一种具体的实施例中,所述确定重建点云中点对应的K 2个目标点,可以包括: In a specific embodiment, determining the K 2 target points corresponding to the points in the reconstructed point cloud may include:
基于重建点云中的第一点,利用K近邻搜索方式在重建点云中搜索预设数量个候选点;Based on the first point in the reconstructed point cloud, use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud;
分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值; Calculate the distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 2 -1) distance values from the obtained preset number of distance values;
根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将第一点和(K 2-1)个近邻点确定为第一点对应的K 2个目标点。 Determine (K 2 -1) neighbor points based on the candidate points corresponding to (K 2 -1) distance values, and determine the first point and (K 2 -1) neighbor points as the K 2 targets corresponding to the first point point.
需要说明的是,第一点可以为重建点云中的点。在这里,以第一点为例,可以利用K近邻搜索方式在重建点云中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 2-1)个近邻点;将第一点自身和(K 2-1)个近邻点确定为最终的K 2个目标点。也就是说,对于K 2个目标点来说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 2-1)个近邻点,总共组成了重建点云中第一点对应的K 2个目标点。 It should be noted that the first point can be a point in the reconstructed point cloud. Here, taking the first point as an example, you can use the K nearest neighbor search method to search for a preset number of candidate points in the reconstructed point cloud, calculate the distance value between the first point and these candidate points, and then select from these candidate points. The (K 2 -1) neighbor points closest to the first point; determine the first point itself and (K 2 -1) neighbor points as the final K 2 target points. That is to say, for K 2 target points, in addition to the first point itself, it also includes (K 2 -1) neighbor points with the closest geometric distance to the first point, which altogether constitute the reconstructed point cloud. K 2 target points corresponding to the first point.
还需要说明的是,这里的滤波器也可以是自适应滤波器,例如可以是基于神经网络的滤波器、维纳滤波器等等,这里不作具体限定。It should also be noted that the filter here can also be an adaptive filter, for example, it can be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here.
在本申请实施例中,以维纳滤波器为例,维纳滤波器的作用主要是计算滤波系数,同时判断维纳滤波之后的点云质量是否提升。也就是说,这里的第二滤波系数也可以为用于维纳滤波处理的系数,即也可称为维纳滤波器输出的系数。In the embodiment of this application, the Wiener filter is taken as an example. The main function of the Wiener filter is to calculate the filter coefficient and at the same time determine whether the quality of the point cloud after Wiener filtering has been improved. That is to say, the second filter coefficient here may also be a coefficient used for Wiener filter processing, that is, it may also be called a coefficient output by the Wiener filter.
进一步地,在利用维纳滤波器进行维纳滤波时,需要含噪信号与期望信号;而在本申请实施例中,对于点云编解码框架,在这种情况下,两者分别对应重建点云与初始点云,这样就可以确定出维纳滤波器的输入。这样,对于S601来说,所述根据重建点云与重建点云对应的初始点云,确定第二滤波系数,可以包括:将重建点云与重建点云对应的初始点云输入到维纳滤波器中进行计算,输出第二滤波系数。Furthermore, when using the Wiener filter to perform Wiener filtering, a noisy signal and a desired signal are required; in the embodiment of this application, for the point cloud encoding and decoding framework, in this case, the two correspond to the reconstructed points respectively. Cloud and initial point cloud, so that the input to the Wiener filter can be determined. In this way, for S601, determining the second filter coefficient according to the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud may include: inputting the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud into the Wiener filter Calculation is performed in the processor and the second filter coefficient is output.
在本申请实施例中,将重建点云与重建点云对应的初始点云输入到维纳滤波器中进行计算,输出第二滤波系数,可以包括:In this embodiment of the present application, the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud are input into the Wiener filter for calculation, and the second filter coefficient is output, which may include:
根据初始点云中点的属性信息的原始值,确定第三属性参数;Determine the third attribute parameter according to the original value of the attribute information of the point in the initial point cloud;
根据重建点云中点对应的K 2个目标点的属性信息的重建值,确定第四属性参数; Determine the fourth attribute parameter based on the reconstructed values of the attribute information of K 2 target points corresponding to the midpoint of the reconstructed point cloud;
基于第三属性参数和第四属性参数,确定第二滤波系数。Based on the third attribute parameter and the fourth attribute parameter, the second filter coefficient is determined.
在一种具体的实施例中,所述基于第三属性参数和第四属性参数,确定第二滤波系数,可以包括:In a specific embodiment, determining the second filter coefficient based on the third attribute parameter and the fourth attribute parameter may include:
根据第三属性参数和第四属性参数,确定互相关参数;Determine the cross-correlation parameter according to the third attribute parameter and the fourth attribute parameter;
根据第四属性参数确定自相关参数;Determine the autocorrelation parameter according to the fourth attribute parameter;
根据互相关参数和自相关参数进行系数计算,得到第二滤波系数。Coefficient calculation is performed based on the cross-correlation parameters and auto-correlation parameters to obtain the second filter coefficient.
需要说明的是,对于初始点云和重建点云而言,以属性信息的颜色分量为例,如果颜色分量符合YUV空间,那么在根据初始点云和重建点云确定第二滤波系数时,可以先基于颜色分量(如Y分量,U分量,V分量)的原始值和重建值,进行颜色分量的第三属性参数和第四属性参数的确定,进而可以根据第三属性参数和第四属性参数进一步确定出用于进行滤波处理的第二滤波系数。It should be noted that for the initial point cloud and the reconstructed point cloud, taking the color component of the attribute information as an example, if the color component conforms to the YUV space, then when determining the second filter coefficient based on the initial point cloud and the reconstructed point cloud, you can First, based on the original value and reconstructed value of the color component (such as Y component, U component, V component), the third attribute parameter and the fourth attribute parameter of the color component are determined, and then the third attribute parameter and the fourth attribute parameter can be determined based on the third attribute parameter and the fourth attribute parameter. A second filter coefficient used for filtering is further determined.
具体而言,第三属性参数是根据初始点云中至少一个点的属性信息的原始值进行确定;第四属性参数是根据重建点云中至少一个点对应的K 2个目标点的属性信息的重建值进行确定,这里的K 2个目标点包括当前点以及与当前点相邻的(K 2-1)个近邻点。 Specifically, the third attribute parameter is determined based on the original value of the attribute information of at least one point in the initial point cloud; the fourth attribute parameter is determined based on the attribute information of K 2 target points corresponding to at least one point in the reconstructed point cloud. The reconstruction value is determined, where the K 2 target points include the current point and (K 2 -1) neighbor points adjacent to the current point.
还需要说明的是,在利用维纳滤波器进行第二滤波系数确定时,还涉及到维纳滤波器的阶数。在本申请实施例,可以设置维纳滤波器的阶数等于M。其中,M和K 2的取值可以相同,也可以不相同,这里不作具体限定。 It should also be noted that when using the Wiener filter to determine the second filter coefficient, the order of the Wiener filter is also involved. In this embodiment of the present application, the order of the Wiener filter can be set equal to M. Among them, the values of M and K 2 may be the same or different, and are not specifically limited here.
简单来说,在本申请实施例中,以颜色分量为例,在根据初始点云和重建点云,确定第二滤波系数的过程时,可以先根据初始点云中点的颜色分量的原始值,确定颜色分量的第三属性参数;同时,可以根据重建点云中点对应的K 2个目标点的颜色分量的重建值,确定颜色分量的第四属性参数;最终,便可以基于第三属性参数和第四属性参数,确定出颜色分量对应的第二滤波系数向量。如此,对于一个颜色分量进行对应的第三属性参数和第四属性参数的计算,并利用第三属性参数和第四属性参数确定出该颜色分量对应的第二滤波系数向量。在遍历完全部颜色分量(如Y分量,U分量,V分量)之后,可以获得每一个颜色分量的第二滤波系数向量,从而基于每一个颜色分量的第二滤波系数向量能够确定出第二滤波系数。 To put it simply, in the embodiment of the present application, taking the color component as an example, in the process of determining the second filter coefficient based on the initial point cloud and the reconstructed point cloud, the original value of the color component of the point in the initial point cloud can first be determined. , determine the third attribute parameter of the color component; at the same time, the fourth attribute parameter of the color component can be determined based on the reconstructed values of the color components of K 2 target points corresponding to the midpoint of the reconstructed point cloud; finally, the fourth attribute parameter of the color component can be determined based on the third attribute parameters and the fourth attribute parameter to determine the second filter coefficient vector corresponding to the color component. In this way, the corresponding third attribute parameter and fourth attribute parameter are calculated for a color component, and the second filter coefficient vector corresponding to the color component is determined using the third attribute parameter and the fourth attribute parameter. After traversing all color components (such as Y component, U component, V component), the second filter coefficient vector of each color component can be obtained, so that the second filter can be determined based on the second filter coefficient vector of each color component. coefficient.
具体来讲,在根据初始点云和重建点云,确定第二滤波系数时,可以先根据颜色分量对应的第三属性参数和第四属性参数确定颜色分量对应的互相关参数;同时可以根据第四属性参数确定颜色分量对应的自相关参数;接着便可以基于互相关参数和自相关参数确定颜色分量对应的第二滤波系数向量;最后可以遍历全部颜色分量,利用全部颜色分量对应的第二滤波系数向量来确定第二滤波系数。Specifically, when determining the second filter coefficient based on the initial point cloud and the reconstructed point cloud, the cross-correlation parameter corresponding to the color component can first be determined based on the third attribute parameter and the fourth attribute parameter corresponding to the color component; at the same time, the cross-correlation parameter corresponding to the color component can be determined based on the third attribute parameter. The four attribute parameters determine the autocorrelation parameters corresponding to the color components; then the second filter coefficient vector corresponding to the color components can be determined based on the cross-correlation parameters and autocorrelation parameters; finally, all color components can be traversed and the second filtering corresponding to all color components can be used coefficient vector to determine the second filter coefficient.
示例性地,在本申请实施例中,以点云序列中的YUV空间的颜色分量为例,假设维纳滤波器的阶数为K 2,即利用重建点云中每一个点对应的K 2个目标点去计算最优系数,即确定第二滤波系数。在这里,K 2个目标点可以包括该点自身和与其相邻的(K 2-1)个近邻点。 Illustratively, in the embodiment of the present application, taking the color component of the YUV space in the point cloud sequence as an example, assuming that the order of the Wiener filter is K 2 , that is, K 2 corresponding to each point in the reconstructed point cloud is used target points to calculate the optimal coefficient, that is, determine the second filter coefficient. Here, K 2 target points may include the point itself and (K 2 -1) neighboring points adjacent to it.
假设点云序列为n,使用向量S(n)表示初始点云中所有点在某颜色分量(如Y分量)下的原始值,即S(n)为由初始点云中所有点的Y分量的原始值所构成的第三属性参数;使用矩阵P(n,k)表示重建点云 中所有点对应的K 2个目标点在相同颜色分量(如Y分量)下的重建值,即P(n,k)为由重建点云中所有点对应的K 2个目标点的Y分量的重建值所构成的第四属性参数。 Assume that the point cloud sequence is n, use vector S(n) to represent the original value of all points in the initial point cloud under a certain color component (such as Y component), that is, S(n) is the Y component of all points in the initial point cloud The third attribute parameter composed of the original value of n, k) is the fourth attribute parameter composed of the reconstructed values of the Y components of K 2 target points corresponding to all points in the reconstructed point cloud.
具体地,可以按照如下维纳滤波算法执行:Specifically, it can be executed according to the following Wiener filtering algorithm:
根据第三属性参数S(n)和第四属性参数P(n,k)计算获得互相关参数B(k),如上述的式(10)所示;根据第四属性参数P(n,k)计算获得自相关参数A(k,k),如上述的式(11)所示;根据维纳--霍夫方程,Y分量下的最优系数H(k),即Y分量下的第二滤波系数向量H(k),如上述的式(12)所示。The cross-correlation parameter B(k) is calculated according to the third attribute parameter S(n) and the fourth attribute parameter P(n,k), as shown in the above formula (10); according to the fourth attribute parameter P(n,k) ) to calculate the autocorrelation parameter A(k,k), as shown in the above formula (11); according to the Wiener-Hough equation, the optimal coefficient H(k) under the Y component is the The two filter coefficient vectors H(k) are shown in the above formula (12).
接着,可以按照上述方法遍历U分量和V分量,最终确定出U分量下的第二滤波系数向量和V分量下的第二滤波系数向量,进而便可以利用全部颜色分量下的第二滤波系数向量确定出第二滤波系数。Then, the U component and V component can be traversed according to the above method, and the second filter coefficient vector under the U component and the second filter coefficient vector under the V component are finally determined, and then the second filter coefficient vector under all color components can be used. Determine the second filter coefficient.
进一步地,在确定第二滤波系数的过程中,这里也是基于YUV颜色空间进行的;如果初始点云或者重建点云为不符合YUV颜色空间(例如,RGB颜色空间),那么还需要进行颜色空间转换,以使其符合YUV颜色空间。因此,在一些实施例中,该方法还可以包括:若初始点云中点的颜色分量符合RGB颜色空间,则对初始点云进行颜色空间转换,使得初始点云中点的颜色分量符合YUV颜色空间;若重建点云中点的颜色分量符合RGB颜色空间,则对重建点云进行颜色空间转换,使得重建点云中点的颜色分量符合YUV颜色空间。Further, in the process of determining the second filter coefficient, it is also based on the YUV color space; if the initial point cloud or the reconstructed point cloud does not conform to the YUV color space (for example, RGB color space), then the color space also needs to be Convert to conform to YUV color space. Therefore, in some embodiments, the method may also include: if the color components of the points in the initial point cloud conform to the RGB color space, then performing color space conversion on the initial point cloud so that the color components of the points in the initial point cloud conform to the YUV color space; if the color components of the points in the reconstructed point cloud conform to the RGB color space, then perform color space conversion on the reconstructed point cloud so that the color components of the points in the reconstructed point cloud conform to the YUV color space.
也就是说,在利用初始点云和重建点云进行第二滤波系数的确定时,可以先基于初始点云和重建点云中点的颜色分量,分别确定出每一个颜色分量对应的第三属性参数和第四属性参数,进而可以确定出每一个颜色分量对应的第二滤波系数向量,最终便可以利用全部颜色分量对应的第二滤波系数向量确定重建点云的第二滤波系数。That is to say, when using the initial point cloud and the reconstructed point cloud to determine the second filter coefficient, the third attribute corresponding to each color component can be determined based on the color components of the points in the initial point cloud and the reconstructed point cloud. parameters and fourth attribute parameters, and then the second filter coefficient vector corresponding to each color component can be determined. Finally, the second filter coefficient vector corresponding to all color components can be used to determine the second filter coefficient of the reconstructed point cloud.
在本申请实施例中,编码器在根据初始点云和重建点云,确定第二滤波系数之后,还可以进一步利用第二滤波系数确定重建点云对应的滤波后点云。具体地,在一些实施例中,所述根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云,可以包括:In this embodiment of the present application, after the encoder determines the second filter coefficient based on the initial point cloud and the reconstructed point cloud, the encoder may further use the second filter coefficient to determine the filtered point cloud corresponding to the reconstructed point cloud. Specifically, in some embodiments, filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud may include:
确定重建点云中第一点对应的K 2个目标点; Determine the K 2 target points corresponding to the first point in the reconstructed point cloud;
根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云。 Filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient to determine the filtered point cloud.
需要说明的是,第一点表示重建点云中的点,第一点对应的K 2个目标点包括第一点以及重建点云中与第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。其中,这里的(K 2-1)个近邻点具体是指重建点云中与第一点几何距离最接近的(K 2-1)个近邻点。 It should be noted that the first point represents a point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the (K 2 -1) neighbors adjacent to the first point in the reconstructed point cloud. point, K 2 is an integer greater than 1. Among them, the (K 2 -1) neighbor points here specifically refer to the (K 2 -1) neighbor points with the closest geometric distance to the first point in the reconstructed point cloud.
还需要说明的是,对于重建点云的滤波处理,首先需要确定重建点云中第一点对应的K 2个目标点。具体地,以第一点为例,可以利用K近邻搜索方式在重建点云中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 2-1)个近邻点;也就是说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 2-1)个近邻点,总共组成了重建点云中第一点对应的K 2个目标点。 It should also be noted that for the filtering process of the reconstructed point cloud, it is first necessary to determine the K 2 target points corresponding to the first point in the reconstructed point cloud. Specifically, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud, calculate the distance value between the first point and these candidate points, and then select from these candidate points. The (K 2 -1) neighbor points closest to the first point; that is, in addition to the first point itself, it also includes the (K 2 -1) neighbor points closest to the first point in geometric distance. , a total of K 2 target points corresponding to the first point in the reconstructed point cloud are formed.
进一步地,在一些实施例中,所述根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云,可以包括: Further, in some embodiments, filtering the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud may include:
根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定重建点云中第一点的属性信息的滤波值; Filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient to determine the filter value of the attribute information of the first point in the reconstructed point cloud;
在确定出重建点云中至少一个点的属性信息的滤波值之后,根据重建点云中至少一个点的属性信息的滤波值确定滤波后点云。After determining the filter value of the attribute information of at least one point in the reconstructed point cloud, the filtered point cloud is determined according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
还需要说明的是,仍以属性信息中的颜色分量为例,在根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理时,可以包括:根据颜色分量对应的第二滤波系数向量对重建点云中第一点对应的K 2个目标点进行滤波处理,得到重建点云中第一点的颜色分量的滤波值。这样,在确定出重建点云中至少一个点的颜色分量的滤波值之后,可以根据重建点云中这至少一个点的颜色分量的滤波值来确定滤波后点云。 It should also be noted that, still taking the color component in the attribute information as an example, when filtering the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, it may include: corresponding to the color component The second filter coefficient vector performs filtering on the K 2 target points corresponding to the first point in the reconstructed point cloud, and obtains the filtered value of the color component of the first point in the reconstructed point cloud. In this way, after determining the filter value of the color component of at least one point in the reconstructed point cloud, the filtered point cloud can be determined based on the filter value of the color component of the at least one point in the reconstructed point cloud.
具体而言,可以根据颜色分量对应的第一滤波系数向量和第四属性参数,确定重建点云中每一个点的颜色分量的滤波值;然后基于重建点云中每一个点的颜色分量的滤波值,得到滤波后点云。Specifically, the filter value of the color component of each point in the reconstructed point cloud can be determined based on the first filter coefficient vector and the fourth attribute parameter corresponding to the color component; and then based on the filtering of the color component of each point in the reconstructed point cloud value to obtain the filtered point cloud.
在本申请实施例中,在使用维纳滤波器对重建点云进行滤波处理时,这时候可以将重建点云作为含噪信号,将该重建点云对应的初始点云作为期望信号;因此,可以将初始点云和重建点云同时输入至维纳滤波器中,即维纳滤波器的输入为初始点云和重建点云,维纳滤波器的输出为第二滤波系数;在获得第二滤波系数之后,还可以基于第二滤波系数完成对该重建点云的滤波处理,获得对应的滤波后点云。In the embodiment of this application, when using the Wiener filter to filter the reconstructed point cloud, the reconstructed point cloud can be used as a noisy signal, and the initial point cloud corresponding to the reconstructed point cloud can be used as the expected signal; therefore, The initial point cloud and reconstructed point cloud can be input into the Wiener filter at the same time, that is, the input of the Wiener filter is the initial point cloud and the reconstructed point cloud, and the output of the Wiener filter is the second filter coefficient; after obtaining the second After the filtering coefficient, the filtering process of the reconstructed point cloud can also be completed based on the second filtering coefficient to obtain the corresponding filtered point cloud.
也就是说,在本申请实施例中,第二滤波系数是基于初始点云和重建点云获得的;因此,将第二滤波系数作用于重建点云上,可以最大限度恢复出对应的初始点云。换句话说,在根据第二滤波系数对重建点云进行滤波时,对于其中一个颜色分量,可以基于该颜色分量对应的第二滤波系数向量,结合该颜色分量下的第四属性参数,确定出该颜色分量对应的滤波值。That is to say, in the embodiment of the present application, the second filter coefficient is obtained based on the initial point cloud and the reconstructed point cloud; therefore, applying the second filter coefficient to the reconstructed point cloud can restore the corresponding initial point to the maximum extent cloud. In other words, when filtering the reconstructed point cloud according to the second filter coefficient, for one of the color components, the second filter coefficient vector corresponding to the color component can be determined based on the fourth attribute parameter under the color component. The filter value corresponding to this color component.
示例性地,在本申请实施例中,将Y分量下的第二滤波系数向量H(k)作用在重建点云也就是说第四属性参数P(n,k)上,可以获得Y分量下的滤波值R(n),如上述的式(13)所示。然后还可以按照上述方法遍历U分量和V分量,最终确定出U分量下的滤波值和V分量下的滤波值,进而便可以利用全部颜色分量下的滤波值来确定出该重建点云对应的滤波后点云。Illustratively, in the embodiment of the present application, the second filter coefficient vector H(k) under the Y component is applied to the reconstructed point cloud, that is, the fourth attribute parameter P(n,k), to obtain the Y component under The filter value R(n) is shown in the above formula (13). Then you can also traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the corresponding value of the reconstructed point cloud. Point cloud after filtering.
进一步地,编码器在利用第二滤波系数获得重建点云对应的滤波后点云之后,还可以根据滤波后点云来确定第二滤波标识信息。其中,第二滤波标识信息可以指示是否对重建点云进行滤波处理;进一步地,第二滤波标识信息还可以指示对重建点云中的哪一个或者哪几个颜色分量进行滤波处理。Further, after using the second filter coefficient to obtain the filtered point cloud corresponding to the reconstructed point cloud, the encoder can also determine the second filter identification information based on the filtered point cloud. The second filtering identification information may indicate whether to perform filtering processing on the reconstructed point cloud; further, the second filtering identification information may also indicate which color component or color components in the reconstructed point cloud are subjected to filtering processing.
还需要说明的是,在本申请实施例中,颜色分量可以包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,属性信息的待处理分量可以为第一颜色分量、第二颜色分量和第三颜色分量中的任意一项。对于S603来说,所述根据滤波后点云,确定第二滤波标识信息,可以包括:It should also be noted that in the embodiment of the present application, the color component may include at least one of the following: a first color component, a second color component, and a third color component; wherein the component to be processed of the attribute information may be the first color component. Any one of the color component, the second color component, and the third color component. For S603, determining the second filter identification information based on the filtered point cloud may include:
确定重建点云的属性信息的待处理分量的第三代价值,以及确定滤波后点云的属性信息的待处理分量的***价值;Determining the third-generation value of the to-be-processed component of the attribute information of the reconstructed point cloud, and determining the fourth-generation value of the to-be-processed component of the attribute information of the filtered point cloud;
根据第三代价值和***价值,确定待处理分量的第二滤波标识信息;Determine the second filter identification information of the component to be processed according to the third generation value and the fourth generation value;
根据待处理分量的第二滤波标识信息,得到第二滤波标识信息。According to the second filter identification information of the component to be processed, the second filter identification information is obtained.
在一种可能的实现方式中,所述确定重建点云的属性信息的待处理分量的第三代价值,可以包括:利用率失真代价方式对重建点云的属性信息的待处理分量进行代价值计算,将所得到的第三率失真值作为第三代价值。In a possible implementation, determining the third-generation value of the to-be-processed component of the reconstructed point cloud's attribute information may include: using a rate-distortion cost method to calculate the value of the to-be-processed component of the reconstructed point cloud's attribute information. Calculate and use the obtained third rate distortion value as the third generation value.
所述确定滤波后点云的属性信息的待处理分量的***价值,可以包括:利用率失真代价方式对滤波后点云的属性信息的待处理分量进行代价值计算,将所得到的第四率失真值作为得到***价值。Determining the fourth generation value of the to-be-processed component of the attribute information of the filtered point cloud may include: using the rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered point cloud's attribute information, and calculating the obtained fourth-generation value of the attribute information of the filtered point cloud. The fourth rate distortion value is used as the fourth generation value.
在该实现方式下,可以利用率失真代价方式来确定第一滤波标识信息。首先,利用率失真代价方式分别确定重建点云的属性信息的待处理分量对应的第三代价值和滤波后点云的属性信息的待处理分量对应的***价值;然后根据第三代价值和***价值的比较结果确定出待处理分量的第二滤波标识信息。其中,这里的代价值可以是用于失真度量的失真值,也可以是率失真代价结果等等,本申请实施例不作具体限定。In this implementation manner, the first filter identification information can be determined using a rate-distortion cost method. First, the utilization distortion cost method is used to determine the third-generation value corresponding to the to-be-processed component of the attribute information of the reconstructed point cloud and the fourth-generation value corresponding to the to-be-processed component of the filtered point cloud's attribute information; then based on the third-generation value The comparison result with the fourth generation value determines the second filter identification information of the component to be processed. The cost value here may be a distortion value used for distortion measurement, or may be a rate-distortion cost result, etc., which is not specifically limited in the embodiment of the present application.
需要说明的是,为了更准确衡量滤波前后性能提升与否,本申请实施例还可以同时对滤波后点云与重建点云进行率失真权衡,这里可以利用率失真代价方式来计算综合质量提升与码流增加后的率失真值。其中,第三率失真值和第四率失真值可以分别表征相同的颜色分量下重建点云和滤波后点云各自的率失真代价结果,用于表示滤波前后点云的压缩效率。对于第三率失真值和第四率失真值的计算,具体计算如上述的式(14)所示。其中,J为率失真值,D是初始点云与重建点云或滤波后点云的SSE,即对应点误差的平方和;λ是与量化参数QP有关的量,本申请实施例可以选取
Figure PCTCN2022087255-appb-000004
R i为该颜色分量的码流大小,用比特(bit)表示,本申请实施例可以近似选取每一个颜色分量的码流大小R i=R all/3+R coef;其中,R all为整个点云属性码流大小,R coef为每一个颜色分量系数占用的码流大小(对于滤波后点云,可以选取R coef=K×sizeof(int),重建点云不考虑此项)。
It should be noted that in order to more accurately measure whether the performance is improved before and after filtering, embodiments of this application can also perform rate-distortion trade-offs on the filtered point cloud and the reconstructed point cloud at the same time. Here, the rate-distortion cost method can be used to calculate the overall quality improvement and The rate distortion value after the code stream is increased. Among them, the third rate distortion value and the fourth rate distortion value can respectively represent the rate distortion cost results of the reconstructed point cloud and the filtered point cloud under the same color component, and are used to represent the compression efficiency of the point cloud before and after filtering. For the calculation of the third rate distortion value and the fourth rate distortion value, the specific calculation is as shown in the above equation (14). Among them, J is the rate distortion value, D is the SSE of the initial point cloud and the reconstructed point cloud or the filtered point cloud, that is, the sum of squares of the corresponding point errors; λ is a quantity related to the quantization parameter QP, which can be selected in the embodiment of this application
Figure PCTCN2022087255-appb-000004
R i is the code stream size of the color component, expressed in bits. The embodiment of the present application can approximately select the code stream size of each color component R i =R all /3+R coef ; where R all is the entire Point cloud attribute code stream size, R coef is the code stream size occupied by each color component coefficient (for filtered point cloud, you can select R coef =K×sizeof(int), this item is not considered when reconstructing the point cloud).
这样,在获得重建点云和滤波后点云之后,可以根据上述方法计算出重建点云的待处理分量的第三率失真值以及滤波后点云的待处理分量的第四率失真值,将其作为第三代价值和***价值,然后根据两者的比较结果确定处待处理分量的第二滤波标识信息。In this way, after obtaining the reconstructed point cloud and the filtered point cloud, the third rate distortion value of the component to be processed of the reconstructed point cloud and the fourth rate distortion value of the component to be processed of the filtered point cloud can be calculated according to the above method. It is used as the third generation value and the fourth generation value, and then the second filter identification information of the component to be processed is determined based on the comparison result between the two.
在另一种可能的实现方式中,所述确定重建点云的属性信息的待处理分量的第三代价值,可以包括:利用率失真代价方式对重建点云的属性信息的待处理分量进行代价值计算,得到第三率失真值;利用预设性能衡量指标对重建点云的属性信息的待处理分量进行性能值计算,得到第三性能值;根据第三率失真值和第三性能值,确定第三代价值。In another possible implementation, determining the third generation value of the component to be processed of the attribute information of the reconstructed point cloud may include: using a rate-distortion cost method to generate the value of the component to be processed of the attribute information of the reconstructed point cloud. value calculation to obtain the third rate distortion value; use preset performance measurement indicators to calculate the performance value of the to-be-processed component of the attribute information of the reconstructed point cloud, and obtain the third performance value; according to the third rate distortion value and the third performance value, Determine third generation value.
所述确定滤波后点云的属性信息的待处理分量的***价值,可以包括:利用率失真代价方式对滤波后点云的属性信息的待处理分量进行代价值计算,得到第四率失真值;利用预设性能衡量指标对滤波后点云的属性信息的待处理分量进行性能值计算,得到第四性能值;根据第四率失真值和第四性能值,确定***价值。Determining the fourth generation value of the to-be-processed component of the attribute information of the filtered point cloud may include: using the rate distortion cost method to calculate the cost value of the to-be-processed component of the filtered point cloud's attribute information to obtain the fourth rate distortion. value; use the preset performance measurement index to calculate the performance value of the to-be-processed component of the attribute information of the filtered point cloud to obtain the fourth performance value; determine the fourth generation value based on the fourth rate distortion value and the fourth performance value.
在该实现方式下,不仅可以考虑利用率失真代价方式确定的率失真值,还可以考虑利用预设性能衡量指标确定的性能值(例如PSNR值)。在这里,第三性能值和第四性能值可以分别表征相同的颜色分量下重建点云和滤波后点云各自的编解码性能。示例性地,在本申请实施例中,第三性能值可以为重建点云中点的颜色分量的PSNR值,第四性能值可以为滤波后点云中点的颜色分量的PSNR值。In this implementation manner, not only the rate distortion value determined using the rate distortion cost method can be considered, but also the performance value (such as PSNR value) determined using the preset performance measurement index can be considered. Here, the third performance value and the fourth performance value can respectively represent the encoding and decoding performance of the reconstructed point cloud and the filtered point cloud under the same color component. For example, in the embodiment of the present application, the third performance value may be the PSNR value of the color component of the point in the reconstructed point cloud, and the fourth performance value may be the PSNR value of the color component of the point in the point cloud after filtering.
需要说明的是,考虑到G-PCC编解码框架最终目的是进行点云压缩,压缩率越高代表整体性能越好。本申请实施例不仅可以考虑PSNR值决定是否在解码端进行滤波,同时还可以利用率失真代价方式进行滤波前后的率失真权衡。也就是说,在获得重建点云和滤波后点云之后,可以根据上述方法计算出重建点云的待处理分量的第三性能值和第三率失真值,以得到第三代价值;以及计算出滤波后点云的待 处理分量的第四性能值和第四率失真值,以得到***价值,然后根据第三代价值和***价值的比较结果确定处待处理分量的第二滤波标识信息。这样,不仅考虑了属性值质量的提升,同时计算了将第二滤波系数等信息写入码流所需的代价,综合二者表现判断滤波后压缩性能是否有了提升,从而决定编码端是否进行第二滤波系数的传递。It should be noted that considering that the ultimate purpose of the G-PCC encoding and decoding framework is point cloud compression, the higher the compression rate, the better the overall performance. The embodiments of the present application can not only consider the PSNR value to decide whether to perform filtering at the decoding end, but can also use the rate-distortion cost method to perform rate-distortion trade-offs before and after filtering. That is to say, after obtaining the reconstructed point cloud and the filtered point cloud, the third performance value and the third rate distortion value of the to-be-processed component of the reconstructed point cloud can be calculated according to the above method to obtain the third generation value; and calculation The fourth performance value and the fourth rate distortion value of the component to be processed of the filtered point cloud are obtained to obtain the fourth generation value, and then the second value of the component to be processed is determined based on the comparison result of the third generation value and the fourth generation value. Filter identification information. In this way, not only the improvement of attribute value quality is considered, but also the cost of writing the second filter coefficient and other information into the code stream is calculated. The performance of the two is combined to determine whether the compression performance after filtering has been improved, thereby deciding whether the encoding end should perform Transfer of the second filter coefficient.
在一些实施例中,所述根据第三代价值和***价值,确定待处理分量的第二滤波标识信息,可以包括:若***价值小于第三代价值,则确定待处理分量的第二滤波标识信息的取值为第三值;若***价值大于第三代价值,则确定待处理分量的第二滤波标识信息的取值为第四值。In some embodiments, determining the second filter identification information of the component to be processed based on the third generation value and the fourth generation value may include: if the fourth generation value is less than the third generation value, determining the second filter identification information of the component to be processed. The value of the second filter identification information is the third value; if the fourth generation value is greater than the third generation value, it is determined that the value of the second filter identification information of the component to be processed is the fourth value.
需要说明的是,对于***价值等于第三代价值的情况,这时候可以确定待处理分量的第二滤波标识信息的取值为第三值;或者,也可以确定待处理分量的第二滤波标识信息的取值为第四值。It should be noted that, for the situation where the fourth generation value is equal to the third generation value, at this time, the value of the second filter identification information of the component to be processed can be determined to be the third value; or, the second value of the component to be processed can also be determined. The value of the filter identification information is the fourth value.
在一种具体的实施例中,若第四率失真值小于第三率失真值,则确定待处理分量的第二滤波标识信息的取值为第三值;若第四率失真值大于第三率失真值,则确定待处理分量的第二滤波标识信息的取值为第四值。In a specific embodiment, if the fourth rate distortion value is less than the third rate distortion value, the value of the second filter identification information of the component to be processed is determined to be the third value; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the component to be processed is determined to be the third value. rate distortion value, it is determined that the value of the second filter identification information of the component to be processed is the fourth value.
在另一种具体的实施例中,若第四性能值大于第三性能值且第四率失真值小于第三率失真值,则确定待处理分量的第二滤波标识信息的取值为第三值;若第四性能值小于第三性能值或者第四率失真值大于第三率失真值,则确定待处理分量的第二滤波标识信息的取值为第四值。In another specific embodiment, if the fourth performance value is greater than the third performance value and the fourth rate distortion value is less than the third rate distortion value, then it is determined that the value of the second filter identification information of the component to be processed is the third value; if the fourth performance value is less than the third performance value or the fourth rate distortion value is greater than the third rate distortion value, then the value of the second filter identification information of the component to be processed is determined to be the fourth value.
需要说明的是,对于第四性能值等于第三性能值,或者第四率失真值等于第三率失真值的情况,此时可以确定待处理分量的第二滤波标识信息的取值为第三值;或者,也可以确定待处理分量的第二滤波标识信息的取值为第四值。It should be noted that, for the situation where the fourth performance value is equal to the third performance value, or the fourth rate distortion value is equal to the third rate distortion value, at this time, it can be determined that the value of the second filter identification information of the component to be processed is the third value; alternatively, the value of the second filter identification information of the component to be processed may also be determined to be the fourth value.
还需要说明的是,如果待处理分量的第二滤波标识信息的取值为第三值,那么可以确定待处理分量的第二滤波标识信息指示对重建点云的属性信息的待处理分量进行滤波处理;或者,如果待处理分量的第二滤波标识信息的取值为第四值,那么可以确定待处理分量的第二滤波标识信息指示不对重建点云的属性信息的待处理分量进行滤波处理。It should also be noted that if the value of the second filter identification information of the component to be processed is the third value, then it can be determined that the second filter identification information of the component to be processed indicates filtering of the component to be processed of the attribute information of the reconstructed point cloud. Process; or, if the value of the second filter identification information of the component to be processed is the fourth value, it can be determined that the second filter identification information of the component to be processed indicates that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
在本申请实施例中,当待处理分量为颜色分量时,可以根据第三率失真值和第四率失真值,确定出滤波后点云相比于重建点云,这些颜色分量中某个或者某几个分量的率失真代价(RDCost)是否有所下降;或者,也可以根据第三性能值、第三率失真值、第四性能值和第四率失真值,来衡量滤波后点云相比于重建点云,这些颜色分量中某个或者某几个分量的性能值是否增加同时率失真代价是否有所下降,进而判断这些颜色分量中某个或者某几个分量需要进行滤波处理。下面以RDcost来判断这些颜色分量中某个或者某几个分量需要进行滤波处理为例进行详细介绍。In the embodiment of the present application, when the component to be processed is a color component, it can be determined based on the third rate distortion value and the fourth rate distortion value that compared with the reconstructed point cloud, one of these color components or Whether the rate distortion cost (RDCost) of certain components has decreased; or, the phase of the filtered point cloud can also be measured based on the third performance value, the third rate distortion value, the fourth performance value and the fourth rate distortion value. Compared with the reconstructed point cloud, whether the performance value of one or several of these color components has increased while the rate-distortion cost has decreased, and then it is determined that one or several of these color components need to be filtered. The following uses RDcost to determine whether one or several of these color components need to be filtered as an example for a detailed introduction.
在一种可能的实施方式中,当待处理分量为第一颜色分量时,若第四率失真值小于第三率失真值,确定第一颜色分量的第二滤波标识信息的取值为第三值;若第四率失真值大于第三率失真值,确定第一颜色分量的第二滤波标识信息的取值为第四值。In a possible implementation, when the component to be processed is the first color component, if the fourth rate distortion value is less than the third rate distortion value, it is determined that the value of the second filter identification information of the first color component is the third value; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the first color component is determined to be the fourth value.
在另一种可能的实施方式中,当待处理分量为第二颜色分量时,若第四率失真值小于第三率失真值,确定第二颜色分量的第二滤波标识信息的取值为第三值;若第四率失真值大于第三率失真值,确定第二颜色分量的第二滤波标识信息的取值为第四值。In another possible implementation, when the component to be processed is the second color component, if the fourth rate distortion value is less than the third rate distortion value, it is determined that the value of the second filter identification information of the second color component is the third rate distortion value. Three values; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the second color component is determined to be the fourth value.
在又一种可能的实施方式中,当待处理分量为第三颜色分量时,若第四率失真值小于第三率失真值,确定第三颜色分量的第二滤波标识信息的取值为第三值;若第四率失真值大于第三率失真值,确定第三颜色分量的第二滤波标识信息的取值为第四值。In another possible implementation, when the component to be processed is the third color component, if the fourth rate distortion value is less than the third rate distortion value, it is determined that the value of the second filter identification information of the third color component is the third color component. Three values; if the fourth rate distortion value is greater than the third rate distortion value, the value of the second filter identification information of the third color component is determined to be the fourth value.
示例性地,以Y分量的率失真代价结果(RDCost)为例,在根据第三率失真值和第四率失真值,确定Y分量的第一滤波标识信息时,如果重建点云对应的RDCost1小于滤波后点云对应的RDCost2,即滤波后Y分量的率失真代价增加,那么都可以认为滤波效果不佳,此时将设置Y分量的第二滤波标识信息指示不对Y分量进行滤波处理;相应地,如果重建点云对应的RDCost1大于滤波后点云对应的RDCost2,即滤波后Y分量的率失真代价得到减小,那么可以认为滤波效果较好,此时将设置Y分量的第二滤波标识信息指示对Y分量进行滤波处理。如此,本申请的实施例可以按照上述方法遍历U分量和V分量,最终确定出U分量的第二滤波标识信息和V分量的第二滤波标识信息,以便利用全部颜色分量的第二滤波标识信息来确定出最终的第二滤波标识信息。Illustratively, taking the rate distortion cost result (RDCost) of the Y component as an example, when determining the first filter identification information of the Y component based on the third rate distortion value and the fourth rate distortion value, if the RDCost1 corresponding to the reconstructed point cloud If it is less than the RDCost2 corresponding to the filtered point cloud, that is, the rate distortion cost of the filtered Y component increases, then the filtering effect can be considered to be poor. At this time, the second filter identification information of the Y component will be set to indicate that the Y component will not be filtered; accordingly If the RDCost1 corresponding to the reconstructed point cloud is greater than the RDCost2 corresponding to the filtered point cloud, that is, the rate distortion cost of the Y component after filtering is reduced, then the filtering effect can be considered to be better, and the second filter flag of the Y component will be set at this time. The information indicates filtering of the Y component. In this way, embodiments of the present application can traverse the U component and the V component according to the above method, and finally determine the second filter identification information of the U component and the second filter identification information of the V component, so as to utilize the second filter identification information of all color components. to determine the final second filter identification information.
进一步地,在本申请实施例中,根据待处理分量的第二滤波标识信息来确定重建点云的第二滤波标识信息,可以包括:在待处理分量为颜色分量的情况下,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息;根据第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息,得到第二滤波标识信息。Further, in the embodiment of the present application, determining the second filter identification information of the reconstructed point cloud according to the second filter identification information of the component to be processed may include: when the component to be processed is a color component, determining the first color The second filter identification information of the second color component, the second filter identification information of the second color component, and the second filter identification information of the third color component; according to the second filter identification information of the first color component, the second filtering information of the second color component The identification information and the second filter identification information of the third color component are used to obtain the second filter identification information.
也就是说,这里的第二滤波标识信息也可以为数组形式,具体为1×3的数组,其是由第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息组成的。例如,第二滤波标识信息可以用[Y U V]表示,其中,Y表示第一颜色分量的第二滤波标识信息,U 表示第二颜色分量的第二滤波标识信息,V表示第三颜色分量的第二滤波标识信息。That is to say, the second filter identification information here can also be in the form of an array, specifically a 1×3 array, which is composed of the second filter identification information of the first color component, the second filter identification information of the second color component and It consists of the second filter identification information of the third color component. For example, the second filter identification information can be represented by [Y U V], where Y represents the second filter identification information of the first color component, U represents the second filter identification information of the second color component, and V represents the third color component The second filter identification information.
由此可见,由于第二滤波标识信息包括有每一个颜色分量的滤波标识信息,因此,第二滤波标识信息不仅可以用于是否对重建点云是否进行滤波处理进行确定,还可以用于确定出具体地对哪一个颜色分量进行滤波处理。因此,在一些实施例中,该方法还可以包括:若待处理分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的待处理分量进行滤波处理;若待处理分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的待处理分量进行滤波处理。It can be seen that since the second filter identification information includes filter identification information for each color component, the second filter identification information can not only be used to determine whether to filter the reconstructed point cloud, but also to determine whether to filter the reconstructed point cloud. Specifically which color component is filtered. Therefore, in some embodiments, the method may further include: if the value of the second filter identification information of the component to be processed is a third value, determining to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud; if If the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
需要说明的是,属性信息以颜色分量为例,待处理分量可以包括第一颜色分量、第二颜色分量和第三颜色分量。在一种具体的实施例中,该方法还可以包括:It should be noted that the attribute information takes color components as an example, and the components to be processed may include first color components, second color components, and third color components. In a specific embodiment, the method may further include:
若第一颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的第一颜色分量进行滤波处理;若第一颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的第一颜色分量进行滤波处理;或者,If the value of the second filter identification information of the first color component is the third value, it is determined to perform filtering processing on the first color component of the reconstructed point cloud; if the value of the second filter identification information of the first color component is the third value. Four values, then it is determined not to filter the first color component of the reconstructed point cloud; or,
若第二颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的第二颜色分量进行滤波处理;若第二颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的第二颜色分量进行滤波处理;或者,If the value of the second filter identification information of the second color component is the third value, it is determined to perform filtering processing on the second color component of the reconstructed point cloud; if the value of the second filter identification information of the second color component is the third value. Four values, then it is determined not to filter the second color component of the reconstructed point cloud; or,
若第三颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的第三颜色分量进行滤波处理;若第三颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的第三颜色分量进行滤波处理。If the value of the second filter identification information of the third color component is the third value, then it is determined to perform filtering processing on the third color component of the reconstructed point cloud; if the value of the second filter identification information of the third color component is the third value. Four values, it is determined that the third color component of the reconstructed point cloud will not be filtered.
也就是说,在本申请实施例中,如果某颜色分量对应的第二滤波标识信息为第三值,那么可以指示对该颜色分量进行滤波处理;如果某颜色分量对应的第二滤波标识信息为第四值,那么可以指示不对该颜色分量进行滤波处理。That is to say, in the embodiment of the present application, if the second filter identification information corresponding to a certain color component is the third value, then the color component can be instructed to perform filtering processing; if the second filter identification information corresponding to a certain color component is The fourth value can indicate that the color component is not filtered.
进一步地,在一些实施例中,该方法还可以包括:Further, in some embodiments, the method may also include:
若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定第二滤波标识信息指示对重建点云进行滤波处理;If at least one of the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the second filter identification information indicates the pair Reconstruct the point cloud for filtering;
若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中全部为第四值,则确定第二滤波标识信息指示不对重建点云进行滤波处理。If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, it is determined that the second filter identification information indicates that reconstruction is not performed. The point cloud is filtered.
也就是说,在本申请实施例中,如果这些颜色分量对应的第二滤波标识信息均为第四值,那么可以指示对这些颜色分量均不进行滤波处理,即可确定第二滤波标识信息指示不对重建点云进行滤波处理;相应地,如果这些颜色分量的第二滤波标识信息中至少一个为第三值,那么可以指示对至少一个颜色分量进行滤波处理,即可确定第二滤波标识信息指示对重建点云进行滤波处理。That is to say, in the embodiment of the present application, if the second filter identification information corresponding to these color components are all the fourth value, then it can be instructed that these color components are not filtered, and the second filter identification information indication can be determined. The reconstructed point cloud is not filtered; accordingly, if at least one of the second filter identification information of these color components is the third value, then it can be indicated that at least one color component is filtered, and the second filter identification information indication can be determined Filter the reconstructed point cloud.
另外,在本申请实施例中,第三值和第四值不同,而且第三值和第四值可以是参数形式,也可以是数字形式。具体地,这些颜色分量对应的第二滤波标识信息可以是写入在概述(profile)中的参数,也可以是一个标志(flag)的取值,这里对此不作具体限定。In addition, in the embodiment of the present application, the third value and the fourth value are different, and the third value and the fourth value may be in parameter form or in numerical form. Specifically, the second filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
还需要说明的是,在本申请实施例中,第一滤波标识信息和第二滤波标识信息的表现形式存在不同。示例性地,第一滤波标识信息可以为[0 1 1],第二滤波标识信息可以为[0 2 2];其中,数组[0 11]表明是需要对重建切片中的第二颜色分量和第三颜色分量进行滤波处理,数组[0 2 2]表明是需要对重建点云中的第二颜色分量和第三颜色分量进行滤波处理。It should also be noted that in this embodiment of the present application, the first filter identification information and the second filter identification information have different expression forms. For example, the first filter identification information can be [0 1 1], and the second filter identification information can be [0 2 2]; where the array [0 11] indicates that it is necessary to reconstruct the sum of the second color component in the slice The third color component is filtered. The array [0 2 2] indicates that the second color component and the third color component in the reconstructed point cloud need to be filtered.
进一步地,在本申请实施例中,在得到第二滤波标识信息之后,可以对第二滤波标识信息进行编码;如果第二滤波标识信息指示对重建点云进行滤波处理,那么还需要对第二滤波系数进行编码,将所得到的编码比特写入码流。其中,在对第二滤波系数进行编码时,可以是选择性地将第二滤波系数写入码流。Further, in this embodiment of the present application, after obtaining the second filter identification information, the second filter identification information can be encoded; if the second filter identification information indicates filtering of the reconstructed point cloud, then the second filter identification information also needs to be processed. The filter coefficients are encoded, and the resulting encoded bits are written into the code stream. When encoding the second filter coefficient, the second filter coefficient may be selectively written into the code stream.
示例性地,仍以数组[0 2 2]为例,此时由于第一颜色分量的第二滤波标识信息的取值为0,即不需要对重建点云的第一颜色分量进行滤波处理;第二颜色分量的第二滤波标识信息的取值为2,即需要对重建点云的第二颜色分量进行滤波处理;第三颜色分量的第二滤波标识信息的取值为2,即需要对重建点云的第三颜色分量进行滤波处理;这时候仅需要将第二颜色分量对应的第二滤波系数向量和第三颜色分量对应的第二滤波系数向量写入码流,而无需将第一颜色分量对应的第二滤波系数向量写入码流。For example, still taking the array [0 2 2] as an example, at this time, since the value of the second filter identification information of the first color component is 0, that is, there is no need to filter the first color component of the reconstructed point cloud; The value of the second filter identification information of the second color component is 2, that is, the second color component of the reconstructed point cloud needs to be filtered; the value of the second filter identification information of the third color component is 2, that is, the second color component of the reconstructed point cloud needs to be filtered. The third color component of the reconstructed point cloud is filtered; at this time, it is only necessary to write the second filter coefficient vector corresponding to the second color component and the second filter coefficient vector corresponding to the third color component into the code stream, without the need to write the first The second filter coefficient vector corresponding to the color component is written into the code stream.
进一步地,在一些实施例中,该方法还可以包括:若第二滤波标识信息指示不对重建点云进行滤波处理,则不对所述第二滤波系数进行编码,此时仅对第二滤波标识信息进行编码,将所得到的编码比特写入码流。Further, in some embodiments, the method may also include: if the second filter identification information indicates that the reconstructed point cloud is not to be filtered, then the second filter coefficient is not encoded, and only the second filter identification information is encoded at this time. Encode and write the resulting encoded bits into the code stream.
需要说明的是,在本申请实施例中,编码器在利用第二滤波系数获得重建点云对应的滤波后点云之后,可以进一步根据重建点云和滤波后点云确定第二滤波标识信息。如果第二滤波标识信息指示对重建点云进行滤波处理,那么需要将第二滤波标识信息和第二滤波系数写入码流;如果第二滤波标识信息指示不对重建点云进行滤波处理,那么这时候不需要将第二滤波系数写入码流,仅需将第二滤波标识信息写入码流即可,以便后续通过码流传输至解码器中。It should be noted that in this embodiment of the present application, after using the second filter coefficient to obtain the filtered point cloud corresponding to the reconstructed point cloud, the encoder can further determine the second filter identification information based on the reconstructed point cloud and the filtered point cloud. If the second filter identification information indicates that the reconstructed point cloud is filtered, then the second filter identification information and the second filter coefficient need to be written into the code stream; if the second filter identification information indicates that the reconstructed point cloud is not filtered, then this At this time, there is no need to write the second filter coefficient into the code stream. It is only necessary to write the second filter identification information into the code stream for subsequent transmission to the decoder through the code stream.
还需要说明的是,在本申请实施例中,该方法还可以包括:确定初始切片中点的属性信息的预测值;根据初始切片中点的颜色分量属性信息的原始值和预测值,确定初始切片中点的属性信息的残差值;对初始切片中点的属性信息的残差值进行编码,并将所得到的编码比特写入码流。也就是说,编码器在确定出属性信息的残差值之后,还需要将属性信息的残差值写入码流,以便后续通过码流传输至解码器中。It should also be noted that in the embodiment of the present application, the method may also include: determining the predicted value of the attribute information of the midpoint of the initial slice; determining the initial value according to the original value and predicted value of the color component attribute information of the midpoint of the initial slice. The residual value of the attribute information at the midpoint of the slice; encode the residual value of the attribute information at the midpoint of the initial slice, and write the resulting coded bits into the code stream. That is to say, after the encoder determines the residual value of the attribute information, it also needs to write the residual value of the attribute information into the code stream for subsequent transmission to the decoder through the code stream.
还可以理解地,在一些实施例中,该方法还可以包括:It can also be understood that in some embodiments, the method may also include:
若至少一个初始切片的数量为多个,则从多个初始切片中确定n个初始切片,对n个初始切片进行聚合处理,得到初始聚合切片;If the number of at least one initial slice is multiple, n initial slices are determined from the multiple initial slices, and the n initial slices are aggregated to obtain initial aggregated slices;
确定初始聚合切片对应的重建聚合切片;其中,重建聚合切片是由n个初始切片对应的重建切片聚合得到,n为大于1的整数;Determine the reconstructed aggregation slice corresponding to the initial aggregation slice; where the reconstructed aggregation slice is obtained by aggregating the reconstruction slices corresponding to n initial slices, where n is an integer greater than 1;
根据初始聚合切片与重建聚合切片,确定第三滤波系数;Determine the third filter coefficient according to the initial aggregation slice and the reconstructed aggregation slice;
根据第三滤波系数对重建聚合切片进行滤波处理,确定重建聚合切片对应的滤波后聚合切片;Filter the reconstructed aggregation slice according to the third filter coefficient, and determine the filtered aggregation slice corresponding to the reconstructed aggregation slice;
根据滤波后聚合切片,确定第三滤波标识信息;其中,第三滤波标识信息指示是否对重建聚合切片进行滤波处理;Determine third filtering identification information according to the filtered aggregation slice; wherein the third filtering identification information indicates whether to perform filtering processing on the reconstructed aggregation slice;
对第三滤波标识信息进行编码;Encoding the third filter identification information;
若第三滤波标识信息指示对重建聚合切片进行滤波处理,则对第三滤波系数进行编码;If the third filter identification information indicates that the reconstructed aggregate slice is filtered, the third filter coefficient is encoded;
将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
需要说明的是,若第三滤波标识信息指示不对重建聚合切片进行滤波处理,则不对所述第三滤波系数进行编码,此时仅对第三滤波标识信息进行编码,将所得到的编码比特写入码流。It should be noted that if the third filter identification information indicates that the reconstructed aggregate slice is not filtered, the third filter coefficient is not encoded. At this time, only the third filter identification information is encoded, and the resulting coded bits are written. Input code stream.
还需要说明的是,对于第三滤波系数的确定,仍然可以采用维纳滤波方式,其具体的确定过程与前述的第一滤波系数和第二滤波系数的确定过程类似,这里不做详述。另外,根据第三滤波系数对重建聚合切片进行滤波处理,具体是根据第三滤波系数对重建聚合切片中第一点对应的K 3个目标点进行滤波处理,以确定出滤波后聚合切片。其中,这里的第一点表示重建聚合切片中的点,第一点对应的K 3个目标点包括第一点以及重建聚合切片中与第一点相邻的(K 3-1)个近邻点,K 3为大于1的整数;这里的(K 3-1)个近邻点具体是指重建聚合切片中与第一点几何距离最接近的(K 3-1)个近邻点。 It should also be noted that Wiener filtering can still be used to determine the third filter coefficient. The specific determination process is similar to the aforementioned determination process of the first filter coefficient and the second filter coefficient, and will not be described in detail here. In addition, the reconstructed aggregate slice is filtered according to the third filter coefficient. Specifically, the K 3 target points corresponding to the first point in the reconstructed aggregate slice are filtered according to the third filter coefficient to determine the filtered aggregate slice. Among them, the first point here represents the point in the reconstructed aggregation slice. The K 3 target points corresponding to the first point include the first point and the (K 3 -1) neighbor points adjacent to the first point in the reconstructed aggregation slice. , K 3 is an integer greater than 1; the (K 3 -1) neighbor points here specifically refer to the (K 3 -1) neighbor points with the closest geometric distance to the first point in the reconstructed aggregation slice.
这样,针对切片的点云维纳滤波质量增强处理来说,对于较多个slice的大型点云,可以由n(1<n<S,S为总切片个数)个slice先构建成一个较大的点云切片,再对该切片应用质量增强处理方法;从而可以减少传递滤波系数的个数,压缩效率得以提升;且在S不太大时,该方法也能顺利实现。In this way, for point cloud Wiener filtering quality enhancement processing of slices, for large point clouds with more slices, n (1<n<S, S is the total number of slices) slices can be first constructed into a relatively large point cloud. For large point cloud slices, the quality enhancement processing method is then applied to the slice; thus, the number of transmitted filter coefficients can be reduced, and the compression efficiency can be improved; and this method can also be successfully implemented when S is not too large.
还可以理解地,本申请实施例也可以先进行重建切片的质量增强处理,所有重建切片处理完毕之后;再对整个重建点云进行一次整体的质量增强处理,达到二次增强的目的。因此,在一些实施例中,该方法还可以包括:It is also understandable that the embodiments of the present application may also perform quality enhancement processing on reconstructed slices first, and then perform an overall quality enhancement processing on the entire reconstructed point cloud after all reconstructed slices are processed to achieve the purpose of secondary enhancement. Therefore, in some embodiments, the method may further include:
在对初始点云对应的至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;After performing filtering processing on at least one reconstructed slice corresponding to the initial point cloud, determine at least one filtered slice;
对至少一个滤波后切片进行聚合处理,确定第一滤波后点云;Perform aggregation processing on at least one filtered slice to determine the first filtered point cloud;
根据初始点云与第一滤波后点云,确定第四滤波系数;Determine the fourth filter coefficient based on the initial point cloud and the first filtered point cloud;
根据第四滤波系数对第一滤波后点云进行滤波处理,确定第一滤波后点云对应的第二滤波后点云;Filter the first filtered point cloud according to the fourth filter coefficient to determine the second filtered point cloud corresponding to the first filtered point cloud;
根据第二滤波后点云,确定第四滤波标识信息;其中,第四滤波标识信息指示是否对第一滤波后点云进行滤波处理;Determine fourth filtering identification information according to the second filtered point cloud; wherein the fourth filtering identification information indicates whether to perform filtering processing on the first filtered point cloud;
对第四滤波标识信息进行编码;Encoding the fourth filter identification information;
若第四滤波标识信息指示对第一滤波后点云进行滤波处理,则对第四滤波系数进行编码;If the fourth filtering identification information indicates filtering the first filtered point cloud, encode the fourth filter coefficient;
将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
需要说明的是,若第四滤波标识信息指示不对第一滤波后点云进行滤波处理,则不对所述第四滤波系数进行编码,此时仅对第四滤波标识信息进行编码,将所得到的编码比特写入码流。It should be noted that if the fourth filtering identification information indicates that the first filtered point cloud is not to be filtered, the fourth filtering coefficient will not be encoded. At this time, only the fourth filtering identification information will be encoded, and the obtained The encoded bits are written into the code stream.
还需要说明的是,对于第四滤波系数的确定,仍然可以采用维纳滤波方式,其具体的确定过程与前述的第一滤波系数和第二滤波系数的确定过程类似,这里不做详述。另外,根据第四滤波系数对第一滤波后点云进行滤波处理,具体是根据第四滤波系数对第一滤波后点云中第一点对应的K 4个目标点进行滤波处理,以确定出第二滤波后点云。其中,这里的第一点表示第一滤波后点云中的点,第一点对应的K 4个目标点包括第一点以及第一滤波后点云中与第一点相邻的(K 4-1)个近邻点,K 4为大于1的整数;这里的(K 4-1)个近邻点具体是指第一滤波后点云中与第一点几何距离最接近的(K 4-1)个近邻点。 It should also be noted that Wiener filtering can still be used to determine the fourth filter coefficient. The specific determination process is similar to the aforementioned determination process of the first filter coefficient and the second filter coefficient, and will not be described in detail here. In addition, the first filtered point cloud is filtered according to the fourth filter coefficient. Specifically, the K 4 target points corresponding to the first point in the first filtered point cloud are filtered according to the fourth filter coefficient to determine the Second filtered point cloud. Among them, the first point here represents the point in the first filtered point cloud, and the K 4 target points corresponding to the first point include the first point and (K 4 ) adjacent to the first point in the first filtered point cloud. -1) neighbor points, K 4 is an integer greater than 1; the (K 4 -1) neighbor points here specifically refer to the (K 4 -1) closest geometric distance to the first point in the first filtered point cloud ) nearest neighbor points.
另外,K 1、K 2、K 3、K 4的取值可以相同,也可以不同。在一种具体的实施例中,K 1、K 2、K 3、K 4均可以设置为16,但是本申请实施例并不作具体限定。 In addition, the values of K 1 , K 2 , K 3 and K 4 may be the same or different. In a specific embodiment, K 1 , K 2 , K 3 , and K 4 can all be set to 16, but this is not specifically limited in this embodiment.
还需要说明的是,在本申请实施例提出的维纳滤波器可以在预测环路内,即作为inloop filter使用,可用作解码后续点云的参考;也可以在预测环路外,即作为post filter使用,不用作解码后续点云的参考。对此这里不进行具体限定。It should also be noted that the Wiener filter proposed in the embodiment of this application can be used within the prediction loop, that is, as an inloop filter, and can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as an inloop filter. Post filter is used and is not used as a reference for decoding subsequent point clouds. There is no specific limitation on this.
还需要说明的是,在本申请实施例中,如果本申请实施例提出的维纳滤波器为环路内滤波器,那么在确定进行滤波处理之后,需要将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也需要将滤波系数写入码流;相应地,在确定不进行滤波处理之后,可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流。反之,如果本申请实施例提出的维纳滤波器为后处理滤波器,一种情况下,该滤波器对应的滤波系数是位于一个单独的辅助信息数据单元(例如,补充增强信息SEI),那么可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流,相应地,解码器在未获得该补充增强信息的情况下,即不对重建点云进行滤波处理。另一种情况下,该滤波器对应的滤波系数与其他信息在一个辅助信息数据单元中,此时在确定进行滤波处理之后,需要将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也需要将滤波系数写入码流;相应地,在确定不进行滤波处理之后,可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流。It should also be noted that in the embodiment of the present application, if the Wiener filter proposed in the embodiment of the present application is an in-loop filter, then after it is determined to perform the filtering process, the parameter information indicating the filtering process needs to be set, such as The filter identification information is written into the code stream, and the filter coefficients also need to be written into the code stream. Correspondingly, after it is determined not to perform filtering, you can choose not to write parameter information indicating filtering, such as filter identification information, into the code stream. , and the filter coefficients are not written into the code stream. On the contrary, if the Wiener filter proposed in the embodiment of this application is a post-processing filter, in one case, the filter coefficient corresponding to the filter is located in a separate auxiliary information data unit (for example, supplementary enhancement information SEI), then You can choose not to write parameter information indicating filtering processing, such as filter identification information, into the code stream, and at the same time, do not write the filter coefficients into the code stream. Correspondingly, if the decoder does not obtain the supplementary enhancement information, it will not Reconstruct the point cloud for filtering. In another case, the filter coefficients and other information corresponding to the filter are in an auxiliary information data unit. In this case, after the filtering process is determined, the parameter information indicating the filtering process, such as the filter identification information, needs to be written into the code. stream, and the filter coefficients also need to be written into the code stream; accordingly, after determining not to perform filtering, you can choose not to write parameter information indicating filtering, such as filter identification information, into the code stream, and at the same time, do not write the filtering information into the code stream. The coefficients are written into the code stream.
简言之,本申请实施例提出了一种自适应的对编解码属性信息中的YUV分量做维纳滤波处理以更好地增强点云质量的技术,具体可以依据重建点云中点的数量,决定是对整个重建点云进行维纳滤波,还是对于划分的slice分别进行滤波。这样既可以最大程度地保证点云压缩效率,同时更具有普适性,即该方法对于任何点云都有应用价值。In short, the embodiments of this application propose a technology that adaptively performs Wiener filtering on the YUV component in the encoding and decoding attribute information to better enhance the quality of the point cloud. Specifically, it can be based on the number of points in the reconstructed point cloud. , decide whether to perform Wiener filtering on the entire reconstructed point cloud, or filter the divided slices separately. This can not only ensure the point cloud compression efficiency to the greatest extent, but also be more universal, that is, this method has application value for any point cloud.
可以理解的是,本申请实施例提出一种自适应的点云颜色质量提升方法,适用于任意的点云序列,这里将点云中点的数量作为先验知识,从而实现效率与一般性的最大权衡。具体来说,这是通过决定对点云的处理是应用在整个重建点云上还是分别应用于每个点云切片上来实现的。其中,应用于整个点云上时,通常有:压缩效率提升效果稍好、时间复杂度略低的优势,缺点在于占用内存等资源较大,当内存受限时对于大型点云难以发挥应有的作用;应用于每个切片上时,由于传递信息较多导致压缩效率提升略微低于前者,但该方法消耗资源较少,只要当前设备能够运行原始程序,则该方法即可顺利实现并运行。因此,当资源受限时,划分区域处理不失为一种好的选择。在该技术方案中,提前设置点数的预设阈值T,该值的设置应依据当前设备的具体情况而定,从而最大化压缩效率的提升量;因而该技术方案不局限于维纳滤波操作,可以为任何受限于资源等情况的方法提供解决方案。It can be understood that the embodiment of the present application proposes an adaptive point cloud color quality improvement method, which is suitable for any point cloud sequence. Here, the number of points in the point cloud is used as a priori knowledge, thereby achieving efficiency and generality. Maximum trade-off. Specifically, this is achieved by deciding whether point cloud processing is applied to the entire reconstructed point cloud or to each point cloud slice individually. Among them, when applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity. The disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to perform its due function on large point clouds. function; when applied to each slice, the compression efficiency improvement is slightly lower than the former due to more information being transmitted, but this method consumes less resources. As long as the current device can run the original program, this method can be implemented and run smoothly. . Therefore, when resources are limited, regional processing may be a good choice. In this technical solution, the preset threshold T of points is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this technical solution is not limited to Wiener filtering operations. Solutions can be provided for any method that is constrained by resources, etc.
本实施例提供了一种编码方法,应用于编码器。通过确定重建点云的重建切片;在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;对第一滤波标识信息进行编码;若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;将所得到的编码比特写入码流。这样,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;如此,基于重建切片进行滤波处理,不仅可以避免处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且还可以实现对重建点云的优化,能够提升点云的质量,节省码率,进而提高编解码性能。This embodiment provides an encoding method, which is applied to the encoder. By determining the reconstructed slice of the reconstructed point cloud; when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice; filter the reconstructed slice according to the first filter coefficient, Determine the filtered slice corresponding to the reconstructed slice; determine the first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to filter the reconstructed slice; encode the first filter identification information; if the first filter If the identification information indicates that the reconstructed slice is filtered, the first filter coefficient is encoded; the resulting encoded bits are written into the code stream. In this way, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; so , filtering based on reconstructed slices can not only avoid memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud. quality, save bit rate, and thus improve encoding and decoding performance.
在本申请的另一实施例中,本申请实施例还提供了一种码流,该码流可以包含确定解码点云的参数信息;其中,参数信息包括下述至少之一:初始切片中点的属性信息的残差值、第一滤波标识信息和第一滤波系数。In another embodiment of the present application, the embodiment of the present application also provides a code stream, which may contain parameter information for determining the decoded point cloud; wherein the parameter information includes at least one of the following: initial slice midpoint The residual value of the attribute information, the first filter identification information and the first filter coefficient.
需要说明的是,当初始切片中点的属性信息的残差值、第一滤波标识信息和第一滤波系数由编码器传递到解码器之后,解码器通过解码获得初始切片中点的属性信息的残差值,进而构建出重建切片;而且解码器通过解码获得第一滤波标识信息,还可以确定是否需要对该重建切片进行滤波处理;如果需要对重建切片进行滤波处理,那么可以通过解码直接获得第一滤波系数,并根据第一滤波系数对重建切片进行滤波处理。除此之外,如果重建点云不满足预设条件,那么参数信息还可能包括有第二滤波标识信息和第二滤波系数;在解码器构建出重建点云之后,通过解码可以获得第二滤波标识信息,以确定是否需要对该重建点云进行滤波处理;如果需要对重建点云进行滤波处理,那么还可以通过解码直接获得第二滤波系数,并根据第二滤波系数对重建点云进行滤波处理。这样,从而不仅实现了对重建点云的优化,能够提升点云的质量;还解决了由于内存资源受限而导致内存溢出的情况,具有普适性。It should be noted that after the residual value of the attribute information of the midpoint of the initial slice, the first filter identification information and the first filter coefficient are passed from the encoder to the decoder, the decoder obtains the attribute information of the midpoint of the initial slice through decoding. The residual value is then constructed to construct a reconstructed slice; and the decoder obtains the first filter identification information through decoding, and can also determine whether the reconstructed slice needs to be filtered; if it is necessary to filter the reconstructed slice, it can be obtained directly through decoding a first filter coefficient, and filter the reconstructed slice according to the first filter coefficient. In addition, if the reconstructed point cloud does not meet the preset conditions, the parameter information may also include second filter identification information and second filter coefficients; after the decoder constructs the reconstructed point cloud, the second filter can be obtained through decoding Identification information to determine whether the reconstructed point cloud needs to be filtered; if it is necessary to filter the reconstructed point cloud, the second filter coefficient can also be directly obtained through decoding, and the reconstructed point cloud can be filtered according to the second filter coefficient deal with. In this way, it not only realizes the optimization of the reconstructed point cloud and improves the quality of the point cloud; it also solves the problem of memory overflow due to limited memory resources, and has universal applicability.
在本申请的又一实施例中,参见图7,其示出了本申请实施例提供的一种解码方法的流程示意图一。如图7所示,该方法可以包括:In yet another embodiment of the present application, see FIG. 7 , which shows a schematic flowchart 1 of a decoding method provided by an embodiment of the present application. As shown in Figure 7, the method may include:
S701:解析码流,确定第一滤波标识信息。S701: Analyze the code stream and determine the first filter identification information.
S702:若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;S702: If the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
S703:根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。S703: Filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
需要说明的是,本申请实施例所述的解码方法具体是指点云解码方法,可以应用于点云解码器(本 申请实施例中,可简称为“解码器”)。It should be noted that the decoding method described in the embodiment of the present application specifically refers to the point cloud decoding method, which can be applied to a point cloud decoder (in the embodiment of the present application, it may be referred to as a "decoder" for short).
还需要说明的是,在本申请实施例中,解码器可以先解析码流,从而确定滤波标识信息,例如第一滤波标识信息、第二滤波标识信息等。其中,第一滤波标识信息可以指示是否对重建切片进行滤波处理,第二滤波标识信息可以指示是否对重建点云进行滤波处理。具体地,第一滤波标识信息还可以指示对重建切片中的哪一个或者哪几个颜色分量进行滤波处理,第二滤波标识信息还可以指示对重建点云中的哪一个或者哪几个颜色分量进行滤波处理。It should also be noted that in this embodiment of the present application, the decoder may first parse the code stream to determine filter identification information, such as first filter identification information, second filter identification information, etc. The first filtering identification information may indicate whether to perform filtering processing on the reconstructed slice, and the second filtering identification information may indicate whether to perform filtering processing on the reconstructed point cloud. Specifically, the first filter identification information may also indicate which color component or color components in the reconstructed slice are to be filtered, and the second filter identification information may also indicate which color component or color components in the reconstructed point cloud to be filtered. Perform filtering.
还需要说明的是,在本申请实施例中,对于重建点云而言,针对重建切片中的一个点,在对该一个点进行解码时,其可以作为重建切片中的待解码点,而该一个点的周围有多个已解码点。另外,针对重建切片中的一个点,其对应一个几何信息和一个属性信息;其中,几何信息表征该点的空间位置,属性信息表征该点的属性值(如颜色分量值)。It should also be noted that in the embodiment of the present application, for the reconstructed point cloud, for a point in the reconstructed slice, when decoding this point, it can be used as a point to be decoded in the reconstructed slice, and the point There are multiple decoded points surrounding a point. In addition, for a point in the reconstructed slice, it corresponds to a piece of geometric information and an attribute information; wherein, the geometric information represents the spatial position of the point, and the attribute information represents the attribute value (such as color component value) of the point.
在这里,属性信息可以包括颜色分量,具体为任意颜色空间的颜色信息。示例性地,属性信息可以为RGB空间的颜色信息,也可以为YUV空间的颜色信息,还可以为YCbCr空间的颜色信息等等,本申请实施例不作任何限定。Here, the attribute information may include color components, specifically color information in any color space. For example, the attribute information may be color information in RGB space, color information in YUV space, color information in YCbCr space, etc., which are not limited in the embodiments of this application.
在本申请实施例中,颜色分量可以包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量。这样,如果颜色分量符合RGB颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:R分量、G分量、B分量;如果颜色分量符合YUV颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、U分量、V分量;如果颜色分量符合YCbCr颜色空间,那么可以确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、Cb分量、Cr分量。In the embodiment of the present application, the color component may include at least one of the following: a first color component, a second color component, and a third color component. In this way, if the color component conforms to the RGB color space, then it can be determined that the first color component, the second color component, and the third color component are: R component, G component, and B component; if the color component conforms to the YUV color space, then it can be determined The first color component, the second color component and the third color component are: Y component, U component, V component; if the color component conforms to the YCbCr color space, then the first color component, the second color component and the third color can be determined The components are: Y component, Cb component, Cr component.
可以理解的是,在本申请实施例中,针对重建切片中的一个点,该点的属性信息可以为颜色分量,也可以是反射率、折射率或者其它属性,本申请实施例也不作任何限定。It can be understood that in the embodiment of the present application, for a point in the reconstructed slice, the attribute information of the point can be a color component, or it can be reflectivity, refractive index or other attributes, and the embodiment of the present application does not make any limitation. .
需要说明的是,在本申请实施例中,解码器可以通过解码码流,确定出初始切片中点的属性信息的残差值,以便构建重建切片。因此,在一些实施例中,该方法还可以包括:It should be noted that in this embodiment of the present application, the decoder can determine the residual value of the attribute information of the midpoint of the initial slice by decoding the code stream in order to construct the reconstructed slice. Therefore, in some embodiments, the method may further include:
解析码流,确定初始切片中点的属性信息的残差值;Parse the code stream and determine the residual value of the attribute information of the initial slice midpoint;
在确定初始切片中点的属性信息的预测值后,根据初始切片中点的属性信息的预测值和残差值,确定初始切片中点的属性信息的重建值;After determining the predicted value of the attribute information of the initial slice midpoint, determine the reconstructed value of the attribute information of the initial slice midpoint based on the predicted value and residual value of the attribute information of the initial slice midpoint;
基于初始切片中点的属性信息的重建值,确定重建切片。The reconstructed slice is determined based on the reconstructed value of the attribute information of the initial slice midpoint.
在本申请实施例中,针对重建切片中的一个点,可以先确定出该点的属性信息的预测值和残差值,然后再利用预测值和残差值进一步计算获得该点的属性信息的重建值,以便构建出重建切片。具体来讲,针对重建切片中的一个点,在确定该点的属性信息的预测值时,可以利用该点的多个目标邻居点的几何信息和属性信息,结合该点的几何信息对该点的属性信息进行预测,从而获得对应的预测值,进而能够确定出对应的重建值。这样,针对重建切片中的一个点,在确定出该点的属性信息的重建值之后,该点可以作为后续LOD中点的最近邻居,以利用该点的属性信息的重建值继续对后续的点进行属性预测,如此即可构建出重建切片。In the embodiment of the present application, for a point in the reconstructed slice, the predicted value and residual value of the attribute information of the point can be determined first, and then the predicted value and residual value are further used to calculate and obtain the attribute information of the point. Reconstruction values to construct reconstructed slices. Specifically, for a point in the reconstructed slice, when determining the predicted value of the attribute information of the point, the geometric information and attribute information of multiple target neighbor points of the point can be used, and the geometric information of the point can be combined to predict the point. The attribute information is predicted to obtain the corresponding prediction value, and then the corresponding reconstruction value can be determined. In this way, for a point in the reconstructed slice, after determining the reconstruction value of the attribute information of the point, the point can be used as the nearest neighbor of the subsequent LOD midpoint, so that the reconstruction value of the attribute information of the point can be used to continue to reconstruct subsequent points. Attribute prediction is performed so that reconstructed slices can be constructed.
进一步地,在一些实施例中,该方法还可以包括:在确定出至少一个重建切片之后,对至少一个重建切片进行聚合处理,确定重建点云。Further, in some embodiments, the method may further include: after determining at least one reconstructed slice, performing aggregation processing on the at least one reconstructed slice to determine the reconstructed point cloud.
也就是说,在本申请实施例中,初始点云可以通过编解码程序点云读取函数直接得到,重建点云则是在经过属性编码、属性重建和几何补偿后获得的。另外,本申请实施例的重建点云可以是解码后输出的重建点云,也可以是用作解码后续点云参考;此外,这里的重建点云不仅可以在在预测环路内,即作为inloop filter使用,可用作解码后续点云的参考;也可以在预测环路外,即作为post filter使用,不用作解码后续点云的参考;本申请实施例对此不作具体限定。That is to say, in the embodiment of this application, the initial point cloud can be obtained directly through the point cloud reading function of the codec program, and the reconstructed point cloud is obtained after attribute encoding, attribute reconstruction, and geometric compensation. In addition, the reconstructed point cloud in the embodiment of the present application can be the reconstructed point cloud output after decoding, or can be used as a reference for subsequent decoding point clouds; in addition, the reconstructed point cloud here can not only be within the prediction loop, that is, as an inloop When used as a filter, it can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter, and is not used as a reference for decoding subsequent point clouds; the embodiments of this application do not specifically limit this.
在一些实施例中,该方法还可以包括:确定重建点云的参数信息;根据重建点云的参数信息,确定重建点云是否满足预设条件。In some embodiments, the method may further include: determining parameter information of the reconstructed point cloud; and determining whether the reconstructed point cloud satisfies a preset condition based on the parameter information of the reconstructed point cloud.
相应地,对于S701来说,所述解析码流,确定第一滤波标识信息,可以包括:在重建点云满足预设条件时,解析码流,确定第一滤波标识信息。Correspondingly, for S701, analyzing the code stream and determining the first filter identification information may include: when the reconstructed point cloud meets the preset conditions, parsing the code stream and determining the first filter identification information.
在本申请实施例中,确定重建点云的参数信息,可以是确定重建点云中点的数量。需要说明的是,重建点云的参数信息(例如重建点云中点的数量)可以是通过解析码流获得的,也可以是根据已解码的几何信息确定的,这里不作任何限定。这样,本申请实施例可以根据重建点云中点的数量来确定重建点云是否满足预设条件,进而确定是针对整个重建点云进行滤波处理,还是针对划分的重建切片分别进行滤波处理。In this embodiment of the present application, determining the parameter information of the reconstructed point cloud may be determining the number of points in the reconstructed point cloud. It should be noted that the parameter information of the reconstructed point cloud (such as the number of points in the reconstructed point cloud) can be obtained by parsing the code stream, or can be determined based on the decoded geometric information. There is no limitation here. In this way, embodiments of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstruction slices.
相应地,在一些实施例中,该方法还可以包括:Correspondingly, in some embodiments, the method may also include:
若重建点云中点的数量大于或等于预设阈值,则确定重建点云满足预设条件;或者,If the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, it is determined that the reconstructed point cloud meets the preset conditions; or,
若重建点云中点的数量小于预设阈值,则确定重建点云不满足预设条件。If the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset conditions.
需要说明的是,这里的预设阈值可以是用于衡量重建点云是否为大型点云,即该重建点云是按照整体进行滤波处理,还是按照划分的重建切片分别进行滤波处理。示例性地,如果重建点云中点的数量大于或的等于预设阈值,意味着该重建点云的点数过多,为避免在对其进行滤波处理时出现内存溢出的情况,那么可以确定该重建点云满足预设条件,这时候是按照划分的重建切片分别进行滤波处理;如果重建点云中点的数量小于预设阈值,意味着该重建点云的点数在进行滤波处理时不会造成内存溢出的情况,那么可以确定该重建点云不满足预设条件,这时候针对该重建点云是按照整体进行滤波处理;如此,既可以最大程度地保证点云压缩效率,同时更具有普适性。It should be noted that the preset threshold here can be used to measure whether the reconstructed point cloud is a large point cloud, that is, whether the reconstructed point cloud is filtered as a whole or filtered according to divided reconstructed slices. For example, if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, it means that the number of points in the reconstructed point cloud is too many. In order to avoid memory overflow when filtering it, it can be determined that the When the reconstructed point cloud meets the preset conditions, filtering is performed according to the divided reconstruction slices; if the number of points in the reconstructed point cloud is less than the preset threshold, it means that the number of points in the reconstructed point cloud will not cause any problems during filtering. In the case of memory overflow, it can be determined that the reconstructed point cloud does not meet the preset conditions. At this time, the reconstructed point cloud is filtered as a whole; in this way, the point cloud compression efficiency can be ensured to the greatest extent and it is more universal. sex.
在本申请实施例中,在解析码流之后,如果获得的是第一滤波标识信息,那么说明是针对划分的重建切片进行滤波处理。其中,对于第一滤波标识信息而言,第一滤波标识信息可以包括属性信息的待处理分量的滤波标识信息。具体地,在一些实施例中,对于S701来说,所述解析码流,确定第一滤波标识信息,可以包括:解析码流,确定待处理分量的第一滤波标识信息;其中,待处理分量的第一滤波标识信息指示是否对重建切片的属性信息的待处理分量进行滤波处理。In this embodiment of the present application, after parsing the code stream, if the first filter identification information is obtained, it means that filtering is performed on the divided reconstructed slices. Wherein, for the first filter identification information, the first filter identification information may include filter identification information of the component to be processed of the attribute information. Specifically, in some embodiments, for S701, parsing the code stream and determining the first filter identification information may include: parsing the code stream and determining the first filter identification information of the component to be processed; wherein, the component to be processed The first filtering identification information indicates whether to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice.
进一步地,对于解析码流,确定第一滤波标识信息来说,在一些实施例中,还可以包括:若待处理分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的待处理分量进行滤波处理;若待处理分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的待处理分量进行滤波处理。Further, for parsing the code stream and determining the first filter identification information, in some embodiments, it may also include: if the value of the first filter identification information of the component to be processed is the first value, determining whether to reconstruct the slice. The to-be-processed component of the attribute information of the reconstructed slice is filtered; if the value of the first filter identification information of the to-be-processed component is the second value, it is determined that the to-be-processed component of the attribute information of the reconstructed slice is not to be filtered.
还需要说明的是,在待处理分量为颜色分量的情况下,每一个颜色分量对应的第一滤波标识信息可以用于指示是否对重建切片的该颜色分量进行滤波处理。因此,在一些实施例中,所述解析码流,确定第一滤波标识信息,可以包括:解析码流,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息。It should also be noted that when the component to be processed is a color component, the first filter identification information corresponding to each color component can be used to indicate whether to perform filtering processing on the color component of the reconstructed slice. Therefore, in some embodiments, parsing the code stream and determining the first filter identification information may include: parsing the code stream and determining the first filter identification information of the first color component and the first filter identification information of the second color component. and first filter identification information of the third color component.
其中,第一颜色分量的第一滤波标识信息指示是否对重建切片的属性信息的第一颜色分量进行滤波处理,第二颜色分量的第一滤波标识信息指示是否对重建切片的属性信息的第二颜色分量进行滤波处理,第三颜色分量的第一滤波标识信息指示是否对重建切片的属性信息的第三颜色分量进行滤波处理。Wherein, the first filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice, and the first filter identification information of the second color component indicates whether to perform filtering processing on the second part of the attribute information of the reconstructed slice. The color component is filtered, and the first filter identification information of the third color component indicates whether to perform filtering on the third color component of the attribute information of the reconstructed slice.
也就是说,第一滤波标识信息可以为数组形式,具体为1×3的数组,其是由第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息组成的。例如,第一滤波标识信息可以用[y u v]表示,其中,y表示第一颜色分量的第一滤波标识信息,u表示第二颜色分量的第一滤波标识信息,v表示第三颜色分量的第一滤波标识信息。That is to say, the first filter identification information may be in the form of an array, specifically a 1×3 array, which is composed of the first filter identification information of the first color component, the first filter identification information of the second color component and the third color It consists of the first filter identification information of the component. For example, the first filter identification information can be represented by [y u v], where y represents the first filter identification information of the first color component, u represents the first filter identification information of the second color component, and v represents the third color component The first filter identification information.
由此可见,由于第一滤波标识信息包括有每一个颜色分量对应的第一滤波标识信息,因此,第一滤波标识信息不仅可以用于是否对重建切片是否进行滤波处理进行确定,还可以用于确定出具体对哪一个或者哪几个颜色分量进行滤波处理。It can be seen that since the first filter identification information includes the first filter identification information corresponding to each color component, the first filter identification information can not only be used to determine whether to perform filtering processing on the reconstructed slice, but also can be used to determine whether to filter the reconstructed slice. Determine which color component or color components are to be filtered.
在一种具体的实施例中,若第一颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的第一颜色分量进行滤波处理;若第一颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的第一颜色分量进行滤波处理;或者,若第二颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的第二颜色分量进行滤波处理;若第二颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的第二颜色分量进行滤波处理;或者,若第三颜色分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的第三颜色分量进行滤波处理;若第三颜色分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的第三颜色分量进行滤波处理。也就是说,在本申请实施例中,如果某颜色分量对应的第一滤波标识信息为第一值,那么可以指示对该颜色分量进行滤波处理;如果某颜色分量对应的第一滤波标识信息为第二值,那么可以指示不对该颜色分量进行滤波处理。In a specific embodiment, if the value of the first filter identification information of the first color component is the first value, then it is determined to perform filtering processing on the first color component of the attribute information of the reconstructed slice; if the first color component The value of the first filter identification information of is the second value, then it is determined not to perform filtering processing on the first color component of the attribute information of the reconstructed slice; or, if the value of the first filter identification information of the second color component is the first value, it is determined that the second color component of the attribute information of the reconstructed slice is filtered; if the value of the first filter identification information of the second color component is the second value, it is determined that the second color of the attribute information of the reconstructed slice is not filtered. The component is subjected to filtering processing; or, if the value of the first filter identification information of the third color component is the first value, it is determined to perform filtering processing on the third color component of the attribute information of the reconstructed slice; if the third color component of the third color component is filtered. If the value of the filter identification information is the second value, it is determined that the third color component of the attribute information of the reconstructed slice will not be filtered. That is to say, in the embodiment of the present application, if the first filter identification information corresponding to a certain color component is the first value, then the color component can be instructed to perform filtering processing; if the first filter identification information corresponding to a certain color component is The second value can indicate that the color component is not filtered.
进一步地,在一些实施例中,该方法还可以包括:Further, in some embodiments, the method may also include:
若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定第一滤波标识信息指示对重建切片进行滤波处理;If at least one of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the first filter identification information indicates the pair Reconstruct slices for filtering;
若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中全部为第二值,则确定第一滤波标识信息指示不对重建切片进行滤波处理。If all of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component are second values, it is determined that the first filter identification information indicates that reconstruction is not performed. Slices are filtered.
也就是说,在本申请实施例中,如果这些颜色分量对应的第一滤波标识信息均为第二值,那么可以指示对这些颜色分量均不进行滤波处理,即可确定第一滤波标识信息指示不对重建切片进行滤波处理;相应地,如果这些颜色分量的第一滤波标识信息中至少一个为第一值,那么可以指示对至少一个颜色分量进行滤波处理,即可确定第一滤波标识信息指示对重建切片进行滤波处理。That is to say, in the embodiment of the present application, if the first filter identification information corresponding to these color components are all the second value, then it can be instructed not to perform filtering processing on these color components, and it can be determined that the first filter identification information indication The reconstructed slice is not filtered; accordingly, if at least one of the first filter identification information of these color components is a first value, then it can be indicated that at least one color component is filtered, and it can be determined that the first filter identification information indicates that the Reconstruct slices for filtering.
另外,在本申请实施例中,第一值和第二值不同,而且第一值和第二值可以是参数形式,也可以是数字形式。具体地,这些颜色分量对应的标识信息可以是写入在概述(profile)中的参数,也可以是一个标志(flag)的取值,这里对此不作具体限定。In addition, in the embodiment of the present application, the first value and the second value are different, and the first value and the second value may be in parameter form or in numerical form. Specifically, the identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
示例性地,对于第一值和第二值而言,第一值可以设置为1,第二值可以设置为0;或者,第一值还可以设置为true,第二值还可以设置为false;但是这里并不作具体限定。For example, for the first value and the second value, the first value can be set to 1, and the second value can be set to 0; or, the first value can also be set to true, and the second value can also be set to false. ; But there is no specific limit here.
进一步地,在本申请实施例中,解码器在解码码流,确定第一滤波标识信息之后,如果第一滤波标识信息指示对重建切片进行滤波处理,那么可以进一步解码获得用于进行滤波处理的第一滤波系数。Further, in this embodiment of the present application, after the decoder decodes the code stream and determines the first filtering identification information, if the first filtering identification information indicates filtering of the reconstructed slice, it can further decode to obtain the filtering process. The first filter coefficient.
需要说明的是,滤波器可以是自适应滤波器,例如可以是基于神经网络的滤波器、维纳滤波器等等,这里不作具体限定。以维纳滤波器为例,本申请实施例所述的第一滤波系数可以用于维纳滤波,即第一滤波系数为维纳滤波处理的系数。It should be noted that the filter may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here. Taking the Wiener filter as an example, the first filter coefficients described in the embodiments of the present application can be used for Wiener filtering, that is, the first filter coefficients are coefficients processed by Wiener filtering.
在这里,维纳滤波器(Wiener filter)是一种以最小化均方误差为最优准则的线性滤波器。在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。维纳滤波器又被称为最小二乘滤波器或最小平方滤波器。Here, the Wiener filter is a linear filter with minimization of the mean square error as the optimal criterion. Under certain constraints, the square of the difference between its output and a given function (often called the expected output) is minimized, and through mathematical operations it can eventually become a problem of solving the Toblitz equation. Wiener filter is also called least squares filter or least squares filter.
可以理解的是,在本申请实施例中,第一滤波系数可以是指待处理分量对应的第一滤波系数。相应地,在一些实施例中,所述若第一滤波标识信息指示对重建切片进行滤波处理,则解析码流,确定第一滤波系数,可以包括:若待处理分量的第一滤波标识信息的取值为第一值,则解析码流,确定待处理分量对应的第一滤波系数向量。It can be understood that in this embodiment of the present application, the first filter coefficient may refer to the first filter coefficient corresponding to the component to be processed. Correspondingly, in some embodiments, if the first filter identification information indicates filtering of the reconstructed slice, parsing the code stream and determining the first filter coefficient may include: if the first filter identification information of the component to be processed is If the value is the first value, then the code stream is parsed to determine the first filter coefficient vector corresponding to the component to be processed.
需要说明的是,在待处理分量为颜色分量的情况下,这里的颜色分量包括第一颜色分量、第二颜色分量和第三颜色分量;那么相应地,第一滤波系数可以是由第一颜色分量对应的第一滤波系数向量、第二颜色分量对应的第一滤波系数向量和第三颜色分量对应的第一滤波系数向量。在一种具体的实施例中,若第一颜色分量的第一滤波标识信息的取值为第一值,则解析码流,确定第一颜色分量对应的第一滤波系数向量;或者,若第二颜色分量的第一滤波标识信息的取值为第一值,则解析码流,确定第二颜色分量对应的第一滤波系数向量;或者,若第三颜色分量的第一滤波标识信息的取值为第一值,则解析码流,确定第三颜色分量对应的第一滤波系数向量。It should be noted that when the component to be processed is a color component, the color component here includes a first color component, a second color component and a third color component; accordingly, the first filter coefficient may be the first color component. The first filter coefficient vector corresponding to the component, the first filter coefficient vector corresponding to the second color component, and the first filter coefficient vector corresponding to the third color component. In a specific embodiment, if the value of the first filter identification information of the first color component is the first value, the code stream is parsed to determine the first filter coefficient vector corresponding to the first color component; or if If the value of the first filter identification information of the second color component is the first value, then the code stream is parsed to determine the first filter coefficient vector corresponding to the second color component; or if the value of the first filter identification information of the third color component is If the value is the first value, the code stream is parsed to determine the first filter coefficient vector corresponding to the third color component.
进一步地,在一些实施例中,该方法还可以包括:若第一滤波标识信息指示不对重建切片进行滤波处理,则不执行解析码流,确定第一滤波系数的步骤。Further, in some embodiments, the method may further include: if the first filter identification information indicates that the reconstructed slice is not to be filtered, the step of parsing the code stream and determining the first filter coefficient is not performed.
也就是说,在本申请实施例中,在第一滤波标识信息指示对重建切片进行滤波处理时,解码器可以解码直接获得第一滤波系数。但是解码器在解码确定第一滤波标识信息之后,如果第一滤波标识信息指示不对重建切片的某一颜色分量进行滤波处理,那么解码器便不需要再解码获取该颜色分量对应的滤波系数向量。That is to say, in this embodiment of the present application, when the first filter identification information indicates that the reconstructed slice is filtered, the decoder can decode to directly obtain the first filter coefficient. However, after the decoder decodes and determines the first filter identification information, if the first filter identification information indicates that a certain color component of the reconstructed slice is not to be filtered, the decoder does not need to decode to obtain the filter coefficient vector corresponding to the color component.
这样,在确定第一滤波系数之后,在一些实施例中,所述根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片,可以包括:In this way, after determining the first filter coefficient, in some embodiments, filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice may include:
确定重建切片中第一点对应的K 1个目标点; Determine the K 1 target points corresponding to the first point in the reconstructed slice;
根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片。 Filter the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient to determine the filtered slice.
需要说明的是,第一点表示重建切片中的点,第一点对应的K 1个目标点包括第一点以及重建切片中与第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。其中,这里的(K 1-1)个近邻点具体是指与第一点几何距离最接近的(K 1-1)个近邻点。 It should be noted that the first point represents a point in the reconstructed slice. The K 1 target points corresponding to the first point include the first point and the (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice. K 1 is an integer greater than 1. Among them, the (K 1 -1) neighbor points here specifically refer to the (K 1 -1) neighbor points with the closest geometric distance to the first point.
还需要说明的是,对于重建切片的滤波处理,首先需要确定重建切片中第一点对应的K个目标点。具体地,在一些实施例中,所述确定重建切片中第一点对应的K 1个目标点,可以包括: It should also be noted that for the filtering process of the reconstructed slice, it is first necessary to determine the K target points corresponding to the first point in the reconstructed slice. Specifically, in some embodiments, determining the K 1 target points corresponding to the first point in the reconstructed slice may include:
基于重建切片中的第一点,利用K近邻搜索方式在重建切片中搜索预设数量个候选点;Based on the first point in the reconstructed slice, use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice;
分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值; Calculate the distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 1 -1) distance values from the obtained preset number of distance values;
根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将第一点和(K 1-1)个近邻点确定为第一点对应的K 1个目标点。 Determine (K 1 -1) neighbor points based on the candidate points corresponding to (K 1 -1) distance values, and determine the first point and (K 1 -1) neighbor points as K 1 targets corresponding to the first point point.
需要说明的是,以第一点为例,可以利用K近邻搜索方式在重建切片中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 1-1)个近邻点;也就是说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 1-1)个近邻点,总共组成了重建切片中第一点对应的K 1个目标点。 It should be noted that, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice, calculate the distance value between the first point and these candidate points, and then select the candidate points from these candidate points. Select the (K 1 -1) neighbor points closest to the first point; that is, in addition to the first point itself, it also includes the (K 1 -1) neighbors closest to the first point in geometric distance. points, a total of K 1 target points corresponding to the first point in the reconstructed slice.
进一步地,在一些实施例中,所述根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片,可以包括: Further, in some embodiments, filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice may include:
根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定重建切片中第一点的属性信息的滤波值; Perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed slice;
在确定出重建切片中至少一个点的属性信息的滤波值之后,根据重建切片中至少一个点的属性信息的滤波值确定滤波后切片。After determining the filter value of the attribute information of at least one point in the reconstructed slice, the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
需要说明的是,在本申请实施例中,属性信息以颜色分量为例,可以对重建切片的各个颜色分量单 独滤波,例如,对于YUV空间的颜色信息,可以分别确定Y分量对应的第一滤波系数向量,U分量对应的第一滤波系数向量,V分量对应的第一滤波系数向量。这些第一滤波系数向量共同组成了重建切片的第一滤波系数。另外,由于第一滤波系数可以是由K 1阶滤波器确定的;这样,解码端器在进行滤波时,可以是针对重建切片中的每个点进行KNN搜索以确定出该点对应的K 1个目标点,然后利用该点的第一滤波系数进行滤波即可。 It should be noted that in the embodiment of the present application, the attribute information takes the color component as an example. Each color component of the reconstructed slice can be filtered separately. For example, for the color information of the YUV space, the first filter corresponding to the Y component can be determined respectively. Coefficient vector, the first filter coefficient vector corresponding to the U component, and the first filter coefficient vector corresponding to the V component. These first filter coefficient vectors together constitute the first filter coefficients of the reconstructed slice. In addition, since the first filter coefficient can be determined by the K 1- order filter; in this way, when the decoder performs filtering, it can perform a KNN search for each point in the reconstructed slice to determine the K 1 corresponding to the point. A target point, and then use the first filter coefficient of the point to filter.
也就是说,以属性信息中的颜色分量为例,在根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理时,可以包括:根据颜色分量对应的第一滤波系数向量对重建切片中第一点对应的K 1个目标点进行滤波处理,得到重建切片中第一点的颜色分量的滤波值。这样,在确定出重建切片中至少一个点的颜色分量的滤波值之后,可以根据重建切片中这至少一个点的颜色分量的滤波值来确定滤波后切片。具体而言,可以根据颜色分量对应的滤波系数向量和第二属性参数,确定重建切片中每一个点的颜色分量的滤波值;然后基于重建切片中每一个点的颜色分量的滤波值,得到滤波后切片。 That is to say, taking the color component in the attribute information as an example, when filtering the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, it may include: first filtering according to the color component The coefficient vector performs filtering on the K 1 target points corresponding to the first point in the reconstructed slice, and obtains the filtered value of the color component of the first point in the reconstructed slice. In this way, after determining the filter value of the color component of at least one point in the reconstructed slice, the filtered slice can be determined based on the filter value of the color component of the at least one point in the reconstructed slice. Specifically, the filter value of the color component of each point in the reconstructed slice can be determined based on the filter coefficient vector and the second attribute parameter corresponding to the color component; and then based on the filter value of the color component of each point in the reconstructed slice, the filter value is obtained Later sliced.
简单来说,在本申请实施例中,在利用第一滤波系数对重建切片进行滤波处理时,可以先根据维纳滤波器的阶数和重建切片中点对应的K 1个目标点的属性信息的重建值,确定属性信息对应的第二属性参数;然后可以根据第一滤波系数和第二属性参数,确定属性信息的滤波值;最终便可以基于属性信息的滤波值,得到滤波后切片。 To put it simply, in the embodiment of the present application, when using the first filter coefficient to filter the reconstructed slice, you can first use the order of the Wiener filter and the attribute information of K 1 target points corresponding to the midpoint of the reconstructed slice. The reconstructed value of the attribute information is determined to determine the second attribute parameter corresponding to the attribute information; then the filter value of the attribute information can be determined based on the first filter coefficient and the second attribute parameter; finally, the filtered slice can be obtained based on the filter value of the attribute information.
需要说明的是,在本申请实施例中,如果属性信息为YUV空间的颜色分量,那么可以先基于颜色分量(如Y分量,U分量,V分量)的重建值,结合维纳滤波器的阶数,确定出第二属性参数(用P(n,k)表示),即第二属性参数表示重建切片中点对应的K 1个目标点的颜色分量的重建值。 It should be noted that in the embodiment of the present application, if the attribute information is the color component of the YUV space, then it can be first based on the reconstructed value of the color component (such as Y component, U component, V component), combined with the order of the Wiener filter number to determine the second attribute parameter (represented by P(n,k)), that is, the second attribute parameter represents the reconstructed value of the color component of K 1 target points corresponding to the midpoint of the reconstructed slice.
还需要说明的是,对于维纳滤波器而言,滤波器类型可以用于指示滤波器阶数,和/或滤波器形状,和/或滤波器维数。其中,滤波器形状包括菱形、矩形等,滤波器维数包括一维、二维乃至更多维等。也就是说,在本申请实施例中,不同的滤波器类型可以对应不同阶数的维纳滤波器,例如,阶数的取值可以为12、32、128的维纳滤波器;不同的类型还可以对应不同维数的滤波器,例如,一维滤波器、二维滤波器等,这里并不作具体限定。也就是说,如果需要确定一个16阶的滤波器,那么可以用16个点来确定16阶非对称滤波器、或者8阶一维对称滤波器、或者其他数量(例如更加特殊的二维、三维滤波器等)的滤波器等等,这里并不对滤波器作具体限定。It should also be noted that for Wiener filters, the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension. Among them, filter shapes include diamonds, rectangles, etc., and filter dimensions include one-dimensional, two-dimensional or even more dimensions. That is to say, in the embodiment of the present application, different filter types can correspond to Wiener filters of different orders. For example, the order values can be 12, 32, and 128 Wiener filters; different types It can also correspond to filters of different dimensions, such as one-dimensional filters, two-dimensional filters, etc., which are not specifically limited here. That is to say, if you need to determine a 16th-order filter, you can use 16 points to determine a 16th-order asymmetric filter, or an 8th-order one-dimensional symmetric filter, or other quantities (such as more special two-dimensional, three-dimensional filter, etc.), the filter is not specifically limited here.
进一步地,在本申请实施例中,对于某一个颜色分量进行滤波值计算,可以利用该颜色分量的第二属性参数以及该颜色分量对应的第一滤波系数向量,确定出该颜色分量的滤波值。在遍历完全部颜色分量,获得每一个颜色分量的滤波值之后,便可得到滤波后切片。Further, in the embodiment of the present application, when calculating the filter value for a certain color component, the second attribute parameter of the color component and the first filter coefficient vector corresponding to the color component can be used to determine the filter value of the color component. . After traversing all the color components and obtaining the filter value of each color component, the filtered slice can be obtained.
还可以理解的是,在本申请实施例中,在使用维纳滤波器对重建切片进行滤波处理时,可以将重建切片和第一滤波系数同时输入至维纳滤波器中,即维纳滤波器的输入为第一滤波系数和重建切片,最终便可以基于第一滤波系数完成对重建切片的滤波处理,获得对应的滤波后切片。It can also be understood that in the embodiment of the present application, when using the Wiener filter to filter the reconstructed slice, the reconstructed slice and the first filter coefficient can be input into the Wiener filter at the same time, that is, the Wiener filter The inputs are the first filter coefficient and the reconstructed slice. Finally, the filtering process of the reconstructed slice can be completed based on the first filter coefficient, and the corresponding filtered slice can be obtained.
也就是说,在本申请实施例中,第一滤波系数是基于初始切片和重建切片获得的,因此,将第一滤波系数作用于重建切片上,可以最大限度恢复初始切片。示例性地,在本申请实施例中,以点云序列中的YUV空间的颜色分量为例,假设滤波器的阶数为K 1,点云序列为n,使用矩阵P(n,k)表示重建切片中所有点对应的K 1个目标点在相同颜色分量(如Y分量)下的重建值,即P(n,k)为由重建切片中所有点对应的K 1个目标点的Y分量的重建值所构成的第二属性参数。这样,基于上述式(13),将Y分量下的第一滤波系数向量H(k)作用在重建切片也就是说第二属性参数P(n,k)上,可以获得Y分量下的属性信息的滤波值R(n)。接着,可以按照上述方法遍历U分量和V分量,最终确定出U分量下的滤波值和V分量下的滤波值,进而便可以利用全部颜色分量下的滤波值来确定出重建切片对应的滤波后切片。 That is to say, in this embodiment of the present application, the first filter coefficient is obtained based on the initial slice and the reconstructed slice. Therefore, applying the first filter coefficient to the reconstructed slice can restore the initial slice to the maximum extent. Illustratively, in the embodiment of the present application, taking the color component of the YUV space in the point cloud sequence as an example, assuming that the order of the filter is K 1 and the point cloud sequence is n, represented by the matrix P(n,k) The reconstructed value of K 1 target points corresponding to all points in the reconstructed slice under the same color component (such as Y component), that is, P(n,k) is the Y component of K 1 target points corresponding to all points in the reconstructed slice. The second attribute parameter composed of the reconstructed value. In this way, based on the above equation (13), the first filter coefficient vector H(k) under the Y component is applied to the reconstructed slice, that is, the second attribute parameter P(n,k), and the attribute information under the Y component can be obtained The filter value R(n). Then, you can traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the filtered value corresponding to the reconstructed slice. slice.
需要说明的是,在本申请实施例中,解码器在确定重建切片对应的滤波后切片之后,可以使用滤波后切片覆盖重建切片。It should be noted that in this embodiment of the present application, after the decoder determines the filtered slice corresponding to the reconstructed slice, the decoder can use the filtered slice to cover the reconstructed slice.
还需要说明的是,在本申请实施例中,如果第一滤波标识信息指示不对重建切片进行滤波处理,那么不执行解析码流,确定第一滤波系数的步骤,这时候可以将重建切片直接确定为滤波后切片。在一些实施例中,该方法还可以包括:在确定出重建点云的至少一个滤波后切片之后,对至少一个滤波后切片进行聚合处理,确定滤波后点云。It should also be noted that in this embodiment of the present application, if the first filtering identification information indicates that the reconstructed slice is not to be filtered, then the step of parsing the code stream and determining the first filter coefficient is not performed. At this time, the reconstructed slice can be directly determined. Slicing after filtering. In some embodiments, the method may further include: after determining at least one filtered slice of the reconstructed point cloud, performing aggregation processing on the at least one filtered slice to determine the filtered point cloud.
这样,如果初始点云划分有多个slice,那么解码器通过解析码流对在每个slice进行维纳滤波操作之后,具体是如步骤S701~S703所示的操作;直至这多个slice全部操作完成,可以得到多个滤波后切片将这些滤波后切片聚合到一起,即可获得重建点云对应的滤波后点云。In this way, if there are multiple slices in the initial point cloud division, the decoder performs a Wiener filtering operation on each slice by parsing the code stream, specifically the operations shown in steps S701 to S703; until all the multiple slices are operated Once completed, multiple filtered slices can be obtained. By aggregating these filtered slices together, the filtered point cloud corresponding to the reconstructed point cloud can be obtained.
还可以理解地,如果重建点云不满足预设条件,那么可以对整个重建点云进行滤波处理。参见图8,其示出了本申请实施例提供的一种解码方法的流程示意图二。如图8所示,该方法还可以包括:It can also be understood that if the reconstructed point cloud does not meet the preset conditions, then the entire reconstructed point cloud can be filtered. Refer to Figure 8, which shows a schematic flowchart 2 of a decoding method provided by an embodiment of the present application. As shown in Figure 8, the method may also include:
S801:解析码流,确定第二滤波标识信息。S801: Analyze the code stream and determine the second filter identification information.
S802:若第二滤波标识信息指示对重建点云进行滤波处理,则解析码流,确定第二滤波系数。S802: If the second filtering identification information indicates filtering the reconstructed point cloud, parse the code stream and determine the second filtering coefficient.
S803:根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云。S803: Filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
需要说明的是,如果重建点云不满足预设条件,那么意味着需要针对整个重建点云进行滤波处理。相应地,对于S801来说,所述解析码流,确定第二滤波标识信息,可以包括:在重建点云不满足预设条件时,解析码流,确定第二滤波标识信息。It should be noted that if the reconstructed point cloud does not meet the preset conditions, it means that the entire reconstructed point cloud needs to be filtered. Correspondingly, for S801, analyzing the code stream and determining the second filter identification information may include: when the reconstructed point cloud does not meet the preset conditions, parsing the code stream and determining the second filter identification information.
在本申请实施例中,确定重建点云的参数信息,可以是确定重建点云中点的数量。需要说明的是,重建点云的参数信息(例如重建点云中点的数量)可以是通过解析码流获得的,也可以是根据已解码的几何信息确定的,这里不作任何限定。这样,本申请实施例可以根据重建点云中点的数量来确定重建点云是否满足预设条件,进而确定是针对整个重建点云进行滤波处理,还是针对划分的重建切片分别进行滤波处理。In this embodiment of the present application, determining the parameter information of the reconstructed point cloud may be determining the number of points in the reconstructed point cloud. It should be noted that the parameter information of the reconstructed point cloud (such as the number of points in the reconstructed point cloud) can be obtained by parsing the code stream, or can be determined based on the decoded geometric information. There is no limitation here. In this way, embodiments of the present application can determine whether the reconstructed point cloud meets the preset conditions based on the number of points in the reconstructed point cloud, and then determine whether to perform filtering processing on the entire reconstructed point cloud or on divided reconstruction slices.
在本申请实施例中,在解析码流之后,如果获得的是第二滤波标识信息,那么说明是针对整个重建点云进行滤波处理。其中,对于第二滤波标识信息而言,第二滤波标识信息也可以包括属性信息的待处理分量的滤波标识信息。具体地,在一些实施例中,对于S801来说,所述解析码流,确定第二滤波标识信息,可以包括:解析码流,确定待处理分量的第二滤波标识信息;其中,待处理分量的第二滤波标识信息指示是否对重建点云的属性信息的待处理分量进行滤波处理。In this embodiment of the present application, after parsing the code stream, if the second filter identification information is obtained, it means that the filtering process is performed on the entire reconstructed point cloud. Wherein, for the second filter identification information, the second filter identification information may also include filter identification information of the component to be processed of the attribute information. Specifically, in some embodiments, for S801, parsing the code stream and determining the second filter identification information may include: parsing the code stream and determining the second filter identification information of the component to be processed; wherein, the component to be processed The second filtering identification information indicates whether to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud.
进一步地,对于解析码流,确定第二滤波标识信息来说,在一些实施例中,还可以包括:若待处理分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的待处理分量进行滤波处理;若待处理分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的待处理分量进行滤波处理。Further, for parsing the code stream and determining the second filter identification information, in some embodiments, it may also include: if the value of the second filter identification information of the component to be processed is a third value, determining the reconstruction point The to-be-processed component of the attribute information of the cloud is filtered; if the value of the second filter identification information of the to-be-processed component is the fourth value, it is determined that the to-be-processed component of the attribute information of the reconstructed point cloud is not to be filtered.
还需要说明的是,在待处理分量为颜色分量的情况下,每一个颜色分量对应的第二滤波标识信息可以用于指示是否对重建点云的该颜色分量进行滤波处理。因此,在一些实施例中,所述解析码流,确定第二滤波标识信息,可以包括:解析码流,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息。It should also be noted that when the component to be processed is a color component, the second filter identification information corresponding to each color component can be used to indicate whether to perform filtering processing on the color component of the reconstructed point cloud. Therefore, in some embodiments, parsing the code stream and determining the second filter identification information may include: parsing the code stream and determining the second filter identification information of the first color component and the second filter identification information of the second color component. and second filter identification information of the third color component.
其中,第一颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第一颜色分量进行滤波处理,第二颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第二颜色分量进行滤波处理,第三颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第三颜色分量进行滤波处理。Wherein, the second filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud, and the second filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed point cloud. The second color component is filtered, and the second filter identification information of the third color component indicates whether to perform filtering on the third color component of the attribute information of the reconstructed point cloud.
也就是说,第二滤波标识信息可以为数组形式,具体为1×3的数组,其是由第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息组成的。例如,第二滤波标识信息可以用[Y U V]表示,其中,Y表示第一颜色分量的第二滤波标识信息,U表示第二颜色分量的第二滤波标识信息,V表示第三颜色分量的第二滤波标识信息。That is to say, the second filter identification information may be in the form of an array, specifically a 1×3 array, which is composed of the second filter identification information of the first color component, the second filter identification information of the second color component and the third color It consists of the second filter identification information of the component. For example, the second filter identification information can be represented by [Y U V], where Y represents the second filter identification information of the first color component, U represents the second filter identification information of the second color component, and V represents the third color component The second filter identification information.
由此可见,由于第二滤波标识信息包括有每一个颜色分量对应的第二滤波标识信息,因此,第二滤波标识信息不仅可以用于是否对重建点云是否进行滤波处理进行确定,还可以用于确定出具体对哪一个或者哪几个颜色分量进行滤波处理。It can be seen that since the second filter identification information includes the second filter identification information corresponding to each color component, the second filter identification information can not only be used to determine whether to filter the reconstructed point cloud, but also can be used to determine whether to filter the reconstructed point cloud. It is used to determine which color component or color components are to be filtered.
在一种具体的实施例中,若第一颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的第一颜色分量进行滤波处理;若第一颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的第一颜色分量进行滤波处理;或者,若第二颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的第二颜色分量进行滤波处理;若第二颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的第二颜色分量进行滤波处理;或者,若第三颜色分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的第三颜色分量进行滤波处理;若第三颜色分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的第三颜色分量进行滤波处理。也就是说,在本申请实施例中,如果某颜色分量对应的第二滤波标识信息为第三值,那么可以指示对该颜色分量进行滤波处理;如果某颜色分量对应的第二滤波标识信息为第四值,那么可以指示不对该颜色分量进行滤波处理。In a specific embodiment, if the value of the second filter identification information of the first color component is the third value, it is determined to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud; if the first color If the value of the second filter identification information of the component is the fourth value, it is determined not to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud; or, if the value of the second filter identification information of the second color component is If the third value is the third value, it is determined that the second color component of the attribute information of the reconstructed point cloud is filtered; if the value of the second filter identification information of the second color component is the fourth value, it is determined that the attribute information of the reconstructed point cloud is not filtered. The second color component of the reconstructed point cloud is filtered; or, if the value of the second filter identification information of the third color component is the third value, it is determined that the third color component of the attribute information of the reconstructed point cloud is filtered; if If the value of the second filter identification information of the three color components is the fourth value, it is determined that the third color component of the attribute information of the reconstructed point cloud will not be filtered. That is to say, in the embodiment of the present application, if the second filter identification information corresponding to a certain color component is the third value, then the color component can be instructed to perform filtering processing; if the second filter identification information corresponding to a certain color component is The fourth value can indicate that the color component is not filtered.
进一步地,在一些实施例中,该方法还可以包括:Further, in some embodiments, the method may also include:
若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定第二滤波标识信息指示对重建点云进行滤波处理;If at least one of the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the second filter identification information indicates the pair Reconstruct the point cloud for filtering;
若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中全部为第四值,则确定第二滤波标识信息指示不对重建点云进行滤波处理。If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, it is determined that the second filter identification information indicates that reconstruction is not performed. The point cloud is filtered.
也就是说,在本申请实施例中,如果这些颜色分量对应的第二滤波标识信息均为第四值,那么可以指示对这些颜色分量均不进行滤波处理,即可确定第二滤波标识信息指示不对重建点云进行滤波处理;相应地,如果这些颜色分量的第二滤波标识信息中至少一个为第三值,那么可以指示对至少一个颜色分量进行滤波处理,即可确定第二滤波标识信息指示对重建点云进行滤波处理。That is to say, in the embodiment of the present application, if the second filter identification information corresponding to these color components are all the fourth value, then it can be instructed that these color components are not filtered, and the second filter identification information indication can be determined. The reconstructed point cloud is not filtered; accordingly, if at least one of the second filter identification information of these color components is the third value, then it can be indicated that at least one color component is filtered, and the second filter identification information indication can be determined Filter the reconstructed point cloud.
另外,在本申请实施例中,第三值和第四值不同,而且第三值和第四值可以是参数形式,也可以是 数字形式。具体地,这些颜色分量对应的第二滤波标识信息可以是写入在概述(profile)中的参数,也可以是一个标志(flag)的取值,这里对此不作具体限定。In addition, in the embodiment of the present application, the third value and the fourth value are different, and the third value and the fourth value may be in parameter form or in numerical form. Specifically, the second filter identification information corresponding to these color components may be parameters written in the profile, or may be the value of a flag, which is not specifically limited here.
需要说明的是,在解析码流之后,如果获得第一滤波标识信息,那么说明是针对划分的重建切片分别进行滤波处理;如果获得第二滤波标识信息,那么说明是针对整个重建点云进行滤波处理。其中,第一滤波标识信息指示是否对重建切片进行滤波处理,第二滤波标识信息指示是否对重建点云进行滤波处理,而且第一滤波标识信息和第二滤波标识信息存在不同。示例性地,第一滤波标识信息可以为[0 1 1],第二滤波标识信息可以为[0 2 2];如果解码获得[0 1 1],那么说明是需要对重建切片中的第二颜色分量和第三颜色分量进行滤波处理;如果解码获得[0 2 2],那么说明是需要对重建点云中的第二颜色分量和第三颜色分量进行滤波处理。It should be noted that after parsing the code stream, if the first filter identification information is obtained, then filtering is performed on the divided reconstructed slices; if the second filter identification information is obtained, then filtering is performed on the entire reconstructed point cloud. deal with. The first filtering identification information indicates whether to perform filtering processing on the reconstructed slice, and the second filtering identification information indicates whether to perform filtering processing on the reconstructed point cloud, and the first filtering identification information and the second filtering identification information are different. For example, the first filter identification information can be [0 1 1], and the second filter identification information can be [0 2 2]; if decoding obtains [0 1 1], then it means that the second filter in the reconstructed slice needs to be The color component and the third color component are filtered; if the decoding obtains [0 2 2], then it means that the second color component and the third color component in the reconstructed point cloud need to be filtered.
进一步地,在本申请实施例中,解码器在解码码流,确定第二滤波标识信息之后,如果第二滤波标识信息指示对重建点云进行滤波处理,那么可以进一步解码获得用于进行滤波处理的第二滤波系数。Further, in this embodiment of the present application, after the decoder decodes the code stream and determines the second filtering identification information, if the second filtering identification information indicates filtering of the reconstructed point cloud, it can further decode to obtain the filtering information for filtering. the second filter coefficient.
需要说明的是,滤波器可以是自适应滤波器,例如可以是基于神经网络的滤波器、维纳滤波器等等,这里不作具体限定。以维纳滤波器为例,本申请实施例所述的第二滤波系数可以用于维纳滤波,即第二滤波系数为维纳滤波处理的系数。It should be noted that the filter may be an adaptive filter, for example, it may be a filter based on a neural network, a Wiener filter, etc., which is not specifically limited here. Taking the Wiener filter as an example, the second filter coefficients described in the embodiments of the present application can be used for Wiener filtering, that is, the second filter coefficients are coefficients processed by Wiener filtering.
还需要说明的是,第二滤波系数可以是指待处理分量对应的第二滤波系数。相应地,在一些实施例中,所述若第二滤波标识信息指示对重建点云进行滤波处理,则解析码流,确定第二滤波系数,可以包括:若待处理分量的第二滤波标识信息的取值为第三值,则解析码流,确定待处理分量对应的第二滤波系数向量。It should also be noted that the second filter coefficient may refer to the second filter coefficient corresponding to the component to be processed. Correspondingly, in some embodiments, if the second filter identification information indicates filtering of the reconstructed point cloud, parsing the code stream and determining the second filter coefficient may include: if the second filter identification information of the component to be processed is the third value, then analyze the code stream and determine the second filter coefficient vector corresponding to the component to be processed.
需要说明的是,在待处理分量为颜色分量的情况下,这里的颜色分量包括第一颜色分量、第二颜色分量和第三颜色分量;那么相应地,第二滤波系数可以是由第一颜色分量对应的第二滤波系数向量、第二颜色分量对应的第二滤波系数向量和第三颜色分量对应的第二滤波系数向量。在一种具体的实施例中,若第一颜色分量的第二滤波标识信息的取值为第三值,则解析码流,确定第一颜色分量对应的第二滤波系数向量;或者,若第二颜色分量的第二滤波标识信息的取值为第三值,则解析码流,确定第二颜色分量对应的第二滤波系数向量;或者,若第三颜色分量的第二滤波标识信息的取值为第三值,则解析码流,确定第三颜色分量对应的第二滤波系数向量。It should be noted that when the component to be processed is a color component, the color component here includes a first color component, a second color component and a third color component; then correspondingly, the second filter coefficient may be the first color component. The second filter coefficient vector corresponding to the component, the second filter coefficient vector corresponding to the second color component, and the second filter coefficient vector corresponding to the third color component. In a specific embodiment, if the value of the second filter identification information of the first color component is the third value, the code stream is parsed to determine the second filter coefficient vector corresponding to the first color component; or if The value of the second filter identification information of the second color component is the third value, then the code stream is analyzed to determine the second filter coefficient vector corresponding to the second color component; or, if the value of the second filter identification information of the third color component is If the value is the third value, the code stream is parsed to determine the second filter coefficient vector corresponding to the third color component.
进一步地,在一些实施例中,该方法还可以包括:若第二滤波标识信息指示不对重建点云进行滤波处理,则不执行解析码流,确定第二滤波系数的步骤。也就是说,在本申请实施例中,在第二滤波标识信息指示对重建点云进行滤波处理时,解码器可以解码直接获得第二滤波系数。但是解码器在解码确定第二滤波标识信息之后,如果第二滤波标识信息指示不对重建点云的某一颜色分量进行滤波处理,那么解码器便不需要再解码获取该颜色分量对应的滤波系数向量。Further, in some embodiments, the method may further include: if the second filtering identification information indicates that the reconstructed point cloud is not to be filtered, the step of parsing the code stream and determining the second filter coefficient is not performed. That is to say, in this embodiment of the present application, when the second filter identification information indicates that the reconstructed point cloud is filtered, the decoder can decode to directly obtain the second filter coefficient. However, after the decoder decodes and determines the second filter identification information, if the second filter identification information indicates that a certain color component of the reconstructed point cloud is not to be filtered, then the decoder does not need to decode to obtain the filter coefficient vector corresponding to the color component. .
这样,在确定第二滤波系数之后,在一些实施例中,所述根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云,可以包括:In this way, after determining the second filter coefficient, in some embodiments, filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud may include:
确定重建点云中第一点对应的K 2个目标点; Determine the K 2 target points corresponding to the first point in the reconstructed point cloud;
根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云。 Filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient to determine the filtered point cloud.
需要说明的是,第一点表示重建点云中的点,第一点对应的K 2个目标点包括第一点以及重建点云中与第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。其中,这里的(K 2-1)个近邻点具体是指与第一点几何距离最接近的(K 2-1)个近邻点。 It should be noted that the first point represents a point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the (K 2 -1) neighbors adjacent to the first point in the reconstructed point cloud. point, K 2 is an integer greater than 1. Among them, the (K 2 -1) neighboring points here specifically refer to the (K 2 -1) neighboring points with the closest geometric distance to the first point.
在一种具体的实施例中,所述确定重建点云中第一点对应的K 2个目标点,可以包括: In a specific embodiment, determining the K 2 target points corresponding to the first point in the reconstructed point cloud may include:
基于重建点云中的第一点,利用K近邻搜索方式在重建点云中搜索预设数量个候选点;Based on the first point in the reconstructed point cloud, use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud;
分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值; Calculate the distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 2 -1) distance values from the obtained preset number of distance values;
根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将第一点和(K 2-1)个近邻点确定为第一点对应的K 2个目标点。 Determine (K 2 -1) neighbor points based on the candidate points corresponding to (K 2 -1) distance values, and determine the first point and (K 2 -1) neighbor points as the K 2 targets corresponding to the first point point.
需要说明的是,以第一点为例,可以利用K近邻搜索方式在重建点云中搜索预设数量个候选点,计算第一点与这些候选点之间的距离值,然后从这些候选点中选取与第一点距离最近的(K 2-1)个近邻点;也就是说,除了第一点自身之外,另外还包括与第一点几何距离最接近的(K 2-1)个近邻点,总共组成了重建点云中第一点对应的K 2个目标点。 It should be noted that, taking the first point as an example, you can use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud, calculate the distance value between the first point and these candidate points, and then use these candidate points to Select the (K 2 -1) nearest neighbor points to the first point; that is, in addition to the first point itself, it also includes the (K 2 -1) closest geometric distance to the first point The neighboring points constitute a total of K 2 target points corresponding to the first point in the reconstructed point cloud.
进一步地,在一些实施例中,所述根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云,包括: Further, in some embodiments, filtering the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud includes:
根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定重建点云中第一点的属性信息的滤波值; Filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient to determine the filter value of the attribute information of the first point in the reconstructed point cloud;
在确定出重建点云中至少一个点的属性信息的滤波值之后,根据重建点云中至少一个点的属性信息 的滤波值确定滤波后点云。After determining the filter value of the attribute information of at least one point in the reconstructed point cloud, the filtered point cloud is determined based on the filter value of the attribute information of at least one point in the reconstructed point cloud.
需要说明的是,在本申请实施例中,属性信息以颜色分量为例,可以对重建点云的各个颜色分量单独滤波,例如,对于YUV空间的颜色信息,可以分别确定Y分量对应的第二滤波系数向量,U分量对应的第二滤波系数向量,V分量对应的第二滤波系数向量。这些第二滤波系数向量共同组成了重建点云的第二滤波系数。另外,由于第二滤波系数可以是由K 2阶滤波器确定的;这样,解码端器在进行滤波时,可以是针对重建点云中的每个点进行KNN搜索以确定出该点对应的K 2个目标点,然后利用该点的第二滤波系数进行滤波即可。 It should be noted that in the embodiment of the present application, the attribute information takes the color component as an example, and each color component of the reconstructed point cloud can be filtered separately. For example, for the color information of the YUV space, the second value corresponding to the Y component can be determined respectively. The filter coefficient vector, the second filter coefficient vector corresponding to the U component, and the second filter coefficient vector corresponding to the V component. These second filter coefficient vectors together constitute the second filter coefficients of the reconstructed point cloud. In addition, since the second filter coefficient can be determined by K 2nd order filter; in this way, when the decoder performs filtering, it can perform a KNN search for each point in the reconstructed point cloud to determine the K corresponding to the point. 2 target points, and then use the second filter coefficient of the point to filter.
简单来说,在本申请实施例中,在利用第二滤波系数对重建点云进行滤波处理时,可以先根据维纳滤波器的阶数和重建点云中点对应的K 2个目标点的属性信息的重建值,确定属性信息对应的第二属性参数;然后可以根据第二滤波系数和第二属性参数,确定属性信息的滤波值;最终便可以基于属性信息的滤波值,得到滤波后切片。 To put it simply, in the embodiment of the present application, when using the second filter coefficient to filter the reconstructed point cloud, you can first use the order of the Wiener filter and the K 2 target points corresponding to the midpoint of the reconstructed point cloud. The reconstructed value of the attribute information determines the second attribute parameter corresponding to the attribute information; then the filter value of the attribute information can be determined based on the second filter coefficient and the second attribute parameter; finally, the filtered slice can be obtained based on the filter value of the attribute information .
需要说明的是,在本申请实施例中,如果属性信息为YUV空间的颜色分量,那么可以先基于颜色分量(如Y分量,U分量,V分量)的重建值,结合维纳滤波器的阶数,确定出第二属性参数(用P(n,k)表示),即第二属性参数表示重建点云中点对应的K 2个目标点的颜色分量的重建值。 It should be noted that in the embodiment of the present application, if the attribute information is the color component of the YUV space, then it can be first based on the reconstructed value of the color component (such as Y component, U component, V component), combined with the order of the Wiener filter number, determine the second attribute parameter (represented by P(n,k)), that is, the second attribute parameter represents the reconstructed value of the color component of K 2 target points corresponding to the point in the reconstructed point cloud.
还需要说明的是,对于维纳滤波器而言,滤波器类型可以用于指示滤波器阶数,和/或滤波器形状,和/或滤波器维数。其中,滤波器形状包括菱形、矩形等,滤波器维数包括一维、二维乃至更多维等。也就是说,在本申请实施例中,不同的滤波器类型可以对应不同阶数的维纳滤波器,例如,阶数的取值可以为12、32、128的维纳滤波器;不同的类型还可以对应不同维数的滤波器,例如,一维滤波器、二维滤波器等,这里并不作具体限定。也就是说,如果需要确定一个16阶的滤波器,那么可以用16个点来确定16阶非对称滤波器、或者8阶一维对称滤波器、或者其他数量(例如更加特殊的二维、三维滤波器等)的滤波器等等,这里并不对滤波器作具体限定。It should also be noted that for Wiener filters, the filter type can be used to indicate the filter order, and/or filter shape, and/or filter dimension. Among them, filter shapes include diamonds, rectangles, etc., and filter dimensions include one-dimensional, two-dimensional or even more dimensions. That is to say, in the embodiment of the present application, different filter types can correspond to Wiener filters of different orders. For example, the order values can be 12, 32, and 128 Wiener filters; different types It can also correspond to filters of different dimensions, such as one-dimensional filters, two-dimensional filters, etc., which are not specifically limited here. That is to say, if you need to determine a 16th-order filter, you can use 16 points to determine a 16th-order asymmetric filter, or an 8th-order one-dimensional symmetric filter, or other quantities (such as more special two-dimensional, three-dimensional filter, etc.), the filter is not specifically limited here.
进一步地,在本申请实施例中,对于某一个颜色分量进行滤波值计算,可以利用该颜色分量的第二属性参数以及该颜色分量对应的第二滤波系数向量,确定出该颜色分量的滤波值。在遍历完全部颜色分量,获得每一个颜色分量的滤波值之后,便可得到滤波后切片。Further, in the embodiment of the present application, when calculating the filter value for a certain color component, the second attribute parameter of the color component and the second filter coefficient vector corresponding to the color component can be used to determine the filter value of the color component. . After traversing all the color components and obtaining the filter value of each color component, the filtered slice can be obtained.
还可以理解的是,在本申请实施例中,在使用维纳滤波器对重建点云进行滤波处理时,可以将重建点云和第二滤波系数同时输入至维纳滤波器中,即维纳滤波器的输入为第二滤波系数和重建点云,最终便可以基于第二滤波系数完成对重建点云的滤波处理,获得对应的滤波后点云。It can also be understood that in the embodiment of the present application, when using the Wiener filter to filter the reconstructed point cloud, the reconstructed point cloud and the second filter coefficient can be input into the Wiener filter at the same time, that is, the Wiener filter The input of the filter is the second filter coefficient and the reconstructed point cloud. Finally, the filtering process of the reconstructed point cloud can be completed based on the second filter coefficient, and the corresponding filtered point cloud can be obtained.
也就是说,在本申请实施例中,第二滤波系数是基于初始点云和重建点云获得的,因此,将第二滤波系数作用于重建点云上,可以最大限度恢复初始点云。示例性地,在本申请实施例中,以点云序列中的YUV空间的颜色分量为例,假设滤波器的阶数为K 2,点云序列为n,使用矩阵P(n,k)表示重建点云中所有点对应的K 2个目标点在相同颜色分量(如Y分量)下的重建值,即P(n,k)为由重建点云中所有点对应的K 2个目标点的Y分量的重建值所构成的第二属性参数。这样,基于上述式(13),将Y分量下的第二滤波系数向量H(k)作用在重建点云也就是说第二属性参数P(n,k)上,可以获得Y分量下的属性信息的滤波值R(n)。接着,可以按照上述方法遍历U分量和V分量,最终确定出U分量下的滤波值和V分量下的滤波值,进而便可以利用全部颜色分量下的滤波值来确定出重建点云对应的滤波后点云。 That is to say, in this embodiment of the present application, the second filter coefficient is obtained based on the initial point cloud and the reconstructed point cloud. Therefore, applying the second filter coefficient to the reconstructed point cloud can restore the initial point cloud to the maximum extent. Illustratively, in the embodiment of the present application, taking the color component of the YUV space in the point cloud sequence as an example, assuming that the order of the filter is K 2 and the point cloud sequence is n, represented by the matrix P(n,k) The reconstruction value of K 2 target points corresponding to all points in the reconstructed point cloud under the same color component (such as Y component), that is, P(n,k) is the reconstruction value of K 2 target points corresponding to all points in the reconstructed point cloud. The second attribute parameter composed of the reconstructed value of the Y component. In this way, based on the above equation (13), the second filter coefficient vector H(k) under the Y component is applied to the reconstructed point cloud, that is, the second attribute parameter P(n,k), and the attributes under the Y component can be obtained The filter value R(n) of the information. Then, you can traverse the U component and V component according to the above method, and finally determine the filter value under the U component and the filter value under the V component. Then you can use the filter values under all color components to determine the filter corresponding to the reconstructed point cloud. Back point cloud.
需要说明的是,在本申请实施例中,解码器在确定重建点云对应的滤波后点云之后,可以使用滤波后点云覆盖重建点云。在这里,相较于重建点云,在经过滤波处理后获得的滤波后点云的质量有较明显的增强;因此,在获得滤波后点云之后,可以使用滤波后点云覆盖原有的重建点云,从而实现整个编解码及质量增强操作。It should be noted that in this embodiment of the present application, after the decoder determines the filtered point cloud corresponding to the reconstructed point cloud, it can use the filtered point cloud to cover the reconstructed point cloud. Here, compared with the reconstructed point cloud, the quality of the filtered point cloud obtained after filtering is significantly enhanced; therefore, after obtaining the filtered point cloud, the filtered point cloud can be used to overwrite the original reconstruction. Point cloud, thereby realizing the entire encoding, decoding and quality enhancement operations.
还需要说明的是,由于点云通常是采用RGB颜色空间表示的,而且YUV分量难以用现有应用进行点云可视化;因此,在确定重建点云对应的滤波后点云之后,该方法还可以包括:若滤波后点云中点的颜色分量不符合RGB颜色空间(例如,YUV颜色空间、YCbCr颜色空间等),则对滤波后点云进行颜色空间转换,使得滤波后点云中点的颜色分量符合RGB颜色空间。这样,当滤波后点云中点的颜色分量符合YUV颜色空间时,首先需要在将滤波后点云中点的颜色分量由符合YUV颜色空间转换为符合RGB颜色空间,然后再利用滤波后点云更新原有的重建点云。It should also be noted that since point clouds are usually represented by RGB color space, and the YUV component is difficult to use for point cloud visualization with existing applications; therefore, after determining the filtered point cloud corresponding to the reconstructed point cloud, this method can also Including: If the color component of the point cloud after filtering does not conform to the RGB color space (for example, YUV color space, YCbCr color space, etc.), then perform color space conversion on the filtered point cloud so that the color of the point cloud after filtering is The components conform to the RGB color space. In this way, when the color component of the filtered point cloud conforms to the YUV color space, it is first necessary to convert the color component of the filtered point cloud from conforming to the YUV color space to conforming to the RGB color space, and then use the filtered point cloud Update the original reconstructed point cloud.
还可以理解地,在一些实施例中,该方法还可以包括:It can also be understood that in some embodiments, the method may also include:
解析码流,确定第三滤波标识信息;Analyze the code stream and determine the third filter identification information;
若第三滤波标识信息指示对重建聚合切片进行滤波处理,则解析码流,确定第三滤波系数;其中,重建聚合切片是由n个重建切片聚合得到,n为大于1的整数;If the third filtering identification information indicates that the reconstructed aggregate slice is filtered, the code stream is parsed to determine the third filter coefficient; where the reconstructed aggregate slice is obtained by aggregating n reconstructed slices, and n is an integer greater than 1;
根据第三滤波系数对重建聚合切片进行滤波处理,确定重建聚合切片对应的滤波后聚合切片。Filtering is performed on the reconstructed aggregation slice according to the third filter coefficient, and a filtered aggregation slice corresponding to the reconstructed aggregation slice is determined.
需要说明的是,若第三滤波标识信息指示不对重建聚合切片进行滤波处理,则不执行解析码流,确定第三滤波系数的步骤,即跳过关于该重建聚合切片的滤波步骤。It should be noted that if the third filtering identification information indicates that the reconstructed aggregate slice is not to be filtered, the step of parsing the code stream and determining the third filter coefficient is not performed, that is, the filtering step for the reconstructed aggregate slice is skipped.
还需要说明的是,根据第三滤波系数对重建聚合切片进行滤波处理,具体是根据第三滤波系数对重建聚合切片中第一点对应的K 3个目标点进行滤波处理,以确定出滤波后聚合切片。其中,这里的第一点表示重建聚合切片中的点,第一点对应的K 3个目标点包括第一点以及重建聚合切片中与第一点相邻的(K 3-1)个近邻点,K 3为大于1的整数;这里的(K 3-1)个近邻点具体是指重建聚合切片中与第一点几何距离最接近的(K 3-1)个近邻点。 It should also be noted that the reconstructed aggregate slice is filtered according to the third filter coefficient. Specifically, the K 3 target points corresponding to the first point in the reconstructed aggregate slice are filtered according to the third filter coefficient to determine the filtered Aggregate slices. Among them, the first point here represents the point in the reconstructed aggregation slice. The K 3 target points corresponding to the first point include the first point and the (K 3 -1) neighbor points adjacent to the first point in the reconstructed aggregation slice. , K 3 is an integer greater than 1; the (K 3 -1) neighbor points here specifically refer to the (K 3 -1) neighbor points with the closest geometric distance to the first point in the reconstructed aggregation slice.
这样,针对切片的点云维纳滤波质量增强处理来说,对于较多个slice的大型点云,可以由n(1<n<S,S为总切片个数)个slice先构建成一个较大的点云切片,再对该切片应用质量增强处理方法;从而可以减少传递滤波系数的个数,压缩效率得以提升;且在s不太大时,该方法也能顺利实现。In this way, for point cloud Wiener filtering quality enhancement processing of slices, for large point clouds with more slices, n (1<n<S, S is the total number of slices) slices can be first constructed into a relatively large point cloud. For large point cloud slices, the quality enhancement processing method is applied to the slices; thus, the number of transmitted filter coefficients can be reduced, and the compression efficiency can be improved; and this method can also be successfully implemented when s is not too large.
还可以理解地,本申请实施例也可以先进行重建切片的质量增强处理,所有重建切片处理完毕之后;再对整个重建点云进行一次整体的质量增强处理,达到二次增强的目的。因此,在一些实施例中,该方法还可以包括:It is also understandable that the embodiments of the present application may also perform quality enhancement processing on reconstructed slices first, and then perform an overall quality enhancement processing on the entire reconstructed point cloud after all reconstructed slices are processed to achieve the purpose of secondary enhancement. Therefore, in some embodiments, the method may further include:
在对至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;After performing filtering processing on at least one reconstructed slice respectively, determining at least one filtered slice;
对至少一个滤波后切片进行聚合处理,确定第一滤波后点云;Perform aggregation processing on at least one filtered slice to determine the first filtered point cloud;
解析码流,确定第四滤波标识信息;Analyze the code stream and determine the fourth filter identification information;
若第四滤波标识信息指示对第一滤波后点云进行滤波处理,则解析码流,确定第四滤波系数;If the fourth filtering identification information indicates filtering of the first filtered point cloud, parse the code stream and determine the fourth filtering coefficient;
根据第四滤波系数对第一滤波后点云进行滤波处理,确定第一滤波后点云对应的第二滤波后点云。The first filtered point cloud is filtered according to the fourth filter coefficient, and a second filtered point cloud corresponding to the first filtered point cloud is determined.
需要说明的是,若第四滤波标识信息指示不对第一滤波后点云进行滤波处理,则不执行解析码流,确定第四滤波系数的步骤,即跳过关于该第一滤波后点云的滤波步骤。It should be noted that if the fourth filtering identification information indicates that the first filtered point cloud is not to be filtered, the step of parsing the code stream and determining the fourth filter coefficient will not be performed, that is, skipping the step of analyzing the first filtered point cloud. filtering step.
还需要说明的是,根据第四滤波系数对第一滤波后点云进行滤波处理,具体是根据第四滤波系数对第一滤波后点云中第一点对应的K 4个目标点进行滤波处理,以确定出第二滤波后点云。其中,这里的第一点表示第一滤波后点云中的点,第一点对应的K 4个目标点包括第一点以及第一滤波后点云中与第一点相邻的(K 4-1)个近邻点,K 4为大于1的整数;这里的(K 4-1)个近邻点具体是指第一滤波后点云中与第一点几何距离最接近的(K 4-1)个近邻点。 It should also be noted that the first filtered point cloud is filtered according to the fourth filter coefficient. Specifically, the K 4 target points corresponding to the first point in the first filtered point cloud are filtered according to the fourth filter coefficient. to determine the second filtered point cloud. Among them, the first point here represents the point in the first filtered point cloud, and the K 4 target points corresponding to the first point include the first point and (K 4 ) adjacent to the first point in the first filtered point cloud. -1) neighbor points, K 4 is an integer greater than 1; the (K 4 -1) neighbor points here specifically refer to the (K 4 -1) closest geometric distance to the first point in the first filtered point cloud ) nearest neighbor points.
另外,K 1、K 2、K 3、K 4的取值可以相同,也可以不同。在一种具体的实施例中,K 1、K 2、K 3、K 4均可以设置为16,但是本申请实施例并不作具体限定。 In addition, the values of K 1 , K 2 , K 3 and K 4 may be the same or different. In a specific embodiment, K 1 , K 2 , K 3 , and K 4 can all be set to 16, but this is not specifically limited in this embodiment.
这里,如果第二滤波标识信息指示不对重建点云进行滤波处理,那么解码器可以跳过滤波处理流程,按照原程序得到的重建点云进行应用,即不再对重建点云进行滤波更新处理。Here, if the second filtering identification information indicates that the reconstructed point cloud is not to be filtered, the decoder can skip the filtering process and apply the reconstructed point cloud obtained by the original program, that is, the reconstructed point cloud will no longer be filtered and updated.
简单来说,本申请实施例提出了一种自适应的对编解码属性信息中的YUV分量做维纳滤波处理以更好地增强点云质量的技术,具体可以依据重建点云中点的数量,决定是对整个重建点云进行维纳滤波,还是对于划分的slice分别进行滤波。这样既可以最大程度地保证点云压缩效率,同时更具有普适性,即该方法对于任何点云都有应用价值。To put it simply, the embodiment of this application proposes a technology that adaptively performs Wiener filtering on the YUV component in the encoding and decoding attribute information to better enhance the quality of the point cloud. Specifically, it can be based on the number of points in the reconstructed point cloud. , decide whether to perform Wiener filtering on the entire reconstructed point cloud, or filter the divided slices separately. This can not only ensure the point cloud compression efficiency to the greatest extent, but also be more universal, that is, this method has application value for any point cloud.
可以理解,本申请实施例提出一种自适应的点云颜色质量提升方法,适用于任意的点云序列,尤其是对于点的分布较密集的序列以及中等码率序列,具有较为突出的优化效果。另外,这里将点云中点的数量作为先验知识,从而实现效率与一般性的最大权衡。具体来说,这是通过决定对点云的处理是应用在整个重建点云上还是分别应用于每个点云切片上来实现的。其中,应用于整个点云上时,通常有:压缩效率提升效果稍好、时间复杂度略低的优势,缺点在于占用内存等资源较大,当内存受限时对于大型点云难以发挥应有的作用;应用于每个切片上时,由于传递信息较多导致压缩效率提升略微低于前者,但该方法消耗资源较少,只要当前设备能够运行原始程序,则该方法即可顺利实现并运行。因此,当资源受限时,划分区域处理不失为一种好的选择。在该技术方案中,提前设置点数的预设阈值T,该值的设置应依据当前设备的具体情况而定,从而最大化压缩效率的提升量;因而该技术方案不局限于维纳滤波操作,可以为任何受限于资源等情况的方法提供解决方案。It can be understood that the embodiment of the present application proposes an adaptive point cloud color quality improvement method, which is suitable for any point cloud sequence, especially for sequences with densely distributed points and medium code rate sequences, and has a more prominent optimization effect. . In addition, the number of points in the point cloud is used as prior knowledge to achieve the greatest trade-off between efficiency and generality. Specifically, this is achieved by deciding whether point cloud processing is applied to the entire reconstructed point cloud or to each point cloud slice individually. Among them, when applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity. The disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to perform its due function on large point clouds. function; when applied to each slice, the compression efficiency improvement is slightly lower than the former due to more information being transmitted, but this method consumes less resources. As long as the current device can run the original program, this method can be implemented and run smoothly. . Therefore, when resources are limited, regional processing may be a good choice. In this technical solution, the preset threshold T of points is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this technical solution is not limited to Wiener filtering operations. Solutions can be provided for any method that is constrained by resources, etc.
需要说明的是,在本申请实施例提出的维纳滤波器可以在预测环路内,即作为inloop filter使用,可用作解码后续点云的参考;也可以在预测环路外,即作为post filter使用,不用作解码后续点云的参考。对此本申请不进行具体限定。It should be noted that the Wiener filter proposed in the embodiment of this application can be used within the prediction loop, that is, as an inloop filter, and can be used as a reference for decoding subsequent point clouds; it can also be used outside the prediction loop, that is, as a post filter is used, not used as a reference for decoding subsequent point clouds. This application does not specifically limit this.
需要说明的是,在本申请实施例中,如果本申请实施例提出的维纳滤波器为环路内滤波器,那么在确定进行滤波处理之后,需要将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也需要将滤波系数写入码流;相应地,在确定不进行滤波处理之后,可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流。反之,如果本申请实施例提出的维纳滤波器为后处理滤波器,一种情况下,该滤波器对应的滤波系数是位于一个单独的辅助信息数据单元(例如,补充增强信息SEI),那么可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流,相应地,解码器在未获得该补充增强信息的情况下,即不对重建点云进行滤波处理。另一种情况下,该滤波器对应的滤波系数与其他信息在一个辅助信息数据单元中,此时在 确定进行滤波处理之后,需要将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也需要将滤波系数写入码流;相应地,在确定不进行滤波处理之后,可以选择不将指示进行滤波处理的参数信息,如滤波标识信息写入码流,同时也不将滤波系数写入码流。It should be noted that in the embodiment of the present application, if the Wiener filter proposed in the embodiment of the present application is an in-loop filter, then after it is determined to perform the filtering process, the parameter information indicating the filtering process needs to be The identification information is written into the code stream, and the filter coefficients also need to be written into the code stream. Correspondingly, after it is determined not to perform filtering, you can choose not to write parameter information indicating filtering, such as filtering identification information, into the code stream. At the same time, the filter coefficients are not written into the code stream. On the contrary, if the Wiener filter proposed in the embodiment of this application is a post-processing filter, in one case, the filter coefficient corresponding to the filter is located in a separate auxiliary information data unit (for example, supplementary enhancement information SEI), then You can choose not to write parameter information indicating filtering processing, such as filter identification information, into the code stream, and at the same time, do not write the filter coefficients into the code stream. Correspondingly, if the decoder does not obtain the supplementary enhancement information, it will not Reconstruct the point cloud for filtering. In another case, the filter coefficients and other information corresponding to the filter are in an auxiliary information data unit. In this case, after the filtering process is determined, the parameter information indicating the filtering process, such as the filter identification information, needs to be written into the code. stream, and the filter coefficients also need to be written into the code stream; accordingly, after determining not to perform filtering, you can choose not to write parameter information indicating filtering, such as filter identification information, into the code stream, and at the same time, do not write the filtering information into the code stream. The coefficients are written into the code stream.
进一步地,对于本申请实施例提出的点云质量增强方法,可以选择对重建点云/重建切片中的一个或多个部分进行滤波处理,即滤波标识信息的控制范围可以是整个重建点云/重建切片,也可以是重建点云/重建切片中的某个部分,这里并不作具体限定。Furthermore, for the point cloud quality enhancement method proposed in the embodiment of the present application, one or more parts of the reconstructed point cloud/reconstructed slice can be selected to be filtered, that is, the control range of the filtering identification information can be the entire reconstructed point cloud/ The reconstructed slice can also be a certain part of the reconstructed point cloud/reconstructed slice, which is not specifically limited here.
本实施例提供了一种编码方法,应用于编码器。通过解析码流,确定第一滤波标识信息;若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。这样,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码端可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码效率。This embodiment provides an encoding method, which is applied to the encoder. By parsing the code stream, the first filter identification information is determined; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; and the reconstructed slice is processed according to the first filter coefficient. Filter processing to determine the filtered slice corresponding to the reconstructed slice. In this way, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
可以理解地,虽然相关技术也存在一种基于维纳滤波的质量增强技术,利用维纳滤波进行解码端属性信息的后处理,并取得了不错的效果。在编码端,以初始点云与重建点云作为输入,维纳滤波器的阶数为K,则每个点的邻域即为该点的K近邻(同时将该点本身考虑在内)。之后利用维纳滤波原理,对于属性信息的每一颜色通道(Y,U,V)分别计算维纳滤波器最优系数,并利用该系数对重建点云对应颜色通道进行滤波,最后得到质量增强的滤波后点云。其中,在计算每一颜色通道的重建点云、滤波后点云相对于初始点云的PSNR与RDCost,如果滤波后点云的PSNR有所增加且RDCost减小,即认为维纳滤波使得该颜色分量的质量提升且压缩效率增加,此时将滤波标识信息和滤波系数写入码流。解码端,首先解码出滤波标识信息,然后确定需要滤波的颜色通道,再继续解码出滤波系数,利用该系数进行滤波,并将得到的值覆盖重建点云的值,得到质量提升的滤波后点云。同时,该方法可应用于所有除属性无损外的编码方式,即几何无损、属性有损,几何有损、属性有损,几何无损、属性几乎无损;且适用于RAHT、Predicting Transform和Lifting Transform等变换方式。且此方法对最近邻点的个数即K的取值对实验结果的影响进行了对比,并据此进行优化,选择K在16左右时可以最好地达到效果与时间复杂度的权衡。然而,相关技术提出的点云属性信息维纳滤波质量增强技术,存在以下问题有部分点云无法应用此质量增强技术。其中,在G-PCC点云标准测试数据集中,共有46个点云序列(只考虑单帧点云),分别属于Cat1-A和Cat1-B。其中在Cat1-B中,有较多的大型点云,点数超过1000万个,大小超2GB。对于这些点云序列,在应用相关技术提出的维纳滤波质量增强技术时,会出现内存溢出的情况(在测试电脑内存配置16GB的情况下)。这是因为对压缩后得到的重建点云直接进行滤波时,需要计算并储存每个点的K近邻点、初始点云、重建点云以及滤波后点云中每个点的颜色和坐标值等,因此会占用大量的内存空间,这导致处理大型点云时会出现程序崩溃。因此在相关技术中,只针对了Cat1-A和部分Cat1-B的点云序列共计38个,进行质量增强处理;简单来说,相关技术的方法仍存在一定的局限性,不能有效处理所有点云。Understandably, although in related technology there is also a quality enhancement technology based on Wiener filtering, which uses Wiener filtering to post-process the attribute information at the decoding end, and has achieved good results. On the encoding side, the initial point cloud and reconstructed point cloud are used as input, and the order of the Wiener filter is K, then the neighborhood of each point is the K nearest neighbor of the point (while taking the point itself into account). Then, using the Wiener filtering principle, the optimal coefficient of the Wiener filter is calculated for each color channel (Y, U, V) of the attribute information, and the coefficient is used to filter the corresponding color channel of the reconstructed point cloud, and finally the quality enhancement is obtained The filtered point cloud. Among them, after calculating the reconstructed point cloud of each color channel, the PSNR and RDCost of the filtered point cloud relative to the initial point cloud, if the PSNR of the filtered point cloud increases and RDCost decreases, it is considered that Wiener filtering makes the color The quality of the components is improved and the compression efficiency is increased. At this time, the filter identification information and filter coefficients are written into the code stream. On the decoding end, first decode the filter identification information, then determine the color channel that needs to be filtered, and then continue to decode the filter coefficients, use the coefficients to perform filtering, and overwrite the values of the reconstructed point cloud with the obtained values to obtain filtered points with improved quality. cloud. At the same time, this method can be applied to all encoding methods except attribute lossless, that is, geometric lossless, attribute lossy, geometry lossy, attribute lossy, geometry lossless, attribute almost lossless; and is suitable for RAHT, Predicting Transform and Lifting Transform, etc. Transformation method. In addition, this method compares the impact of the number of nearest neighbor points, that is, the value of K, on the experimental results, and optimizes it accordingly. Choosing K around 16 can best achieve the trade-off between effect and time complexity. However, the point cloud attribute information Wiener filter quality enhancement technology proposed in related technologies has the following problems. Some point clouds cannot apply this quality enhancement technology. Among them, in the G-PCC point cloud standard test data set, there are 46 point cloud sequences (only single frame point clouds are considered), belonging to Cat1-A and Cat1-B respectively. Among them, Cat1-B has many large point clouds, with more than 10 million points and a size exceeding 2GB. For these point cloud sequences, when applying the Wiener filter quality enhancement technology proposed by related technologies, memory overflow will occur (in the case of the test computer memory configuration of 16GB). This is because when directly filtering the reconstructed point cloud obtained after compression, it is necessary to calculate and store the K nearest neighbor points of each point, the initial point cloud, the reconstructed point cloud, and the color and coordinate values of each point in the filtered point cloud. , thus occupying a large amount of memory space, which can cause program crashes when processing large point clouds. Therefore, in the related technology, only a total of 38 point cloud sequences of Cat1-A and part of Cat1-B are processed for quality enhancement processing; simply put, the method of the related technology still has certain limitations and cannot effectively process all points. cloud.
基于上述实施例提供的编解码方法,在本申请的再一实施例中,这里提出了一种自适应的对编解码的属性信息(例如颜色重建值的YUV分量)做维纳滤波处理的技术,相比于相关技术增加了普适性,且测试效果相近。Based on the encoding and decoding methods provided in the above embodiments, in yet another embodiment of the present application, a technology for adaptive Wiener filtering processing of the encoding and decoding attribute information (such as the YUV component of the color reconstruction value) is proposed. , compared with related technologies, it has increased universality and has similar test results.
在G-PCC标准程序中,进行几何和颜色属性编码前,会依据量化后点云的点数多少对点云进行分片(slice)处理,即点数较多的点云会被分割成多个3D slice(三维切片),每个slice包含点数约为80万-100万个左右,之后G-PCC编码端会对每个slice分别进行几何编码以及属性编码,最后再将所有slice聚合到一起,生成重建点云。在相关技术中,会对整个重建点云进行维纳滤波处理,但有些大型点云难以应用此方法。经过测试发现,对于每个slice进行维纳滤波处理后的点云效果,与整个重建点云直接进行滤波处理相比,性能略有下降,但是由于每次只对不超过百万点的slice处理,因而能够广泛适用。于是针对此提出了一种自适应点云颜色属性质量增强技术,依据重建点云中点的数量,决定是对整个重建点云进行维纳滤波,还是对于slice分别进行维纳滤波。这样既可以最大程度地保证点云压缩效率,同时更具有普适性,即该技术对于任何点云都有应用价值。In the G-PCC standard program, before encoding geometric and color attributes, the point cloud will be sliced according to the number of points in the quantized point cloud, that is, a point cloud with a larger number of points will be divided into multiple 3D slice (three-dimensional slice), each slice contains about 800,000-1 million points. After that, the G-PCC encoding end will perform geometric encoding and attribute encoding on each slice, and finally aggregate all the slices together to generate Reconstruct the point cloud. In related technologies, Wiener filtering is performed on the entire reconstructed point cloud, but this method is difficult to apply to some large point clouds. After testing, it was found that the performance of the point cloud effect after Wiener filtering for each slice is slightly reduced compared with the direct filtering of the entire reconstructed point cloud. However, since only slices with no more than one million points are processed each time, , so it can be widely applied. Therefore, an adaptive point cloud color attribute quality enhancement technology was proposed for this purpose. Based on the number of points in the reconstructed point cloud, it is decided whether to perform Wiener filtering on the entire reconstructed point cloud or perform Wiener filtering on the slices separately. This can not only ensure the point cloud compression efficiency to the greatest extent, but also be more universal, that is, the technology has application value for any point cloud.
在一种具体的实施例中,如图9所示,其示出了重建点云中点的数量大于或等于预设阈值(可以用T表示)的情况,具体流程可以为:初始点云在经过分片处理之后,可以得到初始切片(即:初始点云切片);再对初始切片进行编码及重建,可以得到重建切片(即:重建点云切片);然后将初始切片和重建切片分别输入到维纳滤波器;经过维纳滤波器的计算,维纳滤波器的输出为第一滤波系数;可以将第一滤波系数选择性写入属性码流。如图10所示,其示出了重建点云中点的数量小于预设阈值(可以用 T表示)的情况,具体流程可以为:初始点云进行编码及重建后,可以得到重建点云;然后将重建点云和初始点云输入到维纳滤波器;经过维纳滤波器的计算,维纳滤波器的输出为第二滤波系数,可以将第二滤波系数选择性写入属性码流。In a specific embodiment, as shown in Figure 9, which shows the situation where the number of points in the reconstructed point cloud is greater than or equal to the preset threshold (which can be represented by T), the specific process can be: the initial point cloud is After the slicing process, the initial slice (i.e.: initial point cloud slice) can be obtained; then the initial slice is encoded and reconstructed to obtain the reconstructed slice (i.e.: reconstructed point cloud slice); then the initial slice and the reconstructed slice are input separately to the Wiener filter; after calculation by the Wiener filter, the output of the Wiener filter is the first filter coefficient; the first filter coefficient can be selectively written into the attribute code stream. As shown in Figure 10, it shows the situation where the number of points in the reconstructed point cloud is less than the preset threshold (which can be represented by T). The specific process can be as follows: after the initial point cloud is encoded and reconstructed, the reconstructed point cloud can be obtained; Then the reconstructed point cloud and the initial point cloud are input to the Wiener filter; after calculation by the Wiener filter, the output of the Wiener filter is the second filter coefficient, and the second filter coefficient can be selectively written into the attribute code stream.
结合图9和图10,在编码端,具体操作如下:Combining Figure 9 and Figure 10, on the encoding side, the specific operations are as follows:
(1)首先设定一个预设阈值T。该预设阈值作用如下:若点云的点数小于T,则在所有编码操作结束、获得重建点云之后,对整个重建点云进行维纳滤波操作,即方法与之前所提出的相关技术相同;若点云的点数大于或等于T,则在点云划分后的每个slice编码并重建结束后,对该重建slice进行维纳滤波操作。示例性地,设定T=10000000,但是不作具体限定。(1) First set a preset threshold T. The function of the preset threshold is as follows: if the number of points in the point cloud is less than T, after all encoding operations are completed and the reconstructed point cloud is obtained, the Wiener filtering operation is performed on the entire reconstructed point cloud, that is, the method is the same as the related technology proposed before; If the number of points in the point cloud is greater than or equal to T, after each slice after the point cloud is divided is encoded and reconstructed, a Wiener filtering operation is performed on the reconstructed slice. For example, T=10000000 is set, but no specific limitation is made.
(2)在G-PCC编码端对点云进行几何量化之后,可以得到量化后点云。该量化后点云与最后的重建点云点数相同(若几何无损,则也与初始点云的点数相同)。通过读取该量化后点云的点数,并结合设定的预设阈值T,可以确定对该点云进行维纳滤波的方法或模式。(2) After geometric quantization of the point cloud at the G-PCC encoding end, the quantized point cloud can be obtained. The quantized point cloud has the same number of points as the final reconstructed point cloud (if the geometry is lossless, it will also have the same number of points as the initial point cloud). By reading the number of points in the quantized point cloud and combining it with the set preset threshold T, the method or mode of Wiener filtering on the point cloud can be determined.
(3)若点云的点数大于或等于预设阈值T,则采用分片点云的维纳滤波处理方法。由于G-PCC在几何编码前已实现点云slice的划分,因此可以直接在此分片方法的基础上进行质量增强。点云的颜色属性编码结束且重建完成后,将颜色有损的重建切片以及与之对应的初始切片输入到维纳滤波器。编码端维纳滤波器的作用主要是计算最优滤波系数,同时判断维纳滤波之后的点云(或点云切片)质量是否提升,并进行最优滤波系数选择性地传递。确定维纳滤波器的输入后,利用KNN为重建切片中每个点构建邻域,K的大小即为每个点的最近邻点的搜索个数,亦即维纳滤波器的阶数。在这里,可以选择K等于16,能够最好地兼顾性能与效率。之后,依据维纳滤波原理,对点云切片的YUV三个颜色分量(若G-PCC中未将点云转换为YUV格式,则需要对点云切片先进行RGB转YUV操作)分别计算最优滤波系数并进行滤波处理。接着在每个颜色分量上分别计算:滤波后切片相对于初始切片、重建切片相对于原始切片的RDCost大小。具体计算方式如上述的式(14)所示。(3) If the number of points in the point cloud is greater than or equal to the preset threshold T, the Wiener filtering method of fragmented point cloud is used. Since G-PCC has implemented the division of point cloud slices before geometric encoding, quality enhancement can be directly based on this slicing method. After the color attribute encoding of the point cloud is completed and the reconstruction is completed, the color-lossy reconstructed slices and the corresponding initial slices are input to the Wiener filter. The function of the encoding-side Wiener filter is mainly to calculate the optimal filter coefficients, and at the same time determine whether the quality of the point cloud (or point cloud slice) after Wiener filtering has been improved, and selectively transfer the optimal filter coefficients. After determining the input of the Wiener filter, KNN is used to construct a neighborhood for each point in the reconstructed slice. The size of K is the number of searches for the nearest neighbor points of each point, which is the order of the Wiener filter. Here, you can choose K equal to 16, which can best balance performance and efficiency. After that, based on the Wiener filtering principle, the three YUV color components of the point cloud slice are calculated separately (if the point cloud is not converted to YUV format in G-PCC, the point cloud slice needs to be converted from RGB to YUV first). Filter coefficients and perform filtering processing. Then calculate separately on each color component: the RDCost size of the filtered slice relative to the initial slice and the reconstructed slice relative to the original slice. The specific calculation method is shown in the above formula (14).
这样,若滤波后切片的RDCost小于重建切片的RDCost,则说明该分量滤波后切片的压缩效率(综合考虑码流开支与质量提升效果)提升,此时会将该分量计算得到的最优系数写入码流,传递到解码端,以对解码得到的重建切片的该分量进行后处理操作。对整个slice来说,若某个或某几个分量的率失真值相对于重建slice有所降低,如仅V分量的率失真值减小,那么在解码端只会针对V分量滤波,此时首先将大小1×3的判定数组作为第一滤波标识信息写入码流(判定是否需要、哪些分量需要在解码端进行后处理即滤波操作,如(0,1,1)说明对UV分量滤波),并紧接着将第一滤波系数写入码流中。若所有分量代价全部增大,则不需要将第一滤波标识信息和第一滤波系数写入码流,同时在解码端不应进行维纳滤波操作。注意滤波系数等信息紧跟着slice的属性编码信息写入码流,即若某个点云slice需要传递系数,则在该slice属性码流后写入第一滤波标识信息和第一滤波系数;同时注意,该slice的点云质量增强方法,由于传递滤波系数较多,码流开支较大,每个slice可能都有系数信息写入码流,可能会对压缩效率稍有影响,因此该方法只在点云的点数大于或等于预设阈值T时使用。In this way, if the RDCost of the filtered slice is smaller than the RDCost of the reconstructed slice, it means that the compression efficiency of the filtered slice of this component (considering the code stream expenditure and quality improvement effect) is improved. At this time, the optimal coefficient calculated for this component will be written The input code stream is passed to the decoding end to perform post-processing operations on the component of the decoded reconstructed slice. For the entire slice, if the rate-distortion value of one or several components is reduced relative to the reconstructed slice, for example, only the rate-distortion value of the V component is reduced, then only the V component will be filtered at the decoding end. At this time First, a 1×3 decision array is written into the code stream as the first filter identification information (to determine whether it is needed and which components need to be post-processed at the decoding end, that is, filtering operations, such as (0,1,1) to describe the UV component filtering ), and then write the first filter coefficient into the code stream. If the cost of all components increases, there is no need to write the first filter identification information and the first filter coefficient into the code stream, and at the same time, the Wiener filtering operation should not be performed at the decoding end. Note that information such as filter coefficients is written into the code stream immediately after the attribute encoding information of the slice. That is, if a certain point cloud slice needs to transfer coefficients, the first filter identification information and the first filter coefficient are written after the slice attribute code stream; At the same time, please note that the point cloud quality enhancement method of this slice has a large code stream expenditure due to the large number of transmission filter coefficients. Each slice may have coefficient information written into the code stream, which may have a slight impact on the compression efficiency. Therefore, this method It is only used when the number of points in the point cloud is greater than or equal to the preset threshold T.
(4)若点云的点数小于预设阈值T,则对整个重建点云进行维纳滤波质量增强方法。该方法与相关技术的方法相同,且与(3)中所述方法的主体思想类似。区别在于,在G-PCC将所有slice合并为最终的重建点云后,将该重建点云与初始点云输入到维纳滤波器;进行率失真代价计算时,R all为整个点云属性码流大小;最后传输的第二滤波标识信息要与分片点云处理方法中第一滤波标识信息的形式有所区别(如(0,2,2)说明对UV分量滤波),以在解码端判定是对切片滤波处理还是整个点云滤波处理。 (4) If the number of points in the point cloud is less than the preset threshold T, the Wiener filtering quality enhancement method is performed on the entire reconstructed point cloud. This method is the same as that of related technologies, and is similar to the main idea of the method described in (3). The difference is that after G-PCC merges all slices into the final reconstructed point cloud, the reconstructed point cloud and the initial point cloud are input to the Wiener filter; when calculating the rate distortion cost, R all is the attribute code of the entire point cloud Stream size; the last transmitted second filter identification information should be different from the form of the first filter identification information in the fragmented point cloud processing method (such as (0,2,2) indicating filtering of the UV component), so that it can be used at the decoding end Determine whether to filter the slice or the entire point cloud.
在一种具体的实施例中,如图11所示,其示出了解码端滤波处理的情况,具体流程可以为:属性码流进行解码及重建后,可以得到重建切片;然后继续解析码流,可以得到第一滤波标识信息(如判定数组);在第一滤波标识信息指示对该重建切片进行滤波处理时,可以继续解码得到第一滤波系数;然后将第一滤波系数和重建切片输入到维纳滤波器,通过维纳滤波器输出质量增强的滤波后切片;然后继续解析码流进行下一个重建切片的滤波处理;在得到所有的滤波后切片后,可以对这些滤波后切片进行组合,得到滤波后点云。或者,属性码流进行全部解码及重建后,得到重建点云;这时候继续解析码流,可以得到第二滤波标识信息(如判定数组);在第二滤波标识信息指示对该重建点云进行滤波处理时,可以继续解码得到第二滤波系数;然后将第二滤波系数和重建点云输入到维纳滤波器,通过维纳滤波器输出质量增强的滤波后点云。In a specific embodiment, as shown in Figure 11, which shows the decoding end filtering process, the specific process can be: after the attribute code stream is decoded and reconstructed, the reconstructed slice can be obtained; and then continue to parse the code stream , the first filter identification information (such as a decision array) can be obtained; when the first filter identification information indicates that the reconstructed slice is filtered, decoding can be continued to obtain the first filter coefficient; and then the first filter coefficient and the reconstructed slice are input to The Wiener filter outputs filtered slices with enhanced quality through the Wiener filter; then continues to parse the code stream to filter the next reconstructed slice; after obtaining all the filtered slices, these filtered slices can be combined, Obtain the filtered point cloud. Or, after the attribute code stream is fully decoded and reconstructed, a reconstructed point cloud is obtained; at this time, by continuing to parse the code stream, the second filter identification information (such as a decision array) can be obtained; after the second filter identification information indicates, the reconstructed point cloud is During the filtering process, you can continue to decode to obtain the second filter coefficient; then input the second filter coefficient and the reconstructed point cloud to the Wiener filter, and output the filtered point cloud with enhanced quality through the Wiener filter.
结合图11,在解码端,具体操作如下:Combined with Figure 11, on the decoding end, the specific operations are as follows:
(1)对应于分片点云的维纳滤波质量增强方法,在解码端解码出每一个slice的属性残差之后,继续读取码流。首先解码出一个1×3数组形式的第一滤波标识信息,若经过判断,确定出需要对某(几)个颜色分量需要滤波,则说明编码端有最优系数的传递,此时继续解码得到对应第一滤波系数;否则将不会再继续解码,同时跳过该slice的维纳滤波部分,按照原程序进行重建。得到第一滤波系数后,即可直接将重建切片与第一滤波系数输入至解码端的维纳滤波器,通过计算可得到质量增强的滤波后切片, 并将其覆盖重建切片。对所有切片依次完成上述操作,即可实现切片方法下的解码端质量增强。(1) Corresponding to the Wiener filter quality enhancement method of fragmented point clouds, after the decoder decodes the attribute residual of each slice, it continues to read the code stream. First, the first filter identification information in the form of a 1×3 array is decoded. If after judgment, it is determined that certain color components need to be filtered, it means that the encoding end has the transmission of optimal coefficients. At this time, continue to decode to obtain Corresponds to the first filter coefficient; otherwise, decoding will not continue, and the Wiener filtering part of the slice will be skipped, and reconstruction will be performed according to the original procedure. After obtaining the first filter coefficient, the reconstructed slice and the first filter coefficient can be directly input to the Wiener filter at the decoder. Through calculation, a filtered slice with enhanced quality can be obtained and overlaid with the reconstructed slice. Complete the above operations for all slices in sequence to achieve decoding end quality enhancement under the slicing method.
(2)对应于整个点云的维纳滤波质量增强方法,只需在所有属性残差解码完成之后,继续解码获取第二滤波标识信息,并判断是否继续解码得到第二滤波系数。将第二滤波系数与重建点云输入至维纳滤波器,进行质量增强操作,并将滤波后点云覆盖重建点云即可。(2) The Wiener filter quality enhancement method corresponding to the entire point cloud only needs to continue decoding to obtain the second filter identification information after all attribute residuals are decoded, and determine whether to continue decoding to obtain the second filter coefficient. Input the second filter coefficient and the reconstructed point cloud to the Wiener filter, perform a quality enhancement operation, and cover the filtered point cloud with the reconstructed point cloud.
进一步地,在本申请实施例中,图12为本申请实施例提供的一种在CY测试条件下预测变换的测试结果示意图,图13为本申请实施例提供的一种在C1测试条件下提升变换的测试结果示意图,图14为本申请实施例提供的一种在C2测试条件下提升变换的测试结果示意图,图15为本申请实施例提供的一种在C1测试条件下RAHT变换的测试结果示意图,图16为本申请实施例提供的一种在C2测试条件下RAHT变换的测试结果示意图。如图12~图16所示,本申请实施例提出的编解码方法,在G-PCC参考软件TMC13V14.0上实现后,在CTC-CY、C1和C2测试条件下,通过对MPEG要求的所有测试序列进行了测试(cat1-A&cat1-B)。其中,CY条件为几何无损、属性有损编码方式(lossless geometry,lossy attribute);C1条件为几何无损、属性几乎无损编码方式(lossless geometry,nearlylossless attribute);C2条件为几何有损、属性有损编码方式(lossy geometry,lossy attribute)。上述测试结果中,End-to-End BD-AttrRate表示端到端属性值针对属性码流的BD-Rate。BD-Rate反映的是两种情况下(有无滤波)PSNR曲线的差异,BD-Rate减少时,表示在PSNR相等的情况下,码率减少,性能提高;反之性能下降。即BD-Rate下降越多则压缩效果越好。Cat1-A average与Cat1-B average分别代表两数据集各自点云序列测试效果的平均值。最后Overall average为所有序列测试效果的平均值。Further, in the embodiment of the present application, Figure 12 is a schematic diagram of the test results of the prediction transformation under the CY test condition provided by the embodiment of the present application, and Figure 13 is a test result of the improvement under the C1 test condition provided by the embodiment of the present application. A schematic diagram of the test results of the transformation. Figure 14 is a schematic diagram of the test results of the lifting transformation under the C2 test condition provided by the embodiment of the present application. Figure 15 is the test result of the RAHT transformation under the C1 test condition provided by the embodiment of the present application. Schematic diagram. Figure 16 is a schematic diagram of test results of RAHT transformation under C2 test conditions provided by the embodiment of the present application. As shown in Figures 12 to 16, after the encoding and decoding method proposed in the embodiment of the present application is implemented on the G-PCC reference software TMC13V14.0, under the CTC-CY, C1 and C2 test conditions, it passes all MPEG requirements. The test sequence was tested (cat1-A&cat1-B). Among them, the CY condition is the coding method of lossless geometry and lossy attribute (lossless geometry, lossy attribute); the condition of C1 is the coding method of lossless geometry and lossy attribute (lossless geometry, nearly lossless attribute); the condition of C2 is the coding method of lossy geometry and lossy attribute Coding method (lossy geometry, lossy attribute). In the above test results, End-to-End BD-AttrRate indicates the BD-Rate of the end-to-end attribute value for the attribute code stream. BD-Rate reflects the difference in PSNR curves under two conditions (with or without filtering). When BD-Rate decreases, it means that when PSNR is equal, the code rate decreases and performance improves; otherwise, performance decreases. That is, the more the BD-Rate decreases, the better the compression effect. Cat1-A average and Cat1-B average respectively represent the average value of the point cloud sequence test results of the two data sets. Finally, Overall average is the average of all sequence test effects.
可以理解地,在本申请实施例中,针对分片点云的维纳滤波质量增强处理,对于较多个slice的大型点云,可以由n(1<n<S,S为总切片个数)个slice先构建成一个较大的点云切片,再对该点云切片应用质量增强方法。这样可以减少传递系数的个数,压缩效率得以提升,且在S不太大时,该方法也能顺利实现。另外,对于点云的点数小于预设阈值T的点云,同样可以先进行分片点的云质量增强处理,所有切片处理完毕之后,再对整个重建点云进行一次整体的质量增强,达到二次增强的目的,从而进一步提升了质量与压缩效率。It can be understood that in the embodiment of the present application, for Wiener filtering quality enhancement processing of fragmented point clouds, for large point clouds with more slices, n(1<n<S, S is the total number of slices ) slices are first constructed into a larger point cloud slice, and then the quality enhancement method is applied to the point cloud slice. This can reduce the number of transfer coefficients, improve compression efficiency, and this method can be successfully implemented when S is not too large. In addition, for point clouds whose number of points is less than the preset threshold T, the cloud quality enhancement process of segmented points can also be performed first. After all slices are processed, an overall quality enhancement is performed on the entire reconstructed point cloud to achieve two levels. The purpose of this enhancement is to further improve the quality and compression efficiency.
本申请实施例提出的编解码方法,该方案提出的自适应G-PCC点云解码端颜色维纳滤波质量增强技术,在能够提高点云质量的同时,还能够对普适性进行了提升。也就是说,本申请实施例的技术方案对所有点云都有应用价值,这里提出了一种自适应的点云颜色质量提升方法,该方法相对于相关技术,主要在于将点云的点数作为先验知识,从而实现效率与一般性的最大权衡。具体地,这是通过决定对点云的处理是应用在整个重建点云上还是分别应用于每个点云切片上来实现的。应用于整个点云上时,通常有:压缩效率提升效果稍好、时间复杂度略低的优势,缺点在于占用内存等资源较大,当内存受限时对于大型点云难以发挥应有的作用;应用于每个切片上时,由于传递信息较多导致压缩效率提升略微低于前者,但该方法消耗资源较少,只要当前设备能够运行原始程序,那么该技术也能顺利实现并运行。因此当资源受限时,分区域处理可以作为一种好的选择。在该技术方案中,提前设定预设阈值T,该值的设置应依据当前设备的具体情况而定,从而最大化压缩效率的提升量;因而该方案不局限于维纳滤波操作,可以为任何受限于资源等情况的方法提供解决方案。如此,不仅能够提升点云的质量,而且具有普适性,还能够节省码率,进而提高编解码性能。The encoding and decoding method proposed in the embodiment of this application, and the adaptive G-PCC point cloud decoding end color Wiener filter quality enhancement technology proposed in this solution, can not only improve the quality of the point cloud, but also improve the universality. In other words, the technical solutions of the embodiments of the present application have application value for all point clouds. An adaptive point cloud color quality improvement method is proposed here. Compared with related technologies, this method mainly uses the number of points in the point cloud as Prior knowledge, thereby achieving the greatest trade-off between efficiency and generality. Specifically, this is achieved by deciding whether point cloud processing is applied to the entire reconstructed point cloud or to each point cloud slice individually. When applied to the entire point cloud, it usually has the advantages of slightly better compression efficiency and slightly lower time complexity. The disadvantage is that it takes up a lot of resources such as memory. When the memory is limited, it is difficult to play its due role in large point clouds. ; When applied to each slice, the compression efficiency improvement is slightly lower than the former due to more information being transferred, but this method consumes less resources. As long as the current device can run the original program, this technology can be successfully implemented and run. Therefore, when resources are limited, regional processing can be a good choice. In this technical solution, the preset threshold T is set in advance. The setting of this value should be based on the specific conditions of the current device, so as to maximize the improvement of compression efficiency; therefore, this solution is not limited to Wiener filtering operations, and can be Any method that is limited by resources etc. provides a solution. In this way, it can not only improve the quality of the point cloud, but also have universal applicability, and can also save bit rate, thereby improving encoding and decoding performance.
在本申请的再一实施例中,基于前述实施例相同的发明构思,参见图17,其示出了本申请实施例提供的一种编码器300的组成结构示意图。如图17所示,该编码器300可以包括:第一确定单元3001、第一滤波单元3002和编码单元3003;其中,In yet another embodiment of the present application, based on the same inventive concept of the previous embodiment, see FIG. 17 , which shows a schematic structural diagram of an encoder 300 provided by an embodiment of the present application. As shown in Figure 17, the encoder 300 may include: a first determination unit 3001, a first filtering unit 3002 and an encoding unit 3003; wherein,
第一确定单元3001,配置为确定重建点云的重建切片;以及在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;The first determination unit 3001 is configured to determine the reconstructed slice of the reconstructed point cloud; and when the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
第一滤波单元3002,配置为根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;The first filtering unit 3002 is configured to filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice;
第一确定单元3001,还配置为根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;The first determining unit 3001 is further configured to determine the first filtering identification information according to the filtered slice; wherein the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice;
编码单元3003,配置为对第一滤波标识信息进行编码;以及若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;The encoding unit 3003 is configured to encode the first filter identification information; and if the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient;
编码单元3003,还配置为将所得到的编码比特写入码流。The encoding unit 3003 is also configured to write the obtained encoded bits into the code stream.
在一些实施例中,第一确定单元3001,还配置为确定重建点云的参数信息;以及根据重建点云的参数信息,确定重建点云是否满足预设条件。In some embodiments, the first determination unit 3001 is further configured to determine the parameter information of the reconstructed point cloud; and determine whether the reconstructed point cloud satisfies the preset condition based on the parameter information of the reconstructed point cloud.
在一些实施例中,第一确定单元3001,还配置为确定重建点云中点的数量;以及若重建点云中点的数量大于或等于预设阈值,则确定重建点云满足预设条件;或者,若重建点云中点的数量小于预设阈值,则确定重建点云不满足预设条件。In some embodiments, the first determination unit 3001 is further configured to determine the number of points in the reconstructed point cloud; and if the number of points in the reconstructed point cloud is greater than or equal to a preset threshold, determine that the reconstructed point cloud meets the preset condition; Alternatively, if the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
在一些实施例中,第一确定单元3001,还配置为对初始点云进行几何量化处理,得到量化后点云;以及根据量化后点云中点的数量,确定重建点云中点的数量。In some embodiments, the first determination unit 3001 is further configured to perform geometric quantization processing on the initial point cloud to obtain a quantized point cloud; and determine the number of midpoints in the reconstructed point cloud based on the number of midpoints in the quantized point cloud.
在一些实施例中,第一确定单元3001,还配置为对初始点云进行切片处理,得到至少一个初始切片;以及对至少一个初始切片依次进行编码及重建处理,得到至少一个重建切片;以及对至少一个重建切片进行聚合处理,得到重建点云。In some embodiments, the first determination unit 3001 is further configured to perform slicing processing on the initial point cloud to obtain at least one initial slice; and to sequentially perform encoding and reconstruction processing on the at least one initial slice to obtain at least one reconstructed slice; and At least one reconstructed slice is aggregated to obtain a reconstructed point cloud.
在一些实施例中,第一滤波单元3002,还配置为确定重建切片中第一点对应的K 1个目标点;以及根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片;其中,第一点表示重建切片中的点,第一点对应的K 1个目标点包括第一点以及重建切片中与第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。 In some embodiments, the first filtering unit 3002 is further configured to determine K 1 target points corresponding to the first point in the reconstructed slice; and to determine the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient. Perform filtering to determine the filtered slice; where the first point represents the point in the reconstructed slice, and the K 1 target points corresponding to the first point include the first point and (K 1 - 1) neighboring points, K 1 is an integer greater than 1.
在一些实施例中,第一滤波单元3002,还配置为基于重建切片中的第一点,利用K近邻搜索方式在重建切片中搜索预设数量个候选点;以及分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值;以及根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将第一点和(K 1-1)个近邻点确定为第一点对应的K 1个目标点。 In some embodiments, the first filtering unit 3002 is also configured to search a preset number of candidate points in the reconstructed slice using a K nearest neighbor search method based on the first point in the reconstructed slice; and calculate the first point and the preset number of candidate points respectively. Distance values between a number of candidate points, determine relatively small (K 1 -1) distance values from the obtained preset number of distance values; and candidates corresponding to (K 1 -1) distance values The point determines (K 1 -1) neighboring points, and the first point and (K 1 -1) neighboring points are determined as K 1 target points corresponding to the first point.
在一些实施例中,第一滤波单元3002,还配置为根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定重建切片中第一点的属性信息的滤波值;以及在确定出重建切片中至少一个点的属性信息的滤波值之后,根据重建切片中至少一个点的属性信息的滤波值确定滤波后切片。 In some embodiments, the first filtering unit 3002 is further configured to perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filtering of the attribute information of the first point in the reconstructed slice. value; and after determining the filtered value of the attribute information of at least one point in the reconstructed slice, determining the filtered slice according to the filtered value of the attribute information of at least one point in the reconstructed slice.
在一些实施例中,第一确定单元3001,还配置为根据初始切片中点的属性信息的原始值,确定第一属性参数;以及根据重建切片中点对应的K 1个目标点的属性信息的重建值,确定第二属性参数;以及基于第一属性参数和第二属性参数,确定第一滤波系数。 In some embodiments, the first determination unit 3001 is further configured to determine the first attribute parameter based on the original value of the attribute information of the initial slice midpoint; and based on the attribute information of the K 1 target points corresponding to the reconstructed slice midpoint. reconstruct the value to determine the second attribute parameter; and determine the first filter coefficient based on the first attribute parameter and the second attribute parameter.
在一些实施例中,第一确定单元3001,还配置为根据第一属性参数和第二属性参数,确定互相关参数;以及根据第二属性参数确定自相关参数;以及根据互相关参数和自相关参数进行系数计算,得到第一滤波系数。In some embodiments, the first determining unit 3001 is further configured to determine the cross-correlation parameter according to the first attribute parameter and the second attribute parameter; and determine the auto-correlation parameter according to the second attribute parameter; and determine the auto-correlation parameter according to the cross-correlation parameter and the auto-correlation parameter. The parameters are used for coefficient calculation to obtain the first filter coefficient.
在一些实施例中,第一确定单元3001,还配置为确定重建切片的属性信息的待处理分量的第一代价值,确定滤波后切片的属性信息的待处理分量的第二代价值;以及根据第一代价值和第二代价值,确定待处理分量的第一滤波标识信息;根据待处理分量的第一滤波标识信息,得到第一滤波标识信息。In some embodiments, the first determining unit 3001 is further configured to determine the first generation value of the to-be-processed component of the attribute information of the reconstructed slice, determine the second-generation value of the to-be-processed component of the attribute information of the filtered slice; and according to The first generation value and the second generation value determine the first filter identification information of the component to be processed; and obtain the first filter identification information based on the first filter identification information of the component to be processed.
在一些实施例中,第一确定单元3001,还配置为若第二代价值小于第一代价值,则确定待处理分量的第一滤波标识信息的取值为第一值;以及若第二代价值大于第一代价值,则确定待处理分量的第一滤波标识信息的取值为第二值。In some embodiments, the first determination unit 3001 is further configured to determine that the value of the first filter identification information of the component to be processed is the first value if the second generation value is less than the first generation value; and if the second generation value If the value is greater than the first generation value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
在一些实施例中,第一确定单元3001,还配置为利用率失真代价方式对重建切片的属性信息的待处理分量进行代价值计算,将所得到的第一率失真值作为第一代价值;以及利用率失真代价方式对滤波后切片的属性信息的待处理分量进行代价值计算,将所得到的第二率失真值作为第二代价值。In some embodiments, the first determination unit 3001 is further configured to use the rate-distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice, and use the obtained first rate-distortion value as the first-generation value; And use the rate distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the filtered slice, and use the obtained second rate distortion value as the second generation value.
在一些实施例中,第一确定单元3001,还配置为利用率失真代价方式对重建切片的属性信息的待处理分量进行代价值计算,得到第一率失真值;以及利用预设性能衡量指标对重建切片的属性信息的待处理分量进行性能值计算,得到第一性能值;以及根据第一率失真值和第一性能值,确定第一代价值;以及利用率失真代价方式对滤波后切片的属性信息的待处理分量进行代价值计算,得到第二率失真值;以及利用预设性能衡量指标对滤波后切片的属性信息的待处理分量进行性能值计算,得到第二性能值;以及根据第二率失真值和第二性能值,确定第二代价值。In some embodiments, the first determination unit 3001 is further configured to use a rate-distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice to obtain the first rate-distortion value; and use the preset performance measurement index to calculate the cost value. Perform performance value calculation on the to-be-processed component of the attribute information of the reconstructed slice to obtain the first performance value; and determine the first generation value based on the first rate distortion value and the first performance value; and use the rate distortion cost method to calculate the filtered slice Calculate the cost value of the component to be processed of the attribute information to obtain the second rate distortion value; and use the preset performance measurement index to calculate the performance value of the component to be processed of the attribute information of the filtered slice to obtain the second performance value; and according to the second The second rate distortion value and the second performance value determine the second generation value.
在一些实施例中,第一确定单元3001,还配置为若第二性能值大于第一性能值且第二率失真值小于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第一值;以及若第二性能值小于第一性能值,则确定待处理分量的第一滤波标识信息的取值为第二值。In some embodiments, the first determining unit 3001 is further configured to determine the first filter identification information of the component to be processed if the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value. The value is the first value; and if the second performance value is less than the first performance value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
在一些实施例中,第一确定单元3001,还配置为若第二性能值大于第一性能值且第二率失真值小于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第一值;以及若第二率失真值大于第一率失真值,则确定待处理分量的第一滤波标识信息的取值为第二值。In some embodiments, the first determining unit 3001 is further configured to determine the first filter identification information of the component to be processed if the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value. The value is the first value; and if the second rate distortion value is greater than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
在一些实施例中,第一确定单元3001,还配置为若待处理分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的待处理分量进行滤波处理;以及若待处理分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的待处理分量进行滤波处理。In some embodiments, the first determining unit 3001 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice if the value of the first filter identification information of the component to be processed is the first value; and If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
在一些实施例中,属性信息包括颜色分量,且颜色分量包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,若颜色分量符合RGB颜色空间,则确定第一颜色分量、第二颜色分量和第三颜色分量依次为:R分量、G分量、B分量;若颜色分量符合YUV颜色空间,则确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、U分量、V分量。In some embodiments, the attribute information includes a color component, and the color component includes at least one of the following: a first color component, a second color component, and a third color component; wherein, if the color component conforms to the RGB color space, the third color component is determined. The first color component, the second color component and the third color component are in order: R component, G component, B component; if the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are in order are: Y component, U component, V component.
在一些实施例中,第一确定单元3001,还配置为在待处理分量为颜色分量的情况下,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息; 以及根据第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息,得到第一滤波标识信息。In some embodiments, the first determining unit 3001 is further configured to determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the second color component when the component to be processed is a color component. The first filter identification information of the three color components; and the first filter identification information is obtained according to the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component. information.
在一些实施例中,第一确定单元3001,还配置为若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定第一滤波标识信息指示对重建切片进行滤波处理;以及若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中全部为第二值,则确定第一滤波标识信息指示不对重建切片进行滤波处理。In some embodiments, the first determining unit 3001 is further configured to: if at least one of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component One is the first value, then it is determined that the first filter identification information indicates filtering of the reconstructed slice; and if the first filter identification information of the first color component, the first filter identification information of the second color component and the third color component If all the first filtering identification information is the second value, it is determined that the first filtering identification information indicates that the reconstructed slice is not to be filtered.
在一些实施例中,第一确定单元3001,还配置为若第一滤波标识信息指示不对重建切片进行滤波处理,则不对第一滤波系数进行编码。In some embodiments, the first determining unit 3001 is further configured to not encode the first filter coefficient if the first filter identification information indicates that the reconstructed slice is not to be filtered.
在一些实施例中,第一确定单元3001,还配置为在重建点云不满足预设条件的情况下,根据重建点云与重建点云对应的初始点云,确定第二滤波系数;In some embodiments, the first determination unit 3001 is also configured to determine the second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud when the reconstructed point cloud does not meet the preset conditions;
第一滤波单元3002,还配置为根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云;The first filtering unit 3002 is also configured to perform filtering processing on the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud;
第一确定单元3001,还配置为根据滤波后点云,确定第二滤波标识信息;其中,第二滤波标识信息指示是否对重建点云进行滤波处理;The first determination unit 3001 is further configured to determine second filter identification information based on the filtered point cloud; wherein the second filter identification information indicates whether to filter the reconstructed point cloud;
编码单元3003,还配置为对第二滤波标识信息进行编码;以及若第二滤波标识信息指示对重建点云进行滤波处理,则对第二滤波系数进行编码;以及将所得到的编码比特写入码流。The encoding unit 3003 is also configured to encode the second filter identification information; and if the second filter identification information indicates filtering the reconstructed point cloud, encode the second filter coefficient; and write the resulting encoded bits into code stream.
在一些实施例中,第一滤波单元3002,还配置为确定重建点云中第一点对应的K 2个目标点;以及根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云;其中,第一点表示重建点云中的点,第一点对应的K 2个目标点包括第一点以及重建点云中与第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。 In some embodiments, the first filtering unit 3002 is further configured to determine K 2 target points corresponding to the first point in the reconstructed point cloud; and to determine the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient. The target point is filtered to determine the filtered point cloud; among them, the first point represents the point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the points adjacent to the first point in the reconstructed point cloud. (K 2 -1) neighboring points, K 2 is an integer greater than 1.
在一些实施例中,第一滤波单元3002,还配置为基于重建点云中的第一点,利用K近邻搜索方式在重建点云中搜索预设数量个候选点;以及分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值;以及根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将第一点和(K 2-1)个近邻点确定为第一点对应的K 2个目标点。 In some embodiments, the first filtering unit 3002 is also configured to use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud based on the first point in the reconstructed point cloud; and respectively calculate the first point and Distance values between a preset number of candidate points, determining relatively small (K 2 -1) distance values from the obtained preset number of distance values; and corresponding to (K 2 -1) distance values Determine (K 2 -1) neighbor points of candidate points, and determine the first point and (K 2 -1) neighbor points as K 2 target points corresponding to the first point.
在一些实施例中,第一滤波单元3002,还配置为根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定重建点云中第一点的属性信息的滤波值;以及在确定出重建点云中至少一个点的属性信息的滤波值之后,根据重建点云中至少一个点的属性信息的滤波值确定滤波后点云。 In some embodiments, the first filtering unit 3002 is also configured to filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the attribute information of the first point in the reconstructed point cloud. the filter value; and after determining the filter value of the attribute information of at least one point in the reconstructed point cloud, determining the filtered point cloud according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
在一些实施例中,第一确定单元3001,还配置为根据初始点云中点的属性信息的原始值,确定第三属性参数;以及根据重建点云中点对应的K 2个目标点的属性信息的重建值,确定第四属性参数;以及基于第三属性参数和第四属性参数,确定第二滤波系数。 In some embodiments, the first determination unit 3001 is further configured to determine the third attribute parameter based on the original value of the attribute information of the initial point cloud midpoint; and based on the attributes of the K 2 target points corresponding to the reconstructed point cloud midpoint. Determine the fourth attribute parameter based on the reconstructed value of the information; and determine the second filter coefficient based on the third attribute parameter and the fourth attribute parameter.
在一些实施例中,第一确定单元3001,还配置为根据第三属性参数和第四属性参数,确定互相关参数;以及根据第四属性参数确定自相关参数;以及根据互相关参数和自相关参数进行系数计算,得到第二滤波系数。In some embodiments, the first determining unit 3001 is further configured to determine the cross-correlation parameter according to the third attribute parameter and the fourth attribute parameter; and determine the auto-correlation parameter according to the fourth attribute parameter; and determine the auto-correlation parameter according to the cross-correlation parameter and the auto-correlation parameter. The parameters are used for coefficient calculation to obtain the second filter coefficient.
在一些实施例中,第一确定单元3001,还配置为确定重建点云的属性信息的待处理分量的第三代价值,确定滤波后点云的属性信息的待处理分量的***价值;以及根据第三代价值和***价值,确定待处理分量的第二滤波标识信息;根据待处理分量的第二滤波标识信息,得到第二滤波标识信息。In some embodiments, the first determination unit 3001 is further configured to determine the third generation value of the to-be-processed component of the attribute information of the reconstructed point cloud, and determine the fourth-generation value of the to-be-processed component of the attribute information of the filtered point cloud; And determine the second filter identification information of the component to be processed according to the third generation value and the fourth generation value; obtain the second filter identification information according to the second filter identification information of the component to be processed.
在一些实施例中,第一确定单元3001,还配置为若***价值小于第三代价值,则确定待处理分量的第二滤波标识信息的取值为第三值;以及若***价值大于第三代价值,则确定待处理分量的第二滤波标识信息的取值为第四值。In some embodiments, the first determination unit 3001 is further configured to determine that the value of the second filter identification information of the component to be processed is the third value if the fourth generation value is less than the third generation value; and if the fourth generation value If the value is greater than the third generation value, the value of the second filter identification information of the component to be processed is determined to be the fourth value.
在一些实施例中,第一确定单元3001,还配置为若待处理分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的待处理分量进行滤波处理;以及若待处理分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的待处理分量进行滤波处理。In some embodiments, the first determining unit 3001 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed point cloud if the value of the second filter identification information of the component to be processed is the third value; And if the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
在一些实施例中,第一确定单元3001,还配置为在待处理分量为颜色分量的情况下,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息;以及根据第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息,得到第二滤波标识信息。In some embodiments, the first determining unit 3001 is further configured to determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the second color component when the component to be processed is a color component. Second filter identification information of three color components; and obtaining a second filter identification information based on the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component information.
在一些实施例中,第一确定单元3001,还配置为若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定第二滤波标识信息指示对重建点云进行滤波处理;以及若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中全部为第四值,则确定第二滤波标识信息指示不对重建点云进行滤波处理。In some embodiments, the first determining unit 3001 is further configured to: if at least one of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component One is the third value, then it is determined that the second filter identification information indicates filtering of the reconstructed point cloud; and if the second filter identification information of the first color component, the second filter identification information of the second color component and the third color component If all of the second filter identification information are fourth values, it is determined that the second filter identification information indicates that the reconstructed point cloud is not filtered.
在一些实施例中,第一确定单元3001,还配置为若第二滤波标识信息指示不对重建点云进行滤波处理,则不对第二滤波系数进行编码。In some embodiments, the first determination unit 3001 is further configured to not encode the second filter coefficient if the second filter identification information indicates that the reconstructed point cloud is not to be filtered.
在一些实施例中,第一确定单元3001,还配置为若至少一个初始切片的数量为多个,则从多个初始切片中确定n个初始切片,对n个初始切片进行聚合处理,得到初始聚合切片;以及确定初始聚合切片对应的重建聚合切片;其中,重建聚合切片是由n个初始切片对应的重建切片聚合得到,n为大于1的整数;以及根据初始聚合切片与重建聚合切片,确定第三滤波系数;In some embodiments, the first determining unit 3001 is also configured to determine n initial slices from the multiple initial slices if the number of at least one initial slice is multiple, and perform aggregation processing on the n initial slices to obtain the initial aggregation slice; and determine the reconstructed aggregation slice corresponding to the initial aggregation slice; wherein, the reconstructed aggregation slice is obtained by aggregating the reconstructed slices corresponding to n initial slices, n is an integer greater than 1; and according to the initial aggregation slice and the reconstructed aggregation slice, determine third filter coefficient;
第一滤波单元3002,还配置为根据第三滤波系数对重建聚合切片进行滤波处理,确定重建聚合切片对应的滤波后聚合切片;The first filtering unit 3002 is also configured to filter the reconstructed aggregate slice according to the third filter coefficient, and determine the filtered aggregate slice corresponding to the reconstructed aggregate slice;
第一确定单元3001,还配置为根据滤波后聚合切片,确定第三滤波标识信息;其中,第三滤波标识信息指示是否对重建聚合切片进行滤波处理;The first determining unit 3001 is further configured to determine third filtering identification information based on the filtered aggregate slice; wherein the third filtering identification information indicates whether to perform filtering processing on the reconstructed aggregated slice;
编码单元3003,还配置为对第三滤波标识信息进行编码; Encoding unit 3003 is also configured to encode the third filter identification information;
第一确定单元3001,还配置为若第三滤波标识信息指示对重建聚合切片进行滤波处理,则对第三滤波系数进行编码;The first determining unit 3001 is further configured to encode the third filter coefficient if the third filter identification information indicates that the reconstructed aggregate slice is filtered;
编码单元3003,还配置为将所得到的编码比特写入码流。The encoding unit 3003 is also configured to write the obtained encoded bits into the code stream.
在一些实施例中,第一滤波单元3002,还配置为在对初始点云对应的至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;In some embodiments, the first filtering unit 3002 is further configured to determine at least one filtered slice after performing filtering processing on at least one reconstructed slice corresponding to the initial point cloud respectively;
第一确定单元3002,还配置为对至少一个滤波后切片进行聚合处理,确定第一滤波后点云;The first determination unit 3002 is further configured to perform aggregation processing on at least one filtered slice and determine the first filtered point cloud;
第一确定单元3001,还配置为根据初始点云与第一滤波后点云,确定第四滤波系数;The first determination unit 3001 is also configured to determine the fourth filter coefficient based on the initial point cloud and the first filtered point cloud;
第一滤波单元3002,还配置为根据第四滤波系数对第一滤波后点云进行滤波处理,确定第一滤波后点云对应的第二滤波后点云;The first filtering unit 3002 is also configured to filter the first filtered point cloud according to the fourth filter coefficient, and determine the second filtered point cloud corresponding to the first filtered point cloud;
第一确定单元3001,还配置为根据第二滤波后点云,确定第四滤波标识信息;其中,第四滤波标识信息指示是否对第一滤波后点云进行滤波处理;The first determination unit 3001 is further configured to determine fourth filtering identification information based on the second filtered point cloud; wherein the fourth filtering identification information indicates whether to perform filtering processing on the first filtered point cloud;
编码单元3003,还配置为对第四滤波标识信息进行编码;以及若第四滤波标识信息指示对第一滤波后点云进行滤波处理,则对第四滤波系数进行编码;以及将所得到的编码比特写入码流。The encoding unit 3003 is also configured to encode the fourth filter identification information; and if the fourth filter identification information indicates filtering the first filtered point cloud, encode the fourth filter coefficient; and encode the obtained Bits are written to the code stream.
在一些实施例中,第一确定单元3001,还配置为确定初始切片中点的属性信息的预测值;以及根据初始切片中点的属性信息的原始值和预测值,确定初始切片中点的属性信息的残差值;In some embodiments, the first determining unit 3001 is further configured to determine the predicted value of the attribute information of the initial slice midpoint; and determine the attributes of the initial slice midpoint according to the original value and the predicted value of the attribute information of the initial slice midpoint. The residual value of the information;
编码单元3003,还配置为对初始切片中点的属性信息的残差值进行编码,并将所得到的编码比特写入码流。The encoding unit 3003 is also configured to encode the residual value of the attribute information of the initial slice midpoint, and write the resulting encoded bits into the code stream.
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It can be understood that in the embodiments of the present application, the "unit" may be part of a circuit, part of a processor, part of a program or software, etc., and of course may also be a module, or may be non-modular. Moreover, each component in this embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or software function modules.
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment is essentially either The part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions to make a computer device (can It is a personal computer, server, or network device, etc.) or processor that executes all or part of the steps of the method described in this embodiment. The aforementioned storage media include: U disk, mobile hard disk, Read Only Memory (ROM), Random Access Memory (RAM), magnetic disk or optical disk and other media that can store program code.
因此,本申请实施例提供了一种计算机存储介质,应用于编码器300,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。Therefore, the embodiment of the present application provides a computer storage medium for use in the encoder 300. The computer storage medium stores a computer program. When the computer program is executed by the first processor, any one of the foregoing embodiments is implemented. Methods.
基于上述编码器300的组成以及计算机存储介质,参见图18,其示出了本申请实施例提供的编码器300的具体硬件结构示意图。如图18所示,编码器300可以包括:第一通信接口3101、第一存储器3102和第一处理器3103;各个组件通过第一总线***3104耦合在一起。可理解,第一总线***3104用于实现这些组件之间的连接通信。第一总线***3104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图18中将各种总线都标为第一总线***3104。其中,Based on the above composition of the encoder 300 and the computer storage medium, see FIG. 18 , which shows a schematic diagram of the specific hardware structure of the encoder 300 provided by the embodiment of the present application. As shown in Figure 18, the encoder 300 may include: a first communication interface 3101, a first memory 3102, and a first processor 3103; the various components are coupled together through a first bus system 3104. It can be understood that the first bus system 3104 is used to implement connection communication between these components. In addition to the data bus, the first bus system 3104 also includes a power bus, a control bus and a status signal bus. However, for the sake of clear explanation, various buses are labeled as the first bus system 3104 in FIG. 18 . in,
第一通信接口3101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The first communication interface 3101 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
第一存储器3102,用于存储能够在第一处理器3103上运行的计算机程序;The first memory 3102 is used to store a computer program capable of running on the first processor 3103;
第一处理器3103,用于在运行所述计算机程序时,执行:The first processor 3103 is configured to execute: when running the computer program:
确定重建点云的重建切片;Determine the reconstructed slices of the reconstructed point cloud;
在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;When the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;Perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice;
根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;Determine first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to perform filtering processing on the reconstructed slice;
对第一滤波标识信息进行编码;Encoding the first filter identification information;
若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;If the first filter identification information indicates filtering the reconstructed slice, encode the first filter coefficient;
将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
可以理解,本申请实施例中的第一存储器3102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的***和方法的第一存储器3102旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the first memory 3102 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically removable memory. Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory. Volatile memory may be Random Access Memory (RAM), which is used as an external cache. By way of illustration, but not limitation, many forms of RAM are available, such as static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (Synchlink DRAM, SLDRAM) and Direct Rambus RAM (DRRAM). The first memory 3102 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
而第一处理器3103可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器3103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器3103可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器3102,第一处理器3103读取第一存储器3102中的信息,结合其硬件完成上述方法的步骤。The first processor 3103 may be an integrated circuit chip with signal processing capabilities. During the implementation process, each step of the above method can be completed by instructions in the form of hardware integrated logic circuits or software in the first processor 3103 . The above-mentioned first processor 3103 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or a ready-made programmable gate array (Field Programmable Gate Array, FPGA). or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. Each method, step and logical block diagram disclosed in the embodiment of this application can be implemented or executed. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field. The storage medium is located in the first memory 3102. The first processor 3103 reads the information in the first memory 3102 and completes the steps of the above method in combination with its hardware.
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。It will be understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), Digital Signal Processing Device (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, and other devices used to perform the functions described in this application electronic unit or combination thereof. For software implementation, the technology described in this application can be implemented through modules (such as procedures, functions, etc.) that perform the functions described in this application. Software code may be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
可选地,作为另一个实施例,第一处理器3103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。Optionally, as another embodiment, the first processor 3103 is further configured to perform the method described in any one of the preceding embodiments when running the computer program.
本实施例提供了一种编码器,在该编码器中,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码效率。This embodiment provides an encoder. In the encoder, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering processing based on the divided reconstructed slices, and determine that the reconstructed slices need to be filtered. After that, the corresponding filter coefficients are passed to the decoder; in this way, filtering based on reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds, making it highly universal; it also It can optimize the reconstructed point cloud, improve the quality of the point cloud, save bit rate, and improve encoding and decoding efficiency.
基于前述实施例相同的发明构思,参见图19,其示出了本申请实施例提供的一种解码器320的组成结构示意图。如图19所示,该解码器320可以包括:解码单元3201和第二滤波单元3202;其中,Based on the same inventive concept of the previous embodiment, see FIG. 19 , which shows a schematic structural diagram of a decoder 320 provided by an embodiment of the present application. As shown in Figure 19, the decoder 320 may include: a decoding unit 3201 and a second filtering unit 3202; wherein,
解码单元3201,配置为解析码流,确定第一滤波标识信息;以及若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;The decoding unit 3201 is configured to parse the code stream and determine the first filter identification information; and if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
第二滤波单元3202,配置为根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。The second filtering unit 3202 is configured to perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
在一些实施例中,参见图19,该解码器320还可以包括第二确定单元3203,配置为确定重建点云的参数信息;以及根据重建点云的参数信息,确定重建点云是否满足预设条件;In some embodiments, referring to Figure 19, the decoder 320 may also include a second determination unit 3203 configured to determine parameter information of the reconstructed point cloud; and determine whether the reconstructed point cloud satisfies the preset parameter information according to the reconstructed point cloud. condition;
解码单元3201,还配置为在重建点云满足预设条件时,解析码流,确定第一滤波标识信息。The decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information when the reconstructed point cloud meets the preset conditions.
在一些实施例中,第二确定单元3203,还配置为确定重建点云中点的数量;以及若重建点云中点的数量大于或等于预设阈值,则确定重建点云满足预设条件;或者,若重建点云中点的数量小于预设阈值,则确定重建点云不满足预设条件。In some embodiments, the second determination unit 3203 is further configured to determine the number of points in the reconstructed point cloud; and if the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, determine that the reconstructed point cloud meets the preset condition; Alternatively, if the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
在一些实施例中,解码单元3201,还配置为解析码流,确定初始切片中点的属性信息的残差值;In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the residual value of the attribute information of the initial slice midpoint;
第二确定单元3203,还配置为在确定初始切片中点的属性信息的预测值后,根据初始切片中点的属性信息的预测值和残差值,确定初始切片中点的属性信息的重建值;以及基于初始切片中点的属性信息的重建值,确定重建切片。The second determination unit 3203 is also configured to determine the reconstructed value of the attribute information of the initial slice midpoint based on the predicted value and residual value of the attribute information of the initial slice midpoint after determining the predicted value of the attribute information of the initial slice midpoint. ; and determine the reconstructed slice based on the reconstructed value of the attribute information of the midpoint of the initial slice.
在一些实施例中,第二确定单元3203,还配置为在确定出至少一个重建切片之后,对至少一个重建切片进行聚合处理,确定重建点云。In some embodiments, the second determining unit 3203 is further configured to perform aggregation processing on the at least one reconstructed slice to determine the reconstructed point cloud after determining the at least one reconstructed slice.
在一些实施例中,第二确定单元3203,还配置为确定重建切片中第一点对应的K 1个目标点;以及根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定滤波后切片;其中,第一点表示重建切片中的点,第一点对应的K 1个目标点包括第一点以及重建切片中与第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。 In some embodiments, the second determination unit 3203 is further configured to determine K 1 target points corresponding to the first point in the reconstructed slice; and to determine the K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient. Perform filtering to determine the filtered slice; where the first point represents the point in the reconstructed slice, and the K 1 target points corresponding to the first point include the first point and (K 1 - 1) neighboring points, K 1 is an integer greater than 1.
在一些实施例中,第二确定单元3203,还配置为基于重建切片中的第一点,利用K近邻搜索方式在重建切片中搜索预设数量个候选点;以及分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值;以及根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将第一点和(K 1-1)个近邻点确定为第一点对应的K 1个目标点。 In some embodiments, the second determination unit 3203 is further configured to use the K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice based on the first point in the reconstructed slice; and respectively calculate the first point and the preset number of candidate points in the reconstructed slice. Distance values between a number of candidate points, determine relatively small (K 1 -1) distance values from the obtained preset number of distance values; and candidates corresponding to (K 1 -1) distance values The point determines (K 1 -1) neighboring points, and the first point and (K 1 -1) neighboring points are determined as K 1 target points corresponding to the first point.
在一些实施例中,第二滤波单元3202,还配置为根据第一滤波系数对重建切片中第一点对应的K 1个目标点进行滤波处理,确定重建切片中第一点的属性信息的滤波值;以及在确定出重建切片中至少一个点的属性信息的滤波值之后,根据重建切片中至少一个点的属性信息的滤波值确定滤波后切片。 In some embodiments, the second filtering unit 3202 is further configured to perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filtering of the attribute information of the first point in the reconstructed slice. value; and after determining the filtered value of the attribute information of at least one point in the reconstructed slice, determining the filtered slice according to the filtered value of the attribute information of at least one point in the reconstructed slice.
在一些实施例中,第二滤波单元3202,还配置为若第一滤波标识信息指示不对重建切片进行滤波处理,则不执行解析码流,确定第一滤波系数的步骤,将重建切片直接确定为滤波后切片。In some embodiments, the second filtering unit 3202 is also configured to, if the first filtering identification information indicates that the reconstructed slice is not to be filtered, the step of parsing the code stream and determining the first filter coefficient is not performed, and the reconstructed slice is directly determined as Slicing after filtering.
在一些实施例中,第二确定单元3203,还配置为在确定出重建点云的至少一个滤波后切片之后,对至少一个滤波后切片进行聚合处理,确定滤波后点云。In some embodiments, the second determination unit 3203 is further configured to, after determining at least one filtered slice of the reconstructed point cloud, perform aggregation processing on the at least one filtered slice to determine the filtered point cloud.
在一些实施例中,解码单元3201,还配置为解析码流,确定第二滤波标识信息;以及若第二滤波标识信息指示对重建点云进行滤波处理,则解析码流,确定第二滤波系数;In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the second filtering identification information; and if the second filtering identification information indicates filtering the reconstructed point cloud, parse the code stream and determine the second filtering coefficient. ;
第二滤波单元3202,还配置为根据第二滤波系数对重建点云进行滤波处理,确定重建点云对应的滤波后点云。The second filtering unit 3202 is also configured to filter the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud.
在一些实施例中,第解码单元3201,还配置为在重建点云不满足预设条件时,解析码流,确定第二滤波标识信息。In some embodiments, the first decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information when the reconstructed point cloud does not meet the preset conditions.
在一些实施例中,第二确定单元3203,还配置为若第二滤波标识信息指示不对重建点云进行滤波处理,则不执行解析码流,确定第二滤波系数的步骤,将重建点云直接确定为滤波后点云。In some embodiments, the second determination unit 3203 is also configured to, if the second filter identification information indicates that the reconstructed point cloud is not filtered, the step of parsing the code stream and determining the second filter coefficient is not performed, and the reconstructed point cloud is directly processed. Determine it as the filtered point cloud.
在一些实施例中,第二确定单元3203,还配置为确定重建点云中第一点对应的K 2个目标点;以及根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定滤波后点云;其中,第一点表示重建点云中的点,第一点对应的K 2个目标点包括第一点以及重建点云中与第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。 In some embodiments, the second determination unit 3203 is further configured to determine K 2 target points corresponding to the first point in the reconstructed point cloud; and to determine the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient. The target point is filtered to determine the filtered point cloud; among them, the first point represents the point in the reconstructed point cloud, and the K 2 target points corresponding to the first point include the first point and the points adjacent to the first point in the reconstructed point cloud. (K 2 -1) neighboring points, K 2 is an integer greater than 1.
在一些实施例中,第二确定单元3203,还配置为基于重建点云中的第一点,利用K近邻搜索方式在重建点云中搜索预设数量个候选点;以及分别计算第一点与预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值;以及根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将第一点和(K 2-1)个近邻点确定为第一点对应的K 2个目标点。 In some embodiments, the second determination unit 3203 is also configured to search a preset number of candidate points in the reconstructed point cloud using the K nearest neighbor search method based on the first point in the reconstructed point cloud; and respectively calculate the first point and Distance values between a preset number of candidate points, determining relatively small (K 2 -1) distance values from the obtained preset number of distance values; and corresponding to (K 2 -1) distance values Determine (K 2 -1) neighbor points of candidate points, and determine the first point and (K 2 -1) neighbor points as K 2 target points corresponding to the first point.
在一些实施例中,第二滤波单元32032,还配置为根据第二滤波系数对重建点云中第一点对应的K 2个目标点进行滤波处理,确定重建点云中第一点的属性信息的滤波值;以及在确定出重建点云中至少一个点的属性信息的滤波值之后,根据重建点云中至少一个点的属性信息的滤波值确定滤波后点云。 In some embodiments, the second filtering unit 32032 is also configured to filter the K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the attribute information of the first point in the reconstructed point cloud. the filter value; and after determining the filter value of the attribute information of at least one point in the reconstructed point cloud, determining the filtered point cloud according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
在一些实施例中,属性信息包括颜色分量,且颜色分量包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,若颜色分量符合RGB颜色空间,则确定第一颜色分量、第二颜色分量和第三颜色分量依次为:R分量、G分量、B分量;若颜色分量符合YUV颜色空间,则确定第一颜色分量、第二颜色分量和第三颜色分量依次为:Y分量、U分量、V分量。In some embodiments, the attribute information includes a color component, and the color component includes at least one of the following: a first color component, a second color component, and a third color component; wherein, if the color component conforms to the RGB color space, the third color component is determined. The first color component, the second color component and the third color component are in order: R component, G component, B component; if the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are in order are: Y component, U component, V component.
在一些实施例中,解码单元3201,还配置为解析码流,确定待处理分量的第一滤波标识信息;其中,待处理分量的第一滤波标识信息指示是否对重建切片的属性信息的待处理分量进行滤波处理。In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information of the component to be processed; wherein the first filter identification information of the component to be processed indicates whether the attribute information of the reconstructed slice is to be processed. components are filtered.
在一些实施例中,第二确定单元3203,还配置为若待处理分量的第一滤波标识信息的取值为第一值,则确定对重建切片的属性信息的待处理分量进行滤波处理;以及若待处理分量的第一滤波标识信息的取值为第二值,则确定不对重建切片的属性信息的待处理分量进行滤波处理。In some embodiments, the second determination unit 3203 is further configured to determine to perform filtering processing on the to-be-processed component of the attribute information of the reconstructed slice if the value of the first filter identification information of the component to be processed is the first value; and If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
在一些实施例中,解码单元3201,还配置为解析码流,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息;其中,第一颜色分量的第一滤波标识信息指示是否对重建切片的属性信息的第一颜色分量进行滤波处理,第二颜色分量的第一滤波标 识信息指示是否对重建切片的属性信息的第二颜色分量进行滤波处理,第三颜色分量的第一滤波标识信息指示是否对重建切片的属性信息的第三颜色分量进行滤波处理。In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component. ; Wherein, the first filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice, and the first filter identification information of the second color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice. The second color component is subjected to filtering processing, and the first filtering identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed slice.
在一些实施例中,第二确定单元3203,还配置为若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定第一滤波标识信息指示对重建切片进行滤波处理;以及若第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息中全部为第二值,则确定第一滤波标识信息指示不对重建切片进行滤波处理。In some embodiments, the second determining unit 3203 is further configured to: if at least one of the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component One is the first value, then it is determined that the first filter identification information indicates filtering of the reconstructed slice; and if the first filter identification information of the first color component, the first filter identification information of the second color component and the third color component If all the first filtering identification information is the second value, it is determined that the first filtering identification information indicates that the reconstructed slice is not to be filtered.
在一些实施例中,解码单元3201,还配置为解析码流,确定待处理分量的第二滤波标识信息;其中,待处理分量的第二滤波标识信息指示是否对重建点云的属性信息的待处理分量进行滤波处理。In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information of the component to be processed; wherein the second filter identification information of the component to be processed indicates whether to reconstruct the attribute information of the point cloud. The processing components are filtered.
在一些实施例中,第二确定单元3203,还配置为若待处理分量的第二滤波标识信息的取值为第三值,则确定对重建点云的属性信息的待处理分量进行滤波处理;以及若待处理分量的第二滤波标识信息的取值为第四值,则确定不对重建点云的属性信息的待处理分量进行滤波处理。In some embodiments, the second determination unit 3203 is further configured to determine to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud if the value of the second filter identification information of the component to be processed is the third value; And if the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
在一些实施例中,解码单元3201,还配置为解析码流,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息;其中,第一颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第一颜色分量进行滤波处理,第二颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第二颜色分量进行滤波处理,第三颜色分量的第二滤波标识信息指示是否对重建点云的属性信息的第三颜色分量进行滤波处理。In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component. ; Wherein, the second filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud, and the second filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed point cloud. The second color component of the reconstructed point cloud is subjected to filtering processing, and the second filtering identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed point cloud.
在一些实施例中,第二确定单元3203,还配置为若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定第二滤波标识信息指示对重建点云进行滤波处理;以及若第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息中全部为第四值,则确定第二滤波标识信息指示不对重建点云进行滤波处理。In some embodiments, the second determining unit 3203 is further configured to: if at least one of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component One is the third value, then it is determined that the second filter identification information indicates filtering of the reconstructed point cloud; and if the second filter identification information of the first color component, the second filter identification information of the second color component and the third color component If all of the second filter identification information are fourth values, it is determined that the second filter identification information indicates that the reconstructed point cloud is not filtered.
在一些实施例中,解码单元3201,还配置为解析码流,确定第三滤波标识信息;以及若第三滤波标识信息指示对重建聚合切片进行滤波处理,则解析码流,确定第三滤波系数;其中,重建聚合切片是由n个重建切片聚合得到,n为大于1的整数;In some embodiments, the decoding unit 3201 is also configured to parse the code stream and determine the third filtering identification information; and if the third filtering identification information indicates filtering the reconstructed aggregate slice, parse the code stream and determine the third filtering coefficient. ; Among them, the reconstructed aggregation slice is obtained by aggregating n reconstructed slices, and n is an integer greater than 1;
第二滤波单元3202,还配置为根据第三滤波系数对重建聚合切片进行滤波处理,确定重建聚合切片对应的滤波后聚合切片。The second filtering unit 3202 is further configured to perform filtering processing on the reconstructed aggregation slice according to the third filter coefficient, and determine a filtered aggregation slice corresponding to the reconstructed aggregation slice.
在一些实施例中,第二确定单元3203,还配置为在对至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;以及对至少一个滤波后切片进行聚合处理,确定第一滤波后点云;In some embodiments, the second determining unit 3203 is further configured to determine at least one filtered slice after performing filtering processing on at least one reconstructed slice respectively; and perform aggregation processing on at least one filtered slice to determine the first filtered slice. point cloud;
解码单元3201,还配置为解析码流,确定第四滤波标识信息;以及若第四滤波标识信息指示对第一滤波后点云进行滤波处理,则解析码流,确定第四滤波系数;The decoding unit 3201 is also configured to parse the code stream and determine the fourth filtering identification information; and if the fourth filtering identification information indicates filtering the first filtered point cloud, parse the code stream and determine the fourth filtering coefficient;
第二滤波单元3202,还配置为根据第四滤波系数对第一滤波后点云进行滤波处理,确定第一滤波后点云对应的第二滤波后点云。The second filtering unit 3202 is also configured to filter the first filtered point cloud according to the fourth filter coefficient, and determine the second filtered point cloud corresponding to the first filtered point cloud.
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It can be understood that in this embodiment, the "unit" may be part of a circuit, part of a processor, part of a program or software, etc., and of course may also be a module, or may be non-modular. Moreover, each component in this embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or software function modules.
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器320,该计算机存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer storage medium for use in the decoder 320. The computer storage medium stores a computer program. When the computer program is executed by the second processor, any one of the foregoing embodiments is implemented. the method described.
基于上述解码器320的组成以及计算机存储介质,参见图20,其示出了本申请实施例提供的解码器320的具体硬件结构示意图。如图20所示,解码器320可以包括:第二通信接口3301、第二存储器3302和第二处理器3303;各个组件通过第二总线***3304耦合在一起。可理解,第二总线***3304用于实现这些组件之间的连接通信。第二总线***3304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图20中将各种总线都标为第二总线***3304。其中,Based on the above composition of the decoder 320 and the computer storage medium, see FIG. 20 , which shows a schematic diagram of the specific hardware structure of the decoder 320 provided by the embodiment of the present application. As shown in Figure 20, the decoder 320 may include: a second communication interface 3301, a second memory 3302, and a second processor 3303; the various components are coupled together through a second bus system 3304. It can be understood that the second bus system 3304 is used to implement connection communication between these components. In addition to the data bus, the second bus system 3304 also includes a power bus, a control bus and a status signal bus. However, for the sake of clear explanation, various buses are labeled as the second bus system 3304 in FIG. 20 . in,
第二通信接口3301,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;The second communication interface 3301 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
第二存储器3302,用于存储能够在第二处理器3303上运行的计算机程序;The second memory 3302 is used to store computer programs that can run on the second processor 3303;
第二处理器3303,用于在运行所述计算机程序时,执行:The second processor 3303 is used to execute: when running the computer program:
解析码流,确定第一滤波标识信息;Analyze the code stream and determine the first filter identification information;
若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;If the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient;
根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。Filter the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice.
可选地,作为另一个实施例,第二处理器3303还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。Optionally, as another embodiment, the second processor 3303 is further configured to perform the method described in any one of the preceding embodiments when running the computer program.
可以理解,第二存储器3302与第一存储器3102的硬件功能类似,第二处理器3303与第一处理器3103的硬件功能类似;这里不再详述。It can be understood that the hardware functions of the second memory 3302 and the first memory 3102 are similar, and the hardware functions of the second processor 3303 and the first processor 3103 are similar; details will not be described here.
本实施例提供了一种解码器,在该解码器中,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码端可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码效率。This embodiment provides a decoder. In the decoder, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering processing based on the divided reconstructed slices, and determine that the reconstructed slices need to be filtered. After that, the corresponding filter coefficients are passed to the decoder; accordingly, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids the need to process large-scale Memory overflow occurs due to limited memory resources during point cloud processing, making it highly adaptable; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.
在本申请的再一实施例中,参见图21,其示出了本申请实施例提供的一种编解码***的组成结构示意图。如图21所示,编解码***340可以包括编码器3401和解码器3402。其中,编码器3401可以为前述实施例中任一项所述的编码器,解码器3402可以为前述实施例中任一项所述的解码器。In yet another embodiment of the present application, see FIG. 21 , which shows a schematic structural diagram of a coding and decoding system provided by an embodiment of the present application. As shown in Figure 21, the encoding and decoding system 340 may include an encoder 3401 and a decoder 3402. The encoder 3401 may be the encoder described in any of the preceding embodiments, and the decoder 3402 may be the decoder described in any of the preceding embodiments.
在本申请实施例中,该编解码***340中,编码器3401在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码器3402可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码性能。In the embodiment of the present application, in the encoding and decoding system 340, when the reconstructed point cloud meets the preset conditions, the encoder 3401 will perform filtering processing based on the divided reconstructed slices, and after determining that the reconstructed slices need to be filtered , the corresponding filter coefficient is transmitted to the decoder; accordingly, the decoder 3402 can directly decode to obtain the filter coefficient, and then use the filter coefficient to filter the reconstructed slice; in this way, filtering based on the reconstructed slice not only avoids the need to process large Memory overflow occurs due to limited memory resources during point cloud processing, making it highly adaptable; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding performance.
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that in this application, the terms "comprising", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article or device that includes a series of elements not only includes those elements , but also includes other elements not expressly listed or inherent in such process, method, article or apparatus. Without further limitation, an element defined by the statement "comprises a..." does not exclude the presence of additional identical elements in a process, method, article or apparatus that includes that element.
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The above serial numbers of the embodiments of the present application are only for description and do not represent the advantages and disadvantages of the embodiments.
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。The methods disclosed in several method embodiments provided in this application can be combined arbitrarily to obtain new method embodiments without conflict.
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。The features disclosed in several product embodiments provided in this application can be combined arbitrarily without conflict to obtain new product embodiments.
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。The features disclosed in several method or device embodiments provided in this application can be combined arbitrarily without conflict to obtain new method embodiments or device embodiments.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application. should be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
工业实用性Industrial applicability
本申请实施例中,在编码端,确定重建点云的重建切片;在重建点云满足预设条件的情况下,根据重建切片与重建切片对应的初始切片,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片;根据滤波后切片,确定第一滤波标识信息;其中,第一滤波标识信息指示是否对重建切片进行滤波处理;对第一滤波标识信息进行编码;若第一滤波标识信息指示对重建切片进行滤波处理,则对第一滤波系数进行编码;将所得到的编码比特写入码流。在解码端,解析码流,确定第一滤波标识信息;若第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;根据第一滤波系数对重建切片进行滤波处理,确定重建切片对应的滤波后切片。这样,编码端在重建点云满足预设条件的情况下,会基于划分的重建切片进行滤波处理,并且在确定需要对重建切片进行滤波处理之后,才将对应的滤波系数传递至解码端;相应地,解码端可以直接解码获得滤波系数,然后使用滤波系数对重建切片进行滤波处理;如此,基于重建切片进行滤波处理,不仅避免了处理大型点云时由于内存资源受限而导致内存溢出的情况,使得普适性高;而且也可以实现对重建点云的优化,能够提升点云的质量,节省码率,提高了编解码效率。In the embodiment of the present application, at the encoding end, the reconstructed slice of the reconstructed point cloud is determined; when the reconstructed point cloud meets the preset conditions, the first filter coefficient is determined according to the reconstructed slice and the initial slice corresponding to the reconstructed slice; according to the first The filter coefficient performs filtering on the reconstructed slice and determines the filtered slice corresponding to the reconstructed slice; determines the first filter identification information based on the filtered slice; wherein the first filter identification information indicates whether to filter the reconstructed slice; the first filtered The identification information is encoded; if the first filter identification information indicates that the reconstructed slice is filtered, the first filter coefficient is encoded; and the resulting encoded bits are written into the code stream. At the decoding end, the code stream is parsed to determine the first filter identification information; if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient; according to the first filter coefficient, the The reconstructed slice is filtered, and the filtered slice corresponding to the reconstructed slice is determined. In this way, when the reconstructed point cloud meets the preset conditions, the encoding end will perform filtering based on the divided reconstructed slices, and only after determining that the reconstructed slices need to be filtered, the corresponding filter coefficients will be passed to the decoder; correspondingly Therefore, the decoder can directly decode to obtain the filter coefficients, and then use the filter coefficients to filter the reconstructed slices; in this way, filtering based on the reconstructed slices not only avoids memory overflow due to limited memory resources when processing large point clouds , making it highly universal; it can also optimize the reconstructed point cloud, which can improve the quality of the point cloud, save bit rates, and improve encoding and decoding efficiency.

Claims (69)

  1. 一种编码方法,应用于编码器,所述方法包括:An encoding method, applied to an encoder, the method includes:
    确定重建点云的重建切片;Determine the reconstructed slices of the reconstructed point cloud;
    在所述重建点云满足预设条件的情况下,根据所述重建切片与所述重建切片对应的初始切片,确定第一滤波系数;When the reconstructed point cloud meets the preset conditions, determine the first filter coefficient according to the reconstructed slice and the initial slice corresponding to the reconstructed slice;
    根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片;Perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine the filtered slice corresponding to the reconstructed slice;
    根据所述滤波后切片,确定第一滤波标识信息;其中,所述第一滤波标识信息指示是否对所述重建切片进行滤波处理;Determine first filter identification information according to the filtered slice; wherein the first filter identification information indicates whether to perform filtering processing on the reconstructed slice;
    对所述第一滤波标识信息进行编码;Encoding the first filter identification information;
    若所述第一滤波标识信息指示对所述重建切片进行滤波处理,则对所述第一滤波系数进行编码;If the first filter identification information indicates that the reconstructed slice is filtered, the first filter coefficient is encoded;
    将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, further comprising:
    确定所述重建点云的参数信息;Determine parameter information of the reconstructed point cloud;
    根据所述重建点云的参数信息,确定所述重建点云是否满足预设条件。According to the parameter information of the reconstructed point cloud, it is determined whether the reconstructed point cloud satisfies a preset condition.
  3. 根据权利要求2所述的方法,其中,所述确定所述重建点云的参数信息,包括:确定所述重建点云中点的数量;The method according to claim 2, wherein determining the parameter information of the reconstructed point cloud includes: determining the number of points in the reconstructed point cloud;
    相应地,所述方法还包括:Correspondingly, the method also includes:
    若所述重建点云中点的数量大于或等于预设阈值,则确定所述重建点云满足预设条件;或者,If the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, it is determined that the reconstructed point cloud meets the preset condition; or,
    若所述重建点云中点的数量小于预设阈值,则确定所述重建点云不满足预设条件。If the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
  4. 根据权利要求3所述的方法,其中,所述确定所述重建点云中点的数量,包括:The method of claim 3, wherein determining the number of points in the reconstructed point cloud includes:
    对初始点云进行几何量化处理,得到量化后点云;Perform geometric quantification processing on the initial point cloud to obtain the quantified point cloud;
    根据所述量化后点云中点的数量,确定所述重建点云中点的数量。The number of midpoints in the reconstructed point cloud is determined based on the number of midpoints in the quantized point cloud.
  5. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, further comprising:
    对初始点云进行切片处理,得到至少一个初始切片;Slice the initial point cloud to obtain at least one initial slice;
    对所述至少一个初始切片依次进行编码及重建处理,得到至少一个重建切片;Perform encoding and reconstruction processing on the at least one initial slice in sequence to obtain at least one reconstructed slice;
    对所述至少一个重建切片进行聚合处理,得到所述重建点云。The at least one reconstructed slice is aggregated to obtain the reconstructed point cloud.
  6. 根据权利要求1所述的方法,其中,所述根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片,包括:The method according to claim 1, wherein filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice includes:
    确定所述重建切片中第一点对应的K 1个目标点; Determine K 1 target points corresponding to the first point in the reconstructed slice;
    根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述滤波后切片;其中,所述第一点表示所述重建切片中的点,所述第一点对应的K 1个目标点包括所述第一点以及所述重建切片中与所述第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。 The K 1 target points corresponding to the first point in the reconstructed slice are filtered according to the first filter coefficient to determine the filtered slice; wherein the first point represents a point in the reconstructed slice, The K 1 target points corresponding to the first point include the first point and (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice, and K 1 is an integer greater than 1. .
  7. 根据权利要求6所述的方法,其中,所述确定所述重建切片中第一点对应的K 1个目标点,包括: The method according to claim 6, wherein determining K 1 target points corresponding to the first point in the reconstructed slice includes:
    基于所述重建切片中的第一点,利用K近邻搜索方式在所述重建切片中搜索预设数量个候选点;Based on the first point in the reconstructed slice, use a K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice;
    分别计算所述第一点与所述预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值; Calculate distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 1 -1) distance values from the obtained preset number of distance values;
    根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将所述第一点和所述(K 1-1)个近邻点确定为所述第一点对应的K 1个目标点。 Determine (K 1 -1) neighbor points based on the candidate points corresponding to (K 1 -1) distance values, and determine the first point and the (K 1 -1) neighbor points as the first point Corresponding K 1 target points.
  8. 根据权利要求6所述的方法,其中,所述根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述滤波后切片,包括: The method according to claim 6, wherein filtering K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice includes:
    根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述重建切片中所述第一点的属性信息的滤波值; Perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed slice;
    在确定出所述重建切片中至少一个点的属性信息的滤波值之后,根据所述重建切片中至少一个点的属性信息的滤波值确定所述滤波后切片。After determining the filter value of the attribute information of at least one point in the reconstructed slice, the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
  9. 根据权利要求1所述的方法,其中,所述根据所述重建切片与所述重建切片对应的初始切片,确定第一滤波系数,包括:The method according to claim 1, wherein determining the first filter coefficient according to the reconstructed slice and an initial slice corresponding to the reconstructed slice includes:
    根据所述初始切片中点的属性信息的原始值,确定第一属性参数;Determine the first attribute parameter according to the original value of the attribute information of the midpoint of the initial slice;
    根据所述重建切片中点对应的K 1个目标点的属性信息的重建值,确定第二属性参数; Determine the second attribute parameter according to the reconstructed values of the attribute information of K 1 target points corresponding to the midpoint of the reconstructed slice;
    基于所述第一属性参数和所述第二属性参数,确定所述第一滤波系数。The first filter coefficient is determined based on the first attribute parameter and the second attribute parameter.
  10. 根据权利要求9所述的方法,其中,所述基于所述第一属性参数和所述第二属性参数,确定所 述第一滤波系数,包括:The method of claim 9, wherein determining the first filter coefficient based on the first attribute parameter and the second attribute parameter includes:
    根据所述第一属性参数和所述第二属性参数,确定互相关参数;Determine the cross-correlation parameter according to the first attribute parameter and the second attribute parameter;
    根据所述第二属性参数确定自相关参数;Determine the autocorrelation parameter according to the second attribute parameter;
    根据所述互相关参数和所述自相关参数进行系数计算,得到所述第一滤波系数。Perform coefficient calculation according to the cross-correlation parameter and the auto-correlation parameter to obtain the first filter coefficient.
  11. 根据权利要求1所述的方法,其中,所述根据所述滤波后切片,确定第一滤波标识信息,包括:The method according to claim 1, wherein determining the first filter identification information according to the filtered slice includes:
    确定所述重建切片的属性信息的待处理分量的第一代价值,以及确定所述滤波后切片的属性信息的待处理分量的第二代价值;Determining a first generation value of the to-be-processed component of the attribute information of the reconstructed slice, and determining a second-generation value of the to-be-processed component of the attribute information of the filtered slice;
    根据所述第一代价值和所述第二代价值,确定所述待处理分量的第一滤波标识信息;Determine first filter identification information of the component to be processed according to the first generation value and the second generation value;
    根据所述待处理分量的第一滤波标识信息,得到所述第一滤波标识信息。The first filter identification information is obtained according to the first filter identification information of the component to be processed.
  12. 根据权利要求11所述的方法,其中,所述根据所述第一代价值和所述第二代价值,确定所述待处理分量的第一滤波标识信息,包括:The method according to claim 11, wherein determining the first filter identification information of the component to be processed according to the first generation value and the second generation value includes:
    若所述第二代价值小于所述第一代价值,则确定所述待处理分量的第一滤波标识信息的取值为第一值;If the second generation value is less than the first generation value, determine that the value of the first filter identification information of the component to be processed is the first value;
    若所述第二代价值大于所述第一代价值,则确定所述待处理分量的第一滤波标识信息的取值为第二值。If the second generation value is greater than the first generation value, the value of the first filter identification information of the component to be processed is determined to be the second value.
  13. 根据权利要求11所述的方法,其中,所述确定所述重建切片的属性信息的待处理分量的第一代价值,包括:The method according to claim 11, wherein the determining the first generation value of the component to be processed of the attribute information of the reconstructed slice includes:
    利用率失真代价方式对所述重建切片的属性信息的待处理分量进行代价值计算,将所得到的第一率失真值作为所述第一代价值;Calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice using a rate-distortion cost method, and use the obtained first rate-distortion value as the first-generation value;
    相应地,所述确定所述滤波后切片的属性信息的待处理分量的第二代价值,包括:Correspondingly, determining the second generation value of the component to be processed of the attribute information of the filtered slice includes:
    利用率失真代价方式对所述滤波后切片的属性信息的待处理分量进行代价值计算,将所得到的第二率失真值作为所述第二代价值。The rate-distortion cost method is used to calculate the cost value of the component to be processed of the attribute information of the filtered slice, and the obtained second rate-distortion value is used as the second generation value.
  14. 根据权利要求11所述的方法,其中,所述确定所述重建切片的属性信息的待处理分量的第一代价值,包括:The method according to claim 11, wherein the determining the first generation value of the component to be processed of the attribute information of the reconstructed slice includes:
    利用率失真代价方式对所述重建切片的属性信息的待处理分量进行代价值计算,得到第一率失真值;Calculate the cost value of the to-be-processed component of the attribute information of the reconstructed slice using a rate-distortion cost method to obtain a first rate-distortion value;
    利用预设性能衡量指标对所述重建切片的属性信息的待处理分量进行性能值计算,得到第一性能值;Calculate the performance value of the to-be-processed component of the attribute information of the reconstructed slice using a preset performance measurement index to obtain a first performance value;
    根据所述第一率失真值和所述第一性能值,确定所述第一代价值;determining the first generation value based on the first rate distortion value and the first performance value;
    相应地,所述确定所述滤波后切片的属性信息的待处理分量的第二代价值,包括:Correspondingly, determining the second generation value of the component to be processed of the attribute information of the filtered slice includes:
    利用率失真代价方式对所述滤波后切片的属性信息的待处理分量进行代价值计算,得到第二率失真值;Using a rate-distortion cost method to calculate the cost value of the to-be-processed component of the attribute information of the filtered slice, obtain a second rate-distortion value;
    利用预设性能衡量指标对所述滤波后切片的属性信息的待处理分量进行性能值计算,得到第二性能值;Calculate the performance value of the to-be-processed component of the attribute information of the filtered slice using a preset performance measurement index to obtain a second performance value;
    根据所述第二率失真值和所述第二性能值,确定所述第二代价值。The second generation value is determined based on the second rate distortion value and the second performance value.
  15. 根据权利要求14所述的方法,其中,所述根据所述第一代价值和所述第二代价值,确定所述待处理分量的第一滤波标识信息,包括:The method according to claim 14, wherein determining the first filter identification information of the component to be processed according to the first generation value and the second generation value includes:
    若所述第二性能值大于所述第一性能值且所述第二率失真值小于所述第一率失真值,则确定所述待处理分量的第一滤波标识信息的取值为第一值;If the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the first value;
    若所述第二性能值小于所述第一性能值,则确定所述待处理分量的第一滤波标识信息的取值为第二值。If the second performance value is less than the first performance value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  16. 根据权利要求14所述的方法,其中,所述根据所述第一代价值和所述第二代价值,确定所述待处理分量的第一滤波标识信息,包括:The method according to claim 14, wherein determining the first filter identification information of the component to be processed according to the first generation value and the second generation value includes:
    若所述第二性能值大于所述第一性能值且所述第二率失真值小于所述第一率失真值,则确定所述待处理分量的第一滤波标识信息的取值为第一值;If the second performance value is greater than the first performance value and the second rate distortion value is less than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the first value;
    若所述第二率失真值大于所述第一率失真值,则确定所述待处理分量的第一滤波标识信息的取值为第二值。If the second rate distortion value is greater than the first rate distortion value, it is determined that the value of the first filter identification information of the component to be processed is the second value.
  17. 根据权利要求12、15或16所述的方法,其中,所述方法还包括:The method according to claim 12, 15 or 16, wherein the method further comprises:
    若所述待处理分量的第一滤波标识信息的取值为第一值,则确定对所述重建切片的属性信息的待处理分量进行滤波处理;If the value of the first filter identification information of the component to be processed is a first value, it is determined to perform filtering processing on the component to be processed of the attribute information of the reconstructed slice;
    若所述待处理分量的第一滤波标识信息的取值为第二值,则确定不对所述重建切片的属性信息的待处理分量进行滤波处理。If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  18. 根据权利要求8、9或11任一项所述的方法,其中,所述属性信息包括颜色分量,且所述颜色分量包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,The method according to any one of claims 8, 9 or 11, wherein the attribute information includes a color component, and the color component includes at least one of: a first color component, a second color component and a third color component. color component; where,
    若所述颜色分量符合RGB颜色空间,则确定所述第一颜色分量、所述第二颜色分量和所述第三颜色分量依次为:R分量、G分量、B分量;If the color component conforms to the RGB color space, it is determined that the first color component, the second color component and the third color component are: R component, G component, and B component in order;
    若所述颜色分量符合YUV颜色空间,则确定所述第一颜色分量、所述第二颜色分量和所述第三颜色分量依次为:Y分量、U分量、V分量。If the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are: Y component, U component, and V component in order.
  19. 根据权利要求11所述的方法,其中,所述根据所述待处理分量的第一滤波标识信息,得到所述第一滤波标识信息,包括:The method according to claim 11, wherein obtaining the first filter identification information according to the first filter identification information of the component to be processed includes:
    在所述待处理分量为颜色分量的情况下,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息;When the component to be processed is a color component, determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component;
    根据所述第一颜色分量的第一滤波标识信息、所述第二颜色分量的第一滤波标识信息和所述第三颜色分量的第一滤波标识信息,得到所述第一滤波标识信息。The first filter identification information is obtained according to the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component.
  20. 根据权利要求19所述的方法,其中,所述方法还包括:The method of claim 19, further comprising:
    若所述第一颜色分量的第一滤波标识信息、所述第二颜色分量的第一滤波标识信息和所述第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定所述第一滤波标识信息指示对所述重建切片进行滤波处理;If at least one of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the The first filtering identification information indicates that the reconstructed slice is filtered;
    若所述第一颜色分量的第一滤波标识信息、所述第二颜色分量的第一滤波标识信息和所述第三颜色分量的第一滤波标识信息中全部为第二值,则确定所述第一滤波标识信息指示不对所述重建切片进行滤波处理。If all of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component are second values, then it is determined that the The first filtering identification information indicates that the reconstructed slice is not to be filtered.
  21. 根据权利要求20所述的方法,其中,所述方法还包括:The method of claim 20, wherein the method further includes:
    若所述第一滤波标识信息指示不对所述重建切片进行滤波处理,则不对所述第一滤波系数进行编码。If the first filter identification information indicates that the reconstructed slice is not to be filtered, the first filter coefficient is not encoded.
  22. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, further comprising:
    在所述重建点云不满足预设条件的情况下,根据所述重建点云与所述重建点云对应的初始点云,确定第二滤波系数;When the reconstructed point cloud does not meet the preset conditions, determine a second filter coefficient based on the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud;
    根据所述第二滤波系数对所述重建点云进行滤波处理,确定所述重建点云对应的滤波后点云;Perform filtering processing on the reconstructed point cloud according to the second filter coefficient, and determine the filtered point cloud corresponding to the reconstructed point cloud;
    根据所述滤波后点云,确定第二滤波标识信息;其中,所述第二滤波标识信息指示是否对所述重建点云进行滤波处理;Determine second filter identification information according to the filtered point cloud; wherein the second filter identification information indicates whether to perform filtering processing on the reconstructed point cloud;
    对所述第二滤波标识信息进行编码;Encoding the second filter identification information;
    若所述第二滤波标识信息指示对所述重建点云进行滤波处理,则对所述第二滤波系数进行编码;If the second filter identification information indicates that the reconstructed point cloud is filtered, the second filter coefficient is encoded;
    将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
  23. 根据权利要求22所述的方法,其中,所述根据所述第二滤波系数对所述重建点云进行滤波处理,确定所述重建点云对应的滤波后点云,包括:The method according to claim 22, wherein filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud includes:
    确定所述重建点云中第一点对应的K 2个目标点; Determine K 2 target points corresponding to the first point in the reconstructed point cloud;
    根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述滤波后点云;其中,所述第一点表示所述重建点云中的点,所述第一点对应的K 2个目标点包括所述第一点以及所述重建点云中与所述第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。 The K 2 target points corresponding to the first point in the reconstructed point cloud are filtered according to the second filter coefficient to determine the filtered point cloud; wherein the first point represents the reconstructed point cloud. points, the K 2 target points corresponding to the first point include the first point and (K 2 -1) neighbor points adjacent to the first point in the reconstructed point cloud, K 2 is An integer greater than 1.
  24. 根据权利要求23所述的方法,其中,所述确定所述重建点云中第一点对应的K 2个目标点,包括: The method according to claim 23, wherein determining the K 2 target points corresponding to the first point in the reconstructed point cloud includes:
    基于所述重建点云中的第一点,利用K近邻搜索方式在所述重建点云中搜索预设数量个候选点;Based on the first point in the reconstructed point cloud, use a K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud;
    分别计算所述第一点与所述预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值; Calculate distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 2 -1) distance values from the obtained preset number of distance values;
    根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将所述第一点和所述(K 2-1)个近邻点确定为所述第一点对应的K 2个目标点。 Determine (K 2 -1) neighbor points based on the candidate points corresponding to (K 2 -1) distance values, and determine the first point and the (K 2 -1) neighbor points as the first point Corresponding K 2 target points.
  25. 根据权利要求23所述的方法,其中,所述根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述滤波后点云,包括: The method according to claim 23, wherein the K 2 target points corresponding to the first point in the reconstructed point cloud are filtered according to the second filter coefficient, and the filtered point cloud is determined, including :
    根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述重建点云中所述第一点的属性信息的滤波值; Perform filtering processing on K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed point cloud;
    在确定出所述重建点云中至少一个点的属性信息的滤波值之后,根据所述重建点云中至少一个点的属性信息的滤波值确定所述滤波后点云。After determining the filter value of the attribute information of at least one point in the reconstructed point cloud, the filtered point cloud is determined according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
  26. 根据权利要求22所述的方法,其中,所述根据所述重建点云与所述重建点云对应的初始点云,确定第二滤波系数,包括:The method according to claim 22, wherein determining the second filter coefficient according to the reconstructed point cloud and the initial point cloud corresponding to the reconstructed point cloud includes:
    根据所述初始点云中点的属性信息的原始值,确定第三属性参数;Determine the third attribute parameter according to the original value of the attribute information of the point in the initial point cloud;
    根据所述重建点云中点对应的K 2个目标点的属性信息的重建值,确定第四属性参数; Determine the fourth attribute parameter according to the reconstructed values of the attribute information of K 2 target points corresponding to the midpoint of the reconstructed point cloud;
    基于所述第三属性参数和所述第四属性参数,确定所述第二滤波系数。The second filter coefficient is determined based on the third attribute parameter and the fourth attribute parameter.
  27. 根据权利要求26所述的方法,其中,所述基于所述第三属性参数和所述第四属性参数,确定所述第二滤波系数,包括:The method of claim 26, wherein determining the second filter coefficient based on the third attribute parameter and the fourth attribute parameter includes:
    根据所述第三属性参数和所述第四属性参数,确定互相关参数;Determine the cross-correlation parameter according to the third attribute parameter and the fourth attribute parameter;
    根据所述第四属性参数确定自相关参数;Determine the autocorrelation parameter according to the fourth attribute parameter;
    根据所述互相关参数和所述自相关参数进行系数计算,得到所述第二滤波系数。Perform coefficient calculation according to the cross-correlation parameter and the auto-correlation parameter to obtain the second filter coefficient.
  28. 根据权利要求22所述的方法,其中,所述根据所述滤波后点云,确定第二滤波标识信息,包括:The method according to claim 22, wherein determining the second filtered identification information according to the filtered point cloud includes:
    确定所述重建点云的属性信息的待处理分量的第三代价值,以及确定所述滤波后点云的属性信息的待处理分量的***价值;Determining the third generation value of the to-be-processed component of the attribute information of the reconstructed point cloud, and determining the fourth-generation value of the to-be-processed component of the attribute information of the filtered point cloud;
    根据所述第三代价值和所述***价值,确定所述待处理分量的第二滤波标识信息;Determine the second filter identification information of the component to be processed according to the third generation value and the fourth generation value;
    根据所述待处理分量的第二滤波标识信息,得到所述第二滤波标识信息。The second filter identification information is obtained according to the second filter identification information of the component to be processed.
  29. 根据权利要求28所述的方法,其中,所述根据所述第三代价值和所述***价值,确定所述待处理分量的第二滤波标识信息,包括:The method according to claim 28, wherein determining the second filter identification information of the component to be processed according to the third generation value and the fourth generation value includes:
    若所述***价值小于所述第三代价值,则确定所述待处理分量的第二滤波标识信息的取值为第三值;If the fourth generation value is less than the third generation value, determine that the value of the second filter identification information of the component to be processed is the third value;
    若所述***价值大于所述第三代价值,则确定所述待处理分量的第二滤波标识信息的取值为第四值。If the fourth generation value is greater than the third generation value, it is determined that the value of the second filter identification information of the component to be processed is the fourth value.
  30. 根据权利要求29所述的方法,其中,所述方法还包括:The method of claim 29, wherein the method further includes:
    若所述待处理分量的第二滤波标识信息的取值为第三值,则确定对所述重建点云的属性信息的待处理分量进行滤波处理;If the value of the second filter identification information of the component to be processed is a third value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is filtered;
    若所述待处理分量的第二滤波标识信息的取值为第四值,则确定不对所述重建点云的属性信息的待处理分量进行滤波处理。If the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  31. 根据权利要求28所述的方法,其中,所述根据所述待处理分量的第二滤波标识信息,得到所述第二滤波标识信息,包括:The method according to claim 28, wherein obtaining the second filter identification information according to the second filter identification information of the component to be processed includes:
    在所述待处理分量为颜色分量的情况下,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息;When the component to be processed is a color component, determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component;
    根据所述第一颜色分量的第二滤波标识信息、所述第二颜色分量的第二滤波标识信息和所述第三颜色分量的第二滤波标识信息,得到所述第二滤波标识信息。The second filter identification information is obtained according to the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component.
  32. 根据权利要求31所述的方法,其中,所述方法还包括:The method of claim 31, wherein the method further includes:
    若所述第一颜色分量的第二滤波标识信息、所述第二颜色分量的第二滤波标识信息和所述第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定所述第二滤波标识信息指示对所述重建点云进行滤波处理;If at least one of the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the The second filtering identification information indicates that the reconstructed point cloud is filtered;
    若所述第一颜色分量的第二滤波标识信息、所述第二颜色分量的第二滤波标识信息和所述第三颜色分量的第二滤波标识信息中全部为第四值,则确定所述第二滤波标识信息指示不对所述重建点云进行滤波处理。If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, then it is determined that the The second filtering identification information indicates that the reconstructed point cloud is not to be filtered.
  33. 根据权利要求32所述的方法,其中,所述方法还包括:The method of claim 32, wherein the method further includes:
    若所述第二滤波标识信息指示不对所述重建点云进行滤波处理,则不对所述第二滤波系数进行编码。If the second filter identification information indicates that the reconstructed point cloud is not to be filtered, the second filter coefficient is not encoded.
  34. 根据权利要求5所述的方法,其中,所述方法还包括:The method of claim 5, further comprising:
    若所述至少一个初始切片的数量为多个,则从多个初始切片中确定n个初始切片,对所述n个初始切片进行聚合处理,得到初始聚合切片;If the number of the at least one initial slices is multiple, n initial slices are determined from the multiple initial slices, and the n initial slices are aggregated to obtain initial aggregated slices;
    确定所述初始聚合切片对应的重建聚合切片;其中,所述重建聚合切片是由所述n个初始切片对应的重建切片聚合得到,n为大于1的整数;Determine the reconstructed aggregate slice corresponding to the initial aggregate slice; wherein the reconstructed aggregate slice is obtained by aggregating the reconstructed slices corresponding to the n initial slices, where n is an integer greater than 1;
    根据所述初始聚合切片与所述重建聚合切片,确定第三滤波系数;Determine a third filter coefficient according to the initial aggregation slice and the reconstructed aggregation slice;
    根据所述第三滤波系数对所述重建聚合切片进行滤波处理,确定所述重建聚合切片对应的滤波后聚合切片;Perform filtering processing on the reconstructed aggregation slice according to the third filter coefficient, and determine the filtered aggregation slice corresponding to the reconstructed aggregation slice;
    根据所述滤波后聚合切片,确定第三滤波标识信息;其中,所述第三滤波标识信息指示是否对所述重建聚合切片进行滤波处理;Determine third filtering identification information according to the filtered aggregation slice; wherein the third filtering identification information indicates whether to perform filtering processing on the reconstructed aggregation slice;
    对所述第三滤波标识信息进行编码;Encode the third filter identification information;
    若所述第三滤波标识信息指示对所述重建聚合切片进行滤波处理,则对所述第三滤波系数进行编码;If the third filter identification information indicates that the reconstructed aggregate slice is filtered, the third filter coefficient is encoded;
    将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
  35. 根据权利要求5所述的方法,其中,所述方法还包括:The method of claim 5, further comprising:
    在对所述初始点云对应的至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;After performing filtering processing on at least one reconstructed slice corresponding to the initial point cloud respectively, determining at least one filtered slice;
    对所述至少一个滤波后切片进行聚合处理,确定第一滤波后点云;Perform aggregation processing on the at least one filtered slice to determine a first filtered point cloud;
    根据所述初始点云与所述第一滤波后点云,确定第四滤波系数;Determine a fourth filter coefficient according to the initial point cloud and the first filtered point cloud;
    根据所述第四滤波系数对所述第一滤波后点云进行滤波处理,确定所述第一滤波后点云对应的第二滤波后点云;Perform filtering processing on the first filtered point cloud according to the fourth filter coefficient, and determine a second filtered point cloud corresponding to the first filtered point cloud;
    根据所述第二滤波后点云,确定第四滤波标识信息;其中,所述第四滤波标识信息指示是否对所述第一滤波后点云进行滤波处理;Determine fourth filtering identification information according to the second filtered point cloud; wherein the fourth filtering identification information indicates whether to perform filtering processing on the first filtered point cloud;
    对所述第四滤波标识信息进行编码;Encoding the fourth filter identification information;
    若所述第四滤波标识信息指示对所述第一滤波后点云进行滤波处理,则对所述第四滤波系数进行编码;If the fourth filtering identification information indicates that the first filtered point cloud is filtered, the fourth filter coefficient is encoded;
    将所得到的编码比特写入码流。Write the resulting coded bits into the code stream.
  36. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, further comprising:
    确定所述初始切片中点的属性信息的预测值;Determine the predicted value of the attribute information of the midpoint of the initial slice;
    根据所述初始切片中点的属性信息的原始值和所述预测值,确定所述初始切片中点的属性信息的残差值;Determine the residual value of the attribute information of the initial slice midpoint according to the original value of the attribute information of the initial slice midpoint and the predicted value;
    对所述初始切片中点的属性信息的残差值进行编码,并将所得到的编码比特写入所述码流。The residual value of the attribute information of the initial slice midpoint is encoded, and the resulting encoded bits are written into the code stream.
  37. 一种码流,所述码流包含确定解码点云的参数信息;其中,所述参数信息包括下述至少之一:初始切片中点的属性信息的残差值、第一滤波标识信息和第一滤波系数。A code stream, the code stream includes parameter information for determining the decoded point cloud; wherein the parameter information includes at least one of the following: residual values of attribute information of points in the initial slice, first filter identification information and third a filter coefficient.
  38. 一种解码方法,应用于解码器,所述方法包括:A decoding method, applied to a decoder, the method includes:
    解析码流,确定第一滤波标识信息;Analyze the code stream and determine the first filter identification information;
    若所述第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;If the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, the code stream is parsed to determine the first filter coefficient;
    根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片。Perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine a filtered slice corresponding to the reconstructed slice.
  39. 根据权利要求38所述的方法,其中,所述方法还包括:The method of claim 38, wherein the method further includes:
    确定所述重建点云的参数信息;Determine parameter information of the reconstructed point cloud;
    根据所述重建点云的参数信息,确定所述重建点云是否满足预设条件;Determine whether the reconstructed point cloud satisfies preset conditions according to the parameter information of the reconstructed point cloud;
    相应地,所述解析码流,确定第一滤波标识信息,包括:在所述重建点云满足预设条件时,解析码流,确定所述第一滤波标识信息。Correspondingly, analyzing the code stream and determining the first filter identification information includes: when the reconstructed point cloud meets a preset condition, parsing the code stream and determining the first filter identification information.
  40. 根据权利要求39所述的方法,其中,所述确定所述重建点云的参数信息,包括:确定所述重建点云中点的数量;The method of claim 39, wherein determining the parameter information of the reconstructed point cloud includes: determining the number of points in the reconstructed point cloud;
    相应地,所述方法还包括:Correspondingly, the method also includes:
    若所述重建点云中点的数量大于或等于预设阈值,则确定所述重建点云满足预设条件;或者,If the number of points in the reconstructed point cloud is greater than or equal to the preset threshold, it is determined that the reconstructed point cloud meets the preset condition; or,
    若所述重建点云中点的数量小于预设阈值,则确定所述重建点云不满足预设条件。If the number of points in the reconstructed point cloud is less than the preset threshold, it is determined that the reconstructed point cloud does not meet the preset condition.
  41. 根据权利要求38所述的方法,其中,所述方法还包括:The method of claim 38, wherein the method further includes:
    解析码流,确定初始切片中点的属性信息的残差值;Parse the code stream and determine the residual value of the attribute information of the initial slice midpoint;
    在确定所述初始切片中点的属性信息的预测值后,根据所述初始切片中点的属性信息的所述预测值和所述残差值,确定所述初始切片中点的属性信息的重建值;After determining the predicted value of the attribute information of the initial slice midpoint, a reconstruction of the attribute information of the initial slice midpoint is determined based on the predicted value and the residual value of the attribute information of the initial slice midpoint. value;
    基于所述初始切片中点的属性信息的重建值,确定所述重建切片。The reconstructed slice is determined based on the reconstructed value of the attribute information of the midpoint of the initial slice.
  42. 根据权利要求41所述的方法,其中,所述方法还包括:The method of claim 41, wherein the method further includes:
    在确定出至少一个重建切片之后,对所述至少一个重建切片进行聚合处理,确定所述重建点云。After at least one reconstructed slice is determined, the at least one reconstructed slice is aggregated to determine the reconstructed point cloud.
  43. 根据权利要求38所述的方法,其中,所述根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片,包括:The method according to claim 38, wherein filtering the reconstructed slice according to the first filter coefficient and determining the filtered slice corresponding to the reconstructed slice includes:
    确定所述重建切片中第一点对应的K 1个目标点; Determine K 1 target points corresponding to the first point in the reconstructed slice;
    根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述滤波后切片;其中,所述第一点表示所述重建切片中的点,所述第一点对应的K 1个目标点包括所述第一点以及所述重建切片中与所述第一点相邻的(K 1-1)个近邻点,K 1为大于1的整数。 The K 1 target points corresponding to the first point in the reconstructed slice are filtered according to the first filter coefficient to determine the filtered slice; wherein the first point represents a point in the reconstructed slice, The K 1 target points corresponding to the first point include the first point and (K 1 -1) neighbor points adjacent to the first point in the reconstructed slice, and K 1 is an integer greater than 1. .
  44. 根据权利要求43所述的方法,其中,所述确定所述重建切片中第一点对应的K 1个目标点,包括: The method of claim 43, wherein determining K 1 target points corresponding to the first point in the reconstructed slice includes:
    基于所述重建切片中的第一点,利用K近邻搜索方式在所述重建切片中搜索预设数量个候选点;Based on the first point in the reconstructed slice, use a K nearest neighbor search method to search a preset number of candidate points in the reconstructed slice;
    分别计算所述第一点与所述预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 1-1)个距离值; Calculate distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 1 -1) distance values from the obtained preset number of distance values;
    根据(K 1-1)个距离值对应的候选点确定(K 1-1)个近邻点,将所述第一点和所述(K 1-1)个近邻点确定为所述第一点对应的K 1个目标点。 Determine (K 1 -1) neighbor points based on the candidate points corresponding to (K 1 -1) distance values, and determine the first point and the (K 1 -1) neighbor points as the first point Corresponding K 1 target points.
  45. 根据权利要求43所述的方法,其中,所述根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述滤波后切片,包括: The method of claim 43, wherein filtering K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient and determining the filtered slice includes:
    根据所述第一滤波系数对所述重建切片中第一点对应的K 1个目标点进行滤波处理,确定所述重建切片中所述第一点的属性信息的滤波值; Perform filtering processing on K 1 target points corresponding to the first point in the reconstructed slice according to the first filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed slice;
    在确定出所述重建切片中至少一个点的属性信息的滤波值之后,根据所述重建切片中至少一个点的属性信息的滤波值确定所述滤波后切片。After determining the filter value of the attribute information of at least one point in the reconstructed slice, the filtered slice is determined according to the filter value of the attribute information of at least one point in the reconstructed slice.
  46. 根据权利要求38至45任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 38 to 45, wherein the method further comprises:
    若所述第一滤波标识信息指示不对重建切片进行滤波处理,则不执行解析码流,确定第一滤波系数的步骤,将所述重建切片直接确定为所述滤波后切片。If the first filtering identification information indicates that the reconstructed slice is not to be filtered, the steps of parsing the code stream and determining the first filter coefficient are not performed, and the reconstructed slice is directly determined as the filtered slice.
  47. 根据权利要求46所述的方法,其中,所述方法还包括:The method of claim 46, wherein the method further includes:
    在确定出所述重建点云的至少一个滤波后切片之后,对所述至少一个滤波后切片进行聚合处理,确定滤波后点云。After determining at least one filtered slice of the reconstructed point cloud, the at least one filtered slice is aggregated to determine the filtered point cloud.
  48. 根据权利要求42所述的方法,其中,所述方法还包括:The method of claim 42, wherein the method further includes:
    解析码流,确定第二滤波标识信息;Analyze the code stream and determine the second filter identification information;
    若所述第二滤波标识信息指示对所述重建点云进行滤波处理,则解析码流,确定第二滤波系数;If the second filtering identification information indicates filtering of the reconstructed point cloud, parse the code stream and determine the second filtering coefficient;
    根据所述第二滤波系数对所述重建点云进行滤波处理,确定所述重建点云对应的滤波后点云。Perform filtering processing on the reconstructed point cloud according to the second filter coefficient, and determine a filtered point cloud corresponding to the reconstructed point cloud.
  49. 根据权利要求48所述的方法,其中,所述解析码流,确定第二滤波标识信息,包括:在所述重建点云不满足预设条件时,解析码流,确定所述第二滤波标识信息。The method according to claim 48, wherein said parsing the code stream and determining the second filter identification information includes: when the reconstructed point cloud does not meet the preset conditions, parsing the code stream and determining the second filter identification information. information.
  50. 根据权利要求48所述的方法,其中,所述方法还包括:The method of claim 48, wherein the method further includes:
    若所述第二滤波标识信息指示不对所述重建点云进行滤波处理,则不执行解析码流,确定第二滤波系数的步骤,将所述重建点云直接确定为所述滤波后点云。If the second filtering identification information indicates that the reconstructed point cloud is not to be filtered, the steps of parsing the code stream and determining the second filter coefficient are not performed, and the reconstructed point cloud is directly determined as the filtered point cloud.
  51. 根据权利要求48所述的方法,其中,所述根据所述第二滤波系数对所述重建点云进行滤波处理,确定所述重建点云对应的滤波后点云,包括:The method according to claim 48, wherein filtering the reconstructed point cloud according to the second filter coefficient and determining the filtered point cloud corresponding to the reconstructed point cloud includes:
    确定所述重建点云中第一点对应的K 2个目标点; Determine K 2 target points corresponding to the first point in the reconstructed point cloud;
    根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述滤波后点云;其中,所述第一点表示所述重建点云中的点,所述第一点对应的K 2个目标点包括所述第一点以及所述重建点云中与所述第一点相邻的(K 2-1)个近邻点,K 2为大于1的整数。 The K 2 target points corresponding to the first point in the reconstructed point cloud are filtered according to the second filter coefficient to determine the filtered point cloud; wherein the first point represents the reconstructed point cloud. points, the K 2 target points corresponding to the first point include the first point and (K 2 -1) neighbor points adjacent to the first point in the reconstructed point cloud, K 2 is An integer greater than 1.
  52. 根据权利要求51所述的方法,其中,所述确定所述重建点云中第一点对应的K 2个目标点,包括: The method according to claim 51, wherein determining the K 2 target points corresponding to the first point in the reconstructed point cloud includes:
    基于所述重建点云中的第一点,利用K近邻搜索方式在所述重建点云中搜索预设数量个候选点;Based on the first point in the reconstructed point cloud, use a K nearest neighbor search method to search a preset number of candidate points in the reconstructed point cloud;
    分别计算所述第一点与所述预设数量个候选点之间的距离值,从所得到的预设数量个距离值中确定相对较小的(K 2-1)个距离值; Calculate distance values between the first point and the preset number of candidate points respectively, and determine relatively small (K 2 -1) distance values from the obtained preset number of distance values;
    根据(K 2-1)个距离值对应的候选点确定(K 2-1)个近邻点,将所述第一点和所述(K 2-1)个近邻点确定为所述第一点对应的K 2个目标点。 Determine (K 2 -1) neighbor points based on the candidate points corresponding to (K 2 -1) distance values, and determine the first point and the (K 2 -1) neighbor points as the first point Corresponding K 2 target points.
  53. 根据权利要求52所述的方法,其中,所述根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述滤波后点云,包括: The method according to claim 52, wherein the K 2 target points corresponding to the first point in the reconstructed point cloud are filtered according to the second filter coefficient, and the filtered point cloud is determined, including :
    根据所述第二滤波系数对所述重建点云中第一点对应的K 2个目标点进行滤波处理,确定所述重建点云中所述第一点的属性信息的滤波值; Perform filtering processing on K 2 target points corresponding to the first point in the reconstructed point cloud according to the second filter coefficient, and determine the filter value of the attribute information of the first point in the reconstructed point cloud;
    在确定出所述重建点云中至少一个点的属性信息的滤波值之后,根据所述重建点云中至少一个点的属性信息的滤波值确定所述滤波后点云。After determining the filter value of the attribute information of at least one point in the reconstructed point cloud, the filtered point cloud is determined according to the filter value of the attribute information of at least one point in the reconstructed point cloud.
  54. 根据权利要求45或53所述的方法,其中,所述属性信息包括颜色分量,且所述颜色分量包括下述至少之一:第一颜色分量、第二颜色分量和第三颜色分量;其中,The method according to claim 45 or 53, wherein the attribute information includes a color component, and the color component includes at least one of the following: a first color component, a second color component, and a third color component; wherein,
    若所述颜色分量符合RGB颜色空间,则确定所述第一颜色分量、所述第二颜色分量和所述第三颜色分量依次为:R分量、G分量、B分量;If the color component conforms to the RGB color space, it is determined that the first color component, the second color component and the third color component are: R component, G component, and B component in order;
    若所述颜色分量符合YUV颜色空间,则确定所述第一颜色分量、所述第二颜色分量和所述第三颜色分量依次为:Y分量、U分量、V分量。If the color component conforms to the YUV color space, it is determined that the first color component, the second color component and the third color component are: Y component, U component, and V component in order.
  55. 根据权利要求38所述的方法,其中,所述解析码流,确定第一滤波标识信息,包括:The method according to claim 38, wherein said parsing the code stream and determining the first filter identification information includes:
    解析码流,确定待处理分量的第一滤波标识信息;Parse the code stream and determine the first filter identification information of the component to be processed;
    其中,所述待处理分量的第一滤波标识信息指示是否对所述重建切片的属性信息的待处理分量进行滤波处理。Wherein, the first filter identification information of the component to be processed indicates whether to perform filtering processing on the component to be processed of the attribute information of the reconstructed slice.
  56. 根据权利要求55所述的方法,其中,所述方法还包括:The method of claim 55, wherein the method further includes:
    若所述待处理分量的第一滤波标识信息的取值为第一值,则确定对所述重建切片的属性信息的待处 理分量进行滤波处理;If the value of the first filter identification information of the component to be processed is the first value, then it is determined to perform filtering processing on the component to be processed of the attribute information of the reconstructed slice;
    若所述待处理分量的第一滤波标识信息的取值为第二值,则确定不对所述重建切片的属性信息的待处理分量进行滤波处理。If the value of the first filter identification information of the component to be processed is the second value, it is determined that the component to be processed of the attribute information of the reconstructed slice is not to be filtered.
  57. 根据权利要求55所述的方法,其中,在所述待处理分量为颜色分量的情况下,所述解析码流,确定第一滤波标识信息,包括:The method according to claim 55, wherein when the component to be processed is a color component, the analysis of the code stream to determine the first filter identification information includes:
    解析码流,确定第一颜色分量的第一滤波标识信息、第二颜色分量的第一滤波标识信息和第三颜色分量的第一滤波标识信息;Parse the code stream to determine the first filter identification information of the first color component, the first filter identification information of the second color component, and the first filter identification information of the third color component;
    其中,所述第一颜色分量的第一滤波标识信息指示是否对所述重建切片的属性信息的第一颜色分量进行滤波处理,所述第二颜色分量的第一滤波标识信息指示是否对所述重建切片的属性信息的第二颜色分量进行滤波处理,所述第三颜色分量的第一滤波标识信息指示是否对所述重建切片的属性信息的第三颜色分量进行滤波处理。Wherein, the first filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed slice, and the first filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed slice. The second color component of the attribute information of the reconstructed slice is subjected to filtering processing, and the first filter identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed slice.
  58. 根据权利要求57所述的方法,其中,所述方法还包括:The method of claim 57, wherein the method further comprises:
    若所述第一颜色分量的第一滤波标识信息、所述第二颜色分量的第一滤波标识信息和所述第三颜色分量的第一滤波标识信息中至少一个为第一值,则确定所述第一滤波标识信息指示对所述重建切片进行滤波处理;If at least one of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component is a first value, it is determined that the The first filtering identification information indicates that the reconstructed slice is filtered;
    若所述第一颜色分量的第一滤波标识信息、所述第二颜色分量的第一滤波标识信息和所述第三颜色分量的第一滤波标识信息中全部为第二值,则确定所述第一滤波标识信息指示不对所述重建切片进行滤波处理。If all of the first filter identification information of the first color component, the first filter identification information of the second color component and the first filter identification information of the third color component are second values, then it is determined that the The first filtering identification information indicates that the reconstructed slice is not to be filtered.
  59. 根据权利要求48所述的方法,其中,所述解析码流,确定第二滤波标识信息,包括:The method according to claim 48, wherein said parsing the code stream and determining the second filter identification information includes:
    解析码流,确定待处理分量的第二滤波标识信息;Analyze the code stream and determine the second filter identification information of the component to be processed;
    其中,所述待处理分量的第二滤波标识信息指示是否对所述重建点云的属性信息的待处理分量进行滤波处理。Wherein, the second filter identification information of the component to be processed indicates whether to perform filtering processing on the component to be processed of the attribute information of the reconstructed point cloud.
  60. 根据权利要求59所述的方法,其中,所述方法还包括:The method of claim 59, wherein the method further includes:
    若所述待处理分量的第二滤波标识信息的取值为第三值,则确定对所述重建点云的属性信息的待处理分量进行滤波处理;If the value of the second filter identification information of the component to be processed is a third value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is filtered;
    若所述待处理分量的第二滤波标识信息的取值为第四值,则确定不对所述重建点云的属性信息的待处理分量进行滤波处理。If the value of the second filter identification information of the component to be processed is the fourth value, it is determined that the component to be processed of the attribute information of the reconstructed point cloud is not to be filtered.
  61. 根据权利要求59所述的方法,其中,在所述待处理分量为颜色分量的情况下,所述解析码流,确定第二滤波标识信息,包括:The method according to claim 59, wherein when the component to be processed is a color component, the analysis of the code stream to determine the second filter identification information includes:
    解析码流,确定第一颜色分量的第二滤波标识信息、第二颜色分量的第二滤波标识信息和第三颜色分量的第二滤波标识信息;Parse the code stream to determine the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component;
    其中,所述第一颜色分量的第二滤波标识信息指示是否对所述重建点云的属性信息的第一颜色分量进行滤波处理,所述第二颜色分量的第二滤波标识信息指示是否对所述重建点云的属性信息的第二颜色分量进行滤波处理,所述第三颜色分量的第二滤波标识信息指示是否对所述重建点云的属性信息的第三颜色分量进行滤波处理。Wherein, the second filter identification information of the first color component indicates whether to perform filtering processing on the first color component of the attribute information of the reconstructed point cloud, and the second filter identification information of the second color component indicates whether to perform filtering processing on the attribute information of the reconstructed point cloud. The second color component of the attribute information of the reconstructed point cloud is subjected to filtering processing, and the second filter identification information of the third color component indicates whether to perform filtering processing on the third color component of the attribute information of the reconstructed point cloud.
  62. 根据权利要求61所述的方法,其中,所述方法还包括:The method of claim 61, wherein the method further includes:
    若所述第一颜色分量的第二滤波标识信息、所述第二颜色分量的第二滤波标识信息和所述第三颜色分量的第二滤波标识信息中至少一个为第三值,则确定所述第二滤波标识信息指示对所述重建点云进行滤波处理;If at least one of the second filter identification information of the first color component, the second filter identification information of the second color component and the second filter identification information of the third color component is a third value, it is determined that the The second filtering identification information indicates that the reconstructed point cloud is filtered;
    若所述第一颜色分量的第二滤波标识信息、所述第二颜色分量的第二滤波标识信息和所述第三颜色分量的第二滤波标识信息中全部为第四值,则确定所述第二滤波标识信息指示不对所述重建点云进行滤波处理。If all of the second filter identification information of the first color component, the second filter identification information of the second color component, and the second filter identification information of the third color component are fourth values, then it is determined that the The second filtering identification information indicates that the reconstructed point cloud is not to be filtered.
  63. 根据权利要求38所述的方法,其中,所述方法还包括:The method of claim 38, wherein the method further includes:
    解析码流,确定第三滤波标识信息;Analyze the code stream and determine the third filter identification information;
    若所述第三滤波标识信息指示对重建聚合切片进行滤波处理,则解析码流,确定第三滤波系数;其中,所述重建聚合切片是由n个重建切片聚合得到,n为大于1的整数;If the third filtering identification information indicates that the reconstructed aggregation slice is filtered, the code stream is parsed to determine the third filter coefficient; wherein the reconstructed aggregation slice is obtained by aggregating n reconstructed slices, and n is an integer greater than 1. ;
    根据所述第三滤波系数对所述重建聚合切片进行滤波处理,确定所述重建聚合切片对应的滤波后聚合切片。Perform filtering processing on the reconstructed aggregation slice according to the third filter coefficient, and determine a filtered aggregation slice corresponding to the reconstructed aggregation slice.
  64. 根据权利要求38所述的方法,其中,所述方法还包括:The method of claim 38, wherein the method further includes:
    在对至少一个重建切片分别进行滤波处理后,确定至少一个滤波后切片;After performing filtering processing on at least one reconstructed slice respectively, determining at least one filtered slice;
    对所述至少一个滤波后切片进行聚合处理,确定第一滤波后点云;Perform aggregation processing on the at least one filtered slice to determine a first filtered point cloud;
    解析码流,确定第四滤波标识信息;Analyze the code stream and determine the fourth filter identification information;
    若所述第四滤波标识信息指示对所述第一滤波后点云进行滤波处理,则解析码流,确定第四滤波系数;If the fourth filtering identification information indicates filtering of the first filtered point cloud, parse the code stream and determine the fourth filtering coefficient;
    根据所述第四滤波系数对所述第一滤波后点云进行滤波处理,确定所述第一滤波后点云对应的第二滤波后点云。Perform filtering processing on the first filtered point cloud according to the fourth filter coefficient, and determine a second filtered point cloud corresponding to the first filtered point cloud.
  65. 一种编码器,所述编码器包括第一确定单元、第一滤波单元和编码单元;其中,An encoder, the encoder includes a first determination unit, a first filtering unit and a coding unit; wherein,
    所述第一确定单元,配置为确定重建点云的重建切片;以及在所述重建点云满足预设条件的情况下,根据所述重建切片与所述重建切片对应的初始切片,确定第一滤波系数;The first determining unit is configured to determine a reconstructed slice of the reconstructed point cloud; and when the reconstructed point cloud satisfies a preset condition, determine a first slice based on the reconstructed slice and an initial slice corresponding to the reconstructed slice. filter coefficient;
    所述第一滤波单元,配置为根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片;The first filtering unit is configured to perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine a filtered slice corresponding to the reconstructed slice;
    所述第一确定单元,还配置为根据所述滤波后切片,确定第一滤波标识信息;其中,所述第一滤波标识信息指示是否对所述重建切片进行滤波处理;The first determining unit is further configured to determine first filtering identification information according to the filtered slice; wherein the first filtering identification information indicates whether to perform filtering processing on the reconstructed slice;
    所述编码单元,配置为对所述第一滤波标识信息进行编码;以及若所述第一滤波标识信息指示对所述重建切片进行滤波处理,则对所述第一滤波系数进行编码;The encoding unit is configured to encode the first filter identification information; and if the first filter identification information indicates that the reconstructed slice is filtered, encode the first filter coefficient;
    所述编码单元,还配置为将所得到的编码比特写入码流。The encoding unit is also configured to write the obtained encoded bits into the code stream.
  66. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,An encoder, the encoder includes a first memory and a first processor; wherein,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;The first memory is used to store a computer program capable of running on the first processor;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至36任一项所述的方法。The first processor is configured to perform the method according to any one of claims 1 to 36 when running the computer program.
  67. 一种解码器,所述解码器包括解码单元和第二滤波单元;其中,A decoder, the decoder includes a decoding unit and a second filtering unit; wherein,
    所述解码单元,配置为解析码流,确定第一滤波标识信息;以及若所述第一滤波标识信息指示对重建点云的重建切片进行滤波处理,则解析码流,确定第一滤波系数;The decoding unit is configured to parse the code stream and determine the first filter identification information; and if the first filter identification information indicates that the reconstructed slice of the reconstructed point cloud is filtered, parse the code stream and determine the first filter coefficient;
    所述第二滤波单元,配置为根据所述第一滤波系数对所述重建切片进行滤波处理,确定所述重建切片对应的滤波后切片。The second filtering unit is configured to perform filtering processing on the reconstructed slice according to the first filter coefficient, and determine a filtered slice corresponding to the reconstructed slice.
  68. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,A decoder, the decoder includes a second memory and a second processor; wherein,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;The second memory is used to store a computer program capable of running on the second processor;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求38至64任一项所述的方法。The second processor is configured to perform the method according to any one of claims 38 to 64 when running the computer program.
  69. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至36任一项所述的方法、或者被第二处理器执行时实现如权利要求38至64任一项所述的方法。A computer storage medium, wherein the computer storage medium stores a computer program, which implements the method according to any one of claims 1 to 36 when executed by a first processor, or is executed by a second processor When executed, the method as claimed in any one of claims 38 to 64 is implemented.
PCT/CN2022/087255 2022-04-17 2022-04-17 Encoding method, decoding method, code stream, encoder, decoder, and storage medium WO2023201450A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/087255 WO2023201450A1 (en) 2022-04-17 2022-04-17 Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/087255 WO2023201450A1 (en) 2022-04-17 2022-04-17 Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2023201450A1 true WO2023201450A1 (en) 2023-10-26

Family

ID=88418722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/087255 WO2023201450A1 (en) 2022-04-17 2022-04-17 Encoding method, decoding method, code stream, encoder, decoder, and storage medium

Country Status (1)

Country Link
WO (1) WO2023201450A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021180595A1 (en) * 2020-03-11 2021-09-16 Canon Kabushiki Kaisha High level syntax for video coding and decoding
US20210329298A1 (en) * 2020-04-08 2021-10-21 Qualcomm Incorporated Secondary component attribute coding for geometry-based point cloud compression (g-pcc)
CN113906757A (en) * 2019-03-12 2022-01-07 华为技术有限公司 Point cloud block data unit encoding and decoding for point cloud data
CN114073086A (en) * 2019-07-04 2022-02-18 Lg 电子株式会社 Point cloud data processing apparatus and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113906757A (en) * 2019-03-12 2022-01-07 华为技术有限公司 Point cloud block data unit encoding and decoding for point cloud data
CN114073086A (en) * 2019-07-04 2022-02-18 Lg 电子株式会社 Point cloud data processing apparatus and method
WO2021180595A1 (en) * 2020-03-11 2021-09-16 Canon Kabushiki Kaisha High level syntax for video coding and decoding
US20210329298A1 (en) * 2020-04-08 2021-10-21 Qualcomm Incorporated Secondary component attribute coding for geometry-based point cloud compression (g-pcc)

Similar Documents

Publication Publication Date Title
CN113766228B (en) Point cloud compression method, encoder, decoder, and storage medium
US10003792B2 (en) Video encoder for images
CN108028941B (en) Method and apparatus for encoding and decoding digital images by superpixel
US9152875B2 (en) Preserving text quality in video encoding
TWI816439B (en) Block-based prediction
WO2021062772A1 (en) Prediction method, encoder, decoder, and computer storage medium
WO2023130333A1 (en) Encoding and decoding method, encoder, decoder, and storage medium
WO2023230996A1 (en) Encoding and decoding method, encoder, decoder, and readable storage medium
WO2022133753A1 (en) Point cloud encoding and decoding methods and systems, point cloud encoder, and point cloud decoder
WO2021062771A1 (en) Color component prediction method, encoder, decoder, and computer storage medium
JP2023543752A (en) Point cloud codec method and system, and point cloud encoder and point cloud decoder
CA3114816C (en) Video image component prediction method and apparatus, and computer storage medium
WO2023201450A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2022141461A1 (en) Point cloud encoding and decoding method, encoder, decoder and computer storage medium
WO2023123471A1 (en) Encoding and decoding method, code stream, encoder, decoder, and storage medium
WO2022120594A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, and computer storage medium
WO2023123467A1 (en) Encoding method, decoding method, code stream, encoder, decoder, and storage medium
WO2022233004A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder and computer storage medium
WO2024011739A1 (en) Point cloud encoding method, point cloud decoding method, codec and computer storage medium
WO2024065406A1 (en) Encoding and decoding methods, bit stream, encoder, decoder, and storage medium
WO2024065408A1 (en) Coding method, decoding method, code stream, coder, decoder and storage medium
WO2022170511A1 (en) Point cloud decoding method, decoder, and computer storage medium
WO2024082152A1 (en) Encoding and decoding methods and apparatuses, encoder and decoder, code stream, device, and storage medium
WO2024007144A1 (en) Encoding method, decoding method, code stream, encoders, decoders and storage medium
WO2024103304A1 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, code stream, and storage medium

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

Country of ref document: EP

Kind code of ref document: A1