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

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

文献发布时间:2023-06-19 19:38:38


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

技术领域

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

背景技术

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

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

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

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

现有技术文献

专利文献

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

发明内容

发明要解决的课题

期望在三维数据的编码中能够提高编码效率。

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

用来解决课题的手段

本公开的一技术方案的三维数据编码方法,参照与包含预测树的第1帧不同的第2帧中包含的三维点,对多个三维点中的编码对象点进行编码并生成编码数据,所述预测树包含所述编码对象点,生成包含所述编码数据的比特流,所述第2帧中包含的多个三维点是编码完毕的,在所述编码中,基于与所述预测树对应的运动补偿信息,参照所述第2帧中包含的多个三维点中的至少一部分三维点,对所述编码对象点进行编码,所述比特流包含所述运动补偿信息。

本公开的一技术方案的三维数据解码方法,取得包含对第1帧的预测树中包含的编码对象点进行编码后的编码数据、以及运动补偿信息的比特流,使用所述运动补偿信息,确定包含在与所述第1帧不同的第2帧中的多个三维点中的至少一部分三维点,使用对所述编码数据进行解码而得到的解码结果和所述至少一部分三维点,计算所述编码对象点,所述第2帧中包含的多个三维点是解码完毕的,所述运动补偿信息是将所述预测树与所述第2帧中包含的多个三维点中的至少一部分建立对应的信息。

发明效果

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

附图说明

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

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

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

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

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

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

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

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

图9是实施方式1的三维数据编码装置的框图。

图10是表示实施方式1的位置信息的例子的图。

图11是表示实施方式1的位置信息的八叉树表现的例子的图。

图12是实施方式1的三维数据解码装置的框图。

图13是实施方式1的属性信息编码部的框图。

图14是实施方式1的属性信息解码部的框图。

图15是表示实施方式1的属性信息编码部的结构的框图。

图16是实施方式1的属性信息编码部的框图。

图17是表示实施方式1的属性信息解码部的结构的框图。

图18是实施方式1的属性信息解码部的框图。

图19是表示实施方式1的第2编码部的结构的图。

图20是实施方式1的第2编码部的框图。

图21是表示实施方式1的第2解码部的结构的图。

图22是实施方式1的第2解码部的框图。

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

图24是表示实施方式2的编码部及复用部的结构的图。

图25是表示实施方式2的编码数据的结构例的图。

图26是表示实施方式2的编码数据及NAL单元的结构例的图。

图27是表示实施方式2的pcc_nal_unit_type的语义例的图。

图28是表示实施方式3的三维数据编码方法中使用的预测树的一例的图。

图29是表示实施方式3的三维数据编码方法的一例的流程图。

图30是表示实施方式3的三维数据解码方法的一例的流程图。

图31是用于说明实施方式3的预测树的生成方法的图。

图32是用于说明实施方式3的预测模式的第1例的图。

图33是表示实施方式3的表示在各预测模式中计算的预测值的表的第2例的图。

图34是表示实施方式3的表示在各预测模式中计算的预测值的表的第2例的具体例的图。

图35是表示实施方式3的表示在各预测模式中计算的预测值的表的第3例的图。

图36是表示实施方式3的位置信息的头的句法的一例的图。

图37是表示实施方式3的位置信息的句法的一例的图。

图38是表示实施方式3的位置信息的句法的另一例的图。

图39是实施方式4的三维数据编码装置的框图。

图40是实施方式4的三维数据解码装置的框图。

图41是实施方式4的三维数据编码装置的框图。

图42是实施方式4的三维数据解码装置的框图。

图43是表示实施方式4的帧间预测的一例的图。

图44是表示实施方式4的SPS的句法例的图。

图45是表示实施方式4的GPS的句法例的图。

图46是实施方式4的三维数据编码处理的流程图。

图47是实施方式4的三维数据解码处理的流程图。

图48是实施方式5的三维数据编码装置的框图。

图49是实施方式5的三维数据解码装置的框图。

图50是表示对实施方式5的预测树的各三维点进行编码的过程的一例的流程图。

图51是表示对实施方式5的预测树的各三维点进行解码的过程的一例的流程图。

图52是实施方式5的变形例的三维数据编码装置的框图。

图53是实施方式5的变形例的三维数据解码装置的框图。

图54是实施方式5的GPS的句法的一例。

图55是实施方式5的各三维点的句法的一例。

图56是表示实施方式5的三维数据编码处理的流程图。

图57是表示实施方式5的三维数据解码处理的流程图。

图58是表示实施方式5的编码处理中的坐标系的切换处理的流程图。

图59是表示实施方式5的解码处理中的坐标系的切换处理的流程图。

图60是表示实施方式5的三维数据编码处理的另一例的流程图。

图61是表示实施方式5的三维数据解码处理的另一例的流程图。

图62是用于说明用于决定实施方式6的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理的第1例的图。

图63是用于说明用于决定实施方式6的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理的第2例的图。

图64是用于说明用于决定实施方式6的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理的第3例的图。

图65是表示用于决定实施方式6的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理过程的流程图。

图66是表示实施方式6的运动补偿信息的句法例的图。

图67是表示实施方式6的三维数据编码装置的处理过程的流程图。

图68是表示实施方式6的三维数据解码装置的处理过程的流程图。

图69是用于说明实施方式7的本实施方式的帧间预测中的参照点群的参照方法的图。

图70是表示实施方式7的GPS(几何形状参数集)的句法的一例的图。

图71是表示实施方式7的预测树的句法的一例的图。

图72是表示实施方式7的预测树的运动补偿信息的句法的一例的图。

图73是表示实施方式7的极坐标编码中的运动补偿信息的句法的一例的图。

图74是表示实施方式7的预测树的编码范围信息的句法的一例的图。

图75是实施方式7的三维数据编码处理的流程图。

图76是实施方式7的三维数据解码处理的流程图。

图77是实施方式8的三维数据制作装置的框图。

图78是实施方式8的三维数据制作方法的流程图。

图79是表示实施方式8的系统的结构的图。

图80是实施方式8的客户端装置的框图。

图81是实施方式8的服务器的框图。

图82是实施方式8的客户端装置的三维数据制作处理的流程图。

图83是实施方式8的客户端装置的传感器信息发送处理的流程图。

图84是实施方式8的服务器的三维数据制作处理的流程图。

图85是实施方式8的服务器的三维地图发送处理的流程图。

图86是表示实施方式8的系统的变形例的结构的图。

图87是表示实施方式8的服务器以及客户端装置的结构的图。

图88是表示实施方式8的服务器以及客户端装置的结构的图。

图89是实施方式8的客户端装置的处理的流程图。

图90是表示实施方式8的传感器信息收集系统的结构的图。

图91是表示实施方式8的系统的例子的图。

图92是表示实施方式8的系统的变形例的图。

图93是表示实施方式8的应用处理的例子的流程图。

图94是表示实施方式8的各种传感器的传感器范围的图。

图95是表示实施方式8的自动驾驶系统的结构例的图。

图96是表示实施方式8的比特流的结构例的图。

图97是实施方式8的点群选择处理的流程图。

图98是表示实施方式8的点群选择处理的画面例的图。

图99是表示实施方式8的点群选择处理的画面例的图。

图100是表示实施方式8的点群选择处理的画面例的图。

具体实施方式

本公开的一技术方案的三维数据编码方法,参照与包含预测树的第1帧不同的第2帧中包含的三维点,对多个三维点中的编码对象点进行编码并生成编码数据,所述预测树包含所述编码对象点,生成包含所述编码数据的比特流,所述第2帧中包含的多个三维点是编码完毕的,在所述编码中,基于与所述预测树对应的运动补偿信息,参照所述第2帧中包含的多个三维点中的至少一部分三维点,对所述编码对象点进行编码,所述比特流包含所述运动补偿信息。

由此,基于运动补偿信息,决定为了对编码对象点进行编码而参照的至少一部分的多个三维点,因此能够提高编码效率。

例如,也可以是,包含在所述第1帧和所述第2帧中的多个三维点各自的位置信息用极坐标系来表现,将所述第1帧和所述第2帧分别映射为二维图像,所述二维图像的各像素表示所述第2帧中包含的多个三维点各自的位置信息,具有该位置信息中包含的距离信息作为像素值,在所述编码中,参照包含在映射为所述二维图像的所述第2帧中的多个三维点中的至少一部分三维点,对所述编码对象点进行编码。

例如,也可以是,表示所述二维图像的各像素的像素位置的二维坐标表示所述极坐标中包含的仰角信息和水平角信息。

例如,也可以是,所述预测树中包含的多个三维点由所述第1帧被映射的所述二维图像中的二维区域确定,所述比特流还包含表示所述二维区域的位置和尺寸的区域信息。

例如,也可以是,包含在所述第1帧和所述第2帧中的多个三维点各自的位置信息用正交坐标系来表现,所述预测树中包含的多个三维点包含在所述第1帧的第1三维区域中包含的第2三维区域中,所述比特流还包含表示所述第2三维区域的位置和尺寸的区域信息。

本公开的一技术方案的三维数据解码方法,取得比特流,所述比特流包含对第1帧的预测树中包含的编码对象点进行编码后的编码数据、以及运动补偿信息的,使用所述运动补偿信息,确定包含在与所述第1帧不同的第2帧中的多个三维点中的至少一部分三维点,使用对所述编码数据进行解码而得到的解码结果和所述至少一部分三维点,计算所述编码对象点,所述第2帧中包含的多个三维点是解码完毕的,所述运动补偿信息是将所述预测树与所述第2帧中包含的多个三维点中的至少一部分建立对应的信息。

由此,决定为了对使用比特流所示的运动补偿信息进行编码后的编码对象点进行解码而参照的至少一部分的多个三维点,因此能够对编码后的编码对象点适当地进行解码。

例如,也可以是,包含在所述第1帧和所述第2帧中的多个三维点各自的位置信息用极坐标系来表现,将所述第1帧和所述第2帧分别映射为二维图像,所述二维图像的各像素表示所述第2帧中包含的多个三维点各自的位置信息,具有该位置信息中包含的距离信息作为像素值,在所述解码中,参照包含在映射为所述二维图像的所述第2帧中的多个三维点中的至少一部分三维点,对所述编码对象点进行解码。

例如,也可以是,表示所述二维图像的各像素的像素位置的二维坐标表示所述极坐标中包含的仰角信息和水平角信息。

例如,也可以是,所述预测树中包含的多个三维点由所述第1帧被映射的所述二维图像中的二维区域确定,所述比特流还包含表示所述二维区域的位置和尺寸的区域信息。

例如,也可以是,包含在所述第1帧和所述第2帧中的多个三维点各自的位置信息用正交坐标系来表现,所述预测树中包含的多个三维点包含在所述第1帧的第1三维区域中包含的第2三维区域中,所述比特流还包含表示所述第2三维区域的位置和尺寸的区域信息。

另外,本公开的一技术方案的三维数据编码装置具备处理器和存储器,所述处理器使用所述存储器,参照与包含预测树的第1帧不同的第2帧中包含的三维点,对多个三维点中的编码对象点进行编码并生成编码数据,所述预测树包含所述编码对象点,生成包含所述编码数据的比特流,所述第2帧中包含的多个三维点是编码完毕的,在所述编码中,基于与所述预测树对应的运动补偿信息,参照所述第2帧中包含的多个三维点中的至少一部分三维点,对所述编码对象点进行编码,所述比特流包含所述运动补偿信息。

由此,基于运动补偿信息,决定为了对编码对象点进行编码而参照的至少一部分的多个三维点,因此能够提高编码效率。

另外,本公开的一技术方案的三维数据解码装置具备处理器和存储器,所述处理器使用所述存储器,取得包含对第1帧的预测树中包含的编码对象点进行编码后的编码数据、以及运动补偿信息的比特流,使用所述运动补偿信息,确定包含在与所述第1帧不同的第2帧中的多个三维点中的至少一部分三维点,使用对所述编码数据进行解码而得到的解码结果和所述至少一部分三维点,计算所述编码对象点,所述第2帧中包含的多个三维点是解码完毕的,所述运动补偿信息是将所述预测树与所述第2帧中包含的多个三维点中的至少一部分三维点建立对应的信息。

由此,决定为了对使用比特流所示的运动补偿信息进行编码后的编码对象点进行解码而参照的至少一部分的多个三维点,因此能够对编码后的编码对象点适当地进行解码。

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

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

(实施方式1)

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

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

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

此外,如PCC(Point Cloud Compression:点云压缩)那样,对第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-2TS Systems、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(Geometry based PCC)。

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

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

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

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

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

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

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

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

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

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

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

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

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

接着,说明位置信息编码部的结构例。图9是本实施方式的位置信息编码部2700的框图。位置信息编码部2700具备八叉树生成部2701、几何信息计算部2702、编码表选择部2703、以及熵编码部2704。

八叉树生成部2701根据输入的位置信息生成例如八叉树,并且生成八叉树的各节点的占用率编码。几何信息计算部2702取得表示对象节点的相邻节点是否是占有节点的信息。例如,几何信息计算部2702根据对象节点所属的父节点的占用率编码计算相邻节点的占有信息(表示相邻节点是否是占有节点的信息)。此外,几何信息计算部2702可以预先将编码完毕的节点保存在列表中,并从该列表内搜索相邻节点。此外,几何信息计算部2702可以根据对象节点在父节点内的位置来切换相邻节点。

编码表选择部2703使用由几何信息计算部2702计算的相邻节点的占有信息,选择对象节点的熵编码中使用的编码表。例如,编码表选择部2703可以使用相邻节点的占有信息来生成比特串,并选择从该比特串生成的索引号的编码表。

熵编码部2704通过使用所选择的索引号的编码表对对象节点的占用率编码进行熵编码,生成编码位置信息和元数据。熵编码部2704也可以将表示所选择的编码表的信息附加在编码位置信息中。

以下,说明八叉树表现和位置信息的扫描顺序。位置信息(位置数据)被变换为八叉树结构(八叉树化)后被编码。八叉树结构由节点和叶构成。各节点具有8个节点或叶,各叶具有体素(VXL)信息。图10是表示包含多个体素的位置信息的结构例的图。图11是表示图10所示的位置信息被变换为八叉树结构的例子的图。这里,图11所示的叶中,叶1、2、3分别表示图10所示的体素VXL1、VXL2、VXL3,并表现有包含点群的VXL(以下,有效VXL)。

具体而言,节点1对应于包含图10的位置信息的整个空间。将对应于节点1的整个空间分割为8个节点,将8个节点中包含有效VXL的节点进一步分割为8个节点或叶,与树结构的层级量相应地重复该处理。这里,各节点对应于子空间,作为节点信息具有表示在分割后的哪个位置具有下一个节点或叶的信息(占用率编码)。此外,将最下层的块设定在叶中,保持包含在叶内的点群数等作为叶信息。

接着,说明位置信息解码部的结构例。图12是本实施方式的位置信息解码部2710的框图。位置信息解码部2710具备八叉树生成部2711、几何信息计算部2712、编码表选择部2713以及熵解码部2714。

八叉树生成部2711使用比特流的头信息或者元数据等来生成某空间(节点)的八叉树。例如,八叉树生成部2711使用附加在头信息中的某空间的x轴、y轴、z轴方向的大小来生成大空间(根节点),通过将该空间在x轴、y轴、z轴方向上分别进行2分割而生成8个小空间A(节点A0~A7),从而生成八叉树。另外,节点A0~A7被依次设定为对象节点。

几何信息计算部2712取得表示对象节点的相邻节点是否是占有节点的占有信息。例如,几何信息计算部2712根据对象节点所属的父节点的占用率编码来计算相邻节点的占有信息。此外,几何信息计算部2712可以预先将解码完毕的节点保存在列表中,并从该列表内搜索相邻节点。此外,几何信息计算部2712可以根据对象节点在父节点内的位置来切换相邻节点。

编码表选择部2713使用由几何信息计算部2712计算出的相邻节点的占有信息,选择在对象节点的熵解码中使用的编码表(解码表)。例如,编码表选择部2713可以使用相邻节点的占有信息生成比特串,并选择从该比特串生成的索引号的编码表。

熵解码部2714通过使用所选择的编码表对对象节点的占用率编码进行熵解码,生成位置信息。另外,熵解码部2714也可以从比特流中解码并取得所选择的编码表的信息,使用由该信息表示的编码表,对对象节点的占用率编码进行熵解码。

以下,说明属性信息编码部及属性信息解码部的结构。图13是表示属性信息编码部A100的结构例的框图。属性信息编码部可以包括执行不同的编码方法的多个编码部。例如,属性信息编码部可以根据使用情况来切换使用以下两种方法。

属性信息编码部A100包括LoD属性信息编码部A101和变换属性信息编码部A102。LoD属性信息编码部A101使用三维点的位置信息将各三维点分类到多个层级,预测属于各层级的三维点的属性信息,对该预测残差进行编码。在此,将分类后的各层级称为LoD(Level of Detail,多细节层次)。

变换属性信息编码部A102使用RAHT(Region Adaptive HierarchicalTransform,区域自适应分层变换)对属性信息进行编码。具体而言,变换属性信息编码部A102根据三维点的位置信息,对各属性信息应用RAHT或Haar变换,生成各层级的高频成分和低频成分,并利用量化和熵编码等对这些值进行编码。

图14是表示属性信息解码部A110的结构例的框图。属性信息解码部可以包括执行不同解码方法的多个解码部。例如,属性信息解码部也可以根据头或元数据中包含的信息来切换下述两种方式进行解码。

属性信息解码部A110包括LoD属性信息解码部A111和变换属性信息解码部A112。LoD属性信息解码部A111使用三维点的位置信息将各三维点分类到多个层级,一边预测属于各层级的三维点的属性信息一边解码属性值。

变换属性信息解码部A112使用RAHT(Region Adaptive HierarchicalTransform)对属性信息进行解码。具体而言,变换属性信息解码部A112根据三维点的位置信息,对各属性值的高频成分及低频成分应用inverse RAHT或inverse Haar变换,对属性值进行解码。

图15是表示作为LoD属性信息编码部A101的一例的属性信息编码部3140的结构的框图。

属性信息编码部3140包括LoD生成部3141、周围搜索部3142、预测部3143、预测残差计算部3144、量化部3145、算术编码部3146、逆量化部3147、解码值生成部3148和存储器3149。

LoD生成部3141使用三维点的位置信息生成LoD。

周围搜索部3142使用由LoD生成部3141进行的LoD的生成结果和表示各三维点间的距离的距离信息,搜索与各三维点相邻的邻近三维点。

预测部3143生成编码对象的对象三维点的属性信息的预测值。

预测残差计算部3144计算(生成)由预测部3143生成的属性信息的预测值的预测残差。

量化部3145对由预测残差计算部3144计算出的属性信息的预测残差进行量化。

算术编码部3146对由量化部3145量化后的预测残差进行算术编码。算术编码部3146将包含算术编码后的预测残差的比特流输出到例如三维数据解码装置。

此外,预测残差也可以在通过算术编码部3146进行算术编码之前,例如通过量化部3145进行二值化。

此外,例如,算术编码部3146可以在算术编码之前对用于算术编码的编码表进行初始化。算术编码部3146可以按每个层对用于算术编码的编码表进行初始化。另外,算术编码部3146也可以将表示对编码表进行了初始化的层的位置的信息包含在比特流中进行输出。

逆量化部3147对由量化部3145量化后的预测残差进行逆量化。

解码值生成部3148通过将由预测部3143生成的属性信息的预测值与由逆量化部3147逆量化后的预测残差相加来生成解码值。

存储器3149是存储由解码值生成部3148解码的各三维点的属性信息的解码值的存储器。例如,在生成尚未编码的三维点的预测值的情况下,预测部3143利用存储在存储器3149中的各三维点的属性信息的解码值来生成预测值。

图16是作为变换属性信息编码部A102的一例的属性信息编码部6600的框图。属性信息编码部6600具备排序部6601、Haar变换部6602、量化部6603、逆量化部6604、逆Haar变换部6605、存储器6606以及算术编码部6607。

排序部6601使用三维点的位置信息生成莫顿编码,按照莫顿编码顺序对多个三维点进行排序。Haar变换部6602通过对属性信息应用Haar变换来生成编码系数。量化部6603对属性信息的编码系数进行量化。

逆量化部6604对量化后的编码系数进行逆量化。逆Haar变换部6605对编码系数应用逆Haar变换。存储器6606存储解码完毕的多个三维点的属性信息的值。例如,存储器6606中存储的解码完毕的三维点的属性信息也可以利用于未被编码的三维点的预测等。

算术编码部6607根据量化后的编码系数计算ZeroCnt,对ZeroCnt进行算术编码。另外,算术编码部6607对量化后的非零的编码系数进行算术编码。算术编码部6607可以在算术编码前对编码系数进行二值化。另外,算术编码部6607也可以生成和编码各种头信息。

图17是表示作为LoD属性信息解码部A111的一例的属性信息解码部3150的结构的框图。

属性信息解码部3150包括LoD生成部3151、周围搜索部3152、预测部3153、算术解码部3154、逆量化部3155、解码值生成部3156以及存储器3157。

LoD生成部3151,使用由位置信息解码部(在图17中未图示)解码的三维点的位置信息来生成LoD。

周围搜索部3152使用LoD生成部3151的LoD的生成结果和表示各三维点间的距离的距离信息,搜索与各三维点相邻的邻近三维点。

预测部3153生成解码对象的对象三维点的属性信息的预测值。

算术解码部3154对从图15所示的属性信息编码部3140获得的比特流内的预测残差进行算术解码。此外,算术解码部3154可以对用于算术解码的解码表进行初始化。对图15所示的算术编码部3146进行了编码处理的层,算术解码部3154对用于算术解码的解码表进行初始化。算术解码部3154可以按每个层对用于算术解码的解码表进行初始化。此外,算术解码部3154可以基于包含在比特流中的、表示编码表初始化后的层的位置的信息,对解码表进行初始化。

逆量化部3155对算术解码部3154进行算术解码后的预测残差进行逆量化。

解码值生成部3156将由预测部3153生成的预测值和由逆量化部3155逆量化后的预测残差相加而生成解码值。解码值生成部3156将解码后的属性信息数据向其他装置输出。

存储器3157是存储由解码值生成部3156解码的各三维点的属性信息的解码值的存储器。例如,在生成尚未解码的三维点的预测值的情况下,预测部3153利用存储在存储器3157中的各三维点的属性信息的解码值来生成预测值。

图18是作为变换属性信息解码部A112的一例的属性信息解码部6610的框图。属性信息解码部6610具备算术解码部6611、逆量化部6612、逆Haar变换部6613以及存储器6614。

算术解码部6611对比特流所包含的ZeroCnt和编码系数进行算术解码。另外,算术解码部6611也可以对各种头信息进行解码。

逆量化部6612对算术解码出的编码系数进行逆量化。逆Haar变换部6613对逆量化后的编码系数应用逆Haar变换。存储器6614存储解码完毕的多个三维点的属性信息的值。例如,存储器6614中存储的解码完毕的三维点的属性信息也可以利用于未被解码的三维点的预测。

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

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

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

点群数据是PLY文件那样的PCC点群数据、或者根据传感器信息生成的PCC点群数据,包含位置信息(Position)、属性信息(Attribute)以及其他的附加信息(MetaData)。

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

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

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

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

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

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

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

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

逆复用部4661从编码数据中分离编码位置图像(Compressed Geometry Image)、编码属性图像(Compressed Attribute Image)、编码附加信息(Compressed MetaData)以及其他附加信息。

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

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

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

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

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

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

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

另外,以下,如果没有特定的编码方法的记载,则表示第1编码方法和第2编码方法中的任一个。

(实施方式2)

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

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

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

编码部4801将多个PCC(Point Cloud Compression)帧的点群数据编码,生成多个位置信息、属性信息及附加信息的编码数据(Multiple Compressed Data)。

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

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

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

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

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

接着,对属性信息的编码数据的生成处理进行说明。编码部4801通过将各帧的属性信息编码,生成各帧的编码属性数据(Compressed Attribute Data)。此外,将编码属性数据用A(i)表示。此外,在图25中,示出了存在属性X和属性Y的例子,将属性X的编码属性数据用AX(i)表示,将属性Y的编码属性数据用AY(i)表示。

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

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

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

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

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

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

接着,对访问单元及GOF进行说明。在本实施方式中,新导入访问单元(AccessUnit:AU)及GOF(Group of Frame:帧组)的考虑方式。

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

编码部4801生成访问单元头(AU Header)作为表示访问单元的开头的识别信息。编码部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(Supplemental Enhancement Information:补充增强信息)。

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

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

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

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

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

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

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

如图27所示,在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(Geometry Sequence PS)、属性XSPS(AttributeX Sequence PS)、属性YSPS(AttributeY Sequence PS)、AU头(AU Header)、GOF头(GOF Header)。此外,值11以后被分配为编解码器1的备用。

在pcc_codec_type是编解码器2(Codec2:第2编码方法)的情况下,pcc_nal_unit_type的值0~2被分配给编解码器的数据A(DataA)、元数据A(MetaDataA)、元数据B(MetaDataB)。此外,值3以后被分配为编解码器2的备用。

(实施方式3)

在实施方式3的三维数据编码方法中,使用基于该位置信息生成的预测树对多个三维点的位置信息进行编码。

图28是表示实施方式3的三维数据编码方法中使用的预测树的一例的图。图29是表示实施方式3的三维数据编码方法的一例的流程图。图30是表示实施方式3的三维数据解码方法的一例的流程图。

如图28及图29所示,在三维数据编码方法中,使用多个三维点生成预测树,然后对预测树的各节点所包含的节点信息进行编码。由此,得到包含被编码的节点信息的比特流。各节点信息例如是关于预测树的1个节点的信息。各节点信息例如包含1个节点的位置信息、该1个节点的索引、该1个节点所具有的子节点的数量、为了将该1个节点的位置信息编码而使用的预测模式及预测残差。

此外,如图28及图30所示,在三维数据解码方法中,对比特流中包含的被编码的各节点信息进行解码,然后,一边生成预测树一边对位置信息进行解码。

接着,使用图31对预测树的生成方法进行说明。

图31是用来说明实施方式3的预测树的生成方法的图。

在预测树的生成方法中,如图31的(a)所示,三维数据编码装置首先追加点0作为预测树的初始点。点0的位置信息由包含(x0,y0,z0)的3个要素的坐标表示。点0的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。

child_count每当对设定了该child_count的节点追加1个子节点就被+1。预测树的生成完成后的各节点的child_count表示各节点所具有的子节点的数量,被附加到比特流中。pred_mode表示用来预测各节点的位置信息的值的预测模式。预测模式的详细情况在后面叙述。

接着,如图31的(b)所示,三维数据编码装置将点1追加到预测树中。此时,三维数据编码装置也可以从已经被追加到预测树中的点群中搜索点1的最邻近点,作为该最邻近点的子节点而追加点1。点1的位置信息由包含(x1,y1,z1)的3个要素的坐标表示。点1的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图31的情况下,点0为点1的最邻近点,作为点0的子节点而追加点1。并且,三维数据编码装置使点0的child_count所表示的值增加1。

另外,各节点的位置信息的预测值也可以在对预测树追加了节点时计算。例如,在图31的(b)的情况下,三维数据编码装置也可以将点1作为点0的子节点追加,计算点0的位置信息作为预测值。在此情况下,也可以设定为pred_mode=1。pred_mode是表示预测模式的预测模式信息(预测模式值)。此外,三维数据编码装置也可以在预测值的计算后计算点1的residual_value(预测残差)。这里,residual_value是从各节点的位置信息减去在由pred_mode表示的预测模式中计算出的预测值而得到的差分值。这样,在三维数据编码方法中,通过不是将位置信息本身编码、而是将相对于预测值的差分值编码,能够提高编码效率。

接着,如图31的(c)所示,三维数据编码装置将点2追加到预测树。此时,三维数据编码装置也可以从已经追加到预测树中的点群中搜索点2的最邻近点,作为该最邻近点的子节点而追加点2。点2的位置信息由包含(x2,y2,z2)的3个要素的坐标表示。点2的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图31的情况下,点1为点2的最邻近点,作为点1的子节点而追加点2。并且,三维数据编码装置使点1的child_count所表示的值增加1。

接着,如图31的(d)所示,三维数据编码装置将点3追加到预测树中。此时,三维数据编码装置也可以从已经追加到预测树中的点群中搜索点3的最邻近点,作为该最邻近点的子节点而追加点3。点3的位置信息由包含(x3,y3,z3)的3个要素的坐标表示。点3的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图31的情况下,点0为点3的最邻近点,作为点0的子节点而追加点3。并且,三维数据编码装置使点0的child_count所表示的值增加1。

这样,三维数据编码装置将全部的点追加到预测树中,完成预测树的生成。如果预测树的生成完成,则最终具有child_count=0的节点成为预测树的叶节点(leaf)。三维数据编码装置在预测树的生成完成后,对从根(root)节点以深度(depth)优先顺序选择的各节点的child_count、pred_mode及residual_value进行编码。即,三维数据编码装置在以深度优先顺序选择节点的情况下,作为所选择的节点的下一个节点,选择该选择的节点的1个以上的子节点中的还没有被选择的子节点。三维数据编码装置在所选择的节点没有子节点的情况下,选择所选择的节点的父节点的未选择的其他子节点。

另外,编码顺序并不限于深度优先顺序,例如也可以是宽度优先(width first)顺序。三维数据编码装置在以宽度优先顺序选择节点的情况下,作为所选择的节点的下一个节点,选择与该所选择的节点相同深度(层级)的1个以上的节点中的还没有被选择的节点。三维数据编码装置在没有与所选择的节点相同深度的节点的情况下,选择下一个深度的1个以上的节点中的还没有被选择的节点。

另外,点0~3是多个三维点的一例。

另外,在上述的三维数据编码方法中,设为在将各点追加到了预测树中时计算child_count、pred_mode及residual_value,但并不一定限定于此,例如也可以在预测树的生成完成后计算它们。

关于多个三维点向三维数据编码装置的输入顺序,也可以将被输入的三维点以莫顿序(Morton order)的升序或降序重新排列,从其开头的三维点起依次进行处理。由此,三维数据编码装置能够高效地搜索处理对象的三维点的最邻近点,能够提高编码效率。此外,三维数据编码装置也可以不将三维点重新排列而以被输入的顺序进行处理。例如,三维数据编码装置也可以以多个三维点的输入顺序生成没有分支的预测树。具体而言,三维数据编码装置也可以以多个三维点的输入顺序,将被输入的三维点的下一个被输入的三维点作为规定的三维点的子节点追加。

接着,使用图32对预测模式的第1例进行说明。图32是用来说明实施方式3的预测模式的第1例的图。图32是表示预测树的一部分的图。

预测模式也可以如以下所示那样设定8个。例如,如图32所示,以计算点c的预测值的情况为例进行说明。在预测树中,表示了点c的父节点是点p0,点c的祖父节点是点p1,点c的曾祖父节点是点p2。另外,点c、点p0、点p1及点p2是多个三维点的一例。

预测模式值为0的预测模式(以下称作预测模式0)也可以不预测而设定。即,三维数据编码装置也可以在预测模式0下计算被输入的点c的位置信息作为该点c的预测值。

此外,预测模式值为1的预测模式(以下称作预测模式1)也可以设定为与点p0的差分预测。即,三维数据编码装置也可以计算作为点c的父节点的点p0的位置信息,作为该点c的预测值。

此外,预测模式值为2的预测模式(以下称作预测模式2)也可以设定为基于点p0和点p1的线性预测。即,三维数据编码装置也可以计算通过使用作为点c的父节点的点p0的位置信息和作为点c的祖父节点的点p1的位置信息的线性预测得到的预测结果,作为点c的预测值。具体而言,三维数据编码装置使用下述的式T1计算预测模式2下的点c的预测值。

预测值=2×p0-p1(式T1)

在式T1中,p0表示点p0的位置信息,p1表示点p1的位置信息。

此外,预测模式值为3的预测模式(以下称作预测模式3)也可以设定为使用点p0、点p1及点p2的平行四边形(Parallelogram)预测。即,三维数据编码装置也可以计算通过使用作为点c的父节点的点p0的位置信息、作为点c的祖父节点的点p1的位置信息和作为点c的曾祖父节点的点p2的位置信息的平行四边形预测得到的预测结果,作为点c的预测值。具体而言,三维数据编码装置使用下述的式T2计算预测模式3下的点c的预测值。

预测值=p0+p1-p2(式T2)

在式T2中,p0表示点p0的位置信息,p1表示点p1的位置信息,p2表示点p2的位置信息。

此外,预测模式值为4的预测模式(以下称作预测模式4)也可以设定为与点p1的差分预测。即,三维数据编码装置也可以计算作为点c的祖父节点的点p1的位置信息,作为该点c的预测值。

此外,预测模式值为5的预测模式(以下称作预测模式5)也可以设定为与点p2的差分预测。即,三维数据编码装置也可以计算作为点c的曾祖父节点的点p2的位置信息,作为该点c的预测值。

此外,预测模式值为6的预测模式(以下称作预测模式6)也可以设定为点p0、点p1及点p2中的某2个以上的位置信息的平均。即,三维数据编码装置也可以计算作为点c的父节点的点p0的位置信息、作为点c的祖父节点的点p1的位置信息和作为点c的曾祖父节点的点p2的位置信息中的2个以上的位置信息的平均值,作为点c的预测值。例如,三维数据编码装置在预测值的计算中使用点p0的位置信息和点p1的位置信息的情况下,使用以下的式T3计算预测模式6下的点c的预测值。

预测值=(p0+p1)/2(式T3)

在式T3中,p0表示点p0的位置信息,p1表示点p1的位置信息。

此外,预测模式值为7的预测模式(以下称作预测模式7)也可以设定为使用点p0及点p1之间的距离d0和点p2及点p1之间的距离d1的非线性预测。即,三维数据编码装置也可以计算通过使用距离d0和距离d1的非线性预测得到的预测结果,作为点c的预测值。

另外,对各预测模式分配的预测方法并不限于上述例。此外,上述的8个预测模式和上述的8个预测方法也可以不是上述的组合,是怎样的组合都可以。例如,在使用算术编码等的熵编码对预测模式进行编码的情况下,也可以对预测模式0分配使用频度高的预测方法。由此,能够提高编码效率。此外,三维数据编码装置也可以通过一边推进编码处理、一边匹配于预测模式的使用频度而动态地变更预测模式的分配,来提高编码效率。三维数据编码装置例如也可以将编码时的各预测模式的使用频度计数,对于使用频度越高的预测方法,分配由越小的值表示的预测模式。由此,能够提高编码效率。另外,M是表示预测模式的数量的预测模式数,在上述例子的情况下,由于预测模式有预测模式0~7的8个,所以为M=8。

三维数据编码装置也可以使用编码对象的三维点的周围的三维点中的距编码对象的三维点距离近的三维点的位置信息,计算在编码对象的三维点的位置信息的计算中使用的预测值,作为三维点的位置信息(x,y,z)的预测值(px,py,pz)。此外,三维数据编码装置也可以按每个三维点附加预测模式信息(pred_mode),能够根据预测模式而选择计算的预测值。

例如,在总数为M的预测模式中,可以考虑对预测模式0分配最邻近点的三维点p0的位置信息,…,对预测模式M-1分配三维点p2的位置信息,将在预测中使用的预测模式按每个三维点附加到比特流中。

另外,也可以将预测模式数M附加到比特流中。此外,预测模式数M也可以不附加到比特流中,而用标准的档次、级别等来规定值。此外,预测模式数M也可以使用根据在预测中使用的三维点数N计算出的值。例如,预测模式数M也可以通过M=N+1来计算。

图33是表示实施方式3的示出在各预测模式中计算的预测值的表的第2例的图。

图33所示的表是在预测中使用的三维点数N=4并且预测模式数M=5的情况下的例子。

在第2例中,点c的位置信息的预测值使用点p0、点p1及点p2中的至少某1个的位置信息来计算。预测模式按编码对象的每个三维点被附加。预测值被计算为与附加的预测模式相应的值。

图34是表示实施方式3的示出在各预测模式中计算的预测值的表的第2例的具体例的图。

三维数据编码装置例如也可以选择预测模式1,使用预测值(p0x,p0y,p0z)对编码对象的三维点的位置信息(x,y,z)分别进行编码。在此情况下,将表示所选择的预测模式1的预测模式值“1”附加到比特流中。

这样,三维数据编码装置也可以在预测模式的选择中,作为用于计算编码对象的三维点的位置信息所包含的3个要素的各要素的预测值的1个预测模式而选择对于3个要素共同的预测模式。

图35是表示实施方式3的示出在各预测模式中计算的预测值的表的第3例的图。

图35所示的表是在预测中使用的三维点数N=2、并且预测模式数M=5的情况下的例子。

在第3例中,点c的位置信息的预测值使用点p0及点p1中的至少某1个的位置信息来计算。预测模式按编码对象的每个三维点被附加。预测值被计算为与所附加的预测模式相应的值。

另外,在如第3例那样点c的周围的点的数量(相邻点数)不到3个的情况下,预测值为未分配的预测模式也可以被设定为“不可用(not available)”。此外,在发生了设定有“不可用”的预测模式的情况下,也可以对该预测模式分配其他的预测方法。例如,也可以对该预测模式分配点p2的位置信息作为预测值。此外,也可以对该预测模式分配被分配给其他预测模式的预测值。例如,也可以对设定有“不可用”的预测模式3分配被分配给预测模式4的点p1的位置信息。此时,对预测模式4也可以新分配点p2的位置信息。这样,在发生了设定有“不可用”的预测模式的情况下,通过对该预测模式分配新的预测方法,能够提高编码效率。

图36是表示位置信息的头的句法的一例的图。依次说明图36的句法中的NumNeighborPoint、NumPredMode、Thfix、QP以及unique_point_per_leaf。

NumNeighborPoint表示在三维点的位置信息的预测值的生成中使用的周围的点数的上限值。在周围的点数M小于NumNeighborPoint的情况下(M

NumPredMode表示在位置信息的预测中使用的预测模式的总数M。另外,预测模式数可取的值的最大值MaxM也可以由标准等来规定值。三维数据编码装置也可以将(MaxM-M)的值(0

Thfix是用来判定是否将预测模式固定的阈值。计算在预测中使用的点p1及点p0之间的距离d0、和点p2及点p1之间的距离d1,如果其差分绝对值distdiff=|d0-d1|比阈值Thfix[i]小,则预测模式被固定为α。α是用来计算预测模式使用线性预测的预测值的预测模式,在上述实施方式中是“2”。另外,Thfix也可以不附加到比特流中,其值也可以由标准等的档次或级别来规定。

QP表示在将位置信息进行量化时使用的量化参数。三维数据编码装置也可以根据量化参数计算量化步长,使用计算出的量化步长将位置信息进行量化。

unique_point_per_leaf是表示在比特流内是否包含duplicated point(位置信息相同的点)的信息。unique_point_per_leaf=1,表示在比特流内没有duplicatedpoint。unique_point_per_leaf=0,表示在比特流内存在1个以上duplicated point。

另外,在本实施方式中,是否将预测模式固定的判断是使用距离d0和距离d1的差分绝对值来进行的,但并不一定限定于此,用怎样的方法判断都可以。例如,该判断也可以是,计算点p1及点p0之间的距离d0,在距离d0比阈值大的情况下,判定为点p1不能用于预测,将预测模式值固定为“1”(预测值p0),如果不是那样,则设定预测模式。由此,能够在抑制开销的同时提高编码效率。

上述NumNeighborPoint、NumPredMode、Thfix、unique_point_per_leaf也可以被熵编码而附加到头中。例如各值也可以被二值化而算数编码。此外,为了抑制处理量,各值也可以以固定长度被编码。

图37是表示位置信息的句法的一例的图。对于图37的句法中的NumOfPoint、child_count、pred_mode及residual_value[j]依次进行说明。

NumOfPoint表示比特流中包含的三维点的总数。

child_count表示第i个三维点(node[i])拥有的子节点的数量。

pred_mode表示用来对第i个三维点的位置信息进行编码或解码的预测模式。pred_mode取值0到M-1(M为预测模式的总数)的值。在比特流中没有pred_mode的情况下(不满足作为条件的distdiff>=Thfix[i]&&NumPredMode>1的情况下),也可以将pred_mode推测为固定值α。α是用来计算预测模式使用线性预测的预测值的预测模式,在上述实施方式中是“2”。另外,α并不限于“2”,也可以设定从0到M-1中的任一个值作为推测值。此外,在比特流中没有pred_mode的情况下的推测值也可以另行附加到头等中。此外,关于pred_mode,也可以使用分配了预测值的预测模式数通过截断一元编码进行二值化而进行算术编码。

另外,在NumPredMode=1的情况下,即在预测模式数为1的情况下,三维数据编码装置也可以不将表示预测模式的预测模式值进行编码,而生成不包含预测模式值的比特流。此外,三维数据解码装置也可以在取得了不包含预测模式值的比特流的情况下,在预测值的计算中计算确定的预测模式的预测值。确定的预测模式是预先设定的预测模式。

residual_value[j]表示位置信息的与预测值之间的预测残差的编码数据。也可以是,residual_value[0]表示位置信息的要素x,residual_value[1]表示位置信息的要素y,residual_value[2]表示位置信息的要素z。

图38是表示位置信息的句法的另一例的图。图38的例子是图37的例的变形例。

如图38所示,pred_mode也可以表示位置信息(x,y,z)的3个要素各自的预测模式。即,也可以是,pred_mode[0]表示要素x的预测模式,pred_mode[1]表示要素y的预测模式,pred_mode[2]表示要素z的预测模式。pred_mode[0]、pred_mode[1]及pred_mode[2]被附加在比特流中。

(实施方式4)

在本实施方式中,说明对点群(点云)的位置信息(八叉树)的帧间预测。图39是本实施方式的三维数据编码装置12800的框图。另外,在图39中,记载了与点群的位置信息(几何形状)的编码有关的处理部,但三维数据编码装置12800也可以具备进行点群的属性信息的编码等的处理部等其他处理部。在帧间预测中,一边参照编码完毕的点群一边对编码对象的点群进行编码。

三维数据编码装置12800具备八叉树化部12801、缓冲器12802、熵编码部12803、缓冲器12804、缓冲器12805、点群化部12806、缓冲器12807、运动检测补偿部12808、八叉树化部12809、缓冲器12810、以及控制部12811。

八叉树化部12801将作为所输入的编码对象的点群的数据的对象点群变换为八叉树(Octree)表现,从而生成用八叉树表现了对象点群的位置信息的对象八叉树。此外,在输入的对象点群中,点群的位置例如由三维坐标(例如x、y、z)表现。缓冲器12802保持所生成的对象八叉树。另外,八叉树由多个节点(分支点)构成,各节点的信息包含表示该节点的8个子节点各自是否包含三维点的8比特的占用率编码。例如,缓冲器12802可以将按每个八叉树(对象点群)保持的数据初始化。

熵编码部12803通过对每个节点的信息(例如占用率编码)进行熵编码来生成比特流。此外,在该熵编码中,基于对象点群内的编码完毕的节点(帧内参照节点)的信息或编码完毕的点群内的节点(帧间参照节点)的信息来控制概率参数(也被称为编码表或概率表)。

缓冲器12804将对象节点的信息(例如占用率编码)作为帧内参照节点(编码完毕节点)来保持。例如,缓冲器12804可以将按每个八叉树(对象点群)保持的数据初始化。

缓冲器12805保持对象节点的信息(例如占用率编码)。另外,缓冲器12805将八叉树单位的对象节点的信息作为编码完毕的八叉树来保持。例如,缓冲器12805可以将按每个八叉树(对象点群)保持的数据初始化。

点群化部12806通过将编码完毕的八叉树变换为点群,生成帧间参照点群(编码完毕的点群)。缓冲器12807保持帧间参照点群。即,缓冲器12807保持编码完毕的1个或多个点群即多个帧间参照点群。

运动检测补偿部12808检测(运动检测)帧间参照点群和对象点群的位移,并且基于检测出的位移修正(运动补偿)帧间参照点群,从而生成对位之后的帧间参照点群即对位后点群。

八叉树化部12809将对位后点群变换为八叉树表现,从而生成将对位后点群的位置信息以八叉树表现的帧间参照八叉树。缓冲器12810保持所生成的帧间参照八叉树。另外,例如,缓冲器12810可以将按每个八叉树(对象点群)保持的数据初始化。

此外,三维数据编码装置12800可以以帧或八叉树单位进行运动检测及运动补偿,也可以按每个节点(点)进行运动检测及运动补偿。此外,三维数据编码装置12800可以将运动矢量等与运动补偿有关的信息记载于帧或八叉树的头部,也可以将该信息进行熵编码后记载于节点信息的头部。

另外,帧间参照点群可以是与编码对象的帧不同的编码完毕的帧所包含的点群,也可以是与编码对象的帧相同的帧所包含的编码完毕的点群。

控制部12811使用存放在缓冲器12804中的帧内参照节点、或存放在缓冲器12810中的帧间参照八叉树中包含的帧间参照节点,控制熵编码部12803在对象节点的熵编码(算术编码)中使用的概率参数。此外,是使用使用了帧内参照节点的概率参数的控制(以下,称为帧内参照),还是使用使用了帧间参照节点的概率参数的控制(以下,称为帧间参照),例如可以以帧或点群单位预先确定,也可以通过任意的方法决定。例如,可以选择估计实际编码量并减少编码量的参照方法(帧内参照或帧间参照)。

例如,在使用帧内参照的情况下,基于对象节点的多个相邻节点(帧内参照节点)的占有状态(节点中是否包含点)从多个概率参数中选择概率参数。另外,在使用帧间参照的情况下,基于包含在帧间参照八叉树中的、与对象节点和多个相邻节点中的至少一个相同位置的节点(帧间参照节点)的占有状态,从多个概率参数中选择概率参数。此外,在选择了帧间参照的情况下,也可以组合帧间参照和帧内参照来控制概率参数。另外,多个概率参数可以包含根据发生频度而更新的概率参数,也可以包含固定值。

这样,三维数据编码装置12800除了基于帧内参照节点的信息以外还基于帧间参照节点的信息来控制熵编码的概率参数,从而能够提高对象节点的信息的发生概率的预测精度。因此,有可能能够提高编码效率。

另外,三维数据编码装置12800不需要始终参照帧间参照点群,也可以在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每30帧等)或向三维数据解码装置通知的任意定时等,清除存放有帧间参照点群的缓冲器12807等,仅基于对象点群的信息对对象点群进行编码。由此,在三维数据解码装置中,能够从比特流的开头以外的、未参照帧间参照点群的点群开始跳入再现。因此,有可能提高比特流的随机访问性和容错性。

图40是本实施方式的三维数据解码装置12820的框图。另外,在图40中,记载了与点群的位置信息(几何形状)的解码有关的处理部,但三维数据解码装置12820也可以具备进行点群的属性信息的解码等的处理部等其他处理部。三维数据解码装置12820进行帧间预测解码,该帧间预测解码一边参照编码完毕的点群一边从被编码的比特流中对点群进行解码。例如,三维数据解码装置12820对由图39所示的三维数据编码装置12800生成的比特流进行解码。

三维数据解码装置12820具备熵解码部12821、缓冲器12822、缓冲器12823、点群化部12824、缓冲器12825、运动补偿部12826、八叉树化部12827、缓冲器12828以及控制部12829。

熵解码部12821通过按八叉树的每个分支点(节点)对所输入的比特流进行熵解码,来生成解码节点的信息(例如占用率编码)。另外,在该熵解码中,基于对象点群内的解码完毕节点(帧内参照节点)的信息或解码完毕点群内的节点(帧间参照节点)的信息,控制概率参数(也称为编码表或概率表)。

缓冲器12822保持所生成的解码节点的信息作为帧内参照节点(解码完毕节点)。例如,缓冲器12822也可以对按每个八叉树(解码点群)保持的数据进行初始化。

缓冲器12823保持解码节点的信息(例如占用率编码)。此外,缓冲器12823将八叉树单位的解码节点的信息作为解码八叉树来保持。例如,缓冲器12823可以将按每个八叉树(解码点群)保持的数据进行初始化。点群化部12824通过将解码八叉树变换为点群来生成解码点群。

缓冲器12825将解码点群作为帧间参照点群保持。运动补偿部12826通过对帧间参照点群与解码对象的点群之间的位移进行修正(运动补偿),生成对位后的帧间参照点群即对位后点群。例如,运动补偿部12826从帧或八叉树的头部、或节点的信息的头部等取得运动矢量等与运动补偿有关的信息,并使用所取得的信息进行运动补偿。

八叉树化部12827将对位后点群变换为八叉树表现,从而生成将对位后点群的位置信息以八叉树表现的帧间参照八叉树。缓冲器12828保持所生成的帧间参照八叉树。此外,例如,缓冲器12828可以对按每个八叉树(解码点群)保持的数据进行初始化。

此外,三维数据解码装置12820可以以帧或八叉树单位进行运动补偿,也可以对每个节点(点)进行运动补偿。

另外,帧间参照点群可以是包含在与解码对象的帧不同的解码完毕帧中的点群,也可以是包含在与解码对象的帧相同的帧中的解码完毕点群。

控制部12829使用存放在缓冲器12822中的帧内参照节点或包含在存放在缓冲器12828中的帧间参照八叉树中的帧间参照节点,来控制熵解码部12821在对象节点的熵解码(算术解码)中使用的概率参数。另外,关于使用帧内参照还是使用帧间参照,例如可以基于比特流所包含的控制信息来决定,也可以以帧或者点群单位预先决定,也可以通过任意的方法来决定。

例如,在使用帧内参照的情况下,基于对象节点的多个相邻节点(帧内参照节点)的占有状态(节点是否包含点)选择概率参数。另外,在使用帧间参照的情况下,基于包含在帧间参照八叉树中的、与对象节点和多个相邻节点中的至少一个相同位置的节点(帧间参照节点)的占有状态来选择概率参数。此外,在选择了帧间参照的情况下,也可以组合帧间参照和帧内参照来控制概率参数。

这样,三维数据解码装置12820除了基于帧内参照节点的信息以外,还基于帧间参照节点的信息来控制熵解码的概率参数,从而能够一边参照编码完毕的点群一边从被编码的比特流(例如,从图39所示的三维数据编码装置12800输出的比特流)对点群进行解码。

另外,三维数据解码装置12820不需要始终参照帧间参照点群,也可以配合三维数据编码装置,在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每30帧等)、或从三维数据编码装置通知的任意定时等,清除存放了帧间参照点群的缓冲器12825等,仅基于解码对象点群的信息对解码对象点群进行解码。由此,三维数据解码装置12820能够实现从比特流的开头以外的、未参照帧间参照点群的点群开始跳入再现。

图41是作为三维数据编码装置12800的变形例的三维数据编码装置12800A的框图。图41所示的三维数据编码装置12800A相对于图39所示的三维数据编码装置12800,还具备运动补偿部12812。

运动补偿部12812通过对由点群化部12806生成的编码完毕点群进行运动补偿,与已经存放在缓冲器12807中的帧间参照点群进行对位。缓冲器12807通过将运动补偿后的编码完毕点群合并到已经存放的帧间参照点群中,来更新存放的帧间参照点群。由此,作为帧间参照点群,能够使用将多个帧的点群重合而成的密集的点群。此外,其他处理例如与三维数据编码装置12800同样。

此外,帧间参照点群可以是与编码对象的帧不同的编码完毕的帧所包含的点群,也可以是与编码对象的帧相同的帧所包含的编码完毕的点群。

这样,三维数据编码装置12800A通过对编码完毕的点群进行对位并合并,有可能能够提高帧间参照点群的点群密度。由此,提高对象节点的信息的发生概率的预测精度,所以有可能能够进一步提高编码效率。

另外,三维数据编码装置12800A不需要将所有编码完毕点群作为帧间参照点群参照,也可以在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每5帧等)、或向三维数据解码装置通知的任意定时等,清除存放有帧间参照点群的缓冲器12807的全部或一部分等,仅基于对象点群、或基于编码对象点群和一部分编码完毕点群的信息,对对象点群进行编码。在仅基于对象点群的信息进行编码的情况下,在三维数据解码装置中,能够从比特流的开头以外的、未参照帧间参照点群的点群开始跳入再现。因此,有可能能够提高比特流的随机访问性和容错性。另外,在基于对象点群和一部分编码完毕点群的信息进行了编码的情况下,由于能够减小保持帧间参照点群的缓冲器12807的容量,所以有可能能够降低三维数据编码装置和三维数据解码装置的安装成本。

图42是作为三维数据解码装置12820的变形例的三维数据解码装置12820A的框图。图42所示的三维数据解码装置12820A相对于图40所示的三维数据解码装置12820,还具备运动补偿部12830。例如,三维数据解码装置12820A从由图41所示的三维数据编码装置12800A生成的比特流中解码点群。

运动补偿部12830通过对解码点群进行运动补偿,与已经存放在缓冲器12825中的帧间参照点群进行对位。缓冲器12825通过将运动补偿后的解码点群合并到已经存放的帧间参照点群中,来更新存放的帧间参照点群。由此,作为帧间参照点群,能够使用将多个帧的点群重合而成的密集的点群。此外,其他处理例如与三维数据解码装置12820同样。

另外,帧间参照点群可以是包含在与解码对象的帧不同的解码完毕帧中的点群,也可以是包含在与解码对象的帧相同的帧中的解码完毕点群。

这样,三维数据解码装置12820A具有将解码完毕点群对位并合并的结构,从而能够从由具有同样结构的三维数据编码装置编码的比特流(例如,由图41所示的三维数据编码装置12800A生成的比特流)中解码点群。

另外,三维数据解码装置12820A不需要将所有的解码完毕点群作为帧间参照点群来参照,也可以在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每5帧等)、或从三维数据编码装置通知的任意定时等,清除存放了帧间参照点群的缓冲器12825的全部或一部分等,仅基于解码对象点群、或解码对象点群和一部分解码完毕点群的信息,对解码对象点群进行解码。

三维数据解码装置12820A在仅基于解码对象点群的信息进行解码的情况下,能够实现从比特流的开头以外的、未参照帧间参照点群的点群开始跳入再现。因此,有可能能够提高比特流的随机访问性和容错性。此外,三维数据解码装置在基于解码对象点群和一部分的解码完毕点群的信息进行解码的情况下,能够减小保持帧间参照点群的缓冲器12825的容量。因此,有可能能够降低三维数据编码装置及三维数据解码装置的安装成本。

图43是表示图39和图41所示的三维数据编码装置中的帧间预测的一例的图。另外,图40及图42所示的三维数据解码装置中的帧间预测也同样。

如图43所示,例如,三维数据编码装置设定包含对象点群的第1长方体。三维数据编码装置设定将第1长方体平行移动了的第2长方体。第2长方体是包含在对象点群的编码中参照的编码完毕点群的空间。并且,作为运动矢量的信息,三维数据编码装置可以将第1长方体与第2长方体之间的平行移动距离的x、y、z成分记载于帧或八叉树的头部,也可以在对该信息进行熵编码之后,再记载于节点信息的头部。

另外,在此,示出了通过平行移动来设定包含在对象点群的编码中参照的编码完毕点群的空间的例子,但只要是能够唯一地设定包含参照的编码完毕点群的空间的方法,也可以是其他方法。

接着,说明头信息的一例。图44是表示包含在比特流中的序列参数集(SPS)的句法例的图。SPS是多个帧、多个点群或多个切片共用的控制信息,是在属性信息和位置信息中共用的控制信息。

如图44中所示,SPS包含sps_inter_prediction_enabled_flag和sps_max_num_ref_frames_minus1。

以下,表示序列参数集的语义例。等于1的sps_inter_prediction_enabled_flag指定对于参照SPS的比特流允许使用帧间预测。等于0的sps_inter_prediction_enabled_flag指定对于参照SPS的比特流,帧间预测无效。

sps_max_num_ref_frames_minus1+1(sps_max_num_ref_frames_minus1加1所得的值)指定由帧参照的参照点群帧的最大数。sps_max_num_ref_frames_minus1的值必须在0至MaxNumRefFrames-1的范围内。

sps_max_num_ref_frames_minus1在sps_inter_prediction_enabled_flag为1的情况下包含于SPS,在sps_inter_prediction_enabled_flag为0的情况下不包含于SPS。

图45表示包含在比特流中的位置信息参数集(GPS)的句法例的图。GPS是多个帧、多个点群或多个切片)中共用的控制信息,是位置信息的控制信息。

如图45所示,GPS包含gps_inter_prediction_enabled_flag和gps_num_ref_frames_minus1。

以下,表示位置信息参数集的语义例。等于1的gps_inter_prediction_enabled_flag指定在参照GPS的比特流的位置信息数据单位的解码处理中允许使用帧间预测。等于0的gps_inter_prediction_enabled_flag指定在参照GPS的比特流的位置信息数据单位的解码处理中,帧间预测无效。在sps_inter_prediction_enabled_flag为0的情况下,gps_inter_prediction_enabled_flag变成0。

gps_num_ref_frames_minus1+1(对gps_num_ref_frames_minus1加1所得的值)指定在参照GPS的帧中参照的参照点群帧的数量。gps_num_ref_frames_minus1的值必须在从0到sps_max_num_ref_frames_minus1的范围内。

gps_num_ref_frames_minus1在gps_inter_prediction_enabled_flag为1的情况下包含在GPS中,在gps_inter_prediction_enabled_flag为0的情况下不包含在GPS中。

如这些例子所示,三维数据编码装置可以将序列参数集及位置信息参数集中的例如sps_inter_prediction_enabled_flag及gps_inter_prediction_enabled_flag等那样的表示是否允许实施帧间预测编码的信息通知给三维数据解码装置。此外,三维数据编码装置在将表示允许帧间预测编码的实施的信息通知给三维数据解码装置的情况下,可以将例如sps_max_num_ref_frames_minus1和gps_num_ref_frames_minus1等那样的与帧间预测编码中参照的帧的数量或其最大值等有关的信息通知给三维数据解码装置。

另外,MaxNumRefFrames是作为三维数据解码装置应满足的要件而确定的固定值,例如考虑设定为6帧等几帧,但只要在三维数据编码装置和三维数据解码装置双方中使用相同的值来处理,也可以是比它们大的值。

通过将这些信息从三维数据编码装置通知给三维数据解码装置,有可能能够使在三维数据解码装置中的处理所使用的存储器的分配最优化。

此外,上述的表示是否允许实施帧间预测编码的信息以及与帧间预测编码中要参照的帧的数量或其最大值等有关的信息可以存放在SPS和GPS双方中,也可以仅存放在一方中。此外,这些信息也可以存放在SPS和GPS以外的控制信息中。

此外,可以将使用图39~图45公开的装置、处理以及句法等与本公开中的其他公开的至少一部分组合实施。此外,可以将使用图39~图45公开的装置、处理以及句法的一部分等与其他公开组合实施。

此外,使用图39~图45公开的所有构成要素并不限于是必需的,各装置也可以仅具备一部分构成要素。

如上所述,本实施方式的三维数据编码装置进行图46所示的处理。三维数据编码装置对编码完毕的多个点群进行运动补偿(S12801)。三维数据编码装置通过对运动补偿后的编码完毕的多个点群进行合并(合成)来生成参照点群(例如,图41所示的帧间参照点群)(S12802)。三维数据编码装置生成对象点群的N叉树结构(N是2以上的整数)(例如,图41所示的对象八叉树)(S12803)。三维数据编码装置使用参照点群对对象点群的N叉树结构进行编码(S12804)。另外,N例如是8,但也可以是任意的2的乘方,也可以是除此以外的值。

由此,三维数据编码装置通过使用将编码完毕的多个点群合并而成的参照点群对对象点群进行编码,能够提高编码效率。

例如,三维数据编码装置在对对象点群的N叉树结构进行编码(S12804)的过程中,对参照点群进行针对对象点群的运动补偿,生成运动补偿后的参照点群的N叉树结构(例如,图41所示的帧间参照八叉树),使用参照点群的N叉树结构对对象点群的N叉树结构进行编码。

例如,三维数据编码装置在对对象点群的N叉树结构进行编码(S12804)的过程中,对对象点群的N叉树结构进行熵编码,基于参照点群,控制熵编码中使用的概率参数。例如,三维数据编码装置基于参照点群,从多个概率参数中选择要使用的概率参数。

例如,三维数据编码装置根据对象点群的N叉树结构生成编码完毕的对象点群(例如,图41所示的编码完毕点群),对编码完毕的对象点群进行针对参照点群的运动补偿,通过将运动补偿后的编码完毕的对象点群合并到参照点群中,更新参照点群。

例如,编码完毕的多个点群各自属于与对象点群不同的帧。例如,编码完毕的多个点群各自属于与对象点群相同的帧。

例如,三维数据编码装置将表示是否允许实施使用了参照点群的编码的第1信息(例如,sps_inter_prediction_enabled_flag或gps_inter_prediction_enabled_flag)存放在多个点群中共用的控制信息(例如SPS或GPS)中。

例如,三维数据编码装置在第1信息表示允许实施使用了参照点群的编码的情况下,将与编码完毕的多个点群的数量有关的第2信息(例如,sps_max_num_ref_frames_minus1或gps_num_ref_frames_minus1)存放在多个点群中共用的控制信息(例如SPS或GPS)中。例如,第2信息表示合并的编码完毕的点群的数量或最大数。

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

此外,本实施方式的三维数据解码装置进行图47所示的处理。三维数据解码装置对解码完毕的多个点群进行运动补偿(S12811)。三维数据解码装置通过对运动补偿后的解码完毕的多个点群进行合并(合成)来生成参照点群(例如,图42所示的帧间参照点群)(S12812)。三维数据解码装置使用参照点群,将对象点群的N叉树结构(N是2以上的整数)(例如,图42所示的解码八叉树)解码(S12813)。即,三维数据解码装置通过对比特流(编码数据)进行解码取得对象点群的N叉树结构,该比特流是通过对对象点群的N叉树结构进行编码而生成的。三维数据解码装置根据对象点群的N叉树结构生成对象点群的解码点群(S12814)。另外,N例如是8,但也可以是任意的2的乘方,还可以是除此以外的值。

由此,三维数据解码装置能够使用合并了解码完毕的多个点群的参照点群对对象点群进行解码。

例如,在对对象点群的N叉树结构进行解码(S12813)的过程中,三维数据解码装置对参照点群进行针对对象点群的运动补偿,生成运动补偿后的参照点群的N叉树结构(例如,图42所示的帧间参照八叉树),使用参照点群的N叉树结构对对象点群的N叉树结构进行解码。

例如,在对对象点群的N叉树结构进行解码(S12813)的过程中,三维数据解码装置对对象点群的N叉树结构进行熵解码,基于参照点群,控制在熵解码中使用的概率参数。例如,三维数据解码装置基于参照点群,从多个概率参数中选择要使用的概率参数。

例如,三维数据解码装置通过对对象点群的解码点群进行针对参照点群的运动补偿,将运动补偿后的解码点群合并到参照点群中,来更新参照点群。

例如,解码完毕的多个点群各自属于与对象点群不同的帧。例如,解码完毕的多个点群各自属于与对象点群相同的帧。

例如,三维数据解码装置从多个点群中共用的控制信息(例如SPS或GPS)中取得表示是否允许实施使用了参照点群的解码的第1信息(例如sps_inter_prediction_enabled_flag或gps_inter_prediction_enabled_flag)。

例如,三维数据解码装置在第1信息表示允许实施使用了参照点群的解码的情况下,从多个点群中共用的控制信息(例如SPS或GPS)中取得与解码完毕的多个点群的数量有关的第2信息(例如sps_max_num_ref_frames_minus1或gps_num_ref_frames_minus1)。例如,第2信息表示合并的解码完毕点群的数量或最大数。

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

(实施方式5)

在本实施方式中,说明对点群(点云)的位置信息切换执行帧间预测和帧内预测中的某一个的情况。

图48是本实施方式的三维数据编码装置12900的框图。此外,在图48中记载了与点群的位置信息(几何形状)的编码有关的处理部,但是三维数据编码装置12900可以具备进行点群的属性信息的编码等的处理部等其他处理部。在帧间预测和帧内预测中,一边参照编码完毕的点群一边对编码对象的点群进行编码。

三维数据编码装置12900具备分组部12901、缓冲器12902、量化部12903、逆量化部12904、缓冲器12905、帧内预测部12906、缓冲器12907、运动检测补偿部12908、帧间预测部12909、切换部12910、以及熵编码部12911。

分组部12901从作为输入的编码对象的点群的数据的对象点群中提取作为编码的一单位的预测树(Predtree)的点群,并设定为1个组。此外,在输入的对象点群中,点群的位置例如由三维坐标(例如x、y、z)来表现。缓冲器12902保持所生成的预测树。例如,缓冲器12902可以将按每个预测树保持的数据初始化。对保持在缓冲器12902中的预测树(Predtree)所包含的多个三维点的每一点依次执行用于编码的处理。三维坐标可以以正交坐标表现,也可以以极坐标来表现。另外,以下,将以正交坐标表现的位置信息称为正交坐标系的位置信息,将以极坐标表现的位置信息称为极坐标系的位置信息。

然后,计算预测树(Predtree)所包含的多个三维点各自与所选择的预测点的差(第1残差信号)。该第1残差信号也称为预测残差。另外,第1残差信号是第1残差的一例。

量化部12903对第1残差信号进行量化。熵编码部12911对量化后的第1残差信号进行熵编码并生成编码数据,输出(生成)包含编码数据的比特流。

逆量化部12904对由量化部12903量化后的第1残差信号进行逆量化。逆量化后的第1残差信号通过与基于选择出的预测点(1个以上的候选点)的预测值相加,作为用于帧内预测及帧间预测的三维点(参照点)而解码。另外,如上述实施方式中说明的那样,预测值是基于1个以上的候选点的位置信息而计算出的。缓冲器12905保持解码后的帧内预测的参照点群。例如,缓冲器12905可以将按每个预测树(对象点群)保持的数据初始化。另外,缓冲器12907保持帧间预测的参照点群。例如,缓冲器12907可以将按每个预测树(对象点群)保持的数据初始化。

帧内预测部12906参照如包含编码对象的三维点的预测树(Predtree)所包含的多个三维点(帧内预测的参照点群)等那样的该预测树(Predtree)内的信息,通过规定的方法决定要用于预测的帧内预测点。例如,帧内预测部12906使用紧挨在编码对象的三维点之前(例如预测树的父节点等的祖父节点)逆量化后的两个三维点(解码点)并进行外插等,来决定帧内预测点。

运动检测补偿部12908基于包含编码对象的三维点的预测树(Predtree)所包含的多个三维点(多个解码点),再现编码完毕的点群,检测编码完毕的点群与编码对象的点群之间的位移(运动检测),基于检测出的位移对编码完毕的点群进行修正(运动补偿),由此生成作为对位后的帧间预测的参照点群的帧间预测点群。

帧间预测部12909基于运动补偿后的帧间预测点群,通过规定的方法决定用于预测的帧间预测点。例如,帧间预测部12909可以从帧间预测点群中选择最接近帧内预测点的点作为帧间预测点,也可以不参照帧内预测点,而选择紧前(最后)编码的三维点(例如,与预测树的父节点等的祖父节点对应的三维点)附近的三维点(例如最接近紧前编码的三维点的三维点)作为帧间预测点。

切换部12910通过选择帧内预测点和帧间预测点中的某一个,决定用于预测的预测点。这样,在三维数据编码装置12900中,将多个编码完毕的三维点中的1个以上的候选点的位置信息决定为预测点,基于预测点计算预测值。在帧内预测部12906及帧间预测部12909中,基于紧挨在编码对象的三维点之前编码的三维点来决定预测点(帧内预测点或帧间预测点)。即,三维数据编码装置12900基于多个编码完毕的三维点中的1个以上的基准点,决定用于计算预测值的1个以上的候选点。1个以上的基准点是紧挨在编码对象的三维点之前编码的三维点,例如,在预测树中,也可以是与编码对象的1个三维点的父节点(祖父节点)对应的三维点。

另外,三维数据编码装置12900也可以按照后述的图50的流程图的过程,从帧内预测点及帧间预测点中选择某一个作为预测点。此外,用于选择将帧内预测点和帧间预测点中的哪个用作预测点的、与预测有关的信息(预测信息)可以被熵编码并记载于各三维点的头部,也可以与各三维点交织并被记载。另外,运动矢量等与运动补偿有关的信息可以记载于帧或预测树(Predtree)的头部,也可以被熵编码并记载于各三维点的头部,也可以与各三维点交织并被记载。另外,帧间预测的参照点群可以是与编码对象的帧不同的编码完毕的帧所包含的点群,也可以是与编码对象的帧相同的帧所包含的编码完毕的点群。

这样,三维数据编码装置12900除了帧内预测以外,还使用帧间预测来进行编码对象点的预测,从而能够降低进行熵编码的第1残差信号的信息量,有可能能够提高编码效率。

另外,三维数据编码装置12900不需要始终参照帧间预测点,也可以在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每30帧等)、或向三维数据解码装置通知的任意定时等,对存放有帧间预测的参照点群的缓冲器12907进行初始化等,仅基于编码对象的点群的信息进行编码。由此,在对应的三维数据解码装置中,能够从未参照帧间预测点的比特流的不是开头的点群开始跳入再现,有可能能够提高该比特流的随机存取性或容错性。

三维数据编码装置12900在输入的编码对象的点群具有以正交坐标表现的坐标作为位置信息的情况下,对以正交坐标表现的坐标所示的位置信息进行编码。三维数据编码装置12900在输入的编码对象的点群具有以极坐标表现的坐标作为位置信息的情况下,对以极坐标表现的坐标所示的位置信息进行编码。

图49是本实施方式的三维数据解码装置12920的框图。另外,在图49中,记载了与点群的位置信息(几何形状)的解码有关的处理部,但三维数据解码装置12920也可以具备进行点群的属性信息的解码等的处理部等其他处理部。三维数据解码装置12920进行一边参照解码完毕的点群一边将解码对象的点群解码的帧间预测解码。例如,三维数据解码装置12920对由图48所示的三维数据编码装置12900生成的比特流进行解码。

三维数据解码装置12920具备熵解码部12921、逆量化部12922、缓冲器12923、帧内预测部12924、缓冲器12925、运动补偿部12926、帧间预测部12927、以及切换部12928。

三维数据解码装置12920取得在三维数据编码装置12900中生成的比特流。

熵解码部12921通过对所输入的比特流按预测树(Predtree)的每个三维点进行熵解码,生成量化后的第1残差信号。逆量化部12922对量化后的第1残差信号进行逆量化,再现第1残差信号。各三维点的第1残差信号在与基于对应于各三维点的预测点的预测值相加后,作为解码点生成(输出)。即,三维数据解码装置12920通过将预测值和预测残差相加,计算解码对象的1个三维点的位置信息。

缓冲器12923将所生成的解码点作为帧内预测的参照点群来保持。例如,缓冲器12923可以将按每个预测树(对象点群)保持的数据初始化。另外,缓冲器12925将所生成的解码点作为帧间预测的参照点群来保持。例如,缓冲器12925可以将按每个预测树(对象点群)保持的数据初始化。

帧内预测部12924参照如包含解码对象的三维点的预测树(Predtree)所包含的多个三维点(帧内预测的参照点群)等那样的该预测树(Predtree)内的信息,通过规定的方法决定要用于预测的帧内预测点。例如,帧内预测部12924使用紧挨在解码对象的三维点之前(例如预测树的父节点等的祖父节点)逆量化后的两个三维点(解码点)并进行外插等,来决定帧内预测点。

运动补偿部12926基于包含解码对象的三维点的预测树(Predtree)所包含的多个三维点(多个解码点),再现解码完毕的点群,对解码完毕的点群与解码对象的点群之间的位移进行修正(运动补偿),由此生成作为对位后的帧间预测的参照点群的帧间预测点群。

帧间预测部12927基于运动补偿后的帧间预测点群,通过规定的方法决定用于预测的帧间预测点。例如,帧间预测部12927可以从帧间预测点群中选择最接近帧内预测点的点作为帧间预测点,也可以不参照帧内预测点,而选择紧前解码的三维点(例如,与预测树的父节点等的祖父节点对应的三维点)附近的三维点(例如最接近紧前解码的三维点的三维点)作为帧间预测点。

切换部12928通过选择帧内预测点和帧间预测点中的某一个,决定用于预测的预测点。这样,在三维数据解码装置12920中,将多个解码完毕的三维点中的1个以上的候选点的位置信息决定为预测点,基于预测点计算预测值。在帧内预测部12924及帧间预测部12927中,基于紧挨在解码对象的三维点之前解码出的三维点来决定预测点(帧内预测点或帧间预测点)。即,三维数据解码装置12920基于多个解码完毕的三维点中的1个以上的基准点,决定用于计算预测值的1个以上的候选点。1个以上的基准点是紧挨在解码对象的三维点之前编码的三维点,例如,在预测树中,也可以是与解码对象的1个三维点的父节点(祖父节点)对应的三维点。

另外,三维数据解码装置12920也可以按照后述的图51的流程图的过程,从帧内预测点及帧间预测点中选择某一个作为预测点。此外,三维数据解码装置12920也可以基于用于选择将帧内预测点和帧间预测点中的哪个用作预测点的、与预测有关的信息(预测信息),选择帧内预测点和帧间预测点中的某一个作为预测点。预测信息可以被熵编码并记载于各三维点的头部,也可以与各三维点交织并被记载。另外,运动矢量等与运动补偿有关的信息可以记载于帧或预测树(Predtree)的头部,也可以被熵编码并记载于各点的头部,也可以与各三维点交织并被记载。这样,预测信息或与运动补偿有关的信息也可以从对应的三维数据编码装置12900通知给三维数据解码装置12920。另外,帧间预测的参照点群可以是与编码对象的帧不同的编码完毕的帧所包含的点群,也可以是与编码对象的帧相同的帧所包含的编码完毕的点群。

这样,三维数据解码装置12920除了帧内预测以外,还使用帧间预测来进行解码对象点的预测,从而能够一边参照解码完毕的点群一边从被编码的比特流(例如,从图48的三维数据编码装置12900输出的比特流)中解码点群。

另外,三维数据解码装置12920不需要始终参照帧间预测点,也可以在规定的时间间隔(例如每1秒等)、规定的帧间隔(例如每30帧等)、或从对应的三维数据编码装置12900通知的任意定时等,对存放有帧间预测的参照点群的缓冲器12925进行初始化等,仅基于解码对象的点群的信息进行解码。由此,三维数据解码装置12920能够从未参照帧间预测点的比特流的不是开头的点群开始跳入再现,有可能能够提高该比特流的随机存取性或容错性。

三维数据解码装置12920在比特流具有由以正交坐标表现的坐标所示的位置信息被编码的编码数据的情况下,对由以正交坐标表现的坐标所示的位置信息进行解码。三维数据解码装置12920在比特流具有由以极坐标表现的坐标所示的位置信息被编码的编码数据的情况下,对由以极坐标表现的坐标所示的位置信息进行解码。

图50是表示三维数据编码装置12900中对预测树(Predtree)的各三维点进行编码的过程的一例的流程图。

在本例中,三维数据编码装置12900首先从帧内预测的参照点群决定帧内预测点(S12901)。三维数据编码装置12900可以使用例如已经说明的实施方式中公开的使用预测树决定预测点的方法来决定帧内预测点。例如,三维数据编码装置12900也可以使用多个编码完毕的三维点生成预测树,基于预测树从多个编码完毕的三维点中选择1个以上的候选点。三维数据编码装置12900可以将通过上述方法中的至少一个方法决定的至少一个帧内预测点中的、具有最少编码量的预测点决定为帧内预测点。此外,三维数据编码装置12900可以将通过上述方法中的至少一个方法决定的至少一个帧内预测点中的、坐标残差的绝对值和(或平方和)最小的预测点决定为帧内预测点。

接着,三维数据编码装置12900输出帧内预测关联参数(S12902)。在步骤S12901中决定的帧内预测点的决定方法的候选有2个以上的情况下,三维数据编码装置12900可以将表示选择出的决定方法的候选的信息作为帧内预测关联参数输出到比特流。

接着,三维数据编码装置12900参照从帧间预测点群提取的至少一个候选点来决定帧间预测点。例如,三维数据编码装置12900可以将1个候选点决定为帧间预测点,也可以将具有多个候选点的坐标的平均值作为坐标的预测点决定为帧间预测点。或者,三维数据编码装置12900可以将具有帧内预测点和至少一个候选点的坐标的平均值作为坐标的预测点决定为帧间预测点。

在此,三维数据编码装置12900可以搜索位于帧内预测点附近的点作为至少一个候选点(S12903)。

接着,三维数据编码装置12900可以对决定出的至少一个帧间预测点分别赋予按照与帧内预测点从近到远的顺序变小的索引值(S12904)。

接着,三维数据编码装置12900判定搜索是否结束(S12905),在搜索结束的情况下(S12905的“是”),前进到下一步骤S12906,在搜索未结束的情况下(S12905的“否”),返回到步骤S12903。搜索已结束可以通过找到了规定点数的帧间预测点来判定,也可以通过搜索了规定范围的所有点群来判定,也可以通过满足找到了规定点数的帧间预测点或者搜索到了规定范围的所有点群中的某一个来判定。

接着,三维数据编码装置12900决定预测方法(S12906)。具体而言,三维数据编码装置12900决定是在帧内预测还是在帧间预测进行决定预测点的方法。即,三维数据编码装置12900决定是将帧内预测点决定为预测点还是将帧间预测点决定为预测点。例如,三维数据编码装置12900可以决定帧内预测点和帧间预测点中的编码量最少的预测点的预测方法。此外,三维数据编码装置12900可以决定帧内预测点和帧间预测点中的坐标残差的绝对值和(或平方和)最小的预测点的预测方法。

三维数据编码装置12900判定决定出的预测方法的模式是表示预测方法为帧间预测的帧间模式,还是表示预测方法为帧内预测的帧内预测模式(S12907)。

在决定出的预测方法为帧间预测的情况下(S12907中为帧间模式),三维数据编码装置12900将表示帧间预测点被决定为预测点的识别信息(例如,标志)输出到比特流(S12908)。

接着,三维数据编码装置12900将与在帧间预测点的坐标的决定中使用的候选点的数量有关的信息、以及使用的各候选点的索引值等作为帧间预测关联参数输出到比特流(S12909)。索引值可以被分配给用于决定预测值的1个以上的候选点。

另外,在决定出的预测方法为帧内预测的情况下(S12907中为帧内模式),三维数据编码装置12900将表示帧内预测点被决定为预测点的识别信息(例如,标志)输出到比特流(S12911)。此外,步骤S12908和步骤S12911中的识别信息是表示将帧间预测点决定为预测点还是将帧内预测点决定为预测点的信息。

在步骤S12909或步骤S12911之后,三维数据编码装置12900参照由决定出的预测方法求出的预测点,对编码对象的三维点的坐标信息进行编码(S12910)。

这样,三维数据编码装置12900参照帧间预测点群和帧内预测点来决定至少一个帧间预测点,并决定从这些帧内预测点和帧间预测点求出预测点的方法,并参照预测点对编码对象的三维点的位置信息(坐标信息)进行编码。

此外,在S12903中,可以不参照帧内预测点,而在紧前编码的三维点(例如,与预测树的父节点等的祖父节点对应的三维点)等不依赖于帧内预测关联参数而唯一决定的三维点的附近,搜索帧间预测点。在该情况下,也可以不紧挨在S12901之后实施S12902,而紧挨在S12911之后实施S12902。

图51是表示三维数据解码装置12920中的、对预测树(Predtree)的各三维点进行解码的过程的一例的流程图。图51对应于按照图50的编码过程而生成的比特流的解码。即,比特流包含编码后的第1残差信号(预测残差)和分配给用于预测值的计算的1个候选点的索引值。

在本例中,三维数据解码装置12920从比特流中首先取得帧内预测关联参数(S12921)。

接着,三维数据解码装置12920基于所取得的帧内预测关联参数来决定帧内预测点(S12922)。具体而言,三维数据解码装置12920通过与图50的步骤S12901同样的方法来决定帧内预测点。三维数据解码装置12920从对应的三维数据编码装置12900被通知帧内预测关联参数,根据帧内预测关联参数决定帧内预测点。帧内预测关联参数在步骤S12921中取得,包含指定决定帧内预测点的至少一种方法的信息以及随附于该信息的参数。

接着,三维数据解码装置12920从比特流中取得表示预测方法的模式的识别信息(S12923)。

接着,三维数据解码装置12920判定所取得的识别信息是表示预测方法为帧间预测的帧间预测模式,还是表示预测方法为帧内预测的帧内预测模式(S12924)。

三维数据解码装置12920在预测方法为帧间预测的情况下(在步骤S12924中为帧间模式),从比特流中取得帧间预测关联参数(S12925)。

接着,三维数据解码装置12920执行用于决定帧间预测点的处理(S12926~S12929)。具体而言,三维数据解码装置12920用与图50的步骤S12903~S12905同样的方法决定帧间预测点。例如,三维数据解码装置12920参照从帧间预测点群提取的至少一个候选点来决定帧间预测点。例如,三维数据解码装置12920可以将1个候选点决定为帧间预测点,也可以将具有多个候选点的坐标的平均值作为坐标的预测点决定为帧间预测点。或者,三维数据解码装置12920可以将具有帧内预测点和至少一个候选点的坐标的平均值作为坐标的预测点决定为帧间预测点。

在此,三维数据解码装置12920可以搜索位于帧内预测点附近的点作为至少一个候选点(S12926)。

接着,三维数据解码装置12920可以对决定的至少一个帧间预测点分别赋予按照与帧内预测点从近到远的顺序变小的索引值(S12927)。

接着,三维数据解码装置12920判定搜索是否已结束(S12928),在搜索结束的情况下(S12928的“是”),前进到下一步骤S12929,在搜索未结束的情况下(S12928的“否”),返回到步骤S12926。搜索已结束可以通过找到了规定点数的帧间预测点来判定,也可以通过搜索到了规定范围的所有点群来判定,也可以通过满足找到了规定点数的帧间预测点或者搜索到了规定范围的所有点群中的某一个来判定。

接着,三维数据解码装置12920一边参照帧间预测点群和帧内预测点,一边基于帧间预测关联参数来决定帧间预测点(S12929)。例如,三维数据解码装置12920基于帧间预测关联参数中包含的、与在帧间预测点的坐标的决定中使用的候选点的数量有关的信息、以及分配给使用的各候选点的索引值,确定在帧间预测点的坐标的决定中使用的候选点,使用确定出的候选点决定帧间预测点的坐标,从而决定帧间预测点。即,三维数据解码装置12920基于包含在比特流中的索引值,从多个解码完毕的三维点中选择1个候选点。

三维数据解码装置12920在步骤S12929之后,或在步骤S12924中为帧内模式的情况下,参照通过所指定的预测方法求出的预测点,对解码对象的三维点的位置信息(坐标信息)进行解码(S12930)。

这样,三维数据解码装置12920在预测方法为帧间预测的情况下,参照帧间预测点,对解码对象的点的坐标信息进行解码,在预测方法为帧内预测的情况下,参照帧内预测点,对解码对象的点的坐标信息进行解码。

另外,在S12926中,可以不参照帧内预测点,而在紧前解码的三维点(例如,与预测树的父节点等的祖父节点对应的三维点)等不依赖于帧内预测关联参数而唯一决定的三维点的附近,搜索帧间预测点。在该情况下,也可以不紧挨在S12923之前实施S12921和S12922,而在S12924中判定为帧内模式的情况下实施S12921和S12922。

图52是本实施方式的变形例的三维数据编码装置12930的框图。另外,在图52中,记载了与点群的位置信息(几何形状)的编码有关的处理部,但三维数据编码装置12930也可以具备进行点群的属性信息的编码等的处理部等其他处理部。在帧间预测和帧内预测中,一边参照编码完毕的点群一边对编码对象的点群进行编码。三维数据编码装置12930在其结构和动作上与图48的三维数据编码装置12900相比,不同之处在于:具有坐标变换部12931,该坐标变换部12931用于将具有以正交坐标表现的位置信息的点群变换为以极坐标表现的位置信息来进行编码;不进行以极坐标表现的位置信息的预测残差(第1残差信号)的量化;以及对与在正交坐标和极坐标之间的变换中产生的误差相当的正交坐标的第2残差信号进行量化。另一方面,三维数据编码装置12930在其结构和动作上,与三维数据编码装置12900相比,除了上述不同之处以外,其余方面相同。

三维数据编码装置12930具备:坐标变换部12931、分组部12932、缓冲器12933、缓冲器12934、帧内预测部12935、缓冲器12936、运动检测补偿部12937、帧间预测部12938、切换部12939、坐标变换部12940、缓冲器12941、量化部12942以及熵编码部12943。

坐标变换部12931将作为所输入的编码对象的点群的数据的对象点群的位置信息的坐标系从正交坐标系变换为极坐标系。即,坐标变换部12931通过变换编码对象的1个三维点的正交坐标系的位置信息的坐标系,生成极坐标系的位置信息。变换为极坐标的编码对象的点群被输出到分组部12932。

分组部12932从作为被变换为极坐标的编码对象的点群的对象点群中提取作为编码的一单位的预测树(Predtree)的点群并设定为1个组。缓冲器12933保持所生成的预测树。例如,缓冲器12933可以将按每个预测树保持的数据初始化。对保持在缓冲器12933中的预测树(Predtree)所包含的多个三维点的每一点依次执行用于编码的处理。

计算保持在缓冲器12933中的预测树所包含的多个三维点的每一个(编码对象的点)与针对该编码对象的点所选择的预测点之间的差(第1残差信号)。该第1残差信号是以极坐标表现的位置信息的残差信号。第1残差信号也称为预测残差。该第1残差信号是第1残差的一例。由于保持在缓冲器12933中的多个三维点的位置信息被变换为极坐标系,因此第1残差是变换后的极坐标系的位置信息与预测值的差分。

然后,第1残差信号和预测点相加,作为编码处理完毕的解码点保持在缓冲器12934、12936中。保持在缓冲器12934、12936中的解码点的位置信息由极坐标来表现。在这一点上,缓冲器12934、12936的功能与缓冲器12905、12907的功能不同,但除此以外的功能相同。

另外,帧内预测部12935、动作检测补偿部12937、帧间预测部12938以及切换部12939也同样,在以极坐标表现成为处理对象的三维点的位置信息这一点上,与帧内预测部12906、动作检测补偿部12908、帧间预测部12909以及切换部12910的功能不同,除此以外的功能相同。

