编码和解码方法、编码器、解码器以及软件技术

技术编号:27540156 阅读:41 留言:0更新日期:2021-03-03 11:34
本申请公开了用于对点云进行编码和解码的方法以及编码器和解码器。用于对点云进行编码以生成压缩点云数据的比特流的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:确定编码方式,其中,编码方式包括平面编码方式和角编码方式;获得当前子节点的编码上下文信息,其中,如果编码方式为平面编码方式,则编码上下文信息包括平面上下文信息,其中,当前子节点的平面上下文信息根据当前父节点的占位模式和紧邻当前父节点的至少一个相邻父节点的占位模式来确定;如果编码方式为角度编码方式,则当前子节点的编码上下文信息包括当前父节点的平面信息和与当前父节点相邻的垂直相邻父节点的占位。最后基于所确定的编码上下文信息对当前子节点的占位进行熵编码以产生针对比特流的编码数据。对比特流的编码数据。对比特流的编码数据。

【技术实现步骤摘要】
【国外来华专利技术】编码和解码方法、编码器、解码器以及软件


[0001]本申请总体涉及点云压缩。本申请尤其涉及用于改进点云的熵编码的编码和解码方法以及编码器和解码器。

技术介绍

[0002]3D点云替代3D网格,最近成为流行的3D媒体信息表征。与点云数据相关联的用例非常多样化,包括:
[0003]·
电影制作中的3D资产,
[0004]·
用于实时3D沉浸式临场感或虚拟现实(VR)应用的3D资产,
[0005]·
3D自由视点视频(例如,用于观看体育运动),
[0006]·
地理信息系统(制图),
[0007]·
文化遗产(以数字形式存储易损资产),
[0008]·
自动驾驶(大型3D环境映射),等等。
[0009]点云是3D空间中的点集,每个点都具有关联的属性,例如颜色、材质特性等。可利用点云将对象或场景重构为这些点的组合。可利用具有不同设置的多个相机和深度传感器来采集点云,点云可由数千个甚至多达数十亿个点组成,以便真实地再现重构的场景。
[0010]需要存储点云的各个点的位置(通常将X、Y、Z信息编码为32位或64位的浮点数)及其属性(通常至少呈现24位编码的RGB颜色)。有时点云中有数十亿个点,因而很容易解释点云的原始数据可多达数千兆字节。因此,迫切需要压缩技术以减少表征点云所需的数据量。
[0011]针对点云压缩,开发了两种不同的方法:
[0012]首先,在基于视频的点云压缩(VPCC)方法中,点云压缩通过以下方式进行:使点云在3个不同的轴X、Y、Z和不同深度上进行多次投影,从而所有的点都出现在一个投影图像中。然后,将投影得到的多个投影图像处理成多个部分(patch)以消除冗余,并重新排列得到最终图像,在该最终图像中附加的元数据被用来将像素位置转换为空间中的点位置。然后,使用传统的图像/视频MPEG编码器来执行压缩。这种方法的优势在于,其再利用现有的编码器并且自然支持动态点云(使用视频编码器),但是这种方法几乎不适用于稀疏点云,并且预期使用点云专用方法可以提高压缩增益。
[0013]其次,在基于几何结构的点云压缩(GPCC)方法中,点位置(通常称为几何结构)和点属性(颜色、透明度等)被分别编码。为了对几何结构进行编码,使用了八叉树结构。将整个点云适配到一个立方体,不断地将该立方体分割为八个子立方体,直到每个子立方体只包含单个点。因此,点的位置被树的每个节点的占位信息所取代。由于每个立方体只有8个子立方体,所以3比特就足以对占位进行编码,因此对于深度D的树,需要3
D
比特来编码一个点的位置。虽然这种变换单独并不足以提供显著的压缩增益,但应注意的是,由于是树结构,因此很多点共享相同的节点值,而且由于使用了熵编码器,因此可以显著减少信息量。
[0014]了解到许多点云包括表面,因此在GPCC的当前设计中,引入了平面编码方式来对适用八叉树的此类节点进行更有效的编码。
[0015]因此,引入了标志isPlanar,该标志指示占位子节点是否属于同一水平面。如果isPlanar为真,则利用额外的比特来标志planePosition,以指示该平面是下平面还是上平面。
[0016]通过使用二进制算术编码器对isPlanar标志进行编码,其中8(即,2
×2×
2)比特的上下文信息作为平面上下文信息。此外,如果节点是平面的,则通过使用二进制算术编码器来对平面位置信息进行编码,其中24(即,2
×3×2×
2)比特的上下文信息作为平面位置上下文信息。
[0017]另外,引入了角度编码方式,以使用用于稀疏点云数据的角度上下文来增强平面编码方式,其中,大多数情况下在稀疏点云数据中相邻占位趋向于零(即空)。更具体地,当用减少的上下文信息对planePosition进行编码时,角度编码方式替代上下文信息,并且仍然使用与平面编码方式中相同的上下文模型对isPlanar标志进行算术编码。
[0018]然而,在用于对点云进行编码和解码的当前方法中,未考虑相邻节点的信息。
[0019]因此,本专利技术的目的是提供一种编码和解码方法以及一种编码器和解码器,以能够改进点云的快速且准确的数据压缩。

