技术领域
[0001] 本
发明属于点云
数据处理技术领域,涉及点云
数据压缩方法,尤其涉及一种基于多角度自适应帧内预测的点云属性压缩的方法,我们将这种帧内预测命名为“多角度自适应帧内预测”。
背景技术
[0002] 随着人们对三维视觉的需求日益增加,三维点云作为现实世界数字化的一种重要表现形式,在如智慧城市、无人驾驶、文物保护等众多热
门研究中起技术
支撑作用。随着
三维扫描设备(激光、雷达等)的快速发展,点云的
精度、
分辨率更高。高精度点云广泛应用于城市数字化地图的构建,。点云是三维扫描设备对物体表面
采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和
颜色、纹理等
属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来巨大挑战,所以点云压缩十分必要。
[0003] 点云压缩主要分为几何压缩和属性压缩,现有的点云属性压缩
框架主要包括以下几种:
[0004] 一、基于八叉树分解和DCT的方法:该方法先用八叉树对点云进行空间分解得到编码
块,然后对树进行深度优先遍历,将遍历的结点颜色值按照蛇形的顺序写入二维的JPEG表,再利用现有的JPEG
编码器对获得的点云颜色表进行编码,其中JPEG编码器使用的是DCT。该方法利用现有的编码器,计算复杂度低,但并未充分利用点与点之间的空间相关性,在压缩性能上有待提高;
[0005] 二、基于八叉树分解和图变换的方法:该方法先用八叉树对点云进行空间分解,划分到特定层次得到变换块;在每个变换块内形成图,将沿着任意坐标轴的距离不超过1的两点用一条边连接起来,边的权重与欧氏距离成反比;再对图中结点的属性信息进行图变换。该方法的压缩性能佳;但运算复杂度较高,其构图方式可能会带来子图问题,影响图变换的效率,仍有改善的空间;
[0006] 三、基于KD树分解和图变换的方法:该方法先用KD树对点云进行空间分解,划分到一定深度得到变换块,其中每个变换块内所包含的点数大致相同:在变换块内,每两点用一条边连接起来,边的权重与欧氏距离有关,设定的边欧式距离
阈值决定图的稀疏度;然后再对图内点的属性信息进行图变换。该方法彻底解决了子图问题,同时在压缩性能方面较前两种方法都有较大的提升,但运算复杂度较高,性能仍待改善。
发明内容
[0007] 为了克服上述
现有技术的不足,在考虑计算复杂度的条件下,进一步改善点云属性的压缩性能,本发明提供一种基于多角度自适应帧内预测的点云属性压缩的方法,通过使用一种新的基于块结构的帧内预测方案,提供六种预测模式以尽可能地减少点云不同编码块之间的信息冗余,提高点云属性的压缩性能。
[0008] 此发明提出的六种预测模式基本涵盖了所有可预测方向,提供了一套完备的多角度自适应帧内预测方法。
[0009] 本发明提供的技术方案是:
[0010] 一种基于多角度自适应帧内预测的点云属性压缩方法,针对点云数据,使用KD树对点云进行编码块的划分,并按照广度优先遍历的顺序对编码块进行编号,根据编号顺序使用具有六种预测模式的点云帧内预测方案对编码块进行逐一处理,由模式决策选出最佳预测模式,再对预测残差进行变换、量化和
熵编码处理,以达到点云属性压缩的最佳性能;包括如下步骤:
[0011] 1)点云属性的颜色空间转换:读入待处理的点云属性信息,考虑人眼的视觉特性和压缩处理的难易程度,将点云颜色空间从RGB空间转换到YUV空间;
[0012] 2)采用KD树划分点云得到编码块:根据几何信息对点云进行KD树划分,每次选择点云
位置坐标中分布方差最大的坐标轴作为划分轴,选取坐标大小是中位值的点作为划分点,
迭代划分直至达到设定的KD树深度;
[0013] KD树划分的最后一层为叶子
节点,所得到的块即为点云的编码块;编码块的上一层为宏块层,每个宏块是两个叶子结点的
父节点。按照广度遍历的顺序对所有编码块进行编号,该编号将作为编码块后期处理的顺序;
[0014] 3)基于块结构的帧内预测:根据编码块的编号顺序依次对编码块进行帧内预测,共六种预测模式。
[0015] 预测模式一是使用数值128作为当前块b2i的Y
亮度分量的预测参考值,U、V
色度分量不预测,称为“直流模式”;
[0016] 预测模式二是用当前块b2i的前一个块b2i-1重构后所有点Y、U、V分量的均值作为预测参考值,对当前块b2i的Y2i、U2i、V2i分量进行帧内预测;
[0017] 预测模式三是用当前块b2i的前两个块b2i-2重构后所有点Y、U、V分量的均值作为预测参考值,对当前块b2i的Y2i、U2i、V2i分量进行帧内预测;
[0018] 预测模式四是用当前块b2i的前三个块b2i-3重构后所有点Y、U、V分量的均值作为预测参考值,对当前块b2i的Y2i、U2i、V2i分量进行帧内预测;
[0019] 预测模式二、模式三、模式四这三种预测模式为KD树叶
子节点之间的多角度预测。
[0020] 预测模式五是使用当前块b2i在KD树上父节点Mbi的前一个父节点Mbi-1作为预测参考块,将该父节点重构后所有点Y、U、V分量的均值 作为当前叶子节点的Y2i、U2i、V2i分量的参考值进行预测;
[0021] 预测模式六是使用当前块b2i在KD树上父节点Mbi的前两个父节点Mbi-2作为预测参考块,将该父节点重构后所有点Y、U、V分量的均值 作为当前叶子节点的Y2i、U2i、V2i分量的参考值进行预测;
[0022] 这两种预测模式为KD树叶子节点与父节点之间跨层次的多角度预测,提供了更灵活的预测方案,有利于编码块内信息冗余的去除。
[0023] 对第一个编码块b1进行帧内预测时,只能使用预测模式一;对第二个编码块b2进行帧内预测时,可以使用预测模式一和预测模式二;对第三个编码块b3进行帧内预测时,可以使用预测模式一、预测模式二、预测模式三和预测模式五;对第四个编码块b4进行帧内预测时,可以使用预测模式一、预测模式二、预测模式三、预测模式四和预测模式五;对编号k≥5的编码块bk进行帧内预测时,六种预测模式均可采用;
[0024] 4)帧内预测模式决策:对编码块bk(k≥2)的颜色分量Yk、Uk、Vk预测需要进行模式决策选出最佳的预测模式,而第一个编码块不需要进行模式决策;使用预测残差变换系数的绝对值和SATD(Sum of Absolute Transformed Difference)来估计预测模式的代价,其中使用离散余弦变换DCT(Discrete cosine transform)对预测残差进行变换处理;SATD值越小,代表预测模式代价越小,预测性能越好,具有最小SATD的模式将被选择为当前块的预测模式;
[0025] 5)点云属性压缩码流的生成:按照编码顺序处理所有编码块,对预测后残差进行DCT变换、均匀量化和熵编码,得到点云属性压缩的最终码流;
[0026] 上述步骤1)所述的颜色空间转换,其具体过程如下:
[0027] (1-1)点云中的点pk具有
RGB颜色空间的颜色值为rk、gk、bk,通过颜色空间转换矩阵将RGB转换到YUV颜色空间,颜色值为yk、uk、vk;
[0028] (1-2)颜色空间转换的数学表达式为:
[0029]
[0030] 上述步骤2)所述的编码块的划分和编号,其具体过程如下:KD树划分时,选择点的分布方差最大的坐标轴作为划分轴,充分考虑了变换块内各点的相关性;同时把划分轴上坐标是中位值的点作为划分点,使变换块内点的数量基本相同。设待处理的点云共有N个点,KD树设定的划分深度为d,经过对点云d次划分后,得到2d个编码块;对所有的编码块按照广度遍历的顺序进行编号
[0031] 上述步骤3)所述的基于编码块顺序的帧内预测,编码块的预测参考值如表1所示:
[0032] 表1编码块帧内预测的颜色分量参考值
[0033]
[0034]
[0035] 上述步骤4)中所述的帧内预测的模式决策,其具体过程如下:编码块bk(k≠1)的颜色分量Yk、Uk、Vk的预测参考值分别为Yk_ref、Uk_ref、Vk_ref,预测残差bk(res)由式2计算可得,预测模式的代价SATD由式3计算可得,选择SATD最小的模式作为最佳预测模式:
[0036] bk(res)=(Yk-Yk_ref)+(Uk-Uk_ref)+(Vk-Vk_ref) (式2)
[0037] SATD=sum(abs(DCT(bk(res)))) (式3)。
[0038] 上述步骤5)中所述的点云属性压缩码流的生成,其具体过程如下:
[0039] (5-1)经过上述步骤1)至4)的处理,得到带编号的编码块预测残差和其预测模式信息;对预测残差进行DCT变换和均匀量化,二值化后得到属性信息的码流,再结合编码块的预测模式信息,经过熵编码得到最终的点云属性压缩码流;
[0040] (5-2)点云属性信息的码流点云属性信息的码流由压缩头信息和编码块信息两大部分组成。其中,头信息包括量化步长等;编码块信息流以编码块为单位,按照编码块的顺序排列,每个块内包括编码块的预测模式信息和颜色残差信息;
[0041] (5-3)点云属性压缩的性能由码率和峰值
信噪比PSNR(Peak Signal to Noise Ratio)来衡量,其中码率由码字总比特数除以点云的点数可得,单位是bpp(bits per point),PSNR的单位是分贝dB;码率越小,PSNR越大,点云属性压缩性能越好。
[0042] 上述方法使用帧内预测减少编码块之间的信息冗余,提供六种预测模式并由模式决策选出最佳模式,再使用传统DCT变换对点云属性进行压缩,计算复杂度低,属性压缩效率高,实现更优的点云压缩性能。
[0043] 与现有技术相比,本发明的有益效果是:
[0044] 本发明提供一种基于多角度自适应帧内预测的点云属性压缩方法,具有以下技术优势:
[0045] (一)提出一种新的帧内预测方案,支持六种预测模式,有效地降低了编码块之间的属性信息冗余。
[0046] (二)处理不同编码块时,通过模式决策选出最佳的预测模式,实现点云压缩的最佳压缩性能。
[0047] (三)预测模式中支持直流预测模式、三种KD树叶子节点之间的多角度预测以及两种KD树叶子节点与父节点之间跨层次的多角度预测;这一灵活的预测方案有利于不同特点的编码块内信息冗余的去除。
附图说明
[0049] 图2是点云的KD树划分及编码块编号的示例图。
[0050] 图3a、b、c、d和e是不同编号的编码块可选预测模式示意图,其中:
[0051] 图3a:第一个编码块预测模式是模式一;
[0052] 图3b:第二个编码块可选预测模式为模式一和模式二;
[0053] 图3c:第三个编码块可选模式为模式一、模式二、模式三和模式五;
[0054] 图3d:第四个编码块可选模式为模式一、模式二、模式三、模式四和模式五;
[0055] 图3e:编号大于等于五的所有编码块六种预测模式均可选。
[0056] 图4是点云属性信息压缩后的码流结构示例图。
[0057] 图5a、b和c是本发明方法与现有传统方法的压缩性能对比图,其中,
[0058] 图5a:测试longdress_vox10_1300.ply;
[0059] 图5b:测试Shiva35.ply;
[0060] 图5c:测试Queen_frame_0200.ply。
具体实施方式
[0061] 下面结合附图,通过
实施例进一步描述本发明,但不以任何方式限制本发明的范围。
[0062] 本发明的一种基于多角度自适应帧内预测的点云属性压缩的方法,针对点云数据,提出一种新的基于块结构的帧内预测方案,提供六种预测模式以尽可能地减少点云不同编码块之间的信息冗余,提高点云属性的压缩性能;图1是本发明方法的流程框图。图4是点云属性信息压缩后的码流结构示例图。
[0063] 以下针对MPEG点云压缩工作组中的官方点云数据集longdress_vox10_1300.ply、Shiva35.ply和Queen_frame_0200.ply,采用本发明方法进行点云属性压缩,如图1所示,具体实施步骤为:
[0064] (1)点云属性的颜色空间转换:读入待处理的点云属性信息,点云中的点pk具有RGB颜色空间的颜色值为rk、gk、bk,通过颜色空间转换矩阵将RGB转换到YUV颜色空间,颜色值为yk、uk、vk,如式1所示:
[0065]
[0066] 点云longdress_vox10_1300.ply的第一个点p1的RGB颜色值为(102,94,87),经过颜色转换矩阵的处理得到YUV颜色值为(54.4128,-2.7926,50.3798)。
[0067] 点云Shiva35.ply的第一个点p1的RGB颜色值为(125,88,54),经过颜色转换矩阵的处理得到YUV颜色值为(43.4902,30.9580,50.5518)。
[0068] 点云Queen_frame_0200.ply的第一个点p1的RGB颜色值为(102,80,71),经过颜色转换矩阵的处理得到YUV颜色值为(48.0172,9.8702,44.1126)。
[0069] (2)采用KD树划分点云得到编码块:KD树实质上是一种二叉树,对该点云进行KD树的划分时,每次选择点云位置坐标中分布方差最大的坐标轴作为划分轴,在该轴上选取坐标大小是中位值的点作为划分点,迭代划分直至达到设定的KD树深度n,划分完成后的KD树及带编号的编码块如图2所示。最终,树划分后得到2n个编码块,每两个编码块共用一个父节点,例如,编码块b2i-1和编码块b2i的父节点为Mbi.
[0070] 点云longdress_vox10_1300.ply共有857966个点,KD树划分深度d设为13,经过划分后块内点的数量为104或105。
[0071] 点云Shiva35.ply共有1010591个点,KD树划分深度d设为13,经过划分后块内点的数量为123或124。
[0072] 点云Queen_frame_0200.ply共有1000993个点,KD树划分深度d设为13,经过划分后块内点的数量为122或123。
[0073] (3)基于块结构的帧内预测3:点云经过步骤(2)的空间划分,将所有的点按照空间位置关系划分成一定数量的编码块,编码块的顺序由树划分的广度遍历顺序决定,再根据编号顺序依次对编码块进行帧内预测。点云longdress_vox10_1300.ply、Shiva35.ply和Queen_frame_0200.ply均有8192个编码块,每个块内的所有点可以看成一个类。
[0074] (3-1)对第一个编码块b1进行帧内预测时,使用128作为Y分量的预测参考值;
[0075] 例如,点云longdress_vox10_1300.ply第一个编码块b1的第一个点RGB颜色值为(131,96,72),经过颜色转换后YUV颜色值为(52.85,23.99,54.16),经过颜色预测后残差值为(-75.15,23.99,54.16)。
[0076] (3-2)对第二个编码b2进行帧内预测时,预测模式一是使用128作为Y分量的预测参考值;预测模式二是用前一个块b1重构后所有点Y、U、V分量的均值 对当前块内点的Yi、Ui、Vi分量进行预测。
[0077] (3-3)对第三个编码b3进行帧内预测时,预测模式一是使用128作为Y分量的预测参考值,;预测模式二是用前一个块b2重构后所有点Y、U、V分量的均值 对当前块内点的Yi、Ui、Vi分量;预测模式三是用前两个块b1重构后所有点Y、U、V分量的均值 对当前块内点的Yi、Ui、Vi分量;预测模式五是使用当前块b3的父节点Mb2的前向宏块Mb1重构后所有点Y、U、V分量的均值作为当前块b3的Yk、Uk、Vk分量预测的参考值;
[0078] (3-4)对第四个编码b4进行帧内预测时,预测模式一是使用128作为Y分量的预测参考值,;预测模式二是用前一个块b3重构后所有点Y、U、V分量的均值 对Yi、Ui、Vi进行预测;预测模式三是用前两个块bi-1重构后所有点Y、U、V分量的均值 对Yk、Uk、Vk进行预测;预测模式四是使用前三个块重构后所有点Y、U、V分量的均值 分别对Yk、Uk、Vk进行预测;预测模式五是使用当前块b4的父节点Mb2的前向宏块Mb1重构后所有点Y、U、V分量的均值作为当前块b4的Yk、Uk、Vk分量预测的参考值;
[0079] (3-5)对bk(k≥5)编码块进行帧内预测时,预测模式一是使用128作为Y分量的预测参考值,;预测模式二是用前一个块bi重构后所有点Y、U、V分量的均值Yi、Ui、Vi对Yk、Uk、Vk进行预测;预测模式三是用前两个块bi-1重构后所有点Y、U、V分量的均值Yi-1、Ui-1、Vi-1对Yk、Uk、Vk进行预测;预测模式四是使用前三个块重构后所有点Y、U、V分量的均值Yi-2、Ui-2、Vi-2分别对Yk、Uk、Vk进行预测;预测模式五是使用当前块bk父节点 的前向宏块重构后所有点Y、U、V分量的均值作为当前块的Yk、Uk、Vk分量预测的参考值;预测模式六是使用使用当前块bk父节点 的前向第二个宏块 重构后所有
点Y、U、V分量的均值作为当前块的Yk、Uk、Vk分量预测的参考值;
[0080] (4)帧内预测模式决策:对编码块bk(k≠1)的颜色分量Yk、Uk、Vk预测有多种模式,需要估计每种模式的代价来进行模式决策,选出最佳的预测模式;使用SATD来估计预测模式的代价,其中使用DCT对预测残差进行变换处理,具有最小SATD的模式将被选择为当前块的预测模式。
[0081] (5)点云属性压缩码流的生成:针对点云longdress_vox10_1300.ply的8192个编码块、Shiva35.ply的8192个编码块、Queen_frame_0200.ply的8192个编码块,将块内的颜色信息依次经过预测、DCT变换、量化和熵编码处理,再结合预测模式和变换模式的码流信息,按照编码块的顺序写入码流文件中,最终码流文件的结构如图3a、b、c、d和e所示。点云属性压缩的性能由码率和
峰值信噪比PSNR(Peak Signal to Noise Ratio)来衡量,其中码率的单位是bpp(bits per point),PSNR的单位是分贝dB。
[0082] 为了验证本发明的一种基于多角度自适应帧内预测的点云属性压缩的方法的效果,我们使用上述3个数据集longdress_vox10_1300.ply、Shiva35.ply、Queen_frame_0200.ply进行实验,在压缩性能上与现有的方法对比结果如图5a、b和c所示。
[0083] 从图5a、b和c可以看出,在测试的三类典型的点云序列上,本发明的方法在相同码率点下相对未采用预测的方法均有1~3dB的增益,性能优势明显。本方法使用KD树这一简单的划分方式,结合多角度自适应帧内预测这一高效的去冗余方案,压缩性能的优势明显,优点突出。
[0084] 需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附
权利要求的精神和范围内,各种替换和
修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。