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

点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法与流程

2022-08-21 20:11:06 来源:中国专利 TAG:


1.实施方式涉及用于处理点云内容的方法和设备。


背景技术:

2.点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点的集合。点云内容可以表示以三维配置的媒体,并用于提供诸如虚拟现实(vr)、增强现实(ar)、混合现实(mr)、xr(扩展现实)和自动驾驶这样的各种服务。然而,需要几万到几十万个点数据来表示点云内容。因此,需要高效处理大量点数据的方法。


技术实现要素:

3.技术问题
4.为解决上述问题而设计的本公开的目的是提供用于高效发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
5.本公开的另一目的是提供用于应对等待时间和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
6.本公开的另一目的是提供用于通过改进基于几何的点云压缩(g-pcc)的属性信息的编码技术来改善点云的压缩性能的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
7.本公开的另一目的是提供用于增强压缩效率同时支持g-pcc的属性信息的并行处理的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
8.本公开的另一目的是提供通过在g-pcc的属性信息被编码时考虑到内容中的点之间的属性相关性而选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
9.本公开的另一目的是提供通过在g-pcc的属性信息被编码时应用最大邻近点距离并选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
10.本公开的目的不限于以上提到的目的,并且本领域的普通技术人员在查阅了以下描述后,以上未提到的本公开的其它目的将变得清楚。
11.技术方案
12.为了实现这些目的和其它优点并按照本公开的目的,如这里实施和广义描述的,一种点云数据发送方法可以包括以下步骤:获取点云数据;对包括所述点云数据的点的位置的几何信息进行编码;基于所述几何信息来生成一个或更多个细节层次(lod),并基于所述一个或更多个lod来搜索将被属性编码的每个点的一个或更多个邻近点;基于所选择的每个点的所述一个或更多个邻近点对每个点的属性信息进行编码;以及发送编码后的所述几何信息、编码后的所述属性信息和信令信息。
13.根据实施方式,所选择的每个点的所述一个或更多个邻近点可以位于最大邻近点距离内。
14.根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
15.根据实施方式,当基于八叉树来生成所述一个或更多个lod时,所述基本邻近点距离可以是基于特定lod处一个节点的对角线距离来确定的。
16.根据实施方式,所述最大邻近点范围可以是每个点的邻近节点的数目并可以在所述信令信息中发信号通知。
17.根据实施方式的一种点云数据发送设备可以包括:获取单元,该获取单元被配置为获取点云数据;几何编码器,该几何编码器被配置为对包括所述点云数据的点的位置的几何信息进行编码;属性编码器,该属性编码器被配置为基于所述几何信息来生成一个或更多个细节层次(lod),基于所述一个或更多个lod来选择将被属性编码的每个点的一个或更多个邻近点,并基于所选择的每个点的所述一个或更多个邻近点对每个点的属性信息进行编码;以及发送器,该发送器被配置为发送编码后的所述几何信息、编码后的所述属性信息和信令信息。
18.根据实施方式,所选择的每个点的所述一个或更多个邻近点可以位于最大邻近点距离内。
19.根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
20.根据实施方式,当基于八叉树来生成所述一个或更多个lod时,所述基本邻近点距离可以是基于特定lod处一个节点的对角线距离来确定的。
21.根据实施方式,所述最大邻近点范围可以是每个点的邻近节点的数目并可以在所述信令信息中发信号通知。
22.根据实施方式的一种点云数据接收设备可以包括:接收器,该接收器被配置为接收几何信息、属性信息和信令信息;几何解码器,该几何解码器被配置为基于所述信令信息对所述几何信息进行解码;属性解码器,该属性解码器被配置为基于所述几何信息来生成一个或更多个细节层次(lod),基于所述一个或更多个lod来选择将被属性解码的每个点的一个或更多个邻近点,并基于所选择的每个点的所述一个或更多个邻近点和所述信令信息对每个点的属性信息进行解码;以及渲染器,该渲染器被配置为基于解码后的所述几何信息以及解码后的所述属性信息渲染恢复的点云数据。
23.根据实施方式,所选择的每个点的所述一个或更多个邻近点可以位于最大邻近点距离内。
24.根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
25.根据实施方式,当基于八叉树来生成所述一个或更多个lod时,所述基本邻近点距离可以是基于特定lod处一个节点的对角线距离来确定的。
26.根据实施方式,所述最大邻近点范围可以是每个点的邻近节点的数目并可以在所述信令信息中发信号通知。
27.有利效果
28.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供高质量的点云服务。
29.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以实现各种视频编码方法。
30.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供诸如自动驾驶服务(或自主驾驶服务)这样的通用点云内容。
31.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以执行点云数据的空间自适应划分以用于点云数据的独立编码和解码,由此改善并行处理并提供可扩展性。
32.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以通过以图块和/或切片为单位对点云数据并因此对信号必要数据进行空间分割来执行编码和解码,由此提高点云的编码和解码性能。
33.根据实施方式的点云数据发送方法和设备以及点云数据接收方法和设备通过在g-pcc的属性信息被编码时考虑到内容中的点之间的属性相关性而选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率。
34.根据实施方式的点云数据发送方法和设备以及点云数据接收方法和设备通过在g-pcc的属性信息被编码时应用最大邻近点距离以选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率。
附图说明
35.附图被包括进来以提供对本公开的进一步理解,并且被并入本技术的一部分中并构成本技术的部分,例示了本公开的实施方式并且与说明书一起用来说明本公开的原理。在附图中:
36.图1例示了根据实施方式的示例性点云内容提供系统。
37.图2是例示了根据实施方式的点云内容提供操作的框图。
38.图3例示了根据实施方式的捕获点云视频的示例性处理。
39.图4例示了根据实施方式的点云视频编码器的示例性框图。
40.图5例示了根据实施方式的3d空间中的体素的示例。
41.图6例示了根据实施方式的八叉树和占用码的示例。
42.图7例示了根据实施方式的邻近节点图案的示例。
43.图8例示了根据实施方式的每个lod的点云内容的点配置的示例。
44.图9例示了根据实施方式的每个lod的点云内容的点配置的示例。
45.图10例示了根据实施方式的点云视频解码器的框图的示例。
46.图11例示了根据实施方式的点云视频解码器的示例。
47.图12例示了根据实施方式的发送装置的点云视频编码的配置。
48.图13例示了根据实施方式的接收装置的点云视频解码的配置。
49.图14例示了根据实施方式的与用于发送和接收点云数据的方法/装置可操作地可连接的示例性结构。
50.图15例示了根据实施方式的点云发送装置的示例。
51.图16的(a)至图16的(c)例示了将边界框分割为一个或更多个图块的实施方式。
52.图17例示了根据实施方式的几何编码器和属性编码器的示例。
53.图18是例示了根据实施方式的基于八叉树来生成lod的示例的示图。
54.图19是例示了根据实施方式的按莫顿码顺序排列点云的点的示例的示图。
55.图20是例示了根据实施方式的基于lod来搜索邻近点的示例的示图。
56.图21的(a)和图21的(b)例示了根据实施方式的点云内容的示例。
57.图22的(a)和图22的(b)例示了根据实施方式的属于邻近点集合的每个点的平均距离、最小距离和最大距离的示例。
58.图23的(a)例示了根据实施方式的获取lod0的八叉树节点的对角线距离的示例。
59.图23的(b)例示了根据实施方式的获取lod1的八叉树节点的对角线距离的示例。
60.图24的(a)和图24的(b)例示了可以被选择为每个lod处的邻近点的范围的示例。
61.图25例示了根据实施方式的属于每个lod的基本邻近点距离的示例。
62.图26例示了根据实施方式的基于lod来搜索邻近点的另一示例。
63.图27例示了根据实施方式的基于lod来搜索邻近点的另一示例。
64.图28例示了根据实施方式的点云接收装置的示例。
65.图29例示了根据实施方式的几何解码器和属性解码器的示例。
66.图30例示了根据实施方式的用于发送/接收的点云数据的示例性比特流结构。
67.图31例示了根据实施方式的点云数据的示例性比特流结构。
68.图32例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
69.图33例示了根据实施方式的序列参数集的语法结构的实施方式。
70.图34例示了根据实施方式的几何参数集的语法结构的实施方式。
71.图35例示了根据实施方式的属性参数集的语法结构的实施方式。
72.图36例示了根据实施方式的属性参数集的语法结构的另一实施方式。
73.图37例示了根据实施方式的图块参数集的语法结构的实施方式。
74.图38例示了根据实施方式的几何切片比特流()的语法结构的实施方式。
75.图39例示了根据实施方式的几何切片头的语法结构的实施方式。
76.图40例示了根据实施方式的几何切片数据的语法结构的实施方式。
77.图41例示了根据实施方式的属性切片比特流()的语法结构的实施方式。
78.图42例示了根据实施方式的属性切片头的语法结构的实施方式。
79.图43例示了根据实施方式的属性切片头的语法结构的另一实施方式。
80.图44例示了根据实施方式的属性切片数据的语法结构的实施方式。
81.图45是根据实施方式的发送点云数据的方法的流程图。
82.图46是根据实施方式的接收点云数据的方法的流程图。
具体实施方式
83.现在,将参照附图根据本文中公开的示例性实施方式详细给出描述。为了参照附图简要描述,可为相同或等同的部件提供相同的标号,其描述将不再重复。应该注意,以下示例仅用于体现本公开,并不限制本公开的范围。本发明所属技术领域的专家从本公开的详细描述和示例中可以容易地推断出的内容将被解释为在本公开的范围内。
84.本说明书中的详细描述应该在所有方面都被解释为例示性而非限制性的。本公开的范围应该由所附权利要求及其法律等同物来确定,并且落入所附权利要求的含义和等同范围内的所有改变旨在被涵盖在本文中。
85.现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出可以根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。虽然在本说明书中使用的大多数术语已选自本领域中广泛使用的通用术语,但申请人已任意选择一些术语,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。另外,以下的附图和详细描述不应该被解释为限于具体描述的实施方式,而应该被解释为包括附图和详细描述中描述的实施方式的等同物或替代物。
86.图1示出了根据实施方式的示例性点云内容提供系统。
87.图1中例示的点云内容提供系统可以包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够进行有线或无线通信,以发送和接收点云数据。
88.根据实施方式的点云数据发送装置10000可以保护和处理点云视频(或点云内容),并发送该点云视频(或点云内容)。根据实施方式,发送装置10000可以包括固定站、基站收发器系统(bts)、网络、人工智能(ai)装置和/或系统、机器人、ar/vr/xr装置和/或服务器。根据实施方式,发送装置10000可以包括被配置为使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
89.根据实施方式的发送装置10000包括点云视频获取单元10001、点云视频编码器10002和/或发送器(或通信模块)10003。
90.根据实施方式的点云视频获取单元10001通过诸如捕获、合成或生成这样的处理过程获取点云视频。点云视频是由作为处于3d空间中的点的集合的点云表示的点云内容,并可以被称为点云视频数据。根据实施方式的点云视频可以包括一个或更多个帧。一帧表示静止图像/图片。因此,点云视频可以包括点云图像/帧/图片,并可以被称为点云图像、帧或图片。
91.根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可以基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可以包括基于几何的点云压缩(g-pcc)编码和/或基于视频的点云压缩(v-pcc)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可以输出包含编码后的点云视频数据的比特流。比特流可以不仅包含编码后的点云视频数据,而且包含与点云视频数据的编码相关的信令信息。
92.根据实施方式的发送器10003发送包含编码后的点云视频数据的比特流。根据实施方式的比特流被封装在文件或段(例如,流传输段)中,并通过诸如广播网络和/或宽带网络这样的各种网络传输。尽管未在图中示出,但发送装置10000可以包括被配置为执行封装操作的封装器(或封装模块)。根据实施方式,封装器可以被包括在发送器10003中。根据实施方式,文件或段可以通过网络发送到接收装置10004,或被存储在数字存储介质(例如,
usb、sd、cd、dvd、蓝光、hdd、ssd等)中。根据实施方式的发送器10003能够通过4g、5g、6g等网络与接收装置10004(或接收器10005)进行有线/无线通信。另外,发送器可以根据网络系统(例如,4g、5g或6g通信网络系统)执行必要的数据处理操作。发送装置10000可以以按需方式发送封装后的数据。
93.根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可以包括被配置为使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
94.根据实施方式的接收器10005从网络或存储介质接收包含点云视频数据的比特流或其中封装有比特流的文件/段。接收器10005可以根据网络系统(例如,4g、5g、6g等通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可以对接收到的文件/段进行解封装并输出比特流。根据实施方式,接收器10005可以包括被配置为执行解封装操作的解封装器(或解封装模块)。解封装器可以被实现为与接收器10005分开的元件(或部件或模块)。
95.点云视频解码器10006对包含点云视频数据的比特流进行解码。点云视频解码器10006可以根据对点云视频数据进行编码的方法(例如,在点云视频编码器10002的操作的逆过程中)对点云视频数据进行解码。因此,点云视频解码器10006可以通过执行点云解压缩编码来解码点云视频数据,点云解压缩编码是点云压缩的逆过程。点云解压缩编码包括g-pcc编码。
96.渲染器10007对解码后的点云视频数据进行渲染。渲染器10007可以通过不仅渲染点云视频数据而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可以包括被配置为显示点云内容的显示器。根据实施方式,显示器可以被实现为单独的装置或部件,而不是被包括在渲染器10007中。
97.图中虚线所指示的箭头表示由接收装置10004获取的反馈信息的传输路径。反馈信息是用于反映与消费点云内容的用户的交互性的信息,并包括关于用户的信息(例如,头方位信息、视口信息等)。特别地,当点云内容是需要与用户交互的服务(例如,自动驾驶服务等)的内容时,反馈信息可以被提供到内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可以在接收装置10004和发送装置10000中使用,或可以不提供。
98.根据实施方式的头方位信息是关于用户的头部位置、方位、角度、运动等的信息。根据实施方式的接收装置10004可以基于头部方位信息来计算视口信息。视口信息可以是与用户正在观看的点云视频的区域有关的信息。视点是用户正通过其观看点云视频的点,并且可以是指视口区域的中心点。也就是说,视口是以视点为中心的区域,并且该区域的大小和形状可以由视场(fov)确定。因此,除了头方位信息之外,接收装置10004还可以基于装置所支持的竖直或水平fov来提取视口信息。此外,接收装置10004执行凝视分析等,以检查用户消费点云的方式、用户在点云视频中凝视的区域、凝视时间等。根据实施方式,接收装置10004可以将包括凝视分析结果的反馈信息发送到发送装置10000。可以在渲染和/或显示处理中获取根据实施方式的反馈信息。根据实施方式的反馈信息可以由接收装置10004中包括的一个或更多个传感器来保护。根据实施方式,反馈信息可以由渲染器10007或单独
的外部元件(或装置、部件等)来保护。
99.图1中的虚线表示发送由渲染器10007保护的反馈信息的处理。点云内容提供系统可以基于反馈信息来处理(编码/解码)点云数据。因此,点云视频解码器10006可以基于反馈信息来执行解码操作。接收装置10004可以将反馈信息发送到发送装置10000。发送装置10000(或点云视频编码器10002)可以基于反馈信息来执行编码操作。因此,点云内容提供系统可以基于反馈信息来高效地处理必要数据(例如,对应于用户头部位置的点云数据)而不是处理(编码/解码)整个点云数据,并向用户提供点云内容。
100.根据实施方式,发送装置10000可以被称为编码器、发送装置、发送器、发送系统等,并且接收装置10004可以被称为解码器、接收装置、接收器、接收系统等。
101.(通过获取/编码/发送/解码/渲染的一系列处理)在根据实施方式的图1的点云内容提供系统中处理的点云数据可以被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可以被用作涵盖与点云数据相关的元数据或信令信息的概念。
102.图1中例示的点云内容提供系统的元件可以由硬件、软件、处理器和/或其组合来实现。
103.图2是例示了根据实施方式的点云内容提供操作的框图。
104.图2的框图示出了图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可以基于点云压缩编码(例如,g-pcc)来处理点云数据。
105.根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取单元10001)可以获取点云视频(20000)。点云视频由属于用于表示3d空间的坐标系的点云表示。根据实施方式的点云视频可以包括ply(多边形文件格式或斯坦福三角格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个ply文件。ply文件包含诸如点几何结构和/或属性这样的点云数据。几何结构包括点的位置。每个点的位置可以由表示三维坐标系(例如,由x、y和z轴构成的坐标系)的参数(例如,x、y和z轴的值)来表示。属性包括点的属性(例如,关于每个点的纹理、颜色(ycbcr或rgb)、反射率r、透明度等的信息)。点有一个或更多个属性。例如,点可以有作为颜色的属性或作为颜色和反射率的两个属性。
106.根据实施方式,几何结构可以被称为位置、几何信息、几何数据等,并且属性可以被称为属性、属性信息、属性数据等。
107.点云内容提供系统(例如,点云发送装置10000或点云视频获取单元10001)可以从与点云视频的获取处理相关的信息(例如,深度信息、颜色信息等)中保护点云数据。
108.根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可以对点云数据进行编码(20001)。点云内容提供系统可以基于点云压缩编码对点云数据进行编码。如上所述,点云数据可以包括点的几何结构和属性。因此,点云内容提供系统可以执行对几何结构进行编码的几何编码,并输出几何比特流。点云内容提供系统可以执行对属性进行编码的属性编码,并输出属性比特流。根据实施方式,点云内容提供系统可以基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可以被复用并作为一个比特流输出。根据实施方式的比特流还可以包含与几何编码和属性编码相关的信令信息。
109.根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可以发
送编码后的点云数据(20002)。如图1中例示的,编码后的点云数据可以由几何比特流和属性比特流表示。另外,编码后的点云数据可以以比特流的形式连同与点云数据的编码相关的信令信息(例如,与几何编码和属性编码相关的信令信息)一起发送。点云内容提供系统可以封装携带编码后的点云数据的比特流,并以文件或段的形式发送该比特流。
110.根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可以接收包含编码后的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可以对比特流进行解复用。
111.点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以对在比特流中发送的编码后的点云数据(例如,几何比特流、属性比特流)进行解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以基于与比特流中包含的点云视频数据的编码相关的信令信息对点云视频数据进行解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以对几何比特流进行解码,以重构点的位置(几何结构)。点云内容提供系统可以通过基于重构的几何结构对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以基于根据重构的几何结构的位置和解码后的属性来重构点云视频。
112.根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可以渲染解码后的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可以使用各种渲染方法来渲染通过解码处理解码的几何结构和属性。点云内容中的点可以被渲染为具有一定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或以对应顶点位置为中心的圆。通过显示器(例如,vr/ar显示器、常见显示器等)向用户提供渲染后的点云内容的全部或部分。
113.根据实施方式的点云内容提供系统(例如,接收装置10004)可以保护反馈信息(20005)。点云内容提供系统可以基于反馈信息来编码和/或解码点云数据。根据实施方式的点云内容提供系统的反馈信息和操作与参考图1描述的反馈信息和操作相同,因此省略对其的详细描述。
114.图3例示了根据实施方式的捕获点云视频的示例性处理。
115.图3例示了参考图1至图2描述的点云内容提供系统的示例性点云视频捕获处理。
116.点云内容包括表示位于各种3d空间(例如,表示真实环境的3d空间、表示虚拟环境的3d空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可以使用一个或更多个相机(例如,能够对深度信息进行保护的红外相机、能够提取与深度信息对应的颜色信息的rgb相机等)、投影仪(例如,用于对深度信息进行保护的红外图案投影仪)、lidra等来捕获点云视频。根据实施方式的点云内容提供系统可以从深度信息中提取由3d空间中的点构成的几何结构的形状,并从颜色信息中提取每个点的属性以对点云数据进行保护。可以基于面向内技术和面向外技术中的至少一种来捕获根据实施方式的图像和/或视频。
117.图3的左部例示了面向内技术。面向内技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的图像的技术。可以使用面向内技术生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员这样的关键对象)的360度图像的vr/ar内容)。
118.图3的右部例示了面向外技术。面向外技术是指用设置在中心对象周围的一个或更多个相机(或相机传感器)捕获中心对象的环境而非中心对象的图像的技术。可以使用面向外技术生成用于提供从用户的角度出现的周围环境的点云内容(例如,表示可以提供给自动驾驶车辆的用户的外部环境的内容)。
119.如图3中所示,可以基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,坐标系在每个相机当中是不同的,因此,点云内容提供系统可以在捕获操作之前校准一个或更多个相机以设置全局坐标系。另外,点云内容提供系统可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频进行合成来生成点云内容。点云内容提供系统在其生成表示虚拟空间的点云内容时不可以执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可以对所捕获的图像和/或视频执行后处理。换句话说,点云内容提供系统可以去除不需要的区域(例如,背景),识别所捕获的图像和/或视频连接到的空间,并且当存在空间孔时执行填充空间孔的操作。
120.点云内容提供系统可以通过对从每个相机保护的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可以基于每个相机位置的坐标对点执行坐标变换。因此,点云内容提供系统可以生成表示一个宽范围的内容,或可以生成具有高密度点的点云内容。
121.图4例示了根据实施方式的示例性点云视频编码器。
122.图4示出了图1的点云视频编码器10002的示例。点云视频编码器重构并编码点云数据(例如,点的位置和/或属性),以根据网络条件或应用来调整点云内容的质量(例如,无损、有损或接近无损)。当点云内容的总大小大时(例如,对于30fps,给出60gbps的点云内容),点云内容提供系统可能无法实时地流传输该内容。因此,点云内容提供系统可以基于最大目标比特率重构点云内容,以根据网络环境等提供该点云内容。
123.如参考图1至图2描述的,点云视频编码器可以执行几何编码和属性编码。几何编码在属性编码之前执行。
124.根据实施方式的点云视频编码器包括坐标变换单元40000、量化单元40001、八叉树分析单元40002、表面近似分析单元40003、算术编码器40004、几何重构单元40005、颜色变换单元40006、属性变换单元40007、raht单元40008、lod生成单元40009、提升变换单元40010、系数量化单元40011和/或算术编码器40012。
125.坐标变换单元40000、量化单元40001、八叉树分析单元40002、表面近似分析单元40003、算术编码器40004和几何重构单元40005可以执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、直接编码、三角汤(trisoup)几何编码和熵编码。直接编码和三角汤几何编码被选择性地或组合地应用。几何编码不限于上述示例。
126.如图中所示,根据实施方式的坐标变换单元40000接收位置并将其变换为坐标。例如,位置可以被变换为三维空间(例如,由xyz坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可以被称为几何信息。
127.根据实施方式的量化单元40001对几何信息进行量化。例如,量化单元40001可以基于所有点的最小位置值(例如,x、y和z轴中的每一个上的最小值)来量化点。量化单元40001执行以下量化操作:将每个点的位置值与最小位置值之间的差乘以预设的量化缩放值,然后通过对通过乘法获得的值进行四舍五入来找到最接近的整数值。因此,一个或更多
个点可以具有相同的量化位置(或位置值)。根据实施方式的量化单元40001基于量化位置来执行体素化,以重构量化点。体素化意味着在3d空间中表示位置信息的最小单位。根据实施方式的点云内容(或3d点云视频)的点可以被包括在一个或更多个体素中。作为体积与像素的复合词的术语体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间划分为单元(单元=1.0)时生成的3d立方空间。量化单元40001可以将3d空间中的点的组与体素匹配。根据实施方式,一个体素可以仅包括一个点。根据实施方式,一个体素可以包括一个或更多个点。为了将一个体素表示为一个点,可以基于体素中包括的一个或更多个点的位置来设置体素的中心点的位置。在这种情况下,可以组合一个体素中包括的所有位置的属性并将这些属性分配给该体素。
128.根据实施方式的八叉树分析单元40002执行八叉树几何编码(或八叉树编码)从而以八叉树结构呈现体素。八叉树结构表示基于八叉树结构与体素匹配的点。
129.根据实施方式的表面近似分析单元40003可以对八叉树进行分析和近似。根据实施方式的八叉树分析和近似是分析包含多个点的区域以高效提供八叉树和体素化的处理。
130.根据实施方式的算术编码器40004对八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。作为编码的结果,生成几何比特流。
131.颜色变换单元40006、属性变换单元40007、raht单元40008、lod生成单元40009、提升变换单元40010、系数量化单元40011和/或算术编码器40012执行属性编码。如上所述,一个点可以具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,属性编码独立地应用于每个元素。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(raht)编码、基于内插的分层最近邻预测(预测变换)编码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测编码。根据点云内容,可以选择性使用上述的raht编码、预测变换编码和提升变换编码,或者可以使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
132.根据实施方式的颜色变换单元40006执行变换属性中包括的颜色值(或纹理)的颜色变换编码。例如,颜色变换单元40006可以变换颜色信息的格式(例如,从rgb到ycbcr)。可以根据属性中包括的颜色值可选地应用根据实施方式的颜色变换单元40006的操作。
133.根据实施方式的几何重构单元40005重构(解压缩)八叉树和/或近似的八叉树。几何重构单元40005基于分析点的分布的结果来重构八叉树/体素。重构的八叉树/体素可以被称为重构的几何结构(恢复的几何结构)。
134.根据实施方式的属性变换单元40007执行属性变换,以基于未被执行几何编码的位置和/或重构的几何结构来变换属性。如上所述,由于属性取决于几何结构,因此属性变换单元40007可以基于重构的几何信息来变换属性。例如,基于体素中包括的点的位置值,属性变换单元40007可以变换该位置处的点的属性。如上所述,当基于体素中包括的一个或更多个点的位置来设置体素中心的位置时,属性变换单元40007变换所述一个或更多个点的属性。当执行三角汤几何编码时,属性变换单元40007可以基于三角汤几何编码来变换属性。
135.属性变换单元40007可以通过计算从每个体素的中心的位置(或位置值)起特定位置/半径内的邻居点的属性或属性值(例如,每个点的颜色或反射率)的平均值来执行属性
变换。属性变换单元40007可以在计算平均值时根据该中心到每个点的距离来应用权重。因此,每个体素都有位置和计算出的属性(或属性值)。
136.属性变换单元40007可以基于k-d树或莫顿码(morton code)搜索存在于距每个体素的中心的位置特定位置/半径内的邻居点。k-d树是二叉搜索树,并支持能够基于位置来管理点数据结构以便可以快速执行最近邻搜索(nns)的。通过将表示所有点的3d位置的坐标(例如,(x,y,z))呈现为位值并混合所述位来生成莫顿码。例如,当表示点的位置的坐标为(5,9,1)时,坐标的位值为(0101,1001,0001)。以z、y和x的顺序根据位索引混合位值产生010001000111。该值被表示为十进制数1095。也就是说,具有坐标(5,9,1)的点的莫顿码值为1095。属性变换单元40007可以基于莫顿码值对点进行排序,并通过深度优先遍历处理执行nns。在属性变换操作之后,当在用于属性编码的另一变换处理中需要nns时,使用k-d树或莫顿码。
137.如图中所示,变换后的属性被输入到raht单元40008和/或lod生成单元40009。
138.根据实施方式的raht单元40008基于重构的几何信息执行用于预测属性信息的raht编码。例如,raht单元40008可以基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
139.根据实施方式的lod生成单元40009生成细节级别(lod)。根据实施方式的lod是点云内容的细节度。随着lod值的减小,表明点云内容的细节度下降。随着lod值的增大,表明点云内容的细节增强。可以按lod对点进行分类。
140.根据实施方式的提升变换单元40010执行基于权重来变换点云的属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
141.根据实施方式的系数量化单元40011基于系数对属性编码后的属性进行量化。
142.根据实施方式的算术编码器40012基于算术编码对量化后的属性进行编码。
143.尽管在该图中未示出,但图4的点云视频编码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云内容提供设备中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图4的点云视频编码器的元件的操作和/或功能中的至少一者。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图4的点云视频编码器的元件的操作和/或功能。根据实施方式的一个或更多个存储器可以包括高速随机存取存储器,或包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储装置)。
144.图5示出了根据实施方式的体素的示例。
145.图5示出了位于由三个轴即x轴、y轴和z轴构成的坐标系表示的3d空间中的体素。如参考图4描述的,点云视频编码器(例如,量化单元40001)可以执行体素化。体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间划分为单元(单元=1.0)时生成的3d立方空间。图5示出了通过八叉树结构生成的体素的示例,在该八叉树结构中,由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框被递归地细分。一个体素包括至少一个点。可以根据与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有像2d图像/视频的像素一样的属性(诸如,颜色或反射率)。体素的细节与参考图4描述的细节相同,因此省略对其的描述。
146.图6示出了根据实施方式的八叉树和占用码的示例。
147.如参考图1至图4描述的,点云内容提供系统(点云视频编码器10002)或点云视频编码器的八叉树分析单元40002基于八叉树结构来执行八叉树几何编码(或八叉树编码),以高效地管理体素的区域和/或位置。
148.图6的上部示出了八叉树结构。根据实施方式的点云内容的3d空间由坐标系的轴(例如,x轴、y轴和z轴)表示。八叉树结构是通过递归细分由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框来创建的。这里,2d可以被设置为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。在式1中确定d的值。在式1中,(x
intn
,y
intn
,z
intn
)表示量化点的位置(或位置值)。
149.[式1]
[0150][0151]
如图6的上部的中间所示,整个3d空间可以根据分区被划分为八个空间。每个划分空间由具有六个面的立方体表示。如图6的右上侧所示,基于坐标系的轴(例如,x轴、y轴和z轴)再次划分八个空间中的每一个。因此,每个空间被划分成八个更小的空间。所划分的更小空间也由具有六个面的立方体表示。应用该划分方案,直到八叉树的叶节点成为体素为止。
[0152]
图6的下部示出了八叉树占用码。生成八叉树的占用码,以指示通过划分一个空间而产生的八个划分空间中的每一个是否包含至少一个点。因此,单个占用码由八个子节点表示。每个子节点表示所划分空间的占用,并且子节点具有1位的值。因此,占用码被表示为8位代码。也就是说,当在与子节点对应的空间中包含至少一个点时,该节点被赋予值1。当在对应于子节点的空间中不包含点(空间为空)时,该节点被赋予值0。由于图6中示出的占用码为00100001,因此它指示与八个子节点当中的第三个子节点和第八个子节点对应的空间各自包含至少一个点。如图中所示,第三个子节点和第八个子节点中的每一个具有8个子节点,并且子节点用8位占用码表示。该图示出第三个子节点的占用码为10000111,并且第八个子节点的占用码为01001111。根据实施方式的点云视频编码器(例如,算术编码器40004)可以对占用码执行熵编码。为了提高压缩效率,点云视频编码器可以对占用码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用码来重构八叉树。
[0153]
根据实施方式的点云视频编码器(例如,八叉树分析单元40002)可以执行体素化和八叉树编码,以存储点的位置。然而,点并不总是均匀地分布在3d空间中,因此会有其中存在较少点的特定区域。因此,对整个3d空间执行体素化是低效的。例如,当特定区域包含的点较少时,不需要在特定区域中执行体素化。
[0154]
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云视频编码器可以跳过体素化并执行直接编码,以对特定区域中包括的点的位置直接进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(dcm)。根据实施方式的点云视频编码器还可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。三角汤几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云视频解码器可以从网格表面生成点云。可以选择性执行根据实施方式的三角汤几何编
码和直接编码。另外,可以结合八叉树几何编码(或八叉树编码)来执行根据实施方式的三角汤几何编码和直接编码。
[0155]
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。将被应用直接编码的节点不是叶节点,并且在特定节点内应该存在少于阈值的点。另外,将应用直接编码的点的总数不应超过预设阈值。当满足以上条件时,根据实施方式的点云视频编码器(或算术编码器40004)可以对点的位置(或位置值)执行熵编码。
[0156]
根据实施方式的点云视频编码器(例如,表面近似分析单元40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型来执行三角汤几何编码,以基于体素来重构节点的区域中的点的位置(三角汤模式)。根据实施方式的点云视频编码器可以指定将应用三角汤几何编码的级别。例如,当特定级别等于八叉树的深度时,点云视频编码器不在三角汤模式下操作。换句话说,根据实施方式的点云视频编码器可以仅在所指定的级别小于八叉树的深度值时才在三角汤模式下操作。根据实施方式的所指定级别处的节点的3d立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于砖。几何结构被表示为每个块内的表面。根据实施方式的表面可以与块的每个边缘最多相交一次。
[0157]
一个块有12个边缘,因此在一个块中至少存在12个交点。每个交点被称为顶点(或顶端点)。当在共享边缘的所有块当中至少存在一个与该边缘相邻的被占用体素时,检测到沿该边缘存在的顶点。根据实施方式的被占用体素是指包含点的体素。沿着边缘检测到的顶点的位置是沿着共享该边缘的所有块当中的与该边缘相邻的所有体素的边缘的平均位置。
[0158]
一旦检测到顶点,根据实施方式的点云视频编码器就可以对边缘的起始点(x,y,z)、边缘的方向矢量(δx,δy,δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用三角汤几何编码时,根据实施方式的点云视频编码器(例如,几何重构单元40005)可以通过执行三角形重构、上采样和体素化处理来生成恢复后的几何结构(重构的几何结构)。
[0159]
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。根据式2,通过以下操作执行三角形重构处理:i)计算每个顶点的质心值,ii)从每个顶点值减去中心值,以及iii)估计通过减法而获得的值的平方和。
[0160]
[式2]
[0161][0162]
然后,估计和的最小值,并根据具有最小值的轴来执行投影处理。例如,当元素x为最小时,每个顶点相对于块的中心投影到x轴上,并投影到(y,z)平面上。当通过投影到(y,z)平面上而获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并根据θ的值对顶点进行排序。下面的表1示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表1示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
[0163]
表1.由按1,

,n排序的顶点形成的三角形
[0164]
[表1]
[0165][0166]
执行上采样处理,以沿着三角形的边在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云视频编码器可以对细化顶点进行体素化。另外,点云视频编码器可以基于体素化位置(或位置值)来执行属性编码。图7例示了根据实施方式的邻居节点模式的示例。为了提高点云视频的压缩效率,根据实施方式的点云视频编码器可以基于上下文自适应算术编码来执行熵编码。
[0167]
如参考图1至图6描述的,图1的点云内容提供系统或点云视频编码器10002或图4的点云视频编码器或算术编码器40004可以立即对占用码执行熵编码。另外,点云内容提供系统或点云视频编码器可以基于当前节点的占用码和邻居节点的占用来执行熵编码(帧内编码),或基于前一帧的占用码来执行熵编码(帧间编码)。根据实施方式的帧表示同时产生的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可以取决于被参考的邻居节点的数目。当位增加时,操作变复杂,但编码可以偏向一侧,从而可以增加压缩效率。例如,当给定3位上下文时,需要使用23=8种方法执行编码。为进行编码而划分的部分影响了实现方式的复杂度。因此,必须满足适当水平的压缩效率和复杂度。
[0168]
图7例示了基于邻居节点的占用来获得占用模式的处理。根据实施方式的点云视频编码器确定八叉树的每个节点的邻居节点的占用,并获得邻居模式的值。使用该邻居节点模式来推断节点的占用模式。图7的上部示出了与节点对应的立方体(处于中间的立方体)以及与立方体共享至少一个面的六个立方体(邻居节点)。图中示出的节点是相同深度的节点。图中示出的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻居节
点的位置依次指派权重。
[0169]
图7的下部示出了邻居节点模式值。邻居节点模式值是乘以被占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点模式值为0至63。当邻居节点模式值为0时,指示该节点的邻居节点当中不存在具有点的节点(未占用节点)。当邻居节点模式值为63时,指示所有邻居节点都是被占用节点。如图中所示,由于被指派权重1、2、4和8的邻居节点是被占用节点,因此邻居节点模式值为15即1、2、4和8之和。点云视频编码器可以根据邻居节点模式值执行编码(例如,当邻居节点模式值为63时,可以执行64种编码)。根据实施方式,点云视频编码器可以通过改变邻居节点模式值(例如,基于通过其将64改变为10或6的表)来降低编码复杂度。
[0170]
图8例示了根据实施方式的每个lod中的点配置的示例。
[0171]
如参考图1至图7描述的,在执行属性编码之前,重构(解压缩)编码后的几何结构。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用三角汤几何编码时,通过三角形重构、上采样和体素化来执行几何重构处理。由于属性取决于几何结构,因此基于重构的几何结构执行属性编码。
[0172]
点云视频编码器(例如,lod生成单元40009)可以通过lod对点进行分类(重新组织或成组)。图8示出了与lod对应的点云内容。图8中的最左侧图片表示原始点云内容。图8左侧起的第二个图片表示最低lod中的点的分布,并且图8中的最右侧图片表示最高lod中的点的分布。也就是说,最低lod中的点稀疏地分布,并且最高lod中的点密集地分布。也就是说,随着lod在由图8底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
[0173]
图9例示了根据实施方式的每个lod的点配置的示例。
[0174]
如参考图1至图8描述的,点云内容提供系统或点云视频编码器(例如,图1的点云视频编码器10002、图4的点云视频编码器或lod生成单元40009)可以生成lod。通过根据设置的lod距离值(或一组欧几里得距离)将点重新组织为一组细化级别来生成lod。lod生成处理不仅由点云视频编码器执行,而且由点云视频解码器执行。
[0175]
图9的上部示出了分布在3d空间中的点云内容的点的示例(p0至p9)。在图9中,原始顺序表示lod生成之前点p0至p9的顺序。在图9中,基于lod的顺序表示根据lod生成的点的顺序。通过lod重新组织点。另外,高lod包含属于较低lod的点。如图9中所示,lod0包含p0、p5、p4和p2。lod1包含lod0的点、p1、p6和p3。lod2包含lod0的点、lod1的点、p9、p8和p7。
[0176]
如参考图4描述的,根据实施方式的点云视频编码器可以选择性或组合地执行基于lod的预测变换编码、基于lod的提升变换编码和raht变换编码。
[0177]
根据实施方式的点云视频编码器可以为点生成预测器,以执行基于lod的预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对n个点生成n个预测器。根据实施方式的预测器可以基于每个点的lod值、与存在于针对每个lod的设定距离内的邻居点有关的加索引信息以及到邻居点的距离来计算权重(=1/距离)。
[0178]
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻居点的距离计算出的权重(或权重值)而获得的值的平均值。根据实施方式的点云视频编码器(例如,系数量化单元40011)可以对通过从每个点的属性(即,原始属性值)中减去每个点的预测属性(或属性
值)而获得的每个点的残差(可以被称为残差属性、残差属性值、属性预测残差值或预测错误属性值等)进行量化和反量化。如表2中所示来配置针对发送装置中的残差属性值执行的量化处理。如表3中所示来配置针对接收装置中的残差属性值执行的反量化处理。
[0179]
[表2]
[0180]
int pccquantization(int value,int quantstep){if(value》=0){return floor(value/quantstep 1.0/3.0);}else{return-floor(-value/quantstep 1.0/3.0);}}
[0181]
[表3]
[0182]
int pccinversequantization(int value,int quantstep){if(quantstep==0){return value;}else{return value*quantstep;}}
[0183]
当每个点的预测器具有邻居点时,根据实施方式的点云视频编码器(例如,算术编码器40012)可以如上所述对量化和反量化后的残差属性值执行熵编码。当每个点的预测器没有邻居点时,根据实施方式的点云视频编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对对应点的属性执行熵编码。根据实施方式的点云视频编码器(例如,提升变换单元40010)可以生成每个点的预测器,设置计算出的lod并将邻居点登记到预测器中,并根据到邻居点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
[0184]
1)创建用于存储每个点的权重值的数组quantization weight(qw)(量化权重)。qw的所有元素的初始值为1.0。将在预测器中登记的邻居节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
[0185]
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0186]
3)创建被称为更新权重(updateweight)的临时数组,并将该临时数组更新并初始化为零。
[0187]
4)将通过将针对所有预测器计算出的权重乘以存储在qw中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组以作为邻居节点的索引。将通过将邻居节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
[0188]
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
[0189]
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以(存储在qw中的)通过提升预测处理而更新的权重来计算预测属性。根据实施方式的点云视频编码器(例如,系数量化单元40011)对预测的属性值进行量化。另外,点云视频编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
[0190]
根据实施方式的点云视频编码器(例如,raht单元40008)可以执行raht变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。raht变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云视频编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的较高模式下执行。
[0191]
下面的式3表示raht变换矩阵。在式3中,表示级别l处的体素的平均属性值。可以基于和来计算和的权重是和
[0192]
[式3]
[0193][0194]
这里,是低通值并被用在下一更高级别处的合并处理中。表示高通系数。每个步骤中的高通系数被量化并经历熵编码(例如,通过算术编码器40012编码)。权重被计算为如式4地通过和计算根节点。
[0195]
[式4]
[0196][0197]
gdc的值也像高通系数一样被量化并经历熵编码。
[0198]
图10例示了根据实施方式的点云视频解码器。
[0199]
图10中例示的点云视频解码器是图1中描述的点云视频解码器10006的示例,并可以执行与图1中例示的点云视频解码器10006的操作相同或类似的操作。如图中所示,点云视频解码器可以接收一个或更多个比特流中包含的几何比特流和属性比特流。点云视频解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码,并输出解码后的几何结构。属性解码器基于解码后的几何对属性比特流执行属性解码,并输出解码后的属性。使用解码后的几何结构和解码后的属性来重构点云内容(解码后的点云)。
[0200]
图11例示了根据实施方式的点云视频解码器。
[0201]
图11中例示的点云视频解码器是图10中例示的点云视频解码器的示例,并可以执行作为图1至图9中例示的点云视频编码器的编码操作的逆处理的解码操作。
[0202]
如参考图1和图10描述的,点云视频解码器可以执行几何解码和属性解码。几何解码是在属性解码之前执行的。
[0203]
根据实施方式的点云视频解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构单元(重构几何
结构)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、反量化单元(反量化)11006、raht变换器11007、lod生成器(生成lod)11008、逆提升器(逆提升)11009和/或逆颜色变换单元(逆变换颜色)11010。
[0204]
算术解码器11000、八叉树合成器11001、表面近似合成器11002和几何重构单元11003以及坐标逆变换器11004可以执行几何解码。根据实施方式的几何解码可以包括直接解码和三角汤几何解码。直接解码和三角汤几何解码被选择性应用。几何解码不限于上述示例,并作为参考图1至图9描述的几何编码的逆处理来执行。
[0205]
根据实施方式的算术解码器11000基于算术编码对接收到的几何比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
[0206]
根据实施方式的八叉树合成器11001可以通过从解码后的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用码来生成八叉树。如参考图1至图9详细描述地配置占用码。
[0207]
当应用三角汤(trisoup)几何编码时,根据实施方式的表面近似合成器11002可以基于解码后的几何结构和/或所生成的八叉树来合成表面。
[0208]
根据实施方式的几何重构单元11003可以基于表面和/或解码后的几何结构来重新生成几何结构。如参考图1至图9描述的,直接编码和三角汤几何编码被选择性应用。因此,几何重构单元11003直接导入并添加关于应用了直接编码的点的位置信息。当应用三角汤几何编码时,几何重构单元11003可以通过执行几何重构单元40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何结构。细节与参考图6描述的细节相同,因此省略对其的描述。重构的几何结构可以包括不包含属性的点云图片或帧。
[0209]
根据实施方式的坐标逆变换器11004可以通过基于重构的几何结构变换坐标来获取点的位置。
[0210]
算术解码器11005、反量化单元11006、raht变换器11007、lod生成单元11008、逆提升器11009和/或逆颜色变换单元11010可以执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(raht)解码、基于内插的分层最近邻预测(预测变换)解码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测解码。可以选择性使用上述三种解码方案,或可以使用一种或更多种解码方案的组合。根据实施方式的属性解码不限于上述示例。
[0211]
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
[0212]
根据实施方式的反量化单元11006对作为解码结果而被保护的关于解码后的属性比特流或属性的信息进行反量化,并输出反量化后的属性(或属性值)。可以基于点云视频编码器的属性编码来选择性应用反量化。
[0213]
根据实施方式,raht变换器11007、lod生成单元11008和/或逆提升器11009可以处理重构的几何结构和反量化后的属性。如上所述,raht变换器11007、lod生成单元11008和/或逆提升器11009可以选择性执行与点云视频编码器的编码对应的解码操作。
[0214]
根据实施方式的逆颜色变换单元11010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。可以基于点云视频编码器的颜色变换单元40006的操作选择性执行逆颜色变换单元11010的操作。
[0215]
尽管在该图中未示出,但图11的点云视频解码器的元件可以由包括一个或更多个
处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云内容提供设备中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图11的点云视频解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图11的点云视频解码器的元件的操作和/或功能。
[0216]
图12例示了根据实施方式的发送装置。
[0217]
图12中示出的发送装置是图1的发送装置10000(或图4的点云视频编码器)的示例。图12中例示的发送装置可以执行与参考图1至图9描述的点云视频编码器的操作和方法相同或类似的操作和方法中的一个或更多个。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、lod/提升/raht变换处理器12010、算术编码器12011和/或发送处理器12012。
[0218]
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取单元10001的操作和/或获取方法(或参考图2描述的获取处理20000)相同或类似的操作和/或获取方法。
[0219]
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参考图1至图9描述的几何编码相同或类似,因此省略对其的详细描述。
[0220]
根据实施方式的量化处理器12001对几何结构(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化单元40001的操作和/或量化相同或类似。细节与参考图1至图9描述的细节相同。
[0221]
根据实施方式的体素化处理器12002对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图4描述的量化单元40001的操作和/或体素化处理相同或类似的操作和/或处理。细节与参考图1至图9描述的细节相同。
[0222]
根据实施方式的八叉树占用码发生器12003基于八叉树结构对点的体素化位置执行八叉树编码。八叉树占用码发生器12003可以生成占用码。八叉树占用码发生器12003可以执行与参考图4和图6描述的点云视频编码器(或八叉树分析单元40002)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0223]
根据实施方式的表面模型处理器12004可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云视频编码器(例如,表面近似分析单元40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0224]
根据实施方式的帧内/帧间编码处理器12005可以对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可以执行与参考图7描述的帧内/帧间编码相同或类似的编码。细节与参考图7描述的细节相同。根据实施方式,帧内/帧间编码处理器12005可以被包括在算术编码器12006中。
[0225]
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似的八叉树执行
熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或类似的操作和/或方法。
[0226]
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供到诸如几何编码和/或属性编码这样的必要处理过程。另外,根据实施方式的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码相关的信令信息。可以与几何编码和/或属性编码分开地对根据实施方式的信令信息进行编码。可以对根据实施方式的信令信息进行交织。
[0227]
颜色变换处理器12008、属性变换处理器12009、lod/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
[0228]
根据实施方式的颜色变换处理器12008执行颜色变换编码,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何结构来执行颜色变换编码。重构的几何结构与参考图1至图9描述的相同。另外,它执行与参考图4描述的颜色变换单元40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
[0229]
根据实施方式的属性变换处理器12009执行属性变换,以基于重构的几何结构和/或未被执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换单元40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施方式的lod/提升/raht变换处理器12010可以通过raht编码、预测变换编码和提升变换编码中的任一种或其组合对变换后的属性进行编码。lod/提升/raht变换处理器12010执行与参考图4描述的raht单元40008、lod生成单元40009和提升变换单元40010的操作相同或类似的操作中的至少一者。另外,预测变换编码、提升变换编码和raht变换编码与参考图1至图9描述的那些相同,因此省略对其的详细描述。
[0230]
根据实施方式的算术编码器12011可以基于算术编码对编码后的属性进行编码。算术编码器12011执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
[0231]
根据实施方式的发送处理器12012可以发送包含编码后的几何结构和/或编码后的属性和/或元数据(或元数据信息)的每个比特流,或发送配置有编码后的几何结构和/或编码后的属性和/或元数据的一个比特流。当根据实施方式的编码后的几何结构和/或编码后的属性和/或元数据被配置成一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包含信令信息,该信令信息包括用于序列级信令的序列参数集(sps)、用于几何信息编码的信令的几何参数集(gps)、用于属性信息编码的信令的属性参数集(aps)以及用于图块级信令的图块参数集(tps或图块清单)和切片数据。切片数据可以包括关于一个或更多个切片的信息。根据实施方式的一个切片可以包括一个几何比特流geom00以及一个或更多个属性比特流attr00和attr10。
[0232]
切片是表示编码点云帧的全部或部分的一系列语法元素。
[0233]
根据实施方式的tps可以包括关于一个或更多个图块的每个图块的信息(例如,关于边界框的高度/大小信息和坐标信息)。几何比特流可以包含头部和有效载荷。根据实施方式的几何比特流的头部可以包含gps中包括的参数集标识符(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于有效载荷中包含的数据的信息。如上所述,根据实施方式的元数据处理器12007可以生成和/或处理信令信息,并
将其发送到发送处理器12012。根据实施方式,用于执行几何编码的元件和用于执行属性编码的元件可以彼此共享数据/信息,如虚线所指示的。根据实施方式的发送处理器12012可以执行与发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。细节与参考图1和图2描述的细节相同,因此省略对其的描述。
[0234]
图13例示了根据实施方式的接收装置。
[0235]
图13中例示的接收装置是图1的接收装置10004(或图10和图11的点云视频解码器)的示例。图13中例示的接收装置可以执行与参考图1至图11描述的点云视频解码器的操作和方法相同或类似的操作和方法中的一个或更多个。
[0236]
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、反量化处理器13005、元数据解析器13006、算术解码器13007、反量化处理器13008、lod/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的用于解码的每个元件可以执行根据实施方式的用于编码的对应元件的操作的逆处理。
[0237]
根据实施方式的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
[0238]
根据实施方式的接收处理器13001可以从接收到的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
[0239]
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和反量化处理器13005可以执行几何解码。根据实施方式的几何解码与参考图1至图10描述的几何解码相同或类似,因此省略对其的详细描述。
[0240]
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或类似的操作和/或编码。
[0241]
根据实施方式的基于占用码的八叉树重构处理器13003可以通过从解码后的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三角汤几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行三角汤几何解码和相关的几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构单元11003的操作相同或类似的操作。
[0242]
根据实施方式的反量化处理器13005可以对解码后的几何结构进行反量化。
[0243]
根据实施方式的元数据解析器13006可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器13006可以传递元数据以进行几何解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略对其的详细描述。
[0244]
算术解码器13007、反量化处理器13008、lod/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,因此省略对其的详细描述。
[0245]
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何结构对属性比特流进行解码。算术解码器13007执行与
算术解码器11005的操作和/或代码化相同或类似的操作和/或代码化。
[0246]
根据实施方式的反量化处理器13008可以对解码后的属性比特流进行反量化。反量化处理器13008执行与反量化单元11006的操作和/或反量化方法相同或相似的操作和/或方法。
[0247]
根据实施方式的lod/提升/raht逆变换器13009可以处理重构的几何结构和反量化后的属性。预测/提升/raht逆变换处理器1301执行与raht变换器11007、lod生成单元11008和/或逆提升器11009的操作和/或解码相同或类似的操作和/或解码中的一个或更多个。根据实施方式的颜色逆变换处理器13010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。颜色逆变换处理器13010执行与逆颜色变换单元11010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。根据实施方式的渲染器13011可以渲染点云数据。
[0248]
图14示出了根据实施方式的与用于发送和接收点云数据的方法/装置可操作地可连接的示例性结构。
[0249]
图14的结构表示其中服务器17600、机器人17100、自动驾驶车辆17200、xr装置17300、智能电话17400、家用电器17500和/或头戴式显示器(hmd)17700中的至少一个连接到云网络17100的配置。机器人17100、自动驾驶车辆17200、xr装置17300、智能电话17400或家用电器17500被称为装置。另外,xr装置17300可以对应于根据实施方式的点云压缩数据(pcc)装置,或可以可操作地连接到pcc装置。
[0250]
云网络17000可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3g网络、4g或长期演进(lte)网络或5g网络配置云网络17000。
[0251]
服务器17600可以通过云网络17000连接到机器人17100、自动驾驶车辆17200、xr装置17300、智能电话17400、家用电器17500和/或hmd 17700中的至少一个,并可以辅助连接的装置17100至17700的处理中的至少一部分。
[0252]
hmd 17700表示根据实施方式的xr装置和/或pcc装置的实现方式类型中的一种。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0253]
下文中,将描述应用了上述技术的装置17100至17500的各种实施方式。根据上述实施方式,图14中例示的装置17100至17500可以可操作地连接/耦合到点云数据发送装置和接收器。
[0254]
《pcc xr》
[0255]
xr/pcc装置17300可以采用pcc技术和/或xr(ar vr)技术,并可以被实现为hmd、设置在车辆中的平视显示器(hud)、电视机、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、静止机器人或移动机器人。
[0256]
xr/pcc装置17300可以分析通过各种传感器或从外部装置获取的3d点云数据或图像数据,并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置17300可以获取关于周围空间或真实对象的信息,并渲染和输出xr对象。例如,xr/pcc装置17300可以将包括关于识别到的对象的辅助信息的xr对象与识别到的对象匹配,并输出相匹配的xr对象。
[0257]
《pcc 自动驾驶 xr》
[0258]
自动驾驶车辆17200可以通过应用pcc技术和xr技术被实现为移动机器人、车辆、
无人驾驶飞行器等。
[0259]
应用xr/pcc技术的自动驾驶车辆17200可以表示设置有用于提供xr图像的装置的自动驾驶车辆或作为xr图像中的控制/交互目标的自动驾驶车辆。具体地,作为xr图像中的控制/交互目标的自动驾驶车辆17200可以与xr装置17300区分开,并可以可操作地连接到xr装置1730。
[0260]
具有用于提供xr/pcc图像的装置的自动驾驶车辆17200可以从包括相机的传感器获取传感器信息,并基于所获取的传感器信息输出生成的xr/pcc图像。例如,自动驾驶车辆17200可以具有hud并向其输出xr/pcc图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的xr/pcc对象。
[0261]
当xr/pcc对象被输出到hud时,可以输出xr/pcc对象的至少一部分以与乘员眼睛所指向的真实对象交叠。另一方面,当xr/pcc对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出xr/pcc对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆17200可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的xr/pcc对象。
[0262]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0263]
换句话说,vr技术是只提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上示出虚拟创建的cg图像的技术。mr技术与上述ar技术的类似之处在于,待示出的虚拟对象与真实世界混合并结合。然而,mr技术与ar技术的不同之处在于,ar技术明确区分了真实对象与作为cg图像创建的虚拟对象,并使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象视为与真实对象具有等同特性的对象。更具体地,mr技术应用的示例是全息图服务。
[0264]
最近,vr、ar和mr技术有时被称为扩展现实(xr)技术,而没有被明确彼此区分开。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc和g-pcc技术的编/解码适用于这种技术。
[0265]
根据实施方式的pcc方法/装置可以应用于提供自动驾驶服务的车辆。
[0266]
提供自动驾驶服务的车辆连接到pcc装置,以用于有线/无线通信。
[0267]
当根据实施方式的点云压缩数据(pcc)发送/接收装置连接到车辆以用于有线/无线通信时,该装置可以接收/处理与可以和自动驾驶服务一起提供的ar/vr/pcc服务相关的内容数据并将其发送到车辆。在pcc发送/接收装置被安装在车辆上的情况下,pcc发送/接收装置可以根据通过用户接口装置输入的用户输入信号来接收/处理与ar/vr/pcc服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
[0268]
此外,发送方的点云视频编码器还可以在对点云数据进行编码之前执行将点云数据空间分割(或划分)为一个或更多个3d块的空间分割处理。即,为了实时地执行并以低等待时间处理发送装置的编码和发送操作以及接收装置的解码和渲染操作,发送装置可以将点云数据空间分割为多个区域。另外,发送装置可以独立地或非独立地对空间分割的区域(或块)进行编码,由此实现点云数据占据的三维空间中的随机接入和并行编码。另外,发送装置和接收装置可以针对每个空间分割的区域(或块)独立地或非独立地执行编码和解码,
由此防止在编码处理和解码处理中累积误差。
[0269]
图15是例示了包括空间分割器的根据实施方式的点云发送装置的另一示例的示图。
[0270]
根据实施方式的点云发送装置可以包括数据输入单元51001、坐标变换单元51002、量化处理器51003、空间分割器51004、信令处理器51005、几何编码器51006、属性编码器51007和发送处理器51008。根据实施方式,坐标变换单元51002、量化处理器51003、空间分割器51004、几何编码器51006和属性编码器51007可以被称为点云视频编码器。
[0271]
数据输入单元51001可以执行图1的点云视频获取单元10001的一些或全部操作,或者可以执行图12的数据输入单元12000的一些或全部操作。坐标变换单元51002可以执行图4的坐标变换单元40000的一些或全部操作。另外,量化处理器51003可以执行图4的量化单元40001的一些或全部操作,或者可以执行图12的量化处理器12001的一些或全部操作。
[0272]
空间分割器51004可以基于边界框和/或子边界框,将量化后并从量化处理器51003输出的点云数据空间分割为一个或更多个3d块。这里,3d块可以是指图块组、图块、切片、编码单元(cu)、预测单元(pu)或变换单元(tu)。在一个实施方式中,用于空间分割的信令信息由信令处理器51005进行熵编码,然后以比特流的形式通过发送处理器51008发送。
[0273]
图16的(a)至图16的(c)例示了将边界框分割为一个或更多个图块的实施方式。如图16的(a)中所示,对应于点云数据的点云对象可以以基于坐标系的框的形式来表示,该框被称为边界框。换句话说,边界框表示能够包含点云中的所有点的立方体。
[0274]
图16的(b)和图16的(c)例示了其中图16的(a)的边界框被分割为图块1#和图块2#并且图块2#再次被分割为切片1#和切片2#的示例。
[0275]
在一个实施方式中,点云内容可以是诸如演员这样的一个人、多个人、一个对象或多个对象。在更大的范围内,它可以是用于自主驾驶的地图或用于机器人的室内导航的地图。在这种情况下,点云内容可以是大量本地连接的数据。在这种情况下,不能一次性对点云内容进行编码/解码,因此可以在压缩点云内容之前执行图块分割。例如,建筑物中的房间#101可以被分割为一个图块,并且建筑物中的房间#102可以被分割为另一图块。为了通过向分割的图块应用并行化来支持快速编码/解码,图块可以再次被分割(或分裂)为切片。该操作可以被称为切片分割(或分裂)。
[0276]
即,根据实施方式,图块可以表示点云数据占据的3d空间的部分区域(例如,矩形立方体)。根据实施方式,图块可以包括一个或更多个切片。根据实施方式的图块可以被分割为一个或更多个切片,因此点云视频编码器可以并行地对点云数据进行编码。
[0277]
切片可以表示可以由根据实施方式的点云视频编码器独立编码的数据(或比特流)的单元和/或可以由点云视频解码器独立解码的数据(或比特流)的单元。切片可以是点云数据所占据的3d空间中的数据的集合或点云数据当中的一些数据的集合。根据实施方式的切片可以表示根据实施方式的图块中所包括的点的集合或区域。根据实施方式,图块可以基于一个图块中所包括的点的数量被分割为一个或更多个切片。例如,一个图块可以是按点的数量分割的点的集合。根据实施方式,可以基于点的数量将图块分割为一个或更多个切片,并且可以在分割处理中分裂或合并一些数据。即,切片可以是可以在相应图块内独立编码的单元。以这种方式,通过空间分割而获得的图块被分割为一个或更多个切片,以用于快速和高效的处理。
[0278]
根据实施方式的点云视频编码器可以逐切片地或逐图块地对点云数据进行编码,其中,图块包括一个或更多个切片。另外,根据实施方式的点云视频编码器可以对每个图块或每个切片执行不同的量化和/或变换。
[0279]
由空间分割器51004在空间上分割的一个或更多个3d块(例如,切片)的位置被输出到几何编码器51006,并且属性信息(或属性)被输出到属性编码器51007。位置可以是关于分割单元(框、块、图块、图块组或切片)中所包括的点的位置信息,并被称为几何信息。
[0280]
几何编码器51006基于从空间分割器51004输出的位置来构造和编码(即,压缩)八叉树,以输出几何比特流。几何编码器51006可以重构八叉树和/或近似八叉树,并将其输出到属性编码器51007。重构的八叉树可以被称为重构的几何(恢复的几何)。
[0281]
属性编码器51007基于从几何编码器51006输出的重构的几何对从空间分割器51004输出的属性进行编码(即,压缩),并输出属性比特流。
[0282]
图17是例示了根据实施方式的几何编码器51006和属性编码器51007的另一示例的详细框图。
[0283]
图17的几何编码器51006的体素化处理器53001、八叉树生成器53002、几何信息预测器53003和算术编码器53004可以执行图4的八叉树分析单元40002、表面近似分析单元40003、算术编码器40004和几何重构单元40005的一些或全部操作,或者可以执行图12的体素化处理器12002、八叉树占用码发生器12003和表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006的一些或全部操作。
[0284]
图17的属性编码器51007可以包括颜色变换处理器53005、属性变换处理器53006、lod配置单元53007、邻近点组配置单元53008、属性信息预测单元53009、残差属性信息量化处理器53010和算术编码器53011。
[0285]
在实施方式中,在空间分割器51004和体素化处理器53001之间还可以设置量化处理器。量化处理器对由空间分割器51004空间分割的一个或更多个3d块(例如,切片)的位置进行量化。在这种情况下,量化处理器可以执行图4的量化单元40001的一些或全部操作,或者执行图12的量化处理器12001的一些或全部操作。当在空间分割器51004和体素化处理器53001之间还设置量化处理器时,可以省略或者可以不省略图15的量化处理器51003。
[0286]
根据实施方式的体素化处理器53001基于一个或更多个空间分割的3d块(例如,切片)的位置或其量化位置来执行体素化。体素化是指用于在3d空间中表示位置信息的最小化单元。根据实施方式的点云内容(或3d点云视频)的点可以被包括在一个或更多个体素中。根据实施方式,一个体素可以包括一个或更多个点。在实施方式中,在执行体素化之前执行量化的情况下,多个点可以属于一个体素。
[0287]
在本说明书中,当一个体素中包括两个或更多个点时,这两个或更多个点被称为重复点。即,在几何编码处理中,可以通过几何量化和体素化来产生重叠点。
[0288]
根据实施方式的体素化处理器53001可以将属于一个体素的重复点输出到八叉树生成器53002而不合并它们,或者可以将多个点合并成一个点并将合并后的点输出到八叉树生成器53002。
[0289]
根据实施方式的八叉树生成器53002基于从体素化处理器53001输出的体素来生成八叉树。
[0290]
根据实施方式的几何信息预测器53003基于由八叉树生成器53002生成的八叉树
来预测和压缩几何信息,并将预测和压缩后的信息输出到算术编码器53004。另外,几何信息预测器53003基于通过压缩改变的位置来重构几何,并将重构(或解码后)的几何输出到属性编码器51007的lod配置单元53007。几何信息的重构可以在与几何信息预测器53003分开的装置或部件中执行。在另一实施方式中,重构的几何还可以被提供到属性编码器51007的属性变换处理器53006。
[0291]
属性编码器51007的颜色变换处理器53005对应于图4的颜色变换单元40006或图12的颜色变换处理器12008。根据实施方式的颜色变换处理器53005执行变换从数据输入单元51001和/或空间分割器51004提供的属性中所包括的颜色值(或纹理)的颜色变换编码。例如,颜色变换处理器53005可以变换颜色信息的格式(例如,从rgb到ycbcr)。可以根据属性中所包括的颜色值可选地应用根据实施方式的颜色变换处理器53005的操作。在另一实施方式中,颜色变换处理器53005可以基于重构的几何来执行颜色变换编码。对于几何重构的细节,参考对图1至图9的描述。
[0292]
根据实施方式的属性变换处理器53006可以基于尚未被执行几何编码的位置和/或重构的几何来执行变换属性的属性变换。
[0293]
属性变换处理器53006可以被称为重新着色单元。
[0294]
可以根据重复点是否被合并来可选地应用根据实施方式的属性变换处理器53006的操作。根据实施方式,重复点的合并可以由几何编码器51006的体素化处理器53001或八叉树生成器53002执行。
[0295]
在本说明书中,当属于一个体素的点在体素化处理器53001或八叉树生成器53002中被合并为一个点时,属性变换处理器53006执行属性变换。举个例子。
[0296]
属性变换处理器53006执行与图4的属性变换单元40007或图12的属性变换处理器12009的操作和/或方法相同或类似的操作和/或方法。
[0297]
根据实施方式,由几何信息预测器53003重构的几何信息和从属性变换处理器53006输出的属性信息被提供到lod配置单元53007以用于属性压缩。
[0298]
根据实施方式,可以基于重构的几何信息通过raht编码、基于lod的预测变换编码和提升变换编码中的一种或两种或更多种的组合来压缩从属性变换处理器53006输出的属性信息。
[0299]
下文中,作为实施方式,假定通过基于lod的预测变换编码和提升变换编码中的一种或其组合来执行属性压缩。因此,将省略对raht编码的描述。对于raht变换编码的细节,参考对图1至图9的描述。
[0300]
根据实施方式的lod配置单元53007生成细节层次(lod)。
[0301]
lod是表示点云内容的细节度的程度。随着lod值的减小,表明点云内容的细节度下降。随着lod值的增大,表明点云内容的细节度增强。重构几何的点(即,重构位置)可以根据lod来归类。
[0302]
在实施方式中,在预测变换编码和提升变换编码中,点可以被划分为lod并被分组。
[0303]
该操作可以被称为lod生成处理,并且具有不同lod的组可以被称为lod
l
集合。这里,l表示lod并且是从0开始的整数。lod0是由其间距离最大的点组成的集合。随着l增大,属于lod
l
的点之间的距离减小。
[0304]
当lod值配置单元53007生成lod
l
集合时,根据实施方式的邻近点配置单元53008可以基于lod
l
集合在具有相同或更低lod(即,节点之间的距离大)的组中找到x(》0)个最近邻近(nn)点,并在预测器中将其登记为邻近集合。x是可以被设置为邻近点的点的最大数目。x可以被作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在aps中发信号通知的lifting_num_pred_nearest_neighbours字段)。
[0305]
参考图9作为示例,在lod0和lod1中找到属于lod1的p3的邻近点。例如,当可以被设置为邻近点的点的最大数目(x)为3时,p3的三个最近邻近节点可以是p2、p4、p6。这三个节点在p3的预测器中被登记为邻近集合。在实施方式中,在已登记节点当中,邻近节点p4在距离方面最靠近p3,然后p6是下一个最近的节点,并且p2是三个节点当中最远的节点。这里,x=3仅仅是被配置为提供对本公开的理解的实施方式。x的值可以不同。
[0306]
如上所述,点云数据的所有点可以分别具有预测器。
[0307]
根据实施方式的属性信息预测单元53009从登记在预测器中的邻近点预测属性值,并基于预测的属性值来获得对应点的残差属性值。残差属性值被输出到残差属性信息量化处理器53010。
[0308]
接下来,将详细描述lod生成和邻近点搜索。
[0309]
如上所述,对于属性压缩,属性编码器执行基于重构几何的点来生成lod并基于所生成的lod来搜索待编码点的最近邻近点的处理。根据实施方式,甚至接收装置的属性解码器也执行生成lod并基于所生成的lod来搜索待解码点的最近邻近点的处理。
[0310]
根据实施方式,lod配置单元53007可以使用一个或更多个lod生成方法(或lod配置方法)来配置一个或更多个lod。
[0311]
根据实施方式,在lod配置单元53007中使用的lod生成方法可以作为用户参数输入,或者可以通过信令处理器51005在信令信息中发信号通知。例如,lod生成方法可以在aps中发信号通知。
[0312]
根据实施方式,lod生成方法可以分为基于八叉树的lod生成方法、基于距离的lod生成方法和基于采样的lod生成方法。
[0313]
图18是例示了根据实施方式的基于八叉树来生成lod的示例的示图。
[0314]
根据实施方式,当基于八叉树来生成lod时,八叉树的每个深度级别可以与每个lod匹配,如图18中例示的。即,基于八叉树的lod生成方法是使用以下特征生成lod的方法:表示点云数据的细节随着八叉树结构中深度级别的增加(即,从根到叶的方向)逐渐增加。根据实施方式,可以从根节点到叶节点或者相反地从叶节点到根节点地执行基于八叉树的lod配置。
[0315]
根据实施方式的基于距离的lod生成方法是使按莫顿码排列点并基于点之间的距离来生成lod的方法。
[0316]
根据实施方式的基于采样的lod生成方法是使按莫顿码排列点并将每个第k点归类为可以作为邻近点集合的候选的较低lod的方法。即,在采样期间,可以选择每个第k点并将其归类为属于lod0至lod
l-1
的较低候选集合,并且剩余点可以被登记在lod
l
集合中。即,所选择的点成为候选组,该候选组可以被选择为登记在lod
l
集合中的点的邻近点集合。k可以根据点云内容而不同。这里,点可以是所捕获点云的点或所重构几何的点。
[0317]
在本公开中,基于lod
l
集合与lod0至lod
l-1
对应的较低候选集合将被称为保留集合
或lod保留集合。lod0是由其间距离最大的点组成的集合。随着l增大,属于lod
l
的点之间的距离减小。
[0318]
根据实施方式,lod
l
集合中的点也基于莫顿码顺序来排列。另外,lod0至lod
l-1
集合中的每一个中所包括的点也基于莫顿码顺序来排列。
[0319]
图19是例示了根据实施方式的按莫顿码顺序排列点云的点的示例的示图。
[0320]
即,基于点云的每个点的x、y和z位置值来生成每个点的莫顿码。当通过该处理生成点云的点的莫顿码时,点云的点可以按莫顿码顺序排列。根据实施方式,点云的点可以按莫顿码的升序排列。按莫顿码的升序排列的点的顺序可以被称为莫顿顺序。
[0321]
根据实施方式的lod配置单元53007可以通过对按莫顿顺序排列的点执行采样来生成lod。
[0322]
lod配置单元53007通过应用基于八叉树的lod生成方法、基于距离的lod生成方法或基于采样的lod生成方法中的至少一者来生成lod
l
集合,邻近点集合配置单元53008可以基于lod
l
集合来搜索具有相同或更低lod(即,节点之间的距离大)的组中的x(》0)个最近邻近(nn)点,并将x个nn点作为邻近点集合登记在预测器中。
[0323]
在这种情况下,由于为了配置邻近点集合而消耗大量时间来搜索所有点,因此提供了在仅包括部分点的邻近点搜索范围内搜索邻近点的实施方式。搜索范围是指点的数目,并可以是128、256或另一值。根据实施方式,关于搜索范围的信息可以设置在邻近点集合配置单元53008中,或者可以作为用户参数输入。另选地,关于搜索范围的信息可以通过信令处理器51005在信令信息中发信号通知(例如,在aps中发信号通知的lifting_search_range字段)。
[0324]
图20是例示了根据实施方式的基于lod来在搜索范围中搜索邻近点的示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
[0325]
在图20中,在实施方式中,索引列表包括待编码点所属的lod集合(即,lod
l
)并且保留列表包括基于lod
l
集合的至少一个较低lod集合(例如,lod0至lod
l-1
)。
[0326]
根据实施方式,索引列表的点基于莫顿码的大小按升序排列,并且保留列表的点也基于莫顿码的大小按升序排列。因此,索引列表和保留列表中按莫顿顺序排列的点中的最前面的点具有最小的莫顿码大小。
[0327]
根据实施方式的邻近点集合配置单元53008可以在属于lod0至lod
l-1
集合的点和/或属于lod
l
集合的点当中,搜索按顺序位于点px之前的点(即,具有小于或等于点px的莫顿码的莫顿码的点)当中的具有与点px的莫顿码最接近的莫顿码的点,以便生成属于lod
l
集合的点px(即,待编码点或当前点)的邻近点集合。在本公开中,被搜索的点将被称为pi或中心点。
[0328]
根据实施方式,当搜索中心点pi时,邻近点集合配置单元53008可以在位于点px之前的所有点当中搜索具有与点px的莫顿码最接近的莫顿码的点pi,或者在搜索范围内的点当中搜索具有与点px的莫顿码最接近的莫顿码的点pi。在本公开中,搜索范围可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入。另外,关于搜索范围的信息可以通过信令处理器51005在信令信息中发信号通知。本公开提供了当lod的数目为多个时在保留列表中搜索中心点pi以及当lod的数目为1时在索引列表中搜索中心点pi的实施方式。例如,当lod的数目为1时,可以基于当前点在按莫顿码排列的列表中的位置来确定搜索范围。
[0329]
根据实施方式的邻近点集合配置单元53008比较点px与位于被搜索的(或所选择的)中心点pi之前(即,在图20中的中心点左侧)和被搜索的(或所选择的)中心点pi之后(即,在图20中的中心点右侧)的属于邻近点搜索范围的点之间的距离值。邻近点集合配置单元53008可以将x(例如,3)个nn点登记为邻近点集合。在实施方式中,邻近点搜索范围是点的数目。根据实施方式的邻近点搜索范围可以包括按莫顿顺序位于中心点pi之前(即,前面)和/或之后(即,后面)的一个或更多个点。x是可以被登记为邻近点的点的最大数目。
[0330]
根据实施方式,关于邻近点搜索范围的信息和关于可以被登记为邻近点的点的最大数目x的信息可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在aps中发信号通知的lifting_search_range字段和lifting_num_pred_nearest_neighbours字段)。根据实施方式,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将所得值与中心点相加而获得的值(即,(lifting_search_range字段的值
×
2) 中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值 中心点)或lifting_search_range字段的值。本公开提供了当lod的数目为多个时在保留列表中搜索点px的邻近点以及当lod的数目为1时在索引列表中搜索点px的邻近点的实施方式。
[0331]
例如,如果lod的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点pi、中心点pi之前的128个点以及中心点pi之后的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点pi以及中心点pi之前的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点px之前的128个点。
[0332]
根据实施方式,邻近点集合配置单元53008可以比较实际搜索范围内的点与点px之间的距离值,并将x个nn点登记为点px的邻近点集合。
[0333]
另一方面,根据从其捕获了内容的对象、捕获方案或用于捕获内容的设备,内容的属性特征可以显得不同。
[0334]
图21的(a)和图21的(b)是例示了根据实施方式的点云内容的示例的示图。
[0335]
图21的(a)是通过用3d扫描仪捕获一个对象而获取的密集点云数据的示例并且对象的属性相关性可以高。图21的(b)是通过用lidar装置捕获广区域而获取的稀疏点云数据的示例并且点之间的属性相关性可以低。密集点云数据的示例可以是静止图像,并且稀疏点云数据的示例可以是由无人机或自动驾驶车辆捕获的图像。
[0336]
以这种方式,根据从其捕获了内容的对象、捕获方案或用于捕获内容的设备,内容的属性特征可以显得不同。如果在不考虑不同的属性特征的情况下对属性进行编码时执行邻近点搜索以配置邻近点集合,则对应点与所登记邻近点之间的距离可能不都是相邻的。例如,当在比较点px与中心点pi之前和之后的属于邻近点搜索范围的点之间的距离值之后x(例如,3)个nn点被登记为邻近点集合时,x个登记邻近点中的至少一个可能远离点px。换句话说,x个登记邻近点中的至少一个可能不是点px的实际邻近点。
[0337]
与在密集点云数据中相比,该现象更可能发生在稀疏点云数据中。例如,如图21的(a)中例示的,如果在内容中存在一个对象,这个对象具有颜色连续性/相似性并且被密集捕获,并且所捕获的区域小,则即使点与邻近点相隔有点远时,也可能存在点之间具有高属
性相关性的内容。相反地,如图21的(b)中例示的,如果用lidar装置稀疏地捕获相当广的区域,则仅当到邻近点的距离在特定范围内时,才可能存在具有颜色相关性的内容。因此,当如图21的(b)中例示地对稀疏点云数据的属性进行编码时,通过邻近点搜索登记的一些邻近点可能不是待编码点的实际邻近点。
[0338]
在生成lod时,当点按莫顿顺序排列时,这种现象的发生概率高。即,尽管莫顿顺序快速排列邻近点,但由于莫顿码的锯齿形扫描特征,导致出现跳跃段(即,图19中的断续长线),接着点的位置会大大改变。在这种情况下,通过搜索范围内的邻近点搜索登记的一些邻近点可能不是待编码点的实际nn点。
[0339]
图22的(a)和图22的(b)是例示了根据实施方式的属于邻近点集合的点的平均距离、最小距离和最大距离的示例的示图。
[0340]
图22的(a)例示了称为ford的内容的第100帧的示例,并且图22的(b)例示了称为qnx的内容的第一帧的示例。
[0341]
图22的(a)和图22的(b)是有助于本领域技术人员理解的示例性实施方式。图22的(a)和图22的(b)可以是相同内容的不同帧或不同内容的特定帧。
[0342]
为了方便说明,图22的(a)中例示的帧被称为第一帧,并且图22的(b)中例示的帧被称为第二帧。
[0343]
在图22的(a)的第一帧中,点的总数为80265,有4个点中登记了仅一个nn点,有60个点中登记了2个nn点,并且有80201个点中登记了3个nn点。即,可以被登记为nn点的点的最大数目为3,但取决于帧中点的位置,可以是1或2。
[0344]
在图22的(b)的第二帧中,点的总数为31279个,有3496个点中登记了仅一个nn点,有219个点中登记了2个nn点,并且有27564个点中登记了3个nn点。
[0345]
在图22的(a)的第一帧和图22的(b)的第二帧中,nn1是nn点,nn2是下一nn点,并且nn3是第三nn点。图22的(a)的第一帧中nn2的最大距离为1407616个并且nn3的最大距离为1892992,而图22的(b)的第二帧中nn2的最大距离为116007040并且nn3的最大距离为310887696。
[0346]
即,可以理解,根据内容或帧,在距离上存在相当大的差异。因此,登记的邻近点中的一些可能不是实际的邻近点。
[0347]
这样,如果待编码点与登记的邻近点之间的距离差变大,则这两个点之间的属性差有可能大。另外,当基于包括这些邻近点的邻近点集合执行预测并且获得残差属性值时,残差属性值可能增加,从而导致比特流大小增加。
[0348]
换句话说,内容或帧的特征可能对用于属性预测的邻近点集合的配置有影响,并且这可能影响属性的压缩效率。
[0349]
因此,在本公开中,当配置邻近点集合以便对点云内容的属性进行编码时,考虑内容的点之间的属性相关性来选择邻近点,使得无意义的点不被选择为邻近点集合。然后,由于残差属性值减小并由此比特流大小减小,因此提高了属性的压缩效率。换句话说,本公开使用考虑内容的点之间的属性相关性来限制可以被选择为邻近点集合的点的方法来提高属性的压缩效率。
[0350]
本公开提供了在点云内容的属性编码处理中配置邻近点集合时应用邻近点的最大距离(也称为最大nn距离)以便考虑内容的点之间的属性相关性的实施方式。
[0351]
本公开提供了在对点云内容的属性进行编码时通过应用搜索范围和/或最大nn距离来配置邻近点集合的实施方式。
[0352]
例如,作为比较点px与在中心点pi之前和之后的属于邻近点搜索范围的点之间的距离值的结果,x(例如,3)个nn点当中的比最大nn距离更远的点不被登记在点px的邻近点集合中。换句话说,作为比较点px与在中心点pi之前和之后的属于邻近点搜索范围的点之间的距离值的结果,x(例如,3)个nn点当中仅最大nn距离内的点被登记在点px的邻近点集合中。例如,如果具有最近距离的三个点之一比最大nn距离远,则可以排除更远的点,并且仅剩下的两个点可以被登记在点px的邻近点集合中。
[0353]
根据实施方式的邻近点集合配置单元53008可以根据内容的属性特征应用最大nn距离,以便不管内容的属性特征如何都实现属性的最佳压缩效率。这里,可以根据lod生成方法(基于八叉树、基于距离或基于采样的lod生成方法)不同地计算最大nn距离。即,可以对每个lod不同地应用最大nn距离。
[0354]
在本公开中,最大nn距离与邻近点的最大距离或最大邻近点距离可互换地使用。换句话说,在本公开中,最大nn距离、邻近点的最大距离和最大邻近点距离具有相同的含义。
[0355]
在本公开中,最大nn距离可以通过将基本邻近点距离(称为基本距离或基准距离)乘以nn_range来获得,如下式5中例示的。
[0356]
[式5]
[0357]
最大邻近点距离=基本邻近点距离
×
nn_range
[0358]
在式5中,nn_range是可以在其内选择邻近点的范围,并可以被称为最大邻近点范围、邻近点范围或nn范围。
[0359]
根据实施方式的邻近点集合配置单元53008可以根据内容的特征来自动或手动地设置nn_range,或者通过作为用户参数的输入来设置nn_range。另外,关于nn_range的信息可以通过信令处理器51005在信令信息中发信号通知。包括关于nn_range的信息的信令信息可以是sps、aps、图块参数集或属性切片头中的至少一个。接收装置的属性解码器可以基于信令信息来生成邻近点集合。在这种情况下,已在属性编码的属性预测中使用的邻近点可以被恢复并应用于属性解码。
[0360]
根据实施方式,邻近点集合配置单元53008可以通过组合每个lod的基于八叉树的方法、基于距离的方法、基于采样的方法、基于莫顿码的平均差的方法以及针对每个lod的基于平均距离差的方案中的一个或更多个来计算/配置基本邻近点距离。根据实施方式,计算/配置基本邻近点距离的方法可以通过信令处理器51005在信令信息(例如,aps)中发信号通知。
[0361]
接下来,将描述当基于八叉树生成lod时获取邻近点的基本距离和邻近点的最大距离的实施方式。
[0362]
如图18中例示的,当lod配置单元53007生成基于八叉树的lod时,八叉树的每个深度级别可以与每个lod匹配。
[0363]
根据实施方式的邻近点集合配置单元53008可以以基于八叉树的lod为基础获得邻近点的最大距离。
[0364]
根据实施方式,当lod配置单元53007生成基于八叉树的lod时,可以支持空间可伸
缩性。利用空间可伸缩性,当源点云密集时,可以访问较低分辨率点云,如同具有较低解码器复杂度和/或较小带宽的缩略图。例如,几何的空间可伸缩性功能可以由在几何的编码/解码期间通过调整八叉树的深度级别来仅将占用比特编码或解码直至所选择深度级别的处理提供。另外,即使在属性的编码/解码期间,属性的空间可伸缩性功能也可以由从八叉树的所选深度级别生成lod并配置将对其执行属性的编码/解码的点的处理来提供。
[0365]
根据实施方式,为了空间可伸缩性,lod配置单元53007可以生成基于八叉树的lod,并且邻近点集合配置单元53008可以基于所生成的基于八叉树的lod来执行邻近点搜索。
[0366]
当根据实施方式的邻近点集合配置单元53008基于属于当前基于八叉树生成的lod的点搜索先前lod中的邻近点时,最大邻近点距离可以通过将基本邻近点距离(称为基本距离或基准距离)乘以nn_range(即,基本邻近点距离
×
nn_range)来获得。
[0367]
根据实施方式,特定的基于八叉树生成的lod中的一个节点的最大距离(即,对角线距离)可以被定义为基本距离(或基本邻近点距离)。
[0368]
根据实施方式,当基于属于当前lod(例如,索引列表中的lod
l
集合)的点来搜索先前lod(例如,保留列表中的lod0至lod
l-1
)中的邻近点时,当前lod的八叉树节点的较高节点(父节点)的对角线距离可以是用于获取最大邻近点距离的基本距离。
[0369]
根据实施方式,可以如下式6中地获得作为特定lod处一个节点的对角线距离(即,最大距离)的基本距离。
[0370]
[式6]
[0371][0372]
根据另一实施方式,可以如下式7中示出地基于l2来获得作为特定lod处一个节点的对角线距离(即,最大距离)的基本距离。
[0373]
[式7]
[0374][0375]
通常,当计算两点之间的距离时,使用曼哈顿距离计算方法或欧几里德距离计算方法。曼哈顿距离将被称为l1距离并且欧几里德距离将被称为l2距离。可以使用欧几里德距离定义欧几里德空间,并且与该距离对应的范数将被称为欧几里德范数或l2范数。范数是测量向量的长度或大小的方法(函数)。
[0376]
图23的(a)例示了获取lod0的八叉树节点的对角线距离的示例。根据实施方式,当图23的(a)的示例应用于式6时,基本距离变为并且当图23的(a)的示例应用于式7时,基本距离变为3。
[0377]
图23的(b)例示了计算lod1的八叉树节点的对角线距离的示例。根据实施方式,当图23的(b)的示例应用于式6时,基本距离变为并且当图23的(b)的示例应用于式7时,基本距离变为12。
[0378]
图24的(a)和图24的(b)例示了可以被选择为每个lod处的邻近点的范围nn_range的示例。更具体地,图24的(a)例示了当在lod0处nn_range为1时的示例,并且图24的(b)例示了当在lod0处nn_range为3时的示例。根据实施方式,nn_range可以根据内容的特征来自动或手动地设置,或者可以通过作为用户参数的输入来设置。关于nn_range的信息可以在
信令信息中发信号通知。包括关于nn_range的信息的信令信息可以是sps、aps、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的范围nn_range可以被设置为任意值(例如,基本距离的倍数),而不管八叉树节点范围如何。
[0379]
根据实施方式,当图24的(a)的示例应用于式5和式6时,最大邻近点距离变为并且当图24的(b)的示例应用于式5和式6时,最大邻近点距离变为
[0380]
根据实施方式,当图24的(a)的示例应用于式5和式7时,最大邻近点距离变为3(=3
×
1),并且当图24的(b)的示例应用于式5和式7时,最大邻近点距离变为9(=3
×
3)。
[0381]
接下来,将描述当生成基于距离的lod时获取基本邻近点距离和最大邻近点距离的实施方式。
[0382]
根据实施方式,当配置基于距离的lod时,基本邻近点距离可以被设置为用于在当前lod(即,lod
l
)处配置点的距离。即,每个lod的基本距离可以被设置为在lod的l级别处应用于lod生成的距离(dist2
l
)。
[0383]
图25例示了根据实施方式的属于每个lod的基本邻近点距离的示例。
[0384]
因此,当配置基于距离的lod时,可以通过将基于距离的基本邻近点距离dist2
l
乘以nn_range来获得最大邻近点距离。
[0385]
根据实施方式,nn_range可以由邻近点集合配置单元53008根据内容的特征来自动或手动地设置,或者可以通过作为用户参数的输入来设置。关于nn_range的信息可以在信令信息中发信号通知。包括关于nn_range的信息的信令信息可以是sps、aps、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的nn_range可以被设置为任意值(例如,基本距离的倍数)。根据实施方式,可以根据计算到邻近点的距离的方法来调整nn_range。
[0386]
接下来,将描述当生成基于采样的lod时获取基本邻近点距离和最大邻近点距离的实施方式。
[0387]
根据实施方式,当生成基于采样(即,基于抽选)的lod时,可以根据采样率来确定基本距离。根据实施方式,在基于采样的lod配置方法中,基于点的位置值来生成莫顿码,根据莫顿码来排列点,然后将与根据排列顺序的第k点不对应的点登记在当前lod中。因此,每个lod可以具有不同的k并可以被表示为k
l

[0388]
根据实施方式,当通过对基于莫顿码排列的点应用采样方法来生成lod时,每个lod处连续第k
l
点的平均距离可以被设置为每个lod处的基本邻近点距离。也就是说,基于莫顿码排列的当前lod处的连续第k
l
点的平均距离可以被设置为当前lod的基本邻近点距离。根据另一实施方式,当通过对基于莫顿码排列的点应用采样方法来生成lod时,可以从当前lod级别估计八叉树的深度级别,并且可以将所估计的八叉树深度级别的节点的对角线长度设置为基本邻近点距离。即,可以通过应用上述式6或式7来获得基本邻近点距离。
[0389]
因此,当配置基于采样的lod时,可以通过将基于采样的基本邻近点距离乘以nn_range来获得最大邻近点距离。
[0390]
根据实施方式,nn_range可以由邻近点集合配置单元53008根据内容的特征来自动或手动地设置,或者可以通过作为用户参数的输入来设置。关于nn_range的信息可以在信令信息中发信号通知。包括关于nn_range的信息的信令信息可以是sps、aps、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的nn_range可以被设置
为任意值(例如,基本距离的倍数)。根据实施方式,可以根据计算到邻近点的距离的方法来调整nn_range。
[0391]
在本公开中,可以使用除了上述获取基本邻近点距离的方法之外的方法来获得基本邻近点距离。
[0392]
例如,当配置lod时,可以通过计算采样点的莫顿码的平均差来配置基本邻近点距离。另外,可以通过将所配置的基本邻近点距离乘以nn_range来获得最大邻近点距离。
[0393]
作为另一示例,不管是使用基于距离的方法还是使用基于采样的方法,都可以通过计算当前配置的lod的平均距离差来配置基本邻近点距离。另外,可以通过将所配置的基本邻近点距离乘以nn_range来获得最大邻近点距离。
[0394]
作为另一示例,每个lod的基本邻近点距离可以作为用户参数接收,然后在获取最大邻近点距离时应用。此后,关于接收到的基本邻近点距离的信息可以在信令信息中发信号通知。
[0395]
如上所述,可以通过根据lod配置方法应用最佳基本邻近点距离计算方法来获得基本邻近点距离。在另一实施方式中,可以通过选择任意期望方法并将所选方法在信令信息中发信号通知来应用计算基本邻近点距离的方法,以便使用该方法在接收装置的解码器中恢复点。根据实施方式,可以使用适合于点云内容的属性并能够使压缩性能最大化的计算最大邻近点距离的方法。
[0396]
上述的lod配置方法、基本邻近点距离获取方法、nn_range获取方法和最大邻近点距离获取方法在配置用于预测变换或提升变换的lod或邻近点集合时可以以相同或类似的方式应用。
[0397]
根据实施方式,如果如上所述生成lod1集合并且确定最大邻近点距离,则邻近点集合配置单元53008在基于lod1集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索x(例如,3)个nn点。然后,邻近点集合配置单元53008可以仅将x(例如,3)个nn点当中的最大邻近点距离内的nn点登记为邻近点集合。因此,登记为邻近点集合的nn点的数目等于或小于x。换句话说,x个nn点当中的不在最大邻近点距离内的nn点不被登记为邻近点集合并被从邻近点集合中排除。例如,如果三个nn点中的两个不在最大邻近点距离内,则排除这两个nn点而仅另一个nn点(即,一个nn点)登记为邻近点集合。
[0398]
根据另一实施方式,如果如上所述生成lod1集合并且确定最大邻近点距离,则邻近点集合配置单元53008可以在基于lod1集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的x(例如,3)个nn点,并将这x个nn点登记为邻近点集合。
[0399]
即,可以登记为邻近点集合的nn点的数目可以根据应用最大邻近点距离的定时(或位置)而变化。换句话说,登记为邻近点集合的nn点的数目可以根据是在通过邻近点搜索来搜索x个nn点之后应用最大邻近点距离还是在计算点之间的距离时应用最大邻近点距离而不同。x是可以被设置为邻近点的最大数目,并可以作为用户参数输入或者通过信令处理器51005在信令信息中发信号通知(例如,在aps中发信号通知的lifting_num_pred_nearest_neighbours字段)。
[0400]
图26是例示了根据实施方式的通过应用搜索范围和最大邻近点距离来搜索邻近点的示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
[0401]
在图26中,在实施方式中,索引列表包括待编码点所属的lod集合(即,lod
l
)并且保留列表包括基于lod
l
集合的至少一个较低lod集合(例如,lod0至lod
l-1
)。
[0402]
根据实施方式,索引列表中的点和保留列表中的点基于莫顿码的大小按升序排列。因此,索引列表和保留列表中按莫顿顺序排列的点中的最前面的点具有最小的莫顿码大小。
[0403]
根据实施方式的邻近点集合配置单元53008可以在属于lod0至lod
l-1
集合的点和/或属于lod1集合的点当中,搜索按顺序位于点px之前的点(即,具有小于或等于点px的莫顿码的莫顿码的点)当中的具有与点px的莫顿码最接近的莫顿码的中心点pi,以便登记属于lod
l
集合的点px(即,待编码点或当前点)的邻近点集合。
[0404]
根据实施方式,当搜索中心点pi时,邻近点集合配置单元53008可以在位于点px之前的所有点当中搜索具有与点px的莫顿码最接近的莫顿码的点pi,或者在搜索范围内的点当中搜索具有与点px的莫顿码最接近的莫顿码的点pi。在本公开中,搜索范围可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入。另外,关于搜索范围的信息可以通过信令处理器51005在信令信息中发信号通知。本公开提供了当lod的数目为多个时在保留列表中搜索中心点pi以及当lod的数目为1时在索引列表中搜索中心点pi的实施方式。例如,当lod的数目为1时,可以基于当前点在按莫顿码排列的列表中的位置来确定搜索范围。
[0405]
根据实施方式的邻近点集合配置单元53008比较点px与位于被搜索的(或所选择的)中心点pi之前(即,在图26中的中心点左侧)和被搜索的(或所选择的)中心点pi之后(即,在图26中的中心点右侧)的属于邻近点搜索范围的点之间的距离值。邻近点集合配置单元53008可以选择x(例如,3)个nn点,并仅将所选择的x个点当中的点px所属的lod处的最大邻近点距离内的点登记为点px的邻近点集合。在实施方式中,邻近点搜索范围是点的数目。根据实施方式的邻近点搜索范围可以包括按莫顿顺序位于中心点pi之前(即,前面)和/或之后(即,后面)的一个或更多个点。x是可以被登记为邻近点的点的最大数目。
[0406]
根据实施方式,关于邻近点搜索范围的信息和关于可以被登记为邻近点的点的最大数目x的信息可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在aps中发信号通知的lifting_search_range字段和lifting_num_pred_nearest_neighbours字段)。根据实施方式,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将所得值与中心点相加而获得的值(即,(lifting_search_range字段的值
×
2) 中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值 中心点)或lifting_search_range字段的值。本公开提供了当lod的数目为多个时在保留列表中搜索点px的邻近点以及当lod的数目为1时在索引列表中搜索点px的邻近点的实施方式。
[0407]
例如,如果lod的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点pi、中心点pi之前的128个点以及中心点pi之后的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点pi以及中心点pi之前的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点px之前的128个点。
[0408]
根据实施方式,邻近点集合配置单元53008可以比较实际搜索范围中的点与点px
之间的距离值以搜索x个nn点,并仅将x个点当中的px所属的lod处的最大邻近点距离内的点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于x个点当中的点px所属的lod处的最大邻近点距离内的点。
[0409]
如上所述,本公开可以通过考虑到点云内容的点之间的属性特征(相关性)而限制可以被选择为邻近点集合的点来提供增强属性的压缩效率的效果。
[0410]
图27是例示了根据实施方式的通过应用搜索范围和最大邻近点距离来搜索邻近点的另一示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
[0411]
由于图27的示例除了应用最大邻近点距离的位置之外与图26的示例相似,因此这里将省略对其的重复描述。因此,对于图27中省略或未描述的部分,参考对图26的描述。
[0412]
根据实施方式,索引列表的点和保留列表的点基于莫顿码的大小按升序排列。
[0413]
根据实施方式的邻近点集合配置单元53008可以在属于lod0至lod
l-1
集合的点和/或属于lod1集合的点当中,搜索按顺序位于点px之前的点(即,具有小于或等于点px的莫顿码的莫顿码的点)当中的具有与点px的莫顿码最接近的莫顿码的中心点pi,以便登记属于lod
l
集合的点px(即,待编码点或当前点)的邻近点集合。
[0414]
根据实施方式的邻近点集合配置单元53008比较点px与位于被搜索的(或所选择的)中心点pi之前(即,在图27中的中心点左侧)和被搜索的(或所选择的)中心点pi之后(即,在图27中的中心点右侧)的属于邻近点搜索范围的点之间的距离值。邻近点集合配置单元53008可以选择点px所属lod处的最大邻近点距离内的x(例如,3)个nn点并将这x个点登记为点px的邻近点集合。
[0415]
本公开提供了当lod的数目为多个时在保留列表的实际搜索范围中搜索点px的邻近点以及当lod的数目为1时在索引列表的实际搜索范围中搜索点px的邻近点的实施方式。
[0416]
例如,如果lod的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点pi、中心点pi之前的128个点以及中心点pi之后的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点pi以及中心点pi之前的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点px之前的128个点。
[0417]
在比较实际搜索范围中的点与点px之间的距离值时,根据实施方式的邻近点集合配置单元53008从实际搜索范围中的点当中选择点px所属的lod处的最大邻近点距离内的x(例如,3)个nn点,并将这x个点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于x个点当中的点px所属的lod处的最大邻近点距离内的点。
[0418]
如上所述,本公开可以通过考虑到点云内容的点之间的属性特征(相关性)而选择邻近点集合来提供增强属性的压缩效率的效果。
[0419]
根据上述实施方式,当邻近点集合被登记在邻近点集合配置单元53008中待编码点的每个预测器中时,属性信息预测单元53009从登记在预测器中的一个或更多个邻近点预测对应点的属性值。如上所述,当配置邻近点集合时,通过应用最大邻近点距离,登记在每个预测器中的邻近点集合中所包括的邻近点的数目等于或小于x(例如,3)个。根据实施方式,点的预测器可以借助登记的邻近点集合基于到每个邻近点的距离值来登记1/2距离(=权重)。例如,以(p2 p4 p6)为邻近点集合,p3节点的预测器基于到每个邻近点的距离值
来计算权重。根据实施方式,邻近点的权重可以是(1/√(p2-p3)2,1/√(p4-p3)2,1/√(p6-p3)2)。
[0420]
根据实施方式,当邻近点集合被登记在预测器中时,邻近点集合配置单元53008或属性信息预测单元53009可以用邻近点集合中所包括的邻近点的总权重来归一化每个邻近点的权重。
[0421]
例如,节点p3的邻近集合中的所有邻近点的权重被求和(total_weight=1/√(p2-p3)2 1/√(p4-p3)2 1/√(p6-p3)2),并且每个邻近点的权重被除以权重之和(1/√(p2-p3)2/total_weight,1/√(p4-p3)2/total_weight,1/√(p6-p3)2/total_weight)。由此,每个邻近点的权重被归一化。
[0422]
然后,属性信息预测单元5301可以通过预测器来预测属性值。
[0423]
根据实施方式,通过将登记在预测器中的邻近点的属性(例如,颜色、反射率等)乘以权重(或归一化权重)而获得的值的平均可以被设置为预测结果(即,预测属性值)。另选地,特定点的属性可以被设置为预测结果(即,预测属性值)。根据实施方式,预测属性值可以被称为预测属性信息。另外,可以从点的属性值(即,原始属性值)中减去点的预测属性值(或预测属性信息)来获得残差属性值(或残差属性信息或残差)。
[0424]
根据实施方式,可以通过应用各种预测模式(或预测器索引)来预先计算压缩结果值,然后可以从预测模式当中选择生成最小比特流的预测模式(即,预测器索引)。
[0425]
接下来,将详细地描述选择预测模式的处理。
[0426]
在本说明书中,预测模式具有与预测器索引(preindex)相同的含义,并可以被广义地称为预测方法。
[0427]
在实施方式中,可以由属性信息预测单元53009执行为每个点寻找最合适的预测模式并将所找到的预测模式设置在对应点的预测器中的处理。
[0428]
根据实施方式,其中通过加权平均(即,通过将每个点的预测器中设置的邻近点的属性乘以基于到每个邻近点的距离计算出的权重而获得的平均)来计算预测属性值的预测模式将被称为预测模式0。另外,其中第一邻近点的属性被设置为预测属性值的预测模式将被称为预测模式1,其中第二邻近点的属性被设置为预测属性值的预测模式将被称为预测模式2,并且其中第三邻近点的属性被设置为预测属性值的预测模式将被称为预测模式3。换句话说,等于0的预测模式(或预测器索引)的值可以指示通过加权平均预测属性值,并且等于1的值可以指示通过第一邻近节点(即,邻近点)预测属性值。等于2的值可以指示通过第二邻近节点预测属性值,并且等于3的值可以指示通过第三邻近节点预测属性值。
[0429]
根据实施方式,可以计算预测模式0中的残差属性值、预测模式1中的残差属性值、预测模式2中的残差属性值和预测模式3中的残差属性值,并且可以基于每个残差属性值来计算得分或双得分。然后,计算出的得分最低的预测模式可以被选择和设置为相应点的预测模式。
[0430]
根据实施方式,当满足预设条件时,可以执行在多种预测模式当中查找最合适的预测模式并将其设置为相应点的预测模式的处理。因此,当不满足预设条件时,其中通过加权平均计算预测属性值的固定的(或预定义的)预测模式(例如,预测模式0)可以被设置为点的预测模式而不执行查找最合适预测模式的处理。在实施方式中,对每个点执行该处理。
[0431]
根据实施方式,当登记在点的预测器中的邻近点之间的属性元素(例如,r、g、b)的
差值大于或等于预设阈值(例如,lifting_adaptive_prediction_threshold)时,或者当计算出登记在点的预测器中的邻近点之间的属性元素(例如,r、g、b)的差值并且元素的最大差值之和大于或等于预设阈值时,可以针对特定点满足预设条件。例如,假设点p3是特定点,并且点p2、p4和p6被作为点p3的邻近点登记。另外,假设当计算出点p2和p4之间的r、g和b值的差值、点p2和p6之间的r、g和b值的差值以及点p4和p6之间的r、g和b值的差值时,在点p2和p4之间获得r值的最大差值,在点p4和p6之间获得g值的最大差值,并且在点p2和p6之间获得b值的最大差值。另外,假设在(p2和p4之间的)r值的最大差值、(p4和p6之间的)g值的最大差值以及(p2和p6之间的)b值的最大差值当中,点p2和p4之间的r值差值最大。
[0432]
在这些假设下,当点p2和p4之间的r值差值大于或等于预设阈值时,或者当点p2和p4之间的r值差值、点p4和p6之间的g值差值和点p2和p6之间的b值差值之和大于或等于预设阈值时,可以执行在多种候选预测模式当中查找最合适的预测模式的处理。另外,可以仅在点p2和p4之间的r值差值大于或等于预设阈值或者点p2和p4之间的r值差值、点p4和p6之间的g值差值和点p2和p6之间的b值差值之和大于或等于预设阈值时才发信号通知预测模式(例如,predindex)。
[0433]
根据另一实施方式,当登记在特定点的预测器中的邻近点的属性(例如,反射率)的值之间的最大差值大于或等于预设阈值(例如,lifting_adaptive_prediction_threshold)时,可以针对该点满足预设条件。另外,假定在点p2和p4之间的反射率差值、点p2和p6之间的反射率差值和点p4和p6之间的反射率差值当中,点p2和p4之间的反射率差值最大。
[0434]
在该假定下,当点p2和p4之间的反射率差值大于或等于预设阈值时,可以执行在多种候选预测模式当中寻找最合适的预测模式的处理。另外,可以仅在点p2和p4之间的反射率差值大于或等于预设阈值时才发信号通知预测模式(例如,predindex)。
[0435]
根据实施方式,可以在属性切片数据中发信号通知对应点的所选择的预测模式(例如,predindex)。在这种情况下,发送方发送基于所选的预测模式获取的残差属性值,并且接收方基于发信号通知的预测模式来获取对应点的预测属性值,并将预测属性值和接收到的残差属性值相加,以恢复对应点的属性值。
[0436]
在另一实施方式中,当未发信号通知预测模式时,发送方可以基于被设置为默认模式的预测模式(例如,预测模式0)来计算预测属性值,并基于原始属性值与预测属性值之间的差值来计算并发送残差属性值。接收方可以基于被设置为默认模式的预测模式(例如,预测模式0)来计算预测属性值,并通过将该值与接收到的残差属性值相加来恢复属性值。
[0437]
根据实施方式,可以通过信令处理器51005来在信令信息中发信号通知或直接输入阈值(例如,在aps中发信号通知的lifting_adaptive_prediction_threshold字段)。
[0438]
根据实施方式,当如上所述地针对特定点满足预设条件时,可以生成预测器候选。预测器候选被称为预测模式或预测器索引。
[0439]
根据实施方式,预测模式1至3可以被包括在预测器候选中。根据实施方式,预测模式0可以被包括或可以不被包括在预测器候选中。根据实施方式,以上未提到的至少一种预测模式也可以被包括在预测器候选中。
[0440]
通过上述处理针对每个点设置的预测模式和所设置的预测模式中的残差属性值被输出到残差属性信息量化处理器53010。
[0441]
根据实施方式,残差属性信息量化处理器53010可以对输入的残差属性值应用零游程长度编码。
[0442]
根据本公开的实施方式,可以对残差属性值执行量化和零游程长度编码。
[0443]
根据实施方式,算术编码器53011向从残差属性信息量化处理器53010输出的残差属性值和预测模式应用算术编码,并将结果作为属性比特流输出。
[0444]
由几何编码器51006压缩和输出的几何比特流以及由属性编码器51007压缩和输出的属性比特流被输出到发送处理器51008。
[0445]
根据实施方式的发送处理器51008可以执行与图12的发送处理器12012的操作和/或发送方法相同或类似的操作和/或发送方法,并执行与图1的发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。更详细地,将参考图1或图12的描述。
[0446]
根据实施方式的发送处理器51008可以分别发送从几何编码器51006输出的几何比特流、从属性编码器51007输出的属性比特流和从信令处理器51005输出的信令比特流,或者可以将比特流复用为一个比特流待来发送。
[0447]
根据实施方式的发送处理器51008可以将比特流封装在文件或段(例如,流传输段)中,然后通过诸如广播网络和/或宽带网络这样的各种网络发送封装的比特流。
[0448]
根据实施方式的信令处理器51005可以生成和/或处理信令信息,并将其按比特流的形式输出到发送处理器51008。由信令处理器51005生成和/或处理的信令信息将被提供到几何编码器51006、属性编码器51007和/或发送处理器51008,以用于几何编码、属性编码和发送处理。另选地,信令处理器51005可以接收由几何编码器51006、属性编码器51007和/或发送处理器51008生成的信令信息。
[0449]
在本公开中,信令信息可以以参数集(序列参数集(sps)、几何参数集(gps)、属性参数集(aps)、图块参数集(tps)等)为单位发信号通知和发送。另外,它可以基于诸如切片或图块这样的每个图像的编码单元来发信号通知和发送。在本公开中,信令信息可以包括与点云数据相关的元数据(例如,设定值),并且可以被提供到几何编码器51006、属性编码器51007和/或发送处理器51008,以用于几何编码、属性编码和发送处理。根据应用,还可以在诸如文件格式、通过http的动态自适应流传输(dash)或mpeg媒体传送(mmt)这样的系统侧或者在诸如高清晰度多媒体接口(hdmi)、显示端口、视频电子标准协会(vesa)或cta这样的有线接口侧定义信令信息。
[0450]
根据实施方式的方法/装置可以发信号通知相关信息,以添加/执行实施方式的操作。可以在发送装置和/或接收装置中使用根据实施方式的信令信息。
[0451]
根据本公开的实施方式,关于将用于属性预测的预测器的最大数目的信息(lifting_max_num_direct_predictors)、用于启用属性的自适应预测的阈值信息(lifting_adaptive_prediction_threshold)、基于邻近点选择的选项信息等可以在序列参数集、属性参数集、图块参数集或属性切片头中的至少一者中发信号通知。另外,根据实施方式,可以在属性切片数据中发信号通知指示与从多个预测器候选当中选择的预测器候选相对应的预测模式的预测器索引信息(predindex)。
[0452]
根据实施方式,邻近点选择相关选项信息可以包括与nn_range相关的信息(例如,nearest_neighbor_max_range)。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours)、
与搜索范围相关的信息(例如,lifting_search_range)、关于lod配置方法的信息和/或与基本邻近点距离相关的信息中的至少一个。
[0453]
与上述发送装置的点云视频编码器类似,接收装置的点云视频解码器执行相同或类似的生成lod
l
集合、基于lod
l
集合来寻找最近的邻近点并将其登记在预测器中作为邻近点集合、基于离每个邻近点的距离来计算权重并对权重执行归一化的处理。然后,解码器对接收到的预测模式进行解码,并根据解码后的预测模式预测点的属性值。另外,在接收到的残差属性值被解码之后,解码后的残差属性值可以与预测属性值相加,以恢复点的属性值。
[0454]
图28是示出了根据实施方式的另一示例性点云接收装置的示图。
[0455]
根据实施方式的点云接收装置可以包括接收处理器61001、信令处理器61002、几何解码器61003、属性解码器61004和后处理器61005。根据实施方式,几何解码器61003和属性解码器61004可以被称为点云视频解码器。根据实施方式,点云视频解码器可以被称为pcc解码器、pcc解码单元、点云解码器、点云解码单元等。
[0456]
根据实施方式的接收处理器61001可以接收单个比特流,或者可以分别接收几何比特流、属性比特流和信令比特流。当接收到文件和/或段时,根据实施方式的接收处理器61001可以对接收到的文件和/或段进行解封装,并将解封装的文件和/或段作为比特流输出。
[0457]
当单个比特流被接收(或解封装)时,根据实施方式的接收处理器61001可以从单个比特流解复用几何比特流、属性比特流和/或信令比特流。接收处理器61001可以将解复用的信令比特流输出到信令处理器61002,将几何比特流输出到几何解码器61003,并将属性比特流输出到属性解码器61004。
[0458]
当几何比特流、属性比特流和/或信令比特流被分别接收(或解封装)时,根据实施方式的接收处理器61001可以将信令比特流传送到信令处理器61002,将几何比特流传送到几何解码器61003,并将属性比特流传送到属性解码器61004。
[0459]
信令处理器61002可以从输入的信令比特流解析信令信息(例如,包含在sps、gps、aps、tps、元数据等中的信息),处理解析后的信息,并将处理后的信息提供到几何解码器61003、属性解码器61004和后处理器61005。在另一实施方式中,包含在几何切片头和/或属性切片头中的信令信息也可以在对应的切片数据解码之前由信令处理器61002解析。即,当点云数据如图16所示在发送方被分割为图块和/或切片时,tps包括每个图块中所包括的切片的数目,因此根据实施方式的点云视频解码器可以检查切片的数目并快速解析该信息以用于并行解码。
[0460]
因此,根据本公开的点云视频解码器可以在其接收到具有减少数据量的sps时快速解析包含点云数据的比特流。接收装置可以在接收到图块后对图块进行解码,并可以基于每个图块中所包括的gps和aps对每个切片进行解码。由此,解码效率可以被最大化。
[0461]
即,几何解码器61003可以通过基于信令信息(例如,几何相关参数)对压缩后的几何比特流执行图15的几何编码器51006的操作的逆处理来重构几何。由几何解码器61003恢复(或重构)的几何被提供到属性解码器61004。属性解码器61004可以通过基于信令信息(例如,属性相关参数)和重构的几何对压缩后的属性比特流执行图15的属性编码器51007的操作的逆处理来恢复属性。根据实施方式,当点云数据如图16中所示在发送方被分割为图块和/或切片时,几何解码器61003和属性解码器61004逐图块地和/或逐切片地执行几何
解码和属性解码。
[0462]
图29是例示了根据实施方式的几何解码器61003和属性解码器61004的另一示例的详细框图。
[0463]
图29的几何解码器61003中所包括的算术解码器63001、八叉树重构单元63002、几何信息预测单元63003、反量化处理器63004和坐标逆变换单元63005可以执行图11的算术解码器11000、八叉树合成单元11001、表面近似合成单元11002、几何重构单元11003和坐标逆变换单元11004的一些或全部操作,或者可以执行图13的算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和反量化处理器13005的一些或全部操作。由几何解码器61003恢复的位置被输出到后处理器61005。
[0464]
根据实施方式,当在序列参数集(sps)、属性参数集(aps)、图块参数集(tps)或属性切片头中的至少一者中发信号通知关于将用于属性预测的预测器的最大数目的信息(lifting_max_num_direct_predictors)、用于启用属性的自适应预测的阈值信息(lifting_adaptive_prediction_threshold)、邻近点选择相关信息等时,它们可以由信令处理器61002获取并提供到属性解码器61004,或者可以由属性解码器61004直接获取。
[0465]
根据实施方式的属性解码器61004可以包括算术解码器63006、lod配置单元63007、邻近点配置单元63008、属性信息预测单元63009、残差属性信息反量化处理器63010和逆颜色变换处理器63011。
[0466]
根据实施方式的算术解码器63006可以对输入属性比特流进行算术解码。算术解码器63006可以基于重构的几何对属性比特流进行解码。算术解码器63006执行与图11的算术解码器11005或图13的算术解码器13007的操作和/或解码相同或类似的操作和/或解码。
[0467]
根据实施方式,可以基于重构的几何信息通过raht解码、基于lod的预测变换解码和提升变换解码中的一种或两种或更多种的组合来对从算术解码器63006输出的属性比特流进行解码。
[0468]
这已被描述为发送装置通过基于lod的预测变换编码和提升变换编码中的一种或其组合来执行属性压缩的实施方式。因此,将描述接收装置通过基于lod的预测变换解码和提升变换解码中的一种或其组合来执行属性解码的实施方式。将省略对接收装置的raht解码的描述。
[0469]
根据实施方式,由算术解码器63006算术解码的属性比特流被提供到lod配置单元63007。根据实施方式,从算术解码器63006提供到lod配置单元63007的属性比特流可以包含预测模式和残差属性值。
[0470]
根据实施方式的lod配置单元63007以与发送装置的lod配置单元53007相同或类似的方式生成一个或更多个lod,并将所生成的一个或更多个lod输出到邻近点配置单元63008。
[0471]
根据实施方式,lod配置单元63007可以使用一个或更多个lod生成方法(或lod配置方法)配置一个或更多个lod。根据实施方式,在lod配置单元63007中使用的lod生成方法可以通过信令处理器61002提供。例如,lod生成方法可以在信令信息的aps中发信号通知。根据实施方式,lod生成方法可以归类为基于八叉树的lod生成方法、基于距离的lod生成方法和基于采样的lod生成方法。
[0472]
根据实施方式,具有不同lod的组被称为lod
l
集合。这里,l表示lod,是从0开始的
整数。lod0是由其间距离最大的点组成的集合。随着l增大,属于lod
l
的点之间的距离减小。
[0473]
根据实施方式,可以针对每个lod或仅针对叶节点提供由发送装置编码的预测模式和残差属性值。
[0474]
在一个实施方式中,当lod配置单元63007生成lod
l
集合时,邻近点集合配置单元63008可以在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中搜索作为等于或少于x(例如,3)个点的邻近点,并将搜索到的邻近点在预测器中登记为邻近点集合。
[0475]
根据实施方式,邻近点集合配置单元63008通过基于信令信息应用搜索范围和/或最大邻近点距离来配置邻近点集合。
[0476]
根据实施方式的邻近点集合配置单元63008可以通过将基本邻近点距离乘以nn_range来获得最大邻近点距离。nn_range是可以在其内选择邻近点的范围,并将被称为最大邻近点范围、邻近点范围或nn范围。
[0477]
根据实施方式的邻近点集合配置单元63008可以根据内容的特征来自动或手动地设置nn_range,或者可以通过信令处理器61002来接收。例如,关于nn_range的信息可以在信令信息的sps、aps、图块参数集或属性切片头中的至少一者中发信号通知。
[0478]
根据实施方式的邻近点集合配置单元63008可以通过组合针对每个lod的基于八叉树的方法、基于距离的方法、基于采样的方法、基于莫顿码平均差方法以及针对每个lod的基于平均距离差的方法中的一个或更多个来计算/配置基本邻近点距离。根据实施方式,邻近点集合配置单元63008可以通过信令处理器61002接收关于基本邻近点距离的信息,并且关于基本邻近点距离的信息可以在信令信息的aps中发信号通知。
[0479]
由于在上述对发送装置的属性进行编码的处理中已经详细给出了对根据实施方式的通过组合针对每个lod的基于八叉树的方法、基于距离的方法、基于采样的方法、基于莫顿码平均差方法以及针对每个lod的基于平均距离差的方法中的一个或更多个来计算/配置基本邻近点距离的详细描述,因此这里将省略其细节。
[0480]
根据实施方式,如果如上所述确定最大邻近点距离,则邻近点集合配置单元63008在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索x(例如,3)个nn点,如图26中一样。然后,邻近点集合配置单元63008可以仅将x(例如,3)个nn点当中的最大邻近点距离内的nn点登记为邻近点集合。因此,登记为邻近点集合的nn点的数目等于或小于x。换句话说,x个nn点当中的不在最大邻近点距离内的nn点不被登记为邻近点集合并被从邻近点集合中排除。例如,如果三个nn点中的两个不在最大邻近点距离内,则排除这两个nn点而仅另一个nn点(即,一个nn点)被登记为邻近点集合。
[0481]
根据另一实施方式,如果如上所述确定最大邻近点距离,则如图27中,邻近点集合配置单元53008可以在基于lod1集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的x(例如,3)个nn点,并将这x个nn点登记为邻近点集合。
[0482]
即,可以登记为邻近点集合的nn点的数目可以根据应用最大邻近点距离的定时(或位置)而变化。换句话说,如图27中,登记为邻近点集合的nn点的数目可以根据是在通过邻近点搜索来搜索x个nn点之后应用最大邻近点距离还是在计算点之间的距离时应用最大邻近点距离而不同。
[0483]
参考图26作为示例,邻近点集合配置单元63008可以比较实际搜索范围内的点与
点px之间的距离值以搜索x个nn点,并仅将x个点当中的点px所属的lod处的最大邻近点距离内的点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于x个点当中的点px所属的lod处的最大邻近点距离内的点。
[0484]
参考图27作为示例,当比较实际搜索范围内的点与点px之间的距离值时,邻近点集合配置单元63008从实际搜索范围中的点当中选择点px所属的lod处的最大邻近点距离内的x(例如,3)个nn点,并将所选择的点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于点px所属的lod处的最大邻近点距离内的点。
[0485]
在图26和图27中,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将所得值与中心点相加而获得的值(即,(lifting_search_range字段的值
×
2) 中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值 中心点)或lifting_search_range字段的值。在实施方式中,邻近点集合配置单元63008在lod的数目为多个时在保留列表中搜索点px的邻近点,并在lod的数目为1时在索引列表中搜索点px的邻近点。
[0486]
例如,如果lod的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点pi、中心点pi之前的128个点以及中心点pi之后的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点pi以及中心点pi之前的128个点。作为另一示例,如果lod的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点px之前的128个点。
[0487]
例如,假定邻近点集合配置单元63008选择p2 p4 p6点作为属于lod1的p3点(即,节点)的邻近点,并将所选择的点在p3的预测器中登记为邻近点集合(参见图9)。
[0488]
根据实施方式,当邻近点集合被登记在邻近点集合配置单元63008中待解码点的每个预测器中时,属性信息预测单元63009从登记在每个预测器中的一个或更多个邻近点预测对应点的属性值。根据实施方式,属性信息预测器63009执行基于点的预测模式来预测点的属性值的处理。对重构几何的所有点或至少一些点执行该属性预测处理。
[0489]
根据实施方式的特定点的预测模式可以是预测模式0至预测模式3之一。
[0490]
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
[0491]
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值小于预设阈值时,发送方的属性编码器将预测模式0设置为点的预测模式。当最大差值大于或等于预设阈值时,属性编码器向多种候选预测模式应用rdo方法,并将候选预测模式之一设置为点的预测模式。在实施方式中,对每个点执行该处理。
[0492]
根据实施方式,可以在属性切片数据中发信号通知通过应用rdo方法选择的点的预测模式(predindex)。相应地,可以从属性切片数据获得点的预测模式。
[0493]
根据实施方式,属性信息预测单元63009可以基于如上所述设置的每个点的预测模式来预测每个点的属性值。
[0494]
例如,当假定点p3的预测模式是预测模式0时,可以计算通过将作为登记在点p3的预测器中的邻近点的点p2、p4和p6的属性乘以权重(或归一化权重)而获得的值的平均值。
计算出的平均值可以被确定为点的预测属性值。
[0495]
作为另一示例,当假定点p3的预测模式是预测模式1时,作为登记在点p3的预测器中的邻近点的点p4的属性值可以被确定为点p3的预测属性值。
[0496]
作为另一示例,当假定点p3的预测模式是预测模式2时,作为登记在点p3的预测器中的邻近点的点p6的属性值可以被确定为点p3的预测属性值。
[0497]
作为另一示例,当假定点p3的预测模式是预测模式3时,作为登记在点p3的预测器中的邻近点的点p2的属性值可以被确定为点p3的预测属性值。
[0498]
一旦属性信息预测单元63009基于点的预测模式获得点的预测属性值,残差属性信息反量化处理器63010就通过将由预测器63009预测的点的预测属性值与接收到的点的残差属性值相加来恢复点的属性值,然后执行反量化作为发送装置的量化处理的逆处理。
[0499]
在实施方式中,在发送方对点的残差属性值应用零游程长度编码的情况下,残差属性信息反量化处理器63010对点的残差属性值执行零游程长度解码,然后执行反量化。
[0500]
由残差属性信息反量化处理器63010恢复的属性值被输出到逆颜色变换处理器63011。
[0501]
逆颜色变换处理器63011对恢复的属性值中所包括的颜色值(或纹理)的逆变换执行逆变换编码,然后将属性输出到后处理器61005。逆颜色变换处理器63011执行与图11的逆颜色变换单元11010或图13的逆颜色变换处理器13010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。
[0502]
后处理器61005可以通过将由几何解码器61003恢复并输出的位置与由属性解码器61004恢复并输出的属性进行匹配来重构点云数据。另外,当重构的点云数据以图块和/或切片为单位时,后处理器61005可以基于信令信息来执行发送方的空间分割的逆处理。例如,当如图16的(b)和图16的(c)中所示地将图16的(a)中示出的边界框分割为图块和切片时,图块和/或切片可以基于信令信息来组合,以恢复如图16的(a)中所示的边界框。
[0503]
图30例示了根据实施方式的用于发送/接收的点云数据的比特流结构的示例。
[0504]
可以发信号通知相关信息,以添加/执行上述实施方式。根据实施方式的信令信息可以在发送端的点云视频编码器或接收端的点云视频解码器中使用。
[0505]
根据实施方式的点云视频编码器可以通过如上所述对几何信息和属性信息进行编码来生成如图32中例示的比特流。另外,关于点云数据的信令信息可以由点云视频编码器的几何编码器、属性编码器或信令处理器中的至少一者生成和处理,并可以被包括在比特流中。
[0506]
根据实施方式的信令信息可以由点云视频解码器的几何解码器、属性解码器和信令处理器中的至少一者接收/获得。
[0507]
根据实施方式的比特流可以被划分为几何比特流、属性比特流和信令比特流来发送/接收,或者可以被组合成一个比特流并发送/接收。
[0508]
当根据实施方式的几何比特流、属性比特流和信令比特流被配置为一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包括用于序列级信令的序列参数集(sps)、用于几何信息编码的信令的几何参数集(gps)、用于属性信息编码的信令的一个或更多个属性参数集(aps)(aps0、aps1)、用于图块级信令的图块参数集(tps)以及一个或更多个切片(切片0至切片n)。即,根据实施方式的点云数据的比特流可以
包括一个或更多个图块,并且每个图块可以是包括一个或更多个切片(切片0至切片n)的一组切片。根据实施方式的tps可以包含关于一个或更多个图块中的每一个的信息(例如,关于边界框的坐标值信息和高度/大小信息)。每个切片可以包括一个几何比特流(geom0)以及一个或更多个属性比特流(attr0和attr1)。例如,第一切片(切片0)可以包括一个几何比特流(geom00)以及一个或更多个属性比特流(attr0、attr10)。
[0509]
每个切片中的几何比特流(或几何切片)可以由几何切片头(geom_slice_header)和几何切片数据(geom_slice_data)构成。根据实施方式,geom_slice_header可以包括gps中所包括的参数集的标识信息(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于几何切片数据(geom_slice_data)中所包含的数据的信息(geomboxorigin、geom_box_log2_scale、geom_max_node_size_log2、geom_num_points)。geomboxorigin是指示几何切片数据的框的原点的几何框原点信息,geom_box_log2_scale是指示几何切片数据的对数标尺的信息,geom_max_node_size_log2是指示根几何八叉树节点的大小的信息,并且geom_num_points是与几何切片数据的点数相关的信息。根据实施方式,geom_slice_data可以包括关于相应切片中的点云数据的几何信息(或几何数据)。
[0510]
每个切片中的每个属性比特流(或属性切片)可以由属性切片头(attr_slice_header)和属性切片数据(attr_slice_data)构成。根据实施方式,attr_slice_header可以包括关于相应属性切片数据的信息。属性切片数据可以包含关于相应切片中的点云数据的属性信息(或属性数据或属性值)。当在一个切片中存在多个属性比特流时,每个比特流可以包含不同的属性信息。例如,一个属性比特流可以包含对应于颜色的属性信息,而另一个属性流可以包含对应于反射率的属性信息。
[0511]
图31示出了根据实施方式的点云数据的示例性比特流结构。
[0512]
图32例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
[0513]
图31和图32中例示的点云数据的比特流结构可以表示图30中示出的点云数据的比特流结构。
[0514]
根据实施方式,sps可以包括用于标识sps的标识符(seq_parameter_set_id),并且gps可以包括用于标识gps的标识符(geom_parameter_set_id)和指示gps所属的活动sps的标识符(seq_parameter_set_id)。aps可以包括用于标识aps的标识符(attr_parameter_set_id)和指示aps所属的活动sps的标识符(seq_parameter_set_id)。
[0515]
根据实施方式,几何比特流(或几何切片)可以包括几何切片头和几何切片数据。几何切片头可以包括将由相应几何切片参考的活动gps的标识符(geom_parameter_set_id)。此外,几何切片头还可以包括用于标识相应几何切片的标识符(geom_slice_id)和/或用于标识相应图块的标识符(geom_tile_id)。几何切片数据可以包括属于相应切片的几何信息。
[0516]
根据实施方式,属性比特流(或属性切片)可以包括属性切片头和属性切片数据。属性切片头可以包括将由相应属性切片参考的活动aps的标识符(attr_parameter_set_id)和用于标识与属性切片相关的几何切片的标识符(geom_slice_id)。属性切片数据可以包括属于相应切片的属性信息。
[0517]
即,几何切片参考gps,gps参考sps。另外,sps列出可用的属性,为每个属性指派标
识符,并标识解码方法。根据标识符,将属性切片映射到输出属性。属性切片取决于先前(解码的)几何切片和aps。aps参考sps。
[0518]
根据实施方式,可以在点云数据的参数集和/或相应切片头中新定义点云数据的编码所必需的参数。例如,当执行属性信息的编码时,可以向aps添加参数。当执行基于图块的编码时,可以向图块和/或切片头添加参数。
[0519]
如图30、图31和图32中所示,点云数据的比特流提供图块或切片,使得点云数据可以按区域分割和处理。根据实施方式,比特流的相应区域可以具有不同的重要性。因此,当点云数据被分割为图块时,可以向每个图块应用不同的滤波器(编码方法)和不同的滤波器单元。当点云数据被分割为切片时,可以向每个切片应用不同的滤波器和不同的滤波器单元。
[0520]
当点云数据被分割和压缩时,根据实施方式的发送装置和接收装置可以以高级语法结构发送和接收比特流,以用于在分割区域中选择性发送属性信息。
[0521]
根据实施方式的发送装置可以根据如图30、图31和图32中所示的比特流结构发送点云数据。因此,可以提供应用不同的编码操作并对重要区域使用良好质量的编码方法的方法。另外,可以根据点云数据的特征支持高效的编码和发送,并且可以根据用户要求提供属性值。
[0522]
根据实施方式的接收装置可以根据如图30、图31和图32中所示的比特流结构接收点云数据。因此,可以向各个区域(分割为图块或切片的区域)应用不同的滤波(解码)方法,而非向整个点云数据应用复杂的解码(滤波)方法。因此,向用户提供了重要区域中更好的图像质量,并且可以确保系统的适当等待时间。
[0523]
如上所述,提供图块或切片以通过按区域分割点云数据来处理点云数据。在按区域分割点云数据时,可以设置针对每个区域生成不同的邻近点集合的选项。由此,可以提供具有低复杂度和稍低可靠性的选择方法或具有高复杂度和高可靠性的选择方法。
[0524]
根据实施方式对属性信息进行编码/解码的处理中所需的序列的邻近点选择相关选项信息可以在sps和/或aps中发信号通知。
[0525]
根据实施方式,如果在同一序列中存在具有不同属性特征的图块或切片,则可以在每个切片的tps和/或属性切片头中发信号通知该序列的邻近点选择相关选项信息。
[0526]
根据实施方式,当点云数据按区域划分时,特定区域的属性特征可以不同于序列的属性特征,因此可以通过不同的最大邻近点范围配置功能进行不同配置。
[0527]
因此,当点云数据按图块划分时,可以对每个图块应用不同的最大邻近点范围。另外,当点云数据按切片划分时,可以对每个切片应用不同的最大邻近点范围。
[0528]
根据实施方式,每个切片的sps、aps、tps或属性切片头中的至少一者可以包括邻近点选择相关选项信息。根据实施方式,邻近点选择相关选项信息可以包括关于最大邻近点范围的信息(例如,nearest_neighbor_max_range字段)。
[0529]
根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours字段)、关于搜索范围的信息(例如,lifting_search_range字段)和关于lod配置方法的信息或关于基本邻近点距离的信息中的至少一者。
[0530]
作为在随后描述的本公开的语法中使用的术语的字段可以具有与参数或元素相
同的含义。
[0531]
图33示出了根据本公开的序列参数集(sps)(seq_parameter_set_rbsp())的语法结构的实施方式。sps可以包括关于点云数据比特流的序列信息。特别地,在该示例中,sps包括邻近点选择相关选项信息。
[0532]
根据实施方式的sps可以包括profile_idc字段、profile_compatibility_flags字段、level_idc字段、sps_bound_box_present_flag字段、sps_source_scale_factor字段、sps_seq_parameter_set_id字段、sps_num_attribute_sets字段和sps_extension_present_flag字段。
[0533]
profile_idc字段指示比特流符合的配置文件。
[0534]
等于1的profile_compatibility_flags字段可以指示比特流符合profile_idc所指示的配置文件。
[0535]
level_idc字段指示比特流符合的级别。
[0536]
sps_bounding_box_present_flag字段指示是否在sps中发信号通知源边界框信息。源边界框信息可以包括关于源边界框的偏移和大小信息。例如,等于1的sps_bounding_box_present_flag字段指示在sps中发信号通知源边界框信息。等于0的sps_bounding_box_present_flag字段指示不发信号通知源边界框信息。sps_source_scale_factor字段指示源点云的缩放因子。
[0537]
sps_seq_parameter_set_id字段提供sps的标识符,以供其它语法元素参考。
[0538]
sps_num_attribute_sets字段指示比特流中编码属性的数目。
[0539]
sps_extension_present_flag字段指定在sps语法结构中是否存在sps_extension_data语法结构。例如,等于1的sps_extension_present_flag字段指定在sps语法结构中存在sps_extension_data语法结构。等于0的sps_extension_present_flag字段指定不存在该语法结构。当不存在时,推断sps_extension_present_flag字段的值等于0。
[0540]
当sps_bounding_box_present_flag字段等于1时,根据实施方式的sps还可以包括sps_bounding_box_offset_x字段、sps_bounding_box_offset_y字段、sps_bounding_box_offset_z字段、sps_bounding_box_scale_factor字段、sps_bounding_box_size_width字段、sps_bounding_box_size_height字段和sps_bounding_box_size_depth字段。
[0541]
sps_bounding_box_offset_x字段指示笛卡尔坐标中源边界框的x偏移。当源边界框的x偏移不存在时,sps_bounding_box_offset_x的值为0。
[0542]
sps_bounding_box_offset_y字段指示笛卡尔坐标中源边界框的y偏移。当源边界框的y偏移不存在时,sps_bounding_box_offset_y的值为0。
[0543]
sps_bounding_box_offset_z字段指示笛卡尔坐标中源边界框的z偏移。当源边界框的z偏移不存在时,sps_bounding_box_offset_z的值为0。
[0544]
sps_bounding_box_scale_factor字段指示笛卡尔坐标中源边界框的缩放因子。当源边界的缩放因子不存在时,sps_bounding_box_scale_factor的值可以为1。
[0545]
sps_bounding_box_size_width字段指示笛卡尔坐标中源边界框的宽度。当源边界框的宽度不存在时,sps_bounding_box_size_width字段的值可以为1。
[0546]
sps_bounding_box_size_height字段指示笛卡尔坐标中源边界框的高度。当源边界框的高度不存在时,sps_bounding_box_size_height字段的值可以为1。
[0547]
sps_bounding_box_size_depth字段指示笛卡尔坐标中源边界框的深度。当源边界框的深度不存在时,sps_bounding_box_size_depth字段的值可以为1。
[0548]
根据实施方式的sps包括重复与sps_num_attribute_sets字段的值一样多次的迭代语句。在实施方式中,i被初始化为0,并且每次执行迭代语句时递增1。重复迭代语句,直到i的值变得等于sps_num_attribute_sets字段的值。迭代语句可以包括attribute_dimension[i]字段、attribute_instance_id[i]字段、attribute_bitdepth[i]字段、attribute_cicp_colour_primaries[i]字段、attribute_cicp_transfer_characteristics[i]字段、attribute_cicp_matrix_coeffs[i]字段、attribute_cicp_video_full_range_flag[i]字段和known_attribute_label_flag[i]字段。
[0549]
attribute_dimension[i]字段指定第i属性的分量的数目。
[0550]
attribute_instance_id[i]字段指定第i属性的实例id。
[0551]
attribute_bitdepth[i]字段指定第i属性信号的位深度。
[0552]
attribute_cicp_colour_primaries[i]字段指示第i属性的颜色属性源原色的色度坐标。
[0553]
attribute_cicp_transfer_characteristics[i]字段要么指示颜色属性的参考光电传递特性函数作为标称真实值范围为0至1的源输入线性光学强度的函数,要么指示参考电光传递特性函数的逆作为输出线性光强度的函数。
[0554]
attribute_cicp_matrix_coeffs[i]字段描述了在从绿色、蓝色和红色或y、z和x原色推导亮度和色度信号时使用的矩阵系数。
[0555]
attribute_cicp_video_full_range_flag[i]字段指示从e

y、e

pb和e

pr或e

r、e

g和e

b真实值分量信号推导出的亮度和色度信号的黑色水平和范围。
[0556]
known_attribute_label_flag[i]字段指定是否针对第i属性发信号通知known_attribute_label字段或attribute_label_four_bytes字段。例如,等于0的known_attribute_label_flag[i]字段的值指定针对第i属性发信号通知known_attribute_label字段。等于1的known_attribute_label_flag[i]字段指定针对第i属性发信号通知attribute_label_four_bytes字段。
[0557]
known_attribute_label[i]字段可以指定属性类型。例如,等于0的known_attribute_label[i]字段可以指定第i属性是颜色。等于1的known_attribute_label[i]字段指定第i属性是反射率。等于2的known_attribute_label[i]字段可以指定第i属性是帧索引。
[0558]
attribute_label_four_bytes字段指示具有4字节代码的已知属性类型。
[0559]
在该示例中,attribute_label_four_bytes字段在等于0时指示颜色并在等于1时指示反射率。
[0560]
根据实施方式,当sps_extension_present_flag字段等于1时,sps还可以包括sps_extension_data_flag字段。
[0561]
sps_extension_data_flag字段可以具有任何值。
[0562]
根据实施方式的sps还可以包括邻近点选择相关选项信息。根据实施方式,邻近点选择相关选项信息可以包括与nn_range相关的信息。
[0563]
根据实施方式,邻近点选择相关选项信息可以被包括在重复与上述sps_num_
attribute_sets字段的值一样多的次数的迭代语句中。
[0564]
也就是说,迭代语句还可以包括nearest_neighbour_max_range[i]字段和nearest_neighbour_min_range[i]字段。
[0565]
nearest_neighbour_max_range[i]字段可以指明当相应序列的第i属性被压缩时应用的最大邻近点范围。根据实施方式,nearest_neighbour_max_range[i]字段的值可以用作等式5的nn_range的值。根据实施方式,nearest_neighbour_max_range[i]字段可以用于限制登记为邻近点的点的距离。例如,如果lod是基于八叉树生成的,则nearest_neighbour_max_range[i]字段的值可以是该点周围的八叉树节点的数量。
[0566]
nearest_neighbour_min_range[i]字段可以指明当序列的第i属性被压缩时的最小邻近点范围。
[0567]
图34示出了根据本公开的几何参数集(gps)(geometry_parameter_set())的语法结构的实施方式。根据实施方式的gps可以包含关于对关于包含在一个或多个切片中的点云数据的几何信息进行编码的方法的信息。
[0568]
根据实施方式,gps可以包括gps_geom_parameter_set_id字段、gps_seq_parameter_set_id字段、gps_box_present_flag字段、unique_geometry_points_flag字段、neighbour_context_restriction_flag字段、inferred_direct_coding_mode_enabled_flag字段、bitwise_occupancy_coding_flag字段、adjacent_child_contextualization_enabled_flag字段、log2_neighbour_avail_boundary字段、log2_intra_pred_max_node_size字段、log2_trisoup_node_size字段和gps_extension_present_flag字段。
[0569]
gps_geom_parameter_set_id字段提供gps的标识符,以供其它语法元素参考。
[0570]
gps_seq_parameter_set_id字段指定用于活动sps的sps_seq_parameter_set_id的值。
[0571]
gps_box_present_flag字段指定是否在参考当前gps的几何切片头中提供了附加边界框信息。例如,等于1的gps_box_present_flag字段可以指定在参考当前gps的几何头中提供了附加边界框信息。因此,当gps_box_present_flag字段等于1时,gps还可以包括gps_gsh_box_log2_scale_present_flag字段。
[0572]
gps_gsh_box_log2_scale_present_flag字段指定是否在参考当前gps的每个几何切片头中发信号通知gps_gsh_box_log2_scale字段。例如,等于1的gps_gsh_box_log2_scale_present_flag字段可以指定在参考当前gps的每个几何切片头中发信号通知gps_gsh_box_log2_scale字段。作为另一示例,等于0的gps_gsh_box_log2_scale_present_flag字段可以指定在每个几何切片头中不发信号通知gps_gsh_box_log2_scale字段并且在当前gps的gps_gsh_box_log2_scale字段中发信号通知所有切片的公共缩放。
[0573]
当gps_gsh_box_log2_scale_present_flag字段等于0时,gps还可以包括gps_gsh_box_log2_scale字段。
[0574]
gps_gsh_box_log2_scale字段指示参考当前gps的所有切片的边界框原点的公共缩放因子。
[0575]
unique_geometry_points_flag字段指示所有输出点是否都具有特有位置。例如,等于1的unique_geometry_points_flag字段指示所有输出点都具有特有位置。等于0的
unique_geometry_points_flag字段指示在参考当前gps的所有切片中,输出点中的两个或更多个可以具有相同的位置。
[0576]
neighbor_context_restriction_flag字段指示用于八叉树占用编码的上下文。例如,等于0的neighbour_context_restriction_flag字段指示八叉树占用编码使用从六个邻近父节点确定的上下文。等于1的neighbour_context_restriction_flag字段指示八叉树占用编码仅使用从兄弟节点确定的上下文。
[0577]
inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中是否存在direct_mode_flag字段。例如,等于1的inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中可以存在direct_mode_flag字段。例如,等于0的inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中不存在direct_mode_flag字段。
[0578]
bitwise_occupancy_coding_flag字段指示是否使用语法元素占用图的按位上下文化来对几何节点占用进行编码。例如,等于1的bitwise_occupancy_coding_flag字段指示使用语法元素ocupancy_map的按位上下文化来对几何节点占用进行编码。例如,等于0的bitwise_occupancy_coding_flag字段指示使用字典编码的语法元素occupancy_byte来对几何节点占用进行编码。
[0579]
adjacent_child_contextualization_enabled_flag字段指示邻近八叉树节点的相邻孩子是否用于按位占用上下文化。例如,等于1的adjacent_child_contextualization_enabled_flag字段指示邻近八叉树节点的相邻孩子用于按位占用上下文化。例如,等于0的adjacent_child_contextualization_enabled_flag指示邻近八叉树节点的孩子不用于占用上下文化。
[0580]
log2_neighbour_avail_boundary字段指定解码处理中使用的变量neighbavailboundary的值如下:
[0581]
neighbavailboundary=2
log2_neighbour_avail_boundary

[0582]
例如,当neighbour_context_restriction_flag字段等于1时,neighbavailabilitymask可以被设置为等于1。例如,当neighbour_context_restriction_flag字段等于0时,neighbavailabilitymask可以被设置为等于1《《log2_neighbour_avail_boundary。
[0583]
log2_intra_pred_max_node_size字段指定有资格占用帧内预测的八叉树节点大小。
[0584]
log2_trisoup_node_size字段将变量trisoupnodesize指定为三角形节点的大小如下:
[0585]
trisoupnodesize=1《《log2_trisoup_node_size。
[0586]
gps_extension_present_flag字段指定在gps语法结构中是否存在gps_extension_data语法结构。例如,等于1的gps_extension_present_flag指定在gps语法中存在gps_extension_data语法结构。例如,等于0的gps_extension_present_flag指定在gps语法中不存在该语法结构。
[0587]
当gps_extension_present_flag字段的值等于1时,根据实施方式的gps还可以包括gps_extension_data_flag字段。
[0588]
gps_extension_data_flag字段可以具有任何值。它的存在和值不影响解码器与配置文件的一致性。
[0589]
图35示出了根据本公开的属性参数集(aps)(attribute_parameter_set())的语法结构的实施方式。根据实施方式的aps可以包含关于对一个或更多个切片中所包含的点云数据中的属性信息进行编码的方法的信息。根据实施方式,aps可以包括邻近点选择相关选项信息。
[0590]
根据实施方式的aps可以包括aps_attr_parameter_set_id字段、aps_seq_parameter_set_id字段、attr_coding_type字段、aps_attr_initial_qp字段、aps_attr_chroma_qp_offset字段、aps_slice_qp_delta_present_flag字段和aps_flag字段。
[0591]
aps_attr_parameter_set_id字段提供aps的标识符以供其它语法元素参考。
[0592]
aps_seq_parameter_set_id字段指明活动sps的sps_seq_parameter_set_id的值。
[0593]
attr_coding_type字段指示属性的编码类型。
[0594]
在该示例中,等于0的attr_coding_type字段指示预测权重提升(或带有预测变换的lod)作为编码类型。等于1的attr_coding_type字段指示raht作为编码类型。等于2的attr_coding_type字段指示固定权重提升(或带有提升变换的lod)。
[0595]
aps_attr_initial_qp字段为参考aps的每个切片指明变量sliceqp的初始值。当对slice_qp_delta_luma或slice_qp_delta_luma的非零值进行解码时,在属性切片段层修改sliceqp的初始值。
[0596]
aps_attr_chroma_qp_offset字段指明由语法aps_attr_initial_qp发信号通知的初始量化参数的偏移。
[0597]
aps_slice_qp_delta_present_flag字段指明属性切片头(ash)中是否存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。例如,等于1的aps_slice_qp_delta_present_flag字段指明ash中存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。例如,等于0的aps_slice_qp_delta_present_flag字段指明ash中不存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。
[0598]
当attr_coding_type字段的值为0或2时,即,当编码类型为预测权重提升(或带有预测变换的lod)或固定权重提升(或带有提升变换的lod)时,根据实施方式的aps还可以包括lifting_num_pred_nearest_neighbours字段、lifting_max_num_direct_predictors字段、lifting_search_range字段、lifting_lod_regular_sampling_enabled_flag字段、lifting_num_detail_levels_minus1字段。
[0599]
lifting_num_pred_nearest_neighbours字段指明将用于预测的最近邻近点的最大数目(即,x值)。
[0600]
lifting_max_num_direct_predictors字段指明将用于直接预测的预测器的最大数目。在解码处理中使用的变量maxnumpredictors的值如下:
[0601]
maxnumpredictors=lifting_max_num_direct_predictors字段 1
[0602]
lifting_search_range字段指明用于确定最近邻近点的搜索范围。
[0603]
lifting_num_detail_levels_minus1字段指明属性编码的细节层次的数目。
[0604]
lifting_lod_regular_sampling_enabled_flag字段指明是否通过使用常规采样
策略来构建细节层次(lod)。例如,等于1的lifting_lod_regular_sampling_enabled_flag指明通过使用常规采样策略来构建细节层次(lod)。等于0的lifting_lod_regular_sampling_enabled_flag指明替代地使用基于距离的采样策略。
[0605]
根据实施方式的aps包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引(idx)被初始化为0并且每次执行迭代语句时递增1,并且重复该迭代语句,直到索引(idx)大于lifting_num_detail_levels_minus1字段的值为止。当lifting_lod_decimation_enabled_flag字段的值为真(例如,1)时,迭代语句可以包括lifting_sampling_period[idx]字段,并且当lifting_lod_decimation_enabled_flag字段的值为假(例如,0)时,迭代语句可以包括lifting_sampling_distance_squared[idx]字段。
[0606]
lifting_sampling_period[idx]字段指明细节层次idx的采样周期。
[0607]
lifting_sampling_distance_squared[idx]字段指明细节层次idx的采样距离的平方。
[0608]
当attr_coding_type字段的值为0时,即,当编码类型是预测权重提升(或带有预测变换的lod)时,根据实施方式的aps还可以包括lifting_adaptive_prediction_threshold字段和lifting_intra_lod_prediction_num_layers字段。
[0609]
lifting_adaptive_prediction_threshold字段指明用于启用自适应预测的阈值。
[0610]
lifting_intra_lod_prediction_num_layers字段指明可以参考同一lod层中的解码点以生成目标点的预测值的lod层的数目。例如,等于num_detail_levels_minus1加1的lifting_intra_lod_prediction_num_layers字段指示对于所有lod层,目标点都可以参考同一lod层中的解码点。例如,等于0的lifting_intra_lod_prediction_num_layers字段指示对于任何lod层,目标点都不能参考同一lod层中的解码点。
[0611]
aps_extension_present_flag字段指明在aps语法结构中是否存在aps_extension_data语法结构。例如,等于1的aps_extension_present_flag字段指明在aps语法结构中存在aps_extension_data语法结构。例如,等于0的aps_extension_present_flag字段指明在aps语法结构中不存在该语法结构。
[0612]
当aps_extension_present_flag字段的值为1时,根据实施方式的aps还可以包括aps_extension_data_flag字段。
[0613]
aps_extension_data_flag字段可以具有任何值。它的存在和值不影响解码器与配置文件的一致性。
[0614]
根据实施方式的aps还可以包括邻近点选择相关选项信息。
[0615]
当attr_coding_type字段的值为0或2时,即,当编码类型为预测权重提升或带有预测变换的lod或固定权重提升或带有提升变换的lod时,根据实施方式的aps还可以包括nearest_neighbour_max_range字段、nearest_neighbour_min_rang字段和different_nn_range_in_tile_flag字段。
[0616]
nearest_neighbour_max_range字段可以指明最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range字段来限制作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range字段的值可以用作式5的nn_range的值。例如,如果
lod是基于八叉树来生成的,则nearest_neighbour_max_range字段的值可以是围绕该点的八叉树节点的数目。
[0617]
当属性被压缩时,nearest_neighbour_min_range字段可以指明最小邻近点范围。
[0618]
different_nn_range_in_tile_flag字段可以指明相应序列是否针对从序列划分出的图块使用不同的最大/最小邻近点范围。
[0619]
根据实施方式,关于可以被设置为邻近点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours字段)和关于搜索范围的信息(例如,lifting_search_range字段)也可以被包括在邻近点选择相关选项信息中。
[0620]
根据实施方式,邻近点选择相关选项信息还可以包括关于lod配置方法的信息和/或关于基本邻近点距离的信息中的至少一个。
[0621]
图36例示了根据实施方式的属性参数集(aps)的语法结构(attribute_parameter_set())的另一实施方式。根据实施方式的aps可以包括关于对一个或更多个切片中所包括的点云数据的属性信息进行编码的方法的信息。特别地,例示了包括邻近点选择相关选项信息的示例。
[0622]
除了邻近点选择相关选项信息之外,图36的aps(attribute_parameter_set())的语法结构与图35的aps(attribute_parameter_set())的语法结构相同或相似。因此,对于在对图36的描述中省略或未描述的部分,参考图35。
[0623]
aps_attr_parameter_set_id字段指明aps的id,以供其它语法元素参考。
[0624]
aps_seq_parameter_set_id字段指明活动sps的sps_seq_parameter_set_id的值。
[0625]
attr_coding_type字段指明用于属性的编码类型。
[0626]
在实施方式中,如果attr_coding_type字段的值为0,则编码类型可以指示预测权重提升或带有预测变换的lod,并且如果attr_coding_type字段的值为1,则编码类型可以指示raht。如果attr_coding_type字段的值为2,则编码类型可以指示固定权重提升或带有提升变换的lod。
[0627]
当attr_coding_type字段的值为0或2时,即,当编码类型为预测权重提升或带有预测变换的lod或固定权重提升或带有提升变换的lod时,根据实施方式的aps还可以包括lifting_num_pred_nearest_neighbours字段、lifting_max_num_direct_predictors字段、lifting_search_range字段、lifting_lod_regular_sampling_enabled_flag字段和lifting_num_detail_levels_minus1字段。
[0628]
lifting_num_pred_nearest_neighbours字段表示将用于预测的nn的最大数目(即,x值)。
[0629]
lifting_max_num_direct_predictors字段指示将用于直接预测的预测器的最大数目。在根据实施方式的点云数据解码处理中使用的maxnumpredictors变量的值可以如下地表示。
[0630]
maxnumpredictors=lifting_max_num_direct_predictors字段 1
[0631]
lifting_search_range字段指示用于确定nn的搜索范围。
[0632]
lifting_lod_regular_sampling_enabled_flag字段指示是否使用常规采样策略来构建lod。例如,等于1的lifting_lod_regular_sampling_enabled_flag字段的值指明使
用常规采样策略来构建lod,并且等于0的lifting_lod_regular_sampling_enabled_flag字段的值指明替代地使用基于距离的采样策略。
[0633]
lifting_num_detail_levels_minus1字段指明用于属性编码的lod的数目。
[0634]
根据实施方式的aps包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引idx被初始化为0,并且每当执行迭代语句时增加1。重复该迭代语句,直到索引idx大于lifting_num_detail_levels_minus1字段的值。当lifting_lod_decimation_enabled_flag字段的值为真(例如,1)时,迭代语句可以包括lifting_sampling_period[idx]字段,并且当lifting_lod_decimation_enabled_flag字段的值为假(例如,0)时,迭代语句可以包括lifting_sampling_distance_squared[idx]字段。
[0635]
lifting_sampling_period[idx]字段表示lod idx的采样周期。
[0636]
lifting_sampling_distance_squared[idx]字段指明lod idx的采样距离的平方。
[0637]
当attr_coding_type字段的值为0时,即,当编码类型是预测权重提升或带有预测变换的lod时,根据实施方式的aps还可以包括lifting_adaptive_prediction_threshold字段和lifting_intra_lod_prediction_num_layers字段,
[0638]
lifting_adaptive_prediction_threshold字段指明用于启用自适应预测的阈值。
[0639]
lifting_intra_lod_prediction_num_layers字段指明同一lod层中的解码点可以参考其来生成目标点的预测值的lod层的数目。
[0640]
根据实施方式的aps还可以包括邻近点选择相关选项信息。
[0641]
当attr_coding_type字段的值为0或2时,即,当编码类型为预测权重提升或带有预测变换的lod或固定权重提升或带有提升变换的lod时,根据实施方式的aps还可以包括different_nn_range_in_tile_flag字段和different_nn_range_per_lod_flag字段。
[0642]
different_nn_range_in_tile_flag字段可以指明相应序列是否针对从序列划分出的图块使用不同的最大/最小邻近点范围。
[0643]
different_nn_range_per_lod_flag字段可以指明是否针对每个lod使用不同的最大/最小邻近点范围。
[0644]
例如,当different_nn_range_per_lod_flag字段的值为假时,aps还可以包括nearest_neighbour_max_range字段和nearest_neighbour_min_range字段。
[0645]
nearest_neighbour_max_range字段可以指明最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range字段来限制作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range字段的值可以用作式5的nn_range的值。
[0646]
nearest_neighbour_min_range字段可以指明最小邻近点范围。
[0647]
例如,如果different_nn_range_per_lod_flag字段的值为真,则aps还包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引idx被初始化为0,并且每当执行迭代语句时增加1。重复该迭代语句,直到索引idx大于lifting_num_detail_levels_minus1字段的值。该迭代语句可以包括nearest_neighbour_max_range[idx]字段和nearest_neighbour_min_range[idx]字段。
[0648]
nearest_neighbour_max_range[idx]字段可以指明lod idx的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range[idx]字段来限制作为lod idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range[idx]字段的值可以用作lod idx的nn_range的值。
[0649]
nearest_neighbour_min_range[idx]字段可以指示lod idx的最小邻近点范围。
[0650]
根据实施方式,关于可以被设置为邻近点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours字段)和关于搜索范围的信息(例如,lifting_search_range字段)也可以被包括在邻近点选择相关选项信息中。
[0651]
根据实施方式,邻近点选择相关选项信息还可以包括关于lod配置方法的信息和/或关于基本邻近点距离的信息中的至少一个。
[0652]
图37示出了根据本公开的图块参数集(tps)(tile_parameter_set())的语法结构的实施方式。根据实施方式,tps可以被称为图块清单。根据实施方式的tps包括与每个图块相关的信息。特别地,在该示例中,tps包括邻近点选择相关选项信息。
[0653]
根据实施方式的tps包括num_tiles字段。
[0654]
num_tiles字段指示针对比特流发信号通知的图块的数目。当不存在时,num_tiles被推断为0。
[0655]
根据实施方式的tps包括重复与num_tiles字段的值一样多的次数的迭代语句。在实施方式中,i被初始化为0,并且每次执行迭代语句时递增1。重复迭代语句,直到i的值变得等于num_tiles字段的值。迭代语句可以包括tile_bounding_box_offset_x[i]字段、tile_bounding_box_offset_y[i]字段、tile_bounding_box_offset_z[i]字段、tile_bounding_box_size_width[i]字段、tile_bounding_box_size_height[i]和tile_bounding_box_size_depth[i]字段。
[0656]
tile_bounding_box_offset_x[i]字段指示笛卡尔坐标中第i图块的x偏移。
[0657]
tile_bounding_box_offset_y[i]字段指示笛卡尔坐标中第i图块的y偏移。
[0658]
tile_bounding_box_offset_z[i]字段指示笛卡尔坐标中第i图块的z偏移。
[0659]
tile_bounding_box_size_width[i]字段指示笛卡尔坐标中第i图块的宽度。
[0660]
tile_bounding_box_size_height[i]字段指示笛卡尔坐标中第i图块的高度。
[0661]
tile_bounding_box_size_depth[i]字段指示笛卡尔坐标中第i图块的深度。
[0662]
根据实施方式的tps还可以包括邻近点选择相关选项信息。
[0663]
根据实施方式,邻近点选择相关选项信息可以被包括在重复与如下num_tiles字段的值一样多的次数的迭代语句中。
[0664]
在实施方式中,如果different_nn_range_in_tile_flag字段的值为真,则迭代语句还可以包括nearest_neighbour_max_range[i]字段、nearest_neighbour_min_range[i]字段和different_nn_range_in_slice_flag[i]字段。在实施方式中,different_nn_range_in_tile_flag字段在aps中被发信号通知。
[0665]
nearest_neighbour_max_range[i]字段可以指明第i图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range[i]字段来限制在第i图块中作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range[i]字段的值可以用作第i图块的nn_range的值。
[0666]
nearest_neighbour_min_range字段[i]可以指明第i图块的最小邻近点范围。
[0667]
different_nn_range_in_slice_flag[i]字段可以指明相应图块是否针对从图块划分出的切片使用不同的最大/最小邻近点范围。
[0668]
如果different_nn_range_in_slice_flag[i]字段的值为真,则tps还可以包括nearest_neighbour_offset_range_in_slice_flag[i]字段。
[0669]
nearest_neighbour_offset_range_in_slice_flag[i]字段可以指示切片中定义的最大/最小邻近点范围是被标记为在图块中定义的最大/最小邻近点范围中的范围偏移还是被标记为绝对值。
[0670]
图38示出了根据本公开的几何切片比特流()的语法结构的实施方式。
[0671]
根据实施方式的几何切片比特流(geometry_slice_bitstream())可以包括几何切片头(geometry_slice_header())和几何切片数据(geometry_slice_data())。
[0672]
图39示出了根据本公开的几何切片头(geometry_slice_header())的语法结构的实施方式。
[0673]
根据实施方式的由发送装置发送的比特流(或由接收装置接收的比特流)可以包含一个或更多个切片。每个切片可以包括几何切片和属性切片。几何切片包括几何切片头(gsh)。属性切片包括属性切片头(ash)。
[0674]
根据实施方式的几何切片头(geometry_slice_header())可以包括gsh_geom_parameter_set_id字段、gsh_tile_id字段、gsh_slice_id字段、gsh_max_node_size_log2字段、gsh_num_points字段和byte_alignment()字段。
[0675]
当gps中所包括的gps_box_present_flag字段的值为“真”(例如,1)并且gps_gsh_box_log2_scale_present_flag字段的值为“真”(例如,1)时,根据实施方式的几何切片头(geometry_slice_header())还可以包括gsh_box_log2_scale字段、gsh_box_origin_x字段、gsh_box_origin_y字段和gsh_box_origin_z字段。
[0676]
gsh_geom_parameter_set_id字段指定活动gps的gps_geom_parameter_set_id的值。
[0677]
gsh_tile_id字段指定由gsh参考的图块id的值。
[0678]
gsh_slice_id字段指定由其它语法元素参考的切片的id。
[0679]
gsh_box_log2_scale字段指定用于切片的边界框原点的缩放因子。
[0680]
gsh_box_origin_x字段指定按gsh_box_log2_scale字段的值缩放的边界框原点的x值。
[0681]
gsh_box_origin_y字段指定按gsh_box_log2_scale字段的值缩放的边界框原点的y值。
[0682]
gsh_box_origin_z字段指定按gsh_box_log2_scale字段的值缩放的边界框原点的z值。
[0683]
gsh_max_node_size_log2字段指定根几何八叉树节点的大小。
[0684]
gsh_points_number字段指定切片中编码点的数目。
[0685]
图40示出了根据本公开的几何切片数据(geometry_slice_data())的语法结构的实施方式。根据实施方式的几何切片数据(geometry_slice_data())可以携带属于相应切片的几何比特流。
[0686]
根据实施方式的geometry_slice_data()可以包括重复与maxgeometryoctreedepth的值一样多的次数的第一迭代语句。在实施方式中,每次执行迭代语句时,深度被初始化为0并递增1,并且重复第一迭代语句,直到深度变得等于maxgeometryoctreedepth。第一迭代语句可以包括重复与numnodesatdepth的值一样多的次数的第二迭代语句。在实施方式中,nodeidx被初始化为0,并且每次执行迭代语句时递增1。重复第二次迭代语句,直到nodeidx变得等于numnodesatdepth。第二迭代语句可以包括xn=nodex[depth][nodeidx],yn=nodey[depth][nodeidx],zn=nodez[depth][nodeidx]和geometry_node(depth,nodeidx,xn,yn,zn)。maxgeometryoctreedepth指示几何八叉树深度的最大值,并且numnodesatdepth[depth]指示将在相应深度处解码的节点的数目。变量nodex[depth][nodeidx]、nodey[depth][nodeidx]和nodez[depth][nodeidx]指示在给定深度处按解码顺序的第nodeidx节点的x、y、z坐标。深度的节点的几何比特流通过geometry_node(depth,nodeidx,xn,yn,zn)发送。
[0687]
当log2_trisoup_node_size字段的值大于0时,根据实施方式的几何切片数据(geometry_slice_data())还可以包括geometry_trisoup_data()。即,当三角形节点的大小大于0时,经历trisoup几何编码的几何比特流通过geometry_trisoup_data()发送。
[0688]
图41示出了根据本公开的attribute_slice_bitstream()的语法结构的实施方式。
[0689]
根据实施方式的属性切片比特流(attribute_slice_bitstream())可以包括属性切片头(attribute_slice_header())和属性切片数据(attribute_slice_data())。
[0690]
图42示出了根据本公开的属性切片头(attribute_slice_header())的语法结构的实施方式。根据实施方式的属性切片头包括相应属性切片的信令信息。特别地,在该示例中,属性切片头包括邻近点选择相关选项信息。
[0691]
根据实施方式的属性切片头(attribute_slice_header())可以包括ash_attr_parameter_set_id字段、ash_attr_sps_attr_idx字段和ash_attr_geom_slice_id字段。
[0692]
当aps的aps_slice_qp_delta_present_flag字段的值为“真”(例如,1)时,根据实施方式的属性切片头(attribute_slice_header())还可以包括ash_qp_delta_luma字段和ash_qp_delta_chroma字段。
[0693]
ash_attr_parameter_set_id字段指明当前活动aps的aps_attr_parameter_set_id字段(例如,图35或图36中描述的aps中所包括的aps_attr_parameter_set_id字段)的值。
[0694]
ash_attr_sps_attr_idx字段标识当前活动sps中的属性集。ash_attr_sps_attr_idx字段的值在从0至当前活动sps中所包括的sps_num_attribute_sets字段的范围内。
[0695]
ash_attr_geom_slice_id字段指明当前几何切片头的gsh_slice_id字段的值。
[0696]
ash_qp_delta_luma字段指明从活动属性参数集中的初始切片qp推导出的亮度增量量化参数(qp)。
[0697]
ash_qp_delta_chroma字段指明从活动属性参数集中的初始切片qp推导出的色度增量qp。
[0698]
根据实施方式的属性切片头(attribute_slice_header())还可以包括如下的邻近点选择相关选项信息。
[0699]
在实施方式中,如果different_nn_range_in_slice_flag字段的值为真并且nearest_neighbour_offset_range_in_slice_flag字段的值为假,则属性切片头还可以包括nearest_neighbour_absolute_max_range字段和nearest_neighbour_absolute_min_range字段。
[0700]
当相应切片的属性被压缩时,nearest_neighbour_absolute_max_range字段可以指明最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range字段来限制在切片中作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range字段的值可以用作切片的nn_range的值。
[0701]
nearest_neighbour_absolute_min_range字段可以指示当切片的属性被压缩时的最小邻近点范围。
[0702]
在实施方式中,different_nn_range_in_slice_flag字段和nearest_neighbour_offset_range_in_slice_flag字段在tps中被发信号通知。
[0703]
在实施方式中,如果different_nn_range_in_slice_flag字段的值为真并且nearest_neighbour_offset_range_in_slice_flag字段的值为真,则属性切片头还可以包括nearest_neighbour_max_range_offset字段和nearest_neighbour_min_range_offset字段。
[0704]
nearest_neighbour_max_range_offset字段可以指明当切片的属性被压缩时的最大邻近点范围偏移。在实施方式中,邻近点最大范围偏移的参考是切片所属图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range_offset字段来限制在切片中作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range_offset字段的值可以用作切片的nn_range的值的偏移。
[0705]
nearest_neighbour_min_range_offset字段可以指示当切片的属性被压缩时的最小邻近点范围偏移。在实施方式中,最小邻近点范围偏移的参考是切片所属图块的最小邻近点范围。
[0706]
图43例示了根据本公开的属性切片头(attribute_slice_header())的语法结构的另一实施方式。根据实施方式的属性切片头包括相应属性切片的信令信息。特别地,例示包括邻近点选择相关选项信息的示例。
[0707]
除了关于邻近点选择的选项信息之外,图43的属性切片头的语法结构与图42的属性切片头的语法结构相同或相似。因此,对于在对图43的描述中省略或未描述的部分,参考图42。
[0708]
ash_attr_parameter_set_id字段表示当前活动aps的aps_attr_parameter_set_id字段(例如,参考图35或图36描述的aps中所包括的aps_attr_parameter_set_id字段)的值。
[0709]
ash_attr_sps_attr_idx字段标识当前活动sps中的属性集。ash_attr_sps_attr_idx字段的值在从0至当前活动sps中所包括的sps_num_attribute_sets字段的范围内。
[0710]
ash_attr_geom_slice_id字段指明当前几何切片头的gsh_slice_id字段的值。
[0711]
根据实施方式的属性切片头(attribute_slice_header())还可以包括如下的邻近点选择相关选项信息。
[0712]
在实施方式中,如果different_nn_range_in_slice_flag字段的值为真,则属性
切片头还可以包括different_nn_range_per_lod_flag字段。
[0713]
different_nn_range_per_lod_flag字段可以指明是否针对每个lod不同地使用最大/最小邻近点范围。
[0714]
例如,如果different_nn_range_per_lod_flag字段的值为假并且nearest_neighbour_offset_range_in_slice_flag字段的值为假,则属性切片头还可以包括nearest_neighbour_absolute_max_range字段和nearest_neighbour_absolute_min_range字段。
[0715]
当相应切片的属性被压缩时,nearest_neighbour_absolute_max_range字段可以指明最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range字段来限制在切片中作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range字段的值可以用作切片的nn_range的值。
[0716]
nearest_neighbour_absolute_min_range字段可以指明当切片的属性被压缩时的最小邻近点范围。
[0717]
例如,如果different_nn_range_per_lod_flag字段的值为假并且nearest_neighbour_offset_range_in_slice_flag字段的值为真,则属性切片头还可以包括nearest_neighbour_max_range_offset字段和nearest_neighbour_min_range_offset字段。
[0718]
nearest_neighbour_max_range_offset字段可以指明当切片的属性被压缩时的最大邻近点范围偏移。在实施方式中,最大邻近点范围偏移的参考是切片所属图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range字段来限制在切片中作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range字段的值可以用作切片的nn_range的值的偏移。
[0719]
nearest_neighbour_min_range_offset字段可以指明当切片的属性被压缩时的最小邻近点范围偏移。在实施方式中,最小邻近点范围偏移的参考是切片所属图块的最小邻近点范围。
[0720]
例如,如果different_nn_range_per_lod_flag字段的值为真并且nearest_neighbour_offset_range_in_slice_flag字段的值为假,则属性切片头还包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引(idx)被初始化为0,并且每当执行迭代语句时增加1。重复该迭代语句,直到索引idx大于lifting_num_detail_levels_minus1字段的值。该迭代语句可以包括nearest_neighbour_absolute_max_range[idx]字段和nearest_neighbour_absolute_min_range[idx]字段。
[0721]
在实施方式中,lifting_num_detail_levels_minus1字段指示用于属性编码的lod的数目并在aps中发信号通知。
[0722]
nearest_neighbour_absolute_max_range[idx]字段可以指示当切片的属性被压缩时lod idx的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range[idx]字段来限制在切片中作为lod idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range[idx]字段的值可以用作相应切片的lod idx的nn_range的值。
[0723]
nearest_neighbour_absolute_min_range[idx]字段可以指示当切片的属性被压缩时lod idx的最小邻近点范围。
[0724]
例如,如果different_nn_range_per_lod_flag字段的值为真并且nearest_neighbour_offset_range_in_slice_flag字段的值为真,则属性切片头还包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引(idx)被初始化为0,并且每当执行迭代语句时增加1。重复迭代语句,直到索引idx大于lifting_num_detail_levels_minus1字段的值。该迭代语句可以包括nearest_neighbour_max_range_offset[idx]字段和nearest_neighbour_min_range_offset[idx]字段。
[0725]
在实施方式中,lifting_num_detail_levels_minus1字段指示用于属性编码的lod的数目并在aps中发信号通知。
[0726]
nearest_neighbour_max_range_offset[idx]字段可以指明当切片的属性被压缩时lod idx的最大邻近点范围偏移。根据实施方式,最大邻近点范围偏移的参考是切片所属图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range_offset[idx]字段来限制在切片中作为lod idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range_offset[idx]字段的值可以用作切片的lod idx的nn_range的值的偏移。
[0727]
nearest_neighbour_min_range_offset[idx]字段可以指明当切片的属性被压缩时lod idx的最小邻近点范围偏移。在实施方式中,最小邻近点范围偏移的参考是切片所属图块的最小邻近点范围。
[0728]
图44示出了根据本公开的属性切片数据(attribute_slice_data())的语法结构的实施方式。根据实施方式的属性切片数据(attribute_slice_data())可以携带属于相应切片的属性比特流。
[0729]
在图44的属性切片数据(attribute_slice_data())中,dimension=attribute_dimension[ash_attr_sps_attr_idx]表示由相应属性切片头中的ash_attr_sps_attr_idx字段标识的属性集的属性维度(attribute_dimension)。attribute_dimension是指构成属性的分量的数目。根据实施方式的属性表示反射率、颜色等。因此,对于每个属性,分量的数目有所不同。例如,对应于颜色的属性可以具有三个颜色分量(例如,rgb)。因此,对应于反射率的属性可以是单维属性,并且对应于颜色的属性可以是三维属性。
[0730]
根据实施方式的属性可以被逐个维度地进行属性编码。
[0731]
例如,对应于反射率的属性和对应于颜色的属性可以分别被属性编码。根据实施方式,属性可以不管维度如何都被一起属性编码。例如,对应于反射率的属性和对应于颜色的属性可以被一起属性编码。
[0732]
在图44中,zerorun指明残差之前0的数目。
[0733]
在图44中,i表示属性的第i点值。根据实施方式,attr_coding_type字段和lifting_adaptive_prediction_threshold字段在aps中发信号通知。
[0734]
图44的maxnumpredictors是在点云数据解码处理中使用的变量,并且可以如下基于在aps中发信号通知的lifting_adaptive_prediction_threshold字段的值来获取。
[0735]
maxnumpredictors=lifting_max_num_direct_predictors字段 1
[0736]
这里,lifting_max_num_direct_predictors字段指示将用于直接预测的预测器
的最大数目。
[0737]
根据实施方式,predindex[i]指定预测器索引(或预测模式)以对属性的第i点值进行解码。predindex[i]的值的范围是从0至lifting_max_num_direct_predictors字段的值。
[0738]
可以如下地计算根据实施方式的变量maxpreddiff[i]。
[0739][0740]
for(j=0;j《k;j ){
[0741]
minvalue=min(minvalue,)
[0742]
maxvalue=max(maxvalue,)
[0743]
}
[0744]
maxpreddiff[i]=maxvalue-minvalue;
[0745]
这里,令ki是当前点i的k个最近邻近点的集合,并且令是它们的解码/重构属性值。最近邻近点的数目ki应当在1至lifting_num_pred_nearest_neighbours的范围内。根据实施方式,根据预测提升解码处理来推导邻近点的解码/重构属性值。
[0746]
lifting_num_pred_nearest_neighbours字段在aps中发信号通知,并指示将用于预测的最近邻近点的最大数目。
[0747]
图45是根据实施方式的发送点云数据的方法的流程图。
[0748]
根据实施方式的点云数据发送方法可以包括:对点云数据中所包含的几何进行编码的步骤71001、基于输入和/或重构的几何对点云数据中所包含的属性进行编码的步骤71002以及发送包括编码后的几何、编码后的属性和信令信息的比特流的步骤71003。
[0749]
对点云数据中所包含的几何和属性进行编码的步骤71001和71002可以执行图1的点云视频编码器10002、图2的编码处理20001、图4的点云视频编码器、图12的点云视频编码器、图14的点云编码处理、图15的点云视频编码器或图17的几何编码器和属性编码器的一些或全部操作。
[0750]
在实施方式中,对属性进行编码的步骤71002可以包括通过应用基于八叉树的lod生成方法、基于距离的lod生成方法或基于采样的lod生成方法中的至少一种来生成lod
l
集合,在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中搜索x(》0)个nn点并将这x个nn点在预测器中登记为邻近点集合。
[0751]
根据实施方式,对属性进行编码的步骤71002可以通过应用搜索范围和/或最大邻近点距离来配置邻近点集合。
[0752]
根据实施方式,对属性进行编码的步骤71002可以通过将基本邻近点距离乘以nn_range来获得最大邻近点距离。nn_range是可以在其内选择邻近点的范围,并被称为最大邻近点范围、邻近点范围或nn范围。
[0753]
搜索范围、基本邻近点距离和nn_range与参考图15至图27描述的那些相同,因此这里省略对其的详细描述。
[0754]
根据实施方式,对属性进行编码的步骤71002包括在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索x(例如,3)个nn点,如图26中例示的。然后,仅x(例如,3)个nn点当中的最大邻近点距离内的nn点可以被登记为邻
近点集合。参考图26作为示例,对属性进行编码的步骤71002包括比较实际搜索范围内的点与点px之间的距离值以搜索x个nn点,并仅将x个点当中的点px所属lod处的最大邻近点距离内的点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于x个点当中的点px所属的lod处的最大邻近点距离内的点。
[0755]
根据另一实施方式,对属性进行编码的步骤71002可以包括如图27中例示的在基于lod1集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的x(例如,3)个nn点,并将这x(例如,3)个nn点登记为邻近点集合。参考图27作为示例,对属性进行编码的步骤71002包括比较实际搜索范围内的点与点px之间的距离值以从实际搜索范围中的点当中搜索点px所属lod处的最大邻近点距离内的x(例如,3)个nn点,并将这x个nn点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于点px所属的lod处的最大邻近点距离内的点。
[0756]
根据实施方式,对属性进行编码的步骤71002包括:当一个或更多个邻近点被登记在每个点的预测器中时通过应用预测模式0至3之一来获取每个点的预测属性值,并基于每个点的原始属性值和预测属性值来获取点的残差属性值。
[0757]
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
[0758]
根据实施方式,在对属性进行编码的步骤71002中,如果登记在相应点的预测器中的邻近点的属性值之间的最大差值小于预设阈值,则预测模式0被配置为该点的预测模式。如果最大差值等于或大于预设阈值,则对多种候选预测模式应用rdo方法,并且候选预测模式之一被配置为该点的预测模式。在实施方式中,对每个点执行该处理。
[0759]
根据实施方式,可以在属性切片数据中发送应用于每个点的预测模式。
[0760]
根据实施方式,步骤71002可以对残差属性值应用量化和零游程长度编码。
[0761]
在根据实施方式的步骤71001和71002中,可以基于切片或包含一个或更多个切片的图块来执行编码。
[0762]
步骤71003可以由图1的发送器10003、图2的发送处理20002、图12的发送处理器12012或图15的发送处理器51008执行。
[0763]
图46是根据实施方式的接收点云数据的方法的流程图。
[0764]
根据实施方式,点云数据接收方法可以包括接收编码后的几何、编码后的属性和信令信息的步骤81001、基于信令信息来对几何进行解码的步骤81002、基于信令信息和解码后/重构的几何来对属性进行解码的步骤81003以及渲染基于解码后的几何和解码后的属性恢复的点云数据的步骤81004。
[0765]
根据实施方式的步骤81001可以由图1的接收器10005、图2的发送处理20002或解码处理20003、图13的接收器13000或接收处理器13001或图20的接收处理器61001执行。
[0766]
在根据实施方式的步骤81002和81003中,可以基于切片或包含一个或更多个切片的图块来执行解码。
[0767]
根据实施方式,步骤81002可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图20的几何解码器或图21的几何解码器的一些或全部操作。
[0768]
根据实施方式,步骤81003可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图28的属性解码器或图29的属性解码器的一些或全部操作。
[0769]
根据实施方式,信令信息(例如,sps、aps、tps或属性切片头中的至少一个)可以包括邻近点选择相关选项信息。根据实施方式,邻近点选择相关选项信息可以包括关于nn_range的信息(例如,nearest_neighbor_max_range字段)。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours字段)、关于搜索范围的信息(例如,lifting_search_range字段)、关于lod配置方法的信息或关于基本邻近点距离的信息中的至少一个。
[0770]
在实施方式中,对属性进行解码的步骤81003可以包括通过应用基于八叉树的lod生成方法、基于距离的lod生成方法或基于采样的lod生成方法中的至少一种来生成lod
l
集合,在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中搜索x(》0)个nn点并将这x个nn点在预测器中登记为邻近点集合。在实施方式中,lod生成方法在信令信息(例如,aps)中发信号通知。
[0771]
根据实施方式,对属性进行解码的步骤81003可以通过应用搜索范围和/或最大邻近点距离来配置邻近点集合。
[0772]
根据实施方式,对属性进行解码的步骤81003可以通过将基本邻近点距离乘以nn_range来获得最大邻近点距离。nn_range是可以在其中选择邻近点的范围,并被称为最大邻近点范围、邻近点范围或nn范围。
[0773]
搜索范围、基本邻近点距离和nn_range与参考图15至图29描述的那些相同,因此这里省略对其的详细描述。
[0774]
根据实施方式,对属性进行解码的步骤81003包括在基于lod
l
集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索x(例如,3)个nn点,如图26中例示的。然后,仅x(例如,3)个nn点当中的最大邻近点距离内的nn点可以被登记为邻近点集合。参考图26作为示例,对属性进行解码的步骤81003包括比较实际搜索范围内的点与点px之间的距离值以搜索x个nn点,并仅将x个点当中的点px所属lod处的最大邻近点距离内的点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于x个点当中的点px所属的lod处的最大邻近点距离内的点。
[0775]
根据另一实施方式,对属性进行解码的步骤81003可以包括如图27中例示的在基于lod1集合而具有相同或较低lod(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的x(例如,3)个nn点,并将这x(例如,3)个nn点登记为邻近点集合。参考图27作为示例,对属性进行解码的步骤81003包括比较实际搜索范围内的点与点px之间的距离值以从实际搜索范围中的点中搜索点px所属lod处的最大邻近点距离内的x(例如,3)个nn点,并将这x个nn点登记为点px的邻近点集合。即,被登记为点px的邻近点集合的邻近点限于点px所属的lod处的最大邻近点距离内的点。
[0776]
根据实施方式,对属性进行解码的步骤81003可以包括当一个或更多个邻近点被登记在特定点的预测器中时,通过应用预测模式0至3之一来获取相应点的预测属性值。
[0777]
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定
为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
[0778]
根据实施方式,特定点的预测模式可以被配置为默认的,并且可以在属性切片数据中发信号通知指示预测模式的预测器索引信息(predindex)。
[0779]
根据实施方式,当在属性切片数据中未发信号通知点的预测器索引信息时,步骤81003可以基于预测模式0预测待解码点的属性值。
[0780]
根据实施方式,当在属性切片数据中发信号通知点的预测器索引信息时,步骤81003可以基于在属性切片数据中发信号通知的预测模式来预测待解码点的属性值。
[0781]
根据实施方式,步骤81003可以通过将点的预测属性值与点的接收残差属性值相加来恢复点的属性值。在实施方式中,可以通过对每个点执行该处理来恢复每个点的属性值。
[0782]
根据实施方式,步骤81003可以在接收到的残差属性值被零游程长度编码时在恢复属性值之前对接收到的残差属性值执行作为发送方的零游程长度编码的逆处理的零游程长度解码。
[0783]
在根据实施方式渲染点云数据的步骤81004中,可以根据各种渲染方法来渲染点云数据。例如,点云内容的点可以被渲染在具有一定厚度的顶点、以顶点位置为中心的特定最小大小的立方体或以顶点位置为中心的圆上。通过显示器(例如,vr/ar显示器、一般显示器等)向用户提供渲染后的点云内容的全部或部分。
[0784]
根据实施方式的步骤81004可以由图1的渲染器10007、图2的渲染处理20004或图13的渲染器13011执行。
[0785]
如上所述,根据本公开,在点云内容的属性编码期间,当通过考虑内容的点之间的属性相关性来配置邻近点集时,排除无意义邻近点的选择,并且可以选择有意义的邻近点。然后,由于残差属性值减小并由此比特流大小减小,因此提高了属性的压缩效率。换句话说,在本公开中,使用考虑到内容的点之间的属性相关性限制可以被选择为邻近点集合的点的方法来提高属性的压缩效率。
[0786]
上述每个部分、模块或单元可以是执行存储在存储器(或存储单元)中的连续过程的软件、处理器或硬件部分。在以上实施方式中描述的每个步骤可以由处理器、软件或硬件部分执行。在以上实施方式中描述的每个模块/块/单元可以作为处理器、软件或硬件操作。另外,实施方式提出的方法可以被作为代码执行。该代码可以被写到处理器可读存储介质上,因此,供被由设备提供的处理器读取。
[0787]
在本说明书中,当部分“包括”或“包含”元件时,这意味着,该部分还包括或包括另一个元件,除非另外提到。另外,说明书中公开的术语“...模块(或单元)”意指用于处理至少一个功能或操作的单元,并且可以由硬件、软件或硬件与软件的组合来实现。
[0788]
尽管为了简便起见参考附图中的每一个说明了实施方式,但可以通过合并在附图中例示的实施方式来设计新的实施方式。如果本领域的技术人员设计出记录有用于执行以上描述中提到的实施方式的程序的计算机可读的记录介质,则该记录介质可以落入所附权利要求书及其等同物的范围内。
[0789]
设备和方法可以不受上述实施方式的配置和方法的限制。上述实施方式可以通过完全或部分地相互选择性组合来配置,以使得能够进行各种修改。
[0790]
尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在
所附权利要求书中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变形。这种修改将不被独立于实施方式的技术思路或观点来理解。
[0791]
实施方式的设备的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的设备的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的设备的方法/操作的可执行指令可以被存储在非暂态crm或配置为由一个或更多个处理器执行的其它计算机程序产品中,或可以被存储在暂态crm或配置为由一个或更多个处理器执行的其它计算机程序产品中。另外,根据实施方式的存储器可以被用作不仅覆盖易失性存储器(例如,ram)而且覆盖非易失性存储器、闪存存储器和prom的概念。另外,它还可以按诸如通过互联网发送这样的载波形式实现。另外,处理器可读记录介质可以分布于通过网络连接的计算机系统,使得处理器可读代码可以以分布式方式来存储和执行。
[0792]
在本文献中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“a/b”可以意指“a和/或b”。另外,“a、b”可以意指“a和/或b”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。“a、b、c”可以意指“a、b和/或c中的至少一个”。
[0793]
另外,在本文献中,术语“或”应该被解释为“和/或”。例如,表述“a或b”可以意指1)仅a、2)仅b和/或3)a和b二者。换句话说,本文献中的术语“或”应该被解释为“另外地或另选地”。
[0794]
实施方式的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由诸如单个硬件电路这样的单个芯片来实现。根据实施方式,元件可以分别由单独的芯片选择性执行。根据实施方式,可以在包括用于执行根据实施方式的操作的指令的一个或更多个处理器中执行实施方式的元件中的至少一个。
[0795]
可以使用诸如第一和第二这样的术语来描述实施方式的各种元素。然而,根据实施方式的各种部件不应该受以上术语限制。这些术语只是用于将一个元素与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号二者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。
[0796]
用于描述实施方式的术语仅是出于描述特定实施方式的目的使用的,并不旨在是限制实施方式。如对实施方式的描述和权利要求书中所使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”这样的术语旨在指示图、数字、步骤、元件和/或部件的存在,而应当被理解为不排除图、数字、步骤、元件和/或部件的附加存在的可能性。如本文中使用的,诸如“如果”和“当”这样的条件表述不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。
[0797]
此外,可以通过包括存储器和/或处理器的发送/接收装置来执行根据本文档中描述的实施方式的操作。根据实施方式,存储器可以存储用于处理/控制操作的程序,并且处
理器可以控制在本文档中描述的各种操作。处理器可以称为控制器等。根据实施方式的操作可以通过固件、软件和/或其组合来实现,并且固件、软件和/或其组合可以存储在处理器或存储器中。
[0798]
本发明的模式
[0799]
如上所述,已经以执行实施方式的最佳模式描述了相关内容。
[0800]
工业实用性
[0801]
如上所述,实施方式可以完全或部分应用于点云数据发送/接收装置和系统。本领域的技术人员将清楚,可以在实施方式的范围内对实施方式进行各种修改或变形。因此,实施方式旨在涵盖本公开的修改和变形,前提是它们落入所附权利要求书及其等同物的范围内。
再多了解一些

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

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

相关文献