CN118160310A - 点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置 - Google Patents
点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置 Download PDFInfo
- Publication number
- CN118160310A CN118160310A CN202280072179.4A CN202280072179A CN118160310A CN 118160310 A CN118160310 A CN 118160310A CN 202280072179 A CN202280072179 A CN 202280072179A CN 118160310 A CN118160310 A CN 118160310A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- motion
- vector
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 219
- 230000033001 locomotion Effects 0.000 claims description 160
- 239000013598 vector Substances 0.000 claims description 158
- 230000005540 biological transmission Effects 0.000 abstract description 39
- 230000008569 process Effects 0.000 description 54
- 238000007906 compression Methods 0.000 description 33
- 230000006835 compression Effects 0.000 description 33
- 230000011664 signaling Effects 0.000 description 33
- 238000013139 quantization Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 210000003128 head Anatomy 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000002310 reflectometry Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- WPNJAUFVNXKLIM-UHFFFAOYSA-N Moxonidine Chemical compound COC1=NC(C)=NC(Cl)=C1NC1=NCCN1 WPNJAUFVNXKLIM-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
Abstract
根据实施方式的点云数据发送方法可以包括以下步骤:对点云数据进行编码;以及发送包括点云数据的比特流。另外,根据实施方式的点云数据发送装置可以包括:对点云数据进行编码的编码器;以及发送包括点云数据的比特流的发送器。
Description
技术领域
实施方式涉及一种用于处理点云内容的方法和装置。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点集合。点云内容可表达在三个维度配置的媒体,并且用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务的各种服务。然而,需要数万至数十万的点数据来表示点云内容。因此,需要一种高效地处理大量点数据的方法。
发明内容
技术问题
实施方式提供了一种用于高效地处理点云数据的装置和方法。实施方式提供了一种用于解决延迟和编码/解码复杂度的点云数据处理方法和装置。
实施方式的技术范围不限于上述技术目的,可扩展至本领域技术人员基于本文所公开的整个内容可推断出的其它技术目的。
技术方案
为了实现这些目的和其他优点,并且根据本公开的目的,如本文所体现和广泛描述的,一种发送点云数据的方法可以包括:对点云数据进行编码;以及发送包含点云数据的比特流。在本公开的另一方面,一种接收点云数据的方法可以包括:接收包含点云数据的比特流;以及对点云数据进行解码。
有益效果
根据实施方式的装置和方法可高效地处理点云数据。
根据实施方式的装置和方法可提供高质量的点云服务。
根据实施方式的装置和方法可提供点云内容以用于提供诸如VR服务和自驾驶服务的通用服务。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。为了更好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。贯穿附图将使用相同的标号来表示相同或相似的部分。附图中:
图1示出了根据实施方式的示例性点云内容提供系统;
图2是示出了根据实施方式的点云内容提供操作的框图;
图3示出了根据实施方式的捕获点云视频的示例性处理;
图4示出了根据实施方式的示例性点云编码器;
图5示出了根据实施方式的体素的示例;
图6示出了根据实施方式的八叉树和占用代码的示例;
图7示出了根据实施方式的邻居节点图案的示例;
图8示出了根据实施方式的各个LOD中的点配置的示例;
图9示出了根据实施方式的各个LOD中的点配置的示例;
图10示出了根据实施方式的点云解码器;
图11示出了根据实施方式的点云解码器;
图12示出了根据实施方式的发送装置;
图13示出了根据实施方式的接收装置;
图14示出了根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构;
图15例示了根据实施方式的道路的示例法向量;
图16是例示了根据实施方式的预测旋转运动的准确度的曲线图;
图17是例示了根据实施方式的预测旋转运动的准确度的曲线图;
图18示出了根据实施方式的被包括在与点云数据相关的属性信息中的法向量的值的示例;
图19例示了根据实施方式的表示距点云数据的中心点的预定半径的示例;
图20例示了根据实施方式的点云数据发送装置/方法的示例;
图21例示了根据实施方式的点云数据接收装置/方法的示例;
图22例示了根据实施方式的编码的比特流的示例;
图23示出了根据实施方式的几何参数集(geometry_parameter_set)的示例语法;
图24示出了根据实施方式的拼块参数集(tile_parameter_set)的示例语法;
图25示出了根据实施方式的几何切片头(geometry_slice_header)的示例语法;
图26示出了根据实施方式的几何PU头(geometry_pu_header)的示例语法;
图27是例示了根据实施方式的发送点云数据的方法的示例流程图;以及
图28是例示了根据实施方式的接收点云数据的方法的示例流程图。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图1示出了根据实施方式的示例性点云内容提供系统。
图1所示的点云内容提供系统可包括发送装置10000和接收装置10004。发送装置10000和接收装置10004能够有线或无线通信以发送和接收点云数据。
根据实施方式的点云数据发送装置10000可取得和处理点云视频(或点云内容)并将其发送。根据实施方式,发送装置10000可包括固定站、基站收发器系统(BTS)、网络、人工智能(AI)装置和/或系统、机器人、AR/VR/XR装置和/或服务器。根据实施方式,发送装置10000可包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的发送装置10000包括点云视频获取器10001、点云视频编码器10002和/或发送器(或通信模块)10003。
根据实施方式的点云视频获取器10001通过诸如捕获、合成或生成的处理过程来获取点云视频。点云视频是由点云表示的点云内容,点云是位于3D空间中的点集合,并且可被称为点云视频数据。根据实施方式的点云视频可包括一个或更多个帧。一个帧表示静止图像/画面。因此,点云视频可包括点云图像/帧/画面,并且可被称为点云图像、帧或画面。
根据实施方式的点云视频编码器10002对所获取的点云视频数据进行编码。点云视频编码器10002可基于点云压缩编码对点云视频数据进行编码。根据实施方式的点云压缩编码可包括基于几何的点云压缩(G-PCC)编码和/或基于视频的点云压缩(V-PCC)编码或下一代编码。根据实施方式的点云压缩编码不限于上述实施方式。点云视频编码器10002可输出包含编码的点云视频数据的比特流。比特流可不仅包含编码的点云视频数据,而且包括与点云视频数据的编码有关的信令信息。
根据实施方式的发送器10003发送包含编码的点云视频数据的比特流。根据实施方式的比特流被封装在文件或片段(例如,流片段)中,并且经由诸如广播网络和/或宽带网络的各种网络发送。尽管图中未示出,发送装置10000可包括被配置成执行封装操作的封装器(或封装模块)。根据实施方式,封装器可包括在发送器10003中。根据实施方式,文件或片段可经由网络发送到接收装置10004,或者存储在数字存储介质(例如,USB、SD、CD、DVD、蓝光、HDD、SSD等)中。根据实施方式的发送器10003能够经由4G、5G、6G等网络与接收装置10004(或接收器10005)有线/无线通信。另外,发送器可根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送装置10000可按照按需方式发送封装的数据。
根据实施方式的接收装置10004包括接收器10005、点云视频解码器10006和/或渲染器10007。根据实施方式,接收装置10004可包括被配置成使用无线电接入技术(例如,5G新RAT(NR)、长期演进(LTE))与基站和/或其它无线装置执行通信的装置、机器人、车辆、AR/VR/XR装置、便携式装置、家用电器、物联网(IoT)装置和AI装置/服务器。
根据实施方式的接收器10005从网络或存储介质接收包含点云视频数据的比特流或者封装有比特流的文件/片段。接收器10005可根据网络系统(例如,4G、5G、6G等的通信网络系统)执行必要的数据处理。根据实施方式的接收器10005可将所接收的文件/片段解封装并输出比特流。根据实施方式,接收器10005可包括被配置成执行解封装操作的解封装器(或解封装模块)。解封装器可被实现为与接收器10005分离的元件(或组件)。
点云视频解码器10006将包含点云视频数据的比特流解码。点云视频解码器10006可根据点云视频数据被编码的方法(例如,按点云视频编码器10002的操作的逆过程)来将点云视频数据解码。因此,点云视频解码器10006可通过执行点云解压缩编码(点云压缩的逆过程)来将点云视频数据解码。点云解压缩编码包括G-PCC编码。
渲染器10007渲染解码的点云视频数据。渲染器10007可通过不仅渲染点云视频数据,而且渲染音频数据来输出点云内容。根据实施方式,渲染器10007可包括被配置成显示点云内容的显示器。根据实施方式,显示器可被实现为单独的装置或组件而非包括在渲染器10007中。
图中由虚线指示的箭头表示接收装置10004所获取的反馈信息的传输路径。反馈信息是反映与消费点云内容的用户的交互性的信息,并且包括关于用户的信息(例如,头部取向信息、视口信息等)。具体地,当点云内容是用于需要与用户交互的服务(例如,自驾驶服务等)的内容时,反馈信息可被提供给内容发送方(例如,发送装置10000)和/或服务提供商。根据实施方式,反馈信息可在接收装置10004以及发送装置10000中使用,或者可不提供。
根据实施方式的头部取向信息是关于用户的头部位置、取向、角度、运动等的信息。根据实施方式的接收装置10004可基于头部取向信息来计算视口信息。视口信息可以是关于用户正在观看的点云视频的区域的信息。视点是用户通过其观看点云视频的点,并且可指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可由视场(FOV)确定。因此,除了头部取向信息之外,接收装置10004还可基于装置所支持的垂直或水平FOV来提取视口信息。另外,接收装置10004执行注视分析等以检查用户消费点云的方式、点云视频中用户注视的区域、注视时间等。根据实施方式,接收装置10004可将包括注视分析结果的反馈信息发送到发送装置10000。根据实施方式的反馈信息可在渲染和/或显示过程中获取。根据实施方式的反馈信息可由包括在接收装置10004中的一个或更多个传感器取得。根据实施方式,反馈信息可由渲染器10007或单独的外部元件(或装置、组件等)取得。图1中的虚线表示发送渲染器10007所取得的反馈信息的过程。点云内容提供系统可基于反馈信息来处理(编码/解码)点云数据。因此,点云视频数据解码器10006可基于反馈信息来执行解码操作。接收装置10004可将反馈信息发送到发送装置10000。发送装置10000(或点云视频数据编码器10002)可基于反馈信息来执行编码操作。因此,点云内容提供系统可基于反馈信息高效地处理必要数据(例如,与用户的头部位置对应的点云数据)而非处理(编码/解码)整个点云数据,并将点云内容提供给用户。
根据实施方式,发送装置10000可被称为编码器、发送装置、发送器等,接收装置10004可被称为解码器、接收装置、接收器等。
根据实施方式的图1的点云内容提供系统中(通过获取/编码/传输/解码/渲染的一系列过程)处理的点云数据可被称为点云内容数据或点云视频数据。根据实施方式,点云内容数据可用作涵盖与点云数据有关的元数据或信令信息的概念。
图1所示的点云内容提供系统的元件可由硬件、软件、处理器和/或其组合实现。
图2是示出了根据实施方式的点云内容提供操作的框图。
图2的框图示出图1中描述的点云内容提供系统的操作。如上所述,点云内容提供系统可基于点云压缩编码(例如,G-PCC)来处理点云数据。
根据实施方式的点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可获取点云视频(20000)。点云视频由属于用于表达3D空间的坐标系的点云表示。根据实施方式的点云视频可包括Ply(Polygon文件格式或Stanford Triangle格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可包括一个或更多个Ply文件。Ply文件包含诸如点几何和/或属性的点云数据。几何包括点的位置。各个点的位置可由表示三维坐标系(例如,由X、Y和Z轴组成的坐标系)的参数(例如,X、Y和Z轴的值)表示。属性包括点的属性(例如,关于各个点的纹理、颜色(YCbCr或RGB)、反射率r、透明度等的信息)。点具有一个或更多个属性。例如,点可具有颜色属性或者颜色和反射率两个属性。根据实施方式,几何可被称为位置、几何信息、几何数据等,并且属性可被称为属性、属性信息、属性数据等。点云内容提供系统(例如,点云发送装置10000或点云视频获取器10001)可从与点云视频获取过程有关的信息(例如,深度信息、颜色信息等)取得点云数据。
根据实施方式的点云内容提供系统(例如,发送装置10000或点云视频编码器10002)可对点云数据进行编码(20001)。点云内容提供系统可基于点云压缩编码对点云数据进行编码。如上所述,点云数据可包括点的几何和属性。因此,点云内容提供系统可执行对几何进行编码的几何编码并输出几何比特流。点云内容提供系统可执行对属性进行编码的属性编码并输出属性比特流。根据实施方式,点云内容提供系统可基于几何编码来执行属性编码。根据实施方式的几何比特流和属性比特流可被复用并作为一个比特流输出。根据实施方式的比特流还可包含与几何编码和属性编码有关的信令信息。
根据实施方式的点云内容提供系统(例如,发送装置10000或发送器10003)可发送编码的点云数据(20002)。如图1所示,编码的点云数据可由几何比特流和属性比特流表示。另外,编码的点云数据可与点云数据的编码相关的信令信息(例如,与几何编码和属性编码有关的信令信息)一起以比特流的形式发送。点云内容提供系统可将承载编码的点云数据的比特流封装并以文件或片段的形式将其发送。
根据实施方式的点云内容提供系统(例如,接收装置10004或接收器10005)可接收包含编码的点云数据的比特流。另外,点云内容提供系统(例如,接收装置10004或接收器10005)可将比特流解复用。
点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将比特流中发送的编码的点云数据(例如,几何比特流、属性比特流)解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可基于比特流中包含的与点云视频数据的编码有关的信令信息将点云视频数据解码。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可将几何比特流解码以重构点的位置(几何)。点云内容提供系统可通过基于重构的几何对属性比特流进行解码来重构点的属性。点云内容提供系统(例如,接收装置10004或点云视频解码器10005)可根据重构的几何和解码的属性基于位置来重构点云视频。
根据实施方式的点云内容提供系统(例如,接收装置10004或渲染器10007)可渲染解码的点云数据(20004)。点云内容提供系统(例如,接收装置10004或渲染器10007)可使用各种渲染方法来渲染通过解码过程解码的几何和属性。点云内容中的点可被渲染为具有特定厚度的顶点、以对应顶点位置为中心的具有特定最小尺寸的立方体或者以对应顶点位置为中心的圆。渲染的点云内容的全部或部分通过显示器(例如,VR/AR显示器、一般显示器等)提供给用户。
根据实施方式的点云内容提供系统(例如,接收装置10004)可取得反馈信息(20005)。点云内容提供系统可基于反馈信息对点云数据进行编码和/或解码。根据实施方式的点云内容提供系统的反馈信息和操作与参照图1描述的反馈信息和操作相同,因此省略其详细描述。
图3示出了根据实施方式的捕获点云视频的示例性过程。
图3示出参照图1至图2描述的点云内容提供系统的示例性点云视频捕获过程。
点云内容包括表示位于各种3D空间(例如,表示真实环境的3D空间、表示虚拟环境的3D空间等)中的对象和/或环境的点云视频(图像和/或视频)。因此,根据实施方式的点云内容提供系统可使用一个或更多个相机(例如,能够取得深度信息的红外相机、能够提取与深度信息对应的颜色信息的RGB相机等)、投影仪(例如,取得深度信息的红外图案投影仪)、LiDAR等来捕获点云视频。根据实施方式的点云内容提供系统可从深度信息提取由3D空间中的点组成的几何形状并且从颜色信息提取各个点的属性以取得点云数据。根据实施方式的图像和/或视频可基于面向内技术和面向外技术中的至少一个来捕获。
图3的左侧部分示出面向内技术。面向内技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的图像的技术。面向内技术可用于生成向用户提供关键对象的360度图像的点云内容(例如,向用户提供对象(例如,诸如角色、玩家、对象或演员的关键对象)的360度图像的VR/AR内容)。
图3的右侧部分示出面向外技术。面向外技术是指利用定位在中心对象周围的一个或更多个相机(或相机传感器)来捕获中心对象的环境而非中心对象的图像的技术。面向外技术可用于生成提供从用户的视角出现的周围环境的点云内容(例如,可提供给自驾驶车辆的用户的表示外部环境的内容)。
如图所示,可基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,在相机之间坐标系可不同,因此点云内容提供系统可在捕获操作之前校准一个或更多个相机以设定全局坐标系。另外,点云内容提供系统可通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频合成来生成点云内容。点云内容提供系统在生成表示虚拟空间的点云内容时可不执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可对捕获的图像和/或视频执行后处理。换言之,点云内容提供系统可去除不想要的区域(例如,背景),识别捕获的图像和/或视频连接至的空间,并且当存在空间空洞时,执行填充空间空洞的操作。
点云内容提供系统可通过对从各个相机取得的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可基于各个相机的位置坐标对点执行坐标变换。因此,点云内容提供系统可生成表示一个宽范围的内容,或者可生成具有高密度点的点云内容。
图4示出了根据实施方式的示例性点云编码器。
图4示出图1的点云视频编码器10002的示例。点云编码器重构并对点云数据进行编码(例如,点的位置和/或属性)以根据网络条件或应用调节点云内容的质量(例如无损、有损或接近无损)。当点云内容的总大小较大(例如,对于30fps给出60Gbps的点云内容)时,点云内容提供系统可能无法实时流传输内容。因此,点云内容提供系统可基于最大目标比特率来重构点云内容以根据网络环境等提供点云内容。
如参照图1和图2描述的,点云编码器可执行几何编码和属性编码。几何编码在属性编码之前执行。
根据实施方式的点云编码器包括坐标变换器(变换坐标)40000、量化器(量化和去除点(体素化))40001、八叉树分析器(分析八叉树)40002和表面近似分析器(分析表面近似)40003、算术编码器(算术编码)40004、几何重构器(重构几何)40005、颜色变换器(变换颜色)40006、属性变换器(变换属性)40007、RAHT变换器(RAHT)40008、LOD生成器(生成LOD)40009、提升变换器(提升)40010、系数量化器(量化系数)40011和/或算术编码器(算术编码)40012。
坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40004和几何重构器40005可执行几何编码。根据实施方式的几何编码可包括八叉树几何编码、直接编码、三联体(trisoup)几何编码和熵编码。直接编码和三联体几何编码选择性地或组合应用。几何编码不限于上述示例。
如图所示,根据实施方式的坐标变换器40000接收位置并将其变换为坐标。例如,位置可被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可被称为几何信息。
根据实施方式的量化器40001将几何量化。例如,量化器40001可基于所有点的最小位置值(例如,X、Y和Z轴中的每一个上的最小值)来将点量化。量化器40001执行量化操作:将最小位置值与各个点的位置值之间的差乘以预设量化缩放值,然后通过对通过乘法获得的值进行舍入来寻找最近整数值。因此,一个或更多个点可具有相同的量化位置(或位置值)。根据实施方式的量化器40001基于量化位置执行体素化以重构量化点。如像素(包含2D图像/视频信息的最小单元)的情况中一样,根据实施方式的点云内容(或3D点云视频)的点可包括在一个或更多个体素中。作为体积和像素的复合体,术语体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分成单元(单位=1.0)时生成的3D立方空间。量化器40001可使3D空间中的点组与体素匹配。根据实施方式,一个体素可仅包括一个点。根据实施方式,一个体素可包括一个或更多个点。为了将一个体素表示为一个点,体素的中心的位置可基于包括在体素中的一个或更多个点的位置来设定。在这种情况下,包括在一个体素中的所有位置的属性可被组合并指派给体素。
根据实施方式的八叉树分析器40002执行八叉树几何编码(或八叉树编码)以按八叉树结构呈现体素。八叉树结构表示基于八进制树结构与体素匹配的点。
根据实施方式的表面近似分析器40003可分析并近似八叉树。根据实施方式的八叉树分析和近似是分析包含多个点的区域以高效地提供八叉树和体素化的过程。
根据实施方式的算术编码器40004对八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。作为编码结果,生成几何比特流。
颜色变换器40006、属性变换器40007、RAHT变换器40008、LOD生成器40009、提升变换器40010、系数量化器40011和/或算术编码器40012执行属性编码。如上所述,一个点可具有一个或更多个属性。根据实施方式的属性编码同样应用于一个点所具有的属性。然而,当属性(例如,颜色)包括一个或更多个元素时,对各个元素独立地应用属性编码。根据实施方式的属性编码包括颜色变换编码、属性变换编码、区域自适应分层变换(RAHT)编码、基于插值的分层最近邻居预测(预测变换)编码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)编码。根据点云内容,可选择性地使用上述RAHT编码、预测变换编码和提升变换编码,或者可使用一个或更多个编码方案的组合。根据实施方式的属性编码不限于上述示例。
根据实施方式的颜色变换器40006执行变换包括在属性中的颜色值(或纹理)的颜色变换编码。例如,颜色变换器40006可变换颜色信息的格式(例如,从RGB到YCbCr)。可选地,可根据包括在属性中的颜色值来应用根据实施方式的颜色变换器40006的操作。
根据实施方式的几何重构器40005重构(解压缩)八叉树和/或近似八叉树。几何重构器40005基于分析点分布的结果来重构八叉树/体素。重构的八叉树/体素可被称为重构的几何(恢复的几何)。
根据实施方式的属性变换器40007执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。如上所述,由于属性取决于几何,所以属性变换器40007可基于重构的几何信息来变换属性。例如,基于包括在体素中的点的位置值,属性变换器40007可变换该位置处的点的属性。如上所述,当基于包括在体素中的一个或更多个点的位置来设定体素的中心位置时,属性变换器40007变换一个或更多个点的属性。当执行三联体几何编码时,属性变换器40007可基于三联体几何编码来变换属性。
属性变换器40007可通过计算距各个体素的中心位置(或位置值)特定位置/半径内的邻近点的属性或属性值(例如,各个点的颜色或反射率)的平均来执行属性变换。属性变换器40007可在计算平均时根据从中心到各个点的距离来应用权重。因此,各个体素具有位置和计算的属性(或属性值)。
属性变换器40007可基于K-D树或莫顿码(莫顿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树或莫顿码。
如图所示,变换的属性被输入到RAHT变换器40008和/或LOD生成器40009。
根据实施方式的RAHT变换器40008基于重构的几何信息来执行用于预测属性信息的RAHT编码。例如,RAHT变换器40008可基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
根据实施方式的LOD生成器40009生成细节级别(LOD)来执行预测变换编码。根据实施方式的LOD是点云内容的细节程度。随着LOD值减小,指示点云内容的细节劣化。随着LOD值增大,指示点云内容的细节增强。点可按LOD分类。
根据实施方式的提升变换器40010执行基于权重来变换点云属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
根据实施方式的系数量化器40011基于系数来量化属性编码的属性。
根据实施方式的算术编码器40012基于算术编码对量化的属性进行编码。
尽管图中未示出,图4的点云编码器的元件可由包括被配置成与包括在点云提供设备中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图4的点云编码器的元件的操作和/或功能中的至少一个。另外,一个或更多个处理器可操作或执行用于执行图4的点云编码器的元件的操作和/或功能的软件程序和/或指令集合。根据实施方式的一个或更多个存储器可包括高速随机存取存储器,或者包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储器装置)。
图5示出了根据实施方式的体素的示例。
图5示出位于由三个轴(X轴、Y轴和Z轴)所组成的坐标系表示的3D空间中的体素。如参照图4所述,点云编码器(例如,量化器40001)可执行体素化。体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分成单元(单位=1.0)时生成的3D立方空间。图5示出通过八叉树结构生成的体素的示例,其中由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框被递归地再分。一个体素包括至少一个点。可从与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有类似2D图像/视频的像素的属性(例如,颜色或反射率)。体素的细节与参照图4描述的那些相同,因此省略其描述。
图6示出了根据实施方式的八叉树和占用代码的示例。
如参照图1至图4所描述的,点云内容提供系统(点云视频编码器10002)或点云编码器(例如,八叉树分析器40002)基于八叉树结构来执行八叉树几何编码(或八叉树编码)以高效地管理体素的区域和/或位置。
图6的上部示出八叉树结构。根据实施方式的点云内容的3D空间由坐标系的轴(例如,X轴、Y轴和Z轴)表示。通过由两个极点(0,0,0)和(2d,2d,2d)限定的立方轴对齐边界框的递归再分来创建八叉树结构。这里,2d可被设定为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。d的值在下式中确定。在下式中,(xint n,yint n,zint n)表示量化的点的位置(或位置值)。
如图6的上部的中间所示,整个3D空间可根据分区被划分成八个空间。各个划分的空间由具有六个面的立方体表示。如图6的右上部所示,八个空间中的每一个基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分。因此,各个空间被划分成八个更小的空间。所划分的更小的空间也由具有六个面的立方体表示。应用该分割方案,直至八叉树的叶节点变为体素。
图6的下部示出八叉树占用代码。生成八叉树的占用代码以指示通过划分一个空间而生成的八个划分的空间中的每一个是否包含至少一个点。因此,单个占用代码由八个子节点表示。各个子节点表示划分的空间的占用,并且子节点具有1比特的值。因此,占用代码被表示为8比特代码。即,当与子节点对应的空间中包含至少一个点时,节点被指派值1。当与子节点对应的空间中不包含点(空间为空)时,节点被指派值0。由于图6所示的占用代码为00100001,所以指示与八个子节点当中的第三子节点和第八子节点对应的空间各自包含至少一个点。如图所示,第三子节点和第八子节点中的每一个具有八个子节点,并且子节点由8比特占用代码表示。附图示出第三子节点的占用代码为10000111,并且第八子节点的占用代码为01001111。根据实施方式的点云编码器(例如,算术编码器40004)可对占用代码执行熵编码。为了增加压缩效率,点云编码器可对占用代码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用代码来重构八叉树。
根据实施方式的点云编码器(例如,图4的点云编码器或八叉树分析器40002)可执行体素化和八叉树编码以存储点位置。然而,点并不总是在3D空间中均匀分布,因此可能有存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含很少点时,在该特定区域中不需要执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云编码器可跳过体素化并执行直接编码以直接对包括在特定区域中的点位置进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(DCM)。根据实施方式的点云编码器还可基于表面模型执行三联体几何编码,其要基于体素来重构特定区域(或节点)中的点位置。三联体几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云解码器可从网格表面生成点云。根据实施方式的直接编码和三联体几何编码可选择性地执行。另外,根据实施方式的直接编码和三联体几何编码可与八叉树几何编码(或八叉树编码)组合执行。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。要应用直接编码的节点不是叶节点,在特定节点内应该存在小于阈值的点。另外,要应用直接编码的点的总数不应超过预设阈值。当满足上述条件时,根据实施方式的点云编码器(或算术编码器40004)可对点位置(或位置值)执行熵编码。
根据实施方式的点云编码器(例如,表面近似分析器40003)可确定八叉树的特定级别(小于八叉树的深度d的级别),并且可从该级别开始使用表面模型以执行三联体几何编码,以基于体素来重构节点区域中的点位置(三联体模式)。根据实施方式的点云编码器可指定要应用三联体几何编码的级别。例如,当特定级别等于八叉树的深度时,点云编码器不在三联体模式下操作。换言之,仅当指定的级别小于八叉树的深度值时,根据实施方式的点云编码器才可在三联体模式下操作。根据实施方式的指定级别的节点的3D立方区域被称为块。一个块可包括一个或更多个体素。块或体素可对应于方块。几何被表示为各个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
一个块具有12条边,因此一个块中存在至少12个交点。各个交点被称为顶点。当共享边的所有块当中存在与边相邻的至少一个占用体素时,检测沿着边存在的顶点。根据实施方式的占用体素是指包含点的体素。沿着边检测到的顶点位置是沿着共享边的所有块当中与边相邻的所有体素的边的平均位置。
一旦检测到顶点,根据实施方式的点云编码器就可对边的起点(x,y,z)、边的方向向量(Δx,Δy,Δz)和顶点位置值(边内的相对位置值)执行熵编码。当应用三联体几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
位于块的边处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构过程中,基于边的起点、边的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程这样执行:i)计算各个顶点的质心值,ii)从各个顶点值减去中心值,并且iii)估计通过减法获得的值的平方和。
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x最小时,各个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出了根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于四个顶点,可根据顶点组合构造两个三角形。第一个三角形可由排序的顶点当中的顶点1、2和3组成,第二个三角形可由排序的顶点当中的顶点3、4和1组成。
从按1,…,n排序的顶点形成的三角形
n三角形
3(1,2,3)
4(1,2,3),(3,4,1)
5(1,2,3),(3,4,5),(5,1,3)
6(1,2,3),(3,4,5),(5,6,1),(1,3,5)
7(1,2,3),(3,4,5),(5,6,7),(7,1,3),(3,5,7)
8(1,2,3),(3,4,5),(5,6,7),(7,8,1),(1,3,5),(5,7,1)
9(1,2,3),(3,4,5),(5,6,7),(7,8,9),(9,1,3),(3,5,7),(7,9,3)
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)
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)
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)
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可将细化顶点体素化。另外,点云编码器可基于体素化的位置(或位置值)来执行属性编码。
图7示出了根据实施方式的邻居节点图案的示例。
为了增加点云视频的压缩效率,根据实施方式的点云编码器可基于上下文自适应算术编码来执行熵编码。
如参照图1至图6所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或算术编码器40004)可立即对占用代码执行熵编码。另外,点云内容提供系统或点云编码器可基于当前节点的占用代码和邻近节点的占用来执行熵编码(帧内编码),或者基于先前帧的占用代码执行熵编码(帧间编码)。根据实施方式的帧表示同时生成的点云视频的集合。根据实施方式的帧内编码/帧间编码的压缩效率可取决于所参考的邻近节点的数量。当比特增加时,运算变得复杂,但是编码可偏向一侧,这可增加压缩效率。例如,当给出3比特上下文时,需要使用23=8种方法来执行编码。为编码划分的部分影响实现复杂度。因此,有必要满足适当级别的压缩效率和复杂度。
图7示出基于邻居节点的占用来获得占用图案的过程。根据实施方式的点云编码器确定八叉树的各个节点的邻居节点的占用并且获得邻居图案的值。邻居节点图案用于推断节点的占用图案。图7的上部示出与节点对应的立方体(位于中间的立方体)以及与该立方体共享至少一个面的六个立方体(邻居节点)。图中所示的节点是相同深度的节点。图中所示的数字分别表示与六个节点关联的权重(1、2、4、8、16和32)。根据邻近节点的位置依次指派权重。
图7的下部示出邻居节点图案值。邻居节点图案值是乘以占用邻居节点(具有点的邻居节点)的权重的值之和。因此,邻居节点图案值为0至63。当邻居节点图案值为0时,指示节点的邻居节点当中不存在具有点的节点(无占用节点)。当邻居节点图案值为63时,指示所有邻居节点均是占用节点。如图所示,由于指派有权重1、2、4和8的邻居节点是占用节点,所以邻居节点图案值为15(1、2、4和8之和)。点云编码器可根据邻居节点图案值执行编码(例如,当邻居节点图案值为63时,可执行64种类型的编码)。根据实施方式,点云编码器可通过改变邻居节点图案值(例如,基于将64改变为10或6的表)来降低编码复杂度。
图8示出了根据实施方式的各个LOD中的点配置的示例。
如参照图1至图7描述的,在执行属性编码之前将编码的几何重构(解压缩)。当应用直接编码时,几何重构操作可包括改变直接编码的点的放置(例如,将直接编码的点放置在点云数据前面)。当应用三联体几何编码时,通过三角形重构、上采样和体素化来执行几何重构过程。由于属性取决于几何,所以基于重构的几何来执行属性编码。
点云编码器(例如,LOD生成器40009)可按LOD对点进行分类(重新组织)。图中示出与LOD对应的点云内容。图中最左侧画面表示原始点云内容。图中左起第二个画面表示最低LOD中的点分布,图中最右侧画面表示最高LOD中的点分布。即,最低LOD中的点稀疏分布,最高LOD中的点密集分布。即,随着LOD在图底部所指示的箭头所指的方向上升高,点之间的空间(或距离)变窄。
图9示出了根据实施方式的用于各个LOD的点配置的示例。
如参照图1至图8所描述的,点云内容提供系统或点云编码器(例如,点云视频编码器10002、图4的点云编码器或LOD生成器40009)可生成LOD。通过根据设定的LOD距离值(或欧几里得距离集合)将点重新组织为细化级别的集合来生成LOD。LOD生成过程不仅由点云编码器执行,而且由点云解码器执行。
图9的上部示出分布在3D空间中的点云内容的点的示例(P0至P9)。在图9中,原始顺序表示在LOD生成之前点P0至P9的顺序。在图9中,基于LOD的顺序表示根据LOD生成的点的顺序。点按LOD重新组织。另外,高LOD包含属于较低LOD的点。如图9所示,LOD0包含P0、P5、P4和P2。LOD1包含LOD0的点、P1、P6和P3。LOD2包含LOD0的点、LOD1的点、P9、P8和P7。
如参照图4所描述的,根据实施方式的点云编码器可选择性地或组合地执行预测变换编码、提升变换编码和RAHT变换编码。
根据实施方式的点云编码器可为点生成预测器以执行用于设定各个点的预测属性(或预测属性值)的预测变换编码。即,可为N个点生成N个预测器。根据实施方式的预测器可基于各个点的LOD值、关于存在于各个LOD的设定距离内的邻近点的索引信息以及到邻近点的距离来计算权重(=1/距离)。
根据实施方式的预测属性(或属性值)被设定为通过将各个点的预测器中设定的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到各个邻居点的距离计算的权重(或权重值)而获得的值的平均。根据实施方式的点云编码器(例如,系数量化器40011)可量化和逆量化通过从各个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
[表1]
属性预测残差量化伪代码
int PCCQuantization(int value,int quantStep){ |
if(value>=0){ |
return floor(value/quantStep+1.0/3.0); |
}else{ |
return-floor(-value/quantStep+1.0/30); |
} |
} |
[表2]
属性预测残差逆量化伪代码
int PCCInverseQuantization(int value,int quantStep){ |
if(quantStep==0){ |
return value; |
}else{ |
return value*quantStep; |
} |
} |
当各个点的预测器具有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可如上所述对量化和逆量化的残差值执行熵编码。当各个点的预测器没有邻居点时,根据实施方式的点云编码器(例如,算术编码器40012)可对对应点的属性执行熵编码,而不执行上述操作。
根据实施方式的点云编码器(例如,提升变换器40010)可生成各个点的预测器,设定计算的LOD并在预测器中注册邻居点,并且根据到邻居点的距离来设定权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于,对属性值累积地应用权重。根据实施方式对属性值累积地应用权重的过程配置如下。
1)创建用于存储各个点的权重值的阵列量化权重(QW)。QW的所有元素的初始值均为1.0。将预测器中注册的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法获得的值相加。
2)提升预测过程:从现有属性值减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建称为updateweight和update的临时阵列,并且将临时阵列初始化为零。
4)将通过将针对所有预测器计算的权重乘以存储在与预测器索引对应的QW中的权重而计算的权重与updateweight阵列累加,作为邻居节点的索引。将通过将邻居节点索引的属性值乘以所计算的权重而获得的值与update阵列累加。
5)提升更新过程:将所有预测器的update阵列的属性值除以预测器索引的updateweight阵列的权重值,并将现有属性值与通过除法获得的值相加。
6)针对所有预测器通过将通过提升更新过程更新的属性值乘以通过提升预测过程更新的权重(存储在QW中)来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)量化预测属性值。另外,点云编码器(例如,算术编码器40012)对量化属性值执行熵编码。
根据实施方式的点云编码器(例如,RAHT变换器40008)可执行RAHT变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。RAHT变换编码是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在每一步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
下式表示RAHT变换矩阵。在该式中,表示级别l的体素的平均属性值。/>可基于/>和/>来计算。/>和/>的权重为/>和
这里,是低通值并且在次高级别的合并过程中使用。/>表示高通系数。每一步的高通系数被量化并经受熵编码(例如,由算术编码器400012编码)。权重被计算为/> 通过/>和/>创建根节点如下。
gDC的值也被量化并经受类似高通系数的熵编码。
图10示出了根据实施方式的点云解码器。
图10所示的点云解码器是图1中描述的点云视频解码器10006的示例,并且可执行与图1所示的点云视频解码器10006的操作相同或相似的操作。如图所示,点云解码器可接收包含在一个或更多个比特流中的几何比特流和属性比特流。点云解码器包括几何解码器和属性解码器。几何解码器对几何比特流执行几何解码并输出解码的几何。属性解码器基于解码的几何和属性比特流执行属性解码,并且输出解码的属性。解码的几何和解码的属性用于重构点云内容(解码的点云)。
图11示出了根据实施方式的点云解码器。
图11所示的点云解码器是图10所示的点云解码器的示例,并且可执行解码操作,其是图1至图9所示的点云编码器的编码操作的逆过程。
如参照图1和图10所描述的,点云解码器可执行几何解码和属性解码。几何解码在属性解码之前执行。
根据实施方式的点云解码器包括算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001、表面近似合成器(合成表面近似)11002和几何重构器(重构几何)11003、坐标逆变换器(逆变换坐标)11004、算术解码器(算术解码)11005、逆量化器(逆量化)11006、RAHT变换器11007、LOD生成器(生成LOD)11008、逆提升器(逆提升)11009和/或颜色逆变换器(逆变换颜色)11010。
算术解码器11000、八叉树合成器11001、表面近似合成器11002、几何重构器11003和坐标逆变换器11004可执行几何解码。根据实施方式的几何解码可包括直接编码和三联体几何解码。直接编码和三联体几何解码选择性地应用。几何解码不限于上述示例,并且作为参照图1至图9描述的几何编码的逆过程执行。
根据实施方式的算术解码器11000基于算术编码将所接收的几何比特流解码。算术解码器11000的操作对应于算术编码器40004的逆过程。
根据实施方式的八叉树合成器11001可通过从解码的几何比特流获取占用代码(或关于作为解码结果取得的几何的信息)来生成八叉树。占用代码如参照图1至图9详细描述那样配置。
当应用三联体几何编码时,根据实施方式的表面近似合成器11002可基于解码的几何和/或生成的八叉树来合成表面。
根据实施方式的几何重构器11003可基于表面和/或解码的几何重新生成几何。如参照图1至图9所描述的,选择性地应用直接编码和三联体几何编码。因此,几何重构器11003直接导入关于应用了直接编码的点的位置信息并将其相加。当应用三联体几何编码时,几何重构器11003可通过执行几何重构器40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何。细节与参照图6描述的那些相同,因此省略其描述。重构的几何可包括不包含属性的点云画面或帧。
根据实施方式的坐标逆变换器11004可通过基于重构的几何变换坐标来获取点位置。
算术解码器11005、逆量化器11006、RAHT变换器11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010可执行参照图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(RAHT)解码、基于插值的分层最近邻居预测(预测变换)解码以及具有更新/提升步骤的基于插值的分层最近邻居预测(提升变换)解码。上述三个解码方案可选择性地使用,或者可使用一个或更多个解码方案的组合。根据实施方式的属性解码不限于上述示例。
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
根据实施方式的逆量化器11006逆量化关于解码的属性比特流或作为解码结果取得的属性的信息,并且输出逆量化的属性(或属性值)。可基于点云编码器的属性编码选择性地应用逆量化。
根据实施方式,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可处理重构的几何和逆量化的属性。如上所述,RAHT变换器11007、LOD生成器11008和/或逆提升器11009可选择性地执行与点云编码器的编码对应的解码操作。
根据实施方式的颜色逆变换器11010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。可基于点云编码器的颜色变换器40006的操作选择性地执行颜色逆变换器11010的操作。
尽管图中未示出,图11的点云解码器的元件可由包括被配置成与包括在点云提供设备中的一个或更多个存储器通信的一个或更多个处理器或集成电路的硬件、软件、固件或其组合实现。一个或更多个处理器可执行上述图11的点云解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可操作或执行用于执行图11的点云解码器的元件的操作和/或功能的软件程序和/或指令集合。
图12示出了根据实施方式的发送装置。
图12所示的发送装置是图1的发送装置10000(或图4的点云编码器)的示例。图12所示的发送装置可执行与参照图1至图9描述的点云编码器的那些相同或相似的一个或更多个操作和方法。根据实施方式的发送装置可包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010、算术编码器12011和/或传输处理器12012。
根据实施方式的数据输入单元12000接收或获取点云数据。数据输入单元12000可执行与点云视频获取器10001的操作和/或获取方法(或参照图2描述的获取过程20000)相同或相似的操作和/或获取方法。
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006执行几何编码。根据实施方式的几何编码与参照图1至图9描述的几何编码相同或相似,因此省略其详细描述。
根据实施方式的量化处理器12001量化几何(例如,点的位置值)。量化处理器12001的操作和/或量化与参照图4描述的量化器40001的操作和/或量化相同或相似。细节与参照图1至图9描述的那些相同。
根据实施方式的体素化处理器12002将点的量化的位置值体素化。体素化处理器120002可执行与参照图4描述的量化器40001的操作和/或体素化过程相同或相似的操作和/或过程。细节与参照图1至图9描述的那些相同。
根据实施方式的八叉树占用代码生成器12003基于八叉树结构对点的体素化的位置执行八叉树编码。八叉树占用代码生成器12003可生成占用代码。八叉树占用代码生成器12003可执行与参照图4和图6描述的点云编码器(或八叉树分析器40002)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
根据实施方式的表面模型处理器12004可基于表面模型执行三联体几何编码以基于体素重构特定区域(或节点)中的点位置。表面模型处理器12004可执行与参照图4描述的点云编码器(例如,表面近似分析器40003)的操作和/或方法相同或相似的操作和/或方法。细节与参照图1至图9描述的那些相同。
根据实施方式的帧内/帧间编码处理器12005可对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可执行与参照图7描述的帧内/帧间编码相同或相似的编码。细节与参照图7描述的那些相同。根据实施方式,帧内/帧间编码处理器12005可包括在算术编码器12006中。
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或相似的操作和/或方法。
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供给诸如几何编码和/或属性编码的必要处理过程。另外,根据实施方式的元数据处理器12007可生成和/或处理与几何编码和/或属性编码有关的信令信息。根据实施方式的信令信息可与几何编码和/或属性编码分开编码。根据实施方式的信令信息可被交织。
颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参照图1至图9描述的属性编码相同或相似,因此省略其详细描述。
根据实施方式的颜色变换处理器12008执行颜色变换编码以变换包括在属性中的颜色值。颜色变换处理器12008可基于重构的几何来执行颜色变换编码。重构的几何与参照图1至图9描述的相同。另外,其执行与参照图4描述的颜色变换器40006的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。
根据实施方式的属性变换处理器12009执行属性变换以基于重构的几何和/或不执行几何编码的位置来变换属性。属性变换处理器12009执行与参照图4描述的属性变换器40007的操作和/或方法相同或相似的操作和/或方法。省略其详细描述。根据实施方式的预测/提升/RAHT变换处理器12010可通过RAHT编码、预测变换编码和提升变换编码中的任一种或组合对变换的属性进行编码。预测/提升/RAHT变换处理器12010执行与参照图4描述的RAHT变换器40008、LOD生成器40009和提升变换器40010的操作相同或相似的至少一个操作。另外,预测变换编码、提升变换编码和RAHT变换编码与参照图1至图9描述的那些相同,因此省略其详细描述。
根据实施方式的算术编码器12011可基于算术编码对编码的属性进行编码。算术编码器12011执行与算术编码器400012的操作和/或方法相同或相似的操作和/或方法。
根据实施方式的传输处理器12012可发送包含编码的几何和/或编码的属性和元数据信息的各个比特流,或者发送配置有编码的几何和/或编码的属性和元数据信息的一个比特流。当根据实施方式的编码的几何和/或编码的属性和元数据信息被配置成一个比特流时,比特流可包括一个或更多个子比特流。根据实施方式的比特流可包含信令信息和切片数据,信令信息包括用于序列级别信令的序列参数集(SPS)、用于几何信息编码信令的几何参数集(GPS)、用于属性信息编码信令的属性参数集(APS)和用于拼块级别信令的拼块参数集(TPS)。切片数据可包括关于一个或更多个切片的信息。根据实施方式的一个切片可包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10。
切片是指表示全部或部分编码点云帧的一系列句法元素。
根据实施方式的TPS可包括关于一个或更多个拼块中的各个拼块的信息(例如,关于边界框的坐标信息和高度/大小信息)。几何比特流可包含头和有效载荷。根据实施方式的几何比特流的头可包含GPS中所包括的参数集标识符(geom_parameter_set_id)、拼块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于包含在有效载荷中的数据的信息。如上所述,根据实施方式的元数据处理器12007可生成和/或处理信令信息并将其发送到传输处理器12012。根据实施方式,执行几何编码的元件和执行属性编码的元件可如虚线所指示彼此共享数据/信息。根据实施方式的传输处理器12012可执行与发送器10003的操作和/或发送方法相同或相似的操作和/或发送方法。细节与参照图1和图2描述的那些相同,因此省略其描述。
图13示出了根据实施方式的接收装置。
图13所示的接收装置是图1的接收装置10004(或图10和图11的点云解码器)的示例。图13所示的接收装置可执行与参照图1至图11描述的点云解码器的那些相同或相似的一个或更多个操作和方法。
根据实施方式的接收装置可以包括接收器13000、接收处理器13001、算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的各个解码元件可执行根据实施方式的对应编码元件的操作的逆过程。
根据实施方式的接收器13000接收点云数据。接收器13000可执行与图1的接收器10005的操作和/或接收方法相同或相似的操作和/或接收方法。省略其详细描述。
根据实施方式的接收处理器13001可从所接收的数据获取几何比特流和/或属性比特流。接收处理器13001可包括在接收器13000中。
算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可执行几何解码。根据实施方式的几何解码与参照图1至图10描述的几何解码相同或相似,因此省略其详细描述。
根据实施方式的算术解码器13002可基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或相似的操作和/或编码。
根据实施方式的基于占用代码的八叉树重构处理器13003可通过从解码的几何比特流(或关于作为解码结果取得的几何的信息)获取占用代码来重构八叉树。基于占用代码的八叉树重构处理器13003执行与八叉树的合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三联体几何编码时,根据实施方式的表面模型处理器13004可基于表面模型方法来执行三联体几何解码和相关几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构器11003的操作相同或相似的操作。
根据实施方式的逆量化处理器13005可逆量化解码的几何。
根据实施方式的元数据解析器13006可解析包含在所接收的点云数据中的元数据(例如,设定值)。元数据解析器13006可将元数据传递给几何解码和/或属性解码。元数据与参照图12描述的元数据相同,因此省略其详细描述。
算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参照图1至图10描述的属性解码相同或相似,因此省略其详细描述。
根据实施方式的算术解码器13007可通过算术编码对属性比特流进行解码。算术解码器13007可基于重构的几何对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编码相同或相似的操作和/或编码。
根据实施方式的逆量化处理器13008可逆量化解码的属性比特流。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
根据实施方式的预测/提升/RAHT逆变换处理器13009可处理重构的几何和逆量化的属性。预测/提升/RAHT逆变换处理器13009执行与RAHT变换器11007、LOD生成器11008和/或逆提升器11009的操作和/或解码相同或相似的一个或更多个操作和/或解码。根据实施方式的颜色逆变换处理器13010执行逆变换编码以逆变换包括在解码的属性中的颜色值(或纹理)。颜色逆变换处理器13010执行与颜色逆变换器11010的操作和/或逆变换编码相同或相似的操作和/或逆变换编码。根据实施方式的渲染器13011可渲染点云数据。
图14示出了根据实施方式的可与点云数据发送/接收方法/装置结合操作的示例性结构。
图14的结构表示服务器1460、机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440、家用电器1450和/或头戴式显示器(HMD)1470中的至少一个连接到云网络1400的配置。机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440或家用电器1450被称为装置。此外,XR装置1430可对应于根据实施方式的点云数据(PCC)装置或者可操作上连接到PCC装置。
云网络1400可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1400可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器1460可经由云网络1400连接到机器人1410、自驾驶车辆1420、XR装置1430、智能电话1440、家用电器1450和/或HMD 1470中的至少一个,并且可辅助连接的装置1410至1470的至少一部分处理。
HMD 1470表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置1410至1450的各种实施方式。图14所示的装置1410至1450可操作上连接/联接到根据上述实施方式的点云数据发送/接收装置。
<PCC+XR>
XR/PCC装置1430可采用PCC技术和/或XR(AR+VR)技术,并且可被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置1430可分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并生成关于3D点的位置数据和属性数据。由此,XR/PCC装置1430可获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置1430可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+XR+移动电话>
XR/PCC装置1430可以通过应用PCC技术实现为移动电话1440。
移动电话1440可以基于PCC技术来解码并显示点云内容。
<PCC+自驾驶+XR>
自驾驶车辆1420可通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆1420可表示设置有用于提供XR图像的手段的自驾驶车辆,或者作为XR图像中的控制/交互目标的自驾驶车辆。具体地,作为XR图像中的控制/交互目标,自驾驶车辆1420可与XR装置1430相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆1420可从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆1420可具有HUD并向其输出XR/PCC图像,从而向乘客提供与真实对象或呈现在画面上的对象对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可输出XR/PCC对象的至少一部分以与乘客的眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象输出在设置在自驾驶车辆内的显示器上时,可输出XR/PCC对象的至少一部分以与画面上的对象交叠。例如,自驾驶车辆1220可输出与诸如道路、另一车辆、交通灯、交通标志、两轮车、行人和建筑物的对象对应的XR/PCC对象。
根据实施方式的虚拟现实(VR)技术、增强现实(AR)技术、混合现实(MR)技术和/或点云压缩(PCC)技术适用于各种装置。
换言之,VR技术是仅提供真实世界对象、背景等的CG图像的显示技术。另一方面,AR技术是指在真实对象的图像上显示虚拟创建的CG图像的技术。MR技术与上述AR技术的相似之处在于,要显示的虚拟对象与真实世界混合和组合。然而,MR技术与AR技术的不同之处在于,AR技术在真实对象和作为CG图像创建的虚拟对象之间明确区分并且使用虚拟对象作为真实对象的补充对象,而MR技术将虚拟对象当作具有与真实对象等同的特性的对象。更具体地,MR技术应用的示例是全息服务。
最近,VR、AR和MR技术通常被称为扩展显示(XR)技术,而非彼此明确区分。因此,本公开的实施方式适用于VR、AR、MR和XR技术中的任一种。基于PCC、V-PCC和G-PCC技术的编码/解码适用于这种技术。
根据实施方式的PCC方法/装置可被应用于提供自驾驶服务的车辆。
提供自驾驶服务的车辆连接到PCC装置以进行有线/无线通信。
当根据实施方式的点云数据(PCC)发送/接收装置连接到车辆以进行有线/无线通信时,装置可接收/处理与AR/VR/PCC服务(可与自驾驶服务一起提供)有关的内容数据,并将其发送到车辆。在PCC发送/接收装置安装在车辆上的情况下,PCC发送/接收装置可根据通过用户接口装置输入的用户输入信号接收/处理与AR/VR/PCC服务有关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可接收用户输入信号。根据实施方式的用户输入信号可包括指示自驾驶服务的信号。
如参考图1至图14所描述的,点云数据由点的集合组成,每个点可以具有几何数据(几何信息)和属性数据(属性信息)。几何数据是每个点的三维位置(例如,x轴、y轴和z轴的坐标值)。也就是说,每个点的位置由表示三维空间的坐标系中的参数(例如,表示空间的三个轴线x轴、y轴和z轴的参数(x,y,z))指示。属性信息可以包括颜色(RGB、YUV等)、反射率、法线和透明度。属性信息可以以标量或向量的形式表示。
根据实施方式,根据点云数据的类型和获取方法,点云数据可以被分类为针对静态点云数据的类别1、针对动态点云数据的类别2和针对通过动态移动获取的点云数据的类别3。类别1由具有用于对象或空间的高密度点的单个帧的点云组成。类别3数据可以被划分为基于帧的数据,其中多个帧在移动时被获取,并且单个帧的融合数据与由LiDAR传感器(其中彩色图像被获取为2D图像)针对大空间获取的点云匹配。
根据实施方式,可以使用帧间预测(编码/解码)来随时间推移高效地压缩具有多个帧的三维点云数据,诸如具有多个帧的基于帧的点云数据。帧间预测编码/解码可以应用于几何信息和/或属性信息。帧间预测可以称为图像间预测或帧间预测,并且帧内预测可以称为帧内预测。
根据实施方式,点云数据发送/接收装置/方法能够在多个帧之间进行多向预测。点云数据发送/接收装置/方法可以在帧的编码顺序和显示顺序之间进行区分,并且可以根据预定编码顺序预测点云数据。根据实施方式的点云数据发送/接收装置/方法可以基于多个帧之间的参考以预测树结构执行帧间预测。
此外,根据实施方式,点云数据发送/接收装置/方法可以通过生成累积参考帧来执行帧间预测。累积参考帧可以是多个参考帧的累积。
根据实施方式的点云数据发送/接收装置/方法可以定义预测单元,以应用多个帧之间的预测技术作为用于提高具有一个或更多个帧的点云数据的压缩效率的方法。根据实施方式的预测单元可以通过各种术语来指代,诸如,单元、第一单元、区域、第一区域、框、区或单元。
根据实施方式的点云数据发送/接收装置/方法可以压缩/重构由点云组成的数据。具体地,为了有效压缩具有一个或更多个帧的点云,可以在考虑由LiDAR传感器捕获的点云的特性和预测单元中包含的数据的分布的情况下执行运动估计(或运动预测)和数据预测。
根据实施方式的发送/接收装置/方法可以支持利用移动车辆中的LiDAR设备捕获的点云内容的信令和运动估计,以用于基于几何的点云压缩(G-PCC)的高效几何压缩。
点云数据包括多个帧。所述多个帧可以称为GOF。由根据实施方式的发送/接收装置/方法编码或解码的帧可以称为当前帧,并且被参考以对当前帧进行编码或解码的帧可以称为参考帧。
实施方式涉及用于提高用于3D点云数据的压缩的基于几何的点云压缩(G-PCC)的压缩效率的方案。
点云包括点的集合,并且每个点可以具有几何信息和属性信息。几何信息可以是三维位置(X,Y,Z)信息,并且属性信息可以包括颜色(RGB、YUV等)和/或反射率值。
在G-PCC编码过程中,点云数据可以根据区域被分区成拼块,每个拼块可以被划分成切片以用于并行处理。可以在每个切片的基础上压缩几何信息,并且可以基于利用通过压缩改变的位置信息重构(解码)的几何来压缩属性信息。
G-PCC解码过程可以包括:接收编码的切片单元的几何比特流和以编码的切片为单位的属性比特流;对几何进行解码;以及基于通过解码操作重构的几何来对属性信息进行解码。
根据实施方式的发送/接收装置/方法可以使用基于八叉树、基于预测树或基于三联体的压缩方法来压缩几何信息。
根据实施方式的发送/接收装置/方法可以使用运动(全局运动/局部运动)预测方法来提高由移动车辆中的LiDAR设备捕获的内容(或点云数据)的几何压缩效率。
为了测量点云帧之间的变化,根据本公开的实施方式的发送/接收装置/方法可以使用迭代最近点(ICP)算法或最小均方(LMS)算法来预测运动。
图15例示了根据实施方式的道路的示例法向量。
参考图15,显示与车辆行驶的道路的路表面垂直的法向量1501。假设移动车辆中的LiDAR传感器捕获点云数据的情况,LiDAR传感器在车辆沿着道路左转或右转时捕获点。因此,可能在帧之间在数据中发生旋转运动。通过基于垂直于路表面的法向量来预测旋转运动,可以提高准确度。
在移动车辆中的LiDAR设备捕获的内容的情况下,发生运动所围绕的旋转轴线可能是垂直于路表面的法向量。由于车辆在沿着道路移动时捕获点云数据,因此可能相对于关于道路的法向量发生车辆的旋转。
图16是例示了根据实施方式的预测旋转运动的准确度的曲线图。
图17是例示了根据实施方式的预测旋转运动的准确度的曲线图。
图16和图17例示了针对相同内容预测运动的结果。
图16例示了当道路的法向量接近Z轴时基于Z轴预测旋转运动的情况下发生的误差,并且图17例示了基于不接近关于道路的法向量的X轴、Y轴或Z轴预测旋转运动的情况下发生的误差。
在图17的情况下,由于旋转误差引起的补偿可以用平移替换。
从图16所示的曲线图可以看出,运动预测的结果与原始值之间的差异小。此外,从图17所示的曲线图可以推断运动预测的结果与原始值之间的差异大。也就是说,从图16的结果可以看出预测的准确度高。通过基于接近道路的法向量的向量执行运动预测,根据实施方式的发送/接收装置/方法可以计算出具有较小误差的预测值,并且提高数据发送和接收效率。
根据实施方式快速且准确地执行运动预测可以影响压缩时间。通过利用准确预测提高帧间预测(帧间预测(inter-frame prediction))效率,可以减小比特流的大小。不正确的运动预测可以增大比特流大小并且降低压缩效率。
根据实施方式的发送/接收装置/方法可以支持用于通过移动车辆中的LiDAR设备捕获的内容(或点云数据)的高效几何压缩的运动(全局运动/局部运动)预测方法。
图18示出了根据实施方式的被包括在与点云数据相关的属性信息中的法向量的值的示例。
图19例示了根据实施方式的表示距点云数据的中心点的预定半径的示例。
根据实施方式的发送/接收装置/方法可以获得道路的法向量,以预测通过移动车辆的LiDAR设备捕获的内容的帧间运动。
参考图18,表中的每一行示出了关于属于点云数据的点的几何信息和属性信息。在nx、ny和nz的列中分别示出了被包括在关于该点的属性信息中的法向量的坐标值。
图19例示了通过移动车辆上的LiDAR传感器捕获的点云数据,示出了距中心点1910特定半径内的区域1920。中心点1910可以表示LiDAR传感器的原点。特定半径可以被设定为适当的距离,以对与车辆周围的道路相对应的点进行分类。
如图18所示,当关于点的属性信息具有法向量时,可以对与距中心点(例如,LiDAR传感器的原点)的特定半径内的点当中的具有距指定轴线(例如,Z轴)的最大数量点(例如,前10%)的区域相对应的点进行分类,并且可以将所分类的点的法向量的平均值计算为道路的法向量。
如图18所示,当关于点云数据的每个点的属性信息包括法向量值时,根据实施方式的发送/接收装置/方法可以基于距点云数据的中心点(例如,LiDAR传感器的原点)的特定距离内的点来计算关于道路的法向量。具体地,可以通过对特定距离内的点当中的其在特定轴线(例如,Z轴)上的值在特定范围内的点的法向量值进行平均来计算道路的法向量。在这种情况下,特定范围可以被设定为对应于半径内的点的10%的范围。根据实施方式的发送/接收装置/方法可以通过对被包括在关于点的属性信息中的法向量信息进行平均来计算或估计道路的法向量,并且基于计算出的关于道路的法向量来执行运动预测,从而提高预测的准确度和发送/接收效率。
当关于点的属性信息不包括法向量时,可以对与距中心点(例如,传感器原点)的特定半径内的点当中的具有关于指定轴线(例如,Z轴)的最大数量点(例如,前10%)的区域相对应的点进行分类,并且可以创建连接所分类的点的面。可以针对每个面获得法向量,并且可以将法向量的平均值设定为关于道路的法向量。另选地,可以将特定轴线(例如,+Z轴)设定为关于道路的法向量。
当关于点云数据的点的属性信息不包括法向量值时,根据实施方式的发送/接收装置/方法可以基于距点云数据的中心点(例如,LiDAR传感器的原点)的特定距离内的点来计算关于道路的法向量。具体地,可以创建连接特定距离内的其沿着特定轴线(例如,Z轴)的值在特定范围内的点的面,并且可以计算关于相应面的法向量。然后,可以将计算出的法向量的平均值设定为关于道路的法向量。
根据实施方式,可以将计算出的关于道路的法向量归一化。也就是说,关于道路的法向量可以被归一化为大小为1的向量。例如,当+Z轴被设定为关于道路的法向量时,法向量可以是(0,0,1)。可以发信号通知关于道路的法向量。
根据实施方式的发送/接收装置/方法可以基于关于道路的法向量来将权重指派给每个轴线上的点云数据的值。
根据实施方式的发送/接收装置/方法可以基于关于道路的法向量来将权重指派给点的位置值,以预测通过移动车辆中的LiDAR设备捕获的内容的帧之间的运动。
例如,假设关于道路的法向量是(X_road_norm,Y_road_norm,Z_road_norm)。在获得旋转运动向量时,Point_n(Xn,Yn,Zn)可以变为Point’n(Xn*(X_road_norm+1),Yn*(Y_road_norm+1),Zn*(Z_road_norm+1))。
根据实施方式的发送/接收装置/方法可以基于关于道路的法向量来将权重指派给关于点的几何信息。通过指派权重,可以容易地找到被特定轴线极大影响的运动值。例如,可以以应用于位置值的权重来搜索运动,就好像Z轴移动得比其它轴线多得多一样。
根据实施方式的发送/接收装置/方法可以基于关于道路的法向量来将权重指派给点的位置值,以预测通过移动车辆的LiDAR设备捕获的内容的帧之间的运动,并且使用ICP算法或LMS算法获得旋转运动向量。在预测平移运动向量时,可以不应用权重。
旋转运动向量可以以与平移运动向量组合的矩阵的形式发送,或者可以基于关于道路的法向量作为旋转值(以弧度或度为单位)发送。
图20例示了根据实施方式的点云数据发送装置/方法的示例。
图20可以例示根据实施方式的发送装置/方法。图20中所示的发送装置/方法的组件可以对应于硬件、软件、处理器和/或其组合。
根据实施方式的发送装置/方法可以对应于图1的发送装置10000、图2的发送方法、图4的编码器、图12的发送装置、图14的装置、图20的发送方法/装置或各种实施方式的组合。
根据实施方式的发送装置/方法可以接收和编码PCC(点云)数据并输出几何比特流和属性比特流。
发送装置包括几何编码单元2010和属性编码单元2020。
几何编码单元2010可以称为几何编码器,并且属性编码单元2020可以称为属性编码器。
几何编码器2010包括运动预测器2012和运动补偿应用单元2014。
当帧的类型是P帧时,几何编码器2010可以经由LPU分割器通过运动预测器2012预测全局运动,分割需要通过PU分割器被分割的区域,并且通过运动预测器2012预测局部运动。该过程可以继续,直到不再需要分割或直到指定级别为止。是否分割LPU/PU以及每个LPU/PU的预测运动可以发信号通知给解码器。
运动补偿应用单元2014可以通过率失真优化(RDO)确定是否将预测的运动应用于生成的LPU/PU,并且根据该确定将运动应用于参考帧。是否应用运动可以发信号通知给解码器。
根据实施方式的发送装置/方法可以基于补偿的点通过几何信息帧间预测器来压缩几何信息,并且可以发信号通知相关信息。
根据实施方式的运动预测器2012可以接收帧的中心轴向量、中心点(原点)或距中心点的要用于预测关于道路的法向量的半径、运动信息的类型以及是否计算关于道路的法向量。
当是否计算关于道路的法向量是FALSE时,根据实施方式的运动预测器2012可以将帧的中心轴(例如,Z轴)向量用作关于道路的法向量并且将其发信号通知给解码器。
当是否计算关于道路的法向量是TRUE时,根据实施方式的运动预测器2012可以根据实施方式根据计算关于道路的法向量的方法获得关于道路的法向量,并且可以将其发信号通知给解码器。可以基于中心轴线向量、中心点和距中心点的半径来获得关于道路的法向量。
根据实施方式的运动预测器2012可以将关于道路的法向量作为权重应用于参考帧和当前帧中的点,并且通过诸如ICP或LMS算法的运动预测算法来获得旋转运动。预测的旋转运动可以与行进运动集成为运动矩阵并且发信号通知给解码器,或者可以作为相对于关于道路的法向量的旋转运动值(以弧度或度为单位)发信号通知给解码器。基于运动信息类型确定发送方案。可以向解码器发信号通知运动信息类型。
根据实施方式的运动预测器2012可以预测平移运动,而不将关于道路的法向量作为权重应用于参考帧和当前帧中的点。由于权重已经应用于旋转,所以它可能不应用于预测平移运动。预测的平移运动可以与旋转运动集成在要发信号通知给解码器的运动矩阵中,或者可以将其平移运动值发信号通知给解码器。基于运动信息类型来确定发送方案。可以向解码器发信号通知运动信息类型。
根据实施方式的运动补偿应用单元2014可以通过率失真优化(RDO)确定是否应用由运动预测器2012预测的运动并且应用所确定的运动。
当确定要应用运动时,运动补偿应用单元2014可以将相对于由运动预测器2012计算的关于道路的法向量的旋转和位置值或运动矩阵的值应用于参考帧。
图21例示了根据实施方式的点云数据接收装置/方法的示例。
图21可以例示根据实施方式的接收装置/方法。图21所示的接收装置/方法的组件可以对应于硬件、软件、处理器和/或其组合。
根据实施方式的接收装置/方法可以对应于图1的接收装置20000、图2的接收方法、图11的解码器、图13的接收装置、图14的装置和/或图21的接收方法/装置,或者可以对应于各种实施方式的组合。
根据实施方式的接收装置/方法可以接收编码的几何比特流和属性比特流作为输入,并输出解码的和重构的点云数据。
根据实施方式的接收装置包括几何解码单元2110和属性解码单元2120。解码单元可以称为解码器。
根据实施方式的几何解码器2110可以包括LPU分割器2114和运动补偿应用单元2116。
根据实施方式的运动补偿应用单元2116可以接收关于是否应用运动、运动信息类型、关于道路的法向量以及旋转运动或平移运动信息的信息,并且对其进行重构以将相对于关于道路的法向量的旋转或位置值应用于参考帧或将运动矩阵值应用于参考帧。
根据实施方式的运动补偿应用单元中的点重构过程可以对应于编码器的运动补偿应用单元的操作的逆过程。
根据实施方式的接收装置/方法可以确定是否执行帧内预测。当执行帧内预测时,可以重构几何以用于帧内预测(2112)。当执行帧间预测时,可以重构几何以用于帧间预测。
根据实施方式的接收装置/方法可以基于重构的几何来确定是否执行属性的帧间/帧内预测,并且根据每个预测方法适当地重构属性信息。可以发信号通知预测是属性的帧内预测还是帧间预测。
图22例示了根据实施方式的编码的比特流的示例。
根据实施方式的比特流可以基于图1的发送装置10000、图2的发送方法、图4的编码器、图12的发送装置、图14的装置或图20的发送方法/装置来发送。此外,根据实施方式的比特流可以基于图1的接收装置20000、图2的接收方法、图11的解码器、图13的接收装置、图14的装置和/或图21的接收方法/装置来接收。
根据实施方式的发送/接收装置/方法可以发信号通知相关信息以执行运动预测。在下文中,根据实施方式的参数(其可以称为元数据、信令信息等)可以在根据下文描述的实施方式的发送器的处理中生成,并且递送到根据实施方式的接收器以用于重构处理。例如,根据实施方式的参数可以在根据下面描述的实施方式的发送装置的元数据处理器(或元数据生成器)中生成,并且由根据下面描述的实施方式的接收装置的元数据解析器获取。
此外,根据实施方式的发送/接收装置可以根据应用、系统等定义对应或分离的位置中的运动相关信息,以提供应用的不同范围和方法。如果以较高级别发信号通知包含类似功能的信息,则即使在较低级别的参数集中省略了信令,这也可以是适用的。另外,当下面定义的语法元素不仅适用于当前点云数据流而且适用于多个点云数据流时,该信息可以被承载在更高级别的参数集等中。
根据实施方式的比特流可以包含关于用于预测点云数据的运动预测方法的信息。
编码的点云可以如下所述被配置。执行几何编码和/或属性编码的点云数据编码器可以生成编码的点云(或包含点云的比特流)。另外,与点云数据相关的信令信息可以由点云数据发送装置的元数据处理器生成和处理并被包括在点云中,如下所述。
在图22中,每个缩写表示以下内容。每个缩写可以在等同含义的范围内由另一术语指代。
SPS:序列参数集
GPS:几何参数集
APS:属性参数集
TPS:拼块参数集
Geom:几何比特流=几何切片头+[几何PU头+几何PU数据]|几何切片数据
Attr:属性比特流=属性数据单元头+[属性PU头+属性PU数据]|属性数据单元数据
用于帧间预测的运动选项信息可以被添加到要被发信号通知的GPS或TPS。
用于帧间预测的运动选项信息可以被添加到TPS或用于要发信号通知的每个切片的几何数据头。
可以提供拼块或切片以将点云划分为用于处理的区域。
当点云数据被分区成多个区域时,用于生成相应区域的不同相邻点集的选项可以被配置为提供呈现低复杂度和低可靠性的结果的选择方法或呈现高复杂度和高可靠性的选择方法。该选项可以根据接收器的容量被不同地配置。因此,当点云被划分为拼块时,可以向每个拼块应用不同选项。当点云被划分为切片时,可以向每个切片应用不同选项。
根据实施方式,可以将几何PU添加到比特流,并且可以添加几何PU头和几何PU数据。
根据实施方式,切片可以对应于数据单元,并且切片头可以对应于数据单元头。
图23示出了根据实施方式的几何参数集(geometry_parameter_set)的示例语法。
根据实施方式的发送/接收装置/方法可以使用几何参数集发信号通知关于几何编解码过程中的点的帧间预测的运动选项信息。通过组合motion_desc_type和road_normal_vector信令信息,可以高效地发信号通知关于几何的帧间预测相关信息。可以在信令信息的含义和功能的范围内理解信令信息的名称。
gps_geom_parameter_set_id指示供其它语法元素参考的GPS的标识符。gps_seq_parameter_set_id的值在0至15的范围内。
GPS_seq_parameter_set_id指定用于活动SPS的sps_seq_parameter_set_id的值。gps_seq_parameter_set_id的值在0至15的范围内。
geom_tree_type等于0指示使用八叉树对位置信息进行编码。geom_tree_type等于1指示使用预测树对位置信息进行编码。
motion_desc_type指示应用于帧(或点云数据)的运动表示模式。
:0=运动矩阵模式;
:1=运动向量模式;
:2=运动角度模式。
road_normal_vector指示应用于帧(或点云数据)的道路的法向量值。
图24示出了根据实施方式的拼块参数集(tile_parameter_set)的示例语法。
根据实施方式的发送/接收装置/方法可以使用拼块参数集发信号通知关于几何编码/解码过程中的点的帧间预测的运动选项信息。通过组合motion_desc_type和road_normal_vector信令信息,可以高效地发信号通知关于几何的帧间预测相关信息。可以在信令信息的含义和功能的范围内理解信令信息的名称。
num_tiles指示针对比特流用信号通知的拼块的数量。当不存在时,num_tiles可以被推断为0。
tile_bounding_box_offset_x[i]表示笛卡尔坐标中第i拼块的x偏移。当不存在时,tile_bounding_box_offset_x[0]的值可以被推断为sps_bounding_box_offset_x。
tile_bounding_box_offset_y[i]指示笛卡尔坐标中第i拼块的y偏移。当不存在时,tile_bounding_box_offset_y[0]的值可以被推断为sps_bounding_box_offset_y。
motion_desc_type指示应用于帧(或点云数据)的运动表示模式。
:0=运动矩阵模式;
:1=运动向量模式;
:2=运动角度模式。
road_normal_vector指示应用于帧(或点云数据)的道路的法向量值。
图25示出了根据实施方式的几何切片头(geometry_slice_header)的示例语法。
根据实施方式的发送/接收装置/方法可以使用几何数据头发信号通知关于几何编码/解码过程中的点的帧间预测的运动选项信息。通过组合motion_desc_type和road_normal_vector信令信息,可以高效地发信号通知关于几何的帧间预测相关信息。可以在信令信息的含义和功能的范围内理解信令信息的名称。
gsh_geometry_parameter_set_id指示活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id指示由GSH参考的拼块ID的值。gsh_tile_id的值可以在0至xx的范围内。
gsh_slice_id标识由其它语法元素参考的切片头。gsh_slice_id的值可以在0至xx的范围内。
motion_desc_type指示应用于帧(或点云数据)的运动表示模式。
:0=运动矩阵模式;
:1=运动向量模式;
:2=运动角度模式。
road_normal_vector指示应用于帧(或点云数据)的道路的法向量值。
图26示出了根据实施方式的几何PU头(geometry_pu_header)的示例语法。
根据实施方式的发送/接收装置/方法可以使用Geom PU头生成并发信号通知关于与几何编码/解码过程中的点的帧间预测相关的LPU/PU的运动信息。图26中表示的信令信息可以被组合,并因此可以被高效地发信号通知用于帧间预测。可以在信令信息的含义和功能的范围内理解信令信息的名称。
pu_tile_id指示PU所属的拼块ID。
pu_slice_id指示PU所属的切片ID。
pu_cnt指示切片中包括的PU的数量。
pu_id指示PU ID。
pu_split_flags指示是否稍后进一步分割PU块。
pu_has_motion_vector_flag指示PU块是否具有运动向量。
pu_motion_mat[][][]指示应用于PU块的运动矩阵。
pu_motion_rot_vector[][]指示应用于PU块的运动旋转向量。
pu_motion_trans[][]指示应用于PU块的运动平移向量。
pu_motion_rot_type[]指示应用于PU块的运动旋转值的类型。
:0=弧度
:1=度
pu_motion_rot[]指示应用于PU块的运动旋转的值。旋转轴线指示相对于关于道路的法向量执行旋转。
图27是例示了根据实施方式的发送点云数据的方法的示例流程图。
根据实施方式的点云数据发送方法可以基于图1的发送装置10000、图2的发送方法、图4的编码器、图12的发送装置、图14的装置以及图20的发送方法/装置来执行。
根据实施方式的点云数据发送方法可以包括:对点云数据进行编码(S2700)和发送包含点云数据的比特流(S2710)。
点云数据的编码包括对几何进行编码和对属性进行编码。
参考图20,对几何进行编码可以包括对第一点云数据的运动进行预测。对运动进行预测可以包括基于从第二点云数据计算的第一向量来对运动进行预测。这里,第一向量可以表示根据实施方式的关于道路的法向量。
第一点云数据可以表示属于当前帧的点云数据,并且第二点云数据可以表示属于参考帧的点云数据。在根据实施方式对运动进行预测时,可以参考被包括在参考帧中的点云数据来预测属于当前帧的点云数据。
另选地,同一帧的点云数据中,可以从另一区域的点云数据预测特定区域中的点云数据。如上所述,由特定单元划分的点云数据可以分别称为第一点云数据、第二点云数据等。
参考图18和图19,运动的预测可以包括基于距原点的特定范围(第一范围)中的点当中的具有特定范围(第二范围)中的特定坐标轴(例如,X轴、Y轴或Z轴中的任一者)上的值的点来计算第一向量。第一向量可以表示关于道路的法向量。
例如,可以对距LiDAR传感器的原点的特定距离(第一范围)内的点进行分类。点当中的具有特定范围(第二范围)中的Z轴上的坐标值的点可以被分类。这里,Z轴上坐标值的特定范围可以设定为点数量是点的总数量的10%的范围。另选地,特定范围(第二范围)可以根据点云数据的分布特征任意设定。在该过程中,可以通过收集道路表面上标记的点来计算关于道路的法向量。
根据实施方式,运动的预测可以包括将第一向量计算为特定范围(第二范围)中的点的第二向量的平均值。关于通过上述准则分类的点的属性信息可以包括法向量(第二向量)。可以将关于道路的法向量(第一向量)计算为分类的点的法向量(第二向量)的平均值。
另外,根据实施方式,运动的预测可以包括生成连接特定范围(第二范围)中的点的面,以及计算关于道路的法向量(第一向量)作为关于面的法向量的平均值。
当关于点的属性信息不包括法向量信息时,可以生成连接特定范围内的点的面,并且可以通过对面的法向量求平均来计算关于道路的法向量。
另外,运动的预测可以包括通过基于关于道路的法向量(第一向量)将权重应用于几何来计算旋转运动向量。
计算旋转运动向量可以包括使用迭代最近点(ICP)算法或最小均方算法(LMS)算法来计算旋转运动向量。
参照图23至图26,根据实施方式的比特流包含与关于道路的法向量(第一向量)有关的信息。具体地,根据实施方式的比特流可以包含点云数据的运动信息类型、关于道路的法向量以及旋转运动或平移运动。
根据实施方式的运动的预测可以由图20的几何编码器2010、运动预测器2012或运动补偿应用单元2014执行。
根据实施方式的发送装置可以包括:编码器,该编码器被配置为对点云数据进行编码;以及发送器,该发送器被配置为发送包含点云数据的比特流。
图28是例示了根据实施方式的接收点云数据的方法的示例流程图。
根据实施方式的接收方法可以包括:接收包含点云数据的比特流(S2800)和对点云数据进行解码(S2810)。
根据实施方式的接收方法可以由图1的接收装置20000、图2的接收方法、图11的解码器、图13的接收装置、图14的装置和/或图21的接收方法/装置来执行,或者可以通过各种实施方式的组合来执行。
对点云数据进行解码(S2810)可以包括对几何进行解码和对属性进行解码,其中,对几何进行解码可以包括对第一点云数据的运动进行预测。对运动进行预测可以包括基于从第二点云数据计算的道路的法向量(第一向量)来对运动进行预测。
第一点云数据可以表示属于当前帧的点云数据,并且第二点云数据可以表示属于参考帧的点云数据。在根据实施方式对运动进行预测时,可以参考被包括在参考帧中的点云数据来预测属于当前帧的点云数据。
比特流可以包含与关于道路的法向量(第一向量)有关的信息。关于道路的法向量(第一向量)可以是基于距原点的特定范围(第一范围)中的点当中的具有特定范围(第二范围)中的特定坐标轴(例如,X轴、Y轴或Z轴中的任一者)上的值的点而计算的。
关于道路的法向量(第一向量)可以被计算为特定范围(第二范围)中的点的法向量(第二向量)的平均值。
另选地,关于道路的法向量(第一向量)可以被计算为连接特定范围(第二范围)中的点的面的法向量的平均值。
当关于点的属性信息不包括法向量信息时,可以生成连接上述特定范围(第二范围)内的点的面,并且可以通过对面的法向量求平均来计算关于道路的法向量。
根据实施方式的运动的预测包括通过基于关于道路的法向量(第一向量)将权重应用于几何来计算旋转运动向量。
可以使用迭代最近点(ICP)算法或最小均方(LMS)算法来计算旋转运动向量。
根据实施方式的接收装置可以包括:接收器,该接收器被配置为接收包含点云数据的比特流;以及解码器,该解码器被配置为对点云数据进行解码。
根据实施方式的点云数据发送/接收装置/方法可以提供以下效果。
根据实施方式的发送/接收装置/方法可以使用帧间预测技术来高效地执行压缩,因为当通过移动车辆中的LiDAR设备逐个捕获和存储帧时,帧之间可能存在连续性。快速且准确地执行运动预测可以影响压缩时间。通过利用准确估计提高帧间预测技术的效率,可以减小比特流的大小。不正确的运动估计可以极大地增大比特流大小并因此可以降低压缩效率。
因此,可能需要一种基于由移动车辆中的LiDAR设备捕获的点云数据的特性来快速且准确地预测运动的方法。
根据实施方式的发送/接收装置/方法支持用于通过移动车辆中的LiDAR设备捕获的内容的高效几何压缩的运动(全局运动/局部运动)方法的估计。
根据实施方式的发送/接收装置/方法可以通过提高用于3D点云数据压缩的基于几何的点云压缩(G-PCC)的编码器/解码器的帧间几何压缩效率来提供点云内容流。
根据实施方式的发送装置/方法可以高效地压缩点云数据和发送数据,并传递其信令信息。因此,根据实施方式的接收装置/方法可以高效地解码/重构点云数据。
根据实施方式的发送/接收装置/方法的操作可以通过组合参考图1至图28描述的点云压缩处理过程来执行。
根据本公开中描述的实施方式的操作可以由根据实施方式的包括存储器和/或处理器的发送/接收装置来执行。存储器可以存储根据实施方式的用于处理/控制操作的程序,并且处理器可以控制本公开中描述的各种操作。处理器可以称为控制器等。操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以存储在处理器或存储器中。
已从方法和/或装置的角度描述了实施方式,可应用方法和装置的描述以彼此补充。
尽管为了简单起见单独描述了附图,但是可通过将各个图中所示的实施方式合并来设计新的实施方式。根据本领域技术人员的需要设计可由计算机读取的记录有用于执行上述实施方式的程序的记录介质也落在所附权利要求及其等同物的范围内。根据实施方式的装置和方法可不限于上述实施方式的配置和方法。可通过选择性地组合所有或一些实施方式来对实施方式进行各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点单独地理解。
实施方式的装置的各种元件可由硬件、软件、固件或其组合实现。实施方式中的各种元件可由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个组件可包括能够执行一个或更多个程序的一个或更多个处理器。一个或更多个程序可执行根据实施方式的任一个或更多个操作/方法或者包括用于执行其的指令。
用于执行根据实施方式的装置的方法/操作的可执行指令可被存储在被配置成由一个或更多个处理器执行的非暂时性CRM或其它计算机程序产品中,或者可被存储在被配置成由一个或更多个处理器执行的暂时性CRM或其它计算机程序产品中。
另外,根据实施方式的存储器可用作不仅涵盖易失性存储器(例如,RAM),而且涵盖非易失性存储器、闪存和PROM的概念。另外,也可按载波(例如,经由互联网的传输)的形式实现。另外,处理器可读记录介质可分布到经由网络连接的计算机系统,使得处理器可读代码可按分布式方式存储和执行。
在本说明书中,术语“/”和“,”应该被解释为指示“和/或”。例如,表达“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二者。换言之,本文献中使用的术语“或”应该被解释为指示“另外地或另选地”。
诸如第一和第二的术语可用于描述实施方式的各种元件。然而,根据实施方式的各种组件不应受上述术语限制。这些术语仅用于将一个元件与另一元件相区分。例如,第一用户输入信号可被称为第二用户输入信号。类似地,第二用户输入信号可被称为第一用户输入信号。这些术语的使用应该不脱离各种实施方式的范围来解释。第一用户输入信号和第二用户输入信号均是用户输入信号,但除非上下文清楚地另外规定,否则并不意指相同的用户输入信号。
用于描述实施方式的术语是为了描述具体实施方式而使用的,并非旨在限制实施方式。如实施方式的描述和权利要求中使用的,除非上下文清楚地另外规定,否则单数形式包括复数个所指对象。表达“和/或”用于包括术语的所有可能组合。诸如“包括”或“具有”的术语旨在指示图形、数量、步骤、元件和/或组件的存在,应该理解为不排除另外存在图形、数量、步骤、元件和/或组件的可能性。如本文所使用的,诸如“如果”和“当”的条件表达不限于可选情况,旨在解释为当满足特定条件时执行相关操作,或者根据特定条件解释相关定义。
本说明书中描述的根据实施方式的操作可由根据实施方式的包括存储器和/或处理器的发送/接收装置执行。存储器可存储程序以用于处理/控制根据实施方式的操作,并且处理器可控制本说明书中描述的各种操作。处理器可被称为控制器等。在实施方式中,操作可由固件、软件和/或其组合执行。固件、软件和/或其组合可被存储在处理器或存储器中。
根据上述实施方式的操作可以由根据实施方式的发送装置和/或接收装置执行。发送/接收装置可以包括:发送器/接收器,其被配置为发送和接收媒体数据;存储器,其被配置为存储用于根据实施方式的处理的指令(程序代码、算法、流程图和/或数据);以及处理器,其被配置为控制发送/接收装置的操作。
处理器可以称为控制器等,并且可以对应于例如硬件、软件和/或其组合。根据上述实施方式的操作可以由处理器执行。另外,处理器可以被实现为用于上述实施方式的操作的编码器/解码器。
本公开的模式
如上所述,在实现实施方式的最佳模式中描述了相关细节。
工业实用性
如上所述,实施方式全部或部分地可应用于点云数据发送/接收装置和系统。本领域技术人员可以在实施方式的范围内以各种方式对实施方式进行改变或修改。实施方式可以包括权利要求及其等同物的范围内的变型例/修改例。
Claims (17)
1.一种发送点云数据的方法,所述方法包括以下步骤:
对点云数据进行编码;以及
发送包含所述点云数据的比特流。
2.根据权利要求1所述的方法,其中,对所述点云数据进行编码的步骤包括:
对几何进行编码;以及
对属性进行编码,
其中,对所述几何进行编码包括:
对第一点云数据的运动进行预测,
其中,对所述运动进行预测包括:
基于从第二点云数据计算的第一向量来对所述运动进行预测。
3.根据权利要求2所述的方法,其中,对所述运动进行预测包括:
基于距原点的第一范围内的点当中的具有第二范围中的坐标值的点来计算所述第一向量。
4.根据权利要求3所述的方法,其中,对所述运动进行预测还包括:
将所述第一向量计算为所述第二范围中的点的第二向量的平均值。
5.根据权利要求3所述的方法,其中,对所述运动进行预测还包括:
生成连接所述第二范围中的点的面;以及
将所述第一向量计算为关于所述面的法向量的平均值。
6.根据权利要求4或5所述的方法,其中,对所述运动进行预测还包括:
通过基于所述第一向量将权重应用于所述几何来计算旋转运动向量。
7.根据权利要求6所述的方法,其中,计算所述旋转运动向量包括:
使用迭代最近点ICP算法或最小均方LMS算法来计算所述旋转运动向量。
8.根据权利要求7所述的方法,其中,所述比特流包含关于所述第一向量的信息。
9.一种发送点云数据的装置,所述装置包括:
编码器,所述编码器被配置为对点云数据进行编码;以及
发送器,所述发送器被配置为发送包含所述点云数据的比特流。
10.一种接收点云数据的方法,所述方法包括以下步骤:
接收包含点云数据的比特流;以及
对所述点云数据进行解码。
11.根据权利要求10所述的方法,其中,对所述点云数据进行解码的步骤包括:
对几何进行解码;以及
对属性进行解码,
其中,对所述几何进行解码包括:
对第一点云数据的运动进行预测,
其中,对所述运动进行预测包括:
基于从第二点云数据计算的第一向量来对所述运动进行预测。
12.根据权利要求11所述的方法,其中,所述比特流包含关于所述第一向量的信息,
其中,所述第一向量是基于距原点的第一范围内的点当中的具有第二范围中的坐标值的点而计算的。
13.根据权利要求12所述的方法,其中,所述第一向量被计算为所述第二范围中的点的第二向量的平均值。
14.根据权利要求12所述的方法,其中,所述第一向量被计算为关于连接所述第二范围中的点的面的法向量的平均值。
15.根据权利要求13或14所述的方法,其中,对所述运动进行预测还包括:
通过基于所述第一向量将权重应用于所述几何来计算旋转运动向量。
16.根据权利要求15所述的方法,其中,所述旋转运动向量是使用迭代最近点ICP算法或最小均方LMS算法而计算的。
17.一种接收点云数据的装置,所述装置包括:
接收器,所述接收器被配置为接收包含点云数据的比特流;以及
解码器,所述解码器被配置为对所述点云数据进行解码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0146946 | 2021-10-29 | ||
KR20210146946 | 2021-10-29 | ||
PCT/KR2022/016786 WO2023075535A1 (ko) | 2021-10-29 | 2022-10-31 | 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치. |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118160310A true CN118160310A (zh) | 2024-06-07 |
Family
ID=86160107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280072179.4A Pending CN118160310A (zh) | 2021-10-29 | 2022-10-31 | 点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4425927A1 (zh) |
KR (1) | KR20240095202A (zh) |
CN (1) | CN118160310A (zh) |
WO (1) | WO2023075535A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11363267B2 (en) * | 2017-09-28 | 2022-06-14 | Samsung Electronics Co., Ltd. | Encoding method and device, and decoding method and device |
WO2019079093A1 (en) * | 2017-10-19 | 2019-04-25 | Interdigital Vc Holdings, Inc. | METHOD AND DEVICE FOR PREDICTIVE CODING / DECODING OF A POINT CLOUD |
EP3633621A1 (en) * | 2018-10-02 | 2020-04-08 | BlackBerry Limited | Predictive coding of point clouds using multiple frames of references |
JP7189234B2 (ja) * | 2018-12-21 | 2022-12-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置及び復号装置 |
EP4135319A4 (en) * | 2020-04-11 | 2023-05-03 | Lg Electronics Inc. | POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD |
-
2022
- 2022-10-31 KR KR1020247013087A patent/KR20240095202A/ko unknown
- 2022-10-31 WO PCT/KR2022/016786 patent/WO2023075535A1/ko active Application Filing
- 2022-10-31 CN CN202280072179.4A patent/CN118160310A/zh active Pending
- 2022-10-31 EP EP22887729.6A patent/EP4425927A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023075535A1 (ko) | 2023-05-04 |
EP4425927A1 (en) | 2024-09-04 |
KR20240095202A (ko) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113597771B (zh) | 用于处理点云数据的设备和方法 | |
CN114175100A (zh) | 用于处理点云数据的方法和装置 | |
US11902348B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20240298029A1 (en) | Device and method for processing point cloud data | |
CN115428467B (zh) | 点云数据发送设备和方法、点云数据接收设备和方法 | |
CN114073085A (zh) | 点云数据处理方法和设备 | |
EP4325852A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
CN114073086A (zh) | 点云数据处理设备和方法 | |
CN114051730A (zh) | 处理点云数据的设备和方法 | |
CN117178553A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN117178555A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN114930860B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN116349229A (zh) | 点云数据发送装置和方法、点云数据接收装置和方法 | |
US20240064332A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN116438799A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN115702568A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114503586B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP4425927A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4432658A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
US20240357166A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4432657A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4395320A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4429248A1 (en) | Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data | |
EP4422181A1 (en) | Point cloud data transmission device and method, and point cloud data reception device and method | |
EP4387230A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |