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

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

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

,n排序的顶点形成的三角形
[0122]
n三角形
[0123]
3(1,2,3)
[0124]
4(1,2,3),(3,4,1)
[0125]
5(1,2,3),(3,4,5),(5,1,3)
[0126]
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
[0127]
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
[0128]
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
[0129]
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
[0130]
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)
[0131]
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)
[0132]
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)
[0133]
执行上采样过程以沿着三角形的边在中间添加点,并且执行体像素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可以将细化顶点体像素化。另外,点云编码器可以基于体像素化的位置(或位置值)来执行属性编码。
[0134]
图7示出根据实施方式的邻居节点图案的示例。
[0135]
为了增加点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适应算术编码来执行熵编码。
[0136]
如参照图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可立即对占用代码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用代码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用代码执行熵编码(帧间编码)。根据实施方式的帧表示同时生成的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可依赖于
所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可偏向一侧,这可增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编码。为编码划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
[0137]
图7示出基于邻居节点的占用来获得占用图案的过程。根据实施方式的点云编码器确定八叉树的各个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案用于推断节点的占用图案。图7的左部示出与节点对应的立方体(位于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指派权重。
[0138]
图7的右部示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示所有邻居节点均是占用节点。如图所示,由于指派有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15(1、2、4和8之和)。点云编码器可根据邻居节点图案值执行编码(例如,当邻居节点图案值为63时,可执行64种类型的编码)。根据实施方式,点云编码器可以通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来降低编码复杂度。
[0139]
图8示出根据实施方式的各个lod中的点配置的示例。
[0140]
如参照图1至图7描述的,在执行属性编码之前将编码的几何重构(解压缩)。当应用直接编码时,几何重构操作可以包括改变直接编码的点的放置(例如,将直接编码的点放置在点云数据前面)。当应用trisoup几何编码时,通过三角形重构、上采样和体像素化来执行几何重构过程。由于属性依赖于几何,所以基于重构的几何来执行属性编码。
[0141]
点云编码器(例如,lod生成器40009)可按lod对点进行分类(重新组织)。图中示出与lod对应的点云内容。图中最左侧画面表示原始点云内容。图中左起第二个画面表示最低lod中的点分布,图中最右侧画面表示最高lod中的点分布。即,最低lod中的点稀疏分布,最高lod中的点密集分布。即,随着lod在图底部所指示的箭头所指的方向上升高,点之间的空间(或距离)变窄。
[0142]
图9示出根据实施方式的用于各个lod的点配置的示例。
[0143]
如参照图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或lod生成器40009)可生成lod。通过根据设定的lod距离值(或欧几里得距离集合)将点重新组织为细化级别的集合来生成lod。lod生成过程不仅由点云编码器执行,而且由点云解码器执行。
[0144]
图9的上部示出分布在3d空间中的点云内容的点的示例(p0至p9)。在图9中,原始顺序表示在lod生成之前点p0至p9的顺序。在图9中,基于lod的顺序表示根据lod生成的点的顺序。点按lod重新组织。另外,高lod包括属于较低lod的点。如图9所示,lod 0包括p0、p5、p4和p2。lod1包括lod 0的点、p1、p6和p3。lod2包括lod 0的点、lod1的点、p9、p8和p7。
[0145]
如参照图4所描述的,根据实施方式的点云编码器可选择性地或组合地执行预测变换编码、提升变换编码和raht变换编码。
[0146]
根据实施方式的点云编码器可为点生成预测器以执行用于设定各个点的预测属性(或预测属性值)的预测变换编码。即,可为n个点生成n个预测器。根据实施方式的预测器
可以基于各个点的lod值、关于存在于各个lod的设定距离内的相邻点的索引信息以及到相邻点的距离来计算权重(=1/距离)。
[0147]
根据实施方式的预测属性(或属性值)被设定为通过将各个点的预测器中设定的相邻点的属性(或属性值)(例如,颜色、反射率等)乘以基于到各个相邻点的距离计算的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可量化和逆量化通过从各个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
[0148]
表.属性预测残差量化伪代码
[0149][0150]
表.属性预测残差逆量化伪代码
[0151][0152]
当各个点的预测器具有相邻点时,根据实施方式的点云编码器(例如,算术编码器40012)可如上所述对量化和逆量化的残差值执行熵编码。当各个点的预测器没有相邻点时,根据实施方式的点云编码器(例如,算术编码器40012)可对对应点的属性执行熵编码,而不执行上述操作。
[0153]
根据实施方式的点云编码器(例如,提升变换器40010)可生成各个点的预测器,设定计算的lod并在预测器中注册相邻点,并且根据到相邻点的距离来设定权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于,对属性值累积地应用权重。根据实施方式对属性值累积地应用权重的过程配置如下。
[0154]
1)创建用于存储各个点的权重值的阵列量化权重(qw)。qw的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
[0155]
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0156]
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
[0157]
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的qw中的权重而计算的权重与updateweight阵列累加,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值与update阵列累加。
[0158]
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
[0159]
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在qw中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行熵编码。
[0160]
根据实施方式的点云编码器(例如,raht变换器40008)可执行raht变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。raht变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体像素开始扫描整个区域并且在各个步重复将体像素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
[0161]
下式表示raht变换矩阵。在该式中,表示级别l的体像素的平均属性值。可以基于和来计算。和的权重为和
[0162][0163]
这里,是低通值并且在次高级别的合并过程中使用。表示高通系数。各个步的高通系数被量化并经受熵编码(例如,由算术编码器400012编码)。权重被计算为通过和创建根节点如下。
[0164][0165]
图10示出根据实施方式的点云解码器。
[0166]
图10所示的点云解码器是图1中描述的点云视频解码器10006的示例,并且可执行与图1所示的点云视频解码器10006的操作相同或相似的操作。如图所示,点云解码器可接收包括在一个或更多个比特流中的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码并输出解码的几何。属性解码器基于解码的几何和属性比特流执行属性解码,并且输出解码的属性。解码的几何和解码的属性用于重构点云内容(解码的点云)。
[0167]
图11示出根据实施方式的点云解码器。
[0168]
图11所示的点云解码器是图10所示的点云解码器的示例,并且可执行解码操作,其是图1至图9所示的点云编码器的编码操作的逆处理。
[0169]
如参照图1和图10所描述的,点云解码器可执行几何解码和属性解码。几何解码在属性解码之前执行。
[0170]
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化器(逆量化)11006、raht变换器11007、lod生成器(生成lod)11008、逆提升器(逆提升)11009和/或颜色逆变换器(逆变换颜色)11010。
[0171]
算术解码器11000、八叉树合成器11001、表面近似合成器11002、几何重构器11003和坐标逆变换器11004可执行几何解码。根据实施方式的几何解码可以包括直接编码和trisoup几何解码。直接编码和trisoup几何解码选择性地应用。几何解码不限于上述示例,并且作为参照图1至图9描述的几何编码的逆处理执行。
[0172]
根据实施方式的算术解码器11000基于算术编码将所接收的几何比特流解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
[0173]
根据实施方式的八叉树合成器11001可以通过从解码的几何比特流获取占用代码(或关于作为解码结果取得的几何的信息)来生成八叉树。占用代码如参照图1至图9详细描述那样配置。
[0174]
当应用trisoup几何编码时,根据实施方式的表面近似合成器11002可以基于解码的几何和/或生成的八叉树来合成表面。
[0175]
根据实施方式的几何重构器11003可以基于表面和/或解码的几何重新生成几何。如参照图1至图9所描述的,选择性地应用直接编码和trisoup几何编码。因此,几何重构器11003直接导入关于应用了直接编码的点的位置信息并将其相加。当应用trisoup几何编码时,几何重构器11003可以通过执行几何重构器40005的重构操作(例如,三角形重构、上采样和体像素化)来重构几何。细节与参照图6描述的那些相同,因此省略其描述。重构的几何可以包括不包括属性的点云画面或帧。
[0176]
根据实施方式的坐标逆变换器11004可以通过基于重构的几何变换坐标来获取点位置。
[0177]
算术解码器11005、逆量化器11006、raht变换器11007、lod生成器11008、逆提升器11009和/或颜色逆变换器11010可执行参照图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(raht)解码、基于插值的分层最近邻居预测(预测变换)解码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)解码。上述三个解码方案可选择性地使用,或者可使用一个或更多个解码方案的组合。根据实施方式的属性解码不限于上述示例。
[0178]
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
[0179]
根据实施方式的逆量化器11006逆量化关于解码的属性比特流或作为解码结果取得的属性的信息,并且输出逆量化的属性(或属性值)。可以基于点云编码器的属性编码选择性地应用逆量化。
[0180]
根据实施方式,raht变换器11007、lod生成器11008和/或逆提升器11009可处理重构的几何和逆量化的属性。如上所述,raht变换器11007、lod生成器11008和/或逆提升器11009可选择性地执行与点云编码器的编码对应的解码操作。
[0181]
根据实施方式的颜色逆变换器11010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。可以基于点云编码器的颜色变换器40006的操作选择性地执行颜色逆变换器11010的操作。
[0182]
尽管图中未示出,图11的点云解码器的元件可由包括被配置成与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可操作或执行用于执行图11的点云解码器的元件的操作和/或功能的软件程序和/或指令集合。
[0183]
图12示出根据实施方式的发送装置。
[0184]
图12所示的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12所示的发送装置可执行与参照图1至图9描述的点云编码器的那些相同或相似的一个或更多个操作和方法。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体像素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010、算术编码器12011和/或传输处理器12012。
[0185]
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可执行与点云视频获取器10001的操作和/或获取方法(或参照图2描述的获取过程20000)相同或相似的操作和/或获取方法。
[0186]
数据输入单元12000、量化处理器12001、体像素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参照图1至图9描述的几何编码相同或相似,因此省略其详细描述。
[0187]
根据实施方式的量化处理器12001对几何(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参照图4描述的量化器40001的操作和/或量化相同或相似。细节与参照图1至图9描述的那些相同。
[0188]
根据实施方式的体像素化处理器12002将点的量化的位置值体像素化。体像素化处理器120002可执行与参照图4描述的量化器40001的操作和/或体像素化过程相同或相似的操作和/或过程。细节与参照图1至图9描述的那些相同。
[0189]
根据实施方式的八叉树占用代码生成器12003基于八叉树结构对点的体像素化的位置执行八叉树编码。八叉树占用代码生成器12003可生成占用代码。八叉树占用代码生成器12003可执行与参照图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
[0190]
根据实施方式的表面模型处理器12004可以基于表面模型执行trisoup几何编码以基于体像素重构特定区域(或节点)中的点位置。表面模型处理器12004可执行与参照图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
[0191]
根据实施方式的帧内/帧间编码处理器12005可对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可执行与参照图7描述的帧内/帧间编码相同或相似的编码。细
节与参照图7描述的那些相同。根据实施方式,帧内/帧间编码处理器12005可以包括在算术编码器12006中。
[0192]
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或相似的操作和/或方法。
[0193]
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供给诸如几何编码和/或属性编码的必要处理过程。另外,根据实施方式的元数据处理器12007可生成和/或处理与几何编码和/或属性编码相关的信令信息。根据实施方式的信令信息可与几何编码和/或属性编码分开编码。根据实施方式的信令信息可被交织。
[0194]
颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参照图1至图9描述的属性编码相同或相似,因此省略其详细描述。
[0195]
根据实施方式的颜色变换处理器12008执行颜色变换编码以变换包括在属性中的颜色值。颜色变换处理器12008可以基于重构的几何来执行颜色变换编码。重构的几何与参照图1至图9描述的相同。另外,其执行与参照图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
[0196]
根据实施方式的属性变换处理器12009执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。属性变换处理器12009执行与参照图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施方式的预测/提升/raht变换处理器12010可以通过raht编码、预测变换编码和提升变换编码中的任一种或组合对变换的属性进行编码。预测/提升/raht变换处理器12010执行与参照图4描述的raht变换器40008、lod生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编码、提升变换编码和raht变换编码与参照图1至图9描述的那些相同,因此省略其详细描述。
[0197]
根据实施方式的算术编码器12011可以基于算术编码对编码的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
[0198]
根据实施方式的传输处理器12012可发送包括编码的几何和/或编码的属性和元数据信息的各个比特流,或者发送配置有编码的几何和/或编码的属性和元数据信息的一个比特流。当根据实施方式的编码的几何和/或编码的属性和元数据信息被配置成一个比特流时,比特流可以包括一个或更多个子比特流。根据实施方式的比特流可包括信令信息和切片数据,信令信息包括用于序列级别信令的序列参数集(sps)、用于几何信息编码信令的几何参数集(gps)、用于属性信息编码信令的属性参数集(aps)和用于拼块级别信令的拼块参数集(tps)。切片数据可以包括关于一个或更多个切片的信息。根据实施方式的一个切片可以包括一个几何比特流geom00以及一个或更多个属性比特流attr00和attr10。
[0199]
切片是指表示全部或部分编码点云帧的一系列语法元素。
[0200]
根据实施方式的tps可以包括关于一个或更多个拼块中的各个拼块的信息(例如,关于边界框的坐标信息和高度/大小信息)。几何比特流可包括头和有效载荷。根据实施方式的几何比特流的头可包括gps中所包括的参数集标识符(geom_parameter_set_id)、拼块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于包括在有效载荷中的数据
的信息。如上所述,根据实施方式的元数据处理器12007可生成和/或处理信令信息并将其发送到传输处理器12012。根据实施方式,执行几何编码的元件和执行属性编码的元件可如虚线所指示彼此共享数据/信息。根据实施方式的传输处理器12012可执行与发送器10003的操作和/或发送方法相同或相似的操作和/或发送方法。细节与参照图1和图2描述的那些相同,因此省略其描述。
[0201]
图13示出根据实施方式的接收装置。
[0202]
图13所示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13所示的接收装置可执行与参照图1至图11描述的点云解码器的那些相同或相似的一个或更多个操作和方法。
[0203]
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体像素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的各个解码元件可执行根据实施方式的对应编码元件的操作的逆处理。
[0204]
根据实施方式的接收器13000接收点云数据。接收器13000可执行与图1的接收器10005的操作和/或接收方法相同或相似的操作和/或接收方法。省略其详细描述。
[0205]
根据实施方式的接收处理器13001可从所接收的数据获取几何比特流和/或属性比特流。接收处理器13001可以包括在接收器13000中。
[0206]
算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可执行几何解码。根据实施方式的几何解码与参照图1至图10描述的几何解码相同或相似,因此省略其详细描述。
[0207]
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或相似的操作和/或编码。
[0208]
根据实施方式的基于占用代码的八叉树重构处理器13003可以通过从解码的几何比特流(或关于作为解码结果取得的几何的信息)获取占用代码来重构八叉树。基于占用代码的八叉树重构处理器13003执行与八叉树的合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用trisoup几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行trisoup几何解码和相关几何重构(例如,三角形重构、上采样、体像素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或相似的操作。
[0209]
根据实施方式的逆量化处理器13005可逆量化解码的几何。
[0210]
根据实施方式的元数据解析器13006可解析包括在所接收的点云数据中的元数据(例如,设定值)。元数据解析器13006可以将元数据传递给几何解码和/或属性解码。元数据与参照图12描述的元数据相同,因此省略其详细描述。
[0211]
算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参照图1至图10描述的属性解码相同或相似,因此省略其详细描述。
[0212]
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术
解码器11005的操作和/或编码相同或相似的操作和/或编码。
[0213]
根据实施方式的逆量化处理器13008可逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
[0214]
根据实施方式的预测/提升/raht逆变换器13009可处理重构的几何和逆量化的属性。预测/提升/raht逆变换处理器13009执行与raht变换器11007、lod生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施方式的颜色逆变换处理器13010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或相似的操作和/或逆变换编码。根据实施方式的渲染器13011可渲染点云数据。
[0215]
图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
[0216]
图14的结构表示服务器1460、机器人1410、自主驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或头戴式显示器(hmd)1470中的至少一个连接到云网络1400的配置。机器人1410、自主驾驶车辆1420、xr装置1430、智能电话1440或家用电器1450被称为装置。此外,xr装置1430可以对应于根据实施方式的点云数据(pcc)装置或者可操作上连接到pcc装置。
[0217]
云网络1400可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可使用3g网络、4g或长期演进(lte)网络或5g网络来配置。
[0218]
服务器1460可经由云网络1400连接到机器人1410、自主驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或hmd 1470中的至少一个,并且可辅助连接的装置1410至1470的至少一部分处理。
[0219]
hmd 1470表示根据实施方式的xr装置和/或pcc装置的实现类型之一。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0220]
以下,将描述应用了上述技术的装置1410至1450的各种实施方式。图14所示的装置1410至1450可操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
[0221]
《pcc xr》
[0222]
xr/pcc装置1430可采用pcc技术和/或xr(ar vr)技术,并且可被实现为hmd、设置在车辆中的平视显示器(hud)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
[0223]
xr/pcc装置1430可分析通过各种传感器或从外部装置获取的3d点云数据或图像数据并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置1430可获取关于周围空间或真实对象的信息,并且渲染和输出xr对象。例如,xr/pcc装置1430可使包括关于所识别的对象的辅助信息的xr对象与所识别的对象匹配并输出匹配的xr对象。
[0224]
《pcc xr 移动电话》
[0225]
xr/pcc装置1430可以通过应用pcc技术实现为移动电话1440。
[0226]
移动电话1440可以基于pcc技术解码和显示点云内容。
[0227]
《pcc 自主驾驶 xr》
[0228]
自主驾驶车辆1420可以通过应用pcc技术和xr技术被实现为移动机器人、车辆、无人驾驶飞行器等。
[0229]
应用了xr/pcc技术的自主驾驶车辆1420可表示设置有用于提供xr图像的手段的自主驾驶车辆,或者作为xr图像中的控制/交互目标的自主驾驶车辆。具体地,作为xr图像中的控制/交互目标,自主驾驶车辆1420可与xr装置1430相区分并且可操作上与之连接。
[0230]
具有用于提供xr/pcc图像的手段的自主驾驶车辆1420可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的xr/pcc图像。例如,自主驾驶车辆1420可具有hud并向其输出xr/pcc图像,从而向乘客提供与真实对象或呈现在画面上的对象对应的xr/pcc对象。
[0231]
当xr/pcc对象被输出到hud时,可输出xr/pcc对象的至少一部分以与乘客的眼睛所指向的真实对象交叠。另一方面,当xr/pcc对象输出在设置在自主驾驶车辆内的显示器上时,可输出xr/pcc对象的至少一部分以与画面上的对象交叠。例如,自主驾驶车辆1220可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的xr/pcc对象。
[0232]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0233]
换言之,vr技术是仅提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上显示虚拟创建的cg图像的技术。mr技术与上述ar技术的相似之处在于,要显示的虚拟对象与真实世界混合和组合。然而,mr技术与ar技术的不同之处在于,ar技术在真实对象和作为cg图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象当作具有与真实对象等同的特性的对象。更具体地,mr技术应用的示例是全息服务。
[0234]
最近,vr、ar和mr技术通常被称为扩展显示(xr)技术,而非彼此明确区分。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc和g-pcc技术的编码/解码适用于这种技术。
[0235]
根据实施方式的pcc方法/装置可被应用于提供自主驾驶服务的车辆。
[0236]
提供自主驾驶服务的车辆连接到pcc装置以进行有线/无线通信。
[0237]
当根据实施方式的点云数据(pcc)发送/接收装置连接到车辆以进行有线/无线通信时,装置可接收/处理与ar/vr/pcc服务(可与自主驾驶服务一起提供)相关的内容数据,并将其发送到车辆。在pcc发送/接收装置安装在车辆上的情况下,pcc发送/接收装置可根据通过用户接口装置输入的用户输入信号接收/处理与ar/vr/pcc服务相关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可以包括指示自主驾驶服务的信号。
[0238]
根据实施方式的点云数据发送方法/装置可以被解释为指代图1的发送装置10000、图1的点云视频编码器10002、图1的发送器10003、图2的获取20000/编码20001/发送20002、图4的编码器、图12的发送装置、图14的装置、图20和图22的编码处理等的术语。
[0239]
根据实施方式的点云数据接收方法/装置可以被解释为指代图1的接收装置10004、图1的接收器10005、图1的点云视频解码器10006、图2的发送20002/解码20003/渲染20004、图10和图11的解码器、图13的接收装置、图14的装置、图21和图23的解码处理等的术语。
[0240]
根据实施方式的发送或接收点云数据的方法/装置可以简单地称为方法/装置。
[0241]
根据实施方式,构成点云数据的几何数据、几何信息和位置信息被解释为具有相同的含义。构成点云数据的属性数据、属性信息和属性信息将被解释为具有相同的含义。
[0242]
图15例示根据实施方式的点云数据的分布。
[0243]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以压缩(编码)图15所示的点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以重构(解码)图15所示的点云数据。
[0244]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置或图14的装置可以使用基于非对称分割的最优位置结构来压缩(编码)图15所示的点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、或图14的装置可以使用基于非对称分割的最优位置结构来重构(解码)图15所示的点云数据。
[0245]
为了通过服务有效地压缩和提供点云数据,可以基于数据的分布压缩和重构位置信息。在这种情况下,可以基于非对称数据分布的特性压缩和重构位置。
[0246]
根据实施方式的方法/装置可以压缩和重构点云数据。具体地,考虑到非对称点分布,它可以压缩和重构位置(几何数据)。
[0247]
点云数据包括与每个数据相关的位置(几何:例如,xyz坐标)和属性(例如,颜色、反射率等)信息。根据实施方式,位置可以称为几何数据,并且属性可以称为属性数据。
[0248]
为了压缩位置信息和属性信息,特别是用于高效压缩的位置信息,使用基于八叉树(ot)的压缩方法。在这种情况下,可以使用基于四叉树(qt)或二叉树(二叉树,bt)的位置压缩的方法来提高非对称分布的点的位置压缩效率。也就是说,当构成八叉树的8个节点位置朝向一个平面或一个直线区段偏置时,可以通过使用qt或bt来减少用于位置压缩的比特数。
[0249]
如图15所示,构成点云数据的点可以具有在空间中具有特定方向性的形状。为了高效地压缩和重构点,可以使用特定维度的立方体,并且可以基于具有根据分布图自适应的各种形状的边界框压缩和重构所述点。根据实施方式,基于各种形状的这种边界框可以由qt、bt等提供。
[0250]
图16例示了根据实施方式的压缩率。
[0251]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以使用qt、bt等来压缩(编码)图15所示的点云数据。根据实施方式,图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以使用qt、bt等重构(解码)图15所示的点云数据。
[0252]
当根据实施方式的方法/装置在压缩/重构点云位置时使用ot、qt、bt等来考虑非对称点分布时,在位置信息树的每个深度处使用的单位节点可以具有宽度、深度和高度的不同比率。在这种情况下,可以根据使用ot、qt和bt的顺序获得不同的压缩效率。
[0253]
在图16中,将当将qtbt参数固定时获得的压缩率与当根据序列使用不同参数时获得的压缩率进行比较。
[0254]
可以看出,当根据实施方式的参数k和参数m的值彼此不同时获得的压缩率比这些值相同时更好。
[0255]
因此,将描述根据实施方式的用于在考虑非对称点分布时提供良好压缩率的最优压缩的最优位置压缩方法和参数配置方法。
[0256]
图17示出根据实施方式的点和立方体。
[0257]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以压缩(编码)图17所示的点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以重构(解码)图15所示的点云数据。
[0258]
此外,在用于可缩放点云编码/解码的方法当中,可以使用基于非对称节点分割的压缩/解压缩方法。当使用基于qtbt的位置压缩/重构方法时,可以使用根据实施方式的压缩/重构方法。
[0259]
根据实施方式的方法/装置可以提供可缩放点云编码,并且可以在低时延环境中自适应地提供点云服务。另外,根据实施方式的位置压缩/重构方法(几何编码和几何解码)可以独立于属性压缩/重构方法(属性编码、属性解码)使用,并且还可以用于基于根据实施方式的方法的属性压缩/重构。
[0260]
为了压缩/重构关于点云的位置信息,根据实施方式的方法/装置可以执行基于八叉树的分割的方法,通过该方法,立方体被均等地划分成八个立方体。在该方法中,重复通过将节点的每一侧划分成两半来将8个节点之间的占用节点(其是包含点的节点)划分成8个立方体的处理。每个节点是否被占用可以通过按顺序使用1比特来指示为0或1。也就是说,当立方体被划分成8个子节点时,8个比特可以用于指示8个子节点是否被占用(例如,当节点0、3、4和5在8个节点当中被占用时,每个节点的占用可以指示为10011100)。
[0261]
图18例示了根据实施方式的四叉树和二叉树。
[0262]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于如图18所示的四叉树和二叉树压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于图18所示的四叉树和二叉树重构(解码)点云数据。
[0263]
当点分布不一致时,可以通过根据点分布的特性使用四叉树或二叉树来节省用于指示占用的比特的数量(在qt的情况下可以跳过4个比特,并且在bt的情况下可以跳过6个比特)。
[0264]
图18示出根据四叉树(qt)和二叉树(bt)在三维空间中划分立方体的情况。例如,当分布式节点在x-y方向上根据四叉树被划分并且节点0和节点6被占用时,占用可以在指示在x-y方向上的四叉树的同时由1001指示。
[0265]
例如,点分布在其中的空间可以表示为边界框(bounding box)。边界框可以称为3d立方体。可以使用x、y、z坐标系来分割点的3d立方体。分割是划分空间以划分点的步骤。四叉树和/或二叉树可以根据在划分包括点的空间的处理中的点分布而自适应地使用。
[0266]
根据实施方式的四叉树可以将空间分割成四个部分。图18的四叉树将空间分割成针对x轴、y轴和z轴中的每一者的四个空间。
[0267]
根据实施方式的二叉树可以将空间分割成两个部分。图18的二叉树将空间分割成针对x轴、y轴和z轴中的每一者的两个空间。
[0268]
根据实施方式的方法/装置可以配置与四叉树分割和二叉树分割相关的参数。qtbt执行方法和参数可以包括参数k和m。因此,ot、qt和bt按顺序执行。
[0269]
根据实施方式的参数k指示在分割3d边界框时执行qtbt的次数。
[0270]
根据实施方式的参数m指示在针对叶节点级别进行分割之前ot被立即执行的次数。这里,数量可以至少解释为大于或等于其值的值。3d中的ot可以称为2d中的qt。
[0271]
当根据实施方式的2d示例被扩展到3d时,qt可以解释为ot,并且bt可以解释为bt或qt。
[0272]
例如,可以针对具有尺寸为2^d_x、2^d_y和2^d_z的边界框的点云设置以下值。
[0273]
k(0≤k≤max(d_x,d_y,d_z)-min(d_x,d_y,d_z))
[0274]
ot之前的qt&bt的最大次数
[0275]
这表示在ot之前执行qt和bt的最大次数。
[0276]
m(0≤≤min(d_x,d_y,d_z))
[0277]
qt&bt的最小大小,如果d_x,d_y,d_z≤m,则无qt&bt
[0278]
这表示qt和bt的最小大小。
[0279]
根据实施方式的参数m可以具有在x轴维度、y轴维度和z轴维度的最小值内的值以及零。当x轴维度、y轴维度和z轴维度小于或等于m时,可以不执行qt和bt。
[0280]
bt在qt之前执行(当d_x≠d_y≠d_z时)。
[0281]
当x轴维度、y轴维度和z轴维度彼此不同时,可以在qt之前执行bt。
[0282]
根据实施方式,根据边界框的大小如下确定执行otqtbt的次数。
[0283]
n(ot)=min(d_x,d_y,d_z)
[0284]
n(qt)=med(d_x,d_y,d_z)-min(d_x,d_y,d_z)
[0285]
n(bt)=max(d_x,d_y,d_z)-med(d_x,d_y,d_z)
[0286]
ot的执行次数是基于x轴维度、y轴维度和z轴维度的最小值确定的。
[0287]
qt的执行次数是基于x轴维度、y轴维度和z轴维度的中位数与x轴维度、y轴维度和z轴维度的最小值之间的差确定的。
[0288]
bt的执行次数是基于x轴维度、y轴维度和z轴维度的最大值与x轴维度、y轴维度和z轴维度的中位数之间的差确定的。
[0289]
当执行qtbt时,执行的总数如下确定:n(ot) n(qt) n(bt)=max(d_x,d_y,d_z)。
[0290]
它可以具有与作为基于ot的分割的执行的总数的max(d_x,d_y,d_z)相同的执行次数。
[0291]
图19例示了根据实施方式的对称边界框和非对称边界框。
[0292]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于图19所示的边界框压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等基于图19所示的边界框重构(解码)点云数据。
[0293]
图19示出根据用于分布在2d空间中的16
×
4边界框中的点云数据的qt bt的使用的分割顺序。例如,根据实施方式的分割顺序可以根据在3d空间中的ot、qt和bt的使用而扩展到分割顺序。
[0294]
图19(a)
[0295]
该图示出仅使用qt执行分割的情况。
[0296]
图19(b)
[0297]
该图示出通过qtbt执行分割的情况。
[0298]
在这两种情况下,分割被执行四次。在基于qt的分割的情况下,假定边界框是16
×
16边界框,则发生分割。
[0299]
当另外考虑bt时,可以使用16
×
4的非对称边界框,并且可以执行两次qt并且可以执行两次bt直到达到1
×
1叶节点。在该示例中,qtbt参数k和m被设置为k=0且m=0,并且按这种顺序执行qt、qt、bt和bt。
[0300]
在对称边界框的情况下,经分割的框的大小是恒定且对称的。在非对称边界框的情况下,经分割的框具有非恒定大小且是不对称的。
[0301]
图20例示了根据实施方式的分割。
[0302]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于图20中的qt和bt压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于图20中的qt和bt重构(解码)点云数据。
[0303]
为了考虑非对称边界框而生成几何树,可以如下根据参数k和m使用不同方法。对于具有如图19和图20所示的分布的点云数据,首先执行qt,然后根据图19的方案1执行bt。在该方案中,k和m被设置为k=0并且m=0,并且以这种顺序执行qt、qt、bt和bt。
[0304]
为简单起见,图20例示了在3d中执行的分割的2d示例。
[0305]
因此,当参数k的值是0并且参数m的值是0时,在开始处强制执行bt的次数可以是0,并且在结束处强制执行qt的次数可以是0。
[0306]
为简单起见,基于x轴、y轴和z轴当中的x轴和y轴呈现根据实施方式的与方案1至方案4相关的图。
[0307]
图21例示了根据实施方式的分割。
[0308]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于如图21所示的qt和bt压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于如图21所示的qt和bt重构(解码)点云数据。
[0309]
在方案2中,k和m被设置为k=2并且m=0以执行bt两次并且然后执行qt。在该方案中,以这种顺序执行bt、bt、qt和qt。
[0310]
为简单起见,图21例示了在3d中执行的分割的2d示例。
[0311]
因此,当参数k的值是2时,bt最初可以被强制执行两次。当m=0时,在结束处强制执行qt的次数可以是0。
[0312]
图22例示了根据实施方式的分割。
[0313]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于如图22所示的qt和bt压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于如图22所示的qt和bt重构(解码)点云数据。
[0314]
与在开始或结束处对qt和bt进行分组和处理的方案1和方案2相反,可以以随机顺
序执行qt和bt。
[0315]
在根据图22的实施方式的方案3中,设置k=1且m=0。因此,bt在开始时执行一次,然后以此顺序执行bt、qt、qt和bt。
[0316]
图23例示了根据实施方式的分割。
[0317]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于如图23所示的qt和bt压缩(编码)点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于如图23所示的qt和bt重构(解码)点云数据。
[0318]
在根据图23的实施方式的方案4中,k=1且m=1,以按照以这种顺序执行bt、qt、bt和qt的方式在开始执行bt一次并且刚好在结束之前执行qt一次。
[0319]
对于根据实施方式的四种方法,编码效率可以根据qtbt的执行顺序而变化。为了比较编码效率,可以如下定义每个步骤所需的比特。
[0320][0321]
这里,b_partition表示标识分割所需的比特的数量。
[0322]
例如,它可以定义为bt=2^1,qt=2^2,ot=2^3。
[0323]
n_occupied表示第i深度级别处的占用节点的数量。它指示几何树中的深度。因此,可以如下计算每个方法中所需的比特的数量。
[0324]
方案1(qt->qt->bt->bt)=1
×
4 4
×
4 8
×
2 9
×
2=54
[0325]
方案2(bt-》bt-》qt-》qt)=1
×
2 2
×
2 4
×
4 7
×
4=50
[0326]
方案3(ot-》bt-》ot-》bt)=1
×
2 2
×
4 5
×
4 9
×
2=48
[0327]
方案4(ot-》bt-》bt-》ot)=1
×
2 2
×
4 5
×
2 7
×
4=48
[0328]
从以上示例可以看出,方案3和方案4在使用最少的比特的同时有效地压缩给定点云数据。然而,方案3和方案4并不总是具有最优效率。假设树的所有叶节点都被占用,则可以如下获得比特使用。
[0329]
方案1(qt->qt->bt->bt)=1
×
4 4
×
4 16
×
2 32
×
2=116
[0330]
方案2(bt-》bt-》qt-》qt)=1
×
2 2
×
2 4
×
4 16
×
4=86
[0331]
方案3(ot-》bt-》ot-》bt)=1
×
2 2
×
4 8
×
4 16
×
2=90
[0332]
方案4(ot-》bt-》bt-》ot)=1
×
2 2
×
4 8
×
4 16
×
4=90
[0333]
也就是说,在这种情况下,方案2可以具有最优效率。
[0334]
图24示出根据实施方式的彼此比较的比特使用。
[0335]
图24示出与仅使用qt的情况下的比特使用率相比的qtbt方案的比特使用率。
[0336]
因此,比特效率根据执行qtbt的顺序和点的分布而变化,并且有必要找到具有最优效率的qtbt的执行顺序。
[0337]
根据实施方式的方法/装置可以通过在每个步骤中选择ot、qt和bt当中的具有高编码效率的方法来提高比特效率。基于八叉树的位置压缩是通过对通常存在于类似位置处的点的有效位进行绑定来减少比特的冗余使用的方法。也就是说,对于在八叉树中具有相同父节点的节点,可以减少冗余。
[0338]
例如,表达位置0000和0001中的每一者需要8个比特。然而,通过绑定三个冗余有效位(000)并且分别地表达剩余比特(0,1)可以将所需的比特从8比特减少到5比特。
[0339]
作为另一示例,0000、0001、0010和0011各自需要4个比特的4条信息(即,16个比特)。当将信息绑定成各自具有冗余有效位的两条信息(0000和0001、0010和0011)的两对时,可以仅需要使用10个比特([000 0 1] [001 0 1])来表示所述位置。
[0340]
作为另一方法,当在所有四条信息中使用的两个最高有效位(00)被分组在一起时,下一比特被分组在一起(0,1),并且最低有效位分别被表达为(0,1,0,1),位置可以使用8比特来表示。
[0341]
图25例示根据实施方式的用于选择分割方法的方案。
[0342]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以基于图25所示的方案分割点云数据。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以基于图25所示的方案分割点云数据。
[0343]
条件1)
[0344]
如上文所描述的,可以通过选择otqtbt的方案来增加比特效率,通过所述otqtbt方案,可以根据每一步骤绑定尽可能多的在类似位置处的点。当根据类似位置将点分组在一起时,在分割之后剩余的空节点的比例可以增加。可以根据空节点的数量/节点的总数的比率来比较ot、qt和bt,并且可以选择具有最大比例的空节点的方法。当子节点的总数被定义为n_nodes(ot,i)并且存在点的子节点的数量被定义为n_occupied(ot,i)时,针对第i深度执行的ot分割中的空节点r_ot(i)的比例可以如25000定义。随着空节点的比例增加,绑定在一起的冗余比特(点)的数量可能增加。
[0345]
以同样的方式,对于qt分割和bt分割,针对第i深度的空节点的比例,r_qt(i)和r_bt(i)可以分别如25010定义。
[0346]
在式中,n_nodes(ot,i)和n_nodes(bt,i)可以表示针对第i深度通过qt分割和bt分割新创建的子节点的总数,并且n_occupied(ot,i)和n_occupied(bt,i)可以表示当针对第i深度执行qt分割和bt分割时存在点的子节点的数量。
[0347]
当ot分割和qt分割不可执行时,n_nodes(ot,i)或n_nodes(bt,i)可以被设置为0。也就是说,r_ot(i)或r_qt(i)可以被定义为1,其是最大值。
[0348]
图26例示根据实施方式的用于选择分割方法的方案。
[0349]
除了图25的方案之外,根据实施方式的方法/装置可以根据图26例示的方法选择分割方法。
[0350]
条件2)
[0351]
另外,可以如下获得可以基于第i深度处的八叉树、四叉树和二叉树执行分割的次数n_ot(i)、n_qt(i)和n_bt(i)。
[0352]
n_ot(i)=min(d_x(i),d_y(i),d_z(i))
[0353]
n_bt(i)=max(d_x(i),d_y(i),d_z(i))
[0354]
n_qt(i)=med(d_x(i),d_y(i),d_z(i))或否则
[0355]
这里,min()、med()和max()是用于找到最小值、中位数和最大值的函数。
[0356]
d_x(i)、d_y(i)和d_z(i)为针对第i深度的子节点的xyz轴中的每一者的大小的
log2的值,并且可以如下获得。
[0357]
d_x(i))=log_2(x方向子节点长度)
[0358]
d_y(i))=log_2(y方向子节点长度)
[0359]
d_z(i)=log_2(z方向子节点长度)
[0360]
定向子节点长度指示每个轴方向上的子节点长度。
[0361]
根据实施方式的方法/装置可以如下获得第i深度处的分割方法。
[0362]
1)在ot、qt和bt之间实现分割的方法当中:条件2
[0363]
2)存在于类似位置处并且绑定在一起的点的比率为高的方法:条件1
[0364]
因此,可以如图27所示限定针对第i深度的分割方法。
[0365]
图27例示根据实施方式的用于选择分割方法的条件。
[0366]
参考部分27000,如果ot空比率小于或等于bt空比率并且小于或等于qt空比率,并且ot的可能次数在第i深度大于0,则可以根据第i深度处的ot来分割点云数据。
[0367]
如果qt空比率小于或等于bt空比率并且小于或等于ot空比率,则当ot的可能次数大于0时,或者当ot的可能次数是0并且qt的可能次数大于0时,可以根据第i深度处的qt来分割点云数据。
[0368]
如果ot空比率小于或等于bt空比率并且小于或等于qt空比率,并且ot的可能次数在第i深度大于0,则可以根据第i深度处的ot来分割点云数据。
[0369]
根据上述方法,如果当ot、qt和bt都被允许时绑定两种或更多种方法,则可以选择可以创建更多子节点的方法。例如,如果ot和qt被绑定,则可以选择ot。如果qt和bt被绑定,则可以选择qt。如果ot、qt和bt被绑定,则可以选择ot。
[0370]
当使用根据实施方式的方法分割在16
×
4非对称边界框中分布的点云时,获得与方案1相同的结果。部分27010详细示出分割处理。
[0371]
在确定第一分割时,qt被选择是因为qt的可能次数是2,bt的可能次数是4,qt空比率是0/4,bt空比率是0/2,并且更多的子节点是在qt中创建的。
[0372]
在确定第二分割时,qt的可能次数是1,bt的可能次数是3,qt空比率是8/16,bt空比率是3/8,并且选择提供高空比率的qt。
[0373]
在确定第三分割时,qt的可能次数是0,bt的可能次数是2,并且沿着x轴选择bt。
[0374]
在确定第四分割时,qt的可能次数是0,bt的可能次数是1,并且沿着x轴选择bt。
[0375]
根据实施方式,分割可以被细分为具有更多深度。当提供许多深度时,可以进一步细分分割以用于可缩放编码,并且可以允许接收器选择所需深度。例如,ot可以被划分成xyz轴bt。当分割类型被绑定时,可以以这种顺序选择bt、qt和ot,使得可以依次执行分割。
[0376]
参考部分27020,如果ot空比率小于bt空比率,ot空比率小于qt空比率,并且ot的可能次数大于0,则可以执行ot分割。
[0377]
如果qt空比率小于bt空比率,qt空比率小于或等于ot空比率,并且qt的可能次数大于0,或者如果ot的可能次数是0并且qt的可能次数大于0,则可以执行qt分割。
[0378]
如果bt空比率小于或等于qt空比率,bt空比率小于或等于ot空比率,并且bt的可能次数大于0,或者如果qt空比率是0,则可以执行bt分割。
[0379]
当使用根据实施方式的方法分割在16
×
4非对称边界框中分布的点云时,获得与方案3中相同的结果。在部分27030中详细分析分割处理。
[0380]
在执行第一分割时,如果qt的可能次数是2,bt的可能次数是4,qt空比率是0/4,并且bt空比率是0/2,则可以沿着x轴执行bt分割。
[0381]
在执行第二分割时,如果qt的可能次数是2,bt的可能次数是3,qt空比率是3/8,并且bt的可能次数是0/4,则可以选择qt分割作为分割类型。
[0382]
在执行第三分割时,如果qt的可能次数是1,bt的可能次数是2,qt空比率是11/20,并且bt的可能次数是3/10,则可以选择qt分割作为分割类型。
[0383]
在执行第四分割时,如果qt的可能次数是4并且bt的可能次数是1,则可以执行bt分割。
[0384]
根据实施方式,可以添加条件。在非对称节点的情况下,可以首先在对称节点的方向上执行bt和qt,然后可以执行根据上述条件的操作。
[0385]
此外,可以基于所推导的分割方法推断并用信号通知qtbt参数k和m。例如,当通过bt、qt、qt和bt执行压缩时,因为第一bt被执行一次,可以设置为k=1,并且因为在结束处执行qt的次数是0,可以用信号通知m=0。
[0386]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以对几何数据和属性数据进行编码,并且生成包含几何数据和属性数据的比特流。另外,其可以生成与点云数据的编码相关的信令信息(或称为元数据、参数信息等),并且将其添加到待发送的比特流。
[0387]
图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以接收包含几何数据、属性数据和与几何数据和属性数据相关的信令信息的比特流。
[0388]
根据实施方式的ot qt bt分割信息可以定义在由包含点云数据的比特流承载的参数集和切片报头中。另外,其可以被限定在根据应用和系统的对应的位置处或在单独的位置处,使得可以不同地使用应用的范围和应用的方法。
[0389]
根据实施方式,根据实施方式的分割相关信令信息可以被包括在比特流中的几何参数集和几何切片报头中。根据实施方式的分割相关信令信息可以以与属性编码方法相关联或应用于属性编码的方式被定义为比特流中的属性参数集和属性切片报头。根据实施方式的分割相关信令信息可以在比特流中的序列参数集、拼块参数集等中定义。
[0390]
另外,当包含在根据实施方式的比特流中的语法元素适用于多个点云数据流以及当前点云数据流时,该信息可以被承载在较高概念的参数集中。
[0391]
根据实施方式的信令信息可以在点云压缩发送装置/方法的压缩(编码)处理中生成,并且可以在点云压缩接收装置/方法的解码处理中使用。
[0392]
在下文中,根据实施方式的参数(其可以称为诸如元数据和信令信息的各种术语)可以在根据实施方式的发送器的处理中生成,其将在后面描述,并且被发送到根据实施方式的接收器,以便在重构处理中使用。例如,根据下文描述的实施方式的参数可以由根据实施方式的发送装置的元数据处理器(或元数据生成器)生成并由根据实施方式的接收装置的元数据解析器获取。
[0393]
图28示出根据实施方式的几何参数集。
[0394]
num_tree_depth_minus1 1可以指示几何树的深度。
[0395]
partition_type可以指示根据实施方式的在配置几何树时配置第(i 1)深度的方
法。
[0396]
在其值当中,0可以指示基于八叉树的分割(ot),1可以指示基于四叉树的分割(qt),并且2可以指示基于二叉树的分割(bt)。
[0397]
partition_axis可以指示根据分割类型的分割方向。当partition_type指示1(即,四叉树分割)时,partition_axis可以指示基于xy、xz和yz轴执行分割。当partition_type指示2(即,二叉树分割)时,partition_axis可以指示基于x、y和z轴执行分割。
[0398]
log2_node_size_x、log2_node_size_y和log2_node_size_z可以指示沿着x、y和z轴的第i深度的单位节点的长度,表示为lod_2的值。其可以在基于任何节点大小(例如,4
×4×
1、16
×8×
8等)执行分割时使用。
[0399]
图29例示了根据实施方式的几何切片比特流和几何切片报头。
[0400]
几何切片比特流可以包含几何切片报头和几何切片数据。
[0401]
对于与图28中的分割相关参数相同的参数的定义,可以参照图28的描述。
[0402]
start_tree_depth和end_tree_depth可以指示树深度的开始和结束。当根据树深度或可缩放应用将数据划分成切片时,可以使用它们。
[0403]
full_depth_present_flag可以指示根据实施方式的树是否具有全深度。当标志的值为0时,树深度的开始和结束可以可缩放地或根据作为信令信息的特定树深度来传递。
[0404]
可以根据树深度开始和树深度结束或树深度的总数来发送沿着每个轴的诸如partition_type、partition_axis和node_size的信息。
[0405]
根据上述实施方式的操作可以通过根据实施方式的点云压缩发送/接收装置/方法的组件来执行。根据实施方式的每个组件可以对应于硬件、软件、处理器和/或其组合。
[0406]
本公开中提出的点云压缩方法可以如下实现。尽管该实施方式描述了压缩关于点云数据的位置信息的方法,但是本公开中描述的方法可以应用于属性信息压缩和其它压缩方法。
[0407]
根据实施方式的发送装置的点云编码器(例如,属性编码器)的配置和/或操作可以如下。
[0408]
图30例示根据实施方式的点云数据发送方法。
[0409]
图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以对图30所示的点云数据进行编码。图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以包括最优几何树分割器、otqtbt占用图编码器、量化器和熵编码器。图30的组件可以由包括被配置为与包括在点云数据发送装置中的一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
[0410]
最优几何树分割器30000可以接收几何数据并如下处理几何编码处理中的几何数据。最优几何树分割器可以根据几何树深度执行分割,并获取分割信息。
[0411]
otqtbt占用图编码器30010可以基于如图15和图23所示的所获取的分割信息生成占用比特。
[0412]
量化器30020可以基于占用比特量化点云数据。量化操作可以是可选的。
[0413]
编码编译器30030可以基于熵方法对点云数据进行编码,并且生成包含点云数据的几何数据的几何比特流。
[0414]
根据实施方式的方法/装置可以基于几何数据对属性数据进行编码,并且生成包含属性数据的属性比特流。
[0415]
根据实施方式的方法/装置可以发送包含几何数据和属性数据的比特流。
[0416]
图31例示根据实施方式的点云数据接收方法。
[0417]
图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以对图31所示的点云数据进行解码。图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以包括熵解码器、逆量化器和otqtbt占用图解码器。图31的组件可以由包括被配置为与包括在点云数据发送装置中的一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
[0418]
根据实施方式的接收点云数据的处理可以遵循根据实施方式的发送点云数据的处理的相反处理。也就是说,接收器以发送器的操作的相反顺序重构信号。
[0419]
熵解码器31000可以从发送装置接收经编码的几何比特流,并且如下处理几何数据。熵解码器可以基于熵方案对几何数据进行解码。
[0420]
逆量化器31010可以逆量化几何数据。逆量化操作可以是可选的。
[0421]
otqtbt占用图解码器31020可以对占用比特进行解码。在接收器对所接收的几何比特流执行熵解码和逆量化之后,可以基于占用比特重构几何数据。在这种情况下,可以基于通过如图28和图29所示的包含在从发送器递送的比特流中的num_tree_depth_minus1、partition_type、partition_axis、log2_node_size_x、log2_node_size_y和log2_node_size_z提供的几何树深度的总数、针对每一深度的分割方法、分割方向和节点大小信息来估计每一深度的解码信息的比特长度和分布。
[0422]
根据实施方式的几何树分割信息可以包括通过num_tree_depth_minus1、partition_type、partition_axis、log2_node_size_x、log2_node_size_y和log2_node_size_z提供的几何树深度的总数、针对每一深度的分割方法、分割方向和节点大小信息。
[0423]
图32是例示根据实施方式的对点云数据进行编码的流程图。
[0424]
图32示出根据图30和图31的点云数据的几何分割的流程图。
[0425]
关于图32中的每个操作和对应操作,图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置等可以对如图30所示的点云数据进行编码。图1的发送装置10000、图1的点云视频编码器10002、图2的编码、图4的编码器、图13的发送装置、图14的装置、图30的编码器、图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图14的装置等可以对如图31所示的点云数据进行解码。操作可以由图1的接收装置10004、图1的点云视频解码器10006、图2的解码、图10和图11的解码器、图14的接收装置、图31的解码器等执行。图32的操作可以由包括被配置为与包括在根据实施方式的装置中的一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
[0426]
32000:根据实施方式的方法/装置可以检查是否允许bt、qt、ot等分割几何。如图26所示,可以测量ot(i)、qt(i)和bt(i)以确定根据沿着每个轴的第i节点的大小是否允许执行ot、qt和bt。根据其值,可以直接执行ot、qt或bt。
[0427]
图32是例示用于非对称几何树分割优化的方法的示例性流程图。当几何树分割开
始时,基于节点大小确定ot、qt和bt是否符合条件。
[0428]
32010:当在几何树的第i深度处,指示ot是否符合条件被执行的信息的值是0,指示qt是否符合条件被执行的信息的值是0,并且指示bt是否符合条件被执行的信息的值大于0时,根据实施方式的方法/装置可以确定bt分割轴(32010)。如图27和图28所示,可以在比特流中发送分割轴。可以根据分割轴通过bt分割来划分几何。另外,在沿着x轴的bt分割之后,沿着x轴的第i深度处的节点的大小可以减小1。
[0429]
32020:当在几何树的第i深度处,指示ot是否符合条件被执行的信息的值是0,指示qt是否符合条件被执行的信息的值大于0时,根据实施方式的方法/装置可以确定要在其上执行qt分割的轴,并且执行qt分割。另外,在沿xy轴执行qt分割之后,方法/装置可以将沿着x轴和y轴中的每一者的第i深度处的节点的大小减小1。
[0430]
32020:当ot、qt和bt全部符合条件被执行时,作为根据每种方法的非占用比率(或空节点比率)的r_ot(i)、r_qt(i)和r_bt(i)如图25所示被获得。
[0431]
根据条件(例如,获得最大值)确定最优分割方法(32030)。在qt和bt的情况下,可以根据分割轴获得不同的非占用比率,并且可以预定义在当前节点大小具有最长长度的方向上应用qt和bt。
[0432]
当bt空比率大于或等于qt空比率并且bt空比率大于或等于ot空比率时,可以选择bt分割。
[0433]
当qt空比率大于bt空比率并且qt空比率大于或等于ot空比率时,可以选择qt分割。
[0434]
当ot空比率大于bt空比率并且ot空比率大于qt空比率时,可以选择ot分割。
[0435]
此外,在执行ot分割时,沿着每个轴的节点大小可以沿着每个轴减小1。
[0436]
如果第i深度处的每一xyz轴上的节点大小为0,则终止几何树分割。否则,针对第i 1深度执行分割处理。
[0437]
当确定针对深度i的最优分割方法时,沿分割轴执行qt bt,或者在所有方向执行ot。此后,根据分割方法和分割轴调整节点大小。也就是说,dx(i)、dy(i)和dz(i)(其具有节点大小的log2值)在发生分割的轴上减小1。确定节点是否是叶节点(dx(i)=dy(i)=dz(i)=0)。当节点处于叶节点级别时,分割停止。当节点不在叶节点级别时,深度增加1,并且执行以上处理。
[0438]
图33例示了根据实施方式的点云数据发送方法。
[0439]
3300:根据实施方式的点云数据发送方法可以包括编码点云数据。根据实施方式的编码操作可以包括图1的点云视频编码器10002、图2的编码20001、图4的编码器、图12的发送装置、图14的装置处理、根据图15至图27的点云数据的分割、图28和图29的比特流生成以及图20至图32的点云数据的分割和编码的操作。
[0440]
3301:根据实施方式的点云数据发送方法还可以包括发送包含点云数据的比特流。根据实施方式的发送操作可以包括图1的发送器、图2的发送、图4的编码比特流的发送、图12的编码点云数据的发送、图14的装置的处理、根据图15至图27和图30至图32的基于分割的编码点云数据的发送以及图28和图29的包含与点云数据相关的参数的比特流的发送的操作。
[0441]
图34例示了根据实施方式的点云数据接收方法。
[0442]
3400:根据实施方式的点云数据接收方法可以包括接收包含点云数据的比特流。根据实施方式的接收操作可以包括图1的接收器10005、根据图2的发送20002的接收、图11的几何比特流和属性比特流的接收、图13的包含点云数据的比特流的接收、由图14的装置进行的数据接收、根据图15至图27和图30至图32的基于分割的编码点云数据的接收以及图28和图29的包含与点云数据相关的参数的比特流的接收的操作。
[0443]
3401:根据实施方式的点云数据接收方法还可以包括对点云数据进行解码。根据实施方式的解码操作可以包括图1的点云视频解码器10006、图2的解码20003、图10、图11和图13的点云数据的解码、图14的装置的数据处理、根据图15至图27和图30至图32的基于分割的点云数据的解码以及图28和图29的基于与点云数据相关的参数的点云数据的解码的操作。
[0444]
根据图33和图34的实施方式的方法可以由包括被配置为与包括在点云数据发送/接收装置中的一个或更多个存储器进行通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现。
[0445]
根据实施方式的点云数据发送装置可以包括被配置为对点云数据进行编码的编码器;以及被配置为发送包含点云数据的比特流的发送器。
[0446]
根据实施方式的被配置为对点云数据进行编码的编码器可以基于树分割点云数据的几何数据(参见图15至图23等)。
[0447]
根据实施方式的分割可以基于几何数据的分布确定树的类型。树的类型可以包括八叉树、二叉树或四叉树中的至少一者(参见图25至图27)。
[0448]
根据实施方式的分割可以考虑点云数据的分布(例如,作为几何数据的点的分布)来执行。
[0449]
如图19所示,ot、qt、bt等可以高效地应用于对称分布和/或非对称分布。
[0450]
可以通过图25至图27所示的方法来确定分割类型和顺序,并且可以根据实施方式不同地设置ot、qt和bt的顺序。另外,树类型不限于ot、qt和bt,并且可以根据实施方式应用能够高效地划分点分布的各种树类型。
[0451]
图27所示的用于在比率方面比较树的数学表达式可以在等效范围内扩展和解释。在数学表达式中使用的符号(诸如不等式符号和相等符号)不限于附图中所示的内容,并且可以在由实施方式预期的范围内被解释。
[0452]
可以基于与包括在几何数据树的当前深度中的节点是否被占用相关的比率确定根据实施方式的树的类型。
[0453]
根据实施方式的比特流可以包含与点云数据相关的参数信息(参见图28和图29)。
[0454]
根据实施方式的点云数据接收装置可以包括被配置为接收包含点云数据的比特流的接收器以及被配置为对点云数据进行解码的解码器。
[0455]
根据实施方式的被配置为对点云数据进行解码的解码器可以基于与点云数据的几何数据相关的树重构经分割的点云数据(参见图31)。
[0456]
树的类型可以包括八叉树、二叉树或四叉树中的至少一者。
[0457]
可以基于与包括在几何数据树的当前深度中的节点是否被占用相关的比率确定树的类型(参见图25、图26等)。
[0458]
根据实施方式的比特流可以包括与点云数据的几何相关的树分割信息(参见图
28、图29和图31)。
[0459]
因此,可以更有效地压缩数据。例如,通过激光雷达获取的数据在水平方向上具有比在垂直方向上更宽的分布。当这样的数据被压缩时,可以通过根据实施方式的方法增加压缩效率。
[0460]
另外,单个qtbt可以应用于单个帧,从而反映内容点的分布的特性。另外,可以考虑非对称点分布来实现用于最优压缩的最优位置压缩方法和参数配置。
[0461]
当点云数据的分布非对称时,根据实施方式的所提出的操作可以提供最优位置结构编码。另外,根据实施方式的接收方法/装置可以基于用于最优编码的信令信息中的参数提高点云数据的压缩效率。
[0462]
已经就方法和/或装置描述了实施方式。对方法的描述和对装置的描述可以彼此互补。
[0463]
尽管为了简单起见已经参考附图中的每一者描述了实施方式,但是可以通过合并附图中示出的实施方式来设计新的实施方式。如果计算机可读的记录介质(其中用于执行前述描述中提到的实施方式的程序被记录)由本领域技术人员设计,则其也可以落入所附权利要求及其等同物的范围内。装置和方法可以不受上述实施方式的配置和方法的限制。上述实施方式可以通过完全或部分地彼此选择性地组合以实现各种修改例来配置。尽管已经参考附图描述了优选实施方式,但是本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可以对实施方式进行各种修改和变化。这些修改不应单独从实施方式的技术构思或观点来理解。
[0464]
实施方式的设备的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片实现,例如单个硬件电路。根据实施方式,可以将根据实施方式的组件分别实现为分离的芯片。根据实施方式,根据实施方式的装置的组件中的至少一个或更多个可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可以执行根据实施方式的操作/方法中的任何一个或更多个,或者包括用于执行该操作/方法的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以存储在配置成由一个或更多个处理器执行的非暂时crm或其它计算机程序产品中,或者可以存储在配置成由一个或更多个处理器执行的暂时crm或其它计算机程序产品中。此外,根据实施方式的存储器可用作不仅覆盖易失性存储器(例如ram)而且覆盖非易失性存储器、闪存和prom的概念。此外,它还可以以载波的形式实现,例如通过因特网的传输。此外,处理器可读记录介质可被分布到通过网络连接的计算机系统,使得处理器可读代码可以以分布式方式存储和执行。
[0465]
在本文档中,术语“/”和“,”应解释为表示“和/或”。例如,表述“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两者。换句话说,本文档中的术语“或”应解释为“附加地或替代地”。
[0466]
诸如第一和第二的措辞可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于区分一个元件与另一个元件。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用
户输入信号。这些术语的使用应被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号都是用户输入信号,但并不意味着相同的用户输入信号,除非上下文另有明确规定。
[0467]
用于描述实施方式的术语仅用于描述具体实施方式的目的,并且不旨在限制实施方式。如在实施方式的描述和权利要求中所使用的,单数形式“一”、”和“该”包括复数指示物,除非上下文另外清楚地指明。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”的术语旨在表示存在附图、数字、步骤、元件和/或组件,并且应当理解为不排除存在附图、数字、步骤、元件和/或组件的附加存在的可能性。如这里所使用的,诸如“如果”和“当

时”的条件表达式不限于可选情况,并且旨在当满足特定条件时被解释为执行相关操作或根据特定条件解释相关定义。
[0468]
根据本说明书中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储用于处理/控制根据实施方式的操作的程序,并且处理器可以控制本说明书中描述的各种操作。处理器可以称为控制器等。在实施方式中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以存储在处理器或存储器中。
[0469]
根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可以包括被配置为发送和接收媒体数据的发送器/接收器、被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据)的存储器以及被配置为控制发送/接收装置的操作的处理器。
[0470]
处理器可以称为控制器等,并且可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施方式的操作的编码器/解码器。
[0471]
用于公开的模式
[0472]
如上所述,已经在用于实现实施方式的最佳模式下描述了相关细节。
[0473]
工业适用性
[0474]
如上所述,实施方式完全或部分地适用于点云发送/接收装置和系统。
[0475]
本领域技术人员可以在实施方式的范围内以各种方式改变或修改实施方式。
[0476]
实施方式可以包括在权利要求及其等同物的范围内的变化/修改。
再多了解一些

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

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

相关文献