CN116472556B - Prediction method, encoder, decoder, and storage medium - Google Patents
Prediction method, encoder, decoder, and storage medium Download PDFInfo
- Publication number
- CN116472556B CN116472556B CN202080107249.6A CN202080107249A CN116472556B CN 116472556 B CN116472556 B CN 116472556B CN 202080107249 A CN202080107249 A CN 202080107249A CN 116472556 B CN116472556 B CN 116472556B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- repeated
- determining
- point cloud
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种预测方法、编码器、解码器以及存储介质,该方法包括:确定待编码/待解码点云的几何信息;基于所述待编码/待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码/待解码点云中的至少两点;对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。这样,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编解码性能。
The embodiment of the present application discloses a prediction method, an encoder, a decoder, and a storage medium, the method comprising: determining the geometric information of a point cloud to be encoded/decoded; determining a set of repeated points based on the geometric information of the point cloud to be encoded/decoded; wherein the set of repeated points includes at least two points in the point cloud to be encoded/decoded; sorting the attribute information of the repeated points in the set of repeated points to determine the order of the repeated points; and predicting the attributes of the repeated points based on the order of the repeated points to determine the attribute prediction results of the repeated points. In this way, by sorting the attribute information of the repeated points, repeated points with continuous attribute information are obtained, and the prediction reference points are determined using the sorted order of the repeated points, which is conducive to reducing the output code stream and improving the encoding and decoding performance.
Description
技术领域Technical Field
本申请实施例涉及编解码技术领域,尤其涉及一种预测方法、编码器、解码器以及存储介质。The embodiments of the present application relate to the field of coding and decoding technology, and in particular to a prediction method, an encoder, a decoder, and a storage medium.
背景技术Background Art
在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编码器框架中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。几何编码完成后,会对几何信息进行重建,而属性信息的编码将依赖于重建的几何信息。其中,属性信息编码针对颜色和反射率的编码,生成属性码流。In the geometry-based point cloud compression (G-PCC) encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately. After the geometry encoding is completed, the geometry information will be reconstructed, and the encoding of the attribute information will depend on the reconstructed geometry information. Among them, the attribute information encoding is for the encoding of color and reflectivity, generating an attribute code stream.
然而,目前的相关技术中,在属性预测时,由于存在含有重复点的序列,即重复点的莫顿序或希尔伯特序相等(几何坐标相等),在对重复点进行预测时会按照原始的点云顺序,来选取预测参考点,但选择的预测参考点不是最佳预测参考点,从而影响重复点的预测性能。However, in the current related technologies, when predicting attributes, since there are sequences containing repeated points, that is, the Morton order or Hilbert order of the repeated points is equal (the geometric coordinates are equal), when predicting the repeated points, the prediction reference points will be selected according to the original point cloud order, but the selected prediction reference points are not the best prediction reference points, which affects the prediction performance of the repeated points.
发明内容Summary of the invention
本申请实施例提供一种预测方法、编码器、解码器以及存储介质,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编解码性能。The embodiments of the present application provide a prediction method, an encoder, a decoder, and a storage medium, which use the sorted repeated point sequence to determine the prediction reference point, which is beneficial to reducing the output bit stream and improving the encoding and decoding performance.
本申请实施例的技术方案可以如下实现:The technical solution of the embodiment of the present application can be implemented as follows:
第一方面,本申请实施例提供了一种预测方法,应用于编码器,该方法包括:In a first aspect, an embodiment of the present application provides a prediction method, which is applied to an encoder, and the method includes:
确定待编码点云的几何信息;Determine the geometric information of the point cloud to be encoded;
基于所述待编码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码点云中的至少两点;Determine a set of repeated points based on the geometric information of the point cloud to be encoded; wherein the set of repeated points includes at least two points in the point cloud to be encoded;
对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;Sorting the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。Attribute prediction is performed on the repeated points based on the repeated point sequence to determine the attribute prediction results of the repeated points.
第二方面,本申请实施例提供了一种预测方法,应用于解码器,该方法包括:In a second aspect, an embodiment of the present application provides a prediction method, which is applied to a decoder, and the method includes:
解析码流,确定待解码点云的几何信息;Parse the bitstream to determine the geometric information of the point cloud to be decoded;
基于所述待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待解码点云中的至少两点;Determine a set of repeated points based on the geometric information of the point cloud to be decoded; wherein the set of repeated points includes at least two points in the point cloud to be decoded;
对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;Sorting the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。Attribute prediction is performed on the repeated points based on the repeated point sequence to determine the attribute prediction results of the repeated points.
第三方面,本申请实施例提供了一种编码器,该编码器包括:In a third aspect, an embodiment of the present application provides an encoder, the encoder comprising:
第一确定单元,配置为确定待编码点云的几何信息;基于所述待编码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码点云中的至少两点;A first determination unit is configured to determine geometric information of a point cloud to be encoded; based on the geometric information of the point cloud to be encoded, determine a set of repeated points; wherein the set of repeated points includes at least two points in the point cloud to be encoded;
第一排序单元,配置对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;A first sorting unit is configured to sort the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
第一预测单元,配置为基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。The first prediction unit is configured to perform attribute prediction on the repeated points based on the repeated point sequence, and determine the attribute prediction result of the repeated points.
第四方面,本申请实施例提供了一种编码器,该编码器包括:In a fourth aspect, an embodiment of the present application provides an encoder, the encoder comprising:
第二确定单元,配置为解析码流,确定待解码点云的重建几何信息;基于所述待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待解码点云中的至少两点;A second determination unit is configured to parse the bitstream to determine the reconstructed geometric information of the point cloud to be decoded; based on the geometric information of the point cloud to be decoded, determine a set of repeated points; wherein the set of repeated points includes at least two points in the point cloud to be decoded;
第二排序单元,配置为对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;A second sorting unit is configured to sort the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
第二预测单元,配置为基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。The second prediction unit is configured to perform attribute prediction on the repeated points based on the repeated point sequence, and determine the attribute prediction result of the repeated points.
第五方面,本申请实施例还提供了一种编码器,包括:第一存储器和第一处理器;所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现编码器的所述预测方法。In a fifth aspect, an embodiment of the present application further provides an encoder, comprising: a first memory and a first processor; the first memory stores a computer program that can be run on the first processor, and the first processor implements the prediction method of the encoder when executing the program.
第六方面,本申请实施例还提供了一种解码器,包括:第二存储器和第二处理器;所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现解码器的所述预测方法。In a sixth aspect, an embodiment of the present application further provides a decoder, comprising: a second memory and a second processor; the second memory stores a computer program that can be run on the second processor, and the second processor implements the prediction method of the decoder when executing the program.
第七方面,本申请实施例提供了一种存储介质,包括:其上存储有计算机程序,该计算机程序被第一处理器执行时,实现编码器的所述预测方法;或者,该计算机程序被第二处理器执行时,实现解码器的所述预测方法。In the seventh aspect, an embodiment of the present application provides a storage medium, comprising: a computer program stored thereon, which, when executed by a first processor, implements the prediction method of the encoder; or, when executed by a second processor, implements the prediction method of the decoder.
本申请实施例提供了一种预测方法、编码器、解码器以及存储介质,该方法包括:确定待编码/待解码点云的几何信息;基于所述待编码/待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码/待解码点云中的至少两点;对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。这样,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编解码性能。The embodiment of the present application provides a prediction method, an encoder, a decoder, and a storage medium, the method comprising: determining the geometric information of a point cloud to be encoded/decoded; determining a set of repeated points based on the geometric information of the point cloud to be encoded/decoded; wherein the set of repeated points includes at least two points in the point cloud to be encoded/decoded; sorting the attribute information of the repeated points in the set of repeated points to determine the order of the repeated points; and predicting the attributes of the repeated points based on the order of the repeated points to determine the attribute prediction results of the repeated points. In this way, by sorting the attribute information of the repeated points, repeated points with continuous attribute information are obtained, and the prediction reference points are determined using the sorted order of the repeated points, which is conducive to reducing the output code stream and improving the encoding and decoding performance.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例提供的示例性的编码流程框图;FIG1 is a flowchart of an exemplary encoding process provided by an embodiment of the present application;
图2为本申请实施例提供的示例性的解码流程框图;FIG2 is a flowchart of an exemplary decoding process provided by an embodiment of the present application;
图3为本申请实施例提供的预测方法的第一流程示意图;FIG3 is a schematic diagram of a first flow chart of a prediction method provided in an embodiment of the present application;
图4为本申请实施例提供的预测方法的第二流程示意图;FIG4 is a schematic diagram of a second flow chart of the prediction method provided in an embodiment of the present application;
图5为相关技术提供的一种当前节点与邻居节点的空间关系示意图;FIG5 is a schematic diagram of a spatial relationship between a current node and neighboring nodes provided by the related art;
图6为相关技术提供的一种预设邻居范围内与当前节点共面且已编解码的邻居节点之间的莫顿码关系示意图;FIG6 is a schematic diagram of a Morton code relationship between neighboring nodes coplanar with the current node and encoded and decoded within a preset neighbor range provided by the related art;
图7为相关技术提供的一种预设邻居范围内与当前节点共线且已编解码的邻居节点之间的莫顿码关系示意图;FIG7 is a schematic diagram of a Morton code relationship between neighboring nodes that are co-linear with the current node and have been encoded and decoded within a preset neighbor range provided by the related art;
图8为本申请实施例提供的预测方法的第三流程示意图;FIG8 is a schematic diagram of a third flow chart of the prediction method provided in an embodiment of the present application;
图9为本申请实施例中编码器的第一组成结构示意图;FIG9 is a schematic diagram of a first component structure of an encoder in an embodiment of the present application;
图10为本申请实施例中编码器的第二组成结构示意图;FIG10 is a schematic diagram of a second component structure of an encoder in an embodiment of the present application;
图11为本申请实施例中解码器的第一组成结构示意图;FIG11 is a schematic diagram of a first component structure of a decoder in an embodiment of the present application;
图12为本申请实施例中解码器的第二组成结构示意图。FIG. 12 is a schematic diagram of a second component structure of a decoder in an embodiment of the present application.
具体实施方式DETAILED DESCRIPTION
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。It should be pointed out that the terms "first\second\third" involved in the embodiments of the present application are merely to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:点云压缩(Point CloudCompression,PCC),点云参考模型(Point Cloud Reference Model,PCRM),莫顿码(Mortoncode,Morton),包围盒(bounding box),八叉树(octree),红绿蓝(Red-Green-Blue,RGB),亮度色度(Luminance-Chrominance,YUV),查找表(Look Up Table,LUT),峰值信噪比(PeakSignal to Noise Ratio,PSNR),音视频编码标准(Audio Video coding Standard,AVS)。Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are applicable to the following explanations: Point Cloud Compression (PCC), Point Cloud Reference Model (PCRM), Morton code (Morton code, Morton), bounding box, octree, Red-Green-Blue (RGB), Luminance-Chrominance (YUV), Look Up Table (LUT), Peak Signal to Noise Ratio (PSNR), Audio Video Coding Standard (AVS).
点云(Point Cloud)是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YcbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。Point Cloud refers to a collection of massive three-dimensional points. The points in the point cloud may include the location information of the points and the attribute information of the points. For example, the location information of the points may be the three-dimensional coordinate information of the points. The location information of the points may also be referred to as the geometric information of the points. For example, the attribute information of the points may include color information and/or reflectivity, etc. For example, the color information may 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 luminance and chrominance (YcbCr, YUV) information. Among them, Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。For a point cloud obtained according to the principle of laser measurement, the points in the point cloud may include the three-dimensional coordinate information of the points and the laser reflection intensity (reflectance) of the points. For another example, for 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 points and the color information of the points. For another example, a point cloud obtained by combining the principles of laser measurement and photogrammetry may include the three-dimensional coordinate information of the points, the laser reflection intensity (reflectance) of the points, and the color information of the points.
点云可以按获取的途径分为:Point clouds can be divided into the following categories according to the way they are obtained:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;The first type of static point cloud: 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 dynamic point cloud acquisition: the device that acquires the point cloud is moving.
例如,按点云的用途分为两大类:For example, point clouds can be divided into two categories according to their usage:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;Category 1: Machine perception point cloud, which can be used in autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, disaster relief robots, etc.
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。Category 2: Point cloud perceived by the human eye, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。Since point clouds are a collection of massive points, storing point clouds not only consumes a lot of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of point clouds at the network layer without compression. Therefore, point clouds need to be compressed.
截止目前,可对点云进行压缩的点云编码框架可以是运动图象专家组(MovingPicture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point CloudCompression,G-PCC)编解码框架或基于视频的点云压缩(Video Point CloudCompression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。Up to now, the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Standard (AVS). The G-PCC codec framework can be used to compress the first type of static point clouds and the third type of dynamically acquired point clouds, and the V-PCC codec framework can be used to compress the second type of dynamic point clouds. The G-PCC codec framework is also called the point cloud codec TMC13, and the V-PCC codec framework is also called the point cloud codec TMC2.
可以理解,在点云G-PCC编码器框架中,将输入点云进行slice划分后,然后对slice进行独立编码。It can be understood that in the point cloud G-PCC encoder framework, the input point cloud is sliced and then the slices are independently encoded.
图1为本申请实施例提供的示例性的编码流程框图,如图1所示,点云的编码过程中对的几何信息和每个点云所对应的属性信息是分开进行编码的。在对几何信息的编码过程中,对几何位置进行坐标转换,使点云全都包含在一个bounding box(包围盒)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何位置编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,对叶子结点中的点进行熵编码,生成几何码流。FIG1 is an exemplary encoding flow chart provided by an embodiment of the present application. As shown in FIG1, in the encoding process of the point cloud, the geometric information and the attribute information corresponding to each point cloud are encoded separately. In the encoding process of the geometric information, the coordinates of the geometric position are transformed so that all the point clouds are contained in a bounding box, and then quantized. This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of a part of the point cloud is the same, so it is determined based on the parameters whether to remove duplicate points. The process of quantization and removal of duplicate points is also called voxelization. Then the bounding box is divided into octrees. In the octree-based geometric position encoding process, the bounding box is divided into 8 sub-cubes, and the non-empty (containing the points in the point cloud) sub-cubes are divided into 8 equal parts until the leaf node obtained by the division is a 1x1x1 unit cube. The division is stopped, and the points in the leaf node are entropy encoded to generate a geometric code stream.
在属性编码过程中,对几何信息进行重建。目前,属性编码主要针对颜色、反射率信息进行。首先判断是否进行颜色空间转换,若进行颜色空间转换,则将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,用莫顿码对点云进行一个排序后,直接进行后项差分预测,最后对预测残差进行量化并编码,生成属性码流。In the attribute encoding process, the geometric information is reconstructed. At present, attribute encoding is mainly performed on color and reflectivity information. First, determine whether to perform color space conversion. If color space conversion is performed, the color information is converted from RGB color space to YUV color space. Then, the reconstructed point cloud is recolored using the original point cloud so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, after sorting the point cloud using Morton code, the post-term differential prediction is directly performed, and finally the prediction residual is quantized and encoded to generate the attribute code stream.
高层语法元素、几何码流和属性码流组成三维图像的二进制码流,编码器发送二进制码流到解码器。The high-level syntax elements, the geometric code stream and the attribute code stream constitute a binary code stream of the three-dimensional image, and the encoder sends the binary code stream to the decoder.
图2为本申请实施例提供的示例性的解码流程框图;如图2所示,解码器获取二进制码流,针对二进制码流中的几何码流和属性码流分别进行独立解码。在对几何码流的解码时,通过熵解码-八叉树重建-逆坐标量化-逆坐标平移,得到点云的几何信息;在对属性码流的解码时,通过熵解码-逆量化-属性重建-逆空间转换,得到点云的属性信息,基于几何信息和属性信息还原点云数据的三维图像模型。FIG2 is a flowchart of an exemplary decoding process provided by an embodiment of the present application; as shown in FIG2, the decoder obtains a binary code stream, and independently decodes the geometric code stream and the attribute code stream in the binary code stream. When decoding the geometric code stream, the geometric information of the point cloud is obtained through entropy decoding-octree reconstruction-inverse coordinate quantization-inverse coordinate translation; when decoding the attribute code stream, the attribute information of the point cloud is obtained through entropy decoding-inverse quantization-attribute reconstruction-inverse space conversion, and the three-dimensional image model of the point cloud data is restored based on the geometric information and attribute information.
在本申请实施例提供的一种点云编解码方法主要作用于图1和图2中虚线框围住的属性预测部分和属性重建部分。A point cloud encoding and decoding method provided in an embodiment of the present application mainly acts on the attribute prediction part and the attribute reconstruction part surrounded by the dotted boxes in Figures 1 and 2.
基于上述介绍的背景下,下面分别介绍本申请实施例提供的点云编码方法和点云解码方法。Based on the above-introduced background, the point cloud encoding method and point cloud decoding method provided in the embodiments of the present application are respectively introduced below.
本申请实施例提供了一种点云编码方法,应用于编码器,图3为本申请实施例提供的预测方法的第一流程示意图,如图3所示,该方法可以包括:The present application embodiment provides a point cloud encoding method, which is applied to an encoder. FIG3 is a schematic diagram of a first flow chart of a prediction method provided by the present application embodiment. As shown in FIG3 , the method may include:
步骤101:确定待编码点云的几何信息;Step 101: Determine the geometric information of the point cloud to be encoded;
这里,几何信息具体指点的三维几何坐标。Here, the geometric information specifically refers to the three-dimensional geometric coordinates of the point.
在一些实施例中,几何信息为编码过程中得到的重建几何信息。几何编码完成后,对几何信息进行重建用以指导属性编码。In some embodiments, the geometric information is reconstructed geometric information obtained during the encoding process. After the geometric encoding is completed, the geometric information is reconstructed to guide the attribute encoding.
步骤102:基于所述待编码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码点云中的至少两点;Step 102: determining a set of repeated points based on the geometric information of the point cloud to be encoded; wherein the set of repeated points includes at least two points in the point cloud to be encoded;
这里,重复点是指点云中位置相同或相近的点。实际应用中,可以用两点之间的距离来判断两点是否重合。Here, duplicate points refer to points with the same or similar positions in the point cloud. In practical applications, the distance between two points can be used to determine whether the two points coincide.
在一些实施例中,所述基于所述待编码点云的几何信息,确定重复点集合,包括:基于所述待编码点云的几何信息,确定所述待编码点云中与目标点的距离小于距离阈值的点,构成所述重复点集合。In some embodiments, determining a set of repeated points based on the geometric information of the point cloud to be encoded includes: based on the geometric information of the point cloud to be encoded, determining points in the point cloud to be encoded whose distance from a target point is less than a distance threshold to constitute the set of repeated points.
这里,距离阈值大于或等于0。当距离阈值大于0时,重复点包括几何坐标相同或相近的点;当距离阈值等于0时,重复点只包括几何坐标相同的点。Here, the distance threshold is greater than or equal to 0. When the distance threshold is greater than 0, the repeated points include points with the same or similar geometric coordinates; when the distance threshold is equal to 0, the repeated points only include points with the same geometric coordinates.
在一些实施例中,所述基于所述待编码点云的几何信息,确定重复点集合,包括:基于所述待编码点云的几何信息,确定所述几何信息相同的点组成所述重复点集合。也就是,距离阈值等于0时,确定几何信息坐标完全相等的点组成重复点集合。In some embodiments, determining the set of repeated points based on the geometric information of the point cloud to be encoded includes: determining, based on the geometric information of the point cloud to be encoded, that points with the same geometric information constitute the set of repeated points. That is, when the distance threshold is equal to 0, determining that points with completely equal geometric information coordinates constitute the set of repeated points.
在一些实施例中,所述基于所述待编码点云的几何信息,确定重复点集合,包括:基于所述几何信息,生成所述待编码点云的莫顿码(Morton码)或希尔伯特码(Hilbert码);确定莫顿码相等或希尔伯特码相等的点组成所述重复点集合。In some embodiments, determining a set of repeated points based on the geometric information of the point cloud to be encoded includes: generating a Morton code or a Hilbert code of the point cloud to be encoded based on the geometric information; and determining that points with equal Morton codes or equal Hilbert codes constitute the set of repeated points.
也就是说,在确定重复点时,可以直接通过几何坐标来确定,也可以将几何坐标转换为莫顿码或希尔伯特码,确定莫顿码相等或希尔伯特码相等的点组成重复点集合。That is to say, when determining repeated points, they can be determined directly by geometric coordinates, or the geometric coordinates can be converted into Morton codes or Hilbert codes to determine that points with equal Morton codes or equal Hilbert codes constitute a set of repeated points.
需要说明的是,待编码点云中包括至少一个重复点集合,每一个重复点集合对应一个相同的几何信息,每个重复点集合的预测方法均相同。It should be noted that the point cloud to be encoded includes at least one repeated point set, each repeated point set corresponds to the same geometric information, and the prediction method of each repeated point set is the same.
步骤103:对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;Step 103: sorting the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
本申请实施例中,属性信息和属性值是同一种编码数据的两种不同表达方式。In the embodiment of the present application, attribute information and attribute value are two different expressions of the same encoded data.
在一些实施例中,所述对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序,包括:按照属性信息(即属性值)从小到大的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序;或者,按照属性信息从大到小的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序。In some embodiments, the sorting of attribute information of the duplicate points in the duplicate point set to determine the order of the duplicate points includes: sorting the duplicate points in the duplicate point set in order of attribute information (i.e., attribute values) from small to large to determine the order of the duplicate points; or sorting the duplicate points in the duplicate point set in order of attribute information from large to small to determine the order of the duplicate points.
需要说明的是,现有的重复点中包含多个属性值,按照原始点云顺序这些属性值是分布是不连续的,选取预测参考点时,重复点属性值若不连续,会对重复点的预测性能产生影响。比如,重复点顺序为:0、0、25、50、0、0、50、25、50、50。若按照这样的顺序为当前重复点选择前N个已编码的重复点作为预测参考点时,不容易选择到最佳预测参考点。本申请对重复点的属性值的按照属性值排序,得到重复点顺序为:0、0、0、0、25、25、50、50、50、50,按照这种重复点顺序为当前重复点选择前N个已编码重复点作为预测参考点时,会选择到最佳预测参考点,从而提高编码性能。It should be noted that the existing repeated points contain multiple attribute values, and these attribute values are distributed discontinuously according to the order of the original point cloud. When selecting the prediction reference point, if the attribute values of the repeated points are discontinuous, it will affect the prediction performance of the repeated points. For example, the order of repeated points is: 0, 0, 25, 50, 0, 0, 50, 25, 50, 50. If the first N encoded repeated points are selected as prediction reference points for the current repeated point in this order, it is not easy to select the best prediction reference point. The present application sorts the attribute values of the repeated points according to the attribute values, and obtains the order of repeated points: 0, 0, 0, 0, 25, 25, 50, 50, 50. When the first N encoded repeated points are selected as prediction reference points for the current repeated point in this order, the best prediction reference point will be selected, thereby improving the coding performance.
步骤104:基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。Step 104: performing attribute prediction on the repeated points based on the repeated point sequence, and determining attribute prediction results of the repeated points.
具体地,基于重复点顺序确定待编码当前重复点的预测参考点,预测参考点为已编码的重复点,根据预测参考点的重建属性信息确定当前重复点的预测属性信息,预测属性信息即为当前重复点的预测结果。Specifically, the predicted reference point of the current repeated point to be encoded is determined based on the repeated point sequence, the predicted reference point is the encoded repeated point, and the predicted attribute information of the current repeated point is determined according to the reconstructed attribute information of the predicted reference point, and the predicted attribute information is the prediction result of the current repeated point.
需要说明的是,若预测参考点为一个时,直接将预测参考点的重建属性信息作为预测属性信息;当预测参考点为至少两个时,可以对重建属性信息取平均运算或者加权运算,得到当前重复点的重建属性信息。It should be noted that if there is only one prediction reference point, the reconstructed attribute information of the prediction reference point is directly used as the prediction attribute information; when there are at least two prediction reference points, the reconstructed attribute information can be averaged or weighted to obtain the reconstructed attribute information of the current repeated point.
在点云编码方法中,在得到当前重复点的预测属性信息之后,还包括:真实属性信息与预测属性信息作残差,对残差进行量化、熵编码并写入码流。In the point cloud coding method, after obtaining the predicted attribute information of the current repeated point, it also includes: making a residual of the real attribute information and the predicted attribute information, quantizing the residual, entropy coding and writing it into the bit stream.
采用上述技术方案,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编码性能。By adopting the above technical solution, the attribute information of the repeated points is sorted to obtain repeated points with continuous attribute information, and the prediction reference points are determined using the sorted order of the repeated points, which is beneficial to reducing the output code stream and improving the encoding performance.
下面对重复点的预测方法进行进一步的举例说明,图4为本申请实施例提供的预测方法的第二流程示意图,如图4所示,该方法包括:The following is a further example of a method for predicting duplicate points. FIG4 is a schematic diagram of a second flow chart of a prediction method provided in an embodiment of the present application. As shown in FIG4 , the method includes:
步骤201:当前重复点是所述重复点顺序中的第一个重复点时,基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;将所述邻居点作为当前重复点的预测参考点;Step 201: when the current repeated point is the first repeated point in the repeated point sequence, based on the point cloud sequence of the point cloud to be encoded, determining the encoded neighboring points of the current repeated point; and using the neighboring points as prediction reference points for the current repeated point;
这里,邻居点包括:与当前重复点距离最小的K个邻居点;其中,K取正整数。其中,K的取值可以为3个,也可以为6个,甚至可以为8个或者其他个。在本申请实施例中,K的取值根据实际情况进行具体设定,这里不作任何限定。Here, the neighbor point includes: K neighbor points with the smallest distance to the current repeated point; wherein K is a positive integer. The value of K can be 3, 6, or even 8 or other values. In the embodiment of the present application, the value of K is specifically set according to the actual situation and is not limited here.
这里,距离可以为欧式距离、曼哈顿距离、地球移动距离(Earth Mover'sDistance,EMD)等。为了较少计算量提高编码效率,优选为曼哈顿距离。Here, the distance may be Euclidean distance, Manhattan distance, Earth Mover's Distance (EMD), etc. In order to reduce the amount of calculation and improve the coding efficiency, Manhattan distance is preferred.
需要说明的是,对于第一个重复点,由于其在重复点顺序中位于第一位,因此,其前面无已编码的重复点,因此只能将其视为非重复点进行预测。具体地,根据非重复点的点云顺序为其选取距离最近的K个邻居点,作为预测参考点。It should be noted that for the first repeated point, since it is in the first place in the repeated point sequence, there is no coded repeated point in front of it, so it can only be regarded as a non-repeated point for prediction. Specifically, according to the point cloud sequence of the non-repeated point, the nearest K neighboring points are selected as prediction reference points.
步骤202:当前重复点不是所述重复点顺序中的第一个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;Step 202: when the current repeated point is not the first repeated point in the repeated point sequence, determining a predicted reference point of the current repeated point based on the repeated point sequence;
在一些实施例中,所述基于所述重复点顺序,确定当前重复点的预测参考点,包括:基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。In some embodiments, determining the predicted reference point of the current repeated point based on the repeated point sequence includes: determining the first N repeated points of the current repeated point based on the repeated point sequence; wherein N is a positive integer; and using the first N repeated points as the predicted reference point of the current repeated point.
这里,N可以取1、2、3、4、5等整数,当N取1时,利用当前重复点的前一个重复点的重建属性信息进行预测。比如,将前一个重复点的重建属性信息作为当前重复点的预测属性信息。Here, N can be an integer such as 1, 2, 3, 4, 5, etc. When N is 1, the reconstructed attribute information of the previous repeated point of the current repeated point is used for prediction. For example, the reconstructed attribute information of the previous repeated point is used as the predicted attribute information of the current repeated point.
当N取大于1时,利用当前重复点的前多个重复点的重建属性信息进行预测。比如,将前多个重复点的重建属性信息作为当前重复点的预测属性信息。也就是说,当N取大于1时,从第N+1个重复点开始都是取前N个重复点作为预测参考点,对于第2个至第N个重复点可以同时取距离最近的邻居点和前面的一个或多个重复点作为预测参考点。When N is greater than 1, the reconstructed attribute information of the previous multiple repeated points of the current repeated point is used for prediction. For example, the reconstructed attribute information of the previous multiple repeated points is used as the predicted attribute information of the current repeated point. In other words, when N is greater than 1, starting from the N+1th repeated point, the previous N repeated points are used as prediction reference points. For the 2nd to Nth repeated points, the nearest neighbor point and the previous one or more repeated points can be used as prediction reference points at the same time.
实际应用中,预测参考点的数量可以是固定的也可以是不固定的。当预测参考点的数量是固定的,随着重复点数量的减少邻居点的数量会增加,随着重复点数量的增加邻居点的数量会减少,当预测参考点的数量是不固定的,前3个重复点在预测时,邻居点只取一个最近邻居点,重复点取之前所有以编码的点,0个、1个或2个。In practical applications, the number of prediction reference points can be fixed or not. When the number of prediction reference points is fixed, the number of neighbor points will increase as the number of repeated points decreases, and the number of neighbor points will decrease as the number of repeated points increases. When the number of prediction reference points is not fixed, when the first three repeated points are predicted, the neighbor point only takes one nearest neighbor point, and the repeated points take all the previously encoded points, 0, 1, or 2.
在一些实施例中,所述基于所述重复点顺序,确定当前重复点的预测参考点,包括:基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。In some embodiments, determining the predicted reference point of the current repeated point based on the repeated point sequence includes: determining the encoded neighbor points of the current repeated point based on the point cloud sequence of the point cloud to be encoded; determining the first M repeated points of the current repeated point based on the repeated point sequence; wherein M is a positive integer; and using the neighbor points and the first M repeated points as predicted reference points for the current repeated point.
在一些实施例中,所述基于所述待编码点云的几何信息进行点云重排序,确定所述待编码点云的点云顺序,包括:所述待编码点云为稠密点云时,基于所述待编码点云的几何信息进行莫顿重排序,得到第一莫顿顺序;将所述所述待编码点云的几何信息加上偏移量后进行莫顿重排序,得到第二莫顿顺序;In some embodiments, the point cloud reordering based on the geometric information of the point cloud to be encoded to determine the point cloud order of the point cloud to be encoded includes: when the point cloud to be encoded is a dense point cloud, Morton reordering based on the geometric information of the point cloud to be encoded to obtain a first Morton order; Morton reordering after adding an offset to the geometric information of the point cloud to be encoded to obtain a second Morton order;
相应的,所述基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点,包括:从所述第一莫顿顺序中,确定当前重复点的前P个邻居点;从所述第二莫顿顺序中,确定当前重复点的前Q个邻居点;从所述前P个邻居点和所述前Q个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,P和Q均取正整数,K小于P+Q的和。Correspondingly, the point cloud order based on the point cloud to be encoded is used to determine the encoded neighbor points of the current repeated point, including: determining the first P neighbor points of the current repeated point from the first Morton order; determining the first Q neighbor points of the current repeated point from the second Morton order; determining the K neighbor points with the smallest distance to the current repeated point from the first P neighbor points and the first Q neighbor points; wherein P and Q are both positive integers, and K is less than the sum of P+Q.
在PCRM中,P=Q=4,K=3。In PCRM, P=Q=4, K=3.
在一些实施例中,所述基于所述待编码点云的重建几何信息进行点云重排序,确定所述待编码点云的点云顺序,包括:所述待编码点云为稀疏点云时,基于所述待编码点云的几何信息进行Hilbert重排序,得到Hilbert顺序;In some embodiments, the reordering of the point cloud based on the reconstructed geometric information of the point cloud to be encoded to determine the point cloud order of the point cloud to be encoded includes: when the point cloud to be encoded is a sparse point cloud, performing Hilbert reordering based on the geometric information of the point cloud to be encoded to obtain a Hilbert order;
相应的,所述基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点,包括:从所述Hilbert顺序中,确定当前重复点的前L个邻居点;从所述前L个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,L取正整数,K小于L。Correspondingly, the method of determining the encoded neighbor points of the current repeated point based on the point cloud order of the point cloud to be encoded includes: determining the first L neighbor points of the current repeated point from the Hilbert order; determining the K neighbor points with the smallest distance to the current repeated point from the first L neighbor points; wherein L is a positive integer and K is less than L.
在Hilbert顺序下在待编码当前重复点的前L(L可以取前最大邻居数(maxNumOfNeighbours))个点中查找距离当前重复点最近的K个点。在一些实施例中,maxNumOfNeighbours取128,K取3,距离计算方法为曼哈顿距离计算方法。In the Hilbert order, the K points closest to the current repeated point are searched among the first L (L can be the first maximum number of neighbors (maxNumOfNeighbours)) points of the current repeated point to be encoded. In some embodiments, maxNumOfNeighbours is 128, K is 3, and the distance calculation method is the Manhattan distance calculation method.
步骤203:基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。Step 203: Based on the reconstructed attribute information of the prediction reference point, perform attribute prediction on the current repeated point.
在一些实施例中,所述基于所述预测参考点的重建属性信息,对当前重复点进行属性预测,包括:所述预测参考点的个数大于1时,对所述预测参考点的重建属性信息进行加权运算,得到当前重复点的预测属性信息。In some embodiments, the attribute prediction of the current repeated point is performed based on the reconstructed attribute information of the predicted reference point, including: when the number of the predicted reference points is greater than 1, weighted operation is performed on the reconstructed attribute information of the predicted reference point to obtain the predicted attribute information of the current repeated point.
在一些实施例中,所述方法还包括:基于每个预测参考点与当前重复点的距离,确定每个预测参考点的权重值。In some embodiments, the method further includes: determining a weight value of each predicted reference point based on a distance between each predicted reference point and the current repeated point.
需要说明的是,利用与当前重复点的距离越近的点进行预测的准确性越高,因此根据距离确定参考点的权重值,能够提高预测性能。比如,距离越小权重值越大,距离越大权重值越小。It should be noted that the closer the distance to the current repeated point is, the higher the accuracy of prediction is. Therefore, determining the weight value of the reference point according to the distance can improve the prediction performance. For example, the smaller the distance, the larger the weight value, and the larger the distance, the smaller the weight value.
在一些实施例中,所述方法还包括:所述预测参考点包括至少两个重复点时,基于所述至少两个重复点在所述重复点顺序中的位置,确定至少两个重复点的权重值。In some embodiments, the method further includes: when the predicted reference point includes at least two repeated points, determining weight values of the at least two repeated points based on positions of the at least two repeated points in the repeated point sequence.
需要说明的时,在重复点集合中的所有重复点的距离均为0,因此,无法利用距离来设定权重值,故可以根据重复点顺序来确定被选中的重复点与当前重复点的位置远近来设定权重值。比如,越靠近当前重复点的权重值越大,越远离当前重复点的权重值越小。It should be noted that the distances of all duplicate points in the duplicate point set are 0, so the weight value cannot be set using the distance. Therefore, the weight value can be set based on the distance between the selected duplicate point and the current duplicate point according to the order of the duplicate points. For example, the closer the point is to the current duplicate point, the greater the weight value is, and the farther the point is from the current duplicate point, the smaller the weight value is.
示例性地,每个重复点用前N个点进行加权预测,权重和预测参考点到当前重复点的排序位置有关,即当前重复点的第前N个重复点的权重为1/N,N越大权重越小,N越小权重越大。Exemplarily, each repeated point is weightedly predicted using the first N points, and the weight is related to the sorting position of the predicted reference point to the current repeated point, that is, the weight of the first N repeated points of the current repeated point is 1/N, the larger N is, the smaller the weight is, and the smaller N is, the larger the weight is.
下面对重复点的预测进行进一步的详细说明。The prediction of duplicate points is further explained in detail below.
(1)首先得到按照莫顿码或者希尔伯特码排列的点云,对于其中的重复点集合(几何坐标相同的点集)Pi{i=1,2,……},将Pi中的属性值按照从小到大的顺序排列。(1) First, obtain a point cloud arranged according to the Morton code or Hilbert code. For the repeated point sets (point sets with the same geometric coordinates) Pi {i=1, 2, ...}, arrange the attribute values in Pi in ascending order.
(2)点云中的属性按现有方法进行预测,对其中的重复点预测方式如下:(2) The attributes in the point cloud are predicted according to the existing method, and the prediction method for repeated points is as follows:
对重复点Pi预测:i<=H(比如,H=1,实际应用中H值可变)时,P1的预测方式与非重复点预测方式相同;H<i<=J,Pi的预测属性值为Pi的前N个重复点和K个邻居点的属性值的均值或加权值;J<i<=I时,Pi的预测属性值为Pi的前N(比如,N=1,实际应用中N值可变)个重复点的属性值的均值或加权值。Prediction of repeated points Pi : when i<=H (for example, H=1, the H value is variable in actual applications), the prediction method of Pi is the same as the prediction method of non-repeated points; when H<i<=J, the predicted attribute value of Pi is the average or weighted value of the attribute values of the first N repeated points and K neighboring points of Pi ; when J<i<=I, the predicted attribute value of Pi is the average or weighted value of the attribute values of the first N (for example, N=1, the N value is variable in actual applications) repeated points of Pi .
(3)点云每个点的真实属性值与预测属性值作残差,对残差进行量化编码。(3) The residual between the true attribute value and the predicted attribute value of each point in the point cloud is quantized and encoded.
下面针对不同的属性信息进行距离说明。The following is a description of the distance for different attribute information.
当属性信息为颜色时,属性预测方法具体可以包括以下:When the attribute information is color, the attribute prediction method may specifically include the following:
待编码点为非重复点时,首先利用莫顿码来查找当前点的空间邻居点,然后根据查找的邻居点对当前点进行属性预测。When the point to be encoded is a non-repeated point, the Morton code is first used to find the spatial neighbor points of the current point, and then the attributes of the current point are predicted based on the found neighbor points.
莫顿编码也可叫z-order code,因为其编码顺序按照空间z序。计算莫顿码的具体方法描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标(x,y,z),其三个分量的表示通过以下实现:Morton code can also be called z-order code because its encoding order follows the spatial z order. The specific method of calculating Morton code is described as follows. For each component of the three-dimensional coordinate (x, y, z) represented by a d-bit binary number, the representation of its three components is achieved by:
其中,xl,yl,zl∈{0,1}分别是x,y,z的最高位(l=1)到最低位(l=d)对应的二进制数值。莫顿码M是对x,y,z从最高位开始,依次交叉排列xl,yl,zl到最低位,M的计算公式如下所示:Among them, x l ,y l ,z l ∈{0,1} are the binary values corresponding to the highest bit (l=1) to the lowest bit (l=d) of x, y, z respectively. The Morton code M is x, y, z starting from the highest bit, and then arranged in sequence from x l ,y l ,z l to the lowest bit. The calculation formula of M is as follows:
其中,ml′∈{0,1}分别是M的最高位(l′=1)到最低位(l′=3d)的值。在得到点云中每个点的莫顿码M后,将点云中的点按莫顿码由小到大的顺序进行排列,并将每个点的权值w设为1。表示为计算机语言,类似于z|(y<<1)|(x<<2)的组合。Among them, m l′ ∈{0,1} are the values of the highest bit (l′=1) to the lowest bit (l′=3d) of M. After obtaining the Morton code M of each point in the point cloud, the points in the point cloud are arranged in order from small to large Morton codes, and the weight w of each point is set to 1. Expressed in computer language, it is similar to the combination of z|(y<<1)|(x<<2).
需要说明的是,首先计算当前节点的莫顿码,然后根据当前节点的莫顿码,定位至基准点的莫顿码。这里,基准点的莫顿码是当前节点的邻居节点中的最小莫顿码。示例性地,如果当前节点的三维坐标为(x,y,z),那么基准点的三维坐标为(x-1,y-1,z-1),这时候计算得到的莫顿码是最小的。It should be noted that the Morton code of the current node is first calculated, and then the Morton code of the reference point is located according to the Morton code of the current node. Here, the Morton code of the reference point is the minimum Morton code among the neighboring nodes of the current node. Exemplarily, if the three-dimensional coordinates of the current node are (x, y, z), then the three-dimensional coordinates of the reference point are (x-1, y-1, z-1), and the calculated Morton code is the minimum at this time.
在得到基准点之后,可以计算基准点与这N个待搜索邻居节点的坐标差值(offset),并将这N个坐标差值转换为N个莫顿码,然后将这N个莫顿码存储在预设查找表中。After obtaining the reference point, the coordinate difference (offset) between the reference point and the N neighbor nodes to be searched can be calculated, and the N coordinate differences can be converted into N Morton codes, which are then stored in a preset lookup table.
邻居点的空间范围如图5所示,当前待编码点为中间灰色标记块,其对应的预设邻域范围为3×3×3大小;其中,X表示水平坐标轴,Y表示垂直坐标轴,Z表示z坐标轴。这里,当前节点的邻居节点数量总共为26个;其中,与当前节点共面的邻居节点数量有6个,与当前节点共线的邻居节点数量有12个,与当前节点共点的邻居节点数量有8个。需要注意的是,预设邻域范围并不局限于3×3×3大小,还可以是4×4×4大小、5×5×5大小、6×6×6大小,甚至是大于6×6×6大小等,本申请实施例不作具体限定。The spatial range of the neighboring points is shown in Figure 5. The current point to be encoded is the middle gray marked block, and its corresponding preset neighborhood range is 3×3×3 in size; wherein X represents the horizontal coordinate axis, Y represents the vertical coordinate axis, and Z represents the z coordinate axis. Here, the number of neighbor nodes of the current node is 26 in total; among them, the number of neighbor nodes coplanar with the current node is 6, the number of neighbor nodes colinear with the current node is 12, and the number of neighbor nodes copointing with the current node is 8. It should be noted that the preset neighborhood range is not limited to 3×3×3 in size, but can also be 4×4×4 in size, 5×5×5 in size, 6×6×6 in size, or even larger than 6×6×6 in size, etc., and the embodiments of the present application do not make specific limitations.
结合图5的示例,考虑邻居节点的查找范围为待编码当前节点的3×3×3大小的预设邻域范围。首先利用当前点节点的莫顿码得到该邻域中莫顿码值最小的块,将该块作为基准块,然后利用基准块来查找与当前待编码点节点共面、共线的已编码编解码邻居节点。该预设邻域范围内与待编码当前节点共面且已编码/已解码(可简称为“已编解码”)的邻居节点之间的莫顿码关系如图6所示,该预设邻域范围内与当前节点共线且已编解码的邻居节点之间的莫顿码关系如图7所示。这里,在图6中,用7填充的块表示当前节点,用3、5、6填充的块为与当前节点共面的邻居节点。在图7中,用7填充的块仍表示当前节点,用1、2、4填充的块则为与当前节点共线的邻居节点。In conjunction with the example of FIG. 5 , consider that the search range of neighbor nodes is a preset neighborhood range of 3×3×3 size of the current node to be encoded. First, the Morton code of the current point node is used to obtain the block with the smallest Morton code value in the neighborhood, and the block is used as the reference block. Then, the reference block is used to find the encoded and decoded neighbor nodes that are coplanar and colinear with the current point node to be encoded. The Morton code relationship between the neighbor nodes that are coplanar with the current node to be encoded and have been encoded/decoded (can be referred to as "encoded and decoded") within the preset neighborhood range is shown in FIG. 6, and the Morton code relationship between the neighbor nodes that are colinear with the current node within the preset neighborhood range and have been encoded and decoded is shown in FIG. 7. Here, in FIG. 6, the block filled with 7 represents the current node, and the blocks filled with 3, 5, and 6 are neighbor nodes that are coplanar with the current node. In FIG. 7, the block filled with 7 still represents the current node, and the blocks filled with 1, 2, and 4 are neighbor nodes that are colinear with the current node.
如图6和图7所示,用1、2、3、4、5、6填充的这6个邻居节点一定在当前节点之前完成属性编解码,但是除这些邻居节点之外,还可以包括一些共线的邻居节点也有可能也在当前节点之前完成属性编解码。但是在相关技术中,目前仅仅只考虑了如图6和图7所示的3个共面和3个共线的邻居节点,这样将会遗漏掉一些已编解码的共线的邻居节点。那么在找不到这6个共面或共线的邻居节点以后,直接用莫顿码比当前节点小的前一个已编解码节点的重建属性值作为预测属性值,在空间上是不准确的,因为莫顿码存在周期性的跳变点,即使莫顿码是相邻的,但是空间位置却不能保证相邻。如此对于基于几何空间关系的属性预测来说,目前并没有充分利用相邻节点的空间相关性,从而降低了点云的编解码效率。As shown in Figures 6 and 7, the six neighbor nodes filled with 1, 2, 3, 4, 5, and 6 must complete the attribute encoding and decoding before the current node, but in addition to these neighbor nodes, some collinear neighbor nodes may also complete the attribute encoding and decoding before the current node. However, in the relevant technology, only three coplanar and three collinear neighbor nodes as shown in Figures 6 and 7 are currently considered, which will miss some collinear neighbor nodes that have been encoded and decoded. Then, after the six coplanar or collinear neighbor nodes cannot be found, directly using the reconstructed attribute value of the previous encoded and decoded node whose Morton code is smaller than the current node as the predicted attribute value is inaccurate in space, because the Morton code has periodic jump points, even if the Morton codes are adjacent, but the spatial position cannot be guaranteed to be adjacent. In this way, for attribute prediction based on geometric spatial relationships, the spatial correlation of adjacent nodes is not fully utilized, thereby reducing the encoding and decoding efficiency of point clouds.
待编码点为重复点时,该方法还包括:基于所述待编码点云的几何信息进行莫顿重排序,得到莫顿顺序(即点云顺序);根据莫顿顺序确定重复点集合;对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。When the point to be encoded is a repeated point, the method also includes: performing Morton reordering based on the geometric information of the point cloud to be encoded to obtain a Morton order (i.e., a point cloud order); determining a set of repeated points according to the Morton order; sorting the attribute information of the repeated points in the set of repeated points to determine the order of the repeated points; and predicting the attributes of the repeated points based on the repeated point order to determine the attribute prediction results of the repeated points.
当前重复点是所述重复点顺序中的第一个重复点时,基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;将所述邻居点作为当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。When the current repeated point is the first repeated point in the repeated point sequence, the encoded neighbor points of the current repeated point are determined based on the point cloud sequence of the point cloud to be encoded; the neighbor points are used as prediction reference points for the current repeated point; and based on the reconstructed attribute information of the predicted reference points, the attributes of the current repeated point are predicted.
当前重复点不是所述重复点顺序中的第一个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。When the current repeated point is not the first repeated point in the repeated point sequence, a predicted reference point of the current repeated point is determined based on the repeated point sequence; and attributes of the current repeated point are predicted based on the reconstructed attribute information of the predicted reference point.
具体地,确定预测参考点的方法包括:基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。Specifically, the method for determining the prediction reference point includes: based on the repeated point sequence, determining the first N repeated points of the current repeated point; wherein N is a positive integer; and using the first N repeated points as the prediction reference point of the current repeated point. Based on the point cloud sequence of the point cloud to be encoded, determining the encoded neighbor points of the current repeated point; based on the repeated point sequence, determining the first M repeated points of the current repeated point; wherein M is a positive integer; and using the neighbor points and the first M repeated points as the prediction reference points of the current repeated point.
当属性信息为反射率时,属性预测方法具体可以包括以下:When the attribute information is reflectivity, the attribute prediction method may specifically include the following:
根据不同类型序列有两种对点云的排序方法:莫顿重排序和Hilbert重排序。具体地,单帧稠密点云采用莫顿重排序,多帧稀疏点云采用Hilbert重排序。There are two methods for sorting point clouds according to different types of sequences: Morton reordering and Hilbert reordering. Specifically, Morton reordering is used for single-frame dense point clouds, and Hilbert reordering is used for multi-frame sparse point clouds.
也就是说,在对反射率进行预测时,无论重复点还是非重复点都需要先进行重排序得到点云顺序(即莫顿顺序或Hilbert顺序)。That is to say, when predicting the reflectivity, both repeated points and non-repeated points need to be reordered first to obtain the point cloud order (ie, the Morton order or the Hilbert order).
莫顿重排序:根据点云几何坐标生成对应莫顿码,按照莫顿码重排序得到莫顿顺序1(即第一莫顿顺序)后,把所有点坐标加上固定值后得到新的坐标,用新的坐标生成点云对应的莫顿码,按照莫顿排序得到莫顿顺序2(即第二莫顿顺序)。根据莫顿顺序1解码,查找待解码点的最近邻居点,在莫顿顺序1中选择所述当前点的前P个点作为备选,在莫顿顺序2中选取所述当前点的前Q个点作为备选,在上述P和Q个点中,计算每个点到当前点的曼哈顿距离d,从这P+Q个点中选取距离最小的K个点已解码点作为当前点的预测点,在PCRM中,P=Q=4,K=3。Morton reordering: Generate the corresponding Morton code according to the geometric coordinates of the point cloud. After reordering the Morton code to obtain Morton order 1 (i.e., the first Morton order), add a fixed value to all point coordinates to obtain new coordinates, use the new coordinates to generate the Morton code corresponding to the point cloud, and obtain Morton order 2 (i.e., the second Morton order) according to Morton order 1 decoding. Find the nearest neighbor point of the point to be decoded, select the first P points of the current point as candidates in Morton order 1, and select the first Q points of the current point as candidates in Morton order 2. Among the above P and Q points, calculate the Manhattan distance d from each point to the current point, and select the K decoded points with the smallest distance from these P+Q points as the predicted points of the current point. In PCRM, P=Q=4, K=3.
Hilbert重排序:根据点云几何坐标生成对应Hilbert码,进行排序后得到Hilbert顺序,按照Hilbert顺序进行编码。在Hilbert顺序下在当前待编码点的前最大邻居数(maxNumOfNeighbours)个点中查找距离当前点最近的K个点,其中maxNumOfNeighbours默认为128,K取3,距离计算方法为曼哈顿距离。Hilbert reordering: Generate the corresponding Hilbert code according to the geometric coordinates of the point cloud, sort it to get the Hilbert order, and encode it according to the Hilbert order. In the Hilbert order, find the K points closest to the current point among the maximum number of neighbors (maxNumOfNeighbours) of the current point to be encoded, where maxNumOfNeighbours defaults to 128, K is 3, and the distance calculation method is Manhattan distance.
对于反射率的这两种预测方法,都是按照几何位置来进行预测的,称为“基于几何位置的预测方法”,如果基于几何位置的预测方法产生的残差很大的情况下,基于属性值的预测方法通常能降低预测残差,并提高编码效率。For these two prediction methods of reflectivity, prediction is performed according to geometric position, which is called "prediction method based on geometric position". If the residual generated by the prediction method based on geometric position is large, the prediction method based on attribute value can usually reduce the prediction residual and improve the coding efficiency.
基于属性值的预测值方法分为以下几个步骤:The prediction method based on attribute values is divided into the following steps:
(1)保存最近的已编码的32个不同的属性预测值在候选预测值表中;(1) Save the most recently encoded 32 different attribute prediction values in the candidate prediction value table;
(2)选取跟当前点属性最近的点并用其属性值作为当前点的属性预测值;(2) Select the point closest to the current point attribute and use its attribute value as the attribute prediction value of the current point;
(3)对选取点在候选预测值表的序号进行编码。(3) Encode the serial number of the selected point in the candidate prediction value table.
在PCRM中,首先使用基于几何位置的预测方法进行属性预测,并对得到的残差值进行统计,即对大于等于3的残差值进行累加并记录其数目。到编码完512个点以后,计算大于等于3的残差值的平均值并用该值比较预先设定好的阈值。当计算出的残差平均值超过阈值,切换到基于属性值的预测方法。在PCRM中,无损编码阈值是50,有损编码的阈值是25。In PCRM, the prediction method based on geometric position is first used to predict the attributes, and the residual values obtained are counted, that is, the residual values greater than or equal to 3 are accumulated and their number is recorded. After encoding 512 points, the average value of the residual values greater than or equal to 3 is calculated and compared with the pre-set threshold. When the calculated residual average exceeds the threshold, switch to the prediction method based on attribute value. In PCRM, the lossless coding threshold is 50, and the lossy coding threshold is 25.
本申请实施例提供的预测方法应用到现有的点云预测中,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编解码性能。The prediction method provided in the embodiment of the present application is applied to the existing point cloud prediction. By sorting the attribute information of the repeated points, repeated points with continuous attribute information are obtained, and the prediction reference points are determined according to the order of the sorted repeated points, which is beneficial to reducing the output code stream and improving the encoding and decoding performance.
对非重复点的属性信息进行编码的方法包括以下:Methods for encoding attribute information of non-repeated points include the following:
方法一:对于第一个点的属性信息,直接进行编码,进行量化、熵编码并写入码流;对第二个及以后的点的属性信息参考前一个已编码点的属性信息,进行预测,对残差进行量化、熵编码并写入码流;Method 1: For the attribute information of the first point, directly encode, quantize, entropy encode and write it into the bitstream; for the attribute information of the second and subsequent points, refer to the attribute information of the previously encoded point, make predictions, quantize and entropy encode the residual and write it into the bitstream;
方法二:对于第一个点的属性信息,直接进行编码,进行量化、熵编码并写入码流;对第二个点的属性信息参考第一个已编码点的属性信息,进行预测,对残差进行量化、熵编码并写入码流;对第三个点及以后的点,选择之前已编码点中规定数量的点的属性信息构建预测值,进行预测,对残差进行量化、熵编码并写入码流。Method 2: For the attribute information of the first point, directly encode it, quantize it, entropy encode it and write it into the bitstream; for the attribute information of the second point, refer to the attribute information of the first encoded point, make a prediction, quantize the residual, entropy encode it and write it into the bitstream; for the third point and subsequent points, select the attribute information of a specified number of points in the previously encoded points to construct a predicted value, make a prediction, quantize the residual, entropy encode it and write it into the bitstream.
本申请实施例还提供了另一种预测方法,应用于解码器,图8为本申请实施例提供的预测方法的第三流程示意图,如图8所示,该方法包括:The present application embodiment further provides another prediction method, which is applied to a decoder. FIG8 is a schematic diagram of a third flow chart of the prediction method provided by the present application embodiment. As shown in FIG8 , the method includes:
步骤301:解析码流,确定待解码点云的重建几何信息;Step 301: Parse the bitstream to determine the reconstructed geometric information of the point cloud to be decoded;
这里,获取到码流后,解析几何码流并对几何信息进行预测得到重建几何信息,利用重建几何信息指导属性解码,几何信息具体指点的三维几何坐标。Here, after obtaining the code stream, the geometric code stream is parsed and the geometric information is predicted to obtain the reconstructed geometric information, and the reconstructed geometric information is used to guide the attribute decoding, and the geometric information specifically points to the three-dimensional geometric coordinates.
具体地,解析过程可以对码流进行熵解码和逆量化。Specifically, the parsing process can perform entropy decoding and inverse quantization on the bitstream.
步骤302:基于所述待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待解码点云中的至少两点;Step 302: Determine a set of repeated points based on the geometric information of the point cloud to be decoded; wherein the set of repeated points includes at least two points in the point cloud to be decoded;
这里,重复点是指点云中位置相同或相近的点。实际应用中,可以用两点之间的距离来判断两点是否重合。Here, duplicate points refer to points with the same or similar positions in the point cloud. In practical applications, the distance between two points can be used to determine whether the two points coincide.
在一些实施例中,所述基于所述待解码点云的几何信息,确定重复点集合,包括:基于所述待解码点云的几何信息,确定所述待解码点云中与目标点的距离小于距离阈值的点,构成所述重复点集合。In some embodiments, determining a set of repeated points based on the geometric information of the point cloud to be decoded includes: based on the geometric information of the point cloud to be decoded, determining points in the point cloud to be decoded whose distance from the target point is less than a distance threshold to constitute the set of repeated points.
这里,距离阈值大于或等于0。当距离阈值大于0时,重复点包括几何坐标相同或相近的点;当距离阈值等于0时,重复点只包括几何坐标相同的点。Here, the distance threshold is greater than or equal to 0. When the distance threshold is greater than 0, the repeated points include points with the same or similar geometric coordinates; when the distance threshold is equal to 0, the repeated points only include points with the same geometric coordinates.
在一些实施例中,所述基于所述待解码点云的几何信息,确定重复点集合,包括:基于所述待解码点云的几何信息,确定所述几何信息相同的点组成所述重复点集合。也就是,距离阈值等于0时,确定几何信息坐标完全相等的点组成重复点集合。In some embodiments, determining the repeated point set based on the geometric information of the point cloud to be decoded includes: determining, based on the geometric information of the point cloud to be decoded, that points with the same geometric information constitute the repeated point set. That is, when the distance threshold is equal to 0, determining that points with completely equal geometric information coordinates constitute the repeated point set.
在一些实施例中,所述基于所述待解码点云的几何信息,确定重复点集合,包括:基于所述几何信息,生成所述待解码点云的莫顿码(Morton码)或希尔伯特码(Hilbert码);确定莫顿码相等或希尔伯特码相等的点组成所述重复点集合。In some embodiments, determining a set of repeated points based on the geometric information of the point cloud to be decoded includes: generating a Morton code or a Hilbert code of the point cloud to be decoded based on the geometric information; and determining that points with equal Morton codes or equal Hilbert codes constitute the set of repeated points.
也就是说,在确定重复点时,可以直接通过几何坐标来确定,也可以将几何坐标转换为莫顿码或希尔伯特码,确定莫顿码相等或希尔伯特码相等的点组成重复点集合。That is to say, when determining repeated points, they can be determined directly by geometric coordinates, or the geometric coordinates can be converted into Morton codes or Hilbert codes to determine that points with equal Morton codes or equal Hilbert codes constitute a set of repeated points.
需要说明的是,待解码点云中包括至少一个重复点集合,每一个重复点集合对应一个相同的几何信息,每个重复点集合的预测方法均相同。It should be noted that the point cloud to be decoded includes at least one repeated point set, each repeated point set corresponds to the same geometric information, and the prediction method of each repeated point set is the same.
步骤303:对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;Step 303: sorting the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
本申请实施例中,属性信息和属性值是同一种解码数据的两种不同表达方式。In the embodiment of the present application, attribute information and attribute value are two different expressions of the same decoded data.
在一些实施例中,所述对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序,包括:按照属性信息(即属性值)从小到大的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序;或者,按照属性信息从大到小的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序。In some embodiments, the sorting of attribute information of the duplicate points in the duplicate point set to determine the order of the duplicate points includes: sorting the duplicate points in the duplicate point set in order of attribute information (i.e., attribute values) from small to large to determine the order of the duplicate points; or sorting the duplicate points in the duplicate point set in order of attribute information from large to small to determine the order of the duplicate points.
需要说明的是,现有的重复点中包含多个属性值,按照原始点云顺序这些属性值是分布是不连续的,选取预测参考点时,重复点属性值若不连续,会对重复点的预测性能产生影响。比如,重复点顺序为:0、0、25、50、0、0、50、25、50、50。若按照这样的顺序为当前重复点选择前N个已解码的重复点作为预测参考点时,不容易选择到最佳预测参考点。本申请对重复点的属性值的按照属性值排序,得到重复点顺序为:0、0、0、0、25、25、50、50、50、50,按照这种重复点顺序为当前重复点选择前N个已解码重复点作为预测参考点时,会选择到最佳预测参考点,从而提高解码性能。It should be noted that the existing repeated points contain multiple attribute values, and these attribute values are distributed discontinuously according to the order of the original point cloud. When selecting the prediction reference point, if the attribute values of the repeated points are discontinuous, it will affect the prediction performance of the repeated points. For example, the order of repeated points is: 0, 0, 25, 50, 0, 0, 50, 25, 50, 50. If the first N decoded repeated points are selected as prediction reference points for the current repeated point in this order, it is not easy to select the best prediction reference point. The present application sorts the attribute values of the repeated points according to the attribute values, and obtains the order of repeated points: 0, 0, 0, 0, 25, 25, 50, 50, 50. When the first N decoded repeated points are selected as prediction reference points for the current repeated point in this order, the best prediction reference point will be selected, thereby improving the decoding performance.
步骤304:基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。Step 304: performing attribute prediction on the repeated points based on the repeated point sequence, and determining attribute prediction results of the repeated points.
具体地,基于重复点顺序确定待解码当前重复点的预测参考点,预测参考点为已解码的重复点,根据预测参考点的重建属性信息确定当前重复点的预测属性信息,预测属性信息即为当前重复点的预测结果。Specifically, the predicted reference point of the current repeated point to be decoded is determined based on the repeated point sequence, the predicted reference point is the decoded repeated point, and the predicted attribute information of the current repeated point is determined according to the reconstructed attribute information of the predicted reference point, and the predicted attribute information is the prediction result of the current repeated point.
需要说明的是,若预测参考点为一个时,直接将预测参考点的重建属性信息作为预测属性信息;当预测参考点为至少两个时,可以对重建属性信息取平均运算或者加权运算,得到当前重复点的重建属性信息。It should be noted that if there is only one prediction reference point, the reconstructed attribute information of the prediction reference point is directly used as the prediction attribute information; when there are at least two prediction reference points, the reconstructed attribute information can be averaged or weighted to obtain the reconstructed attribute information of the current repeated point.
采用上述技术方案,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,提高解码性能。By adopting the above technical solution, the attribute information of the repeated points is sorted to obtain the repeated points with continuous attribute information, and the prediction reference points are determined by using the sorted order of the repeated points to improve the decoding performance.
对重复点的具体预测方法如图4所示,该方法包括:The specific prediction method for repeated points is shown in FIG4 , and the method includes:
步骤201:当前重复点是所述重复点顺序中的第一个重复点时,基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;将所述邻居点作为当前重复点的预测参考点;Step 201: when the current repeated point is the first repeated point in the repeated point sequence, based on the point cloud sequence of the point cloud to be decoded, determine the decoded neighbor point of the current repeated point; and use the neighbor point as a prediction reference point for the current repeated point;
这里,邻居点包括:与当前重复点距离最小的K个邻居点;其中,K取正整数。Here, the neighbor points include: K neighbor points with the shortest distance from the current repeated point; wherein K is a positive integer.
这里,距离可以为欧式距离、曼哈顿距离、地球移动距离(Earth Mover'sDistance,EMD)。为了较少计算量提高解码效率,优选为曼哈顿距离。Here, the distance may be Euclidean distance, Manhattan distance, or Earth Mover's Distance (EMD). In order to reduce the amount of calculation and improve decoding efficiency, Manhattan distance is preferred.
需要说明的是,对于第一个重复点,由于其在重复点顺序中位于第一位,因此,其前面无已解码的重复点,因此只能将其视为非重复点进行预测。具体地,根据非重复点的点云顺序为其选取距离最近的K个邻居点,作为预测参考点。It should be noted that for the first repeated point, since it is in the first place in the repeated point sequence, there is no decoded repeated point in front of it, so it can only be regarded as a non-repeated point for prediction. Specifically, according to the point cloud sequence of the non-repeated point, the nearest K neighboring points are selected as prediction reference points.
步骤202:当前重复点不是所述重复点顺序中的第一个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;Step 202: when the current repeated point is not the first repeated point in the repeated point sequence, determining a predicted reference point of the current repeated point based on the repeated point sequence;
在一些实施例中,所述基于所述重复点顺序,确定当前重复点的预测参考点,包括:基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。In some embodiments, determining the predicted reference point of the current repeated point based on the repeated point sequence includes: determining the first N repeated points of the current repeated point based on the repeated point sequence; wherein N is a positive integer; and using the first N repeated points as the predicted reference point of the current repeated point.
这里,N可以取1、2、3、4、5等整数,当N取1时,利用当前重复点的前一个重复点的重建属性信息进行预测。比如,将前一个重复点的重建属性信息作为当前重复点的预测属性信息。Here, N can be an integer such as 1, 2, 3, 4, 5, etc. When N is 1, the reconstructed attribute information of the previous repeated point of the current repeated point is used for prediction. For example, the reconstructed attribute information of the previous repeated point is used as the predicted attribute information of the current repeated point.
当N取大于1时,利用当前重复点的前多个重复点的重建属性信息进行预测。比如,将前多个重复点的重建属性信息作为当前重复点的预测属性信息。也就是说,当N取大于1时,从第N+1个重复点开始都是取前N个重复点作为预测参考点,对于第2个至第N个重复点可以同时取距离最近的邻居点和前面的一个或多个重复点作为预测参考点。When N is greater than 1, the reconstructed attribute information of the previous multiple repeated points of the current repeated point is used for prediction. For example, the reconstructed attribute information of the previous multiple repeated points is used as the predicted attribute information of the current repeated point. In other words, when N is greater than 1, starting from the N+1th repeated point, the previous N repeated points are used as prediction reference points. For the 2nd to Nth repeated points, the nearest neighbor point and the previous one or more repeated points can be used as prediction reference points at the same time.
实际应用中,预测参考点的数量可以是固定的也可以是不固定的。当预测参考点的数量是固定的,随着重复点数量的减少邻居点的数量会增加,随着重复点数量的增加邻居点的数量会减少,当预测参考点的数量是不固定的,前3个重复点在预测时,邻居点只取一个最近邻居点,重复点取之前所有以解码的点,0个、1个或2个。In practical applications, the number of prediction reference points can be fixed or not. When the number of prediction reference points is fixed, the number of neighbor points will increase as the number of repeated points decreases, and the number of neighbor points will decrease as the number of repeated points increases. When the number of prediction reference points is not fixed, when the first three repeated points are predicted, the neighbor point only takes one nearest neighbor point, and the repeated points take all previously decoded points, 0, 1, or 2.
在一些实施例中,所述基于所述重复点顺序,确定当前重复点的预测参考点,包括:基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。In some embodiments, determining the predicted reference point of the current repeated point based on the repeated point sequence includes: determining the decoded neighbor points of the current repeated point based on the point cloud sequence of the point cloud to be decoded; determining the first M repeated points of the current repeated point based on the repeated point sequence; wherein M is a positive integer; and using the neighbor points and the first M repeated points as predicted reference points for the current repeated point.
在一些实施例中,所述基于所述待解码点云的几何信息进行点云重排序,确定所述待解码点云的点云顺序,包括:所述待解码点云为稠密点云时,基于所述待解码点云的几何信息进行莫顿重排序,得到第一莫顿顺序;将所述所述待解码点云的几何信息加上偏移量后进行莫顿重排序,得到第二莫顿顺序;In some embodiments, the point cloud reordering based on the geometric information of the point cloud to be decoded to determine the point cloud order of the point cloud to be decoded includes: when the point cloud to be decoded is a dense point cloud, Morton reordering based on the geometric information of the point cloud to be decoded to obtain a first Morton order; adding an offset to the geometric information of the point cloud to be decoded and performing Morton reordering to obtain a second Morton order;
相应的,所述基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点,包括:从所述第一莫顿顺序中,确定当前重复点的前P个邻居点;从所述第二莫顿顺序中,确定当前重复点的前Q个邻居点;从所述前P个邻居点和所述前Q个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,P和Q均取正整数,K小于P+Q的和。Correspondingly, the decoded neighbor points of the current repeated point are determined based on the point cloud order of the point cloud to be decoded, including: determining the first P neighbor points of the current repeated point from the first Morton order; determining the first Q neighbor points of the current repeated point from the second Morton order; determining the K neighbor points with the smallest distance to the current repeated point from the first P neighbor points and the first Q neighbor points; wherein P and Q are both positive integers, and K is less than the sum of P+Q.
在PCRM中,P=Q=4,K=3。In PCRM, P=Q=4, K=3.
在一些实施例中,所述基于所述待解码点云的重建几何信息进行点云重排序,确定所述待解码点云的点云顺序,包括:所述待解码点云为稀疏点云时,基于所述待解码点云的几何信息进行Hilbert重排序,得到Hilbert顺序;In some embodiments, the reordering of the point cloud based on the reconstructed geometric information of the point cloud to be decoded to determine the point cloud order of the point cloud to be decoded includes: when the point cloud to be decoded is a sparse point cloud, performing Hilbert reordering based on the geometric information of the point cloud to be decoded to obtain a Hilbert order;
相应的,所述基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点,包括:从所述Hilbert顺序中,确定当前重复点的前L个邻居点;从所述前L个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,L取正整数,K小于L。Correspondingly, the decoded neighbor points of the current repeated point are determined based on the point cloud order of the point cloud to be decoded, including: determining the first L neighbor points of the current repeated point from the Hilbert order; determining the K neighbor points with the smallest distance to the current repeated point from the first L neighbor points; wherein L is a positive integer and K is less than L.
在Hilbert顺序下在待解码当前重复点的前L(L可以取前最大邻居数(maxNumOfNeighbours))个点中查找距离当前重复点最近的K个点。在一些实施例中,maxNumOfNeighbours取128,K取3,距离计算方法为曼哈顿距离计算方法。In the Hilbert order, the K points closest to the current repeated point are searched among the first L (L can be the first maximum number of neighbors (maxNumOfNeighbours)) points of the current repeated point to be decoded. In some embodiments, maxNumOfNeighbours is 128, K is 3, and the distance calculation method is the Manhattan distance calculation method.
步骤203:基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。Step 203: Based on the reconstructed attribute information of the predicted reference point, perform attribute prediction on the current repeated point.
在一些实施例中,所述基于所述预测参考点的重建属性信息,对当前重复点进行属性预测,包括:所述预测参考点的个数大于1时,对所述预测参考点的重建属性信息进行加权运算,得到当前重复点的预测属性信息。In some embodiments, the attribute prediction of the current repeated point is performed based on the reconstructed attribute information of the predicted reference point, including: when the number of the predicted reference points is greater than 1, weighted operation is performed on the reconstructed attribute information of the predicted reference point to obtain the predicted attribute information of the current repeated point.
在一些实施例中,所述方法还包括:基于每个预测参考点与当前重复点的距离,确定每个预测参考点的权重值。In some embodiments, the method further includes: determining a weight value of each predicted reference point based on a distance between each predicted reference point and the current repeated point.
需要说明的是,利用与当前重复点的距离越近的点进行预测的准确性越高,因此根据距离确定参考点的权重值,能够提高预测性能。比如,距离越小权重值越大,距离越大权重值越小。It should be noted that the closer the distance to the current repeated point is, the higher the accuracy of prediction is. Therefore, determining the weight value of the reference point according to the distance can improve the prediction performance. For example, the smaller the distance, the larger the weight value, and the larger the distance, the smaller the weight value.
在一些实施例中,所述方法还包括:所述预测参考点包括至少两个重复点时,基于所述至少两个重复点在所述重复点顺序中的位置,确定至少两个重复点的权重值。In some embodiments, the method further includes: when the predicted reference point includes at least two repeated points, determining weight values of the at least two repeated points based on positions of the at least two repeated points in the repeated point sequence.
需要说明的时,在重复点集合中的所有重复点的距离均为0,因此,无法利用距离来设定权重值,故可以根据重复点顺序来确定被选中的重复点与当前重复点的位置远近来设定权重值。比如,越靠近当前重复点的权重值越大,越远离当前重复点的权重值越小。It should be noted that the distances of all duplicate points in the duplicate point set are 0, so the weight value cannot be set using the distance. Therefore, the weight value can be set based on the distance between the selected duplicate point and the current duplicate point according to the order of the duplicate points. For example, the closer the point is to the current duplicate point, the greater the weight value is, and the farther the point is from the current duplicate point, the smaller the weight value is.
示例性地,每个重复点用前N个点进行加权预测,权重和预测参考点到当前重复点的排序位置有关,即当前重复点的第前N个重复点的权重为1/N,N越大权重越小,N越小权重越大。Exemplarily, each repeated point is weightedly predicted using the first N points, and the weight is related to the sorting position of the predicted reference point to the current repeated point, that is, the weight of the first N repeated points of the current repeated point is 1/N, the larger N is, the smaller the weight is, and the smaller N is, the larger the weight is.
下面对重复点的预测进行进一步的详细说明。The prediction of duplicate points is further explained in detail below.
(1)首先得到按照莫顿码或者希尔伯特码排列的点云,对于其中的重复点集合(几何坐标相同的点集)Pi{i=1,2,……},将Pi中的属性值按照从小到大的顺序排列。(1) First, obtain a point cloud arranged according to the Morton code or Hilbert code. For the repeated point sets (point sets with the same geometric coordinates) Pi {i=1, 2, ...}, arrange the attribute values in Pi in ascending order.
(2)点云中的属性按现有方法进行预测,对其中的重复点预测方式如下:(2) The attributes in the point cloud are predicted according to the existing method, and the prediction method for repeated points is as follows:
对重复点Pi预测:i<=H(比如,H=1,实际应用中H值可变)时,P1的预测方式与非重复点预测方式相同;H<i<=J,Pi的预测属性值为Pi的前N个重复点和K个邻居点的属性值的均值或加权值;J<i<=I时,Pi的预测属性值为Pi的前N(比如,N=1,实际应用中N值可变)个重复点的属性值的均值或加权值。Prediction of repeated points Pi : when i<=H (for example, H=1, the H value is variable in actual applications), the prediction method of Pi is the same as the prediction method of non-repeated points; when H<i<=J, the predicted attribute value of Pi is the average or weighted value of the attribute values of the first N repeated points and K neighboring points of Pi ; when J<i<=I, the predicted attribute value of Pi is the average or weighted value of the attribute values of the first N (for example, N=1, the N value is variable in actual applications) repeated points of Pi .
(3)点云每个点的真实属性值与预测属性值作残差,对残差进行量化解码。(3) The residual between the true attribute value and the predicted attribute value of each point in the point cloud is quantized and decoded.
下面针对不同的属性信息进行距离说明。The following is a description of the distance for different attribute information.
当属性信息为颜色时,属性预测方法具体可以包括以下:When the attribute information is color, the attribute prediction method may specifically include the following:
待解码点为非重复点时,首先利用莫顿码来查找当前点的空间邻居点,然后根据查找的邻居点对当前点进行属性预测。When the point to be decoded is a non-repeated point, the Morton code is first used to find the spatial neighbor points of the current point, and then the attributes of the current point are predicted based on the found neighbor points.
邻居点的空间范围如图5所示,与当前点共面的邻居点如图6所示,与当前点共线的邻居点在图7中,实际应用中还可以选择与当前点共点的邻居点。The spatial range of neighbor points is shown in Figure 5, the neighbor points coplanar with the current point are shown in Figure 6, and the neighbor points colinear with the current point are shown in Figure 7. In practical applications, neighbor points co-pointed with the current point can also be selected.
待解码点为重复点时,该方法还包括:基于所述待解码点云的几何信息进行莫顿重排序,得到莫顿顺序(即点云顺序);根据莫顿顺序确定重复点集合;对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。When the point to be decoded is a repeated point, the method also includes: performing Morton reordering based on the geometric information of the point cloud to be decoded to obtain a Morton order (i.e., a point cloud order); determining a set of repeated points according to the Morton order; sorting the attribute information of the repeated points in the set of repeated points to determine the order of the repeated points; and predicting the attributes of the repeated points based on the order of the repeated points to determine the attribute prediction results of the repeated points.
当前重复点是所述重复点顺序中的第一个重复点时,基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;将所述邻居点作为当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。When the current repeated point is the first repeated point in the repeated point sequence, the decoded neighbor points of the current repeated point are determined based on the point cloud sequence of the point cloud to be decoded; the neighbor points are used as prediction reference points for the current repeated point; and attributes of the current repeated point are predicted based on the reconstructed attribute information of the predicted reference points.
当前重复点不是所述重复点顺序中的第一个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。When the current repeated point is not the first repeated point in the repeated point sequence, a predicted reference point of the current repeated point is determined based on the repeated point sequence; and attributes of the current repeated point are predicted based on the reconstructed attribute information of the predicted reference point.
具体地,确定预测参考点的方法包括:基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。Specifically, the method for determining the prediction reference point includes: based on the repeated point sequence, determining the first N repeated points of the current repeated point; wherein N is a positive integer; and using the first N repeated points as the prediction reference point of the current repeated point. Based on the point cloud sequence of the point cloud to be decoded, determining the decoded neighbor points of the current repeated point; based on the repeated point sequence, determining the first M repeated points of the current repeated point; wherein M is a positive integer; and using the neighbor points and the first M repeated points as the prediction reference points of the current repeated point.
当属性信息为反射率时,属性预测方法具体可以包括以下:When the attribute information is reflectivity, the attribute prediction method may specifically include the following:
根据不同类型序列有两种对点云的排序方法:莫顿重排序和Hilbert重排序。具体地,单帧稠密点云采用莫顿重排序,多帧稀疏点云采用Hilbert重排序。There are two methods for sorting point clouds according to different types of sequences: Morton reordering and Hilbert reordering. Specifically, Morton reordering is used for single-frame dense point clouds, and Hilbert reordering is used for multi-frame sparse point clouds.
也就是说,在对反射率进行预测时,无论重复点还是非重复点都需要先进行重排序得到点云顺序(即莫顿顺序或Hilbert顺序)。That is to say, when predicting the reflectivity, both repeated points and non-repeated points need to be reordered first to obtain the point cloud order (ie, the Morton order or the Hilbert order).
莫顿重排序:根据点云几何坐标生成对应莫顿码,按照莫顿码重排序得到莫顿顺序1(即第一莫顿顺序)后,把所有点坐标加上固定值后得到新的坐标,用新的坐标生成点云对应的莫顿码,按照莫顿排序得到莫顿顺序2(即第二莫顿顺序)。根据莫顿顺序1解码,查找待解码点的最近邻居点,在莫顿顺序1中选择所述当前点的前P个点作为备选,在莫顿顺序2中选取所述当前点的前Q个点作为备选,在上述P和Q个点中,计算每个点到当前点的曼哈顿距离d,从这P+Q个点中选取距离最小的K个点已解码点作为当前点的预测点,在PCRM中,P=Q=4,K=3。Morton reordering: Generate the corresponding Morton code according to the geometric coordinates of the point cloud. After reordering the Morton code to obtain Morton order 1 (i.e., the first Morton order), add a fixed value to all point coordinates to obtain new coordinates, use the new coordinates to generate the Morton code corresponding to the point cloud, and obtain Morton order 2 (i.e., the second Morton order) according to Morton order 1 decoding. Find the nearest neighbor point of the point to be decoded, select the first P points of the current point as candidates in Morton order 1, and select the first Q points of the current point as candidates in Morton order 2. Among the above P and Q points, calculate the Manhattan distance d from each point to the current point, and select the K decoded points with the smallest distance from these P+Q points as the predicted points of the current point. In PCRM, P=Q=4, K=3.
Hilbert重排序:根据点云几何坐标生成对应Hilbert码,进行排序后得到Hilbert顺序,按照Hilbert顺序进行解码。在Hilbert顺序下在当前待解码点的前最大邻居数(maxNumOfNeighbours)个点中查找距离当前点最近的K个点,其中maxNumOfNeighbours默认为128,K取3,距离计算方法为曼哈顿距离。Hilbert reordering: Generate the corresponding Hilbert code according to the geometric coordinates of the point cloud, sort it to get the Hilbert order, and decode it according to the Hilbert order. In the Hilbert order, find the K points closest to the current point among the maximum number of neighbors (maxNumOfNeighbours) of the current point to be decoded, where maxNumOfNeighbours defaults to 128, K is 3, and the distance calculation method is Manhattan distance.
对于反射率的这两种预测方法,都是按照几何位置来进行预测的,称为“基于几何位置的预测方法”,如果基于几何位置的预测方法产生的残差很大的情况下,基于属性值的预测方法通常能降低预测残差,并提高解码效率。For these two prediction methods of reflectivity, prediction is performed according to geometric position, which is called "prediction method based on geometric position". If the residual generated by the prediction method based on geometric position is large, the prediction method based on attribute value can usually reduce the prediction residual and improve decoding efficiency.
基于属性值的预测值方法分为以下几个步骤:The prediction method based on attribute values is divided into the following steps:
(1)保存最近的已解码的32个不同的属性预测值在候选预测值表中;(1) Save the most recently decoded 32 different attribute prediction values in the candidate prediction value table;
(2)选取跟当前点属性最近的点并用其属性值作为当前点的属性预测值;(2) Select the point closest to the current point attribute and use its attribute value as the attribute prediction value of the current point;
(3)对选取点在候选预测值表的序号进行解码。(3) Decode the sequence number of the selected point in the candidate prediction value table.
在PCRM中,首先使用基于几何位置的预测方法进行属性预测,并对得到的残差值进行统计,即对大于等于3的残差值进行累加并记录其数目。到解码完512个点以后,计算大于等于3的残差值的平均值并用该值比较预先设定好的阈值。当计算出的残差平均值超过阈值,切换到基于属性值的预测方法。在PCRM中,无损解码阈值是50,有损解码的阈值是25。In PCRM, the prediction method based on geometric position is first used to predict the attributes, and the residual values obtained are counted, that is, the residual values greater than or equal to 3 are accumulated and their number is recorded. After decoding 512 points, the average value of the residual values greater than or equal to 3 is calculated and compared with the pre-set threshold. When the calculated residual average exceeds the threshold, switch to the prediction method based on attribute value. In PCRM, the lossless decoding threshold is 50, and the lossy decoding threshold is 25.
本申请实施例提供的预测方法应用到上述点云预测中,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,提高解码性能。The prediction method provided in the embodiment of the present application is applied to the above-mentioned point cloud prediction. By sorting the attribute information of the repeated points, repeated points with continuous attribute information are obtained, and the prediction reference points are determined using the order of the sorted repeated points to improve the decoding performance.
本申请实施例提供一种编码器,图9为本申请实施例中编码器的第一组成结构示意图,如图9所示,该编码器90包括:The embodiment of the present application provides an encoder. FIG9 is a schematic diagram of a first component structure of the encoder in the embodiment of the present application. As shown in FIG9 , the encoder 90 includes:
第一确定单元901,配置为确定待编码点云的几何信息;基于所述待编码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码点云中的至少两点;The first determining unit 901 is configured to determine geometric information of a point cloud to be encoded; based on the geometric information of the point cloud to be encoded, determine a set of repeated points; wherein the set of repeated points includes at least two points in the point cloud to be encoded;
第一排序单元902,配置为对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;A first sorting unit 902 is configured to sort the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
第一预测单元903,配置为基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。The first prediction unit 903 is configured to perform attribute prediction on the repeated points based on the repeated point sequence, and determine attribute prediction results of the repeated points.
在一些实施例中,第一确定单元901,配置为基于所述待编码点云的几何信息,确定所述待编码点云中与目标点的距离小于距离阈值的点,构成所述重复点集合。In some embodiments, the first determining unit 901 is configured to determine points in the point cloud to be encoded whose distance from the target point is less than a distance threshold based on geometric information of the point cloud to be encoded, to form the repeated point set.
在一些实施例中,第一确定单元901,配置为基于所述待编码点云的几何信息,确定所述几何信息相同的点组成所述重复点集合。In some embodiments, the first determination unit 901 is configured to determine, based on the geometric information of the point cloud to be encoded, that points with the same geometric information constitute the repeated point set.
在一些实施例中,第一确定单元901,配置为基于所述几何信息,生成所述待编码点云的莫顿码或希尔伯特码;确定莫顿码相等或希尔伯特码相等的点组成所述重复点集合。In some embodiments, the first determination unit 901 is configured to generate a Morton code or a Hilbert code of the point cloud to be encoded based on the geometric information; and determine that points with equal Morton codes or equal Hilbert codes constitute the repeated point set.
在一些实施例中,第一排序单元902,配置为按照属性信息从小到大的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序;或者,按照属性信息从大到小的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序。In some embodiments, the first sorting unit 902 is configured to sort the repeated points in the repeated point set in order of attribute information from small to large to determine the order of the repeated points; or, to sort the repeated points in the repeated point set in order of attribute information from large to small to determine the order of the repeated points.
在一些实施例中,第一预测单元903,配置为当前重复点不是所述重复点顺序中的第一个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。In some embodiments, the first prediction unit 903 is configured to determine a predicted reference point for the current repeated point based on the repeated point sequence when the current repeated point is not the first repeated point in the repeated point sequence; and perform attribute prediction on the current repeated point based on the reconstructed attribute information of the predicted reference point.
在一些实施例中,第一预测单元903,配置为基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。In some embodiments, the first prediction unit 903 is configured to determine the first N repeated points of the current repeated point based on the repeated point sequence; wherein N is a positive integer; and use the first N repeated points as prediction reference points for the current repeated point.
在一些实施例中,第一预测单元903,配置为基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。In some embodiments, the first prediction unit 903 is configured to determine the encoded neighbor points of the current repeated point based on the point cloud order of the point cloud to be encoded; determine the first M repeated points of the current repeated point based on the repeated point order; wherein M is a positive integer; and use the neighbor points and the first M repeated points as prediction reference points for the current repeated point.
在一些实施例中,第一预测单元903,配置为当前重复点是所述重复点顺序中的第一个重复点时,基于所述待编码点云的点云顺序,确定当前重复点的已编码邻居点;将所述邻居点作为当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。In some embodiments, the first prediction unit 903 is configured to determine the encoded neighbor points of the current repeated point based on the point cloud order of the point cloud to be encoded when the current repeated point is the first repeated point in the repeated point sequence; use the neighbor points as prediction reference points for the current repeated point; and perform attribute prediction on the current repeated point based on the reconstructed attribute information of the predicted reference points.
在一些实施例中,所述邻居点包括:与当前重复点距离最小的K个邻居点;其中,K取正整数。In some embodiments, the neighbor points include: K neighbor points with the shortest distance from the current repeated point; wherein K is a positive integer.
在一些实施例中,所述距离为曼哈顿距离。In some embodiments, the distance is Manhattan distance.
在一些实施例中,第一排序单元902,配置为基于所述待编码点云的几何信息进行点云重排序,确定所述待编码点云的点云顺序。In some embodiments, the first sorting unit 902 is configured to reorder the point cloud based on the geometric information of the point cloud to be encoded, and determine the point cloud order of the point cloud to be encoded.
在一些实施例中,第一排序单元902,配置为所述待编码点云为稠密点云时,基于所述待编码点云的几何信息进行莫顿重排序,得到第一莫顿顺序;将所述所述待编码点云的几何信息加上偏移量后进行莫顿重排序,得到第二莫顿顺序;In some embodiments, the first sorting unit 902 is configured to, when the point cloud to be encoded is a dense point cloud, perform Morton reordering based on the geometric information of the point cloud to be encoded to obtain a first Morton order; perform Morton reordering after adding an offset to the geometric information of the point cloud to be encoded to obtain a second Morton order;
相应的,第一预测单元903,配置为从所述第一莫顿顺序中,确定当前重复点的前P个邻居点;从所述第二莫顿顺序中,确定当前重复点的前Q个邻居点;从所述前P个邻居点和所述前Q个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,P和Q均取正整数,K小于P+Q的和。Correspondingly, the first prediction unit 903 is configured to determine the first P neighbor points of the current repeated point from the first Morton order; determine the first Q neighbor points of the current repeated point from the second Morton order; determine the K neighbor points with the smallest distance to the current repeated point from the first P neighbor points and the first Q neighbor points; wherein P and Q are both positive integers, and K is less than the sum of P+Q.
在一些实施例中,第一排序单元902,配置为所述待编码点云为稀疏点云时,基于所述待编码点云的几何信息进行Hilbert重排序,得到Hilbert顺序;In some embodiments, the first sorting unit 902 is configured to perform Hilbert reordering based on geometric information of the point cloud to be encoded to obtain a Hilbert order when the point cloud to be encoded is a sparse point cloud;
相应的,第一预测单元903,配置为从所述Hilbert顺序中,确定当前重复点的前L个邻居点;从所述前L个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,L取正整数,K小于L。Correspondingly, the first prediction unit 903 is configured to determine the first L neighbor points of the current repeated point from the Hilbert order; determine the K neighbor points with the smallest distance to the current repeated point from the first L neighbor points; wherein L is a positive integer and K is less than L.
在一些实施例中,第一预测单元903,配置为所述预测参考点的个数大于1时,对所述预测参考点的重建属性信息进行加权运算,得到当前重复点的预测属性信息。In some embodiments, the first prediction unit 903 is configured to perform a weighted operation on the reconstruction attribute information of the prediction reference points when the number of the prediction reference points is greater than 1, so as to obtain the prediction attribute information of the current repeated point.
在一些实施例中,第一预测单元903,配置为基于每个预测参考点与当前重复点的距离,确定每个预测参考点的权重值。In some embodiments, the first prediction unit 903 is configured to determine a weight value of each predicted reference point based on a distance between each predicted reference point and the current repeated point.
在一些实施例中,第一预测单元903,配置为所述预测参考点包括至少两个重复点时,基于所述至少两个重复点在所述重复点顺序中的位置,确定至少两个重复点的权重值。In some embodiments, the first prediction unit 903 is configured to determine weight values of the at least two repeated points based on positions of the at least two repeated points in the repeated point sequence when the predicted reference points include at least two repeated points.
在一些实施例中,第一确定单元901,配置为确定待编码点云的重建几何信息。In some embodiments, the first determining unit 901 is configured to determine the reconstructed geometric information of the point cloud to be encoded.
在实际应用中,本申请实施例还提供了一种编码器,图10为本申请实施例中编码器的第二组成结构示意图,编码器100包括:第一存储器1001和第一处理器1002;第一存储器1001存储有可在第一处理器1002上运行的计算机程序,第一处理器1002执行程序时编码器侧的点云编码方法。In practical applications, an embodiment of the present application also provides an encoder. Figure 10 is a schematic diagram of the second component structure of the encoder in the embodiment of the present application. The encoder 100 includes: a first memory 1001 and a first processor 1002; the first memory 1001 stores a computer program that can be run on the first processor 1002, and the point cloud encoding method on the encoder side is executed by the first processor 1002.
采用上述编码器,通过对重复点进行排序,使得具有相同属性信息的重复点连续排列,利用重复点的排序结果进行重复点属性预测时,能够减少输出码流,提高编码性能。By using the above encoder, repeated points are sorted so that repeated points with the same attribute information are arranged continuously. When the sorting result of the repeated points is used to predict the attributes of the repeated points, the output code stream can be reduced and the encoding performance can be improved.
本申请实施例提供一种解码器,图11为本申请实施例中解码器的第一组成结构示意图,如图11所示,该解码器110包括:The present application embodiment provides a decoder. FIG11 is a schematic diagram of a first component structure of a decoder in the present application embodiment. As shown in FIG11 , the decoder 110 includes:
第二确定单元1101,配置为解析码流,确定待解码点云的几何信息;基于所述待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待解码点云中的至少两点;The second determining unit 1101 is configured to parse the bitstream to determine the geometric information of the point cloud to be decoded; based on the geometric information of the point cloud to be decoded, determine a set of repeated points; wherein the set of repeated points includes at least two points in the point cloud to be decoded;
第二排序单元1102,配置为对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;A second sorting unit 1102 is configured to sort the attribute information of the repeated points in the repeated point set to determine the order of the repeated points;
第二预测单元1103,配置为基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。The second prediction unit 1103 is configured to perform attribute prediction on the repeated points based on the repeated point sequence, and determine attribute prediction results of the repeated points.
在一些实施例中,第二确定单元1101,配置为基于所述待解码点云的几何信息,确定所述待解码点云中与目标点的距离小于距离阈值的点,构成所述重复点集合。In some embodiments, the second determining unit 1101 is configured to determine points in the point cloud to be decoded whose distances from the target point are less than a distance threshold based on the geometric information of the point cloud to be decoded, to form the repeated point set.
在一些实施例中,第二确定单元1101,配置为基于所述待解码点云的几何信息,确定所述几何信息相同的点组成所述重复点集合。In some embodiments, the second determination unit 1101 is configured to determine, based on the geometric information of the point cloud to be decoded, that points with the same geometric information constitute the repeated point set.
在一些实施例中,第二确定单元1101,配置为基于所述几何信息,生成所述待解码点云的莫顿码或希尔伯特码;确定莫顿码相等或希尔伯特码相等的点组成所述重复点集合。In some embodiments, the second determination unit 1101 is configured to generate a Morton code or a Hilbert code of the point cloud to be decoded based on the geometric information; and determine that points with equal Morton codes or equal Hilbert codes constitute the repeated point set.
在一些实施例中,第二排序单元1102,配置为按照属性信息从小到大的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序;或者,按照属性信息从大到小的顺序对所述重复点集合中的重复点进行排序,确定所述重复点顺序。In some embodiments, the second sorting unit 1102 is configured to sort the repeated points in the repeated point set in order of attribute information from small to large to determine the order of the repeated points; or, to sort the repeated points in the repeated point set in order of attribute information from large to small to determine the order of the repeated points.
在一些实施例中,第二预测单元1103,配置为当前重复点不是所述重复点顺序中的第二个重复点时,基于所述重复点顺序,确定当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。In some embodiments, the second prediction unit 1103 is configured to determine a predicted reference point for the current repeated point based on the repeated point sequence when the current repeated point is not the second repeated point in the repeated point sequence; and perform attribute prediction on the current repeated point based on the reconstructed attribute information of the predicted reference point.
在一些实施例中,第二预测单元1103,配置为基于所述重复点顺序,确定当前重复点的前N个重复点;其中,N取正整数;将所述前N个重复点作为当前重复点的预测参考点。In some embodiments, the second prediction unit 1103 is configured to determine the first N repeated points of the current repeated point based on the repeated point sequence; wherein N is a positive integer; and use the first N repeated points as prediction reference points for the current repeated point.
在一些实施例中,第二预测单元1103,配置为基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;基于所述重复点顺序,确定当前重复点的前M个重复点;其中,M取正整数;将所述邻居点和所述前M个重复点作为当前重复点的预测参考点。In some embodiments, the second prediction unit 1103 is configured to determine the decoded neighbor points of the current repeated point based on the point cloud order of the point cloud to be decoded; determine the first M repeated points of the current repeated point based on the repeated point order; where M is a positive integer; and use the neighbor points and the first M repeated points as prediction reference points for the current repeated point.
在一些实施例中,第二预测单元1103,配置为当前重复点是所述重复点顺序中的第二个重复点时,基于所述待解码点云的点云顺序,确定当前重复点的已解码邻居点;将所述邻居点作为当前重复点的预测参考点;基于所述预测参考点的重建属性信息,对当前重复点进行属性预测。In some embodiments, the second prediction unit 1103 is configured to determine the decoded neighbor points of the current repeated point based on the point cloud order of the point cloud to be decoded when the current repeated point is the second repeated point in the repeated point sequence; use the neighbor points as prediction reference points for the current repeated point; and perform attribute prediction on the current repeated point based on the reconstructed attribute information of the predicted reference points.
在一些实施例中,所述邻居点包括:与当前重复点距离最小的K个邻居点;其中,K取正整数。In some embodiments, the neighbor points include: K neighbor points with the shortest distance from the current repeated point; wherein K is a positive integer.
在一些实施例中,所述距离为曼哈顿距离。In some embodiments, the distance is Manhattan distance.
在一些实施例中,第二排序单元1102,配置为基于所述待解码点云的几何信息进行点云重排序,确定所述待解码点云的点云顺序。In some embodiments, the second sorting unit 1102 is configured to reorder the point clouds based on the geometric information of the point clouds to be decoded, and determine the point cloud order of the point clouds to be decoded.
在一些实施例中,第二排序单元1102,配置为所述待解码点云为稠密点云时,基于所述待解码点云的几何信息进行莫顿重排序,得到第二莫顿顺序;将所述所述待解码点云的几何信息加上偏移量后进行莫顿重排序,得到第二莫顿顺序;In some embodiments, the second sorting unit 1102 is configured to, when the point cloud to be decoded is a dense point cloud, perform Morton reordering based on the geometric information of the point cloud to be decoded to obtain a second Morton order; perform Morton reordering after adding an offset to the geometric information of the point cloud to be decoded to obtain the second Morton order;
相应的,第二预测单元1103,配置为从所述第二莫顿顺序中,确定当前重复点的前P个邻居点;从所述第二莫顿顺序中,确定当前重复点的前Q个邻居点;从所述前P个邻居点和所述前Q个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,P和Q均取正整数,K小于P+Q的和。Correspondingly, the second prediction unit 1103 is configured to determine the first P neighbor points of the current repeated point from the second Morton order; determine the first Q neighbor points of the current repeated point from the second Morton order; determine the K neighbor points with the smallest distance to the current repeated point from the first P neighbor points and the first Q neighbor points; wherein P and Q are both positive integers, and K is less than the sum of P+Q.
在一些实施例中,第二排序单元1102,配置为所述待解码点云为稀疏点云时,基于所述待解码点云的几何信息进行Hilbert重排序,得到Hilbert顺序;In some embodiments, the second sorting unit 1102 is configured to perform Hilbert reordering based on geometric information of the point cloud to be decoded to obtain a Hilbert order when the point cloud to be decoded is a sparse point cloud;
相应的,第二预测单元1103,配置为从所述Hilbert顺序中,确定当前重复点的前L个邻居点;从所述前L个邻居点中,确定与当前重复点距离最小的K个邻居点;其中,L取正整数,K小于L。Correspondingly, the second prediction unit 1103 is configured to determine the first L neighbor points of the current repeated point from the Hilbert order; determine the K neighbor points with the smallest distance to the current repeated point from the first L neighbor points; wherein L is a positive integer and K is less than L.
在一些实施例中,第二预测单元1103,配置为所述预测参考点的个数大于1时,对所述预测参考点的重建属性信息进行加权运算,得到当前重复点的预测属性信息。In some embodiments, the second prediction unit 1103 is configured to perform a weighted operation on the reconstruction attribute information of the prediction reference points when the number of the prediction reference points is greater than 1, so as to obtain the prediction attribute information of the current repeated point.
在一些实施例中,第二预测单元1103,配置为基于每个预测参考点与当前重复点的距离,确定每个预测参考点的权重值。In some embodiments, the second prediction unit 1103 is configured to determine a weight value of each predicted reference point based on a distance between each predicted reference point and the current repeated point.
在一些实施例中,第二预测单元1103,配置为所述预测参考点包括至少两个重复点时,基于所述至少两个重复点在所述重复点顺序中的位置,确定至少两个重复点的权重值。In some embodiments, the second prediction unit 1103 is configured to determine weight values of the at least two repeated points based on positions of the at least two repeated points in the repeated point sequence when the predicted reference points include at least two repeated points.
在一些实施例中,第二确定单元1101,配置为确定待解码点云的重建几何信息。In some embodiments, the second determining unit 1101 is configured to determine the reconstructed geometric information of the point cloud to be decoded.
在实际应用中,本申请实施例还提供了一种解码器,图12为本申请实施例中解码器的第二组成结构示意图,解码器120包括:第二存储器1201和第二处理器1202;第二存储器1201存储有可在第二处理器1202上运行的计算机程序,第二处理器1202执行程序时解码器侧的点云解码方法。In practical applications, an embodiment of the present application also provides a decoder. Figure 12 is a schematic diagram of the second component structure of the decoder in the embodiment of the present application. The decoder 120 includes: a second memory 1201 and a second processor 1202; the second memory 1201 stores a computer program that can be run on the second processor 1202, and a point cloud decoding method on the decoder side when the second processor 1202 executes the program.
采用上述解码器,通过对重复点进行排序,使得具有相同属性信息的重复点连续排列,利用重复点的排序结果进行重复点属性预测时,提高解码性能。By using the above decoder, the repeated points are sorted so that the repeated points with the same attribute information are arranged continuously. When the repeated point attribute prediction is performed using the sorting result of the repeated points, the decoding performance is improved.
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。It is understandable that in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular. Moreover, the components in the present embodiment may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或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 or 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, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
而处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器1803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器1803可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the first processor 1803. The above-mentioned first processor 1803 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined and executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
相应的,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被第一处理器执行时,实现编码器侧的点预测方法;或者,该计算机程序被第二处理器执行时,实现解码器侧的预测方法。Accordingly, an embodiment of the present application provides a computer storage medium on which a computer program is stored. When the computer program is executed by a first processor, it implements the point prediction method on the encoder side; or, when the computer program is executed by a second processor, it implements the prediction method on the decoder side.
这里需要指出的是:以上存储介质和装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, in this application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。The methods disclosed in several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。The features disclosed in several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。The features disclosed in several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
工业实用性Industrial Applicability
本申请实施例提供了一种预测方法、编码器、解码器以及存储介质,该方法包括:确定待编码/待解码点云的几何信息;基于所述待编码/待解码点云的几何信息,确定重复点集合;其中,所述重复点集合包括所述待编码/待解码点云中的至少两点;对所述重复点集合中的重复点的属性信息进行排序,确定重复点顺序;基于所述重复点顺序对重复点进行属性预测,确定重复点的属性预测结果。这样,通过对重复点的属性信息进行排序,得到属性信息连续的重复点,利用排序后的重复点顺序确定预测参考点,有利于减少输出码流,同时提高编解码性能。The embodiment of the present application provides a prediction method, an encoder, a decoder, and a storage medium, the method comprising: determining the geometric information of a point cloud to be encoded/decoded; determining a set of repeated points based on the geometric information of the point cloud to be encoded/decoded; wherein the set of repeated points includes at least two points in the point cloud to be encoded/decoded; sorting the attribute information of the repeated points in the set of repeated points to determine the order of the repeated points; and predicting the attributes of the repeated points based on the order of the repeated points to determine the attribute prediction results of the repeated points. In this way, by sorting the attribute information of the repeated points, repeated points with continuous attribute information are obtained, and the prediction reference points are determined using the sorted order of the repeated points, which is conducive to reducing the output code stream and improving the encoding and decoding performance.
Claims (40)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/133707 WO2022116118A1 (en) | 2020-12-03 | 2020-12-03 | Prediction method, encoder, decoder and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116472556A CN116472556A (en) | 2023-07-21 |
CN116472556B true CN116472556B (en) | 2024-10-01 |
Family
ID=81852824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080107249.6A Active CN116472556B (en) | 2020-12-03 | 2020-12-03 | Prediction method, encoder, decoder, and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116472556B (en) |
WO (1) | WO2022116118A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2025039125A1 (en) * | 2023-08-18 | 2025-02-27 | Oppo广东移动通信有限公司 | Encoding method, decoding method, encoder, decoder, and storage medium |
WO2025039120A1 (en) * | 2023-08-18 | 2025-02-27 | Oppo广东移动通信有限公司 | Encoding method, decoding method, encoder, decoder, and storage medium |
GB2637367A (en) * | 2024-05-29 | 2025-07-23 | V Nova Int Ltd | Processing a point of a three-dimensional representation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109979008A (en) * | 2019-04-09 | 2019-07-05 | 北京大学深圳研究生院 | A kind of point cloud band division methods based on attribute |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10861196B2 (en) * | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US10783668B2 (en) * | 2017-12-22 | 2020-09-22 | Samsung Electronics Co., Ltd. | Handling duplicate points in point cloud compression |
US10904564B2 (en) * | 2018-07-10 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
US10911787B2 (en) * | 2018-07-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression |
US11166048B2 (en) * | 2018-10-02 | 2021-11-02 | Tencent America LLC | Method and apparatus for video coding |
WO2020123469A1 (en) * | 2018-12-11 | 2020-06-18 | Futurewei Technologies, Inc. | Hierarchical tree attribute coding by median points in point cloud coding |
CN110572655B (en) * | 2019-09-30 | 2023-01-10 | 北京大学深圳研究生院 | Method and equipment for encoding and decoding point cloud attribute based on neighbor weight parameter selection and transmission |
CN111145090B (en) * | 2019-11-29 | 2023-04-25 | 鹏城实验室 | Point cloud attribute coding method, point cloud attribute decoding method, point cloud attribute coding equipment and point cloud attribute decoding equipment |
CN111340899B (en) * | 2020-02-14 | 2022-09-06 | 福州大学 | A Compressed Sampling and Reconstruction Method for Color Point Clouds |
CN111405281A (en) * | 2020-03-30 | 2020-07-10 | 北京大学深圳研究生院 | An encoding method, decoding method, storage medium and terminal device for point cloud attribute information |
-
2020
- 2020-12-03 CN CN202080107249.6A patent/CN116472556B/en active Active
- 2020-12-03 WO PCT/CN2020/133707 patent/WO2022116118A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109979008A (en) * | 2019-04-09 | 2019-07-05 | 北京大学深圳研究生院 | A kind of point cloud band division methods based on attribute |
Also Published As
Publication number | Publication date |
---|---|
WO2022116118A1 (en) | 2022-06-09 |
CN116472556A (en) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10964102B2 (en) | Adaptive sub-band based coding of hierarchical transform coefficients of three-dimensional point cloud | |
CN116472556B (en) | Prediction method, encoder, decoder, and storage medium | |
CN114598883B (en) | Point cloud attribute prediction method, encoder, decoder and storage medium | |
CN115474041B (en) | Method and device for predicting point cloud attribute and related equipment | |
US20240323384A1 (en) | Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and communication device | |
JP7628631B2 (en) | Point cloud attribute encoding method, point cloud attribute decoding method, and terminal | |
KR20230173695A (en) | Entropy encoding, decoding method and device | |
CN117321991A (en) | Prediction method, device and codec for point cloud attributes | |
JP7611400B2 (en) | Point cloud encoding and decoding method, encoder, decoder, and computer storage medium | |
CN119366154A (en) | Point cloud encoding and decoding method, device, equipment and storage medium | |
CN117581549A (en) | Intra-frame prediction, coding and decoding methods and devices, codecs, equipment, media | |
WO2024187380A1 (en) | Encoding method, decoding method, code stream, encoder, decoder and storage medium | |
CN116233389B (en) | Point cloud encoding processing method, point cloud decoding processing method and related equipment | |
US20250247566A1 (en) | Encoding method, decoding method, code stream, encoder, decoder and storage medium | |
WO2024119420A1 (en) | Encoding method, decoding method, code stream, encoder, decoder, and storage medium | |
US20240037799A1 (en) | Point cloud coding/decoding method and apparatus, device and storage medium | |
US20250225679A1 (en) | System and method for geometry point cloud coding | |
WO2025039120A1 (en) | Encoding method, decoding method, encoder, decoder, and storage medium | |
WO2024065406A1 (en) | Encoding and decoding methods, bit stream, encoder, decoder, and storage medium | |
WO2025039125A1 (en) | Encoding method, decoding method, encoder, decoder, and storage medium | |
WO2025076662A1 (en) | Point cloud encoding method, point cloud decoding method, code stream, encoder, decoder, and storage medium | |
WO2025039113A1 (en) | Encoding method, decoding method, code stream, encoder, decoder, and storage medium | |
WO2024207235A1 (en) | Encoding/decoding method, bitstream, encoder, decoder, and storage medium | |
WO2025138048A1 (en) | Coding method, decoding method, code stream, coder, decoder and storage medium | |
WO2025076659A1 (en) | Point cloud encoding method, point cloud decoding method, code stream, encoder, decoder and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |