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

点云数据发送装置、发送方法、处理装置和处理方法与流程

2022-08-21 20:13:05 来源:中国专利 TAG:


1.实施方式提供用于提供点云内容,以为用户提供诸如vr(虚拟现实)、增强现实(ar)、混合现实(mr)和自动驾驶服务的各种服务。


背景技术:

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


技术实现要素:

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

、n的顶点形成的三角形n个三角形
[0116][0117]
执行上采样处理,以沿着三角形的边在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为精化顶点。根据实施方式的点云编码器可以对精化顶点进行体素化。另外,点云编码器可以基于体素化位置(或位置值)来执行属性编码。
[0118]
图7示出了根据实施方式的邻近节点图案的示例。
[0119]
为了提高点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适应算术编码来执行熵编码。
[0120]
如参考图1至图6描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、点云编码器或图4的算术编码器40004)可以立即对占用码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用码和邻近节点的占用来执行熵编码(帧内编码),或者基于前一帧的占用码来执行熵编码(帧间编码)。根据实施方式的帧表示同时产生的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可以取决于被参考的邻近节点的数目。当位增加时,操作变复杂,但编码可能向一侧偏置,从而可以增加压缩效率。例如,当给定3位上下文时,需要使用23=8种方法执行编码。为进行编码而划分的部分影响了实现方式的复杂度。因此,必须满足适当水平的压缩效率和复杂度。
[0121]
图7例示了基于邻近节点的占用来获得占用图案的处理。根据实施方式的点云编码器确定八叉树的各节点的邻近节点的占用,并获得邻近图案的值。使用该邻近节点图案来推断节点的占用图案。图7的左侧部分示出了一个与节点对应的立方体(处于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻近节点)。图中示出的节点是相同深度的节点。图中示出的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置顺序地指派权重。
[0122]
图7的右侧部分示出了邻近节点图案值。邻近节点图案值是与被占用邻近节点(具有点的邻近节点)的权重相乘的值之和。因此,邻近节点图案值为0至63。当邻近节点图案值为0时,这表明该节点的邻近节点当中不存在没有点的节点(未占用节点)。当邻近节点图案值为63时,这表明所有邻近节点都是被占用节点。如图中所示,由于被指派权重1、2、4和8的邻近节点是被占用节点,因此邻近节点图案值为15即1、2、4和8之和。点云编码器可以根据
邻近节点图案值执行编码(例如,当邻近节点模式值为63时,可以执行64种编码)。根据实施方式,点云编码器可以通过改变邻近节点图案值(例如,基于通过其将64改变为10或6的表)来降低编码复杂度。
[0123]
图8例示了根据实施方式的每个lod中的点配置的示例。
[0124]
如参考图1至图7描述的,在执行属性编码之前,重构(解压缩)编码后的几何结构。当应用直接编码时,几何结构重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用trisoup几何结构编码时,通过三角形重构、上采样和体素化来执行几何结构重构处理。由于属性取决于几何结构,因此基于重构的几何结构执行属性编码。
[0125]
点云编码器(例如,lod生成器40009)可以通过lod对点进行分类(重新组织)。该图示出了与lod对应的点云内容。该图中的最左侧图片表示原始点云内容。该图左侧起的第二个图片表示最低lod中的点的分布,并且该图的最右侧图片表示最高lod中的点的分布。也就是说,最低lod中的点被稀疏地分布,并且最高lod中的点被密集地分布。也就是说,随着lod在该图底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
[0126]
图9例示了根据实施方式的每个lod的点配置的示例。
[0127]
如参考图1至图8描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或lod生成器40009)可以生成lod。通过根据一组lod距离值(或一组欧几里得距离)将点重新组织为一组精化层次来生成lod。lod生成过程不仅由点云编码器执行,而且由点云解码器执行。
[0128]
图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。
[0129]
如参考图4描述的,根据实施方式的点云编码器可以选择性或组合地执行预测变换编码、提升变换编码和raht变换编码。
[0130]
根据实施方式的点云编码器可以生成点的预测器(predictor),以执行预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对n个点生成n个预测器。根据实施方式的预测器可以基于每个点的lod值、关于存在于针对每个lod设定的距离内的邻近点的加索引信息以及与邻近点的距离来计算权重(=1/距离)。
[0131]
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻近点的属性(或属性值)(例如,颜色、反射率等)乘以基于与各邻近点的距离计算出的权重(或权重值)而获得的值的平均值。根据实施方式的点云编码器(例如,系数量化器40011)可以对通过从每个点的属性(属性值)中减去预测属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和逆量化。如下表中所示地配置量化处理。
[0132]
表:属性预测残差量化伪代码
[0133][0134]
表:属性预测残差逆量化伪代码
[0135][0136]
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以对如上经量化和经逆量化后的残差属性值执行熵编码。当每个点的预测器没有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对对应点的属性执行熵编码。
[0137]
根据实施方式的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算出的lod并将邻近点注册在预测器中,并根据与邻近点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
[0138]
1)创建用于存储每个点的权重值的数组量化权重(qw)。qw的所有元素的初始值为1.0。将注册在预测器中的邻近节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
[0139]
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0140]
3)创建称为更新权重(updateweight)的临时数组,并将该临时数组更新和初始化为零。
[0141]
4)将通过针对所有预测器计算出的权重乘以存储在qw中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组作为邻近节点的索引。将通过将邻近节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
[0142]
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
[0143]
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以通过提升预测处理而更新的权重(存储在qw中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)对预测属性值进行量化。另外,点云编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
[0144]
根据实施方式的点云编码器(例如,raht变换器40008)可以执行其中使用与八叉树中较低层次的节点关联的属性来预测较高层次的节点的属性的raht变换编码。raht变换编码是通过八叉树反向扫描进行的属性帧内编码的示例。根据实施方式的点云编码器扫描体素的整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直到到达根节点为止。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。对空节点正上方的上部节点执行合并处理。
[0145]
下式表示raht变换矩阵。在该式中,表示层次l处的体素的平均属性值。可以基于和来计算。和的权重是和
[0146][0147]
这里,是低通值并被用在下一个高层次处的合并处理中。表示高通系数。每个步骤中的高通系数被量化并经受熵编码(例如,通过算术编码器400012编码)。权重被计算为如下通过和来创建根节点。
[0148][0149]
图10例示了根据实施方式的点云解码器。
[0150]
图10中例示的点云解码器是图1中描述的点云视频解码器10006的示例,并可以执行与图1中例示的点云视频解码器10006的操作相同或类似的操作。如图中所示,点云解码器可以接收一个或更多个比特流中包含的几何结构比特流和属性比特流。点云解码器包括几何结构解码器和属性解码器。几何结构解码器对几何结构比特流执行几何结构解码,并输出解码后的几何结构。属性解码器基于解码后的几何结构和属性比特流来执行属性解码,并输出解码后的属性。使用解码后的几何结构和解码后的属性来重构点云内容(解码后的点云)。
[0151]
图11例示了根据实施方式的点云解码器。
[0152]
图11中例示的点云解码器是图10中例示的点云解码器的示例,并可以执行作为图1至图9中例示的点云编码器的编码操作的逆处理的解码操作。
[0153]
如参考图1和图10描述的,点云解码器可以执行几何结构解码和属性解码。几何结构解码是在属性解码之前执行的。
[0154]
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何结构重构器(重构几何结构)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化单元(逆量化)11006、raht变换器11007、lod生成器(生成lod)11008、逆提升器(逆提升)11009
和/或颜色逆变换器(逆变换颜色)11010。
[0155]
算术解码器110000、八叉树合成器11001、表面近似合成器11002和几何结构重构器11003以及坐标逆变换器11004可以执行几何结构解码。根据实施方式的几何结构解码可以包括直接解码和trisoup几何结构解码。直接解码和trisoup几何结构解码被选择性应用。几何结构解码不限于上述示例,并作为参考图1至图9描述的几何结构编码的逆处理来执行。
[0156]
根据实施方式的算术解码器11000基于算术编码对接收到的几何结构比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
[0157]
根据实施方式的八叉树合成器11001可以通过从解码后的几何结构比特流(或作为解码结果而获得的关于几何结构的信息)获取占用码来生成八叉树。如参考图1至图9详细描述地配置占用码。
[0158]
当应用trisoup几何结构编码时,根据实施方式的表面近似合成器11002可以基于解码后的几何结构和/或所生成的八叉树来合成表面。
[0159]
根据实施方式的几何结构重构器11003可以基于表面和/或解码后的几何结构来重新生成几何结构。如参考图1至图9描述的,直接编码和trisoup几何结构编码被选择性应用。因此,几何结构重构器11003直接导入并添加关于应用了直接编码的点的位置信息。当应用trisoup几何结构编码时,几何结构重构器11003可以通过执行几何结构重构器40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何结构。细节与参考图6描述的细节相同,因此省略对其的描述。重构的几何结构可以包括不包含属性的点云图片或帧。
[0160]
根据实施方式的坐标逆变换器11004可以基于重构的几何结构通过变换坐标来获取点的位置。
[0161]
算术解码器11005、逆量化器11006、raht变换器11007、lod生成器11008、逆提升器11009和/或颜色逆变换器11010可以执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(raht)解码、基于内插的分层最近邻预测(预测变换)解码和具有更新/提升步骤(提升变换)解码的基于内插的分层最近邻预测。可以选择性使用上述三种解码方案,或可以使用一种或更多种解码方案的组合。根据实施方式的属性解码不限于上述示例。
[0162]
根据实施方式的算术解码器11005通过算术解码对属性比特流进行解码。
[0163]
根据实施方式的逆量化器11006对作为解码结果而获得的关于解码后的属性比特流或属性的信息进行逆量化,并输出逆量化后的属性(或属性值)。可以基于点云编码器的属性编码来选择性应用逆量化。
[0164]
根据实施方式,raht变换器11007、lod生成器11008和/或逆提升器11009可以处理重构后的几何结构和逆量化后的属性。如上所述,raht变换器11007、lod生成器11008和/或逆提升器11009可以选择性执行与点云编码器的编码相对应的解码操作。
[0165]
根据实施方式的颜色逆变换器11010执行逆变换解码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。可以基于点云编码器的颜色变换器40006的操作来选择性地执行颜色逆变换器11010的操作。
[0166]
尽管在该图中未示出,但图11的点云解码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云提
供装置中包括的一个或更多个存储器进行通信。所述一个或更多个处理器可以执行上述图11的点云视频解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图11的点云解码器的元件的操作和/或功能。
[0167]
图12例示了根据实施方式的示例性发送装置。
[0168]
图12中示出的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12中例示的发送装置可以执行与参考图1至图9描述的点云编码器的操作和方法相同或类似的操作和方法中的一个或更多个。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010、算术编码器12011和/或发送处理器12012。
[0169]
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取器10001的操作和/或获取方法(或参考图2描述的获取处理20000)相同或类似的操作和/或获取方法。
[0170]
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何结构编码。根据实施方式的几何结构编码与参考图1至图9描述的几何结构编码相同或类似,因此省略对其的详细描述。
[0171]
根据实施方式的量化处理器12001对几何结构(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或类似。细节与参考图1至图9描述的细节相同。
[0172]
根据实施方式的体素化处理器12002对点的量化后位置值进行体素化。体素化处理器120002可以执行与参考图4描述的量化器40001的操作和/或体素化处理相同或类似的操作和/或处理。细节与参考图1至图9描述的细节相同。
[0173]
根据实施方式的八叉树占用码生成器12003基于八叉树结构对点的体素化位置执行八叉树编码。八叉树占用码生成器12003可以生成占用码。八叉树占用码生成器12003可以执行与参考图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0174]
根据实施方式的表面模型处理器12004可以基于表面模型来执行trisoup几何结构编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0175]
根据实施方式的帧内/帧间编码处理器12005可以对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可以执行与参考图7描述的帧内/帧间编码相同或类似的编码。细节与参考图7描述的细节相同。根据实施方式,帧内/帧间编码处理器12005可以被包括在算术编码器12006中。
[0176]
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作
和/或方法相同或类似的操作和/或方法。
[0177]
根据实施方式的元数据处理器12007处理关于点云数据(例如,设定值)的元数据,并将其提供到诸如几何结构编码和/或属性编码这样的必要处理过程。另外,根据实施方式的元数据处理器12007可以生成和/或处理与几何结构编码和/或属性编码相关的信令信息。可以与几何结构编码和/或属性编码分开地对根据实施方式的信令信息进行编码。可以对根据实施方式的信令信息进行交织。
[0178]
颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
[0179]
根据实施方式的颜色变换处理器12008执行颜色变换编码,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何结构来执行颜色变换编码。重构的几何结构与参考图1至图9描述的相同。另外,执行与参考图4描述的颜色变换器40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
[0180]
根据实施方式的属性变换处理器12009执行属性变换,以基于重构的几何结构和/或未被执行几何结构编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施方式的预测/提升/raht变换处理器12010可以通过raht编码、预测变换编码和提升变换编码中的任一种或其组合对变换后的属性进行编码。预测/提升/raht变换处理器12010执行与参考图4描述的raht变换器40008、lod生成器40009和提升变换器40010的操作相同或类似的操作中的至少一个。另外,预测变换编码、提升变换编码和raht变换编码与参考图1至图9描述的那些相同,因此省略对其的详细描述。
[0181]
根据实施方式的算术编码器12011可以基于算术编码对编码后的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或类似的操作和/或方法。
[0182]
根据实施方式的发送处理器12012可以发送包含编码后的几何结构和/或编码后的属性和元数据信息的各比特流,或者发送配置有编码后的几何结构和/或编码后的属性和元数据信息的一个比特流。当根据实施方式的编码后的几何结构和/或编码后的属性和元数据信息被配置成一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包含信令信息,该信令信息包括用于序列层次的信令的序列参数集(sps)、用于几何结构信息编码的信令的几何结构参数集(gps)、用于属性信息编码的信令的属性参数集(aps)以及用于拼块层次和切片数据的信令的拼块参数集(tps)。切片数据可以包括关于一个或更多个切片的信息。根据实施方式的一个切片可以包括一个几何结构比特流geom00以及一个或更多个属性比特流attr00和attr10。
[0183]
切片是指表示编码点云帧的全部或部分的一系列语法元素。
[0184]
根据实施方式的tps可以包括关于一个或更多个拼块中的各拼块的信息(例如,坐标信息和关于边框的高度/大小信息)。几何结构比特流可以包含报头和有效载荷。根据实施方式的几何结构比特流的报头可以包含gps中包括的参数集标识符(geom_parameter_set_id)、拼块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于有效载荷中包含的数据的信息。如上所述,根据实施方式的元数据处理器12007可以生成和/或处理信
令信息,并将其发送到发送处理器12012。根据实施方式,用于执行几何结构编码的元素和用于执行属性编码的元素可以彼此共享数据/信息,如虚线所指示的。根据实施方式的发送处理器12012可以执行与发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。细节与参考图1和图2描述的细节相同,因此省略对其的描述。
[0185]
图13例示了根据实施方式的示例性接收装置。
[0186]
图13中例示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13中例示的接收装置可以执行与参考图1至图11描述的点云解码器的操作和方法相同或类似的操作和方法中的一个或更多个。
[0187]
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的用于解码的各元件可以执行根据实施方式的用于编码的对应元件的操作的逆处理。
[0188]
根据实施方式的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
[0189]
根据实施方式的接收处理器13001可以从接收到的数据获取几何结构比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
[0190]
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器1305可以执行几何结构解码。根据实施方式的几何结构解码与参考图1至图10描述的几何结构解码相同或类似,因此省略对其的详细描述。
[0191]
根据实施方式的算术解码器13002可以基于算术编码对几何结构比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或类似的操作和/或编码。
[0192]
根据实施方式的基于占用码的八叉树重构处理器13003可以通过从解码后的几何结构比特流(或作为解码结果而获得的关于几何结构的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或类似的操作和/或方法。当应用trisoup几何结构编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行trisoup几何结构解码和相关的几何结构重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何结构重构器11003的操作相同或类似的操作。
[0193]
根据实施方式的逆量化处理器13005可以对解码后的几何结构进行逆量化。
[0194]
根据实施方式的元数据解析器13006可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器13006可以传送元数据以进行几何结构解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略对其的详细描述。
[0195]
算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,因此省略对其的详细描述。
[0196]
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算
术解码器13007可以基于重构的几何结构对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或类似的操作和/或编码。
[0197]
根据实施方式的逆量化处理器13008可以对解码后的属性比特流进行逆量化。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或类似的操作和/或方法。
[0198]
根据实施方式的预测/提升/raht逆变换器13009可以处理重构后的几何结构和逆量化后的属性。预测/提升/raht逆变换处理器13009执行与raht变换器11007、lod生成器11008和/或逆提升器11009的操作和/或解码相同或类似的操作和/或解码中的一个或更多个。根据实施方式的颜色逆变换处理器13010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。根据实施方式的渲染器13011可以渲染点云数据。
[0199]
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构。
[0200]
图14的结构表示其中服务器1460、机器人17100、自动驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或头戴式显示器(hmd)1470中的至少一个连接到云网络1400的配置。机器人1410、自动驾驶车辆1420、xr装置1430、智能电话1440或家用电器1450被称为装置。另外,xr装置1430可以对应于根据实施方式的点云数据(pcc)装置,或者可以在工作上连接到pcc装置。
[0201]
云网络1400可以表示构成云计算基础设施的部分或存在于云计算基础设施中的网络。这里,可以使用3g网络、4g或长期演进(lte)网络或5g网络配置云网络1400。
[0202]
服务器1460可以通过云网络1400连接到机器人1410、自动驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或hmd 1470中的至少一个,并可以辅助进行连接的装置1410至1470的至少部分处理。
[0203]
hmd 1470表示根据实施方式的xr装置和/或pcc装置的实现方式类型中的一种。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0204]
下文中,将描述应用了上述技术的装置1410至1450的各种实施方式。根据上述实施方式,图14中例示的装置1410至1450可以在工作上连接/联接到点云数据发送装置和接收器。
[0205]
《pcc xr》
[0206]
xr/pcc装置1430可以采用pcc技术和/或xr(ar vr)技术,并可以被实现为hmd、设置在车辆中的平视显示器(hud)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定式机器人或移动机器人。
[0207]
xr/pcc装置1430可以分析通过各种传感器或从外部装置获取的3d点云数据或图像数据,并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置1430可以获取关于周围空间或真实对象的信息,并渲染和输出xr对象。例如,xr/pcc装置1430可以将包括关于识别到的对象的辅助信息的xr对象与识别到的对象匹配,并输出相匹配的xr对象。
[0208]
《pcc xr 移动电话》
[0209]
xr/pcc装置1430可以通过应用pcc技术被实现为移动电话1440。
[0210]
移动电话1440可以基于pcc技术解码并显示点云内容。
[0211]
《pcc 自动驾驶 xr》
[0212]
自动驾驶车辆1420可以通过应用pcc技术和xr技术被实现为移动机器人、车辆、无人机等。
[0213]
应用xr/pcc技术的自动驾驶车辆1420可以表示设置有用于提供xr图像的装置的自动驾驶车辆或作为xr图像中控制/交互目标的自动驾驶车辆。具体地,作为xr图像中的控制/交互目标的自动驾驶车辆1420可以与xr装置1430区分开,并可以在工作上连接到xr装置1730。
[0214]
具有用于提供xr/pcc图像的装置的自动驾驶车辆1420可以从包括相机的传感器获取传感器信息,并输出基于所获取的传感器信息而生成的xr/pcc图像。例如,自动驾驶车辆1420可以具有hud并向其输出xr/pcc图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的xr/pcc对象。
[0215]
当xr/pcc对象被输出到hud时,可以输出xr对象的至少一部分以与乘员眼睛注视的真实对象交叠。另一方面,当xr/pcc对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出xr/pcc对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆1220可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的xr/pcc对象。
[0216]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0217]
换句话说,vr技术是只提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上示出虚拟创建的cg图像的技术。mr技术与上述ar技术的类似之处在于,待示出的虚拟对象与真实世界混合和结合。然而,mr技术与ar技术的不同之处在于,ar技术在真实对象与作为cg图像创建的虚拟对象之间进行了明确区分,并使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象视为与真实对象具有等同特性的对象。更具体地,mr技术应用的示例是全息图服务。
[0218]
最近,vr、ar和mr技术有时被称为扩展现实(xr)技术,而没有被明确彼此区分开。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc、g-pcc技术的编/解码适用于这种技术。
[0219]
根据实施方式的pcc方法/装置可以应用于提供自动驾驶服务的车辆。
[0220]
提供自动驾驶服务的车辆连接到pcc装置,以进行有线/无线通信。
[0221]
当根据实施方式的点云数据(pcc)发送/接收装置连接到车辆以进行有线/无线通信时,该装置可以接收/处理与可以与自动驾驶服务一起提供的与ar/vr/pcc服务相关的内容数据,并将其发送到车辆。在pcc发送/接收装置被安装在车辆上的情况下,pcc发送/接收装置可以根据通过用户接口装置输入的用户输入信号接收/处理与ar/vr/pcc服务相关的内容数据,并将其提供到用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
[0222]
如参考图1至图14描述的,根据实施方式的点云处理装置(例如,图1、图12和图14中描述的发送装置或点云编码器)选择性使用raht编码、预测变换编码和提升变换编码或
根据点云内容的编码技术中的一种或更多种的组合来执行属性编码。例如,raht编码和提升变换编码可以用于有损编码,其在很大程度上压缩点云内容数据。预测变换编码可以用于无损编码。
[0223]
如上所述,根据实施方式的点云编码器可以生成点的预测器,并执行预测变换编码来设置每个点的预测属性(或预测属性值)。根据实施方式,预测变换编码和提升变换编码基于存储在点云的邻近范围内的点(下文中被称为目标点)的位置来计算每个邻近点的距离(或位置)。计算出的距离用作参考或参考权重,以预测目标点的属性(例如,颜色、反射率等),或者在与邻近点的距离改变时更新目标点的属性(或预测属性)。下式表示基于邻近点预测的目标点的属性。
[0224]
[式1]
[0225][0226]
在上式中,p表示目标点的预测属性,并且d1、d2和d3表示与目标点的三个邻近点中的每一个的距离。将相应距离组合并用作参考权重。c1、c2和c3(式中未示出)表示相应邻近点的属性。shift是用于调整点的平均能量或功率大小的参数。shift的值由编码器或解码器的硬件电压操作范围控制。
[0227]
根据实施方式,考虑到点(例如,邻近点)之间的相关性,点云编码器可以改变上述参考权重。具体地,点云编码器使用通过根据相关组合方法改变上述参考权重来计算出的相关权重,以便突出目标点与邻近点的距离处的特征值。因此,点云编码器可以确保与点之间的相关性成比例的性能增益。另外,点云编码器可以在不改变参考图1至图14描述的raht编码、预测变换编码和提升变换编码的结构的情况下考虑到相关度来生成预测器,
[0228]
图15是例示了点云编码示例的流程图。
[0229]
如参考图1至图14描述的,点云发送装置或点云编码器(例如,图4中描述的点云编码器)接收属性(15100)。
[0230]
点云编码器(例如,lod生成器4009)生成lod以执行预测变换(15200)。点云编码器将点重新组织为细化层次,以生成lod。因此,lod的层次值越大,表示点云内容越详细。根据实施方式,lod可以包括基于点之间的距离分组的点。点云编码器基于八叉树结构来重新组织点。可以根据点的位置或点的顺序(例如,莫顿码顺序等)应用于八叉树解码的迭代生成算法应用于分组点。在每个迭代序列中,生成属于一个lod(例如,lodi)的一个或更多个细化层次r0、r1、...、ri。即,lod的层次是细化层次的组合。
[0231]
另外,参考图1至14描述的点云编码器支持空间可适性解码。根据实施方式,空间可适性解码是根据点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器和图13的接收装置)的解码性能对几何结构和/或属性中的一些或全部执行以提供各种分辨率的点云内容的解码。空间可适性解码包括针对几何结构的可适性几何结构解码和针对属性的可适性属性解码中的至少一个。可适性属性解码包括上述raht编码、预测变换编码和提升变换编码中的至少一个。因此,点云编码器可以执行属性编码以允许点云接收装置(参考图10至图11描述的点云解码器、参考图13描述的接收装置等)执行可适性属性解码。用于支持空间可适性解码的lod可以通过使用八叉树结构中从最低点到最高点的点的近似最近邻近搜索方法来搜索邻近点来生成。从处于比当前lod(例如,lod1)层次低的层次的lod(例
如,lod1-1)搜索当前lod中对应点的最近邻近点。处于比当前lod低的层次的lod是r0、r1、...、和r1-1的细化层次的组合。
[0232]
如下地配置特定lod生成算法。根据实施方式,(pi)
i=1...n
被称为与点云的点关联的位置的集合。根据实施方式,(mi)
i=1...n
是与位置的集合关联的莫顿码。参数d0和ρ被分别定义为初始采样距离和lod之间的距离比。距离比始终大于1(ρ>1)。
[0233]
根据实施方式,点根据点的莫顿码值按升序排列。根据实施方式,参数i表示根据上述处理排序的点索引的数组。lod生成算法是迭代执行的。在每次迭代k中,提取属于lod k的点,并且从k等于0开始生成所提取点的预测器,直到所有点都分配给lod为止。下面,描述更详细的处理。
[0234]
采样距离d被初始化为初始采样距离d0。在范围从0至lod的数目的迭代k中,l(k)是属于第k lod的点的索引集合,并且o(k)是属于与比k高的层次相对应的lod的点的集合。在l(k)和o(k)被初始化之后,点的lod分配和残差被迭代地计算并顺序地输入。针对数组i中的所有索引重复该处理。这里,可以计算出l(k)和o(k)并将其用在生成与l(k)的点关联的预测器的处理中。根据实施方式,r(k)是为了获得lod(k)而需要添加到lod(k-1)的点的集合,并被如下地表示。
[0235]
r(k)=l(k)\l(k-1),其中“\”是差分运算符。
[0236]
对于r(k)中的每个点i,如下地配置用于找到o(k)中的点i的h个邻近点并计算与点i关联的法向距离和相关线性距离的算法。根据实施方式,作为用户定义的参数的h表示用于调整用于预测点i的最大邻近点数目的常数。
[0237]
计数器j被初始化为零(j=0)。
[0238]
对于r(k)中的点i,mi表示与点i关联的莫顿码。mj表示与o(k)中的第j元素关联的莫顿码。
[0239]
当mi大于或等于mj并且j小于o(k)(mi≥mj并且j<sizeof(o(k)))的大小时,计数器j递增1
(j

j 1)
并且测量mi和与o(k)中的索引关联的点之间的距离。所述点在特定搜索范围[j-sr2,j sr2]内,并且跟踪h个最近邻近点((n1,n2,...,nh))以及各邻近点与i之间的法向距离
[0240]
另外,基于法向距离,计算两个最近平方距离之间的相关平方距离。可以如下地表示相关平方距离。
[0241][0242]
计算方法不限于上述示例。
[0243]
当目标点与最后处理点之间的相关平方距离小于阈值时,使用最后处理点的邻近点进行初始估计和搜索。根据实施方式,阈值可以由用户定义。排除相关平方距离大于阈值的点。
[0244]
lod生成算法还应用于点云接收装置(例如,参考图10、图11和图13描述的点云解码器和接收装置)。因此,点云接收装置基于上述lod生成算法来生成lod。
[0245]
点云编码器执行变换编码(15300)。如参考图1至图14描述的,根据实施方式的点云编码器选择性使用raht编码、预测变换编码和提升变换编码或根据点云内容的编码技术
中的一种或更多种的组合。
[0246]
根据实施方式,预测变换编码包括基于插值的预测。按根据lod生成处理定义的顺序对与点云关联的属性进行编码和解码。在每个操作中,仅考虑已经编码或解码的点进行预测。基于点的邻近点的属性(或属性值)的加权平均值来预测点的属性。然而,邻近点组中的点可能分布在该点附近或远离该点分布。因此,当与分布不太密集或远离该点分布的点相比,为密集分布的点指派更大的权重时,可以反映这些点之间的实际相关性,因此可以更准确地计算预测属性。因此,可以基于与该点的最近邻近点的距离以及使用权重的基于插值的预测(或插值预测变换处理)来预测根据实施方式的点的属性(或属性值)。
[0247]
根据实施方式,(ai)
i∈0...k-1
表示属性(或属性值)。表示点的k个最近邻近点的集合。是第j个解码和重构后的属性。下式表示使用循环相关移位矩阵计算相关距离的处理。
[0248]
[式2]
[0249][0250]
在该式中,表示点与其邻近点之间的距离。是通过应用矩阵计算出的相关距离(或被称为相关值)。如下地表示基于在上式中计算出的相关距离计算出的加权平均预测属性(相关权重)。
[0251]
[式3]
[0252][0253]
根据实施方式,提升变换编码使用更新运算符来计算每个点的预测属性。提升变换编码计算属于最高层次的lod(例如,lodn)的点的预测值和残差值。提升变换编码可以计算点的权重。点的更新运算符可以基于计算出的权重和残差值来计算更新后的属性值。计算出的更新属性值用于计算下一lod(例如,作为比lodn低的一个层次的lodn-1)中的点的预测属性。一个层次的lod包括更高层次的其它lod中包括的点。即,由于低层次lod中包括的点更频繁地用于预测,因此基于lod的提升变换编码对属于低层次lod的点有更大的影响。因此,更新运算符可以基于通过将邻近点的权重与对应点的权重相加而更新的权重来执行更新操作。
[0254]
根据实施方式,提升变换编码可以使用反映邻近点之间相关性的更新后的权重。更新运算符基于更新后的权重来执行更新操作。下文中,将描述基于邻近点之间的相关性来更新权重的处理。反映邻近点之间相关性的更新后的权重可以被称为相关权重。
[0255]
w(p)是与点p关联的权重。使用以下递归操作来计算w(p)。
[0256]
对于所有点,w(p)的值都被定义为1。
[0257]
以与lod结构中定义的顺序的相反顺序来遍历点。
[0258]
对于属于lod(j)的每个点q(i,j),点的邻近点的权重被更新。以下表示更新处理。
[0259]
w(p)

w(p) w(c[q(i,j),j])α(p,q(i,j))
[0260]
这里,c[(q(i,j),j]表示最近邻近点的第j集合中的点q(i,j)之间的相关平方距离。因此,考虑到邻近点之间的相关平方距离来更新根据实施方式的相关权重w(p)。更新运算符基于相关权重和预测残差来更新属性值。
[0261]
根据实施方式,可以通过存储在点云发送装置和接收装置中包括的一个或更多个存储器中的程序指令来执行更新处理。根据实施方式,程序指令可以由点云编码器和/或解码器(或处理器)执行,并致使点云编码器和/或解码器更新属性值。
[0262]
根据实施方式,点云编码器执行量化(15400)。由于量化与参考图1至图14描述的量化相同,因此跳过对其的详细描述。根据如上所述的点之间相关性的权重也可以应用于量化。
[0263]
根据实施方式,点云编码器执行算术编码(15500)。由于算术编码与参考图1至图14描述的算术编码相同,因此将跳过对其的详细描述。根据上述的点之间相关性的权重也可以应用于算术编码。
[0264]
图16例示了点及其邻近点的示例。
[0265]
图16示出了作为参考图15描述的预测变换编码的目标的点p以及四个邻近点c1、c2、c3和c4。如参考图15描述的,点云编码器执行预测变换编码(例如,基于插值的预测)。点p的属性(或属性值)可以是作为点p的最近邻近点的c1、c2、c3和c4的属性的加权平均值。在该图中,δj表示点p与邻近点c1之间的距离,并且δ
j 1
表示点p与邻近点c2之间的距离。δ
j 2
表示点p与邻近点c3之间的距离,并且δ
j 3
表示点p与邻近点c4之间的距离。如图16中的虚线所指示的,与邻近点c1相比,邻近点c2、c3和c4的被相对密集地设置。
[0266]
因此,根据实施方式的预测变换编码将图16中例示的点p与邻近点之间的距离乘以如式2中示出的循环相关移位矩阵相乘,以计算反映邻近点之间相关性的相关距离(例如,)。因此,预测变换编码考虑到根据邻近点的密度的相关性来计算加权平均属性(式3)。
[0267]
图17示出了示例性比特流结构示图。
[0268]
点云处理装置(例如,参考图1、图12和图14描述的发送装置)可以以比特流的形式发送编码的点云数据。比特流是形成点云数据(或点云帧)的表示的一系列比特。
[0269]
点云数据(或点云帧)可以被分割为拼块和切片。
[0270]
点云数据可以被分割为多个切片,并在比特流中进行编码。切片是点的集合,并被表示为表示编码后的点云数据的全部或部分的一系列语法元素。切片可以依赖于或者可以不依赖于其它切片。另外,切片可以包括一个几何结构数据单元,并可以包括一个或更多个属性数据单元,或者可以不包括属性数据单元。如上所述,基于几何结构编码来执行属性编码。因此,属性数据单元是基于同一切片中的几何结构数据单元。即,点云数据接收装置(例如,接收装置10004或点云视频解码器10006)可以基于解码后的几何结构数据来处理属性数据。因此,几何结构数据单元在切片中必然在关联属性数据单元之前。切片中的数据单元必然是连续的,并且没有指定切片的顺序次序。
[0271]
拼块是在边界框(例如,参考图5描述的边界框)中呈平行六面体的(三维)矩形。边界框可以包含一个或更多个拼块。拼块可以与另一拼块完全或部分交叠。拼块可以包括一个或更多个切片。
[0272]
因此,点云数据发送装置可以根据重要性来处理与拼块相对应的数据,并提供高质量的点云内容。即,根据实施方式的点云数据发送装置可以对与对用户而言重要的区域相对应的数据执行具有更好的压缩效率和适当等待时间的点云压缩编码。
[0273]
根据实施方式,比特流包含信令信息和多个切片(切片0、

、切片n)。如图中所示,在比特流中信令信息切片之前。因此,点云数据接收装置可以首先获得信令信息,并基于信令信息来顺序或选择性地处理多个切片。如图中所示,切片0包含一个几何结构数据单元(geom00)以及两个属性数据单元(attr00和attr10)。另外,在同一切片中几何结构数据单元在属性数据单元之前。因此,点云数据接收装置处理(解码)几何结构数据单元(或几何结构数据),然后基于处理后的几何结构数据来处理属性数据单元(或属性数据)。根据实施方式,信令信息可以被称为信令数据、元数据等,并不限于该示例。
[0274]
根据实施方式,信令信息包括序列参数集(sps)、几何结构参数集(gps)以及一个或更多个属性参数集(aps)。sps正在编码诸如配置文件和层次这样的关于整个序列的信息,并可以包括诸如图片分辨率和视频格式这样的关于整个序列的综合信息(序列层次)。gps是关于应用于序列(比特流)中包含的几何结构的几何结构编码的信息。gps可以包括关于八叉树的信息(例如,参考图6描述的八叉树)的信息和关于八叉树深度的信息。aps是关于应用序列(比特流)中包含的属性的属性编码的信息。如图中所示,根据用于标识属性的标识符,比特流包含一个或更多个aps(例如,图中示出的aps0、aps1、...)。
[0275]
根据实施方式,信令信息还可以包括tps。tps是关于拼块的信息,并可以包括关于标识符、拼块大小等的信息。根据实施方式,信令信息是序列层次(即,比特流层次)的信息,并应用于对应的比特流。另外,信令信息具有包括语法元素和描述该语法元素的描述符的语法结构。可以使用用于描述语法的伪代码。另外,点云接收装置可以顺序地解析和处理语法中的语法元素。
[0276]
尽管图中未示出,但根据实施方式,几何结构数据单元和属性数据单元分别包括几何结构头和属性头。根据实施方式,几何结构头和属性头是以对应切片层次应用的信令信息,并具有上述语法结构。
[0277]
根据实施方式,几何结构头包含用于处理对应几何结构数据单元的信息(或信令信息)。因此,几何结构头首先出现在几何结构数据单元中。点云接收装置可以首先解析几何结构头,以处理几何结构数据单元。几何结构头与包含关于整个几何结构的信息的gps相关。因此,几何结构头包含指定gps中包括的gps_geom_parameter_set_id的信息。几何结构头还包含拼块信息(例如,tile_id)和与几何结构数据单元所属的切片相关的切片标识符。
[0278]
根据实施方式,属性头包含用于处理对应属性数据单元的信息(或信令信息)。因此,属性头首先出现在属性数据单元中。点云接收装置可以首先解析属性头,以处理属性数据单元。属性头与包含关于所有属性的信息的aps有关联性。因此,属性头包含指定aps中包括的aps_attr_parameter_set_id的信息。如上所述,属性解码是基于几何结构解码的。因此,为了确定与属性数据单元关联的几何结构数据单元,属性头包含指定几何结构头中包括的切片标识符的信息。
[0279]
当点云数据处理装置基于参考图15至图16描述的相关权重来执行属性编码时,比特流中的信令信息可以包括关于相关权重的信息。根据实施方式,关于相关权重的信息可以被包括在序列层次的信令信息(例如,sps、aps等)中,或者被包括在切片层次(例如,属性头)中。
[0280]
图18示出了根据实施方式的信令信息的示例。
[0281]
图18示出了参考图17描述的sps的语法结构,并例示了其中关于参考图17描述的相关权重的信息被包含在序列层次的sps中的示例。
[0282]
sps的语法包括以下语法元素。
[0283]
profile_compatibility_flags指示比特流是符合用于解码的特定配置文件还是符合另一配置文件。配置文件指定对比特流施加的约束,以指定对比特流进行解码的能力。每个配置文件都是算法特征和约束的子集,并由遵循配置文件的所有解码器支持。这用于解码并可以根据标准来定义。
[0284]
level_idc指示应用于比特流的层次。该层次用在所有配置文件中。通常,层次对应于特定的解码器处理负载和存储器能力。
[0285]
sps_bounding_box_present_flag指示在sps中是否存在关于边界框的信息。等于1的sps_bounding_box_present_flag指示存在关于边界框的信息。等于0的sps_bounding_box_present_flag指示未定义关于边界框的信息。
[0286]
以下是当sps_bounding_box_present_flag等于1时sps中包含的关于边界框的信息。
[0287]
sps_bounding_box_offset_x指示包括x、y和z轴的笛卡尔坐标系中源边界框的量化x轴偏移。
[0288]
sps_bounding_box_offset_y指示包括x、y和z轴的笛卡尔坐标系中源边界框的量化y轴偏移。
[0289]
sps_bounding_box_offset_z指示包括x、y和z轴的笛卡尔坐标系中源边界框的量化z轴偏移。
[0290]
sps_bounding_box_scale_factor指定用于指示源边界框大小的缩放因子。
[0291]
sps_bounding_box_size_width指示包括x、y和z轴的笛卡尔坐标系中源边界框的宽度。
[0292]
sps_bounding_box_size_height指示包括x、y和z轴的笛卡尔坐标系中源边界框的高度。
[0293]
sps_bounding_box_size_depth指示包括x、y和z轴的笛卡尔坐标系中源边界框的深度。
[0294]
sps语法还包括以下元素。
[0295]
sps_source_scale_factor指示源点云数据的缩放因子。
[0296]
sps_seq_parameter_set_id是sps的标识符,以供其它语法元素参考(例如,gps中的seq_parameter_set_id)。
[0297]
sps_num_attribute_sets指示比特流中编码属性的数目。sps_num_attribute_sets的值在0至64的范围内。
[0298]
下面的for语句包括与sps_num_attribute_sets所指示的数目一样多的指示关于
每个属性的信息的元素。在该图中,i代表每个属性(或属性集),并且i的值大于或等于0且小于sps_num_attribute_sets所指示的数目。
[0299]
attribute_dimension_minus1[i]指示比第i属性的分量的数目少1的值。当属性为颜色时,该属性对应于表示目标点的光特性的三维信号。例如,该属性可以被作为rgb的三个分量(红色、绿色、蓝色)发信号通知。该属性可以被作为yuv的三个分量即亮度(照度)和两个色度(饱和度)发信号通知。当属性为反射率时,属性对应于表示目标点的光反射率的的强度比率的一维信号。
[0300]
attribute_instance_id[i]指示第i属性的即时id。attribute_instance_id用于区分相同的属性标签和属性。
[0301]
attribute_bitdepth_minus1[i]指示比第i属性信号的第一分量的位深度小1的值。值加1指定第一个分量的位深度。
[0302]
attribute_cicp_colour_primaries[i]指示第i属性的颜色属性源原色的色度坐标。
[0303]
attribute_cicp_transfer_characteristics[i]要么指示颜色属性的参考光电传递特性函数作为标称真实值范围为0至1的源输入线性光学强度lc的函数,要么指示参考电光传递特性函数的倒数作为标称真实值范围为0至1的输出线性光强度lo的函数。
[0304]
attribute_cicp_matrix_coeffs[i]指示用于从rbg或yxz原色推导出亮度和色度信号的矩阵系数。
[0305]
attribute_cicp_video_full_range_flag[i]指示从e

y、e

pb和e

pr或e

r、e

g和e

b真实值分量信号推导出的亮度和色度信号的范围和黑色水平。
[0306]
如上所述,sps语法包含关于相关权重的信息。以下元素指示关于参考图15和图16描述的相关权重的信息。
[0307]
attribute_correlated_weight_flag指示计算出的距离是否应该是相关的。等于1的attribute_correlated_weight_flag指示计算出的距离应该是相关的(即,使用相关权重)。等于0的attribute_correlated_weight_flag指示计算出的距离不相关。默认值被推断为0。
[0308]
attribute_correlated_weight_method指示当attribute_correlated_weight_flag等于1时计算相关权重的方法。例如,计算相关权重的方法包括参考图15描述的式2至式4。因此,点云接收装置根据attribute_correlated_weight_method所指示的方法来计算相关权重,并执行基于插值的预测和提升变换编码。
[0309]
根据实施方式的关于相关权重的信息不限于以上示例。因此,关于相关权重的信息还可以包括关于相关权重变量的信息以及关于相关点集合中的邻近节点的数目的信息。
[0310]
根据实施方式,sps的语法包括以下语法元素。
[0311]
known_attribute_label_flag[i]、known_attribute_label[i]和attribute_label_fourbytes[i]被一起用于标识第i属性中携带的数据类型。known_attribute_label_flag[i]指示属性是由known_attibute_label[i]的值还是由另一对象标识符attribute_label_fourbytes[i]标识的。
[0312]
sps_extension_flag指示在sps中是否存在sps_extension_data_flag。等于0的sps_extension_flag指示在sps语法结构中不存在sps_extension_data_flag语法元素。保
留sps_extension_flag的值1,以供将来使用。解码器可以忽略遵循等于1的sps_extension_flag的所有sps_extension_data_flag语法元素。
[0313]
sps_extension_data_flag指示是否存在供将来使用的数据并可以具有任何值。
[0314]
sps语法不限于以上示例。为了信令的效率,它还可以包括附加元素,或者可以排除图中示出的一些元素。一些元素可以通过除了sps之外的信令信息(例如,aps、属性头等)或者通过属性数据单元来发信号通知。
[0315]
图19例示了根据实施方式的信令信息的示例。
[0316]
图19是参考图17描述的aps的语法结构,并例示了其中关于参考图17描述的相关权重的信息被包含在序列层次的aps中的示例。
[0317]
aps的语法包括以下语法元素。
[0318]
aps_attr_parameter_set_id指示aps的标识符,以供其它语法元素参考。aps_attr_parameter_set_id的值在0至15的范围内。一个或更多个属性数据单元被包含在比特流中(例如,参考图17描述的比特流),并且每个属性数据单元包括属性头。属性头包括具有与aps_attr_parameter_set_id相同的值的字段(例如,ash_attr_parameter_set_id)。根据实施方式的点云接收装置解析aps,并基于解析后的aps和属性头来处理引用相同aps_attr_parameter_set_id的属性数据单元。
[0319]
aps_seq_parameter_set_id指定激活sps的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id的值在0至15的范围内。
[0320]
attr_coding_type指示针对attr_coding_type的给定值的属性编码类型。属性编码(attribute coding)意指属性编码(attribute encoding)。如上所述,属性编码使用raht编码、预测变换编码和提升变换编码中的至少一种,并且attr_coding_type指示以上提到的三种编码类型中的任一种。因此,attr_coding_type的值等于比特流中的0、1或2中的任一个。attr_coding_type的其它值可以随后供iso/iec使用。因此,根据实施方式的点云接收装置忽略具有除了0、1和2之外的值的attr_coding_type。当attr_coding_type等于0时,属性编码类型是预测变换编码。当attr_coding_type等于1时,属性编码类型是raht编码。当attr_coding_type等于2时,属性编码类型是提升变换编码。attr_coding_type的值可以改变,不限于该示例。例如,等于0的attr_coding_type指示属性编码类型是raht编码,等于1的attr_coding_type指示属性编码类型是进行预测变换编码的lod,并且等于2的attr_coding_type指示属性编码类型是进行提升变换编码的lod。
[0321]
aps_attr_initial_qp指示参照当前aps的每个切片的变量sliceqp的初始值。
[0322]
aps_attr_chroma_qp_offset指定应用于由aps_attr_initial_qp发信号通知的初始量化参数的偏移。
[0323]
aps_slice_qp_delta_present_flag指示在属性数据单元的头中是否存在ash_attr_qp_offset所指示的分量qp偏移。
[0324]
如上所述,aps语法包含关于参考图15和图16描述的相关权重的信息。如图中所示,aps语法包括attribute_correlated_weight_flag和attribute_correlated_weight方法。每个元素与参考图18描述的元素相同,因此跳过对其的描述。
[0325]
根据实施方式的关于相关权重的信息不限于以上示例。因此,关于相关权重的信息还可以包括关于相关权重变量的信息以及关于相关点集合中的邻近节点的数目的信息。
[0326]
当attr_coding_type的值指示提升变换编码时,在aps中存在以下语法元素。
[0327]
lifting_num_pred_nearest_neighbours指定将用于预测的最近邻近点的最大数目。
[0328]
lifting_max_num_direct_predictors指示将用于直接预测的预测器的最大数目。
[0329]
lifting_search_range指定用于确定将用于预测的最近邻近点的和建立基于距离的lod的搜索范围。
[0330]
lifting_lod_regular_sampling_enabled_flag指示用于建立lod的采样策略。等于1的lifting_lod_regular_sampling_enabled_flag指示使用常规采样策略来建立lod。等于0的lifting_lod_regular_sampling_enabled_flag指示使用基于距离的采样策略来建立lod。
[0331]
lifting_num_detail_levels_minus1指示用于属性编码的lod的数目。lifting_num_detail_levels_minus1的值大于或等于0。
[0332]
下面的for语句包括与lifting_num_detail_levels_minus1所指示的数目一样多的指示关于每个lod的信息的元素。在该图中,idx指示每个lod。idx的值大于或等于0且小于lifting_num_detail_levels_minus1所指示的数目。
[0333]
当lifting_lod_regular_sampling_enabled_flag的值为1时,包括lifting_sampling_period[idx]。当lifting_lod_regular_sampling_enabled_flag的值为0时,包括lifting_sampling_distance_squared[idx]。
[0334]
lifting_sampling_period[idx]指定lod idx的采样时段。
[0335]
lifting_sampling_distance_squared[idx]指定用于针对lod idx推导采样距离的平方的缩放因子。
[0336]
当attr_coding_type指示属性编码是预测变换编码时,aps包括以下语法元素。
[0337]
lifting_adaptive_prediction_threshold指示用于启用自适应预测的阈值。
[0338]
lifting_intra_lod_prediction_num_layers指定可以参照同一lod层中的解码点以生成目标点的预测值的lod层的数目。
[0339]
根据实施方式,aps的语法包括以下语法元素。
[0340]
aps_extension_flag指示在aps中是否存在aps_extension_data_flag。等于0的aps_extension_flag指示在aps语法结构中不存在aps_extension_data_flag语法元素。保留aps_extension_flag的值1,以供将来使用。解码器可以忽略遵循等于1的aps_extension_flag的所有aps_extension_data_flag语法元素。
[0341]
aps_extension_data_flag指示是否存在供将来使用的数据,并可以具有任何值。
[0342]
aps语法不限于以上示例。为了信令的效率,它还可以包括附加元素,或者可以排除图中示出的一些元素。一些元素可以通过除了aps之外的信令信息(例如,属性头等)或者通过属性数据单元来发信号通知。
[0343]
如参考图15至图19描述的,当存在两个或更多个邻近点时,可以基于这些点之间的相关性来计算相关权重。作为计算相关权重的方法,可以在不改变现有属性编码算法的情况下计算相关权重,因此可以确保系统设计的灵活性。另外,通过使用相关权重取代预测/提升变换中使用的加权常数,提高了编码和解码的性能。根据实施方式的计算相关权重
的方法和该相关权重可以应用于需要诸如量化这样的预测算法的所有功能。
[0344]
计算相关度的方法(例如,式2)可以包括或者可以不包括对应点的距离。另外,计算相关度的方法可以包括使用参考图2描述的矩阵进行加法、乘法和除法的运算。计算相关度的方法还可以包括去除相关值或使用相关值指派和乘以每个常数的运算。每个常数可以不仅包括整数,而且可以包括复数,并可以具有固定值或可变值。
[0345]
相关权重是基于相关度的权重之和,并对应于平均值或方差(例如,式3)。未与相关性结合的权重可以用作平均值或方差。
[0346]
图20例示了根据实施方式的对相关权重进行编码的方法。
[0347]
图20示出了表示当存在三个点时以各种方式计算相关权重(例如,式2和式3)的方法的指令。
[0348]
在该图中,weighted_sum表示每个点和相关度的概略(sum),并且计算相关度的方法可以根据实施方式而改变。w0、w1和w2表示反映针对相应点计算出的相关度的相关权重。
[0349]
第一个框表示通过将相关值乘以任何常数α、β和γ来计算相关度的处理。第二个框表示仅仅基于点的距离来计算相关度的处理。第三个框表示基于点距离的平方来计算相关度的处理。第四个框表示基于点距离之和来计算相关度的处理。每个框表示相应点的相关权重w0、w1和w2,这些权重反映了根据计算相关度的处理计算出的相关度。相关权重可以根据计算方法和相关类型而改变。另外,计算相关度的方法不限于上述示例。
[0350]
参考图1至图20描述的点云处理装置支持空间可适性解码。空间可适性解码是根据点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器和图13的接收装置)的解码性能对几何结构和/或属性中的全部或部分执行以提供各种分辨率的点云内容的解码。根据实施方式,几何结构和属性的部分被称为部分几何结构和部分属性。根据实施方式的应用于几何结构的可适性解码被称为可适性几何结构解码或几何结构可适性解码。根据实施方式的应用于属性的可适性解码被称为可适性属性解码或属性可适性解码。如参考图1至图17描述的,点云内容的点分布在3d空间中,并且分布的点以八叉树结构(例如,参考图6描述的八叉树)表示。八叉树结构是其中深度从上节点朝向下节点增加的八进制树结构。根据实施方式,深度被称为层次和/或层。
[0351]
点云处理装置(或几何结构编码器)基于八叉树结构来执行几何结构编码。另外,点云处理装置(或属性编码器)生成lod并基于八叉树结构来执行属性编码(例如,raht变换、预测变换、提升变换等)。由于lod是基于八叉树结构来生成的,因此八叉树结构被视为划分点的分组,并组织几何结构和属性的点的数目。lod的层次可以对应于八叉树的深度。由于lod(或八叉树深度)必须大得足以表现原始质量,因此,当源点云即使在局部区域中密集排列时,空间可适性也是非常有用的。通过空间可适性,点云接收装置(或解码器)可以提供诸如具有低解码器复杂度和/或小带宽的缩略图这样的低分辨率点云内容。当支持空间可适性解码时,点云处理装置通过参考图17描述的比特流中包含的信令信息(例如,sps、aps、属性头等)来发送用于空间可适性解码的信息。
[0352]
点云接收装置通过比特流中包含的信令信息获得用于空间可适性解码的信息。点云接收装置对从八叉树结构的上部节点到下部节点的特定深度(或层次)对应的全部几何结构或部分几何结构执行几何结构解码。如上所述,属性解码是基于几何结构解码的。因此,点云接收装置可以基于解码后的几何结构(或解码后的八叉树结构)来生成lod,并对全
部属性和/或部分属性执行属性解码(例如,raht变换、预测变换、提升变换等)。
[0353]
图21例示了空间可适性解码的示例。
[0354]
该图中示出的箭头1800指示lod的层次增加的方向。
[0355]
如参考图1至图14描述的,点云处理装置基于八叉树结构来生成lod。lod旨在管理具有八叉树结构的点的属性,并且lod值的增加指示点内容的细节增加。lod可以对应于八叉树结构的一个或更多个深度。八叉树结构的最高节点对应于最低深度或第一深度,并被称为根。八叉树结构的最低节点对应于最高深度或最后深度,并被称为叶。八叉树结构的深度在从根到叶的方向上增加,这与箭头所指的方向相同。
[0356]
根据实施方式,点云解码器根据其性能,执行用于提供全分辨率点云内容的解码1811或用于提供低分辨率点云内容的解码1812。点云解码器通过对与整个八叉树结构相对应的几何结构比特流1811-1和属性比特流1812-1的解码1811来提供全分辨率点云内容。点云解码器通过对与八叉树结构的特定深度相对应的部分几何结构比特流1812-1和部分属性比特流1812-2的解码1812来提供低分辨率点云内容。图21例示了作为属性解码的提升变换,但实施方式不限于该示例。
[0357]
如上所述,比特流(例如,图17的比特流)中的信令信息(例如,sps、aps、属性头等)可以包括与序列层次或切片层次的空间可适性解码(或提升变换)相关的可适性信息(例如,scalable_lifting_enabled_flag或lifting_scalability_enabled_flag)。如上所述,基于解码后的几何结构八叉树结构来执行属性解码。与空间可适性解码(或提升变换)相关的信息指示是需要整个八叉树结构还是需要部分八叉树结构对部分属性进行解码。
[0358]
点云接收装置获得比特流的信令信息,并根据与空间可适性解码相关的信息,基于作为几何结构解码结果的整个八叉树结构或部分八叉树结构来执行可适性属性解码。
[0359]
如上所述,lod是基于八叉树结构生成的(例如,图15中的操作1520)。因此,基于八叉树的深度来生成lod的层次。当八叉树结构改变时,lod结构也改变。点云编码器(例如,参考图15描述的点云编码器)执行基于lod的提升变换(例如,图15中的操作1530)。如上所述,点云处理装置执行从最高层次的lod到最低层次的lod的提升变换编码。根据实施方式,提升变换编码使用更新运算符来计算每个点的预测属性。对应点的更新运算符可以基于计算出的权重和残差值来计算更新后的属性值。根据实施方式,点云处理装置根据量化权重推导处理来确定(或计算或推导)量化权重,并基于所确定的量化权重来执行量化。
[0360]
根据实施方式的点云接收装置(或点云解码器)可以通过使用更新运算符恢复属性值并以与点云处理装置相同的方式计算量化权重来执行逆量化。
[0361]
属于一个层次的lod的点的密度与属于另一层次的lod的点的密度不同。例如,属于一个层次的lod的点的密度低于属于较低层次的lod的点的密度。因此,根据实施方式,量化权重是从更高层次的lod中的距离之和推导出的。然而,当执行空间可适性解码时,点云接收装置不能准确地计算量化权重,因为它未获悉低lod信息。因此,量化权重通过lod的点的数目固定。以下示出了计算每个lod的量化权重以支持基于部分八叉树结构执行的属性解码(例如,提升变换解码)的处理。
[0362][0363]
这里,i是指示每个lod的层次的参数,并且i的值大于或等于0且小于lod的数目(lodcount)。pointcount是属于对应lod的点的数目,并且predictorcount表示属于比对应lod低的lod的点的预测器的数目。predictorcount[i]表示属于对应lod的点的预测器的数目。如该式中所示,权重是基于属性数目和固定常量(例如,kfixedpointweightshift)计算出的。
[0364]
上述式用于基于关于点密集排列的lod而非对于每个lod而言具有预测值的点的信息来计算量化权重。因此,当点在一个或更多个lod中均匀分布时,或者当lod索引的间隙大并且点的分布不规则时,解码器的性能会根据量化权重而劣化。
[0365]
因此,根据实施方式的点云发送装置和点云接收装置执行改进的量化权重推导处理,以在执行提升变换编码(例如,基于部分八叉树结构执行的提升变换编码)时获得数学优化。改进的量化权重推导处理可以计算可以在不应用固定常数的情况下改变的改进的量化权重。因此,改进的量化值推导处理使根据点云系统的量化权重的变化最小化,而没有针对各系统改变固定常数。另外,量化权重对应于数学上的优化值,因此与现有量化权重相比,确保了更高的性能增益。另外,由于改进的量化权重推导处理不需要对每个点进行操作,因此点云接收器的复杂性可以降低。
[0366]
根据实施方式,可以通过存储在点云发送装置和接收装置中包括的一个或更多个存储器中的程序指令来执行量化权重推导处理。程序指令由点云编码器和/或解码器(或处理器)执行,并致使点云编码器和/或解码器计算/推导量化权重。
[0367]
根据实施方式,提升变换被表示为表示量化权重与属性值之和的线性函数。下面给出的式是表示提升变换的线性函数,并被确定为用总资源分配值满足最大效益。根据实施方式的资源是指每个点的权重与属性值(表示属性值的电压)的乘积之和。
[0368]
[式4]
[0369][0370]
参数j是每个点的索引,大于或等于0且小于或等于n。参数n表示预期点云中的点的总数。即,n对应于将由点云发送装置发送的点的总数。参数wj是量化权重(或改进的量化权重)并通过改进的量化权重推导处理来确定(或计算或推导)。参数aj表示每个点的属性值。sumattribute表示量化权重与属性值之和,并且采用n个线性函数的乘法和加法的形式。
[0371]
点云接收装置可以通过sumattribute的值来获得对应点的亮度和颜色值。优化表示上述提升变换的函数的条件由下式表示。
[0372]
[式5]
[0373][0374]
经历
[0375]
wj≥1,其中,j=1,...,n
[0376]
如上式中所示,表示提升变换的函数可以通过应用于参数wj的约束进行优化。根据实施方式,wj大于或等于1。另外,wj(其中,j大于或等于0且小于或等于n)的n个值之和(或总权重)小于或等于预测点的总数(totalpredictedcount)。这旨在防止量化权重无限增加,并防止在计算所需的存储器中发生溢出问题。另外,用于驱动提升变换的式由线性形式和整数空间构成,保持了函数的凸度(convexity)。
[0377]
构成上式的任意定义函数fj由整数和小数的乘法和加法组成。因此,函数fj被表示为凸函数,并且函数fj是根据充分必要条件的凹函数。当w1、w2、..、和wn的值大于或等于1时,w1的函数f1、w1的函数f2、...和函数fn也是凸函数,因此凸函数中的两个或更多个的组合采取凸函数的形式。根据实施方式,权重(或权重常数)wj可以被修改或改变,并具有优化值。另外,当函数fj是凸函数的组合或聚类时,作为fi中的聚类函数即聚类函数的g也被配置为凸函数。因此,可以获得按lod分组的权重的聚类的优化值。根据实施方式,函数g具有最大值和最小值。
[0378]
如上所述,量化权重由totalpredictedcount确定(计算或推导)。当根据实施方式的点云发送装置和点云接收装置发送/接收关于总点数(例如,totalcount)的信息时,量化权重具有基于总点数确定的全局优化值。当点云接收装置预测totalpredictedcount时,量化权重具有基于totalpredictedcount确定的局部优化值。上述式使用诸如karush-kuhn-tucker(kkt)条件、几何结构/非几何结构技术和基于组的功率约束这样的各种方法。由于定义了存在真实空间中的拉格朗日乘数(λ∈r)、不等式约束和表示优化值的w
*
≥0,因此根据实施方式的点云发送装置和接收装置可以通过产生计算量化权重的条件(例如,约束改变)来执行改进的量化权重推导处理。
[0379]
图22示出了示例性的改进量化权重推导处理。
[0380]
图22是例示了改进的量化权重推导处理的流程图。该流程图包括一个或更多个操作。这些操作可以同时或顺序地执行。
[0381]
改进量化权重推导处理定义了初始权重(或初始量化权重)(22100)。根据实施方式,基于平均值收发器功率来确定初始权重。即,考虑到数据存储器大小、计算复杂性等,可以基于32位和64位级别的平均能量值或总能量值来确定初始权重。另外,当对所有点云数据进行归一化时,初始权重被确定为1。
[0382]
改进量化权重推导处理对每个lod的预测点的数目(例如,上述的totalpredictedcount)重新排序/计数(22200)。该点表示几何结构点或属性点。每个lod的预测点的数目可以从解码后的几何结构获得。每个lod的预测点的数目被作为参数存储。改进量化权重推导处理可以在不对预测点的数目进行计数的情况下,将实际点的数目(例如,上述的totalcount)作为参数存储。
[0383]
改进量化权重推导处理计算总约束(22300)。向权重或权重之和(例如,式8中的wj之和)应用约束。根据实施方式,约束可以包括但不限于每个lod的总累积lod的点的数目、一些lod的点的数目、属于子集的点的数目以及根据lod的分组的点的数目。
[0384]
改进量化权重推导处理计算基于计算出的约束确定的权重分配(22400)。即,改进量化权重推导处理根据每个lod层次和lod中的点基于约束来分配资源。如上所述,资源是属性乘以每个点的权重之和。因此,资源是根据lod层次和lod中的点按比例分配的。
[0385]
即,根据基于约束的权重,将点的总数分配给每个lod层次。
[0386]
改进量化权重推导处理更新权重(22500)。更新后的权重(或更新后的量化权重)可以被定义为分配的权重,或者可以通过将分配的权重累积到初始权重,或者通过修改和组合一些现有的更新后的权重来生成。最终更新后的权重具有优化值。
[0387]
下文中,将描述计算基于参考图22描述的计算出的约束确定的权重分配的处理。
[0388]
如上所述,改进量化权重推导处理是基于预测点的总数(例如,上述的totalpredictedcount)的。由于预测点的总数是有限的,因此改进量化权重推导处理可以推导出相同的优化值或相近的优化值。根据实施方式,基于资源(lod的累积点的数目)与总资源(点的总数)的比率来计算优化值。
[0389]
通过存储在点云发送装置和接收装置中包括的一个或更多个存储器中的程序指令来执行计算针对每个lod的累积点的数目的处理。根据实施方式,程序指令由点云编码器和/或解码器(或处理器)执行,并致使点云编码器和/或解码器计算针对每个lod的累积点的数目。如下地表示计算第i个优化值(改进的量化权重)的处理。
[0390]
对于i=0<lodcount{
[0391]
optimalweight[i]=numberofpointsperlod[lodcount-1]/numberofpointsperlod[i];}
[0392]
optimalweight[i]表示第i lod的优化值。numberofpointsperlod[lodcount-1]是直至与比lodcount的值小1的值对应的lod层次的所有点的数目。即,numberofpointsperlod[lodcount-1]表示从i等于0的层次的lod到i等于lodcount-1的层次的lod的属于每个lod的点的数目的总和(例如,等于1的lod0的点的数目、等于7的lod 1的点的数目、...、和等于xx的lod lodcount-1的点的数目的总和)。根据实施方式,numberofpointsperlod[lodcount-1]可以以索引等的形式存储,并可以从所存储的最大索引获得。
[0393]
如上所述,基于约束和ratio[i]生成第i个优化值。根据实施方式,ratio[i]可以根据诸如点云噪声误差这样的实际环境中出现的总能量的不规则性而改变。例如,可以使用numberofpointsperlod[i-1]代替numberofpointsperlod[i],或者可以将numberofpointsperlod[i]的部分分组并看作变量。根据实施方式,分组变量可以包括诸如i 1和i 2这样的顺序变量或诸如i、i 4和i 6这样的非顺序变量。约束numberofpointsperlod[lodcount-1]可以被表示为numberofpointsperlod[k],其中,k是i-1、i-2、

