掌桥专利:专业的专利平台
掌桥专利
首页

点云解码装置、点云解码方法及程序

文献发布时间:2023-06-19 19:07:35


点云解码装置、点云解码方法及程序

技术领域

本发明涉及一种点云解码装置、点云解码方法及程序。

背景技术

在非专利文献1中,公开了一种在对点云数据的各点的位置信息进行解码之后,在对点云数据的各点的属性信息进行解码之前根据所述位置信息对点云数据的各点进行排序的技术。

现有技术文献

非专利文献

非专利文献1:国际标准化组织/国际电工委员会(ISO/IEC)23090-9DIS基于几何(Geometry-based)的PCC(点云压缩)文本、国际标准化组织/国际电工委员会/JTC1/SC29/WG11 N19088

非专利文献2:[G-PCC][新建议(New Proposal)]预测性几何编码(PredictiveGeometry Coding)、国际标准化组织/国际电工委员会JTC1/SC29/WG11 m51012

发明内容

发明要解决的课题

然而,在现有技术中,在根据位置信息对点云数据的各点进行排序的情况下,存在如果对所有点云的点的位置信息进行的解码没有完成,则不能开始对属性信息进行解码的问题。

另外,在现有技术中,在省略了排序处理的情况下,存在属性信息的解码处理中的点云的处理顺序没有规定的问题。

因此,本发明是鉴于上述问题而作出的,其目的在于,提供一种点云解码装置、点云解码方法及程序,即使在对属性信息进行解码时没有执行排序处理的情况下,也能够通过唯一地确定进行属性信息的解码处理的顺序,将解码后的位置信息与属性信息建立唯一的对应。

用于解决课题的手段

本发明的第一特征是点云解码装置,其主旨在于,具备树合成部,其构成为生成与节点的八个子节点对应的掩码平面(Mask_planar),所述树合成部构成为在所述节点被四叉树分割或二叉树分割的情况下,将与属于接近未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“0”,将与属于远离未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“1”。

本发明的第二特征是点云解码装置,其主旨在于,具有树合成部,其构成为生成表示能否在节点的每个轴方向上应用平面模式(planar mode)的标志,所述树合成部构成为在所述节点被四叉树或二叉树分割的情况下,将表示能否在未发生分割的轴方向上应用对应的所述平面模式的标志的值设定为表示不能应用所述平面模式的值。

本发明的第三特征是点云解码方法,其主旨在于,具备生成与节点的八个子节点对应的掩码平面的工序,在所述工序中,在所述节点被四叉树分割或二叉树分割的情况下,将与属于接近未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“0”,将与属于远离未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“1”。

本发明的第四特征是点云解码方法,其主旨在于,具备生成表示能否在节点的每个轴方向上应用平面模式的标志的工序,在所述工序中,在所述节点被四叉树或二叉树分割的情况下,将表示能否在未发生分割的轴方向上应用对应的所述平面模式的标志的值设定为表示不能应用所述平面模式的值。

本发明的第五特征是程序,其由点云解码装置使用,其主旨在于,使计算机执行生成与节点的八个子节点对应的掩码平面的工序,在所述工序中,在所述节点被四叉树分割或二叉树分割的情况下,将与属于接近未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“0”,将与属于远离未分割的轴方向的原点的一方的平面的子节点对应的所述掩码平面的值设定为“1”。

本发明的第六特征是程序,其由点云解码装置使用,其主旨在于,使计算机执行构成为生成表示能否在节点的每个轴方向上应用平面模式的标志的工序,在所述工序中,在所述节点被四叉树或二叉树分割的情况下,将表示能否在未发生分割的轴方向上应用对应的所述平面模式的标志的值设定为表示不能应用所述平面模式的值。

发明效果

根据本发明,能够提供一种点云解码装置、点云解码方法及程序,即使在对属性信息进行解码时没有执行排序处理的情况下,也能够通过唯一地确定进行属性信息的解码处理的顺序,将解码后的位置信息与属性信息建立唯一的对应。

附图的简单说明

图1是表示一实施方式所涉及的点云处理系统10的结构的一例的图。

图2是表示一实施方式所涉及的点云解码装置200的功能块的一例的图。

图3是一实施方式所涉及的点云解码装置200的几何信息解码部2010所接收的编码数据(位流)的结构的一例。

图4是一实施方式所涉及的GPS2011的语法结构的一例。

图5是表示一实施方式所涉及的点云解码装置200的树合成部2020的处理的一例的流程图。

图6是表示图5的步骤S506中的节点信息解码处理的一例的流程图。

图7是表示图5的步骤S506中的节点信息解码处理的一例的流程图。

图8是表示图6的步骤S601中的掩码平面的设定方法的一例的图。

图9是一实施方式所涉及的点云解码装置200的属性信息解码部2060所接收的编码数据(位流)的结构的一例。

图10是一实施方式所涉及的APS2061的语法结构的一例。

图11是说明一实施方式所涉及的点云解码装置200的LoD计算部2090的处理步骤的一例的流程图。

具体实施方式

以下,一边参照附图一边对本发明的实施方式进行说明。此外,以下的实施方式中的构成要素能够适当地与已知的构成要素等替换,另外,能够进行包括与其他已知的构成要素组合的各种变形。因此,技术方案所记载的发明内容并不受以下实施方式记载的限定。

(第1实施方式)

以下,参照图1~图11,对本发明的第1实施方式所涉及的点云处理系统10进行说明。图1是表示本实施方式所涉及的实施方式所涉及的点云处理系统10的图。

如图1所示,点云处理系统10具有点云编码装置100和点云解码装置200。

点云编码装置100构成为通过对输入点云信号进行编码而生成编码数据(位流)。点云解码装置200构成为通过对位流进行解码而生成输出点云信号。

此外,输入点云信号和输出点云信号由点云内的各点的位置信息和属性信息构成。属性信息例如是各点的颜色信息、反射率。

在此,所述位流可以从点云编码装置100变换传输路径发送至点云解码装置200。另外,位流可以在被存储于存储介质之后,从点云编码装置100提供至点云解码装置200。

(点云解码装置200)

以下,参照图2,对本实施方式所涉及的点云解码装置200进行说明。图2是表示本实施方式所涉及的点云解码装置200的功能块的一例的图。

如图2所示,点云解码装置200具有几何信息解码部2010、树合成部2020、近似表面合成部2030、几何信息重构部2040、逆坐标变换部2050、属性信息解码部2060、逆量化部2070、RAHT部2080、LoD计算部2090、逆提升部2100和逆颜色变换部2110。

几何信息解码部2010构成为对输入的从点云编码装置100输出的位流中的与几何信息有关的位流(几何信息位流)的语法进行解码。

解码处理例如是上下文自适应二进制算术解码处理。在此,例如语法包含用于控制位置信息的解码处理的控制数据(标志、参数)。

树合成部2020构成为对输入的由几何信息解码部2010解码而成的控制数据和后述的表示点云存在于树内的哪个节点的占用码(occupancy code)生成点存在于解码对象空间内的哪个区域的树信息。

本处理能够通过递归地重复将解码对象空间按长方体划分,参照占用码判断点是否存在于各长方体内,将存在有点的长方体分割为多个长方体并参照占用码的处理而生成树信息。

在本实施方式中,能够使用被称为“Octree”的方法,在该方法中,递归地进行将上述长方体始终八叉树分割为立方体;以及被称为“QtBt”的方法,在该方法中,除了八叉树分割以外,还进行四叉树分割和二叉树分割。是否使用“QtBt”是被从点云编码装置100侧作为控制数据而进行传输的。

或者,在根据控制数据而以使用后述的预测性编码(Predicitive coding)的方式指定的情况下,树合成部2020构成为基于点云编码装置100中所确定的任意的树结构解码各点的坐标。

近似表面合成部2030构成为使用由树信息合成部2020所生成的树信息生成近似表面信息。

对于近似表面信息而言,例如在对物体的三维点云数据进行解码时等,在点云密集地分布于物体表面这样的情况下,将点云的存在区域近似地表达于小平面而不对各个点云进行解码。

具体而言,近似表面合成部2030例如能够通过被称为“Trisoup”的方法生成近似表面信息。作为“Trisoup”的具体处理,例如能够使用非专利文献1中记载的方法。另外,在对由Lidar等所取得的稀疏的点云进行解码的情况下,能够省略本处理。

几何信息重构部2040构成为基于由树信息合成部2020所生成的树信息和由近似表面合成部2030所生成的近似表面信息重构解码对象的点云数据的各点的几何信息(解码处理所假设的坐标系中的位置信息)。

逆坐标变换部2050构成为对输入的由几何信息重构部2040重构的几何信息进行从解码处理所假设的坐标系向输出点云信号的坐标系的变换并输出其位置信息。

属性信息解码部2060构成为对输入的从点云编码装置100输出的位流中的与属性信息有关的位流(属性信息位流)的语法进行解码。

解码处理例如是上下文自适应二进制算术解码处理。在此,例如语法包含用于控制属性信息的解码处理的控制数据(标志和参数)。

另外,属性信息解码部2060构成为根据解码而成的语法解码量化完毕残差信息。

逆量化部2070构成为基于由属性信息解码部2060解码而成的量化完毕残差信息和由属性信息解码部2060解码而成的作为控制数据之一的量化参数进行逆量化处理,并生成逆量化完毕残差信息。

逆量化完毕残差信息根据解码对象的点云的特征被输出至RAHT部2080和LoD计算部2090中的任一个。通过由属性信息解码部2060解码而成的控制数据指定被输出至哪一个。

RAHT部2080构成为使用被称为RAHT(Region Adaptive HierarcHicalTransform:区域自适应分层变换)的Haar变换(解码处理中的逆Haar变换)中的一种,对输入的由逆量化完毕残差信息所生成的逆量化完毕残差信息和由几何信息重构部2040所生成的几何信息的各点的属性信息进行解码。作为RAHT的具体处理,例如能够使用非专利文献1中记载的方法。

LoD计算部2090构成为生成输入的由几何信息重构部2040所的几何信息的LoD(Level of Detail:细节级别)。

LoD是用于定义参照关系(要参照点和被参照点)的信息,该参照关系用于实现根据某点的属性信息预测另一点的属性信息,对预测残差进行编码或解码这样的预测编码。

换言之,LoD是定义了分级结构的信息,例如将几何信息所含的各点分类为多个层次,使用属于上层次的点的属性信息,对属于下层次的点的属性进行编码或解码。

作为LoD的具体确定方法,例如可以使用非专利文献1中记载的方法。

逆提升部2100构成为使用由LoD计算部2090所生成的LoD和由逆量化完毕残差信息所生成的逆量化完毕残差信息,基于由LoD规定的分级结构对各点的属性信息进行解码。作为逆提升的具体处理,例如能够使用非专利文献1中记载的方法。

逆颜色变换部2110构成为在解码对象的属性信息是颜色信息且在点云编码装置100侧进行了颜色变换的情况下,对从RAHT部2080或逆提升部2100输出的属性信息进行逆颜色变换处理。通过由属性信息解码部2060解码而成的控制数据确定是否执行所述逆颜色变换处理。

点云解码装置200构成为通过以上处理对点云内的各点的属性信息进行解码并输出。

(几何信息解码部2010)

以下,使用图3~图4对由几何信息解码部2010解码的控制数据进行说明。

图3是由几何信息解码部2010接收的编码数据(位流)的结构的一例。

第一:位流也可以包含GPS2011。GPS2011也被称为几何参数集,是与几何信息的解码有关的控制数据的集合。关于具体例将在后面说明。各GPS2011至少包含在存在多个GPS2011的情况下用于识别每一个的GPS id信息。

第二:位流也可以包含GSH2012A/2012B。GSH2012A/2012B也被称为几何切片报头或几何数据单元报头,是与后述的切片对应的控制数据的集合。之后,使用切片的称呼进行说明,但也可以将切片改称为数据单元。关于具体例将在后面说明。GSH2012A/2012B至少包含用于指定与各GSH2012A/2012B对应的GPS2011的GPS id信息。

第三:位流也可以在GSH2012A/2012B之后包含切片数据2013A/2013B。切片数据2013A/2013B中包含对几何信息编码而成的数据。作为切片数据2013A/2013B的一例,可列举出后述的占用码。

如上所述,位流成为GSH2012A/2012B和GPS2011分别与各切片数据2013A/2013B对应的结构。

如上所述,由于在GSH2012A/2012B中,用GPS id信息指定参照哪个GPS2011,因此能够对多个切片数据2013A/2013B使用共同的GPS2011。

换言之,GPS2011不一定需要对每个切片进行传输。例如,如图3所示,也可以设为在GSH2012B和切片数据2013B之前不对GPS2011编码这样的位流的结构。

此外,图3的结构仅仅为一例。只要是GSH2012A/2012B和GPS2011与各切片数据2013A/2013B对应的结构,则也可以追加上述以外的要素作为位流的构成要素。例如,位流也可以包含序列参数组(SPS)。另外,同样地,也可以在传输时整形为与图3不同的结构。而且,也可以与由后述的属性信息解码部2060解码的位流合成作为单一的位流进行传输。

图4是GPS2011的语法结构的一例。

此外,以下说明的语法名称仅仅为一例。只要以下说明的语法的功能相同,则语法名称也可以不同。

GPS2011可以包含用于识别各GPS2011的GPS id信息(gps_geom_parameter_set_id)。

此外,图4的描述符(Descriptor)栏表示各语法如何被编码。ue(v)表示无码0阶指数哥伦布码,u(1)表示1位的标志。

GPS2011可以包含用于控制是否由树合成部2020使用预测性编码的标志(gps_predictive_mode_enabled_flag)。

例如,在gps_predictive_mode_enabled_flag的值是“1”的情况下,可以定义为使用预测性编码,在gps_predictive_mode_enabled_flag的值是“0”的情况下,可以定义为不使用预测性编码。

GPS2011可以包含用于控制是否由树合成部2020使用平面模式的标志(geometry_planar_mode_flag)。

例如,在geometry_planar_mode_flag的值是“1”的情况下,可以定义为使用平面模式,在geometry_planar_mode_flag的值是“0”的情况下,可以定义为不使用平面模式。

GPS2011可以包含用于控制是否由树合成部2020进行“QtBt”的标志(geom_tree_coded_axis_list_present_flag)。

例如,在geom_tree_coded_axis_list_present_flag的值是“1”的情况下,可以定义为进行“QtBt”,在geom_tree_coded_axis_list_present_flag的值是“0”的情况下,可以定义为仅进行“Octree”。

或者,在geom_tree_coded_axis_list_present_flag的值是“1”的情况下,可以定义为也允许立方体以外的长方体为节点形状(即,也使用“QtBt”),在geom_tree_coded_axis_list_present_flag的值是“0”的情况下,可以定义为仅允许立方体为节点形状(即,仅进行“Octree”)。

除了上述的定义以外,只要定义为控制能否使用“QtBt”即可。

此外,geometry_planar_mode_flag和geom_tree_coded_axis_list_present_flag可以定义为仅在不使用预测性编码的情况下解码。

(树合成部2020)

使用图5~图8说明树合成部2020的处理的一例。图5是表示树合成部2020的处理的一例的流程图。

如图5所示,在步骤S501中,树合成部2020判定是否应用预测性编码。

例如,树合成部2020能够参照gps_predictive_mode_enabled_flag的值判断是否应用预测性编码。

树合成部2020在判断为应用预测性编码的情况下,进入步骤S502的处理,在判断为不应用预测性编码的情况下,进入步骤S504的处理。

在步骤S502中,树合成部2020判定相应的切片内所含的所有的点云数据的位置信息的解码是否完成。

步骤S502的处理例如能够通过预先向GSH传输表示所述切片所含的点云数据的数量的信息,并将所述点云数据数与已经处理的数据数进行比较,判定所有的点的处理是否完成。

树合成部2020在完成了所有的点云数据的位置信息(点云的所有的点的位置信息)的解码的情况下,进入步骤S507的处理,结束处理。另一方面,树合成部2020在未完成所有的点云数据的位置信息(点云内的所有的点的位置信息)的解码的情况下,进入步骤S503的处理。

在步骤S503中,树合成部2020通过预测性编码对点云数据的1点的位置信息(点云内的一个点的位置信息)进行解码。

预测性编码是通过对根据解码完毕的点云数据预测到的位置信息与该点云数据的位置信息之间的差进行解码并将两者相加,从而对该点云数据的位置信息进行解码的单元。具体方法例如能够通过非专利文献2中记载的方法实现。

树合成部2020在步骤S503中对点云数据的1点的位置信息进行解码,之后,返回至步骤S502的处理。

树合成部2020在判断为应用预测性编码的情况下,通过重复执行步骤S502和步骤S503,能够对所有的点云数据的位置信息进行解码。

在此,树合成部2020可以按照在步骤S503中解码的顺序以升序对解码位置信息而成的点云数据的各点赋予index(索引)。而且,树合成部2020可以将所述index依次存储于一维的数组数据Order(顺序)[i]。

如上所述,树合成部2020可以构成为,具有作为位置信息的解码方法的单元的预测性编码,基于预测性编码中的解码顺序对所述点云数据的各点授与index,并将所述Index存储于一维的数组。

通过设为这样的结构,在后述的LoD计算部2090未执行排序处理的情况下,也唯一地确定进行属性信息的解码处理的顺序,因此使解码后的位置信息与属性信息唯一地对应。

接着,对不应用预测性编码的情况的处理进行说明。

在步骤S504中,树合成部2020确认应用“Octree”或“QtBt”的情况下的树结构是否完成了所有的Depth的处理。

所述切片的Depth的值例如能够由GSH预先传输。树合成部2020能够通过将所述切片的Depth值与已经处理的Depth的值进行比较,对是否完成所有的Depth的处理进行判定。

