三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置与流程

文档序号:25543563发布日期:2021-06-18 20:40
三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置与流程

本发明涉及三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置。



背景技术:

在用于汽车或机器人自主地进行工作的计算机视觉、地图信息、监控、基础设施检查、或影像分发等较大的领域中,今后将会普及灵活运用了三维数据的装置或服务。三维数据通过测距仪等距离传感器、立体摄影机、或多个单眼相机的组合等各种方法来取得。

作为三维数据的表现方法之一,有被称作点云的表现方法,该方法通过三维空间内的点群来表现三维构造的形状。在点云中保存点群的位置和颜色。虽然预想点云作为三维数据的表现方法将成为主流,但是点群的数据量非常大。因此,在三维数据的积蓄或传输中,与二维的运动图像(作为一例,有以mpeg进行标准化后的mpeg-4avc或hevc等)同样,需要通过编码来进行数据量的压缩。

此外,关于点云的压缩,有一部分由进行点云关联的处理的公开的库(pointcloudlibrary:点云库)等支持。

此外,已知有利用三维的地图数据,检索位于车辆周边的施设并进行显示的技术(例如,参照专利文献1)。

现有技术文献

专利文献

专利文献1:国际公开第2014/020663号



技术实现要素:

发明要解决的课题

在三维数据的编码处理中,希望能够提高编码效率。

本发明的目的是提供一种能够提高编码效率的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。

用来解决课题的手段

有关本发明的一技术方案的三维数据编码方法,对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成第3点群数据;通过将上述第3点群数据编码,生成比特流;上述比特流包含第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容。

有关本发明的一技术方案的三维数据解码方法,从通过对第3点群数据进行编码而生成的比特流,将上述第3点群数据解码,上述第3点群数据是对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成的;从上述比特流取得第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容;使用上述第1信息及上述第2信息,从解码后的上述第3点群数据复原上述第1点群数据及上述第2点群数据。

发明效果

本发明能够提供能够提高编码效率的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。

附图说明

图1是表示有关实施方式1的三维数据编解码系统的构成的图。

图2是表示有关实施方式1的点群数据的构成例的图。

图3是表示有关实施方式1的记述有点群数据信息的数据文件的构成例的图。

图4是表示有关实施方式1的点群数据的种类的图。

图5是表示有关实施方式1的第1编码部的构成的图。

图6是有关实施方式1的第1编码部的框图。

图7是表示有关实施方式1的第1解码部的构成的图。

图8是有关实施方式1的第1解码部的框图。

图9是表示有关实施方式1的第2编码部的构成的图。

图10是有关实施方式1的第2编码部的框图。

图11是表示有关实施方式1的第2解码部的构成的图。

图12是有关实施方式1的第2解码部的框图。

图13是表示有关实施方式1的关于pcc编码数据的协议栈的图。

图14是表示有关实施方式2的isobmff的基本结构的图。

图15是表示有关实施方式2的协议栈的图。

图16是表示有关实施方式3的编码部及复用部的构成的图。

图17是表示有关实施方式3的编码数据的构成例的图。

图18是表示有关实施方式3的编码数据及nal单元的构成例的图。

图19是表示有关实施方式3的pcc_nal_unit_type的语义例的图。

图20是表示有关实施方式3的nal单元的送出顺序的例子的图。

图21是有关实施方式4的第1编码部的框图。

图22是有关实施方式4的第1解码部的框图。

图23是有关实施方式4的分割部的框图。

图24是表示有关实施方式4的切片及瓦片的分割例的图。

图25是表示有关实施方式4的切片及瓦片的分割样式的例子的图。

图26是表示有关实施方式4的依赖关系的例子的图。

图27是表示有关实施方式4的数据的解码顺序的例子的图。

图28是有关实施方式4的编码处理的流程图。

图29是有关实施方式4的结合部的框图。

图30是表示有关实施方式4的编码数据及nal单元的构成例的图。

图31是有关实施方式4的编码处理的流程图。

图32是有关实施方式4的解码处理的流程图。

图33是有关实施方式4的编码处理的流程图。

图34是有关实施方式4的解码处理的流程图。

图35是表示有关实施方式5的根据多个帧的点群数据生成树结构及占用率代码的形象的图。

图36是表示有关实施方式5的帧结合的例子的图。

图37是表示有关实施方式5的多个帧的结合的例子的图。

图38是有关实施方式5的三维数据编码处理的流程图。

图39是有关实施方式5的编码处理的流程图。

图40是有关实施方式5的三维数据解码处理的流程图。

图41是有关实施方式5的解码及分割处理的流程图。

图42是有关实施方式5的编码部的框图。

图43是有关实施方式5的分割部的框图。

图44是有关实施方式5的位置信息编码部的框图。

图45是有关实施方式5的属性信息编码部的框图。

图46是有关实施方式5的点群数据的编码处理的流程图。

图47是有关实施方式5的编码处理的流程图。

图48是有关实施方式5的解码部的框图。

图49是有关实施方式5的位置信息解码部的框图。

图50是有关实施方式5的属性信息解码部的框图。

图51是有关实施方式5的结合部的框图。

图52是有关实施方式5的点群数据的解码处理的流程图。

图53是有关实施方式5的解码处理的流程图。

图54是表示有关实施方式5的帧的结合样式的例子的图。

图55是表示有关实施方式5的pcc帧的构成例的图。

图56是表示有关实施方式5的编码位置信息的构成的图。

图57是表示有关实施方式5的编码位置信息的头的句法例的图。

图58是表示有关实施方式5的编码位置信息的有效载荷的句法例的图。

图59是表示有关实施方式5的叶节点信息的例子的图。

图60是表示有关实施方式5的叶节点信息的例子的图。

图61是表示有关实施方式5的位图(bitmap)信息的例子的图。

图62是表示有关实施方式5的编码属性信息的构成的图。

图63是表示有关实施方式5的编码属性信息的头的句法例的图。

图64是表示有关实施方式5的编码属性信息的有效载荷的句法例的图。

图65是表示有关实施方式5的编码数据的构成的图。

图66是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图67是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图68是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图69是表示有关实施方式5的将一部分帧解码的例子的图。

图70是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图71是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图72是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图73是表示有关实施方式5的数据的送出顺序及数据的参照关系的图。

图74是有关实施方式5的编码处理的流程图。

图75是有关实施方式5的解码处理的流程图。

图76是表示有关实施方式6的将在空间上不同的多个点群数据结合的例子的图。

图77是表示有关实施方式6的将在空间上不同的多个点群数据结合的例子的图。

图78是表示有关实施方式6的编码部的构成的框图。

图79是表示有关实施方式6的分割结合部的构成的框图。

图80是表示有关实施方式6的位置信息编码部及属性信息编码部的构成的框图。

图81是表示有关实施方式6的三维数据编码处理的流程图。

图82是示意地表示有关实施方式6的分割处理及结合处理的图。

图83是有关实施方式6的位置信息的编码处理的流程图。

图84是表示有关实施方式6的前处理的例子的图。

图85是表示有关实施方式6的gps的句法例的图。

图86是表示有关实施方式6的瓦片结合信息的句法例的图。

图87是表示有关实施方式6的瓦片信息的句法例的图。

图88是表示有关实施方式6的编码位置信息的构成的图。

图89是表示有关实施方式6的编码位置信息的头的句法例的图。

图90是表示有关实施方式6的编码位置信息的有效载荷的句法例的图。

图91是表示有关实施方式6的方法1的结合信息的句法例的图。

图92是表示有关实施方式6的方法2的结合信息的句法例的图。

图93是表示有关实施方式6的位图信息的例子的图。

图94是表示有关实施方式6的瓦片id编码部的构成的框图。

图95是表示有关实施方式6的瓦片id取得部的构成的框图。

图96是表示有关实施方式6的编码属性信息的构成的图。

图97是表示有关实施方式6的编码属性信息的头的句法例的图。

图98是表示有关实施方式6的编码属性信息的有效载荷的句法例的图。

图99是表示有关实施方式6的编码数据的构成的图。

图100是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图101是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图102是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图103是表示有关实施方式6的将一部分帧解码的例子的图。

图104是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图105是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图106是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图107是表示有关实施方式6的解码部的构成的框图。

图108是表示有关实施方式6的位置信息解码部及属性信息解码部的构成的框图。

图109是表示有关实施方式6的分割结合部的构成的框图。

图110是有关实施方式6的三维数据解码处理的流程图。

图111是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图112是表示有关实施方式6的数据的送出顺序及数据的参照关系的图。

图113是表示有关实施方式6的数据构造的图。

图114是表示有关实施方式6的分割与结合的组合的例子的图。

图115是表示有关实施方式6的将帧结合与空间结合组合的例子的图。

图116是有关实施方式6的编码处理的流程图。

图117是有关实施方式6的解码处理的流程图。

具体实施方式

有关本发明的一技术方案的三维数据编码方法,对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成第3点群数据;通过将上述第3点群数据编码,生成比特流;上述比特流包含第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容。

由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

例如,上述变换处理除了上述移动以外还包括几何学变换;上述比特流包含表示上述几何学变换的内容的第3信息。

由此,通过进行几何学变换,能够提高编码效率。

例如,上述几何学变换也可以包括移位、旋转及反转的至少一个。

例如,也可以基于在上述第3点群数据中位置信息相同的三维点即重复点的数量,决定上述几何学变换的内容。

例如,上述第2信息也可以包含表示上述移动的移动量的信息。

例如,上述第2信息也可以包含表示是否使上述第2点群数据的原点移动到上述第1点群数据的原点的信息。

例如,也可以通过将第4点群数据在空间上分割,生成上述第1点群数据及上述第2点群数据。

例如,也可以是,上述比特流包含上述第3点群数据中包含的上述多个三维点各自的位置信息和1个以上的属性信息;上述1个以上的属性信息中的一个属性信息包含上述第1信息。

有关本发明的一技术方案的三维数据解码方法,从通过对第3点群数据进行编码而生成的比特流,将上述第3点群数据解码,上述第3点群数据是对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成的;从上述比特流取得第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容;使用上述第1信息及上述第2信息,从解码后的上述第3点群数据复原上述第1点群数据及上述第2点群数据。

由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

例如,也可以是,上述变换处理除了上述移动以外还包括几何学变换;从上述比特流取得表示上述几何学变换的内容的第3信息;在上述第1点群数据及上述第2点群数据的上述复原中,使用上述第1信息、上述第2信息以及上述第3信息,从解码后的上述第3点群数据复原上述第1点群数据及上述第2点群数据。

由此,通过进行几何学变换,能够提高编码效率。

例如,上述几何学变换也可以包括移位、旋转及反转中的至少一种。

例如,上述第2信息也可以包含表示上述移动的移动量的信息。

例如,上述第2信息也可以包含表示是否使上述第2点群数据的原点移动到上述第1点群数据的原点的信息。

例如,也可以通过将复原的上述第1点群数据及上述第2点群数据在空间上结合,生成第4点群数据。

例如,也可以是,上述比特流包含上述第3点群数据中包含的上述多个三维点各自的位置信息和1个以上的属性信息;上述1个以上的属性信息中的一个属性信息包含上述第1信息。

此外,有关本发明的一技术方案的三维数据编码装置具备处理器和存储器;上述处理器使用上述存储器进行如下处理:对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成第3点群数据;通过将上述第3点群数据编码,生成比特流;上述比特流包含第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容。

由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

此外,有关本发明的一技术方案的三维数据解码装置具备处理器和存储器;上述处理器使用上述存储器进行如下处理:从通过对第3点群数据进行编码而生成的比特流,将上述第3点群数据解码,上述第3点群数据是对同一时刻的第1点群数据及第2点群数据中的上述第2点群数据进行包括移动的变换处理,并通过将上述第1点群数据与上述变换处理后的上述第2点群数据结合而生成的;从上述比特流取得第1信息和第2信息,上述第1信息表示上述第3点群数据中包含的多个三维点各自属于上述第1点群数据和上述第2点群数据中的哪一方,上述第2信息表示上述移动的内容;使用上述第1信息及上述第2信息,从解码后的上述第3点群数据复原上述第1点群数据及上述第2点群数据。

由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。

以下,参照附图对实施方式具体地进行说明。另外,以下说明的实施方式都表示本发明的一具体例。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的顺序等是一例,不是限定本发明的意思。此外,关于以下的实施方式的构成要素中的、在独立权利要求中没有记载的构成要素,设为任意的构成要素进行说明。

(实施方式1)

在将点云的编码数据用于实际的装置或服务时,为了抑制网络带宽,而希望按照用途来对所需要的信息进行收发。然而,至今的三维数据的编码结构中不存在这样的功能,因此也没有与此相对的编码方法。

在本实施方式中将要说明的是,用于提供在三维的点云的编码数据中,按照用途来对所需要的信息进行收发的功能的三维数据编码方法以及三维数据编码装置、还有对该编码数据进行解码的三维数据解码方法以及三维数据解码装置,以及对该编码数据进行复用的三维数据复用方法、以及传输该编码数据的三维数据传输方法进行说明。

特别是,当前,作为点群数据的编码方法(编码方式)研究了第1编码方法和第2编码方法,但没有定义将编码数据的构成以及编码数据保存到系统格式的方法,在这种情况下,存在无法直接进行编码部中的mux处理(复用)、或者传输或蓄积这样的课题。

此外,如pcc(pointcloudcompression:点云压缩)那样,对第1编码方法和第2编码方法这2个编解码器混合存在的格式进行支持的方法至今不存在。

在本实施方式中,对将第1编码方法和第2编码方法这2个编解码器混合存在的pcc编码数据的构成以及将编码数据向系统格式保存的方法进行说明。

首先,说明本实施方式的三维数据(点群数据)编码解码系统的构成。图1是表示本实施方式的三维数据编码解码系统的构成例的图。如图1所示,三维数据编码解码系统包括三维数据编码系统4601、三维数据解码系统4602、传感器终端4603以及外部连接部4604。

三维数据编码系统4601通过对作为三维数据的点群数据进行编码来生成编码数据或复用数据。此外,三维数据编码系统4601可以是由单个装置实现的三维数据编码装置,也可以是由多个装置实现的系统。另外,三维数据编码装置也可以包含于三维数据编码系统4601中包含的多个处理部中的一部分。

三维数据编码系统4601包括点群数据生成系统4611、提示部4612、编码部4613、复用部4614、输入输出部4615、以及控制部4616。点群数据生成系统4611包括传感器信息取得部4617和点群数据生成部4618。

传感器信息取得部4617从传感器终端4603取得传感器信息,并将传感器信息输出到点群数据生成部4618。点群数据生成部4618根据传感器信息生成点群数据,并将点群数据输出到编码部4613。

提示部4612向用户提示传感器信息或点群数据。例如,提示部4612显示基于传感器信息或点群数据的信息或图像。

编码部4613对点群数据进行编码(压缩),将得到的编码数据、在编码过程中得到的控制信息和其他附加信息输出到复用部4614。附加信息例如包含传感器信息。

复用部4614通过复用从编码部4613输入的编码数据、控制信息和附加信息来生成复用数据。复用数据的格式例如是用于蓄积的文件格式、或用于传输的包格式。

输入输出部4615(例如,通信部或接口)将复用数据向外部输出。或者,复用数据被蓄积于内部存储器等蓄积部。控制部4616(或应用执行部)控制各处理部。即,控制部4616进行编码及复用等控制。

此外,也可以将传感器信息向编码部4613或复用部4614输入。另外,输入输出部4615也可以将点群数据或编码数据直接向外部输出。

从三维数据编码系统4601输出的传输信号(复用数据)经由外部连接部4604输入到三维数据解码系统4602。

三维数据解码系统4602通过对编码数据或复用数据进行解码而生成作为三维数据的点群数据。此外,三维数据解码系统4602可以是由单一的装置实现的三维数据解码装置,也可以是由多个装置实现的系统。另外,三维数据解码装置也可以包含三维数据解码系统4602中包含的多个处理部中的一部分。

三维数据解码系统4602包括传感器信息取得部4621、输入输出部4622、逆复用部4623、解码部4624、提示部4625、用户接口4626、以及控制部4627。

传感器信息取得部4621从传感器终端4603取得传感器信息。

输入输出部4622取得传输信号,根据传输信号对复用数据(文件格式或者包)进行解码,并将复用数据输出到逆复用部4623。

逆复用部4623从复用数据中取得编码数据、控制信息以及附加信息,并将编码数据、控制信息以及附加信息输出到解码部4624。

解码部4624通过对编码数据进行解码而重构点群数据。

提示部4625将点群数据提示给用户。例如,提示部4625显示基于点群数据的信息或图像。用户接口4626取得基于用户的操作的指示。控制部4627(或应用执行部)控制各处理部。即,控制部4627进行逆复用、解码以及提示等的控制。

此外,输入输出部4622也可以从外部直接取得点群数据或编码数据。另外,提示部4625也可以取得传感器信息等附加信息,并提示基于附加信息的信息。另外,提示部4625也可以基于由用户接口4626取得的用户的指示来进行提示。

传感器终端4603生成由传感器取得的信息即传感器信息。传感器终端4603是搭载有传感器或相机的终端,例如有汽车等移动体、飞机等飞行物体、移动终端或相机等。

能够由传感器终端4603取得的传感器信息例如是(1)由lidar、毫米波雷达或者红外线传感器得到的传感器终端4603与对象物的距离、或者对象物的反射率、(2)从多个单眼相机图像或者立体相机图像得到的相机与对象物的距离或者对象物的反射率等。另外,传感器信息也可以包含传感器的姿势、朝向、回转(角速度)、位置(gps信息或者高度)、速度或者加速度等。另外,传感器信息也可以包含气温、气压、湿度、或者磁性等。