、0或i 1、i 2。另外,numberofpointsperlod[k]的部分可以被分组并看作变量。例如,根据实施方式,分组变量包括诸如i 1和i 2这样的顺序变量或诸如k、k 4和k 6这样的非顺序变量。特定常数可以与由变量i和k表示的numberofpointsperlod[i]和numberofpointsperlod[k]相减、相加或组合。例如,当针对i和k给出两个常数α和β时,可以
得到numberofpointsperlod[i]( 或-)α或numberofpointsperlod[i](*或/)α,并且可以得到numberofpointsperlod[k]( 或可以是-)β或numberofpointsperlod[k](*或/)β。
[0394]
可以向相同属性的相应lod层次的点应用不同的改进量化权重推导处理。例如,当i=1时,可以通过numberofpointperlod[lodcount-1]/numberofpointsperlod[i]推断优化值。当i大于1时,可以通过(numberofpointperlod[lodcount-1]-numberofpointsperlod[i])/numberofpointsperlod[i]推断优化值。
[0395]
可以根据不同属性的lod层次对点应用不同的改进量化权重推导处理。因此,根据当属性是反射率时给出的lod层次的量化权重和根据当属性是颜色时给出的lod层次的量化权重具有不同的优化值。
[0396]
根据相同属性中相应子分量(例如,亮度、色度等)的lod层次,可以对点应用不同的改进量化权重推导处理。因此,当属性是颜色(ycbcr)时,子分量y(亮度)的量化权重与子分量cb和cr(色度)的量化权重具有不同的优化值。
[0397]
图23是例示了根据实施方式的点云编码的流程图。
[0398]
参考图1至图22描述的点云发送装置或点云编码器可以执行属性编码,以支持参考图21描述的空间可适性解码。根据实施方式,属性编码包括raht编码、预测变换编码或提升变换编码中的至少一种。为支持空间可适性解码而执行的提升变换编码执行参考图21至图22描述的改进量化权重计算处理。
[0399]
如图23中所示,点云编码器接收属性的输入(23100)。根据实施方式,属性包括颜色和反射率。
[0400]
根据实施方式的点云编码器根据属性类型执行属性编码(23200、23210)。如该图中所示,点云编码器在属性是颜色的情况和属性是反射率的情况下独立地执行编码。两个属性编码操作可以同时或顺序地执行。属性编码执行基于lod的提升变换(例如,图15的操作1530)。如上所述,点云处理装置执行从最高层次的lod到最低层次的lod的提升变换编码。
[0401]
如上所述,点云编码可以支持空间可适性解码(23300、23310)。根据实施方式,空间可适性解码可以根据点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器和图13的接收装置)的解码性能对几何结构和/或属性中的一些或全部执行解码以提供各种分辨率的点云内容。通过空间可适性,点云接收装置(或解码器)可以提供诸如具有低解码器复杂度和/或小带宽的缩略图这样的低分辨率点云内容。当支持空间可适性解码时,点云处理装置通过参考图17描述的比特流中包含的信令信息(例如,sps、aps、属性头等)来发送用于空间可适性解码的信息。如上所述,比特流(例如,图17的比特流)中的信令信息(例如,sps、aps、属性头等)可以包括与序列层次或切片层次的空间可适性解码(或提升变换)相关的可适性信息(指示是否可以基于空间八叉树结构来执行属性的解码的可适性信息)(例如,scalable_lifting_enabled_flag或lifting_scalability_enabled_flag)。如上所述,基于解码后的几何结构八叉树结构来执行属性解码。与空间可适性解码(或提升变换)相关的信息指示是需要整个八叉树就结构还是需要部分八叉树结构进行部分属性解码。因此,点云接收装置获得比特流的信令信息,并根据与空间可适性解码相关的信息,基于作为几何结构解码结果的整个八叉树结构或部分八叉树结构来执行可适性属性解码。
[0402]
当支持基于部分八叉树结构执行的空间可适性解码(例如,提升变换编码)时,根
据实施方式的点云编码器使用参考图21至图23描述的改进量化权重推导处理来计算量化权重(23400、23410)。改进量化权重推导处理与图21至图22的处理相同,因此将跳过详细描述。根据实施方式的点云接收装置(或点云解码器)可以通过以与点云处理装置相同的方式计算量化权重来执行逆量化。
[0403]
点云编码器压缩颜色属性和反射率属性(23500、23510)。
[0404]
可以通过存储在点云发送装置和接收装置中包括的一个或更多个存储器中的程序指令来执行图23中示出的点云编码。根据实施方式,程序指令由点云编码器和/或解码器(或处理器)执行,并致使点云编码器和/或解码器执行点云编码和/或解码。
[0405]
图24是例示了根据实施方式的发送点云数据的方法的流程图。
[0406]
图24的流程图2400例示了通过参考图1至图23描述的点云数据发送装置(例如,参考图1、图12和图14描述的发送装置或点云编码器)发送点云数据的方法。点云数据发送装置对包含几何结构和属性的点云数据进行编码(2410)。几何结构是指示点云数据中点的位置的信息,并且属性包括点的颜色和反射率中的至少一者。点云数据发送装置对几何结构进行编码。如以上参考图1至图23描述的,属性编码取决于几何结构编码。因此,点云数据发送装置基于编码后的几何结构的整个或部分八叉树结构对属性进行编码,如参考图21描述的。基于一个或更多个细节层次(lod)中的每个lod中包括的点的量化权重对属性进行编码。基于点的数目和属于由lod表示的层次l的点的数目来确定量化权重。细节与参考图20至图23描述的细节相同,并且将跳过对其的描述。
[0407]
如下地表示根据实施方式的量化权重。
[0408][0409]
这里,表示具有层次l的lod的量化权重,“总点数”表示点的数目,“lod
l
中的点数”表示属于由该lod表示的层次l的累积点的数目,并且“ri中的点数”表示仅属于具有层次i的lod的点的数目。lod
l
中的点数的值等于ri中的点数的值之和,其中,i的范围为0至l。根据实施方式的量化权重与参考图21至图22描述的计算第i个优化值(改进的量化权重)或计算出的量化权重的处理相同,因此将跳过对其的详细描述。
[0410]
如参考图15至图23描述的,点云数据发送装置通过对点进行重新排序来生成一个或更多个lod,基于一个或更多个lod对属性执行提升变换编码,并基于量化权重对提升变换编码后的属性进行量化。根据实施方式的量化权重用于对基于几何结构的部分八叉树结构编码的属性进行解码。即,如参考图1至图23描述的,点云发送装置支持空间可适性解码。空间可适性解码是根据点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器和图13的接收装置)的解码性能对几何结构和/或属性中的全部或部分执行以提供各种分辨率的点云内容的解码。
[0411]
点云数据发送装置发送包含编码后的点云数据的比特流(例如,参考图17描述的比特流)(2420)。
[0412]
因此,根据实施方式的比特流(例如,图17)包含指示基于部分八叉树结构编码的属性是否可以被解码的可适性信息(例如,scalable_lifting_enabled_flag、lifting_scalability_enabled_flag)。如参考图20至图23描述的,用于空间可适性解码的信息通过
参考图17描述的比特流中包含的信令信息(例如,sps、aps、属性头等)发送。如上所述,比特流(例如,图17的比特流)中的信令信息(例如,sps、aps、属性头等)可以包括指示基于序列层次或切片层次的空间八叉树结构解码的属性是否可以被解码的信令信息。接收器可以获得这种信息并执行空间可适性解码。由于点云数据发送装置的操作与参考图1至图23描述的操作相同,因此将跳过对其的详细描述。
[0413]
图25是例示了根据实施方式的处理点云数据的方法的流程图。
[0414]
图25的流程图2500例示了由参考图1至图23描述的点云数据接收装置(例如,接收装置10004或点云视频解码器10006)处理点云数据的方法。
[0415]
点云数据接收装置(例如,接收装置10004、图13的接收器等)接收包含点云数据的比特流(2510)。根据实施方式的比特流包含对点云数据进行解码所必需的信令信息(例如,sps、aps、属性头等)。如参考图20至图23描述的,用于空间可适性解码的信息通过参考图17描述的比特流中包含的信令信息(例如,sps、aps、属性头等)发送。如上所述,比特流中的信令信息(例如,sps、aps、属性头等)可以包括与序列层次或切片层次的空间可适性解码(或提升变换)相关的信息。
[0416]
点云数据接收装置(例如,图10的解码器)基于信令信息对点云数据进行解码(2520)。点云数据接收装置(例如,图10的几何结构解码器)对点云数据中包括的几何结构进行解码。根据实施方式的几何结构是指示点云数据的点的位置的信息。点云数据接收装置(例如,图10的属性解码器)基于解码后的几何结构的整个或部分八叉树结构对包括点的颜色和反射率中的至少一者的属性进行解码。基于一个或更多个细节层次(lod)中的每个lod中包括的点的量化权重(或改进量化权重)对属性进行解码。基于点的数目和属于由lod表示的层次l的点的数目来确定量化权重。
[0417]
对点云数据进行解码所必需的信令信息还包括指示是否可以基于部分八叉树结构对属性进行解码的可适性信息(例如,scalable_lifting_enabled_flag或lifting_scalability_enabled_flag)。当可适性信息指示可以基于部分八叉树结构对属性进行解码时,针对从第0个lod至最后一个lod中的每个lod中包括的每个点确定量化权重。量化权重计算处理与参考图21至图23描述的量化权重计算处理相同,因此跳过对其的详细描述。
[0418]
根据实施方式的点云数据接收装置通过对点进行重新排序来生成一个或更多个lod,基于所述一个或更多个lod对属性执行提升变换解码,并基于量化权重对提升变换解码后的属性进行逆量化。如上参考图22描述的,通过执行存储在点云接收装置中包括的存储器中的用于计算量化权重的程序指令来确定量化权重。点云数据接收装置的点云数据处理操作与参考图1至图23描述的相同,因此将跳过对其的详细描述。
[0419]
根据图1至图25中描述的实施方式的点云数据处理装置的元件可以通过包括与存储器结合的一个或更多个处理器的硬件、软件、固件或其组合来实现。实施方式中的元件可以由单个芯片实现,例如,单个硬件电路。根据实施方式,根据实施方式的组件可以分别实现为单独的芯片。另外,根据实施方式的装置的至少一个或更多个组件可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可以执行图1至图25所描述的点云数据处理装置的操作/方法中的任何一个或更多个操作/方法,或者包括用于执行相同操作/方法的指令。
[0420]
尽管为了简单起见已经单独描述了附图,但可以通过合并相应图中例示的实施方
式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求书及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或部分实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在所附权利要求书中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改将不被独立于实施方式的技术思路或观点进行理解。
[0421]
根据实施方式的装置和方法的描述可以被应用以相互补充。例如,根据实施方式的点云数据发送方法可以由根据实施方式的点云数据发送装置或包括在点云数据发送装置中的组件来执行。此外,根据实施方式的接收点云数据的方法可以由根据实施方式的用于接收点云数据的装置或包括在根据实施方式的用于接收点云数据的装置中的组件来执行。
[0422]
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的组件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂时性crm中或配置为由一个或更多个处理器执行的其它计算机程序产品中,或可以被存储在暂态crm或配置为将由一个或更多个处理器执行的其它计算机程序产品中。另外,根据实施方式的存储器可以被用作不仅覆盖易失性存储器(例如,ram)而且覆盖非易失性存储器、闪存存储器和prom的概念。另外,它还可以按诸如通过互联网进行发送这样的载波形式实现。另外,处理器可读记录介质可以分布于通过网络连接的计算机系统,使得处理器可读代码可以以分布方式来存储和执行。
[0423]
在本说明书中,术语“/”和“、”应该被解释为指示“和/或”。例如,表述“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二者。换句话说,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
[0424]
可以使用诸如第一和第二这样的术语来描述实施方式的各种元件。然而,根据实施方式的各种部件不应该受以上术语限制。这些术语只是用于将一个元件与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号二者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。
[0425]
用于描述实施方式的术语是出于描述特定实施方式的目的使用的,并不旨在限制实施方式。如对实施方式的描述和权利要求书中所使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”这样的术语旨在指示图、数字、步骤、元件和/或部件的组件,而应当被理
解为不排除图形、数字、步骤、元件和/或组件的附加存在的可能性。如本文中使用的,诸如“如果”和“当”这样的条件表达不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。
[0426]
本公开的模式
[0427]
如上所述,已经以执行实施方式的最佳模式描述了相关内容。
[0428]
工业实用性
[0429]
本领域的技术人员将清楚,可以在实施方式的范围内对实施方式进行各种改变或修改。因此,实施方式旨在涵盖本公开的修改形式和变形形式,前提是它们落入所附权利要求书及其等同物的范围内。
再多了解一些

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

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

相关文献