[go: up one dir, main page]

WO2023015530A1 - Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur - Google Patents

Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur Download PDF

Info

Publication number
WO2023015530A1
WO2023015530A1 PCT/CN2021/112338 CN2021112338W WO2023015530A1 WO 2023015530 A1 WO2023015530 A1 WO 2023015530A1 CN 2021112338 W CN2021112338 W CN 2021112338W WO 2023015530 A1 WO2023015530 A1 WO 2023015530A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
processed
information
points
node
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2021/112338
Other languages
English (en)
Chinese (zh)
Inventor
元辉
王婷婷
刘昊
李明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202180098645.1A priority Critical patent/CN117378204A/zh
Priority to PCT/CN2021/112338 priority patent/WO2023015530A1/fr
Publication of WO2023015530A1 publication Critical patent/WO2023015530A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiments of the present application relate to the technical field of point cloud encoding and decoding, and in particular, to a point cloud encoding and decoding method, an encoder, a decoder, and a computer-readable storage medium.
  • the target point cloud after equal interval sampling still contains a large number of points, resulting in a high time complexity for using the LMS method to solve the global motion transformation matrix (Mat_GM), and the target point cloud after sampling has a certain high frequency and low frequency noise information.
  • Mot_GM global motion transformation matrix
  • Embodiments of the present application provide a point cloud encoding and decoding method, an encoder, a decoder, and a computer-readable storage medium, which can reduce time complexity in a motion compensation process.
  • the embodiment of the present application provides a point cloud encoding method, including:
  • image filtering sampling is performed on the point cloud to be processed to obtain a first point cloud after image filtering sampling
  • the embodiment of the present application provides a point cloud decoding method, including:
  • the motion-related information is obtained by calculating the first point cloud after image filtering and sampling of the point cloud to be processed in the point cloud to be encoded, and the reference point cloud;
  • motion compensation is performed on the reference point cloud, and the geometric code stream is decoded to obtain decoded information.
  • an encoder including:
  • the first determination part is configured to determine, based on the point cloud to be encoded, the point cloud to be processed in the block to be processed; based on the distance between two points in the point cloud to be processed, determine the edge weight between the two points , so as to determine the graph filter;
  • the filtering part is configured to perform image filtering and sampling on the point cloud to be processed based on the image filter, to obtain a first point cloud after image filtering and sampling;
  • the encoding part is configured to compensate the reference point cloud based on the first point cloud, and then encode the point cloud to be encoded.
  • an encoder including:
  • the first memory is used to store executable point cloud coding instructions
  • the first processor is configured to implement the point cloud encoding method described by the encoder when executing the executable point cloud encoding instruction stored in the first memory.
  • the embodiment of the present application provides a decoder, including:
  • the decoding part is configured to analyze the code stream, and obtain geometric encoding results and motion-related information;
  • the motion-related information is the first point cloud after image filtering and sampling of the point cloud to be processed in the point cloud to be encoded, and the reference point cloud calculated;
  • an acquisition part configured to acquire the decoded reference point cloud
  • the decoding part is further configured to perform motion compensation on the reference point cloud based on the motion-related information and the reference point cloud, and decode the geometric code stream to obtain decoded information.
  • the embodiment of the present application also provides a decoder, including:
  • the second memory is used to store executable point cloud decoding instructions
  • the second processor is configured to implement the point cloud decoding method described in the decoder when executing the executable point cloud decoding instruction stored in the second memory.
  • the embodiment of the present application provides a computer-readable storage medium, which stores executable point cloud encoding instructions, and is used to cause the first processor to implement the point cloud encoding method described in the encoder; or, Executable point cloud decoding instructions are stored for causing the second processor to implement the point cloud decoding method described in the decoder.
  • the embodiment of the present application provides a point cloud encoding and decoding method, an encoder, a decoder, and a computer-readable storage medium.
  • the encoder can perform global motion compensation and local motion compensation on the reference point cloud during the point cloud encoding process.
  • the point cloud to be processed is first filtered and sampled to reduce the number of points participating in the midpoint of the point cloud to be processed, so that the calculation time can be reduced in the process of calculating motion information or global motion transformation matrix using the filtered and sampled point cloud Complexity, thereby improving the encoding time efficiency.
  • FIG. 1 is a block diagram of an exemplary encoding system provided by an embodiment of the present application
  • FIG. 2 is a block diagram of an exemplary decoding system provided by an embodiment of the present application.
  • Fig. 3 is the flowchart of a kind of point cloud encoding method provided by the embodiment of the present application.
  • FIG. 4 is a schematic diagram 1 of an exemplary octree division provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram 2 of an exemplary octree division provided by the embodiment of the present application.
  • FIG. 6 is an exemplary edge weight connection diagram provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram 3 of an exemplary octree division provided by the embodiment of the present application.
  • FIG. 8 is a schematic diagram of an exemplary local motion compensation provided by an embodiment of the present application.
  • FIG. 9 is an exemplary coding flowchart provided by the embodiment of the present application.
  • FIG. 10 is a flowchart of a point cloud decoding method provided by an embodiment of the present application.
  • Fig. 11 is an exemplary decoding flowchart provided by the embodiment of the present application.
  • FIG. 12 is a structural diagram 1 of an encoder provided in an embodiment of the present application.
  • FIG. 13 is a second structural diagram of an encoder provided in the embodiment of the present application.
  • FIG. 14 is a structural diagram 1 of a decoder provided by an embodiment of the present application.
  • FIG. 15 is the second structural diagram of a decoder provided in the embodiment of the present application.
  • Point cloud refers to a set of discrete point sets randomly distributed in space, expressing the spatial structure and surface properties of 3D objects or 3D scenes.
  • Point cloud data is a specific record form of point cloud, and the points in the point cloud can include point location information and point attribute information.
  • the point position information may be three-dimensional coordinate information of the point.
  • the location information of a point may also be referred to as geometric information of a point.
  • the attribute information of a point may include color information and/or reflectivity and the like.
  • the color information may be information on any color space.
  • the color information may be (RGB).
  • the color information may be luminance and chrominance (YcbCr, YUV) information.
  • Y represents brightness (Luma)
  • Cb (U) represents blue color difference
  • Cr (V) represents red color
  • U and V are expressed as chromaticity (Chroma) for describing color difference information.
  • the points in the point cloud may 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 three-dimensional coordinate information and color information of the point.
  • 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.
  • Ways to obtain point cloud data may include but not limited to at least one of the following: (1) Generated by computer equipment.
  • the computer device can generate point cloud data according to virtual three-dimensional objects and virtual three-dimensional scenes.
  • Point cloud data of static real-world 3D objects or 3D scenes can be obtained through 3D laser scanning, and millions of point cloud data can be obtained per second;
  • 3D photography equipment that is, a group of cameras or camera equipment with multiple lenses and sensors
  • 3D photography can obtain dynamic real world three-dimensional objects Or point cloud data of a 3D scene.
  • point cloud data of biological tissues and organs can be obtained through magnetic resonance imaging (Magnetic Resonance Imaging, MRI), electronic computer tomography (Computed Tomography, CT), electromagnetic positioning information and other medical equipment.
  • Magnetic Resonance Imaging Magnetic Resonance Imaging
  • CT electronic computer tomography
  • electromagnetic positioning information and other medical equipment.
  • Point clouds can be divided into dense point clouds and sparse point clouds according to the way of acquisition.
  • point cloud is divided into:
  • the first type of static point cloud that is, the object is stationary, and the device for obtaining the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device for obtaining the point cloud is still;
  • the third type of dynamic acquisition of point clouds the equipment for acquiring point clouds is in motion.
  • point cloud According to the purpose of point cloud, it can be divided into two categories:
  • 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 emergency rescue robots;
  • Category 2 Human eyes perceive point clouds, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • Point cloud data can be used to form point cloud media, which can be a media file.
  • the point cloud media may include multiple media frames, and each media frame in the point cloud media is composed of point cloud data.
  • Point cloud media can flexibly and conveniently express the spatial structure and surface properties of 3D objects or 3D scenes, so it is widely used.
  • the encoded code stream is encapsulated to form an encapsulated file, which can be used for transmission to the user.
  • the point cloud media player side it is necessary to decapsulate the encapsulated file first, then decode it, and finally present the decoded data stream.
  • Package files may also be referred to as point cloud files.
  • point clouds can be encoded through the Point Cloud Encoding Framework.
  • the point cloud coding framework can be a geometry-based point cloud compression (Geometry Point Cloud Compression, G-PCC) codec framework or a video-based point cloud compression (Video Point Cloud Compression) provided by the Moving Picture Experts Group (MPEG). Cloud Compression, V-PCC) codec framework, or the AVS-PCC codec framework provided by Audio Video Standard (AVS).
  • G-PCC codec framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud
  • the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
  • the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2.
  • the codec framework applicable to the embodiment of the present application will be described below using the G-PCC codec framework.
  • Fig. 1 is a schematic block diagram of a coding framework 100 provided by an embodiment of the present application.
  • the encoding framework 100 can acquire position information (geometric information) and attribute information of point clouds from the acquisition device.
  • the encoding of point cloud includes geometric encoding and attribute encoding.
  • the geometry encoding process includes: performing preprocessing on the original point cloud such as coordinate transformation, quantization and removing duplicate points, etc.; based on the reference point cloud, performing motion compensation and constructing an octree before encoding to form a geometric code stream.
  • the attribute coding process includes: by given the reconstruction information of the position information of the input point cloud and the real value of the attribute information, select one of the three prediction modes for point cloud prediction, quantify the predicted results, and perform arithmetic coding to form property stream.
  • position coding can be realized by the following units:
  • Coordinate transformation transformation (Tanmsform coordinates) unit 101, quantization and removal of repeated points (Quantize and remove points) unit 102, global motion compensation unit 1031 and local motion compensation unit 1032, octree analysis (Analyze octree) unit 103, geometric reconstruction ( Reconstruct geometry) unit 104 and a first arithmetic encoding (Arithmetic encode) unit 105.
  • the coordinate transformation unit 101 can be used to transform the world coordinates of points in the point cloud into relative coordinates. For example, subtracting the minimum values of the xyz coordinate axes from the geometric coordinates of the point is equivalent to a DC operation to transform the coordinates of the points in the point cloud from world coordinates to relative coordinates.
  • Quantization and removal of duplicate points unit 102 can reduce the number of coordinates by quantization; original different points may be given the same coordinates after quantization, based on this, repeated points can be deleted through de-duplication operations; for example, with the same quantization position and Multiple clouds with different attribute information can be merged into one cloud through attribute transformation.
  • the Quantize and Remove Duplicate Points unit 102 is an optional unit module.
  • the global motion compensation unit 1031 uses the global motion matrix to perform motion compensation on the first reference point cloud to determine the corresponding second reference point cloud.
  • An octree is constructed, and then the current point cloud is predicted and encoded based on the second reference point cloud or the first reference point cloud.
  • the octree analysis unit 103 may use an octree encoding method to encode the position information of the quantized points.
  • the point cloud in the form of an octree For example, divide the point cloud in the form of an octree, first determine the bounding box of the point cloud according to the maximum and minimum coordinate values of the point cloud, and construct the root node of the octree (including all points in the point cloud); then Carry out eight equal divisions to the bounding box of the point cloud to obtain eight child nodes; if a child node is empty (does not contain points), then mark the node as 0, stop division; if a child node is not empty (contains points ), then mark the node as 1, then continue to divide the node into eight equal parts until each child node contains at most 1 point, such a child node is called a leaf node; in this way, the geometric information of the point cloud will be Expressed as a binary code stream.
  • local motion compensation can be performed on the reference nodes in the reference point cloud through the local motion compensation unit 1032, and according to the octree of the reference nodes after local motion compensation
  • the division mode (node occupancy information) predicts the octree division mode of the current node to obtain the context information of the current node.
  • the first arithmetic coding unit 105 combines the node occupancy information output by the octree analysis unit 103 or the local motion compensation unit 1032 with the context information to generate a geometric code stream; the geometric code stream can also be called a geometric bit stream ( geometry bitstream).
  • Attribute coding can be achieved by the following units:
  • Color space transformation (Transform colors) unit 110 attribute transformation (Transfer attributes) unit 111, region adaptive layered transformation (Region Adaptive Hierarchical Transform, RAHT) unit 112, prediction change (predicting transform) unit 113 and lifting transform (lifting transform) ) unit 114, a quantization (Quantize) unit 115, and a second arithmetic coding unit 116.
  • the color space transformation unit 110 can be used to transform the RGB color space of points in the point cloud into YCbCr format or other formats.
  • the attribute transformation unit 111 can be used to transform attribute information of points in the point cloud to minimize attribute distortion.
  • the attribute transformation unit 111 can be used to obtain the real value of the attribute information of the point.
  • the attribute information may be color information of dots.
  • any prediction unit can be selected to predict the point in the point cloud.
  • the unit for predicting points in the point cloud may include: at least one of RAHT 112, predicting transform unit 113, and lifting transform unit 114.
  • any one of the RAHT 112, the predicting transform unit 113 and the lifting transform unit 114 can be used to predict the attribute information of the points in the point cloud, so as to obtain the predicted values of the attribute information of the points, Furthermore, the residual value of the attribute information of the point can be obtained based on the predicted value of the attribute information of the point.
  • the residual value of the point's attribute information may be the actual value of the point's attribute information minus the predicted value of the point's attribute information.
  • the prediction transformation unit 113 can also be used to generate a level of detail (LOD), sequentially predict the attribute information of points in the LOD, and calculate the prediction residual for subsequent quantization and coding.
  • LOD level of detail
  • Fig. 2 is a schematic block diagram of a decoding framework 200 provided by an embodiment of the present application.
  • the decoding framework 200 can obtain the code stream of the point cloud from the encoding device, and obtain the position information and attribute information of the points in the point cloud by parsing the code.
  • the decoding of point cloud includes position decoding and attribute decoding.
  • the position decoding process includes: performing arithmetic decoding on the geometric code stream; and using the reference point cloud to reconstruct the position information of the point, and performing coordinate transformation to obtain the geometric coordinate value of the point.
  • the attribute decoding process includes: obtaining the residual value of the attribute information of the point cloud by parsing the attribute code stream; dequantizing the residual value of the attribute information of the point to obtain the residual value of the attribute information of the dequantized point value; based on the reconstruction information of the point's position information obtained in the position decoding process, one of the three prediction modes is selected for point cloud prediction, and the reconstruction value of the point's attribute information is obtained; the color space is performed on the reconstruction value of the point's attribute information Inverse transform to get the decoded point cloud.
  • position decoding can be realized by the following units: first arithmetic decoding unit 201, global motion compensation unit 2021, octree analysis (synthesize octree) unit 202, local motion compensation unit 2022, geometric reconstruction (Reconstruct geometry) A unit 203 and an inverse transform coordinates unit 204 .
  • Attribute encoding can be realized by the following units: second arithmetic decoding unit 210, inverse quantize unit 211, RAHT unit 212, predicting transform unit 213, lifting transform unit 214, and color space inverse transform (inverse transform colors) Unit 215.
  • decompression is an inverse process of compression.
  • the functions of each unit in the decoding framework 200 may refer to the functions of corresponding units in the encoding framework 100 .
  • decoding framework 200 may include more, fewer or different functional components than in FIG. 3 .
  • the point cloud encoding method proposed in the embodiment of the present application acts on the global motion compensation unit and the local motion compensation unit in FIG. 1
  • the point cloud decoding method acts on the global motion compensation unit and the local motion compensation unit in FIG. 2 .
  • the embodiment of the present application provides a point cloud encoding method, which is applied to an encoder, and the method may include:
  • the 3D image model to be encoded is a point cloud in space, and the point cloud may be geometric information and attribute information of the 3D image model.
  • the geometric information of the point cloud to be encoded and the attribute information corresponding to each point are encoded separately.
  • the inter-frame prediction based on octree geometric information coding during geometric information coding is realized by using the point cloud coding method provided by the embodiment of the present application.
  • the first frame in a video sequence to be encoded can be predicted through intra-frame prediction, and the frames before the first frame use inter-frame prediction.
  • the encoder when performing point cloud encoding on the current point cloud to be encoded, for the point cloud to be encoded, the encoder can combine image filtering processing in the process of performing global motion compensation and/or local motion compensation, and follow The frequency information of the point is used to sample the point cloud to obtain the filtered and sampled point cloud. Based on the filtered and sampled point cloud, the motion estimation is performed to obtain the motion information. The motion compensation is performed on the reference point cloud using the motion information, and the compensated point cloud is used. The current point cloud is predicted and encoded with reference to the point cloud.
  • the encoder can filter and sample the global point cloud obtained by calculating the global motion transformation matrix, and then encode the point cloud to be processed based on the obtained point cloud to be processed.
  • the encoder can also perform image filtering and sampling on the current node in the point cloud to be encoded and the corresponding reference node in the reference point cloud, determine the motion information, and finally perform local motion on the reference node based on the motion information Compensation, and then perform predictive coding on the current node.
  • the encoder may also implement the local motion compensation described above in the subsequent process of performing octree division after performing the above global motion compensation, which is not limited in this embodiment of the present application.
  • the determination process of the block to be processed is as follows: the encoder determines the object point cloud within the preset range that satisfies the Z direction based on the point cloud to be encoded (object after downsampling) point cloud); and divide the object point cloud into blocks to obtain multiple blocks to be processed. Among them, the point cloud in each block to be processed is the point cloud to be processed.
  • the encoder divides the current point cloud into object and road according to the thresholds top_z_boundary and bottom_z_boundary of the z coordinates of the point cloud to be encoded (that is, the current point cloud) (z ⁇ bottom_z_boundary or z>top_z_boundary is object, and the rest
  • the encoder divides the current point cloud into object and road according to the thresholds top_z_boundary and bottom_z_boundary of the z coordinates of the point cloud to be encoded (that is, the current point cloud) (z ⁇ bottom_z_boundary or z>top_z_boundary is object, and the rest
  • For the road down-sample the object to be coded point cloud to obtain the target point cloud, then divide the target point cloud into blocks to obtain multiple blocks to be processed, so as to obtain the corresponding point cloud to be processed in each block to be processed.
  • the encoder can perform image filtering on all blocks to be processed, and perform sampling based on frequency information to obtain the first point cloud after image filtering and sampling, thereby reducing the number of points in the point cloud. After the number, the corresponding point of the first point cloud is found from the first reference point cloud, and the global motion transformation matrix (Mat_GM) is solved by the LMS algorithm.
  • the determination process of the point cloud block to be processed is as follows: the encoder performs eight-point analysis on one of the first reference point cloud and the second reference point cloud, and the point cloud to be encoded. Tree division, obtain the size information of the reference node at the current level of the reference block (cuboid), and the size information of the current block (cuboid) of the current node at the current level; the size information of the current reference block and the size information of the current block represent the current reference When the block and the current block belong between the largest prediction unit (LPU) and the smallest prediction unit (minPU), the points in the current reference node and the current node are determined as point clouds to be processed.
  • LPU largest prediction unit
  • minPU smallest prediction unit
  • the encoder needs to perform octree division on the first reference point cloud or the second reference point cloud, and the point cloud to be encoded.
  • the current node's Coordinate information and coordinate information of the current reference node, and the size of the block divided by the current level that is, the size information of the current reference block at the current level (such as the volume of a cuboid), and the size information of the current block of the current node at the current level .
  • the node size of the octree when the node size of the octree is between the LPU maximum prediction unit and the minPU minimum prediction unit (the LPU and the minPU are both PUs), according to the current node of the current point cloud to be encoded, and the first The first reference point cloud or the reference node of the second reference point cloud calculates the local motion vector MV (ie motion information), and applies the MV to the reference node for local motion estimation, and then performs local motion compensation to obtain the compensated reference node.
  • MV ie motion information
  • the reference node and the current node are determined to be processed point cloud.
  • the process of solving the local motion vector MV after performing graph filtering on the current node and reference node of the current point cloud to be encoded, and then estimating the local motion vector MV, it can reduce Participate in determining the number of motion information points, and then reduce the time complexity when calculating motion information.
  • the encoder finds the maximum and minimum values of the coordinates corresponding to each coordinate component in the three dimensions of x, y and z, namely ⁇ x max , x min ⁇ , ⁇ y max , y min ⁇
  • d ceil(log 2 (max ⁇ max(x max ,y max ) , z max ⁇ )) with ⁇ z max , z min ⁇
  • the ceil() function represents rounding up.
  • the encoder divides the bounding box into 8 sub-cubes, as shown in Figure 4, and continues to divide the sub-cubes that are not empty (including points in the point cloud) until the leaf node obtained by the division is 1 ⁇ 1 ⁇ 1 unit cube (or a cube with a preset size) to stop dividing, the tree structure of the octree is shown in FIG. 5 .
  • the encoder can obtain the occupancy information of a current node (a cube, that is, a block) (indicating whether the point in the contained point cloud is empty or not), and the current node Neighborhood information (the number and details of adjacent nodes, etc.).
  • a current node a cube, that is, a block
  • the current node Neighborhood information the number and details of adjacent nodes, etc.
  • the encoder can also slice the point cloud data to be encoded. After coordinate conversion and voxelization, first perform global motion compensation and then enter the process of octree division.
  • each level of the octree has at least one node.
  • the encoder can obtain the coordinate information of the current node in the division process based on the geometric information, as well as the current node division. current level.
  • the level can be understood as the number of layers of the tree, and at each current level, after determining whether to perform local motion information compensation processing on the current node, continue to divide the octree at the next level.
  • the encoder can obtain the coordinate information of the current node and the current level corresponding to the current node in real time during the process of dividing the octree. There is only one node in the first level, and each subsequent level is realized by dividing each node of the previous level into 8 nodes.
  • the point cloud block to be processed contains multiple points, that is, the point cloud to be processed contains multiple points, and the encoder can determine the distance between two points, and determine the distance between the two points according to the coordinate information of the point. distance between.
  • the encoder may determine the edge weight between the two points based on the distance between the two points and the weight segmentation function, and then construct a graph filter based on the edge weight between the two points.
  • the edge weight distance between two points is related to the distance between the two points.
  • the encoder determines the edge weights between the two points based on the distance between the two points in the point cloud to be processed, thereby obtaining the adjacency matrix formed by the edge weights in the point cloud to be processed; based on the adjacency matrix that determines the graph filter.
  • the encoder obtains the edge weights between two points, and the edge weights between points form an adjacency matrix; according to the adjacency matrix, a graph filter can be constructed.
  • the function of the image filter is to filter the input image signal to obtain an output image signal including frequency, and then perform a sampling operation on the output image signal.
  • the encoder performs processing based on the preset parameter threshold and the distance between the two points to obtain the two points Edge weight between points; if the distance between two points in the point cloud block to be processed is greater than the preset distance threshold, the edge weight between the two points is zero.
  • the distance between two points is related to the edge weight between the two points.
  • weight segmentation function may be as shown in formula (1), as follows:
  • w i, j is the weight of the edge of the line between point i and point j, that is, the weight of the edge, x i and x j represent the three-dimensional coordinates of point i and point j, ⁇ is the preset parameter threshold, ⁇ is the preset Set the distance threshold.
  • the preset distance threshold is determined based on the preset KNN search parameter and the side length of the block where the point cloud to be processed is located; wherein, the preset KNN search parameter is between 0-1; the preset parameter threshold is A multiple of the preset distance threshold, where the value of the multiple is not limited.
  • ⁇ 2.
  • the encoder uses the KNN algorithm to calculate the distance between two points in the block, and sets ⁇ as the radius of the KNN search, and only calculates the distance between the two points in the points after the KNN search, which effectively reduces time complexity.
  • the global motion compensation process is taken as an example for illustration.
  • the encoder divides pc_world_target into multiple blocks, and constructs a graph in each block.
  • the size of the block is consistent with the default parameter motion.motion_block_size in TMC13v12InterEMv2.0, for example, 64, which is not limited in the embodiment of the present application. If there are N points in the point cloud to be processed, the number of points in each block is N, N is the number of points in the block, and the weight w i, j of the edge between points is related to the distance between points.
  • the encoder performs weighted summation according to the adjacency matrix to obtain a weighted degree matrix (D); inverts the weighted degree matrix and multiplies it with the adjacency matrix to obtain a graph transformation operator (A) ; Construct a polynomial based on the graph transformation operator, the preset graph filter parameters (h l ) and the length (L) of the graph filter to determine the graph filter.
  • the input of the graph filter is a graph signal (ie, the three-dimensional coordinates of the point), and the output is another graph signal (ie, the three-dimensional coordinates of the point).
  • the encoder performs weighted summation according to the adjacency matrix to obtain a weighted degree matrix (D), as shown in formula (2):
  • D is the weighted degree matrix of the graph (weighted degree matrix), which is a diagonal matrix.
  • w i, j is the weight of the edge of the line between point i and point j, that is, the edge weight.
  • the encoder inverts the weighted degree matrix and multiplies it with the adjacency matrix to obtain a graph transformation operator (A), as shown in formula (3):
  • A refers to the graph shift operator
  • D is the weighted degree matrix of the graph
  • W is the adjacency matrix of the graph.
  • the preset graph filtering parameters (h l ) and the length (L) of the graph filter to construct a linear, translation-invariant shift-invariant graph filter as a polynomial (4):
  • h l is a parameter of the graph filter (ie, a preset graph filter parameter), and L is a length of the graph filter.
  • N is the number of points in the block
  • S is the input graph signal (3D coordinates of points in a block).
  • the encoder After obtaining the image filter, the encoder performs image filtering and sampling on all point clouds to be processed, and obtains the first point cloud after image filtering and sampling.
  • the encoder can also determine whether to perform image filtering according to the number of points in the block to be processed. If the number of points is 1, the point is directly filtered out; if the number of points is less than the preset number of points, no image filtering is performed; If the number of points is greater than or equal to the preset number of points, image filtering is performed.
  • the preset number of points is 6, which is not limited in this embodiment of the present application.
  • the encoder performs graph filtering on the point cloud to be processed based on the graph filter to obtain the second point cloud with frequency information; performs frequency domain sampling on the points of the second point cloud according to the frequency information to obtain
  • the point cloud block sampled by graph filtering is the first point cloud.
  • the point cloud composed of all the point cloud blocks sampled by graph filtering is called the first point cloud.
  • the process of the encoder sampling the point cloud block containing frequency information is: the encoder performs two-dimensional sampling of the three-dimensional coordinates of the points in the point cloud block containing frequency information. Norm sorting to obtain the frequency value corresponding to each point after sorting; according to the preset filtering ratio, remove the lowest frequency and highest frequency from the frequency value corresponding to each point after sorting to obtain the remaining frequency value; the remaining frequency Points corresponding to values in the second point cloud constitute the first point cloud after sampling.
  • the encoder can use many extraction methods for the frequency extraction process of the points in the second point cloud, not limited to the two-norm extraction method mentioned in the embodiment of the present application.
  • the number of points in the block is N ⁇ 6
  • image filtering is performed on all points in the block, and sampling is performed based on the frequency information of the points to remove high-frequency points and low-frequency points.
  • the input of the graph filter is the three-dimensional coordinates of all points in the block
  • the output graph signal is the three-dimensional coordinates with frequency information.
  • the encoder sorts the obtained bi-norm of the output image signal as the frequency value of the point.
  • the encoder removes points with too high or too low frequency from it, and finally gets the points after graph filtering. Perform the above operations on all blocks in pc_world_target, and finally get the remaining point cloud pc_reserve after image filtering.
  • a parameter ratioFilteredOut is added to the cfg file, which indicates the ratio of filtering out the second point cloud midpoint after sorting, that is, the preset filtering ratio.
  • the preset filtering ratio can be the same ratio that both high frequency and low frequency need to be filtered out, or different ratios can be set for high frequency and low frequency, which is not limited in this embodiment of the present application.
  • the encoder is processed by graph filtering, the number of points in the point cloud to be processed can be reduced, and the time complexity for subsequent motion estimation can be reduced, thereby improving the encoding efficiency.
  • the encoder since the encoder is based on a graph filter, it performs graph filtering on the point cloud to be processed to obtain a second point cloud with frequency information. Therefore, the encoder can remove some points based on the second point cloud after image filtering before performing subsequent processing. In this way, high-frequency and low-frequency noise can be filtered out, making the calculation process more accurate.
  • the point cloud to be processed is subjected to graph filtering, and why the second point cloud with frequency information can be obtained will be verified by the following theory.
  • the graph signal (point coordinates) is converted to the frequency domain, and after filtering, the frequency domain information can be converted into another filtered graph signal through the graph Fourier inverse transform;
  • the graph signal carries frequency information.
  • the image signals output after image filtering are sorted according to frequency from high to low. According to formula (7), formula (8) and formula (9), formula (10) is obtained.
  • Formula (10) is the process of graph Fourier transform first and then graph inverse Fourier transform.
  • the output graph signal of y is obtained, In the frequency domain, 1- ⁇ i is represented in the frequency domain, therefore, the output image signal of y obtained by formula (10) contains frequency information, that is, the encoder performs image filtering on the point cloud to be processed based on the image filter, A point cloud block with frequency information can be obtained, that is, a second point cloud.
  • the encoder After the encoder obtains the filtered and sampled first point cloud, it can perform encoding processing and subsequent implementation on the point cloud to be encoded based on the first point cloud.
  • the encoding process also has different processing.
  • the encoder is based on the first reference point cloud, and the implementation of encoding the point cloud to be encoded is:
  • the encoder determines the first sub-reference point cloud corresponding to the first point cloud from the first reference point cloud of the acquired reference frame; wherein, the first point cloud is obtained after block division and image filtering sampling of the object point cloud the global point cloud; based on the first reference point cloud and the first point cloud, calculate the global motion transformation matrix of two adjacent point clouds, and write the global motion transformation matrix into the code stream; based on the global motion transformation matrix, the first reference Perform global motion compensation on the point cloud to obtain the second reference point cloud; respectively perform octree division and arithmetic coding on the second reference point cloud and the point cloud to be encoded to obtain the first geometric encoding result, and write the first geometric encoding result to input stream.
  • the first reference point cloud is an initial point cloud corresponding to the reference point cloud.
  • the encoder performs octree division on the second reference point cloud and the point cloud to be encoded respectively, and uses the octree division result of the reference node of the second reference point cloud as the current point cloud to be encoded
  • the predicted text of the octree division of the node is then arithmetically encoded on the octree division result of the current node of the point cloud to be encoded to obtain the first geometric encoding result.
  • the encoder performs the above operations on all blocks in pc_world_target in the case of global motion compensation, and finally obtains the remaining point cloud pc_reserve (first point cloud) after image filtering. Based on the point cloud pc_reserve, determine the global motion transformation matrix.
  • Local motion compensation can be performed alone or after global motion compensation.
  • the encoder encodes the point cloud to be encoded based on the first reference point cloud (performed alone) or the second reference point cloud (performed after global motion compensation).
  • the following is an example of the first reference point cloud for illustration.
  • the realization of the second reference point cloud is the same, so it will not be repeated.
  • the realization is as follows:
  • the encoder determines the motion information from the preset candidate motion information list according to the reference node sampled by graph filtering and the current node sampled by graph filter in the first point cloud; Local motion compensation is performed on the reference node to obtain a compensated reference node; arithmetic coding is performed based on the compensated reference node and the current node to obtain a second geometric coding result.
  • the encoder traverses each candidate motion information in the preset candidate motion information list, performs local motion estimation on points in the filtered reference node, and obtains the estimated compensation corresponding to each candidate motion information After the reference node; determine the minimum distance between each point in the current node after the graph filter sampling in the first point cloud, and each point in the reference node after the estimated compensation; the current node after the graph filter sampling The sum of the minimum distances of each point of is used as the distortion of each candidate motion information; the candidate motion information corresponding to the minimum distortion among the distortions of each candidate motion information is determined as the motion information.
  • the encoder performs local motion compensation on the reference nodes in the first reference point cloud according to the motion information.
  • the local motion vector MV that is, the motion information
  • the reference node and the current node is between the LPU maximum prediction unit and the minPU minimum prediction unit
  • the local motion vector MV that is, the motion information
  • the MV is applied to the reference nodes in (the first reference point cloud or the second reference point cloud), and local motion compensation is performed to obtain the compensated reference nodes.
  • the current node is taken as an example for illustration, and the principle of division of reference nodes is the same.
  • the encoder can judge whether the current node conforms to the direct encoding mode. If it conforms to the direct encoding mode, it directly encodes the coordinate information of the points in the current node; if it does not conform to the direct encoding mode, it continues to perform the octree Partitioning, the nodes are arithmetically coded according to the occupancy information and context information (ie neighborhood information) of the current node.
  • context information ie neighborhood information
  • a node is divided into an octree, and a indicates that when the block size (power of 2) is at a level greater than the LPU, Each node is divided into 8 sub-nodes, which are hierarchically divided in turn.
  • b indicates that when the node is between the LPU and the minPU, if the node is not the last leaf node and conforms to the direct encoding mode, the coordinate information of the point is directly encoded.
  • c indicates that if the node is the last leaf node, the number of points contained in the leaf node is encoded.
  • both global motion compensation and local motion compensation can be performed, so that the reference node used by local motion compensation is the reference node of the first reference point cloud after global motion compensation, so that the encoder treats encoding
  • the realization of the point cloud encoding is that after the completion of the first method, the obtained second reference point cloud and the point cloud to be encoded are divided into octrees, and the size information of the reference block of the reference node at the current level is obtained, and the current node is at Size information of the current block at the current level.
  • the encoder can Which one is the current reference node is determined based on the first reference point cloud and the second reference point cloud.
  • the second reference point cloud is a point cloud after global motion compensation of the first reference point cloud.
  • the reference node is a node determined from the first reference point cloud using the first search window; or a node determined from the second reference point cloud using the second search window.
  • the encoder uses the first search window to determine the first node corresponding to the current node from the first reference point cloud, and uses the second search window to determine the node corresponding to the current node from the second reference point cloud.
  • the encoder determines the first minimum distance between each point in the current node and each point in the first node, and determines the second minimum distance between each point in the current node and the point in the second node .
  • the sum of the first minimum distance of each point in the current node is the first distortion
  • the sum of the second minimum distance of each point in the current node is the second distortion. If the first distortion is smaller than the second distortion, then determine the reference node corresponding to the current node from the first reference point cloud, that is, the point set w; The reference node corresponding to the current node.
  • the local motion vector MV is calculated. First, find the search window win_V (first search window) and win_W (second search window) of the current node in the first reference point cloud and the second reference point cloud, and find the point in the current node and the first search window and the distortion of the point in the second search window, if the distortion between the point in the current node and win_V is small, then calculate the MV compensated reference node in win_V, that is, find the node in the first search window that is consistent with the current point cloud The point's corresponding point set w (reference node). Otherwise, calculate MV in win_W.
  • the best motion information MV is determined from the preset candidate motion information list, and local motion compensation is performed based on the motion information MV.
  • the encoder may perform local motion compensation on the current reference node to obtain the situation of the compensated reference node.
  • the node size is between LPU and minPU, it is also necessary to determine whether local motion compensation is required for the reference node based on whether the reference node can be split. Whether the reference node can be split can be determined by comparing the first cost and the second cost.
  • the first cost is the minimum distortion (cost_NoSplit) between the reference node and the current node after local compensation is performed using the best motion information assuming no split.
  • the second cost is to divide the reference node and the current node into octrees respectively, use the corresponding nodes to calculate 8 local motion vectors MV, and use the best motion information to locally compensate the 8 sub-nodes divided by the current reference node. After that, the 8 minimum distortions corresponding to the 8 sub-nodes divided by the current node are obtained. After adding the 8 distortions, the cost_Split when splitting is obtained. If the first cost is less than the second cost, it is not divided. In the case of no division, it is determined that local motion compensation needs to be performed on the reference node; if the second cost is less than or equal to the first cost, it is divided. In the case of division In this case, local motion compensation does not need to be performed on the current reference node, but local motion compensation is performed on its child nodes.
  • the image filtering and sampling operation can reduce the calculation amount and improve the coding efficiency.
  • the encoder determines the global motion transformation matrix according to the current point cloud and the first reference point cloud, uses the global motion transformation matrix to perform global motion compensation on the first reference point cloud, and encodes the global motion transformation matrix Matrix, write code stream, that is, Mat_GM bit stream.
  • the encoder performs octree division on the compensated second reference point cloud (corresponding to the reference point cloud) and the current point cloud.
  • the encoder can also After local motion compensation is performed on the current reference node at the current level by using the best motion information (that is, the local motion vector), the compensated reference node is obtained, and the best motion information is encoded and written into the code stream, that is, the MV bit stream.
  • the encoder uses the occupancy information and neighborhood information of the current node, as well as the occupancy information and neighborhood information of the reference node after compensation, and performs arithmetic coding (in Arithmetic encoder) to obtain the coded bit stream.
  • the encoder continues to encode the child nodes of the current node of the current point cloud (that is, the FIFO queue stores the node queue) until the encoding of the current point cloud is completed.
  • the encoder when compensating the global motion and local motion of the first reference point cloud, the encoder first performs image filtering and sampling on the point cloud to be processed to reduce the number of points in the point cloud to be processed. In this way, in the process of calculating the motion information or the global motion transformation matrix, the time complexity of calculation can be reduced, thereby improving the time efficiency of encoding.
  • the point cloud decoding method provided by the embodiment of the present application is introduced below.
  • the embodiment of the present application provides a point cloud decoding method, which is applied to a decoder, and the method may include:
  • the decoder can parse the code stream, and parse out the geometric encoding result and motion-related information from the code stream, wherein the motion-related information is obtained by the encoder through image filtering and sampling of the point cloud to be processed in the point cloud to be coded. After the first point cloud is calculated with the reference point cloud. Because the embodiment of the present application may use at least one of global motion compensation and local motion compensation during encoding. Therefore, the motion-related information acquired by the decoder during parsing may be at least one of the global motion transformation matrix and motion information.
  • the geometry encoding result may also be at least one of the first geometry encoding result (corresponding to global motion compensation) and the second geometry encoding result (corresponding to local motion compensation).
  • the decoder when the decoder decodes the current node, it indicates that the reference point cloud has been decoded. In this way, the decoder can decode the current node in the point cloud to be decoded based on the motion-related information and the reference point cloud, so as to obtain the decoding information of the current node.
  • the global motion compensation and the local motion compensation can be decoded in the following two manners.
  • the geometry encoding result includes: the first geometry encoding result;
  • the motion-related information includes: the global motion transformation matrix.
  • the decoder performs global motion compensation on the reference point cloud (the first reference point cloud) based on the global motion transformation matrix to obtain the compensated reference point cloud (the second reference point cloud); based on the compensated reference point cloud and the first geometry Encoding result, get decoding information.
  • the geometric encoding result includes: the second geometric encoding result;
  • the motion related information includes: motion information (ie local motion vector).
  • the decoder divides the reference point cloud (that is, the first reference point cloud or the second reference point cloud) into an octree to determine the reference node; based on the motion information, it performs local motion compensation on the reference node to obtain the compensated reference node; based on The decoded information is obtained from the compensated reference node and the second geometric encoding result.
  • the decoding information may be the decoded point cloud corresponding to the current node, and when the decoder completes decoding of all nodes, the decoded point cloud is obtained.
  • the decoder can parse out the global motion transformation matrix and the local motion vector from the coded bit stream, so that the decoder can first use the global motion transformation matrix of the global motion transformation matrix in the process of decoding the current node
  • the vector Mat_GM performs global motion compensation on the reference point cloud to obtain the second reference point cloud, and then divides the second reference point cloud into an octree.
  • the decoder can use the second After local motion compensation is performed on the reference node of the current level of the reference point cloud, the compensated reference node point cloud of the reference node is obtained, and then the compensated reference node and the coded bit stream corresponding to the current node are decoded to obtain the decoded point cloud After the point cloud corresponding to the current node, continue to decode the next node until the decoding of all nodes is completed, and the decoded point cloud is obtained.
  • the motion information or global motion transformation matrix used by the decoder is in the process of performing global motion compensation and local motion compensation on the reference frame during the point cloud inter-frame coding, and the point cloud to be processed is image-filtered first, and then Reduce the number of points to be processed, which can reduce the time complexity of the calculation.
  • an encoder 1 including:
  • the first determination part 10 is configured to determine the point cloud to be processed in the block to be processed based on the point cloud to be encoded; based on the distance between two points in the point cloud to be processed, determine the edge between the two points weights, thereby determining the graph filter;
  • the filtering part 11 is configured to obtain a first point cloud after image filtering and sampling based on the image filter sampling;
  • the encoding part 12 is configured for sampling, and obtains the first point cloud after image filtering and sampling.
  • the first determining part 10 is further configured to determine the edge weight between the two points based on the distance between the two points in the point cloud to be processed, so as to obtain the An adjacency matrix composed of edge weights in the point cloud to be processed; based on the adjacency matrix, the graph filter is determined; the distance between the two points is related to the edge weights between the two points.
  • the first determining part 10 is further configured to perform weighted summation according to the adjacency matrix to obtain a weighted degree matrix; inverse the weighted degree matrix, and combine it with the A graph transformation operator is obtained by multiplying adjacency matrices; a polynomial is constructed based on the graph transformation operator, preset graph filtering parameters, and length of the graph filter to determine the graph filter.
  • the first determining part 10 is further configured to, if the distance between two points in the point cloud to be processed is less than or equal to a preset distance threshold, based on the preset parameter threshold and The distance between the two points is processed to obtain the edge weight between the two points; if the distance between the two points in the point cloud to be processed is greater than the preset distance threshold, the edge weight between the two points to zero.
  • the preset distance threshold is determined based on the preset KNN search parameter and the side length of the block to be processed where the point cloud to be processed is located; wherein, the preset KNN search parameter is Between 0-1;
  • the preset parameter threshold is a multiple of the preset distance threshold.
  • the filtering part 11 is further configured to perform image filtering on the point cloud to be processed based on the image filter to obtain a second point cloud with frequency information; Frequency-domain sampling is performed on the second point cloud to obtain the first point cloud after image filtering and sampling.
  • the filtering part 11 is further configured to perform two-norm sorting on the three-dimensional coordinates of the points in the second point cloud with frequency information, and obtain the corresponding Frequency value; according to the preset filtering ratio, the frequency value corresponding to each point after the sorting is removed with the lowest frequency and the highest frequency to obtain the remaining frequency value; the remaining frequency value corresponds to the point cloud to be processed
  • the points constitute the first point cloud.
  • the first determining part 10 is configured to determine, based on the point cloud to be encoded, an object point cloud within a preset range satisfying the Z direction; block the object point cloud Divide to obtain a plurality of blocks to be processed, and the point cloud in each block to be processed is the point cloud to be processed.
  • the encoding part 12 is configured to calculate the global motion transformation matrix of two adjacent point clouds based on the first reference point cloud and the first point cloud, and convert the The global motion transformation matrix is written into the code stream; the first reference point cloud is the initial point cloud corresponding to the reference point cloud; based on the global motion transformation matrix, global motion compensation is performed on the first reference point cloud to obtain The second reference point cloud; perform octree division on the reference node of the second reference point cloud and the current node of the point cloud to be encoded, and divide the octree division result of the reference node of the second reference point cloud As the predicted text of the octree division of the current node of the point cloud to be encoded, arithmetic encoding is performed on the octree division result of the current node of the point cloud to be encoded to obtain the first geometric encoding result, and the The result of the first geometric encoding is written into the code stream.
  • the first determining part 10 is further configured to perform octree division on the obtained first reference point cloud and the point cloud to be coded respectively, and obtain the reference node at the current level
  • the size information of the reference block, and the size information of the current block of the current node at the current level; the size information of the reference block and the size information of the current block indicate that the reference block and the current block belong to the largest prediction unit and the smallest prediction unit time, determine the reference node and the current node as the point cloud to be processed in the block to be processed.
  • the encoding part 12 is further configured to determine motion information from a preset candidate motion information list according to the reference node sampled by the graph filter and the current node sampled by the graph filter; based on the motion information , performing local motion compensation on the reference nodes in the first reference point cloud to obtain the compensated reference nodes; performing arithmetic coding based on the compensated reference nodes and the current node to obtain the second geometric code of the current node result.
  • the encoding part 12 is further configured to traverse each candidate motion information in the preset candidate motion information list, and perform Local motion estimation, obtaining an estimated and compensated reference node corresponding to each candidate motion information; determining each point in the current node after image filtering and sampling in the first point cloud and the estimated and compensated reference node The minimum distance between each point in the graph; the sum of the minimum distances of each point in the current node after the graph is filtered and sampled, as the distortion of each candidate motion information; the each candidate motion information The candidate motion information corresponding to the minimum distortion among the distortions is determined as the motion information.
  • the reference node is a node determined from the first reference point cloud using the first search window; or a node determined from the second reference point cloud using the second search window.
  • the encoder can perform image filtering on the point cloud to be processed in the process of global motion compensation and local motion compensation for the reference point cloud in the process of point cloud encoding, and reduce the number of participating points to be processed. In this way, the time complexity of calculation can be reduced, thereby improving the time efficiency of encoding.
  • the point cloud decoding method provided by the embodiment of the present application is introduced below.
  • an encoder including:
  • the first memory 13 is used to store executable point cloud coding instructions
  • the first processor 14 is configured to implement the point cloud encoding method when executing the executable point cloud encoding instruction stored in the first memory 13 .
  • the first processor 14 can be implemented by software, hardware, firmware or a combination thereof, and can use circuits, single or multiple application specific integrated circuits (ASIC), single or multiple general integrated circuits, single or multiple a microprocessor, a single or multiple programmable logic devices, or a combination of the aforementioned circuits or devices, or other suitable circuits or devices, so that the first processor 14 can execute the point cloud encoding method in the aforementioned embodiments corresponding steps.
  • ASIC application specific integrated circuits
  • Each component in the embodiment of the present application may be integrated into one processing unit, or each unit may physically exist separately, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of 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 or It is said that the part that contributes to the prior art or the whole 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 several instructions to make a computer device (which can It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes: magnetic random access memory (FRAM, ferromagnetic random access memory), read-only memory (ROM, Read Only Memory), programmable read-only memory (PROM, Programmable Read-Only Memory), erasable Programmable Read-Only Memory (EPROM, Erasable Programmable Read-Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), Flash Memory (Flash Memory), Magnetic Surface Memory, Optical Disk , or CD-ROM (Compact Disc Read-Only Memory) and other media that can store program codes, the embodiments of the present application are not limited.
  • FRAM magnetic random access memory
  • ROM read-only memory
  • PROM programmable read-only memory
  • EPROM Erasable Programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • Flash Memory Flash Memory
  • Magnetic Surface Memory
  • the embodiment of the present application also provides a computer-readable storage medium, which stores executable point cloud coding instructions, and is used to cause the first processor to execute the point cloud coding method provided in the embodiment of the present application.
  • the embodiment of the present application provides a decoder 2, including:
  • the decoding part 20 is configured to analyze the code stream, and obtain geometric encoding results and motion-related information;
  • the motion-related information is the first point cloud after image filtering and sampling of the point cloud to be processed in the point cloud to be encoded, and the reference point obtained by cloud computing;
  • the obtaining part 21 is configured to obtain the decoded reference point cloud
  • the decoding part 20 is further configured to perform motion compensation on the reference point cloud based on the motion related information and the reference point cloud, and decode the geometric code stream to obtain decoded information.
  • the geometric encoding result includes: a first geometric encoding result;
  • the motion-related information includes: a global motion transformation matrix;
  • the decoding part 20 is further configured to perform global motion compensation on the reference point cloud based on the global motion transformation matrix to obtain a compensated reference point cloud; based on the compensated reference point cloud and the first A geometrically encoded result to obtain the decoded information.
  • the geometric encoding result includes: a second geometric encoding result;
  • the motion-related information includes: motion information;
  • the decoding part 20 is further configured to perform octree division on the reference point cloud to determine a reference node; based on the motion information, perform local motion compensation on the reference node to obtain a compensated reference node; The decoded information is obtained from the compensated reference node and the second geometric encoding result.
  • the motion information or global motion transformation matrix used by the decoder is in the process of point cloud encoding, in the process of global motion compensation and local motion compensation of the reference point cloud, image filtering sampling is performed on the point cloud to be processed first, Reduce the number of participating pending points, so that the time complexity of calculation can be reduced.
  • the embodiment of the present application also provides a decoder, including:
  • the second memory 23 is used to store executable point cloud decoding instructions
  • the second processor 24 is configured to implement the point cloud decoding method of the decoder when executing the executable point cloud decoding instruction stored in the second memory 23 .
  • the embodiment of the present application also provides a computer-readable storage medium storing executable point cloud decoding instructions, which are used to cause the second processor to execute the point cloud decoding method provided in the embodiment of the present application.
  • the embodiment of the present application provides a point cloud encoding and decoding method, an encoder, a decoder, and a computer-readable storage medium.
  • the encoder can perform global motion compensation and local motion compensation on the reference point cloud during the point cloud encoding process.
  • the point cloud to be processed is first filtered and sampled to reduce the number of points participating in the point cloud to be processed. In this way, the calculation time and complexity can be reduced in the process of calculating motion information or global motion transformation matrix using the filtered and sampled point cloud. degree, thereby improving the encoding time efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Sont divulgués dans les modes de réalisation de la présente demande des procédés de codage et de décodage de nuage de points, un codeur, un décodeur, et un support de stockage lisible par ordinateur, le procédé consistant : sur la base d'un nuage de points à coder, à déterminer un nuage de points à traiter dans un bloc à traiter ; sur la base de la distance entre deux points dans le nuage de points à traiter, à déterminer le poids de bord entre les deux points pour ainsi déterminer un filtre de graphe, la distance entre les deux points étant liée au poids de bord entre les deux points ; sur la base du filtre de graphe, à effectuer un échantillonnage de filtre de graphe sur le nuage de points à traiter afin d'obtenir un premier nuage de points ayant subi un échantillonnage de filtre de graphe ; et, sur la base du premier nuage de points, à effectuer une compensation sur un nuage de points de référence pour ainsi coder le nuage de points à coder.
PCT/CN2021/112338 2021-08-12 2021-08-12 Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur Ceased WO2023015530A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180098645.1A CN117378204A (zh) 2021-08-12 2021-08-12 点云编解码方法、编码器、解码器及计算机可读存储介质
PCT/CN2021/112338 WO2023015530A1 (fr) 2021-08-12 2021-08-12 Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/112338 WO2023015530A1 (fr) 2021-08-12 2021-08-12 Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur

Publications (1)

Publication Number Publication Date
WO2023015530A1 true WO2023015530A1 (fr) 2023-02-16

Family

ID=85199776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/112338 Ceased WO2023015530A1 (fr) 2021-08-12 2021-08-12 Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur

Country Status (2)

Country Link
CN (1) CN117378204A (fr)
WO (1) WO2023015530A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117392153A (zh) * 2023-12-06 2024-01-12 江西师范大学 一种基于局部补偿和多尺度自适应变形的胰腺分割方法
WO2025010590A1 (fr) * 2023-07-10 2025-01-16 Oppo广东移动通信有限公司 Procédé de décodage, procédé de codage, décodeur et codeur
CN119484815A (zh) * 2025-01-16 2025-02-18 广州中海电信有限公司 基于船舶卫星网络边缘计算的监控视频智能压缩方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111242997A (zh) * 2020-01-13 2020-06-05 北京大学深圳研究生院 一种基于滤波器的点云属性预测方法及设备
US20200304829A1 (en) * 2019-03-22 2020-09-24 Tencent America LLC Method and apparatus for interframe point cloud attribute coding
CN111951196A (zh) * 2020-08-14 2020-11-17 北京大学深圳研究生院 基于图的渐进式点云下采样方法及装置
US20200394450A1 (en) * 2018-02-11 2020-12-17 Peking University Shenzhen Graduate School An enhanced graph transformation-based point cloud attribute compression method
CN113205465A (zh) * 2021-04-29 2021-08-03 上海应用技术大学 点云数据集分割方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200394450A1 (en) * 2018-02-11 2020-12-17 Peking University Shenzhen Graduate School An enhanced graph transformation-based point cloud attribute compression method
US20200304829A1 (en) * 2019-03-22 2020-09-24 Tencent America LLC Method and apparatus for interframe point cloud attribute coding
CN111242997A (zh) * 2020-01-13 2020-06-05 北京大学深圳研究生院 一种基于滤波器的点云属性预测方法及设备
CN111951196A (zh) * 2020-08-14 2020-11-17 北京大学深圳研究生院 基于图的渐进式点云下采样方法及装置
CN113205465A (zh) * 2021-04-29 2021-08-03 上海应用技术大学 点云数据集分割方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SIHENG CHEN; DONG TIAN; CHEN FENG; ANTHONY VETRO; JELENA KOVA\V{C}EVI\'C: "Fast Resampling of 3D Point Clouds via Graphs", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 February 2017 (2017-02-11), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081274196, DOI: 10.1109/TSP.2017.2771730 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025010590A1 (fr) * 2023-07-10 2025-01-16 Oppo广东移动通信有限公司 Procédé de décodage, procédé de codage, décodeur et codeur
CN117392153A (zh) * 2023-12-06 2024-01-12 江西师范大学 一种基于局部补偿和多尺度自适应变形的胰腺分割方法
CN117392153B (zh) * 2023-12-06 2024-02-23 江西师范大学 一种基于局部补偿和多尺度自适应变形的胰腺分割方法
CN119484815A (zh) * 2025-01-16 2025-02-18 广州中海电信有限公司 基于船舶卫星网络边缘计算的监控视频智能压缩方法

Also Published As

Publication number Publication date
CN117378204A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN113678466B (zh) 用于预测点云属性编码的方法和设备
WO2023130333A1 (fr) Procédé de codage et de décodage, codeur, décodeur, et support de stockage
JP7673198B2 (ja) 点群符号化方法、点群復号化方法、点群符号化と復号化システム、点群エンコーダ及び点群デコーダ
WO2023015530A1 (fr) Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur
US20230237707A1 (en) Point cloud encoding and decoding method, encoder, decoder and codec system
CN116980624A (zh) 点云编解码方法、编码器、解码器以及计算机存储介质
US20230237704A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
WO2022131948A1 (fr) Dispositifs et procédés de codage séquentiel pour compression de nuage de points
US20250024040A1 (en) Method for index determination and decoder
TW202435618A (zh) 解碼方法、編碼方法、解碼器、編碼器、儲存媒介、程式產品以及碼流
CN117751574A (zh) 解码方法、编码方法、解码器以及编码器
WO2023123284A1 (fr) Procédé de décodage, procédé de codage, décodeur, codeur et support de stockage
WO2023204040A1 (fr) Procédé de décodage, procédé de codage, dispositif de décodage et dispositif de codage
CN118765499A (zh) 编码方法、编码器以及存储介质
CN115733990A (zh) 点云编解码方法、设备及存储介质
US20250024041A1 (en) Method for index determination, decoder, encoder, and bitstream
CN118900335B (zh) 解码方法、编码方法、解码器以及编码器
RU2826546C1 (ru) Способ кодирования и декодирования облака точек, кодер, декодер и компьютерный носитель данных
WO2023240455A1 (fr) Procédé et appareil de codage de nuage de points, dispositif de codage, et support de stockage
WO2022217472A1 (fr) Procédés de codage et de décodage de nuage de points, codeur, décodeur et support de stockage lisible par ordinateur
WO2024077548A1 (fr) Procédé de décodage de nuage de points, procédé de codage de nuage de points, décodeur et codeur
WO2024212228A1 (fr) Procédé de codage, codeur, dispositif électronique et support de stockage
WO2025010590A1 (fr) Procédé de décodage, procédé de codage, décodeur et codeur
WO2024103304A1 (fr) Procédé d'encodage de nuage de points, procédé de décodage de nuage de points, encodeur, décodeur, flux de code, et support de stockage
CN117426086A (zh) 解码方法、编码方法、解码器、编码器以及编解码设备

Legal Events

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

Ref document number: 21953147

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180098645.1

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21953147

Country of ref document: EP

Kind code of ref document: A1