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

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

2023-02-20 19:08:08 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

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

,n排序的顶点形成的三角形
[0120]
n三角形
[0121]
3(1,2,3)
[0122]
4(1,2,3),(3,4,1)
[0123]
5(1,2,3),(3,4,5),(5,1,3)
[0124]
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
[0125]
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
[0126]
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
[0127]
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
[0128]
10(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,1),(1,3,5),(5,7,9),(9,1,5)
[0129]
11(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,1,3),(3,5,7),(7,9,11),(11,3,7)
[0130]
12(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,10,11),(11,12,1),(1,3,5),(5,7,9),(9,11,1),(1,5,9)
[0131]
执行上采样处理,以沿着三角形的边缘在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云编码器可以对细化顶点进行体素化。另外,点云编码器可以基于体素化位置(或位置值)来执行属性编码。
[0132]
图7例示了根据实施方式的邻居节点模式的示例。
[0133]
为了提高点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适
应算术编码来执行熵编码。
[0134]
如参考图1至图6描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、点云编码器或图4的算术编码器40004)可以立即对占用码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用码和邻居节点的占用来执行熵编码(帧内编码),或基于前一帧的占用码来执行熵编码(帧间编码)。根据实施方式的帧表示同时产生的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可以取决于被参考的邻居节点的数目。当比特增加时,操作变复杂,但编码可以偏向一侧,从而可以增加压缩效率。例如,当给定3比特上下文时,需要使用23=8种方法执行编码。为进行编码而划分的部分影响了实现方式的复杂度。因此,必须满足适当水平的压缩效率和复杂度。
[0135]
图7例示了基于邻居节点的占用来获得占用模式的处理。根据实施方式的点云编码器确定八叉树的每个节点的邻居节点的占用,并获得邻居模式的值。使用该邻居节点模式来推断节点的占用模式。图7的左部示出了与节点对应的立方体(处于中间的立方体)以及与立方体共享至少一个面的六个立方体(邻居节点)。图中示出的节点是相同深度的节点。图中示出的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻居节点的位置依次指派权重。
[0136]
图7的右部示出了邻居节点模式值。邻居节点模式值是乘以被占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点模式值为0至63。当邻居节点模式值为0时,指示该节点的邻居节点当中不存在具有点的节点(未占用节点)。当邻居节点模式值为63时,指示所有邻居节点都是被占用节点。如图中所示,由于被指派权重1、2、4和8的邻居节点是被占用节点,因此邻居节点模式值为15即1、2、4和8之和。点云编码器可以根据邻居节点模式值执行编码(例如,当邻居节点模式值为63时,可以执行64种编码)。根据实施方式,点云编码器可以通过改变邻居节点模式值(例如,基于通过其将64改变为10或6的表)来降低编码复杂度。
[0137]
图8例示了根据实施方式的每个lod中的点配置的示例。
[0138]
如参考图1至图7描述的,在执行属性编码之前,重构(解压缩)编码后的几何。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用三角汤几何编码时,通过三角重构、上采样和体素化来执行几何重构处理。由于属性取决于几何,因此基于重构的几何执行属性编码。
[0139]
点云编码器(例如,lod生成器40009)可以通过lod对点进行分类(重新组织)。该图示出了与lod对应的点云内容。图中的最左侧图片表示原始点云内容。图中左侧起的第二个图片表示最低lod中的点的分布,并且图中的最右侧图片表示最高lod中的点的分布。也就是说,最低lod中的点稀疏地分布,并且最高lod中的点密集地分布。也就是说,随着lod在由图的底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
[0140]
图9例示了根据实施方式的每个lod的点配置的示例。
[0141]
如参考图1至图8描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或lod生成器40009)可以生成lod。通过根据一组lod距离值(或一组欧几里得距离)将点重新组织为一组细化级别来生成lod。lod生成处理不仅由点云编码器执行,而且由点云解码器执行。
[0142]
图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。
[0143]
如参考图4描述的,根据实施方式的点云编码器可以选择性或组合地执行预测变换编码、提升变换编码和raht变换编码。
[0144]
根据实施方式的点云编码器可以为点生成预测器,以执行预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对n个点生成n个预测器。根据实施方式的预测器可以基于每个点的lod值、与存在于针对每个lod的设定距离内的邻近点有关的加索引信息以及到邻近点的距离来计算权重(=1/距离)。
[0145]
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻近点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻近点的距离计算出的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可以对通过从每个点的属性(属性值)中减去预测的属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和反量化。如下表中所示地配置该量化处理。
[0146]
表属性预测残差量化伪代码
[0147][0148]
表属性预测残差反量化伪代码
[0149][0150][0151]
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以如上所述对量化和反量化后的残差值执行熵编码。当每个点的预测器没有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对相应点的属性执行熵编码。
[0152]
根据实施方式的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算出的lod并将邻近点登记到预测器中,并根据到邻近点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
[0153]
1)创建用于存储每个点的权重值的数组quantization weight(qw)(量化权重)。qw的所有元素的初始值为1.0。将在预测器中登记的邻居节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
[0154]
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0155]
3)创建被称为更新权重(updateweight)的临时数组,并将该临时数组更新并初始化为零。
[0156]
4)将通过将针对所有预测器计算出的权重乘以存储在qw中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组以作为邻居节点的索引。将通过将邻居节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
[0157]
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
[0158]
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以(存储在qw中的)通过提升预测处理而更新的权重来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)对预测的属性值进行量化。另外,点云编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
[0159]
根据实施方式的点云编码器(例如,raht变换器40008)可以执行raht变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。raht变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的较高模式下执行。
[0160]
下面的式表示raht变换矩阵。在该式中,表示级别l处的体素的平均属性值。可以基于和来计算来计算和的权重是和
[0161][0162]
这里,是低通值并被用在下一更高级别处的合并处理中。表示高通系数。每个步骤中的高通系数被量化并经历熵编码(例如,通过算术编码器40012编码)。权重被计算为通过和计算根节点如下。
[0163][0164]
图10例示了根据实施方式的点云解码器。
[0165]
图10中例示的点云解码器是图1中描述的点云视频解码器10006的示例,并可以执行与图1中例示的点云视频解码器10006的操作相同或类似的操作。如图中所示,点云解码器可以接收一个或更多个比特流中包含的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码,并输出解码后的几何。属性解码器基于解码后的几何和属性比特流执行属性解码,并输出解码后的属性。使用解码后
的几何和解码后的属性来重构点云内容(解码后的点云)。
[0166]
图11例示了根据实施方式的点云解码器。
[0167]
图11中例示的点云解码器是图10中例示的点云解码器的示例,并可以执行作为图1至图9中例示的点云编码器的编码操作的逆处理的解码操作。
[0168]
如参考图1和图10描述的,点云解码器可以执行几何解码和属性解码。几何解码是在属性解码之前执行的。
[0169]
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、反量化器(反量化)11006、raht变换器11007、lod生成器(生成lod)11008、逆提升器(逆提升)11009和/或逆颜色变换器(逆变换颜色)11010。
[0170]
算术解码器11000、八叉树合成器11001、表面近似合成器11002和几何重构器11003以及坐标逆变换器11004可以执行几何解码。根据实施方式的几何解码可以包括直接编码和三角汤几何解码。直接编码和三角汤几何解码被选择性应用。几何解码不限于上述示例,并作为参考图1至图9描述的几何编码的逆处理来执行。
[0171]
根据实施方式的算术解码器11000基于算术编码对接收到的几何比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
[0172]
根据实施方式的八叉树合成器11001可以通过从解码后的几何比特流(或作为解码结果而获得的关于几何的信息)获取占用码来生成八叉树。如参考图1至图9详细描述地配置占用码。
[0173]
当应用三角汤(trisoup)几何编码时,根据实施方式的表面近似合成器11002可以基于解码后的几何和/或所生成的八叉树来合成表面。
[0174]
根据实施方式的几何重构器11003可以基于表面和/或解码后的几何来重新生成几何。如参考图1至图9描述的,直接编码和三角汤几何编码被选择性应用。因此,几何重构器11003直接导入并添加关于应用了直接编码的点的位置信息。当应用三角汤几何编码时,几何重构器11003可以通过执行几何重构器40005的重构操作(例如,三角重构、上采样和体素化)来重构几何。细节与参考图6描述的细节相同,因此省略对其的描述。重构的几何可以包括不包含属性的点云图片或帧。
[0175]
根据实施方式的坐标逆变换器11004可以通过基于重构的几何变换坐标来获取点的位置。
[0176]
算术解码器11005、反量化器11006、raht变换器11007、lod生成器11008、逆提升器11009和/或逆颜色变换器11010可以执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(raht)解码、基于内插的分层最近邻预测(预测变换)解码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测解码。可以选择性使用上述三种解码方案,或可以使用一种或更多种解码方案的组合。根据实施方式的属性解码不限于上述示例。
[0177]
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
[0178]
根据实施方式的反量化器11006对作为解码结果而获得的关于解码后的属性比特流或属性的信息进行反量化,并输出反量化后的属性(或属性值)。可以基于点云编码器的
属性编码来选择性应用反量化。
[0179]
根据实施方式,raht变换器11007、lod生成器11008和/或逆提升器11009可以处理重构的几何和反量化后的属性。如上所述,raht变换器11007、lod生成器11008和/或逆提升器11009可以选择性执行与点云编码器的编码对应的解码操作。
[0180]
根据实施方式的逆颜色变换器11010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。可以基于点云视频编码器的颜色变换器40006的操作选择性执行逆颜色变换器11010的操作。
[0181]
尽管在该图中未示出,但图11的点云解码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云提供装置中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图11的点云解码器的元件的操作和/或功能。
[0182]
图12例示了根据实施方式的发送装置。
[0183]
图12中示出的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12中例示的发送装置可以执行与参考图1至图9描述的点云编码器的操作和方法相同或类似的操作和方法中的一个或更多个。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010、算术编码器12011和/或发送处理器12012。
[0184]
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取器10001的操作和/或获取方法(或参考图2描述的获取处理20000)相同或类似的操作和/或获取方法。
[0185]
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参考图1至图9描述的几何编码相同或类似,因此省略对其的详细描述。
[0186]
根据实施方式的量化处理器12001对几何(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或类似。细节与参考图1至图9描述的细节相同。
[0187]
根据实施方式的体素化处理器12002对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图4描述的量化器40001的操作和/或体素化处理相同或类似的操作和/或处理。细节与参考图1至图9描述的细节相同。
[0188]
根据实施方式的八叉树占用码发生器12003基于八叉树结构对点的体素化位置执行八叉树编码。八叉树占用码发生器12003可以生成占用码。八叉树占用码发生器12003可以执行与参考图4和图6描述的点云视频编码器(或八叉树分析器40002)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0189]
根据实施方式的表面模型处理器12004可以基于表面模型来执行三角汤几何编
码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云视频编码器(例如,表面近似分析器40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
[0190]
根据实施方式的帧内/帧间编码处理器12005可以对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可以执行与参考图7描述的帧内/帧间编码相同或类似的编码。细节与参考图7描述的细节相同。根据实施方式,帧内/帧间编码处理器12005可以被包括在算术编码器12006中。
[0191]
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或类似的操作和/或方法。
[0192]
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供到诸如几何编码和/或属性编码这样的必要处理过程。另外,根据实施方式的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码相关的信令信息。可以与几何编码和/或属性编码分开地对根据实施方式的信令信息进行编码。可以对根据实施方式的信令信息进行交织。
[0193]
颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
[0194]
根据实施方式的颜色变换处理器12008执行颜色变换编码,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何来执行颜色变换编码。重构的几何与参考图1至图9描述的相同。另外,它执行与参考图4描述的颜色变换器40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
[0195]
根据实施方式的属性变换处理器12009执行属性变换,以基于重构的几何和/或未被执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施方式的预测/提升/raht变换处理器12010可以通过raht编码、预测变换编码和提升变换编码中的任一种或其组合对变换后的属性进行编码。预测/提升/raht变换处理器12010执行与参考图4描述的raht变换器40008、lod生成器40009和提升变换器40010的操作相同或类似的操作中的至少一者。另外,预测变换编码、提升变换编码和raht变换编码与参考图1至图9描述的那些相同,因此省略对其的详细描述。
[0196]
根据实施方式的算术编码器12011可以基于算术编码对编码后的属性进行编码。算术编码器12011执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
[0197]
根据实施方式的发送处理器12012可以发送包含编码后的几何和/或编码后的属性和元数据信息的每个比特流,或发送配置有编码后的几何和/或编码后的属性和元数据信息的一个比特流。当根据实施方式的编码后的几何和/或编码后的属性和元数据信息被配置成一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包含信令信息,该信令信息包括用于序列级的信令的序列参数集(sps)、用于几何信息编码的信令的几何参数集(gps)、用于属性信息编码的信令的属性参数集(aps)以及用于图块级的信令的图块参数集(tps)和切片数据。切片数据可以包括关于一个或更多个切片的
信息。根据实施方式的一个切片可以包括一个几何比特流geom00以及一个或更多个属性比特流attr00和attr10。
[0198]
切片是指表示编码后的点云帧的全部或部分的一系列语法元素。
[0199]
根据实施方式的tps可以包括关于一个或更多个图块的每个图块的信息(例如,关于边界框的高度/大小信息和坐标信息)。几何比特流可以包含头部和有效载荷。根据实施方式的几何比特流的头部可以包含gps中包括的参数集标识符(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于有效载荷中包含的数据的信息。如上所述,根据实施方式的元数据处理器12007可以生成和/或处理信令信息,并将其发送到发送处理器12012。根据实施方式,用于执行几何编码的元件和用于执行属性编码的元件可以彼此共享数据/信息,如虚线所指示的。根据实施方式的发送处理器12012可以执行与发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。细节与参考图1和图2描述的细节相同,因此省略对其的描述。
[0200]
图13例示了根据实施方式的接收装置。
[0201]
图13中例示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13中例示的接收装置可以执行与参考图1至图11描述的点云解码器的操作和方法相同或类似的操作和方法中的一个或更多个。
[0202]
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角重构、上采样、体素化)13004、反量化处理器13005、元数据解析器13006、算术解码器13007、反量化处理器13008、预测/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的用于解码的每个元件可以执行根据实施方式的用于编码的对应元件的操作的逆处理。
[0203]
根据实施方式的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
[0204]
根据实施方式的接收处理器13001可以从接收到的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
[0205]
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和反量化处理器13005可以执行几何解码。根据实施方式的几何解码与参考图1至图10描述的几何解码相同或类似,因此省略对其的详细描述。
[0206]
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或代码化相同或类似的操作和/或代码化。
[0207]
根据实施方式的基于占用码的八叉树重构处理器13003可以通过从解码后的几何比特流(或作为解码结果而获得的关于几何的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三角汤几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行三角汤几何解码和相关的几何重构(例如,三角重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或类似的操作。
[0208]
根据实施方式的反量化处理器13005可以对解码后的几何进行反量化。
[0209]
根据实施方式的元数据解析器13006可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器13006可以传递元数据以进行几何解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略对其的详细描述。
[0210]
算术解码器13007、反量化处理器13008、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,因此省略对其的详细描述。
[0211]
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或代码化相同或类似的操作和/或代码化。
[0212]
根据实施方式的反量化处理器13008可以对解码后的属性比特流进行反量化。反量化处理器13008执行与反量化器11006的操作和/或反量化方法相同或相似的操作和/或方法。
[0213]
根据实施方式的预测/提升/raht逆变换器13009可以处理重构的几何和反量化后的属性。预测/提升/raht逆变换器13009执行与raht变换器11007、lod生成器11008和/或逆提升器11009的操作和/或解码相同或类似的操作和/或解码中的一个或更多个。根据实施方式的颜色逆变换处理器13010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。颜色逆变换处理器13010执行与逆颜色变换器11010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。根据实施方式的渲染器13011可以渲染点云数据。
[0214]
图14例示了根据实施方式的结合点云数据发送/接收方法/装置可操作的示例性结构。
[0215]
图14的结构表示其中服务器1460、机器人1410、自动驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或头戴式显示器(hmd)1470中的至少一个连接到云网络1400的配置。机器人1410、自动驾驶车辆1420、xr装置1430、智能电话1440或家用电器1450被称为装置。另外,xr装置1430可以对应于根据实施方式的点云数据(pcc)装置,或可以可操作地连接到pcc装置。
[0216]
云网络1400可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3g网络、4g或长期演进(lte)网络或5g网络配置云网络1400。
[0217]
服务器1460可以通过云网络1400连接到机器人1410、自动驾驶车辆1420、xr装置1430、智能电话1440、家用电器14500/或hmd 1470中的至少一个,并可以辅助连接的装置1410至1470的处理中的至少一部分。
[0218]
hmd 1470表示根据实施方式的xr装置和/或pcc装置的实现方式类型中的一种。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0219]
下文中,将描述应用了上述技术的装置1410至1450的各种实施方式。根据上述实施方式,图14中例示的装置1410至1450可以可操作地连接/联接到点云数据发送装置和接收器。
[0220]
《pcc xr》
[0221]
xr/pcc装置1430可以采用pcc技术和/或xr(ar vr)技术,并可以被实现为hmd、设
置在车辆中的平视显示器(hud)、电视机、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、静止机器人或移动机器人。
[0222]
xr/pcc装置1430可以分析通过各种传感器或从外部装置获取的3d点云数据或图像数据,并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置1430可以获取关于周围空间或真实对象的信息,并渲染和输出xr对象。例如,xr/pcc装置1430可以将包括关于识别到的对象的辅助信息的xr对象与识别到的对象匹配,并输出相匹配的xr对象。
[0223]
《pcc xr 移动电话》
[0224]
xr/pcc装置1430可以通过应用pcc技术被实现为移动电话1440。
[0225]
移动电话1440可以基于pcc技术解码并显示点云内容。
[0226]
《pcc 自动驾驶 xr》
[0227]
自动驾驶车辆1420可以通过应用pcc技术和xr技术被实现为移动机器人、车辆、无人驾驶飞行器等。
[0228]
应用xr/pcc技术的自动驾驶车辆1420可以表示设置有用于提供xr图像的装置的自动驾驶车辆或作为xr图像中的控制/交互目标的自动驾驶车辆。具体地,作为xr图像中的控制/交互目标的自动驾驶车辆1420可以与xr装置1430区分开,并可以可操作地连接到xr装置1430。
[0229]
具有用于提供xr/pcc图像的装置的自动驾驶车辆1420可以从包括相机的传感器获取传感器信息,并基于所获取的传感器信息输出生成的xr/pcc图像。例如,自动驾驶车辆1420可以具有hud并向其输出xr/pcc图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的xr/pcc对象。
[0230]
当xr/pcc对象被输出到hud时,可以输出xr/pcc对象的至少一部分以与乘员眼睛所指向的真实对象交叠。另一方面,当xr/pcc对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出xr/pcc对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆1220可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的xr/pcc对象。
[0231]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0232]
换句话说,vr技术是只提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上示出虚拟创建的cg图像的技术。mr技术与上述ar技术的类似之处在于,待示出的虚拟对象与真实世界混合并结合。然而,mr技术与ar技术的不同之处在于,ar技术明确区分了真实对象与作为cg图像创建的虚拟对象,并使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象视为与真实对象具有等同特性的对象。更具体地,mr技术应用的示例是全息图服务。
[0233]
最近,vr、ar和mr技术有时被称为扩展现实(xr)技术,而没有被明确彼此区分开。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc和g-pcc技术的编/解码适用于这种技术。
[0234]
根据实施方式的pcc方法/装置可以应用于提供自动驾驶服务的车辆。
[0235]
提供自动驾驶服务的车辆连接到pcc装置,以用于有线/无线通信。
[0236]
当根据实施方式的点云数据(pcc)发送/接收装置连接到车辆以用于有线/无线通
信时,该装置可以接收/处理与可以和自动驾驶服务一起提供的ar/vr/pcc服务相关的内容数据并将其发送到车辆。在pcc发送/接收装置被安装在车辆上的情况下,pcc发送/接收装置可以根据通过用户接口装置输入的用户输入信号来接收/处理与ar/vr/pcc服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
[0237]
根据实施方式的点云数据发送方法/装置可以被解释为参照图1的发送装置10000、图1的点云视频编码器10002、图1的发送器10003、图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送装置、图14的装置、图20和图22的编码过程等的术语。
[0238]
根据实施方式的点云数据接收方法/装置可以被解释为参照图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收装置、图14的装置、图21和图23的解码过程等的术语。
[0239]
根据实施方式的用于发送或接收点云数据的方法/装置可以被简单地称为方法/装置。
[0240]
根据实施方式,构成点云数据的几何数据、几何信息和位置信息将被解释为具有相同的含义。构成点云数据的属性数据、属性信息和属性信息将被解释为具有相同的含义。
[0241]
图15例示了根据实施方式的点云数据。
[0242]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的发送装置10000、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置、图28的点云数据发送装置、或对应的点云数据发送/接收装置可以对如图15中所示的点云数据进行压缩(编码)。
[0243]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的接收装置10004、点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置以及图17和图29的点云数据接收装置、或对应的点云数据发送/接收装置可以对如图15中所示的点云数据进行解码。
[0244]
根据实施方式的方法/装置可以在考虑直接编码点的情况下以基于位置树的lod生成为基础对点云数据进行编码和解码。
[0245]
作为用于高效压缩点云数据和提供服务的方法,可以使用可缩放编码。可缩放点云编码使用基于lod的可缩放层。当作为推断的直接编码模式(idcm)的直接编码被用于位置信息压缩时,一定深度处的节点的数目可以不等于属性的一定深度处的节点的数目。
[0246]
根据实施方式的方法涉及压缩和重构点云数据。具体地,它涉及用于考虑各种接收器环境(接收器性能、发送性能等)的可缩放属性编码。在这点上,根据实施方式的lod生成操作可以将可缩放层的位置与属性信息的条数匹配。
[0247]
根据实施方式的点云数据由与每个数据相关的位置(几何)信息(例如,xyz坐标)和属性信息(例如,颜色、反射率等)构成。根据实施方式的点云数据发送装置对位置信息和属性信息进行压缩。在对位置信息进行压缩时,使用基于八叉树的压缩的方法,然后基于压缩后的数据对属性信息进行压缩。这里,用于压缩位置信息的八叉树表示通过用关于每个
深度的占用信息均匀地分割其中分布有点的空间而获得的分割空间中的点的存在/不存在。
[0248]
当点密集分布时,与对每条位置信息进行压缩时相比,可以预期更高的压缩效率。如图15的部分1500中所示,当点稀疏和/或独立地分布时,即使使用基于八叉树的压缩技术,压缩效果也可能减弱。在这种情况下,可以通过直接编码来提高压缩效率和压缩速度。
[0249]
图16例示了根据实施方式的点云数据编码和解码过程。
[0250]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的发送装置10000、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置、图28的点云数据发送装置、或对应的点云数据发送/接收装置可以对几何数据和/或属性数据进行部分编码,如图16中所示。
[0251]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的接收装置10004、点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置以及图17和图29的点云数据接收装置、或对应的点云数据发送/接收装置可以对几何数据和/或属性数据进行部分解码,如图16中所示。
[0252]
g-pcc解码器1600、1601可以对应于图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置、图17和图29的点云数据接收装置等。由框1600表示的g-pcc解码器可以针对直至基于lod的特定深度的几何数据基于八叉树部分地解码几何比特流,并且通过基于提升的解码对属性比特流进行部分解码。重构的点云数据(几何数据 属性数据)可以具有低分辨率。g-pcc解码器可以如在框1601中地对全部几何数据和属性数据进行解码。重构的点云数据(几何数据 属性数据)可以具有全分辨率。
[0253]
当使用基于八叉树的位置压缩的方法时,可以通过配置与八叉树的层级结构对应的属性来支持可缩放编码。根据实施方式的可缩放编码是指对直至特定深度的点云数据的比特流进行部分编码和/或解码而不是对比特流进行完全编码和/或解码的方法,如图16中所示。
[0254]
对于可缩放性,在位置信息树的特定深度处使用单位节点的情况下,使用包括子节点中的点的占用节点作为深度的节点。对于属性信息,与位置信息树的每个深度对应的属性的集合构成lod。
[0255]
然而,当前用于lod配置的八叉树结构不能与用于位置信息压缩的几何树结构匹配。这是因为,在假定八叉树结构时没有考虑被直接压缩的点。
[0256]
图17例示了根据实施方式的几何节点和属性节点的示例。
[0257]
在执行如图16中所示的可缩放编码时,对于每个深度,属性节点不能与位置节点以一一对应的方式匹配,如图17中所示。即,可缩放点云表示可能是不准确的。
[0258]
图17中示出的深度可以表示几何八叉树的深度及其对应的属性lod的层次。例如,在从深度0至深度5的深度处,针对属性的节点的数目等于针对几何的节点的数目。然而,随着深度增加,由于没有占用节点,导致直接处理的节点(点)的数目可能增加。因此,针对几何的节点的数目与针对属性的节点的数目之间存在差异。
[0259]
关于考虑直接编码点的可缩放属性编码方法,根据实施方式的方法/装置可以包括1)考虑位置树结构的lod生成方法、2)当使用位置直接编码时考虑位置节点的数目根据层的变化的属性编码方法、和/或3)用于可缩放属性编码的约束和信令操作。
[0260]
在根据实施方式的可缩放点云压缩/重构方法中,可以基于位置树结构对点云数据进行压缩和重构。当使用推断的直接编码模式(idcm)时,根据实施方式的压缩方法可以提供高效且准确的可缩放属性压缩方法。根据实施方式的方法不仅可以被用于执行可缩放点云编码,而且可以被用于在低时延环境中自适应地提供点云服务。另外,根据实施方式的基于预测的属性压缩方法可以独立于位置压缩方法使用,并且不仅可以用于属性压缩,而且可以被用于基于根据实施方式的方法的位置压缩。除了可缩放编码应用,根据实施方式的lod生成方法还可以被用于一般点云压缩。
[0261]
图18例示了根据实施方式的点云数据的八叉树表示的示例。
[0262]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的发送装置10000、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置、图28的点云数据发送装置、或对应的点云数据发送/接收装置可以通过将点云数据的分布按树结构呈现来对点云数据进行编码,如图18中所示。
[0263]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的接收装置10004、点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置以及图17和图29的点云数据接收装置、或对应的点云数据发送/接收装置可以通过将点云数据的分布按树结构呈现来对点云数据进行解码,如图18中所示。
[0264]
根据实施方式的方法/装置可以基于以下流程图对点云数据进行压缩和重构。
[0265]
s1800:根据实施方式的基于idcm的几何编码
[0266]
s1801:根据实施方式的基于八叉树的lod生成
[0267]
以下,描述每个步骤。
[0268]
根据实施方式的基于idcm的几何编码
[0269]
为了压缩关于点云的位置信息(几何数据),可以通过将立方体平均划分成八个立方体来生成八叉树。在这种情况下,可以重复将8个节点当中的存在点的占用节点划分成8个长度为节点每条边的长度的一半的立方体的过程,并且可以根据节点的顺序使用1比特将每个节点的占用状态指示为0或1。即,当立方体被划分成8个立方体时,可以使用8个比特来指示8个子节点的占用状态。
[0270]
图19例示了根据实施方式的八叉树和直接模式的示例。
[0271]
在基于八叉树的压缩中,因为在相似位置处存在的点的位置以捆绑的形式表示,所以所需比特的数目可以减少。然而,如图19中所示,当在占用节点的后代节点当中不存在兄弟节点(1900)时,基于八叉树的压缩不能实现大的效果。相应地,在这种情况下,通过在直接模式1900下执行直接编码,可以预期编码效率和压缩速度的提高。
[0272]
当前点(节点)可以具有可以包括占用节点和/或未占用节点的多达8个孩子节点。
[0273]
当不存在孩子节点和/或兄弟节点时,存在相似邻近点的可能性高。相应地,即使
当生成节点(点)之间的预测值并生成残差时,邻居中也可能不存在重复数据。邻居中的数据可能不相近,准确性可能低,或者可能出现时延。在这种情况下,如在1900中所示,对应点可以被直接编码,并且可以直接发送点的位置值。
[0274]
为了确定是否将要执行根据实施方式的直接编码,根据实施方式的方法/装置可以如下地使用与邻近节点的关系作为确定标准。
[0275]
1)当前节点(点)是父节点的唯一占用孩子,并且祖父最多有一个占用孩子(即,父节点的被占用的兄弟);
[0276]
2)当前节点是父节点的唯一占用孩子,并且6个邻近点(其面与节点接触的节点)没有被占用;
[0277]
3)预计点间预测的编码效率低。
[0278]
例如,在这些情况下,根据实施方式,可以确定直接编码是合格的,并且可以只有当所包括的点的数目小于或等于阈值时,才应用推断的直接编码模式(idcm)。当执行idcm时,指示执行idcm的标志、点的数目以及指示点位置(与没有执行八叉树编码的剩余深度对应的部分)的xyz值的信息可以作为参数信息被包括在比特流中并被传送到接收方解码。
[0279]
图20是例示了根据实施方式的直接编码的流程图。
[0280]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的发送装置10000、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置、图28的点云数据发送装置、或对应的点云数据发送/接收装置可以基于如图20中所示的流程图对点云数据进行编码。
[0281]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的接收装置10004、点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置以及图17和图29的点云数据接收装置、或对应的点云数据发送/接收装置可以基于如图20中所示的流程图对点云数据进行解码。
[0282]
例如,根据点的分布,父节点2000可以具有最多8个孩子,并且特定孩子2001可以具有更多的孩子。在对应的点2002处,可以确定是否进一步执行八叉树拆分并执行预测编码或直接模式编码。
[0283]
当直接模式是合格的(2003)时,如果点的邻近节点(邻近点)的数目小于或等于阈值th,则可以启用直接模式。可以通过直接编码处理指示一个或更多个点中的每一个的位置值的x、y、z坐标信息。可以基于八叉树的子立方体来表示位置值。
[0284]
当邻近节点(邻近点)的数目大于阈值时,预测编码可以表现出比直接编码高的压缩效率,因此可以禁用直接模式并且可以进一步切分节点以生成八叉树。
[0285]
当直接模式不合格(2004)时,可以基于对应点将节点进一步切分成基于八叉树的子立方体。
[0286]
根据实施方式的基于八叉树的lod生成
[0287]
参照图9,根据实施方式的方法/装置可以基于通过lod生成而生成的lod来执行属性编码。lod是细节层次的缩写。每个lod被配置为使得点的密度随着lod的增加而增大。在这一点,基于与邻近点的距离来确定点是否被包括在lod k中。
[0288]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的发送装置10000的属性编码器、点云视频编码器10002、图2的编码、图4的编码器、图12的发送装置、图14的装置、图16的点云数据发送装置、图28的点云数据发送装置、或对应的点云数据发送/接收装置可以生成lod,根据lod层次将点分类,并基于lod来执行属性预测编码或提升编码。此外,它可以执行可缩放属性编码。
[0289]
可以由包括被配置为与点云数据发送装置中所包括的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件、或其组合实现的根据实施方式的图1的接收装置10004、点云视频解码器10006、图2的解码、图10和图11的解码器、图13的接收装置、图14的装置以及图17和图29的点云数据接收装置、或对应的点云数据发送/接收装置可以生成lod,根据lod层次将点分类,并基于lod来执行属性预测编码或提升解码。此外,它可以执行可缩放属性解码。
[0290]
图21例示了根据实施方式的可缩放属性编码的示例。
[0291]
如图16中所示的可缩放属性编码是基于分辨率根据基于八叉树的几何编码的深度而增大的事实。即,在应用通过增加八叉树的深度来构建父/子树结构的分割时,树的细节增加。可以通过将属性与每个深度处存在点的占用节点匹配来可缩放地表示点云数据。
[0292]
对于这种可缩放性,在可缩放属性编码中,可以执行基于八叉树的lod生成,并且可以根据单元节点而非距离来选择邻近点(属性)。在这种情况下,具有作为父亲的相同节点的孩子可以被定义为邻居,并且可以在邻居内选择一个属性并将其与父节点匹配。
[0293]
对于可缩放性,与特定深度的八叉树和/或特定层次的lod对应的点云数据可以被编码和/或解码。
[0294]
参照图21,例如,节点(点)2100可以存在于第i层次(深度)。节点2100可以包括三个节点(点)2101作为孩子。当存在父亲2100和孩子2101时,可以将孩子当中的特定孩子的属性与父亲的属性匹配。例如,可以将三个孩子当中按顺序的第一个孩子的属性设置为父亲的属性。其属性被用作上层节点属性的节点(点)可以被称为参考节点或保留节点。属于一个父亲的孩子最有可能具有与父亲的属性相似的属性。配置参考节点或保留节点的过程可以被称为采样或子采样。
[0295]
在图21中,着色的占用节点可以是参考节点。lod层次的范围可以是从根到叶,并且可以存在对应于特定深度并与八叉树对准的lod边界。基于由根据实施方式的几何编码器/解码器重构的几何数据,根据实施方式的属性编码器/解码器可以按照莫顿码顺序对点进行排序并根据lod将点按树结构表示。
[0296]
另外,基于点云数据的层级结构可缩放地输出中间层被称为可缩放表示。
[0297]
如图21中所示,可以基于其属性被选择为父节点属性的参考节点来执行可缩放表示。
[0298]
可以部分地处理表示几何数据的八叉树,并且可以基于可缩放表示对与几何数据对应的属性数据进行部分解码。
[0299]
对于点云数据的编码和解码,几何的层级结构和属性的层级结构必须彼此匹配。相应地,根据实施方式的方法/装置可以如下地在几何与属性之间进行节点比较。
[0300]
几何节点/属性节点之间的比较
[0301]
根据实施方式的压缩位置信息可以被划分为基于八叉树压缩的点和通过idcm压缩的点。然而,在可缩放属性编码中,在生成lod时不考虑idcm的情况下存在全八叉树的假定下执行子采样,因此在每个深度处节点的数目可能存在差异(参见图21至图24)。
[0302]
图22例示了根据实施方式的点云数据的层级结构。
[0303]
图22例示了根据实施方式的方法/装置使用idcm对位置(几何数据)进行压缩并且基于全八叉树对属性(属性数据)进行压缩的情况。
[0304]
该图将每个深度处针对几何的节点的数目与针对属性的节点的数目进行比较。每个深度处的节点对应于由实线定义的圆,并且虚线圆对应于应用idcm的节点。
[0305]
例如,在深度2中,可以看出,已在第一节点上执行idcm。
[0306]
每个深度处的节点的数目可以如图22中所示地被表示。示出了通过分割八叉树而生成的节点的数目和通过idcm生成的点的数目。即,在深度2处,可以存在两个占用节点以及通过idcm生成的两个点。然而,可以看出,同一深度处的lod节点的数目为三,这是因为在不考虑idcm的情况下在具有全八叉树的环境中基于该深度处的占用节点来执行子采样。从叶节点移位到根节点的同时对与父亲最相似的孩子进行子采样,并且其属性被视为父亲的属性。相应地,如果在基于全八叉树的子采样中不考虑idcm,则在深度和lod之间,节点(点)的数目可以不同。
[0307]
在图22中,当在不顾及应用idcm的节点的情况下基于全八叉树应用子采样时,在lod2处存在3个节点,在lod3处存在5个节点,并且在lod4处存在9个节点。
[0308]
在深度1处,占用节点的数目为2,直接编码节点的数目为0,并且lod1具有2个节点。相应地,几何节点与属性节点彼此对应。
[0309]
在深度2处,占用节点的数目为2,直接编码节点的数目为2,并且lod2具有3个节点。相应地,几何节点与属性节点之间存在差异。
[0310]
当针对第n深度的位置节点的集合被定义为geom(n)并且对应于第n深度的lod点的集合被定义为lod(n)时,集合可以被如下地定义。
[0311]
geom(n)={深度n处的占用节点} {深度n处的直接编码点}
[0312]
lod(n)={深度n处的占用节点}
[0313]
对于第n深度,位置节点的集合是深度n处的占用节点的数目与深度n处的直接编码点的数目之和。
[0314]
对应于第n深度的lod点的集合是深度n处的占用节点。
[0315]
当通过可缩放表示输出(解码)深度2处的位置和属性时,因为几何节点的数目为4而属性节点的数目为3,所以可以输出不带属性的一个点。在这种情况下,因为点具有位置(几何数据)和属性(属性数据)二者,所以数据表示可能差。
[0316]
另外,当存在三个匹配点时,它们可以匹配到与节点的实际位置不同的位置。例如,当在叶节点中存在九个点并且叶节点的属性被定义为a、b、c、d、e、f、g、h和i时,根据在可缩放属性编码中考虑的层(lod层次或深度)的位置-属性匹配如图23中所示地配置。
[0317]
图23示出了根据实施方式的属性数据的示例。
[0318]
为了对点云数据(例如,属性数据)进行编码,根据实施方式的方法/装置可以基于几何的lod和莫顿码将数据按树结构表示,并通过在从叶节点2300移动到根节点的同时选择与父亲最相近的孩子节点并选择父亲的属性值来执行可缩放子采样。
[0319]
当叶节点的属性为a、b、c、d、e、f、g、h和i时,因为每个父亲都有一个孩子,所以可以将a和b的父亲的属性采样为a和b。对于以c和d作为孩子的父亲,可以将作为相似属性的孩子的属性c采样为父亲的属性。类似地,可以对属性e和g进行采样。对于直至根节点的每个节点,可以将孩子的属性采样为孩子的父亲的属性。
[0320]
图24示出了根据实施方式的属性数据的示例。
[0321]
与图23相比,当在考虑idcm的情况下执行几何编码时,被解码节点的数目(在深度2处,4个)与lod节点的数目(在层次2处,3个)不同。在不考虑以上提到的差异的情况下节点的位置和属性匹配的情况下,如图24中所示,该位置不能与属性匹配(b、c和g与位置a、b和c匹配),或者可能出现位置与属性不匹配(2400)的情况。被解码节点(几何)的数目为4,但其lod(属性)的数目为3。相应地,3个属性值可能与错误的位置匹配。
[0322]
即,在可缩放表示中出现错误。在根据实施方式的示例中,假定在深度1处确定idcm,并且从深度2处开始发送直接编码节点。
[0323]
用于匹配位置树结构与属性lod结构的方法
[0324]
作为用于解决每个深度处位置信息与属性信息不匹配的问题的方法,根据实施方式的方法/装置提出了以下两种方法。这两种方法可以被选择性地执行,或者可以被组合地执行:(1)面向lod的几何树生成和(2)面向几何树的lod生成。
[0325]
可以基于针对属性假定的基于八叉树的层结构来提供可缩放性。当执行可缩放编码时,可以在考虑lod结构的情况下执行压缩。相比之下,可以基于位置结构来配置lod。在这种情况下,八叉树节点和idcm点在每个深度处构成可缩放层,并且可以相应地配置lod。
[0326]
面向lod的几何树生成
[0327]
在可缩放属性编码中使用的lod生成中,在配置全八叉树的假定下从孩子节点当中选择对应于上层的节点的属性。当在位置压缩中考虑这样的lod配置时,除了idcm之外,可以仅使用八叉树(或与其对应的树结构)。为此目的,可以通过添加以下约束将属性lod结构与位置树结构匹配。
[0328]
约束:当使用可缩放属性编码时,idcm不被用于位置压缩。
[0329]
图25例示了根据实施方式的几何树。
[0330]
图25例示了根据实施方式的基于约束来生成位置树结构的情况。即,可以生成与lod层结构相同的位置树结构。
[0331]
在每个深度处,位置节点和属性可以匹配,如图25中所示。可以看出,对于每个深度,位置和属性以一一对应的方式匹配。即,可以通过阻止如下所示的geom(n)中的直接编码点的集合的生成来匹配位置和属性。
[0332]
geom(n)={深度n处的占用节点}《 {深度n处的直接编码点},删除》
[0333]
lod(n)={深度n处的占用节点}
[0334]
面向几何树的lod生成
[0335]
根据实施方式的方法/装置可以基于位置树结构来生成lod。在这种情况下,可以考虑与lod生成方法相比之下在每个深度处添加idcm节点的方法。即,根据实施方式的方法/装置可以分别接收构成位置树结构的占用节点和直接编码节点,然后通过将占用节点与直接编码节点分离来生成lod。在下面示出的关系中,lod'(n)可以由位置树结构的第n深度处的根据idcm压缩的点以及第n深度处的不包括idcm的占用节点构成。
[0336]
geom(n)={深度n处的占用节点} {深度n处的直接编码点}
[0337]
lod’(n)={深度n处的占用节点} {深度n处的直接编码点}
[0338]
当深度n的占用节点的集合为occupancy(n)、使用诸如idcm这样的方法直接编码的节点的集合为occupancy_direct(n)并且通过树结构而非直接编码压缩的节点的集合为occupancy_tree(n)时,以下关系可以成立。
[0339]
occupancy(n)=occupancy_tree(n) occupancy_direct(n)
[0340]
另外,当执行直接编码时,点的集合可以被定义为direct,并且深度n处的直接编码点的集合direct_point_set(n)可以被如下地定义。
[0341]
当以点p作为后代的深度n的节点被定义为node(p,n)时,node(p,n)属于occuancy_direct(n),而不属于occuancy_tree(n)。这里,node(p,n)可以如下地获得(在下式中,《《和》》意指比特左移和比特右移)。
[0342]
node(p,n)的位置=(p的位置》》n)《《n)
[0343]
可以通过将点的位置移位来调整位置。
[0344]
作为采样单元的节点大小可以根据八叉树深度而变化,并且可以在考虑节点大小的情况下通过移位运算来确定节点(点)的位置。例如,节点(点)可以在八叉树深度之间移位。
[0345]
根据实施方式,移位运算可以如下地实现。
[0346]
node(p,n)的位置=(p的位置》》(n

n))《《(n

n)
[0347]
参照图26,可以通过将节点的位置移位到针对作为应用idcm的点的a和b的深度2至4来配置树的节点。
[0348]
基于以上关系,可以如下地生成lod'(n)。
[0349]
从n=n(最大深度)开始
[0350]
从最大深度n生成lod。
[0351]
1)基于可以通过occurancy_tree(n)生成的位置树结构来执行可缩放lod子采样。即,从属于occupancy_tree(n)的节点当中选择(采样)属于同一父亲的节点之一,并且生成occupancy_tree(n-1)。由于没有对节点应用直接编码,因此可缩放lod子采样是合格的。
[0352]
2)对于属于direct的点p,选择直接编码点的集合即属于occupancy_direct(n)的点并将其配置为direct_point_set(n)。
[0353]
例如,在图26中,由于存在两个idcm点,因此这两个点的集合属于occurancy_direct(n),并且direct_point_set(n)与这些点一起生成。
[0354]
3)如下所示地配置lod'(n)。
[0355]
lod’(n)=occupancy_tree(n) direct_point_set(n)
[0356]
例如,由于存在2个idcm点和2个lod,因此调整后的lod的值为4。
[0357]
在这种情况下,节点或点的顺序符合位置压缩顺序(解码顺序)。换句话说,当首先传送关于树结构的占用信息并接着在位置压缩中传送直接编码点信息时,即使在配置lod时,也可以在传送占用节点信息之后传送直接编码点信息。由此,位置和属性可以在可缩放表示中按顺序匹配。另选地,通过发信号通知关于传送顺序的信息,可以允许接收器根据正确的顺序来匹配点。
[0358]
4)针对在属于direct_point_set(n)的点当中的不属于occupancy_direct(n-1)
的点p,将node(p,n-1)包括在occupancy_tree(n-1)中,并设置n=n-1。
[0359]
例如,在图26中,在深度3(n=3)处,lod3层次具有a和b。在深度2和lod2层次处,a不属于在深度2(深度n-1)和lod2处的idcm集合。相应地,在深度2可以包括a。
[0360]
可以重复以上过程,直至到达根节点。
[0361]
根据该方法,在如图26中所示的树结构中,几何和属性可以匹配。
[0362]
图26例示了根据实施方式的可缩放表示。
[0363]
图26示出了当基于所提议的位置树结构来生成属性lod结构(即,在考虑idcm的情况下生成lod)时每个深度处的位置节点与属性之间的匹配结果。例如,在深度2处,可以通过生成包括通过idcm压缩的点a和b以及通过树结构压缩的点c和g的lod2以一一对应的方式进行位置和属性的匹配。即,通过在考虑在geom(n)中生成的直接编码点的集合以及通过如下公开的集合改变的位置树结构的情况下生成lod,可以在可缩放表示中以一一对应的方式进行位置和属性的匹配。
[0364]
可缩放表示
[0365]
为了使属性与点的位置匹配,根据实施方式的方法/装置可以如下地配置点的位置。
[0366]
1)对于可缩放表示,直接编码点可以表示实际点的位置。对于基于几何树的节点,可以使用与节点的代表性位置(例如,中心位置)匹配的属性来表示点。
[0367]
2)另选地,当将与深度n对应的节点node(p,n)的代表性位置用作直接编码点的位置值并且存在多个点时,每个属性可以与作为重复点的点匹配。
[0368]
3)另选地,当将与深度n对应的节点node(p,n)的代表性位置用作直接编码点的位置值并且存在多个点时,通过诸如求平均这样的方法将多个属性组合成一个代表性属性并进行匹配。
[0369]
根据实施方式的点云数据发送方法/装置(图4、图12或图14中的10000、10002或20001)可以对点云数据进行编码并生成包含点云数据和与点云数据相关的参数信息的比特流。
[0370]
与在编码操作中使用的根据实施方式的lod生成相关的信息可以被如下地包括在参数集和属性切片头中。
[0371]
根据实施方式,可以根据应用和系统在比特流中的对应位置或单独位置处进行定义,使得可以不同地使用应用范围和应用方法。
[0372]
根据实施方式的属性参数集和属性切片头可以包括编码相关信息。此外,信息可以被包括在比特流中的几何参数集和几何切片头中以便与几何编码方法关联或者应用于几何编码,或者可以被包括在序列参数集、图块参数集等中。
[0373]
另外,当图27的语法元素不仅适用于当前的点云数据流,而且适用于多个点云数据流时,根据实施方式的编码相关信息可以被携带在较高层参数集等中。
[0374]
根据实施方式的信令信息可以在基于预测的可缩放点云压缩发送装置/方法的压缩(编码)操作中生成,并且可以在基于预测的可缩放点云压缩接收装置/方法的解码操作中使用。
[0375]
根据实施方式的参数(可以被称为诸如元数据和信令信息这样的各种术语)可以在根据实施方式的发送器的处理中生成,并且可以被发送到根据实施方式的接收器,以在
重构点云数据的操作中使用。例如,根据实施方式的参数可以由根据实施方式的发送装置的元数据处理器(或元数据发生器)生成,并由根据实施方式的接收装置的元数据解析器获取。
[0376]
图27示出了根据实施方式的属性参数集。
[0377]
等于1的constrained_idcm_flag可以指示在生成树结构时存在约束。这里,约束可以是可缩放属性编码的条件,并且可以指示idcm不被用于几何编码。等于1的该标志可以被用于指示接收器可以使用基于几何树的lod生成。等于0的constrained_idcm_flag可以被用于指示接收器应该在考虑直接编码点的情况下执行lod生成。根据实施方式,该标志可以被称为约束标志等。
[0378]
例如,在如图25所示在没有idcm的情况下基于与lod层结构对应的几何树来执行可缩放属性编码时,根据实施方式的方法/装置可以通过标志告知接收器是否执行编码。
[0379]
等于1的direct_coded_point_considered_lod_generation_enable_flag可以指示使用考虑了位置压缩中使用的直接编码的lod生成。等于0的该标志可以指示在不考虑直接编码的情况下仅使用几何树结构来使用lod生成。
[0380]
等于1的occupied_node_first_flag可以指示首先传送与基于树的占用节点匹配的属性信息。等于0的该标志可以指示首先发送与直接编码点相关的信息。
[0381]
等于1的direct_coded_point_considered_lod_generation_enable_flag可以指示通过生成基于idcm的lod来执行可缩放属性编码的情况。当该标志为1时,根据实施方式的点云数据接收方法/装置可以检查基于第一标志接收到的信息是与lod节点还是应用idcm的点匹配的属性数据,检查几何节点与属性节点之间的对应/匹配关系,并准确地重构对应于位置的属性。
[0382]
当direct_coded_point_considered_lod_generation_enable_flag为0时,可以针对几何树与lod匹配的深度(层次)来执行可缩放属性编码。
[0383]
num_scalable_levels:可以指示当即使在位置压缩中使用直接编码时也不考虑lod生成时可缩放表示可行的层次的数目。num_scalable_levels可以指示几何深度与lod匹配的层次的数目。
[0384]
matched_depth_index:可以指示几何节点(包括idcm点)的数目等于属于lod的属性的数目的深度。根据实施方式,可以存在或可以不存在几何节点与用于多个可缩放层次的属性节点匹配的层次(深度)。
[0385]
图28例示了根据实施方式的点云数据的属性编码。
[0386]
图28例示了包括在图1的点云视频编码器10002中或与其对应的点云数据发送装置或属性编码器、图2的编码20001、图4的编码器、图12的发送装置、图14的xr装置1730,被配置为执行图15至图26的操作的处理器、被配置为生成图27的比特流的处理器、被配置为执行图30的操作的处理器等。图28中的每个部件可以由包括被配置为与一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。
[0387]
lod生成器2800可以接收属性数据。为了对属性数据进行编码,可以接收关于几何树结构和/或直接编码节点的信息。生成器2800可以生成具有层的lod树结构。
[0388]
预测和残差估计器2801可以基于lod来生成针对当前点的预测,并生成当前点的属性值与预测属性值之间的残差。
[0389]
属性变换器2802可以基于压缩域对残差应用变换。
[0390]
量化器2803可以对属性数据进行量化。可以基于量化参数对属性数据进行量化。
[0391]
根据实施方式的点云数据发送装置可以对属性数据进行熵编码。
[0392]
根据实施方式的lod生成器2800可以基于几何树结构和直接编码点来执行lod生成,并可以在lod生成中执行子采样,使得在考虑几何树结构和直接编码点的情况下以一一对应的方式进行位置和属性的匹配。
[0393]
通过基于树的子采样,根据实施方式的方法/装置可以执行可缩放编码。点云数据可以被可缩放地编码和重构。
[0394]
在这种情况下,发送信息的顺序可以通过occupied_node_first_flag发送,以便准确地进行位置和属性的匹配。在不考虑几何结构的情况下生成lod的情况下,关于位置和属性匹配的深度的信息可以通过与用于可缩放表示的num_scalable_levels匹配的matched_depth来生成和传送。
[0395]
图29例示了根据实施方式的点云数据的属性解码。
[0396]
图29示出了对应于图28的接收方结构。
[0397]
图29可以表示对应于图1的点云视频解码器10006、图2的解码20003、图10和图11的解码器、图13的接收装置、图14的xr装置1730、根据图15至图26的点云数据的重构、图27的参数信息的使用、图28的逆处理等的处理器。图29中的每个部件可以由包括被配置为与一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。
[0398]
反量化器2900可以从发送装置接收编码后的属性比特流。可以通过在接收方执行与量化器对应的反量化来重构属性数据。
[0399]
逆变换器2901可以通过接收方的逆变换来重构属性数据。
[0400]
lod生成器2902可以生成用于属性解码的lod。可以以与发送方的操作类似的方式生成lod。lod生成器可以基于几何树结构和/或直接编码节点来生成lod。
[0401]
属性重构器2903可以基于lod来重构属性数据。
[0402]
接收方以与发送方的操作相反的顺序重构信号。在对接收到的比特流进行熵解码之后,执行反量化和逆变换,并且执行属性重构。在该操作中,以基于几何树结构生成的lod信息为基础来重构属性。
[0403]
接收器可以使用比特流中所包含的信令信息。可以基于constrained_idcm_flag使用不同的lod生成。当constrained_idcm_flag为1时,接收器可以识别到没有使用直接编码模式,并可以执行基于几何树的lod生成,并且所有深度都是合格的可缩放表示。
[0404]
当比特流中所包含的constrained_qtbt_flag为0(即,没有使用树结构qt和bt)时,可能出现两种情况。当direct_coded_point_considered_lod_generation_enable_flag为1时,可以在考虑几何树和直接编码点的情况下执行lod生成。即,当执行lod生成时,根据几何树的子采样节点和直接编码点可以被包括在lod中。
[0405]
当direct_coded_point_considered_lod_generation_enable_flag为0时,可以不考虑直接编码点。替代地,对于可缩放表示而言合格的深度可以通过matched_depth_index来识别,并可以被用于可缩放表示。
[0406]
图30例示了根据实施方式的lod生成。
[0407]
图30是例示了图29和/或图30的lod生成的流程图。
[0408]
3000:开始lod生成。对于lod生成,可以提供点云数据(几何数据和属性数据)、几何结构信息(树)和深度信息(n)。
[0409]
3001,确定在执行lod生成时是否考虑idcm。当不考虑idcm时,在深度n处执行基于八叉树的子采样(3002)。由于没有idcm点,因此几何八叉树和lod层可以彼此匹配,以执行可缩放子采样lod生成。可以生成具有层(层次)n的lod(3005)。当从叶节点(n)到根节点(深度0)地生成所有lod时,操作结束。
[0410]
3003:当在执行lod生成时考虑idcm时,确定是否存在idcm点信息。当不存在idcm点信息时,在深度n处执行基于八叉树的子采样。
[0411]
3004:当存在idcm点信息时,通过获取直接编码点在深度n处生成lod(3005)。
[0412]
根据实施方式的方法/装置可以在考虑几何树和直接编码的情况下基于用于lod生成的流程图对点云数据进行编码和解码。图30假定constrained_idcm_flag=0。当constrained_idcm_flag=1时,可以使用现有的lod生成。
[0413]
当constrained_idcm_flag=0并且direct_coded_point_considered_lod_generation_enable_flag为1时,可以使用几何树和直接编码的lod生成考虑。
[0414]
当可以配置应用了idcm的点(即,直接编码点、direct_point_set(n)、直接编码点当中的对应于当前深度的点的集合)时,可以基于几何树结构来获得占用节点的集合occupancy_tree(n),以配置lod(n)。例如,lod可以被配置为occupancy(n)=occupancy_tree(n) occupancy_direct(n)。
[0415]
图31例示了根据实施方式的点云数据发送方法。
[0416]
3100:根据实施方式的发送点云数据的方法可以包括对点云数据进行编码。根据实施方式的编码操作可以对应于或包括图1的点云视频编码器10002、图2的编码20001、图4的编码器、图12的发送装置、图14的xr装置1730、图15至图26的点云数据的编码、图27的包含参数信息的比特流的生成、图28的属性编码和图30的lod生成的操作。
[0417]
3101:根据实施方式的用于发送点云数据的方法还可以包括发送包含点云数据的比特流。发送操作可以对应于或包括图1的发送器10003的操作、图2的发送20002、图4的比特流的生成和发送以及图12的包含点云数据的比特流的发送。
[0418]
图32例示了根据实施方式的点云数据接收方法。
[0419]
3200:根据实施方式的接收点云数据的方法可以包括接收包含点云数据的比特流。接收操作可以对应于或包括图1的接收器10005、图2的发送-接收20002、包含图10和图11的几何数据和属性数据的比特流的接收、包含图13的点云数据的比特流的接收以及包含图27的参数信息的比特流的接收的操作。
[0420]
3201:根据实施方式的点云数据接收方法还可以包括对点云数据进行解码。解码操作可以对应于或包括图1的点云视频解码器10006、图2的解码20003、图10和图11的解码器、图13的接收装置、图14的xr装置1730、图25和图26的点云数据的解码、图29的属性解码以及图30的lod生成的操作。
[0421]
根据实施方式的发送点云数据的方法可以包括:对点云数据进行编码;以及发送包含点云数据的比特流(参见图1等)。
[0422]
根据实施方式的点云数据的编码可以包括对点云数据的几何数据进行编码以及
对点云数据的属性数据进行编码。属性数据的编码可以包括生成细节层次(lod)(参见图28等)。
[0423]
在根据实施方式的lod的生成中,基于不存在应用直接编码模式的点云数据,可以基于用于点云数据的八叉树来生成lod(参见图28至图30等)。
[0424]
基于存在应用直接编码模式的点云数据(例如,constrained_idcm_flag=1),根据实施方式的lod的生成可以基于关于lod的深度的应用直接编码模式的点云数据的信息来生成lod的深度的节点(参见图28至图30等)。
[0425]
基于存在应用直接编码模式的点云数据(例如,constrained_idcm_flag=0),根据实施方式的lod的生成可以包括在没有关于lod的深度的应用直接编码模式的点云数据的信息的情况下,将几何数据的节点与属性数据的节点匹配。在这一点上,可以针对每个num_scalablel_level生成matched_depth_index。
[0426]
根据实施方式的比特流可以包含与点云数据相关的参数信息(参见图27等)。
[0427]
根据实施方式的接收点云数据的方法可以包括:接收包含点云数据的比特流;以及解码点云数据(参见图1等)。
[0428]
根据实施方式的点云数据的解码可以包括对点云数据的几何数据进行解码以及对点云数据的属性数据进行解码(参见图28等)。
[0429]
根据实施方式的属性数据的解码可以包括生成点云数据的细节层次(lod)(参见图28和图30等)。
[0430]
基于不存在应用直接编码模式的点云数据(例如,constrained_idcm_flag=1),根据实施方式的lod的生成可以包括基于用于点云数据的八叉树来生成lod(参见图28和图30等)。
[0431]
基于存在应用直接编码模式的点云数据(例如,constrained_idcm_flag=0),根据实施方式的lod的生成可以包括基于关于lod的深度的应用直接编码模式的点云数据的信息来生成lod的深度的节点(参见图28和图30等)。
[0432]
基于存在应用直接编码模式的点云数据,根据实施方式的lod的生成可以包括在没有关于应用直接编码模式的点云数据的信息的情况下,将几何数据的节点与属性数据的节点匹配(例如,constrained_idcm_flag=0&matched_depth_index)。matched_depth_index可以指示针对每个层次的匹配的索引。
[0433]
根据实施方式的比特流可以包含与点云数据相关的参数信息(参见图27等)。
[0434]
在完成位置信息编码之后执行根据实施方式的属性压缩,并且独立于用于位置压缩的树结构来执行属性编码。在这种情况下,当针对位置信息而跳过一些编码树层次时,应该基于部分位置信息来执行属性编码。然而,根据实施方式的方法/装置可以通过基于整个编码树层次执行压缩来解决重构的部分位置点与重构的全部属性点之间的不匹配问题。
[0435]
作为考虑用于位置压缩的直接编码点的可缩放属性编码方法,根据实施方式的方法/装置可以提供1)考虑位置树结构的lod生成方法和/或2)考虑当使用位置的直接编码时位置节点的数目根据层的变化的属性编码方法以及3)针对可缩放属性编码的约束和信令。
[0436]
根据实施方式的方法/装置可以通过对部分几何编码中的所有点进行属性匹配来快速、准确和高效地对点云数据进行高效的编码和解码。
[0437]
根据实施方式的方法/装置可以基于根据实施方式的几何树和基于直接编码点的
lod生成来准确且快速地执行点云数据的属性编码。
[0438]
另外,当在可缩放编码领域中执行基于idcm的几何编码时,可以通过根据几何树的深度将属性信息与点/节点以一一对应的方式进行匹配来针对所有深度或一些匹配深度实现可缩放表示。
[0439]
由于根据实施方式的发送/接收装置在考虑根据实施方式的直接编码点的情况下执行可缩放属性编码,因此可以准确地执行可缩放点云表示。
[0440]
已经从方法和/或装置的角度描述了实施方式,并且可以应用对方法和装置的描述以互为补充。
[0441]
尽管为了简单起见已经单独描述了附图,但可以通过合并各个图中例示的实施方式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或部分实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在所附权利要求中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改不应被独立于实施方式的技术思路或角度来理解。
[0442]
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂态crm或被配置为由一个或更多个处理器执行的其它计算机程序产品中,或可以被存储在暂态crm或被配置为将由一个或更多个处理器执行的其它计算机程序产品中。另外,根据实施方式的存储器可以被用作不仅涵盖易失性存储器(例如,ram)而且涵盖非易失性存储器、闪速存储器和prom的概念。另外,它还可以按诸如通过互联网发送这样的载波形式实现。另外,处理器可读记录介质可以分布于通过网络连接的计算机系统,使得处理器可读代码可以以分布方式来存储和执行。
[0443]
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“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二者。换句话说,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
[0444]
可以使用诸如第一和第二这样的术语来描述实施方式的各种元件。然而,根据实施方式的各种部件不应该受以上术语限制。这些术语只是用于将一个元件与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号二者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。
[0445]
用于描述实施方式的术语是出于描述特定实施方式的目的使用的,并且不旨在限制实施方式。如对实施方式的描述和权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”这样的术语旨在指示图、数字、步骤、元件和/或部件的存在,并且应当被理解为不排除图、数字、步骤、元件和/或部件的额外存在的可能性。如本文中使用的,诸如“如果”和“当
……
时”这样的条件表述不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。
[0446]
根据本说明书中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于处理/控制根据实施方式的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以被称为控制器等。在实施方式中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以被存储在处理器或存储器中。
[0447]
根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置执行。发送/接收装置包括被配置为发送和接收媒体数据的发送器/接收器、被配置为存储根据实施方式的处理的指令(程序代码、算法、流程图和/或数据)的存储器以及被配置为控制发送/接收装置的操作的处理器。
[0448]
处理器可以被称为控制器等,并可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施方式的操作的编码器/解码器。
[0449]
本发明的模式
[0450]
如上所述,已经以执行实施方式的最佳模式描述了相关内容。
[0451]
工业实用性
[0452]
如上所述,实施方式可以完全或部分应用于点云数据发送/接收装置和系统。
[0453]
本领域的技术人员将清楚,可以在实施方式的范围内对实施方式进行各种改变或修改。
[0454]
因此,实施方式旨在涵盖本公开的修改和变型,前提是它们落入所附权利要求及其等同物的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献