一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-05-26 21:02:23 来源:中国专利 TAG:


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有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1编码,所述第1编码包含使用了多个第2节点的预测处理,所述多个第2节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述对象节点的属性信息进行第2编码,所述第2编码不包含使用了所述多个第2节点的所述预测处理。
14.本公开的一形态的三维数据解码方法,判定多个第1节点中包含的有效节点的数量即第1有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1解码,所述第1解码包含使用了多个第2节点的预测处理,所述多个第2节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述对象节点的属性信息进行第2解码,所述第2解码不包含使用了所述多个第2节点的所述预测处理。
15.发明效果
16.本公开能够提供能够提高编码效率的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
附图说明
17.图1示出了实施方式1的编码三维数据的构成。
18.图2示出了属于实施方式1的gos的最下层的spc间的预测结构的一个例子。
19.图3示出了实施方式1的层间的预测结构的一个例子。
20.图4示出了实施方式1的gos的编码顺序的一个例子。
21.图5示出了实施方式1的gos的编码顺序的一个例子。
22.图6是表示实施方式1的元信息的一例的图。
23.图7是表示实施方式2的车辆间的三维数据的收发的状况的示意图。
24.图8是表示实施方式2的在车辆间传输的三维数据的一例的图。
25.图9是用于说明实施方式3的三维数据的发送处理的图。
26.图10是表示实施方式4的系统的结构的图。
27.图11是实施方式4的客户端装置的框图。
28.图12是实施方式4的服务器的框图。
29.图13是由实施方式4的客户端装置进行的三维数据制作处理的流程图。
30.图14是由实施方式4的客户端装置进行的传感器信息发送处理的流程图。
31.图15是由实施方式4的服务器进行的三维数据制作处理的流程图。
32.图16是由实施方式4的服务器进行的三维地图发送处理的流程图。
33.图17示出了实施方式4的系统的变形例的构成。
34.图18示出了实施方式4的服务器以及客户端装置的构成。
35.图19是表示实施方式5的服务器及客户端装置的结构的图。
36.图20是实施方式5的客户端装置的处理的流程图。
37.图21是表示实施方式5的传感器信息收集系统的结构的图。
38.图22是表示实施方式6的体积的例子的图。
39.图23示出了实施方式6的体积的八叉树表现的例子。
40.图24示出了实施方式6的体积的比特串的例子。
41.图25示出了实施方式6的体积的八叉树表现的例子。
42.图26示出了实施方式6的体积的例子。
43.图27是用于说明使用了实施方式7的raht的属性信息的编码的图。
44.图28是表示实施方式7的按每个阶层设定量化尺度的例子的图。
45.图29是表示实施方式7的第1编码串和第2编码串的例子的图。
46.图30是表示实施方式7的截断一元编码的例子的图。
47.图31是用于说明实施方式7的逆haar变换的图。
48.图32是表示实施方式7的属性信息的句法例的图。
49.图33是表示实施方式7的编码系数和zerocnt的例子的图。
50.图34是实施方式7的三维数据编码处理的流程图。
51.图35是实施方式7的属性信息编码处理的流程图。
52.图36是实施方式7的编码系数编码处理的流程图。
53.图37是实施方式7的三维数据解码处理的流程图。
54.图38是实施方式7的属性信息解码处理的流程图。
55.图39是实施方式7的编码系数解码处理的流程图。
56.图40是实施方式7的属性信息编码部的框图。
57.图41是实施方式7的属性信息解码部的框图。
58.图42是表示实施方式7的变形例的第1编码串和第2编码串的例子的图。
59.图43是表示实施方式7的变形例的属性信息的句法例的图。
60.图44是表示实施方式7的变形例的编码系数、zerocnt和totalzerocnt的例子的图。
61.图45是实施方式7的变形例的编码系数编码处理的流程图。
62.图46是实施方式7的变形例的编码系数解码处理的流程图。
63.图47是表示实施方式7的变形例的属性信息的句法例的图。
64.图48是表示实施方式8的三维数据编码装置的结构的图。
65.图49是表示实施方式8的三维数据解码装置的结构的图。
66.图50是用于说明实施方式8的raht的图。
67.图51是用于说明实施方式8的整数-整数变换的图。
68.图52是用于说明实施方式8的分层变换处理的图。
69.图53是实施方式8的三维数据编码装置的框图。
70.图54是实施方式8的无损属性信息编码部的框图。
71.图55是实施方式8的整数变换部的框图。
72.图56是实施方式8的三维数据解码装置的框图。
73.图57是实施方式8的无损属性信息解码部的框图。
74.图58是实施方式8的逆整数变换部的框图。
75.图59是实施方式8的无损属性信息编码处理的流程图。
76.图60是实施方式8的无损属性信息解码处理的流程图。
77.图61是表示实施方式8的整数haar变换部的结构例的图。
78.图62是表示实施方式8的逆整数haar变换部的结构例的图。
79.图63是表示实施方式8的三维数据编码装置的结构的图。
80.图64是表示实施方式8的三维数据解码装置的结构的图。
81.图65是表示实施方式8的三维数据编码装置的结构的图。
82.图66是表示实施方式8的三维数据解码装置的结构的图。
83.图67是表示实施方式8的比特流的结构例的图。
84.图68是表示实施方式8的比特流的结构例的图。
85.图69是表示实施方式9的三维数据编码装置的结构的图。
86.图70是表示实施方式9的三维数据解码装置的结构的图。
87.图71是表示实施方式9的比特流的结构例的图。
88.图72是表示实施方式9的整数raht-haar变换部的结构例的图。
89.图73是表示实施方式9的逆整数raht-haar变换部的结构例的图。
90.图74是实施方式9的三维数据编码处理的流程图。
91.图75是实施方式9的三维数据解码处理的流程图。
92.图76是表示实施方式10的预测处理的图。
93.图77是表示实施方式10的各节点的关系的图。
94.图78是表示实施方式10的编码方法的第1例的图。
95.图79是表示实施方式10的解码方法的第1例的图。
96.图80是表示实施方式10的编码方法的第2例的图。
97.图81是表示实施方式10的解码方法的第2例的图。
98.图82是表示实施方式10的编码方法的第3例的图。
99.图83是表示实施方式10的解码方法的第3例的图。
100.图84是表示实施方式10的编码方法的第4例的图。
101.图85是表示实施方式10的解码方法的第4例的图。
102.图86是表示实施方式10的编码方法的第5例的图。
103.图87是表示实施方式10的解码方法的第5例的图。
104.图88是实施方式10的三维数据编码处理的流程图。
105.图89是实施方式10的三维数据解码处理的流程图。
106.图90是表示实施方式11的预测处理的图。
107.图91是表示实施方式11的编码处理的第1例的图。
108.图92是表示实施方式11的解码处理的第1例的图。
109.图93是表示实施方式11的属性信息头部的句法例的图。
110.图94是表示实施方式11的属性信息头部的句法例的图。
111.图95是实施方式11的三维数据编码处理的流程图。
112.图96是实施方式11的三维数据解码处理的流程图。
113.图97是表示实施方式11的编码处理的第2例的图。
114.图98是表示实施方式11的属性信息头部的句法例的图。
115.图99是表示实施方式11的属性信息头部的句法例的图。
116.图100是实施方式11的三维数据编码处理的流程图。
117.图101是实施方式11的三维数据解码处理的流程图。
118.图102是表示实施方式11的编码处理的第3例的图。
119.图103是表示实施方式11的属性信息头部的句法例的图。
120.图104是表示实施方式11的属性信息头部的句法例的图。
121.图105是实施方式11的三维数据编码处理的流程图。
122.图106是实施方式11的三维数据解码处理的流程图。
123.图107是表示实施方式11的变更参照范围和参照数的例子的图。
124.图108是实施方式11的三维数据编码处理的流程图。
125.图109是实施方式11的三维数据解码处理的流程图。
具体实施方式
126.本公开的一形态的三维数据编码方法,判定多个第1节点中包含的有效节点的数量即第1有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1编码,所述第1编码包含使用了多个第2节点的预测处理,所述多个第2节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述对象节点的属性信息进行第2编码,所述第2编码不包含使用了所述多个第2节点的所述预测处理。
127.由此,该三维数据编码方法能够适当地选择是否使用包含预测处理的第1编码,因此能够提高编码效率。
128.例如,也可以是,所述多个第1节点包含所述父节点和与所述父节点属于同一阶层的多个节点。
129.例如,也可以是,所述多个第1节点包含所述对象节点的祖父节点、和与所述祖父节点属于同一阶层的多个节点。
130.例如,也可以是,在所述第2编码中,将所述对象节点的属性信息的预测值设定为零。
131.例如,也可以是,所述三维数据编码方法进一步生成包含被编码的所述对象节点的属性信息和表示能否应用所述第1编码的第1信息的比特流。
132.例如,也可以是,所述三维数据编码方法进一步生成包含被编码的所述对象节点的属性信息和表示所述第1阈值的第2信息的比特流。
133.例如,也可以是,判定多个第2节点中包含的有效节点的数量即第2有效节点数是否为预先确定的第2阈值以上,所述多个第2节点包含所述对象节点的祖父节点和与所述祖父节点属于同一阶层的多个节点,在所述第1有效节点数比所述第1阈值多并且所述第2有效节点数为所述第2阈值以上的情况下,对所述对象节点的属性信息进行所述第1编码,在所述第1有效节点数小于所述第1阈值的情况、或者所述第2有效节点数小于所述第2阈值的情况下,对所述对象节点的属性信息进行所述第2编码。
134.本公开的一形态的三维数据解码方法,判定多个第1节点中包含的有效节点的数量即第1有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1解码,所述第1解码包含使用了多个第2节点的预测处理,所述多个第2
节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述对象节点的属性信息进行第2解码,所述第2解码不包含使用了所述多个第2节点的所述预测处理。
135.由此,该三维数据解码方法能够适当地选择是否使用包含预测处理的第1解码,因此能够提高编码效率。
136.例如,也可以是,所述多个第1节点包含所述父节点和与所述父节点属于同一阶层的多个节点。
137.例如,也可以是,所述多个第1节点包含所述对象节点的祖父节点、和与所述祖父节点属于同一阶层的多个节点。
138.例如,也可以是,在所述第2解码中,将所述对象节点的属性信息的预测值设定为零。
139.例如,也可以是,所述三维数据解码方法进一步从包含被编码的所述对象节点的属性信息的比特流中,获得表示能否应用所述第1解码的第1信息。
140.例如,也可以是,所述三维数据解码方法进一步从包含被编码的所述对象节点的属性信息的比特流中,获得表示所述第1阈值的第2信息。
141.例如,也可以是,判定多个第2节点中包含的有效节点的数量即第2有效节点数是否为预先确定的第2阈值以上,所述多个第2节点包含所述对象节点的祖父节点和与所述祖父节点属于同一阶层的多个节点,在所述第1有效节点数比所述第1阈值多并且所述第2有效节点数为所述第2阈值以上的情况下,对所述对象节点的属性信息进行所述第1解码,在所述第1有效节点数小于所述第1阈值的情况、或者所述第2有效节点数小于所述第2阈值的情况下,对所述对象节点的属性信息进行所述第2解码。
142.另外,本公开的一形态的三维数据编码装置具备处理器和存储器,所述处理器使用所述存储器,判定多个第1节点中包含的有效节点的数量即第1有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1编码,所述第1编码包含使用了多个第2节点的预测处理,所述多个第2节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述对象节点的属性信息进行第2编码,所述第2编码不包含使用了所述多个第2节点的所述预测处理。
143.由此,该三维数据编码装置能够适当地选择是否使用包含预测处理的第1编码,因此能够提高编码效率。
144.另外,本公开的一形态的三维数据解码装置具备处理器和存储器,所述处理器使用所述存储器,判定多个第1节点中包含的有效节点的数量即第1有效节点数是否为预先确定的第1阈值以上,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层,所述有效节点是包含三维点的节点,在所述第1有效节点数为所述第1阈值以上的情况下,对所述对象节点的属性信息进行第1解码,所述第1解码包含使用了多个第2节点的预测处理,所述多个第2节点包含所述对象节点的父节点,并且与所述父节点属于同一阶层,在所述第1有效节点数小于所述第1阈值的情况下,对所述
对象节点的属性信息进行第2解码,所述第2解码不包含使用了所述多个第2节点的所述预测处理。
145.由此,该三维数据解码装置能够适当地选择是否使用包含预测处理的第1解码,因此能够提高编码效率。
146.另外,这些概括性的或具体的形态可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质来实现,而且可以由系统、方法、集成电路、计算机程序以及记录介质的任意的组合来实现。
147.以下参照附图对实施方式进行具体说明。另外,以下将要说明的实施方式均为示出本公开的一个具体例子。以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等均为一个例子,其主旨并非是对本公开进行限定。并且,针对以下的实施方式的构成要素之中没有记载在独立技术方案中的构成要素,作为任意的构成要素来说明。
148.(实施方式1)
149.首先,对本实施方式的编码三维数据(以下也记作编码数据)的数据结构进行说明。图1示出了本实施方式的编码三维数据的构成。
150.在本实施方式中,三维空间被分割为相当于动态图像的编码中的图片的空间(spc),以空间为单位对三维数据进行编码。空间被进一步分割为相当于动态图像编码中的宏块等的体积(vlm),以vlm为单位进行预测以及转换。体积包括与位置坐标相对应的最小单位即多个体素(vxl)。另外,预测是指,与二维图像中进行的预测相同,参照其他的处理单位,生成与处理对象的处理单位类似的预测三维数据,并对该预测三维数据与处理对象的处理单位的差异进行编码。并且,该预测不仅包括参照同一时刻的其他的预测单位的空间预测,而且包括参照不同时刻的预测单位的时间预测。
151.例如,三维数据编码装置(以下也记作编码装置)在对由点云等的点群数据来表现的三维空间进行编码时,按照体素的大小,对点群的各个点或体素内所包含的多个点一并进行编码。若将体素细分,则能够对点群的三维形状进行高精确度的表现,若将体素的大小增大,则能够对点群的三维形状进行粗略的表现。
152.另外,以下虽然以三维数据为点云的情况为例进行说明,但是,三维数据并非受点云所限,也可以是任意形式的三维数据。
153.并且,可以利用阶层结构的体素。在这种情况下,在n次的阶层中,可以按顺序示出在n-1次以下的阶层(n次的阶层的下层)中是否存在采样点。例如,在仅对n次的阶层进行解码时,当在n-1次以下的阶层存在采样点的情况下,能够视为n次阶层的体素的中心存在采样点来进行解码。
154.并且,编码装置通过距离传感器、立体摄影机、单眼相机、回转仪、或惯性传感器等来获得点群数据。
155.关于空间,与动态图像的编码同样,至少被分类为以下3个预测结构的任一个,这3个预测结构为:能够单独解码的帧内空间(i-spc)、仅能单向参照的预测空间(p-spc)、以及能够双向参照的双向空间(b-spc)。并且,空间具有解码时刻和显示时刻这两种时刻信息。
156.并且,如图1所示,作为包括多个空间的处理单位,有作为随机存取单位的gos(group of space:空间群)。而且,作为包括多个gos的处理单位,存在世界空间(wld)。
157.世界空间所占的空间区域通过gps或纬度以及经度信息等,与地球上的绝对位置建立了对应。该位置信息作为元信息而被存放。另外,元信息可以包含在编码数据中,也可以与编码数据分开来传输。
158.并且,在gos内,所有的spc可以是三维上的邻接,也可以存在与其他的spc不是三维上邻接的spc。
159.另外,以下将与gos、spc或vlm等处理单位中包含的三维数据所对应的编码、解码或参照等处理,也简单地记作对处理单位进行编码、解码或参照等。并且,处理单位中所包含的三维数据例如包括三维坐标等空间位置与颜色信息等特性值的至少一个组。
160.接着,对gos中的spc的预测结构进行说明。同一gos内的多个spc、或同一spc内的多个vlm虽然彼此占有不同的空间,却持有相同的时刻信息(解码时刻以及显示时刻)。
161.并且,在gos内,在解码顺序上为开头的spc是i-spc。并且,gos中存在封闭式gos和开放式gos这两种。封闭式gos是从开头i-spc开始解码时,能够对gos内的所有的spc进行解码的gos。在开放式gos中,在gos内,比开头i-spc的显示时刻早的一部分spc参照不同的gos,只能在该gos进行解码。
162.另外,在地图信息等的编码数据中,有从与编码顺序相反的方向对wld进行解码的情况,若在gos间存在依存性,则难以进行逆方向再生。因此,在这种情况下,基本上采用封闭式gos。
163.并且,gos在高度方向上具有层结构,从底下的层的spc开始顺序进行编码或解码。
164.图2示出了属于gos的最下层的层的spc间的预测结构的一个例子。图3示出了层间的预测结构的一个例子。
165.在gos内中存在一个以上的i-spc。在三维空间内虽然存在人、动物、汽车、自行车、信号灯、或成为陆上标志的建筑物等对象,但是,尤其是将尺寸小的对象作为i-spc来编码时有效。例如,三维数据解码装置(以下也记作解码装置)在对gos以低处理量或高速进行解码时,仅对gos内的i-spc进行解码。
166.并且,编码装置可以按照wld内的对象的疏密程度,对i-spc的编码间隔或出现频率进行切换。
167.并且,在图3所示的构成中,编码装置或解码装置针对多个层从下层(层1)开始依次进行编码或解码。据此,例如针对自动行走的车辆等而言,能够提高信息量多的地面附近的数据的优先级。
168.另外,在无人机(drone)等使用的编码数据中,在gos内,可以从高度方向的上方的层的spc开始依次进行编码或解码。
169.并且,编码装置或解码装置也可以是以解码装置大致掌握gos并能够逐渐提高分辨率的方式,来对多个层进行编码或解码。例如,编码装置或解码装置可以按照层3、8、1、9
……
的顺序进行编码或解码。
170.接着,对静态对象以及动态对象的对应方法进行说明。
171.在三维空间中存在建筑物或道路等静态对象或场景(以后统一称为静态对象)、以及车辆或人等动态对象(以后称为动态对象)。对象的检测可以通过从点云的数据、或立体摄影机等拍摄影像等中提取特征点来另外执行。在此,对动态对象的编码方法的例子进行说明。
172.第1方法是不区别静态对象与动态对象而进行编码的方法。第2方法是通过识别信息来区别静态对象与动态对象的方法。
173.例如,gos被用作识别单位。在这种情况下,包括构成静态对象的spc的gos、与包括构成动态对象的spc的gos在编码数据内、或由与编码数据分开存放的识别信息来区別。
174.或者,spc被用作识别单位。在这种情况下,仅包括构成静态对象的vlm的spc、与包括构成动态对象的vlm的spc,由上述的识别信息来区別。
175.或者,可以将vlm或vxl用作识别单位。在这种情况下,包括静态对象的vlm或vxl、与包括动态对象的vlm或vxl由上述的识别信息来区別。
176.并且,编码装置可以将动态对象作为一个以上的vlm或spc来进行编码,将包括静态对象的vlm或spc、与包括动态对象的spc作为彼此不同的gos来进行编码。并且,编码装置在按照动态对象的大小而gos的大小成为可变的情况下,将gos的大小作为元信息来另外存放。
177.并且,编码装置使静态对象与动态对象彼此独立地编码,针对由静态对象构成的世界空间,可以重叠动态对象。此时,动态对象由一个以上的spc构成,各spc与构成重叠了该spc的静态对象一个以上的spc对应。另外,动态对象可以不由spc来表现,可以由一个以上的vlm或vxl来表现。
178.并且,编码装置可以将静态对象与动态对象作为彼此不同的流来编码。
179.并且,编码装置也可以生成包括构成动态对象的一个以上的spc的gos。而且,编码装置可以将包括动态对象的gos(gos_m)、与和gos_m的空间区域对应的静态对象的gos设定为大小相同(占有相同的空间区域)。这样,能够以gos为单位来进行重叠处理。
180.构成动态对象的p-spc或b-spc也可以参照已编码的不同的gos中包含的spc。动态对象的位置随着时间发生变化,同一动态对象作为不同时刻的gos而被编码的情况中,跨越gos的参照从压缩率的观点来看是有效的。
181.并且,也可以按照编码数据的用途,来对上述的第1方法与第2方法进行切换。例如,在编码三维数据作为地图而被应用的情况下,由于希望与动态对象分离,因此,编码装置采用第2方法。另外,编码装置在对音乐会或体育等活动的三维数据进行编码的情况下,若无需对动态对象进行分离,则采用第1方法。
182.并且,gos或spc的解码时刻与显示时刻能够存放在编码数据内、或作为元信息存放。并且,静态对象的时刻信息可以全部相同。此时,实际的解码时刻与显示时刻可以由解码装置来决定。或者,作为解码时刻,按照每个gos或spc来赋予不同的值,作为显示时刻,也可以全被赋予同一个值。而且,如hevc的hrd(hypothetical reference decoder)等动态图像编码中的解码器模式所示,解码器具有规定的大小的缓冲器,只要按照解码时刻,以规定的比特率读取比特流,就可以导入不会被破坏且保证能够解码的模型。
183.接着,对世界空间内的gos的配置进行说明。世界空间中的三维空间的坐标由彼此正交的3个坐标轴(x轴、y轴、z轴)来表现。通过在gos的编码顺序中设定规定的规则,从而在空间上邻接的gos能够在编码数据内进行连续的编码。例如在图4所示的例子中,对xz平面内的gos进行连续的编码。在一个xz平面内的所有的gos的编码结束后,对y轴的值进行更新。即,随着不断地编码,世界空间向y轴方向延伸。并且,gos的索引编号被设定为编码顺序。
184.在此,世界空间的三维空间与gps、或纬度以及经度等地理上的绝对坐标一一对应。或者,可以由相对于预先确定的基准位置的相对位置来表现三维空间。三维空间的x轴、y轴、z轴的方向作为基于纬度以及经度等而被决定的方向矢量来表现,该方向矢量作为元信息与编码数据一同存放。
185.并且,gos的大小被设定为固定,编码装置将该大小作为元信息来存放。并且,gos的大小例如可以根据是否为市内或者室内、室外等来进行切换。即,gos的大小可以按照具有作为信息的价值的对象的量或性质来进行切换。或者,编码装置可以在同一世界空间内,按照对象的密度等,对gos的大小、或gos内的i-spc的间隔进行恰当地切换。例如,编码装置在对象的密度越高的情况下,就越将gos的大小设定为小、将gos内的i-spc的间隔设定为短。
186.在图5的例子中,在从第3至第10个gos的区域中,由于对象的密度高,因此,为了实现微小粒度的随机存取,则gos被细分。并且,从第7到第10个gos分别存在于第3至第6个gos的背面。
187.(实施方式2)
188.在本实施方式中,对在车辆间收发三维数据的方法进行说明。
189.图7是表示自身车辆600和周边车辆601之间的三维数据607的收发的状况的示意图。
190.在通过搭载于自身车辆600的传感器(测距仪等距离传感器、立体摄影机或多个单眼相机的组合等)获得三维数据的情况下,由于周边车辆601等障碍物,会产生在自身车辆600的传感器检测范围602内但不能制作三维数据的区域(以下,将其称为遮挡区域604)。另外,当获得三维数据的空间变大时,自主动作的精度提高,但仅自身车辆600的传感器检测范围有限。
191.自身车辆600的传感器检测范围602包括能够获得三维数据的区域603和遮挡区域604。自身车辆600想要获得三维数据的范围包括自身车辆600的传感器检测范围602和除此以外的区域。另外,周边车辆601的传感器检测范围605包括遮挡区域604和不包括在自身车辆600的传感器检测范围602中的区域606。
192.周边车辆601将周边车辆601检测到的信息传输到自身车辆600。自身车辆600通过获得前方车等周边车辆601检测到的信息,能够获得遮挡区域604以及自身车辆600的传感器检测范围602以外的区域606的三维数据607。自身车辆600使用周边车辆601获得的信息,补充遮挡区域604以及传感器检测范围外的区域606的三维数据。
193.在车辆或机器人的自主动作中三维数据的用途是自身位置估计、周边状况的检测、或者这两者。例如,在自身位置估计中,使用由自身车辆600基于自身车辆600的传感器信息而生成的三维数据。在周边状况的检测中,除了由自身车辆600生成的三维数据之外,还使用从周边车辆601获得的三维数据。
194.可以根据自身车辆600的状态来决定将三维数据607传输到自身车辆600的周边车辆601。例如,该周边车辆601在自身车辆600直行时是前方车,在自身车辆600右转时是对面车,在自身车辆600后退时是后方车。另外,自身车辆600的驾驶员也可以直接指定将三维数据607传输到自身车辆600的周边车辆601。
195.另外,自身车辆600也可以搜索周边车辆601,该周边车辆601具有包含在想要获得
三维数据607的空间内的、自身车辆600无法获得的区域的三维数据。由自身车辆600无法获得的区域是遮挡区域604或传感器检测范围602以外的区域606等。
196.此外,自身车辆600也可以基于自身车辆600的传感器信息来确定遮挡区域604。例如,自身车辆600将自身车辆600的传感器检测范围602内所包含的、不能制作三维数据的区域确定为遮挡区域604。
197.下面,说明传输三维数据607的是前方车的情况下的动作例。图8是表示该情况下被传输的三维数据的一例的图。
198.如图8所示,从前方车传输的三维数据607例如是点云的稀疏世界(swld)。即,前方车根据由该前方车的传感器检测到的信息制作wld的三维数据(点云),通过从wld的三维数据中提取特征量为阈值以上的数据来制作swld的三维数据(点云)。然后,前方车将制作成的swld的三维数据传输给自身车辆600。
199.自身车辆600接收swld,将接收到的swld合并到由自身车辆600制作成的点云中。
200.被传输的swld具有绝对坐标(swld在三维地图的坐标系中的位置)的信息。自身车辆600能够基于该绝对坐标,通过覆盖由自身车辆600生成的点云来实现合并处理。
201.从周边车辆601传输的swld可以是位于自身车辆600的传感器检测范围602之外且位于周边车辆601的传感器检测范围605内的区域606的swld、或者自身车辆600的遮挡区域604的swld、或这两者的swld。另外,所传输的swld可以是上述swld中的、周边车辆601检测周边状况中使用的区域的swld。
202.另外,周边车辆601也可以根据基于自身车辆600与周边车辆601的速度差的可通信时间,使所传输的点云的密度变化。例如,在速度差大而可通信时间短的情况下,周边车辆601也可以通过从swld中提取特征量大的三维点,来降低点云的密度(数据量)。
203.此外,周边状况的检测是指,判定是否有人、车辆、以及道路施工用的器材等存在,确定其种类,检测其位置、移动方向、以及移动速度等。
204.另外,自身车辆600也可以代替在周边车辆601中生成的三维数据607或者除了三维数据607之外,还获得周边车辆601的制动信息。在此,周边车辆601的制动信息是指,例如是表示周边车辆601的加速器或制动器被踩踏的情况、或其程度的信息。
205.另外,在由各车辆生成的点云中,考虑车辆间的低延迟通信,以随机存取单位细分三维空间。另一方面,将作为从服务器下载的地图数据的三维地图等的三维空间分割成比车辆间通信的情况大的随机存取单位。
206.在前方车的前方区域或后方车的后方区域等易成为遮挡区域的区域的数据作为倾向于低延迟的数据被分割为细小的随机存取单位。
207.由于在高速行驶时正面的重要性提高,因此各车辆在高速行驶时以细小的随机存取单位制作将视角收窄的范围的swld。
208.在前方车用于传输而制作的swld内包含由自身车辆600能够获得点云的区域的情况下,前方车也可以通过去除该区域的点云来削减传输量。
209.(实施方式3)
210.在本实施方式中,对向后续车辆发送三维数据的方法等进行说明。图9是表示发送给后续车辆等的三维数据的对象空间的例子的图。
211.车辆801以δt的时间间隔将三维数据发送到监控道路状况的交通云监控或后续
车辆,所述三维数据是车辆801前方的距车辆801距离l的宽度w、高度h、深度d的长方体空间802所包含的点云(点群)等。
212.车辆801在车辆或人从外部进入空间802等而在过去已发送的空间802中包含的三维数据发生了变化的情况下,也发送发生了变化的空间的三维数据。
213.另外,图9表示了空间802的形状为长方体的例子,但空间802只要包括与后续车辆成死角的前方道路上的空间即可,并不一定是长方体。
214.距离l优选被设定为接收到三维数据的后续车辆能够安全地停止的距离。例如,距离l被设定为后续车辆在接收三维数据所需的时间内所移动的距离、后续车辆根据接收到的数据开始减速之前所移动的距离、以及后续车辆从原则上开始后安全地停止所需的距离之和。由于这些距离根据速度而变化,所以距离l可以根据车辆的速度v而变化,如l=a
×
v b(a、b为常数)。
215.宽度w被设定为至少比车辆801行驶的车道的宽度大的值。更优选地,宽度w被设定为包括左右车道或路边带等相邻空间的大小。
216.深度d可以是固定值,但也可以如d=c
×
v d(c、d为常数)那样根据车辆的速度v而变化。另外,通过设定d使得d>v
×
δt,能够使发送的空间与过去已发送的空间重叠。由此,车辆801能够更可靠地将道路上的空间无遗漏地发送给后续车辆等。
217.这样,通过将车辆801发送的三维数据限定在对后续车辆有用的空间内,能够有效地削减发送的三维数据的容量,能够实现通信的低延迟化及低成本化。
218.(实施方式4)
219.在实施方式3中说明的例子是,车辆等客户端装置将三维数据发送到其他的车辆或交通云监控等服务器。在本实施方式中,客户端装置向服务器或其他的客户端装置发送由传感器得到的传感器信息。
220.首先,对本实施方式的系统的构成进行说明。图10示出了本实施方式的三维地图以及传感器信息的收发系统的构成。该系统包括服务器901、客户端装置902a以及902b。另外,在不对客户端装置902a以及902b进行特殊区分的情况下,也记作客户端装置902。
221.客户端装置902例如是被搭载在车辆等移动体的车载设备。服务器901例如是交通云监控等,能够与多个客户端装置902进行通信。
222.服务器901向客户端装置902发送由点云构成的三维地图。另外,三维地图的构成并非受点云所限,也可以通过网格结构等其他的三维数据来表现。
223.客户端装置902向服务器901发送由客户端装置902获得的传感器信息。传感器信息例如至少包括lidar获得信息、可见光图像、红外图像、深度图像、传感器位置信息以及速度信息之中的一个。
224.关于在服务器901与客户端装置902之间收发的数据,在想要减少数据的情况下可以被压缩,在想要维持数据的精确度的情况下可以不进行压缩。在对数据进行压缩的情况下,在点云中例如能够采用基于八叉树的三维压缩方式。并且,在可见光图像、红外图像、以及深度图像中可以采用二维的图像压缩方式。二维的图像压缩方式例如是以mpeg标准化的mpeg-4 avc或hevc等。
225.并且,服务器901按照来自客户端装置902的三维地图的发送请求,将在服务器901进行管理的三维地图发送到客户端装置902。另外,服务器901也可以不等待来自客户端装
置902的三维地图的发送请求,就对三维地图进行发送。例如,服务器901也可以将三维地图广播到预先确定的空间中的一个以上的客户端装置902。并且,服务器901也可以向接受过一次发送请求的客户端装置902,每隔一定的时间发送适于客户端装置902的位置的三维地图。并且,服务器901也可以在每当服务器901所管理的三维地图被更新时,向客户端装置902发送三维地图。
226.客户端装置902向服务器901发出三维地图的发送请求。例如,在客户端装置902在行驶时想要进行自身位置估计的情况下,客户端装置902将三维地图的发送请求发送到服务器901。
227.另外,在以下的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。在客户端装置902所持有的三维地图比较旧的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。例如,在客户端装置902获得三维地图并经过了一定期间的情况下,客户端装置902也可以向服务器901发出三维地图的发送请求。
228.也可以是,在客户端装置902将要从客户端装置902所保持的三维地图所示的空间出来的一定时刻之前,客户端装置902向服务器901发出三维地图的发送请求。例如也可以是,在客户端装置902存在于从客户端装置902所保持的三维地图所示的空间的边界预先确定的距离以内的情况下,客户端装置902向服务器901发出三维地图的发送请求。并且,在掌握到客户端装置902的移动路径以及移动速度的情况下,可以根据掌握到的移动路径和移动速度,来预测客户端装置902从客户端装置902所保持的三维地图示出的空间出来的时刻。
229.在客户端装置902根据传感器信息制作的三维数据与三维地图的位置对照时的误差在一定范围以上时,客户端装置902可以向服务器901发出三维地图的发送请求。
230.客户端装置902按照从服务器901发送来的传感器信息的发送请求,将传感器信息发送到服务器901。另外,客户端装置902也可以不等待来自服务器901的传感器信息的发送请求,就将传感器信息发送到服务器901。例如,客户端装置902在从服务器901得到过一次传感器信息的发送请求的情况下,可以在一定的期间之中,定期地将传感器信息发送到服务器901。并且也可以是,在客户端装置902根据传感器信息制作的三维数据、与从服务器901得到的三维地图的位置对照时的误差为一定范围以上的情况下,客户端装置902判断在客户端装置902的周边的三维地图有发生变化的可能性,并将这一判断结果和传感器信息一起发送到服务器901。
231.服务器901向客户端装置902发出传感器信息的发送请求。例如,服务器901从客户端装置902接收gps等客户端装置902的位置信息。服务器901根据客户端装置902的位置信息,在判断为客户端装置902接近到服务器901所管理的三维地图中信息少的空间的情况下,为了重新生成三维地图,而将传感器信息的发送请求发出到客户端装置902。并且也可以是,服务器901在想要更新三维地图的情况、在想要确认积雪时或灾害时等道路状况的情况、在想要确认堵塞状况或事件事故状况等情况下,也可以发出传感器信息的发送请求。
232.并且也可以是,客户端装置902按照从服务器901接受的传感器信息的发送请求的接收时的通信状态或频带,来设定发送到服务器901的传感器信息的数据量。对发送到服务器901的传感器信息的数据量进行设定例如是指,对该数据本身进行增减、或者选择适宜的压缩方式。
233.图11是示出客户端装置902的构成例的方框图。客户端装置902从服务器901接收以点云等构成的三维地图,根据基于客户端装置902的传感器信息而制作的三维数据,来估计客户端装置902的自身位置。并且,客户端装置902将获得的传感器信息发送到服务器901。
234.客户端装置902具备:数据接收部1011、通信部1012、接收控制部1013、格式变换部1014、多个传感器1015、三维数据制作部1016、三维图像处理部1017、三维数据蓄积部1018、格式变换部1019、通信部1020、发送控制部1021、以及数据发送部1022。
235.数据接收部1011从服务器901接收三维地图1031。三维地图1031是包括wld或swld等点云的数据。三维地图1031也可以包括压缩数据、以及非压缩数据的任一方。
236.通信部1012与服务器901进行通信,将数据发送请求(例如,三维地图的发送请求)等发送到服务器901。
237.接收控制部1013经由通信部1012,与通信对方交换对应格式等信息,确立与通信对方的通信。
238.格式变换部1014通过对数据接收部1011所接收的三维地图1031进行格式转换等,来生成三维地图1032。并且,格式变换部1014在三维地图1031被压缩或编码的情况下,进行解压缩或解码处理。另外,格式变换部1014在三维地图1031为非压缩数据的情况下,不进行解压缩或解码处理。
239.多个传感器1015是lidar、可见光相机、红外线相机、或深度传感器等客户端装置902所搭载的用于获得车辆的外部的信息的传感器群,生成传感器信息1033。例如,在传感器1015为lidar等激光传感器的情况下,传感器信息1033是点云(点群数据)等三维数据。另外,传感器1015也可以不是多个。
240.三维数据制作部1016根据传感器信息1033,制作自身车辆的周边的三维数据1034。例如,三维数据制作部1016利用由lidar获得的信息、以及由可见光相机得到的可见光影像,来制作自身车辆的周边的具有颜色信息的点云数据。
241.三维图像处理部1017利用接收的点云等三维地图1032、以及根据传感器信息1033生成的自身车辆的周边的三维数据1034,来进行自身车辆的自身位置估计处理等。另外,也可以是,三维图像处理部1017对三维地图1032与三维数据1034进行合成,来制作自身车辆的周边的三维数据1035,利用制作的三维数据1035,来进行自身位置估计处理。
242.三维数据蓄积部1018对三维地图1032、三维数据1034以及三维数据1035等进行蓄积。
243.格式变换部1019通过将传感器信息1033转换为接收侧所对应的格式,来生成传感器信息1037。另外,格式变换部1019可以通过对传感器信息1037进行压缩或编码来减少数据量。并且,在不需要格式转换的情况下,格式变换部1019可以省略处理。并且,格式变换部1019可以对按照发送范围的指定来发送的数据量进行控制。
244.通信部1020与服务器901进行通信,从服务器901接收数据发送请求(传感器信息的发送请求)等。
245.发送控制部1021经由通信部1020,与通信对方交换对应格式等信息,从而确立通信。
246.数据发送部1022将传感器信息1037发送到服务器901。传感器信息1037例如包括
通过lidar获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等由多个传感器1015获得的信息。
247.接着,对服务器901的构成进行说明。图12是示出服务器901的构成例的方框图。服务器901接收从客户端装置902发送来的传感器信息,根据接收的传感器信息,来制作三维数据。服务器901利用制作的三维数据,对服务器901管理的三维地图进行更新。并且,服务器901按照来自客户端装置902的三维地图的发送请求,将更新的三维地图发送到客户端装置902。
248.服务器901具备:数据接收部1111、通信部1112、接收控制部1113、格式变换部1114、三维数据制作部1116、三维数据合成部1117、三维数据蓄积部1118、格式变换部1119、通信部1120、发送控制部1121、以及数据发送部1122。
249.数据接收部1111从客户端装置902接收传感器信息1037。传感器信息1037例如包括通过lidar获得的信息、通过可见光相机获得的亮度图像(可见光图像)、通过红外线相机获得的红外图像、通过深度传感器获得的深度图像、传感器位置信息、以及速度信息等。
250.通信部1112与客户端装置902进行通信,将数据发送请求(例如,传感器信息的发送请求)等发送到客户端装置902。
251.接收控制部1113经由通信部1112,与通信对方交换对应格式等信息,从而确立通信。
252.格式变换部1114在接收的传感器信息1037被压缩或编码的情况下,通过进行解压缩或解码处理,来生成传感器信息1132。另外,在传感器信息1037是非压缩数据的情况下,格式变换部1114不进行解压缩或解码处理。
253.三维数据制作部1116根据传感器信息1132,制作客户端装置902的周边的三维数据1134。例如,三维数据制作部1116利用通过lidar获得的信息、以及通过可见光相机得到的可见光影像,来制作客户端装置902的周边具有颜色信息的点云数据。
254.三维数据合成部1117将基于传感器信息1132而制作的三维数据1134,与服务器901管理的三维地图1135进行合成,据此来更新三维地图1135。
255.三维数据蓄积部1118对三维地图1135等进行蓄积。
256.格式变换部1119通过将三维地图1135转换为接收侧对应的格式,来生成三维地图1031。另外,格式变换部1119也可以通过对三维地图1135进行压缩或编码,来减少数据量。并且,在不需要格式转换的情况下,格式变换部1119也可以省略处理。并且,格式变换部1119可以对按照发送范围的指定来发送的数据量进行控制。
257.通信部1120与客户端装置902进行通信,从客户端装置902接收数据发送请求(三维地图的发送请求)等。
258.发送控制部1121经由通信部1120,与通信对方交换对应格式等信息,从而确立通信。
259.数据发送部1122将三维地图1031发送到客户端装置902。三维地图1031是包括wld或swld等点云的数据。在三维地图1031中也可以包括压缩数据以及非压缩数据的任一方。
260.接着,对客户端装置902的工作流程进行说明。图13是示出客户端装置902进行的三维地图获得时的工作的流程图。
261.首先,客户端装置902向服务器901请求三维地图(点云等)的发送(s1001)。此时,客户端装置902也将通过gps等得到的客户端装置902的位置信息一起发送,据此,可以向服务器901请求与该位置信息相关的三维地图的发送。
262.接着,客户端装置902从服务器901接收三维地图(s1002)。若接收的三维地图是压缩数据,客户端装置902对接收的三维地图进行解码,生成非压缩的三维地图(s1003)。
263.接着,客户端装置902根据从多个传感器1015得到的传感器信息1033,来制作客户端装置902的周边的三维数据1034(s1004)。接着,客户端装置902利用从服务器901接收的三维地图1032、以及根据传感器信息1033制作的三维数据1034,来估计客户端装置902的自身位置(s1005)。
264.图14是示出客户端装置902进行的传感器信息的发送时的工作的流程图。首先,客户端装置902从服务器901接收传感器信息的发送请求(s1011)。接收了发送请求的客户端装置902将传感器信息1037发送到服务器901(s1012)。另外,在传感器信息1033包括通过多个传感器1015得到的多个信息的情况下,客户端装置902针对各信息,以适于各信息的压缩方式来进行压缩,从而生成传感器信息1037。
265.接着,对服务器901的工作流程进行说明。图15是示出服务器901进行传感器信息的获得时的工作的流程图。首先,服务器901向客户端装置902请求传感器信息的发送(s1021)。接着,服务器901接收按照该请求而从客户端装置902发送的传感器信息1037(s1022)。接着,服务器901利用接收的传感器信息1037,来制作三维数据1134(s1023)。接着,服务器901将制作的三维数据1134反映到三维地图1135(s1024)。
266.图16是示出服务器901进行的三维地图的发送时的工作的流程图。首先,服务器901从客户端装置902接收三维地图的发送请求(s1031)。接收了三维地图的发送请求的服务器901向客户端装置902发送三维地图1031(s1032)。此时,服务器901可以与客户端装置902的位置信息相对应地提取其附近的三维地图,并发送提取的三维地图。并且可以是,服务器901针对由点云构成的三维地图,例如利用通过八叉树的压缩方式等来进行压缩,并发送压缩后的三维地图。
267.以下,对本实施方式的变形例进行说明。
268.服务器901利用从客户端装置902接收的传感器信息1037,来制作客户端装置902的位置附近的三维数据1134。接着,服务器901对制作的三维数据1134、与服务器901所管理的相同区域的三维地图1135进行匹配,算出三维数据1134与三维地图1135的差分。服务器901在差分为预先决定的阈值以上的情况下,判断在客户端装置902的周边发生了某种异常。例如,在因地震等自然灾害而发生了地表下沉等时,可以考虑到在服务器901所管理的三维地图1135、与基于传感器信息1037而制作的三维数据1134之间会产生较大的差。
269.传感器信息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在传感器的精确度越低的情况下就越增强校正的程度(强度)。
270.服务器901也可以向存在于某个空间的多个客户端装置902同时发出传感器信息的发送请求。服务器901在从多个客户端装置902接收到多个传感器信息的情况下,没有必要将所有的传感器信息都利用到三维数据1134的制作,例如可以按照传感器的性能,来选择将要利用的传感器信息。例如,服务器901在对三维地图1135进行更新的情况下,可以从接收的多个传感器信息中选择高精确度的传感器信息(类别1),利用选择的传感器信息来制作三维数据1134。
271.服务器901并非受交通云监控等服务器所限,也可以是其他的客户端装置(车载)。图17示出了这种情况下的系统构成。
272.例如,客户端装置902c向附近存在的客户端装置902a发出传感器信息的发送请求,并从客户端装置902a获得传感器信息。于是,客户端装置902c利用获得的客户端装置902a的传感器信息,来制作三维数据,并更新对客户端装置902c的三维地图进行更新。这样,客户端装置902c能够活用客户端装置902c的性能,来生成能够从客户端装置902a获得的空间的三维地图。例如,在客户端装置902c的性能高的情况下,可以考虑发生这种情况。
273.并且,在这种情况下,提供了传感器信息的客户端装置902a被给予获得由客户端装置902c生成的高精确度的三维地图的权利。客户端装置902a按照该权利,从客户端装置902c接收高精确度的三维地图。
274.并且也可以是,客户端装置902c向附近存在的多个客户端装置902(客户端装置902a以及客户端装置902b)发出传感器信息的发送请求。在客户端装置902a或客户端装置902b的传感器为高性能的情况下,客户端装置902c能够利用通过该高性能的传感器得到的传感器信息来制作三维数据。
275.图18是示出服务器901以及客户端装置902的功能构成的方框图。服务器901例如具备:对三维地图进行压缩以及解码的三维地图压缩/解码处理部1201、对传感器信息进行压缩以及解码的传感器信息压缩/解码处理部1202。
276.客户端装置902具备:三维地图解码处理部1211、以及传感器信息压缩处理部1212。三维地图解码处理部1211接收压缩后的三维地图的编码数据,对编码数据进行解码并获得三维地图。传感器信息压缩处理部1212不对通过获得的传感器信息而制作的三维数据进行压缩,而是对传感器信息本身进行压缩,将压缩后的传感器信息的编码数据发送到服务器901。根据此构成,客户端装置902可以将用于对三维地图(点云等)进行解码处理的处理部(装置或lsi)保持在内部,而不必将用于对三维地图(点云等)的三维数据进行压缩处理的处理部保持在内部。这样,能够抑制客户端装置902的成本以及耗电量等。
277.如以上所述,本实施方式的客户端装置902被搭载在移动体,根据通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1033,来制作移动体的周
边的三维数据1034。客户端装置902利用制作的三维数据1034,来估计移动体的自身位置。客户端装置902将获得的传感器信息1033发送到服务器901或者其他的移动体902。
278.据此,客户端装置902将传感器信息1033发送到服务器901等。这样,与发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于没有必要在客户端装置902执行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理的量。因此,客户端装置902能够实现传输的数据量的减少或装置的构成的简略化。
279.并且,客户端装置902进一步向服务器901发送三维地图的发送请求,从服务器901接收三维地图1031。客户端装置902在自身位置的估计中,利用三维数据1034和三维地图1032,来对自身位置进行估计。
280.并且,传感器信息1033至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。
281.并且,传感器信息1033包括示出传感器的性能的信息。
282.并且,客户端装置902对传感器信息1033进行编码或压缩,在传感器信息的发送中,将编码或压缩后的传感器信息1037发送到服务器901或者其他的移动体902。据此,客户端装置902能够减少传输的数据量。
283.例如,客户端装置902具备处理器以及存储器,处理器利用存储器进行上述的处理。
284.并且,本实施方式的服务器901能够与搭载在移动体的客户端装置902进行通信,从客户端装置902接收通过被搭载在移动体的传感器1015得到的、示出移动体的周边状况的传感器信息1037。服务器901根据接收的传感器信息1037,来制作移动体的周边的三维数据1134。
285.据此,服务器901利用从客户端装置902发送来的传感器信息1037,来制作三维数据1134。这样,与客户端装置902发送三维数据的情况相比,将会有能够减少发送数据的数据量的可能性。并且,由于可以不必在客户端装置902进行三维数据的压缩或编码等处理,因此能够减少客户端装置902的处理量。这样,服务器901能够实现传输的数据量的减少、或装置的构成的简略化。
286.并且,服务器901进一步向客户端装置902发送传感器信息的发送请求。
287.并且,服务器901进一步利用制作的三维数据1134,来更新三维地图1135,按照来自客户端装置902的三维地图1135的发送请求,将三维地图1135发送到客户端装置902。
288.并且,传感器信息1037至少包括通过激光传感器得到的信息、亮度图像(可见光图像)、红外图像、深度图像、传感器的位置信息、以及传感器的速度信息之中的一个。
289.并且,传感器信息1037包括示出传感器的性能的信息。
290.并且,服务器901进一步按照传感器的性能,对三维数据进行校正。据此,该三维数据制作方法能够提高三维数据的品质。
291.并且,服务器901在传感器信息的接收中,从多个客户端装置902接收多个传感器信息1037,根据多个传感器信息1037中包括的示出传感器的性能的多个信息,来选择三维数据1134的制作中使用的传感器信息1037。据此,服务器901能够提高三维数据1134的品质。
292.并且,服务器901对接收的传感器信息1037进行解码或解压缩,根据解码或解压缩
后的传感器信息1132,制作三维数据1134。据此,服务器901能够减少传输的数据量。
293.例如,服务器901具备处理器和存储器,处理器利用存储器进行上述的处理。
294.(实施方式5)
295.在本实施方式中,对上述实施方式4的变形例进行说明。图19是表示本实施方式的系统的结构的图。图19所示的系统包括服务器2001、客户端装置2002a、客户端装置2002b。
296.客户端装置2002a和客户端装置2002b搭载在车辆等移动体上,向服务器2001发送传感器信息。服务器2001将三维地图(点云)发送到客户端装置2002a以及客户端装置2002b。
297.客户端装置2002a具备传感器信息获得部2011、存储部2012和数据发送可否判定部2013。另外,客户端装置2002b的结构也相同。另外,以下在不特别区分客户端装置2002a和客户端装置2002b的情况下,也记载为客户端装置2002。
298.图20是表示本实施方式的客户端装置2002的动作的流程图。
299.传感器信息获得部2011使用搭载于移动体的传感器(传感器群)来获得各种传感器信息。也就是说,传感器信息获得部2011获得由搭载于移动体的传感器(传感器群)得到的、表示移动体的周边状况的传感器信息。另外,传感器信息获得部2011将所获得的传感器信息存储于存储部2012。该传感器信息包含lidar获得信息、可见光图像、红外图像以及深度图像中的至少一个。另外,传感器信息也可以包含传感器位置信息、速度信息、获得时刻信息以及获得场所信息中的至少一个。传感器位置信息表示获得了传感器信息的传感器的位置。速度信息表示传感器获得传感器信息时移动体的速度。获得时刻信息表示由传感器获得传感器信息的时刻。获得场所信息表示由传感器获得传感器信息时移动体或传感器的位置。
300.接着,数据发送可否判定部2013判定移动体(客户端装置2002)是否存在于能够向服务器2001发送传感器信息的环境中(s2002)。例如,数据发送可否判定部2013也可以使用gps等信息,确定客户端装置2002所处的场所以及时刻,判定能否发送数据。另外,数据发送可否判定部2013也可以根据能否与特定的存取点连接来判定能否发送数据。
301.客户端装置2002在判定为移动体存在于能够向服务器2001发送传感器信息的环境中的情况下(s2002的“是”),向服务器2001发送传感器信息(s2003)。即,在客户端装置2002成为能够向服务器2001发送传感器信息的状况的时间点,客户端装置2002向服务器2001发送保持的传感器信息。例如,在交叉路口等设置能够进行高速通信的毫米波的存取点。客户端装置2002在进入交叉路口内的时间点,使用毫米波通信将客户端装置2002保持的传感器信息高速地发送到服务器2001。
302.接着,客户端装置2002从存储部2012删除已发送到服务器2001的传感器信息(s2004)。此外,客户端装置2002在没有发送到服务器2001的传感器信息满足了规定条件的情况下,也可以删除该传感器信息。例如,客户端装置2002也可以在保持的传感器信息的获得时刻比当前时刻早了一定时刻之前的时间点,从存储部2012删除该传感器信息。即,客户端装置2002也可以在从传感器获得传感器信息的时刻与当前时刻之差超过了预定的时间的情况下,从存储部2012中删除传感器信息。此外,客户端装置2002也可以在保持的传感器信息的获得场所从当前地点离开一定距离的时间点,从存储部2012删除该传感器信息。即,客户端装置2002也可以在从传感器获得传感器信息时的移动体或传感器的位置与当前的
移动体或传感器的位置之差超过了预定的距离的情况下,从存储部2012删除传感器信息。由此,能够抑制客户端装置2002的存储部2012的容量。
303.在客户端装置2002的传感器信息的获得未结束的情况下(s2005的“否”),客户端装置2002再次进行步骤s2001以后的处理。另外,在客户端装置2002结束了传感器信息的获得的情况下(s2005的“是”),客户端装置2002结束处理。
304.另外,客户端装置2002也可以根据通信状况选择向服务器2001发送的传感器信息。例如,客户端装置2002在能够高速通信的情况下,优先发送存储部2012中保持的尺寸大的传感器信息(例如lidar获得信息等)。此外,在难以进行高速通信的情况下,客户端装置2002发送存储部2012中保持的、尺寸小优先度高的传感器信息(例如,可见光图像)。由此,客户端装置2002能够根据网络状况将存储部2012中保持的传感器信息高效地发送给服务器2001。
305.另外,客户端装置2002也可以从服务器2001获得表示上述当前时刻的时刻信息、以及表示当前地点的场所信息。另外,客户端装置2002也可以根据获得的时刻信息以及场所信息,决定传感器信息的获得时刻以及获得场所。即,客户端装置2002也可以从服务器2001获得时刻信息,使用获得的时刻信息生成获得时刻信息。另外,客户端装置2002也可以从服务器2001获得场所信息,使用获得的场所信息生成获得场所信息。
306.例如,关于时刻信息,服务器2001和客户端装置2002使用ntp(network time protocol,网络时间协议)或ptp(precision time protocol,精确时间协议)等的结构进行时刻同步。由此,客户端装置2002可以获得准确的时刻信息。另外,由于可以在服务器2001和多个客户端装置之间使时刻同步,所以可以使各个客户端装置2002获得的传感器信息内的时刻同步。因此,服务器2001处理表示被同步了的时刻的传感器信息。此外,时刻同步结构可以是除了ntp或ptp以外的任何方法。此外,gps信息可以用作上述时刻信息和场所信息。
307.服务器2001也可以指定时刻或场所,从多个客户端装置2002获得传感器信息。例如,在发生了某种事故的情况下,为了搜索其附近的客户端,服务器2001指定事故发生时刻和场所,向多个客户端装置2002广播发送传感器信息发送请求。然后,具有相应的时刻和场所的传感器信息的客户端装置2002向服务器2001发送传感器信息。即,客户端装置2002从服务器2001接收包含指定场所和时刻的指定信息的传感器信息发送请求。客户端装置2002在判定为在存储部2012中存储有在由指定信息表示的场所和时刻得到的传感器信息、并且移动体存在于能够向服务器2001发送传感器信息的环境中的情况下,向服务器2001发送在由指定信息表示的场所和时刻得到的传感器信息。由此,服务器2001从多个客户端装置2002获得与事故的发生关联的传感器信息,能够用于事故解析等。
308.另外,客户端装置2002在接收到来自服务器2001的传感器信息发送请求的情况下,也可以拒绝传感器信息的发送。此外,客户端装置2002也可以事先设定在多个传感器信息中能否发送哪个传感器信息。或者,服务器2001也可以每次向客户端装置2002询问可否发送传感器信息。
309.另外,也可以对将传感器信息发送给服务器2001的客户端装置2002赋予点(point)。该点可以用于例如汽油购入费、ev(electric vehicle,电动汽车)充电费、高速公路通行费或租车费用等的支付。另外,服务器2001也可以在获得传感器信息后,删除用于确
定传感器信息的发送源的客户端装置2002的信息。例如,该信息是客户端装置2002的网络地址等信息。由此,由于可以匿名化传感器信息,客户端装置2002的用户可以安心地从客户端装置2002向服务器2001发送传感器信息。此外,服务器2001可以由多个服务器构成。例如,通过在多个服务器中共享传感器信息,即使某个服务器发生故障,其他服务器也可以与客户端装置2002进行通信。由此,能够避免服务器故障导致的服务停止。
310.另外,由传感器信息发送请求指定的指定场所表示事故的发生位置等,有时与由传感器信息发送请求指定的指定时刻的客户端装置2002的位置不同。因此,服务器2001例如通过指定周边xxm以内等的范围作为指定场所,可以向存在于该范围内的客户端装置2002请求获得信息。对于指定时刻也同样,服务器2001可以指定从某时刻起前后n秒以内等范围。由此,服务器2001可以从存在于“时刻:从t-n到t n,地点:从绝对位置s起xxm以内”的客户端装置2002获得传感器信息。也可以是,客户端装置2002在发送lidar等三维数据时,发送紧接在时刻t之后生成的数据。
311.另外,服务器2001也可以分别指定表示成为传感器信息获得对象的客户端装置2002的场所的信息、和希望传感器信息的场所,作为指定场所。例如,服务器2001指定从位于绝对位置s的xxm以内的客户端装置2002获得至少包含从绝对位置s到yym的范围的传感器信息。客户端装置2002在选择发送的三维数据时,选择一个以上的可随机存取的单位的三维数据,以至少包含指定的范围的传感器信息。此外,客户端装置2002可以在发送可见光图像时,发送至少包括紧接在时刻t之前或之后的帧的、时间上连续的多个图像数据。
312.在客户端装置2002可以将5g或wifi、或5g中的多种模式等多个物理网络利用于传感器信息的发送的情况下,客户端装置2002也可以按照从服务器2001通知的优先顺序选择要利用的网络。或者,也可以是客户端装置2002自身基于发送数据的尺寸选择能够确保适当的带宽的网络。或者,客户端装置2002也可以基于数据发送所花费的费用等选择要利用的网络。另外,在来自服务器2001的发送请求中,也可以包含表示发送期限的信息,例如客户端装置2002在时刻t之前可以开始发送的情况下进行发送等。如果在期限内不能获得足够的传感器信息,则服务器2001可以再次发行发送请求。
313.传感器信息可以与压缩或未压缩的传感器数据一起包含表示传感器数据的特性的头部信息。客户端装置2002可以经由与传感器数据不同的物理网络或通信协议将头部信息发送到服务器2001。例如,客户端装置2002在发送传感器数据之前,将头部信息发送到服务器2001。服务器2001基于头部信息的解析结果,判断是否获得客户端装置2002的传感器数据。例如,头部信息也可以包含表示lidar的点群获得密度、仰角、或帧率、或者可见光图像的分辨率、sn比、或帧率等的信息。由此,服务器2001可以从具有所决定的品质的传感器数据的客户端装置2002获得传感器信息。
314.如上所述,客户端装置2002被搭载于移动体,获得由搭载于移动体的传感器得到的、表示移动体的周边状况的传感器信息,并将传感器信息存储于存储部2012。客户端装置2002判定移动体是否存在于能够向服务器2001发送传感器信息的环境中,在判定为移动体存在于能够向服务器发送传感器信息的环境中的情况下,向服务器2001发送传感器信息。
315.此外,客户端装置2002还根据传感器信息制作移动体周边的三维数据,使用制作成的三维数据估计移动体的自身位置。
316.另外,客户端装置2002还向服务器2001发送三维地图的发送请求,从服务器2001
接收三维地图。客户端装置2002在自身位置的估计中,使用三维数据和三维地图,估计自身位置。
317.另外,上述客户端装置2002的处理也可以作为客户端装置2002中的信息发送方法来实现。
318.另外,客户端装置2002也可以具备处理器和存储器,处理器使用存储器进行上述处理。
319.接着,说明本实施方式的传感器信息收集系统。图21是表示本实施方式的传感器信息收集系统的结构的图。如图21所示,本实施方式的传感器信息收集系统包括终端2021a、终端2021b、通信装置2022a、通信装置2022b、网络2023、数据收集服务器2024、地图服务器2025和客户端装置2026。此外,在不特别区分终端2021a以及终端2021b的情况下也记载为终端2021。在不特别区分通信装置2022a和通信装置2022b的情况下,还记载为通信装置2022。
320.数据收集服务器2024收集由终端2021所具备的传感器获得的传感器数据等数据,作为与三维空间中的位置建立了对应的位置关联数据。
321.传感器数据是例如通过使用终端2021所具备的传感器来获得终端2021的周围的状态或终端2021的内部的状态等的数据。终端2021将从位于能够与终端2021直接通信或者以相同的通信方式中继一个或多个中继装置来进行通信的位置的一个或多个传感器设备收集到的传感器数据,发送给数据收集服务器2024。
322.位置关联数据中包含的数据例如也可以包含表示终端自身或者终端所具备的设备的动作状态、动作日志、服务的利用状况等的信息。另外,位置关联数据所包含的数据也可以包含将终端2021的标识符与终端2021的位置或者移动路径等建立了对应的信息等。
323.位置关联数据中包含的表示位置的信息例如与表示三维地图数据等三维数据中的位置的信息建立了对应。后面将详细描述表示位置的信息。
324.位置关联数据除了包含表示位置的信息即位置信息之外,还可以包含上述时刻信息和表示包含在位置关联数据中的数据的属性或生成该数据的传感器的种类(例如,型号等)的信息中的至少一个。位置信息和时刻信息可以保存在位置关联数据的头部区域中,或者保存在用于保存位置关联数据的帧的头部区域中。此外,位置信息和时刻信息可以作为与位置关联数据建立了对应的元数据与位置关联数据分开发送和/或保存。
325.地图服务器2025例如连接到网络2023,并且根据来自终端2021等其他装置的请求而发送三维地图数据等三维数据。另外,如上述各实施方式中所说明的那样,地图服务器2025也可以具备使用从终端2021发送的传感器信息来更新三维数据的功能等。
326.数据收集服务器2024例如连接到网络2023,从终端2021等其他装置收集位置关联数据,并且将所收集的位置关联数据保存在内部或其他服务器内的存储装置中。另外,数据收集服务器2024根据来自终端2021的请求,将所收集的位置关联数据、基于位置关联数据生成的三维地图数据的元数据等发送给终端2021。
327.网络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,低功耗广
域)network的网关、或(4)使用dvb-s2等卫星通信方式进行通信的通信卫星。
328.另外,基站可以通过被分类为nb-iot(narrow band-iot,窄带物联网)或者lte-m等lpwa的方式与终端2021进行通信,也可以在切换这些方式的同时与终端2021进行通信。
329.在此,列举如下情况为例:终端2021具备与使用两种通信方式的通信装置2022进行通信的功能,使用这些通信方式中的任何一种或者切换这些多种通信方式和成为直接通信对象的通信装置2022的同时,与地图服务器2025或数据收集服务器2024进行通信,但传感器信息收集系统及终端2021的结构不限于此。例如,终端2021也可以不具有以多种通信方式进行通信的功能,而具备以任一种通信方式进行通信的功能。另外,终端2021也可以对应三种以上的通信方式。另外,每个终端2021对应的通信方式也可以不同。
330.终端2021例如具备图11所示的客户端装置902的结构。终端2021使用接收到的三维数据来进行自身位置等的位置估计。此外,终端2021通过将从传感器获得的传感器数据与通过位置估计处理获得的位置信息建立对应来生成位置关联数据。
331.附加到位置关联数据的位置信息表示例如在三维数据中使用的坐标系中的位置。例如,位置信息是由纬度和经度的值表示的坐标值。此时,终端2021可以将表示坐标值、成为该坐标值的基准的坐标系和用于位置估计的三维数据的信息包含在位置信息中。另外,坐标值也可以包含高度的信息。
332.另外,位置信息也可以与能够在上述三维数据的编码中使用的数据的单位或空间的单位建立对应。该单位例如是wld、gos、spc、vlm或vxl等。此时,位置信息例如由标识符表现,所述标识符用于确定与位置关联数据对应的spc等的数据单位。另外,位置信息除了用于确定spc等数据单位的标识符以外,还可以包含表示对包含该spc等数据单位的三维空间进行编码而得到的三维数据的信息、或者表示在该spc内的详细位置的信息等。表示三维数据的信息例如是该三维数据的文件名。
333.如上所述,通过生成与基于使用了三维数据的位置估计的位置信息建立了对应的位置关联数据,与将基于使用gps获得的客户端装置(终端2021)的自身位置的位置信息附加到传感器信息的情况相比,该系统可以将更高精度的位置信息赋予给传感器信息。其结果,即使在其他装置在其他服务中利用位置关联数据的情况下,也存在通过基于相同的三维数据进行位置估计,可以在实际空间中更准确地确定与位置关联数据对应的位置的可能性。
334.另外,在本实施方式中,以从终端2021发送的数据是位置关联数据的情况为例进行了说明,但从终端2021发送的数据也可以是未与位置信息建立关联的数据。即,也可以经由本实施方式中说明的网络2023进行其他实施方式中说明的三维数据或传感器数据的收发。
335.接着,说明表示三维或二维的实际空间或地图空间中的位置的位置信息的不同的例子。附加到位置关联数据的位置信息可以是表示相对于三维数据中的特征点的相对位置的信息。这里,作为位置信息的基准的特征点是例如作为swld被编码、作为三维数据被通知给终端2021的特征点。
336.表示相对于特征点的相对位置的信息例如可以由从特征点到位置信息所示的点的矢量表示,是表示从特征点到位置信息所示的点的方向和距离的信息。或者,也可以是,表示相对于特征点的相对位置的信息是表示从特征点到位置信息所示的点的x轴、y轴、z轴
各自的位移量的信息。此外,也可以是,表示相对于特征点的相对位置的信息是表示从3个以上的特征点中的每一个到位置信息所示的点的距离的信息。另外,相对位置可以不是由以各特征点为基准表现的位置信息所示的点的相对位置,而是以位置信息所示的点为基准表现的各特征点的相对位置。基于相对于特征点的相对位置的位置信息的一例包括用于确定成为基准的特征点的信息和表示位置信息所示的点相对于该特征点的相对位置的信息。另外,在表示相对于特征点的相对位置的信息与三维数据分开提供的情况下,表示相对于特征点的相对位置的信息也可以包含在相对位置的导出中使用的坐标轴、表示三维数据的种类的信息、或/及表示相对位置的信息的值的每单位量的大小(比例尺等)的信息等。
337.此外,位置信息可以包含表示多个特征点相对于各特征点的相对位置的信息。在位置信息由相对于多个特征点的相对位置来表示的情况下,试图确定实际空间中该位置信息所示的位置的终端2021可以针对每个特征点根据从传感器数据估计出的该特征点的位置来计算位置信息所示的位置的候选点,并且将对计算出的多个候选点求平均而获得的点判定为位置信息所示的点。根据该结构,由于能够减轻根据传感器数据估计特征点的位置时的误差的影响,因此能够提高实际空间中的位置信息所示的点的估计精度。另外,在位置信息包含表示相对于多个特征点的相对位置的信息的情况下,即使在存在由于终端2021所具备的传感器的种类或性能等的限制而不能检测的特征点的情况下,如果能够检测到多个特征点中的任何一个,则也能够估计位置信息所示的点的值。
338.作为特征点,可以使用能够从传感器数据确定的点。能够从传感器数据确定的点是指,例如满足上述三维特征量或可见光数据的特征量为阈值以上等特征点检测用的规定条件的点或区域内的点。
339.另外,也可以将设置在实际空间中的标记等用作特征点。在这种情况下,标记只要能够根据使用lider或相机等传感器获得的数据进行检测及位置的确定即可。例如,标记通过颜色或亮度值(反射率)的变化、或者三维形状(凹凸等)来表现。此外,也可以使用表示该标记的位置的坐标值、或根据该标记的标识符生成的二维码或条形码等。
340.此外,也可以将发送光信号的光源用作标记。在光信号的光源被用作标记的情况下,除了用于获得坐标值或标识符等的位置的信息之外,还可以通过光信号发送其他数据。例如,光信号可以包含与该标记的位置对应的服务的内容、用于获得内容的url等地址、或用于接受服务的提供的无线通信装置的标识符、以及表示用于与该无线通信装置连接的无线通信方式等的信息。通过将光通信装置(光源)用作标记,能够容易地发送表示位置的信息以外的数据,并且能够动态地切换该数据。
341.终端2021例如通过使用数据之间共同使用的标识符、或者表示数据之间的特征点的对应关系的信息或表,来掌握互不相同的数据之间的特征点的对应关系。此外,在不存在表示特征点之间的对应关系的信息的情况下,终端2021可以在将一个三维数据中的特征点的坐标变换成另一个三维数据空间中的位置的情况下,将距离最近的特征点判定为对应特征点。
342.在使用基于以上说明的相对位置的位置信息的情况下,即使在使用互不相同的三维数据的终端2021或服务之间,也能够以包含在各三维数据中的或与各三维数据建立了对应的共同特征点为基准来确定或估计位置信息所示的位置。其结果,可以以更高的精度确定或估计使用互不相同的三维数据的终端2021或服务间的相同位置。
343.此外,即使在使用利用互不相同的坐标系来表现的地图数据或三维数据的情况下,也能够减少伴随坐标系的变换的误差的影响,因此能够实现更高精度的基于位置信息的服务的协作。
344.下面将说明由数据收集服务器2024提供的功能的例子。数据收集服务器2024可以将接收到的位置关联数据传输到其他数据服务器。在存在多个数据服务器的情况下,数据收集服务器2024判定要将接收到的位置关联数据传输到哪个数据服务器,并将位置关联数据传输到被判定为传输目的地的数据服务器。
345.数据收集服务器2024基于例如在数据收集服务器2024中事先设定的传输目的地服务器判定规则来进行传输目的地的判定。传输目的地服务器的判定规则是指,例如通过传输目的地表等设定,所述传输目的地表将与各终端2021建立了对应的标识符与传输目的地的数据服务器建立了对应。
346.终端2021将与该终端2021建立了对应的标识符附加于要发送的位置关联数据,并将该位置关联数据发送给数据收集服务器2024。数据收集服务器2024基于使用了传输目的地表等传输目的地服务器的判定规则,确定对应于附加到位置关联数据的标识符的传输目的地的数据服务器,并将该位置关联数据发送给确定的数据服务器。此外,传输目的地服务器的判定规则也可以由使用了获得位置关联数据的时间或场所等的判定条件来指定。在此,与上述发送源的终端2021建立了对应的标识符是指例如各终端2021所固有的标识符、或表示终端2021所属的组的标识符等。
347.另外,传输目的地表也可以不是将与发送源终端建立了对应的标识符和传输目的地的数据服务器直接建立了对应的表。例如,数据收集服务器2024保持管理表和传输目的地表,所述管理表保存赋予终端2021的每个固有标识符的标签信息,所述传输目的地表将该标签信息与传输目的地的数据服务器建立了对应。数据收集服务器2024可以使用管理表和传输目的地表,基于标签信息判定传输目的地的数据服务器。在此,标签信息是指例如与该标识符对应的终端2021的种类、型号、所有者、所属的组或其他被赋予给标识符的管理用的控制信息或服务提供用的控制信息。另外,在传输目的地表中,也可以使用每个传感器固有的标识符,来代替与发送源的终端2021建立了对应的标识符。此外,也可以是,能够从客户端装置2026设定传输目的地服务器的判定规则。
348.数据收集服务器2024可以将多个数据服务器判定为传输目的地,并将所接收到的位置关联数据传输到该多个数据服务器。根据该结构,例如,在位置关联数据被自动备份的情况下,或者在需要将位置关联数据发送到用于提供各服务的数据服务器以便在不同服务中共同利用位置关联数据的情况下,可以通过变更对数据收集服务器2024的设定来实现期望的数据传输。其结果,与位置关联数据的发送目的地被设定在单独的终端2021中的情况相比,可以削减构建和变更系统所需的工时。
349.也可以是,数据收集服务器2024根据从数据服务器接收到的传输请求信号,将传输请求信号指定的数据服务器登记为新的传输目的地,并将随后接收到的位置关联数据传输到该数据服务器。
350.也可以是,数据收集服务器2024将从终端2021接收到的位置关联数据保存在记录装置中,并且根据从终端2021或数据服务器接收到的传输请求信号,将由发送请求信号指定的位置关联数据发送到请求源的终端2021或数据服务器。
351.也可以是,数据收集服务器2024判断可否向请求源的数据服务器或终端2021提供位置关联数据,在判断为能够提供位置关联数据的情况下,向请求源的数据服务器或终端2021传输或发送位置关联数据。
352.在从客户端装置2026接收到对当前位置关联数据的请求的情况下,即使不在终端2021的位置关联数据的发送定时,数据收集服务器2024也可以对终端2021进行位置关联数据的发送请求,终端2021根据该发送请求发送位置关联数据。
353.在上述说明中,终端2021将位置信息数据发送给数据收集服务器2024,数据收集服务器2024可以具备例如管理终端2021的功能等,用于从终端2021收集位置关联数据所必需的功能,或者当从终端2021收集位置关联数据时所使用的功能等。
354.数据收集服务器2024也可以具备将请求发送位置信息数据的数据请求信号发送至终端2021并收集位置关联数据的功能。
355.在数据收集服务器2024中,事先登记了用于与成为数据收集对象的终端2021进行通信的地址或终端2021固有的标识符等管理信息。数据收集服务器2024基于登记的管理信息从终端2021收集位置关联数据。管理信息可以包含终端2021所具备的传感器的种类、终端2021所具备的传感器的数量、以及终端2021所对应的通信方式等信息。
356.数据收集服务器2024可以从终端2021收集终端2021的工作状态或当前位置等信息。
357.管理信息的登记可以从客户端装置2026进行,也可以通过终端2021将登记请求发送到数据收集服务器2024来开始用于登记的处理。数据收集服务器2024可以具备控制与终端2021的通信的功能。
358.连结数据收集服务器2024和终端2021的通信可以是mno(mobile network operator,移动网络运营商)或mvno(mobile virtual network operator,移动虚拟网络运营商)等由服务提供商提供的专用线路,或者由vpn(virtual private network,虚拟专用网络)构成的虚拟专用线路。根据该结构,能够安全地进行终端2021与数据收集服务器2024之间的通信。
359.数据收集服务器2024可以具备认证终端2021的功能或者对与终端2021之间收发的数据进行加密的功能。在此,使用在数据收集服务器2024和终端2021之间事先共享的、终端2021固有的标识符或者包含多个终端2021的终端组固有的标识符等来进行终端2021的认证处理或者数据的加密处理。该标识符例如是保存在sim(subscriber identity module,用户识别模块)卡中的固有号码即imsi(international mobile subscriber identity,国际移动用户身份)等。用于认证处理的标识符和用于数据加密处理的标识符可以相同,也可以不同。
360.只要数据收集服务器2024和终端2021双方都具备实施该处理的功能,就可以提供数据收集服务器2024和终端2021之间的认证或数据加密处理,而不依赖于进行中继的通信装置2022所使用的通信方式。因此,可以不考虑终端2021是否使用通信方式而使用共同的认证或加密处理,从而提高了用户的系统构建的便利性。然而,不依赖于进行中继的通信装置2022所使用的通信方式意味着不需要根据通信方式来变更认证或加密处理。即,为了提高传输效率或确保安全性,可以根据中继装置所使用的通信方式来切换数据收集服务器2024和终端2021之间的认证或数据加密处理。
361.数据收集服务器2024可向客户端装置2026提供ui,所述ui管理从终端2021收集的位置关联数据的种类和数据收集的时间表(schedule)等数据收集规则。由此,用户可以使用客户端装置2026指定用于收集数据的终端2021以及数据的收集时间和频率等。另外,数据收集服务器2024可以指定想要收集数据的地图上的区域,并且从该区域中包含的终端2021收集位置关联数据。
362.在以终端2021单位管理数据收集规则的情况下,客户端装置2026例如在画面中提示成为管理对象的终端2021或传感器的列表。用户对列表的每个项目设定是否需要收集数据或收集时间表等。
363.在指定想要收集数据的地图上的区域等的情况下,客户端装置2026例如在画面中提示成为管理对象的地域的二维或三维地图。用户在所显示的地图上选择收集数据的区域。地图上选择的区域可以是以地图上指定的点为中心的圆形或矩形区域,也可以是通过拖曳动作可确定的圆形或矩形区域。另外,客户端装置2026可基于城市、城市中的区域、街区或主要道路等预先确定的单位来选择区域。另外,也可以不使用地图来指定区域,而是输入纬度和经度的数值来设定区域,还可以从基于所输入的文本信息导出的候选区域的列表中选择区域。文本信息例如是地域、城市、或地标的名称等。
364.另外,用户也可以通过指定一个或多个终端2021来设定该终端2021的周围100米的范围内等条件,从而一边动态地变更指定区域一边进行数据的收集。
365.另外,在客户端装置2026具备相机等传感器的情况下,可基于从传感器数据获得的客户端装置2026在实际空间中的位置来指定地图上的区域。例如,客户端装置2026可以使用传感器数据来估计自身位置,并将距地图上与对应于估计位置的点预定距离或用户指定距离范围内的区域指定为收集数据的区域。此外,客户端装置2026可以指定传感器的感测区域即与所获得的传感器数据对应的区域作为收集数据的区域。或者,客户端装置2026可以指定基于与用户指定的传感器数据对应的位置的区域作为收集数据的区域。对应于传感器数据的地图上的区域或位置的估计可以由客户端装置2026进行,也可以由数据收集服务器2024进行。
366.也可以是,当在地图上的区域中进行指定时,数据收集服务器2024通过收集各终端2021的当前位置信息来确定所指定的区域内的终端2021,并请求所确定的终端2021发送位置关联数据。此外,也可以是,数据收集服务器2024不确定区域内的终端2021,而是数据收集服务器2024将表示所指定的区域的信息发送到终端2021,判定终端2021是否在自身指定的区域内,在判断为在指定的区域内的情况下发送位置关联数据。
367.数据收集服务器2024将用于在客户端装置2026执行的应用中提供上述ui(userinterface,用户界面)的列表或地图等数据发送到客户端装置2026。数据收集服务器2024不仅可以向客户端装置2026发送列表或地图等数据,还可以发送应用的程序。另外,上述ui也可以作为可在浏览器中显示的html等制作的内容来提供。另外,地图数据等一部分数据也可以从地图服务器2025等数据收集服务器2024以外的服务器提供。
368.当进行用户按下设置按钮等通知完成了输入的输入时,客户端装置2026将输入的信息作为设定信息发送到数据收集服务器2024。数据收集服务器2024基于从客户端装置2026接收到的设定信息,将通知位置关联数据的请求或位置关联数据的收集规则的信号发送到各终端2021,来进行位置关联数据的收集。
369.接着,将说明基于附加到三维或二维地图数据的附加信息来控制终端2021的动作的例子。
370.在本结构中,表示道路或停车场中埋设的无线供电的供电天线或供电线圈的供电部的位置的对象信息被包含在三维数据中,或者与三维数据建立对应地被提供给汽车或无人机等终端2021。
371.为了进行充电而获得了该对象信息的车辆或无人机,以自动驾驶的方式移动车辆自身的位置,使车辆所具备的充电天线或充电线圈等充电部的位置成为与该对象信息表示的区域相向的位置,并开始充电。另外,在不具备自动驾驶功能的车辆或无人机的情况下,利用显示在画面上的图像或声音等,向驾驶员或操纵者提示应移动的方向或应进行的操作。并且,当判断为基于估计出的自身位置计算出的充电部的位置进入对象信息所示的区域或者距该区域在规定的距离的范围内时,切换提示为中止驾驶或者操纵的内容的图像或者声音,并开始充电。
372.另外,对象信息可以不是表示供电部的位置的信息,而是表示在该区域内配置充电部时能够得到规定的阈值以上的充电效率的区域的信息。对象信息的位置可以由对象信息所示的区域的中心的点来表示,也可以由二维平面内的区域或线、或者三维空间内的区域、线或平面等来表示。
373.根据该结构,能够掌握通过lider的感测数据或由相机拍摄的影像无法掌握的供电天线的位置,因此能够更高精度地进行车辆等终端2021所具备的无线充电用的天线与埋设于道路等的无线供电天线的位置对准。其结果,可以缩短无线充电时的充电速度,并且可以提高充电效率。
374.对象信息也可以是供电天线以外的对象物。例如,三维数据包含作为对象信息的毫米波无线通信的ap的位置等。由此,终端2021可以事先掌握ap的位置,因此可以在波束的指向性指向该对象信息的方向的情况下开始通信。其结果,能够实现传输速度的提高、到通信开始为止的时间的缩短、以及延长可通信的期间等通信品质的提高。
375.对象信息可以包含表示与该对象信息对应的对象物的类型的信息。此外,对象信息也可以包含如下信息:表示在终端2021包含在与该对象信息的三维数据上的位置对应的实际空间中的区域内或者在距区域在规定距离的范围内的情况下,终端2021应实施的处理。
376.对象信息可以从与提供三维数据的服务器不同的服务器提供。在与三维数据分开提供对象信息的情况下,保存有在同一服务中使用的对象信息的对象组可根据对象服务或对象设备的种类而分别作为不同的数据来提供。
377.与对象信息组合使用的三维数据可以是wld的点群数据,也可以是swld的特征点数据。
378.(实施方式6)
379.以下,对八叉树表现与体素的扫描顺序进行说明。体积被变换为八叉树结构(八叉树化)后,被编码。八叉树结构由节点和叶节点(leaf node)构成。各节点具有8个节点或叶节点,各叶节点具有体素(vxl)信息。图22示出了包括多个体素的体积的构成例。图23示出了将图22所示的体积变换为八叉树结构的例子。在此,图23所示的叶节点之中的叶节点1、2、3,分别表示图22所示的体素vxl1、vxl2、vxl3,表现了包括点群的vxl(以下记作有效
vxl)。
380.八叉树例如以0、1的二值序列来表现。例如在将节点或有效vxl设为值1,除此以外的设为值0时,在各节点以及叶节点被分配图23所示的二值序列。于是,按照宽度优先或深度优先的扫描顺序,该二值序列被扫描。例如在以宽度优先进行了扫描的情况下,得到图24的a所示的二值序列。在以深度优先进行了扫描的情况下,得到图24的b所示的二值序列。通过该扫描得到的二值序列由熵编码来编码,从而信息量减少。
381.接着,对八叉树表现中的深度信息进行说明。八叉树表现中的深度用于将体积内所包含的点云信息保持到哪一个粒度为止的控制中。若将深度设定得大,则能够以更加细小的级别来再现点云信息,但是用于表现节点以及叶节点的数据量就会增加。相反,若将深度设定得小,虽然可以减少数据量,但是多个不同位置以及颜色不同的点云信息会被视为同一位置且同一颜色,因此会失去本来的点云信息所具有的信息。
382.例如,图25示出了将图23所示的深度=2的八叉树,以深度=1的八叉树来表现的例子。图25所示的八叉树比图23所示的八叉树的数据量少。即,图25所示的八叉树与图25所示的八叉树相比,二值序列化后的比特数少。在此,图23所示的叶节点1和叶节点2成为,以图24所示的叶节点1来表现。即,失去了图23所示的叶节点1与叶节点2为不同的位置这一信息。
383.图26示出了与图25所示的八叉树对应的体积。图22所示的vxl1和vxl2与图26所示的vxl12对应。在这种情况下,三维数据编码装置根据图22所示的vxl1和vxl2的颜色信息,生成图26所示的vxl12的颜色信息。例如,三维数据编码装置将vxl1和vxl2的颜色信息的平均值、中间值、或权重平均值等作为vxl12的颜色信息来算出。这样,三维数据编码装置通过改变八叉树的深度,从而能够对数据量的减少进行控制。
384.三维数据编码装置也可以利用世界空间单位、空间单位、以及体积单位中的任一个单位来设定八叉树的深度信息。并且,此时,三维数据编码装置也可以将深度信息附加到世界空间的头部信息、空间的头部信息、或体积的头部信息。并且,也可以在时间不同的所有的世界空间、空间、以及体积中,作为深度信息而使用相同的值。在这种情况下,三维数据编码装置也可以将深度信息附加到对所有时间的世界空间进行管理的头部信息。
385.(实施方式7)
386.以下,作为对三维点的属性信息进行编码的其他方法,说明使用了raht(region adaptive hierarchical transform:区域自适应分层变换)的方法。图27是用于说明使用了raht的属性信息的编码的图。
387.首先,三维数据编码装置基于三维点的位置信息生成莫顿编码(morton code),按照莫顿编码顺序对三维点的属性信息进行排序(sort)。例如,三维数据编码装置可以按照莫顿编码的升序进行排序。此外,排序顺序不限于莫顿编码顺序,也可以使用其他顺序。
388.接着,三维数据编码装置通过对按照莫顿编码顺序相邻的2个三维点的属性信息应用haar变换,生成阶层l的高频成分和低频成分。例如,三维数据编码装置也可以使用2
×
2矩阵的haar变换。所生成的高频成分作为阶层l的高频成分被包含在编码系数中,所生成的低频成分被用作阶层l的上位阶层l 1的输入值。
389.三维数据编码装置在使用阶层l的属性信息生成阶层l的高频成分之后,继续进行阶层l 1的处理。在阶层l 1的处理中,三维数据编码装置通过对通过阶层l的属性信息的
haar变换而得到的2个低频成分应用haar变换来生成阶层l 1的高频成分和低频成分。所生成的高频成分作为阶层l 1的高频成分被包含在编码系数中,所生成的低频成分被用作阶层l 1的上位阶层l 2的输入值。
390.三维数据编码装置反复进行这样的阶层处理,在输入到阶层的低频成分成为1个的时间点,判定为到达了最上位阶层lmax。三维数据编码装置将输入到阶层lmax的阶层lmax-1的低频成分包含在编码系数中。然后,对编码系数所包含的低频成分或高频成分的值进行量化,使用熵编码等进行编码。
391.此外,在仅存在1个三维点作为应用haar变换时相邻的2个三维点的情况下,三维数据编码装置也可以将存在的1个三维点的属性信息的值用作上位阶层的输入值。
392.这样,三维数据编码装置对输入的属性信息分层地应用haar变换,生成属性信息的高频成分和低频成分,应用后述的量化等进行编码。由此,能够提高编码效率。
393.在属性信息为n维的情况下,三维数据编码装置也可以按每个维独立地应用haar变换,计算各自的编码系数。例如,在属性信息是颜色信息(rgb或yuv等)的情况下,三维数据编码装置按每个成分应用haar变换,计算各自的编码系数。
394.三维数据编码装置也可以按照阶层l、l 1、

、阶层lmax的顺序应用haar变换。生成越接近阶层lmax包含越多输入的属性信息的低频成分的编码系数。
395.图27所示的w0和w1是分配给各三维点的权重。例如,三维数据编码装置也可以基于应用haar变换的相邻的2个三维点间的距离信息等来计算权重。例如,三维数据编码装置也可以通过距离越近则越增大权重来提高编码效率。另外,三维数据编码装置可以通过其他方法计算该权重,也可以不使用权重。
396.在图27所示的例子中,输入属性信息是a0、a1、a2、a3、a4以及a5。另外,对haar变换后的编码系数中的ta1、ta5、tb1、tb3、tc1、d0进行编码。其他的编码系数(b0、b2、c0等)为中间值,不被编码。
397.具体而言,在图27所示的例子中,通过对a0和a1进行haar变换,生成高频成分ta1和低频成分b0。在此,在权重w0与w1相等的情况下,低频成分b0是a0与a1的平均值,高频成分ta1是a0与a1的差分。
398.由于在a2中不存在成对的属性信息,因此a2直接用作b1。同样地,由于在a3中不存在成对的属性信息,因此a3直接用作b2。另外,通过对a4和a5进行haar变换,生成高频成分ta5和低频成分b3。
399.在阶层l 1中,通过对b0和b1进行haar变换,生成高频成分tb1和低频成分c0。同样地,通过对b2和b3进行haar变换,生成高频成分tb3和低频成分c1。
400.在阶层lmax-1中,通过对c0和c1进行haar变换,生成高频成分tc1和低频成分d0。
401.三维数据编码装置也可以在对应用haar变换后的编码系数进行了量化的基础上进行编码。例如,三维数据编码装置通过将编码系数除以量化尺度(也称为量化步长(qs(quantization step)))来进行量化。在这种情况下,量化尺度越小,通过量化产生的误差(量化误差)越小。相反,量化尺度越大,量化误差越大。
402.此外,三维数据编码装置也可以按每个阶层改变量化尺度的值。图28是表示按每个阶层设定量化尺度的例子的图。例如,三维数据编码装置越是上位层,越减小量化尺度,越是下位层,越增大量化尺度。属于上位层的三维点的编码系数比下位层更多地包含低频
成分,因此在人的视觉特性等中是重要的成分的可能性高。因此,通过减小上位层的量化尺度来抑制在上位层产生的量化误差来抑制视觉上的劣化,能够提高编码效率。
403.此外,三维数据编码装置也可以将每个阶层的量化尺度附加到头部等。由此,三维数据解码装置能够正确地对量化尺度进行解码,能够适当地对比特流进行解码。
404.另外,三维数据编码装置也可以根据编码对象的对象三维点的重要度,自适应地切换量化尺度的值。例如,三维数据编码装置在重要度高的三维点使用小的量化尺度,在重要度低的三维点使用大的量化尺度。例如,三维数据编码装置也可以根据haar变换时的权重等计算重要度。例如,三维数据编码装置也可以使用w0和w1的相加值来计算量化尺度。这样,通过减小重要度高的三维点的量化尺度,量化误差变小,能够改善编码效率。
405.另外,也可以越是上位层,越减小qs的值。由此,越是上位层qw的值越大,通过抑制该三维点的量化误差,能够改善预测效率。
406.这里,属性信息a1的编码系数ta1的量化后的编码系数ta1q由ta1/qs_l表示。此外,qs也可以是在所有的阶层或一部分的阶层中相同的值。
407.qw(quantization weight)是表示编码对象的三维点的重要度的值。例如,也可以使用上述的w0和w1的相加值作为qw。由此,越是上位层qw的值越大,通过抑制该三维点的量化误差,能够改善预测效率。
408.例如,三维数据编码装置也可以最初将所有的三维点中的qw的值用1初始化,使用haar变换时的w0和w1的值来更新各三维点的qw。或者,三维数据编码装置也可以不将所有的三维点的qw用值1来初始化,而是根据阶层来变更初始值。例如,通过越是上位层将qw的初始值设定得越大,上位层的量化尺度变小。由此,能够抑制上位层的预测误差,因此能够提高下位层的预测精度,改善编码效率。另外,三维数据编码装置也可以不必使用qw。
409.在使用qw的情况下,通过(式k1)和(式k2)计算ta1的量化值ta1q。
410.【数式1】
[0411][0412][0413]
另外,三维数据编码装置按照某个顺序对量化后的编码系数(无符号整数值)进行扫描,并进行编码。例如,三维数据编码装置从上位层所包含的三维点开始依次朝向下位层对多个三维点进行编码。
[0414]
例如,在图27所示的例子的情况下,三维数据编码装置按照从上位层lmax中包含的d0q到tc1q、tb1q、tb3q、ta1q、ta5q的顺序对多个三维点进行编码。在此,存在越是下位层l,量化后的编码系数越容易成为0的倾向。作为其主要原因,提出以下的情况等。
[0415]
下位层l的编码系数表示高于上位层的频率成分,因此存在因对象三维点而容易变为0的倾向。另外,通过与上述的重要度等相应的量化尺度的切换,越是下位层,量化尺度越大,量化后的编码系数越容易成为0。
[0416]
这样,越是下位层,量化后的编码系数越容易成为0,值0容易连续地在第1编码串中产生。图29是表示第1编码串和第2编码串的例子的图。
[0417]
三维数据编码装置对在第1编码串中产生了值0的次数进行计数,并取代连续的值0而对值0连续产生的次数进行编码。即,三维数据编码装置通过将在第1编码串中连续的值0的编码系数置换为0的连续次数(zerocnt)来生成第2编码串。由此,在量化后的编码系数的值0连续的情况下,与对大量的0进行编码相比,通过对0的连续次数进行编码,能够提高编码效率。
[0418]
此外,三维数据编码装置也可以对zerocnt的值进行熵编码。例如,三维数据编码装置以编码三维点的总数t的截断一元编码(truncated unary code)对zerocnt的值进行二值化,对二值化后的各比特进行算术编码。图30是表示在编码三维点的总数是t的情况下的截断一元编码的例子的图。此时,三维数据编码装置也可以通过使用按每个比特而不同的编码表来提高编码效率。例如,在三维数据编码装置中,在第1比特中使用编码表1,在第2比特中使用编码表2,在其以后的比特中使用编码表3。这样,三维数据编码装置通过对每个比特切换编码表,能够提高编码效率。
[0419]
另外,三维数据编码装置也可以在用指数哥伦布(exponential-golomb)对zerocnt进行二值化之后进行算术编码。由此,在zerocnt的值容易变大的情况下,与基于截断一元编码的二值化算术编码相比,能够提高效率。此外,三维数据编码装置也可以将用于切换使用截断一元编码还是使用指数哥伦布的标志附加到头部。由此,三维数据编码装置通过选择最佳的二值化方法,能够提高编码效率。另外,三维数据解码装置参照头部中包含的标志来切换二值化方法,能够正确地对比特流进行解码。
[0420]
三维数据解码装置也可以通过与由三维数据编码装置进行的方法相反的方法,将解码后的量化后的编码系数从无符号整数值变换为带符号整数值。由此,在对编码系数进行熵编码的情况下,三维数据解码装置能够不考虑负的整数的产生而适当地对生成的比特流进行解码。另外,三维数据解码装置不需要将编码系数从无符号整数值变换为带符号整数值。例如,在另外对包含熵编码后的符号比特的比特流进行解码的情况下,三维数据解码装置也可以对该符号比特进行解码。
[0421]
三维数据解码装置通过逆量化和逆haar变换对变换为带符号整数值的量化后的编码系数进行解码。另外,三维数据解码装置将解码出的编码系数利用于解码对象的三维点以后的预测。具体而言,三维数据解码装置通过对量化后的编码系数乘以解码后的量化尺度来计算逆量化值。接着,三维数据解码装置通过对逆量化值应用后述的逆haar变换而得到解码值。
[0422]
例如,三维数据解码装置将被解码的无符号整数值通过以下的方法变换为带符号整数值。在被解码的无符号整数值a2u的lsb(least significant bit)为1的情况下,带符号整数值ta1q被设定为-((a2u 1)>>1)。在被解码的无符号整数值a2u的lsb不是1的情况下(为0的情况下),带符号整数值ta1q被设定为(a2u>>1)。
[0423]
此外,ta1的逆量化值由ta1q
×
qs_l表示。在此,ta1q是ta1的量化值。此外,qs_l是阶层l的量化步长。
[0424]
此外,qs可以是在所有的阶层或一部分阶层中相同的值。另外,三维数据编码装置也可以将表示qs的信息附加到头部等。由此,三维数据解码装置能够使用与在三维数据编
码装置中使用的qs相同的qs,正确地进行逆量化。
[0425]
接着,对逆haar变换进行说明。图31是用于说明逆haar变换的图。三维数据解码装置通过对逆量化后的编码系数应用逆haar变换来对三维点的属性值进行解码。
[0426]
首先,三维数据解码装置基于三维点的位置信息生成莫顿编码,按照莫顿编码顺序对三维点进行排序。例如,三维数据解码装置可以按照莫顿编码的升序进行排序。此外,排序顺序不限于莫顿编码顺序,也可以使用其他顺序。
[0427]
接着,三维数据解码装置通过对包含阶层l 1的低频成分的编码系数和包含阶层l的高频成分的编码系数应用逆haar变换,复原在阶层l中按照莫顿编码顺序相邻的三维点的属性信息。例如,三维数据解码装置也可以使用2
×
2矩阵的逆haar变换。被复原的阶层l的属性信息被用作下位阶层l-1的输入值。
[0428]
三维数据解码装置反复这样的阶层处理,如果最下层的属性信息全部被解码,则结束处理。另外,在仅存在1个三维点作为应用逆haar变换时在阶层l-1中相邻的2个三维点的情况下,三维数据解码装置也可以将阶层l的编码成分的值代入存在的1个三维点的属性值。由此,三维数据解码装置对输入的属性信息的所有值应用haar变换,能够正确地对提高了编码效率的比特流进行解码。
[0429]
在属性信息为n维的情况下,三维数据解码装置也可以按每个维独立地应用逆haar变换,对各自的编码系数进行解码。例如,在属性信息是颜色信息(rgb或yuv等)的情况下,三维数据解码装置对每个成分的编码系数应用逆haar变换,对各自的属性值进行解码。
[0430]
三维数据解码装置也可以按照阶层lmax、l 1、

、阶层l的顺序应用逆haar变换。另外,图31所示的w0和w1是分配给各三维点的权重。例如,三维数据解码装置也可以基于应用逆haar变换的相邻的2个三维点间的距离信息等来计算权重。例如,三维数据编码装置也可以通过距离越近则越增大权重来对提高了编码效率的比特流进行解码。
[0431]
在图31所示的例子中,逆量化后的编码系数是ta1、ta5、tb1、tb3、tc1以及d0,作为解码值能够得到a0、a1、a2、a3、a4以及a5。
[0432]
图32是表示属性信息(attribute_data)的句法例的图。属性信息(attribute_data)包含零连续数(zerocnt)、属性维数(attribute_dimension)和编码系数(value[j][i])。
[0433]
零连续数(zerocnt)表示在量化后的编码系数中值0连续的次数。此外,三维数据编码装置也可以在对zerocnt进行二值化之后进行算术编码。
[0434]
另外,如图32所示,三维数据编码装置也可以判定编码系数所属的阶层l(layerl)是否为预先确定的阈值th_layer以上,根据判定结果切换对比特流附加的信息。例如,如果判定结果为真,则三维数据编码装置将属性信息的所有的编码系数附加到比特流。另外,如果判定结果为假,则三维数据编码装置也可以将一部分的编码系数附加到比特流。
[0435]
具体而言,如果判定结果为真,则三维数据编码装置将颜色信息的rgb或yuv的三维信息的编码结果附加到比特流。如果判定结果为假,则三维数据编码装置也可以将颜色信息中的g或y等一部分信息附加到比特流,不将除此以外的成分附加到比特流。这样,三维数据编码装置通过不将包含表示在视觉上劣化不显著的高频成分的编码系数的阶层(比th_layer小的阶层)的编码系数的一部分附加到比特流,能够提高编码效率。
[0436]
属性维数(attribute_dimension)表示属性信息的维数。例如,在属性信息为三维
点的颜色信息(rgb或yuv等)的情况下,颜色信息为三维,因此属性维数被设定为值3。在属性信息为反射率的情况下,反射率为一维,因此属性维数被设定为值1。此外,属性维数也可以附加到比特流的属性信息的头部等。
[0437]
编码系数(value[j][i])表示第i个三维点的第j维属性信息的量化后的编码系数。例如,在属性信息是颜色信息的情况下,value[99][1]表示第100个三维点的第2维(例如g值)的编码系数。另外,在属性信息是反射率信息的情况下,value[119][0]表示第120个三维点的第1维(例如反射率)的编码系数。
[0438]
此外,在满足以下的条件的情况下,三维数据编码装置也可以从value[j][i]减去值1,对得到的值进行熵编码。在这种情况下,三维数据解码装置通过将值1与熵解码后的value[j][i]相加来复原编码系数。
[0439]
上述条件是(1)attribute_dimension=1的情况,或者(2)attribute_dimension为1以上且所有维的值相等的情况。例如,在属性信息是反射率的情况下,attribute_dimension=1,因此,三维数据编码装置从编码系数中减去值1来计算value,并对计算出的value进行编码。三维数据解码装置将值1与解码后的value相加来计算编码系数。
[0440]
更具体而言,例如,在反射率的编码系数为10的情况下,三维数据编码装置对从编码系数的值10减去值1而得到的值9进行编码。三维数据解码装置将值1与解码后的值9相加,计算编码系数的值10。
[0441]
另外,在属性信息为颜色的情况下,attribute_dimension=3,因此,例如,在r、g、b的各成分的量化后的编码系数相同的情况下,三维数据编码装置从各编码系数减去值1,对得到的值进行编码。三维数据解码装置对解码后的值加上值1。更具体而言,例如,在r、g、b的编码系数=(1,1,1)的情况下,三维数据编码装置对(0,0,0)进行编码。三维数据解码装置对(0,0,0)的各成分加上1,计算出(1,1,1)。另外,在r、g、b的编码系数=(2,1,2)的情况下,三维数据编码装置直接对(2,1,2)进行编码。三维数据解码装置将解码的(2,1,2)直接用作编码系数。
[0442]
这样,通过设置zerocnt,不生成作为value的所有维为0的模式,因此能够对从value的值减去1而得到的值进行编码。因此,能够提高编码效率。
[0443]
另外,图32所示的value[0][i]表示第i个三维点的第1维属性信息的量化后的编码系数。如图32所示,如果编码系数所属的阶层l(layerl)小于阈值th_layer,则也可以通过将第1维的属性信息附加到比特流(不对第2维以后的属性信息附加比特流)来削减编码量。
[0444]
三维数据编码装置也可以根据attribute_dimension的值来切换zerocnt的值的计算方法。例如,在attribute_dimension=3的情况下,三维数据编码装置可以对所有成分(维)的编码系数的值为0的次数进行计数。图33是表示该情况下的编码系数和zerocnt的例子的图。例如,在图33所示的颜色信息的情况下,三维数据编码装置对r、g、b成分全部为0的编码系数连续的数量进行计数,将计数的数量作为zerocnt附加到比特流。由此,不需要按每个成分对zerocnt进行编码,能够削减开销。因此,能够改善编码效率。此外,在attribute_dimension为2以上的情况下,三维数据编码装置也可以按每个维计算zerocnt,将计算出的zerocnt附加到比特流。
[0445]
图34是本实施方式的三维数据编码处理的流程图。首先,三维数据编码装置对位
置信息(geometry)进行编码(s6601)。例如,三维数据编码装置使用八叉树表现进行编码。
[0446]
接着,三维数据编码装置对属性信息进行变换(s6602)。例如三维数据编码装置在位置信息的编码后,在三维点的位置由于量化等而变化的情况下,对变化后的三维点重新分配原来的三维点的属性信息。此外,三维数据编码装置也可以根据位置的变化量对属性信息的值进行插值来进行重新分配。例如,三维数据编码装置检测n个接近变化后的三维位置的变化前的三维点,对n个三维点的属性信息的值基于从变化后的三维位置到各n个三维点的距离进行加权平均,将得到的值设定为变化后的三维点的属性信息的值。另外,在由于量化等而2个以上的三维点变化到同一三维位置的情况下,三维数据编码装置也可以分配变化前的2个以上的三维点中的属性信息的平均值作为该变化后的属性信息的值。
[0447]
接着,三维数据编码装置对属性信息进行编码(s6603)。例如,在对多个属性信息进行编码的情况下,三维数据编码装置也可以依次对多个属性信息进行编码。例如,在作为属性信息对颜色和反射率进行编码的情况下,三维数据编码装置生成在颜色的编码结果之后附加了反射率的编码结果的比特流。另外,附加到比特流的属性信息的多个编码结果可以是任何顺序。
[0448]
另外,三维数据编码装置也可以将比特流内的各属性信息的表示编码数据开始部位的信息附加到头部等。由此,三维数据解码装置能够选择性地对需要解码的属性信息进行解码,因此能够省略不需要解码的属性信息的解码处理。因此,能够削减三维数据解码装置的处理量。此外,三维数据编码装置也可以并行地对多个属性信息进行编码,并将编码结果合并为1个比特流。由此,三维数据编码装置能够高速地对多个属性信息进行编码。
[0449]
图35是属性信息编码处理(s6603)的流程图。首先,三维数据编码装置通过haar变换从属性信息生成编码系数(s6611)。接着,三维数据编码装置对编码系数应用量化(s6612)。接着,三维数据编码装置通过对量化后的编码系数进行编码来生成编码属性信息(比特流)(s6613)。
[0450]
此外,三维数据编码装置对量化后的编码系数应用逆量化(s6614)。接着,三维数据解码装置通过对逆量化后的编码系数应用逆haar变换来对属性信息进行解码(s6615)。例如,解码后的属性信息在后续的编码中被参照。
[0451]
图36是编码系数编码处理(s6613)的流程图。首先,三维数据编码装置将编码系数从带符号整数值变换为无符号整数值(s6621)。例如,三维数据编码装置将带符号整数值如下述那样变换为无符号整数值。在带符号整数值ta1q小于0的情况下,无符号整数值被设定为-1-(2
×
ta1q)。在带符号整数值ta1q为0以上的情况下,无符号整数值被设定为2
×
ta1q。此外,在编码系数不成为负值的情况下,三维数据编码装置也可以将编码系数直接作为无符号整数值进行编码。
[0452]
在未处理完所有的编码系数的情况下(s6622的“否”),三维数据编码装置判定处理对象的编码系数的值是否为零(s6623)。在处理对象的编码系数的值为零的情况下(s6623的“是”),三维数据编码装置使zerocnt递增1(s6624),返回到步骤s6622。
[0453]
在处理对象的编码系数的值不为零的情况下(s6623的“否”),三维数据编码装置对zerocnt进行编码,将zerocnt重置为0(s6625)。另外,三维数据编码装置对处理对象的编码系数进行算术编码(s6626),返回到步骤s6622。例如,三维数据编码装置进行二值算术编码。另外,三维数据编码装置也可以从编码系数减去值1,对得到的值进行编码。
[0454]
另外,对每个编码系数反复进行步骤s6623~s6626的处理。另外,在已处理完所有的编码系数的情况下(s6622的“是”),三维数据编码装置结束处理。
[0455]
图37是本实施方式的三维数据解码处理的流程图。首先,三维数据解码装置从比特流中解码位置信息(geometry)(s6631)。例如,三维数据解码装置使用八叉树表现进行解码。
[0456]
接着,三维数据解码装置从比特流中解码属性信息(s6632)。例如,在对多个属性信息进行解码的情况下,三维数据解码装置也可以依次对多个属性信息进行解码。例如,在作为属性信息对颜色和反射率进行解码的情况下,三维数据解码装置按照附加到比特流的顺序,对颜色的编码结果和反射率的编码结果进行解码。例如,在比特流中,在颜色的编码结果之后附加有反射率的编码结果的情况下,三维数据解码装置对颜色的编码结果进行解码,然后对反射率的编码结果进行解码。另外,三维数据解码装置按照怎样的顺序对附加于比特流的属性信息的编码结果进行解码都可以。
[0457]
另外,三维数据解码装置也可以通过对头部等进行解码来获得比特流内的各属性信息的表示编码数据的开始部位的信息。由此,三维数据解码装置能够选择性地对需要解码的属性信息进行解码,因此能够省略不需要解码的属性信息的解码处理。因此,能够削减三维数据解码装置的处理量。另外,三维数据解码装置也可以并行地对多个属性信息进行解码,将解码结果合并到1个三维点群。由此,三维数据解码装置能够高速地对多个属性信息进行解码。
[0458]
图38是属性信息解码处理(s6632)的流程图。首先,三维数据解码装置从比特流中解码编码系数(s6641)。接着,三维数据解码装置对编码系数应用逆量化(s6642)。接着,三维数据解码装置通过对逆量化后的编码系数应用逆haar变换来对属性信息进行解码(s6643)。
[0459]
图39是编码系数解码处理(s6641)的流程图。首先,三维数据解码装置从比特流中解码zerocnt(s6651)。在未处理完所有的编码系数的情况下(s6652的“否”),三维数据解码装置判定zerocnt是否大于0(s6653)。
[0460]
在zerocnt大于零的情况下(s6653的“是”),三维数据解码装置将处理对象的编码系数设定为0(s6654)。接着,三维数据解码装置对zerocnt减去1(s6655),返回到步骤s6652。
[0461]
在zerocnt为零的情况下(s6653的“否”),三维数据解码装置对处理对象的编码系数进行解码(s6656)。例如,三维数据解码装置使用二值算术解码。另外,三维数据解码装置也可以对解码出的编码系数加上值1。
[0462]
接着,三维数据解码装置对zerocnt进行解码,将得到的值设定为zerocnt(s6657),返回到步骤s6652。
[0463]
此外,对每个编码系数反复进行步骤s6653~s6657的处理。另外,在已处理完所有的编码系数的情况下(s6652的“是”),三维数据编码装置将解码出的多个编码系数从无符号整数值变换为带符号整数值(s6658)。例如,三维数据解码装置也可以如下述那样将解码出的编码系数从无符号整数值变换为带符号整数值。在被解码的无符号整数值ta1u的lsb(least significant bit)为1的情况下,带符号整数值ta1q被设定为-((ta1u 1)>>1)。在被解码的无符号整数值ta1u的lsb不是1的情况下(为0的情况下),带符号整数值ta1q被
设定为(ta1u>>1)。此外,在编码系数不成为负值的情况下,三维数据解码装置也可以将解码出的编码系数直接用作带符号整数值。
[0464]
图40是三维数据编码装置所包含的属性信息编码部6600的框图。属性信息编码部6600具备排序部6601、haar变换部6602、量化部6603、逆量化部6604、逆haar变换部6605、存储器6606以及算术编码部6607。
[0465]
排序部6601使用三维点的位置信息生成莫顿编码,按照莫顿编码顺序对多个三维点进行排序。haar变换部6602通过对属性信息应用haar变换来生成编码系数。量化部6603对属性信息的编码系数进行量化。
[0466]
逆量化部6604对量化后的编码系数进行逆量化。逆haar变换部6605对编码系数应用逆haar变换。存储器6606存储已解码的多个三维点的属性信息的值。例如,存储器6606中存储的已解码的三维点的属性信息也可以利用于未被编码的三维点的预测等。
[0467]
算术编码部6607根据量化后的编码系数计算zerocnt,对zerocnt进行算术编码。另外,算术编码部6607对量化后的非零的编码系数进行算术编码。算术编码部6607可以在算术编码前对编码系数进行二值化。另外,算术编码部6607也可以生成和编码各种头部信息。
[0468]
图41是三维数据解码装置所包含的属性信息解码部6610的框图。属性信息解码部6610具备算术解码部6611、逆量化部6612、逆haar变换部6613以及存储器6614。
[0469]
算术解码部6611对比特流所包含的zerocnt和编码系数进行算术解码。另外,算术解码部6611也可以对各种头部信息进行解码。
[0470]
逆量化部6612对算术解码出的编码系数进行逆量化。逆haar变换部6613对逆量化后的编码系数应用逆haar变换。存储器6614存储已解码的多个三维点的属性信息的值。例如,存储器6614中存储的已解码的三维点的属性信息也可以利用于未被解码的三维点的预测。
[0471]
另外,在上述实施方式中,示出了作为编码顺序从下位层到上位层的顺序对三维点进行编码的例子,但未必限于此。例如,也可以使用从上位层到下位层的顺序扫描haar变换后的编码系数的方法。此外,在该情况下,三维数据编码装置也可以将值0的连续次数作为zerocnt来进行编码。
[0472]
另外,三维数据编码装置也可以以wld、spc或体积单位切换是否使用本实施方式中所述的使用了zerocnt的编码方法。在该情况下,三维数据编码装置也可以将表示是否应用了使用了zerocnt的编码方法的信息附加到头部信息。由此,三维数据解码装置能够适当地进行解码。作为切换方法的例子,例如,三维数据编码装置对1个体积对值0的编码系数的产生次数进行计数。三维数据编码装置在计数值超过了预先确定的阈值的情况下,对下一个体积应用使用了zerocnt的方法,在计数值为阈值以下的情况下,不对下一个体积应用使用了zerocnt的方法。由此,三维数据编码装置能够根据编码对象的三维点的特征来适当地切换是否应用使用了zerocnt的编码方法,因此能够提高编码效率。
[0473]
以下,对本实施方式的其他方法(变形例)进行说明。三维数据编码装置按照某个顺序扫描量化后的编码系数(无符号整数值),进行编码。例如,三维数据编码装置从下位层中包含的三维点开始依次朝向上位层对多个三维点进行编码。
[0474]
图42是表示在使用该方法的情况下图27所示的属性信息的第一编码串和第二编
码串的例子的图。在该例子的情况下,三维数据编码装置从下位层l中包含的ta1q开始按照ta5q、tb1q、tb3q、tc1q和d0q的顺序对多个编码系数进行编码。这里,存在越是下位层,量化后的编码系数越容易成为0的倾向。作为其主要原因,可以举出以下等。
[0475]
由于下位层l的编码系数表示比上位层高的频率成分,所以存在根据编码对象的三维点而容易成为0的倾向。此外,通过切换与上述重要程度等相应的量化尺度,越是下位层量化尺度越大,并且量化后的编码系数容易变为0。
[0476]
这样,越是下位层,量化后的编码系数越容易成为0,值0越容易连续地在第一编码串中产生。三维数据编码装置对在第一编码串中产生了值0的次数进行计数,并且代替连续的值0,对值0连续产生的次数(zerocnt)进行编码。由此,在量化后的编码系数的值0连续的情况下,与对大量的0进行编码相比,通过对0的连续次数进行编码,能够提高编码效率。
[0477]
此外,三维数据编码装置也可以将表示值0的产生次数的总数的信息进行编码。由此,能够削减对zerocnt进行编码的开销,并且能够提高编码效率。
[0478]
例如,三维数据编码装置将值0的编码系数的总数作为totalzerocnt进行编码。由此,在图42所示的例子中,在三维数据解码装置解码包含在第二编码串中的第二个zerocnt(值1)的时间点,已解码的zerocnt的总数成为n 1(=totalzerocnt)。因此,三维数据解码装置能够掌握此后不产生0的情况。因此,三维数据编码装置以后不需要按每个value对zerocnt进行编码,能够削减编码量。
[0479]
此外,也可以是,三维数据编码装置对totalzerocnt进行熵编码。例如,三维数据编码装置用编码三维点的总数t的截断一元编码将totalzerocnt的值进行二值化,对二值化后的各比特进行算术编码。此时,三维数据编码装置也可以通过对每个比特使用不同的编码表来提高编码效率。例如,三维数据编码装置在第1比特使用编码表1,在第2比特使用编码表2,在其以后的比特使用编码表3。这样,三维数据编码装置通过按每比特切换编码表,能够提高编码效率。
[0480]
此外,三维数据编码装置也可以在将totalzerocnt用指数哥伦布进行二值化后进行算术编码。因此,在totalzerocnt的值容易变大的情况下,与使用截断一元编码的二值化算术编码相比,可以提高效率。另外,三维数据编码装置也可以在头部附加用于切换是使用截断一元编码还是使用指数哥伦布码的标志。由此,三维数据编码装置通过选择最佳的二值化方法,能够提高编码效率。此外,三维数据解码装置参照头部中包含的标志来切换二值化方法,能够将比特流正确地解码。
[0481]
图43是表示本变形例中的属性信息(attribute_data)的句法例的图。图43所示的属性信息(attribute_data),相对于图32所示的属性信息还包含零总数(totalzerocnt)。此外,其他信息与图32相同。零总数(totalzerocnt)表示量化后的值0的编码系数的总数。
[0482]
此外,也可以是,三维数据编码装置根据attribute_dimension的值切换totalzerecnt和zerocnt的值的计算方法。例如,在attribute_dimension=3的情况下,三维数据编码装置可以对所有成分(维)的编码系数值为0的次数进行计数。图44是表示在这种情况下的编码系数、zerocnt和totalzerocnt的例子的图。例如,在图44所示的颜色信息的情况下,三维数据编码装置计数r、g、b成分全部为0的编码系数连续的数量,并将计数的数量作为totalzerocnt和zerocnt附加到比特流。因此,不需要对每个成分都编码totalzerocnt和zerocnt,从而能够削减开销。因此,能够改善编码效率。此外,即使在
attribute_dimension为2以上的情况下,三维数据编码装置也可以计算每维的totalzeocnt和zerocnt,并将计算出的totalzeocnt和zerocnt附加到比特流。
[0483]
图45是本变形例中的编码系数编码处理(s6613)的流程图。首先,三维数据编码装置将编码系数从带符号整数值变换为无符号整数值(s6661)。接下来,三维数据编码装置对totalzerocnt进行编码(s6662)。
[0484]
在没有处理完所有编码系数的情况下(s6663的“否”),三维数据编码装置判定处理对象的编码系数的值是否是零(s6664)。在处理对象的编码系数的值是零的情况下(s6664的“是”),三维数据编码装置将zerocnt递增1(s6665),返回步骤s6663。
[0485]
在处理对象的编码系数的值不是0的情况下(s6664的“否”),三维数据编码装置判定totalzerocnt是否大于0(s6666)。在totalzerocnt大于0的情况下(s6666的“是”),三维数据编码装置对zerocnt进行编码,并将totalzerocnt设定为totalzerocnt-zerocnt(s6667)。
[0486]
在步骤s6667之后,或者在totalzerocnt是0的情况下(s6666的“否”),三维数据编码装置对编码系数进行编码,将zerocnt重置为0(s6668),并返回步骤s6663。例如,三维数据编码装置进行二值算术编码。此外,三维数据编码装置也可以从编码系数中减去值1,对得到的值进行编码。
[0487]
另外,对每个编码系数反复进行步骤s6664~s6668的处理。另外,在已处理完所有编码系数的情况下(s6663的“是”),三维数据编码装置结束处理。
[0488]
图46是本变形例中的编码系数解码处理(s6641)的流程图。首先,三维数据解码装置从比特流中解码totalzerocnt(s6671)。接下来,三维数据解码装置从比特流中解码zerocnt,并将totalzerocnt设定为totalzerocnt-zerocnt(s6672)。
[0489]
在没有处理完所有编码系数的情况下(s6673的“否”),三维数据编码装置判定zerocnt是否大于0(s6674)。
[0490]
在zerocnt大于零的情况下(s6674的“是”),三维数据解码装置将处理对象的编码系数设定为0(s6675)。接着,三维数据解码装置对zerocnt减去1(s6676),并返回到步骤s6673。
[0491]
在zerocnt是零的情况下(s6674的“否”),三维数据解码装置对处理对象的编码系数进行解码(s6677)。例如,三维数据解码装置使用二值算术解码。此外,三维数据解码装置也可以对解码后的编码系数加上值1。
[0492]
接着,三维数据解码装置判定totalzerocnt是否大于0(s6678)。在totalzerocnt大于0的情况下(s6678的“是”),三维数据解码装置对zerocnt进行解码,将获得的值设定为zerocnt,将totalzerocnt设定为totalzerocnt-zerocnt(s6679),并返回步骤s6673。另外,在totalzerocnt是0的情况下(s6678的“否”),三维数据解码装置返回到步骤s6673。
[0493]
另外,对每个编码系数反复进行步骤s6674~s6679的处理。另外,在已处理完所有编码系数的情况下(s6673的“是”),三维数据编码装置将解码后的编码系数从无符号整数值变换为带符号整数值(s6680)。
[0494]
图47是表示属性信息(attribute_data)的另一句法例的图。图47所示的属性信息(attribute_data)包含value[j][i]_greater_zero_flag、value[j][i]_greater_one_flag和value[j][i],来代替图32所示的编码系数(value[j][i])。其他信息与图32相同。
[0495]
value[j][i]_greater_zero_flag表示编码系数(value[j][i])的值是否大于0(是否为1以上)。换言之,value[j][i]_greater_zero_flag表示编码系数(value[j][i])的值是否是0。
[0496]
例如,在编码系数的值大于0的情况下,将value[j][i]_greater_zero_flag设定为值1,在编码系数的值为0的情况下,将value[j][i]_greater_zero_flag设定为值0。三维数据编码装置在value[j][i]_greater_zero_flag的值为0的情况下,也可以不将value[j][i]附加到比特流。在这种情况下,三维数据解码装置也可以判断为value[j][i]的值是值0。由此,能够削减编码量。
[0497]
value[j][i]_greater_one_flag表示编码系数(value[j][i])的值是否大于1(是否为2以上)。换言之,value[j][i]_greater_one_flag表示编码系数(value[j][i])的值是否为1。
[0498]
例如,在编码系数的值大于1的情况下,将value[j][i]_greater_one_flag设定为值1。否则(编码系数的值为1以下时),value[j][i]_greater_one_flag被设定为值0。三维数据编码装置在value[j][i]_greater_one_flag的值为0的情况下,也可以不将value[j][i]附加到比特流。在这种情况下,三维数据编码装置也可以判断为value[j][i]的值是值1。
[0499]
value[j][i]表示第i个三维点的第j维属性信息的量化后的编码系数。例如,在属性信息是颜色信息的情况下,value[99][1]表示第100个三维点的第二维(例如g值)的编码系数。此外,在属性信息是反射率信息的情况下,value[119][0]表示第120个三维点的第一维(例如反射率)的编码系数。
[0500]
三维数据编码装置在value[j][i]_greater_zero_flag=1、value[j][i]_greater_one_flag=1的情况下,可以将value[j][i]附加到比特流。此外,三维数据编码装置也可以将从value[j][i]减去2后的值附加到比特流中。在这种情况下,三维数据解码装置通过对解码后的value[j][i]加上值2来计算编码系数。
[0501]
三维数据编码装置可以对value[j][i]_greater_zero_flag和value[j][i]_greater_one_flag进行熵编码。例如,可以使用二值算术编码和二值算术解码。由此,能够提高编码效率。
[0502]
(实施方式8)
[0503]
在本实施方式中,说明可逆(无损:lossless)属性编码。为了实现高压缩,pcc(point cloud compression,点云压缩)数据中包含的属性信息使用lifting、raht(region adaptive hierarchical transform)或其他变换方法等多个方法进行转换。在此,lifting是使用lod(level of detail)的变换方法之一。
[0504]
重要的信号信息具有包含在低频成分中的倾向,因此通过对高频成分进行量化来削减编码量。即,变换处理具有强的能量压缩特性。
[0505]
另一方面,为了在减少比特数的同时保持原本的信息,需要可逆压缩。提升或raht等的现有的变换由于在变换中包含除法和平方根算子,因此不能实现可逆压缩。为了高效地实现有效的可逆压缩,需要不复杂的整数-整数变换。
[0506]
图48是表示三维数据编码装置的结构的图。如图48所示,三维数据编码装置具备整数变换部8301和熵编码部8302。整数变换部8301通过对输入点群数据进行整数变换来生
成系数值。熵编码部8302通过对系数值进行熵编码来生成比特流。
[0507]
图49是表示三维数据解码装置的结构的图。如图49所示,三维数据解码装置具备熵解码部8303和逆整数变换部8304。熵解码部8303通过对比特流进行解码来得到系数值。逆整数变换部8304通过对系数值进行逆整数变换来生成输出点群数据。
[0508]
以下,对raht进行说明。作为应用于三维点的变换处理的例子,有raht。图50是用于说明raht的图。另外,层l的第m个低频成分l
l,m
以及高频成分h
l,m
根据层l 1的2个低频成分c
l 1,2m
以及c
l 1,2m 1
,用下述(式o1)表示。即,低频成分l
l,m
用(式o2)表示,高频成分h
l,m
用(式o3)表示。
[0509]
另外,高频成分通过量化及熵编码而被编码。低频成分如(式o4)所示,在下一层中使用。另外,系数α和β在每次层上升时被更新。系数α、β用(式o5)及(式o6)表示。另外,权重w
l,m
用(式o7)表示。
[0510]
【数式2】
[0511][0512]
l
l,m
=αc
l 1,2m
βc
l 1,2m 1
..
·
(式o2)
[0513]hl,m
=αc
l 1,2m 1-βc
l 1,2m
···
(式o3)
[0514]cl,m
=l
l,m
···
(式o4)
[0515][0516][0517]wl,m
=w
l 1,2m
w
l 1,2m 1
···
(式o7)
[0518]
接下来,说明整数-整数变换。raht处理包含平方根算子和除法。即,在raht中信息丢失,因此无法实现可逆压缩。另一方面,整数-整数变换能够实现可逆压缩。
[0519]
图51是用于说明整数-整数变换的图。在整数-整数变换中,固定值被用作raht中的系数。例如,使用由下述(式o8)表示的非标准化haar变换。即,低频成分l
l,m
用(式o9)表示,高频成分h
l,m
用(式o10)表示。
[0520]
另外,高频成分通过量化及熵编码而被编码。低频成分如(式o11)所示,在下一层中使用。
[0521]
【数式3】
[0522][0523]
l
l,m
=(c
l 1,2m
c
l 1,2m 1
)/2
···
(式o9)
[0524]hl,m
=c
l 1,2m 1-c
l 1,2m
···
(式o10)
[0525]cl,m
=l
l,m
···
(式o11)
[0526]
另外,非标准化haar变换被重写为如(式o12)和(式o13)所示。
[0527]
【数式4】
[0528]hl,m
=c
l 1,2m 1-c
l 1,2m
···
(式o12)
[0529][0530]
此外,整数haar变换由(式o14)和(式o15)实现,逆整数haar变换由(式o16)和(式o17)实现。这里,||是floor函数。此外,使(式o15)和(式o16)双方都包含|h
l,m
/2|,从而通过整数haar变换和逆整数haar变换而使在该|h
l,m
/2|中产生的损失抵消。因此,实现可逆变换。在此,c
i,j
用整数定义,因此h
i,j
及l
i,j
也是整数。
[0531]
【数式5】
[0532]hl,m
=c
l 1,2m 1-c
l 1,2m
···
(式o14)
[0533][0534][0535]cl 1,2m 1
=h
l,m
c
l 1,2m
···
(式o17)
[0536]
因此,通过以下的(式o18)~(式o21),能够实现高效的安装。即,能够通过1个加法、1个减法和1个右移位(下沉(shift down))来实现变换。
[0537]
【数式6】
[0538]hl,m
=c
l 1,2m 1-c
l 1,2m
···
(式o18)
[0539]
l
l,m
=c
l 1,2m
(h
l,m
>>1)
···
(式o19)
[0540]cl 1,2m
=l
l,m-(h
l,m
>>1)
···
(式o20)
[0541]cl 1,2m 1
=h
l,m
c
l 1,2m
···
(式o21)
[0542]
说明递归的整数-整数变换。图52是用于说明分层变换处理的图。在haar变换应用于图像的情况下,为了执行适合于像素的变换的变换而需要数据对。另一方面,在针对三维点群的haar变换中,在能够形成作为点群对的三维点对的情况下,应用整数haar,在不能使用三维点对的情况下,将三维点的数据移动到下一阶层(级别)。然后,递归地进行该处理。
[0543]
接着,说明三维数据编码装置的结构。图53是三维数据编码装置8310的框图。三维数据编码装置8310通过编码点群数据(点云)来生成编码数据(编码流)。该三维数据编码装置8310包括位置信息编码部8311、无损属性信息编码部8312、附加信息编码部8313以及复用部8314。
[0544]
位置信息编码部8311通过对位置信息进行编码来生成编码位置信息。例如,位置信息编码部8311使用八叉树等n叉树结构对位置信息进行编码。具体而言,在八叉树中,对象空间被分割为8个节点(子空间),并生成表示在各节点中是否包含点群的8比特的信息(占用率编码)。另外,包含点群的节点进一步被分割为8个节点,生成表示在该8个节点的每一个中是否包含点群的8比特的信息。反复进行该处理,直到成为预先确定的阶层或节点所包含的点群的数量的阈值以下为止。
[0545]
无损属性信息编码部8312使用由位置信息编码部8311生成的结构信息对属性信息进行编码,由此生成作为编码数据的编码属性信息。
[0546]
附加信息编码部8313通过对点群数据中包含的附加信息进行编码,生成编码附加信息。
[0547]
复用部8314通过对编码位置信息、编码属性信息以及编码附加信息进行复用来生成编码数据(编码流),并送出所生成的编码数据。此外,编码附加信息在解码时使用。
[0548]
图54是无损属性信息编码部8312的框图。无损属性信息编码部8312包括整数变换部8321和熵编码部8322。整数变换部8321通过对属性信息进行整数变换(例如整数haar变换)来生成系数值。熵编码部8322通过对系数值进行熵编码,生成编码属性信息。
[0549]
图55是整数变换部8321的框图。整数变换部8321具备排序部8323和整数haar变换部8324。排序部8323基于位置信息对属性信息进行排序。例如,排序部8323将属性信息按照莫顿顺序进行排序。整数haar变换部8324通过对排序的属性信息进行整数haar变换来生成系数值。
[0550]
接着,说明本实施方式的三维数据解码装置的结构。图56是表示三维数据解码装置8330的结构的框图。三维数据解码装置8330通过对通过对点群数据进行编码而生成的编码数据(编码流)进行解码来复原点群数据。该三维数据解码装置8330包括逆复用部8331、多个位置信息解码部8332、多个无损属性信息解码部8333、以及附加信息解码部8334。
[0551]
逆复用部8331通过对编码数据(编码流)进行逆复用来生成编码位置信息、编码属性信息以及编码附加信息。
[0552]
位置信息解码部8332通过对编码位置信息进行解码来生成位置信息。无损属性信息解码部8333通过对编码属性信息进行解码来生成属性信息。例如,无损属性信息解码部8333通过对编码属性信息进行逆整数变换(例如,逆整数haar变换)来生成属性信息。附加信息解码部8334通过对编码附加信息进行解码来生成附加信息。
[0553]
图57是无损属性信息解码部8333的框图。无损属性信息解码部8333包括熵解码部8341和逆整数变换部8342。熵解码部8341通过对编码属性信息进行熵解码来生成系数值。逆整数变换部8342通过对系数值进行逆整数变换(例如逆整数haar变换)来生成属性信息。
[0554]
图58是逆整数变换部8342的框图。逆整数变换部8342具备排序部8343和逆整数haar变换部8344。排序部8343基于位置信息对系数值进行排序。例如,排序部8343按照莫顿顺序对系数值进行排序。逆整数haar变换部8344通过对被排序的系数值进行逆整数haar变换来生成属性信息。
[0555]
此外,三维数据编码装置可以将表示是使用可逆(lossless)编码还是使用不可逆(lossy)编码的信息附加到比特流的头部等。例如,三维数据编码装置将lossless_enable_flag附加到头部。三维数据解码装置在lossless_enable_flag=1的情况下,应用逆整数haar变换对被可逆编码的比特流进行解码。三维数据解码装置在lossless_enable_flag=0的情况下,应用逆raht对被不可逆编码的比特流进行解码。这样,三维数据解码装置能够通过根据lossless_enable_flag的值切换逆变换处理来正确地解码比特流。
[0556]
此外,表示是用可逆编码还是用不可逆编码进行了编码的信息不一定限于此,例如可以使用量化参数qp或量化步长qstep的值。例如,三维数据解码装置在量化参数或量化步长的值为特定的值(例如,qp=4或qstep=1)的情况下,判断为比特流用可逆编码进行了编码,应用逆整数haar变换对被可逆编码的比特流进行解码。另外,也可以是,例如,三维数据解码装置在量化参数或量化步长的值比特定的值(例如,qp=4或qstep=1)大的情况下,判断为比特流用不可逆编码进行了编码,应用逆raht对被不可逆编码的比特流进行解码。
[0557]
接下来,说明无损属性信息编码处理。图59是无损属性信息编码处理的流程图。
[0558]
首先,三维数据编码装置将三维点群的属性信息进行排序(s8301)。例如,三维数据编码装置将三维点群的属性信息以莫顿顺序进行排序。
[0559]
接着,三维数据编码装置从三维点群中选择处理对象的对象点(s8302)。具体而言,三维数据编码装置选择以莫顿顺序排序的三维点群中的开头第1个三维点。
[0560]
接着,三维数据编码装置判定是否存在以莫顿顺序位于对象三维点的相邻位置的三维点即三维点对(point pair)(s8303)。在存在三维点对的情况下(s8304的“是”),三维数据编码装置通过使用三维点对进行整数haar变换,生成包含高频成分和低频成分的系数值(s8305)。接下来,三维数据编码装置对所生成的高频成分进行编码(例如熵编码),并将被编码的高频成分存放到比特流中(s8306)。此外,三维数据编码装置为了下一阶层的处理而将低频成分存放到存储器等中(s8307)。
[0561]
另一方面,在不存在三维点对的情况下(s8304的“否”),三维数据编码装置为了下一阶层而将对象三维点的属性信息存放到存储器等中(s8307)。
[0562]
在对象三维点不是处理对象的阶层即对象阶层内的最后的三维点的情况下(s8308的“否”),三维数据编码装置按照莫顿顺序选择下一个三维点作为对象三维点(s8302),对被选择的对象三维点进行步骤s8303以后的处理。另外,按照莫顿顺序的下一个三维点在存在三维点对的情况下是指三维点对的下一个三维点,在不存在三维点对的情况下是指对象三维点的下一个三维点。
[0563]
在对象三维点是对象阶层内的最后的三维点的情况下(s8308的“是”),三维数据编码装置开始下一阶层(向上一个阶层)的处理(s8309)。另外,三维数据编码装置在原来的对象阶层不是最后的阶层(最上层)的情况下(s8310的“否”),按照下一阶层的莫顿顺序选择最初的三维点作为对象三维点(s8302),对被选择的对象三维点进行步骤s8303以后的处理。
[0564]
另外,三维数据编码装置在原来的对象阶层是最后的阶层的情况下(s8310的“是”),对在最后的阶层(最上层)生成的低频成分进行编码(例如熵编码),并将被编码的低频成分存放到比特流中(s8311)。通过以上的处理,生成包含各阶层中包含的每个三维点对的被编码的高频成分和最上层的被编码的低频成分的编码属性信息。
[0565]
接下来,说明无损属性信息解码处理。图60是无损属性信息解码处理的流程图。
[0566]
首先,三维数据解码装置从比特流中解码系数值(s8321)。该系数值包含各阶层中包含的每个三维点对的高频成分和最上层的低频成分。接着,三维数据解码装置将得到的系数值排序(s8322)。例如,三维数据解码装置将多个高频成分按照莫顿顺序排序。
[0567]
接着,三维数据解码装置获得处理对象的三维点对的低频成分及高频成分即处理对象的低频成分及处理对象的高频成分(s8323及s8324)。具体而言,处理对象的低频成分在最上层中是从比特流中解码出的低频成分,在最上层以外的阶层中,是在向上一个的阶层中通过逆变换处理得到的低频成分。此外,处理对象的高频成分是在最上层中,按照莫顿顺序排序的高频成分中的开头第1个高频成分。另外,在不存在三维点对的情况下,不存在处理对象的高频成分。
[0568]
接着,三维数据解码装置在存在三维点对的情况下(s8325的“是”),即,在存在处理对象的高频成分的情况下,三维数据解码装置通过使用处理对象的低频成分及处理对象的高频成分进行逆整数haar变换,生成下一阶层的低频成分(s8326)。另外,在对象阶层是
最下层的情况下,通过逆整数haar变换生成属性信息。
[0569]
接着,三维数据解码装置为了下一阶层的处理而将生成的低频成分存放到存储器等中(s8327)。
[0570]
另一方面,在不存在三维点对的情况下(8325的“否”),三维数据解码装置为了下一阶层而将处理对象的低频成分存放到存储器等中(s8327)。
[0571]
在处理对象的系数值(三维点对)不是对象阶层内的最后的系数值的情况下(s8328的“否”),三维数据解码装置按照莫顿顺序选择下一个三维点对作为处理对象的三维点,对被选择的三维点对进行步骤s8323以后的处理。
[0572]
在处理对象的系数值是对象阶层内的最后的系数值的情况下(s8328的“是”),三维数据解码装置开始下一阶层(向下一个阶层)的处理(s8329)。另外,三维数据解码装置在原来的对象阶层不是最后的阶层(最下层)的情况下(s8330的“否”),将按照莫顿顺序下一阶层中的最初的三维点对选择为处理对象的三维点对,对被选择的三维点对进行步骤s8323以后的处理。
[0573]
另外,三维数据解码装置在原来的对象阶层是最后的阶层的情况下(8330的“是”),结束处理。通过上述处理,得到所有三维点的属性信息。
[0574]
接下来,说明整数haar变换部8324和逆整数haar变换部8344的结构例。图61是表示整数haar变换部8324的结构例的图。如图61所示,整数haar变换部8324具备减法部8351、右移位部8352和加法部8353。这里,c1以及c2分别在最下层是三维点对的属性信息,在最下层以外是在向下一个的阶层中得到的三维点对的低频成分。另外,h是三维点对的高频成分,l是三维点对的低频成分。通过该图的结构,实现(式o18)和(式o19)所示的运算。
[0575]
图62是表示逆整数haar变换部8344的结构例的图。如图62所示,逆整数haar变换部8344具备右移位部8354、减法部8355和加法部8356。通过该图的结构,实现(式o20)和(式o21)所示的运算。
[0576]
此外,在正变换以及逆变换的至少一方中,也可以将输入数据分割为规定单位的多个数据,对被分割的数据进行并行处理。由此,能够使处理高速化。
[0577]
接下来,说明在可逆编码(整数haar变换)和不可逆编码(raht)之间切换的例子。图63是表示该情况下的三维数据编码装置的结构的图。三维数据编码装置选择性地实施可逆编码(可逆压缩)和不可逆编码(不可逆压缩)。此外,三维数据编码装置也可以通过标志或qp来表示编码模式。
[0578]
图63所示的三维数据编码装置具备排序部8361、切换部8362、raht部8363、量化部8364、整数变换部8365和熵编码部8366。
[0579]
排序部8361基于位置信息,将属性信息例如以莫顿顺序进行排序。切换部8362将排序后的属性信息输出到raht部8363或整数变换部8365。例如,切换部8362基于lossless_flag切换是使用raht还是使用整数haar变换。这里,lossless_flag是表示使用raht(不可逆编码)还是使用整数haar变换(可逆编码)的标志,当lossless_flag是开启(例如值1)的情况下,使用整数haar变换(可逆编码),在lossless_flag是关闭(例如值0)的情况下,使用raht(不可逆编码)。
[0580]
或者,三维数据编码装置可以在量化参数qp的值是某个值α的情况下,判断为可逆编码。这里,值α是例如根据qp值计算出的量化值,或者是使量化步长qstep的值为1的值。例
如,在qp=4的情况下,在qstep=1的情况下α=4。
[0581]
或者raht和整数haar变换之间的切换不限于lossless_flag或qp值,可以以任何方法进行。例如,三维数据编码装置可以将enable_integer_haar_transform标志附加到头部等,在enable_integer_haar_transform=1的情况下应用整数haar变换,在enable_integer_haar_transform=0的情况下应用raht。
[0582]
raht部8363通过对属性信息应用raht来生成系数值。通过将量化部8364进行量化来生成量化系数。整数变换部8365通过对属性信息应用整数haar变换来生成系数值。熵编码部8366通过对在量化部8364中生成的量化值或在整数变换部8365中生成的系数值进行熵编码,来生成编码属性信息。
[0583]
图64是表示与图63所示的三维数据编码装置对应的三维数据解码装置的结构的图。图64所示的三维数据解码装置具备熵解码部8371、排序部8372、切换部8373、逆量化部8374、逆raht部8375和逆整数变换部8376。
[0584]
熵解码部8371通过对编码属性信息进行熵解码来生成系数值(或量化系数)。排序部8372基于位置信息,例如,按照莫顿顺序将系数值排序。切换部8373将排序后的系数值输出到逆量化部8374或逆整数变换部8376。例如,切换部8373基于lossless_flag,切换是使用raht还是使用整数haar变换。此外,切换部8373中的切换方法,与上述的切换部8362中的切换方法相同。此外,三维数据解码装置从比特流中获得lossless_flag、qp值或enable_integer_haar_transform标志。
[0585]
逆量化部8374通过对量化系数进行逆量化来生成系数值。逆raht部8375通过将逆raht应用于系数值来生成属性信息。逆整数变换部8376通过对系数值应用逆整数haar变换来生成属性信息。
[0586]
此外,在图63和图64中所示的例子中,可以在应用整数haar变换的情况下不进行量化处理,但在应用整数haar变换的情况下进行量化处理。图65是表示该情况下的三维数据编码装置的结构的图。图66是表示三维数据解码装置的结构的图。
[0587]
如图65所示,量化部8364a通过对由raht部8363生成的系数值和在整数变换部8365中生成的系数值进行量化来生成量化系数。
[0588]
如图66所示,逆量化部8374a通过对量化系数进行逆量化来生成系数值。切换部8373a将系数值输出到逆raht部8375或逆整数变换部8376。
[0589]
图67及图68是表示由三维数据编码装置生成的比特流(编码属性信息)的结构例的图。例如,如图67所示,lossless flag存放在比特流的头部中。或者,如图68所示,比特流的头部中包含qp值。在qp值是预定的值α的情况下,应用可逆编码。
[0590]
(实施方式9)
[0591]
在本实施方式中,说明作为比通常的raht接近可逆的不可逆变换的整数raht。为了易于硬件的安装,能够导入固定点raht(fixed point raht)。固定点raht能够使用以下的(式o22)及(式o23)来实施。这里,1是低频成分,h是高频成分。c1以及c2分别在最下层是三维点对的属性信息,在最下层以外是在向下一个的阶层中得到的三维点对的低频成分。另外,变换是标准正交,(式o24)成立。
[0592]
【数式7】
[0593][0594][0595][0596]
另外,更新后的权重w在c1和c2为三维点对的情况下,用w=w1 w2表示,在c1和c2不成对的情况下,用w=w1表示。
[0597]
另外,上述(式o22)变形为下述(式o25)~(式o29)。
[0598]
【数式8】
[0599][0600][0601][0602][0603][0604]
因此,正变换用(式o30)~(式o32)表示。
[0605]
【数式9】
[0606][0607]h′
=c

2-c
′1···
(式o31)
[0608]
l

=a2c
′1 b2c
′2=c
′1 b2h

···
(式o32)
[0609]
另外,逆变换用(式o33)~(式o34)表示。
[0610]
【数式10】
[0611]c′1=l
′‑
b2h

...(式o33)
[0612]c′2=h

c
′1···
(式o34)
[0613]
调整量化步长(aqs:adjusted quantization step)基于(式o35),用(式o36)表
示。因此,(式o37)成立。因此,整数raht能够通过b2的固定点安装来实现。
[0614]
【数式11】
[0615][0616][0617][0618]
以下,说明整数raht和整数haar变换之间的关系性。能够使用共同的处理来实现整数raht和整数haar变换。具体而言,通过将raht中的所有层中的权重设定为w1=w2=1,能够实现整数haar变换。
[0619]
即,整数raht中的正变换用(式o38)~(式o40)表示,逆变换用(式o41)~(式o42)表示。另外,(式o43)成立。
[0620]
【数式12】
[0621][0622]h′
=c

2-c
′1···
(式o39)
[0623]
l

=c
′1 b2h

···
(式o40)
[0624]c′1=l
′‑
b2h

···
(式o41)
[0625]c′2=h

c
′1···
(式o42)
[0626][0627]
当在(式o38)~(式o43)中设定为w1=w2=1时,正变换用(式o44)~(式o45)表示,逆变换用(式o46)~(式o47)表示。即,实现整数haar变换。
[0628]
【数式13】
[0629]h′
=c

2-c
′1···
(式o44)
[0630]
l

=c
′1 h

/2
···
(式o45)
[0631]c′1=l
′‑h′
/2
···
(式o46)
[0632]c′2=h

c
′1···
(式o47)
[0633]
接下来,说明切换不可逆编码(raht)、接近于可逆的不可逆编码(整数raht)和可逆编码(整数haar变换)的例子。图69是表示该情况下的三维数据编码装置的结构的图。三维数据编码装置选择性地实施不可逆编码(raht)、接近于可逆的不可逆编码(整数raht)和可逆编码(整数haar变换)。该切换基于标志或qp值来进行。
[0634]
图69所示的三维数据编码装置具备排序部8401、整数raht-haar变换部8402、量化部8403和熵编码部8404。
[0635]
排序部8401基于位置信息,将属性信息例如按照莫顿顺序排序。整数raht-haar变换部8402通过选择性地使用不可逆编码(raht)、接近于可逆的不可逆编码(整数raht)和可
逆编码(整数haar变换)对属性信息进行变换,来生成系数值。
[0636]
具体而言,三维数据编码装置在量化参数qp的值是值α并且raht-haar_flag=haar的情况下,使用可逆编码(整数haar变换)。这里,值α是例如根据qp值计算出的量化值,或者是使量化步长qstep的值为1的值。例如,在qp=4的情况下,在qstep=1的情况下α=4。另外,α的值也可以在raht和haar中使用不同的值。
[0637]
例如,在raht-haar_flag=raht并且qp大于α的情况下,使用不可逆编码(raht)。在raht-haar_flag=raht并且qp=α的情况下,使用接近于可逆的不可逆编码(整数raht)。在raht-haar_flag=haar并且qp=α的情况下,使用可逆编码(整数haar变换)。此外,在raht-haar_flag=haar并且qp大于α的情况下,可以使用不可逆编码(raht)。
[0638]
此外,整数raht-haar变换部8402在raht-haar_flag=haar的情况下,通过设定为w1=w2=1来执行haar变换。
[0639]
量化部8403通过使用qp量化系数值来生成量化系数。熵编码部8404通过对量化系数进行熵编码来生成编码属性信息。
[0640]
图70是表示与图69所示的三维数据编码装置对应的三维数据解码装置的结构的图。图70所示的三维数据解码装置具备熵解码部8411、逆量化部8412、排序部8413和逆整数raht-haar变换部8414。
[0641]
熵解码部8411通过对编码属性信息进行熵解码来生成量化系数。逆量化部8412通过使用qp对量化系数进行逆量化来生成系数值。排序部8413基于位置信息,例如,按照莫顿顺序将系数值排序。
[0642]
逆整数raht-haar变换部8414通过选择性地使用不可逆编码(raht)、接近于可逆的不可逆编码(整数raht)和可逆编码(整数haar变换)对系数值进行逆变换,来生成属性信息。此外,该切换方法与上述的整数raht-haar变换部8402相同。此外,三维数据解码装置从比特流中获得lossless_flag和qp值。
[0643]
图71是表示由三维数据编码装置生成的比特流(编码属性信息)的结构例的图。例如,如图71所示,在比特流的头部中存放raht-haar_flag和qp值。raht-haar_flag是表示使用不可逆编码(raht)、接近于可逆的不可逆编码(整数raht)和可逆编码(整数haar变换)中的哪一个的标志。另外,raht-haar_flag可以表示使用可逆编码(整数haar变换)、不可逆编码(raht)或者接近于可逆的不可逆编码(整数raht)中的哪一个。
[0644]
以下,说明进行整数raht的结构的安装例。整数raht可以通过以下安装。b表示b2的整数精度,用(式o48)表示。
[0645]
【数式14】
[0646][0647]
kbit表示b的精度。例如,在8比特精度的情况下,kbit=8。此外,khal=(1<<(kbit-1))表示支持取整(舍去或四舍五入等)的精度。调整量化步长(aqs)能够由(式o49)来实践。
[0648]
【数式15】
[0649][0650]
这里,qs表示量化步长(quantization step)。另外,正变换用(式o50)~(式o51)表示。
[0651]
【数式16】
[0652]h′
=c

2-c
′1...(式o50)
[0653]
l

=c
′1 ((b*h

khalf)>>kbit)
···
(式o51)
[0654]
被量化的高频成分用(式o52)表示。另外,高频成分的逆量化用(式o53)表示。
[0655]
【数式17】
[0656]
quantized_h

=((aqs>>1) (h

<<kbit))/aqs
···
(式o52)
[0657]h′
=((quantized_h

*aqs) khalf)>>kbit
···
(式o53)
[0658]
逆变换用(式o54)~(式o55)表示。
[0659]
【数式18】
[0660]c′1=l
′‑
((b*h

khalf)>>kbit)
···
(式o54)
[0661]c′2=h

c
′1···
(式o55)
[0662]
以下,示出在整数raht的实践中,通过使用附条件标志将取整的比特精度设定为0并且设定aqs来在raht中实现整数haar的例子。在应用整数haar的情况下,三维数据编码装置将权重设定为1(w1=w2=1)。此外,三维数据编码装置将khalf设定为0(khalf=0)。另外,三维数据编码装置如下切换aqs。三维数据编码装置在使用整数haar变换的情况下,设定为aqs=qs。另外,三维数据编码装置在使用整数raht的情况下,设定为aqs=sqrt_integer(((qs*qs)*(w1 w2))/(w1*w2))。这里,sqrt_integer(n)表示n的平方根的整数部分。因此,(式o56)成立。
[0663]
【数式19】
[0664][0665]
rath中的整数haar的正变换用(式o57)~(式o59)表示。
[0666]
【数式20】
[0667]h′
=c

2-c
′1...(式o57)
[0668]
l

=c
′1 ((b*h

0)>>kbit)=c
′1 (h

>>1)
···
(式o58)
[0669]
quantized_h

=((aqs>>1) (h

<<kbit))/aqs
···
(式o59)
[0670]
在使用可逆编码的情况下,qs设定为1,因此(式o60)成立。此外,在使用可逆编码的情况下,可以跳过量化和逆量化。
[0671]
【数式21】
[0672][0673]
高频成分的逆量化用(式o61)表示。逆整数变换用(式o62)~(式o63)表示。
[0674]
【数式22】
[0675]h′
=(quantized_h

*aqs)>>kbit
···
(式o61)
[0676]c′1=l
′‑
((b*h

0)>>kbit)=l
′‑
(h

>>1)
···
(式o62)
[0677]c′2=h

c
′1···
(式o63)
[0678]
此外,作为可逆编码的安装的另一例,可以使用以下所示的比特移位运算。这些运算是对整数数据型(固定小数点运算)执行的。属性信息在变换处理之前以kbit精度被上浮(shift up)。
[0679]
在应用整数haar的情况下,三维数据编码装置将权重设定为1(w1=w2=1)。此外,三维数据编码装置将khalf设定为0(khalf=0)。另外,三维数据编码装置如下切换aqs。三维数据编码装置在使用整数haar变换的情况下,设定为aqs=qs。另外,三维数据编码装置在使用整数raht的情况下,设定为aqs=sqrt_integer(((qs*qs)*(w1 w2))/(w1*w2))。因此,(式o64)成立。
[0680]
【数式23】
[0681][0682]
如(式o65)所示,属性信息在变换处理之前以kbit精度被上浮(shift up)。
[0683]
【数式24】
[0684]ci
=ci<<kbit
···
(式o65)
[0685]
rath中的整数haar的正变换用(式o66)~(式o67)表示,以kbit精度进行。
[0686]
【数式25】
[0687]h′
=c

2-c
′1···
(式o66)
[0688]
t_l

=((b*h

khalf)>>kbit)
···
(式o67)
[0689]
为了通过floor函数除去b的浮动小数点精度,低频成分的kbit精度被除去。因此,低频成分用(式o68)表示。
[0690]
【数式26】
[0691]
l

=c
′1 ((t_l

>>kbit)<<kbit)
···
(式o68)
[0692]
逆整数变换用(式o69)~(式o71)表示。通过以上,能够减少来自整数raht的变更。
[0693]
【数式27】
[0694]
t_l

=((b*h

khalf)>>kbit)
···
(式o69)
[0695]c′1=l
′‑
((t_l

>>kbit)<<kbit)
···
(式o70)
[0696]c′2=h

c
′1···
(式o71)
[0697]
以下,说明正变换的结构例。图72是表示整数raht-haar变换部8402的结构例的图。整数raht-haar变换部8402包括左移位部8421、8422、8430,减法部8423、除法部8424、右移位部8425、8427、8429、乘法部8426、切换部8428、以及加法部8431。
[0698]
如果c1和c2是属性信息的原信号(位于raht的最下层的信号),则左移位部8421和8422将c1和c2上浮kbit量(左移位)。由此,原信号的比特精度提高,因此能够提高变换处理中的计算精度。因此,能够改善编码效率。另外,在c1和c2是比raht的最下层上位的信号的情况下,也可以不应用kbit上浮。
[0699]
另外,三维数据编码装置在应用整数haar变换且qs=1(可逆编码)的情况下,也可以不对位于raht的最下层的属性信息的原信号应用kbit量的上浮。因此,能够在削减处理量的同时实现可逆编码。
[0700]
减法部8423从上浮后的c2中减去上浮后的c1。除法部8424将由减法部8423得到的
值除以aqs。这里,aqs用(式o72)表示。integer_square_root(n)表示n的平方根的整数部分。即,aqs依赖于qs(量化步长)和权重。另外,在使用整数haar变换的情况下,设定为aqs=qs。
[0701]
【数式28】
[0702][0703]
右移位部8425通过对由除法部8424得到的值进行下沉来生成高频成分h。乘法部8426将由减法部8423得到的值乘以b。b用(式o73)表示。此外,在使用整数haar变换的情况下,设定为w1=w2=1。
[0704]
【数式29】
[0705][0706]
右移位部8427将由乘法部8426得到的值下沉。切换部8428在使用整数haar变换的情况下将由右移位部8427得到的值输出到右移位部8429,并且在不使用整数haar变换的情况下将由右移位部8427得到的值输出到加法部8431。
[0707]
右移位部8429和左移位部8430在应用整数haar变换的情况下,将由右移位部8427得到的值进行kbit下沉和kbit上浮。由此,下位kbit的值设定为0。即,由于在整数haar变换的应用时能够删除通过除以值2而产生的小数点以下的数值,因此能够实现值的舍去处理(floor处理)。另外,只要是能够实现值的舍去处理的方法,则可以应用任意的方法。
[0708]
此外,在整数haar变换中qs>1(不可逆编码)的情况下,也可以不对由右移位部8427得到的值应用kbit下沉和kbit上浮。因此,在应用了整数haar变换时能够维持通过除以值2而产生的小数点以下的精度。因此,计算精度提高,并改善编码效率。
[0709]
另外,在不对属性信息的原信号(位于raht的最下层)进行kbit量上浮的情况下,也可以不对由右移位部8427得到的值应用kbit下沉和kbit上浮。由此,能够削减处理量。
[0710]
加法部8431通过对由左移位部8421得到的值加上由左移位部8430或右移位部8427得到的值,来生成低频成分l。此外,在最上层的运算中,对得到的低频成分l进行kbit下沉。
[0711]
接着,说明逆变换的结构例。图73是表示逆整数raht-haar变换部8414的结构例的图。逆整数raht-haar变换部8414包括左移位部8441、8447、乘法部8442、8443、8449、右移位部8444、8446、8450、8452、切换部8445、以及减法部8448、8451。
[0712]
左移位部8441对高频成分h进行kbit上浮(左移位)。乘法部8442将由左移位部8441得到的值乘以aqs。此外,aqs与上述的图72的情况相同。乘法部8443将由乘法部8442得到的值乘以b。另外,对于b,与上述的图72的情况相同。
[0713]
右移位部8444对由乘法部8443得到的值进行下沉。切换部8445在使用整数haar变换的情况下将由右移位部8444得到的值输出到右移位部8446,并且在不使用整数haar变换的情况下将由右移位部8444得到的值输出到减法部8448。
[0714]
右移位部8446和左移位部8447在应用整数haar变换的情况下,将由右移位部8444得到的值进行kbit下沉和kbit上浮。由此,下位kbit的值设定为0。即,由于在整数haar变换
的应用时能够删除通过除以值2而产生的小数点以下的数值,因此能够实现值的舍去处理(floor处理)。另外,只要是能够实现值的舍去处理的方法,则可以应用任意的方法。
[0715]
此外,在整数haar变换中qs>1(不可逆编码)的情况下,也可以不对由右移位部8444得到的值应用kbit下沉和kbit上浮。因此,在应用了整数haar变换时能够维持通过除以值2而产生的小数点以下的精度。因此,计算精度提高,并能够将被改善了编码效率的比特流正确地解码。
[0716]
另外,在不将属性信息的解码信号(位于raht的最下层)进行kbit量下沉的情况下,也可以不对由右移位部8444得到的值应用kbit下沉和kbit上浮。由此,能够削减处理量。
[0717]
减法部8448从低频成分l中减去由左移位部8447或右移位部8444得到的值。此外,在最上层的运算中,低频成分l被kbit上浮,减法部8448从上浮后的低频成分l中减去由左移位部8447或右移位部8444得到的值。
[0718]
乘法部8449对由减法部8448得到的值乘以-1。右移位部8450对由乘法部8449得到的值进行kbit下沉。减法部8451从由乘法部8442得到的值中减去由减法部8448得到的值。右移位部8452对由减法部8451得到的值进行kbit下沉。由此,c1和c2的比特精度恢复到原来。通过该处理,能够在提高变换处理中的计算精度的同时得到具有原来的比特精度的解码结果。此外,三维数据解码装置也可以对比raht的最下层靠上位的信号不应用kbit下沉。
[0719]
另外,三维数据解码装置在应用整数haar变换且qs=1(可逆编码)的情况下,也可以不对位于raht的最下层的属性信息的解码信号应用kbit量的上浮。因此,能够在削减处理量的同时将被可逆编码的比特流正确地解码。
[0720]
如上所述,本实施方式的三维数据编码装置进行图74所示的处理。三维数据编码装置将点群数据中包含的多个三维点的多个属性信息变换为多个系数值(s8401),通过对多个系数值进行编码来生成比特流(s8402)。三维数据编码装置在变换(s8401)中,通过分层地进行加权运算来生成属于多个阶层中的某一个的多个系数值,该加权运算将多个属性信息分别分为高频成分和低频成分。三维数据编码装置在加权运算中,使用在多个阶层中固定的或不固定的多个权重来进行加权运算。比特流包含表示是否将多个权重在多个阶层中固定的第1信息(raht-haar_flag和qp中的至少一方)。
[0721]
由此,该三维数据编码装置通过在多个阶层中固定权重,能够减少由变换引起的损失,因此能够提高精度。
[0722]
例如,在多个权重在多个阶层中固定的情况下,多个权重设定为1。
[0723]
例如,如图72所示,三维数据编码装置在加权运算中,通过从多个属性信息中包含的第2属性信息(例如c2)中减去多个属性信息中包含的第1属性信息(例如c1)来计算第1值,通过将第1值除以第1系数(例如aqs)来计算高频成分(例如h),第1系数(例如aqs)依赖于量化步长(例如qs)和权重(例如w1和w2)。
[0724]
例如,三维数据编码装置如图72所示,在加权运算中,通过对第1值乘以依赖于权重的第2系数(例如b)来计算第2值,通过对第2值下沉规定比特数后再上浮规定比特数来计算第3值,通过对第1属性信息加上第3值来计算低频成分(例如1)。
[0725]
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0726]
此外,本实施方式的三维数据解码装置进行图75所示的处理。三维数据解码装置
从比特流获得表示是否将多个权重在多个阶层中固定的第1信息(raht-haar_flag以及qp的至少一方)(s8411),从比特流对多个系数值进行解码(s8412),通过对多个系数值进行逆变换,在点群数据中生成多个三维点的多个属性信息(s8413)。多个系数值属于多个阶层中的某一个。三维数据解码装置在逆变换中,通过对多个系数值进行将高频成分和低频成分合成的逆加权运算,来生成多个属性信息。三维数据解码装置在逆加权运算中,按照第1信息,使用在多个阶层中固定的或不固定的多个权重,进行加权运算。
[0727]
由此,该三维数据解码装置通过在多个阶层中固定权重,能够减少由变换引起的损失,因此能够提高精度。
[0728]
例如,在多个权重在多个阶层中固定的情况下,多个权重设定为1。
[0729]
例如,三维数据解码装置如图73所示,在逆加权运算中,通过对高频成分乘以第1系数(例如aqs)来计算第1值,并根据基于低频成分(例如1)的第2值,计算多个属性信息中包含的第1属性信息(例如c1),通过从第1值减去第2值来计算多个属性信息中包含的第2属性信息(例如c2),第1系数(例如aqs)依赖于量化步长(例如qs)和权重(例如w1和w2)。
[0730]
例如,三维数据解码装置如图73所示,在加权运算中,通过对第1值乘以依赖于权重的第2系数(例如b)来计算第3值,通过对第3值下沉规定比特数后再上浮规定比特数来计算第4值,通过从第4值中减去低频成分来计算第2值。
[0731]
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0732]
(实施方式10)
[0733]
在本实施方式中,对使用了预测的raht(region adaptive hierarchical transform)或者haar变换处理进行说明。图76是用于说明预测处理的图,是表示raht或haar变换处理中的阶层结构的图。三维数据编码装置也可以在raht或haar变换的阶层编码时,根据上位阶层的属性值预测下位阶层的属性值(属性信息),对属性值和通过预测得到的预测值的差分值进行编码。例如,三维数据编码装置在从上位阶层向下位分层地反复编码而对各阶层的属性值进行编码的情况下,使用在上位阶层计算出的属性值(父节点群的属性值)来预测下位阶层的属性值(子节点群的属性值)。三维数据编码装置也可以代替各子节点的属性值,而对从各子节点的属性值减去预测值后的差分值进行编码。由此,通过根据上位阶层的属性值生成适当的预测值,能够减小下位阶层的属性值的差分值,能够改善编码效率。另外,也可以在三维数据解码装置中进行同样的预测处理。
[0734]
图77是表示基于三维点的位置信息的八叉树结构中的各节点的关系的例子的图。如图77所示,三维数据编码装置根据父节点或邻近父节点的属性值预测子节点的属性值。这里,将与父节点相同阶层的多个节点称为父节点群。父节点的多个子节点称为子节点群。邻近父节点是与父节点群中包含的父节点不同且与父节点相邻的节点。另外,父节点群可以包含与父节点相同阶层的多个节点中的一部分节点。例如,父节点群可以包含父节点和多个邻近父节点。或者,父节点群可以包含在距父节点(或对象节点)规定的距离以内的节点。
[0735]
此外,父节点的上位阶层的节点属性信息例如根据该节点的下位阶层的属性信息来计算。例如,父节点的属性信息是该父节点的多个子节点的多个属性信息的平均值。另外,上位阶层的属性信息的计算方法不限于平均,也可以使用加权平均等其他计算方法。
[0736]
例如,三维数据编码装置也可以计算编码对象的子节点即对象节点、和父节点或
邻近父节点的三维空间上的距离d,将使用了距离d的加权平均值用作预测值。例如,可以使用下述(式p1)和(式p2)来计算子节点c的预测值cp。此外,ai是父节点pi的属性信息的值,d(c,pi)是子节点c与父节点pi的距离,例如是欧几里德距离。n是预测值的生成中使用的父节点和邻近父节点的总数。
[0737]
【数式30】
[0738][0739][0740]
此外,三维数据编码装置也可以直接使用父节点或邻近父节点的属性值作为预测值。例如,三维数据编码装置可以将父节点的属性值ap用作子节点的预测值,也可以将邻近父节点的属性值anp用作子节点的预测值。并且,三维数据编码装置也可以选择是使用根据父节点群中包含的多个节点的属性信息计算出的运算值(例如加权平均值),还是直接使用父节点或邻近父节点的属性值。
[0741]
此时,三维数据编码装置例如也可以按每个子节点群,将表示将运算值、父节点或邻近父节点的属性值中的哪个用作预测值的信息(预测模式)附加到比特流。由此,三维数据编码装置能够按每个子节点群选择适当的预测模式,因此能够提高编码效率。此外,通过将预测模式附加到比特流,三维数据解码装置能够使用三维数据编码装置选择的预测模式来生成预测值。因此,三维数据解码装置能够适当地对比特流进行解码。
[0742]
此外,预测模式也可以不按每个子节点群附加,而是以比子节点群大的单位或比子节点群小的单位附加。例如,三维数据编码装置通过对n个子节点群(n为1以上的整数)的每一个附加预测模式,能够在抑制对预测模式进行编码的开销的同时提高编码效率。并且,三维数据编码装置也可以在aps等的头部等附加预测模式。这里,aps是每个帧的属性信息的参数集。
[0743]
接下来,说明使用了预测的编码方法的第1例。图78是表示编码方法的第1例的图。
[0744]
三维数据编码装置在计算属性值与预测值的差分值时,通过对属性值与预测值分别应用raht或haar变换,来计算属性值的变换系数与预测值的变换系数。三维数据编码装置求出属性值的变换系数与预测值的变换系数的差分值。由此,能够减小要编码的差分值,因此能够提高编码效率。
[0745]
另外,三维数据编码装置在根据运算值、父节点或邻近父节点的属性值选择预测值的情况下(将预测模式附加到比特流的情况下),例如,也可以使用各预测模式的预测值计算变换系数的差分值,使用该差分值的绝对值和求出成本值,选择成本最小的预测模式。由此,能够适当地选择差分值最小的预测模式,能够提高编码效率。例如,三维数据编码装置也可以使用下述(式p3)计算成本值cost。
[0746]
【数式31】
[0747][0748]
这里,m是子节点群中包含的子节点数。λ是调整参数。predbit是用于对预测模式进行编码的比特量。ti是属性值的变换系数,pti是预测值的变换系数。此外,预测模式的选择方法不限于此,也可以基于其他条件或来自外部的指示等来选择预测模式。
[0749]
如图78所示,三维数据编码装置通过对子节点群的属性值应用raht或haar变换,
来计算属性值的变换系数ti(s9101)。另外,三维数据编码装置通过根据父节点群的属性值来预测子节点群的属性值,从而生成子节点群的预测值(s9102)。接着,三维数据编码装置通过对预测值应用raht或haar变换,来计算预测值的变换系数pti(s9103)。
[0750]
接着,三维数据编码装置计算属性值的变换系数ti和预测值的变换系数pti的差分即差分值(s9104)。接下来,三维数据编码装置通过对差分值进行量化(s9105),并对被量化的差分值进行算术编码(s9106),来生成编码数据(比特流)。此外,三维数据编码装置在使用无损编码的情况下,可以跳过量化(s9105)。
[0751]
接下来,说明对通过上述编码方法的第1例生成的编码数据(比特流)进行解码的解码方法的第1例。图79是表示解码方法的第1例的图。
[0752]
首先,三维数据解码装置对编码数据(比特流)进行算术解码(s9111),通过对得到的信号进行逆量化(s9112),来生成子节点群的变换系数的差分值。另外,三维数据解码装置在使用无损解码的情况下(在使用无损编码的情况下),可以跳过逆量化(s9112)。
[0753]
此外,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值(s9113)。另外,在三维数据编码装置中,在选择了在预测值的生成中使用运算值、父节点或邻近父节点的属性值中的哪一个的情况下(预测模式附加在比特流中的情况下),三维数据解码装置使用解码后的预测模式生成预测值。接着,三维数据解码装置通过对预测值应用raht或haar变换来计算预测值的变换系数pti(s9114)。
[0754]
接着,三维数据解码装置通过对子节点群的变换系数的差分值加上预测值的变换系数pti,来计算子节点群的变换系数ti(s9115)。接下来,三维数据解码装置通过对子节点群的变换系数ti应用逆raht(inverse raht)或逆haar变换(inverse haar变换)来生成子节点群的属性值的解码值(s9116)。这样,三维数据解码装置能够适当地将比特流解码。
[0755]
接下来,说明编码方法的第2例。在该第2例中,使用整数haar变换(integer haar transform)代替rath或haar变换。图80是表示编码方法的第2例的图。
[0756]
三维数据编码装置在计算属性值与预测值的差分值时,也可以对属性值与预测值分别应用整数haar变换而计算属性值的变换系数与预测值的变换系数,并求出属性值的变换系数与预测值的变换系数的差分值。由此,三维数据编码装置能够减小要编码的差分值,因此能够提高编码效率。
[0757]
另外,三维数据编码装置在根据运算值、父节点或邻近父节点的属性值选择预测值的情况下(将预测模式附加到比特流的情况下),例如,也可以使用各预测模式的预测值计算变换系数的差分值,使用该差分值的绝对值和求出成本值,选择成本最小的预测模式。由此,三维数据编码装置能够适当地选择差分值为最小的预测模式,因此能够提高编码效率。例如,三维数据编码装置也可以使用上述(式p3)计算成本值cost。
[0758]
如图80所示,三维数据编码装置通过对子节点群的属性值应用整数haar变换来计算属性值的变换系数ti(s9101a)。另外,三维数据编码装置通过根据父节点群的属性值来预测子节点群的属性值,从而生成子节点群的预测值(s9102)。
[0759]
在应用整数haar变换的情况下,三维数据编码装置舍去预测值的小数点以下的值(s9107)。或者,三维数据编码装置也可以对预测值应用四舍五入等,将预测值的小数点以下的值设定为0。例如,三维数据编码装置在属性值的比特中的kbit表示小数部分的情况下,通过对预测值应用kbit下沉和kbit上浮,来进行值的舍去处理(floor处理),由此将
kbit的小数部分的值设定为0。这样,通过在整数haar变换的应用前将预测值设为整数值,整数haar变换后的预测值的变换系数也成为整数值。由此,子节点群的属性值的变换系数ti和预测值的变换系数pti的差分值也成为整数值。因此,能够实现使用了整数haar变换的无损编码。另外,只要是将预测值的小数部分的值设定为0的方法,则可以应用任意的方法。
[0760]
此外,三维数据编码装置也可以将表示是否应用整数haar变换的标志存放到比特流中,在应用整数haar变换时,将预测值的小数部分设定为0,在不应用整数haar变换的情况下,不将小数部分设定为0。另外,三维数据编码装置在整数haar变换中qs>1(lossy编码)的情况下,也可以不应用将预测值的小数部分设定为0的处理。因此,通过在整数haar变换的应用时维持预测值的小数点以下的精度,从而计算精度提高。因此,能够改善编码效率。
[0761]
接着,三维数据编码装置通过对舍去处理后的预测值应用整数haar变换来计算预测值的变换系数pti(s9103a)。接着,三维数据编码装置计算属性值的变换系数ti和预测值的变换系数pti的差分即差分值(s9104)。
[0762]
在此,有时变换系数的差分值变换为整数值并被算术编码。此时小数部分的信息丢失。因此,三维数据编码装置为了与无损编码对应,将变换系数的差分值的小数部分的值预先确定为值0。因此,即使在算术编码前变换为整数值,信息也不会丢失,能够实现无损编码。
[0763]
接下来,三维数据编码装置对差分值进行量化(s9105),并对被量化的差分值进行算术编码(s9106),从而生成编码数据(比特流)。此外,三维数据编码装置在使用无损编码的情况下,可以跳过量化(s9105)。
[0764]
接下来,说明对通过上述编码方法的第2例生成的编码数据(比特流)进行解码的解码方法的第2例。图81是表示解码方法的第2例的图。
[0765]
首先,三维数据解码装置通过对编码数据(比特流)进行算术解码(s9111),对得到的信号进行逆量化(s9112),从而生成子节点群的变换系数的差分值。另外,三维数据解码装置在使用无损解码的情况下(在使用无损编码的情况下),可以跳过逆量化(s9112)。
[0766]
此外,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值(s9113)。另外,在三维数据编码装置中,在预测值的生成中选择了使用运算值、父节点或邻近父节点的属性值中的某一个的情况(预测模式附加到比特流的情况)下,三维数据解码装置使用解码后的预测模式生成预测值。
[0767]
在应用整数haar变换的情况下,三维数据解码装置将预测值的小数点以下的值舍去(s9117)。或者,三维数据解码装置也可以对预测值应用四舍五入等,将预测值的小数点以下的值设定为0。例如,三维数据解码装置也可以在属性值的比特中的kbit表示小数部分的情况下,通过对预测值应用kbit下沉和kbit上浮,来进行值的舍去处理(floor处理),由此将kbit的小数部分的值设定为0。这样,通过在整数haar变换的应用前将预测值设为整数值,整数haar变换后的预测值的变换系数也成为整数值。由此,子节点群的属性值的变换系数ti和预测值的变换系数pti的相加值也成为整数值。因此,三维数据解码装置能够将使用了整数haar变换的无损编码的比特流适当地解码。另外,只要是将预测值的小数部分的值设定为0的方法,则可以应用任意的方法。
[0768]
此外,三维数据解码装置也可以从比特流中获得表示是否应用整数haar变换的标
志,在应用整数haar变换时,将预测值的小数部分设定为0,在不应用整数haar变换的情况下,不将小数部分设定为0。另外,三维数据解码装置在整数haar变换中qs>1(lossy解码)的情况下,也可以不应用将预测值的小数部分设定为0的处理。由此,三维数据解码装置通过在应用整数haar变换时维持预测值的小数点以下的精度,从而计算精度提高,能够将改善了编码效率的比特流适当地解码。
[0769]
接着,三维数据解码装置通过对舍去处理后的预测值应用整数haar变换来计算预测值的变换系数pti(s9114a)。接着,三维数据解码装置通过对子节点群的变换系数的差分值加上预测值的变换系数pti,来计算子节点群的变换系数ti(s9115)。接着,三维数据解码装置通过对子节点群的变换系数ti应用逆整数haar变换(inverse integer haar变换)来生成子节点群的属性值的解码值(s9116a)。这样,三维数据解码装置能够适当地将比特流解码。
[0770]
接下来,说明编码方法的第3例。在该第3例中,与第2例同样地使用整数haar变换。另外,相对于第2例的不同之处在于,进行舍去处理(s9108)的定时是整数haar变换(s9103a)的应用后。
[0771]
图82是表示编码方法的第3例的图。另外,以下主要说明与第2例的不同点,省略重复的说明。
[0772]
如图82所示,三维数据编码装置通过对子节点群的属性值应用整数haar变换来计算属性值的变换系数ti(s9101a)。另外,三维数据编码装置通过根据父节点群的属性值来预测子节点群的属性值,从而生成子节点群的预测值(s9102)。
[0773]
接着,三维数据编码装置通过对预测值应用整数haar变换来计算预测值的变换系数pti(s9103a)。接着,三维数据编码装置通过对变换系数pti进行舍去处理,将变换系数的小数部分设定为0(s9108)。此外,除了处理对象的信号是预测值还是变换系数pti的不同之外,本舍弃处理的细节与上述步骤s9107中的处理的细节相同。
[0774]
接着,三维数据编码装置计算属性值的变换系数ti和舍去处理后的预测值的变换系数pti的差分即差分值(s9104)。
[0775]
接下来,说明对通过上述编码方法的第3例生成的编码数据(比特流)进行解码的解码方法的第3例。图83是表示解码方法的第3例的图。
[0776]
首先,三维数据解码装置通过对编码数据(比特流)进行算术解码(s9111),对得到的信号进行逆量化(s9112),从而生成子节点群的变换系数的差分值。另外,三维数据解码装置在使用无损解码的情况下(在使用无损编码的情况下),可以跳过逆量化(s9112)。
[0777]
此外,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值(s9113)。
[0778]
接着,三维数据解码装置通过对预测值应用整数haar变换来计算预测值的变换系数pti(s9114a)。接下来,三维数据解码装置通过对变换系数pti进行舍去处理,将变换系数的小数部分设定为0(s9118)。此外,除了处理对象的信号是预测值还是变换系数pti之外,本舍弃处理的细节与上述步骤s9117中的处理的细节相同。
[0779]
接着,三维数据解码装置通过对子节点群的变换系数的差分值加上舍去处理后的预测值的变换系数pti,来计算子节点群的变换系数ti(s9115)。接着,三维数据解码装置通过对子节点群的变换系数ti应用逆整数haar变换,来生成子节点群的属性值的解码值
(s9116a)。这样,三维数据解码装置能够适当地将比特流解码。
[0780]
接下来,说明编码方法的第4例。在第1~第3例中,说明了对属性值和预测值应用变换处理,并计算所生成的属性值的变换系数与预测值的变换系数的差分值的例子。在第4例中,三维数据编码装置通过计算属性值和预测值的差分值,并对差分值应用raht或haar变换来计算差分值的变换系数。由此,三维数据编码装置能够在抑制处理量的同时减小要编码的差分值的变换系数,因此能够提高编码效率。
[0781]
另外,三维数据编码装置在根据运算值、父节点或邻近父节点的属性值选择预测值的情况下(将预测模式附加到比特流的情况下),例如,也可以使用各预测模式的预测值计算属性值的差分值,使用该差分值的绝对值和求出下述成本值,选择成本最小的预测模式。由此,三维数据编码装置能够适当地选择差分值为最小的预测模式,因此能够提高编码效率。例如,三维数据编码装置也可以使用下述(式p4)计算成本值cost。
[0782]
【数式32】
[0783][0784]
这里,m是子节点群中包含的子节点数。λ是调整参数。predbit是用于对预测模式进行编码的比特量。di是属性值和预测值的差分值。
[0785]
另外,三维数据编码装置也可以使用下述(式p5)计算成本值cost。由此,三维数据编码装置能够选择差分值的变换系数的值变小的预测模式,因此能够提高编码效率。
[0786]
【数式33】
[0787][0788]
在此,ti是差分值的变换系数。此外,预测模式的选择方法不限于此,也可以基于其他条件或来自外部的指示等来选择预测模式。
[0789]
图84是表示编码方法的第4例的图。如图84所示,三维数据编码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值pi(s9121)。接着,三维数据编码装置计算子节点群的属性值ai和预测值pi的差分即差分值di(s9122)。接着,三维数据编码装置通过对差分值di应用raht或haar变换来计算差分值的变换系数ti(s9123)。
[0790]
接下来,三维数据编码装置通过对差分值的变换系数ti进行量化(s9124),并对被量化的变换系数ti进行算术编码(s9125),从而生成编码数据(比特流)。此外,三维数据编码装置在使用无损编码的情况下,可以跳过量化(s9124)。
[0791]
接下来,说明对通过上述编码方法的第4例生成的编码数据(比特流)进行解码的解码方法的第4例。图85是表示解码方法的第4例的图。
[0792]
首先,三维数据解码装置通过对编码数据(比特流)进行算术解码(s9131),对得到的信号进行逆量化(s9132),由此生成子节点群的差分值的变换系数ti。另外,三维数据解码装置在使用无损解码的情况下(在使用无损编码的情况下),可以跳过逆量化(s9132)。接下来,三维数据解码装置通过对变换系数ti应用逆raht或逆haar变换来生成属性值的差分值di(s9133)。
[0793]
另外,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值(s9134)。另外,在三维数据编码装置中,在选择了在预测值的生成中使用运算值、父节点或邻近父节点的属性值中的哪一个的情况下(预测模式附加在比特流中的情况下),三维数据解码装置使用解码后的预测模式生成预测值。
[0794]
接着,三维数据解码装置通过将差分值di和预测值pi相加,来生成子节点群的属性值的解码值(s9135)。这样,三维数据解码装置能够适当地将比特流解码。
[0795]
接下来,说明编码方法的第5例。本第5例与第4例的不同之处在于,使用整数haar变换代替rath或haar变换。图86是表示编码方法的第5例的图。
[0796]
三维数据编码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值pi(s9121)。接着,三维数据编码装置通过对预测值pi进行舍去处理,将预测值的小数部分设定为0(s9126)。此外,该处理的细节与例如图80所示的步骤s9107相同。
[0797]
接着,三维数据编码装置计算子节点群的属性值ai与舍去处理后的预测值pi的差分即差分值di(s9122)。接下来,三维数据编码装置通过对差分值di应用整数haar变换来计算差分值的变换系数ti(s9123a)。
[0798]
接下来,三维数据编码装置通过对差分值的变换系数ti进行量化(s9124),并对被量化的变换系数ti进行算术编码(s9125),从而生成编码数据(比特流)。此外,三维数据编码装置在使用无损编码的情况下,可以跳过量化(s9124)。
[0799]
在此,有时差分值的变换系数变换为整数值并被算术编码,此时,变换系数的小数部分的信息丢失。与此相对,三维数据编码装置预先将差分值的变换系数的小数部分的值设定为值0。因此,即使在算术编码前差分值的变换系数ti变换为整数值,信息也不会丢失,能够实现无损编码。
[0800]
接下来,说明对通过上述编码方法的第5例生成的编码数据(比特流)进行解码的解码方法的第5例。图87是表示解码方法的第5例的图。
[0801]
首先,三维数据解码装置通过对编码数据(比特流)进行算术解码(s9131),对得到的信号进行逆量化(s9132),从而生成子节点群的差分值的变换系数ti。另外,三维数据解码装置在使用无损解码的情况下(在使用无损编码的情况下),可以跳过逆量化(s9132)。接着,三维数据解码装置通过对变换系数ti应用逆整数haar变换,来生成属性值的差分值di(s9133a)。
[0802]
另外,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值(s9134)。接着,三维数据解码装置通过对预测值pi进行舍去处理,将预测值的小数部分设定为0(s9136)。此外,本处理的细节与例如图81所示的步骤s9117中的处理的细节相同。
[0803]
接着,三维数据解码装置通过将差分值di和舍去处理后的预测值pi相加,生成子节点群的属性值的解码值(s9135)。这样,三维数据解码装置能够适当地将比特流解码。
[0804]
如上所述,本实施方式的三维数据编码装置进行图88所示的处理。首先,三维数据编码装置生成对象节点的属性信息的预测值(s9141),所述对象节点是点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构(例如八叉树结构)中的对象节点。接下来,三维数据编码装置使用预测值和分阶层地反复进行将多个输入信号分别分为高频成分和低频成分的运算的变换处理(例如raht、haar变换或整数haar变换),对对象节点的属性信息进行编码(s9142)。三维数据编码装置在预测值的生成(s9141)中,选择将多个第1节点(例如父节点群)中的哪个节点的属性信息用于对象节点的预测值的生成,所述多个第1节点包含对象节点的父节点且与父节点属于同一阶层。
[0805]
由此,三维数据编码装置能够适当地选择在预测值的生成中使用的属性信息,因
此能够提高编码效率。
[0806]
例如,三维数据编码装置在所述选择中,选择是将多个第1节点中包含的第2节点的属性信息直接用作预测值,还是根据多个第1节点的多个属性信息来运算预测值。例如,第2节点是父节点。
[0807]
例如,三维数据编码装置生成包含对象节点且与对象节点属于同一阶层的多个第3节点(例如子节点群)的多个预测值。三维数据编码装置在编码(s9142)中,通过对多个第3节点的多个属性信息进行变换处理来生成多个第1变换系数(例如图78的s9101),通过对多个第3节点的多个预测值进行变换处理来生成多个第2变换系数(例如s9103),计算相互对应的第1变换系数与第2变换系数的差分值(例如s9104),并对计算出的差分值进行编码(例如s9106)。
[0808]
例如,变换处理是整数-整数变换(例如整数haar变换)。三维数据编码装置在多个第2变换系数的生成中,对多个第3节点的多个预测值进行小数部分的舍去处理(例如图80的s9107),并对处理后的多个预测值进行变换处理,从而生成多个第2变换系数(例如s9103a)。
[0809]
例如,变换处理是整数-整数变换(例如整数haar变换)。在差分值的计算中,三维数据编码装置对多个第2变换系数进行小数部分的舍去处理(例如图82的s9108),使用处理后的多个第2变换系数,计算差分值(s9104)。
[0810]
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0811]
此外,本实施方式的三维数据解码装置进行图89所示的处理。首先,三维数据解码装置从比特流中获得点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构(例如八叉树结构)中的对象节点的属性信息和预测值的差分值(s9151),生成预测值(s9152),使用分层地反复进行将差分值、预测值、多个输入信号分别分为高频成分和低频成分的运算的变换处理(例如raht、haar变换或整数haar变换)的逆变换处理,对对象节点的属性信息进行解码(s9153)。三维数据解码装置在预测值的生成(s9152)中,选择将多个第1节点(例如父节点群)中的哪个节点的属性信息用于对象节点的预测值的生成,所述多个第1节点包含对象节点的父节点且与父节点属于同一阶层。
[0812]
由此,三维数据解码装置能够适当地选择在预测值的生成中使用的属性信息,因此能够提高编码效率。
[0813]
例如,三维数据解码装置在所述选择中,选择是将多个第1节点中包含的第2节点的属性信息直接用作预测值,还是根据多个第1节点的多个属性信息来运算预测值。例如,第2节点是父节点。
[0814]
例如,三维数据解码装置从比特流中获得包含对象节点、与对象节点属于同一阶层的多个第3节点(例如子节点群)的多个差分值(例如图79的s9111),生成多个第3节点的多个预测值(s9113)。三维数据解码装置在解码(s9153)中,通过对多个第3节点的多个预测值进行变换处理来生成多个第2变换系数(例如s9114),通过对多个差分值和多个第2变换系数加上相互对应的差分值和第2变换系数来生成多个第1变换系数(例如s9115),通过对第1变换系数进行逆变换处理来生成多个第3节点的多个属性信息(例如s9116)。
[0815]
例如,变换处理是整数-整数变换(例如整数haar变换)。三维数据解码装置在多个第2变换系数的生成中,对多个第3节点的多个预测值进行小数部分的舍去处理(例如图81
的s9117),对处理后的多个预测值进行变换处理,从而生成多个第2变换系数(例如s9114a)。
[0816]
例如,变换处理是整数-整数变换(例如整数haar变换)。三维数据解码装置在多个第1变换系数的生成中,对多个第2变换系数进行小数部分的舍去处理(例如图83的s9118),使用处理后的多个第2变换系数,计算多个第2变换系数(例如s9115)。
[0817]
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0818]
(实施方式11)
[0819]
在本实施方式中,对使用了预测的raht(region adaptive hierarchical transform)或者haar变换处理进行说明。图90是用于说明预测处理的图,是表示raht或haar变换处理中的阶层结构的图。
[0820]
三维数据编码装置在基于raht或haar变换的阶层编码时,进行根据上位阶层的属性值预测下位阶层的属性值(属性信息),对属性信息和通过预测得到的预测值的差分值进行编码的阶层预测编码。另外,三维数据编码装置基于某个条件自适应地切换是否进行该阶层预测编码。例如,作为某个条件,也可以使用下述条件。
[0821]
条件1是有效节点数大于预定阈值(thnode)。三维数据编码装置在有效节点数大于阈值的情况下,应用阶层预测编码,在有效节点数为阈值以下的情况下,不应用阶层预测编码。
[0822]
这里,有效节点是在编码对象的子节点群的父节点群中包含的多个节点(父节点和邻近父节点)中的具有用于预测的属性值的节点。换言之,有效节点是在该节点或该节点的下位节点(后代节点)中包含三维点的节点。此外,子节点群包含编码对象的多个节点(子节点)。另外,父节点群包含父节点和多个邻近父节点。邻近父节点是与父节点属于相同阶层并且与父节点相邻的节点。
[0823]
例如,在图90所示的例子中,父节点群中包含的有效节点的总数即有效节点数为11。例如,在thnode=5的情况下,由于有效节点数(=11)>thnode,三维数据编码装置使用阶层预测编码对子节点群进行编码。在thnode=12的情况下,由于有效节点数(=11)<=thnode,三维数据编码装置不使用阶层预测编码对子节点群进行编码。由此,三维数据编码装置在有效节点数大于阈值的情况下,能够使用父节点或邻近父节点的属性值来生成高精度的预测值,因此通过应用阶层预测编码,能够提高编码效率。另外,三维数据编码装置在有效节点数为阈值以下的情况下,不应用阶层预测编码,由此能够削减处理量。
[0824]
另外,在不应用阶层预测编码的情况下,三维数据编码装置例如对子节点群的属性值应用raht或haar变换,对得到的变换系数进行熵编码。
[0825]
图91是表示编码处理的第1例的图。三维数据编码装置在计算属性值与预测值的差分值时,通过对属性值与预测值分别应用raht或haar变换,来计算属性值的变换系数与预测值的变换系数。三维数据编码装置求出属性值的变换系数与预测值的变换系数的差分值。由此,能够减小要编码的差分值,因此能够提高编码效率。
[0826]
另外,三维数据编码装置在根据运算值、父节点或邻近父节点的属性值选择预测值的情况下(将预测模式附加到比特流的情况下),例如,也可以使用各预测模式的预测值计算变换系数的差分值,使用该差分值的绝对值和求出成本值,选择成本最小的预测模式。由此,能够适当地选择差分值最小的预测模式,能够提高编码效率。例如,三维数据编码装
置也可以使用下述(式r1)计算成本值cost。
[0827]
【数式34】
[0828][0829]
这里,m是子节点群中包含的子节点数。λ是调整参数。predbit是用于对预测模式进行编码的比特量。ti是属性值的变换系数,pti是预测值的变换系数。此外,预测模式的选择方法不限于此,也可以基于其他条件或来自外部的指示等来选择预测模式。
[0830]
如图91所示,三维数据编码装置通过对子节点群的属性值应用raht或haar变换,计算属性值的变换系数ti(s9501)。
[0831]
在图91所示的例子中,有效节点数为2,并且有效节点数(=2)<=thnode(例如11)。在此情况下,三维数据编码装置不进行预测值的生成。例如,三维数据编码装置使用预测值=0。
[0832]
接着,三维数据编码装置计算属性值的变换系数ti和预测值=0的差分即差分值(s9502)。即,三维数据编码装置将变换系数ti直接作为差分值输出。
[0833]
接下来,三维数据编码装置通过对差分值(变换系数ti)进行量化(s9503),并对被量化的差分值进行算术编码(s9504),来生成编码数据(比特流)。此外,三维数据编码装置在使用无损编码的情况下,可以跳过量化(s9504)。
[0834]
另外,在有效节点数>thnode的情况下,三维数据编码装置通过根据父节点群的属性值来预测子节点群的属性值,从而生成子节点群的预测值。接着,三维数据编码装置通过对预测值应用raht或haar变换,计算预测值的变换系数pti。此外,在步骤s9502中,三维数据编码装置计算属性值的变换系数ti和预测值的变换系数pti的差分即差分值。
[0835]
接下来,说明对通过上述编码处理的第1例生成的编码数据(比特流)进行解码的解码处理的例子。图92是表示解码处理的第1例的图。
[0836]
首先,三维数据解码装置对编码数据(比特流)进行算术解码(s9511),对得到的信号进行逆量化(s9512),由此生成子节点群的变换系数的差分值。另外,三维数据解码装置在使用无损解码的情况下(使用无损编码的情况下),可以跳过逆量化(s9512)。
[0837]
在图92所示的例子中,有效节点数为2,并且有效节点数(=2)<=thnode(例如,11)。在此情况下,三维数据解码装置不进行预测值的生成。例如,三维数据解码装置使用预测值=0。
[0838]
接着,三维数据解码装置通过对子节点群的变换系数的差分值加上预测值=0,来计算子节点群的变换系数ti(s9513)。即,三维数据解码装置将差分直接作为变换系数ti输出。
[0839]
接下来,三维数据解码装置通过对子节点群的变换系数ti应用逆raht(inverse raht)或逆haar变换(inverse haar变换)来生成子节点群的属性值的解码值(s9514)。这样,三维数据解码装置能够适当地将比特流解码。
[0840]
另外,在有效节点数>thnode的情况下,三维数据解码装置通过根据父节点群的属性值预测子节点群的属性值来生成预测值。另外,在三维数据编码装置中,在选择了在预测值的生成中使用运算值、父节点或邻近父节点的属性值中的哪一个的情况下(预测模式附加在比特流中的情况下),三维数据解码装置使用解码后的预测模式生成预测值。接着,三维数据解码装置通过对预测值应用raht或haar变换来计算预测值的变换系数pti。此外,
在步骤s9513中,三维数据解码装置通过对子节点群的变换系数的差分值加上预测值的变换系数pti,来计算子节点群的变换系数ti。
[0841]
图93是表示属性信息头部(attribute_header)的句法例的图。属性信息头部是比特流中包含的属性信息的头部,例如是帧或多个帧单位的头部。
[0842]
如图93所示,属性信息头部包含rahtpredictionflag(阶层预测编码标志)和thnode(第1阈值信息)。rahtpredictionflag是用于在raht或haar的阶层编码时切换是否应用根据上位阶层的属性值预测下位阶层的属性值的阶层预测编码的信息。rahtpredictionflag=1表示应用阶层预测编码。rahtpredictionflag=0表示不应用阶层预测编码。
[0843]
thnode是用于切换是否对每个子节点群应用阶层编码的信息。thnode在rahtpredictionflag=1的情况下附加到属性信息头部,在rahtpredictionflag=0的情况下不附加到属性信息头部。在父节点群的有效节点数大于thnode的情况下,应用阶层预测编码,在有效节点数为thnode以下的情况下,不应用阶层预测编码。
[0844]
图94是表示属性信息头部的另一句法例的图。图94所示的属性信息头部不包含rahtpredictionflag而包含thnode。三维数据编码装置在父节点的有效节点数的最小值为1的情况下,通过设定为thnode=0,能够始终对每个子节点群应用阶层预测编码。因此,在这种情况下,能够省略rahtpredictionflag。由此,能够削减头部的数据尺寸。
[0845]
另外,三维数据编码装置也可以在对rahtpredictionflag或thnode进行熵编码后附加到头部。例如,三维数据编码装置可以对各值进行二值化和算术编码。此外,三维数据编码装置为了抑制处理量,也可以将各值以固定长度编码。
[0846]
此外,rahtpredictionflag或thnode也可以不必附加到头部。例如,也可以通过标准等的档次(profile)或级别(level)等来规定rahtpredictionflag或thnode的值。由此,能够削减头部的比特量。
[0847]
图95是三维数据编码处理(阶层预测编码的切换处理)的流程图。首先,三维数据编码装置计算父节点群的有效节点数(s9521)。接下来,三维数据编码装置判定有效节点数是否多于thnode(s9522)。在有效节点数多于thnode的情况下(s9522的“是”),三维数据编码装置对子节点群的属性值进行阶层预测编码(s9523)。另一方面,在有效节点数为thnode以下的情况下(s9522的“否”),三维数据编码装置对子节点群的属性值进行阶层非预测编码(s9524)。阶层非预测编码是不使用阶层预测编码的编码,例如是不包含预测处理的编码。
[0848]
图96是三维数据解码处理(阶层预测解码的切换处理)的流程图。首先,三维数据解码装置计算父节点群的有效节点数(s9531)。接着,三维数据解码装置判定有效节点数是否多于thnode(s9532)。
[0849]
在有效节点数大于thnode的情况下(s9532的“是”),三维数据解码装置对子节点群的属性值进行阶层预测解码(s9533)。这里,阶层预测解码是指对通过上述的阶层预测编码而生成的信号进行解码的处理。即,在阶层预测解码中,通过对被解码的差分值加上通过预测而得到的预测值,生成解码值(属性值)。
[0850]
另一方面,在有效节点数为thnode以下的情况下(s9532的“否”),三维数据解码装置对子节点群的属性值进行阶层非预测解码(s9534)。在此,阶层非预测解码是对通过上述
阶层非预测编码生成的信号进行解码的处理。阶层非预测解码是不使用阶层预测解码的解码,例如是不包含预测处理的解码。
[0851]
接下来,说明编码处理的第2例。作为用于切换是否使用阶层预测编码的条件,也可以使用下述的条件2。
[0852]
条件2是祖父节点群的有效节点数大于预先确定的阈值(thpnode)。三维数据编码装置在祖父节点群的有效节点数大于阈值的情况下,应用阶层预测编码,在祖父节点群的有效节点数为阈值以下的情况下,不应用阶层预测编码。这里,祖父节点群包含祖父节点和祖父节点的相邻节点。即,祖父节点群包含父节点的父节点和邻近父节点的父节点。此外,祖父节点是对象节点的父节点的父节点。即,祖父节点的有效节点数是对父节点进行编码时的有效节点数。
[0853]
另外,也可以组合条件1和条件2。即,三维数据编码装置也可以在祖父节点群的有效节点数大于阈值thpnode且父节点的有效节点数大于阈值thpnode的情况下应用阶层预测编码,除此以外的情况下不应用阶层预测编码。
[0854]
图97是表示编码处理的第2例的图。例如,在图97所示的例子中,祖父节点的有效节点数是3。例如,在thpnode=1的情况下,由于祖父节点的有效节点数(=3)>thpnode,三维数据编码装置使用阶层预测编码对子节点群进行编码。此外,在thpnode=5的情况下,有效节点数(=3)<=thpnode,因此三维数据编码装置不使用阶层预测编码对子节点群进行编码。
[0855]
由此,三维数据编码装置在祖父节点群的有效节点数大于阈值的情况下,能够使用父节点或邻近父节点的属性值生成高精度的预测值,因此通过应用阶层预测编码,能够提高编码效率。此外,三维数据编码装置在祖父节点的有效节点数为阈值以下的情况下,通过不应用阶层预测编码,能够削减处理量。
[0856]
另外,在不应用阶层预测编码的情况下,三维数据编码装置例如对子节点群的属性值应用raht或haar变换,对得到的变换系数进行熵编码。
[0857]
另外,在祖父节点的有效节点数为阈值以下的情况下,三维数据编码装置由于不应用阶层预测编码,也可以不进行父节点群的决定以及计算父节点群的有效节点数的处理。由此,能够削减处理量。另外,三维数据编码装置在不计算父节点群的有效节点数的情况下,也可以对父节点群的有效节点数设定0,对编码对象的子节点群的子节点不应用阶层预测编码。由此,能够削减处理量。另外,三维数据编码装置也可以参照比祖父节点上位阶层的有效节点数。
[0858]
图98是表示第2例中的属性信息头部的句法例的图。图98所示的属性信息头部除了图93所示的属性信息头部的结构以外,还包含thpnode(第2阈值信息)。thpnode是用于切换是否对每个子节点群应用阶层编码的信息。thpnode在rahtpredictionflag=1的情况下附加到属性信息头部,在rahtpredictionflag=0的情况下不附加到属性信息头部。在祖父节点群的有效节点数大于thpnode的情况下,应用阶层预测编码,在祖父节点群的有效节点数为thpnode以下的情况下,不应用阶层预测编码。
[0859]
图99是表示属性信息头部的另一句法例的图。图99所示的属性信息头部除了图94所示的属性信息头部的结构以外,还包含thpnode(第2阈值信息)。在祖父节点的有效节点数的最小值为1的情况下,通过使thpnode=0,能够始终对每个子节点群应用阶层编码。因
此,在这种情况下,能够省略rahtpredictionflag。由此,能够削减头部的数据尺寸。
[0860]
另外,三维数据编码装置也可以在对rahtpredictionflag、thpnode或thnode进行熵编码后附加到头部。例如,三维数据编码装置可以对各值进行二值化和算术编码。此外,三维数据编码装置为了抑制处理量,也可以将各值以固定长度编码。
[0861]
此外,rahtpredictionflag、thpnode或thnode也可以不必附加到头部。例如,也可以通过标准等的档次或级别等来规定rahtpredictionflag、thpnode或thnode的值。由此,能够削减头部的比特量。
[0862]
图100是第2例中的三维数据编码处理(阶层预测编码的切换处理)的流程图。图100所示的处理是将步骤s9525追加到图95所示的处理。
[0863]
首先,三维数据编码装置判定祖父节点群的有效节点数是否多于thpnode(s9525)。在祖父节点群的有效节点数多于thpnode的情况下(s9525的“是”),进行与图95相同的处理(s9521~s9524)。
[0864]
另一方面,在祖父节点群的有效节点数为thpnode以下的情况下(s9525的“否”),三维数据编码装置对子节点群的属性值进行阶层非预测编码(s9524)。另外,三维数据编码装置在祖父节点群的有效节点数为thpnode以下的情况下(s9525的“否”),也可以将父节点群的有效节点数设定为0。
[0865]
另外,在祖父节点群的有效节点数多于thpnode的情况下(s9525的“是”),三维数据编码装置也可以不进行步骤s9521~s9522,对子节点群的属性值进行阶层预测编码(s9523)。
[0866]
图101是第2例中的三维数据解码处理(阶层预测解码的切换处理)的流程图。图101所示的处理是对图96所示的处理追加了步骤s9535。
[0867]
首先,三维数据解码装置判定祖父节点群的有效节点数是否多于thpnode(s9535)。在祖父节点群的有效节点数多于thpnode的情况下(9535的“是”),进行与图96相同的处理(s9531~s9534)。
[0868]
另一方面,在祖父节点群的有效节点数为thpnode以下的情况下(s9535的“否”),三维数据解码装置对子节点群的属性值进行阶层非预测解码(s9534)。另外,三维数据解码装置在祖父节点群的有效节点数为thpnode以下的情况下(s9535的“否”),也可以将父节点群的有效节点数设定为0。
[0869]
另外,在祖父节点群的有效节点数多于thpnode的情况下(s9535的“是”),三维数据解码装置也可以不进行步骤s9531~s9532,对子节点群的属性值进行阶层预测解码(s9533)。
[0870]
接下来,说明编码处理的第3例。作为用于切换是否使用阶层预测编码的条件,也可以使用下述的条件3。
[0871]
条件3是子节点群所属的阶层(layer)大于阈值(thlayer)。三维数据编码装置在子节点群所属的阶层大于阈值的情况下,应用阶层预测编码,在子节点群所属的阶层为阈值以下的情况下,不应用阶层预测编码。这里,阶层(layer)是在通过raht或haar变换对编码对象的子节点群进行阶层编码时的阶层,例如对应于分配给各阶层的值。
[0872]
图102是表示编码处理的第3例的图。例如,在图102所示的例子中,父节点群所属的阶层(layer)是4,子节点群所属的阶层是1。例如,在thlayer=0的情况下,由于layer(=
1)>thlayer,三维数据编码装置使用阶层预测编码对子节点群进行编码。另外,在thlayer=4的情况下,由于layer(=1)<=thlayer,三维数据编码装置不使用阶层预测编码对子节点群进行编码。
[0873]
由此,三维数据编码装置对属于有效节点数容易变大的上位阶层的子节点,能够使用父节点或邻近父节点的属性值生成高精度的预测值,因此通过应用阶层预测编码,能够提高编码效率。另一方面,三维数据编码装置在阶层为阈值以下的情况下,通过不应用阶层预测编码,能够削减处理量。
[0874]
另外,在不应用阶层预测编码的情况下,三维数据编码装置例如对子节点群的属性值应用raht或haar变换,对得到的变换系数进行熵编码。
[0875]
图103是表示第3例中的属性信息头部的句法例的图。图103所示的属性信息头部除了图98所示的属性信息头部的结构以外,还包含thlayer(第3阈值信息)。
[0876]
thlayer是用于切换是否对子节点所属的每个阶层应用阶层预测编码的信息。thlayer在rahtpredictionflag=1的情况下被附加到属性信息头部,在rahtpredictionflag=0的情况下不被附加到属性信息头部。在子节点群所属的阶层大于thlayer的情况下,应用阶层预测编码,在子节点群所属的阶层为thlayer以下的情况下,不应用阶层预测编码。
[0877]
图104是表示属性信息头部的另一句法例的图。图104所示的属性信息头部除了图99所示的属性信息头部的结构以外,还包含thlayer(第3阈值信息)。通过将thlayer设置为阶层的最小值(例如-1),能够按每个阶层始终应用阶层编码。因此,在这种情况下,也可以省略rahtpredictionflag。由此,能够削减头部尺寸。此外,可以为raht或haar变换的每个阶层i准备thlayer[i],以表示是否按每个阶层应用了阶层预测编码。由此,通过按每个阶层选择最佳的阈值,能够提高编码效率。
[0878]
此外,三维数据编码装置可以对rahtpredictionflag、thlayer、thpnode或thnode进行熵编码后将它们附加到头部。例如,三维数据编码装置可以对各值进行二值化和算术编码。此外,三维数据编码装置为了抑制处理量,也可以将各值以固定长度编码。
[0879]
另外,rahtpredictionflag、thlayer、thpnode或thnode也可以不必附加到头部。例如,rahtpredictionflag、thlayer、thpnode或thnode的值可以由标准等的档次或级别等来规定。由此,能够削减头部的比特量。
[0880]
图105是第3例中的三维数据编码处理(阶层预测编码的切换处理)的流程图。图105所示的处理是对图100所示的处理追加了步骤s9526。
[0881]
首先,三维数据编码装置判定子节点群的阶层是否大于thlayer(s9526)。在子节点群的阶层大于thlayer的情况下(s9526的“是”),进行与图100相同的处理(s9525以后)。
[0882]
另一方面,在子节点群的阶层为thlayer以下的情况下(s9526的“否”),三维数据编码装置对子节点群的属性值进行阶层非预测编码(s9524)。
[0883]
另外,在子节点群的阶层大于thlayer的情况下(s9526的“是”),三维数据编码装置可以不进行步骤s9525和s9521~s9522,而是对子节点群的属性值进行阶层预测编码(s9523)。或者,三维数据编码装置可以进行步骤s9525和s9521~s9522中的一方,而不进行另一方。
[0884]
图106是第3例中的三维数据解码处理(阶层预测解码的切换处理)的流程图。图
106所示的处理是对图101所示的处理追加了步骤s9536。
[0885]
首先,三维数据解码装置判定子节点群的阶层是否大于thlayer(s9536)。在子节点群的阶层大于thlayer的情况下(s9536的“是”),进行与图101相同的处理(s9535以后)。
[0886]
另一方面,在子节点群的阶层为thlayer以下的情况下(s9536的“否”),三维数据解码装置对子节点群的属性值进行阶层非预测解码(s9534)。
[0887]
另外,在子节点群的阶层大于thlayer的情况下(9536的“是”),三维数据解码装置可以不进行步骤s9535和s9531~s9532,而对子节点群的属性值进行阶层预测解码(s9533)。或者,三维数据解码装置也可以进行步骤s9535和s9531~s9532中的一方,而不进行另一方。
[0888]
以下,对本实施方式的变形例进行说明。在本实施方式中,示出了三维数据编码装置在通过raht或haar变换进行阶层编码的情况下,基于条件1、条件2以及条件3中的某一个条件或其组合,切换是否应用阶层预测编码的例子,但不一定限于此,也可以通过任何方法切换是否应用阶层预测编码。
[0889]
例如,三维数据编码装置可以是,如果子节点群的变换系数的差分值的绝对值和或成本值小于阈值则应用阶层预测编码,否则不应用阶层预测编码。在这种情况下,三维数据编码装置可以按每个子节点群生成表示是否应用了阶层预测编码的信息(例如predflag),并且将生成的信息附加到比特流。例如,在应用了阶层预测编码的情况下,predflag=1,在不应用阶层预测编码的情况下,predflag=0。由此,三维数据解码装置通过将比特流的predflag解码,能够判定是否应按每个子节点应用阶层编码,因此能够适当地将比特流解码。
[0890]
另外,三维数据编码装置也可以在将predflag二值化后进行算术编码。此外,三维数据编码装置也可以根据条件1、条件2或条件3来切换用于对predflag的二值化数据进行算术编码的编码表。即,三维数据编码装置也可以根据父节点群的有效节点数、或祖父节点的有效节点数、或子节点群所属的阶层来切换编码表。由此,能够在抑制predflag的比特量的同时通过阶层预测编码提高编码效率。另外,三维数据编码装置也可以在基于条件1、或条件2、或条件3中的某一个条件、或其组合来切换是否应用阶层预测编码的方法中,组合使用predflag的方法。由此,能够提高编码效率。另外,三维数据解码装置也可以在predflag的算术解码中使用的编码表的选择中使用与上述同样的方法。
[0891]
另外,在本实施方式中,三维数据编码装置以子节点群单位、或者子节点群所属的阶层单位切换是否应用阶层预测编码,但不一定限于此。例如,三维数据编码装置也可以对n个子节点群、或者m个阶层的每一个来切换是否应用阶层预测编码。此外,三维数据编码装置也可以以切片或瓦片等大于阶层的单位切换是否应用阶层预测编码。由此,能够在抑制处理量的同时提高编码效率。
[0892]
此外,在本实施方式中,示出了三维数据编码装置切换是否应用阶层编码的例子,但不一定限于此。例如,三维数据编码装置也可以根据上述的条件等,使所参照的父节点群的参照范围或参照数变化。图107是表示变更参照范围及参照数的例子的图。例如,如图107所示,三维数据编码装置在子节点群所属的阶层为阈值thlayer以下的情况下,可以减少父节点群的参照范围或参照数。由此,能够减少计算父节点群的有效节点等的处理量。
[0893]
如上所述,本实施方式的三维数据编码装置进行图108所示的处理。首先,三维数
据编码装置判定多个第1节点中包含的有效节点的数量即第1有效节点数是否多于预定的第1阈值,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层(s9541),所述有效节点是包含三维点的节点,。在第1有效节点数多于第1阈值的情况下(s9541的“是”),对对象节点的属性信息进行第1编码(例如阶层预测编码),所述第1编码包含使用了多个第2节点的预测处理,所述多个第2节点包含对象节点的父节点,并且与父节点属于同一阶层(s9542)。在第1有效节点数为第1阈值以下的情况下(s9541的“否”),对对象节点的属性信息进行第2编码(例如阶层非预测编码),第2编码不包含使用了多个第2节点的预测处理(s9543)。
[0894]
由此,三维数据编码装置能够适当地选择是否使用包含预测处理的第1编码,因此能够提高编码效率。
[0895]
例如,多个第1节点(例如父节点群)包含父节点和与父节点属于同一阶层的多个节点。
[0896]
例如,多个第1节点(例如祖父节点群)包含对象节点的祖父节点、和与祖父节点属于同一阶层的多个节点。
[0897]
例如,在第2编码中,将对象节点的属性信息的预测值设定为零。
[0898]
例如,三维数据编码装置还生成包含被编码的对象节点的属性信息和表示是否能够应用第1编码的第1信息(例如rahtpredictionflag)的比特流。例如,三维数据编码装置在由第1信息表示能够应用第1编码的情况下,进行图108所示的处理,在由第1信息未表示能够应用第1编码的情况下(表示不能应用第1编码的情况下),对对象节点的属性信息进行第2编码(例如阶层非预测编码)。
[0899]
例如,三维数据编码装置还生成包含被编码的对象节点的属性信息和表示第1阈值的第2信息(例如thpnode或thnode)的比特流。
[0900]
例如,三维数据编码装置判定多个第2节点(例如祖父节点群)中包含的有效节点的数量即第2有效节点数是否多于预先确定的第2阈值,所述多个第2节点包含对象节点的祖父节点和与祖父节点属于同一阶层的多个节点,在第1有效节点数多于第1阈值且第2有效节点数多于第2阈值的情况下,对对象节点的属性信息进行第1编码,在第1有效节点数为第1阈值以下的情况下,或者在第2有效节点数为第2阈值以下的情况下,对对象节点的属性信息进行第2编码。
[0901]
例如,三维数据编码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0902]
此外,本实施方式的三维数据解码装置进行图109所示的处理。首先,三维数据解码装置判定多个第1节点中包含的有效节点的数量即第1有效节点数是否多于预定的第1阈值,所述多个第1节点属于点群数据中包含的多个三维点的n(n为2以上的整数)叉树结构中的对象节点的上位层(s9551),所述有效节点是包含三维点的节点,在第1有效节点数多于第1阈值的情况下(s9551中的“是”),对对象节点的属性信息进行第1解码(例如阶层预测解码),所述第1解码包含使用了多个第2节点的预测处理,所述多个第2节点包含对象节点的父节点,并且与父节点属于同一阶层(s9552),在第1有效节点数为第1阈值以下的情况下(s9551的“否”),对对象节点的属性信息进行第2解码(例如阶层非预测解码),所述第2解码不包含使用了多个第2节点的预测处理(s9553)。
[0903]
由此,三维数据解码装置能够适当地选择是否使用包含预测处理的第1解码,因此
能够提高编码效率。
[0904]
例如,多个第1节点(例如父节点群)包含父节点和与父节点属于同一阶层的多个节点。
[0905]
例如,多个第1节点(例如祖父节点群)包含对象节点的祖父节点、和与祖父节点属于同一阶层的多个节点。
[0906]
例如,在第2编码中,将对象节点的属性信息的预测值设定为零。
[0907]
例如,三维数据解码装置进一步从包含被编码的对象节点的属性信息的比特流中,获得表示能否应用第1解码的第1信息(例如rahtpredictionflag)。例如,三维数据解码装置在由第1信息表示能够应用第1解码的情况下,进行图109所示的处理,在由第1信息未表示能够应用第1解码的情况下(表示不能应用第1解码的情况下),对对象节点的属性信息进行第2解码(例如阶层非预测编码)。
[0908]
例如,三维数据解码装置进一步从包含被编码的对象节点的属性信息的比特流中,获得表示第1阈值的第2信息(例如thpnode或thnode)。
[0909]
例如,三维数据解码装置判定多个第2节点(例如祖父节点群)中包含的有效节点的数量即第2有效节点数是否多于预先确定的第2阈值,所述多个第2节点包含对象节点的祖父节点和与祖父节点属于同一阶层的多个节点,在第1有效节点数多于第1阈值且第2有效节点数多于第2阈值的情况下,对对象节点的属性信息进行第1解码,在第1有效节点数为第1阈值以下的情况下,或者在第2有效节点数为第2阈值以下的情况下,对对象节点的属性信息进行第2解码。
[0910]
例如,三维数据解码装置具备处理器和存储器,处理器使用存储器进行上述处理。
[0911]
另外,这里,三维数据编码装置在第1有效节点数多于第1阈值的情况下,对对象节点的属性信息进行第1编码,所述第1编码包含使用了多个第2节点的预测处理,所述多个第2节点包含对象节点的父节点,并且与父节点属于同一阶层,但是,也可以考虑在第1有效节点数为第1阈值以上的情况下也同样对应。即,三维数据编码装置为,如果父节点群的第1有效节点数为第1阈值以上,则进行包含上述预测处理的编码,该情况下,如果父节点群的第1有效节点数小于第1阈值,则对对象节点的属性信息进行不包含上述预测处理第2编码。
[0912]
同样,三维数据解码装置在第1有效节点数多于第1阈值的情况下,对对象节点的属性信息进行第1解码,所述第1解码包含使用了多个第2节点的预测处理,所述多个第2节点包含对象节点的父节点,并且与父节点属于同一阶层,但是,也可以考虑在第1有效节点数为第1阈值以上的情况下也同样地对应。即,三维数据解码装置为,如果父节点群的第1有效节点数为第1阈值以上,则进行包含上述预测处理的编码,该情况下进行,如果父节点群的第1有效节点数小于第1阈值,则对对象节点的属性信息进行不包含上述预测处理的第2解码。
[0913]
以上,对本公开的实施方式的三维数据编码装置及三维数据解码装置等进行了说明,但本公开并不限定于该实施方式。
[0914]
并且,上述的实施方式的三维数据编码装置以及三维数据解码装置等中包含的各处理部典型的能够作为集成电路的lsi来实现。这些可以分别地制成一个芯片,也可以是其中的一部分或全部被制成一个芯片。
[0915]
并且,集成电路化并非受lsi所限,也可以由专用电路或通用处理器来实现。也可
以利用在lsi制造后可编程的fpga(field programmable gate array:现场可编程门阵列)、或能够重构lsi内部的电路部的连接或设定的可重构处理器。
[0916]
并且,在上述的各实施方式中,各构成要素可以由专用的硬件来构成,或者可以通过执行适于各构成要素的软件程序来实现。各构成要素也可以通过cpu或处理器等程序执行部读出被记录在硬盘或半导体存储器等记录介质的软件程序并执行来实现。
[0917]
并且,本公开能够作为由三维数据编码装置以及三维数据解码装置等来执行的三维数据编码方法或三维数据解码方法等来实现。
[0918]
并且,框图中的功能块的分割为一个例子,多个功能块可以作为一个功能块来实现,一个功能块也可以分割为多个,一部分的功能也可以移动到其他的功能块。并且,具有类似的功能的多个功能块的功能也可以由单一的硬件或软件进行并行处理或者进行时间分割处理。
[0919]
并且,关于流程图中的各步骤的执行顺序,是为了对本公开进行具体说明而举出的例子,也可以是上述以外的顺序。并且,上述步骤的一部分也可以与其他的步骤同时(并行)执行。
[0920]
以上基于实施方式对一个或多个形态的三维数据编码装置以及三维数据解码装置等进行了说明,但是,本公开并非受这些实施方式所限。在不脱离本公开的主旨的范围内,将本领域技术人员能够想到的各种变形执行于本实施方式而得到的方式、以及对不同的实施方式中的构成要素进行组合而得到的方式均包含在一个或多个形态的范围内。
[0921]
产业上的可利用性
[0922]
本公开能够适用于三维数据编码装置以及三维数据解码装置。
[0923]
附图标记说明
[0924]
600 自身车辆
[0925]
601 周边车辆
[0926]
602、605 传感器检测范围
[0927]
603、606 区域
[0928]
604 遮挡区域
[0929]
801 车辆
[0930]
802 空间
[0931]
901 服务器
[0932]
902、902a、902b、902c 客户端装置
[0933]
1011、1111 数据接收部
[0934]
1012、1020、1112、1120 通信部
[0935]
1013、1113 接收控制部
[0936]
1014、1019、1114、1119 格式变换部
[0937]
1015 传感器
[0938]
1016、1116 三维数据制作部
[0939]
1017 三维图像处理部
[0940]
1018、1118 三维数据蓄积部
[0941]
1021、1121 发送控制部
[0942]
1022、1122 数据发送部
[0943]
1031、1032、1135 三维地图
[0944]
1033、1037、1132 传感器信息
[0945]
1034、1035、1134 三维数据
[0946]
1117 三维数据合成部
[0947]
1201 三维地图压缩/解码处理部
[0948]
1202 传感器信息压缩/解码处理部
[0949]
1211 三维地图解码处理部
[0950]
1212 传感器信息压缩处理部
[0951]
2001 服务器
[0952]
2002、2002a、2002b 客户端装置
[0953]
2011 传感器信息获得部
[0954]
2012 存储部
[0955]
2013 数据发送可否判定部
[0956]
2021、2021a、2021b 终端
[0957]
2022、2022a、2022b 通信装置
[0958]
2023 网络
[0959]
2024 数据收集服务器
[0960]
2025 地图服务器
[0961]
2026 客户端装置
[0962]
6600 属性信息编码部
[0963]
6601 排序部
[0964]
6602 haar变换部
[0965]
6603 量化部
[0966]
6604、6612 逆量化部
[0967]
6605、6613 逆haar变换部
[0968]
6606、6614 存储器
[0969]
6607 算术编码部
[0970]
6610 属性信息解码部
[0971]
6611 算术解码部
[0972]
8301 整数变换部
[0973]
8302 熵编码部
[0974]
8303 熵解码部
[0975]
8304 逆整数变换部
[0976]
8310 三维数据编码装置
[0977]
8311 位置信息编码部
[0978]
8312 无损属性信息编码部
[0979]
8313 附加信息编码部
[0980]
8314 复用部
[0981]
8321 整数变换部
[0982]
8322 熵编码部
[0983]
8323 排序部
[0984]
8324 整数haar变换部
[0985]
8330 三维数据解码装置
[0986]
8331 逆复用部
[0987]
8332 位置信息解码部
[0988]
8333 无损属性信息解码部
[0989]
8334 附加信息解码部
[0990]
8341 熵解码部
[0991]
8342 逆整数变换部
[0992]
8343 排序部
[0993]
8344 逆整数haar变换部
[0994]
8351、8355 减法部
[0995]
8352、8354 右移位部
[0996]
8353、8356 加法部
[0997]
8361 排序部
[0998]
8362 切换部
[0999]
8363 raht部
[1000]
8364、8364a 量化部
[1001]
8365 整数变换部
[1002]
8366 熵编码部
[1003]
8371 熵解码部
[1004]
8372 排序部
[1005]
8373、8373a 切换部
[1006]
8374、8374a 逆量化部
[1007]
8375 逆raht部
[1008]
8376 逆整数变换部
[1009]
8401 排序部
[1010]
8402 整数raht-haar变换部
[1011]
8403 量化部
[1012]
8404 熵编码部
[1013]
8411 熵解码部
[1014]
8412 逆量化部
[1015]
8413 排序部
[1016]
8414 逆整数raht-haar变换部
[1017]
8421、8422、8430 左移位部
[1018]
8423 减法部
[1019]
8424 除法部
[1020]
8425、8427、8429 右移位部
[1021]
8426 乘法部
[1022]
8428 切换部
[1023]
8431 加法部
[1024]
8441、8447 左移位部
[1025]
8442、8443、8449 乘法部
[1026]
8444、8446、8450、8452 右移位部
[1027]
8445 切换部
[1028]
8448、8451 减法部
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献