树合成部2020在完成了所有的Depth的处理的情况下,进入步骤S507的处理,结束处理。另一方面,树合成部2020在未完成所有的Depth的处理的情况下,进入步骤S505的处理。

在步骤S505中,树合成部2020判定该Depth内的所有的节点的处理是否完成。

该Depth内所含的节点数能够根据之前所处理的Depth中的节点信息解码处理(步骤S506)的结果进行计算。另外,最初处理的Depth所含的节点数是1。

树合成部2020在完成该Depth所含的所有节点的处理的情况下,返回至步骤S504的处理。另一方面,树合成部2020在未完成所有节点的处理的情况下,进入步骤S506的处理。

在步骤S506中,树合成部2020在使用“Octree”的情况下,将该节点以八分割的方式分割为子节点,在使用“QtBt”的情况下,将该节点以八分割、四分割或二分割中的任一方式分割为子节点,基于占用码等信息对表示在各子节点中是否包含点云数据的栅格地图(Occupancy map)进行解码。

例如,在栅格地图的值是“1”的情况下,可以定义为在对应的子节点内存在点云数据。另外,例如在栅格地图的值是“0”的情况下,可以定义为在对应的子节点内不存在点云数据或不存在该子节点本身。

由此,树合成部2020能够通过计数同一Depth内栅格地图的值是“1”的子节点的数量知晓下一处理的Depth内的节点数量。步骤S506的具体处理的例子在后面说明。

树合成部2020在完成一个节点的栅格地图的生成之后,返回至步骤S505的处理。

如上所述,树合成部2020在不应用预测性编码的情况下,通过重复步骤S504~506的处理的同时递归地分割节点直至节点大小为1×1×1为止,从而对点云数据的位置信息进行解码。

在此,可以按照在步骤S506中解码的顺序以升序对解码位置信息而成的点云数据的各点赋予index,并按照index顺序将其存储于一维的数组数据Order[i]。

另外,如上所述,树合成部2020可以对解码对象的点云数据的各点解码位置信息,并按照解码位置信息的顺序以升序对各点授与index。而且,树合成部2020可以构成为将所述index存储于一维的数组。

通过设为这样的结构,在后述的LoD计算部2090未执行排序处理的情况下,也唯一地确定进行属性信息的解码处理的顺序,因此使解码后的位置信息与属性信息唯一地对应。

图6是表示步骤S506中的节点信息解码处理的一例的流程图。

在步骤S601中,树合成部2020判定该节点的每个轴方向(例如,x轴、y轴,z轴的每一个)能否应用平面模式。

树合成部2020在能够应用平面模式的情况下,进入步骤S602的处理。另一方面,树合成部2020在不能应用平面模式的情况下,进入步骤S603的处理。

树合成部2020例如能够通过首先导出表示每个轴方向上能否应用平面模式的eligible_planar_flag,并参照所述eligible_planar_flag的值,从而判定能否应用平面模式。

例如,在eligible_planar_flag的值是“1”时,可以定义为能够在该节点的该轴方向上应用平面模式,在eligible_planar_flag的值是“0”时,可以定义为不能在该节点的该轴方向上应用平面模式。

在此,在该节点的该轴方向未被“QtBt”的应用分割的情况下,可以将对应的eligible_planar_flag的值设定为“0”,即,设定为不能应用平面模式。

即,可以构成为生成表示能否在该节点的每个轴方向上应用平面模式的标志,在该节点被四叉树分割或二叉树分割的情况下,将表示能否在未发生分割的轴方向上应用对应的平面模式的标志的值设定为表示不能应用平面模式的值。

在此,能够使用各种方法确定该节点的该轴方向是否被分割。例如,如非专利文献1所示,可以根据预先确定的规则和节点形状默认地确定,也可以显式地在点云编码装置100侧确定并变换位流传输。

例如,可以将在各Depth中分割哪个轴方向的信息作为各3位(各位与各轴方向分别对应)的语法向GSH传输。例如,可以定义为所述位的值是“1”的轴进行分割,所述位的值是“0”的轴不分割。

在此,例如,在该节点所属的Depth中,在与该轴方向对应的位表示“0(=“不分割”)”的情况下,可以将对应的eligible_planar_flag的值设定为“0”,即,设定为不能应用平面模式。

在步骤S602中,树合成部2020对与平面模式相关联的语法进行解码。例如,树合成部2020对非专利文献1中记载的is_planar_flag、plane_position进行解码。树合成部2020在对所述语法进行解码之后,进入步骤S603的处理。

在步骤S603中,树合成部2020设定掩码平面。

掩码平面是由8位构成的位掩码。各位与在将该节点在三个轴方向(例如x轴、y轴、z轴)上分别2分割的情况下的各子节点对应。例如,当某位的值是“1”时,可以定义为不存在对应的子节点或者在对应的子节点中不存在点云数据。同样地,当某位的值是“0”时,可以定义为在对应的子节点中有可能存在点云数据。

在此,树合成部2020可以设定未产生“QtBt”的分割的轴方向的掩码平面,以便在所述轴方向上观察时,与属于坐标接近原点(0)一方的平面(Lower plane)的子节点对应的位是“0”,与属于坐标远离原点一方的平面(upper plane)的子节点对应的位是“1”。

即,树合成部2020可以构成为生成与各节点的八个子节点对应的掩码平面,在该节点被四叉树分割或二叉树分割的情况下,将与属于接近未分割的轴方向的原点的一方的平面的子节点对应的掩码平面的值设定为“0”,将与属于远离未分割的轴方向的原点的一方的平面的子节点对应的掩码平面的值设定为“1”。

在图8中示出所述具体例。

例如,如图8(a)所示,在该节点被qt(四叉树分割)为在z轴方向上未分割的情况下,对于掩码平面而言,如图8(a)所示,与z轴方向的Lower plane对应的位是“0”,与z轴方向的upper plane对应的位是“1”。此外,在图8(a)中记载为位置(position)的a~h的标签与图8(c)中记载的各子节点的位置相对应。

同样地,如图8(b)所示,在被Bt(二分木分割)为x轴方向和y轴方向这两方未分割的情况下,仅与属于x轴方向和y轴方向两方的Lower plane的子节点对应的位是“0”,除此以外的位是“1”。

如上所述,树合成部2020在设定了掩码平面之后,进入步骤S604的处理。

在步骤S604中,树合成部2020对栅格地图进行解码。在此,栅格地图的解码使用上述的掩码平面和从点云编码装置100传输来的位流所含的占用码。

与上述掩码平面同样地,栅格地图由8位构成。与掩码平面同样地,各位与将该节点分别在三个轴方向(例如,x轴、y轴、z轴)上2分割的情况下的各子节点相对应。

在此,树合成部2020将掩码平面的值是“1”的子节点的栅格地图的对应的位解码为“0(在该子节点中不存在点云数据)”。

另一方面,树合成部2020对掩码平面的值是“0”的子节点的占用码进行解码,在占用码的值是“1(在该子节点中存在点云数据)”的情况下,将对应的栅格地图的位设定为“1”,在占用码的值是“0(在该子节点中不存在点云数据)”的情况下,将对应的栅格地图的位设定为“0”。

即,树合成部2020可以构成为对表示在该节点的各子节点中是否存在点云数据的栅格地图进行解码,对于上述的掩码平面的值是“1”的子节点,将对应的栅格地图的值设为“0”,对于上述的掩码平面的值是“0”的子节点,参照位流所含的占用码的值设定栅格地图的值。

通过以上这样的结构,由于能够使用为了平面模式而设置的掩码平面实现“QtBt”时的控制,因此能够简化规格、基于该规格的装置的设计。

此外,以上说明的掩码平面的值是一例,可以更换上述说明的“0”和“1”的位的含义。

如上所述,树合成部2020能够对与各节点对应的8位的栅格地图进行解码。树合成部2020在解码栅格地图之后,进入步骤S605的处理,结束处理。

此外,以上的步骤也可以如图7中记载的那样更换顺序。具体而言,树合成部2020可以首先进行掩码平面设定和栅格地图解码,然后,执行能否利用平面模式的判断和与平面模式相关联的语法的解码处理。

在该情况下,能否利用平面模式的判断和与平面模式相关联的语法的解码处理是针对该节点的各子节点分别执行的,而不是针对该节点。由此,追加步骤S701,树合成部2020进行循环处理,直至通过栅格地图被解码为存在点云数据的所有的子节点的处理完成为止。

(属性信息解码部2060)

以下,使用图9和图10对由属性信息解码部2060解码的控制数据进行说明。

图9是由几何信息解码部2060接收的编码数据(位流)的结构的一例。

第一:位流也可以包含APS2061。APS2061也被称为属性参数组,是与属性信息的解码有关的控制数据的集合。关于具体例将在后面说明。各APS2061至少包含在存在多个APS2061的情况下用于识别每一个的APS id信息。

第二:位流也可以包含ASH2062A/2062B。ASH2062A/2062B也被称为属性切片报头,是与后述的切片对应的控制数据的集合。关于具体例将在后面说明。ASH2062A/2062B至少包含用于指定与各ASH2062A/2062B对应的APS2061的APS id信息。

第三:位流也可以在ASH2062A/2062B之后包含切片数据2063A/2063B。在切片数据2063A/2063B中包含对属性信息编码而成数据。

如上所述,位流成为ASH2062A/2062B和APS2061分别与各切片数据2063A/2063B对应的结构。

如上所述,由于在ASH2062A/2062B中,用APS id信息指定参照哪个APS2061,因此能够对多个切片数据2063A/2063B使用共同的APS2061。

换言之,APS2061不一定需要对每个切片进行传输。例如,如图9所示,也可以设为在ASH2062B和切片数据2063B之前不对APS2061编码这样的位流的结构。

此外,图9的结构仅仅为一例。只要是ASH2062A/2062B和APS2061与各切片数据2063A/2063B对应的结构,则也可以追加上述以外的要素作为位流的构成要素。例如,位流也可以包含序列参数组(SPS)。

另外,同样地,也可以在传输时整形为与图9不同的结构。而且,也可以与由所述几何信息解码部2010解码的位流合成作为单一的位流进行传输。例如,也可以将切片数据2013A和2063A、切片数据2013B和2063B分别作为单一的切片数据进行处理,成为在各切片之前分别配置GSH2012A和ASH2062A、GSH2012B和ASH2062B的结构。另外,此时,也可以在各GSH和ASH之前配置GPS2011和APS2061。

图10是APS2061的语法结构的一例。

APS2061可以包含用于识别各APS2061的APS id信息(aps_attr_parameter_set_id)。

APS2061可以包含表示属性信息的解码方法的信息(attr_coding_type)。例如,可以规定为当attr_coding_type的值是“0”时,在逆提升部2100中进行可变的加权提升预测,当attr_coding_type的值是“1”时,在RAHT部2080中进行RAHT,当attr_coding_type的值是“2”时,在逆提升部2100中进行在固定的权重下的提升预测。

APS2061可以包含表示当attr_coding_type的值是“2”时,即,在逆提升部2100中进行在固定的权重下的提升预测的情况下,是否应用可扩展提升的标志(lifting_scalability_enabled_flag)。

可以规定为在lifting_scalability_enabled_flag的值是“0”的情况下,不应用可扩展提升,可以规定为在lifting_scalability_enabled_flag的值是“1”的情况下,应用可扩展提升。

另外,可以规定为在lifting_scalability_enabled_flag的值是“1”的情况下,即,在应用可扩展提升的情况下,如上所述,取得skipOctreeLayers作为图像解码装置200执行时的外部参数。

另外,可以规定为在应用上述的“QtBt”的情况下,即,在geom_tree_coded_axis_list_present_flag的值是“1”的情况下,不应用可扩展提升,即,lifting_scalability_enabled_flag的值一定是“0”。

即,具有对控制是否应用“QtBt”的标志进行解码的几何信息解码部2010和对控制是否应用“可扩展提升”的标志进行解码的属性信息解码部2060,也可以限制为在应用“QtBt”的情况下,不应用“可扩展提升”。

这样,通过以排他地应用“QtBt”和可扩展提升的方式加以限制,能够削减功能的组合,从而使规格简单而容易地进行安装。

例如,在应用可扩展提升的情况下,通过限制为一定应用“Octree”,在可扩展提升的处理中,节点形状一定是立方体,能够以各分割一定进行八叉树分割为前提执行处理,因此与节点形状是长方体且分割的种类除了八叉树分割以外也允许四叉树和二叉树分割的情况相比,能够简化规格。

APS2061可以包含指定由LoD计算部2090计算的LoD的层次数的语法(lifting_num_detail_levels_minus1)。由于LoD的值需要是1以上的整数值,因此例如该语法也可以是0以上的整数值,将该语法的值加“1”后的值作为LoD的层次数。

APS2061可以包含控制是否LoD计算部2090执行排序处理的标志(lifting_morton_sort_skip_enabled_flag)。

例如,可以定义为当lifting_morton_sort_skip_enabled_flag的值是“0”时,执行排序处理,当lifting_morton_sort_skip_enabled_flag的值是“1”时,不执行排序处理。

另外,例如,可以定义为仅在上述的lifting_num_detail_levels_minus1的值是“0”的情况下,即,LoD的层次数是“1”的情况下,APS2061包含lifting_morton_sort_skip_enabled_flag。

可以定义gps_predictive_mode_enabled_flag的值是“0”时,即,不应用预测性编码时,lifting_morton_sort_skip_enabled_flag的值一定是“0”的限制。

即,具有对控制能否应用预测性编码的标志进行解码的几何信息解码部2010和在解码对象的点云数据的属性信息的解码之前,对控制是否执行基于解码所述点云数据后的位置信息排序处理的标志进行解码的属性信息解码部2060,可以构成为具有当控制能否应用所述预测性编码的标志表示不能应用预测性编码时,控制是否执行排序的处理的标志的值必须被设定为表示一定“执行排序处理”的值的限制。

另外,属性信息的解码中的“不执行排序处理”的功能是实现点云编码装置100侧的低延迟处理(缩短从输入编码对象的点云数据开始直至对应的点云数据被输出至位流为止的的延迟时间)的功能。所述功能通过与依次对位置信息进行解码的预测性编码组合,能够尤其发挥该功能。

由此,通过限定“不执行排序处理”的功能是仅与预测性编码的组合,从而能够保持功能的效果的同时易于设计、验证。

(LoD计算部2090)

以下,使用图11,对LoD计算部2090的处理内容的一例进行说明。

图11是LoD计算部2090的流程图的一例。

在步骤S1101中,LoD计算部2090进行重新排列从几何信息重构部2040输出的点云内的各点的位置信息的处理(排序)。

具体而言,例如,LoD计算部2090可以对输入的将授与由树合成部2020生成的各点云数据的位置信息的index以升序存储的一维的数组数据Order[i],按照基于所述位置信息排序的结果更新一维的数组数据Order[i]。LoD计算部2090例如也可以按照能够从所述位置信息生成的莫顿码(Morton code)的升序对所述位置信息进行排序。

另外,可以设为当取得控制是否执行排序处理的标志(lifting_morton_sort_skip_enabled_flag)表示不执行排序处理的值时,例如,在上述的例子中,当lifting_morton_sort_skip_enabled_flag的值是“1”时,LoD计算部2090不执行所述排序处理。

可以规定为当不执行上述的排序处理时,点云数据的各点的index按照树合成部2020的解码顺序被授与。而且,可以规定为点云数据的各点的index按照所述index的升序被存储于一维的数组数据Order[i]。

可以规定为在不执行上述的排序处理且由树合成部2020判断为应用预测性编码的情况下,点云数据的各点的index按照树合成部2020中的预测性编码的解码顺序被授与。而且,可以规定为点云数据的各点的index按照所述index的升序被存储于一维的数组数据Order[i]。

即,LoD计算部2090可以构成为在解码对象的点云数据的属性信息的解码之前,确定是否执行基于解码点云数据后的位置信息排序的处理,在不执行排序处理的情况下,基于一维的数组中所存储的index的顺序进行属性信息的解码。

通过以上这样的结构,即使在不执行上述的排序处理的情况下,也唯一地确定进行属性信息的解码处理的顺序,因此将解码后的位置信息与属性信息建立唯一的对应。

如上所述,LoD计算部2090在执行或省略了上述的排序处理之后,进入步骤S1102的处理。

在步骤S1102中,LoD计算部2090分别计算各点的位置信息的LoD。具体的LoD的计算方法可以应用已知的方法,因此省略详细的说明。

LoD计算部2090在计算各点云数据的LoD之后,进入步骤S1103的处理。

在步骤S1103中,LoD计算部2090对各节点以属于比该节点的LoD靠上的LoD的节点为对象,进行k最邻近搜索。具体的k最邻近搜索的方法可以应用已知的方法,因此省略详细的说明。

LoD计算部2090在对所有的节点进行了k最邻近搜索之后,进入步骤S1104的处理并结束。

另外,上述的点云编码装置100和点云解码装置200也可以通过使计算机执行各功能(各工序)的程序实现。

此外,在上述的各实施方式中,以将本发明应用于点云编码装置100和点云解码装置200为例进行了说明,但本发明并不仅限定于所述例子,也可以同样应用于具有点云编码装置100和点云解码装置200的各功能的点云编码/解码系统。

附图标记说明

10:点云处理系统;100:点云编码装置;200:点云解码装置;2010:几何信息解码部;2020:树合成部;2030:近似表面合成部;2040:几何信息重构部;2050:逆坐标变换部;2060:属性信息解码部;2070:逆量化部;2080:RAHT部;2090:LoD计算部;2100:逆提升部;2110:逆颜色变换部。

技术分类

06120115802252