CN114616827A - 点云数据发送装置及方法、点云数据接收装置及方法 - Google Patents
点云数据发送装置及方法、点云数据接收装置及方法 Download PDFInfo
- Publication number
- CN114616827A CN114616827A CN202080069482.XA CN202080069482A CN114616827A CN 114616827 A CN114616827 A CN 114616827A CN 202080069482 A CN202080069482 A CN 202080069482A CN 114616827 A CN114616827 A CN 114616827A
- Authority
- CN
- China
- Prior art keywords
- attribute
- point
- prediction mode
- point cloud
- value
- 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 254
- 230000011664 signaling Effects 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims description 34
- 238000009877 rendering Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 86
- 230000000875 corresponding effect Effects 0.000 description 83
- 238000013139 quantization Methods 0.000 description 75
- 230000009466 transformation Effects 0.000 description 38
- 230000006835 compression Effects 0.000 description 25
- 238000007906 compression Methods 0.000 description 25
- 230000003044 adaptive effect Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 16
- 235000014347 soups Nutrition 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000005070 sampling Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000002310 reflectometry Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 238000010187 selection method Methods 0.000 description 7
- 210000003128 head Anatomy 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000002596 correlated effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000009826 distribution Methods 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
- 238000005457 optimization Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006837 decompression Effects 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
- 238000001914 filtration Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- WPNJAUFVNXKLIM-UHFFFAOYSA-N Moxonidine Chemical compound COC1=NC(C)=NC(Cl)=C1NC1=NCCN1 WPNJAUFVNXKLIM-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002156 mixing Methods 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
- 230000000737 periodic effect Effects 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
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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/004—Predictors, e.g. intraframe, interframe 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
本文中公开的是一种发送点云数据的方法。该方法可以包括以下步骤:获取点云数据;对包括所述点云数据中的点的位置的几何信息进行编码;基于所述几何信息对包括所述点云数据中的点的属性值的属性信息进行编码;以及发送编码后的所述几何信息、编码后的所述属性信息和信令信息。
Description
技术领域
实施方式涉及用于处理点云内容的方法和设备。
背景技术
点云内容是由点云表示的内容,点云是属于表示三维空间的坐标系的点的集合。点云内容可以表示以三维配置的媒体,并用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、XR(扩展现实)和自动驾驶这样的各种服务。然而,需要几万到几十万个点数据来表示点云内容。因此,需要高效处理大量点数据的方法。
发明内容
技术问题
为解决上述问题而设计的本公开的目的是提供用于高效发送和接收点云的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于应对等待时间和编码/解码复杂度的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于通过改进基于几何的点云压缩(G-PCC)的属性信息的编码技术来改善点云的压缩性能的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于增强压缩效率同时支持G-PCC的属性信息的并行处理的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的另一目的是提供用于通过提出在对G-PCC的属性信息进行编码时选择预测器候选当中的适当预测器候选的方法来减少属性比特流的大小并增强属性的压缩效率的点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法。
本公开的目的不限于以上提到的目的,并且本领域的普通技术人员在查阅了以下描述后,以上未提到的本公开的其它目的将变得清楚。
问题的解决方案
为了实现这些目的和其它优点并按照本公开的目的,如本文中实施和广义描述的,一种发送点云数据的方法可以包括以下步骤:获取点云数据,对包括所述点云数据中的点的位置的几何信息进行编码,基于所述几何信息对包括所述点云数据中的点的属性值的属性信息进行编码;以及发送编码后的所述几何信息、编码后的所述属性信息和信令信息。
根据实施方式,对所述属性信息进行编码包括以下步骤:基于待编码点的最近邻近点来生成预测器候选,获得每个预测器候选的得分并将与具有最小得分的预测器候选相对应的预测模式设置为所述点的预测模式,以及对所述点的预测模式和基于所述点的预测模式获得的所述点的残差属性值进行编码。
根据实施方式,所述最近邻近点的属性值之间的最大差值等于或大于阈值。
根据实施方式,对所述属性信息进行编码将预测模式1、预测模式2或预测模式3中的一种设置为所述点的预测模式,所述预测模式1下的所述点的预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
根据实施方式,对所述属性信息进行编码基于通过应用所述预测模式1、所述预测模式2和所述预测模式3中的每一种而获得的每个残差属性值来获得每个预测器候选的所述得分。
根据实施方式,对所述属性信息进行编码还包括以下步骤:当所述最近邻近点的属性值之间的最大差值小于所述阈值时,将预定义的预测模式设置为所述点的预测模式,以及对基于所设置的预测模式而获得的残差属性值进行编码。
根据实施方式,所述预定义的预测模式是预测模式0,并且所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
根据实施方式,一种点云数据发送设备可以包括:获取单元,该获取单元用于获取点云数据;几何编码器,该几何编码器用于对包括所述点云数据中的点的位置的几何信息进行编码;属性编码器,该属性编码器用于基于所述几何信息对包括所述点云数据中的点的属性值的属性信息进行编码;以及发送器,该发送器用于发送编码后的所述几何信息、编码后的所述属性信息和信令信息。
根据实施方式,所述属性编码器基于待编码点的最近邻近点来生成预测器候选,获得每个预测器候选的得分,将与具有最小得分的预测器候选相对应的预测模式设置为所述点的预测模式,并对所述点的预测模式和基于所述点的预测模式而获得的所述点的残差属性值进行编码。
根据实施方式,所述最近邻近点的属性值之间的最大差值等于或大于阈值。
根据实施方式,所述属性编码器将预测模式1、预测模式2或预测模式3中的一种设置为所述点的预测模式,所述预测模式1下的所述点的预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
根据实施方式,所述属性编码器基于通过应用所述预测模式1、所述预测模式2和所述预测模式3中的每一种而获得的每个残差属性值来获得每个预测器候选的所述得分。
根据实施方式,所述属性编码器还在所述最近邻近点的属性值之间的最大差值小于所述阈值时,将预定义的预测模式设置为所述点的预测模式,并对基于所设置的预测模式而获得的残差属性值进行编码,
根据实施方式,所述预定义的预测模式是预测模式0,并且所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
根据实施方式,一种点云数据接收设备可以包括:接收器,该接收器用于接收几何信息、属性信息和信令信息;几何解码器,该几何解码器用于基于所述信令信息对所述几何信息进行解码并恢复点的位置;属性解码器,该属性解码器用于基于所述信令信息和所述几何信息对所述属性信息进行解码,并恢复所述点的属性值;以及渲染器,所述渲染器用于对基于所述点的位置和属性值而恢复的点云数据进行渲染。
根据实施方式,所述属性解码器获得待解码的点的预测模式,基于所述点的预测模式来获得所述点的预测属性值,并基于所述属性信息中的所述点的所述预测属性值和所述点的残差属性值来恢复所述点的属性值。
根据实施方式,当所述点的最近邻近点的属性值之间的最大差值等于或大于阈值时,所述属性解码器从所述属性信息获得所述点的预测模式,并且所获得的所述点的预测模式是预测模式1、预测模式2或预测模式3中的一种。
根据实施方式,所述预测模式1下的所述点的所述预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
根据实施方式,当所述最近邻近点的属性值之间的最大差值小于所述阈值时,所述点的预测模式是预定义的预测模式,并对基于所设置的预测模式而获得的残差属性值进行编码。
根据实施方式,所述预定义的预测模式是预测模式0,并且所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
本发明的有利效果
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供高质量的点云服务。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以实现各种视频编码方法。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云接收装置可以提供诸如自动驾驶服务(或自主驾驶服务)这样的通用点云内容。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以执行点云数据的空间自适应划分以用于点云数据的独立编码和解码,由此改善并行处理并提供可扩展性。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以通过以图块和/或切片为单位对点云数据并因此对信号必要数据进行空间分割来执行编码和解码,由此提高点云的编码和解码性能。
根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以改变在对属性信息进行编码时在预测器候选当中选择最合适的预测器的方法,由此减小属性信息的比特流大小并增强属性信息的压缩效率。
当在对应点的预测器中登记的邻近点的属性值之间的最大差值大于或等于预设阈值时,根据实施方式的点云数据发送方法、点云数据发送装置、点云数据接收方法和点云数据接收装置可以通过不允许将用于通过加权平均计算预测属性值的预测模式设置为点的预测模式来减小包括残差属性值的属性比特流的大小。由此,可以增强属性的压缩效率。
附图说明
附图被包括进来以提供对本公开的进一步理解,并且被并入本申请的一部分中并构成本申请的部分,例示了本公开的实施方式并且与说明书一起用来说明本公开的原理。在附图中:
图1例示了根据实施方式的示例性点云内容提供系统。
图2是例示了根据实施方式的点云内容提供操作的框图。
图3例示了根据实施方式的捕获点云视频的示例性处理。
图4例示了根据实施方式的点云视频编码器的示例性框图。
图5例示了根据实施方式的3D空间中的体素的示例。
图6例示了根据实施方式的八叉树和占用码的示例。
图7例示了根据实施方式的邻近节点图案的示例。
图8例示了根据实施方式的每个LOD的点云内容的点配置的示例。
图9例示了根据实施方式的每个LOD的点云内容的点配置的示例。
图10例示了根据实施方式的点云视频解码器的框图的示例。
图11例示了根据实施方式的点云视频解码器的示例。
图12例示了根据实施方式的发送装置的点云视频编码的配置。
图13例示了根据实施方式的接收装置的点云视频解码的配置。
图14例示了根据实施方式的与用于发送和接收点云数据的方法/装置可操作地可连接的示例性结构。
图15例示了根据实施方式的点云发送装置的示例。
图16的(a)至图16的(c)例示了将边界框分割为一个或更多个图块的实施方式。
图17例示了根据实施方式的几何编码器和属性编码器的示例。
图18是根据实施方式的设置预测模式的方法的流程图。
图19是根据另一实施方式的设置预测模式的方法的流程图。
图20例示了根据实施方式的点云接收装置的示例。
图21例示了根据实施方式的几何解码器和属性解码器的示例。
图22例示了根据实施方式的用于发送/接收的点云数据的示例性比特流结构。
图23例示了根据实施方式的用于点云数据的示例性比特流结构。
图24例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
图25例示了根据实施方式的序列参数集的语法结构的实施方式。
图26例示了根据实施方式的几何参数集的语法结构的实施方式。
图27例示了根据实施方式的属性参数集的语法结构的实施方式。
图28例示了根据实施方式的图块参数集的语法结构的实施方式。
图29例示了根据实施方式的几何切片比特流()的语法结构的实施方式。
图30例示了根据实施方式的几何切片头的语法结构的实施方式。
图31例示了根据实施方式的几何切片数据的语法结构的实施方式。
图32例示了根据实施方式的属性切片比特流()的语法结构的实施方式。
图33例示了根据实施方式的属性切片头的语法结构的实施方式。
图34例示了根据实施方式的属性切片数据的语法结构的实施方式。
图35是根据实施方式的发送点云数据的方法的流程图。
图36是根据实施方式的接收点云数据的方法的流程图。
具体实施方式
现在,将参照附图根据本文中公开的示例性实施方式详细给出描述。为了参照附图简要描述,可为相同或等同的部件提供相同的标号,其描述将不再重复。应该注意,以下示例仅用于体现本公开,并不限制本公开的范围。本发明所属技术领域的专家从本公开的详细描述和示例中可以容易地推断出的内容将被解释为在本公开的范围内。
本说明书中的详细描述应该在所有方面都被解释为例示性而非限制性的。本公开的范围应该由所附权利要求及其法律等同物来确定,并且落入所附权利要求的含义和等同范围内的所有改变旨在被涵盖在本文中。
现在,将详细参照本公开的优选实施方式,在附图中例示了这些实施方式的示例。下文将参照附图给出的详细描述旨在解释本公开的示例性实施方式,而非示出可以根据本公开实现的仅有的实施方式。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。虽然在本说明书中使用的大多数术语已选自本领域中广泛使用的通用术语,但申请人已任意选择一些术语,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。另外,以下的附图和详细描述不应该被解释为限于具体描述的实施方式,而应该被解释为包括附图和详细描述中描述的实施方式的等同物或替代物。
图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)几何编码和熵编码。直接编码和三角汤几何编码被选择性地或组合地应用。几何编码不限于上述示例。
如图中所示,根据实施方式的坐标变换单元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变换所述一个或更多个点的属性。当执行三角汤几何编码时,属性变换单元40007可以基于三角汤几何编码来变换属性。
属性变换单元40007可以通过计算从每个体素的中心的位置(或位置值)起特定位置/半径内的邻居点的属性或属性值(例如,每个点的颜色或反射率)的平均值来执行属性变换。属性变换单元40007可以在计算平均值时根据该中心到每个点的距离来应用权重。因此,每个体素都有位置和计算出的属性(或属性值)。
属性变换单元40007可以基于K-D树或莫顿码(Morton code)搜索存在于距每个体素的中心的位置特定位置/半径内的邻居点。K-D树是二叉搜索树,并支持能够基于位置来管理点数据结构以便可以快速执行最近邻搜索(NNS)的。通过将表示所有点的3D位置的坐标(例如,(x,y,z))呈现为位值并混合所述位来生成莫顿码。例如,当表示点的位置的坐标为(5,9,1)时,坐标的位值为(0101,1001,0001)。以z、y和x的顺序根据位索引混合位值产生010001000111。该值被表示为十进制数1095。也就是说,具有坐标(5,9,1)的点的莫顿码值为1095。属性变换单元40007可以基于莫顿码值对点进行排序,并通过深度优先遍历处理执行NNS。在属性变换操作之后,当在用于属性编码的另一变换处理中需要NNS时,使用K-D树或莫顿码。
如图中所示,变换后的属性被输入到RAHT单元40008和/或LOD生成单元40009。
根据实施方式的RAHT单元40008基于重构的几何信息执行用于预测属性信息的RAHT编码。例如,RAHT单元40008可以基于与八叉树中较低级别的节点关联的属性信息来预测八叉树中较高级别的节点的属性信息。
根据实施方式的LOD生成单元40009生成细节级别(LOD)。根据实施方式的LOD是点云内容的细节度。随着LOD值的减小,表明点云内容的细节度下降。随着LOD值的增大,表明点云内容的细节增强。可以按LOD对点进行分类。
根据实施方式的提升变换单元40010执行基于权重来变换点云的属性的提升变换编码。如上所述,可以可选地应用提升变换编码。
根据实施方式的系数量化单元40011基于系数对属性编码后的属性进行量化。
根据实施方式的算术编码器40012基于算术编码对量化后的属性进行编码。
尽管在该图中未示出,但图4的点云视频编码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云内容提供设备中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图4的点云视频编码器的元件的操作和/或功能中的至少一者。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图4的点云视频编码器的元件的操作和/或功能。根据实施方式的一个或更多个存储器可以包括高速随机存取存储器,或包括非易失性存储器(例如,一个或更多个磁盘存储装置、闪存装置或其它非易失性固态存储装置)。
图5示出了根据实施方式的体素的示例。
图5示出了位于由三个轴即X轴、Y轴和Z轴构成的坐标系表示的3D空间中的体素。如参考图4描述的,点云视频编码器(例如,量化单元40001)可以执行体素化。体素是指当基于表示3D空间的轴(例如,X轴、Y轴和Z轴)将3D空间划分为单元(单元=1.0)时生成的3D立方空间。图5示出了通过八叉树结构生成的体素的示例,在该八叉树结构中,由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框被递归地细分。一个体素包括至少一个点。可以根据与体素组的位置关系来估计体素的空间坐标。如上所述,体素具有像2D图像/视频的像素一样的属性(诸如,颜色或反射率)。体素的细节与参考图4描述的细节相同,因此省略对其的描述。
图6示出了根据实施方式的八叉树和占用码的示例。
如参考图1至图4描述的,点云内容提供系统(点云视频编码器10002)或点云视频编码器的八叉树分析单元40002基于八叉树结构来执行八叉树几何编码(或八叉树编码),以高效地管理体素的区域和/或位置。
图6的上部示出了八叉树结构。根据实施方式的点云内容的3D空间由坐标系的轴(例如,X轴、Y轴和Z轴)表示。八叉树结构是通过递归细分由两个极点(0,0,0)和(2d,2d,2d)定义的立方轴对齐的边界框来创建的。这里,2d可以被设置为构成围绕点云内容(或点云视频)的所有点的最小边界框的值。这里,d表示八叉树的深度。在式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)。根据实施方式的点云视频编码器还可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。三角汤几何编码是将对象表示为一系列三角形网格的几何编码。因此,点云视频解码器可以从网格表面生成点云。可以选择性执行根据实施方式的三角汤几何编码和直接编码。另外,可以结合八叉树几何编码(或八叉树编码)来执行根据实施方式的三角汤几何编码和直接编码。
为了执行直接编码,应该启用使用直接模式以应用直接编码的选项。将被应用直接编码的节点不是叶节点,并且在特定节点内应该存在少于阈值的点。另外,将应用直接编码的点的总数不应超过预设阈值。当满足以上条件时,根据实施方式的点云视频编码器(或算术编码器40004)可以对点的位置(或位置值)执行熵编码。
根据实施方式的点云视频编码器(例如,表面近似分析单元40003)可以确定八叉树的特定级别(小于八叉树的深度d的级别),并且可以从该级别开始使用表面模型来执行三角汤几何编码,以基于体素来重构节点的区域中的点的位置(三角汤模式)。根据实施方式的点云视频编码器可以指定将应用三角汤几何编码的级别。例如,当特定级别等于八叉树的深度时,点云视频编码器不在三角汤模式下操作。换句话说,根据实施方式的点云视频编码器可以仅在所指定的级别小于八叉树的深度值时才在三角汤模式下操作。根据实施方式的所指定级别处的节点的3D立方区域被称为块。一个块可以包括一个或更多个体素。块或体素可以对应于砖。几何结构被表示为每个块内的表面。根据实施方式的表面可以与块的每个边缘最多相交一次。
一个块有12个边缘,因此在一个块中至少存在12个交点。每个交点被称为顶点(或顶端点)。当在共享边缘的所有块当中至少存在一个与该边缘相邻的被占用体素时,检测到沿该边缘存在的顶点。根据实施方式的被占用体素是指包含点的体素。沿着边缘检测到的顶点的位置是沿着共享该边缘的所有块当中的与该边缘相邻的所有体素的边缘的平均位置。
一旦检测到顶点,根据实施方式的点云视频编码器就可以对边缘的起始点(x,y,z)、边缘的方向矢量(Δx,Δy,Δz)和顶点位置值(边缘内的相对位置值)执行熵编码。当应用三角汤几何编码时,根据实施方式的点云视频编码器(例如,几何重构单元40005)可以通过执行三角形重构、上采样和体素化处理来生成恢复后的几何结构(重构的几何结构)。
处于块的边缘处的顶点确定穿过块的表面。根据实施方式的表面是非平面多边形。在三角形重构处理中,基于边缘的起始点、边缘的方向矢量和顶点的位置值来重构由三角形表示的表面。根据式2,通过以下操作执行三角形重构处理:i)计算每个顶点的质心值,ii)从每个顶点值减去中心值,以及iii)估计通过减法而获得的值的平方和。
[式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描述的,在执行属性编码之前,重构(解压缩)编码后的几何结构。当应用直接编码时,几何重构操作可以包括改变直接编码后的点的放置(例如,将直接编码后的点放置在点云数据的前面)。当应用三角汤几何编码时,通过三角形重构、上采样和体素化来执行几何重构处理。由于属性取决于几何结构,因此基于重构的几何结构执行属性编码。
点云视频编码器(例如,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可以执行几何解码。根据实施方式的几何解码可以包括直接解码和三角汤几何解码。直接解码和三角汤几何解码被选择性应用。几何解码不限于上述示例,并作为参考图1至图9描述的几何编码的逆处理来执行。
根据实施方式的算术解码器11000基于算术编码对接收到的几何比特流进行解码。算术解码器11000的操作对应于算术编码器40004的逆处理。
根据实施方式的八叉树合成器11001可以通过从解码后的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用码来生成八叉树。如参考图1至图9详细描述地配置占用码。
当应用三角汤几何编码时,根据实施方式的表面近似合成器11002可以基于解码后的几何结构和/或所生成的八叉树来合成表面。
根据实施方式的几何重构单元11003可以基于表面和/或解码后的几何结构来重新生成几何结构。如参考图1至图9描述的,直接编码和三角汤几何编码被选择性应用。因此,几何重构单元11003直接导入并添加关于应用了直接编码的点的位置信息。当应用三角汤几何编码时,几何重构单元11003可以通过执行几何重构单元40005的重构操作(例如,三角形重构、上采样和体素化)来重构几何结构。细节与参考图6描述的细节相同,因此省略对其的描述。重构的几何结构可以包括不包含属性的点云图片或帧。
根据实施方式的坐标逆变换器11004可以通过基于重构的几何结构变换坐标来获取点的位置。
算术解码器11005、反量化单元11006、RAHT变换器11007、LOD生成单元11008、逆提升器11009和/或逆颜色变换单元11010可以执行参考图10描述的属性解码。根据实施方式的属性解码包括区域自适应分层变换(RAHT)解码、基于内插的分层最近邻预测(预测变换)解码和具有更新/提升步骤(提升变换)的基于内插的分层最近邻预测解码。可以选择性使用上述三种解码方案,或可以使用一种或更多种解码方案的组合。根据实施方式的属性解码不限于上述示例。
根据实施方式的算术解码器11005通过算术编码对属性比特流进行解码。
根据实施方式的反量化单元11006对作为解码结果而被保护的关于解码后的属性比特流或属性的信息进行反量化,并输出反量化后的属性(或属性值)。可以基于点云视频编码器的属性编码来选择性应用反量化。
根据实施方式,RAHT变换器11007、LOD生成单元11008和/或逆提升器11009可以处理重构的几何结构和反量化后的属性。如上所述,RAHT变换器11007、LOD生成单元11008和/或逆提升器11009可以选择性执行与点云视频编码器的编码对应的解码操作。
根据实施方式的逆颜色变换单元11010执行逆变换编码,以对解码后的属性中包括的颜色值(或纹理)进行逆变换。可以基于点云视频编码器的颜色变换单元40006的操作选择性执行逆颜色变换单元11010的操作。
尽管在该图中未示出,但图11的点云视频解码器的元件可以由包括一个或更多个处理器或集成电路的硬件、软件、固件或其组合来实现,该处理器或集成电路被配置为与点云内容提供设备中包括的一个或更多个存储器通信。所述一个或更多个处理器可以执行上述图11的点云视频解码器的元件的操作和/或功能中的至少一个或更多个。另外,一个或更多个处理器可以操作或执行软件程序和/或指令的集合,以执行图11的点云视频解码器的元件的操作和/或功能。
图12例示了根据实施方式的发送装置。
图12中示出的发送装置是图1的发送装置10000(或图4的点云视频编码器)的示例。图12中例示的发送装置可以执行与参考图1至图9描述的点云视频编码器的操作和方法相同或类似的操作和方法中的一个或更多个。根据实施方式的发送装置可以包括数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码发生器12003、表面模型处理器12004、帧内/帧间编码处理器12005、算术编码器12006、元数据处理器12007、颜色变换处理器12008、属性变换处理器12009、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可以基于表面模型来执行三角汤几何编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器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的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三角汤几何编码时,根据实施方式的表面模型处理器13004可以基于表面模型方法来执行三角汤几何解码和相关的几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器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)个最近邻近点,并将其作为邻近集合登记在预测器中。X是可以被设置为邻近点的点的最大数目。X可以被作为用户参数输入,或者通过信令处理器51005在信令信息中发信号通知(例如,在APS中发信号通知的lifting_num_pred_nearest_neighbours字段)。
作为示例参照图9,在LOD0和LOD1中找到属于LOD1的P3的邻近点。例如,当可以被设置为邻居的点的最大数目(X)为3时,P3的三个最近邻近节点可以是P2P4 P6。这三个节点被作为邻近集合登记在P3的预测器中。在实施方式中,在已登记节点当中,邻近节点P4在距离方面最接近P3,然后P6是下一个最近的节点,并且P2是三个节点当中最远的节点。这里,X=3仅仅是被配置为提供对本公开的理解的实施方式。X的值可以改变。
如上所述,点云数据中的所有点可以具有预测器。
根据实施方式的属性信息预测单元53009基于登记在预测器中的邻近点来预测属性值。预测器可以具有已登记的邻居集合,并基于与每个邻近点的距离来登记“1/2距离=权重”。例如,节点P3的预测器具有作为邻居集合的(P2 P4 P6),并基于与每个邻近点的距离来计算权重。根据实施方式,各个邻近点的权重可以是(1/√(P2-P3)2,1/√(P4-P3)2,1/√(P6-P3)2)。
根据实施方式,当设置了预测器的邻居集合时,邻近点配置单元53008或属性信息预测单元53009可以用邻近点的权重总和来归一化各个邻近点的权重。
例如,节点P3的邻居集合中的所有邻近点的权重被相加(total_weight=1/√(P2-P3)2+1/√(P4-P3)2+1/√(P6-P3)2),并且每个邻近点的权重被除以权重之和(1/√(P2-P3)2/total_weight,1/√(P4-P3)2/total_weight,1/√(P6-P3)2/total_weight)。由此,每个邻近点的权重被归一化。
然后,属性信息预测单元53009可以通过预测器预测属性值。
根据实施方式,通过将登记在预测器中的邻近点的属性(例如,颜色、反射率等)乘以权重(或归一化权重)而获得的值的平均可以被设置为预测结果(即,预测属性值)。另选地,特定点的属性可以被设置为预测结果(即,预测属性值)。根据实施方式,预测属性值可以被称为预测属性信息。另外,可以从点的属性值(即,原始属性值)中减去点的预测属性值(或预测属性信息)来获得残差属性值(或残差属性信息或残差)。
根据实施方式,可以通过应用各种预测模式(或预测器索引)来预先计算压缩后的结果值,然后可以从预测模式当中选择生成最小比特流的预测模式(即,预测器索引)。
接下来,将详细地描述选择预测模式的处理。
在本说明书中,预测模式具有与预测器索引(Preindex)相同的含义,并可以被广义地称为预测方法。
在实施方式中,可以由属性信息预测单元53009执行为每个点找到最合适的预测模式并在相应点的预测器中设置所找到的预测模式的处理。
根据实施方式,其中通过加权平均(即,通过将每个点的预测器中设置的邻近点的属性乘以基于到每个邻近点的距离计算出的权重而获得的平均)来计算预测属性值的预测模式将被称为预测模式0。另外,其中第一邻近点的属性被设置为预测属性值的预测模式将被称为预测模式1,其中第二邻近点的属性被设置为预测属性值的预测模式将被称为预测模式2,并且其中第三邻近点的属性被设置为预测属性值的预测模式将被称为预测模式3。换句话说,等于0的预测模式(或预测器索引)的值可以指示通过加权平均预测属性值,并且等于1的值可以指示通过第一邻近节点(即,邻近点)预测属性值。等于2的值可以指示通过第二邻近节点预测属性值,并且等于3的值可以指示通过第三邻近节点预测属性值。
根据实施方式,可以计算预测模式0中的残差属性值、预测模式1中的残差属性值、预测模式2中的残差属性值和预测模式3中的残差属性值,并且可以基于每个残差属性值来计算得分或双得分。然后,计算出的得分最小的预测模式可以被选择和设置为相应点的预测模式。随后,将详细地描述计算得分的方法。
例如,当基于通过将第二邻近点的属性设置为预测属性值而获得的残差属性值计算出的得分为最小值时,预测器索引值为2,即,预测模式2被选择为点的预测模式。
在以上示例中,当假定P3的邻近点P2、P4和P6当中的邻近点P4在距离方面最接近点P3、邻近点P6是下一最接近的点、并且邻近点P2是最远的点时,第一邻近点可以是P4,第二邻近点可以是P6,并且第三邻近点可以是P2。
这是为了更好地理解本公开的示例性实施方式,并且本领域的技术人员可以添加、删除或改变分配给预测模式的值、候选预测模式的数量和预测方法。因此,本公开不限于上述实施方式。
根据实施方式,当满足预设条件时,可以执行在多种预测模式当中找到最合适的预测模式并将其设置为相应点的预测模式的处理。因此,当不满足预设条件时,其中通过加权平均计算预测属性值的固定预测模式(例如,预测模式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可以被包括或可以不被包括在预测器候选中。根据实施方式,以上未提到的至少一种预测模式也可以被包括在预测器候选中。
图18是例示了根据实施方式的选择用于属性编码的预测模式的方法的实施方式的示图。根据实施方式,图18的操作可以由属性信息预测单元53009执行。
图18示出了基于预测模式0至3来找到第i点的最合适的属性预测模式的实施方式。
即,计算第i点的预测器中登记的邻近点的属性值之间的最大差值(步骤55001),并且确定在步骤55001中计算出的最大差值是否大于或等于预设阈值(步骤55002)。
当根据实施方式在步骤55002中确定最大差值小于预设阈值时,预设的默认预测模式被设置为点的预测模式(步骤55003)。在实施方式中,预设的默认预测模式是预测模式0(即,基于加权平均的属性值预测)。预设的默认预测模式可以是不同于预测模式0的预测模式。根据实施方式,当预设的默认预测模式被设置为点的预测模式时,不发信号通知点的预测模式。在这种情况下,假定预设的默认预测模式是发送方/接收方预先知道的。
当根据实施方式在步骤55002中确定最大差值大于或等于预设阈值时,生成预测器候选(步骤55004)。
根据实施方式,在步骤55004中生成的预测器候选的数目大于1。根据实施方式,在步骤55004中生成的预测器候选是对应于预测模式0至3的预测器候选。
当在步骤55004中生成预测器候选时,通过应用率失真优化(RDO)过程来执行选择最优预测器的处理。
为此目的,当在步骤55004中生成对应于预测模式0至3的四个预测器候选时,计算每个预测器的得分或双得分(步骤55005)。
根据实施方式,四个预测器候选中的一个被设置为基础预测器,并且计算基础预测器和其它预测器的得分。根据实施方式,对应于预测模式0的预测器被设置为基础预测器。
如下式5中一样地计算基础预测器的得分。
[式5]
双得分=attrResidualQuant+kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
如下式6中一样地计算其它预测器的得分。
[式6]
双得分=attrResidualQuant+idxBits*kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
这里,idxBits=i+(i==lifting_max_num_direct_predictors-1?1:2。
在式5和式6中,attrResidualQuant表示属性的残差属性值的量化值,并且kAttrPredLambdaR表示常数,根据实施方式,该常数为0.01。另外,i(=0,1,2,...)表示邻近点(即,节点)的顺序位置,并且quant.stepSize表示属性量化大小。kFixedPointAttributeShift是常数。根据实施方式,kFixedPointAttributeShift为8。在这种情况下,“quant.stepSize()>>kFixedPointAttributeShift”意味着将属性量化大小向右移动8位。lifting_max_num_direct_predictors表示将用于预测的预测器的最大数目。根据实施方式的lifting_max_num_direct_predictors默认地被设置为3,并且可以作为用户参数输入或者通过信令处理器51005在信令信息中发信号通知。
式5与式6之间的不同之处在于,在基础预测器的得分计算中没有应用idxBits。
在通过应用式5和式6获得的四个预测器候选的得分当中具有最低得分的预测器候选被找出(步骤55006)。然后,与具有最低得分的预测器候选相对应的预测模式被设置为点的预测模式(步骤55007)。即,预测模式0至3中的一种被设置为点的预测模式(步骤55008)。例如,当通过应用第一邻近点获得的得分是最低得分时,预测模式1(即,预测器索引1)被设置为点的预测模式。
根据实施方式,可以在属性切片数据中发信号通知在步骤55007中设置的点的预测模式(例如,predIndex)。
当通过应用式5和式6在多个预测器候选(即,多种候选预测模式)当中选择预测器候选(即,预测模式)时,因为在计算与预测模式0相对应的基础预测器的得分时不使用idxBits,所以很有可能选择与预测模式0相对应的基础预测器。
在这种情况下,当点的预测器中登记的邻近点的属性值之间的最大差值大于或等于预设阈值时,这意味着邻近点之间的属性差值大。然而,当选择预测模式0作为点的预测模式时,获得预测属性值作为通过将邻近点的属性乘以权重而获得的值的平均(即,通过将每个点的预测器中设置的邻近点的属性乘以基于到每个邻近点的距离计算出的权重而获得的值的平均)。因此,作为原始属性值与预测属性值之间的差值的残差属性值的比特流大小可能大于从已登记的邻近点获得的比特流大小。
以这种方式,预测属性值受从多个预测器候选当中选择的预测器候选的影响,并影响残差属性值。
根据本公开的另一实施方式,为了提高属性效率,可以从除了对应于预测模式0的预测器之外的其它预测器候选中选择最合适的预测器候选。
例如,当点的预测器中登记的邻近点的属性值之间的最大差值大于或等于预设阈值时,三个预测器候选即预测模式1至3(即,除了预测模式0之外的预测模式)当中的具有最低得分的预测模式可以被设置为点的预测模式。当最大差值小于预设阈值时,预测模式0可以被设置为点的预测模式。预测模式0是通过加权平均(即,通过将每个点的预测器中设置的邻近点的属性乘以基于到每个邻近点的距离计算出的权重而获得的值的平均值)来计算预测属性值的预测模式。
图19是例示了根据实施方式的选择用于属性编码的预测模式的方法的另一实施方式的示图。根据实施方式,图19的操作可以由属性信息预测单元53009执行。
图19示出了基于预测模式1至3来找到第i点的最合适的属性预测模式的实施方式。
即,计算出点的预测器中登记的邻近点的属性值之间的最大差值(步骤57001),并且确定在步骤57001中计算出的最大差值是否大于或等于预设阈值(步骤57002)。
当根据实施方式在步骤57002中确定最大差值小于预设阈值时,预设的默认预测模式被设置为点的预测模式(步骤57003)。在实施方式中,预设的默认预测模式是预测模式0(即,基于加权平均的属性值预测)。预设的默认预测模式可以是不同于预测模式0的预测模式。根据实施方式,当预设的默认预测模式被设置为点的预测模式时,不发信号通知点的预测模式。在这种情况下,假定预设的默认预测模式是发送方/接收方预先知道的。
当根据实施方式在步骤57002中确定最大差值大于或等于预设阈值时,生成预测器候选(步骤57004)。
根据实施方式,在步骤57004中生成的预测器候选的数目大于1。根据实施方式,在步骤57004中生成的预测器候选是对应于预测模式1至3的预测器候选。即,对应于预测模式0的预测器不被包括在预测器候选中。换句话说,预测器候选对应于登记在点中的邻近点的属性值被设置为预测属性值的预测模式。
当在步骤57004中生成预测器候选时,通过应用率失真优化(RDO)过程来执行选择最优预测器的处理。
为此目的,当在步骤57004中生成对应于预测模式1至3的三个预测器候选时,计算每个预测器的得分或双得分(步骤57005)。
可以如下式7中一样地计算每个预测器的得分。
[式7]
双得分=attrResidualQuant+kAttrPredLambdaR
*(quant.stepSize()>>kFixedPointAttributeShift)
在式7中,attrResidualQuant表示属性的残差属性值的量化值,并且kAttrPredLambdaR表示常数,根据实施方式,该常数为0.01。另外,quant.stepSize表示属性量化大小。kFixedPointAttributeShift是常数。根据实施方式,kFixedPointAttributeShift为8。在这种情况下,“quant.stepSize()>>kFixedPointAttributeShift”意味着将属性量化大小向右移动8位。
根据实施方式,在式7中,可以省略kAttrPredLambdaR、quant.stepSize()或kFixedPointAttributeShift中的至少一个。
在另一实施方式中,可以通过应用式6来计算每个预测器的得分。
在本公开的实施方式中,在通过应用式7获得的三个预测器候选的得分当中具有最低得分的预测器候选被找出(步骤57006)。然后,与具有最低得分的预测器候选相对应的预测模式被设置为点的预测模式(步骤57007)。即,预测模式1至3中的一种被设置为点的预测模式(步骤57008)。例如,当通过应用第一邻近点获得的得分是最低得分时,预测模式1(即,预测器索引1)被设置为点的预测模式。
根据实施方式,可以在属性切片数据中发信号通知在步骤57007中设置的点的预测模式(例如,predIndex)。
以这种方式,当登记在点中的邻近点之间的属性元素的差值大于或等于阈值时,不允许将通过加权平均计算预测属性值的预测模式0用作点的预测模式。由此,可以减小点的残差属性值的大小。
在另一实施方式中,当在步骤57004中生成对应于预测模式1至3的三个预测器候选时,三个预测器候选中的一个可以被设置为基础预测器。然后,式5可以被用于基础预测器,并且可以使用式6来计算其它两个预测器的得分。然后,与三个预测器候选的得分当中得分最低的预测器候选相对应的预测模式可以被设置为点的预测模式,并且可以在属性切片数据中发信号通知所设置的预测模式(例如,predIndex)。
根据实施方式,可以估计与点的属性值相似的、登记在点中的邻近点的属性值,可以从登记在点中的邻近点当中选择具有最相似属性值的邻近点,并且选择该邻近点的预测器候选可被设置为基础预测器。
为了验证根据实施方式的属性相似性,可以选择性使用欧几里德颜色距离、相关色温或由照明委员会(CIE)定义的距离度量CIE94。
可以在下式8中估计根据实施方式的欧几里得颜色距离。
[式8]
对于根据实施方式的CCT,RGB值可以改变为CIE(XYZ)值以归一化为色度值,然后可以计算CCT值,如下式9中所示。
[式9]
X=(-0.14282)R+(1.54924)G+(-0.95641)B
Y=(-0.32466)R+(1.57837)G+(-0.73191)B=亮度
Z=(-0.68202)R+(0.77073)G+(0.56332)B
CCT=449n3+3525n2+6823.3n+5520.33
可以在下式10中估计根据实施方式的CIE94。
[式10]
ΔL=L1-L2
Δa=a1-a2,Δb=b1-b2
SL=1,Sc=1+K1C1,SH=1+K2C1
以这种方式,可以从与点的属性值相似的、登记在点中的邻近点的属性值当中选择具有最相似的属性值的邻近点,并且对应于所选择的邻近点的预测器候选可以被设置为基础预测器。
根据实施方式,可以在信令信息中发信号通知用于验证属性相似性的预测器选择相关选项信息。根据实施方式的预测器选择相关选项信息可以包括属性相似性检查方法(attribute_similarity_check_method_type)和基础预测器选择方法(attribute_base_predictor selection_type)。根据实施方式的信令信息可以是序列参数集、属性参数集、图块参数集或属性切片头中的至少一个。
以这种方式,当登记在点中的邻近点之间的属性元素的差值大于或等于阈值时,与点的属性值相似的、登记在点中的邻近点的属性值当中的属性值最相似的邻近点所对应的预测器候选可以被设置为基础预测器。由此,可以减小点的残差属性值的大小。
通过上述处理针对每个点设置的预测模式和所设置的预测模式中的残差属性值被输出到残差属性信息量化处理器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)、与预测器选择相关的选项信息(例如,基础预测器选择方法(attribute_base_predictor selection_type)、属性相似性检查方法(attribute_similarity_check_method_type)等)可以在序列参数集、属性参数集、图块参数集或属性切片头中的至少一者中发信号通知。另外,根据实施方式,可以在属性切片数据中发信号通知指示与从多个预测器候选当中选择的预测器候选相对应的预测模式的预测器索引信息(predIndex)。
与上述发送装置的点云视频编码器类似,接收装置的点云视频解码器执行相同或类似的生成LODl集合、基于LODl集合来找到最近的邻近点并将其作为邻近点集合登记在预测器中、基于与每个邻近点的距离来计算权重并利用权重执行归一化的处理。然后,解码器对接收到的预测模式进行解码,并根据解码后的预测模式预测点的属性值。另外,在接收到的残差属性值被解码之后,解码后的残差属性值可以与预测属性值相加,以恢复点的属性值。
图20是示出了根据实施方式的另一示例性点云接收装置的示图。
根据实施方式的点云接收装置可以包括接收处理器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逐图块地和/或逐切片地执行几何解码和属性解码。
图21是例示了根据实施方式的几何解码器61003和属性解码器61004的另一示例的详细框图。
图21的几何解码器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)、与预测器选择相关的选项信息(例如,基础预测器选择方法(attribute_base_predictor selection_type)、属性相似性检查方法(attribute_similarity_check_method_type)等)时,它们可以由信令处理器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的组被称为LODl集合。这里,l表示LOD并且是从0开始的整数。LOD0是由其间距离最大的点组成的集合。随着l增大,属于LODl的点之间的距离减小。
根据实施方式,可以针对每个LOD或仅针对叶节点提供由发送装置编码的预测模式和残差属性值。
在一个实施方式中,当由LOD值配置单元63007生成LODl集合时,邻近点配置单元63008可以基于LODl集合在具有相同或更低LOD(即,节点之间的距离大)的组中找到X(>0)个最近邻近点,并将其作为邻居集合登记在预测器中。这里,X是可以被设置为邻居的点的最大数目(例如,lifting_num_pred_nearest_neighbours)。X可以被作为用户参数输入,或者被接收在诸如SPS、APS、GPS、TPS、几何切片头或属性切片头这样的信令信息中。
在另一实施方式中,邻近点配置单元63008可以基于诸如SPS、APS、GPS、TPS、几何切片头或属性切片头这样的信令信息来选择每个点的邻近点。为此目的,邻近点配置单元63008可以从信令处理器61002接收信息。
例如,在图9中,可以选择点P2、P4和P6作为属于LOD1的点(即,节点)P3的邻近点并作为邻居集合登记在P3的预测器中。
根据实施方式,属性信息预测单元63009执行基于特定点的预测模式来预测特定点的属性值的处理。根据实施方式,对重构的几何的所有点或至少一些点执行属性预测。
根据实施方式的特定点的预测模式可以是预测模式0至3中的一种。
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值小于预设阈值时,发送方的属性编码器将预测模式0设置为点的预测模式。当最大差值大于或等于预设阈值时,属性编码器向多种候选预测模式应用RDO方法,并将候选预测模式中的一种设置为点的预测模式。在实施方式中,对每个点执行该处理。
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值大于或等于预设阈值时,发送方的属性编码器可以将对应于预测模式0的预测器设置为基础预测器。然后,属性编码器可以向基础预测器应用式5,并且将式6应用于与点的邻近点相对应的预测器以计算得分。然后,属性编码器可以将与得分最低的预测器相对应的预测模式设置为点的预测模式。点的预测模式被设置为预测模式0至3中的一种。
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值大于或等于预设阈值时,发送方的属性编码器可以估计与点的属性值相似的登记在点中的邻近点的属性值,并将具有最相似属性值的邻近点的预测器设置为基础预测器。然后,向基础预测器应用式5,并且可以向与除了其预测器被设置为基础预测器的邻近点之外的邻近点相对应的预测器应用式6,以计算得分。然后,与得分最低的预测器相对应的预测模式可以被设置为点的预测模式。即,对应于预测模式0的预测器不被用于设置点的预测模式。换句话说,点的预测模式被设置为预测模式1至3中的一种。
根据实施方式,当登记在点的预测器中的邻近点的属性值之间的最大差值大于或等于预设阈值时,发送方的属性编码器可以通过向与点的邻近点相对应的预测器应用式7来计算得分,然后将与得分最低的预测器相对应的预测模式设置为点的预测模式。即,对应于预测模式0的预测器不被用于设置点的预测模式。换句话说,点的预测模式被设置为预测模式1至3中的一种。
根据实施方式,可以在属性切片数据中发信号通知通过应用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)中所示的边界框。
图22示出了根据实施方式的用于发送/接收的点云数据的示例性比特流结构。
当根据实施方式的几何比特流、属性比特流和信令比特流被配置为一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施方式的比特流可以包括用于序列级信令的序列参数集(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是指示几何切片数据的对数标尺的信息,geom_max_node_size_log2是指示根几何八叉树节点大小的信息,并且geom_num_points是与几何切片数据的点数相关的信息。根据实施方式,geom_slice_data可以包括关于相应切片中的点云数据的几何信息(或几何数据)。
每个切片中的每个属性比特流(或属性切片)可以由属性切片头(attr_slice_header)和属性切片数据(attr_slice_data)构成。根据实施方式,attr_slice_header可以包括关于相应属性切片数据的信息。属性切片数据可以包含关于相应切片中的点云数据的属性信息(或属性数据或属性值)。当在一个切片中存在多个属性比特流时,每个比特流可以包含不同的属性信息。例如,一个属性比特流可以包含对应于颜色的属性信息,而另一个属性流可以包含对应于反射率的属性信息。
图23示出了根据实施方式的点云数据的示例性比特流结构。
图24例示了根据实施方式的点云数据的比特流中的分量之间的连接关系。
图23和图24中例示的点云数据的比特流结构可以表示图22中示出的点云数据的比特流结构。
根据实施方式,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添加参数。当执行基于图块的编码时,可以向图块和/或切片头添加参数。
如图22、图23和图24中所示,点云数据的比特流提供图块或切片,使得点云数据可以按区域分割和处理。根据实施方式,比特流的各个区域可以具有不同的重要性。因此,当点云数据被分割为图块时,可以向每个图块应用不同的滤波器(编码方法)和不同的滤波器单元。当点云数据被分割为切片时,可以向每个图块应用不同的滤波器和不同的滤波器单元。
当点云数据被分割并压缩时,根据实施方式的发送装置和接收装置可以以高级语法结构发送和接收比特流,以用于分割后的区域中的属性信息的选择性发送。
根据实施方式的发送装置可以如图22、图23和图24中所示地根据比特流结构发送点云数据。因此,可以提供对重要区域应用不同的编码操作并使用良好质量的编码方法的方法。另外,可以根据点云数据的特性支持高效的编码和发送,并且可以根据用户需求来提供属性值。
根据实施方式的接收装置可以如图22、图23和图24中所示地根据比特流结构接收点云数据。因此,可以向各个区域(分割为图块或切片的区域)应用不同的滤波(解码)方法,而非向整个点云数据应用复杂的解码(滤波)方法。因此,向用户提供了重要区域中更好的图像质量,并且可以确保系统的适当等待时间。
如上所述,提供图块或切片以通过按区域分割点云数据来处理点云数据。在按区域分割点云数据时,可以设置针对每个区域生成不同的邻近点集合的选项。由此,可以提供具有低复杂度和稍低可靠性的选择方法或具有高复杂度和高可靠性I的选择方法。
根据实施方式的用于各个切片的SPS、APS、TPS或属性切片头中的至少一者可以包括与预测器选择相关的选项信息。根据实施方式,预测器选择相关选项信息可以包括基础预测器选择方法(attribute_base_predictor selection_type)和属性相似性检查方法(attribute_similarity_check_method_type)。
作为在下述本公开的语法中使用的术语的字段可以具有与参数或元素相同的含义。
图25示出了根据本公开的序列参数集(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还可以包括预测器选择相关选项信息。根据实施方式,预测器选择相关选项信息可以包括基础预测器选择方法(attribute_base_predictorselection_type)和属性相似性检查方法(attribute_similarity_check_method_type)。
根据实施方式,预测器选择相关选项信息可以被包括在重复与上述sps_num_attribute_sets字段的值一样多次的迭代语句中。
即,迭代语句可以包括attribute_base_predictor selection_type[i]字段和attribute_similarity_check_method_type[i]字段。
attribute_base_predictor selection_type[i]字段可以指定选择第i属性的基础预测器的方法。例如,等于0的attribute_base_predictor selection_type[i]字段指示基于邻居的加权平均来选择基础预测器,并且等于1的attribute_base_predictorselection_type[i]字段指示基于属性相似性来选择基础预测器。
attribute_similarity_check_method_type[i]字段可以指示当参考第i属性的属性相似性时的属性相似性检查方法。例如,等于0的attribute_similarity_check_method_type[i]字段指示使用诸如式8这样的欧几里德颜色距离。等于1的attribute_similarity_check_method_type[i]字段指示使用诸如式9这样的相关色温。等于2的attribute_similarity_check_method_type[i]字段指示使用诸如式10这样的CIE94。
以这种方式,attribute_base_predictor selection_type[i]字段和attribute_similarity_check_method_type[i]字段可以在SPS中发信号通知。
图26示出了根据本公开的几何参数集(GPS)(geometry_parameter_set())的语法结构的实施方式。根据实施方式的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字段可以具有任何值。它的存在和值不影响解码器与配置文件的一致性。
图27示出了根据本公开的属性参数集(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字段指示预测权重提升作为编码类型。等于1的attr_coding_type字段指示RAHT作为编码类型。等于2的attr_coding_type字段指示固定权重提升。
aps_attr_initial_qp字段为参考APS的每个切片指定变量SliceQp的初始值。当对slice_qp_delta_luma或slice_qp_delta_chroma的非零值进行解码时,在属性切片段层修改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时,即,当编码类型为预测权重提升或固定权重提升时,根据实施方式的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字段指定将用于预测的最近邻居的最大数目。
lifting_max_num_direct_predictors字段指定将用于直接预测的预测器的最大数目。在解码处理中使用的变量MaxNumPredictors的值如下:
MaxNumPredictors=lifting_max_num_direct_predictors字段+1。
lifting_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时,即,当编码类型是预测权重提升时,根据实施方式的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时,即,当编码类型是“预测权重提升”或“固定权重提升”时,根据实施方式的APS还可以包括attribute_base_predictor selection_type字段和attribute_similarity_check_method_type字段。
attribute_base_predictor selection_type字段可以指定选择基础预测器的方法。例如,等于0的attribute_base_predictor selection_type字段指示基于邻居的加权平均来选择基础预测器,并且等于1的attribute_base_predictor selection_type字段指示基于属性相似性来选择基础预测器。
attribute_similarity_check_method_type字段可以指示属性相似性检查方法。例如,等于0的attribute_similarity_check_method_type字段指示使用诸如式8这样的欧几里德颜色距离。等于1的attribute_similarity_check_method_type字段指示使用诸如式9这样的相关色温。等于2的attribute_similarity_check_method_type字段指示使用诸如式10这样的CIE94。
以这种方式,attribute_base_predictor selection_type字段和attribute_similarity_check_method_type字段可以在APS中发信号通知。
图28示出根据本公开的图块参数集(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字段的值一样多次的迭代语句中。
即,迭代语句可以包括attribute_base_predictor selection_type[i]字段和attribute_similarity_check_method_type[i]字段。
attribute_base_predictor selection_type[i]字段可以指定选择第i图块中的基础预测器的方法。例如,等于0的attribute_base_predictor selection_type[i]字段指示基于邻居的加权平均来选择基础预测器,并且等于1的attribute_base_predictorselection_type[i]字段指示基于属性相似性来选择基础预测器。
attribute_similarity_check_method_type[i]字段可以指示第i图块中的属性相似性检查方法。例如,等于0的attribute_similarity_check_method_type[i]字段指示使用诸如式8这样的欧几里德颜色距离。等于1的attribute_similarity_check_method_type[i]字段指示使用诸如式9这样的相关色温。等于2的attribute_similarity_check_method_type[i]字段指示使用诸如式10这样的CIE94。
以这种方式,attribute_base_predictor selection_type[i]字段和attribute_similarity_check_method_type[i]字段可以在TPS中发信号通知。
图29示出了根据本公开的几何切片比特流()的语法结构的实施方式。
根据实施方式的几何切片比特流(geometry_slice_bitstream())可以包括几何切片头(geometry_slice_header())和几何切片数据(geometry_slice_data())。
图30示出了根据本公开的几何切片头(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字段指定切片中编码点的数目。
图31示出了根据本公开的几何切片数据(geometry_slice_data())的语法结构的实施方式。根据实施方式的几何切片数据(geometry_slice_data())可以携带属于相应切片的几何比特流。
根据实施方式的geometry_slice_data()可以包括重复与MaxGeometryOctreeDepth的值一样多次的第一迭代语句。在实施方式中,depth被初始化为0并在每次执行迭代语句时递增1,并且重复第一迭代语句,直到depth变得等于MaxGeometryOctreeDepth。第一迭代语句可以包括重复与NumNodesAtDepth的值一样多次的第二循环语句。在实施方式中,nodeidx被初始化为0,并且每次执行迭代语句时递增1。重复第二次迭代语句,直到nodeidx变得等于NumNodesAtDepth.。第二迭代语句可以包括xN=NodeX[depth][nodeIdx],yN=NodeY[depth][nodeIdx],zN=NodeZ[depth][nodeIdx]和geometry_node(depth,nodedx,xN,yN,zN)。MaxGeometryOctreeDepth指示几何八叉树深度的最大值,并且NumNodesAtDepth[depth]指示将在相应深度处解码的节点的数目。变量NodeX[depth][nodedx]、NodeY[depth][nodeIdx]和NodeZ[depth][nodeIdx]指示在给定深度处按解码顺序的第nodeIdx节点的x、y、z坐标。depth的节点的几何比特流通过geometry_node(depth,nodeIdx,xN,yN,zN)发送。
当log2_trisoulp_node_size字段的值大于0时,根据实施方式的几何切片数据(geometry_slice_data())还可以包括geometry_trisoulp_data()。即,当三角形节点的大小大于0时,经历trisoup几何编码的几何比特流通过geometry_trisoup_data()发送。
图32示出了根据本公开的attribute_slice_bitstream()的语法结构的实施方式。
根据实施方式的属性切片比特流(attribute_slice_bitstream())可以包括属性切片头(attribute_slice_header())和属性切片数据(attribute_slice_data())。
图33示出了根据本公开的属性切片头(geometry_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字段(例如,图27中描述的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())还可以包括预测器选择相关选项信息,例如,attribute_base_predictor selection_type字段和attribute_similarity_check_method_type字段。
attribute_base_predictor selection_type字段可以指定选择基础预测器的方法。例如,等于0的attribute_base_predictor selection_type字段指示基于邻居的加权平均来选择基础预测器,并且等于1的attribute_base_predictor selection_type字段指示基于属性相似性来选择基础预测器。
attribute_similarity_check_method_type字段可以指示属性相似性检查方法。例如,等于0的attribute_similarity_check_method_type字段指示使用诸如式8这样的欧几里德颜色距离。等于1的attribute_similarity_check_method_type字段指示使用诸如式9这样的相关色温。等于2的attribute_similarity_check_method_type字段指示使用诸如式10这样的CIE94。
以这种方式,attribute_base_predictor selection_type字段和attribute_similarity_check_method_type字段可以在属性切片头(attribute_slice_header())中发信号通知。
图34示出了根据本公开的属性切片数据(attribute_slice_data())的语法结构的实施方式。根据实施方式的属性切片数据(attribute_slice_data())可以携带属于相应切片的属性比特流。
在图34的属性切片数据(attribute_slice_data())中,dimension=attribute_dimension[ash_attr_sps_attr_idx]表示由相应属性切片头中的ash_attr_sps_attr_idx字段标识的属性集的属性维度(attribute_dimension)。attribute_dimension是指构成属性的分量的数目。根据实施方式的属性表示反射率、颜色等。因此,在属性当中,分量的数目有所不同。例如,对应于颜色的属性可以具有三个颜色分量(例如,RGB)。因此,对应于反射率的属性可以是单维属性,并且对应于颜色的属性可以是三维属性。
根据实施方式的属性可以被逐个维度地进行属性编码。
例如,对应于反射率的属性和对应于颜色的属性可以分别被属性编码。根据实施方式,属性可以被一起属性编码,而与维度无关。例如,对应于反射率的属性和对应于颜色的属性可以被一起属性编码。
在图34中,zerorun指定残差之前0的数目。
在图34中,i表示属性的第i点值。根据实施方式,attr_coding_type字段和lifting_adaptive_prediction_threshold字段在APS中发信号通知。
图34的MaxNumPredictors是在点云数据解码处理中使用的变量,并且可以如下基于在APS中发信号通知的lifting_adaptive_prediction_threshold字段的值来获取:
MaxNumPredictors=lifting_max_num_direct_predictors字段+1。
这里,lifting_max_num_direct_predictors字段指示将用于直接预测的预测器的最大数目。
根据实施方式,predIndex[i]指定预测器索引(或预测模式)以对属性的第i点值进行解码。predIndex[i]的值在从0至lifting_max_num_direct_predictors字段的值范围内。
可以如下地计算根据实施方式的变量MaxPredDiff[i]。
for(j=0;j<k;j++){
}
MaxPredDiff[i]=maxValue-minValue;
这里,令ki为当前点i的k个最近邻居的集合,并且令为它们的解码/重构属性值。最近邻居的数目ki应当在1至lifting_num_pred_nearest_neighbours的范围内。根据实施方式,根据预测提升解码处理推导出邻居的解码/重构属性值。
lifting_num_pred_nearest_neighbours字段在APS中发信号通知,并指示将用于预测的最近邻居的最大数目。
图35是根据实施方式的发送点云数据的方法的流程图。
根据实施方式的点云数据发送方法可以包括:对点云数据中所包含的几何进行编码的步骤71001、基于输入和/或重构的几何对点云数据中所包含的属性进行编码的步骤71002以及发送包括编码后的几何、编码后的属性和信令信息的比特流的步骤71003。
对点云数据中所包含的几何和属性进行编码的步骤71001和71002可以执行图1的点云视频编码器10002、图2的编码处理20001、图4的点云视频编码器、图12的点云视频编码器、图14的点云编码处理、图15的点云视频编码器或图17的几何编码器和属性编码器的一些或全部操作。
根据实施方式,在步骤71002中设置的特定点的预测模式可以是预测模式0、预测模式1、预测模式2或预测模式3中的一种。
根据实施方式,当登记在待编码的相应点的预测器中的最近邻近点的属性值之间的最大差值小于预定义的阈值时,步骤71002将预测模式0设置为该点的预测模式。根据实施方式,当登记在待编码点的预测器中的最近邻近点的属性值之间的最大差值等于或大于预定义的阈值时,步骤71002向多种候选预测模式应用率失真优化(RDO)过程,并将所述多种候选预测模式中的一种设置为该点的预测模式。在实施方式中,对每个点执行该处理。
根据实施方式,当登记在待编码点的预测器中的最近邻近点的属性值之间的最大差值等于或大于预定义的阈值时,步骤71002将对应于预测模式0的预测器设置为基础预测器,并通过向基础预测器应用式5和向与待编码点的邻近点相对应的预测器应用式6来计算得分(双得分)。然后,步骤71002将与具有计算出的得分中的最小分数的预测器相对应的预测模式设置为点的预测模式。根据实施方式,被设置为点的预测模式可以是预测模式0至预测模式3中的一种。
根据另一实施方式,当登记在待编码点的预测器中的最近邻近点的属性值之间的最大差值等于或大于预定义的阈值时,步骤71002估计点的属性值与登记在点中的邻近点的属性值之间的相似属性值,并将与相似属性值中的属性值最相似的邻近点相对应的预测器设置为基础预测器,然后通过向基础预测器应用式5和向与待编码点的邻近点相对应的其余预测器(不包括被设置为基础预测器的预测器)应用式6来计算得分(双得分)。然后,步骤71002将与具有计算出的得分中的最小分数的预测器相对应的预测模式设置为点的预测模式。即,对应于预测模式0的预测器不被用于设置待编码点的预测模式。换句话说,被设置给点的预测模式可以是预测模式1至预测模式3中的一种。
根据另一实施方式,当登记在待编码点的预测器中的最近邻近点的属性值之间的最大差值等于或大于预定义的阈值时,步骤71002通过向与待编码点的邻近点相对应的预测器应用式7来计算得分(双得分),并将与具有计算出的得分中的最小得分的预测器相对应的预测模式设置为点的预测模式。即,对应于预测模式0的预测器不被用于设置待编码点的预测模式。换句话说,被设置给点的预测模式可以是预测模式1至预测模式3中的一种。
根据实施方式,可以在属性切片数据中发信号通知通过应用RDO过程选择的点的预测模式。
根据实施方式,步骤71002可以将零游程长度编码应用于点的残差属性值。
在根据实施方式的步骤71001和71002中,可以基于切片或包含一个或更多个切片的图块来执行编码。
步骤71003可以由图1的发送器10003、图2的发送处理20002、图12的发送处理器12012或图15的发送处理器51008执行。
图36是根据实施方式的接收点云数据的方法的流程图。
根据实施方式,点云数据接收方法可以包括:接收编码后的几何、编码后的属性和信令信息的步骤81001,基于信令信息来对几何进行解码的步骤81002,基于信令信息和解码/重构的几何来对属性进行解码的步骤81003以及对基于解码后的几何和解码后的属性恢复点云数据进行渲染的步骤81004。
根据实施方式的步骤81001可以由图1的接收器10005、图2的发送处理20002或解码处理20003、图13的接收器130000或接收处理器13001或图20的接收处理器61001执行。
在根据实施方式的步骤81002和81003中,可以基于切片或包含一个或更多个切片的图块来执行解码。
根据实施方式,步骤81002可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图20的几何解码器或图21的几何解码器的一些或全部操作。
根据实施方式,步骤81003可以执行图1的点云视频解码器10006、图2的解码处理20003、图11的点云视频解码器、图13的点云视频解码器、图20的属性解码器或图21的属性解码器的一些或全部操作。
根据实施方式,诸如序列参数集、属性参数集、图块参数集或属性切片头之类的信令信息可以包括关于用于属性预测的预测器的最大数目的信息(lifting_max_num_direct_predictors)、用于启用属性的自适应预测的阈值信息(lifting_adaptive_prediction_threshold)、基础预测器选择方法(attribute_base_predictor_selection_type)、属性相似性检查方法(attribute_similarity_check_method_type)等。
根据实施方式,属性切片数据可以包括指示待解码点的预测模式的预测器索引信息(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 (15)
1.一种点云数据发送方法,该方法包括以下步骤:
获取点云数据;
对包括所述点云数据中的点的位置的几何信息进行编码;
基于所述几何信息对包括所述点云数据中的点的属性值的属性信息进行编码;以及
发送编码后的所述几何信息、编码后的所述属性信息和信令信息,
其中,对所述属性信息进行编码包括以下步骤:
基于待编码点的最近邻近点来生成预测器候选,
获得每个预测器候选的得分并将与具有最小得分的预测器候选相对应的预测模式设置为所述点的预测模式,以及
对所述点的预测模式和基于所述点的预测模式获得的所述点的残差属性值进行编码。
2.根据权利要求1所述的方法,
其中,所述最近邻近点的属性值之间的最大差值等于或大于阈值。
3.根据权利要求2所述的方法,
其中,对所述属性信息进行编码将预测模式1、预测模式2或预测模式3中的一种设置为所述点的预测模式,
其中,所述预测模式1下的所述点的预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,
其中,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且
其中,所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
4.根据权利要求3所述的方法,
其中,对所述属性信息进行编码基于通过应用所述预测模式1、所述预测模式2和所述预测模式3中的每一种而获得的每个残差属性值来获得每个预测器候选的所述得分。
5.根据权利要求2所述的方法,其中,对所述属性信息进行编码还包括以下步骤:
当所述最近邻近点的属性值之间的最大差值小于所述阈值时,将预定义的预测模式设置为所述点的预测模式,以及
对基于所设置的预测模式而获得的残差属性值进行编码,
其中,所述预定义的预测模式是预测模式0,并且
其中,所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
6.一种点云数据发送设备,该设备包括:
获取单元,该获取单元用于获取点云数据;
几何编码器,该几何编码器用于对包括所述点云数据中的点的位置的几何信息进行编码;
属性编码器,该属性编码器用于基于所述几何信息对包括所述点云数据中的点的属性值的属性信息进行编码;以及
发送器,该发送器用于发送编码后的所述几何信息、编码后的所述属性信息和信令信息,
其中,所述属性编码器基于待编码点的最近邻近点来生成预测器候选,获得每个预测器候选的得分,将与具有最小得分的预测器候选相对应的预测模式设置为所述点的预测模式,并对所述点的预测模式和基于所述点的预测模式而获得的所述点的残差属性值进行编码。
7.根据权利要求6所述的设备,其中,所述最近邻近点的属性值之间的最大差值等于或大于阈值。
8.根据权利要求7所述的设备,
其中,所述属性编码器将预测模式1、预测模式2或预测模式3中的一种设置为所述点的预测模式,
其中,所述预测模式1下的所述点的预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,
其中,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且
其中,所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
9.根据权利要求8所述的设备,
其中,所述属性编码器基于通过应用所述预测模式1、所述预测模式2和所述预测模式3中的每一种而获得的每个残差属性值来获得每个预测器候选的所述得分。
10.根据权利要求7所述的设备,
其中,所述属性编码器还在所述最近邻近点的属性值之间的最大差值小于所述阈值时,将预定义的预测模式设置为所述点的预测模式,并对基于所设置的预测模式而获得的残差属性值并且,
其中,所述预定义的预测模式是预测模式0,并且
其中,所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
11.一种点云数据接收设备,该设备包括:
接收器,该接收器用于接收几何信息、属性信息和信令信息;
几何解码器,该几何解码器用于基于所述信令信息对所述几何信息进行解码并恢复点的位置;
属性解码器,该属性解码器用于基于所述信令信息和所述几何信息对所述属性信息进行解码,并恢复所述点的属性值;
渲染器,所述渲染器用于对基于所述点的位置和属性值而恢复的点云数据进行渲染,
其中,所述属性解码器获得待解码的点的预测模式,基于所述点的预测模式来获得所述点的预测属性值,并基于所述属性信息中的所述点的残差属性值和所述点的所述预测属性值来恢复所述点的属性值。
12.根据权利要求11所述的设备,
其中,当所述点的最近邻近点的属性值之间的最大差值等于或大于阈值时,所述属性解码器从所述属性信息获得所述点的预测模式,并且
其中,所获得的所述点的预测模式是预测模式1、预测模式2或预测模式3中的一种。
13.根据权利要求12所述的设备,
其中,所述预测模式1下的所述点的所述预测属性值是基于所述最近邻近点中的第一最近邻近点的属性值来确定的,
其中,所述预测模式2下的所述点的所述预测属性值是基于所述最近邻近点中的第二最近邻近点的属性值来确定的,并且
其中,所述预测模式3下的所述点的所述预测属性值是基于所述最近邻近点中的第三最近邻近点的属性值来确定的。
14.根据权利要求12所述的设备,
其中,当所述最近邻近点的属性值之间的最大差值小于所述阈值时,所述点的预测模式是预定义的预测模式,并对基于所设置的预测模式而获得的残差属性值进行编码。
15.根据权利要求14所述的设备,
其中,所述预定义的预测模式是预测模式0,并且
其中,所述预测模式0下的所述点的预测属性值是通过所述最近邻近点的基于距离的加权平均值来确定的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962910398P | 2019-10-03 | 2019-10-03 | |
US62/910,398 | 2019-10-03 | ||
PCT/KR2020/013491 WO2021066615A1 (en) | 2019-10-03 | 2020-10-05 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114616827A true CN114616827A (zh) | 2022-06-10 |
Family
ID=75273680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080069482.XA Pending CN114616827A (zh) | 2019-10-03 | 2020-10-05 | 点云数据发送装置及方法、点云数据接收装置及方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11138688B2 (zh) |
EP (1) | EP4018669A4 (zh) |
JP (2) | JP2022550877A (zh) |
KR (1) | KR102295825B1 (zh) |
CN (1) | CN114616827A (zh) |
WO (1) | WO2021066615A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115146745A (zh) * | 2022-09-01 | 2022-10-04 | 深圳市城市公共安全技术研究院有限公司 | 点云数据坐标点位置校正的方法、装置、设备及存储介质 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818401B2 (en) | 2017-09-14 | 2023-11-14 | Apple Inc. | Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables |
US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US11113845B2 (en) | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
US11010928B2 (en) | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US11017566B1 (en) | 2018-07-02 | 2021-05-25 | Apple Inc. | Point cloud compression with adaptive filtering |
US11202098B2 (en) | 2018-07-05 | 2021-12-14 | Apple Inc. | Point cloud compression with multi-resolution video encoding |
US11012713B2 (en) | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
US11367224B2 (en) | 2018-10-02 | 2022-06-21 | Apple Inc. | Occupancy map block-to-patch information compression |
WO2020256308A1 (ko) * | 2019-06-21 | 2020-12-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 처리 장치 및 방법 |
US11711544B2 (en) | 2019-07-02 | 2023-07-25 | Apple Inc. | Point cloud compression with supplemental information messages |
US11627314B2 (en) | 2019-09-27 | 2023-04-11 | Apple Inc. | Video-based point cloud compression with non-normative smoothing |
US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
JPWO2021070952A1 (zh) * | 2019-10-09 | 2021-04-15 | ||
US11417029B2 (en) * | 2019-12-02 | 2022-08-16 | Tencent America LLC | Method and apparatus for point cloud coding |
US11798196B2 (en) | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
US11625866B2 (en) * | 2020-01-09 | 2023-04-11 | Apple Inc. | Geometry encoding using octrees and predictive trees |
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 |
US11956470B2 (en) * | 2020-04-07 | 2024-04-09 | Qualcomm Incorporated | Predictor index signaling for predicting transform in geometry-based point cloud compression |
US11562509B2 (en) * | 2020-04-08 | 2023-01-24 | Qualcomm Incorporated | Secondary component attribute coding for geometry-based point cloud compression (G-PCC) |
US11558643B2 (en) * | 2020-04-08 | 2023-01-17 | Qualcomm Incorporated | Secondary component attribute coding for geometry-based point cloud compression (G-PCC) |
US11615557B2 (en) | 2020-06-24 | 2023-03-28 | Apple Inc. | Point cloud compression using octrees with slicing |
US11620768B2 (en) | 2020-06-24 | 2023-04-04 | Apple Inc. | Point cloud geometry compression using octrees with multiple scan orders |
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 |
US11948338B1 (en) | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
EP4071718A1 (en) * | 2021-04-09 | 2022-10-12 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head |
CN117178553A (zh) * | 2021-04-15 | 2023-12-05 | Lg 电子株式会社 | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 |
KR20230174237A (ko) * | 2021-04-21 | 2023-12-27 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN117242493A (zh) * | 2021-05-27 | 2023-12-15 | Oppo广东移动通信有限公司 | 点云解码、上采样及模型训练方法与装置 |
US20220392114A1 (en) | 2021-06-08 | 2022-12-08 | Tencent America LLC | Method and apparatus for calculating distance based weighted average for point cloud coding |
WO2023158249A1 (ko) * | 2022-02-16 | 2023-08-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2023211113A1 (ko) * | 2022-04-25 | 2023-11-02 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2023211109A1 (ko) * | 2022-04-25 | 2023-11-02 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2023211111A1 (ko) * | 2022-04-25 | 2023-11-02 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322742A (zh) * | 2018-02-11 | 2018-07-24 | 北京大学深圳研究生院 | 一种基于帧内预测的点云属性压缩方法 |
CN108833927A (zh) * | 2018-05-03 | 2018-11-16 | 北京大学深圳研究生院 | 一种基于删除量化矩阵中0元素的点云属性压缩方法 |
CN109257604A (zh) * | 2018-11-20 | 2019-01-22 | 山东大学 | 一种基于tmc3点云编码器的颜色属性编码方法 |
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897269B2 (en) * | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
CN111149363A (zh) * | 2017-09-29 | 2020-05-12 | 索尼公司 | 信息处理设备和方法 |
CN111201549B (zh) * | 2017-10-16 | 2024-04-09 | 索尼公司 | 信息处理装置和信息处理方法 |
US20190116372A1 (en) * | 2017-10-16 | 2019-04-18 | Mitsubishi Electric Research Laboratories, Inc. | Systems and Methods for Compressing, Representing and Processing Point Clouds |
US10424083B2 (en) * | 2017-10-21 | 2019-09-24 | Samsung Electronics Co., Ltd. | Point cloud compression using hybrid transforms |
US10535161B2 (en) * | 2017-11-09 | 2020-01-14 | Samsung Electronics Co., Ltd. | Point cloud compression using non-orthogonal projection |
US10607373B2 (en) * | 2017-11-22 | 2020-03-31 | Apple Inc. | Point cloud compression with closed-loop color conversion |
US10853447B2 (en) * | 2018-01-19 | 2020-12-01 | 8i Limited | Bezier volume representation of point cloud attributes |
US10909727B2 (en) * | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US11010928B2 (en) * | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US10911787B2 (en) * | 2018-07-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression |
US10853973B2 (en) * | 2018-10-03 | 2020-12-01 | Apple Inc. | Point cloud compression using fixed-point numbers |
US11454710B2 (en) * | 2019-01-08 | 2022-09-27 | Apple Inc. | Point cloud compression using a space filling curve for level of detail generation |
US11284091B2 (en) * | 2019-03-25 | 2022-03-22 | Apple Inc. | Video based point cloud compression-patch alignment and size determination in bounding box |
US11373338B2 (en) * | 2019-01-09 | 2022-06-28 | Samsung Electronics Co., Ltd. | Image padding in video-based point-cloud compression CODEC |
US10964068B2 (en) * | 2019-03-18 | 2021-03-30 | Blackberry Limited | Methods and devices for predictive point cloud attribute coding |
US10979730B2 (en) * | 2019-03-20 | 2021-04-13 | Tencent America LLC | Techniques and apparatus for interframe point cloud attribute coding |
US11475604B2 (en) * | 2019-03-26 | 2022-10-18 | Tencent America LLC | Method and apparatus for adaptive point cloud attribute coding |
WO2021002443A1 (ja) * | 2019-07-02 | 2021-01-07 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
-
2020
- 2020-10-05 KR KR1020200128333A patent/KR102295825B1/ko active IP Right Grant
- 2020-10-05 US US17/062,991 patent/US11138688B2/en active Active
- 2020-10-05 CN CN202080069482.XA patent/CN114616827A/zh active Pending
- 2020-10-05 JP JP2022520572A patent/JP2022550877A/ja active Pending
- 2020-10-05 WO PCT/KR2020/013491 patent/WO2021066615A1/en unknown
- 2020-10-05 EP EP20872595.2A patent/EP4018669A4/en active Pending
-
2021
- 2021-10-04 US US17/493,353 patent/US11568514B2/en active Active
-
2024
- 2024-03-21 JP JP2024045132A patent/JP2024071473A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
CN108322742A (zh) * | 2018-02-11 | 2018-07-24 | 北京大学深圳研究生院 | 一种基于帧内预测的点云属性压缩方法 |
CN108833927A (zh) * | 2018-05-03 | 2018-11-16 | 北京大学深圳研究生院 | 一种基于删除量化矩阵中0元素的点云属性压缩方法 |
CN109257604A (zh) * | 2018-11-20 | 2019-01-22 | 山东大学 | 一种基于tmc3点云编码器的颜色属性编码方法 |
Non-Patent Citations (1)
Title |
---|
125.MPEG MEETING SECRETARIAT: "Information technology-MPEG-1(Coded Reprensentation of Immersive Media) Part 9:Geometry-based Point Cloud Compression", 《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》, 21 March 2019 (2019-03-21), pages 1 - 8 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115146745A (zh) * | 2022-09-01 | 2022-10-04 | 深圳市城市公共安全技术研究院有限公司 | 点云数据坐标点位置校正的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11138688B2 (en) | 2021-10-05 |
JP2024071473A (ja) | 2024-05-24 |
EP4018669A4 (en) | 2022-11-02 |
US11568514B2 (en) | 2023-01-31 |
EP4018669A1 (en) | 2022-06-29 |
WO2021066615A1 (en) | 2021-04-08 |
JP2022550877A (ja) | 2022-12-05 |
KR20210040272A (ko) | 2021-04-13 |
KR102295825B1 (ko) | 2021-08-31 |
US20220084164A1 (en) | 2022-03-17 |
US20210104013A1 (en) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114503571B (zh) | 点云数据发送装置和方法、点云数据接收装置和方法 | |
US11568514B2 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN113615204B (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
US11823424B2 (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 | |
CN114930853A (zh) | 点云数据发送装置、发送方法、处理装置和处理方法 | |
CN114175100A (zh) | 用于处理点云数据的方法和装置 | |
CN114073092A (zh) | 用于处理点云数据的设备和方法 | |
CN114073085A (zh) | 点云数据处理方法和设备 | |
CN114073086A (zh) | 点云数据处理设备和方法 | |
CN115428467A (zh) | 点云数据发送设备和方法、点云数据接收设备和方法 | |
CN115918092A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114009046A (zh) | 用于处理点云数据的装置和方法 | |
CN114097229A (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 | |
US20220230360A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
US20220383552A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN115668919A (zh) | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 | |
CN114402624A (zh) | 点云数据处理设备和方法 | |
EP4362463A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
EP4307661A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN117730539A (zh) | 点云数据发送设备和方法以及点云数据接收设备和方法 | |
CN114930860A (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 |