当前位置: 首页 > 专利查询>苹果公司专利>正文

使用具有切片的八叉树的点云压缩制造技术

技术编号:37153512 阅读:27 留言:0更新日期:2023-04-06 22:12
编码器被配置为使用八叉树几何压缩技术来压缩点云几何信息,该八叉树几何压缩技术利用在大小上对应于数据传输单元的切片。在一些实施方案中,后续切片可被设置为使用重置熵上下文,或者可被设置为使用针对前一切片保存的熵上下文。在一些实施方案中,该前一切片的熵上下文可用于除了正被评估的该后续切片的该紧接在前的切片之外的切片,使得如果该紧接在前的切片在传输中丢失(或如果该紧接在前的切片和该后续切片正被并行地评估),则仍可在不依赖于该紧接在前的切片的情况下确定该后续切片的熵上下文。解码器被配置为基于由该编码器编码的位流来重构点云。器编码的位流来重构点云。器编码的位流来重构点云。

【技术实现步骤摘要】
【国外来华专利技术】使用具有切片的八叉树的点云压缩


[0001]本公开整体涉及包括多个点的点云的压缩和解压缩,每个点具有相关联的空间和/或属性信息。

技术介绍

[0002]各种类型的传感器(诸如光检测和测距(LIDAR)系统、3D相机、3D扫描仪等)可以捕获指示点在三维空间中的位置(例如在X、Y和Z平面中的位置)的数据。另外,此类系统除了关于相应点的空间信息之外还可捕获属性信息,诸如颜色信息(例如,RGB值)、强度属性、反射率属性、运动相关属性、模态属性或各种其他属性。在一些情况下,可以将附加属性分配给相应点,诸如捕获该点时的时间戳。由此类传感器捕获的点可以构成“点云”,该“点云”包括各自具有相关联的空间信息和一个或多个相关联的属性的一组点。在一些情况下,点云可以包括数千个点、数十万个点、数百万个点或甚至更多的点。另外,在一些情况下,与正由一个或多个传感器捕获的点云不同,可以例如在软件中生成点云。在任一种情况下,此类点云可包括大量数据,并且存储和传输这些点云可能成本高且耗时。

技术实现思路

[0003]在一些实施方案中,解码器存储程序指令,这些程序指令当由一个或多个处理器执行时使得处理器接收位流,该位流包括针对已被压缩的点云生成的八叉树结构的节点的多个节点组。八叉树结构的节点限定点云的点在三维空间中的空间位置,并且每个节点组包括点云的八叉树结构的节点集合的子集。使用所接收到的位流,解码器的程序指令当由该一个或多个处理器执行时,还使得该一个或多个处理器基于位流的相应节点组中包括的节点来重构点云的几何结构。为了执行重构,程序指令使得该一个或多个处理器根据广度优先扫描顺序来扫描给定节点组内的节点,并且根据深度优先扫描顺序来选择要评估的下一个后续节点组。例如,通过允许熵编码器使用被确定用于相邻节点的上下文来通知熵解码过程,根据广度优先扫描顺序来扫描节点组内的节点可提高用于对节点组的节点的经熵编码占用信息进行解码的解码效率。同时,将广度优先扫描顺序限制于节点组中包括的节点可减少解码器处缓冲正被评估的大量节点(诸如,确定熵解码上下文)的存储器要求。另外,按深度优先扫描顺序选择要评估的下一个节点组可提高压缩/经编码的点云的弹性。例如,可依赖于比在根据广度优先扫描顺序来选择用于评估的节点组的情况下产生的节点组更少的更高层级节点组来到达叶节点。叶节点可限定要被包括在重构点云中的输出点的位置。因此,依赖于更少的节点组来到达叶节点可降低由于叶节点所依赖的居间节点组例如在压缩点云的传输中丢失而不能确定输出点的概率。
[0004]在一些实施方案中,编码器存储程序指令,这些程序指令当由一个或多个处理器执行时使得这些处理器接收要压缩的点云,其中该点云包括三维空间中的多个点。为了压缩点云,编码器的程序指令使得该一个或多个处理器生成包括八叉树结构的节点的占用信息的八叉树结构,其中该占用信息指示在该八叉树结构的给定层级处的立方体或子立方体
是否被点云的一个或多个点占用。编码器的程序指令还使得该一个或多个处理器将八叉树的节点分组为多个节点组,其中每个节点组包括高八叉树结构的节点的子集。另外,编码器的程序指令使得该一个或多个处理器生成位流,该位流包括:节点组中包括的八叉树的节点的经编码占用信息,其中根据广度优先扫描顺序来组织给定节点组内的节点,并且其中根据深度优先扫描顺序来在节点组之间选择要评估的后续节点组的节点的占用信息。
[0005]在一些实施方案中,解码器另外或另选地存储程序指令,这些程序指令当由一个或多个处理器执行时使得该一个或多个处理器接收位流,该位流包括点云的八叉树结构的切片,其中该点云的八叉树结构包括限定该点云中的点的空间位置的节点集合,并且其中该切片包括八叉树结构的节点集合的子集和指示切片的结束的标志。位流还包括点云的八叉树结构的两个或更多个附加切片,其中该两个或更多个附加切片各自包括该八叉树结构的节点集合的附加相应子集以及指示该两个或更多个附加切片的相应结束的附加相应标志。在一些实施方案中,该切片或该两个或更多个附加切片可各自包括多个节点组。另外,位流还包括:对于至少该两个或更多个附加切片,相应切片的节点中的至少一个节点在八叉树结构中的位置的指示,其中所指示位置使用以下项来指示:对八叉树结构的特定树层级和该树层级内的空间位置的引用或对八叉树结构的特定树层级和该树层级内的节点索引位置的引用。使用所接收到的位流,解码器的程序指令还使得该一个或多个处理器重构点云的几何结构,其中为了重构该几何结构,该两个或更多个附加切片的相应节点子集被解码器基于位流中包括的其相应指示位置而定位在八叉树结构中。例如,一旦切片的至少一个节点被正确地定位在八叉树结构中,则该切片的其他节点在八叉树结构中的位置可由解码器基于这些节点与切片的被指示了在八叉树结构中的位置的节点的关系来确定。以这种方式,如果切片丢失,或者如果切片被并行地解码,则可基于切片的该至少一个节点的所指示位置将切片的节点放置在八叉树结构中的正确位置中。
[0006]在一些实施方案中,编码器另外或另选地存储程序指令,这些程序指令当由一个或多个处理器执行时使得该一个或多个处理器接收要压缩的点云,其中该点云包括三维空间中的多个点。编码器的程序指令还使得该一个或多个处理器生成包括八叉树结构的节点的占用信息的八叉树结构,其中该占用信息指示:在八叉树结构的给定层级处,该八叉树的在该给定层级处的立方体或子立方体是否被点云的一个或多个点占用。另外,编码器的程序指令使得该一个或多个处理器将八叉树结构的节点组织成多个切片,该多个切片包括:八叉树结构的第一切片,该第一切片包括八叉树结构的节点集合的子集;和八叉树结构的两个或更多个附加切片,其中该两个或更多个附加切片各自包括该八叉树结构的节点集合的附加相应子集。另外,编码器的程序指令使得该一个或多个处理器对第一切片和该两个或更多个附加切片中包括的八叉树的节点的占用信息进行编码,并且生成针对点云的压缩版本的位流。该位流包括:第一切片中包括的节点的经编码占用信息和指示第一切片的结束的标志,以及该两个或更多个附加切片中包括的节点的经编码占用信息和指示该两个或更多个附加切片的相应结束的附加相应标志。另外,该位流包括:对于至少该两个或更多个附加切片,相应切片的节点中的至少一个节点在八叉树结构中的位置的指示。使用对八叉树结构的特定树层级和该树层级内的空间位置的引用或对八叉树结构的特定树层级和该树层级内的节点索引位置的引用来指示该指示。
附图说明
[0007]图1示出了根据一些实施方案的系统,该系统包括捕获关于点云的点的信息的传感器和压缩点云的属性信息和/或空间信息的编码器,其中压缩的点云信息被发送至解码器。
[0008]图2示出了根据一些实施方案的简化八叉树结构的示例。
[0009]图3示出了根据一些实施方案的八叉树结构的节点的示例性广度优先扫描顺序。
[0010]图4示出了根据一些实施方案的八叉树结构的节点的示例性深度优先扫描顺序。
[0011]图5示出了根据一些实施方案的被分组为多个节点组的八叉树结构的节点。
[0012]图6示出了根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种设备,所述设备包括:存储程序指令的存储器;和一个或多个处理器,其中所述程序指令当使用所述一个或多个处理器来执行时,使得所述一个或多个处理器:接收位流,所述位流包括:点云的八叉树结构的切片,其中所述点云的所述八叉树结构包括限定所述点云中的点的空间位置的节点集合,并且其中所述切片包括所述八叉树结构的所述节点集合的子集和指示所述切片的结束的标志;所述点云的所述八叉树结构的两个或更多个附加切片,其中所述两个或更多个附加切片各自包括所述八叉树结构的所述节点集合的附加相应子集以及指示所述两个或更多个附加切片的相应结束的附加相应标志;并且其中至少所述两个或更多个附加切片包括:所述相应切片的所述节点中的至少一个节点在所述八叉树结构中的位置的指示,其中所指示位置使用以下项来指示:对所述八叉树结构的特定树层级和所述树层级内的空间位置的引用;或者对所述八叉树结构的特定树层级和所述树层级内的节点索引位置的引用;以及基于所述位流来重构所述点云的几何结构,其中为了重构所述几何结构,所述两个或更多个附加切片的所述相应节点子集基于其相应指示位置而定位在所述八叉树结构中。2.根据权利要求1所述的设备,其中所述两个或更多个附加切片还包括:指示所述相应切片相对于所述八叉树结构的所述切片中的其他切片的顺序的索引值。3.根据权利要求2所述的设备,其中所述程序指令当使用所述一个或多个处理器来执行时,使得所述一个或多个处理器:确定所述顺序中的给定切片缺失;以及基于针对所述两个或更多个切片中的下一个未缺失切片的所述位流中包括的所述位置指示,将所述切片中的所述下一个未缺失切片定位在所述八叉树结构中的位置中,其中所述程序指令当使用所述一个或多个处理器来执行时,使得所述一个或多个处理器:针对所述点云的与所述给定缺失切片对应的一部分以不同分辨率重构所述点云的所述几何结构。4.根据权利要求1所述的设备,其中所述程序指令当使用所述一个或多个处理器来执行时,使得所述一个或多个处理器:接收重构所述点云的缩放分辨率版本的指令;以及使用少于所述点云的所述八叉树结构的完整切片集合的切片来重构所述点云;其中以与以下情况的分辨率不同的分辨率重构所述点云的与所述八叉树结构的在所述重构时未使用的切片中包括的节点对应的几何结构:将在所述点云的所述重构时使用所述未使用切片的所述节点。5.根据权利要求1所述的设备,其中所述切片和所述两个或更多个附加切片各自在大小上对应于用于通过网络向解码器传输所述位流的一部分的数据传输单元的大小。
6.根据权利要求5所述的设备,其中:用于通过所述网络传输所述位流的所述数据传输单元是互联网协议(IP)分组;所述切片和所述两个或更多个附加切片是在与IP层分开的应用层处确定的,使得所述切片和所述两个或更多个附加切片各自具有在IP分组的有效载荷内适合的大小;并且响应于丢失的IP分组包括所述点云的所述八叉树结构的所述切片中的一个切片,所述程序指令当在所述一个或多个处理器上执行时,使得所述一个或多个处理器继续重构所述点云而不需要重新传输所述丢失的IP分组。7.根据权利要求1所述的设备,其中已使用熵编码器对所述切片和所述两个或更多个附加切片中包括的所述八叉树结构的所述节点的占用信息进行了编码,并且其中所述程序指令当使用所述一个或多个处理器来执行时,使得所述一个或多个处理器:基于所述经熵编码占用信息正被解码的给定节点的相邻节点的占用信息,确定用于对所述节点中的相应节点的所...

【专利技术属性】
技术研发人员:D
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1