用于编码和重构点云的方法和设备

文档序号:1602875 发布日期:2020-01-07 浏览:25次 >En<

阅读说明:本技术 用于编码和重构点云的方法和设备 (Method and apparatus for encoding and reconstructing point clouds ) 是由 K.蔡 W.胡 S.拉塞尔 于 2018-04-12 设计创作,主要内容包括:该方法包括:-访问(2)包括由属性定义的多个点的点云(PC),所述属性包括点在3D空间中的空间位置以及点的至少一个特征;-基于点的属性将点云分割(2)为点的一个或多个群集(C&lt;Sub&gt;i&lt;/Sub&gt;);并且对于至少一个群集(C&lt;Sub&gt;i&lt;/Sub&gt;):-构建(4)具有多个顶点和至少一个边缘的相似度图形,相似度图形表示群集(C&lt;Sub&gt;i&lt;/Sub&gt;)的相邻点在属性方面之间的相似度,多个顶点包括对应于群集(C&lt;Sub&gt;i&lt;/Sub&gt;)的点的顶点P&lt;Sub&gt;i&lt;/Sub&gt;和P&lt;Sub&gt;j&lt;/Sub&gt;;-向连接图形的顶点P&lt;Sub&gt;i&lt;/Sub&gt;和P&lt;Sub&gt;j&lt;/Sub&gt;的一个或多个边缘分配一个或多个权重w&lt;Sub&gt;i,j&lt;/Sub&gt;;-使用一个或多个分配的权重计算(6)变换,所述变换特征在于系数;和-量化(8)和编码(10)变换系数。(The method comprises the following steps: -accessing (2) a Point Cloud (PC) comprising a plurality of points defined by attributes comprising a spatial position of a point in 3D space and at least one feature of the point; -segmenting (2) the point cloud into one or more clusters (C) of points based on the properties of the points i ) (ii) a And for at least one cluster (C) i ): -constructing (4) a similarity graph having a plurality of vertices and at least one edge, the similarity graph representing a cluster (C) i ) A plurality of vertices including a vertex corresponding to the cluster (C) i ) The vertex P of the point (b) i And P j (ii) a Toward the vertex P of the connected graph i And P j One or more edge segments ofIs provided with one or more weights w i,j (ii) a -computing (6) a transform using the one or more assigned weights, the transform being characterized by coefficients; and-quantizing (8) and encoding (10) the transform coefficients.)

用于编码和重构点云的方法和设备

技术领域

本公开一般涉及点云数据源领域。

更具体地说,其处理点云压缩(PCC)。

因此,本公开关注用于编码点云的方法和相应的编码器。其还关注用于重构点云的方法和相应的解码器。其还关注实现本发明的编码和重构方法的计算机程序。

背景技术

可以采用本部分中描述的方法,但不一定是先前已经设想或采用的方法。因此,除非本文另外指出,否则本部分中描述的方法不是本申请中的权利要求的现有技术,并且不因被包括在本部分中而被承认为现有技术。

点云由一组点组成。每个点都由其空间位置(x,y,z)(即几何信息)和不同的属性(典型包括(R,G,B)或(Y,U,V)或任何其他颜色坐标系的颜色信息)定义。几何属性(geometry)可被视为属性数据之一。在本公开的其余部分中,几何属性和其他属性数据均被视为点的属性。

点云数据源可在许多应用中找到。依赖于巨大点云数据源的重要应用可以在地理信息系统,机器人,医学断层扫描和科学可视化中找到。

除了这些更加工业化和科学导向的应用之外,基于飞行时间或其他深度感应技术的廉价3D扫描仪的普及,移动设备上的3D捕获以及基于云的3D打印的兴起,都对消费市场上大型可互操作的压缩3D点云存储和传输数据格式产生巨大的需求。

扫描的3D点云通常具有数千个点,并占用大量存储空间。此外,当从3D扫描仪实时捕获时,它们可以高速率生成,进一步提高数据速率。因此,点云压缩对于有效的网络分发和存储至关重要。

尽管在3D图形和机器人领域中已经有很多关于点云压缩的工作,但是它们通常不能满足构建高效的可互操作和完整的端到端3D多媒体系统的一些要求。

例如,对于高质量渲染而言很重要的颜色和其他属性值的编码()经常被忽略或例如通过执行简单的颜色单向预测编码而效率低下地操作。而且,时变点云的压缩,即随时间快速捕获的云序列被限制。此外,具有低复杂性和有损编码的方法对其中硬件/带宽限制适用或其中低延迟是关键的系统有用。点云压缩的研究仍然需要解决这些挑战。

在现有技术中已经提出点云的不同编码方法。

第一种编码方法依赖基于八叉树的点云表示。例如,描述在J.Peng和C.-C JayKuo中,“Geometry-guided progressive lossless 3D mesh coding with octree(OT)decomposition”,ACM Trans.Graph,卷21,第2号,第609-616页,2005年7月,以及在YangHuang,Jingliang Peng,C.-C.Jay Kuo和M.Gopi,“A Generic Scheme for ProgressivePoint Cloud Coding”,关于可视化和计算机图形的IEEE学报,第14卷,第2号,第440-453页,2008年。

八叉树是一种树数据结构,其中每个分支节点表示空间中的某个立方体或长方体边界体积。在根开始,每个分支最多有8个子系,一个用于节点的边界框的每个子八分体。

图1和图2的左半部分示出示例。

对于压缩,使用单个位来标记分支节点的每个子是否为空,并且然后假设八个八分体的某些顺序一致,则可以在单个字节中有效地表示此分支节点配置。通过以广度优先的顺序遍历树并输出遇到的每个子节点配置字节,可以有效地编码空间中的点分布。在读取编码的字节流时,在第一个字节中设置的位数告诉解码器作为直接子的连续字节数。位位置指定它们占据的八叉树中的体元/子。图2的右半侧例示在左半侧表示的八叉树的字节流表示。

由于其分层性质,八叉树表示在利用点云稀疏性方面非常有效。因此,基于八叉树分解的策略对于压缩稀疏点云非常有效。但是,基于八叉树的表示对于表示和压缩密不透水的(watertight dense)点云是无效的。此外,大多数现有的基于八叉树的点云表示都独立地表示点的几何属性和其他属性。

第二种编码方法依赖基于分割的点云表示。例如,描述在例如T.Ochotta和D.Saupe中,“Compression ofpoint-based 3d models by shape-adaptive waveletcoding of multi-heightfields”,在Proc.Eurographics Symp.on Point-BasedGraphics,2004年,以及在J.Digne,R.Chaine,S.Valette等人中,“Self-similarity foraccurate compression of point sampled surfaces”,计算机图形论坛,第33卷,第155-164页,2014年。

基于分割的点云表示包括三个步骤:平面状分解,平面投影和编码。在第一步骤,将点云数据分割成平面状的补丁。然后,将所得补丁投影到一个或若干平面上。在最后步骤中,将(多个)投影的图像压缩。可以使用有效的图像/视频压缩技术来压缩(多个)投影的图像。

已经证明基于平面状分割的PCC在编码表示近似分段线性表面的密集点云时非常有效。但是,基于分割的PCC有几个缺点。确实,此方法需要重新采样到规则网格上,这引入近似误差。而且,有必要为复杂形状生成大量补丁,这意味着复杂纹理的高计算复杂度。此外,此方法独立处理几何形状和其他属性。

有一些工作试图结合上述两种点云表示的优点,诸如,J.K.N.Blodow,R.Rusu,S.Gedikli和E.S.M Beetz,“Real-time compression of point cloud streams”,在机器人与自动化(ICRA),2012 IEEE International Conference,第778,785页,2012年5月14-18日。

这些工作首先以八叉树分解的方式分解输入点云。在每个长方体划分操作之后,检查落入同一新生成的叶长方体的点是否可以通过平面近似。如果答案为是,则停止相应的长方体的划分,并通过投影在相应的平面上对相关点进行编码。然后,可以通过八叉树法有效地表示和压缩平面状补丁的位置。

但是,所有这些已知方法都不能提供点云属性数据的有效表示和编码。

在Collet等人的文章中,“High-quality streamable free-viewpoint video”,ACM Transactions on Graphics,第34卷,第4,2015年,将点云转换为3D网格,然后使用最新的3D网格压缩技术来编码点云。但是,需要将点云转换为网格的该方法通常在计算上耗费,并且需要额外的位来编码3D网格的连通性。

最近,已经提出基于图形的方法来编码点云。使用Zhang等人的图形变换对点云属性进行压缩:“Point cloud attribute compression with graph transform”,IEEEInternational Conference on Image Processing,巴黎,2014年。将属性视为图形上的信号,并且将图形变换用于使信号近似去相关。但是,通过在八叉树结构上构建图形,点云表示仍然基于八叉树表示。此外,该文章仅考虑除几何属性之外的的压缩属性。

Thanou等人解决了3D点云序列压缩的问题:“Graphbased compression ofdynamic 3D point cloud sequences”,IEEE Transactions on Image Processing,第25卷,n°4,页1765-1778,2016年,着重于利用基于图形的方法的帧内编码。尽管如此,该方法仍采用八叉树表示。在Queiroz等人,“Compression of 3D point clouds using aregion-adaptive hierarchical transform”,IEEE Transactions on ImageProcessing,卷:25,期刊:8,2016年8月8日,设计一种方法,以基于分层变换来压缩点云中的颜色。同时,点云的几何属性再次使用八叉树表示进行编码。

前述工作均基于八叉树表示,并分开考虑几何属性和其他属性。这是不利的,因为用于编码效率的对点云的分段线性的利用被八叉树表示限制。此外,不考虑几何属性和属性之间的冗余,这消除编码性能的进一步改进。

发明内容

本公开提出用于改善情况的解决方案。

因此,本公开涉及根据权利要求1的用于编码点云的方法和根据权利要求2的相应的编码器。还关注根据权利要求8的用于重构点云的方法和根据权利要求9的相应的解码器。还关注实现本发明的编码和重构方法的计算机程序。还关注根据权利要求15的信号。

因此,本公开提供了一种用于编码包括多个点的点云的方法,其中每个点由属性定义,该属性包括该点在3D空间中的空间位置以及该点的至少一个特征,其中,该方法包括:

-基于点的属性将点云分割为点的群集;

并且对于每个群集:

-构建相似度图形,以表示群集的相邻点在属性方面之间的相似度;

-基于构建的相似度图形,计算图形傅立叶变换GFT,GFT特征在于其系数;和

-量化和编码GFT系数。

因此,本发明的编码方法共同压缩属性,包括几何属性,即,3D空间中的点的空间位置,以及至少一个其他属性,即诸如颜色或纹理的特征,并基于GFT利用他们之间中的冗余性。

通过将点云分割为群集,可以在每个群集内执行图形变换操作,因此在处理时间的意义上更有效。

有利地,该方法包括,对于每个群集,将编码的GFT系数和群集以及计算的GFT的标识符发送给解码器。

这些标识符可以由群集索引和GFT索引组成,以便向解码器指示哪个GFT用于哪个群集,从而解码器可以执行正确的逆变换以用于点云的最终重构。

根据优选实施例,GFT系数的编码是熵编码。

有利地,将点云分割成群集使用归一化剪切技术。

例如,在Malik等人的文章:“Normalized cuts and image segmentation”在IEEETrans.Pattern Anal.Mach.Intell.,第22卷,第8期,第888-905页,2000年中描述的技术。

优选地,构建的相似度图形的顶点由相应群集的点组成,并且该方法包括在图形的任何顶点Pi和Pj之间分配权重wi,j

有利地,如果所述权重小于阈值,则将顶点Pi和Pj之间的权重wi,j设置为0。

以此方式,不对小权重进行编码,以减少总编码位,同时不降低编码质量,因为小权重意味着相应的连接顶点在某种程度上不相似。

有利地,构建相似度图形包括:如果权重wi,j等于或大于阈值,则在顶点Pi和Pj之间添加边缘ei,j

本公开还提供一种用于编码包括多个点的点云的编码器,其中,每个点由属性定义,所述属性包括该点在3D空间中的空间位置以及该点的至少一个特征,其中编码器包括:

-分割模块,被配置为基于点的属性将点云分割为点的群集;

-构建模块,被配置为对于每个群集,构建相似度图形,以表示群集的相邻点在属性方面之间的相似度;

-计算模块,被配置为对于每个群集,基于构建的相似度图形,计算图形傅立叶变换GFT,GFT特征在于其系数;和

-编码模块,被配置为编码GFT系数。

有利地,编码器包括发送器,被配置成将编码的GFT系数和群集以及所计算的GFT的标识符发送给解码器。

本公开还提供一种用于重构包括多个点的点云的方法,其中,每个点由属性定义,所述属性包括该点在3D空间中的空间位置以及该点的至少一个特征,其中该方法包括:

-接收包括与群集索引和GFT索引相关联的GFT系数的数据;

-解码接收到的数据;和

-通过对由接收到的群集索引标识的每个群集执行逆GFT来重构群集。

有利地,解码包括熵解码。

本公开还提供一种用于重构包括多个点的点云的解码器,其中每个点由属性定义,该属性包括该点在3D空间中的空间位置以及该点的至少一个特征,其中解码器包括:

-接收器,被配置为接收包括与群集索引和GFT索引相关联的GFT系数的编码数据;

-解码模块,被配置为解码接收到的数据;和

-重构模块,被配置为通过对由接收到的群集索引标识的每个群集执行逆GFT来重构群集。

根据本公开的方法可以在可编程装置上的软件中实现。它们可以仅以硬件或软件或其组合来实现。

因为这些方法可以以软件实现,所以它们可以体现为计算机可读代码,以便提供给任何合适载体介质上的可编程装置。载体介质可以包括诸如软盘,CD-ROM,硬盘驱动器,磁带设备或固态存储设备等的贮存介质。

因此,本公开提供一种包括计算机可执行指令的计算机可读程序,以使计算机能够执行本发明的编码方法。

图3的图例示用于这样的计算机程序的通用算法的示例。

本公开还提供一种包括计算机可执行指令的计算机可读程序,以使计算机能够执行本发明的重构方法。

图4的图例示这样的计算机程序的通用算法的示例。

附图说明

在附图的各图中,通过示例而非限制的方式例示本发明,其中相同的附图标记指代相同的元件,并且其中:

-图1是例示已经描述的根据现有技术的基于八叉树点云表示的示意图;-图2是例示已经描述的八叉树数据结构的总揽的示意图;

-图3是示出根据本发明的实施例的编码点云的步骤的流程图;

-图4是示出根据本发明的实施例的重构点云的步骤的流程图;

-图5是例示根据本发明的实施例的编码器的示意图;以及

-图6是例示根据本发明的实施例的解码器的示意图。

具体实施方式

在图3的流程图中例示根据本发明的实施例的编码点云的方法。

点云PC的点通过它们的属性来表征,包括几何属性,即,每个点的空间位置,以及该点的至少另一个属性,例如颜色。在下面的描述中,我们将假定点云的每个点具有两个属性:3D空间中的几何属性g和RGB空间中的颜色c。

在步骤2中,将点云数据分类为若干群集。作为此聚类的结果,每个群集中的点云数据可以通过线性函数近似,因为一般已经观察到大多数点云数据具有分段线性行为。

该聚类可以通过任何现有聚类方法来执行。

有利地,使用根据本实施例修改的归一化剪切技术来执行聚类,以便考虑点云的点的所有属性之间的相似度。

因此,当执行聚类时,考虑多边关系。即,考虑几何属性和其他属性(诸如,颜色)的相似度来分割点群集,以实现以最佳方式利用分段线性特性的聚类结果。

在步骤2的末尾,点云PC被聚类为由相应索引Ci标识的多个群集,其中1≤i≤N,其中N是获得的群集数。群集索引被随机分配,同时确保为每个群集分配唯一的索引。

然后,在步骤4,为每个群集构建相似度图形。该相似度图表示群集的相邻顶点(即,点)之间的相似度,并允许获取群集的紧凑表示。

图形G={V,E,W}包括基数为|V|=N的一组有限顶点V,一组连接顶点的边缘E和加权相邻矩阵W。W是实数N×N矩阵,其中Wi,j是分配给连接顶点Pi和Pj的边缘(i,j)的权重。这里仅考虑无向图形,其对应于对称加权相邻矩阵,即Wi,j=Wj,i。权重假定为非负值,即wi,j≥0。

在步骤4构建的相似度图中,顶点Pi和顶点Pj之间的权重Wi,j被分配为

Figure BDA0002284580090000081

其中gi和gj分别是坐标矢量,即,gi=(xi,yi,zi)T′和gj=(xj,yj,zj)T′;ci和cj分别是颜色矢量,即,ci=(ri,gi,bi)T和cj=(rj,gj,bj)T。在此公式中,||gi-gj||2描述几何属性的相似度并且||ci-cj||2描述颜色的相似度。

σ是用于控制权重值的参数,并且经常根据经验设置。

这样,在构建的图形中同时考虑几何属性信息和颜色信息,这与仅考虑一个属性的相似度的边缘权重的常规定义不同。

根据优选实施例,并且为了减少用于稀疏表示的连接的顶点的数量,阈值t用于按照如下将小权重设置为0:

如果wi,j<t,则Wi,j=0 (2)。

这样,小权重将不被编码以节省编码位。此外,因为这些权重很小,这意味着连接的顶点在某种程度上是不相似,所以将这些权重设置为0几乎不降低编码质量。

因此,该图形构建如下。

对于群集的每个点Pi,根据等式(1)计算其与群集中的任何其他点Pj之间的可能的边缘权重。如果Wi,j>=t,则Pi和Pj之间的边缘ei,j被添加,并将计算出的权重wi,j附加到边缘,否则,Pi和Pj断开连接,因为小权重意味着它们之间存在较大差异。

然后,在步骤6,基于构建的相似度图为每个群集计算GFT。

在该步骤,从图形的权重获得加权相邻矩阵。

然后,计算图形拉普拉斯矩阵。

存在拉普拉斯矩阵的不同变型。

在一个实施例中,部署未归一化的组合图形拉普拉斯算子,其被定义为L:=D-W,其中D是被定义为对角矩阵的度矩阵,其第i对角元素是W的第i行中所有元素的总和,即,

Figure BDA0002284580090000091

因为拉普拉斯矩阵是实对称矩阵,其允许一组实数特征值{λl}l=0,1,...,N-1,具有一组完整的正交特征矢量{ψl}l=0,1,...,N-1,即,对于I=0,1,...,N-1,Lψl=λlψl

由于两个原因,在一个实施例中采用该拉普拉斯矩阵。

首先,由于通过构建而将L的每一行中的元素求和为零,所以保证0为特征值,[1...1]T作为对应的特征矢量。这允许GFT的频率解释,其中特征值λl’是图形频率,并且始终具有DC分量,这对于压缩由许多平滑区域组成的点云数据很有帮助。通过连接相似的点并断开不相似的点,降低高频系数,这产生GFT域中点云的紧凑表示。

其次,当为所有边权重等于1的线图形(对应于1D DCT)或4连通图形(2D DCT)定义时,GFT默认为众所周知的DCT。这意味着,如果以这种方式选择权重,则在稀疏信号表示中,GFT至少与DCT一样好。由于以上两个可期望的特性,未归一化的拉普拉斯矩阵用于定义GFT,如下段描述。

拉普拉斯矩阵中的特征矢量{ψl}l=0,1,...,N-1用于定义GFT。形式上,对于位于顶点G上的任何信号

Figure BDA0002284580090000092

Figure BDA0002284580090000093

定义为

其中,

Figure BDA0002284580090000095

是第1个GFT系数,x(n)这里指代点云的点n的属性。

对于每个群集,通过GFT索引标识获得的GFT。

因此,步骤6产生GFT系数和GFT索引。

然后,在步骤8,对GFT系数进行量化。

在步骤10,例如通过使用Marpe在“Context-BasedAdaptive Binary ArithmeticCoding in the H.264/AVC Video Compression Standard”,IEEE Trans.Cir.andSys.For Video Technol.第13卷,第7号,第620-636页,2003年中描述的CABAC方法,对量化的GFT系数进行熵编码。

此外,在步骤10对由群集索引和GFT索引构成的开销进行熵编码,以指示哪个GFT用于哪个群集。然后在步骤12,将编码的GFT系数,群集索引和GFT索引发送到解码器。

图4示出根据本公开的实施例的重构点云的步骤,即由解码器在接收到编码的GFT系数,群集索引和GFT索引之后实现的解码步骤。

在步骤20,对接收到的GFT系数,群集索引和GFT索引进行熵解码。

然后,在步骤22,对解码的GFT系数进行去量化。

在步骤24,使用去量化的GFT系数和解码的指示所应用的GFT的GFT索引来执行逆GFT。

逆GFT由下式给出:

Figure BDA0002284580090000101

其中x是表示每个群集的点云数据的恢复信号。

根据实施例,如下计算图形傅立叶变换,其中,点云中的每个点被视为图形中的顶点。

首先,每个点可以连接到它的邻居,只要它们相似。如果两点之间存在较大差异,则断开连接。

其次,给定连通性图形,定义相邻矩阵W,其中,如果顶点i和j连接,则Wi,j=Wj,i=1,否则为0。然后计算度矩阵D。

第三步骤,使用计算的矩阵W和D,将图形拉普拉斯矩阵计算为L=D-W。L的特征矢量U是GFT的基矢量。最后,将点云的点的属性堆叠到列矢量中,并根据等式3和4计算GFT和逆GFT。

通过连接相似的点并断开不相似的点,可以降低高频系数,由此导致GFT域中的点云的紧凑表示。

图5是实现本公开的编码方法的编码器30的示例性实施例的框图。

有利地,编码器30包括一个或多个处理器和存储器32。

编码器30包括:

-分割模块34,被配置为基于点的属性将所述点云分割为点的群集;

-构建模块36,被配置为每个群集构建相似度图形,以表示群集的相邻点在属性方面之间的相似度;

-计算模块38,被配置为基于构建的相似度图形为每个群集计算图形傅立叶变换GFT,GFT特征在于其系数;和

-编码模块40,被配置为对GFT系数进行编码。

编码器30还包括发送器42,被配置为将编码的GFT系数和群集以及计算的GFT的标识符发送给解码器。

根据表示的实施例,总线44在编码器30的各个元件之间提供通信路径。其他点对点互连选项(例如,非总线架构)也是可行的。

图6是实现本公开的重构方法的解码器50的示例性实施例的框图。

有利地,解码器50包括一个或多个处理器和存储器52。

解码器50包括:

-接收器54,被配置为接收包括与群集索引和GFT索引相关联的GFT系数的编码的数据;

-解码模块66,被配置为对接收到的数据进行解码;和

-重构模块58,被配置为通过对每个群集执行逆GFT来重构群集。

根据所表示的实施例,总线60在解码器50的各个元件之间提供通信路径。其他点对点互连选项(例如,非总线架构)也是可行的。

尽管已经示出和描述目前被认为是本发明的优选实施例的内容,但是本领域技术人员将理解,在不脱离本发明的真实范围的情况下,可以做出各种其他修改,并且可以替换等同物。另外,在不脱离本文描述的中心发明构思的情况下,可以做出许多修改以使特定情况适应本发明的教导。此外,本发明的实施例可以不包括上述所有特征。因此,意图是本发明不限于公开的特定实施例,而是本发明包括落入所附权利要求的范围内的所有实施例。

在解释说明书及其相关权利要求时,要以非排他性的方式解释诸如“包括”,“包括”,“合并”,“包含”,“是”和“具有”的表述,即解释为允许还可以存在未明确定义的其他项目或组件。对单数的引用也要被解释为对复数的引用,反之亦然。

本领域技术人员将容易理解,可以修改说明书中公开的各种参数,并且可以在不脱离本发明的范围的情况下组合公开和/或要求保护的各种实施例。

例如,即使描述的图形变换是GFT,也可以使用其他图形变换,诸如例如,D.Hammond,P.Vandergheynst和R.Gribonval在“Wavelets on graphs via spectralgraph theory”,在Elsevier:Applied and Computational Harmonic Analysis,第30卷,第2010年4月30日,第129-150页,描述的图形上的小波,以及G.Shen,“Lifting transformson graphs:Theory and applications”,博士论文,南加州大学,2010,描述的图形上的提升变换。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于虚拟场景的虚拟实体描述帧从不同有利点渲染虚拟场景的帧的方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类