1.实施方式涉及用于处理点云内容的方法和装置。
背景技术:2.点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的一组点。点云内容可以表示三维配置的媒体,并且用于提供各种服务,例如虚拟现实(vr)、增强现实(ar)、混合现实(mr)和自驾驶服务。然而,需要数万到数十万的点数据来表示点云内容。因此,需要高效地处理大量点数据的方法。
技术实现要素:3.技术问题
4.实施方式提供了一种用于高效处理点云数据的装置和方法。实施方式提供了用于解决延迟和编码/解码复杂度的点云数据处理方法和装置。
5.实施方式的技术范围不限于上述技术目的,并且可以扩展到本领域技术人员基于本文公开的全部内容可以推断出的其他技术目的。
6.技术方案
7.为了实现这些目的和其他优点,并且根据本公开的目的,在一些实施方式中,一种发送点云数据的方法可以包括以下步骤:对包括几何和属性的点云数据进行编码,以及发送包含编码的点云数据的比特流。所述几何可以是指示所述点云数据的点的位置的信息,并且所述属性可以包括所述点的颜色和反射率中的至少一者。对所述点云数据进行编码的步骤可以包括:对表示所述点的所述位置的坐标进行变换。
8.在一些实施方式中,一种发送点云数据的设备可以包括编码器,所述编码器被配置为对包括几何和属性的点云数据进行编码并且发送包含编码的点云数据的比特流。所述几何可以是指示所述点云数据的点的位置的信息,并且所述属性可以包括所述点的颜色和反射率中的至少一者。所述点云数据的编码器可以对表示所述点的所述位置的坐标进行变换。
9.在一些实施方式中,一种处理点云数据的方法可以包括以下步骤:接收包含点云数据的比特流,以及对所述点云数据进行解码。所述比特流可以包含信令信息。所述点云数据可以包括几何和属性。所述几何可以是指示所述点云数据中的点的位置的信息,并且所述属性可以包括所述点的颜色和反射率中的至少一者。对所述点云数据进行解码的步骤可以包括:基于所述信令信息来对表示所述点的所述位置的坐标进行变换。
10.在一些实施方式中,一种处理点云数据的装置可以包括:接收器,所述接收器被配置为接收包含点云数据的比特流;以及解码器,所述解码器被配置为对所述点云数据进行解码。所述比特流可以包含信令信息。点云数据可以包括几何和属性。几何可以是指示所述点云数据中的点的位置的信息,并且属性可以包括所述点的颜色和反射率中的至少一者。所述解码器可以基于所述信令信息来对表示所述点的所述位置的坐标进行变换。
11.有益效果
12.根据一些实施方式的设备和方法可以高效地处理点云数据。
13.根据一些实施方式的设备和方法可以提供高质量的点云服务。
14.根据一些实施方式的设备和方法可以为包括vr服务、自动驾驶服务的通用服务提供点云内容。
附图说明
15.附图被包括以提供本公开的进一步理解,并且被并入本技术中并构成本技术的一部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。为了较好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。贯穿附图将使用相同的标号来表示相同或相似的部分。附图中:
16.图1示出根据实施方式的示例性点云内容提供系统;
17.图2是示出根据实施方式的点云内容提供操作的框图;
18.图3示出根据实施方式的捕获点云视频的示例性处理;
19.图4示出根据实施方式的示例性点云编码器;
20.图5示出根据实施方式的体素的示例;
21.图6示出根据实施方式的八叉树和占用代码的示例;
22.图7示出根据实施方式的邻居节点图案的示例;
23.图8示出根据实施方式的各个lod中的点配置的示例;
24.图9示出根据实施方式的各个lod中的点配置的示例;
25.图10示出根据实施方式的点云解码器;
26.图11示出根据实施方式的点云解码器;
27.图12示出根据实施方式的发送装置;
28.图13示出根据实施方式的接收装置;
29.图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构;
30.图15是示出根据实施方式的点云数据发送装置的操作的流程图;
31.图16示出点云数据发送装置的操作的示例;
32.图17示出点云发送装置的处理过程的示例;
33.图18示出坐标变换的示例;
34.图19示出坐标系的示例;
35.图20示出坐标变换的示例;
36.图21示出坐标投影的示例;
37.图22示出激光位置调整的示例;
38.图23示出体素化的示例;
39.图24示出与投影相关的信令信息的语法结构的示例;
40.图25示出根据实施方式的信令信息的示例;
41.图26示出根据实施方式的信令信息的示例;
42.图27示出根据实施方式的信令信息的示例;
43.图28是根据实施方式的信令信息;
44.图29是示出根据实施方式的点云数据接收装置的操作的流程图;
45.图30示出点云接收装置的操作的示例;
46.图31示出点云接收装置的处理过程的示例;
47.图32示出逆投影的示例;
48.图33示出根据实施方式的点云接收装置的处理过程的示例;
49.图34是示出根据实施方式的发送点云数据的方法的流程图;以及
50.图35是示出根据实施方式的处理点云数据的方法的流程图。
具体实施方式
51.现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参考附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
52.尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
53.图1示出根据实施方式的示例性点云内容提供系统。
54.图1所示的点云内容提供系统可以包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够有线或无线通信以发送和接收点云数据。
55.根据实施方式的点云数据发送装置10000可取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置10000可以包括固定站、基站收发器系统(bts)、网络、人工智能(ai)装置和/或系统、机器人、ar/vr/xr装置和/或服务器。根据实施方式,发送装置10000可以包括被配置成使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
56.根据实施方式的发送装置10000包括点云视频获取器10001、点云视频编码器10002和/或发送器(或通信模块)10003。
57.根据实施方式的点云视频获取器10001通过诸如捕获、合成或生成的处理过程来获取点云视频。点云视频是由点云表示的点云内容,点云是位于3d空间中的点集合,并且可被称为点云视频数据。根据实施方式的点云视频可以包括一个或更多个帧。一个帧表示静止图像/画面。因此,点云视频可以包括点云图像/帧/画面,并且可被称为点云图像、帧或画面。
58.根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可以基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可以包括基于几何的点云压缩(g-pcc)编码和/或基于视频的点云压缩(v-pcc)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可输出包括编码的点云视频数据的比特流。比特流可不仅包括编码的点云视频数据,而且包括与点云视频数据的编码相关的信令信息。
59.根据实施方式的发送器10003发送包括编码的点云视频数据的比特流。根据实施方式的比特流被封装在文件或片段(例如,流片段)中,并且经由诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送装置10000可以包括被配置成执行封装操作的封装器(或封装模块)。根据实施方式,封装器可以包括在发送器10003中。根据实施方式,文件或片段可经由网络发送到接收装置10004,或者存储在数字存储介质(例如,usb、sd、cd、dvd、蓝光、hdd、ssd等)中。根据实施方式的发送器10003能够经由4g、5g、6g等网络与接收装置10004(或接收器10005)有线/无线通信。另外,发送器可根据网络系统(例如,4g、5g或6g通信网络系统)执行必要的数据处理操作。发送装置10000可按照按需方式发送封装的数据。
60.根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可以包括被配置成使用无线电接入技术(例如,5g新rat(nr)、长期演进(lte))与基站和/或其它无线装置执行通信的装置、机器人、车辆、ar/vr/xr装置、便携式装置、家用电器、物联网(iot)装置和ai装置/服务器。
61.根据实施方式的接收器10005从网络或存储介质接收包括点云视频数据的比特流或者封装有比特流的文件/片段。接收器10005可根据网络系统(例如,4g、5g、6g等的通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可以将所接收的文件/片段解封装并输出比特流。根据实施方式,接收器10005可以包括被配置成执行解封装操作的解封装器(或解封装模块)。解封装器可被实现为与接收器10005分离的元件(或组件)。
62.点云视频解码器10006将包括点云视频数据的比特流解码。点云视频解码器10006可根据点云视频数据被编码的方法(例如,按点云视频编码器10002的操作的逆处理)来将点云视频数据解码。因此,点云视频解码器10006可以通过执行点云解压缩编码(点云压缩的逆处理)来将点云视频数据解码。点云解压缩编码包括g-pcc编码。
63.渲染器10007渲染解码的点云视频数据。渲染器10007可以通过不仅渲染点云视频数据,而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可以包括被配置成显示点云内容的显示器。根据实施方式,显示器可被实现为单独的装置或组件而非包括在渲染器10007中。
64.图中由虚线指示的箭头表示接收装置10004所获取的反馈信息的传输路径。反馈信息是反映与消费点云内容的用户的交互性的信息,并且包括关于用户的信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是用于需要与用户交互的服务(例如,自驾驶服务等)的内容时,反馈信息可被提供给内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可在接收装置10004以及发送装置10000中使用,或者可不提供。
65.根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10004可以基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户通过其观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可由视场(fov)确定。因此,除了头部取向信息之外,接收装置10004还可以基于装置所支持的垂直或水平fov来提取视口信息。另外,接收装置10004执行注视分析等以检查用户消费点云的方式、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10004可以将包括
注视分析结果的反馈信息发送到发送装置10000。根据实施方式的反馈信息可在渲染和/或显示过程中获取。根据实施方式的反馈信息可由包括在接收装置10004中的一个或更多个传感器取得。根据实施方式,反馈信息可由渲染器10007或单独的外部元件(或装置、组件等)取得。图1中的虚线表示发送渲染器10007所取得的反馈信息的过程。点云内容提供系统可以基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10006可以基于反馈信息来执行解码操作。接收装置10004可以将反馈信息发送到发送装置10000。发送装置10000(或点云视频数据编码器10002)可以基于反馈信息来执行编码操作。因此,点云内容提供系统可以基于反馈信息有效地处理必要数据(例如,与用户的头部位置对应的点云数据)而非处理(编码/解码)整个点云数据,并将点云内容提供给用户。
66.根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
67.根据实施方式的图1的点云内容提供系统中(通过获取/编码/传输/解码/渲染的一系列过程)处理的点云数据可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据相关的元数据或信令信息的概念。
68.图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
69.图2是示出根据实施方式的点云内容提供操作的框图。
70.图2的框图示出图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可以基于点云压缩编码(例如,g-pcc)来处理点云数据。
71.根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可获取点云视频(20000)。点云视频由属于用于表达3d空间的坐标系的点云表示。根据实施方式的点云视频可以包括ply(polygon文件格式或stanford triangle格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个ply文件。ply文件包括诸如点几何和/或属性的点云数据。几何包括点的位置。各个点的位置可由表示三维坐标系(例如,由x、y和z轴组成的坐标系)的参数(例如,x、y和z轴的值)表示。属性包括点的属性(例如,关于各个点的纹理、颜色(ycbcr或rgb)、反射率r、透明度等的信息)。点具有一个或更多个属性。例如,点可具有颜色属性或者颜色和反射率两个属性。根据实施方式,几何可被称为位置、几何信息、几何数据等,并且属性可被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可从与点云视频获取过程相关的信息(例如,深度信息、颜色信息等)取得点云数据。
72.根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可对点云数据进行编码(20001)。点云内容提供系统可以基于点云压缩编码对点云数据进行编码。如上所述,点云数据可以包括点的几何和属性。因此,点云内容提供系统可执行对几何进行编码的几何编码并输出几何比特流。点云内容提供系统可执行对属性进行编码的属性编码并输出属性比特流。根据实施方式,点云内容提供系统可以基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可被复用并作为一个比特流输出。根据实施方式的比特流还可包括与几何编码和属性编码相关的信令信息。
73.根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可发送编码的点云数据(20002)。如图1所示,编码的点云数据可由几何比特流和属性比特流表示。另外,编码的点云数据可与点云数据的编码相关的信令信息(例如,与几何编码和属性编码
相关的信令信息)一起以比特流的形式发送。点云内容提供系统可以将承载编码的点云数据的比特流封装并以文件或片段的形式将其发送。
74.根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可接收包括编码的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可以将比特流解复用。
75.点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以将比特流中发送的编码的点云数据(例如,几何比特流、属性比特流)解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以基于比特流中包括的与点云视频数据的编码相关的信令信息将点云视频数据解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可以将几何比特流解码以重构点的位置(几何)。点云内容提供系统可以通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可根据重构的几何和解码的属性基于位置来重构点云视频。
76.根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可渲染解码的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可使用各种渲染方法来渲染通过解码过程解码的几何和属性。点云内容中的点可被渲染为具有特定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或者以对应顶点位置为中心的圆。渲染的点云内容的全部或部分通过显示器(例如,vr/ar显示器、一般显示器等)提供给用户。
77.根据实施方式的点云内容提供系统(例如,接收装置10004)可取得反馈信息(20005)。点云内容提供系统可以基于反馈信息对点云数据进行编码和/或解码。根据实施方式的点云内容提供系统的反馈信息和操作与参考图1描述的反馈信息和操作相同,因此省略其详细描述。
78.图3示出根据实施方式的捕获点云视频的示例性过程。
79.图3示出参考图1至图2描述的点云内容提供系统的示例性点云视频捕获过程。
80.点云内容包括表示位于各种3d空间(例如,表示真实环境的3d空间、表示虚拟环境的3d空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可使用一个或更多个相机(例如,能够取得深度信息的红外相机、能够提取与深度信息对应的颜色信息的rgb相机等)、投影仪(例如,取得深度信息的红外图案投影仪)、激光雷达等来捕获点云视频。根据实施方式的点云内容提供系统可从深度信息提取由3d空间中的点组成的几何形状并且从颜色信息提取各个点的属性以取得点云数据。根据实施方式的图像和/或视频可以基于面向内技术和面向外技术中的至少一个来捕获。
81.图3的左侧部分示出面向内技术。面向内技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的图像的技术。面向内技术可用于生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员的关键对象)的360度图像的vr/ar内容)。
82.图3的右侧部分示出面向外技术。面向外技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的环境而非中心对象的图像的技术。面向外技术可用于生成提供从用户的视角出现的周围环境的点云内容(例如,可提供给自驾驶
车辆的用户的表示外部环境的内容)。
83.如图所示,可以基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,在相机之间坐标系可不同,因此点云内容提供系统可在捕获操作之前校准一个或更多个相机以设定全局坐标系。另外,点云内容提供系统可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频合成来生成点云内容。点云内容提供系统在生成表示虚拟空间的点云内容时可不执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可对捕获的图像和/或视频执行后处理。换言之,点云内容提供系统可去除不想要的区域(例如,背景),识别捕获的图像和/或视频连接至的空间,并且当存在空间空洞时,执行填充空间空洞的操作。
84.点云内容提供系统可以通过对从各个相机取得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可以基于各个相机的位置坐标对点执行坐标变换。因此,点云内容提供系统可生成表示一个宽范围的内容,或者可生成具有高密度点的点云内容。
85.图4示出根据实施方式的示例性点云编码器。
86.图4示出图1的点云视频编码器10002的示例。点云编码器重构并编码点云数据(例如,点的位置和/或属性)以根据网络条件或应用调节点云内容的质量(例如无损、有损或接近无损)。当点云内容的总大小较大(例如,对于30fps给出60gbps的点云内容)时,点云内容提供系统可能无法实时流传输内容。因此,点云内容提供系统可以基于最大目标比特率来重构点云内容以根据网络环境等提供点云内容。
87.如参考图1至图2描述的,点云编码器可执行几何编码和属性编码。几何编码在属性编码之前执行。
88.根据实施方式的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化和去除点(体素化))40001、八叉树分析器(分析八叉树)40002和表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换器(变换属性)40007、raht变换器(raht)40008、lod生成器(生成lod)40009、提升变换器(提升)40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
89.坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、直接编码、trisoup几何编码和熵编码。直接编码和trisoup几何编码选择性地或组合应用。几何编码不限于上述示例。
90.如图所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可被变换为三维空间(例如,由xyz坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可被称为几何信息。
91.根据实施方式的量化器40001将几何量化。例如,量化器40001可以基于所有点的最小位置值(例如,x、y和z轴中的各个个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与各个点的位置值之间的差乘以预设量化标度值,然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可具有相同的量化位置(或位置值)。根据实施方式的量化器40001基于量化位置执行体素化以重构量化点。如像素(包括
2d图像/视频信息的最小单元)的情况中一样,根据实施方式的点云内容(或3d点云视频)的点可以包括在一个或更多个体素中。作为体积和像素的复合体,术语体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间分割成单元(单位=1.0)时生成的3d立方空间。量化器40001可使3d空间中的点组与体素匹配。根据实施方式,一个体素可仅包括一个点。根据实施方式,一个体素可以包括一个或更多个点。为了将一个体素表示为一个点,体素的中心的位置可以基于包括在体素中的一个或更多个点的位置来设定。在这种情况下,包括在一个体素中的所有位置的属性可被组合并指派给体素。
92.根据实施方式的八叉树分析器40002执行八叉树几何编码(或八叉树编码)以按八叉树结构呈现体素。八叉树结构表示基于八进制树结构与体素匹配的点。
93.根据实施方式的表面近似分析器40003可分析并近似八叉树。根据实施方式的八叉树分析和近似是分析包括多个点的区域以有效地提供八叉树和体素化的过程。
94.根据实施方式的算术编码器40004对八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。作为编码结果,生成几何比特流。
95.颜色变换器40006、属性变换器40007、raht变换器40008、lod生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,对各个元素独立地应用属性编码。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(raht)编码、基于插值的分层最近邻居预测(预测变换)编码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)编码。根据点云内容,可选择性地使用上述raht编码、预测变换编码和提升变换编码,或者可使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
96.根据实施方式的颜色变换器40006执行变换包括在属性中的颜色值(或纹理)的颜色变换编码。例如,颜色变换器40006可变换颜色信息的格式(例如,从rgb到ycbcr)。可选地,可根据包括在属性中的颜色值来应用根据实施方式的颜色变换器40006的操作。
97.根据实施方式的几何重构器40005重构(解压缩)八叉树和/或近似八叉树。几何重构器40005基于分析点分布的结果来重构八叉树/体素。重构的八叉树/体素可被称为重构的几何(恢复的几何)。
98.根据实施方式的属性变换器40007执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。如上所述,由于属性依赖于几何,所以属性变换器40007可以基于重构的几何信息来变换属性。例如,基于包括在体素中的点的位置值,属性变换器40007可变换该位置处的点的属性。如上所述,当基于包括在体素中的一个或更多个点的位置来设定体素的中心位置时,属性变换器40007变换一个或更多个点的属性。当执行trisoup几何编码时,属性变换器40007可以基于trisoup几何编码来变换属性。
99.属性变换器40007可以通过计算距各个体素的中心位置(或位置值)特定位置/半径内的相邻点的属性或属性值(例如,各个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可在计算平均时根据从中心到各个点的距离来应用权重。因此,各个体素具有位置和计算的属性(或属性值)。
100.属性变换器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树或莫顿码。
101.如图所示,变换的属性被输入到raht变换器40008和/或lod生成器40009。
102.根据实施方式的raht变换器40008基于重构的几何信息来执行用于预测属性信息的raht编码。例如,raht变换器40008可以基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
103.根据实施方式的lod生成器40009生成细节级别(lod)来执行预测变换编码。根据实施方式的lod是点云内容的细节程度。随着lod值减小,指示点云内容的细节劣化。随着lod值增大,指示点云内容的细节增强。点可按lod分类。
104.根据实施方式的提升变换器40010执行基于权重来变换点云属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
105.根据实施方式的系数量化器40011基于系数来量化属性编码的属性。
106.根据实施方式的算术编码器40012基于算术编码对量化的属性进行编码。
107.尽管图中未示出,图4的点云编码器的元件可由包括被配置成与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图4的点云编码器的元件的操作和/或功能中的至少一个。另外,一个或更多个处理器可操作或执行用于执行图4的点云编码器的元件的操作和/或功能的软件程序和/或指令集合。根据实施方式的一个或更多个存储器可以包括高速随机存取存储器,或者包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储器装置)。
108.图5示出根据实施方式的体素的示例。
109.图5示出位于由三个轴(x轴、y轴和z轴)所组成的坐标系表示的3d空间中的体素。如参考图4所述,点云编码器(例如,量化器40001)可执行体素化。体素是指当基于表示3d空间的轴(例如,x轴、y轴和z轴)将3d空间分割成单元(单位=1.0)时生成的3d立方空间。图5示出通过八叉树结构生成的体素的示例,其中由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框被递归地再分。一个体素包括至少一个点。可从与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有类似2d图像/视频的像素的属性(例如,颜色或反射率)。体素的细节与参考图4描述的那些相同,因此省略其描述。
110.图6示出根据实施方式的八叉树和占用代码的示例。
111.如参考图1至图4所描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编码(或八叉树编码)以有效地管理体素的区域和/或位置。
112.图6的上部示出八叉树结构。根据实施方式的点云内容的3d空间由坐标系的轴(例
如,x轴、y轴和z轴)表示。通过由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框的递归再分来创建八叉树结构。这里,2d可被设定为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。d的值在下式中确定。在下式中,(x
intn
,y
intn
,z
intn
)表示量化的点的位置(或位置值)。
[0113][0114]
如图6的上部的中间所示,整个3d空间可根据分割被划分成八个空间。各个划分的空间由具有六个面的立方体表示。如图6的右上部所示,八个空间中的各个个基于坐标系的轴(例如,x轴、y轴和z轴)再次划分。因此,各个空间被划分成八个更小的空间。所划分的更小的空间也由具有六个面的立方体表示。应用该分割方案,直至八叉树的叶节点变为体素。
[0115]
图6的下部示出八叉树占用代码。生成八叉树的占用代码以指示通过划分一个空间而生成的八个划分的空间中的各个个是否包括至少一个点。因此,单个占用代码由八个子节点表示。各个子节点表示划分的空间的占用,并且子节点具有1比特的值。因此,占用代码被表示为8比特代码。即,当与子节点对应的空间中包括至少一个点时,节点被指派值1。当与子节点对应的空间中不包括点(空间为空)时,节点被指派值0。由于图6所示的占用代码为00100001,所以指示与八个子节点当中的第三子节点和第八子节点对应的空间各自包括至少一个点。如图所示,第三子节点和第八子节点中的各个个具有八个子节点,并且子节点由8比特占用代码表示。附图示出第三子节点的占用代码为10000111,并且第八子节点的占用代码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可对占用代码执行熵编码。为了增加压缩效率,点云编码器可对占用代码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用代码来重构八叉树。
[0116]
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可执行体素化和八叉树编码以存储点位置。然而,点并不总是在3d空间中均匀分布,因此可能有存在较少点的特定区域。因此,对整个3d空间执行体素化是低效的。例如,当特定区域包括很少点时,在该特定区域中不需要执行体素化。
[0117]
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可跳过体素化并执行直接编码以直接对包括在特定区域中的点位置进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(dcm)。根据实施方式的点云编码器还可以基于表面模型执行trisoup几何编码,其要基于体素来重构特定区域(或节点)中的点位置。trisoup几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可从网格表面生成点云。根据实施方式的直接编码和trisoup几何编码可选择性地执行。另外,根据实施方式的直接编码和trisoup几何编码可与八叉树几何编码(或八叉树编码)组合执行。
[0118]
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。要应用直接编码的节点不是叶节点,在特定节点内应该存在小于阈值的点。另外,要应用直接编码的点的总数不应超过预设阈值。当满足上述条件时,根据实施方式的点云编码器(或算术编码器40004)可对点位置(或位置值)执行熵编码。
[0119]
根据实施方式的点云编码器(例如,表面近似分析器40003)可确定八叉树的特定
级别(小于八叉树的深度d的级别),并且可从该级别开始使用表面模型以执行trisoup几何编码,以基于体素来重构节点区域中的点位置(trisoup模式)。根据实施方式的点云编码器可指定要应用trisoup几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在trisoup模式下操作。换言之,仅当指定的级别小于八叉树的深度值时,根据实施方式的点云编码器才可在trisoup模式下操作。根据实施方式的指定级别的节点的3d立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于方块。几何被表示为各个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
[0120]
一个块具有12条边,因此一个块中存在至少12个交点。各个交点被称为顶点。当共享边的所有块当中存在与边相邻的至少一个占用体素时,检测沿着边存在的顶点。根据实施方式的占用体素是指包括点的体素。沿着边检测到的顶点位置是沿着共享边的所有块当中与边相邻的所有体素的边的平均位置。
[0121]
一旦检测到顶点,根据实施方式的点云编码器就可对边的起点(x,y,z)、边的方向向量(δx,δy,δz)和顶点位置值(边内的相对位置值)执行熵编码。当应用trisoup几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可以通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
[0122]
位于块的边处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构过程中,基于边的起点、边的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程这样执行:i)计算各个顶点的质心值,ii)从各个顶点值减去中心值,并且iii)估计通过减法获得的值的平方和。
[0123][0124]
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x最小时,各个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于4个顶点,可根据顶点组合构造两个三角形。第一个三角形可由排序的顶点当中的顶点1、2和3组成,第二个三角形可由排序的顶点当中的顶点3、4和1组成。
[0125]
表2-1.从按1,
…
,n排序的顶点形成的三角形
[0126][0127]
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可以将细化顶点体素化。另外,点云编码器可以基于体素化的位置(或位置值)来执行属性编码。
[0128]
图7示出根据实施方式的邻居节点图案的示例。
[0129]
为了增加点云视频的压缩效率,根据实施方式的点云编码器可以基于上下文自适应算术编码来执行熵编码。
[0130]
如参考图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可立即对占用代码执行熵编码。另外,点云内容提供系统或点云编码器可以基于当前节点的占用代码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用代码执行熵编码(帧间编码)。根据实施方式的帧表示同时生成的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可依赖于所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可偏向一侧,这可增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编码。为编码划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
[0131]
图7示出基于邻居节点的占用来获得占用图案的过程。根据实施方式的点云编码器确定八叉树的各个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案用于推断节点的占用图案。图7的左部示出与节点对应的立方体(位于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指派权重。
[0132]
图7的右部示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示
所有邻居节点均是占用节点。如图所示,由于指派有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15(1、2、4和8之和)。点云编码器可根据邻居节点图案值执行编码(例如,当邻居节点图案值为63时,可执行64种类型的编码)。根据实施方式,点云编码器可以通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来降低编码复杂度。
[0133]
图8示出根据实施方式的各个lod中的点配置的示例。
[0134]
如参考图1至图7描述的,在执行属性编码之前将编码的几何重构(解压缩)。当应用直接编码时,几何重构操作可以包括改变直接编码的点的放置(例如,将直接编码的点放置在点云数据前面)。当应用trisoup几何编码时,通过三角形重构、上采样和体素化来执行几何重构过程。由于属性依赖于几何,所以基于重构的几何来执行属性编码。
[0135]
点云编码器(例如,lod生成器40009)可按lod对点进行分类(重新组织)。图中示出与lod对应的点云内容。图中最左侧画面表示原始点云内容。图中左起第二个画面表示最低lod中的点分布,图中最右侧画面表示最高lod中的点分布。即,最低lod中的点稀疏分布,最高lod中的点密集分布。即,随着lod在图底部所指示的箭头所指的方向上升高,点之间的空间(或距离)变窄。
[0136]
图9示出根据实施方式的用于各个lod的点配置的示例。
[0137]
如参考图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或lod生成器40009)可生成lod。通过根据设定的lod距离值(或欧几里得距离集合)将点重新组织为细化级别的集合来生成lod。lod生成过程不仅由点云编码器执行,而且由点云解码器执行。
[0138]
图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。
[0139]
如参考图4所描述的,根据实施方式的点云编码器可选择性地或组合地执行预测变换编码、提升变换编码和raht变换编码。
[0140]
根据实施方式的点云编码器可为点生成预测器以执行用于设定各个点的预测属性(或预测属性值)的预测变换编码。即,可为n个点生成n个预测器。根据实施方式的预测器可以基于各个点的lod值、关于存在于各个lod的设定距离内的相邻点的索引信息以及到相邻点的距离来计算权重(=1/距离)。
[0141]
根据实施方式的预测属性(或属性值)被设定为通过将各个点的预测器中设定的相邻点的属性(或属性值)(例如,颜色、反射率等)乘以基于到各个相邻点的距离计算的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可量化和逆量化通过从各个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
[0142]
表.属性预测残差量化伪代码
[0143][0144]
表.属性预测残差逆量化伪代码
[0145][0146][0147]
当各个点的预测器具有相邻点时,根据实施方式的点云编码器(例如,算术编码器40012)可如上所述对量化和逆量化的残差值执行熵编码。当各个点的预测器没有相邻点时,根据实施方式的点云编码器(例如,算术编码器40012)可对对应点的属性执行熵编码,而不执行上述操作。
[0148]
根据实施方式的点云编码器(例如,提升变换器40010)可生成各个点的预测器,设定计算的lod并在预测器中注册相邻点,并且根据到相邻点的距离来设定权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于,对属性值累积地应用权重。根据实施方式对属性值累积地应用权重的过程配置如下。
[0149]
1)创建用于存储各个点的权重值的阵列量化权重(qw)。qw的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的qw值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
[0150]
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
[0151]
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
[0152]
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的qw中的权重而计算的权重与updateweight阵列累加,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值与update阵列累加。
[0153]
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
[0154]
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在qw中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行
熵编码。
[0155]
根据实施方式的点云编码器(例如,raht变换器40008)可执行raht变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。raht变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在各个步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
[0156]
下式表示raht变换矩阵。在该式中,表示级别l的体素的平均属性值。可以基于和来计算。和的权重为和
[0157][0158]
这里,是低通值并且在次高级别的合并过程中使用。表示高通系数。各个步的高通系数被量化并经受熵编码(例如,由算术编码器400012编码)。权重被计算为通过和创建根节点如下。
[0159][0160]
gdc的值如高通系数那样也被量化并且经受熵编码。
[0161]
图10示出根据实施方式的点云解码器。
[0162]
图10所示的点云解码器是图1中描述的点云视频解码器10006的示例,并且可执行与图1所示的点云视频解码器10006的操作相同或相似的操作。如图所示,点云解码器可接收包括在一个或更多个比特流中的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码并输出解码的几何。属性解码器基于解码的几何和属性比特流执行属性解码,并且输出解码的属性。解码的几何和解码的属性用于重构点云内容(解码的点云)。
[0163]
图11示出根据实施方式的点云解码器。
[0164]
图11所示的点云解码器是图10所示的点云解码器的示例,并且可执行解码操作,其是图1至图9所示的点云编码器的编码操作的逆处理。
[0165]
如参考图1和图10所描述的,点云解码器可执行几何解码和属性解码。几何解码在属性解码之前执行。
[0166]
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化器(逆量化)11006、raht变换器11007、lod生成器(生成lod)11008、逆提升器(逆提升)11009和/或颜色逆变换器(逆变换颜色)11010。
[0167]
算术解码器11000、八叉树合成器11001、表面近似合成器11002、几何重构器11003
和坐标逆变换器11004可执行几何解码。根据实施方式的几何解码可以包括直接编码和trisoup几何解码。直接编码和trisoup几何解码选择性地应用。几何解码不限于上述示例,并且作为参考图1至图9描述的几何编码的逆处理执行。
[0168]
根据实施方式的算术解码器11000基于算术编码将所接收的几何比特流解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
[0169]
根据实施方式的八叉树合成器11001可以通过从解码的几何比特流获取占用代码(或关于作为解码结果取得的几何的信息)来生成八叉树。占用代码如参考图1至图9详细描述那样配置。
[0170]
当应用trisoup几何编码时,根据实施方式的表面近似合成器11002可以基于解码的几何和/或生成的八叉树来合成表面。
[0171]
根据实施方式的几何重构器11003可以基于表面和/或解码的几何重新生成几何。如参考图1至图9所描述的,选择性地应用直接编码和trisoup几何编码。因此,几何重构器11003直接导入关于应用了直接编码的点的位置信息并将其相加。当应用trisoup几何编码时,几何重构器11003可以通过执行几何重构器40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何。细节与参考图6描述的那些相同,因此省略其描述。重构的几何可以包括不包括属性的点云画面或帧。
[0172]
根据实施方式的坐标逆变换器11004可以通过基于重构的几何变换坐标来获取点位置。
[0173]
算术解码器11005、逆量化器11006、raht变换器11007、lod生成器11008、逆提升器11009和/或颜色逆变换器11010可执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(raht)解码、基于插值的分层最近邻居预测(预测变换)解码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)解码。上述三个解码方案可选择性地使用,或者可使用一个或更多个解码方案的组合。根据实施方式的属性解码不限于上述示例。
[0174]
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
[0175]
根据实施方式的逆量化器11006逆量化关于解码的属性比特流或作为解码结果取得的属性的信息,并且输出逆量化的属性(或属性值)。可以基于点云编码器的属性编码选择性地应用逆量化。
[0176]
根据实施方式,raht变换器11007、lod生成器11008和/或逆提升器11009可处理重构的几何和逆量化的属性。如上所述,raht变换器11007、lod生成器11008和/或逆提升器11009可选择性地执行与点云编码器的编码对应的解码操作。
[0177]
根据实施方式的颜色逆变换器11010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。可以基于点云编码器的颜色变换器40006的操作选择性地执行颜色逆变换器11010的操作。
[0178]
尽管图中未示出,图11的点云解码器的元件可由包括被配置成与包括在点云提供装置中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可操作或执行用于执行图11的点云解码器的元件的操作和/或功能的软件程序和/或指令集合。
[0179]
图12示出根据实施方式的发送装置。
[0180]
图12所示的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12所示的发送装置可执行与参考图1至图9描述的点云编码器的那些相同或相似的一个或更多个操作和方法。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010、算术编码器12011和/或传输处理器12012。
[0181]
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可执行与点云视频获取器10001的操作和/或获取方法(或参考图2描述的获取过程20000)相同或相似的操作和/或获取方法。
[0182]
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参考图1至图9描述的几何编码相同或相似,因此省略其详细描述。
[0183]
根据实施方式的量化处理器12001对几何(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或相似。细节与参考图1至图9描述的那些相同。
[0184]
根据实施方式的体素化处理器12002将点的量化的位置值体素化。体素化处理器120002可执行与参考图4描述的量化器40001的操作和/或体素化过程相同或相似的操作和/或过程。细节与参考图1至图9描述的那些相同。
[0185]
根据实施方式的八叉树占用代码生成器12003基于八叉树结构对点的体素化的位置执行八叉树编码。八叉树占用代码生成器12003可生成占用代码。八叉树占用代码生成器12003可执行与参考图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或相似的操作和/或方法。细节与参考图1至图9描述的那些相同。
[0186]
根据实施方式的表面模型处理器12004可以基于表面模型执行trisoup几何编码以基于体素重构特定区域(或节点)中的点位置。表面模型处理器12004可执行与参考图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或相似的操作和/或方法。细节与参考图1至图9描述的那些相同。
[0187]
根据实施方式的帧内/帧间编码处理器12005可对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可执行与参考图7描述的帧内/帧间编码相同或相似的编码。细节与参考图7描述的那些相同。根据实施方式,帧内/帧间编码处理器12005可以包括在算术编码器12006中。
[0188]
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或相似的操作和/或方法。
[0189]
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供给诸如几何编码和/或属性编码的必要处理过程。另外,根据实施方式的元数据处理器12007可生成和/或处理与几何编码和/或属性编码相关的信令信息。根据实施方式
的信令信息可与几何编码和/或属性编码分开编码。根据实施方式的信令信息可被交织。
[0190]
颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或相似,因此省略其详细描述。
[0191]
根据实施方式的颜色变换处理器12008执行颜色变换编码以变换包括在属性中的颜色值。颜色变换处理器12008可以基于重构的几何来执行颜色变换编码。重构的几何与参考图1至图9描述的相同。另外,其执行与参考图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
[0192]
根据实施方式的属性变换处理器12009执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施方式的预测/提升/raht变换处理器12010可以通过raht编码、预测变换编码和提升变换编码中的任一种或组合对变换的属性进行编码。预测/提升/raht变换处理器12010执行与参考图4描述的raht变换器40008、lod生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编码、提升变换编码和raht变换编码与参考图1至图9描述的那些相同,因此省略其详细描述。
[0193]
根据实施方式的算术编码器12011可以基于算术编码对编码的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
[0194]
根据实施方式的传输处理器12012可发送包括编码的几何和/或编码的属性和元数据信息的各个比特流,或者发送配置有编码的几何和/或编码的属性和元数据信息的一个比特流。当根据实施方式的编码的几何和/或编码的属性和元数据信息被配置成一个比特流时,比特流可以包括一个或更多个子比特流。根据实施方式的比特流可包括信令信息和切片数据,信令信息包括用于序列级别信令的序列参数集(sps)、用于几何信息编码信令的几何参数集(gps)、用于属性信息编码信令的属性参数集(aps)和用于拼块级别信令的拼块参数集(tps)。切片数据可以包括关于一个或更多个切片的信息。根据实施方式的一个切片可以包括一个几何比特流geom00以及一个或更多个属性比特流attr00和attr10。
[0195]
切片是指表示全部或部分编码点云帧的一系列语法元素。
[0196]
根据实施方式的tps可以包括关于一个或更多个拼块中的各个拼块的信息(例如,关于边界框的坐标信息和高度/大小信息)。几何比特流可包括头和有效载荷。根据实施方式的几何比特流的头可包括gps中所包括的参数集标识符(geom_parameter_set_id)、拼块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于包括在有效载荷中的数据的信息。如上所述,根据实施方式的元数据处理器12007可生成和/或处理信令信息并将其发送到传输处理器12012。根据实施方式,执行几何编码的元件和执行属性编码的元件可如虚线所指示彼此共享数据/信息。根据实施方式的传输处理器12012可执行与发送器10003的操作和/或发送方法相同或相似的操作和/或发送方法。细节与参考图1和图2描述的那些相同,因此省略其描述。
[0197]
图13示出根据实施方式的接收装置。
[0198]
图13所示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13所示的接收装置可执行与参考图1至图11描述的点云解码器的那些相同或相似的
一个或更多个操作和方法。
[0199]
根据实施方式的接收装置包括接收器13000、接收处理器13001、算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的各个解码元件可执行根据实施方式的对应编码元件的操作的逆处理。
[0200]
根据实施方式的接收器13000接收点云数据。接收器13000可执行与图1的接收器10005的操作和/或接收方法相同或相似的操作和/或接收方法。省略其详细描述。
[0201]
根据实施方式的接收处理器13001可从所接收的数据获取几何比特流和/或属性比特流。接收处理器13001可以包括在接收器13000中。
[0202]
算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可执行几何解码。根据实施方式的几何解码与参考图1至图10描述的几何解码相同或相似,因此省略其详细描述。
[0203]
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或相似的操作和/或编码。
[0204]
根据实施方式的基于占用代码的八叉树重构处理器13003可以通过从解码的几何比特流(或关于作为解码结果取得的几何的信息)获取占用代码来重构八叉树。基于占用代码的八叉树重构处理器13003执行与八叉树的合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用trisoup几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行trisoup几何解码和相关几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或相似的操作。
[0205]
根据实施方式的逆量化处理器13005可逆量化解码的几何。
[0206]
根据实施方式的元数据解析器13006可解析包括在所接收的点云数据中的元数据(例如,设定值)。元数据解析器13006可以将元数据传递给几何解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略其详细描述。
[0207]
算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或相似,因此省略其详细描述。
[0208]
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或相似的操作和/或编码。
[0209]
根据实施方式的逆量化处理器13008可逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
[0210]
根据实施方式的预测/提升/raht逆变换器13009可处理重构的几何和逆量化的属性。预测/提升/raht逆变换处理器13009执行与raht变换器11007、lod生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施方式的颜色逆变换处理器13010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或相
似的操作和/或逆变换编码。根据实施方式的渲染器13011可渲染点云数据。
[0211]
图14示出根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
[0212]
图14的结构表示服务器1460、机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或头戴式显示器(hmd)1470中的至少一个连接到云网络1400的配置。机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440或家用电器1450被称为装置。此外,xr装置1430可以对应于根据实施方式的点云数据(pcc)装置或者可操作上连接到pcc装置。
[0213]
云网络1400可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可使用3g网络、4g或长期演进(lte)网络或5g网络来配置。
[0214]
服务器1460可经由云网络1400连接到机器人1410、自驾驶车辆1420、xr装置1430、智能电话1440、家用电器1450和/或hmd 1470中的至少一个,并且可辅助连接的装置1410至1470的至少一部分处理。
[0215]
hmd 1470表示根据实施方式的xr装置和/或pcc装置的实现类型之一。根据实施方式的hmd型装置包括通信单元、控制单元、存储器、i/o单元、传感器单元和电源单元。
[0216]
以下,将描述应用了上述技术的装置1410至1450的各种实施方式。图14所示的装置1410至1450可操作上连接/联接到根据上述实施方式的点云数据发送和接收装置。
[0217]
《pcc+xr》
[0218]
xr/pcc装置1430可采用pcc技术和/或xr(ar+vr)技术,并且可被实现为hmd、设置在车辆中的平视显示器(hud)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
[0219]
xr/pcc装置1430可分析通过各种传感器或从外部装置获取的3d点云数据或图像数据并生成关于3d点的位置数据和属性数据。由此,xr/pcc装置1430可获取关于周围空间或真实对象的信息,并且渲染和输出xr对象。例如,xr/pcc装置1430可使包括关于所识别的对象的辅助信息的xr对象与所识别的对象匹配并输出匹配的xr对象。
[0220]
《pcc+xr+移动电话》
[0221]
xr/pcc装置1430可以通过应用pcc技术实现为移动电话1440。
[0222]
移动电话1440可以基于pcc技术解码和显示点云内容。
[0223]
《pcc+自驾驶+xr》
[0224]
自驾驶车辆1420可以通过应用pcc技术和xr技术被实现为移动机器人、车辆、无人驾驶飞行器等。
[0225]
应用了xr/pcc技术的自驾驶车辆1420可表示设置有用于提供xr图像的手段的自驾驶车辆,或者作为xr图像中的控制/交互目标的自驾驶车辆。具体地,作为xr图像中的控制/交互目标,自驾驶车辆1420可与xr装置1430相区分并且可操作上与之连接。
[0226]
具有用于提供xr/pcc图像的手段的自驾驶车辆1420可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的xr/pcc图像。例如,自驾驶车辆1420可具有hud并向其输出xr/pcc图像,从而向乘客提供与真实对象或呈现在画面上的对象对应的xr/pcc对象。
[0227]
当xr/pcc对象被输出到hud时,可输出xr/pcc对象的至少一部分以与乘客的眼睛
所指向的真实对象交叠。另一方面,当xr/pcc对象输出在设置在自驾驶车辆内的显示器上时,可输出xr/pcc对象的至少一部分以与画面上的对象交叠。例如,自驾驶车辆1220可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的xr/pcc对象。
[0228]
根据实施方式的虚拟现实(vr)技术、增强现实(ar)技术、混合现实(mr)技术和/或点云压缩(pcc)技术适用于各种装置。
[0229]
换言之,vr技术是仅提供真实世界对象、背景等的cg图像的显示技术。另一方面,ar技术是指在真实对象的图像上显示虚拟创建的cg图像的技术。mr技术与上述ar技术的相似之处在于,要显示的虚拟对象与真实世界混合和组合。然而,mr技术与ar技术的不同之处在于,ar技术在真实对象和作为cg图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而mr技术将虚拟对象当作具有与真实对象等同的特性的对象。更具体地,mr技术应用的示例是全息服务。
[0230]
最近,vr、ar和mr技术通常被称为扩展显示(xr)技术,而非彼此明确区分。因此,本公开的实施方式适用于vr、ar、mr和xr技术中的任一种。基于pcc、v-pcc和g-pcc技术的编码/解码适用于这种技术。
[0231]
根据实施方式的pcc方法/装置可被应用于提供自驾驶服务的车辆。
[0232]
提供自驾驶服务的车辆连接到pcc装置以进行有线/无线通信。
[0233]
当根据实施方式的点云数据(pcc)发送/接收装置连接到车辆以进行有线/无线通信时,装置可接收/处理与ar/vr/pcc服务(可与自驾驶服务一起提供)相关的内容数据,并将其发送到车辆。在pcc发送/接收装置安装在车辆上的情况下,pcc发送/接收装置可根据通过用户接口装置输入的用户输入信号接收/处理与ar/vr/pcc服务相关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可以包括指示自驾驶服务的信号。
[0234]
图15是示出根据实施方式的点云数据发送装置的操作的流程图。
[0235]
图15的流程图1500示出为了提高属性编码的压缩效率而执行投影的点云发送装置(或称为点云数据发送装置)的操作的示例。根据实施方式的投影在属性编码的预处理过程中应用于几何。以某种模式获取的点云数据(例如,激光雷达数据等)根据获取模式而具有不同的数据分布密度。如参考图1至图14所描述的,基于几何编码来执行属性编码。当基于非均匀分布的几何对属性进行编码时,属性压缩效率可能会降低。因此,将根据实施方式的投影应用于点云数据,其可以通过位置变化来提高属性压缩效率。投影是指对表示各个点的位置(几何)的坐标系(例如,由x轴、y轴和z轴组成的笛卡尔坐标系)进行变换,并将变换的坐标系变换为表示可压缩的形式(例如,方柱形式的空间)的坐标系。投影可以称为坐标变换。
[0236]
如参考图1至图14所描述的,点云发送装置(例如,图1的发送装置、图4的点云编码器和图12的发送装置)对几何执行编译(几何编译)(1510)。根据实施方式的几何编译对应于参考图4描述的坐标变换器40000、量化40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器(重构几何)40005的操作中的至少一者的组合,并且不限于上述示例。另外,根据实施方式的几何编译对应于参考图12描述的数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理
器12004、帧内/帧间编码处理器12005、算术编码器12006和元数据处理器12007中的至少一者的组合,并且不限于上述示例。几何编译可以称为几何编码。
[0237]
当执行有损编译时,根据实施方式的点云发送装置对编码的几何进行解码并执行重新着色(属性传送)(1520)。点云发送装置可以通过将重构的几何与属性匹配来使属性失真最小化。点云发送装置可以确定是否对重构的几何执行投影(1530)并执行投影(1540)。
[0238]
根据实施方式的点云发送装置基于投影几何来执行属性编译(1550)。根据实施方式的属性编译对应于参考图4描述的颜色变换器40006、属性变换器40007、raht变换器40008、lod生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012的操作中的至少一者的组合,并且不限于上述示例。另外,根据实施方式的属性编译对应于参考图12描述的颜色变换处理器12008、属性变换处理器12009、预测/提升/raht变换处理器12010和算术编码器12011的操作中的至少一者的组合,并且不限于上述示例。属性编译可以称为属性编码。点云发送装置执行属性编译并输出属性比特流。
[0239]
根据实施方式的几何编译和属性编译与参考图1至图14描述的相同,因此将省略其详细描述。
[0240]
图16示出点云数据发送装置的操作的示例。
[0241]
图16的流程图1600示出图15的流程图1500的点云数据发送装置(或点云发送装置)的操作的细节。流程图1600示出点云发送装置的操作的示例。因此,点云发送装置的数据处理顺序不限于该示例。另外,由根据实施方式的流程图1600的元素表示的操作可以通过构成点云发送装置的硬件、软件和/或过程或其组合来执行。
[0242]
点云发送装置对几何数据执行几何编译(例如,参考图15描述的几何编译1510)并输出几何比特流。根据实施方式的几何编译可以包括几何编码1610、几何量化1611和熵编译1612。根据实施方式的几何编码1610可以包括八叉树几何编码、trisoup几何编码或预测几何编译中的至少一者,但是不限于此。几何编码与参考图4描述的相同,因此将省略其描述。
[0243]
点云发送装置基于重构的几何数据来执行投影预处理(例如,参考图15描述的投影)(1620)。点云发送装置可以执行投影预处理并输出投影的几何和属性。根据实施方式的投影预处理1620可以包括用于重构的几何的解量化和解码1630、用于匹配解码的几何和属性的重新着色1631以及投影1632。
[0244]
根据实施方式的点云发送装置对重构的几何执行逆量化和解码(1630)。点云发送装置执行重新着色以匹配解码的几何和属性数据(1631)。点云发送装置对重新着色的点云数据(例如,几何和属性)执行投影(1632)。
[0245]
根据实施方式的投影1632可以包括坐标变换1640、坐标投影1641、激光位置调整1642、采样率调整1643或投影域体素化1644中的至少一者。几何表示点的位置,并且各个点的位置用坐标系表示(例如,2/3维笛卡尔坐标系、2/3维柱坐标系、球坐标系等)。为了将输入几何所指示的各个点的位置表示为3d空间中的位置,根据实施方式的点云发送装置选择坐标系并执行将几何变换为所选坐标系中的信息(例如,向量值)的坐标变换1640。例如,点云发送装置可以执行坐标变换,该坐标变换包括将笛卡尔坐标系变换为柱坐标系的笛卡尔-柱坐标变换,以及将笛卡尔坐标系变换为球坐标系的笛卡尔-球坐标变换。根据实施方式的坐标系和坐标变换不限于上述示例。根据实施方式的点云发送装置执行坐标投影
1641,该坐标投影1641将以变换的坐标系表示的几何投影成可压缩的形式(例如,方柱空间)。
[0246]
点云发送装置执行激光位置调整1642和/或采样率调整1643,以校正投影,以便提高投影的准确度。激光位置调整1642和采样率调整1643是投影校正处理过程,可以根据点云数据的特性和点云数据获取装置的特性选择性地执行,可以同时执行,可以全部依次执行,或者可以全部跳过。如上所述,投影的准确度可能会根据在执行投影时以预定模式获取的点云数据(例如,激光雷达数据等)的密度而降低。考虑到点云数据获取装置(例如,激光器)的位置,点云发送装置执行激光位置调整1642,以校正投影的点云数据(例如,投影的几何)。点云发送装置执行采样率调整1643,以通过应用基于点云数据获取装置的机械特性的比例因子来校正投影的点云数据(例如,投影的几何)。
[0247]
点云发送装置执行将投影的几何变换成对压缩有效的域的体素化1644。通过体素化1644将投影的几何变换为整数单位的位置信息以进行压缩。
[0248]
点云发送装置基于投影的几何来执行属性编译(例如,参考图15描述的属性编译1550)并输出属性比特流。根据实施方式的属性编译包括属性编码1621、属性量化1622和熵编译1623。属性编译可以称为属性编码。根据实施方式的属性编码1621对应于raht编码、预测变换编译或提升变换编译中的至少一者,或者根据点云内容的编码方案中的一者或更多者的组合。例如,raht编译和提升变换编译可以用于有损编译,该有损编译将点云内容数据压缩到显著程度。预测变换编译可以用于无损编译。
[0249]
如图所示,输出的几何比特流和属性比特流被复用和发送。
[0250]
图17示出点云发送装置的处理过程的示例。
[0251]
该图中的流程图1700示出参考图15至图16描述的点云发送装置的处理过程的示例。点云发送装置的操作不限于该示例,并且可以按照图17的顺序执行与相应元件相对应的操作,或者可以不按顺序执行。
[0252]
如参考图15和图16所描述的,点云发送装置接收点云数据并对几何执行几何编码(1710)。几何编码1710与参考图15描述的几何编译1510以及参考图16描述的几何编译、图16的几何编码1610、几何量化1611和熵编译1612相同,因此将省略其详细描述。点云发送装置执行几何解码1720和重新着色1725。因为解码1720和重新着色1725与图15的几何解码/重新着色1520以及图16的逆量化和解码1630和重新着色1631相同,因此将省略其详细描述。根据实施方式的点云发送装置对重新着色的几何数据执行投影。根据实施方式的投影包括坐标变换1730、坐标投影1731、激光位置调整1733、采样率调整1733和投影域体素化1734。点云发送装置执行坐标变换1730。根据实施方式的坐标变换1730与参考图16描述的投影1632和坐标变换1640相同,因此将省略其详细描述。点云发送装置执行坐标投影1731。根据实施方式的坐标投影1731与参考图16描述的投影1632相同,因此将省略其详细描述。为了校正投影,点云发送装置可以依次或有选择性地执行激光位置调整1732、采样率调整1733和投影域体素化1734。激光位置调整1732、采样率调整1733和投影域体素化1734与参考图16描述的激光位置调整1642、采样率调整1643和体素化1644相同,因此将省略其详细描述。
[0253]
根据实施方式的点云发送装置执行属性编译1740和熵编译1745。属性编译1740和熵编译1745与参考图15描述的属性编译1550以及参考图16描述的属性编译(例如,属性编
码1621和熵编译1623)相同,因此将省略其详细描述。
[0254]
图18示出坐标变换的示例。
[0255]
如参考图15至图18所描述的,点云发送装置执行坐标变换(例如,坐标变换1641、坐标变换1730等)。几何是指示例如在点云的点的位置的信息。如参考图4所描述的,几何信息可以表示为二维坐标系的值(例如,由x轴和y轴组成的笛卡尔坐标的参数(x,y),柱坐标的参数(r,θ)),或者三维坐标系的值(例如,正交坐标的参数(x,y,z),柱坐标的参数(r,θ,z),球坐标的参数等)。然而,取决于点云数据的类型和/或坐标系,几何所指示的点的位置可以被表示为具有不规则的位置或分布。例如,以笛卡尔坐标系表示的激光雷达数据的几何指示远离原点的点之间的距离会增加。例如,在柱坐标系中表示的几何的情况下,即使对于远离原点的点也可以表示均匀分布。然而,对于靠近原点的点,点之间的距离会增加,因此可能无法表示均匀分布。由于表示点的不规则位置和分布需要大量信息(即,几何),所以可能会导致几何编译效率的降低。因此,根据实施方式的点云编码器(例如,参考图1、图4、图11、图14和图15描述的点云编码器)可以按顺序变换几何的部分和/或全部坐标,以便提高几何编译的效率。
[0256]
图18示出可以相互变换的坐标系的示例,即,三维正交坐标系1800、柱坐标系1810和球坐标系1820。根据实施方式的坐标系不限于所示出的示例。
[0257]
根据实施方式的三维正交坐标系1800和柱坐标系1810可以相互变换。
[0258]
三维正交坐标系1800可以由在原点处彼此正交的x轴、y轴和z轴组成。三维正交坐标系上的点(或参数)可以表示为(x,y,z)。x轴和y轴形成的xy平面、y轴和z轴形成的yz平面、x轴和z轴形成的xz平面可以彼此正交地在原点处相交。术语x轴、y轴、z轴仅用于区分各个轴,并且可以用其他术语代替。
[0259]
柱坐标系1810可以由在原点处彼此正交的x轴、y轴和z轴组成。柱坐标系1810上的点(或参数)p可以表示为(r,θ,z)。这里,r表示通过坐标空间中的点p在xy平面中的正交投影所获得的点与原点之间的距离。θ表示x轴的正方向与将原点与通过点p在xy平面上的正交投影获得的点连接的直线之间的角度。z表示点p与通过点p在xy平面上的正交投影获得的点之间的距离。术语x轴、y轴、z轴仅用于区分各个轴,并且可以用其他术语代替。
[0260]
图中所示的式1811表示在根据直角-柱坐标变换将正交坐标变换为柱坐标时,用于将以正交坐标表示的几何信息表达为柱坐标系的式。即,式1811指示柱坐标系的参数可以根据坐标变换用正交坐标系的一个或更多个参数来表示(例如,)
[0261]
图中所示的式1812表示在根据柱-正交坐标变换将柱坐标变换为正交坐标时,用于将以柱坐标表示的几何信息表达为正交坐标系的式。即,式1812指示正交坐标系的参数可以根据坐标变换用柱坐标系的一个或更多个参数来表示(例如,x=rcosθ))。
[0262]
根据实施方式的三维正交坐标系1800和球坐标系1820可以相互变换。
[0263]
根据实施方式的球坐标系1820可以由在原点处彼此正交的x轴、y轴和z轴组成。球坐标系上的点(或参数)p可以表示为这里,ρ表示从原点o到点p的距离,并且具有大于或等于0的值(ρ≥0))。表示z轴正方向与从原点到点p的直线之间的角度,并且具有在一定范围内的值θ表示从原点到通过点p在xy平面上的正交投影获得的点的直线与x轴正方向之间的角度,并且具有在一定范围内的值((0≤θ≤2π))。术语x轴、y轴、z
轴仅用于区分各个轴,并且可以用其他术语代替。
[0264]
图中所示的式1821表示在根据正交-球坐标变换将正交坐标变换为球坐标时,用于将以正交坐标表示的几何信息表达为球坐标系的式。即,式1821指示球坐标系的参数可以根据坐标变换用正交坐标系的一个或更多个参数来表示(例如,)。
[0265]
图中所示的式1822表示在根据球-正交坐标变换将球坐标变换为正交坐标时,用于将以球坐标表示的几何信息表达为正交坐标系的式。即,式1822指示正交坐标系的参数可以根据坐标变换用球坐标系的一个或更多个参数来表示(例如,z=ρsinθ)。
[0266]
图19示出坐标系的示例。
[0267]
图19示出考虑激光模块的布置的激光雷达数据的坐标系的示例。图19的最左边部分示出收集激光雷达(光检测和测距或光成像、检测和测距)数据的激光雷达头1900。激光雷达数据是通过激光雷达技术获得的,该激光雷达技术通过向对象发射激光来测量距离。激光雷达头1900包括在垂直平面中以一角度布置并围绕垂直轴旋转的一个或更多个激光模块(或激光传感器)。从相应激光模块输出的激光射线从对象反射并返回的时间(和/或其波长)可以彼此相等或不同。因此,激光雷达数据是基于返回时间的差和/或来自对象的激光射线之间的波长差构建的3d表示。为了具有更广泛的覆盖范围,激光模块被布置成放射状地输出激光。因此,根据实施方式的坐标系具有与激光模块输出激光的形式相对应的扇形平面,并且包括通过将平面绕柱坐标系轴旋转360度而获得的扇形柱坐标系1910以及通过绕球坐标系轴旋转作为柱坐标系和球坐标系的组合的一部分的弧形360度而获得的弧形球坐标系1920。当将柱坐标系的垂直方向表示为高度(elevation)时,根据实施方式的扇形柱坐标系1910具有一定范围。另外,当球坐标系的垂直方向表示为高度时,根据实施方式的弧形球坐标系1920具有一定的范围。
[0268]
图20示出坐标变换的示例。
[0269]
如参考图15至图18所描述的,点云发送装置执行坐标变换(例如,坐标变换1641、坐标变换1730等)。图20示出坐标变换,其中,基于激光模块的特性来将正交坐标系2000(例如,参考图18描述的正交坐标系1800)变换为扇形柱坐标系2010(例如,参考图19描述的扇形柱坐标系)和弧形球坐标系2020(例如,参考图19描述的弧形球坐标系1920),并且反之亦然。根据实施方式的可变换坐标系不限于上述示例。
[0270]
根据实施方式的正交坐标系2000可以变换为扇形柱坐标系2010,并且反之亦然。
[0271]
根据实施方式的正交坐标系2000与参考图18描述的3d正交坐标系1800相同,因此将省略其详细描述。
[0272]
根据实施方式的扇形柱坐标系2010可以由在原点处彼此正交的x轴、y轴和z轴组成。扇形柱坐标系2010上的点(或参数)p可以表示为(r,θ,φ)。这里,r表示通过坐标空间中的点p在xy平面上的正交投影获得的点与原点之间的距离。θ表示x轴的正方向与将原点与通过点p在xy平面上的正交投影获得的点连接的直线之间的角度。φ表示从参考图19描述的平面扇形的中心点延伸并且与将点p和通过点p在xy平面上的正交投影获得的点连接的直线垂直的直线与将中心和点p连接的直线(如虚线所示)之间的角度。术语x轴、y轴和z轴仅用于区分各个轴,并且可以用其他术语代替。
[0273]
图中所示的式2011表示在根据正交-扇形坐标变换将正交坐标系2000变换为扇形
柱坐标系2010时,用于将以正交坐标表示的几何信息表达为扇形柱坐标系的式。即,式2011指示扇形柱坐标系的参数可以根据坐标变换用正交坐标系的一个或更多个参数来表示(例如,)。
[0274]
图中所示的式2012是在根据扇形柱-正交坐标变换将扇形柱坐标系变换为正交坐标系时,用于将以扇形柱坐标表示的几何信息表达为正交坐标系的式。即,式2012指示正交坐标系的参数可以根据坐标变换用扇形柱坐标系的一个或更多个参数来表示(例如,x=rcosθ))。
[0275]
根据实施方式的正交坐标系2000可以变换为弧形球坐标系2020,并且反之亦然。根据实施方式的弧形球坐标系2020可以由在原点处彼此正交的x轴、y轴和z轴组成。弧形球坐标系上的点(或参数)p可以表示为(ρ,θ,φ)。这里,ρ表示从原点o到点p的距离,并且具有大于或等于0的值(ρ≥0)。θ表示将原点与通过点p在xy平面上的正交投影获得的点连接的线与x轴的正方向之间的角度,并且具有在一定范围内的值(0≤θ≤2π)。φ表示将点p和通过点p在xy平面上的正交投影获得的点连接的线与将原点和点p连接的直线(如虚线所示)之间的角度。术语x轴、y轴、z轴仅用于区分各个轴,并且可以用其他术语代替。
[0276]
图中所示的式2021表示在根据正交-弧形球坐标变换将正交坐标系变换为弧形球坐标系时,用于将以正交坐标表示的几何信息表达为弧形球坐标系的式。即,式1821指示弧形球坐标系的参数可以根据坐标变换用正交坐标系的一个或更多个参数来表示(例如,)。
[0277]
图中所示的式2022表示在根据弧形球-正交坐标变换将弧形球坐标系变换为正交坐标系时,用于将以弧形球坐标系表示的几何信息表达为正交坐标的式。即,式2022指示正交坐标系的参数可以根据坐标变换用弧形球坐标系的一个或更多个参数来表示(例如,)。
[0278]
根据实施方式的点云数据发送装置(例如,参考图1、图11、图14和图15描述的点云数据发送装置)生成与坐标变换相关的信令信息并将其发送到点云数据接收装置(例如,参考图1、图13、图14和图16描述的点云数据接收装置)。与坐标变换相关的信令信息可以以序列级别、帧级别、拼块级别、切片级别等被用信号通知。根据实施方式的点云解码器(例如,参考图1、图13、图14和图16描述的点云解码器)可以基于与坐标变换相关的信令信息来执行解码操作,其与点云编码器的编码操作相反。另外,根据实施方式的点云解码器可以通过基于是否对邻近块执行坐标变换、块的大小、点的数量和量化值推导坐标变换来执行坐标变换,而无需接收与坐标变换相关的信令信息。
[0279]
图21示出坐标投影的示例。
[0280]
点云发送装置执行坐标投影,其中在通过参考图15至图20描述的坐标变换获得的变换坐标系中表示的几何以可压缩的形式投影。图21示出参考图15至图17描述的坐标投影(例如,坐标投影1641)的示例。图22示出将扇形柱坐标系2100(例如,参考图19描述的扇形柱坐标系1910、参考图20描述的扇形柱坐标系2010)和弧形球坐标系2110(例如,参考图20描述的弧形球坐标系1920和弧形球坐标系2020)变换(投影)到矩形柱空间2120并且反之亦然的操作。根据实施方式的矩形柱空间2120可以在由x轴、y轴和z轴(或x’轴、y’轴、和z’轴)
组成的三维坐标系中表示,并且可以称为边界框。另外,x’轴、y’轴、z’轴中的每一者具有最大值(x_max、y_max、z_max)和最小值(x_min、y_min、z_min)。在图21所示的变换操作中,表示扇形柱坐标系2100中的点p的参数(r,θ,φ)和表示弧形球坐标系2110中的点p的参数(ρ,θ,φ)分别用x’轴、y’轴和z’轴的参数表示。参数(r,θ,φ)和参数(ρ,θ,φ)中的各个参数可以对应于x’轴、y’轴和z’轴之一(例如,r对应于x’轴),或者可以根据单独的变换式被变换以便与其对应。例如,具有有限范围的扇形柱坐标系2100的参数φ通过应用正切函数被映射到z’轴。因此,映射在z’轴上的值根据有限范围收敛,因此可以提高压缩效率。
[0281]
如下给出表示根据实施方式的弧形柱坐标系2110的参数(r,θ,φ)的投影的式。
[0282]
[式1]
[0283][0284][0285][0286]
即,f
x
(r)表示参数r在x轴上的投影,fy(θ)表示参数θ在y轴上的投影,并且fz(φ)表示参数φ在z轴上的投影。表示使上述式中的三角函数的计算最小化的投影的式如下。
[0287]
[式2]
[0288]fx
(r)=r2=(x-xc)2+(y-yc)2,
[0289][0290][0291]
表示根据实施方式的弧形球坐标系2110的参数(ρ,θ,φ)的投影的式如下。
[0292]
[式3]
[0293][0294][0295][0296]
即,f
x
(ρ)表示参数ρ在x轴上的投影,fy(θ)表示参数θ在y轴上的投影,并且fz(φ)表示参数φ在z轴上的投影。表示使上述式中的三角函数的计算最小化的投影的式如下。
[0297]
[式4]
[0298]fx
(ρ)=ρ2=(x-xc)2+(y-yc)2+(z-zc)2,
[0299]
[0300][0301]
在上述式中,(xc,yc,zc)表示投影前扇形柱坐标系2100的中心位置。该中心位置与参考图19描述的平面扇形的中心相同。另外,根据实施方式的(xc,yc,zc)可以表示激光雷达头位置(例如,世界坐标系(world coordinate system)的x、y和z坐标的原点)。
[0302]
图22示出激光位置调整的示例。
[0303]
图22示出参考图16描述的激光位置调整1642和参考图17描述的激光位置调整1732的示例。如参考图19所述,激光雷达头(例如,参考图19描述的激光雷达头1900)包括布置在垂直平面中的一个或更多个激光模块。为了保证覆盖范围更广的大量数据,一个或更多个激光模块被布置成放射状地输出激光。实际的激光在激光模块的末端输出。因此,激光的位置不同于与参考图19至图20描述的平面扇形的中心相对应的激光雷达头的位置。另外,从设置在激光雷达头的上部的激光模块输出的最上方的激光射线与从设置在激光雷达的下部处的激光模块输出的最下方激光射线之间存在位置差。当激光射线之间的位置差没有被反映时,投影的准确度可能会降低。因此,根据实施方式的点云发送装置执行反映所执行的激光位置调整的投影,以使各个激光的起点与激光雷达头位置一致。
[0304]
图22的左部分示出包括输出激光射线的任何激光模块的激光雷达头的结构2200。如图所示,从激光模块输出的激光的位置表示为在水平方向上与激光雷达头位置间隔开r
l
并在垂直方向上与激光雷达头位置间隔开z
l
的相对位置。
[0305]
图22的右部分示出激光在三维坐标系中的相对位置的表示的示例2210。图中所示的三维坐标系是用于表达参考图21描述的投影(例如,矩形柱空间2120)的坐标系,并且由x’轴、y’轴、z’轴组成。上述头位置可以设置为坐标系的原点(0,0,0),并且激光的相对位置表示为(x
l
,y
l
,z
l
)。参数(x
l
,y
l
)基于r
l
表示,它是在水平方向上距头位置的相对距离,如下所示。
[0306]
x
l
=r
l
·
cosθ,并且y
l
=r
l
·
sinθ。
[0307]
根据实施方式(x
l
,y
l
,z
l
)可以由点云发送装置和接收装置直接计算,或者可以通过信令等发送到点云发送装置和接收装置。
[0308]
扇形柱坐标系(例如,扇形柱坐标系2110)的参数(r,θ,φ)的激光位置应用值如下给出。
[0309]
[式5]
[0310][0311][0312][0313]
弧形柱坐标系(例如,弧形柱坐标系2110)的参数(ρ,θ,φ)的激光位置应用值如下给出。
[0314]
[式6]
[0315]
[0316][0317][0318]
如上所述,点云发送装置可以通过基于莫顿码(morton code)重新组织点来执行属性编译。莫顿码假设关于各个点的位置信息是正整数。因此,点云发送装置执行体素化(例如,参考图4至图6描述的体素化),使得表示投影的点云数据的位置的参数(例如,表示参考图21至图22描述的方柱空间2120的坐标系的参数)是正整数。当点之间的距离足够时,即使执行体素化,也可以进行无损压缩。然而,当点之间的距离很短时,执行体素化时可能会发生损失。
[0319]
因此,点云发送装置通过对投影的点云数据(例如,几何)执行采样率调整(例如,参考图16描述的采样率调整1643)来执行附加校正。
[0320]
根据实施方式的采样率调整是通过考虑投影值的范围和数据获取装置的特性(例如,激光雷达)定义各个投影轴的比例因子来执行的。如参考图19至图22所描述的,扇形球坐标系(例如,扇形柱坐标系1910、扇形柱坐标系2010、扇形柱坐标系2100等)的参数r和弧形球坐标系(弧形球坐标系1920、弧形球坐标系2020以及弧形球坐标系2110)的参数ρ表示各个坐标系的中心到目标点(例如,参考图19至图21描述的点p)的距离。因此,参数r和ρ具有大于或等于0的值,并且数据的频率是根据基于激光的距离和获取装置的分析能力的分辨率来确定的。扇形柱坐标系和弧形球坐标系的参数θ表示绕垂直轴的水平旋转角。因此,参数θ可以在0到360度的范围内,这确定了在激光雷达头(例如,参考图20至图22描述的激光雷达头)旋转时每度获取的数据的频率。弧形球坐标系的参数表示相对于垂直轴的角度。由于相对于垂直轴的角度与单个激光的角度高度相关,所以参数可以从-π/2变化到π/2,并且可以基于激光的数量、激光的垂直位置以及激光的准确度来确定数据的频率。因此,根据实施方式的采样率调整基于如上所述的各个参数的特性来定义投影参数的比例因子。在下文中,为简单起见,将描述扇形柱坐标系的投影(参数)的比例因子。然而,采样率调整不限于该示例。采样率调整可以同样应用于弧形球坐标系的投影(参数)以及其他投影。
[0321]
根据实施方式的用于投影扇形柱坐标系的采样率调整如下表达。
[0322]fs
(r
l
)=sr·
f(r
l
),fs(θs)=s
θ
·
f(θ
l
),fs(φs)=s
φ
·
f(φ
l
)
[0323]
这里,r
l
、θ
l
和φ
l
是表示通过执行激光位置调整获得的点的参数。f(r
l
)、f(θ
l
)和f(φ
l
)表示投影了参数的3d坐标系的相应轴。sr是参数r
l
的比例因子并应用于由f(r
l
)表示的轴(例如,x’轴)。s
θ
是θ
l
的比例因子并应用于由f(θ
l
)表示的轴(例如,y’轴)。s
φ
是φ
l
的比例因子并应用于由f(φ
l
)表示的轴(例如,z’轴)。
[0324]
根据实施方式的用于扇形柱坐标系的投影的采样率调整可以如下表达。
[0325]
x
′
=sr·rl
,y
′
=s
θ
·
θ
l
,并且z
′
=s
φ
·
tanφ
l
。
[0326]
根据实施方式的比例因子参数sr、s
θ
和s
φ
可以从归一化为各个轴的边界框边缘的长度的边界框的边缘的最大长度推导。
[0327]
根据实施方式的比例因子可以基于点云数据获取装置的机械特性来定义。例如,
当在垂直平面上布置有n个激光的获取装置(例如,激光雷达头)在水平方向旋转并且每度检测到m个激光反射,并且各个激光光源生成的光斑半径为d时,比例因子如下定义。
[0328]
sr=kr,s
θ
=k
θ
m并且s
φ
=k
φ
d。
[0329]
这里,kr、k
θ
和k
φ
表示常数。
[0330]
当以垂直方向、水平方向和径向方向表达每一个激光光源获取的数据之间的最小距离时,根据实施方式的比例因子如下表达。
[0331]
并且
[0332]
这里,dr、d
θ
和d
φ
分别表示针对半径增加的方向、旋转方向的角度和垂直方向的角度的距离。min()可以表示点云数据中的最小值或根据物理特性的最小值。
[0333]
另外,根据实施方式的比例因子可以被定义为各个轴上的密度的函数并且如下表达。
[0334]
sr=krnr/dr,s
θ
=k
θnθ
/d
θ
并且s
φ
=k
φnφ
/d
φ
[0335]
即,相对大的比例因子被应用到具有高的每单位长度密度的轴,相对小的比例因子被应用到具有低的每单位长度密度的轴。这里,n表示平行于各个轴的方向上的最大点数,d表示各个轴的长度。通过将n除以d获得的值对应于对应轴的密度。
[0336]
根据实施方式的比例因子可以根据信息的重要性来定义。例如,靠近原点的信息可以被认为是重要性较高的信息,而远离原点的信息可以被认为是重要性相对较低的信息。因此,可以定义比例因子,以对靠近原点的信息、基于水平/垂直角度(horizontal/vertical angle)的前方信息或靠近地平线的信息指派相对权重,并如下表达。
[0337]
sr=kr/g(r),s
θ
=k
θ
/g(θ),并且s
φ
=k
φ
/g(φ)
[0338]
这里,g(r),g(θ)和g(φ)表示相应轴的权重,并且可以表达为指示根据表示重要区域的范围设置的值的阶跃函数或指数函数的倒数。
[0339]
根据实施方式的点云发送装置可以移动各个轴,以使各个轴从原点开始,使得投影的点云数据(例如,几何)具有正值,或者对轴进行校正,使得各个轴的长度是2的幂。根据校正的投影的点云数据表达如下。
[0340][0341]
当三个轴的长度被校正为彼此相等以提高压缩效率时,根据校正的投影的点云数据表达如下。
[0342]
并且
[0343]
这里,max可以表示max(maxr,max
θ
,max
φ
)。另选地,它可以是对应于大于max(maxr,max
θ
,max
φ
)的数字当中的最接近的2
n-1
的值。
[0344]
根据实施方式的关于采样率调整的信息(包括关于比例因子的信息)可以被发送到点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器、图13的接收装置)。点云接收装置可以获取关于采样率调整的信息,并根据该信息执行采样率调整。
[0345]
下表示出属性便于(例如,预测提升编译方案)的坐标变换的delta
(bd)率和bd psnr的总结。对于c1、c2、cw和cy条件,属性的总体平均值(即,反射增益)为5.4%、4.0%、1.4%和2.7%。
[0346]
表
[0347][0348]
根据实施方式的投影也应用于raht编译。下表示出raht编译中坐标变换的bd率的总结。可以看出,点云数据(例如,cat3帧数据)的平均大大提高,c1和c3条件下的增益分别为15.3%和12.5%。
[0349]
表
[0350][0351]
图23示出体素化的示例。
[0352]
通过参考图15至图22描述的处理,将在由x、y、z组成的坐标系中表达的点云数据(几何)变换为对诸如距离、角度而言压缩高效的域。变换的点云数据通过体素化操作变换为整数单位的位置信息。
[0353]
图23的左部分示出未应用投影的作为点云数据序列的一帧的点云数据的示例
2300。图23的右部分示出基于扇形柱坐标系投影的点云数据的示例。具体地,第一示例2310示出观察r-θ平面时的投影的点云数据。第二示例2320示出观察-θ平面时的投影的点云数据。第三示例2330示出观察-r平面时的投影的点云数据。
[0354]
点云处理装置(例如,参考图1、图12和图14描述的发送装置)可以以比特流的形式发送编码的点云数据。比特流是形成点云数据(或点云帧)表示的比特序列。
[0355]
点云数据(或点云帧)可以被分割成拼块和切片。
[0356]
点云数据可以被分割成多个切片,并且被编码在比特流中。一个切片是点集,并表达为表示全部或部分编码的点云数据的一系列语法元素。一个切片可以依赖或不依赖其他切片。另外,一个切片包括一个几何数据单元,并且可以具有一个或更多个属性数据单元,或者可以具有零个属性数据单元。如上所述,由于属性编码是基于几何编码执行的,所以属性数据单元是基于同一切片中的几何数据单元的。即,点云数据接收装置(例如,接收装置10004或点云视频解码器10006)可以基于解码的几何数据来处理属性数据。因此,在切片中,几何数据单元必须出现在关联的属性数据单元之前。切片中的数据单元必须是连续的,切片的顺序没有指定。
[0357]
拼块是边界框(例如,参考图5描述的边界框)中的(三维)长方体。边界框可以包括一个或更多个拼块。一个拼块可以完全或部分重叠另一拼块。一个拼块可以包括一个或更多个切片。
[0358]
因此,点云数据发送装置可以通过根据重要性处理与拼块相对应的数据来提供高质量的点云内容。即,根据实施方式的点云数据发送装置可以以更好的压缩效率和适当的延迟对与对用户重要的区域相对应的数据执行点云压缩编译。
[0359]
根据实施方式的比特流包含信令信息和多个切片(切片0、...、切片n)。如图所示,信令信息在比特流中在切片之前。因此,点云数据接收装置可以首先获得信令信息,并基于信令信息来依次或选择性地处理多个切片。如图所示,切片0包括一个几何数据单元geom00和两个属性数据单元attr00和attr10。此外,几何数据单元在同一切片中出现在属性数据单元之前。因此,点云数据接收装置处理(解码)几何数据单元(或几何数据),并且然后基于处理的几何数据来处理属性数据单元(或属性数据)。根据实施方式的信令信息可以被称为信令数据、元数据等,但不限于此。
[0360]
根据实施方式,信令信息包括序列参数集(sps)、几何参数集(gps)以及一个或更多个属性参数集(aps)。sps是关于整个序列的编码信息,诸如配置文件(profile)或级别(level),并且可以包括关于整个序列的综合信息(序列级别),诸如画面分辨率和视频格式。gps是关于应用于包括在序列(比特流)中的几何的几何编码的信息。gps可以包括关于八叉树(例如,参考图6描述的八叉树)的信息和关于八叉树深度的信息。aps是关于应用于包括在序列(比特流)中的属性的属性编码的信息。如图所示,根据用于标识属性的标识符,比特流包含一个或更多个aps(例如,图中的aps0、aps1、
……
)。
[0361]
根据实施方式,信令信息还可以包括关于拼块的信息(例如,拼块清单)。关于拼块的信息可以包括关于拼块标识符、拼块大小等的信息。根据实施方式,信令信息被应用到对应的比特流作为关于序列的信息,即,比特流级别。另外,信令信息具有包括语法元素和描述该语法元素的描述符的语法结构。可以使用用于描述语法的伪代码。另外,点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器以及图13的接收装置)可以依次解
析并处理在语法中出现的语法元素。
[0362]
尽管图中未示出,但几何数据单元和属性数据单元分别包括几何头和属性头。几何头和属性头是以对应的切片级别应用的信令信息并且具有上述语法结构。
[0363]
几何头包括用于处理对应几何数据单元的信息(或信令信息)。因此,几何头首先出现在几何数据单元中。点云接收装置可以通过首先解析几何头来处理几何数据单元。几何头与gps相关联,其包含关于整个几何的信息。因此,几何头包含指定gps中包括的gps_geom_parameter_set_id的信息。另外,几何头包含与几何数据单元所属的切片相关的拼块信息(例如,tile_id)和切片标识符。
[0364]
属性头包含用于处理对应属性数据单元的信息(或信令信息)。因此,属性头首先出现在属性数据单元中。点云接收装置可以通过首先解析属性头来处理属性数据单元。属性头与aps相关联,其包含关于所有属性的信息。因此,属性头包含指定aps中包括的aps_attr_parameter_set_id的信息。如上所述,属性解码是基于几何解码的。因此,属性头包含指定几何头中包含的切片标识符的信息,以便确定与属性数据单元相关联的几何数据单元。
[0365]
当点云发送装置执行参考图15至图23所描述的投影时,比特流中的信令信息还可以包括与投影相关的信令信息。根据实施方式的与投影相关的信令信息可以包括在序列级别的信令信息(例如,sps、aps等)中,或者包括在切片级别(例如,属性头)、sei消息等中。根据实施方式的点云接收装置可以基于与投影相关的信令信息来执行包括逆投影的解码。
[0366]
图24示出与投影相关的信令信息的语法结构的示例。
[0367]
根据实施方式的与投影相关的信令信息可以包括在各种级别(例如,序列级别、切片级别等)的信令信息中。与投影相关的信令信息与指示是否已经执行投影的信令信息(例如,projection_flag)一起被发送到点云接收装置(例如,图1的接收装置10004、图10和图11的点云解码器、图13的接收装置)。
[0368]
projection_flag:当projection_flag的值为1时,其指示解码器后处理操作中解码的数据应该重新投影到xyz坐标空间中。
[0369]
点云接收装置基于projection_flag来检查是否执行重投影。另外,当projection_flag的值为1时,点云接收装置可以取得与投影相关的信令信息并执行重新投影。根据实施方式的与投影相关的信令信息可以被定义为包括指示是否已经执行投影的信令信息(projection_flag)的概念,但不限于此。
[0370]
projection_info_id:用于标识投影信息的标识符。
[0371]
coordinate_conversion_type:指示与参考图19至图20描述的坐标变换相关的坐标变换类型。coordinate_conversion_type等于0指示坐标是柱坐标(例如,参考图18描述的柱坐标系1810)。coordinate_conversion_type等于1指示坐标是球坐标(例如,参考图18描述的球坐标系1820)。coordinate_conversion_type等于2指示坐标是扇形柱坐标(例如,参考图20描述的扇形柱坐标系2010)。coordinate_conversion_type等于3指示坐标是弧形球坐标(例如,参考图20描述的弧形球坐标系2020)。
[0372]
projection_type:指示用于坐标变换类型的投影(例如,参考图21描述的投影)的类型。如参考图20至图21所描述的,当coordinate_conversion_type的值为2时,投影前的坐标系为扇形柱坐标系(例如,图20的扇形柱坐标系2010以及图21的扇形柱坐标系2100)。
当projection_type的值为0时,x轴、y轴和z轴分别与扇形柱坐标系的参数(r,θ,φ)匹配(式1)。当projection_type的值为0时,x轴、y轴和z轴与r2、和tanφ匹配(式2)。投影类型不限于该示例并且可以针对各个轴来定义。
[0373]
laser_position_adjustment_flag:指示是否应用激光位置调整(例如,参考图22描述的激光位置调整)。laser_position_adjustment_flag等于1指示应用了激光位置调整。
[0374]
num_laser:指示激光的总数。下面的“for”语句是指示关于各个激光的激光位置信息的元素。这里,i表示各个激光,并且大于或等于0且小于由num_laser指示的激光的总数。
[0375]
r_laser[i]:指示激光i距中心轴的水平距离。
[0376]
z_laser[i]:指示激光i距水平中心的垂直距离。
[0377]
theta_laser[i]:指示激光i的垂直角度。
[0378]
根据实施方式的关于激光的位置信息不限于以上示例。例如,激光位置可以被表示为表示投影的坐标系的相应轴的参数,诸如x_laser[i]、y_laser[i]和z_laser[i]。
[0379]
以下元素指示与采样率调整(例如,参考图16描述的采样率调整1643)相关的信息。
[0380]
sampling_adjustment_cubic_flag:指示在采样率调整中三个轴的长度是否被校正为彼此相等。sampling_adjustment_cubic_flag等于1指示三个轴应该被校正为具有相同的长度。
[0381]
sampling_adjustment_spread_bbox_flag:指示是否执行采样率调整,使得点云数据的分布在边界框内是均匀的。当sampling_adjustment_spread_bbox_flag的值为1时,在采样率调整中使用均匀加宽边界框内分布的校正。
[0382]
sampling_adjustment_type:指示采样率调整的类型。sampling_adjustment_type等于0指示基于机械特性的采样率调整;sampling_adjustment_type等于1指示基于点之间最小轴向距离的采样率调整;sampling_adjustment_type等于2指示基于各个轴上的密度的采样率调整;sampling_adjustment_type等于3指示根据点的重要性的采样率调整。采样率调整的类型不限于该示例。
[0383]
geo_projection_enable_flag:指示是否在几何编译中应用投影。
[0384]
attr_projection_enable_flag:指示是否在属性编译中应用投影。
[0385]
bounding_box_x_offset、bounding_box_y_offset和bounding_box_z_offset:对应于表示包含投影的点云数据的范围(边界框)的起点的x轴值、y轴值和z轴值。例如,当projection_type的值为0时,bounding_box_x_offset、bounding_box_y_offset和bounding_box_z_offset的值表示为(0,0,0)。当projection_type的值为1时,bounding_box_x_offset、bounding_box_y_offset和bounding_box_z_offset的值表示为(-r_max1,0,0)。
[0386]
bounding_box_x_length、bounding_box_y_length和bounding_box_z_length:可以指示包含投影的点云数据的范围(边界框)。例如,当projection_type的值为0时,bounding_box_x_length、bounding_box_y_length和bounding_box_z_length的值分别为r_max、360和z_max。当projection_type的值为1时,bounding_box_x_length、bounding_
box_y_length和bounding_box_z_length的值分别为r_max1+r_max2、180和z_max。
[0387]
orig_bounding_box_x_offset、orig_bounding_box_y_offset和orig_bounding_box_z_offset:对应于指示包含投影前的点云数据的范围(边界框)的起点的x轴值、y轴值和z轴值。
[0388]
orig_bounding_box_x_length、orig_bounding_box_y_length、orig_bounding_box_z_length:可以指示包含坐标变换前的点云数据的范围(边界框)。
[0389]
rotation_yaw、rotation_pitch和rotation_roll:指示在坐标变换中使用的旋转信息。
[0390]
当coordinate_conversion_type的值为0或2时,即,当投影前的坐标系为柱坐标系或扇形柱坐标系时,以下元素指示与坐标系相关的信息。
[0391]
cylinder_center_x、cylinder_center_y和cylinder_center_z:对应于指示投影前柱坐标系所表示的圆柱的中心位置的x轴值、y轴值和z轴值。
[0392]
cylinder_radius_max、column_degree_max和column_z_max:指示投影前柱坐标系所表示的圆柱的半径、角度和高度的最大值。
[0393]
ref_vector_x、ref_vector_y和ref_vector_z:分别指示在投影由柱坐标系表示的圆柱时参考向量在(x,y,z)方向上相对于中心的方向性。它可以对应于投影的矩形柱空间(例如,参考图21描述的矩形柱空间2120)的x轴。
[0394]
normal_vector_x、normal_vector_y和normal_vector_z:指示由柱坐标系表示的圆柱的法线向量在(x,y,z)方向上相对于中心的方向性。它们可以对应于投影的矩形柱空间(例如,参考图21描述的矩形柱空间2120)的z轴。
[0395]
clockwise_degree_flag:指示由柱坐标系表示的圆柱的角度被估计的方向。clockwise_degree_flag等于1指示当从顶部观察圆柱时,估计圆柱的角度的方向是顺时针的。clockwise_degree_flag等于0指示当从顶部观察圆柱时,估计圆柱的角度的方向是逆时针的。估计由柱坐标系表示的圆柱的角度的方向可以对应于投影的矩形柱空间(例如,参考图21描述的矩形柱空间2120)的y轴方向。
[0396]
granurality_angular、granurality_radius和granurality_normal:指示角度的分辨率、从圆形平面表面到圆柱中心的距离以及在法向向量方向上到中心的距离的参数。参数可以分别对应于上述比例因子α、β和γ。
[0397]
如图所示,当coordinate_conversion_type的值为1或3时,即,投影前的坐标系为球坐标系或弧形球坐标系时,以及当coordinate_conversion_type的值为0或2时,即,投影前的坐标系为柱坐标系或扇形柱坐标系,与投影相关的信令信息的语法结构包括与指示对应坐标系相关信息的元素相同的元素。元素的细节与上述元素的细节相同,因此将省略其描述。
[0398]
图25示出根据实施方式的信令信息的示例。
[0399]
图25是sps的语法结构,并且示出在序列级别的sps中包括与投影相关的信令信息的示例。
[0400]
profile_compatibility_flags:指示比特流是否符合用于解码的特定配置文件或另一配置文件。配置文件指定了施加在比特流上以指定比特流解码的能力的约束。各个配置文件都是算法特征和限制的子集,并且由符合该配置文件的所有解码器支持。
profile_compatibility_flags用于解码并且可以根据标准等来定义。
[0401]
level_idc:指示应用于比特流的级别。级别在所有配置文件中使用。通常,级别对应于特定的解码器处理负载和存储能力。
[0402]
sps_bounding_box_present_flag:指示关于边界框的信息是否存在于sps中。sps_bounding_box_present_flag等于1指示存在关于边界框的信息。sps_bounding_box_present_flag等于0指示没有定义关于边界框的信息。
[0403]
当sps_bounding_box_present_flag的值为1时,sps中包括以下关于边界框的信息。
[0404]
sps_bounding_box_offset_x:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的量化x轴偏移。
[0405]
sps_bounding_box_offset_y:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的量化y轴偏移。
[0406]
sps_bounding_box_offset_z:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的量化z轴偏移。
[0407]
sps_bounding_box_scale_factor:指示用于指示源边界框大小的比例因子。
[0408]
sps_bounding_box_size_width:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的宽度。
[0409]
sps_bounding_box_size_height:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的高度。
[0410]
sps_bounding_box_size_depth:指示源边界框在包括x轴、y轴和z轴的笛卡尔坐标系中的深度。
[0411]
根据实施方式的sps语法还包括以下元素。
[0412]
sps_source_scale factor:指示源点云数据的比例因子。
[0413]
sps_seq_parameter_set_id:这是sps的标识符,供其他语法元素参考(例如,gps中的seq_parameter_set_id)。
[0414]
sps_num_attribute_sets:指示在比特流中编码的属性的数量。sps_num_attribute_sets的值在0到63的范围内。
[0415]
下面的“for”语句包括指示关于各个属性的信息的元素,其数量与由sps_num_attribute_sets指示的数量一样多。在图中,i表示各个属性(或属性集)。i的值大于等于0且小于由sps_num_attribute_sets指示的数量。
[0416]
attribute_dimension_minus1[i]:指示比第i属性的分量的数量小1的值。当属性为颜色时,该属性对应于表示目标点的光的特性的三维信号。例如,属性可以通过rgb的三个分量(红、绿、蓝)用信号通知。属性可以通过yuv的三个分量(yuv们是亮度和两个色度)用信号通知。当属性为反射率时,该属性对应于表示目标点的光反射率强度比的一维信号。
[0417]
attribute_instance_id[i]:指示第i属性的即时id。attribute_instance_id用于区分相同的属性标签和属性。
[0418]
attribute_bitdepth_minus1[i]:指示比第i属性信号的第一分量的比特深度小1的值。该元素加1的值指定第一分量的比特深度。
[0419]
attribute_cicp_colour_primaries[i]:指示第i属性的颜色属性源原色的色度
坐标。
[0420]
attribute_cicp_transfer_characteristics[i]:指示作为源输入线性光强度lc的函数的颜色属性的参考光电传递特性函数,标称实值范围为0到1,或指示作为输出线性光强度lo的函数的颜色属性的参考光电传递特性函数的逆函数,标称实值范围为0到1。
[0421]
attribute_cicp_matrix_coeffs[i]:指示用于从rbg或yxz原色推导亮度和色度信号的矩阵系数。
[0422]
attribute_cicp_video_full_range_flag[i]:指示从具有e’y、e’pb和e’pr或e’r、e’g和e’b的实值的分量信号推导的亮度和色度信号的黑色级别和范围。
[0423]
known_attribute_label_flag[i]、known_attribute_label[i]和attribute_label_fourbytes[i]一起用于识别以第i属性发送的数据的类型。known_attribute_label_flag[i]指示属性是由known_attibute_label[i]的值还是由作为另一对象标识符的attribute_label_fourbytes[i]的值标识的。
[0424]
如上所述,sps语法包括与投影相关的信令信息。
[0425]
projection_flag与参考图24描述的projection_flag相同。当projection_flag的值为1时,sps语法还包括与参考图24描述的投影相关的信令信息(projection_info())。由于与投影相关的信令信息与参考图24描述的相同,因此将省略其详细描述。
[0426]
sps_extension_flag:指示sps_extension_data_flag是否存在于sps中。sps_extension_flag等于0指示在sps语法结构中不存在sps_extension_data_flag语法元素。sps_extension_flag的值1保留供将来使用。sps_extension_flag设置为1之后,解码器可以忽略所有sps_extension_data_flag语法元素。
[0427]
sps_extension_data_flag:指示是否存在供将来使用的数据并且可以具有任何值。
[0428]
根据实施方式的sps语法不限于以上示例,并且还可以包括附加元素或者可以为了信令效率而排除图中所示的一些元素。一些元素可以通过除sps之外的信令信息(例如,aps、属性头等)或通过属性数据单元来用信号通知。
[0429]
图26示出根据实施方式的信令信息的示例。
[0430]
图26示出拼块清单的语法结构,并且示出与投影相关的信令信息被包括在拼块级别的拼块清单中的示例。
[0431]
num_tiles:指示拼块的数量。
[0432]
以下
‘
for’语句表示关于各个拼块的信息。这里,i表示各个拼块,并且大于或等于0且小于由num_tiles指示的拼块的数量。
[0433]
tile_bounding_box_offset_x[i]、tile_bounding_box_offset_y[i]和tile_bounding_box_offset_z[i]:分别指示拼块i的边界框的x轴偏移值、y轴偏移值和z轴偏移值。
[0434]
tile_bounding_box_size_width[i]、tile_bounding_box_size_height[i]和tile_bounding_box_size_depth[i]:分别指示拼块i的边界框的宽度、高度和深度。
[0435]
根据实施方式的拼块清单的语法包括与投影相关的信令信息。
[0436]
projection_flag与参考图24描述的projection_flag相同。当projection_flag的值为1时,sps语法还包括与参考图24描述的投影相关的信令信息(projection_info
())。由于与投影相关的信令信息与参考图24描述的相同,因此将省略其详细描述。
[0437]
根据实施方式的拼块清单语法不限于以上示例,并且还可以包括附加元素或者可以为了信令效率而排除图中所示的一些元素。一些元素可以通过除拼块清单之外的信令信息(例如,sps、aps、属性头等)或通过属性数据单元来用信号通知。
[0438]
图27示出根据实施方式的信令信息的示例。
[0439]
图27示出属性切片头的语法结构,并且示出在切片级别的属性切片头中包括与投影相关的信令信息的示例。
[0440]
根据实施方式的属性头的语法包括以下语法元素。
[0441]
ash_attr_parameter_set_id:具有与活动sps的aps_attr_parameter_set_id相同的值。
[0442]
ash_attr_sps_attr_idx:指定活动sps中的属性集的顺序。ash_attr_geom_slice_id指示几何头中包括的切片id(例如,gsh_slice_id)的值。
[0443]
当aps_slice_qp_delta_present_flag的值为1时,属性切片头的语法还包括以下给出的元素。aps_slice_qp_delta_present_flag是包括在属性参数集(aps)中的信息并且指示由ash_attr_qp_offset指示的分量qp偏移是否存在于属性数据单元的头中。
[0444]
ash_qp_delta_luma:指示分量qp的亮度值。
[0445]
ash_qp_delta_chroma:表示分量qp的色度值。
[0446]
根据实施方式的属性切片头的语法包括与投影相关的信令信息。projection_flag与参考图2描述的projection_flag相同。当projection_flag值为1时,sps语法还包括与参考图24描述的投影相关的信令信息(projection_info())。由于与投影相关的信令信息与参考图24描述的相同,因此将省略其详细描述。
[0447]
根据实施方式的属性切片头的语法不限于以上示例,并且还可以包括附加元素或者可以为了信令效率而排除图中所示的一些元素。一些元素可以通过除属性切片头之外的信令信息(例如,sps、aps等)或通过属性数据单元来用信号通知。
[0448]
图28是根据实施方式的信令信息。
[0449]
图28示出aps的语法结构,并且示出在序列级别的aps中包括与投影相关的信令信息的示例。
[0450]
attr_coord_conv_enable_flag:指示在属性编译中是否应用坐标变换(投影)。attr_coord_conv_enable_flag等于1指示应用坐标变换。attr_coord_conv_enable_flag等于0指示在属性编译中不应用坐标变换。
[0451]
以下
‘
for’语句表示各个属性的比例因子信息。这里,i表示坐标系的x轴、y轴和z轴。因此,i具有0、1和2作为其值。
[0452]
attr_coord_conv_scale[i]:以2-8
为单位指定坐标变换轴的比例因子。根据实施方式的scaleaxis[i]如下推导。
[0453]
scaleaxis[0]=attr_coord_conv_scale[0]
[0454]
scaleaxis[1]=attr_coord_conv_scale[1]
[0455]
scaleaxis[2]=attr_coord_conv_scale[2]
[0456]
尽管图中未示出,但aps的语法可以包括coord_conv_scale_present_flag。coord_conv_scale_present_flag指示坐标变换比例因子scale_x、scale_y和scale_z是否
存在。当coord_conv_scale_present_flag的值为1时,存在比例因子。当coord_conv_scale_present_flag的值为0时,不存在坐标变换比例因子。根据实施方式的比例因子(例如,上述的scale_x、scale_y、scale_z)可以是按照x轴、y轴和z轴的最大距离归一化的最小距离。
[0457]
根据实施方式的aps的语法不限于以上示例,并且还可以包括附加元素或者可以为了信令效率而排除图中所示的一些元素。一些元素可以通过除aps之外的信令信息(例如,sps、属性切片头等)或通过属性数据单元来用信号通知。
[0458]
图29是示出根据实施方式的点云数据接收装置的操作的流程图。
[0459]
图29的流程图2900示出处理已执行投影的点云数据的点云数据接收装置(或点云接收装置)(例如,图1的接收装置10004、图10和图11的点云解码器、图13的接收装置)的示例操作。如参考图1至图14所描述的,点云接收装置对输入的几何比特流执行几何解码(2910)。根据实施方式的几何解码可以包括八叉树几何解码和trisoup几何解码,但不限于此。点云接收装置执行参考图13描述的算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004和逆量化处理器13005的操作中的至少一者。点云接收装置输出重构的几何作为几何解码的结果。
[0460]
点云接收装置基于参考图24至图28描述的信令信息来确定是否应用投影。当应用投影时,点云接收装置对解码的几何执行投影(2930),并基于投影的几何来执行属性解码(2940)。当不应用投影时,点云接收装置基于重构的几何来执行属性解码(2940)。根据实施方式的属性解码2940对应于算术解码器13007、逆量化处理器13008、预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010的操作中的至少一者或组合,但不限于此。另外,根据实施方式的属性解码2940可以包括raht编译、预测变换编译和提升变换编译中的至少一者或组合。当执行投影时,点云接收装置执行逆投影(2950)。由于解码的属性与投影的几何匹配,所以必须将在投影的坐标系(或空间)中匹配的几何和属性的点云数据变换回原始坐标系。因此,点云接收装置通过执行逆投影来取得重构的点云数据。当尚未执行投影时,跳过逆投影2950。根据实施方式的投影2930可以称为用于属性解码的坐标变换预处理。根据实施方式的逆投影2950可以称为用于属性解码的坐标变换后处理。流程图2900示出点云接收装置的示例操作,并且操作顺序并不限于该示例。由根据实施方式的流程图2900的元素表示的操作可以由构成点云接收装置的硬件、软件和/或过程或其组合来执行。
[0461]
图30示出点云接收装置的操作的示例。
[0462]
图30的流程图3000具体示出图29的流程图2900的点云数据接收装置的操作。流程图3000示出点云接收装置的示例操作。因此,点云接收装置的数据处理的操作顺序不限于该示例。另外,由根据实施方式的流程图3000的元素表示的操作可以由构成点云接收装置的硬件、软件和/或过程或其组合来执行。
[0463]
点云接收装置通过解复用比特流来输出几何比特流和属性比特流。点云接收装置通过对几何比特流执行熵解码3001、解量化3002和几何解码3003来输出重构的几何。根据实施方式的熵解码3001、解量化3002和几何解码3003可以称为几何解码或几何处理,并且对应于参考图13描述的算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004和逆量化处理器13005的操作中的至少一者或组合。
[0464]
点云接收装置对属性比特流执行熵解码3010、解量化3011和属性解码3012,并输出重构的属性(或解码的属性)。根据实施方式的熵解码3010、解量化3011和属性解码3012可以称为属性解码或属性处理,并且对应于参考图29描述的属性解码2940。另外,根据实施方式的熵解码3010、解量化3011和属性解码3012对应于算术解码器13007、逆量化处理器13008和预测/提升/raht逆变换处理器13009和颜色逆变换处理器13010的操作中的至少一者或组合,但不限于上述示例。
[0465]
如参考图24至图28所描述的,根据实施方式的信令信息还包括指示是否将投影应用于几何和/或属性中的每一者的信令信息(例如,geo_projection_enable_flag、attr_projetion_enable_flag、attr_coord_conv_enable_flag等)。因此,根据实施方式的点云接收装置基于参考图24至图28描述的信令信息对重构的几何和重构的属性执行投影后处理(3020)。
[0466]
根据实施方式的投影后处理3020对应于参考图16描述的发送侧的投影预处理1620。根据实施方式的投影后处理3020对应于参考图29描述的投影2920和逆投影2950。图下方虚线框示出投影后处理3020的详细操作流程。如图所示,点云接收装置执行投影后处理3020,包括投影3021、投影索引图生成3022和逆投影3023。
[0467]
点云接收装置对重构的几何执行投影(3021)。根据实施方式的投影3021对应于参考图16描述的投影1632的逆。当点云发送装置已经对几何执行了投影时,重构的几何在点云接收装置上指示投影域中的位置。因此,点云接收装置基于信令信息(例如,参考图24至图28描述的与投影相关的信令信息、coord_conversion_type、bounding_box_x_offset等)来执行将投影的几何重新变换为3d空间的重新投影。点云接收装置可以从参考图24至图28描述的与投影相关的信令信息中取得重新投影数据的范围、缩放信息(例如,bounding_box_x/y/z_length、granurality_radius/angular/normal等)。
[0468]
根据实施方式的点云接收装置可以基于参考图24至图28描述的与投影相关的信令信息(例如,laser_position_adjustment_flag等)来检查是否已经在发送侧执行了参考图22描述的激光位置调整,并取得与激光位置调整相关的信息。另外,点云接收装置可以基于参考图24至图28描述的与投影相关的信令信息(例如,sampling_adjustment_cubic_flag等)来检查是否已经在发送侧执行了采样率调整(例如,采样率调整1643),并取得相关信息。根据实施方式的点云接收装置可以执行反映激光位置调整和采样率调整的重新投影。根据实施方式的投影、激光位置调整和采样率调整与参考图21至图23描述的相同,因此将省略其详细描述。
[0469]
点云接收装置可以基于参考图24至图28描述的与投影相关的信令信息(例如,projection_type)来将重新投影的点云数据(几何)的坐标系(例如,参考图18描述的柱坐标系1810和球坐标系1820)变换为原始坐标系(例如,xyz坐标系1800)。如上所述,参考图24至图28描述的与投影相关的信令信息包括原始坐标系中数据的输出范围(例如,orig_bounding_box_x_offset)以及与变换的坐标系相关的信息(例如,cylinder_center_x等)。点云接收装置可以使用式1至6的逆变换式。然而,如参考图15至图18所描述的,在点云发送装置执行体素化(例如,投影域体素化1644)和舍入时,可能会出现点的位置误差。因此,即使在点云接收装置基于信令信息执行投影时,也可能难以无损地重构几何。即,即使当属性被无损地重构时,也可能发生意外错误,因为几何与属性之间的准确匹配由于重构几何的
损失而失败。当仅在属性编译中应用投影时,即使在没有无损地重构重构的属性时,也可以通过将重构的几何连接到与其对应的重构的属性来进行适当的匹配。因此,可以获得具有减小的误差的重构的点云数据。
[0470]
因此,根据实施方式的点云接收装置执行投影索引图生成3022,以生成指示位置信息的索引的索引图,以便将投影的几何连接到在执行投影之前给出的位置。点云接收装置将重构的几何所表示的点相对于重构的几何按照特定的顺序(例如,莫顿码顺序、x-y-zz字形顺序等)组织起来,并根据该顺序指派索引。点云接收装置可以基于在投影之前给出的位置与索引之间的关系来生成索引到解码位置(几何)图和解码位置(几何)到索引图。点云接收装置对指派了索引的几何执行投影,并且生成解码位置到投影位置(几何)图。另外,点云接收装置基于解码位置与索引之间的关系(例如,索引到生成的解码位置(几何)图和解码位置(几何)到索引图)来生成投影位置到索引图。
[0471]
如参考图15至图17所描述的,点云发送装置基于投影的几何来执行属性编码。因此,重构的属性被表示为在参考图15至图23描述的投影域中表示的几何的属性。
[0472]
当执行属性解码时,投影域中的各个点都具有属性。因此,点云接收装置执行逆投影3023,可以基于投影位置到索引图和索引到位置图来重构投影的几何的原始几何,并且可以将重构的原始几何与重构的属性匹配。根据实施方式的投影索引图生成3022可以包括在逆投影3023中。
[0473]
图31示出点云接收装置的处理顺序的示例。
[0474]
图中所示的流程图3100示出参考图29至图30描述的点云接收装置的处理过程的示例。点云接收装置的操作不限于该示例,并且与相应要素相对应的操作可以按照图31所示的顺序执行,或可以不按顺序执行。
[0475]
如参考图29至图30所描述的,点云接收装置接收点云比特流作为输入,并对几何比特流执行熵解码3110、解量化3111和几何解码3112。根据实施方式的熵解码3110、解量化3111和几何解码3112对应于参考图30描述的几何处理,并且将省略其详细描述。如参考图30所描述的,点云接收装置基于参考图24至图28描述的信令信息来确定是否执行投影,并且在不执行投影的情况下执行属性解码3130。当执行投影时,点云接收装置执行投影后处理(例如,参考图30描述的投影后处理3020)。根据实施方式的投影后处理是参考图30描述的投影后处理3020的示例,并且包括坐标变换3120、坐标投影3121、平移调整3122、边界框调整3123、投影域体素化3124和逆投影3125。坐标变换3120、坐标投影3121、平移调整3122、边界框调整3123和投影域体素化3124可以对应于参考图30描述的投影3021。如参考图30所描述的,点云接收装置可以基于包括在参考图24至图28描述的信令信息中的与激光位置调整(例如,激光位置调整1642)、采样率调整(例如,采样率调整1643)等相关的信息来执行平移调整3122、边界框调整3123等。点云接收装置执行逆投影3125。由于根据实施方式的逆投影3125与参考图30描述的逆投影3023相同,因此将省略其详细描述。
[0476]
图32示出逆投影的示例。
[0477]
图32示出投影索引图生成3022作为参考图30至图31描述的逆投影的示例。图中所示的实线3200表示基于投影前给出的位置与索引之间的关系来生成索引到解码位置图的操作。图中所示的虚线3210表示生成解码位置到索引图的操作。图中所示的实线3220表示点云接收装置对索引指派几何执行投影、并生成针对投影位置(几何)图的解码位置到投影
位置图的操作。另外,图中所示的虚线3230表示点云接收装置基于解码位置与索引之间的关系(例如,索引到解码位置(几何)图和解码位置(几何)到索引图)来生成投影位置到索引图的操作。逆投影与参考图30描述的相同,因此省略其描述。
[0478]
图33示出根据实施方式的点云接收装置的处理过程的示例。
[0479]
图中所示的流程图3300示出参考图29至图31描述的点云接收装置的处理过程的示例。点云接收装置的操作不限于该示例,并且可以按照图33所示的顺序执行与相应要素相对应的操作,或者可以不按顺序执行。
[0480]
如参考图29至图30所描述的,当参考图28描述的attr_coord_conv_enabled_flag的值为1时,点云接收装置可以执行坐标变换预处理3310作为属性解码的预处理。根据实施方式的坐标变换预处理3310可以对应于参考图30描述的投影3021。根据实施方式的流程图3300的元素所表示的操作可以由构成点云接收装置的硬件、软件和/或过程或其组合来执行。点云接收装置基于参考图24至图28描述的与投影相关的信令信息来执行坐标变换预处理3310。坐标系变换预处理3310中输出的点的位置(几何)用于后续属性解码3320。根据实施方式的坐标变换预处理3310的输入(或输入数据)如下配置。根据实施方式的输入包括变量,所述变量是从参考图24至图28描述的与投影相关的信令信息中取得的或基于参考图24至图28描述的与投影相关的信令信息推导的。
[0481]
数组pointpos:指定以笛卡尔坐标表示的点位置的变量,
[0482]
attr_coord_conv_enabled_flag(例如,参考图28描述的attr_coord_conv_enabled_flag):指定在属性编译过程中使用坐标变换的指示符。
[0483]
变量number_lasers指定激光的数量
[0484]
变量laserangle指定激光仰角的正切
[0485]
变量geomangularorigin指定激光原点的(x,y,z)坐标
[0486]
变量scaleaxis指定用于各个轴的坐标变换的比例因子
[0487]
变量lasercorrection指定激光位置相对于geomangularorigin的校正
[0488]
该过程3310的输出是修改的数组pointpos和指定坐标变换前与后的位置之间的联系的pointposcart。
[0489]
根据实施方式的坐标变换预处理3310可以包括确定激光索引的过程。
[0490]
下面描述了针对经历坐标变换的点确定激光索引laserindex[pointidx]的过程,其中,pointidx在0到pointcount-1的范围内。这仅在attr_coord_conv_enabled_flag等于1时适用。
[0491]
首先,估计laserindexestimate[pointidx]通过如下确定节点角度pointtheta来计算:
[0492]
spoint=(pointpos[pointidx][0]-geomangularorigin[0])《《8
[0493]
tpoint=(pointpos[pointidx][1]-geomangularorigin[1])《《8
[0494]
r2=spoint
×
spoint+tpoint
×
tpoint
[0495]
rinvlaser=1
÷
sqrt(r2)
[0496]
pointtheta=((pointpos[pointidx][2]-geomangularorigin[2])
×
rinvlaser)》》14
[0497]
并如下确定距该点最近的激光角度laserangle[laserindexestimate
[pointidx]]:
[0498][0499]
根据实施方式的坐标变换预处理3310可以包括坐标变换过程。
[0500]
在过程开始时,将笛卡尔坐标中的点位置数组中的位置复制到pointposcart[pointidx],其中,pointidx在0到pointcount-1的范围内,如下所示:
[0501]
pointposcart[pointidx][0]=pointpos[pointidx][0]
[0502]
pointposcart[pointidx][1]=pointpos[pointidx][1]
[0503]
pointposcart[pointidx][2]=pointpos[pointidx][2]
[0504]
以下过程适用于将坐标轴从笛卡尔坐标变换为柱坐标的点,其中,convpointpos[pointidx]指定变换的柱坐标中的点位置,其中,pointidx在0到pointcount-1的范围内。
[0505]
convpointpos[pointidx][0]=sqrt(r2)》》8;
[0506]
convpointpos[pointidx][1]=(atan2(tpoint,spoint)+3294199)》》8;
[0507]
convpointpos[pointidx][2]=((pointpos[pointidx][2]-geomangularorigin[2]-laserco rrection[laserindex[pointidx]])
×
rinvlaser)》》22;
[0508]
更新的pointpos由各个轴上的比例因子的倍数指定。如果scaleaxis为非零正值,并且更新的pointpos如下推导,
[0509][0510]
其中,minpointpos是convpointpos[pointidx]当中的最小点位置,其中,pointidx在0到pointcount-1的范围内。
[0511]
如果scaleaxis的元素中的至少一个等于0,则scaleaxis由边界框推导。令maxpointpos为给定convpointpos的最大点位置,边界框沿轴的长度lengthbbox可以如下定义,
[0512]
lengthbbox[0]=maxpointpos[0]-minpointpos[0]
[0513]
lengthbbox[1]=maxpointpos[1]-minpointpos[1]
[0514]
lengthbbox[2]=maxpointpos[2]-minpointpos[2]
[0515]
并且三者当中的最大长度被定义:
[0516]
maxlengthbbox=max(lengthbbox[0],max(lengthbbox[1],
[0517]
lengthbbox[2]))
[0518]
然后,如下推导scaleaxis,
[0519]
scaleaxis[0]=maxlengthbbox
÷
lengthbbox[0]
[0520]
scaleaxis[1]=maxlengthbbox
÷
lengthbbox[1]
[0521]
scaleaxis[2]=maxlengthbbox
÷
lengthbbox[2]
[0522]
如参考图29至图30所描述的,点云接收装置执行属性解码3320。由于根据实施方式的属性解码3320与图29的属性解码2940、参考图30描述的属性解码或属性处理相同,因此将省略其详细描述。点云接收装置执行属性解码并执行坐标变换后处理,以使用笛卡尔坐标系中的点位置匹配属性(3330)。根据实施方式的坐标变换后处理3330的输入(或输入数据)如下配置。根据实施方式的输入包括变量,所述变量是从参考图24至图28描述的与投影相关的信令信息中取得的,或基于参考图24至图28描述的与投影相关的信令信息推导的。
[0523]
指示符attr_coord_conv_enabled_flag指定在属性编译过程中使用坐标变换
[0524]
具有元素pointsattr[pointidx][cidx]的数组pointsattr,其中,pointidx在0到pointcount-1的范围内,cidx在0到attrdim-1的范围内
[0525]
具有元素pointposcart[pointidx]的数组pointposcart,其中,pointidx在0到pointcount-1的范围内
[0526]
该过程3300的输出是具有元素pointsattr[pointidx][cidx]的数组pointsattr,其中具有pointsattr的索引pointidx的各个元素与由具有相同索引pointidx的数组pointposcart给定的位置相关联。
[0527]
图34是示出根据实施方式的发送点云数据的方法的流程图。
[0528]
图34的流程图3400示出通过参考图1至图33描述的点云数据发送装置(或点云发
送装置)(例如,参考图1、图12和图14描述的发送装置或点云编码器)发送点云数据的方法。点云数据发送装置对包含几何和属性的点云数据进行编码(3410)。几何是指示点云数据中的点的位置的信息,属性包括点的颜色和反射率中的至少一者。点云数据发送装置对几何进行编码。如参考图1至图33所描述的,属性编码依赖于几何编码。根据实施方式的点云发送装置可以对几何和/或属性执行坐标变换(例如,参考图15至图17描述的投影)。投影的细节与参考图15至图33描述的相同,因此将省略其描述。当点云数据通过一个或更多个激光获取时,点云发送装置可以基于输出所述一个或更多个激光的激光头的中心位置以及各个激光相对于中心位置的位置来调整各个激光的位置。调整的激光位置可以包括在表示点的位置的坐标系中表示的垂直角度。由于激光位置调整与参考图15至图22描述的相同,因此将省略其详细描述。根据实施方式的比特流包含参考图24至图28描述的与投影相关的信令信息。例如,比特流包含指示是否已经调整各个激光的位置的信息(例如,参考图24描述的laser_position_adjustment_flag)、指示一个或更多个激光的数量的信息(例如,参考图24描述的num_laser)以及与激光调整相关的信息。另外,比特流包含指示是否应用坐标变换来解码编码的属性的信息(例如,参考图28描述的attr_coord_conv_enable_flag)以及关于变换的坐标轴的比例因子的信息(例如,参考图28描述的attr_coord_conv_scale[i])。
[0529]
点云接收装置可以取得这样的信令信息并且执行投影和逆投影,诸如激光位置重新调整和坐标变换。由于点云数据发送装置的操作与参考图1至图23所描述的相同,因此将省略其详细描述。
[0530]
图35是示出根据实施方式的处理点云数据的方法的流程图。
[0531]
图35的流程图3500示出由参考图1至图33描述的点云数据接收装置(例如,接收装置10004或点云视频解码器10006)处理点云数据的方法。
[0532]
点云数据接收装置(例如,图1的接收器、图13的接收器等)接收包含点云数据的比特流(2510)。根据实施方式的比特流包含对点云数据进行解码所需的信令信息(例如,sps、aps、属性头等)。如参考图24至图28所描述的,根据实施方式的点云发送装置通过包含在比特流中的信令信息(例如,sps、aps、属性头等)来发送与投影(例如,图15至图33的投影)相关的信令信息。如上所述,比特流的信令信息(例如,sps、aps、属性头等)可以包含序列级别或切片级别的投影相关信息。
[0533]
点云数据接收装置(例如,图10的解码器)基于信令信息来对点云数据进行解码(2520)。点云数据接收装置(例如,图10的几何解码器)对包含在点云数据中的几何进行解码。点云数据包括几何和属性。几何是指示点云数据中的点的位置的信息,并且属性包括点的颜色和反射率中的至少一者。
[0534]
根据实施方式的点云接收装置可以对几何和/或属性执行坐标变换(例如,参考图15至图33描述的坐标变换3310、3330)。坐标变换的细节与参考图15至图33描述的相同,因此将省略其描述。
[0535]
根据实施方式的比特流包含参考图24至图28描述的与投影相关的信令信息。例如,比特流包含指示是否调整各个激光的位置的信息(例如,参考图24描述的laser_position_adjustment_flag)、指示一个或更多个激光的数量的信息(例如,参考图24描述的num_laser)以及与激光调整相关的信息。另外,比特流包含指示是否应用坐标变换来对
属性进行解码的信息(例如,参考图28描述的attr_coord_conv_enable_flag)以及关于变换的坐标轴的比例因子的信息(例如,参考图28描述的attr_coord_conv_scale[i])。点云接收装置可以基于与激光调整相关的信息来调整各个激光的位置。激光的位置是基于输出一个或更多个激光的激光头的中心位置以及各个激光相对于中心位置的位置而调整的位置,并且包括在表示点的位置的坐标系中表示的垂直角度。点云数据处理方法不限于该示例。
[0536]
根据一些实施方式的如图1至图35所解释的用于处理点云数据的设备的配置元件可以通过硬件、软件、固件或其组合来实现,包括连接到存储器的一个或更多个处理器。根据一些实施方式的装置的配置元件可以通过芯片来实现,例如,硬件电路。此外,用于处理点云数据的设备的元件可以通过各个芯片来实现。另外,用于处理点云数据的设备的元件可以通过执行一个或更多个程序的一个或更多个处理器来实现,所述程序包括用于执行如图1至图35所解释的一个或更多个操作的指令。
[0537]
已经从方法和/或设备的角度描述了实施方式,并且可以应用方法和装置的描述以彼此互补。
[0538]
虽然为了简单起见已经分别描述了附图,但是可以通过合并各个附图中示出的实施方式来设计新的实施方式。设计一种计算机可读的记录介质,其上记录有用于执行上述实施方式的程序,如本领域技术人员所需要的,也落入所附权利要求及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性地组合所有或一些实施方式,可以对实施方式进行各种修改。尽管已经参考附图描述了优选实施方式,但是本领域技术人员将理解,在不脱离参考所附权利要求描述的本公开的精神或范围的情况下,可以在实施方式中做出各种修改和变化。从实施方式的技术思想或观点来看,这些修改不应单独理解。
[0539]
实施方式的设备的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片实现,例如单个硬件电路。根据实施方式,可以将根据实施方式的组件分别实现为分离的芯片。根据实施方式,根据实施方式的装置的组件中的至少一个可以包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可以执行根据实施方式的操作/方法中的任何一个或更多个,或者包括用于执行该操作/方法的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以存储在配置成由一个或更多个处理器执行的非暂时crm或其它计算机程序产品中,或者可以存储在配置成由一个或更多个处理器执行的暂时crm或其它计算机程序产品中。此外,根据实施方式的存储器可用作不仅覆盖易失性存储器(例如ram)而且覆盖非易失性存储器、闪存和prom的概念。此外,它还可以以载波的形式实现,例如通过因特网的传输。此外,处理器可读记录介质可被分布到通过网络连接的计算机系统,使得处理器可读代码可以以分布式方式存储和执行。
[0540]
在本说明书中,术语“/”和“,”应解释为表示“和/或”。例如,表述“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两者。换句话说,在本文中使用的术语“或”应解释为表示“附加地或替代地”。
[0541]
诸如第一和第二的措辞可用于描述实施方式的各种元件。然而,根据实施方式的
各种组件不应受上述术语限制。这些术语仅用于区分一个元件与另一个元件。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应被解释为不脱离各种实施方式的范围。第一用户输入信号和第二用户输入信号都是用户输入信号,但并不意味着相同的用户输入信号,除非上下文另有明确规定。
[0542]
用于描述实施方式的术语用于描述特定实施方式的目的,并且不旨在限制实施方式。如在实施方式的描述和权利要求中所使用的,单数形式“一”、”和“该”包括复数指示物,除非上下文另外清楚地指明。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”的术语旨在表示存在附图、数字、步骤、元件和/或组件,并且应当理解为不排除存在附图、数字、步骤、元件和/或组件的附加存在的可能性。如这里所使用的,诸如“如果”和“当
…
时”的条件表达式不限于可选情况,并且旨在当满足特定条件时被解释为执行相关操作或根据特定条件解释相关定义。
[0543]
发明模式
[0544]
如上所述,已经参考实现实施方式的最佳方式描述了相关内容。
[0545]
工业实用性
[0546]
对于本领域技术人员显而易见的是,可以在实施方式的范围内对实施方式进行各种改变或修改。因此,这些实施方式旨在覆盖本公开的修改和变化,只要它们在所附权利要求及其等同物的范围内。
技术特征:1.一种发送点云数据的方法,所述方法包括以下步骤:对包含几何和属性的点云数据进行编码,其中,所述几何是指示所述点云数据中的点的位置的信息,并且所述属性包括所述点的颜色和反射率中的至少一者,对所述点云数据进行编码的步骤包括:对表示所述点的所述位置的坐标进行变换;以及发送包括编码的点云数据的比特流。2.根据权利要求1所述的方法,其中,基于所述点云数据是通过一个或更多个激光获取的,对所述点云数据进行编码的步骤还包括:基于输出所述一个或更多个激光的激光头的中心位置和各个激光关于所述中心位置的相对位置来调整各个激光的位置,其中,各个激光的调整位置包括在表示所述点的所述位置的坐标系中表示的垂直角度。3.根据权利要求2所述的方法,其中,所述比特流包含指示是否调整各个激光的位置的信息以及指示所述一个或更多个激光的数量的信息。4.根据权利要求1所述的方法,其中,所述比特流包含指示是否应用坐标变换以对编码的属性进行解码的信息以及关于变换坐标轴的比例因子的信息。5.一种发送点云数据的设备,所述设备包括:编码器,所述编码器被配置为对包含几何和属性的点云数据进行编码,其中,所述几何是指示所述点云数据中的点的位置的信息,并且所述属性包括所述点的颜色和反射率中的至少一者,其中,所述编码器还被配置为对表示所述点的所述位置的坐标进行变换;以及发送器,所述发送器被配置为发送包含编码的点云数据的比特流。6.根据权利要求5所述的设备,其中,基于所述点云数据是通过一个或更多个激光获得的,所述编码器基于输出所述一个或更多个激光的激光头的中心位置和各个激光关于所述中心位置的相对位置来调整各个激光的位置,其中,各个激光的调整位置包括在表示所述点的所述位置的坐标系中表示的垂直角度。7.根据权利要求6所述的设备,其中,所述比特流包含指示是否调整各个激光的位置的信息以及指示所述一个或更多个激光的数量的信息。8.根据权利要求6所述的设备,其中,所述比特流包含指示是否应用坐标变换以对编码的属性进行解码的信息以及关于变换坐标轴的比例因子的信息。9.一种处理点云数据的方法,所述方法包括以下步骤:接收包含点云数据的比特流,所述比特流包括信令信息;以及对所述点云数据进行解码,所述点云数据包含几何和属性,其中,所述几何是指示所述点云数据中的点的位置的信息,并且所述属性包括所述点的颜色和反射率中的至少一者,对所述点云数据进行解码的步骤包括:基于所述信令信息来对表示所述点的所述位置的坐标进行变换。10.根据权利要求9所述的方法,其中,所述信令信息包括指示是否调整各个激光的位置的信息以及指示用于获取所述点云数据的一个或更多个激光的数量的信息。11.根据权利要求10所述的方法,其中,对所述点云数据进行解码的步骤包括:基于指示是否调整各个激光的位置的信息以及指示所述一个或更多个激光的所述数量的信息来调整各个激光的位置,
其中,各个激光的位置是基于输出所述一个或更多个激光的激光头的中心位置以及各个激光关于所述中心位置的相对位置而调整的位置,所述位置包括在表示所述点的所述位置的坐标系中表示的垂直角度。12.根据权利要求9所述的方法,其中,所述信令信息包括指示是否应用表示所述点的所述位置的坐标变换以对所述属性进行解码的信息以及关于变换坐标轴的比例因子的信息。13.一种处理点云数据的装置,所述装置包括:接收器,所述接收器被配置为接收包含点云数据的比特流,所述比特流包含信令信息;以及解码器,所述解码器被配置为对所述点云数据进行解码,其中,所述点云数据包括几何和属性,所述几何是指示所述点云数据中的点的位置的信息,并且所述属性包括所述点的颜色和反射率中的至少一者,所述解码器还被配置为基于所述信令信息来对表示所述点的所述位置的坐标进行变换。14.根据权利要求13所述的装置,其中,所述信令信息包括指示是否调整各个激光的位置以对表示所述点的所述位置的坐标进行调整的信息以及指示所述一个或更多个激光的数量的信息。15.根据权利要求14所述的装置,其中,所述解码器基于指示是否调整各个激光的位置的信息以及指示所述一个或更多个激光的所述数量的信息来调整各个激光的位置,其中,各个激光的位置是基于输出所述一个或更多个激光的激光头的中心位置和各个激光关于所述中心位置的相对位置而调整的位置,所述位置包括在表示所述点的所述位置的坐标系中表示的垂直角度。16.根据权利要求13所述的装置,其中,所述信令信息包括指示是否应用表示所述点的所述位置的坐标变换以对所述属性进行解码的信息以及关于变换坐标轴的比例因子的信息。
技术总结根据实施方式的点云数据发送方法包括以下步骤:对包括几何和属性的点云数据进行编码,其中,几何是指示点云数据的点的位置的信息,属性包括点的颜色和反射率中的至少一者,并且对点云数据进行编码的步骤包括以下步骤:对指示点的位置的坐标进行变换;以及发送包括编码的点云数据的比特流,其中,点云数据可以被编码和发送。被编码和发送。被编码和发送。
技术研发人员:吴炫默 吴世珍
受保护的技术使用者:LG电子株式会社
技术研发日:2021.03.15
技术公布日:2022/11/1