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

技术编号:33720107 阅读:22 留言:0更新日期:2022-06-08 21:11
本申请公开了用于对点云进行编码和解码的方法以及编码器(10)和解码器(20)。用于对点云进行编码以生成压缩点云数据(12,28)的比特流(14,26)的方法,其中,点云的几何结构是通过基于八叉树的结构表征的,该结构包括通过递归地将包含点云的体空间分割成子体而具有父子关系的多个节点,每个子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:确定当前节点(120)的上下文信息,所述上下文信息包括平面位置上下文信息,其中,根据与所述当前节点(120)直接相邻的相邻节点(126)的占位以及与所述当前节点(120)具有相同父节点(132)的至少一个同级节点(134)的占位确定所述当前节点(120)的平面位置上下文信息(S110);以及基于确定的上下文信息至少对父节点的占位模式进行熵编码以生成用于比特流的编码数据(S120)。(S120)。(S120)。

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


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

技术介绍

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

技术实现思路

[0024]在本专利技术的一方面,提供一种用于对点云进行编码以生成压缩点云数据的比特流的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:
[0025]确定当前节点的上下文信息,所述上下文信息包括针对至少一个几何轴的平面位置上下文信息,其中,根据在所述至少一个几何轴上与所述当前节点直接相邻的相邻节点的占位以及与所述当前节点具有相同父节点的至少一个同级节点的占位来确定所述当前节点在所述至少一个几何轴上的平面位置上下文信息;以及
[0026]基于确定的上下文信息对所述当前节点的占位信息进行熵编码,以产生所述比特流的编码数据。
[0027]其中,所述上下文信息包括当前节点的平面位置上下文信息,其指示当前节点中的平面位置的可能性,即当前节点中的平面位置的预测,其中,基于相邻节点的占位和至少一个同级节点的占位来确定平面位置上下文信息。该相邻节点位于树结构的与当前节点相同的深度D处,并且与当前节点直接相邻,即与当前节点共享公共表面。其中,相邻节点具有与当前节点不同的父节点(在深度D

1处)。此外,根据至少一个或多个同级节点的占位来确
定平面位置上下文信息。至少一个或多个同级节点与当前节点共享公共父节点,并且位于树结构中的相同深度D上。其中,占位指示相应节点是否包括点云的至少一个点。平面位置上下文信息包括关于由通过当前节点的点云表征的可能平面位置或表面位置的信息。其中,考虑关于当前节点的至少一个同级节点和一个相邻节点的占位的信息,以确定用于熵编码的上下文信息。因此,可以对当前子节点的占位做出更可靠的预测,这可以用于通过熵编码器来增加数据的缩减量。以这种方式,遍历完整树以确定每个节点的占位,并为熵编码器提供足够的上下文信息,从而减少用于表征点云所需的数据量。
[0028]优选地,沿着所考虑的几何轴直接在当前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于对点云进行编码以生成压缩点云数据的比特流的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:确定当前节点的上下文信息,所述上下文信息包括针对至少一个几何轴的平面位置上下文信息,其中,所述当前节点在所述至少一个几何轴上的平面位置上下文信息是根据在所述至少一个几何轴上与所述当前节点直接相邻的相邻节点的占位以及与所述当前节点具有相同父节点的至少一个同级节点的占位来确定的;以及基于确定的上下文信息对所述当前节点的占位信息进行熵编码,以产生所述比特流的编码数据。2.一种用于对压缩点云数据的比特流进行解码以生成重构点云的方法,其中,所述点云的几何结构是通过基于八叉树的结构表征的,所述基于八叉树的结构包括通过递归地将包含所述点云的体空间分割成子体而具有父子关系的多个节点,每个所述子体与基于八叉树的结构的节点相关联,所述方法包括以下步骤:基于当前节点的上下文信息对所述比特流进行熵解码,其中,所述上下文信息包括针对至少一个几何轴的平面位置上下文信息,并且所述当前节点在所述至少一个几何轴上的平面位置上下文信息是根据在所述至少一个几何轴上与所述当前节点直接相邻的相邻节点的占位以及与所述当前节点具有相同父节点的至少一个同级节点的占位来确定的。3.根据权利要求1或2所述的方法,其中,沿几何轴直接在所述当前节点之前或之后的所述相邻节点与所述当前节点共享面。4.根据权利要求1至3中任一项所述的方法,其中,所述至少一个同级节点包括以下之一:沿着几何轴直接在所述当前节点之前且与所述当前节点共享面的一个同级节点,以及优选地,所述一个同级节点的子级节点的占位;或者沿着所述几何轴直接在所述当前节点之后的处于平面中的一组四个同级节点,其中,所述平面垂直于所述几何轴。5.根据权利要求1至4中任一项所述的方法,其中,所述上下文信息是沿着全部三个几何轴确定的。6.根据权利要求1至5中任一项所述的方法,其中,如果所述当前节点位于所述父节点的低平面,所述平面位置上下文信息是根据所述相邻节点的一组子级节点的占位以及位于所述父节点的高平面中的一组四个同级节点的占位确定的,其中,每个所述子级节点与所述当前节点共享面。7.根据权利要求6所述的方法,其中,如果所述相邻节点的所述一组子级节点中的至少一个子级节点被占位,并且所述一组同级节点中的所有同级节点未被占位,所述平面位置上下文信息包括平面位于所述当前节点中的可能性和低平面位置的可能性;如果所述相邻节点的所述一组子级节点中的所有子级节点未被占位,并且所述一组同级节点中的至少一个同级节点被占位,则所述平面位置上下文信息包括平面位于所述当前节点中的可能性和高平面位置的可能性;
如果所述相邻节点的所述一组子级节点中的所有子级节点未被占位,并且所述一组同级节点中的所有同级节点未被占位,则所述平面位置上下文信息是未知的;以及如果所述相邻节点的所述一组子级节点中的至少一个子级节点被占位,并且所述一组同级节点中的至少一个同级节点被占位,则所述平面位置上下文信息是未知的。8.根据权利要求6所述的方法,其中,对于已编码节点的占位不可用的情况,如果所述相邻节点未被占位并且所述一组同级节点中的所有同级节点未被占位,则所述平面位置上下文信息包括平面位于所述当前节点中的可能性和低平面位置的可能性;如果所述相邻节点未被占位并且所述一组同级节点中的至少一个同级节点被占位,则所述平面位置上下文信息包括平面位于当前节点中的可能性和高平面位置的可能性;如果所述相邻节点未被占位并且所述一组同级节点中的所有同级节点未被占位,则所述平面位置上下...

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

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

1