CN113228108A - 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置 - Google Patents

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

Info

Publication number
CN113228108A
CN113228108A CN201980085548.1A CN201980085548A CN113228108A CN 113228108 A CN113228108 A CN 113228108A CN 201980085548 A CN201980085548 A CN 201980085548A CN 113228108 A CN113228108 A CN 113228108A
Authority
CN
China
Prior art keywords
information
attribute
data
encoding
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980085548.1A
Other languages
English (en)
Inventor
井口贺敬
杉尾敏康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN113228108A publication Critical patent/CN113228108A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

三维数据编码方法使用参数将多个三维点各自所具有的多个属性信息编码(S6701);生成包含编码后的多个属性信息、控制信息及多个第1属性控制信息的比特流(S6702);控制信息与多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;多个第1属性控制信息与多个属性信息分别对应;多个第1属性控制信息各自包含表示与多个种类信息中的某一个建立了对应的第1识别信息。

Description

三维数据编码方法、三维数据解码方法、三维数据编码装置及 三维数据解码装置
技术领域
本发明涉及三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置。
背景技术
在用于汽车或机器人自主地进行工作的计算机视觉、地图信息、监控、基础设施检查、或影像分发等较大的领域中,今后将会普及灵活运用了三维数据的装置或服务。三维数据通过测距仪等距离传感器、立体摄影机、或多个单眼相机的组合等各种方法来取得。
作为三维数据的表现方法之一,有被称作点云的表现方法,该方法通过三维空间内的点群来表现三维构造的形状。在点云中保存点群的位置和颜色。虽然预想点云作为三维数据的表现方法将成为主流,但是点群的数据量非常大。因此,在三维数据的积蓄或传输中,与二维的运动图像(作为一例,有以MPEG进行标准化后的MPEG-4AVC或HEVC等)同样,需要通过编码来进行数据量的压缩。
此外,关于点云的压缩,有一部分由进行点云关联的处理的公开的库(PointCloud Library:点云库)等支持。
此外,已知有利用三维的地图数据,检索位于车辆周边的施设并进行显示的技术(例如,参照专利文献1)。
现有技术文献
专利文献
专利文献1:国际公开第2014/020663号
发明内容
发明要解决的课题
在三维数据的编码处理及解码处理中,希望能够将三维点的属性信息正确地解码。
本发明的目的是提供一种能够将三维点的属性信息正确地解码的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
用来解决课题的手段
有关本发明的一技术方案的三维数据编码方法,使用参数将多个三维点各自所具有的多个属性信息编码;生成包含编码后的上述多个属性信息、控制信息及多个第1属性控制信息的比特流;上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;上述多个第1属性控制信息与上述多个属性信息分别对应;上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第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的解码部的框图。
图16是有关实施方式1的编码处理的流程图。
图17是有关实施方式1的解码处理的流程图。
图18是表示有关实施方式2的ISOBMFF的基本构造的图。
图19是表示有关实施方式2的协议栈的图。
图20是表示有关实施方式2的将NAL单元保存在编解码器1用的文件中的例子的图。
图21是表示将有关实施方式2的NAL单元保存在编解码器2用的文件中的例子的图。
图22是表示有关实施方式2的第1复用部的构成的图。
图23是表示有关实施方式2的第1逆复用部的构成的图。
图24是表示有关实施方式2的第2复用部的构成的图。
图25是表示有关实施方式2的第2逆复用部的构成的图。
图26是有关实施方式2的由第1复用部进行的处理的流程图。
图27是有关实施方式2的由第2复用部进行的处理的流程图。
图28是有关实施方式2的由第1逆复用部及第1解码部进行的处理的流程图。
图29是表示有关实施方式2的由第2逆复用部及第2解码部进行的处理的流程图。
图30是表示有关实施方式3的编码部及第3复用部的构成的图。
图31是表示有关实施方式3的第3逆复用部及解码部的构成的图。
图32是有关实施方式3的由第3复用部进行的处理的流程图。
图33是有关实施方式3的由第3逆复用部及解码部进行的处理的流程图。
图34是有关实施方式3的由三维数据保存装置进行的处理的流程图。
图35是有关实施方式3的由三维数据取得装置进行的处理的流程图。
图36是表示有关实施方式4的编码部及复用部的构成的图。
图37是表示有关实施方式4的编码数据的构成例的图。
图38是表示有关实施方式4的编码数据及NAL单元的构成例的图。
图39是表示有关实施方式4的pcc_nal_unit_type的语义学(semantics)例子的图。
图40是表示有关实施方式4的NAL单元的送出顺序的例子的图。
图41是有关实施方式4的由三维数据编码装置进行的处理的流程图。
图42是有关实施方式4的由三维数据解码装置进行的处理的流程图。
图43是有关实施方式4的复用处理的流程图。
图44是有关实施方式4的逆复用处理的流程图。
图45是有关实施方式4的由三维数据编码装置进行的处理的流程图。
图46是有关实施方式4的由三维数据解码装置进行的处理的流程图。
图47是有关实施方式5的分割部的框图。
图48是表示有关实施方式5的切片及瓦片的分割例的图。
图49是表示有关实施方式5的切片及瓦片的分割样式的例子的图。
图50是有关实施方式6的第1编码部的框图。
图51是有关实施方式6的第1解码部的框图。
图52是表示有关实施方式6的瓦片的形状的例子的图。
图53是表示有关实施方式6的瓦片及切片的例子的图。
图54是有关实施方式6的分割部的框图。
图55是表示有关实施方式6的将点群数据俯视的地图的例子的图。
图56是表示有关实施方式6的瓦片分割的例子的图。
图57是表示有关实施方式6的瓦片分割的例子的图。
图58是表示有关实施方式6的瓦片分割的例子的图。
图59是表示有关实施方式6的被保存在服务器中的瓦片的数据的例子的图。
图60是表示有关实施方式6的关于瓦片分割的系统的图。
图61是表示有关实施方式6的切片分割的例子的图。
图62是表示有关实施方式6的依赖关系的例子的图。
图63是表示有关实施方式6的数据的解码顺序的例子的图。
图64是表示有关实施方式6的瓦片的编码数据的例子的图。
图65是表示有关实施方式6的结合部的框图。
图66是表示有关实施方式6的编码数据及NAL单元的构成例的图。
图67是有关实施方式6的编码处理的流程图。
图68是有关实施方式6的解码处理的流程图。
图69是表示有关实施方式6的瓦片附加信息的句法例的图。
图70是有关实施方式6的编解码系统的框图。
图71是表示有关实施方式6的切片附加信息的句法例的图。
图72是有关实施方式6的编码处理的流程图。
图73是有关实施方式6的解码处理的流程图。
图74是有关实施方式6的编码处理的流程图。
图75是有关实施方式6的解码处理的流程图。
图76是表示在有关实施方式7的编码时或解码时根据CABAC初始化标志进行CABAC编码/解码引擎的再初始化的处理的流程图。
图77是表示在有关实施方式7的三维数据编码装置中包含的第1编码部的构成的框图。
图78是表示有关实施方式7的分割部的构成的框图。
图79是表示有关实施方式7的位置信息编码部及属性信息编码部的构成的框图。
图80是表示有关实施方式7的第1解码部的构成的框图。
图81是表示有关实施方式7的位置信息解码部及属性信息解码部的构成的框图。
图82是表示有关实施方式7的位置信息的编码或者属性信息的编码中的关于CABAC的初始化的处理的一例的流程图。
图83是表示有关实施方式7的在作为比特流的点群数据中CABAC初始化的定时的一例的图。
图84是表示有关实施方式7的编码数据的构成及编码数据向NAL单元的保存方法的图。
图85是表示有关实施方式7的位置信息的解码或者属性信息的解码中的关于CABAC的初始化的处理的一例的流程图。
图86是有关实施方式7的点群数据的编码处理的流程图。
图87是表示有关实施方式7的将附加信息更新的处理的一例的流程图。
图88是表示有关实施方式7的CABAC初始化的处理的一例的流程图。
图89是有关实施方式7的点群数据的解码处理的流程图。
图90是表示有关实施方式7的将CABAC解码部初始化的处理的一例的流程图。
图91是表示有关实施方式7的瓦片及切片的例子的图。
图92是表示有关实施方式7的CABAC的初始化及上下文初始值的决定方法的一例的流程图。
图93是表示有关实施方式7的将对由LiDAR得到的点群数据进行俯视的地图分割为瓦片的情况下的例子的图。
图94是表示有关实施方式7的CABAC初始化及上下文初始值的决定方法的另一例的流程图。
图95是用来对有关实施方式8的量化部及逆量化部的处理进行说明的图。
图96是用来说明有关实施方式8的量化值的默认值和量化delta(Δ)的图。
图97是表示在有关实施方式8的三维数据编码装置中包含的第1编码部的构成的框图。
图98是表示有关实施方式8的分割部的构成的框图。
图99是表示有关实施方式8的位置信息编码部及属性信息编码部的构成的框图。
图100是表示有关实施方式8的第1解码部的构成的框图。
图101是表示有关实施方式8的位置信息解码部及属性信息解码部的构成的框图。
图102是表示有关实施方式8的位置信息的编码或属性信息的编码中的关于量化值的决定的处理的一例的流程图。
图103是表示有关实施方式8的位置信息及属性信息的解码处理的一例的流程图。
图104是用来对有关实施方式8的量化参数的传输方法的第1例进行说明的图。
图105是用来对有关实施方式8的量化参数的传输方法的第2例进行说明的图。
图106是用来对有关实施方式8的量化参数的传输方法的第3例进行说明的图。
图107是有关实施方式8的点群数据的编码处理的流程图。
图108是表示有关实施方式8的决定QP值并将附加信息更新的处理的一例的流程图。
图109是表示有关实施方式8的将所决定的QP值编码的处理的一例的流程图。
图110是有关实施方式8的点群数据的解码处理的流程图。
图111是表示有关实施方式8的取得QP值并将切片或瓦片的QP值解码的处理的一例的流程图。
图112是表示有关实施方式8的GPS的句法例的图。
图113是表示有关实施方式8的APS的句法例的图。
图114是表示有关实施方式8的位置信息的头的句法例的图。
图115是表示有关实施方式8的属性信息的头的句法例的图。
图116是用来对有关实施方式8的量化参数的传输方法的另一例进行说明的图。
图117是用来对有关实施方式8的量化参数的传输方法的另一例进行说明的图。
图118是用来对有关实施方式8的量化参数的传输方法的第9例另进行说明的图。
图119是是用来说明有关实施方式8的QP值的控制例的图。
图120是表示有关实施方式8的基于对象的品质的QP值的决定方法的一例的流程图。
图121是表示有关实施方式8的基于速率控制的QP值的决定方法的一例的流程图。
图122是有关实施方式8的编码处理的流程图。
图123是有关实施方式8的解码处理的流程图。
图124是用来对有关实施方式9的量化参数的传输方法的一例进行说明的图。
图125是表示有关实施方式9的APS的句法及属性信息的头的句法的第1例的图。
图126是表示有关实施方式9的APS的句法的第2例的图。
图127是表示有关实施方式9的属性信息的头的句法的第2例的图。
图128是表示有关实施方式9的SPS、APS及属性信息的头的关系的图。
图129是有关实施方式9的编码处理的流程图。
图130是有关实施方式9的解码处理的流程图。
具体实施方式
有关本发明的一技术方案的三维数据编码方法,使用参数将多个三维点各自所具有的多个属性信息编码;生成包含编码后的上述多个属性信息、控制信息及多个第1属性控制信息的比特流;上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;上述多个第1属性控制信息与上述多个属性信息分别对应;上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
由此,生成包含用于确定第1属性控制信息所对应的属性信息的种类的第1识别信息的比特流,所以接收到该比特流的三维数据解码装置能够将三维点的属性信息正确且高效地解码。
例如,也可以是,上述多个种类信息在上述控制信息中以规定的顺序被保存;上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
由此,即使不附加表示种类信息的信息,由于种类信息被以规定的顺序表示,所以也能够削减比特流的数据量,能够削减比特流的传输量。
例如,也可以是,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;上述多个第2属性控制信息各自包含在对应的上述属性信息的编码中使用的参数的基准值。
由此,多个第2属性控制信息各自包含参数的基准值,所以能够使用基准值将该第2属性控制信息所对应的属性信息编码。
例如,也可以是,上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。
因此,能够提高编码效率。
例如,也可以是,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;上述多个第2属性控制信息各自具有表示与上述多个种类信息中的某一个建立了对应的第2识别信息。
由此,生成包含用于确定第2属性控制信息所对应的属性信息的种类的第2识别信息的比特流,所以能够生成能够将三维点的属性信息正确且高效地解码的比特流。
例如,也可以是,上述多个第1属性控制信息各自具有保存N个(N是2以上)参数的上述N个字段;在上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息中,上述N个字段的一个字段包含表示无效的值。
因此,接收到比特流的三维数据解码装置能够使用第1识别信息确定第1属性信息的种类,在特定的第1属性控制信息的情况下能够省去解码处理,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,在上述编码中,使用作为上述参数的量化参数将上述多个属性信息量化。
由此,使用与基准值的差分来表示参数,所以能够提高有关量化的编码效率。
此外,有关本发明的一技术方案的三维数据解码方法,通过取得比特流,取得编码后的多个属性信息及参数;使用上述参数将上述编码后的多个属性信息解码,从而将多个三维点各自所具有的多个属性信息解码;上述比特流包含控制信息及多个第1属性控制信息;上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;上述多个第1属性控制信息与上述多个属性信息分别对应;上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
由此,能够使用第1识别信息确定第1属性控制信息所对应的属性信息的种类,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,上述多个种类信息在上述控制信息中以规定的顺序被保存;上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
由此,即使不附加表示种类信息的信息,由于种类信息被以规定的顺序表示,所以也能够削减比特流的数据量,能够削减比特流的传输量。
例如,也可以是,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;上述多个第2属性控制信息各自包含在对应的上述属性信息的编码中使用的参数的基准值。
由此,三维数据解码装置能够使用基准值将第2属性控制信息所对应的属性信息解码,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。
由此,能够使用基准值及差分信息将属性信息解码,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;上述多个第2属性控制信息各自具有表示与上述多个种类信息中的某一个建立了对应的第2识别信息。
由此,能够使用第2识别信息确定第2属性控制信息所对应的属性信息的种类,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,上述多个第1属性控制信息各自具有保存多个参数的多个字段;在上述解码中,将上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息的上述多个字段中的特定字段中保存的参数忽视。
由此,使用第1识别信息确定第1属性信息的种类,在特定的第1属性控制信息的情况下能够省去解码处理,所以能够将三维点的属性信息正确且高效地解码。
例如,也可以是,在上述解码中,使用作为上述参数的量化参数将上述编码后的多个属性信息逆量化。
由此,能够将三维点的属性信息正确地解码。
此外,有关本发明的一技术方案的三维数据编码装置具备处理器和存储器;上述处理器使用上述存储器进行如下处理:使用参数将多个三维点各自所具有的多个属性信息编码;生成包含编码后的上述多个属性信息、控制信息及多个第1属性控制信息的比特流;上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;上述多个第1属性控制信息(i)与上述多个属性信息分别对应,(ii)包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
由此,生成包含用于确定第1属性控制信息所对应的属性信息的种类的第1识别信息的比特流,所以能够生成能够将三维点的属性信息正确且高效地解码的比特流。
此外,有关本发明的一技术方案的三维数据解码装置具备处理器和存储器;上述处理器使用上述存储器进行如下处理:通过取得比特流,取得编码后的多个属性信息及参数;使用上述参数将上述编码后的多个属性信息解码,从而将多个三维点各自所具有的多个属性信息解码;上述比特流包含控制信息及多个第1属性控制信息;上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;上述多个第1属性控制信息(i)与上述多个属性信息分别对应,(ii)包含表示与上述多个种类信息中的某一个建立了对应的第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编解码器)混合存在的格式进行支持的方法至今不存在。
首先,对具有上述的第1编码部4630及第2编码部4650双方的功能的编码部4670、以及具有第1解码部4640及第2解码部4660双方的功能的解码部4680进行说明。
图14是有关本实施方式的编码部4670的框图。该编码部4670包括上述的第1编码部4630及第2编码部4650和复用部4671。复用部4671将由第1编码部4630生成的编码数据和由第2编码部4650生成的编码数据复用,将得到的编码数据输出。
图15是有关本实施方式的解码部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例如生成包含PCC编解码器的识别信息的编码数据(编码流)。
解码部4680中包含的逆复用部4681例如使用PCC编解码器的识别信息来识别数据。逆复用部4681在该数据是用第1编码方法编码的数据的情况下,将该数据向第1解码部4640输出,在该数据是用第2编码方法编码的数据的情况下,将该数据向第2解码部4660输出。
另外,编码部4670也可以在PCC编解码器的识别信息以外,将表示是使用了双方的编码方法还是使用了某一方的编码方法的信息作为控制信息来送出。
接着,对有关本实施方式的编码处理进行说明。图16是有关本实施方式的编码处理的流程图。通过使用PCC编解码器的识别信息,能够进行与多个编解码器对应的编码处理。
首先,编码部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单元。并且,编码部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单元。并且,编码部4670发送所生成的NAL单元(S4685)。
接着,对有关本实施方式的解码处理进行说明。图17是有关本实施方式的解码处理的流程图。通过使用PCC编解码器的识别信息,能够进行与多个编解码器对应的解码处理。
首先,解码部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)。
如以上这样,有关本发明的一技术方案的三维数据编码装置通过将三维数据(例如点群数据)编码而生成编码流,在上述编码流的控制信息(例如参数集)中,保存表示第1编码方法和第2编码方法中的在上述编码使用的编码方法的信息(例如编解码器的识别信息)。
由此,三维数据解码装置在将由该三维数据编码装置生成的编码流解码时,能够使用保存在控制信息中的信息来判定在编码中使用的编码方法。因此,三维数据解码装置在使用多个编码方法的情况下也能够正确地解码编码流。
例如,上述三维数据包含位置信息。三维数据编码装置在上述编码中将上述位置信息进行编码。三维数据编码装置在上述保存中,在上述位置信息的控制信息中保存表示上述第1编码方法和上述第2编码方法中的在上述位置信息的编码中使用的编码方法的信息。
例如,上述三维数据包含位置信息和属性信息。三维数据编码装置在上述编码中,将上述位置信息和上述属性信息编码。三维数据编码装置在上述保存中,在上述位置信息的控制信息中保存表示上述第1编码方法和上述第2编码方法中的在上述位置信息的编码中使用的编码方法的信息,在上述属性信息的控制信息中保存表示上述第1编码方法和上述第2编码方法中的在上述属性信息的编码中使用的编码方法的信息。
由此,能够对位置信息和属性信息使用不同的编码方法,所以能够提高编码效率。
例如,上述三维数据编码方法还将上述编码流向1个以上的单元(例如NAL单元)保存。
例如,上述单元包含如下信息(例如pcc_nal_unit_type),该信息具有在上述第1编码方法和上述第2编码方法中共同的格式,表示上述单元中包含的数据的种类,并且具有在上述第1编码方法和上述第2编码方法中独立的定义。
例如,上述单元包含如下信息(例如codec1_nal_unit_type或codec2_nal_unit_type),该信息具有在上述第1编码方法和上述第2编码方法中独立的格式,表示上述单元中包含的数据的种类,并且具有在上述第1编码方法和上述第2编码方法中独立的定义。
例如,上述单元包含如下信息(例如pcc_nal_unit_type),该信息具有在上述第1编码方法和上述第2编码方法中共同的格式,表示上述单元中包含的数据的种类,并且具有在上述第1编码方法和上述第2编码方法中共同的定义。
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述处理。
此外,有关本实施方式的三维数据解码装置基于通过将三维数据编码而生成的编码流的控制信息(例如参数集)中包含的、表示第1编码方法和第2编码方法中的在上述三维数据的编码中使用的编码方法的信息(例如编解码器的识别信息),判定在编码流的编码中使用的编码方法,使用判定的上述编码方法将上述编码流解码。
由此,三维数据解码装置在将编码流解码时,能够使用保存在控制信息中的信息来判定在编码中使用的编码方法。因此,三维数据解码装置在使用多个编码方法的情况下也能够正确地解码编码流。
例如,上述三维数据包含位置信息,上述编码流包含上述位置信息的编码数据。三维数据解码装置在上述判定中,基于上述编码流中包含的上述位置信息的控制信息所包含的、表示上述第1编码方法和上述第2编码方法中的在上述位置信息的编码中使用的编码方法的信息,判定在上述位置信息的编码中使用的编码方法。三维数据解码装置在上述解码中,使用在判定出的上述位置信息的编码中使用的编码方法,将上述位置信息的编码数据解码。
例如,上述三维数据包含位置信息和属性信息,上述编码流包含上述位置信息的编码数据和上述属性信息的编码数据。三维数据解码装置在上述判定中,基于上述编码流中包含的上述位置信息的控制信息所包含的、表示上述第1编码方法和上述第2编码方法中的在上述位置信息的编码中使用的编码方法的信息,判定在上述位置信息的编码中使用的编码方法,并且基于上述编码流中包含的上述属性信息的控制信息所包含的、表示上述第1编码方法和上述第2编码方法中的在上述属性信息的编码中使用的编码方法的信息,判定在上述属性信息的编码中使用的编码方法。三维数据解码装置在上述解码中,使用判定出的在上述位置信息的编码中使用的编码方法将上述位置信息的编码数据解码,使用判定出的在上述属性信息的编码中使用的编码方法,将上述属性信息的编码数据解码。
由此,能够对位置信息和属性信息使用不同的编码方法,所以能够提高编码效率。
例如,上述编码流被保存在1个以上的单元(例如NAL单元)中,三维数据解码装置还从上述1个以上的单元取得上述编码流。
例如,上述单元包含如下信息(例如pcc_nal_unit_type),该信息具有在上述第1编码方法和上述第2编码方法中共同的格式,表示上述单元中包含的数据的种类,并且具有在上述第1编码方法和上述第2编码方法中独立的定义。
例如,上述单元包含如下信息(例如codec1_nal_unit_type或codec2_nal_unit_type),该信息在上述第1编码方法和上述第2编码方法中具有独立的格式,表示上述单元中包含的数据的种类,并且在上述第1编码方法和上述第2编码方法中具有独立的定义。
例如,上述单元包含如下信息(例如pcc_nal_unit_type),该信息具有在上述第1编码方法和上述第2编码方法中共同的格式,表示上述单元中包含的数据的种类,并且具有在上述第1编码方法和上述第2编码方法中共同的定义。
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述处理。
(实施方式2)
在本实施方式中,对将NAL单元向ISOBMFF的文件保存的方法进行说明。
ISOBMFF(ISO based media file format:ISO基础媒体文件格式)是由ISO/IEC14496-12规定的文件格式标准。ISOBMFF规定了能够将视频、音频及文本等各种媒体复用而保存的格式,是不依赖于媒体的标准。
对ISOBMFF的基本构造(文件)进行说明。ISOBMFF中的基本单位是盒子(box)。盒子由type(类型)、length(长度)、data(数据)构成,将各种type的盒子组合而成的集合为文件。
图18是表示ISOBMFF的基本构造(文件)的图。ISOBMFF的文件主要包括将文件的版本(brand)用4CC(4字符码)表示的ftyp、保存控制信息等的元数据的moov、以及保存数据的mdat等的盒子。
向ISOBMFF的文件的各媒体的保存方法被另行规定,例如,AVC视频及HEVC视频的保存方法由ISO/IEC14496-15规定。这里,为了将PCC编码数据积蓄或传输,可以考虑将ISOBMFF的功能扩展而使用,但还没有将PCC编码数据向ISOBMFF的文件保存的规定。所以,在本实施方式中,对将PCC编码数据向ISOBMFF的文件保存的方法进行说明。
图19是表示将PCC编解码器共同的NAL单元向ISOBMFF的文件保存的情况下的协议栈的图。这里,PCC编解码器共同的NAL单元被保存到ISOBMFF的文件。NAL单元是PCC编解码器共同的,但由于在NAL单元中保存多个PCC编解码器,所以希望规定与各个编解码器对应的保存方法(Carriage of Codec1、Carriage of Codec2)。
接着,对将支持多个PCC编解码器的共同的PCC NAL单元向ISOBMFF的文件保存的方法进行说明。图20是表示将共同的PCC NAL单元向编解码器1的保存方法(Carriage ofCodec1)的ISOBMFF的文件保存的例子的图。图21是表示将共同的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的文件保存。
接着,对有关本实施方式的三维数据编码系统(三维数据编码装置)具备的复用部、以及有关本实施方式的三维数据解码系统(三维数据解码装置)具备的逆复用部的构成及动作进行说明。
图22是表示第1复用部4710的构成的图。第1复用部4710具备通过将由第1编码部4630生成的编码数据及控制信息(NAL单元)向ISOBMFF的文件保存而生成复用数据(文件)的文件变换部4711。该第1复用部4710例如包含于图1所示的复用部4614中。
图23是表示第1逆复用部4720的构成的图。第1逆复用部4720具备从复用数据(文件)取得编码数据及控制信息(NAL单元)、将所取得的编码数据及控制信息向第1解码部4640输出的文件逆变换部4721。该第1逆复用部4720例如包含于图1所示的逆复用部4623中。
图24是表示第2复用部4730的构成的图。第2复用部4730具备通过将由第2编码部4650生成的编码数据及控制信息(NAL单元)向ISOBMFF的文件保存而生成复用数据(文件)的文件变换部4731。该第2复用部4730例如包含于图1所示的复用部4614中。
图25是表示第2逆复用部4740的构成的图。第2逆复用部4740具备从复用数据(文件)取得编码数据及控制信息(NAL单元)、将所取得的编码数据及控制信息向第2解码部4660输出的文件逆变换部4741。该第2逆复用部4740例如包含于图1所示的逆复用部4623中。
图26是由第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)。
图27是由第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后向文件保存。
图28是表示由第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)。
图29是表示由第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对应的复用部及逆复用部进行说明。图30是表示有关本实施方式的编码部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编解码器(编码方法)。
图31是表示有关本实施方式的第3逆复用部4760及解码部4680的构成的图。
第3逆复用部4760具备文件逆变换部4761。文件逆变换部4761将文件中包含的ftyp解析,判定PCC编码数据是用第1编码方法编码的数据、还是用第2编码方法编码的数据、还是用双方的方式编码的数据。
在PCC编码数据被用某一方的编码方法编码了的情况下,数据被输入至第1解码部4640及第2解码部4660中的对应的解码部,另一方解码部中不被输入数据。在PCC编码数据被用双方的编码方法编码了的情况下,数据被输入至与两方式对应的解码部4680。
解码部4680使用第1编码方法及第2编码方法的某一方或双方的方式将PCC编码数据解码。
图32是表示由有关本实施方式的第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)。
图33是表示由第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-2TS Systems、MPEG-DASH、MMT或RMP保存PCC编码数据时也使用与本实施方式同样的方法。
此外,在上述中,表示了在ftyp中保存识别信息等的元数据的例子,但也可以在ftyp以外保存这些元数据。例如,也可以将这些元数据保存在moov中。
如以上这样,三维数据保存装置(或三维数据复用装置、或三维数据编码装置)进行图34所示的处理。
首先,三维数据保存装置(例如,包括第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基础媒体文件格式)。
例如,三维数据保存装置具备处理器和存储器,处理器使用存储器进行上述的处理。
此外,如以上这样,三维数据取得装置(或三维数据逆复用装置、或三维数据解码装置)进行图35所示的处理。
三维数据取得装置(例如,包括第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)。
例如,三维数据取得装置具备处理器和存储器,处理器使用存储器进行上述的处理。
(实施方式4)
在本实施方式中,对由上述的第1编码部4630或第2编码部4650生成的编码数据(位置信息(Geometry)、属性信息(Attribute)、附加信息(Metadata))的种类及附加信息(元数据)的生成方法、以及复用部中的复用处理进行说明。另外,附加信息(元数据)也有表述为参数集或控制信息的情况。
在本实施方式中,以在图4中说明的动态对象(随时间而变化的三维点群数据)为例进行说明,但在静态对象(任意的时刻的三维点群数据)的情况下也可以使用同样的方法。
图36是表示在有关本实施方式的三维数据编码装置中包含的编码部4801及复用部4802的构成的图。编码部4801例如对应于上述的第1编码部4630或第2编码部4650。复用部4802对应于上述的复用部4634或46456。
编码部4801将多个PCC(Point Cloud Compression)帧的点群数据编码,生成多个位置信息、属性信息及附加信息的编码数据(Multiple Compressed Data)。
复用部4802通过对多个数据种类(位置信息、属性信息及附加信息)的数据进行NAL单元化,将数据变换为考虑了解码装置中的数据访问的数据构成。
图37是表示由编码部4801生成的编码数据的构成例的图。图中的箭头表示与编码数据的解码有关的依赖关系,箭头的根部依赖于箭头的尖部的数据。即,解码装置将箭头的尖部的数据解码,使用该解码的数据将箭头的根部的数据解码。换言之,依赖是指在依赖源的数据的处理(编码或解码等)中参照(使用)依赖目标的数据。
首先,对位置信息的编码数据的生成处理进行说明。编码部4801通过将各帧的位置信息编码,生成各帧的编码位置数据(Compressed Geometry Data)。此外,将编码位置数据用G(i)表示。i表示帧号或帧的时刻等。
此外,编码部4801生成与各帧对应的位置参数集(GPS(i))。位置参数集包含能够在编码位置数据的解码中使用的参数。此外,每个帧的编码位置数据依赖于对应的位置参数集。
此外,将由多个帧构成的编码位置数据定义为位置序列(Geometry Sequence)。编码部4801生成将在对于位置序列内的多个帧的解码处理中共同使用的参数进行保存的位置序列参数集(Geometry Sequence PS:也记作位置SPS)。位置序列依赖于位置SPS。
接着,对属性信息的编码数据的生成处理进行说明。编码部4801通过将各帧的属性信息编码,生成各帧的编码属性数据(Compressed Attribute Data)。此外,将编码属性数据用A(i)表示。此外,在图37中,示出了存在属性X和属性Y的例子,将属性X的编码属性数据用AX(i)表示,将属性Y的编码属性数据用AY(i)表示。
此外,编码部4801生成与各帧对应的属性参数集(APS(i))。此外,将属性X的属性参数集用AXPS(i)表示,将属性Y的属性参数集用AYPS(i)表示。属性参数集包含能够在编码属性信息的解码中使用的参数。编码属性数据依赖于对应的属性参数集。
此外,将由多个帧构成的编码属性数据定义为属性序列(Attribute Sequence)。编码部4801生成将在对于属性序列内的多个帧的解码处理中共同使用的参数进行保存的属性序列参数集(Attribute Sequence PS:也记作属性SPS)。属性序列依赖于属性SPS。
此外,在第1编码方法中,编码属性数据依赖于编码位置数据。
此外,在图37中,示出了存在两种属性信息(属性X和属性Y)的情况下的例子。在有两种属性信息的情况下,例如由两个编码部生成各自的数据及元数据。此外,例如按属性信息的每个种类来定义属性序列,按属性信息的每个种类来生成属性SPS。
另外,在图37中,示出了位置信息是1种、属性信息是两种的例子,但并不限于此,属性信息也可以是1种,也可以是3种以上。在此情况下,也能够用同样的方法生成编码数据。此外,在不具有属性信息的点群数据的情况下,也可以没有属性信息。在此情况下,编码部4801也可以不生成与属性信息关联的参数集。
接着,对附加信息(元数据)的生成处理进行说明。编码部4801生成PCC流整体的参数集即PCC流PS(PCC Stream PS:也记作流PS)。编码部4801在流PS中保存能够在对1个或多个位置序列及1个或多个属性序列的解码处理中共同使用的参数。例如,在流PS中,包含表示点群数据的编解码器的识别信息及表示在编码中使用的算法的信息等。位置序列及属性序列依赖于流PS。
接着,对访问单元及GOF进行说明。在本实施方式中,新导入访问单元(AccessUnit:AU)及GOF(Group of Frame:帧组)的考虑方式。
访问单元是在解码时用来访问数据的基本单位,由1个以上的数据及1个以上的元数据构成。例如,访问单元由相同时刻的位置信息和1个或多个属性信息构成。GOF是随机访问单位,由1个以上的访问单元构成。
编码部4801生成访问单元头(AU Header)作为表示访问单元的开头的识别信息。编码部4801在访问单元头中保存与访问单元有关的参数。例如,访问单元头包含:在访问单元中包含的编码数据的构成或信息。此外,访问单元头包含对在访问单元中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。
另外,编码部4801也可以代替访问单元头而生成不包含与访问单元有关的参数的访问单元定界符。该访问单元定界符被用作表示访问单元的开头的识别信息。解码装置通过检测访问单元头或访问单元定界符,识别访问单元的开头。
接着,对GOF开头的识别信息的生成进行说明。编码部4801生成GOF头(GOFHeader)作为表示GOF的开头的识别信息。编码部4801在GOF头中保存与GOF有关的参数。例如,GOF头包含:在GOF中包含的编码数据的构成或信息。此外,GOF头包含对在GOF中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。
另外,编码部4801也可以代替GOF头而生成不包含与GOF有关的参数的GOF定界符。该GOF定界符被用作表示GOF的开头的识别信息。解码装置通过检测GOF头或GOF定界符,识别GOF的开头。
在PCC编码数据中,例如定义为访问单元是PCC帧单位。解码装置基于访问单元开头的识别信息,对PCC帧进行访问。
此外,例如GOF被定义为1个随机访问单位。解码装置基于GOF开头的识别信息,对随机访问单位进行访问。例如,如果PCC帧相互没有依赖关系而能够单独解码,则也可以将PCC帧定义为随机访问单位。
另外,也可以对1个访问单元分配两个以上的PCC帧,也可以对1个GOF分配多个随机访问单位。
此外,编码部4801也可以定义并生成上述以外的参数集或元数据。例如,编码部4801也可以生成保存有可能在解码时不一定使用的参数(可选的参数)的SEI(Supplemental Enhancement Information:补充增强信息)。
接着,说明编码数据的构成及编码数据向NAL单元的保存方法。
例如,按编码数据的每个种类规定数据格式。图38是表示编码数据及NAL单元的例子的图。
例如,如图38所示,编码数据包括头和有效载荷。另外,编码数据也可以包含编码数据、头或表示有效载荷的长度(数据量)的长度信息。此外,编码数据也可以不包含头。
头例如包含用来确定数据的识别信息。该识别信息例如表示数据种类或帧号。
头例如包含表示参照关系的识别信息。该识别信息例如是在数据间有依赖关系的情况下被保存到头中,用来从参照源对参照目标进行参照的信息。例如,在参照目标的头中,包含用来确定该数据的识别信息。在参照源的头中,包含表示参照目标的识别信息。
另外,在能够从其他信息识别或导出参照目标或参照源的情况下,也可以省略用来确定数据的识别信息或表示参照关系的识别信息。
复用部4802将编码数据保存在NAL单元的有效载荷中。在NAL单元头中,包含作为编码数据的识别信息的pcc_nal_unit_type。图39是表示pcc_nal_unit_type的语义例的图。
如图39所示,在pcc_codec_type是编解码器1(Codec1:第1编码方法)的情况下,pcc_nal_unit_type的值0~10被分配给编解码器1中的编码位置数据(Geometry)、编码属性X数据(AttributeX)、编码属性Y数据(AttributeY)、位置PS(Geom.PS)、属性XPS(AttrX.PS)、属性YPS(AttrX.PS)、位置SPS(Geometry Sequence PS)、属性XSPS(AttributeX Sequence PS)、属性YSPS(AttributeY Sequence PS)、AU头(AU Header)、GOF头(GOF Header)。此外,值11以后被分配为编解码器1的备用。
在pcc_codec_type是编解码器2(Codec2:第2编码方法)的情况下,pcc_nal_unit_type的值0~2被分配给编解码器的数据A(DataA)、元数据A(MetaDataA)、元数据B(MetaDataB)。此外,值3以后被分配为编解码器2的备用。
接着,对数据的送出顺序进行说明。以下,对NAL单元的送出顺序的制约进行说明。
复用部4802将NAL单元以GOF或AU单位一起送出。复用部4802将GOF头配置在GOF的开头,将AU头配置在AU的开头。
复用部4802也可以按每个AU来配置序列参数集(SPS),以使得在因丢包等而丢失了数据的情况下解码装置也能够从下个AU起进行解码。
在编码数据中有与解码有关的依赖关系的情况下,解码装置在将参照目标的数据解码后,将参照源的数据解码。在解码装置中,为了使得能够不将数据重新排列而以接收到的顺序进行解码,复用部4802先送出参照目标的数据。
图40是表示NAL单元的送出顺序的例子的图。图40表示位置信息优先、参数优先和数据合并这3个例子。
位置信息优先的送出顺序是将与位置信息有关的信息和与属性信息有关的信息的各信息一起送出的例子。在该送出顺序的情况下,与位置信息有关的信息的送出比与属性信息有关的信息的送出更早完成。
例如,通过使用该送出顺序,不解码属性信息的解码装置通过忽视属性信息的解码,有可能能够设置不进行处理的时间。此外,例如在想要早解码位置信息的解码装置的情况下,通过较早得到位置信息的编码数据,有可能能够更早地解码位置信息。
另外,在图40中,将属性XSPS与属性YSPS合并而记作属性SPS,但也可以单独地配置属性XSPS和属性YSPS。
在参数集优先的送出顺序中,先送出参数集,后送出数据。
如以上这样,只要遵循NAL单元送出顺序的制约,复用部4802将NAL单元以怎样的顺序送出都可以。例如,也可以定义顺序识别信息,复用部4802具有以多个样式的顺序送出NAL单元的功能。例如在流PS中保存NAL单元的顺序识别信息。
三维数据解码装置也可以基于顺序识别信息进行解码。也可以从三维数据解码装置向三维数据编码装置指示希望的送出顺序,三维数据编码装置(复用部4802)按照被指示的送出顺序对送出顺序进行控制。
另外,只要是如数据合并的送出顺序那样遵循送出顺序的制约的范围,复用部4802也可以生成将多个功能归并的编码数据。例如,如图40所示,也可以将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中,定义了表示是与瓦片或切片有关的数据或保存参数的数据的识别符。
以下,对有关顺序识别信息的处理进行说明。图41是与NAL单元的送出顺序有关的由三维数据编码装置(编码部4801及复用部4802)进行的处理的流程图。
首先,三维数据编码装置决定NAL单元的送出顺序(位置信息优先或参数集优先)(S4801)。例如,三维数据编码装置基于来自用户或外部装置(例如三维数据解码装置)的指定而决定送出顺序。
在所决定的送出顺序是位置信息优先的情况下(在S4802中是位置信息优先),三维数据编码装置将流PS中包含的顺序识别信息设定为位置信息优先(S4803)。即,在此情况下,顺序识别信息表示以位置信息优先的顺序送出NAL单元。并且,三维数据编码装置以位置信息优先的顺序送出NAL单元(S4804)。
另一方面,在所决定的送出顺序是参数集优先的情况下(在S4802中是参数集优先),三维数据编码装置将流PS中包含的顺序识别信息设定为参数集优先(S4805)。即,在此情况下,顺序识别信息表示以参数集优先的顺序送出NAL单元。并且,三维数据编码装置以参数集参数集优先的顺序送出NAL单元(S4806)。
图42是与NAL单元的送出顺序有关的由三维数据解码装置进行的处理的流程图。首先,三维数据解码装置将流PS中包含的顺序识别信息解析(S4811)。
在由顺序识别信息表示的送出顺序是位置信息优先的情况下(在S4812中是位置信息优先),三维数据解码装置设为NAL单元的送出顺序是位置信息优先,来将NAL单元解码(S4813)。
另一方面,在由顺序识别信息表示的送出顺序是参数集优先的情况下(在S4812中是参数集优先),三维数据解码装置设为NAL单元的送出顺序是参数集优先,来将NAL单元解码(S4814)。
例如,三维数据解码装置在不解码属性信息的情况下,在步骤S4813中,也可以不取得全部的NAL单元而取得与位置信息有关的NAL单元,从所取得的NAL单元将位置信息解码。
接着,对与AU及GOF的生成有关的处理进行说明。图43是表示NAL单元的复用中的与AU及GOF生成有关的由三维数据编码装置(复用部4802)进行的处理的流程图。
首先,三维数据编码装置判定编码数据的种类(S4821)。具体而言,三维数据编码装置判定处理对象的编码数据是AU开头的数据、还是GOF开头的数据、还是其以外的数据。
在编码数据是GOF开头的数据的情况下(在S4822中是GOF开头),三维数据编码装置将GOF头及AU头配置在属于GOF的编码数据的开头而生成NAL单元(S4823)。
在编码数据是AU开头的数据的情况下(在S4822中是AU开头),三维数据编码装置将AU头配置在属于AU的编码数据的开头而生成NAL单元(S4824)。
在编码数据不是GOF开头及AU开头的任何一个的情况下(在S4822中是GOF开头、AU开头以外),三维数据编码装置在编码数据所属AU的AU头之后配置编码数据而生成NAL单元(S4825)。
接着,对与向AU及GOF的访问有关的处理进行说明。图44是NAL单元的逆复用中的与AU及GOF的访问有关的三维数据解码装置的处理的流程图。
首先,三维数据解码装置通过将NAL单元中包含的nal_unit_type解析,判定NAL单元中包含的编码数据的种类(S4831)。具体而言,三维数据解码装置判定NAL单元中包含的编码数据是AU开头的数据、还是GOF开头的数据、还是其以外的数据。
在NAL单元中包含的编码数据是GOF开头的数据的情况下(S4832的GOF开头),三维数据解码装置判断为NAL单元是随机访问的开始位置,对该NAL单元进行访问,开始解码处理(S4833)。
另一方面,在NAL单元中包含的编码数据是AU开头的数据的情况下(在S4832中是AU开头),三维数据解码装置判断为NAL单元是AU开头,对NAL单元中包含的数据进行访问,将该AU解码(S4834)。
另一方面,在NAL单元中包含的编码数据不是GOF开头及AU开头的任何一个的情况下(在S4832中是GOF开头、AU开头以外),三维数据解码装置不处理该NAL单元。
如以上这样,三维数据编码装置进行图45所示的处理。三维数据编码装置将时间序列的三维数据(例如动态对象的点群数据)编码。三维数据包含各个时刻的位置信息和属性信息。
首先,三维数据编码装置将位置信息编码(S4841)。接着,三维数据编码装置将处理对象的属性信息参照与该处理对象的属性信息相同的时刻的位置信息来进行编码(S4842)。这里,如图37所示,相同时刻的位置信息和属性信息构成访问单元(AU)。即,三维数据编码装置将处理对象的属性信息参照在与该处理对象的属性信息相同的访问单元中包含的位置信息来进行编码。
由此,三维数据编码装置能够使用访问单元使编码中的参照的控制容易化。因此,三维数据编码装置能够减少编码处理的处理量。
例如,三维数据编码装置生成包含被编码的位置信息(编码位置数据)、被编码的属性信息(编码属性数据)和表示处理对象的属性信息的参照目标的位置信息的信息的比特流。
例如,比特流包含:包含各时刻的位置信息的控制信息的位置参数集(位置PS)、和包含各时刻的属性信息的控制信息的属性参数集(属性PS)。
例如,比特流包含:包含多个时刻的位置信息中共同的控制信息的位置序列参数集(位置SPS)、和包含多个时刻的属性信息中共同的控制信息的属性序列参数集(属性SPS)。
例如,比特流包含:包含多个时刻的位置信息及多个时刻的属性信息中共同的控制信息的流参数集(流PS)。
例如,比特流包含:包含在访问单元内共同的控制信息的访问单元头(AU头)。
例如,三维数据编码装置将由1个以上的访问单元构成的GOF(帧组)编码,以使其能够独立地解码。即,GOF是随机访问单位。
例如,比特流包含:包含在GOF内共同的控制信息的GOF头。
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
此外,如以上这样,三维数据解码装置进行图46所示的处理。三维数据解码装置将时间序列的三维数据(例如动态对象的点群数据)解码。三维数据包含各时刻的位置信息和属性信息。相同时刻的位置信息和属性信息构成访问单元(AU)。
首先,三维数据解码装置从比特流将位置信息解码(S4851)。即,三维数据解码装置通过将比特流中包含的被编码的位置信息(编码位置数据)解码而生成位置信息。
接着,三维数据解码装置从比特流中,参照与处理对象的属性信息相同时刻的位置信息而将该处理对象的属性信息解码(S4852)。即,三维数据解码装置通过将比特流中包含的被编码的属性信息(编码属性数据)解码而生成属性信息。此时,三维数据解码装置参照在与属性信息相同的访问单元中包含的已解码的位置信息。
由此,三维数据解码装置能够使用访问单元使解码中的参照的控制容易化。因此,该三维数据解码方法能够减少解码处理的处理量。
例如,三维数据解码装置从比特流取得表示处理对象的属性信息的参照目标的位置信息的信息,参照由所取得的信息表示的参照目标的位置信息,将处理对象的属性信息解码。
例如,比特流包含:包含各时刻的位置信息的控制信息的位置参数集(位置PS)、和包含各时刻的属性信息的控制信息的属性参数集(属性PS)。即,三维数据解码装置使用处理对象时刻的位置参数集中包含的控制信息,将处理对象时刻的位置信息解码,使用处理对象时刻的属性参数集中包含的控制信息,将处理对象时刻的属性信息解码。
例如,比特流包含:包含多个时刻的位置信息中共同的控制信息的位置序列参数集(位置SPS)、和包含多个时刻的属性信息中共同的控制信息的属性序列参数集(属性SPS)。即,三维数据解码装置使用位置序列参数集中包含的控制信息,将多个时刻的位置信息解码,使用属性序列参数集中包含的控制信息,将多个时刻的属性信息解码。
例如,比特流包含:包含多个时刻的位置信息及多个时刻的属性信息中共同的控制信息的流参数集(流PS)。即,三维数据解码装置使用流参数集中包含的控制信息,将多个时刻的位置信息及多个时刻的属性信息解码。
例如,比特流包含:包含在访问单元内共同的控制信息的访问单元头(AU头)。即,三维数据解码装置使用访问单元头中包含的控制信息,将访问单元中包含的位置信息及属性信息解码。
例如,三维数据解码装置将由1个以上的访问单元构成的GOF(帧组)独立地解码。即,GOF是随机访问单位。
例如,比特流包含:包含在GOF内共同的控制信息的GOF头。即,三维数据解码装置使用GOF头中包含的控制信息,将GOF中包含的位置信息及属性信息解码。
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
(实施方式5)
接着,说明分割部4911的构成。图47是分割部4911的框图。分割部4911包括切片分割部4931(Slice Divider)、位置信息瓦片分割部4932(Geometry Tile Divider)和属性信息瓦片分割部4933(Attribute Tile Divider)。
切片分割部4931通过将位置信息(Position(Geometry))分割为切片而生成多个切片位置信息。此外,切片分割部4931通过将属性信息(Attribute)分割为切片而生成多个切片属性信息。此外,切片分割部4931输出有关切片分割的信息及包含在切片分割中生成的信息的切片附加信息(SliceMetaData)。
位置信息瓦片分割部4932通过将多个切片位置信息分割为瓦片而生成多个分割位置信息(多个瓦片位置信息)。此外,位置信息瓦片分割部4932输出与位置信息的瓦片分割有关的信息及包含在位置信息的瓦片分割中生成的信息的位置瓦片附加信息(GeometryTile MetaData)。
属性信息瓦片分割部4933通过将多个切片属性信息分割为瓦片而生成多个分割属性信息(多个瓦片属性信息)。此外,属性信息瓦片分割部4933输出与属性信息的瓦片分割有关的信息及包含在属性信息的瓦片分割中生成的信息的属性瓦片附加信息(Attribute Tile MetaData)。
另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。
此外,这里示出了在切片分割后进行瓦片分割的例子,但也可以在瓦片分割后进行切片分割。此外,除了切片及瓦片以外,也可以再定义新的分割种类,以3个以上的分割种类进行分割。
以下,对点群数据的分割方法进行说明。图48是表示切片及瓦片分割的例子的图。
首先,对切片分割的方法进行说明。分割部4911将三维点群数据以切片单位分割为任意的点群。分割部4911在切片分割中不分割构成点的位置信息和属性信息,而将位置信息和属性信息一齐分割。即,分割部4911以任意点处的位置信息和属性信息属于相同的切片的方式进行切片分割。另外,只要遵循这些,则分割数量及分割方法是怎样的方法都可以。此外,分割的最小单位是点。例如,位置信息和属性信息的分割数量相同。例如,与切片分割后的位置信息对应的三维点和与属性信息对应的三维点包含于相同的切片中。
此外,分割部4911在切片分割时生成作为与分割数量及分割方法有关的附加信息的切片附加信息。切片附加信息在位置信息和属性信息中是相同的。例如,切片附加信息包含表示分割后的包围盒(bounding box)的基准坐标位置、大小或边的长度的信息。此外,切片附加信息包含表示分割数量及分割类型等的信息。
接着,对瓦片分割的方法进行说明。分割部4911将被切片分割后的数据分割为切片位置信息(G切片)和切片属性信息(A切片),将切片位置信息和切片属性信息分别分割为瓦片单位。
另外,在图48中示出了以8叉树结构分割的例子,但分割数量及分割方法是怎样的方法都可以。
此外,分割部4911将位置信息和属性信息既可以用不同的分割方法分割,也可以用相同的分割方法分割。此外,分割部4911将多个切片既可以用不同的分割方法分割为瓦片,也可以用相同的分割方法分割为瓦片。
此外,分割部4911在瓦片分割时生成与分割数量及分割方法有关的瓦片附加信息。瓦片附加信息(位置瓦片附加信息及属性瓦片附加信息)在位置信息和属性信息中独立。例如,瓦片附加信息包含表示分割后的包围盒的基准坐标位置、大小或边的长度的信息。此外,瓦片附加信息包含表示分割数量及分割类型等的信息。
接着,说明将点群数据分割为切片或瓦片的方法的例子。作为切片或瓦片分割的方法,分割部4911既可以使用预先设定的方法,也可以根据点群数据而自适应地切换所使用的方法。
在切片分割时,分割部4911对于位置信息和属性信息一齐将三维空间分割。例如,分割部4911判定对象的形状,根据对象的形状将三维空间分割为切片。例如,分割部4911提取树或建筑物等对象,以对象单位进行分割。例如,分割部4911进行切片分割,以使1个或多个对象的整体包含于1个切片中。或者,分割部4911将一个对象分割为多个切片。
在此情况下,编码装置例如也可以按每个切片改变编码方法。例如,编码装置也可以对特定的对象或对象的特定的一部分使用高品质的压缩方法。在此情况下,编码装置也可以将表示每个切片的编码方法的信息向附加信息(元数据)保存。
此外,分割部4911也可以基于地图信息或位置信息进行切片分割,以使各切片对应于预先设定的坐标空间。
在瓦片分割时,分割部4911将位置信息和属性信息独立地分割。例如,分割部4911根据数据量或处理量将切片分割为瓦片。例如,分割部4911判定切片的数据量(例如切片中包含的三维点的数量)是否比预先设定的阈值多。分割部4911在切片的数据量比阈值多的情况下将切片分割为瓦片。分割部4911在切片的数据量比阈值少时不将切片分割为瓦片。
例如,分割部4911将切片分割为瓦片,以使解码装置中的处理量或处理时间成为一定的范围(预先设定的值以下)。由此,解码装置的每个瓦片的处理量成为一定,解码装置中的分散处理变得容易。
此外,分割部4911在位置信息和属性信息中处理量不同的情况下,例如在位置信息的处理量比属性信息的处理量多的情况下,使位置信息的分割数量比属性信息的分割数量多。
此外,例如根据内容,在解码装置也可以将位置信息较早地解码并显示、将属性信息然后慢慢解码而显示的情况下,分割部4911也可以使位置信息的分割数量比属性信息的分割数量多。由此,解码装置能够使位置信息的并行数量变多,所以能够使位置信息的处理比属性信息的处理高速化。
另外,解码装置并不需要一定将被切片化或瓦片化的数据并行处理,也可以根据解码处理部的数量或能力来判定是否将它们并行处理。
通过用以上那样的方法分割,能够实现与内容或对象对应的自适应的编码。此外,能够实现解码处理中的并行处理。由此,点群编码系统或点群解码系统的柔性提高。
图49是表示切片及瓦片的分割的样式的例子的图。图中的DU是数据单位(DataUnit),表示瓦片或切片的数据。此外,各DU包括切片索引(Slice Index)和瓦片索引(TileIndex)。图中的DU的右上的数值表示切片索引,DU的左下的数值表示瓦片索引。
在样式1中,在切片分割中,在G切片和A切片中分割数量及分割方法相同。在瓦片分割中,对于G切片的分割数量及分割方法与对于A切片的分割数量及分割方法不同。此外,在多个G切片间使用相同的分割数量及分割方法。在多个A切片间使用相同的分割数量及分割方法。
在样式2中,在切片分割中,在G切片和A切片中分割数量及分割方法相同。在瓦片分割中,对于G切片的分割数量及分割方法与对于A切片的分割数量及分割方法不同。此外,在多个G切片间,分割数量及分割方法不同。在多个A切片间,分割数量及分割方法不同。
(实施方式6)
以下,对在瓦片分割后进行切片分割的例子进行说明。在车辆的自动驾驶等的自主型的应用中,不是需要全部区域的点群数据,而是需要车辆的周边区域或车辆的行进方向的地域的点群数据。这里,为了将原来的点群数据有选择地解码而可以使用瓦片及切片。通过将三维点群数据分割为瓦片、再分割为切片,能够实现编码效率的提高或并行处理。在将数据分割时,生成附加信息(元数据),将所生成的附加信息向复用部发送。
图50是表示在有关本实施方式的三维数据编码装置中包含的第1编码部5010的构成的框图。第1编码部5010通过将点群数据用第1编码方法(GPCC(Geometry based PCC))编码而生成编码数据(编码流)。该第1编码部5010包括分割部5011、多个位置信息编码部5012、多个属性信息编码部5013、附加信息编码部5014和复用部5015。
分割部5011通过将点群数据分割,生成多个分割数据。具体而言,分割部5011通过将点群数据的空间分割为多个子空间,生成多个分割数据。这里,子空间是指瓦片及切片的一方或瓦片及切片的组合。更具体地讲,点群数据包括位置信息、属性信息及附加信息。分割部5011将位置信息分割为多个分割位置信息,将属性信息分割为多个分割属性信息。此外,分割部5011生成关于分割的附加信息。
例如,分割部5011首先将点群分割为瓦片。接着,分割部5011将得到的瓦片再分割为切片。
多个位置信息编码部5012通过将多个分割位置信息编码,生成多个编码位置信息。例如,多个位置信息编码部5012将多个分割位置信息并行处理。
多个属性信息编码部5013通过将多个分割属性信息编码而生成多个编码属性信息。例如,多个属性信息编码部5013将多个分割属性信息并行处理。
附加信息编码部5014通过将包含在点群数据中的附加信息和由分割部5011在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。
复用部5015通过将多个编码位置信息、多个编码属性信息及编码附加信息复用,生成编码数据(编码流),送出所生成的编码数据。此外,编码附加信息在解码时被使用。
另外,在图50中表示了位置信息编码部5012及属性信息编码部5013的数量分别为两个的例子,但位置信息编码部5012及属性信息编码部5013的数量分别也可以是1个,也可以是3个以上。此外,关于多个分割数据,既可以如CPU内的多个核那样在同一个芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
接着,对解码处理进行说明。图51是表示第1解码部5020的构成的框图。第1解码部5020通过对通过将点群数据用第1编码方法(GPCC)编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部5020包括逆复用部5021、多个位置信息解码部5022、多个属性信息解码部5023、附加信息解码部5024和结合部5025。
逆复用部5021通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。
多个位置信息解码部5022通过将多个编码位置信息解码,生成多个分割位置信息。例如,多个位置信息解码部5022将多个编码位置信息并行处理。
多个属性信息解码部5023通过将多个编码属性信息解码,生成多个分割属性信息。例如,多个属性信息解码部5023将多个编码属性信息并行处理。
多个附加信息解码部5024通过将编码附加信息解码,生成附加信息。
结合部5025通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5025通过使用附加信息将多个分割属性信息结合,生成属性信息。例如,结合部5025首先通过使用切片附加信息将对于切片的解码后的点群数据结合,生成与瓦片对应的点群数据。接着,结合部5025通过使用瓦片附加信息将与瓦片对应的点群数据结合,将原来的点群数据复原。
另外,在图50中表示了位置信息解码部5022及属性信息解码部5023的数量分别为两个的例子,但位置信息解码部5022及属性信息解码部5023的数量分别也可以是1个,也可以是3个以上。此外,关于多个分割数据,既可以如CPU内的多个核那样在同一个芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
接着,对点群数据的分割方法进行说明。在车辆的自动驾驶等的自主型的应用中,不是需要全部区域的点群数据,而是需要车辆的周边区域或车辆的行进方向的地域的点群数据。
图52是表示瓦片的形状的例子的图。如图52所示,作为瓦片的形状,也可以使用圆、矩形或椭圆等的各种各样的形状。
图53是表示瓦片及切片的例子的图。切片的构成也可以在瓦片间不同。例如,也可以将瓦片或切片的构成基于数据量进行优化。或者,也可以将瓦片或切片的构成基于解码速度进行优化。
此外,也可以基于位置信息进行瓦片分割。在此情况下,将属性信息与对应的位置信息同样地分割。
此外,在瓦片分割后的切片分割中,也可以将位置信息和属性信息通过不同的方法分割为切片。例如,各瓦片的切片分割的方法也可以根据来自应用的请求来选择。也可以基于来自应用的请求而使用不同的切片分割的方法或瓦片分割的方法。
例如,分割部5011在将三维点群数据从上观察的二维形状中基于地图信息等的位置信息将点群数据分割为1个以上的瓦片。然后,分割部5011将各个瓦片分割为1个以上的切片。
另外,分割部5011也可以将位置信息(Geometry)和属性信息(Attribute)用相同的方法分割为切片。
另外,位置信息及属性信息分别既可以是1种,也可以是两种以上。此外,在不具有属性信息的点群数据的情况下,也可以没有属性信息。
图54是分割部5011的框图。分割部5011包括瓦片分割部5031(Tile Divider)、位置信息切片分割部5032(Geometry Slice Divider)和属性信息切片分割部5033(Attribute Slice Divider)。
瓦片分割部5031通过将位置信息(Position(Geometry))分割为瓦片,生成多个瓦片位置信息。此外,瓦片分割部5031通过将属性信息(Attribute)分割为瓦片,生成多个瓦片属性信息。此外,瓦片分割部5031输出包含有关瓦片分割的信息、及在瓦片分割中生成的信息的瓦片附加信息(TileMetaData)。
位置信息切片分割部5032通过将多个瓦片位置信息分割为切片,生成多个分割位置信息(多个切片位置信息)。此外,位置信息切片分割部5032输出包含有关位置信息的切片分割的信息、及在位置信息的切片分割中生成的信息的位置切片附加信息(GeometrySlice MetaData)。
属性信息切片分割部5033通过将多个瓦片属性信息分割为切片,生成多个分割属性信息(多个切片属性信息)。此外,属性信息切片分割部5033输出包含有关属性信息的切片分割的信息、及在属性信息的切片分割中生成的信息的属性切片附加信息(AttributeSlice MetaData)。
接着,瓦片的形状的例对进行说明。三维地图(3D地图)的整体被分割为多个瓦片。多个瓦片的数据被有选择地向三维数据解码装置发送。或者,也可以在多个瓦片的数据中从重要度较高的数据依次向三维数据解码装置发送。根据状况,瓦片的形状也可以从多个形状中选择。
图55是表示将由LiDAR得到的点群数据俯视的地图的一例的图。图55所示的例子是高速道路的点群数据,包括立体交叉部分(Flyover)。
图56是表示将图55所示的点群数据分割为正方形的瓦片的例子的图。这样的正方形的分割能够在地图服务器中容易地进行。此外,相对于通常的道路,瓦片的高度被设定得较低。在立体交叉部分,瓦片的高度被设定为比通常的道路高,以使瓦片包含立体交叉部分。
图57是表示将图55所示的点群数据分割为圆形的瓦片的例子的图。在此情况下,有相邻的瓦片在俯视中重复的情况。三维数据编码装置在车辆需要周边区域的点群数据的情况下,将车辆周边的圆柱(俯视中的圆)区域的点群数据发送给车辆。
此外,与图56的例子同样,对于通常的道路,瓦片的高度被设定得较低。在立体交叉部分,瓦片的高度被设定为比通常的道路高,以使瓦片包含立体交叉部分。
三维数据编码装置也可以将瓦片的高度例如根据道路或建筑物的形状或高度改变。此外,三维数据编码装置也可以根据位置信息或区域信息来改变瓦片的高度。此外,三维数据编码装置也可以将瓦片的高度按每个瓦片改变。或者,三维数据编码装置也可以按包括多个瓦片的每个区间改变瓦片的高度。即,三维数据编码装置也可以将区间内的多个瓦片的高度设为相同。此外,不同高度的瓦片也可以在俯视中重复。
图58是表示使用各种各样的形状、大小或高度的瓦片的情况下的瓦片分割的例子的图。瓦片的形状是怎样的形状都可以,是怎样的大小都可以,也可以是它们的组合。
例如,不仅是上述那样的不重复而以正方形的瓦片进行分割的例子、以及以重复的圆形的瓦片进行分割的例子,三维数据编码装置也可以以重复的正方形的瓦片进行分割。此外,瓦片的形状也可以不是正方形及圆形,也可以使用具有3个以上的顶点的多边形,也可以使用不具有顶点的形状。
此外,瓦片的形状也可以是两种以上,也可以是不同形状的瓦片重复。此外,也可以是,瓦片的形状的种类是1个以上,在分割的相同形状中,将大小不同的形状组合,它们也可以重复。
例如,在道路等的没有对象的区域中,使用比存在对象的区域大的瓦片。此外,三维数据编码装置也可以根据对象而适应性地改变瓦片的形状或大小。
此外,例如三维数据编码装置由于需要读入作为汽车(车辆)的行进方向的汽车的前方远方的瓦片的可能性较高,所以也可以将行进方向的瓦片设定为较大的尺寸,由于汽车向汽车的侧方前进的可能性较低,所以将侧方的瓦片设定为比行进方向的瓦片小的尺寸。
图59是表示被保存在服务器中的瓦片的数据的例子的图。例如,预先将点群数据进行瓦片分割而编码,将得到的编码数据保存到服务器中。用户在需要时从服务器取得希望的瓦片的数据。或者,服务器(三维数据编码装置)也可以根据用户的指示进行瓦片分割及编码,以包含用户希望的数据。
例如,在移动体(车辆)的移动速度较快的情况下,可以想到需要更大范围的点群数据。因此,服务器也可以基于预先推测的车的速度(例如,能够根据道路的法定速度、道路的宽度及形状来推测的车的速度或统计上的速度等),决定瓦片的形状及大小,进行瓦片分割。或者,如图59所示,服务器也可以预先将多个形状或大小的瓦片编码,将得到的数据保存。移动体也可以根据该移动体的行进方向及速度,取得适当的形状及大小的瓦片的数据。
图60是表示关于瓦片分割的系统的例子的图。如图60所示,瓦片的形状及区域也可以基于作为传输点群数据的通信手段的天线(基站)的位置或天线所支持的通信区域来决定。或者,在由相机等的传感器生成点群数据的情况下,瓦片的形状及区域也可以基于传感器的位置或传感器的对象范围(检测范围)来决定。
既可以对1个天线或传感器分配1个瓦片,也可以对多个天线或传感器分配1个瓦片。也可以对1个天线或传感器分配多个瓦片。天线或传感器既可以被固定,也可以能够移动。
例如,被分割为瓦片的编码数据也可以由与对应于被分配给瓦片的区域的天线或传感器连接的服务器管理。服务器也可以管理本区域的编码数据和相邻的区域的瓦片信息。也可以在管理与各个瓦片对应的多个服务器的集中管理服务器(云)中管理多个瓦片的多个编码数据。或者,也可以不设置与瓦片对应的服务器,天线或传感器与集中管理服务器直接连接。
另外,天线或传感器的对象范围有可能根据电波的功率、设备的差异及设置条件而不同,瓦片的形状及大小也可以也与这些匹配而变化。基于天线或传感器的对象范围,也可以不是分配瓦片而是分配切片,也可以分配PCC帧。
接着,对将瓦片分割为切片的方法进行说明。通过将类似的对象分配给相同的切片,能够提高编码效率。
例如,三维数据编码装置使用点群数据的特征来识别对象(道路、楼宇、树等),通过按每个对象将点群聚类(clustering)来进行切片分割。
或者,三维数据编码装置也可以将具有相同属性的对象进行分组,通过对各组分配切片来进行切片分割。这里,属性例如是关于运动的信息,通过将对象分类为步行者及车等的动态信息、事故及拥堵等的准动态信息、交通限制及道路工事等的准静态信息、和路面及结构物等的静态信息,来进行分组。
另外,在多个切片中,数据也可以重复。例如,在按多个对象组的每个对象组进行切片分割的情况下,任意的对象既可以属于1个对象组,也可以属于2以上的多个对象组。
图61是表示该切片分割的例子的图。例如,在图61所示的例子中,瓦片是长方体。另外,瓦片也可以是圆柱状,也可以是其他形状。
瓦片中包含的点群例如被分组为道路、建筑物、树等的对象组。并且,以各对象组包含于一个切片中的方式进行切片化。并且,各切片被单独地编码。
接着,对分割数据的编码方法进行说明。三维数据编码装置(第1编码部5010)将被分割后的数据分别编码。三维数据编码装置在将属性信息编码时,生成表示基于哪个构成信息(位置信息、附加信息或其他的属性信息)进行了编码的依赖关系信息作为附加信息。即,依赖关系信息例如表示参照目标(依赖目标)的构成信息。在此情况下,三维数据编码装置基于与属性信息的分割形状对应的构成信息来生成依赖关系信息。另外,三维数据编码装置也可以基于与多个分割形状对应的构成信息来生成依赖关系信息。
也可以由三维数据编码装置生成依赖关系信息,将所生成的依赖关系信息向三维数据解码装置送出。或者,也可以是三维数据解码装置生成依赖关系信息,三维数据编码装置不送出依赖关系信息。此外,也可以是三维数据编码装置预先设定要使用的依赖关系,三维数据编码装置不送出依赖关系信息。
图62是表示各数据的依赖关系的一例的图。图中的箭头的尖部表示依赖目标,箭头的根部表示依赖源。三维数据解码装置以从依赖目标到依赖源的顺序将数据解码。此外,图中由实线表示的数据是实际被送出的数据,由点线表示的数据是没有被送出的数据。
此外,在该图中,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的依赖关系信息。
另外,根据应用等,也可以使用不同的瓦片分割或切片分割的结构。
此外,三维数据编码装置也可以将数据以解码顺序重新排列,以使得在三维数据解码装置中不需要将数据重新排列。另外,也可以在三维数据解码装置中将数据重新排列,也可以在三维数据编码装置和三维数据解码装置双方中将数据重新排列。
图63是表示数据的解码顺序的例子的图。在图63的例子中,从左方的数据起依次进行解码。三维数据解码装置在处于依赖关系的数据间,从依赖目标的数据起先进行解码。例如,三维数据编码装置将数据预先排序成该顺序而送出。另外,只要是依赖目标的数据为先的顺序,是怎样的顺序都可以。此外,三维数据编码装置也可以将附加信息及依赖关系信息比数据先送出。
此外,三维数据解码装置也可以基于来自应用的请求及从NAL单元头得到的信息,有选择地将瓦片解码。图64是表示瓦片的编码数据的例子的图。例如,瓦片的解码顺序是任意的。即,在瓦片间也可以没有依赖关系。
接着,说明在第1解码部5020中包含的结合部5025的构成。图65是表示结合部5025的构成的框图。结合部5025包括位置信息切片结合部5041(Geometry Slice Combiner)、属性信息切片结合部5042(Attribute Slice Combiner)和瓦片结合部(Tile Combiner)。
位置信息切片结合部5041通过使用位置切片附加信息将多个分割位置信息结合而生成多个瓦片位置信息。属性信息切片结合部5042通过使用属性切片附加信息将多个分割属性信息结合,生成多个瓦片属性信息。
瓦片结合部5043通过使用瓦片附加信息将多个瓦片位置信息结合,生成位置信息。此外,瓦片结合部5043通过使用瓦片附加信息将多个瓦片属性信息结合,生成属性信息。
另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。
接着,说明被切片分割或瓦片分割后的编码数据的构成、以及编码数据向NAL单元的保存方法(复用方法)。图66是表示编码数据的构成及编码数据向NAL单元的保存方法的图。
编码数据(分割位置信息及分割属性信息)被保存至NAL单元的有效载荷。
编码数据包括头和有效载荷。头包含用来确定有效载荷中包含的数据的识别信息。该识别信息例如包括切片分割或瓦片分割的类别(slice_type,tile_type)、用来确定切片或瓦片的索引信息(slice_idx,tile_idx)、数据(切片或瓦片)的位置信息或数据的地址(address)等。用来确定切片的索引信息也记作切片索引(SliceIndex)。用来确定瓦片的索引信息也记作瓦片索引(TileIndex)。此外,分割的类别例如是上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或者基于数据量或处理量的方法等。
此外,编码数据的头包含表示依赖关系的识别信息。即,该头在数据间有依赖关系的情况下包含用来从依赖源参照依赖目标的识别信息。例如,在依赖目标的数据的头中,包含用来确定该数据的识别信息。在依赖源的数据的头中,包含表示依赖目标的识别信息。另外,在能够根据其他信息识别或导出用来确定数据的识别信息、有关切片分割或瓦片分割的附加信息及表示依赖关系的识别信息的情况下,也可以将这些信息省略。
接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图67是有关本实施方式的点群数据的编码处理的流程图。
首先,三维数据编码装置决定要使用的分割方法(S5011)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包含进行瓦片分割或切片分割的情况下的分割数量及分割的类别等。分割的类别是指上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或基于数据量或处理量的方法等。另外,分割方法也可以被预先设定。
在进行瓦片分割的情况下(S5012中是),三维数据编码装置通过将位置信息和属性信息一齐分割,生成多个瓦片位置信息及多个瓦片属性信息(S5013)。此外,三维数据编码装置生成有关瓦片分割的瓦片附加信息。另外,三维数据编码装置也可以将位置信息和属性信息独立地分割。
在进行切片分割的情况下(S5014中是),三维数据编码装置通过将多个瓦片位置信息及多个瓦片属性信息(或位置信息及属性信息)独立地分割,生成多个分割位置信息及多个分割属性信息(S5015)。此外,三维数据编码装置生成有关切片分割的位置切片附加信息及属性切片附加信息。另外,三维数据编码装置也可以将瓦片位置信息和瓦片属性信息一齐分割。
接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息的各自进行编码,生成多个编码位置信息及多个编码属性信息(S5016)。此外,三维数据编码装置生成依赖关系信息。
接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行NAL单元化(复用),生成编码数据(编码流)(S5017)。此外,三维数据编码装置送出所生成的编码数据。
图68是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(瓦片附加信息、位置切片附加信息及属性切片附加信息)解析,判定分割方法(S5021)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包括进行瓦片分割或切片分割的情况下的分割数量及分割的类别等。
接着,三维数据解码装置通过将编码数据中包含的多个编码位置信息及多个编码属性信息使用编码数据中包含的依赖关系信息解码,生成分割位置信息及分割属性信息(S5022)。
在由附加信息表示进行了切片分割的情况下(S5023中是),三维数据解码装置通过基于位置切片附加信息及属性切片附加信息将多个分割位置信息和多个分割属性信息用各自的方法结合,生成多个瓦片位置信息及多个瓦片属性信息(S5024)。另外,三维数据解码装置也可以将多个分割位置信息和多个分割属性信息通过相同的方法结合。
在由附加信息表示进行了瓦片分割的情况下(S5025中是),三维数据解码装置通过基于瓦片附加信息将多个瓦片位置信息及多个瓦片属性信息(多个分割位置信息及多个分割属性信息)用相同的方法结合,生成位置信息及属性信息(S5026)。另外,三维数据解码装置也可以将多个瓦片位置信息和多个瓦片属性信息分别用不同的方法结合。
接着,对瓦片附加信息进行说明。三维数据编码装置生成作为关于瓦片的分割方法的元数据的瓦片附加信息,将所生成的瓦片附加信息向三维数据解码装置发送。
图69是表示瓦片附加信息(TileMetaData)的句法例的图。如图69所示,例如瓦片附加信息包括分割方法信息(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(SupplementalEnhancement Information)中而送出。或者,三维数据编码装置也可以将瓦片附加信息保存到既有的参数集(PPS、GPS或APS等)中并送出。
例如,在瓦片附加信息按每个帧而变化的情况下,也可以在每个帧的参数集(GPS或APS等)中保存瓦片附加信息。在序列内瓦片附加信息不变化的情况下,也可以在每个序列的参数集(位置SPS或属性SPS)中保存瓦片附加信息。进而,在位置信息和属性信息中使用相同的瓦片分割信息的情况下,也可以在PCC流的参数集(流PS)中保存瓦片附加信息。
此外,瓦片附加信息既可以保存到上述中的任一个参数集中,也可以保存到多个参数集中。此外,瓦片附加信息也可以保存到编码数据的头中。此外,瓦片附加信息也可以保存到NAL单元的头中。
此外,瓦片附加信息的全部或一部分也可以保存到分割位置信息的头及分割属性信息的头的一方中,而不保存到另一方中。例如,在位置信息和属性信息中使用相同的瓦片附加信息的情况下,也可以在位置信息和属性信息的一方的头中包含瓦片附加信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些瓦片附加信息,在属性信息的头中不包含瓦片附加信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的瓦片相同的瓦片。
三维数据解码装置基于瓦片附加信息,重构被瓦片分割的点群数据。三维数据解码装置在有重复的点群数据的情况下,确定重复的多个点群数据,选择某一个或将多个点群数据合并。
此外,三维数据解码装置也可以使用瓦片附加信息进行解码。例如,三维数据解码装置也可以在多个瓦片重复的情况下按每个瓦片进行解码,进行使用被解码的多个数据的处理(例如平滑化或滤波等),生成点群数据。由此,有可能能够进行精度更高的解码。
图70是表示包括三维数据编码装置及三维数据解码装置的系统的构成例的图。瓦片分割部5051将包含位置信息及属性信息的点群数据分割为第1瓦片和第2瓦片。此外,瓦片分割部5051将有关瓦片分割的瓦片附加信息向解码部5053及瓦片结合部5054发送。
编码部5052通过将第1瓦片及第2瓦片编码,生成编码数据。
解码部5053通过将由编码部5052生成的编码数据解码,将第1瓦片及第2瓦片复原。瓦片结合部5054通过使用瓦片附加信息将第1瓦片及第2瓦片结合,将点群数据(位置信息及属性信息)复原。
接着,对切片附加信息进行说明。三维数据编码装置生成作为关于切片的分割方法的元数据的切片附加信息,将所生成的切片附加信息向三维数据解码装置发送。
图71是表示切片附加信息(SliceMetaData)的句法例的图。如图71所示,例如切片附加信息包括分割方法信息(type_of_divide)、重复标志(slice_overlap_flag)、重复信息(type_of_overlap)、切片数(slice_number)、切片位置信息(global_position,relative_position)和切片尺寸信息(slice_bounding_box_size)。
分割方法信息(type_of_divide)表示切片的分割方法。例如,分割方法信息表示切片的分割方法是否是在图61中表示那样的基于对象的信息的分割(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单元的头中。
此外,切片附加信息的全部或一部分也可以保存到分割位置信息的头及分割属性信息的头的一方中,而不保存到另一方中。例如,在位置信息和属性信息中使用相同的切片附加信息的情况下,也可以在位置信息和属性信息的一方的头中包含切片附加信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些切片附加信息,在属性信息的头中不包含切片附加信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的切片相同的切片。
三维数据解码装置基于切片附加信息,重构被切片分割的点群数据。三维数据解码装置在有重复的点群数据的情况下,确定重复的多个点群数据,选择某一个或将多个点群数据合并。
此外,三维数据解码装置也可以使用切片附加信息进行解码。例如,三维数据解码装置也可以在多个切片重复的情况下按每个切片进行解码,进行使用被解码的多个数据的处理(例如平滑化或滤波等),生成点群数据。由此,有可能能够进行精度更高的解码。
图72是由有关本实施方式的三维数据编码装置进行的、包括瓦片附加信息的生成处理的三维数据编码处理的流程图。
首先,三维数据编码装置决定瓦片的分割方法(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)。
图73是由有关本实施方式的三维数据解码装置进行的使用瓦片附加信息的三维数据解码处理的流程图。
首先,三维数据解码装置将比特流中包含的瓦片附加信息解析(S5051)。
在由瓦片附加信息表示瓦片不与其他瓦片重复的情况下(S5052中否),三维数据解码装置通过将各瓦片解码而生成各瓦片的点群数据(S5053)。接着,三维数据解码装置基于由瓦片附加信息表示的瓦片的分割方法及瓦片的形状,根据各瓦片的点群数据重构点群数据(S5054)。
另一方面,在由瓦片附加信息表示瓦片与其他瓦片重复的情况下(S5052中是),三维数据解码装置通过将各瓦片解码,生成各瓦片的点群数据。此外,三维数据解码装置基于瓦片附加信息,确定瓦片的重复部分(S5055)。另外,三维数据解码装置也可以关于重复部分使用重复的多个信息进行解码处理。接着,三维数据解码装置基于由瓦片附加信息表示的瓦片的分割方法、瓦片的形状及重复信息,根据各瓦片的点群数据重构点群数据(S5056)。
以下,说明关于切片的变形例等。三维数据编码装置也可以将表示对象的种类(道路、建筑物、树等)或属性(动态信息、静态信息等)的信息作为附加信息而发送。或者,也可以根据对象预先规定编码的参数,三维数据编码装置通过将对象的种类或属性送出,向三维数据解码装置通知编码参数。
关于切片数据的编码顺序及送出顺序,也可以使用以下的方法。例如,三维数据编码装置也可以根据对象的识别或聚类较容易的数据起依次将切片数据编码。或者,三维数据编码装置也可以从聚类较早结束的切片数据起依次进行编码。此外,三维数据编码装置也可以从被编码的切片数据起依次送出。或者,三维数据编码装置也可以在应用中以解码的优先级从高到低的顺序将切片数据送出。例如,在动态信息的解码的优先级较高的情况下,三维数据编码装置也可以从以动态信息进行了分组的切片起依次将切片数据送出。
此外,三维数据编码装置在编码数据的顺序与解码的优先级的顺序不同的情况下,也可以将编码数据在重新排列后送出。此外,三维数据编码装置在将编码数据蓄积时,也可以将编码数据在重新排列后蓄积。
应用(三维数据解码装置)向服务器(三维数据编码装置)请求包含希望的数据的切片的送出。服务器也可以送出应用需要的切片数据,而不送出不需要的切片数据。
应用向服务器请求包含希望的数据的瓦片的送出。服务器也可以送出应用需要的瓦片数据,而不送出不需要的瓦片数据。
如以上这样,有关本实施方式的三维数据编码装置进行图74所示的处理。首先,三维数据编码装置通过对将包含多个三维点的对象空间分割而成的多个子空间(例如瓦片)进行编码,生成多个编码数据(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信息。
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
此外,有关本实施方式的三维数据解码装置进行图75所示的处理。首先,三维数据解码装置通过对比特流中包含的、通过对将包含多个三维点的对象空间分割而成的多个子空间(例如瓦片)进行编码而生成的多个编码数据进行解码,将上述多个子空间复原(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)
为了将点群数据分割为瓦片及切片并将分割数据有效地编码或解码,需要在编码侧及解码侧适当地进行控制。通过在分割数据间没有依赖关系而独立地进行分割数据的编码及解码,能够使用多线程或多核处理器在各个线程/核中并行地处理分割数据,性能提高。
将点群数据分割为瓦片及切片的方法有各种各样的方法,例如有基于路面等的点群数据的对象物的属性或点群数据的绿色等颜色信息等特性进行分割的方法。
CABAC是Context-Based Adaptive Binary Arithmetic Coding(上下文的自适应二进制算术编码)的简称,是通过基于已编码的信息依次更新上下文(估计所输入的2值符号的发生概率的模型)而提高概率的精度、实现高压缩率的算术编码(熵编码)的编码方法。
为了将瓦片或切片那样的分割数据并行处理,需要能够独立地编码或解码各个分割数据。但是,为了在分割数据间独立地进行CABAC,需要在编码及解码中在分割数据的开头将CABAC初始化,但没有该机制。
CABACABAC初始化标志在CABAC编码及解码中用于将CABAC初始化。
图76是表示在编码或解码中根据CABAC初始化标志而进行的CABAC的初始化的处理的流程图。
三维数据编码装置或三维数据解码装置在编码或解码中,判定CABAC初始化标志是否是1(S5201)。
三维数据编码装置或三维数据解码装置在CABAC初始化标志是1的情况下(在S5201中是),将CABAC编码部/解码部初始化为默认状态(S5202),继续编码或解码。
三维数据编码装置或三维数据解码装置在CABAC初始化标志不是1的情况下(在S5201中否),不进行初始化而继续编码或解码。
即,在将CABAC初始化的情况下,设为CABAC_init_flag=1,将CABAC的编码部或CABAC的解码部初始化或再初始化。另外,在进行初始化的情况下,设定在CABAC处理中使用的上下文的初始值(默认状态)。
对编码处理进行说明。图77是表示在有关本实施方式的三维数据编码装置中包含的第1编码部5200的构成的框图。图78是表示有关本实施方式的分割部5201的构成的框图。图79是表示有关本实施方式的位置信息编码部5202及属性信息编码部5203的构成的框图。
第1编码部5200通过将点群数据用第1编码方法(GPCC((Geometry based PCC))编码,生成编码数据(编码流)。该第1编码部5200包括分割部5201、多个位置信息编码部5202、多个属性信息编码部5203、附加信息编码部5204和复用部5205。
分割部5201通过将点群数据分割而生成多个分割数据。具体而言,分割部5201通过将点群数据的空间分割为多个子空间而生成多个分割数据。这里子空间是瓦片及切片中的一方、或瓦片及切片的组合。更具体地讲,点群数据包含位置信息、属性信息及附加信息。分割部5201将位置信息分割为多个分割位置信息,将属性信息分割为多个分割属性信息。此外,分割部5201生成关于分割的附加信息。
分割部5201如图78所示,包括瓦片分割部5211和切片分割部5212。例如,瓦片分割部5211将点群分割为瓦片。瓦片分割部5211也可以将在分割的各瓦片中使用的量化值决定为瓦片附加信息。
切片分割部5212将由瓦片分割部5211得到的瓦片再分割为切片。切片分割部5212也可以将在分割的各切片中使用的量化值决定为切片附加信息。
多个位置信息编码部5202通过将多个分割位置信息编码而生成多个编码位置信息。例如,多个位置信息编码部5202将多个分割位置信息并行处理。
位置信息编码部5202如图79所示,包括CABAC初始化部5221和熵编码部5222。CABAC初始化部5221根据CABAC初始化标志将CABAC初始化或再初始化。熵编码部5222通过CABAC将分割位置信息进行编码。
多个属性信息编码部5203通过将多个分割属性信息编码,生成多个编码属性信息。例如,多个属性信息编码部5203将多个分割属性信息并行处理。
属性信息编码部5203如图79所示,包括CABAC初始化部5231和熵编码部5232。CABAC初始化部5221根据CABAC初始化标志将CABAC初始化或再初始化。熵编码部5232通过CABAC将分割属性信息进行编码。
附加信息编码部5204通过将点群数据中包含的附加信息、和由分割部5201在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。
复用部5205通过将多个编码位置信息、多个编码属性信息及编码附加信息复用而生成编码数据(编码流),并送出所生成的编码数据。此外,编码附加信息在解码时被使用。
另外,在图77中示出了位置信息编码部5202及属性信息编码部5203的数量分别为两个的例子,但位置信息编码部5202及属性信息编码部5203的数量分别可以是1个,也可以是3个以上。此外,多个分割数据既可以如CPU内的多个核那样在同一芯片内被并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
接着,对解码处理进行说明。图80是表示第1解码部5240的构成的框图。图81是表示位置信息解码部5242及属性信息解码部5243的构成的框图。
第1解码部5240通过对通过将点群数据用第1编码方法(GPCC)编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部5240包括逆复用部5241、多个位置信息解码部5242、多个属性信息解码部5243、附加信息解码部5244和结合部5245。
逆复用部5241通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。
多个位置信息解码部5242通过将多个编码位置信息解码,生成多个量化位置信息。例如,多个位置信息解码部5242将多个编码位置信息并行处理。
位置信息解码部5242如图81所示,包括CABAC初始化部5251和熵解码部5252。CABAC初始化部5251根据CABAC初始化标志,将CABAC初始化或再初始化。熵解码部5252通过CABAC将位置信息进行解码。
多个属性信息解码部5243通过将多个编码属性信息解码,生成多个分割属性信息。例如,多个属性信息解码部5243将多个编码属性信息并行处理。
属性信息解码部5243如图81所示,包括CABAC初始化部5261和熵解码部5262。CABAC初始化部5261根据CABAC初始化标志,将CABAC初始化或再初始化。熵解码部5262通过CABAC将属性信息进行解码。
多个附加信息解码部5244通过将编码附加信息解码,生成附加信息。
结合部5245通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5245通过使用附加信息将多个分割属性信息结合,生成属性信息。例如,结合部5245首先使用切片附加信息将针对切片的解码后的点群数据结合,由此生成与瓦片对应的点群数据。接着,结合部5245使用瓦片附加信息将与瓦片对应的点群数据结合,由此将原来的点群数据复原。
另外,在图80中示出了位置信息解码部5242及属性信息解码部5243的数量分别为两个的例子,但位置信息解码部5242及属性信息解码部5243的数量分别可以是1个,也可以是3个以上。此外,多个分割数据既可以如CPU内的多个核那样在同一芯片内被并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
图82是表示位置信息的编码或属性信息的编码中的与CABAC的初始化有关的处理的一例的流程图。
首先,三维数据编码装置按每个切片,基于规定的条件判定在该切片的位置信息的编码中是否进行CABAC初始化(S5201)。
三维数据编码装置在判断为进行CABAC初始化的情况下(在S5202中是),决定在位置信息的编码中使用的上下文初始值(S5203)。上下文初始值被设定为考虑了编码特性的初始值。初始值既可以为预先设定的值,也可以根据切片内的数据的特性而自适应地决定。
接着,三维数据编码装置将位置信息的CABAC初始化标志设定为1,设定上下文初始值(S5204)。在进行CABAC初始化的情况下,在位置信息的编码中,使用上下文初始值执行初始化处理。
另一方面,三维数据编码装置在判断为不进行CABAC初始化的情况下(在S5202中否),将位置信息的CABAC初始化标志设定为0(S5205)。
接着,三维数据编码装置按每个切片,基于规定的条件判定在该切片的属性信息的编码中是否进行CABAC初始化(S5206)。
三维数据编码装置在判断为进行CABAC初始化的情况下(在S5207中是),决定在属性信息的编码中使用的上下文初始值(S5208)。上下文初始值被设定为考虑了编码特性的初始值。初始值既可以为预先设定的值,也可以根据切片内的数据的特性自适应性决定。
接着,三维数据编码装置将属性信息的CABAC初始化标志设定为1,设定上下文初始值(S5209)。在进行CABAC初始化的情况下,在属性信息的编码中,使用上下文初始值执行初始化处理。
另一方面,三维数据编码装置在判断为不进行CABAC初始化的情况下(在S5207中否),将属性信息的CABAC初始化标志设定为0(S5210)。
另外,在图82中的流程图中,有关位置信息的处理和有关属性信息的处理的处理顺序也可以相反,也可以是并行。
另外,在图82中的流程图中,以切片单位的处理为例,但在瓦片单位或其他数据单位下的处理的情况下也能够与切片单位同样地处理。即,图82的流程图的切片可以替换为瓦片或其他数据单位。
此外,关于规定的条件,既可以在位置信息和属性信息中是相同的条件,也可以是不同的条件。
图83是表示在作为比特流的点群数据中CABAC初始化的定时的一例的图。
点群数据包含位置信息和0以上的属性信息。即,点群数据既有不具有属性信息的情况,也有具有多个属性信息的情况。
例如,针对1个三维点,有作为属性信息而具有颜色信息的情况、具有颜色信息和反射信息的情况、具有与1个以上的视点信息分别建立了关联的1个以上的颜色信息的情况等。
在任何构成的情况下,都能够应用在本实施方式中说明的方法。
接着,对CABAC的初始化的判定条件进行说明。
在满足以下的条件的情况下,也可以将位置信息或者属性信息的编码中的CABAC初始化。
例如,也可以在位置信息或属性信息(如果有多个则各个属性信息)的开头数据将CABAC初始化。例如,也可以在构成能够单独解码的PCC帧的数据的开头将CABAC初始化。即,如图83的(a)所示,如果PCC帧能够以帧单位解码,则也可以在PCC帧的开头数据将CABAC初始化。
此外,例如如图83的(b)所示,在PCC帧之间使用帧间预测的情况等不能以帧单独解码的情况下,也可以在随机访问单位(例如GOF)的开头数据将CABAC初始化。
此外,例如如图83的(c)所示,也可以在被分割为1个以上的切片数据的开头、被分割为1个以上的瓦片数据的开头、其他的分割数据的开头将CABAC初始化。
图83的(c)例示了瓦片,但在切片的情况下也是同样的。在瓦片或切片的开头,既可以必须初始化,也可以未必初始化。
图84是表示编码数据的构成及编码数据向NAL单元的保存方法的图。
初始化信息既可以保存在编码数据的头中,也可以保存在元数据中。此外,初始化信息也可以保存在头和元数据双方中。初始化信息例如是caba_init_flag、CABAC初始值或能够确定初始值的表的索引。
在本实施方式中说明为保存在元数据中的部分也可以替换为保存在编码数据的头中,相反也是同样的。
初始化信息在保存到编码数据的头中的情况下,例如也可以保存到编码数据中的最初的NAL单元中。在位置信息中保存位置信息的编码的初始化信息,在属性信息中保存属性信息的编码的初始化信息。
属性信息的编码的cabac_init_flag和位置信息的编码的cabac_init_flag既可以为相同的值,也可以为不同的值。在设为相同的值的情况下,也可以使位置信息和属性信息的cabac_init_flag共同。此外,在设为不同的值的情况下,位置信息和属性信息的cabac_init_flag分别表示不同的值。
初始化信息既可以保存到在位置信息和属性信息中共同的元数据中,也可以保存到位置信息的单独的元数据及属性信息的单独的元数据的至少一方中,也可以保存到共同的元数据和单独的元数据双方中。此外,也可以使用表示是否记载在位置信息的单独的元数据、属性信息的单独的元数据及共同的元数据中的任一个中的标志。
图85是表示与位置信息的解码或属性信息的解码中的CABAC的初始化有关的处理的一例的流程图。
三维数据解码装置将编码数据解析,取得位置信息的CABAC初始化标志、属性信息的CABAC初始化标志和上下文初始值(S5211)。
接着,三维数据解码装置判定位置信息的CABAC初始化标志是否是1(S5212)。
三维数据解码装置在位置信息的CABAC初始化标志是1的情况下(在S5212中是),使用位置信息编码的上下文初始值,将位置信息编码的CABAC解码初始化(S5213)。
另一方面,三维数据解码装置在位置信息的CABAC初始化标志是0的情况下(在S5212中否),在位置信息编码中不将CABAC解码初始化(S5214)。
接着,三维数据解码装置判定属性信息的CABAC初始化标志是否是1(S5215)。
三维数据解码装置在属性信息的CABAC初始化标志是1的情况下(在S5215中是),使用属性信息编码的上下文初始值,将属性信息编码的CABAC解码初始化(S5216)。
另一方面,三维数据解码装置在属性信息的CABAC初始化标志是0的情况下(在S5215中否),在属性信息编码中不将CABAC解码初始化(S5217)。
另外,在图85的流程图中,有关位置信息的处理和有关属性信息的处理的处理顺序也可以相反,也可以是并行。
另外,图85的流程图对于切片分割的情况、瓦片分割的情况的哪一方都能够应用。
接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图86是有关本实施方式的点群数据的编码处理的流程图。
首先,三维数据编码装置决定要使用的分割方法(S5221)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包括进行瓦片分割或切片分割的情况下的分割数量及分割种类等。分割种类指的是上述那样的基于对象形状的方法、基于地图信息或位置信息的手法、或基于数据量或处理量的方法等。另外,分割方法也可以被预先设定。
在进行瓦片分割的情况下(在S5222中是),三维数据编码装置通过将位置信息和属性信息以瓦片单位分割而生成多个瓦片位置信息及多个瓦片属性信息(S5223)。此外,三维数据编码装置生成有关瓦片分割的瓦片附加信息。
在进行切片分割的情况下(在S5224中是),三维数据编码装置通过将多个瓦片位置信息及多个瓦片属性信息(或位置信息及属性信息)分割而生成多个分割位置信息及多个分割属性信息(S5225)。此外,三维数据编码装置生成有关切片分割的位置切片附加信息及属性切片附加信息。
接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息分别编码,生成多个编码位置信息及多个编码属性信息(S5226)。此外,三维数据编码装置生成依赖关系信息。
接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行NAL单元化(复用),生成编码数据(编码流)(S5227)。此外,三维数据编码装置送出所生成的编码数据。
图87是表示在瓦片的分割(S5222)或切片的分割(S5225)中决定CABAC初始化标志的值并更新附加信息的处理的一例的流程图。
在步骤S5222、S5225中,瓦片及/或切片的位置信息及属性信息既可以用各自的方法独立地单独分割,也可以共同一起分割。由此,生成按每个瓦片及/或按每个切片分割的附加信息。
此时,三维数据编码装置决定将CABAC初始化标志设定为1还是0(S5231)。
并且,三维数据编码装置更新附加信息,以使其包含所决定的CABAC初始化标志(S5232)。
图88是表示在编码(S5226)的处理中进行CABAC初始化的处理的一例的流程图。
三维数据编码装置判定CABAC初始化标志是否是1(S5241)。
三维数据编码装置在CABAC初始化标志是1的情况下(在S5241中是),将CABAC编码部再初始化为默认状态(S5242)。
并且,三维数据编码装置继续编码处理,直到满足编码处理的停止条件、例如直到不再有编码对象的数据(S5243)。
图89是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(瓦片附加信息、位置切片附加信息及属性切片附加信息)解析,判定分割方法(S5251)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包括进行瓦片分割或切片分割的情况下的分割数量及分割种类等。
接着,三维数据解码装置通过使用编码数据中包含的依赖关系信息将编码数据中包含的多个编码位置信息及多个编码属性信息解码,生成分割位置信息及分割属性信息(S5252)。
在由附加信息表示进行了切片分割的情况下(在S5253中是),三维数据解码装置通过基于位置切片附加信息及属性切片附加信息将多个分割位置信息与多个分割属性信息结合,生成多个瓦片位置信息及多个瓦片属性信息(S5254)。
在由附加信息表示进行了瓦片分割的情况下(在S5255中是),三维数据解码装置通过基于瓦片附加信息将多个瓦片位置信息及多个瓦片属性信息(多个分割位置信息及多个分割属性信息)结合,生成位置信息及属性信息(S5256)。
图90是表示在按每个切片进行了分割的信息的结合(S5254)或按每个瓦片进行了分割的信息的结合(S5256)中将CABAC解码部初始化的处理的一例的流程图。
切片或瓦片的位置信息及属性信息既可以使用各自的方法结合,也可以使用相同的方法结合。
三维数据解码装置根据编码流的附加信息,将CABAC初始化标志解码(S5261)。
接着,三维数据解码装置判定CABAC初始化标志是否是1(S5262)。
三维数据解码装置在CABAC初始化标志是1的情况下(在S5262中是),将CABAC解码部再初始化为默认状态(S5263),。
另一方面,三维数据解码装置在CABAC初始化标志不是1的情况下(在S5262中否),不将CABAC解码部再初始化而向步骤S5264前进。
并且,三维数据解码装置继续解码处理,直到满足解码处理的停止条件,例如直到不再有解码对象的数据(S5264)。
接着,对CABAC初始化的其他判定条件进行说明。
关于是否将位置信息的编码或属性信息的编码初始化,也可以考虑瓦片或切片等的数据单位的编码效率来判定。在此情况下,也可以在满足规定的条件的瓦片或切片的开头数据将CABAC初始化。
接着,对位置信息的编码中的CABAC初始化的判定条件进行说明。
三维数据编码装置例如也可以按每个切片,判定点群数据的密度,即属于切片的每个单位区域的点的数量,将其他切片的数据密度与该切片的数据密度比较,在数据密度的变化不超过规定的条件的情况下,判断为不将CABAC初始化时编码效率更好,判断为不进行CABAC初始化。另一方面,三维数据编码装置也可以在数据密度的变化不满足规定的条件的情况下,判断为初始化时编码效率更好,判断为进行CABAC初始化。
这里其他切片例如可以是在解码处理顺序上的前1个切片,也可以是在空间上相邻的切片。此外,三维数据编码装置即使不与其他切片的数据密度比较,也可以根据该切片的数据密度是否是规定的数据密度来判定是否进行CABAC初始化。
三维数据编码装置在判定为进行CABAC初始化的情况下,决定在位置信息的编码中使用的上下文初始值。上下文初始值被设定为与数据密度对应的编码特性较好的初始值。三维数据编码装置也可以预先保持与数据密度对应的初始值表,从表中选择最优的初始值。
另外,三维数据编码装置并不限于切片的密度的例子,也可以基于点的数量、点的分布、点的偏倚等来判定是否进行CABAC初始化。或者,三维数据编码装置也可以基于根据点的信息得到的特征量及特征点的数量、或者识别的对象,来判定是否进行CABAC初始化。在此情况下,判定基准也可以作为与根据点的信息得到的特征量或特征点的数量、或基于点的信息识别的对象建立了对应的表而预先保持在存储器中。
三维数据编码装置例如也可以判定地图信息的位置信息中的对象,根据基于位置信息的对象来判定是否进行CABAC初始化,也可以基于将三维数据投影为二维的信息或特征量来判定是否进行CABAC初始化。
接着,对属性信息的编码中的CABAC初始化的判定条件进行说明。
三维数据编码装置例如将前1个切片的颜色的特性与该切片的颜色的特性比较,在颜色的特性的变化满足规定的条件的情况下判断为不进行CABAC初始化时编码效率更好,判断为不进行CABAC初始化。另一方面,三维数据编码装置也可以在颜色的特性的变化不满足规定的条件的情况下判断为进行CABAC初始化时编码效率更好,判断为进行CABAC初始化。颜色的特性例如是亮度、色度、色彩度、它们的直方图、颜色的连续性等。
这里,其他切片例如可以是解码处理顺序上的前1个切片,也可以是在空间上相邻的切片。此外,三维数据编码装置即使不与其他切片的数据密度比较,也可以根据该切片的数据密度是否是规定的数据密度来判定是否进行CABAC初始化。
三维数据编码装置在判定为进行CABAC初始化的情况下,决定在位置信息的编码中使用的上下文初始值。上下文初始值被设定为与数据密度相应的编码特性较好的初始值。三维数据编码装置也可以预先保持与数据密度对应的初始值表,从表中选择最优的初始值。
三维数据编码装置在属性信息是反射率的情况下,也可以根据基于反射率的信息来判定是否进行CABAC初始化。
三维数据编码装置也可以在三维点有多个属性信息的情况下,按每个属性信息独立地决定基于各个属性信息的初始化信息,或者,也可以基于某一方的属性信息来决定多个属性信息的初始化信息,也可以使用多个属性信息来决定该多个属性信息的初始化信息。
说明了基于位置信息决定位置信息的初始化信息、基于属性信息决定属性信息的初始化信息的例子,但也可以基于位置信息来决定位置信息及属性信息的初始化信息,也可以基于属性信息来决定位置信息及属性信息的初始化信息,也可以基于双方信息来决定位置信息及属性信息的初始化信息。
三维数据编码装置例如也可以通过将cabac_init_flag设定为on(开启)或off(关闭)、或从初始值表中使用1个以上的初始值,基于预先对编码效率进行了模拟的结果来决定初始化信息。
三维数据编码装置也可以在基于位置信息或属性信息决定了对切片或瓦片等的数据分割方法的情况下,根据与基于分割方法的决定的信息相同的信息来决定初始化信息。
图91是表示瓦片及切片的例子的图。
例如,具有PCC数据的一部分的1个瓦片中的切片如凡例所示那样被识别。CABAC初始化标志可以用来判定在连续的切片中是否需要上下文的再初始化。例如,在图91中,在一个瓦片中包含按每个对象(移动体、人行道、建筑物、树、其他对象)分割的切片数据的情况下,移动体、人行道、树的切片的CABAC初始化标志被设定为1,建筑物及其他切片的CABAC初始化标志被设定为0。这例如在人行道和建筑物两者都是较密的永久结构、有可能具有同样的编码效率的情况下,通过在人行道与建筑物的切片间不将CABAC再初始化,有可能能够提高编码效率。另一方面,在建筑物和树之间有可能密度及编码效率较大地不同的情况下,通过在建筑物与树的切片间将CABAC初始化,有可能能够提高编码效率。
图92是表示CABAC的初始化及上下文初始值的决定方法的一例的流程图。
首先,三维数据编码装置基于根据位置信息判定的对象,将点群数据分割为切片(S5271)。
接着,三维数据编码装置按每个切片,基于该切片的对象的数据密度,判定是否进行位置信息的编码和属性信息的编码的CABAC初始化(S5272)。即,三维数据编码装置基于位置信息,决定位置信息的编码和属性信息的编码的CABAC初始化信息(CABAC初始化标志)。三维数据编码装置例如利用点群数据密度判定编码效率较好的初始化。另外,CABAC初始化信息也可以由在位置信息和属性信息中共同的cabac_init_flag表示。
接着,三维数据编码装置在判定为进行CABAC初始化的情况下(在S5273中是),决定位置信息的编码的上下文初始值(S5274)。
接着,三维数据编码装置决定属性信息的编码的上下文初始值(S5275)。
接着,三维数据编码装置将位置信息的CABAC初始化标志设定为1,设定位置信息的上下文初始值,并将属性信息的CABAC初始化标志设定为1,设定属性信息的上下文初始值(S5276)。另外,在进行CABAC初始化的情况下,三维数据编码装置在位置信息的编码及属性信息的编码的各自中,使用上下文初始值实施初始化处理。
另一方面,三维数据编码装置在判定为不进行CABAC初始化的情况下(在S5273中否),将位置信息的CABAC初始化标志设定为0,将属性信息的CABAC初始化标志设定为0(S5277)。
图93是表示将对由LiDAR得到的点群数据进行俯视的地图分割为瓦片的情况下的例子的图。图94是表示CABAC初始化及上下文初始值的决定方法的另一例的流程图。
三维数据编码装置在大规模地图数据中,基于位置信息,通过俯视中的二维的分割方法,将点群数据分割为1个以上的瓦片(S5281)。三维数据编码装置例如也可以用如图93所示的正方形的区域进行分割。此外,三维数据编码装置也可以将点群数据分割为各种各样的形状、大小的瓦片。瓦片的分割也可以由预先设定的1个以上的方法进行,也可以自适应地进行。
接着,三维数据编码装置按每个瓦片判定瓦片内的对象,判定在该瓦片的位置信息的编码或属性信息的编码中是否进行CABAC初始化(S5282)。另外,三维数据编码装置在切片分割的情况下,对对象(树、人、移动体、建筑物)进行识别,根据对象进行切片分割及初始值的判定。
三维数据编码装置在判定为进行CABAC初始化的情况下(在S5283中是),决定位置信息的编码的上下文初始值(S5284)。
接着,三维数据编码装置决定属性信息的编码的上下文初始值(S5285)。
在步骤S5284及S5285中,也可以作为初始值而存储具有特定的编码特性的瓦片的初始值,用作具有相同的编码特性的瓦片的初始值。
接着,三维数据编码装置将位置信息的CABAC初始化标志设定为1,设定位置信息的上下文初始值,并将属性信息的CABAC初始化标志设定为1,设定属性信息的上下文初始值(S5286)。另外,在进行CABAC初始化的情况下,三维数据编码装置在位置信息的编码及属性信息的编码的各自中,使用上下文初始值实施初始化处理。
另一方面,三维数据编码装置在判定为不进行CABAC初始化的情况下(在S5283中否),将位置信息的CABAC初始化标志设定为0,将属性信息的CABAC初始化标志设定为0(S5287)。
(实施方式8)
以下,对量化参数进行说明。
为了基于点群数据的特性及位置将点群数据分割,使用切片及瓦片。这里,根据硬件的限制及实时处理的要件,有对各个分割后的点群数据要求的品质不同的情况。例如,在按每个对象分割为切片而进行编码的情况下,由于包括植物的切片数据不那么重要,所以通过量化能够降低分辨率(品质)。另一方面,关于重要的切片数据,通过将量化的值设定为较低的值,能够成为较高的分辨率(品质)。为了能够进行这样的量化值的控制而使用量化参数。
这里,作为量化的对象的数据、在量化中使用的尺度(scale)和作为通过量化计算的结果的量化数据由以下的(式G1)和(式G2)表示。
量化数据=数据/尺度 (式G1)
数据=量化数据*尺度 (式G2)
图95是用来说明对数据进行量化的量化部5323及对量化数据进行逆量化的逆量化部5333的处理的图。
量化部5323通过使用尺度对数据进行量化即进行使用式G1的处理,计算数据被量化的量化数据。
逆量化部5333通过使用尺度对量化数据进行逆量化、即进行使用式G2的处理,计算量化数据被逆量化的数据。
此外,尺度和量化值(QP(Quantization Parameter:量化参数)值)由以下的(式G3)表示。
量化值(QP值)=log(尺度) (式G3)
量化值(QP值)=默认值(基准值)+量化delta(差分信息) (式G4)
此外,将这些参数总称为量化参数(Quantization Parameter)。
例如,如图96所示,量化值是以默认值为基准的值,通过对默认值加上量化delta来计算。在量化值是比默认值小的值的情况下,量化delta为负值。在量化值是比默认值大的值的情况下,量化delta为正值。在量化值与默认值相等的情况下,量化delta为0。在量化delta是0的情况下,量化delta也可以没有。
对编码处理进行说明。图97是表示在有关本实施方式的三维数据编码装置中包含的第1编码部5300的构成的框图。图98是表示有关本实施方式的分割部5301的构成的框图。图99是表示有关本实施方式的位置信息编码部5302及属性信息编码部5303的构成的框图。
第1编码部5300通过将点群数据用第1编码方法(GPCC(Geometry based PCC))编码而生成编码数据(编码流)。该第1编码部5300包括分割部5301、多个位置信息编码部5302、多个属性信息编码部5303、附加信息编码部5304和复用部5305。
分割部5301通过将点群数据分割而生成多个分割数据。具体而言,分割部5301通过将点群数据的空间分割为多个子空间而生成多个分割数据。这里,子空间指的是瓦片及切片中的一方、或瓦片及切片的组合。更具体地讲,点群数据包含位置信息、属性信息及附加信息。分割部5301将位置信息分割为多个分割位置信息,将属性信息分割为多个分割属性信息。此外,分割部5301生成关于分割的附加信息。
分割部5301如图98所示,包括瓦片分割部5311和切片分割部5312。例如,瓦片分割部5311将点群分割为瓦片。瓦片分割部5311也可以将在分割的各瓦片中使用的量化值决定为瓦片附加信息。
切片分割部5312将由瓦片分割部5311得到的瓦片再分割为切片。切片分割部5312也可以将在分割的各切片中使用的量化值决定为切片附加信息。
多个位置信息编码部5302通过将多个分割位置信息编码而生成多个编码位置信息。例如,多个位置信息编码部5302将多个分割位置信息并行处理。
位置信息编码部5302如图99所示,包括量化值计算部5321和熵编码部5322。量化值计算部5321取得被编码的分割位置信息的量化值(量化参数)。熵编码部5322通过使用由量化值计算部5321取得的量化值(量化参数)对分割位置信息进行量化,计算量化位置信息。
多个属性信息编码部5303通过将多个分割属性信息编码,生成多个编码属性信息。例如,多个属性信息编码部5303将多个分割属性信息并行处理。
属性信息编码部5303如图99所示,包括量化值计算部5331和熵编码部5332。量化值计算部5331取得被编码的分割属性信息的量化值(量化参数)。熵编码部5332通过使用由量化值计算部5331取得的量化值(量化参数)对分割属性信息进行量化,计算量化属性信息。
附加信息编码部5304通过将点群数据中包含的附加信息和由分割部5301在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。
复用部5305通过将多个编码位置信息、多个编码属性信息及编码附加信息复用而生成编码数据(编码流),送出所生成的编码数据。此外,编码附加信息在解码时被使用。
另外,在图97中示出了位置信息编码部5302及属性信息编码部5303的数量分别为两个的例子,但位置信息编码部5302及属性信息编码部5303的数量分别可以是1个,也可以是3个以上。此外,多个分割数据既可以如CPU内的多个核那样在同一芯片内被并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
接着,对解码处理进行说明。图100是表示第1解码部5340的构成的框图。图101是表示位置信息解码部5342及属性信息解码部5343的构成的框图。
第1解码部5340通过对通过将点群数据用第1编码方法(GPCC)编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部5340包括逆复用部5341、多个位置信息解码部5342、多个属性信息解码部5343、附加信息解码部5344和结合部5345。
逆复用部5341通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。
多个位置信息解码部5342通过将多个编码位置信息解码,生成多个量化位置信息。例如,多个位置信息解码部5342将多个编码位置信息并行处理。
位置信息解码部5342如图101所示,包括量化值计算部5351和熵解码部5352。量化值计算部5351取得量化位置信息的量化值。熵解码部5352通过使用由量化值计算部5351取得的量化值对量化位置信息进行逆量化,计算位置信息。
多个属性信息解码部5343通过将多个编码属性信息解码,生成多个分割属性信息。例如,多个属性信息解码部5343将多个编码属性信息并行处理。
属性信息解码部5343如图101所示,包括量化值计算部5361和熵解码部5362。量化值计算部5361取得量化属性信息的量化值。熵解码部5362通过使用由量化值计算部5361取得的量化值对量化属性信息进行逆量化,计算属性信息。
多个附加信息解码部5344通过将编码附加信息解码,生成附加信息。
结合部5345通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部5345通过使用附加信息将多个分割属性信息结合,生成属性信息。例如,结合部5345首先通过使用切片附加信息将针对切片的解码后的点群数据结合,生成与瓦片对应的点群数据。接着,结合部5345通过使用瓦片附加信息将与瓦片对应的点群数据结合,复原原来的点群数据。
另外,在图100中示出了位置信息解码部5342及属性信息解码部5343的数量分别为两个的例子,但位置信息解码部5342及属性信息解码部5343的数量分别可以是1个,也可以是3个以上。此外,多个分割数据既可以如CPU内的多个核那样在同一芯片内被并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核并行处理。
[量化参数的决定方法]
图102是表示位置信息(Geometry)的编码或属性信息(Attribute)的编码中的与量化值(Quantization Parameter值:QP值)的决定有关的处理的一例的流程图。
关于QP值,例如按构成PCC帧的位置信息的每数据单位、或按属性信息的每数据单位,考虑编码效率而决定。在数据单位是分割后的瓦片单位或分割后的切片单位的情况下,考虑分割的数据单位的编码效率而以分割的数据单位决定QP值。此外,QP值也可以以分割前的数据单位来决定。
如图102所示,三维数据编码装置决定在位置信息的编码中使用的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值的调整也可以基于位置信息的编码的速率来调整。
另外,在图102的流程图中,有关位置信息的处理和有关属性信息的处理的处理顺序也可以相反,也可以是并行。
另外,在图102的流程图中,以切片单位的处理为例,但在瓦片单位或其他数据单位下的处理的情况也能够与切片单位同样地处理。即,图102的流程图的切片可以替换为瓦片或其他数据单位。
图103是表示位置信息及属性信息的解码处理的一例的流程图。
如图103所示,三维数据解码装置取得表示位置信息的QP值的基准值及差分信息、和表示属性信息的QP值的基准值及差分信息(S5311)。具体而言,三维数据解码装置将被传输的元数据、编码数据的头的某一方或双方解析,取得用来导出QP值的基准值及差分信息。
接着,三维数据解码装置使用所取得的基准值及差分信息,基于规定的方法来导出QP值(S5312)。
并且,三维数据解码装置取得量化位置信息,通过使用所导出的QP值对量化位置信息进行逆量化,将位置信息解码(S5313)。
接着,三维数据解码装置取得量化属性信息,通过使用所导出的QP值对量化属性信息进行逆量化,将属性信息解码(S5314)。
接着,对量化参数的传输方法进行说明。
图104是用来说明量化参数的传输方法的第1例的图。图104的(a)是表示QP值的关系的一例的图。
在图104中,QG及QA分别表示在位置信息的编码中使用的QP值的绝对值、以及在属性信息的编码中使用的QP值的绝对值。QG是为了对多个三维点各自的位置信息进行量化而使用的第1量化参数的一例。此外,Δ(QA,QG)示出表示与在QA的导出中使用的QG的差分的差分信息。即,使用QG和Δ(QA,QG)导出QA。这样,将QP值分为基准值(绝对值)和差分信息(相对值)来传输。此外,在解码中,根据被传输的基准值及差分信息来导出希望的QP值。
例如,在图104的(a)中,传输绝对值QG和差分信息Δ(QA,QG),在解码中,如下述的(式G5)所示,通过对QG加上Δ(QA,QG)而导出QA
QA=QG+Δ(QA,QG) (式G5)
说明使用图104的(b)及(c)将由位置信息及属性信息构成的点群数据进行切片分割的情况下的QP值的传输方法。图104的(b)是表示各QP值的基准值与差分信息的关系的第1例的图。图104的(c)是表示QP值、位置信息及属性信息的传输顺序的第1例的图。
QP值按每个位置信息及按每个属性信息,大体上被分为PCC的帧单位的QP值(帧QP)和数据单位的QP值(数据QP)。数据单位的QP值是在图102的步骤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在各个编码数据中,参照由图104的(c)的箭头表示的元数据,取得与该编码数据对应的基准值及差分信息。并且,第1解码部5340基于所取得的基准值及差分信息,导出与解码对象的编码数据对应的QP值。
第1解码部5340例如从元数据或头取得在图104的(c)中用箭头表示的基准信息“1.”及差分信息“2.”“6.”,如用下述的(式G6)表示那样,通过对基准信息“1.”加上差分信息“2.”及“6.”,导出As2的QP值。
QAS2=QG+Δ(QA,QG)+Δ(QAs2,QA) (式G6)
点群数据包含位置信息和0以上的属性信息。即,点群数据既有不具有属性信息的情况,也有具有多个属性信息的情况。
例如,对于1个三维点,作为属性信息,有具有颜色信息的情况、具有颜色信息和反射信息的情况、具有与1个以上的视点信息分别建立关联的1个以上的颜色信息的情况等。
这里,使用图105对具有两个颜色信息、及反射信息的情况下的例子进行说明。图105是用来说明量化参数的传输方法的第2例的图。图105的(a)是表示各QP值的基准值与差分信息的关系的第2例的图。图105的(b)是表示QP值、位置信息及属性信息的传输顺序的第2例的图。
QG与图104同样,是第1量化参数的一例。
两个颜色信息分别由亮度(Luma)Y和色差(chroma)Cb、Cr表示。作为在第1颜色的亮度Y1的编码中使用的QP值的QY1使用作为基准值的QG和表示其差分的Δ(QY1,QG)来导出。亮度Y1是第1亮度的一例,QY1是为了对作为第1亮度的亮度Y1进行量化而使用的第2量化参数的一例。Δ(QY1,QG)是差分信息“2.”。
此外,作为在第1颜色的色差Cb1、Cr1的编码中使用的QP值的QCb1、QCr1分别使用QY1和表示其差分的Δ(QCb1,QY1)、Δ(QCr1,QY1)来导出。色差Cb1、Cr1是第1色差的一例,QCb1、QCr1是为了对作为第1色差的色差Cb1、Cr1进行量化而使用的第3量化参数的一例。Δ(QCb1,QY1)是差分信息“3.”,Δ(QCr1,QY1)是差分信息“4.”。Δ(QCb1,QY1)及Δ(QCr1,QY1)分别是第1差分的一例。
另外,QCb1及QCr1既可以使用相互相同的值,也可以使用共同的值。在使用共同的值的情况下,由于只要使用QCb1及QCr1的一方就可以,所以另一方没有也可以。
此外,作为在切片数据的第1颜色的亮度Y1D的编码中使用的QP值的QY1D使用QY1和表示其差分的Δ(QY1D,QY1)来导出。切片数据的第1颜色的亮度Y1D是子空间中包含的1个以上的三维点的第1亮度的一例,QY1D是为了对亮度Y1D进行量化而使用的第5量化参数的一例。Δ(QY1D,QY1)是差分信息“10.”,是第2差分的一例。
同样,作为在切片数据的第1颜色的色差Cb1D、Cr1D的编码中使用的QP值的QCb1D、QCr1D分别使用QCb1、QCr1和表示其差分的Δ(QCb1D,QCb1)、Δ(QCr1D,QCr1)来导出。切片数据的第1颜色的色差Cb1D、Cr1D是子空间中包含的1个以上的三维点的第1色差的一例,QCb1D、QCr1D是为了对色差Cb1D、Cr1D进行量化而使用的第6量化参数的一例。Δ(QCb1D,QCb1)是差分信息“11.”,Δ(QCr1D,QCr1)是差分信息“12.”。Δ(QCb1D,QCb1)及Δ(QCr1D,QCr1)是第3差分的一例。
第1颜色的QP值的关系对于第2颜色也可以说是同样的,所以省略说明。
作为在反射率R的编码中使用的QP值的QR,使用作为基准值的QG和表示其差分的Δ(QR,QG)来导出。QR是为了对反射率R进行量化而使用的第4量化参数的一例。Δ(QR,QG)是差分信息“8.”。
此外,作为在切片数据的反射率RD的编码中使用的QP值的QRD,使用QR和表示其差分的Δ(QRD,QR)来导出。Δ(QRD,QR)是差分信息“16.”。
这样,差分信息“9.”~“16.”表示数据QP和帧QP的差分信息。
另外,例如在数据QP和帧QP的值是相同值的情况下,既可以将差分信息设为0,也可以通过不送出差分信息而看作0。
第1解码部5340例如在将第2颜色的色差Cr2解码时,从元数据或头取得由图105的(b)的箭头表示的基准信息“1.”及差分信息“5.”、“7.”及“15.”,如由下述的(式G7)表示那样,通过对基准信息“1.”加上差分信息“5.”“7.”及“15.”,导出色差Cr2的QP值。
QCr2D=QG+Δ(QY2,QG)+Δ(QCr2,QY2)+Δ(QCr2D,QCr2) (式G7)
接着,使用图106对将位置信息及属性信息二分割为瓦片后、二分割为切片的情况下的例子进行说明。图106是用来说明量化参数的传输方法的第3例的图。图106的(a)是表示各QP值的基准值与差分信息的关系的第3例的图。图106的(b)是表示QP值、位置信息及属性信息的传输顺序的第3例的图。图106的(c)是用来说明第3例中的差分信息的中间生成值的图。
在分割为多个瓦片后、进一步分割为多个切片的情况下,如图106的(c)所示,在分割为瓦片后,生成各个瓦片的QP值(QAt1)及差分信息Δ(QAt1,QA)作为中间生成值。并且,在分割为切片后,生成各切片的QP值(QAt1s1,QAt1s2)及差分信息(Δ(QAt1s1,QAt1)、Δ(QAt1s2,QAt1))。
在此情况下,例如图106的(a)中的差分信息“4.”通过以下的(式G8)导出。
Δ(QAt1s1,QA)=Δ(QAt1,QA)+Δ(QAt1s1,QAt1) (式G8)
第1解码部5340例如在将瓦片2的切片1的属性信息At2s1解码时,从元数据或头取得由图106的(b)的箭头表示的基准信息“1.”及差分信息“2.”,“8.”,如由下述的(式G9)表示那样,通过对基准信息“1.”加上差分信息“2.”、“8.”,导出属性信息At2s1的QP值。
QAt2s1=QG+Δ(QAt2s1,QA)+Δ(QA,QG) (式G9)
接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图107是有关本实施方式的点群数据的编码处理的流程图。
首先,三维数据编码装置决定要使用的分割方法(S5321)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包括进行瓦片分割或切片分割的情况下的分割数量及分割种类等。分割种类是上述那样的基于对象形状的方法、基于地图信息或位置信息的手法、或基于数据量或处理量的方法等。另外,分割方法也可以被预先设定。
在进行瓦片分割的情况下(在S5322中是),三维数据编码装置通过将位置信息和属性信息以瓦片单位进行分割,生成多个瓦片位置信息及多个瓦片属性信息(S5323)。此外,三维数据编码装置生成有关瓦片分割的瓦片附加信息。
在进行切片分割的情况下(在S5324中是),三维数据编码装置通过将多个瓦片位置信息及多个瓦片属性信息(或位置信息及属性信息)分割,生成多个分割位置信息及多个分割属性信息(S5325)。此外,三维数据编码装置生成有关切片分割的位置切片附加信息及属性切片附加信息。
接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息分别编码,生成多个编码位置信息及多个编码属性信息(S5326)。此外,三维数据编码装置生成依赖关系信息。
接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行NAL单元化(复用),生成编码数据(编码流)(S5327)。此外,三维数据编码装置送出所生成的编码数据。
图108是表示在瓦片的分割(S5323)或切片的分割(S5325)中决定QP值、更新附加信息的处理的一例的流程图。
在步骤S5323、S5325中,瓦片及/或切片的位置信息及属性信息既可以用各自的方法独立地单独分割,也可以共同一起分割。由此,生成按每个瓦片及/或按每个切片分割的附加信息。
此时,三维数据编码装置按分割后的每个瓦片及/或每个切片,决定QP值的基准值及差分信息(S5331)。具体而言,三维数据编码装置决定在图104~图106中例示那样的基准值及差分信息。
并且,三维数据编码装置更新附加信息,以包含所决定的基准值及差分信息(S5332)。
图109是表示在编码(S5326)的处理中将所决定的QP值编码的处理的一例的流程图。
三维数据编码装置将在步骤S5331中决定的QP值编码(S5341)。具体而言,三维数据编码装置将更新后的附加信息中包含的QP值的基准值及差分信息编码。
并且,三维数据编码装置继续进行编码处理,直到满足编码处理的停止条件、例如直到不再有编码对象的数据(S5342)。
图110是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(瓦片附加信息、位置切片附加信息及属性切片附加信息)解析,判定分割方法(S5351)。该分割方法包括是否进行瓦片分割、是否进行切片分割。此外,分割方法也可以包括进行瓦片分割或切片分割的情况下的分割数量及分割种类等。
接着,三维数据解码装置通过使用编码数据中包含的依赖关系将编码数据中包含的多个编码位置信息及多个编码属性信息信息解码,生成分割位置信息及分割属性信息(S5352)。
在由附加信息表示进行了切片分割的情况下(在S5353中是),三维数据解码装置通过基于位置切片附加信息及属性切片附加信息将多个分割位置信息和多个分割属性信息结合,生成多个瓦片位置信息及多个瓦片属性信息(S5354)。
在由附加信息表示进行了瓦片分割的情况下(在S5355中是),三维数据解码装置通过基于瓦片附加信息将多个瓦片位置信息及多个瓦片属性信息(多个分割位置信息及多个分割属性信息)结合,生成位置信息及属性信息(S5356)。
图111是表示在按每个切片分割后的信息的结合(S5354)或按每个瓦片分割后的信息的结合(S5356)中取得QP值、将切片或瓦片的QP值解码的处理的一例的流程图。
切片或瓦片的位置信息及属性信息既可以使用各自的方法结合,也可以使用相同的方法结合。
三维数据解码装置根据编码流的附加信息,将基准值及差分信息解码(S5361)。
接着,三维数据解码装置使用解码后的基准值及差分信息计算量化值,将在逆量化中使用的QP值更新为计算出的QP值(S5362)。由此,能够导出用来对每个瓦片或每个切片的量化属性信息进行逆量化的QP值导出。
并且,三维数据解码装置继续进行解码处理,直到满足解码处理的停止条件,例如直到不再有解码对象的数据(S5363)。
图112是表示GPS的句法例的图。图113是表示APS的句法例的图。图114是表示位置信息的头的句法例的图。图115是表示属性信息的头的句法例的图。
如图112所示,例如作为位置信息的附加信息的GPS包括表示作为QP值的导出的基准的绝对值的QP_value。QP value例如相当于在图104~图106中例示的QG
此外,如图113所示,例如作为属性信息的附加信息的APS在三维点有多个视点的多个颜色信息的情况下,也可以定义默认的视点,第0个必定记载默认视点的信息。例如,三维数据编码装置在将单一的颜色信息解码或显示的情况下,只要将第0个属性信息解码或显示就可以。
APS包括QP_delta_Attribute_to_Geometry。QP_delta_Attribute_to_Geometry表示与在GPS中记载的基准值(QP_value)的差分信息。该差分信息例如在属性信息是颜色信息的情况下是与亮度的差分信息。
此外,GPS也可以包含表示在Geometry_header(位置信息的头)中是否有用来计算QP值的差分信息的标志。此外,APS也可以包含表示在Attribute_header(属性信息的头)中是否有用来计算QP值的差分信息的标志。标志表示在属性信息中是否有用来计算数据QP的、数据QP与帧QP的差分信息。
这样,在编码流中,在属性信息中的第1颜色由第1亮度及第1色差表示的情况下,在使用用来对第1亮度进行量化的第2量化参数的量化、以及使用用来对第1色差进行量化的第3量化参数的量化中使用第5量化参数及第6量化参数进行了量化的情况下,也可以包含表示使用第5量化参数及第6量化参数进行了量化的识别信息(标志)。
此外,如图114所示,位置信息的头也可以包含表示与GPS中记载的基准值(QP_value)的差分信息的QP_delta_data_to_frame。此外,位置信息的头也可以分为每个瓦片及/或每个切片的信息,按每个瓦片及/或每个切片分别表示对应的QP值。
此外,如图115所示,属性信息的头也可以包括表示与APS中记载的QP值的差分信息的QP_delta_data_to_frame。
在图104~图106中,将QP值的基准值设为PCC帧中的位置信息的QP值而进行了说明,但并不限于此,也可以使用其他的值作为基准值。
图116是用来说明量化参数的传输方法的另一例的图。
图116的(a)及(b)表示设定在PCC帧中的位置信息及属性信息的QP值中共同的基准值Q的第4例。在第4例中,将基准值Q保存到GPS,将位置信息的QP值(QG)与基准值Q的差分信息保存到GPS,将属性信息的QP值(QY及QR)与基准值Q的差分信息保存到APS。另外,基准值Q也可以保存在SPS中。
图116的(c)及(d)表示按每个位置信息及属性信息独立地设定基准值的第5例。在第5例中,在GPS及APS中分别保存位置信息及属性信息的基准的QP值(绝对值)。即,对于位置信息设定基准值QG,对于属性信息的颜色信息设定基准值QY,对于属性信息的反射率设定基准值QR。这样,对于位置信息及多个种类的属性信息也可以分别设定QP值的基准值。另外,第5例也可以与另一例组合。即,第1例中的QA、第2例中的QY1、QY2、QR也可以是QP值的基准值。
图116的(e)及(f)表示在有多个PCC帧的情况下设定在多个PCC帧中共同的基准值Q的第6例。在第6例中,将基准值Q保存在SPS或GSPS中,将各个PCC帧的位置信息的QP值与基准值的差分信息保存在GPS中。另外,例如也可以如GOF那样,在随机访问单位的范围内,例如将随机访问单位的开头帧作为基准值,送出PCC帧之间的差分信息(例如,Δ(QG(1),QG(0)))。
另外,即使在瓦片或切片进一步被分割的情况下,也用同样的方法在数据头中保存与分割单位的QP值的差分信息并送出。
图117是用来说明量化参数的传输方法的另一例的图。
图117(a)及(b)表示设定在PCC帧中的位置信息及属性信息中共同的基准值QG的第7例。在第7例中,将基准值QG保存在GPS中,将与位置信息或属性信息的差分信息保存在各个数据头中。基准值QG也可以保存在SPS中。
此外,图117的(c)及(d)表示将属性信息的QP值用与属于同一个切片及瓦片的位置信息的QP值的差分信息表示的第8例。在第8例中,基准值QG也可以保存在SPS中。
图118是用来说明量化参数的传输方法的第9例的图。
图118的(a)及(b)是将属性信息中共同的QP值解析,分别表示与位置信息的QP值的差分信息、与属性信息中共同的QP值的差分信息的第9例。
图119是用来说明QP值的控制例的图。
量化参数的值越低则品质越提高,但由于需要更多的比特,所以编码效率下降。
例如,在将三维点群数据分割为瓦片而编码时,在瓦片中包含的点群数据是主要道路的情况下,使用预先定义的属性信息的QP值进行编码。另一方面,由于周围的瓦片不是重要的信息,所以通过将QP值的差分信息设定为正值,使数据的品质下降,有可能能够提高编码效率。
进而,在将分割为瓦片的三维点群数据分割为切片而编码时,对于人行道、树及建筑物而言,在自动驾驶中为了进行位置估计(定位及映射)是重要的,所以将QP值设定为负值,移动体及其他由于重要性较低,所以将QP值设定为正值。
图119(b)示出了基于瓦片及切片中包含的对象导出预先设定有量化delta值的情况下的差分信息的例子。例如,在分割数据是“主要道路”这一瓦片中包含的“建筑物”的切片数据的情况下,将“主要道路”这一瓦片的量化delta值0与“建筑物”这一切片数据的量化delta值-5相加,将差分信息导出为-5。
图120是表示基于对象的品质的QP值的决定方法的一例的流程图。
三维数据编码装置基于地图信息,将点群数据分割为1个以上的瓦片,判定在1个以上的瓦片各自中包含的对象(S5371)。具体而言,三维数据编码装置例如使用通过机器学习得到的学习模型,进行识别对象是什么的物体识别处理。
接着,三维数据编码装置判定是否将处理对象的瓦片以高品质编码(S5372)。高品质下的编码例如是以比规定的速率大的比特率进行编码。
接着,三维数据编码装置在将处理对象的瓦片以高品质编码的情况下(在S5372中是),设定瓦片的QP值以使编码品质变高(S5373)。
另一方面,三维数据编码装置在不将处理对象的瓦片以高品质编码的情况下(在S5372中否),设定瓦片的QP值以使编码品质变低(S5374)。
在步骤S5373或步骤S5374之后,三维数据编码装置判定瓦片内的对象,分割为1个以上的切片(S5375)。
接着,三维数据编码装置判定是否将处理对象的切片以高品质编码(S5376)。
接着,三维数据编码装置在将处理对象的切片以高品质编码的情况下(在S5376中是),设定切片的QP值以使编码品质变高(S5377)。
另一方面,三维数据编码装置在不将处理对象的切片以高品质编码的情况下(在S5376中否),设定切片的QP值以使编码品质变低(S5378)。
接着,三维数据编码装置基于所设定的QP值,决定用规定的方法传输的基准值及差分信息,将所决定的基准值及差分信息保存到附加信息及数据的头的至少一方(S5379)。
接着,三维数据编码装置基于所决定的QP值,对位置信息及属性信息进行量化、编码(S5380)。
图121是表示基于速率控制的QP值的决定方法的一例的流程图。
三维数据编码装置将点群数据依次编码(S5381)。
接着,三维数据编码装置根据编码数据的编码量及编码缓冲器的占用量,判定有关编码处理的速率控制状况,决定下次编码的品质(S5382)。
接着,三维数据编码装置判定是否提高编码品质(S5383)。
接着,三维数据编码装置在提高编码品质的情况下(在S5383中是),设定瓦片的QP值以使编码品质变高(S5384)。
另一方面,三维数据编码装置在不提高编码品质的情况下(在S5383中否),设定瓦片的QP值以使编码品质变低(S5385)。
接着,三维数据编码装置基于所设定的QP值,决定用规定的方法传输的基准值及差分信息,将所决定的基准值及差分信息保存到附加信息及数据的头的至少一方(S5386)。
接着,三维数据编码装置基于所决定的QP值,对位置信息及属性信息进行量化、编码(S5387)。
如以上这样,有关本实施方式的三维数据编码装置进行图122所示的处理。首先,三维数据编码装置使用第1量化参数对多个三维点各自的位置信息进行量化(S5391)。三维数据编码装置针对表示上述多个三维点各自的属性信息中的第1颜色的第1亮度及第1色差,使用第2量化参数对上述第1亮度进行量化,并且,使用第3量化参数对上述第1色差进行量化(S5392)。三维数据编码装置生成包含量化后的上述位置信息、量化后的上述第1亮度、量化后的上述第1色差、上述第1量化参数、上述第2量化参数、以及上述第2量化参数与上述第3量化参数的第1差分的比特流(S5393)。
由此,在比特流中,用与第2量化参数的第1差分表示第3量化参数,所以能够提高编码效率。
例如,三维数据编码装置还使用第4量化参数,对上述多个三维点各自的上述属性信息中的反射率进行量化。此外,在上述生成中,生成还包含量化后的上述反射率及上述第4量化参数的比特流。
例如,在使用上述第2量化参数的量化中,在按照将包含上述多个三维点的对象空间进行分割而得到的多个子空间的每一个子空间、对该子空间中包含的1个以上的三维点的上述第1亮度进行量化的情况下,还使用第5量化参数对上述子空间中包含的1个以上的三维点的上述第1亮度进行量化。在使用上述第3量化参数的量化中,在对上述1个以上的三维点的上述第1色差进行量化的情况下,还使用第6量化参数对上述1个以上的三维点的上述第1色差进行量化。在上述生成中,生成还包含上述第2量化参数与上述第5量化参数的第2差分、以及上述第3量化参数与上述第6量化参数的第3差分的比特流。
由此,在比特流中,用与第2量化参数的第2差分表示第5量化参数,并且用与第3量化参数的第3差分表示第6量化参数,所以能够提高编码效率。
例如,在上述生成中,在使用上述第2量化参数的量化及使用上述第3量化参数的量化中使用上述第5量化参数及上述第6量化参数进行量化的情况下,生成还包括以下识别信息的比特流,该识别信息表示使用上述第5量化参数及上述第6量化参数进行了量化。
由此,取得了比特流的三维数据解码装置能够使用识别信息判定为使用第5量化参数及第6量化参数进行了量化,所以能够减小解码处理的处理负荷。
例如,三维数据编码装置还针对表示上述多个三维点各自的属性信息中的第2颜色的第2亮度及第2色差,使用第7量化参数对上述第2亮度进行量化,并且使用第8量化参数对上述第2色差进行量化。在上述生成中,生成还包含量化后的上述第2亮度、量化后的上述第2色差、上述第7量化参数、以及上述第7量化参数与上述第8量化参数的第4差分的比特流。
由此,在比特流中,用与第7量化参数的第4差分表示第8量化参数,所以能够提高编码效率。此外,在三维点的属性信息中可以包含两种颜色信息。
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
此外,有关本实施方式的三维数据解码装置进行图123所示的处理。首先,三维数据解码装置通过取得比特流,取得包含量化后的位置信息、量化后的第1亮度、量化后的第1色差、第1量化参数、第2量化参数、以及上述第2量化参数与第3量化参数的第1差分(S5394)。三维数据解码装置通过使用上述第1量化参数对上述量化后的位置信息进行逆量化,计算多个三维点的位置信息(S5395)。三维数据解码装置通过使用上述第2量化参数对上述量化后的第1亮度进行逆量化,计算表示上述多个三维点的第1颜色的第1亮度及第1色差中的上述第1亮度(S5396)。三维数据解码装置通过使用根据上述第2量化参数及上述第1差分得到的上述第3量化参数对上述量化后的第1色差进行逆量化,计算上述第1色差(S5397)。
因此,三维数据解码装置能够将三维点的位置信息及属性信息正确地解码。
例如,在上述取得中,通过取得上述比特流,还取得量化后的反射率及第4量化参数。三维数据解码装置还使用上述第4量化参数对上述量化后的反射率进行逆量化,由此计算上述多个三维点的反射率。
因此,三维数据解码装置能够将三维点的反射率正确地解码。
例如,在上述取得中,通过取得上述比特流,还取得上述第2量化参数与第5量化参数的第2差分、以及上述第3量化参数与第6量化参数的第3差分。在上述第1亮度的计算中,在上述量化后的第1亮度是按照将包含上述多个三维点的对象空间进行分割而得到的多个子空间的每一个子空间、对该子空间中包含的1个以上的三维点的第1亮度进行量化而得到的亮度的情况下,使用根据上述第2量化参数及上述第2差分得到的上述第5量化参数对上述量化后的第1亮度进行逆量化,由此计算上述1个以上的三维点的上述第1亮度。在上述第1色差的计算中,在上述量化后的第1色差是对上述1个以上的三维点的第1色差进行量化而得到的色差的情况下,使用根据上述第3量化参数及上述第3差分得到的上述第6量化参数对上述量化后的第1色差进行逆量化,由此计算上述1个以上的三维点的上述第1色差。
例如,在上述取得中,通过取得上述比特流,还取得表示使用上述第5量化参数及上述第6量化参数进行了量化的识别信息。在上述第1亮度的计算中,在上述识别信息表示使用上述第5量化参数及上述第6量化参数进行了量化的情况下,判定为上述量化后的第1亮度是对上述1个以上的三维点的上述第1亮度进行量化而得到的亮度。在上述第1色差的计算中,在上述识别信息表示使用上述第5量化参数及上述第6量化参数进行了量化的情况下,判定为上述量化后的第1色差是对上述1个以上的三维点的上述第1色差进行量化而得到的色差。
由此,三维数据解码装置能够使用识别信息判定出使用第5量化参数及第6量化参数进行了量化,所以能够减小解码处理的处理负荷。
例如,在上述取得中,通过取得上述比特流,还取得量化后的第2亮度、量化后的第2色差、第7量化参数、以及上述第7量化参数与第8量化参数的第4差分。三维数据解码装置还使用上述第7量化参数对上述量化后的第2亮度进行逆量化,由此计算表示上述多个三维点的第2颜色的第2亮度及第2色差中的上述第2亮度。此外,三维数据解码装置还使用根据上述第7量化参数及上述第4差分得到的上述第8量化参数对上述量化后的第2色差进行逆量化,由此计算上述第2色差。
因此,三维数据解码装置能够将三维点的第2颜色正确地解码。
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
(实施方式9)
在上述实施方式8中说明的三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置中,也可以进行在本实施方式中说明的处理。
图124是用来对有关实施方式9的量化参数的传输方法的一例进行说明的图。图124的(a)表示在位置信息及属性信息各自中设定了QP值的基准值的例子。图124与实施方式8的图105相比,主要是与位置信息同样对属性信息也设定了QP值的基准值这一点不同。即,将包括第1颜色、第2颜色及反射率的多个属性信息中的某1个属性信息的QP值表示为基准值,将其他属性信息的QP值表示为与共同基准值的差分信息。
在图124中,作为在第1颜色的亮度Y1的编码中使用的QP值的QY1被设定为在包括第1颜色、第2颜色及反射率的多个属性信息间共同的基准值。此外,作为第2颜色的基准值的QY2使用作为共同的基准值的QY1和与QY1的差分信息“5.”的Δ(QY2,QY1)来导出。作为反射率的基准值的QR使用作为共同基准值的QY1和与QY1的差分信息“8.”的Δ(QR,QY1)来导出。在此情况下,作为共同基准值的QY1被包含在作为与第1颜色对应的APS的APS1中。
此外,第4属性也可以被设定与作为共同基准值的QY1独立的基准值。此外,第5属性也可以不具有QP值。这样,也可以混合存在用来导出在多个属性信息的量化中使用的多个QP值的共同基准值利用于量化的属性信息、以及与共同基准值独立的基准值利用于量化的属性信息。此外,也可以还混合存在QP值不利用于编码的属性信息。
另外,在图124的例子中,说明了在第1颜色的属性信息的量化中使用的QP值是用来导出在多个属性信息的量化中使用的QP值的共同基准值的例子,但也可以按照以下的规则来决定共同基准值。例如,在SPS等的控制信息中记载全部的属性信息的情况下,也可以将在全部的属性信息中的在SPS中最初表示的属性信息中包含的QP值设定为共同基准值。或者,在SPS等的控制信息中,也可以示出被设定为共同基准值的QP值利用于量化的属性信息。相反,在SPS等的控制信息中,也可以在多个属性信息的最初示出被设定为共同基准值的QP值利用于量化的属性信息。不论使用哪种方法,都将在多个属性信息各自的量化中使用的各QP值用基准值与差分信息的组合的信息表示,由此能够期待编码数据的削减。
另外,也可以将每个属性信息的基准值QY1、QY2、QR分别独立地用APS表示,属于第1颜色的QP值以QY1为基准值,属于第2颜色的QP值以QY2为基准值,属于反射率的QP值以QR为基准值。即,在此情况下,QY2及QR与QY1同样用绝对值表示。
第1例是表示将多个属性信息的元数据一起记载在1个APS中的情况下的属性信息的QP值的方法。
图125是表示APS的句法及属性信息的头的句法的第1例的图。
首先,对APS的句法例进行说明。
aps_idx表示APS的索引号。aps_idx表示APS与属性信息的头之间的对应关系。
sps_idx表示APS所对应的SPS的索引号。
num_of_attribute表示属性信息的数量。另外,在按每个属性信息设定APS的情况下,num_of_attribute的字段或循环也可以不包含在APS中。
attribute_type表示属性信息的类型、即属性信息的种类。另外,在属性信息的类型记载在对应的SPS中的情况下,也可以代替attribute_type而将用来参照在SPS中记载的属性信息的类型的信息包含在APS中。
在图125中由虚线6701包围的if语句中,表示与attribute_type对应的QP值。例如,在属性信息的类型是颜色的情况下,将由绝对值表示的亮度(流明)的QP值表示为基准值,将色差(色度:Cb、Cr)的QP值表示为与亮度的QP值的差分信息。
另一方面,在属性信息的类型是反射率的情况下,示出由绝对值表示的反射率的QP值。此外,属性信息的类型作为其他例,在不具有QP值的情况下不示出QP值。
此外,在属性信息有2个以上的情况下,属性信息的基准值(这里是QP_value_Luma或QP_value)也可以由与其他属性信息的基准值的差分来表示。例如,在num_of_attribute的循环中,也可以在i=0的情况下示出共同的属性信息的基准值,在i=>1的情况下,示出与共同的属性信息的差分值。
data_QP_delata_present_flag是表示在属性信息的头中是否存在各个Data(切片)的QP值的标志。在该标志是1的情况下,在属性信息的头中示出各个Data(切片)的QP值。
接着,对属性信息的头的句法例进行说明。
在属性信息的头中也包含有aps_idx。由此,由APS及在属性信息的头中包含的aps_idx表示APS与属性信息的头之间的对应关系。即,具有共同的aps_idx则表示APS及属性信息的头相互处于对应关系。
attribute_type表示属性信息的类型(属性信息的种类)。另外,在属性信息的类型被记载在对应的APS或SPS中的情况下,也可以代替attribute_type而将用来参照记载在APS或SPS中的属性信息的类型的信息包含在属性信息的头中。
由虚线6702包围的if语句中的各字段、即QP_delata_data_to_frame、QP_delta1_to_frame及QP_delta2_to_frame各自的QP值表示与attribute_type对应的数据的QP值。各QP值表示与在APS中记载的值的差分信息。
第2例是表示将1个属性信息的元数据独立地记载到1个APS中的情况下的属性信息的QP值的方法。在第2例中,通过做成在各种各样的类型(种类)的属性信息中共同的头结构,有避免与属性信息相应的句法结构的变化的效果。
图126是表示APS的句法的第2例的图。图127是表示属性信息的头的句法的第2例的图。
在APS中包含帧的QP值的基准值及差分值。此外,在APS的data_QP_delta_present_flag为1的情况下,在属性信息的头中包含与APS的基准值的差分信息。
这里,假设不论属性信息的类型是颜色、反射率、帧号等中的哪一个,有关QP值的字段都总是存在。不论属性信息的类型如何,APS都具有保存N个(N是2以上)QP值的第1数量的字段。这里,N例如是3。
例如,在属性信息的类型是颜色的情况下,在APS的QP_value中,保存表示流明的QP值的信息,在QP_delta1及QP_delta2中保存表示色度的QP值的信息。例如,QP_value是基准值,QP_delta1及QP_delta2是以QP_value为基准的差分信息。即,流明的QP值由QP_value表示,色度的QP值由对QP_value加上QP_delta1后的值以及对QP_value加上QP_delta2后的值表示。这样,在APS中,包含用来将对应的属性信息量化的量化参数的基准值。
此外,同样,在属性信息的头的QP_delata_data_to_frame中,保存流明的QP值与对应的APS的QP_value的差分信息。此外,在QP_delta1_to_frame及QP_delta2_to_frame中,也可以保存色度的QP值与对应的APS的QP_delta1及QP_delta2的差分信息。
此外,例如在属性信息的类型是反射率的情况下,也可以在APS的QP_value中保存表示反射率的QP值的信息,在QP_delta1及QP_delta2中保存表示总为0或无效的信息。此外同样,也可以在属性信息的头的QP_delata_data_to_frame中保存表示反射率的QP值的信息,在QP_delta1_to_frame及QP_delta2_to_frame中保存表示总为0或无效的信息。在此情况下,三维数据解码装置也可以将保存有表示是0或无效的信息的、QP_delta1及QP_delta2以及QP_delta1_to_frame及QP_delta2_to_frame中保存的信息无论该信息如何都不用于解码而忽视。
此外,例如在属性信息的类型作为其他例而不具有QP值的情况下,也可以在APS的全部字段中保存表示是0或无效的信息。在此情况下,还可以将data_AP_delta_present_flag设为0。在此情况下,三维数据解码装置也可以将保存有表示是0或无效的信息的、QP_delta1及QP_delta2以及QP_delta1_to_frame及QP_delta2_to_frame中保存的信息无论该信息如何都不用于解码而忽视。这样,三维数据解码装置也可以将多个属性信息的头中的与特定种类的属性对应的特定的属性信息的头的多个字段中的特定字段中保存的参数忽视。
在这样的构成的情况下,即使在属性信息的类型不同的情况下,也能够通过共同的句法结构,用基准值和差分信息的组合来表示QP值,所以能够期待编码率的提高。
另外,在与1个位置信息对应的属性信息具有2个以上的颜色信息的情况下,也可以用共同的QP基准值和其差分信息表示,反射率的QP基准值独立地用APS表示等,根据属性信息的类型改变表示方式。
并不限于在实施方式8及本实施方式中说明的方法,即可以将基准值分为基准值和差分信息来发信号(Signalng),也可以将差分信息独立地作为基准值发信号。例如,也可以在需要独立的解码的单位的情况下,送出至少1个基准值,在不需要独立的解码的单位的情况下送出差分信息等,根据数据的特性而自适应地使基准值及差分信息的组合变化。由此,能够期待功能提升和编码量削减双方的效果。
或者,也可以计算基准值和差分信息的组合的信息量,基于计算结果,生成例如计算结果成为最小的基准值和差分信息的组合并送出。在自适应地切换的情况下,也可以使表示基准值的字段和表示差分信息的字段的意义(语义,semantics)自适应地变化。例如也可以如是否按照如上所述的规则将各字段设为无效等那样,改变各字段的意义,也可以追加表示对各字段的意义进行切换的标志。此外,也可以自适应地改变基准值的参照目的地。在此情况下,也可以示出表示参照目的地发生了变化的标志或用来确定参照目的地的Id等。
接着,使用图128对使用attribute_component_id表示记载在SPS中的属性信息与APS及Attribute_header(属性信息的头)的关系的方法进行说明。图128是表示SPS、APS及属性信息的头的关系的图。另外,在图128中,箭头的尖部表示参照目的地。
在SPS中包含与多个属性信息的类型有关的信息。这样,SPS也可以与多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个attribute_type。此外,SPS按属性信息的每个类型,包含表示用来识别属性信息的类型的号码的attribute_component_id。另外,SPS是控制信息的一例。attribute_type是种类信息的一例。SPS中包含的attribute_component_id是表示与多个种类信息中的某一个建立了对应的第1识别信息的一例。
APS或Attribute_header包含与SPS中包含的attribute_component_id对应的attribute_component_id。另外,APS是第2属性控制信息的一例。Attribute_header是第1属性控制信息的一例。APS中包含的attribute_component_id是表示与多个种类信息中的某一个建立了对应的第2识别信息的一例。
三维数据解码装置参照由APS或Attribute_header中包含的sps_idx表示的SPS。并且,三维数据解码装置在参照的SPS中,取得与该APS或该Attribute_header中包含的attribute_component_id对应的属性信息的类型,作为该APS或该Attribute_header中包含的信息所对应的属性信息的类型。另外,1个APS与属性信息的类型的1个对应。此外,1个属性信息的头与属性信息的类型的1个对应。多个APS分别对应着1个以上的属性信息的头。即,1个APS对应着与对应于其他APS的1个以上的属性信息的头不同的1个以上的属性信息的头。
例如,在attribute_component_id=0的情况下,三维数据解码装置可以从SPS中取得相同的、即与值为0的attribute_component_id对应的属性信息(attribute_type等)。
另外,在SPS中,也可以代替attribute_component_id而使用在SPS中记载的属性信息的顺序。即,表示多个属性信息的种类的种类信息也可以在SPS中以规定的顺序被保存(记述)。在此情况下,APS或Attribute_header中包含的attribute_component_id表示包含attribute_component_id的APS或Attribute_header与规定的顺序中的一个序号的种类信息建立了对应。
或者,也可以通过使APS或属性信息的送出顺序与记载在SPS中的属性信息的顺序一致,三维数据解码装置导出APS或属性信息的到达顺序,参照与到达顺序对应的属性信息。此外,在点群数据包含APS或Attribute_header按每个帧存在或不存在的属性信息和APS或Attribute_header按每个帧总是存在的属性信息的情况下,也可以以按每个帧总是存在的属性信息的序号为先、以有时可能不存在的属性信息的序号为后而送出。
另外,在图124及图128中,在1个帧中表示了与多个属性信息分别对应的多个APS,但也可以代替多个APS而使用1个APS。即,该情况下的1个APS包含与多个属性信息对应的关于属性信息的信息。
此外,aps_idx也可以包含相当于帧号的序列号。由此,也可以表示APS与Attribute_header的对应关系。另外,aps_idx也可以具有attirubte_component_id的功能。通过该方法,能够将与1个以上的种类的APS或属性信息有关的序列整体的信息保存到SPS中,从各APS或各Attribute_header参照。
另外,作为判定APS或Attribute_header的属性信息的种类(attribute_type)的方法,也可以在APS或Attribute_header中直接包含attribute_type,也可以作为NAL单元的种类而在NAL单元头中包含attribute_type。
使用哪种方法,都能够进行APS或Attribute_hedaer的属性信息的取得及属性的种类的判定。
如以上这样,有关本实施方式的三维数据编码装置进行图129所示的处理。首先,三维数据编码装置使用参数将多个三维点各自所具有的多个属性信息编码(S6701)。三维数据编码装置生成包含编码后的上述多个属性信息、控制信息及多个第1属性控制信息的比特流(S6702)。上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息。此外,上述多个第1属性控制信息与上述多个属性信息分别对应。上述多个第1属性控制信息各自包含表示与上述多个种类信息的某一个建立了对应的第1识别信息。
由此,生成包含用来确定第1属性控制信息所对应的属性信息的种类的第1识别信息的比特流,所以接收到该比特流的三维数据解码装置能够将三维点的属性信息正确且高效地解码。
例如,上述多个种类信息在上述控制信息中以规定的顺序被保存。上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
由此,即使不附加表示种类信息的信息,由于种类信息被以规定的顺序表示,所以也能够削减比特流的数据量,能够削减比特流的传输量。
例如,上述比特流还包括与上述多个属性信息对应的多个第2属性控制信息。上述多个第2属性控制信息各自包含在对应的第1属性信息的编码中使用的参数的基准值。
由此,多个第2属性控制信息各自包含参数的基准值,所以能够使用基准值将该第2属性控制信息所对应的属性信息编码。此外,接收到比特流的三维数据解码装置由于能够使用第2识别信息确定第2属性信息的种类,所以能够将三维点的属性信息正确且高效地解码。
例如,上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。因此,能够提高编码效率。
例如,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息。上述多个第2属性控制信息各自具有表示与上述多个种类信息中的某一个建立了对应的第2识别信息。
由此,生成包含用来确定第2属性控制信息所对应的属性信息的种类的第2识别信息的比特流,所以能够生成能够将三维点的属性信息正确且高效地解码的比特流。
例如,上述多个第1属性控制信息各自具有保存N个(N是2以上)参数的上述N个字段。在上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息中,上述第1数量的字段的一个字段包含表示无效的值。
因此,接收到比特流的三维数据解码装置能够使用第1识别信息确定第1属性信息的种类,在特定的第1属性控制信息的情况下能够省去解码处理,所以能够将三维点的属性信息正确且高效地解码。
例如,在上述编码中,使用作为上述参数的量化参数将上述多个属性信息量化。
由此,将参数使用与基准值的差分来表示,所以能够提高有关量化的编码效率。
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
此外,有关本实施方式的三维数据解码装置进行图130所示的处理。首先,三维数据解码装置通过取得比特流而取得编码后的多个属性信息及参数(S6711)。三维数据解码装置使用上述参数将上述编码后的多个属性信息解码,从而将多个三维点各自所具有的多个属性信息解码(S6712)。上述比特流包含控制信息及多个第1属性控制信息。上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息。上述多个第1属性控制信息与上述多个属性信息分别对应。上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
由此,三维数据解码装置能够使用第1识别信息确定第1属性控制信息所对应的属性信息的种类,所以能够将三维点的属性信息正确且高效地解码。
例如,上述多个种类信息在上述控制信息中以规定的顺序被保存。上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
由此,即使不附加表示种类信息的信息,由于种类信息被以规定的顺序表示,所以也能够削减比特流的数据量,能够削减比特流的传输量。
例如,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息。上述多个第2属性控制信息各自包含在对应的属性信息的编码中使用的参数的基准值。
由此,三维数据解码装置能够使用基准值将第2属性控制信息所对应的属性信息解码,所以能够将三维点的属性信息正确且高效地解码。
例如,上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。由此,能够使用基准值及差分信息将属性信息解码,所以能够将三维点的属性信息正确且高效地解码。
例如,上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息。上述多个第2属性控制信息各自具有表示与上述多个种类信息中的某一个建立了对应的第2识别信息。由此,能够使用第2识别信息确定第2属性控制信息所对应的属性信息的种类,所以能够将三维点的属性信息正确且高效地解码。
例如,上述多个第1属性控制信息各自具有保存多个参数的多个字段。在上述解码中,将上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息的上述多个字段中的特定字段中保存的参数忽视。
由此,三维数据解码装置使用第1识别信息确定第1属性信息的种类,在特定的第1属性控制信息的情况下能够省去解码处理,所以能够将三维点的属性信息正确且高效地解码。
例如,在上述解码中,使用作为上述参数的量化参数将上述编码后的多个属性信息逆量化。
由此,能够将三维点的属性信息正确地解码。
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
以上,对有关本发明的实施方式的三维数据编码装置及三维数据解码装置等进行了说明,但本发明并不限定于该实施方式。
此外,有关上述实施方式的三维数据编码装置及三维数据解码装置等中包含的各处理部典型的是作为集成电路即LSI实现。它们既可以单独地形成1个芯片,也可以包含一部分或全部而形成1个芯片。
此外,集成电路化并不限于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 文件逆变换部
4801 编码部
4802 复用部
4911 分割部
4931 切片分割部
4932 位置信息瓦片分割部
4933 属性信息瓦片分割部
5010 第1编码部
5011 分割部
5012 位置信息编码部
5013 属性信息编码部
5014 附加信息编码部
5015 复用部
5020 第1解码部
5021 逆复用部
5022 位置信息解码部
5023 属性信息解码部
5024 附加信息解码部
5025 结合部
5031 瓦片分割部
5032 位置信息切片分割部
5033 属性信息切片分割部
5041 位置信息切片结合部
5042 属性信息切片结合部
5043 瓦片结合部
5051 瓦片分割部
5052 编码部
5053 解码部
5054 瓦片结合部
5200 第1编码部
5201 分割部
5202 位置信息编码部
5203 属性信息编码部
5204 附加信息编码部
5205 复用部
5211 瓦片分割部
5212 切片分割部
5221、5231、5251、5261 CABAC初始化部
5222、5232 熵编码部
5240 第1解码部
5241 逆复用部
5242 位置信息解码部
5243 属性信息解码部
5244 附加信息解码部
5245 结合部
5252、5262 熵解码部
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 熵解码部

Claims (16)

1.一种三维数据编码方法,其中,
使用参数将多个三维点各自所具有的多个属性信息编码;
生成包含编码后的上述多个属性信息、控制信息以及多个第1属性控制信息的比特流;
上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;
上述多个第1属性控制信息与上述多个属性信息分别对应;
上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
2.如权利要求1所述的三维数据编码方法,其中,
上述多个种类信息在上述控制信息中以规定的顺序被保存;
上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
3.如权利要求1或2所述的三维数据编码方法,其中,
上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;
上述多个第2属性控制信息各自包含在对应的上述属性信息的编码中使用的参数的基准值。
4.如权利要求3所述的三维数据编码方法,其中,
上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。
5.如权利要求1或2所述的三维数据编码方法,其中,
上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;
上述多个第2属性控制信息各自具有表示与上述多个种类信息中的某一个建立了对应的第2识别信息。
6.如权利要求1至5中任一项所述的三维数据编码方法,其中,
上述多个第1属性控制信息各自具有保存N个参数的上述N个字段,N为2以上;
在上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息中,上述N个字段中的一个字段包含表示无效的值。
7.如权利要求1至6中任一项所述的三维数据编码方法,其中,
在上述编码中,使用作为上述参数的量化参数将上述多个属性信息量化。
8.一种三维数据解码方法,其中,
通过取得比特流,取得编码后的多个属性信息及参数;
使用上述参数将上述编码后的多个属性信息解码,从而将多个三维点各自所具有的多个属性信息解码;
上述比特流包含控制信息及多个第1属性控制信息;
上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;
上述多个第1属性控制信息与上述多个属性信息分别对应;
上述多个第1属性控制信息各自包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
9.如权利要求8所述的三维数据解码方法,其中,
上述多个种类信息在上述控制信息中以规定的顺序被保存;
上述第1识别信息表示包含该第1识别信息的第1属性控制信息与上述规定的顺序中的一个序号的种类信息建立了对应。
10.如权利要求8或9所述的三维数据解码方法,其中,
上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;
上述多个第2属性控制信息各自包含在对应的上述属性信息的编码中使用的参数的基准值。
11.如权利要求10所述的三维数据解码方法,其中,
上述第1属性控制信息包含与上述参数的上述基准值的差分即差分信息。
12.如权利要求8或9所述的三维数据解码方法,其中,
上述比特流还包含与上述多个属性信息对应的多个第2属性控制信息;
上述多个第2属性控制信息各自具有表示与上述多个种类信息的某一个建立了对应的第2识别信息。
13.如权利要求8至12中任一项所述的三维数据解码方法,其中,
上述多个第1属性控制信息各自具有保存多个参数的多个字段;
在上述解码中,将上述多个第1属性控制信息中的与特定种类的属性对应的特定的第1属性控制信息的上述多个字段中的特定字段中保存的参数忽视。
14.如权利要求8至13中任一项所述的三维数据解码方法,其中,
在上述解码中,使用作为上述参数的量化参数将上述编码后的多个属性信息逆量化。
15.一种三维数据编码装置,其中,具备:
处理器;以及
存储器;
上述处理器使用上述存储器进行如下处理:
使用参数将多个三维点各自所具有的多个属性信息编码;
生成包含编码后的上述多个属性信息、控制信息及多个第1属性控制信息的比特流;
上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;
上述多个第1属性控制信息(i)与上述多个属性信息分别对应,(ii)包含表示与上述多个种类信息中的某一个建立了对应的第1识别信息。
16.一种三维数据解码装置,其中,具备:
处理器;以及
存储器;
上述处理器使用上述存储器进行如下处理:
通过取得比特流,取得编码后的多个属性信息及参数;
使用上述参数将上述编码后的多个属性信息解码,从而将多个三维点各自所具有的多个属性信息解码;
上述比特流包含控制信息及多个第1属性控制信息;
上述控制信息与上述多个属性信息对应,并且包含分别表示相互不同的属性信息的种类的多个种类信息;
上述多个第1属性控制信息(i)与上述多个属性信息分别对应,(ii)包含表示与上述多个种类信息的某一个建立了对应的第1识别信息。
CN201980085548.1A 2018-12-26 2019-12-26 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置 Pending CN113228108A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862784998P 2018-12-26 2018-12-26
US62/784,998 2018-12-26
PCT/JP2019/051277 WO2020138353A1 (ja) 2018-12-26 2019-12-26 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Publications (1)

Publication Number Publication Date
CN113228108A true CN113228108A (zh) 2021-08-06

Family

ID=71127737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980085548.1A Pending CN113228108A (zh) 2018-12-26 2019-12-26 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置

Country Status (9)

Country Link
US (2) US11743497B2 (zh)
EP (1) EP3905201A4 (zh)
JP (2) JP7441798B2 (zh)
KR (1) KR20210110588A (zh)
CN (1) CN113228108A (zh)
BR (1) BR112021009974A2 (zh)
CA (1) CA3122787A1 (zh)
MX (1) MX2021006632A (zh)
WO (1) WO2020138353A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024082152A1 (zh) * 2022-10-18 2024-04-25 Oppo广东移动通信有限公司 编解码方法及装置、编解码器、码流、设备、存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113728648A (zh) * 2019-04-25 2021-11-30 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
JP7314683B2 (ja) * 2019-07-23 2023-07-26 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像改ざん判定方法、及び動画像改ざん判定プログラム
US11736748B2 (en) * 2020-12-16 2023-08-22 Tencent America LLC Reference of neural network model for adaptation of 2D video for streaming to heterogeneous client end-points
WO2024059232A1 (en) * 2022-09-16 2024-03-21 Innopeak Technology, Inc. Point cloud decoding method, point cloud encoding method, decoder and encoder

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140375638A1 (en) 2012-07-30 2014-12-25 Mitsubishi Electric Corporation Map display device
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US11297346B2 (en) 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
CN113008263B (zh) 2016-11-01 2024-04-30 松下电器(美国)知识产权公司 数据生成方法及数据生成装置
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
WO2020071111A1 (ja) * 2018-10-02 2020-04-09 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024082152A1 (zh) * 2022-10-18 2024-04-25 Oppo广东移动通信有限公司 编解码方法及装置、编解码器、码流、设备、存储介质

Also Published As

Publication number Publication date
US20210297699A1 (en) 2021-09-23
BR112021009974A2 (pt) 2021-08-17
JP7441798B2 (ja) 2024-03-01
KR20210110588A (ko) 2021-09-08
EP3905201A1 (en) 2021-11-03
MX2021006632A (es) 2021-07-07
WO2020138353A1 (ja) 2020-07-02
CA3122787A1 (en) 2020-07-02
EP3905201A4 (en) 2022-03-16
JP2024050956A (ja) 2024-04-10
US20230353782A1 (en) 2023-11-02
JPWO2020138353A1 (ja) 2021-11-18
US11743497B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
CN112997219A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
WO2020116563A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN112997498A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
JP7441798B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7469228B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020138463A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN112313710A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
CN112313709A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
JP2024055951A (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN113168719A (zh) 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
JP2024083380A (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7477452B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
RU2815741C2 (ru) Способ кодирования трехмерных данных, способ декодирования трехмерных данных, устройство кодирования трехмерных данных и устройство декодирования трехмерных данных
JP7509694B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
RU2802846C2 (ru) Способ кодирования трехмерных данных, способ декодирования трехмерных данных, устройство кодирования трехмерных данных и устройство декодирования трехмерных данных
JP2024095742A (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination