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

文档序号:25542773发布日期:2021-06-18 20:39阅读:292来源:国知局
三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置与流程

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



背景技术:

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

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

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

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

现有技术文献

专利文献

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



技术实现要素:

发明要解决的课题

在三维数据的编码处理中,希望能够削减数据量。

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

用来解决课题的手段

有关本发明的一技术方案的三维数据编码方法,将包含多个三维点的对象帧分割为多个处理单位,通过对所述多个处理单位进行编码来生成比特流,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点。

有关本发明的一技术方案的三维数据解码方法,取得通过对分割包含多个三维点的对象帧所得的多个处理单位进行编码而生成的比特流,从所述比特流中解码所述多个处理单位,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点,在所述多个处理单位的解码中,使用所述第1信息对所述多个处理单位进行解码。

发明效果

本发明能够提供能够削减数据量的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。

附图说明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

图16是表示有关实施方式2的将nal单元保存在编解码器1用的文件中的例子的图。

图17是表示将有关实施方式2的nal单元保存在编解码器2用的文件中的例子的图。

图18是表示有关实施方式2的第1复用部的构成的图。

图19是表示有关实施方式2的第1逆复用部的构成的图。

图20是表示有关实施方式2的第2复用部的构成的图。

图21是表示有关实施方式2的第2逆复用部的构成的图。

图22是有关实施方式2的由第1复用部进行的处理的流程图。

图23是有关实施方式2的由第2复用部进行的处理的流程图。

图24是有关实施方式2的由第1逆复用部及第1解码部进行的处理的流程图。

图25是表示有关实施方式2的由第2逆复用部及第2解码部进行的处理的流程图。

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

图27是表示有关实施方式3的第3逆复用部及解码部的构成的图。

图28是有关实施方式3的由第3复用部进行的处理的流程图。

图29是有关实施方式3的由第3逆复用部及解码部进行的处理的流程图。

图30是有关实施方式3的由三维数据保存装置进行的处理的流程图。

图31是有关实施方式3的由三维数据取得装置进行的处理的流程图。

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

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

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

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

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

图37是有关实施方式5的的切片及瓦片的分割例的图。

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

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

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

图41是表示有关实施方式6的瓦片的形状的例子的图。

图42是表示有关实施方式6的瓦片及切片的例子的图。

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

图44是表示有关实施方式6的将点群数据俯视的地图的例子的图。

图45是表示有关实施方式6的瓦片分割的例子的图。

图46是表示有关实施方式6的瓦片分割的例子的图。

图47是表示有关实施方式6的瓦片分割的例子的图。

图48是表示有关实施方式6的保存在服务器中的瓦片的数据的例子的图。

图49是表示有关实施方式6的关于瓦片分割的系统的图。

图50是表示有关实施方式6的切片分割的例子的图。

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

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

图53是表示有关实施方式6的瓦片的编码数据的例子的图。

图54是表示有关实施方式6的结合部的框图。

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

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

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

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

图59是有关实施方式6的编解码系统的框图。

图60是表示有关实施方式6的切片附加信息的句法例的图。

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

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

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

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

图65是用来说明有关实施方式7的量化部及逆量化部的处理的图。

图66是用来说明有关实施方式7的量化值的默认值和量化delta(δ)的图。

图67是表示有关实施方式7的三维数据编码装置中包含的第1编码部的构成的框图。

图68是表示有关实施方式7的分割部的构成的框图。

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

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

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

图72是表示有关实施方式7的位置信息的编码或者属性信息的编码中的与量化值的决定有关的处理的一例的流程图。

图73是表示有关实施方式7的位置信息及属性信息的解码处理的一例的流程图。

图74是用来说明有关实施方式7的量化参数的传输方法的第1例的图。

图75是用来说明有关实施方式7的量化参数的传输方法的第2例的图。

图76是用于说明实施方式8的重复点的图。

图77是用于说明实施方式8的针对重复点的处理的图。

图78是表示实施方式8的头部信息的句法例的图。

图79是表示实施方式8的节点的信息的句法例的图。

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

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

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

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

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

图85是实施方式8的三维数据编码处理的变形例的流程图。

图86是实施方式9的三维数据编码装置以及三维数据解码装置的框图。

图87是实施方式9的量化部的框图。

图88是表示实施方式9的量化处理的例子的图。

图89是示意性地表示实施方式9的每个瓦片的量化处理的图。

图90是表示实施方式9的gps的句法例的图。

图91是表示实施方式9的瓦片信息的句法例的图。

图92是表示实施方式9的节点信息的句法例的图。

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

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

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

图96是表示实施方式9的瓦片分割的例子的图。

图97是表示实施方式9的瓦片分割的例子的图。

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

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

图100是表示实施方式9的gps的句法例的图。

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

图102是表示实施方式9的应用的例子的图。

图103是表示实施方式9的瓦片分割以及切片分割的例子的图。

图104是实施方式9的系统中的处理的流程图。

图105是实施方式9的系统中的处理的流程图。

图106是实施方式9的编码处理的流程图。

图107是实施方式9的解码处理的流程图。

具体实施方式

有关本发明的一技术方案的三维数据编码方法,将包含多个三维点的对象帧分割为多个处理单位,通过对所述多个处理单位进行编码来生成比特流,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

例如,也可以是,所述多个处理单位的编码包括量化处理,所述帧单位的所述控制信息还包含第2信息,所述第2信息表示对所述多个处理单位是使用相同的参数还是使用单独的参数作为所述量化处理中使用的量化参数。

由此,能够以帧单位通知是否设定量化参数,因此能够削减比特流的数据量。

例如,也可以是,所述多个处理单位包括空间上重复的2个处理单位,所述比特流包含第3信息,所述第3信息表示在所述2个处理单位重复的区域中,是否存在位置信息相同而属于不同的处理单位的多个三维点。

由此,三维数据解码装置能够使用第3信息,根据处理单位重复的区域中的重复点的有无来控制处理内容。因此,能够减少三维数据解码装置中的处理负荷。

有关本发明的一技术方案的三维数据解码方法,取得通过对分割包含多个三维点的对象帧所得的多个处理单位进行编码而生成的比特流,从所述比特流中解码所述多个处理单位,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点,在所述多个处理单位的解码中,使用所述第1信息对所述多个处理单位进行解码。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

例如,所述多个处理单位的解码包括逆量化处理,所述帧单位的所述控制信息还包含第2信息,所述第2信息表示对所述多个处理单位是使用相同的参数还是使用单独的参数作为所述逆量化处理中使用的量化参数。

由此,能够以帧单位通知是否设定量化参数,因此能够削减比特流的数据量。

例如,所述多个处理单位包括空间上重复的2个处理单位,所述比特流包含第3信息,所述第3信息表示在所述2个处理单位重复的区域中,是否存在位置信息相同而属于不同的处理单位的多个三维点。

由此,三维数据解码装置能够使用第3信息,根据处理单位重复的区域中的重复点的有无来控制处理内容。因此,能够减少三维数据解码装置中的处理负荷。

另外,有关本发明的一技术方案的三维数据编码装置具备处理器和存储器,所述处理器使用所述存储器,将包含多个三维点的对象帧分割为多个处理单位,通过对所述多个处理单位进行编码来生成比特流,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

另外,有关本发明的一技术方案的三维数据解码装置具备处理器和存储器,所述处理器使用所述存储器,取得通过对分割包含多个三维点的对象帧所得的多个处理单位进行编码而生成的比特流,从所述比特流中解码所述多个处理单位,所述比特流中包含的帧单位的控制信息包含第1信息,所述第1信息表示是(i)在所述对象帧所包含的所述多个处理单位的某一个中,存在位置信息相同的多个三维点即重复点,还是(ii)在所述多个处理单位中的任一个都不存在所述重复点,在所述多个处理单位的解码中,使用所述第1信息对所述多个处理单位进行解码。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

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

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

(实施方式1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(实施方式2)

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

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

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

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

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

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

接着,对将支持多个pcc编解码器的共同的pccnal单元向isobmff的文件保存的方法进行说明。图16是表示将共同的pccnal单元向编解码器1的保存方法(carriageofcodec1)的isobmff的文件保存的例子的图。图17是表示将共同的pccnal单元向编解码器2的保存方法(carriageofcodec2)的isobmff的文件保存的例子的图。

这里,ftyp是用来识别文件格的重要的信息,作为ftyp,定义按每个编解码器而不同的识别符。在将通过第1编码方法(编码方式)编码的pcc编码数据向文件保存的情况下,设定为ftyp=pcc1。在将通过第2编码方法编码的pcc编码数据向文件保存的情况下,设定为ftyp=pcc2。

这里,pcc1表示使用pcc的编解码器1(第1编码方法)。pcc2表示使用pcc的编解码器2(第2编码方法)。即,pcc1及pcc2表示数据是pcc(三维数据(点群数据)的代码数据),并且表示pcc编解码器(第1编码方法及第2编码方法)。

以下,对将nal单元向isobmff的文件保存的方法进行说明。复用部将nal单元头解析,在pcc_codec_type=codec1的情况下在isobmff的ftyp中记载pcc1。

此外,复用部将nal单元头解析,在pcc_codec_type=codec2的情况下,在isobmff的ftyp中记载pcc2。

此外,复用部在pcc_nal_unit_type是元数据的情况下,通过规定的方法将nal单元例如向moov或mdat保存。复用部在pcc_nal_unit_type是数据的情况下,通过规定的方法将nal单元例如向moov或mdat保存。

例如,复用部也可以与hevc同样向nal单元保存nal单元尺寸。

通过用本保存方法在逆复用部(系统层)中将文件中包含的ftyp进行解析,能够判定pcc编码数据是用第1编码方法编码的还是用第2编码方法编码的。进而,如上述那样,通过判定pcc编码数据是用第1编码方法编码的还是用第2编码方法编码的,能够从混合存在用双方的编码方法编码的编码数据的数据提取用某一方的编码方法编码的编码数据。由此,在传输编码数据时,能够抑制被传输的数据量。此外,通过本保存方法,不用在第1编码方法和第2编码方法中设定不同的数据(文件)格式,而能够使用共同的数据格式。

另外,在isobmff中的ftyp等、系统层的元数据中表示编解码器的识别信息的情况下,复用部也可以将删除pcc_nal_unit_type后的nal单元向isobmff的文件保存。

接着,对有关本实施方式的三维数据编码系统(三维数据编码装置)具备的复用部、以及有关本实施方式的三维数据解码系统(三维数据解码装置)具备的逆复用部的构成及动作进行说明。

图18是表示第1复用部4710的构成的图。第1复用部4710具备通过将由第1编码部4630生成的编码数据及控制信息(nal单元)向isobmff的文件保存而生成复用数据(文件)的文件变换部4711。该第1复用部4710例如包含于图1所示的复用部4614中。

图19是表示第1逆复用部4720的构成的图。第1逆复用部4720具备从复用数据(文件)取得编码数据及控制信息(nal单元)、将所取得的编码数据及控制信息向第1解码部4640输出的文件逆变换部4721。该第1逆复用部4720例如包含于图1所示的逆复用部4623中。

图20是表示第2复用部4730的构成的图。第2复用部4730具备通过将由第2编码部4650生成的编码数据及控制信息(nal单元)向isobmff的文件保存而生成复用数据(文件)的文件变换部4731。该第2复用部4730例如包含于图1所示的复用部4614中。

图21是表示第2逆复用部4740的构成的图。第2逆复用部4740具备从复用数据(文件)取得编码数据及控制信息(nal单元)、将所取得的编码数据及控制信息向第2解码部4660输出的文件逆变换部4741。该第2逆复用部4740例如包含于图1所示的逆复用部4623中。

图22是由第1复用部4710进行的复用处理的流程图。首先,第1复用部4710通过将nal单元头中包含的pcc_codec_type解析,判定使用的编解码器是第1编码方法还是第2编码方法(s4701)。

在pcc_codec_type表示第2编码方法的情况下(在s4702中是第2编码方法),第1复用部4710不处理该nal单元(s4703)。

另一方面,在pcc_codec_type表示第2编码方法的情况下(在s4702中是第1编码方法),第1复用部4710在ftyp中记载pcc1(s4704)。即,第1复用部4710将表示在文件中保存有用第1编码方法编码的数据的信息记载在ftyp中。

接着,第1复用部4710将nal单元头中包含的pcc_nal_unit_type解析,用与pcc_nal_unit_type所表示的数据类型对应的规定的方法将数据向盒子(moov或mdat等)保存(s4705)。并且,第1复用部4710制作包含上述ftyp及上述盒子的isobmff的文件(s4706)。

图23是由第2复用部4730进行的复用处理的流程图。首先,第2复用部4730通过将nal单元头中包含的pcc_codec_type解析,判定使用的编解码器是第1编码方法还是第2编码方法(s4711)。

在pcc_unit_type表示第2编码方法的情况下(在s4712中是第2编码方法),第2复用部4730在ftyp中记载pcc2(s4713)。即,第2复用部4730将表示在文件中保存有用第2编码方法编码的数据的信息记载在ftyp中。

接着,第2复用部4730将nal单元头中包含的pcc_nal_unit_type解析,用与pcc_nal_unit_type所表示的数据类型对应的规定的方法将数据向盒子(moov或mdat等)保存(s4714)。并且,第2复用部4730制作包含上述ftyp及上述盒子的isobmff的文件(s4715)。

另一方面,在pcc_unit_type表示第1编码方法的情况下(在s4712中是第1编码方法),第2复用部4730不处理该nal单元(s4716)。

另外,上述处理示出了将pcc数据用第1编码方法及第2编码方法的某一方编码的例子。第1复用部4710及第2复用部4730通过识别nal单元的编解码器类型,向文件保存希望的nal单元。另外,在nal单元头以外包含pcc编解码器的识别信息的情况下,第1复用部4710及第2复用部4730在步骤s4701及s4711中,也可以使用nal单元头以外包含的pcc编解码器的识别信息来识别编解码器类型(第1编码方法或第2编码方法)。

此外,第1复用部4710及第2复用部4730也可以在步骤s4706及s4714中将数据向文件保存时,在从nal单元头删除pcc_nal_unit_type后向文件保存。

图24是表示由第1逆复用部4720及第1解码部4640进行的处理的流程图。首先,第1逆复用部4720将isobmff的文件中包含的ftyp解析(s4721)。在由ftyp表示的编解码器是第2编码方法(pcc2)的情况下(在s4722中是第2编码方法),第1逆复用部4720判断为nal单元的有效载荷中包含的数据是用第2编码方法编码的数据(s4723)。此外,第1逆复用部4720将判断结果传递给第1解码部4640。第1解码部4640不处理该nal单元(s4724)。

另一方面,在由ftyp表示的编解码器是第1编码方法(pcc1)的情况下(在s4722中是第1编码方法),第1逆复用部4720判断为nal单元的有效载荷中包含的数据是用第1编码方法编码的数据(s4725)。此外,第1逆复用部4720将判断结果传递给第1解码部4640。

第1解码部4640设为nal单元头中包含的pcc_nal_unit_type是第1编码方法用的nal单元的识别符而识别数据(s4726)。并且,第1解码部4640使用第1编码方法的解码处理将pcc数据解码(s4727)。

图25是表示由第2逆复用部4740及第2解码部4660进行的处理的流程图。首先,第2逆复用部4740将isobmff的文件中包含的ftyp解析(s4731)。在由ftyp表示的编解码器是第2编码方法(pcc2)的情况下(在s4732中是第2编码方法),第2逆复用部4740判断为nal单元的有效载荷中包含的数据是用第2编码方法编码的数据(s4733)。此外,第2逆复用部4740将判断结果传递给第2解码部4660。

第2解码部4660设为nal单元头中包含的pcc_nal_unit_type是第2编码方法用的nal单元的识别符而识别数据(s4734)。并且,第2解码部4660使用第2编码方法的解码处理将pcc数据解码(s4735)。

另一方面,在由ftyp表示的编解码器是第1编码方法(pcc1)的情况下(在s4732中是第1编码方法),第2逆复用部4740判断为nal单元的有效载荷中包含的数据是用第1编码方法编码的数据(s4736)。此外,第2逆复用部4740将判断结果传递给第2解码部4660。第2解码部4660不处理该nal单元(s4737)。

这样,例如在第1逆复用部4720或第2逆复用部4740中通过识别nal单元的编解码器类型,能够在较早的阶段识别编解码器类型。进而,能够将希望的nal单元输入至第1解码部4640或第2解码部4660,而去除不需要的nal单元。在此情况下,在第1解码部4640或第2解码部4660中,有可能不需要将编解码器的识别信息解析的处理。另外,也可以实施在第1解码部4640或第2解码部4660中再次参照nal单元类型将编解码器的识别信息解析的处理。

此外,在第1复用部4710或第2复用部4730中从nal单元头删除了pcc_nal_unit_type的情况下,第1逆复用部4720或第2逆复用部4740也可以在对nal单元赋予pcc_nal_unit_type后向第1解码部4640或第2解码部4660输出。

(实施方式3)

在本实施方式中,对在实施方式1中说明的、与对应于多个编解码器的编码部4670及解码部4680对应的复用部及逆复用部进行说明。图26是表示有关本实施方式的编码部4670及第3复用部4750的构成的图。

编码部4670使用第1编码方法及第2编码方法的某一方或双方的方式将点群数据编码。编码部4670也可以以点群数据单位或帧单位切换编码方法(第1编码方法及第2编码方法)。此外,编码部4670也可以以可编码的单位切换编码方法。

编码部4670生成包含pcc编解码器的识别信息的编码数据(编码流)。

第3复用部4750具备文件变换部4751。文件变换部4751将从编码部4670输出的nal单元变换为pcc数据的文件。文件变换部4751将nal单元头中包含的编解码器识别信息解析,判定pcc编码数据是用第1编码方法编码的数据、还是用第2编码方法编码的数据、还是用双方的方式编码的数据。文件变换部4751在ftyp中记载能够识别编解码器的版本名。例如,在表示用双方的方式编码的情况下,在ftyp中记载pcc3。

另外,当编码部4670在nal单元以外记载有pcc编解码器的识别信息的情况下,文件变换部4751也可以使用该识别信息来判定pcc编解码器(编码方法)。

图27是表示有关本实施方式的第3逆复用部4760及解码部4680的构成的图。

第3逆复用部4760具备文件逆变换部4761。文件逆变换部4761将文件中包含的ftyp解析,判定pcc编码数据是用第1编码方法编码的数据、还是用第2编码方法编码的数据、还是用双方的方式编码的数据。

在pcc编码数据被用某一方的编码方法编码了的情况下,数据被输入至第1解码部4640及第2解码部4660中的对应的解码部,另一方解码部中不被输入数据。在pcc编码数据被用双方的编码方法编码了的情况下,数据被输入至与两方式对应的解码部4680。

解码部4680使用第1编码方法及第2编码方法的某一方或双方的方式将pcc编码数据解码。

图28是表示由有关本实施方式的第3复用部4750进行的处理的流程图。

首先,第3复用部4750通过将nal单元头中包含的pcc_codec_type解析,判定使用的编解码器是第1编码方法、还是第2编码方法、还是第1编码方法及第2编码方法双方(s4741)。

在使用了第2编码方法的情况下(在s4742中“是”,并且,在s4743中是第2编码方法),第3复用部4750在ftyp中记载pcc2(s4744)。即,第3复用部4750将表示在文件中保存有用第2编码方法编码的数据的信息向ftyp记载。

接着,第3复用部4750将nal单元头中包含的pcc_nal_unit_type解析,用与由pcc_unit_type表示的数据类型对应的规定的方法将数据保存到盒子(moov或mdat等)(s4745)。并且,第3复用部4750制作包括上述ftyp及上述盒子的isobmff的文件(s4746)。

另一方面,在使用了第1编码方法的情况下(在s4742中“是”,并且,在s4743中是第1编码方法),第3复用部4750在ftyp中记载pcc1(s4747)。即,第3复用部4750将表示在文件中保存有用第1编码方法编码的数据的信息向ftyp记载。

接着,第3复用部4750将nal单元头中包含的pcc_nal_unit_type解析,用与由pcc_unit_type表示的数据类型对应的规定的方法将数据保存到盒子(moov或mdat等)(s4748)。并且,第3复用部4750制作包含上述ftyp及上述盒子的isobmff的文件(s4746)。

另一方面,在使用了第1编码方法和第2编码方法双方的编码方法的情况下(在s4742中“否”),第3复用部4750在ftyp中记载pcc3(s4749)。即,第3复用部4750将表示在文件中保存有用双方的编码方法编码的数据的信息向ftyp记载。

接着,第3复用部4750将nal单元头中包含的pcc_nal_unit_type解析,用与由pcc_unit_type表示的数据类型对应的规定的方法将数据保存到盒子(moov或mdat等)(s4750)。并且,第3复用部4750制作包含上述ftyp及上述盒子的isobmff的文件(s4746)。

图29是表示由第3逆复用部4760及解码部4680进行的处理的流程图。首先,第3逆复用部4760将isobmff的文件中包含的ftyp解析(s4761)。在由ftyp表示的编解码器是第2编码方法(pcc2)的情况下(在s4762中“是”,并且在s4763中是第2编码方法),第3逆复用部4760判断为nal单元的有效载荷中包含的数据是用第2编码方法编码的数据(s4764)。此外,第3逆复用部4760将判断结果传输给解码部4680。

解码部4680设为nal单元头中包含的pcc_nal_unit_type是第2编码方法用的nal单元的识别符而识别数据(s4765)。并且,解码部4680使用第2编码方法的解码处理将pcc数据解码(s4766)。

另一方面,在由ftyp表示的编解码器是第1编码方法(pcc1)的情况下(在s4762中“是”,并且在s4763中是第1编码方法),第3逆复用部4760判断为nal单元的有效载荷中包含的数据是用第1编码方法编码的数据(s4767)。此外,第3逆复用部4760将判断结果传输给解码部4680。

解码部4680设为nal单元头中包含的pcc_nal_unit_type是第1编码方法用的nal单元的识别符而识别数据(s4768)。并且,解码部4680使用第1编码方法的解码处理将pcc数据解码(s4769)。

另一方面,在由ftyp表示使用双方的编码方法(pcc3)的情况下(s4762中“否”),第3逆复用部4760判断为nal单元的有效载荷中包含的数据是用第1编码方法和第2编码方法双方的编码方法编码的数据(s4770)。此外,第3逆复用部4760将判断结果传输给解码部4680。

解码部4680设为nal单元头中包含的pcc_nal_unit_type是在pcc_codec_type中记载的编解码器用的nal单元的识别符而识别数据(s4771)。并且,解码部4680使用双方的编码方法的解码处理将pcc数据解码(s4772)。即,解码部4680将用第1编码方法编码的数据使用第1编码方法的解码处理解码,将用第2编码方法编码的数据使用第2编码方法的解码处理解码。

以下,说明本实施方式的变形例。作为由ftyp表示的版本的种类,也可以将以下的种类用识别信息表示。此外,也可以将以下所示的多个种类的组合用识别信息表示。

识别信息表示pcc编码前的原数据的对象是区域被限制的点群、还是如地图信息那样区域没有被限制的大规模点群。

识别信息也可以表示pcc编码前的原数据是静态对象还是动态对象。

如上述那样,识别信息也可以表示pcc编码数据是用第1编码方法编码的数据还是用第2编码方法编码的数据。

识别信息也可以表示在pcc编码中使用的算法。这里,算法例如是在第1编码方法或第2编码方法中能够使用的编码方法。

识别信息也可以表示pcc编码数据向isobmff的文件的保存方法的差异。例如,识别信息也可以表示所使用的保存方法是积蓄用的保存方法、还是动态流(dynamicstreaming)那样的实时送出用的保存方法。

此外,在实施方式2及实施方式3中,以作为文件格式而使用isobmff的例子进行了说明,但也可以使用其他的方式。例如,也可以在向mpeg-2tssystems、mpeg-dash、mmt或rmp保存pcc编码数据时也使用与本实施方式同样的方法。

此外,在上述中,表示了在ftyp中保存识别信息等的元数据的例子,但也可以在ftyp以外保存这些元数据。例如,也可以将这些元数据保存在moov中。

如以上这样,三维数据保存装置(或三维数据复用装置、或三维数据编码装置)进行图30所示的处理。

首先,三维数据保存装置(例如,包括第1复用部4710、第2复用部4730或第3复用部4750)取得保存有将点群数据编码而得到的编码流的1个以上的单元(例如nal单元)(s4781)。接着,三维数据保存装置将1个以上的单元向文件(例如isobmff的文件)保存(s4782)。此外,三维数据保存装置在上述保存(s4782)中,将表示保存在文件中的数据是将点群数据编码而得到的数据的信息(例如pcc1、pcc2或pcc3)保存在上述文件的控制信息(例如ftyp)中。

由此,在将由该三维数据保存装置生成的文件处理的装置中,能够参照文件的控制信息,较早地判定保存在该文件中的数据是否是点群数据的编码数据。因此,能够实现该装置的处理量的减少或处理的高速化。

例如,上述信息还表示第1编码方法和第2编码方法中的在上述点群数据的编码中使用的编码方法。另外,保存在文件中的数据是将点群数据编码而得到的数据、以及第1编码方法和第2编码方法中的在点群数据的编码中使用的编码方法,既可以用单一的信息表示,也可以用不同的信息表示。

由此,在将由该三维数据保存装置生成的文件进行处理的装置中,能够参照文件的控制信息,较早地判定对保存在该文件中的数据使用的编解码器。因此,能够实现该装置的处理量的减少或处理的高速化。

例如,上述第1编码方法是对将点群数据的位置用n(n是2以上的整数)叉树表示的位置信息进行编码、使用上述位置信息将属性信息编码的方式(gpcc),上述第2编码方法是根据点群数据生成二维图像、使用影像编码方法将上述二维图像编码的方式(vpcc)。

例如,上述文件依据isobmff(isobasedmediafileformat:iso基础媒体文件格式)。

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

此外,如以上这样,三维数据取得装置(或三维数据逆复用装置、或三维数据解码装置)进行图31所示的处理。

三维数据取得装置(例如,包括第1逆复用部4720、第2逆复用部4740或第3逆复用部4760)取得保存有1个以上的单元(例如nal单元)的文件(例如isobmff的文件),该1个以上的单元保存有将点群数据编码而得到的编码流(s4791)。接着,三维数据取得装置从文件中取得1个以上的单元(s4792)。此外,文件的控制信息(例如ftyp)包含表示保存在文件中的数据是将有点群数据编码而得到的数据的信息(例如pcc1、pcc2或pcc3)。

例如,三维数据取得装置参照上述信息,判定保存在文件中的数据是否是将点群数据编码而得到的数据。此外,三维数据取得装置在判定为保存在文件中的数据是将点群数据编码而得到的数据的情况下,通过将1个以上的单元中包含的将点群数据编码而得到的数据解码,生成点群数据。或者,三维数据取得装置在判定为保存在文件中的数据是将点群数据编码而得到的数据的情况下,将表示1个以上的单元中包含的数据是将点群数据编码而得到的数据的信息向后级的处理部(例如,第1解码部4640、第2解码部4660或解码部4680)输出(通知)。

由此,该三维数据取得装置能够参照文件的控制信息,较早地判定保存在该文件中的数据是否是点群数据的编码数据。因此,能够实现该三维数据取得装置或后段的装置的处理量的减少或处理的高速化。

例如,上述信息还表示第1编码方法和第2编码方法中的在上述编码中使用的编码方法。另外,保存在文件中的数据是将点群数据编码而得到的数据、以及第1编码方法和第2编码方法中的在点群数据的编码中使用的编码方法,既可以由单一的信息表示,也可以由不同的信息表示。

由此,该三维数据取得装置能够参照文件的控制信息,较早地判定对保存在该文件中的数据使用的编解码器。因此,能够实现该三维数据取得装置或后段的装置的处理量的减少或处理的高速化。

例如,三维数据取得装置基于上述信息,从包含用第1编码方法编码的数据和用第2编码方法编码的数据的编码后的点群数据中取得用某一方的编码方法编码的数据。

例如,上述第1编码方法是对将点群数据的位置用n(n是2以上的整数)叉树表示的位置信息进行编码、使用上述位置信息将属性信息编码的方式(gpcc),上述第2编码方法是根据点群数据生成二维图像、将上述二维图像使用影像编码方法编码的方式(vpcc)。

例如,上述文件依据isobmff(isobasedmediafileformat)。

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

(实施方式4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(实施方式5)

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

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

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

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

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

此外,三维数据编码装置将位置信息和属性信息既可以用不同的分割方法分割,也可以用相同的分割方法分割。此外,三维数据编码装置将多个切片既可以用不同的分割方法分割为瓦片,也可以用相同的分割方法分割为瓦片。

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

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

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

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

此外,三维数据编码装置也可以基于地图信息或位置信息进行切片分割,以使各切片对应于预先设定的坐标空间。

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

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

此外,三维数据编码装置在位置信息和属性信息中处理量不同的情况下,例如在位置信息的处理量比属性信息的处理量多的情况下,使位置信息的分割数量比属性信息的分割数量多。

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

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

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

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

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

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

(实施方式6)

以下,对在瓦片分割后进行切片分割的例子进行说明。在车辆的自动驾驶等的自主型的应用中,不是需要全部区域的点群数据,而是需要车辆的周边区域或车辆的行进方向的地域的点群数据。这里,为了将原来的点群数据有选择地解码而可以使用瓦片及切片。通过将三维点群数据分割为瓦片、再分割为切片,能够实现编码效率的提高或并行处理。在将数据分割时,生成附加信息(元数据),将所生成的附加信息向复用部发送。

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

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

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

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

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

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

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

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

接着,对解码处理进行说明。图40是表示第1解码部5020的构成的框图。第1解码部5020通过对通过将点群数据用第1编码方法(gpcc)编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部5020包括逆复用部5021、多个位置信息解码部5022、多个属性信息解码部5023、附加信息解码部5024和结合部5025。

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

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

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

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

结合部5025通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5025通过使用附加信息将多个分割属性信息结合,生成属性信息。例如,结合部5025首先通过使用切片附加信息将对于切片的解码后的点群数据结合,生成与瓦片对应的点群数据。接着,结合部5025通过使用瓦片附加信息将与瓦片对应的点群数据结合,将原来的点群数据复原。

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

接着,对点群数据的分割方法进行说明。在车辆的自动驾驶等的自主型的应用中,不是需要全部区域的点群数据,而是需要车辆的周边区域或车辆的行进方向的地域的点群数据。

图41是表示瓦片的形状的例子的图。如图41所示,作为瓦片的形状,也可以使用圆、矩形或椭圆等的各种各样的形状。

图42是表示瓦片及切片的例子的图。切片的构成也可以在瓦片间不同。例如,也可以将瓦片或切片的构成基于数据量进行优化。或者,也可以将瓦片或切片的构成基于解码速度进行优化。

此外,也可以基于位置信息进行瓦片分割。在此情况下,将属性信息与对应的位置信息同样地分割。

此外,在瓦片分割后的切片分割中,也可以将位置信息和属性信息通过不同的方法分割为切片。例如,各瓦片的切片分割的方法也可以根据来自应用的请求来选择。也可以基于来自应用的请求而使用不同的切片分割的方法或瓦片分割的方法。

例如,分割部5011在将三维点群数据从上观察的二维形状中基于地图信息等的位置信息将点群数据分割为1个以上的瓦片。然后,分割部5011将各个瓦片分割为1个以上的切片。

另外,分割部5011也可以将位置信息(geometry)和属性信息(attribute)用相同的方法分割为切片。

另外,位置信息及属性信息分别既可以是1种,也可以是两种以上。此外,在不具有属性信息的点群数据的情况下,也可以没有属性信息。

图43是分割部5011的框图。分割部5011包括瓦片分割部5031(tiledivider)、位置信息切片分割部5032(geometryslicedivider)和属性信息切片分割部5033(attributeslicedivider)。

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

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

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

接着,瓦片的形状的例对进行说明。三维地图(3d地图)的整体被分割为多个瓦片。多个瓦片的数据被有选择地向三维数据解码装置发送。或者,也可以在多个瓦片的数据中从重要度较高的数据依次向三维数据解码装置发送。根据状况,瓦片的形状也可以从多个形状中选择。

图44是表示将由lidar得到的点群数据俯视的地图的一例的图。图44所示的例子是高速道路的点群数据,包括立体交叉部分(flyover)。

图45是表示将图44所示的点群数据分割为正方形的瓦片的例子的图。这样的正方形的分割能够在地图服务器中容易地进行。此外,相对于通常的道路,瓦片的高度被设定得较低。在立体交叉部分,瓦片的高度被设定为比通常的道路高,以使瓦片包含立体交叉部分。

图46是表示将图44所示的点群数据分割为圆形的瓦片的例子的图。在此情况下,有相邻的瓦片在俯视中重复的情况。三维数据编码装置在车辆需要周边区域的点群数据的情况下,将车辆周边的圆柱(俯视中的圆)区域的点群数据发送给车辆。

此外,与图45的例子同样,对于通常的道路,瓦片的高度被设定得较低。在立体交叉部分,瓦片的高度被设定为比通常的道路高,以使瓦片包含立体交叉部分。

三维数据编码装置也可以将瓦片的高度例如根据道路或建筑物的形状或高度改变。此外,三维数据编码装置也可以根据位置信息或区域信息来改变瓦片的高度。此外,三维数据编码装置也可以将瓦片的高度按每个瓦片改变。或者,三维数据编码装置也可以按包括多个瓦片的每个区间改变瓦片的高度。即,三维数据编码装置也可以将区间内的多个瓦片的高度设为相同。此外,不同高度的瓦片也可以在俯视中重复。

图47是表示使用各种各样的形状、大小或高度的瓦片的情况下的瓦片分割的例子的图。瓦片的形状是怎样的形状都可以,是怎样的大小都可以,也可以是它们的组合。

例如,不仅是上述那样的不重复而以正方形的瓦片进行分割的例子、以及以重复的圆形的瓦片进行分割的例子,三维数据编码装置也可以以重复的正方形的瓦片进行分割。此外,瓦片的形状也可以不是正方形及圆形,也可以使用具有3个以上的顶点的多边形,也可以使用不具有顶点的形状。

此外,瓦片的形状也可以是两种以上,也可以是不同形状的瓦片重复。此外,也可以是,瓦片的形状的种类是1个以上,在分割的相同形状中,将大小不同的形状组合,它们也可以重复。

例如,在道路等的没有对象的区域中,使用比存在对象的区域大的瓦片。此外,三维数据编码装置也可以根据对象而适应性地改变瓦片的形状或大小。

此外,例如三维数据编码装置由于需要读入作为汽车(车辆)的行进方向的汽车的前方远方的瓦片的可能性较高,所以也可以将行进方向的瓦片设定为较大的尺寸,由于汽车向汽车的侧方前进的可能性较低,所以将侧方的瓦片设定为比行进方向的瓦片小的尺寸。

图48是表示被保存在服务器中的瓦片的数据的例子的图。例如,预先将点群数据进行瓦片分割而编码,将得到的编码数据保存到服务器中。用户在需要时从服务器取得希望的瓦片的数据。或者,服务器(三维数据编码装置)也可以根据用户的指示进行瓦片分割及编码,以包含用户希望的数据。

例如,在移动体(车辆)的移动速度较快的情况下,可以想到需要更大范围的点群数据。因此,服务器也可以基于预先推测的车的速度(例如,能够根据道路的法定速度、道路的宽度及形状来推测的车的速度或统计上的速度等),决定瓦片的形状及大小,进行瓦片分割。或者,如图48所示,服务器也可以预先将多个形状或大小的瓦片编码,将得到的数据保存。移动体也可以根据该移动体的行进方向及速度,取得适当的形状及大小的瓦片的数据。

图49是表示关于瓦片分割的系统的例子的图。如图49所示,瓦片的形状及区域也可以基于作为传送点群数据的通信手段的天线(基站)的位置或天线所支持的通信区域来决定。或者,在由相机等的传感器生成点群数据的情况下,瓦片的形状及区域也可以基于传感器的位置或传感器的对象范围(检测范围)来决定。

既可以对1个天线或传感器分配1个瓦片,也可以对多个天线或传感器分配1个瓦片。也可以对1个天线或传感器分配多个瓦片。天线或传感器既可以被固定,也可以能够移动。

例如,被分割为瓦片的编码数据也可以由与对应于被分配给瓦片的区域的天线或传感器连接的服务器管理。服务器也可以管理本区域的编码数据和相邻的区域的瓦片信息。也可以在管理与各个瓦片对应的多个服务器的集中管理服务器(云)中管理多个瓦片的多个编码数据。或者,也可以不设置与瓦片对应的服务器,天线或传感器与集中管理服务器直接连接。

另外,天线或传感器的对象范围有可能根据电波的功率、设备的差异及设置条件而不同,瓦片的形状及大小也可以也与这些匹配而变化。基于天线或传感器的对象范围,也可以不是分配瓦片而是分配切片,也可以分配pcc帧。

接着,对将瓦片分割为切片的方法进行说明。通过将类似的对象分配给相同的切片,能够提高编码效率。

例如,三维数据编码装置使用点群数据的特征来识别对象(道路、楼宇、树等),通过按每个对象将点群聚类(clustering)来进行切片分割。

或者,三维数据编码装置也可以将具有相同属性的对象进行分组,通过对各组分配切片来进行切片分割。这里,属性例如是关于运动的信息,通过将对象分类为步行者及车等的动态信息、事故及拥堵等的准动态信息、交通限制及道路工事等的准静态信息、和路面及构造物等的静态信息,来进行分组。

另外,在多个切片中,数据也可以重复。例如,在按多个对象组的每个对象组进行切片分割的情况下,任意的对象既可以属于1个对象组,也可以属于2以上的多个对象组。

图50是表示该切片分割的例子的图。例如,在图50所示的例子中,瓦片是长方体。另外,瓦片也可以是圆柱状,也可以是其他形状。

瓦片中包含的点群例如被分组为道路、建筑物、树等的对象组。并且,以各对象组包含于一个切片中的方式进行切片化。并且,各切片被单独地编码。

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

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

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

此外,在该图中,g表示位置信息,a表示属性信息。gt1表示瓦片号码1的位置信息,gt2表示瓦片号码2的位置信息。gt1s1表示瓦片号码1且切片号码1的位置信息,gt1s2表示瓦片号码1且切片号码2的位置信息,gt2s1表示瓦片号码2且切片号码1的位置信息,gt2s2表示瓦片号码2且切片号码2的位置信息。同样,at1表示瓦片号码1的属性信息,at2表示瓦片号码2的属性信息。at1s1表示瓦片号码1且切片号码1的属性信息,at1s2表示瓦片号码1且切片号码2的属性信息,at2s1表示瓦片号码2且切片号码1的属性信息,at2s2表示瓦片号码2且切片号码2的属性信息。

mtile表示瓦片附加信息,mgslice表示位置切片附加信息,maslice表示属性切片附加信息。dt1s1表示属性信息at1s1的依赖关系信息,dt2s1表示属性信息at2s1的依赖关系信息。

另外,根据应用等,也可以使用不同的瓦片分割或切片分割的构造。

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

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

此外,三维数据解码装置也可以基于来自应用的请求及从nal单元头得到的信息,有选择地将瓦片解码。图53是表示瓦片的编码数据的例子的图。例如,瓦片的解码顺序是任意的。即,在瓦片间也可以没有依赖关系。

接着,说明在第1解码部5020中包含的结合部5025的构成。图54是表示结合部5025的构成的框图。结合部5025包括位置信息切片结合部5041(geometryslicecombiner)、属性信息切片结合部5042(attributeslicecombiner)和瓦片结合部(tilecombiner)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

接着,对瓦片附加信息进行说明。三维数据编码装置生成作为关于瓦片的分割方法的元数据的瓦片附加信息,将所生成的瓦片附加信息向三维数据解码装置发送。

图58是表示瓦片附加信息(tilemetadata)的句法例的图。如图58所示,例如瓦片附加信息包括分割方法信息(type_of_divide)、形状信息(topview_shape)、重复标志(tile_overlap_flag)、重复信息(type_of_overlap)、高度信息(tile_height)、瓦片数(tile_number)和瓦片位置信息(global_position,relative_position)。

分割方法信息(type_of_divide)表示瓦片的分割方法。例如,分割方法信息表示瓦片的分割方法是基于地图的信息的分割、即基于俯视的分割(top_view),还是其以外(other)。

形状信息(topview_shape)例如在瓦片的分割方法是基于俯视的分割的情况下包含在瓦片附加信息中。形状信息表示将瓦片俯视的形状。例如,该形状包括正方形及圆。另外,该形状既可以包括椭圆、矩形或四边形以外的多边形,也可以包括其以外的形状。另外,形状信息并不限于将瓦片俯视的形状,也可以表示瓦片的三维形状(例如立方体及圆柱等)。

重复标志(tile_overlap_flag)表示瓦片是否重复。例如,在瓦片的分割方法是基于俯视的分割的情况下,重复标志包含在瓦片附加信息中。在此情况下,重复标志表示在俯视中瓦片是否重复。另外,重复标志也可以表示在三维空间中瓦片是否重复。

重复信息(type_of_overlap)例如在瓦片重复的情况下包含在瓦片附加信息中。重复信息表示瓦片的重复方式等。例如,重复信息表示重复的区域的大小等。

高度信息(tile_height)表示瓦片的高度。另外,高度信息也可以包含表示瓦片的形状的信息。例如,在瓦片的俯视的形状是矩形的情况下,该信息也可以表示该矩形的边的长度(纵向的长度及横向的长度)。此外,在瓦片的俯视的形状是圆的情况下,该信息也可以表示该圆的直径或半径。

此外,高度信息既可以表示各瓦片的高度,也可以表示多个瓦片共同的高度。此外,也可以预先设定道路及立体交叉部分等的多个高度类型,由高度信息表示各高度类型的高度和各瓦片的高度类型。或者,也可以将各高度类型的高度预先定义,由高度信息表示各瓦片的高度类型。即,各高度类型的高度也可以不由高度信息表示。

瓦片数(tile_number)表示瓦片的数量。另外,瓦片附加信息也可以包含表示瓦片的间隔的信息。

瓦片位置信息(global_position,relative_position)是用来确定各瓦片的位置的信息。例如,瓦片位置信息表示各瓦片的绝对坐标或相对坐标。

另外,上述的信息的一部分或全部既可以按每个瓦片设置,也可以按每多个瓦片(例如按每个帧或按每多个帧)设置。

三维数据编码装置也可以将瓦片附加信息包含在sei(supplementalenhancementinformation)中而送出。或者,三维数据编码装置也可以将瓦片附加信息保存到既有的参数集(pps、gps或aps等)中并送出。

例如,在瓦片附加信息按每个帧而变化的情况下,也可以在每个帧的参数集(gps或aps等)中保存瓦片附加信息。在序列内瓦片附加信息不变化的情况下,也可以在每个序列的参数集(位置sps或属性sps)中保存瓦片附加信息。进而,在位置信息和属性信息中使用相同的瓦片分割信息的情况下,也可以在pcc流的参数集(流ps)中保存瓦片附加信息。

此外,瓦片附加信息既可以保存到上述中的任一个参数集中,也可以保存到多个参数集中。此外,瓦片附加信息也可以保存到编码数据的头中。此外,瓦片附加信息也可以保存到nal单元的头中。

此外,瓦片附加信息的全部或一部分也可以保存到分割位置信息的头及分割属性信息的头的一方中,而不保存到另一方中。例如,在位置信息和属性信息中使用相同的瓦片附加信息的情况下,也可以在位置信息和属性信息的一方的头中包含瓦片附加信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些瓦片附加信息,在属性信息的头中不包含瓦片附加信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的瓦片相同的瓦片。

三维数据解码装置基于瓦片附加信息,重构被瓦片分割的点群数据。三维数据解码装置在有重复的点群数据的情况下,确定重复的多个点群数据,选择某一个或将多个点群数据合并。

此外,三维数据解码装置也可以使用瓦片附加信息进行解码。例如,三维数据解码装置也可以在多个瓦片重复的情况下按每个瓦片进行解码,进行使用被解码的多个数据的处理(例如平滑化或滤波等),生成点群数据。由此,有可能能够进行精度更高的解码。

图59是表示包括三维数据编码装置及三维数据解码装置的系统的构成例的图。瓦片分割部5051将包含位置信息及属性信息的点群数据分割为第1瓦片和第2瓦片。此外,瓦片分割部5051将有关瓦片分割的瓦片附加信息向解码部5053及瓦片结合部5054发送。

编码部5052通过将第1瓦片及第2瓦片编码,生成编码数据。

解码部5053通过将由编码部5052生成的编码数据解码,将第1瓦片及第2瓦片复原。瓦片结合部5054通过使用瓦片附加信息将第1瓦片及第2瓦片结合,将点群数据(位置信息及属性信息)复原。

接着,对切片附加信息进行说明。三维数据编码装置生成作为关于切片的分割方法的元数据的切片附加信息,将所生成的切片附加信息向三维数据解码装置发送。

图60是表示切片附加信息(slicemetadata)的句法例的图。如图60所示,例如切片附加信息包括分割方法信息(type_of_divide)、重复标志(slice_overlap_flag)、重复信息(type_of_overlap)、切片数(slice_number)、切片位置信息(global_position,relative_position)和切片尺寸信息(slice_bounding_box_size)。

分割方法信息(type_of_divide)表示切片的分割方法。例如,分割方法信息表示切片的分割方法是否是在图50中表示那样的基于对象的信息的分割(object)。另外,切片附加信息也可以包括表示对象分割的方法的信息。例如,该信息表示是将1个对象分割为多个切片还是分配给1个切片。此外,该信息也可以表示将1个对象分割为多个切片的情况下的分割数量等。

重复标志(slice_overlap_flag)表示切片是否重复。重复信息(type_of_overlap)例如在切片重复的情况下包含在切片附加信息中。重复信息表示切片的重复方式等。例如,重复信息表示重复的区域的大小等。

切片数(slice_number)表示切片的数量。

切片位置信息(global_position,relative_position)及切片尺寸信息(slice_bounding_box_size)是关于切片的区域的信息。切片位置信息是用来确定各切片的位置的信息。例如,切片位置信息表示各切片的绝对坐标或相对坐标。切片尺寸信息(slice_bounding_box_size)表示各切片的尺寸。例如,切片尺寸信息表示各切片的边界框的尺寸。

三维数据编码装置也可以将切片附加信息包含在sei中而送出。或者,三维数据编码装置也可以将切片附加信息保存在既有的参数集(pps、gps或aps等)中而送出。

例如,在切片附加信息按每个帧变化的情况下,也可以在每个帧的参数集(gps或aps等)中保存切片附加信息。在序列内切片附加信息不变化的情况下,也可以在每个序列的参数集(位置sps或属性sps)中保存切片附加信息。进而,在位置信息和属性信息中使用相同的切片分割信息的情况下,也可以在pcc流的参数集(流ps)中保存切片附加信息。

此外,切片附加信息既可以保存到上述中的任一个参数集中,也可以保存到多个参数集中。此外,切片附加信息也可以保存到编码数据的头中。此外,切片附加信息也可以保存到nal单元的头中。

此外,切片附加信息的全部或一部分也可以保存到分割位置信息的头及分割属性信息的头的一方中,而不保存到另一方中。例如,在位置信息和属性信息中使用相同的切片附加信息的情况下,也可以在位置信息和属性信息的一方的头中包含切片附加信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些切片附加信息,在属性信息的头中不包含切片附加信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的切片相同的切片。

三维数据解码装置基于切片附加信息,重构被切片分割的点群数据。三维数据解码装置在有重复的点群数据的情况下,确定重复的多个点群数据,选择某一个或将多个点群数据合并。

此外,三维数据解码装置也可以使用切片附加信息进行解码。例如,三维数据解码装置也可以在多个切片重复的情况下按每个切片进行解码,进行使用被解码的多个数据的处理(例如平滑化或滤波等),生成点群数据。由此,有可能能够进行精度更高的解码。

图61是由有关本实施方式的三维数据编码装置进行的、包括瓦片附加信息的生成处理的三维数据编码处理的流程图。

首先,三维数据编码装置决定瓦片的分割方法(s5031)。具体而言,三维数据编码装置决定作为瓦片的分割方法而使用基于俯视的分割方法(top_view),还是使用其以外(other)的方法。此外,三维数据编码装置决定使用基于俯视的分割方法的情况下的瓦片的形状。此外,三维数据编码装置决定瓦片是否与其他瓦片重复。

在由步骤s5031决定的瓦片的分割方法是基于俯视的分割方法的情况下(s5032中“是”),三维数据编码装置将瓦片的分割方法是基于俯视的分割方法(top_view)的情况记载在瓦片附加信息中(s5033)。

另一方面,在由步骤s5031决定的瓦片的分割方法是基于俯视的分割方法以外的方法的情况下(s5032中“否”),三维数据编码装置将瓦片的分割方法是基于俯视的分割方法(top_view)以外的方法的情况记载在瓦片附加信息中(s5034)。

此外,在由步骤s5031决定的俯视瓦片的形状是正方形的情况下(s5035中正方形),三维数据编码装置将俯视瓦片的形状是正方形的情况记载在瓦片附加信息中(s5036)。另一方面,在由步骤s5031决定的俯视瓦片的形状是圆的情况下(s5035中圆),三维数据编码装置将俯视瓦片的形状是圆的情况记载在瓦片附加信息中(s5037)。

接着,三维数据编码装置判定瓦片是否与其他瓦片重复(s5038)。在瓦片与其他瓦片重复的情况下(s5038中“是”),三维数据编码装置将瓦片重复的情况记载在瓦片附加信息中(s5039)。另一方面,在瓦片不与其他瓦片重复的情况下(s5038中“否”),三维数据编码装置将瓦片不重复的情况记载在瓦片附加信息中(s5040)。

接着,三维数据编码装置基于在步骤s5031中决定的瓦片的分割方法将瓦片分割,将各瓦片编码,送出所生成的编码数据及瓦片附加信息(s5041)。

图62是由有关本实施方式的三维数据解码装置进行的使用瓦片附加信息的三维数据解码处理的流程图。

首先,三维数据解码装置将比特流中包含的瓦片附加信息解析(s5051)。

在由瓦片附加信息表示瓦片不与其他瓦片重复的情况下(s5052中“否”),三维数据解码装置通过将各瓦片解码而生成各瓦片的点群数据(s5053)。接着,三维数据解码装置基于由瓦片附加信息表示的瓦片的分割方法及瓦片的形状,根据各瓦片的点群数据重构点群数据(s5054)。

另一方面,在由瓦片附加信息表示瓦片与其他瓦片重复的情况下(s5052中“是”),三维数据解码装置通过将各瓦片解码,生成各瓦片的点群数据。此外,三维数据解码装置基于瓦片附加信息,确定瓦片的重复部分(s5055)。另外,三维数据解码装置也可以关于重复部分使用重复的多个信息进行解码处理。接着,三维数据解码装置基于由瓦片附加信息表示的瓦片的分割方法、瓦片的形状及重复信息,根据各瓦片的点群数据重构点群数据(s5056)。

以下,说明关于切片的变形例等。三维数据编码装置也可以将表示对象的种类(道路、建筑物、树等)或属性(动态信息、静态信息等)的信息作为附加信息而发送。或者,也可以根据对象预先规定编码的参数,三维数据编码装置通过将对象的种类或属性送出,向三维数据解码装置通知编码参数。

关于切片数据的编码顺序及送出顺序,也可以使用以下的方法。例如,三维数据编码装置也可以根据对象的识别或聚类较容易的数据起依次将切片数据编码。或者,三维数据编码装置也可以从聚类较早结束的切片数据起依次进行编码。此外,三维数据编码装置也可以从被编码的切片数据起依次送出。或者,三维数据编码装置也可以在应用中以解码的优先级从高到低的顺序将切片数据送出。例如,在动态信息的解码的优先级较高的情况下,三维数据编码装置也可以从以动态信息进行了分组的切片起依次将切片数据送出。

此外,三维数据编码装置在编码数据的顺序与解码的优先级的顺序不同的情况下,也可以将编码数据在重新排列后送出。此外,三维数据编码装置在将编码数据蓄积时,也可以将编码数据在重新排列后蓄积。

应用(三维数据解码装置)向服务器(三维数据编码装置)请求包含希望的数据的切片的送出。服务器也可以送出应用需要的切片数据,而不送出不需要的切片数据。

应用向服务器请求包含希望的数据的瓦片的送出。服务器也可以送出应用需要的瓦片数据,而不送出不需要的瓦片数据。

如以上这样,有关本实施方式的三维数据编码装置进行图63所示的处理。首先,三维数据编码装置通过对将包含多个三维点的对象空间分割而成的多个子空间(例如瓦片)进行编码,生成多个编码数据(s5061)。三维数据编码装置生成包含上述多个编码数据和表示上述多个子空间的形状的第1信息(例如topview_shape)的比特流(s5062)。

由此,三维数据编码装置能够从多个种类的子空间的形状中选择任意的形状,所以能够提高编码效率。

例如,上述形状是上述多个子空间的二维的形状或三维的形状。例如,上述形状是将上述多个子空间俯视的形状。即,第1信息表示将子空间从特定的方向(例如上方)观察的形状。换言之,第1信息表示将子空间俯瞰的形状。例如,上述形状是矩形或圆。

例如,上述比特流包含表示上述多个子区间是否重复的第2信息(例如tile_overlap_flag)。

由此,三维数据编码装置能够使子空间重复,所以能够不使子空间的形状变得复杂而生成子空间。

例如,上述比特流包含表示上述多个子区间的分割方法是否是使用俯视的分割方法的第3信息(例如type_of_divide)。

例如,上述比特流包含表示上述多个子区间的高度、宽度、进深及半径中的至少1个的第4信息(例如tile_height)。

例如,上述比特流包含表示上述多个子区间各自的位置的第5信息(例如global_position或relative_position)。

例如,上述比特流包含表示上述多个子区间的数量的第6信息(例如tile_number)。

例如,上述比特流包含表示上述多个子区间的间隔的第7信息。

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

此外,有关本实施方式的三维数据解码装置进行图64所示的处理。首先,三维数据解码装置通过对比特流中包含的、通过对将包含多个三维点的对象空间分割而成的多个子空间(例如瓦片)进行编码而生成的多个编码数据进行解码,将上述多个子空间复原(s5071)。三维数据解码装置通过使用上述比特流中包含的、表示上述多个子空间的形状的第1信息(例如topview_shape)将上述多个子空间结合,将上述对象空间复原(s5072)。例如,三维数据解码装置通过使用第1信息识别多个子空间的形状,能够掌握各子空间在对象空间内的位置及范围。三维数据解码装置能够基于所掌握的多个子空间的位置及范围,将多个子空间结合。由此,三维数据解码装置能够将多个子空间正确地结合。

例如,上述形状是上述多个子空间的二维的形状或三维的形状。例如,上述形状是矩形或圆。

例如,上述比特流包含表示上述多个子区间是否重复的第2信息(例如tile_overlap_flag)。三维数据解码装置在上述对象空间的复原中,还使用上述第2信息将上述多个子空间结合。例如,三维数据解码装置使用第2信息判断子空间是否重复。三维数据解码装置在子空间重复的情况下,确定重复区域,对所确定的重复区域进行规定的对应。

例如,上述比特流包含表示上述多个子区间的分割方法是否是使用俯视的分割方法的第3信息(例如type_of_divide)。三维数据解码装置在由上述第3信息表示上述多个子区间的分割方法是使用俯视的分割方法的情况下,使用上述第1信息将上述多个子空间结合。

例如,上述比特流包含表示上述多个子区间的高度、宽度、进深及半径中的至少1个的第4信息(例如tile_height)。三维数据解码装置在上述对象空间的复原中,还使用上述第4信息将上述多个子空间结合。例如,三维数据解码装置通过使用第4信息识别多个子空间的高度,能够掌握各子空间在对象空间内的位置及范围。三维数据解码装置能够基于所掌握的多个子空间的位置及范围将多个子空间结合。

例如,上述比特流包含表示上述多个子区间各自的位置的第5信息(例如global_position或relative_position)。三维数据解码装置在上述对象空间的复原中,还使用上述第5信息将上述多个子空间结合。例如,三维数据解码装置通过使用第5信息识别多个子空间的位置,能够掌握各子空间在对象空间内的位置。三维数据解码装置能够基于所掌握的多个子空间的位置,将多个子空间结合。

例如,上述比特流包含表示上述多个子区间的数量的第6信息(例如tile_number)。三维数据解码装置在上述对象空间的复原中,还使用上述第6信息将上述多个子空间结合。

例如,上述比特流包含表示上述多个子区间的间隔的第7信息。三维数据解码装置在上述对象空间的复原中,还使用上述第7信息将上述多个子空间结合。例如,三维数据解码装置通过使用第7信息识别多个子空间的间隔,能够掌握各子空间在对象空间内的位置及范围。三维数据解码装置能够基于所掌握的多个子空间的位置及范围,将多个子空间结合。

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

(实施方式7)

以下,对量化参数进行说明。

为了基于点群数据的特性及位置将点群数据分割,使用切片及瓦片。这里,根据硬件的限制及实时处理的要件,有对各个分割后的点群数据要求的品质不同的情况。例如,在按每个对象分割为切片而进行编码的情况下,由于包括植物的切片数据不那么重要,所以通过量化能够降低分辨率(品质)。另一方面,关于重要的切片数据,通过将量化的值设定为较低的值,能够成为较高的分辨率(品质)。为了能够进行这样的量化值的控制而使用量化参数。

这里,作为量化的对象的数据、在量化中使用的尺度(scale)和作为通过量化计算的结果的量化数据由以下的(式g1)和(式g2)表示。

量化数据=数据/尺度(式g1)

数据=量化数据*尺度(式g2)

图65是用来说明对数据进行量化的量化部5323及对量化数据进行逆量化的逆量化部5333的处理的图。

量化部5323通过使用尺度对数据进行量化即进行使用式g1的处理,计算数据被量化的量化数据。

逆量化部5333通过使用尺度对量化数据进行逆量化、即进行使用式g2的处理,计算量化数据被逆量化的数据。

此外,尺度和量化值(qp(quantizationparameter:量化参数)值)由以下的(式g3)表示。

量化值(qp值)=log(尺度)(式g3)

量化值(qp值)=默认值(基准值)+量化delta(差分信息)(式g4)

此外,将这些参数总称为量化参数(quantizationparameter)。

例如,如图66所示,量化值是以默认值为基准的值,通过对默认值加上量化delta来计算。在量化值是比默认值小的值的情况下,量化delta为负值。在量化值是比默认值大的值的情况下,量化delta为正值。在量化值与默认值相等的情况下,量化delta为0。在量化delta是0的情况下,量化delta也可以没有。

对编码处理进行说明。图67是表示在有关本实施方式的三维数据编码装置中包含的第1编码部5300的构成的框图。图68是表示有关本实施方式的分割部5301的构成的框图。图69是表示有关本实施方式的位置信息编码部5302及属性信息编码部5303的构成的框图。

第1编码部5300通过将点群数据用第1编码方法(gpcc(geometrybasedpcc))编码而生成编码数据(编码流)。该第1编码部5300包括分割部5301、多个位置信息编码部5302、多个属性信息编码部5303、附加信息编码部5304和复用部5305。

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

分割部5301如图68所示,包括瓦片分割部5311和切片分割部5312。例如,瓦片分割部5311将点群分割为瓦片。瓦片分割部5311也可以将在分割的各瓦片中使用的量化值决定为瓦片附加信息。

切片分割部5312将由瓦片分割部5311得到的瓦片再分割为切片。切片分割部5312也可以将在分割的各切片中使用的量化值决定为切片附加信息。

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

位置信息编码部5302如图69所示,包括量化值计算部5321和熵编码部5322。量化值计算部5321取得被编码的分割位置信息的量化值(量化参数)。熵编码部5322通过使用由量化值计算部5321取得的量化值(量化参数)对分割位置信息进行量化,计算量化位置信息。

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

属性信息编码部5303如图69所示,包括量化值计算部5331和熵编码部5332。量化值计算部5331取得被编码的分割属性信息的量化值(量化参数)。熵编码部5332通过使用由量化值计算部5331取得的量化值(量化参数)对分割属性信息进行量化,计算量化属性信息。

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

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

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

接着,对解码处理进行说明。图70是表示第1解码部5340的构成的框图。图71是表示位置信息解码部5342及属性信息解码部5343的构成的框图。

第1解码部5340通过对通过将点群数据用第1编码方法(gpcc)编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部5340包括逆复用部5341、多个位置信息解码部5342、多个属性信息解码部5343、附加信息解码部5344和结合部5345。

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

多个位置信息解码部5342通过将多个编码位置信息解码,生成多个量化位置信息。例如,多个位置信息解码部5342将多个编码位置信息并行处理。

位置信息解码部5342如图71所示,包括量化值计算部5351和熵解码部5352。量化值计算部5351取得量化位置信息的量化值。熵解码部5352通过使用由量化值计算部5351取得的量化值对量化位置信息进行逆量化,计算位置信息。

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

属性信息解码部5343如图71所示,包括量化值计算部5361和熵解码部5362。量化值计算部5361取得量化属性信息的量化值。熵解码部5362通过使用由量化值计算部5361取得的量化值对量化属性信息进行逆量化,计算属性信息。

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

结合部5345通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5345通过使用附加信息将多个分割属性信息结合,生成属性信息。例如,结合部5345首先通过使用切片附加信息将针对切片的解码后的点群数据结合,生成与瓦片对应的点群数据。接着,结合部5345通过使用瓦片附加信息将与瓦片对应的点群数据结合,复原原来的点群数据。

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

[量化参数的决定方法]

图72是表示位置信息(geometry)的编码或属性信息(attribute)的编码中的与量化值(quantizationparameter值:qp值)的决定有关的处理的一例的流程图。

关于qp值,例如按构成pcc帧的位置信息的每数据单位、或按属性信息的每数据单位,考虑编码效率而决定。在数据单位是分割后的瓦片单位或分割后的切片单位的情况下,考虑分割的数据单位的编码效率而以分割的数据单位决定qp值。此外,qp值也可以以分割前的数据单位来决定。

如图72所示,三维数据编码装置决定在位置信息的编码中使用的qp值(s5301)。三维数据编码装置也可以按分割后的多个切片的每一个,基于规定的方法进行qp值的决定。具体而言,三维数据编码装置基于位置信息的数据的特征或品质来决定qp值。三维数据编码装置例如也可以按每数据单位判定点群数据的密度、即属于切片的每个单位区域的点的数量,将与点群数据的密度对应的值决定为qp值。或者,三维数据编码装置也可以基于点群数据的点的数量、点的分布、点的偏倚、或根据点的信息得到的特征量、特征点的数量、或识别的对象,将对应的值决定为qp值。此外,三维数据编码装置也可以判定地图的位置信息中的对象,根据基于位置信息的对象来决定qp值,也可以基于将三维点群投影为二维的信息或特征量来决定qp值。对应的qp值也可以预先作为与点群数据的密度、点的数量、点的分布、点的偏倚建立了对应的表而保持在存储器中。此外,对应的qp值也可以预先作为与根据点的信息得到的特征量、特征点的数量、或基于点的信息识别的对象建立了对应的表而保持在存储器中。此外,对应的qp值也可以在将点群数据的位置信息编码时,基于用各种各样的qp值模拟了编码率等的结果来决定。

接着,三维数据编码装置决定位置信息的qp值的基准值(默认值)及差分信息(量化delta)(s5302)。具体而言,三维数据编码装置使用所决定的qp值及规定的方法决定要传输的基准值及差分信息,将所决定的基准值及差分信息设定(追加)到附加信息及数据的头的至少一方。

接着,三维数据编码装置决定在属性信息的编码中使用的qp值(s5303)。三维数据编码装置也可以按分割后的多个切片的每一个,基于规定的方法来进行qp值的决定。具体而言,三维数据编码装置基于属性信息的数据的特征或品质来决定qp值。三维数据编码装置例如也可以按每数据单位,基于属性信息的特性来决定qp值。颜色的特性例如是亮度、色度、彩度、它们的直方图、颜色的连续性等。在属性信息是反射率的情况下,也可以根据基于反射率的信息来判定。三维数据编码装置例如在从点群数据中作为对象而检测到脸的情况下,也可以对构成检测到脸的对象的点群数据决定品质较好的qp值。这样,三维数据编码装置也可以根据对象的种类来决定对于构成对象的点群数据的qp值。

此外,三维数据编码装置在三维点有多个属性信息的情况下,也可以按每个属性信息独立地决定基于各个属性信息的qp值,或者,也可以基于某一方的属性信息来决定多个属性信息的qp值,也可以使用多个属性信息来决定该多个属性信息的qp值。

接着,三维数据编码装置决定属性信息的qp值的基准值(默认值)及差分信息(量化delta)(s5304)。具体而言,三维数据编码装置使用所决定的qp值及规定的方法,决定要传输的基准值及差分信息,将所决定的基准值及差分信息设定(追加)到附加信息及数据的头的至少一方。

并且,三维数据编码装置分别基于所决定的位置信息及属性信息的qp值,对位置信息及属性信息进行量化、编码(s5305)。

另外,说明了基于位置信息决定位置信息的qp值、基于属性信息决定属性信息的qp值的例子,但并不限于此。例如,位置信息及属性信息的qp值也可以基于位置信息来决定,也可以基于属性信息来决定,也可以基于位置信息及属性信息来决定。

另外,位置信息及属性信息的qp值也可以考虑点群数据中的、位置信息的品质与属性信息的品质的平衡来调整。例如,也可以将位置信息及属性信息的qp值决定为,使得位置信息的品质被设定得较高,并且属性信息的品质被设定得比位置信息的品质低。例如,也可以将属性信息的qp值决定为,使得满足位置信息的qp值以上这一制约条件。

此外,也可以调整qp值,以使编码数据被编码成包含在预先设定的规定的速率的范围内。例如在前一个数据单位的编码中编码量要超过规定的速率的情况下,即在与规定的速率的差小于第一差分的情况下,qp值也可以被调整为,使得编码品质下降,以使数据单位的编码量小于第一差分。另一方面,在与规定的速率的差大于比第一差分大的第二差而有充分大的差的情况下,qp值也可以被调整为,使得数据单位的编码品质提高。数据单位之间的调整例如既可以是pcc帧之间,也可以是瓦片之间或切片之间。属性信息的qp值的调整也可以基于位置信息的编码的速率来调整。

另外,在图72的流程图中,有关位置信息的处理和有关属性信息的处理的处理顺序也可以相反,也可以是并行。

另外,在图72的流程图中,以切片单位的处理为例,但在瓦片单位或其他数据单位下的处理的情况也能够与切片单位同样地处理。即,图72的流程图的切片可以替换为瓦片或其他数据单位。

图73是表示位置信息及属性信息的解码处理的一例的流程图。

如图73所示,三维数据解码装置取得表示位置信息的qp值的基准值及差分信息、和表示属性信息的qp值的基准值及差分信息(s5311)。具体而言,三维数据解码装置将被传输的元数据、编码数据的头的某一方或双方解析,取得用来导出qp值的基准值及差分信息。

接着,三维数据解码装置使用所取得的基准值及差分信息,基于规定的方法来导出qp值(s5312)。

并且,三维数据解码装置取得量化位置信息,通过使用所导出的qp值对量化位置信息进行逆量化,将位置信息解码(s5313)。

接着,三维数据解码装置取得量化属性信息,通过使用所导出的qp值对量化属性信息进行逆量化,将属性信息解码(s5314)。

接着,对量化参数的传输方法进行说明。

图74是用来说明量化参数的传输方法的第1例的图。图74的(a)是表示qp值的关系的一例的图。

在图74中,qg及qa分别表示在位置信息的编码中使用的qp值的绝对值、以及在属性信息的编码中使用的qp值的绝对值。qg是为了对多个三维点各自的位置信息进行量化而使用的第1量化参数的一例。此外,δ(qa,qg)示出表示与在qa的导出中使用的qg的差分的差分信息。即,使用qg和δ(qa,qg)导出qa。这样,将qp值分为基准值(绝对值)和差分信息(相对值)来传输。此外,在解码中,根据被传输的基准值及差分信息来导出希望的qp值。

例如,在图74的(a)中,传输绝对值qg和差分信息δ(qa,qg),在解码中,如下述的(式g5)所示,通过对qg加上δ(qa,qg)而导出qa。

qa=qg+δ(qa,qg)(式g5)

说明使用图74的(b)及(c)将由位置信息及属性信息构成的点群数据进行切片分割的情况下的qp值的传输方法。图74的(b)是表示各qp值的基准值与差分信息的关系的第1例的图。图74的(c)是表示qp值、位置信息及属性信息的传输顺序的第1例的图。

qp值按每个位置信息及按每个属性信息,大体上被分为pcc的帧单位的qp值(帧qp)和数据单位的qp值(数据qp)。数据单位的qp值是在图72的步骤s5301中决定的、在编码中使用的qp值。

这里,将作为在pcc帧单位的位置信息的编码中使用的qp值的qg设为基准值,关于数据单位的qp值,作为表示与qg的差分的差分信息来生成并送出。

qg:pcc帧中的位置信息的编码的qp值…使用gps作为基准值“1.”被送出

qa:pcc帧中的属性信息的编码的qp值…使用aps作为表示与qg的差分的差分信息“2.”被送出

qgs1、qgs2:切片数据中的位置信息的编码的qp值…使用位置信息的编码数据的头,作为表示与qg的差分的差分信息“3.”及“5.”被送出

qas1、qas2:切片数据中的属性信息的编码的qp值…使用属性信息的编码数据的头,作为表示与qa的差分的差分信息“4.”及“6.”被送出

另外,在帧qp的导出中使用的信息被记载在有关帧的元数据(gps,aps)中,在数据qp的导出中使用的信息被记载在有关数据的元数据(编码数据的头)中。

这样,数据qp作为表示与帧qp的差分的差分信息而被生成并送出。由此,能够削减数据qp的数据量。

第1解码部5340在各个编码数据中,参照由图74的(c)的箭头表示的元数据,取得与该编码数据对应的基准值及差分信息。并且,第1解码部5340基于所取得的基准值及差分信息,导出与解码对象的编码数据对应的qp值。

第1解码部5340例如从元数据或头取得在图74的(c)中用箭头表示的基准信息“1.”及差分信息“2.”“6.”,如用下述的(式g6)表示那样,通过对基准信息“1.”加上差分信息“2.”及“6.”,导出as2的qp值。

qas2=qg+δ(qa,qg)+δ(qas2,qa)(式g6)

接着,使用图75对将位置信息及属性信息二分割为瓦片后、二分割为切片的情况下的例子进行说明。图75是用来说明量化参数的传输方法的第2例的图。图75的(a)是表示各qp值的基准值与差分信息的关系的第2例的图。图75的(b)是表示qp值、位置信息及属性信息的传输顺序的第2例的图。图75的(c)是用来说明第2例中的差分信息的中间生成值的图。

在分割为多个瓦片后、进一步分割为多个切片的情况下,如图75的(c)所示,在分割为瓦片后,生成各个瓦片的qp值(qat1)及差分信息δ(qat1,qa)作为中间生成值。并且,在分割为切片后,生成各切片的qp值(qat1s1,qat1s2)及差分信息(δ(qat1s1,qat1)、δ(qat1s2,qat1))。

在此情况下,例如图75的(a)中的差分信息“4.”通过以下的(式g8)导出。

δ(qat1s1,qa)=δ(qat1,qa)+δ(qat1s1,qat1)(式g8)

第1解码部5340例如在将瓦片2的切片1的属性信息at2s1解码时,从元数据或头取得由图75的(b)的箭头表示的基准信息“1.”及差分信息“2.”,“8.”,如由下述的(式g9)表示那样,通过对基准信息“1.”加上差分信息“2.”、“8.”,导出属性信息at2s1的qp值。

qat2s1=qg+δ(qat2s1,qa)+δ(qa,qg)(式g9)

(实施方式8)

在本实施方式中,三维数据编码装置对所输入的三维点群(pointcloud)的三维位置信息应用量化而以八叉树结构进行编码。此时,通过量化产生三维位置相同但颜色或反射率等属性信息不同的点群(以下,称为重复点(duplicatedpoint))。三维数据编码装置将用于控制将该重复点作为八叉树的叶节点信息如何进行编码的信息附加到头部。由此,三维数据解码装置能够正确地对叶节点信息进行解码。在此,通过量化而三维位置相同包括如图76所示的点a以及点b那样原本的三维位置处于接近的位置,三维位置的信息被量化从而三维位置的值相同的情况。

例如,三维数据编码装置将作为控制是否合并重复点的标志的重复点合并标志(mergeduplicatedpointflag)附加到头部信息。图77是示意性地表示与重复点合并标志相应的处理的图。

在重复点合并标志为1的情况下,三维数据编码装置将重复点合并为1个点进行编码。在此,所谓合并,例如在点a和点b为重复点的情况下,留下点a而删除点b,或者相反。此外,此时,三维数据编码装置也可以根据点a和点b的颜色或反射率等属性信息计算新的属性信息,并将计算出的属性信息分配给合并后的点。例如,三维数据编码装置可以将点a和点b的属性信息的平均值分配给合并后的点。

另外,在重复点合并标志为1的情况下,以八叉树进行编码时的各叶节点仅包含1个点,因此,三维数据编码装置也可以不对表示叶节点包含几个三维点的信息作为叶节点信息进行编码。另外,三维数据编码装置也可以对叶节点内的1个点的三维位置信息和与颜色或反射率等属性信息相关的信息进行编码。

这样,在解码后不需要重复点的情况下,三维数据编码装置将重复点合并标志设定为1并附加到流中,合并重复点并进行编码。由此,能够削减不需要的重复点的数据量,能够提高编码效率。

在重复点合并标志为0的情况下,三维数据编码装置将重复点的信息作为叶节点信息进行编码。例如,由于各叶节点可能包含1个以上的重复点,因此三维数据编码装置对表示叶节点包含几个三维点的信息进行编码。另外,三维数据编码装置也可以对重复点的各属性信息分别进行编码。例如在叶节点内存在点a和点b作为重复点的情况下,三维数据编码装置也可以对表示2个点存在于叶节点内的信息进行编码。另外,三维数据编码装置也可以对点a和点b各自的属性信息进行编码。

这样,在解码后需要重复点的情况下,三维数据编码装置将重复点合并标志设定为0并附加到流中,对重复点进行编码。由此,三维数据解码装置能够正确地对与重复点相关的信息进行解码。

例如,作为三维位置的量化,例如,三维数据编码装置通过将三维位置(x,y,z)除以量化参数(qx,qy,qz)来计算量化位置(x/qx,y/qy,z/qz)。

重复点合并标志也可以包含在比特流的头部信息中。例如,重复点合并标志包含在wld、spc或vlm等的比特流的头部中。

另外,在上述中,作为属性信息列举了颜色或反射率的例子,但属性信息不一定限于此。例如,属性信息也可以包含点的法线向量、表示点的重要度的信息、点所具有的三维特征量、或者点的纬度、经度以及高度等位置信息等。

另外,合并表示将2个以上的点整合为1个点。另外,合并也可以表示将m个以上的点整合为n个(m>n)点。

如上所述,通过量化,三维点群的坐标相同,但产生颜色或反射率等属性信息不同的重复点。例如,在量化前,点a和点b的三维位置不同,但通过量化,产生点a和点b的三维位置变得相同,而属性信息不同的情况。即,点a和点b是重复点。

此外,不限于量化,也存在通过利用lidar等传感器改变时间或方向来获得同一物体的点群的三维位置及属性信息,从而产生重复点的情况。

另外,三维位置相同,不仅限于三维位置完全一致的情况。例如,三维数据编码装置也可以在点a与点b的三维位置之差为预先规定的阈值α以下的情况下,将点a与点b视为三维位置相同,将点a与点b判定为重复点。另外,三维数据编码装置也可以将阈值α附加到流中,向三维数据解码装置传递将阈值α以下的点作为重复点处理的信息。

另外,三维数据编码装置也可以使用点a的三维位置作为重复点的三维位置。或者,三维数据编码装置也可以使用点b的三维位置作为重复点的三维位置。或者,三维数据编码装置也可以使用根据点a的三维位置和点b的三维位置计算出的三维位置作为重复点的三维位置。例如,三维数据编码装置也可以使用点a的三维位置与点b的三维位置的平均值。

另外,三维数据编码装置,关于重复点中的三维位置相同且属性信息也一致的点,与重复点合并标志的值无关,可以进行合并,也可以削除任一方的点。

另外,在重复点合并标志为1的情况下,三维数据编码装置也可以将叶节点内的m点合并为n点(m>n)。在该情况下,三维数据编码装置也可以将n点的三维位置信息和属性信息分别作为叶节点信息进行编码。另外,三维数据编码装置也可以使用m个属性信息来计算n个属性信息。

另外,三维数据编码装置也可以将合并后的叶节点内的点的数量(n)附加到头部并通知给三维数据解码装置。另外,也可以通过标准等将n的值预先设定为固定值。由此,不需要对每个叶节点附加n个这样的信息,能够抑制产生编码量。由此,三维数据解码装置能够正确地对n个点进行解码。

在重复点合并标志为1的情况下,重复点合并为1个点。例如,三维数据编码装置可以将点a和点b合并到具有相同的三维位置信息的点c。此外,三维数据编码装置也可以将点a和点b的颜色或反射率等属性信息的平均值分配给点c。另外,三维数据编码装置可以将点b合并到点a,也可以将点a合并到点b。

接着,对重复点合并标志的句法例进行说明。图78是表示头部信息的句法例的图。图79是表示节点的信息的句法例的图。

如图78所示,头部信息包括重复点合并标志(mergeduplicatedpointflag)。重复点合并标志是表示是否合并重复点的信息。例如,重复点合并标志的值1表示合并重复点,值0表示不合并重复点。

此外,三维数据编码装置也可以不将重复点合并标志附加到头部,而是以标准、或者标准的档次或者级别等规定是否合并重复点。由此,三维数据解码装置参照标准信息,判定重复点是否包含在流中,从而能够正确地复原比特流。

如图79所示,节点的信息包括isleaf和num_point_per_leaf。isleaf是表示对象节点是否是叶节点的标志。值1表示对象节点是叶节点,值0表示对象节点不是叶节点而是节点。另外,表示节点是否是叶节点的信息也可以不附加在头部中。在该情况下,三维数据解码装置通过其他方法判定节点是否是叶节点。例如,三维数据解码装置也可以判定是否将八叉树的各节点分割成无法进一步分割的大小,如果是真,则判定为节点是叶节点。由此,不需要对表示节点是否是叶节点的标志进行编码,能够削减头部的编码量。

num_point_per_leaf是叶节点信息,表示叶节点中包含的三维点的数量。在重复点合并标志为0的情况下对该num_point_per_leaf进行编码。另外,在重复点合并标志为1的情况下,叶节点内的点的数量为1,因此num_point_per_leaf不被编码。由此,能够削减编码量。

另外,在此,示出了根据重复点合并标志直接地切换是否对叶节点信息进行编码的例子,但也可以间接地切换是否对叶节点信息进行编码。例如,三维数据编码装置也可以根据重复点合并标志来切换single_point_per_leaf,并基于句法来切换是否对叶节点信息进行编码。即,三维数据编码装置也可以在重复点合并标志为1的情况下,将single_point_per_leaf设定为1,在重复点合并标志为0的情况下,将single_point_per_leaf设定为0。另外,在该情况下,三维数据编码装置也可以不对比特流附加重复点合并标志。

此外,三维数据编码装置也可以通过熵编码对num_point_per_leaf进行编码。另外,此时,三维数据编码装置也可以在切换多个编码表的同时进行编码。例如,三维数据编码装置也可以使用编码表a对开头比特进行算术编码,使用编码表b对剩余比特进行算术编码。

如上所述,三维数据编码装置在比特流的头部附加表示是否合并重复点的信息,根据该值切换是否合并重复点。另外,三维数据编码装置在合并重复点的情况下,也可以不对包含在叶节点内的点的数量作为叶节点信息进行编码。另外,在不合并重复点的情况下,三维数据编码装置也可以将叶节点内所包含的点的数量作为叶节点信息进行编码。

此外,三维数据编码装置也可以对通过上述方法生成的isleaf、mergeduplicatedpointflag以及num_point_per_leaf进行熵编码。例如,三维数据编码装置也可以对各值进行二值化而进行算术编码。

另外,本实施方式以八叉树结构为例进行了表示,但不限于此,也可以对四叉树以及16叉树等n叉树(n为2以上的整数)、或者其他的树结构应用上述手法。

在设为重复点合并标志=1进行了编码的情况下,在原来的输入三维点群或量化后的三维点群中包含重复点的情况下,成为不可逆编码(lossycoding,有损编码),能够削减代码量。另外,三维数据编码装置也可以在原来的输入三维点群中不包含重复点,且以可逆编码(losslesscoding,无损编码)进行编码(跳过量化而进行编码)的情况下,设为重复点合并标志=1进行编码。由此,能够在维持可逆编码的同时削减不对num_point_per_leaf进行编码的量的编码量。

另外,在将同一叶节点内的2个以上的重复点作为叶节点信息分别编码的情况下,三维数据编码装置也可以对各点具有的属性信息(颜色或反射率等)也分别进行编码。在该情况下,也可以按照各点的编码顺序将各点的属性信息关联起来。例如,在将同一叶节点内的2点a、b作为叶节点信息分别编码的情况下,三维数据编码装置也可以对2点a、b双方的属性信息进行编码,并附加到比特流。另外,也可以按照2点a、b的编码顺序将各属性信息关联起来。例如,在按照点a、点b的顺序对各三维位置进行了编码的情况下,考虑按照点a、点b的顺序对各自的属性信息进行编码、关联。

另外,三维数据编码装置在合并同一叶节点内的m个以上的点群而作为n点(m>n)进行编码的情况下,例如也可以通过平均化等对m个以上的点群的m个以上的属性信息进行平滑化来生成n点的属性信息,并对它们进行编码。例如,在将同一叶节点内的2点a、b合并而作为1点进行编码的情况下,三维数据编码装置例如也可以通过平均化等对2点a、b的属性信息进行平滑化来计算1点的属性信息,对计算出的属性信息进行编码。

另外,三维数据编码装置也可以根据点的重要度或特征量来切换属性信息的计算方法。例如,三维数据编码装置可以对重要度高的点、或者特征量大的点的属性信息赋予高的权重来计算加权平均值,并将计算出的值用作合并后的属性信息。另外,三维数据编码装置也可以根据量化前后的三维位置的变化量来改变权重。例如,也可以使变化量越小则赋予越高的权重来计算加权平均值,并将计算出的值用作合并后的属性信息。

接着,对由三维数据编码装置进行的三维数据编码处理的流程进行说明。图80和图81是由三维数据编码装置进行的三维数据编码处理的流程图。

首先,三维数据编码装置决定是否对重复点进行合并来进行编码(s2401)。例如,在编码效率优先的情况下,三维数据编码装置也可以判断为合并重复点。另外,如果在三维数据解码装置中需要重复点,则三维数据编码装置也可以判断为不合并。另外,三维数据编码装置也可以在输入三维点群中没有重复点,且无损编码(可逆编码)、即不应用量化的情况下,将重复点合并标志设定为1。由此,不对作为叶节点信息的叶节点内的点的数量进行编码,因此能够削减编码量。

在合并重复点并进行编码的情况下(在s2401中“是”),三维数据编码装置将重复点合并标志设定为1,将该重复点合并标志附加到头部中(s2402)。

在不合并重复点并进行编码的情况下(在s2401中“否”),三维数据编码装置将重复点合并标志设定为0,将该重复点合并标志附加到头部中(s2403)。

接着,三维数据编码装置对输入三维点群的三维位置进行量化(s2404)。作为三维位置的量化,三维数据编码装置通过将例如三维位置(x,y,z)除以量化参数(qx,qy,qz)来计算量化位置(x/qx,y/qy,z/qz)。另外,也可以是,三维数据编码装置将量化参数附加在头部中,三维数据解码装置使用该量化参数进行逆量化。另外,三维数据编码装置也可以在无损编码时跳过量化处理。

接着,三维数据编码装置判定重复点合并标志是否为1(s2405)。在重复点合并标志为1的情况下(在s2405中“是”),三维数据编码装置合并量化后的三维点群中的重复点(s2406)。此外,在无损编码且输入三维点群不包含重复点的情况下,三维数据编码装置也可以跳过本处理。

另外,在重复点合并标志为0的情况下(在s2405中“否”),三维数据编码装置不对重复点进行合并处理。

接着,三维数据编码装置将节点分割为八叉树(s2411)。例如,三维数据编码装置可以在从包含量化后的三维点群的大空间(根节点)起进行八叉树分割的同时,依次计算八叉树的各节点的占用率代码,并对计算出的占用率代码进行编码。另外,三维数据编码装置也可以反复应用八叉树分割,在不能应用八叉树分割的时间点对叶节点信息进行编码。此外,三维数据编码装置也可以事先计算所有节点的占用率代码以及叶节点信息,然后对这些信息进行编码。

接着,三维数据编码装置判定下一个节点(对象节点)是否是叶节点(s2412)。例如,三维数据编码装置也可以判定是否将八叉树分割成不能再分割的大小,如果是真,则判定为节点是叶节点。

在对象节点是叶节点的情况下(在s2412中“是”),三维数据编码装置判定重复点合并标志是否为0(s2413)。在重复点合并标志为0的情况下(在s2413中“是”),三维数据编码装置对叶节点所包含的三维点的数量(num_point_per_leaf)进行编码(s2414)。在重复点合并标志为1的情况下(在s2413中“否”),三维数据编码装置不对叶节点所包含的三维点的数量(num_point_per_leaf)进行编码。

另外,在对象节点不是叶节点的情况下(在s2412中“否”),三维数据编码装置对对象节点的占用率代码进行编码(s2415)。

接着,三维数据编码装置判定所有节点的处理是否完成(s2416)。在所有节点的处理未完成的情况下(在s2416中“否”),三维数据编码装置对下一个节点进行步骤s2412以后的处理。

在所有节点的处理完成的情况下(在s2416中“是”),三维数据编码装置对与编码后的三维点相关的属性信息进行编码(s2417)。

此外,三维数据编码装置也可以将大空间(根节点)的x轴、y轴或者z轴的大小调整为2的取幂的大小,使得能够对各轴始终均等地进行2分割。另外,三维数据编码装置也可以调整大空间的大小,使得分割后的节点始终为立方体。例如,在三维点群的三维位置在x轴为0~256、y轴为0~120、z轴为0~62的值的范围的情况下,首先,三维数据编码装置对各轴的最小值和最大值进行比较,计算所有点群的坐标的最小值和最大值。在该情况下,最小值为0,最大值为256。接着,对包括计算出的最小值和最大值且大空间的大小为2的取幂的值进行计算。在该情况下,大小为512,空间内的坐标的最小值为0,最大值为511。由此,能够包括0~256的范围的点群。另外,在该情况下,三维数据编码装置从512×512×512的大小的大空间开始八叉树的分割。

接着,说明三维数据解码装置的三维数据解码处理的流程。图82是由三维数据解码装置进行的三维数据解码处理的流程图。首先,三维数据解码装置对比特流的头部内的重复点合并标志进行解码(s2421)。

接着,三维数据解码装置将节点分割为八叉树(s2422)。例如,三维数据解码装置使用比特流的头部信息等,生成某个空间(节点)的八叉树。例如,三维数据解码装置使用附加在头部信息中的某个空间的x轴、y轴、z轴方向的大小来生成大空间(根节点),将该空间分别在x轴、y轴、z轴方向上进行2分割,由此生成8个小空间a(节点a0~a7)而生成八叉树。另外,三维数据解码装置同样地将节点a0~a7分别进一步分割为8个小空间。这样,三维数据解码装置通过本流程的处理,依次进行各节点的占用率代码的解码和叶节点信息的解码。

接着,三维数据解码装置判定下一个节点(对象节点)是否是叶节点(s2423)。在对象节点是叶节点的情况下(在s2423中“是”),三维数据解码装置判定重复点合并标志是否为0(s2424)。在重复点合并标志为0的情况下(在s2424中“是”),三维数据解码装置从比特流中对叶节点所包含的三维点的数量(num_point_per_leaf)进行解码(s2425)。另一方面,在重复点合并标志为1的情况下(在s2424中“否”),三维数据解码装置不从比特流中对叶节点所包含的三维点的数量(num_point_per_leaf)进行解码。

另外,在下一个节点不是叶节点的情况下(在s2423中“否”),三维数据解码装置从比特流中对对象节点的占用率代码进行解码(s2426)。

接着,三维数据解码装置使用解码出的占用率代码以及八叉树的分割数等信息来计算叶节点的三维位置(s2427)。例如在大空间的大小为8×8×8的情况下,当应用3次八叉树分割时,节点的大小为1×1×1。该大小(1×1×1)是能够分割的最小单位(叶节点)。此外,三维数据解码装置根据叶节点的父节点的解码后的占用率代码,判定在各叶节点中是否包含点。由此,三维数据解码装置能够计算各叶节点的三维位置。

接着,三维数据解码装置对计算出的三维位置进行逆量化(s2428)。具体而言,三维数据解码装置通过使用从头部解码的量化参数进行逆量化,计算点群的三维位置。例如,作为三维位置的逆量化,三维数据解码装置通过对例如逆量化前的三维位置(x,y,z)乘以量化参数(qx,qy,qz)来计算逆量化位置(x×qx,y×qy,z×qz)。此外,三维数据解码装置也可以在无损编码时跳过逆量化处理。另外,三维数据解码装置即使在非无损编码(不可逆编码)时,在不需要使比例尺返回原来的比例尺的情况下,也可以跳过逆量化处理。例如,在三维数据解码装置不需要三维点的绝对位置关系而是需要相对的位置关系的情况下,也可以跳过逆量化处理。

接着,三维数据解码装置判定所有节点的处理是否完成(s2429)。在所有节点的处理未完成的情况下(在s2429中“否”),三维数据解码装置对下一个节点进行步骤s2423以后的处理。

在所有节点的处理完成的情况下(在s2429中“是”),三维数据解码装置从比特流中解码与解码后的三维点相关的属性信息(s2430)。另外,在重复点合并标志为1的情况下,对解码后的具有不同的三维位置的各点在解码后与1个属性信息关联起来。另外,在重复点合并标志为0的情况下,对解码后的具有相同的三维位置的多个点,对多个不同的属性信息进行解码并关联起来。

接着,说明三维数据编码装置的结构例。图83是本实施方式的三维数据编码装置2400的框图。三维数据编码装置2400包括量化部2401、八叉树生成部2402、合并决定部2403和熵编码部2404。

量化部2401对输入的三维点(点云)进行量化。此外,在可逆编码的情况下,可以省略量化处理。

八叉树生成部2402根据所输入的三维点(点云),生成例如八叉树,生成八叉树的各节点的占用率代码以及叶节点信息。

合并决定部2403判定是否合并重复点并进行编码,并基于判定结果来设定重复点合并标志的值。例如,合并决定部2403使用量化后的三维点群的信息,决定重复点合并标志的值。例如,合并决定部2403基于量化后的三维点群中是否包含重复点,决定重复点合并标志的值。

熵编码部2404通过根据重复点合并标志进行叶节点信息的编码来生成比特流。熵编码部2404可以将重复点合并标志附加到比特流。此外,熵编码部2404可以对占用率代码进行编码。另外,熵编码部2404也可以对与编码后的三维点相关的属性信息进行编码。

接着,说明三维数据解码装置的结构例。图84是本实施方式的三维数据解码装置2410的框图。三维数据解码装置2410具备八叉树生成部2411、合并信息解码部2412、熵解码部2413和逆量化部2414。

八叉树生成部2411使用比特流的头部信息等,生成某个空间(节点)的八叉树。例如,八叉树生成部2411使用附加在头部信息中的某个空间的x轴、y轴、z轴方向的大小生成大空间(根节点),将该空间在x轴、y轴、z轴方向上分别进行2分割,由此生成8个小空间a(节点a0~a7)而生成八叉树。另外,八叉树生成部2411同样地将节点a0~a7分别进一步分割为8个小空间。这样,八叉树生成部2411重复八叉树的生成。

合并信息解码部2412根据比特流的头部信息解码重复点合并标志。此外,合并信息解码部2412也可以包含在熵解码部2413中。

熵解码部2413根据解码后的重复点合并标志的信息对叶节点信息进行解码,生成三维点群(三维位置)。此外,熵解码部2413也可以对与解码后的三维点相关的属性信息进行解码。

逆量化部2414对解码后的点群的三维位置应用逆量化,生成输出三维点群。此外,在可逆编码的情况下,可以省略逆量化处理。另外,三维数据解码装置即使在不可逆编码的情况下,在不需要使比例尺返回原来的比例尺的情况下,也可以省略逆量化处理。例如,在不需要三维点的绝对位置关系而需要相对的位置关系的情况下,也可以省略逆量化处理。

接着,说明三维数据编码装置的三维数据编码处理的变形例。图85是三维数据编码处理的变形例的流程图。

首先,三维数据编码装置对输入的三维点群的三维位置进行量化(s2441)。例如,作为三维位置的量化,例如,三维数据编码装置通过将三维位置(x,y,z)除以量化参数(qx,qy,qz)来计算量化位置(x/qx,y/qy,z/qz)。此外,也可以是,三维数据编码装置将量化参数附加到头部,并且三维数据解码装置使用该量化参数进行逆量化。另外,三维数据编码装置也可以在无损编码时跳过量化处理。

接着,三维数据编码装置判定量化后的三维点群中是否包含重复点(s2442)。例如,三维数据编码装置对所有的三维点群的三维位置信息进行比较,根据是否存在相同的值进行判定。或者,也可以是,三维数据编码装置计算全部的三维位置信息的差分,在该差分的绝对值比预先规定的阈值大的情况下,判定为不包含重复点。

在三维点群中包含重复点的情况下(在s2442中“是”),三维数据编码装置判定是否合并重复点并进行编码(s2443)。例如,在编码效率优先的情况下,三维数据编码装置也可以判断为合并重复点。另外,如果在三维数据解码装置中需要重复点,则三维数据编码装置也可以判断为不合并。

在三维点群中不包含重复点的情况下(在s2442中“否”),或者合并重复点的情况下(在s2443中“是”),三维数据编码装置将重复点合并标志设定为1,将该重复点合并标志附加到头部(s2444)。另一方面,在不合并重复点的情况下(在s2443中“否”),三维数据编码装置将重复点合并标志设定为0,将该重复点合并标志附加到头部(s2445)。

接着,三维数据编码装置判定重复点合并标志是否为1(s2446)。在重复点合并标志为1的情况下(在s2446中“是”),三维数据编码装置合并量化后的三维点群中包含的重复点(s2447)。另外,三维数据编码装置在无损编码且在输入三维点群中不包含重复点的情况下,也可以跳过本处理。另外,在重复点合并标志为0的情况下(在s2446中“否”),三维数据编码装置不合并量化后的三维点群中包含的重复点。之后的处理与图81所示的处理相同。

(实施方式9)

对本实施方式的三维数据编码装置以及三维数据解码装置的结构进行说明。图86是表示本实施方式的三维数据编码装置6200以及三维数据解码装置6210的构成的框图。另外,在该图中,提取并记载了三维数据编码装置6200以及三维数据解码装置6210所包含的处理部中的、位置信息的编码的处理部。

在此,在将点群数据数据分割为瓦片或切片等的情况下,考虑用分割数据单位(瓦片或切片)进行量化。

如图86所示,三维数据编码装置6200具备分割部6201、多个量化部6202、多个编码部6203、以及复用部6204。

分割部6201将点群数据分割为瓦片或切片等1个以上的数据单位,由此生成多个分割数据。多个量化部6202通过对多个分割数据中的每一个进行量化来生成多个量化数据。

多个编码部6203通过对多个量化数据的每一个进行编码来生成多个编码数据。复用部6204通过对多个编码数据进行复用来生成比特流。

三维数据解码装置6210具备逆复用部6211、多个解码部6212、以及重构部6213。逆复用部6211通过对比特流进行逆复用来生成多个编码数据。

多个解码部6212通过对多个编码数据中的每一个进行解码来生成多个解码数据。重构部6213通过重构多个解码数据而重构点群数据。

接下来,对量化部6202的详细情况进行说明。图87是表示量化部6202的构成的框图。量化部6202包括最小位置移位部6221、位置信息量化部6222和重复点合并部6223。

最小位置移位部6221对点群的整体进行移位,使得在点群中坐标的值最小的最小点移位到原点。图88是表示量化处理的例子的图。在该图中,黑圆表示该移位后的点。

位置信息量化部6222对位置信息进行量化。由此,如图88所示,黑圆的点被移位为白圆的点。通过该量化,有时多个点重复。在该情况下,重复点合并部6223合并重复点。具体而言,将属于相同位置信息的多个点作为1点,合并(merge)与该点对应的属性信息。例如,重复点合并部6223将多个属性信息中的某一个决定为合并后的属性信息。或者,重复点合并部6223通过对多个属性信息进行规定的运算(例如平均值的运算)来计算合并后的属性信息。

此时,通过量化而重复的点和原本存在于点群数据内的重复点被同时合并。这样,在点群数据的量化中,失去了准确的位置信息和点的数量。进而,属性信息(颜色信息等)也被合并。

另一方面,在不进行量化的情况下,不进行量化和重复点的合并。因此,虽然没有因量化而产生的重复点,但存在于原来的点群数据内的重复点也未被合并而残留。

编码部6203例如将点群的信息变换为占用率编码。在有重复点的情况下,在叶节点中存在重复点。编码部6203通过对重复点的数量以及每个点的属性信息进行算术编码来生成编码数据。

以下,对针对每个瓦片进行量化的处理进行说明。图89是示意性地表示每个瓦片的量化处理的图。

三维数据编码装置将点群数据分割为瓦片等能够独立地进行编码及解码的多个数据单位,对通过分割得到的每个分割数据进行量化。

通过使用以下的方法,在瓦片分割时进行量化及重复点的合并,由此能够提高量化数据的编码效率。

三维数据编码装置在对每个分割数据进行量化的情况下,针对每个瓦片对属于瓦片内的点的位置信息进行量化,将重复点合并为1个点。之后,三维数据编码装置针对每个瓦片将点群数据的位置信息变换为占用率编码,对占用率编码进行算术编码。

例如,三维数据编码装置可以将点a和点b合并到具有相同的三维位置信息的点c。此外,三维数据编码装置也可以将点a和点b的颜色或反射率等属性信息的平均值分配给点c。另外,三维数据编码装置可以将点b合并到点a,也可以将点a合并到点b。

在进行合并的情况下,三维数据编码装置将mergeduplicatedpointflag设定为1。通过该mergeduplicatedpointflag表示瓦片内的重复点被合并,在瓦片内没有重复点。三维数据编码装置将mergeduplicatedpointflag作为元数据(附加信息)保存在参数集中。

在mergeduplicatedpointflag为1的情况下,在每个瓦片的占用率编码中,各叶节点包含1个点。因此,三维数据编码装置也可以不对表示叶节点所包含的点的数量的信息进行编码来作为叶节点的信息。另外,三维数据编码装置也可以对1个点的三维位置信息和颜色以及反射率等属性信息进行编码。

在mergeduplicatedpointflag为1的情况下,三维数据编码装置也可以将m个重复点合并为n(m>n)个点。此时,三维数据编码装置也可以将表示值n的信息附加于头部等。或者,值n也可以由标准等规定。由此,三维数据编码装置不需要对每个叶节点附加表示值n的信息,能够抑制产生编码量。

在不对分割为瓦片的点群数据进行量化的情况下,三维数据编码装置将mergeduplicatedpointflag设置(set)为0。并且,在mergeduplicatedpointflag为0的情况下,三维数据编码装置将与瓦片内的叶节点所包含的重复点有关的信息作为叶节点的信息进行编码。例如,各叶节点可能包含1个以上的重复点。因此,三维数据编码装置也可以对表示叶节点包含几个点的信息进行编码。另外,三维数据编码装置也可以对重复点的各属性信息分别进行编码。

如上所述,三维数据编码装置可以基于mergeduplicatedpointflag改变编码数据结构。

三维数据编码装置可以在作为每个帧的参数集的gps中记载mergeduplicatedpointflag。在该情况下,例如,使用表示在除了空瓦片(nulltile)之外的全部瓦片中的至少一个瓦片中是否包含重复点的标志。该标志可以针对每个帧附加,也可以对全部或多个帧应用相同的标志。在对全部或多个帧应用相同的标志的情况下,三维数据编码装置也可以将该标志记载于sps,而不记载于gps。由此,能够削减传输数据量。在此,sps是序列(多帧)单位的参数集。

另外,三维数据编码装置既可以对每个瓦片改变量化参数,也可以根据瓦片来改变是否进行量化。

另外,三维数据编码装置在决定是否对每个瓦片进行量化或合并的情况下,在gps中保存每个瓦片的标志(例如,mergeduplicatedpointflag)。或者,三维数据编码装置将mergeduplicatedpointflag保存在每个瓦片的数据的头部,并且将mergeduplicatedpointflag用作表示在该瓦片内是否存在重复点的标志。在该情况下,三维数据编码装置在gps中记载表示在数据的头部中保存有该标志的标志。此外,三维数据编码装置也可以在瓦片为空瓦片的情况下不保存标志。

接着,对数据结构进行说明。图90是表示作为帧单位的位置信息的参数集的gps的句法例的图。gps例如包含表示帧编号的gps_idx以及表示序列编号的sps_idx中的至少一方。

此外,gps包含重复点合并标志(mergeduplicatedpointflag)和瓦片信息(tile_information)。

在不分割瓦片的情况下,mergeduplicatedpointflag=1表示点群数据内的重复点被合并,没有重复点。在分割瓦片的情况下,mergeduplicatedpointflag=1表示构成点群数据的除了空瓦片之外的全部瓦片中,瓦片内的重复点被合并,没有重复点。

在不进行瓦片分割的情况下,mergeduplicatedpointflag=0表示点群数据内的重复点未被合并,有可能有重复点。在进行瓦片分割的情况下,mergeduplicatedpointflag=0表示在构成点群数据的除了空瓦片以外的全部瓦片中,瓦片内的重复点未被合并,在某一个瓦片中有可能在瓦片内有重复点。

瓦片信息(tile_information)表示与瓦片分割有关的信息。具体而言,瓦片信息表示瓦片分割的类型、分割数、各瓦片的坐标(位置)及各瓦片的大小等。另外,瓦片信息也可以表示量化参数、或空瓦片的信息等。另外,在三维数据解码装置中,在各瓦片的坐标或大小已知的情况下,或者在能够导出的情况下,也可以省略表示各瓦片的坐标或大小的信息。由此,能够削减编码量。

图91是表示瓦片信息(tile_information)的句法例的图。瓦片信息包括量化独立标志(independent_quantization_flag)。量化独立标志(independent_quantization_flag)是表示将量化参数统一为多个瓦片整体还是针对每个瓦片单独进行设定的标志。

例如,independent_quantization_flag=1表示在多个瓦片整体中统一量化参数。在此情况下,在gps中示出了mergeduplicatedpointflag和qp_value,且使用这些信息。在此,qp_value是用于多个瓦片的量化参数。

例如,independent_quantization_flag=2表示对每个瓦片设定量化参数。在该情况下,在瓦片不是空瓦片的情况下,在每个瓦片的循环处理内,示出了tilemergeduplicatedpointflag以及qp_value。或者,在位置信息的头部内示出了tilemergeduplicatedpointflag以及qp_value。在此,tilemergeduplicatedpointflag是表示在处理对象的瓦片即对象瓦片中是否合并重复点的标志。qp_value是用于对象瓦片的量化参数。

此外,也可以单独地设置表示将mergeduplicatedpointflag在多个瓦片整体中统一还是针对每个瓦片单独进行设定的标志、以及表示将qp(量化参数)的值在多个瓦片整体中统一还是针对每个瓦片单独进行设定的标志。或者,也可以设置表示是将mergeduplicatedpointflag或qp的值表示在gps还是表示在位置信息的头部内的标志。如上所述,能够针对每个瓦片独立地设定量化参数。

图92是表示位置信息的数据所包含的节点信息(node(depth、index))的句法例的图。在mergeduplicatedpointflag=0的情况下,节点信息包含表示叶节点的重复点的数量的信息(num_point_per_leaf)。另外,对应的数量的属性信息被表示在属性信息的数据中包含的叶节点信息中。

以下,对本实施方式的三维数据编码处理进行说明。图93是本实施方式的三维数据编码处理的流程图。

首先,三维数据编码装置决定是否分割瓦片、以及是否合并重复点(s6201、s6202、s6214)。例如,三维数据编码装置基于来自外部的指示,决定是否分割瓦片、以及是否合并重复点。

在不进行瓦片分割、且合并重复点的情况下(在s6201中“否”,且在s6202中“是”),三维数据编码装置设定表示所输出的点群不包含重复点的mergeduplicatedpointflag=1,且将mergeduplicatedpointflag保存于元数据(附加信息)(s6203)。

接着,三维数据编码装置对点群的位置信息进行量化(s6204),基于量化后的位置信息,合并重复点(s6205)。接着,三维数据编码装置对占用率编码进行编码(s6206)。接着,三维数据编码装置对针对不具有重复点的点的属性信息进行编码(s6208)。

另一方面,在不进行瓦片分割、不合并重复点的情况下(在s6201中“否”,且在s6202中“否”),三维数据编码装置设定表示输出的点群可能包含重复点mergeduplicatedpointflag=0,且将mergeduplicatedpointflag保存于元数据(附加信息)(s6209)。

接着,三维数据编码装置对点群的位置信息进行量化(s6210),对占用率编码进行编码(s6211)。此外,三维数据编码装置针对所有叶节点,对表示各叶节点所包含的三维点的数量的信息进行编码(s6212)。接着,三维数据编码装置对针对具有重复点的点的属性信息进行编码(s6213)。

另一方面,在进行瓦片分割、合并重复点的情况下(在s6201中“是”,且在s6214中“是”),三维数据编码装置设定表示所输出的全部瓦片中在瓦片内没有重复点的mergeduplicatedpointflag=1,且将mergeduplicatedpointflag保存于元数据(附加信息)(s6215)。接着,三维数据编码装置将点群分割为瓦片(s6216)。

接着,三维数据编码装置对处理对象的对象瓦片内的点群的位置信息进行量化(s6217),基于量化后的位置信息,合并对象瓦片内的重复点(s6218)。接着,三维数据编码装置对占用率编码进行编码(s6219),对针对不具有重复点的点的属性信息进行编码(s6220)。

在全部瓦片的处理未完成的情况下(在s6221中“否”),对下一个瓦片进行步骤s6217以后的处理。在全部瓦片的处理完成了的情况下(在s6221中“是”),三维数据编码装置结束处理。

另一方面,在进行瓦片分割、不合并重复点的情况下(在s6201中“是”,且在s6214中“否”),三维数据编码装置设定表示所输出的瓦片可能包含重复点的mergeduplicatedpointflag=0,且将mergeduplicatedpointflag保存于元数据(附加信息)(s6222)。接着,三维数据编码装置将点群分割为瓦片(s6223)。

接着,三维数据编码装置对对象瓦片内的点群的位置信息进行量化(s6224),对占用率编码进行编码(s6225)。接着,三维数据编码装置针对所有叶节点,对表示各叶节点所包含的三维点的数量的信息进行编码(s6226)。接着,三维数据编码装置对针对具有重复点的点的属性信息进行编码(s6227)。

在全部瓦片的处理未完成的情况下(在s6228中“否”),对下一个瓦片进行步骤s6224以后的处理。在全部瓦片的处理完成了的情况下(在s6228中“是”),三维数据编码装置结束处理。

此外,在编码部的结构中,也可以在瓦片分割部之前配置量化部。即,可以在对所有点群数据进行量化之后进行瓦片分割。点群数据通过量化而被位置移位,之后,重复点被合并。也存在重复点不被合并的情况。

在该结构的情况下,表示是将量化参数在瓦片整体中统一还是单独设定的标志(independent_quantization_flag)被指定为值1(在整体中统一)。

图94是该情况下的三维数据编码处理的流程图。另外,图94所示的处理相对于图93所示的处理,进行瓦片分割的情况(在s6201中“是”)下的瓦片分割处理和量化处理的顺序不同。以下,主要说明不同点。

在进行瓦片分割、合并重复点的情况下(在s6201中“是”,且在s6214中“是”),三维数据编码装置设定mergeduplicatedpointflag=1(s6215),对点群的位置信息进行量化(s6217a)。接着,三维数据编码装置基于量化后的位置信息合并重复点(s6218a)。接着,三维数据编码装置将合并后的点群分割为瓦片(s6216a)。

另一方面,在进行瓦片分割、不合并重复点的情况下(在s6201中“是”,且在s6214中“否”),三维数据编码装置设定mergeduplicatedpointflag=0(s6222),对点群的位置信息进行量化(s6224a)。接着,三维数据编码装置将量化后的点群分割为瓦片(s6223a)。

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

首先,三维数据解码装置根据比特流中包含的元数据,对mergeduplicatedpointflag进行解码(s6231)。接着,三维数据解码装置判定是否进行了瓦片分割(s6232)。例如,三维数据解码装置基于比特流中包含的信息来判定是否进行了瓦片分割。

在未进行瓦片分割的情况下(在s6232中“否”),三维数据解码装置从比特流中解码占用率编码(s6233)。具体而言,三维数据解码装置使用比特流中包含的头部信息等,生成某个空间(节点)的八叉树。例如,三维数据解码装置使用附加在头部信息中的某个空间的x轴、y轴、z轴方向的大小来生成大空间(根节点),将该空间分别在x轴、y轴、z轴方向上进行2分割,由此生成8个小空间a(节点a0~a7)来生成八叉树。同样地,三维数据解码装置将节点a0~a7分别进一步分割为8个小空间,通过本流程的处理,依次进行各节点的占用率编码的解码和叶信息的解码。

在mergeduplicatedpointflag为0的情况下(在s6234中“是”),三维数据解码装置针对所有叶节点,对表示各叶节点所包含的三维点的数量的信息进行解码(s6235)。例如,在大空间为8×8×8的情况下,当应用3次八叉树分割时,节点成为1×1×1。在该尺寸是能够分割的最小单位(叶)的情况下,三维数据解码装置根据叶节点的父节点的解码后的占用率编码判定各叶节点是否包含点,计算各叶节点的三维位置。

在步骤s6235之后,或者mergeduplicatedpointflag为1的情况下(在s6234中“否”),三维数据解码装置使用解码后的占用率编码、八叉树的分割数等信息来计算叶节点的位置信息(三维位置)(s6236)。接着,三维数据解码装置对位置信息进行逆量化(s6237)。

具体而言,三维数据解码装置通过使用从头部解码的量化参数进行逆量化,计算点群的位置信息(三维位置)。例如,三维数据解码装置通过对逆量化前的三维位置(x,y,z)乘以量化参数(qx,qy,qz)来计算逆量化位置(x×qx,y×qy,z×qz)。另外,也可以在无损耗(lossless)编码时跳过逆量化处理。

接着,三维数据解码装置对与位置信息被解码的三维点有关的属性信息进行解码(s6238)。在mergeduplicatedpointflag=1的情况下,1个属性信息在解码后被关联于被解码的具有不同的三维位置的各点。此外,在mergeduplicatedpointflag=0的情况下,多个不同的属性信息被解码并被关联于被解码的具有相同的三维位置的多个点。

另一方面,在进行了瓦片分割的情况下(在s6232中“是”),三维数据解码装置按每个瓦片对占用率编码进行解码(s6239)。在mergeduplicatedpointflag为0的情况下(在s6240中“是”),三维数据解码装置针对瓦片内的所有叶节点,对表示各叶节点所包含的三维点的数量的信息进行解码(s6241)。

在步骤s6241之后,或者mergeduplicatedpointflag为1的情况下(在s6240中“否”),三维数据解码装置使用解码后的占用率编码、八叉树的分割数等信息来计算叶节点的位置信息(三维位置)(s6242)。

接着,三维数据解码装置对瓦片内的点群的位置信息(三维位置)进行逆量化(s6243),对与位置信息被解码的三维点有关的属性信息进行解码(s6244)。

在全部瓦片的处理未完成的情况下(在s6245中“否”),对下一个瓦片进行步骤s6239以后的处理。在全部瓦片的处理完成了的情况下(在s6245中“是”),三维数据编码装置结束处理。

以下,对在瓦片间三维点重复的例子和其编码方法进行说明。作为在瓦片间产生重复点的情况,存在以下的情况。图96以及图97是表示瓦片分割的例子的图。

如图96所示,在分割部中对点群进行瓦片分割的情况下,在以由实线表示的瓦片区域重叠的方式进行分割的情况下,分割后在由虚线表示的区域内存在在瓦片间重复的点。另外,如图97所示,在以瓦片区域不重叠的方式进行分割的情况下,在分割后的瓦片间不存在重复的点。

另外,在每个瓦片的位置信息的量化中,各个点的位置被移位。由此,有可能在瓦片内以及瓦片间产生重复点。通过之后的每个瓦片的瓦片内的合并处理,将各个瓦片内的重复点合并为1个点。另一方面,瓦片间的重复点残存。

在图96的例子中,除了瓦片区域重叠的区(area)之外,有可能在瓦片边界附近新产生重复点。在图97的例子中,有可能在瓦片边界附近产生重复点。

在瓦片间有重复点的情况下,在三维数据解码装置中重构瓦片时,在点群数据中产生重复点。由此,在不需要重复点的情况下,三维数据解码装置需要多余的处理。

因此,三维数据编码装置将表示在瓦片内是否有重复点的mergeduplicatedpointflag、或者tilemergeduplicatedpointflag保存在比特流中,并且将作为表示在瓦片间是否有重复点的标志的uniquebetweentilesflag保存在比特流中。由此,三维数据解码装置在uniquebetweentilesflag=0的情况下,通过进行重复点的删除或合并,能够削减处理的点数,减轻处理负荷。

另外,也可以是,三维数据编码装置在瓦片分割或量化中,在产生了瓦片间的重复点的情况下,之后删除或合并瓦片间的重复点。在该情况下,三维数据编码装置将表示在瓦片间不产生重复点的uniquebetweentilesflag=1保存在比特流中。三维数据解码装置能够基于uniquebetweentilesflag,判断为不需要重复点的合并。

三维数据编码装置在以瓦片区域重复的方式进行瓦片分割的情况、或者在对瓦片分别进行量化的情况等有可能在瓦片间产生重复点的情况下,将uniquebetweentilesflag设定为0。另外,在虽然是瓦片区域重复的情况下,但在重复区域内原本没有点的情况时,也不产生重复点。在该情况下,三维数据编码装置也可以将uniquebetweentilesflag设定为0。另外,三维数据编码装置在进行量化的情况下,在虽然是一定不产生重复点的状况下,当有可能产生重复点的情况时,也可以将uniquebetweentilesflag设定为0。

图98是三维数据编码处理的流程图。首先,三维数据编码装置判定瓦片区域是否重复(s6251)。在瓦片区域不重复的情况下(在s6252中“否”),三维数据编码装置判定是否将瓦片单独地量化且进行合并(s6252)。在瓦片区域重复的情况下(在s6251中“是”),或者,在单独地量化瓦片且进行合并的情况下(在s6252中“是”),三维数据编码装置判定是否合并分割数据间的重复点(s6253)。

在将瓦片单独地量化且不进行合并的情况下(在s6252中“否”),或者合并分割数据间的重复点的情况下(在s6253中“是”),三维数据编码装置设定表示在瓦片间没有重复点的uniquebetweentilesflag=1(s6254)。

在不合并分割数据间的重复点的情况下(在s6253中“否”),三维数据编码装置设定表示在瓦片间有重复点的uniquebetweentilesflag=0(s6255)。

另外,也可以使用图98所示的处理以外的处理。例如,三维数据编码装置也可以在实际量化后重构瓦片,通过搜索瓦片间的重复点来判定是否有重复点,并根据判定结果来设定uniquebetweentilesflag。

此外,三维数据编码装置可以将与重复的区域或范围有关的元数据保存在比特流中。例如,该元数据也可以表示在瓦片间有可能在瓦片边界存在重复点。由此,三维数据解码装置能够搜索瓦片边界而删除重复点,因此能够减轻处理负荷。

图99是表示三维数据编码装置的构成的框图。如图99所示,三维数据编码装置具备分割部6231、多个量化部6232a及6232b、分割数据间重复点合并部6233、以及多个编码部6234a及6234b。

分割部6231通过将点群数据分割为多个瓦片来生成多个分割数据。多个量化部6232a及6232b通过对多个分割数据进行量化来生成多个量化数据。

多个量化部6232a及6232b分别具备最小位置移位部6241、位置信息量化部6242以及分割数据内重复点合并部6243。

最小位置移位部6241以在点群中坐标的值最小的最小点移位到原点的方式移位点群。位置信息量化部6242对位置信息进行量化。分割数据内重复点合并部6243合并瓦片内的重复点。

分割数据间重复点合并部6233合并瓦片间的重复点。多个编码部6234a及6234b通过对合并了瓦片间的重复点之后的多个量化数据进行编码来生成多个编码数据。

另外,也可以使用在分割部之前配置量化部的结构。即,三维数据编码装置可以在对所有点群数据进行量化之后进行瓦片分割。在此情况下,在量化时不产生瓦片间的重复。

图100是表示gps的句法例的图。如图100所示,gps包含瓦片间重复点标记(uniquebetweentilesflag)。瓦片间重复点标记是表示在瓦片间是否有可能存在重复点的标志。

图101是三维数据解码处理的流程图。首先,三维数据解码装置从比特流所包含的元数据中解码uniquebetweentilesflag以及mergeduplicatedpointflag(s6261)。接着,三维数据解码装置按每个瓦片对位置信息以及属性信息进行解码,重构点群(s6262)。

接着,三维数据解码装置判定是否需要重复点的合并(s6263)。例如,三维数据解码装置根据应用是否能够与重复点对应、或者是否合并了重复点更好,来判定是否需要合并。或者,三维数据解码装置也可以对与重复点对应的多个属性信息进行平滑化或滤波处理,以提高噪声除去或推定精度为目的,判定为合并重复点。

在需要重复点的合并的情况下(在s6263中“是”),三维数据解码装置判定是否有瓦片间的重复(存在重复点)(s6264)。例如,三维数据解码装置可以基于uniquebetweentilesflag及mergeduplicatedpointflag的解码结果来判定瓦片间的重复的有无。由此,不需要三维数据解码装置中的重复点的搜索,能够减轻三维数据解码装置的处理负荷。此外,三维数据解码装置也可以通过在重构瓦片后搜索重复点,来判定是否存在重复点。

在有瓦片间的重复的情况下(在s6264中“是”),三维数据解码装置合并瓦片间的重复点(s6265)。接着,三维数据解码装置合并重复的多个属性信息(s6266)。

在步骤s6266之后,或者在没有瓦片间的重复的情况下(s6264中“否”),三维数据解码装置使用没有重复点的点群执行应用(s6267)。

另一方面,在不需要重复点的合并的情况下(在s6263中“否”),三维数据解码装置不进行重复点的合并,使用存在重复点的点群执行应用(s6268)。

以下,说明应用的例子。首先,说明使用没有重复点的点群的应用的例子。

图102是表示应用的例子的图。图102所示的例子表示从瓦片a的区域向瓦片b的区域行驶中的移动体从服务器实时地下载地图点群的使用例。服务器保存多个重复的区的地图点群的编码数据。移动体已取得瓦片a的地图信息,向服务器请求取得位于移动方向的瓦片b的地图信息。

此时,移动体判断为不需要瓦片a与瓦片b的重复部分的数据,将删除瓦片b所包含的瓦片b与瓦片a的重复部分的指示发送至服务器。服务器从瓦片b中删除上述重复部分,并将删除后的瓦片b分发给移动体。由此,能够实现传输数据量的削减以及解码处理的负荷的降低。

另外,移动体也可以基于标志来确认没有重复点。另外,移动体在不是已取得瓦片a的情况下,向服务器请求不删除重复部分的数据。另外,移动体也可以在服务器中没有重复点的删除功能的情况下,或者不知道是否有重复点的情况下,确认所分发的数据并判定是否有重复点,在有重复点的情况下进行合并。

接着,说明使用有重复点的点群的应用的例子。移动体实时地向服务器上传由lidar取得的地图点群数据。例如,移动体将按每个瓦片取得的数据上传到服务器。在该情况下,虽然存在瓦片a与瓦片b重复的区域,但编码侧的移动体不合并瓦片间的重复点,与表示有瓦片间的重复的标志一起将数据送出至服务器。服务器不合并接收到的数据中包含的重复数据,而是直接蓄积接收到的数据。

此外,在使用isobmff、mpeg-dash/mmt或mpeg-ts等系统传输或蓄积点群数据的情况下,装置也可以将表示gps所包含的瓦片内是否有重复点、或者瓦片间是否有重复点的标志置换为系统层中的记述符或元数据,并保存于si、mpd、moov或者moof框(moovbox)等。由此,应用能够活用系统的功能。

此外,如图103所示,三维数据编码装置例如可以基于与其他瓦片的重复区域,将瓦片b分割为多个切片。在图103所示的例子中,切片1是与哪个瓦片都不重复的区域,切片2是与瓦片a重复的区域,切片3是与瓦片c重复的区域。由此,从编码数据中分离期望数据变得容易。

另外,地图信息可以是点群数据,也可以是网格数据。点群数据也可以针对每个区域而被瓦片化,并保存于服务器。

图104是表示上述系统中的处理的流程的流程图。首先,终端(例如移动体)检测终端从区域a向区域b的移动(s6271)。接着,终端开始取得区域b的地图信息(s6272)。

在终端已下载了区域a的信息的情况下(在s6273中“是”),终端向服务器指示取得不包含与区域a的重复点的区域b的数据(s6274)。服务器从区域b删除区域a,向终端发送删除后的区域b的数据(s6275)。另外,服务器也可以根据来自终端的指示,以不产生重复点的方式实时地对区域b的数据进行编码并发送。

接着,终端在区域a的地图信息中合并(结合)区域b的地图信息,显示合并后的地图信息(s6276)。

另一方面,在终端没有已下载区域a的信息的情况下(在s6273中“否”),终端向服务器指示取得包含与区域a的重复点的区域b的数据(s6277)。服务器将区域b的数据发送至终端(s6278)。接着,终端显示包含与区域a的重复点的区域b的地图信息(s6279)。

图105是表示系统中的另一动作例的流程图。发送装置(三维数据编码装置)依次发送瓦片的数据(s6281)。另外,发送装置对发送对象的瓦片的数据附加表示发送对象的瓦片是否与前一个发送的数据的瓦片重复的标志,并送出该数据(s6282)。

接收装置(三维数据解码装置)基于附加于数据的标志,判定接收到的数据的瓦片是否与之前接收到的数据的瓦片重复(s6283)。在接收到的数据的瓦片与之前接收到的数据的瓦片重复的情况下(在s6283中“是”),接收装置删除或合并重复点(s6284)。另一方面,在接收到的数据的瓦片与之前接收到的数据的瓦片不重复的情况下(在s6283中“否”),接收装置不进行删除或合并重复点的处理,结束处理。由此,能够实现接收装置的处理负荷的减轻以及属性信息的推定精度提高。另外,接收装置在不需要重复点的合并的情况下,也可以不进行合并。

如上所述,本实施方式的三维数据编码装置进行图106所示的处理。三维数据编码装置将包含多个三维点的对象帧分割为多个处理单位(例如瓦片或切片)(s6291)。三维数据编码装置通过对多个处理单位进行编码来生成比特流(s6292)。比特流中包含的帧单位的控制信息(例如gps)包含第1信息(例如,mergeduplicatedpointflag),所述第1信息表示是(i)在对象帧所包含的多个处理单位中的某一个中存在位置信息相同的多个三维点即重复点,还是(ii)表示多个处理单位中的任一个都不存在重复点。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

例如,多个处理单位的编码包括量化处理。帧单位的控制信息(例如gps)还包含第2信息(例如independent_quantization_flag),所述第2信息表示对多个处理单位是使用相同的参数还是使用单独的参数作为量化处理中使用的量化参数。

由此,能够以帧单位通知是否设定量化参数,因此能够削减比特流的数据量。

例如,多个处理单位包含空间上重复的2个处理单位。比特流在2个处理单位重复的区域中包含第3信息(例如uniquebetweentilesflag),所述第3信息表示是否存在位置信息相同的多个三维点而属于不同的处理单位的多个三维点。

由此,三维数据解码装置能够使用第3信息,根据处理单位重复的区域中的重复点的有无来控制处理内容。因此,能够减少三维数据解码装置中的处理负荷。

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

另外,本实施方式的三维数据解码装置进行图107所示的处理。三维数据解码装置取得通过对分割包含多个三维点的对象帧所得的多个处理单位(例如瓦片或切片)进行编码来生成的比特流(s6296)。三维数据解码装置从比特流中解码多个处理单位(s6297)。比特流中包含的帧单位的控制信息(例如gps)包含第1信息(例如mergeduplicatedpointflag),所述第1信息表示是(i)在对象帧所包含的多个处理单位中的某一个中存在位置信息相同的多个三维点即重复点,还是(ii)在多个处理单位中的任一个中都不存在重复点。在多个处理单位的解码(s6297)中,三维数据解码装置使用第1信息对多个处理单位进行解码。例如,在由第1信息表示对象帧中包含的多个处理单位中的某一个包含重复点的情况下,三维数据解码装置进行删除或合并重复点的处理,在由第1信息表示对象帧中包含的多个处理单位中的任一个都不包含重复点的情况下,不进行删除或合并重复点的处理。

由此,能够以帧单位通知重复点的有无,因此能够削减比特流的数据量。

例如,多个处理单位的解码包括逆量化处理。帧单位的控制信息还包含第2信息(例如independent_quantization_flag),所述第2信息表示对多个处理单位是使用相同的参数还是使用单独的参数作为逆量化处理中使用的量化参数。

由此,能够以帧单位通知是否设定量化参数,因此能够削减比特流的数据量。

例如,多个处理单位包含空间上重复的2个处理单位。比特流包含第3信息(例如uniquebetweentilesflag),所述第3信息表示在2个处理单位重复的区域中,是否存在位置信息相同而属于不同的处理单位的多个三维点。

由此,三维数据解码装置能够使用第3信息,根据处理单位重复的区域中的重复点的有无来控制处理内容。因此,能够减少三维数据解码装置中的处理负荷。

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

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

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

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

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

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

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

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

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

产业上的可利用性

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

附图标记说明

2400三维数据编码装置

2401量化部

2402、2411八叉树生成部

2403合并决定部

2404熵编码部

2410三维数据解码装置

2412合并信息解码部

2413熵解码部

2414逆量化部

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属性信息生成部

4670编码部

4680解码部

4710第1复用部

4711文件变换部

4720第1逆复用部

4721文件逆变换部

4730第2复用部

4731文件变换部

4740第2逆复用部

4741文件逆变换部

4750第3复用部

4751文件变换部

4760第3逆复用部

4761文件逆变换部

4801编码部

4802复用部

5010第1编码部

5011分割部

5012位置信息编码部

5013属性信息编码部

5014附加信息编码部

5015复用部

5020第1解码部

5021逆复用部

5022位置信息解码部

5023属性信息解码部

5024附加信息解码部

5025结合部

5031瓦片分割部

5032位置信息切片分割部

5033属性信息切片分割部

5041位置信息切片结合部

5042属性信息切片结合部

5043瓦片结合部

5051瓦片分割部

5052编码部

5053解码部

5054瓦片结合部

5300第1编码部

5301分割部

5302位置信息编码部

5303属性信息编码部

5304附加信息编码部

5305复用部

5311瓦片分割部

5312切片分割部

5321、5331、5351、5361量化值计算部

5322、5332熵编码部

5323量化部

5333逆量化部

5340第1解码部

5341逆复用部

5342位置信息解码部

5343属性信息解码部

5344附加信息解码部

5345结合部

5352、5362熵解码部

6200三维数据编码装置

6201、6231分割部

6202、6232a、6232b量化部

6203、6234a、6234b编码部

6204复用部

6210三维数据解码装置

6211逆复用部

6212解码部

6213重构部

6221、6241最小位置移位部

6222、6242位置信息量化部

6223重复点合并部

6233分割数据间重复点合并部

6243分割数据内重复点合并部

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