一种基于层次划分的点云属性压缩方法与流程

文档序号:15625700发布日期:2018-10-09 22:55阅读:320来源:国知局

本发明属于点云数据处理技术领域,涉及点云数据压缩方法,尤其涉及一种基于层次划分的点云属性压缩方法。



背景技术:

三维点云是现实世界数字化的重要表现形式。随着三维扫描设备(激光、雷达等)的快速发展,点云的精度、分辨率更高。高精度点云广泛应用于城市数字化地图的构建,在如智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、纹理等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来巨大挑战,所以点云压缩十分必要。

点云压缩主要分为几何压缩和属性压缩,现有的点云属性压缩框架主要包括以下几种:

一、基于八叉树分解和dct的方法:该方法先用八叉树对点云进行空间分解得到编码块,然后对树进行深度优先遍历,将遍历的结点颜色值按照蛇形的顺序写入二维的jpeg表,再利用现有的jpeg编码器对获得的点云颜色表进行编码,其中jpeg编码器使用的是dct。该方法利用现有的编码器,计算复杂度低,但并未充分利用点与点之间的空间相关性,在压缩性能上有待提高;

二、基于八叉树分解和图变换的方法:该方法先用八叉树对点云进行空间分解,划分到特定层次得到变换块;在每个变换块内形成图,将沿着任意坐标轴的距离不超过1的两点用一条边连接起来,边的权重与欧氏距离成反比;再对图中结点的属性信息进行图变换。该方法的压缩性能佳;但运算复杂度较高,其构图方式可能会带来子图问题,影响图变换的效率,仍有改善的空间;

三、基于kd树分解和图变换的方法:该方法先用kd树对点云进行空间分解,划分到一定深度得到变换块,其中每个变换块内所包含的点数大致相同:在变换块内,每两点用一条边连接起来,边的权重与欧氏距离有关,设定的边欧式距离阈值决定图的稀疏度;然后再对图内点的属性信息进行图变换。该方法彻底解决了子图问题,同时在压缩性能方面较前两种方法都有较大的提升,但运算复杂度较高,性能仍待改善。



技术实现要素:

为了克服上述现有技术的不足,在考虑计算复杂度的条件下,进一步改善点云属性的压缩性能,本发明提供一种基于层次划分的点云属性压缩方法,按照点云空间位置和颜色分布,将一帧点云自适应地划分成“条带-宏块-块”的层次结构,各条带之间独立编码,提高编码效率,增强系统的容错性,改善点云属性的压缩性能。

本发明提供的技术方案是:

一种基于层次划分的点云属性压缩方法,针对点云数据,综合利用点云的空间位置和颜色信息,自适应地将一帧点云划分成“条带-宏块-块”的层次结构,尽可能地令颜色相近、空间位置相关的点聚集在一个条带、宏块或编码块内,便于充分利用相邻点之间属性信息的冗余,改善点云属性压缩的性能;同时,各条带之间独立编码,提高编码效率,并防止编码错误的累积和扩散,增强系统的容错性;包括如下步骤:

1)点云的输入:

读入待处理的点云几何信息和属性信息,以备后续处理。

2)点云kd树的划分:

根据几何信息对点云进行kd树划分,每次选择点云位置坐标中分布方差最大的坐标轴作为划分轴,选取坐标大小是中位值的点作为划分点,迭代划分直至达到设定的kd树深度,kd树划分后得到点个数几乎相等的编码块单元。

3)点云属性信息的连贯性分析:

在经过kd树划分后得到编码块,根据属性信息,计算每个块内颜色值的方差判断该块是否为平坦块,再通过计算平坦块占所有块数的比例,分析点云属性信息的连贯性,判断是否进行条带划分。

4)点云的条带划分:

如果在步骤3)中判断点云属性信息连续性较差,则进行多个条带划分,反之一帧点云为一个条带。根据不同的应用场景和性能需求设置相应的划分条件,将一帧点云划分为多个独立编码的条带。

5)点云的宏块、编码块的划分:

根据几何信息对各个条带进行kd树划分,每次选择点云位置坐标中分布方差最大的坐标轴作为划分轴,选取坐标大小是中位值的点作为划分点,迭代划分直至达到设定的kd树深度;kd树划分的最后一层所得到的块即为点云的编码块,按照广度遍历的顺序对编码块进行编号,该编号将作为编码块后期处理的顺序;kd树划分的根节点上一层所得到的块为点云的宏块,一个宏块是两个编码块的父节点。

6)帧内预测、变换、量化和熵编码:

按照编码顺序处理所有编码块,对预测后的残差进行变换、均匀量化和熵编码,得到点云属性压缩的最终码流;

上述步骤2)中点kd树划分方法为二元划分方法;设待处理的点云共有n个点,kd树设定的划分深度为d,经过对点云d次划分后,得到2d个块;对所有的编码块按照广度遍历的顺序进行编号

上述步骤3)中对点云属性信息的连贯性分析的方法:按照广度顺序遍历并计算每个块bi内颜色值ri、gi、bi的方差var(i),以r为例,首先采用式1计算块bi内n个点的r颜色分量的均值然后采用式2计算得到块bi的r的方差var(i)_r1,g和b同理,得到var(i)_r1、var(i)_g1、var(i)_b1后与连贯性阈值thres_1比较。如果三种颜色分量的var(i)均大于thres_1,则判定bi是非平坦块,否则bi是平坦块。同时记录非平坦块的个数,遍历结束后得到所有块中非平坦块的个数num。用所有块中非平坦块的个数num除以总块数2d得到非平坦块占比(num)/(2d),即ratio。将ratio与阈值thres_2比较:如果(num1)/(2d)大于thres_2,则说明点云的属性信息连贯性较差,需要进行条带划分;反之说明点云属性信息连贯性较好,不需要进行条带划分。

上述步骤4)中对点云进行条带结构的划分,有但不限于如下方案:遍历点云中所有点的属性信息,把点云中具有相近属性信息的点划分为一个条带,如果一个点的颜色值r、g、b均小于65,则将其归类到条带1,反之如果该点的颜色值r、g、b有一个大于或等于65,则将其归类到条带2,通过这种方法,将原始的点云划分为两个条带;根据不同应用的需要和对不同类型点云处理的要求,基于层次划分的方案可以将一帧点云划分为多个条带。

上述步骤5)中kd树划分方法为二元划分方法;设待处理的点云共有n个点,kd树设定的划分深度为d,经过对点云d次划分后,得到2d个块;对所有的编码块按照广度遍历的顺序进行编号

上述步骤5)中宏块和编码块之间的关系是:每个宏块可以继续划分为两个编码块,这两个编码块被称作它的子块;同时该相邻的两个编码块具有同一个父块,即这两个编码块组成一个宏块。

上述步骤6)中所述的点云属性压缩码流的生成,其具体过程如下:

(4-1)经过步骤1)至4)的处理,将每个条带独立输入基于帧内预测、变换、量化、熵编码的点云属性压缩编码器。在编码器内经过步骤5)得到带编号的编码块和可以选择使用的宏块;通过预测得到预测残差和其预测模式信息;对预测残差进行变换和均匀量化,二值化后得到属性信息的码流,再结合编码块的预测模式信息,经过熵编码得到最终的点云属性压缩码流;

(4-2)基于层次划分的点云属性信息的码流主要由各个条带的点云属性信息组成,其中每个条带的点云属性信息由压缩头信息和编码块信息两大部分组成。头信息主要包括量化步长等;编码块信息流以编码块为单位,按照编码块的顺序排列,每个块内主要包括编码块的预测模式信息和颜色残差信息。

(4-3)点云属性压缩的性能由码率和峰值信噪比psnr(peaksignaltonoiseratio)来衡量,其中码率的单位是bpp(bitsperpoint),psnr的单位是分贝db;码率越小,psnr越大,点云属性压缩性能越好。

与现有技术相比,本发明的有益效果是:

本发明提供一种基于层次划分的点云属性压缩方法,具有以下技术优势:

(一)综合利用点云的空间位置和颜色信息,将一帧点云划分成“条带-宏块-块”的层次结构,尽可能地令颜色相近、空间位置相关的点聚集在一个条带、宏块或编码块内,便于充分利用相邻点之间属性信息的冗余,改善点云属性压缩的性能。

(二)各条带之间独立编码,支持随机访问,提高编码效率,并防止编码错误的累积和扩散,增强系统的容错性。

附图说明

图1是本发明提供方法的流程框图。

图2是点云的“条带-宏块-块”的层次结构的示例图。

图3a和b是点云条带划分的示例图,其中,

图3a测试shiva_00035_vox12.ply;

图3b测试sarah.pl。.

图4是点云属性信息压缩后的码流结构示例图。

图5a、b和c是本发明方法与现有传统方法的压缩性能对比图,其中,

图5a测试facade_00015_vox14.ply;

图5b测试shiva_00035_vox12.ply;

图5c测试queen_frame_0200.ply。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明的一种基于层次划分的点云属性压缩的方法,针对点云数据,提出一种新的基于层次划分的点云属性压缩方法,综合利用点云的空间位置和颜色信息,将一帧点云划分成“条带-宏块-块”的层次结构,提高点云属性的压缩性能;图1是本发明方法的流程框图。

以下针对mpeg点云压缩工作组中的官方点云数据集facade_00015_vox14.ply,shiva_00035_vox12.ply,queen_frame_0200.ply,采用本发明方法进行点云属性压缩,如图1所示,具体实施步骤为:

(1)点云kd树划分及编码块属性信息的连贯性分析:

以点云facade_00015_vox14.ply为例,共有279664个点,kd树划分深度d设为11,经过划分后共有2^d=2048个块,块内点的数量为136或137。以编码块索引i=0为起始块,循环所有编码块,计算非平坦块的数量num和非平坦块在所有块中所占比例ratio,估计各编码块的连贯性。

计算每个块内颜色值r、g、b的方差,以第一个块为例,其r、g、b的方差值var(1)_r1、var(1)_g1、var(1)_b1为别为751.15125、592.85834、577.31110,方差阈值thres_1设为1000,三个颜色分量的var(1)均小于thres_1,则该块是平坦块;遍历计算所有2048个块之后,共有86个平坦块,总块数为2048,,则非平坦块占比约为0.04,比率阈值thres_2设为0.01,非平坦块占比大于thres_2,说明点云的属性信息连贯性较差,需要进行条带划分。

(2)点云的条带划分:

据图2描述,每帧点云会被划分为“条带-宏块-块”的层次结构。点云经过条带划分后得到数条独立的条带,每个条带再独立地进行后续宏块和编码块的划分。如图3a、b和c所示,以shiva_00035_vox12.ply和sarah.ply为例展示条带划分后的点云情况。这两幅点云经过条带划分后,均得到两幅独立的条带,各个条带展示了该点云的局部信息。

以点云facade_00015_vox14.ply为例,首先进行条带的划分。遍历点云中所有279664个点的属性信息,如果一个点的颜色值r、g、b均小于65,则将其归类到条带1,反之如果该点的颜色值r、g、b有一个大于或等于65,则将其归类到条带2,通过这种方法,将原始的点云划分为两个条带,条带1有93945个点,条带2有185719个点。通过设置不同的条带颜色阈值,可以将点云划分成n个独立的条带。

(3)点云的宏块、编码块的划分:

点云facade_00015_vox14.ply经过条带划分,得到两个独立的条带,随后要进行点云的宏块和编码块的划分,如图2所示。以点云facade_00015_vox14.ply的条带1为例,包含93945个点,使用kd树进行宏块和编码块的划分,划分深度设为9,经过划分后共有256个宏块,每个宏块包括两个编码块,故得到512个编码块,其中块内点的数量为183或184。

(4)点云属性压缩码流的生成:

以点云facade_00015_vox14.ply为例,针对点云facade_00015_vox14.ply的512个编码块,将块内的颜色信息依次经过帧内预测、变换、量化和熵编码处理,再结合预测模式和变换模式的码流信息,按照条带的顺序写入码流文件中,最终码流文件的结构如图4所示。点云属性压缩的性能由码率和峰值信噪比psnr(peaksignaltonoiseratio)来衡量,其中码率的单位是bpp(bitsperpoint),psnr的单位是分贝db。

为了验证本发明的一种基于层次划分的点云属性压缩的方法的效果,我们使用上述3个数据集facade_00015_vox14.ply,shiva_00035_vox12.ply,queen_frame_0200.ply进行实验,在压缩性能上与现有的方法对比结果如图5a、b和c所示。

从图4可以看出,在使用相同的基于帧内预测、图变换、量化、熵编码的点云属性压缩编码器情况下,引入本发明的基于层次划分的压缩结构后,在测试的三类典型的点云数据上,产生了稳定的显著的性能增益,同时可以支持随机访问。本方法按照点云空间位置和颜色分布,将一帧点云自适应地划分成“条带-宏块-块”的层次结构,各条带之间独立编码,提高编码效率,增强系统的容错性,在各个码率点下,点云属性的压缩性能均得到改善,带来增益稳定,优点突出。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1