一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种点云属性编码方法、解码方法、编码设备及解码设备与流程

2022-03-16 02:15:41 来源:中国专利 TAG:


1.本发明涉及点云处理技术领域,特别涉及一种点云属性编码方法、解码方法、编码设备及解码设备。


背景技术:

2.三维点云是现实世界数字化的重要表现形式。随着三维扫描设备(如激光、雷达等)的快速发展,点云的精度和分辨率变得更高。高精度点云广泛应用于城市数字化地图的构建,在智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来了巨大挑战,因此对点云进行压缩变得十分重要。
3.点云压缩主要分为几何压缩和属性压缩。目前由中国avs(audio video coding standard)点云压缩工作组所提供的测试平台pcem中描述的点云属性压缩框架主要是通过近邻点预测。但是,上述相关技术没有很好的利用点云属性的相关性,导致压缩性能降低。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明提供一种点云属性编码方法、解码方法、编码设备及解码设备,旨在解决现有点云属性编码及解码方法不能有效利用子节点之间的属性相关性,导致点云属性压缩性能较差的问题。
6.为了解决上述技术问题,本发明所采用的技术方案如下:
7.一种点云属性编码方法,其中,包括步骤:
8.根据目标点云内点的位置将点云进行k-d树划分,构建n层k-d树结构,n为大于1的正整数;
9.对于所述k-d树结构中的目标节点,获取所述目标节点的子节点,对所述子节点的第一属性系数进行变换计算,获取所述目标节点的第一属性系数和第二属性系数,其中,所述目标节点为所述k-d树结构中第p级中的节点,p为大于等于1且小于等于n-1的正整数;
10.将所述k-d树结构中的根节点的第一属性系数,以及所述k-d树结构中各个所述目标节点的第二属性系数作为点云属性编码方法的输出系数,其中,所述k-d树结构中的叶节点的第一属性系数为叶节点对应的点云属性值,叶节点无第二属性系数。
11.所述的点云属性编码方法,其中,对所述n层k-d树结构不同层目标节点的变换计算方法,具体包括:
12.针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的子叶节点,对所述子叶节点的第一属性系数进行计算,获取所述目标节点的第一属性系数和第二属性系数;
13.对于所述k-d树结构中的目标节点,获取所述目标节点的两个子节点,对所述两个
子节点的第一属性系数进行哈尔小波变换,获取所述目标节点的第一属性系数和第二属性系数,其中,所述目标节点为所述k-d树结构中第m级中的节点,m为大于等于1且小于等于n-3的正整数。
14.所述的点云属性编码方法,其中,对所述n层k-d树结构的n-2层目标节点的第一属性系数和第二属性系数的计算方法步骤包括:
15.针对所述n层k-d树结构的n-1层,将层内非叶节点作为目标节点,获取所述目标节点的两个子叶节点,所述两个子叶节点的第一属性系数分别为a1,a2,则计算该目标节点的第一属性系数为(a1 a2)/2,第二属性系数为(a1-a2)/2;
16.针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点的两个子节点,对所述两个子节点的第一属性系数进行上述相同计算,获取所述目标节点的第一属性系数和第二属性系数,令所述两个子节点的第二属性系数也为所述目标节点的第二属性系数。
17.所述的点云属性编码方法,其中,对所述n层k-d树结构的n-2层目标节点的第一属性系数和第二属性系数的另一种计算方法步骤包括:
18.针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的k个子叶节点,k为大于等于2小于等于4的整数,对所述k个子叶节点的第一属性系数进行一维离散余弦变换,将低频直流系数作为所述目标节点的第一属性系数,将其余高频交流系数作为所述目标节点的第二属性系数;对所述目标节点的第一属性系数和第二属性系数进行归一化,归一化方法为除以
19.所述的点云属性编码方法,其中,所述n层k-d树结构的n-3层到第1层目标节点的第一属性系数和第二属性系数的计算步骤包括:
20.所述目标节点包含两个子节点,所述两个子节点的第一属性系数分别为a1,a2;
21.对所述两个子节点的第一属性系数进行哈尔小波变换,获得所述目标节点的第一属性系数为第二属性系数为
22.所述的点云属性编码方法,其中,所述将所述k-d树结构中的根节点的第一属性系数,以及所述k-d树结构中各个所述目标节点的第二属性系数作为点云属性编码方法的输出系数之后,还包括步骤:
23.直接对所述输出系数进行熵编码,得到变换系数码流;
24.或者,对所述输出系数进行量化得到量化变换系数;对量化变换系数进行熵编码,得到量化变换系数码流。
25.所述的点云属性编码方法,其中,在进行哈尔小波变换之前,还包括步骤:
26.将rgb颜色空间的属性值转换为yuv空间的属性值。
27.所述的点云属性编码方法,其中,所述将所述k-d树结构中的根节点的第一属性系数,以及所述k-d树结构中各个所述目标节点的第二属性系数作为点云属性编码方法的输出系数之后,还包括步骤:
28.计算原始点云属性值与重建点云属性值的差值作为属性残差值,对所述属性残差值进行熵编码,得到残差点云码流;
29.或者,计算原始点云属性值与重建点云属性值的差值作为属性残差值;对所述属
性残差值进行量化得到属性量化残差系数;对所述属性量化残差系数进行编码得到残差点云码流;
30.或者,计算原始点云属性值与重建点云属性值的差值作为属性残差值;对所述属性残差值进行量化得到属性量化残差系数;对所述属性量化残差系数进行编码得到残差点云码流;对属性量化残差余数进行编码。
31.一种点云属性编码设备,其中,包括处理器、存储器、编码模块和总线;
32.所述存储器上存储有可被所述处理器执行的计算机可读程序;
33.所述总线实现处理器和存储器之间的连接通信;
34.所述处理器用于调用所述编码模块从而执行所述计算机可读程序时实现本发明方法中的步骤。
35.一种点云属性解码方法,其中,包括步骤:
36.根据目标点云内点的位置将点云进行k-d树划分,构建n层k-d树结构,n为大于1的正整数;
37.对点云码流进行解码,得到点云变换系数;
38.针对所述n层k-d树结构的第一层,将从码流中解码得到的变换系数,作为逆变换输入系数进行逆变换计算,获得所述当前层的逆变换输出系数;
39.从所述n层k-d树结构的第二层开始直到第n-1层,将从上一层父节点逆变换得到的重建输出系数和从码流中解码得到的变换系数,作为当前层目标节点逆变换输入系数进行逆变换计算,得到重建输出系数;
40.将所有叶节点的重建系数作为点云属性变换重建值。
41.所述的点云属性解码方法,其中,对所述n层k-d树结构不同层目标节点的逆变换计算方法,具体包括:
42.针对所述n层k-d树结构的第1层到第n-3层,将层内所有节点作为目标节点,对每个目标节点的逆变换输入系数进行哈尔小波逆变换,获得所述当前层的逆变换输出系数;
43.针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,对每个目标节点的逆变换输入系数进行计算,获取所述目标节点的重建输出系数,作为在n-1层和n层的子叶节点的重建系数。
44.所述的点云属性解码方法,其中,所述n层k-d树结构的第1层到第n-3层目标节点的重建输出系数的计算步骤包括:
45.目标节点包含输入系数,分别为b1,b2,进行哈尔小波逆变换,获得该目标节点的重建输出系数为(和
46.所述的点云属性解码方法,其中,所述n层k-d树结构的n-2层目标节点的重建输出系数的计算方法步骤包括:
47.针对所述n层k-d树结构的第n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层的两个子节点,目标节点的输入系数,分别为b1,b2,计算该目标节点的重建输出系数为(b1 b2)和(b1-b2),所述重建输出系数为目标节点在n-1层的两个子节点的重建输入系数;
48.针对所述n层k-d树结构的第n-1层,将层内所有非叶节点作为目标节点,获取所述目标节点在n层的两个子叶节点,将从上一层父节点得到的重建输出系数和从码流中解码
得到的变换系数,作为当前层目标节点的输入系数进行上述相同计算,获取所述目标节点的两个重建输出系数。
49.所述的点云属性解码方法,其中,所述n层k-d树结构的n-2层目标节点的重建输出系数的另一种计算方法步骤包括:
50.针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的k个子叶节点,k为大于等于2小于等于4的整数,对所述目标节点的输入系数进行逆归一化处理,处理方法为乘以再进行逆一维离散余弦变换,获取所述目标节点的k个重建输出系数。
51.所述的点云属性解码方法,其中,所述对点云码流进行解码,得到点云变换系数的步骤包括:
52.对所述点云码流进行熵解码,得到所述点云变换系数;
53.或者,对所述点云码流进行熵解码,得到量化变换系数;对所述量化变换系数进行逆量化得到所述点云变换系数。
54.所述的点云属性解码方法,其中,在进行三维哈尔小波逆变换之后还包括步骤:将yuv颜色空间的重建属性值转换为rgb空间的重建属性值。
55.所述的点云属性解码方法,其中,将所述叶节点的重建输出系数作为点云属性变换重建值之后,还包括步骤:
56.对点云码流进行熵解码得到属性残差值;计算所述属性残差值与所述变换重建点云属性值的和值作为点云属性重建值;
57.或者,对点云码流进行熵解码得到属性量化残差系数;对所述属性量化残差系数进行逆量化得到逆量化属性残差值;计算所述逆量化属性残差值、所述变换重建点云属性值的和值作为点云属性重建值;
58.或者,对点云码流进行熵解码得到属性量化残差系数及属性量化残差余数;对所述属性量化残差系数进行逆量化得到逆量化属性残差值;计算所述属性量化残差余数、所述逆量化属性残差值、所述变换重建点云属性值的和值作为点云属性重建值。
59.一种点云属性解码设备,其中,包括处理器、存储器、编码模块和总线;
60.所述存储器上存储有可被所述处理器执行的计算机可读程序;
61.所述总线实现处理器和存储器之间的连接通信;
62.所述处理器用于调用所述编码模块从而执行所述计算机可读程序时实现本发明方法中的步骤。
63.有益效果:与现有技术相比,本发明提供的点云属性编码方法和解码方法解决了点云数据稀疏特性的问题,能够提升子节点之间属性相关性地利用,从而有效提高点云属性压缩性能。
附图说明
64.图1为本发明提供的一点云属性编码方法较佳实施例的第一流程图。
65.图2为本发明构建k-d树结构的示意图。
66.图3为本发明提供的一种点云属性编码方法第二流程图。
67.图4为本发明提供的一种点云属性编码设备结构原理图。
68.图5为本发明提供的一种点云属性解码方法较佳实施例的第一流程图。
69.图6为本发明提供的一种点云属性解码方法的第二流程图。
具体实施方式
70.本发明提供一种点云属性编码方法、解码方法、编码设备及解码设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
71.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当本实施例称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
72.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
73.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
74.请参阅图1,图1为本发明提供的一种点云属性编码方法较佳实施例的流程图,如图所示,其包括步骤:
75.s10、根据目标点云内点的位置将点云进行k-d树划分,构建n层k-d树结构,n为大于1的正整数;
76.s20、对于所述k-d树结构中的目标节点,获取所述目标节点的子节点,对所述子节点的第一属性系数进行变换计算,获取所述目标节点的第一属性系数和第二属性系数,其中,所述目标节点为所述k-d树结构中第p级中的节点,p为大于等于1且小于等于n-1的正整数;
77.s30、将所述k-d树结构中的根节点的第一属性系数,以及所述k-d树结构中各个所述目标节点的第二属性系数作为点云属性编码方法的输出系数,其中,所述k-d树结构中的叶节点的第一属性系数为叶节点对应的点云属性值,叶节点无第二属性系数。
78.具体来讲,在本实施例中,在编码端执行所述步骤s10-s30的步骤,实现所述点云的属性变换编码。本实施例将哈尔(haar)小波变换应用于点云的属性编码中,具体实现如下:首先对点云进行kd树分解,得到n层的kd树结构,kd树的每个叶节点对应于待编码的一个点云三维点的属性值(如颜色),设这个属性值为该叶节点的dc属性系数,基于如图2所示的二叉树结构进行哈尔小波变换。本实施例构建的kd树为如图2所示的二叉树结构,对三维点坐标的划分步骤为:对于每个节点,首先从x,y,z中选择一个方向(一般为方差最大的方向,即点分布最离散的方向),沿着这个方向,将空间分成两份,使得这两个空间中的三维点个数相同,这两个空间就是对应的子节点;重复以上步骤,直到节点内只有一个三维点,停
止该节点的划分;与点云的八叉树划分不同,本实施例使用kd树的划分的每个节点,必然包含至少一个点云三维点,并且叶节点只出现在n层和n-1层中。
79.在一些实施方式中,对所述n层k-d树结构不同层目标节点的变换计算方法,具体包括:针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的子叶节点,对所述子叶节点的第一属性系数进行计算,获取所述目标节点的第一属性系数和第二属性系数;对于所述k-d树结构中的目标节点,获取所述目标节点的两个子节点,对所述两个子节点的第一属性系数进行哈尔小波变换,获取所述目标节点的第一属性系数和第二属性系数,其中,所述目标节点为所述k-d树结构中第m级中的节点,m为大于等于1且小于等于n-3的正整数。
80.在一些实施方式中,对所述n层k-d树结构的n-2层目标节点的第一属性系数(dc系数)和第二属性系数(ac系数)的计算方法步骤包括:针对所述n层k-d树结构的n-1层,将层内非叶节点作为目标节点,获取所述目标节点的两个子叶节点,所述两个子叶节点的第一属性系数分别为a1,a2,则计算该目标节点的第一属性系数为(a1 a2)/2,第二属性系数为(a1-a2)/2;针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点的两个子节点,对所述两个子节点的第一属性系数进行上述相同计算,获取所述目标节点的第一属性系数和第二属性系数,令所述两个子节点的第二属性系数也为所述目标节点的第二属性系数。
81.在另一些实施方式中,对所述n层k-d树结构的n-2层目标节点的第一属性系数(dc系数)和第二属性系数(ac系数)的计算方法步骤包括:针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的k个子叶节点(子叶节点具体指为叶节点的子节点,这里不考虑非叶节点的子节点),k为大于等于2小于等于4的整数,对所述k个子叶节点的第一属性系数进行一维离散余弦变换,将低频直流系数作为所述目标节点的第一属性系数,将其余高频交流系数作为所述目标节点的第二属性系数;对所述目标节点的第一属性系数和第二属性系数进行归一化,归一化方法为除以
82.具体来讲,本实施例中,对点云进行kd树划分,kd树的每个节点,必然包含至少一个点云三维点,kd树的叶节点只包含一个点云三维点,且只出现在n层和n-1层中。对n-2层,计算所有节点的第一属性系数和第二属性系数。获取节点在n-1层和n层的k个子叶节点,k为大于等于2小于等于4的整数,将k个子叶节点的第一属性系数作为输入系数,对其进行一维dct变换。本实施例设节点内的输入系数为行向量f∈rk(k个子节点),变换后的系数为行向量c={c1,

,ck}∈rk,变换公式为c=f
×ak
,换矩阵ak具体为:
83.k=2:
84.k=3:
85.k=4:将变换后的低
频直流系数,即c1,作为所述目标节点的第一属性系数,将其余高频交流系数,即c2,

,ck,作为所述目标节点的第二属性系数。接着对所述目标节点的第一属性系数和第二属性系数进行归一化处理,具体计算方法为:c

∈rk,为最终该节点的输入系数。
86.n-2层所有节点的第一属性系数,将作为随后haar小波变换的输入系数,被继续变换。n-2层所有节点的第二属性系数将直接作为编码系数,按照需求被量化和熵编码。
87.在一些实施方式中,从n-3层开始到第一层结束,计算每层所有节点的两个属性系数,节点包含两个子节点,其dc属性系数分别为a1,a2,计算该节点的dc系数为ac系数为
88.本实施例中n-1层和n-2层是haar小波变换的预处理步骤,n-2层节点的dc系数可看作它所包含三维点的平均值,作为小波变换的输入信号值。从n-3层到第1层,进行了哈尔小波变换,其变换矩阵为最终,通过所述过程会得到一个根节点的第一属性系数和多个从不同层得到的第二属性系数,这些系数可作为编码系数被量化和熵编码。
89.在一些实施方式中,将所述k-d树结构中的根节点的第一属性系数,以及所述k-d树结构中各个所述目标节点的第二属性系数作为点云属性编码方法的输出系数。最后根据需求直接对所述输出系数进行熵编码,得到变换系数码流;或者对所述输出系数进行量化得到量化变换系数,对所述量化变换系数进行熵编码,得到量化变换系数码流。
90.在一些实施方式中,由于现有变换方法普遍无法实现无损的属性编码,所以本实施例设计了编码残差处理模块来解决这个问题,所述编码残差处理模块在编码时,采用以下三种方式:计算原始点云属性值与重建点云属性值的差值作为属性残差值,对所述属性残差值进行熵编码,得到残差点云码流;或者,计算原始点云属性值与重建点云属性值的差值作为属性残差值;对所述属性残差值进行量化得到属性量化残差系数;对所述属性量化残差系数进行编码得到残差点云码流;或者,计算原始点云属性值与重建点云属性值的差值作为属性残差值;对所述属性残差值进行量化得到属性量化残差系数;对所述属性量化残差系数进行编码得到残差点云码流;对属性量化残差余数进行编码。
91.具体来讲,如图3所示,本实施例首先利用变换方法对点云进行变换得到变换系数,再对其量化得到量化变换系数,接着进行逆量化得到重建变换系数,最后进行逆变换得到重建点云属性值。将重建点云和原始点云作为输入数据传入编码残差处理模块,所述编码残差处理模块内,首先求得重建点云与原始点云在每一个空间点的属性残差值,然后根据需求对属性残差值进行量化得到属性量化残差系数,最后对属性量化残差系数进行编码。对于近无损条件(limited-lossy),针对属性残差值,需要根据给定的量化步长进行量化编码,可实现对hausdorff误差的控制。对于无损条件(lossless),可以用以下两种方法处理:方法一:针对属性残差值,无需使用量化处理,即量化步长为1,直接对属性残差值进行编码;方法二:针对属性残差值,对属性量化残差余数和属性量化残差系数进行编码。
92.在一些实施方式中,对于颜色的编码,属性残差值的计算需要在原始点云的颜色空间中进行。如果逆变换产生的点云重建属性值与原始点云的属性值位于不同的颜色空间,例如,原始点云具有rgb颜色空间的属性值,而逆变换产生的为yuv颜色空间的属性值。则需要对逆变换产生的点云重建属性值进行颜色空间转换,转换到和原始点云相同的颜色
空间中。
93.基于上述点云属性解码方法,本发明还提供一种点云属性解码设备,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
94.此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
95.存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
96.存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
97.此外,上述存储介质以及点云属性编码设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
98.在一些实施方式中,还提供一种点云属性解码方法,如图5所示,其包括步骤:
99.s100、根据目标点云内点的位置将点云进行k-d树划分,构建n层k-d树结构,n为大于1的正整数;
100.s200、对点云码流进行解码,得到点云变换系数;
101.s300、针对所述n层k-d树结构的第一层,将从码流中解码得到的变换系数,作为逆变换输入系数进行哈尔小波逆变换,获得所述当前层的逆变换输出系数;
102.s400、从所述n层k-d树结构的第二层开始直到第n-1层,将从上一层父节点逆变换得到的重建输出系数和从码流中解码得到的变换系数,作为当前层目标节点逆变换输入系数进行逆变换计算,得到重建输出系数;
103.s500、将所有叶节点的重建输出系数作为点云属性变换重建值。
104.具体来讲,本实施例将哈尔小波变换应用于点云的属性解码中,其具体实现方式如下:首先对点云进行kd树分解,得到n层的kd树结构,所述kd树结构的每个叶节点对应于待解码重建的一个点云三维点的属性值。对点云码流进行解码,得到点云变换系数,包括根节点的一个第一属性系数(dc系数)和多个来自不同节点的第二属性系数(ac系数)。
105.针对kd树的第一层(根节点),将从码流中解码得到的变换系数(一个dc系数,一个ac系数,记为b1,b2),作为逆变换输入系数,进行逆哈尔小波变换,得到两个输出系数a1,a2,计算公式为a2,计算公式为a2,计算公式为a1,a2将作为第二层逆变换的输入dc系数。
106.在一些实施方式中,对所述n层k-d树结构不同层目标节点的逆变换计算方法,具
体包括:从kd树的第二层的逆变换开始直到第n-3层逆变换结束,将从上一层逆变换得到的输出系数和从码流中解码得到的变换系数,作为当前层节点的子节点逆变换输入系数进行逆哈尔小波变换,得到输出变换系数;
107.针对所述n层k-d树结构的第n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层的两个子节点,目标节点的输入系数,分别为b1,b2,计算该目标节点的重建输出系数为(b1 b2)和(b1-b2),所述重建输出系数为目标节点在n-1层的两个子节点的重建输入系数;针对所述n层k-d树结构的第n-1层,将层内所有非叶节点作为目标节点,获取所述目标节点在n层的两个子叶节点,将从上一层父节点得到的重建输出系数和从码流中解码得到的变换系数,作为当前层目标节点的输入系数进行上述相同计算,获取所述目标节点的两个重建输出系数。具体来讲,针对kd树的第n-2层,利用从上一层逆变换得到的输出系数和从码流中解码得到的变换系数(分别为b1,b2),计算两个输出系数a1,a2,计算公式为a1=(b1 b2),a2=(b1-b2)。a1,a2将作为第n-1层逆处理的输入系数。针对kd树的第n-1层,对于叶节点,从上一层得到的输出系数即为该节点的重建属性系数。对于非叶节点,利用从上一层逆变换得到的输出系数和从码流中解码得到的变换系数(分别为b1,b2),计算两个输出系数a1,a2,计算公式为a1=(b1 b2),a2=(b1-b2)。a1,a2将作为第n层对应叶节点的重建属性系数。
108.在另一些实施方式中,所述n层k-d树结构的n-2层目标节点的重建输出系数的另一种计算方法步骤包括:针对所述n层k-d树结构的n-2层,将层内所有节点作为目标节点,获取所述目标节点在n-1层和n层的k个子叶节点,k为大于等于2小于等于4的整数,对所述目标节点的输入系数进行逆归一化处理,处理方法为乘以再进行逆一维离散余弦变换,获取所述目标节点的k个重建输出系数。
109.具体来讲,逆haar变换结束后,将逆变换得到的输出系数和从码流中解码得到的变换系数,作为n-2层节点的逆变换输入系数进行逆归一化和逆dct变换,得到点云属性的重建值。对n-2层的所有节点进行计算,针对目标节点,获取节点在n-1层和n层的k个子叶节点,k为大于等于2小于等于4的整数。对目标节点的输入系数,记为行向量c

={c1′
,

,ck′
}∈rk,首先进行逆归一化处理,处理方法为:再对行向量c进行逆一维离散余弦变换,获取所述目标节点的k个重建输出系数,记为f∈rk,计算公式为其中逆变换矩阵就是正变换矩阵ak的转置。这k个重建输出系数则为对应子叶节点的重建第一属性系数,即相应的点云属性的重建值。
110.通过上述计算过程,本实施例所有叶节点都计算得到一个重建属性系数,则相应的,可得到点云的所有重建属性值。
111.在本实施例中,设变换节点内的信号为行向量f∈r2(2个子节点),变换后的系数为行向量c∈r2,构建变换矩阵为haar变换和逆haar变换可表示为:
112.c=f
×
a haar变换
113.f=c
×at
逆haar变换。
114.在一些实施方式中,针对颜色属性,发明的变换在yuv空间中有更高的性能,所有如果原始点云的颜色属性位于rgb空间中,本实施例可以首先对属性值进行颜色空间转换。
随后在yuv颜色空间中进行变换。相应的,在解码过程中,逆变换会产生yuv空间中的重建颜色属性值,所有需要逆颜色空间转换,得到在原始点云颜色空间(rgb颜色空间)的重建颜色属性值。
115.在一些实施方式中,所述对点云码流进行解码,得到点云变换系数的步骤包括:对所述点云码流进行熵解码,得到所述点云变换系数;或者,对所述点云码流进行熵解码,得到量化变换系数;对所述量化变换系数进行逆量化得到所述点云变换系数。
116.在一些实施方式中,由于现有变换方法普遍无法实现无损的属性解码,所以本实施例设计了解码残差处理模块来解决这个问题,所述解码残差处理模块在解码时,采用以下三种方式:对点云码流进行熵解码得到属性残差值;计算所述属性残差值与所述变换重建点云属性值的和值作为点云属性重建值;或者,对点云码流进行熵解码得到属性量化残差系数;对所述属性量化残差系数进行逆量化得到逆量化属性残差值;计算所述逆量化属性残差值、所述变换重建点云属性值的和值作为点云属性重建值;或者,对点云码流进行熵解码得到属性量化残差系数及属性量化残差余数;对所述属性量化残差系数进行逆量化得到逆量化属性残差值;计算所述属性量化残差余数、所述逆量化属性残差值、所述变换重建点云属性值的和值作为点云属性重建值。
117.具体来讲,如图6所示,本实施例首先利用逆变换方法对点云进行重建得到重建点云属性值,将重建点云属性值和量化残差系数码流作为输入数据传入解码残差处理模块。模块内,首先对量化残差系数码流进行熵解码,得到属性量化残差系数。接着对属性量化残差系数进行逆量化得到重建属性残差值,最后将重建属性残差值与重建点云属性值相加得到最终的点云属性解码结果。
118.对于无损条件(lossless),可以用以下两种方法处理:方法一:针对已有的属性残差值码流,首先对其进行熵解码得到属性残差值,无需使用逆量化处理,直接将属性残差值与重建点云属性值相加得到最终的点云属性解码结果;方法二:针对已有的属性量化残差余数码流和属性量化残差系数码流,首先分别进行熵解码,得到属性量化残差余数和属性量化残差系数。接着对他们分别进行逆量化,得到重建属性残差余数和重建属性残差系数。最后将重建属性残差余数,重建属性残差系数和重建点云属性值相加得到最终的点云属性解码结果。
119.在一些实施方式中,对于颜色的解码,解码残差处理模块需要在原始点云的颜色空间中进行。如果逆变换产生的点云重建属性值与原始点云的属性值位于不同的颜色空间,例如,原始点云具有rgb颜色空间的属性值,而逆变换产生的为yuv颜色空间的属性值。则需要对逆变换产生的点云重建属性值进行颜色空间转换,转换到和原始点云相同的颜色空间中。
120.在一些实施方式中,还提供一种基于哈尔小波变换的点云属性解码设备,其中,包括处理器、存储器、编码模块和总线;
121.所述存储器上存储有可被所述处理器执行的计算机可读程序;
122.所述总线实现处理器和存储器之间的连接通信;
123.所述处理器用于调用所述编码模块从而执行所述计算机可读程序时实现如本发明所述方法中的步骤。
124.进一步地,本发明基于pcem软件v0.5版本,测试了本实施例方法与anchor对比的
实验结果,结果如表1-表4所示。
125.表1为在有限有损几何、有损属性条件下的亮度、色度以及反射率的率失真数据对比表
[0126][0127]
表2为在无损几何、有损属性条件下的亮度、色度以及反射率的率失真数据对比表
[0128][0129]
表3为在无损几何、有限有损属性条件下的红(r)、绿(g)、蓝(b)三个颜色通道的颜色属性以及反射率的率失真数据对比表
[0130][0131]
表4为在无损几何、无损属性条件下的颜色及反射率的比特率数据对比表
[0132][0133]
表1-4中的数据显示,相比测试平台pcem的基准结果,在有限有损几何、有损属性条件下,在无损几何、有损属性条件下,对于反射率属性,本发明的端到端属性率失真分别减少了12.4%,2.6%;对于亮度属性,本发明的端到端属性率失真分别减少了35.4%,53.8%;对于色度cb属性,本发明的端到端属性率失真分别减少了70.6%,61.9%;对于色度cr属性,本发明的端到端属性率失真分别减少了69.0%,63.8%;在无损几何、有限有损属性条件下,对于反射率属性,本发明的端到端豪斯多夫属性率失真减少了7.0%;对于红(r)、绿(g)、蓝(b)三个颜色通道的颜色属性,本发明的端到端豪斯多夫属性率失真都减少了20.8%;在无损几何、无损属性条件下,对于反射率属性,本发明的反射率比特率是基准结果的82.5%;对于颜色属性,本发明的颜色比特率是基准结果的94.5%。
[0134]
综上所述,本发明利用k-d树结构实现了点云数据的哈尔小波变换,其有效解决了点云数据稀疏特性的问题,能够提升子节点之间属性相关性地利用,从而有效提高点云属性压缩性能;本发明利用设计的编码残差处理模块以及解码残差处理模块,可实现无损压缩和以豪斯多夫(hausdorff)误差为评价标准的近无损压缩(limited-lossy);对于颜色属性,在yuv空间中进行变换压缩处理,在rgb空间中进行残差压缩处理,可实现高效的压缩;本发明提供的所述编码残差处理模块以及解码残差处理模块与变换压缩方法的结和方式,具有相互独立性,用户可根据需求决定是否使用残差编码;且编码残差处理模块及解码残差处理模块可作为通用的后置处理技术,和其他压缩方法相结合,来实现无损和近无损的属性压缩。
[0135]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献