CN116250008A - 点云的编码、解码方法、编码器、解码器以及编解码系统 - Google Patents
点云的编码、解码方法、编码器、解码器以及编解码系统 Download PDFInfo
- Publication number
- CN116250008A CN116250008A CN202080105463.8A CN202080105463A CN116250008A CN 116250008 A CN116250008 A CN 116250008A CN 202080105463 A CN202080105463 A CN 202080105463A CN 116250008 A CN116250008 A CN 116250008A
- Authority
- CN
- China
- Prior art keywords
- attribute information
- target point
- predicted value
- value
- point
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000001914 filtration Methods 0.000 claims abstract description 109
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 abstract description 24
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004590 computer program Methods 0.000 description 21
- 238000013139 quantization Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101000638069 Homo sapiens Transmembrane channel-like protein 2 Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 102100032054 Transmembrane channel-like protein 2 Human genes 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种点云的编码、解码方法、编码器、解码器以及编解码系统。该方法包括:对点云中的一目标点的位置信息进行处理,得到该目标点的位置信息的重建信息;根据该目标点的位置信息的重建信息,得到该目标点的属性信息的初始预测值;利用卡尔曼滤波算法对该目标点的属性信息的初始预测值进行滤波,得到该目标点的属性信息的最终预测值;对点云中的该目标点的属性信息进行处理,得到该目标点的属性信息的真实值;根据该目标点的属性信息的最终预测值和该目标点的属性信息的真实值,得到该目标点的属性信息的残差值;对量化后的该目标点的属性信息的残差值进行编码,得到码流。该方法能够提升点云编码过程中的预测准确度,进而,能够提升编码效果。
Description
本申请实施例涉及点云编解码领域,并且更具体地,涉及点云的编码、解码方法、编码器、解码器以及编解码系统。
点云已经开始普及到各个领域,例如,虚拟/增强现实、机器人、地理信息系统、医学领域等。随着扫描设备的基准度和速率的不断提升,可以准确地获取物体表面的大量点云,往往一个场景下就可以对应几十万个点。数量如此庞大的点也给计算机的存储和传输带来了挑战。因此,对点的压缩也就成为一个热点问题。
对于点云的压缩来说,主要需要压缩其位置信息和颜色信息。具体而言,先通过对点云的位置信息进行八叉树编码;同时,根据八叉树编码后的位置信息对其颜色信息进行预测,再通过与原始颜色信息进行做差的方式来编码颜色信息,以实现对点云的编码。
截止目前,在对颜色信息进行预测的过程中,如何提升预测效果是本领域急需解决的技术问题。
发明内容
提供了一种点云的编码、解码方法、编码器、解码器以及编解码系统,能够提升点云编码过程中的预测值的准确度,进而,能够提升编码效果。
第一方面,提供了一种点云的编码方法,包括:
对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
对所述目标点的属性信息的残差值进行编码,得到码流。
第二方面,提供了一种点云的解码方法,包括:
对点云的码流进行解析,得到所述点云中一目标点的位置信息的重建信息;
根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
对所述码流进行解码,得到所述目标点的属性信息的残差值;
根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的重建值;
根据所述目标点的属性信息的重建值,得到解码点云。
第三方面,提供了一种编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,所述编码器包括用于执行上述第一方面或其各实现方式中的方法的功能模块。
第四方面,提供了一种解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,所述编码器包括用于执行上述第二方面或其各实现方式中的方法的功能模块。
第五方面,提供了一种编码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种解码器,包括处理器和存储器。所述存储器用于存储计算机 程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种编解码系统,包括第二方面和第五方面中任一方面或其各实现方式中的编码器,以及第三方面和第六方面中人一方面或其各实现方式中的解码器。
第八方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第十一方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
基于以上技术方案,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,进而基于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值得到的所述目标点的属性信息的残差值进行编码,相当于,在点云编码过程中,能够提升所述目标点的属性信息的预测准确度,对点的预测过程进行了质量增强,相应的,能够提升所述目标点的属性信息的残差值的准确度,进而,能够提升点云编码的编码效果。
图1是本申请实施例提供的编码框架的示意性框图。
图2是本申请实施例提供的解码框架的示意性框图。
图3是本申请实施例提供的点云的编码方法的示意性框图。
图4是本申请实施例提供的卡尔曼滤波的原理的示意图。
图5是本申请实施例提供的点云的编码方法的另一示意性流程图。
图6是本申请实施例提供的点云的解码方法的示意性流程图。
图7是本申请实施例提供的编码器的示意性框图。
图8是本申请实施例提供的解码器的示意性框图。
图9是本申请实施例提供的电子设备的示意性框图。
本申请适用于点云压缩技术领域。
下面对点云相关的概念进行说明。
点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采集设备,可以采集得到物体表面的点云(数据)。
点云(Point Cloud)是指海量三维点的集合,所述点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,所述颜色信息可以是任意一种色彩空间上的信息。例如,所述颜色信息可以是(RGB)。再如,所述颜色信息可以是于亮度色度(YcbCr,YUV)信息。例如,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。
例如,根据激光测量原理得到的点云,所述点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,所述点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原 理得到点云,所述点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
例如,点云可以按获取的途径分为:
第一静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
例如,按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
由于点云是海量点的集合,存储所述点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此对点云进行压缩是很有必要的。
截止目前,可通过点云编码框架对点云进行压缩。
点云编码框架可以是运动图象专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。
下面以G-PCC编解码框架对本申请实施例可适用的编解码框架进行说明。
图1是本申请实施例提供的编码框架100的示意性框图。
如图1所示,编码框架100可以从采集设备获取点云的位置信息和属性信息。点云的编码包括位置编码和属性编码。在一个实施例中,位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。
属性编码过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
如图1所示,位置编码可通过以下单元实现:
坐标转换(Tanmsform coordinates)单元101、量化和移除重复点(Quantize and remove points)单元102、八叉树分析(Analyze octree)单元103、几何重建(Reconstruct geometry)单元104以及第一算术编码(Arithmetic enconde)单元105。
坐标转换单元101可用于将点云中点的世界坐标变换为相对坐标。
例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标转换为相对坐标。
量化和移除重复点单元102可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性转换合并到一个云中。在本申请的一些实施例中,量化和移除重复点单元102为可选的单元模块。
八叉树分析单元103可利用八叉树(octree)编码方式编码量化的点的位置信息。
例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。
第一算术编码单元105可以采用熵编码方式对八叉树分析单元103输出的位置信息进行算术编码,即将八叉树分析单元103输出的位置信息利用算术编码方式生成几何码 流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
颜色空间转换(Transform colors)单元110、属性转化(Transfer attributes)单元111、区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)单元112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114、量化系数(Quantize coefficients)单元115以及第二算术编码单元116。
颜色空间转换单元110可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。
属性转化单元111可用于转换点云中点的属性信息,以最小化属性失真。例如,属性转化单元111可用于得到点的属性信息的真实值。例如,所述属性信息可以是点的颜色信息。
经过属性转化单元111转换得到点的属性信息的真实值后,可选择任一种预测单元,对点云中的点进行预测。预测单元可包括:RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114。
换言之,RAHT 112、预测变化(predicting transform)单元113以及提升变化(lifting transform)单元114中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而基于点的属性信息的预测值得到点的属性信息的残差值。
例如,点的属性信息的残差值可以是点的属性信息的真实值减去点的属性信息的预测值。
在本申请的一实施例中,预测变换单元113还可用于生成细节层(level of detail,LOD)。LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的LOD层。在一个实施例中,可以将欧式距离进行排序后,将不同范围的欧式距离划分为不同的LOD层。
例如,可以随机挑选一个点,作为第一LOD层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二LOD层。获取第二LOD层中点的质心,计算除第一、第二LOD层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三LOD层。以此类推,将所有的点都归到LOD层中。通过调整欧式距离的阈值,可以使得每层LOD的点的数量是递增的。应理解,LOD层划分的方式还可以采用其它方式,本申请对此不进行限制。
需要说明的是,可以直接将点云划分为一个或多个LOD层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。
例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个LOD层,每个LOD层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行LOD层的划分。
量化单元115可用于量化点的属性信息的残差值。例如,若所述量化单元115和所述预测变换单元113相连,则所述量化单元可用于量化所述预测变换单元113输出的点的属性信息的残差值。
例如,对预测变换单元113输出的点的属性信息的残差值使用量化步长进行量化,以实现提升系统性能。
第二算术编码单元116可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息。
应当理解,本申请中,点云中点的属性信息的预测值(predictedvalue)也可称为LOD模式下的颜色预测值(predictedColor)。点的属性信息的真实值减去点的属性信息的预测值可得到点的残差值(residualvalue)。点的属性信息的残差值也可称为LOD模式下的颜色残差值(residualColor)。点的属性信息的预测值和点的属性信息的残差值相加可 生成点的属性信息的重建值(reconstructedvalue)。点的属性信息的重建值也可称为LOD模式下的颜色重建值(reconstructedColor)。
图2是本申请实施例提供的解码框架200的示意性框图。
如图2所示,解码框架200可以从编码设备获取点云的码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。在一个实施例中,位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
如图2所示,位置解码可通过以下单元实现:
第一算数解码单元201、八叉树分析(synthesize octree)单元202、几何重建(Reconstruct geometry)单元204以及坐标反转换(inverse transform coordinates)单元205。
坐标转换(Tanmsform coordinates)单元101、量化和移除重复点(Quantize and remove points)单元102、八叉树分析(Analyze octree)单元103、几何重建(Reconstruct geometry)单元104以及第一算术编码(Arithmetic enconde)单元105。
属性编码可通过以下单元实现:
第二算数解码单元210、反量化(inverse quantize)单元211、RAHT单元212、预测变化(predicting transform)单元213、提升变化(lifting transform)单/214以及颜色空间反转换(inverse trasform colors)单元215。
需要说明的是,解压缩是压缩的逆过程,类似的,解码框架200中的各个单元的功能可参见编码框架100中相应的单元的功能。
例如,解码框架200可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LOD中点的最近邻居,并利用当前点的重建值对后续点的属性信息进行预测。
图3示出了根据本申请实施例的点云的编码方法300的示意性流程图,所述方法300可以由编码器执行。例如,图1所示的编码框架100,即点云编解码器TMC13。为便于说明,下面以编码器为执行主体对本申请的技术方案进行说明。
如图3所示,所述方法300可包括:
S310,对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
S320,根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
S330,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
S340,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
S350,根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
S360,对所述目标点的属性信息的残差值进行编码,得到码流。
例如,所述卡尔曼滤波算法可以通过递归滤波器实现,递归滤波器也可称为自回归滤波器。
例如,可以对量化后的所述点云中的所有点的属性信息的残差值进行编码,以得到所述码流。
例如,所述目标点的属性信息的残差值可以是量化后的残差值,也可以是不需要量化的残差值。
利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,进而基于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值得到的所述目标点的属性信息的残差值进行编码,相当于,在点云编码过程中,能够提升所述目标点的属性信息的预测准确度,对点的预测过程进行了质量增强,相应的,能够提升所述目标点的属性信息的残差值的准确度,进而,能够提升点云编码的编码效果。
需要说明的是,本申请中涉及的点云可以是完整的点云,也可以是将完整的点云划分后形成的点云切块(slice)。
下面结合图4对卡尔曼滤波原理进行说明。
图4是本申请实施例提供的卡尔曼滤波原理的示意图。
如图4所示,可通过曲线371表示所述目标点的属性信息的初始预测值,可通过曲线372表示所述目标点的属性信息的最终预测值,可通过曲线373表示所述目标点的属性信息的测量值;换言之,可以利用所述目标点的属性信息的测量值对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。初始预测值也可称为先验估计值;最终预测值也可称为最优估计值或后验估计值。
例如,可以先基于一系列的不完全或包含噪声的测量值估计动态系统的状态,以获取初始预测值;然后基于测量值和初始预测值,可通过不断地迭代更新的方式,使得预测误差逐渐减小,进而使得预测值逐渐准确,以得到最终预测值。
例如,可以将对点云中的目标点的卡尔曼滤波分为预测过程和校正过程。假设目标点为点云中的第k个点;在预测过程中,可根据第k-1个点的最终预测值来估计第k个点的状态,以得到第k个点的初始预测值;在校正过程中,使用第k个点的测量值更正第k个点的初始预测值,得到第k个点的最终预测值。
例如,可以通过公式1对第k个点进行预测,以获取第k个点的初始预测值:
其中,
表示第k个点的初始预测值;A表示状态转移矩阵;
表示第k-1个点的最终预测值;B表示控制输入矩阵;u
k表示输入的信息;P′
k表示
的协方差;P
k-1表示
的协方差;Q表示过程激励噪声协方差,其也可称为系统过程的协方差。
例如,可以通过公式2进行校正,以获取第k个点的最终预测值:
例如,可以通过公式3更新协方差:
P
k=(I-K
kH)P′
k 公式3;
当然,在其他可替代实施例中,也可将上述公式1至公式3转换为编程语言结构,本申请对此不做具体限定。
在本申请的一些实施例中,所述方法200还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;根据所述目标点所在的LOD层的点的属性信息(例如,R、G、B颜色分量)的标准差,确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息(例如,R、G、B颜色分量)的初始预测值进行滤波;当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
通过针对所述目标点所在的LOD层确定是否进行滤波,可在确定针对所述目标点所在的LOD层进行卡尔曼滤波的情况下,编码器可直接对所述目标点所在的LOD层中的每一个点的预测值进行卡尔曼滤波,以降低卡尔曼滤波的复杂度。
例如,可以根据所述目标点所在的LOD层的点的属性信息(例如,R、G、B颜色分量)的标准差,确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息(例如,R、G、B颜色分量)的初始预测值进行滤波。
例如,若所述目标点所在的LOD层的点的属性信息的标准差大于第一阈值,确定不利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;再如,若所述目标点所在的LOD层的点的属性信息的标准差小于或等于第一阈值,确定利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波。可选的,所述第一阈值可以是预定义的阈值。例如,所述第一阈值可以是视频编解码标准定义的阈值。当然,所述第一阈值也可以是编码端确定的阈值,此时,可以将所述第一阈值写入码流,以将所述第一阈值指示给解码端。
应理解,本申请对所述第一阈值的具体数值不作限定。例如,所述第一阈值可以是35或45。
在本申请的一些实施例中,当确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,确定不需要对所述目标点所在的LOD层以及之后的LOD层中的点的属性信息的初始预测值进行滤波。
在本申请的一些实施例中,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
应理解,本申请对所述N的具体数值不作限定。
例如,所述N可以6或7。
例如,下面结合表1对本申请的方案进行示例性说明。
表1
LOD层 | 标准差阈值 |
<=6 | <=45 |
7 | <=45 |
8 | >45 |
… | … |
如表1所示,由于前6个LOD层中点的属性信息(R、G、B颜色分量)的标准差都不小于或等于45(如有其中一个颜色分量的标准差不符合要求,则对此层LOD不做滤波),编码端可针对前6个LOD层中的点的初始预测值进行卡尔曼滤波,接着对第7层进行判断即第7个LOD层中点的R、G、B三个颜色分量的标准差都小于或等于45,编码端可针对前7个LOD层中的点的初始预测值进行卡尔曼滤波,由于第8个LOD层的标准差大于45,编码端可针对第8个LOD层中的点的初始预测值以及第8个LOD层之后的LOD层中的点的初始预测值不进行卡尔曼滤波。
在本申请的一些实施例中,所述S340可包括:
以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
例如,所述目标点之前的一个或多个点的属性信息的重建值可以是所述目标点之前的一个点的属性信息的重建值。再如,所述目标点之前的一个或多个点的属性信息的重建值可以是所述目标点之前的多个点的属性信息的重建值的均值、最大值或最小值。
应理解,所述目标点之前的一个或多个点,可以理解为所述目标点所在的LOD层中的位于所述目标点之前的一个或多个点,也可以理解为编码顺序之前的一个或多个点。
在本申请的一些实施例中,所述S340可包括:
以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
例如,所述预设值可以是所述目标点的属性信息的真实值,也可以是基于所述目标点的属性信息的真实值确定的数值。例如,可以根据所述目标点的比特深度(bitdepth)确定所述预设值。例如,可以将所述目标点的属性信息的比特深度进行左移处理,以得到所述预设值。
在本申请的一些实施例中,所述方法200还可包括:
针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
例如,变量n的取值范围可以是0~m,m*T小于或等于所述LOD层中点的数量。例如,针对每一个LOD层,所述nxT个点可以均等分所述所述LOD层中的点。
应理解,本申请对所述T的具体数值不作限定。
例如,所述T可以是8或10。
在其他实施例中,当所述LOD层的点数小于8时,将所述LOD层的所有点的属性信息的最终重建值替换为属性信息的真实值;当所述LOD层的点数大于或等于8时,利用需要将点的属性信息的最终重建值替换为真实值的点,将所述LOD中的其他的点均分为8等份。
在本申请的一些实施例中,所述S340可包括:
若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;将所述目标点的属性信息的最终预测值替 换为所述目标点的属性信息的真实值。
例如,若所述目标点的属性信息的初始预测值已替换为属性信息的真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
进一步的,还可以将所述目标点的属性信息的真实值,写入所述码流。
在本申请的一些实施例中,所述方法200还可包括:
将所述点云中点的属性信息的最终预测值为真实值的点的数量以及点的属性信息的真实值写入所述码流。
例如,所述码流可包括编码后的以下信息;属性信息的最终预测值为真实值的点的数量、、属性信息的最终预测值为真实值的点的属性信息的真实值、以及所述点云中所有点的属性信息的残差值。
可选的,也可以将所述点云中点的属性信息的最终预测值为真实值的点的位置写入所述码流。
在本申请的一些实施例中,所述方法200还可包括:
若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
例如,若确定所述目标点所在的LOD层的标准差大于第一阈值,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述方法200还可包括:
将一标识写入码流,所述标识用于指示所述目标点所在的LOD层进行了滤波。
例如,若所述目标点所在的LOD层进行了滤波,将所述标识写入所述码流。换言之,所述码流包括编码后的所述标识。
图5是本申请实施例提供的点云的编码方法400的示意性框图。
如图5所示,所述方法400可包括以下中的部分或全部:
S401,将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点。
S402,对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值。
S403,根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值。
S404,针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
S405,将所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值写入码流。
S406,根据所述目标点所在的LOD层的点的属性信息的标准差,确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波。
S407,若确定需要利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波,确定所述目标点的属性信息的初始预测值是否为真实值。
S408,若确定所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
S409,将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
S410,若确定所述目标点的属性信息的初始预测值不是真实值,以所述目标点之前 的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
S411,将一标识写入码流,所述标识用于指示所述目标点所在的LOD层进行了滤波。
S412,若确定不需要利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
S413,根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值。
S414,对所述目标点的属性信息的残差值进行编码,得到码流。
上文中结合图2至图5,从编码器的角度详细描述了根据本申请实施例的点云的编码方法,下面将结合图6,从解码器的角度描述根据本申请实施例的点云的解码方法。
图6示出了根据本申请实施例的点云的解码方法500的示意性流程图。所述方法500可以由解码端执行。例如图2所示的解码框架200或解码器。
如图6所示,所述方法500可包括:
S510,对点云的码流进行解析,得到所述点云中一目标点的位置信息的重建信息;
S520,根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
S530,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
S540,对所述码流进行解码,得到所述目标点的属性信息的残差值;
S550,根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的重建值;
S560,根据所述目标点的属性信息的重建值,得到解码点云。
在本申请的一些实施例中,所述方法500还可包括:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
在本申请的一些实施例中,所述S530可包括:
以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述S530可包括:
以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述方法500还可包括:
针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
在本申请的一些实施例中,所述S530可包括:
若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实 值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
在本申请的一些实施例中,所述方法500还可包括:
对所述码流进行解析,得到所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值。
在本申请的一些实施例中,所述方法500还可包括:
若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述S530可包括:
对所述码流进行解析,得到一标识,所述标识用于指示所述目标点所在的LOD层进行了滤波。
应理解,点云的解码方法500为点云的编码方法的逆过程。点云的解码方法500中的步骤可以参考点云的编码方法300或400中的相应步骤,为了避免重复,在此不再赘述。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图6,详细描述了本申请的方法实施例,下文结合图7至图9,详细描述本申请的装置实施例。
图7是本申请实施例的编码器50的示意性框图。
如图7所示,所述编码器50可包括:
第一处理单元51,用于对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;
预测单元52,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
滤波单元53,用于利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
第二处理单元54,用于对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;
残差单元55,用于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;
编码单元56,用于对所述目标点的属性信息的残差值进行编码,得到码流。
在本申请的一些实施例中,所述预测单元52还用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
根据所述目标点所在的LOD层的点的属性信息的标准差,确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;
当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点 的属性信息的最终预测值。
在本申请的一些实施例中,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
在本申请的一些实施例中,所述滤波单元53具体用于:
以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述滤波单元53具体用于:
以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述预测单元52还用于:
针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;
当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
在本申请的一些实施例中,所述滤波单元53具体用于:
若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;
将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
在本申请的一些实施例中,所述编码单元56还用于:
将所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值写入所述码流。
在本申请的一些实施例中,所述预测单元52还用于:
若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述编码单元56还用于:
将一标识写入码流,所述标识用于指示所述目标点所在的LOD层进行了滤波。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的编码器50可以对应于执行本申请实施例的方法300中的相应主体,并且编码器50中的各个模块的前述和其它操作和/或功能分别为了实现图3或图5中的各个方法中的相应流程,为了简洁,在此不再赘述。
图8是本申请实施例提供的解码器600的示意性框图。
如图8所示,所述解码器600可包括:
第一解码单元610,用于对点云的码流进行解析,得到所述点云中一目标点的位置信息的重建信息;
预测单元620,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;
滤波单元630,用于利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;
第二解码单元640,用于对所述码流进行解码,得到所述目标点的属性信息的残差值;
重建单元650,用于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的重建值;
第三解码单元660,用于根据所述目标点的属性信息的重建值,得到解码点云。
在本申请的一些实施例中,所述预测单元620还用于:
将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;
确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;
当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
在本申请的一些实施例中,所述滤波单元630具体用于:
以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述滤波单元630具体用于:
以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述预测单元620还用于:
针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;
当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
在本申请的一些实施例中,所述滤波单元630具体用于:
若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;
将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
在本申请的一些实施例中,所述第一解码单元610还用于:
对所述码流进行解析,得到所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值。
在本申请的一些实施例中,所述预测单元620还用于:
若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
在本申请的一些实施例中,所述第一解码单元610还用于:
对所述码流进行解析,得到一标识,所述标识用于指示所述目标点所在的LOD层进行了滤波。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的解码器600可以对应于执行本申请实施例的方法500中的相应主体,并且解码器600中的各个模块的前述和其它操作和/或功能分别为了实现图6中的各个方法中的相应流程,为了简洁,在此不再赘述。
根据本申请的另一方面,还提供了一种编解码系统,包括上述编码器以及该编码器对应的解码器。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合 执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
如9是本申请实施例提供的电子设备700的示意性框图。
如如9所示,该电子设备700可包括:
存储器710和处理器720,该存储器710用于存储计算机程序711,并将该程序代码711传输给该处理器720。换言之,该处理器720可以从存储器710中调用并运行计算机程序711,以实现本申请实施例中的方法。
例如,该处理器720可用于根据该计算机程序711中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器720可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器710包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序711可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器710中,并由该处理器720执行,以完成本申请提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序711在该电子设备700中的执行过程。
如如9所示,该电子设备700还可包括:
收发器730,该收发器730可连接至该处理器720或存储器710。
其中,处理器720可以控制该收发器730与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器730可以包括发射机和接收机。收发器730还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备700中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
综上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (23)
- 一种点云的编码方法,其特征在于,包括:对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;对所述目标点的属性信息的残差值进行编码,得到码流。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;根据所述目标点所在的LOD层的点的属性信息的标准差,确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
- 根据权利要求2所述的方法,其特征在于,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
- 根据权利要求2所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
- 根据权利要求2所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
- 根据权利要求6所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值写入所述码流。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波 时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:将一标识写入码流,所述标识用于指示所述目标点所在的LOD层进行了滤波。
- 一种点云的解码方法,其特征在于,包括:对点云的码流进行解析,得到所述点云中一目标点的位置信息的重建信息;根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;对所述码流进行解码,得到所述目标点的属性信息的残差值;根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的重建值;根据所述目标点的属性信息的重建值,得到解码点云。
- 根据权利要求11所述的方法,其特征在于,所述方法还包括:将所述点云划分为一个或多个LOD层,每个LOD层包括一个或多个点;确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波;当确定需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
- 根据权利要求12所述的方法,其特征在于,所述目标点所在的LOD层为所述一个或多个LOD层中的前N个LOD层,N为大于0的正整数;或者,所述目标点所在的LOD层为所述一个或多个LOD层中所述前N个LOD层之后的一个LOD层。
- 根据权利要求12所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:以所述目标点之前的一个或多个点的属性信息的重建值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值。
- 根据权利要求12所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:以预设值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值。
- 根据权利要求12所述的方法,其特征在于,所述方法还包括:针对所述点云中的每一个LOD层,当所述LOD层的点数小于阈值T时,将所述LOD层的所有点的属性信息的初始预测值替换为属性信息的真实值;当所述LOD层的点数大于或等于阈值T时,将第nxT个点的属性信息的初始预测值替换为真实值,T为大于1的正整数,n为大于或等于0的正整数。
- 根据权利要求16所述的方法,其特征在于,所述利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值,包括:若所述目标点的属性信息的初始预测值为真实值,以所述目标点的属性信息的真实值作为测量值,利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,以得到所述目标点的属性信息的最终预测值;将所述目标点的属性信息的最终预测值替换为所述目标点的属性信息的真实值。
- 根据权利要求16所述的方法,其特征在于,所述方法还包括:对所述码流进行解析,得到所述点云中点的属性信息的最终预测值为真实值的点的数量、点的位置以及点的属性信息的真实值。
- 根据权利要求12所述的方法,其特征在于,所述方法还包括:若确定不需要对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波时,将所述目标点的属性信息的初始预测值作为所述目标点的属性信息的最终预测值。
- 根据权利要求12所述的方法,其特征在于,所述确定是否利用卡尔曼滤波算法对所述目标点所在的LOD层的点的属性信息的初始预测值进行滤波,包括:对所述码流进行解析,得到一标识,所述标识用于指示所述目标点所在的LOD层进行了滤波。
- 一种编码器,其特征在于,包括:第一处理单元,用于对点云中的一目标点的位置信息进行处理,得到所述目标点的位置信息的重建信息;预测单元,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;滤波单元,用于利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;第二处理单元,用于对点云中的所述目标点的属性信息进行处理,得到所述目标点的属性信息的真实值;残差单元,用于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的真实值,得到所述目标点的属性信息的残差值;编码单元,用于对所述目标点的属性信息的残差值进行编码,得到码流。
- 一种点云的解码方法,其特征在于,包括:第一解码单元,用于对点云的码流进行解析,得到所述点云中一目标点的位置信息的重建信息;预测单元,用于根据所述目标点的位置信息的重建信息,得到所述目标点的属性信息的初始预测值;滤波单元,用于利用卡尔曼滤波算法对所述目标点的属性信息的初始预测值进行滤波,得到所述目标点的属性信息的最终预测值;第二解码单元,用于对所述码流进行解码,得到所述目标点的属性信息的残差值;重建单元,用于根据所述目标点的属性信息的最终预测值和所述目标点的属性信息的残差值,得到所述目标点的属性信息的重建值;第三解码单元,用于根据所述目标点的属性信息的重建值,得到解码点云。
- 一种编解码系统,其特征在于,包括::根据权利要求21所述的编码器;以及根据权利要求22所述的解码器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/119686 WO2022067775A1 (zh) | 2020-09-30 | 2020-09-30 | 点云的编码、解码方法、编码器、解码器以及编解码系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116250008A true CN116250008A (zh) | 2023-06-09 |
Family
ID=80949451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080105463.8A Pending CN116250008A (zh) | 2020-09-30 | 2020-09-30 | 点云的编码、解码方法、编码器、解码器以及编解码系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230237707A1 (zh) |
EP (1) | EP4224843A4 (zh) |
CN (1) | CN116250008A (zh) |
WO (1) | WO2022067775A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379190B (zh) * | 2022-08-19 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种点云处理方法、装置及计算机设备、存储介质 |
WO2024077548A1 (zh) * | 2022-10-13 | 2024-04-18 | Oppo广东移动通信有限公司 | 点云解码方法、点云编码方法、解码器和编码器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223810B2 (en) * | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
WO2020012967A1 (ja) * | 2018-07-11 | 2020-01-16 | ソニー株式会社 | 画像処理装置および方法 |
CN110971898B (zh) * | 2018-09-30 | 2022-04-22 | 华为技术有限公司 | 点云编解码方法和编解码器 |
US11010931B2 (en) * | 2018-10-02 | 2021-05-18 | Tencent America LLC | Method and apparatus for video coding |
US11272158B2 (en) * | 2019-03-01 | 2022-03-08 | Tencent America LLC | Method and apparatus for point cloud compression |
EP3926962A4 (en) * | 2019-03-16 | 2022-04-20 | LG Electronics Inc. | DEVICE AND METHOD FOR PROCESSING POINT CLOUD DATA |
US11503367B2 (en) * | 2019-03-20 | 2022-11-15 | Tencent America LLC | Techniques and apparatus for weighted-median prediction for point-cloud attribute coding |
CN111242997B (zh) * | 2020-01-13 | 2023-11-10 | 北京大学深圳研究生院 | 一种基于滤波器的点云属性预测方法及设备 |
-
2020
- 2020-09-30 EP EP20955798.2A patent/EP4224843A4/en active Pending
- 2020-09-30 WO PCT/CN2020/119686 patent/WO2022067775A1/zh unknown
- 2020-09-30 CN CN202080105463.8A patent/CN116250008A/zh active Pending
-
2023
- 2023-03-27 US US18/126,538 patent/US20230237707A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4224843A4 (en) | 2023-11-22 |
EP4224843A1 (en) | 2023-08-09 |
WO2022067775A1 (zh) | 2022-04-07 |
US20230237707A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230237707A1 (en) | Point cloud encoding and decoding method, encoder, decoder and codec system | |
WO2022133753A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
WO2022062369A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
US20230237704A1 (en) | Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system | |
CN114598883A (zh) | 点云属性的预测方法、编码器、解码器及存储介质 | |
CN117242493A (zh) | 点云解码、上采样及模型训练方法与装置 | |
CN115086660B (zh) | 基于点云属性预测的解码、编码方法、解码器及编码器 | |
CN115086658B (zh) | 点云数据的处理方法、装置、存储介质及编解码设备 | |
WO2023015530A1 (zh) | 点云编解码方法、编码器、解码器及计算机可读存储介质 | |
CN117337449A (zh) | 点云质量增强方法、编码和解码方法及装置、存储介质 | |
WO2022217472A1 (zh) | 点云编解码方法、编码器、解码器及计算机可读存储介质 | |
CN115086716B (zh) | 点云中邻居点的选择方法、装置及编解码器 | |
CN115474041B (zh) | 点云属性的预测方法、装置及相关设备 | |
WO2022140937A1 (zh) | 点云编解码方法与系统、及点云编码器与点云解码器 | |
WO2023024842A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2023103565A1 (zh) | 点云属性信息的编解码方法、装置、设备及存储介质 | |
US20230412837A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
WO2022133752A1 (zh) | 点云的编码方法、解码方法、编码器以及解码器 | |
WO2023204040A1 (ja) | 復号方法、符号化方法、復号装置及び符号化装置 | |
CN117321991A (zh) | 点云属性的预测方法、装置及编解码器 | |
CN118075464A (zh) | 点云属性的预测方法、装置及编解码器 | |
CN117615136A (zh) | 点云解码方法、点云编码方法、解码器、电子设备以及介质 | |
CN115733990A (zh) | 点云编解码方法、设备及存储介质 | |
CN116601947A (zh) | 点云的解码方法、编码方法、解码器以及编码器 |
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 |