该技术已申请专利。仅供学习研究,如用于商业用途,请联系技术所有人。

1.本公开涉及三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置。
背景技术:2.在用于汽车或机器人自主地进行工作的计算机视觉、地图信息、监控、基础设施检查、或影像分发等较大的领域中,今后将会普及灵活运用了三维数据的装置或服务。三维数据通过测距仪等距离传感器、立体摄影机、或多个单眼相机的组合等各种方法来取得。
3.作为三维数据的表现方法之一,有被称作点云的表现方法,该方法通过三维空间内的点群来表现三维构造的形状。在点云中保存点群的位置和颜色。虽然预想点云作为三维数据的表现方法将成为主流,但是点群的数据量非常大。因此,在三维数据的积蓄或传输中,与二维的运动图像(作为一例,有以mpeg进行标准化后的mpeg-4avc或hevc等)同样,需要通过编码来进行数据量的压缩。
4.此外,关于点云的压缩,有一部分由进行点云关联的处理的公开的库(point cloud library:点云库)等支持。
5.此外,已知有利用三维的地图数据,检索位于车辆周边的施设并进行显示的技术(例如,参照专利文献1)。
6.现有技术文献
7.专利文献
8.专利文献1:国际公开第2014/020663号
技术实现要素:9.发明要解决的课题
10.在三维数据的编码及解码中,希望能够有效地执行解码处理。
11.本公开的目的是提供能够有效地执行解码处理的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
12.用来解决课题的手段
13.有关本公开的一技术方案的三维数据编码方法,取得多个三维点;使用上述多个三维点生成包含1个以上的预测树及1个以上的识别信息的数据单元;生成包含上述数据单元的比特流,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
14.此外,有关本公开的一技术方案的三维数据解码方法,取得包含数据单元的比特流,上述数据单元包含1个以上的预测树及1个以上的识别信息;对上述数据单元中包含的上述预测树进行解码,计算构成上述预测树的多个三维点,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测
树。
15.另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
16.发明效果
17.本公开能够提供能够提高编码效率的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
附图说明
18.图1是表示实施方式1的三维数据编解码系统的构成的图。
19.图2是表示实施方式1的点群数据的构成例的图。
20.图3是表示实施方式1的记述有点群数据信息的数据文件的构成例的图。
21.图4是表示实施方式1的点群数据的种类的图。
22.图5是表示实施方式1的第1编码部的构成的图。
23.图6是实施方式1的第1编码部的框图。
24.图7是表示实施方式1的第1解码部的构成的图。
25.图8是实施方式1的第1解码部的框图。
26.图9是实施方式1的三维数据编码装置的框图。
27.图10是表示实施方式1的位置信息的例子的图。
28.图11是表示实施方式1的位置信息的八叉树表现的例子的图。
29.图12是实施方式1的三维数据解码装置的框图。
30.图13是实施方式1的属性信息编码部的框图。
31.图14是实施方式1的属性信息解码部的框图。
32.图15是表示实施方式1的属性信息编码部的结构的框图。
33.图16是实施方式1的属性信息编码部的框图。
34.图17是表示实施方式1的属性信息解码部的结构的框图。
35.图18是实施方式1的属性信息解码部的框图。
36.图19是表示实施方式1的第2编码部的结构的图。
37.图20是实施方式1的第2编码部的框图。
38.图21是表示实施方式1的第2解码部的结构的图。
39.图22是实施方式1的第2解码部的框图。
40.图23是表示实施方式1的关于pcc编码数据的协议栈的图。
41.图24是表示实施方式2的编码部及复用部的结构的图。
42.图25是表示实施方式2的编码数据的结构例的图。
43.图26是表示实施方式2的编码数据及nal单元的结构例的图。
44.图27是表示实施方式2的pcc_nal_unit_type的语义例的图。
45.图28是表示实施方式2的nal单元的送出顺序的例子的图。
46.图29是实施方式2的由三维数据编码装置进行的理的流程图。
47.图30是实施方式2的由三维数据解码装置进行的处理的流程图。
48.图31是实施方式2的复用处理的流程图。
49.图32是实施方式2的逆复用处理的流程图。
50.图33是实施方式3的第1编码部的框图。
51.图34是实施方式3的第1解码部的框图。
52.图35是实施方式3的分割部的框图。
53.图36是表示实施方式3的切片及瓦片的分割例的图。
54.图37是表示实施方式3的切片及瓦片的分割样式的例子的图。
55.图38是表示实施方式3的依赖关系的例子的图。
56.图39是表示实施方式3的数据的解码顺序的例子的图。
57.图40是实施方式3的编码处理的流程图。
58.图41是实施方式3的结合部的框图。
59.图42是表示实施方式3的编码数据及nal单元的构成例的图。
60.图43是实施方式3的编码处理的流程图。
61.图44是实施方式3的解码处理的流程图。
62.图45是实施方式3的编码处理的流程图。
63.图46是实施方式3的解码处理的流程图。
64.图47是表示实施方式4的在三维数据编码方法中使用的预测树的一例的图。
65.图48是表示实施方式4的三维数据编码方法的一例的流程图。
66.图49是表示实施方式4的三维数据解码方法的一例的流程图。
67.图50是用来说明实施方式4的预测树的生成方法的图。
68.图51是用来说明实施方式4的预测模式的第1例的图。
69.图52是表示实施方式4的示出在各预测模式中计算的预测值的表的第2例的图。
70.图53是表示实施方式4的示出在各预测模式中计算的预测值的表的第2例的具体例的图。
71.图54是表示实施方式4的示出在各预测模式中计算的预测值的表的第3例的图。
72.图55是表示实施方式4的示出在各预测模式中计算的预测值的表的第4例的图。
73.图56是表示实施方式4的示出在各预测模式中计算的预测值的表的第5例的图。
74.图57是表示实施方式4的示出在各预测模式中计算的预测值的表的第6例的图。
75.图58是表示实施方式4的示出在各预测模式中计算的预测值的表的第7例的图。
76.图59是表示实施方式4的将预测模式值进行二值化并进行编码的情况下的二值化表的第1例的图。
77.图60是表示实施方式4的将预测模式值进行二值化并进行编码的情况下的二值化表的第2例的图。
78.图61是表示实施方式4的将预测模式值进行二值化并进行编码的情况下的二值化表的第3例的图。
79.图62是用来说明实施方式4的将预测模式进行二值化并进行编码的情况下的将二值化表的二值数据进行编码的例子的图。
80.图63是表示实施方式4的预测模式值的编码的一例的流程图。
81.图64是表示实施方式4的预测模式值的解码的一例的流程图。
82.图65是表示实施方式4的示出在各预测模式中计算的预测值的表的另一例的图。
83.图66是用来说明实施方式4的将预测模式进行二值化并进行编码的情况下的将二值化表的二值数据进行编码的例子的图。
84.图67是表示实施方式4的预测模式值的编码的另一例的流程图。
85.图68是表示实施方式4的预测模式值的解码的另一例的流程图。
86.图69是表示实施方式4的在编码时根据条件a决定是否将预测模式值固定的处理的一例的流程图。
87.图70是表示实施方式4的在解码时根据条件a决定是将预测模式值设为固定的值还是进行解码的处理的一例的流程图。
88.图71是表示实施方式4的位置信息的头的句法的一例的图。
89.图72是表示实施方式4的位置信息的句法的一例的图。
90.图73是表示实施方式4的位置信息的句法的另一例的图。
91.图74是将实施方式5的点群按每个预测树分组并用线包围的图。
92.图75是表示实施方式5的预测树的编码方法的一例的流程图。
93.图76是表示实施方式5的使用被信号发送的位置信息对预测树进行解码的解码方法的一例的流程图。
94.图77是表示实施方式5的树信息的句法的一例的图。
95.图78是表示实施方式5的包围盒的一例的图。
96.图79是实施方式5的被编码的数据的数据结构的一例。
97.图80是表示实施方式5的向系统格式保存的处理的一例的流程图。
98.图81是表示实施方式5的从系统格式局部地提取预测树的处理的一例的流程图。
99.图82是表示实施方式5的部分解码列表的一例的图。
100.图83是表示实施方式5的位置信息的数据单元头的句法的第1例的图。
101.图84是表示实施方式5的位置信息的数据单元的句法的第1例的图。
102.图85是表示实施方式5的位置信息的数据单元头的句法的第2例的图。
103.图86是表示实施方式5的位置信息的数据单元的句法的第2例的图。
104.图87是实施方式5的对末端标志进行编码的情况下的编码处理的流程图。
105.图88是实施方式5的使用末端标志进行解码的情况下的解码处理的流程图。
106.图89是表示实施方式5的尾部的句法的一例的图。
107.图90是实施方式5的三维数据编码处理的流程图。
108.图91是实施方式5的三维数据解码处理的流程图。
109.图92是实施方式6的三维数据制作装置的框图。
110.图93是实施方式6的三维数据制作方法的流程图。
111.图94是表示实施方式6的系统的结构的图。
112.图95是实施方式6的客户端装置的框图。
113.图96是实施方式6的服务器的框图。
114.图97是实施方式6的客户端装置的三维数据制作处理的流程图。
115.图98是实施方式6的客户端装置的传感器信息发送处理的流程图。
116.图99是实施方式6的服务器的三维数据制作处理的流程图。
117.图100是实施方式6的服务器的三维地图发送处理的流程图。
118.图101是表示实施方式6的系统的变形例的构成的图。
119.图102是表示实施方式6的服务器以及客户端装置的构成的图。
120.图103是表示实施方式6的服务器以及客户端装置的构成的图。
121.图104是实施方式6的客户端装置的处理的流程图。
122.图105是表示实施方式6的传感器信息收集系统的构成的图。
123.图106是表示实施方式6的系统的例子的图。
124.图107是表示实施方式6的系统的变形例的图。
125.图108是表示实施方式6的应用处理的例子的流程图。
126.图109是表示实施方式6的各种传感器的传感器范围的图。
127.图110是表示实施方式6的自动驾驶系统的构成例的图。
128.图111是表示实施方式6的比特流的构成例的图。
129.图112是实施方式6的点群选择处理的流程图。
130.图113是表示实施方式6的点群选择处理的画面例的图。
131.图114是表示实施方式6的点群选择处理的画面例的图。
132.图115是表示实施方式6的点群选择处理的画面例的图。
具体实施方式
133.有关本公开的一技术方案的三维数据编码方法,取得多个三维点;使用上述多个三维点生成包含1个以上的预测树及1个以上的识别信息的数据单元;生成包含上述数据单元的比特流,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
134.因此,能够在数据单元内示出是否在后面接着其他的预测树。因此,接收到该数据单元的三维数据解码装置能够容易地识别是否是数据单元的最后。
135.例如,也可以是,在上述数据单元包含多个上述预测树及多个上述识别信息的情况下,多个上述识别信息分别在上述数据单元中被接在各预测树之后保存。
136.因此,能够在数据单元内按每个预测树示出是否在后面接着其他的预测树。因此,接收到该数据单元的三维数据解码装置能够按每个预测树容易地识别是否是数据单元的最后。
137.例如,也可以是,多个上述识别信息包含第1识别信息及第2识别信息,上述第1识别信息表示在上述数据单元内在上述第1识别信息之后不存在更多的预测树,上述第2识别信息表示在上述数据单元内在上述第2识别信息之后接着其他的预测树。
138.因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,接收到该数据单元的三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
139.例如,也可以是,在上述数据单元包含多个上述预测树、上述第1识别信息及第2识别信息的情况下,上述第1识别信息被保存在最后的预测树之后,上述第2识别信息被保存在不为最后的预测树之后。
140.因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,接收到该数据单元的三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
141.有关本公开的一技术方案的三维数据解码方法,取得包含数据单元的比特流,上述数据单元包含1个以上的预测树及1个以上的识别信息;对上述数据单元中包含的上述预测树进行解码,计算构成上述预测树的多个三维点,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
142.因此,由于由数据单元内的识别信息表示后面是否接着其他的预测树,所以三维数据解码装置能够容易地识别是否是数据单元的最后。
143.例如,也可以是,在上述数据单元包含多个上述预测树及多个上述识别信息的情况下,多个上述识别信息分别在上述数据单元中被接在各预测树之后保存。
144.因此,能够在数据单元内按每个预测树示出是否在后面接着其他的预测树。因此,三维数据解码装置能够按每个预测树容易地识别是否是数据单元的最后。
145.例如,也可以是,多个上述识别信息包含第1识别信息及第2识别信息,上述第1识别信息表示在上述数据单元内在上述第1识别信息之后不存在更多的预测树,上述第2识别信息表示在上述数据单元内在上述第2识别信息之后接着其他的预测树。
146.因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
147.例如,也可以是,在上述数据单元包含多个上述预测树、上述第1识别信息及第2识别信息的情况下,上述第1识别信息被保存在最后的预测树之后,上述第2识别信息被保存在不为最后的预测树之后。
148.因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
149.例如,也可以是,在对上述第1识别信息进行解码的情况下,完成上述数据单元的解码,在对上述第2识别信息进行解码的情况下,继续进行上述数据单元中的接下来的预测树的解码。
150.因此,三维数据解码装置根据是对第1识别信息进行解码还是对第2识别信息进行解码,能够容易地决定是否继续进行预测树的解码。
151.有关本公开的一技术方案的三维数据编码装置具备处理器和存储器,上述处理器使用上述存储器进行如下处理:取得多个三维点;使用上述多个三维点生成包含1个以上的预测树及1个以上的识别信息的数据单元;生成包含上述数据单元的比特流,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
152.因此,能够在数据单元内示出是否在后面接着其他的预测树。因此,接收到该数据
单元的三维数据解码装置能够容易地识别是否是数据单元的最后。
153.有关本公开的一技术方案的三维数据解码装置,具备处理器和存储器,上述处理器使用上述存储器进行如下处理:取得包含数据单元的比特流,上述数据单元包含1个以上的预测树及1个以上的识别信息;对上述数据单元中包含的上述预测树进行解码,计算构成上述预测树的多个三维点,上述数据单元在上述预测树之后包含上述识别信息,上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
154.因此,由于由数据单元内的识别信息表示后面是否接着其他的预测树,所以三维数据解码装置能够容易地识别是否是数据单元的最后。
155.另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
156.以下,参照附图对实施方式具体地进行说明。另外,以下说明的实施方式都表示本公开的一具体例。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。此外,关于以下的实施方式的构成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,设为任意的构成要素进行说明。
157.(实施方式1)
158.在实际的装置或服务中使用点云的编码数据时,为了抑制网络带宽,希望按照用途对所需要的信息进行收发。然而,至今的三维数据的编码结构中不存在这样的功能,因此也没有与此相对的编码方法。
159.在本实施方式中说明提供在三维点云的编码数据中按照用途对所需要的信息进行收发的功能的三维数据编码方法以及三维数据编码装置、对该编码数据进行解码的三维数据解码方法以及三维数据解码装置、以及对该编码数据进行复用的三维数据复用方法、以及传输该编码数据的三维数据传输方法。
160.特别是,当前,作为点群数据的编码方法(编码方式)研究了第1编码方法和第2编码方法,但没有定义将编码数据的构成以及编码数据保存到系统格式的方法,在这种情况下,存在无法进行编码部中的mux处理(复用)、或者传输或储存这样的课题。
161.此外,如pcc(point cloud compression:点云压缩)那样,对第1编码方法和第2编码方法这2个编解码器混合存在的格式进行支持的方法至今不存在。
162.在本实施方式中,对将第1编码方法和第2编码方法这2个编解码器混合存在的pcc编码数据的构成以及将编码数据向系统格式保存的方法进行说明。
163.首先,说明本实施方式的三维数据(点群数据)编码解码系统的构成。图1是表示本实施方式的三维数据编码解码系统的构成例的图。如图1所示,三维数据编码解码系统包括三维数据编码系统4601、三维数据解码系统4602、传感器终端4603以及外部连接部4604。
164.三维数据编码系统4601通过对作为三维数据的点群数据进行编码来生成编码数据或复用数据。此外,三维数据编码系统4601可以是由单个装置实现的三维数据编码装置,也可以是由多个装置实现的系统。另外,三维数据编码装置也可以包含于三维数据编码系统4601中包含的多个处理部中的一部分。
165.三维数据编码系统4601包括点群数据生成系统4611、提示部4612、编码部4613、复
用部4614、输入输出部4615、以及控制部4616。点群数据生成系统4611包括传感器信息取得部4617和点群数据生成部4618。
166.传感器信息取得部4617从传感器终端4603取得传感器信息,并将传感器信息输出到点群数据生成部4618。点群数据生成部4618根据传感器信息生成点群数据,并将点群数据输出到编码部4613。
167.提示部4612向用户提示传感器信息或点群数据。例如,提示部4612显示基于传感器信息或点群数据的信息或图像。
168.编码部4613对点群数据进行编码(压缩),将得到的编码数据、在编码过程中得到的控制信息和其他附加信息输出到复用部4614。附加信息例如包含传感器信息。
169.复用部4614通过复用从编码部4613输入的编码数据、控制信息和附加信息来生成复用数据。复用数据的格式例如是用于积蓄的文件格式、或用于传输的包格式。
170.输入输出部4615(例如,通信部或接口)将复用数据向外部输出。或者,复用数据被积蓄于内部存储器等积蓄部。控制部4616(或应用执行部)控制各处理部。即,控制部4616进行编码及复用等控制。
171.此外,也可以将传感器信息向编码部4613或复用部4614输入。另外,输入输出部4615也可以将点群数据或编码数据直接向外部输出。
172.从三维数据编码系统4601输出的传输信号(复用数据)经由外部连接部4604输入到三维数据解码系统4602。
173.三维数据解码系统4602通过对编码数据或复用数据进行解码而生成作为三维数据的点群数据。此外,三维数据解码系统4602可以是由单一的装置实现的三维数据解码装置,也可以是由多个装置实现的系统。另外,三维数据解码装置也可以包含三维数据解码系统4602中包含的多个处理部中的一部分。
174.三维数据解码系统4602包括传感器信息取得部4621、输入输出部4622、逆复用部4623、解码部4624、提示部4625、用户接口4626、以及控制部4627。
175.传感器信息取得部4621从传感器终端4603取得传感器信息。
176.输入输出部4622取得传输信号,根据传输信号对复用数据(文件格式或者包)进行解码,并将复用数据输出到逆复用部4623。
177.逆复用部4623从复用数据中取得编码数据、控制信息以及附加信息,并将编码数据、控制信息以及附加信息输出到解码部4624。
178.解码部4624通过对编码数据进行解码而重构点群数据。
179.提示部4625将点群数据提示给用户。例如,提示部4625显示基于点群数据的信息或图像。用户接口4626取得基于用户的操作的指示。控制部4627(或应用执行部)控制各处理部。即,控制部4627进行逆复用、解码以及提示等的控制。
180.此外,输入输出部4622也可以从外部直接取得点群数据或编码数据。另外,提示部4625也可以取得传感器信息等附加信息,并提示基于附加信息的信息。另外,提示部4625也可以基于由用户接口4626取得的用户的指示来进行提示。
181.传感器终端4603生成由传感器取得的信息即传感器信息。传感器终端4603是搭载有传感器或相机的终端,例如有汽车等移动体、飞机等飞行物体、移动终端或相机等。
182.能够由传感器终端4603取得的传感器信息例如是(1)由lidar、毫米波雷达或者红
外线传感器得到的传感器终端4603与对象物的距离、或者对象物的反射率、(2)从多个单眼相机图像或者立体相机图像得到的相机与对象物的距离或者对象物的反射率等。另外,传感器信息也可以包含传感器的姿势、朝向、回转(角速度)、位置(gps信息或者高度)、速度或者加速度等。另外,传感器信息也可以包含气温、气压、湿度、或者磁性等。
183.外部连接部4604通过集成电路(lsi或ic)、外部积蓄部、经由因特网的与云服务器的通信、或者广播等来实现。
184.接着,对点群数据进行说明。图2是表示点群数据的构成的图。图3是表示记述了点群数据的信息的数据文件的构成例的图。
185.点群数据包含多个点的数据。各点的数据包含位置信息(三维坐标)以及与该位置信息相对的属性信息。将聚集了多个这样的点的群称为点群。例如,点群表示对象物(对象)的三维形状。
186.有时也将三维坐标等位置信息(position)称为几何形状(geometry)。另外,各点的数据也可以包含多个属性类别的属性信息(attribute)。属性类别例如是颜色或反射率等。
187.既可以将1个属性信息针对1个位置信息建立对应,也可以将具有多个不同的属性类别的属性信息针对1个位置信息建立对应。另外,也可以将多个相同的属性类别的属性信息针对1个位置信息建立对应。
188.图3所示的数据文件的构成例是位置信息和属性信息1对1对应的情况的例子,表示构成点群数据的n个点的位置信息和属性信息。
189.位置信息例如是x、y、z这3轴的信息。属性信息例如是rgb的颜色信息。作为代表性的数据文件,有ply文件等。
190.接着,对点群数据的种类进行说明。图4是表示点群数据的种类的图。如图4所示,点群数据包含静态对象和动态对象。
191.静态对象是任意时间(某一个时刻)的三维点群数据。动态对象是随时间变化的三维点群数据。以下,将某时刻的三维点群数据称为pcc帧或者帧。
192.对象可以是如通常的影像数据那样区域被某种程度限制的点群,也可以是像地图信息那样区域未被限制的大规模点群。
193.另外,存在各种密度的点群数据,也可以存在稀疏的点群数据和密集的点群数据。
194.以下,对各处理部的详细情况进行说明。传感器信息通过lidar或者测距仪等距离传感器、立体相机或者多个单眼相机的组合等各种方法来取得。点群数据生成部4618基于由传感器信息取得部4617得到的传感器信息生成点群数据。点群数据生成部4618生成位置信息作为点群数据,对位置信息附加针对该位置信息的属性信息。
195.点群数据生成部4618也可以在生成位置信息或者附加属性信息时,对点群数据进行加工。例如,点群数据生成部4618也可以通过删除位置重复的点群来减少数据量。另外,点群数据生成部4618也可以对位置信息进行变换(位置转变、旋转或者标准化等),也可以对属性信息进行渲染。
196.此外,在图1中,点群数据生成系统4611包含于三维数据编码系统4601,但也可以独立设置于三维数据编码系统4601的外部。
197.编码部4613基于预先规定的编码方法对点群数据进行编码,由此生成编码数据。
编码方法大致存在以下2种。第1种是使用了位置信息的编码方法,以后将该编码方法记载为第1编码方法。第2种是使用了视频编解码器的编码方法,以后将该编码方法记载为第2编码方法。
198.解码部4624基于预先规定的编码方法对编码数据进行解码,由此对点群数据进行解码。
199.复用部4614通过使用现有的复用方式对编码数据进行复用,从而生成复用数据。所生成的复用数据被传输或积蓄。复用部4614除了pcc编码数据以外,还复用影像、声音、字幕、应用、文件等其他媒体、或者基准时刻信息。另外,复用部4614还可以对与传感器信息或者点群数据相关联的属性信息进行复用。
200.作为复用方式或文件格式,有isobmff、作为isobmff基础的传输方式的mpeg-dash、mmt、mpeg-2ts systems、rmp等。
201.逆复用部4623从复用数据中提取pcc编码数据、其他媒体以及时刻信息等。
202.输入输出部4615使用与广播或通信等传输介质或积蓄介质一致的方法传输复用数据。输入输出部4615可以经由因特网与其他设备进行通信,也可以与云服务器等积蓄部进行通信。
203.作为通信协议,使用http、ftp、tcp或udp等。既可以使用pull型的通信方式,也可以使用push型的通信方式。
204.可以使用有线传输和无线传输中的任一种。作为有线传输,使用ethernet(注册商标)、usb、rs-232c、hdmi(注册商标)或同轴电缆等。作为无线传输,使用无线lan、wi-fi(注册商标)、bluetooth(注册商标)或毫米波等。
205.此外,作为广播方式,例如使用dvb-t2、dvb-s2、dvb-c2、atsc3.0或isdb-s3等。
206.图5是表示进行第1编码方法的编码的编码部4613的例子即第1编码部4630的构成的图。图6是第1编码部4630的框图。第1编码部4630通过用第1编码方法对点群数据进行编码来生成编码数据(编码流)。该第1编码部4630包括位置信息编码部4631、属性信息编码部4632、附加信息编码部4633以及复用部4634。
207.第1编码部4630具有意识到三维结构来进行编码的特征。另外,第1编码部4630具有属性信息编码部4632使用从位置信息编码部4631得到的信息进行编码的特征。第1编码方法也被称为gpcc(geometry based pcc)。
208.点群数据是ply文件那样的pcc点群数据、或者根据传感器信息生成的pcc点群数据,包含位置信息(position)、属性信息(attribute)以及其他的附加信息(metadata)。位置信息被输入到位置信息编码部4631,属性信息被输入到属性信息编码部4632,附加信息被输入到附加信息编码部4633。
209.位置信息编码部4631通过对位置信息进行编码,来生成作为编码数据的编码位置信息(compressed geometry)。例如,位置信息编码部4631使用八叉树等n叉树结构对位置信息进行编码。具体而言,在八叉树中,对象空间被分割为8个节点(子空间),生成表示各节点中是否包含点群的8比特的信息(占用率代码)。另外,包含点群的节点进一步被分割为8个节点,生成表示在该8个节点的每一个中是否包含点群的8比特的信息。反复进行该处理,直到成为预先确定的层级或节点所包含的点群的数量的阈值以下为止。
210.属性信息编码部4632通过使用由位置信息编码部4631生成的构成信息进行编码,
来生成作为编码数据的编码属性信息(compressed attribute)。例如,属性信息编码部4632基于由位置信息编码部4631生成的八叉树结构,决定在处理对象的对象点(对象节点)的编码中参照的参照点(参照节点)。例如,属性信息编码部4632参照周边节点或相邻节点中的八叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法不限于此。
211.另外,属性信息的编码处理可以包括量化处理、预测处理和算术编码处理中的至少一个。在该情况下,参照是指在属性信息的预测值的计算中使用参照节点,或者在编码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,编码的参数是量化处理中的量化参数、或者算术编码中的上下文等。
212.附加信息编码部4633通过对附加信息中的可压缩的数据进行编码,来生成作为编码数据的编码附加信息(compressed metadata)。
213.复用部4634通过对编码位置信息、编码属性信息、编码附加信息以及其他附加信息进行复用,来生成作为编码数据的编码流(compressed stream)。所生成的编码流被输出到未图示的系统层的处理部。
214.接着,对作为进行第1编码方法的解码的解码部4624的例子的第1解码部4640进行说明。图7是表示第1解码部4640的构成的图。图8是第1解码部4640的框图。第1解码部4640通过以第1编码方法对以第1编码方法进行了编码的编码数据(编码流)进行解码,来生成点群数据。该第1解码部4640包括逆复用部4641、位置信息解码部4642、属性信息解码部4643以及附加信息解码部4644。
215.从未图示的系统层的处理部将作为编码数据的编码流(compressed stream)输入到第1解码部4640。
216.逆复用部4641从编码数据中分离编码位置信息(compressed geometry)、编码属性信息(compressed attribute)、编码附加信息(compressed metadata)以及其他附加信息。
217.位置信息解码部4642通过对编码位置信息进行解码来生成位置信息。例如,位置信息解码部4642根据由八叉树等n叉树结构表示的编码位置信息,复原用三维坐标表示的点群的位置信息。
218.属性信息解码部4643基于由位置信息解码部4642生成的构成信息,对编码属性信息进行解码。例如,属性信息解码部4643基于由位置信息解码部4642得到的八叉树结构,决定在处理对象的对象点(对象节点)的解码中参照的参照点(参照节点)。例如,属性信息解码部4643参照周边节点或相邻节点中的八叉树中的父节点与对象节点的父节点相同的节点。另外,参照关系的决定方法不限于此。
219.另外,属性信息的解码处理也可以包括逆量化处理、预测处理以及算术解码处理中的至少一个。在该情况下,参照是指在属性信息的预测值的计算中使用参照节点、或者在解码的参数的决定中使用参照节点的状态(例如,表示在参照节点中是否包含点群的占有信息)。例如,解码的参数是逆量化处理中的量化参数、或者算术解码中的上下文等。
220.附加信息解码部4644通过对编码附加信息进行解码来生成附加信息。另外,第1解码部4640在解码时使用位置信息以及属性信息的解码处理所需的附加信息,向外部输出应用所需的附加信息。
221.接着,说明位置信息编码部的构成例。图9是本实施方式的位置信息编码部2700的框图。位置信息编码部2700具备八叉树生成部2701、几何信息计算部2702、编码表选择部2703、以及熵编码部2704。
222.八叉树生成部2701根据输入的位置信息生成例如八叉树,并且生成八叉树的各节点的占用率编码。几何信息计算部2702取得表示对象节点的相邻节点是否是占有节点的信息。例如,几何信息计算部2702根据对象节点所属的父节点的占用率编码计算相邻节点的占有信息(表示相邻节点是否是占有节点的信息)。此外,几何信息计算部2702可以预先将已编码的节点保存在列表中,并从该列表内搜索相邻节点。此外,几何信息计算部2702可以根据对象节点在父节点内的位置来切换相邻节点。
223.编码表选择部2703使用由几何信息计算部2702计算的相邻节点的占有信息,选择对象节点的熵编码中使用的编码表。例如,编码表选择部2703可以使用相邻节点的占有信息来生成比特串,并选择从该比特串生成的索引号的编码表。
224.熵编码部2704通过使用所选择的索引号的编码表对对象节点的占用率编码进行熵编码,生成编码位置信息和元数据。熵编码部2704也可以将表示所选择的编码表的信息附加在编码位置信息中。
225.以下,说明八叉树表现和位置信息的扫描顺序。位置信息(位置数据)被变换为八叉树结构(八叉树化)后被编码。八叉树结构由节点和叶构成。各节点具有8个节点或叶,各叶具有体素(vxl)信息。图10是表示包含多个体素的位置信息的结构例的图。图11是表示图10所示的位置信息被变换为八叉树结构的例子的图。这里,图11所示的叶中,叶1、2、3分别表示图10所示的体素vxl1、vxl2、vxl3,并表现有包含点群的vxl(以下,有效vxl)。
226.具体而言,节点1对应于包含图10的位置信息的整个空间。将对应于节点1的整个空间分割为8个节点,将8个节点中包含有效vxl的节点进一步分割为8个节点或叶,与树结构的层级量相应地重复该处理。这里,各节点对应于子空间,作为节点信息具有表示在分割后的哪个位置具有下一个节点或叶的信息(占用率编码)。此外,将最下层的块设定在叶中,保持包含在叶内的点群数等作为叶信息。
227.接着,说明位置信息解码部的结构例。图12是本实施方式的位置信息解码部2710的框图。位置信息解码部2710具备八叉树生成部2711、几何信息计算部2712、编码表选择部2713以及熵解码部2714。
228.八叉树生成部2711使用比特流的头信息或者元数据等来生成某空间(节点)的八叉树。例如,八叉树生成部2711使用附加在头信息中的某空间的x轴、y轴、z轴方向的大小来生成大空间(根节点),通过将该空间在x轴、y轴、z轴方向上分别进行2分割而生成8个小空间a(节点a0~a7),从而生成八叉树。另外,节点a0~a7被依次设定为对象节点。
229.几何信息计算部2712取得表示对象节点的相邻节点是否是占有节点的占有信息。例如,几何信息计算部2712根据对象节点所属的父节点的占用率编码来计算相邻节点的占有信息。此外,几何信息计算部2712可以预先将已解码的节点保存在列表中,并从该列表内搜索相邻节点。此外,几何信息计算部2712可以根据对象节点在父节点内的位置来切换相邻节点。
230.编码表选择部2713使用由几何信息计算部2712计算出的相邻节点的占有信息,选择在对象节点的熵解码中使用的编码表(解码表)。例如,编码表选择部2713可以使用相邻
节点的占有信息生成比特串,并选择从该比特串生成的索引号的编码表。
231.熵解码部2714通过使用所选择的编码表对对象节点的占用率编码进行熵解码,生成位置信息。另外,熵解码部2714也可以从比特流中解码并取得所选择的编码表的信息,使用由该信息表示的编码表,对对象节点的占用率编码进行熵解码。
232.以下,说明属性信息编码部及属性信息解码部的结构。图13是表示属性信息编码部a100的结构例的框图。属性信息编码部可以包括执行不同的编码方法的多个编码部。例如,属性信息编码部可以根据使用情况来切换使用以下两种方法。
233.属性信息编码部a100包括lod属性信息编码部a101和变换属性信息编码部a102。lod属性信息编码部a101使用三维点的位置信息将各三维点分类到多个层级,预测属于各层级的三维点的属性信息,对该预测残差进行编码。在此,将分类后的各层级称为lod(level of detail,多细节层次)。
234.变换属性信息编码部a102使用raht(region adaptive hierarchical transform,区域自适应分层变换)对属性信息进行编码。具体而言,变换属性信息编码部a102根据三维点的位置信息,对各属性信息应用raht或haar变换,生成各层级的高频成分和低频成分,并利用量化和熵编码等对这些值进行编码。
235.图14是表示属性信息解码部a110的结构例的框图。属性信息解码部可以包括执行不同解码方法的多个解码部。例如,属性信息解码部也可以根据头或元数据中包含的信息来切换下述两种方式进行解码。
236.属性信息解码部a110包括lod属性信息解码部a111和变换属性信息解码部a112。lod属性信息解码部a111使用三维点的位置信息将各三维点分类到多个层级,一边预测属于各层级的三维点的属性信息一边解码属性值。
237.变换属性信息解码部a112使用raht(region adaptive hierarchical transform)对属性信息进行解码。具体而言,变换属性信息解码部a112根据三维点的位置信息,对各属性值的高频成分及低频成分应用inverse raht或inverse haar变换,对属性值进行解码。
238.图15是表示作为lod属性信息编码部a101的一例的属性信息编码部3140的结构的框图。
239.属性信息编码部3140包括lod生成部3141、周围搜索部3142、预测部3143、预测残差计算部3144、量化部3145、算术编码部3146、逆量化部3147、解码值生成部3148和存储器3149。
240.lod生成部3141使用三维点的位置信息生成lod。
241.周围搜索部3142使用由lod生成部3141进行的lod的生成结果和表示各三维点间的距离的距离信息,搜索与各三维点相邻的邻近三维点。
242.预测部3143生成编码对象的对象三维点的属性信息的预测值。
243.预测残差计算部3144计算(生成)由预测部3143生成的属性信息的预测值的预测残差。
244.量化部3145对由预测残差计算部3144计算出的属性信息的预测残差进行量化。
245.算术编码部3146对由量化部3145量化后的预测残差进行算术编码。算术编码部3146将包含算术编码后的预测残差的比特流输出到例如三维数据解码装置。
246.此外,预测残差也可以在通过算术编码部3146进行算术编码之前,例如通过量化部3145进行二值化。
247.此外,例如,算术编码部3146可以在算术编码之前对用于算术编码的编码表进行初始化。算术编码部3146可以按每个层对用于算术编码的编码表进行初始化。另外,算术编码部3146也可以将表示对编码表进行了初始化的层的位置的信息包含在比特流中进行输出。
248.逆量化部3147对由量化部3145量化后的预测残差进行逆量化。
249.解码值生成部3148通过将由预测部3143生成的属性信息的预测值与由逆量化部3147逆量化后的预测残差相加来生成解码值。
250.存储器3149是存储由解码值生成部3148解码的各三维点的属性信息的解码值的存储器。例如,在生成尚未编码的三维点的预测值的情况下,预测部3143利用存储在存储器3149中的各三维点的属性信息的解码值来生成预测值。
251.图16是作为变换属性信息编码部a102的一例的属性信息编码部6600的框图。属性信息编码部6600具备排序部6601、haar变换部6602、量化部6603、逆量化部6604、逆haar变换部6605、存储器6606以及算术编码部6607。
252.排序部6601使用三维点的位置信息生成莫顿编码,按照莫顿编码顺序对多个三维点进行排序。haar变换部6602通过对属性信息应用haar变换来生成编码系数。量化部6603对属性信息的编码系数进行量化。
253.逆量化部6604对量化后的编码系数进行逆量化。逆haar变换部6605对编码系数应用逆haar变换。存储器6606存储已解码的多个三维点的属性信息的值。例如,存储器6606中存储的已解码的三维点的属性信息也可以利用于未被编码的三维点的预测等。
254.算术编码部6607根据量化后的编码系数计算zerocnt,对zerocnt进行算术编码。另外,算术编码部6607对量化后的非零的编码系数进行算术编码。算术编码部6607可以在算术编码前对编码系数进行二值化。另外,算术编码部6607也可以生成和编码各种头信息。
255.图17是表示作为lod属性信息解码部a111的一例的属性信息解码部3150的结构的框图。
256.属性信息解码部3150包括lod生成部3151、周围搜索部3152、预测部3153、算术解码部3154、逆量化部3155、解码值生成部3156以及存储器3157。
257.lod生成部3151,使用由位置信息解码部(在图17中未图示)解码的三维点的位置信息来生成lod。
258.周围搜索部3152使用lod生成部3151的lod的生成结果和表示各三维点间的距离的距离信息,搜索与各三维点相邻的邻近三维点。
259.预测部3153生成解码对象的对象三维点的属性信息的预测值。
260.算术解码部3154对从图15所示的属性信息编码部3140获得的比特流内的预测残差进行算术解码。此外,算术解码部3154可以对用于算术解码的解码表进行初始化。对图15所示的算术编码部3146进行了编码处理的层,算术解码部3154对用于算术解码的解码表进行初始化。算术解码部3154可以按每个层对用于算术解码的解码表进行初始化。此外,算术解码部3154可以基于包含在比特流中的、表示编码表初始化后的层的位置的信息,对解码表进行初始化。
261.逆量化部3155对算术解码部3154进行算术解码后的预测残差进行逆量化。
262.解码值生成部3156将由预测部3153生成的预测值和由逆量化部3155逆量化后的预测残差相加而生成解码值。解码值生成部3156将解码后的属性信息数据向其他装置输出。
263.存储器3157是存储由解码值生成部3156解码的各三维点的属性信息的解码值的存储器。例如,在生成尚未解码的三维点的预测值的情况下,预测部3153利用存储在存储器3157中的各三维点的属性信息的解码值来生成预测值。
264.图18是作为变换属性信息解码部a112的一例的属性信息解码部6610的框图。属性信息解码部6610具备算术解码部6611、逆量化部6612、逆haar变换部6613以及存储器6614。
265.算术解码部6611对比特流所包含的zerocnt和编码系数进行算术解码。另外,算术解码部6611也可以对各种头信息进行解码。
266.逆量化部6612对算术解码出的编码系数进行逆量化。逆haar变换部6613对逆量化后的编码系数应用逆haar变换。存储器6614存储已解码的多个三维点的属性信息的值。例如,存储器6614中存储的已解码的三维点的属性信息也可以利用于未被解码的三维点的预测。
267.接着,对作为进行第2编码方法的编码的编码部4613的例子的第2编码部4650进行说明。图19是表示第2编码部4650的结构的图。图20是第2编码部4650的框图。
268.第2编码部4650通过以第2编码方法对点群数据进行编码来生成编码数据(编码流)。该第2编码部4650包括附加信息生成部4651、位置图像生成部4652、属性图像生成部4653、影像编码部4654、附加信息编码部4655以及复用部4656。
269.第2编码部4650具有如下特征:通过将三维结构投影于二维图像来生成位置图像以及属性图像,并使用现有的影像编码方式对所生成的位置图像以及属性图像进行编码。第2编码方法也被称为vpcc(video based pcc,基于视频的pcc)。
270.点群数据是ply文件那样的pcc点群数据、或者根据传感器信息生成的pcc点群数据,包含位置信息(position)、属性信息(attribute)以及其他的附加信息(metadata)。
271.附加信息生成部4651通过将三维结构投影到二维图像,来生成多个二维图像的映射信息。
272.位置图像生成部4652基于位置信息和由附加信息生成部4651生成的映射信息,生成位置图像(geometry image)。该位置图像例如是表示距离(depth)作为像素值的距离图像。另外,该距离图像既可以是从1个视点观察多个点群的图像(在1个二维平面上投影了多个点群的图像),也可以是从多个视点观察多个点群的多个图像,也可以是将这些多个图像合并而成的1个图像。
273.属性图像生成部4653基于属性信息和由附加信息生成部4651生成的映射信息,生成属性图像。该属性图像例如是表示属性信息(例如颜色(rgb))作为像素值的图像。另外,该图像可以是从1个视点观察多个点群的图像(在1个二维平面上投影了多个点群的图像),也可以是从多个视点观察多个点群的多个图像,也可以是将这些多个图像合并而成的1个图像。
274.影像编码部4654通过使用影像编码方式对位置图像以及属性图像进行编码,从而生成作为编码数据的编码位置图像(compressed geometry image)以及编码属性图像
(compressed attribute image)。此外,作为影像编码方式,可以使用公知的任意的编码方式。例如,影像编码方式是avc或hevc等。
275.附加信息编码部4655通过对点群数据中包含的附加信息以及映射信息等进行编码来生成编码附加信息(compressed metadata)。
276.复用部4656通过对编码位置图像、编码属性图像、编码附加信息以及其他附加信息进行复用,来生成作为编码数据的编码流(compressed stream)。所生成的编码流被输出到未图示的系统层的处理部。
277.接着,对作为进行第2编码方法的解码的解码部4624的例子的第2解码部4660进行说明。图21是表示第2解码部4660的结构的图。图22是第2解码部4660的框图。第2解码部4660通过以第2编码方法对以第2编码方法进行了编码的编码数据(编码流)进行解码,来生成点群数据。该第2解码部4660包括逆复用部4661、影像解码部4662、附加信息解码部4663、位置信息生成部4664以及属性信息生成部4665。
278.从未图示的系统层的处理部将作为编码数据的编码流(compressed stream)输入到第2解码部4660。
279.逆复用部4661从编码数据中分离编码位置图像(compressed geometry image)、编码属性图像(compressed attribute image)、编码附加信息(compressed metadata)以及其他附加信息。
280.影像解码部4662通过使用影像编码方式对编码位置图像以及编码属性图像进行解码,来生成位置图像以及属性图像。此外,作为影像编码方式,可以使用公知的任意的编码方式。例如,影像编码方式是avc或hevc等。
281.附加信息解码部4663通过对编码附加信息进行解码,来生成包含映射信息等的附加信息。
282.位置信息生成部4664使用位置图像和映射信息生成位置信息。属性信息生成部4665使用属性图像和映射信息生成属性信息。
283.第2解码部4660在解码时使用解码所需的附加信息,向外部输出应用所需的附加信息。
284.以下,说明pcc编码方式中的课题。图23是表示与pcc编码数据有关的协议栈的图。图23表示在pcc编码数据中复用、传输或积蓄影像(例如hevc)或声音等其他媒体的数据的例子。
285.复用方式及文件格式具有用于复用、传输或积蓄各种编码数据的功能。为了传输或积蓄编码数据,必须将编码数据变换为复用方式的格式。例如,在hevc中,规定了将编码数据保存在被称为nal单元的数据结构中,将nal单元保存到isobmff中的技术。
286.另一方面,当前,作为点群数据的编码方式,正在研究第1编码方法(codec1)以及第2编码方法(codec2),但没有定义编码数据的结构以及将编码数据保存到系统格式的方法,存在无法直接进行编码部中的mux处理(复用)、传输以及积蓄这样的课题。
287.另外,以下,如果没有特定的编码方法的记载,则表示第1编码方法和第2编码方法中的任一个。
288.(实施方式2)
289.在本实施方式中,对由上述的第1编码部4630或第2编码部4650生成的编码数据
(位置信息(geometry)、属性信息(attribute)、附加信息(metadata))的种类及附加信息(元数据)的生成方法、以及复用部中的复用处理进行说明。另外,附加信息(元数据)也有表述为参数集或控制信息的情况。
290.在本实施方式中,以在图4中说明的动态对象(随时间而变化的三维点群数据)为例进行说明,但在静态对象(任意的时刻的三维点群数据)的情况下也可以使用同样的方法。
291.图24是表示在有关本实施方式的三维数据编码装置中包含的编码部4801及复用部4802的结构的图。编码部4801例如对应于上述的第1编码部4630或第2编码部4650。复用部4802对应于上述的复用部4634或4656。
292.编码部4801将多个pcc(point cloud compression)帧的点群数据编码,生成多个位置信息、属性信息及附加信息的编码数据(multiple compressed data)。
293.复用部4802通过对多个数据种类(位置信息、属性信息及附加信息)的数据进行nal单元化,将数据变换为考虑了解码装置中的数据访问的数据结构。
294.图25是表示由编码部4801生成的编码数据的结构例的图。图中的箭头表示与编码数据的解码有关的依赖关系,箭头的根部依赖于箭头的尖部的数据。即,解码装置将箭头的尖部的数据解码,使用该解码的数据将箭头的根部的数据解码。换言之,依赖是指在依赖源的数据的处理(编码或解码等)中参照(使用)依赖目标的数据。
295.首先,对位置信息的编码数据的生成处理进行说明。编码部4801通过将各帧的位置信息编码,生成各帧的编码位置数据(compressed geometry data)。此外,将编码位置数据用g(i)表示。i表示帧号或帧的时刻等。
296.此外,编码部4801生成与各帧对应的位置参数集(gps(i))。位置参数集包含能够在编码位置数据的解码中使用的参数。此外,每个帧的编码位置数据依赖于对应的位置参数集。
297.此外,将由多个帧构成的编码位置数据定义为位置序列(geometry sequence)。编码部4801生成将在对于位置序列内的多个帧的解码处理中共同使用的参数进行保存的位置序列参数集(geometry sequence ps:也记作位置sps)。位置序列依赖于位置sps。
298.接着,对属性信息的编码数据的生成处理进行说明。编码部4801通过将各帧的属性信息编码,生成各帧的编码属性数据(compressed attribute data)。此外,将编码属性数据用a(i)表示。此外,在图25中,示出了存在属性x和属性y的例子,将属性x的编码属性数据用ax(i)表示,将属性y的编码属性数据用ay(i)表示。
299.此外,编码部4801生成与各帧对应的属性参数集(aps(i))。此外,将属性x的属性参数集用axps(i)表示,将属性y的属性参数集用ayps(i)表示。属性参数集包含能够在编码属性信息的解码中使用的参数。编码属性数据依赖于对应的属性参数集。
300.此外,将由多个帧构成的编码属性数据定义为属性序列(attribute sequence)。编码部4801生成将在对于属性序列内的多个帧的解码处理中共同使用的参数进行保存的属性序列参数集(attribute sequence ps:也记作属性sps)。属性序列依赖于属性sps。
301.此外,在第1编码方法中,编码属性数据依赖于编码位置数据。
302.此外,在图25中,示出了存在两种属性信息(属性x和属性y)的情况下的例子。在有两种属性信息的情况下,例如由两个编码部生成各自的数据及元数据。此外,例如按属性信
息的每个种类来定义属性序列,按属性信息的每个种类来生成属性sps。
303.另外,在图25中,示出了位置信息是1种、属性信息是两种的例子,但并不限于此,属性信息也可以是1种,也可以是3种以上。在此情况下,也能够用同样的方法生成编码数据。此外,在不具有属性信息的点群数据的情况下,也可以没有属性信息。在此情况下,编码部4801也可以不生成与属性信息关联的参数集。
304.接着,对附加信息(元数据)的生成处理进行说明。编码部4801生成pcc流整体的参数集即pcc流ps(pcc stream ps:也记作流ps)。编码部4801在流ps中保存能够在对1个或多个位置序列及1个或多个属性序列的解码处理中共同使用的参数。例如,在流ps中,包含表示点群数据的编解码器的识别信息及表示在编码中使用的算法的信息等。位置序列及属性序列依赖于流ps。
305.接着,对访问单元及gof进行说明。在本实施方式中,新导入访问单元(access unit:au)及gof(group of frame:帧组)的考虑方式。
306.访问单元是在解码时用来访问数据的基本单位,由1个以上的数据及1个以上的元数据构成。例如,访问单元由相同时刻的位置信息和1个或多个属性信息构成。gof是随机访问单位,由1个以上的访问单元构成。
307.编码部4801生成访问单元头(au header)作为表示访问单元的开头的识别信息。编码部4801在访问单元头中保存与访问单元有关的参数。例如,访问单元头包含:在访问单元中包含的编码数据的结构或信息。此外,访问单元头包含对在访问单元中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。
308.另外,编码部4801也可以代替访问单元头而生成不包含与访问单元有关的参数的访问单元定界符。该访问单元定界符被用作表示访问单元的开头的识别信息。解码装置通过检测访问单元头或访问单元定界符,识别访问单元的开头。
309.接着,对gof开头的识别信息的生成进行说明。编码部4801生成gof头(gof header)作为表示gof的开头的识别信息。编码部4801在gof头中保存与gof有关的参数。例如,gof头包含:在gof中包含的编码数据的结构或信息。此外,gof头包含对在gof中包含的数据共同使用的参数,例如与编码数据的解码有关的参数等。
310.另外,编码部4801也可以代替gof头而生成不包含与gof有关的参数的gof定界符。该gof定界符被用作表示gof的开头的识别信息。解码装置通过检测gof头或gof定界符,识别gof的开头。
311.在pcc编码数据中,例如定义为访问单元是pcc帧单位。解码装置基于访问单元开头的识别信息,对pcc帧进行访问。
312.此外,例如gof被定义为1个随机访问单位。解码装置基于gof开头的识别信息,对随机访问单位进行访问。例如,如果pcc帧相互没有依赖关系而能够单独解码,则也可以将pcc帧定义为随机访问单位。
313.另外,也可以对1个访问单元分配两个以上的pcc帧,也可以对1个gof分配多个随机访问单位。
314.此外,编码部4801也可以定义并生成上述以外的参数集或元数据。例如,编码部4801也可以生成保存有可能在解码时不一定使用的参数(可选的参数)的sei(supplemental enhancement information:补充增强信息)。
315.接着,说明编码数据的结构及编码数据向nal单元的保存方法。
316.例如,按编码数据的每个种类规定数据格式。图26是表示编码数据及nal单元的例子的图。
317.例如,如图26所示,编码数据包括头和有效载荷。另外,编码数据也可以包含编码数据、头或表示有效载荷的长度(数据量)的长度信息。此外,编码数据也可以不包含头。
318.头例如包含用来确定数据的识别信息。该识别信息例如表示数据种类或帧号。
319.头例如包含表示参照关系的识别信息。该识别信息例如是在数据间有依赖关系的情况下被保存到头中,用来从参照源对参照目标进行参照的信息。例如,在参照目标的头中,包含用来确定该数据的识别信息。在参照源的头中,包含表示参照目标的识别信息。
320.另外,在能够从其他信息识别或导出参照目标或参照源的情况下,也可以省略用来确定数据的识别信息或表示参照关系的识别信息。
321.复用部4802将编码数据保存在nal单元的有效载荷中。在nal单元头中,包含作为编码数据的识别信息的pcc_nal_unit_type。图27是表示pcc_nal_unit_type的语义例的图。
322.如图27所示,在pcc_codec_type是编解码器1(codec1:第1编码方法)的情况下,pcc_nal_unit_type的值0~10被分配给编解码器1中的编码位置数据(geometry)、编码属性x数据(attributex)、编码属性y数据(attributey)、位置ps(geom.ps)、属性xps(attrx.ps)、属性yps(attrx.ps)、位置sps(geometry sequence ps)、属性xsps(attributex sequence ps)、属性ysps(attributey sequence ps)、au头(au header)、gof头(gof header)。此外,值11以后被分配为编解码器1的备用。
323.在pcc_codec_type是编解码器2(codec2:第2编码方法)的情况下,pcc_nal_unit_type的值0~2被分配给编解码器的数据a(dataa)、元数据a(metadataa)、元数据b(metadatab)。此外,值3以后被分配为编解码器2的备用。
324.接着,对数据的送出顺序进行说明。以下,对nal单元的送出顺序的制约进行说明。
325.复用部4802将nal单元以gof或au单位一起送出。复用部4802将gof头配置在gof的开头,将au头配置在au的开头。
326.复用部4802也可以按每个au来配置序列参数集(sps),以使得在因丢包等而丢失了数据的情况下解码装置也能够从下个au起进行解码。
327.在编码数据中有与解码有关的依赖关系的情况下,解码装置在将参照目标的数据解码后,将参照源的数据解码。在解码装置中,为了使得能够不将数据重新排列而以接收到的顺序进行解码,复用部4802先送出参照目标的数据。
328.图28是表示nal单元的送出顺序的例子的图。图28表示位置信息优先、参数优先和数据合并这3个例子。
329.位置信息优先的送出顺序是将与位置信息有关的信息和与属性信息有关的信息的各信息一起送出的例子。在该送出顺序的情况下,与位置信息有关的信息的送出比与属性信息有关的信息的送出更早完成。
330.例如,通过使用该送出顺序,不解码属性信息的解码装置通过忽视属性信息的解码,有可能能够设置不进行处理的时间。此外,例如在想要早解码位置信息的解码装置的情况下,通过较早得到位置信息的编码数据,有可能能够更早地解码位置信息。
331.另外,在图28中,将属性xsps与属性ysps合并而记作属性sps,但也可以单独地配置属性xsps和属性ysps。
332.在参数集优先的送出顺序中,先送出参数集,后送出数据。
333.如以上这样,只要遵循nal单元送出顺序的制约,复用部4802将nal单元以怎样的顺序送出都可以。例如,也可以定义顺序识别信息,复用部4802具有以多个样式的顺序送出nal单元的功能。例如在流ps中保存nal单元的顺序识别信息。
334.三维数据解码装置也可以基于顺序识别信息进行解码。也可以从三维数据解码装置向三维数据编码装置指示期望的送出顺序,三维数据编码装置(复用部4802)按照被指示的送出顺序对送出顺序进行控制。
335.另外,只要是如数据合并的送出顺序那样遵循送出顺序的制约的范围,复用部4802也可以生成将多个功能归并的编码数据。例如,如图28所示,也可以将gof头与au头合并,也可以将axps与ayps合并。在此情况下,在pcc_nal_unit_type中,定义表示是具有多个功能的数据的标识符。
336.以下,对本实施方式的变形例进行说明。如帧级的ps、序列级的ps、pcc序列级的ps那样,ps有级别,如果将pcc序列级设为上位的级别,将帧级设为下位的级别,则参数的保存方法也可以使用下述的方法。
337.将默认的ps的值用较上位的ps表示。此外,在下位的ps的值与上位的ps的值不同的情况下,用下位的ps表示ps的值。或者,在上位不记载ps的值,在下位的ps中记载ps的值。或者,用下位的ps和上位的ps的某一方或双方来表示将ps的值用下位的ps表示、还是用上位的ps表示、还是用双方表示的信息。或者,也可以将下位的ps归并到上位的ps。或者,在下位的ps与上位的ps重复的情况下,复用部4802也可以将某一方的送出省略。
338.另外,编码部4801或复用部4802也可以将数据分割为切片或瓦片等,将分割后的数据送出。在分割后的数据中,包含用来识别所分割的数据的信息,在参数集中包含在分割数据的解码中使用的参数。在此情况下,在pcc_nal_unit_type中,定义表示是与瓦片或切片有关的数据或保存参数的数据的标识符。
339.以下,对有关顺序识别信息的处理进行说明。图29是有关nal单元的送出顺序的由三维数据编码装置(编码部4801及复用部4802)进行的处理的流程图。
340.首先,三维数据编码装置决定nal单元的送出顺序(位置信息优先或参数集优先)(s4801)。例如,三维数据编码装置基于来自用户或外部装置(例如三维数据解码装置)的指定,决定送出顺序。
341.在所决定的送出顺序是位置信息优先的情况下(在s4802中为位置信息优先),三维数据编码装置将流ps中包含的顺序识别信息设定为位置信息优先(s4803)。即,在此情况下,顺序识别信息表示以位置信息优先的顺序送出nal单元。并且,三维数据编码装置以位置信息优先的顺序送出nal单元(s4804)。
342.另一方面,在所决定的送出顺序是参数集优先的情况下(在s4802中为参数集优先),三维数据编码装置将流ps中包含的顺序识别信息设定为参数集优先(s4805)。即,在此情况下,顺序识别信息表示以参数集优先的顺序送出nal单元。并且,三维数据编码装置以参数集优先的顺序送出nal单元(s4806)。
343.图30是有关nal单元的送出顺序的由三维数据解码装置进行的处理的流程图。首
先,三维数据解码装置对流ps中包含的顺序识别信息进行解析(s4811)。
344.在由顺序识别信息表示的送出顺序是位置信息优先的情况下(在s4812中为位置信息优先),三维数据解码装置认为nal单元的送出顺序是位置信息优先,将nal单元解码(s4813)。
345.另一方面,在由顺序识别信息表示的送出顺序是参数集优先的情况下(在s4812中为参数集优先),三维数据解码装置认为nal单元的送出顺序是参数集优先,将nal单元解码(s4814)。
346.例如,三维数据解码装置在不将属性信息解码的情况下,也可以在步骤s4813中不取得全部的nal单元,而取得关于位置信息的nal单元,根据所取得的nal单元将位置信息解码。
347.接着,对有关au及gof的生成的处理进行说明。图31是有关nal单元的复用中的au及gof生成的由三维数据编码装置(复用部4802)进行的处理的流程图。
348.首先,三维数据编码装置判定编码数据的种类(s4821)。具体而言,三维数据编码装置判定处理对象的编码数据是au开头的数据、gof开头的数据、还是其以外的数据。
349.在编码数据为gof开头的数据的情况下(在s4822中为gof开头),三维数据编码装置将gof头及au头配置到属于gof的编码数据的开头而生成nal单元(s4823)。
350.在编码数据是au开头的数据的情况下(在s4822中为au开头),三维数据编码装置将au头配置到属于au的编码数据的开头而生成nal单元(s4824)。
351.在编码数据既不是gof开头也不是au开头的情况下(在s4822中为gof开头、au开头以外),三维数据编码装置将编码数据配置到编码数据所属的au的au头之后而生成nal单元(s4825)。
352.接着,对有关向au及gof的访问的处理进行说明。图32是有关nal单元的逆复用中的au及gof的访问的三维数据解码装置的处理的流程图。
353.首先,三维数据解码装置通过对nal单元中包含的nal_unit_type进行解析,判定nal单元中包含的编码数据的种类(s4831)。具体而言,三维数据解码装置判定nal单元中包含的编码数据是au开头的数据、gof开头的数据、还是其以外的数据。
354.在nal单元中包含的编码数据为gof开头的数据的情况下(s4832的gof开头),三维数据解码装置判断为nal单元是随机访问的开始位置,对该nal单元访问,开始解码处理(s4833)。
355.另一方面,在nal单元中包含的编码数据是au开头的数据的情况下(在s4832中为au开头),三维数据解码装置判断为nal单元是au开头,对nal单元中包含的数据进行访问,将该au解码(s4834)。
356.另一方面,在nal单元中包含的编码数据既不是gof开头也不是au开头的情况下(在s4832中为gof开头、au开头以外),三维数据解码装置不处理该nal单元。
357.(实施方式3)
358.在hevc编码中,为了使得能够进行解码装置的并行处理,有切片或瓦片等的数据分割的工具,但在pcc(point cloud compression:点云压缩)编码中还没有。
359.在pcc中,根据并行处理、压缩效率及压缩算法,可以考虑各种各样的数据分割方法。这里,对切片及瓦片的定义、数据结构及送接收方法进行说明。
360.图33是表示有关本实施方式的三维数据编码装置中包含的第1编码部4910的构成的框图。第1编码部4910通过用第1编码方法(gpcc(geometry based pcc))将点群数据编码而生成编码数据(编码流)。该第1编码部4910包括分割部4911、多个位置信息编码部4912、多个属性信息编码部4913、附加信息编码部4914和复用部4915。
361.分割部4911通过将点群数据分割而生成多个分割数据。具体而言,分割部4911通过将点群数据的空间分割为多个子空间而生成多个分割数据。这里子空间指的是瓦片及切片中的一方、或瓦片及切片的组合。更具体地讲,点群数据包含位置信息、属性信息及附加信息。分割部4911将位置信息分割为多个分割位置信息,将属性信息分割为多个分割属性信息。此外,分割部4911生成关于分割的附加信息。
362.多个位置信息编码部4912通过将多个分割位置信息编码,生成多个编码位置信息。例如,多个位置信息编码部4912将多个分割位置信息并行处理。
363.多个属性信息编码部4913通过将多个分割属性信息编码而生成多个编码属性信息。例如,多个属性信息编码部4913将多个分割属性信息并行处理。
364.附加信息编码部4914通过将点群数据中包含的附加信息和由分割部4911在分割时生成的关于数据分割的附加信息编码,生成编码附加信息。
365.复用部4915通过将多个编码位置信息、多个编码属性信息及编码附加信息复用,生成编码数据(编码流),将所生成的编码数据送出。此外,编码附加信息在解码时被使用。
366.另外,在图33中,示出了位置信息编码部4912及属性信息编码部4913的数量分别为两个的例子,但位置信息编码部4912及属性信息编码部4913的数量分别也可以是1个,也可以是3个以上。此外,多个分割数据既可以如cpu内的多核那样在同一芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核进行并行处理。
367.图34是表示第1解码部4920的构成的框图。第1解码部4920通过对通过用第1编码方法(gpcc)将点群数据编码而生成的编码数据(编码流)进行解码,将点群数据复原。该第1解码部4920包括逆复用部4921、多个位置信息解码部4922、多个属性信息解码部4923、附加信息解码部4924和结合部4925。
368.逆复用部4921通过将编码数据(编码流)逆复用,生成多个编码位置信息、多个编码属性信息及编码附加信息。
369.多个位置信息解码部4922通过将多个编码位置信息解码而生成多个分割位置信息。例如,多个位置信息解码部4922将多个编码位置信息并行处理。
370.多个属性信息解码部4923通过将多个编码属性信息解码而生成多个分割属性信息。例如,多个属性信息解码部4923将多个编码属性信息并行处理。
371.多个附加信息解码部4924通过将编码附加信息解码,生成附加信息。
372.结合部4925通过使用附加信息将多个分割位置信息结合,生成位置信息。结合部4925通过使用附加信息将多个分割属性信息结合,生成属性信息。
373.另外,在图34中示出了位置信息解码部4922及属性信息解码部4923的数量分别为两个的例子,但位置信息解码部4922及属性信息解码部4923的数量分别也可以是1个,也可以是3个以上。此外,多个分割数据既可以如cpu内的多核那样在同一芯片内并行处理,也可以由多个芯片的核并行处理,也可以由多个芯片的多个核进行并行处理。
374.接着,说明分割部4911的构成。图35是分割部4911的框图。分割部4911包括切片分
割部4931(slice divider)、位置信息瓦片分割部4932(geometry tile divider)和属性信息瓦片分割部4933(attribute tile divider)。
375.切片分割部4931通过将位置信息(position(geometry))分割为切片而生成多个切片位置信息。此外,切片分割部4931通过将属性信息(attribute)分割为切片而生成多个切片属性信息。此外,切片分割部4931输出有关切片分割的信息及包含在切片分割中生成的信息的切片附加信息(slicemetadata)。
376.位置信息瓦片分割部4932通过将多个切片位置信息分割为瓦片而生成多个分割位置信息(多个瓦片位置信息)。此外,位置信息瓦片分割部4932输出与位置信息的瓦片分割有关的信息及包含在位置信息的瓦片分割中生成的信息的位置瓦片附加信息(geometry tile metadata)。
377.属性信息瓦片分割部4933通过将多个切片属性信息分割为瓦片而生成多个分割属性信息(多个瓦片属性信息)。此外,属性信息瓦片分割部4933输出与属性信息的瓦片分割有关的信息及包含在属性信息的瓦片分割中生成的信息的属性瓦片附加信息(attribute tile metadata)。
378.另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。
379.此外,这里示出了在切片分割后进行瓦片分割的例子,但也可以在瓦片分割后进行切片分割。此外,除了切片及瓦片以外,也可以再定义新的分割种类,以3个以上的分割种类进行分割。
380.以下,对点群数据的分割方法进行说明。图36是表示切片及瓦片分割的例子的图。
381.首先,对切片分割的方法进行说明。分割部4911将三维点群数据以切片单位分割为任意的点群。分割部4911在切片分割中不分割构成点的位置信息和属性信息,而将位置信息和属性信息一齐分割。即,分割部4911以任意点处的位置信息和属性信息属于相同的切片的方式进行切片分割。另外,只要遵循这些,则分割数量及分割方法是怎样的方法都可以。此外,分割的最小单位是点。例如,位置信息和属性信息的分割数量相同。例如,与切片分割后的位置信息对应的三维点和与属性信息对应的三维点包含于相同的切片中。
382.此外,分割部4911在切片分割时生成作为与分割数量及分割方法有关的附加信息的切片附加信息。切片附加信息在位置信息和属性信息中是相同的。例如,切片附加信息包含表示分割后的包围盒(bounding box)的基准坐标位置、大小或边的长度的信息。此外,切片附加信息包含表示分割数量及分割类型等的信息。
383.接着,对瓦片分割的方法进行说明。分割部4911将被切片分割后的数据分割为切片位置信息(g切片)和切片属性信息(a切片),将切片位置信息和切片属性信息分别分割为瓦片单位。
384.另外,在图36中示出了以8叉树结构分割的例子,但分割数量及分割方法是怎样的方法都可以。
385.此外,分割部4911将位置信息和属性信息既可以用不同的分割方法分割,也可以用相同的分割方法分割。此外,分割部4911将多个切片既可以用不同的分割方法分割为瓦片,也可以用相同的分割方法分割为瓦片。
386.此外,分割部4911在瓦片分割时生成与分割数量及分割方法有关的瓦片附加信
息。瓦片附加信息(位置瓦片附加信息及属性瓦片附加信息)在位置信息和属性信息中独立。例如,瓦片附加信息包含表示分割后的包围盒的基准坐标位置、大小或边的长度的信息。此外,瓦片附加信息包含表示分割数量及分割类型等的信息。
387.接着,说明将点群数据分割为切片或瓦片的方法的例子。作为切片或瓦片分割的方法,分割部4911既可以使用预先设定的方法,也可以根据点群数据而自适应地切换所使用的方法。
388.在切片分割时,分割部4911对于位置信息和属性信息一齐将三维空间分割。例如,分割部4911判定对象的形状,根据对象的形状将三维空间分割为切片。例如,分割部4911提取树或建筑物等对象,以对象单位进行分割。例如,分割部4911进行切片分割,以使1个或多个对象的整体包含于1个切片中。或者,分割部4911将一个对象分割为多个切片。
389.在此情况下,编码装置例如也可以按每个切片改变编码方法。例如,编码装置也可以对特定的对象或对象的特定的一部分使用高品质的压缩方法。在此情况下,编码装置也可以将表示每个切片的编码方法的信息向附加信息(元数据)保存。
390.此外,分割部4911也可以基于地图信息或位置信息进行切片分割,以使各切片对应于预先设定的坐标空间。
391.在瓦片分割时,分割部4911将位置信息和属性信息独立地分割。例如,分割部4911根据数据量或处理量将切片分割为瓦片。例如,分割部4911判定切片的数据量(例如切片中包含的三维点的数量)是否比预先设定的阈值多。分割部4911在切片的数据量比阈值多的情况下将切片分割为瓦片。分割部4911在切片的数据量比阈值少时不将切片分割为瓦片。
392.例如,分割部4911将切片分割为瓦片,以使解码装置中的处理量或处理时间成为一定的范围(预先设定的值以下)。由此,解码装置的每个瓦片的处理量成为一定,解码装置中的分散处理变得容易。
393.此外,分割部4911在位置信息和属性信息中处理量不同的情况下,例如在位置信息的处理量比属性信息的处理量多的情况下,使位置信息的分割数量比属性信息的分割数量多。
394.此外,例如根据内容,在解码装置也可以将位置信息较早地解码并显示、将属性信息然后慢慢解码而显示的情况下,分割部4911也可以使位置信息的分割数量比属性信息的分割数量多。由此,解码装置能够使位置信息的并行数量变多,所以能够使位置信息的处理比属性信息的处理高速化。
395.另外,解码装置并不需要一定将被切片化或瓦片化的数据并行处理,也可以根据解码处理部的数量或能力来判定是否将它们并行处理。
396.通过用以上那样的方法分割,能够实现与内容或对象对应的自适应的编码。此外,能够实现解码处理中的并行处理。由此,点群编码系统或点群解码系统的柔性提高。
397.图37是表示切片及瓦片的分割的样式的例子的图。图中的du是数据单位(data unit),表示瓦片或切片的数据。此外,各du包括切片索引(slice index)和瓦片索引(tile index)。图中的du的右上的数值表示切片索引,du的左下的数值表示瓦片索引。
398.在样式1中,在切片分割中,在g切片和a切片中分割数量及分割方法相同。在瓦片分割中,对于g切片的分割数量及分割方法与对于a切片的分割数量及分割方法不同。此外,在多个g切片间使用相同的分割数量及分割方法。在多个a切片间使用相同的分割数量及分
割方法。
399.在样式2中,在切片分割中,在g切片和a切片中分割数量及分割方法相同。在瓦片分割中,对于g切片的分割数量及分割方法与对于a切片的分割数量及分割方法不同。此外,在多个g切片间,分割数量及分割方法不同。在多个a切片间,分割数量及分割方法不同。
400.接着,对分割数据的编码方法进行说明。三维数据编码装置(第1编码部4910)将被分割后的数据分别编码。三维数据编码装置在将属性信息编码时,生成表示基于哪个构成信息(位置信息、附加信息或其他属性信息)进行了编码的依赖关系信息作为附加信息。即,依赖关系信息例如表示参照目标(依赖目标)的构成信息。在此情况下,三维数据编码装置基于与属性信息的分割形状对应的构成信息生成依赖关系信息。另外,三维数据编码装置也可以基于与多个分割形状对应的构成信息生成依赖关系信息。
401.依赖关系信息也可以由三维数据编码装置生成,所生成的依赖关系信息被送出至三维数据解码装置。或者,也可以由三维数据解码装置生成依赖关系信息,三维数据编码装置不送出依赖关系信息。此外,也可以预先设定三维数据编码装置使用的依赖关系,三维数据编码装置不送出依赖关系信息。
402.图38是表示各数据的依赖关系的一例的图。图中的箭头的尖部表示依赖目标,箭头的根部表示依赖源。三维数据解码装置以从依赖目标到依赖源的顺序将数据解码。此外,在图中用实线表示的数据是实际被送出的数据,由点线表示的数据是不被送出的数据。
403.此外,在该图中,g表示位置信息,a表示属性信息。g
s1
表示切片号1的位置信息,g
s2
表示切片号2的位置信息。g
s1t1
表示切片号1且瓦片号1的位置信息,g
s1t2
表示切片号1且瓦片号2的位置信息,g
s2t1
表示切片号2且瓦片号1的位置信息,g
s2t2
表示切片号2且瓦片号2的位置信息。同样,a
s1
表示切片号1的属性信息,a
s2
表示切片号2的属性信息。a
s1t1
表示切片号1且瓦片号1的属性信息,a
s1t2
表示切片号1且瓦片号2的属性信息,a
s2t1
表示切片号2且瓦片号1的属性信息,a
s2t2
表示切片号2且瓦片号2的属性信息。
404.mslice表示切片附加信息,mgtile表示位置瓦片附加信息,matile表示属性瓦片附加信息。d
s1t1
表示属性信息a
s1t1
的依赖关系信息,d
s2t1
表示属性信息a
s2t1
的依赖关系信息。
405.此外,三维数据编码装置也可以将数据以解码顺序重新排列,以使得在三维数据解码装置中不需要将数据重新排列。另外,也可以在三维数据解码装置中将数据重新排列,也可以在三维数据编码装置和三维数据解码装置双方中将数据重新排列。
406.图39是表示数据的解码顺序的例子的图。在图39的例子中,从左方的数据起依次进行解码。三维数据解码装置在处于依赖关系的数据间,先从依赖目标的数据开始进行解码。例如,三维数据编码装置将数据预先重新排列为该顺序而送出。另外,只要是依赖目标的数据为先的顺序,则怎样的顺序都可以。此外,三维数据编码装置也可以将附加信息及依赖关系信息比数据先送出。
407.图40是表示由三维数据符号装置进行的处理的流程的流程图。首先,三维数据编码装置如上述那样将多个切片或瓦片的数据编码(s4901)。接着,三维数据编码装置如图39所示,以依赖目标的数据为先的方式将数据重新排列(s4902)。接着,三维数据编码装置将重新排列后的数据复用(nal单元化)(s4903)。
408.接着,说明在第1解码部4920中包含的结合部4925的构成。图41是表示结合部4925
的构成的框图。结合部4925包括位置信息瓦片结合部4941(geometry tile combiner)、属性信息瓦片结合部4942(attribute tile combiner)和切片结合部(slice combiner)。
409.位置信息瓦片结合部4941通过使用位置瓦片附加信息将多个分割位置信息结合,生成多个切片位置信息。属性信息瓦片结合部4942通过使用属性瓦片附加信息将多个分割属性信息结合,生成多个切片属性信息。
410.切片结合部4943通过使用切片附加信息将多个切片位置信息结合而生成位置信息。此外,切片结合部4943通过使用切片附加信息将多个切片属性信息结合而生成属性信息。
411.另外,被分割的切片或瓦片的数量是1个以上。即,也可以不进行切片或瓦片的分割。
412.此外,这里示出了在切片分割后进行瓦片分割的例子,但也可以在瓦片分割后进行切片分割。此外,除了切片及瓦片以外也可以还定义新的分割种类,以3个以上的分割种类进行分割。
413.接着,说明被切片分割或瓦片分割的编码数据的构成、以及编码数据向nal单元的保存方法(复用方法)。图42是说明编码数据的构成及编码数据向nal单元的保存方法的图。
414.编码数据(分割位置信息及分割属性信息)被保存到nal单元的有效载荷中。
415.编码数据包括头和有效载荷。头是用来确定有效载荷中包含的数据的识别信息。该识别信息例如包括切片分割或瓦片分割的种类(slice_type、tile_type)、用来确定切片或瓦片的索引信息(slice_idx、tile_idx)、数据(切片或瓦片)的位置信息、或数据的地址(address)等。用来确定切片的索引信息也记作切片索引(slice index)。用来确定瓦片的索引信息也记作瓦片索引(tile index)。此外,分割的种类例如是上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或者基于数据量或处理量的方法等。
416.另外,上述信息的全部或一部分也可以被保存在分割位置信息的头及分割属性信息的头的一方中,而不保存在另一方中。例如,在位置信息和属性信息中使用相同的分割方法的情况下,在位置信息和属性信息中,分割的种类(slice_type、tile_type)及索引信息(slice_idx、tile_idx)相同。因此,也可以在位置信息和属性信息的一方的头中包含这些信息。例如,在属性信息依赖于位置信息的情况下,位置信息先被处理。因此,也可以在位置信息的头中包含这些信息,在属性信息的头中不包含这些信息。在此情况下,三维数据解码装置例如判断为依赖源的属性信息属于与依赖目标的位置信息的切片或瓦片相同的切片或瓦片。
417.此外,有关切片分割或瓦片分割的附加信息(切片附加信息、位置瓦片附加信息或属性瓦片附加信息)及表示依赖关系的依赖关系信息等也可以被保存在既有的参数集(gps、aps、位置sps或属性sps等)中而送出。在分割方法按每个帧变化的情况下,也可以在每个帧的参数集(gps或aps等)中保存表示分割方法的信息。在序列内分割方法不变化的情况下,也可以在每个序列的参数集(位置sps或属性sps)中保存表示分割方法的信息。进而,在位置信息和属性信息中使用相同的分割方法的情况下,也可以在pcc流的参数集(流ps)中保存表示分割方法的信息。
418.此外,上述的信息既可以被保存在上述的某个参数集中,也可以被保存在多个参数集中。此外,也可以定义瓦片分割或切片分割用的参数集,在该参数集中保存上述信息。
此外,这些信息也可以被保存在编码数据的头中。
419.此外,编码数据的头包含表示依赖关系的识别信息。即,在数据间有依赖关系的情况下,该头包含用来从依赖源参照依赖目标的识别信息。例如,在依赖目标的数据的头中,包含用来确定该数据的识别信息。在依赖源的数据的头中,包含表示依赖目标的识别信息。另外,在能够根据其他信息识别或导出用来确定数据的识别信息、与切片分割或瓦片分割有关的附加信息及表示依赖关系的识别信息的情况下,也可以将这些信息省略。
420.接着,对有关本实施方式的点群数据的编码处理及解码处理的流程进行说明。图43是有关本实施方式的点群数据的编码处理的流程图。
421.首先,三维数据编码装置决定使用的分割方法(s4911)。该分割方法包含是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包含进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。分割的种类指的是上述那样的基于对象形状的方法、基于地图信息或位置信息的方法、或者基于数据量或处理量的方法等。另外,分割方法也可以被预先设定。
422.在进行切片分割的情况下(在s4912中“是”),三维数据编码装置通过将位置信息和属性信息一齐分割,生成多个切片位置信息及多个切片属性信息(s4913)。此外,三维数据编码装置生成有关切片分割的切片附加信息。另外,三维数据编码装置也可以将位置信息和属性信息独立地分割。
423.在进行瓦片分割的情况下(在s4914中“是”),三维数据编码装置通过将多个切片位置信息及多个切片属性信息(或位置信息及属性信息)独立地分割,生成多个分割位置信息及多个分割属性信息(s4915)。此外,三维数据编码装置生成与瓦片分割有关的位置瓦片附加信息及属性瓦片附加信息。另外,三维数据编码装置也可以将切片位置信息和切片属性信息一齐分割。
424.接着,三维数据编码装置通过将多个分割位置信息及多个分割属性信息分别编码,生成多个编码位置信息及多个编码属性信息(s4916)。此外,三维数据编码装置生成依赖关系信息。
425.接着,三维数据编码装置通过将多个编码位置信息、多个编码属性信息及附加信息进行nal单元化(复用)而生成编码数据(编码流)(s4917)。此外,三维数据编码装置将所生成的编码数据送出。
426.图44是有关本实施方式的点群数据的解码处理的流程图。首先,三维数据解码装置通过将编码数据(编码流)中包含的有关分割方法的附加信息(切片附加信息、位置瓦片附加信息及属性瓦片附加信息)解析,判定分割方法(s4921)。该分割方法包含是否进行切片分割、是否进行瓦片分割。此外,分割方法也可以包含进行切片分割或瓦片分割的情况下的分割数量及分割的种类等。
427.接着,三维数据解码装置通过将编码数据中包含的多个编码位置信息及多个编码属性信息使用编码数据中包含的依赖关系信息进行解码,生成分割位置信息及分割属性信息(s4922)。
428.在由附加信息表示进行了瓦片分割的情况下(在s4923中“是”),三维数据解码装置基于位置瓦片附加信息及属性瓦片附加信息,将多个分割位置信息和多个分割属性信息用各自的方法结合,从而生成多个切片位置信息及多个切片属性信息(s4924)。另外,三维
数据解码装置也可以将多个分割位置信息和多个分割属性信息用相同的方法结合。
429.在由附加信息表示进行了切片分割的情况下(在s4925中“是”),三维数据解码装置基于切片附加信息,将多个切片位置信息及多个切片属性信息(多个分割位置信息及多个分割属性信息)用相同的方法结合,从而生成位置信息及属性信息(s4926)。另外,三维数据解码装置也可以将多个切片位置信息和多个切片属性信息分别用不同的方法结合。
430.如以上这样,有关本实施方式的三维数据编码装置进行图46所示的处理。首先,三维数据编码装置分割为多个分割数据(例如瓦片),该多个分割数据包含于将包含多个三维点的对象空间分割而成的多个子空间(例如切片),并且分别包含1个以上的三维点(s4932)。这里,分割数据是包含于子空间中,包含1个以上的三维点的1个以上的数据集合体。此外,分割数据也是空间,也可以包括不包含三维点的空间。此外,既可以在1个子空间中包含多个分割数据,也可以在1个子空间中包含1个分割数据。另外,也可以在对象空间中设定多个子空间,也可以在对象空间中设定1个子空间。
431.接着,三维数据编码装置通过将多个分割数据分别编码,生成与多个分割数据分别对应的多个编码数据(s4931)。三维数据编码装置生成包含多个编码数据和与多个编码数据分别对应的多个控制信息(例如图42所示的头)的比特流(s4932)。在多个控制信息各自中,保存表示与对应于该控制信息的编码数据对应的子空间的第1识别符(例如slice_idx)、和表示与对应于该控制信息的编码数据对应的分割数据的第2识别符(例如tile_idx)。
432.由此,将由三维数据编码装置生成的比特流解码的三维数据解码装置能够使用第1识别符及第2识别符将多个分割数据的数据结合而容易地复原对象空间。因此,能够减少三维数据解码装置中的处理量。
433.例如,三维数据编码装置在上述编码中,将在多个分割数据各自中包含的三维点的位置信息和属性信息编码。多个编码数据分别包含位置信息的编码数据和属性信息的编码数据。多个控制信息分别包含位置信息的编码数据的控制信息和属性信息的编码数据的控制信息。第1识别符及第2识别符保存在位置信息的编码数据的控制信息中。
434.例如,在比特流中,多个控制信息分别配置在与该控制信息对应的编码数据之前。
435.此外,三维数据编码装置也可以是,包含多个三维点的对象空间被设定为1个以上的子空间,在上述子空间中包括包含1个以上的三维点的1个以上的分割数据;通过将上述分割数据分别编码,生成与上述多个分割数据分别对应的多个编码数据,生成包含上述多个编码数据和与上述多个编码数据分别对应的多个控制信息的比特流;在上述多个控制信息各自中,保存表示与对应于该控制信息的编码数据对应的子空间的第1识别符、和表示与对应于该控制信息的编码数据对应的分割数据的第2识别符。
436.例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
437.此外,有关本实施方式的三维数据解码装置进行图46所示的处理。首先,三维数据解码装置从包含多个编码数据和与多个编码数据分别对应的多个控制信息(例如图42所示的头)的比特流,取得保存在上述多个控制信息中的第1识别符(例如slice_idx)和第2识别符(例如tile_idx),上述多个编码数据是多个分割数据(例如瓦片)分别被编码而生成的,上述多个分割数据包含于将包含多个三维点的对象空间分割而成的多个子空间(例如切
片)中,并且分别包含1个以上的三维点,上述第1识别符表示与对应于该控制信息的编码数据对应的子空间,上述第2识别符表示与对应于该控制信息的编码数据对应的分割数据(s4941)。接着,三维数据解码装置通过将多个编码数据解码而复原多个分割数据(s4942)。接着,三维数据解码装置通过使用第1识别符及第2识别符将多个分割数据结合,复原对象空间(s4943)。例如,三维数据编码装置通过使用第2识别符将多个分割数据结合而复原多个子空间,通过使用第1识别符将多个子空间结合而复原对象空间(多个三维点)。另外,三维数据解码装置也可以使用第1识别符及第2识别符的至少一方,从比特流取得希望的子空间或分割数据的编码数据,将所取得的编码数据有选择地解码或优先地解码。
438.由此,三维数据解码装置能够使用第1识别符及第2识别符将多个分割数据的数据结合而容易地复原对象空间。因此,能够减少三维数据解码装置中的处理量。
439.例如,多个编码数据分别通过将对应的分割数据中包含的三维点的位置信息和属性信息编码而生成,并且包含位置信息的编码数据和属性信息的编码数据。多个控制信息分别包含位置信息的编码数据的控制信息和属性信息的编码数据的控制信息。第1识别符及第2识别符保存在位置信息的编码数据的控制信息中。
440.例如,在比特流中,控制信息配置在对应的编码数据之前。
441.例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
442.(实施方式4)
443.在实施方式4的三维数据编码方法中,对于多个三维点的位置信息,使用基于该位置信息生成的预测树进行编码。
444.图47是表示实施方式4的在三维数据编码方法中使用的预测树的一例的图。图48是表示实施方式4的三维数据编码方法的一例的流程图。图49是表示实施方式4的三维数据解码方法的一例的流程图。
445.如图47及图48所示,在三维数据编码方法中,使用多个三维点生成预测树,然后对预测树的各节点所包含的节点信息进行编码。由此,得到包含被编码的节点信息的比特流。各节点信息例如是关于预测树的1个节点的信息。各节点信息例如包含1个节点的位置信息、该1个节点的索引、该1个节点所具有的子节点的数量、为了将该1个节点的位置信息编码而使用的预测模式及预测残差。
446.此外,如图47及图49所示,在三维数据解码方法中,对比特流中包含的被编码的各节点信息进行解码,然后,一边生成预测树一边对位置信息进行解码。
447.接着,使用图50对预测树的生成方法进行说明。
448.图50是用来说明实施方式4的预测树的生成方法的图。
449.在预测树的生成方法中,如图50的(a)所示,三维数据编码装置首先追加点0作为预测树的初始点。点0的位置信息由包含(x0,y0,z0)的3个要素的坐标表示。点0的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。
450.child_count每当对设定了该child_count的节点追加1个子节点就被+1。预测树的生成完成后的各节点的child_count表示各节点所具有的子节点的数量,被附加到比特流中。pred_mode表示用来预测各节点的位置信息的值的预测模式。预测模式的详细情况在后面叙述。
451.接着,如图50的(b)所示,三维数据编码装置将点1追加到预测树中。此时,三维数据编码装置也可以从已经被追加到预测树中的点群中搜索点1的最邻近点,作为该最邻近点的子节点而追加点1。点1的位置信息由包含(x1,y1,z1)的3个要素的坐标表示。点1的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图50的情况下,点0为点1的最邻近点,作为点0的子节点而追加点1。并且,三维数据编码装置使点0的child_count所表示的值增加1。
452.另外,各节点的位置信息的预测值也可以在对预测树追加了节点时计算。例如,在图50的(b)的情况下,三维数据编码装置也可以将点1作为点0的子节点追加,计算点0的位置信息作为预测值。在此情况下,也可以设定为pred_mode=1。pred_mode是表示预测模式的预测模式信息(预测模式值)。此外,三维数据编码装置也可以在预测值的计算后计算点1的residual_value(预测残差)。这里,residual_value是从各节点的位置信息减去在由pred_mode表示的预测模式中计算出的预测值而得到的差分值。这样,在三维数据编码方法中,通过不是将位置信息本身编码、而是将相对于预测值的差分值编码,能够提高编码效率。
453.接着,如图50的(c)所示,三维数据编码装置将点2追加到预测树。此时,三维数据编码装置也可以从已经追加到预测树中的点群中搜索点2的最邻近点,作为该最邻近点的子节点而追加点2。点2的位置信息由包含(x2,y2,z2)的3个要素的坐标表示。点2的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图50的情况下,点1为点2的最邻近点,作为点1的子节点而追加点2。并且,三维数据编码装置使点1的child_count所表示的值增加1。
454.接着,如图50的(d)所示,三维数据编码装置将点3追加到预测树中。此时,三维数据编码装置也可以从已经追加到预测树中的点群中搜索点3的最邻近点,作为该最邻近点的子节点而追加点3。点3的位置信息由包含(x3,y3,z3)的3个要素的坐标表示。点3的位置信息既可以由三轴正交坐标系的坐标表示,也可以由极坐标系的坐标表示。在图50的情况下,点0为点3的最邻近点,作为点0的子节点而追加点3。并且,三维数据编码装置使点0的child_count所表示的值增加1。
455.这样,三维数据编码装置将全部的点追加到预测树中,完成预测树的生成。如果预测树的生成完成,则最终具有child_count=0的节点成为预测树的叶节点(leaf)。三维数据编码装置在预测树的生成完成后,对从根(root)节点以深度(depth)优先顺序选择的各节点的child_count、pred_mode及residual_value进行编码。即,三维数据编码装置在以深度优先顺序选择节点的情况下,作为所选择的节点的下一个节点,选择该选择的节点的1个以上的子节点中的还没有被选择的子节点。三维数据编码装置在所选择的节点没有子节点的情况下,选择所选择的节点的父节点的未选择的其他子节点。
456.另外,编码顺序并不限于深度优先顺序,例如也可以是宽度优先(width first)顺序。三维数据编码装置在以宽度优先顺序选择节点的情况下,作为所选择的节点的下一个节点,选择与该所选择的节点相同深度(层级)的1个以上的节点中的还没有被选择的节点。三维数据编码装置在没有与所选择的节点相同深度的节点的情况下,选择下一个深度的1个以上的节点中的还没有被选择的节点。
457.另外,点0~3是多个三维点的一例。
458.另外,在上述的三维数据编码方法中,设为在将各点追加到了预测树中时计算child_count、pred_mode及residual_value,但并不一定限定于此,例如也可以在预测树的生成完成后计算它们。
459.关于多个三维点向三维数据编码装置的输入顺序,也可以将被输入的三维点以莫顿序(morton order)的升序或降序重新排列,从其开头的三维点起依次进行处理。由此,三维数据编码装置能够高效地搜索处理对象的三维点的最邻近点,能够提高编码效率。此外,三维数据编码装置也可以不将三维点重新排列而以被输入的顺序进行处理。例如,三维数据编码装置也可以以多个三维点的输入顺序生成没有分支的预测树。具体而言,三维数据编码装置也可以以多个三维点的输入顺序,将被输入的三维点的下一个被输入的三维点作为规定的三维点的子节点追加。
460.接着,使用图51对预测模式的第1例进行说明。图51是用来说明实施方式4的预测模式的第1例的图。图51是表示预测树的一部分的图。
461.预测模式也可以如以下所示那样设定8个。例如,如图51所示,以计算点c的预测值的情况为例进行说明。在预测树中,表示了点c的父节点是点p0,点c的祖父节点是点p1,点c的曾祖父节点是点p2。另外,点c、点p0、点p1及点p2是多个三维点的一例。
462.预测模式值为0的预测模式(以下称作预测模式0)也可以不预测而设定。即,三维数据编码装置也可以在预测模式0下计算被输入的点c的位置信息作为该点c的预测值。
463.此外,预测模式值为1的预测模式(以下称作预测模式1)也可以设定为与点p0的差分预测。即,三维数据编码装置也可以计算作为点c的父节点的点p0的位置信息,作为该点c的预测值。
464.此外,预测模式值为2的预测模式(以下称作预测模式2)也可以设定为基于点p0和点p1的线性预测。即,三维数据编码装置也可以计算通过使用作为点c的父节点的点p0的位置信息和作为点c的祖父节点的点p1的位置信息的线性预测得到的预测结果,作为点c的预测值。具体而言,三维数据编码装置使用下述的式t1计算预测模式2下的点c的预测值。
465.预测值=2
×
p0-p1(式t1)
466.在式t1中,p0表示点p0的位置信息,p1表示点p1的位置信息。
467.此外,预测模式值为3的预测模式(以下称作预测模式3)也可以设定为使用点p0、点p1及点p2的平行四边形(parallelogram)预测。即,三维数据编码装置也可以计算通过使用作为点c的父节点的点p0的位置信息、作为点c的祖父节点的点p1的位置信息和作为点c的曾祖父节点的点p2的位置信息的平行四边形预测得到的预测结果,作为点c的预测值。具体而言,三维数据编码装置使用下述的式t2计算预测模式3下的点c的预测值。
468.预测值=p0+p1-p2(式t2)
469.在式t2中,p0表示点p0的位置信息,p1表示点p1的位置信息,p2表示点p2的位置信息。
470.此外,预测模式值为4的预测模式(以下称作预测模式4)也可以设定为与点p1的差分预测。即,三维数据编码装置也可以计算作为点c的祖父节点的点p1的位置信息,作为该点c的预测值。
471.此外,预测模式值为5的预测模式(以下称作预测模式5)也可以设定为与点p2的差分预测。即,三维数据编码装置也可以计算作为点c的曾祖父节点的点p2的位置信息,作为
该点c的预测值。
472.此外,预测模式值为6的预测模式(以下称作预测模式6)也可以设定为点p0、点p1及点p2中的某2个以上的位置信息的平均。即,三维数据编码装置也可以计算作为点c的父节点的点p0的位置信息、作为点c的祖父节点的点p1的位置信息和作为点c的曾祖父节点的点p2的位置信息中的2个以上的位置信息的平均值,作为点c的预测值。例如,三维数据编码装置在预测值的计算中使用点p0的位置信息和点p1的位置信息的情况下,使用以下的式t3计算预测模式6下的点c的预测值。
473.预测值=(p0+p1)/2(式t3)
474.在式t3中,p0表示点p0的位置信息,p1表示点p1的位置信息。
475.此外,预测模式值为7的预测模式(以下称作预测模式7)也可以设定为使用点p0及点p1之间的距离d0和点p2及点p1之间的距离d1的非线性预测。即,三维数据编码装置也可以计算通过使用距离d0和距离d1的非线性预测得到的预测结果,作为点c的预测值。
476.另外,对各预测模式分配的预测方法并不限于上述例。此外,上述的8个预测模式和上述的8个预测方法也可以不是上述的组合,是怎样的组合都可以。例如,在使用算术编码等的熵编码对预测模式进行编码的情况下,也可以对预测模式0分配使用频度高的预测方法。由此,能够提高编码效率。此外,三维数据编码装置也可以通过一边推进编码处理、一边匹配于预测模式的使用频度而动态地变更预测模式的分配,来提高编码效率。三维数据编码装置例如也可以将编码时的各预测模式的使用频度计数,对于使用频度越高的预测方法,分配由越小的值表示的预测模式。由此,能够提高编码效率。另外,m是表示预测模式的数量的预测模式数,在上述例子的情况下,由于预测模式有预测模式0~7的8个,所以为m=8。
477.三维数据编码装置也可以使用编码对象的三维点的周围的三维点中的距编码对象的三维点距离近的三维点的位置信息,计算在编码对象的三维点的位置信息的计算中使用的预测值,作为三维点的位置信息(x,y,z)的预测值(px,py,pz)。此外,三维数据编码装置也可以按每个三维点附加预测模式信息(pred_mode),能够根据预测模式而选择计算的预测值。
478.例如,在总数为m的预测模式中,可以考虑对预测模式0分配最邻近点的三维点p0的位置信息,
…
,对预测模式m-1分配三维点p2的位置信息,将在预测中使用的预测模式按每个三维点附加到比特流中。
479.另外,也可以将预测模式数m附加到比特流中。此外,预测模式数m也可以不附加到比特流中,而用标准的档次、级别等来规定值。此外,预测模式数m也可以使用根据在预测中使用的三维点数n计算出的值。例如,预测模式数m也可以通过m=n+1来计算。
480.图52是表示实施方式4的示出在各预测模式中计算的预测值的表的第2例的图。
481.图52所示的表是在预测中使用的三维点数n=4并且预测模式数m=5的情况下的例子。
482.在第2例中,点c的位置信息的预测值使用点p0、点p1及点p2中的至少某1个的位置信息来计算。预测模式按编码对象的每个三维点被附加。预测值被计算为与附加的预测模式相应的值。
483.图53是表示实施方式4的示出在各预测模式中计算的预测值的表的第2例的具体
例的图。
484.三维数据编码装置例如也可以选择预测模式1,使用预测值(p0x,p0y,p0z)对编码对象的三维点的位置信息(x,y,z)分别进行编码。在此情况下,将表示所选择的预测模式1的预测模式值“1”附加到比特流中。
485.这样,三维数据编码装置也可以在预测模式的选择中,作为用于计算编码对象的三维点的位置信息所包含的3个要素的各要素的预测值的1个预测模式而选择对于3个要素共同的预测模式。
486.图54是表示实施方式4的示出在各预测模式中计算的预测值的表的第3例的图。
487.图54所示的表是在预测中使用的三维点数n=2、并且预测模式数m=5的情况下的例子。
488.在第3例中,点c的位置信息的预测值使用点p0及点p1中的至少某1个的位置信息来计算。预测模式按编码对象的每个三维点被附加。预测值被计算为与所附加的预测模式相应的值。
489.另外,在如第3例那样点c的周围的点的数量(相邻点数)不到3个的情况下,预测值为未分配的预测模式也可以被设定为“不可用(not available)”。此外,在发生了设定有“不可用”的预测模式的情况下,也可以对该预测模式分配其他的预测方法。例如,也可以对该预测模式分配点p2的位置信息作为预测值。此外,也可以对该预测模式分配被分配给其他预测模式的预测值。例如,也可以对设定有“不可用”的预测模式3分配被分配给预测模式4的点p1的位置信息。此时,对预测模式4也可以新分配点p2的位置信息。这样,在发生了设定有“不可用”的预测模式的情况下,通过对该预测模式分配新的预测方法,能够提高编码效率。
490.另外,在位置信息如三轴正交坐标系、极坐标系等那样具有3个要素的情况下,也可以用按3个要素的每个要素区分的预测模式来计算预测值。例如,在3个要素由三轴正交坐标系的坐标(x,y,z)的x、y、z表示的情况下,3个要素的预测值分别也可以用对于各个要素选择的预测模式来计算。例如,也可以在用来计算要素x(即x坐标)的预测值的预测模式pred_mode_x、用来计算要素y(即y坐标)的预测值的预测模式pred_mode_y、用来计算要素z(即z坐标)的预测值的预测模式pred_mode_z的各自中选择预测模式值。在此情况下,表示各要素的预测模式的预测模式值也可以使用后述的图55~图57的表的值,这些预测模式值也可以分别附加到比特流中。另外,在上述中,作为位置信息的一例,对三轴正交坐标系的坐标进行了说明,但关于极坐标系的坐标也同样能够适用。
491.这样,三维数据编码装置在预测模式的选择中,也可以作为用于计算编码对象的三维点的位置信息所包含的3个要素的各要素的预测值的1个预测模式,对3个要素分别选择独立的预测模式。
492.此外,包含位置信息的多个要素中的2个以上的要素的预测值也可以用共同的预测模式来计算。例如,在3个要素由三轴正交坐标系的坐标(x,y,z)的x、y、z表示的情况下,也可以在用来计算使用要素x的预测值的预测模式pred_mode_x和用来计算使用要素y及要素z的预测值的预测模式pred_mode_yz的各自中选择预测模式值。在此情况下,也可以在表示各成分的预测模式的预测模式值中使用后述的图55及图58的表的值,将这些预测模式值分别附加到比特流中。
493.这样,三维数据编码装置在预测模式的选择中,也可以作为用于计算编码对象的三维点的位置信息所包含的3个要素的各要素的预测值的1个预测模式,对于3个要素中的2个要素选择共同的预测模式,对于其余的1个要素选择与上述2个要素独立的预测模式。
494.图55是表示在各预测模式中计算的预测值的表的第4例的图。具体而言,第4例是在预测值中使用的位置信息为周围的三维点的位置信息的要素x的值的情况下的例子。
495.如图55所示,在由“0”表示预测模式值的预测模式pred_mode_x中计算的预测值是0。此外,在由“1”表示预测模式值的预测模式pred_mode_x中计算的预测值是点p0的x坐标,是p0x。此外,在由“2”表示预测模式值的预测模式pred_mode_x中计算的预测值是基于点p0的x坐标及点p1的x坐标的线性预测的预测结果,是(2
×
p0x-p1x)。此外,在由“3”表示预测模式值的预测模式pred_mode_x中计算的预测值是基于点p0的x坐标、点p1的x坐标及点p2的x坐标的平行四边形预测的预测结果,是(p0x+p1x-p2x)。此外,在由“4”表示预测模式值的预测模式pred_mode_x中计算的预测值是点p1的x坐标,是p1x。
496.另外,例如在图55的表中选择了由“1”表示预测模式值的预测模式pred_mode_x的情况下,也可以使用预测值p0x对编码对象的三维点的位置信息的x坐标进行编码。在此情况下,将作为预测模式值的“1”附加到比特流中。
497.图56是表示示出在各预测模式中计算的预测值的表的第5例的图。具体而言,第5例是在预测值中使用的位置信息为周围的三维点的位置信息的要素y的值的情况下的例子。
498.如图56所示,在由“0”表示预测模式值的预测模式pred_mode_y中计算的预测值是0。此外,在由“1”表示预测模式值的预测模式pred_mode_y中计算的预测值是点p0的y坐标,是p0y。此外,在由“2”表示预测模式值的预测模式pred_mode_y中计算的预测值是基于点p0的y坐标及点p1的y坐标的线性预测的预测结果,是(2
×
p0y-p1y)。此外,在由“3”表示预测模式值的预测模式pred_mode_y中计算的预测值是基于点p0的y坐标、点p1的y坐标及点p2的y坐标的平行四边形预测的预测结果,是(p0y+p1y-p2y)。此外,在由“4”表示预测模式值的预测模式pred_mode_y中计算的预测值是点p1的y坐标,是p1y。
499.另外,例如在图56的表中选择了由“1”表示预测模式值的预测模式pred_mode_y的情况下,也可以使用预测值p0y对编码对象的三维点的位置信息的y坐标进行编码。在此情况下,将作为预测模式值的“1”附加到比特流中。
500.图57是表示示出在各预测模式中计算的预测值的表的第6例的图。具体而言,第6例是在预测值中使用的位置信息为周围的三维点的位置信息的要素z的值的情况下的例子。
501.如图57所示,在由“0”表示预测模式值的预测模式pred_mode_z中计算的预测值是0。此外,在由“1”表示预测模式值的预测模式pred_mode_z中计算的预测值是点p0的z坐标,是p0z。此外,在由“2”表示预测模式值的预测模式pred_mode_z中计算的预测值是基于点p0的z坐标及点p1的z坐标的线性预测的预测结果,是(2
×
p0z-p1z)。此外,在由“3”表示预测模式值的预测模式pred_mode_z中计算的预测值是基于点p0的z坐标、点p1的z坐标及点p2的z坐标的平行四边形预测的预测结果,是(p0z+p1z-p2z)。此外,在由“4”表示预测模式值的预测模式pred_mode_z中计算的预测值是点p1的z坐标,是p1z。
502.另外,例如在图57的表中选择了由“1”表示预测模式值的预测模式pred_mode_z的
情况下,也可以使用预测值p0z对编码对象的三维点的位置信息的z坐标进行编码。在此情况下,将作为预测模式值的“1”附加到比特流中。
503.图58是表示示出在各预测模式中计算的预测值的表的第7例的图。具体而言,第7例是在预测值中使用的位置信息为周围的三维点的位置信息的要素y及要素z的值的情况下的例子。
504.如图58所示,在由“0”表示预测模式值的预测模式pred_mode_yz中计算的预测值是0。此外,在由“1”表示预测模式值的预测模式pred_mode_yz中计算的预测值是点p0的y坐标及z坐标,是(p0y,p0z)。此外,在由“2”表示预测模式值的预测模式pred_mode_yz中计算的预测值是基于点p0的y坐标及z坐标和点p1的y坐标及z坐标的线性预测的预测结果,是(2
×
p0y-p1y,2
×
p0z-p1z)。此外,在由“3”表示预测模式值的预测模式pred_mode_yz中计算的预测值是基于点p0的y坐标及z坐标、点p1的y坐标及z坐标、点p2的y坐标及z坐标的平行四边形预测的预测结果,是(p0y+p1y-p2y,p0z+p1z-p2z)。此外,在由“4”表示预测模式值的预测模式pred_mode_yz中计算的预测值是点p1的y坐标及z坐标,是(p1y,p1z)。
505.另外,例如在图58的表中选择了由“1”表示预测模式值的预测模式pred_mode_yz的情况下,也可以使用预测值(p0y,p0z)对编码对象的三维点的位置信息的y坐标及z坐标进行编码。在此情况下,将作为预测模式值的“1”附加到比特流中。
506.在第4~第7例的表中,预测模式与所计算的预测值的预测方法的对应关系和第2例的表中的上述对应关系是同样的。
507.编码时的预测模式也可以通过rd最优化来选择。例如,可以考虑计算选择了某个预测模式p的情况下的成本cost(p),并选择cost(p)最小的预测模式p。作为成本cost(p),例如也可以使用利用了预测模式p的预测值的情况下的预测残差residual_value(p)、为了将预测模式p编码所需要的比特数bit(p)和调整参数λ值,通过式d1计算。
508.cost(p)=abs(residual(p))+λ
×
bit(p)
…
(式d1)
509.abs(x)表示x的绝对值。
510.也可以代替abs(x)而使用x的平方值。
511.通过使用上述式d1,能够选择考虑到预测残差的大小与为了将预测模式编码而需要的比特数的平衡的预测模式。另外,关于调整参数λ,也可以根据量化尺度的值而设定不同的值。例如也可以是,在量化尺度小的情况下(高比特率时),通过减小λ值而选择预测残差residual_value(p)变小的预测模式,从而尽量提高预测精度;在量化尺度大的情况下(低比特率时),通过增大λ值,考虑为了将预测模式p编码而需要的比特数bit(p)来选择适当的预测模式。
512.另外,量化尺度小的情况例如是比第1量化尺度小的情况。量化尺度大的情况例如是比第1量化尺度以上的第2量化尺度大的情况。此外,也可以是,量化尺度越小则将λ值设定为越小的值。
513.预测残差residual_value(p)通过从编码对象的三维点的位置信息减去预测模式p的预测值来计算。另外,也可以代替成本计算时的预测残差residual_value(p)而将预测残差residual_value(p)量化、逆量化,与预测值相加来求出解码值,将原来的三维点的位置信息与使用预测模式p的情况下的解码值的差分(编码误差)反映到成本值中。由此,能够选择编码误差小的预测模式。
bit的“1”使用编码表a进行编码,对剩余比特remaining bit的“110”的各个比特使用编码表b进行编码。
524.另外,图62是用来说明实施方式4的将预测模式进行二值化并进行编码的情况下的对二值化表的二值数据进行编码的例子的图。图62中的二值化表是在预测模式数m=5时通过截断一元编码将预测模式值进行二值化的例子。
525.由此,能够在抑制编码表数的同时,通过根据二值数据的比特位置切换编码表而提高编码效率。另外,在remaining bit的编码时,也可以还按每个比特切换编码表进行算术编码,或者根据算术编码的结果来切换该编码表而进行解码。
526.在用使用预测模式数m的截断一元编码将预测模式值进行二值化并进行编码的情况下,也可以将在截断一元编码中使用的预测模式数m附加到比特流的头等中,以便能够根据在解码侧解码后的二值数据确定预测模式。比特流的头例如是序列参数集(sps)、位置参数集(gps)、切片头等。此外,预测模式数可取的值maxm可以由标准等规定,也可以将maxm-m的值(m《=maxm)附加到头中。此外,预测模式数m也可以不附加到流中,而由标准等的档次或级别规定。
527.另外,对于使用截断一元编码进行二值化的预测模式值,可以考虑如上述那样在one bit部和remaining部切换编码表来进行算术编码。另外,也可以将各编码表中的0和1的发生概率根据实际发生的二值数据的值而更新。此外,也可以将某个编码表中的0和1的发生概率固定化。由此,也可以抑制发生概率的更新次数而削减处理量。例如也可以将one bit部的发生概率更新,将remaining bit部的发生概率固定化。
528.图63是表示实施方式4的预测模式值的编码的一例的流程图。图64是表示实施方式4的预测模式值的解码的一例的流程图。
529.如图63所示,在预测模式值的编码中,首先用使用预测模式数m的截断一元编码将预测模式值进行二值化(s9701)。
530.接着,对截断一元编码的二值数据进行算术编码(s9702)。由此,在比特流中,作为预测模式而包含二值数据。
531.此外,如图64所示,在预测模式值的解码中,首先,使用预测模式数m对比特流进行算术解码,生成截断一元编码的二值数据(s9711)。
532.接着,根据截断一元编码的二值数据,计算预测模式值(s9712)。
533.作为表示预测模式(pred_mode)的预测模式值的二值化的方法,表示了用使用预测模式数m的值的截断一元编码进行二值化的例子,但并不一定限于此。例如,也可以用使用对预测模式分配了预测值的数量l(l《=m)的截断一元编码将预测模式值进行二值化。例如,在预测模式数m=5的情况下,在能够利用于某编码对象的三维点的预测的周围的三维点为1个的情况下,如图65所示,有2个预测模式为“可用(available)”、其余3个预测模式为“不可用”的情形。例如,在如图65所示预测模式数m=5的情况下,有如下情况:处于编码对象的三维点的周围的可利用于预测的三维点的数量为1个,预测模式值表示“2”、“3”及“4”的预测模式没有被分配预测值。
534.在此情况下,如图66所示,通过将预测模式所分配到的值l作为最大值而通过截断一元编码将预测模式值进行二值化,与用预测模式数m进行截断一元编码的情况相比有可能能够削减二值化后的比特数。例如,在此情况下,由于l=3,所以通过设为最大值3并通过
截断一元编码进行二值化,能够削减比特数。这样,也可以通过将对预测模式分配了预测值的数量l作为最大值并通过截断一元编码进行二值化,来削减预测模式值的二值化后的比特数。
535.二值化后的二值数据也可以使用编码表来进行算术编码。在此情况下,例如也可以通过按二值数据的每个比特切换编码表来进行编码,来提高编码效率。此外,为了抑制编码表数,也可以对二值数据中的开头比特one bit使用one bit用的编码表a进行编码,对剩余比特remaining bit的各比特使用remaining bit用的编码表b进行编码。例如,在对图66所示的预测模式值为“1”的二值数据“1”进行编码的情况下,对开头比特one bit的“1”使用编码表a进行。由于没有剩余比特remaining bit,所以也可以不进行编码。在有剩余比特remaining bit的情况下,也可以对剩余比特remaining bit使用编码表b进行编码。
536.另外,图66是用来说明将实施方式4的预测模式进行二值化并进行编码的情况下的对二值化表的二值数据进行编码的例子的图。图66中的二值化表是在对预测模式分配了预测值的数量l=2时通过截断一元编码将预测模式值进行二值化的例子。
537.由此,通过在抑制编码表数的同时根据二值数据的比特位置切换编码表,能够提高编码效率。另外,也可以在remaining bit的编码时,进一步按每个比特来换编码表来进行算术编码,或根据算术编码后的结果来切换该编码表而进行解码。
538.在通过使用分配了预测值的数量l的截断一元编码将预测模式值进行二值化并进行编码的情况下,也可以通过以能够根据在解码侧解码后的二值数据确定预测模式的方式用与编码时同样的方法对预测模式分配预测值,来计算出数量l,使用计算出的l对预测模式进行解码。
539.另外,关于使用截断一元编码进行了二值化的预测模式值,如上述那样可以考虑在one bit部和remaining部切换编码表来进行算术编码。另外,各编码表中的0和1的发生概率也可以根据实际发生的二值数据的值来更新。此外,某个编码表中的0和1的发生概率也可以被固定化。由此,也可以抑制发生概率的更新次数而削减处理量。例如也可以是,one bit部的发生概率被更新,remaining bit部的发生概率被固定化。
540.图67是表示实施方式4的预测模式值的编码的另一例的流程图。图68是表示实施方式4的预测模式值的解码的另一例的流程图。
541.如图67所示,在预测模式值的编码中,首先,计算对预测模式分配了预测值的数量l(s9721)。
542.接着,用使用数量l的截断一元编码将预测模式值进行二值化(s9722)。
543.接着,对截断一元编码的二值数据进行算术编码(s9723)。
544.此外,如图68所示,在预测模式值的解码中,首先,计算对预测模式分配了预测值的数量l(s9731)。
545.接着,使用数量l对比特流进行算术解码,生成截断一元编码的二值数据(s9732)。
546.接着,根据截断一元编码的二值数据计算预测模式值(s9733)。
547.预测模式值也可以不按全部位置信息的每一个附加。例如也可以是,如果满足某个条件,则将预测模式固定,不将预测模式值附加到比特流中;如果不满足某个条件,则选择预测模式,将预测模式值附加到比特流中。例如也可以是,如果满足条件a,则将预测模式值固定为“2”,根据周围的三维点的线性预测计算预测值;如果不满足条件a,则从多个预测
模式中选择1个预测模式,对于比特流附加表示所选择的预测模式的预测模式值。
548.作为某个条件a,例如计算点p1及点p0之间的距离d0、和点p2及点p1之间的距离d1,其差分绝对值distdiff=|d0-d1|小于阈值thfix。三维数据编码装置在差分绝对值小于阈值thfix的情况下,判定为基于线性预测的预测值与处理对象的点的位置信息的差小,将预测模式值固定为“2”而不将预测模式值进行编码,由此能够在削减用来对预测模式进行编码的编码量的同时生成适当的预测值。另外,三维数据编码装置在差分绝对值为阈值thfix以上的情况下,也可以选择预测模式,对表示所选择的预测模式的预测模式值进行编码。
549.另外,阈值thfix也可以附加到比特流的头等中,编码器也可以能够改变阈值thfix的值来进行编码。例如也可以是,编码器在高比特率下的编码时,使阈值thfix的值比低比特率时小而附加到头中,通过增加选择预测模式进行编码的情形,来进行编码以使预测残差哪怕变小一点。此外,编码器在低比特率下的编码时,使阈值thfix的值比高比特率时大而附加到头中,将预测模式固定而进行编码。这样,通过在低比特率时增加预测模式被固定而进行编码的情形,能够在抑制将预测模式进行编码的比特量的同时提高编码效率。此外,阈值thfix也可以不附加到比特流中,而由标准的档次或级别来规定。
550.在预测中使用的编码对象的三维点的周围的n个三维点是距编码对象的三维点的距离比阈值thd小的已编码及已解码的n个三维点。n的最大值也可以作为numneighborpoint附加到比特流中。在周围的已编码及已解码的三维点数小于numneighborpoint的值的情况下等,n的值也可以不总是与numneighborpoint的值一致。
551.表示了如果在预测中使用的差分绝对值distdiff比阈值thfix[i]小则预测模式值被固定为“2”的例子,但并不一定限定于此,也可以将预测模式值固定为“0”~“m-1”中的任一个。此外,也可以将被固定的预测模式值附加到比特流中。
[0552]
图69是表示实施方式4的在编码时决定根据条件a决定是否将预测模式值固定的处理的一例的流程图。图70是表示实施方式4的在解码时根据条件a决定是将预测模式值设为固定的值还是进行解码的处理的一例的流程图。
[0553]
如图69所示,首先,三维数据编码装置计算点p1及点p0之间的距离d0、和点p2及点p1之间的距离d1,计算其差分绝对值distdiff=|d0-d1|(s9741)。
[0554]
接着,三维数据编码装置判定差分绝对值distdiff是否小于阈值thfix(s9742)。另外,阈值thfix也可以被编码并附加到流的头等中。
[0555]
三维数据编码装置在差分绝对值distdiff小于阈值thfix的情况下(s9742中为“是”),将预测模式值决定为“2”(s9743)。
[0556]
另一方面,三维数据编码装置在差分绝对值distdiff为阈值thfix以上的情况下(s9742中为“否”),设定多个预测模式中的1个预测模式(s9744)。
[0557]
并且,三维数据编码装置对表示所设定的预测模式的预测模式值进行算术编码(s9745)。具体而言,三维数据编码装置通过执行在图63中说明的步骤s9701及s9702,将预测模式值进行算术编码。另外,三维数据编码装置也可以使用分配了预测值的预测模式数,通过截断一元编码对预测模式pred_mode进行二值化而进行算术编码。即,三维数据编码装置也可以通过执行在图67中说明的步骤s9721~s9723,对预测模式值进行算术编码。
[0558]
三维数据编码装置计算在步骤s9743中决定的预测模式、或在步骤s9745中设定的
预测模式的预测值,输出计算出的预测值(s9746)。三维数据编码装置在使用在步骤s9743中决定的预测模式值的情况下,通过周围的n个三维点的位置信息的线性预测,计算由“2”表示预测模式值的预测模式的预测值。
[0559]
此外,如图70所示,首先,三维数据解码装置计算点p1及点p0之间的距离d0、和点p2及点p1之间的距离d1,计算其差分绝对值distdiff=|d0-d1|(s9751)。
[0560]
接着,三维数据解码装置判定差分绝对值distdiff是否小于阈值thfix(s9752)。另外,阈值thfix也可以通过对流的头等进行解码来设定。
[0561]
三维数据解码装置在差分绝对值distdiff小于阈值thfix的情况下(s9752中为“是”),将预测模式值决定为“2”(s9753)。
[0562]
另一方面,三维数据解码装置在差分绝对值distdiff为阈值thfix以上的情况下(s9752中为“否”),从比特流中解码预测模式值(s9754)。
[0563]
三维数据解码装置计算由在步骤s9753中决定的预测模式值或在步骤s9754中解码后的预测模式值表示的预测模式的预测值,输出计算出的预测值(s9755)。三维数据解码装置在使用在步骤s9753中决定的预测模式值的情况下,通过周围的n个三维点的位置信息的线性预测来计算由“2”表示预测模式值的预测模式的预测值。
[0564]
图71是表示位置信息的头的句法的一例的图。对于图71的句法中的numneighborpoint、numpredmode,thfix,qp及unique_point_per_leaf依次进行说明。
[0565]
numneighborpoint表示在三维点的位置信息的预测值的生成中使用的周围的点数的上限值。在周围的点数m小于numneighborpoint的情况下(m《numneighborpoint),在预测值的计算处理中,也可以使用m个周围的点数计算预测值。
[0566]
numpredmode表示在位置信息的预测中使用的预测模式的总数m。另外,预测模式数可取的值的最大值maxm也可以由标准等来规定值。三维数据编码装置也可以将(maxm-m)的值(0《m《=maxm)作为numpredmode附加到头中,将(maxm-1)通过截断一元编码进行二值化而编码。此外,预测模式数numpredmode也可以不附加到比特流中,其值也可以由标准等的档次或级别来规定。此外,预测模式数也可以由numneighborpoint+numpredmode规定。
[0567]
thfix是用来判定是否将预测模式固定的阈值。计算在预测中使用的点p1及点p0之间的距离d0、和点p2及点p1之间的距离d1,如果其差分绝对值distdiff=|d0-d1|比阈值thfix[i]小,则预测模式被固定为α。α是用来计算预测模式使用线性预测的预测值的预测模式,在上述实施方式中是“2”。另外,thfix也可以不附加到比特流中,其值也可以由标准等的档次或级别来规定。
[0568]
qp表示在将位置信息进行量化时使用的量化参数。三维数据编码装置也可以根据量化参数计算量化步长,使用计算出的量化步长将位置信息进行量化。
[0569]
unique_point_per_leaf是表示在比特流内是否包含duplicated point(位置信息相同的点)的信息。unique_point_per_leaf=1,表示在比特流内没有duplicated point。unique_point_per_leaf=0,表示在比特流内存在1个以上duplicated point。
[0570]
另外,在本实施方式中,是否将预测模式固定的判断是使用距离d0和距离d1的差分绝对值来进行的,但并不一定限定于此,用怎样的方法判断都可以。例如,该判断也可以是,计算点p1及点p0之间的距离d0,在距离d0比阈值大的情况下,判定为点p1不能用于预测,将预测模式值固定为“1”(预测值p0),如果不是那样,则设定预测模式。由此,能够在抑
制开销的同时提高编码效率。
[0571]
上述numneighborpoint、numpredmode、thfix、unique_point_per_leaf也可以被熵编码而附加到头中。例如各值也可以被二值化而算数编码。此外,为了抑制处理量,各值也可以以固定长度被编码。
[0572]
图72是表示位置信息的句法的一例的图。对于图72的句法中的numofpoint、child_count、pred_mode及residual_value[j]依次进行说明。
[0573]
numofpoint表示比特流中包含的三维点的总数。
[0574]
child_count表示第i个三维点(node[i])拥有的子节点的数量。
[0575]
pred_mode表示用来对第i个三维点的位置信息进行编码或解码的预测模式。pred_mode取值0到m-1(m为预测模式的总数)的值。在比特流中没有pred_mode的情况下(不满足作为条件的distdiff》=thfix[i]&&numpredmode》1的情况下),也可以将pred_mode推测为固定值α。α是用来计算预测模式使用线性预测的预测值的预测模式,在上述实施方式中是“2”。另外,α并不限于“2”,也可以设定从0到m-1中的任一个值作为推测值。此外,在比特流中没有pred_mode的情况下的推测值也可以另行附加到头等中。此外,关于pred_mode,也可以使用分配了预测值的预测模式数通过截断一元编码进行二值化而进行算术编码。
[0576]
另外,在numpredmode=1的情况下,即在预测模式数为1的情况下,三维数据编码装置也可以不将表示预测模式的预测模式值进行编码,而生成不包含预测模式值的比特流。此外,三维数据解码装置也可以在取得了不包含预测模式值的比特流的情况下,在预测值的计算中计算特定的预测模式的预测值。特定的预测模式是预先设定的预测模式。
[0577]
residual_value[j]表示位置信息的与预测值之间的预测残差的编码数据。也可以是,residual_value[0]表示位置信息的要素x,residual_value[1]表示位置信息的要素y,residual_value[2]表示位置信息的要素z。
[0578]
图73是表示位置信息的句法的另一例的图。图73的例子是图72的例的变形例。
[0579]
如图73所示,pred_mode也可以表示位置信息(x,y,z)的3个要素各自的预测模式。即,也可以是,pred_mode[0]表示要素x的预测模式,pred_mode[1]表示要素y的预测模式,pred_mode[2]表示要素z的预测模式。pred_mode[0]、pred_mode[1]及pred_mode[2]被附加在比特流中。
[0580]
(实施方式5)
[0581]
接着,说明将对预测树进行编码而得到的编码数据进行解码的方法。
[0582]
在预测编码中,被编码的预测树能够独立地解码。因此,三维数据解码装置能够仅对编码数据中的特定的预测树进行解码。
[0583]
例如,图74是将点群按每个预测树分组并用线包围的图。
[0584]
1个切片既可以包括1个树结构(预测树),也可以包括多个树结构(预测树)。另外,各切片在图74中用由线包围的点群表示。
[0585]
三维数据解码装置也可以将距车12640近的点群的切片(数据单元)判断为优先级高的点群而比优先级低的点群优先地解码。此外,三维数据解码装置也可以将距车12640远的点群的切片(数据单元)判断为优先级低的点群而决定为不进行解码。
[0586]
这样,三维数据编码装置为了基于预测树的位置信息判定三维数据解码装置是否对预测树进行解码,也可以按每个树对预测树的位置信息预先进行编码。
[0587]
预测树的位置信息例如可以是预测树的根点的位置信息,也可以是预测树的最终点的位置信息。或者,预测树的位置信息也可以是预测树整体的点群的包围盒的原点(最小点)及尺寸(高度、宽度、进深或它们的最大值)。
[0588]
图75是表示预测树的编码方法的一例的流程图。
[0589]
三维数据编码装置生成1个以上的预测树,对1个以上的预测树各自的预测树进行编码(s12601)。
[0590]
接着,三维数据编码装置将预测树的位置信息进行信号发送(signaling)(s12602)。关于信号发送的具体例在后面叙述。位置信息按1个以上的预测树的每个预测树被信号发送。
[0591]
图76是表示使用被信号发送的位置信息对预测树进行解码的解码方法的一例的流程图。
[0592]
三维数据解码装置取得编码数据及每个预测树的位置信息,对位置信息进行解析(s12611)。
[0593]
三维数据解码装置使用解析得到的位置信息,选择要解码的预测树(s12612)。
[0594]
三维数据解码装置对所选择的预测树进行解码(s12613)。
[0595]
图77是表示树信息的句法的一例的图。
[0596]
树信息(tree_info)包含数据单元所包含的预测树的数量。此外,树信息包含表示各个预测树的根节点的坐标的信息。
[0597]
max_num_points_per_tree是表示1个预测树能够包含的三维点的数量的最大值的最大数量信息。num_tree_root_points表示数据单元中包含的预测树的根节点的位置信息的数量。num_tree_root_points也可以与数据单元中包含的预测树的数量相同。tree_id是分别识别1个以上的预测树的1个以上的识别信息。tree_id按每个预测树被设置。
[0598]
树信息也可以包含表示1个以上的预测树的位置的位置信息。位置信息也可以由root_x、root_y、root_z表示。root_x、root_y、root_z表示根节点的位置坐标。具体而言,root_x、root_y、root_z表示由tree_id表示的预测树的根节点的位置坐标。
[0599]
这样,树信息也可以包含根节点的位置信息作为表示预测树的位置的位置信息。另外,树信息中包含的表示预测树的位置的位置信息并不限于预测树的根节点的位置坐标,也可以是如图78所示的包含由构成预测树的三维点群12641构成的包围盒12642的最小坐标12643(或原点)以及包围盒12642的尺寸(高度、宽度、进深)中的某一个的信息。包围盒12642是将构成对应的预测树的三维点群12641包围的虚拟的盒。
[0600]
此外,树信息中包含的表示预测树的位置的位置信息,也可以使用构成预测树的规定的1个以上的三维点,是这些规定的1个以上的三维点的位置信息的重心或中央值等的代表值。此外,树信息中包含的表示预测树的位置的位置信息也可以是预测树的最终节点的位置信息。
[0601]
图79是被编码的数据的数据构造的一例。
[0602]
树信息(tree_info())既可以保存在数据单元的头中,也可以保存在数据单元的尾部。另外,数据单元也可以包含使用多个三维点生成的1个以上的预测树(树结构)。即,三维数据编码装置取得多个三维点,使用多个三维点生成数据单元,生成包含数据单元及数据单元的尾部的比特流。并且,尾部包含与1个以上的预测树有关的树信息。
[0603]
此外,树信息也可以保存在与数据单元不同的sei或元数据中。在此情况下,树信息也可以将多个数据单元中包含预测树的信息总括起来包含。
[0604]
三维数据编码装置例如在编码前已知预先树信息的情况下,也可以将树信息保存在数据单元头中。在此情况下,三维数据解码装置由于在接收数据单元的数据之前接收数据单元头,所以能够基于数据单元头中包含的树信息,决定是否将接下来接收的数据单元内的预测树解码。
[0605]
此外,三维数据编码装置在一边取得三维点一边决定预测树的情况下,能够在编码后导出根节点的位置坐标及预测树的包围信息。在此情况下,三维数据编码装置也可以在对预测树进行编码后,将树信息(tree_info)保存在数据单元的尾部。
[0606]
由此,三维数据编码装置能够一边生成预测树一边对所取得的1个以上的三维点以低延迟进行编码,送出在编码的过程中决定的预测树的位置信息。即,三维数据编码装置即使不等待预测树的位置信息的决定完成,也能够送出对该预测树中包含的1个以上的三维点进行编码而得到的编码数据。因此,三维数据编码装置能够以低延迟执行编码。
[0607]
此外,三维数据编码装置也可以示出表示各预测树的开头的数据位置的、每个树的数据位置信息。例如,树信息也可以还包含数据位置信息,该数据位置信息表示从数据单元的开头开始数据单元上的位置(数据位置)、且1个以上的预测树各自的位置。因此,编码的后段的系统层或三维数据解码装置能够高效地执行在多个预测树中部分提取出的预测树的解码。
[0608]
保存在比特流内的元数据或sei、数据单元头、数据单元尾部中的树信息(tree_info())也可以保存在系统格式中。
[0609]
图80是表示向系统格式保存的处理的一例的流程图。
[0610]
装置对被信号发送的每个预测树的位置信息进行解析(s12621)。
[0611]
接着,装置制作预测树的位置信息列表,生成部分解码表(s12622)。例如,装置生成每个预测树的位置信息(或包含该位置信息的树信息)以及表示每个预测树的数据的字节位置的tree_byte的列表,作为部分解码列表(部分解码表)。
[0612]
如图82所示,部分解码列表是将每个预测树的位置信息(或包含该位置信息的树信息)与表示该预测树的数据的字节位置的数据位置信息(例如tree_byte)建立了对应的信息。部分解码列表也可以将每个预测树的位置信息(或包含该位置信息的树信息)和表示该预测树的数据的字节位置的数据位置信息(例如tree_byte)再与tree_id建立对应。在tree_byte作为数据位置信息而被表示在比特流中的情况下,在部分解码列表中也可以保存tree_byte。在tree_byte没有作为数据位置信息而被表示在比特流中的情况下,也可以对比特流进行解码来计测尺寸。
[0613]
图81是表示从系统格式中部分提取预测树的处理的一例的流程图。
[0614]
三维数据解码装置决定想要解码的位置信息或区域(s12631)。
[0615]
接着,三维数据解码装置对部分解码表进行解析,与tree_info比较,确定想要解码的预测树(s12632)。
[0616]
接着,三维数据解码装置提取使用tree_byte确定的预测树的数据(s12633)。
[0617]
使用预测树生成的编码数据以三维点为节点,表示每个节点的信息。
[0618]
图83是表示位置信息的数据单元头的句法的第1例的图。图84是表示位置信息的
数据单元的句法的第1例的图。
[0619]
在表示每个节点的信息的方法的第1例中,例如如图83及图84所示,将位置信息的数据单元中包含的三维点的数量(numofpoint)表示在数据单元头中,将每个三维点的编码数据保存到数据单元中。在第1例中,通过将三维点的数量表示在数据单元头中,三维数据解码装置在数据单元主体的接收前接收数据单元头,从数据单元头得到三维点的数量,所以能够预先知道在解码处理中需要的缓冲器的数量或处理数量,解码处理有可能变得容易。
[0620]
图85是表示位置信息的数据单元头的句法的第2例的图。图86是表示位置信息的数据单元的句法的第2例的图。
[0621]
此外,在第2例中,例如如图85及图86所示,将位置信息的数据单元中包含的三维点的数量不表示在数据单元头中,而将每个三维点的编码数据保存到数据单元中。具体而言,在数据单元中,在每个三维点的循环(loop)中保存编码数据,在保存由多个节点构成的1个树结构的编码数据(tree_node)之后,示出表示是否全部的三维点的数量的编码数据已完成、即是否是三维点的编码数据的末端的末端标志(end_flag)。即,数据单元在1个以上的预测树中的最后的预测树的最后的三维点之后包含识别信息。换言之,数据单元在预测树之后包含识别信息。这样,三维数据编码装置使用多个三维点生成包含1个以上的预测树及1个以上的识别信息的数据单元。
[0622]
识别信息表示在数据单元内是否在后面接着其他的预测树。此外,数据单元由于在每个三维点的循环中包含上述标志,所以包含1个以上的识别信息(end_flag)、且在数据单元中保存在1个以上的预测树之后的1个以上的识别信息(end_flag)。即,在数据单元包含多个预测树及多个识别信息的情况下,多个识别信息分别在数据单元中被接在各预测树之后保存。
[0623]
1个以上的识别信息(end_flag)分别与1个以上的预测树对应。即,数据单元中包含的识别信息的数量与预测树的数量相同。各识别信息(end_flag)配置在该识别信息所对应的预测树之后。1个以上的识别信息(end_flag)分别表示在数据单元内在该识别信息的紧前的预测树(即,该识别信息对应的预测树)之后是否接着预测树。
[0624]
在数据单元包含多个预测树及多个识别信息的情况下,多个识别信息包含第1识别信息及第2识别信息。第1识别信息表示在数据单元内在第1识别信息之后没有接着预测树、即在第1识别信息之后不存在更多的预测树。多个识别信息包含1个以上的第2识别信息。1个以上的第2识别信息分别与1个以上的预测树中的除了最后的预测树以外的1个以上的预测树对应而设置。即,1个以上的第2识别信息是1个数据单元中包含的多个识别信息中的除了第1识别信息以外的识别信息。此外,多个识别信息包含1个第1识别信息。换言之,在1个数据单元中包含3个以上的识别信息的情况下,3个以上的识别信息包含1个第1识别信息和两个以上的第2识别信息。各第2识别信息在数据单元中被保存在该第2识别信息所对应的预测树的最后的三维点之后。1个以上的第2识别信息分别表示在数据单元内在该第2识别信息之后在后面接着其他的预测树。
[0625]
此外,第1识别信息被保存在最后的预测树之后,第2识别信息被保存在不为最后的预测树之后。最后的预测树及不为最后的预测树包含于在数据单元包含多个预测树、第1识别信息及第2识别信息的情况下的数据单元所包含的多个预测树中。在数据单元中,在第
1识别信息之后不存在其他的预测树。此外,在数据单元中,在第2识别信息之后存在其他的预测树。即,第2识别信息在数据单元中被保存在两个预测树之间。
[0626]
在第2例中,通过使用末端标志,即使不明示三维点的数量也能够表示预测树的最后或者最后的预测树的最后,所以能够削减头的比特数。此外,在进行低延迟下的编码的情况下,设想按每个三维点进行编码,一边进行编码一边生成预测树的树结构及数据单元。在编码开始时数据单元内的三维点的数量没有决定的情况下,也通过在数据单元头中不包含三维点的数量,能够在数据单元的编码之前先送出头。由于不需要确定数据单元中包含的三维点的数量,所以能够比数据单元的编码靠前送出头。
[0627]
图87是对末端标志进行编码的情况下的编码处理的流程图。
[0628]
三维数据编码装置开始数据单元内的每个节点的编码(s12701)。
[0629]
接着,三维数据编码装置判定1个树结构(预测树)的编码是否完成了(s12702)。
[0630]
三维数据编码装置在判定为1个树结构的编码完成了的情况下(在s12702中“是”),判定是否最后的预测树(三维点)的编码完成了(s12703)。
[0631]
三维数据编码装置在判定为最后的预测树(三维点)的编码完成了的情况下(在s12703中“是”),对end_flag=1进行编码(s12704)。即,三维数据编码装置对表示在数据单元内在后面没有接着预测树的识别信息进行编码。end_flag=1是表示在数据单元内在后面没有接着预测树的第1识别信息。
[0632]
三维数据编码装置在判定为最后的预测树(三维点)的编码没有完成的情况下(在s12703中“否”),对end_flag=0进行编码(s12705)。即,三维数据编码装置对表示在数据单元内在后面接着预测树的识别信息进行编码。end_flag=0是表示在数据单元内在后面接着预测树的第2识别信息。
[0633]
三维数据编码装置在判定为1个树结构的编码没有完成的情况下(在s12702中“否”),继续每个节点的编码(s12706)。
[0634]
图88是使用末端标志进行解码的情况下的解码处理的流程图。
[0635]
三维数据解码装置开始数据单元内的每个节点的解码(s12711)。
[0636]
接着,三维数据解码装置判定1个树结构(预测树)的解码是否完成了(s12712)。
[0637]
三维数据解码装置在判定为1个树结构(预测树)的解码完成了的情况下(在s12712中“是”),对末端标志(end_flag)进行解码(s12713)。
[0638]
接着,三维数据解码装置判定最后的树结构(预测树)的解码是否完成了(s12714)。即,三维数据解码装置判定进行解码而得到的end_flag表示的值是否是1。
[0639]
三维数据解码装置在判定为最后的树结构(预测树)的解码完成了的情况下(在s12714中“是”),完成数据单元的解码(s12715)。即,三维数据解码装置在对第1识别信息进行解码的情况下(end_flag表示的值是1的情况下),完成数据单元的解码。
[0640]
三维数据解码装置在判定为最后的树结构(预测树)的解码没有完成的情况下(在s12714中“否”),继续接下来的预测树的解码(s12716)。即,三维数据解码装置在对第2识别信息进行解码的情况下(end_flag表示的值为0的情况下),继续进行数据单元中的接下来的预测树的解码。
[0641]
三维数据解码装置在判定为1个树结构(预测树)的解码没有完成的情况下(在s12712中“否”),继续进行每个节点的解码(s12717)。
[0642]
另外,在上述的编码或解码中,也可以准备end_flag专用的上下文,使用end_flag用的上下文对end_flag进行编码或解码。
[0643]
此外,在每个节点的编码中,三维数据编码装置也可以在节点中存在子节点的情况下继续进行子节点的编码。并且,三维数据编码装置也可以在全部的子节点的编码完成的时间点判定为树结构的解码完成了。
[0644]
另外,数据单元头也可以不包含数据单元中包含的三维点的数量,但也可以将三维点的数量保存到尾部。通过将三维点的数量保存到尾部,三维数据编码装置在数据单元的编码开始时数据单元所保存的三维点的数量没有确定的情况下,也可以先送出头,在编码完成后将所确定的数据单元中包含的三维点的数量保存到尾部并传送。
[0645]
此外,在进行低延迟编码的情况下,作为在编码开始前没有确定的与数据单元有关的信息(参数),与数据单元中包含的数量同样,设想数据单元中包含的预测树的数量、每个预测树的三维点的数量等。此外,例如虽然在编码中不是必须的,但将能够在系统侧的部分解码等的元数据生成中使用的参数保存到尾部或者与数据单元不同的元数据或sei中而进行信号发送是有用的。
[0646]
也可以如图89所示,在尾部保存数据单元中包含的三维点的数量、预测树的数量、每个预测树的三维点的数量、预测树的数据位置信息(字节位置信息)、预测树的三维位置信息、包围盒信息(包围盒的原点及尺寸)等。
[0647]
此外,与之前说明的每个预测树的位置信息同样,也可以在系统层中生成部分解码用的元数据,基于该信息,能够在特定的树的部分解码或部分数据中使用。
[0648]
作为使用三维点的数量的部分解码的例子,例如三维数据解码装置也可以通过预先取得每个预测树的三维点的数量的列表,根据三维数据解码装置的资源,在资源有规定量以上的情况下,对三维点的数量比规定值多的预测树进行解码,在资源小于规定量的情况下,对三维点的数量为规定值以下的预测树进行解码。由此,三维数据解码装置能够对一部分树结构进行解码,或者变更要解码的树的顺序。
[0649]
另外,数据单元中包含的三维点的数量既可以表示于头及尾部中的某一个中,也可以表示于两者中。例如,三维数据编码装置也可以预先将预定要编码的三维点的数量保存在头中,将实际编码的三维点的数量保存在尾部。此外,也可以将数据单元中包含的三维点的数量保存在头及尾部,end_flag表示数据的末端。
[0650]
通过在头中表示预定要编码的三维点的数量,三维数据解码装置能够用于缓冲器的确保,通过使用end_flag,不用知道实际编码的三维点的数量就能够进行解码。此外,通过在尾部表示实际被编码的三维点的数量,三维数据解码装置不用对数据单元进行解码就能够从系统层知道数据单元内的被编码的三维点的数量、每个预测树的三维点的数量。另外,在尾部也可以表示与头的差分值。
[0651]
如以上这样,本实施方式的三维数据编码装置进行图90所示的处理。三维数据编码装置取得多个三维点(s12721)。接着,三维数据编码装置使用上述多个三维点生成包含1个以上的预测树及1个以上的识别信息的数据单元(s12722)。接着,三维数据编码装置生成包含上述数据单元的比特流(s12723)。上述数据单元在上述预测树之后包含识别信息。上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
[0652]
因此,能够在数据单元内示出是否在后面接着其他的预测树。因此,接收到该数据
单元的三维数据解码装置能够容易地识别是否是数据单元的最后。
[0653]
例如,在上述数据单元包含多个上述预测树及多个上述识别信息的情况下,多个上述识别信息分别在上述数据单元中保存在各预测树之后。因此,能够在数据单元内按每个预测树示出是否在后面接着其他的预测树。因此,接收到该数据单元的三维数据解码装置能够按每个预测树容易地识别是否是数据单元的最后。
[0654]
例如,多个上述识别信息包含第1识别信息及第2识别信息。上述第1识别信息表示在上述数据单元内在上述第1识别信息之后不存在更多的预测树。上述第2识别信息表示在上述数据单元内在上述第2识别信息之后接着其他的预测树。因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,接收到该数据单元的三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
[0655]
例如,在上述数据单元包含多个上述预测树、上述第1识别信息及第2识别信息的情况下,上述第1识别信息保存在最后的预测树之后,上述第2识别信息保存在不为最后的预测树之后。因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,接收到该数据单元的三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
[0656]
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
[0657]
此外,本实施方式的三维数据解码装置进行图91所示的处理。三维数据解码装置取得包含数据单元的比特流,上述数据单元包含1个以上的预测树及1个以上的识别信息(s12731)。接着,三维数据解码装置对上述数据单元所包含的上述1个以上的预测树中的1个预测树进行解码,计算构成上述1个预测树的多个三维点(s12732)。上述数据单元在上述预测树之后包含上述识别信息。上述识别信息表示在上述数据单元内是否在后面接着其他的预测树。
[0658]
因此,由于由数据单元内的识别信息表示后面是否接着其他的预测树,所以三维数据解码装置能够容易地识别是否是数据单元的最后。
[0659]
例如,在上述数据单元包含多个上述预测树及多个上述识别信息的情况下,多个上述识别信息分别在上述数据单元中保存在各预测树之后。因此,能够在数据单元内按每个预测树示出是否在后面接着其他的预测树。因此,三维数据解码装置能够按每个预测树容易地识别是否是数据单元的最后。
[0660]
例如,多个上述识别信息包含第1识别信息及第2识别信息。上述第1识别信息表示在上述数据单元内在上述第1识别信息之后不存在更多的预测树。上述第2识别信息表示在上述数据单元内在上述第2识别信息之后接着其他的预测树。因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,三维数据解码装置通过第1识别信息及第2识别信息,能够按每个预测树容易地识别是否是数据单元的最后。
[0661]
例如,在上述数据单元包含多个上述预测树、上述第1识别信息及第2识别信息的
情况下,上述第1识别信息保存在最后的预测树之后,上述第2识别信息保存在不为最后的预测树之后。因此,通过在数据单元内保存第1识别信息,能够表示在第1识别信息之后没有接着其他的预测树,通过保存第2识别信息,能够表示在第2识别信息之后接着其他的预测树。因此,三维数据解码装置通过第1识别信息及第2识别信息,能够容易地按每个预测树识别是否是数据单元的最后。
[0662]
例如,在对上述第1识别信息进行解码的情况下,完成上述数据单元的解码。在对上述第2识别信息进行解码的情况下,继续进行上述数据单元中的接下来的预测树的解码。因此,三维数据解码装置根据是对第1识别信息进行解码还是对第2识别信息进行解码,能够容易地决定是否继续预测树的解码。
[0663]
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述的处理。
[0664]
(实施方式6)
[0665]
接着,对本实施方式的三维数据制作装置810的构成进行说明。图92是表示本实施方式的三维数据制作装置810的构成例的框图。该三维数据制作装置810例如搭载于车辆。三维数据制作装置810与外部的交通监控云、前方车辆或后方车辆进行三维数据的收发,并且制作并积蓄三维数据。
[0666]
三维数据制作装置810具备:数据接收部811、通信部812、接收控制部813、格式转换部814、多个传感器815、三维数据制作部816、三维数据合成部817、三维数据积蓄部818、通信部819、发送控制部820、格式转换部821、以及数据发送部822。
[0667]
数据接收部811从交通监控云或前方车辆接收三维数据831。三维数据831例如包含包括本车辆的传感器815不能检测的区域的、点云、可见光影像、进深信息、传感器位置信息、或速度信息等的信息。
[0668]
通信部812与交通监控云或前方车辆进行通信,将数据发送请求等发送给交通监控云或前方车辆。
[0669]
接收控制部813经由通信部812,与通信方交换对应格式等信息,确立与通信方的通信。
[0670]
格式转换部814通过对由数据接收部811接收的三维数据831进行格式转换等来生成三维数据832。并且,格式转换部814在三维数据831被压缩或编码了的情况下,进行解压缩或解码处理。
[0671]
多个传感器815是lidar、可见光相机或红外线相机等的取得车辆的外部的信息的传感器群,生成传感器信息833。例如,在传感器815为lidar等激光传感器的情况下,传感器信息833是点云(点群数据)等三维数据。另外,传感器815也可以不是多个。
[0672]
三维数据制作部816根据传感器信息833生成三维数据834。三维数据834例如包括点云、可见光影像、进深信息、传感器位置信息、或速度信息等的信息。
[0673]
三维数据合成部817将交通监控云或前方车辆等制作的三维数据832与根据本车辆的传感器信息833而制作的三维数据834进行合成,从而能够构建将本车辆的传感器815不能检测的前方车辆的前方的空间也包括在内的三维数据835。
[0674]
三维数据积蓄部818积蓄所生成的三维数据835等。
[0675]
通信部819与交通监控云或后方车辆进行通信,将数据发送请求等发送给交通监
控云或后方车辆。
[0676]
发送控制部820经由通信部819,与通信方交换对应格式等信息,与通信方确立通信。并且,发送控制部820根据由三维数据合成部817生成的三维数据832的三维数据构建信息、以及来自通信方的数据发送请求,来决定作为发送对象的三维数据的空间的发送区域。
[0677]
具体而言,发送控制部820按照来自交通监控云或后方车辆的数据发送请求,决定发送区域,该发送区域包括后方车辆的传感器不能检测的本车辆的前方的空间。并且,发送控制部820根据三维数据构建信息判断能够发送的空间或已发送空间的更新有无等,从而决定发送区域。例如,发送控制部820将由数据发送请求指定且存在对应的三维数据835的区域决定为发送区域。并且,发送控制部820将通信方所对应的格式、以及发送区域通知给格式转换部821。
[0678]
格式转换部821通过将三维数据积蓄部818中积蓄的三维数据835中的发送区域的三维数据836转换为接收侧所对应的格式,来生成三维数据837。另外,格式转换部821也可以通过对三维数据837进行压缩或编码,来削减数据量。
[0679]
数据发送部822将三维数据837发送到交通监控云或后方车辆。该三维数据837例如包含:包括成为后方车辆的死角的区域的、本车辆的前方的点云、可见光影像、进深信息、或传感器位置信息等的信息。
[0680]
另外,在此以由格式转换部814以及821进行格式转换等为例进行了说明,但是也可以不进行格式转换。
[0681]
通过此构成,三维数据制作装置810从外部取得通过本车辆的传感器815不能检测的区域的三维数据831,并通过对三维数据831与基于由本车辆的传感器815检测到的传感器信息833的三维数据834进行合成而生成三维数据835。由此,三维数据制作装置810能够生成通过本车辆的传感器815不能检测的范围的三维数据。
[0682]
并且,三维数据制作装置810能够按照来自交通监控云或后方车辆的数据发送请求,将包括通过后方车辆的传感器不能检测的本车辆的前方的空间的三维数据发送给交通监控云或后方车辆等。
[0683]
接着,对三维数据制作装置810中的对后方车辆发送三维数据的发送顺序进行说明。图93是表示由三维数据制作装置810向交通监控云或后方车辆发送三维数据的顺序的一个例子的流程图。
[0684]
首先,三维数据制作装置810生成并更新包括本车辆的前方道路上的空间的空间的三维数据835(s801)。具体而言,三维数据制作装置810通过将交通监控云或前方车辆等制作的三维数据831与基于本车辆的传感器信息833制作的三维数据834进行合成等,构建将通过本车辆的传感器815不能检测的前方车辆的前方的空间也包括在内的三维数据835。
[0685]
接着,三维数据制作装置810判断已发送的空间中包含的三维数据835是否发生了变化(s802)。
[0686]
在由于车辆或人从外部进入到已发送的空间等而该空间中包含的三维数据835发生了变化的情况下(s802的“是”),三维数据制作装置810将包含发生了变化的空间的三维数据835的三维数据发送给交通监控云或后方车辆(s803)。
[0687]
另外,三维数据制作装置810可以匹配于以规定的间隔发送三维数据的发送定时来发送发生了变化的空间的三维数据,但也可以在检测到变化后立即进行发送。即,三维数
据制作装置810可以将发生了变化的空间的三维数据比以规定的间隔发送的三维数据优先发送。
[0688]
并且,三维数据制作装置810也可以将发生了变化的空间的三维数据的全部作为发生了变化的空间的三维数据来发送,也可以仅发送三维数据的差分(例如出现或消失的三维点的信息、或三维点的位移信息等)。
[0689]
并且,也可以是,三维数据制作装置810在发送发生了变化的空间的三维数据之前,先将紧急刹车警报等与本车辆的危险回避动作有关的元数据发送给后方车辆。由此,后方车辆能够提早确认到前方车辆的紧急刹车等,能够尽快地开始减速等危险回避动作。
[0690]
在已发送的空间中包含的三维数据835没有发生变化的情况下(s802的“否”)或步骤s803之后,三维数据制作装置810将位于本车辆的前方距离l上的规定的形状的空间中包含的三维数据发送给交通监控云或后方车辆(s804)。
[0691]
并且,例如步骤s801~s804的处理以规定的时间间隔反复执行。
[0692]
并且,三维数据制作装置810在当前的发送对象的空间的三维数据835与三维地图之间没有差异的情况下,也可以不发送空间的三维数据837。
[0693]
在本实施方式中,客户端装置向服务器或其他客户端装置发送由传感器得到的传感器信息。
[0694]
首先,对本实施方式的系统的构成进行说明。图94是表示本实施方式的三维地图以及传感器信息的收发系统的构成的图。该系统包括服务器901、客户端装置902a以及902b。另外,在不对客户端装置902a以及902b进行特殊区分的情况下,也记作客户端装置902。
[0695]
客户端装置902例如是被搭载在车辆等移动体的车载设备。服务器901例如是交通监控云等,能够与多个客户端装置902进行通信。
[0696]
服务器901向客户端装置902发送由点云构成的三维地图。另外,三维地图的构成并非受点云所限,也可以通过网格结构等其他的三维数据来表现。
[0697]
客户端装置902向服务器901发送由客户端装置902获得的传感器信息。传感器信息例如至少包括lidar获得信息、可见光图像、红外图像、深度图像、传感器位置信息以及速度信息之中的一个。
[0698]
关于在服务器901与客户端装置902之间收发的数据,在想要减少数据的情况下可以被压缩,在想要维持数据的精确度的情况下可以不进行压缩。在对数据进行压缩的情况下,在点云中例如能够采用基于八叉树的三维压缩方式。并且,在可见光图像、红外图像、以及深度图像中可以采用二维的图像压缩方式。二维的图像压缩方式例如是以mpeg标准化的mpeg-4avc或hevc等。
[0699]
并且,服务器901按照来自客户端装置902的三维地图的发送请求,将在服务器901进行管理的三维地图发送到客户端装置902。另外,服务器901也可以不等待来自客户端装置902的三维地图的发送请求,就对三维地图进行发送。例如,服务器901也可以将三维地图广播到预先规定的空间中的一个以上的客户端装置902。并且,服务器901也可以向接受过一次发送请求的客户端装置902,每隔一定的时间发送适于客户端装置902的位置的三维地图。并且,服务器901也可以在每当服务器901所管理的三维地图被更新时,向客户端装置902发送三维地图。
[0700]
客户端装置902向服务器901发出三维地图的发送请求。例如,在客户端装置902在行驶时想要进行自身位置估计的情况下,客户端装置902将三维地图的发送请求发送到服务器901。
[0701]
另外,在以下的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。在客户端装置902所持有的三维地图比较旧的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。例如,在客户端装置902获得三维地图并经过了一定期间的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。
[0702]
也可以是,在客户端装置902将要从客户端装置902所保持的三维地图所示的空间出来的一定时刻之前,客户端装置902向服务器901发出三维地图的发送请求。例如也可以是,在客户端装置902存在于从客户端装置902所保持的三维地图所示的空间的边界预先规定的距离以内的情况下,客户端装置902向服务器901发出三维地图的发送请求。并且,在掌握到客户端装置902的移动路径以及移动速度的情况下,可以根据掌握到的移动路径和移动速度,来预测客户端装置902从客户端装置902所保持的三维地图示出的空间出来的时刻。
[0703]
在客户端装置902根据传感器信息制作的三维数据与三维地图的位置对照时的误差在一定范围以上时,客户端装置902可以向服务器901发出三维地图的发送请求。
[0704]
客户端装置902按照从服务器901发送来的传感器信息的发送请求,将传感器信息发送到服务器901。另外,客户端装置902也可以不等待来自服务器901的传感器信息的发送请求,就将传感器信息发送到服务器901。例如,客户端装置902在从服务器901得到过一次传感器信息的发送请求的情况下,可以在一定的期间之中,定期地将传感器信息发送到服务器901。并且也可以是,在客户端装置902根据传感器信息制作的三维数据、与从服务器901得到的三维地图的位置对照时的误差为一定范围以上的情况下,客户端装置902判断在客户端装置902的周边的三维地图有发生变化的可能性,并将这一判断结果和传感器信息一起发送到服务器901。
[0705]
服务器901向客户端装置902发出传感器信息的发送请求。例如,服务器901从客户端装置902接收gps等客户端装置902的位置信息。服务器901根据客户端装置902的位置信息,在判断为客户端装置902接近到服务器901所管理的三维地图中信息少的空间的情况下,为了重新生成三维地图,而将传感器信息的发送请求发出到客户端装置902。并且也可以是,服务器901在想要更新三维地图的情况、在想要确认积雪时或灾害时等道路状况的情况、在想要确认堵塞状况或事件事故状况等情况下,也可以发出传感器信息的发送请求。
[0706]
并且也可以是,客户端装置902按照从服务器901接受的传感器信息的发送请求的接收时的通信状态或频带,来设定发送到服务器901的传感器信息的数据量。对发送到服务器901的传感器信息的数据量进行设定例如是指,对该数据本身进行增减、或者选择适宜的压缩方式。
[0707]
图95是表示客户端装置902的构成例的框图。客户端装置902从服务器901接收以点云等构成的三维地图,根据基于客户端装置902的传感器信息而制作的三维数据,来估计客户端装置902的自身位置。并且,客户端装置902将获得的传感器信息发送到服务器901。
[0708]
客户端装置902具备:数据接收部1011、通信部1012、接收控制部1013、格式转换部1014、多个传感器1015、三维数据制作部1016、三维图像处理部1017、三维数据积蓄部1018、
格式转换部1019、通信部1020、发送控制部1021、以及数据发送部1022。
[0709]
数据接收部1011从服务器901接收三维地图1031。三维地图1031是包括wld或swld等点云的数据。三维地图1031也可以包括压缩数据、以及非压缩数据的任一方。
[0710]
通信部1012与服务器901进行通信,将数据发送请求(例如,三维地图的发送请求)等发送到服务器901。
[0711]
接收控制部1013经由通信部1012,与通信对方交换对应格式等信息,确立与通信对方的通信。
[0712]
格式转换部1014通过对数据接收部1011所接收的三维地图1031进行格式转换等,来生成三维地图1032。并且,格式转换部1014在三维地图1031被压缩或编码的情况下,进行解压缩或解码处理。另外,格式转换部1014在三维地图1031为非压缩数据的情况下,不进行解压缩或解码处理。
[0713]
多个传感器1015是lidar、可见光相机、红外线相机、或深度传感器等客户端装置902所搭载的用于获得车辆的外部的信息的传感器群,生成传感器信息1033。例如,在传感器1015为lidar等激光传感器的情况下,传感器信息1033是点云(点群数据)等三维数据。另外,传感器1015也可以不是多个。
[0714]
三维数据制作部1016根据传感器信息1033,制作本车辆的周边的三维数据1034。例如,三维数据制作部1016利用由lidar获得的信息、以及由可见光相机得到的可见光影像,来制作本车辆的周边的具有颜色信息的点云数据。
[0715]
三维图像处理部1017利用接收的点云等三维地图1032、以及根据传感器信息1033生成的本车辆的周边的三维数据1034,来进行本车辆的自身位置估计处理等。另外,也可以是,三维图像处理部1017对三维地图1032与三维数据1034进行合成,来制作本车辆的周边的三维数据1035,利用制作的三维数据1035,来进行自身位置估计处理。
[0716]
三维数据积蓄部1018对三维地图1032、三维数据1034以及三维数据1035等进行积蓄。
[0717]
格式转换部1019通过将传感器信息1033转换为接收侧所对应的格式,来生成传感器信息1037。另外,格式转换部1019可以通过对传感器信息1037进行压缩或编码来减少数据量。并且,在不需要格式转换的情况下,格式转换部1019可以省略处理。并且,格式转换部1019可以对按照发送范围的指定来发送的数据量进行控制。
[0718]
通信部1020与服务器901进行通信,从服务器901接收数据发送请求(传感器信息的发送请求)等。
[0719]
发送控制部1021经由通信部1020,与通信对方交换对应格式等信息,从而确立通信。
[0720]
数据发送部1022将传感器信息1037发送到服务器901。传感器信息1037例如包括通过lidar获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等由多个传感器1015获得的信息。
[0721]
接着,对服务器901的结构进行说明。图96是示出服务器901的构成例的框图。服务器901接收从客户端装置902发送来的传感器信息,根据接收的传感器信息,来制作三维数据。服务器901利用制作的三维数据,对服务器901管理的三维地图进行更新。并且,服务器
901按照来自客户端装置902的三维地图的发送请求,将更新的三维地图发送到客户端装置902。
[0722]
服务器901具备:数据接收部1111、通信部1112、接收控制部1113、格式转换部1114、三维数据制作部1116、三维数据合成部1117、三维数据积蓄部1118、格式转换部1119、通信部1120、发送控制部1121、以及数据发送部1122。
[0723]
数据接收部1111从客户端装置902接收传感器信息1037。传感器信息1037例如包括通过lidar获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等。
[0724]
通信部1112与客户端装置902进行通信,将数据发送请求(例如,传感器信息的发送请求)等发送到客户端装置902。
[0725]
接收控制部1113经由通信部1112,与通信对方交换对应格式等信息,从而确立通信。
[0726]
格式转换部1114在接收的传感器信息1037被压缩或编码的情况下,通过进行解压缩或解码处理,来生成传感器信息1132。另外,在传感器信息1037是非压缩数据的情况下,格式转换部1114不进行解压缩或解码处理。
[0727]
三维数据制作部1116根据传感器信息1132,制作客户端装置902的周边的三维数据1134。例如,三维数据制作部1116利用通过lidar获得的信息、以及通过可见光相机得到的可见光影像,来制作客户端装置902的周边具有颜色信息的点云数据。
[0728]
三维数据合成部1117将基于传感器信息1132而制作的三维数据1134,与服务器901管理的三维地图1135进行合成,据此来更新三维地图1135。
[0729]
三维数据积蓄部1118对三维地图1135等进行积蓄。
[0730]
格式转换部1119通过将三维地图1135转换为接收侧对应的格式,来生成三维地图1031。另外,格式转换部1119也可以通过对三维地图1135进行压缩或编码,来减少数据量。并且,在不需要格式转换的情况下,格式转换部1119也可以省略处理。并且,格式转换部1119可以对按照发送范围的指定来发送的数据量进行控制。
[0731]
通信部1120与客户端装置902进行通信,从客户端装置902接收数据发送请求(三维地图的发送请求)等。
[0732]
发送控制部1121经由通信部1120,与通信对方交换对应格式等信息,从而确立通信。
[0733]
数据发送部1122将三维地图1031发送到客户端装置902。三维地图1031是包括wld或swld等点云的数据。在三维地图1031中也可以包括压缩数据以及非压缩数据的任一方。
[0734]
接着,对客户端装置902的工作流程进行说明。图97是示出客户端装置902进行的三维地图获得时的工作的流程图。
[0735]
首先,客户端装置902向服务器901请求三维地图(点云等)的发送(s1001)。此时,客户端装置902也将通过gps等得到的客户端装置902的位置信息一起发送,据此,可以向服务器901请求与该位置信息相关的三维地图的发送。
[0736]
接着,客户端装置902从服务器901接收三维地图(s1002)。若接收的三维地图是压缩数据,客户端装置902对接收的三维地图进行解码,生成非压缩的三维地图(s1003)。
[0737]
接着,客户端装置902根据从多个传感器1015得到的传感器信息1033,来制作客户
端装置902的周边的三维数据1034(s1004)。接着,客户端装置902利用从服务器901接收的三维地图1032、以及根据传感器信息1033制作的三维数据1034,来估计客户端装置902的自身位置(s1005)。
[0738]
图98是示出客户端装置902进行的传感器信息的发送时的工作的流程图。首先,客户端装置902从服务器901接收传感器信息的发送请求(s1011)。接收了发送请求的客户端装置902将传感器信息1037发送到服务器901(s1012)。另外,在传感器信息1033包括通过多个传感器1015得到的多个信息的情况下,客户端装置902针对各信息,以适于各信息的压缩方式来进行压缩,从而生成传感器信息1037。
[0739]
接着,对服务器901的工作流程进行说明。图99是示出服务器901进行传感器信息的获得时的工作的流程图。首先,服务器901向客户端装置902请求传感器信息的发送(s1021)。接着,服务器901接收按照该请求而从客户端装置902发送的传感器信息1037(s1022)。接着,服务器901利用接收的传感器信息1037,来制作三维数据1134(s1023)。接着,服务器901将制作的三维数据1134反映到三维地图1135(s1024)。
[0740]
图100是示出服务器901进行的三维地图的发送时的工作的流程图。首先,服务器901从客户端装置902接收三维地图的发送请求(s1031)。接收了三维地图的发送请求的服务器901向客户端装置902发送三维地图961(s1032)。此时,服务器901可以与客户端装置902的位置信息相对应地提取其附近的三维地图,并发送提取的三维地图。并且可以是,服务器901针对由点云构成的三维地图,例如利用通过八叉树的压缩方式等来进行压缩,并发送压缩后的三维地图。
[0741]
以下,对本实施方式的变形例进行说明。
[0742]
服务器901利用从客户端装置902接收的传感器信息1037,来制作客户端装置902的位置附近的三维数据1134。接着,服务器901对制作的三维数据1134、与服务器901所管理的相同区域的三维地图1135进行匹配,算出三维数据1134与三维地图1135的差分。服务器901在差分为预先决定的阈值以上的情况下,判断在客户端装置902的周边发生了某种异常。例如,在因地震等自然灾害而发生了地表下沉等时,可以考虑到在服务器901所管理的三维地图1135、与基于传感器信息1037而制作的三维数据1134之间会产生较大的差。
[0743]
传感器信息1037也可以包括传感器的种类、传感器的性能、以及传感器的型号之中的至少一个。并且也可以是,传感器信息1037中被附加与传感器的性能相对应的类别id等。例如,在传感器信息1037是由lidar获得的信息的情况下,可以考虑到针对传感器的性能来分配标识符,例如,针对能够以几mm单位的精确度来获得信息的传感器分配类别1、针对能够以几cm单位的精确度来获得信息的传感器分配类别2、针对能够以几m单位的精确度来获得信息的传感器分配类别3。并且,服务器901也可以从客户端装置902的型号来估计传感器的性能信息等。例如,在客户端装置902搭载于车辆的情况下,服务器901可以根据该车辆的车型来判断传感器的标准信息。在这种情况下,服务器901可以事前获得车辆的车型的信息,也可以使该信息包括在传感器信息中。并且也可以是,服务器901利用获得的传感器信息1037,来切换针对利用传感器信息1037而制作的三维数据1134的校正的程度。例如,在传感器性能为高精确度(类别1)的情况下,服务器901不进行针对三维数据1134的校正。在传感器性能为低精确度(类别3)的情况下,服务器901将适于传感器的精确度的校正适用到三维数据1134。例如,服务器901在传感器的精确度越低的情况下就越增强校正的程度(强
度)。
[0744]
服务器901也可以向存在于某个空间的多个客户端装置902同时发出传感器信息的发送请求。服务器901在从多个客户端装置902接收到多个传感器信息的情况下,没有必要将所有的传感器信息都利用到三维数据1134的制作,例如可以按照传感器的性能,来选择将要利用的传感器信息。例如,服务器901在对三维地图1135进行更新的情况下,可以从接收的多个传感器信息中选择高精确度的传感器信息(类别1),利用选择的传感器信息来制作三维数据1134。
[0745]
服务器901并非受交通监控云等服务器所限,也可以是其他的客户端装置(车载)。图101示出了这种情况下的系统结构。
[0746]
例如,客户端装置902c向附近存在的客户端装置902a发出传感器信息的发送请求,并从客户端装置902a获得传感器信息。于是,客户端装置902c利用获得的客户端装置902a的传感器信息,来制作三维数据,并更新对客户端装置902c的三维地图进行更新。这样,客户端装置902c能够活用客户端装置902c的性能,来生成能够从客户端装置902a获得的空间的三维地图。例如,在客户端装置902c的性能高的情况下,可以考虑发生这种情况。
[0747]
并且,在这种情况下,提供了传感器信息的客户端装置902a被给予获得由客户端装置902c生成的高精确度的三维地图的权利。客户端装置902a按照该权利,从客户端装置902c接收高精确度的三维地图。
[0748]
并且也可以是,客户端装置902c向附近存在的多个客户端装置902(客户端装置902a以及客户端装置902b)发出传感器信息的发送请求。在客户端装置902a或客户端装置902b的传感器为高性能的情况下,客户端装置902c能够利用通过该高性能的传感器得到的传感器信息来制作三维数据。
[0749]
图102是示出服务器901以及客户端装置902的功能构成的框图。服务器901例如具备:对三维地图进行压缩以及解码的三维地图压缩/解码处理部1201、对传感器信息进行压缩以及解码的传感器信息压缩/解码处理部1202。
[0750]
客户端装置902具备:三维地图解码处理部1211、以及传感器信息压缩处理部1212。三维地图解码处理部1211接收压缩后的三维地图的编码数据,对编码数据进行解码并获得三维地图。传感器信息压缩处理部1212不对通过获得的传感器信息而制作的三维数据进行压缩,而是对传感器信息本身进行压缩,将压缩后的传感器信息的编码数据发送到服务器901。根据此构成,客户端装置902可以将用于对三维地图(点云等)进行解码处理的处理部(装置或lsi)保持在内部,而不必将用于对三维地图(点云等)的三维数据进行压缩处理的处理部保持在内部。这样,能够抑制客户端装置902的成本以及耗电量等。
[0751]
如以上所述,本实施方式所涉及的客户端装置902被搭载在移动体,根据通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1033,来制作移动体的周边的三维数据1034。客户端装置902利用制作的三维数据1034,来估计移动体的自身位置。客户端装置902将获得的传感器信息1033发送到服务器901或者其他的客户端装置902。
[0752]
据此,客户端装置902将传感器信息1033发送到服务器901等。这样,与发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于没有必要在客户端装置902执行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理的量。因
此,客户端装置902能够实现传输的数据量的减少或装置的构成的简略化。
[0753]
并且,客户端装置902进一步向服务器901发送三维地图的发送请求,从服务器901接收三维地图1031。客户端装置902在自身位置的估计中,利用三维数据1034和三维地图1032,来对自身位置进行估计。
[0754]
并且,传感器信息1033至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。
[0755]
并且,传感器信息1033包括示出传感器的性能的信息。
[0756]
并且,客户端装置902对传感器信息1033进行编码或压缩,在传感器信息的发送中,将编码或压缩后的传感器信息1037发送到服务器901或者其他的客户端装置902。据此,客户端装置902能够减少传输的数据量。
[0757]
例如,客户端装置902具备处理器以及存储器,处理器利用存储器进行上述的处理。
[0758]
并且,本实施方式所涉及的服务器901能够与搭载在移动体的客户端装置902进行通信,从客户端装置902接收通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1037。服务器901根据接收的传感器信息1037,来制作移动体的周边的三维数据1134。
[0759]
据此,服务器901利用从客户端装置902发送来的传感器信息1037,来制作三维数据1134。这样,与客户端装置902发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于可以不必在客户端装置902进行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理量。这样,服务器901能够实现传输的数据量的减少、或装置的构成的简略化。
[0760]
并且,服务器901进一步向客户端装置902发送传感器信息的发送请求。
[0761]
并且,服务器901进一步利用制作的三维数据1134,来更新三维地图1135,按照来自客户端装置902的三维地图1135的发送请求,将三维地图1135发送到客户端装置902。
[0762]
并且,传感器信息1037至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。
[0763]
并且,传感器信息1037包括示出传感器的性能的信息。
[0764]
并且,服务器901进一步按照传感器的性能,对三维数据进行校正。据此,该三维数据制作方法能够提高三维数据的品质。
[0765]
并且,服务器901在传感器信息的接收中,从多个客户端装置902接收多个传感器信息1037,根据多个传感器信息1037中包括的示出传感器的性能的多个信息,来选择三维数据1134的制作中使用的传感器信息1037。据此,服务器901能够提高三维数据1134的品质。
[0766]
并且,服务器901对接收的传感器信息1037进行解码或解压缩,根据解码或解压缩后的传感器信息1132,制作三维数据1134。据此,服务器901能够减少传输的数据量。
[0767]
例如,服务器901具备处理器和存储器,处理器利用存储器进行上述的处理。
[0768]
以下,对变形例进行说明。图103是表示本实施方式的系统的构成的图。图103所示的系统包括服务器2001、客户端装置2002a和客户端装置2002b。
[0769]
客户端装置2002a及客户端装置2002b被搭载于车辆等移动体,将传感器信息向服
务器2001发送。服务器2001将三维地图(点云)向客户端装置2002a及客户端装置2002b发送。
[0770]
客户端装置2002a具备传感器信息获得部2011、存储部2012和数据发送可否判定部2013。另外,客户端装置2002b的结构也是同样的。此外,以下在将客户端装置2002a和客户端装置2002b不特别区分的情况下,也记作客户端装置2002。
[0771]
图104是表示本实施方式所涉及的客户端装置2002的动作的流程图。
[0772]
传感器信息获得部2011利用搭载于移动体的传感器(传感器群)获得各种传感器信息。即,传感器信息获得部2011获得由搭载于移动体的传感器(传感器群)得到的、表示移动体的周边状况的传感器信息。此外,传感器信息获得部2011将所获得的传感器信息向存储部2012存储。该传感器信息包括lidar获得信息、可视光图像、红外图像及深度图像中的至少一个。此外,传感器信息也可以包括传感器位置信息、速度信息、获得时刻信息及获得场所信息中的至少一个。传感器位置信息表示获得了传感器信息的传感器的位置。速度信息表示传感器获得了传感器信息时的移动体的速度。获得时刻信息表示传感器信息被传感器获得的时刻。获得场所信息表示传感器信息被传感器获得时的移动体或传感器的位置。
[0773]
接着,数据发送可否判定部2013判定移动体(客户端装置2002)是否存在于能够向服务器2001发送传感器信息的环境中(s2002)。例如,数据发送可否判定部2013也可以使用gps等信息,确定客户端装置2002所处的场所及时刻,判定是否能够发送数据。此外,数据发送可否判定部2013也可以通过是否能够连接到特定的接入点,来判定是否能够发送数据。
[0774]
客户端装置2002在判定为移动体存在于能够向服务器2001发送传感器信息的环境中的情况下(s2002中“是”),将传感器信息向服务器2001发送(s2003)。即,在客户端装置2002成为能够将传感器信息向服务器2001发送那样的状况的时间点,客户端装置2002将所保持的传感器信息向服务器2001发送。例如,在交叉口等设置能够进行高速通信的毫米波的接入点。客户端装置2002在进入到交叉口内的时间点,利用毫米波通信将客户端装置2002所保持的传感器信息高速地发送给服务器2001。
[0775]
接着,客户端装置2002将已发送给服务器2001的传感器信息从存储部2012删除(s2004)。另外,客户端装置2002也可以在没有向服务器2001发送的传感器信息满足规定的条件的情况下将该传感器信息删除。例如,客户端装置2002也可以在所保持的传感器信息的获得时刻比从当前时刻起一定时刻前更早的时间点,将该传感器信息从存储部2012删除。即,客户端装置2002也可以在传感器信息被传感器获得的时刻与当前时刻的差超过了预先设定的时间的情况下,将传感器信息从存储部2012删除。此外,客户端装置2002也可以在所保持的传感器信息的获得场所距当前地点的距离比一定距离远的时间点,将该传感器信息从存储部2012删除。即,客户端装置2002也可以在传感器信息被传感器获得时的移动体或传感器的位置与移动体或传感器的当前位置的差超过了预先设定的距离的情况下,将传感器信息从存储部2012删除。由此,能够抑制客户端装置2002的存储部2012的容量。
[0776]
在由客户端装置2002进行的传感器信息的获得没有结束的情况下(s2005中“否”),客户端装置2002再次进行步骤s2001以后的处理。此外,在由客户端装置2002进行的传感器信息的获得结束的情况下(s2005中“是”),客户端装置2002结束处理。
[0777]
此外,客户端装置2002也可以匹配于通信状况来选择向服务器2001发送的传感器信息。例如,客户端装置2002在能够高速通信的情况下,将向存储部2012保持的尺寸大的传
感器信息(例如lidar获得信息等)优先发送。此外,客户端装置2002在难以高速通信的情况下,发送向存储部2012保持的尺寸小且优先级高的传感器信息(例如可视光图像)。由此,客户端装置2002能够将保持在存储部2012中的传感器信息根据网络的状况有效地发送给服务器2001。
[0778]
此外,客户端装置2002也可以从服务器2001获得表示上述当前时刻的时刻信息及表示当前地点的场所信息。此外,客户端装置2002也可以基于所获得的时刻信息及场所信息,决定传感器信息的获得时刻及获得场所。即,客户端装置2002也可以从服务器2001获得时刻信息,使用所获得的时刻信息,生成获得时刻信息。此外,客户端装置2002也可以从服务器2001获得场所信息,使用所获得的场所信息,生成获得场所信息。
[0779]
例如关于时刻信息,服务器2001和客户端装置2002利用ntp(network time protocol:网络时间协议)或ptp(precision time protocol:高精度时间同步协议)等的机制进行时刻同步。由此,客户端装置2002能够获得正确的时刻信息。此外,由于能够在服务器2001与多个客户端装置之间使时刻同步,所以能够使不同客户端装置2002获得的传感器信息内的时刻同步。因此,服务器2001能够处置表示被同步后的时刻的传感器信息。另外,时刻同步的机制也可以是ntp或ptp以外的任何方法。此外,作为上述时刻信息及场所信息,也可以使用gps的信息。
[0780]
服务器2001也可以指定时刻或场所来从多个客户端装置2002获得传感器信息。例如在发生了某种事故的情况下,为了寻找处于其附近的客户端,服务器2001指定事故发生时刻和场所,向多个客户端装置2002广播发送传感器信息发送请求。并且,具有相应的时刻和场所的传感器信息的客户端装置2002向服务器2001发送传感器信息。即,客户端装置2002从服务器2001接收包含指定场所及时刻的指定信息的传感器信息发送请求。客户端装置2002在存储部2012中存储有在由指定信息表示的场所及时刻得到的传感器信息、并且判定为移动体存在于能够向服务器2001发送传感器信息的环境中的情况下,将在由指定信息表示的场所及时刻得到的传感器信息向服务器2001发送。由此,服务器2001能够从多个客户端装置2002获得与事故的发生关联的传感器信息,用于事故解析等。
[0781]
另外,客户端装置2002在接收到来自服务器2001的传感器信息发送请求的情况下,也可以拒绝传感器信息的发送。此外,也可以事前由客户端装置2002设定在多个传感器信息之中能够发送哪个传感器信息。或者,服务器2001也可以每次向客户端装置2002询问能否发送传感器信息。
[0782]
此外,对于向服务器2001发送了传感器信息的客户端装置2002,也可以赋予得分。该得分例如可以用于汽油购买费、ev(electric vehicle,电动汽车)的充电费、高速道路的通行费或租车费用等的支付。此外,服务器2001也可以在获得传感器信息之后,将用来确定传感器信息的发送源的客户端装置2002的信息删除。例如,该信息是客户端装置2002的网络地址等信息。由此,能够使传感器信息匿名化,所以客户端装置2002的用户能够安心地将传感器信息从客户端装置2002向服务器2001发送。此外,服务器2001也可以由多个服务器构成。例如通过由多个服务器共用传感器信息,即使某个服务器故障,其他的服务器也能够与客户端装置2002通信。由此,能够避免因服务器故障造成的服务的停止。
[0783]
此外,由传感器信息发送请求指定的指定场所表示事故的发生位置等,有时与由传感器信息发送请求指定的指定时刻的客户端装置2002的位置不同。因此,服务器2001例
如能够通过作为指定场所而指定周边xxm以内等的范围,来对存在于该范围内的客户端装置2002请求信息获得。关于指定时刻也同样,服务器2001也可以指定从某时刻起前后n秒以内等范围。由此,服务器2001能够从“在时刻:t-n至t+n”存在于“场所:距绝对位置s在xxm以内”的客户端装置2002获得传感器信息。客户端装置2002也可以在发送lidar等的三维数据时,发送在时刻t的紧接着之后生成的数据。
[0784]
此外,服务器2001也可以将表示作为传感器信息获得对象的客户端装置2002的场所的信息、和想得到传感器信息的场所分别分开指定为指定场所。例如,服务器2001指定从存在于距绝对位置s在xxm以内的客户端装置2002获得至少包括距绝对位置s为yym的范围的传感器信息。客户端装置2002在选择要发送的三维数据时,以至少包含被指定的范围的传感器信息的方式选择1个以上的可随机访问的单位的三维数据。此外,客户端装置2002在发送可视光图像时,也可以发送至少包含时刻t的紧接着之前或紧接着之后的帧的、在时间上连续的多个图像数据。
[0785]
在客户端装置2002在传感器信息的发送中能够利用5g或wifi、或5g的多个模式等多个物理网络的情况下,客户端装置2002也可以按照从服务器2001通知的优先顺序来选择要利用的网络。或者,也可以是客户端装置2002自身基于发送数据的尺寸来选择能够确保适当的带宽的网络。或者,客户端装置2002也可以基于在数据发送中花费的费用等来选择要利用的网络。此外,在来自服务器2001的发送请求中,也可以包含客户端装置2002在时刻t之前能够开始发送的情况下进行发送等表示发送期限的信息。服务器2001如果在期限内不能获得足够的传感器信息,则也可以再次发布发送请求。
[0786]
传感器信息也可以与压缩或非压缩的传感器数据一起包含表示传感器数据的特性的头信息。客户端装置2002也可以将头信息经由与传感器数据不同的物理网络或通信协议发送给服务器2001。例如,客户端装置2002也可以在传感器数据的发送之前将头信息发送给服务器2001。服务器2001基于头信息的解析结果,判断是否获得客户端装置2002的传感器数据。例如,头信息也可以包含表示lidar的点群获得密度、仰角、或帧速率,或者可视光图像的分辨率、sn比或帧速率等的信息。由此,服务器2001能够从具有所决定的品质的传感器数据的客户端装置2002获得传感器信息。
[0787]
如以上这样,客户端装置2002被搭载于移动体,获得由搭载于移动体的传感器得到的、表示移动体的周边状况的传感器信息,并将传感器信息存储到存储部2012中。客户端装置2002判定移动体是否存在于能够向服务器2001发送传感器信息的环境中,在判定为移动体存在于能够向服务器发送传感器信息的环境中的情况下,将传感器信息发送给服务器2001。
[0788]
此外,客户端装置2002进一步,根据传感器信息制作移动体的周边的三维数据,使用制作出的三维数据估计移动体的自身位置。
[0789]
此外,客户端装置2002进一步,向服务器2001发送三维地图的发送请求,从服务器2001接收三维地图。客户端装置2002在自身位置的估计中,利用三维数据和三维地图来估计自身位置。
[0790]
另外,由上述客户端装置2002进行的处理也可以作为客户端装置2002中的信息发送方法实现。
[0791]
此外,客户端装置2002也可以具备处理器和存储器,处理器使用存储器进行上述
的处理。
[0792]
接着,对本实施方式所涉及的传感器信息收集系统进行说明。图105是表示本实施方式所涉及的传感器信息收集系统的结构的图。如图105所示,本实施方式所涉及的传感器信息收集系统包括终端2021a、终端2021b、通信装置2022a、通信装置2022b、网络2023、数据收集服务器2024、地图服务器2025和客户端装置2026。另外,在将终端2021a及终端2021b不特别区分的情况下,也记作终端2021。在将通信装置2022a及通信装置2022b不特别区分的情况下,也记作通信装置2022。
[0793]
数据收集服务器2024将由终端2021所具备的传感器得到的传感器数据等数据作为与三维空间中的位置建立了对应的位置关联数据而收集。
[0794]
传感器数据例如指的是使用终端2021具备的传感器获得了终端2021的周围的状态或终端2021的内部的状态等的数据。终端2021将从处于能够与终端2021直接通信、或者通过相同的通信方式将一个或多个中继装置进行中继而能够通信的位置的一个或多个传感器设备收集到的传感器数据发送给数据收集服务器2024。
[0795]
位置关联数据中包含的数据例如也可以包含表示终端自身或终端所具备的设备的动作状态、动作日志、服务的利用状况等的信息。此外,位置关联数据中包含的数据也可以包含将终端2021的标识符与终端2021的位置或移动路径等建立了对应的信息等。
[0796]
位置关联数据中包含的表示位置的信息与例如三维地图数据等三维数据中的表示位置的信息建立了对应。关于表示位置的信息的详细情况在后面叙述。
[0797]
位置关联数据除了作为表示位置的信息的位置信息以外,也可以还包含所述的时刻信息、和表示位置关联数据中包含的数据的属性或生成该数据的传感器的种类(例如型号等)的信息中的至少一个。位置信息及时刻信息也可以被保存在位置关联数据的头区域或保存位置关联数据的帧的头区域中。此外,位置信息及时刻信息也可以作为与位置关联数据建立了对应的元数据而与位置关联数据分开地发送及/或保存。
[0798]
地图服务器2025例如连接于网络2023,根据来自终端2021等其他装置的请求而发送三维地图数据等三维数据。此外,如在所述的各实施方式中说明那样,地图服务器2025也可以具备利用从终端2021发送的传感器信息将三维数据更新的功能等。
[0799]
数据收集服务器2024例如连接于网络2023,从终端2021等其他装置收集位置关联数据,将收集到的位置关联数据保存到内部或其他服务器内的存储装置中。此外,数据收集服务器2024将收集到的位置关联数据或基于位置关联数据而生成的三维地图数据的元数据等,按照来自终端2021的请求而对终端2021发送。
[0800]
网络2023是例如因特网等的通信网络。终端2021经由通信装置2022连接于网络2023。通信装置2022通过一个通信方式或一边切换多个通信方式一边与终端2021进行通信。通信装置2022例如是(1)lte(long term evolution,长期演进)等的基站,(2)wifi或毫米波通信等的接入点(ap),(3)sigfox、lorawan或wi-sun等的lpwa(low power wide area低功耗广域)网的网关,或(4)使用dvb-s2等的卫星通信方式进行通信的通信卫星。
[0801]
另外,基站既可以通过被分类为nb-iot(narrow band-iot:窄带物联网)或lte-m等的lpwa的方式进行与终端2021的通信,也可以一边切换这些方式一边进行与终端2021的通信。
[0802]
这里,举出了终端2021具备与使用两种通信方式的通信装置2022进行通信的功
能,使用这些通信方式中的某一个、或一边切换这些多个通信方式及作为直接的通信对方的通信装置2022一边与地图服务器2025或数据收集服务器2024进行通信的情况为例,但传感器信息收集系统及终端2021的结构并不限于此。例如,终端2021也可以不具有多个通信方式下的通信功能,而具备以某一个通信方式进行通信的功能。此外,终端2021也可以对应于3个以上的通信方式。此外,也可以按每个终端2021,对应的通信方式不同。
[0803]
终端2021例如具备图95所示的客户端装置902的结构。终端2021使用接收到的三维数据进行自身位置等的位置估计。此外,终端2021将从传感器获得的传感器数据与由位置估计的处理得到的位置信息建立对应,生成位置关联数据。
[0804]
对位置关联数据附加的位置信息例如表示在三维数据中使用的坐标系中的位置。例如,位置信息是用纬度及经度的值表示的坐标值。此时,终端2021也可以与坐标值一起,将作为该坐标值的基准的坐标系及表示在位置估计中使用的三维数据的信息包含在位置信息中。此外,坐标值也可以包含高度的信息。
[0805]
此外,位置信息也可以与能够在所述的三维数据的编码中使用的数据的单位或空间的单位建立对应。该单位,例如是wld、gos、spc、vlm或vxl等。此时,位置信息例如通过用来确定与位置关联数据对应的spc等的数据单位的标识符来表现。另外,位置信息除了用来确定spc等的数据单位的标识符以外,也可以还包含表示对包括该spc等的数据单位的三维空间进行编码而得到的三维数据的信息、或表示该spc内的详细的位置的信息等。表示三维数据的信息,例如是该三维数据的文件名。
[0806]
这样,该系统通过生成与基于使用三维数据进行的位置估计的位置信息建立了对应的位置关联数据,与对传感器信息附加基于使用gps获得的客户端装置(终端2021)的自身位置的位置信息的情况相比,能够对传感器信息赋予精度更高的位置信息。结果,在其他装置在其他服务中利用位置关联数据的情况下,也能够通过基于相同的三维数据进行位置估计,在真实空间中更正确地确定与位置关联数据对应的位置。
[0807]
另外,在本实施方式中,举从终端2021发送的数据是位置关联数据的情况为例进行了说明,但从终端2021发送的数据也可以是没有与位置信息建立关联的数据。即,也可以经由在本实施方式中说明的网络2023进行在其他实施方式中说明的三维数据或传感器数据的收发。
[0808]
接着,对表示三维或二维的真实空间或地图空间中的位置的位置信息不同的例子进行说明。对位置关联数据附加的位置信息也可以是表示相对于三维数据中的特征点的相对位置的信息。这里,作为位置信息的基准的特征点,例如是被编码为swld、作为三维数据被通知给终端2021的特征点。
[0809]
表示相对于特征点的相对位置的信息,例如也可以通过从特征点到位置信息所表示的点的矢量来表示,是表示从特征点到位置信息所表示的点的方向和距离的信息。或者,表示相对于特征点的相对位置的信息也可以是表示从特征点到位置信息表示的点的x轴、y轴、z轴各自的变位量的信息。此外,表示相对于特征点的相对位置的信息也可以是表示从3个以上的特征点各自到位置信息所表示的点的距离的信息。另外,相对位置也可以不是以各特征点为基准而表现的位置信息所表示的点的相对位置,而是以位置信息所表示的点为基准而表现的各特征点的相对位置。基于相对于特征点的相对位置的位置信息的一例包括用来确定作为基准的特征点的信息、和表示位置信息所表示的点相对于该特征点的相对位
置的信息。此外,在将表示相对于特征点的相对位置的信息与三维数据分开提供的情况下,表示相对于特征点的相对位置的信息也可以包含表示在相对位置的导出中使用的坐标轴、表示三维数据的种类的信息、或/及表示相对位置的信息的值的每单位量的大小(比例尺等)的信息等。
[0810]
此外,位置信息也可以包含针对多个特征点表示相对于各特征点的相对位置的信息。在将位置信息用相对于多个特征点的相对位置表示的情况下,在真实空间中要确定该位置信息所表示的位置的终端2021也可以根据按每个特征点基于传感器数据估计出的该特征点的位置,计算位置信息所表示的位置的候选点,将对计算出的多个候选点进行平均而求出的点判定为位置信息所表示的点。根据该结构,能够减轻根据传感器数据估计特征点的位置时的误差的影响,所以能够提高真实空间中的位置信息所表示的点的估计精度。此外,在位置信息包含表示相对于多个特征点的相对位置的信息的情况下,即使在存在因终端2021所具备的传感器的种类或性能等的制约而不能检测的特征点的情况下,只要能够检测到多个特征点中的某一个,就能够估计位置信息所表示的点的值。
[0811]
作为特征点,可以使用能够根据传感器数据来确定的点。能够根据传感器数据来确定的点,例如是满足所述的三维特征量或可视光数据的特征量为阈值以上等特征点检测用的规定的条件的点或区域内的点。
[0812]
此外,也可以使用设置在真实空间中的标记等作为特征点。在此情况下,标记只要能够根据使用lider或相机等的传感器获得的数据进行检测及位置的确定就可以。例如,通过颜色或亮度值(反射率)的变化、或三维形状(凹凸等)来表现标记。此外,也可以使用表示该标记的位置的坐标值或根据该标记的标识符生成的二维码或条码等。
[0813]
此外,也可以使用发送光信号的光源作为标记。在使用光信号的光源作为标记的情况下,不仅发送坐标值或标识符等的用来获得位置的信息,也可以将其他的数据利用光信号来发送。例如,光信号也可以包含与该标记的位置对应的服务的内容、用来获得内容的url等的地址、或用来接受服务的提供的无线通信装置的标识符、表示用来与该无线通信装置连接的无线通信方式等的信息。通过使用光通信装置(光源)作为标记,表示位置的信息以外的数据的发送变得容易,并且能够动态地切换该数据。
[0814]
终端2021例如使用在数据间共同使用的标识符、或者表示数据间的特征点的对应关系的信息或表来掌握相互不同的数据间的特征点的对应关系。此外,在没有表示特征点间的对应关系的信息的情况下,终端2021也可以将在将一方的三维数据中的特征点的坐标变换为另一方的三维数据空间上的位置的情况下处于最近的距离的特征点判定为对应的特征点。
[0815]
在使用以上说明的基于相对位置的位置信息的情况下,即使在使用相互不同的三维数据的终端2021或服务之间,也能够以各三维数据中包含的或与各三维数据建立了对应的共同的特征点为基准,确定或估计位置信息所表示的位置。结果,能够在使用相互不同的三维数据的终端2021或服务间以更高的精度确定或估计相同的位置。
[0816]
此外,即使在使用利用相互不同的坐标系表现的地图数据或三维数据的情况下,也能够降低伴随于坐标系的变换的误差的影响,所以能够实现基于更高精度的位置信息的服务的协同。
[0817]
以下,对由数据收集服务器2024提供的功能的例子进行说明。数据收集服务器
2024也可以将接收到的位置关联数据传送给其他的数据服务器。在有多个数据服务器的情况下,数据收集服务器2024判定将接收到的位置关联数据传送给哪个数据服务器,并向被判定为传送目的地的数据服务器传送位置关联数据。
[0818]
数据收集服务器2024例如基于在数据收集服务器2024中事前设定的传送目的地服务器的判定规则来进行传送目的地的判定。传送目的地服务器的判定规则,例如用将对应于各终端2021的标识符与传送目的地的数据服务器建立了对应的传送目的地表等来设定。
[0819]
终端2021对所发送的位置关联数据附加与该终端2021建立了对应的标识符,并向数据收集服务器2024发送。数据收集服务器2024基于使用传送目的地表等的传送目的地服务器的判定规则,确定与附加在位置关联数据中的标识符对应的传送目的地的数据服务器,将该位置关联数据向被确定的数据服务器发送。此外,传送目的地服务器的判定规则也可以由使用位置关联数据被获得的时间或场所等的判定条件来指定。这里,与上述的发送源的终端2021建立了对应的标识符,例如是各终端2021所固有的标识符、或表示终端2021所属的组的标识符等。
[0820]
此外,传送目的地表也可以不是将对应于发送源的终端的标识符与传送目的地的数据服务器直接建立对应的。例如,数据收集服务器2024保持管理表和传送目的地表,管理表保存有按照终端2021所固有的标识符而赋予的标签信息,传送目的地表将该标签信息与传送目的地的数据服务器建立了对应。数据收集服务器2024也可以使用管理表和传送目的地表判定基于标签信息的传送目的地的数据服务器。这里,标签信息例如是与该标识符对应的终端2021的种类、型号、所有者、所属的组或其他的对标识符赋予的管理用的控制信息或服务提供用的控制信息。此外,在传送目的地表中,也可以代替与发送源的终端2021建立对应的标识符而使用每个传感器所固有的标识符。此外,传送目的地服务器的判定规则也可以能够从客户端装置2026设定。
[0821]
数据收集服务器2024也可以将多个数据服务器判定为传送目的地,将接收到的位置关联数据传送给该多个数据服务器。根据该结构,例如在将位置关联数据自动地备份的情况下、或者在为了在不同的服务中共同地利用位置关联数据而需要对用来提供各服务的数据服务器发送位置关联数据的情况下,通过变更对数据收集服务器2024的设定,能够实现所意图的数据的传送。结果,与对单独的终端2021设定位置关联数据的发送目的地的情况相比,能够削减系统的构建及变更所需要的工作量。
[0822]
数据收集服务器2024也可以根据从数据服务器接收到的传送请求信号,将由传送请求信号指定的数据服务器登记为新的传送目的地,将以后接收到的位置关联数据传送给该数据服务器。
[0823]
数据收集服务器2024也可以将从终端2021接收到的位置关联数据保存到记录装置中,根据从终端2021或数据服务器接收到的发送请求信号,将由发送请求信号指定的位置关联数据发送给请求源的终端2021或数据服务器。
[0824]
数据收集服务器2024也可以判断能否对请求源的数据服务器或终端2021提供位置关联数据,在判断为能够提供的情况下向请求源的数据服务器或终端2021传送或发送位置关联数据。
[0825]
在从客户端装置2026受理了当前的位置关联数据的请求的情况下,即使不是终端
2021的位置关联数据的发送定时,也可以由数据收集服务器2024对终端2021进行位置关联数据的发送请求,终端2021根据该发送请求发送位置关联数据。
[0826]
在上述的说明中,假设终端2021对数据收集服务器2024发送位置信息数据,但数据收集服务器2024例如也可以具备对终端2021进行管理的功能等为了从终端2021收集位置关联数据而需要的功能、或从终端2021收集位置关联数据时使用的功能等。
[0827]
数据收集服务器2024也可以具备对终端2021发送数据请求信号并收集位置关联数据的功能,数据请求信号是请求位置信息数据的发送的信号。
[0828]
在数据收集服务器2024中,事前登记有用来与作为数据收集对象的终端2021进行通信的地址或终端2021固有的标识符等的管理信息。数据收集服务器2024基于所登记的管理信息,从终端2021收集位置关联数据。管理信息也可以包含终端2021所具备的传感器的种类、终端2021所具备的传感器的数量、以及终端2021所对应的通信方式等的信息。
[0829]
数据收集服务器2024也可以从终端2021收集终端2021的工作状态或当前位置等的信息。
[0830]
管理信息的登记既可以从客户端装置2026进行,也可以通过由终端2021向数据收集服务器2024发送登记请求,来开始用于登记的处理。数据收集服务器2024也可以具备控制与终端2021之间的通信的功能。
[0831]
将数据收集服务器2024与终端2021连结的通信也可以是mno(mobile network operator:移动网络运营商)或mvno(mobile virtual network operator:移动虚拟网络运营商)等服务业者提供的专用线路,或者由vpn(virtual private network:虚拟专用网络)构成的虚拟的专用线路等。根据该结构,能够安全地进行终端2021与数据收集服务器2024之间的通信。
[0832]
数据收集服务器2024也可以具备对终端2021进行认证的功能、或将与终端2021之间收发的数据进行加密的功能。这里,终端2021的认证处理或数据的加密处理,使用在数据收集服务器2024与终端2021之间事前共用的、终端2021所固有的标识符或包括多个终端2021的终端组所固有的标识符等来进行。该标识符例如是作为保存在sim(subscriber identity module:用户识别模块)卡中的固有号码的imsi(international mobile subscriber identity:国际移动用户识别码)等。在认证处理中使用的标识符和在数据的加密处理中使用的标识符既可以相同也可以不同。
[0833]
数据收集服务器2024与终端2021之间的认证或数据加密的处理,只要数据收集服务器2024和终端2021双方具备实施该处理的功能就能够提供,不依赖于进行中继的通信装置2022使用的通信方式。因此,能够不考虑终端2021使用哪种通信方式而使用共同的认证或加密的处理,所以用户的系统构建的方便性提高。但是,不依赖于进行中继的通信装置2022所使用的通信方式,是指根据通信方式变更并不是必须的。即,也可以以传输效率的提高或安全性的确保的目的,根据中继装置所使用的通信方式来切换数据收集服务器2024与终端2021之间的认证或数据加密的处理。
[0834]
数据收集服务器2024也可以向客户端装置2026提供对从终端2021收集的位置关联数据的种类及数据收集的调度等的数据收集规则进行管理的ui。由此,用户能够使用客户端装置2026指定收集数据的终端2021、以及数据的收集时间及频率等。此外,数据收集服务器2024也可以指定想要收集数据的地图上的区域等,从包含在该区域中的终端2021收集
位置关联数据。
[0835]
在以终端2021单位对数据收集规则进行管理的情况下,客户端装置2026例如在画面中提示作为管理对象的终端2021或传感器的列表。用户按列表的每个项目来设定数据的收集与否或收集调度等。
[0836]
在指定想要收集数据的地图上的区域等的情况下,客户端装置2026例如在画面中提示作为管理对象的地域的二维或三维的地图。用户在所显示的地图上选择收集数据的区域。在地图上选择的区域,既可以是以在地图上指定的点为中心的圆形或矩形的区域,也可以是能够通过拖拽动作确定的圆形或矩形的区域。此外,客户端装置2026也可以以城市、城市内的区域、街区或主要的道路等预先设定的单位来选择区域。此外,也可以不是使用地图指定区域,而是输入纬度及经度的数值来设定区域,也可以从基于被输入的文本信息导出的候选区域的列表中选择区域。文本信息例如是地域、城市或地标的名称等。
[0837]
此外,也可以通过由用户指定一个或多个终端2021,设定该终端2021的周围100米的范围内等的条件,从而一边动态地变更指定区域一边进行数据的收集。
[0838]
此外,在客户端装置2026具备相机等的传感器的情况下,也可以基于根据传感器数据得到的客户端装置2026在真实空间中的位置来指定地图上的区域。例如,客户端装置2026也可以使用传感器数据估计自身位置,将距与估计出的位置对应的地图上的点为预先设定的距离或用户指定的距离的范围内的区域指定为收集数据的区域。此外,客户端装置2026也可以将传感器的感测区域、即与所获得的传感器数据对应的区域指定为收集数据的区域。或者,客户端装置2026也可以将基于与用户指定的传感器数据对应的位置的区域指定为收集数据的区域。与传感器数据对应的地图上的区域或位置的估计既可以由客户端装置2026进行,也可以由数据收集服务器2024进行。
[0839]
在地图上的区域中进行指定的情况下,数据收集服务器2024也可以通过收集各终端2021的当前位置信息,来确定被指定的区域内的终端2021,对所确定的终端2021请求位置关联数据的发送。此外,也可以不是数据收集服务器2024确定区域内的终端2021,而是数据收集服务器2024将表示被指定的区域的信息向终端2021发送,终端2021判定自身是否处于被指定的区域内,在判断为处于被指定的区域内的情况下发送位置关联数据。
[0840]
数据收集服务器2024将用来在客户端装置2026所执行的应用中提供上述ui(user interface)的列表或地图等的数据向客户端装置2026发送。数据收集服务器2024不仅发送列表或地图等的数据,也可以将应用的程序发送给客户端装置2026。此外,上述的ui也可以作为通过能够用浏览器显示的html等制作的内容来提供。另外,地图数据等一部分数据也可以从地图服务器2025等的数据收集服务器2024以外的服务器提供。
[0841]
客户端装置2026如果由用户进行设定按钮的按下等通知输入完成的输入,则将被输入的信息作为设定信息向数据收集服务器2024发送。数据收集服务器2024基于从客户端装置2026接收到的设定信息,对各终端2021发送位置关联数据的请求或通知位置关联数据的收集规则的信号,进行位置关联数据的收集。
[0842]
接着,说明基于附加在三维或二维地图数据中的附加信息对终端2021的动作进行控制的例子。
[0843]
在本结构中,将表示埋设在道路或停车场中的无线供电的供电天线或供电线圈等供电部的位置的对象信息包含在三维数据中,或与三维数据建立对应,向作为车或无人机
等的终端2021提供。
[0844]
为了进行充电而获得了该对象信息的车辆或无人机通过自动驾驶使车辆自身的位置移动以使车辆具备的充电天线或充电线圈等充电部的位置成为与该对象信息所示的区域对置的位置,并开始充电。另外,在不具备自动驾驶功能的车辆或无人机的情况下,利用显示在画面上的图像或声音等,对驾驶员或操纵者提示应移动的方向或应进行的操作。并且,如果判断为基于估计出的自身位置计算出的充电部的位置进入到由对象信息所示的区域或距该区域为规定的距离的范围内,则将提示的图像或声音切换为使驾驶或操纵中止的内容,并开始充电。
[0845]
此外,对象信息也可以不是表示供电部的位置的信息,而是表示如果将充电部配置到该区域内则能得到规定的阈值以上的充电效率的区域的信息。关于对象信息的位置,既可以用对象信息所示的区域的中心的点表示,也可以用二维平面内的区域或线、或者三维空间内的区域、线或平面等表示。
[0846]
根据该结构,由于能够掌握通过lider的感测数据或由相机拍摄的影像不能掌握的供电天线的位置,所以能够更高精度地进行车等的终端2021所具备的无线充电用的天线与埋设在道路等中的无线供电天线的对位。结果,能够使无线充电时的充电速度变短,或使充电效率提高。
[0847]
对象信息也可以是供电天线以外的对象物。例如,三维数据也可以包含毫米波无线通信的ap的位置等作为对象信息。由此,终端2021能够事前掌握ap的位置,所以能够将波束的指向性朝向该对象信息的方向来开始通信。结果,能够实现传输速度的提高、到通信开始为止的时间的缩短、以及延长可通信的期间等的通信品质的提高。
[0848]
对象信息也可以包含表示与该对象信息对应的对象物的类型的信息。此外,对象信息也可以包含表示在终端2021包含于与该对象信息的三维数据上的位置对应的真实空间上的区域内、或距区域为规定的距离的范围内的情况下终端2021应实施的处理的信息。
[0849]
对象信息也可以从与提供三维数据的服务器不同的服务器提供。在将对象信息与三维数据分开提供的情况下,也可以将保存有在相同的服务中使用的对象信息的对象组根据对象服务或对象设备的种类而分别作为不同的数据提供。
[0850]
与对象信息组合使用的三维数据可以是wld的点群数据,也可以是swld的特征点数据。
[0851]
在三维数据编码装置中,在使用lod(level of detail,多细节层次)对作为编码对象的三维点的对象三维点的属性信息进行了分层级编码的情况下,三维数据解码装置可以用该三维数据解码装置将属性信息解码到所需的lod的层级,不对不需要的层级的属性信息进行解码。例如,在三维数据编码装置编码的比特流内的属性信息的lod的总数为n个的情况下,三维数据解码装置也可以对从最上位层的lod0到lod(m-1)的m个(m<n)lod进行解码,不对到剩余的lod(n-1)为止的lod进行解码。由此,三维数据解码装置能够抑制处理负荷,并且能够对三维数据解码装置所需的从lod0至lod(m-1)的属性信息进行解码。
[0852]
图106是表示上述的使用情况的图。在图106的例子中,服务器保持通过对三维位置信息和属性信息进行编码而得到的三维地图。服务器(三维数据编码装置)对服务器管理的区域的客户端装置(三维数据解码装置:例如车辆或者无人机等)广播发送三维地图,客户端装置进行使用从服务器接收到的三维地图来确定客户端装置的自身位置的处理、或者
对操作客户端装置的用户等显示地图信息的处理。
[0853]
以下,对该例子中的动作例进行说明。首先,服务器使用八叉树结构等对三维地图的位置信息进行编码。然后,服务器使用以位置信息为基础而构建的n个lod对三维地图的属性信息进行分层级编码。服务器保存通过分层级编码得到的三维地图的比特流。
[0854]
接着,服务器根据从服务器管理的区域的客户端装置发送的地图信息的发送请求,将编码后的三维地图的比特流发送到客户端装置。
[0855]
客户端装置接收从服务器发送的三维地图的比特流,根据客户端装置的用途对三维地图的位置信息和属性信息进行解码。例如,在客户端装置使用位置信息和n个lod的属性信息进行高精度的自身位置推测的情况下,客户端装置判断为需要到稠密的三维点为止的解码结果作为属性信息,对比特流内的所有信息进行解码。
[0856]
另外,在客户端装置将三维地图的信息显示给用户等的情况下,客户端装置判断为需要到稀疏的三维点为止的解码结果作为属性信息,对位置信息与从lod的上位层即lod0至m个(m<n)为止的lod的属性信息进行解码。
[0857]
这样,通过根据客户端装置的用途切换解码的属性信息的lod,能够削减客户端装置的处理负荷。
[0858]
在图106所示的例子中,例如,三维点地图包含位置信息和属性信息。位置信息用八叉树进行编码。属性信息用n个lod进行编码。
[0859]
客户端装置a进行高精度的自身位置推测。在该情况下,客户端装置a判断为需要全部的位置信息和属性信息,将比特流内的位置信息和由n个lod构成的属性信息全部解码。
[0860]
客户端装置b向用户显示三维地图。在该情况下,客户端装置b判断为需要位置信息和m个(m<n)lod的属性信息,对比特流内的位置信息和由m个lod构成的属性信息进行解码。
[0861]
另外,服务器可以向客户端装置广播发送三维地图,也可以组播发送或者单播发送。
[0862]
以下,对本实施方式的系统的变形例进行说明。在三维数据编码装置中,在使用lod对作为编码对象的三维点的对象三维点的属性信息进行分层级编码的情况下,三维数据编码装置也可以对该三维数据解码装置所需的lod的层级为止的属性信息进行编码,不对不需要的层级的属性信息进行编码。例如,在lod的总数为n个的情况下,三维数据编码装置也可以对从最上位层lod0到lod(m-1)的m个(m<n)lod进行编码,不对到剩余lod(n-1)为止的lod进行编码,由此生成比特流。由此,三维数据编码装置能够根据来自三维数据解码装置的需求,提供对三维数据解码装置所需的从lod0到lod(m-1)的属性信息进行编码而得到的比特流。
[0863]
图107是表示上述使用情况的图。在图107所示的例子中,服务器保持通过对三维位置信息和属性信息进行编码而得到的三维地图。服务器(三维数据编码装置)对服务器管理的区域的客户端装置(三维数据解码装置:例如车辆或者无人机等),根据客户端装置的需求单播发送三维地图,客户端装置使用从服务器接收到的三维地图来进行确定客户端装置的自身位置的处理、或者将地图信息显示给操作客户端装置的用户等的处理。
[0864]
以下,对该例子中的动作例进行说明。首先,服务器使用八叉树结构等对三维地图
的位置信息进行编码。然后,服务器使用以位置信息为基础构建的n个lod对三维地图的属性信息进行分层级编码,由此生成三维地图a的比特流,并将生成的比特流保存在该服务器中。另外,服务器使用以位置信息为基础构建的m个(m<n)lod对三维地图的属性信息进行分层级编码,由此生成三维地图b的比特流,并将生成的比特流保存在该服务器中。
[0865]
接着,客户端装置根据客户端装置的用途向服务器请求三维地图的发送。例如,客户端装置在使用位置信息和n个lod的属性信息进行高精度的自身位置推测的情况下,判断为需要到稠密的三维点为止的解码结果作为属性信息,向服务器请求三维地图a的比特流的发送。另外,客户端装置在将三维地图的信息显示给用户等的情况下,判断为需要到稀疏的三维点为止的解码结果作为属性信息,向服务器请求包含位置信息和从lod的上位层lod0到m个(m<n)lod的属性信息的三维地图b的比特流的发送。然后,服务器根据来自客户端装置的地图信息的发送请求,将编码后的三维地图a或者三维地图b的比特流发送到客户端装置。
[0866]
客户端装置接收根据客户端装置的用途从服务器发送的三维地图a或三维地图b的比特流,对该比特流进行解码。这样,服务器根据客户端装置的用途切换要发送的比特流。由此,能够削减客户端装置的处理负荷。
[0867]
在图107所示的例子中,服务器保持三维地图a以及三维地图b。服务器例如用八叉树对三维地图的位置信息进行编码,用n个lod对三维地图的属性信息进行编码,由此生成三维地图a。即,三维地图a的比特流中包含的numlod表示n。
[0868]
另外,服务器例如用八叉树对三维地图的位置信息进行编码,用m个lod对三维地图的属性信息进行编码,由此生成三维地图b。即,三维地图b的比特流中包含的numlod表示m。
[0869]
客户端装置a进行高精度的自身位置推测。在该情况下,客户端装置a判断为需要全部的位置信息和属性信息,向服务器发送包含全部的位置信息和由n个lod构成的属性信息的三维地图a的发送请求。客户端装置a接收三维地图a,对全部的位置信息和由n个lod构成的属性信息进行解码。
[0870]
客户端装置b向用户显示三维地图。在该情况下,客户端装置b判断为需要位置信息和m个(m<n)lod的属性信息,将包含全部的位置信息和由m个lod构成的属性信息的三维地图b的发送请求发送到服务器。客户端装置b接收三维地图b,对全部的位置信息和由m个lod构成的属性信息进行解码。
[0871]
另外,服务器(三维数据编码装置)除了三维地图b以外,也可以事先对将剩余的n-m个lod的属性信息进行编码而得到的三维地图c进行编码,根据客户端装置b的要求将三维地图c发送到客户端装置b。另外,客户端装置b也可以使用三维地图b和三维地图c的比特流,得到n个lod的解码结果。
[0872]
以下,对应用处理的例子进行说明。图108是表示应用处理的例子的流程图。当开始应用操作时,三维数据逆复用装置取得包含点群数据以及多个编码数据的isobmff文件(s7301)。例如,三维数据逆复用装置既可以通过通信取得isobmff文件,也可以从积蓄的数据中读入isobmff文件。
[0873]
接着,三维数据逆复用装置解析isobmff文件中的整体结构信息,特定应用中使用的数据(s7302)。例如,三维数据逆复用装置取得处理中使用的数据,不取得处理中不使用
的数据。
[0874]
接着,三维数据逆复用装置提取应用中使用的1个以上的数据,解析该数据的结构信息(s7303)。
[0875]
在数据的类型是编码数据的情况下(步骤s7304中的编码数据),三维数据逆复用装置将isobmff变换成编码流,并且提取时间戳(步骤s7305)。另外,三维数据逆复用装置例如也可以参照表示数据间是否同步的标志来判定数据间是否同步,如果不同步,则进行同步处理。
[0876]
接着,三维数据逆复用装置按照时间戳及其他指示,按照规定的方法对数据进行解码,对解码后的数据进行处理(s7306)。
[0877]
另一方面,在数据的类别是编码数据的情况下(s7304中raw数据),三维数据逆复用装置提取数据和时间戳(s7307)。另外,三维数据逆复用装置例如也可以参照表示数据间是否同步的标志来判定数据间是否同步,如果不同步,则进行同步处理。接着,三维数据逆复用装置按照时间戳及其他指示,对数据进行处理(s7308)。
[0878]
例如,说明光束lidar、泛光式lidar、以及由相机取得的传感器信号分别以不同的编码方式进行编码以及复用的情况的例子。图109是表示光束lidar、泛光式lidar以及相机的传感器范围的例子的图。例如,光束lidar检测车辆(传感器)的周围的全部方向,泛光式lidar及相机检测车辆的一个方向(例如前方)的范围。
[0879]
在将lidar点群合并处理的应用的情况下,三维数据逆复用装置参照整体结构信息,提取光束lidar和泛光式lidar的编码数据进行解码。另外,三维数据逆复用装置不提取相机影像。
[0880]
三维数据逆复用装置按照lidar和泛光式lidar的时间戳,同时处理同一时间戳的时刻各自的编码数据。
[0881]
例如,三维数据逆复用装置也可以通过提示装置提示处理后的数据,或者合成光束lidar和泛光式lidar的点群数据,或者进行渲染等处理。
[0882]
另外,在数据间进行校准的应用的情况下,三维数据逆复用装置也可以提取传感器位置信息并在应用中使用。
[0883]
例如,三维数据逆复用装置可以在应用中选择使用光束lidar信息还是使用泛光式lidar,并根据选择结果来切换处理。
[0884]
这样,能够根据应用的处理而自适应地改变数据的取得以及编码处理,因此能够削减处理量以及消耗电力。
[0885]
以下,对自动驾驶中的使用情况进行说明。图110是表示自动驾驶系统的结构例的图。该自动驾驶系统包括云服务器7350和车载装置或移动装置等的边缘7360。云服务器7350具备逆复用部7351、解码部7352a、7352b以及7355、点群数据合成部7353、大规模数据积蓄部7354、比较部7356以及编码部7357。边缘7360具备传感器7361a及7361b、点群数据生成部7362a及7362b、同步部7363、编码部7364a及7364b、复用部7365、更新数据积蓄部7366、逆复用部7367、解码部7368、滤波器7369、自身位置推测部7370、以及驾驶控制部7371。
[0886]
在该系统中,边缘7360下载云服务器7350中积蓄的大规模点群地图数据即大规模数据。边缘7360通过将大规模数据和在边缘7360得到的传感器信息进行匹配,进行边缘7360(车辆或终端)的自身位置推测处理。另外,边缘7360将取得的传感器信息上载到云服
务器7350,将大规模数据更新为最新的地图数据。
[0887]
另外,在处理系统内的点群数据的各种应用中,处理编码方法不同的点群数据。
[0888]
云服务器7350对大规模数据进行编码及复用。具体而言,编码部7357使用适于对大规模点群进行编码的第3编码方法进行编码。此外,编码部7357对编码数据进行复用。大规模数据积蓄部7354积蓄由编码部7357进行编码及复用后的数据。
[0889]
边缘7360进行感测。具体而言,点群数据生成部7362a使用由传感器7361a取得的感测信息,生成第1点群数据(位置信息(几何)以及属性信息)。点群数据生成部7362b使用由传感器7361b取得的感测信息,生成第2点群数据(位置信息以及属性信息)。生成的第1点群数据以及第2点群数据用于自动驾驶的自身位置推测或者车辆控制或者地图更新。在各个处理中,也可以使用第1点群数据以及第2点群数据中的一部分信息。
[0890]
边缘7360进行自身位置推测。具体而言,边缘7360从云服务器7350下载大规模数据。逆复用部7367通过对文件格式的大规模数据进行逆复用而取得编码数据。解码部7368通过对所取得的编码数据进行解码而取得作为大规模点群地图数据的大规模数据。
[0891]
自身位置推测部7370通过将取得的大规模数据与由点群数据生成部7362a和7362b生成的第1点群数据以及第2点群数据进行匹配,来推测车辆的地图中的自身位置。另外,驾驶控制部7371将该匹配结果或自身位置推测结果用于驾驶控制。
[0892]
另外,自身位置推测部7370以及驾驶控制部7371也可以提取大规模数据中的位置信息等特定的信息,并使用提取出的信息进行处理。另外,滤波器7369对第1点群数据以及第2点群数据进行修正或间隔剔除等处理。自身位置推测部7370以及驾驶控制部7371也可以使用进行了该处理后的第1点群数据以及第2点群数据。另外,自身位置推测部7370及驾驶控制部7371也可以使用由传感器7361a及7361b得到的传感器信号。
[0893]
同步部7363进行多个传感器信号或多个点群数据的数据间的时间同步及位置修正。另外,同步部7363也可以基于通过自身位置推测处理而生成的、大规模数据与传感器数据的位置修正信息,以使传感器信号或者点群数据的位置信息与大规模数据一致的方式进行修正。
[0894]
另外,同步和位置修正也可以不是边缘7360而是由云服务器7350进行。在该情况下,边缘7360也可以将同步信息以及位置信息复用并发送到云服务器7350。
[0895]
边缘7360对传感器信号或点群数据进行编码及复用。具体而言,传感器信号或点群数据使用适于对各自的信号进行编码的第1编码方法或第2编码方法进行编码。例如,编码部7364a通过使用第1编码方法对第1点群数据进行编码来生成第1编码数据。编码部7364b使用第2编码方法对第2点群数据进行编码,由此生成第2编码数据。
[0896]
复用部7365通过对第1编码数据、第2编码数据、以及同步信息等进行复用而生成复用信号。更新数据积蓄部7366积蓄所生成的复用信号。此外,更新数据积蓄部7366将复用信号上载到云服务器7350。
[0897]
云服务器7350对点群数据进行合成。具体而言,逆复用部7351通过对在云服务器7350上载的复用信号进行逆复用而取得第1编码数据和第2编码数据。解码部7352a通过对第1编码数据进行解码而取得第1点群数据(或传感器信号)。解码部7352b通过对第2编码数据进行解码而取得第2点群数据(或传感器信号)。
[0898]
点群数据合成部7353通过规定的方法合成第1点群数据以及第2点群数据。在复用
信号中对同步信息以及位置修正信息进行复用的情况下,点群数据合成部7353也可以使用这些信息进行合成。
[0899]
解码部7355对积蓄在大规模数据积蓄部7354中的大规模数据进行逆复用和解码。比较部7356将基于由边缘7360得到的传感器信号而生成的点群数据与云服务器7350所具有的大规模数据进行比较,判断需要更新的点群数据。比较部7356将大规模数据中判断为需要更新的点群数据更新为从边缘7360得到的点群数据。
[0900]
编码部7357对更新后的大规模数据进行编码及复用,将得到的数据积蓄在大规模数据积蓄部7354中。
[0901]
如上所述,根据所使用的用途或应用,存在处理信号不同、复用的信号或编码方法不同的情况。即使在这样的情况下,通过使用本实施方式对各种编码方式的数据进行复用,也能够进行灵活的解码以及应用处理。另外,即使在信号的编码方式不同的情况下,也能够通过逆复用、解码、数据变换、编码、复用的处理而变换适合的编码方式,由此构建各种各样的应用、系统,提供灵活的服务。
[0902]
以下,说明分割数据的解码和应用的例子。首先,说明分割数据的信息。图111是表示比特流的结构例的图。分割数据的整体信息按每个分割数据表示该分割数据的传感器id(sensor_id)和数据id(data_id)。另外,数据id也表示在各编码数据的头中。
[0903]
此外,与图41同样,图111所示的分割数据的整体信息除了传感器id之外,还可以包含传感器信息(sensor)、传感器的版本(version)、传感器的制造商名(maker)、传感器的设置信息(mount info.)和传感器的位置坐标(world coordinate)中的至少一个。由此,三维数据解码装置能够从结构信息中取得各种传感器的信息。
[0904]
分割数据的整体信息可以保存在作为元数据的sps、gps或aps中,也可以保存在作为对于编码不是必需的元数据的sei中。此外,三维数据编码装置在复用时将该sei保存在isobmff的文件中。三维数据解码装置能够基于该元数据取得希望的分割数据。
[0905]
在图111中,sps是编码数据整体的元数据,gps是位置信息的元数据,aps是每个属性信息的元数据,g是每个分割数据的位置信息的编码数据,a1等是每个分割数据的属性信息的编码数据。
[0906]
接下来,说明分割数据的应用例。说明从点群数据中选择任意点群并提示所选择的点群的应用的例子。图112是由该应用执行的点群选择处理的流程图。图113~图115是表示点群选择处理的画面例的图。
[0907]
如图113所示,执行应用的三维数据解码装置例如具有显示用于选择任意点群的输入ui(用户界面)8661的ui部。输入ui8661具有提示所选择的点群的提示部8662和受理用户的操作的操作部(按钮8663和8664)。三维数据解码装置在由ui8661选择了点群后,从积蓄部8665取得期望的数据。
[0908]
首先,基于针对用户的输入ui8661的操作,选择用户想要显示的点群信息(s8631)。具体而言,通过选择按钮8663,选择基于传感器1的点群。通过选择按钮8664,选择基于传感器2的点群。或者,通过选择按钮8663及按钮8664这两者来选择基于传感器1的点群和基于传感器2的点群这两者。另外,点群的选择方法是一例,并不限于此。
[0909]
接着,三维数据解码装置对复用信号(比特流)或编码数据中包含的分割数据的整体信息进行解析,从所选择的传感器的传感器id(sensor_id)中特定构成所选择的点群的
分割数据的数据id(data_id)(s8632)。接着,三维数据解码装置从复用信号中提取包含所特定的希望的数据id的编码数据,通过对所提取的编码数据进行解码,对基于所选择的传感器的点群进行解码(s8633)。另外,三维数据解码装置不对其他编码数据进行解码。
[0910]
最后,三维数据解码装置提示(例如显示)解码后的点群(s8634)。图114表示按下传感器1的按钮8663的情况的例子,提示传感器1的点群。图115表示按下传感器1的按钮8663和传感器2的按钮8664这两者的情况的例子,提示传感器1和传感器2的点群。
[0911]
以上,对有关本公开的实施方式的三维数据编码装置及三维数据解码装置等进行了说明,但本公开并不限定于该实施方式。
[0912]
此外,有关上述实施方式的三维数据编码装置及三维数据解码装置等中包含的各处理部典型的是作为集成电路即lsi实现。它们既可以单独地形成1个芯片,也可以包含一部分或全部而形成1个芯片。
[0913]
此外,集成电路化并不限于lsi,也可以由专用电路或通用处理器实现。也可以利用在lsi制造后能够编程的fpga(field programmable gate array现场可编程门阵列)、或能够重构lsi内部的电路单元的连接或设定的可重构处理器。
[0914]
此外,在上述各实施方式中,各构成要素也可以由专用的硬件构成,或通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过由cpu或处理器等程序执行部读出被记录在硬盘或半导体存储器等记录介质中的软件程序并执行来实现。
[0915]
此外,本公开也可以作为由三维数据编码装置及三维数据解码装置等执行的三维数据编码方法或三维数据解码方法等实现。
[0916]
此外,框图中的功能块的分割是一例,也可以将多个功能块作为一个功能块实现,或将一个功能块分割为多个,或将一部分功能转移到其他的功能块。此外,也可以是单一的硬件或软件将具有类似的功能的多个功能块的功能并行或分时地处理。
[0917]
此外,流程图中的各步骤的执行顺序是为了具体地说明本公开而例示的,也可以是上述以外的顺序。此外,也可以将上述步骤的一部分与其他步骤同时(并行)执行。
[0918]
以上,基于实施方式对有关一个或多个技术方案的三维数据编码装置及三维数据解码装置等进行了说明,但本公开并不限定于该实施方式。只要不脱离本公开的主旨,对本实施方式施以本领域技术人员想到的各种变形的形态、或将不同实施方式的构成要素组合而构建的形态也可以包含在一个或多个技术方案的范围内。
[0919]
工业实用性
[0920]
本公开能够应用于三维数据编码装置及三维数据解码装置。
[0921]
标号说明
[0922]
810 三维数据制作装置
[0923]
811 数据接收部
[0924]
812、819 通信部
[0925]
813 接收控制部
[0926]
814、821 格式转换部
[0927]
815 传感器
[0928]
816 三维数据制作部
[0929]
817 三维数据合成部
[0930]
818 三维数据积蓄部
[0931]
820 发送控制部
[0932]
822 数据发送部
[0933]
831、832、834、835、836、837 三维数据
[0934]
833 传感器信息
[0935]
901 服务器
[0936]
902、902a、902b、902c 客户端装置
[0937]
1011、1111 数据接收部
[0938]
1012、1020、1112、1120 通信部
[0939]
1013、1113 接收控制部
[0940]
1014、1019、1114、1119 格式转换部
[0941]
1015 传感器
[0942]
1016、1116 三维数据制作部
[0943]
1017 三维图像处理部
[0944]
1018、1118 三维数据积蓄部
[0945]
1021、1121 发送控制部
[0946]
1022、1122 数据发送部
[0947]
1031、1032、1135 三维地图
[0948]
1033、1037、1132 传感器信息
[0949]
1034、1035、1134 三维数据
[0950]
1117 三维数据合成部
[0951]
1201 三维地图压缩/解码处理部
[0952]
1202 传感器信息压缩/解码处理部
[0953]
1211 三维地图解码处理部
[0954]
1212 传感器信息压缩处理部
[0955]
2001 服务器
[0956]
2002、2002a、2002b 客户端装置
[0957]
2011 传感器信息取得部
[0958]
2012 存储部
[0959]
2013 数据发送可否判定部
[0960]
2021、2021a、2021b 终端
[0961]
2022、2022a、2022b 通信装置
[0962]
2023 网络
[0963]
2024 数据收集服务器
[0964]
2025 地图服务器
[0965]
2026 客户端装置
[0966]
2700 位置信息编码部
[0967]
2701、2711 八叉树生成部
[0968]
2702、2712 几何信息计算部
[0969]
2703、2713 编码表选择部
[0970]
2704 熵编码部
[0971]
2710 位置信息解码部
[0972]
2714 熵解码部
[0973]
3140 属性信息编码部
[0974]
3141、3151 lod生成部
[0975]
3142、3152 周围搜索部
[0976]
3143、3153 预测部
[0977]
3144 预测残差计算部
[0978]
3145 量化部
[0979]
3146 算术编码部
[0980]
3147、3155 逆量化部
[0981]
3148、3156 解码值生成部
[0982]
3149、3157 存储器
[0983]
3150 属性信息解码部
[0984]
3154 算术解码部
[0985]
4601 三维数据编码系统
[0986]
4602 三维数据解码系统
[0987]
4603 传感器终端
[0988]
4604 外部连接部
[0989]
4611 点群数据生成系统
[0990]
4612 提示部
[0991]
4613 编码部
[0992]
4614 复用部
[0993]
4615 输入输出部
[0994]
4616 控制部
[0995]
4617 传感器信息取得部
[0996]
4618 点群数据生成部
[0997]
4621 传感器信息取得部
[0998]
4622 输入输出部
[0999]
4623 逆复用部
[1000]
4624 解码部
[1001]
4625 提示部
[1002]
4626 用户接口
[1003]
4627 控制部
[1004]
4630 第1编码部
[1005]
4631 位置信息编码部
[1006]
4632 属性信息编码部
[1007]
4633 附加信息编码部
[1008]
4634 复用部
[1009]
4640 第1解码部
[1010]
4641 逆复用部
[1011]
4642 位置信息解码部
[1012]
4643 属性信息解码部
[1013]
4644 附加信息解码部
[1014]
4650 第2编码部
[1015]
4651 附加信息生成部
[1016]
4652 位置图像生成部
[1017]
4653 属性图像生成部
[1018]
4654 映像编码部
[1019]
4655 附加信息编码部
[1020]
4656 复用部
[1021]
4660 第2解码部
[1022]
4661 逆复用部
[1023]
4662 映像解码部
[1024]
4663 附加信息解码部
[1025]
4664 位置信息生成部
[1026]
4665 属性信息生成部
[1027]
4801 编码部
[1028]
4802 复用部
[1029]
4910 第1编码部
[1030]
4911 分割部
[1031]
4912 位置信息编码部
[1032]
4913 属性信息编码部
[1033]
4914 附加信息编码部
[1034]
4915 复用部
[1035]
4920 第1解码部
[1036]
4921 逆复用部
[1037]
4922 位置信息解码部
[1038]
4923 属性信息解码部
[1039]
4924 附加信息解码部
[1040]
4925 结合部
[1041]
4931 切片分割部
[1042]
4932 位置信息瓦片分割部
[1043]
4933 属性信息瓦片分割部
[1044]
4941 位置信息瓦片结合部
[1045]
4942 属性信息瓦片结合部
[1046]
4943 切片结合部
[1047]
6600 属性信息编码部
[1048]
6601 排序部
[1049]
6602 haar变换部
[1050]
6603 量化部
[1051]
6604、6612 逆量化部
[1052]
6605、6613 逆haar变换部
[1053]
6606、6614 存储器
[1054]
6607 算术编码部
[1055]
6610 属性信息解码部
[1056]
6611 算术解码部
[1057]
7350 云服务器
[1058]
7351 逆复用部
[1059]
7352a、7352b 解码部
[1060]
7353 点群数据合成部
[1061]
7354 大规模数据积蓄部
[1062]
7355 解码部
[1063]
7356 比较部
[1064]
7357 编码部
[1065]
7360 边缘
[1066]
7361a、7361b 传感器
[1067]
7362a、7362b 点群数据生成部
[1068]
7363 同步部
[1069]
7364a、7364b 编码部
[1070]
7365 复用部
[1071]
7366 更新数据积蓄部
[1072]
7367 逆复用部
[1073]
7368 解码部
[1074]
7369 滤波器
[1075]
7370 自身位置推测部
[1076]
7371 运转控制部
[1077]
8661 输入ui
[1078]
8662 提示部
[1079]
8663、8664 按钮
[1080]
8665 积蓄部
[1081]
a100 属性信息编码部
[1082]
a101 lod属性信息编码部
[1083]
a102 变换属性信息编码部
[1084]
a110 属性信息解码部
[1085]
a111 lod属性信息解码部
[1086]
a112 变换属性信息解码部