技术实现思路

[0020]在本专利技术的一方面,提供一种用于对点云进行编码以生成压缩点云数据的比特流的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:
[0021]确定编码方式,其中,编码方式包括平面编码方式和角度编码方式;
[0022]获得当前子节点的编码上下文信息;其中,
[0023]如果编码方式为平面编码方式,则编码上下文信息包括平面上下文信息,其中,当前子节点的平面上下文信息根据当前父节点的占位模式和紧邻当前父节点的至少一个相邻父节点的占位模式来确定;
[0024]如果编码方式为角度编码方式,则当前子节点的编码上下文信息包括当前父节点的平面信息和与当前父节点邻近的垂直相邻父节点的占位;以及
[0025]基于确定的编码上下文信息对当前子节点的占位进行熵编码,以生成用于比特流的编码数据。
[0026]因此,先确定编码方式,根据编码方式确定出上下文信息,该上下文信息包含两种不同的上下文信息,从而进行有效的熵编码。
[0027]其中,对于平面编码方式,当前父节点和相邻父节点处于树的相同深度D。当前父节点和相邻父节点由于其位置而共用一个公共表面。对于当前子节点,其作为当前父节点在树的深度D+1处的直接子节点,平面上下文信息是取决于当前父节点和至少一个相邻父节点的占位模式来确定的。其中,占位模式包括占位子节点在相应父节点内的分布。其中,平面上下文信息包括关于由穿过当前子节点的点云表征的可能平面或表面的信息。因此,关于当前父节点的至少一个紧邻节点的占位模式的信息被考虑为用于熵编码的上下文信息。
[0028]对于角度编码方式,替代地实现了更有效的平面上下文方式。与平面编码方式的
平面上下文信息相比,仅考虑在稀疏分布的云数据中可访问的信息。
[0029]结果是,能够更可靠地预测出当前子节点的占位,该预测结果可以被熵编码器利用以进一步降低数据量。以这种方式,整个树被遍历以确定每个节点的占位,并为熵编码器提供足够的上下文信息。
[0030]优选地,相邻父节点是紧邻当前子节点的节点,其与当前子节点共用一个表面。
[0031]优选地,对于平面编码方式,编码上下文信息包括平面上下文信息,其中,当前子节点的唯一平面上下文信息是根据当前父节点的占位模式以及紧邻当前父节点的至少一个相邻父节点的占位模式来确定。
[0032]优选地,对于角度编码方式,当前子节点的编码上下文信息包括当前父节点的平面信息以及与当前父节点邻近的垂直相邻父本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于对点云进行编码以生成压缩点云数据的比特流的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与所述基于八叉树的结构的节点相关联,所述方法包括以下步骤:确定编码方式,其中,所述编码方式包括平面编码方式和角度编码方式;获得当前子节点的编码上下文信息,其中如果所述编码方式为所述平面编码方式,则编码上下文信息包括平面上下文信息,其中,所述当前子节点的平面上下文信息根据当前父节点的占位模式和紧邻所述当前父节点的至少一个相邻父节点的占位模式来确定;如果所述编码方式为所述角度编码方式,则所述当前子节点的编码上下文信息包括所述当前父节点的平面信息和与所述当前父节点相邻的垂直相邻父节点的占位,基于确定的编码上下文信息对所述当前子节点进行熵编码,以生成针对所述比特流的编码数据。2.一种用于对压缩点云数据的比特流进行解码以生成重构点云的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与所述基于八叉树的结构的节点相关联,所述方法包括以下步骤:确定编码方式,其中,所述编码方式包括平面编码方式和角度编码方式;获得当前子节点的编码上下文信息,其中如果所述编码方式为所述平面编码方式,则编码上下文信息包括平面上下文信息,其中,所述当前子节点的平面上下文信息根据当前父节点的占位模式和紧邻所述当前父节点的至少一个相邻父节点的占位模式来确定;如果所述编码方式为所述角度编码方式,则所述当前子节点的编码上下文信息包括所述当前父节点的平面信息和与所述当前父节点相邻的垂直相邻父节点的占位;以及基于所述当前子节点的编码上下文信息对所述比特流进行熵解码以重构所述点云。3.如权利要求1或2所述的方法,其特征在于,如果所述编码方式为所述平面编码方式,则所述编码上下文信息包括平面位置上下文信息,其中,所述平面位置上下文信息包括以下项中的一个或多个:与所述基于八叉树的结构中的相同深度D处的、相应父节点中的相同坐标上的最近已编码节点之间的距离d;所述基于八叉树的结构中的相同深度d处的、相应父节点中的相同坐标上的最近已编码节点的平面位置;根据紧邻所述当前父节点的至少一个相邻父节点的占位模式确定的所述当前子节点的平面位置。4.如权利要求3所述的方法,其特征在于,如果在所述基于八叉树的结构中的相同深度D处的、相应父节点中的相同坐标上不存在最近已编码节点,则所述平面位置上下文信息仅包括根据紧邻所述当前节点的至少一个相邻父节点的占位模式确定的所述当前子节点的平面位置。5.如权利要求3或4所述的方法,其特征在于,如果所述编码方式为所述角度编码方式
并且所述当前子节点不适用所述角度编码方式,则所述编码上下文信息包括所述平面位置上下文信息,其中,所述平面位置上下文信息包括以下项中的一个或多个:与所述基于八叉树的结构中的相同深度D处的、相应父节点中的相同坐标上的最近已编码节点之间的距离d;所述基于八叉树的结构中的相同深度d处的、相应父节点中的相同坐标上的最近已编码节点的平面位置;根据紧邻所述当前父节点的至少一个相邻父节点的占位模式确定的所述当前子节点的平面位置。6.如权利要求1至5中任一项所述的方法,其特征在于,为了根据所述至少一个相邻父节点的占位模式确定所述平面上下文信息和所述平面位置上下文信息,所述当前子节点相对于所述当前父节点的当前平面位置被确定,其中,所述当前平面位置包括高平面位置和低平面位置。7.如权利要求6所述的方法,其特征在于,如果所述当前平面位置为低平面位置,则所述平面上下文信息和所述平面位置上下文信息是根据以下确定的:所述相邻父节点的紧邻所述当前父节点的第一组四个子节点的占位,以及所述当前父节点的与所述第一组正相对的第二组四个子节点的占位。8.如权利要求7所述的方法,其特征在于,如果所述第一组的至少一个子节点被占位并且所述第二组未被占位,则所述平面上下文信息包括平面的可能性,并且所述平面位置上下文信息包括低平面位置的可能性;或者如果所述第一组未被占位并且所述第二组的至少一个子节点被占位,则所述平面上下...

【专利技术属性】
技术研发人员:张伟玛丽卢克
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1