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

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

2022-04-02 07:28:25 来源:中国专利 TAG:


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


背景技术:

2.实施方式提供了一种用于提供点云内容以向用户提供诸如虚拟现实(vr)、增强现实(ar)、混合现实(mr)和自驾驶服务之类的各种服务的方法。点云数据是三维(3d)空间中的点的集合。难以生成点云数据,因为3d空间中的点的数量较大。
3.点云帧或点云数据可以被划分成拼块或切片,以满足要实时以低时延执行的传输、编码、解码和渲染处理的需求。


技术实现要素:

4.技术问题
5.实施方式的一个目的是提供用于高效地发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。实施方式的另一目的是提供用于解决时延和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
6.实施方式的技术范围不限于前述技术目的,并且本领域技术人员可以基于本文档的整个内容推断出其它目的。
7.技术方案
8.为了实现这些目的和其它优点,并且根据本公开的目的,如本文所实施和广泛描述的,用于发送点云数据的方法可以包括:对点云数据进行编码,和/或发送包含点云数据和关于点云数据的信令信息的比特流。
9.根据实施方式,编码可以包括:对点云数据的点的几何数据进行编码,以及对点云数据的点的属性数据进行编码。
10.此外,根据实施方式,点云数据发送方法还可以包括将点云数据分割成一个或更多个切片,其中编码可以包括逐切片地对点云数据进行编码。
11.此外,根据实施方式,分割可以包括基于切片中包括的点的最大数量来分割点云数据。
12.此外,根据实施方式,信令信息可以包括指示是否执行分割的信息以及指示当执行分割时的分割方法的信息,其中,分割可以包括:将点云数据分割成包括第一切片和第二切片的多个切片,其中,第一切片和第二切片可以包括包含点云数据的三维空间中的交叠区域。
13.此外,根据实施方式,分割方法可以是基于点云数据的八叉树的分割方法或基于包括点云数据的三维空间的轴的长度的分割方法中的至少一种。
14.此外,在根据实施方式的点云数据发送方法中,当点云数据的点的数量小于或等
于最大数量信息时,可以跳过将点云数据分割成一个或更多个切片的步骤。
15.在本公开的另一方面中,一种用于接收点云数据的方法可以包括:接收包含点云数据的几何数据和点云数据的属性数据的比特流;以及解码比特流中的点云数据。
16.根据实施方式,解码可以包括对点云数据的几何数据进行解码,和/或对点云数据的属性数据进行解码。
17.根据实施方式,比特流可以包含指示点云数据是否被分割成一个或更多个切片的信息,其中,当所接收的点云数据包括多个切片时,解码可以包括逐切片地对接收的点云数据进行解码,其中可以基于关于点的最大数量的信息来确定切片中包括的点的数量。
18.根据实施方式,比特流可以包括指示切片的分割方法的信息。根据实施方式,切片可以包括第一切片和第二切片,其中,第一切片和第二切片可以包括包含点云数据的三维空间中的交叠区域。
19.此外,根据实施方式,分割方法可以是基于点云数据的八叉树的分割方法或基于包括点云数据的三维空间的轴的长度的分割方法中的至少一种。
20.根据实施方式,分割方法可以是基于点云数据的八叉树的分割方法或基于包括点云数据的三维空间的轴的长度的分割方法中的至少一种。
21.有利效果
22.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以提供良好质量的点云服务。
23.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以实现各种视频编解码器方法。
24.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以提供诸如自驾驶服务之类的通用点云内容。
25.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以实现切片的分割方法及其所需的信号数据,由此提高点云的编码的性能。
26.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以执行用于点云数据的独立编码和解码的空间自适应分割,由此提高并行处理并提供可缩放性。
27.利用点云数据发送方法,点云数据发送装置、点云数据接收方法,可以在执行独立的数据分割时执行空间闭合点的重新分割。
28.根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以将点云数据分割成拼块、切片和/或方块,如图18和图19所示,由此在由点云数据占用的三维空间中实现随机接入和并行编码。
29.利用根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置,可以逐切片地独立地执行编码和解码。因此,可以防止错误在编码和解码中累积。
附图说明
30.附图被包括以提供本公开的进一步理解,并且被并入本技术中并构成本技术的一
部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。在整个附图中将使用相同的附图标记来指代相同或相似的部件。在附图中:
31.图1示出根据实施方式的示例性点云内容提供系统。
32.图2是示出根据实施方式的点云内容提供操作的框图。
33.图3示出根据实施方式的捕获点云视频的示例性处理。
34.图4示出根据实施方式的示例性点云编码器。
35.图5示出根据实施方式的体素的示例。
36.图6示出根据实施方式的八叉树和占用代码的示例。
37.图7示出根据实施方式的邻居节点图案的示例。
38.图8示出根据实施方式的各个lod中的点配置的示例。
39.图9示出根据实施方式的各个lod中的点配置的示例。
40.图10示出根据实施方式的示例性点云解码器。
41.图11示出根据实施方式的示例性点云解码器。
42.图12示出根据实施方式的示例性发送装置。
43.图13示出根据实施方式的示例性接收装置。
44.图14示出根据实施方式的可结合点云数据发送/接收方法/装置操作的示例性结构。
45.图15示出根据实施方式的点云编码器。
46.图16示出根据实施方式的点云编码器。
47.图17示出根据实施方式的点云数据发送装置的比特流组合器。
48.图18示出根据实施方式的由点云数据编码器将点云数据分割成一个或更多个区域的方法。
49.图19示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
50.图20示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
51.图21示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
52.图22示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
53.图23示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
54.图24示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
55.图25示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
56.图26示出根据实施方式的点云数据发送装置的分割器。
57.图27示出根据实施方式的分割交叠切片的方法。
58.图28示出根据实施方式的分割交叠切片的方法。
59.图29示出根据实施方式的分割交叠切片的方法。
60.图30示出根据实施方式的分割交叠切片的方法。
61.图31示出根据实施方式的分割交叠切片的方法。
62.图32示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个切片的操作。
63.图33示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个切片的操作。
64.图34示出根据实施方式的点云解码器。
65.图35示出根据实施方式的点云解码器。
66.图36示出根据实施方式的点云数据接收装置。
67.图37示出根据实施方式的点云解码器的点组合器。
68.图38示出根据实施方式的点云数据的比特流结构的示例。
69.图39示出根据实施方式的比特流的序列参数集(sps)。
70.图40示出根据实施方式的比特流的拼块参数集(tps)。
71.图41示出根据实施方式的比特流的几何参数集(gps)。
72.图42示出根据实施方式的比特流的几何切片头(gsh)。
73.图43示出根据实施方式的比特流的属性切片头(ash)。
74.图44示出根据实施方式的发送点云数据的操作。
75.图45示出根据实施方式的接收点云数据的操作。
具体实施方式
76.现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
77.尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
78.图1示出根据实施方式的示例性点云内容提供系统。
79.图1所示的点云内容提供系统可包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够有线或无线通信以发送和接收点云数据。
80.根据实施方式的点云数据发送装置10000可取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置10000可包括固定站、基站收发器系统(bts)、网络、人工智能(ai)装置和/或系统、机器人、ar/vr/xr装置和/或服务器。根据实施方式,发送装置10000可包括被配置为使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
81.根据实施方式的发送装置10000包括点云视频获取器10001、点云视频编码器
10002和/或发送器(或通信模块)10003。
82.根据实施方式的点云视频获取器10001通过诸如捕获、合成或生成的处理过程来获取点云视频。点云视频是由点云表示的点云内容,点云是位于3d空间中的点集合,并且可被称为点云视频数据。根据实施方式的点云视频可包括一个或更多个帧。一个帧表示静止图像/画面。因此,点云视频可包括点云图像/帧/画面,并且可被称为点云图像、帧或画面。
83.根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可包括基于几何的点云压缩(g-pcc)编码和/或基于视频的点云压缩(v-pcc)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可输出包含编码的点云视频数据的比特流。比特流可不仅包含编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
84.根据实施方式的发送器10003发送包含编码的点云视频数据的比特流。根据实施方式的比特流被封装在文件或片段(例如,流片段)中,并且经由诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送装置10000可包括被配置为执行封装操作的封装器(或封装模块)。根据实施方式,封装器可包括在发送器10003中。根据实施方式,文件或片段可经由网络发送到接收装置10004,或者存储在数字存储介质(例如,usb、sd、cd、dvd、蓝光、hdd、ssd等)中。根据实施方式的发送器10003能够经由4g、5g、6g等网络与接收装置10004(或接收器10005)有线/无线通信。另外,发送器可根据网络系统(例如,4g、5g或6g通信网络系统)执行必要的数据处理操作。发送装置10000可按照按需方式发送封装的数据。
85.根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可包括被配置为使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
86.根据实施方式的接收器10005从网络或存储介质接收包含点云视频数据的比特流或者封装有比特流的文件/片段。接收器10005可根据网络系统(例如,4g、5g、6g等的通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可将所接收的文件/片段解封装并输出比特流。根据实施方式,接收器10005可包括被配置为执行解封装操作的解封装器(或解封装模块)。解封装器可被实现为与接收器10005分离的元件(或组件)。
87.点云视频解码器10006将包含点云视频数据的比特流解码。点云视频解码器10006可根据点云视频数据被编码的方法(例如,按点云视频编码器10002的操作的相反过程)来将点云视频数据解码。因此,点云视频解码器10006可通过执行点云解压缩编码(点云压缩的逆过程)来将点云视频数据解码。点云解压缩编码包括g-pcc编码。
88.渲染器10007渲染解码的点云视频数据。渲染器10007可通过不仅渲染点云视频数据,而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可包括被配置为显示点云内容的显示器。根据实施方式,显示器可被实现为单独的装置或组件而非包括在渲染器10007中。
89.图中由虚线指示的箭头表示接收装置10004所获取的反馈信息的传输路径。反馈信息是反映与消费点云内容的用户的交互性的信息,并且包括关于用户的信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是用于需要与用户交互的服务(例如,自驾驶
服务等)的内容时,反馈信息可被提供给内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可在接收装置10004以及发送装置10000中使用,或者可不提供。
90.根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10004可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户通过其观看点云视频的点,并且可指视口区域的中心点。也就是说,视口是以视点为中心的区域,并且区域的尺寸和形状可由视场(fov)确定。因此,除了头部取向信息之外,接收装置10004还可基于装置所支持的垂直或水平fov来提取视口信息。另外,接收装置10004执行注视分析等以检查用户消费点云的方式、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10004可将包括注视分析结果的反馈信息发送到发送装置10000。根据实施方式的反馈信息可在渲染和/或显示过程中获取。根据实施方式的反馈信息可由包括在接收装置10004中的一个或更多个传感器取得。根据实施方式,反馈信息可由渲染器10007或单独的外部元件(或装置、组件等)取得。图1中的虚线表示发送渲染器10007所取得的反馈信息的过程。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10006可基于反馈信息来执行解码操作。接收装置10004可将反馈信息发送到发送装置10000。发送装置10000(或点云视频数据编码器10002)可基于反馈信息来执行编码操作。因此,点云内容提供系统可基于反馈信息有效地处理必要数据(例如,与用户的头部位置对应的点云数据)而非处理(编码/解码)整个点云数据,并将点云内容提供给用户。
91.根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
92.根据实施方式的图1的点云内容提供系统中(通过获取/编码/传输/解码/渲染的一系列过程)处理的点云数据可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
93.图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
94.图2是示出根据实施方式的点云内容提供操作的框图。
95.图2的框图示出图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可基于点云压缩编码(例如,g-pcc)来处理点云数据。
96.根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可获取点云视频(20000)。点云视频由属于用于表达3d空间的坐标系的点云表示。根据实施方式的点云视频可包括ply(polygon文件格式或stanford triangle格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可包括一个或更多个ply文件。ply文件包含诸如点几何和/或属性的点云数据。几何包括点的位置。各个点的位置可由表示三维坐标系(例如,由x、y和z轴组成的坐标系)的参数(例如,x、y和z轴的值)表示。属性包括点的属性(例如,关于各个点的纹理、颜色(ycbcr或rgb)、反射率r、透明度等的信息)。点具有一个或更多个属性。例如,点可具有颜色属性或者颜色和反射率两个属性。根据实施方式,几何可被称为位置、几何信息、几何数据等,并且属性可被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可从与点云视频获取过程有关的信息(例如,深度信息、颜色信息等)取得点云数据。
97.根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可对点云数据进行编码(20001)。点云内容提供系统可基于点云压缩编码对点云数据进行编码。如上所述,点云数据可包括点的几何和属性。因此,点云内容提供系统可执行对几何进行编码的几何编码并输出几何比特流。点云内容提供系统可执行对属性进行编码的属性编码并输出属性比特流。根据实施方式,点云内容提供系统可基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可被复用并作为一个比特流输出。根据实施方式的比特流还可包含与几何编码和属性编码有关的信令信息。
98.根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可发送编码的点云数据(20002)。如图1所示,编码的点云数据可由几何比特流和属性比特流表示。另外,编码的点云数据可与点云数据的编码相关的信令信息(例如,与几何编码和属性编码有关的信令信息)一起以比特流的形式发送。点云内容提供系统可将承载编码的点云数据的比特流封装并以文件或片段的形式将其发送。
99.根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可接收包含编码的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可将比特流解复用。
100.点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将比特流中发送的编码的点云数据(例如,几何比特流、属性比特流)解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可基于比特流中包含的与点云视频数据的编码有关的信令信息将点云视频数据解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将几何比特流解码以重构点的位置(几何)。点云内容提供系统可通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可根据重构的几何和解码的属性基于位置来重构点云视频。
101.根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可渲染解码的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可使用各种渲染方法来渲染通过解码过程解码的几何和属性。点云内容中的点可被渲染为具有特定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或者以对应顶点位置为中心的圆。渲染的点云内容的全部或部分通过显示器(例如,vr/ar显示器、一般显示器等)提供给用户。
102.根据实施方式的点云内容提供系统(例如,接收装置10004)可取得反馈信息(20005)。点云内容提供系统可基于反馈信息对点云数据进行编码和/或解码。根据实施方式的点云内容提供系统的反馈信息和操作与参照图1描述的反馈信息和操作相同,因此省略其详细描述。
103.图3示出根据实施方式的捕获点云视频的示例性过程。
104.图3示出参照图1至图2描述的点云内容提供系统的示例性点云视频捕获过程。
105.点云内容包括表示位于各种3d空间(例如,表示真实环境的3d空间、表示虚拟环境的3d空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可使用一个或更多个相机(例如,能够取得深度信息的红外相机、能够提取与深度信息对应的颜色信息的rgb相机等)、投影仪(例如,取得深度信息的红外图案投影仪)、
lidar等来捕获点云视频。根据实施方式的点云内容提供系统可从深度信息提取由3d空间中的点组成的几何形状并且从颜色信息提取各个点的属性以取得点云数据。根据实施方式的图像和/或视频可基于面向内技术和面向外技术中的至少一个来捕获。
106.图3的左侧部分示出面向内技术。面向内技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的图像的技术。面向内技术可用于生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员的关键对象)的360度图像的vr/ar内容)。
107.图3的右侧部分示出面向外技术。面向外技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的环境而非中心对象的图像的技术。面向外技术可用于生成提供从用户的视角出现的周围环境的点云内容(例如,可提供给自驾驶车辆的用户的表示外部环境的内容)。
108.如图所示,可基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,在相机之间坐标系可不同,因此点云内容提供系统可在捕获操作之前校准一个或更多个相机以设定全局坐标系。另外,点云内容提供系统可通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频合成来生成点云内容。点云内容提供系统在生成表示虚拟空间的点云内容时可不执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可对捕获的图像和/或视频执行后处理。换言之,点云内容提供系统可去除不想要的区域(例如,背景),识别捕获的图像和/或视频连接至的空间,并且当存在空间空洞时,执行填充空间空洞的操作。
109.点云内容提供系统可通过对从各个相机取得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可基于各个相机的位置坐标对点执行坐标变换。因此,点云内容提供系统可生成表示一个宽范围的内容,或者可生成具有高密度点的点云内容。
110.图4示出根据实施方式的示例性点云编码器。
111.图4示出图1的点云视频编码器10002的示例。点云编码器重构并编码点云数据(例如,点的位置和/或属性)以根据网络条件或应用调节点云内容的质量(例如无损、有损或接近无损)。当点云内容的总大小较大(例如,对于30fps给出60gbps的点云内容)时,点云内容提供系统可能无法实时流传输内容。因此,点云内容提供系统可基于最大目标比特率来重构点云内容以根据网络环境等提供点云内容。
112.如参照图1和图2描述的,点云编码器可执行几何编码和属性编码。几何编码在属性编码之前执行。
113.根据实施方式的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化和去除点(体素化))40001、八叉树分析器(分析八叉树)40002和表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换器(变换属性)40007、raht变换器(raht)40008、lod生成器(生成lod)40009、提升变换器(提升)40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
114.坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可执行几何编码。根据实施方式的几何编码可包括八叉树几何编码、直接编码、三联体几何编码和熵编码。直接编码和三联体几何编码选择性地或
组合应用。几何编码不限于上述示例。
115.如图所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可被变换为三维空间(例如,由xyz坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可被称为几何信息。
116.根据实施方式的量化器40001将几何量化。例如,量化器40001可基于所有点的最小位置值(例如,x、y和z轴中的每一个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与各个点的位置值之间的差乘以预设量化标度值,然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可具有相同的量化位置(或位置值)。根据实施方式的量化器40001基于量化位置执行体素化以重构量化点。如像素(包含2d图像/视频信息的最小单元)的情况中一样,根据实施方式的点云内容(或3d点云视频)的点可包括在一个或更多个体素中。作为体积和像素的复合体,术语体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间划分成单元(单位=1.0)时生成的3d立方空间。量化器40001可使3d空间中的点组与体素匹配。根据实施方式,一个体素可仅包括一个点。根据实施方式,一个体素可包括一个或更多个点。为了将一个体素表示为一个点,体素的中心的位置可基于包括在体素中的一个或更多个点的位置来设定。在这种情况下,包括在一个体素中的所有位置的属性可被组合并指派给体素。
117.根据实施方式的八叉树分析器40002执行八叉树几何编码(或八叉树编码)以按八叉树结构呈现体素。八叉树结构表示基于八进制树结构与体素匹配的点。
118.根据实施方式的表面近似分析器40003可分析并近似八叉树。根据实施方式的八叉树分析和近似是分析包含多个点的区域以有效地提供八叉树和体素化的过程。
119.根据实施方式的算术编码器40004对八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。作为编码结果,生成几何比特流。
120.颜色变换器40006、属性变换器40007、raht变换器40008、lod生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,对各个元素独立地应用属性编码。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(raht)编码、基于插值的分层最近邻居预测(预测变换)编码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)编码。根据点云内容,可选择性地使用上述raht编码、预测变换编码和提升变换编码,或者可使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
121.根据实施方式的颜色变换器40006执行变换包括在属性中的颜色值(或纹理)的颜色变换编码。例如,颜色变换器40006可变换颜色信息的格式(例如,从rgb到ycbcr)。可选地,可根据包括在属性中的颜色值来应用根据实施方式的颜色变换器40006的操作。
122.根据实施方式的几何重构器40005重构(解压缩)八叉树和/或近似八叉树。几何重构器40005基于分析点分布的结果来重构八叉树/体素。重构的八叉树/体素可被称为重构的几何(恢复的几何)。
123.根据实施方式的属性变换器40007执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。如上所述,由于属性取决于几何,所以属性变换器40007可基
于重构的几何信息来变换属性。例如,基于包括在体素中的点的位置值,属性变换器40007可变换该位置处的点的属性。如上所述,当基于包括在体素中的一个或更多个点的位置来设定体素的中心位置时,属性变换器40007变换一个或更多个点的属性。当执行三联体几何编码时,属性变换器40007可基于三联体几何编码来变换属性。
124.属性变换器40007可通过计算距各个体素的中心位置(或位置值)特定位置/半径内的邻居点的属性或属性值(例如,各个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可在计算平均时根据从中心到各个点的距离来应用权重。因此,各个体素具有位置和计算的属性(或属性值)。
125.属性变换器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树或莫顿码。
126.如图所示,变换的属性被输入到raht变换器40008和/或lod生成器40009。
127.根据实施方式的raht变换器40008基于重构的几何信息来执行用于预测属性信息的raht编码。例如,raht变换器40008可基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
128.根据实施方式的lod生成器40009生成细节级别(lod)来执行预测变换编码。根据实施方式的lod是点云内容的细节程度。随着lod值减小,指示点云内容的细节劣化。随着lod值增大,指示点云内容的细节增强。点可按lod分类。
129.根据实施方式的提升变换器40010执行基于权重来变换点云属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
130.根据实施方式的系数量化器40011基于系数来量化属性编码的属性。
131.根据实施方式的算术编码器40012基于算术编码对量化的属性进行编码。
132.尽管图中未示出,图4的点云编码器的元件可由包括被配置为与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图4的点云编码器的元件的操作和/或功能中的至少一个。另外,一个或更多个处理器可操作或执行用于执行图4的点云编码器的元件的操作和/或功能的软件程序和/或指令集合。根据实施方式的一个或更多个存储器可包括高速随机存取存储器,或者包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储器装置)。
133.图5示出根据实施方式的体素的示例。
134.图5示出位于由三个轴(x轴、y轴和z轴)所组成的坐标系表示的3d空间中的体素。如参照图4所述,点云编码器(例如,量化器40001)可执行体素化。体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间划分成单元(单位=1.0)时生成的3d立方空间。图5
示出通过八叉树结构生成的体素的示例,其中由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框被递归地再分。一个体素包括至少一个点。可从与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有类似2d图像/视频的像素的属性(例如,颜色或反射率)。体素的细节与参照图4描述的那些相同,因此省略其描述。
135.图6示出根据实施方式的八叉树和占用代码的示例。
136.如参照图1至图4所描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编码(或八叉树编码)以有效地管理体素的区域和/或位置。
137.图6的上部示出八叉树结构。根据实施方式的点云内容的3d空间由坐标系的轴(例如,x轴、y轴和z轴)表示。通过由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框的递归再分来创建八叉树结构。这里,2d可被设定为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。d的值在下式中确定。在下式中,(x
intn
,y
intn
,z
intn
)表示量化的点的位置(或位置值)。
[0138][0139]
如图6的上部的中间所示,整个3d空间可根据分区被划分成八个空间。各个划分的空间由具有六个面的立方体表示。如图6的右上部所示,八个空间中的每一个基于坐标系的轴(例如,x轴、y轴和z轴)再次划分。因此,各个空间被划分成八个更小的空间。所划分的更小的空间也由具有六个面的立方体表示。应用该分割方案,直至八叉树的叶节点变为体素。
[0140]
图6的下部示出八叉树占用代码。生成八叉树的占用代码以指示通过划分一个空间而生成的八个划分的空间中的每一个是否包含至少一个点。因此,单个占用代码由八个子节点表示。各个子节点表示划分的空间的占用,并且子节点具有1比特的值。因此,占用代码被表示为8比特代码。也就是说,当与子节点对应的空间中包含至少一个点时,节点被指派值1。当与子节点对应的空间中不包含点(空间为空)时,节点被指派值0。由于图6所示的占用代码为00100001,所以指示与八个子节点当中的第三子节点和第八子节点对应的空间各自包含至少一个点。如图所示,第三子节点和第八子节点中的每一个具有八个子节点,并且子节点由8比特占用代码表示。附图示出第三子节点的占用代码为10000111,并且第八子节点的占用代码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可对占用代码执行熵编码。为了增加压缩效率,点云编码器可对占用代码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用代码来重构八叉树。
[0141]
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可执行体素化和八叉树编码以存储点位置。然而,点并不总是在3d空间中均匀分布,因此可能有存在较少点的特定区域。因此,对整个3d空间执行体素化是低效的。例如,当特定区域包含很少点时,在该特定区域中不需要执行体素化。
[0142]
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可跳过体素化并执行直接编码以直接对包括在特定区域中的点位置进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(dcm)。根据实施方式的点云编码器还可基于表面模型执行三联体几何编码,其要基于体素来重构特定区域(或节点)中的点位
置。三联体几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可从网格表面生成点云。根据实施方式的直接编码和三联体几何编码可选择性地执行。另外,根据实施方式的直接编码和三联体几何编码可与八叉树几何编码(或八叉树编码)组合执行。
[0143]
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。要应用直接编码的节点不是叶节点,在特定节点内应该存在小于阈值的点。另外,要应用直接编码的点的总数不应超过预设阈值。当满足上述条件时,根据实施方式的点云编码器(或算术编码器40004)可对点位置(或位置值)执行熵编码。
[0144]
根据实施方式的点云编码器(例如,表面近似分析器40003)可确定八叉树的特定级别(小于八叉树的深度d的级别),并且可从该级别开始使用表面模型以执行三联体几何编码,以基于体素来重构节点区域中的点位置(三联体模式)。根据实施方式的点云编码器可指定要应用三联体几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三联体模式下操作。换言之,仅当指定的级别小于八叉树的深度值时,根据实施方式的点云编码器才可在三联体模式下操作。根据实施方式的指定级别的节点的3d立方区域被称为块。一个块可包括一个或更多个体素。块或体素可对应于方块。几何被表示为各个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
[0145]
一个块具有12条边,因此一个块中存在至少12个交点。各个交点被称为顶点。当共享边的所有块当中存在与边相邻的至少一个占用体素时,检测沿着边存在的顶点。根据实施方式的占用体素是指包含点的体素。沿着边检测到的顶点位置是沿着共享边的所有块当中与边相邻的所有体素的边的平均位置。
[0146]
一旦检测到顶点,根据实施方式的点云编码器就可对边的起点(x,y,z)、边的方向向量(δx,δy,δz)和顶点位置值(边内的相对位置值)执行熵编码。当应用三联体几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
[0147]
位于块的边处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构过程中,基于边的起点、边的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程这样执行:1)计算各个顶点的质心值,2)从各个顶点值减去中心值,并且3)估计通过减法获得的值的平方和。
[0148]
①②③
[0149]
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x最小时,各个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于四个顶点,可根据顶点组合构造两个三角形。第一个三角形可由排序的顶点当中的顶点1、2和3组成,第二个三角形可由排序的顶点当中的顶点3、4和1组成。
[0150]
表2-1.从排序为1的顶点形成的三角形
[0151][0152][0153]
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可将细化顶点体素化。另外,点云编码器可基于体素化的位置(或位置值)来执行属性编码。
[0154]
图7示出根据实施方式的邻居节点图案的示例。
[0155]
为了增加点云视频的压缩效率,根据实施方式的点云编码器可基于上下文自适应算术编码来执行熵编码。
[0156]
如参照图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可立即对占用代码执行熵编码。另外,点云内容提供系统或点云编码器可基于当前节点的占用代码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用代码执行熵编码(帧间编码)。根据实施方式的帧表示同时生成的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可取决于所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可偏向一侧,这可增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编码。为编码划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
[0157]
图7示出基于邻居节点的占用来获得占用图案的过程。根据实施方式的点云编码器确定八叉树的各个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案用于推断节点的占用图案。图7的左侧部分示出与节点对应的立方体(位于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指派权重。
[0158]
图7的右侧部分示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示所有邻居节点均是占用节点。如图所示,由于指派有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15(1、2、4和8之和)。点云编码器可根据邻居节点图案值执行编码(例如,当邻居节点图案值为63时,可执行64种类型的编码)。根据实施方式,点云编码器可通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来降低编码复杂度。
[0159]
图8示出根据实施方式的各个lod中的点配置的示例。
[0160]
如参照图1至图7描述的,在执行属性编码之前将编码的几何重构(解压缩)。当应用直接编码时,几何重构操作可包括改变直接编码的点的放置(例如,将直接编码的点放置在点云数据前面)。当应用三联体几何编码时,通过三角形重构、上采样和体素化来执行几何重构过程。由于属性取决于几何,所以基于重构的几何来执行属性编码。
[0161]
点云编码器(例如,lod生成器40009)可按lod对点进行分类(重新组织)。图中示出与lod对应的点云内容。图中最左侧画面表示原始点云内容。图中左起第二个画面表示最低lod中的点分布,图中最右侧画面表示最高lod中的点分布。也就是说,最低lod中的点稀疏分布,最高lod中的点密集分布。也就是说,随着lod在图底部所指示的箭头所指的方向上升高,点之间的空间(或距离)变窄。
[0162]
图9示出根据实施方式的用于各个lod的点配置的示例。
[0163]
如参照图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或lod生成器40009)可生成lod。通过根据设定的lod距离值(或欧几里得距离集合)将点重新组织为细化级别的集合来生成lod。lod生成过程不仅由点云编码器执行,而且由点云解码器执行。
[0164]
图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。
[0165]
如参照图4所描述的,根据实施方式的点云编码器可选择性地或组合地执行预测变换编码、提升变换编码和raht变换编码。
[0166]
根据实施方式的点云编码器可为点生成预测器以执行用于设定各个点的预测属性(或预测属性值)的预测变换编码。也就是说,可为n个点生成n个预测器。根据实施方式的预测器可基于各个点的lod值、关于存在于各个lod的设定距离内的邻居点的索引信息以及到邻居点的距离来计算权重(=1/距离)。
[0167]
根据实施方式的预测属性(或属性值)被设定为通过将各个点的预测器中设定的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到各个邻居点的距离计算的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可量化和逆量化通过从各个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
[0168]
属性预测残差量化伪代码
[0169]
int pccquantization(int value,int quantstep){
[0170]
if(value》=0){
[0171]
return floor(value/quantstep 1.0/3.0);
[0172]
}else{
[0173]
return-floor(-value/quantstep 1.0/3.0);
[0174]
}
[0175]
}
[0176]
属性预测残差逆量化伪代码
[0177]
int pccinversequantization(int value,int quantstep){
[0178]
if(quantstep==0){
[0179]
return value;
[0180]
}else{
[0181]
return value*quantstep;
[0182]
}
[0183]
}
[0184]
当各个点的预测器具有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可如上所述对量化和逆量化的残差值执行熵编码。当各个点的预测器没有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可对对应点的属性执行熵编码,而不执行上述操作。
[0185]
根据实施方式的点云编码器(例如,提升变换器40010)可生成各个点的预测器,设定计算的lod并在预测器中注册邻居点,并且根据到邻居点的距离来设定权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于,对属性值累积地应用权重。根据实施方式对属性值累积地应用权重的过程配置如下。
[0186]
1)创建用于存储各个点的权重值的阵列量化权重(qw)。qw的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
[0187]
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0188]
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
[0189]
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的qw中的权重而计算的权重与updateweight阵列累加,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值与update阵列累加。
[0190]
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
[0191]
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在qw中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行熵编码。
[0192]
根据实施方式的点云编码器(例如,raht变换器40008)可执行raht变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。raht变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在每一步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
[0193]
下式表示raht变换矩阵。在该式中,表示级别l的体素的平均属性值。可基于和来计算。和的权重为和
[0194][0195]
这里,是低通值并且在次高级别的合并过程中使用。表示高通系数。每一步的高通系数被量化并经受熵编码(例如,由算术编码器400012编码)。权重被计算为通过和创建根节点如下。
[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]
当应用三联体几何编码时,根据实施方式的表面近似合成器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、预测/提升/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将点的量化的位置值体素化。体素化处理器120002可执行与参照图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、预测/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参照图1至图9描述的属性编码相同或相似,因此省略其详细描述。
[0228]
根据实施方式的颜色变换处理器12008执行颜色变换编码以变换包括在属性中的颜色值。颜色变换处理器12008可基于重构的几何来执行颜色变换编码。重构的几何与参照图1至图9描述的相同。另外,其执行与参照图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
[0229]
根据实施方式的属性变换处理器12009执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。属性变换处理器12009执行与参照图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施方式的预测/提升/raht变换处理器12010可通过raht编码、预测变换编码和提升变换编码中的任一
种或组合对变换的属性进行编码。预测/提升/raht变换处理器12010执行与参照图4描述的raht变换器40008、lod生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编码、提升变换编码和raht变换编码与参照图1至图9描述的那些相同,因此省略其详细描述。
[0230]
根据实施方式的算术编码器12011可基于算术编码对编码的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
[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、预测/提升/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、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参照图1至图10描述的属性解码相同或相似,因此省略其详细描述。
[0245]
根据实施方式的算术解码器13007可通过算术编码对属性比特流进行解码。算术解码器13007可基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或相似的操作和/或编码。
[0246]
根据实施方式的逆量化处理器13008可逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
[0247]
根据实施方式的预测/提升/raht逆变换器13009可处理重构的几何和逆量化的属性。预测/提升/raht逆变换处理器13009执行与raht变换器11007、lod生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施方式的颜色逆变换处理器13010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或相似的操作和/或逆变换编码。根据实施方式的渲染器13011可渲染点云数据。
[0248]
图14示出根据实施方式的可结合点云数据发送/接收方法/装置操作的示例性结构。
[0249]
图14的结构表示服务器1460、机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或头戴式显示器(hmd)1470中的至少一个连接到云网络1400的配置。机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440或家用电器1450被称为装置。此外,xr装置1430可对应于根据实施方式的点云数据(pcc)装置或者可操作上连接到pcc装置。
[0250]
云网络1400可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可使用3g网络、4g或长期演进(lte)网络或5g网络来配置。
[0251]
服务器1460可经由云网络1400连接到机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或hmd 1470中的至少一个,并且可辅助连接的装置1410至
1470的至少一部分处理。
[0252]
hmd 1470表示根据实施方式的xr装置和/或pcc装置的实现类型之一。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0253]
以下,将描述应用了上述技术的装置1410至1450的各种实施方式。图14所示的装置1410至1450可操作上连接/联接到根据上述实施方式的点云数据发送/接收装置。
[0254]
《pcc xr》
[0255]
xr/pcc装置1430可采用pcc技术和/或xr(ar vr)技术,并且可被实现为hmd、设置在车辆中的平视显示器(hud)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
[0256]
xr/pcc装置1430可分析通过各种传感器或从外部装置获取的3d点云数据或图像数据并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置1430可获取关于周围空间或真实对象的信息,并且渲染和输出xr对象。例如,xr/pcc装置1430可使包括关于所识别的对象的辅助信息的xr对象与所识别的对象匹配并输出匹配的xr对象。
[0257]
《pcc xr 移动电话》
[0258]
xr/pcc装置1430可以采用pcc技术,并且可以被实现为移动电话等。
[0259]
移动电话可以基于pcc技术对点云内容进行解码和显示。
[0260]
《pcc 自驾驶 xr》
[0261]
自驾驶车辆1420可通过应用pcc技术和xr技术被实现为移动机器人、车辆、无人驾驶飞行器等。
[0262]
应用了xr/pcc技术的自驾驶车辆1420可表示设置有用于提供xr图像的装置的自驾驶车辆,或者作为xr图像中的控制/交互目标的自驾驶车辆。具体地,作为xr图像中的控制/交互目标,自驾驶车辆1420可与xr装置1430相区分并且可操作上与之连接。
[0263]
具有用于提供xr/pcc图像的装置的自驾驶车辆1420可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的xr/pcc图像。例如,自驾驶车辆1420可具有hud并向其输出xr/pcc图像,由此向乘客提供与真实对象或呈现在画面上的对象对应的xr/pcc对象。
[0264]
当xr/pcc对象被输出到hud时,可输出xr/pcc对象的至少一部分以与乘客的眼睛所指向的真实对象交叠。另一方面,当xr/pcc对象输出在设置在自驾驶车辆内的显示器上时,可输出xr/pcc对象的至少一部分以与画面上的对象交叠。例如,自驾驶车辆1220可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的xr/pcc对象。
[0265]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0266]
换言之,vr技术是仅提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上显示虚拟创建的cg图像的技术。mr技术与上述ar技术的相似之处在于,要显示的虚拟对象与真实世界混合和组合。然而,mr技术与ar技术的不同之处在于,ar技术在真实对象和作为cg图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象当作具有与真实对象等同的特性的对象。更具体地,mr技术应用的示例是全息服务。
[0267]
最近,vr、ar和mr技术通常被称为扩展显示(xr)技术,而非彼此明确区分。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc和g-pcc技术的编码/解码适用于这种技术。
[0268]
根据实施方式的pcc方法/装置可被应用于提供自驾驶服务的车辆。
[0269]
提供自驾驶服务的车辆连接到pcc装置以进行有线/无线通信。
[0270]
当根据实施方式的点云数据(pcc)发送/接收装置连接到车辆以进行有线/无线通信时,装置可接收/处理与ar/vr/pcc服务(可与自驾驶服务一起提供)有关的内容数据,并将其发送到车辆。在pcc发送/接收装置安装在车辆上的情况下,pcc发送/接收装置可根据通过用户接口装置输入的用户输入信号接收/处理与ar/vr/pcc服务有关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
[0271]
图15示出根据实施方式的点云编码器。
[0272]
根据实施方式的点云编码器15000接收点云数据(pcc数据)15000a并对其进行编码。根据实施方式的点云编码器输出几何信息比特流15000b和属性信息比特流15000c。根据实施方式的点云编码器15000可以包括空间分割器15001、几何信息编码器15002和/或属性信息编码器15003。
[0273]
图15的点云编码器可以对应于或被组合到图1的发送装置1000、图1的点云视频编码器10002、图2的编码18001、图4的编码器、图12的发送装置和图14的xr装置1430。
[0274]
点云编码器的空间分割器15001可以接收点云数据(pcc数据)15000a,并且将点云数据分割成一个或更多个3d空间。空间分割器15001可以接收点云数据并且将点云数据空间地分割成3d块。点云数据可以包含关于点(或多个点)的几何信息和/或属性信息。空间分割器15001可以基于边界框和/或子边界框在空间上分割点云数据(pcc数据)。根据实施方式的方法/装置可以基于分割单元(框)执行编码/解码。
[0275]
根据实施方式的发送装置(例如,空间分割器)可以将3d空间中的点云数据分割成可以并行地处理的单元以便压缩点云数据。根据实施方式的空间分割器15001可以将点云数据分割成切片,以便接收装置支持用户的可缩放性和/或感兴趣区域(roi)功能。
[0276]
根据实施方式的发送装置可以将根据实施方式的点云数据分割为切片(其可以被称为方块)或拼块,以实现接收装置的低时延、低复杂度、时间可缩放性、空间可缩放性、基于roi的空间可缩放性、质量可缩放性、并行编码和并行解码。因此,根据实施方式的发送装置需要以切片的单位来执行支持可缩放性调节和量值调节的操作。因此,根据实施方式的点云数据发送装置可以配置交叠的切片,使得包括切片之间的交叠区域。下面将详细描述根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个切片(或交叠切片)的方法。
[0277]
切片可以表示用于由根据实施方式的点云数据发送装置对点云数据进行编码和/或解码的单元(或最小单元),并且点云数据发送装置和/或接收装置可以逐切片地独立地编码和/或解码点云数据。根据实施方式的切片也可以被称为方块、块或宏块。
[0278]
空间分割器15001可以执行图1的点云获取10001、图2的获取18000、图3至图5的操作以及图12的数据输入单元12000的操作中的一些/全部。
[0279]
几何信息编码器15002接收根据实施方式的点云数据(pcc数据)的几何信息并对
其进行编码。几何信息可以表示关于点云数据中包括的点的位置信息。几何信息编码器15002编码几何信息并且输出几何信息比特流。几何信息编码器15002可重构关于点的位置信息并且输出重构的几何信息15002a。几何信息编码器15002可将重构的几何信息发送到属性信息编码器15002。
[0280]
几何信息编码器15002可以执行图1的点云视频编码器10002、图2的编码20001、图4的坐标变换器40000、量化器40001和八叉树分析器40002、表面近似分析器40003、算术编码器40004、几何重构器40005、图12的量化处理器12001、图12的体素化处理器12002、图12的八叉树占用代码生成器12003、图12的表面模型处理器12004、图12的帧内/帧间编码处理器12005、和/或图12的算术编码器12006的操作中的一些/全部。
[0281]
根据实施方式,属性信息编码器15002可以接收点云数据的属性信息,并且基于从几何信息编码器15002接收的重构的几何信息来编码属性信息。属性信息编码器15003对属性信息进行编码,并输出属性信息比特流15000c。根据实施方式,属性信息编码器15003可以执行例如预测变换、提升变换和/或区域自适应分层变换(raht)。属性信息编码器15003可执行例如预测提升变换。预测提升变换可以意味着根据实施方式的预测变换和/或提升变换的详细操作中的一些或全部的组合。
[0282]
根据实施方式的点云编码器可以执行根据实施方式的预测变换、提升变换和/或raht的一些、全部和/或组合。
[0283]
属性信息编码器15003可以执行图1的点云视频编码器10002、图2的编码20001、图4的颜色变换器40006、属性变换器40007、rath变换器40008、lod生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012、图12的颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011的操作中的全部/一些。
[0284]
这里,重构的几何信息15002c可表示由参照图4描述的几何重构器(重构几何)40005重构的八叉树和/或近似八叉树。重构的几何信息可以表示参照图6描述的占用代码或表示八叉树结构。重构的几何信息可以表示由参照图12描述的八叉树占用代码生成器12003生成的八叉树占用代码。
[0285]
根据实施方式,属性信息编码器15003可以编码点云数据的属性信息。这里,根据实施方式的编码器15003可以基于根据实施方式的重构的几何信息来编码属性信息。属性信息编码器15003可以通过对接收到的数据进行编码来生成包含属性信息的比特流。
[0286]
根据实施方式的属性信息编码器15003可以包括图4的颜色变换器40006、属性变换器40007、raht变换器40008、lod生成器40009、提升变换器40010和系数量化器40011和/或算术编码器40012。
[0287]
根据实施方式的点云数据可以根据数据的特性被分类为类别1和类别3。类别1数据可以是静态数据并且由一个帧组成。类别3数据可以是动态数据并由n个帧组成。根据数据采集方法,作为点云数据的文件格式的ply文件可由多个点组成。
[0288]
根据实施方式的点可以包括属性信息,该属性信息包括关于点的位置信息(几何信息)、颜色信息、反射率信息、时间信息和法向向量信息。根据实施方式的点可以取决于要呈现的条件而包括各种信息。由点组成的类别1数据和类别3数据可以包括包含大量点的帧。然而,当根据实施方式的点云数据发送装置接收并编码包括点的帧时,可能导致资源的
不必要的使用和时延。
[0289]
因此,对于根据实施方式的点云数据发送装置,发送和编码点云数据的操作、接收装置的解码操作以及接收装置的渲染处理的操作可以实时执行,并且点云数据可以被分割成多个区域以便以低时延进行处理。根据实施方式的点云数据发送装置可以将点云数据的帧分割成拼块、切片和/或方块。
[0290]
因此,根据实施方式的点云数据发送装置可以根据用于提高3d点云数据的并行处理能力和可缩放性的独立数据分割方法来分割点云数据。独立数据分割可以包括空间自适应分割以支持空间上彼此接近的点的重新分割。
[0291]
由于根据实施方式的点云数据发送装置分割点云数据并且独立地对其进行编码,所以它可以使得在由点云数据占用的3d空间中能够进行随机访问和并行编码。
[0292]
图16示出根据实施方式的点云编码器。
[0293]
根据实施方式的点云编码器可以包括数据特性检查器16000、方块拼块单元16001、分割的数据输入单元16002、坐标变换器16003、量化/体素化处理器16004、八叉树占用代码生成器16005、表面模型处理器16006、第一算术编码器16007、几何重构器16008、颜色变换处理器16009、属性变换处理器16010、预测/提升/raht变换处理器16011、系数量化处理器16012、第二算术编码器16013和/或比特流组合器16014。
[0294]
图16所示的点云编码器可以对应于或被组合到图1的发送装置1000、图1的点云视频编码器10002、图2的编码18001、图4的编码器、图12的发送装置和图14的xr装置1430。
[0295]
图16的数据特性检查器16000、方块拼块单元16001和分割的数据输入单元16002可以是包括在图1的点云视频获取10001、图1的点云视频编码器10002和图2的获取18000、图2的编码18001、图12的数据输入单元12000和图15的空间分割器15001中的元件。
[0296]
坐标变换器16003可以是图4的变换坐标38000和图12的量化处理器12001。量化/体素化处理器16004可以是图4的量化和去除点(体素化)38001或图12的体素化处理器12002,并且执行图5至图7的操作。八叉树占用代码生成器16005可以是图4的八叉树分析器38002或图12的八叉树占用代码生成器12003,并且执行图6和图7的操作。表面模型处理器16006可以是图4的表面近似分析器38003或图12的表面模型处理器12004。第一算术编码器16007和几何重构器16008可以是图4的算术编码器38004和图12的算术编码器12006。颜色变换处理器16009可以是图4的颜色变换器38006或图12的颜色变换处理器12008。属性变换处理器16010可以是图4的属性变换器38007或图12的属性变换处理器12009。预测/提升/raht变换处理器16011可以是图4的raht 38008、lod生成器38009和提升变换器40010的全部或部分,并且可以是图12的预测/提升/raht变换处理器12010。系数量化处理器16012和第二算术编码器16013可对应于图4的系数量化器40011、图4的算术编码器40012和图12的算术编码器12011。
[0297]
在图16中,坐标变换器16003、量化/体素化处理器16004、八叉树占用代码生成器16005、表面模型处理器16006、第一算术编码器16007和几何重构器16008可以被包括在图15的几何信息编码器15002中。在图16中,几何重构器16008、颜色变换处理器16009、属性变换处理器16010、预测/提升/raht变换处理器16011、系数量化处理器16012、第二算术编码器16013可以被包括在图15的属性信息编码器15003中。
[0298]
根据实施方式的点云数据编码器表示根据实施方式的图15的点云数据编码器
15000的示例。根据实施方式,编码器可被称作编码装置,并且解码器可被称作解码装置。
[0299]
数据特性检查器16000接收根据实施方式的点云数据,并且检查所接收的点云数据的特性。例如,数据特性检查器16000可检查点云数据的点是密集地分布在特定区域中还是稀疏地分布在特定区域中。数据特性检查器16000可检查点云数据是否由包括多个帧的点云序列组成,就像用于自驾驶的数据或lidar数据一样。数据特性检查器16000可检查一个帧内的点云数据是否被收集在特定区域中(例如,与左、右、上、下、前或后连续的属性信息值是否被收集)。数据特性检查器16000可检查由点云数据表示的对象是否彼此间隔开。数据特性检查器16000可检查由点云数据占用的3d空间是否在一个方向上延伸(例如,特定轴比其它轴过长)。
[0300]
拼块单元16001接收根据实施方式的点云数据,并且生成接收的点云数据的一个或更多个拼块、一个或更多个切片或一个或更多个方块。也就是说,方块拼块单元16001可以将点云数据分割成拼块、切片或方块。方块拼块单元16001输出被分割成拼块、切片或方块的点云数据。
[0301]
拼块可以表示由根据实施方式的点云数据占用的3d空间的部分区域。根据实施方式,拼块可以包括一个或更多个切片。由于根据实施方式的拼块可以被分割成一个或更多个切片,所以点云数据编码器可以并行地编码点云数据。点云数据编码器可根据数据的特性对拼块的一个或更多个切片中的每一个不同地执行量化和/或变换。
[0302]
切片可以表示根据实施方式的点云数据发送装置和接收装置执行编码和解码的数据单元。切片可以表示由点云数据占用的3d空间中的数据的集合,或者可以表示点云数据中的一些数据的集合。切片可以表示包括在根据实施方式的拼块中的点的区域或集合。可基于包含于一个拼块中的点的数量将根据实施方式的拼块分割成一个或更多个切片。例如,一个拼块可以表示按点的数量划分的点的集合。可基于点的数量将根据实施方式的拼块分割成切片,并且可在分割过程期间分割或合并一些数据。
[0303]
块可以表示包括在切片中的点云数据针对每个点被分割的单元。例如,块可以表示由一个切片中的云数据占用的3d空间的部分区域,并且表示根据实施方式的点云数据发送装置和接收装置可以执行编码和解码的详细单元。
[0304]
方块可以表示根据实施方式的块或切片。也就是说,方块可以是切片或表示用于分割点云数据的点的集合或区域。根据实施方式,方块可以被称为区域。
[0305]
根据实施方式的方块拼块表示点云数据发送装置将点云数据分割成一个或更多个方块(切片)的操作。方块拼块可以被称为切片分割。
[0306]
根据实施方式的方块拼块单元16001可以基于诸如基于点密度的方块拼块(切片分割)、圆形扇区方块拼块(切片分割)、层方块拼块(切片分割)、球面/椭圆形区域拼块(切片分割)、基于属性的方块拼块(切片分割)和根据数据的特性的基于轴的自适应分割之类的各种分割方法来执行切片分割。下面将参照图19至图31描述执行分割的方法。
[0307]
根据实施方式,基于点密度的方块拼块可以被称为基于点密度的切片分割,圆形扇区方块拼块可以被称为圆形扇区切片分割,层方块拼块可以被称为层切片分割,并且球形/椭圆形区域拼块可以被称为球形/椭圆形切片分割,并且基于属性的方块拼块可以被称为基于属性的切片分割。
[0308]
例如,当由数据特性检查器16000确定点云数据的点被密集地分布在特定区域中
并且稀疏地分布在特定区域中时,方块拼块单元16001可根据该确定基于基于点密度的方块拼块(切片分割)来执行分割。
[0309]
例如,当由数据特性检查器16000确定点云数据由包括多个帧的点云序列构成时,就像用于自驾驶的数据或lidar数据一样,方块拼块单元16001可以基于圆形扇区方块拼块(切片分割)来执行分割。当由数据特性检查器16000确定一个帧内的点云数据在特定区域中被收集时,方块拼块单元16001可以基于层方块拼块(切片分割)来执行分割。当由数据特性检查器16000确定由点云数据表示的对象彼此间隔开时,方块拼块单元16001可以基于球形/椭圆形区域拼块来执行分割。当由点云数据占用的3d空间在一个方向上延伸时,数据特性检查器16000可基于基于轴的自适应分割来执行分割。
[0310]
根据实施方式,点云数据可以被分割成多个切片。可存在将点云数据分割成多个切片的若干方法。根据实施方式的切片中包括的点云数据可以被独立地编码。根据实施方式的点云数据发送装置和接收装置可以通过逐切片地独立地执行编码和解码来防止在编码和解码过程中累积错误。
[0311]
切片可以表示其中点云数据中的点云帧被分割以用于编码的单元。点云数据可以根据切片分割方案被分割成多个切片。
[0312]
根据将点云数据分割成多个切片的方法的实施方式,可基于颜色信息的方差信息执行分割以便确保颜色连续性。例如,当特定点云或点云数据的区域中的颜色信息的方差信息大于第一阈值时,数据或区域可以被视为非平滑块。当非平滑块与整个点云数据的比例大于第二阈值时,对应于非平滑块的块(或包括在非平滑块中的一些点)可以被提取并被分离成第一切片,并且剩余的未分离的云数据可以被分离成第二切片。根据实施方式,可以计算颜色信息的方差信息以分离第一切片和第二切片。kd树可以用于颜色信息的方差信息。
[0313]
根据实施方式的k-d树(kd树)是二叉树的类型,并且表示用于分割k维空间的分层结构。kd-树方案指的是几何自适应地执行将点云数据分割成切片的方法。
[0314]
根据实施方式,可在诸如方块、块、宏块和/或拼块之类的各种术语中提及切片。另外,根据实施方式的方块拼块可被称为切片分割。
[0315]
分割的数据输入单元16002接收由方块拼块单元16001输出的分区点云数据。分割的数据输入单元16002输出关于每个方块(或切片或拼块)中的点的位置信息(几何信息)和属性信息。分割的数据输入单元16002将关于点的位置信息逐块(或逐切片或逐拼块)地传送到坐标变换器16003,并将关于这些点的属性信息传送到颜色变换处理器16009。
[0316]
根据实施方式的数据特性检查器16000、方块拼块单元16001和/或分割的数据输入单元16002可以被包括在图15的空间分割器15001中。
[0317]
坐标变换器16003可以接收关于根据实施方式的点的位置信息(几何信息),并且可以将关于其的坐标信息进行变换。坐标变换器16003可以将变换的坐标信息传送到量化/体素化处理器16004。坐标变换器16003可以执行图4的坐标变换器40000的操作。
[0318]
量化/体素化处理器16004可以对来自坐标变换器16003的关于点的位置信息执行量化和/或体素化。量化/体素化处理器16004可以将关于点的量化和/或体素化位置信息(几何信息)发送到八叉树占用代码生成器16005。量化/体素化处理器16004可以执行图4的量化/体素化处理器40001和图12的体素化处理器12002的操作。
[0319]
八叉树占用代码生成器16005可以接收量化和/或体素化几何信息,并基于量化和/或体素化几何信息生成八叉树占用代码。八叉树占用代码可以包括表示关于根据实施方式的点的位置信息的数据结构。八叉树占用代码生成器16005可以将八叉树占用代码传送到第一算术编码器16007、表面模型处理器16006和/或几何重构器16008。八叉树占用代码生成器16005可以执行图4的八叉树分析器40002和图12的八叉树占用代码生成器12003的操作。
[0320]
表面模型处理器16006可以接收根据实施方式的八叉树占用代码并且处理表面模型。表面模型处理器16006可以输出经表面模型处理的几何信息并且将其发送到第一算术编码器16007。表面模型处理器16006可以执行图4的表面近似分析器40003和图12的表面模型处理器12004的操作。
[0321]
第一算术编码器16007可以接收根据实施方式的八叉树占用代码和/或已经对其执行表面模型处理的八叉树占用代码,并且对其进行编码。第一算术编码器16007可输出几何比特流。第一算术编码器16007可将几何比特流发送到比特流组合器。第一算术编码器16007可以执行图4的算术编码40004和图12的算术编码器12006的操作。
[0322]
第一算术编码器16007可将与是否执行对应的方块(或切片或拼块)的几何信息的编码相关的信息发送到分割的数据输入单元16002。
[0323]
根据这些实施方式,几何重构器16008接收八叉树占用代码和/或已经对其执行表面模型处理的八叉树占用代码,并且基于此重构几何信息。几何重构器16008可以根据实施方式生成莫顿码,并且可以基于此重构几何信息。几何重构器16008可执行图4的几何重构器40005的操作。
[0324]
颜色变换处理器16009可以根据实施方式接收关于点的属性信息,并且可以变换属性信息的颜色信息。颜色变换处理器可输出经变换的属性信息并且将其发送到属性变换处理器16010。颜色变换处理器16009可以执行图4的颜色变换器40006和图12的颜色变换处理器12008的操作。
[0325]
属性变换处理器16010可以映射根据实施方式的关于点的位置信息、根据实施方式的由颜色变换处理器16009进行颜色变换的属性信息、和/或由几何重构器16008重构的几何信息,并且执行属性变换处理。属性变换处理器16010可以执行图4的属性变换器40007和图12的属性变换处理器12009的操作。
[0326]
预测/提升/raht变换处理器16011可以根据预测、提升和/或raht技术来变换由属性变换处理器16010变换的属性信息。预测/提升/raht变换处理器16011可输出根据预测、提升和/或raht技术变换的属性信息,并且可将其发送到系数量化处理器16012。预测/提升/raht变换处理器16011执行图4的raht 40008、lod生成器40009和/或提升40010以及图12的预测/提升/raht变换处理器12010的操作。
[0327]
系数量化处理器16012可接收由预测/提升/raht变换处理器16011变换的属性信息并且对其进行量化。系数量化处理器16012可将量化属性信息发送到第二算术编码器16013。系数量化处理器16012可执行图4的系数量化器40011的操作。
[0328]
第二算术编码器16013可接收由系数量化处理器16012量化的属性信息并且对其进行编码。第二算术编码器16013可输出包含编码的属性信息的属性比特流。第二算术编码器16013可输出属性比特流,并且将其发送到比特流组合器16014。
[0329]
第二算术编码器16013可将与是否执行对应的方块(或切片或拼块)的属性信息的编码相关的信息发送到分割的数据输入单元16002。第二算术编码器16013可执行图4的算术编码器40012和图12的算术编码器12011的操作。
[0330]
比特流组合器16014可根据实施方式组合几何比特流和/或属性信息比特流。根据实施方式,比特流组合器16014可以逐块(或逐片或逐拼块)地组合几何比特流和属性比特流。
[0331]
根据实施方式的点云数据发送装置可以包括数据特性检查器16000、方块拼块单元16001、分割的数据输入单元16002和比特流组合器1601。根据实施方式的点云数据发送装置可以响应于例如brick_tiling_filter信息在方块拼块单元中将点云数据分割成一个或更多个方块。根据实施方式的点云数据通过方块拼块单元16001被分割成n个区域,并且被输入到分割的数据输入单元16002。将n个分割的方块(切片)中的每一个中的点云数据划分为要编码的关于点的位置信息和关于点的属性信息。当针对n个方块中的每一个执行编码过程时,可将由根据实施方式的比特流组合器16014编码的关于点的位置信息和关于点的属性信息组合成一个比特流。
[0332]
根据实施方式的点云数据发送装置可以使用方块拼块单元16001将点云数据分割成一个或更多个方块,并且通过执行每个分割的方块的编码来对每个区域进行编码。在这种情况下,根据实施方式的点云数据接收装置所需的区域的数据可以与不太重要的区域区分开,并且因此可以高效地执行编码。因此,点云数据发送装置可以通过上述配置增加编码效率。
[0333]
根据实施方式的点云数据编码器可以将点云数据分割成一个或更多个拼块、切片、块和/或方块,并且可以针对分割的单元不同地设置量化。通过以这种方式分割点云数据,点云数据编码器可以对重要性不同的点不同地进行编码。此外,点云数据接收装置可以高效地解码不同编码的数据并且快速地向用户提供重要信息。
[0334]
点云数据发送装置可以通过将点云数据分割成一个或更多个方块并且逐块地执行编码来提供针对数据的特性优化的编码方法。例如,在包含密集分布在特定区域中的点的点云数据的情况下,可以通过分割和编码密集分布的点的区域来减少在编码期间可能发生的错误。另外,例如,在由多个帧组成的数据序列(诸如lidar数据或自驾驶数据)中,可以通过使用圆形扇区方块拼块技术(这将在后面描述)来分割和编码点云数据来减少每个帧的编码误差。
[0335]
根据实施方式的点云数据发送装置和接收装置可以通过逐切片地独立地执行编码和解码来防止在编码和解码过程中累积的错误。
[0336]
根据实施方式的点云数据发送装置可以基于根据可以在诸如点云数据传输、编码/解码和渲染的各种处理情形中给出的要求自适应地执行的分割方法来执行分割操作,由此提供点云内容以实现实时处理、低时延和并行处理。
[0337]
图17示出根据实施方式的点云数据发送装置的比特流组合器。
[0338]
图17所示的比特流组合器17000可对应于图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001以及图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等或与图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001以及图2的发送器18002、图4的编码器、图12的
发送装置、图14的xr装置1430等组合。
[0339]
图17的比特流组合器17000可以是图16的比特流组合器16014,可以包括在图12的传输处理器12012、图1的发送器10003和图2的发送器18002中。也就是说,图17的几何比特流17000a和属性比特流17000b可对应于由图16的比特流组合器16014接收的几何比特流和属性比特流,并且可为图15的几何信息比特流15000b和属性信息比特流15000c、从图4的算术编码器38004输出的几何比特流和从图4的算术编码器40012输出的属性比特流,或从图12的算术编码器12006输出的比特流和从图12的算术编码器12011输出的比特流。
[0340]
下面将描述比特流组合器17000。比特流组合器17000接收几何比特流17000a和/或属性比特流17000b。比特流组合器17000可通过组合所接收的几何比特流17000a和所接收的属性比特流17000b来输出比特流17000c。
[0341]
比特流组合器17000可接收逐区域地编码的几何比特流17000a和逐区域地编码的属性比特流17000b且将其组合。比特流组合器17000可以区域为单位输出比特流17000c。根据实施方式,比特流组合器17000可接收并组合对应于在图19至图25中分割的一个或更多个区域的点云数据被编码到其中的比特流17000a和17000b。因此,比特流组合器17000可根据图19到25以区域为单位输出比特流17000c。
[0342]
比特流组合器17000可指代图19的比特流组合器19014。几何比特流17000a和属性比特流17000b可指代图19的几何比特流和属性比特流。几何比特流17000a和属性比特流17000b可以指代图18的几何比特流1800b和属性信息比特流18000c。
[0343]
比特流组合器17000可包括被配置为根据实施方式组合几何比特流17000a和属性比特流17000b的组合执行器17001。组合执行器17001可接收上文所描述的几何比特流17000a和属性比特流17000b,针对每个区域对其进行组合,并且输出比特流17000c。
[0344]
比特流组合器17000可确定组合几何比特流17000a和属性比特流17000b的顺序以及执行组合的方法。执行组合的方法可以是诸如以下的方法中的至少一者:多路复用、mvc比特串组合、顺序组合及基于重要性的组合。根据实施方式的执行组合的方法可以根据接收到的几何比特流17000a和/或属性比特流17000b的特性(例如,各种属性比特流、属性比特流的存在/不存在、几何和属性比特流的量化程度、比特流的长度、拼块等)来确定或选择。点云数据编码器可以生成关于由编码器用于发送组合的几何比特流和属性比特流的组合方法的信息(combining_filter_index)并且将其以比特流的形式发送。根据实施方式,可以根据比特流的传输特性来固定地使用特定组合方法。
[0345]
通过配置比特流组合器17000,根据实施方式的点云数据发送装置可发送通过根据图19至图25对分割的区域进行编码而生成的比特流。因此,根据实施方式的点云数据接收装置可以高效地解码针对每个区域接收的点云数据以及信令信息。
[0346]
图18示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0347]
根据实施方式的方块可以对应于切片。在本文档中,方块可以被称为切片。
[0348]
图18所示的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、发送器18002、图4的编码器以及图12的发送装置、图14的xr装置1430等的组合来执行。
[0349]
根据实施方式的操作可以包括获取点云数据并将所获取的点云数据分割成一个
或更多个切片。
[0350]
图18所示的操作可以由例如图15的空间分割器15001、图16的数据特性检查器16000、图16的方块拼块单元16001和图12的数据输入单元12000来执行。
[0351]
图18的左图像18000示出根据实施方式的点云数据。点云数据可以被分割成多种类型的点云数据(例如,lidar数据等)。点云数据的类型可以根据点云数据的点是密集分布还是稀疏分布来分类。
[0352]
图18的右图像18001示出将图18的左图像18000的点云数据分割为三个切片的操作。根据实施方式将点云数据分割为三个切片的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执行。
[0353]
参照图18的右图像18001,根据示例性实施方式的方块拼块单元16001可以将图18的左图像18000的点云数据分割为第一切片18001a、第二切片18001b和第三切片18001c。根据实施方式的方块拼块单元19001可以基于点云数据的类型分割点云数据。根据实施方式的切片可以称为在等同含义的范围内的其它名称(例如,方块)。
[0354]
根据实施方式的点云数据发送装置可以将点云数据分割成拼块、切片和/或方块,如参照图18和图19所描述的,由此使得能够在由点云数据占用的3d空间中进行随机访问和并行编码。
[0355]
图19示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0356]
根据图19所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图所示的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0357]
根据实施方式的操作可以包括获取点云数据,并且将所获取的点云数据分割成一个或更多个切片,如图19所示。图19所示的操作可以由例如图15的空间分割器15001、图16的数据特性检查器16000、方块拼块单元16001和图12的数据输入单元12000来执行。
[0358]
图19的(a)示出了由点云数据占用的3d空间19a00基于3d空间19a00的轴的长度被分割。根据实施方式的点云数据发送装置可以对点云数据进行编码。根据实施方式的点云数据发送装置可以将根据实施方式的点或3d空间19a00分割成一个或更多个分割的区域19a01a至19a01c,并且独立地编码包括在分割的区域中的点。
[0359]
由点云数据占用的3d空间19a00包括根据实施方式的点云数据。3d空间19a00包括表示点云数据的多个点。多个点可以是构成根据实施方式的点云数据的单元。根据实施方式的点云数据发送装置可以编码多个点中的每个点的位置信息和属性信息。
[0360]
分割的区域19a01a至19a01c可以包括根据实施方式的点云数据的点19a00中的一些。根据实施方式的点云数据发送装置可以基于点云数据的特性将点云数据分割成一个或更多个分割的区域19a01a至19a01c。根据实施方式的分割的区域19a01a至19a01c可以对应于或被称为拼块、切片、方块或块。
[0361]
根据实施方式的点云数据发送装置可以基于3d空间的轴的长度来分割包括点的3d空间19a00。包括点的3d空间19a00可以是边界框或拼块。根据实施方式的3d空间(例如,边界框或拼块)可以由x轴、y轴和z轴表示。
[0362]
例如,对于根据实施方式的点云数据,x轴、y轴和z轴中的一个可以比其它两个轴短。例如,可以存在以下点云数据,该点云数据表示沿着除了一个轴之外的两个轴广泛分布的地形。如果点云数据发送装置对边界框中的点执行编码,而不管轴的长度如何,则编码效率可能会劣化。因此,点云数据发送装置需要将数据分割成适应3d空间的轴的长度的一个或更多个区域。因此,根据实施方式的点云数据发送装置可以计算x轴、y轴和z轴的相对长度,并且基于所计算的相对长度将点云数据分割成一个或更多个区域。
[0363]
因此,根据实施方式的点云数据发送装置可以确定x轴、y轴和z轴当中的最短轴的长度和最长轴的长度,并且将最长轴分割成最短轴的长度的单位。例如,在图19的(a)中,边界框的最长轴是y轴(长度:30),并且最短轴是z轴(长度:10)。因此,根据实施方式的点云数据发送装置可以将y轴划分成长度为10的单元,长度10为z轴的长度,并且将点云数据分割为三个切片19a01a至19a01c。
[0364]
根据实施方式的点云数据发送装置可以对分割的切片再次进行分割。例如,它可将一个分割的切片19a01a分割成最短轴的长度的单位。在这种情况下,可以生成具有沿着x轴、y轴和z轴的长度10的两个切片。
[0365]
如图19的(a)所示,根据实施方式的点云数据发送装置可以基于沿着最长边的均匀几何分割的切片分割方案来分割点云数据。沿着最长边的均匀几何分割指的是以以下方式执行的分割方法。
[0366]
1)假定最长边和最短边为maxedge和minedge。切片数量为slicenum,切片大小为slicesize。slicenum的默认值可以被设置为maxedge/minedge,并且slicesize可以被设置为minedge。
[0367]
2)根据实施方式,根据均匀几何分割方案按slicenum对点云数据进行分割。
[0368]
图19的(b)示出由点云数据占用的3d空间19b00基于关于3d空间19b00中包括的点的八叉树信息被划分。
[0369]
根据实施方式的八叉树信息是指根据实施方式的用于指示关于点的几何信息的八叉树结构。根据实施方式的点云数据发送装置可以分割切片,使得3d空间对应于由八叉树表示的一个或更多个空间。
[0370]
也就是说,根据实施方式的点云数据发送装置可以执行使用八叉树的均匀几何分割。如下执行使用八叉树的均匀几何分割。
[0371]
1)默认地将八叉树分割depoctree的深度设置为1。八叉树分割的深度可以表示八叉树结构的级别。
[0372]
2)根据八叉树分割方案将点云数据分割成8^depoctree个切片。
[0373]
例如,当depoctree是1时,根据实施方式的点云数据发送装置可以将点云数据分割成包括用于八个空间的点的八个切片。
[0374]
通过以这种方式划分边界框,根据实施方式的点云数据发送装置可以单独地对不交叠的切片进行编码。类似地,接收装置可以对每个单独切片的点云数据进行解码。
[0375]
根据实施方式的点云数据发送装置可以基于关于拼块中的点的属性数据的颜色信息或反射信息将3d空间分割成一个或更多个切片。例如,根据实施方式的点云数据发送装置可以按升序对属性数据进行排序,然后将切片分割为按属性数据值排序的点。
[0376]
当根据如上文所述的实施方式由点云数据发送装置分割点时,边界框的切片可以
彼此交叠,并且由一个空间内的多个切片共享可为可能的,因为基于按升序的排序执行分割。因此,根据实施方式的点云数据发送装置可以支持空间可缩放性,这是对点云压缩的要求,以及基于roi的空间可缩放性。
[0377]
图20示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0378]
根据图20所示的分割方案的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的传输单元18002、编码器图4、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0379]
图20所示的操作可以由例如图15的空间分割器15001、图16的数据特性检查器16000、方块拼块单元16001和图12的数据输入单元12000来执行。
[0380]
图20的(a)示出了由点云数据占用的3d空间20a00。根据实施方式的点云数据发送装置可以对点云数据进行编码。根据实施方式的点云数据发送装置可以将点20a01或3d空间20a00分割成一个或更多个分割的区域20a02,并且独立地对包括在分割的区域中的点执行编码。
[0381]
由点云数据占用的3d空间20a00包括根据实施方式的点云数据。3d空间20a00包括表示点云数据的多个点20a01。
[0382]
多个点20a01可以是构成根据实施方式的点云数据的单元。根据实施方式的点云数据发送装置可以编码关于多个点20a01中的每一个的位置信息和属性信息。
[0383]
分割的区域20a02可以包含根据实施方式的点云数据的点20a01中的一些。根据实施方式的点云数据发送装置可以基于点云数据的特性将点云数据分割成一个或更多个分割的区域20a02。根据实施方式的分割的区域20a02可以对应于或被称为拼块、切片、方块或块。
[0384]
点云数据的特性可以与点20a01的密度相关。例如,根据实施方式的点云数据可以是具有在箭头20a03的方向上密集分布的点的数据。因此,根据实施方式的点云数据发送装置可以基于点的密度将点云数据分割成一个或更多个分割的区域20a02。
[0385]
例如,根据实施方式的点云数据发送装置可以将点云数据分割成包括第一方块20a02-1和第二方块20a02-2的分割的区域20a02。第一方块20a02-1可以是包含多个点当中的相对稀疏分布的点的区域。第二方块20a02-2可以是包含多个点当中的相对密集分布的点的区域。根据实施方式,其中点密集分布的第二方块20a02-2可以大于其中点稀疏分布的第一方块20a02-1。
[0386]
图20的(b)示出将由点云数据占用的3d空间20a00分割成一个或更多个区域的方法以及对每个方块执行编码的过程。具体地,图20的(b)示出基于点云数据的点的密度将点云数据分割成一个或更多个方块。这种分割点云数据的方法可以被称为基于点密度的方块拼块。
[0387]
根据实施方式的基于点密度的方块拼块表示根据点的密度或根据实施方式的点的距离将实施方式的点云数据分割成一个或更多个方块。根据实施方式,分割的方块可以由一个3d块或两个或更多个3d块的捆绑(bundle)组成。
[0388]
图20的(b)的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执
行。图20的(b)所示的过程可以包括接收点云数据(20b00),确定是否执行方块分割(20b01),确定方块的数量(20b02),并且计算点的密度(20b03),根据每个块的点的密度确定量化系数(20b04),对每个方块执行编码(20b05)和/或输出每个方块的比特流(20b06)。
[0389]
在接收点云数据的操作20b00中,可以接收根据实施方式的点云数据。
[0390]
确定是否执行方块分割(20b01)可以是确定是否将所接收的点云数据分割成一个或更多个方块(或切片或拼块)的操作。
[0391]
确定是否执行方块分割(20b01)可以是基于所接收的点云数据中的点的x坐标值、y坐标值和/或z坐标值来确定是否执行方块分割的操作。
[0392]
在确定是否执行方块分割(20b01)时,是否执行方块分割可以基于所接收的点云数据的类型来确定。确定是否执行方块分割(20b01)可以是生成指示是否执行方块分割的brick_tiling_filter信息的操作。
[0393]
当在确定是否执行方块分割的操作中确定执行方块分割时,在确定方块的数量(20b02)的操作中确定要将点云数据分割成的方块的数量。在确定方块的数量(20b02)时,可以基于接收的点云数据的类型来确定要分割的方块的数量。
[0394]
计算点的密度(20b03)可以是计算点的密度并且基于所计算的密度将点云数据分割成一个或更多个方块的操作。根据实施方式,点的密度可以基于由点占用的每个体积的点的数量或点之间的距离的平均值来定义。根据实施方式,可以可变地确定每个方块的点的密度。
[0395]
在根据每个方块的点的密度确定量化系数(20b04)时,根据实施方式的点云数据发送装置可以根据密度确定量化系数,以便根据点的密度可变地执行解码。
[0396]
在对每个方块执行编码(20b05)的操作是指根据实施方式的点云数据发送装置对每个方块的点云数据进行编码的操作。根据实施方式,每个分割的方块可以根据点云数据发送装置的设置而灵活地改变。点云数据发送装置可生成诸如用于指示分割信息的信息(例如,brick_unit_information、brick_density_quantization_step)之类的信息。
[0397]
输出每个方块的比特流(20b06)的操作是指其中点云数据发送装置逐方块地编码点云数据之后输出输出比特流的操作。
[0398]
根据实施方式的点云数据发送装置可以执行根据实施方式的基于点密度的拼块,由此有效地编码其中点的密度在一个帧内的区域当中变化的序列。
[0399]
根据实施方式的点云数据发送装置可以通过执行根据实施方式的基于点密度的拼块来根据点的密度降低具有低密度的方块的缩放因子,由此增加几何信息的压缩率。此外,对于包含高密度的点的方块,可以给出增加的缩放因子。由此,可以准确地呈现位置信息。
[0400]
图21示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0401]
根据图21所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0402]
图21所示的操作可以由例如图15的空间分割器15001、图16的数据特性检查器
16000、图16的方块拼块单元16001和图12的数据输入单元12000来执行。
[0403]
图21示出点云数据发送装置将由点云数据占用的3d空间或点云数据21a00分割成一个或更多个圆形扇区21a02。根据实施方式的点云数据发送装置可以针对每个分割的圆形扇区21a02对点云数据进行编码。图21所示的分割点云数据的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执行。
[0404]
根据实施方式的扇区21a02可对应于或被称作根据实施方式的拼块、切片、方块或块。
[0405]
根据实施方式的点云数据发送装置可以基于参考轴21a01将点云数据21a00分割成一个或更多个圆形扇区21a02。将点云数据分割成一个或更多个圆形扇形块的操作可以被称为圆形扇区方块拼块。
[0406]
点云数据21a00表示由点云数据发送装置获取的点云数据。点云数据21a00包含多个点。
[0407]
参考轴21a01是指用作将点云数据分割成一个或更多个圆形扇区21a02的参考的轴。参考轴21a01可以表示由点云数据占用的3d空间(例如,边界框)的中心。例如,参考轴可以是延伸穿过3d空间的x轴和y轴的中心并且垂直于x-y平面的轴。例如,参考轴可以是延伸穿过3d空间的y轴和z轴的中心并且垂直于y-z平面的轴。例如,参考轴可以是延伸穿过3d空间的x轴和z轴的中心并且垂直于x-z平面的轴。
[0408]
根据实施方式,点云数据可以基于包括圆形扇区的原点的参考轴21a01被分割成一个或更多个圆形扇区。根据实施方式,当确定一个或更多个圆形扇区时,每个单元可以包括包含位置信息或属性信息的点。
[0409]
根据实施方式的参考轴21a01可以基于表示中心点信息的信息来确定。根据实施方式的中心点信息可以是例如central_node_xyz。根据实施方式的参考轴21a01可以被确定为3d空间的x轴、y轴和z轴当中的穿过中心点信息的最短轴。
[0410]
根据实施方式,圆形扇区21a02表示用于分割点云数据的方块。圆形扇区21a02包含点。圆形扇区21a00可以表示绕参考轴以中心角21a02-1辐射的弧形区域。
[0411]
根据实施方式,分割的圆形扇区21a02中的每一个可以具有相同或不同的半径21a02-1。可以基于点云数据的密度来确定圆形扇区21a02的半径21a02-1。根据实施方式的半径21a02-1可以由bounding_box_radius来指示。
[0412]
根据实施方式的点云数据发送装置可以将点云数据分割成具有各种中心角21a02-2的圆形扇区21a02。根据实施方式的点云数据发送装置可以确定每个圆形扇区的中心角。可以基于点云数据的密度来确定圆形扇区的中心角。
[0413]
当点云数据由多个帧组成时,根据实施方式的点云数据发送装置可以基于点云数据中包含的对象的移动方向21a03来确定分割的区域的形状。当点云数据由多个帧组成时,可以定义包含在点云数据中的对象的移动方向(例如,由蓝色箭头指向的方向)。根据实施方式的对象的移动方向可以由moving_direction_vector来指示。
[0414]
关于根据实施方式的边界框(由点云数据占用的3d空间)的信息可以针对每个帧来定义,或者可以通过关于每个帧的坐标信息(例如,x、y、z信息)来确定。根据实施方式,当关于相同边界框的信息被应用于所有帧时,可发送use_identical_bounding_box_information_flag。
[0415]
根据实施方式,点云数据发送装置可以使用不同的量化系数、不同的几何压缩技术、不同的属性压缩技术和单个/多个属性来不同地对每个帧执行编码。
[0416]
根据实施方式的点云数据发送装置可以通过执行圆形扇区方块拼块来有效地编码包括多个帧的数据序列,诸如用于自驾驶的数据或lidar数据。
[0417]
根据实施方式的点云数据发送装置可以通过执行圆形扇区方块拼块来用仅关于方块的角度信息和半径信息来发信号通知方块,由此降低了接收装置的复杂度。另外,通过执行圆形扇区方块拼块,当在相同的圆形扇区中给出相同的点分布时,可以提高通过位置信息预测的编码。
[0418]
图22示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0419]
图22示出点云数据发送装置将由点云数据占用的3d空间或点云数据22a00分割成一个或更多个层22a01或22a02。根据实施方式的点云数据发送装置可以对每个分割的层22a02的点云数据进行编码。
[0420]
根据图22所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0421]
图22所示的操作可以由例如图15的空间分割器15001、图16的数据特性检查器16000、图16的方块拼块单元16001和图12的数据输入单元12000来执行。
[0422]
根据实施方式的点云数据发送装置可以将点云数据22a00分割成一个或更多个层22a01。根据实施方式将点云数据分割为一个或更多个层22a01的方法可以被称为层方块拼块。
[0423]
根据实施方式的层22a01可对应于或被称作根据实施方式的拼块、切片、方块或块。
[0424]
根据实施方式的点云数据发送装置可以在将点云数据分割成一个或更多个层之前对点云数据进行排序。点云数据发送装置可以升序、降序或莫顿码顺序对点云数据进行排序。根据实施方式的对点云数据进行排序的操作可以由图15的空间分割器15001、图16的方块拼块单元16001或图16的数据特性检查器16000来执行。根据实施方式的点云数据发送装置可以生成指示根据实施方式排序点云数据的方法的信息(例如,enable_sorting_flag),并且以比特流的形式发送该信息。
[0425]
层22a01、22a02可以表示包括在点云数据占用的3d空间的x轴、y轴或z轴的预定范围内的点云数据的集合。也就是说,层22a01、22a02可由点的集合组成。
[0426]
图22的左侧所示的层22a01可以表示具有特定范围中的y坐标信息的所有点云数据的点的集合。因此,根据实施方式,点云数据可以由关于点的y坐标信息的范围中的多个层组成。图22的左侧所示的层可以被称为x-z层(或y方向层)。
[0427]
图22的右侧所示的层22a02可表示具有特定范围内的x坐标信息的所有点云数据的点的集合。因此,根据实施方式,点云数据可以由关于点的x坐标信息的范围中的多个层组成。图22的右侧所示的层可被称为y-z层(或x方向层)。
[0428]
类似地,点云数据可以由关于点的z坐标信息范围内的多个层组成。图22的左侧所
示的层可以被称为x-y层(或z方向层)。根据实施方式,点云数据可以被分割成一个或更多个x方向层、y方向层或z方向层。
[0429]
根据实施方式的点云数据可以由基于点的时间移动形成的多个层组成。
[0430]
根据实施方式的点云数据发送装置可以对一个或更多个层执行渐进编码。根据实施方式的渐进编码可以表示渐进地对每个排序的层执行编码。
[0431]
根据实施方式的点云数据发送装置可以将点云数据分割成一个或更多个层。因此,当在特定区域中收集一个帧中的点云数据时(例如,连续向左、向右、向上、向下、向前或向后的属性信息值),可以有效地将压缩应用于数据特性。
[0432]
通过将点云数据分割成一个或更多个层,根据实施方式的点云数据发送装置可以提高方块内的位置信息的关联程度,由此增加编码效率。
[0433]
图23示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0434]
图23示出点云数据发送装置将由点云数据占用的3d空间或点云数据分割成一个或更多个球形/椭圆形区域23001a至23001f。根据实施方式的点云数据发送装置可以对一个或更多个球形/椭圆形区域23001a至23001f中的每一个的点云数据进行编码。图23所示的分割点云数据的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图23所示的操作可以由例如图12的数据输入单元12000来执行。
[0435]
根据图23所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0436]
在实施方式中,球形/椭圆形区域23001a至23001f可以对应于或被称为拼块、切片、方块或块。
[0437]
根据实施方式的点云数据发送装置可以准确地编码位于点云数据23000中的重要区域中的点,或者对不重要部分不太准确地执行编码。例如,当点云数据23000是表示如图23所示的特定城市的数据时,可以存在在点云数据发送装置的编码过程中要准确地编码的部分。例如,在图23中用圆圈或椭圆标记的区域23001a到23001f可为要在编码过程中准确编码的部分。特别地,当点云数据的量较大,但是要被准确地编码的区域被指定为特定区域时,对整个点云数据进行编码导致发送/接收过程中的时延。
[0438]
因此,为了高效地编码点云数据,根据实施方式的点云数据发送装置可以将点云数据2300分割成一个或更多个球形区域(或椭圆形区域)23001a至23001f,并且对分割的球形区域23001a至23001f执行编码。
[0439]
点云数据23000可以是包含一个或更多个点的数据。点云数据23000可以包含要使用特定方法执行编码的一个或更多个区域(或需要在执行编码中准确地编码的区域等)。要使用特定方法执行编码的区域可形成为圆形(或球形)形状,如图23的23001a和23001b所示,或者它也可以形成椭圆形(或扭曲的球体形状),如图23的23001c至23001f所示。以圆形(或球形)形状形成的区域可被称为球形区域(或圆形方块)。以椭圆形(或扭曲的球体形状)形成的区域可以被称为椭圆形区域(或椭圆体区域)。
[0440]
将点云数据分割成一个或更多个球形或椭圆形区域的方法可被称为球形/椭圆形
区域拼块。
[0441]
根据实施方式,当基于球面坐标系或地理坐标系呈现点云数据时,点云数据可以被分割成球形区域。根据实施方式,可以根据方块的形状使用各种坐标系(诸如圆柱形坐标系)。
[0442]
根据实施方式的点云数据发送装置可以将点云数据分割成一个或更多个球形区域23001a和23001b或椭圆形区域23001c至23001f。根据实施方式的点云数据发送装置可以生成sphere_or_oval_flag,其指示点云数据的方块是否是球形区域或椭圆形区域,并且在比特流中发送它。
[0443]
根据实施方式的点云数据发送装置可生成关于球面区域和/或椭圆形区域中的每一个的信息,并且在比特流中发送该信息。例如,点云数据可以包含与球形区域或椭圆形区域中的每一个的形状相关的信息。
[0444]
球形区域23001a和23001b可以表示被配置为球形形状的方块。球形区域23001a和23001b可以指边界框中的圆形或球形区域中的点云数据的点的集合。点云数据发送装置可生成关于球面区域23001a和23001b中的每一个的中心点信息(例如,center_point_xyz)和半径信息(radius_distance),并且在针对每个方块形成的比特流中发送它。
[0445]
椭圆形区域23001a至23001f可以指配置为椭圆形或扁圆形状的方块。椭圆形区域23001a至23001f可以指边界框中的圆形或球形区域中的点云数据的点的集合。点云数据发送装置可生成中心点信息(例如,center_point_xyz)、半径信息(radius_distance)、关于椭圆形区域23001a至23001f中的每一个的方位角信息(azimuth_angle),并且在针对每个方块形成的比特流中发送它。
[0446]
根据实施方式的点云数据发送装置可以使用球形/椭圆形区域拼块,由此有效地执行其中具有在空间中存在的对象的数据的部分和不具有对象的部分彼此区分开的序列中的编码。
[0447]
根据实施方式的点云数据发送装置可以通过执行球形/椭圆形区域拼块来为具有以圆形形状(诸如vp-树)分布的位置信息的数据提供高压缩率。
[0448]
图24示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0449]
根据图24所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0450]
图24示出了点云数据发送装置将点云数据24000或由点云数据占用的3d空间分割成基于属性的区域24001至24003。根据实施方式的点云数据发送装置可以针对一个或更多个基于属性的区域24001至24003中的每一个的点云数据进行编码。图24所示的分割点云数据的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图24所示的操作可以由例如图12的数据输入单元12000执行。
[0451]
根据实施方式的点云数据发送装置可以基于关于点云数据24000中的点的属性信息来分割点云数据。例如,点云数据发送装置可以根据构成点云数据的属性(颜色、反射率、透明度、时间信息、对象索引等)来配置一个或更多个区域。根据实施方式,基于属性信息分
割区域的方法可以被称为基于属性的区域拼块(例如,基于属性的方块拼块)。
[0452]
图24的左侧部分示出了边界框中的多个点24000a至24000c。多个点可以包括例如红色的点p0、p2、p4和p5,蓝色的点p7、p8和p9,以及绿色的点p1、p3和p6。根据实施方式的点云数据发送装置可以根据点的颜色将数据分割成一个或更多个区域(例如,方块)。
[0453]
图24的右侧部分示出了多个点24000a至24000c被分割为三个方块24001、24002和24003。例如,具有红色的点p0、p2、p4和p5可以被分割为第一方块24001,并且具有蓝色的点p7、p8、p9可以被分割为第二方块24002,并且具有绿色的点p1、p3和p6可以被分割为第三方块24003。
[0454]
根据实施方式的点云数据发送装置可以在基于属性信息将多个点分割成一个或更多个区域之前检查关于多个点的属性信息。检查关于多个点的属性信息的操作可以由图16的数据特性检查器16000执行。例如,在根据实施方式的点云数据中,可以检查这些点当中的红色的点。例如,可以基于关于点的rgb信息的值来执行检查红色的点的操作。
[0455]
根据实施方式的点云数据发送装置可以以比特流的形式发送指示根据实施方式的基于属性的区域拼块是否已经对点云数据执行的信息。此外,当已经执行基于属性的区域拼块时,根据实施方式的点云数据发送装置可以以比特流的形式发送作为用于分割的参考的referenced_attribute_type。根据实施方式的用于分割的参考可以包括多个属性类型。参考可以是referenced_attribute_type_range或referenced_attribute_type_value。
[0456]
根据实施方式的点云数据发送装置可以采用根据实施方式的基于属性的区域拼块。由此,可以以包括一个属性信息值或对应于类似值的多个几何信息的序列有效地执行编码。
[0457]
图25示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个区域的方法。
[0458]
根据图25所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0459]
图25示出点云数据发送装置基于边界框的轴的长度将点云数据25000或由点云数据占用的3d空间分割成区域25001和25002。根据实施方式的点云数据发送装置可以基于边界框的轴的长度中的一个或更多个来编码分割的区域25001和25002中的每一个的点云数据。图25所示的分割点云数据的操作可以由图15的空间分割器15001和图16的方块拼块单元16001执行。根据实施方式,基于边界框的轴的长度将数据分割成分割的区域25001和25002(例如,方块)的操作可以被称为自适应的基于轴长度的区域拼块(或自适应的基于轴长度的方块拼块)。图25所示的操作可以由例如图12的数据输入单元12000执行。
[0460]
点云数据25000可以包含一个或更多个点。点云数据可以包含在3d空间(例如,边界框)中。根据实施方式的3d空间(例如,边界框)可以表示为x轴、y轴和z轴。
[0461]
对于点云数据25000,例如,x轴、y轴和z轴中的一个的长度可以比其它两个轴的长度更短或显著更短。例如,可以存在以下点云数据,该点云数据表示沿着除了一个轴之外的两个轴广泛分布的地形。如果点云数据发送装置对边界框中的点执行编码,而不管轴的长
度如何,则编码效率可能会劣化。因此,点云数据发送装置需要将数据分割成适应3d空间的轴的长度的一个或更多个区域。因此,根据实施方式的点云数据发送装置可以计算x轴、y轴和z轴的相对长度,并且基于所计算的相对长度将点云数据分割成一个或更多个区域。
[0462]
根据实施方式的点云数据发送装置(例如,图16的拼块分割器16000)可以通过将x轴25000x的长度、y轴25000y的长度以及z轴25000z的长度当中的最长轴(例如,x轴)分割为最短轴(例如,z轴)的长度的单元来配置一个或更多个切片(或第一方块)2500l。被分割成一个或更多个切片(或第一方块)的数据可以是可以被并行编码和解码的单位。
[0463]
根据实施方式的点云数据发送装置(例如,图18的拼块分割器18000或图19的拼块单元19001)可以对第一方块中的一些方块25001进行重新分割。在根据实施方式的重新分割中,一个或更多个子切片(或第二方块)可以通过将一些第一方块的最长长度的轴(即,图25的方块25001的情况下的y轴25000y)分割为最短轴(例如,x轴或z轴)的长度的单元来构造。被分割成一个或更多个子切片(或第二方块)25002的数据可以是可以被并行编码和解码的单元。
[0464]
根据实施方式的点云数据发送装置可以基于关于点的最小/最大信息来执行分割,而不遵循具有第一方块中的点的最大数量和最小数量(maxpointnum和minpointnum)的空间数据分布。
[0465]
根据实施方式的点云数据发送装置可以基于区域中的点的数量、由每个区域分配的空间的大小以及包括在区域中的点的密度来确定是否重新分割第一方块或第二方块。根据实施方式,空间重新分割可以是空间自适应地执行的,并且可以包括基于特定轴分割切片以及基于中间长度轴重新分割切片。
[0466]
根据实施方式的点云数据发送装置可以采用根据实施方式的自适应的基于轴长度的区域拼块,由此有效地执行与包括大地形特征的点云数据的一个帧内的空间单元相关联的序列中的编码。根据实施方式的点云数据接收装置可以有效地解码包括大地形特征的点云数据。
[0467]
根据实施方式的发送装置可以将点云数据(或拼块中的点)分割成一个或更多个切片。根据实施方式的切片可以被配置为使得包括在相应切片中的点在3d空间中彼此不交叠。另选地,根据实施方式的切片可以被配置使得包括在相应切片中的点在3d空间中的区域中彼此交叠。以这种方式,发送装置可以将切片配置为包括3d空间中的交叠区域,并且这些切片可以被称为交叠切片。通过配置交叠切片,根据实施方式的发送装置可以对点云数据进行编码以实现实时处理/低时延、可缩放性和并行处理。
[0468]
根据实施方式的发送装置可以在分割点云数据的同时配置交叠切片。在编码点云数据之前,根据实施方式的发送装置可以将点云数据(原始数据)分割成可以具有关于边界框的信息的拼块。拼块是用于由发送装置进行并行编码或由接收装置进行并行解码的最小可能空间单元。
[0469]
根据实施方式的拼块可以由切片组成,切片是能够定义数据结构的最小单元。切片是构成点云数据的点的集合,并且可以由550000到一百一十万个点组成。根据实施方式的切片可以包括交叠的空间区域。
[0470]
在实际执行编码/解码过程之前,根据实施方式的点云数据可以被分割成n个拼块,并且每个拼块可以由n个切片组成。将点云数据分割成一个或更多个拼块的操作可由发
送装置中包括拼块构造器执行,并且将拼块分割成一个或更多个切片的操作可由发送装置的切片配置单元执行。在这种情况下,可以使用各种方法将点云数据分割成一个或更多个切片以包括交叠的空间区域。
[0471]
根据点云数据的特性,发送装置(例如,切片配置单元)可以基于基于多点采样的交叠切片配置的方法、基于重要性的交叠切片配置的方法、基于属性范围的交叠切片配置的方法或基于莫顿码顺序的交叠切片配置的方法来将点云数据(或拼块中的点)分割为一个或更多个交叠切片。
[0472]
根据实施方式的切片配置单元可以包括基于多点采样的交叠切片配置单元、基于重要性的交叠切片配置单元、基于属性范围的交叠切片配置单元和基于莫顿码顺序的交叠切片配置单元中的至少一个。将参照图26至图30详细描述上述方法。
[0473]
根据实施方式的发送装置可以包括用于每个拼块的顺序输入切片配置单元,其在配置交叠切片时顺序地分割拼块输出单元中的切片拼块使得对应的切片分割器不等待另一拼块被分割的时间。将参照图31详细描述上述方法。
[0474]
可以包括用于每个拼块的顺序输入切片配置单元,其在配置交叠切片时顺序地分割拼块输出单元中的切片拼块,使得对应的切片分割器不等待另一拼块被分割的时间。可以使用每个拼块的各种切片配置方法。
[0475]
图26示出根据实施方式的点云数据发送装置的分割器。
[0476]
图26所示的分割器26000可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来实现。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0477]
根据实施方式的点云数据发送装置可以包括分割器26000。根据实施方式的分割器26000可以指代图15的空间分割器15001和图16的方块拼块单元16001。图26所示的分割器26000可以是包括在例如图12的数据输入单元12000中的组件。
[0478]
根据实施方式的分割器26000可以接收根据实施方式的几何数据和/或属性数据。分割器26000可将所接收的几何数据和/或属性数据分割成一个或更多个切片,并且输出每个切片的几何数据(比特流)和/或每个切片的属性数据(比特流)。
[0479]
根据实施方式的分割器26000可包括拼块分割器26001和/或切片分割器26002。根据实施方式的点云数据发送装置可以在执行根据实施方式的切片分割之前基于几何数据和属性数据将点云数据分割成一个或更多个拼块。
[0480]
根据实施方式的分割器26000可以将根据实施方式的点云数据的点划分或分割成一个或更多个切片。根据实施方式的切片可以包括在3d空间中的区域当中彼此交叠的区域。因此,根据实施方式的点云数据发送装置的切片分割器可以被称为交叠切片分割器26002。
[0481]
拼块分割器26001将根据实施方式的所获取的点云数据分割成一个或更多个拼块。
[0482]
切片分割器2602可将拼块中的点云数据的点分割成一个或更多个切片。例如,当拼块中存在100个点时,切片分割器2602可以将拼块分割成10个切片,每个切片包含10个点。在这种情况下,每个由10个点组成的切片可以彼此交叠。也就是说,一个或更多个切片
中的一些可包含交叠区域。
[0483]
根据实施方式的切片分割器26002可将点云数据或拼块的点分割成一个或更多个切片,并且输出每个切片的几何比特流和每个切片的属性比特流。在执行交叠切片分割之后,根据实施方式的发送装置可独立地输出每个切片的一对几何比特流和属性比特流,并且组合器可对其进行解码。
[0484]
根据实施方式的分割器26000可以通过分割点来配置切片,使得切片之间的交叠区域被包括在拼块中。根据实施方式的分割器26000或切片分割器26002可生成指示是否配置切片以包含交叠区域的交叠切片组成信息(或标志)(overlapping_slice_compose_flag)。
[0485]
当根据实施方式的overlapping_slice_compose_flag的值指示不配置交叠切片(这可称为非交叠切片分割)时,根据实施方式的分割器可基于上文所描述的基于轴的切片配置方法或基于八叉树的切片配置方法执行分割。
[0486]
当根据实施方式的overlapping_slice_compose_flag的值指示交叠切片被配置(这可以被称为交叠切片分割)时,根据实施方式的分割器可以基于基于多点采样的交叠切片配置方法、基于重要性的交叠切片配置方法、基于属性范围的交叠切片配置方法、基于莫顿码顺序的交叠切片配置方法等来对点进行分割。
[0487]
当根据实施方式的切片分割器2602对每个拼块执行顺序输入切片分割而没有在对每个拼块执行切片分割时的等待状态时,切片分割器可将指示是否基于此方法执行分割的信息(sequential_input_slice_configuration_in_tile_flag)发信号通知给接收装置。
[0488]
根据实施方式的切片分割器2602可将指示由编码装置用于发送几何比特流和属性比特流的分割方法的信息(overlapping_slice_compose_method)发送到根据实施方式的编码器。可在拼块内使用各种分割方法。在此情况下,可针对每个切片发信号通知分割方法。
[0489]
将参照图27和后续附图详细描述将点云数据的点或拼块中的点分割成一个或更多个切片以包括交叠区域的方法(即,交叠切片分割的方法)。
[0490]
根据实施方式的切片分割器26000还可以被称为切片配置单元。根据实施方式的切片配置单元可以根据点云数据的特性,基于诸如基于多点采样的交叠切片配置、基于重要性的交叠切片配置、基于属性数据范围的交叠切片配置、基于顺序输入的交叠切片配置或基于莫顿码顺序的交叠切片配置之类的分割方法来配置根据实施方式的切片。根据实施方式,基于各种切片配置方法分割的切片可包括在拼块中。
[0491]
图27示出根据实施方式的分割交叠切片的方法。
[0492]
图27示出作为根据实施方式的对交叠切片进行分割的方法的示例的基于多点采样的交叠切片配置。图27所示的切片分割可由图26的分割器26000或切片分割器26002执行。此外,图27所示的切片分割方法可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图27所示的操作可以由例如图12的数据输入单元12000来执行。
[0493]
根据图27所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦
然。在本文档中,方块可以被称为切片。
[0494]
根据实施方式的基于多点采样的交叠切片表示配置具有在拼块中随机采样的n个点的一个或更多个切片的方法,如图27所示。
[0495]
根据实施方式的发送装置可以使用靠近拼块27000中的x轴、y轴和z轴的边缘的点执行采样,以便将拼块划分成一个或更多个切片。例如,为了配置第一切片27001a,根据实施方式的发送装置可以对拼块27001中的水平轴(例如,x轴)上的最近点27001a-2和拼块中的垂直轴(例如,y轴)上的最近点27001a-1进行采样。推导靠近拼块27000中的x、y、z轴的边缘的点的方法是计算3d空间(边界框)中具有x、y和z坐标中的最小值的点或具有x、y和z坐标的最大点值的点。根据实施方式的发送装置可以配置切片以包括两个采样点27001a-1和27001a-2。
[0496]
根据实施方式的发送装置可以对拼块27000中的点27001b-1和27001b-2进行采样,以将根据实施方式的拼块分割成一个或更多个切片。根据实施方式的发送装置可以配置切片27001b以包括两个采样点27001b-1和27001b-2。
[0497]
根据实施方式的发送装置可以使用推导分离开特定距离的n个点的方法作为根据实施方式的推导点当中的采样点的方法。根据实施方式的发送装置可以使用两个或更多个点来生成切片,并且还创建切片的边界框。根据实施方式的发送装置可以重复使用采样以配置一个切片中的边界框的点来配置另一切片的边界框。在此情况下,可配置交叠切片。
[0498]
根据实施方式的发送装置可以配置由采样点组成的切片,并且可以生成包括每个切片中包括的点的标识符的集合。在这种情况下,可能发生可以存在不能被包括在切片中的点,并且接收装置可以仅利用这些点来配置一个或更多个切片。另选地,接收装置可通过将这些点添加到具有点的最小数量的切片来配置切片。
[0499]
对于由采样点组成的每个切片,根据实施方式的接收装置可以检查这些点的分布是否对应于点的最小数量(例如,550000)和点的最大数量(例如,1100000)。当切片不满足点的上述数量的分布时,接收装置可以通过对拼块中的点当中的其它点进行采样来生成新的边界框,并且然后确定所生成的边界框是否对应于下一点的数量的分布。
[0500]
由于此配置,当接收装置量化、排序、偏移且缩放一个切片中的属于不同切片的点时,这可增强点云压缩的可缩放性,并且有效地传送关于用户的roi的信息。
[0501]
图28示出根据实施方式的分割交叠切片的方法。
[0502]
根据图28所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0503]
图28示出基于重要性的交叠切片配置,其是根据实施方式的对交叠切片进行分割的方法的示例。图28所示的切片分割可由图26的分割器26000或切片分割器26002执行。此外,图27所示的切片分割可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图28所示的操作可以由例如图12的数据输入单元12000执行。
[0504]
根据实施方式的基于重要性的交叠切片配置的方法是指对一个拼块内的一个或更多个高重要性的点进行采样并且配置具有采样点的一个或更多个切片的方法,如图28所示。
[0505]
如图28所示,根据实施方式的发送装置可以在一个拼块内对高重要性的点进行采样,并且基于采样点来配置一个或更多个切片。高重要性的点可以由根据实施方式的发送装置通过从拼块内的属性值当中的被选择为代表值的颜色值或反射率值来区分。
[0506]
根据实施方式的基于重要性的代表值可以被称为代表点。
[0507]
例如,对于颜色值,在特定空间(或相邻空间)中可以存在具有类似颜色的更多点,并且因此根据实施方式的发送装置可以为每个拼块或每个3d空间指定具有代表颜色值(或其值自身)的点。根据实施方式的发送装置可以生成具有以指定为代表值的点为中心的3d形状的切片作为边界框。指定为代表值的点为中心的3d形状可以是例如立方体形状、球形形状、长方体形状或圆柱形形状。根据实施方式的发送装置可以配置具有包括在以指定为代表值的点为中心的3d形状的范围中的点的一个切片。
[0508]
根据实施方式,可以存在用于推导或找到具有基于重要性的代表值的点的各种方法。例如,根据实施方式的发送装置可以在推导属性值的分布之后确定最广泛分布的颜色的点中的一个或更多个作为具有基于重要性的代表值的点。例如,在图28的底部示出描绘基于3d空间或拼块中的点的反射率值的属性值的分布的反射分布图28002。
[0509]
参照反射率分布图28002,例如,x轴表示反射率值28002b,并且y轴表示具有对应的反射率值的点的数量28002a。例如,参照图28所示的反射率分布图28002,在对应的3d空间或拼块中可以存在具有从32到50的范围内的反射率的许多点,并且具有大于或等于140的反射率的点的数量可以小于200。因此,参照反射率分布图28002,根据实施方式的发送装置可以采用例如具有47的反射率的点作为具有基于重要性的代表值的点。
[0510]
此外,例如,参照图28所示的反射率分布图2802,取决于数据的特性,可以存在用于3d空间或拼块中的特定反射率的多个点。例如,具有反射率值0、15、28、50、62等的点的数量可大于具有其它反射率值的点的数量。这些反射率值可以被称为峰值。在这种情况下,根据实施方式的发送装置可以将这些反射率值确定为具有基于重要性的代表值的点。
[0511]
根据实施方式的发送装置可以将具有根据实施方式的属性数据当中的峰值的点指定为代表点。此外,根据实施方式的发送装置可以指定具有与属性数据的平均值最相似的属性数据值的点作为代表点。根据实施方式的发送装置还可以指定具有属性数据的平均值的点、具有类似于平均值的属性值的点、或者具有属性数据的最小值/最大值的点作为代表点。
[0512]
根据实施方式的发送装置可以配置包括立方体形状或长方体形状的边界框中的点的切片,该立方体形状或长方体形状占用分别从代表点向上、向下、向左、向右、向前和向后到达预定距离的空间。根据实施方式的发送装置可以配置包括球形形状的边界框中的点的切片,该球形形状的边界框占用从代表点达到特定距离的空间。根据实施方式,不属于切片的点可以属于最近的切片,并且根据实施方式的发送装置可以使用这些点来单独地配置另一切片。
[0513]
当基于图28所示的方法分割点云数据时,根据实施方式的发送装置可以向发送装置发信号通知用于分割的信令信息(例如,value_based_overlapping_slice_partition)。
[0514]
由于此配置,接收装置量化、对准、偏移且缩放一个切片中的属于不同切片的点,由此实现点云压缩的可缩放性并递送关于用户的roi的信息。
[0515]
图29示出根据实施方式的分割交叠切片的方法。
[0516]
根据图29所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、以及图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0517]
图29示出基于属性数据范围来配置交叠切片的方法,其是根据实施方式的对交叠切片进行分割的方法的示例。图29所示的切片分割方法可由图26的分割器26000或切片分割器26002执行。此外,图29所示的切片分割方法可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图29所示的操作可以例如在图12的数据输入单元12000中执行。
[0518]
如图29所示,根据实施方式的基于属性数据范围来构造交叠切片的方法是指通过在一个拼块中推导(采样)具有特定范围内的属性值的一个或更多个点来配置一个或更多个切片。
[0519]
根据实施方式的点云数据发送装置基于属性数据的值对属于一个拼块或3d空间的点(以升序或降序)进行排序,并且将其分割到属性数据值的范围内以配置一个或更多个切片。
[0520]
根据实施方式的发送装置可以跳过针对点云数据的点的属性数据以升序进行的排序。替代地,它可以分配用于每个切片的属性数据值的范围,并且基于所分配的属性数据值的范围将点分配给切片以配置切片。
[0521]
例如,参照图29,根据实施方式的发送装置可以将属性数据值(例如,颜色值)的范围分配给n个切片中的每一个。根据实施方式的发送装置可以检查点的属性数据并且比较与相应的点相对应的属性数据值(例如,颜色值)的范围。根据实施方式的发送装置可以通过将点索引插入切片中来配置切片。根据实施方式,作为属性数据值(例如,颜色值)的范围的参考可以是颜色值和反射率值。根据实施方式,由于基于属性数据值来分割一个或更多个切片,所以切片可以基于边界框彼此交叠。该方法可以在以下场景中使用,在该场景中,当根据实施方式的点云数据被解码时,特定属性数据的范围中的值应当首先被解码。
[0522]
除了分配属性数据的值的范围的方法之外,根据实施方式的发送装置可以根据属性数据的分布图来自动地确定属性数据的值的范围以执行分割。类似于基于重要性的交叠切片的反射率分布,可以基于代表点的属性值来分割根据实施方式的属性数据的分布。代表点可以对应于属性数据的平均值和类似的属性值。
[0523]
根据实施方式,当发送装置基于属性数据值分割切片时,选择相邻节点倾向于减小残差值,因为属性数据值的范围比整个序列的范围窄。因此,当基于根据实施方式的属性数据的值的范围来分割切片时,压缩率可以增加。
[0524]
当基于图29所示的方法分割点云数据时,根据实施方式的发送装置可以通过信令信息(例如,attribute_range_based_slice_partition)向发送装置发信号通知分割。
[0525]
图30示出根据实施方式的分割交叠切片的方法。
[0526]
根据图30所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、以及图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。此外,该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0527]
图30示出基于莫顿码配置交叠切片的方法,其是根据实施方式的对交叠切片进行
分割的方法的示例。图30所示的切片分割方法可由图26的分割器26000或切片分割器26002执行。此外,图27所示的切片分割方法可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图30所示的操作可以由例如图12的数据输入单元12000来执行。
[0528]
如图30所示,根据实施方式的基于莫顿码配置交叠切片的方法是指推导一个拼块中的点的莫顿码并且配置一个或更多个切片。根据实施方式的莫顿码可以由根据实施方式的发送装置(例如,图15的空间分割器15001或图16的方块拼块单元16001)生成。
[0529]
莫顿码是指通过交织以比特为单位的点位置信息(其可以以几何数据存在)的坐标值(例如,x坐标、y坐标和z坐标值)而生成的码。根据实施方式,点云数据的点可以具有不同的莫顿码。
[0530]
图30的(a)示出根据实施方式的用于使用点的坐标值来生成莫顿码的等式。例如,根据实施方式的生成莫顿码可以包括将点的坐标值改变为二进制数(如图30的(a)的30a00中所示)和/或交织以二进制数表示的坐标值的比特(如图30的(a)的30a01中所示)。
[0531]
在图30的(a)中,x_k、y_k和z_k分别表示x坐标值、y坐标值和z坐标值的第k个数字比特。在图30的(a)中,n表示被表示为二进制数的坐标值的数字的总数。x_i、y_i和z_i表示根据实施方式的点云数据的点当中的第i点。mc(x,y,z)表示根据实施方式的特定点的莫顿码。m表示根据实施方式的点的坐标值的数字的总数。
[0532]
点云数据发送装置可以通过交织点的坐标值的比特来生成莫顿码。例如,根据实施方式的发送装置可以将点的每个轴上的坐标值转换为二进制数(30a00)。根据实施方式的点云数据发送装置可以通过在相应的轴上顺序地交织坐标值来生成莫顿码(30a01)。
[0533]
例如,假设具有作为位置信息的坐标值(3,4,5)的第一点被交织。发送装置可推导第一点的相应轴上的坐标值的二进制数(011,100,101)(30a00)。发送装置可以顺序地布置第一点的坐标值当中的x值的最高有效比特(例如,0),第一点的坐标值当中的y值的最高有效比特(例如,1),以及第一点的坐标值当中的z值的最高有效比特(例如,1)(例如,011)。发送装置可以顺序地布置第一点的坐标值当中的x值的第二最高有效比特(例如,1)、第一点的坐标值当中的y值的第二最高有效比特(例如,0)、以及第一点的坐标值当中的z值的第二最高有效比特(例如,0)(例如,100)。根据实施方式的莫顿码可以包括连续布置的坐标值的最高有效比特的阵列和坐标值的第二最高有效比特的阵列(例如,011100)。点云数据发送装置(或莫顿码生成器)可以顺序地布置第一点的坐标值当中的x值的最低有效比特(例如,1)、第一点的坐标值当中的y值的最低有效比特(例如,0)、以及第一点的坐标值当中的z值的最低有效比特(例如,1)。根据实施方式的莫顿码可以包括坐标值的最低有效比特的阵列,其被布置为与连续布置的坐标值的最高有效比特的阵列和坐标值的第二最高有效比特的阵列连续(例如,011100101)(30a01)。表示为根据实施方式的第一点的二进制数的莫顿码(例如,01110010)可以以十进制表示为299。
[0534]
根据实施方式的发送装置可以使用莫顿码顺序搜索(其可以被称为z顺序搜索)来针对点云数据的点配置根据实施方式的一个或更多个切片。当根据实施方式的关于点的位置信息被改变为莫顿码时,莫顿码顺序搜索可以指代以升序或降序搜索莫顿码。
[0535]
图30的(b)示出根据实施方式的由发送装置分割一个或更多个切片的方法,该方法使用根据实施方式的点的莫顿码。图30的(b)示出根据实施方式的基于莫顿码配置交叠切片的方法。
[0536]
基于在图30的(b)中示出的莫顿码配置交叠切片的方法可以包括基于莫顿码值以升序或降序对这些点进行排序(30b00),将排序的点分割为切片,使得切片中的点的数量在从点的最小数量(minpoint)到点的最大数量(maxpoint)的范围内(30b01),和/或合并和重新分割各自具有在从点的最小数量(minpoint)到点的最大数量(maxpoint)的范围之外的点的数量的切片(30b02)。
[0537]
根据实施方式的发送装置可以使用根据实施方式推导莫顿码的方法来生成每个点的一个莫顿码(30b00)。根据实施方式的发送装置可以升序或降序对相应点的莫顿码进行排序。参照图30的(b)的30b00,tilepointnum表示根据实施方式的拼块中的点的数量。mc_i表示第i点的莫顿码。sort(mc_i)表示根据实施方式的基于莫顿码以升序和/或降序对点进行排序的函数。根据实施方式的排序方法(例如,按升序或降序排序等)可以通过从发送装置发送到接收装置的信令信息来传送。
[0538]
根据实施方式的发送装置可以使用根据实施方式的排序的莫顿码将点云数据分割为一个或更多个切片,使得从点的最小数量到点的最大数量的范围内的点分布在每个切片中(30b01)。例如,根据实施方式的发送装置可以将点的索引插入到切片中,使得从点的最小数量到点的最大数量的范围内的点被包括在每个切片中。
[0539]
参照图30的(b)的30b01,minpoint可表示存在于一个切片中的点的最小数量,并且maxpoint可表示存在于一个切片中的点的最大数量。minpoint和maxpoint表示根据实施方式的点的最小数量和点的最大数量。slicen表示根据实施方式的第n切片。例如,根据实施方式的发送装置可以生成n个切片。
[0540]
参照图30的(b)的30b02,发送装置可以将所生成的n个切片中的一些与其它切片合并。发送装置可以将所生成的n个切片中的一些分割(例如,成一半(splithalf))。例如,n-1个切片可以是包括maxpoint-1个点的切片。另外,剩余的一个切片可以是包含其数量小于(minpoint)的点的切片。根据实施方式,剩余的一个切片可以与n-1个切片中的一些切片合并,或者可以由发送装置分割并且与n-1个切片中的每一个合并。
[0541]
当基于图30所示的方法分割点云数据时,根据实施方式的发送装置可以向发送装置发信号通知作为要被发送的信令信息(例如,morton_order_based_slice_partition)的分割。
[0542]
根据实施方式,莫顿码基于近距离搜索3d空间中存在的所有点。因此,根据实施方式的发送装置可以使用基于莫顿码配置交叠切片的方法来以少量的计算搜索接近特定点的点。
[0543]
另外,由于根据实施方式的基于莫顿码配置交叠切片的方法,与使用八叉树的空间分割操作的情况相比,根据实施方式的发送器可以通过推导莫顿码非常快速地执行操作。另外,通过最小化空间分割中的交叠空间,可以高效地编码点云数据。
[0544]
图31示出根据实施方式的分割交叠切片的方法。
[0545]
根据图31所示的分割方法的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、以及图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0546]
图31示出配置每个拼块的切片的方法,其为根据实施方式的对交叠切片进行分割
的方法的示例。图31所示的配置每个拼块的顺序输入切片的方法可由图26的分割器26000或切片分割器26002执行。此外,图31所示的配置每个拼块的顺序输入切片的方法可以由图15的空间分割器15001和图16的方块拼块单元16001执行。图31所示的操作可以由例如图12的数据输入单元12000来执行。
[0547]
在根据图31所示的实施方式配置每个拼块的顺序输入拼块的方法中,是指将根据实施方式的点云数据分割成一个或更多个拼块并将每个分割的拼块分割成一个或更多个拼块。
[0548]
图31的(a)示出根据实施方式的由发送装置将点云数据分割成拼块并将每个分割的拼块分割成切片的操作。
[0549]
如图31的(a)所示,根据实施方式的发送装置可以基于点的数量(或数据大小)等将点云数据分割成一个或更多个拼块,并且将分割的拼块存储在缓冲器中。存储在缓冲器中的拼块中的数据可以被顺序地分割成一个或更多个切片,并且被发送到根据实施方式的编码器。
[0550]
因此,根据实施方式的发送装置(或图15的空间分割器)可包括(例如)拼块输入单元31a00、拼块配置单元31a01、拼块输出单元31a02、切片输入单元31a03和切片配置单元31a04,和/或切片输出单元31a05。
[0551]
拼块输入单元31a00接收根据实施方式的所获取的点云数据的输入。
[0552]
拼块配置单元31a01接收由根据实施方式的拼块输入单元31a00接收的点云数据,并将点云数据分割成一个或更多个拼块。在输出拼块之前,根据实施方式的拼块配置单元31a01可保持在等待状态31a01a,直到生成第一个接收到的拼块。
[0553]
拼块输出单元31a02输出通过分割点云数据而生成的一个或更多个拼块。
[0554]
切片输入单元31a03接收用于一个拼块的数据以接收其中包含的点的输入。
[0555]
切片配置单元31a04基于由切片输入单元31a03输入的一个拼块中包含的点而生成(或分割)一个或更多个切片。
[0556]
切片输出单元31a05输出一个或更多个生成的切片。输出切片被单独地发送到根据实施方式的编码器。
[0557]
根据实施方式的一个或更多个分割的切片可以在空间中彼此交叠或不交叠。
[0558]
图31的(b)示出根据实施方式的发送装置将点云数据分割为拼块并将每个分割的拼块分割成切片的操作。
[0559]
如图31的(b)所示,根据实施方式的发送装置可以基于点的数量(或数据大小)等将点云数据分割成一个或更多个拼块,并且将分割的拼块存储在缓冲器中。存储在缓冲器中的拼块中的数据可以被顺序地分割成一个或更多个切片,并且被发送到根据实施方式的编码器。
[0560]
因此,根据实施方式的发送装置(或图15的空间分割器)可包含(例如)拼块输入单元31b00、拼块配置单元31a01、拼块输出单元31b02、切片输入单元31b02和切片配置单元31b03,和/或切片输出单元31b04。
[0561]
拼块输入单元31b00接收根据实施方式的所获取的点云数据的输入。
[0562]
拼块配置单元31b01接收由根据实施方式的拼块输入单元31b00接收的点云数据,并将点云数据分割成一个或更多个拼块。
[0563]
拼块输出单元或切片输入单元31a02生成通过分割点云数据生成的一个或更多个拼块,并且接收关于包括在其中的点的数据。
[0564]
切片配置单元31b03基于由切片输入单元31b02输入的一个拼块中包含的点而生成(或分割)一个或更多个切片。
[0565]
切片输出单元31b04输出一个或更多个所生成的切片。输出切片被单独地发送到根据实施方式的编码器。
[0566]
根据实施方式的一个或更多个分割的切片可以在空间中彼此交叠或不交叠。
[0567]
根据实施方式的发送装置将点云数据分割为一个或更多个切片,如图31的(b)所示。因此,虽然根据实施方式的发送装置通过拼块大小来配置拼块,但可将其它拼块单独地分割成切片。因此,由于图31的(b)所示的配置,发送装置可以快速地将点高效地分割成多个切片。
[0568]
当基于图30所示的方法分割点云数据时,根据实施方式的发送装置可以向发送装置发信号通知作为要被发送的信令信息(例如,sequential_input_slice_configuration_in_tile)的分割。
[0569]
图32示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个切片的操作。
[0570]
确定是否执行图32所示的分割的操作可以由图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0571]
图32所示的操作可以由根据实施方式的点云数据发送装置、图15所示的空间分割器15001、图16所示的数据特性检查器16000、方块拼块单元16001和分割的数据输入单元16002、图26所示的分割器26000等来执行。根据实施方式的点云数据发送装置(或空间分割器)可以将点云数据分割成一个或更多个切片。图32所示的操作可以由例如图12的数据输入单元12000来执行。
[0572]
在根据实施方式执行分割之前,根据实施方式的点云数据发送装置可首先检查执行切片分割操作的条件以确定是否执行分割操作。
[0573]
当在执行分割操作之前,点云数据的一个帧中包含的点的数量小于点的最大数量(maxpointnum)(是)时,根据实施方式的发送装置可以在不进行根据实施方式的分割操作和细化操作(或合并操作)的情况下由编码器执行编码(32000a中的“是”)。
[0574]
根据实施方式的点的最大数量(maxpointnum)可以是在点云数据发送装置中预设的信息(值)或由用户接收和设置的值。根据实施方式,可以基于点云数据的特性来确定点的最大数量。根据实施方式的点的最大数量可以通过信令信息被发送到根据实施方式的接收装置。
[0575]
由于根据实施方式的点的最大数量在根据实施方式的发送装置中被设置,所以针对逐切片地编码的点云数据的发送装置的编码器的编码效率增加。根据实施方式的发送装置可以通过基于点云数据的特性设置点的最大数量来增加适应于数据的特性的编码效率。
[0576]
因此,操作可以包括检查一个切片中插入的点的数量的操作32000a。
[0577]
切片中的插入的点的数量可大于点的最大数量(maxpointnum)。在这种情况下,根
据实施方式的点云数据发送装置(或空间分割器)可以分割点云数据(32001)和/或细化点云数据(32002)。
[0578]
切片中的插入的点的数量可小于点的最大数量(maxpointnum)。在这种情况下,点云数据发送装置(或空间分割器)可以由根据实施方式的编码器编码点云数据,跳过分割操作32001和细化操作32002。
[0579]
分割点云数据的操作32001可指参照图15到31描述的分割点云数据(或拼块中的点)的操作。点云数据发送装置(或空间分割器)还可以包括点云数据分割器,该点云数据分割器被配置为执行分割点云数据的操作32001。
[0580]
细化点云数据的操作32002是指细化根据实施方式的分割的切片中的点的操作。点云数据发送装置(或空间分割器)还可以包括点云数据细化器,其被配置为执行细化点云数据的操作32002。
[0581]
根据实施方式的细化操作可以表示合并或分割根据实施方式的一个或更多个切片的操作。例如,发送装置可出于特定目的合并切片中的一些以生成一个切片。类似地,发送装置可通过分割一些切片中的每一个来生成更多的切片。根据实施方式的发送装置可以检查与特定切片相邻的切片中的点的数量以执行细化操作。
[0582]
例如,当一个切片中的点的数量大于根据实施方式的点的最大数量(maxpointnum)时,发送装置可将切片分割成两个或更多个切片。作为另一示例,当一个切片中的点的数量小于根据实施方式的点的最小数量(minpointnum)时,发送装置可将切片与相邻切片合并。
[0583]
例如,在根据实施方式的分割操作(即,切片分割)之后,根据实施方式的点云数据发送装置可将具有数量大于maxpointnum的点的拼块分割成一个或更多个子切片,或将各自具有比minpointnum更少的点的切片合并成一个切片。
[0584]
分割是根据实施方式的细化操作的示例。当点计数(asize)大于maxpointnum时,包含对应的点的切片可分割成n个分区。分区可以是切片。例如,n=ceil(asize/maxpointnum)。
[0585]
在合并操作中,当一个切片中的点云数据的点计数小于minpointnum时,切片与先前切片或下一切片合并。先前切片可指切片索引比当前切片的切片索引小1的切片,并且下一切片可指指切片索引比当前切片的切片索引大1的切片。
[0586]
合并可以基于例如以下操作原理来执行。
[0587]
1)在当前切片是第一切片时,合并的方向是朝向下一切片。
[0588]
2)在当前切片是结束切片时,合并的方向是朝向先前切片。
[0589]
3)可能存在当前切片既不是第一切片也不是结束切片的情况。当假定当前切片和先前切片的点的总和为sumfront并且当前切片和下一切片的点的总和为sumnext时:
[0590]
a)如果sumfront》maxpointnum并且sumnext》maxpointnum或者sumfront《maxpointnum并且sumnext《maxpointnum,则合并的方向可以是与具有更多的点的切片合并的方向;
[0591]
b)否则,合并的方向可以是与具有更少的点的切片合并的方向。
[0592]
根据实施方式的发送装置可以在合并之后遍历所有合并的切片,并且将其与submerged和maxpointnum进行比较。假定submerged是合并的切片中的点的数量。如果
submerged<minpointnum,则发送装置可继续针对当前切片执行合并。如果submerged>maxpointnum,则发送装置可将合并切片以maxpointnum的间隔进行分割。如果minpointnum《submerged《maxpointnum,则发送装置可保持当前切片且检查下一切片。
[0593]
图32所示的操作可以由如下伪代码表示。
[0594]
std::vector《partition》curslices;
[0595]
switch(params-》partition.method||inputpointcloud.getpointcount()
[0596]
《params-》partition.slicemaxpoints){
[0597]
case partitionmethod::knone:
[0598]
return 1
[0599]
case partitionmethod::kuniformgeom:
[0600]
partitionbyuniformgeom()
[0601]
case partitionmethod::koctreeuniform:
[0602]
partitionbyoctreedepth()
[0603]
params-》partition.method指示根据实施方式的用于分割操作的分割方法。分割方法可为图26至图31所示的方法中的一种。
[0604]
inputpointcloud.getpointcount()可以是根据实施方式的用于返回点云数据的点的数量的方法。
[0605]
params-》partition.slicemaxpoints可指示可包含在一个切片(或拼块)中的点的最大数量。也就是说,参考伪代码,当输入点云数据的点的数量小于params-》partition.slicemaxpoints(或maxpointnum)时,可以跳过partitionbyuniform()和partitionbyoctreedepth()的执行,并且可以输出单个切片,如在伪代码中示出的。参考伪代码,当输入点云数据的点的数量大于params-》partition.slicemaxpoints时,可以通过执行partitionbyuniform()或partitionbyoctreedepth()中的至少一个的语法来分割根据实施方式的点云数据。例如,当发信号通知基于图19所示的沿着最长边的均匀几何分割的切片分割方案来执行分割操作时(params-》partition.method==partitionmethod::kuniformgeom),可以基于该分割方案(partitionbyuniformgeom())来执行分割。例如,当发信号通知基于图19所示的使用八叉树的均匀几何分割的切片分割方案来执行分割操作时(params-》partition.method==partitionmethod::koctreeuniform),可以基于该分割方案(partitionbyoctreedepth())来执行分割。
[0606]
因此,根据实施方式的点云数据发送/接收装置可以基于点的最大数量(maxpointnum)来确定是否执行数据划分和/或数据细化。当点云数据的点的数量小于特定值时,可以在没有单独的分割或合并点的过程的情况下快速地压缩或解码点。
[0607]
类似地,当点云数据的点的数量大于特定值时,可以附加地执行诸如数据分割和/或数据细化的操作来在高效数据单元的基础上处理数据以增加编码/解码性能。
[0608]
根据实施方式,点的最大数量(maxpointnum)的值可以由用户输入。
[0609]
根据实施方式,maxpointnum可以从系统设置生成。
[0610]
根据实施方式,maxpointnum可以作为参数信息在点云比特流(参见图38)中发送。
[0611]
根据实施方式的发送装置不限于上述伪代码,并且可以基于参照图26至图31描述的分割方法来执行分割方法。
[0612]
图33示出根据实施方式的由点云数据发送装置将点云数据分割成一个或更多个切片的操作。
[0613]
图33所示的分割操作可以由包括图1的发送装置1000、图1的发送器10003、图1的点云视频编码器10002、图2的编码18001、图2的发送器18002、图4的编码器、图12的发送装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0614]
当根据实施方式的发送装置(或包括在发送装置中的空间分割器)使用根据实施方式的分割方法执行分割时,要分割的目标可预先指定。要分割的目标可以是各种数据。
[0615]
作为根据实施方式的输入点云数据,尚未执行量化的点云数据可以被输入到分割器,或量化点云数据可以被输入到分割器。作为根据实施方式的输入点云数据,向其应用或不应用偏移的点云数据可以被输入到分割器。
[0616]
因此,根据实施方式的点云数据发送装置(或分割器)还可以在分割点云数据之前执行量化点云数据的操作。点云数据发送装置(或空间分割器)还可以包括点云数据量化器33000,其被配置为量化点云数据。
[0617]
根据实施方式的点云数据发送装置(或分割器)可以将点云数据分割成一个或更多个切片而不量化点云数据。
[0618]
根据实施方式的点云数据发送装置(或分割器)可以生成和发送指示是否已经执行根据实施方式的量化操作的信令信息。因此,根据实施方式的点云数据接收装置可以基于指示是否已经执行根据实施方式的量化操作的信令信息来执行解码。
[0619]
根据实施方式的点云数据量化器33000可以执行图4所示的量化器(量化和去除点(体素化))40001的一些或所有操作。例如,量化器33000可以基于量化位置执行体素化以重构量化点。
[0620]
点位置在被编码(压缩)之前被内部表示为非负d比特整数。为了使根据实施方式的发送装置(或量化器)33000获得这些整数,内部坐标系中的点位置可以是圆形的。设为内部坐标系中的点位置。然后,其作为非负d比特整数的表示可以是
[0621]
其中,round()是将向量的分量舍入到最接近的整数的函数。
[0622]
根据实施方式,在由发送装置(或量化器33000)进行这样的量化之后,可以存在具有相同位置的多个点(称为重复点)。重复点去除过程可以可选地由发送装置(或量化器33000)执行。如果发送装置(或量化器33000)被启用,则发送装置(或量化器33000)去除具有相同量化坐标的点。为了使发送装置检测根据实施方式的重复,可以利用(采用)stl设置数据结构。
[0623]
具有相同量化位置和不同属性的多个点可以由根据实施方式的量化器33000在单个点中合并。
[0624]
由根据实施方式的量化器33000进行的位置量化、重复点去除和/或属性分配给剩余点的过程的部分或全部可以被称为体素化。根据实施方式,体素化可以是将点一起分组到一个或更多个体素中的过程。体素的集合可以是单位立方体[i-0.5,i 0.5)
×
[j-0.5,j 0.5)
×
[k-0.5,k 0.5),其中i、j和k的整数值在0和2
d-1之间。根据实施方式,体素内的所有点的位置可以被量化到体素中心,并且体素内的所有点的属性可以被组合或平均并被指派
给体素。根据实施方式,如果体素包含点云的任何点,则体素被称为被占用。
[0625]
根据实施方式的点云数据分割器33001和点云数据细化器33002可以是参照图32描述的点云数据分割器32001和点云数据细化器32002。根据实施方式的图33的操作可以由以下伪代码表示。
[0626]
quantizedinputcloud=quantization(inputpointcloud)
[0627]
switch(params-》partition.method)
[0628]
refineslices(quantizedinputcloud)
[0629]
根据实施方式的点云数据发送装置可以在编码过程中执行诸如数据量化、数据分割和数据细化之类的操作。
[0630]
根据实施方式的点云数据发送装置可以根据数据的类型和属性跳过数据量化33000的操作以用于高效的压缩性能。另外,关于是否执行数据量化的信息可以在比特流(参见图38)中作为信令信息发送。根据实施方式的点云数据接收装置可以基于比特流中包含的信息来检查是否执行数据量化,并且可以根据发送侧的逆过程以低时延重构点云数据。
[0631]
根据实施方式,quantization(inputpointcloud)表示量化器33000量化根据实施方式的点云数据的操作。
[0632]
switch(param-》partition.method)表示根据实施方式的分割量化点云数据的操作。例如,switch(param-》partition.method)表示根据切片分割方法将量化点云数据分割成一个或更多个切片。分割量化点云数据的操作可以是上面参照图32所描述的操作。
[0633]
refineslices(quantizedinputcloud)表示根据实施方式的发送装置细化由switch(param-》partition.method)语法分割的点云数据的操作。细化点云数据的操作可以是上面参照图33描述的操作。
[0634]
图34示出根据实施方式的点云解码器。
[0635]
图34所示的分割操作可以由图1的接收装置10004、图1的接收单元10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和图11的解码器、图13的接收装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0636]
根据实施方式的点云解码器34000可以包括几何信息解码器34001和/或属性信息解码器34002。根据实施方式,点云解码器可以被称为pcc解码装置、pcc解码单元、点云装置、点云解码单元、pcc解码器等。
[0637]
几何信息解码器34001接收点云数据的几何信息比特流34000a。几何信息解码器34001可解码点云数据的几何信息比特流34000a并且输出关于恢复的点云数据34000c的输出属性信息。几何信息解码器34001可将几何信息比特流重构为几何信息并且输出恢复的几何信息34001。几何信息比特流34000a可为图15的几何信息比特流或几何比特流。属性信息比特流34000b可为图15的属性信息比特流或属性比特流。
[0638]
几何信息解码器34001通过解码所接收的几何信息比特流而恢复几何信息。恢复的几何信息可以被输入到属性信息解码器。属性信息解码器34002从输入到其的属性信息比特流和从几何信息解码器接收的恢复的几何信息中恢复属性信息。恢复的几何信息可以是由参照图11描述的几何重构器(重构几何)11003重构的几何。恢复的几何信息可以是由
参照图13描述的基于占用代码的八叉树重构处理器13003重构的八叉树占用代码。
[0639]
几何信息解码器34001接收由根据实施方式的接收装置接收的几何信息比特流。几何信息解码器34001可解码几何信息比特流。
[0640]
几何信息解码器34001可执行图1的点云视频解码器、图2的解码20003、图10的几何解码器、图11的算术解码器11000、图11的八叉树合成器11001、图11的表面近似合成器11002、图11的几何重构器11003和/或图11的坐标逆变换器11004的所有/部分操作。
[0641]
属性信息解码器34002接收点云数据的属性信息比特流34000b。属性信息解码器34002可以解码点云数据的属性信息比特流34000b并且输出关于恢复的点云数据34000c的属性信息。属性信息解码器34002可基于由几何信息解码器34001生成的恢复的几何信息34001a来解码属性信息比特流。
[0642]
根据实施方式,属性信息解码器34002接收由接收装置接收的属性信息比特流。属性信息解码器可基于所恢复的几何信息来解码属性信息比特流中的属性信息。点云数据中包含的几何信息和/或属性信息可以被解码并恢复pcc数据。
[0643]
属性信息解码器3402可以执行图1的点云视频解码器的操作、图2的解码20003的操作、图10的属性解码器的操作、图11的逆量化器11006、raht 11007、lod生成器11008、逆提升器11009和/或颜色逆变换器11010的操作、以及图13的算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011的操作。
[0644]
图35示出根据实施方式的点云解码器。
[0645]
根据图35所示的实施方式的点云数据解码器的操作的一部分或全部可以由图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和图11的解码器、图13的接收装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0646]
根据图35的实施方式的点云解码器可以是根据图34的实施方式的点云数据解码器34000。根据实施方式的点云解码器可以包括接收器35000、分割的数据输入单元35001、第一算术解码器35002、基于占用代码的八叉树重构处理器35003、表面模型处理器35004、几何重构器35005、坐标逆变换器35006、第二算术解码器35007、逆量化处理器35008、预测/提升/raht逆变换处理器35009、属性重构器35010、颜色逆变换器35011和/或点组合器35012。
[0647]
根据图35所示的实施方式的点云数据解码器的组件的操作可以逐方块地执行,或者可以逐方块地独立执行。
[0648]
根据实施方式,接收器35000可以接收包含点云数据的比特流。接收器35000可将所接收的比特流发送到分割的数据输入单元35001。接收器35000可以执行图1的接收器10007、图2的传输20002和图13的接收器13000的操作。
[0649]
分割的数据输入单元35001逐方块地接收包含根据实施方式的点云数据的比特流,并且逐方块地输出点云数据的几何比特流和属性比特流以逐方块地执行解码。分割的数据输入单元35001可将以方块为单位的几何比特流发送到第一算术解码器35002,并且将以方块为单位的属性比特流发送到第二算术解码器35002。
[0650]
当由接收器35000接收的比特流包含指示已经逐方块地执行编码(或指示已经逐
方块地执行编码)的信令信息(例如,bistream_brick_decoding_flag)时,根据实施方式的点云数据接收装置(分割的数据输入单元35001)可以对n次接收的比特流执行解码。分割的数据输入单元35001可以执行图1的接收器10007、图2的传输20002和图13的接收处理器13001的操作。
[0651]
第一算术解码器35002逐方块地接收几何比特流。第一算术解码器35002可解码几何比特流。第一算术解码器29002输出解码的几何信息。
[0652]
第一算术解码器35002可执行图1的点云视频解码器10006、图2的解码20003、图11的算术解码器11000和图13的算术解码器13002的操作。
[0653]
基于占用代码的八叉树重构处理器35003接收解码的几何信息。基于占用代码的八叉树重构处理器35003可以基于以方块为单位的几何比特流来重构基于占用的八叉树。基于占用代码的八叉树重构处理器35003可以将重构的八叉树发送到表面模型处理器35004。
[0654]
基于占用代码的八叉树重构处理器35003可以执行图1的点云视频解码器10006、图2的解码20003、图11的八叉树分析器11001和图13的基于占用代码的八叉树重构处理器13003的操作。
[0655]
表面模型处理器35004可基于由第一算术解码器35002解码的几何信息和/或由基于占用代码的八叉树重构处理器35003重构的八叉树对几何信息执行表面模型处理。几何信息的表面模型处理可以包括例如三角形重构、上采样和体素化。
[0656]
表面模型处理器35004可以执行图1的点云视频解码器10006、图2的解码20003、图11的表面近似分析器11002和图13的表面模型处理器13004的操作。
[0657]
几何重构器35005接收由表面模型处理器35004处理的几何信息。几何重构器重构经表面模型处理的几何信息。几何重构器35005可以将重构的几何信息发送到预测/提升/raht逆变换处理器35009和/或坐标逆变换器35006。
[0658]
几何重构器35005可以执行图1的点云视频解码器10006、图2的解码20003和图11的几何重构器11003的操作。
[0659]
坐标逆变换器35006逆变换关于由几何重构器35005生成的几何信息的坐标信息。坐标逆变换器35006对几何信息进行逆变换并且输出关于点云数据的点的位置信息。坐标逆变换器35006可将关于点的位置信息发送到点组合器35012。
[0660]
坐标逆变换器35006可以向分割的数据输入单元35001发送指示已经对与点对应的块执行几何解码的信息。
[0661]
坐标逆变换器35006可执行图1的点云视频解码器10006、图2的解码20003和图11的坐标逆变换器11004的操作。
[0662]
第二算术解码器35007逐方块地接收几何比特流。第二算术解码器35007可解码属性比特流。第二算术解码器35007输出解码的属性信息。
[0663]
第二算术解码器35007可以执行图1的点云视频解码器10006、图2的解码20003、图11的算术解码11005和图13的算术解码器13007的操作。
[0664]
逆量化处理器35008接收由第二算术解码器35007生成的解码的属性信息。逆量化处理器35008逆量化接收到的解码的属性信息。逆量化处理器35008可输出逆量化属性信息并且将逆量化属性信息发送到预测/提升/raht逆变换处理器35009。
[0665]
逆量化处理器35008可以执行图1的点云视频解码器10006、图2的解码20003、图11的逆量化器11006和图13的算术解码器13007的操作。
[0666]
预测/提升/raht逆变换处理器35009接收由逆量化处理器35008逆量化的几何信息,并且对其进行逆变换。预测/提升/raht逆变换处理器35009可以基于预测方法、提升方法和raht方法中的至少一个来逆变换逆量化属性信息。预测/提升/raht逆变换处理器35009可基于由几何重构器35005重构的几何信息(或恢复的几何信息)来逆变换属性信息。
[0667]
预测/提升/raht逆变换处理器35009可以执行图1的点云视频解码器10006、图2的解码20003、图11的raht 11007、图11的lod生成器11008和图11的逆提升器11009的操作。
[0668]
属性重构器35010基于由预测/提升/raht逆变换处理器35009逆变换的属性信息来重构属性信息。属性重构器输出重构的属性信息并将其发送到颜色逆变换处理器35011。
[0669]
属性重构器35010可执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010和图13的颜色逆变换处理器13010的操作。
[0670]
颜色逆变换器35011接收由属性重构器35010重构的几何信息。颜色逆变换器35011可以对重构的几何信息执行逆颜色变换。颜色逆变换器35011输出关于点云数据的点的属性信息。
[0671]
颜色逆变换器35006可将指示已对与点对应的块执行属性解码的信息发送到分割的数据输入单元35001。属性重配置单元35010可以执行图1的点云视频解码器10006、图2的解码20003、图11的颜色逆变换器11010和图13的颜色逆变换处理器13010的操作。
[0672]
根据实施方式,点组合器35012接收关于点云数据的点的几何信息(位置信息)和/或关于点的属性信息。点组合器35012以方块为单位接收关于点云数据的点的几何信息(位置信息)和/或关于点的属性信息,并且逐方块地组合它们。点组合器35012以方块为单位输出包含关于点的位置信息和属性信息的点云数据。
[0673]
图36示出根据实施方式的点云数据接收装置。
[0674]
根据实施方式的点云数据接收装置36000可以包括根据实施方式的点云数据解码器36002。
[0675]
根据图36所示的实施方式的点云数据接收装置的一些或全部操作可以由图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和图11的解码器、图13的接收装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0676]
点云数据接收装置36000可以接收包含针对每个切片编码的点云数据的比特流36001。比特流36001可包含关于每个切片中包括的点的几何信息和/或属性信息。可以根据实施方式从点云数据解码器36002输入比特流36001。
[0677]
根据实施方式的比特流36001可以是其中点云数据被划分成一个或更多个拼块和/或切片的数据。根据实施方式的切片可为如参照图21至图31所述地分割的切片。
[0678]
根据实施方式的解码器36002分别对比特流36001中包含的几何比特流和属性比特流进行解码。根据实施方式的解码器36002可基于指示从发送装置发信号通知的指示根据实施方式的分割方法的信息或指示交叠切片分割方法的信息来执行解码。
[0679]
图37示出根据实施方式的点云解码器的点组合器。
[0680]
根据图37所示的实施方式的点组合器37000的一些或所有操作可以由图1的接收
装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的解码18003、图2的发送器18002、图10和图11的解码器、图13的接收装置、图14的xr装置1430等的组合来执行。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0681]
示出了点组合器37000。点组合器37000接收关于点的几何信息37000a和/或关于点的属性信息37000b。点组合器37000可以通过将接收到的关于点的几何信息37000a和属性信息37000b组合来输出点云数据37000c。点组合器37000包括组合执行器37001。
[0682]
组合执行器37001可接收针对每个方块或拼块的关于点的几何信息和属性信息。点组合器37000可以接收针对每个方块或拼块的关于点的几何信息和属性信息,并且基于组合方法来对其进行组合。
[0683]
根据实施方式的组合方法是指基于诸如多路复用、mvc比特串组合、顺序组合、基于重要性的组合等的方法中的至少一种的逆过程的操作。在点的位置值(几何信息)和点的属性值(属性信息)各自被解码之后,根据实施方式的点云解码器确定用于组合位置值和属性值的组合方法。
[0684]
根据实施方式的组合执行器37001可以一一对应的方式将一个属性值(属性信息)映射到一个位置值(几何信息)。当一个属性值(属性信息)不能以一一对应关系映射到一个位置值(几何信息)时,根据实施方式的组合执行器37001可以使用有损组合的方法。例如,可能不存在针对特定位置值(几何信息)存在的属性值(属性信息),并且针对一个位置值可以存在多个属性值。在根据实施方式的有损组合中,当多个属性信息被映射时,点信息可以被配置有duplicated_attribute_index。
[0685]
根据实施方式的点云解码器(例如,点组合器37000或组合执行器37001)可以基于由点云数据接收装置接收的比特流中包含的指示组合方法的信息(例如,combining_filter_index)来组合关于点的几何信息和点的属性信息。
[0686]
关于点的几何信息37000a是指由根据实施方式的点云解码器解码的几何比特流。点几何信息37000a可以是从图29的坐标逆变换器29006输出的关于点的几何信息和从图28的几何信息解码器28001输出的解码的几何信息。
[0687]
关于点的属性信息37000b是指由根据实施方式的点云解码器解码的属性比特流。点属性信息37000b可以是从图35的颜色逆变换处理器35011输出的关于点的属性信息和从图34的属性信息解码器34002输出的解码的属性信息。
[0688]
图38示出根据实施方式的点云数据的比特流结构的示例。
[0689]
图38示出根据实施方式的点云数据的比特流结构38000的示例。图38所示的点云数据的比特流结构38000可由图1的发送器10003、图2的发送器18002、图12的传输处理器12012、图16的比特流组合器16014和图17的比特流组合器17000生成。
[0690]
图38所示的点云数据的比特流结构38000可以是由根据实施方式的接收装置中的图1的接收器10005、图2的解码器18003、图13的接收器13000和图35的接收器35000接收的比特流。图38所示的点云数据的比特流结构38000可为图36的针对每个切片的几何和属性比特流36001。
[0691]
根据图38所示的实施方式的比特流结构38000的整体的一部分可由图14的xr装置1430生成。该图中示出的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0692]
根据实施方式的点云数据发送装置可发送具有图38所示的比特流结构的比特流38000。点云数据的比特流38000可以包含序列参数集(sps)38001、几何参数集(gps)38002、属性参数集(aps)38003、拼块参数集(tps)38004以及一个或更多个切片(切片0、切片1、片n)38004。点云数据的比特流38000可以包含一个或更多个拼块。根据实施方式的拼块可以是包括一个或更多个切片的切片的集合。根据实施方式的比特流38000提供拼块或切片,使得点云数据可按区域进行分割和处理。根据实施方式的比特流38000的每个区域可以具有不同的重要性。因此,当点云数据被分割成拼块时,可以将不同的过滤器(编码方法)和不同的过滤器单元应用于相应的拼块。当将点云分割为切片时,可将不同过滤器和不同过滤器单元应用于相应的切片。
[0693]
通过根据图38所示的比特流38000的结构发送点云数据,根据实施方式的点云数据发送装置可以允许根据重要性不同地应用编码操作,并且允许在重要区域中使用良好质量编码方法。
[0694]
根据实施方式的点云数据接收装置可以被允许根据接收装置的处理能力将不同的过滤(解码方法)应用于相应的区域(被分割成拼块或被分割成切片),而不是对整个点云数据使用复杂的解码(过滤)方法。由此,对于用户重要的区域可以确保更好的图像质量,并且可以在系统中确保适当的时延。
[0695]
spsp 38001是含有语法元素的语法结构,如由每个切片片段头中找到的语法元素参考的pps中找到的语法元素的内容所确定的,语法元素被应用于零个或更多个完整cvs。sps可以包括关于根据实施方式的点云数据比特流的序列信息。
[0696]
gps 38002可以是包含应用于零个或更多个完整几何(或编码的几何)的语法元素的语法结构。根据实施方式的gps 38002可以包括关于编码包含在一个或更多个切片38004中的点云数据的属性信息的方法的信息。gps 38002可以包括指示根据实施方式的与所包括的几何参数相关的sps 38001的sps标识符信息和用于标识gps的gps标识符信息。
[0697]
aps 38003可以是包含应用于零个或更多个完整属性(或编码的属性)的语法元素的语法结构。根据实施方式的aps 38003可以包括关于编码包含在一个或更多个切片38004中的点云数据的属性信息的方法的信息。aps 380033可包括指示根据实施方式的与所包括的几何参数相关的sps 38001的sps标识符信息,以及用于标识ap的aps标识符信息。
[0698]
tps 38004可以是包含应用于零个或更多个完整拼块(或编码的拼块)的语法元素的语法结构。拼块库存包括关于包含在根据实施方式的点云数据比特流中的零个或更多个拼块的信息。拼块库存可以被称为根据实施方式的拼块参数集(tps)。
[0699]
tps 38004可以包括用于标识一个或更多个拼块的标识符信息和指示一个或更多个拼块的范围(即,拼块的边界框)的信息。指示一个或更多个拼块的范围(即,拼块的边界框)的信息可包括关于作为由对应拼块表示的边界框的参考的点的坐标信息(例如,tile(n).tile_bounding_box_xyz0)和关于边界框的宽度、高度和深度的信息(例如,tile(n).tile_bounding_box_whd)。当给出多个拼块时,拼块库存33004可包括指示每个拼块的边界框的信息。例如,当通过拼块的标识符信息将每个拼块指示为0到n时,指示每一拼块的边界框的信息可表示为tile(0).tile_bounding_box_xyz0、tile(0).tile_bounding_box_whd、tile(1).tile_bounding_box_xyz0、tile(1).tile_bounding_box_whd等。
[0700]
切片38004可以是由根据实施方式的点云数据发送装置对点云数据进行编码的单
元。根据实施方式的切片38004可为包括一个几何比特流(geom00)38004a和一个或更多个属性比特流(attr00、attr10)38004b的单元。
[0701]
切片38004可以包括表示关于切片中包含的点云数据的几何信息的几何切片(geom)38004a,以及表示关于切片中包含的点云数据的属性信息的一个或更多个属性切片(attr)38004b和38004c。
[0702]
几何切片(geom)38004a包括包含关于点云数据的几何信息的几何切片数据(geom_slice_data)38004a-2,以及包含关于几何切片数据的信息的几何切片头(gsh、geom_slice_header)38004a-1。
[0703]
gsh 38004a-1包含关于切片中的几何切片数据38004a-2的信息。例如,gsh38004a-1可以包含用于标识表示关于切片的几何信息的gps 38002的几何参数集标识符(geom_geom_parameter_set_id)、以及用于标识几何切片的几何切片标识符(geom_slice_id)、指示几何切片数据的框的原点的几何框原点信息(geomboxorigin)、指示几何切片的对数标度的信息(geom_box_log2_scale)以及与几何切片中的点的数量相关的信息(geom_num_points)。
[0704]
当根据实施方式的点云数据比特流包含一个或更多个拼块时,根据实施方式的几何比特流的头还可以包含用于标识包括几何比特流的拼块的信息(geom_tile_id)。
[0705]
属性切片(attr)38004b、38004c包括包含关于点云数据的属性信息的属性切片数据(attr_slice_data)和包含关于属性切片数据的信息的属性切片头(ash,attr_slice_header)33005c。
[0706]
根据实施方式,对点云进行编码所需的参数可以被新定义为点云的参数集和头信息。例如,参数可在编码属性信息时添加到属性参数集rbsp语法,并且在执行基于拼块块的编码时添加到tile_header语法。
[0707]
根据实施方式,发送装置可以针对每个拼块或每个切片生成不同切片配置头单元,以便发信号通知根据实施方式的交叠切片的配置。
[0708]
由于根据实施方式的点云数据发送/接收方法提供了上述比特流结构,因此它可以增加用于点云数据的属性信息的接收器的解码性能。
[0709]
图39示出根据实施方式的比特流中的序列参数集(sps)。
[0710]
图39所示的参数可包含在图38所示的sps中。根据实施方式的sps可包含与根据实施方式的分割切片(切片分割)或切片拼块的方法相关的信令信息和/或相关信令信息。
[0711]
profile_idc可指示如附录a中指定的比特流所符合的简档。比特流不应当包含除了附录a中的指定之外的profile_idc的值。profile_idc的其它值可以预留以供iso/iec未来使用。
[0712]
profile_compatibility_flag等于1可指示比特流符合由如附录a中指定的等于j的profile_idc指示的简档。profile_compatibility_flag[j]的值可以针对未被指定为附录a中的profile_idc的允许值的j的任何值而等于0。
[0713]
level_idc指示如附录a中指定的比特流所符合的级别。比特流不应当包含除了附录a中的指定之外的level_idc的值。level_idc的其它值可以预留以供iso/iec未来使用。
[0714]
sps_bounding_box_present_flag等于1可指定发信号通知了边界框偏移和大小信息。
[0715]
当sps_bounding_box_present_flag的值为“真”时,根据实施方式的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。
[0716]
sps_bounding_box_offset_x指示笛卡尔坐标中的源边界框的x偏移。当不存在时,sps_bounding_box_offset_x的值可被推断为0。
[0717]
sps_bounding_box_offset_y指示笛卡尔坐标中的源边界框的y偏移。当不存在时,sps_bounding_box_offset_y的值可被推断为0。
[0718]
sps_bounding_box_offset_z指示笛卡尔坐标中的源边界框的z偏移。当不存在时,sps_bounding_box_offset_z的值可被推断为0。
[0719]
sps_bounding_box_scale_factor指示笛卡尔坐标中的源边界框的缩放因子。当不存在时,sps_bounding_box_scale_factor的值可被推断为1。当不存在时,sps_bounding_box_scale_factor的值可被推断为0。
[0720]
sps_bounding_box_size_width指示笛卡尔坐标中的源边界框的宽度。当不存在时,sps_bounding_box_size_width的值可被推断为特定值,例如10。
[0721]
sps_bounding_box_size_height指示笛卡尔坐标中的源边界框的高度。当不存在时,sps_bounding_box_size_height的值可被推断为1。当不存在时,sps_bounding_box_size_hieright的值可被推断为0。
[0722]
sps_bounding_box_size_depth指示笛卡尔坐标中的源边界框的深度。当不存在时,sps_bounding_box_size_depth的值可被推断为1。当不存在时,sps_bounding_box_size_depth的值可被推断为0。
[0723]
sps_source_scale_factor指示源点云的缩放因子。
[0724]
sps_seq_parameter_set_id提供sps的标识符以供其它语法元素参考。在符合本规范的版本的比特流中,sps_seq_parameter_set_id的值可在0到15(包含)的范围内。sps_seq_parameter_set_id的除0以外的值可以预留以供iso/iec未来使用。
[0725]
sps_num_attribute_sets指示比特流中的编码的属性的数量。sps_num_attribute_sets的值可在0到64的范围内。
[0726]
根据实施方式,sps可包含与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]。
[0727]
attribute_dimension[i]指定第i属性的分量的数量。
[0728]
attribute_instance_id[i]指定属性实例id。
[0729]
attribute_bitdepth[i]指定第i属性信号的比特深度。
[0730]
attribute_cicp_colour_primaries[i]指示颜色属性源原色的色度坐标。
[0731]
attribute_cicp_transfer_characteristics[i]可指示颜色属性的参考光电转移特性函数作为具有0到1的标称实数值范围的源输入线性光学强度lc的函数,或指示作为具有0到1的标称实数值范围的输出线性光学强度l0的函数的参考电光转移特性函数的逆。
[0732]
attribute_cicp_matrix_coeffs[i]描述用于从绿色、蓝色和红色、或y、z和x原色推导亮度和色度信号的矩阵系数。
[0733]
attribute_cicp_video_full_range_flag[i]指定从e'y、e'pb和e'pr或e'r、e'g和e'b实值分量信号推导的亮度和色度信号的黑色电平和范围。
[0734]
known_attribute_label_flag[i]等于1指定针对第i属性发信号通知know_attribute_label。known_attribute_label_flag[i]等于0指定针对第i属性发信号通知attribute_label_four_bytes。
[0735]
当known_attribute_label_flag[i]为1(真)时,根据实施方式的sps可进一步包含known_attribute_label[i]。
[0736]
known_attribute_label[i]等于0指定属性是颜色。known_attribute_label[i]等于1指定属性是反射率。known_attribute_label[i]等于2指定属性是帧索引。
[0737]
根据实施方式,sps可进一步包括partitioning_enabling_flag。
[0738]
partitioning_enabling_flag表示指示根据实施方式的点云发送装置是否将点云数据分割为切片或方块的信息(或标志)。
[0739]
根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可以基于partitioning_enabling_flag来确定所接收的比特流中的点云数据是否被分割为切片,并且可以逐切片地接收所接收的比特流中的点云数据。
[0740]
split_recursive_enabling_flag表示指示根据实施方式的点云发送装置是否已经对分割的切片或方块进行重新分割的信息(或标志)。
[0741]
当partitioning_enabling_flag等于1(真)时,根据实施方式的sps可进一步包括split_recursive_enabling_flag、multiple_brick_partitioning_flag、partitioning_unit_size和/或partitioning_type_index。
[0742]
根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可以基于split_recursive_enabling_flag来确定接收的比特流中的点云数据的切片是否被分割成子分割单元。
[0743]
partitioning_unit_size是指示由根据实施方式的点云发送装置分割的切片或方块的分割单元的信息。例如,partitioning_unit_size可指示根据实施方式的切片或方块的单元大小。
[0744]
根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可基于partitioning_unit_size确定接收的比特流中的点云数据的切片的分割单元,并且解码对应于分割单元的比特流部分。
[0745]
multiple_brick_partitioning_flag是指示是否基于将点云数据分割成根据实施方式的多个切片的方法来执行分割的信息(或标记)。也就是说,此参数可为指示是否使用各种分割方法作为要用于切片分割的分割类型的信息。
[0746]
基于multiple_brick_partitioning_flag,根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可以确定是否基于将点云数据分割成一个或更多个切片的方法来执行分割。
[0747]
partitioning_type_index指定根据实施方式将点云数据分割成切片的方法。根据实施方式的以切片为单位进行分割的方法可以包括根据实施方式的基于点密度的切片
分割、根据实施方式的圆形扇区切片分割、根据实施方式的层切片分割以及根据实施方式的球形/椭圆形区域切片分割、根据实施方式的基于属性的切片分割以及根据实施方式的自适应的基于轴长度的切片分割。例如,partitioning_type_index可如下确定。
[0748]
partitioning_type_index=1指示已经执行基于点密度的切片分割(方块拼块)。基于点密度的切片分割(方块拼块)可以是根据图21所示的方法的切片分割。
[0749]
partitioning_type_index=2指示已执行圆形扇区切片分割(方块拼块)。圆形扇区切片分割(方块拼块)可以是根据图22所示的方法的方块分割。
[0750]
partitioning_type_index=3指示已执行层切片分割(方块拼块)。层切片分割(方块拼块)可为根据图23所示的方法的切片分割。
[0751]
partitioning_type_index=4指示已执行球面/椭圆形切片分割(方块拼块)。球形/椭圆形切片分割可以是根据图24所示的方法的切片(方块)分割。
[0752]
partitioning_type_index=5指示已执行基于属性的切片分割(方块拼块)。基于属性的切片分割(方块拼块)可以是根据图25所示的方法的切片(方块)分割。
[0753]
partitioning_type_index=6指示已执行自适应的基于轴长度的切片分割(方块拼块)。自适应的基于轴长度切片分割(方块拼块)可以是根据图26所示的方法的切片(方块)分割。
[0754]
partitioning_type_index=7指示已执行除上述方法之外的用户定义的切片分割(方块拼块)方法。根据实施方式,可基于短轴分割边界框的坐标轴当中的长轴,并且然后可重新分割经分割的切片。在这种情况下,可以执行基于短轴重新分割中间长度轴的过程。
[0755]
根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可以基于partitioning_type_index逐切片地解码点云数据。
[0756]
根据实施方式,当split_recursive_enabling_flag等于1(真)时,sps可进一步包括partition_current_unit。
[0757]
partition_current_unit是指示当根据实施方式的点云发送装置重新分割切片或方块时重新分割切片或方块的分割单元的信息。例如,partition_current_unit可指示根据实施方式的经重新分割的切片或方块的单元大小。
[0758]
在确定接收到的比特流的点云数据的切片根据split_recursive_enabling_flag被分割成子分割单元时,根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可基于partition_current_unit确定重新分割的切片的分割单元。
[0759]
combining_filter_index表示关于由编码器用于发送组合的几何比特流和属性比特流的组合方法的信息。根据实施方式,可根据比特流的传输环境和特性发信号通知组合方法。因此,可以提高压缩率。
[0760]
当combining_filter_index=0时,其指示已基于多路复用方法执行组合。根据实施方式,多路复用方法可将单独的比特流定序为一组比特或字节。
[0761]
当combining_filter_index=1时,其指示已基于顺序组合方法执行组合。根据实施方式,顺序组合方法是顺序地组合几何比特流和属性比特流。
[0762]
当combining_filter_index=2时,其指示已基于基于重要性的组合方法执行组合。根据实施方式,在基于重要性的组合中,可以首先组合具有更高重要性的比特流。
[0763]
根据实施方式的点云数据接收装置(例如,图35的点组合器35012、图37的点组合器37000)可以基于combining_filter_index从所接收的比特流中提取几何比特流和属性比特。例如,当combining_filter_index为0时,根据实施方式的点云数据接收装置可以基于多路复用的逆过程从所接收的比特流中提取几何比特流和属性比特流。例如,当combining_filter_index是1时,点云数据接收装置可以基于顺序组合的逆过程从所接收的比特流中提取几何比特流和属性比特流。例如,当combining_filter_index是2时,点云数据接收装置可以基于基于重要性的组合的逆过程从所接收的比特流中提取几何比特流和属性比特流。
[0764]
当多个属性信息被映射到相同的几何信息时,duplicated_attribute_index指示对应的几何包括重复属性信息。重复属性可以应用于关于重复点的属性信息。
[0765]
当duplicated_attribute_index=0时,其指示颜色重复。当多个颜色值以重复的方式被映射到相同的几何信息时,可以使用重复属性。
[0766]
当duplicated_attribute_index=1时,其指示反射率重复。。当多个反射率值以重复的方式被映射到相同的几何信息时,可以使用重复属性。
[0767]
根据实施方式的点云数据接收装置可以基于duplicated_attribute_index来确定其中几何被重复的属性信息。
[0768]
sps_extension_present_flag等于1指定sps_extension_data语法结构存在于sps rbsp语法结构中。sps_extension_present_flag等于0指定此语法结构不存在。当不存在时,sps_extension_present_flag的值可被推断为等于0。
[0769]
sps_extension_data_flag可具有任何值。其存在和值不影响解码器符合在符合附录a中指定的简档。
[0770]
根据实施方式的sps可进一步包括sequential_input_slice_configuration_in_tile_flag、overlapping_slice_compose_flag和overlapping_slice_compose_method[i]。
[0771]
sequential_input_slice_configuration_in_tile_flag表示指示根据实施方式的发送装置是否对每个拼块执行顺序输入切片分割而不等待基于拼块切片分割操作的信息。
[0772]
overlapping_slice_compose_flag表示指示根据实施方式的发送装置是否使用交叠切片分割方法的信息。
[0773]
当overlapping_slice_compose_flag等于1(真)时,根据实施方式的sps可进一步包含overlapping_slice_compose_method[i]。sps可包括与由根据实施方式的发送装置发送的切片的数量一样多的overlapping_slice_compose_method[i]。
[0774]
overlapping_slice_compose_method[i]表示指示用于第i切片的切片分割方法的信息。用于第i切片的切片分割方法和overlapping_slice_compose_method[i]的对应值可如下配置。
[0775]
0=multiple_point_sampling_based_overlapping_slice_parititon_method:根据实施方式的基于多点采样的交叠切片配置方法用于配置切片。
[0776]
1=value_based_overlapping_slice_partition_method:根据实施方式的基于重要性的交叠切片配置方法用于配置切片。
[0777]
2=attribute_range_based_slice_partition_method:根据实施方式的基于属性范围的交叠切片配置方法用于配置切片。
[0778]
3=morton_order_based_slice_partition_method:根据实施方式的基于莫顿码顺序的交叠切片配置方法用于配置切片。
[0779]
4~=other_slice_partition_method:使用其它分割方法。
[0780]
图40示出根据实施方式的比特流拼块参数集(tps)。
[0781]
图40所示的参数可以包括在参照图38描述的tps中。根据实施方式的tps可以包括与根据实施方式的切片分割或切片拼块方法相关的信令信息和/或相关的信令信息。
[0782]
num_tiles表示针对比特流发信号通知的拼块的数量。当不存在时,num_tiles可被推断为0。
[0783]
根据实施方式的tps可以包括以下多条信令信息,其与由num_tiles指示的值一样多。
[0784]
tile_boundary_box_offset_x[i]指示笛卡尔坐标中的第i拼块的x偏移。当不存在时,tile_boundary_box_offset_x[0]的值可被推断为sps_bounding_box_offset_x。
[0785]
tile_boundary_box_offset_y[i]指示笛卡尔坐标中的第i拼块的yy偏移。当不存在时,tile_boundary_box_offset_y[0]的值可被推断为sps_bounding_box_offset_y。
[0786]
tile_boundary_box_offset_z[i]指示笛卡尔坐标中的第i拼块的z偏移。当不存在时,tile_boundary_box_offset_z[0]的值可被推断为sps_bounding_box_offset_z。
[0787]
tile_boundary_box_scale_factor[i]指示与笛卡尔坐标中的第i拼块相关的缩放因子。当不存在时,tile_boundary_box_scale_factor[0]的值可被推断为sps_bounding_box_scale_factor。
[0788]
tile_boundary_box_size_width[i]指示笛卡尔坐标中的第i拼块的宽度。当不存在时,tile_boundary_box_size_width[0]的值可被推断为sps_bounding_box_size_width。
[0789]
tile_boundary_box_size_height[i]指示笛卡尔坐标中的第i拼块的高度。当不存在时,tile_boundary_box_size_height[0]的值可被推断为sps_bounding_box_size_height。
[0790]
tile_boundary_box_size_depth[i]指示笛卡尔坐标中的第i拼块的深度。当不存在时,tile_boundary_box_size_depth[0]的值可被推断为sps_bounding_box_size_depth。
[0791]
根据实施方式的tps可以包括partitioning_enable_flag。
[0792]
partitioning_enable_flag表示指示根据实施方式的点云发送装置是否将点云数据分割为切片或方块的信息(或标志)。partitioning_enable_flag可以是指示与参照图39描述的partitioning_enabling_flag相同的信息的信息。
[0793]
根据实施方式的点云数据接收装置(例如,图35的接收器35000或分割的数据输入单元35001)可以基于partitioning_enabling_flag来确定所接收的比特流中的点云数据是否被分割为切片,并且基于partitioning_enabling_flag逐切片地接收比特流中的点云数据。
[0794]
当partitioning_enable_flag等于1(真)时,根据实施方式的tps可以进一步包括
multiple_brick_partitioning_flag、partitioning_unit_size和/或partitioning_type_index。
[0795]
multiple_brick_partitioning_flag可为包含在如参照图39所描述的sps中的multiple_brick_partitioning_flag。partitioning_type_index可为如参照图39所描述的包括在sps中的partitioning_type_index。
[0796]
根据实施方式的tps可以进一步包括brick_tiling_type。
[0797]
brick_tiling_type指示根据实施方式的发送装置将点云数据分割成一个或更多个方块(或切片)的方法。
[0798]
brick_tiling_type可指示与参照图39描述的partitioning_type_index相同的信息。换句话说,brick_tiling_type可被称作partitioning_type_index。
[0799]
当brick_tiling_type等于1(指示基于点密度的方块拼块(切片分割))时,根据实施方式的tps可以进一步包括brick_unit_information和brick_density_quantization_step。
[0800]
brick_unit_information表示关于一个方块(或切片)的单元信息和/或关于分割方法的信息。
[0801]
brick_density_quantization_step表示可以通过指定要在方块(或切片)中使用的量化系数来对要分割的方块(或切片)执行的采样的程度。
[0802]
bounding_box_radius为指示当点云数据发送装置执行根据实施方式的圆形扇区方块拼块(切片分割)时对应的方块(或切片)的半径的信息。此参数可为图22的bounding_box_radius参数。该参数可以存在于每个方块(或切片)中。
[0803]
当brick_tiling_type等于2(指示圆形扇区方块拼块(切片分割))时,根据实施方式的tps可以进一步包括bounding_box_radius、central_node_xyz、moving_direction_vector和use_identical_bounding_box_information_flag。
[0804]
central_node_xyz是指示当点云数据发送装置执行根据实施方式的圆形扇区方块拼块(切片分割)时的关于方块(或切片)的中心点信息的x坐标、y坐标和z坐标的信息。该参数可以是图22的参数central_node_xyz。
[0805]
moving_direction_vector指示当点云数据发送装置执行根据实施方式的圆形扇区方块拼块(切片分割)时由点云数据表示的对象的移动方向。moving_direction_vector可以以向量形式表示。它可以是图22的参数moving_direction_vector。
[0806]
use_identical_bounding_box_information_flag是指示当点云数据发送装置执行根据实施方式的圆形扇区方块拼块(切片分割)时是否针对所有帧定义相同的边界框的信息(或标志)。根据实施方式,可以针对每个帧定义边界框信息,或者可以由每个帧的x、y和z值确定边界框信息。
[0807]
当brick_tiling_type等于3(指示层方块拼块(切片分割))时,根据实施方式的tps可以进一步包括enable_sorting_flag。
[0808]
enable_sorting_flag是指示当点云数据发送装置执行根据实施方式的层方块拼块(切片分割)时点云数据是否已经被排序(例如,以升序、降序、莫顿码顺序)的信息(或标志)。它可以是图23的参数enable_sorting_flag。该参数可以存在于每个方块(切片)中。
[0809]
当brick_tiling_type等于4(指示球形或椭圆形方块拼块(切片分割))时,根据实
施方式的tps可进一步包括sphere_or_oval_flag、center_point_xyz、radius_distance和azimuth_angle。
[0810]
sphere_or_oval_flag指示当点云数据发送装置执行根据实施方式的球形/椭圆形区域拼块(切片分割)时是否将点云数据分割成球形或椭圆形区域。它可以是图24的参数sphere_or_oval_flag。该参数可以存在于每个方块(切片)中。
[0811]
center_point_xyz包含当点云数据发送装置执行根据实施方式的球形/椭圆形区域拼块时的关于球形/椭圆形区域的中心点的坐标信息(例如,(x,y,z)信息)。它可以是图24的参数center_point_xyz。该参数可以存在于每个方块(切片)中。
[0812]
radius_distance表示当点云数据发送装置执行根据实施方式的球形/椭圆形区域拼块时的关于球形/椭圆形形状方块(切片)的半径信息(或距离信息)。它可以是图24的参数radius_distance。该参数可以存在于每个方块(切片)中。
[0813]
azimuth_angle可以指定当点云数据发送装置执行根据实施方式的球形/椭圆形区域拼块时在球面坐标系中的距原点的距离和参考向量之间形成的角度。该参数可以存在于每个方块(切片)中。它可以是图24的参数azimuth_angle。
[0814]
当brick_tiling_type等于4(指示球形/椭圆形方块拼块(切片分割))时,根据实施方式的tps可以进一步包括referenced_attribute_type、referenced_attribute_type_range和referenced_attribute_type_value。
[0815]
referenced_attribute_type指示当点云数据发送装置执行根据实施方式的基于属性的方块拼块(切片分割)时用于方块(切片)分割的参考的属性信息。它可以是图25的参数referenced_attribute_type。
[0816]
referenced_attribute_type_range指示当点云数据发送装置执行根据实施方式的基于属性的方块拼块(切片分割)时是否配置具有属性信息的属性值范围的方块(切片)。它可以是图25的参数referenced_attribute_type。
[0817]
referenced_attribute_type_value是指示是否配置具有属性信息的属性值的方块(切片)的信息。它可以是图25的参数referenced_attribute_type_value。
[0818]
根据实施方式的tps可以进一步包括combining_filter_index、duplicated_attribute_index和divide_mid_length_axis。
[0819]
combining_filter_index表示关于由编码器用于发送组合的几何比特流和属性比特流的组合方法的信息。根据实施方式,可以根据比特流的传输环境和特性来发信号通知组合方法。因此,可以提高压缩率。combining_filter_index可为图32的combining_filter_index。
[0820]
当多条属性信息块被映射到一条几何信息时,duplicated_attribute_index指示对应的几何结构包括重复的属性信息。重复属性可以应用于关于重复点的属性信息。duplicated_attribute_index可为图32的duplicated_attribute_index。
[0821]
divide_mid_length_axis表示当点云数据发送装置执行根据实施方式的图26的自适应的基于轴长度的拼块时关于中间长度轴的信息。例如,等于0的divide_mid_length_axis可指示x轴是中间长度轴。divide_mid_length_axis等于1可指示y轴是中间长度轴。divide_mid_length_axis等于2可指示z轴是中间长度轴。
[0822]
根据实施方式的点云数据接收装置(例如,图35的接收器35000、图35的分割的数
据输入单元35001、图35的点组合器35012、图37的点组合器37000)可基于以下各项来确定根据实施方式的切片的形状:brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、combining_filter_index和duplicated_attribute_index、divide_mid_length_axis,并且可基于上文所描述的参数识别要解码的点云数据。
[0823]
根据实施方式的tps可进一步包括sequential_input_slice_configuration_in_tile_flag、overlapping_slice_compose_flag和overlapping_slice_compose_method[i]。
[0824]
sequential_input_slice_configuration_in_tile_flag表示指示根据实施方式的发送装置是否对每个拼块执行顺序输入切片分割而不等待基于拼块切片分割操作的信息。
[0825]
overlapping_slice_compose_flag表示指示根据实施方式的发送装置是否使用交叠切片分割方法的信息。
[0826]
当overlapping_slice_compose_flag等于1(真)时,根据实施方式的sps可进一步包含overlapping_slice_compose_method[i]。sps可包括与由根据实施方式的发送装置发送的切片的数量一样多的overlapping_slice_compose_method[i]。
[0827]
overlapping_slice_compose_method[i]表示指示用于第i切片的切片分割方法的信息。用于第i切片的切片分割方法和overlapping_slice_compose_method[i]的对应值可如下配置。
[0828]
0=multiple_point_sampling_based_overlapping_slice_parititon_method:根据实施方式的基于多点采样的交叠切片配置方法用于配置切片。
[0829]
1=value_based_overlapping_slice_partition_method:根据实施方式的基于重要性的交叠切片配置方法用于配置切片。
[0830]
2=attribute_range_based_slice_partition_method:根据实施方式的基于属性范围的交叠切片配置方法用于配置切片。
[0831]
3=morton_order_based_slice_partition_method:根据实施方式的基于莫顿码顺序的交叠切片配置方法用于配置切片。
[0832]
4~=other_slice_partition_method:使用其它分割方法。
[0833]
图41示出根据实施方式的比特流的几何参数集(gps)。
[0834]
图41所示的参数可以包括在参照图38描述的gps中。根据实施方式的gps可以包括与根据实施方式的切片分割或切片拼块方法相关的信令信息和/或相关的信令信息。
[0835]
gps_geom_parameter_set_id提供用于由其它语法元素参考的gps的标识符。gps_seq_parameter_set_id的值可在0到15的范围内(包含0和15)。
[0836]
gps_seq_parameter_set_id指定用于活动sps的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值可在0到15的范围内(包含0和15)。
[0837]
geometry_coding_type可指示几何信息的编码类型。geometry_coding_type的值
可等于0或1。geometry_coding_type的其它值可以预留以供iso/iec未来使用。解码器可忽略geometry_coding_type的预留值。geometry_coding_type等于0可指示八叉树,并且geometry_coding_type等于1可指示三联体(trisoup)。
[0838]
gps_box_present_flag等于1指定在参考当前gps的几何头中提供附加边界框信息。gps_bounding_box_present_flag等于0指定在几何头中不发信号通知附加边界框信息。
[0839]
unique_geometry_points_flag等于1指示所有输出点具有唯一位置。unique_geometry_points_flag等于0指示输出点可具有相同位置。
[0840]
neighbour_context_restriction_flag等于0指示八叉树占用编码使用从六个相邻父节点确定的上下文。neighbour_context_restriction_flag等于1指示八叉树编码使用仅从兄弟节点确定的上下文。
[0841]
inferred_direct_coding_mode_enabled_flag等于0指示八叉树编码使用inferred_direct_coding_mode。inferred_direct_coding_mode_enabled_flag等于1指示八叉树编码使用从兄弟相邻节点确定的多个上下文。
[0842]
log2_neighbour_avail_boundary如下指定解码过程中使用的变量neighbavailboundary的值:其中
[0843]
neighbavailboundary=2log2_neighbour_avail_boundary
[0844]
当neighbour_context_restriction_flag等于1时,可将neighbavailabilitymask设置为等于13。当neighbour_context_restriction_flag等于0时,可将neighbavailabilitymask设置为等于:
[0845]
(1《《log2_neighbour_avail_boundary)。
[0846]
log2_trisoup_node_size如下指定作为三角形节点的大小的变量trisoupnodesize。
[0847]
trisoupnodesize=2log2_trisoup_node_size
[0848]
log2_trisoup_node_size的值可大于或等于0。当log2_trisoup_node_size等于0时,几何比特流可仅包括八叉树编码语法。
[0849]
trisoup_depth指定用于表示点坐标的每个分量的比特数。trisoup_depth的值可以在2至21的范围内。[ed(df):21可能是水平限制]。
[0850]
trisoup_triangle_level指定了八叉树被修剪的级别。trisoup_triangle_level的值可以在1到trisoup_depth-1的范围内。
[0851]
gps_extension_present_flag等于1指定gps_extension_data语法结构存在于gps rbsp语法结构中。gps_extension_present_flag等于0指定此语法结构不存在。当不存在时,推断gps_extension_present_flag的值等于0。
[0852]
gps_extension_data_flag可具有任何值。其存在和值不影响解码器。
[0853]
根据实施方式的gps还可以包括上面参照图39至图40描述的partitioning_enabling_flag、multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_
flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index以及duplicated_attribute_index。
[0854]
根据实施方式的点云数据接收装置(例如,图35的接收器35000、图35的分割的数据输入单元35001、图35的点组合器35012、图37的点组合器37000)可以基于gps中的上述参数确定根据实施方式的切片的形状,并且可以基于上述参数识别要解码的点云数据。
[0855]
根据实施方式的gps可进一步包括sequential_input_slice_configuration_in_tile_flag、overlapping_slice_compose_flag和overlapping_slice_compose_method[i]。
[0856]
sequential_input_slice_configuration_in_tile_flag表示指示根据实施方式的发送装置是否对每个拼块执行顺序输入切片分割而不等待基于拼块切片分割操作的信息。
[0857]
overlapping_slice_compose_flag表示指示根据实施方式的发送装置是否使用交叠切片分割方法的信息。
[0858]
当overlapping_slice_compose_flag等于1(真)时,根据实施方式的sps可进一步包含overlapping_slice_compose_method[i]。sps可包括与由根据实施方式的发送装置发送的切片的数量一样多的overlapping_slice_compose_method[i]。
[0859]
overlapping_slice_compose_method[i]表示指示用于第i切片的切片分割方法的信息。用于第i切片的切片分割方法和overlapping_slice_compose_method[i]的对应值可如下配置。
[0860]
0=multiple_point_sampling_based_overlapping_slice_parititon_method:根据实施方式的基于多点采样的交叠切片配置方法用于配置切片。
[0861]
1=value_based_overlapping_slice_partition_method:根据实施方式的基于重要性的交叠切片配置方法用于配置切片。
[0862]
2=attribute_range_based_slice_partition_method:根据实施方式的基于属性范围的交叠切片配置方法用于配置切片。
[0863]
3=morton_order_based_slice_partition_method:根据实施方式的基于莫顿码顺序的交叠切片配置方法用于配置切片。
[0864]
4~=other_slice_partition_method:使用其它分割方法。
[0865]
图42示出根据实施方式的比特流的几何切片头(gsh)。
[0866]
图42所示的参数可以包括在参照图38描述的gsh中。根据实施方式的gsh可以包括与根据实施方式的切片分割或切片拼块方法相关的信令信息和/或相关的信令信息。
[0867]
gsh_geometry_parameter_set_id指定活动gps的gps_geom_parameter_set_id的值。
[0868]
gsh_tile_id指定拼块的id。
[0869]
gsh_slice_id指定切片的id。
[0870]
gsh_box_log2_scale指定缩放值。
[0871]
gsh_box_source_x指定笛卡尔坐标中的源边界框的x。
[0872]
gsh_box_source_y指定笛卡尔坐标中的源边界框的y。
[0873]
gsh_box_source_z指定笛卡尔坐标中的源边界框的z。
[0874]
gsh_log2_max_nodesize如下指定解码过程中使用的变量maxnodesize的值:
[0875]
maxnodesize=2(gbh_log2_max_nodesize)
[0876]
gsh_points_number指定切片中的编码点的数量。
[0877]
根据实施方式的gsh还可以包括上面参照图39至图41描述的partitioning_enabling_flag、multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index以及duplicated_attribute_index。
[0878]
根据实施方式的点云数据接收装置(例如,图35的接收器35000、图35的分割的数据输入单元35001、图35的点组合器35012、图37的点组合器37000)可以基于gsh中的上述参数来确定根据实施方式的切片的形状,并且可以基于上述参数来识别要解码的点云数据。
[0879]
图43示出根据实施方式的比特流的属性切片头(ash)。
[0880]
图43所示的参数可以包括在参照图38描述的ash中。根据实施方式的ash可以包括与根据实施方式的切片分割或切片拼块方法相关的信令信息和/或相关的信令信息。
[0881]
abh_attr_parameter_set_id指定活动aps的aps_attr_parameter_set_id的值。
[0882]
abh_attr_sps_attr_idx指定活动sps中的属性集。abh_attr_sps_attr_idx的值可在活动sps中的从0到sps_num_attribute_sets的范围内。
[0883]
abh_attr_geom_slice_id指定geom切片id的值。
[0884]
根据实施方式的ash还可以包括上面参照图39至图41描述的partitioning_enabling_flag、multiple_brick_partitioning_flag、partitioning_unit_size、partitioning_type_index、brick_unit_information、brick_density_quantization_step、bounding_box_radius、central_node_xyz、moving_direction_vector、use_identical_bounding_box_information_flag、enable_sorting_flag、sphere_or_oval_flag、center_point_xyz、radius_distance、azimuth_angle、referenced_attribute_type、referenced_attribute_type_range、referenced_attribute_type_value、divide_mid_length_axis、combining_filter_index以及duplicated_attribute_index。
[0885]
根据实施方式的点云数据接收装置(例如,图35的接收器35000、图35的分割的数据输入单元35001、图35的点组合器35012、图37的点组合器37000)可以基于上述参数确定根据实施方式的方块(切片)的形状,并且可以基于上述参数来识别要解码的点云数据。
[0886]
图44示出根据实施方式的发送点云数据的操作。
[0887]
根据实施方式的发送点云数据的操作包括编码点云数据(44000),并且发送包含点云数据和关于点云数据的信令信息的比特流(44001)。
[0888]
根据实施方式的发送点云数据的操作还可以包括分割点云数据。根据实施方式的分割可以包括将点云数据分割成一个或更多个切片(或拼块或宏块)。根据实施方式的分割方法可以包括基于关于切片中包含的点的最大数量的信息来分割点云数据。根据实施方
式,最大数量信息可以是预设值。
[0889]
在根据实施方式的分割操作中,图12的数据输入单元12000的操作、图15的空间分割器15001的操作、图16的数据特性检查器16000的操作、图16的方块拼块单元16001的操作、图16的分割的数据输入单元16002的操作以及图18至图33所示的操作可以被执行。
[0890]
根据实施方式的切片中的一些可以包括3d空间中的交叠区域。例如,一个或更多个切片可包含第一切片和第二切片。第一切片和第二切片可以在包含点云数据的3d空间中包括交叠区域。
[0891]
根据实施方式的分割方法可以是基于点云数据的八叉树的分割以及基于包含点云数据的3d空间的轴的长度的分割中的至少一个。参照图15至图43给出了根据实施方式的分割方法的详细描述。
[0892]
在点云数据的编码44000中,根据实施方式的点云数据可以被编码。可以针对根据实施方式的每个拼块、切片或宏块独立地执行根据实施方式的编码操作44000。根据实施方式,编码操作44000可以包括对点云数据的点的几何数据进行编码和/或对点云数据的点的属性数据进行编码。
[0893]
在点云数据的编码44000中,可以执行图1的点云视频编码器10002的操作、图2的编码18001的操作、图4的操作以及图5至图9的操作、图12的操作、图15的几何信息编码器15002和/或属性信息编码器15003的操作以及图16的16003至16014的操作。
[0894]
在根据实施方式的发送点云数据的操作中,可以发送关于点云数据的信令信息。根据实施方式的信令信息可以包括指示是否执行分割操作的信息和/或指示在执行分割操作时的分割方法的信息。
[0895]
根据实施方式的传输比特流可具有如图38所示的语法结构。另外,根据实施方式的信令信息可以包括图38至图43所示的信息的全部或部分。
[0896]
根据图44所示的实施方式的点云数据发送操作的全部或部分可以由图14的xr装置1430执行。本文档中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0897]
图45示出根据实施方式的接收点云数据的操作。
[0898]
根据实施方式的接收点云数据的操作可以包括接收包含点云数据的几何数据和点云数据的属性数据的比特流(45000),和/或解码比特流中的点云数据(45001)。
[0899]
在接收包含点云数据的几何数据和点云数据的属性数据的比特流的操作45000中,接收由根据实施方式的点云数据发送装置发送的比特流。根据实施方式的比特流可以包含点云数据。点云数据可以由一个或更多个拼块、切片、宏块或方块携带。
[0900]
在根据实施方式的解码操作45001中,可以执行图1的点云视频解码器10006的操作、图2的解码18003、图11的操作和图13的操作。可以执行图34的几何信息解码器34001和/或属性信息解码器34002的操作以及图35至图37的操作的全部或部分。
[0901]
对比特流中的点云数据进行解码的操作45001可以包括对点云数据的几何数据进行解码和/或对点云数据的属性数据进行解码。在根据实施方式的解码操作45001中,可以针对携带点云数据的每个方块或切片单独执行解码。
[0902]
根据实施方式的切片中的一些可以包括彼此交叠的区域。例如,根据实施方式的切片可以包括第一切片和第二切片。第一切片和第二切片可以在包含点云数据的3d空间中
包括交叠区域。
[0903]
根据实施方式的比特流还可以包括关于根据实施方式的点云数据的信令信息。根据实施方式的信令信息可以包括指示点云数据是否被分割成一个或更多个切片的信息。当所接收的点云数据被分割成一个或更多个切片时,可以在根据实施方式的解码操作中独立地解码一个或更多个切片。根据实施方式的切片或方块中的点的数量可以基于点的最大数量来确定。
[0904]
根据实施方式的信令信息可以包括指示用于一个或更多个切片的分割方法的信息。根据实施方式的分割方法可以是基于点云数据的八叉树的分割以及基于包含点云数据的3d空间的轴的长度的分割中的至少一种。
[0905]
根据实施方式的所接收的比特流可具有如图38所示的语法结构。另外,根据实施方式的信令信息可以包括图38至图43所示的信息的全部或部分。
[0906]
根据图45所示的实施方式的点云数据接收操作的全部或部分可以由图14的xr装置1430执行。本文档中描述的方块可以对应于切片,反之亦然。在本文档中,方块可以被称为切片。
[0907]
已经从方法和/或装置的角度描述了实施方式,并且可以应用方法和装置的描述以便彼此互补。
[0908]
尽管为了简单起见单独描述了附图,但是可通过将各个图中所示的实施方式合并来设计新的实施方式。根据本领域技术人员的需要设计可由计算机读取的记录有用于执行上述实施方式的程序的记录介质也落在所附权利要求及其等同物的范围内。根据实施方式的装置和方法可不限于上述实施方式的配置和方法。可通过选择性地组合所有或一些实施方式来对实施方式进行各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点单独地理解。
[0909]
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置为由一个或更多个处理器执行的非暂时性crm或其它计算机程序产品中,或者可被存储在被配置为由一个或更多个处理器执行的暂时性crm或其它计算机程序产品中。另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,ram),而且涵盖非易失性存储器、闪存和prom的概念。另外,也可按载波(例如,经由互联网的传输)的形式实现。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按分布式方式存储和执行。
[0910]
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表达“a/b”可意指“a和/或b”。此外,“a、b”可意指“a和/或b”。此外,“a/b/c”可意指“a、b和/或c中的至少一个”。另外,“a/b/c”可意指“a、b和/或c中的至少一个”。此外,在本说明书中,术语“或”应该被解释为指示“和/或”。例如,表达“a或b”可意指1)仅a、2)仅b或3)a和b二者。换言之,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
[0911]
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该不脱离各种实施方式的范围来解释。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上下文清楚地另外规定,否则并不意指相同的用户输入信号。
[0912]
用于描述实施方式的术语是为了描述具体实施方式而使用的,并非旨在限制实施方式。如实施方式的描述和权利要求中使用的,除非上下文清楚地另外规定,否则单数形式包括复数个所指对象。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示图形、数量、步骤、元件和/或组件的存在,应该理解为不排除另外存在图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在解释为当满足特定条件时执行相关操作,或者根据特定条件解释相关定义。
[0913]
根据本说明书中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于根据实施方式处理/控制操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施方式中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以存储在处理器或存储器中。
[0914]
发明的模式
[0915]
如上所述,在实现实施方式的最佳模式中描述了相关内容。
[0916]
工业实用性
[0917]
如上所述,实施方式可以完全或部分地应用于点云数据发送/接收装置和系统。
[0918]
对于本领域技术人员而言将显而易见的是,可在实施方式的范围内对实施方式进行各种改变或修改。
[0919]
因此,实施方式旨在涵盖本公开的修改和变化,只要它们落在所附权利要求及其等同物的范围内。
再多了解一些

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

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

相关文献