坐标变换部12940取得与保持在缓冲器12934、12936中的解码点相同的解码点,并将所取得的解码点的位置信息的坐标系从极坐标系变换为正交坐标系。即,坐标变换部12940通过对由坐标变换部12931变换后的极坐标系的位置信息的坐标系进行逆变换,生成正交坐标系的位置信息。

缓冲器12941保持输入到三维数据编码装置12930的、以正交坐标表现的三维点的位置信息。

然后,计算所输入的正交坐标系的位置信息与在坐标变换部12940中坐标系从极坐标系变换为正交坐标系后的正交坐标系的位置信息的差(第2残差信号)。该第2残差信号是第2残差的一例。即,第2残差信号是在坐标变换部12931中没有进行坐标变换的正交坐标系的位置信息、与一度被变换为极坐标后再逆变换为正交坐标系后的位置信息的差,是由坐标变换产生的变换误差。

量化部12942对第2残差信号进行量化。

熵编码部12943对第1残差信号和量化后的第2残差信号进行熵编码并生成编码数据,输出包含编码数据的比特流。

这样,三维数据编码装置12930将三维点的位置信息的坐标系从正交坐标系变换为极坐标系,并对极坐标系的位置信息进行编码。由此,在对如LiDAR等那样以传感器位置为中心取得周围物体的三维位置而生成的点群进行编码时,有可能能够提高编码对象的点的预测精度,能够提高编码效率。

图53是本实施方式的变形例的三维数据解码装置12950的框图。另外,在图53中,记载了与点群的位置信息(几何形状)的解码有关的处理部,但三维数据解码装置12950也可以具备进行点群的属性信息的解码等的处理部等其他处理部。三维数据解码装置12950进行一边参照解码完毕的点群一边将解码对象的点群解码的帧间预测解码。例如,三维数据解码装置12950对由图52所示的三维数据编码装置12930生成的比特流进行解码。三维数据解码装置12950在基本的结构和动作上,与图49的三维数据解码装置12920相比,不同之处在于:不进行第1残差信号(预测残差)的逆量化;以及对与在正交坐标和极坐标之间的变换中产生的变换误差相当的正交坐标的第2残差信号进行熵解码,进行逆量化并再现,并且加到从对应的极坐标的解码点变换为正交坐标的点上,作为正交坐标的解码点输出。另一方面,三维数据解码装置12950与三维数据解码装置12920相比,除了上述不同之处以外,其余方面相同。

三维数据解码装置12950具备熵解码部12951、缓冲器12952、帧内预测部12953、缓冲器12954、运动补偿部12955、帧间预测部12956、切换部12957、坐标变换部12958以及逆量化部12959。

熵解码部12951通过对所输入的比特流按预测树(Predtree)的每个三维点进行熵解码,生成第1残差信号和量化后的第2残差信号。各三维点的第1残差信号在与基于对应于各三维点的预测点的预测值相加后,作为以极坐标表现的解码点生成(输出)。

缓冲器12952保持所生成的解码点作为帧内预测的参照点群。例如,缓冲器12952可以将按每个预测树(对象点群)保持的数据初始化。另外,缓冲器12954将所生成的解码点作为帧间预测的参照点群来保持。例如,缓冲器12954可以将按每个预测树(对象点群)保持的数据初始化。保持在缓冲器12952、12954中的解码点的位置信息由极坐标来表现。在这一点上,缓冲器12952、12954的功能与缓冲器12923、12925的功能不同,但除此以外的功能相同。

另外,帧内预测部12953、运动补偿部12955、帧间预测部12956以及切换部12957也同样,在以极坐标表现成为处理对象的三维点的位置信息这一点上,与帧内预测部12924、运动补偿部12926、帧间预测部12927以及切换部12928的功能不同,除此之外的功能相同。

坐标变换部12958取得与保持在缓冲器12952、12954中的解码点相同的解码点,并将所取得的解码点的位置信息的坐标系从极坐标系变换为正交坐标系。

逆量化部12959对量化后的第2残差信号进行逆量化,再现第2残差信号。

由坐标变换部12958进行坐标变换而得到的正交坐标系的位置信息和由逆量化部12959进行逆量化而再现的第2残差信号相加后,作为包含正交坐标系的位置信息的解码点而生成(输出)。

这样,三维数据解码装置12950具备如下单元:将具有极坐标系的位置信息的解码点的坐标系从极坐标系变换为正交坐标系,并加上相当于由正交坐标系的位置信息和极坐标系的位置信息之间的变换所产生的误差的正交坐标的第2残差信号。由此,三维数据解码装置12950能够一边参照极坐标中编码完毕的点群一边从被编码的比特流(例如,从图52的三维数据编码装置12930输出的比特流)解码点群。

图54是几何形状参数集(GPS)的句法的一例。该句法在使用图48~图53说明的三维数据编码装置12900、12930和三维数据解码装置12920、12950中使用。

如这些例子所示,在GPS中,可以通知例如gps_alt_coordinates_flag那样的表示在各点的解码处理中是否使用极坐标等与正交坐标不同的坐标系的信息。gps_alt_coordinates_flag在其值设定为1的情况下(即,gps_alt_coordinates_flag=1的情况下),表示在参照GPS的比特流的位置信息的数据单元的解码处理中使用替换坐标系(例如,极坐标系)。gps_alt_coordinates_flag在其值设定为0的情况下(即,gps_alt_coordinates_flag=0的情况下),表示在参照GPS的比特流的位置信息的数据单元的解码处理中不使用替换坐标系。即,gps_alt_coordinates_flag可以表示编码数据是否包含通过极坐标系来计算出的第1编码数据。此外,gps_alt_coordinates_flag是表示编码数据是否包含通过极坐标系计算出的第1编码数据的第1识别信息的一例。

此外,在各三维点的解码处理中使用极坐标系等与正交坐标系不同的坐标系(替换坐标系)的情况下(例如,gps_alt_coordinates_flag=1的情况等),可以通知例如gps_coordinate_trans_enabled_flag那样的表示在从三维数据解码装置输出各三维点之前是否实施解码点的坐标变换(例如,从极坐标系变换为正交坐标系等)的坐标变换信息。gps_alt_coordinates_flag=1的情况(即,第1识别信息表示编码数据包含第1编码数据的情况)具体是指,预测值的计算中使用的1个以上的候选点的位置信息、以及第1残差的计算中使用的编码对象的1个三维点的位置信息是极坐标系的位置信息的情况。在这种情况下,比特流包含gps_coordinate_trans_enabled_flag。gps_coordinate_trans_enabled_flag是表示在解码中是输出极坐标系的位置信息还是输出正交坐标系的位置信息的第2识别信息的一例。此外,在gps_alt_coordinates_flag=1的情况下,在编码过程中量化第1残差并对量化后的第1残差进行编码的三维数据编码装置12900中,极坐标系的位置信息被编码。因此,可以说在gps_alt_coordinates_flag=1并且gps_coordinate_trans_enabled_flag=0的情况下,极坐标系的位置信息被编码,可以说gps_coordinate_trans_enabled_flag=0示出了在解码中输出极坐标系的位置信息。此外,可以通过使用其他标志(识别信息)来切换是否输出极坐标系的位置信息。

此外,在gps_alt_coordinates_flag=0的情况下(即,在第1识别信息表示编码数据不包含第1编码数据的情况下),比特流也可以不包含gps_coordinate_trans_enabled_flag(第2识别信息)。

gps_coordinate_trans_enabled_flag在其值设定为1的情况下(即,在gps_coordinate_trans_enabled_flag=1的情况下),表示在参照GPS的比特流的位置信息的数据单元的解码处理中将坐标系变换为其他坐标系。因此,在gps_alt_coordinates_flag=1并且gps_coordinate_trans_enabled_flag=0的情况下,正交坐标系的位置信息被解码,因此可以说,gps_coordinate_trans_enabled_flag=0示出了在解码中输出正交坐标系的位置信息。

gps_coordinate_trans_enabled_flag在其值设定为0的情况下(即,在gps_coordinate_trans_enabled_flag=0的情况下),表示在参照GPS的比特流的位置信息的数据单元的解码处理中不将坐标系变换为其他坐标系。此外,在未示出gps_coordinate_trans_enabled_flag的情况下,可以视为gps_coordinate_trans_enabled_flag的值设定为0。

此外,在从三维数据解码装置输出各三维点之前不进行解码点的坐标变换的情况下(例如,gps_coordinate_trans_enabled_flag=0的情况下),也可以由图48所示的三维数据编码装置12900和图49所示的三维数据解码装置12920实施点群的编码和解码。此外,在从三维数据解码装置输出各三维点之前进行解码点的坐标变换的情况下(例如,gps_coordinate_trans_enabled_flag=1的情况下),也可以由图52所示的三维数据编码装置12930和图53所示的三维数据解码装置12950实施点群的编码和解码。

通过从三维数据编码装置向三维数据解码装置通知gps_alt_coordinates_flag和gps_coordinate_trans_enabled_flag,即使在各三维点的编码和解码中使用极坐标等不同于正交坐标的坐标系的情况(例如,gps_alt_coordinates_flag=1的情况等)下,也能够根据编码对象的点群来切换图48所示的三维数据编码装置12900和图52所示的三维数据编码装置12930,由此,有可能能够提高编码效率。

此外,在图54中示出了GPS的句法,但是gps_alt_coordinates_flag和gps_coordinate_trans_enabled_flag可以包含在SPS(序列参数集)中、也可以包含在数据单元的头中,也可以作为元数据包含在其他控制信息中。

图55是各三维点(Predtree的Node)的句法的一例。该句法在使用图48~图54说明的三维数据编码装置12900、12930和三维数据解码装置12920、12950中使用。

在本例中,三维数据编码装置12900、12930首先将表示编码对象或解码对象的三维点中的帧内预测点的求出方法的识别信息(pred_mode)通知给三维数据解码装置12920、12950。此外,三维数据编码装置12900、12930也可以根据识别信息(pred_mode),向三维数据解码装置12920、12950通知用于决定帧内预测点的附加信息。

接着,在编码中的预测树(predtree)所参照的GPS中,在帧间预测有效的情况(例如,gps_inter_prediction_enabeled_flag=1的情况)下,三维数据编码装置12900、12930也可以将表示编码对象或解码对象的三维点中的预测方法是否是帧内预测(即,帧间预测)的信息(intra_pred_flag)通知给三维数据解码装置12920、12950。此外,在gps_inter_prediction_enabeled_flag=0的情况下,也可以将intra_pred_flag的值设定为1(帧内预测)。在编码对象或解码对象的三维点中的预测方法为帧间预测(例如,intra_pred_flag=0)的情况下,也可以通知表示编码对象或解码对象的三维点中的帧间预测点的求出方法的识别信息(inter_pred_mode)。此外,三维数据编码装置12900、12930也可以根据识别信息(inter_pred_mode),将决定帧间预测点时参照的帧间预测点群中的候选点数设定为NumRefPoints,将NumRefPoints个各候选点的索引(inter_ref_point_idx)通知给三维数据解码装置12920、12950。此外,在指定了多个在决定帧间预测点时参照的帧间预测点群中的候选点的情况下,也可以将指定的多个候选点的坐标的平均值作为帧间预测点的坐标。另外,三维数据编码装置12900、12930也可以省略候选点的索引的通知,准备选择最小的索引等确定的候选点的inter_pred_mode。例如,三维数据编码装置12900、12930可以设置判定inter_pred_mode是否示出了该模式的判定处理,或者将NumRefPoints的值设定为0等,省略候选点的索引的通知。另外,只要被通知了帧间预测点被唯一确定的方法所需的信息就能够实施,例如也可以代替inter_pred_mode,而通知在决定帧间预测点时参照的帧间预测点群中的候选点数。

另外,在紧前编码或解码的三维点(例如,与预测树的父节点等的祖父节点对应的三维点)等不依赖于表示帧内预测点的求出方法的识别信息(pred_mode)而唯一决定的三维点的附近,搜索帧间预测点群中的候选点的情况下,也可以仅在编码对象或解码对象的三维点中的预测方法为帧内预测(例如intra_pred_flag=1)的情况下,将表示帧内预测点的求出方法的识别信息(pred_mode)和用于决定帧内预测点的附加信息通知给三维数据解码装置12920、12950。

接着,三维数据编码装置12900、12930可以通知编码对象或解码对象的点的位置信息(坐标值)与预测点的位置信息(坐标值)之间的第1差(1st_residual_value)。在从三维数据解码装置12920、12950输出各三维点之前进行解码点的坐标变换的情况下(例如,gps_coordinate_trans_enabled_flag=1的情况下),也可以通知将极坐标等其他坐标系中的解码结果坐标变换为正交坐标等原来的坐标系的位置信息(坐标值)与原来的位置信息(坐标值)之间的第2差(2nd_residual_value)。另外,虽然示出了将这些差信息作为1个句法进行通知的例子,但也可以如正负信息和绝对值信息那样分解为多个句法进行通知。

通过将这些信息从三维数据编码装置12900、12930通知给三维数据解码装置12920、12950,在三维数据编码装置12900、12930和三维数据解码装置12920、12950中能够实施一致的预测处理,在三维数据解码装置12920、12950中,能够在与对应的三维数据编码装置12900、12930未产生不统一的情况下将处理对象的三维点解码。

使用图48~图55公开的装置或处理、句法等可以与其他实施方式的至少一部分组合地实施。此外,使用图48~图55公开的装置或处理、句法的一部分等可以与其他实施方式组合地实施。另外,使用图48~图55公开的所有构成要素并不一定全部需要,也可以仅具备一部分构成要素。

如上所述,本实施方式的三维数据编码装置进行图56所示的处理。三维数据编码装置基于多个编码完毕的三维点中的1个以上的候选点的位置信息,决定预测值(S12931)。三维数据编码装置计算多个三维点中的编码对象的1个三维点的位置信息与预测值的差即预测残差(S12932)。三维数据编码装置通过对预测残差进行编码来生成编码数据(S12933)。三维数据编码装置生成包含编码数据的比特流(S12934)。三维数据编码装置在步骤S12931中,基于多个编码完毕的三维点中的1个以上的基准点,决定1个以上的候选点。

例如,多个三维点构成预测树。1个以上的基准点包含与编码对象的1个三维点的父节点对应的三维点。

由此,基于预测树中的编码对象的1个三维点的父节点,决定用于计算预测值的1个以上的候选点,因此能够减小预测残差,能够提高编码效率。

例如,对1个以上的候选点分配索引值。比特流还包含分配给用于决定预测值的候选点的索引值。

因此,三维数据解码装置能够基于索引值容易地确定候选点。由此,能够降低三维数据解码装置的处理负荷。

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

此外,本实施方式的三维数据解码装置进行图57所示的处理。三维数据解码装置取得包含编码后的预测残差和分配给预测值的计算中使用的1个候选点的索引值的比特流(S12941)。三维数据解码装置基于索引值,基于多个解码完毕的三维点中的1个以上的基准点,决定1个候选点(S12942)。三维数据解码装置基于决定出的1个候选点的位置信息来计算预测值(S12943)。三维数据解码装置通过对编码后的预测残差进行解码来计算预测残差(S12944)。三维数据解码装置通过将预测值和预测残差相加,计算解码对象的1个三维点的位置信息(S12945)。

由此,能够基于多个编码完毕的三维点中的1个以上的基准点决定1个候选点,使用基于决定出的1个候选点的位置信息的预测值对解码对象的三维点进行解码。

例如,多个三维点构成预测树。1个以上的基准点包含与编码对象的1个三维点的父节点对应的三维点。

例如,对1个以上的候选点分配索引值。比特流还包含分配给用于决定预测值的候选点的索引值。

因此,三维数据解码装置能够基于索引值容易地确定候选点。由此,能够降低三维数据解码装置的处理负荷。

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

图58是表示编码处理中的坐标系的切换处理的流程图。在图58的流程图中,进行是使用图48中说明的三维数据编码装置12900进行编码、还是使用图52中说明的三维数据编码装置12930进行编码的切换。此外,在图58的流程图中,还对是进行正交坐标系的位置信息的编码还是进行极坐标系的位置信息的编码进行切换。

首先,三维数据编码装置确认输入点群的坐标系,决定编码处理及解码处理的坐标系(S13001)。即,三维数据编码装置决定成为编码处理及解码处理的对象的位置信息的坐标系。

接着,三维数据编码装置判定输入点群的坐标系与决定出的编码处理及解码处理的坐标系是否相同(S13002)。

三维数据编码装置在判定为输入点群的坐标系与决定出的编码处理及解码处理的坐标系相同的情况下(S13002的“是”),设定为gps_coordinate_trans_enabled_flag=0,决定不进行坐标变换,并在决定出的坐标系中对点群的位置信息进行编码(S13003)。

三维数据编码装置在判定为输入点群的坐标系与决定出的编码处理及解码处理的坐标系不相同的情况下(S13002的“否”),设定为gps_coordinate_trans_enabled_flag=1,决定进行坐标变换,并在决定出的坐标系中对点群的位置信息进行编码(S13004)。

另外,在图52中说明的三维数据编码装置12930中,作为一例示出了输入点群的坐标系是极坐标,编码处理及解码处理的坐标系是正交坐标的情况,但也可以是输入点群的坐标系是正交坐标,编码处理及解码处理的坐标系是极坐标。在这种情况下,在图52中,可以通过将极坐标系换读为正交坐标系并且将正交坐标系换读为极坐标系来进行说明。

接着,三维数据编码装置判定编码的坐标系是否是极坐标系(正交坐标系)(S13005)。

三维数据编码装置在判定为编码的坐标系是极坐标系的情况下(S13005的“是”),设定为gps_alt_coordinates_flag=1,将点群的位置信息用极坐标系来进行编码(S13006)。

三维数据编码装置在判定为编码的坐标系不是极坐标系(即,是正交坐标系)的情况下(S13005的“否”),设定为gps_alt_coordinates_flag=0,将点群的位置信息用正交坐标系来进行编码(S13007)。

这里,在通过上述处理决定句法的情况下,使用图54说明的gps_coordinate_trans_enabled_flag和gps_alt_coordinates_flag可以设为无依赖关系且独立地表示的句法结构。即,gps_coordinate_trans_enabled_flag可以在GPS中示出,而与gps_alt_coordinates_flag的有无或者gps_alt_coordinates_flag的值无关。

另外,在上述处理中,将步骤S13002~S13004的处理1与步骤S13005~S13007的处理2进行调换,设为在处理2中在gps_alt_coordinates_flag=1的情况下实施处理1的结构,也可以采用图54的句法结构。

图59是表示解码处理中的坐标系的切换处理的流程图。在图59的流程图中,进行是使用图49中说明的三维数据解码装置12920进行解码、还是使用图53中说明的三维数据解码装置12950进行解码的切换。另外,在图59的流程图中,还对是进行正交坐标系的位置信息的解码还是进行极坐标系的位置信息的解码进行切换。

首先,三维数据解码装置解析包含在比特流中的元数据(S13011)。具体而言,元数据是包含在GPS、SPS、头等中的控制信息。三维数据解码装置确认包含在元数据中的gps_alt_coordinates_flag及gps_coordinate_trans_enabled_flag。

接着,三维数据解码装置判定是否为gps_alt_coordinates_flag=1(S13012)。

三维数据解码装置在gps_alt_coordinates_flag=1的情况下(S13012的“是”),决定用极坐标系来进行解码(S13013)。

三维数据解码装置在gps_alt_coordinates_flag=0的情况下(S13012的“否”),决定用正交坐标系来进行解码(S13014)。

这样,要计算的解码对象的1个三维点的位置信息的坐标系根据gps_alt_coordinates_flag的值来决定,因此决定为与是否包含第1识别信息所示的第1编码数据相应的坐标系。

接着,三维数据解码装置判定是否gps_coordinate_trans_enabled_flag=1(S13015)。

三维数据解码装置在gps_coordinate_trans_enabled_flag=1的情况下(S13015的“是”),在不进行坐标变换地决定出的坐标系中对位置信息进行解码(S13016)。在该情况下,点群的位置信息使用三维数据解码装置12920的结构来解码。此外,由于gps_coordinate_trans_enabled_flag在gps_alt_coordinates_flag=1的情况下示出,因此,在gps_coordinate_trans_enabled_flag=1的情况下(即,在第2识别信息表示在解码中输出极坐标系的位置信息的情况下),计算出的解码对象的1个三维点的位置信息的坐标系是极坐标系。

三维数据解码装置在gps_coordinate_trans_enabled_flag=0的情况下(S13015的“否”),进行坐标变换地在决定出的坐标系统中对位置信息进行解码(S13017)。在该情况下,点群的位置信息使用三维数据解码装置12950的结构来解码。此外,由于gps_coordinate_trans_enabled_flag在gps_alt_coordinates_flag=1的情况下示出,因此,在gps_coordinate_trans_enabled_flag=0的情况下(即,在第2识别信息表示在解码中输出正交坐标系的位置信息的情况下),对通过将预测值与第1残差相加而得到的极坐标系的位置信息的坐标系进行变换,并将通过变换而得到的正交坐标系的位置信息作为解码对象的1个三维点的位置信息来计算。此外,在该情况下,编码数据包含第2残差,三维数据解码装置通过对编码后的第2残差进行解码来计算第2残差,在解码对象的1个三维点的位置信息的计算中,将通过变换坐标系而得到的正交坐标系的位置信息与第2残差相加,将通过相加而得到的位置信息作为解码对象的1个三维点的位置信息来计算。

此外,在由图54的句法结构构成元数据的情况下,也可以在步骤S13012~S13014的处理1中判定为进行解码的坐标系是极坐标的情况下,转移到步骤S13015~S13017的处理2,在处理1中判定为进行解码的坐标系是正交坐标的情况下,跳过处理2的判定,进行使用了图49的结构的三维数据解码装置12920的解码。

此外,gps_coordinate_trans_enabled_flag设为了表示在从三维数据解码装置输出各点之前是否实施解码点的坐标变换的坐标变换信息,但也可以设为表示在对各三维点进行编码时是否实施了坐标变换的信息,还可以设为表示比特流中是否包含伴随坐标变换而产生的误差信息(变换误差)的信息。此外,在包含该信息的情况下,也可以判定在三维数据解码装置或应用中是否进行坐标变换。

另外,关于基于输入点群的坐标系、输出点群的坐标系、成为编码处理的对象的位置信息的坐标系以及成为解码处理的对象的位置信息的坐标系的组合的处理的切换以及表示这些坐标系的信号化方法,以使用了预测树的编码为例进行了说明,但在八叉树编码的情况下,也可以使用同样的方法。另外,在输入点群的坐标系、输出点群的坐标系、成为编码处理的对象的位置信息的坐标系以及成为解码处理的对象的位置信息的坐标系为某一种的情况下,可以省略切换处理,也可以在坐标系为三种以上的情况下扩展处理。另外,以涉及位置信息的编码及解码的坐标系为例进行了说明,但是在涉及属性信息的编码及解码的坐标系与多个坐标系对应的情况下,或者在输入点群及输出点群的坐标系有可能切换到其他坐标系的情况下,也可以使用同样的方法来切换处理。例如,可以将与图54同样的句法包含在attribute_parameter_set中。

另外,涉及位置信息的编码及解码的坐标系和涉及属性信息的编码及解码的坐标系也可以控制为相同。

另外,如上所述,本实施方式的三维数据编码装置进行图60所示的处理。三维数据编码装置对正交坐标系或极坐标系中的某一个的多个三维点进行编码。三维数据编码装置基于多个编码完毕的三维点中的1个以上的候选点的位置信息计算预测值(S13021)。三维数据编码装置计算多个三维点中的编码对象的1个三维点的位置信息和预测值的差即第1残差(S13022)。三维数据编码装置通过对第1残差进行编码而生成编码数据(S13023)。三维数据编码装置生成包含编码数据和第1识别信息的比特流,该第1识别信息表示编码数据是否包含以极坐标系计算出的第1编码数据(S13024)。

由此,由于表示编码数据是否包含用极坐标系计算出的第1编码数据的第1识别信息包含在比特流中,因此三维数据解码装置能够基于第1识别信息适当地进行解码处理。

例如,比特流还包含第2识别信息。在用于计算预测值的1个以上的候选点的位置信息、以及用于计算第1残差的编码对象的1个三维点的位置信息是极坐标系的位置信息的情况下,第1识别信息表示编码数据包含用极坐标系计算出的第1编码数据。此外,在该情况下,第2识别信息表示在解码中是输出极坐标系的位置信息,还是输出正交坐标系的位置信息。

例如,在第1识别信息表示编码数据不包含第1编码数据的情况下,比特流不包含第2识别信息。

例如,在解码中输出极坐标系的位置信息的情况下,第2识别信息表示在解码中输出极坐标系的位置信息。另外,在该情况下,在第1编码数据的编码中,对第1残差进行量化,对量化后的第1残差进行编码。

例如,在第1残差的计算中,进一步对编码对象的1个三维点的正交坐标系的位置信息的坐标系进行变换,从而生成极坐标系的位置信息,并且,在第1残差是变换后的极坐标系的位置信息与所述预测值的差的情况下,三维数据编码装置通过对变换后的极坐标系的位置信息的坐标系进行逆变换,生成正交坐标系的位置信息。三维数据编码装置计算正交坐标系的位置信息与逆变换后的正交坐标系的位置信息的差即第2残差。在编码数据的生成中,通过对第1残差和所述第2残差进行编码来生成编码数据。第1识别信息表示编码数据包含第1编码数据。第2识别信息表示在解码中输出正交坐标系的位置信息。

例如,第2识别信息表示比特流中是否包含第2残差的编码数据。

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

此外,本实施方式的三维数据解码装置进行图61所示的处理。三维数据解码装置将作为正交坐标系或极坐标系的某一个的多个三维点解码。三维数据解码装置取得包含件第1残差编码而得到的编码数据和第1识别信息的比特流,所述第1识别信息表示编码数据是否包含用极坐标系计算出的第1编码数据(S13031)。三维数据解码装置基于多个解码完毕的三维点中的1个以上的候选点的位置信息计算预测值(S13032)。三维数据解码装置通过对编码后的第1残差进行解码来计算第1残差(S13033)。三维数据解码装置通过将预测值和第1残差相加,计算解码对象的1个三维点的位置信息。计算出的解码对象的1个三维点的位置信息的坐标系是与是否包含第1识别信息所示的第1编码数据相应的坐标系。

由此,能够基于第1识别信息来决定解码对象的1个三维点的位置信息的坐标系,因此三维数据解码装置能够基于第1识别信息适当地进行解码处理,所述第1识别信息表示编码数据是否包含用极坐标系计算出的第1编码数据。

例如,比特流还包含第2识别信息,该第2识别信息表示在解码中是输出极坐标系的位置信息,还是输出正交坐标系的位置信息。在第1识别信息表示编码数据包含第1编码数据的情况下,用于计算预测值的1个以上的候选点的位置信息、以及用于计算第1残差的编码对象的1个三维点的位置信息是极坐标系的位置信息。

例如,在第1识别信息表示编码数据不包含第1编码数据的情况下,比特流不包含所述第2识别信息。

例如,在第2识别信息表示在解码中输出极坐标系的位置信息的情况下,编码数据是第1残差被量化且被编码后的数据。此外,在此情况下,计算出的解码对象的1个三维点的位置信息的坐标系是极坐标系。

例如,在第1识别信息表示编码数据包含第1编码数据,并且第2识别信息表示在解码中输出正交坐标系的位置信息的情况下,在解码对象的1个三维点的位置信息的计算中,对通过将预测值和所述第1残差相加而得到的极坐标系的位置信息的坐标系进行变换,并且将通过变换而得到的正交坐标系的位置信息作为解码对象的1个三维点的位置信息来计算。

例如,在第1识别信息表示编码数据包含第1编码数据,并且第2识别信息表示在解码中输出正交坐标系的位置信息的情况下,编码数据还包含编码后的第2残差。三维数据编码装置通过对编码后的第2残差进行解码来计算第2残差。在解码对象的1个三维点的位置信息的计算中,将通过变换坐标系而得到的正交坐标系的位置信息与所述第2残差相加,并且将通过相加而得到的位置信息作为解码对象的1个三维点的位置信息来计算。

例如,第2识别信息表示比特流中是否包含第2残差的编码数据。

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

(实施方式6)

说明在使用帧间预测对成为编码对象的三维点群进行编码时,决定参照的三维点群的方法。

图62是用于说明用于决定在本实施方式的三维数据编码装置对编码对象的三维点群进行编码时参照的三维点群的处理的第1例的图。具体而言,图62是上述的三维数据编码装置中的帧间预测(帧间预测参照方法)的一例。另外,以下说明的帧间预测以三维数据编码装置的处理过程为例进行说明。在三维数据解码装置的用于决定在对解码对象的编码后的三维点群进行解码时参照的三维点群的处理中,也与三维数据编码装置的处理过程相同。

在本例中,三维数据编码装置通过设定包含编码对象的三维点群的空间(也称为第1长方体)并基于运动补偿信息使第1长方体移动,来设定与第1长方体一致的空间(也称为第2长方体)。在本例中,三维数据编码装置通过使第1长方体平行移动来设定第2长方体。

这样设定的第2长方体成为包含编码对象的三维点群的编码中参照的编码完毕的三维点群(也称为帧间参照点群)的空间。编码完毕的三维点群是指该三维点群的三维数据(例如,位置信息)被编码后的某个点群。

另外,三维数据编码装置设定的空间的形状也可以不是长方体,可以是锥体或球等任意形状。

图63是用于说明用于决定本实施方式的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理的第2例的图。

在本例中,与上述的例子同样,三维数据编码装置使第1长方体平行移动,进一步通过旋转(本例中,水平旋转)来设定包含帧间参照点群的空间(即,第2长方体)。

水平旋转是指以与真实空间中的铅垂方向对应的轴为中心的旋转(即,绕该轴的旋转),例如是以三维的正交坐标系中的z轴为中心的旋转。由此,第1长方体中平行于y轴的边在第2长方体中与y1轴平行。另外,在第1长方体中平行于x轴的边在第2长方体中与x1轴平行。

此外,在本例中,三维数据编码装置通过使第1长方体平行移动后再水平旋转来设定第2长方体。三维数据编码装置也可以通过使第1长方体水平旋转后再平行移动来设定第2长方体。

另外,三维数据编码装置可以使第1长方体绕预先设定的z轴旋转,也可以基于第1长方体的位置设定与预先设定的z轴平行的新的轴,并使第1长方体绕设定的新的轴旋转。例如,三维数据编码装置可以将与第1长方体的z轴平行的边设定为新的轴。

图64是用于说明用于决定在本实施方式的三维数据编码装置对编码对象的三维点群进行编码时参照的三维点群的处理的第3例的图。

在本例中,三维数据编码装置通过使第1长方体平行移动进而使其3D旋转来设定第2长方体。

3D旋转是指,对于1个以上的轴,分别以各轴为中心的旋转。三维数据编码装置例如在3D旋转中,使第1长方体绕x轴旋转,使旋转后的第1长方体绕y轴旋转,进一步地使旋转后的第1长方体绕z轴旋转。由此,在第1长方体中平行于x轴的边在第2长方体中与x2轴平行。在第1长方体中平行于y轴的边在第2长方体中与y2轴平行。另外,在第1长方体中平行于z轴的边在第2长方体中与z2轴平行。

另外,三维数据编码装置在3D旋转中,例如,对于三维正交坐标系中的x轴、y轴、以及z轴中的至少一个轴,分别进行以各轴为中心的旋转即可。此外,三维数据编码装置在3D旋转中,对至少一个轴分别以任意的顺序进行以各轴为中心的旋转即可。

另外,三维数据编码装置可以使第1长方体绕预先设定的各轴旋转,也可以基于第1长方体的位置设定与预先设定的各轴平行的新的各轴,并使第1长方体绕所设定的新的各轴旋转。

作为用于确定第2长方体的位置的信息,可以在帧、切片、八叉树(Octree)、预测树(Predtree)等的头部记载表示实施上述的各例中的哪种预测(移动方法)的预测模式信息,也可以对该预测模式信息进行熵编码并记载于八叉树或预测树的节点信息的头部。

或者,作为用于确定第2长方体的位置的信息,可以将运动补偿信息记载于帧、切片、八叉树、预测树等的头部,也可以对该预测模式信息进行熵编码并记载于八叉树或预测树的节点信息的头部,所述运动补偿信息表示由规定的规则(例如,选择最接近原点坐标的顶点等)确定的第1长方体的第1顶点与对应的第2长方体的第2顶点之间的移动量、以及水平旋转或3D旋转的旋转角等。

另外,旋转角不一定需要表现为全角度,例如也可以限定在±30°等的范围内来表现。

另外,上述的各例的所有方法并不总是需要的,也可以仅使用一部分方法。

此外,可以通过向上述的各例的一部分或全部方法追加能够唯一地设定包含帧间参照点群的空间的其他方法(例如,通过将移动量设为零而不进行运动补偿的方法)来选择空间。

这样,除了平行移动之外还使用旋转来进行帧间预测,由此,在上述的三维数据编码装置和三维数据解码装置中,能够提高编码对象的节点信息的发生概率的预测精度。因此,在上述的三维数据编码装置中,能够降低进行熵编码的残差信号的信息量,因此有可能能够提高编码效率。同样,在上述的三维数据解码装置中,能够降低进行熵解码的残差信号的信息量,因此有可能能够提高解码效率。

另外,移动方法可以任意地确定。三维数据编码装置例如也可以使用上述的各移动方法使第1长方体移动,计算在通过后述的方法对三维点群的位置信息进行编码时的、与各移动方法对应的编码量,选择计算出的编码量中的编码量变得最少的移动方法。

接着,说明运动补偿的处理过程的一例。

三维数据编码装置根据使第1长方体移动了的移动方法(例如平行移动)来使包含在第2长方体中的三维点群(帧间参照点群)移动为包含在第1长方体中。三维数据编码装置参照这样移动的三维点群,而且是编码完毕(即,被编码过一次的三维点群)的三维点群(也称为帧间预测点群),对编码对象的三维点群(具体而言,点群数据,更具体而言,位置信息)进行编码。三维数据编码装置例如通过使帧间参照点群向与第1长方体向第2长方体的位置移动反向地移动以使其包含在第1长方体中,由此来设为帧间预测点群。

图65是表示用于决定(设定)本实施方式的三维数据编码装置在对编码对象的三维点群进行编码时参照的三维点群的处理过程的流程图。具体而言,图65是表示帧间预测中的运动补偿的处理过程的一例的流程图。三维数据编码装置通过对包含在第2长方体中的帧间参照点群进行平行移动或旋转,由此导出与包含在第1长方体中的编码对象的三维点群对应的、即在对编码对象的三维点群进行编码时参照的帧间预测点群。

另外,在本例中,模式0是表示不进行运动补偿即不使帧间参照点群移动的移动方法的模式(无运动补偿)。另外,在本例中,模式1是表示使帧间参照点群仅平行移动的移动方法的模式(无旋转)。另外,在本例中,模式2是表示使帧间参照点群平行移动后再水平旋转的移动方法的模式(水平旋转)。此外,在本例中,模式3是表示在平行移动后再3D旋转的移动方法的模式(3D旋转)。在本例中,假定这些模式被预先确定为预测模式(例如,后述的mc_mode)。例如,三维数据编码装置如上所述那样决定移动方法以使编码量最少,预先决定表示决定出的移动方法的预测模式,使用决定出的预测模式进行以下的处理。

三维数据编码装置在预测模式是不进行运动补偿的模式(本例中为模式0)的情况下(步骤S13101中“无运动补偿(模式0)”),即,在用模式0所示的移动方法使三维点群(即,帧间参照点群)移动的情况下,将处理转移到步骤S13107。

三维数据编码装置通过执行以平行移动和/或旋转等决定出的模式所示的移动方法使帧间参照点群移动的移动处理,将移动处理后的帧间参照点群设定为帧间预测点群(S13107)。在预测模式是模式0的情况下,在步骤S13107中,三维数据编码装置不进行运动补偿,即,将第2空间设定在与第1空间相同的位置,并且将包含在第2空间(即,在这种情况下,第1空间)中的帧间参照点群设定为帧间预测点群。

另一方面,三维数据编码装置在预测模式是模式0以外的情况下(步骤S13101中“其他(模式0以外)”),基于从第1空间(例如,与第1长方体对应的空间)中的第1顶点(例如,第1长方体中的某一个顶点)到与该第1顶点对应的第2顶点即第2空间(例如,与第2长方体对应的空间)中的第2顶点(例如,第2长方体中的某一个顶点)的移动量(例如,距离),来使帧间参照点群平行移动(S13102)。三维数据编码装置例如使帧间参照点群向与所述规定的方向相反的方向移动上述的规定的移动量。

三维数据编码装置在预测模式是仅进行平行移动的模式(本例中为模式1)的情况下,即,在通过模式1所示的移动方法使帧间参照点群移动的情况下(步骤S13103中“无旋转(模式1)”),将处理转移到步骤S13107。

三维数据编码装置在预测模式为模式1的情况下,在步骤S13107中,将在步骤S13102中平行移动后的帧间参照点群设定为帧间预测点群。

另一方面,三维数据编码装置在预测模式是模式2或3的模式的情况下(步骤S13103中“有旋转(模式2或3)”),设定以平行移动后的第1顶点为原点的正交坐标系,使在步骤S13102中平行移动后的帧间参照点群以该正交坐标系中的z轴(垂直轴)为轴旋转与第1旋转角相应的角度(S13104)。三维数据编码装置例如使帧间参照点群向着与使第1长方体移动到第2长方体时绕z轴旋转的旋转方向相反的方向旋转第1旋转角。

三维数据编码装置在预测模式是进行平行移动和水平旋转的模式(本例中,模式2)的情况下,即,在通过模式2所示的移动方法使帧间参照点群移动的情况下(步骤S13105中“水平旋转(模式2)”),将处理转移到步骤S13107。

三维数据编码装置在预测模式为模式2的情况下,在步骤S13107中,将在步骤S13102中平行移动后在步骤S13104中旋转后的帧间参照点群设定为帧间预测点群。

另一方面,三维数据编码装置在预测模式为模式3的情况下(步骤S13105中“3D旋转(模式3)”),设定以步骤S13104中旋转后的第1顶点为原点的正交坐标系,使在步骤S13104中旋转后的帧间参照点群以该正交坐标系中的y轴和x轴为轴分别以第2旋转角和第3旋转角旋转(S13106)。三维数据编码装置例如使在步骤S13104中旋转后的帧间参照点群以y轴为轴以与第2旋转角相应的角度旋转,进而设定以绕y轴旋转后的第1顶点为原点的正交坐标系,使绕y轴旋转后的帧间参照点群以该正交坐标系中的x轴为轴以与第3旋转角相应的角度旋转。三维数据编码装置例如使帧间参照点群向与在使第1长方体向第2长方体移动时绕y轴旋转后的旋转方向相反的方向旋转第2旋转角,进而使帧间参照点群向与在使第1长方体向第2长方体移动时绕x轴旋转后的旋转方向相反的方向旋转第3旋转角。三维数据编码装置在执行步骤S13106之后,使处理转移到步骤S13107。

三维数据编码装置在预测模式为模式3的情况下,在步骤S13107中,将在步骤S13102中平行移动后再在步骤S13104中旋转后的帧间参照点群进一步在步骤S13106中旋转,将旋转后的帧间参照点群设定为帧间预测点群。

此外,例如,在对由车载传感器等移动的传感器取得的三维点群进行编码的情况下,在设定三维的正交坐标系时,可以将与对应于真实空间中的铅垂方向的方向平行的轴设定为z轴,可以将与对应于移动体的前方的方向平行的轴设定为x轴,可以将与对应于移动体的横向的方向平行的轴设定为y轴,并且可以以偏航(yaw)、俯仰(pitch)和滚转(roll)的顺序进行运动补偿(旋转)。

另外,在上述的模式3中,示出了以z轴、y轴、x轴的顺序旋转的例子,但也可以是调换旋转的顺序而例如以z轴、x轴、y轴的顺序等旋转的结构。

另外,在上述的模式2或3中,示出了在平行移动后进行旋转的例子,但也可以是调换顺序而在旋转后进行平行移动的结构。

另外,规定的方向、规定的移动量、第1旋转角、第2旋转角以及第3旋转角可以分别任意地决定。

接着,说明运动补偿信息的一例。

图66是表示本实施方式的运动补偿信息(本例中,motion_info())的句法例的图。三维数据编码装置例如通过生成包含motion_info()的比特流,将运动补偿信息通知给三维数据解码装置。

mc_mode是表示帧间预测点群的计算方法的信息。三维数据编码装置例如如mc_mode那样,将表示帧间预测点群的求出方法的信息通知给三维数据解码装置。三维数据编码装置例如生成包含表示模式0(无运动补偿)、模式1(平行移动)、模式2(平行移动和水平旋转)、或模式3(平行移动和3D旋转)等的mc_mode的比特流。

ref_frame_idx是表示帧间预测点群所属的帧的信息。具体而言,ref_frame_idx是表示帧间预测点群所属的帧的索引值的信息。三维数据编码装置例如生成包含表示帧间参照点群所属的帧的索引值的ref_frame_idx的比特流。

motion_vector是表示平行移动中的移动量的信息。例如,三维数据编码装置在除了模式0(无运动补偿)以外的模式中,生成包含关于从第1空间中的第1顶点到对应于第1顶点的第2空间中的第2顶点的移动量的信息即motion_vector的比特流。

另外,三维数据解码装置例如在从三维数据编码装置取得的比特流中不包含motion_vector即不通知motion_vector的情况下,也可以将motion_vector设定为0(零)。关于移动量的信息可以是表示绝对量的信息,也可以是表示绝对量与利用时间和空间上的连续性等决定出的移动量的预测值之间的差的信息。

rotation_angle是表示旋转中的旋转角的信息。三维数据编码装置例如在进行旋转的模式2及模式3中,生成包含与以垂直轴(z轴)为轴的第1旋转角有关的信息(rotation_angle[0])的比特流。三维数据编码装置例如在模式3中,还生成包含与以y轴为轴的第2旋转角有关的信息(rotation_angle[1])和与以x轴为轴的第3旋转角有关的信息(rotation_angle[2])的比特流。

另外,三维数据解码装置例如在从三维数据编码装置取得的比特流中不包含rotation_angle,即不通知rotation_angle[k](k=0、1、2)的情况下,也可以将rotation_angle设定为0(零)。

另外,在上述中,作为模式2,示出了将平行移动和水平旋转(z轴中心的旋转)组合的例子,但并不一定限定于z轴中心的旋转,也可以是x轴中心的旋转和/或y轴中心的旋转。或者,三维数据编码装置例如以哪个轴为中心的旋转也可以是能够切换的,以使得通过记载于SPS、GPS、帧、切片、八叉树、或预测树等的头部,而能够通知给三维数据解码装置。或者,例如,三维数据编码装置也可以对表示以哪个轴为中心进行旋转的信息进行熵编码,将编码后的信息记载于八叉树或预测树的节点信息的头部。

此外,motion_vector和rotation_angle只要是能够唯一地确定帧间参照点群和帧间预测点群之间的位置关系的信息即可,没有特别限定。例如,motion_vector和rotation_angle可以是在将第1空间移动到第2空间的情况下的移动量和旋转角。或者,例如,motion_vector和rotation_angle可以是在将第2空间移动到第1空间的情况下的移动量和旋转角。三维数据编码装置和三维数据解码装置双方进行的运动补偿只要在三维数据编码装置和三维数据解码装置双方中基于共同的定义来实施即可。

此外,也可以将本实施方式的处理以及句法等与其他实施方式的至少一部分组合来实施。

此外,也可以将本实施方式的处理、以及句法的一部分等与其他实施方式组合来实施。

此外,本实施方式的所有构成要素并不总是必需的,三维数据编码装置及三维数据解码装置也可以仅具备一部分构成要素。或者,三维数据编码装置及三维数据解码装置也可以构成为仅执行本实施方式的一部分处理。

如上所述,本实施方式的三维数据编码装置进行图67所示的处理。

图67是表示本实施方式的三维数据编码装置的处理过程的流程图。

首先,三维数据编码装置从多个移动方法中选择1个移动方法(S13111)。

接着,三维数据编码装置基于所选择的1个移动方法和第1区域(例如,表示第1区域的位置和尺寸的信息)来决定第2区域(S13112)。三维数据编码装置例如通过以所选择的1个移动方法使第1区域移动,来决定第2区域。

接着,三维数据编码装置通过与1个移动方法相应的方法使位于决定出的第2区域中的第2三维点群移动到第1区域(S13113)。例如,移动前的第2三维点群是上述的帧间参照点群,移动后的第2三维点群是上述的帧间预测点群。

接着,三维数据编码装置基于移动到第1区域的第2三维点群的编码完毕的位置信息,对位于第1区域的第1三维点群的位置信息进行编码(S13114)。第1三维点群例如是上述的编码对象的三维点群。例如,第1三维点群属于第1帧。此外,例如,第2三维点群属于不同于第1帧的第2帧。例如,三维数据编码装置也可以使用帧间预测来进行编码。此外,第1三维点群和第2三维点群可以属于相同的帧。在此情况下,三维数据编码装置也可以使用与帧间预测同样的预测方法进行编码。

接着,三维数据编码装置生成包含第1三维点群的编码后的位置信息和表示决定出的1个移动方法的移动信息的比特流(S13115)。移动信息例如是上述的mc_motion。

多个移动方法包括平行移动的方法和旋转的方法中的一方或双方。多个移动方法可以包括至少平行移动的方法和至少旋转的方法。

另外,多个移动方法除了这些移动方法以外,可以预先任意地确定,没有特别限定。或者,多个移动方法也可以仅包括至少平行移动的方法和至少旋转的方法。

据此,使用通过适当选择的移动方法移动的三维点群,进行编码对象的三维点群的位置信息的编码。因此,可以提高编码效率。例如,通过使用根据适当选择的移动方法而移动的三维点群,进行编码对象的三维点群的位置信息的编码,能够提高编码对象的节点信息的发生概率的预测精度。因此,能够降低被熵编码的残差信号的信息量,可以提高编码效率。

另外,例如,多个移动方法包括不移动的方法。即,第1区域和第2区域也可以是相同的区域。换言之,也可以不进行上述的运动补偿。

另外,例如,多个移动方法包括平行移动且旋转的方法。

例如,基于由车载传感器等移动的传感器取得的信息的三维点群,大多情况下位置以相对于时间变化而进行平行移动且旋转这双方的方式变化。即,例如当按照时间序列顺序观察各帧时,三维点群的位置大多以平行移动且旋转的方式移动。因此,通过包含平行移动和旋转作为移动方法,能够容易地选择适当的三维点群作为对编码对象的三维点群进行编码时使用的三维点群。

另外,例如,在平行移动且旋转的方法中,在平行移动后旋转。

另外,例如,在旋转的方法中,对于三维的正交坐标系中的三轴中的至少一个轴,按每个轴使其绕与该轴平行的轴旋转。

另外,例如,至少一个轴包括与真实空间中的铅垂方向对应的轴。三维点群例如是通过拍摄真实空间等感测而生成的与真实空间的物体等对应的点群。例如,在使三维点群旋转的情况下,以与对应于三维点群的物体等所位于的真实空间中的铅垂方向对应的方向为轴,使三维点群绕该轴旋转。

例如,基于由车载传感器等移动的传感器取得的信息的三维点群相对于时间变化绕与真实空间的铅垂方向平行的轴旋转的可能性高。另一方面,这样的三维点群相对于时间变化绕与真实空间的水平方向平行的轴旋转的可能性低。因此,通过包含绕与真实空间中的铅垂方向对应的轴旋转的移动方法,能够容易地选择适当的三维点群作为对编码对象的三维点群的位置信息进行编码时使用的三维点群。

另外,例如,至少一个轴是1个轴。

如上所述,例如,基于由车载传感器等移动的传感器取得的信息的三维点群相对于时间变化绕与真实空间的水平方向平行的轴旋转的可能性低。因此,通过使旋转的方法是仅绕与真实空间的铅垂方向平行的轴旋转的方法,能够抑制多个移动方法的不必要的增多,并且能够容易地选择适当的三维点群作为对编码对象的三维点群的位置信息进行编码时使用的三维点群。

另外,例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。存储器可以存储进行上述处理的控制程序。

此外,本实施方式的三维数据解码装置进行图68所示的处理。

图68是表示本实施方式的三维数据解码装置的处理过程的流程图。

首先,三维数据解码装置取得包含第1三维点群的编码后的位置信息和表示1个移动方法的移动信息的比特流(S13121)。

接着,三维数据解码装置基于移动信息,从多个移动方法中选择1个移动方法(S13122)。

接着,三维数据解码装置基于所选择的1个移动方法和第1区域(例如表示第1区域的位置及尺寸的信息)来决定第2区域(S13123)。三维数据编码装置例如通过以所选择的1个移动方法使第1区域移动,来决定第2区域。

接着,三维数据解码装置通过与1个移动方法相应的方法使位于决定出的第2区域中的第2三维点群移动到第1区域(S13124)。

接着,三维数据解码装置基于移动到第1区域的第2三维点群的解码完毕的位置信息,对第1三维点群的编码后的位置信息进行解码(S13125)。解码完毕的三维点群是指该三维点群的三维数据(例如,位置信息)被解码后的某个点群。

多个移动方法包括平行移动的方法和旋转的方法中的一方或双方。

由此,使用通过适当选择的移动方法移动的三维点群,进行解码对象的三维点群的编码后的位置信息的解码。因此,可以提高解码效率。

另外,例如,多个移动方法包括不移动的方法。

另外,例如,多个移动方法包括平行移动且旋转的方法。

例如,基于由车载传感器等移动的传感器取得的信息的三维点群,大多情况下位置以相对于时间变化进行平行移动且旋转这双方的方式变化。即,当按照时间序列顺序观察各帧时,三维点群的位置大多以平行移动且旋转的方式移动。因此,通过包含平行移动和旋转作为移动方法,能够容易地选择适当的三维点群作为在对解码对象的编码后的三维点群进行解码时使用的三维点群。

另外,例如,在平行移动且旋转的方法中,在平行移动后旋转。

另外,例如,在旋转的方法中,对于三维的正交坐标系中的三轴中的至少一个轴,按每个轴使第1区域绕与该轴平行的轴旋转。

另外,例如,至少一个轴包括与真实空间中的铅垂方向对应的轴。

例如,基于由车载传感器等移动的传感器取得的信息的三维点群相对于时间变化绕与真实空间的铅垂方向平行的轴旋转的可能性高。另一方面,这样的三维点群相对于时间变化绕与真实空间的水平方向平行的轴旋转的可能性低。因此,通过包含绕与真实空间中的铅垂方向对应的轴旋转的移动方法,能够容易地选择适当的三维点群作为在对解码对象的三维点群的编码后的位置信息进行解码时使用的三维点群。

另外,例如,至少一个轴是1个轴。

如上所述,例如,基于由车载传感器等移动的传感器取得的信息的三维点群相对于时间变化绕与真实空间的水平方向平行的轴旋转的可能性低。因此,通过使旋转的方法是仅绕与真实空间的铅垂方向平行的轴旋转的方法,能够抑制多个移动方法的不必要的增多,并且,能够容易地选择适当的三维点群作为在对解码对象的三维点群的编码后的位置信息进行解码时使用的三维点群。

此外,例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。存储器可以存储用于进行上述处理的控制程序。

(实施方式7)

在本实施方式中,说明在上述实施方式所示的三维数据编码装置和三维数据解码装置中,进行使用极坐标的编码或解码的情况下的帧间预测中的参照点群的参照方法。图69是用于说明本实施方式的帧间预测中的参照点群的参照方法的图。

在本实施方式中,表示三维点群的点群数据以如LiDAR等那样以传感器位置为中心取得周围物体的三维位置而生成的点群为例进行说明。在这样的点群数据的编码中,也可以进行使用了在二维平面上映射了从传感器位置到各三维点的测距位置的距离信息d[v][h]的二维图像即深度映射(depth map)的帧间预测。该二维平面以表示测距位置的水平角(传感器的水平扫描中的角度位置)的索引h为横轴,以表示测距位置的仰角(传感器的扫描线的仰角)的索引v为纵轴。即,表示二维图像的各像素的像素位置的二维坐标([v],[h])的成分[v]是表示来自该像素的距离信息的三维点的测距位置的仰角的索引,成分[h]是表示来自该像素的距离信息的三维点的测距位置的水平角的索引。

表示仰角的索引例如是仰角信息,该仰角信息用于在水平方向上观察传感器的情况下的仰角(俯角)中确定对传感器预先确定的多个仰角(俯角)中的1个。表示水平角的索引例如是水平角信息,该水平角信息用于在铅垂方向上观察传感器的情况下的水平角中确定对传感器预先确定的多个水平角中的1个。

另外,二维图像也可以不对所有的像素分配三维点。即,在由二维图像的二维坐标确定的水平角和仰角的多个集中,没有取得距离信息的集可以包含在二维图像中。

三维数据编码装置或三维数据解码装置也可以将编码对象点的帧间预测的预测点决定为参照帧的三维点。如图69所示,编码对象点包含在编码对象帧中的、根据1个预测树(Predtree)进行编码的对象区域(由虚线包围的区域),预测点包含在参照帧的帧间预测的参照区域。编码对象帧及参照帧分别映射到二维图像。如上所述,这些二维图像是在二维平面上映射了从传感器位置到各三维点的测距位置的距离信息d[v][h]的深度映射。对象区域是编码对象帧中的一部分二维区域。对象区域例如是矩形。帧间预测的参照区域是与编码对象帧中的对象区域对应的区域。参照区域是参照帧中的一部分二维区域。例如,帧间预测的参照区域可以通过用于确定是针对对象区域的哪个区域的运动矢量(运动补偿信息)而建立对应。编码对象点的帧间预测的预测点,从包含在参照区域的多个像素的像素值所示的多个三维点中选择。

参照区域可以是由1条运动矢量mv0对对象区域指定的区域。在这种情况下,参照区域可以通过运动矢量mv0指定与对象区域相同尺寸且相同形状的区域。将该情况称为模式1。

此外,参照区域可以是通过仿射变换确定的区域,使得参照区域是以多个矢量所指向的多个点为顶点的区域。

例如,参照区域可以是通过2条运动矢量mv0、mv1对对象区域指定的区域。在这种情况下,参照区域可以是以成为将2条运动矢量mv0、mv1指向端的两个点作为顶点的区域的方式,通过进行旋转以及放大/缩小中的至少一个变形而确定出的区域。将该情况称为模式2。

另外,例如,如图69所示,参照区域可以是通过3条运动矢量mv0、mv1、mv2对对象区域指定的区域。在这种情况下,参照区域可以是以成为将3条运动矢量mv0、mv1、mv2指向端的三个点作为顶点的区域的方式,通过对对象区域进行旋转、放大/缩小和剪切中的至少一个变形而确定出的区域。将该情况称为模式3。

此外,运动矢量可以是整数精度或小数精度。即,运动矢量可以是整数像素单位的精度,也可以是小数像素单位的精度。另外,各运动矢量也可以是零矢量。此外,在参照帧的小数精度位置的情况下,小数精度位置可以基于周边的距离信息来进行插补。

此外,用于确定水平角的索引h的范围即水平角索引的最小值(hmin)和最大值(hmax)的信息,或仰角的索引v的范围即仰角索引的最小值(vmin)和最大值(vmax)的信息,可以包含在帧或预测树的头部中。而且,在各帧的水平角和仰角的索引v、h的范围中存在差异的情况下,运动矢量可以基于该差异来修正。

这样,通过在使用极坐标的编码或解码中的帧间预测中使用深度映射,与三维空间中的帧间预测相比能够使处理简单化,有可能能够降低三维数据编码装置或三维数据解码装置的安装成本。

图70是表示GPS(几何形状参数集)的句法的一例的图。图71是表示预测树的句法的一例的图。这些句法对应于使用图69说明的帧间预测方法。

在图70中,gps_predtree_bounding_info_present_flag为1表示在参照GPS的比特流中,在位置信息的预测树的数据(geometry predtree data)的句法中存在边界框(Bounding Box)信息。gps_predtree_bounding_info_present_flag为0表示在参照GPS的比特流中,在位置信息的预测树的数据(geometry predtree data)的句法中不存在边界框信息。此外,在gps_inter_frame_prediction_enabeled_flag等于1的情况下,gps_predtree_bounding_info_present_flag设定为1。

图71中所示的预测树的句法用于使用1个以上的预测树对切片内的点群进行编码的情况。在该句法中,示出了首先调用预测树的根节点句法(geometry_prediction_tree_node()),递归地调用与属于相同预测树的节点对应的节点句法。此外,在句法中,作为与各预测树建立对应的信息,也可以包含表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())、表示是否使用帧间预测对预测树进行编码的信息(inter_predtree_flag)、与预测树中的帧间预测中参照的帧数有关的信息(num_ref_frames_minus1)、与预测树中的帧间预测的运动补偿有关的信息(geometry_predtree_motion_info())等。

此外,也可以设为能够切换是否通知表示预测树进行编码的区域的信息(geometry_predtree_bounding_info())。例如,在图70和图71的例子中,在使用帧间预测的情况下,为了用于确定帧间预测的参照区域,始终通知表示预测树进行编码的区域的信息,在不使用帧间预测的情况下,根据由GPS通知的gps_predtree_bounding_info_present_flag,切换是否通知表示预测树进行编码的区域的信息。即使在不使用帧间预测的情况下,也可以始终通知表示通过预测树编码的对象区域的信息。

此外,在通知表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())的情况下,也可以以在该对象区域中包含该预测树的全部节点的方式设定对象区域或者预测树。

