首页> 中国专利> 三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置

三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置

摘要

一种三维数据保存方法,获得保存有对点群数据进行编码后的编码流的1个以上的单元(S4781),将1个以上的单元保存到文件中(S4782),在所述保存(S4782)中,将表示文件中保存的数据是对点群数据进行编码后的数据的信息保存到文件的控制信息中。例如,所述信息还可以表示第1编码方法和第2编码方法中的用于点群数据的编码的编码方法。

著录项

  • 公开/公告号CN112513938A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 松下电器(美国)知识产权公司;

    申请/专利号CN201980051434.5

  • 发明设计人 井口贺敬;杉尾敏康;

    申请日2019-08-06

  • 分类号G06T9/00(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人蒋巍

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 10:14:56

说明书

技术领域

本公开涉及三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置。

背景技术

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

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

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

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

现有技术文献

专利文献

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

发明内容

发明所要解决的课题

在处理三维数据的装置中,有可能实现处理量的减少或处理的高速化。

本公开的目的在于提供一种在处理三维数据的装置中能够实现处理量的减少或处理的高速化的三维数据保存方法、三维数据获得方法、三维数据保存装置、或者三维数据获得装置。

用于解决课题的手段

本公开的一形态的三维数据保存方法获得保存有对点群数据进行编码后的编码流的1个以上的单元,将所述1个以上的单元保存在文件中,在所述保存中,将表示所述文件中保存的数据是对点群数据进行编码后的数据的信息保存到所述文件的控制信息中。

本公开的一形态的三维数据获得方法获得保存有1个以上的单元的文件,所述1个以上的单元保存有对点群数据进行编码后的编码流,从所述文件中获得所述1个以上的单元,所述文件的控制信息包含表示所述文件中保存的数据是对点群数据进行编码后的数据的信息。

发明效果

本公开能够提供在处理三维数据的装置中能够实现处理量的减少或处理的高速化的三维数据保存方法、三维数据获得方法、三维数据保存装置、或者三维数据获得装置。

附图说明

图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的解码处理的流程图。

图43是表示有关实施方式5的ISOBMFF的基本构造的图。

图44是表示有关实施方式5的协议栈的图。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

具体实施方式

本公开的一形态的三维数据保存方法,获得保存有对点群数据进行编码后的编码流的1个以上的单元,将所述1个以上的单元保存在文件中,在所述保存中,将表示所述文件中保存的数据是对点群数据进行编码后的数据的信息保存到所述文件的控制信息中。

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

例如,也可以是,所述信息还表示第1编码方法和第2编码方法中的用于所述点群数据的编码的编码方法。

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

例如,也可以是,所述第1编码方法是对由N(N是2以上的整数)叉树表示点群数据的位置的位置信息进行编码,并使用所述位置信息对属性信息进行编码的方式,所述第2编码方法是从点群数据生成二维图像,并使用影像编码方法对所述二维图像进行编码的方式。

例如,也可以是,所述文件遵循ISOBMFF(ISO based media file format:ISO基础媒体文件格式)。

本公开的一形态的三维数据获得方法,获得保存有对点群数据进行编码后的编码流的1个以上的单元的文件,从所述文件中获得所述1个以上的单元,所述文件的控制信息包含表示所述文件中保存的数据是对点群数据进行编码后的数据的信息。

由此,该三维数据获得方法能够在早期判定文件中保存的数据是否是点群数据的编码数据。由此,能够实现进行该三维数据获得方法的装置或其后段的装置的处理量的减少或处理的高速化。

例如,也可以是,所述信息还表示第1编码方法和第2编码方法中的用于所述编码的编码方法。

由此,该三维数据获得方法,能够参照文件的控制信息,在早期判定该文件中保存的数据所使用的编解码器。由此,能够实现进行该三维数据获得方法的装置或其后段的装置的处理量的减少或处理的高速化。

例如,也可以是,基于所述信息,从包含用所述第1编码方法编码后的所述数据和用所述第2编码方法编码后的所述数据的编码后的所述点群数据中,获得用任一个编码方法编码后的所述数据。

例如,也可以是,所述第1编码方法是对由N(N是2以上的整数)叉树表示点群数据的位置的位置信息进行编码,并使用所述位置信息对属性信息进行编码的方式,所述第2编码方法是从点群数据生成二维图像,并使用影像编码方法对所述二维图像进行编码的方式。

例如,也可以是,所述文件遵循ISOBMFF(ISO based media file format:ISO基础媒体文件格式)。

此外,本公开的一形态的三维数据保存装置,具备处理器以及存储器,所述处理器使用所述存储器,获得保存有对点群数据进行编码后的编码流的1个以上的单元,将所述1个以上的单元保存在文件中,在所述保存中,将表示所述文件中保存的数据是对点群数据进行编码后的数据的信息保存到所述文件的控制信息中。

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

此外,本公开的一形态的三维数据获得装置,具备处理器以及存储器,所述处理器使用所述存储器,获得保存有对点群数据进行编码后的编码流的1个以上的单元的文件,从所述文件中获得所述1个以上的单元,所述文件的控制信息包含表示所述文件中保存的数据是对点群数据进行编码后的数据的信息。

由此,该三维数据获得装置,能够在早期判定该文件中保存的数据是否是点群数据的编码数据。由此,能够实现进行该三维数据获得装置或后段的装置的处理量的减少或处理的高速化。

此外,这些概括性的或具体的形态可以由系统、方法、集成电路、计算机程序或计算机可读取的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)。

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

(实施方式5)

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

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

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

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

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

图44是表示将PCC编解码器共同的NAL单元向ISOBMFF的文件保存的情况下的协议栈的图。这里,PCC编解码器共同的NAL单元被保存到ISOBMFF的文件。NAL单元是PCC编解码器共同的,但由于在NAL单元中保存多个PCC编解码器,所以希望规定与各个编解码器对应的保存方法(Carriage of Codec1、Carriage of Codec2)。

接着,对将支持多个PCC编解码器的共同的PCC NAL单元向ISOBMFF的文件保存的方法进行说明。图45是表示将共同的PCC NAL单元向编解码器1的保存方法(Carriage ofCodec1)的ISOBMFF的文件保存的例子的图。图46是表示将共同的PCC NAL单元向编解码器2的保存方法(Carriage of Codec2)的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的文件保存。

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

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

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

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

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

图51是由第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)。

图52是由第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后向文件保存。

图53是表示由第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)。

图54是表示由第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输出。

(实施方式6)

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

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

编码部4670生成实施方式1~4中说明的包含PCC编解码器的识别信息的编码数据(编码流)。

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

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

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

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

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

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

图57是表示由有关本实施方式的第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)。

图58是表示由第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)那样的实时送出用的保存方法。

此外,在实施方式5中,对在实施方式1中说明的NAL单元的保存方法进行了说明,在实施方式6中,对在实施方式4中说明的NAL单元的保存方法进行了说明,但也可以对在实施方式2及实施方式3中说明的NAL单元的保存方法也应用同样的保存方法,由此将PCC编解码器的识别信息保存在ISOBMFF的文件中。

此外,在实施方式5及实施方式6中,以作为文件格式而使用ISOBMFF的例子进行了说明,但也可以使用其他的方式。例如,也可以在向MPEG-2TS Systems、MPEG-DASH、MMT或RMP保存PCC编码数据时也使用与本实施方式同样的方法。

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

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

首先,三维数据保存装置(例如,包括第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(ISO based media file format:ISO基础媒体文件格式)。

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

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

三维数据获得装置(例如,包括第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(ISO based media file format)。

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

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

另外,上述的实施方式的三维数据保存装置以及三维数据获得装置等中包含的各处理部典型的能够作为集成电路的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 逆复用部

4710 第1复用部

4711 文件变换部

4720 第1逆复用部

4721 文件逆变换部

4730 第2复用部

4731 文件变换部

4740 第2逆复用部

4741 文件逆变换部

4750 第3复用部

4751 文件变换部

4760 第3逆复用部

4761 文件逆变换部

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号