外部连接部4604通过集成电路(lsi或ic)、外部蓄积部、经由因特网的与云服务器的通信、或者广播等来实现。

接着,对点群数据进行说明。图2是表示点群数据的构成的图。图3是表示记述了点群数据的信息的数据文件的构成例的图。

点群数据包含多个点的数据。各点的数据包含位置信息(三维坐标)以及与该位置信息相对的属性信息。将聚集了多个这样的点的群称为点群。例如,点群表示对象物(对象)的三维形状。

有时也将三维坐标等位置信息(position)称为几何形状(geometry)。另外,各点的数据也可以包含多个属性类别的属性信息(attribute)。属性类别例如是颜色或反射率等。

既可以将1个属性信息针对1个位置信息建立对应,也可以将具有多个不同的属性类别的属性信息针对1个位置信息建立对应。另外,也可以将多个相同的属性类别的属性信息针对1个位置信息建立对应。

图3所示的数据文件的构成例是位置信息和属性信息1对1对应的情况的例子,表示构成点群数据的n个点的位置信息和属性信息。

位置信息例如是x、y、z这3轴的信息。属性信息例如是rgb的颜色信息。作为代表性的数据文件,有ply文件等。

接着,对点群数据的种类进行说明。图4是表示点群数据的种类的图。如图4所示,点群数据包含静态对象和动态对象。

静态对象是任意时间(某个时刻)的三维点群数据。动态对象是随时间变化的三维点群数据。以下,将某时刻的三维点群数据称为pcc帧或者帧。

对象可以是如通常的影像数据那样区域被某种程度限制的点群,也可以是像地图信息那样区域未被限制的大规模点群。

另外,存在各种密度的点群数据,也可以存在稀疏的点群数据和密集的点群数据。

以下,对各处理部的详细情况进行说明。传感器信息通过lidar或者测距仪等距离传感器、立体相机或者多个单眼相机的组合等各种方法来取得。点群数据生成部4618基于由传感器信息取得部4617得到的传感器信息生成点群数据。点群数据生成部4618生成位置信息作为点群数据,对位置信息附加针对该位置信息的属性信息。

点群数据生成部4618也可以在生成位置信息或者附加属性信息时,对点群数据进行加工。例如,点群数据生成部4618也可以通过删除位置重复的点群来减少数据量。另外,点群数据生成部4618也可以对位置信息进行变换(位置移位、旋转或者标准化等),也可以对属性信息进行渲染。

此外,在图1中,点群数据生成系统4611包含于三维数据编码系统4601,但也可以独立设置于三维数据编码系统4601的外部。

编码部4613基于预先规定的编码方法对点群数据进行编码,由此生成编码数据。编码方法大致存在以下2种。第1种是使用了位置信息的编码方法,以后将该编码方法记载为第1编码方法。第2种是使用了视频编解码器的编码方法,以后将该编码方法记载为第2编码方法。

解码部4624基于预先规定的编码方法对编码数据进行解码,由此对点群数据进行解码。

复用部4614通过使用现有的复用方式对编码数据进行复用,从而生成复用数据。所生成的复用数据被传输或蓄积。复用部4614除了pcc编码数据以外,还复用影像、声音、字幕、应用、文件等其他媒体、或者基准时刻信息。另外,复用部4614还可以对与传感器信息或者点群数据相关联的属性信息进行复用。

作为复用方式或文件格式,有isobmff、作为isobmff基础的传输方式的mpeg-dash、mmt、mpeg-2tssystems、rmp等。

逆复用部4623从复用数据中提取pcc编码数据、其他媒体以及时刻信息等。

输入输出部4615使用与广播或通信等传输介质或蓄积介质一致的方法传输复用数据。输入输出部4615可以经由因特网与其他设备进行通信,也可以与云服务器等蓄积部进行通信。

作为通信协议,使用http、ftp、tcp或udp等。既可以使用pull型的通信方式,也可以使用push型的通信方式。

可以使用有线传输和无线传输中的任一种。作为有线传输,使用ethernet(注册商标)、usb、rs-232c、hdmi(注册商标)或同轴电缆等。作为无线传输,使用无线lan、wi-fi(注册商标)、bluetooth(注册商标)或毫米波等。

此外,作为广播方式,例如使用dvb-t2、dvb-s2、dvb-c2、atsc3.0或isdb-s3等。

图5是表示进行第1编码方法的编码的编码部4613的例子即第1编码部4630的构成的图。图6是第1编码部4630的框图。第1编码部4630通过用第1编码方法对点群数据进行编码来生成编码数据(编码流)。该第1编码部4630包括位置信息编码部4631、属性信息编码部4632、附加信息编码部4633以及复用部4634。

第1编码部4630具有意识到三维结构来进行编码的特征。另外,第1编码部4630具有属性信息编码部4632使用从位置信息编码部4631得到的信息进行编码的特征。第1编码方法也被称为gpcc(geometrybasedpcc)。

点群数据是ply文件那样的pcc点群数据、或者根据传感器信息生成的pcc点群数据,包含位置信息(position)、属性信息(attribute)以及其他的附加信息(metadata)。位置信息被输入到位置信息编码部4631,属性信息被输入到属性信息编码部4632,附加信息被输入到附加信息编码部4633。

位置信息编码部4631通过对位置信息进行编码,来生成作为编码数据的编码位置信息(compressedgeometry)。例如,位置信息编码部4631使用八叉树等n叉树结构对位置信息进行编码。具体而言,在八叉树中,对象空间被分割为8个节点(子空间),生成表示各节点中是否包含点群的8比特的信息(占用率代码)。另外,包含点群的节点进一步被分割为8个节点,生成表示在该8个节点的每一个中是否包含点群的8比特的信息。反复进行该处理,直到成为预先确定的阶层或节点所包含的点群的数量的阈值以下为止。

属性信息编码部4632通过使用由位置信息编码部4631生成的构成信息进行编码,来生成作为编码数据的编码属性信息(compressedattribute)。例如,属性信息编码部4632基于由位置信息编码部4631生成的八叉树结构,决定在处理对象的对象点(对象节点)的编码中参照的参照点(参照节点)。例如,属性信息编码部4632参照周边节点或相邻节点中的八叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法不限于此。

另外,属性信息的编码处理可以包括量化处理、预测处理和算术编码处理中的至少一个。在该情况下,参照是指在属性信息的预测值的计算中使用参照节点,或者在编码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,编码的参数是量化处理中的量化参数、或者算术编码中的上下文等。

附加信息编码部4633通过对附加信息中的可压缩的数据进行编码,来生成作为编码数据的编码附加信息(compressedmetadata)。

复用部4634通过对编码位置信息、编码属性信息、编码附加信息以及其他附加信息进行复用,来生成作为编码数据的编码流(compressedstream)。所生成的编码流被输出到未图示的系统层的处理部。

接着,对作为进行第1编码方法的解码的解码部4624的例子的第1解码部4640进行说明。图7是表示第1解码部4640的构成的图。图8是第1解码部4640的框图。第1解码部4640通过以第1编码方法对以第1编码方法进行了编码的编码数据(编码流)进行解码,来生成点群数据。该第1解码部4640包括逆复用部4641、位置信息解码部4642、属性信息解码部4643以及附加信息解码部4644。

从未图示的系统层的处理部将作为编码数据的编码流(compressedstream)输入到第1解码部4640。

逆复用部4641从编码数据中分离编码位置信息(compressedgeometry)、编码属性信息(compressedattribute)、编码附加信息(compressedmetadata)以及其他附加信息。

位置信息解码部4642通过对编码位置信息进行解码来生成位置信息。例如,位置信息解码部4642根据由八叉树等n叉树结构表示的编码位置信息,复原用三维坐标表示的点群的位置信息。

属性信息解码部4643基于由位置信息解码部4642生成的构成信息,对编码属性信息进行解码。例如,属性信息解码部4643基于由位置信息解码部4642得到的八叉树结构,决定在处理对象的对象点(对象节点)的解码中参照的参照点(参照节点)。例如,属性信息解码部4643参照周边节点或相邻节点中的八叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法不限于此。

另外,属性信息的解码处理也可以包括逆量化处理、预测处理以及算术解码处理中的至少一个。在该情况下,参照是指在属性信息的预测值的计算中使用参照节点、或者在解码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,解码的参数是逆量化处理中的量化参数、或者算术解码中的上下文等。

附加信息解码部4644通过对编码附加信息进行解码来生成附加信息。另外,第1解码部4640在解码时使用位置信息以及属性信息的解码处理所需的附加信息,向外部输出应用所需的附加信息。

接着,对作为进行第2编码方法的编码的编码部4613的例子的第2编码部4650进行说明。图9是表示第2编码部4650的构成的图。图10是第2编码部4650的框图。

第2编码部4650通过以第2编码方法对点群数据进行编码来生成编码数据(编码流)。该第2编码部4650包括附加信息生成部4651、位置图像生成部4652、属性图像生成部4653、影像编码部4654、附加信息编码部4655以及复用部4656。

第2编码部4650具有如下特征:通过将三维结构投影于二维图像来生成位置图像以及属性图像,并使用现有的影像编码方式对所生成的位置图像以及属性图像进行编码。第2编码方法也被称为vpcc(videobasedpcc,基于视频的pcc)。

点群数据是ply文件那样的pcc点群数据、或者根据传感器信息生成的pcc点群数据,包含位置信息(position)、属性信息(attribute)以及其他的附加信息(metadata)。

附加信息生成部4651通过将三维结构投影到二维图像,来生成多个二维图像的映射信息。

位置图像生成部4652基于位置信息和由附加信息生成部4651生成的映射信息,生成位置图像(geometryimage)。该位置图像例如是表示距离(depth)作为像素值的距离图像。另外,该距离图像既可以是从1个视点观察多个点群的图像(在1个二维平面上投影了多个点群的图像),也可以是从多个视点观察多个点群的多个图像,也可以是将这些多个图像合并而成的1个图像。

属性图像生成部4653基于属性信息和由附加信息生成部4651生成的映射信息,生成属性图像。该属性图像例如是表示属性信息(例如颜色(rgb))作为像素值的图像。另外,该图像可以是从1个视点观察多个点群的图像(在1个二维平面上投影了多个点群的图像),也可以是从多个视点观察多个点群的多个图像,也可以是将这些多个图像合并而成的1个图像。

影像编码部4654通过使用影像编码方式对位置图像以及属性图像进行编码,从而生成作为编码数据的编码位置图像(compressedgeometryimage)以及编码属性图像(compressedattributeimage)。此外,作为影像编码方式,可以使用公知的任意的编码方式。例如,影像编码方式是avc或hevc等。

附加信息编码部4655通过对点群数据中包含的附加信息以及映射信息等进行编码来生成编码附加信息(compressedmetadata)。

复用部4656通过对编码位置图像、编码属性图像、编码附加信息以及其他附加信息进行复用,来生成作为编码数据的编码流(compressedstream)。所生成的编码流被输出到未图示的系统层的处理部。

接着,对作为进行第2编码方法的解码的解码部4624的例子的第2解码部4660进行说明。图11是表示第2解码部4660的构成的图。图12是第2解码部4660的框图。第2解码部4660通过以第2编码方法对以第2编码方法进行了编码的编码数据(编码流)进行解码,来生成点群数据。该第2解码部4660包括逆复用部4661、影像解码部4662、附加信息解码部4663、位置信息生成部4664以及属性信息生成部4665。

从未图示的系统层的处理部将作为编码数据的编码流(compressedstream)输入到第2解码部4660。

逆复用部4661从编码数据中分离编码位置图像(compressedgeometryimage)、编码属性图像(compressedattributeimage)、编码附加信息(compressedmetadata)以及其他附加信息。

影像解码部4662通过使用影像编码方式对编码位置图像以及编码属性图像进行解码,来生成位置图像以及属性图像。此外,作为影像编码方式,可以使用公知的任意的编码方式。例如,影像编码方式是avc或hevc等。

附加信息解码部4663通过对编码附加信息进行解码,来生成包含映射信息等的附加信息。

位置信息生成部4664使用位置图像和映射信息生成位置信息。属性信息生成部4665使用属性图像和映射信息生成属性信息。

第2解码部4660在解码时使用解码所需的附加信息,向外部输出应用所需的附加信息。

以下,说明pcc编码方式中的课题。图13是表示与pcc编码数据有关的协议栈的图。图13表示在pcc编码数据中复用、传输或蓄积影像(例如hevc)或声音等其他媒体的数据的例子。

复用方式及文件格式具有用于复用、传输或蓄积各种编码数据的功能。为了传输或蓄积编码数据,必须将编码数据变换为复用方式的格式。例如,在hevc中,规定了将编码数据保存在被称为nal单元的数据结构中,将nal单元保存到isobmff中的技术。

另一方面,当前,作为点群数据的编码方式,正在研究第1编码方法(codec1)以及第2编码方法(codec2),但没有定义编码数据的构成以及将编码数据保存到系统格式的方法,存在无法直接进行编码部中的mux处理(复用)、传输以及蓄积这样的课题。

另外,以下只要没有特定的编码方法的记载,就表示第1编码方法及第2编码方法中的某一个。

(实施方式2)

在本实施方式中,对将nal单元向isobmff的文件保存的方法进行说明。

isobmff(isobasedmediafileformat:iso基础媒体文件格式)是由iso/iec14496-12规定的文件格式标准。isobmff规定了能够将视频、音频及文本等各种媒体复用而保存的格式,是不依赖于媒体的标准。

对isobmff的基本构造(文件)进行说明。isobmff中的基本单位是盒子(box)。盒子由type(类型)、length(长度)、data(数据)构成,将各种type的盒子组合而成的集合为文件。

图14是表示isobmff的基本构造(文件)的图。isobmff的文件主要包括将文件的版本(brand)用4cc(4字符码)表示的ftyp、保存控制信息等的元数据的moov、以及保存数据的mdat等的盒子。

向isobmff的文件的各媒体的保存方法被另行规定,例如,avc视频及hevc视频的保存方法由iso/iec14496-15规定。这里,为了将pcc编码数据积蓄或传输,可以考虑将isobmff的功能扩展而使用,但还没有将pcc编码数据向isobmff的文件保存的规定。所以,在本实施方式中,对将pcc编码数据向isobmff的文件保存的方法进行说明。

图15是表示将pcc编解码器共同的nal单元向isobmff的文件保存的情况下的协议栈的图。这里,pcc编解码器共同的nal单元被保存到isobmff的文件。nal单元是pcc编解码器共同的,但由于在nal单元中保存多个pcc编解码器,所以希望规定与各个编解码器对应的保存方法(carriageofcodec1、carriageofcodec2)。

(实施方式3)

在本实施方式中,对由上述的第1编码部4630或第2编码部4650生成的编码数据(位置信息(geometry)、属性信息(attribute)、附加信息(metadata))的种类及附加信息(元数据)的生成方法、以及复用部中的复用处理进行说明。另外,附加信息(元数据)也有表述为参数集或控制信息的情况。

在本实施方式中,以在图4中说明的动态对象(随时间而变化的三维点群数据)为例进行说明,但在静态对象(任意的时刻的三维点群数据)的情况下也可以使用同样的方法。

图16是表示在有关本实施方式的三维数据编码装置中包含的编码部4801及复用部4802的构成的图。编码部4801例如对应于上述的第1编码部4630或第2编码部4650。复用部4802对应于上述的复用部4634或4656。

编码部4801将多个pcc(pointcloudcompression)帧的点群数据编码,生成多个位置信息、属性信息及附加信息的编码数据(multiplecompresseddata)。

复用部4802通过对多个数据种类(位置信息、属性信息及附加信息)的数据进行nal单元化,将数据变换为考虑了解码装置中的数据访问的数据构成。

图17是表示由编码部4801生成的编码数据的构成例的图。图中的箭头表示与编码数据的解码有关的依赖关系,箭头的根部依赖于箭头的尖部的数据。即,解码装置将箭头的尖部的数据解码,使用该解码的数据将箭头的根部的数据解码。换言之,依赖是指在依赖源的数据的处理(编码或解码等)中参照(使用)依赖目标的数据。

首先,对位置信息的编码数据的生成处理进行说明。编码部4801通过将各帧的位置信息编码,生成各帧的编码位置数据(compressedgeometrydata)。此外,将编码位置数据用g(i)表示。i表示帧号或帧的时刻等。

此外,编码部4801生成与各帧对应的位置参数集(gps(i))。位置参数集包含能够在编码位置数据的解码中使用的参数。此外,每个帧的编码位置数据依赖于对应的位置参数集。

此外,将由多个帧构成的编码位置数据定义为位置序列(geometrysequence)。编码部4801生成将在对于位置序列内的多个帧的解码处理中共同使用的参数进行保存的位置序列参数集(geometrysequenceps:也记作位置sps)。位置序列依赖于位置sps。

接着,对属性信息的编码数据的生成处理进行说明。编码部4801通过将各帧的属性信息编码,生成各帧的编码属性数据(compressedattributedata)。此外,将编码属性数据用a(i)表示。此外,在图17中,示出了存在属性x和属性y的例子,将属性x的编码属性数据用ax(i)表示,将属性y的编码属性数据用ay(i)表示。

此外,编码部4801生成与各帧对应的属性参数集(aps(i))。此外,将属性x的属性参数集用axps(i)表示,将属性y的属性参数集用ayps(i)表示。属性参数集包含能够在编码属性信息的解码中使用的参数。编码属性数据依赖于对应的属性参数集。

此外,将由多个帧构成的编码属性数据定义为属性序列(attributesequence)。编码部4801生成将在对于属性序列内的多个帧的解码处理中共同使用的参数进行保存的属性序列参数集(attributesequenceps:也记作属性sps)。属性序列依赖于属性sps。

此外,在第1编码方法中,编码属性数据依赖于编码位置数据。

此外,在图17中,示出了存在两种属性信息(属性x和属性y)的情况下的例子。在有两种属性信息的情况下,例如由两个编码部生成各自的数据及元数据。此外,例如按属性信息的每个种类来定义属性序列,按属性信息的每个种类来生成属性sps。

另外,在图17中,示出了位置信息是1种、属性信息是两种的例子,但并不限于此,属性信息也可以是1种,也可以是3种以上。在此情况下,也能够用同样的方法生成编码数据。此外,在不具有属性信息的点群数据的情况下,也可以没有属性信息。在此情况下,编码部4801也可以不生成与属性信息关联的参数集。

接着,对附加信息(元数据)的生成处理进行说明。编码部4801生成pcc流整体的参数集即pcc流ps(pccstreamps:也记作流ps)。编码部4801在流ps中保存能够在对1个或多个位置序列及1个或多个属性序列的解码处理中共同使用的参数。例如,在流ps中,包含表示点群数据的编解码器的识别信息及表示在编码中使用的算法的信息等。位置序列及属性序列依赖于流ps。

接着,对访问单元及gof进行说明。在本实施方式中,新导入访问单元(accessunit:au)及gof(groupofframe:帧组)的考虑方式。

访问单元是在解码时用来访问数据的基本单位,由1个以上的数据及1个以上的元数据构成。例如,访问单元由相同时刻的位置信息和1个或多个属性信息构成。gof是随机访问单位,由1个以上的访问单元构成。

编码部4801生成访问单元头(auheader)作为表示访问单元的开头的识别信息。编码部4801在访问单元头中保存与访问单元有关的参数。例如,访问单元头包含:在访问单元中包含的编码数据的构成或信息。此外,访问单元头包含对在访问单元中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。

另外,编码部4801也可以代替访问单元头而生成不包含与访问单元有关的参数的访问单元定界符。该访问单元定界符被用作表示访问单元的开头的识别信息。解码装置通过检测访问单元头或访问单元定界符,识别访问单元的开头。

接着,对gof开头的识别信息的生成进行说明。编码部4801生成gof头(gofheader)作为表示gof的开头的识别信息。编码部4801在gof头中保存与gof有关的参数。例如,gof头包含:在gof中包含的编码数据的构成或信息。此外,gof头包含对在gof中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。

另外,编码部4801也可以代替gof头而生成不包含与gof有关的参数的gof定界符。该gof定界符被用作表示gof的开头的识别信息。解码装置通过检测gof头或gof定界符,识别gof的开头。

在pcc编码数据中,例如定义为访问单元是pcc帧单位。解码装置基于访问单元开头的识别信息,对pcc帧进行访问。

此外,例如gof被定义为1个随机访问单位。解码装置基于gof开头的识别信息,对随机访问单位进行访问。例如,如果pcc帧相互没有依赖关系而能够单独解码,则也可以将pcc帧定义为随机访问单位。

另外,也可以对1个访问单元分配两个以上的pcc帧,也可以对1个gof分配多个随机访问单位。

此外,编码部4801也可以定义并生成上述以外的参数集或元数据。例如,编码部4801也可以生成保存有可能在解码时不一定使用的参数(可选的参数)的sei(supplementalenhancementinformation:补充增强信息)。

接着,说明编码数据的构成及编码数据向nal单元的保存方法。

例如,按编码数据的每个种类规定数据格式。图18是表示编码数据及nal单元的例子的图。

例如,如图18所示,编码数据包括头和有效载荷。另外,编码数据也可以包含编码数据、头或表示有效载荷的长度(数据量)的长度信息。此外,编码数据也可以不包含头。

头例如包含用来确定数据的识别信息。该识别信息例如表示数据种类或帧号。

头例如包含表示参照关系的识别信息。该识别信息例如是在数据间有依赖关系的情况下被保存到头中,用来从参照源对参照目标进行参照的信息。例如,在参照目标的头中,包含用来确定该数据的识别信息。在参照源的头中,包含表示参照目标的识别信息。

另外,在能够从其他信息识别或导出参照目标或参照源的情况下,也可以省略用来确定数据的识别信息或表示参照关系的识别信息。

复用部4802将编码数据保存在nal单元的有效载荷中。在nal单元头中,包含作为编码数据的识别信息的pcc_nal_unit_type。图19是表示pcc_nal_unit_type的语义例的图。

如图19所示,在pcc_codec_type是编解码器1(codec1:第1编码方法)的情况下,pcc_nal_unit_type的值0~10被分配给编解码器1中的编码位置数据(geometry)、编码属性x数据(attributex)、编码属性y数据(attributey)、位置ps(geom.ps)、属性xps(attrx.ps)、属性yps(attrx.ps)、位置sps(geometrysequenceps)、属性xsps(attributexsequenceps)、属性ysps(attributeysequenceps)、au头(auheader)、gof头(gofheader)。此外,值11以后被分配为编解码器1的备用。

在pcc_codec_type是编解码器2(codec2:第2编码方法)的情况下,pcc_nal_unit_type的值0~2被分配给编解码器的数据a(dataa)、元数据a(metadataa)、元数据b(metadatab)。此外,值3以后被分配为编解码器2的备用。

接着,对数据的送出顺序进行说明。以下,对nal单元的送出顺序的制约进行说明。

复用部4802将nal单元以gof或au单位一起送出。复用部4802将gof头配置在gof的开头,将au头配置在au的开头。

复用部4802也可以按每个au来配置序列参数集(sps),以使得在因丢包等而丢失了数据的情况下解码装置也能够从下个au起进行解码。

在编码数据中有与解码有关的依赖关系的情况下,解码装置在将参照目标的数据解码后,将参照源的数据解码。在解码装置中,为了使得能够不将数据重新排列而以接收到的顺序进行解码,复用部4802先送出参照目标的数据。

图20是表示nal单元的送出顺序的例子的图。图20表示位置信息优先、参数优先和数据合并这3个例子。

位置信息优先的送出顺序是将与位置信息有关的信息和与属性信息有关的信息的各信息一起送出的例子。在该送出顺序的情况下,与位置信息有关的信息的送出比与属性信息有关的信息的送出更早完成。

例如,通过使用该送出顺序,不解码属性信息的解码装置通过忽视属性信息的解码,有可能能够设置不进行处理的时间。此外,例如在想要早解码位置信息的解码装置的情况下,通过较早得到位置信息的编码数据,有可能能够更早地解码位置信息。

另外,在图20中,将属性xsps与属性ysps合并而记作属性sps,但也可以单独地配置属性xsps和属性ysps。

在参数集优先的送出顺序中,先送出参数集,后送出数据。

如以上这样,只要遵循nal单元送出顺序的制约,复用部4802将nal单元以怎样的顺序送出都可以。例如,也可以定义顺序识别信息,复用部4802具有以多个样式的顺序送出nal单元的功能。例如在流ps中保存nal单元的顺序识别信息。

三维数据解码装置也可以基于顺序识别信息进行解码。也可以从三维数据解码装置向三维数据编码装置指示希望的送出顺序,三维数据编码装置(复用部4802)按照被指示的送出顺序对送出顺序进行控制。

另外,只要是如数据合并的送出顺序那样遵循送出顺序的制约的范围,复用部4802也可以生成将多个功能归并的编码数据。例如,如图20所示,也可以将gof头与au头合并,也可以将axps与ayps合并。在此情况下,在pcc_nal_unit_type中,定义表示是具有多个功能的数据的识别符。

以下,对本实施方式的变形例进行说明。如帧级的ps、序列级的ps、pcc序列级的ps那样,ps有级别,如果将pcc序列级设为上位的级别,将帧级设为下位的级别,则参数的保存方法也可以使用下述的方法。

将默认的ps的值用较上位的ps表示。此外,在下位的ps的值与上位的ps的值不同的情况下,用下位的ps表示ps的值。或者,在上位不记载ps的值,在下位的ps中记载ps的值。或者,用下位的ps和上位的ps的某一方或双方来表示将ps的值用下位的ps表示、还是用上位的ps表示、还是用双方表示的信息。或者,也可以将下位的ps归并到上位的ps。或者,在下位的ps与上位的ps重复的情况下,复用部4802也可以将某一方的送出省略。

另外,编码部4801或复用部4802也可以将数据分割为切片或瓦片等,将分割后的数据送出。在分割后的数据中,包含用来识别所分割的数据的信息,在参数集中包含在分割数据的解码中使用的参数。在此情况下,在pcc_nal_unit_type中,定义了表示是与瓦片或切片有关的数据或保存参数的数据的识别符。

(实施方式4)

在hevc编码中,为了使得能够进行解码装置的并行处理,有切片或瓦片等的数据分割的工具,但在pcc(pointcloudcompression:点云压缩)编码中还没有。

在pcc中,根据并行处理、压缩效率及压缩算法,可以考虑各种各样的数据分割方法。这里,对切片及瓦片的定义、数据结构及送接收方法进行说明。

图21是表示有关本实施方式的三维数据编码装置中包含的第1编码部4910的构成的框图。第1编码部4910通过用第1编码方法(gpcc(geometrybasedpcc))将点群数据编码而生成编码数据(编码流)。该第1编码部4910包括分割部4911、多个位置信息编码部4912、多个属性信息编码部4913、附加信息编码部4914和复用部4915。

分割部4911通过将点群数据分割而生成多个分割数据。具体而言,分割部4911通过将点群数据的空间分割为多个子空间而生成多个分割数据。这里子空间指的是瓦片及切片中的一方、或瓦片及切片的组合。更具体地讲,点群数据包含位置信息、属性信息及附加信息。分割部4911将位置信息分割为多个分割位置信息,将属性信息分割为多个分割属性信息。此外,分割部4911生成关于分割的附加信息。

多个位置信息编码部4912通过将多个分割位置信息编码,生成多个编码位置信息。例如,多个位置信息编码部4912将多个分割位置信息并行处理。

多个属性信息编码部4913通过将多个分割属性信息编码而生成多个编码属性信息。例如,多个属性信息编码部4913将多个分割属性信息并行处理。

附加信息编码部4914通过将点群数据中包含的附加信息和由分割部4911在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。

复用部4915通过将多个编码位置信息、多个编码属性信息及编码附加信息复用,生成编码数据(编码流),将所生成的编码数据送出。此外,编码附加信息在解码时被使用。

另外,在图21中,示出了位置信息编码部4912及属性信息编码部4913的数量分别为两个的例子,但位置信息编码部4912及属性信息编码部4913的数量分别也可以是1个,也可以是3个以上。此外,多个分割数据既可以如cpu内的多核那样在同一芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核进行并行处理。

图22是表示第1解码部4920的构成的框图。第1解码部4920通过对通过用第1编码方法(gpcc)将点群数据编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部4920包括逆复用部4921、多个位置信息解码部4922、多个属性信息解码部4923、附加信息解码部4924和结合部4925。

逆复用部4921通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。

多个位置信息解码部4922通过将多个编码位置信息解码而生成多个分割位置信息。例如,多个位置信息解码部4922将多个编码位置信息并行处理。

多个属性信息解码部4923通过将多个编码属性信息解码而生成多个分割属性信息。例如,多个属性信息解码部4923将多个编码属性信息并行处理。

多个附加信息解码部4924通过将编码附加信息解码,生成附加信息。

结合部4925通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部4925通过使用附加信息将多个分割属性信息结合,生成属性信息。

另外,在图22中示出了位置信息解码部4922及属性信息解码部4923的数量分别为两个的例子,但位置信息解码部4922及属性信息解码部4923的数量分别也可以是1个,也可以是3个以上。此外,多个分割数据既可以如cpu内的多核那样在同一芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核进行并行处理。

接着,说明分割部4911的构成。图23是分割部4911的框图。分割部4911包括切片分割部4931(slicedivider)、位置信息瓦片分割部4932(geometrytiledivider)和属性信息瓦片分割部4933(attributetiledivider)。

切片分割部4931通过将位置信息(position(geometry))分割为切片而生成多个切片位置信息。此外,切片分割部4931通过将属性信息(attribute)分割为切片而生成多个切片属性信息。此外,切片分割部4931输出有关切片分割的信息及包含在切片分割中生成的信息的切片附加信息(slicemetadata)。

位置信息瓦片分割部4932通过将多个切片位置信息分割为瓦片而生成多个分割位置信息(多个瓦片位置信息)。此外,位置信息瓦片分割部4932输出与位置信息的瓦片分割有关的信息及包含在位置信息的瓦片分割中生成的信息的位置瓦片附加信息(geometrytilemetadata)。

属性信息瓦片分割部4933通过将多个切片属性信息分割为瓦片而生成多个分割属性信息(多个瓦片属性信息)。此外,属性信息瓦片分割部4933输出与属性信息的瓦片分割有关的信息及包含在属性信息的瓦片分割中生成的信息的属性瓦片附加信息(attributetilemetadata)。

另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。

此外,这里示出了在切片分割后进行瓦片分割的例子,但也可以在瓦片分割后进行切片分割。此外,除了切片及瓦片以外,也可以再定义新的分割种类,以3个以上的分割种类进行分割。

以下,对点群数据的分割方法进行说明。图24是表示切片及瓦片分割的例子的图。

首先,对切片分割的方法进行说明。分割部4911将三维点群数据以切片单位分割为任意的点群。分割部4911在切片分割中不分割构成点的位置信息和属性信息,而将位置信息和属性信息一齐分割。即,分割部4911以任意点处的位置信息和属性信息属于相同的切片的方式进行切片分割。另外,只要遵循这些,则分割数量及分割方法是怎样的方法都可以。此外,分割的最小单位是点。例如,位置信息和属性信息的分割数量相同。例如,与切片分割后的位置信息对应的三维点和与属性信息对应的三维点包含于相同的切片中。

此外,分割部4911在切片分割时生成作为与分割数量及分割方法有关的附加信息的切片附加信息。切片附加信息在位置信息和属性信息中是相同的。例如,切片附加信息包含表示分割后的包围盒(boundingbox)的基准坐标位置、大小或边的长度的信息。此外,切片附加信息包含表示分割数量及分割类型等的信息。

接着,对瓦片分割的方法进行说明。分割部4911将被切片分割后的数据分割为切片位置信息(g切片)和切片属性信息(a切片),将切片位置信息和切片属性信息分别分割为瓦片单位。

另外,在图24中示出了以8叉树结构分割的例子,但分割数量及分割方法是怎样的方法都可以。

此外,分割部4911将位置信息和属性信息既可以用不同的分割方法分割,也可以用相同的分割方法分割。此外,分割部4911将多个切片既可以用不同的分割方法分割为瓦片,也可以用相同的分割方法分割为瓦片。

此外,分割部4911在瓦片分割时生成与分割数量及分割方法有关的瓦片附加信息。瓦片附加信息(位置瓦片附加信息及属性瓦片附加信息)在位置信息和属性信息中独立。例如,瓦片附加信息包含表示分割后的包围盒的基准坐标位置、大小或边的长度的信息。此外,瓦片附加信息包含表示分割数量及分割类型等的信息。

接着,说明将点群数据分割为切片或瓦片的方法的例子。作为切片或瓦片分割的方法,分割部4911既可以使用预先设定的方法,也可以根据点群数据而自适应地切换所使用的方法。

在切片分割时,分割部4911对于位置信息和属性信息一齐将三维空间分割。例如,分割部4911判定对象的形状,根据对象的形状将三维空间分割为切片。例如,分割部4911提取树或建筑物等对象,以对象单位进行分割。例如,分割部4911进行切片分割,以使1个或多个对象的整体包含于1个切片中。或者,分割部4911将一个对象分割为多个切片。

在此情况下,编码装置例如也可以按每个切片改变编码方法。例如,编码装置也可以对特定的对象或对象的特定的一部分使用高品质的压缩方法。在此情况下,编码装置也可以将表示每个切片的编码方法的信息向附加信息(元数据)保存。

此外,分割部4911也可以基于地图信息或位置信息进行切片分割,以使各切片对应于预先设定的坐标空间。

在瓦片分割时,分割部4911将位置信息和属性信息独立地分割。例如,分割部4911根据数据量或处理量将切片分割为瓦片。例如,分割部4911判定切片的数据量(例如切片中包含的三维点的数量)是否比预先设定的阈值多。分割部4911在切片的数据量比阈值多的情况下将切片分割为瓦片。分割部4911在切片的数据量比阈值少时不将切片分割为瓦片。

例如,分割部4911将切片分割为瓦片,以使解码装置中的处理量或处理时间成为一定的范围(预先设定的值以下)。由此,解码装置的每个瓦片的处理量成为一定,解码装置中的分散处理变得容易。

此外,分割部4911在位置信息和属性信息中处理量不同的情况下,例如在位置信息的处理量比属性信息的处理量多的情况下,使位置信息的分割数量比属性信息的分割数量多。

此外,例如根据内容,在解码装置也可以将位置信息较早地解码并显示、将属性信息然后慢慢解码而显示的情况下,分割部4911也可以使位置信息的分割数量比属性信息的分割数量多。由此,解码装置能够使位置信息的并行数量变多,所以能够使位置信息的处理比属性信息的处理高速化。

另外,解码装置并不需要一定将被切片化或瓦片化的数据并行处理,也可以根据解码处理部的数量或能力来判定是否将它们并行处理。

通过用以上那样的方法分割,能够实现与内容或对象对应的自适应的编码。此外,能够实现解码处理中的并行处理。由此,点群编码系统或点群解码系统的柔性提高。

图25是表示切片及瓦片的分割的样式的例子的图。图中的du是数据单位(dataunit),表示瓦片或切片的数据。此外,各du包括切片索引(sliceindex)和瓦片索引(tileindex)。图中的du的右上的数值表示切片索引,du的左下的数值表示瓦片索引。