图72是表示预测树的运动补偿信息的句法的一例的图。图73是表示极坐标编码中的运动补偿信息的句法的一例的图。图74是表示预测树的编码范围信息的句法的一例的图。

这些句法的例子对应于包含用极坐标系来表现的位置信息的点群(极坐标系的点群)的编码或解码、以及包含用正交坐标系来表现的位置信息的点群(正交坐标系的点群)的编码或解码双方。在极坐标系的点群的编码或解码中,进行使用图69的深度映射的预测。另外,在正交坐标系的点群的编码或解码中,进行在上述实施方式中说明的预测。

如图72和图74所示,在各句法中,也可以根据表示在各三维点的编码或解码中是否使用极坐标系等与正交坐标系不同的坐标系的信息(例如gps_alt_coordinates_flag),切换表示极坐标用的信息(motion_info_polar()、min_vh[k]、size_vh[k]等)和正交坐标用的信息(motion_info()、min_xyz[k]、size_xyz[k]等)。即,在gps_alt_coordinates_flag表示使用其他坐标系的情况下,也可以示出极坐标用的信息(motion_info_polar()、min_vh[k]、size_vh[k]等),而不示出正交坐标用的信息(motion_info()、min_xyz[k]、size_xyz[k]等)。相反,在gps_alt_coordinates_flag表示使用正交坐标系的情况下,也可以不示出极坐标用的信息(motion_info_polar()、min_vh[k]、size_vh[k]等),而示出正交坐标用的信息(motion_info()、min_xyz[k]、size_xyz[k]等)。

用正交坐标系的点群的编码或解码中,作为motion_info()可以使用在上述实施方式中说明的句法。表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())相当于包含上述实施方式中说明的编码对象的点群的第1长方体,并且作为表示位置和尺寸的信息,可以包含表示在上述实施方式中说明的最小的坐标的信息(min_xyz[k])和表示第1长方体的各边的大小的信息(size_xyz[k])。即,比特流也可以包含表示三维区域的位置及尺寸的区域信息。由区域信息所示的三维区域是指,包含有编码对象的预测树中包含的多个三维点的区域,并包含在编码对象帧的三维区域中。此外,如果表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())是唯一地确定通过预测树编码的对象区域的信息,则也能够用其他信息代替。

在进行极坐标系的点群的编码或解码的情况下,图71的句法中可以示出运动补偿信息。首先,在该句法中,也可以示出表示帧间预测点群的求出方法的信息(mc_mode_polar)。表示帧间预测点群的求出方法的信息(mc_mode_polar)例如是表示图69的例子所示的模式1~3、或表示无运动补偿的模式(模式0)中的1个模式的信息。另外,表示无运动补偿的模式除了模式0以外,也可以是运动矢量mv0为零矢量的模式1。另外,在该句法中可以包含参照帧的索引值(ref_frame_idx)。此外,在模式0以外的模式中,也可以根据模式示出运动矢量mv0~mv2(motion_vector_polar[i][k])。motion_vector_polar[i][k]可以由绝对量来表示,也可以由与利用时间和空间上的连续性等而决定出的预测值之间的差来表示。作为表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())的位置及尺寸的信息,可以示出图74所示的表示最小坐标的信息(min_vh[k])和表示长方形的各边的大小的信息(size_vh(k))。即,比特流也可以包含表示二维区域的位置及尺寸的区域信息。由区域信息所示的二维区域是指,包含有编码对象的预测树中包含的多个三维点的区域,并包含在编码对象帧的二维图像的二维区域中。此外,如果表示通过预测树编码的对象区域的信息(geometry_predtree_bounding_info())是唯一地确定通过预测树编码的对象区域的信息,则也能够用其他信息代替。

可以将使用本实施方式的图69~图74公开的处理、句法等与其他公开(其他实施方式)的至少一部分组合来实现。此外,可以将本实施方式中使用图69~图74公开的处理、句法的一部分等与其他公开(其他实施方式)组合来实现。

另外,使用本实施方式的图69~图74公开的所有构成要素并不总是必需的,也可以仅具备一部分构成要素。

另外,在句法中表示各信息的情况与通过句法通知各信息的情况相同。

如上所述,本实施方式的三维数据编码装置进行图75所示的处理。三维数据编码装置参照与包含预测树的第1帧不同的第2帧中包含的三维点,对多个三维点中的编码对象点进行编码并生成编码数据,所述预测树包含所述编码对象点(S13501)。三维数据编码装置生成包含编码数据的比特流(S13502)。第2帧中包含的多个三维点是编码完毕的。在编码中,基于与预测树对应的运动补偿信息,参照第2帧中包含的多个三维点中的至少一部分三维点,对编码对象点进行编码。比特流包含运动补偿信息。

由此,基于运动补偿信息,决定为了对编码对象点进行编码而参照的至少一部分的多个三维点,因此能够提高编码效率。

例如,包含在第1帧和第2帧中的多个三维点各自的位置信息可以用极坐标系来表现。第1帧和第2帧分别映射为二维图像。二维图像的各像素表示第2帧中包含的多个三维点各自的位置信息,具有该位置信息中包含的距离信息作为像素值。

例如,表示二维图像的各像素的像素位置的二维坐标表示极坐标中包含的仰角信息和水平角信息。

例如,预测树中包含的多个三维点由第1帧被映射的二维图像中的二维区域确定。比特流还包含表示二维区域的位置及尺寸的区域信息。

例如,第1帧和第2帧中包含的多个三维点各自的位置信息用正交坐标系来表现。预测树中包含的多个三维点包含在第1帧的第1三维区域中包含的第2三维区域中。比特流还包含表示第2三维区域的位置和尺寸的区域信息。

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

此外,本实施方式的三维数据解码装置进行图76所示的处理。三维数据解码装置取得包含编码数据和运动补偿信息的比特流(S13511),该编码数据是对第1帧的预测树中包含的编码对象点进行编码而得到的。三维数据解码装置使用运动补偿信息,确定包含在与第1帧不同的第2帧中的多个三维点中的至少一部分三维点(S13512)。三维数据解码装置使用对编码数据进行解码而得到的解码结果和至少一部分三维点,计算编码对象点(S13513)。第2帧中包含的多个三维点是解码完毕的。运动补偿信息是将预测树与第2帧中包含的多个三维点中的至少一部分建立对应的信息。

由此,决定为了对使用比特流所示的运动补偿信息进行编码后的编码对象点进行解码而参照的至少一部分的多个三维点,因此能够对编码后的编码对象点适当地进行解码。

例如,包含在第1帧和第2帧中的多个三维点各自的位置信息用极坐标系来表现。第1帧和第2帧分别映射为二维图像。二维图像的各像素表示第2帧中包含的多个三维点各自的位置信息,具有该位置信息中包含的距离信息作为像素值。

例如,表示二维图像的各像素的像素位置的二维坐标表示极坐标中包含的仰角信息和水平角信息。

例如,预测树中包含的多个三维点由第1帧被映射的二维图像中的二维区域确定。比特流还包含表示二维区域的位置及尺寸的区域信息。

例如,包含在第1帧和第2帧中的多个三维点各自的位置信息用正交坐标系来表现。预测树中包含的多个三维点包含在第1帧的第1三维区域中包含的第2三维区域中。比特流还包含表示第2三维区域的位置和尺寸的区域信息。

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

(实施方式8)

接着,对本实施方式的三维数据制作装置810的构成进行说明。图77是表示本实施方式的三维数据制作装置810的结构例的框图。该三维数据制作装置810例如搭载于车辆。三维数据制作装置810与外部的交通监控云、前方车辆或后方车辆进行三维数据的收发,并且制作并积蓄三维数据。

三维数据制作装置810具备:数据接收部811、通信部812、接收控制部813、格式变换部814、多个传感器815、三维数据制作部816、三维数据合成部817、三维数据积蓄部818、通信部819、发送控制部820、格式变换部821、以及数据发送部822。

数据接收部811从交通监控云或前方车辆接收三维数据831。三维数据831例如包含包括本车辆的传感器815不能检测的区域的、点云、可见光影像、进深信息、传感器位置信息、或速度信息等的信息。

通信部812与交通监控云或前方车辆进行通信,将数据发送请求等发送给交通监控云或前方车辆。

接收控制部813经由通信部812,与通信方交换对应格式等信息,确立与通信方的通信。

格式变换部814通过对由数据接收部811接收的三维数据831进行格式变换等来生成三维数据832。并且,格式变换部814在三维数据831被压缩或编码了的情况下,进行解压缩或解码处理。

多个传感器815是LiDAR、可见光相机或红外线相机等的取得车辆的外部的信息的传感器群,生成传感器信息833。例如,在传感器815为LiDAR等激光传感器的情况下,传感器信息833是点云(点群数据)等三维数据。另外,传感器815也可以不是多个。

三维数据制作部816根据传感器信息833生成三维数据834。三维数据834例如包括点云、可见光影像、进深信息、传感器位置信息、或速度信息等的信息。

三维数据合成部817将交通监控云或前方车辆等制作的三维数据832与根据本车辆的传感器信息833而制作的三维数据834进行合成,从而能够构建将本车辆的传感器815不能检测的前方车辆的前方的空间也包括在内的三维数据835。

三维数据积蓄部818积蓄所生成的三维数据835等。

通信部819与交通监控云或后方车辆进行通信,将数据发送请求等发送给交通监控云或后方车辆。

发送控制部820经由通信部819,与通信方交换对应格式等信息,与通信方确立通信。并且,发送控制部820根据由三维数据合成部817生成的三维数据832的三维数据构建信息、以及来自通信方的数据发送请求,来决定作为发送对象的三维数据的空间的发送区域。

具体而言,发送控制部820按照来自交通监控云或后方车辆的数据发送请求,决定发送区域,该发送区域包括后方车辆的传感器不能检测的本车辆的前方的空间。并且,发送控制部820根据三维数据构建信息判断能够发送的空间或已发送空间的更新有无等,从而决定发送区域。例如,发送控制部820将由数据发送请求指定且存在对应的三维数据835的区域决定为发送区域。并且,发送控制部820将通信方所对应的格式、以及发送区域通知给格式变换部821。

格式变换部821通过将三维数据积蓄部818中积蓄的三维数据835中的发送区域的三维数据836变换为接收侧所对应的格式,来生成三维数据837。另外,格式变换部821也可以通过对三维数据837进行压缩或编码,来削减数据量。

数据发送部822将三维数据837发送到交通监控云或后方车辆。该三维数据837例如包含:包括成为后方车辆的死角的区域的、本车辆的前方的点云、可见光影像、进深信息、或传感器位置信息等的信息。

另外,在此以由格式变换部814以及821进行格式变换等为例进行了说明,但是也可以不进行格式变换。

通过此构成,三维数据制作装置810从外部取得通过本车辆的传感器815不能检测的区域的三维数据831,并通过对三维数据831与基于由本车辆的传感器815检测到的传感器信息833的三维数据834进行合成而生成三维数据835。由此,三维数据制作装置810能够生成通过本车辆的传感器815不能检测的范围的三维数据。

并且,三维数据制作装置810能够按照来自交通监控云或后方车辆的数据发送请求,将包括通过后方车辆的传感器不能检测的本车辆的前方的空间的三维数据发送给交通监控云或后方车辆等。

接着,对三维数据制作装置810中的对后方车辆发送三维数据的发送过程进行说明。图78是表示由三维数据制作装置810向交通监控云或后方车辆发送三维数据的过程的一个例子的流程图。

首先,三维数据制作装置810生成并更新包括本车辆的前方道路上的空间的空间的三维数据835(S801)。具体而言,三维数据制作装置810通过将交通监控云或前方车辆等制作的三维数据831与基于本车辆的传感器信息833制作的三维数据834进行合成等,构建将通过本车辆的传感器815不能检测的前方车辆的前方的空间也包括在内的三维数据835。

接着,三维数据制作装置810判断已发送的空间中包含的三维数据835是否发生了变化(S802)。

在由于车辆或人从外部进入到已发送的空间等而该空间中包含的三维数据835发生了变化的情况下(S802的“是”),三维数据制作装置810将包含发生了变化的空间的三维数据835的三维数据发送给交通监控云或后方车辆(S803)。

另外,三维数据制作装置810可以匹配于以规定的间隔发送三维数据的发送定时来发送发生了变化的空间的三维数据,但也可以在检测到变化后立即进行发送。即,三维数据制作装置810可以将发生了变化的空间的三维数据比以规定的间隔发送的三维数据优先发送。

并且,三维数据制作装置810也可以将发生了变化的空间的三维数据的全部作为发生了变化的空间的三维数据来发送,也可以仅发送三维数据的差分(例如出现或消失的三维点的信息、或三维点的位移信息等)。

并且,也可以是,三维数据制作装置810在发送发生了变化的空间的三维数据之前,先将紧急刹车警报等与本车辆的危险回避动作有关的元数据发送给后方车辆。由此,后方车辆能够提早确认到前方车辆的紧急刹车等,能够尽快地开始减速等危险回避动作。

在已发送的空间中包含的三维数据835没有发生变化的情况下(S802的“否”)或步骤S803之后,三维数据制作装置810将位于本车辆的前方距离L上的规定的形状的空间中包含的三维数据发送给交通监控云或后方车辆(S804)。

并且,例如步骤S801~S804的处理以规定的时间间隔反复执行。

并且,三维数据制作装置810在当前的发送对象的空间的三维数据835与三维地图之间没有差异的情况下,也可以不发送空间的三维数据837。

在本实施方式中,客户端装置向服务器或其他客户端装置发送由传感器得到的传感器信息。

首先,对本实施方式的系统的构成进行说明。图79是表示本实施方式的三维地图以及传感器信息的收发系统的结构的图。该系统包括服务器901、客户端装置902A以及902B。另外,在不对客户端装置902A以及902B进行特殊区分的情况下,也记作客户端装置902。

客户端装置902例如是被搭载在车辆等移动体的车载设备。服务器901例如是交通监控云等,能够与多个客户端装置902进行通信。

服务器901向客户端装置902发送由点云构成的三维地图。另外,三维地图的构成并非受点云所限,也可以通过网格结构等其他的三维数据来表现。

客户端装置902向服务器901发送由客户端装置902获得的传感器信息。传感器信息例如至少包括LiDAR获得信息、可见光图像、红外图像、深度图像、传感器位置信息以及速度信息之中的一个。

关于在服务器901与客户端装置902之间收发的数据,在想要减少数据的情况下可以被压缩,在想要维持数据的精确度的情况下可以不进行压缩。在对数据进行压缩的情况下,在点云中例如能够采用基于八叉树的三维压缩方式。并且,在可见光图像、红外图像、以及深度图像中可以采用二维的图像压缩方式。二维的图像压缩方式例如是以MPEG标准化的MPEG-4AVC或HEVC等。

并且,服务器901按照来自客户端装置902的三维地图的发送请求,将在服务器901进行管理的三维地图发送到客户端装置902。另外,服务器901也可以不等待来自客户端装置902的三维地图的发送请求,就对三维地图进行发送。例如,服务器901也可以将三维地图广播到预先规定的空间中的一个以上的客户端装置902。并且,服务器901也可以向接受过一次发送请求的客户端装置902,每隔一定的时间发送适于客户端装置902的位置的三维地图。并且,服务器901也可以在每当服务器901所管理的三维地图被更新时,向客户端装置902发送三维地图。

客户端装置902向服务器901发出三维地图的发送请求。例如,在客户端装置902在行驶时想要进行自身位置估计的情况下,客户端装置902将三维地图的发送请求发送到服务器901。

另外,在以下的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。在客户端装置902所持有的三维地图比较旧的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。例如,在客户端装置902获得三维地图并经过了一定期间的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。

也可以是,在客户端装置902将要从客户端装置902所保持的三维地图所示的空间出来的一定时刻之前,客户端装置902向服务器901发出三维地图的发送请求。例如也可以是,在客户端装置902存在于从客户端装置902所保持的三维地图所示的空间的边界预先规定的距离以内的情况下,客户端装置902向服务器901发出三维地图的发送请求。并且,在掌握到客户端装置902的移动路径以及移动速度的情况下,可以根据掌握到的移动路径和移动速度,来预测客户端装置902从客户端装置902所保持的三维地图示出的空间出来的时刻。

在客户端装置902根据传感器信息制作的三维数据与三维地图的位置对照时的误差在一定范围以上时,客户端装置902可以向服务器901发出三维地图的发送请求。

客户端装置902按照从服务器901发送来的传感器信息的发送请求,将传感器信息发送到服务器901。另外,客户端装置902也可以不等待来自服务器901的传感器信息的发送请求,就将传感器信息发送到服务器901。例如,客户端装置902在从服务器901得到过一次传感器信息的发送请求的情况下,可以在一定的期间之中,定期地将传感器信息发送到服务器901。并且也可以是,在客户端装置902根据传感器信息制作的三维数据、与从服务器901得到的三维地图的位置对照时的误差为一定范围以上的情况下,客户端装置902判断在客户端装置902的周边的三维地图有发生变化的可能性,并将这一判断结果和传感器信息一起发送到服务器901。

服务器901向客户端装置902发出传感器信息的发送请求。例如,服务器901从客户端装置902接收GPS等客户端装置902的位置信息。服务器901根据客户端装置902的位置信息,在判断为客户端装置902接近到服务器901所管理的三维地图中信息少的空间的情况下,为了重新生成三维地图,而将传感器信息的发送请求发出到客户端装置902。并且也可以是,服务器901在想要更新三维地图的情况、在想要确认积雪时或灾害时等道路状况的情况、在想要确认堵塞状况或事件事故状况等情况下,也可以发出传感器信息的发送请求。

并且也可以是,客户端装置902按照从服务器901接受的传感器信息的发送请求的接收时的通信状态或频带,来设定发送到服务器901的传感器信息的数据量。对发送到服务器901的传感器信息的数据量进行设定例如是指,对该数据本身进行增减、或者选择适宜的压缩方式。

图80是表示客户端装置902的结构例的框图。客户端装置902从服务器901接收以点云等构成的三维地图,根据基于客户端装置902的传感器信息而制作的三维数据,来估计客户端装置902的自身位置。并且,客户端装置902将获得的传感器信息发送到服务器901。

客户端装置902具备:数据接收部1011、通信部1012、接收控制部1013、格式变换部1014、多个传感器1015、三维数据制作部1016、三维图像处理部1017、三维数据积蓄部1018、格式变换部1019、通信部1020、发送控制部1021、以及数据发送部1022。

数据接收部1011从服务器901接收三维地图1031。三维地图1031是包括WLD或SWLD等点云的数据。三维地图1031也可以包括压缩数据、以及非压缩数据的任一方。

通信部1012与服务器901进行通信,将数据发送请求(例如,三维地图的发送请求)等发送到服务器901。

接收控制部1013经由通信部1012,与通信对方交换对应格式等信息,确立与通信对方的通信。

格式变换部1014通过对数据接收部1011所接收的三维地图1031进行格式变换等,来生成三维地图1032。并且,格式变换部1014在三维地图1031被压缩或编码的情况下,进行解压缩或解码处理。另外,格式变换部1014在三维地图1031为非压缩数据的情况下,不进行解压缩或解码处理。

多个传感器1015是LiDAR、可见光相机、红外线相机、或深度传感器等客户端装置902所搭载的用于获得车辆的外部的信息的传感器群,生成传感器信息1033。例如,在传感器1015为LiDAR等激光传感器的情况下,传感器信息1033是点云(点群数据)等三维数据。另外,传感器1015也可以不是多个。

三维数据制作部1016根据传感器信息1033,制作本车辆的周边的三维数据1034。例如,三维数据制作部1016利用由LiDAR获得的信息、以及由可见光相机得到的可见光影像,来制作本车辆的周边的具有颜色信息的点云数据。

三维图像处理部1017利用接收的点云等三维地图1032、以及根据传感器信息1033生成的本车辆的周边的三维数据1034,来进行本车辆的自身位置估计处理等。另外,也可以是,三维图像处理部1017对三维地图1032与三维数据1034进行合成,来制作本车辆的周边的三维数据1035,利用制作的三维数据1035,来进行自身位置估计处理。

三维数据积蓄部1018对三维地图1032、三维数据1034以及三维数据1035等进行积蓄。

格式变换部1019通过将传感器信息1033变换为接收侧所对应的格式,来生成传感器信息1037。另外,格式变换部1019可以通过对传感器信息1037进行压缩或编码来减少数据量。并且,在不需要格式变换的情况下,格式变换部1019可以省略处理。并且,格式变换部1019可以对按照发送范围的指定来发送的数据量进行控制。

通信部1020与服务器901进行通信,从服务器901接收数据发送请求(传感器信息的发送请求)等。

发送控制部1021经由通信部1020,与通信对方交换对应格式等信息,从而确立通信。

数据发送部1022将传感器信息1037发送到服务器901。传感器信息1037例如包括通过LiDAR获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等由多个传感器1015获得的信息。

接着,对服务器901的结构进行说明。图81是示出服务器901的结构例的框图。服务器901接收从客户端装置902发送来的传感器信息,根据接收的传感器信息,来制作三维数据。服务器901利用制作的三维数据,对服务器901管理的三维地图进行更新。并且,服务器901按照来自客户端装置902的三维地图的发送请求,将更新的三维地图发送到客户端装置902。

服务器901具备:数据接收部1111、通信部1112、接收控制部1113、格式变换部1114、三维数据制作部1116、三维数据合成部1117、三维数据积蓄部1118、格式变换部1119、通信部1120、发送控制部1121、以及数据发送部1122。

数据接收部1111从客户端装置902接收传感器信息1037。传感器信息1037例如包括通过LiDAR获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等。

通信部1112与客户端装置902进行通信,将数据发送请求(例如,传感器信息的发送请求)等发送到客户端装置902。

接收控制部1113经由通信部1112,与通信对方交换对应格式等信息,从而确立通信。

格式变换部1114在接收的传感器信息1037被压缩或编码的情况下,通过进行解压缩或解码处理,来生成传感器信息1132。另外,在传感器信息1037是非压缩数据的情况下,格式变换部1114不进行解压缩或解码处理。

三维数据制作部1116根据传感器信息1132,制作客户端装置902的周边的三维数据1134。例如,三维数据制作部1116利用通过LiDAR获得的信息、以及通过可见光相机得到的可见光影像,来制作客户端装置902的周边具有颜色信息的点云数据。

三维数据合成部1117将基于传感器信息1132而制作的三维数据1134,与服务器901管理的三维地图1135进行合成,据此来更新三维地图1135。

三维数据积蓄部1118对三维地图1135等进行积蓄。

格式变换部1119通过将三维地图1135变换为接收侧对应的格式,来生成三维地图1031。另外,格式变换部1119也可以通过对三维地图1135进行压缩或编码,来减少数据量。并且,在不需要格式变换的情况下,格式变换部1119也可以省略处理。并且,格式变换部1119可以对按照发送范围的指定来发送的数据量进行控制。

通信部1120与客户端装置902进行通信,从客户端装置902接收数据发送请求(三维地图的发送请求)等。

发送控制部1121经由通信部1120,与通信对方交换对应格式等信息,从而确立通信。

数据发送部1122将三维地图1031发送到客户端装置902。三维地图1031是包括WLD或SWLD等点云的数据。在三维地图1031中也可以包括压缩数据以及非压缩数据的任一方。

接着,对客户端装置902的工作流程进行说明。图82是示出客户端装置902进行的三维地图获得时的工作的流程图。

首先,客户端装置902向服务器901请求三维地图(点云等)的发送(S1001)。此时,客户端装置902也将通过GPS等得到的客户端装置902的位置信息一起发送,据此,可以向服务器901请求与该位置信息相关的三维地图的发送。

接着,客户端装置902从服务器901接收三维地图(S1002)。若接收的三维地图是压缩数据,客户端装置902对接收的三维地图进行解码,生成非压缩的三维地图(S1003)。

接着,客户端装置902根据从多个传感器1015得到的传感器信息1033,来制作客户端装置902的周边的三维数据1034(S1004)。接着,客户端装置902利用从服务器901接收的三维地图1032、以及根据传感器信息1033制作的三维数据1034,来估计客户端装置902的自身位置(S1005)。

图83是示出客户端装置902进行的传感器信息的发送时的工作的流程图。首先,客户端装置902从服务器901接收传感器信息的发送请求(S1011)。接收了发送请求的客户端装置902将传感器信息1037发送到服务器901(S1012)。另外,在传感器信息1033包括通过多个传感器1015得到的多个信息的情况下,客户端装置902针对各信息,以适于各信息的压缩方式来进行压缩,从而生成传感器信息1037。

接着,对服务器901的工作流程进行说明。图84是示出服务器901进行传感器信息的获得时的工作的流程图。首先,服务器901向客户端装置902请求传感器信息的发送(S1021)。接着,服务器901接收按照该请求而从客户端装置902发送的传感器信息1037(S1022)。接着,服务器901利用接收的传感器信息1037,来制作三维数据1134(S1023)。接着,服务器901将制作的三维数据1134反映到三维地图1135(S1024)。

图85是示出服务器901进行的三维地图的发送时的工作的流程图。首先,服务器901从客户端装置902接收三维地图的发送请求(S1031)。接收了三维地图的发送请求的服务器901向客户端装置902发送三维地图1031(S1032)。此时,服务器901可以与客户端装置902的位置信息相对应地提取其附近的三维地图,并发送提取的三维地图。并且可以是,服务器901针对由点云构成的三维地图,例如利用通过八叉树的压缩方式等来进行压缩,并发送压缩后的三维地图。

以下,对本实施方式的变形例进行说明。

服务器901利用从客户端装置902接收的传感器信息1037,来制作客户端装置902的位置附近的三维数据1134。接着,服务器901对制作的三维数据1134、与服务器901所管理的相同区域的三维地图1135进行匹配,算出三维数据1134与三维地图1135的差分。服务器901在差分为预先决定的阈值以上的情况下,判断在客户端装置902的周边发生了某种异常。例如,在因地震等自然灾害而发生了地表下沉等时,可以考虑到在服务器901所管理的三维地图1135、与基于传感器信息1037而制作的三维数据1134之间会产生较大的差。

传感器信息1037也可以包括传感器的种类、传感器的性能、以及传感器的型号之中的至少一个。并且也可以是,传感器信息1037中被附加与传感器的性能相对应的类别ID等。例如,在传感器信息1037是由LiDAR获得的信息的情况下,可以考虑到针对传感器的性能来分配标识符,例如,针对能够以几mm单位的精确度来获得信息的传感器分配类别1、针对能够以几cm单位的精确度来获得信息的传感器分配类别2、针对能够以几m单位的精确度来获得信息的传感器分配类别3。并且,服务器901也可以从客户端装置902的型号来估计传感器的性能信息等。例如,在客户端装置902搭载于车辆的情况下,服务器901可以根据该车辆的车型来判断传感器的标准信息。在这种情况下,服务器901可以事前获得车辆的车型的信息,也可以使该信息包括在传感器信息中。并且也可以是,服务器901利用获得的传感器信息1037,来切换针对利用传感器信息1037而制作的三维数据1134的校正的程度。例如,在传感器性能为高精确度(类别1)的情况下,服务器901不进行针对三维数据1134的校正。在传感器性能为低精确度(类别3)的情况下,服务器901将适于传感器的精确度的校正适用到三维数据1134。例如,服务器901在传感器的精确度越低的情况下就越增强校正的程度(强度)。

服务器901也可以向存在于某个空间的多个客户端装置902同时发出传感器信息的发送请求。服务器901在从多个客户端装置902接收到多个传感器信息的情况下,没有必要将所有的传感器信息都利用到三维数据1134的制作,例如可以按照传感器的性能,来选择将要利用的传感器信息。例如,服务器901在对三维地图1135进行更新的情况下,可以从接收的多个传感器信息中选择高精确度的传感器信息(类别1),利用选择的传感器信息来制作三维数据1134。

服务器901并非受交通监控云等服务器所限,也可以是其他的客户端装置(车载)。图86示出了这种情况下的系统结构。

例如,客户端装置902C向附近存在的客户端装置902A发出传感器信息的发送请求,并从客户端装置902A获得传感器信息。于是,客户端装置902C利用获得的客户端装置902A的传感器信息,来制作三维数据,并更新对客户端装置902C的三维地图进行更新。这样,客户端装置902C能够活用客户端装置902C的性能,来生成能够从客户端装置902A获得的空间的三维地图。例如,在客户端装置902C的性能高的情况下,可以考虑发生这种情况。

并且,在这种情况下,提供了传感器信息的客户端装置902A被给予获得由客户端装置902C生成的高精确度的三维地图的权利。客户端装置902A按照该权利,从客户端装置902C接收高精确度的三维地图。

并且也可以是,客户端装置902C向附近存在的多个客户端装置902(客户端装置902A以及客户端装置902B)发出传感器信息的发送请求。在客户端装置902A或客户端装置902B的传感器为高性能的情况下,客户端装置902C能够利用通过该高性能的传感器得到的传感器信息来制作三维数据。

图87是示出服务器901以及客户端装置902的功能构成的框图。服务器901例如具备:对三维地图进行压缩以及解码的三维地图压缩/解码处理部1201、对传感器信息进行压缩以及解码的传感器信息压缩/解码处理部1202。

客户端装置902具备:三维地图解码处理部1211、以及传感器信息压缩处理部1212。三维地图解码处理部1211接收压缩后的三维地图的编码数据,对编码数据进行解码并获得三维地图。传感器信息压缩处理部1212不对通过获得的传感器信息而制作的三维数据进行压缩,而是对传感器信息本身进行压缩,将压缩后的传感器信息的编码数据发送到服务器901。根据此构成,客户端装置902可以将用于对三维地图(点云等)进行解码处理的处理部(装置或LSI)保持在内部,而不必将用于对三维地图(点云等)的三维数据进行压缩处理的处理部保持在内部。这样,能够抑制客户端装置902的成本以及耗电量等。

如以上所述,本实施方式所涉及的客户端装置902被搭载在移动体,根据通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1033,来制作移动体的周边的三维数据1034。客户端装置902利用制作的三维数据1034,来估计移动体的自身位置。客户端装置902将获得的传感器信息1033发送到服务器901或者其他的客户端装置902。

据此,客户端装置902将传感器信息1033发送到服务器901等。这样,与发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于没有必要在客户端装置902执行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理的量。因此,客户端装置902能够实现传输的数据量的减少或装置的结构的简略化。

并且,客户端装置902进一步向服务器901发送三维地图的发送请求,从服务器901接收三维地图1031。客户端装置902在自身位置的估计中,利用三维数据1034和三维地图1032,来对自身位置进行估计。

并且,传感器信息1033至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。

并且,传感器信息1033包括示出传感器的性能的信息。

并且,客户端装置902对传感器信息1033进行编码或压缩,在传感器信息的发送中,将编码或压缩后的传感器信息1037发送到服务器901或者其他的客户端装置902。据此,客户端装置902能够减少传输的数据量。

例如,客户端装置902具备处理器以及存储器,处理器利用存储器进行上述的处理。

并且,本实施方式所涉及的服务器901能够与搭载在移动体的客户端装置902进行通信,从客户端装置902接收通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1037。服务器901根据接收的传感器信息1037,来制作移动体的周边的三维数据1134。

据此,服务器901利用从客户端装置902发送来的传感器信息1037,来制作三维数据1134。这样,与客户端装置902发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于可以不必在客户端装置902进行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理量。这样,服务器901能够实现传输的数据量的减少、或装置的结构的简略化。

并且,服务器901进一步向客户端装置902发送传感器信息的发送请求。

并且,服务器901进一步利用制作的三维数据1134,来更新三维地图1135,按照来自客户端装置902的三维地图1135的发送请求,将三维地图1135发送到客户端装置902。

并且,传感器信息1037至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。

并且,传感器信息1037包括示出传感器的性能的信息。

并且,服务器901进一步按照传感器的性能,对三维数据进行校正。据此,该三维数据制作方法能够提高三维数据的品质。

并且,服务器901在传感器信息的接收中,从多个客户端装置902接收多个传感器信息1037,根据多个传感器信息1037中包括的示出传感器的性能的多个信息,来选择三维数据1134的制作中使用的传感器信息1037。据此,服务器901能够提高三维数据1134的品质。

并且,服务器901对接收的传感器信息1037进行解码或解压缩,根据解码或解压缩后的传感器信息1132,制作三维数据1134。据此,服务器901能够减少传输的数据量。

例如,服务器901具备处理器和存储器,处理器利用存储器进行上述的处理。

以下,对变形例进行说明。图88是表示本实施方式的系统的结构的图。图88所示的系统包括服务器2001、客户端装置2002A和客户端装置2002B。

客户端装置2002A及客户端装置2002B被搭载于车辆等移动体,将传感器信息向服务器2001发送。服务器2001将三维地图(点云)向客户端装置2002A及客户端装置2002B发送。

客户端装置2002A具备传感器信息获得部2011、存储部2012和数据发送可否判定部2013。另外,客户端装置2002B的结构也是同样的。此外,以下在将客户端装置2002A和客户端装置2002B不特别区分的情况下,也记作客户端装置2002。

图89是表示本实施方式所涉及的客户端装置2002的动作的流程图。

传感器信息获得部2011利用搭载于移动体的传感器(传感器群)获得各种传感器信息。即,传感器信息获得部2011获得由搭载于移动体的传感器(传感器群)得到的、表示移动体的周边状况的传感器信息。此外,传感器信息获得部2011将所获得的传感器信息向存储部2012存储。该传感器信息包括LiDAR获得信息、可视光图像、红外图像及深度图像中的至少一个。此外,传感器信息也可以包括传感器位置信息、速度信息、获得时刻信息及获得场所信息中的至少一个。传感器位置信息表示获得了传感器信息的传感器的位置。速度信息表示传感器获得了传感器信息时的移动体的速度。获得时刻信息表示传感器信息被传感器获得的时刻。获得场所信息表示传感器信息被传感器获得时的移动体或传感器的位置。

接着,数据发送可否判定部2013判定移动体(客户端装置2002)是否存在于能够向服务器2001发送传感器信息的环境中(S2002)。例如,数据发送可否判定部2013也可以使用GPS等信息,确定客户端装置2002所处的场所及时刻,判定是否能够发送数据。此外,数据发送可否判定部2013也可以通过是否能够连接到确定的接入点,来判定是否能够发送数据。

客户端装置2002在判定为移动体存在于能够向服务器2001发送传感器信息的环境中的情况下(S2002中“是”),将传感器信息向服务器2001发送(S2003)。即,在客户端装置2002成为能够将传感器信息向服务器2001发送那样的状况的时间点,客户端装置2002将所保持的传感器信息向服务器2001发送。例如,在交叉口等设置能够进行高速通信的毫米波的接入点。客户端装置2002在进入到交叉口内的时间点,利用毫米波通信将客户端装置2002所保持的传感器信息高速地发送给服务器2001。

接着,客户端装置2002将已发送给服务器2001的传感器信息从存储部2012删除(S2004)。另外,客户端装置2002也可以在没有向服务器2001发送的传感器信息满足规定的条件的情况下将该传感器信息删除。例如,客户端装置2002也可以在所保持的传感器信息的获得时刻比从当前时刻起一定时刻前更早的时间点,将该传感器信息从存储部2012删除。即,客户端装置2002也可以在传感器信息被传感器获得的时刻与当前时刻的差超过了预先设定的时间的情况下,将传感器信息从存储部2012删除。此外,客户端装置2002也可以在所保持的传感器信息的获得场所距当前地点的距离比一定距离远的时间点,将该传感器信息从存储部2012删除。即,客户端装置2002也可以在传感器信息被传感器获得时的移动体或传感器的位置与移动体或传感器的当前位置的差超过了预先设定的距离的情况下,将传感器信息从存储部2012删除。由此,能够抑制客户端装置2002的存储部2012的容量。

在由客户端装置2002进行的传感器信息的获得没有结束的情况下(S2005中“否”),客户端装置2002再次进行步骤S2001以后的处理。此外,在由客户端装置2002进行的传感器信息的获得结束的情况下(S2005中“是”),客户端装置2002结束处理。

此外,客户端装置2002也可以匹配于通信状况来选择向服务器2001发送的传感器信息。例如,客户端装置2002在能够高速通信的情况下,将向存储部2012保持的尺寸大的传感器信息(例如LiDAR获得信息等)优先发送。此外,客户端装置2002在难以高速通信的情况下,发送向存储部2012保持的尺寸小且优先级高的传感器信息(例如可视光图像)。由此,客户端装置2002能够将保持在存储部2012中的传感器信息根据网络的状况有效地发送给服务器2001。

此外,客户端装置2002也可以从服务器2001获得表示上述当前时刻的时刻信息及表示当前地点的场所信息。此外,客户端装置2002也可以基于所获得的时刻信息及场所信息,决定传感器信息的获得时刻及获得场所。即,客户端装置2002也可以从服务器2001获得时刻信息,使用所获得的时刻信息,生成获得时刻信息。此外,客户端装置2002也可以从服务器2001获得场所信息,使用所获得的场所信息,生成获得场所信息。

例如关于时刻信息,服务器2001和客户端装置2002利用NTP(Network TimeProtocol:网络时间协议)或PTP(Precision Time Protocol:高精度时间同步协议)等的机制进行时刻同步。由此,客户端装置2002能够获得正确的时刻信息。此外,由于能够在服务器2001与多个客户端装置之间使时刻同步,所以能够使不同客户端装置2002获得的传感器信息内的时刻同步。因此,服务器2001能够处置表示被同步后的时刻的传感器信息。另外,时刻同步的机制也可以是NTP或PTP以外的任何方法。此外,作为上述时刻信息及场所信息,也可以使用GPS的信息。

服务器2001也可以指定时刻或场所来从多个客户端装置2002获得传感器信息。例如在发生了某种事故的情况下,为了寻找处于其附近的客户端,服务器2001指定事故发生时刻和场所,向多个客户端装置2002广播发送传感器信息发送请求。并且,具有相应的时刻和场所的传感器信息的客户端装置2002向服务器2001发送传感器信息。即,客户端装置2002从服务器2001接收包含指定场所及时刻的指定信息的传感器信息发送请求。客户端装置2002在存储部2012中存储有在由指定信息表示的场所及时刻得到的传感器信息、并且判定为移动体存在于能够向服务器2001发送传感器信息的环境中的情况下,将在由指定信息表示的场所及时刻得到的传感器信息向服务器2001发送。由此,服务器2001能够从多个客户端装置2002获得与事故的发生关联的传感器信息,用于事故解析等。

另外,客户端装置2002在接收到来自服务器2001的传感器信息发送请求的情况下,也可以拒绝传感器信息的发送。此外,也可以事前由客户端装置2002设定在多个传感器信息之中能够发送哪个传感器信息。或者,服务器2001也可以每次向客户端装置2002询问能否发送传感器信息。

此外,对于向服务器2001发送了传感器信息的客户端装置2002,也可以赋予得分。该得分例如可以用于汽油购买费、EV(Electric Vehicle,电动汽车)的充电费、高速道路的通行费或租车费用等的支付。此外,服务器2001也可以在获得传感器信息之后,将用来确定传感器信息的发送源的客户端装置2002的信息删除。例如,该信息是客户端装置2002的网络地址等信息。由此,能够使传感器信息匿名化,所以客户端装置2002的用户能够安心地将传感器信息从客户端装置2002向服务器2001发送。此外,服务器2001也可以由多个服务器构成。例如通过由多个服务器共用传感器信息,即使某个服务器故障,其他的服务器也能够与客户端装置2002通信。由此,能够避免因服务器故障造成的服务的停止。

此外,由传感器信息发送请求指定的指定场所表示事故的发生位置等,有时与由传感器信息发送请求指定的指定时刻的客户端装置2002的位置不同。因此,服务器2001例如能够通过作为指定场所而指定周边XXm以内等的范围,来对存在于该范围内的客户端装置2002请求信息获得。关于指定时刻也同样,服务器2001也可以指定从某时刻起前后N秒以内等范围。由此,服务器2001能够从“在时刻:t-N至t+N”存在于“场所:距绝对位置S在XXm以内”的客户端装置2002获得传感器信息。客户端装置2002也可以在发送LiDAR等的三维数据时,发送在时刻t的紧接着之后生成的数据。

此外,服务器2001也可以将表示作为传感器信息获得对象的客户端装置2002的场所的信息、和想得到传感器信息的场所分别分开指定为指定场所。例如,服务器2001指定从存在于距绝对位置S在XXm以内的客户端装置2002获得至少包括距绝对位置S为YYm的范围的传感器信息。客户端装置2002在选择要发送的三维数据时,以至少包含被指定的范围的传感器信息的方式选择1个以上的可随机访问的单位的三维数据。此外,客户端装置2002在发送可视光图像时,也可以发送至少包含时刻t的紧接着之前或紧接着之后的帧的、在时间上连续的多个图像数据。

在客户端装置2002在传感器信息的发送中能够利用5G或WiFi、或5G的多个模式等多个物理网络的情况下,客户端装置2002也可以按照从服务器2001通知的优先顺序来选择要利用的网络。或者,也可以是客户端装置2002自身基于发送数据的尺寸来选择能够确保适当的带宽的网络。或者,客户端装置2002也可以基于在数据发送中花费的费用等来选择要利用的网络。此外,在来自服务器2001的发送请求中,也可以包含客户端装置2002在时刻T之前能够开始发送的情况下进行发送等表示发送期限的信息。服务器2001如果在期限内不能获得足够的传感器信息,则也可以再次发布发送请求。

传感器信息也可以与压缩或非压缩的传感器数据一起包含表示传感器数据的特性的头信息。客户端装置2002也可以将头信息经由与传感器数据不同的物理网络或通信协议发送给服务器2001。例如,客户端装置2002也可以在传感器数据的发送之前将头信息发送给服务器2001。服务器2001基于头信息的解析结果,判断是否获得客户端装置2002的传感器数据。例如,头信息也可以包含表示LiDAR的点群获得密度、仰角、或帧速率,或者可视光图像的分辨率、SN比或帧速率等的信息。由此,服务器2001能够从具有决定出的品质的传感器数据的客户端装置2002获得传感器信息。

如以上这样,客户端装置2002被搭载于移动体,获得由搭载于移动体的传感器得到的、表示移动体的周边状况的传感器信息,并将传感器信息存储到存储部2012中。客户端装置2002判定移动体是否存在于能够向服务器2001发送传感器信息的环境中,在判定为移动体存在于能够向服务器发送传感器信息的环境中的情况下,将传感器信息发送给服务器2001。

此外,客户端装置2002进一步,根据传感器信息制作移动体的周边的三维数据,使用制作出的三维数据估计移动体的自身位置。

此外,客户端装置2002进一步,向服务器2001发送三维地图的发送请求,从服务器2001接收三维地图。客户端装置2002在自身位置的估计中,利用三维数据和三维地图来估计自身位置。

另外,由上述客户端装置2002进行的处理也可以作为客户端装置2002中的信息发送方法实现。

此外,客户端装置2002也可以具备处理器和存储器,处理器使用存储器进行上述的处理。

接着,对本实施方式所涉及的传感器信息收集系统进行说明。图90是表示本实施方式所涉及的传感器信息收集系统的结构的图。如图90所示,本实施方式所涉及的传感器信息收集系统包括终端2021A、终端2021B、通信装置2022A、通信装置2022B、网络2023、数据收集服务器2024、地图服务器2025和客户端装置2026。另外,在将终端2021A及终端2021B不特别区分的情况下,也记作终端2021。在将通信装置2022A及通信装置2022B不特别区分的情况下,也记作通信装置2022。

数据收集服务器2024将由终端2021所具备的传感器得到的传感器数据等数据作为与三维空间中的位置建立了对应的位置关联数据而收集。

传感器数据例如指的是使用终端2021具备的传感器获得了终端2021的周围的状态或终端2021的内部的状态等的数据。终端2021将从处于能够与终端2021直接通信、或者通过相同的通信方式将一个或多个中继装置进行中继而能够通信的位置的一个或多个传感器设备收集到的传感器数据发送给数据收集服务器2024。

位置关联数据中包含的数据例如也可以包含表示终端自身或终端所具备的设备的动作状态、动作日志、服务的利用状况等的信息。此外,位置关联数据中包含的数据也可以包含将终端2021的标识符与终端2021的位置或移动路径等建立了对应的信息等。

位置关联数据中包含的表示位置的信息与例如三维地图数据等三维数据中的表示位置的信息建立了对应。关于表示位置的信息的详细情况在后面叙述。

位置关联数据除了作为表示位置的信息的位置信息以外,也可以还包含所述的时刻信息、和表示位置关联数据中包含的数据的属性或生成该数据的传感器的种类(例如型号等)的信息中的至少一个。位置信息及时刻信息也可以被保存在位置关联数据的头区域或保存位置关联数据的帧的头区域中。此外,位置信息及时刻信息也可以作为与位置关联数据建立了对应的元数据而与位置关联数据分开地发送及/或保存。

地图服务器2025例如连接于网络2023,根据来自终端2021等其他装置的请求而发送三维地图数据等三维数据。此外,如在所述的各实施方式中说明那样,地图服务器2025也可以具备利用从终端2021发送的传感器信息将三维数据更新的功能等。

数据收集服务器2024例如连接于网络2023,从终端2021等其他装置收集位置关联数据,将收集到的位置关联数据保存到内部或其他服务器内的存储装置中。此外,数据收集服务器2024将收集到的位置关联数据或基于位置关联数据而生成的三维地图数据的元数据等,按照来自终端2021的请求而对终端2021发送。

网络2023是例如因特网等的通信网络。终端2021经由通信装置2022连接于网络2023。通信装置2022通过一个通信方式或一边切换多个通信方式一边与终端2021进行通信。通信装置2022例如是(1)LTE(Long Term Evolution,长期演进)等的基站,(2)WiFi或毫米波通信等的接入点(AP),(3)SIGFOX、LoRaWAN或Wi-SUN等的LPWA(Low Power Wide Area低功耗广域)网的网关,或(4)使用DVB-S2等的卫星通信方式进行通信的通信卫星。

另外,基站既可以通过被分类为NB-IoT(Narrow Band-IoT:窄带物联网)或LTE-M等的LPWA的方式进行与终端2021的通信,也可以一边切换这些方式一边进行与终端2021的通信。

这里,举出了终端2021具备与使用两种通信方式的通信装置2022进行通信的功能,使用这些通信方式中的某一个、或一边切换这些多个通信方式及作为直接的通信对方的通信装置2022一边与地图服务器2025或数据收集服务器2024进行通信的情况为例,但传感器信息收集系统及终端2021的结构并不限于此。例如,终端2021也可以不具有多个通信方式下的通信功能,而具备以某一个通信方式进行通信的功能。此外,终端2021也可以对应于3个以上的通信方式。此外,也可以按每个终端2021,对应的通信方式不同。

终端2021例如具备图80所示的客户端装置902的结构。终端2021使用接收到的三维数据进行自身位置等的位置估计。此外,终端2021将从传感器获得的传感器数据与由位置估计的处理得到的位置信息建立对应,生成位置关联数据。

对位置关联数据附加的位置信息例如表示在三维数据中使用的坐标系中的位置。例如,位置信息是用纬度及经度的值表示的坐标值。此时,终端2021也可以与坐标值一起,将作为该坐标值的基准的坐标系及表示在位置估计中使用的三维数据的信息包含在位置信息中。此外,坐标值也可以包含高度的信息。

此外,位置信息也可以与能够在所述的三维数据的编码中使用的数据的单位或空间的单位建立对应。该单位,例如是WLD、GOS、SPC、VLM或VXL等。此时,位置信息例如通过用来确定与位置关联数据对应的SPC等的数据单位的标识符来表现。另外,位置信息除了用来确定SPC等的数据单位的标识符以外,也可以还包含表示对包括该SPC等的数据单位的三维空间进行编码而得到的三维数据的信息、或表示该SPC内的详细的位置的信息等。表示三维数据的信息,例如是该三维数据的文件名。

这样,该系统通过生成与基于使用三维数据进行的位置估计的位置信息建立了对应的位置关联数据,与对传感器信息附加基于使用GPS获得的客户端装置(终端2021)的自身位置的位置信息的情况相比,能够对传感器信息赋予精度更高的位置信息。结果,在其他装置在其他服务中利用位置关联数据的情况下,也能够通过基于相同的三维数据进行位置估计,在真实空间中更正确地确定与位置关联数据对应的位置。

另外,在本实施方式中,举从终端2021发送的数据是位置关联数据的情况为例进行了说明,但从终端2021发送的数据也可以是没有与位置信息建立关联的数据。即,也可以经由在本实施方式中说明的网络2023进行在其他实施方式中说明的三维数据或传感器数据的收发。

接着,对表示三维或二维的真实空间或地图空间中的位置的位置信息不同的例子进行说明。对位置关联数据附加的位置信息也可以是表示相对于三维数据中的特征点的相对位置的信息。这里,作为位置信息的基准的特征点,例如是被编码为SWLD、作为三维数据被通知给终端2021的特征点。

表示相对于特征点的相对位置的信息,例如也可以通过从特征点到位置信息所表示的点的矢量来表示,是表示从特征点到位置信息所表示的点的方向和距离的信息。或者,表示相对于特征点的相对位置的信息也可以是表示从特征点到位置信息表示的点的X轴、Y轴、Z轴各自的位移量的信息。此外,表示相对于特征点的相对位置的信息也可以是表示从3个以上的特征点各自到位置信息所表示的点的距离的信息。另外,相对位置也可以不是以各特征点为基准而表现的位置信息所表示的点的相对位置,而是以位置信息所表示的点为基准而表现的各特征点的相对位置。基于相对于特征点的相对位置的位置信息的一例包括用来确定作为基准的特征点的信息、和表示位置信息所表示的点相对于该特征点的相对位置的信息。此外,在将表示相对于特征点的相对位置的信息与三维数据分开提供的情况下,表示相对于特征点的相对位置的信息也可以包含表示在相对位置的导出中使用的坐标轴、表示三维数据的种类的信息、或/及表示相对位置的信息的值的每单位量的大小(比例尺等)的信息等。

此外,位置信息也可以包含针对多个特征点表示相对于各特征点的相对位置的信息。在将位置信息用相对于多个特征点的相对位置表示的情况下,在真实空间中要确定该位置信息所表示的位置的终端2021也可以根据按每个特征点基于传感器数据估计出的该特征点的位置,计算位置信息所表示的位置的候选点,将对计算出的多个候选点进行平均而求出的点判定为位置信息所表示的点。根据该结构,能够减轻根据传感器数据估计特征点的位置时的误差的影响,所以能够提高真实空间中的位置信息所表示的点的估计精度。此外,在位置信息包含表示相对于多个特征点的相对位置的信息的情况下,即使在存在因终端2021所具备的传感器的种类或性能等的制约而不能检测的特征点的情况下,只要能够检测到多个特征点中的某一个,就能够估计位置信息所表示的点的值。

作为特征点,可以使用能够根据传感器数据来确定的点。能够根据传感器数据来确定的点,例如是满足所述的三维特征量或可视光数据的特征量为阈值以上等特征点检测用的规定的条件的点或区域内的点。

此外,也可以使用设置在真实空间中的标记等作为特征点。在此情况下,标记只要能够根据使用LiDER或相机等的传感器获得的数据进行检测及位置的确定就可以。例如,通过颜色或亮度值(反射率)的变化、或三维形状(凹凸等)来表现标记。此外,也可以使用表示该标记的位置的坐标值或根据该标记的标识符生成的二维码或条码等。

此外,也可以使用发送光信号的光源作为标记。在使用光信号的光源作为标记的情况下,不仅发送坐标值或标识符等的用来获得位置的信息,也可以将其他的数据利用光信号来发送。例如,光信号也可以包含与该标记的位置对应的服务的内容、用来获得内容的url等的地址、或用来接受服务的提供的无线通信装置的标识符、表示用来与该无线通信装置连接的无线通信方式等的信息。通过使用光通信装置(光源)作为标记,表示位置的信息以外的数据的发送变得容易,并且能够动态地切换该数据。

终端2021例如使用在数据间共同使用的标识符、或者表示数据间的特征点的对应关系的信息或表来掌握相互不同的数据间的特征点的对应关系。此外,在没有表示特征点间的对应关系的信息的情况下,终端2021也可以将在将一方的三维数据中的特征点的坐标变换为另一方的三维数据空间上的位置的情况下处于最近的距离的特征点判定为对应的特征点。

在使用以上说明的基于相对位置的位置信息的情况下,即使在使用相互不同的三维数据的终端2021或服务之间,也能够以各三维数据中包含的或与各三维数据建立了对应的共同的特征点为基准,确定或估计位置信息所表示的位置。结果,能够在使用相互不同的三维数据的终端2021或服务间以更高的精度确定或估计相同的位置。

此外,即使在使用利用相互不同的坐标系表现的地图数据或三维数据的情况下,也能够降低伴随于坐标系的变换的误差的影响,所以能够实现基于更高精度的位置信息的服务的协同。

以下,对由数据收集服务器2024提供的功能的例子进行说明。数据收集服务器2024也可以将接收到的位置关联数据传送给其他的数据服务器。在有多个数据服务器的情况下,数据收集服务器2024判定将接收到的位置关联数据传送给哪个数据服务器,并向被判定为传送目的地的数据服务器传送位置关联数据。

数据收集服务器2024例如基于在数据收集服务器2024中事前设定的传送目的地服务器的判定规则来进行传送目的地的判定。传送目的地服务器的判定规则,例如用将对应于各终端2021的标识符与传送目的地的数据服务器建立了对应的传送目的地表等来设定。

终端2021对所发送的位置关联数据附加与该终端2021建立了对应的标识符,并向数据收集服务器2024发送。数据收集服务器2024基于使用传送目的地表等的传送目的地服务器的判定规则,确定与附加在位置关联数据中的标识符对应的传送目的地的数据服务器,将该位置关联数据向被确定的数据服务器发送。此外,传送目的地服务器的判定规则也可以由使用位置关联数据被获得的时间或场所等的判定条件来指定。这里,与上述的发送源的终端2021建立了对应的标识符,例如是各终端2021所固有的标识符、或表示终端2021所属的组的标识符等。

此外,传送目的地表也可以不是将对应于发送源的终端的标识符与传送目的地的数据服务器直接建立对应的。例如,数据收集服务器2024保持管理表和传送目的地表,管理表保存有按照终端2021所固有的标识符而赋予的标签信息,传送目的地表将该标签信息与传送目的地的数据服务器建立了对应。数据收集服务器2024也可以使用管理表和传送目的地表判定基于标签信息的传送目的地的数据服务器。这里,标签信息例如是与该标识符对应的终端2021的种类、型号、所有者、所属的组或其他的对标识符赋予的管理用的控制信息或服务提供用的控制信息。此外,在传送目的地表中,也可以代替与发送源的终端2021建立对应的标识符而使用每个传感器所固有的标识符。此外,传送目的地服务器的判定规则也可以能够从客户端装置2026设定。

数据收集服务器2024也可以将多个数据服务器判定为传送目的地,将接收到的位置关联数据传送给该多个数据服务器。根据该结构,例如在将位置关联数据自动地备份的情况下、或者在为了在不同的服务中共同地利用位置关联数据而需要对用来提供各服务的数据服务器发送位置关联数据的情况下,通过变更对数据收集服务器2024的设定,能够实现所意图的数据的传送。结果,与对单独的终端2021设定位置关联数据的发送目的地的情况相比,能够削减系统的构建及变更所需要的工作量。

数据收集服务器2024也可以根据从数据服务器接收到的传送请求信号,将由传送请求信号指定的数据服务器登记为新的传送目的地,将以后接收到的位置关联数据传送给该数据服务器。

数据收集服务器2024也可以将从终端2021接收到的位置关联数据保存到记录装置中,根据从终端2021或数据服务器接收到的发送请求信号,将由发送请求信号指定的位置关联数据发送给请求源的终端2021或数据服务器。

数据收集服务器2024也可以判断能否对请求源的数据服务器或终端2021提供位置关联数据,在判断为能够提供的情况下向请求源的数据服务器或终端2021传送或发送位置关联数据。

在从客户端装置2026受理了当前的位置关联数据的请求的情况下,即使不是终端2021的位置关联数据的发送定时,也可以由数据收集服务器2024对终端2021进行位置关联数据的发送请求,终端2021根据该发送请求发送位置关联数据。

在上述的说明中,假设终端2021对数据收集服务器2024发送位置信息数据,但数据收集服务器2024例如也可以具备对终端2021进行管理的功能等为了从终端2021收集位置关联数据而需要的功能、或从终端2021收集位置关联数据时使用的功能等。

数据收集服务器2024也可以具备对终端2021发送数据请求信号并收集位置关联数据的功能,数据请求信号是请求位置信息数据的发送的信号。

在数据收集服务器2024中,事前登记有用来与作为数据收集对象的终端2021进行通信的地址或终端2021固有的标识符等的管理信息。数据收集服务器2024基于所登记的管理信息,从终端2021收集位置关联数据。管理信息也可以包含终端2021所具备的传感器的种类、终端2021所具备的传感器的数量、以及终端2021所对应的通信方式等的信息。

数据收集服务器2024也可以从终端2021收集终端2021的工作状态或当前位置等的信息。

管理信息的登记既可以从客户端装置2026进行,也可以通过由终端2021向数据收集服务器2024发送登记请求,来开始用于登记的处理。数据收集服务器2024也可以具备控制与终端2021之间的通信的功能。

将数据收集服务器2024与终端2021连结的通信也可以是MNO(Mobile NetworkOperator:移动网络运营商)或MVNO(Mobile Virtual Network Operator:移动虚拟网络运营商)等服务业者提供的专用线路,或者由VPN(Virtual Private Network:虚拟专用网络)构成的虚拟的专用线路等。根据该结构,能够安全地进行终端2021与数据收集服务器2024之间的通信。

