CN116438799A - 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 - Google Patents
点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 Download PDFInfo
- Publication number
- CN116438799A CN116438799A CN202180074267.3A CN202180074267A CN116438799A CN 116438799 A CN116438799 A CN 116438799A CN 202180074267 A CN202180074267 A CN 202180074267A CN 116438799 A CN116438799 A CN 116438799A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- attribute
- data
- cloud data
- 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 222
- 238000005070 sampling Methods 0.000 claims description 63
- 230000005540 biological transmission Effects 0.000 description 123
- 230000008569 process Effects 0.000 description 54
- 230000036961 partial effect Effects 0.000 description 33
- 238000005516 engineering process Methods 0.000 description 26
- 230000011664 signaling Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 21
- 238000013139 quantization Methods 0.000 description 19
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 230000015654 memory Effects 0.000 description 13
- 238000009877 rendering Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000002310 reflectometry Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 235000014347 soups Nutrition 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 210000004916 vomit Anatomy 0.000 description 1
- 230000008673 vomiting Effects 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/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
- 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/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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (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例示了根据实施方式的LOD生成方法;
图18示出了根据实施方式的用于可缩放发送的层组;
图19例示了根据实施方式的编码器与解码器之间的失配;
图20例示了根据实施方式的用于解决编码器与解码器之间的失配的方法;
图21例示了根据实施方式的用于解决编码器与解码器之间的失配的方法;
图22例示了根据实施方式的用于解决编码器与解码器之间的失配的方法;
图23例示了根据实施方式的包含点云数据的比特流结构;
图24示出了根据实施方式的可缩放提升LOD生成信息、属性参数集和可缩放提升信息SEI;
图25例示了根据实施方式的点云数据发送装置;
图26例示了根据实施方式的点云数据接收装置;
图27例示了根据实施方式的对点云数据进行解码的方法;
图28例示了根据实施方式的点云数据发送方法;以及
图29例示了根据实施方式的点云数据接收方法。
具体实施方式
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出能够根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。
虽然在本公开中使用的大多数术语已选自本领域中广泛使用的通用术语,但一些术语已由申请人任意选择,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。
图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(多边形文件格式或斯坦福三角格式)文件。当点云视频具有一个或更多个帧时,所获取的点云视频可以包括一个或更多个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相机等)、投影仪(例如,用于获得深度信息的红外图案投影仪)、LiDRA等来捕获点云视频。根据实施方式的点云内容提供系统可以从深度信息中提取由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树或莫顿码(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个子节点,并且子节点用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示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表1示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
表2-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)可以对通过从每个点的属性(属性值)中减去预测的属性(属性值)而获得的残差(可以被称为残差属性、残差属性值或属性预测残差)进行量化和反量化。如下表中所示地配置该量化处理。
表.属性预测残差量化伪代码
当每个点的预测器具有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以如上所述对量化和反量化后的残差值执行熵编码。当每个点的预测器没有邻近点时,根据实施方式的点云编码器(例如,算术编码器40012)可以在不执行上述操作的情况下,对相应点的属性执行熵编码。
根据实施方式的点云编码器(例如,提升变换器40010)可以生成每个点的预测器,设置计算出的LOD并将邻近点登记到预测器中,并根据到邻近点的距离设置权重以执行提升变换编码。根据实施方式的提升变换编码类似于上述预测变换编码,但不同之处在于权重被累加地应用于属性值。如下地配置根据实施方式的向属性值累加地应用权重的处理。
1)创建用于存储每个点的权重值的数组Quantization Weight(QW)(量化权重)。QW的所有元素的初始值为1.0。将在预测器中登记的邻居节点的预测器索引的QW值乘以当前点的预测器的权重,并将通过乘法而获得的值相加。
2)提升预测处理:从现有属性值中减去通过将点的属性值乘以权重而获得的值,以计算预测属性值。
3)创建被称为更新权重(updateweight)的临时数组,并将该临时数组更新并初始化为零。
4)将通过将针对所有预测器计算出的权重乘以存储在QW中的与预测器索引对应的权重而计算出的权重累加地添加到更新权重数组以作为邻居节点的索引。将通过将邻居节点的索引的属性值乘以计算出的权重而获得的值累加地添加到更新数组。
5)提升更新处理:将针对所有预测器的更新数组的属性值除以预测器索引的更新权重数组的权重值,并将现有的属性值与通过除法而获得的值相加。
6)通过针对所有预测器将通过提升更新处理而更新的属性值乘以(存储在QW中的)通过提升预测处理而更新的权重来计算预测属性。根据实施方式的点云编码器(例如,系数量化器40011)对预测的属性值进行量化。另外,点云编码器(例如,算术编码器40012)对量化后的属性值执行熵编码。
根据实施方式的点云编码器(例如,RAHT变换器40008)可以执行RAHT变换编码,其中使用与八叉树中较低级别的节点关联的属性来预测较高级别的节点的属性。RAHT变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的较高模式下执行。
图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详细描述地配置占用码。
当应用三角汤(trisoup)几何编码时,根据实施方式的表面近似合成器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对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图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执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
根据实施方式的发送处理器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可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3G网络、4G或长期演进(LTE)网络或5G网络配置云网络1400。
服务器1460可以通过云网络1400连接到机器人1410、自动驾驶车辆1420、XR装置1430、智能电话1440、家用电器14500/或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装置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中的发送装置10000、图1中的点云视频编码器10002、图1中的发送器10003、图2中的获取20000/编码20001/发送20002、图4中的编码器、图12中的发送装置、图14中的装置、图18的编码器、图15、图16和图25中的发送装置等的术语。
根据实施方式的点云数据接收方法/装置可以被解释为参照图1中的接收装置10004、图1中的接收器10005、图1中的点云视频解码器10006、图2中的发送20002/解码20003/渲染20004、图10和图11中的解码器、图13中的接收装置、图14中的装置、图19中的解码器、图15、图16、图26和图27中的接收装置/方法等的术语。
根据实施方式的用于发送或接收点云数据的方法/装置可以被简单地称为方法/装置。
根据实施方式,构成点云数据的几何数据、几何信息和位置信息将被解释为具有相同的含义。构成点云数据的属性数据、属性信息和属性信息将被解释为具有相同的含义。
根据实施方式的方法/装置可以在考虑部分几何的情况下基于可缩放提升LOD生成对点云数据进行编码和解码。
实施方式可以高效地支持由于发送和接收点云数据时的接收器性能或传输速度而需要对数据的一部分进行选择性解码的情况。就这一点而言,用于可缩放编码的可缩放提升可以用于属性编码(属性编码和/或解码),并且包括附加操作以用于部分几何编码环境。
实施方式解决了用于配置由点云组成的数据结构的技术。具体地,实施方式包括在生成用于可缩放属性编码的可缩放LoD时在考虑了部分几何编码环境的情况下通知接收器采样位置的方法。
参照图4和图11,由根据实施方式的发送装置/接收装置处理的点云数据由每个数据的位置(例如,XYZ坐标)和属性(例如,颜色、反射率、强度、灰度级、不透明度等)构成。在点云压缩(PCC)中,执行基于八叉树的压缩以有效地压缩三维空间中的不均匀分布的分布特性,并且基于此对属性信息进行压缩。根据实施方式的操作可以由图4和图11中所示的PCC发送/接收装置的每个组件装置来处理。
在可缩放提升中使用的LoD生成可以通过考虑全八叉树深度几何根据八叉树深度交替地应用采样位置、通过使用针对靠近节点中心的位置的属性来提高压缩效率。当支持可缩放发送时,支持部分几何,这可能导致编码器与解码器之间在可缩放提升LOD生成的采样位置方面的不一致。在这种情况下,可能不准确地呈现部分点云。在部分解码的情况下,根据基于实施方式的方法,可以通过改变或清楚地发信号通知采样参考位置来解决几何与属性之间的不一致。
图15例示了根据实施方式的可缩放发送。
根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、图16和图25的发送装置等)以及根据实施方式的接收装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图26和图27的接收装置/方法等)可以如图15所示以可缩放方式发送和接收点云数据。
点云数据发送方法/装置将与数据点相关的位置信息和特征信息(例如,颜色/亮度/反射率)分别划分为几何数据和属性数据,并对划分后的数据进行压缩和传递。在这种情况下,可以根据细节程度来配置具有层的八叉树结构,或者可以根据细节层次(LoD)来配置PCC数据。可缩放点云数据编码和表示可以基于配置来实现。在这种情况下,可以根据接收器性能或传输速度仅解码或表示点云数据的一部分。另外,实施方式提供了一种提前移除不必要的数据的方法。换句话说,当仅需要发送可缩放PCC比特流的一部分时(当仅在可缩放解码中解码了一些层时),只有必要部分不能被选择和发送。因此,必要部分可以在解码之后被重新编码(1500)(方法1),或者接收器可以在传递整体之后选择性地应用操作(1510)(方法2)。在方法1的情况下,可能由于用于解码和重新编码的时间而发生延迟。在方法2的情况下,由于不必要的数据的传输,可能降低带宽效率。此外,当使用固定带宽时,应当降低数据质量以进行传输。
图16例示了根据实施方式的部分比特流发送过程。
根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、图16和图25的发送装置等)以及根据实施方式的接收装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图26和图27的接收装置/方法等)可以如图16所示以可缩放方式发送和接收点云数据。
当根据层划分压缩数据并根据实施方式发送时,只有预压缩数据的必要部分可以在比特流级中由比特流选择器1600选择性地传送而无需单独的转换过程。在这种情况下,因为每个流仅需要一个存储空间,所以可以高效地操作存储空间。另外,因为仅选择性地发送必要的层,所以可以在比特流选择器带宽方面实现高效的发送。
即使从根据实施方式的接收器(接收装置)的角度来看,当传递用于重构整个PCC数据的信息时,不管接收器性能如何,接收器都需要通过解码来重构点云数据,然后仅选择对应于所需层的数据(数据选择或子采样)。在这种情况下,由于所发送的比特流已经被解码,所以可能在旨在低时延的接收器中发生延迟,或可能由于接收器性能而解码失败。
当根据实施方式的比特流被划分为切片并被传递时,接收器可以根据要根据解码器性能或应用领域来表示的点云数据的密度来选择性地将比特流传递给解码器。在这种情况下,由于在解码之前执行选择,因此可以提高解码器效率,并且可以支持各种性能的解码器。
根据实施方式的发送方法/装置可以发送针对每个层(切片)配置的比特流,并且接收方法/装置可以通过选择性解码和子采样来有效地表示点云数据(1610)。
根据实施方式的可缩放编码
为了解决这个问题,点云数据可以被压缩和传递以实现可缩放发送。首先,可以在使用位置和属性压缩时使用能够支持可缩放性的工具。另外,在传递压缩数据时,切片可以被细分以启用部分解码,并且用于在解码之前确定选择每个切片的基础可以作为元数据被发信号通知。也就是说,可以传递用于选择接收器所需的切片的信息。可缩放发送可以意指支持仅传递或解码比特流的一部分而不是解码整个比特流的情况,并且其结果可以是低分辨率点云数据。
当可缩放发送应用于基于八叉树的几何比特流时,可以仅利用仅关于直到从根节点到叶节点的每个八叉树层的比特流的特定八叉树层的特定八叉树层信息来构造点云数据。为此,针对目标八叉树层,应该不依赖于较低八叉树层信息。这可以是应用于几何/属性编码的共同限制。
在根据实施方式的属性编码的情况下,当使用可缩放提升时,如在基于八叉树的几何编码的情况下,可以根据八叉树深度来启用部分解码。在这种情况下,每个八叉树深度可以属于LoD,并且一个或更多个八叉树深度可以与LoD匹配。
图17例示了根据实施方式的LOD生成方法。
根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、图16和图25的发送装置等)可以基于LOD对点云数据(例如,属性数据)进行编码。
根据实施方式的接收装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图26和图27的接收装置/方法等)可以基于LOD对点云数据(例如,属性数据)进行解码。
图17例示了当点云编码器/解码器(例如,属性编码器/解码器)使用可缩放提升时生成LoD的方法。
该图例示了基于几何八叉树结构选择父节点的属性作为子节点的属性之一的方法。当图17中八叉树深度为4时,属于八叉树深度4的子节点中的一个可以被选择为属于八叉树深度3的节点的属性。类似地,作为属于八叉树深度2的节点的属性,可以选择属于八叉树深度3的子节点的属性之一。
根据实施方式,用于确定第一点(节点)和最后点(节点)的范围是属于束(bundle)的一组点。也就是说,它可以是用于选择属于一个父的子点当中的父的代表性属性的第一子节点或最后子节点。
以这种方式,可缩放提升可以通过递归地使用基于从叶节点到根节点的方向上的子节点的属性来选择父节点的代表性属性的方法来向所有八叉树层次的节点指派(匹配)属性。
图17中的示例示出了从子节点当中选择的节点的位置根据八叉树层次而变化的情况。在该示例中,当在叶节点层次(八叉树深度4)中执行采样时,将第一节点(第一点)1700用作父节点1701的属性,并且当在八叉树深度3中执行采样时,将最后节点(最后点)1702用作父节点1703的属性。用涂色圆圈标记的节点表示被选择作为该节点的父节点的属性的位置(点、节点)。
图17例示了点云数据的全几何数据和全属性数据的编码和解码的情况。也就是说,作为编码/解码单元的一个切片包含整个点云数据。当发送全PCC比特流时,接收装置可以基于由图17中的特定子节点的属性表示的父节点的属性表示结构将属性数据可缩放地解码达特定深度。
实施方式可以支持全几何/属性处理和部分几何/属性处理两者。
图18示出了根据实施方式的用于可缩放发送的层组。
除了图17之外,根据实施方式的发送/接收方法/装置可以基于层结构将点云数据配置为切片。
也就是说,当几何/属性编码方案支持通过图17中所示的方法的基于层的可缩放性时,可以在解码之前如可缩放发送应用中通过根据层结构配置切片来支持可缩放性。图18例示了根据八叉树结构来配置层组的方法。
根据实施方式的构成点云数据的配置单元可以包括八叉树几何层、八叉树属性深度、LOD、几何/属性层组以及几何/属性切片。根据实施方式,单元可以彼此对应,或者一个单元可以被包括在另一单元中。
图18的(a)示出了几何编码树的层组结构。
图18的(b)示出了属性编码树的对齐层组结构。
根据实施方式的方法/装置可以使用如图34所示的点云数据的分层结构来生成切片层组。
根据实施方式的方法/装置可以应用被包含在不同切片中的几何比特流和属性比特流的分段。另外,在树深度方面,可以使用几何编码和属性编码的编码树结构以及被包括在部分树信息中的每个切片。
参照图18,示出了几何树结构和建议的切片分段的示例。
例如,八叉树中存在八个层,并且五个切片可以用于包括一个或更多个层的子比特流。组表示几何树层组。例如,组1包括层0至层4,组2包括层5,并且组3包括层6和层7。另外,可以将组划分为三个子组。父与子对存在于每个子组中。组3-1至组3-3是组3的子组。当使用可缩放属性编码时,树结构与几何树结构相同。相同的八叉树切片映射可以用于创建属性切片分段(图18的(b))。
层组:表示G-PCC编码中发生的层结构单元(例如,八叉树层和LoD层)的束。
子组:可以基于一个层组的位置信息表示相邻节点的集合。另选地,可以基于层组中的最低层(其最接近根,图34的组3中的层6)来配置束。相邻节点的束可以按照莫尔顿码顺序配置,或者可以基于距离或根据编码顺序来配置。另外,父子关系中的节点可以被定义为存在于一个子组内。
当子组被定义时,边界出现在层的中间。关于是否在边界保持连续,可以通过指示是否通过例如sps_entropy_continuation_enabled_flag和gsh_entropy_continuation_flag连续使用熵并指示ref_slice_flag来保持从先前切片开始的连续。
当使用这样的结构时,必须传递用于由发送器/接收器选择可缩放层的可缩放结构。考虑到八叉树结构,所有八叉树层都可以支持可缩放发送。另选地,可以仅针对特定八叉树层和较低层允许可缩放发送。当包括八叉树层中的一些时,可以指示其中包括切片的可缩放层。由此,可以确定在比特流级切片是否是必要/不必要的。例如,可以从根节点到特定深度在不支持可缩放发送的情况下配置一个可缩放层,并且后续八叉树层可以被配置为以一一对应的方式匹配可缩放层。通常,可以针对与叶节点相对应的部分支持可缩放性。当如图所示在切片中包括多个八叉树层时,一个可缩放层可以被定义为是针对层配置的。
根据实施方式,树深度、树层次、层、层组等用于彼此互补并且被解释为指代点云数据的层级结构(树)中的根与叶之间的特定层次的术语。另外,组、切片等被解释为彼此互补为在基于层级结构生成分层结构的比特流时构成子比特流的单元。
在这种情况下,可缩放发送和可缩放解码可以根据目的而分开使用。可以在不涉及解码器的情况下出于选择直至特定层的信息的目的,在发送侧/接收侧使用可缩放发送。使用可缩放解码以在编码期间选择特定层。即,可缩放发送可以支持在压缩状态(在比特流级)在不涉及解码器的情况下选择必要信息,以便该信息可以由接收器确定或发送。另一方面,可缩放解码可以在编码/解码过程中支持仅编码/解码直至所需部分的数据,并且因此,可以在这种情况下被用作可缩放表示。
在这种情况下,用于可缩放发送的层配置可以与用于可缩放解码的层配置不同。例如,在可缩放发送方面,包括叶节点的三个底八叉树层可以构成一个层。然而,当在可缩放解码方面包括所有层信息时,可以针对叶节点层n、叶节点层n-1、叶节点层n-2中的每一个执行可缩放解码。
根据实施方式的在考虑部分几何的情况下的属性编码
当使用可缩放发送时,可以执行几何和属性的部分解码。在这种情况下,可以存在编码后的八叉树深度与解码后的八叉树深度之间的差。在这种情况下,在基于全八叉树深度执行LoD生成的可缩放提升(属性编码)中,可能由于编码/解码八叉树深度之间的差异而发生失配。
图19例示了根据实施方式的编码器与解码器之间的失配。
图19至图22的编码器可以是根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、图16和图25的发送装置等),并且可以基于LOD对点云数据(例如,属性数据)进行编码。
图19至图22的解码器可以是根据实施方式的接收装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图26和图27的接收装置/方法等),并且可以基于LOD对点云数据(例如,属性数据)进行解码。
例如,参照上述树结构,当针对八叉树深度4执行可缩放提升LoD生成时,可以从叶节点层次的子节点当中选择第一节点(第一点),可以从叶节点层次+1的子节点当中选择(采样)最后节点(最后点),并且可以在叶节点层次+2的子当中选择第一节点(第一点),作为较高节点的代表性属性。换句话说,每当八叉树深度减小(或增大)时,可以针对每个层次(八叉树层、八叉树深度)交替地选择第一和最后。当所述方法用于选择靠近父节点中心的节点时,这可以提高编码效率。然而,因为它假设全八叉树深度,所以它可能在部分几何情况中引发以下问题。
参照图19中的表,根据实施方式的发送方法/装置(编码器)对八叉树深度4进行编码以发送包含编码后的点云数据的比特流。根据实施方式的接收方法/装置(解码器)接收比特流并对点云数据进行解码。在这种情况下,可以执行部分解码达八叉树深度3。解码可以通过可缩放提升LOD生成来执行。在可缩放提升LoD生成中,通过从叶节点层次直到根节点层次的对应层次中的点(节点)当中交替地选择第一子节点和最后子节点来执行节点选择(采样)。
由于解码后的几何八叉树深度是3(1900),所以接收器的可缩放提升LOD生成从八叉树层次3的子节点当中选择第一点并从八叉树层次2的子节点当中选择最后点。然而,该方案使得在发送侧选择的点与在接收侧选择的点不同。换句话说,其导致选择与在编码时基于八叉树深度4执行的可缩放提升LoD生成中的属性不同的属性,并且产生与编码器的意图不同的部分点云。这种失配使得无法恢复具有适合于该位置的属性的点云数据。
图20例示了根据实施方式的用于解决编码器与解码器之间的失配的方法。
如下执行根据实施方式的用于解决由于部分几何而导致的在可缩放提升LoD生成期间发生的失配的方法。
根据实施方式的方法/装置可以发信号通知采样位置。也就是说,可以将每个层次(八叉树层次、八叉树深度)的采样位置分别作为信令信息发送到接收器。
另外,通过传递关于全八叉树深度的信息,即使在部分几何情况下,也可以使用发送和接收方法/装置之间的准确采样位置。利用该方法,可以通过信令来支持部分几何和属性,而不改变现有的编码器/解码器。
点云数据的全树深度范围为从0至4。然而,当对部分几何/属性进行编码时,针对每个深度处理的节点必须匹配以进行与部分几何匹配的部分属性的可缩放编码。
例如,如图20所示,在八叉树深度0至3的部分处理的情况下,可以通过对深度1处的最后节点、深度2处的第一节点和深度3处的最后节点进行采样来执行属性可缩放编码。即使在重构点云数据时,也可以在相同的位置执行采样。
图21例示了根据实施方式的用于解决编码器与解码器之间的失配的方法。
图21例示了根据实施方式的用于解决失配的方法,如图20。
可以发信号通知针对八叉树深度1的采样位置、根节点的层次或层次根+1(即,存在属于根节点的子节点处的深度或层次)。部分几何解码是从叶节点层次(通过代表性属性采样)丢弃连续八叉树层次的方法。因此,当传递始终被解码的八叉树深度1的采样信息时,可以根据八叉树深度交替地应用后续采样位置。
例如,如图21所示,当针对八叉树深度1的采样位置是最后子节点时,针对后续八叉树深度的采样位置是第一子节点,并且针对下一深度(层次)的采样位置可以被推断为最后子节点。利用该方法,可以在不改变现有的编码器/解码器的情况下通过信令来支持部分几何和属性。
图21例示了全深度为4但是几何/属性被部分地编码和/或解码直到深度3的情况。在这种情况下,为了防止解码属性时由于与用于编码的全深度的差异而改变采样位置,可以通过元数据向解码器发信号通知深度1的采样位置。例如,可以传递指示第一节点已经在深度1处被采样的信息,或者可以传递指示最后节点已经在深度1处被采样的信息。由于第一/最后节点从深度1的后续(较低)深度交替地采样,所以可以推断准确的采样位置。
图22例示了根据实施方式的用于解决编码器与解码器之间的失配的方法。
图22例示了根据实施方式的用于解决失配的方法,与图20和图21类似。
根据实施方式的方法/装置可以固定针对八叉树深度1的采样位置。在这种情况下,与固定针对叶节点层次的采样位置的方法相反,采样位置对于八叉树深度1是固定的。因此,即使当执行部分几何编码时,可缩放LoD生成采样位置也不会改变。
也就是说,即使当在发送与接收之间处理部分点云数据时,也可以防止失配,即使在编码期间固定位置不用于信令。
例如,深度0的根节点的属性值可以通过对属于深度1(根节点的子节点所属的深度)的节点当中的第一节点(点)进行采样来表示。另选地,可以通过对属于深度1的节点当中的最后节点(点)进行采样来表示该值。
如果在深度1一贯地使用第一点采样,则发送器/接收器可以在无信令的情况下不推断并识别最后点采样用于深度2并且第一点采样用于深度3。
如果在深度1最后点采样是固定的,则发送器/接收器可以在无信令的情况下不推断并识别第一点采样用于深度2并且最后点采样用于深度3。
图23例示了根据实施方式的包含点云数据的比特流结构。
根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、图16和图25的发送装置等)可以对点云数据进行编码、生成参数信息(元数据、信令信息)、生成并发送包含点云数据和参数信息的比特流(图23)。
根据实施方式的点云数据接收方法/装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图26和图27的接收装置/方法等)可以接收并解码包含点云数据和参数信息的比特流(图23)。
可以在参数集和SEI消息中定义关于根据实施方式的基于切片的分层结构的信息(图18等)。例如,可以在序列参数集、几何参数集、属性参数集、几何切片报头和属性切片报头中定义相关信息。根据应用和系统,要应用的范围和方法可以被限定在对应的或分离的位置中并且被不同地使用。
也就是说,根据信号被发送的位置,信号可以具有不同的含义。如果信号是在SPS中定义的,则可以将其等同地应用于整个序列。如果信号是在GPS中定义的,则这可以指示信号用于位置重构。如果信号是在APS中定义的,则这可以指示信号应用于属性重构。如果信号是在TPS中定义的,则这可以指示信号仅应用于图块内的点。如果信号是在切片中传送的,则这可以指示信号仅应用于切片。
另外,将要应用的范围和方法可以根据应用或系统在对应的位置或单独的位置中定义,以被不同地使用。另外,当下面定义的语法元素除了当前点云数据流之外还适用于多个点云数据流时,可以在上级参数集中承载相关信息。
每个缩写具有以下含义。每个缩写可以在等同含义的范围内由另一术语指代。SPS:序列参数集;GPS:几何参数集;APS:属性参数集;TPS:图块参数集;Geom(几何):几何比特流=几何切片报头+几何切片数据;Attr(属性):属性比特流=属性拼块头+属性拼块数据。
信息可以独立于根据实施方式的编码技术来定义,可以结合编码方法来定义,或者可以在图块参数集中定义以支持局部不同的可缩放性。另外,当以下定义的语法元素适用于多个点云数据流以及当前点云数据流时,可以在较高概念参数集中承载信息。
另选地,可以通过定义网络抽象层(NAL)单元并传递用于选择层的相关信息(例如,layer_id)来在系统级选择比特流。
在下文中,根据实施方式的参数(其可以称为元数据、信令信息等)可以在根据稍后描述的实施方式的发送器的处理中生成,并且可以被发送到根据实施方式的接收器以用于重构。
例如,根据实施方式的参数可以由根据稍后描述的实施方式的发送装置的元数据处理器(或元数据生成器)生成,并且可以由根据实施方式的接收装置的元数据解析器获取。
图24示出了根据实施方式的可缩放提升LOD生成信息、属性参数集和可缩放提升信息SEI。
图24示出了被包含在图23的比特流中的语法元素。
top_down_LoD_generation_flag等于1可以指示基于第一采样深度(例如,八叉树深度1)沿自上而下的方向交替地指定从执行用于可缩放提升LoD生成的子节点的属性采样的采样位置。
标志等于0可以指示基于叶节点层次沿自下而上的方向交替地指定从执行用于可缩放提升LoD生成的子节点的属性采样的采样位置(这意指用于确定采样位置的参考从底部改变到顶部,并且可缩放提升LoD生成沿自下而上的方向执行)。
first_depth_sampling_direction_present_flag等于1可以指示针对参考八叉树深度(例如,八叉树深度1)显式地传递从子节点的属性采样的采样位置。
标志等于0可以指示隐式地传递从子节点的属性采样的采样位置。(例如,隐式地传递第一子节点或最后子节点)。
first_depth_sampling_direction_forward_flag等于1可以指示沿正向方向执行从子节点的属性采样。也就是说,可以指示子节点当中的第一节点(第一点)针对第一采样深度被采样。标志等于0可以指示沿反向方向执行从子节点的属性采样。也就是说,其可以指示子节点当中的最后节点针对第一采样深度被采样。
num_full_octree_depth可以指示在编码中考虑的八叉树深度。当top_down_LoD_generation_flag为0时,可缩放提升LOD生成的采样方向被确定为自下而上的方向。因此,指示在编码中考虑的八叉树深度而非解码后的几何深度的num_full_octree_depth可以作为用于确定每个八叉树深度中的方向性的准则来提供。
child_node_sampling_forward_direction_flag等于1可以指示针对每个八叉树深度显式地传递从子节点的属性采样的采样位置。标志等于0可以指示隐式地传递从子节点的属性采样的采样位置(例如,隐式地传递第一子节点或最后子节点)。
当child_node_sampling_position等于1时,可以直接发信号通知每个八叉树层次处的采样位置。child_node_sampling_position等于0可以指示第一节点,并且child_node_sampling_position等于1可以指示最后节点。child_node_sampling_position等于2到7可以指示使用第一节点到第六节点(或最近节点)。
lifting_scalability_enabled_flag等于1指定属性解码过程允许输入几何点的修剪后的八叉树解码结果。lifting_scalability_enabled_flag等于0指定属性解码过程需要输入几何点的完整八叉树解码结果。当不存在时,lifting_scalability_enabled_flag的值被推断为0。当trisoup_enabled_flag的值为0时,lifting_scalability_enabled_flag的值可以为0。
注意:当geom_scaling_enabled_flag的值等于1时,lifting_scalability_enabled_flag的值可以为0,以保证几何点云的部分可解码性。
lifting_max_nn_range_minus1加1指定用于限制被注册为邻居的点的距离的最大最近邻居范围。lifting_max_nn_range的值指示该点周围八叉树节点的数量。
图25例示了根据实施方式的点云数据发送装置。
图25对应于根据实施方式的点云数据发送方法/装置,其对应于图1中的发送装置10000、图1中的点云视频编码器10002、图1中的发送器10003、图2中的获取20000/编码20001/发送20002、图4中的编码器、图12中的发送装置、图14中的装置、图18中的编码器、图15和图16中的发送装置等。根据实施方式的发送装置的每个组件对应于硬件、软件、处理器和/或其组合。
点云数据发送装置(编码器)接收点云数据。例如,几何编码器和属性编码器分别对点云数据的几何和属性进行编码。
每个编码器对几何数据进行编码以生成几何比特流,然后对属性数据进行编码以生成属性比特流。另外,作为与编码相关的信息的用于生成元数据的编码过程信息被传递到元数据生成器。
元数据生成器生成元数据,该元数据是关于编码过程的信令信息。这是因为接收侧的恢复(解码)需要元数据。
子比特流生成器可以连接到或被包括在每个编码器中。
子比特流生成器可以将压缩后的(编码后的)数据分割成单元以供发送。在不被处理的情况下,可以不发送整个比特流。相反,比特流可以基于层(数据区分单元)被分割和表示,以用于部分解码、选择性解码、针对错误的解码稳健等。也就是说,比特流可以被划分为适当的单元,以用于选择比特流单元(比特流层次)中所需的信息,并且根据分层结构信息进行封装。根据实施方式的比特流封装可以生成分层结构。可以针对每个层(LOD、切片、子组、组、层组等)生成子比特流。另选地,可以将至少两个或更多个层区分为子比特流。
复用器可以将编码后的点云数据和元数据(图23中的参数)组合成一个比特流。
发送器发送比特流。
图26例示了根据实施方式的点云数据接收装置。
图26对应于根据实施方式的点云数据接收方法/装置,其对应于图1中的接收装置10004、图1中的接收器10005、图1中的点云视频解码器10006、图2中的发送20002/解码20003/渲染20004、图10和图11中的解码器、图13中的接收装置、图14中的装置、图19中的解码器、图15、图16和图27中的接收装置/方法等。根据实施方式的接收装置的每个组件对应于硬件、软件、处理器和/或其组合。
根据实施方式的接收装置的每个操作可以遵循与根据实施方式的发送装置的对应组件的操作相同的操作,或者可以遵循反向过程。
接收器从发送装置接收比特流。
解复用器可以接收比特流并分离包含在比特流中的元数据和点云数据。
子比特流分类器可以针对每个子比特流(或层)划分点云数据。此外,其可以针对每个子比特流(或层)划分几何数据和属性数据。
元数据解析器对包含在比特流中的元数据(信令信息和参数)进行解析。
几何解码器对包含在比特流中的几何数据进行解码。几何解码器可以基于元数据来对几何数据进行解码。
属性解码器对包含在比特流中的属性数据进行解码。属性解码器可以基于元数据来对属性数据进行解码。
渲染器可以基于几何数据和属性数据来渲染点云数据。
当输入比特流时,接收器可以分别处理针对位置信息的比特流和针对属性信息的比特流。在这种情况下,子比特流分类器可以基于比特流报头中的信息将适当子比特流发送到解码器。另选地,在该过程中,可以选择接收器所需的层(子比特流)。可以通过几何解码器和属性解码器分别根据数据的特性将分类后的比特流重构为几何数据和属性数据,然后可以将数据转换为渲染器最终输出的格式。
图27例示了根据实施方式的对点云数据进行解码的方法。
图27例示了基于元数据的根据图19至图22所示的实施方式的编码和解码的过程。
当根据实施方式的发送方法/装置以针对可缩放发送的层为单位配置和发送比特流的切片时,根据实施方式的接收方法/装置可以基于图23和图24中的元数据对点云数据执行可缩放提升。当使用可缩放提升时(27000),可以使用由SEI消息或APS传送的scalable_lifting_lod_generation_info()的信息。
当自上而下的LoD生成标志等于1(27010)时,可以通过first_depth_sampling_direction_forward_flag显式地发信号通知顶层的采样方向性(当first_depth_sampling_direction_present_flag=1时,27020)。
可以使用根据实施方式的顶层的采样方向性(当first_depth_sampling_direction_present_flag=0时,27030)。
当不使用自上而下的LoD生成时,可以通过在编码中使用的八叉树深度信息沿从num_full_octree_depth的自下而上的方向估计采样位置,或者可以基于通过child_node_sampling_forward_direction_flag或child_node_sampling_position给出的每个八叉树深度的采样位置来指定位置(27040)。
图28例示了根据实施方式的点云数据发送方法。
根据实施方式的点云数据发送方法/装置(对应于图1的发送装置10000,图1的点云视频编码器10002,图1的发送器10003,图2的获取20000/编码20001/发送20002,图4的编码器,图12的发送装置,图14的装置,图18的编码器,图15、16、图19至图22和图25的发送装置等)可以使用如图28所示的方法对点云数据进行编码和发送。
S2800:根据实施方式的点云数据发送方法可以包括对点云数据进行编码。根据实施方式的编码操作可以包括图1中的发送装置10000和点云视频编码器10002,图2中的编码20001,图4中的编码器,图12中的编码器,图15中的几何和属性的编码,图16中的几何和属性的编码,图17至图22中的几何和属性的编码,图23和图24中的比特流生成以及图25中的几何/属性编码器、子比特流生成和元数据生成的操作。
S2810:根据实施方式的点云数据发送方法还可以包括发送包含点云数据的比特流。根据实施方式的发送操作可以包括图1中的发送装置10000和发送器10003、图2中的发送20002、图2中的编码后的比特流的发送、图12中的发送、图14中的XR装置1730的发送、图15中的几何和属性的部分发送或全发送、图16中的几何和属性的部分发送或全发送、图23和图24中的比特流发送以及包含子比特流和元数据的比特流的发送的操作。
图29例示了根据实施方式的点云数据接收方法。
根据实施方式的点云数据接收方法/装置(对应于图1的接收装置10004,图1的接收器10005,图1的点云视频解码器10006,图2的发送20002/解码20003/渲染20004,图10和图11的解码器,图13的接收装置,图14的装置,图19的解码器,图15、图16、图19至图22、图26和图27的接收装置/方法等)可以使用如图29所示的方法对点云数据进行解码。
S2900:根据实施方式的点云数据接收方法可以包括接收包含点云数据的比特流。根据实施方式的接收操作可以包括图1中的接收装置10004和接收器10005的操作、图2中的根据发送的接收、图11中的比特流接收、图13中的接收、图14中的XR装置1730的接收、图15中的几何和属性的部分接收或全接收、图16中的几何和属性的部分接收或全接收、图23中的比特流接收、图25中的比特流接收以及图26中的比特流接收的操作。
S2910:根据实施方式的点云数据接收方法可以包括对点云数据进行解码。根据实施方式的解码操作可以包括图1中的接收装置10004和点云视频解码器10006,图2中的解码20003,图10和图11中的解码器,图13中的解码器,图14中的XR装置1730的解码,图15中的几何和属性的解码,图16中的几何和属性的解码,图17至图22中的几何和属性的解码,图23中的比特流解码以及图26中的子比特流、元数据解析器、几何/属性解码器和渲染器的操作。
参照图1,根据实施方式的发送方法可以包括以下步骤:对点云数据进行编码,以及发送包含点云数据的比特流。
参照图16和图18,实施方式可以支持基于层组的比特流选择和发送。例如,对点云数据进行编码的步骤可以包括以下步骤:对点云数据的几何数据进行编码;以及对点云数据的属性数据进行编码。对几何数据进行编码的步骤可以包括:将几何数据表示为基于树结构的层;以及生成包含基于一个层或包括一个或更多个层的组的切片的几何比特流。对属性数据进行编码的步骤可以包括:将属性数据表示为基于树结构的层;以及生成包含基于一个层或包括一个或更多个层的组的切片的属性比特流。
根据实施方式的关于点云数据的层结构和基于切片的比特流生成术语(例如,层、层组、树层次、树深度、切片和组)可以被解释为彼此对应或包括或被包括在另一术语中。
参照图15和图16,根据实施方式的发送方法可以包括比特流的全发送或部分发送(可缩放发送)。例如,发送可以包括以下步骤:发送包括几何比特流和属性比特流的比特流的全部或部分。
参照图25和图20,可以生成根据实施方式的元数据,并且可以向接收侧发信号通知针对每个深度的采样位置。例如,根据实施方式的发送方法还可以包括生成与点云数据相关的元数据。元数据可以包括指示针对属性数据的树的深度的采样位置的信息。
参照图25和图21,根据实施方式的发送方法可以发信号通知针对深度1的采样位置。例如,根据实施方式的发送方法还可以包括生成与点云数据相关的元数据。元数据可以包括指示针对属性数据的具有树的根节点的子节点的深度的采样位置的信息。
参照图25和图22,根据实施方式的发送方法可以包括以下步骤:通过固定针对深度1的采样位置来对点云数据进行编码。例如,对属性数据进行编码的步骤可以包括:将树的根节点的属性值采样为被包括在具有根节点的子节点的深度中的节点当中的第一节点的属性值。根据实施方式的术语采样意指具有与父节点的属性最相似的属性的子节点的属性值从父节点的子当中被选择(采样)为表示父节点的属性值的值。
根据实施方式的发送装置对应于发送方法的描述。例如,发送装置可以包括:编码器,其被配置为对点云数据进行编码;以及发送器,其被配置为发送包含点云数据的比特流。
另外,被配置为对点云数据进行编码的编码器可以包括:几何编码器,其被配置为对点云数据的几何数据进行编码;以及属性编码器,其被配置为对点云数据的属性数据进行编码。几何编码器可以将几何数据表示为基于树的结构的层;以及生成包含基于一个层或包括一个或更多个层的组的切片的几何比特流。属性编码器可以将属性数据表示为基于树的结构的层;以及生成包含基于一个层或包括一个或更多个层的组的切片的属性比特流。
另外,发送器可以发送包括几何比特流和属性比特流的比特流的全部或部分。
另外,根据实施方式的发送装置还可以包括元数据生成器,该元数据生成器被配置为生成与点云数据相关的元数据。元数据可以包含指示针对属性数据的树的深度的采样位置的信息(参见元数据语法)。
另外,所述装置还可以包括元数据生成器,该元数据生成器被配置为生成与点云数据相关的元数据。元数据可以包含指示针对属性数据的具有树的根节点的较低节点的深度的采样位置的信息。
另外,编码器可以将树的根节点的属性值采样为被包括在根节点的较低节点中的节点当中的第一节点的属性值。
根据实施方式的接收方法可以对应于发送方法的特定操作或者可以执行反向过程。例如,接收方法可以包括以下步骤:接收包含点云数据的比特流,以及对点云数据进行解码。
此外,参照图16,对点云数据进行解码的步骤可以包括以下步骤:对点云数据的几何数据进行解码;以及对点云数据的属性数据进行解码。几何数据可以被表示为基于树的结构的层并且被包含在几何比特流中,该几何比特流包含基于一个层或包括一个或更多个层的组的切片。属性数据可以被表示为基于树的结构的层并且被包含在属性比特流中,该属性比特流包含基于一个层或包括一个或更多个层的组的切片。可以接收基于层组的比特流,并且可以有效地重构基于层组的比特流并提供给用户。
另外,接收步骤可以包括:接收包括几何比特流和属性比特流的比特流的全部或部分。
接收方法还包括以下步骤:对与点云数据相关的元数据进行解析。元数据可以包含指示针对属性数据的树的深度的采样位置的信息。
接收方法还包括以下步骤:对与点云数据相关的元数据进行解析。元数据包含指示针对属性数据的具有树的根节点的较低节点的深度的采样位置的信息。
另外,对属性数据进行解码的步骤可以包括:将树的根节点的属性值采样为被包括在根节点的较低节点中的节点当中的第一节点的属性值。根据实施方式,固定采样位置可以被设置为第一节点、最后节点等。
根据实施方式的接收装置对应于接收方法。例如,接收装置可以包括被配置为接收包含点云数据的比特流的接收器和被配置为对点云数据进行解码的解码器。此外,当基于元数据对几何数据和属性数据执行部分解码时,适于对应位置的属性可以通过针对每个数据的树深度的相同采样位置来恢复。另选地,可以通过固定采样位置而不是元数据来恢复适用于对应位置的属性。
已从方法和/或装置的角度描述了实施方式,并且可以应用对方法和装置的描述以互为补充。
尽管为了简单起见已单独描述了附图,但可以通过合并相应图中例示的实施方式来设计新的实施方式。本领域的技术人员需要的其上记录有用于执行上述实施方式的程序的计算机可读取的记录介质的设计也落入所附权利要求书及其等同物的范围内。根据实施方式的装置和方法可以不受上述实施方式的配置和方法的限制。通过选择性组合所有或部分实施方式,可以对实施方式进行各种修改。尽管已参考附图描述了优选实施方式,但本领域的技术人员将领会,在不脱离在所附权利要求书中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变型。这种修改将不被独立于实施方式的技术思路或观点进行理解。
实施方式的装置的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的装置的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。该一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的装置的方法/操作的可执行指令可以被存储在非暂态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所述的方法,其中,发送所述比特流的步骤包括:
发送包括所述几何比特流和所述属性比特流的所述比特流的全部或部分。
4.根据权利要求3所述的方法,所述方法还包括以下步骤:
生成与所述点云数据相关的元数据,
其中,所述元数据包含指示针对所述属性数据的所述树的深度的采样位置的信息。
5.根据权利要求3所述的方法,所述方法还包括以下步骤:
生成与所述点云数据相关的元数据,
其中,所述元数据包含指示针对所述属性数据的具有所述树的根节点的较低节点的深度的采样位置的信息。
6.根据权利要求2所述的方法,其中,对所述属性数据进行编码的步骤包括:
将所述树的根节点的属性值采样为被包括在所述根节点的较低节点中的节点当中的第一节点的属性值。
7.一种发送点云数据的装置,所述装置包括:
编码器,所述编码器被配置为对点云数据进行编码;以及
发送器,所述发送器被配置为发送包含所述点云数据的比特流。
8.根据权利要求7所述的装置,其中,所述编码器包括:
几何编码器,所述几何编码器被配置为对所述点云数据的几何数据进行编码;以及
属性编码器,所述属性编码器被配置为对所述点云数据的属性数据进行编码,
其中,所述几何编码器被配置为:
将所述几何数据表示为基于树的结构的层;以及
生成包含基于一个层或包括一个或更多个层的组的切片的几何比特流,
其中,所述属性编码器被配置为:
将所述属性数据表示为基于所述树的所述结构的层;以及
生成包含基于一个层或包括一个或更多个层的组的切片的属性比特流。
9.根据权利要求8所述的装置,其中,所述发送器发送包括所述几何比特流和所述属性比特流的所述比特流的全部或部分。
10.根据权利要求9所述的装置,所述装置还包括:
元数据生成器,所述元数据生成器被配置为生成与所述点云数据相关的元数据,其中,所述元数据包含指示针对所述属性数据的所述树的深度的采样位置的信息。
11.根据权利要求3所述的装置,所述装置还包括:
元数据生成器,所述元数据生成器被配置为生成与所述点云数据相关的元数据,
其中,所述元数据包含指示针对所述属性数据的具有所述树的根节点的较低节点的深度的采样位置的信息。
12.根据权利要求8所述的装置,其中,所述编码器将所述树的根节点的属性值采样为被包括在所述根节点的较低节点中的节点当中的第一节点的属性值。
13.一种接收点云数据的方法,所述方法包括以下步骤:
接收包含点云数据的比特流;以及
对所述点云数据进行解码。
14.根据权利要求13所述的方法,其中,对所述点云数据进行解码的步骤包括以下步骤:
对所述点云数据的几何数据进行解码;以及
对所述点云数据的属性数据进行解码,
其中,所述几何数据被表示为基于树的结构的层并且被包含在几何比特流中,所述几何比特流包含基于一个层或包括一个或更多个层的组的切片,
其中,所述属性数据被表示为基于所述树的所述结构的层并且被包含在属性比特流中,所述属性比特流包含基于一个层或包括一个或更多个层的组的切片。
15.根据权利要求14所述的方法,其中,接收所述比特流的步骤包括:
接收包括所述几何比特流和所述属性比特流的所述比特流的全部或部分。
16.根据权利要求15所述的方法,所述方法还包括以下步骤:
对与所述点云数据相关的元数据进行解析,
其中,所述元数据包含指示针对所述属性数据的所述树的深度的采样位置的信息。
17.根据权利要求15所述的方法,所述方法还包括以下步骤:
对与所述点云数据相关的元数据进行解析,
其中,所述元数据包含指示针对所述属性数据的具有所述树的根节点的较低节点的深度的采样位置的信息。
18.根据权利要求14所述的方法,其中,对所述属性数据进行解码的步骤包括:
将所述树的根节点的属性值采样为被包括在所述根节点的较低节点中的节点当中的第一节点的属性值。
19.一种接收点云数据的装置,所述装置包括:
接收器,所述接收器被配置为接收包含点云数据的比特流;以及
解码器,所述解码器被配置为对所述点云数据进行解码。
20.根据权利要求19所述的装置,其中,被配置为对所述点云数据进行解码的所述解码器包括:
几何解码器,所述几何解码器被配置为对所述点云数据的几何数据进行解码;以及
属性解码器,所述属性解码器被配置为对所述点云数据的属性数据进行解码,
其中,所述几何数据被表示为基于树的结构的层并且被包含在几何比特流中,所述几何比特流包含基于一个层或包括一个或更多个层的组的切片,
其中,所述属性数据被表示为基于所述树的所述结构的层并且被包含在属性比特流中,所述属性比特流包含基于一个层或包括一个或更多个层的组的切片。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200143675 | 2020-10-30 | ||
KR10-2020-0143675 | 2020-10-30 | ||
PCT/KR2021/015306 WO2022092852A1 (ko) | 2020-10-30 | 2021-10-28 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116438799A true CN116438799A (zh) | 2023-07-14 |
Family
ID=81384046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180074267.3A Pending CN116438799A (zh) | 2020-10-30 | 2021-10-28 | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230377203A1 (zh) |
EP (1) | EP4240016A4 (zh) |
CN (1) | CN116438799A (zh) |
WO (1) | WO2022092852A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024085680A1 (ko) * | 2022-10-19 | 2024-04-25 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10694210B2 (en) * | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
US10921455B2 (en) * | 2018-04-05 | 2021-02-16 | Apex.AI, Inc. | Efficient and scalable three-dimensional point cloud segmentation for navigation in autonomous vehicles |
US11049266B2 (en) * | 2018-07-31 | 2021-06-29 | Intel Corporation | Point cloud viewpoint and scalable compression/decompression |
EP3929881A4 (en) * | 2019-03-19 | 2022-04-20 | Sony Group Corporation | INFORMATION PROCESSING DEVICE AND METHOD |
-
2021
- 2021-10-28 US US18/029,563 patent/US20230377203A1/en active Pending
- 2021-10-28 EP EP21886846.1A patent/EP4240016A4/en active Pending
- 2021-10-28 WO PCT/KR2021/015306 patent/WO2022092852A1/ko unknown
- 2021-10-28 CN CN202180074267.3A patent/CN116438799A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4240016A1 (en) | 2023-09-06 |
EP4240016A4 (en) | 2024-10-16 |
US20230377203A1 (en) | 2023-11-23 |
WO2022092852A1 (ko) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4006839B1 (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 | |
US20220159284A1 (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 | |
EP4171039A1 (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 | |
US20220230360A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20230059625A1 (en) | Transform-based image coding method and apparatus therefor | |
US12003769B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP3971832A1 (en) | Device and method for processing point cloud data | |
EP4228267A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20230386088A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20220351421A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4240016A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20230281878A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
EP4161074A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
CN114503586B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP4432658A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4432656A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4412208A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
EP4425933A1 (en) | Point cloud data transmission device and method, and point cloud data reception device and method | |
US20240323433A1 (en) | Point cloud data transmission device and method, and point cloud data reception device and method | |
US20230334719A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4429250A1 (en) | Point cloud data transmission device and method, and point cloud data reception device and method | |
CN118202655A (zh) | 发送点云数据的装置、发送点云数据的方法、接收点云数据的装置和接收点云数据的方法 |
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 |