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

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

文献发布时间:2023-06-19 09:47:53


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

技术领域

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

背景技术

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

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

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

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

现有技术文献

专利文献

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

发明内容

发明所要解决的课题

在三维数据的编码及解码中,有可能使用多个编码方式。

本公开的目的在于提供一种即使在使用多个编码方式的情况下,也能够生成能够正确地对三维数据进行解码的编码流的三维数据编码方法或者三维数据编码装置、或者能够正确地对三维数据进行解码的三维数据解码方法或者三维数据解码装置。

用于解决课题的手段

本公开的一形态的三维数据编码方法通过对三维数据进行编码来生成编码流,在所述编码流的控制信息中存放表示第1编码方式和第2编码方式中的、用于所述编码的编码方式的信息。

本公开的一形态的三维数据解码方法基于通过对三维数据进行编码而生成的编码流的控制信息中包含的、表示第1编码方式和第2编码方式中的、在所述三维数据的编码中使用的编码方式的信息,判定在编码流的编码中使用的编码方式,使用判定出的所述编码方式对所述编码流进行解码。

发明效果

本公开能够提供即使在使用多个编码方式的情况下,也能够生成能够正确地对三维数据进行解码的编码流的三维数据编码方法或者三维数据编码装置、或者能够正确地对三维数据进行解码的三维数据解码方法或者三维数据解码装置。

附图说明

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

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

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

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

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

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

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

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

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

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

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

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

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

图14是表示实施方式1的协议栈的图。

图15是表示实施方式1的NAL单元的句法例的图。

图16是表示实施方式1的NAL单元头部的句法例的图。

图17是表示实施方式1的pcc_codec_type的语义例的图。

图18是表示实施方式1的pcc_nal_unit_type的语义例的图。

图19是实施方式1的编码处理的流程图。

图20是实施方式1的第2解码部的解码处理的流程图。

图21是实施方式1的第1解码部的解码处理的流程图。

图22是表示实施方式2的协议栈的图。

图23是表示实施方式2的编解码器2用的NAL单元的句法例的图。

图24是表示实施方式2的编解码器2用的NAL单元头部的句法例的图。

图25是表示实施方式2的codec2_nal_unit_type的语义例的图。

图26是表示实施方式2的编解码器1用的NAL单元的句法例的图。

图27是表示实施方式2的编解码器1用的NAL单元头部的句法例的图。

图28是表示实施方式2的codec1_nal_unit_type的语义例的图。

图29是实施方式2的编码处理的流程图。

图30是实施方式2的解码处理的流程图。

图31是表示实施方式3的协议栈的图。

图32是表示实施方式3的NAL单元的句法例的图。

图33是表示实施方式3的NAL单元头部的句法例的图。

图34是表示实施方式3的pcc_nal_unit_type的语义例的图。

图35是实施方式3的编码处理的流程图。

图36是实施方式3的解码处理的流程图。

图37是实施方式的变形例的编码处理的流程图。

图38是实施方式的变形例的解码处理的流程图。

图39是实施方式4的编码部的框图。

图40是实施方式4的解码部的框图。

图41是实施方式4的编码处理的流程图。

图42是实施方式4的解码处理的流程图。

具体实施方式

本公开的一形态的三维数据编码方法通过对三维数据进行编码来生成编码流,在所述编码流的控制信息中存放表示第1编码方式和第2编码方式中的、用于所述编码的编码方式的信息。

由此,在对通过该三维数据编码方法生成的编码流进行解码时,三维数据解码装置能够使用存放在控制信息中的信息来判定在编码中使用的编码方式。因此,即使在使用多个编码方式的情况下,三维数据解码装置也能够正确地对编码流进行解码。

例如,也可以是,所述三维数据包含位置信息,在所述编码中,对所述位置信息进行编码,在所述存放中,在所述位置信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述位置信息的编码的编码方式的信息。

例如,也可以是,所述三维数据包含位置信息和属性信息,在所述编码中,分别对所述位置信息和所述属性信息进行编码,在所述存放中,在所述位置信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述位置信息的编码的编码方式的信息,在所述属性信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述属性信息的编码的编码方式的信息。

由此,能够在位置信息和属性信息中使用不同的编码方式,因此能够提高编码效率。

例如,也可以是,所述三维数据编码方法进一步将所述编码流存放到1个以上的单元中。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中独立的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中共同的定义。

本公开的一形态的三维数据解码方法基于通过对三维数据进行编码而生成的编码流的控制信息中所包含的、表示第1编码方式和第2编码方式中的、在所述三维数据的编码中使用的编码方式的信息,判定在编码流的编码中使用的编码方式,使用判定出的所述编码方式对所述编码流进行解码。

由此,在对编码流进行解码时,三维数据解码方法能够使用存放在控制信息中的信息来判定在编码中使用的编码方式。因此,在使用多个编码方式的情况下,三维数据解码方法也能够正确地对编码流进行解码。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中共同的定义。

例如,也可以是,所述三维数据包含位置信息和属性信息,所述编码流包含所述位置信息的编码数据和所述属性信息的编码数据,在所述判定中,基于所述编码流中包含的所述位置信息的控制信息中包含的、表示所述第1编码方式和所述第2编码方式中的、所述位置信息的编码中使用的编码方式的信息,判定所述位置信息的编码中使用的编码方式,基于所述编码流中包含的所述属性信息的控制信息中包含的、表示所述第1编码方式和所述第2编码方式中的、所述属性信息的编码中使用的编码方式的信息,判定所述属性信息的编码中使用的编码方式,在所述解码中,使用判定出的所述位置信息的编码中使用的编码方式对所述位置信息的编码数据进行解码,使用判定出的所述属性信息的编码中使用的编码方式对所述属性信息的编码数据进行解码。

由此,能够在位置信息和属性信息中使用不同的编码方式,因此能够提高编码效率。

例如,也可以是,所述编码流存放在1个以上的单元中,所述三维数据解码方法进一步从所述1个以上的单元获得所述编码流。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中独立的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义。

例如,也可以是,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元所包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中共同的定义。

另外,本公开的一形态的三维数据编码装置是对具有属性信息的多个三维点进行编码的三维数据编码装置,具备处理器和存储器,所述处理器使用所述存储器,通过对三维数据进行编码来生成编码流,在所述编码流的控制信息中存放表示第1编码方式和第2编码方式中的、用于所述编码的编码方式的信息。

由此,在对由该三维数据编码装置生成的编码流进行解码时,三维数据解码装置能够使用存放在控制信息中的信息来判定在编码中使用的编码方式。因此,即使在使用多个编码方式的情况下,三维数据解码装置也能够正确地对编码流进行解码。

另外,本公开的一形态的三维数据解码装置是对具有属性信息的多个三维点进行解码的三维数据解码装置,具备处理器和存储器,所述处理器使用所述存储器,基于通过对三维数据进行编码而生成的编码流的控制信息中包含的、表示在第1编码方式和第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在解码时使用位置信息以及属性信息的解码处理所需的附加信息,向外部输出应用程序所需的附加信息。

接着,对作为进行第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(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进行说明。图11是表示第2解码部4660的结构的图。图12是第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编码方式中的课题。图13是表示与PCC编码数据有关的协议栈的图。图13表示在PCC编码数据中复用、传输或蓄积影像(例如HEVC)或声音等其他媒体的数据的例子。

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

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

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

以下,对本实施方式的NAL单元的定义方法进行说明。例如,在HEVC等此前的编解码器中,对于1个编解码器,定义了1个格式的NAL单元。但是,如PCC那样,对第1编码方法和第2编码方法这2个编解码器(以后,称为PCC编解码器)混合存在的格式进行支持的方法至今不存在。

在本实施方式中,作为NAL单元定义PCC编解码器共同的格式,进而定义依赖于PCC编解码器的NAL单元的标识符。图14是表示该情况下的协议栈的图。图15至图17是表示编解码器共同的NAL单元格式的例子的图。图15是表示共同PCC NAL单元(Common PCC NALUnit)的句法例的图。图16是表示共同PCC NAL单元头部(Common PCC NAL Unit Header)的句法例的图。图17是表示pcc_codec_type的语义例的图。图18是表示依赖编解码器的NAL单元类型定义的例子的图,是表示pcc_nal_unit_type的语义例的图。

作为NAL单元格式,定义了PCC编解码器共同的NAL单元格式。NAL单元(pcc_nal_unit)包含头部(pcc_nal_unit_header)、有效载荷(pcc_nal_unit_payload)以及尾部比特(trailing_bits)。即使在存放第1编码方法和第2编码方法中的任一个的编解码器的数据的情况下,也使用相同的格式。

NAL单元头部(pcc_nal_unit_header)中存放有编解码器类型(pcc_codec_type)以及NAL单元类型(pcc_nal_unit_type)。编解码器类型表示在NAL单元中存放的编码数据的PCC编解码器是第1编码方法还是第2编码方法。

NAL单元类型表示依赖于编解码器的NAL单元的类型,按每个编解码器定义类型。在编解码器类型是第1编码方法的情况下,NAL单元类型表示用于第1编码方法而定义的NAL单元类型。在编解码器类型是第2编码方法的情况下,NAL单元类型表示用于第2编码方法而定义的NAL单元类型。即,对于用于第1编码方法而定义的NAL单元类型和用于第2编码方法而定义的NAL单元类型,关于同一值对应不同的意思。

此外,在头部中,也可以将编解码器类型的功能合并为NAL单元类型。例如,也可以使用NAL单元类型的一部分信息来表示编解码器类型。

接着,对本实施方式的编码处理进行说明。图19是本实施方式的编码处理的流程图。该图的处理表示使用了上述定义的情况下的第1编码部4630或第2编码部4650的处理。另外,以下也不区分第1编码部4630或第2编码部4650而记作编码部4613。另外,该图的处理主要由图6所示的复用部4634或图10所示的复用部4656进行。

另外,该图的处理表示以第1编码方法和第2编码方法中的任一方对PCC数据进行编码的例子,在哪个PCC编解码器中进行编码是已知的。例如,使用哪个PCC编解码器也可以由用户或外部装置等指定。

首先,编码部4613使用第1编码方法和第2编码方法中的任一个编解码器对PCC数据进行编码(S4601)。

在所使用的编解码器是第2编码方法的情况下(S4602中第2编码方法),编码部4613将NAL单元头部中所包含的pcc_codec_type设定为表示NAL单元的有效载荷所包含的数据是用第2编码方法编码后的数据的值(S4603)。此外,编码部4613对NAL单元头部的pcc_nal_unit_type设定第2编码方法用的NAL单元的标识符(S4604)。然后,编码部4613生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4613发送所生成的NAL单元(S4605)。

另一方面,在所使用的编解码器为第1编码方法的情况下(S4602中第1编码方法),编码部4613将NAL单元头部的pcc_codec_type设定为表示NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据的值(S4606)。此外,编码部4613在NAL单元头部的pcc_nal_unit_type中设定第1编码方法用的NAL单元的标识符(S4607)。然后,编码部4613生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4613发送所生成的NAL单元(S4605)。

此外,编码部4613在步骤S4603和S4606中,在pcc_code_type的功能包含在pcc_nal_unit_type中的情况下,也可以在pcc_nal_unit_type中表示NAL单元是第1编码方法还是第2编码方法。

接着,对本实施方式的第1解码部4640和第2解码部4660的解码处理进行说明。图20是表示第2解码部4660的解码处理的流程图。另外,该图的处理主要由图12所示的逆复用部4661进行。

另外,该图的处理示出了以第2编码方法和第1编码方法中的任一方对PCC数据进行编码的例子。另外,在该方式中,第2解码部4660所包含的逆复用部4661能够参照NAL单元头部中所包含的信息来识别NAL单元的编解码器类型。因此,逆复用部4661能够根据编解码器类型将需要的信息输出到影像解码部4662。

首先,第2解码部4660接收NAL单元(S4611)。例如,该NAL单元是在上述的编码部4613中的处理中生成的。即,该NAL单元的头部包含pcc_codec_type以及pcc_nal_unit_type。

接着,第2解码部4660判定NAL单元头部中所包含的pcc_codec_type是表示第1编码方法还是表示第2编码方法(S4612)。

在pcc_codec_type表示第2编码方法的情况下(S4612中第2编码方法),第2解码部4660判断为NAL单元的有效载荷所包含的数据是使用第2编码方法进行了编码的数据(S4613)。然后,第2解码部4660令NAL单元头部中所包含的pcc_nal_unit_type为第2编码方法用的NAL单元的标识符而识别数据(S4614)。然后,第2解码部4660使用第2编码方法的解码处理对PCC数据进行解码(S4615)。

另一方面,在pcc_codec_type表示第1编码方法的情况下(S4612中第1编码方法),第2解码部4660判断为NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据(S4616)。在该情况下,第2解码部4660不对该NAL单元进行处理(S4617)。

此外,在步骤S4612中,在pcc_code_type的功能包含在pcc_nal_unit_type中的情况下,第2解码部4660也可以参照pcc_nal_unit_type,判定NAL单元中包含的数据中使用的编解码器是第1编码方法还是第2编码方法。

图21是表示第1解码部4640的解码处理的流程图。另外,该图的处理主要由图8所示的逆复用部4641进行。

另外,该图的处理示出了以第1编码方法和第2编码方法中的任一方对PCC数据进行编码的例子。另外,在该方式中,第1解码部4640所包含的逆复用部4641能够参照NAL单元头部中所包含的信息来识别NAL单元的编解码器类型。因此,逆复用部4641能够根据编解码器类型将需要的信息输出到位置信息解码部4642和属性信息解码部4643。

首先,第1解码部4640接收NAL单元(S4621)。例如,该NAL单元是在上述的编码部4613中的处理中生成的。即,该NAL单元的头部包含pcc_codec_type以及pcc_nal_unit_type。

接着,第1解码部4640判定NAL单元头部中所包含的pcc_codec_type是表示第1编码方法还是表示第2编码方法(S4622)。

在pcc_codec_type表示第2编码方法的情况下(S4622中第2编码方式),第1解码部4640判断为NAL单元的有效载荷所包含的数据是使用第2编码方法进行了编码的数据(S4623)。在该情况下,第1解码部4640不对该NAL单元进行处理(S4624)。

另一方面,在pcc_codec_type表示第1编码方法的情况下(S4622中第1编码方法),第1解码部4640判断为NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据(S4625)。然后,第1解码部4640令NAL单元头部中所包含的pcc_nal_unit_type为第1编码方法用的NAL单元的标识符而识别数据(S4626)。然后,第1解码部4640使用第1编码方法的解码处理对PCC数据进行解码(S4627)。

(实施方式2)

在本实施方式中,对NAL单元的定义的其他方法进行说明。在本实施方式中,作为NAL单元,按每个PCC编解码器定义不同的格式。进而,按每个PCC编解码器独立地定义NAL单元的标识符。

图22是表示该情况下的协议栈的图。图23是表示编解码器2用的NAL单元(codec2_nal_unit)的句法例的图。图24是表示编解码器2用的NAL单元头部(codec2_nal_unit_header)的句法例的图。图25是表示codec2_nal_unit_type的语义例的图。

图26是表示编解码器1用的NAL单元(codec1_nal_unit)的句法例的图。图27是表示编解码器1用的NAL单元头部(codec1_nal_unit_header)的句法例的图。图28是表示codec1_nal_unit_type的语义例的图。

作为NAL单元格式,按每个PCC编解码器独立地定义NAL单元格式。NAL单元(codec1_nal_unit、codec2_nal_unit)包含头部(codec1_nal_unit_header、codec2_nal_unit_header)、有效载荷(codec1_nal_unit_payload、codec2_nal_unit_payload)以及尾部比特(trailing_bits)。第1编码方法用的NAL单元(codec1_nal_unit)和第2编码方法用的NAL单元(codec2_nal_unit)可以是相同的结构,也可以是不同的结构。第1编码方法用的NAL单元和第2编码方法用的NAL单元的尺寸也可以不同。

用第1编码方法编码后的数据被存放在第1编码方法用的NAL单元中。用第2编码方法编码后的数据被存放在第2编码方法用的NAL单元中。

在NAL单元头部(codec1_nal_unit_header、codec2_nal_unit_header)中,存放有NAL单元类型(codec1_nal_unit_type、codec2_nal_unit_type)。NAL单元类型按每个编解码器而独立,按每个编解码器定义类型。即,在第1编码方法用的NAL单元中,记载了用于第1编码方法而定义的NAL单元类型。在第2编码方法用的NAL单元中,记载了用于第2编码方法而定义的NAL单元类型。

通过采用本方式,能够将第1编码方法和第2编码方法作为不同的编解码器来处理。

接着,对本实施方式的编码处理进行说明。图29是本实施方式的编码处理的流程图。该图的处理表示使用了上述定义的情况下的第1编码部4630或第2编码部4650的处理。另外,该图的处理主要由图6所示的复用部4634或图10所示的复用部4656进行。

另外,该图的处理表示以第1编码方法和第2编码方法中的任一方对PCC数据进行编码的例子,在哪个PCC编解码器中进行编码是已知的。例如,使用哪个PCC编解码器也可以由用户或外部装置等指定。

首先,编码部4613使用第1编码方法和第2编码方法中的任一个编解码器对PCC数据进行编码(S4631)。

在所使用的编解码器为第2编码方法的情况下(S4632中第2编码方法),编码部4613以第2编码方法用的NAL单元格式生成NAL单元(S4633)。接着,编码部4613对NAL单元头部中所包含的codec2_nal_unit_type设定第2编码方法用的NAL单元的标识符(S4634)。然后,编码部4613生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4613发送所生成的NAL单元(S4635)。

另一方面,在所使用的编解码器为第1编码方法的情况下(S4632中第1编码方法),编码部4613以第1编码方法用的NAL单元格式生成NAL单元(S4636)。接着,编码部4613在NAL单元头部的codec1_nal_unit_type中设定第1编码方法用的NAL单元的标识符(S4637)。然后,编码部4613生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4613发送所生成的NAL单元(S4635)。

接着,对本实施方式的解码处理进行说明。图30是本实施方式的解码处理的流程图。该图的处理表示使用了上述定义的情况下的第1解码部4640或第2解码部4660的处理。另外,以下也不区分第1解码部4640或第2解码部4660而记作解码部4624。另外,该图的处理主要由图8所示的逆复用部4641或图12所示的逆复用部4661进行。

另外,该图的处理表示以第1编码方法和第2编码方法中的任一方对PCC数据进行编码的例子,设为在哪个PCC编解码器中进行了编码是已知的。例如,表示所使用的编解码器的信息包含在传输信号、复用数据或编码数据中,解码部4624参照该信息判定所使用的编解码器。此外,解码部4624也可以基于与这些信号分开获得的信号,判定所使用的编解码器。

在所使用的编解码器是第2编码方法的情况下(S4641中第2编码方法),解码部4624接收第2编码方法用格式的NAL单元(S4642)。接着,设为NAL单元是第2编码方法用,解码部4624使用第2编码方法用的NAL单元格式以及第2编码方法用的codec2_nal_unit_type来识别数据(S4643)。接着,解码部4624使用第2编码方法的解码处理对PCC数据进行解码(S4644)。

另一方面,在所使用的编解码器为第1编码方法的情况下(S4641中第1编码方法),解码部4624接收第1编码方法用格式的NAL单元(S4645)。接着,设为NAL单元是第1编码方法用,解码部4624使用第1编码方法用的NAL单元格式以及第1编码方法用的codec1_nal_unit_type来识别数据(S4646)。接着,解码部4624使用第1编码方法的解码处理对PCC数据进行解码(S4747)。

(实施方式3)

在本实施方式中,对NAL单元的定义的其他手法进行说明。在本实施方式中,作为NAL单元定义PCC编解码器共同的格式。此外,定义PCC编解码器共同的NAL单元的标识符。

图31是表示该情况下的协议栈的图。图32至图34是表示编解码器共同的NAL单元格式的例子的图。图32是表示共同PCC NAL单元(Common PCC NAL Unit)的句法例的图。图33是表示共同PCC NAL单元头部(Common PCC NAL Unit Header)的句法例的图。图34是表示pcc_codec_type的语义例的图。

作为NAL单元格式,定义了PCC编解码器共同的NAL单元格式。NAL单元(pcc_nal_unit)包含头部(pcc_nal_unit_header)、有效载荷(pcc_nal_unit_payload)以及尾部比特(trailing_bits)。在存放第1编码方法和第2编码方法中的任一个编解码器的数据的情况下,也使用相同的格式。

在NAL单元头部(pcc_nal_unit_header)中,存放有NAL单元类型(pcc_nal_unit_type)。NAL单元类型是编解码器共同的,定义编解码器共同的类型。即,第1编码方法用的NAL单元与第2编码方法用的NAL单元一起,记载共同定义的NAL单元类型。在图34所示的例子中,例如,PCC DataA是编解码器1的编码数据,PCC DataB是编解码器2的编码数据,PCCMetaDataA是编解码器1的附加信息,PCC MetaDataB是编解码器2的附加信息。

通过采用本方式,能够将第1编码方法和第2编码方法作为相同的编解码器来处理。

接着,对本实施方式的编码处理进行说明。图35是本实施方式的编码处理的流程图。该图的处理表示使用了上述定义的情况下的第1编码部4630或第2编码部4650的处理。另外,该图的处理主要由图6所示的复用部4634或图10所示的复用部4656进行。

另外,该图的处理表示以第2编码方法和第1编码方法中的任一方对PCC数据进行编码的例子,在哪个PCC编解码器中进行编码是已知的。例如,使用哪个PCC编解码器也可以由用户或外部装置等指定。

首先,编码部4613使用第2编码方法和第1编码方法中的任一个编解码器对PCC数据进行编码(S4651)。接着,编码部4613以PCC共同的NAL单元格式生成NAL单元(S4652)。

接着,编码部4613对NAL单元头部中所包含的pcc_nal_unit_type设定PCC共同的NAL单元的标识符(S4653)。接着,发送具有所设定的NAL单元头部、在有效载荷中包含编码数据的NAL单元(S4654)。

接着,对本实施方式的解码处理进行说明。图36是本实施方式的解码处理的流程图。该图的处理表示使用了上述定义的情况下的第1解码部4640或第2解码部4660的处理。另外,该图的处理主要由图8所示的逆复用部4641或图12所示的逆复用部4661进行。

另外,该图的处理表示以第2编码方法和第1编码方法中的任一方对PCC数据进行编码的例子。

首先,解码部4624判定NAL单元中包含的数据的编码中使用的编解码器(S4661)。例如,解码部4624通过参照NAL单元头部中所包含的pcc_nal_unit_type,来判定所使用的编解码器。

在所使用的编解码器为第2编码方法的情况下(S4661中第2编码方法),解码部4624接收PCC共同的格式的NAL单元(S4662)。接着,设为NAL单元是共同的,解码部4624使用共同的NAL单元格式以及共同的pcc_nal_unit_type来识别数据(S4663)。接着,解码部4624使用第2编码方法的解码处理对PCC数据进行解码(S4664)。

另一方面,在所使用的编解码器为第1编码方法的情况下(S4661中第1编码方法),解码部4624接收PCC共同的格式的NAL单元(S4665)。接着,设为NAL单元是共同的,解码部4624使用共同的NAL单元格式以及共同的pcc_nal_unit_type来识别数据(S4666)。接着,解码部4624使用第1编码方法的解码处理对PCC数据进行解码(S4667)。

以下,对上述的实施方式1~实施方式3的变形例进行说明。作为表示PCC编解码器类型的其他方法,也可以使用以下的方法。

在实施方式1、实施方式2以及实施方式3中,对混合存在第1编码方法和第2编码方法这2个编解码器的情况进行了说明,但在PCC编解码器为3个以上的情况下也能够应用上述手法。

另外,在实施方式1以及实施方式3中,在NAL单元头部内记载了PCC编解码器的识别信息(实施方式1中的pcc_codec_type以及实施方式3b中的pcc_nal_unit_type),但也可以将编解码器的识别信息存放在其他场所。

此外,第1编码方法和第2编码方法不限于上述例子,也可以是任意编解码器。例如,第1编码方法和第2编码方法可以是将GPCC细分化的多个编解码器,也可以是将VPCC细分化的多个编解码器。例如,也可以是,第1编码方法和第2编码方法都是VPCC,所使用的影像编码方式不同。影像编码方式可以是例如AVC或HEVC。另外,第1编码方法和第2编码方法中的任一方或其双方可以是影像、声音、文本应用程序等包含其他编码方式的编码方法。

例如,编解码器的识别信息也可以包含在PCC编码流中包含的控制信息中。在此,控制信息例如是参数集或SEI(Supplemental Enhancement Information)等元数据等。

图37是该情况下的编码部4613的编码处理的流程图。首先,编码部4613对PCC数据进行编码(S4671),在编码数据内的规定位置(例如参数集)中记载PCC编解码器的识别信息(S4672)。接着,编码部4613生成包含编码数据的NAL单元,并发送所生成的NAL单元(S4673)。

另外,也可以将PCC编解码器的识别信息定义为profile,将PCC编解码器的识别信息表示在元数据中。另外,在对序列整体使用相同的编解码器的情况下,也可以在序列参数集中包含PCC编解码器的识别信息。此外,在按每个PCC帧以不同的编解码器进行编码的情况下,也可以在记载每个帧的信息的参数集中包含PCC编解码器的识别信息。例如,在如编解码器在位置信息和属性信息中不同的情况那样按PCC的每个数据而使用不同的编解码器的情况下,也可以在记载每个数据的信息的参数集中包含PCC编解码器的识别信息。即,表示位置信息的编解码器的信息包含在位置信息的控制信息(参数集等)中,表示属性信息的编解码器的信息也可以包含在属性信息的控制信息(参数集等)中。

此外,编解码器的识别信息可以存放在上述任一个中,也可以存放在多个位置。例如,编解码器的识别信息也可以存放在编码流内和NAL单元头部这两者中。另外,在多个位置存放编解码器的识别信息的情况下,在多个位置既可以存放相同的信息,也可以存放不同的信息。不同的信息例如是表示GPCC或VPCC的信息、和表示将GPCC或VPCC细分化的多个编解码器中的任一个的信息。

解码部4624所包含的逆复用部4641或4661在NAL单元中包含参数集的情况下,通过解析参数集中的记载,能够判断NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据还是用第2编码方法编码后的数据。由此,解码部4624能够较快地对解码不需要的NAL单元进行滤波。

图38是该情况下的解码部4624的解码处理的流程图。首先,解码部4624接收NAL单元(S4675),使用NAL单元头部中所包含的pcc_nal_unit_type来识别记载有PCC编解码器的识别信息的规定的数据(例如上述参数集)(S4676)。接着,解码部4624通过解析规定的数据(例如参数集)来识别规定的数据内所示的PCC编解码器(S4677)。接着,解码部4624使用识别出的PCC编解码器对编码数据进行解码(S4678)。

另外,在上述中,示出了将编码流存放在NAL单元的例子,但也可以代替NAL单元而使用预先确定的方式的单位(单元)。

(实施方式4)

在本实施方式中,对具有上述的第1编码部4630和第2编码部4650这两者的功能的编码部4670、以及具有第1解码部4640和第2解码部4660这两者的功能的解码部4680进行说明。

图39是本实施方式的编码部4670的框图。该编码部4670包括上述的第1编码部4630、第2编码部4650和复用部4671。复用部4671对由第1编码部4630生成的编码数据和由第2编码部4650生成的编码数据进行复用,并输出所得到的编码数据。

图40是本实施方式的解码部4680的框图。该解码部4680包括上述的第1解码部4640、第2解码部4660和逆复用部4681。逆复用部4681从输入的编码数据中提取使用了第1编码方法的编码数据和使用了第2编码方法的编码数据。逆复用部4681将使用了第1编码方法的编码数据输出到第1解码部4640,将使用了第2编码方法的编码数据输出到第2解码部4660。

根据上述结构,编码部4670可以选择性地使用第1编码方法和第2编码方法来对点群数据进行编码。另外,解码部4680能够对使用第1编码方式进行了编码的编码数据、使用第2编码方式进行了编码的编码数据、以及使用第1编码方式和第2编码方式两者进行了编码的编码数据进行解码。

例如,编码部4670可以以点群数据单位或帧单位切换编码方法(第1编码方法和第2编码方法)。此外,编码部4670也可以以能够编码的单位切换编码方法。

编码部4670例如生成包含在上述实施方式1或实施方式3中说明的PCC编解码器的识别信息的编码数据(编码流)。

解码部4680所包含的逆复用部4681例如使用在实施方式1或实施方式3中说明的PCC编解码器的识别信息来识别数据。逆复用部4681在该数据是用第1编码方法编码后的数据的情况下,向第1解码部4640输出该数据,在该数据是用第2编码方法编码后的数据的情况下,将该数据输出到第2解码部4660。

此外,编码部4670除了PCC编解码器的识别信息以外,也可以将表示使用了双方的编码方法、还是使用了任一方的编码方法的信息作为控制信息而送出。

接着,对本实施方式的编码处理进行说明。图41是本实施方式的编码处理的流程图。通过使用在实施方式1、实施方式2、实施方式3以及变形例中说明的PCC编解码器的识别信息,能够进行与多个编解码器对应的编码处理。另外,图41表示使用了实施方式1的手法的情况的例子,但对于其他手法也能够应用同样的处理。

首先,编码部4670通过第1编码方法、第2编码方法中的任一方或双方的编解码器对PCC数据进行编码(S4681)。

在所使用的编解码器是第2编码方法的情况下(S4682中第2编码方法),编码部4670将NAL单元头部中所包含的pcc_codec_type设定为表示NAL单元的有效载荷所包含的数据是用第2编码方法编码后的数据的值(S4683)。接着,编码部4670在NAL单元头部的pcc_nal_unit_type中设定第2编码方法用的NAL单元的标识符(S4684)。然后,编码部4670生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4670发送所生成的NAL单元(S4685)。

另一方面,在所使用的编解码器为第1编码方法的情况下(S4682中第1编码方法),编码部4670将NAL单元头部中所包含的pcc_codec_type设定为表示NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据的值(S4686)。接着,编码部4670对NAL单元头部中所包含的pcc_nal_unit_type设定第1编码方法用的NAL单元的标识符(S4687)。接着,编码部4670生成NAL单元,所述NAL单元具有所设定的NAL单元头部,且在有效载荷中包含编码数据。然后,编码部4670发送所生成的NAL单元(S4685)。

接着,对本实施方式的解码处理进行说明。图42是本实施方式的解码处理的流程图。通过使用在实施方式1、实施方式2、实施方式3以及变形例中说明的PCC编解码器的识别信息,能够进行与多个编解码器对应的解码处理。另外,图42表示使用了实施方式1的手法的情况的例子,但对于其他手法也能够应用同样的处理。

首先,解码部4680接收NAL单元(S4691)。例如,该NAL单元是在上述的编码部4670中的处理中生成的。

接着,解码部4680判定NAL单元头部中所包含的pcc_codec_type是表示第1编码方法还是表示第2编码方法(S4692)。

在pcc_codec_type表示第2编码方法的情况下(S4692中第2编码方法),解码部4680判断为NAL单元的有效载荷所包含的数据是用第2编码方法编码后的数据(S4693)。然后,第2解码部4660将NAL单元头部中所包含的pcc_nal_unit_type作为第2编码方法用的NAL单元的标识符而识别数据(S4694)。然后,解码部4680使用第2编码方法的解码处理对PCC数据进行解码(S4695)。

另一方面,在pcc_codec_type表示第1编码方法的情况下(S4692中第1编码方法),解码部4680判断为NAL单元的有效载荷所包含的数据是用第1编码方法编码后的数据(S4696)。然后,解码部4680将NAL单元头部中所包含的pcc_nal_unit_type作为第1编码方法用的NAL单元的标识符而识别数据(S4697)。然后,解码部4680使用第1编码方法的解码处理对PCC数据进行解码(S4698)。

如上所述,本公开的一形态的三维数据编码装置通过对三维数据(例如点群数据)进行编码来生成编码流(例如,图37的S4671),并且在所述编码流的控制信息(例如,参数集)中存放表示第1编码方式和第2编码方式中的用于所述编码的编码方式的信息(例如,编解码器的识别信息)(例如,图37的S4672)。

由此,在对由该三维数据编码装置生成的编码流进行解码时,三维数据解码装置能够使用存放在控制信息中的信息来判定在编码中使用的编码方式。因此,即使在使用多个编码方式的情况下,三维数据解码装置也能够正确地对编码流进行解码。

例如,所述三维数据包含位置信息。在所述编码中,三维数据编码装置对所述位置信息进行编码。在所述存放中,三维数据编码装置在所述位置信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述位置信息的编码的编码方式的信息。

例如,所述三维数据包含位置信息和属性信息。在所述编码中,三维数据编码装置对所述位置信息和所述属性信息进行编码。三维数据编码装置在所述存放中,在所述位置信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述位置信息的编码的编码方式的信息,在所述属性信息的控制信息中存放表示所述第1编码方式和所述第2编码方式中的、用于所述属性信息的编码的编码方式的信息。

由此,能够在位置信息和属性信息中使用不同的编码方式,因此能够提高编码效率。

例如,所述三维数据编码方法进一步将所述编码流存放在1个以上的单元(例如,NAL单元)中(例如,图37的S4673)。

例如,如在实施方式1的图15~图18中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义(例如,pcc_nal_unit_type)。

例如,如在实施方式2的图23~图28中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中独立的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义(例如,codec1_nal_unit_type或者codec2_nal_unit_type)。

例如,如在实施方式3的图32~图34中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中共同的定义(例如,pcc_nal_unit_type)。

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

另外,本实施方式的三维数据解码装置基于通过对三维数据进行编码而生成的编码流的控制信息(例如参数集)中包含的、表示第1编码方式和第2编码方式中的、用于所述三维数据的编码的编码方式的信息(例如编解码器的识别信息),判定编码流的编码中使用的编码方式(例如,图38的S4677),使用判定出的所述编码方式对所述编码流进行解码(例如,图38的S4678)。

由此,三维数据解码装置在对编码流进行解码时,能够使用存放在控制信息中的信息来判定在编码中使用的编码方式。因此,即使在使用多个编码方式的情况下,三维数据解码装置也能够正确地对编码流进行解码。

例如,所述三维数据包含位置信息,所述编码流包含所述位置信息的编码数据。在所述判定中,三维数据解码装置基于所述编码流中包含的所述位置信息的控制信息中包含的、表示所述第1编码方式和所述第2编码方式中的、所述位置信息的编码中使用的编码方式的信息,判定所述位置信息的编码中使用的编码方式。在所述解码中,三维数据解码装置使用判定出的所述位置信息的编码中使用的编码方式对所述位置信息的编码数据进行解码。

例如,所述三维数据包含位置信息和属性信息,所述编码流包含所述位置信息的编码数据和所述属性信息的编码数据。在所述判定中,三维数据解码装置基于所述编码流中包含的所述位置信息的控制信息中包含的、表示所述第1编码方式和所述第2编码方式中的、所述位置信息的编码中使用的编码方式的信息,判定所述位置信息的编码中使用的编码方式,基于所述编码流中包含的所述属性信息的控制信息中包含的、表示所述第1编码方式和所述第2编码方式中的、所述属性信息的编码中使用的编码方式的信息,判定所述属性信息的编码中使用的编码方式。在所述解码中,三维数据解码装置使用判定出的所述位置信息的编码中使用的编码方式对所述位置信息的编码数据进行解码,使用判定出的所述属性信息的编码中使用的编码方式对所述属性信息的编码数据进行解码。

由此,能够在位置信息和属性信息中使用不同的编码方式,因此能够提高编码效率。

例如,所述编码流被存放在1个以上的单元(例如,NAL单元)中,三维数据解码装置进一步从所述1个以上的单元获得所述编码流。

例如,如在实施方式1的图15~图18中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义(例如,pcc_nal_unit_type)。

例如,如在实施方式2的图23~图28中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中独立的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中独立的定义(例如,codec1_nal_unit_type或者codec2_nal_unit_type)。

例如,如在实施方式3的图32~图34中说明的那样,所述单元包含信息,所述信息具有在所述第1编码方式和所述第2编码方式中共同的格式,所述信息是表示所述单元中包含的数据的类别的信息,且具有在所述第1编码方式和所述第2编码方式中共同的定义(例如,pcc_nal_unit_type)。

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

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

另外,上述的实施方式的三维数据编码装置以及三维数据解码装置等中包含的各处理部典型的能够作为集成电路的LSI来实现。这些可以分别地制成一个芯片,也可以是其中的一部分或全部被制成一个芯片。

并且,集成电路化并非受LSI所限,也可以由专用电路或通用处理器来实现。也可以利用在LSI制造后可编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、或能够重构LSI内部的电路部的连接或设定的可重构处理器。

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

并且,本公开能够作为由三维数据编码装置以及三维数据解码装置等来执行的三维数据编码方法或三维数据解码方法等来实现。

并且,框图中的功能块的分割为一个例子,多个功能块可以作为一个功能块来实现,一个功能块也可以分割为多个,一部分的功能也可以移动到其他的功能块。并且,具有类似的功能的多个功能块的功能也可以由单一的硬件或软件进行并行处理或者进行时间分割处理。

并且,关于流程图中的各步骤的执行顺序,是为了对本公开进行具体说明而举出的例子,也可以是上述以外的顺序。并且,上述步骤的一部分也可以与其他的步骤同时(并行)执行。

以上基于实施方式对一个或多个形态的三维数据编码装置以及三维数据解码装置等进行了说明,但是,本公开并非受这些实施方式所限。在不脱离本公开的主旨的范围内,将本领域技术人员能够想到的各种变形执行于本实施方式而得到的形态、以及对不同的实施方式中的构成要素进行组合而得到的形态均包含在一个或多个形态的范围内。

产业上的可利用性

本公开能够适用于三维数据编码装置以及三维数据解码装置。

附图文字说明

4601 三维数据编码系统

4602 三维数据解码系统

4603 传感器终端

4604 外部连接部

4611 点群数据生成系统

4612 提示部

4613 编码部

4614 复用部

4615 输入输出部

4616 控制部

4617 传感器信息获得部

4618 点群数据生成部

4621 传感器信息获得部

4622 输入输出部

4623 逆复用部

4624 解码部

4625 提示部

4626 用户接口

4627 控制部

4630 第1编码部

4631 位置信息编码部

4632 属性信息编码部

4633 附加信息编码部

4634 复用部

4640 第1解码部

4641 逆复用部

4642 位置信息解码部

4643 属性信息解码部

4644 附加信息解码部

4650 第2编码部

4651 附加信息生成部

4652 位置图像生成部

4653 属性图像生成部

4654 影像编码部

4655 附加信息编码部

4656 复用部

4660 第2解码部

4661 逆复用部

4662 影像解码部

4663 附加信息解码部

4664 位置信息生成部

4665 属性信息生成部

4670 编码部

4671 复用部

4680 解码部

4681 逆复用部

相关技术
  • 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
  • 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
技术分类

06120112303885