数据收集服务器2024也可以具备对终端2021进行认证的功能、或将与终端2021之间收发的数据进行加密的功能。这里,终端2021的认证处理或数据的加密处理,使用在数据收集服务器2024与终端2021之间事前共用的、终端2021所固有的标识符或包括多个终端2021的终端组所固有的标识符等来进行。该标识符例如是作为保存在SIM(SubscriberIdentity Module:用户识别模块)卡中的固有号码的IMSI(International MobileSubscriber Identity:国际移动用户识别码)等。在认证处理中使用的标识符和在数据的加密处理中使用的标识符既可以相同也可以不同。

数据收集服务器2024与终端2021之间的认证或数据加密的处理,只要数据收集服务器2024和终端2021双方具备实施该处理的功能就能够提供,不依赖于进行中继的通信装置2022使用的通信方式。因此,能够不考虑终端2021使用哪种通信方式而使用共同的认证或加密的处理,所以用户的系统构建的方便性提高。但是,不依赖于进行中继的通信装置2022所使用的通信方式,是指根据通信方式变更并不是必须的。即,也可以以传输效率的提高或安全性的确保的目的,根据中继装置所使用的通信方式来切换数据收集服务器2024与终端2021之间的认证或数据加密的处理。

数据收集服务器2024也可以向客户端装置2026提供对从终端2021收集的位置关联数据的种类及数据收集的调度等的数据收集规则进行管理的UI。由此,用户能够使用客户端装置2026指定收集数据的终端2021、以及数据的收集时间及频率等。此外,数据收集服务器2024也可以指定想要收集数据的地图上的区域等,从包含在该区域中的终端2021收集位置关联数据。

在以终端2021单位对数据收集规则进行管理的情况下,客户端装置2026例如在画面中提示作为管理对象的终端2021或传感器的列表。用户按列表的每个项目来设定数据的收集与否或收集调度等。

在指定想要收集数据的地图上的区域等的情况下,客户端装置2026例如在画面中提示作为管理对象的地域的二维或三维的地图。用户在所显示的地图上选择收集数据的区域。在地图上选择的区域,既可以是以在地图上指定的点为中心的圆形或矩形的区域,也可以是能够通过拖拽动作确定的圆形或矩形的区域。此外,客户端装置2026也可以以城市、城市内的区域、街区或主要的道路等预先设定的单位来选择区域。此外,也可以不是使用地图指定区域,而是输入纬度及经度的数值来设定区域,也可以从基于被输入的文本信息导出的候选区域的列表中选择区域。文本信息例如是地域、城市或地标的名称等。

此外,也可以通过由用户指定一个或多个终端2021,设定该终端2021的周围100米的范围内等的条件,从而一边动态地变更指定区域一边进行数据的收集。

此外,在客户端装置2026具备相机等的传感器的情况下,也可以基于根据传感器数据得到的客户端装置2026在真实空间中的位置来指定地图上的区域。例如,客户端装置2026也可以使用传感器数据估计自身位置,将距与估计出的位置对应的地图上的点为预先设定的距离或用户指定的距离的范围内的区域指定为收集数据的区域。此外,客户端装置2026也可以将传感器的感测区域、即与所获得的传感器数据对应的区域指定为收集数据的区域。或者,客户端装置2026也可以将基于与用户指定的传感器数据对应的位置的区域指定为收集数据的区域。与传感器数据对应的地图上的区域或位置的估计既可以由客户端装置2026进行,也可以由数据收集服务器2024进行。

在地图上的区域中进行指定的情况下,数据收集服务器2024也可以通过收集各终端2021的当前位置信息,来确定被指定的区域内的终端2021,对所确定的终端2021请求位置关联数据的发送。此外,也可以不是数据收集服务器2024确定区域内的终端2021,而是数据收集服务器2024将表示被指定的区域的信息向终端2021发送,终端2021判定自身是否处于被指定的区域内,在判断为处于被指定的区域内的情况下发送位置关联数据。

数据收集服务器2024将用来在客户端装置2026所执行的应用中提供上述UI(UserInterface)的列表或地图等的数据向客户端装置2026发送。数据收集服务器2024不仅发送列表或地图等的数据,也可以将应用的程序发送给客户端装置2026。此外,上述的UI也可以作为通过能够用浏览器显示的HTML等制作的内容来提供。另外,地图数据等一部分数据也可以从地图服务器2025等的数据收集服务器2024以外的服务器提供。

客户端装置2026如果由用户进行设定按钮的按下等通知输入完成的输入,则将被输入的信息作为设定信息向数据收集服务器2024发送。数据收集服务器2024基于从客户端装置2026接收到的设定信息,对各终端2021发送位置关联数据的请求或通知位置关联数据的收集规则的信号,进行位置关联数据的收集。

接着,说明基于附加在三维或二维地图数据中的附加信息对终端2021的动作进行控制的例子。

在本结构中,将表示埋设在道路或停车场中的无线供电的供电天线或供电线圈等供电部的位置的对象信息包含在三维数据中,或与三维数据建立对应,向作为车或无人机等的终端2021提供。

为了进行充电而获得了该对象信息的车辆或无人机通过自动驾驶使车辆自身的位置移动以使车辆具备的充电天线或充电线圈等充电部的位置成为与该对象信息所示的区域对置的位置,并开始充电。另外,在不具备自动驾驶功能的车辆或无人机的情况下,利用显示在画面上的图像或声音等,对驾驶员或操纵者提示应移动的方向或应进行的操作。并且,如果判断为基于估计出的自身位置计算出的充电部的位置进入到由对象信息所示的区域或距该区域为规定的距离的范围内,则将提示的图像或声音切换为使驾驶或操纵中止的内容,并开始充电。

此外,对象信息也可以不是表示供电部的位置的信息,而是表示如果将充电部配置到该区域内则能得到规定的阈值以上的充电效率的区域的信息。关于对象信息的位置,既可以用对象信息所示的区域的中心的点表示,也可以用二维平面内的区域或线、或者三维空间内的区域、线或平面等表示。

根据该结构,由于能够掌握通过LiDER的感测数据或由相机拍摄的影像不能掌握的供电天线的位置,所以能够更高精度地进行车等的终端2021所具备的无线充电用的天线与埋设在道路等中的无线供电天线的对位。结果,能够使无线充电时的充电速度变短,或使充电效率提高。

对象信息也可以是供电天线以外的对象物。例如,三维数据也可以包含毫米波无线通信的AP的位置等作为对象信息。由此,终端2021能够事前掌握AP的位置,所以能够将波束的指向性朝向该对象信息的方向来开始通信。结果,能够实现传输速度的提高、到通信开始为止的时间的缩短、以及延长可通信的期间等的通信品质的提高。

对象信息也可以包含表示与该对象信息对应的对象物的类型的信息。此外,对象信息也可以包含表示在终端2021包含于与该对象信息的三维数据上的位置对应的真实空间上的区域内、或距区域为规定的距离的范围内的情况下终端2021应实施的处理的信息。

对象信息也可以从与提供三维数据的服务器不同的服务器提供。在将对象信息与三维数据分开提供的情况下,也可以将保存有在相同的服务中使用的对象信息的对象组根据对象服务或对象设备的种类而分别作为不同的数据提供。

与对象信息组合使用的三维数据可以是WLD的点群数据,也可以是SWLD的特征点数据。

在三维数据编码装置中,在使用LoD(Level of Detail,多细节层次)对作为编码对象的三维点的对象三维点的属性信息进行了分层级编码的情况下,三维数据解码装置可以用该三维数据解码装置将属性信息解码到所需的LoD的层级,不对不需要的层级的属性信息进行解码。例如,在三维数据编码装置编码的比特流内的属性信息的LoD的总数为N个的情况下,三维数据解码装置也可以对从最上位层的LoD0到LoD(M-1)的M个(M<N)LoD进行解码,不对到剩余的LoD(N-1)为止的LoD进行解码。由此,三维数据解码装置能够抑制处理负荷,并且能够对三维数据解码装置所需的从LoD0至LoD(M-1)的属性信息进行解码。

图91是表示上述的使用情况的图。在图91的例子中,服务器保持通过对三维位置信息和属性信息进行编码而得到的三维地图。服务器(三维数据编码装置)对服务器管理的区域的客户端装置(三维数据解码装置:例如车辆或者无人机等)广播发送三维地图,客户端装置进行使用从服务器接收到的三维地图来确定客户端装置的自身位置的处理、或者对操作客户端装置的用户等显示地图信息的处理。

以下,对该例子中的动作例进行说明。首先,服务器使用八叉树结构等对三维地图的位置信息进行编码。然后,服务器使用以位置信息为基础而构建的N个LoD对三维地图的属性信息进行分层级编码。服务器保存通过分层级编码得到的三维地图的比特流。

接着,服务器根据从服务器管理的区域的客户端装置发送的地图信息的发送请求,将编码后的三维地图的比特流发送到客户端装置。

客户端装置接收从服务器发送的三维地图的比特流,根据客户端装置的用途对三维地图的位置信息和属性信息进行解码。例如,在客户端装置使用位置信息和N个LoD的属性信息进行高精度的自身位置估计的情况下,客户端装置判断为需要到稠密的三维点为止的解码结果作为属性信息,对比特流内的所有信息进行解码。

另外,在客户端装置将三维地图的信息显示给用户等的情况下,客户端装置判断为需要到稀疏的三维点为止的解码结果作为属性信息,对位置信息与从LoD的上位层即LoD0至M个(M<N)为止的LoD的属性信息进行解码。

这样,通过根据客户端装置的用途切换解码的属性信息的LoD,能够削减客户端装置的处理负荷。

在图91所示的例子中,例如,三维点地图包含位置信息和属性信息。位置信息用八叉树进行编码。属性信息用N个LoD进行编码。

客户端装置A进行高精度的自身位置估计。在该情况下,客户端装置A判断为需要全部的位置信息和属性信息,将比特流内的位置信息和由N个LoD构成的属性信息全部解码。

客户端装置B向用户显示三维地图。在该情况下,客户端装置B判断为需要位置信息和M个(M<N)LoD的属性信息,对比特流内的位置信息和由M个LoD构成的属性信息进行解码。

另外,服务器可以向客户端装置广播发送三维地图,也可以组播发送或者单播发送。

以下,对本实施方式的系统的变形例进行说明。在三维数据编码装置中,在使用LoD对作为编码对象的三维点的对象三维点的属性信息进行分层级编码的情况下,三维数据编码装置也可以对该三维数据解码装置所需的LoD的层级为止的属性信息进行编码,不对不需要的层级的属性信息进行编码。例如,在LoD的总数为N个的情况下,三维数据编码装置也可以对从最上位层LoD0到LoD(M-1)的M个(M<N)LoD进行编码,不对到剩余LoD(N-1)为止的LoD进行编码,由此生成比特流。由此,三维数据编码装置能够根据来自三维数据解码装置的需求,提供对三维数据解码装置所需的从LoD0到LoD(M-1)的属性信息进行编码而得到的比特流。

图92是表示上述使用情况的图。在图92所示的例子中,服务器保持通过对三维位置信息和属性信息进行编码而得到的三维地图。服务器(三维数据编码装置)对服务器管理的区域的客户端装置(三维数据解码装置:例如车辆或者无人机等),根据客户端装置的需求单播发送三维地图,客户端装置使用从服务器接收到的三维地图来进行确定客户端装置的自身位置的处理、或者将地图信息显示给操作客户端装置的用户等的处理。

以下,对该例子中的动作例进行说明。首先,服务器使用八叉树结构等对三维地图的位置信息进行编码。然后,服务器使用以位置信息为基础构建的N个LoD对三维地图的属性信息进行分层级编码,由此生成三维地图A的比特流,并将生成的比特流保存在该服务器中。另外,服务器使用以位置信息为基础构建的M个(M<N)LoD对三维地图的属性信息进行分层级编码,由此生成三维地图B的比特流,并将生成的比特流保存在该服务器中。

接着,客户端装置根据客户端装置的用途向服务器请求三维地图的发送。例如,客户端装置在使用位置信息和N个LoD的属性信息进行高精度的自身位置估计的情况下,判断为需要到稠密的三维点为止的解码结果作为属性信息,向服务器请求三维地图A的比特流的发送。另外,客户端装置在将三维地图的信息显示给用户等的情况下,判断为需要到稀疏的三维点为止的解码结果作为属性信息,向服务器请求包含位置信息和从LoD的上位层LoD0到M个(M<N)LoD的属性信息的三维地图B的比特流的发送。然后,服务器根据来自客户端装置的地图信息的发送请求,将编码后的三维地图A或者三维地图B的比特流发送到客户端装置。

客户端装置接收根据客户端装置的用途从服务器发送的三维地图A或三维地图B的比特流,对该比特流进行解码。这样,服务器根据客户端装置的用途切换要发送的比特流。由此,能够削减客户端装置的处理负荷。

在图92所示的例子中,服务器保持三维地图A以及三维地图B。服务器例如用八叉树对三维地图的位置信息进行编码,用N个LoD对三维地图的属性信息进行编码,由此生成三维地图A。即,三维地图A的比特流中包含的NumLoD表示N。

另外,服务器例如用八叉树对三维地图的位置信息进行编码,用M个LoD对三维地图的属性信息进行编码,由此生成三维地图B。即,三维地图B的比特流中包含的NumLoD表示M。

客户端装置A进行高精度的自身位置估计。在该情况下,客户端装置A判断为需要全部的位置信息和属性信息,向服务器发送包含全部的位置信息和由N个LoD构成的属性信息的三维地图A的发送请求。客户端装置A接收三维地图A,对全部的位置信息和由N个LoD构成的属性信息进行解码。

客户端装置B向用户显示三维地图。在该情况下,客户端装置B判断为需要位置信息和M个(M<N)LoD的属性信息,将包含全部的位置信息和由M个LoD构成的属性信息的三维地图B的发送请求发送到服务器。客户端装置B接收三维地图B,对全部的位置信息和由M个LoD构成的属性信息进行解码。

另外,服务器(三维数据编码装置)除了三维地图B以外,也可以事先对将剩余的N-M个LoD的属性信息进行编码而得到的三维地图C进行编码,根据客户端装置B的要求将三维地图C发送到客户端装置B。另外,客户端装置B也可以使用三维地图B和三维地图C的比特流,得到N个LoD的解码结果。

以下,对应用处理的例子进行说明。图93是表示应用处理的例子的流程图。当开始应用操作时,三维数据逆复用装置取得包含点群数据以及多个编码数据的ISOBMFF文件(S7301)。例如,三维数据逆复用装置既可以通过通信取得ISOBMFF文件,也可以从积蓄的数据中读入ISOBMFF文件。

接着,三维数据逆复用装置解析ISOBMFF文件中的整体结构信息,确定应用中使用的数据(S7302)。例如,三维数据逆复用装置取得处理中使用的数据,不取得处理中不使用的数据。

接着,三维数据逆复用装置提取应用中使用的1个以上的数据,解析该数据的结构信息(S7303)。

在数据的类型是编码数据的情况下(步骤S7304中的编码数据),三维数据逆复用装置将ISOBMFF变换成编码流,并且提取时间戳(步骤S7305)。另外,三维数据逆复用装置例如也可以参照表示数据间是否同步的标志来判定数据间是否同步,如果不同步,则进行同步处理。

接着,三维数据逆复用装置按照时间戳及其他指示,按照规定的方法对数据进行解码,对解码后的数据进行处理(S7306)。

另一方面,在数据的类别是编码数据的情况下(S7304中RAW数据),三维数据逆复用装置提取数据和时间戳(S7307)。另外,三维数据逆复用装置例如也可以参照表示数据间是否同步的标志来判定数据间是否同步,如果不同步,则进行同步处理。接着,三维数据逆复用装置按照时间戳及其他指示,对数据进行处理(S7308)。

例如,说明光束LiDAR、泛光式LiDAR、以及由相机取得的传感器信号分别以不同的编码方式进行编码以及复用的情况的例子。图94是表示光束LiDAR、泛光式LiDAR以及相机的传感器范围的例子的图。例如,光束LiDAR检测车辆(传感器)的周围的全部方向,泛光式LiDAR及相机检测车辆的一个方向(例如前方)的范围。

在将LiDAR点群合并处理的应用的情况下,三维数据逆复用装置参照整体结构信息,提取光束LiDAR和泛光式LiDAR的编码数据进行解码。另外,三维数据逆复用装置不提取相机影像。

三维数据逆复用装置按照LiDAR和泛光式LiDAR的时间戳,同时处理同一时间戳的时刻各自的编码数据。

例如,三维数据逆复用装置也可以通过提示装置提示处理后的数据,或者合成光束LiDAR和泛光式LiDAR的点群数据,或者进行渲染等处理。

另外,在数据间进行校准的应用的情况下,三维数据逆复用装置也可以提取传感器位置信息并在应用中使用。

例如,三维数据逆复用装置可以在应用中选择使用光束LiDAR信息还是使用泛光式LiDAR,并根据选择结果来切换处理。

这样,能够根据应用的处理而自适应地改变数据的取得以及编码处理,因此能够削减处理量以及消耗电力。

以下,对自动驾驶中的使用情况进行说明。图95是表示自动驾驶系统的结构例的图。该自动驾驶系统包括云服务器7350和车载装置或移动装置等的边缘7360。云服务器7350具备逆复用部7351、解码部7352A、7352B以及7355、点群数据合成部7353、大规模数据积蓄部7354、比较部7356以及编码部7357。边缘7360具备传感器7361A及7361B、点群数据生成部7362A及7362B、同步部7363、编码部7364A及7364B、复用部7365、更新数据积蓄部7366、逆复用部7367、解码部7368、滤波器7369、自身位置估计部7370、以及驾驶控制部7371。

在该系统中,边缘7360下载云服务器7350中积蓄的大规模点群地图数据即大规模数据。边缘7360通过将大规模数据和在边缘7360得到的传感器信息进行匹配,进行边缘7360(车辆或终端)的自身位置估计处理。另外,边缘7360将取得的传感器信息上载到云服务器7350,将大规模数据更新为最新的地图数据。

另外,在处理系统内的点群数据的各种应用中,处理编码方法不同的点群数据。

云服务器7350对大规模数据进行编码及复用。具体而言,编码部7357使用适于对大规模点群进行编码的第3编码方法进行编码。此外,编码部7357对编码数据进行复用。大规模数据积蓄部7354积蓄由编码部7357进行编码及复用后的数据。

边缘7360进行感测。具体而言,点群数据生成部7362A使用由传感器7361A取得的感测信息,生成第1点群数据(位置信息(几何形状)以及属性信息)。点群数据生成部7362B使用由传感器7361B取得的感测信息,生成第2点群数据(位置信息以及属性信息)。生成的第1点群数据以及第2点群数据用于自动驾驶的自身位置估计或者车辆控制或者地图更新。在各个处理中,也可以使用第1点群数据以及第2点群数据中的一部分信息。

边缘7360进行自身位置估计。具体而言,边缘7360从云服务器7350下载大规模数据。逆复用部7367通过对文件格式的大规模数据进行逆复用而取得编码数据。解码部7368通过对所取得的编码数据进行解码而取得作为大规模点群地图数据的大规模数据。

自身位置估计部7370通过将取得的大规模数据与由点群数据生成部7362A和7362B生成的第1点群数据以及第2点群数据进行匹配,来估计车辆的地图中的自身位置。另外,驾驶控制部7371将该匹配结果或自身位置估计结果用于驾驶控制。

另外,自身位置估计部7370以及驾驶控制部7371也可以提取大规模数据中的位置信息等确定的信息,并使用提取出的信息进行处理。另外,滤波器7369对第1点群数据以及第2点群数据进行修正或间隔剔除等处理。自身位置估计部7370以及驾驶控制部7371也可以使用进行了该处理后的第1点群数据以及第2点群数据。另外,自身位置估计部7370及驾驶控制部7371也可以使用由传感器7361A及7361B得到的传感器信号。

同步部7363进行多个传感器信号或多个点群数据的数据间的时间同步及位置修正。另外,同步部7363也可以基于通过自身位置估计处理而生成的、大规模数据与传感器数据的位置修正信息,以使传感器信号或者点群数据的位置信息与大规模数据一致的方式进行修正。

另外,同步和位置修正也可以不是边缘7360而是由云服务器7350进行。在该情况下,边缘7360也可以将同步信息以及位置信息复用并发送到云服务器7350。

边缘7360对传感器信号或点群数据进行编码及复用。具体而言,传感器信号或点群数据使用适于对各自的信号进行编码的第1编码方法或第2编码方法进行编码。例如,编码部7364A通过使用第1编码方法对第1点群数据进行编码来生成第1编码数据。编码部7364B使用第2编码方法对第2点群数据进行编码,由此生成第2编码数据。

复用部7365通过对第1编码数据、第2编码数据、以及同步信息等进行复用而生成复用信号。更新数据积蓄部7366积蓄所生成的复用信号。此外,更新数据积蓄部7366将复用信号上载到云服务器7350。

云服务器7350对点群数据进行合成。具体而言,逆复用部7351通过对在云服务器7350上载的复用信号进行逆复用而取得第1编码数据和第2编码数据。解码部7352A通过对第1编码数据进行解码而取得第1点群数据(或传感器信号)。解码部7352B通过对第2编码数据进行解码而取得第2点群数据(或传感器信号)。

点群数据合成部7353通过规定的方法合成第1点群数据以及第2点群数据。在复用信号中对同步信息以及位置修正信息进行复用的情况下,点群数据合成部7353也可以使用这些信息进行合成。

解码部7355对积蓄在大规模数据积蓄部7354中的大规模数据进行逆复用和解码。比较部7356将基于由边缘7360得到的传感器信号而生成的点群数据与云服务器7350所具有的大规模数据进行比较,判断需要更新的点群数据。比较部7356将大规模数据中判断为需要更新的点群数据更新为从边缘7360得到的点群数据。

编码部7357对更新后的大规模数据进行编码及复用,将得到的数据积蓄在大规模数据积蓄部7354中。

如上所述,根据所使用的用途或应用,存在处理信号不同、复用的信号或编码方法不同的情况。即使在这样的情况下,通过使用本实施方式对各种编码方式的数据进行复用,也能够进行灵活的解码以及应用处理。另外,即使在信号的编码方式不同的情况下,也能够通过逆复用、解码、数据变换、编码、复用的处理而变换适合的编码方式,由此构建各种各样的应用、系统,提供灵活的服务。

以下,说明分割数据的解码和应用的例子。首先,说明分割数据的信息。图96是表示比特流的结构例的图。分割数据的整体信息按每个分割数据表示该分割数据的传感器ID(sensor_id)和数据ID(data_id)。另外,数据ID也表示在各编码数据的头中。

此外,与图81同样,图96所示的分割数据的整体信息除了传感器ID之外,还可以包含传感器信息(Sensor)、传感器的版本(Version)、传感器的制造商名(Maker)、传感器的设置信息(Mount Info.)和传感器的位置坐标(World Coordinate)中的至少一个。由此,三维数据解码装置能够从结构信息中取得各种传感器的信息。

分割数据的整体信息可以保存在作为元数据的SPS、GPS或APS中,也可以保存在作为对于编码不是必需的元数据的SEI中。此外,三维数据编码装置在复用时将该SEI保存在ISOBMFF的文件中。三维数据解码装置能够基于该元数据取得希望的分割数据。

在图96中,SPS是编码数据整体的元数据,GPS是位置信息的元数据,APS是每个属性信息的元数据,G是每个分割数据的位置信息的编码数据,A1等是每个分割数据的属性信息的编码数据。

接下来,说明分割数据的应用例。说明从点群数据中选择任意点群并提示所选择的点群的应用的例子。图97是由该应用执行的点群选择处理的流程图。图98~图100是表示点群选择处理的画面例的图。

如图98所示,执行应用的三维数据解码装置例如具有显示用于选择任意点群的输入UI(用户界面)8661的UI部。输入UI8661具有提示所选择的点群的提示部8662和受理用户的操作的操作部(按钮8663和8664)。三维数据解码装置在由UI8661选择了点群后,从积蓄部8665取得期望的数据。

首先,基于针对用户的输入UI8661的操作,选择用户想要显示的点群信息(S8631)。具体而言,通过选择按钮8663,选择基于传感器1的点群。通过选择按钮8664,选择基于传感器2的点群。或者,通过选择按钮8663及按钮8664这两者来选择基于传感器1的点群和基于传感器2的点群这两者。另外,点群的选择方法是一例,并不限于此。

接着,三维数据解码装置对复用信号(比特流)或编码数据中包含的分割数据的整体信息进行解析,从所选择的传感器的传感器ID(sensor_id)中确定构成所选择的点群的分割数据的数据ID(data_id)(S8632)。接着,三维数据解码装置从复用信号中提取包含所确定的希望的数据ID的编码数据,通过对所提取的编码数据进行解码,对基于所选择的传感器的点群进行解码(S8633)。另外,三维数据解码装置不对其他编码数据进行解码。

最后,三维数据解码装置提示(例如显示)解码后的点群(S8634)。图99表示按下传感器1的按钮8663的情况的例子,提示传感器1的点群。图100表示按下传感器1的按钮8663和传感器2的按钮8664这两者的情况的例子,提示传感器1和传感器2的点群。

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

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

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

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

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

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

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

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

工业实用性

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

附图标记说明

810 三维数据制作装置

811 数据接收部

812、819 通信部

813 接收控制部

814、821 格式变换部

815 传感器

816 三维数据制作部

817 三维数据合成部

818 三维数据积蓄部

820 发送控制部

822 数据发送部

831、832、834、835、836、837 三维数据

833 传感器信息

901 服务器

902、902A、902B、902C 客户端装置

1011、1111 数据接收部

1012、1020、1112、1120 通信部

1013、1113 接收控制部

1014、1019、1114、1119 格式变换部

1015 传感器

1016、1116 三维数据制作部

1017 三维图像处理部

1018、1118 三维数据积蓄部

1021、1121 发送控制部

1022、1122 数据发送部

1031、1032、1135 三维地图

1033、1037、1132 传感器信息

1034、1035、1134 三维数据

1117 三维数据合成部

1201三维地图压缩/解码处理部

1202传感器信息压缩/解码处理部

1211 三维地图解码处理部

1212 传感器信息压缩处理部

2001 服务器

2002、2002A、2002B客户端装置

2011 传感器信息取得部

2012 存储部

2013 数据发送可否判定部

2021、2021A、2021B终端

2022、2022A、2022B通信装置

2023 网络

2024 数据收集服务器

2025 地图服务器

2026 客户端装置

2700 位置信息编码部

2701、2711 八叉树生成部

2702、2712 几何信息计算部

2703、2713 编码表选择部

2704 熵编码部

2710 位置信息解码部

2714 熵解码部

3140 属性信息编码部

3141、3151LoD生成部

3142、3152 周围搜索部

3143、3153 预测部

3144 预测残差计算部

3145 量化部

3146 算术编码部

3147、3155 逆量化部

3148、3156 解码值生成部

3149、3157 存储器

3150 属性信息解码部

3154 算术解码部

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 复用部

6600 属性信息编码部

6601 排序部

6602Haar变换部

6603 量化部

6604、6612 逆量化部

6605、6613逆Haar变换部

6606、6614 存储器

6607 算术编码部

6610 属性信息解码部

6611 算术解码部

7350 云服务器

7351 逆复用部

7352A、7352B解码部

7353 点群数据合成部

7354 大规模数据积蓄部

7355 解码部

7356 比较部

7357 编码部

7360 边缘

7361A、7361B传感器

7362A、7362B点群数据生成部

7363 同步部

7364A、7364B编码部

7365 复用部

7366 更新数据积蓄部

7367 逆复用部

7368 解码部

7369 滤波器

7370 自身位置估计部

7371 运转控制部8661输入UI

8662 提示部

8663、8664 按钮

8665 积蓄部12800、12800A三维数据编码装置12801、12809八叉树化部

12802缓冲器

12803熵编码部12804、12805、12807、12810缓冲器12806点群化部

12808运动检测补偿部

12811控制部

12812运动补偿部

12820、12820A三维数据解码装置

12821熵解码部

12822、12823、12825、12828缓冲器

12824点群化部

12826运动补偿部

12827八叉树化部

12829控制部

12830运动补偿部

12900、12930三维数据编码装置

12901、12932分组部

12902、12905、12907、12923、12925、12933、12934、12936、12941、12952、12954缓冲器

12903、12942量化部

12904、12922、12959逆量化部

12906、12924、12935、12953帧内预测部

12908、12937运动检测补偿部

12909、12927、12938、12956帧间预测部

12910、12928、12939、12957切换部

12911、12943熵编码部

12920、12950三维数据解码装置

12921、12951熵解码部

12926、12955运动补偿部

12931、12940、12958坐标变换部

A100属性信息编码部

A101 LoD属性信息编码部

A102 变换属性信息编码部

A110 属性信息解码部

A111 LoD属性信息解码部

A112 变换属性信息解码部

相关技术
  • 解码数据值序列的方法、数据解码装置及视频接收机
  • 三维码、三维码的生成方法和装置、识别方法和装置
  • 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
  • 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
技术分类

06120115983740