CN114073085A - 点云数据处理方法和设备 - Google Patents
点云数据处理方法和设备 Download PDFInfo
- Publication number
- CN114073085A CN114073085A CN202080048800.4A CN202080048800A CN114073085A CN 114073085 A CN114073085 A CN 114073085A CN 202080048800 A CN202080048800 A CN 202080048800A CN 114073085 A CN114073085 A CN 114073085A
- Authority
- CN
- China
- Prior art keywords
- information
- point cloud
- lod
- points
- sampling
- 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
- 238000003672 processing method Methods 0.000 title description 23
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000005070 sampling Methods 0.000 claims description 378
- 238000000034 method Methods 0.000 claims description 210
- 238000010187 selection method Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 description 71
- 238000013139 quantization Methods 0.000 description 52
- 238000007906 compression Methods 0.000 description 35
- 230000006835 compression Effects 0.000 description 35
- 230000011664 signaling Effects 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 28
- 230000009466 transformation Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 239000012634 fragment Substances 0.000 description 13
- 238000009877 rendering Methods 0.000 description 12
- 230000006837 decompression Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000001174 ascending effect Effects 0.000 description 7
- 230000010354 integration Effects 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000002310 reflectometry Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- WPNJAUFVNXKLIM-UHFFFAOYSA-N Moxonidine Chemical compound COC1=NC(C)=NC(Cl)=C1NC1=NCCN1 WPNJAUFVNXKLIM-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据实施方式的点云数据处理设备可以编码点云数据并将其作为比特流发送。根据实施方式的点云数据处理设备可以接收包括点云数据的比特流,并且可以解码点云数据。
Description
技术领域
本公开提供一种用于提供点云内容以向用户提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务的各种服务的方法。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点集合。点云内容可表达在三个维度配置的媒体,并且用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)和自驾驶服务的各种服务。然而,需要数万至数十万的点数据来表示点云内容。因此,需要一种有效地处理大量点数据的方法。
发明内容
技术问题
实施方式提供了一种用于有效地处理点云数据的装置和方法。实施方式提供了一种用于解决延迟和编码/解码复杂度的点云数据处理方法和装置。
实施方式的技术范围不限于上述技术目的,可扩展至本领域技术人员基于本文所公开的整个内容可推断出的其他技术目的。
技术方案
为了实现这些目的和其他优点并且根据本公开的目的,在一些实施方式中,一种用于发送点云数据的方法可以包括:对包括几何信息和属性信息的所述点云数据进行编码,以及发送包括所编码的点云数据的比特流。在一些实施方式中,所述几何信息表示所述点云数据的点的位置,而所述属性信息表示所述点云数据的点的属性。
在一些实施方式中,一种处理点云数据的方法可以包括:接收包括点云数据的比特流。在一些实施方式中,所述点云数据包括几何信息和属性信息,其中所述几何信息表示所述点云数据的点的位置,并且所述属性信息表示所述点云数据的点的一个或多个属性。该点云处理方法可以包括解码所述点云数据。
在一些实施方式中,一种用于处理点云数据的方法可以包括接收包括点云数据的比特流并解码点云数据。在一些实施方式中,点云数据包括几何信息和属性信息,其中几何信息表示点云数据的点的位置,并且属性信息指示点云数据的点的一个或多个属性。
在一些实施方式中,一种用于处理点云数据的装置可以包括被配置为接收包括点云数据的比特流的接收器和被配置为解码点云数据的解码器。在一些实施方式中,点云数据包括几何信息和属性信息,其中几何信息表示点云数据的点的位置,并且属性信息指示点云数据的点的一个或多个属性。
有益效果
根据实施方式的装置和方法可高效地处理点云数据。
根据实施方式的装置和方法可提供高质量点云服务。
根据实施方式的装置和方法可提供点云内容以用于提供诸如VR服务和自驾驶服务的通用服务。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中并构成本申请的一部分,附图示出本公开的实施方式并与描述一起用于说明本公开的原理。
为了更好地理解下面描述的各种实施方式,应该结合附图参考以下实施方式的描述。附图中:
图1示出根据实施方式的示例性点云内容提供系统。
图2是示出根据实施方式的点云内容提供操作的框图。
图3示出根据实施方式的捕获点云视频的示例性处理。
图4示出根据实施方式的示例性点云编码器。
图5示出根据实施方式的体素的示例。
图6示出根据实施方式的八叉树和占用代码的示例。
图7示出根据实施方式的邻居节点图案的示例。
图8示出根据实施方式的每个LOD中的点配置的示例。
图9示出根据实施方式的每个LOD中的点配置的示例。
图10示出根据实施方式的示例性点云解码器。
图11示出根据实施方式的示例性点云解码器。
图12示出根据实施方式的示例性发送装置。
图13示出根据实施方式的示例性接收装置。
图14示出根据实施方式的用于流传输基于G-PCC的点云数据的架构。
图15示出根据实施方式的示例性点云发送装置。
图16示出根据实施方式的示例性点云接收装置。
图17示出根据实施方式的操作上可与发送和接收点云数据的方法/装置连接的示例性结构。
图18是示出示例性点云编码器的框图。
图19是示出示例性几何信息编码器的框图。
图20示出根据实施方式的示例性属性信息编码器。
图21示出根据实施方式的示例性属性信息编码器。
图22示出根据实施方式的示例性属性信息预测器。
图23示出示例性LOD生成过程。
图24示出示例性的基于莫顿顺序的采样过程。
图25示出根据实施方式的LOD生成过程。
图26示出根据实施方式的孤立点处理方法。
图27示出根据实施方式的孤立点处理方法。
图28示出点云压缩(PCC)比特流的示例性结构图。
图29示出根据实施方式的APS的示例性语法。
图30示出根据实施方式的APS的示例性语法。
图31示出根据实施方式的TPS的示例性语法。
图32示出根据实施方式的TPS的示例性语法。
图33示出根据实施方式的属性报头的示例性语法。
图34示出根据实施方式的属性报头的示例性语法。
图35是示出示例性点云解码器的框图。
图36是示出几何信息解码器的示例的框图。
图37是示出示例性属性信息解码器的框图。
图38是根据实施方式的点云数据处理方法的示例性流程图;以及
图39是根据实施方式的点云数据处理方法的示例性流程图。
具体实施方式
现在将详细参考本公开的优选实施方式,其示例示出于附图中。下面将参照附图给出的详细描述旨在说明本公开的示例性实施方式,而非示出可以根据本公开实现的仅有实施方式。以下详细描述包括具体细节以便提供本公开的彻底理解。然而,对于本领域技术人员而言将显而易见的是,本公开可以在没有这些具体细节的情况下实践。
尽管本公开中使用的大多数术语选自本领域中广泛使用的通用术语,但是一些术语由申请人任意选择并且在以下描述中根据需要详细说明其含义。因此,本公开应该基于术语的预期含义而非其简单名称或含义来理解。
图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文件格式或斯坦福三角形(StanfordTriangle)格式)文件。当点云视频具有一个或多个帧时,所获取的点云视频可以包括一个或多个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可以执行几何编码。根据实施方式的几何编码可以包括八叉树几何编译、直接编译、三联体几何编码和熵编码。直接编译和三联体几何编码选择性地或组合应用。几何编码不限于上述示例。
如图所示,根据实施方式的坐标变换器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树或莫顿码(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树或莫顿码。
如图所示,变换的属性被输入到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立方区域被称为块。一个块可以包括一个或多个体素。块或体素可以对应于图块(brick)。几何被表示为每个块内的表面。根据实施方式的表面可与块的各条边相交至多一次。
一个块具有12条边,因此一个块中存在至少12个交点。每个交点被称为顶点。当共享边的所有块当中存在与边相邻的至少一个占用体素时,检测沿着边存在的顶点。根据实施方式的占用体素是指包含点的体素。沿着边检测到的顶点位置是沿着共享边的所有块当中与边相邻的所有体素的边的平均位置。
一旦检测到顶点,根据实施方式的点云编码器就可以对边的起点(x,y,z)、边的方向向量(Δx,Δy,Δz)和顶点位置值(边内的相对位置值)执行熵编码。当应用三联体几何编码时,根据实施方式的点云编码器(例如,几何重构器40005)可以通过执行三角形重构、上采样和体素化过程来生成恢复的几何(重构的几何)。
位于块的边处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构过程中,基于边的起点、边的方向向量和顶点的位置值来重构由三角形表示的表面。三角形重构过程这样执行:1)计算每个顶点的质心值,2)从每个顶点值减去中心值,并且3)估计通过减法获得的值的平方和。
估计和的最小值,并且根据具有最小值的轴执行投影过程。例如,当元素x最小时,每个顶点相对于块的中心投影在x轴上,并且投影在(y,z)平面上。当通过(y,z)平面上的投影获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并且基于θ的值对顶点进行排序。下表示出根据顶点数量创建三角形的顶点组合。顶点从1至n排序。下表示出对于四个顶点,可以根据顶点组合构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,第二个三角形可以由排序的顶点当中的顶点3、4和1组成。
表.从排序为1的顶点形成的三角形
[表1]
执行上采样过程以沿着三角形的边在中间添加点,并且执行体素化。所添加的点基于上采样因子和块的宽度来生成。添加的点被称为细化顶点。根据实施方式的点云编码器可将细化顶点体素化。另外,点云编码器可以基于体素化的位置(或位置值)来执行属性编码。
图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)可量化和逆量化通过从每个点的属性(属性值)减去预测属性(属性值)而获得的残差(可称为残差属性、残差属性值或属性预测残差)。量化过程如下表所示配置。
属性预测残差量化伪代码
[表2]
属性预测残差逆量化伪代码
[表3]
当每个点的预测器具有邻居点时,根据实施方式的点云编码器(例如,算术编码器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变换编译是通过八叉树向后扫描进行属性帧内编码的示例。根据实施方式的点云编码器从体素开始扫描整个区域并且在每一步重复将体素合并为更大的块的合并过程,直至到达根节点。仅对占用节点执行根据实施方式的合并过程。不对空节点执行合并过程。对空节点正上方的上节点执行合并过程。
类似于高通系数,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示出根据实施方式的用于流传输基于G-PCC的点云数据的架构。
图14的上部示出由图1至图13中描述的发送装置(例如,发送装置10000、图12的发送装置等)处理和发送点云内容的过程。
如参考图1至图13所描述的,发送装置可以获取点云内容的音频Ba(音频获取),对获取的音频进行编码(音频编码),并且输出音频比特流Ea。另外,发送装置可以获取点云内容的点云(或点云视频)Bv(点获取),并且对所获取的点云执行点云编码以输出点云视频比特流Eb。发送装置的点云编码与参考图1至图13描述的点云编码(例如,图4的点云编码器的编码)相同或相似,因此将省略其详细描述。
发送装置可将所生成的音频比特流和视频比特流封装到文件和/或片段中(文件/片段封装)。封装的文件和/或片段Fs、File可以包括诸如ISOBMFF或DASH片段的文件格式的文件。根据实施方式的点云相关元数据可以包含在封装的文件格式和/或片段中。元数据可以包含在ISOBMFF文件格式上的各种级别的盒中,或者可以包含在文件内的单独轨道中。根据实施方式,发送装置将元数据封装到单独的文件中。根据实施方式的发送装置可经由网络传送封装的文件格式和/或片段。发送装置的封装和传输处理方法与参考图1至图13描述的相同(例如,发送器10003、图2的传输步骤20002等),因此将省略其详细描述。
图14的下部示出由参考图1至图13描述的接收装置(例如,接收装置10004、图13的接收装置等)处理和输出点云内容的过程。
根据实施方式,接收装置可以包括被配置为输出最终音频数据和最终视频数据的装置(例如,扬声器、耳机、显示器)以及被配置为处理点云内容的点云播放器(点云播放器)。最终数据输出装置和点云播放器可以被配置成单独的物理装置。根据实施方式的点云播放器可以执行基于几何的点云压缩(G-PCC)编译、基于视频的点云压缩(V-PCC)编译和/或下一代编译。
根据实施方式的接收装置可以取得包含在所接收的数据(例如,广播信号、经由网络发送的信号等)中的文件和/或片段F’,Fs’并将其解封装(文件/片段解封装)。接收装置的接收和解封装方法与参考图1至图13描述的那些(例如,接收器10005、接收单元13000、接收处理单元13001等)相同,因此将省略其详细描述。
根据实施方式的接收装置取得包含在文件和/或片段中的音频比特流E’a和视频比特流E’v。如图所示,接收装置通过对音频比特流执行音频解码来输出解码的音频数据B’a,并且渲染解码的音频数据(音频渲染)以通过扬声器或耳机输出最终音频数据A’a。
另外,接收装置对视频比特流E’v执行点云解码并输出解码的视频数据B’v。根据实施方式的点云解码与参考图1至图13描述的点云解码(例如,图11的点云解码器的解码)相同或相似,因此将省略其详细描述。接收装置可以渲染解码的视频数据并通过显示器输出最终视频数据。
根据实施方式的接收装置可以基于所发送的元数据来执行解封装、音频解码、音频渲染、点云解码和点云视频渲染中的至少一个。元数据的细节与参考图12至图13描述的那些相同,因此将省略其描述。
如图中所示的虚线所指示,根据实施方式的接收装置(例如,点云播放器或点云播放器中的感测/跟踪单元)可以生成反馈信息(取向、视口)。根据实施方式,反馈信息可以在接收装置的解封装过程、点云解码过程和/或渲染过程中使用,或者可以被传送至发送装置。反馈信息的细节与参考图1至图13描述的那些相同,因此将省略其描述。
图15示出根据实施方式的示例性发送装置。
图15的发送装置是被配置为发送点云内容的装置,并且对应于参考图1至图14描述的发送装置(例如,图1的发送装置10000、图4的点云编码器、图12的发送装置、图14的发送装置)的示例。因此,图15的发送装置执行与参考图1至图14描述的发送装置相同或相似的操作。
根据实施方式的发送装置可以执行点云获取、点云编码、文件/片段封装和传送中的一个或多个。
由于图中所示的点云获取和传送的操作与参考图1至图14描述的操作相同,所以将省略其详细描述。
如上面参考图1至图14描述的,根据实施方式的发送装置可以执行几何编码和属性编码。几何编码可以被称为几何压缩,属性编码可以被称为属性压缩。如上所述,一个点可具有一个几何和一个或多个属性。因此,发送装置对每个属性执行属性编码。图中示出发送装置执行一个或多个属性压缩(属性#1压缩、...、属性#N压缩)。另外,根据实施方式的发送装置可以执行辅助压缩。对元数据执行辅助压缩。元数据的细节与参考图1至图14描述的那些相同,因此将省略其描述。发送装置还可以执行网格数据压缩。根据实施方式的网格数据压缩可以包括参考图1至图14描述的三联体几何编码。
根据实施方式的发送装置可将根据点云编码输出的比特流(例如,点云流)封装到文件和/或片段中。根据实施方式,发送装置可以执行媒体轨道封装以用于承载元数据以外的数据(例如,媒体数据),并且执行元数据轨道封装以用于承载元数据。根据实施方式,元数据可以被封装到媒体轨道中。
如参考图1至图14所描述的,发送装置可以从接收装置接收反馈信息(取向/视口元数据),并且基于所接收的反馈信息执行点云编码、文件/片段封装和传送操作中的至少一个。细节与参考图1至图14描述的那些相同,因此将省略其描述。
图16示出根据实施方式的示例性接收装置。
图16的接收装置是用于接收点云内容的装置,并且对应于参考图1至图14描述的接收装置的示例(例如,图1的接收装置10004、图11的点云解码器和图13的接收装置、图14的接收装置)。因此,图16的接收装置执行与参考图1至图14描述的接收装置相同或相似的操作。图16的接收装置可以接收从图15的发送装置发送的信号,并且执行图15的发送装置的操作的逆过程。
根据实施方式的接收装置可以执行传送、文件/片段解封装、点云解码和点云渲染中的至少一个。
由于图中所示的点云接收和点云渲染操作与参考图1至图14描述的那些相同,所以将省略其详细描述。
如参考图1至图14描述的,根据实施方式的接收装置将从网络或存储装置获取的文件和/或片段解封装。根据实施方式,接收装置可以执行媒体轨道解封装以用于承载元数据以外的数据(例如,媒体数据),并且执行元数据轨道解封装以用于承载元数据。根据实施方式,在元数据被封装到媒体轨道中的情况下,省略元数据轨道解封装。
如参考图1至图14描述的,接收装置可以对通过解封装取得的比特流(例如,点云流)执行几何解码和属性解码。几何解码可以被称为几何解压缩,属性解码可以被称为属性解压缩。如上所述,一个点可具有一个几何和一个或多个属性,其各自由发送装置编码。因此,接收装置对每个属性执行属性解码。图中示出接收装置执行一个或多个属性解压缩(属性#1解压缩、...、属性#N解压缩)。根据实施方式的接收装置还可以执行辅助解压缩。对元数据执行辅助解压缩。元数据的细节与参考图1至图14描述的那些相同,因此将省略其混乱。接收装置还可以执行网格数据解压缩。根据实施方式的网格数据解压缩可以包括参考图1至图14描述的三联体几何解码。根据实施方式的接收装置可以渲染根据点云解码输出的点云数据。
如参考图1至图14描述的,接收装置可使用单独的感测/跟踪元件来取得取向/视口元数据,并且将包括其的反馈信息发送到发送装置(例如,图15的发送装置)。另外,接收装置可以基于反馈信息执行接收操作、文件/片段解封装和点云解码中的至少一个。细节与参考图1至图14描述的那些相同,因此将省略其描述。
图17示出根据实施方式的操作上可与发送和接收点云数据的方法/装置连接的示例性结构。
图17的结构表示服务器1760、机器人1710、自驾驶车辆1720、XR装置1730、智能电话1740、家用电器1750和/或HMD 1770中的至少一个连接到云网络1700的配置。机器人1710、自驾驶车辆1720、XR装置1730、智能电话1740或家用电器1750被称为装置。此外,XR装置1730可以对应于根据实施方式的点云数据(PCC)装置或者可操作上连接到PCC装置。
云网络1700可表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,云网络1700可使用3G网络、4G或长期演进(LTE)网络或5G网络来配置。
服务器1760可经由云网络1700连接到机器人1710、自驾驶车辆1720、XR装置1730、智能电话1740、家用电器1750和/或HMD 1770中的至少一个,并且可辅助连接的装置1710至1770的至少一部分处理。
HMD 1770表示根据实施方式的XR装置和/或PCC装置的实现类型之一。根据实施方式,HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
以下,将描述应用了上述技术的装置1710至1750的各种实施方式。图17所示的装置1710至1750可操作上连接/联接到根据上述实施方式的点云数据发送/接收装置。
<PCC+XR>
XR/PCC装置1730可以采用PCC技术和/或XR(AR+VR)技术,并且可以被实现为HMD、设置在车辆中的平视显示器(HUD)、电视、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、固定机器人或移动机器人。
XR/PCC装置1730可以分析通过各种传感器或从外部装置获取的3D点云数据或图像数据并生成关于3D点的位置数据和属性数据。由此,XR/PCC装置1730可以获取关于周围空间或真实对象的信息,并且渲染和输出XR对象。例如,XR/PCC装置1730可使包括关于所识别的对象的辅助信息的XR对象与所识别的对象匹配并输出匹配的XR对象。
<PCC+自驾驶+XR>
自驾驶车辆1720可以通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用了XR/PCC技术的自驾驶车辆1720可表示设置有用于提供XR图像的手段的自主车辆,或者作为XR图像中的控制/交互目标的自主车辆。具体地,作为XR图像中的控制/交互目标,自驾驶车辆1720可与XR装置1730相区分并且可操作上与之连接。
具有用于提供XR/PCC图像的手段的自驾驶车辆1720可以从包括相机的传感器获取传感器信息,并且基于所获取的传感器信息来输出所生成的XR/PCC图像。例如,自驾驶车辆1720可具有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服务有关的内容数据并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自驾驶服务的信号。
图18是示出示例性点云编码器的框图。
根据实施方式的点云编码器1800(例如,图1的点云视频编码器10002、图4的点云编码器、参考图12、图14和图15描述的点云编码器)可以执行参考图1至图17描述的编码操作。根据实施方式的点云编码器1800可以包括空间分割器1810、几何信息编码器1820和属性信息编码器1830。尽管图18中未示出,根据实施方式的点云编码器1800还可以包括一个或多个元件以执行参考图1至图17描述的编码操作。
点云压缩(PCC)数据(或PCC数据或点云数据)是点云编码器1800的输入数据并且可以包括几何和/或属性。根据实施方式的几何是指示点的位置的信息,并且可以被表示为诸如笛卡尔坐标系、柱坐标系或球坐标系的坐标系的参数。根据实施方式,几何可以被称为几何信息,属性可以被称为属性信息。
根据实施方式的空间分割器1810可以生成点云数据的几何和属性。根据实施方式的空间分割器1810可将点云数据分割为3D空间中的一个或多个3D块,以便存储点云数据的点信息。根据实施方式的块可表示拼块组、拼块、切片、编译单元(CU)、预测单元(PU)或变换单元(TU)中的至少一个。根据实施方式的空间分割器1810可以基于八叉树、四叉树、二叉树、三叉树或k-d树中的至少一个来执行分割操作。块可以包含一个或多个点。根据实施方式的块可以是具有预设宽度、深度和高度的六面体形状的块。根据实施方式的块的大小是可改变的,不限于上述示例。根据实施方式的空间分割器1810可以生成关于包含在块中的一个或多个点的几何信息。
根据实施方式的几何信息编码器(或几何编码器)1820可以执行几何编码并生成几何比特流和重构的几何信息。在根据实施方式的几何编码中,重构的几何信息被输入到属性信息编码器(或属性编码器)1830。根据实施方式的几何信息编码器1820可以执行参考图4描述的坐标变换器40000、量化器40001、八叉树分析器40002、表面近似分析器40003、算术编码器40003和几何重构器(重构几何)40005的至少一个操作。另外,根据实施方式的几何信息编码器1820可以执行参考图12描述的数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用代码生成器12003、表面模型处理器12004、帧内/帧间编译处理器12005、算术编码器12006和元数据处理器12007的至少一个操作。
根据实施方式的属性信息编码器1830可以基于重构的几何信息和属性来生成属性信息比特流(或属性比特流)。
根据实施方式的点云编码器可发送复用有几何信息比特流和属性信息比特流或几何信息比特流和属性信息比特流的比特流。如上所述,比特流还可以包括与几何信息和属性信息有关的信令信息以及与坐标变换有关的信令信息。另外,根据实施方式的点云编码器可将比特流封装并将其以片段和/或文件的形式发送。
图19是示出示例性几何信息编码器的框图。
根据实施方式的几何信息编码器1900(或几何编码器)是图18的几何信息编码器1820的示例,并且可以执行几何编码。由于根据实施方式的几何编码与参考图1至图18描述的几何编码相同或相似,所以将省略其详细描述。如图所示,几何信息编码器1900可以包括坐标变换器1910、几何信息变换量化器1920、几何信息预测器1930、残差几何信息量化器1940、几何信息熵编码器1950、残差几何信息逆量化器1960、滤波器1970和存储器1980。尽管图19中未示出,根据实施方式的几何信息编码器1900还可以包括一个或多个元件执行参考图1至图18描述的几何编码。
根据实施方式的坐标变换器1910可将所接收的几何信息变换为坐标系中的信息,以便将输入的几何信息所指示的每个点的位置表示为3D空间中的位置。坐标变换器1910执行与参考图4描述的坐标变换器40000的操作相同或相似的操作。如上所述,根据实施方式的坐标系可以包括(但不限于)三维笛卡尔坐标系、柱坐标系和球坐标系。根据实施方式的坐标变换器1910可将设定的坐标系变换为另一坐标系。
根据实施方式的坐标变换器1910可以对诸如序列、帧、拼块、切片或块的单元执行坐标变换。根据实施方式,可以基于每个序列、帧、拼块、切片或块发信号通知是否变换坐标和与坐标系和/或变换有关的信息。因此,根据实施方式的点云数据接收装置可以基于邻居块的坐标变换状态、块的大小、点的数量、量化值、块分割深度、单元的位置、单元与原点之间的距离等来获得与坐标系和/或变换有关的信息。
根据实施方式的几何信息变换量化器1920可量化呈现在坐标系中的几何信息并生成变换量化的几何信息。根据实施方式的几何信息变换量化器1920可以对从坐标变换器1910输出的几何信息所指示的点位置应用诸如位置变换和/或旋转变换的一个或多个变换,并且通过将变换的几何信息除以量化值来执行量化。几何信息变换量化器1920可以执行与图4的量化器40001和/或图12的量化处理器12001的操作相同或相似的操作。根据实施方式的量化值可以基于编译单元(例如,拼块、切片等)与坐标系原点之间的距离或与参考方向的角度而变化。根据实施方式,量化值可以是预设值。
根据实施方式的几何信息预测器1930可以基于邻近编译单元的量化值来计算预测值(或预测几何信息)。
残差几何信息量化器1940可以接收变换量化的几何信息和通过减去预测值而获得的残差几何信息,并且利用量化值量化残差几何信息以生成量化的残差几何信息。
几何信息熵编码器1950可以对量化的残差几何信息进行熵编码。根据实施方式的熵编码可以包括指数哥伦布(Golomb)、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。
残差几何信息逆量化器1960可以通过利用量化值缩放量化的几何信息来重构残差几何信息。重构的残差几何信息和预测的几何信息可以被求和以生成重构的几何信息。
滤波器1970可以对重构的几何信息进行滤波。根据实施方式,滤波器1970可以包括去块滤波器和偏移校正器。根据实施方式的滤波器1970可针对通过将两个编译单元不同地坐标变换而获得的几何信息来在两个不同编译单元之间的边界上执行附加滤波。
存储器1980可存储重构的几何信息(或恢复的几何信息)。所存储的几何信息可以被提供给几何信息预测器1930。另外,存储在存储器中的重构的几何信息可以被提供给参考图18描述的属性信息编码器1830。
图20示出根据实施方式的示例性属性信息编码器。
图20所示的属性信息编码器2000可以作为参考图18描述的属性信息编码器1830的示例执行属性编码。由于根据实施方式的属性编码与参考图1至图17描述的属性编码相同或相似,所以将省略其详细描述。如图所示,根据实施方式的属性信息编码器2000可以包括属性特性变换器2010、几何信息映射器2020、属性信息变换器2030、属性信息量化器2040和属性信息熵编码器2050。
根据实施方式的属性特性变换器2010可以接收属性信息并变换所接收的属性信息的特性(例如,颜色等)。例如,当属性信息包括颜色信息时,属性特性变换器2010可以变换属性信息的颜色空间(例如,从RGB至YCbCr)。另外,属性特性变换器2010可选择性地跳过属性信息的特性的变换。属性特性变换器2010可以执行与属性变换器40007和/或颜色变换处理器12008的操作相同或相似的操作。
根据实施方式的几何信息映射器2020可以通过映射从属性特性变换器2010输出的属性信息和所接收的重构的几何信息来生成重构的属性信息。几何信息映射器2020可以通过基于重构的几何信息重构关于一个或多个点的属性信息来生成属性信息。如上所述,可以基于体素的中值来重构关于包括在一个体素中的一个或多个点的几何信息。由于属性信息依赖于几何信息,所以几何信息映射器2020基于重构的几何信息来重构属性信息。几何信息映射器2020可以执行与属性变换处理器12009的操作相同或相似的操作。
根据实施方式的属性信息变换器2030可以接收和变换重构的属性信息。根据实施方式的属性信息变换器2030可预测属性信息并使用一个或多个变换类型(例如,DCT、DST、SADCT、RAHT)来变换与所接收的重构的属性信息与预测的属性信息之间的残差对应的残差属性信息。
根据实施方式的属性信息量化器2040可以接收变换的残差属性信息并基于量化值来生成变换量化的残差属性信息。
根据实施方式的属性信息熵编码器2050可以接收变换量化的残差属性信息,对其执行熵编码,并且输出属性信息比特流。根据实施方式的熵编码可以包括(但不限于)指数Golomb、CAVLC和CABAC中的一个或多个。属性信息熵编码器2050可以执行与算术编码器12011的操作相同或相似的操作。
图21示出根据实施方式的示例性属性信息编码器。
图21所示的属性信息编码器2100对应于参考图18描述的属性信息编码器1830和参考图20描述的属性信息编码器2000的示例。根据实施方式的属性信息编码器2100可以包括属性特性变换器2110、几何信息映射器2120、属性信息预测器2130、残差属性信息变换器2140、残差属性信息逆变换器2145、残差属性信息量化器2150、残差属性信息逆量化器2155、滤波器2160、存储器2170和属性信息熵编码器2180。图21所示的属性信息编码器2100与图20所示的属性信息编码器2000的不同之处在于,在编码器中还包括残差属性信息变换器2140、残差属性信息逆变换器2145、残差属性信息量化器2150、残差属性信息逆量化器2155、滤波器2160和存储器2170。
根据实施方式的属性特性变换器2110和几何信息映射器2120可以执行与参考图20描述的属性特性变换器2010和几何信息映射器2020的操作相同或相似的操作。根据实施方式的属性信息预测器2130可以生成预测的属性信息。残差属性信息变换器2140可以接收通过获得从几何信息映射器2120输出的重构属性信息与预测的属性信息之间的差异而生成的残差属性信息。残差属性信息变换器2140可使用一个或多个变换类型(例如,DCT、DST、SADCT、RAHT等)来变换包括所接收的残差属性信息的残差3D块。
根据实施方式的残差属性信息量化器2150可以基于量化值来变换输入的变换残差属性信息。变换的残差属性信息可以被输入到残差属性信息逆量化器2155。根据实施方式的残差属性信息逆量化器2155可以基于量化值来变换变换量化的残差属性信息并生成变换的残差属性信息。由残差属性信息逆量化器2155生成的变换的残差属性信息被输入到残差属性逆变换器2145。根据实施方式的残差属性逆变换器2145可使用一个或多个变换类型(例如,DCT、DST、SADCT、RAHT等)来逆变换包括变换的残差属性信息的残差3D块。根据实施方式,可以通过将逆变换的残差属性信息和从属性信息预测器2130输出的预测的属性信息组合来生成重构的属性信息。根据实施方式,可以通过将非逆变换的残差属性信息和预测的属性信息组合来生成重构的属性信息。重构的属性信息可以被输入到滤波器2160。根据实施方式的属性信息预测器2130、残差属性信息变换器2140和/或残差属性信息量化器2150可以执行与预测/提升/RAHT变换处理器12010的操作相同或相似的操作。
根据实施方式的滤波器2160可以对重构的属性信息进行滤波。根据实施方式的滤波器2160可以包括去块滤波器、偏移校正器和自适应环路滤波器(ALF)。滤波器2160可以执行与图19的滤波器1970的操作相同或相似的操作。
根据实施方式的存储器2170可存储从滤波器2160输出的重构的属性信息。所存储的重构的属性信息可以作为输入数据提供以用于属性信息预测器2130的预测操作。属性信息预测器2130可以基于关于点的重构的属性信息来生成预测的属性信息。尽管在图中存储器2170被示出为一个块,但其可以包括一个或多个物理存储器。根据实施方式的属性信息熵编码器2180可以执行与参考图20描述的属性信息熵编码器2050的操作相同或相似的操作。
图22示出根据实施方式的示例性属性信息预测器。
图22所示的属性信息预测器2200对应于参考图21描述的属性信息预测器2130的示例。属性信息预测器2200可以执行与属性信息预测器2130的操作相同或相似的操作。根据实施方式的属性信息预测器2200可以包括LOD配置器2210和邻居点集合配置器2220。LOD配置器2210可以执行与LOD生成器40009的操作相同或相似的操作。即,如图所示,LOD配置器2210可以接收属性和重构的几何,并且基于所接收的属性和重构的几何来配置一个或多个LOD。如上参考图4和图8所述,可以通过将分布在3D空间中的点重新组织为细化级别的集合来生成LOD。根据实施方式,LOD可以包括以规则间隔分布的一个或多个点。如上所述,根据实施方式的LOD指示点云内容的细节级别。因此,由LOD(或LOD值)指示的级别降低,点云内容的细节可能劣化。随着由LOD指示的级别升高,点云内容的细节增强。即,指示更高级别的LOD可以包括以更短间隔分布的点。根据实施方式的点云编码器(例如,图4的点云编码器)和点云解码器(例如,图11的点云解码器)可以生成LOD以增加属性压缩率。由于具有相似属性的点很有可能在目标点的邻域内,所以基于具有相似属性的邻近点获得的预测属性与目标点的属性之间的残差值很有可能接近0。因此,根据实施方式的点云编码器和点云解码器可以生成LOD以便选择可用于属性预测的适当邻近点。
根据实施方式的LOD配置器2210可以使用一种或多种方法来配置LOD。如上所述,点云解码器(例如,参考图10至图11描述的点云解码器)也可以生成LOD。因此,根据实施方式的与LOD配置方法(或LOD生成方法)相关的信息或LOD配置方法信息通过包含编码的点云视频数据的比特流被发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。因此,接收装置可以基于LOD配置方法信息生成LOD。
当生成每个LOD(或LOD集合)时,根据实施方式的邻居点集合配置器2220可以搜索或检索LOD1集合的点的一个或多个邻居点。一个或多个邻居点的数量可以是X,其中X是大于零的整数。根据实施方式的邻居点是在3D空间中位于最接近LOD1集合的点的最近邻居(NN)点,并且被包括在与目标LOD(例如,LOD1)相同的LOD中或被包括在比目标LOD更低级别的LOD集合(例如,LOD1-1,LOD1-2...,LOD0)中。根据实施方式的邻居点集合配置器2220可以将一个或多个所搜索的邻居点注册为预测器中的邻居点集合。根据实施方式的邻居点的数量可以根据用户输入信号被设置为邻居点的最大数量,或者可以根据邻居点搜索方法被预设为特定值。
根据实施方式的邻居点集合配置器2220可以在LOD0和LOD1中搜索属于图9所示的LOD1的点P3的邻近点。如图9所示,LOD0包括P0、P5、P4和P2。LOD2包括LOD0的点、LOD1的点、P9、P8和P7。当邻居点的数量X是3时,邻居点集合配置器2220在图9的顶部所示的3D空间中,从属于LOD0或LOD1的点中搜索最接近P3的三个邻居点。也就是说,邻居点集合配置器2220可以搜索属于LOD1的P6(其处于相同的LOD级别)以及属于LOD0的P2和P4(其处于较低的LOD级别),作为P3的邻居点。在3D空间中,P7是接近P3的点,但是不被搜索为邻居点,因为它处于更高的LOD级别。邻居点集合配置器2220可以将搜索到的邻居点P2、P4和P6注册为P3的预测器中的邻居点集合。根据实施方式的生成邻居点的集合的方法不限于该示例。通过包括上述编码的点云视频数据的比特流,将关于根据实施方式的生成邻居点的集合的方法的信息(在下文中,称为邻居点集合生成信息)发送到接收装置(例如,图1的接收装置10004、图10和图11的点云解码器等)。
如上所述,每个点可以具有一个预测器。根据实施方式的点云编码器可以通过应用预测器来对相应点的属性值进行编码,并且可以生成预测属性(或预测属性值)。根据实施方式,在LOD生成之后,基于搜索到的邻居点来生成预测器。预测器用于预测目标点的属性。因此,预测器可以通过对邻居点的属性应用权重来生成预测属性。
例如,预测器可以基于目标点(例如,P3)与邻居点集合中的每个邻居点之间的距离值(例如,1/2距离)来计算和注册权重。如上所述,由于P3的邻居点集合包括P2、P4和P6,因此根据实施方式的点云编码器(或预测器)基于P3与每个邻居点之间的距离值来计算权重。因此,每个邻居点的权重被表示为当配置了用于预测器的邻居点的集合时,根据实施方式的点云编码器可以利用邻居点的权重的总和来归一化邻居点的权重。例如,节点P3的邻居点集合中的所有邻居点的权重之和被表示如下。通过将权重之和(total_weight)除以每个邻居点的权重生成的归一化权重被表示为
根据实施方式的点云编码器(或属性信息预测器)可以通过预测器预测属性。根据实施方式的预测属性(或预测属性信息)可以是通过将所注册的邻居点的属性乘以所计算的权重而获得的值的平均,如参考图9所述,或可以是通过将特定点的属性乘以权重而获得的值。根据实施方式,在预先计算压缩结果值之后,点云编码器可以将预测属性值选择性地用于生成上述属性值之中的最小流(具有最高压缩效率的预测属性值)。预测属性的方法不限于上述示例。
根据实施方式的点云编码器(例如,系数量化器40011等)可以对关于点的属性值、预测属性值的残差和所选择的预测属性的信息(或关于选择预测属性的方法的信息)进行编码,并且将其发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。根据实施方式的接收装置执行与由发送装置执行的LOD生成、邻居点集合生成、邻居点的加权归一化和属性预测相同的处理。接收装置可以使用与由发送装置基于关于所选择的预测属性的信息执行的方法相同的方法来预测属性。接收装置可以解码所接收的残差值,并且通过将解码的残差值与预测的属性值相加来重构属性值。
如上所述,根据实施方式的LOD配置器2210可以基于一种或多种LOD生成方法来生成LOD。
根据实施方式的LOD配置器2210可以基于距离生成LOD(基于距离的LOD生成方法)。根据实施方式的LOD配置器2210可以为每个LOD设置至少两个点之间的距离(例如,欧几里德(Euclidean)距离),并且计算分布在3D空间中的所有点之间的距离以基于计算结果生成LOD(基于邻居点之间的距离的计算的LOD生成方法)。如上所述,每个LOD可以包括根据由LOD指示的级别以规则间隔分布的点。因此,LOD配置器2210应当计算所有点之间的距离。也就是说,由于点云编码器和点云解码器需要在它们每次生成LOD时计算所有点之间的距离,因此在处理点云数据的过程中可能会造成不必要的负担。然而,当点云内容的密度高时,密集点具有高的基于几何的邻近相关性,因而很可能具有相似的属性。因此,根据实施方式的LOD配置器2210可以通过计算点之间的距离来生成用于具有高密度的点云内容的LOD。
根据实施方式,LOD配置器2210可以基于莫顿点码来配置LOD。如上所述,通过将表示所有点的3D位置的坐标值(例如(x,y,z))呈现为比特值并将比特混合来生成莫顿码。
根据实施方式的LOD配置器2210可以基于重构的几何生成每个点的莫顿码,并且基于莫顿码以升序对点进行排序。以莫顿码的升序排序的点的顺序可以被称为莫顿顺序。LOD配置器2210可以通过对以莫顿顺序排序的点执行采样来配置LOD。例如,根据实施方式的LOD配置器2210可以根据与节点相对应的每个区域中包括的点的莫顿顺序,基于采样率间隙来顺序地选择点。根据实施方式的采样率(其可以表示为例如k1)可以根据点云的分布和点云内容被自动地改变,或者可以根据用户输入被改变。此外,根据实施方式的采样率可以具有固定值。LOD配置器2210可以选择从根据莫顿顺序首先排序的点(第0点)起的按采样率(例如,5)分开的位置处排序的点(例如,当采样率是5时,配置器可以选择第一点之后的第五点)。对于剩余的点,可以从每5个点之中选择一个(例如,位于第五点之后的第五位置中的点),并且可以将所选择的点分类为比当前LOD(例如,LOD1)更低的级别(LOD1-1)。因此,LOD配置器2210可以在不计算所有点之间的距离的情况下配置LOD。也就是说,点云编码器和点云解码器不需要在每次它们生成LOD时计算所有点之间的距离,因此它们可以更快地处理点云数据。此外,根据实施方式的LOD配置器2210可以针对每个LOD不同地执行采样。
然而,当点云内容的密度低时,点之间的基于几何的邻近相关性低,并因此分布的点不太可能具有相似的属性。因此,为了提高属性信息的编码和解码的准确性,根据实施方式的LOD配置器2210可以通过基于固定采样范围、基于八叉树的固定采样范围和基于八叉树的动态采样范围中的任何一个执行采样来生成LOD。根据实施方式的关于采样范围和采样的信息被包括在上述LOD配置方法(或LOD生成方法)信息中,并且通过包含编码的点云视频数据的比特流被发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。因此,接收装置可以基于LOD配置方法信息生成LOD。
根据实施方式的LOD配置器2210可以基于固定采样范围执行采样。可以根据点云的密度,针对3D空间的每个区域不同地设置根据实施方式的采样率。此外,可以针对每个LOD不同地设置根据实施方式的采样率。根据实施方式的采样范围是固定的。
图23示出了示例性LOD生成过程。
图23示出了LOD生成过程的示例2300。图23示出了根据实施方式,当采样率(其可以被表示为例如k1)为4时,基于固定采样范围生成LOD的过程。根据实施方式的固定采样范围与参考图22描述的固定采样范围相同,并因此将省略其描述。根据实施方式,可以根据点云的分布、用户输入等来改变采样率。此外,根据实施方式的采样率可以具有固定值。
图23的上半部分示出了包括在通过划分3D空间而创建的两个空间的每个中的点。如图所示,第一空间2301可以包含五个点P0、P1、P5、P6和P9,并且第二空间2302可以包含五个点P2、P3、P4、P7和P8。
在图23中,第一索引2310指示分布在3D空间中的10个点的原始顺序。如上所述,LOD配置器(例如,图22的LOD配置器2210)可以计算每个点的莫顿码,并且基于所计算的莫顿码以升序I1对点进行排序。在图23中,第二索引2320指示10个点的莫顿顺序。由于根据实施方式的采样率是4,因此通过采样为每四个点中的每个选择的点的示例2330指示点P5、P1和P7。未选择的点仅被包括在LOD1中。在图23中,第三索引2340指示LOD1中的点的索引。根据实施方式的LOD配置器可以对所选点P5、P1和P7执行或重新执行采样(或子采样)以生成LOD1-1。图23示出了根据采样选择的点(即P5)的示例2350。未被选择的点(例如,P1、P7)仅被包括在LOD1-1中。图中所示的第四索引2350指示点所属的LOD顺序。作为采样的结果,LOD0可以具有P5,LOD1可以具有点P5、P1和P7,并且LOD2可以具有所有点2360。
图24示出了示例性的基于莫顿顺序的采样过程。
图24的左部分示出了通过分割三维空间而形成的一个空间中的点的莫顿顺序2400。如上所述,根据实施方式的LOD配置器(例如,LOD配置器2210)可以计算每个点的莫顿码,并基于所计算的莫顿码以升序对点进行排序。图中所示的数字指示基于莫顿码以升序排序的点的顺序。图24的右部分示出了通过相对于三维空间被分割成的多个空间中的点的莫顿顺序执行采样而生成的LOD的示例2410。图24的示例2410表示采样率为4的示例。坐标系中呈现的圆圈2415表示在采样过程中选择的点。坐标系中指示的线2418表示选择点的过程。如上所述,LOD配置器(例如,LOD配置器2210)可以通过对以莫顿顺序排序的点执行采样来配置LOD。然而,如图24的示例所示,莫顿顺序可以由Z字形线表示。因此,根据莫顿顺序排序的点之间的距离可能不是恒定的。此外,这些点不均匀地分布在3D区域(例如,由x轴、y轴和z轴表示的3D区域)中。因此,即使在以莫顿顺序排序的点上以恒定采样率执行采样,采样结果也可能无法确保点之间的距离的最小值和最大值。
根据实施方式的LOD配置器能够以基于八叉树的固定采样范围为基础来执行采样。可以对八叉树的每个深度不同地设置根据实施方式的采样率。根据实施方式的采样范围是固定的。如参考图5和图6所述,可以通过将点云内容的3D空间递归地分割为八个相等的部分来生成根据实施方式的八叉树。根据实施方式的递归地分割的区域是具有相同体积的立方体或长方体。根据实施方式的八叉树具有占用码,该占用码指示通过分割一个空间而生成的八个分割的空间中的每个是否包括至少一个点。占用码可以包括多个节点,并且每个节点可以指示在每个分割的空间中是否存在任何点。例如,当至少一个点被包括在所分割的空间中时,对应于该空间的节点指示该点存在(例如,指配“1”)。每个节点的深度对应于由至少一个LOD指示的级别。
对应于每个级别的节点区域可以保证LOD中的点之间的最大距离。根据实施方式,节点内的点中的选择的点之间的最大距离是节点大小,并且在节点之间选择的点之间的最大距离受到节点大小的限制。因此,根据实施方式的采样可以保持点之间的恒定最大距离,因此LOD配置器可以降低LOD生成的复杂度并生成具有高压缩效率的LOD。
另外,根据实施方式的LOD配置器能够以基于八叉树的动态采样范围为基础来执行采样。可以基于LOD的级别和八叉树的深度来设置根据实施方式的采样率。另外,根据实施方式的采样范围不是固定的,并且可以基于LOD级别和莫顿码值来被计算。根据实施方式的LOD配置器可以基于八叉树对用于采样的点进行分组,而不是对其数量对应于用于采样的每个采样率的点进行分组(选择)。在八叉树结构中,很显然属于相同父节点的点彼此相邻。因此,根据实施方式的LOD配置器不需要附加地计算选择的点之间的距离以便检查选择的点是否实际上是邻居。另外,根据实施方式的LOD配置器可以基于八叉树的占用码的节点是否被分配(占用)来检查点云内容的密度,并且基于密度选择用于采样的点。例如,如果分配了所有节点,则指示由每个节点表示的区域中的点的密度高。如果没有使用节点,则指示点的密度低。由于高密度点在属性方面具有高相似度,因此LOD配置器可以选择比低密度点少的点以进行采样。
根据实施方式的基于固定采样范围的采样包括根据采样率重复选择相同数量的点的操作,而不管点的密度如何。重复点选择过程可能在LOD生成操作中引起不必要的负担。
图25示出了根据实施方式的LOD生成过程。
图25示出了以基于八叉树的动态采样范围为基础的LOD生成过程的示例2500。由于根据实施方式的基于八叉树的动态采样范围与参考图24描述的动态采样范围相同,因此将省略其详细描述。可以基于来自八叉树中的相同父节点的子点来设置根据实施方式的基于八叉树的动态采样范围。
根据实施方式的LOD的最大级别被表示为lmax。由于如上所述,点云内容的密度是不同的,因此可以针对每个点云内容不同地设置LOD的最大级别。因此,根据实施方式,每个点云内容对于LOD的最大级别,可以具有相同或不同的八叉树深度。根据实施方式的八叉树的深度可以被表示为d。根据实施方式的LOD最大级别低于八叉树的深度(lmax<d)。
根据实施方式的LOD(例如,LOD1)的最大采样率可以表示如下。
[等式1]
k=8l max-l+1
在此,k表示最大采样率。根据实施方式的LOD配置器可以根据点云内容的点密度来改变采样率。在上面的等式中,1表示在八叉树的深度级别(例如,级别d-1)处执行的采样。当点密集时,很可能分配级别d-1的所有节点。然而,由于密度在点云内容之间不同,因此根据实施方式的LOD配置器可以设置用于在八叉树的占用码的特定深度处配置LOD的值。根据实施方式的LOD(例如,LOD1)的最大采样率可以表示如下。
[等式2]
k=8l max-l+X
在此,X具有用于在八叉树的特定深度处配置LOD的值,并且大于0。根据实施方式,可以针对每个点云内容不同地设置X。
图25所示的示例2500示出了在X为3的情况下和X为1的情况下执行采样的节点。当X为3时,根据实施方式的LOD配置器可以从对应于深度3的节点2510执行采样(例如,LOD值为0)。当X为1时,根据实施方式的LOD配置器可以从对应于深度1的节点2520执行采样。根据实施方式,子节点的数量被表示为pow(8,X),由2530指示。
根据实施方式,每个LOD的采样范围可以表示如下。
[等式3]
Pi.mc~Pi.mc+(k-(Pi.mc%k))
在此,Pi.mc表示第i点的莫顿码值。根据实施方式的采样范围可以限于在八叉树的占用码中具有相同的上父节点的莫顿码范围。例如,LOD级别是最大级别,并且在以莫顿顺序排序的点当中,用于莫顿码为2的点的采样范围被设置为包括莫顿码0至7的点的范围(因为占用码在每个深度处具有8个节点)。当点的莫顿码值大于采样范围的最大值时(例如Pi.mc+(k-(Pi.mc%k))),根据实施方式的LOD配置器可以重新计算下一个采样范围。
因此,当在八叉树结构中配置点时,LOD0的最大采样率变为8(80+1=8)。LOD0的采样范围可以是莫顿码0至7、8至15、16至23、…。根据实施方式的LOD1的最大采样率可以是64(81 +1=64),并且LOD1的采样范围可以是0至63、64至127、128至192、…。
根据实施方式的LOD配置器(例如,图22的LOD配置器2210)可以从采样范围内的点当中选择一个点,将所选择的点分类为级别低于当前LOD(例如,LOD1)的级别的LOD(例如,LOD(0至-l-1)),并且在当前LOD中注册剩余未被选择的点。
根据实施方式的LOD配置器可以基于一种或多种方法来选择点,以便生成用于属性的预测编译的良好的邻居节点集合并提高压缩效率。
例如,根据实施方式的LOD配置器可以选择采样范围内的第N点。根据实施方式,可以根据用户输入信号来设置N。另外,根据实施方式,可以基于速率失真优化(RDO)来设置N。
根据实施方式的LOD配置器可以选择具有与属于采样范围的点的中间值或中间莫顿码值最相似的莫顿码的点。随着莫顿码值的相似度增加,点之间的距离接近的概率增加。这是因为具有与相同采样范围内的点的中间莫顿码值最相似的莫顿码的点很可能具有可以表示采样范围中的点的属性(例如,颜色、反射率值等)或可以对属于采样范围的点具有相对较大影响的属性。具体地,当可以表示邻近值的点被选择为邻居节点集合时,可以提高压缩效率。另外,根据实施方式的LOD配置器可以从基于中间莫顿码值排序的点当中选择第N点。根据实施方式,N是预设值。当没有N的设定值时,根据实施方式的LOD配置器可以从排序的点中选择第0点。
根据实施方式的LOD配置器可以从属于采样范围的点当中选择与中间索引值相对应的点。值索引值可能是对应区域的中间值。因此,LOD配置器能够以高压缩效率执行快速数据处理,而无需执行额外的计算处理。根据实施方式,中间索引值和中间值可以用具有相同含义的其他术语替换。当采样范围中的点不是均匀分布(例如,它们是不均匀分布的)时,点的中间莫顿码值不能适当地表示采样范围。因此,根据实施方式的LOD配置器可以选择具有与采样范围的理想中间莫顿码值最相似的莫顿码的点。假设在八叉树结构中分配来自父节点的所有子节点,根据实施方式的LOD配置器计算理想中间莫顿码值并选择具有与理想中间莫顿码值最相似的莫顿码的点。根据实施方式的LOD配置器可以从基于理想中间莫顿码值排序的点当中选择第N点。根据实施方式,N是预设值。当没有N的设定值时,根据实施方式的LOD配置器可以在排序的点中选择第0点。
根据实施方式的LOD配置器可以选择采样范围内的一个或多个点。可以预设要选择的点的数量。根据选择采样范围内的第N点的方法,LOD配置器可以从采样范围内的点当中迭代地选择第N点。例如,当N是2时,LOD配置器在采样范围内重复地选择与预设数量X一样多的第二点、第四点等。根据选择具有与属于采样范围的点的中间莫顿码值最相似的莫顿码的点的方法,LOD配置器可以重复地选择与预设数X一样多的对应于按照中间莫顿码值排序的顺序的第N位置的点。根据选择具有与属于采样范围的点的理想中间莫顿码值最相似的莫顿码的点的方法,LOD配置器可以迭代地选择与预设数X一样多的对应于按照理想中间莫顿码值排序的顺序的第N位置的点。
根据实施方式的采样范围可以仅包含一个点。包括在采样范围中的一个点可以被称为孤立点。为了提高压缩效率,LOD配置器可以使用一种或多种方法来处理孤立点。
例如,LOD配置器可以对孤立点执行采样。LOD配置器可以从与上述固定采样率k一样多的连续孤立点中选择一个点。
LOD配置器可以将孤立点分离成比当前LOD更低级别的候选LOD组。LOD配置器在LOD1生成期间,不选择具有孤立点的采样范围中的孤立点,而是将其分离成LOD(0至-l-1)。LOD配置器可以通过在生成LODl-1-α时应用更宽的采样范围和更高的采样率来选择孤立点。
根据实施方式的LOD配置器可以在当前LOD中注册孤立点。例如,当在LOD1生成期间生成孤立点时,LOD配置器将孤立点注册在LOD1中。这是因为孤立点不太可能具有可以表示邻居点的属性,因而不需要被选择为邻居点集合。
LOD配置器可以将孤立点合并到邻居点中。根据实施方式的点基于莫顿码值以升序排序,并根据采样率划分为一个或多个采样范围。如上所述,对应于每个采样范围的点在八叉树的占用码中属于相同父节点。因此,包括在采样范围中的点的数量可以改变。LOD配置器可以基于采样范围(即,采样范围中包括的点的数量)来确定点是否是孤立点。例如,当采样范围中包括的点的数量小于或等于预设值时,LOD配置器将采样范围或采样范围中包括的点设置为孤立点。LOD配置器将具有孤立点的采样范围与下一采样范围(例如,与具有孤立点的采样范围相邻的采样范围)整合(或合并)。当整合的采样范围中的点的数量小于或等于预设值时,LOD配置器将整合的采样范围与下一个采样范围(例如,与整合的采样范围相邻的采样范围)进行整合。可替选地,当整合的采样范围中的点的数量大于预设值时,LOD配置器将整合采样范围设置为一个采样范围。
关于孤立点处理方法的信息被包括在上述LOD配置方法(或LOD生成方法)信息中,并且通过包含编码的点云视频数据的比特流被发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。因此,接收装置可以基于LOD配置方法信息来生成LOD。
当选择上述孤立点时,也可以应用根据实施方式的点选择方法。另外,通过包含上述LOD配置方法(或LOD生成方法)信息中包括的编码的点云视频数据的比特流,将关于根据实施方式的点选择方法的信息发送到接收装置(例如,图1的接收装置10004或图10和图11的点云解码器)。因此,接收装置可以基于LOD配置方法信息生成LOD。
图26示出了根据实施方式的孤立点处理方法。
如参考图25所述,LOD配置器(例如,LOD配置器2210)可以将包括孤立点的采样范围与下一采样范围合并。根据实施方式的LOD配置器定义预设值a以确定包括孤立点的采样范围。根据实施方式,a是大于0的整数。当采样范围中包括的点的数量小于或等于a时,LOD配置器将采样范围或采样范围中包括的点设置为孤立点。LOD配置器将具有孤立点的采样范围与下一采样范围(例如,与具有孤立点的采样范围相邻的采样范围)整合(或合并)。LOD配置器设置用于采样整合的采样范围的最大值r。根据实施方式,r是大于0且小于或等于a的整数。当整合采样范围中的点的数量小于或等于a时,LOD配置器将整合的采样范围与下一采样范围(例如,与整合的采样范围相邻的采样范围)进行整合。当整合的采样范围小于a时,LOD配置器重复采样范围整合。当整合的采样范围中的点的数量大于a时,LOD配置器将整合的采样范围设置为一个采样范围。
图26示出了当a为4且r为4时的孤立点处理方法的示例2600。如上所述,点基于其莫顿码值以升序排序。图中所示的索引2610指示点的莫顿码值。LOD配置器将多个点划分为一个或多个采样范围。根据实施方式的一个或多个采样范围包括第一采样范围2620、第二采样范围2630和第三采样范围2640。如图所示,第一采样范围2620包括属于同一父节点的六个点P0、P1、P2、P3、P4和P5。包括在第一采样范围2620中的点的数量是6,因而大于为4的a。因此,LOD配置器可以不将包括在第一采样范围2620中的点设置为孤立点,而是可以根据采样率来选择第一采样范围2620中的点中的一个点。除了选择的点之外的点被注册在当前LOD中,并且选择的点被设置为比当前LOD更低级别的LOD的候选点。如图所示,第二采样范围2630包括一个点P6。包括在第二采样范围2630中的点的数量为1,因而小于为4的a。因此,LOD配置器将包括在第二采样范围2630中的点设置为孤立点。LOD配置器将第二采样范围2630与第三采样范围2640整合。如图所示,第三采样范围2640包括属于同一父节点的四个点P7、P8、P9和P10。整合了第二采样范围2630和第三采样范围2640的整合的采样范围中的点的数量是5。也就是说,整合的采样范围中的点的数量(5)大于4(其为用于合并的采样范围的最大值r)。因此,LOD配置器可以基于采样率来选择整合的采样范围中的点中的一个点。除了选择的点之外的点被注册在当前LOD中,并且选择的点被设置为比当前LOD更低级别的LOD的候选点。尽管在图中未示出,但是第四采样范围2650包括六个点P11、P12、P13、...。包括在第四采样范围2650中的点的数量是6,因而大于a。因此,LOD配置器可以不将包括在第四采样范围2650中的点设置为孤立点,而是根据采样率,选择第四采样范围2650中的点之一。
图27示出了根据实施方式的孤立点处理方法。
图27所示的孤立点处理方法的示例2700是图26所示的孤立点处理方法的示例2600的实施方式。
图27示出了如在图26的示例2600中,当a为4且r为4时的孤立点处理方法的示例2700。图中所示的索引2710指示点的莫顿码值。LOD配置器将多个点划分为一个或多个采样范围。根据实施方式的一个或多个采样范围包括第一采样范围2720、第二采样范围2730、第三采样范围2740、第四采样范围2750和第五采样范围2760。如图所示,第一采样范围2720包括五个点P0、P1、P2、P3和P4。由于包括在第一采样范围2720中的点的数量是5,所以它大于为4的a。因此,LOD配置器可以不将包括在第一采样范围2720中的点设置为孤立点,而是根据采样率选择第一采样范围2720中的点中的一个点。除了选择的点之外的点被注册在当前LOD中,并且选择的点被设置为比当前LOD更低级别的LOD的候选点。如图所示,第二采样范围2730包括一个点P5。因此,包括在第二采样范围2730中的点的数量是1并且小于为4的a,因此LOD配置器将包括在第二采样范围2730中的点设置为孤立点。LOD配置器将第二采样范围2730与第三采样范围2740整合。如图所示,第三采样范围2740包括一个点P6。因此,整合了第二采样范围2730和第三采样范围2740的整合的采样范围的点的数量是2。也就是说,整合的采样范围中的点的数量(2)小于4(其是用于合并的采样范围的最大值r)。因此,LOD配置器将整合的采样范围与第四采样范围2750整合,第四采样范围2750是整合的采样范围之后的下一采样范围。如图所示,第四采样范围2750包括一个点P7。也就是说,整合的采样范围中的点的数量为3并且小于4(其是用于整合的采样范围的最大值r)。因此,LOD配置器将整合的采样范围与第五采样范围2760整合,第五采样范围2760是合并的采样范围之后的下一采样范围。如图所示,第五采样范围2760包括两个点P8和P9。也就是说,整合的采样范围中的点的数量是5,因而大于4(其是用于整合的采样范围的最大值r)。因此,LOD配置器停止整合操作,不将包括在整合的采样范围中的点设置为孤立点。LOD配置器可以基于采样率来选择整合的采样范围中的点中的一个点。除了选择的点之外的点被注册在当前LOD中,并且选择的点被设置为比当前LOD更低级别的LOD的候选点。
图28示出了点云压缩(PCC)比特流的示例性结构图。
如上所述,点云数据发送装置(例如,参考图1、图12、图14和图15描述的点云数据发送装置)能够以比特流2800的形式发送编码的点云数据。根据该实施方式的比特流2800可以包括一个或多个子比特流。
点云数据发送装置(例如,参考图1、图12、图14和图15描述的点云数据发送装置)可以考虑到传输信道的衰减,将点云数据的图像划分为一个或多个分组,并且通过网络发送分组。根据实施方式,比特流2800可以包括一个或多个分组(例如,网络抽象层(NAL)单元)。因此,即使当一些分组在不良网络环境中丢失时,点云数据接收装置也可以使用剩余的分组来重构图像。点云数据可以被分割成待处理的一个或多个切片或一个或多个拼块。根据实施方式的拼块和切片是用于通过分割点云数据的图片来执行点云压缩编译的区域。点云数据发送装置可以通过根据点云数据的每个分割的区域的重要性处理与每个区域相对应的数据来提供高质量的点云内容。也就是说,根据实施方式的点云数据发送装置可以对与对用户重要的区域相对应的数据执行具有更好压缩效率和适当延迟的点云压缩编译。
根据实施方式的拼块表示点云数据分布的三维空间(例如,边界框)中的长方体。根据实施方式的切片是表示编码的点云数据中的一些或全部的一系列语法元素,并且表示可独立编码或解码的点的集合。根据实施方式,切片可以包括通过分组发送的数据,并且可以包括一个几何数据单元和零个或多个属性数据单元。根据实施方式,拼块可以包括一个或多个切片。
根据实施方式的比特流2800可以包括信令信息,该信令信息包括用于序列级信令的序列参数集(SPS)、用于几何信息编译的信令的几何参数集(GPS)、用于属性信息编译的信令的属性参数集(APS)以及用于拼块级信令的拼块参数集(TPS)以及一个或多个切片。
根据实施方式的SPS是关于包括简档和级别的整个序列的编码信息,并且可以包括关于整个文件的综合信息,诸如图片分辨率和视频格式。
根据实施方式,一个切片(例如,图28的切片0)包括切片报头和切片数据。切片数据可以包括一个几何比特流(Geom00)和一个或多个属性比特流(Attr00,Attr10)。几何比特流可以包括报头(例如,几何切片报头)和有效载荷(例如,几何切片数据)。根据实施方式的几何比特流的报头可以包括用于GPS中包括的参数集的标识信息(geom_geom_parameter_set_id)、拼块标识符(geom_tile id)、切片标识符(geom_slice_id)以及与有效载荷中包括的数据相关的信息。属性比特流可以包括报头(例如,属性切片报头或属性图块报头)和有效载荷(例如,属性切片数据或属性图块数据)。
如上参考图22至图27所述,根据实施方式的点云编码器和点云解码器可以生成用于属性预测的LOD。因此,图28中所示的比特流可以包含参考图18至图27所述的LOD配置方法信息。根据实施方式的点云解码器可以基于LOD配置方法信息生成LOD。
根据实施方式的比特流中包括的信令信息可以由点云编码器中包括的元数据处理器或发送处理器(例如,图12的发送处理器12012)或者元数据处理器或发送处理器中的元件生成。根据实施方式,可以基于几何编码和属性编码的结果来生成信令信息。
图29示出了根据实施方式的APS的示例性语法。
图29示出了根据实施方式的APS的语法的示例3100,并且可以包括以下信息(或字段、参数等)。
aps_attr_parameter_set_id指定APS的标识符以供其他语法元素参考。aps_attr_parameter_set_id具有在0至15的范围内的值。如图27所示,由于比特流中包括一个或多个属性比特流,因此可以在每个属性比特流的报头中包括与aps_attr_parameter_set_id具有相同值的字段(例如,ash_attr_parameter_set_id)。
根据实施方式的点云解码器可以基于aps_attr_parameter_set_id获取与每个属性比特流相对应的APS,并且处理属性比特流。
aps_seq_parameter_set_id指定活动SPS的sps_seq_parameter_set_id的值。aps_seq_parameter_set_id具有在0至15的范围内的值。
attr_coding_type指示用于attr_coding_type的给定值的属性编译类型。在根据该实施方式的比特流中,attr_coding_type的值等于0、1或2。可以预留attr_coding_type的其他值以供ISO/IEC将来使用。因此,根据实施方式的解码器可以忽略上述attr_coding_type的预留值。在这些值中,0可以将预测权重提升变换编译指示为属性编译类型,1可以将RAHT变换编译指示为属性编译类型,以及2可以将固定权重提升变换编译指示为属性编译类型。
当attr_coding_type等于0或2时,给出以下参数。
num_pred_nearest_neighburs指示将用于预测的最近邻居的最大数量。numberOfNearestNeighboursInPrediction的值可以被包括在1至xx的范围中。
max_num_direct_predictors指示待用于直接预测的预测器的数量。max_num_direct_predictors具有0到num_pred_nearest_neighburs范围内的值。在解码操作中使用的变量MaxNumPredictors的值如下。
MaxNumPredictors=max_num_direct_predicts+1
lifting_search_range指示用于提升的搜索范围。
lifting_quant_step_size指示属性的第一分量的量化步长。lifting_quant_step_size的值可以在1到xx的范围内。
当属性为颜色时,lifting_quant_step_size_chroma可以指示用于属性的色度分量的量化步长。lifting_quant_step_size_chroma的值可以在1到xx的范围内。
lod_binary_tree_enabled_flag指示二叉树是否应用于LOD生成。
num_detail_levels_minus1指示用于属性编译的LOD的数量。num_detail_levels_minus1可以具有在0到xx的范围内的值。下面的“for”语句是关于每个LOD的信息。
sampling_distance_squared[idx]可以指示用于由idx表示的每个LOD的采样距离的平方。根据实施方式,idx具有在0到由num_detail_levels_minus1指示的用于属性编译的LOD的数量的范围内的值。sampling_distance_squared具有0到xx范围内的值。
当将相同的采样信息应用于通过一个比特流发送的点云数据时,根据实施方式的APS的语法包括LOD配置信息。
根据实施方式的LOD配置信息2900包括以下信息。
lod_generation_type是指示配置(生成)LOD集合的方法的类型的信息。lod_generation_type可以被设置为1和2中的任何一个,但是lod_generation_type的值不限于该示例。当lod_generation_type等于1时,lod_generation_type指示LOD集合生成方法是基于距离的LOD生成(例如,参考图22描述的基于距离的LOD生成)。当lod_generation_type等于2时,lod_generation_type指示LOD集合生成方法是基于莫顿顺序的采样LOD生成(例如,参考图22描述的基于莫顿顺序的采样LOD生成方法)。由于LOD集合生成方法与参考图22描述的方法相同,将省略其详细描述。
以下是与当lod_generation_type等于2时的采样有关的信息。
sampling_range_type指示采样范围和采样率、或采样范围的类型。sampling_range_type可以被设置为1、2和3中的任何一个,但是sampling_range_type的值不限于该示例。当sampling_range_type等于1时,sampling_range_type指示采样范围是固定采样范围(例如,参考图22和23描述的固定采样范围)。当sampling_range_type等于2时,sampling_range_type指示采样范围是基于八叉树的固定采样范围(例如,参考图22和图24描述的基于八叉树的固定采样范围)。当sampling_range_type等于3时,sampling_range_type指示采样范围是基于八叉树的动态采样范围(例如,参考图22和25描述的基于八叉树的动态采样范围)。由于根据实施方式的采样范围和采样率与参考图22至25描述的采样范围和采样率相同,因此将省略其详细描述。
sampling_rate指示采样率。sampling_rate的值是大于0的整数。
sampling_select_type指示用于选择采样范围内的点的点选择方法。sampling_select_type可以被设置为1、2和3中的任何一个,但是sampling_select_type的值不限于该示例。当sampling_select_type等于1时,sampling_select_type指示点选择方法是选择采样范围内的第N点的方法(例如,参考图25描述的选择采样范围内的第N点的方法)。当sampling_select_type等于2时,sampling_select_type指示点选择方法是选择具有与属于采样范围的点的中间莫顿码值最相似的莫顿码的点(例如,参考图25所述的选择具有与属于采样范围的点的中间莫顿码值最相似的莫顿码的点的方法)。当sampling_select_type等于3时,sampling_select_type指示点选择方法是在属于采样范围的点当中选择与中间索引值对应的点(例如,如参考图25所述,在属于采样范围的点中选择与中间索引值对应的点的方法)。当sampling_select_type等于4时,sampling_select_type指示点选择方法是选择具有与采样范围的理想中间莫顿码值最相似的莫顿码的点(例如,参考图25描述的选择具有与采样范围的理想中间莫顿码值最相似的莫顿码的点的方法)。由于根据实施方式的点选择方法与参考图25描述的点选择方法相同,因此将省略其详细描述。
sampling_select_idx指示要选择的点的固定索引。例如,当sampling_select_type等于1时,sampling_select_idx指示要在采样范围内的排序点当中选择的第N点的索引。另外,当sampling_select_type等于2和3时,sampling_select_idx指示在基于中间莫顿码值或理想中间莫顿码值排序的点当中要选择的第N点的索引。
sampling_select_max_num_of_points指示在采样范围内可选择的点的最大数量。
以下表示当sampling_select_type大于或等于2时的采样信息。sampling_begin_depth指示开始生成LOD0集合的八叉树的深度。sampling_begin_depth具有正整数值。
sampling_isolated_point_minimum_num_of_element指示可以被定义为孤立点的点的数量的极限(例如,用于确定包括图26和图27中描述的孤立点的采样范围的a的预定值)。因此,sampling_isolated_point_minimum_num_of_element指示属于采样范围的点的最小数量。
sampling_isolated_point_sampling_type指示孤立点处理方法。sampling_isolated_point_sampling_type可以指示以下中的任一个:孤立点的采样、孤立点与邻居点的合并、将孤立点分离并处理为比当前LOD更低级别的候选LOD组以及将孤立点注册在当前LOD中。对孤立点执行采样的方法是从k个连续孤立点中选择点,其中k是固定采样率。在将孤立点与邻居点合并的方法中,将包括在采样范围中的点的数量与可以被定义为由sampling_isolated_point_mininum_num_of_elements指示的孤立点的点的数量进行比较。当这些点是孤立点时,包括孤立点的采样范围与下一采样范围整合。在将孤立点分离并处理成比当前LOD更低级别的候选LOD组的方法中,采样范围中的孤立点被分离成LOD(0到-l-1)而不是被选择,并且被选择以生成LODl-1-α。在当前LOD中注册孤立点的方法是当在生成LODl-1-α期间生成孤立点时,在LOD1中注册孤立点。由于孤立点处理方法与参考图26至图27描述的孤立点处理方法相同,将省略其详细描述。
sampling_isolated_point_maximum_merge_range指示用于采样整合的采样范围的最大采样范围(例如,参考图26和27描述的用于采样整合的采样范围的最大值r)。
当attribute_coding_type等于0时,如下给出相关参数。
adaptive_prediction_threshold指示预测的阈值。
当attribute_coding_type等于1时,相关参数配置如下。
raht_depth指示用于RAHT的LOD的数量。depthRAHT的值在1到xx(任意值)的范围内。
raht_quant_step_size指示属性的第一分量的量化步长。rate_quant_step_size的值在1到xx(任意值)的范围内。
raht_quant_step_size_chroma可以指示当应用RAHT时属性的色度分量的量化步长。
aps_extension_present_flag是其值为0或1的标志。
aps_extension_present_flag等于1指示aps_extension_data语法结构存在于APS RBSP语法结构中。aps_extension_present_flag等于0指示不存在该语法结构。当语法结构不存在时,推断aps_extension_present_flag的值等于0。
aps_extension_data_flag可以具有任何值。根据实施方式,该字段的存在和值可以不影响解码器性能。
图30示出了根据实施方式的APS的示例性语法。
图30示出了参考图29描述的用于APS的示例性语法。
当不同地应用用于每个LOD的采样信息时,配置图30中的用于APS的示例性语法。为简单起见,将省略与参考图29描述的信息和/或参数相同的信息和/或参数的描述。
根据实施方式的LOD配置器(例如,LOD配置器2210)可以针对每个LOD不同地或相同地执行采样。在这种情况下,当lod_generation_type等于2时,根据实施方式的用于APS的语法可以进一步包括以下采样相关信息3000。
sampling_attrs_per_lod_flag是指示采样方法在LOD之间是否不同的标志。如参考图22所述,LOD配置器(例如,LOD配置器2210)可以针对每个LOD不同地执行采样。因此,根据实施方式的LOD生成信息可以包括用于每个LOD的采样信息。因此,当sampling_attrs_per_lod_flag等于1时,所示的“for”语句是与用于每个LOD的采样相关的信息3010。在图中,idx表示每个LOD。由于根据实施方式的与采样相关的信息3010与参考图29描述的信息相同,因此将省略其详细描述。
根据实施方式的LOD配置器(例如,LOD配置器2210)可以对每个拼块或切片应用不同的LOD生成方法。如上所述,点云数据接收装置还需要生成LOD。因此,根据实施方式的比特流可以进一步包含与用于每个区域的LOD生成方法相关的信令信息。
图31示出了根据实施方式的用于TPS的示例性语法。
当根据实施方式的LOD配置器对每个拼块应用不同的LOD生成方法时,根据实施方式的TPS可以进一步包括与LOD生成方法相关的信令信息(例如,参考图29至图30描述的与LOD生成方法(2900、3000、3010)相关的信令信息)。图31示出了根据实施方式的用于TPS的语法的示例,并且可以包括以下信息(或字段、参数等)。
num_tiles指示针对比特流发信号通知的拼块的数量。当不存在针对比特流发信号通知的拼块时,推断该信息的值为0。以下是用于每个拼块的信令参数。
tile_bounding_box_offset_x[i]指示笛卡尔坐标系中的第i拼块的x偏移。当不存在该参数时,将tile_bounding_box_offset_x[0]的值推断为包括在SPS中的sps_bounding_box_offset_x的值。
tile_bounding_box_offset_y[i]指示笛卡尔坐标系中的第i拼块的y偏移。当不存在该参数时,将tile_bounding_box_offset_y[0]的值推断为包括在SPS中的sps_bounding_box_offset_y的值。
tile_bounding_box_offset_z[i]指示笛卡尔坐标系中的第i拼块的z偏移。当不存在该参数时,将tile_bounding_box_offset_z[0]的值推断为包括在SPS中的sps_bounding_box_offset_z的值。
tile_bounding_box_scale_factor[i]指示与笛卡尔坐标系中的第i拼块相关的缩放因子。当该参数不存在时,将tile_bounding_box_scale_factor[0]的值推断为sps_bounding_box_scale_factor的值。
tile_bounding_box_size_width[i]指示笛卡尔坐标系中的第i拼块的宽度。当该参数不存在时,将tile_bounding_box_size_width[0]的值推断为sps_bounding_box_size_width的值。
tile_bounding_box_size_height[i]指示笛卡尔坐标系中的第i拼块的高度。当该参数不存在时,将tile_bounding_box_size_height[0]的值推断为sps_bounding_box_size_height的值。
tile_bounding_box_size_depth[i]指示笛卡尔坐标系中的第i拼块的深度。当该参数不存在时,将tile_bounding_box_size_depth[0]的值推断为sps_bounding_box_size_depth的值。
如图所示,根据实施方式的TPS可以包括LOD配置信息3100。将根据实施方式的LOD配置信息3100应用于每个拼块。由于LOD配置信息3100与参考图29描述的LOD配置信息2900相同,因此将省略其详细描述。
图32示出了根据实施方式的TPS的示例性语法。
图32示出了参考图30描述的TPS的示例性语法。当针对每个LOD不同地应用采样信息时,配置用于图32中的TPS的示例性语法。为简单起见,将省略对与参考图30描述的信息和/或参数相同的信息和/或参数的描述。
根据实施方式的LOD配置器(例如,LOD配置器2210)可以针对每个LOD不同地或相同地执行采样。在这种情况下,当lod_generation_type等于2时,根据实施方式的TPS的语法可以进一步包括与采样相关的sampling_attrs_per_lod_flag 3200。由于根据实施方式的sampling_attrs_per_lod_flag与参考图30描述的sampling_attrs_per_lod_flag 3000相同,因此将省略其详细描述。当sampling_attrs_per_lod_flag等于1时,根据实施方式的TPS的语法包括指示用于每个LOD的采样相关信息3210的“for”语句。由于根据实施方式的用于每个LOD的采样相关信息3210与参考图30描述的用于每个LOD的采样相关信息3010相同,因此将省略其详细描述。
图33示出了根据实施方式的用于属性报头的示例性语法。
图33的用于属性报头的语法是通过参考图28描述的属性比特流中包括的报头发送的信息的语法的示例。
当根据实施方式的LOD配置器(例如,LOD配置器2110)针对每个切片不同地应用邻居点集合生成方法时,根据实施方式的属性报头可以进一步包括LOD配置信息3300(例如,参考图29描述的LOD配置信息2900、参考图31描述的LOD配置信息3100)。图33中所示的用于属性报头的示例性语法可以包括以下信息(或字段、参数等)。
ash_attr_parameter_set_id具有与活动APS的aps_attr_parameter_set_id相同的值。
ash_attr_sps_attr_idx可以指定用于活动SPS的sps_seq_parameter_set_id的值。ash_attr_sps_attr_idx的值在0到活动SPS中包括的sps_num_attribute_sets的值的范围内。
ash_attr_geom_slice_id指定几何切片ID的值(例如,geom_slice_id)。
如图所示,根据实施方式的属性报头可以包括LOD配置信息3300。根据实施方式的LOD配置信息3300被应用于属于每个切片的每个属性比特流(或属性切片数据)。由于LOD配置信息3100与参考图29和31描述的LOD配置信息2900和3100相同,因此将省略其详细描述。
图34示出根据实施方式的用于属性报头的示例性语法。
图34示出参考图33描述的用于属性报头的示例性语法。当针对每个LOD不同地应用采样信息时,配置图34中的用于属性报头的示例性语法。
根据实施方式的LOD配置器(例如,LOD配置器2210)可以针对每个LOD不同地或相同地执行采样。在这种情况下,当lod_generation_type等于2时,根据实施方式的用于属性报头的语法可以进一步包括与采样相关的sampling_attrs_per_lod_flag 3400。由于根据实施方式的sampling_attrs_per_lod_flag与参考图30和32描述的sampling_attrs_per_lod_flag 3000、3200相同,因此将省略其详细描述。当sampling_attrs_per_lod_flag等于1时,根据实施方式的用于属性报头的语法包括指示用于每个LOD的采样相关信息3410的“for”语句。由于根据实施方式的用于每个LOD的采样相关信息3410与参考图30和32描述的用于每个LOD的采样相关信息3010和3210相同,因此将省略其详细描述。
图35是示出示例性点云解码器的框图。
根据实施方式的点云解码器3500执行与参考图1至图17描述的解码器(例如,参考图1、图10至图11、图13、图14和图16描述的点云解码器)相同或相似的解码操作。另外,点云解码器3500可以执行与参考图18描述的点云编码器1800的编码操作的相反过程对应的解码操作。根据实施方式的点云解码器3500可以包括空间分割器3510、几何信息解码器(或几何解码器)3520和属性信息解码器(或属性解码器)3530。尽管图35中未示出,根据实施方式的点云解码器3500可以进一步包括一个或多个元件以执行参考图1至图17描述的解码操作。
根据实施方式的空间分割器3510可以基于从根据实施方式的点云数据发送装置(例如,参考图1、图12、图14和图15描述的点云数据发送装置)接收的信令信息(例如,关于由参考图18描述的空间分割器1810执行的分割操作的信息)或者由点云解码器3500导出(生成)的分割信息来分割空间。如上所述,点云编码器1800的空间分割器1810的分割操作可以基于八叉树、四叉树、二叉树、三叉树或k-d树中的至少一个。
根据实施方式的几何信息解码器3520可以对输入的几何比特流进行解码并重构的几何信息。重构的几何信息可以被输入到属性信息解码器。根据实施方式的几何信息解码器3520可以执行参考图11描述的算术解码器(算术解码)11000、八叉树合成器(合成八叉树)11001和表面近似合成器(合成表面近似)11002、几何重构器(重构几何)11003和坐标逆变换器(逆变换坐标)11004的操作。另外,根据实施方式的几何信息解码器3520可以执行参考图13描述的算术解码器13002、基于占用代码的八叉树重构处理器13003和表面模型处理器(三角形重构、上采样、体素化)13004和逆量化处理器13005的操作。可替选地,根据实施方式的几何信息解码器3520可以执行参考图16描述的点云解码器的操作。
根据实施方式的属性信息解码器3530可以基于属性信息比特流和重构的几何信息对属性信息进行解码。根据实施方式的属性信息解码器3530可以执行与包括在图11的点云解码器中的算术解码器11005、逆量化器11006、RAHT变换器11007、LOD生成器11008、逆提升器11009和/或颜色逆变换器11010的操作相同或相似的操作。根据实施方式的属性信息解码器3530可以执行与包括在图13的接收装置中的算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010的操作相同或相似的操作。
点云解码器3500可以基于重构的几何信息和重构的属性信息来输出最终PCC数据。
图36是示出几何信息解码器的示例的框图。
根据实施方式的几何信息解码器3600是图35的几何信息解码器3520的示例,并且可以执行与几何信息解码器3520的操作相同或相似的操作。根据实施方式的几何信息解码器3600可以执行与参考图19描述的几何信息编码器1900的编码操作相反的解码操作。根据实施方式的几何信息解码器3600可以包括几何信息熵解码器3610、几何信息逆量化器3620、几何信息预测器3630、滤波器3640、存储器3650、几何信息逆变换/逆量化器3660和坐标逆变换器3670。尽管图36中未示出,根据实施方式的几何信息解码器3600可以进一步包括一个或多个元件以执行参考图1至图35描述的几何解码操作。
根据实施方式的几何信息熵解码器3610可以通过熵解码几何信息比特流来生成量化残差几何信息。几何信息熵解码器3610可以执行作为参考图19描述的几何信息熵编码器1905所执行的熵编码的逆过程的熵解码操作。如上所述,根据实施方式的熵编码操作可以包括指数Golomb、CAVLC和CABAC以及与熵编码操作对应的熵解码操作指数Golomb、CAVLC和CABAC。根据实施方式的几何信息熵解码器3610可以对与包括在几何信息比特流中的几何编译有关的信息(例如,与预测几何信息的生成有关的信息、与量化有关的信息(例如,量化值等)、与坐标变换有关的信令信息等)进行解码。
根据实施方式的残差几何信息逆量化器3620可以通过基于量化相关信息,对量化的残差几何信息执行逆量化操作来生成残差几何信息或几何信息。
根据实施方式的几何信息预测器3630可以基于与从几何熵解码器3610输出的预测几何信息的生成有关的信息和存储在存储器3650中的先前解码的几何信息来生成预测几何信息。根据实施方式的几何信息预测器3630可以包括帧间预测器和帧内预测器。根据实施方式的帧间预测器可以基于由几何信息编码器(例如,几何信息编码器1900)所提供的当前预测单元(例如,节点等)的帧间预测所需的信息,在包括当前预测单元的当前空间中,基于当前空间(例如,帧、画面等)之前或之后的空间中的至少一个中所包括的信息,对当前预测单元执行帧间预测。根据实施方式的帧内预测器可以基于由几何信息编码器1900所提供的与预测单元中的帧内预测有关的信息,基于关于当前空间中的点的几何信息来生成预测几何信息。
根据实施方式的滤波器3640可以对通过将基于滤波相关信息生成的预测几何信息和重构的残差几何信息组合而生成的重构的几何信息进行滤波。可以从几何信息编码器1900发信号通知根据实施方式的滤波相关信息。可替选地,根据实施方式的几何信息解码器3600可以在解码过程中导出和计算滤波相关信息。
根据实施方式的存储器3650可以存储重构的几何信息。根据实施方式的几何逆变换量化器3660可以基于量化相关信息来逆变换-量化在存储器3650中存储的重构的几何信息。
根据实施方式的坐标系逆变换器3670可以基于几何信息熵解码器3610所提供的坐标变换相关信息和存储在存储器3650中的重构的几何信息来对逆变换量化的几何信息的坐标进行逆变换,并且输出几何信息。
图37是示出示例性属性信息解码器的框图。
根据实施方式的属性信息解码器3700是图35的属性信息解码器3530的示例,并且可以执行与属性信息解码器3530的操作相同或相似的操作。根据实施方式的属性信息解码器3700可以执行与参考图20和图21描述的属性信息编码器2000和属性信息编码器2100的编码操作相反的解码操作。根据实施方式的属性信息解码器3700可以包括属性信息熵解码器3710、几何信息映射器3720、残差属性信息逆量化器3730、残差属性信息逆变换器3740、存储器3750、属性信息预测器3760和属性信息逆变换器3770。尽管图37中未示出,但是根据实施方式的属性信息解码器3700可以进一步包括一个或多个元件以执行参考图1至图36描述的属性解码操作。
属性信息熵解码器3710接收属性信息比特流并且执行熵解码以生成变换量化的属性信息。
几何信息映射器3720通过映射变换量化属性信息和重构的几何信息来生成残差属性信息。
残差属性信息逆量化器3730可以基于量化值来逆量化残差属性信息。
残差属性信息逆变换器3740可以通过执行诸如DCT、DST、SADCT或RAHT的变换编译来对包括通过逆量化获得的属性信息的残差3D块进行逆变换。
存储器3750可以添加从属性信息预测器3760输出的预测属性信息并且存储逆变换的属性信息。可替选地,存储器3750可以添加和存储预测属性信息和属性信息而无需逆变换属性信息。
属性信息预测器3760可以基于存储在存储器3750中的属性信息来生成预测属性信息。属性信息预测器3760可以通过执行熵解码来生成预测属性信息。
属性信息逆变换器3770可以从属性信息熵解码器3710接收关于属性信息的类型和变换信息以执行各种类型的颜色逆变换编译。
图38是根据实施方式的点云数据处理方法的示例性流程图。
图38的流程图3800示出点云数据处理装置(例如,参考图1、图11、图14、图15和图18至图22描述的点云数据发送装置或点云数据编码器)的点云数据处理方法。根据实施方式的点云数据处理装置可以执行与参考图1至图35描述的编码操作相同或相似的操作。
根据实施方式的点云数据处理装置可以对包括几何信息和属性信息的点云数据进行编码(3810)。根据实施方式的几何信息是指示点云数据的点的位置的信息。根据实施方式的属性信息是指示点云数据的点的属性的信息。
根据实施方式的点云数据处理装置可以对几何信息进行编码并对属性信息进行编码。根据实施方式的点云数据处理装置执行与参考图1至37描述的几何信息编码操作相同或相似的操作。另外,点云数据处理装置执行与参考图1至图37描述的属性信息编码操作相同或相似的操作。根据实施方式的点云数据处理装置可以通过对点进行分割来生成至少一个LOD。由于根据实施方式的LOD生成方案或方法与参考图22至27描述的LOD生成方案或方法相同或相似,因此将省略其详细描述。
根据实施方式的点云数据处理装置可以发送包含编码的点云数据的比特流(3820)。
由于根据实施方式的比特流的结构与参考图28描述的结构相同,因此将省略其详细描述。根据实施方式的比特流可以包括LOD配置信息(例如,参考图29至图34描述的LOD配置信息)。根据实施方式的LOD配置信息可以通过APS、TPS、属性报头等被发送到接收装置,如参考图27至图34所述。
根据实施方式的LOD配置信息可以包括指示LOD生成方法的类型的类型信息(例如,参考图29至图34描述的lod_generation_type)。根据实施方式的类型信息可以指示基于点之间的距离生成LOD的第一类型(例如,参考图22描述的基于距离的LOD生成方法)和通过基于莫顿码的点采样生成LOD的第二类型(例如,参考图22描述的基于莫顿顺序的采样LOD生成方法)中的至少一个。由于LOD集合生成方法与参考图22描述的方法相同,因此将省略其详细描述。
当根据实施方式的类型信息指示第二类型时,LOD配置信息可以包括采样范围类型信息(例如,参考图29至图34描述的sampling_range_type)、采样率信息(例如,参考图29至图34描述的sampling_rate)、关于可以根据采样选择的点的固定索引信息(例如,参考图29至图34描述的sampling_select_idx)以及用于选择采样范围中的点的点选择方法信息(例如,参考图29至图34描述的sampling_select_type),以及关于可以根据采样选择的点的最大数量的信息(例如,参考图29至34描述的sampling_select_max_num_of_points)。根据实施方式的采样范围类型信息可以具有值1至4中的任何一个。采样范围类型信息可以具有值1至4中的任何一个。当采样范围类型信息的值大于或等于2时,LOD配置信息可以进一步包括与可以被定义为孤立点的一个或多个点相关的采样信息(例如,参考图29描述的sampling_begin_depth、sampling_isolated_point_minimum_num_of_elements和sampling_isolated_point_sampling_type)。由于根据实施方式的LOD配置信息与参考图29至34描述的LOD配置信息相同,因此将省略其详细描述。
图39是根据实施方式的点云数据处理方法的示例性流程图。
图39的流程图3900示出了用于点云数据处理装置(例如,参考图1、13、14、16、27和28描述的点云数据接收装置或点云数据解码器)的点云数据处理方法。根据实施方式的点云数据处理装置可以执行与参考图1至图35描述的解码操作相同或相似的操作。
根据实施方式的点云数据处理装置接收包括点云数据的比特流(3910)。
根据实施方式的点云数据处理装置对点云数据进行解码(3920)。根据实施方式的解码的点云数据包括几何信息和属性信息。几何信息是指示点云数据的点的位置的信息。根据实施方式的属性信息是指示点云数据的点的属性的信息。由于根据实施方式的比特流的结构与参考图28描述的结构相同,因此将省略其详细描述。
根据实施方式的点云数据处理装置可以解码几何信息并解码属性信息。根据实施方式的点云数据处理装置执行与参考图1至37描述的几何信息解码操作相同或相似的操作。另外,点云数据处理装置执行与参考图1至37描述的属性信息解码操作相同或相似的操作。根据实施方式的点云数据处理装置可以通过分割点来生成至少一个LOD。由于根据实施方式的LOD生成方案或方法与参考图22至27描述的LOD生成方案或方法相同或相似,因此将省略其详细描述。
由于根据实施方式的比特流的结构与参考图28描述的结构相同,因此将省略其详细描述。根据实施方式的比特流可以包括LOD配置信息(例如,参考图29至图34描述的LOD配置信息)。根据实施方式的邻居点集合生成信息可以通过APS、TPS、属性报头等被发送到接收装置,如参考图29至图34所述。
根据实施方式的LOD配置信息可以包括指示LOD生成方法的类型的类型信息(例如,参考图29至图34描述的lod_generation_type)。根据实施方式的类型信息可以指示基于点之间的距离生成LOD的第一类型(例如,参考图22描述的基于距离的LOD生成方法)和通过点的基于莫顿码的采样生成LOD的第二类型(例如,参考图22描述的基于莫顿顺序的采样LOD生成方法)中的至少一个。由于LOD集合生成方法与参考图22描述的方法相同,因此将省略其详细描述。
当根据实施方式的类型信息指示第二类型时,LOD配置信息可以包括采样范围类型信息(例如,参考图29至图34描述的sampling_range_type)、采样率信息(例如,参考图27至图32描述的sampling_rate)、关于可以根据采样选择的点的固定索引信息(例如,参考图29至图34描述的sampling_select_idx)以及用于选择采样范围中的点的点选择方法信息(例如,参考图29至图34描述的sampling_select_type)、以及关于可以根据采样选择的点的最大数量的信息(例如,参考图29至34描述的sampling_select_max_num_of_points)。采样范围类型信息可以具有值1至4中的任何一个。当采样范围类型信息的值大于或等于2时,LOD配置信息可以进一步包括与可以被定义为孤立点的一个或多个点相关的采样信息(例如,参考图29描述的sampling_begin_depth、sampling_isolated_point_minimum_num_of_elements和sampling_isolated_point_sampling_type)。由于根据实施方式的LOD配置信息与参考图27至32描述的LOD配置信息相同,因此将省略其详细描述。
根据参考图1至图39描述的实施方式的点云数据处理装置的组件可以被实现为包括与存储器耦合的一个或多个处理器的硬件、软件、固件或其组合。根据实施方式的装置的组件可以被实现为单个芯片,例如单个硬件电路。可替选地,根据实施方式的点云数据处理装置的组件可以被实现为单独的芯片。另外,根据实施方式的点云数据处理装置的至少一个组件可以包括能够执行一个或多个程序的一个或多个处理器,其中一个或多个程序可以包括执行或被配置为执行参考图1至39描述的点云数据处理装置的一个或多个操作/方法的指令。
尽管为了简单起见单独描述了附图,但是可以通过将各个图中所示的实施方式合并来设计新的实施方式。根据本领域技术人员的需要设计可以由计算机读取的记录有用于执行上述实施方式的程序的记录介质也落在所附权利要求及其等同物的范围内。根据实施方式的装置和方法可不限于上述实施方式的配置和方法。可以通过选择性地组合所有或一些实施方式来对实施方式进行各种修改。尽管参照附图描述了优选实施方式,但本领域技术人员将理解,在不脱离所附权利要求中描述的本公开的精神或范围的情况下,可以对实施方式进行各种修改和变化。这些修改不应从实施方式的技术思想或观点单独地理解。
可应用方法和装置的描述以彼此补充。例如,根据实施方式的点云数据传输方法可以由根据实施方式的点云数据发送装置或包括在点云数据发送装置中的组件执行。另外,根据实施方式的点云数据接收方法可以由根据实施方式的点云数据接收装置或包括在点云数据接收装置中的组件执行。
实施方式的装置的各种元件可以由硬件、软件、固件或其组合实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)实现。根据实施方式,根据实施方式的组件可分别被实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或多个组件可以包括能够执行一个或多个程序的一个或多个处理器。一个或多个程序可执行根据实施方式的任一个或多个操作/方法或者包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在被配置为由一个或多个处理器执行的非暂时性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 (20)
1.一种用于处理点云数据的方法,所述方法包括:
编码包括几何信息和属性信息的所述点云数据,其中所述几何信息表示所述点云数据的点的位置,并且所述属性信息表示所述点云数据的点的属性;以及
发送包括编码的点云数据的比特流。
2.根据权利要求1所述的方法,其中,编码所述点云数据包括:
编码所述几何信息;以及
编码所述属性信息。
3.根据权利要求2所述的方法,其中,编码所述属性信息包括:
通过分割所述点来生成至少一个LOD(细节级别)。
4.根据权利要求3所述的方法,其中,所述比特流包括与LOD生成相关的LOD配置信息,
所述LOD配置信息包括:
类型信息表示所述LOD生成的类型,所述类型信息表示第一类型和第二类型中的至少一个,所述第一类型表示基于所述点之间的距离的LOD的生成,所述第二类型表示通过基于所述点的莫顿码的采样的LOD的生成,
响应于表示所述第二类型的类型信息,所述LOD配置信息包括采样范围类型信息、采样率信息、通过采样选择的点的固定索引信息、采样范围内的点的选择方法、采样范围内的点的选择方法以及通过采样选择的点的最大数量信息。
5.根据权利要求4所述的方法,其中,当所述采样范围类型信息的值大于或等于2时,所述LOD配置信息进一步包括与被定义为孤立点的一个或多个点相关的采样信息。
6.一种用于处理点云数据的装置,所述装置包括:
编码器,所述编码器被配置为编码包括几何信息和属性信息的所述点云数据,其中所述几何信息表示所述点云数据的点的位置,并且所述属性信息表示所述点云数据的点的属性;以及
发送器,所述发送器被配置为发送包括编码的点云数据的比特流。
7.根据权利要求6所述的装置,其中,所述编码器包括:
第一编码器,所述第一编码器被配置为编码所述几何信息;以及
第二编码器,所述第二编码器被配置为编码所述属性信息。
8.根据权利要求7所述的装置,其中,所述第二编码器被配置为通过分割所述点来生成至少一个LOD(细节级别)。
9.根据权利要求8所述的装置,其中,所述比特流包括与LOD生成相关的LOD配置信息,
其中,所述LOD配置信息包括:
表示所述LOD生成的类型的类型信息,其中所述类型信息表示第一类型和第二类型中的至少一个,其中所述第一类型表示基于所述点之间的距离的LOD的生成,以及所述第二类型表示通过基于所述点的莫顿码的采样的LOD的生成,
响应于表示所述第二类型的类型信息,所述LOD配置信息包括采样范围类型信息、采样率信息、通过采样选择的点的固定索引信息、采样范围内的点的选择方法、采样范围内的点的选择方法以及通过采样选择的点的最大数量信息。
10.根据权利要求9所述的装置,其中,当所述采样范围类型信息的值大于或等于2时,所述LOD配置信息进一步包括与被定义为孤立点的一个或多个点相关的采样信息。
11.一种处理点云数据的方法,所述方法包括:
接收包括点云数据的比特流,其中所述点云数据包括几何信息和属性信息,其中所述几何信息表示所述点云数据的点的位置,并且所述属性信息表示所述点云数据的点的属性;以及
解码所述点云数据。
12.根据权利要求11所述的方法,其中,解码所述点云数据包括:
解码所述几何信息;以及
解码所述属性信息。
13.根据权利要求12所述的方法,其中,解码所述属性信息包括:
通过分割所述点来生成至少一个LOD(细节级别)。
14.根据权利要求13所述的方法,其中,所述比特流包括与LOD生成相关的LOD配置信息,
所述LOD配置信息包括:
类型信息表示所述LOD生成的类型,所述类型信息表示第一类型和第二类型中的至少一个,所述第一类型表示基于所述点之间的距离的LOD的生成,所述第二类型表示通过基于所述点的莫顿码的采样的LOD的生成,
响应于表示所述第二类型的类型信息,所述LOD配置信息包括采样范围类型信息、采样率信息、通过采样选择的点的固定索引信息、采样范围内的点的选择方法、采样范围内的点的选择方法以及通过采样选择的点的最大数量信息。
15.根据权利要求14所述的方法,其中,当所述采样范围类型信息的值大于或等于2时,所述LOD配置信息进一步包括与被定义为孤立点的一个或多个点相关的采样信息。
16.一种处理点云数据的装置,所述装置包括:
接收器,所述接收器被配置为接收包括点云数据的比特流,其中所述点云数据包括几何信息和属性信息,其中所述几何信息表示所述点云数据的点的位置,并且所述属性信息表示所述点云数据的点的属性;以及
解码器,所述解码器被配置为解码所述点云数据。
17.根据权利要求16所述的装置,其中,所述解码器包括:
第一解码器,所述第一解码器被配置为解码所述几何信息;以及
第二解码器,所述第二解码器被配置为解码所述属性信息。
18.根据权利要求17所述的装置,其中,所述第二解码器被配置为通过分割所述点来生成至少一个LOD(细节级别)。
19.根据权利要求18所述的装置,其中,所述比特流包括LOD配置信息,所述LOD配置信息包括:
类型信息表示所述LOD生成的类型,所述类型信息表示第一类型和第二类型中的至少一个,所述第一类型表示基于所述点之间的距离的LOD的生成,所述第二类型表示通过基于所述点的莫顿码的采样的LOD的生成,
响应于表示所述第二类型的类型信息,所述LOD配置信息包括采样范围类型信息、采样率信息、通过采样选择的点的固定索引信息、采样范围内的点的选择方法、采样范围内的点的选择方法以及通过采样选择的点的最大数量信息。
20.根据权利要求19所述的装置,其中,当所述采样范围类型信息的值大于或等于2时,所述LOD配置信息进一步包括与被定义为孤立点的一个或多个点相关的采样信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0079322 | 2019-07-02 | ||
KR20190079322 | 2019-07-02 | ||
PCT/KR2020/007566 WO2021002604A1 (ko) | 2019-07-02 | 2020-06-11 | 포인트 클라우드 데이터 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114073085A true CN114073085A (zh) | 2022-02-18 |
Family
ID=74100952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080048800.4A Pending CN114073085A (zh) | 2019-07-02 | 2020-06-11 | 点云数据处理方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220366610A1 (zh) |
EP (1) | EP3996044A4 (zh) |
JP (2) | JP7451576B2 (zh) |
CN (1) | CN114073085A (zh) |
WO (1) | WO2021002604A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11172224B2 (en) * | 2019-09-03 | 2021-11-09 | Tencent America LLC | Techniques and apparatus for generalized Trisoup geometry coding |
EP4006839B1 (en) * | 2019-10-03 | 2024-10-16 | LG Electronics Inc. | 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 |
EP4052474A1 (en) * | 2019-10-31 | 2022-09-07 | BlackBerry Limited | Angular priors for improved prediction in tree-based point cloud coding |
WO2021210550A1 (ja) * | 2020-04-14 | 2021-10-21 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
CN116744013A (zh) | 2020-09-30 | 2023-09-12 | Oppo广东移动通信有限公司 | 一种点云分层方法及解码器、编码器、存储介质 |
CN115428020A (zh) * | 2021-04-15 | 2022-12-02 | 商汤国际私人有限公司 | 生成点云编码器的方法和装置和生成点云数据的方法和装置、电子设备及计算机介质 |
US11854112B1 (en) * | 2021-06-04 | 2023-12-26 | Apple Inc. | Compression of attribute values comprising unit vectors |
CN115474064A (zh) * | 2021-06-11 | 2022-12-13 | 维沃移动通信有限公司 | 编码、解码控制方法及装置 |
WO2022257143A1 (zh) * | 2021-06-11 | 2022-12-15 | Oppo广东移动通信有限公司 | 帧内预测、编解码方法及装置、编解码器、设备、介质 |
EP4160534A1 (en) * | 2021-09-30 | 2023-04-05 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150373331A1 (en) * | 2014-06-20 | 2015-12-24 | Freescale Semiconductor, Inc. | Processing device and method of compressing images |
US20160275719A1 (en) * | 2015-03-19 | 2016-09-22 | Intergraph Corporation | System and method for fast optimization of point cloud data |
CN107093207A (zh) * | 2017-04-12 | 2017-08-25 | 武汉大学 | 一种基于gpgpu的天然气泄漏扩散的动态可视化方法 |
CN109196559A (zh) * | 2016-05-28 | 2019-01-11 | 微软技术许可有限责任公司 | 动态体素化点云的运动补偿压缩 |
CN109257604A (zh) * | 2018-11-20 | 2019-01-22 | 山东大学 | 一种基于tmc3点云编码器的颜色属性编码方法 |
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
US20190081638A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Hierarchical point cloud compression |
EP3975124A1 (en) * | 2019-05-30 | 2022-03-30 | LG Electronics Inc. | Method and device for processing point cloud data |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010928B2 (en) * | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US10867414B2 (en) * | 2018-04-10 | 2020-12-15 | Apple Inc. | Point cloud attribute transfer algorithm |
US10909727B2 (en) * | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
-
2020
- 2020-06-11 CN CN202080048800.4A patent/CN114073085A/zh active Pending
- 2020-06-11 US US17/624,086 patent/US20220366610A1/en active Pending
- 2020-06-11 EP EP20835308.6A patent/EP3996044A4/en active Pending
- 2020-06-11 WO PCT/KR2020/007566 patent/WO2021002604A1/ko unknown
- 2020-06-11 JP JP2021577665A patent/JP7451576B2/ja active Active
-
2024
- 2024-03-06 JP JP2024033719A patent/JP2024053014A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150373331A1 (en) * | 2014-06-20 | 2015-12-24 | Freescale Semiconductor, Inc. | Processing device and method of compressing images |
US20160275719A1 (en) * | 2015-03-19 | 2016-09-22 | Intergraph Corporation | System and method for fast optimization of point cloud data |
CN109196559A (zh) * | 2016-05-28 | 2019-01-11 | 微软技术许可有限责任公司 | 动态体素化点云的运动补偿压缩 |
CN107093207A (zh) * | 2017-04-12 | 2017-08-25 | 武汉大学 | 一种基于gpgpu的天然气泄漏扩散的动态可视化方法 |
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
US20190081638A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Hierarchical point cloud compression |
CN109257604A (zh) * | 2018-11-20 | 2019-01-22 | 山东大学 | 一种基于tmc3点云编码器的颜色属性编码方法 |
EP3975124A1 (en) * | 2019-05-30 | 2022-03-30 | LG Electronics Inc. | Method and device for processing point cloud data |
Non-Patent Citations (5)
Title |
---|
KHALED MAMMOU, PHILIP A. CHOU, DAVID FLYNN, MAJA KRIVOKUĆA, OHJI NAKAGAMI , TOSHIYASU SUGIO: "G-PCC codec description v2", 《INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO ISO/IEC JTC1/SC29/WG11 N18189》, 31 January 2019 (2019-01-31) * |
MENGLAN ZHOU: "Extraction of Building Windows from Mobile Laser Scanning Point Clouds", 《IGARSS 2018 - 2018 IEEE INTERNATIONAL GEOSCIENCE AND REMOTE SENSING SYMPOSIUM》, 4 November 2018 (2018-11-04) * |
李泽: "三维点云压缩与基于WebGL的可视化研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》, 15 March 2017 (2017-03-15) * |
胡雅斯 等: "基于日心坐标系的三维立体剖分模型及编码", 《空间科学学报》, 12 April 2016 (2016-04-12) * |
邱波: "一种面向移动终端地理场景点云在线可视化的集成型索引", 《浙江大学学报(理学版)》, vol. 46, no. 1, 15 January 2019 (2019-01-15) * |
Also Published As
Publication number | Publication date |
---|---|
EP3996044A1 (en) | 2022-05-11 |
JP7451576B2 (ja) | 2024-03-18 |
JP2022539188A (ja) | 2022-09-07 |
WO2021002604A1 (ko) | 2021-01-07 |
EP3996044A4 (en) | 2023-05-10 |
US20220366610A1 (en) | 2022-11-17 |
JP2024053014A (ja) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882303B2 (en) | Apparatus and method for processing point cloud data | |
EP3975124A1 (en) | Method and device for processing point cloud data | |
EP3996044A1 (en) | Point cloud data processing method and apparatus | |
US20220130075A1 (en) | Device and method for processing point cloud data | |
CN113615204A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US20220343548A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4171039A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
US11601488B2 (en) | Device and method for transmitting point cloud data, device and method for processing point cloud data | |
US20220256190A1 (en) | Point cloud data processing apparatus and method | |
EP4131975A1 (en) | Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method | |
CN114009046A (zh) | 用于处理点云数据的装置和方法 | |
CN114073092A (zh) | 用于处理点云数据的设备和方法 | |
EP4325852A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
US20230059625A1 (en) | Transform-based image coding method and apparatus therefor | |
CN114051730A (zh) | 处理点云数据的设备和方法 | |
KR102294613B1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
EP4083922A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20240020885A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
US20230206510A1 (en) | Point cloud data processing device and processing method | |
CN115702568A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114503586B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP4395320A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4387230A1 (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 | |
EP4432658A1 (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 | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |