三维数据编码方法、解码方法、编码装置、解码装置与流程
未命名
10-21
阅读:84
评论:0
三维数据编码方法、解码方法、编码装置、解码装置
1.本技术是申请日为2016年12月1日、申请号为201680070904.9、发明名称为“三维数据编码方法、解码方法、编码装置、解码装置”的发明专利申请的分案申请。
技术领域
2.本技术涉及三维数据编码方法、三维数据解码方法、三维数据编码装置以及三维数据解码装置。
背景技术:
3.在用于汽车或机器人自主地进行工作的计算机视觉、地图信息、监视、基础结构检查、或影像分发等较大的领域中,今后将会普及灵活运用了三维数据的装置或服务。三维数据通过测距仪等距离传感器、立体摄影机、或多个单眼相机的组合等各种方法来获得。
4.作为三维数据的一个表现方法有被称作点云数据的表现方法,该方法通过三维空间内的点群来表现三维结构的形状(例如,参照非专利文献1)。在点云数据中存放了点群的位置以及颜色。虽然预想点云数据作为三维数据的表现方法将成为主流,但是,点群的数据量非常大。因此,在三维数据的蓄积或传输中与二维的动态图像(作为一个例子,有以mpeg而被标准化后的mpeg-4avc或hevc等)一样,需要通过编码来进行数据量的压缩。
5.并且,关于点云数据的压缩,有一部分由进行点云数据关联的处理的公开的程序库(point cloud library:点云库)等支持。
6.(现有技术文献)
7.(非专利文献)
8.非专利文献1:“octree-based progressive geometry coding of point clouds”,eurographics symposium on point-based graphics(2006)
9.然而,当在实际的装置或服务中使用点云数据等编码数据时,需要针对所希望的空间位置或目标对象等进行随机存取,但是到目前为止,三维的编码数据中的随机存取作为功能并不存在,因此,为此的编码方法也不存在。
技术实现要素:
10.本技术的目的在于,提供一种在编码三维数据中能够提供随机存取功能的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
11.另外,本技术通过对空间进行划分并编码的构成,能够使空间的量化、预测等成为可能,即使在不进行随机存取的情况下也有效。
12.本技术的一个形态所涉及的三维数据编码方法,对三维数据进行编码,包括:划分步骤,将所述三维数据划分为分别与三维坐标对应的第一处理单位;以及编码步骤,对多个所述第一处理单位的每一个进行编码,在所述编码步骤中,决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行编码。
13.本技术的一个形态所涉及的三维数据解码方法,包括解码步骤,在该解码步骤中,
通过对分别与三维坐标对应的第一处理单位进行解码,生成所述第一处理单位的三维数据,在所述解码步骤中,决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行解码。
14.另外,这些所有的或具体的形态可以作为系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质来实现,并且可以通过对系统、方法、集成电路、计算机程序以及记录介质进行组合来实现。
15.本技术能够提供一种在编码三维数据中,能够提供随机存取功能的三维数据编码方法、三维数据解码方法、三维数据编码装置或三维数据解码装置。
附图说明
16.图1示出了实施方式所涉及的编码三维数据的构成。
17.图2示出了属于实施方式所涉及的gos的最下层的spc间的预测结构的一个例子。
18.图3示出了实施方式所涉及的层间的预测结构的一个例子。
19.图4示出了实施方式所涉及的gos的编码顺序的一个例子。
20.图5示出了实施方式所涉及的gos的编码顺序的一个例子。
21.图6是实施方式所涉及的三维数据编码装置的方框图。
22.图7是实施方式所涉及的编码处理的流程图。
23.图8是实施方式所涉及的三维数据解码装置的方框图。
24.图9是实施方式所涉及的解码处理的流程图。
25.图10示出了实施方式所涉及的元信息的一个例子。
具体实施方式
26.本技术的一个形态所涉及的三维数据编码方法为对三维数据进行编码的三维数据编码方法,包括:划分步骤,将所述三维数据划分为分别与三维坐标对应的第一处理单位,该第一处理单位是随机存取单位;以及编码步骤,通过对多个所述第一处理单位的每一个进行编码,来生成编码数据。
27.据此,以每个第一处理单位的随机存取成为可能。这样,该三维数据编码方法能够提供在编码三维数据中的随机存取功能。
28.例如,也可以是,所述三维数据编码方法包括生成步骤,在该生成步骤中生成第一信息,该第一信息示出多个所述第一处理单位、以及与多个所述第一处理单位的每一个对应的三维坐标,所述编码数据包括所述第一信息。
29.例如,也可以是,所述第一信息进一步示出与所述多个第一处理单位的每一个对应的对象、时刻以及数据存放目的地中的至少一个。
30.例如,也可以是,在所述划分步骤,进一步将所述第一处理单位划分为多个第二处理单位,在所述编码步骤,对多个所述第二处理单位的每一个进行编码。
31.例如,也可以是,在所述编码步骤,针对处理对象的第一处理单位中包含的处理对象的第二处理单位,参照所述处理对象的第一处理单位中包含的其他的第二处理单位来进行编码。
32.据此,通过参照其他的第二处理单位,从而能够提高编码效率。
33.例如,也可以是,在所述编码步骤中,作为所述处理对象的第二处理单位的类型,从不参照其他的第二处理单位的第一类型、参照其他的一个第二处理单位的第二类型、以及参照其他的两个第二处理单位的第三类型中选择一个,并按照选择的类型,对所述处理对象的第二处理单位进行编码。
34.例如,也可以是,在所述编码步骤中,按照所述三维数据中包含的对象的数量或疏密程度,变更对所述第一类型进行选择的频度。
35.据此,能够对折衷的关系中的随机存取性与编码效率进行恰当地设定。
36.例如,也可以是,在所述编码步骤中,按照所述三维数据中包含的对象的数量或疏密程度、或者动态对象的数量或疏密程度,决定所述第一处理单位的大小。
37.据此,能够对折衷的关系中的随机存取性与编码效率进行恰当地设定。
38.例如,也可以是,所述第一处理单位包括在预先决定的方向上被空间划分的多个层,该多个层的每一层中包括一个以上的所述第二处理单位,在所述编码步骤,参照与该第二处理单位为同一层或比该第二处理单位下层的层中包括的所述第二处理单位,来对所述第二处理单位进行编码。
39.据此,例如能够提高在系统中的重要的层的随机存取性,并且能够抑制编码效率的降低。
40.例如,也可以是,在所述划分步骤,将仅包括静态对象的第二处理单位与仅包括动态对象的第二处理单位,分配到不同的第一处理单位。
41.据此,能够容易地对动态对象与静态对象进行控制。
42.例如,也可以是,在所述编码步骤中,对多个动态对象分别进行编码,所述多个动态对象的编码数据与仅包括静态对象的第二处理单位对应。
43.据此,能够容易地对动态对象与静态对象进行控制。
44.例如,也可以是,在所述划分步骤,进一步将所述第二处理单位划分为多个第三处理单位,在所述编码步骤,对多个所述第三处理单位的每一个进行编码。
45.例如,也可以是,所述第三处理单位包括一个以上的体素,该体素是与位置信息对应的最小单位。
46.例如,也可以是,所述第二处理单位包括根据由传感器得到的信息而导出的特征点群。
47.例如,也可以是,所述编码数据包括示出多个所述第一处理单位的编码顺序的信息。
48.例如,也可以是,所述编码数据包括示出多个所述第一处理单位的大小的信息。
49.例如,也可以是,在所述编码步骤,对多个所述第一处理单位进行并行编码。
50.并且,本技术的一个形态所涉及的三维数据解码方法包括解码步骤,在该解码步骤中通过对分别与三维坐标对应的第一处理单位的编码数据的每一个进行解码,从而生成所述第一处理单位的三维数据,所述第一处理单位是随机存取单位。
51.据此,每个第一处理单位的随机存取则成为可能。这样,该三维数据解码方法能够提供在编码三维数据中的随机存取功能。
52.并且,也可以是,本技术的一个形态所涉及的三维数据编码装置包括:划分部,将所述三维数据划分为分别与三维坐标对应的第一处理单位,该第一处理单位是随机存取单
位;以及编码部,通过对多个所述第一处理单位的每一个进行编码,来生成编码数据。
53.据此,按每个第一处理单位的随机存取成为可能。这样,该三维数据编码装置能够提供在编码三维数据中的随机存取功能。
54.并且,也可以是,本技术的一个形态所涉及的三维数据解码装置对三维数据进行解码,所述三维数据解码装置包括解码部,该解码部通过对分别与三维坐标对应的第一处理单位的编码数据的每一个进行解码,来生成所述第一处理单位的三维数据,所述第一处理单位是随机存取单位。
55.据此,按每个第一处理单位的随机存取成为可能。这样,该三维数据解码装置能够提供在编码三维数据的随机存取功能。
56.另外,这些概括性的或具体的形态可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等记录介质来实现,而且可以由系统、方法、集成电路、计算机程序以及记录介质的任意的组合来实现。
57.以下参照附图对实施方式进行具体说明。另外,以下将要说明的实施方式均为示出本技术的一个具体例子。以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接形态、步骤、步骤的顺序等均为一个例子,其主旨并非是对本技术进行限定。并且,针对以下的实施方式的构成要素之中没有记载在示出最上位概念的技术方案中的构成要素,作为任意的构成要素来说明。
58.首先,对本实施方式所涉及的编码三维数据(以下也记作编码数据)的数据结构进行说明。图1示出了本实施方式所涉及的编码三维数据的构成。
59.在本实施方式中,三维空间被划分为相当于动态图像的编码中的图片的空间(spc),以空间为单位对三维数据进行编码。空间被进一步划分为相当于动态图像编码中的宏块等的体积(vlm),以vlm为单位进行预测以及转换。体积包括与位置坐标相对应的最小单位即多个体素(vxl)。另外,预测是指,与二维图像中进行的预测相同,参照其他的处理单位,生成与处理对象的处理单位类似的预测三维数据,并对该预测三维数据与处理对象的处理单位的差分进行编码。并且,该预测不仅包括参照同一时刻的其他的预测单位的空间预测,而且包括参照不同时刻的预测单位的时间预测。
60.例如,三维数据编码装置(以下也记作编码装置)在对由点云数据等的点群数据来表现的三维空间进行编码时,按照体素的大小,对点群的各个点或体素内所包含的多个点一并进行编码。若将体素细分,则能够对点群的三维形状进行高精度的表现,若将体素的大小增大,则能够对点群的三维形状进行粗略的表现。
61.另外,以下虽然以三维数据为点云数据的情况为例进行说明,但是,三维数据并非受点云数据所限,也可以是任意形式的三维数据。
62.并且,可以利用阶层结构的体素。在这种情况下,在n次的阶层中,可以按顺序示出在n-1次以下的阶层(n次的阶层的下层)中是否存在采样点。例如,在仅对n次的阶层进行解码时,当在n-1次以下的阶层存在采样点的情况下,能够视为n次阶层的体素的中心存在采样点来进行解码。
63.并且,编码装置通过距离传感器、立体摄影机、单眼相机、回转仪、或惯性传感器等来获得点群数据。
64.关于空间,与动态图像的编码同样,至少被分类为以下三个预测结构的任一个,这
三个预测结构为:能够单独解码的帧内空间(i-spc)、仅能单向参照的预测空间(p-spc)、以及能够双向参照的双向空间(b-spc)。并且,空间具有解码时刻和显示时刻这两种时刻信息。
65.并且,如图1所示,作为包括多个空间的处理单位,有作为随机存取单位的gos(group of space:空间群)。而且,作为包括多个gos的处理单位,存在世界空间(wld)。
66.世界空间所占的空间区域通过gps或纬度以及经度信息等,与地球上的绝对位置建立了对应。该位置信息作为元信息而被存放。另外,元信息可以包含在编码数据中,也可以与编码数据分开来传输。
67.并且,在gos内,所有的spc可以是三维上的邻接,也可以存在与其他的spc不是三维上邻接的spc。
68.另外,以下将与gos、spc或vlm等处理单位中包含的三维数据所对应的编码、解码或参照等处理,也简单地记作对处理单位进行编码、解码或参照等。并且,处理单位中所包含的三维数据例如包括三维坐标等空间位置与颜色信息等特性値的至少一个组。
69.接着,对gos中的spc的预测结构进行说明。同一gos内的多个spc、或同一spc内的多个vlm虽然彼此占有不同的空间,却持有相同的时刻信息(解码时刻以及显示时刻)。
70.并且,在gos内,在解码顺序上为开头的spc是i-spc。并且,gos中存在封闭式gos和开放式gos这两种。封闭式gos是从开头i-spc开始解码时,能够对gos内的所有的spc进行解码的gos。在开放式gos中,在gos内,比开头i-spc的显示时刻早的一部分spc参照不同的gos,只能在该gos进行解码。
71.另外,在地图信息等的编码数据中,有从与编码顺序相反的方向对wld进行解码的情况,若在gos间存在依存性,则难以进行逆方向再生。因此,在这种情况下,基本上采用封闭式gos。
72.并且,gos在高度方向上具有层结构,从底下的层的spc开始顺序进行编码或解码。
73.图2示出了属于gos的最下层的层的spc间的预测结构的一个例子。图3示出了层间的预测结构的一个例子。
74.在gos内中存在一个以上的i-spc。在三维空间内虽然存在人、动物、汽车、自行车、信号灯、或成为陆上标志的建物等对象,但是,尤其是将尺寸小的对象作为i-spc来编码时有效。例如,三维数据解码装置(以下也记作解码装置)在对gos以低处理量或高速进行解码时,仅对gos内的i-spc进行解码。
75.并且,编码装置可以按照wld内的对象的疏密程度,对i-spc的编码间隔或出现频率进行切换。
76.并且,在图3所示的构成中,编码装置或解码装置针对多个层从下层(层1)开始依次进行编码或解码。据此,例如针对自动行走的车辆等而言,能够提高信息量多的地面附近的数据的优先级。
77.另外,在无人机(drone)等使用的编码数据中,在gos内,可以从高度方向的上方的层的spc开始依次进行编码或解码。
78.并且,编码装置或解码装置也可以是以解码装置大致掌握gos并能够逐渐提高分辨率的方式,来对多个层进行编码或解码。例如,编码装置或解码装置可以按照层3、8、1、9
······
的顺序进行编码或解码。
79.接着,对静态对象以及动态对象的对应方法进行说明。
80.在三维空间中存在建筑物或道路等静态对象或场景(以后统一称为静态对象)、以及车辆或人等动态对象(以后称为动态对象)。对象的检测可以通过从点云数据的数据、或立体摄影机等拍摄影像等中提取特征点来另外执行。在此,对动态对象的编码方法的例子进行说明。
81.第一方法是不区别静态对象与动态对象而进行编码的方法。第二方法是通过识别信息来区别静态对象与动态对象的方法。
82.例如,gos被用作识别单位。在这种情况下,仅包括构成静态对象的spc的gos、与包括构成动态对象的spc的gos在编码数据内、或由与编码数据分开存放的识别信息来区別。
83.或者,spc被用作识别单位。在这种情况下,仅包括构成静态对象的vlm的spc、与包括构成动态对象的vlm的spc,由上述的识别信息来区別。
84.或者,可以将vlm或vxl用作识别单位。在这种情况下,仅包括静态对象的vlm或vxl、与包括动态对象的vlm或vxl由上述的识别信息来区別。
85.并且,编码装置可以将动态对象作为一个以上的vlm或spc来进行编码,将仅包括静态对象的vlm或spc、与包括动态对象的spc作为彼此不同的gos来进行编码。并且,编码装置在按照动态对象的大小而gos的大小成为可变的情况下,将gos的大小作为元信息来另外存放。
86.并且,编码装置使静态对象与动态对象彼此独立地编码,针对由静态对象构成的世界空间,可以重叠动态对象。此时,动态对象由一个以上的spc构成,各spc与构成重叠了该spc的静态对象一个以上的spc对应。另外,动态对象可以不由spc来表现,可以由一个以上的vlm或vxl来表现。
87.并且,编码装置可以将静态对象与动态对象作为彼此不同的流来编码。
88.并且,编码装置也可以生成包括构成动态对象的一个以上的spc的gos。而且,编码装置可以将包括动态对象的gos(gos_m)、与和gos_m的空间区域对应的静态对象的gos设定为大小相同(占有相同的空间区域)。这样,能够以gos为单位来进行重叠处理。
89.构成动态对象的p-spc或b-spc也可以参照编码完毕的不同的gos中包含的spc。动态对象的位置随着时间发生变化,同一动态对象作为不同时刻的gos而被编码的情况中,跨越gos的参照从压缩率的观点来看是有效的。
90.并且,也可以按照编码数据的用途,来对上述的第一方法与第二方法进行切换。例如,在编码三维数据作为地图而被应用的情况下,由于希望与动态对象分离,因此,编码装置采用第二方法。另外,编码装置在对音乐会或体育等活动的三维数据进行编码的情况下,若无需对动态对象进行分离,则采用第一方法。
91.并且,gos或spc的解码时刻与显示时刻能够存放在编码数据内、或作为元信息存放。并且,静态对象的时刻信息可以全部相同。此时,实际的解码时刻与显示时刻可以由解码装置来决定。或者,作为解码时刻,按照每个gos或spc来赋予不同的值,作为显示时刻,也可以全被赋予同一个值。而且,如hevc的hrd(hypothetical reference decoder)等动态图像编码中的解码器模式所示,解码器具有规定的大小的缓冲器,只要按照解码时刻,以规定的比特率读取比特流,就可以导入不会被破坏且保证能够解码的模型。
92.接着,对世界空间内的gos的配置进行说明。世界空间中的三维空间的坐标由彼此
正交的三个坐标轴(x轴、y轴、z轴)来表现。通过在gos的编码顺序中设定规定的规则,从而在空间上邻接的gos能够在编码数据内进行连续的编码。例如在图4所示的例子中,对xz平面内的gos进行连续的编码。在一个xz平面内的所有的gos的编码结束后,对y轴的值进行更新。即,随着不断地编码,世界空间向y轴方向延伸。并且,gos的索引编号被设定为编码顺序。
93.在此,世界空间的三维空间与gps、或纬度以及经度等地理上的绝对坐标一一对应。或者,可以由相对于预先设定的基准位置的相对位置来表现三维空间。三维空间的x轴、y轴、z轴的方向作为基于纬度以及经度等而被决定的方向矢量来表现,该方向矢量作为元信息与编码数据一同存放。
94.并且,gos的大小被设定为固定,编码装置将该大小作为元信息来存放。并且,gos的大小例如可以根据是否为市内或者室内、室外等来进行切换。即,gos的大小可以按照具有作为信息的价值的对象的量或性质来进行切换。或者,编码装置可以在同一世界空间内,按照对象的密度等,对gos的大小、或gos内的i-spc的间隔进行恰当地切换。例如,编码装置在对象的密度越高的情况下,就越将gos的大小设定为小、将gos内的i-spc的间隔设定为短。
95.在图5的例子中,在从第3至第10个gos的区域中,由于对象的密度高,因此,为了实现微小粒度的随机存取,则gos被细分。并且,从第7到第10个gos分别存在于第3至第6个gos的背面。
96.接着,对本实施方式所涉及的三维数据编码装置的构成以及工作的流程进行说明。图6是本实施方式所涉及的三维数据编码装置100的方框图。图7是示出三维数据编码装置100的工作例子的流程图。
97.图6所示的三维数据编码装置100通过对三维数据111进行编码,来生成编码三维数据112。该三维数据编码装置100具备:获得部101、编码区域决定部102、划分部103、以及编码部104。
98.如图7所示,首先,获得部101获得作为点群数据的三维数据111(s101)。
99.接着,编码区域决定部102从获得的点群数据所对应的空间区域中,决定编码对象的区域(s102)。例如,编码区域决定部102按照用户或车辆的位置,将该位置的周边的空间区域决定为编码对象的区域。
100.接着,划分部103将编码对象的区域中包含的点群数据划分为各个处理单位。在此,处理单位是上述的gos以及spc等。并且,该编码对象的区域例如与上述的世界空间对应。具体而言,划分部103根据预先设定的gos的大小、动态对象的有无或大小,将点群数据划分为处理单位(s103)。并且,划分部103在各个gos中决定在编码顺序中成为开头的spc的开始位置。
101.接着,编码部104通过对各个gos内的多个spc进行依次编码,来生成编码三维数据112(s104)。
102.另外,在此,在将编码对象的区域划分为gos以及spc之后,虽然示出了对各个gos进行编码的例子,不过,处理的顺序并非受上述所限。例如,可以在决定了一个gos的构成之后,对该gos进行编码,在此之后决定gos的构成等顺序。
103.这样,三维数据编码装置100通过对三维数据111进行编码,来生成编码三维数据
112。具体而言,三维数据编码装置100将三维数据划分为随机存取单位,即划分为分别与三维坐标对应的第一处理单位(gos),将第一处理单位(gos)划分为多个第二处理单位(spc),将第二处理单位(spc)划分为多个第三处理单位(vlm)。并且,第三处理单位(vlm)包括一个以上的体素(vxl),体素(vxl)是与位置信息对应的最小单位。
104.接着,三维数据编码装置100通过对多个第一处理单位(gos)的每一个进行编码,来生成编码三维数据112。具体而言,三维数据编码装置100在各个第一处理单位(gos),对多个第二处理单位(spc)的每一个进行编码。并且,三维数据编码装置100在各个第二处理单位(spc),对多个第三处理单位(vlm)的每一个进行编码。
105.例如,三维数据编码装置100在处理对象的第一处理单位(gos)为封闭式gos的情况下,针对处理对象的第一处理单位(gos)中包含的处理对象的第二处理单位(spc),参照处理对象的第一处理单位(gos)中包含的其他的第二处理单位(spc)进行编码。即,三维数据编码装置100不参照与处理对象的第一处理单位(gos)不同的第一处理单位(gos)中包含的第二处理单位(spc)。
106.并且,在处理对象的第一处理单位(gos)为开放式gos的情况下,针对处理对象的第一处理单位(gos)中包含的处理对象的第二处理单位(spc),参照处理对象的第一处理单位(gos)中包含的其他的第二处理单位(spc)、或与处理对象的第一处理单位(gos)不同的第一处理单位(gos)中包含的第二处理单位(spc)进行编码。
107.并且,三维数据编码装置100,作为处理对象的第二处理单位(spc)的类型,从不参照其他的第二处理单位(spc)的第一类型(i-spc)、参照其他的一个第二处理单位(spc)的第二类型(p-spc)、以及参照其他的两个第二处理单位(spc)的第三类型中选择一个,并按照选择的类型,对处理对象的第二处理单位(spc)进行编码。
108.接着,对本实施方式所涉及的三维数据解码装置的构成以及工作的流程进行说明。图8是本实施方式所涉及的三维数据解码装置200的方框图。图9是示出三维数据解码装置200的工作例子的流程图。
109.图8所示的三维数据解码装置200通过对编码三维数据211进行解码,来生成解码三维数据212。在此,编码三维数据211例如是在三维数据编码装置100生成的编码三维数据112。该三维数据解码装置200具备:获得部201、解码开始gos决定部202、解码spc决定部203、以及解码部204。
110.首先,获得部201获得编码三维数据211(s201)。接着,解码开始gos决定部202决定为解码对象的gos(s202)。具体而言,解码开始gos决定部202参照编码三维数据211内或与编码三维数据分别存放的元信息,将包括开始解码的空间位置、对象、或与时刻对应的spc的gos决定为解码对象的gos。
111.接着,解码spc决定部203决定在gos内进行解码的spc的类型(i、p、b)(s203)。例如,解码spc决定部203对(1)是否仅解码i-spc、(2)是否解码i-spc以及p-spc、(3)是否解码所有的类型进行决定。另外,在解码所有的spc等预先决定了将要解码的spc的类型的情况下,也可以不进行本步骤。
112.接着,解码部204获得在gos内的解码顺序(与编码顺序相同)中为开头的spc,在编码三维数据211内开始的地址位置,从该地址位置获得开头spc的编码数据,从该开头spc依次对各个spc进行解码(s204)。并且,上述地址位置被存放在元信息等中。
113.这样,三维数据解码装置200对解码三维数据212进行解码。具体而言,三维数据解码装置200通过对分别与三维坐标对应的第一处理单位(gos)的编码三维数据211的每一个进行解码,来生成作为随机存取单位的第一处理单位(gos)的解码三维数据212。更具体而言,三维数据解码装置200在各个第一处理单位(gos)对多个第二处理单位(spc)的每一个进行解码。并且,三维数据解码装置200在各个第二处理单位(spc)对多个第三处理单位(vlm)的每一个进行解码。
114.以下对随机存取用的元信息进行说明。该元信息由三维数据编码装置100生成,包含在编码三维数据112(211)中。
115.在以往的二维的动态图像的随机存取中,解码是从指定的时刻的附近的随机存取单位的开头帧开始的。然而,在世界空间中,除了时刻以外还设想了针对(坐标或对象等)的随机存取。
116.因此,为了至少实现对坐标、对象、以及时刻这三个要素的随机存取,准备了对各个要素与gos的索引编号建立了对应的表。而且,将gos的索引编号与成为gos的开头的i-spc的地址建立对应。图10示出了元信息中包含的表的一个例子。另外,无需使用图10所示的所有的表,至少使用一个表即可。
117.以下作为一个例子,对以坐标为起点的随机存取进行说明。在针对坐标(x2、y2、z2)进行存取时,首先参照坐标-gos表,可以知道坐标为(x2、y2、z2)的地点包含在第二个gos中。接着,参照gos地址表,由于可以知道第二个gos中开头的i-spc的地址为addr(2),因此解码部204从该地址获得数据,并开始解码。
118.另外,地址可以是逻辑格式中的地址,也可以是hdd或存储器的物理地址。并且,也可以取代地址而采用对文件段进行确定的信息。例如,文件段是对一个以上的gos等进行分段后的单位。
119.并且,在对象为跨越多个gos的情况下,在对象gos表中也可以示出多个对象所属的gos。若该多个gos为封闭式gos,编码装置以及解码装置能够并行进行编码或解码。另外,若该多个gos为开放式gos,则通过多个gos彼此相互参照,从而能够进一步提高压缩效率。
120.作为对象的例子有人、动物、汽车、自行车、信号灯、或成为陆上标志的建筑物等。例如,三维数据编码装置100在世界空间的编码时,从三维的点云数据等中提取对象所特有的特征点,根据该特征点来检测对象,并能够将检测的对象设定为随机存取点。
121.这样,三维数据编码装置100生成第一信息,该第一信息示出多个第一处理单位(gos)、以及与多个第一处理单位(gos)的每一个对应的三维坐标。并且,编码三维数据112(211)包括该第一信息。并且,第一信息进一步示出与多个第一处理单位(gos)的每一个对应的对象、时刻以及数据存放目的地之中的至少一个。
122.三维数据解码装置200从编码三维数据211中获得第一信息,利用第一信息来确定与被指定的三维坐标、对象或时刻对应的第一处理单位的编码三维数据211,并对该编码三维数据211进行解码。
123.以下对其他的元信息的例子进行说明。除了随机存取用的元信息以外,三维数据编码装置100还可以生成并存放以下的元信息。并且,三维数据解码装置200也可以将该元信息在解码时利用。
124.在将三维数据作为地图信息来利用的情况下等,按照用途来规定档次(profile),
示出该档次的信息可以包含在元信息内。例如规定了面向市区或郊外的档次、或者规定了面向飞行物的档次,并且分别定义了世界空间、spc或vlm的最大或最小的大小等。例如,在面向市区的档次中,需要比郊外更详细的信息,因此vlm的最小尺寸被设定得较小。
125.元信息也可以包括示出对象的种类的标签值。该标签值与构成对象的vlm、spc、或gos对应。可以按照对象的种类等来设定标签值,例如标签值“0”表示“人”、标签值“1”表示“汽车”、标签值“2”表示“信号灯”。或者,在对象的种类难以判断或不需要判断的情况下,也可以使用表示大小、或是动态对象还是静态对象等性质的标签值。
126.并且,元信息也可以包括示出世界空间所占的空间区域的范围的信息。
127.并且,元信息也可以作为编码数据的流全体、或gos内的spc等多个spc所共享的头信息,来存放spc或vxl的大小。
128.并且,元信息也可以包括点云数据的生成中所使用的距离传感器或摄像机等识别信息,或者包括示出点云数据内的点群的位置精度的信息。
129.并且,元信息可以包括示出世界空间是仅由静态对象构成还是含有动态对象的信息。
130.以下对本实施方式的变形例进行说明。
131.编码装置或解码装置可以对彼此不同的2个以上的spc或gos并行进行编码或解码。并行进行编码或解码的gos能够根据示出gos的空间位置的元信息等来决定。
132.在将三维数据作为汽车或飞行物体等移动时的空间地图来使用、或者生成这种空间地图的情况等中,编码装置或解码装置可以对基于gps、路径信息、或缩放倍率等而被确定的空间中包含的gos或spc进行编码或解码。
133.并且,解码装置也可以从离自己位置或行走路径近的空间开始依次进行解码。编码装置或解码装置也可以使离自己位置或行走路径远的空间的优先级比近的空间的优先级低,来进行编码或解码。在此,使优先级降低是指,降低处理顺序、降低分辨率(筛选后处理)、或降低画质(提高编码效率。例如加大量化步长)等。
134.并且,解码装置在对空间内被分阶层编码的编码数据进行解码时,也可以仅解码低阶层。
135.并且,解码装置也可以按照地图的缩放倍率或用途,先从低阶层开始进行解码。
136.并且,在汽车或机器人的自动走行时所进行的自己位置估计或物体识别等用途中,编码装置或解码装置也可以将距离路面规定高度以内的区域(进行识别的区域)之外的区域的分辨率降低来进行编码或解码。
137.并且,编码装置也可以对表现室内和室外的空间形状的点云数据分别独立地进行编码。例如通过将表现室内的gos(室内gos)与表现室外的gos(室外gos)分开,从而解码装置在利用编码数据时,能够按照视点位置来选择将要解码的gos。
138.并且,编码装置可以使坐标近的室内gos和室外gos在编码流中邻接,来进行编码。例如,编码装置将两者的标识符对应起来,对示出在编码流内、或另外存放的元信息内建立了对应的标识符的信息进行存放。据此,解码装置能够参照元信息内的信息,来识别坐标近的室内gos与室外gos。
139.并且,编码装置也可以在室内gos与室外gos对gos或spc的大小进行切换。例如,编码装置在室内与室外相比,将gos的大小设定得较小。并且,编码装置也可以在室内gos和室
外gos,对从点云数据提取特征点时的精确度或对象检测的精确度等进行变更。
140.并且,编码装置可以将用于解码装置将动态对象与静态对象进行区分显示的信息附加到编码数据。据此,解码装置能够对动态对象与红色框或说明用的文字等进行组合来表示。另外,解码装置也可以取代动态对象而仅用红色框或说明用文字来表示。并且,解码装置可以表示更详细的对象类别。例如,汽车可以采用红色框,人可以采用黄色框。
141.并且,编码装置或解码装置可以按照动态对象的出现频度、或静态对象与动态对象的比例等,将动态对象与静态对象作为不同的spc或gos,来决定是否进行编码或解码。例如,在动态对象的出现频度或比例超过阈值的情况下,动态对象与静态对象混在的spc或gos则被允许,在动态对象的出现频度或比例没有超过阈值的情况下,动态对象与静态对象混在的spc或gos则不会被允许。
142.在动态对象不是从点云数据而是从摄像机的二维图像信息检测时,编码装置可以对用于识别检测结果的信息(框或文字等)与对象位置分别获得,将这些信息作为三维的编码数据的一部分来编码。在这种情况下,解码装置针对静态对象的解码结果,使表示动态对象的辅助信息(框或文字)重叠显示。
143.并且,编码装置可以按照静态对象的形状的复杂程度等,对vxl或vlm的疏密程度进行变更。例如,编码装置在静态对象的形状越复杂的情况下,就越将vxl或vlm设定成密。而且,编码装置可以按照vxl或vlm的疏密程度,来决定在对空间位置或色信息进行量化时的量化步长等。例如,编码装置在vxl或vlm越密的情况下,就越将量化步长设定为小。
144.如以上所示,本实施方式所涉及的编码装置或解码装置以具有坐标信息的空间单位,来进行空间的编码或解码。
145.并且,编码装置以及解码装置在空间内以体积单位来进行编码或解码。体积包括与位置信息对应的最小单位即体素。
146.并且,编码装置以及解码装置通过将包括坐标、对象、以及时间等的空间信息的各个要素与gop建立了对应的表、或在各个要素间对应的表,使任意的要素之间建立对应来进行编码或解码。并且,解码装置利用被选择的要素的值来判断坐标,并根据坐标来确定体积、体素或空间,对包括该体积或体素的空间、或被确定的空间进行解码。
147.并且,编码装置通过特征点提取或对象识别,来判断能够由要素选择的体积、体素或空间,并作为能够随机存取的体积、体素或空间来编码。
148.空间被分为三种类型,即:以该空间单体能够编码或解码的i-spc、参照任意的一个处理完毕的空间来编码或解码的p-spc、参照任意的两个处理完毕的空间来编码或解码的b-spc。
149.一个以上的体积与静态对象或动态对象对应。仅包含静态对象的空间与仅包含动态对象的空间彼此作为不同的gos而被编码或解码。即,仅包含静态对象的spc与仅包含动态对象的spc被分配到不同的gos。
150.动态对象按每个对象来编码或解码,与仅包含静态对象的一个以上的空间对应。即,多个动态对象被分别编码,得到的多个动态对象的编码数据与仅包含静态对象的spc对应。
151.编码装置以及解码装置提高gos内的i-spc的优先级,来进行编码或解码。例如,编码装置以使i-spc的劣化减少的方式(解码后,原本的三维数据能够更忠实地被再现)来进
行编码。并且,解码装置例如仅对i-spc进行解码。
152.编码装置可以按照世界空间内的对象的疎密程度或数值(数量),改变利用i-spc的频度,来进行编码。即,编码装置按照三维数据中包含的对象的数量或疏密程度,来变更对i-spc进行选择的频度。例如,编码装置在世界空间内的对象的密度越大的情况下,就越提高i空间的使用频度。
153.并且,编码装置以gos为单位对随机存取点进行设定,将示出与gos对应的空间区域的信息存放到头信息。
154.编码装置例如采用默认值来作为gos的空间大小。另外,编码装置也可以按照对象或动态对象的数值(数量)或疏密程度来变更gos的大小。例如,编码装置在对象或动态对象越密或数量越多的情况下,就越将gos的空间大小设定为小。
155.并且,空间或体积包括利用深度传感器、回转仪、或摄像机等传感器得到的信息而被导出的特征点群。特征点的坐标被设定为体素的中心位置。并且,通过体素的细分化,能够实现位置信息的高精度化。
156.特征点群利用多个图片而被导出。多个图片至少具有以下的两种时刻信息,即:实际的时刻信息、以及与空间对应的在多个图片中的同一个时刻信息(例如,用于速率控制等的编码时刻)。
157.并且,以包括一个以上的空间的gos为单位来进行编码或解码。
158.编码装置以及解码装置参照处理完毕的gos内的空间,对处理对象的gos内的p空间或b空间进行预测。
159.或者,编码装置以及解码装置不参照不同的gos,利用处理对象的gos内的处理完毕的空间,对处理对象的gos内的p空间或b空间进行预测。
160.并且,编码装置以及解码装置以包括一个以上的gos的世界空间为单位,来发送或接收编码流。
161.并且,gos至少在世界空间内的一个方向上具有层结构,编码装置以及解码装置从下位层开始进行编码或解码。例如,能够随机存取的gos属于最下位层。属于上位层的gos仅参照属于同一层以下的层的gos。即,gos在预先决定的方向上被空间划分,包括分别具有一个以上的spc的多个层。编码装置以及解码装置针对各个spc,通过参照与该spc为同一层或比该spc下层的层中包含的spc来进行编码或解码。
162.并且,编码装置以及解码装置在包括多个gos的世界空间单位内,连续地对gos进行编码或解码。编码装置以及解码装置将示出编码或解码的顺序(方向)的信息作为元数据进行写入或读取。即,编码数据包括示出多个gos的编码顺序的信息。
163.并且,编码装置以及解码装置对彼此不同的两个以上的空间或gos并行进行编码或解码。
164.并且,编码装置以及解码装置对空间或gos的空间信息(坐标、大小等)进行编码或解码。
165.并且,编码装置以及解码装置对根据gps、路径信息或倍率等与自己的位置或/以及区域大小有关的外部信息,而被确定的特定空间中包含的空间或gos进行编码或解码。
166.编码装置或解码装置使离自己的位置远的空间的优先级低于离自己近的空间,来进行编码或解码。
167.编码装置按照倍率或用途,对世界空间中的一个方向进行设定,对在该方向上具有层结构的gos进行编码。并且,解码装置针对按照倍率或用途而被设定的在世界空间的一个方向具有层结构的gos,从下位层开始优先进行解码。
168.编码装置使室内和室外的空间中所包含的特征点提取、对象识别的精度、或空间区域大小等发生变化。但是,编码装置以及解码装置将坐标近的室内gos与室外gos在世界空间内相邻来进行编码或解码,将这些标识符也对应起来进行编码或解码。
169.以上虽然对本技术的实施方式所涉及的三维数据编码装置以及三维数据解码装置进行了说明,本技术并非受这些实施方式所限。
170.并且,上述实施方式所涉及的三维数据编码装置或三维数据解码装置中包含的各个处理部,典型的作为集成电路的lsi来实现。这些可以单独制成一个芯片,也可以是其中的一部分或全部被制成一个芯片。
171.并且,集成电路化并非受lsi所限,也可以以专用回路或通用处理器来实现。在lsi制造后,可以利用可编程的fpga(field programmable gate array:现场可编程门阵列)、或能够对lsi内部的电路单元的连接或设定进行重新构成的可重装处理器。
172.并且,在上述的各个实施方式中,各个构成要素可以由专用的硬件来构成,也可以通过执行适于各个构成要素的软件程序来实现。各个构成要素通过cpu或处理器等程序执行部读出并执行被记录在硬盘或半导体存储器等记录介质的软件程序来实现。
173.并且,本技术可以作为由三维数据编码装置或三维数据解码装置执行的三维数据编码方法或三维数据解码方法来实现。
174.并且,方框图中的功能块的划分为一个例子,可以将多个功能块作为一个功能块来实现,也可以将一个功能块划分为多个,或者将一部分的功能转移到其他的功能块。并且,具有类似的功能的多个功能块的功能可以由单一的硬件或软件并行处理或进行时间分割来处理。
175.并且,流程图中的各个步骤被执行的顺序为为了对本技术进行具体说明而列出的例子,也可以是上述以外的顺序。并且,上述的步骤的一部分也可以与其他的步骤同时(并行)执行。
176.以上针对一个或多个形态所涉及的三维数据编码装置以及三维数据解码装置,基于实施方式进行了说明,本技术并非受这些实施方式所限。在不脱离本技术的主旨的范围内,将本领域技术人员所能够想到的各种变形执行于本实施方式的形态、对不同的实施方式中的构成要素进行组合而构筑的形态均包含在一个或多个形态的范围内。
177.本技术能够适用于三维数据编码装置以及三维数据解码装置。
178.符号说明
179.100三维数据编码装置
180.101,201获得部
181.102编码区域决定部
182.103划分部
183.104编码部
184.111三维数据
185.112,211编码三维数据
186.200三维数据解码装置
187.202解码开始gos决定部
188.203解码spc决定部
189.204解码部
190.212解码三维数据
技术特征:
1.一种三维数据编码方法,对三维数据进行编码,其中,所述三维数据编码方法包括:划分步骤,将所述三维数据划分为分别与三维坐标对应的第一处理单位;以及编码步骤,对多个所述第一处理单位的每一个进行编码,在所述编码步骤中,决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行编码。2.如权利要求1所述的三维数据编码方法,其中,在所述编码步骤中,将所述第一处理单位中包含的所述第二处理单位参照所述第一处理单位中包含的所述其他的第二处理单位来进行编码。3.如权利要求1所述的三维数据编码方法,其中,在所述编码步骤中,将所述第一处理单位中包含的所述第二处理单位不参照所述第一处理单位中包含的所述其他的第二处理单位来进行编码。4.如权利要求1所述的三维数据编码方法,其中,在所述编码步骤中,作为所述第二处理单位的类型,选择不参照所述其他的第二处理单位的第一类型或参照所述其他的第二处理单位的第二类型,并按照选择的类型,对所述第二处理单位进行编码。5.如权利要求4所述的三维数据编码方法,其中,在所述编码步骤中,按照所述三维数据中包含的对象的数量或疏密程度,变更对所述第一类型进行选择的频度。6.如权利要求1至4中任一项所述的三维数据编码方法,其中,所述第二处理单位包括根据由传感器得到的信息而导出的特征点群。7.如权利要求1至4中任一项所述的三维数据编码方法,其中,在所述编码步骤中,通过对多个所述第一处理单位的每一个进行编码,生成编码数据,所述编码数据包括示出多个所述第一处理单位的编码顺序的信息。8.如权利要求1至4中任一项所述的三维数据编码方法,其中,在所述编码步骤中,通过对多个所述第一处理单位的每一个进行编码,生成编码数据,所述编码数据包括示出多个所述第一处理单位的大小的信息。9.如权利要求1至4中任一项所述的三维数据编码方法,其中,在所述编码步骤中,通过对多个所述第一处理单位的每一个进行编码,生成编码数据,在所述编码步骤中,对多个所述第一处理单位进行并行编码。10.一种三维数据解码方法,对三维数据进行解码,其中,所述三维数据解码方法包括解码步骤,在该解码步骤中,通过对分别与三维坐标对应的第一处理单位进行解码,生成所述第一处理单位的三维数据,在所述解码步骤中,决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行解码。11.如权利要求10所述的三维数据解码方法,其中,在所述解码步骤中,将所述第一处理单位中包含的所述第二处理单位参照所述第一处理单位中包含的所述其他的第二处理单位来进行解码。12.如权利要求10所述的三维数据解码方法,其中,
在所述解码步骤中,将所述第一处理单位中包含的所述第二处理单位不参照所述第一处理单位中包含的所述其他的第二处理单位来进行解码。13.如权利要求10所述的三维数据解码方法,其中,在所述解码步骤中,作为所述第二处理单位的类型,选择不参照所述其他的第二处理单位的第一类型或参照所述其他的第二处理单位的第二类型,并按照选择的类型,对所述第二处理单位进行解码。14.如权利要求13所述的三维数据解码方法,其中,在所述解码步骤中,按照所述三维数据中包含的对象的数量或疏密程度,变更对所述第一类型进行选择的频度。15.如权利要求10至13中任一项所述的三维数据解码方法,其中,所述第二处理单位包括根据由传感器得到的信息而导出的特征点群。16.如权利要求10至13中任一项所述的三维数据解码方法,其中,还包括取得步骤,在该取得步骤中,取得通过对多个所述第一处理单位的每一个进行编码而生成的编码数据,所述编码数据包括示出多个所述第一处理单位的编码顺序的信息。17.如权利要求10至13中任一项所述的三维数据解码方法,其中,还包括取得步骤,在该取得步骤中,取得通过对多个所述第一处理单位的每一个进行编码而生成的编码数据,所述编码数据包括示出多个所述第一处理单位的大小的信息。18.如权利要求10至13中任一项所述的三维数据解码方法,其中,还包括取得步骤,在该取得步骤中,取得通过对多个所述第一处理单位的每一个进行编码而生成的编码数据,在所述解码步骤中,对多个所述第一处理单位进行并行解码。19.一种三维数据编码装置,对三维数据进行编码,其中,所述三维数据编码装置包括:划分部,将所述三维数据划分为分别与三维坐标对应的第一处理单位;以及编码部,对多个所述第一处理单位的每一个进行编码,所述编码部决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行编码。20.一种三维数据解码装置,对三维数据进行解码,其中,所述三维数据解码装置包括解码部,该解码部通过对分别与三维坐标对应的第一处理单位进行解码,生成所述第一处理单位的三维数据,所述解码部决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行解码。
技术总结
提供三维数据编码方法、解码方法、编码装置、解码装置。三维数据编码方法,对三维数据进行编码,包括:划分步骤,将所述三维数据划分为分别与三维坐标对应的第一处理单位;以及编码步骤,对多个所述第一处理单位的每一个进行编码,在所述编码步骤中,决定将所述第一处理单位中包含的第二处理单位是否参照所述第一处理单位中包含的其他的第二处理单位来进行编码。码。码。
技术研发人员:远间正真 西孝启 寺田健吾 小足唯
受保护的技术使用者:松下电器(美国)知识产权公司
技术研发日:2016.12.01
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/