CN115462083A - 发送点云数据的设备、发送点云数据的方法、接收点云数据的设备和接收点云数据的方法 - Google Patents
发送点云数据的设备、发送点云数据的方法、接收点云数据的设备和接收点云数据的方法 Download PDFInfo
- Publication number
- CN115462083A CN115462083A CN202180028349.4A CN202180028349A CN115462083A CN 115462083 A CN115462083 A CN 115462083A CN 202180028349 A CN202180028349 A CN 202180028349A CN 115462083 A CN115462083 A CN 115462083A
- Authority
- CN
- China
- Prior art keywords
- point
- point cloud
- neighboring
- attribute
- points
- 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 458
- 230000011664 signaling Effects 0.000 claims abstract description 161
- 230000005540 biological transmission Effects 0.000 claims description 40
- 238000009877 rendering Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 183
- 230000008569 process Effects 0.000 description 94
- 238000013139 quantization Methods 0.000 description 76
- 230000006835 compression Effects 0.000 description 40
- 238000007906 compression Methods 0.000 description 40
- 230000009466 transformation Effects 0.000 description 39
- 238000001914 filtration Methods 0.000 description 38
- 238000005070 sampling Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 18
- 230000003044 adaptive effect Effects 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 13
- 230000007423 decrease Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000002310 reflectometry Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 241000023320 Luma <angiosperm> Species 0.000 description 8
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000001174 ascending effect Effects 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000004323 axial length Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- MKXZASYAUGDDCJ-NJAFHUGGSA-N dextromethorphan Chemical compound C([C@@H]12)CCC[C@]11CCN(C)[C@H]2CC2=CC=C(OC)C=C21 MKXZASYAUGDDCJ-NJAFHUGGSA-N 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
根据实施方式的发送点云数据的方法可以包括以下步骤:获得点云数据;对包括所述点云数据的点的位置的几何信息进行编码;基于所述几何信息生成一个或更多个细节层次(LOD),并基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点,其中,所选择的每个点的所述一个或更多个邻近点位于最大邻近点距离内;基于所选择的每个点的所述一个或更多个邻近点对每个点的属性信息进行编码;以及发送编码的几何信息、编码的属性信息、和信令信息。
Description
技术领域
实施方式涉及用于处理点云内容的方法和设备。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点的集合。点云内容可以表示以三维配置的媒体,并用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、XR(扩展现实)和自动驾驶这样的各种服务。然而,需要几万到几十万个点数据来表示点云内容。因此,需要高效处理大量点数据的方法。
发明内容
技术问题
为解决上述问题而设计的本公开的目的是提供用于高效发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于应对等待时间和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于通过改进基于几何的点云压缩(G-PCC)的属性信息的编码技术来改善点云的压缩性能的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于增强压缩效率同时支持G-PCC的属性信息的并行处理的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供通过在G-PCC的属性信息被编码时考虑到内容中的点之间的属性相关性而选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
本公开的另一目的是提供通过在G-PCC的属性信息被编码时应用最大邻近点距离并选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
本公开的另一目的是通过根据密度自动地计算最大邻近点范围以在对G-PCC的属性信息进行编码时获得最大邻近点距离来对各种类型的点云数据进行高效编码/解码的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的目的不限于以上提到的目的,并且本领域的普通技术人员在查阅了以下描述后,以上未提到的本公开的其它目的将变得清楚。
技术方案
为了实现这些目的和其它优点并按照本公开的目的,如本文中实施和广义描述的,一种点云数据发送方法可以包括以下步骤:获取点云数据;对包括所述点云数据的点的位置的几何信息进行编码;基于所述几何信息来生成一个或更多个细节层次(LOD),并基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点;基于所选择的每个点的所述一个或更多个邻近点对每个点的属性信息进行编码;以及发送编码的几何信息、编码的属性信息、和信令信息。
根据实施方式,所选择的每个点的一个或更多个邻近点可以位于最大邻近点距离内。
根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
根据实施方式,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离可以是基于特定LOD中一个节点的对角线距离来确定的。
根据实施方式,选择所述一个或更多个邻近点可以包括以下步骤:基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度;以及根据估计的所述密度来自动地计算所述最大邻近点范围。
根据实施方式,可以在所述信令信息中发信号通知与所述最大邻近点范围相关的信息。
在本公开的另一方面,一种点云数据发送装置可以包括:获取器,该获取器被配置为获取点云数据;几何编码器,该几何编码器被配置为对包括所述点云数据的点的位置的几何信息进行编码;以及属性编码器,该属性编码器被配置为基于所述几何信息来生成一个或更多个细节层次(LOD),基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点,并基于所选择的每个点的一个或更多个邻近点对每个点的属性信息进行编码;以及发送器,该发送器被配置为发送编码的几何信息、编码的属性信息、和信令信息。
根据实施方式,所选择的每个点的一个或更多个邻近点可以位于最大邻近点距离内。
根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
根据实施方式,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离可以是基于特定LOD中一个节点的对角线距离来确定的。
所述属性编码器可以基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度,并根据所估计的所述密度来自动地计算所述最大邻近点范围。
根据实施方式,可以在所述信令信息中发信号通知与所述最大邻近点范围相关的信息。
在本公开的另一方面,一种点云数据接收装置可以包括:接收器,该接收器被配置为接收几何信息、属性信息和信令信息;几何解码器,该几何解码器被配置为基于所述信令信息对所述几何信息进行解码;属性解码器,该属性解码器被配置为基于所述几何信息来生成一个或更多个细节层次(LOD),基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点,并基于所选择的每个点的一个或更多个邻近点和所述信令信息对每个点的属性信息进行解码;以及渲染器,该渲染器被配置为渲染基于解码的几何信息以及解码的属性信息重构的点云数据。
根据实施方式,所选择的每个点的一个或更多个邻近点可以位于最大邻近点距离内。
根据实施方式,所述最大邻近点距离可以是基于基本邻近点距离和最大邻近点范围来确定的。
根据实施方式,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离可以是基于特定LOD中一个节点的对角线距离来确定的。
所述属性解码器可以基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度,并根据所估计的所述密度来自动地计算所述最大邻近点范围。
根据实施方式,所述属性解码器可以从所述信令信息获取所述最大邻近点范围。
有益效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供高质量的点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以实现各种视频编解码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供诸如自动驾驶服务(或自主驾驶服务)这样的通用点云内容。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以执行点云数据的空间自适应分割以独立地对点云数据进行编码和解码,由此提高并行处理并提供可扩展性。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以通过以图块和/或切片为单位对点云数据进行空间分割来执行编码和解码并因此发信号通知其必要数据,由此提高点云的编码和解码性能。
根据实施方式的点云数据发送方法和设备以及点云数据接收方法和设备通过在G-PCC的属性信息被编码时考虑到内容的点之间的属性相关性选择用于属性预测的邻近点来减少属性比特流的大小并增强属性的压缩效率。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以致使在对G-PCC的属性信息进行编码时基于最大邻近点距离来选择用于属性预测的邻近点,由此减小属性比特流的大小并提高属性压缩效率。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以致使在对G-PCC的属性信息进行编码时基于最大邻近点距离来选择用于属性预测的邻近点,由此去除最大邻近点距离之外的点,即,邻近点集合中的妨碍预测的点。因此,当由于内容的属性特性而导致属性的相关性低时,可以增大预测的平均值,使与点属性值的残差值不会增大,并且可以不向不重要的信息指派权重。因此,属性比特流大小可以减小并且PSNR准确性可以增加。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以根据LOD配置方法、服务特性或内容特性来配置最大邻近点范围。相应地,可以提供适于属性特性的最大邻近点范围。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以根据LOD配置方法、服务特性或内容特性来配置邻近点的最大范围。相应地,各种类型的点云数据可以被高效地编码/解码。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以根据密度来自动地计算最大邻近点范围,由此提供最佳压缩效率。
根据实施方式,点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以使用最大邻近点距离的基于八叉树的计算、最大邻近点距离的基于距离的计算、最大邻近点距离的基于采样的计算、通过计算LOD之间的莫顿码平均差进行的最大邻近点距离的计算、或通过计算LOD之间的平均距离差进行的最大邻近点距离的计算中的至少一个来估计最大邻近点距离,并发信号通知相关信息。由此,可以通过邻近点的最佳集合来提高属性压缩/解压缩效率。
附图说明
附图被包括进来以提供对本公开的进一步理解,并且被并入本申请的部分中并构成本申请的部分,附图例示了本公开的实施方式并与说明书一起用来说明本公开的原理。在附图中:
图1例示了根据实施方式的示例性点云内容提供系统。
图2是例示了根据实施方式的点云内容提供操作的框图。
图3例示了根据实施方式的捕获点云视频的示例性过程。
图4例示了根据实施方式的点云视频编码器的示例性框图。
图5例示了根据实施方式的3D空间中的体素的示例。
图6例示了根据实施方式的八叉树和占用代码的示例。
图7例示了根据实施方式的邻近节点图案的示例。
图8例示了根据实施方式的针对每个LOD的点云内容的点配置的示例。
图9例示了根据实施方式的针对每个LOD的点云内容的点配置的示例。
图10例示了根据实施方式的点云视频解码器的框图的示例。
图11例示了根据实施方式的点云视频解码器的示例。
图12例示了根据实施方式的发送装置的点云视频编码的配置。
图13例示了根据实施方式的接收装置的点云视频解码的配置。
图14例示了根据实施方式的与用于发送和接收点云数据的方法/装置在工作时可连接的示例性结构。
图15例示了根据实施方式的点云发送装置的示例。
图16的(a)至图16的(c)例示了将边界框分割为一个或更多个图块的实施方式。
图17例示了根据实施方式的几何编码器和属性编码器的示例。
图18是例示了根据实施方式的基于八叉树来生成LOD的示例的示图。
图19是例示了根据实施方式的按莫顿码顺序进行点云中的点排列的示例的示图。
图20是例示了根据实施方式的基于LOD来搜索邻近点的示例的示图。
图21的(a)和图21的(b)例示了根据实施方式的点云内容的示例。
图22的(a)和图22的(b)例示了根据实施方式的属于邻近点集合的每个点的平均距离、最小距离和最大距离的示例。
图23的(a)例示了根据实施方式的获取LOD0的八叉树节点的对角线距离的示例。
图23的(b)例示了根据实施方式的获取LOD1的八叉树节点的对角线距离的示例。
图24的(a)和图24的(b)例示了可以被选择作为每个LOD处的邻近点的范围的示例。
图25例示了根据实施方式的属于每个LOD的基本邻近点距离的示例。
图26是例示了根据本公开的实施方式的基于密度自动地计算最大邻近点范围的流程图。
图27是例示了根据本公开的另一实施方式的基于密度自动地计算最大邻近点范围的流程图。
图28例示了根据实施方式的基于LOD来搜索邻近点的另一示例。
图29例示了根据实施方式的基于LOD来搜索邻近点的另一示例。
图30例示了根据实施方式的点云接收装置的示例。
图31例示了根据实施方式的几何解码器和属性解码器的示例。
图32例示了根据实施方式的用于发送/接收的点云数据的示例性比特流结构。
图33例示了根据实施方式的点云数据的示例性比特流结构。
图34例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
图35例示了根据实施方式的序列参数集的语法结构的实施方式。
图36例示了根据实施方式的几何参数集的语法结构的实施方式。
图37例示了根据实施方式的属性参数集的语法结构的实施方式。
图38例示了根据实施方式的图块参数集的语法结构的实施方式。
图39例示了根据实施方式的几何切片比特流()的语法结构的实施方式。
图40例示了根据实施方式的几何切片头的语法结构的实施方式。
图41例示了根据实施方式的几何切片数据的语法结构的实施方式。
图42例示了根据实施方式的属性切片比特流()的语法结构的实施方式。
图43例示了根据实施方式的属性切片头的语法结构的实施方式。
图44例示了根据实施方式的属性切片数据的语法结构的实施方式。
图45是根据实施方式的发送点云数据的方法的流程图。
图46是根据实施方式的接收点云数据的方法的流程图。
具体实施方式
现在,将参照附图根据本文中公开的示例性实施方式详细给出描述。为了参照附图简要描述,可为相同或等同的部件提供相同的标号,其描述将不再重复。应该注意,以下示例仅用于体现本公开,并不限制本公开的范围。本发明所属技术领域的专家从本公开的详细描述和示例中可以容易地推断出的内容将被解释为在本公开的范围内。
本说明书中的详细描述应该在所有方面都被解释为例示性而非限制性的。本公开的范围应该由所附权利要求及其法律等同物来确定,并且落入所附权利要求的含义和等同范围内的所有改变旨在被涵盖在本文中。
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出可以根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。虽然在本说明书中使用的大多数术语已选自本领域中广泛使用的通用术语,但申请人已任意选择一些术语,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。另外,以下的附图和详细描述不应该被解释为限于具体描述的实施方式,而应该被解释为包括附图和详细描述中描述的实施方式的等同物或替代物。
图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中所示,可以基于一个或更多个相机的捕获操作来生成点云内容。在这种情况下,坐标系在每个相机当中是不同的,因此,点云内容提供系统可以在捕获操作之前校准一个或更多个相机以设置全局坐标系。另外,点云内容提供系统可以通过将任意图像和/或视频与通过上述捕获技术捕获的图像和/或视频进行合成来生成点云内容。点云内容提供系统在其生成表示虚拟空间的点云内容时不可以执行图3中描述的捕获操作。根据实施方式的点云内容提供系统可以对所捕获的图像和/或视频执行后处理。换句话说,点云内容提供系统可以去除不需要的区域(例如,背景),识别所捕获的图像和/或视频连接到的空间,并且当存在空间孔时执行填充空间孔的操作。
点云内容提供系统可以通过对从每个相机保护的点云视频的点执行坐标变换来生成一条点云内容。点云内容提供系统可以基于每个相机位置的坐标对点执行坐标变换。因此,点云内容提供系统可以生成表示一个宽范围的内容,或可以生成具有高密度点的点云内容。
图4例示了根据实施方式的示例性点云视频编码器。
图4示出了图1的点云视频编码器10002的示例。点云视频编码器重构并编码点云数据(例如,点的位置和/或属性),以根据网络条件或应用来调整点云内容的质量(例如,无损、有损或接近无损)。当点云内容的总大小大时(例如,对于30fps,给出60Gbps的点云内容),点云内容提供系统可能无法实时地流传输该内容。因此,点云内容提供系统可以基于最大目标比特率重构点云内容,以根据网络环境等提供该点云内容。
如参考图1至图2描述的,点云视频编码器可以执行几何编码和属性编码。几何编码在属性编码之前执行。
根据实施方式的点云视频编码器包括坐标变换单元40000、量化单元40001、八叉树分析单元40002、表面近似分析单元40003、算术编码器40004、几何重构单元40005、颜色变换单元40006、属性变换单元40007、RAHT单元40008、LOD生成单元40009、提升变换单元40010、系数量化单元40011和/或算术编码器40012。
坐标变换单元40000、量化单元40001、八叉树分析单元40002、表面近似分析单元40003、算术编码器40004和几何重构单元40005可以执行几何编码。根据实施方式的几何编码可以包括八叉树几何编码、直接编码、trisoup(trisoup)几何编码和熵编码。直接编码和trisoup几何编码被选择性地或组合地应用。几何编码不限于上述示例。
如图中所示,根据实施方式的坐标变换单元40000接收位置并将其变换为坐标。例如,位置可以被变换为三维空间(例如,由XYZ坐标系表示的三维空间)中的位置信息。根据实施方式的三维空间中的位置信息可以被称为几何信息。
根据实施方式的量化单元40001对几何信息进行量化。例如,量化单元40001可以基于所有点的最小位置值(例如,X、Y和Z轴中的每一个上的最小值)来量化点。量化单元40001执行以下量化操作:将每个点的位置值与最小位置值之间的差乘以预设的量化缩放值,然后通过对通过乘法获得的值进行四舍五入来找到最接近的整数值。因此,一个或更多个点可以具有相同的量化位置(或位置值)。根据实施方式的量化单元40001基于量化位置来执行体素化,以重构量化点。体素化意味着在3D空间中表示位置信息的最小单位。根据实施方式的点云内容(或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变换所述一个或更多个点的属性。当执行trisoup几何编码时,属性变换单元40007可以基于trisoup几何编码来变换属性。
属性变换单元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表示八叉树的深度。在式1中确定d的值。在式1中,(xint n,yint n,zint n)表示量化点的位置(或位置值)。
[式1]
如图6的上部的中间所示,整个3D空间可以根据分区被划分为八个空间。每个划分空间由具有六个面的立方体表示。如图6的右上侧所示,基于坐标系的轴(例如,X轴、Y轴和Z轴)再次划分八个空间中的每一个。因此,每个空间被划分成八个更小的空间。所划分的更小空间也由具有六个面的立方体表示。应用该划分方案,直到八叉树的叶节点成为体素为止。
图6的下部示出了八叉树占用代码。生成八叉树的占用代码,以指示通过划分一个空间而产生的八个划分空间中的每一个是否包含至少一个点。因此,单个占用代码由八个子节点表示。每个子节点表示所划分空间的占用,并且子节点具有1位的值。因此,占用代码被表示为8位代码。也就是说,当在与子节点对应的空间中包含至少一个点时,该节点被赋予值1。当在对应于子节点的空间中不包含点(空间为空)时,该节点被赋予值0。由于图6中示出的占用代码为00100001,因此它指示与八个子节点当中的第三个子节点和第八个子节点对应的空间各自包含至少一个点。如图中所示,第三个子节点和第八个子节点中的每一个具有8个子节点,并且子节点用8位占用代码表示。该图示出第三个子节点的占用代码为10000111,并且第八个子节点的占用代码为01001111。根据实施方式的点云视频编码器(例如,算术编码器40004)可以对占用代码执行熵编码。为了提高压缩效率,点云视频编码器可以对占用代码执行帧内/帧间编码。根据实施方式的接收装置(例如,接收装置10004或点云视频解码器10006)基于占用代码来重构八叉树。
根据实施方式的点云视频编码器(例如,八叉树分析单元40002)可以执行体素化和八叉树编码,以存储点的位置。然而,点并不总是均匀地分布在3D空间中,因此会有其中存在较少点的特定区域。因此,对整个3D空间执行体素化是低效的。例如,当特定区域包含的点较少时,不需要在特定区域中执行体素化。
因此,对于上述特定区域(或八叉树的叶节点以外的节点),根据实施方式的点云视频编码器可以跳过体素化并执行直接编码,以对特定区域中包括的点的位置直接进行编码。根据实施方式的直接编码点的坐标被称为直接编码模式(DCM)。根据实施方式的点云视频编码器还可以基于表面模型来执行trisoup几何编码,以基于体素来重构特定区域(或节点)中的点的位置。trisoup几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云视频解码器可以从网格表面生成点云。可以选择性执行根据实施方式的trisoup几何编码和直接编码。另外,可以结合八叉树几何编码(或八叉树编码)来执行根据实施方式的trisoup几何编码和直接编码。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。将被应用直接编码的节点不是叶节点,并且在特定节点内应该存在少于阈值的点。另外,将应用直接编码的点的总数不应超过预设阈值。当满足以上条件时,根据实施方式的点云视频编码器(或算术编码器40004)可以对点的位置(或位置值)执行熵编码。
根据实施方式的点云视频编码器(例如,表面近似分析单元40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型来执行trisoup几何编码,以基于体素来重构节点的区域中的点的位置(trisoup模式)。根据实施方式的点云视频编码器可以指定将应用trisoup几何编码的级别。例如,当特定级别等于八叉树的深度时,点云视频编码器不在trisoup模式下操作。换句话说,根据实施方式的点云视频编码器可以仅在所指定的级别小于八叉树的深度值时才在trisoup模式下操作。根据实施方式的所指定级别处的节点的3D立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于砖。几何结构被表示为每个块内的表面。根据实施方式的表面可以与块的每个边缘最多相交一次。
一个块有12个边缘,因此在一个块中至少存在12个交点。每个交点被称为顶点(或顶端点)。当在共享边缘的所有块当中至少存在一个与该边缘相邻的被占用体素时,检测到沿该边缘存在的顶点。根据实施方式的被占用体素是指包含点的体素。沿着边缘检测到的顶点的位置是沿着共享该边缘的所有块当中的与该边缘相邻的所有体素的边缘的平均位置。
一旦检测到顶点,根据实施方式的点云视频编码器就可以对边缘的起始点(x,y,z)、边缘的方向矢量(Δx,Δy,Δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用trisoup几何编码时,根据实施方式的点云视频编码器(例如,几何重构单元40005)可以通过执行三角形重构、上采样和体素化处理来生成恢复后的几何结构(重构的几何结构)。
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。根据式2,通过以下操作执行三角形重构处理:①计算每个顶点的质心值,②从每个顶点值减去中心值,以及③估计通过减法而获得的值的平方和。
[式2]
然后,估计和的最小值,并根据具有最小值的轴来执行投影处理。例如,当元素x为最小时,每个顶点相对于块的中心投影到x轴上,并投影到(y,z)平面上。当通过投影到(y,z)平面上而获得的值为(ai,bi)时,通过atan2(bi,ai)估计θ的值,并根据θ的值对顶点进行排序。下面的表1示出了根据顶点的数目来创建三角形的顶点组合。顶点被从1到n地排序。下面的表1示出对于四个顶点,可以根据顶点的组合来构造两个三角形。第一个三角形可以由排序的顶点当中的顶点1、2和3组成,并且第二个三角形可以由排序顶点当中的顶点3、4和1组成。
表1.由按1,…,n排序的顶点形成的三角形[表1]
执行上采样处理,以沿着三角形的边在中间添加点并执行体素化。所添加的点是基于上采样因子和块的宽度产生的。所添加的点被称为细化顶点。根据实施方式的点云视频编码器可以对细化顶点进行体素化。另外,点云视频编码器可以基于体素化位置(或位置值)来执行属性编码。图7例示了根据实施方式的邻居节点模式的示例。为了提高点云视频的压缩效率,根据实施方式的点云视频编码器可以基于上下文自适应算术编码来执行熵编码。
如参考图1至图6描述的,图1的点云内容提供系统或点云视频编码器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描述的,在执行属性编码之前,重构(解压缩)编码后的几何结构。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用trisoup几何编码时,通过三角形重构、上采样和体素化来执行几何重构处理。由于属性取决于几何结构,因此基于重构的几何结构执行属性编码。
点云视频编码器(例如,LOD生成单元40009)可以通过LOD对点进行分类(重新组织或成组)。图8示出了与LOD对应的点云内容。图8中的最左侧图片表示原始点云内容。图8左侧起的第二个图片表示最低LOD中的点的分布,并且图8中的最右侧图片表示最高LOD中的点的分布。也就是说,最低LOD中的点稀疏地分布,并且最高LOD中的点密集地分布。也就是说,随着LOD在由图8底部处指示的箭头所指的方向上上升,点之间的空间(或距离)变窄。
图9例示了根据实施方式的每个LOD的点配置的示例。
如参考图1至图8描述的,点云内容提供系统或点云视频编码器(例如,图1的点云视频编码器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描述的,根据实施方式的点云视频编码器可以选择性或组合地执行基于LOD的预测变换编码、基于LOD的提升变换编码和RAHT变换编码。
根据实施方式的点云视频编码器可以为点生成预测器,以执行基于LOD的预测变换编码来设置每个点的预测属性(或预测属性值)。也就是说,可以针对N个点生成N个预测器。根据实施方式的预测器可以基于每个点的LOD值、与存在于针对每个LOD的设定距离内的邻居点有关的加索引信息以及到邻居点的距离来计算权重(=1/距离)。
根据实施方式的预测属性(或属性值)被设置为通过将每个点的预测器中设置的邻居点的属性(或属性值)(例如,颜色、反射率等)乘以基于到每个邻居点的距离计算出的权重(或权重值)而获得的值的平均值。根据实施方式的点云视频编码器(例如,系数量化单元40011)可以对通过从每个点的属性(即,原始属性值)中减去每个点的预测属性(或属性值)而获得的每个点的残差(可以被称为残差属性、残差属性值、属性预测残差值或预测错误属性值等)进行量化和逆量化。如表2中所示来配置针对发送装置中的残差属性值执行的量化处理。如表3中所示来配置针对接收装置中的残差属性值执行的逆量化处理。
[表2]
int PCCQuantization(int value,int quantStep){ |
if(value>=0){ |
return floor(value/quantStep+1.0/3.0); |
}else{ |
return-floor(-value/quantStep+1.0/3.0); |
} |
} |
[表3]
int PCCInverseQuantization(int value,int quantStep){ |
if(quantStep==0){ |
return value; |
}else{ |
return value*quantStep; |
} |
} |
当每个点的预测器具有邻居点时,根据实施方式的点云视频编码器(例如,算术编码器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变换编码是通过八叉树后向扫描进行的属性帧内编码的示例。根据实施方式的点云视频编码器从体素扫描整个区域,并在每个步骤中重复将体素合并成较大块的合并处理,直至到达根节点。根据实施方式的合并处理仅在被占用节点上执行。合并处理不在空节点上执行。合并处理在空节点正上方的较高模式下执行。
[式3]
[式4]
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可以执行几何解码。根据实施方式的几何解码可以包括直接解码和trisoup几何解码。直接解码和trisoup几何解码被选择性应用。几何解码不限于上述示例,并作为参考图1至图9描述的几何编码的逆处理来执行。
根据实施方式的算术解码器11000基于算术编码对接收到的几何比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
根据实施方式的八叉树合成器11001可以通过从解码后的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用代码来生成八叉树。如参考图1至图9详细描述地配置占用代码。
当应用trisoup几何编码时,根据实施方式的表面近似合成器11002可以基于解码的几何结构和/或所生成的八叉树来合成表面。
根据实施方式的几何重构单元11003可以基于表面和/或解码后的几何结构来重新生成几何结构。如参考图1至图9描述的,直接编码和trisoup几何编码被选择性应用。因此,几何重构单元11003直接导入并添加关于应用了直接编码的点的位置信息。当应用trisoup几何编码时,几何重构单元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、LOD/提升/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可以基于表面模型来执行trisoup几何编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云视频编码器(例如,表面近似分析单元40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
根据实施方式的帧内/帧间编码处理器12005可以对点云数据执行帧内/帧间编码。帧内/帧间编码处理器12005可以执行与参考图7描述的帧内/帧间编码相同或类似的编码。细节与参考图7描述的细节相同。根据实施方式,帧内/帧间编码处理器12005可以被包括在算术编码器12006中。
根据实施方式的算术编码器12006对点云数据的八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。算术编码器12006执行与算术编码器40004的操作和/或方法相同或类似的操作和/或方法。
根据实施方式的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供到诸如几何编码和/或属性编码这样的必要处理过程。另外,根据实施方式的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码相关的信令信息。可以与几何编码和/或属性编码分开地对根据实施方式的信令信息进行编码。可以对根据实施方式的信令信息进行交织。
颜色变换处理器12008、属性变换处理器12009、LOD/提升/RAHT变换处理器12010和算术编码器12011执行属性编码。根据实施方式的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
根据实施方式的颜色变换处理器12008执行颜色变换编码,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何结构来执行颜色变换编码。重构的几何结构与参考图1至图9描述的相同。另外,它执行与参考图4描述的颜色变换单元40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
根据实施方式的属性变换处理器12009执行属性变换,以基于重构的几何结构和/或未被执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换单元40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施方式的LOD/提升/RAHT变换处理器12010可以通过RAHT编码、预测变换编码和提升变换编码中的任一种或其组合对变换后的属性进行编码。LOD/提升/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、LOD/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施方式的用于解码的每个元件可以执行根据实施方式的用于编码的对应元件的操作的逆处理。
根据实施方式的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
根据实施方式的接收处理器13001可以从接收到的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可以执行几何解码。根据实施方式的几何解码与参考图1至图10描述的几何解码相同或类似,因此省略对其的详细描述。
根据实施方式的算术解码器13002可以基于算术编码对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编码相同或类似的操作和/或编码。
根据实施方式的基于占用代码的八叉树重构处理器13003可以通过从解码后的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用代码来重构八叉树。基于占用代码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用trisoup几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行trisoup几何解码和相关的几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器13004执行与表面近似合成器11002和/或几何重构单元11003的操作相同或类似的操作。
根据实施方式的逆量化处理器13005可以对解码后的几何结构进行逆量化。
根据实施方式的元数据解析器13006可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器13006可以传递元数据以进行几何解码和/或属性解码。元数据与参考图12描述的元数据相同,因此省略对其的详细描述。
算术解码器13007、逆量化处理器13008、LOD/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,因此省略对其的详细描述。
根据实施方式的算术解码器13007可以通过算术编码对属性比特流进行解码。算术解码器13007可以基于重构的几何结构对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或代码化相同或类似的操作和/或代码化。
根据实施方式的逆量化处理器13008可以对解码后的属性比特流进行逆量化。逆量化处理器13008执行与逆量化单元11006的操作和/或逆量化方法相同或相似的操作和/或方法。
根据实施方式的LOD/提升/RAHT逆变换器13009可以处理重构的几何结构和逆量化后的属性。预测/提升/RAHT逆变换处理器1301执行与RAHT变换器11007、LOD生成单元11008和/或逆提升器11009的操作和/或解码相同或类似的操作和/或解码中的一个或更多个。根据实施方式的颜色逆变换处理器13010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。颜色逆变换处理器13010执行与逆颜色变换单元11010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。根据实施方式的渲染器13011可以渲染点云数据。
图14示出了根据实施方式的与用于发送和接收点云数据的方法/装置可操作地可连接的示例性结构。
图14的结构表示其中服务器17600、机器人17100、自动驾驶车辆17200、XR装置17300、智能电话17400、家用电器17500和/或头戴式显示器(HMD)17700中的至少一个连接到云网络17100的配置。机器人17100、自动驾驶车辆17200、XR装置17300、智能电话17400或家用电器17500被称为装置。另外,XR装置17300可以对应于根据实施方式的点云压缩数据(PCC)装置,或可以可操作地连接到PCC装置。
云网络17000可以表示构成云计算基础设施的一部分或存在于云计算基础设施中的网络。这里,可以使用3G网络、4G或长期演进(LTE)网络或5G网络配置云网络17000。
服务器17600可以通过云网络17000连接到机器人17100、自动驾驶车辆17200、XR装置17300、智能电话17400、家用电器17500和/或HMD 17700中的至少一个,并可以辅助连接的装置17100至17700的处理中的至少一部分。
HMD 17700表示根据实施方式的XR装置和/或PCC装置的实现方式类型中的一种。根据实施方式的HMD型装置包括通信单元、控制单元、存储器、I/O单元、传感器单元和电源单元。
下文中,将描述应用了上述技术的装置17100至17500的各种实施方式。根据上述实施方式,图14中例示的装置17100至17500可以可操作地连接/耦合到点云数据发送装置和接收器。
<PCC+XR>
XR/PCC装置17300可以采用PCC技术和/或XR(AR+VR)技术,并可以被实现为HMD、设置在车辆中的平视显示器(HUD)、电视机、移动电话、智能电话、计算机、可穿戴装置、家用电器、数字标牌、车辆、静止机器人或移动机器人。
XR/PCC装置17300可以分析通过各种传感器或从外部装置获取的3D点云数据或图像数据,并生成关于3D点的位置数据和属性数据。由此,XR/PCC装置17300可以获取关于周围空间或真实对象的信息,并渲染和输出XR对象。例如,XR/PCC装置17300可以将包括关于识别到的对象的辅助信息的XR对象与识别到的对象匹配,并输出相匹配的XR对象。
<PCC+自动驾驶+XR>
自动驾驶车辆17200可以通过应用PCC技术和XR技术被实现为移动机器人、车辆、无人驾驶飞行器等。
应用XR/PCC技术的自动驾驶车辆17200可以表示设置有用于提供XR图像的装置的自动驾驶车辆或作为XR图像中的控制/交互目标的自动驾驶车辆。具体地,作为XR图像中的控制/交互目标的自动驾驶车辆17200可以与XR装置17300区分开,并可以可操作地连接到XR装置1730。
具有用于提供XR/PCC图像的装置的自动驾驶车辆17200可以从包括相机的传感器获取传感器信息,并基于所获取的传感器信息输出生成的XR/PCC图像。例如,自动驾驶车辆17200可以具有HUD并向其输出XR/PCC图像,由此向乘员提供与真实对象或屏幕上存在的对象相对应的XR/PCC对象。
当XR/PCC对象被输出到HUD时,可以输出XR/PCC对象的至少一部分以与乘员眼睛所指向的真实对象交叠。另一方面,当XR/PCC对象被输出到设置在自动驾驶车辆内部的显示器上时,可以输出XR/PCC对象的至少一部分以与屏幕上的对象交叠。例如,自动驾驶车辆17200可以输出与诸如道路、另一车辆、交通信号灯、交通标牌、两轮车、行人和建筑物这样的对象相对应的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服务相关的内容数据,并将其提供给用户。根据实施方式的车辆或用户接口装置可以接收用户输入信号。根据实施方式的用户输入信号可以包括指示自动驾驶服务的信号。
此外,发送方的点云视频编码器还可以在对点云数据进行编码之前执行将点云数据空间分割(或划分)为一个或更多个3D块的空间分割处理。即,为了实时地执行并以低等待时间处理发送装置的编码和发送操作以及接收装置的解码和渲染操作,发送装置可以将点云数据空间分割为多个区域。另外,发送装置可以独立地或非独立地对空间分割的区域(或块)进行编码,由此实现点云数据占据的三维空间中的随机接入和并行编码。另外,发送装置和接收装置可以针对每个空间分割的区域(或块)独立地或非独立地执行编码和解码,由此防止在编码处理和解码处理中累积误差。
图15是例示了包括空间分割器的根据实施方式的点云发送装置的另一示例的示图。
根据实施方式的点云发送装置可以包括数据输入单元51001、坐标变换单元51002、量化处理器51003、空间分割器51004、信令处理器51005、几何编码器51006、属性编码器51007和发送处理器51008。根据实施方式,坐标变换单元51002、量化处理器51003、空间分割器51004、几何编码器51006和属性编码器51007可以被称为点云视频编码器。
数据输入单元51001可以执行图1的点云视频获取单元10001的一些或全部操作,或者可以执行图12的数据输入单元12000的一些或全部操作。坐标变换单元51002可以执行图4的坐标变换单元40000的一些或全部操作。另外,量化处理器51003可以执行图4的量化单元40001的一些或全部操作,或者可以执行图12的量化处理器12001的一些或全部操作。
空间分割器51004可以基于边界框和/或子边界框,将量化后并从量化处理器51003输出的点云数据空间分割为一个或更多个3D块。这里,3D块可以是指图块组、图块、切片、编码单元(CU)、预测单元(PU)或变换单元(TU)。在一个实施方式中,用于空间分割的信令信息由信令处理器51005进行熵编码,然后以比特流的形式通过发送处理器51008发送。
图16的(a)至图16的(c)例示了将边界框分割为一个或更多个图块的实施方式。如图16的(a)中所示,对应于点云数据的点云对象可以以基于坐标系的框的形式来表示,该框被称为边界框。换句话说,边界框表示能够包含点云中的所有点的立方体。
图16的(b)和图16的(c)例示了其中图16的(a)的边界框被分割为图块1#和图块2#并且图块2#再次被分割为切片1#和切片2#的示例。
在一个实施方式中,点云内容可以是诸如演员这样的一个人、多个人、一个对象或多个对象。在更大的范围内,它可以是用于自主驾驶的地图或用于机器人的室内导航的地图。在这种情况下,点云内容可以是大量本地连接的数据。在这种情况下,不能一次性对点云内容进行编码/解码,因此可以在压缩点云内容之前执行图块分割。例如,建筑物中的房间#101可以被分割为一个图块,并且建筑物中的房间#102可以被分割为另一图块。为了通过向分割的图块应用并行化来支持快速编码/解码,图块可以再次被分割(或分裂)为切片。该操作可以被称为切片分割(或分裂)。
即,根据实施方式,图块可以表示点云数据占据的3D空间的部分区域(例如,矩形立方体)。根据实施方式,图块可以包括一个或更多个切片。根据实施方式的图块可以被分割为一个或更多个切片,因此点云视频编码器可以并行地对点云数据进行编码。
切片可以表示可以由根据实施方式的点云视频编码器独立编码的数据(或比特流)的单元和/或可以由点云视频解码器独立解码的数据(或比特流)的单元。切片可以是点云数据所占据的3D空间中的数据的集合或点云数据当中的一些数据的集合。根据实施方式的切片可以表示根据实施方式的图块中所包括的点的集合或区域。根据实施方式,图块可以基于一个图块中所包括的点的数量被分割为一个或更多个切片。例如,一个图块可以是按点的数量分割的点的集合。根据实施方式,可以基于点的数量将图块分割为一个或更多个切片,并且可以在分割处理中分裂或合并一些数据。即,切片可以是可以在相应图块内独立编码的单元。以这种方式,通过空间分割而获得的图块被分割为一个或更多个切片,以用于快速和高效的处理。
根据实施方式的点云视频编码器可以逐切片地或逐图块地对点云数据进行编码,其中,图块包括一个或更多个切片。另外,根据实施方式的点云视频编码器可以对每个图块或每个切片执行不同的量化和/或变换。
由空间分割器51004在空间上分割的一个或更多个3D块(例如,切片)的位置被输出到几何编码器51006,并且属性信息(或属性)被输出到属性编码器51007。位置可以是关于分割单元(框、块、图块、图块组或切片)中所包括的点的位置信息,并被称为几何信息。
几何编码器51006基于从空间分割器51004输出的位置来构造和编码(即,压缩)八叉树,以输出几何比特流。几何编码器51006可以重构八叉树和/或近似八叉树,并将其输出到属性编码器51007。重构的八叉树可以被称为重构的几何(恢复的几何)。
属性编码器51007基于从几何编码器51006输出的重构的几何对从空间分割器51004输出的属性进行编码(即,压缩),并输出属性比特流。
图17是例示了根据实施方式的几何编码器51006和属性编码器51007的另一示例的详细框图。
图17的几何编码器51006的体素化处理器53001、八叉树生成器53002、几何信息预测器53003和算术编码器53004可以执行图4的八叉树分析单元40002、表面近似分析单元40003、算术编码器40004和几何重构单元40005的一些或全部操作,或者可以执行图12的体素化处理器12002、八叉树占用代码发生器12003和表面模型处理器12004、帧内/帧间编码处理器12005和算术编码器12006的一些或全部操作。
图17的属性编码器51007可以包括颜色变换处理器53005、属性变换处理器53006、LOD配置单元53007、邻近点组配置单元53008、属性信息预测单元53009、残差属性信息量化处理器53010和算术编码器53011。
在实施方式中,在空间分割器51004和体素化处理器53001之间还可以设置量化处理器。量化处理器对由空间分割器51004空间分割的一个或更多个3D块(例如,切片)的位置进行量化。在这种情况下,量化处理器可以执行图4的量化单元40001的一些或全部操作,或者执行图12的量化处理器12001的一些或全部操作。当在空间分割器51004和体素化处理器53001之间还设置量化处理器时,可以省略或者可以不省略图15的量化处理器51003。
根据实施方式的体素化处理器53001基于一个或更多个空间分割的3D块(例如,切片)的位置或其量化位置来执行体素化。体素化是指用于在3D空间中表示位置信息的最小化单元。根据实施方式的点云内容(或3D点云视频)的点可以被包括在一个或更多个体素中。根据实施方式,一个体素可以包括一个或更多个点。在实施方式中,在执行体素化之前执行量化的情况下,多个点可以属于一个体素。
在本说明书中,当一个体素中包括两个或更多个点时,这两个或更多个点被称为重复点。即,在几何编码处理中,可以通过几何量化和体素化来产生重叠点。
根据实施方式的体素化处理器53001可以将属于一个体素的重复点输出到八叉树生成器53002而不合并它们,或者可以将多个点合并成一个点并将合并后的点输出到八叉树生成器53002。
根据实施方式的八叉树生成器53002基于从体素化处理器53001输出的体素来生成八叉树。
根据实施方式的几何信息预测器53003基于由八叉树生成器53002生成的八叉树来预测和压缩几何信息,并将预测和压缩后的信息输出到算术编码器53004。另外,几何信息预测器53003基于通过压缩改变的位置来重构几何,并将重构(或解码后)的几何输出到属性编码器51007的LOD配置单元53007。几何信息的重构可以在与几何信息预测器53003分开的装置或部件中执行。在另一实施方式中,重构的几何还可以被提供到属性编码器51007的属性变换处理器53006。
属性编码器51007的颜色变换处理器53005对应于图4的颜色变换单元40006或图12的颜色变换处理器12008。根据实施方式的颜色变换处理器53005执行变换从数据输入单元51001和/或空间分割器51004提供的属性中所包括的颜色值(或纹理)的颜色变换编码。例如,颜色变换处理器53005可以变换颜色信息的格式(例如,从RGB到YCbCr)。可以根据属性中所包括的颜色值可选地应用根据实施方式的颜色变换处理器53005的操作。在另一实施方式中,颜色变换处理器53005可以基于重构的几何来执行颜色变换编码。对于几何重构的细节,参考对图1至图9的描述。
根据实施方式的属性变换处理器53006可以基于尚未被执行几何编码的位置和/或重构的几何来执行变换属性的属性变换。
属性变换处理器53006可以被称为重新着色单元。
可以根据重复点是否被合并来可选地应用根据实施方式的属性变换处理器53006的操作。根据实施方式,重复点的合并可以由几何编码器51006的体素化处理器53001或八叉树生成器53002执行。
在本说明书中,当属于一个体素的点在体素化处理器53001或八叉树生成器53002中被合并为一个点时,属性变换处理器53006执行属性变换。举个例子。
属性变换处理器53006执行与图4的属性变换单元40007或图12的属性变换处理器12009的操作和/或方法相同或类似的操作和/或方法。
根据实施方式,由几何信息预测器53003重构的几何信息和从属性变换处理器53006输出的属性信息被提供到LOD配置单元53007以用于属性压缩。
根据实施方式,可以基于重构的几何信息通过RAHT编码、基于LOD的预测变换编码和提升变换编码中的一种或两种或更多种的组合来压缩从属性变换处理器53006输出的属性信息。
下文中,作为实施方式,假定通过基于LOD的预测变换编码和提升变换编码中的一种或其组合来执行属性压缩。因此,将省略对RAHT编码的描述。对于RAHT变换编码的细节,参考对图1至图9的描述。
根据实施方式的LOD配置单元53007生成细节层次(LOD)。
LOD是表示点云内容的细节度的程度。随着LOD值的减小,表明点云内容的细节度下降。随着LOD值的增大,表明点云内容的细节度增强。重构几何的点(即,重构位置)可以根据LOD来归类。
在实施方式中,在预测变换编码和提升变换编码中,点可以被划分为LOD并被分组。
该操作可以被称为LOD生成处理,并且具有不同LOD的组可以被称为LODl集合。这里,l表示LOD并且是从0开始的整数。LOD0是由其间距离最大的点组成的集合。随着l增大,属于LODl的点之间的距离减小。
当LOD值配置单元53007生成LODl集合时,根据实施方式的邻近点集合配置单元53008可以基于LODl集合在具有相同或更低LOD(即,节点之间的距离大)的组中找到X(>0)个最近邻近(NN)点,并在预测器中将其登记为邻近集合。X是可以被设置为邻近点的点的最大数目。X可以被作为用户参数输入(也被称为编码器选项),或者通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_num_pred_nearest_neighbours字段)。
参考图9作为示例,在LOD0和LOD1中找到属于LOD1的P3的邻近点。例如,当可以被设置为邻近点的点的最大数目(X)为3时,P3的三个最近邻近节点可以是P2、P4、P6。这三个节点在P3的预测器中被登记为邻近集合。在实施方式中,在已登记节点当中,邻近节点P4在距离方面最靠近P3,然后P6是下一个最近的节点,并且P2是三个节点当中最远的节点。这里,X=3仅仅是被配置为提供对本公开的理解的实施方式。X的值可以不同。
如上所述,点云数据的所有点可以分别具有预测器。
根据实施方式的属性信息预测单元53009从登记在预测器中的邻近点预测属性值,并基于预测的属性值来获得对应点的残差属性值。残差属性值被输出到残差属性信息量化处理器53010。
接下来,将详细描述LOD生成和邻近点搜索。
如上所述,对于属性压缩,属性编码器执行基于重构几何的点来生成LOD并基于所生成的LOD来搜索待编码点的最近邻近点的处理。根据实施方式,甚至接收装置的属性解码器也执行生成LOD并基于所生成的LOD来搜索待解码点的最近邻近点的处理。
根据实施方式,LOD配置单元53007可以使用一个或更多个LOD生成方法(或LOD配置方法)来配置一个或更多个LOD。
根据实施方式,在LOD配置单元53007中使用的LOD生成方法可以作为用户参数输入,或者可以通过信令处理器51005在信令信息中发信号通知。例如,LOD生成方法可以在APS中发信号通知。
根据实施方式,LOD生成方法可以分为基于八叉树的LOD生成方法、基于距离的LOD生成方法和基于采样的LOD生成方法。
图18是例示了根据实施方式的基于八叉树来生成LOD的示例的示图。
根据实施方式,当基于八叉树来生成LOD时,八叉树的每个深度级别可以与每个LOD匹配,如图18中例示的。即,基于八叉树的LOD生成方法是使用以下特征生成LOD的方法:表示点云数据的细节随着八叉树结构中深度级别的增加(即,从根到叶的方向)逐渐增加。根据实施方式,可以从根节点到叶节点或者相反地从叶节点到根节点地执行基于八叉树的LOD配置。
根据实施方式的基于距离的LOD生成方法是使按莫顿码排列点并基于点之间的距离来生成LOD的方法。
根据实施方式的基于采样的LOD生成方法是使按莫顿码排列点并将每个第k点归类为可以作为邻近点集合的候选的较低LOD的方法。即,在采样期间,可以选择每个第k点并将其归类为属于LOD0至LODl-1的较低候选集合,并且剩余点可以被登记在LODl集合中。即,所选择的点成为候选组,该候选组可以被选择为登记在LODl集合中的点的邻近点集合。k可以根据点云内容而不同。这里,点可以是所捕获点云的点或所重构几何的点。
在本公开中,基于LODl集合与LOD0至LODl-1对应的较低候选集合将被称为保留集合或LOD保留集合。LOD0是由其间距离最大的点组成的集合。随着l增大,属于LODl的点之间的距离减小。
根据实施方式,LODl集合中的点也基于莫顿码顺序来排列。另外,LOD0至LODl-1集合中的每一个中所包括的点也基于莫顿码顺序来排列。
图19是例示了根据实施方式的按莫顿码顺序排列点云的点的示例的示图。
即,基于点云的每个点的x、y和z位置值来生成每个点的莫顿码。当通过该处理生成点云的点的莫顿码时,点云的点可以按莫顿码顺序排列。根据实施方式,点云的点可以按莫顿码的升序排列。按莫顿码的升序排列的点的顺序可以被称为莫顿顺序。
根据实施方式的LOD配置单元53007可以通过对按莫顿顺序排列的点执行采样来生成LOD。
LOD配置单元53007通过应用基于八叉树的LOD生成方法、基于距离的LOD生成方法或基于采样的LOD生成方法中的至少一者来生成LODl集合,邻近点集合配置单元53008可以基于LODl集合来搜索具有相同或更低LOD(即,节点之间的距离大)的组中的X(>0)个最近邻近(NN)点,并将X个NN点作为邻近点集合登记在预测器中。
在这种情况下,由于为了配置邻近点集合而消耗大量时间来搜索所有点,因此提供了在仅包括部分点的邻近点搜索范围内搜索邻近点的实施方式。搜索范围是指点的数目,并可以是128、256或另一值。根据实施方式,关于搜索范围的信息可以设置在邻近点集合配置单元53008中,或者可以作为用户参数输入。另选地,关于搜索范围的信息可以通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_search_range字段)。
图20是例示了根据实施方式的基于LOD来在搜索范围中搜索邻近点的示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
在图20中,在实施方式中,索引列表包括待编码点所属的LOD集合(即,LODl)并且保留列表包括基于LODl集合的至少一个较低LOD集合(例如,LOD0至LODl-1)。
根据实施方式,索引列表的点基于莫顿码的大小按升序排列,并且保留列表的点也基于莫顿码的大小按升序排列。因此,索引列表和保留列表中按莫顿顺序排列的点中的最前面的点具有最小的莫顿码大小。
根据实施方式的邻近点集合配置单元53008可以在属于LOD0至LODl-1集合的点和/或属于LODl集合的点当中,搜索按顺序位于点Px之前的点(即,具有小于或等于点Px的莫顿码的莫顿码的点)当中的具有与点Px的莫顿码最接近的莫顿码的点,以便生成属于LODl集合的点Px(即,待编码点或当前点)的邻近点集合。在本公开中,被搜索的点将被称为Pi或中心点。
根据实施方式,当搜索中心点Pi时,邻近点集合配置单元53008可以在位于点Px之前的所有点当中搜索具有与点Px的莫顿码最接近的莫顿码的点Pi,或者在搜索范围内的点当中搜索具有与点Px的莫顿码最接近的莫顿码的点Pi。在本公开中,搜索范围可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入。另外,关于搜索范围的信息可以通过信令处理器51005在信令信息中发信号通知。本公开提供了当LOD的数目为多个时在保留列表中搜索中心点Pi以及当LOD的数目为1时在索引列表中搜索中心点Pi的实施方式。例如,当LOD的数目为1时,可以基于当前点在按莫顿码排列的列表中的位置来确定搜索范围。
根据实施方式的邻近点集合配置单元53008比较点Px与位于被搜索的(或所选择的)中心点Pi之前(即,在图20中的中心点左侧)和被搜索的(或所选择的)中心点Pi之后(即,在图20中的中心点右侧)的属于邻近点搜索范围的点之间的距离值。邻近点集合配置单元53008可以将X(例如,3)个NN点登记为邻近点集合。在实施方式中,邻近点搜索范围是点的数目。根据实施方式的邻近点搜索范围可以包括按莫顿顺序位于中心点Pi之前(即,前面)和/或之后(即,后面)的一个或更多个点。X是可以被登记为邻近点的点的最大数目。
根据实施方式,关于邻近点搜索范围的信息和关于可以被登记为邻近点的点的最大数目X的信息可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_search_range字段和lifting_num_pred_nearest_neighbours字段)。根据实施方式,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将所得值与中心点相加而获得的值(即,(lifting_search_range字段的值×2)+中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值+中心点)或lifting_search_range字段的值。本公开提供了当LOD的数目为多个时在保留列表中搜索点Px的邻近点以及当LOD的数目为1时在索引列表中搜索点Px的邻近点的实施方式。
例如,如果LOD的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点Pi、中心点Pi之前的128个点以及中心点Pi之后的128个点。作为另一示例,如果LOD的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点Pi以及中心点Pi之前的128个点。作为另一示例,如果LOD的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点Px之前的128个点。
根据实施方式,邻近点集合配置单元53008可以比较实际搜索范围内的点与点Px之间的距离值,并将X个NN点登记为点Px的邻近点集合。
另一方面,根据从其捕获了内容的对象、捕获方案或用于捕获内容的设备,内容的属性特征可以显得不同。
图21的(a)和图21的(b)是例示了根据实施方式的点云内容的示例的示图。
图21的(a)是通过用3D扫描仪捕获对象而获得的密集点云数据的示例,并且对象的属性之间的相关性可能高。然而,如图21的(a)中所示,即使当点云数据由一个对象构成时,点云数据的点的密度也可以影响基于邻近点执行的预测的相似度。
图21的(b)例示了通过用LiDAR装置捕获广区域而获得的稀疏点云数据的示例,并且点之间的属性相关性可能低。密集点云数据的示例可以是静止图像,并且稀疏点云数据的示例可以是无人机或自主车辆。如图21的(b)中所示,当点云数据由多个对象构成时,特别是当用实时LiDAR捕获大区域时,所捕获的点云数据的点的密度低。相应地,邻近点的相似度可能低,这可以使压缩效率降低。
以这种方式,根据从其捕获了内容的对象、捕获方案或用于捕获内容的设备,内容的属性特征可以显得不同。如果在不考虑不同的属性特征的情况下对属性进行编码时执行邻近点搜索以配置邻近点集合,则对应点与所登记邻近点之间的距离可能不都是相邻的。例如,当在比较点Px与中心点Pi之前和之后的属于邻近点搜索范围的点之间的距离值之后X(例如,3)个NN点被登记为邻近点集合时,X个登记邻近点中的至少一个可能远离点Px。换句话说,X个登记邻近点中的至少一个可能不是点Px的实际邻近点。
与在密集点云数据中相比,该现象更可能发生在稀疏点云数据中。例如,如图21的(a)中例示的,如果在内容中存在一个对象,这个对象具有颜色连续性/相似性并且被密集捕获,并且所捕获的区域小,则即使点与邻近点相隔有点远时,也可能存在点之间具有高属性相关性的内容。相反地,如图21的(b)中例示的,如果用LiDAR装置稀疏地捕获相当广的区域,则仅当到邻近点的距离在特定范围内时,才可能存在具有颜色相关性的内容。因此,当如图21的(b)中例示地对稀疏点云数据的属性进行编码时,通过邻近点搜索登记的一些邻近点可能不是待编码点的实际邻近点。
在生成LOD时,当点按莫顿顺序排列时,这种现象的发生概率高。即,尽管莫顿顺序快速排列邻近点,但由于莫顿码的锯齿形扫描特征,导致出现跳跃段(即,图19中的断续长线),接着点的位置会大大改变。在这种情况下,通过搜索范围内的邻近点搜索登记的一些邻近点可能不是待编码点的实际NN点。
图22的(a)和图22的(b)是例示了根据实施方式的属于邻近点集合的点的平均距离、最小距离和最大距离的示例的示图。
图22的(a)例示了称为FORD的内容的第100帧的示例,并且图22的(b)例示了称为QNX的内容的第一帧的示例。
图22的(a)和图22的(b)是有助于本领域技术人员理解的示例性实施方式。图22的(a)和图22的(b)可以是相同内容的不同帧或不同内容的特定帧。
为了方便说明,图22的(a)中例示的帧被称为第一帧,并且图22的(b)中例示的帧被称为第二帧。
在图22的(a)的第一帧中,点的总数为80265,有4个点中登记了仅一个NN点,有60个点中登记了2个NN点,并且有80201个点中登记了3个NN点。即,可以被登记为NN点的点的最大数目为3,但取决于帧中点的位置,可以是1或2。
在图22的(b)的第二帧中,点的总数为31279个,有3496个点中登记了仅一个NN点,有219个点中登记了2个NN点,并且有27564个点中登记了3个NN点。
在图22的(a)的第一帧和图22的(b)的第二帧中,NN1是NN点,NN2是下一NN点,并且NN3是第三NN点。图22的(a)的第一帧中NN2的最大距离为1407616个并且NN3的最大距离为1892992,而图22的(b)的第二帧中NN2的最大距离为116007040并且NN3的最大距离为310887696。
即,可以理解,根据内容或帧,在距离上存在相当大的差异。因此,登记的邻近点中的一些可能不是实际的邻近点。
这样,如果待编码点与登记的邻近点之间的距离差变大,则这两个点之间的属性差有可能大。另外,当基于包括这些邻近点的邻近点集合执行预测并且获得残差属性值时,残差属性值可能增加,从而导致比特流大小增加。
换句话说,内容或帧的特征可能对用于属性预测的邻近点集合的配置有影响,并且这可能影响属性的压缩效率。
因此,在本公开中,当配置邻近点集合以便对点云内容的属性进行编码时,考虑内容的点之间的属性相关性来选择邻近点,使得无意义的点不被选择为邻近点集合。然后,由于残差属性值减小并由此比特流大小减小,因此提高了属性的压缩效率。换句话说,本公开使用考虑内容的点之间的属性相关性来限制可以被选择为邻近点集合的点的方法来提高属性的压缩效率。
本公开提供了在点云内容的属性编码处理中配置邻近点集合时应用邻近点的最大距离(也称为最大NN距离)以便考虑内容的点之间的属性相关性的实施方式。
本公开提供了在对点云内容的属性进行编码时通过应用搜索范围和/或最大NN距离来配置邻近点集合的实施方式。
根据实施方式,用于选择最近邻居的点之间的距离小于或等于最大邻近点距离(也称为最大最近邻距离)。
例如,作为比较点Px与在中心点Pi之前和之后的属于邻近点搜索范围的点之间的距离值的结果,X(例如,3)个NN点当中的比最大NN距离更远的点不被登记在点Px的邻近点集合中。换句话说,作为比较点Px与在中心点Pi之前和之后的属于邻近点搜索范围的点之间的距离值的结果,X(例如,3)个NN点当中仅最大NN距离内的点被登记在点Px的邻近点集合中。例如,如果具有最近距离的三个点之一比最大NN距离远,则可以排除更远的点,并且仅剩下的两个点可以被登记在点Px的邻近点集合中。
根据实施方式的邻近点集合配置单元53008可以根据内容的属性特征应用最大NN距离,以便不管内容的属性特征如何都实现属性的最佳压缩效率。这里,可以根据LOD生成方法(基于八叉树、基于距离或基于采样的LOD生成方法)不同地计算最大NN距离。即,可以对每个LOD不同地应用最大NN距离。
在本公开中,最大NN距离与邻近点的最大距离或最大邻近点距离可互换地使用。换句话说,在本公开中,最大NN距离、邻近点的最大距离和最大邻近点距离具有相同的含义。
在本公开中,最大NN距离可以通过将基本邻近点距离(称为基本距离或基准距离)乘以NN_range来获得,如下式5中例示的。
[式5]
最大邻近点距离=基本邻近点距离*NN_range
在式5中,NN_range是可以在其内选择邻近点的范围,并可以被称为可以在其内选择邻近点的最大范围、最大邻近点范围、邻近点范围或最近邻范围。
根据实施方式的邻近点集合配置单元53008可以根据内容的特性来自动或人工地设置NN_range,或者通过作为用户参数(也被称为编码器选项)的输入来设置NN_range。另外,与NN_range相关的信息可以通过信令处理器51005在信令信息中发信号通知。包括与NN_range相关的信息的信令信息可以是SPS、APS、图块参数集合或属性切片头中的至少一个。
当自动地计算NN_range时,接收装置的属性解码器也可以自动地计算NN_range,并将其应用于邻近点搜索。
当在信令信息中发信号通知与NN_range相关的信息时,接收装置的属性解码器可以基于信令信息来计算最大邻近点距离。在这种情况下,可以重构在属性编码中的属性预测中使用的邻近点,并将其应用于属性解码。
根据实施方式,邻近点集合配置单元53008可以通过组合基于八叉树的方法、基于距离的方法、基于采样的方法、针对每个LOD的莫顿码的基于平均差的方法以及针对每个LOD的基于平均距离差的方案中的一个或更多个来计算/配置基本邻近点距离。根据实施方式,可以通过信令处理器51005在信令信息(例如,SPS、APS、TPS或属性切片头中的至少一个)中发信号通知计算/配置基本邻近点距离和/或基本邻近点距离信息的方法。
接下来,将描述在基于八叉树生成LOD时获取基本邻近点距离和最大邻近点距离的实施方式。
如图18中例示的,当LOD配置单元53007生成基于八叉树的LOD时,八叉树的每个深度级别可以与每个LOD匹配。
根据实施方式的邻近点集合配置单元53008可以以基于八叉树的LOD为基础来获得最大邻近点距离。
根据实施方式,当LOD配置单元53007生成基于八叉树的LOD时,可以支持空间可伸缩性。利用空间可伸缩性,当源点云密集时,可以访问较低分辨率点云,如同具有较低解码器复杂度和/或较小带宽的缩略图。例如,几何的空间可伸缩性功能可以由在几何的编码/解码期间通过调整八叉树的深度级别来仅将占用比特编码或解码直至所选择深度级别的处理提供。另外,即使在属性的编码/解码期间,属性的空间可伸缩性功能也可以由从八叉树的所选深度级别生成LOD并配置将对其执行属性的编码/解码的点的处理来提供。
根据实施方式,为了空间可伸缩性,LOD配置单元53007可以生成基于八叉树的LOD,并且邻近点集合配置单元53008可以基于所生成的基于八叉树的LOD来执行邻近点搜索。
当根据实施方式的邻近点集合配置单元53008基于属于当前基于八叉树生成的LOD的点搜索先前LOD中的邻近点时,最大邻近点距离可以通过将基本邻近点距离(称为基本距离或基准距离)乘以NN_range(即,基本邻近点距离×NN_range)来获得。
根据实施方式,特定的基于八叉树生成的LOD中的一个节点的最大距离(即,对角线距离)可以被定义为基本距离(或基本邻近点距离)。
根据实施方式,当基于属于当前LOD(例如,索引列表中的LODl集合)的点来搜索先前LOD(例如,保留列表中的LOD0至LODl-1)中的邻近点时,当前LOD的八叉树节点的较高节点(父节点)的对角线距离可以是用于获取最大邻近点距离的基本距离。
根据实施方式,可以如下式6中地获得作为特定LOD处的一个节点的对角线距离(即,最大距离)的基本距离。
[式6]
根据另一实施方式,可以如下式7中示出地基于L2来获得作为特定LOD处的一个节点的对角线距离(即,最大距离)的基本距离。
[式7]
通常,当计算两点之间的距离时,使用曼哈顿距离计算方法或欧几里德距离计算方法。曼哈顿距离将被称为L1距离并且欧几里德距离将被称为L2距离。可以使用欧几里德距离定义欧几里德空间,并且与该距离对应的范数将被称为欧几里德范数或L2范数。范数是测量向量的长度或大小的方法(函数)。
图24的(a)和图24的(b)例示了可以被选择作为每个LOD处的邻近点的最大范围(NN_range)的示例。更具体地,图24的(a)例示了当在LOD0处NN_range为1时的示例,并且图24的(b)例示了当在LOD0处NN_range为3时的示例。根据实施方式,NN_range可以根据内容的特性来自动或人工地设置,或者可以通过作为用户参数输入来设置。与NN_range相关的信息可以在信令信息中发信号通知。包括与NN_range相关的信息的信令信息可以是SPS、APS、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的范围NN_range可以被设置为任意值(例如,基本距离的倍数),而不管八叉树节点范围如何。
根据实施方式,当图24的(a)的示例应用于式5和式7时,最大邻近点距离变为3(=3*1),并且当图24的(b)的示例应用于式5和式7时,最大邻近点距离变为9(=3*3)。
接下来,将描述在生成基于距离的LOD时获取基本邻近点距离和最大邻近点距离的实施方式。
根据实施方式,当配置基于距离的LOD时,基本邻近点距离可以被设置为用于配置当前LOD(即,LODl)处点的距离。即,每个LOD的基本距离可以被设置为应用于LOD的L级别的LOD生成的距离(dist2L)。
图25例示了根据实施方式的属于每个LOD的基本邻近点距离的示例。
因此,当配置基于距离的LOD时,可以通过将基于距离的基本邻近点距离dist2L乘以NN_range来获得最大邻近点距离。
根据实施方式,NN_range可以由邻近点集合配置单元53008根据内容的特征来自动或手动地设置,或者可以通过作为用户参数的输入来设置。关于NN_range的信息可以在信令信息中发信号通知。包括关于NN_range的信息的信令信息可以是SPS、APS、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的NN_range可以被设置为任意值(例如,基本距离的倍数)。根据实施方式,可以根据计算到邻近点的距离的方法来调整NN_Range。
接下来,将描述当生成基于采样的LOD时获取基本邻近点距离和最大邻近点距离的实施方式。
根据实施方式,当生成基于采样(即,基于抽选)的LOD时,可以根据采样率来确定基本距离。根据实施方式,在基于采样的LOD配置方法中,基于点的位置值来生成莫顿码,根据莫顿码来排列点,然后将与根据排列顺序的第k点不对应的点登记在当前LOD中。因此,每个LOD可以具有不同的k并可以被表示为kL。
根据实施方式,当通过对基于莫顿码排列的点应用采样方法来生成LOD时,每个LOD处连续第kL点的平均距离可以被设置为每个LOD处的基本邻近点距离。也就是说,基于莫顿码排列的当前LOD处的连续第kL点的平均距离可以被设置为当前LOD的基本邻近点距离。根据另一实施方式,当通过对基于莫顿码排列的点应用采样方法来生成LOD时,可以从当前LOD级别估计八叉树的深度级别,并且可以将所估计的八叉树深度级别的节点的对角线长度设置为基本邻近点距离。即,可以通过应用上述式6或式7来获得基本邻近点距离。
因此,当配置基于采样的LOD时,可以通过将基于采样的基本邻近点距离乘以NN_range来获得最大邻近点距离。
根据实施方式,NN_range可以由邻近点集合配置单元53008根据内容的特征来自动或手动地设置,或者可以通过作为用户参数的输入来设置。关于NN_range的信息可以在信令信息中发信号通知。包括关于NN_range的信息的信令信息可以是SPS、APS、图块参数集或属性切片头中的至少一个。根据实施方式,可以被设置为邻近点的NN_range可以被设置为任意值(例如,基本距离的倍数)。根据实施方式,可以根据计算到邻近点的距离的方法来调整NN_Range。
在本公开中,可以使用除了上述获取基本邻近点距离的方法之外的方法来获得基本邻近点距离。
例如,当配置LOD时,可以通过计算采样点的莫顿码的平均差来配置基本邻近点距离。另外,可以通过将所配置的基本邻近点距离乘以NN_range来获得最大邻近点距离。
作为另一示例,不管是使用基于距离的方法还是使用基于采样的方法,都可以通过计算当前配置的LOD的平均距离差来配置基本邻近点距离。另外,可以通过将所配置的基本邻近点距离乘以NN_range来获得最大邻近点距离。
作为另一示例,每个LOD的基本邻近点距离可以作为用户参数接收,然后在获取最大邻近点距离时应用。此后,关于接收到的基本邻近点距离的信息可以在信令信息中发信号通知。
如上所述,可以通过根据LOD配置方法应用最佳基本邻近点距离计算方法来获得基本邻近点距离。在另一实施方式中,可以通过选择任意期望方法并将所选方法在信令信息中发信号通知来应用计算基本邻近点距离的方法,以便使用该方法在接收装置的解码器中恢复点。根据实施方式,可以使用适合于点云内容的属性并能够使压缩性能最大化的计算最大邻近点距离的方法。
接下来,将描述自动地计算最大邻近点范围(NN_range)的实施方式。
根据实施方式,获得最大邻近点范围的方法可以根据LOD生成方法而变化。
根据实施方式,邻近点集合配置单元53008可以根据密度自动地计算最大邻近点范围,或者通过根据轴的长度和点的数目推断密度来自动地计算最大邻近点范围。
图26是例示了根据本公开的实施方式的基于密度自动地计算最大邻近点范围的流程图。
首先,扫描点中的一些,以计算每个LOD的基本邻近点距离(操作55001)。这里,根据实施方式,假定每个LOD的基本邻近点距离大于0(>0)。在本公开中,为了简单起见,每个LOD的基本邻近点距离被称为dist20。
根据实施方式,可以根据LOD生成方法不同地获得基本邻近点距离。
例如,当基于八叉树来生成LOD时,特定LOD中的一个节点的对角线距离(即,最大距离)可以被设置为基本邻近点距离(例如,参见式6或式7)。根据实施方式,当存在多个LOD时,当前LOD的八叉树节点的上节点(父节点)的对角线距离可以被设置为基本邻近点距离。
例如,当基于距离来生成LOD时,基本邻近点距离可以被设置为用于以当前LOD(即,LODl)的级别构造点的距离。即,每个LOD的基本邻近点距离可以被设置为应用于LOD的L级别的LOD生成的距离dist2L(参见图25)。
例如,当通过对基于莫顿码排列的点应用采样方法来生成LOD时,每个LOD中连续第kL连续点的平均距离可以被设置为每个LOD处的基本邻近点距离。即,基于莫顿码排列的当前LOD中的连续第kL点的平均距离可以被设置为当前LOD的基本邻近点距离。作为另一示例,当通过对基于莫顿码排列的点应用采样方法来生成LOD时,可以从当前LOD级别估计八叉树的深度级别,并且所估计的八叉树深度级别的节点的对角线长度可以被设置为基本邻近点距离。在这种情况下,可以通过应用式6或式7来获取基本邻近点距离。
根据实施方式,为了计算基本邻近点距离针对每个LOD选择的点的数目可以是四分之一,或者可以考虑其它间隔来选择。
一旦在操作55001中计算出基本邻近点距离,就计算点的边界框的对角线长度(操作55002)。在本公开中,为了简单起见,边界框的对角线长度将被称为BBox_diagonal_dist或BBox_diagonal_length。
根据实施方式,可以通过扫描点云数据来设置边界框。根据另一实施方式,可以参考针对八叉树构造的八叉树深度来推断和计算边界框。
可以基于在操作55001中计算的基本邻近点距离和在操作55002中计算的边界框的对角线长度来估计密度率(density rate)(或density_estimation)(操作55003)。
在实施方式中,可以通过将基本邻近点距离除以边界框的对角线长度来获得密度率(density_rate=dist20/BBox_diagonal_dist)。在这种情况下,随着密度率的增大,密度降低。
在另一实施方式中,可以通过将边界框的对角线长度除以基本邻近点距离(density_rate=BBox_diagonal_dist/dist20)来获取密度率。在这种情况下,在根据密度率来设置最大邻近点范围时,Kn值和符号可以改变。在这种情况下,随着密度率的降低,密度降低。根据实施方式,Kn值可以是用于根据通过自动地计算最大邻近点范围获得的计算值来设置最大邻近点范围的表值。
一旦在操作55003中获得了密度率,就根据密度率来设置最大邻近点范围(操作55004)。
根据实施方式,当密度率大于Kn(其中,n>=0且Kn<1)时,n或n+1的值可以被设置为最大邻近点范围(n:density_rate>Kn(n>=0,Kn<1))。
根据实施方式,Kn值可以是用于根据在自动地计算最大邻近点范围时计算出的密度率来设置最大邻近点范围的表值。
根据实施方式,Kn值可以根据LOD生成方法被设置为默认值,或者可以根据用户输入来不同地设置。即,与Kn值相关的信息可以可变地改变并在信令信息中发信号通知,或者可以默认地在属性编码器/解码器中预设固定值。
例如,假定K1=0.000001并且密度率大于0.000001,则最大邻近点范围(NN_range)为1。
根据实施方式,根据密度率自动计算出的最大邻近点范围信息可以在信令信息中发信号通知。例如,包括最大邻近点范围信息的信令信息可以是SPS、APS、图块参数集或属性切片头中的至少一个。
图27是例示了根据本公开的另一实施方式的基于密度自动地计算最大邻近点范围的流程图。在图27的实施方式中,通过根据轴长度和点的数目推断密度来计算最大近邻点范围。
根据实施方式,可以基于边界框的最小轴长度、边界框的最大轴长度和边界框的中间轴长度中的至少一个来推断密度。
图27例示了基于边界框的最小轴长度和点的数目来获取最大近邻点范围的实施方式。
即,计算点的边界框的最小轴长度(操作57001)。在本公开中,为了简单起见,边界框的最小轴长度被称为BBox_min_axis_length。
可以基于点的数目和在操作57001中计算的边界框的最小轴长度来估计密度率(density_rate或density_estimation)(操作57002)。
在实施方式中,可以通过将边界框的最小轴长度除以点的数目来获取密度率(density_rate=BBox_min_axis_length/点的数目)。在这种情况下,随着密度率的增大,密度降低。
一旦在操作57002中获得了密度率,就根据密度率来设置最大邻近点范围(操作57003)。
根据实施方式,当密度率大于Kn(其中,n>=0且Kn<1)时,n或n+1的值可以被设置为最大邻近点范围(n:density_rate>Kn(n>=0,Kn<1))。
根据实施方式,Kn值可以是用于根据在自动地计算最大邻近点范围时计算出的密度率来设置最大邻近点范围的表值。
根据实施方式,Kn值可以根据LOD生成方法被设置为默认值,或者可以根据用户输入来不同地设置。即,与Kn值相关的信息可以可变地改变并在信令信息中发信号通知,或者可以默认地在属性编码器/解码器中预设固定值。
例如,假定K1=0.05并且密度率大于0.05,则最大邻近点范围(NN_range)为1。
根据另一实施方式,密度率可以基于边界框的最大轴长度和点的数目来估计,或者可以基于边界框的中间轴长度和点的数目来估计。然后,基于密度率来计算最大邻近点范围。在这种情况下,计算最大邻近点范围的方法与基于上述边界框的最小轴长度来计算最大邻近点范围的方法相同。
根据实施方式,可以使用计算可以与点云内容的属性匹配并使压缩性能最大化的最大邻近点范围的方法。
根据实施方式,可以选择并应用计算最大近邻点范围的任何期望方法,或者可以应用一种或更多种方法的组合。另选地,关于是否执行自动计算的信息可以在信令信息中发信号通知并发送。根据实施方式,当关于是否执行自动计算的信息指示自动计算时,接收装置的属性解码器可以自动地计算最大近邻点范围。
根据实施方式,关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)、基本邻近点距离信息(例如,nn_base_distance)、最大邻近点范围信息(例如,nearest_neighbore_max_range)、最小邻近点范围信息(例如,nearest_neighbor_min_range),关于如何应用最大邻近点距离的信息(例如,nn_range_filtering_location_type)、关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)、关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)以及与自动最大邻近点范围的Kn值相关的信息(例如,automatic_max_nn_range_in_table、automatic_nn_range_table_k)可以被称为邻近点选择相关选项信息。邻近点选择相关选项信息可以在信令信息中发信号通知和发送。在实施方式中,信令信息可以是序列参数集、属性参数集、图块参数集或属性切片头中的至少一个。
根据实施方式,邻近点集合配置单元53008和/或信令处理器51005可以根据LOD生成方法(或LOD配置方法)在信令信息中设置基本邻近点距离计算方法(例如,nn_base_distance_calculation_method_type)。根据实施方式,基本邻近点距离计算方法可以包括基于八叉树的基本邻近距离计算、基于距离的基本邻近点距离计算、基于采样的基本邻近点距离计算、基于LOD之间的莫顿码的平均差的基本邻近点距离计算、基于LOD之间的平均距离差的基本邻近点距离计算以及根据输入基本邻近点距离的基本邻近点距离计算。
根据实施方式,根据基本邻近点距离计算方法计算的基本邻近点距离可以应用于最大邻近点范围的计算。另外,基本邻近点距离计算方法可以在信令信息中发信号通知和发送。在这种情况下,属性解码器可以基于信令信息来计算最大邻近点范围,并将其应用于最大邻近点距离。
根据实施方式,邻近点集合配置单元53008和/或信令处理器51005可以接收作为用户参数(或编码器选项)的基本邻近点距离信息(base_distance),并将其应用于最大邻近点距离和/或最大邻近点范围的计算。另外,当在信令信息中发信号通知基本邻近点距离信息时,接收装置的属性解码器可以基于信令信息来计算最大邻近点距离和/或最大邻近点范围。
根据实施方式,邻近点集合配置单元53008和/或信令处理器51005可以在信令信息中发信号通知最大邻近点范围信息,并且接收装置的属性解码器可以基于信令信息来计算最大邻近点距离。根据实施方式,可以针对每个LOD不同地设置最大邻近点范围。
根据实施方式,邻近点集合配置单元53008和/或信令处理器51005可以在信令信息中发信号通知邻近点最小范围信息,并且接收装置的属性解码器基于信令信息可以计算最大邻近点距离。根据实施方式,可以针对每个LOD不同地设置最小邻近点范围。
根据实施方式,邻近点集合配置单元53008和/或信令处理器51005可以接收指示作为用户参数(或被称为编码器选项)的是否自动地计算最大邻近点范围或最小邻近点范围或最大邻近点范围和最小邻近点范围二者的信息,并在信令信息中发信号通知指示是否执行自动计算的信息。
根据实施方式,当邻近点集合配置单元53008和/或信令处理器51005自动地计算最大邻近点范围时,它可以接收作为用户参数(或编码器选项)的Kn值,并在信令信息中发信号通知与Kn值相关的信息。根据实施方式,Kn值可以是用于根据通过自动地计算最大邻近点范围获得的计算值来设置最大邻近点范围的表值。根据实施方式,当关于是否执行自动计算的信息的值为TURE(真)时,接收装置的属性解码器可以使用与信令信息中发信号通知的Kn值相关的信息来确定最大邻近点范围。
根据实施方式,在自动地计算最大邻近点范围时,邻近点集合配置单元53008和/或信令处理器51005可以接收作为用户参数(或编码器选项)的关于计算最大邻近点范围的方法的信息。另外,关于最大邻近点范围计算方法的信息(例如,automatic_nn_range_method_type)可以在信令信息中发信号通知。根据实施方式,自动地计算最大邻近点范围的方法可以包括根据密度(基于分母边界框对角线长度或边界框对角线长度的分子)计算最大邻点范围的方法以及基于轴长度和点数目来推断密度并计算最大近邻点范围(基于边界框的最大、最小或中间轴)的方法。根据实施方式,邻近点集合配置单元53008可以使用根据密度计算最大邻近点范围的方法和/或基于轴长度和点的数目来推断密度并计算最大邻近点范围的方法作为自动计算方法来自动地计算最大近邻点范围。根据实施方式,当关于是否执行自动计算的信息的值为TURE时,接收装置的属性解码器可以使用基于关于在信令信息中发信号通知的最大邻近点范围计算方法的信息来确定最大邻近点范围。
根据实施方式,邻近点集合配置单元53008可以基于基本邻近点距离(base_distance)和最大邻近点范围来计算最大邻近点距离。
根据实施方式,邻近点集合配置单元53008可以仅将具有比计算出的最大邻近点距离短的距离的一个或更多个点登记为对应点的邻近点集合。
根据实施方式,邻近点集合配置单元53008可以接收应用最大邻近点距离(例如,nn_range_filtering_location_type)的方法作为用户参数(或编码器选项),并在信令信息中发信号通知应用最大邻近点距离的方法。根据实施方式,应用最大邻近点距离的方法可以包括在选择邻近点时计算点之间的距离而不选择最大邻近点距离之外的点的方法以及通过计算点之间的距离来登记所有邻近点并且在已登记的点当中删除超出最大邻近点距离的点的方法。根据实施方式,接收装置的属性解码器可以通过将关于将信令信息(例如,nn_range_filtering_location_type)中发信号通知的最大邻近点距离应用于邻近点搜索的方法的信息来配置邻近点集合。
上述的LOD配置方法、基本邻近点距离获取方法、最大邻近点范围(NN_range)获取方法和最大邻近点距离获取方法可以以与接收装置的属性解码器配置邻近点集合和LOD以预测变换或提升变换时相同或类似的方式应用。
根据实施方式,如果如上所述基于基本邻近点距离和最大邻近点范围(NN_range)来生成LOD1集合并且确定最大邻近点距离,则邻近点集合配置单元53008基于LOD1集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索X个(例如,3个)NN点。然后,邻近点集合配置单元53008可以仅将X个(例如,3个)NN点当中的最大邻近点距离内的NN点作为邻近点集合登记。因此,作为邻近点集合登记的NN点的数目等于或小于X。换句话说,X个NN点当中的不在最大邻近点距离内的NN点不被作为邻近点集合登记并被从邻近点集合中排除。例如,如果三个NN点中的两个不在最大邻近点距离内,则排除两个NN点而仅另一个NN点(即,一个NN点)作为邻近点集合登记。
根据另一实施方式,如果如上所述基于基本邻近点距离和最大邻近点范围(NN_range)来生成LOD1集合并且确定最大邻近点距离,则邻近点集合配置单元53008可以基于LOD1集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的X个(例如,3个)NN点,并将X个NN点作为邻近点集合登记。
即,可以作为邻近点集合登记的NN点的数目可以根据应用最大邻近点距离的定时(或位置)而变化。换句话说,作为邻近点集合登记的NN点的数目可以根据是在通过邻近点搜索来搜索X个NN点之后应用最大邻近点距离还是在计算出点之间的距离时应用最大邻近点距离而不同。X是可以被设置为邻近点的最大数目,并可以作为用户参数输入或者通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_num_pred_nearest_neighbours字段)。
图28是例示了根据实施方式的通过应用搜索范围和最大邻近点距离搜索邻近点的示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
在图28中,在实施方式中,索引列表包括待编码点所属的LOD集合(即,LODl)并且保留列表包括基于LODl集合的至少一个较低LOD集合(例如,LOD0至LODl-1)。
根据实施方式,索引列表中的点和保留列表中的点基于莫顿码的大小按升序排列。因此,索引列表和保留列表中按莫顿顺序排列的点的最前面点具有最小的莫顿码大小。
根据实施方式的邻近点集合配置单元53008可以在属于LOD0至LODl-1集合的点和/或属于LOD1集合的点当中,搜索按顺序位于点Px之前的点(即,具有小于或等于点Px的莫顿码的莫顿码的点)当中的具有与点Px的莫顿码最接近的莫顿码的中心点Pi,以便登记属于LODl集合的点Px(即,待编码点或当前点)的邻近点集合。
根据实施方式,当搜索中心点Pi时,邻近点集合配置单元53008可以在位于点Px之前的所有点当中搜索具有与点Px的莫顿码最接近的莫顿码的点Pi,或者在搜索范围内的点当中搜索具有与点Px的莫顿码最接近的点Pi。在本公开中,搜索范围可以通过邻近点集合配置单元53008配置,或者可以作为用户参数(也被称为编码器选项)输入。另外,可以通过信令处理器51005在信令信息中发信号通知与搜索范围相关的信息。本公开提供了当LOD的数目为多个时在保留列表中搜索中心点Pi以及当LOD的数目为1个时在索引列表中搜索中心点Pi的实施方式。例如,当LOD的数目为1个时,可以基于当前点在用莫顿码排列的列表中的位置来确定搜索范围。
根据实施方式的邻近点集合配置单元53008进行点Px与位于搜索到的(或所选择的)中心点Pi之前(即,在图28中的中心点左侧)和搜索到的(或所选择的)中心点Pi之后(即,在图28中的中心点右侧)的属于邻近点搜索范围的点之间的距离值比较。邻近点集合配置单元53008可以选择X个(例如,3个)NN点,并仅将所选择X个点中当中的Px所属的LOD处的最大邻近点距离内的点作为点Px的邻近点集合登记。在实施方式中,邻近点搜索范围是点的数目。根据实施方式的邻近点搜索范围可以包括按莫顿顺序位于中心点Pi之前(即,在前面)和/或之后(即,在后面)的一个或更多个点。X是可以被登记为邻近点的点的最大数目。
根据实施方式,与邻近点搜索范围相关的信息和关于可以被登记为邻近点的点的最大数目X的信息可以由邻近点集合配置单元53008配置,或者可以作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_search_range字段和lifting_num_pred_nearest_neighbours字段)。根据实施方式,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将中心点与所得值相加而获得的值(即,(lifting_search_range字段的值×2)+中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值+中心点)或lifting_search_range字段的值。本公开提供了当LOD的数目为多个时在保留列表中搜索点Px的邻近点以及当LOD的数目为1个时在索引列表中搜索点Px的邻近点的实施方式。
例如,如果LOD的数目为2个或更多个并且与搜索范围相关的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点Pi、中心点Pi之前的128个点和中心点Pi之后的128个点。作为另一示例,如果LOD的数目为1个并且与搜索范围相关的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点Pi和中心点Pi之前的128个点。作为另一示例,如果LOD的数目为1个并且与搜索范围相关的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点Px之前的128个点。
根据实施方式,邻近点集合配置单元53008可以进行实际搜索范围中的点与点Px之间的距离值比较,以搜索X个NN点,并仅将X个点中当中的Px所属的LOD处的最大邻近点距离内的点登记作为点Px的邻近点集合。即,被作为点Px的邻近点集合登记的邻近点限于X个点当中的点Px所属的LOD处最大邻近点距离内的点。
如上所述,本公开可以通过限制考虑到点云内容的点之间的属性特性(相关性)可以被选择作为邻近点集合的点来提供增强属性压缩效率的效果。
图29是例示了根据实施方式的通过应用搜索范围和最大邻近点距离搜索邻近点的另一示例的示图。图中例示的箭头指示根据实施方式的莫顿顺序。
由于图29的示例除了应用最大邻近点距离的位置之外与图28的示例相似,因此本文中将省略对其的重复描述。因此,对于图29中省略或没有描述的部分,参照对图28的描述。
根据实施方式,索引列表的点和保留列表的点基于莫顿码的大小按升序排列。
根据实施方式的邻近点集合配置单元53008可以在属于LOD0至LODl-1集合的点和/或属于LODl集合的点当中,搜索按顺序位于点Px之前的点(即,具有小于或等于点Px的莫顿码的莫顿码的点)当中的具有与点Px的莫顿码最接近的莫顿码的中心点Pi,以便登记属于LODl集合的点Px(即,待编码点或当前点)的邻近点集合。
根据实施方式的邻近点集合配置单元53008进行点Px与位于搜索到的(或所选择的)中心点Pi之前(即,在图29中的中心点左侧)和搜索到的(或所选择的)中心点Pi之后(即,在图29中的中心点右侧)的属于邻近点搜索范围的点之间的距离值比较。邻近点集合配置单元53008可以选择点Px所属的LOD处的最大邻近点距离内的X个(例如,3个)NN点并将该X个点作为点Px的邻近点集合登记。
本公开提供了当LOD的数目为多个时在保留列表的实际搜索范围中搜索点Px的邻近点以及当LOD的数目为1时在索引列表的实际搜索范围中搜索点Px的邻近点的实施方式。
例如,如果LOD的数目为2或更多并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点Pi、中心点Pi之前的128个点以及中心点Pi之后的128个点。作为另一示例,如果LOD的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点Pi以及中心点Pi之前的128个点。作为另一示例,如果LOD的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点Px之前的128个点。
在比较实际搜索范围中的点与点Px之间的距离值时,根据实施方式的邻近点集合配置单元53008从实际搜索范围中的点当中选择点Px所属的LOD处的最大邻近点距离内的X(例如,3)个NN点,并将这X个点登记为点Px的邻近点集合。即,被登记为点Px的邻近点集合的邻近点限于X个点当中的点Px所属的LOD处的最大邻近点距离内的点。
如上所述,本公开可以通过考虑到点云内容的点之间的属性特征(相关性)而选择邻近点集合来提供增强属性的压缩效率的效果。
根据上述实施方式,当邻近点集合被登记在邻近点集合配置单元53008中待编码点的每个预测器中时,属性信息预测单元53009从登记在预测器中的一个或更多个邻近点预测对应点的属性值。如上所述,当配置邻近点集合时,通过应用最大邻近点距离,登记在每个预测器中的邻近点集合中所包括的邻近点的数目等于或小于X(例如,3)个。根据实施方式,点的预测器可以借助登记的邻近点集合基于到每个邻近点的距离值来登记1/2距离(=权重)。例如,以(P2 P4 P6)为邻近点集合,P3节点的预测器基于到每个邻近点的距离值来计算权重。根据实施方式,邻近点的权重可以是
根据实施方式,当邻近点集合被登记在预测器中时,邻近点集合配置单元53008或属性信息预测单元53009可以用邻近点集合中所包括的邻近点的总权重来归一化每个邻近点的权重。
然后,属性信息预测单元5301可以通过预测器来预测属性值。
根据实施方式,通过将登记在预测器中的邻近点的属性(例如,颜色、反射率等)乘以权重(或归一化权重)而获得的值的平均可以被设置为预测结果(即,预测属性值)。另选地,特定点的属性可以被设置为预测结果(即,预测属性值)。根据实施方式,预测属性值可以被称为预测属性信息。另外,可以从点的属性值(即,原始属性值)中减去点的预测属性值(或预测属性信息)来获得残差属性值(或残差属性信息或残差)。
根据实施方式,可以通过应用各种预测模式(或预测器索引)来预先计算压缩结果值,然后可以从预测模式当中选择生成最小比特流的预测模式(即,预测器索引)。
接下来,将详细地描述选择预测模式的处理。
在本说明书中,预测模式具有与预测器索引(Preindex)相同的含义,并可以被广义地称为预测方法。
在实施方式中,可以由属性信息预测单元53009执行为每个点寻找最合适的预测模式并将所找到的预测模式设置在对应点的预测器中的处理。
根据实施方式,其中通过加权平均(即,通过将每个点的预测器中设置的邻近点的属性乘以基于到每个邻近点的距离计算出的权重而获得的平均)来计算预测属性值的预测模式将被称为预测模式0。另外,其中第一邻近点的属性被设置为预测属性值的预测模式将被称为预测模式1,其中第二邻近点的属性被设置为预测属性值的预测模式将被称为预测模式2,并且其中第三邻近点的属性被设置为预测属性值的预测模式将被称为预测模式3。换句话说,等于0的预测模式(或预测器索引)的值可以指示通过加权平均预测属性值,并且等于1的值可以指示通过第一邻近节点(即,邻近点)预测属性值。等于2的值可以指示通过第二邻近节点预测属性值,并且等于3的值可以指示通过第三邻近节点预测属性值。
根据实施方式,可以计算预测模式0中的残差属性值、预测模式1中的残差属性值、预测模式2中的残差属性值和预测模式3中的残差属性值,并且可以基于每个残差属性值来计算得分或双得分。然后,计算出的得分最低的预测模式可以被选择和设置为相应点的预测模式。
根据实施方式,当满足预设条件时,可以执行在多种预测模式当中查找最合适的预测模式并将其设置为相应点的预测模式的处理。因此,当不满足预设条件时,其中通过加权平均计算预测属性值的固定的(或预定义的)预测模式(例如,预测模式0)可以被设置为点的预测模式而不执行查找最合适预测模式的处理。在实施方式中,对每个点执行该处理。
根据实施方式,当登记在点的预测器中的邻近点之间的属性元素(例如,R、G、B)的差值大于或等于预设阈值(例如,lifting_adaptive_prediction_threshold)时,或者当计算出登记在点的预测器中的邻近点之间的属性元素(例如,R、G、B)的差值并且元素的最大差值之和大于或等于预设阈值时,可以针对特定点满足预设条件。例如,假设点P3是特定点,并且点P2、P4和P6被作为点P3的邻近点登记。另外,假设当计算出点P2和P4之间的R、G和B值的差值、点P2和P6之间的R、G和B值的差值以及点P4和P6之间的R、G和B值的差值时,在点P2和P4之间获得R值的最大差值,在点P4和P6之间获得G值的最大差值,并且在点P2和P6之间获得B值的最大差值。另外,假设在(P2和P4之间的)R值的最大差值、(P4和P6之间的)G值的最大差值以及(P2和P6之间的)B值的最大差值当中,点P2和P4之间的R值差值最大。
在这些假设下,当点P2和P4之间的R值差值大于或等于预设阈值时,或者当点P2和P4之间的R值差值、点P4和P6之间的G值差值和点P2和P6之间的B值差值之和大于或等于预设阈值时,可以执行在多种候选预测模式当中查找最合适的预测模式的处理。另外,可以仅在点P2和P4之间的R值差值大于或等于预设阈值或者点P2和P4之间的R值差值、点P4和P6之间的G值差值和点P2和P6之间的B值差值之和大于或等于预设阈值时才发信号通知预测模式(例如,predIndex)。
根据另一实施方式,当登记在特定点的预测器中的邻近点的属性(例如,反射率)的值之间的最大差值大于或等于预设阈值(例如,lifting_adaptive_prediction_threshold)时,可以针对该点满足预设条件。另外,假定在点P2和P4之间的反射率差值、点P2和P6之间的反射率差值和点P4和P6之间的反射率差值当中,点P2和P4之间的反射率差值最大。
在该假定下,当点P2和P4之间的反射率差值大于或等于预设阈值时,可以执行在多种候选预测模式当中寻找最合适的预测模式的处理。另外,可以仅在点P2和P4之间的反射率差值大于或等于预设阈值时才发信号通知预测模式(例如,predIndex)。
根据实施方式,可以在属性切片数据中发信号通知对应点的所选择的预测模式(例如,predIndex)。在这种情况下,发送方发送基于所选的预测模式获取的残差属性值,并且接收方基于发信号通知的预测模式来获取对应点的预测属性值,并将预测属性值和接收到的残差属性值相加,以恢复对应点的属性值。
在另一实施方式中,当未发信号通知预测模式时,发送方可以基于被设置为默认模式的预测模式(例如,预测模式0)来计算预测属性值,并基于原始属性值与预测属性值之间的差值来计算并发送残差属性值。接收方可以基于被设置为默认模式的预测模式(例如,预测模式0)来计算预测属性值,并通过将该值与接收到的残差属性值相加来恢复属性值。
根据实施方式,可以通过信令处理器51005来在信令信息中发信号通知或直接输入阈值(例如,在APS中发信号通知的lifting_adaptive_prediction_threshold字段)。
根据实施方式,当如上所述地针对特定点满足预设条件时,可以生成预测器候选。预测器候选被称为预测模式或预测器索引。
根据实施方式,预测模式1至3可以被包括在预测器候选中。根据实施方式,预测模式0可以被包括或可以不被包括在预测器候选中。根据实施方式,以上未提到的至少一种预测模式也可以被包括在预测器候选中。
通过上述处理针对每个点设置的预测模式和所设置的预测模式中的残差属性值被输出到残差属性信息量化处理器53010。
根据实施方式,残差属性信息量化处理器53010可以对输入的残差属性值应用零游程长度编码。
根据本公开的实施方式,可以对残差属性值执行量化和零游程长度编码。
根据实施方式,算术编码器53011向从残差属性信息量化处理器53010输出的残差属性值和预测模式应用算术编码,并将结果作为属性比特流输出。
由几何编码器51006压缩和输出的几何比特流以及由属性编码器51007压缩和输出的属性比特流被输出到发送处理器51008。
根据实施方式的发送处理器51008可以执行与图12的发送处理器12012的操作和/或发送方法相同或类似的操作和/或发送方法,并执行与图1的发送器10003的操作和/或发送方法相同或类似的操作和/或发送方法。更详细地,将参考图1或图12的描述。
根据实施方式的发送处理器51008可以分别发送从几何编码器51006输出的几何比特流、从属性编码器51007输出的属性比特流和从信令处理器51005输出的信令比特流,或者可以将比特流复用为一个待发送的比特流。
根据实施方式的发送处理器51008可以将比特流封装在文件或段(例如,流传输段)中,然后通过诸如广播网络和/或宽带网络这样的各种网络发送封装的比特流。
根据实施方式的信令处理器51005可以生成和/或处理信令信息,并将其按比特流的形式输出到发送处理器51008。由信令处理器51005生成和/或处理的信令信息将被提供到几何编码器51006、属性编码器51007和/或发送处理器51008,以用于几何编码、属性编码和发送处理。另选地,信令处理器51005可以接收由几何编码器51006、属性编码器51007和/或发送处理器51008生成的信令信息。
在本公开中,信令信息可以以参数集(序列参数集(SPS)、几何参数集(GPS)、属性参数集(APS)、图块参数集(TPS)等)为单位发信号通知和发送。另外,它可以基于诸如切片或图块这样的每个图像的编码单元来发信号通知和发送。在本公开中,信令信息可以包括与点云数据相关的元数据(例如,设定值),并且可以被提供到几何编码器51006、属性编码器51007和/或发送处理器51008,以用于几何编码、属性编码和发送处理。根据应用,还可以在诸如文件格式、通过HTTP的动态自适应流传输(DASH)或MPEG媒体传送(MMT)这样的系统侧或者在诸如高清晰度多媒体接口(HDMI)、显示端口、视频电子标准协会(VESA)或CTA这样的有线接口侧定义信令信息。
根据实施方式的方法/装置可以发信号通知相关信息,以添加/执行实施方式的操作。可以在发送装置和/或接收装置中使用根据实施方式的信令信息。
根据本公开的实施方式,关于将用于属性预测的预测器的最大数目的信息(lifting_max_num_direct_predictors)、用于启用属性的自适应预测的阈值信息(lifting_adaptive_prediction_threshold)、邻近点选择相关选项信息等可以在序列参数集、属性参数集、图块参数集或属性切片头中的至少一者中发信号通知。另外,根据实施方式,可以在属性切片数据中发信号通知指示与从多个预测器候选当中选择的预测器候选相对应的预测模式的预测器索引信息(predIndex)。
根据实施方式,邻近点选择相关选项信息可以包括关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)、基本邻近点距离信息(例如,nn_base_distance)、最大邻近点范围信息(例如,nearest_neighbore_max_range)、最小邻近点范围信息(例如,nearest_neighbor_min_range)、关于应用最大邻近点距离的方法的信息(例如,nn_range_filtering_location_type)、关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)、关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)以及与Kn值相关的信息(例如,automatic_max_nn_range_in_table、automatic_nn_range_table_k)中的至少一个。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours)、搜索范围相关信息(例如,lifting_search_range)和/或LOD配置方法中的至少一个。
与上述发送装置的点云视频编码器类似,接收装置的点云视频解码器执行与生成LODl集合、基于LODl集合来找到最近的邻近点并将其作为邻近点集合登记在预测器中、基于与每个邻近点的距离来计算权重以及利用权重执行归一化相同或类似的处理。然后,解码器对接收到的预测模式进行解码,并根据解码后的预测模式预测点的属性值。另外,在接收到的残差属性值被解码之后,解码的残差属性值可以与预测属性值相加,以恢复点的属性值。
图30是示出了根据实施方式的另一示例性点云接收装置的示图。
根据实施方式的点云接收装置可以包括接收处理器61001、信令处理器61002、几何解码器61003、属性解码器61004和后处理器61005。根据实施方式,几何解码器61003和属性解码器61004可以被称为点云视频解码器。根据实施方式,点云视频解码器可以被称为PCC解码器、PCC解码单元、点云解码器、点云解码单元等。
根据实施方式的接收处理器61001可以接收单个比特流,或者可以分别接收几何比特流、属性比特流和信令比特流。当接收到文件和/或段时,根据实施方式的接收处理器61001可以对接收到的文件和/或段进行解封装,并将解封装的文件和/或段作为比特流输出。
当接收(或解封装)了单个比特流时,根据实施方式的接收处理器61001可以从单个比特流解复用出几何比特流、属性比特流和/或信令比特流。接收处理器61001可以将解复用的信令比特流输出到信令处理器61002,将几何比特流输出到几何解码器61003,并将属性比特流输出到属性解码器61004。
当分别接收(或解封装)了几何比特流、属性比特流和/或信令比特流时,根据实施方式的接收处理器61001可以将信令比特流传送到信令处理器61002,将几何比特流传送到几何解码器61003,并将属性比特流传送到属性解码器61004。
信令处理器61002可以从输入的信令比特流解析信令信息,例如,包含在SPS、GPS、APS、TPS、元数据等中的信息,处理解析后的信息,并将处理后的信息提供给几何解码器61003、属性解码器61004和后处理器61005。在另一实施方式中,包含在几何切片头和/或属性切片头中的信令信息也可以在对应的切片数据解码之前由信令处理器61002解析。即,当如图16所示在发送侧将点云数据分割为图块和/或切片时,TPS包括每个图块中所包括的切片的数目,相应地,根据实施方式的点云视频解码器可以检查切片的数目并快速地解析信息以进行并行解码。
因此,根据本公开的点云视频解码器可以在其接收到具有减少数据量的SPS时快速解析包含点云数据的比特流。接收装置可以在接收到图块后对图块进行解码,并可以基于每个图块中所包括的GPS和APS对每个切片进行解码。由此,解码效率可以被最大化。
即,几何解码器61003可以通过基于信令信息(例如,几何相关参数)对压缩后的几何比特流执行图15的几何编码器51006的操作的逆过程来重构几何。由几何解码器61003恢复(或重构)的几何被提供到属性解码器61004。属性解码器61004可以通过基于信令信息(例如,属性相关参数)和重构的几何对压缩后的属性比特流执行图15的属性编码器51007的操作的逆过程来恢复属性。根据实施方式,当如图16中所示在发送侧将点云数据分割为图块和/或切片时,几何解码器61003和属性解码器61004逐图块地和/或逐切片地执行几何解码和属性解码。
图31是例示了根据实施方式的几何解码器61003和属性解码器61004的另一示例的详细框图。
图31中的几何解码器61003中所包括的算术解码器63001、八叉树重构单元63002、几何信息预测单元63003、逆量化处理器63004和坐标逆变换单元63005可以执行图11中的算术解码器11000、八叉树合成单元11001、表面近似合成单元11002、几何重构单元11003和坐标逆变换单元11004的一些或全部操作,或者可以执行图13中的算术解码器13002、基于占用代码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005的一些或全部操作。由几何解码器61003恢复的位置被输出到后处理器61005。
根据实施方式,当在序列参数集(SPS)、属性参数集(APS)、图块参数集(TPS)或属性切片头中的至少一个中发信号通知关于要用于属性预测的预测器的最大数目的信息(lifting_max_num_direct_predictors)、用于启用属性的自适应预测的阈值信息(lifting_adaptive_prediction_threshold)、邻近点选择相关信息等时,它们可以由信令处理器61002获取并被提供给属性解码器61004,或者可以由属性解码器61004直接获取。
根据实施方式的属性解码器61004可以包括算术解码器63006、LOD配置单元63007、邻近点集合配置单元63008、属性信息预测单元63009、残差属性信息逆量化处理器63010和逆颜色变换处理器63011。
根据实施方式的算术解码器63006可以对输入属性比特流进行算术解码。算术解码器63006可以基于重构的几何对属性比特流进行解码。算术解码器63006执行与图11的算术解码器11005或图13的算术解码器13007的操作和/或解码相同或类似的操作和/或解码。
根据实施方式,可以基于重构的几何信息通过RAHT解码、基于LOD的预测变换解码和提升变换解码中的一种或两种或更多种的组合对从算术解码器63006输出的属性信息进行解码。
这被描述为其中发送装置通过基于LOD的预测变换编码和提升变换编码中的一种或其组合来执行属性压缩的实施方式。因此,将描述其中接收装置通过基于LOD的预测变换解码和提升变换解码中的一种或其组合来执行属性解码的实施方式。将省略对接收装置的RAHT解码的描述。
根据实施方式,由算术解码器63006算术解码的属性比特流被提供到LOD配置单元63007。根据实施方式,从算术解码器63006提供到LOD配置单元63007的属性比特流可以包含预测模式和残差属性值。
根据实施方式的LOD配置单元63007以与发送装置的LOD配置单元53007相同或类似的方式生成一个或更多个LOD,并将所生成的一个或更多个LOD输出到邻近点集合配置单元63008。
根据实施方式,LOD配置单元63007可以使用一个或更多个LOD生成方法(或LOD配置方法)配置一个或更多个LOD。根据实施方式,在LOD配置单元63007中使用的LOD生成方法可以通过信令处理器61002提供。例如,LOD生成方法可以在信令信息的APS中发信号通知。根据实施方式,LOD生成方法可以分为基于八叉树的LOD生成方法、基于距离的LOD生成方法和基于采样的LOD生成方法。
根据实施方式,具有不同LOD的组被称为LODl集合。这里,l表示LOD,是从0开始的整数。LOD0是由其间距离最大的点组成的集合。随着l增大,属于LODl的点之间的距离减小。
根据实施方式,可以针对每个LOD或仅针对叶节点提供由发送装置编码的预测模式和残差属性值。
在一个实施方式中,当LOD配置单元63007生成LODl集合时,邻近点集合配置单元63008可以基于LODl集合在具有相同或更低LOD(即,节点之间的距离大)的组中搜索等于或少于X个(例如,3个)点的邻近点,并将搜索到的邻近点作为邻近点集合登记在预测器中。
根据实施方式,邻近点集合配置单元63008通过基于信令信息获得搜索范围和/或最大邻近点距离和/或将搜索范围和/或最大邻近点距离应用于邻近点搜索过程来配置邻近点集合。
根据实施方式的邻近点集合配置单元63008可以通过将基本邻近点距离乘以NN_range来获得最大邻近点距离。NN_range是可以在其内选择邻近点的范围,并将被称为可以在其内选择邻近点的最大范围、最大邻近点范围、邻近点范围或最近邻范围。根据实施方式的邻近点集合配置单元63008可以通过基于信令信息组合基于八叉树的方法、基于距离的方法、基于采样的方法、针对每个LOD的基于莫顿码平均差的方法以及针对每个LOD的基于平均距离差的方法中的一种或更多种来计算/配置基本邻近点距离。
由于在上述发送装置的对属性进行编码的处理中已经详细给出了对根据实施方式通过在邻近点集合配置单元63008中组合基于八叉树的方法、基于距离的方法、基于采样的方法、针对每个LOD的基于莫顿码平均差的方法以及针对每个LOD的基于平均距离差的方法中的一个或更多个来计算/配置基本邻近点距离的详细描述,因此本文中将省略其细节。
根据实施方式,邻近点集合配置单元63008可以从信令信息中所包括的邻近点选择相关选项信息获取基本邻近点距离。
根据实施方式,邻近点集合配置单元63008可以根据内容的特性来自动地或手动地设置NN_range。邻近点集合配置单元63008可以基于信令信息中所包括的邻近点选择相关选项信息根据内容的特性来自动地或手动地设置NN_range。
根据实施方式,邻近点集合配置单元63008可以直接从邻近点选择相关选项信息获取最大邻近点范围(NN_range),或者可以基于邻近点选择相关选项信息来计算NN_range。
上面已经在描述发送装置的属性编码过程中描述了根据实施方式的由邻近点集合配置单元63008自动地计算NN_range的细节,因此将跳过对其的描述。
根据实施方式,邻近点选择相关选项信息可以包括关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)、基本邻近点距离信息(例如,nn_base_distance)、最大邻近点范围信息(例如,nearest_neighbore_max_range)、最小邻近点范围信息(例如,nearest_neighbor_min_range),关于应用最大邻近点距离的方法的信息(例如,nn_range_filtering_location_type)、关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)、关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)以及与Kn值相关的信息(例如,automatic_max_nn_range_in_table、automatic_nn_range_table_k)中的至少一个。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours)、搜索范围相关信息(例如,lifting_search_range)和/或LOD配置方法。在本公开中,为了简单起见,关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)和基本邻近点距离信息(例如,nn_base_distance)中的至少一个可以被称为基本邻近点距离相关信息。
根据实施方式,关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)可以指示作为用户参数(或编码器选项)输入的基本距离、基于八叉树的最大邻近点距离计算、基于距离的最大邻近点距离计算、基于采样的最大邻近点距离计算、通过计算LOD之间的莫顿码的平均差进行的最大邻近点距离计算、或通过计算LOD之间的平均距离差进行的最大邻近点距离计算的使用。
根据实施方式,关于应用最大邻近点距离的方法的信息(例如,nn_range_filtering_location_type)可以指示在选择邻近点时计算点之间的距离而不选择最大邻近点距离之外的点的方法或通过计算点之间的距离来登记所有邻近点并且在登记的点当中去除超出最大邻近点距离的点的方法。
根据实施方式,关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)可以指示是否自动地计算最大邻近点范围。
根据实施方式,关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)可以指示通过基于边界框的对角线长度估计密度来计算最大邻近点范围的方法或通过基于边界框的轴长度和点的数目估计密度来计算最大邻近点范围的方法。
通过基于边界框的对角线长度估计密度来计算最大邻近点范围的方法可以包括使用边界框的对角线长度作为分母来估计密度以及使用边界框的对角线长度作为分子来估计密度。
通过基于边界框的轴长度和点的数目估计密度来计算最大邻近点范围的方法可以包括基于边界框的最大轴长度和点的数目来估计密度的方法、基于边界框的最小轴长度和点的数目来估计密度的方法以及基于中间轴长度和点的数目来估计密度的方法。
根据实施方式,邻近点集合配置单元63008使用以下方法中的两种或更多种中的一种或其组合来估计用于自动计算的密度:使用边界框的对角线长度作为分母来估计密度的方法、使用边界框的对角线长度作为分子来估计密度的方法、基于边界框的最大轴长度和点的数目来估计密度的方法、基于边界框的最小轴长度和点的数目来估计密度的方法以及基于中间轴长度和点的数目来估计密度的方法。
与Kn值相关的信息可以包括Kn值的表中的条目的数目(例如,automatic_max_nn_range_in_table)和Kn值(例如,automatic_nn_range_table_k)。
根据实施方式,邻近点集合配置单元63008可以根据关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)自动地计算最大邻近点范围(NN_range)。例如,当关于是否自动地计算最大范围的信息(例如,automatic_nn_range_calculation_flag)指示自动计算时,可以基于与基本邻近点距离相关的信息、关于最大邻近点范围计算方法的信息和与Kn值相关的信息来自动地计算最大邻近点范围(NN_range)。
根据实施方式,如果如上所述确定最大邻近点距离,则邻近点集合配置单元63008基于LODl集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索X个(例如,3个)NN点,如图28中一样。然后,邻近点集合配置单元63008可以仅将X个(例如,3个)NN点当中的最大邻近点距离内的NN点作为邻近点集合登记。因此,作为邻近点集合登记的NN点的数目等于或小于X。换句话说,X个NN点当中的不在最大邻近点距离内的NN点不被作为邻近点集合登记并被从邻近点集合中排除。例如,如果三个NN点中的两个不在最大邻近点距离内,则排除两个NN点而仅另一个NN点(即,一个NN点)作为邻近点集合登记。
根据另一实施方式,如果如上所述确定最大邻近点距离,则如图29中,邻近点集合配置单元53008可以基于LOD1集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的X个(例如,3个)NN点,并将该X个NN点作为邻近点集合登记。
即,可以作为邻近点集合登记的NN点的数目可以根据应用最大邻近点距离的定时(或位置)而变化。换句话说,如图29中,作为邻近点集合登记的NN点的数目可以根据是在通过邻近点搜索来搜索X个NN点之后应用最大邻近点距离还是在计算出点之间的距离时应用最大邻近点距离而不同。
参照作为示例的图28,邻近点集合配置单元63008可以进行实际搜索范围内的点与点Px之间的距离值比较,以搜索X个NN点,并仅将X个点中当中的Px所属的LOD处的最大邻近点距离内的点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于X个点当中的点Px所属的LOD处最大邻近点距离内的点。
参照作为示例的图29,当进行实际搜索范围内的点与点Px之间的距离值比较时,邻近点集合配置单元63008从实际搜索范围中的点当中选择点Px所属的LOD处的最大邻近点距离内的X个(例如,3个)NN点,并将所选择的点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于点Px所属的LOD处最大邻近点距离内的点。
在图28和图29中,实际搜索范围可以是通过将lifting_search_range字段的值乘以2然后将中心点与所得值相加而获得的值(即,(lifting_search_range字段的值×2)+中心点)、通过将中心值与lifting_search_range字段的值相加而获得的值(即,lifting_search_range字段的值+中心点)或lifting_search_range字段的值。在实施方式中,邻近点集合配置单元63008在LOD的数目为多个时在保留列表中搜索点Px的邻近点,并在LOD的数目为1时在索引列表中搜索点Px的邻近点。
例如,如果LOD的数目为2或更多个并且关于搜索范围的信息(例如,lifting_search_range字段)为128,则实际搜索范围包括按莫顿码排列的保留列表中的中心点Pi、中心点Pi之前的128个点以及中心点Pi之后的128个点。作为另一示例,如果LOD的数目为1并且关于搜索范围的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的中心点Pi以及中心点Pi之前的128个点。作为另一示例,如果LOD的数目为1并且与搜索范围相关的信息为128,则实际搜索范围包括按莫顿码排列的索引列表中的当前点Px之前的128个点。
例如,假定邻近点集合配置单元63008选择P2 P4 P6点作为属于LOD1的P3点(即,节点)的邻近点,并将所选择的点作为邻近点集合登记在P3的预测器中(参见图9)。
根据实施方式,当邻近点集合被登记在邻近点集合配置单元63008中待解码点的每个预测器中时,属性信息预测单元63009从登记在每个预测器中的一个或更多个邻近点预测对应点的属性值。
根据实施方式,属性信息预测器63009执行基于特定点的预测模式来预测点的属性值的处理。对重构几何的所有点或至少一些点执行属性预测处理。
根据实施方式的特定点的预测模式可以是预测模式0至预测模式3中的一种。
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值小于预设阈值时,发送侧的属性编码器将预测模式0设置为点的预测模式。当最大差值大于或等于预设阈值时,属性编码器向多种候选预测模式应用RDO方法,并将候选预测模式中的一种设置为点的预测模式。在实施方式中,对每个点执行该处理。
根据实施方式,可以在属性切片数据中发信号通知通过应用RDO方法选择的点的预测模式(predIndex)。相应地,可以从属性切片数据获得点的预测模式。
根据实施方式,属性信息预测单元63009可以基于如上所述设置的每个点的预测模式来预测每个点的属性值。
例如,当假定点P3的预测模式是预测模式0时,可以计算通过将作为登记在点P3的预测器中的邻近点的点P2、P4和P6的属性乘以权重(或归一化权重)而获得的值的平均值。计算出的平均值可以被确定为点的预测属性值。
作为另一示例,当假定点P3的预测模式是预测模式1时,作为登记在点P3的预测器中的邻近点的点P4的属性值可以被确定为点P3的预测属性值。
作为另一示例,当假定点P3的预测模式是预测模式2时,作为登记在点P3的预测器中的邻近点的点P6的属性值可以被确定为点P3的预测属性值。
作为另一示例,当假定点P3的预测模式是预测模式3时,作为登记在点P3的预测器中的邻近点的点P2的属性值可以被确定为点P3的预测属性值。
一旦属性信息预测单元63009基于点的预测模式获得点的预测属性值,则残差属性信息逆量化处理器63010通过将由预测器63009预测的点的预测属性值与接收到的点的残差属性值相加来恢复点的属性值,然后作为与发送装置的量化处理的逆处理执行逆量化。
在实施方式中,在发送侧对点的残差属性值应用零游程长度编码的情况下,残差属性信息逆量化处理器63010对点的残差属性值执行零游程长度解码,然后执行逆量化。
由残差属性信息逆量化处理器63010恢复的属性值被输出到逆颜色变换处理器63011。
逆颜色变换处理器63011执行恢复的属性值中所包括的颜色值(或纹理)的逆变换的逆变换编码,然后将属性输出到后处理器61005。逆颜色变换处理器63011执行与图11的逆颜色变换单元11010或图13的逆颜色变换处理器13010的操作和/或逆变换编码相同或类似的操作和/或逆变换编码。
后处理器61005可以通过将由几何解码器61003恢复并输出的位置与由属性解码器61004恢复并输出的属性进行匹配来重构点云数据。另外,当重构的点云数据以图块和/或切片为单位时,后处理器61005可以基于信令信息来执行发送侧的空间分割的逆处理。例如,当如图16的(b)和图16的(c)中所示地将图16的(a)中示出的边界框分割为图块和切片时,图块和/或切片可以基于信令信息进行组合,以恢复如图16的(a)中所示的边界框。
图32例示了根据实施方式的用于发送/接收的点云数据的比特流结构的示例。
可以发信号通知相关信息,以添加/执行上述实施方式。根据实施方式的信令信息可以在发送端的点云视频编码器或接收端的点云视频解码器中使用。
根据实施方式的点云视频编码器可以通过如上所述对几何信息和属性信息进行编码来生成如图32中例示的比特流。另外,关于点云数据的信令信息可以由点云视频编码器的几何编码器、属性编码器或信令处理器中的至少一个生成和处理,并可以被包括在比特流中。
根据实施方式的信令信息可以由点云视频解码器的几何解码器、属性解码器和信令处理器中的至少一个接收/获得。
根据实施方式的比特流可以被划分为待发送/接收的几何比特流、属性比特流和信令比特流,或者可以被组合成一个比特流并进行发送/接收。
当根据实施方式的几何比特流、属性比特流和信令比特流被配置为一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包括用于序列级信令的序列参数集(SPS)、用于发信号通知几何信息编码的几何参数集(GPS)、用于发信号通知属性信息编码的一个或更多个属性参数集(APS)(APS0、APS1)、用于图块级信令的图块参数集(TPS)以及一个或更多个切片(切片0至切片n)。即,根据实施方式的点云数据的比特流可以包括一个或更多个图块,并且每个图块可以是包括一个或更多个切片(切片0至切片n)的一组切片。根据实施方式的TPS可以包含关于一个或更多个图块中的每一个的信息(例如,关于边界框的坐标值信息和高度/大小信息)。每个切片可以包括一个几何比特流(Geom0)以及一个或更多个属性比特流(Attr0和Attr1)。例如,第一切片(切片0)可以包括一个几何比特流(Geom00)以及一个或更多个属性比特流(Attr0、Attr10)。
每个切片中的几何比特流(或几何切片)可以由几何切片头(geom_slice_header)和几何切片数据(geom_slice_data)构成。根据实施方式,geom_slice_header可以包括GPS中所包括的参数集的标识信息(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于几何切片数据(geom_slice_data)中所包含的数据的信息(geomBoxOrigin、geom_box_log2_scale、geom_max_node_size_log2、geom_num_points)。geomBoxOrigin是指示几何切片数据的框的原点的几何框原点信息,geom_box_log2_scale是指示几何切片数据的对数缩放(log scale)的信息,geom_max_node_size_log2是指示根几何八叉树节点大小的信息,并且geom_num_points是与几何切片数据的点的数目相关的信息。根据实施方式,geom_slice_data可以包括关于对应切片中的点云数据的几何信息(或几何数据)。
每个切片中的每个属性比特流(或属性切片)可以由属性切片头(attr_slice_header)和属性切片数据(attr_slice_data)构成。根据实施方式,attr_slice_header可以包括关于对应属性切片数据的信息。属性切片数据可以包含关于对应切片中的点云数据的属性信息(或属性数据或属性值)。当在一个切片中存在多个属性比特流时,每个比特流可以包含不同的属性信息。例如,一个属性比特流可以包含对应于颜色的属性信息,而另一个属性流可以包含对应于反射率的属性信息。
图33示出了根据实施方式的点云数据的示例性比特流结构。
图34例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
图33和图34中例示的点云数据的比特流结构可以表示图32中示出的点云数据的比特流结构。
根据实施方式,SPS可以包括用于标识SPS的标识符(seq_parameter_set_id),并且GPS可以包括用于标识GPS的标识符(geom_parameter_set_id)和指示GPS所属的激活SPS的标识符(seq_parameter_set_id)。APS可以包括用于标识APS的标识符(attr_parameter_set_id)和指示APS所属的活动SPS的标识符(seq_parameter_set_id)。
根据实施方式,几何比特流(或几何切片)可以包括几何切片头和几何切片数据。几何切片头可以包括由对应的几何切片引用的活动GPS的标识符(geom_parameter_set_id)。此外,几何切片头还可以包括用于标识对应几何切片的标识符(geom_slice_id)和/或用于标识对应图块的标识符(geom_tile_id)。几何切片数据可以包括属于对应切片的几何信息。
根据实施方式,属性比特流(或属性切片)可以包括属性切片头和属性切片数据。属性切片头可以包括将由对应属性切片引用的活动APS的标识符(attr_parameter_set_id)和用于标识与属性切片相关的几何切片的标识符(geom_slice_id)。属性切片数据可以包括属于对应切片的属性信息。
即,几何切片引用GPS,GPS引用SPS。另外,SPS列出可用的属性,为每个属性指派标识符,并标识解码方法。根据标识符,将属性切片映射到输出属性。属性切片取决于前面(解码的)几何切片和APS。APS引用SPS。
根据实施方式,可以在点云数据的参数集和/或对应的切片头中新定义对点云数据进行编码所必需的参数。例如,当执行属性信息的编码时,可以在APS中添加参数。当执行基于图块的编码时,可以在图块和/或切片头中添加参数。
如图32、图33和图34中所示,本公开提供了图块或切片,使得点云数据可以按区域分割和处理。根据实施方式,比特流的相应区域可以具有不同的重要性。因此,当点云数据被分割为图块时,可以向各图块应用不同的滤波器(编码方法)和不同的滤波器单元。当点云数据被分割为切片时,可以向各切片应用不同的滤波器和不同的滤波器单元。
当点云数据被分割和压缩时,根据实施方式的发送装置和接收装置可以以高级语法结构发送和接收比特流,以在分割区域中选择性发送属性信息。
根据实施方式的发送装置可以根据如图32、图33和图34中所示的比特流结构发送点云数据。因此,可以提供对重要区域应用不同的编码操作并使用良好质量的编码方法的方法。另外,可以根据点云数据的特性支持高效的编码和发送,并且可以根据用户要求提供属性值。
根据实施方式的接收装置可以根据如图32、图33和图34中所示的比特流结构接收点云数据。因此,可以向相应区域(分割为图块或切片的区域)应用不同的滤波(解码)方法,而非向整个点云数据应用复杂解码(滤波)方法。因此,向用户提供了重要区域中更好的图像质量,并且可以确保系统的适当等待时间。
如上所述,提供图块或切片以通过按区域分割点云数据来处理点云数据。在按区域分割点云数据时,可以设置为每个区域生成不同的邻近点集合的选项。由此,可以提供具有低复杂度和稍低可靠性的选择方法或具有高复杂度和高可靠性的选择方法。
在根据实施方式的编码/解码属性信息的处理中所需的序列的邻近点选择相关选项信息可以在SPS和/或APS中发信号通知。
根据实施方式,如果在同一序列中存在具有不同属性特性的图块或切片,则可以在每个切片的TPS和/或属性切片头中发信号通知该序列的邻近点选择相关选项信息。
根据实施方式,当点云数据按区域划分时,特定区域的属性特性可以不同于序列的属性特性,因此可以通过不同的最大邻近点范围配置功能进行不同配置。
因此,当点云数据按图块划分时,可以对每个图块应用不同的最大邻近点范围。另外,当点云数据按切片划分时,可以对每个切片应用不同的最大邻近点范围。
根据实施方式的每个切片的SPS、APS、TPS和属性切片头中的至少一个可以包括邻近点选择相关选项信息。根据实施方式,邻近点选择相关选项信息可以包括与最大邻近点范围相关的信息。
根据实施方式,邻近点选择相关选项信息可以包括关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)、基本邻近点距离信息(例如,nn_base_distance)、最大邻近点范围信息(例如,nearest_neighbore_max_range)、最小邻近点范围信息(例如,nearest_neighbor_min_range)、关于应用最大邻近点距离的方法的信息(例如,nn_range_filtering_location_type)、关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)、关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)以及与Kn值相关的信息(例如,automatic_max_nn_range_in_table、automatic_nn_range_table_k)中的至少一个。
根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours)、搜索范围相关信息(例如,lifting_search_range)和/或LOD配置方法。
作为在随后描述的本公开的语法中使用的术语的字段可以具有与参数或元素相同的含义。
图35示出了根据本公开的序列参数集(SPS)(seq_parameter_set_rbsp())的语法结构的实施方式。SPS可以包括关于点云数据比特流的序列信息。特别地,在该示例中,SPS包括邻近点选择相关选项信息。
根据实施方式的SPS可以包括profile_idc字段、profile_compatibility_flags字段、level_idc字段、sps_bound_box_present_flag字段、sps_source_scale_factor字段、sps_seq_parameter_set_id字段、sps_num_attribute_sets字段和sps_extension_present_flag字段。
profile_idc字段指示比特流符合的配置文件。
等于1的profile_compatibility_flags字段可以指示比特流符合profile_idc所指示的配置文件。
level_idc字段指示比特流符合的级别。
sps_bounding_box_present_flag字段指示是否在SPS中发信号通知源边界框信息。源边界框信息可以包括关于源边界框的偏移和大小信息。例如,等于1的sps_bounding_box_present_flag字段指示在SPS中发信号通知源边界框信息。等于0的sps_bounding_box_present_flag字段指示不发信号通知源边界框信息。sps_source_scale_factor字段指示源点云的缩放因子。
sps_seq_parameter_set_id字段提供SPS的标识符,以供其它语法元素参考。
sps_num_attribute_sets字段指示比特流中编码属性的数目。
sps_extension_present_flag字段指定在SPS语法结构中是否存在sps_extension_data语法结构。例如,等于1的sps_extension_present_flag字段指定在SPS语法结构中存在sps_extension_data语法结构。等于0的sps_extension_present_flag字段指定不存在该语法结构。当不存在时,推断sps_extension_present_flag字段的值等于0。
当sps_bounding_box_present_flag字段等于1时,根据实施方式的SPS还可以包括sps_bounding_box_offset_x字段、sps_bounding_box_offset_y字段、sps_bounding_box_offset_z字段、sps_bounding_box_scale_factor字段、sps_bounding_box_size_width字段、sps_bounding_box_size_height字段和sps_bounding_box_size_depth字段。
sps_bounding_box_offset_x字段指示笛卡尔坐标中源边界框的x偏移。当源边界框的x偏移不存在时,sps_bounding_box_offset_x的值为0。
sps_bounding_box_offset_y字段指示笛卡尔坐标中源边界框的y偏移。当源边界框的y偏移不存在时,sps_bounding_box_offset_y的值为0。
sps_bounding_box_offset_z字段指示笛卡尔坐标中源边界框的z偏移。当源边界框的z偏移不存在时,sps_bounding_box_offset_z的值为0。
sps_bounding_box_scale_factor字段指示笛卡尔坐标中源边界框的缩放因子。当源边界的缩放因子不存在时,sps_bounding_box_scale_factor的值可以为1。
sps_bounding_box_size_width字段指示笛卡尔坐标中源边界框的宽度。当源边界框的宽度不存在时,sps_bounding_box_size_width字段的值可以为1。
sps_bounding_box_size_height字段指示笛卡尔坐标中源边界框的高度。当源边界框的高度不存在时,sps_bounding_box_size_height字段的值可以为1。
sps_bounding_box_size_depth字段指示笛卡尔坐标中源边界框的深度。当源边界框的深度不存在时,sps_bounding_box_size_depth字段的值可以为1。
根据实施方式的SPS包括重复与sps_num_attribute_sets字段的值一样多次的迭代语句。在实施方式中,i被初始化为0,并且每次执行迭代语句时递增1。重复迭代语句,直到i的值变得等于sps_num_attribute_sets字段的值。迭代语句可以包括attribute_dimension[i]字段、attribute_instance_id[i]字段、attribute_bitdepth[i]字段、attribute_cicp_colour_primaries[i]字段、attribute_cicp_transfer_characteristics[i]字段、attribute_cicp_matrix_coeffs[i]字段、attribute_cicp_video_full_range_flag[i]字段和known_attribute_label_flag[i]字段。
attribute_dimension[i]字段指定第i属性的分量的数目。
attribute_instance_id[i]字段指定第i属性的实例ID。
attribute_bitdepth[i]字段指定第i属性信号的位深度。
attribute_cicp_colour_primaries[i]字段指示第i属性的颜色属性源原色的色度坐标。
attribute_cicp_transfer_characteristics[i]字段要么指示颜色属性的参考光电传递特性函数作为标称真实值范围为0至1的源输入线性光学强度的函数,要么指示参考电光传递特性函数的逆作为输出线性光强度的函数。
attribute_cicp_matrix_coeffs[i]字段描述了在从绿色、蓝色和红色或Y、Z和X原色推导亮度和色度信号时使用的矩阵系数。
attribute_cicp_video_full_range_flag[i]字段指示从E′Y、E′PB和E′PR或E′R、E′G和E′B真实值分量信号推导出的亮度和色度信号的黑色水平和范围。
known_attribute_label_flag[i]字段指定是否针对第i属性发信号通知known_attribute_label字段或attribute_label_four_bytes字段。例如,等于0的known_attribute_label_flag[i]字段的值指定针对第i属性发信号通知known_attribute_label字段。等于1的known_attribute_label_flag[i]字段指定针对第i属性发信号通知attribute_label_four_bytes字段。
known_attribute_label[i]字段可以指定属性类型。例如,等于0的known_attribute_label[i]字段可以指定第i属性是颜色。等于1的known_attribute_label[i]字段指定第i属性是反射率。等于2的known_attribute_label[i]字段可以指定第i属性是帧索引。
attribute_label_four_bytes字段指示具有4字节代码的已知属性类型。
在该示例中,attribute_label_four_bytes字段在等于0时指示颜色并在等于1时指示反射率。
根据实施方式,当sps_extension_present_flag字段等于1时,SPS还可以包括sps_extension_data_flag字段。
sps_extension_data_flag字段可以具有任何值。
根据实施方式,SPS还可以包括如下的邻近点选择相关选项信息。
根据实施方式,邻近点选择相关选项信息可以被包括在迭代次数与上述sps_num_attribute_sets字段的值一样多的迭代语句中。
即,迭代语句还可以包括nn_base_distance_calculation_method_type[i]字段、nearest_neighbour_max_range[i]字段、nearest_neighbour_min_range[i]字段、nn_range_filtering_location_type[i]字段和automatic_nnn_range_calculation_flag[i]字段。
nn_base_distance_calculation_method_type[i]字段可以指示在压缩对应序列的第i属性时应用的基本邻近点距离计算方法。例如,等于0的nn_base_distance_calculation_method_type[i]字段可以指示基本距离的使用。等于1的nn_base_distance_calculation_method_type[i]字段可以指示基于八叉树的最大邻近点距离计算。等于2的nn_base_distance_calculation_method_type[i]字段可以指示基于距离的最大邻近点距离计算。等于3的nn_base_distance_calculation_method_type[i]字段可以指示基于采样的最大邻近点距离计算。等于4的nn_base_distance_calculation_method_type[i]字段可以指示通过计算LOD之间的莫顿码的平均差进行的最大邻近点距离计算。等于5的nn_base_distance_calculation_method_type[i]字段可以指示通过计算LOD之间的平均距离差进行的最大邻近点距离计算。
根据实施方式,当nn_base_distance_calculation_method_type[i]字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance[i]字段。
nn_base_distance[i]字段可以指示在压缩对应序列的第i属性时应用的基本邻近点距离。
nearest_neighbour_max_range[i]字段可以指示在压缩序列的第i属性时应用的最大邻近点范围。根据实施方式,nearest_neighbour_max_range[i]字段的值可以被用作式5中的NN_range的值。根据实施方式,可以使用nearest_neighbour_max_range[i]字段限制作为邻近点登记的点的距离。例如,当LOD是基于八叉树来生成的时,nearest_neighbour_max_range[i]字段的值可以是围绕该点的八叉树节点的数目。
nearest_neighbour_min_range[i]字段可以指示在压缩序列的第i属性时应用的最小邻近点范围。
nn_range_filtering_location_type[i]字段可以指示在压缩序列的第i属性时应用最大邻近点距离的方法。例如,当nn_range_filtering_location_type[i]字段的值为0时,它可以指示在选择邻近点时计算点之间的距离并且没有选择最大邻近点距离之外的点的方法。作为另一示例,当nn_range_filtering_location_type[i]字段的值为1时,它可以指示通过计算点之间的距离来登记所有邻近点并且在所登记的点当中去除超出最大邻近点距离的点的方法。
automatic_nn_range_calculation_flag[i]字段可以指示在压缩序列的第i属性时是否自动地计算最大邻近点范围。例如,当automatic_nn_range_calculation_flag[i]字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag[i]字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type[i]字段和automatic_max_nn_range_in_table[i]字段。
automatic_nn_range_method_type[i]字段可以指示在压缩序列的第i属性时计算最大邻近点范围的方法。
例如,等于1的automatic_nn_range_method_type[i]字段可以指示使用边界框的对角线长度作为分母来估计密度的方法。等于2的automatic_nn_range_method_type[i]字段可以指示使用边界框的对角线长度作为分子来估计密度的方法。等于3的automatic_nn_range_method_type[i]字段可以指示基于边界框的最大轴长度和点的数目来估计密度的方法。等于4的automatic_nn_range_method_type[i]字段可以指示基于边界框的最小轴长度和点的数目来估计密度的方法。等于5的automatic_nn_range_method_type[i]字段可以指示基于中间轴长度和点的数目来估计密度的方法。作为另一示例,等于6的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的最大轴长度和点的数目来估计密度的方法相结合的计算方法。等于7的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的最小轴长度和点的数目来估计密度的方法相结合的计算方法。等于8的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的中间轴长度和点的数目来估计密度的方法相结合的计算方法。等于9的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分子来估计密度的方法与基于边界框的最大轴长度和点的数目来估计密度的方法相结合的计算方法。等于10的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分子来估计密度的方法与基于边界框的最小轴长度和点的数目来估计密度的方法相结合的计算方法。等于11的automatic_nn_range_method_type[i]字段可以指示将使用边界框的对角线长度作为分子来估计密度的方法和基于边界框的中间轴长度和点的数目来估计密度的方法。
automatic_max_nn_range_in_table[i]字段可以指示在压缩序列的第i属性时Kn值的表中的条目的数目。
根据实施方式的SPS可以包括迭代次数与automatic_max_nn_range_in_table[i]字段的值一样多的迭代语句。在这种情况下,根据实施方式,j被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到j值变为automatic_max_nn_range_in_table[i]字段的值为止。该迭代语句可以包括automatic_nn_range_table_k[i][j]字段。
automatic_nn_range_table_k[i][j]字段可以指示在压缩对应序列的第i属性时的Kn值。
图36示出了根据本公开的几何参数集(GPS)(seq_parameter_set_rbsp())的语法结构的实施方式。根据实施方式的GPS可以包含关于对一个或更多个切片中所包含的点云数据中的几何信息进行编码的方法的信息。
根据实施方式,GPS可以包括gps_geom_parameter_set_id字段、gps_seq_parameter_set_id字段、gps_box_present_flag字段、unique_geometry_points_flag字段、neighbour_context_restriction_flag字段、inferred_direct_coding_mode_enabled_flag字段、bitwise_occupancy_coding_flag字段、adjacent_child_contextualization_enabled_flag字段、log2_neighbour_avail_boundary字段、log2_intra_pred_max_node_size字段、log2_trisoup_node_size字段和gps_extension_present_flag字段。
gps_geom_parameter_set_id字段提供GPS的标识符,以供其它语法元素参考。
gps_seq_parameter_set_id字段指定用于活动SPS的sps_seq_parameter_set_id的值。
gps_box_present_flag字段指定是否在参考当前GPS的几何切片头中提供了附加边界框信息。例如,等于1的gps_box_present_flag字段可以指定在参考当前GPS的几何头中提供了附加边界框信息。因此,当gps_box_present_flag字段等于1时,GPS还可以包括gps_gsh_box_log2_scale_present_flag字段。
gps_gsh_box_log2_scale_present_flag字段指定是否在参考当前GPS的每个几何切片头中发信号通知gps_gsh_box_log2_scale字段。例如,等于1的gps_gsh_box_log2_scale_present_flag字段可以指定在参考当前GPS的每个几何切片头中发信号通知gps_gsh_box_log2_scale字段。作为另一示例,等于0的gps_gsh_box_log2_scale_present_flag字段可以指定在每个几何切片头中不发信号通知gps_gsh_box_log2_scale字段并且在当前GPS的gps_gsh_box_log2_scale字段中发信号通知所有切片的公共缩放。
当gps_gsh_box_log2_scale_present_flag字段等于0时,GPS还可以包括gps_gsh_box_log2_scale字段。
gps_gsh_box_log2_scale字段指示参考当前GPS的所有切片的边界框原点的公共缩放因子。
unique_geometry_points_flag字段指示所有输出点是否都具有特有位置。例如,等于1的unique_geometry_points_flag字段指示所有输出点都具有特有位置。等于0的unique_geometry_points_flag字段指示在参考当前GPS的所有切片中,输出点中的两个或更多个可以具有相同的位置。
neighbor_context_restriction_flag字段指示用于八叉树占用编码的上下文。例如,等于0的neighbour_context_restriction_flag字段指示八叉树占用编码使用从六个邻近父节点确定的上下文。等于1的neighbour_context_restriction_flag字段指示八叉树占用编码仅使用从兄弟节点确定的上下文。
inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中是否存在direct_mode_flag字段。例如,等于1的inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中可以存在direct_mode_flag字段。例如,等于0的inferred_direct_coding_mode_enabled_flag字段指示在几何节点语法中不存在direct_mode_flag字段。
bitwise_occupancy_coding_flag字段指示是否使用语法元素占用图的按位上下文化来对几何节点占用进行编码。例如,等于1的bitwise_occupancy_coding_flag字段指示使用语法元素ocupancy_map的按位上下文化来对几何节点占用进行编码。例如,等于0的bitwise_occupancy_coding_flag字段指示使用字典编码的语法元素occupancy_byte来对几何节点占用进行编码。
adjacent_child_contextualization_enabled_flag字段指示邻近八叉树节点的相邻孩子是否用于按位占用上下文化。例如,等于1的adjacent_child_contextualization_enabled_flag字段指示邻近八叉树节点的相邻孩子用于按位占用上下文化。例如,等于0的adjacent_child_contextualization_enabled_flag指示邻近八叉树节点的孩子不用于占用上下文化。
log2_neighbour_avail_boundary字段指定解码处理中使用的变量NeighbAvailBoundary的值如下:
NeighbAvailBoundary=2log2_neighbour_avail_boundary。
例如,当neighbour_context_restriction_flag字段等于1时,NeighbAvailabilityMask可以被设置为等于1。例如,当neighbour_context_restriction_flag字段等于0时,NeighbAvailabilityMask可以被设置为等于1<<log2_neighbour_avail_boundary。
log2_intra_pred_max_node_size字段指定有资格占用帧内预测的八叉树节点大小。
log2_trisoup_node_size字段将变量TrisoupNodeSize指定为三角形节点的大小如下:
TrisoupNodeSize=1<<log2_trisoup_node_size。
gps_extension_present_flag字段指定在GPS语法结构中是否存在gps_extension_data语法结构。例如,等于1的gps_extension_present_flag指定在GPS语法中存在gps_extension_data语法结构。例如,等于0的gps_extension_present_flag指定在GPS语法中不存在该语法结构。
当gps_extension_present_flag字段的值等于1时,根据实施方式的GPS还可以包括gps_extension_data_flag字段。
gps_extension_data_flag字段可以具有任何值。它的存在和值不影响解码器与配置文件的一致性。
图37示出了根据本公开的属性参数集(APS)(attribute_parameter_set())的语法结构的实施方式。根据实施方式的APS可以包含关于对一个或更多个切片中所包含的点云数据中的属性信息进行编码的方法的信息。根据实施方式,APS可以包括邻近点选择相关选项信息。
根据实施方式的APS可以包括aps_attr_parameter_set_id字段、aps_seq_parameter_set_id字段、attr_coding_type字段、aps_attr_initial_qp字段、aps_attr_chroma_qp_offset字段、aps_slice_qp_delta_present_flag字段和aps_flag字段。
aps_attr_parameter_set_id字段提供APS的标识符以供其它语法元素参考。
aps_seq_parameter_set_id字段指示活动SPS的sps_seq_parameter_set_id的值。
attr_coding_type字段指示属性的编码类型。
在该示例中,等于0的attr_coding_type字段指示预测权重提升(或带有预测变换的LOD)作为编码类型。等于1的attr_coding_type字段指示RAHT作为编码类型。等于2的attr_coding_type字段指示固定权重提升(或带有提升变换的LOD)。
aps_attr_initial_qp字段为参考APS的每个切片指示变量SliceQp的初始值。当对slice_qp_delta_luma或slice_qp_delta_luma的非零值进行解码时,在属性切片段层修改SliceQp的初始值。
aps_attr_chroma_qp_offset字段指示到由语法aps_attr_initial_qp发信号通知的初始量化参数的偏移。
aps_slice_qp_delta_present_flag字段指示属性切片头(ASH)中是否存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。例如,等于1的aps_slice_qp_delta_present_flag字段指示ASH中存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。例如,等于0的aps_slice_qp_delta_present_flag字段指示ASH中不存在ash_attr_qp_delta_luma和ash_attr_qp_delta_chroma语法元素。
当attr_coding_type字段的值为0或2时,即,当编码类型为预测权重提升(或带有预测变换的LOD)或固定权重提升(或带有提升变换的LOD)时,根据实施方式的APS还可以包括lifting_num_pred_nearest_neighbours字段、lifting_max_num_direct_predictors字段、lifting_search_range字段、lifting_lod_regular_sampling_enabled_flag字段、lifting_num_detail_levels_minus1字段。
lifting_num_pred_nearest_neighbours字段指示将用于预测的最近邻近点的最大数目(即,X值)。
lifting_max_num_direct_predictors字段指示将用于直接预测的预测器的最大数目。在解码处理中使用的变量MaxNumPredictors的值如下:
MaxNumPredictors=lifting_max_num_direct_predictors字段+1
lifting_search_range字段指示用于确定最近邻近点的搜索范围。
lifting_num_detail_levels_minus1字段指示属性编码的细节层次的数目。
lifting_lod_regular_sampling_enabled_flag字段指示是否通过使用常规采样策略来构建细节层次(LOD)。例如,等于1的lifting_lod_regular_sampling_enabled_flag指示通过使用常规采样策略来构建细节层次(LOD)。等于0的lifting_lod_regular_sampling_enabled_flag指示替代地使用基于距离的采样策略。
根据实施方式的APS包括重复与lifting_num_detail_levels_minus1字段的值一样多的次数的迭代语句。在实施方式中,索引(idx)被初始化为0并且每次执行迭代语句时递增1,并且重复该迭代语句,直到索引(idx)大于lifting_num_detail_levels_minus1字段的值为止。当lifting_lod_decimation_enabled_flag字段的值为真(例如,1)时,迭代语句可以包括lifting_sampling_period[idx]字段,并且当lifting_lod_decimation_enabled_flag字段的值为假(例如,0)时,迭代语句可以包括lifting_sampling_distance_squared[idx]字段。
lifting_sampling_period[idx]字段指示细节层次idx的采样周期。
lifting_sampling_distance_squared[idx]字段指示细节层次idx的采样距离的平方。
当attr_coding_type字段的值为0时,即,当编码类型是预测权重提升(或带有预测变换的LOD)时,根据实施方式的APS还可以包括lifting_adaptive_prediction_threshold字段和lifting_intra_lod_prediction_num_layers字段。
lifting_adaptive_prediction_threshold字段指示用于启用自适应预测的阈值。
lifting_intra_lod_prediction_num_layers字段指示可以参考同一LOD层中的解码点以生成目标点的预测值的LOD层的数目。例如,等于num_detail_levels_minus1加1的lifting_intra_lod_prediction_num_layers字段指示对于所有LOD层,目标点都可以参考同一LOD层中的解码点。例如,等于0的lifting_intra_lod_prediction_num_layers字段指示对于任何LoD层,目标点都不能参考同一LoD层中的解码点。
aps_extension_present_flag字段指示在APS语法结构中是否存在aps_extension_data语法结构。例如,等于1的aps_extension_present_flag字段指示在APS语法结构中存在aps_extension_data语法结构。例如,等于0的aps_extension_present_flag字段指示在APS语法结构中不存在该语法结构。
当aps_extension_present_flag字段的值为1时,根据实施方式的APS还可以包括aps_extension_data_flag字段。
aps_extension_data_flag字段可以具有任何值。它的存在和值不影响解码器与配置文件的一致性。
根据实施方式的APS还可以包括如下的邻近点选择相关选项信息。
当attr_coding_type字段的值为0或2时,即,当编码类型为“预测权重提升(或带有预测变换的LOD)”或“固定权重提升(或带有提升变换的LOD)”时,根据实施方式的APS还可以包括different_nn_range_in_tile_flag字段和different_nn_range_per_lod_flag字段。
different_nn_range_in_tile_flag字段可以指示序列是否正在针对从序列分割出的图块使用不同的最大/最小邻近点范围。
different_nn_range_per_lod_flag字段可以指示是否针对每个LOD使用不同的最大/最小邻近点范围。
例如,当different_nn_range_per_lod_flag字段的值为假(FALSE)时,APS还可以包括nearest_neighbour_max_range字段、nearest_neighbour_min_range字段、nn_base_distance_calculation_method_type字段、nn_range_filtering_location_type字段和automatic_nn_range_calculation_flag字段。
nearest_neighbour_max_range字段可以指示在压缩对应属性时的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range字段限制作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range字段的值可以被用作式5中的NN_range的值。
nearest_neighbour_min_range字段可以指示压缩属性时的最小邻近点范围。
nn_base_distance_calculation_method_type字段可以指示在压缩属性时应用的基本邻近点距离计算方法。
例如,等于0的nn_base_distance_calculation_method_type字段可以指示基本距离的使用。等于1的nn_base_distance_calculation_method_type字段可以指示基于八叉树的最大邻近点距离计算。等于2的nn_base_distance_calculation_method_type字段可以指示基于距离的最大邻近点距离计算。等于3的nn_base_distance_calculation_method_type字段可以指示基于采样的最大邻近点距离计算。等于4的nn_base_distance_calculation_method_type字段可以指示通过计算LOD之间的莫顿码的平均差进行的最大邻近点距离计算。等于5的nn_base_distance_calculation_method_type字段可以指示通过计算LOD之间的平均距离差进行的最大邻近点距离计算。
根据实施方式,当nn_base_distance_calculation_method_type字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance字段。
nn_base_distance字段可以指示在压缩属性时应用的基本邻近点距离。
nn_range_filtering_location_type字段可以指示在压缩对应属性时应用最大邻近点距离的方法。例如,当nn_range_filtering_location_type字段的值为0时,它可以指示在选择邻近点时计算点之间的距离并且没有选择最大邻近点距离之外的点的方法。作为另一示例,当nn_range_filtering_location_type字段的值为1时,它可以指示通过计算点之间的距离来登记所有邻近点并且在所登记的点当中去除超出最大邻近点距离的点的方法。
automatic_nn_range_calculation_flag字段可以指示在压缩对应属性时是否自动地计算最大邻近点范围。例如,当automatic_nn_range_calculation_flag字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type字段和automatic_max_nn_range_in_table字段。
automatic_nn_range_method_type字段可以指示在压缩对应属性时计算最大邻近点范围的方法。
例如,等于1的automatic_nn_range_method_type字段可以指示使用边界框的对角线长度作为分母来估计密度的方法。等于2的automatic_nn_range_method_type字段可以指示使用边界框的对角线长度作为分子来估计密度的方法。等于3的automatic_nn_range_method_type字段可以指示基于边界框的最大轴长度和点的数目来估计密度的方法。等于4的automatic_nn_range_method_type字段可以指示基于边界框的最小轴长度和点的数目来估计密度的方法。等于5的automatic_nn_range_method_type字段可以指示基于中间轴长度和点的数目来估计密度的方法。作为另一示例,等于6的automatic_nn_range_method_type字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的最大轴长度和点的数目来估计密度的方法相结合的计算方法。等于7的automatic_nn_range_method_type字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的最小轴长度和点的数目来估计密度的方法相结合的计算方法。等于8的automatic_nn_range_method_type字段可以指示将使用边界框的对角线长度作为分母来估计密度的方法与基于边界框的中间轴长度和点的数目来估计密度的方法相结合的计算方法。等于9的automatic_nn_range_method_type字段可以指示将使用边界框的对角线长度作为分子来估计密度的方法与基于边界框的最大轴长度和点的数目来估计密度的方法相结合的计算方法。等于10的automatic_nn_range_method_type字段可以指示将使用边界框的对角线长度作为分子来估计密度的方法与基于边界框的最小轴长度和点的数目来估计密度的方法相结合的计算方法。等于11的automatic_nn_range_method_type字段可以指示使用边界框的对角线长度作为分子来估计密度的方法和基于边界框的中间轴长度和点的数目来估计密度的方法。
automatic_max_nn_range_in_table字段可以指示在压缩序列的第i属性时Kn值的表中的条目的数目。
根据实施方式的APS可以包括迭代次数与automatic_max_nn_range_in_table字段的值一样多的迭代语句。在这种情况下,根据实施方式,j被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到j值变为automatic_max_nn_range_in_table字段的值为止。该迭代语句可以包括automatic_nn_range_table_k[j]字段。
automatic_nn_range_table_k[j]字段可以指示在压缩对应序列的第i属性时的Kn值。
根据实施方式,当different_nn_range_per_lod_flag字段的值为TRUE时,APS还包括迭代次数与lifting_num_detail_levels_minus1字段的值一样多的迭代语句。在这种情况下,根据实施方式,索引(idx)被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到索引(idx)大于lifting_num_detail_levels_minus1字段的值为止。该迭代语句还可以包括nearest_neighbour_max_range[idx]字段、nearest_neighbour_min_range[idx]字段、nn_base_distance_calculation_method_type[idx]字段、nn_range_filtering_location_type[idx]字段和automatic_nn_range_calculation_flag[idx]字段。
nearest_neighbour_max_range[idx]字段可以指示针对LOD idx的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range[idx]字段限制作为LOD idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range[idx]字段的值可以被用作LOD idx的NN_range的值。
nearest_neighbour_min_range[idx]字段可以指示LOD idx的最小邻近点范围。
nn_base_distance_calculation_method_type[idx]字段可以指示针对LOD idx的基本邻近点距离计算方法。至于指派给nn_base_distance_calculation_method_type[idx]字段的值以及值的定义(或含义),参照nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type[idx]字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance[idx]字段。
nn_base_distance[idx]字段可以指示针对LOD idx的基本邻近点距离。
nn_range_filtering_location_type[idx]字段可以指示应用针对LOD idx的最大邻近点距离的方法。例如,当nn_range_filtering_location_type[idx]字段的值为0时,它可以指示在选择邻近点时计算点之间的距离并且没有选择最大邻近点距离之外的点的方法。作为另一示例,当nn_range_filtering_location_type[idx]字段的值为1时,它可以指示通过计算点之间的距离来登记所有邻近点并且在所登记的点当中去除超出最大邻近点距离的点的方法。
automatic_nn_range_calculation_flag[idx]字段可以指示是否自动地计算针对LOD idx的最大邻近点范围。例如,当automatic_nn_range_calculation_flag[idx]字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag[i]字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type[idx]字段和automatic_max_nn_range_in_table[idx]字段。
automatic_nn_range_method_type[idx]字段可以指示在压缩对应属性时计算最大邻近点范围的方法。至于指派给automatic_nn_range_method_type[idx]字段的值以及值的定义(或含义),参照值的描述,参照automatic_nn_range_method_type字段的描述。
automatic_max_nn_range_in_table[idx]字段可以指示LOD idx的Kn值的表中的条目的数目。
根据实施方式的APS可以包括迭代次数与automatic_max_nn_range_in_table[idx]字段的值一样多的迭代语句。在这种情况下,根据实施方式,j被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到j值变为automatic_max_nn_range_in_table[idx]字段的值为止。该迭代语句可以包括automatic_nn_range_table_k[idx][j]字段。
automatic_nn_range_table_k[idx][j]字段可以指示针对LOD idx的Kn的值。
图38示出了根据本公开的图块参数集(TPS)(tile_parameter_set())的语法结构的实施方式。根据实施方式,TPS可以被称为图块清单。根据实施方式的TPS包括与每个图块相关的信息。特别地,在该示例中,TPS包括邻近点选择相关选项信息。
根据实施方式的TPS包括num_tiles字段。
num_tiles字段指示针对比特流发信号通知的图块的数目。当不存在时,num_tiles被推断为0。
根据实施方式的TPS包括重复次数与num_tiles字段的值一样多的迭代语句。在实施方式中,i被初始化为0,并且每次执行迭代语句时递增1。重复迭代语句,直到i的值变得等于num_tiles字段的值为止。迭代语句可以包括tile_bounding_box_offset_x[i]字段、tile_bounding_box_offset_y[i]字段、tile_bounding_box_offset_z[i]字段、tile_bounding_box_size_width[i]字段、tile_bounding_box_size_height[i]和tile_bounding_box_size_depth[i]字段。
tile_bounding_box_offset_x[i]字段指示笛卡尔坐标中第i图块的x偏移。
tile_bounding_box_offset_y[i]字段指示笛卡尔坐标中第i图块的y偏移。
tile_bounding_box_offset_z[i]字段指示笛卡尔坐标中第i图块的z偏移。
tile_bounding_box_size_width[i]字段指示笛卡尔坐标中第i图块的宽度。
tile_bounding_box_size_height[i]字段指示笛卡尔坐标中第i图块的高度。
tile_bounding_box_size_depth[i]字段指示笛卡尔坐标中第i图块的深度。
根据实施方式,TPS还可以包括如下的邻近点选择相关选项信息。
根据实施方式,邻近点选择相关选项信息可以被包括在迭代次数与如下的以上提到的num_tiles字段的值一样多的迭代语句中。
根据实施方式,当different_nn_range_in_tile_flag字段的值为TRUE时,迭代语句还可以包括nearest_neighbour_max_range[i]字段、nearest_neighbour_min_range[i]字段、nn_base_distance_calculation_method_type[i]字段、nn_range_filtering_location_type[i]字段和different_nn_range_in_slice_flag[i]字段。
nearest_neighbour_max_range[i]字段可以指示针对第i个图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range[i]字段限制作为邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range[i]字段的值可以被用作式5中的NN_range的值。
nearest_neighbour_min_range[i]字段可以指示第i个图块的最小邻近点范围。
nn_base_distance_calculation_method_type[i]字段可以指示计算第i个图块的基本邻近点距离的方法。至于指派给nn_base_distance_calculation_method_type[i]字段的值以及值的定义(或含义),参照APS的nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type[i]字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance[i]字段。
nn_base_distance[i]字段可以指示第i个图块的基本邻近点距离。
nn_range_filtering_location_type[i]字段可以指示在第i个图块中应用最大邻近点距离的方法。至于指派给nn_range_filtering_location_type[i]字段的值以及值的定义(或含义),参照APS的nn_range_filtering_location_type字段的描述。
different_nn_range_in_slice_flag[i]字段可以指示图块是否针对从图块分割出的切片使用不同的最大/最小邻近点范围。
当different_nn_range_in_slice_flag[i]字段的值为TRUE时,迭代语句还可以包括nearest_neighbour_offset_range_in_slice_flag[i]字段和automatic_nn_range_calculation_flag[i]字段。
nearest_neighbour_offset_range_in_slice_flag[i]字段可以指示切片中定义的最大/最小邻近点范围由在图块中定义的最大/最小邻近点范围中的范围偏移指示或者由绝对值指示。
automatic_nn_range_calculation_flag[i]字段可以指示是否自动地计算应用于第i个图块的最大邻近点范围。例如,当automatic_nn_range_calculation_flag[i]字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag[i]字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type[i]字段和automatic_max_nn_range_in_table[i]字段。
automatic_nn_range_method_type[i]字段可以指示针对第i个图块计算最大邻近点范围的方法。至于指派给automatic_nn_range_method_type[i]字段的值以及值的定义(或含义),参照APS的automatic_nn_range_method_type字段的描述。
automatic_max_nn_range_in_table[i]字段可以指示第i个图块中的Kn值的表中的条目的数目。
根据实施方式的APS可以包括迭代次数与automatic_max_nn_range_in_table[i]字段的值一样多的迭代语句。在这种情况下,根据实施方式,j被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到j值变为automatic_max_nn_range_in_table[i]的值为止。该迭代语句可以包括automatic_nn_range_table_k[i][j]字段。
automatic_nn_range_table_k[i][j]字段可以指示第i个图块中的kn值。
图39示出了根据本公开的几何切片比特流()的语法结构的实施方式。
根据实施方式的几何切片比特流(geometry_slice_bitstream())可以包括几何切片头(geometry_slice_header())和几何切片数据(geometry_slice_data())。
图40示出了根据本公开的几何切片头(geometry_slice_header())的语法结构的实施方式。
根据实施方式的由发送装置发送的比特流(或由接收装置接收的比特流)可以包含一个或更多个切片。每个切片都可以包括几何切片和属性切片。几何切片包括几何切片头(GSH)。属性切片包括属性切片头(ASH)。
根据实施方式的几何切片头(geometry_slice_header())可以包括gsh_geom_parameter_set_id字段、gsh_tile_id字段、gsh_slice_id字段、gsh_max_node_size_log2字段、gsh_num_points字段和byte_alignment()字段。
当GPS中所包括的gps_box_present_flag字段的值为“真”(例如,1),并且gps_gsh_box_log2_scale_present_flag字段的值为“真”(例如,1)时,根据实施方式的几何切片头(geometry_slice_header())还可以包括gsh_box_log2_scale字段、gsh_box_origin_x字段、gsh_box_origin_y字段和gsh_box_origin_z字段。
gsh_geom_parameter_set_id字段指示活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id字段指示GSH引用的图块id的值。
gsh_slice_id指示供其它语法元素引用的切片的id。
gsh_box_log2_scale字段指示切片的边界框原点的缩放因子。
gsh_box_origin_x字段指示按gsh_box_log2_scale字段的值缩放的边界框原点的x值。
gsh_box_origin_y字段指示按gsh_box_log2_scale字段的值缩放的边界框原点的y值。
gsh_box_origin_z字段指示按gsh_box_log2_scale字段的值缩放的边界框原点的z值。
gsh_max_node_size_log2字段指示根几何八叉树节点的大小。
gsh_points_number字段指示切片中编码点的数目。
图41示出了根据本公开的几何切片数据(geometry_slice_data())的语法结构的实施方式。根据实施方式的几何切片数据(geometry_slice_data())可以携带属于对应切片的几何比特流。
根据实施方式的geometry_slice_data()可以包括重复次数与MaxGeometryOctreeDepth的值一样多的第一迭代语句。在实施方式中,每次执行迭代语句时,深度被初始化为0并递增1,并且重复第一迭代语句,直到深度变得等于MaxGeometryOctreeDepth为止。第一迭代语句可以包括重复次数与NumNodesAtDepth的值一样多的第二循环语句。在实施方式中,nodeidx被初始化为0,并且每次执行迭代语句时递增1。重复第二次迭代语句,直到nodeidx变得等于NumNodesAtDepth为止。第二迭代语句可以包括xN=NodeX[depth][nodeIdx],yN=NodeY[depth][nodeIdx],zN=NodeZ[depth][nodeIdx]和geometry_node(depth,nodeIdx,xN,yN,zN)。MaxGeometryOctreeDepth指示几何八叉树深度的最大值,并且NumNodesAtDepth[depth]指示要在对应深度处解码的节点的数目。变量NodeX[depth][nodeIdx]、NodeY[depth][nodeIdx]和NodeZ[depth][nodeIdx]指示在给定深度处按解码顺序的第nodeIdx个节点的x、y、z坐标。深度的节点的几何比特流通过geometry_node(depth,nodeIdx,xN,yN,zN)发送。
当log2_trisoulp_node_size字段的值大于0时,根据实施方式的几何切片数据(geometry_slice_data())还可以包括geometry_trisoulp_data()。即,当三角形节点的大小大于0时,经历trisoup几何编码的几何比特流通过geometry_trisoup_data()发送。
图42示出了根据本公开的attribute_slice_bitstream()的语法结构的实施方式。
根据实施方式的属性切片比特流(attribute_slice_bitstream())可以包括属性切片头(attribute_slice_header())和属性切片数据(attribute_slice_data())。
图43示出了根据本公开的属性切片头(attribute_slice_header())的语法结构的实施方式。根据实施方式的属性切片头包括对应属性切片的信令信息。特别地,在该示例中,属性切片头包括邻近点选择相关选项信息。
根据实施方式的属性切片头(attribute_slice_header())可以包括ash_attr_parameter_set_id字段、ash_attr_sps_attr_idx字段和ash_attr_geom_slice_id字段。
当APS的aps_slice_qp_delta_present_flag字段的值为“真”(例如,1)时,根据实施方式的属性切片头(attribute_slice_header())还可以包括ash_qp_delta_luma字段和ash_qp_delta_chroma字段。
ash_attr_parameter_set_id字段指定当前活动APS的aps_attr_parameter_set_id字段的值(例如,图37中描述的APS中所包括的aps_attr_parameter_set_id字段)。
ash_attr_sps_attr_idx字段标识当前活动SPS中的属性集。ash_attr_sps_attr_idx字段的值在从0至当前活动SPS中所包括的sps_num_attribute_sets字段的范围内。
ash_attr_geom_slice_id字段指定当前几何切片头的gsh_slice_id字段的值。
ash_qp_delta_luma字段指示从活动属性参数集中的初始切片qp推导出的亮度增量量化参数(qp)。
ash_qp_delta_chroma字段指定从活动属性参数集中的初始切片qp推导出的色度增量qp。
根据实施方式的属性切片头(attribute_slice_header())还可以包括如下的邻近点选择相关选项信息。
在实施方式中,当different_nn_range_in_slice_flag字段的值为TURE时,属性切片头还可以包括different_nn_range_per_lod_flag字段。在实施方式中,different_nn_range_in_slice_flag字段在TPS中被发信号通知。
different_nn_range_per_lod_flag字段可以指定是否针对每个LOD使用不同的最大/最小邻近点范围。
例如,当different_nn_range_per_lod_flag字段的值为FLASE并且nearest_neighbour_offset_range_in_slice_flag字段的值为FALSE时,属性切片头还可以包括nearest_neighbour_absolute_max_range字段、nearest_neighbour_absolute_min_range字段、nn_base_distance_calculation_method_type字段、nn_range_filtering_location_type字段和automatic_nn_range_calculation_flag字段。
nearest_neighbour_absolute_max_range字段可以指示在压缩对应切片的属性时的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range字段限制作为切片中的邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range字段的值可以被用作切片的NN_range的值。
nearest_neighbour_absolute_min_range字段可以指示在压缩切片的属性时的最小邻近点范围。
nn_base_distance_calculation_method_type字段可以指示在压缩切片的属性时的基本邻近点距离计算方法。至于指派给nn_base_distance_calculation_method_type字段的值以及值的定义(或含义),参照APS的nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance字段。
nn_base_distance字段可以指定在压缩切片的属性时的基本邻近点距离。
nn_range_filtering_location_type字段可以指示在压缩切片的属性时应用最大邻近点距离的方法。至于指派给nn_range_filtering_location_type字段的值以及值的定义(或含义),参照APS的nn_range_filtering_location_type字段的描述。
automatic_nn_range_calculation_flag字段可以指示在压缩切片的属性时自动地计算最大邻近点范围。例如,当automatic_nn_range_calculation_flag字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type字段和automatic_max_nn_range_in_table字段。
automatic_nn_range_method_type字段可以指示在压缩切片的属性时计算最大邻近点范围的方法。至于指派给automatic_nn_range_method_type字段的值以及值的定义(或含义),参照APS的automatic_nn_range_method_type字段的描述。
automatic_max_nn_range_in_table字段可以指示第i个图块中的Kn值的表中的条目的数目。
根据实施方式,当different_nn_range_per_lod_flag字段的值为FALSE并且nearest_neighbour_offset_range_in_slice_flag字段的值为TRUE时,属性切片头还可以包括nearest_neighbour_max_range_offset字段、nearest_neighbour_min_range_offset字段、nn_base_distance_calculation_method_type字段、nn_range_filtering_location_type字段。
nearest_neighbour_max_range_offset字段可以指示在压缩切片的属性时的最大邻近点范围偏移。根据实施方式,最大邻近点范围偏移的参考是切片所属的图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range_offset字段限制作为切片中的邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range_offset字段的值可以用作切片的NN_range的值的偏移。
nearest_neighbour_min_range_offset字段可以指示在压缩切片的属性时的最小邻近点范围偏移。根据实施方式,最小邻近点范围偏移的参考是切片所属的图块的最小邻近点范围。
nn_base_distance_calculation_method_type字段可以指示在压缩切片的属性时的基本邻近点距离计算方法。至于指派给nn_base_distance_calculation_method_type字段的值以及值的定义(或含义),参照APS的nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance字段。
nn_base_distance字段可以指定在压缩切片的属性时的基本邻近点距离。
nn_range_filtering_location_type字段可以指示在压缩切片的属性时应用最大邻近点距离的方法。至于指派给nn_range_filtering_location_type字段的值以及值的定义(或含义),参照APS的nn_range_filtering_location_type字段的描述。
根据实施方式,当different_nn_range_per_lod_flag字段的值为TRUE并且nearest_neighbour_offset_range_in_slice_flag字段的值为FALSE时,属性切片头还包括迭代次数与lifting_num_detail_levels_minus1字段的值一样多的迭代语句。在这种情况下,根据实施方式,索引(idx)被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到索引(idx)大于lifting_num_detail_levels_minus1字段的值为止。该迭代语句还可以包括nearest_neighbour_absolute_max_range[idx]字段、nearest_neighbour_absolute_min_range[idx]字段、nn_base_distance_calculation_method_type[idx]字段、nn_range_filtering_location_type[idx]字段、automatic_nn_range_calculation_flag[idx]字段。
根据实施方式,lifting_num_detail_levels_minus1字段指示用于属性编码的LOD的数目,并在APS中发信号通知。
nearest_neighbour_absolute_max_range[idx]字段可以指示在压缩切片的属性时针对LOD idx的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_absolute_max_range[idx]字段限制作为切片中的LOD idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_absolute_max_range[idx]字段的值可以被用作切片的LODidx的NN_range的值。
nearest_neighbour_absolute_min_range[idx]字段可以指示在压缩切片的属性时针对LOD idx的最小邻近点范围。
nn_base_distance_calculation_method_type[idx]字段可以指示针对LOD idx的基本邻近点距离计算方法。至于指派给nn_base_distance_calculation_method_type[idx]字段的值以及值的定义(或含义),参照APS的nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type[idx]字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance[idx]字段。
nn_base_distance[idx]字段可以指定针对LOD idx的基本邻近点距离。
nn_range_filtering_location_type[idx]字段可以指示应用针对LOD idx的最大邻近点距离的方法。至于指派给nn_range_filtering_location_type[idx]字段的值以及值的定义(或含义),参照APS的nn_range_filtering_location_type字段的描述。
automatic_nn_range_calculation_flag[idx]字段可以指示是否自动地计算针对LODidx的最大邻近点范围。例如,当automatic_nn_range_calculation_flag[idx]字段的值为0(即,TRUE)时,它可以指示最大邻近点范围的自动计算。
根据实施方式,当automatic_nn_range_calculation_flag[i]字段的值为0时,即,当该字段指示最大邻近点范围的自动计算时,迭代语句还可以包括automatic_nn_range_method_type[idx]字段和automatic_max_nn_range_in_table[idx]字段。
automatic_nn_range_method_type[idx]字段可以指示在压缩对应属性时计算最大邻近点范围的方法。至于指派给automatic_nn_range_method_type[idx]字段的值以及值的定义(或含义),参照APS的automatic_nn_range_method_type字段的描述。
automatic_max_nn_range_in_table[idx]字段可以指示LOD idx的Kn值的表中的条目的数目。
根据实施方式的APS可以包括迭代次数与automatic_max_nn_range_in_table[idx]字段的值一样多的迭代语句。在这种情况下,根据实施方式,j被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到j值变为automatic_max_nn_range_in_table[idx]字段的值为止。该迭代语句可以包括automatic_nn_range_table_k[idx][j]字段。
automatic_nn_range_table_k[idx][j]字段可以指示针对LOD idx的Kn的值。
根据实施方式,当different_nn_range_per_lod_flag字段的值为TRUE并且nearest_neighbour_offset_range_in_slice_flag字段的值为TURE时,属性切片头还包括迭代次数与lifting_num_detail_levels_minus1字段的值一样多的迭代语句。在这种情况下,根据实施方式,索引(idx)被初始化为0,并且每当执行迭代语句时递增1。迭代迭代语句,直到索引(idx)大于lifting_num_detail_levels_minus1字段的值为止。该迭代语句可以包括nearest_neighbour_max_range_offset[idx]字段、nearest_neighbour_max_range_offset[idx]字段、nn_base_distance_calculation_method_type[idx]字段和nn_range_filtering_location_type[idx]字段。
根据实施方式,lifting_num_detail_levels_minus1字段指示用于属性编码的LOD的数目,并在APS中发信号通知。
nearest_neighbour_max_range_offset[idx]字段可以指示在压缩切片的属性时针对LOD idx的最大邻近点范围偏移。根据实施方式,最大邻近点范围偏移的参考是切片所属的图块的最大邻近点范围。根据实施方式,可以使用nearest_neighbour_max_range_offset[idx]字段限制作为切片中的LOD idx的邻近点登记的点的距离。根据实施方式,nearest_neighbour_max_range_offset[idx]字段的值可以用作切片的LOD idx的NN_range的值的偏移。
nearest_neighbour_min_range_offset[idx]字段可以指示在压缩切片的属性时针对LOD idx的最小邻近点范围偏移。根据实施方式,最校邻近点范围偏移的参考是切片所属的图块的最小邻近点范围。
nn_base_distance_calculation_method_type[idx]字段可以指示针对LOD idx的基本邻近点距离计算方法。至于指派给nn_base_distance_calculation_method_type[idx]字段的值以及值的定义(或含义),参照APS的nn_base_distance_calculation_method_type字段的描述。
根据实施方式,当nn_base_distance_calculation_method_type[idx]字段的值为0时,即,当该字段指示输入基本距离的使用时,迭代语句还可以包括nn_base_distance[idx]字段。
nn_base_distance[idx]字段可以指示针对LOD idx的基本邻近点距离。
nn_range_filtering_location_type[idx]字段可以指示应用针对LOD idx的最大邻近点距离的方法。至于指派给nn_range_filtering_location_type[idx]字段的值以及值的定义(或含义),参照APS的nn_range_filtering_location_type字段的描述。
图44示出了根据本公开的属性切片数据(attribute_slice_data())的语法结构的实施方式。根据实施方式的属性切片数据(attribute_slice_data())可以携带属于对应切片的属性比特流。
在图44的属性切片数据(attribute_slice_data())中,dimension=attribute_dimension[ash_attr_sps_attr_idx]表示由对应属性切片头中的ash_attr_sps_attr_idx字段标识的属性集的属性维度(attribute_dimension)。attribute_dimension是指构成属性的分量的数目。根据实施方式的属性表示反射率、颜色等。因此,对于各属性,分量的数目有所不同。例如,对应于颜色的属性可以具有三个颜色分量(例如,RGB)。因此,对应于反射率的属性可以是单维属性,而对应于颜色的属性可以是三维属性。
根据实施方式的属性可以被逐个维度地进行属性编码。
例如,对应于反射率的属性和对应于颜色的属性可以分别被属性编码。根据实施方式,属性可以被一起属性编码,而与维度无关。例如,对应于反射率的属性和对应于颜色的属性可以被一起属性编码。
在图44中,zerorun指示残差之前0的数目)。
在图44中,i表示属性的第i点值。根据实施方式,attr_coding_type字段和lifting_adaptive_prediction_threshold字段在APS中发信号通知。
图44的MaxNumPredictors是在点云数据解码处理中使用的变量,并且可以如下基于在APS中发信号通知的lifting_adaptive_prediction_threshold字段的值来获取。
MaxNumPredictors=lifting_max_num_direct_predictors field+1
这里,lifting_max_num_direct_predictors字段指示要用于直接预测的预测器的最大数目。
根据实施方式,predIndex[i]指定预测器索引(或预测模式)以对属性的第i点值进行解码。predIndex[i]的值范围是从0至lifting_max_num_direct_predictors字段的值。
可以如下地计算根据实施方式的变量MaxPredDiff[i]。
这里,令ki是当前点i的k个最近邻近点的集合,并且令是它们的解码/重构属性值。最近邻近点的数目ki应当在1至lifting_num_pred_nearest_neighbours的范围内。根据实施方式,根据预测提升解码处理推导出邻近点的解码/重构属性值。
lifting_num_pred_nearest_neighbours字段在APS中发信号通知,并指示要用于预测的最近邻近点的最大数目。
图45是根据实施方式的发送点云数据的方法的流程图。
根据实施方式的点云数据发送方法可以包括:对点云数据中所包含的几何进行编码的步骤71001、基于输入和/或重构的几何对点云数据中所包含的属性进行编码的步骤71002以及发送包括编码的几何、编码的属性、和信令信息的比特流的步骤71003。
对点云数据中所包含的几何和属性进行编码的步骤71001和71002可以执行图1的点云视频编码器10002、图2的编码处理20001、图4的点云视频编码器、图12的点云视频编码器、图14的点云编码处理、图15的点云视频编码器或图17的几何编码器和属性编码器的一些或全部操作。
在实施方式中,对属性进行编码的步骤71002可以包括:通过应用基于八叉树的LOD生成方法、基于距离的LOD生成方法或基于采样的LOD生成方法中的至少一种来生成LODl集合;基于LODl集合在具有相同或更低LOD(即,节点之间的距离大)的组中搜索X个(>0)个NN点;以及将该X个NN点作为邻近点集合登记在预测器中。
根据实施方式,对属性进行编码的步骤71002可以通过应用搜索范围和/或最大邻近点距离来配置邻近点集合。
根据实施方式,对属性进行编码的步骤71002可以通过将基本邻近点距离乘以NN_range来获得最大邻近点距离。NN_range是可以在其内选择邻近点的范围,并被称为可以在其内选择邻近点的最大范围、最大邻近点范围、邻近点范围或最近邻范围。
对于下面没有描述的基本邻近点距离、最大邻近点范围和最大邻近点距离的部分,参照以上参考图15至图29给出的描述。
根据实施方式,在对属性进行编码的操作71002中,基本邻近点距离可以通过应用基于八叉树的基本邻近距离计算、基于距离的基本邻近点距离计算、基于采样的基本邻近点距离计算、基于LOD之间的莫顿码的平均差的基本邻近点距离计算、基于LOD之间的平均距离差的基本邻近点距离计算或根据输入基本邻近点距离的基本邻近点距离计算中的至少一种来获得。
根据实施方式,根据基本邻近点距离计算方法计算的基本邻近点距离可以应用于最大邻近点范围和/或最大邻近点距离的计算。另外,包括与基本邻近点距离相关的信息的邻近点选择相关选项信息可以在信令信息中发信号通知和发送。
根据实施方式,在对属性进行编码的操作71002中,可以根据内容的特性自动地或手动地设置最大邻近点范围。
根据实施方式,在对属性进行编码的操作71002中,可以通过估计密度率来自动地计算最大邻近点范围。至于通过估计密度率自动地计算最大邻近点范围的方法的细节,参照以上参考图26和/或图27给出的描述。包括与最大邻近点范围相关的信息的邻近点选择相关选项信息可以在信令信息中发信号通知和发送。
根据实施方式,邻近点选择相关选项信息可以包括关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)、基本邻近点距离信息(例如,nn_base_distance)、最大邻近点范围信息(例如,nearest_neighbore_max_range)、最小邻近点范围信息(例如,nearest_neighbor_min_range)、关于应用最大邻近点距离的方法的信息(例如,nn_range_filtering_location_type)、关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)、关于计算最大邻近点范围的方法的信息(例如,automatic_nn_range_method_type)以及与Kn值相关的信息(例如,automatic_max_nn_range_in_table、automatic_nn_range_table_k)中的至少一个。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的最大点数目的信息(例如,lifting_num_pred_nearest_neighbours)、搜索范围相关信息(例如,lifting_search_range)和/或LOD配置方法。在本公开中,为了简单起见,关于基本邻近点距离计算方法的信息(例如,nn_base_distance_calculation_method_type)和基本邻近点距离信息(例如,nn_base_distance)中的至少一个可以被称为基本邻近点距离相关信息。
根据实施方式,对属性进行编码的步骤71002包括基于LODl集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索X个(例如,3个)NN点,如图28中例示的。然后,仅X个(例如,3个)NN点当中的在最大邻近点距离内的NN点可以被作为邻近点集合登记。参照作为示例的图28,对属性进行编码的步骤71002包括进行实际搜索范围内的点与点Px之间的距离值比较,以搜索X个NN点,并仅将X个点中当中的Px所属的LOD处的最大邻近点距离内的点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于X个点当中的点Px所属的LOD处最大邻近点距离内的点。
根据另一实施方式,对属性进行编码的步骤71002可以包括如图29中例示的基于LOD1集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的X个(例如,3个)NN点,并将该X个(例如,3个)NN点作为邻近点集合登记。参照作为示例的图29,对属性进行编码的步骤71002包括进行实际搜索范围内的点与点Px之间的距离值比较,以从实际搜索范围中的点当中搜索点Px所属的LOD处的最大邻近点距离内的X个(例如,3个)NN点,并将该X个NN点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于点Px所属的LOD处最大邻近点距离内的点。
根据实施方式,对属性进行编码的步骤71002包括当一个或更多个邻近点被登记在各点的预测器中时,通过应用预测模式0至3中的一种来获取各点的预测属性值,并基于各点的原始属性值和预测属性值来获取点的残差属性值。
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
根据实施方式,在对属性进行编码的步骤71002中,如果登记在对应点的预测器中的邻近点的属性值之间的最大差值小于预设阈值,则预测模式0被配置为该点的预测模式。如果最大差值等于或大于预设阈值,则对多种候选预测模式应用RDO方法,并且候选预测模式中的一种被配置为该点的预测模式。在实施方式中,对每个点执行该处理。
根据实施方式,可以在属性切片数据中发送应用于每个点的预测模式。
根据实施方式,步骤71002可以对残差属性值应用量化和零游程长度编码。
在根据实施方式的步骤71001和71002中,可以基于切片或包含一个或更多个切片的图块来执行编码。
步骤71003可以由图1的发送器10003、图2的发送处理20002、图12的发送处理器12012或图15的发送处理器51008执行。
图46是根据实施方式的接收点云数据的方法的流程图。
根据实施方式,点云数据接收方法可以包括:接收编码的几何、编码的属性、和信令信息的步骤81001;基于信令信息来解码几何的步骤81002;基于信令信息和解码/重构的几何来解码属性的步骤81003;以及基于解码的几何和解码的属性来渲染点云数据的步骤81004。
根据实施方式的步骤81001可以由图1中的接收器10005、图2中的发送处理20002或解码处理20003、图13中的接收器13000或接收处理器13001或图20中的接收处理器61001执行。
在根据实施方式的步骤81002和81003中,可以基于切片或包含一个或更多个切片的图块来执行解码。
根据实施方式,步骤81002可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图20的几何解码器或图21的几何解码器的一些或全部操作。
根据实施方式,步骤81003可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图30的属性解码器或图31的属性解码器的一些或全部操作。
根据实施方式,信令信息(例如,SPS、APS、TPS或属性切片头中的至少一个)可以包括邻近点选择相关选项信息。根据实施方式,邻近点选择相关选项信息可以包括与NN_range相关的信息(例如,nearest_neighbor_max_range字段)。根据实施方式,邻近点选择相关选项信息还可以包括关于可以被设置为邻近点的点的最大数目的信息(例如,lifting_num_pred_nearest_neighbours字段)、与搜索范围相关的信息(例如,lifting_search_range字段)、关于LOD配置方法的信息或关于基本邻近点距离的信息中的至少一个。
在实施方式中,对属性进行解码的步骤81003可以包括通过应用基于八叉树的LOD生成方法、基于距离的LOD生成方法或基于采样的LOD生成方法中的至少一种来生成LODl集合,基于LODl集合在具有相同或更低LOD(即,节点之间的距离大)的组中搜索X个(>0)个NN点并将该X个NN点作为邻近点集合登记在预测器中。在实施方式中,LOD生成方法在信令信息(例如,APS)中发信号通知。
根据实施方式,对属性进行解码的步骤81003可以通过应用搜索范围和/或最大邻近点距离来配置邻近点集合。
根据实施方式,对属性进行编码的步骤81003可以通过将基本邻近点距离乘以NN_range来获得最大邻近点距离。NN_range是可以在其中选择邻近点的范围,并被称为可以在其中选择邻近点的最大范围、最大邻近点范围、邻近点范围或NN范围。
对于下面没有描述的搜索范围、基本邻近点距离、最大邻近点范围和最大邻近点距离的部分,参照以上参考图15至图31给出的描述。
根据实施方式,在对属性进行解码的操作81003中,可以基于与信令信息中的邻近点选择相关选项信息中所包括的基本邻近点距离相关的信息来获取基本邻近点距离。
根据实施方式,在对属性进行解码的操作81003中,可以根据内容的特性自动地或手动地设置最大邻近点范围。根据实施方式,在对属性进行解码的操作81003中,可以使用信令信息中所包括的邻近点选择相关选项信息根据内容的特性自动地或手动地设置最大邻近点范围。
根据实施方式,在对属性进行解码的操作81003中,可以从邻近点选择相关选项信息直接获取最大邻近点范围。另选地,可以基于邻近点选择相关选项信息来自动地计算最大邻近点范围。
根据实施方式,在对属性进行解码的操作81003中,可以根据邻近点选择相关选项信息中所包括的关于是否自动地计算最大邻近点范围的信息(例如,automatic_nn_range_calculation_flag)来自动地计算最大邻近点范围(NN_range)。例如,当关于是否自动地计算最大范围的信息(例如,automatic_nn_range_calculation_flag)指示自动计算时,可以基于如邻近点选择相关选项信息中所包括的与基本邻近点距离相关的信息、关于计算最大邻近点范围的方法的信息和/或与Kn值相关的信息来自动地计算最大邻近点范围(NN_range)。
根据实施方式,对属性进行解码的步骤81003包括基于LODl集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索X个(例如,3个)NN点,如图28中例示的。然后,仅X个(例如,3个)NN点当中的最大邻近点距离内的NN点可以被作为邻近点集合登记。参照作为示例的图28,对属性进行解码的步骤81003包括进行实际搜索范围内的点与点Px之间的距离值比较,以搜索X个NN点,并仅将X个点中当中的Px所属的LOD处的最大邻近点距离内的点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于X个点当中的点Px所属的LOD处最大邻近点距离内的点。
根据另一实施方式,对属性进行解码的步骤81003可以包括如图29中例示的基于LOD1集合来在具有相同或更低LOD(即,节点之间的距离大)的组中的搜索范围内的点当中搜索最大邻近点距离内的X个(例如,3个)NN点,并将该X个(例如,3个)NN点作为邻近点集合登记。参照作为示例的图29,对属性进行解码的步骤81003包括进行实际搜索范围内的点与点Px之间的距离值比较,以从实际搜索范围中的点中搜索点Px所属的LOD处的最大邻近点距离内的X个(例如,3个)NN点,并将该X个NN点作为点Px的邻近点集合登记。即,被作为点Px的邻近点集合登记的邻近点限于点Px所属的LOD处最大邻近点距离内的点。
根据实施方式,对属性进行解码的步骤81003可以包括当一个或更多个邻近点被登记在特定点的预测器中时,通过应用预测模式0至3中的一种来获取对应点的预测属性值。
根据实施方式,预测模式0是通过加权平均来计算预测属性值的模式,预测模式1是将第一邻近点的属性确定为预测属性值的模式,预测模式2是将第二邻近点的属性确定为预测属性值的模式,并且预测模式3是将第三邻近点的属性确定为预测属性值的模式。
根据实施方式,特定点的预测模式可以被配置为默认的,并且可以在属性切片数据中发信号通知指示预测模式的预测器索引信息(predIndex)。
根据实施方式,当在属性切片数据中未发信号通知点的预测器索引信息时,步骤81003可以基于预测模式0预测待解码点的属性值。
根据实施方式,当在属性切片数据中发信号通知点的预测器索引信息时,步骤81003可以基于在属性切片数据中发信号通知的预测模式来预测待解码点的属性值。
根据实施方式,步骤81003可以通过将点的预测属性值与点的接收的残差属性值相加来恢复点的属性值。在实施方式中,可以通过对每个点执行该处理来恢复每个点的属性值。
根据实施方式,步骤81003可以在接收到的残差属性值被零游程长度编码时在恢复属性值之前对接收到的残差属性值执行零游程长度解码,这是发送侧的零游程长度编码的逆处理。
在根据实施方式的渲染点云数据的步骤81004中,可以根据各种渲染方法来渲染点云数据。例如,点云内容中的点可以被渲染在具有一定厚度的顶点、以顶点位置为中心的特定最小尺寸的立方体或以顶点位置为中心的圆上。通过显示器(例如,VR/AR显示器、常见显示器等)向用户提供渲染后的点云内容的全部或部分。
根据实施方式的步骤81004可以由图1中的渲染器10007、图2中的渲染处理20004或图13中的渲染器13011执行。
如上所述,根据本公开,在点云内容的属性编码期间,通过考虑内容点之间的属性相关性来配置邻近点集合时,排除无意义邻近点的选择,并且可以选择有意义的邻近点。然后,由于残差属性值减小并由此比特流大小减小,因此提高了属性的压缩效率。换句话说,在本公开中,使用限制考虑到内容中点之间的属性相关性可以被选择作为邻近点集合的点的方法来提高属性的压缩效率。
上述每个部分、模块或单元可以是执行存储在存储器(或存储单元)中的连续过程的软件、处理器或硬件部分。在以上实施方式中描述的每个步骤可以由处理器、软件或硬件部分执行。在以上实施方式中描述的每个模块/块/单元可以作为处理器、软件或硬件操作。另外,实施方式提出的方法可以被作为代码执行。该代码可以被写到处理器可读存储介质上,因此,供被由设备提供的处理器读取。
在本说明书中,当部分“包括”或“包含”元件时,这意味着,该部分还包括或包括另一个元件,除非另外提到。另外,说明书中公开的术语“...模块(或单元)”意指用于处理至少一个功能或操作的单元,并且可以由硬件、软件或硬件与软件的组合来实现。
尽管为了简便起见参考附图中的每一个说明了实施方式,但可以通过合并在附图中例示的实施方式来设计新的实施方式。如果本领域的技术人员设计出记录有用于执行以上描述中提到的实施方式的程序的计算机可读的记录介质,则该记录介质可以落入所附权利要求书及其等同物的范围内。
设备和方法可以不受上述实施方式的配置和方法的限制。上述实施方式可以通过完全或部分地相互选择性组合来配置,以使得能够进行各种修改。
尽管已经参考附图描述了优选实施方式,但本领域技术人员将领会,在不脱离在所附权利要求书中描述的本公开的精神或范围的情况下,可以在实施方式中进行各种修改和变形。这种修改将不被独立于实施方式的技术思路或观点来理解。
实施方式的设备的各种元件可以由硬件、软件、固件或其组合来实现。实施方式中的各种元件可以由单个芯片(例如,单个硬件电路)来实现。根据实施方式,根据实施方式的部件可以被分别实现为单独的芯片。根据实施方式,根据实施方式的设备的至少一个或更多个部件可以包括能够执行一个或更多个程序的一个或更多个处理器。所述一个或更多个程序可以执行根据实施方式的操作/方法中的任一个或更多个,或包括用于执行其的指令。用于执行根据实施方式的设备的方法/操作的可执行指令可以被存储在非暂态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.一种点云数据发送方法,该点云数据发送方法包括以下步骤:
获取点云数据;
对包括所述点云数据的点的位置的几何信息进行编码;
基于所述几何信息来生成一个或更多个细节层次LOD,并基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点,其中,所选择的每个点的一个或更多个邻近点位于最大邻近点距离内;
基于所选择的每个点的一个或更多个邻近点对每个点的属性信息进行编码;以及
发送编码的几何信息、编码的属性信息、和信令信息。
2.根据权利要求1所述的点云数据发送方法,
其中,所述最大邻近点距离是基于基本邻近点距离和最大邻近点范围来确定的。
3.根据权利要求2所述的点云数据发送方法,
其中,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离是基于特定LOD处的一个节点的对角线距离来确定的。
4.根据权利要求2所述的点云数据发送方法,
其中,选择所述一个或更多个邻近点的步骤包括:
基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度;以及
根据所估计的密度来自动地计算所述最大邻近点范围。
5.根据权利要求2所述的点云数据发送方法,
其中,在所述信令信息中发信号通知与所述最大邻近点范围相关的信息。
6.一种点云数据发送设备,该点云数据发送设备包括:
获取单元,该获取单元被配置为获取点云数据;
几何编码器,该几何编码器被配置为对包括所述点云数据的点的位置的几何信息进行编码;
属性编码器,该属性编码器被配置为基于所述几何信息来生成一个或更多个细节层次LOD,基于所述一个或更多个LOD来选择要被属性编码的每个点的一个或更多个邻近点,并基于所选择的每个点的一个或更多个邻近点对每个点的属性信息进行编码,其中,所选择的每个点的一个或更多个邻近点位于最大邻近点距离内;以及
发送器,该发送器被配置为发送编码的几何信息、编码的属性信息、和信令信息。
7.根据权利要求6所述的点云数据发送设备,
其中,所述最大邻近点距离是基于基本邻近点距离和最大邻近点范围来确定的。
8.根据权利要求7所述的点云数据发送设备,
其中,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离是基于特定LOD处的一个节点的对角线距离来确定的。
9.根据权利要求7所述的点云数据发送设备,
其中,所述属性编码器基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度,并根据所估计的密度来自动地计算所述最大邻近点范围。
10.根据权利要求7所述的点云数据发送设备,
其中,在所述信令信息中发信号通知与所述最大邻近点范围相关的信息。
11.一种点云数据接收设备,该点云数据接收设备包括:
接收器,该接收器被配置为接收几何信息、属性信息和信令信息;
几何解码器,该几何解码器被配置为基于所述信令信息对所述几何信息进行解码;
属性解码器,该属性解码器被配置为基于所述几何信息来生成一个或更多个细节层次LOD,基于所述一个或更多个LOD来选择要被属性解码的每个点的一个或更多个邻近点,并基于所选择的每个点的一个或更多个邻近点和所述信令信息对每个点的属性信息进行解码,其中,所选择的每个点的一个或更多个邻近点位于最大邻近点距离内;以及
渲染器,该渲染器被配置为渲染基于解码的几何信息以及解码的属性信息恢复的点云数据。
12.根据权利要求11所述的点云数据接收设备,
其中,所述最大邻近点距离是基于基本邻近点距离和最大邻近点范围来确定的。
13.根据权利要求12所述的点云数据接收设备,
其中,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离是基于特定LOD处的一个节点的对角线距离来确定的。
14.根据权利要求12所述的点云数据接收设备,
其中,所述属性解码器基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度,并根据所估计的密度来自动地计算所述最大邻近点范围。
15.根据权利要求12所述的点云数据接收设备,
其中,所述属性解码器从所述信令信息获取所述最大邻近点范围。
16.一种点云数据接收方法,该点云数据接收方法包括以下步骤:
接收几何信息、属性信息和信令信息;
基于所述信令信息对所述几何信息进行解码;
基于所述几何信息来生成一个或更多个细节层次LOD;
基于所述一个或更多个LOD来选择要被属性解码的每个点的一个或更多个邻近点;
基于所选择的每个点的一个或更多个邻近点和所述信令信息对每个点的属性信息进行解码,其中,所选择的每个点的一个或更多个邻近点位于最大邻近点距离内;以及
渲染基于解码的几何信息以及解码的属性信息恢复的点云数据。
17.根据权利要求16所述的点云数据接收方法,
其中,所述最大邻近点距离是基于基本邻近点距离和最大邻近点范围来确定的。
18.根据权利要求17所述的点云数据接收方法,
其中,当基于八叉树来生成所述一个或更多个LOD时,所述基本邻近点距离是基于特定LOD处的一个节点的对角线距离来确定的。
19.根据权利要求17所述的点云数据接收方法,
其中,所述属性解码器基于所述基本邻近点距离和所述点云数据的边界框的对角线长度来估计所述点云数据的密度,并根据所估计的密度来自动地计算所述最大邻近点范围。
20.根据权利要求17所述的点云数据接收方法,
其中,所述属性解码器从所述信令信息获取所述最大邻近点范围。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0044852 | 2020-04-13 | ||
KR20200044852 | 2020-04-13 | ||
PCT/KR2021/000588 WO2021210764A1 (ko) | 2020-04-13 | 2021-01-15 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115462083A true CN115462083A (zh) | 2022-12-09 |
Family
ID=78007126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180028349.4A Pending CN115462083A (zh) | 2020-04-13 | 2021-01-15 | 发送点云数据的设备、发送点云数据的方法、接收点云数据的设备和接收点云数据的方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11328440B2 (zh) |
EP (1) | EP4138393A4 (zh) |
KR (1) | KR102406845B1 (zh) |
CN (1) | CN115462083A (zh) |
WO (1) | WO2021210764A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259678A (zh) * | 2020-02-10 | 2021-08-13 | 腾讯美国有限责任公司 | 对点云信息进行编解码的方法和装置 |
US11417030B2 (en) * | 2020-02-10 | 2022-08-16 | Tencent America LLC | Context modeling of occupancy coding for point cloud coding |
EP4092625A4 (en) * | 2020-04-08 | 2023-04-19 | LG Electronics, Inc. | POINT CLOUD DATA TRANSMISSION DEVICE, TRANSMISSION METHOD, PROCESSING DEVICE AND PROCESSING METHOD |
KR102406845B1 (ko) * | 2020-04-13 | 2022-06-10 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
US12026922B2 (en) * | 2020-06-26 | 2024-07-02 | Qualcomm Incorporated | Attribute parameter coding for geometry-based point cloud compression |
US11954891B2 (en) * | 2020-06-30 | 2024-04-09 | Electronics And Telecommunications Research Institute | Method of compressing occupancy map of three-dimensional point cloud |
WO2023136618A1 (ko) * | 2022-01-12 | 2023-07-20 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치 |
CN114596196A (zh) * | 2022-03-04 | 2022-06-07 | 北京百度网讯科技有限公司 | 点云数据的滤波方法和装置、设备以及存储介质 |
US20230316585A1 (en) * | 2022-03-31 | 2023-10-05 | Tencent America LLC | Atlas sampling based mesh compression with charts of general topology |
WO2024063608A1 (ko) * | 2022-09-22 | 2024-03-28 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
KR102578113B1 (ko) * | 2023-04-10 | 2023-09-14 | 전남대학교 산학협력단 | 3차원 객체 형상 획득 시스템 및 방법 |
CN116147525B (zh) * | 2023-04-17 | 2023-07-04 | 南京理工大学 | 一种基于改进icp算法的受电弓轮廓检测方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012179370A (ja) * | 2000-04-19 | 2012-09-20 | Orametrix Inc | 歯の口内走査に基づいたインタラクティブな歯列矯正ケアシステム |
KR20130004173A (ko) * | 2011-07-01 | 2013-01-09 | 한국항공대학교산학협력단 | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CN106558095A (zh) * | 2015-09-30 | 2017-04-05 | 捷荣科技集团有限公司 | 一种基于人体模型的穿衣展示方法和系统 |
CN107247916A (zh) * | 2017-04-19 | 2017-10-13 | 广东工业大学 | 一种基于Kinect的三维人脸识别方法 |
US20190081638A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Hierarchical point cloud compression |
CN110024389A (zh) * | 2016-11-21 | 2019-07-16 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法及解码方法 |
US20190311501A1 (en) * | 2018-04-10 | 2019-10-10 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US20190311502A1 (en) * | 2018-04-10 | 2019-10-10 | Apple Inc. | Point cloud attribute transfer algorithm |
CN110870318A (zh) * | 2017-07-13 | 2020-03-06 | 交互数字Vc控股公司 | 一种用于对表示3d物体的几何形状和颜色的彩色点云进行编码/解码的方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3170047A4 (en) * | 2014-07-15 | 2018-05-30 | Ostendo Technologies, Inc. | Preprocessor for full parallax light field compression |
US9734595B2 (en) * | 2014-09-24 | 2017-08-15 | University of Maribor | Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds |
US10223810B2 (en) * | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
KR20190035678A (ko) * | 2016-07-08 | 2019-04-03 | 브이아이디 스케일, 인크. | 지오메트리 투영을 이용한 360도 비디오 코딩 |
CN109644262A (zh) * | 2016-08-25 | 2019-04-16 | Lg电子株式会社 | 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置 |
CN107403456B (zh) * | 2017-07-28 | 2019-06-18 | 北京大学深圳研究生院 | 一种基于kd树和优化图变换的点云属性压缩方法 |
US20190104326A1 (en) * | 2017-10-03 | 2019-04-04 | Qualcomm Incorporated | Content source description for immersive media data |
CN108460791A (zh) * | 2017-12-29 | 2018-08-28 | 百度在线网络技术(北京)有限公司 | 用于处理点云数据的方法和装置 |
CN108335335B (zh) * | 2018-02-11 | 2019-06-21 | 北京大学深圳研究生院 | 一种基于增强图变换的点云属性压缩方法 |
US10909726B2 (en) * | 2018-04-10 | 2021-02-02 | Apple Inc. | Point cloud compression |
US10984541B2 (en) * | 2018-04-12 | 2021-04-20 | Samsung Electronics Co., Ltd. | 3D point cloud compression systems for delivery and access of a subset of a compressed 3D point cloud |
US10853973B2 (en) * | 2018-10-03 | 2020-12-01 | Apple Inc. | Point cloud compression using fixed-point numbers |
US11831861B2 (en) * | 2019-08-12 | 2023-11-28 | Intel Corporation | Methods for viewport-dependent adaptive streaming of point cloud content |
US11477483B2 (en) * | 2020-01-08 | 2022-10-18 | Apple Inc. | Video-based point cloud compression with variable patch scaling |
KR102406845B1 (ko) * | 2020-04-13 | 2022-06-10 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
-
2020
- 2020-12-30 KR KR1020200188139A patent/KR102406845B1/ko active IP Right Grant
-
2021
- 2021-01-15 CN CN202180028349.4A patent/CN115462083A/zh active Pending
- 2021-01-15 WO PCT/KR2021/000588 patent/WO2021210764A1/ko unknown
- 2021-01-15 EP EP21787561.6A patent/EP4138393A4/en active Pending
- 2021-01-25 US US17/157,198 patent/US11328440B2/en active Active
-
2022
- 2022-04-18 US US17/722,846 patent/US11830212B2/en active Active
-
2023
- 2023-10-31 US US18/498,755 patent/US20240070890A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012179370A (ja) * | 2000-04-19 | 2012-09-20 | Orametrix Inc | 歯の口内走査に基づいたインタラクティブな歯列矯正ケアシステム |
KR20130004173A (ko) * | 2011-07-01 | 2013-01-09 | 한국항공대학교산학협력단 | 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 |
CN106558095A (zh) * | 2015-09-30 | 2017-04-05 | 捷荣科技集团有限公司 | 一种基于人体模型的穿衣展示方法和系统 |
CN110024389A (zh) * | 2016-11-21 | 2019-07-16 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法及解码方法 |
CN107247916A (zh) * | 2017-04-19 | 2017-10-13 | 广东工业大学 | 一种基于Kinect的三维人脸识别方法 |
CN110870318A (zh) * | 2017-07-13 | 2020-03-06 | 交互数字Vc控股公司 | 一种用于对表示3d物体的几何形状和颜色的彩色点云进行编码/解码的方法和装置 |
US20190081638A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Hierarchical point cloud compression |
US20190311501A1 (en) * | 2018-04-10 | 2019-10-10 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US20190311502A1 (en) * | 2018-04-10 | 2019-10-10 | Apple Inc. | Point cloud attribute transfer algorithm |
Non-Patent Citations (1)
Title |
---|
KHALED ETAL: "G-PCC codec description v2", INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO, 30 April 2018 (2018-04-30) * |
Also Published As
Publication number | Publication date |
---|---|
KR102406845B1 (ko) | 2022-06-10 |
US20220245847A1 (en) | 2022-08-04 |
EP4138393A1 (en) | 2023-02-22 |
EP4138393A4 (en) | 2024-03-27 |
US11830212B2 (en) | 2023-11-28 |
KR20210127070A (ko) | 2021-10-21 |
US11328440B2 (en) | 2022-05-10 |
US20210319581A1 (en) | 2021-10-14 |
US20240070890A1 (en) | 2024-02-29 |
WO2021210764A1 (ko) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114503571B (zh) | 点云数据发送装置和方法、点云数据接收装置和方法 | |
US11138688B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN113615204B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
EP4068213B1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method | |
US11830212B2 (en) | Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method | |
CN113597771A (zh) | 用于处理点云数据的设备和方法 | |
CN114175100A (zh) | 用于处理点云数据的方法和装置 | |
US20220383552A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114073085A (zh) | 点云数据处理方法和设备 | |
EP4131975A1 (en) | Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method | |
CN115918092A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN115210765A (zh) | 点云数据发送装置、发送方法、处理装置和处理方法 | |
US20230260163A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114009046A (zh) | 用于处理点云数据的装置和方法 | |
CN114073086A (zh) | 点云数据处理设备和方法 | |
US20220230360A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
KR20230173094A (ko) | 포인트 클라우드 데이터 전송 방법, 포인트 클라우드데이터 전송 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치 | |
CN115668919A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN116965019A (zh) | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 | |
CN116508318A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置及点云数据接收方法 | |
CN114930860A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114402624A (zh) | 点云数据处理设备和方法 | |
US20230045663A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN114503586B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
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 |