在样式1中,在切片分割中,在g切片和a切片中分割数量及分割方法相同。在瓦片分割中,对于g切片的分割数量及分割方法与对于a切片的分割数量及分割方法不同。此外,在多个g切片间使用相同的分割数量及分割方法。在多个a切片间使用相同的分割数量及分割方法。

在样式2中,在切片分割中,在g切片和a切片中分割数量及分割方法相同。在瓦片分割中,对于g切片的分割数量及分割方法与对于a切片的分割数量及分割方法不同。此外,在多个g切片间,分割数量及分割方法不同。在多个a切片间,分割数量及分割方法不同。

接着,对分割数据的编码方法进行说明。三维数据编码装置(第1编码部4910)将被分割后的数据分别编码。三维数据编码装置在将属性信息编码时,生成表示基于哪个构成信息(位置信息、附加信息或其他属性信息)进行了编码的依赖关系信息作为附加信息。即,依赖关系信息例如表示参照目标(依赖目标)的构成信息。在此情况下,三维数据编码装置基于与属性信息的分割形状对应的构成信息生成依赖关系信息。另外,三维数据编码装置也可以基于与多个分割形状对应的构成信息生成依赖关系信息。

依赖关系信息也可以由三维数据编码装置生成,所生成的依赖关系信息被送出至三维数据解码装置。或者,也可以由三维数据解码装置生成依赖关系信息,三维数据编码装置不送出依赖关系信息。此外,也可以预先设定三维数据编码装置使用的依赖关系,三维数据编码装置不送出依赖关系信息。

图26是表示各数据的依赖关系的一例的图。图中的箭头的尖部表示依赖目标,箭头的根部表示依赖源。三维数据解码装置以从依赖目标到依赖源的顺序将数据解码。此外,在图中用实线表示的数据是实际被送出的数据,由点线表示的数据是不被送出的数据。

此外,在该图中,g表示位置信息,a表示属性信息。gs1表示切片号1的位置信息,gs2表示切片号2的位置信息。gs1t1表示切片号1且瓦片号1的位置信息,gs1t2表示切片号1且瓦片号2的位置信息,gs2t1表示切片号2且瓦片号1的位置信息,gs2t2表示切片号2且瓦片号2的位置信息。同样,as1表示切片号1的属性信息,as2表示切片号2的属性信息。as1t1表示切片号1且瓦片号1的属性信息,as1t2表示切片号1且瓦片号2的属性信息,as2t1表示切片号2且瓦片号1的属性信息,as2t2表示切片号2且瓦片号2的属性信息。

mslice表示切片附加信息,mgtile表示位置瓦片附加信息,matile表示属性瓦片附加信息。ds1t1表示属性信息as1t1的依赖关系信息,ds2t1表示属性信息as2t1的依赖关系信息。

此外,三维数据编码装置也可以将数据以解码顺序重新排列,以使得在三维数据解码装置中不需要将数据重新排列。另外,也可以在三维数据解码装置中将数据重新排列,也可以在三维数据编码装置和三维数据解码装置双方中将数据重新排列。

图27是表示数据的解码顺序的例子的图。在图27的例子中,从左方的数据起依次进行解码。三维数据解码装置在处于依赖关系的数据间,先从依赖目标的数据开始进行解码。例如,三维数据编码装置将数据预先重新排列为该顺序而送出。另外,只要是依赖目标的数据为先的顺序,则怎样的顺序都可以。此外,三维数据编码装置也可以将附加信息及依赖关系信息比数据先送出。

图28是表示由三维数据符号装置进行的处理的流程的流程图。首先,三维数据编码装置如上述那样将多个切片或瓦片的数据编码(s4901)。接着,三维数据编码装置如图27所示,以依赖目标的数据为先的方式将数据重新排列(s4902)。接着,三维数据编码装置将重新排列后的数据复用(nal单元化)(s4903)。

接着,说明在第1解码部4920中包含的结合部4925的构成。图29是表示结合部4925的构成的框图。结合部4925包括位置信息瓦片结合部4941(geometrytilecombiner)、属性信息瓦片结合部4942(attributetilecombiner)和切片结合部(slicecombiner)。

位置信息瓦片结合部4941通过使用位置瓦片附加信息将多个分割位置信息结合,生成多个切片位置信息。属性信息瓦片结合部4942通过使用属性瓦片附加信息将多个分割属性信息结合,生成多个切片属性信息。

切片结合部4943通过使用切片附加信息将多个切片位置信息结合而生成位置信息。此外,切片结合部4943通过使用切片附加信息将多个切片属性信息结合而生成属性信息。

另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。

此外,这里示出了在切片分割后进行瓦片分割的例子,但也可以在瓦片分割后进行切片分割。此外,除了切片及瓦片以外也可以还定义新的分割种类,以3个以上的分割种类进行分割。

接着,说明被切片分割或瓦片分割的编码数据的构成、以及编码数据向nal单元的保存方法(复用方法)。图30是说明编码数据的构成及编码数据向nal单元的保存方法的图。

编码数据(分割位置信息及分割属性信息)被保存到nal单元的有效载荷中。

编码数据包括头和有效载荷。头是用来确定有效载荷中包含的数据的识别信息。该识别信息例如包括切片分割或瓦片分割的种类(slice_type、tile_type)、用来确定切片或瓦片的索引信息(slice_idx、tile_idx)、数据(切片或瓦片)的位置信息、或数据的地址(address)等。用来确定切片的索引信息也记作切片索引(sliceindex)。用来确定瓦片的索引信息也记作瓦片索引(tileindex)。此外,分割的种类例如是上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或者基于数据量或处理量的方法等。

另外,上述信息的全部或一部分也可以被保存在分割位置信息的头及分割属性信息的头的一方中,而不保存在另一方中。例如,在位置信息和属性信息中使用相同的分割方法的情况下,在位置信息和属性信息中,分割的种类(slice_type、tile_type)及索引信息(slice_idx、tile_idx)相同。因此,也可以在位置信息和属性信息的一方的头中包含这些信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些信息,在属性信息的头中不包含这些信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的切片或瓦片相同的切片或瓦片。

此外,有关切片分割或瓦片分割的附加信息(切片附加信息、位置瓦片附加信息或属性瓦片附加信息)及表示依赖关系的依赖关系信息等也可以被保存在既有的参数集(gps、aps、位置sps或属性sps等)中而送出。在分割方法按每个帧变化的情况下,也可以在每个帧的参数集(gps或aps等)中保存表示分割方法的信息。在序列内分割方法不变化的情况下,也可以在每个序列的参数集(位置sps或属性sps)中保存表示分割方法的信息。进而,在位置信息和属性信息中使用相同的分割方法的情况下,也可以在pcc流的参数集(流ps)中保存表示分割方法的信息。

此外,上述的信息既可以被保存在上述的某个参数集中,也可以被保存在多个参数集中。此外,也可以定义瓦片分割或切片分割用的参数集,在该参数集中保存上述信息。此外,这些信息也可以被保存在编码数据的头中。

此外,编码数据的头包含表示依赖关系的识别信息。即,在数据间有依赖关系的情况下,该头包含用来从依赖源参照依赖目标的识别信息。例如,在依赖目标的数据的头中,包含用来确定该数据的识别信息。在依赖源的数据的头中,包含表示依赖目标的识别信息。另外,在能够根据其他信息识别或导出用来确定数据的识别信息、与切片分割或瓦片分割有关的附加信息及表示依赖关系的识别信息的情况下,也可以将这些信息省略。

接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图31是有关本实施方式的点群数据的编码处理的流程图。

首先,三维数据编码装置决定使用的分割方法(s4911)。该分割方法包含是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包含进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。分割的种类指的是上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或者基于数据量或处理量的方法等。另外,分割方法也可以被预先设定。

在进行切片分割的情况下(在s4912中“是”),三维数据编码装置通过将位置信息和属性信息一齐分割,生成多个切片位置信息及多个切片属性信息(s4913)。此外,三维数据编码装置生成有关切片分割的切片附加信息。另外,三维数据编码装置也可以将位置信息和属性信息独立地分割。

在进行瓦片分割的情况下(在s4914中“是”),三维数据编码装置通过将多个切片位置信息及多个切片属性信息(或位置信息及属性信息)独立地分割,生成多个分割位置信息及多个分割属性信息(s4915)。此外,三维数据编码装置生成与瓦片分割有关的位置瓦片附加信息及属性瓦片附加信息。另外,三维数据编码装置也可以将切片位置信息和切片属性信息一齐分割。

接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息分别编码,生成多个编码位置信息及多个编码属性信息(s4916)。此外,三维数据编码装置生成依赖关系信息。

接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行nal单元化(复用)而生成编码数据(编码流)(s4917)。此外,三维数据编码装置将所生成的编码数据送出。

图32是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(切片附加信息、位置瓦片附加信息及属性瓦片附加信息)解析,判定分割方法(s4921)。该分割方法包含是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包含进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。

接着,三维数据解码装置通过将编码数据中包含的多个编码位置信息及多个编码属性信息使用编码数据中包含的依赖关系信息进行解码,生成分割位置信息及分割属性信息(s4922)。

在由附加信息表示进行了瓦片分割的情况下(在s4923中“是”),三维数据解码装置基于位置瓦片附加信息及属性瓦片附加信息,将多个分割位置信息和多个分割属性信息用各自的方法结合,从而生成多个切片位置信息及多个切片属性信息(s4924)。另外,三维数据解码装置也可以将多个分割位置信息和多个分割属性信息用相同的方法结合。

在由附加信息表示进行了切片分割的情况下(在s4925中“是”),三维数据解码装置基于切片附加信息,将多个切片位置信息及多个切片属性信息(多个分割位置信息及多个分割属性信息)用相同的方法结合,从而生成位置信息及属性信息(s4926)。另外,三维数据解码装置也可以将多个切片位置信息和多个切片属性信息分别用不同的方法结合。

如以上这样,有关本实施方式的三维数据编码装置进行图33所示的处理。首先,三维数据编码装置分割为多个分割数据(例如瓦片),该多个分割数据包含于将包含多个三维点的对象空间分割而成的多个子空间(例如切片),并且分别包含1个以上的三维点。这里,分割数据是包含于子空间中,包含1个以上的三维点的1个以上的数据集合体。此外,分割数据也是空间,也可以包括不包含三维点的空间。此外,既可以在1个子空间中包含多个分割数据,也可以在1个子空间中包含1个分割数据。另外,也可以在对象空间中设定多个子空间,也可以在对象空间中设定1个子空间。

接着,三维数据编码装置通过将多个分割数据分别编码,生成与多个分割数据分别对应的多个编码数据(s4931)。三维数据编码装置生成包含多个编码数据和与多个编码数据分别对应的多个控制信息(例如图30所示的头)的比特流(s4932)。在多个控制信息各自中,保存表示与对应于该控制信息的编码数据对应的子空间的第1识别符(例如slice_idx)、和表示与对应于该控制信息的编码数据对应的分割数据的第2识别符(例如tile_idx)。

由此,将由三维数据编码装置生成的比特流解码的三维数据解码装置能够使用第1识别符及第2识别符将多个分割数据的数据结合而容易地复原对象空间。因此,能够减少三维数据解码装置中的处理量。

例如,三维数据编码装置在上述编码中,将在多个分割数据各自中包含的三维点的位置信息和属性信息编码。多个编码数据分别包含位置信息的编码数据和属性信息的编码数据。多个控制信息分别包含位置信息的编码数据的控制信息和属性信息的编码数据的控制信息。第1识别符及第2识别符保存在位置信息的编码数据的控制信息中。

例如,在比特流中,多个控制信息分别配置在与该控制信息对应的编码数据之前。

此外,三维数据编码装置也可以是,包含多个三维点的对象空间被设定为1个以上的子空间,在上述子空间中包括包含1个以上的三维点的1个以上的分割数据;通过将上述分割数据分别编码,生成与上述多个分割数据分别对应的多个编码数据,生成包含上述多个编码数据和与上述多个编码数据分别对应的多个控制信息的比特流;在上述多个控制信息各自中,保存表示与对应于该控制信息的编码数据对应的子空间的第1识别符、和表示与对应于该控制信息的编码数据对应的分割数据的第2识别符。

例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

此外,有关本实施方式的三维数据解码装置进行图34所示的处理。首先,三维数据解码装置从包含多个编码数据和与多个编码数据分别对应的多个控制信息(例如图30所示的头)的比特流,取得保存在上述多个控制信息中的第1识别符(例如slice_idx)和第2识别符(例如tile_idx),上述多个编码数据是通过将多个分割数据(例如瓦片)分别编码而生成的,上述多个分割数据包含于将包含多个三维点的对象空间分割而成的多个子空间(例如切片)中,并且分别包含1个以上的三维点,上述第1识别符表示与对应于该控制信息的编码数据对应的子空间,上述第2识别符表示与对应于该控制信息的编码数据对应的分割数据(s4941)。接着,三维数据解码装置通过将多个编码数据解码而复原多个分割数据(s4942)。接着,三维数据解码装置通过使用第1识别符及第2识别符将多个分割数据结合,复原对象空间(s4943)。例如,三维数据编码装置通过使用第2识别符将多个分割数据结合而复原多个子空间,通过使用第1识别符将多个子空间结合而复原对象空间(多个三维点)。另外,三维数据解码装置也可以使用第1识别符及第2识别符的至少一方,从比特流取得希望的子空间或分割数据的编码数据,将所取得的编码数据有选择地解码或优先地解码。

由此,三维数据解码装置能够使用第1识别符及第2识别符将多个分割数据的数据结合而容易地复原对象空间。因此,能够减少三维数据解码装置中的处理量。

例如,多个编码数据分别通过将对应的分割数据中包含的三维点的位置信息和属性信息编码而生成,并且包含位置信息的编码数据和属性信息的编码数据。多个控制信息分别包含位置信息的编码数据的控制信息和属性信息的编码数据的控制信息。第1识别符及第2识别符保存在位置信息的编码数据的控制信息中。

例如,在比特流中,控制信息配置在对应的编码数据之前。

例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

(实施方式5)

在使用相邻依赖的位置信息编码中,点群的密度越高,编码效率越有可能越提高。在本实施方式中,三维数据编码装置通过将连续的帧的点群数据结合,将连续的帧的点群数据一起编码。此时,三维数据编码装置生成添加了用来识别结合后的点群数据中包含的叶节点的各自所属的帧的信息的编码数据。

这里,连续的帧的点群数据类似的可能性较高。因此,在连续的帧中,占用率代码的上位级相同的可能性较高。即,通过将连续的帧一起编码,能够共用占用率代码的上位级。

此外,关于点群属于哪个帧的区别,通过将帧的索引编码而在叶节点进行。

图35表示根据n个pcc(pointcloudcompression:点云压缩)帧的点群数据生成树结构及占用率代码(occupancycode)的形象的图。在该图中,箭头中的点表示属于各个pcc帧的点。首先,对属于各个pcc帧的点赋予用来确定帧的帧索引。

接着,将属于n个帧的点变换为树结构,生成占用率代码。具体而言,按每个点,判定点属于树结构中的哪一个叶节点。在该图中,树结构(treestructure)表示节点的集合。从上层的节点起依次判定点属于哪个节点。将每个节点的判定结果编码为占用率代码。占用率代码在n个帧中是共同的。

有在节点中混杂有被赋予了不同的帧索引的不同帧的点的情况。另外,在8叉树(octree)的解析力较小的情况下,也有混杂有被赋予了相同的帧索引的相同帧的点的情况。

有在最下层的节点(叶节点)中混杂(重复)有属于多个帧的点的情况。

在树结构及占用率代码中,上层级别的树结构及占用率代码有可能在全部的帧中是共同成分,下层级别的树结构及占用率代码有可能混杂有每个帧的个别成分、或共同成分和个别成分。

例如,在叶节点等的最下层的节点中,生成具有帧索引的0以上的点,生成表示点的数量的信息、以及对于各点的帧索引的信息。这些信息也可以说在帧中是个别的信息。

图36是表示帧结合的例子的图。如图36的(a)所示,通过将多个帧汇总起来生成树结构,从而相同的节点中包含的帧的点的密度增加。此外,通过共用树结构,能够削减占用率代码的数据量。由此,有可能能够提高编码率。

此外,如图36的(b)所示,通过树结构中的占用率代码的个别成分变得更密,算术编码的效果提高,所以有可能能够提高编码率。

以下,以在时间上不同的多个pcc帧的结合为例进行说明,但也能够应用于不是多个帧的情况、即不结合帧的情况(n=1)。此外,结合的多个点群数据并不限于多个帧、即同一对象物的时刻不同的点群数据。即,以下的方法也能够应用于在空间上或时间空间上不同的多个点群数据的结合。此外,以下的方法也能够应用于内容不同的点群数据或点群文件的结合。

图37是表示在时间上不同的多个pcc帧的结合的例子的图。图37表示在汽车移动的同时、由lidar等的传感器取得点群数据的例子。点线表示各帧的传感器的取得范围、即点群数据的区域。在传感器的取得范围大的情况下,点群数据的范围也变大。

将点群数据结合而编码的方法对于以下这样的点群数据是有效的。例如,在图37所示的例子中,汽车移动,帧通过汽车周边的360°的扫描而被识别。即,作为下一帧的帧2对应于车辆向x方向的移动后的其他的360°的扫描。

在此情况下,由于在帧1和帧2中存在重复的区域,所以有可能包含相同的点群数据。因此,通过将帧1与帧2结合而编码,有可能能够提高编码效率。另外,也可以考虑将更多的帧结合。但是,如果将结合的帧数增加,则对叶节点附加的帧索引的编码所需的比特数增加。

此外,也可以由不同位置的传感器取得点群数据。由此,也可以使用从各个位置取得的各个点群数据分别作为帧。即,多个帧既可以是由单一的传感器取得的点群数据,也可以是由多个传感器取得的点群数据。此外,在多个帧间,一部分或全部的对象物既可以相同,也可以不同。

接着,说明有关本实施方式的三维数据编码处理的流程。图38是三维数据编码处理的流程图。三维数据编码装置基于作为进行结合的帧的数量的结合帧数n,读入n个全部帧的点群数据。

首先,三维数据编码装置决定结合帧数n(s5401)。例如,该结合帧数n由用户指定。

接着,三维数据编码装置取得点群数据(s5402)。接着,三维数据编码装置记录所取得的点群数据的帧索引(s5403)。

在没有将n个帧处理完的情况下(在s5404中“否”),三维数据编码装置指定下一个点群数据(s5405),对被指定的点群数据进行步骤s5402以后的处理。

另一方面,在将n个帧处理完了的情况下(在s5404中“是”),三维数据编码装置将n个帧结合,将结合后的帧编码(s5406)。

图39是编码处理(s5406)的流程图。首先,三维数据编码装置生成n个帧中共同的共同信息(s5411)。例如,共同信息包含表示占用率代码及结合帧数n的信息。

接着,三维数据编码装置按每个帧生成作为个别的信息的个别信息(s5412),例如,个别信息包括叶节点中包含的点的数量及叶节点中包含的点的帧索引。

接着,三维数据编码装置将共同信息与个别信息结合,通过将结合后的信息编码,生成编码数据(s5413)。接着,三维数据编码装置生成与帧结合有关的附加信息(元数据),将所生成的附加信息编码(s5414)。

接着,说明有关本实施方式的三维数据解码处理的流程。图40是三维数据解码处理的流程图。

首先,三维数据解码装置从比特流取得结合帧数n(s5421)。接着,三维数据编码装置从比特流取得编码数据(s5422)。接着,三维数据解码装置通过将编码数据解码,取得点群数据和帧索引(s5423)。最后,三维数据解码装置使用帧索引将被解码的点群数据分割(s5424)。

图41是解码及分割处理(s5423及s5424)的流程图。首先,三维数据解码装置从编码数据(比特流)解码(取得)共同信息及个别信息(s5431)。

接着,三维数据解码装置决定是将单一的帧解码还是将多个帧解码(s5432)。例如,也可以从外部指定是将单一的帧解码还是将多个帧解码。这里,多个帧既可以是被结合的帧的全部的帧,也可以是一部分帧。例如,三维数据解码装置也可以决定为解码应用所需要的特定帧,不解码不需要的帧。或者,在要求实时解码的情况下,三维数据解码装置也可以决定为解码被结合的多个帧中的单一的帧。

在解码单一的帧的情况下(在s5432中“是”),三维数据解码装置从解码后的个别信息中提取与被指定的单一的帧索引对应的个别信息,通过将提取出的个别信息解码,复原与被指定的帧索引对应的帧的点群数据(s5433)。

另一方面,在解码多个帧的情况下(在s5432中“否”),三维数据解码装置提取与被指定的多个帧(或全部的帧)的帧索引对应的个别信息,通过将提取出的个别信息解码,复原被指定的多个帧的点群数据(s5434)。接着,三维数据解码装置基于帧索引,将解码后的点群数据(个别信息)分割(s5435)。即,三维数据解码装置将解码后的点群数据分割为多个帧。

另外,三维数据解码装置既可以将被结合的全部的帧的数据一齐解码并将解码后的数据分割为各帧,也可以将被结合的全部的帧中的任意的一部分帧一齐解码,将解码后的数据分割为各帧。此外,三维数据解码装置也可以将由多个帧构成的预先设定的单位帧单独地解码。

以下,说明有关本实施方式的三维数据编码装置的结构。图42是表示在有关本实施方式的三维数据编码装置中包含的编码部5410的构成的框图。编码部5410通过将点群数据(点云)编码而生成编码数据(编码流)。该编码部5410包括分割部5411、多个位置信息编码部5412、多个属性信息编码部5413、附加信息编码部5414和复用部5415。

分割部5411通过将多个帧的点群数据分割,生成多个帧的多个分割数据。具体而言,分割部5411通过将各帧的点群数据的空间分割为多个子空间,生成多个分割数据。这里,子空间指的是瓦片及切片中的一方、或瓦片及切片的组合。更具体地讲,点群数据包括位置信息、属性信息(颜色或反射率等)及附加信息。此外,分割部5411中被输入帧号。分割部5411将各帧的位置信息分割为多个分割位置信息,将各帧的属性信息分割为多个分割属性信息。此外,分割部5411生成关于分割的附加信息。

例如,分割部5411首先将点群分割为瓦片。接着,分割部5411将得到的瓦片再分割为切片。

多个位置信息编码部5412通过将多个分割位置信息编码而生成多个编码位置信息。例如,位置信息编码部5412使用8叉树等n叉树结构,将分割位置信息编码。具体而言,在8叉树中,对象空间被分割为8个节点(子空间),生成表示在各节点中是否包含点群的8比特的信息(占用率代码)。此外,将包含点群的节点进一步分割为8个节点,生成表示在该8个节点各自中是否包含点群的8比特的信息。将该处理反复进行,直到成为预先设定的层级或节点中包含的点群的数量的阈值以下。例如,多个位置信息编码部5412将多个分割位置信息并行处理。

属性信息编码部4632通过使用由位置信息编码部4631生成的构成信息进行编码,生成作为编码数据的编码属性信息(compressedattribute)。例如,属性信息编码部4632基于由位置信息编码部4631生成的8叉树结构,决定在处理对象的对象点(对象节点)的编码中参照的参照点(参照节点)。例如,属性信息编码部4632参照周边节点或相邻节点中的、8叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法并不限于此。

此外,属性信息的编码处理也可以包括量化处理、预测处理及算术编码处理中的至少一个。在此情况下,参照是指在属性信息的预测值的计算中使用参照节点、或在编码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,编码的参数是指量化处理中的量化参数或算术编码中的上下文等。

多个属性信息编码部5413通过将多个分割属性信息编码,生成多个编码属性信息。例如,多个属性信息编码部5413将多个分割属性信息并行处理。

附加信息编码部5414通过将点群数据中包含的附加信息和由分割部5411在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。

复用部5415通过将多个帧的多个编码位置信息、多个编码属性信息及编码附加信息复用,生成编码数据(编码流),送出所生成的编码数据。此外,编码附加信息在解码时被使用。

图43是分割部5411的框图。分割部5411包括瓦片分割部5421和切片分割部5422。

瓦片分割部5421通过将多个帧的位置信息(position(geometry))分别分割为瓦片,生成多个瓦片位置信息。此外,瓦片分割部5421通过将多个帧的属性信息(attribute)分别分割为瓦片,生成多个瓦片属性信息。此外,瓦片分割部5421输出包含有关瓦片分割的信息及在瓦片分割中生成的信息的瓦片附加信息(tilemetadata)。

切片分割部5422通过将多个瓦片位置信息分割为切片,生成多个分割位置信息(多个切片位置信息)。此外,切片分割部5422通过将多个瓦片属性信息分割为切片,生成多个分割属性信息(多个切片属性信息)。此外,切片分割部5422输出包含有关切片分割的信息及在切片分割中生成的信息的切片附加信息(slicemetadata)。

此外,分割部5411为了在分割处理中表示原点坐标及属性信息等,使用帧号(帧索引)。

图44是位置信息编码部5412的框图。位置信息编码部5412包括帧索引生成部5431和熵编码部5432。

帧索引生成部5431基于帧号决定帧索引的值,将所决定的帧索引附加到位置信息。熵编码部5432对被附加了帧索引的分割位置信息进行熵编码,生成编码位置信息。

图45是属性信息编码部5413的框图。属性信息编码部5413包括帧索引生成部5441和熵编码部5442。

帧索引生成部5441基于帧号决定帧索引的值,将所决定的帧索引附加到属性信息。熵编码部5442通过对被附加了帧索引的分割属性信息进行熵编码,生成编码属性信息。

接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图46是有关本实施方式的点群数据的编码处理的流程图。

首先,三维数据编码装置决定要使用的分割方法(s5441)。该分割方法包括是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包括进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。

在进行瓦片分割的情况下(在s5442中“是”),三维数据编码装置通过将位置信息和属性信息分割而生成多个瓦片位置信息及多个瓦片属性信息(s5443)。此外,三维数据编码装置生成有关瓦片分割的瓦片附加信息。

在进行切片分割的情况下(在s5444中“是”),三维数据编码装置通过将多个瓦片位置信息及多个瓦片属性信息(或位置信息及属性信息)分割而生成多个分割位置信息及多个分割属性信息(s5445)。此外,三维数据编码装置生成有关切片分割的切片附加信息。

接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息分别与帧索引编码,生成多个编码位置信息及多个编码属性信息(s5446)。此外,三维数据编码装置生成依赖关系信息。

接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行nal单元化(复用),生成编码数据(编码流)(s5447)。此外,三维数据编码装置送出所生成的编码数据。

图47是编码处理(s5446)的流程图。首先,三维数据编码装置将分割位置信息编码(s5451)。接着,三维数据编码装置将分割位置信息用的帧索引编码(s5452)。

在存在分割属性信息的情况下(在s5453中“是”),三维数据编码装置将分割属性信息编码(s5454),将分割属性信息用的帧索引编码(s5455)。另一方面,在不存在分割属性信息的情况下(在s5453中“否”),三维数据编码装置不进行分割属性信息的编码及分割属性信息用的帧索引的编码。另外,帧索引可以被保存在分割位置信息和分割属性信息中的某一方或双方中。

另外,三维数据编码装置对于属性信息,既可以使用帧索引来编码,也可以不使用帧索引而编码。即,三维数据编码装置既可以使用帧索引来识别各个点所属的帧,并按每个帧编码,也可以不识别帧而对属于全部的帧的点进行编码。

以下,说明有关本实施方式的三维数据解码装置的构成。图48是表示解码部5450的构成的框图。解码部5450通过将点群数据被编码而生成的编码数据(编码流)解码,将点群数据复原。该解码部5450包括逆复用部5451、多个位置信息解码部5452、多个属性信息解码部5453、附加信息解码部5454和结合部5455。

逆复用部5451通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。

多个位置信息解码部5452通过将多个编码位置信息解码,生成多个分割位置信息。例如,多个位置信息解码部5452将多个编码位置信息并行处理。

多个属性信息解码部5453通过将多个编码属性信息解码,生成多个分割属性信息。例如,多个属性信息解码部5453将多个编码属性信息并行处理。

多个附加信息解码部5454通过将编码附加信息解码,生成附加信息。

结合部5455通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5455通过使用附加信息将多个分割属性信息结合,生成属性信息。此外,结合部5455使用帧索引将位置信息及属性信息分割为多个帧的位置信息及多个帧的属性信息。

图49是位置信息解码部5452的框图。位置信息解码部5452包括熵解码部5461和帧索引取得部5462。熵解码部5461通过将编码位置信息进行熵解码而生成分割位置信息。帧索引取得部5462从分割位置信息中取得帧索引。

图50是属性信息解码部5453的框图。属性信息解码部5453包括熵解码部5471和帧索引取得部5472。熵解码部5471通过将编码属性信息进行熵解码而生成分割属性信息。帧索引取得部5472从分割属性信息中取得帧索引。

图51是表示结合部5455的构成的图。结合部5455通过将多个分割位置信息结合而生成位置信息。结合部5455通过将多个分割属性信息结合而生成属性信息。此外,结合部5455使用帧索引将位置信息及属性信息分割为多个帧的位置信息及多个帧的属性信息。

图52是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(切片附加信息及瓦片附加信息)解析,判定分割方法(s5461)。该分割方法包括是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包括进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。

接着,三维数据解码装置使用编码数据中包含的依赖关系信息将编码数据中包含的多个编码位置信息及多个编码属性信息解码,由此生成分割位置信息及分割属性信息(s5462)。

在由附加信息表示进行了切片分割的情况下(在s5463中“是”),三维数据解码装置通过基于切片附加信息将多个分割位置信息结合,生成多个瓦片位置信息,通过将多个分割属性信息结合,生成多个瓦片属性信息(s5464)。这里,多个分割位置信息、多个分割属性信息、多个瓦片位置信息及多个瓦片属性信息包含帧索引。

在由附加信息表示进行了瓦片分割的情况下(在s5465中“是”),三维数据解码装置通过基于瓦片附加信息将多个瓦片位置信息(多个分割位置信息)结合,生成位置信息,通过将多个瓦片属性信息(多个分割属性信息)结合,生成属性信息(s5466)。这里,多个瓦片位置信息、多个瓦片属性信息、位置信息及属性信息包含帧索引。

图53是解码处理(s5464或s5466)的流程图。首先,三维数据解码装置将分割位置信息(切片位置信息)解码(s5471)。接着,三维数据解码装置将分割位置信息用的帧索引解码(s5472)。

在存在分割属性信息的情况下(在s5473中“是”),三维数据解码装置将分割属性信息解码(s5474),将分割属性信息用的帧索引解码(s5475)。另一方面,在不存在分割属性信息的情况下(在s5473中“否”),三维数据解码装置不进行分割属性信息的解码及分割属性信息用的帧索引的解码。

另外,三维数据解码装置对于属性信息,既可以使用帧索引来解码,也可以不使用帧索引而解码。

以下,对帧结合中的编码单位进行说明。图54是表示帧的结合样式的例子的图。该图的例子例如是pcc帧为时间序列、实时地进行数据的生成及编码的情况下的例子。

图54的(a)表示固定地结合4帧的情况。三维数据编码装置等待4帧量的数据的生成而生成编码数据。

图54的(b)表示帧数自适应地变化的情况。例如,三维数据编码装置在速率控制中,为了调整编码数据的代码量而使结合帧数变化。

另外,三维数据编码装置在有可能没有基于帧结合的效果的情况下,也可以不结合帧。此外,三维数据编码装置也可以将进行帧结合的情况和不进行帧结合的情况切换。

图54的(c)是要结合的多个帧的一部分与下一个要结合的多个帧的一部分重复的情况下的例子。该例在从已编码的数据起依次送出等被要求实时性或低延迟的情况下是有用的。

图55是表示pcc帧的构成例的图。三维数据编码装置也可以将要结合的帧构成为至少包含能够单独解码的数据单位。例如,如图55的(a)所示,在pcc帧全部被帧内编码、能够将pcc帧单独地解码的情况下,上述的哪种样式都能够应用。

此外,如图55的(b)所示,在应用了帧间预测的情况下等设定gof(帧组)等的随机访问单位的情况下,三维数据编码装置也可以将该gof单位作为最小单位来结合数据。

另外,三维数据编码装置既可以将共同信息和个别信息一齐编码,也可以分别单独地编码。此外,三维数据编码装置对于共同信息和个别信息既可以使用共同的数据结构也可以使用不同的数据结构。

此外,三维数据编码装置也可以在按每个帧生成占用率代码后,将多个帧的占用率代码比较,例如以规定的基准判定在多个帧的占用率代码间是否共同部分较多,在共同部分较多的情况下生成共同信息。或者,三维数据编码装置也可以基于是否共同部分是否较多,来决定是否进行帧结合、将哪个帧结合、或结合帧数。

接着,说明编码位置信息的构成。图56是表示编码位置信息的构成的图。编码位置信息包括头和有效载荷。

图57是表示编码位置信息的头(geometry_header)的句法例的图。编码位置信息的头包括gps索引(gps_idx)、偏移信息(offset)、其他信息(other_geometry_information)、帧结合标志(combine_frame_flag)和结合帧数(number_of_combine_frame)。

gps索引表示与编码位置信息对应的参数集(gps)的识别符(id)。gps是1帧或多个帧的编码位置信息的参数集。另外,在每1帧存在参数集的情况下,也可以在头中表示多个参数集的识别符。

偏移信息表示用来取得结合数据的偏移位置。其他信息表示关于位置信息的其他信息(例如,量化参数的差分值(qpdelta)等)。帧结合标志是表示编码数据是否被帧结合的标志。结合帧数表示被结合的帧的数量。

另外,也可以将上述的信息的一部分或全部记载在sps或gps中。另外,sps是指序列(多个帧)单位的参数集,是在编码位置信息和编码属性信息中共同使用的参数集。

图58是表示编码位置信息的有效载荷(geometry_data)的句法例的图。编码位置信息的有效载荷包括共同信息和叶节点信息。

共同信息是1个以上的帧结合的数据,包括占用率代码(occupancy_code)等。

叶节点信息(combine_information)是各叶节点的信息。作为帧数的循环,也可以按每个帧表示叶节点信息。

作为表示叶节点中包含的点的帧索引的方法,可以使用方法1和方法2中的任一个。图59是表示方法1的情况下的叶节点信息的例子的图。图59所示的叶节点信息包括表示节点中包含的点的数量的三维点数(numberofpoints)和每个点的帧索引(frameindex)。

图60是表示方法2的情况下的叶节点信息的例子的图。在图60所示的例子中,叶节点信息包括用位图表示多个点的帧索引的位图信息(bitmapisframepointsflag)。图61是表示位图信息的例子的图。在该例中,由位图表示叶节点包括帧索引1、3和5的三维点。

另外,在量化的解析力较低的情况下,有在同一帧中存在重复点的情况。在此情况下,也可以将三维点数(numberofpoints)共用化,表示各帧的三维点的数量和多个帧的合计的三维点的数量。

此外,在使用不可逆压缩的情况下,三维数据编码装置也可以将重复点删除而削减信息量。三维数据编码装置既可以在帧结合前删除重复点,也可以在帧结合后删除重复点。

接着,说明编码属性信息的构成。图62是表示编码属性信息的构成的图。编码属性信息包括头和有效载荷。

图63是表示编码属性信息的头(attribute_header)的句法例的图。编码属性信息的头包括aps索引(aps_idx)、偏移信息(offset)、其他信息(other_attribute_information)、帧结合标志(combine_frame_flag)和结合帧数(number_of_combine_frame)。

aps索引表示与编码属性信息对应的参数集(aps)的识别符(id)。aps是1帧或多个帧的编码属性信息的参数集。另外,在每1帧存在参数集的情况下,也可以在头中表示多个参数集的识别符。

偏移信息表示用来取得结合数据的偏移位置。其他信息表示关于属性信息的其他信息(例如,量化参数的差分值(qpdelta)等)。帧结合标志是表示编码数据是否被帧结合的标志。结合帧数表示被结合的帧的数量。

另外,也可以将上述信息的一部分或全部记载在sps或aps中。

图64是表示编码属性信息的有效载荷(attribute_data)的句法例的图。编码属性信息的有效载荷包含叶节点信息(combine_information)。例如,该叶节点信息的构成与编码位置信息的有效载荷中包含的叶节点信息是同样的。即,叶节点信息(帧索引)也可以包含在属性信息中。

此外,叶节点信息(帧索引)也可以被保存在编码位置信息和编码属性信息的一方中,而不保存在另一方中。在此情况下,保存在编码位置信息和编码属性信息的一方中的叶节点信息(帧索引)在另一方的信息的解码时被参照。此外,也可以是,表示参照目标的信息保存在编码位置信息或编码属性信息中。

接着,说明编码数据的送出顺序及解码顺序的例子。图65是表示编码数据的构成的图。编码数据包括头和有效载荷。

图66~图68是表示数据的送出顺序与数据的参照关系的图。在该图中,g(1)等表示编码位置信息,gps(1)等表示编码位置信息的参数集,sps表示序列(多个帧)的参数集。此外,()内的数字表示帧索引的值。另外,三维数据编码装置也可以将数据以解码顺序送出。

图66是表示不结合帧的情况下的送出顺序的例子的图。图67是表示作为将帧结合的情况、按每个pcc帧附加元数据(参数集)的情况下的例子的图。图68是表示将帧结合、并且以结合的单位附加元数据(参数集)的情况下的例子的图。

在帧结合后的数据的头中,为了得到该帧的元数据而保存参照目标的元数据的识别符。如图68那样,也可以将每个多个帧的元数据汇总。帧结合后的多个帧中共同的参数也可以汇总为一个。帧中不共同的参数表示与各帧对应的值。

每个帧的信息(帧中不共同的参数)例如是表示帧数据的生成时刻、编码时刻或解码时刻等的时间戳。此外,每个帧的信息也可以包括取得了帧数据的传感器的信息(传感器的速度、加速度、位置信息、传感器的朝向、其他的传感器信息等)。

图69是表示在图67所示的例子中将一部分的帧解码的例子的图。如图69所示,如果在帧结合数据内在帧间没有依赖关系,则三维数据解码装置能够将各数据独立地解码。

在点群数据具有属性信息的情况下,三维数据编码装置也可以对属性信息进行帧结合。对于属性信息,参照位置信息进行编码及解码。被参照的位置信息既可以是帧结合前的位置信息,也可以是帧结合后的位置信息。位置信息的结合帧数和属性信息的结合帧数既可以是共同的(相同),也可以是独立的(不同)。

图70~图73是表示数据的送出顺序与数据的参照关系的图。图70及图71表示将位置信息和属性信息都以4帧结合的例子。在图70中,按每个pcc帧附加元数据(参数集)。在图71中,以结合的单位附加元数据(参数集)。在该图中,a(1)等表示编码属性信息,aps(1)等表示编码属性信息的参数集。此外,()内的数字表示帧索引的值。

图72表示将位置信息以4帧结合,而不结合属性信息的例子。也可以如图72所示将位置信息进行帧结合,而不对属性信息进行帧结合。

图73表示将帧结合与瓦片分割组合的例子。在如图73所示进行瓦片分割的情况下,各瓦片位置信息的头包含gps索引(gps_idx)及结合帧数(number_of_combine_frame)等信息。此外,各瓦片位置信息的头包含用来识别瓦片的瓦片索引(tile_idx)。

如以上这样,有关本实施方式的三维数据编码装置进行图74所示的处理。首先,三维数据编码装置通过将第1点群数据与第2点群数据结合而生成第3点群数据(s5481)。接着,三维数据编码装置通过将第3点群数据编码而生成编码数据(s5482)。此外,编码数据包含表示第3点群数据中包含的多个三维点分别属于第1点群数据和第2点群数据中的哪一个的识别信息(例如帧索引)。

由此,三维数据编码装置通过将多个点群数据一起编码,能够提高编码效率。

例如,第1点群数据和第2点群数据是不同时刻的点群数据(例如pcc帧)。例如,第1点群数据和第2点群数据是同一对象物的不同时刻的点群数据(例如pcc帧)。

编码数据包含第3点群数据中包含的多个三维点各自的位置信息和属性信息,识别信息包含在属性信息中。

例如,编码数据包含使用n(n是2以上的整数)叉树表示了第3点群数据中包含的多个三维点各自的位置的位置信息(例如占用率代码)。

例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

此外,有关本实施方式的三维数据解码装置进行图75所示的处理。首先,三维数据解码装置通过将编码数据解码,取得表示第1点群数据与第2点群数据被结合而生成的第3点群数据、和表示第3点群数据中包含的多个三维点分别属于第1点群数据和第2点群数据中的哪一个的识别信息(s5491)。接着,三维数据解码装置使用识别信息,从第3点群数据中分离第1点群数据和第2点群数据(s5492)。

由此,三维数据解码装置能够将通过将多个点群数据一起编码而提高了编码效率的编码数据解码。

例如,第1点群数据和第2点群数据是不同时刻的点群数据(例如pcc帧)。例如,第1点群数据和第2点群数据是同一对象物的不同时刻的点群数据(例如pcc帧)。

编码数据包含第3点群数据中包含的多个三维点各自的位置信息和属性信息,识别信息包含在属性信息中。

例如,编码数据包含使用n(n是2以上的整数)叉树表示了第3点群数据中包含的多个三维点各自的位置的位置信息(例如占用率代码)。

例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

(实施方式6)

在本实施方式中,对将不同空间的点群数据结合而编码的空间结合进行说明。图76及图77是表示将在空间上不同的多个点群数据结合的例子的图。以下,说明点群数据是静态的点群数据的情况下的例子。

在图76所示的例子中,三维数据编码装置将1个点群数据分割为4个点群,将分割的4个空间结合(合并)为1个空间。

在图77所示的例子中,三维数据编码装置将大规模地图等的点群数据基于位置信息分割为瓦片,将各瓦片根据三维点所属的对象分割为切片。三维数据编码装置还将被分割为瓦片及切片的数据的一部分结合(合并)。这里,瓦片例如是将原来的空间基于位置信息分割而得到的子空间。切片例如是根据三维点所属的对象的种类将三维点分类而得到的点群。另外,切片也可以是将原来的空间或瓦片分割而得到的子空间。

在图77所示的例子中,三维数据编码装置在被分割为切片的数据中,对于对象为建筑物及树,将具有相同对象的切片结合(合并)。另外,三维数据编码装置也可以将1个以上的点群数据分割,将分割后的2个以上的点群数据合并。此外,三维数据编码装置也可以将分割后的数据的一部分结合,将其他不结合。

接着,说明有关本实施方式的三维数据编码装置的结构。图78是表示三维数据编码装置具备的编码部6100的结构的框图。

编码部6100通过将点群数据(点云)编码而生成编码数据(编码流)。该编码部6100包括分割结合部6101、多个位置信息编码部6102、多个属性信息编码部6103、附加信息编码部6104和复用部6105。

分割结合部6101通过将点群数据分割而生成多个分割数据,通过将所生成的多个分割数据结合而生成结合数据。具体而言,分割结合部6101通过将点群数据的空间分割为多个子空间而生成多个分割数据。这里,子空间是瓦片及切片的一方或瓦片及切片的组合。更具体地讲,点群数据包含位置信息、属性信息(颜色或反射率等)及附加信息。分割结合部6101将位置信息分割为多个分割位置信息,通过将多个分割位置信息结合而生成结合位置信息。此外,分割结合部6101将属性信息分割为多个分割属性信息,通过将多个分割属性信息结合而生成结合属性信息。此外,分割结合部6101生成关于分割的分割附加信息及关于结合的结合附加信息。

多个位置信息编码部6102通过将结合位置信息编码而生成编码位置信息。例如,位置信息编码部6102使用8叉树等的n叉树结构将分割位置信息编码。具体而言,在8叉树中,对象空间被分割为8个节点(子空间),生成表示各节点中是否包含点群的8比特的信息(占用率代码)。此外,包含点群的节点进一步被分割为8个节点,生成表示在该8个节点各自中是否包含点群的8比特的信息。反复进行该处理,直到成为预先确定的阶层或节点所包含的点群的数量的阈值以下为止。

属性信息编码部6103通过使用由位置信息编码部6102生成的构成信息将结合属性信息编码而生成编码属性信息。例如,属性信息编码部6103基于由位置信息编码部6102生成的8叉树结构,决定在处理对象的对象点(对象节点)的编码中参照的参照点(参照节点)。例如,属性信息编码部6103参照周边节点或相邻节点中的八叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法不限于此。

此外,位置信息或属性信息的编码处理可以包括量化处理、预测处理和算术编码处理中的至少一个。在该情况下,参照是指在属性信息的预测值的计算中使用参照节点,或者在编码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,编码的参数是量化处理中的量化参数、或者算术编码中的上下文等。

附加信息编码部6104通过将分割附加信息及结合附加信息编码而生成编码附加信息。

复用部6105通过将编码位置信息、编码属性信息及编码附加信息复用而生成编码数据(编码流),将所生成的编码数据送出。此外,编码附加信息在解码时使用。

图79是分割结合部6101的框图。分割结合部6101包括分割部6111和结合部6112。

分割部6111通过将各个位置信息(position(geometry))分割为瓦片而生成多个分割位置信息。此外,分割部6111通过将各个属性信息(attribute)分割为瓦片而生成多个分割属性信息。此外,分割部6111输出包括有关分割的信息及在分割中生成的信息的分割附加信息。另外,既可以代替瓦片而使用切片,也可以使用瓦片与切片的组合。

结合部6112通过将分割位置信息结合,生成结合位置信息。此外,结合部6112对结合位置信息中包含的各点附加瓦片id。瓦片id表示对应的点所属的瓦片。此外,结合部6112通过将分割属性信息结合,生成结合属性信息。

图80是位置信息编码部6102及属性信息编码部6103的框图。位置信息编码部6102包括瓦片id编码部6121和熵编码部6122。

瓦片id编码部6121生成作为表示叶节点的重复点属于哪个瓦片的信息的空间索引,将所生成的空间索引编码。这里表示空间索引是瓦片id的情况下的例子。熵编码部6122通过对结合位置信息进行熵编码,生成编码位置信息。

属性信息编码部6103包括瓦片id编码部6123和熵编码部6124。

瓦片id编码部6123生成空间索引,将所生成的空间索引编码。这里表示空间索引是瓦片id的情况下的例子。熵编码部6124通过对被附加了帧索引的分割属性信息进行熵编码,生成编码属性信息。

另外,空间索引既可以作为位置信息而被编码,也可以作为属性信息而被编码。

这样,三维数据编码装置将点群数据按每个位置信息及属性信息分割为瓦片或切片等,然后将分割的数据结合。三维数据编码装置将结合后的数据分别算术编码。此外,三维数据编码装置将在数据分割及数据结合时产生的附加信息(元数据)(例如,附加数据及属性信息等)算术编码。

接着,对空间分割和空间结合的动作进行说明。图81是由三维数据编码装置进行的三维数据编码处理的流程图。首先,三维数据编码装置决定分割方法及结合方法(s6101)。例如,分割方法包括是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包括进行切片分割或瓦片分割的情况下的分割数量及分割种类等。此外,结合方法包括是否进行结合。此外,也可以包括进行结合的情况下的结合数量及结合种类等。此外,分割方法及结合方法既可以从外部指示,也可以基于三维点的信息(例如,三维的数量或密度等)决定。

接着,三维数据编码装置读入点群数据(s6102)。接着,三维数据编码装置判定各点属于哪个瓦片(s6103)。即,进行瓦片分割(或/及切片分割)。例如,三维数据编码装置基于分割区域的信息,将点群数据分割为瓦片或切片。图82是示意地表示分割处理及结合处理的图。分割区域的信息例如是图82中的用a、b、d、c、e、f表示的空间区域。例如,将点群分割时的分割区域的信息既可以是表示要分割的空间的边界的信息,也可以是表示空间的基准位置的信息及表示相对于基准位置的包围盒的范围的信息。

此外,上述的信息既可以是已知的,也可以使用能够确定或导出该信息的其他信息来确定或导出上述信息。例如,在将点群数据基于地图的gps坐标分割为瓦片的情况下,也可以预先设定各个瓦片的基准位置及尺寸。或者,也可以另外设置表示与瓦片识别符(瓦片id)建立了对应的基准位置及尺寸的表,三维数据编码装置基于瓦片id来判定瓦片的基准位置及尺寸等。以后,在使用瓦片id的前提下进行说明。

接着,三维数据编码装置按每个瓦片将位置信息移位(s6104)。此外,三维数据编码装置对位置信息赋予瓦片id(s6105)。由此,进行数据结合。即,三维数据编码装置将分割的瓦片或切片结合。具体而言,按每个瓦片,将点群的位置信息向空间结合的三维的基准位置移位。在图82所示的例子中,三维数据编码装置将属于瓦片e的点移位,以使瓦片e的区域与瓦片a的区域重叠。例如,三维数据编码装置将属于瓦片e的点移位,以使瓦片e的基准位置与瓦片a的基准位置的差成为0。同样,三维数据编码装置将属于f、b、c的点分别移位到瓦片a的位置。另外,在图82中表示了使用二维移位的例子,但也可以使用三维移位。

此外,移位后的数据(结合后的数据)包括移位后的位置信息和瓦片id的组。在结合后的数据中,有存在具有相同的位置信息和不同的瓦片id的多个点的情况。

此外,例如按每个瓦片id设定移位量。三维数据编码装置能够基于瓦片id来判定移位量。

接着,三维数据编码装置将位置信息编码(s6106)。此时,三维数据编码装置将结合后的位置信息和瓦片id一起编码。

此外,在对于位置信息有颜色或反射率等的属性信息的情况下,三维数据编码装置将属性信息变换(s6107)及编码(s6108)。另外,三维数据编码装置在属性信息的变换及属性信息的编码中,既可以使用结合后的位置信息,也可以使用结合前的位置信息。此外,三维数据编码装置也可以将表示使用了结合后和结合前的位置信息中的哪一种的信息保存到附加信息(元数据)中。

此外,在属性信息的变换中,例如三维数据编码装置在位置信息的编码后,因量化等而三维点的位置变化了的情况下,对变化后的三维点再分配原来的三维点的属性信息。

图83是位置信息的编码处理(s6106)的流程图。三维数据编码装置将结合后的位置信息及瓦片id编码。

首先,三维数据编码装置生成在多个瓦片间共同的共同信息(s6111)。该共同信息包含瓦片的分割信息、瓦片的结合信息及占用率代码等。具体而言,三维数据编码装置将属于多个瓦片的点的位置信息变换为树结构,生成占用率代码。更具体地讲,三维数据编码装置按每个点,判定点属于树结构中的哪个叶节点。此外,三维数据编码装置从上位的节点起依次判定处理对象的点属于哪个节点,将每个节点的判定结果作为占用率代码而编码。占用率代码在多个瓦片间是共同的。

接着,三维数据编码装置按每个瓦片生成个别的个别信息(s6112)。该个别信息包括表示节点中包含的重复点的数量的信息及空间索引(瓦片id)等。

具体而言,在节点中,有混合存在属于被赋予了不同的瓦片id的不同的瓦片的点的情况。此外,在最下层的节点(叶节点)中,有混合存在(重复)属于多个瓦片的点的情况。三维数据编码装置生成表示叶节点中的重复点属于哪个瓦片的信息(空间索引),将该信息编码。

这里,将瓦片分割中的分割区域的信息、分割数量及分割数据的结合方法等有关瓦片整体的信息称作共同信息。相对于此,将叶节点处的重复点等每个瓦片的信息称作个别信息。

这样,三维数据编码装置将位置移位后的多个瓦片一起处理,生成共同的占用率代码并生成空间索引。

接着,三维数据编码装置将共同信息与个别信息结合,生成编码数据(s6113)。例如,三维数据编码装置将共同信息及个别信息进行算术编码。接着,三维数据编码装置生成有关空间结合的附加信息(元数据),将该附加信息编码(s6114)。

另外,三维数据编码装置既可以将空间索引与占用率代码一起编码,也可以作为属性信息编码,也可以对两者编码。

此外,在8叉树的解析力较低的情况下,也有被赋予了相同的瓦片id的同一瓦片内的点被包含在一个叶节点中的情况。在此情况下,也有被赋予了相同的瓦片id的同一瓦片的多个点重复、并且被赋予了不同的瓦片id的不同瓦片的多个点重复的情况。

另外,三维数据编码装置既可以对不包含点群数据的瓦片即空瓦片也附加个别的瓦片id,也可以对空瓦片不附加个别的瓦片id,而对空瓦片以外的瓦片附加个别的瓦片的瓦片id。

以下,对瓦片结合的前处理进行说明。图84是表示该前处理的例子的图。即,瓦片结合的方法并不限于进行位置移位以使上述的多个瓦片重复的方法。例如,三维数据编码装置也可以如图84所示在进行将瓦片的数据的位置变换的前处理后结合。另外,以下主要以在进行前处理后进行上述的移位(例如将瓦片的原点对准的移位)的情况为例进行说明,但也可以在前处理中包含上述的移位。

变换方法例如包括循环移位(该图的b)、移位(该图的c)、旋转(该图的e)、反转(该图的f)等。另外,变换方法也可以包括其他的变换方法。例如,变换方法也可以包含其他的几何学变换。例如,变换方法也可以拗口放大或缩小。另外,循环移位是使点群数据的位置移位、并使从原来的空间溢出的数据向反方向移动的变换。此外,三维数据编码装置也可以按每个瓦片来设定结合时的移位量。此外,三维数据编码装置既可以使用上述的多个变换方法中的某一个,也可以使用多个。

例如,三维数据编码装置将表示这些变换方法的种类及内容(旋转量或移位量等)及结合时的位置移位量的信息作为每个瓦片的信息进行算术编码并传送。在三维数据解码装置中,在这些信息是已知或可导出的情况下,三维数据编码装置也可以不传送这些信息。

此外,三维数据编码装置也可以进行元数据的变换及位置移位,以使得在结合后的点群数据中重复点变多。或者,三维数据编码装置也可以进行元数据的变换及位置移位,以使重复点变少。此外,三维数据编码装置也可以基于传感器信息进行变换。

接着,说明附加信息(元数据)的构成。图85是表示作为位置信息的参数集的gps的句法例的图。gps包括表示帧号的gps_idx及表示序列号的sps_idx的至少一方。

此外,gps包括gps信息(gps_information)、瓦片信息(tile_information)、瓦片结合标志(tile_combine_flag)和瓦片结合信息(tile_combine_information)。

gps信息(gps_information)表示pcc帧的包围盒的坐标及大小以及量化参数等。瓦片信息(tile_information)表示有关瓦片分割的信息。瓦片结合标志(tile_combine_flag)是表示是否进行数据结合的标志。瓦片结合信息(tile_combine_information)表示有关数据结合的信息。

图86是表示瓦片结合信息(tile_combine_information)的句法例的图。瓦片结合信息(tile_combine_information)包括结合类型信息(type_of_combine)、原点移位标志(shift_equal_origin_flag)和移位量(shift_x,shift_y,shift_z)。

结合类型信息(type_of_combine)表示数据结合的类型。例如,type_of_combine=a表示将分割瓦片不变形而结合。

原点移位标志(shift_equal_origin_flag)是表示是否进行将瓦片的原点移位至对象空间的原点的原点移位的标志。在原点移位的情况下,移位量是与瓦片信息(tile_information)中包含的原点(origin)相同的值,所以可以省略。

在不进行原点移位的情况等、用于结合的移位量不是已知的情况下,瓦片结合信息包含每个瓦片的移位量(shift_x,shift_y,shift_z)。此外,在瓦片是空瓦片的情况下不记载移位量。

此外,瓦片结合信息包含表示其他结合方法的信息的information()。例如,该信息是在结合前进行前处理的情况下的该前处理的信息。例如,该信息包括使用的前处理的种类(循环移位、移位、旋转、反转等、放大、缩小等)和其内容(移位量、旋转量等、放大率、缩小率等)。

图87是表示瓦片信息(tile_information)的句法例的图。瓦片信息包含分割类型信息(type_of_divide)、瓦片数信息(number_of_tiles)、空瓦片标志(tile_null_flag)、原点信息(origin_x,origin_y,origin_z)和节点尺寸(node_size)。

分割类型信息(type_of_divide)表示瓦片分割的类型。瓦片数信息(number_of_tiles)表示分割数量(瓦片的数量)。空瓦片标志(tile_null_flag)是空瓦片的信息,表示瓦片是否是空瓦片。原点信息(origin_x,origin_y,origin_z)是表示瓦片的位置(坐标)的信息,例如表示瓦片的原点的坐标。节点尺寸(node_size)表示瓦片的大小。

此外,瓦片信息也可以包含表示量化参数的信息等。此外,瓦片的坐标及大小的信息在三维数据解码装置中是已知的情况下或能够由三维数据解码装置导出的情况下也可以被省略。

另外,也可以将瓦片信息(tile_information)与瓦片结合信息(tile_combine_information)合并。此外,也可以将分割类型信息(type_of_devide)与结合类型信息(type_of_combine)合并。

接着,说明编码位置信息的构成。图88是表示编码位置信息的构成的图。编码位置信息包括头和有效载荷。

图89是表示编码位置信息的头(geometry_header)的句法例的图。编码位置信息的头包括gps索引(gps_idx)、偏移信息(offset)、位置信息(geometry_information)、结合标志(combine_flag)、结合瓦片数(number_of_combine_tile)和结合索引(combine_index)。

gps索引(gps_idx)表示与编码属性信息对应的参数集(gps)的id。另外,在按每个瓦片存在参数集的情况下,也可以将多个id表示在头中。偏移信息(offset)表示用来取得数据的偏移位置(地址)。位置信息(geometry_information)表示pcc帧的包围盒的信息(例如瓦片的坐标及大小)等。

结合标志(combine_flag)是表示编码数据是否被空间结合的标志。结合瓦片数(number_of_combine_tile)表示被结合的瓦片数量。另外,这些信息也可以被记载在sps或gps中。结合索引(combine_index)表示将数据进行了结合时的结合数据的索引。在帧内的结合数据的数量是1的情况下,也可以将结合索引省略。

图90是表示编码位置信息的有效载荷(geometry_data)的句法例的图。编码位置信息的有效载荷包括占用率代码(occupancy_code(depth,i))和结合信息(combine_information)。

占用率代码(occupancy_code(depth,i))是1个以上的帧被结合后的数据,是共同信息。

结合信息(combine_information)是叶节点的信息。叶节点的信息也可以记载为瓦片数量的循环。即,也可以按每个瓦片来表示叶节点的信息。

此外,作为表示叶节点中包含的多个点的空间索引的方法,例如有分别表示节点中包含的重复点的数量、每个点的空间索引的值的方法(方法1)和使用位图的方法(方法2)等。

图91是表示方法1的结合信息(combine_information)的句法例的图。

结合信息包含表示重复点的数量的重复点数(numberofpoints)和瓦片id(tileid(i))。

另外,在量化的解析力较低的情况下,有在同一帧中存在重复点的情况。在此情况下,也可以将重复点数(numberofpoints)共有化,记载包含在同一帧中的重复点的数量与包含在多个帧中的重复点的数量的合计。

图92是表示方法2的结合信息(combine_information)的句法例的图。结合信息包含位图信息(bitmap)。图93是表示位图信息的例子的图。在该例中,由位图表示叶节点包括瓦片号1、3和5的三维点。

另外,三维数据编码装置在进行不可逆压缩的情况下,也可以将重复点去除而削减信息量。此外,三维数据编码装置既可以在数据结合前将重复点去除,也可以在数据结合后将重复点去除。

接着,对空间索引的其他的送出方法进行说明。三维数据编码装置也可以将空间索引变换为等级(rank)信息并送出。等级变换是将位图变换为等级(ranking)及比特数(rankbit)并将变换后的等级及比特数送出的方法。

图94是瓦片id编码部6121的框图。该瓦片id编码部6121包括位图生成部6131、位图反转部6132、查找表参照部6133和比特数取得部6134。

位图生成部6131基于结合瓦片数、重复点数及各三维点的瓦片id生成位图。例如,位图生成部6131生成表示多个三维数据被结合后的结合三维数据中的包含在叶节点(单位空间)中的三维点属于该多个三维数据中的哪个的位图。位图是由0和1表示的数字数据。位图与变换码及包含在单位空间中的三维点的数量1对1地对应。

位图反转部6132基于重复点数,使位图生成部6131生成的位图反转。

具体而言,例如位图反转部6132判定重复点数是否超过了结合瓦片数的半数,如果超过了半数,则使位图各自的比特反转(换言之,将0和1替换)。此外,例如如果重复点数没有超过结合瓦片数的半数,则位图反转部6132不使位图反转。

这样,位图反转部6132判定重复点数是否超过规定的阈值,如果超过该规定的阈值,则使位图各自的比特反转。此外,例如如果重复点数没有超过规定的阈值,则位图反转部6132不使位图反转。例如,规定的阈值是结合瓦片数的半数。

查找表参照部6133使用规定的查找表将位图反转部6132进行反转后的位图(反转位图)或重复点数不超过结合瓦片数的半数的位图变换为等级(也称作排名)。即,查找表参照部6133例如使用查找表,将位图生成部6131生成的位图或位图反转部6132生成的反转位图变换为等级(换言之,生成等级)。查找表参照部6133例如具有存储查找表的存储器。

等级是将位图按位图中包含的每1个数(即,按每个由n表示的数)分类、并表示分类的组内的瓦片id或顺序的数值。例如,n也是重复点数。

比特数取得部6134根据结合瓦片数及重复点数,取得等级的比特数。另外,根据等级的最大数决定的等级的所需比特数(为了将等级用2进制数表现所需要的比特数)是根据结合瓦片数及重复点数唯一地决定的数。三维数据编码装置由比特数取得部6134生成表示等级的比特数的信息(等级信息),在未图示的比特数取得部6134的后段进行计算编码。

另外,比特数取得部6134在等级的值为0的情况下,也可以不送出等级信息。此外,在比特数取得部6134中,在等级不是0的情况下,也可以将等级-1的值进行编码。或者,比特数取得部6134在等级不是0的情况下,也可以将等级-1的值作为等级信息输出。

图95是瓦片id取得部6162的框图。该瓦片id取得部6162具备比特数取得部6141、等级取得部6142、查找表参照部6143和位图反转部6144。

瓦片id取得部6140根据从三维数据编码装置取得的编码数据中包含的附加信息(元数据)将结合瓦片数解码,再从该编码数据提取每个叶节点的重复点数。

比特数取得部6141根据结合瓦片数及重复点数取得等级的比特数。

另外,等级的最大数及等级的比特数(所需比特数)是根据结合瓦片数及重复点数唯一地决定的数。此外,三维数据解码装置取得等级的处理与上述的三维数据编码装置中的处理相同。

等级取得部6142根据解码后的编码数据,取得与上述中取得的比特数相当的等级。

查找表参照部6143根据由叶节点的重复点数及等级取得部6142取得的等级,使用规定的查找表取得位图。查找表参照部6143例如具备存储查找表的存储器。

另外,查找表参照部6143存储的查找表是与由三维数据编码装置使用的查找表对应的表。即,是用于查找表参照部6143基于等级而输出1个数不超过半数的被反转后的位图的表。例如,三维数据解码装置具备的查找表参照部6143使用的查找表与三维数据编码装置具备的查找表参照部6133所具备的查找表相同。

接着,位图反转部6144在查找表参照部6143所输出的位图中,基于重复点数使该位图反转。

具体而言,位图反转部6144判定重复点数是否超过结合瓦片数的半数,如果超过半数,则使位图各自的比特反转。另一方面,如果不超过半数,则位图反转部6144不使位图反转。即,将位图中包含的1个数不超过半数的反转后的位图变换为1个数超过半数的位图。

由此,三维数据解码装置能够从位图取得重复的点的瓦片id。

此外,瓦片id取得部6140例如根据在所取得的编码数据中包含的结合数据(例如结合三维数据)和位图,输出将三维点与瓦片id建立关联的三维数据。

此外,这里表示了使用在重复点数超过结合瓦片数的半数的情况下使位图反转的方法的例子,但也可以采用不使位图反转的方法。

接着,说明编码属性信息的构成。图96是表示编码属性信息的构成的图。编码属性信息包含头和有效载荷。

图97是表示编码属性信息的头(attribute_header)的句法例的图。编码属性信息的头(attribute_header)包括aps索引(aps_idx)、偏移信息(offset)、其他信息(other_attribute_information)、结合瓦片数(number_of_combine_tile)和参照信息(refer_different_tile)。

aps索引(aps_idx)表示与编码属性信息对应的参数集(aps)的id。另外,在按每个瓦片而存在参数集的情况下,也可以将多个id表示在头中。偏移信息(offset)表示用来取得结合数据的偏移位置(地址)。其他信息(other_attribute_information)表示其他的属性数据,例如表示量化参数的差分值(qpdelta)等。结合瓦片数(number_of_combine_tile)表示被结合的瓦片的数量。另外,这些信息也可以被记载在sps或aps中。

参照信息(refer_different_tile)是表示是否对作为编码或解码对象的三维点的对象点的属性信息使用属于同一瓦片、或属于同一瓦片及同一瓦片以外的三维点的属性信息进行编码或解码的标志。例如,可以考虑下述这样的值的分配。refer_different_tile=0表示使用与对象点同一瓦片内的三维点的属性信息将对象点的属性信息编码或解码。refer_different_tile=1表示使用与对象点同一瓦片及同一瓦片以外的三维点的属性信息将对象点的属性信息编码或解码。

图98是表示编码属性信息的有效载荷(attribute_data)的句法例的图。编码属性信息的有效载荷包含结合信息(combine_information)。例如,该结合信息与图90所示的结合信息(combine_information)同样。

接着,说明编码数据的送出顺序及解码顺序的例子。图99是表示编码数据的构成的图。编码数据包括头和有效载荷。

图100~图102是表示数据的送出顺序与数据的参照关系的图。在该图中,g(1)等表示编码位置信息,gps(1)等表示编码位置信息的参数集,sps表示序列(多个帧)的参数集。此外,()内的数字表示瓦片id的值。另外,三维数据编码装置也可以将数据以解码顺序送出。

图100是表示没有进行空间结合的情况下的送出顺序的例子的图。图101是表示进行空间结合、且按每个空间(瓦片)附加元数据(参数集)的情况下的例子的图。图102是表示进行空间结合、且以结合的单位附加元数据(参数集)的情况下的例子的图。

在被空间结合的数据的头中,保存用来得到该瓦片的元数据的、参照目的地的元数据的识别符。也可以如图102那样,将多个瓦片的元数据集中。被瓦片结合的多个瓦片中共同的参数也可以被集中为一个。多个瓦片中不共同的参数也可以表示对于各瓦片的值。

每个瓦片的信息(多个瓦片中不共同的参数),例如包括瓦片的位置信息、与其他瓦片的相对位置、编码时刻、瓦片的形状及大小、表示瓦片是否重复的信息、每个瓦片的量化参数及前处理的信息等。前处理的信息表示前处理的种类及内容,例如在瓦片分割后进行了旋转的情况下,包括表示进行了旋转的信息和表示旋转量的信息等。

图103是表示在图101所示的例子中将一部分帧解码的例子的图。如图103所示,在空间结合数据内,如果在瓦片间没有依赖关系,则三维数据解码装置能够提取一部分数据进行解码。即,三维数据解码装置能够将各数据独立地解码。

另外,在瓦片间有依赖关系的情况下,三维数据编码装置先送出参照目的地的数据。三维数据解码装置将参照目的地的数据先解码。另外,三维数据编码装置也可以不考虑送出顺序,而由三维数据解码装置将数据重新排列。

在点群数据具有属性信息的情况下,三维数据编码装置也可以对属性信息进行空间结合。参照位置信息将属性信息编码或解码。参照的位置信息既可以是空间结合之前的位置信息,也可以是空间结合之后的位置信息。

图104~图106是表示数据的送出顺序和数据的参照关系的图。在该图中,a(1)等表示编码属性信息,aps(1)等表示编码属性信息的参数集,sps表示序列(多个帧)的参数集。此外,()内的数字表示瓦片id的值。

图104是表示refer_different_tile=1的情况下的数据的送出顺序和数据的参照关系的图。在该例中,a(1-4)也可以相互参照。此外,使用g(1-4)的信息将a(1-4)编码或解码。

此外,三维数据解码装置使用与g(1-4)一起被解码的瓦片id1-4将g(1-4)和a(1-4)分割为瓦片1-4。

图105是表示refer_different_tile=1的情况下的数据的送出顺序和数据的参照关系的图。在该例中,a(1-4)不相互参照。例如a(1)参照a(1),但不参照a(2-4)。此外,使用g(1-4)的信息将a(1-4)编码或解码。

三维数据解码装置使用与g(1-4)一起被解码的瓦片id1-4将g(1-4)和a(1-4)分割为瓦片1-4。

图106是表示refer_different_tile=0的情况下的数据的送出顺序和数据的参照关系的另一例的图。在该例中,对于a(1-4)分别将aps附加到头中。此外,位置信息的结合瓦片数和属性信息的结合瓦片数既可以相同,也可以独立(不同)。

例如,也可以如图106所示对位置信息进行瓦片结合,对属性信息不进行瓦片结合。

以下,说明有关本实施方式的三维数据解码装置的构成。图107是表示有关本实施方式的三维数据解码装置具备的解码部6150的构成的框图。解码部6150通过将点群数据被编码而生成的编码数据(编码流)解码,复原点群数据。该解码部6150包括逆复用部6151、位置信息解码部6152、属性信息解码部6153、附加信息解码部6154和分割结合部6155。

逆复用部6151通过将编码数据(编码流)逆复用,生成编码位置信息、编码属性信息及编码附加信息。

位置信息解码部6152通过将编码位置信息解码,生成附加有瓦片id的结合位置信息。属性信息解码部6153通过将编码属性信息解码而生成结合属性信息。附加信息解码部6154通过将编码附加信息解码,生成结合附加信息及分割附加信息。

分割结合部6155通过使用结合附加信息及分割附加信息将结合位置信息分割及结合,生成位置信息。分割结合部6155通过使用结合附加信息及分割附加信息将结合属性信息分割及结合,生成属性信息。

图108是位置信息解码部6152及属性信息解码部6153的框图。位置信息解码部6152包括熵解码部6161和瓦片id取得部6162。熵解码部6161通过对编码位置信息进行熵解码而生成结合位置信息。瓦片id取得部6162在瓦片id被附加于位置信息的情况下,从结合位置信息取得瓦片id。

属性信息解码部6153包括熵解码部6163和瓦片id取得部6164。熵解码部6163通过对编码属性信息进行熵解码而生成结合属性信息。瓦片id取得部6164在瓦片id被附加于属性信息的情况下从结合属性信息取得瓦片id。

图109是表示分割结合部6155的构成的图。分割结合部6155包括分割部6171和结合部6172。分割部6171通过将结合位置信息使用瓦片id及结合附加信息分割而生成多个分割位置信息(瓦片位置信息)。分割部6171通过将结合属性信息使用瓦片id及结合附加信息分割,生成多个分割属性信息(瓦片属性信息)。

结合部6172通过将多个分割位置信息使用分割附加信息结合,生成位置信息。结合部6172通过将多个分割属性信息使用分割附加信息结合,生成属性信息。

接着,对三维数据解码处理进行说明。图110是有关本实施方式的三维数据解码处理的流程图。

首先,三维数据解码装置通过从比特流解码而取得作为有关分割方法的元数据的分割附加信息和作为有关结合方法的元数据的结合附加信息(s6121)。接着,三维数据解码装置通过从比特流将位置信息解码,取得解码数据(被解码的位置信息)和瓦片id(s6122)。

接着,三维数据解码装置判定aps中包含的refer_different_tile是否是1(s6123)。在refer_different_tile是1的情况下(s6123中是),三维数据解码装置基于解码后的位置信息、以及与包含对象点的瓦片同一瓦片及同一瓦片以外的瓦片中包含的三维点的属性信息,将对象点的属性信息解码上述对象点是处理对象的三维点(s6124)。另一方面,在refer_different_tile不是1(是0)的情况下(s6123中否),三维数据解码装置基于解码后的位置信息、以及与包含对象点的瓦片同一瓦片内的三维点的属性信息,将对象点的属性信息解码(s6125)。即,三维数据解码装置不参照与包含对象点的瓦片不同的瓦片中包含的三维点的属性信息。

通过以上的解码处理,三维数据解码装置将瓦片id、位置信息及属性信息解码。

此外,在瓦片id作为位置信息被编码的情况下,三维数据解码装置在位置信息的解码时取得瓦片id。此外,在有属性信息的情况下,三维数据解码装置基于已解码的属性信息将对象点的属性信息解码。另一方面,在没有属性信息的情况下,三维数据解码装置不将属性信息解码。另外,三维数据解码装置在虽然有属性信息但不需要解码的情况下,也可以不将属性信息解码。

此外,在aps中包含的refer_different_tile=1的情况下,三维数据解码装置基于被瓦片结合后的属性信息将属性信息解码。即,三维数据解码装置不论瓦片id如何都使用属性信息进行解码。

另一方面,在aps中包含的refer_different_tile=0的情况下,三维数据解码装置基于没有被瓦片结合的属性信息将属性信息解码。即,三维数据解码装置使用瓦片id将三维点进行滤波,使用与对象点相同的瓦片id的三维点的属性信息将对象点解码。即,三维数据解码装置不使用与对象点不同的瓦片id的三维点的属性信息。

接着,三维数据解码装置将结合数据分离。具体而言,三维数据解码装置基于瓦片id将位置信息按每个瓦片分割(s6126)。

接着,三维数据解码装置将瓦片或切片结合。具体而言,三维数据解码装置按每个瓦片将位置信息逆移位(s6127),将处理后的位置信息结合(s6128)。

以下,对将空间索引作为属性信息送出的方法进行说明。在对多个点群数据进行了空间结合时,也可以不是将附加于各三维点的瓦片id(空间索引)作为各三维点的位置信息,而是作为新的属性信息,使用在本发明中说明的预测编码方法进行编码。以下,表示该方法的具体例。

图111及图112是表示该情况下的数据的送出顺序及数据的参照关系的图。此外,图111表示refer_different_tile=1的情况下的例子,图112表示refer_different_tile=0的情况下的例子。

例如,在点群数据具有位置信息和第1属性信息(例如颜色)的情况下,在应用空间结合的情况下,三维数据编码装置如图111所示,将空间索引(例如瓦片id)作为第2属性信息(图111中的a2)编码,在sps中,保存表示第2属性信息包含空间索引的识别信息。

另外,在将空间索引作为属性信息送出时,也可以并不一定决定为使用可逆的编码方法。例如,可逆的编码方法是不进行量化的编码方法。此外,在空间索引是属性信息的情况下,也可以对量化参数赋予制约以成为可逆的编码。例如,在属性信息是颜色或反射率等的情况下,在应用范围中包括成为可逆的编码的参数和成为不可逆的编码的参数。在属性信息是帧索引或空间索引的情况下,也可以在应用范围中包括成为可逆的编码的参数,在应用范围中不包括成为不可逆的编码的参数。

另外,三维数据编码装置也可以在空间索引以外也将每个空间(瓦片)的信息作为第2属性信息送出。例如,每个瓦片的信息也可以表示瓦片的位置、对象瓦片与其他瓦片的相对位置、编码时间、瓦片的形状、瓦片的大小、表示瓦片是否重复的信息、每个瓦片的量化参数及前处理的信息的至少一个。前处理的信息表示前处理的种类及内容,例如在瓦片分割后进行旋转的情况下,包括表示进行了旋转的信息和表示旋转量的信息等。此外,三维数据编码装置也可以将多个瓦片的信息一起保存。

在图111所示的refer_different_tile=1的例子中,第2属性信息的附加信息(元数据)表示该属性信息的类型是空间索引或瓦片id。另外,该附加信息也可以表示空间索引的类型。例如,该附加信息包含在sps中。

此外,a(1-4)也可以相互参照。例如,第1属性信息表示颜色信息。此外,使用g(1-4)的信息将a(1-4)编码或解码。三维数据解码装置使用与g(1-4)一起被解码的瓦片id1-4将g(1-4)和a(1-4)分割为瓦片1-4。

第2属性信息表示有关瓦片1~4的瓦片id。在没有属于瓦片id的点的情况下,即当为空瓦片的情况下,也可以不表示瓦片id。

在图112所示的refer_different_tile=0的例子中,三维数据解码装置基于空间索引判定参照的属性信息。因此,三维数据编码装置在颜色或反射率等的属性信息之前送出空间索引。在图112中将aps2及a2比aps1及a1先送出。三维数据解码装置将aps2及a2比aps1及a1先解码。

另外,也可以根据refer_different_tile的值变更送出顺序。此外,三维数据解码装置在数据不按顺序的情况下也可以将数据重新排列。

例如,a(1-4)不相互参照。例如,a(1)参照a(1)。此外,使用g(1-4)的信息将a(1-4)编码或解码。

以下,说明点群数据具有颜色的属性信息和空间索引的属性信息的情况下的例子。图113是表示该情况下的数据构成的图。

三维数据编码装置在进行空间结合的情况下,生成属性信息,送出该属性信息。另外,在空间结合数是可变的情况下,在空间结合数是1的情况下,点群数据也可以不具有空间索引。三维数据解码装置在空间结合数是1的情况下,也可以判断为不存在与空间索引对应的属性信息。

三维数据编码装置也可以将gps、aps1、aps2的参数集的id设定为相同的值。此外,三维数据编码装置也可以按每个帧设定该id的值,在多个帧中设定为连续的值。在不存在包括空间索引的属性信息的情况下,参数集的id也可以不是连续的值,而是跳过不存在包括空间索引的属性信息的帧的id。

在结合数为2以上的情况下,存在与位置信息对应的、空间索引的属性信息。在结合数为1的情况下,不存在与位置信息对应的、空间索引的属性信息。

以下,对其他的例子进行说明。例如,在上述中,作为空间分割而以瓦片分割为例进行了说明,但并不限于此,也可以对其他的将空间分割的方法或将点群进行聚类的方法应用上述方法。

此外,在上述中,主要说明了作为空间索引而将瓦片id编码的例子,但也可以代替瓦片id而使用表示结合时的空间的移位量的信息等。

此外,在上述中,表示了将空间索引作为位图或等级信息保存到位置信息或属性信息中的例子。既可以使用这些多个方法的某种方法,也可以使用将多个方法组合的方法。例如,也可以在位置信息及属性信息双方中包含空间索引。此外,在位置信息及属性信息中包含的空间索引的形式(例如位图或等级信息)既可以相同也可以不同。

此外,空间分割的方法、分割数量、结合方法及结合数量的至少一个也可以随着时间而变化。例如,三维数据编码装置也可以按每个空间改变分割数量或结合数量,也可以使其自适应地变化。此外,分割数量和结合数量既可以一致也可以不一致。

此外,在上述中,表示了将分割数据结合并将结合数据送出的例子,但也可以使用以下这样的组合。图114是表示分割与结合的组合的例子的图。例如,也可以如图114所示的帧3那样将分割数据的一部分结合。在此情况下,三维数据编码装置将分割数据和结合数据送出。此时,三维数据编码装置生成识别分割数据和结合数据的识别符,将该识别符送出。

此外,也可以如图114所示的帧1那样,三维数据编码装置在将分割数据结合后再次分割。在此情况下,三维数据编码装置生成关于分割的信息,将该信息送出。

此外,也可以如图114所示将多个组合切换。在此情况下,也可以存在如帧2那样不使用分割及结合的帧。

图115是表示将帧结合与空间结合组合的例子的图。如该图所示,也可以将帧结合与空间结合组合。

如以上这样,有关本实施方式的三维数据编码装置进行图116所示的处理。三维数据编码装置对同一时刻的第1点群数据及第2点群数据中的第2点群数据进行包括移动的变换处理,并通过将第1点群数据与变换处理后的第2点群数据结合而生成第3点群数据(s6131)。接着,三维数据编码装置通过将第3点群数据编码而生成比特流(s6132)。比特流包括表示第3点群数据中包含的多个三维点各自属于第1点群数据和第2点群数据中的哪一方的第1信息(例如瓦片id或空间索引)、以及表示移动的内容的第2信息(例如,原点移位标志(shift_equal_origin_flag)或移位量(shift_x,shift_y,shift_z))。由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

例如,变换处理除了移动以外还包括几何学变换,比特流包括表示几何学变换的内容的第3信息(例如,图86所示的information()等)。由此,通过进行几何学变换,能够提高编码效率。

例如,几何学变换包括移位、旋转及反转中的至少一种。例如,三维数据编码装置基于在第3点群数据中位置信息相同的三维点即重复点的数量,决定几何学变换的内容。

例如,第2信息包括表示上述移动的移动量的信息(例如,移位量(shift_x,shift_y,shift_z))。

例如,第2信息包括表示是否使第2点群数据的原点移动到第1点群数据的原点的信息(例如,原点移位标志(shift_equal_origin_flag)。

例如,三维数据编码装置通过将第4点群数据在空间上分割,生成第1点群数据及第2点群数据。

例如,比特流包含第3点群数据中包含的多个三维点各自的位置信息和1个以上的属性信息,1个以上的属性信息中的一个属性信息包含第1信息。

例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

此外,有关本实施方式的三维数据解码装置进行图117所示的处理。三维数据解码装置从对第3点群数据进行编码而生成的比特流,将第3点群数据解码,上述第3点群数据是对同一时刻的第1点群数据及第2点群数据中的第2点群数据进行包括移动的变换处理,并通过将第1点群数据与变换处理后的第2点群数据结合而生成的(s6141)。此外,三维数据解码装置从比特流取得:表示第3点群数据中包含的多个三维点各自属于第1点群数据和第2点群数据中的哪一方的第1信息(例如瓦片id或空间索引)、以及表示移动的内容的第2信息(例如,原点移位标志(shift_equal_origin_flag)或移位量(shift_x,shift_y,shift_z))(s6142)。接着,三维数据解码装置使用第1信息及第2信息,从解码后的第3点群数据复原第1点群数据及第2点群数据(s6143)。例如,三维数据解码装置使用第1信息,从第3点群数据分离第1点群数据和变换处理后的第2点群数据。三维数据解码装置通过使用第2信息对变换处理后的第2点群数据进行逆变换,生成第2点群数据。由此,通过将同一时刻的多个点群数据一起编码,能够提高编码效率。

例如,变换处理除了移动以外还包括几何学变换。三维数据解码装置从比特流取得表示几何学变换的内容的第3信息(例如,图86所示的information()等)。三维数据解码装置在第1点群数据及第2点群数据的复原中,使用第1信息、第2信息及第3信息,从解码后的第3点群数据复原第1点群数据及第2点群数据。由此,通过进行几何学变换,能够提高编码效率。

例如,几何学变换包括移位、旋转及反转中的至少一种。例如,第2信息包含表示上述移动的移动量的信息(例如,移位量(shift_x,shift_y,shift_z))。例如,第2信息包含表示是否使第2点群数据的原点移动到第1点群数据的原点的信息(例如,原点移位标志(shift_equal_origin_flag)。

例如,三维数据解码装置通过将复原后的第1点群数据及第2点群数据在空间上结合,生成第4点群数据。

例如,比特流包含第3点群数据中包含的多个三维点各自的位置信息和1个以上的属性信息,1个以上的属性信息中的一个属性信息包含第1信息。

例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。

以上,对有关本发明的实施方式的三维数据编码装置及三维数据解码装置等进行了说明,但本发明并不限定于该实施方式。

此外,有关上述实施方式的三维数据编码装置及三维数据解码装置等中包含的各处理部典型的是作为集成电路即lsi实现。它们既可以单独地形成1个芯片,也可以包含一部分或全部而形成1个芯片。

此外,集成电路化并不限于lsi,也可以由专用电路或通用处理器实现。也可以利用在lsi制造后能够编程的fpga(fieldprogrammablegatearray现场可编程门阵列)、或能够重构lsi内部的电路单元的连接或设定的可重构处理器。

此外,在上述各实施方式中,各构成要素也可以由专用的硬件构成,或通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过由cpu或处理器等程序执行部读出被记录在硬盘或半导体存储器等记录介质中的软件程序并执行来实现。

此外,本发明也可以作为由三维数据编码装置及三维数据解码装置等执行的三维数据编码方法或三维数据解码方法等实现。

此外,框图中的功能块的分割是一例,也可以将多个功能块作为一个功能块实现,或将一个功能块分割为多个,或将一部分功能转移到其他的功能块。此外,也可以是单一的硬件或软件将具有类似的功能的多个功能块的功能并行或分时地处理。

此外,流程图中的各步骤的执行顺序是为了具体地说明本发明而例示的,也可以是上述以外的顺序。此外,也可以将上述步骤的一部分与其他步骤同时(并行)执行。

以上,基于实施方式对有关一个或多个技术方案的三维数据编码装置及三维数据解码装置等进行了说明,但本发明并不限定于该实施方式。只要不脱离本发明的主旨,对本实施方式施以本领域技术人员想到的各种变形的形态、或将不同实施方式的构成要素组合而构建的形态也可以包含在一个或多个技术方案的范围内。

产业上的可利用性

本发明能够应用于三维数据编码装置及三维数据解码装置。

标号说明

4601三维数据编码系统

4602三维数据解码系统

4603传感器终端

4604外部连接部

4611点群数据生成系统

4612提示部

4613编码部

4614复用部

4615输入输出部

4616控制部

4617传感器信息取得部

4618点群数据生成部

4621传感器信息取得部

4622输入输出部

4623逆复用部

4624解码部

4625提示部

4626用户接口

4627控制部

4630第1编码部

4631位置信息编码部

4632属性信息编码部

4633附加信息编码部

4634复用部

4640第1解码部

4641逆复用部

4642位置信息解码部

4643属性信息解码部

4644附加信息解码部

4650第2编码部

4651附加信息生成部

4652位置图像生成部

4653属性图像生成部

4654映像编码部

4655附加信息编码部

4656复用部

4660第2解码部

4661逆复用部

4662映像解码部

4663附加信息解码部

4664位置信息生成部

4665属性信息生成部

4801编码部

4802复用部

4910第1编码部

4911分割部

4912位置信息编码部

4913属性信息编码部

4914附加信息编码部

4915复用部

4920第1解码部

4921逆复用部

4922位置信息解码部

4923属性信息解码部

4924附加信息解码部

4925结合部

4931切片分割部

4932位置信息瓦片分割部

4933属性信息瓦片分割部

4941位置信息瓦片结合部

4942属性信息瓦片结合部

4943切片结合部

5410编码部

5411分割部

5412位置信息编码部

5413属性信息编码部

5414附加信息编码部

5415复用部

5421瓦片分割部

5422切片分割部

5431、5441帧索引生成部

5432、5442熵编码部

5450解码部

5451逆复用部

5452位置信息解码部

5453属性信息解码部

5454附加信息解码部

5455结合部

5461、5471熵解码部

5462、5472帧索引取得部

6100编码部

6101分割结合部

6102位置信息编码部

6103属性信息编码部

6104附加信息编码部

6105复用部

6111分割部

6112结合部

6121、6123瓦片id编码部

6122、6124熵编码部

6131位图生成部

6132、6144位图反转部

6133、6143查找表参照部

6134、6141比特数取得部

6142等级取得部

6150解码部

6151逆复用部

6152位置信息解码部

6153属性信息解码部

6154附加信息解码部

6155分割结合部

6161、6163熵解码部

6162、6164瓦片id取得部

6171分割部

6172结合部

再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1