CN117121487A - 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 - Google Patents

点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 Download PDF

Info

Publication number
CN117121487A
CN117121487A CN202280027598.6A CN202280027598A CN117121487A CN 117121487 A CN117121487 A CN 117121487A CN 202280027598 A CN202280027598 A CN 202280027598A CN 117121487 A CN117121487 A CN 117121487A
Authority
CN
China
Prior art keywords
information
prediction
point cloud
data
point
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
Application number
CN202280027598.6A
Other languages
English (en)
Inventor
吴炫默
许惠桢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN117121487A publication Critical patent/CN117121487A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

根据实施例的一种点云数据发送方法可以包括以下步骤:将点云数据编码为几何数据;在几何数据的基础上对点云数据的属性数据进行编码;以及发送编码的几何数据、编码的属性数据和信令信息。

Description

点云数据发送设备、点云数据发送方法、点云数据接收设备和 点云数据接收方法
技术领域
实施例涉及用于处理点云内容的方法和装置。
背景技术
点云内容是由点云表示的内容,其是属于表示三维空间(或者体积)的坐标系的点的集合。点云内容可以表达以三个维度配置的媒体,并且被用于提供诸如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、扩展现实(XR)和自驾驶服务的各种服务。然而,需要几万到几十万的点数据来表示点云内容。因此,需要用于高效处理大量点数据的方法。
发明内容
技术问题
为解决上述问题而设计的本公开的目的是提供一种用于有效地发送和接收点云的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
本公开的另一个目的是提供一种用于解决时延和编码/解码复杂度的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
本公开的另一目的是提供一种用于高效地发送和接收几何点云压缩(G-PCC)比特流的点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法。
本公开的另一目的是提供一种点云数据发送设备、点云数据发送方法、点云数据接收设备以及点云数据接收方法,用于通过应用基于预测的编译方法以便有效地压缩点云数据通过压缩来执行点云数据的发送/接收。
本公开的另一个目的是提供一种点云数据发送设备和发送方法以及点云数据接收设备和接收方法,用于通过在通过应用基于预测的编译方法来压缩点云数据时基于帧间相关性去除冗余信息来提高压缩效率。
实施例的技术范围不限于前述技术目标,并且可以扩展到本领域技术人员基于本文公开的全部内容可以推断出的其他技术目标。
技术方案
为了实现这些目的和其他优点,并且根据本公开的目的,如本文体现和广泛描述的,点云数据发送方法包括:对点云数据的几何数据进行编码;基于几何数据对点云数据的属性数据进行编码;以及发送编码的几何数据、编码的属性数据和信令信息。
几何数据的编码包括:基于几何数据来生成预测树;将预测树划分为多个预测单元;对于每个预测单元,通过对参考帧执行运动估计和运动补偿,将预测器生成为参考帧内的具有与当前预测单元的点相似的特性的点的集合;在预测器中生成预测树;以及通过基于预测器的预测树和帧间预测模式信息执行帧间预测来获取残差信息。
帧间预测的执行还包括:通过从预测器选择与当前预测单元的要编码的点相似的点来执行帧间预测。
对几何数据的编码还包括:通过基于预测树和帧内预测模式信息执行帧内预测来获取残差信息。
几何数据的编码包括:通过比较应用于帧间预测的帧间预测模式信息和应用于帧内预测的帧内预测模式信息来选择最终的预测模式信息;以及对基于用于识别所选择的预测模式信息的信息和所选择的预测模式信息获取的残差信息进行熵编译并且发送熵编译的信息。
信令信息包括基于预测的几何压缩信息;以及基于预测的几何压缩信息包括用于识别参考帧的信息、通过运动估计获取的运动矢量(MV)信息、预测器的边界框大小信息、用于识别从预测器选择的点的信息或帧间预测模式信息中的至少一个。
根据实施例,一种点云数据发送设备包括:几何编码器,其被配置成对点云数据的几何数据进行编码;属性编码器,其被配置成根据几何数据对点云数据的属性数据进行编码;以及发射器,其被配置成发送编码的几何数据、编码的属性数据和信令信息。
几何编码器包括:第一预测树生成单元,其被配置成基于几何数据来生成预测树;预测单元生成单元,其被配置成将预测树划分为多个预测单元;预测器生成单元,其被配置成针对每个预测单元,通过对参考帧执行运动估计和运动补偿,将预测器生成为参考帧内的具有与当前预测单元的点相似的特性的点的集合;第二预测树生成单元,其被配置成生成预测器中的预测树;以及帧间预测单元,其被配置成通过基于预测器的预测树和帧间预测模式信息执行帧间预测来获取残差信息。
帧间预测单元通过从预测器选择与当前预测单元的要编码的点相似的点来执行帧间预测。
几何编码器还包括帧内预测单元,其被配置成通过基于预测树的要编码的点和帧内预测模式信息执行帧内预测来获取残差信息。
几何编码器还包括:模式选择单元,其被配置成通过将应用于帧间预测的帧间预测模式信息与应用于帧内预测的帧内预测模式信息进行比较来选择最终的预测模式信息;以及熵编译器,其被配置成对基于用于识别所选择的预测模式信息的信息和所选择的预测模式信息进行熵编译,并且发送熵编译的信息。
信令信息包括基于预测的几何压缩信息,并且基于预测的几何压缩信息包括用于识别参考帧的信息、通过运动估计获取的运动矢量(MV)信息、预测器的边界框大小信息、用于识别从预测器选择的点的信息或帧间预测模式信息中的至少一个。
根据实施例,一种点云数据接收方法包括:接收几何数据、属性数据和信令信息;基于信令信息来解码几何数据;基于信令信息和解码的几何数据来解码属性数据;以及基于信令信息来渲染从解码的几何数据和所解码的属性数据恢复的点云数据。
几何数据的解码包括:通过基于信令信息对参考帧执行运动补偿来生成参考帧内的预测器;基于信令信息从预测器生成预测树;通过基于信令信息中包括的预测模式信息和预测器的预测树执行帧间预测来生成预测信息;以及基于预测信息以及接收和解码的残差信息来恢复几何数据。
帧间预测的执行还包括:基于信令信息从预测器选择要在帧间预测中使用的点。
对几何数据的解码还包括:确定信令信息中包括的预测模式信息是否是帧间预测模式信息或帧内预测模式信息。
信令信息包括基于预测的几何压缩信息,并且基于预测的几何压缩信息包括用于识别参考帧的信息、用于运动补偿的运动矢量(MV)信息、预测器的边界框大小信息、用于从预测器选择点的信息或帧间预测模式信息中的至少一个。
对几何数据的解码还包括:基于由发送侧执行坐标转换,基于信令信息中包括的第一残差信息来校正几何数据的预测误差,并且通过将信令信息中包括的第二残差信息应用到校正的几何数据来校正在坐标转换的过程期间出现的误差。
有益效果
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供好质量的点云服务。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以实现各种视频编解码方法。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以提供通用点云内容,诸如自驾驶服务(或自主驾驶服务)。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以执行用于独立编码和解码点云数据的点云数据的空间自适应分区,从而改进并行处理并提供可缩放性。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以通过以图块和/或切片为单位分区点云数据来执行编码和解码,并为其用信号发送必要的数据,从而改进点云的编码和解码性能。
根据实施例的点云数据发送方法、点云数据发送设备、点云数据接收方法和点云数据接收设备可以通过使用基于预测的点云压缩方法在需要低延迟或低等待时间的环境中提供快速编码和解码。
根据实施例的点云数据发送方法和发送设备以及编码器通过另外考虑帧间预测以及帧内预测来有效地压缩点云数据。
根据实施例的点云数据接收方法和接收设备以及解码器通过接收包括点云数据的比特流并且基于比特流中的信令信息执行帧间预测来有效地恢复点云数据。
如果点云数据包括连续的帧,则当相邻帧间点分布存在相似性时,根据实施例的点云数据发送方法和发送设备通过基于帧间相关性去除冗余信息来提高点云数据的压缩效率。
附图说明
附图被包括以提供本公开的进一步理解,并且被并入本申请中且构成本申请的一部分,附图图示本公开的实施例并且与描述一起用于说明本公开的原理。在附图中:
图1图示根据实施例的示例性点云内容提供系统。
图2是图示根据实施例的点云内容提供操作的框图。
图3图示根据实施例的捕获点云视频的示例性过程。
图4图示根据实施例的点云视频编码器的示例性框图。
图5图示根据实施例的3D空间中的体素的示例。
图6图示根据实施例的八叉树和占用码的示例。
图7图示根据实施例的邻居节点图案的示例。
图8图示根据实施例的用于每个LOD的点云内容的点配置的示例。
图9图示根据实施例的用于每个LOD的点云内容的点配置的示例。
图10图示根据实施例的点云视频解码器的框图的示例。
图11图示根据实施例的点云视频解码器的示例。
图12图示根据实施例的用于发送设备的点云视频编码的配置。
图13图示根据实施例的用于接收设备的点云视频解码的配置。
图14图示根据实施例的与用于发送和接收点云数据的方法/设备可操作地连接的示例性结构。
图15是图示根据实施例的预测树结构的示例的图
图16是图示根据实施例的点云发送设备的另一例的图。
图17是示出根据实施例的几何编码器的详细框图的示例的图。
图18是示出根据实施例的当前帧和先前帧之间的关系的示例的图。
图19是示出根据实施例的生成被应用了运动的预测器的示例的图。
图20(a)和图20(b)是示出根据实施例生成树的预测树的示例的图。
图21是同时表达根据实施例的运动矢量(MV)的差异被补偿的预测器和PU的图。
图22是示出属于PU的点和属于预测器的点之间的帧间相关关系的示例的图。
图23是示出根据实施例的用于执行基于预测的压缩的几何编码过程的示例的流程图。
图24示出了根据实施例的用于发送/接收的点云数据的比特流结构的示例。
图25是示出根据实施例的几何数据单元(geometry_data_unit())的语法结构的示例的图。
图26是示出根据实施例的几何数据单元头(geometry_data_unit_header())的语法结构的示例的图。
图27是示出根据实施例的几何预测树数据(geometry_predtree_data())的语法结构的示例的图。
图28是示出根据实施例的geometry_predtree_node(PtnNodeIdx)的语法结构的示例的图。
图29是示出根据实施例的predtree_inter_prediction()的语法结构的示例的图。
图30是示出根据实施例的点云数据接收设备的另一例的图。
图31是示出根据实施例的几何解码器61003的示例的详细框图。
图32是示出根据实施例的用于基于预测恢复压缩几何的几何解码方法的示例的流程图。
图33是根据实施例的点云数据发送方法的流程图。
图34是根据实施例的点云数据接收方法的流程图。
具体实施方式
现在,将参考附图根据本文中公开的示例性实施例详细给出描述。为了参考附图简要描述,可为相同或等同的部件提供相同的标号,其描述将不再重复。应该注意,以下示例仅用于体现本公开,并不限制本公开的范围。本发明所属技术领域的专家从本公开的详细描述和示例中可以容易地推断出的内容将被解释为在本公开的范围内。
本说明书中的详细描述应该在所有方面都被解释为图示性而非限制性的。本公开的范围应该由所附权利要求及其法律等同物来确定,并且落入所附权利要求的含义和等同范围内的所有改变旨在被涵盖在本文中。
现在,将详细参考本公开的优选实施例,在附图中图示这些实施例的示例。下文将参考附图给出的详细描述旨在解释本公开的示例性实施例,而非示出可以根据本公开实现的仅有的实施例。以下详细描述包括具体细节,以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本公开。虽然在本说明书中使用的大多数术语已选自本领域中广泛使用的通用术语,但申请人已任意选择一些术语,并且在下面的描述中将根据需要详细解释它们的含义。因此,应当基于术语的本意而非它们的简单名称或含义来理解本公开。另外,以下的附图和详细描述不应该被解释为限于具体描述的实施例,而应该被解释为包括附图和详细描述中描述的实施例的等同物或替代物。
图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变换器(RAHT)40008、LOD生成器(生成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]
[表3]
当每个点的预测器具有邻居点时,根据实施例的点云视频编码器(例如,算术编码器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表示RAHT变换矩阵。在等式3中,表示级别l处的体素的平均属性值。可以基于/>和/>来计算/> 和/>的权重是和/>
[等式3]
这里,是低通值并被用在下一更高级别处的合并处理中。/>表示高通系数。每个步骤中的高通系数被量化并经历熵编译(例如,通过算术编码器40012编码)。权重被计算为/>如等式4地通过/>和/>计算根节点。
[等式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、预测/提升/RAHT变换处理器12010、算术编译器12011和/或发送处理器12012。
根据实施例的数据输入单元12000接收或获取点云数据。数据输入单元12000可以执行与点云视频获取单元10001的操作和/或获取方法(或参考图2描述的获取处理20000)相同或类似的操作和/或获取方法。
数据输入单元12000、量化处理器12001、体素化处理器12002、八叉树占用码生成器12003、表面模型处理器12004、帧内/帧间编译处理器12005和算术编译器12006执行几何编码。根据实施例的几何编码与参考图1至图9描述的几何编码相同或类似,因此省略对其的详细描述。
根据实施例的量化处理器12001对几何结构(例如,点的位置值)进行量化。量化处理器12001的操作和/或量化与参考图4描述的量化器40001的操作和/或量化相同或类似。细节与参考图1至图9描述的细节相同。
根据实施例的体素化处理器12002对点的量化后位置值进行体素化。体素化处理器12002可以执行与参考图4描述的量化器40001的操作和/或体素化处理相同或类似的操作和/或处理。细节与参考图1至图9描述的细节相同。
根据实施例的八叉树占用码生成器12003基于八叉树结构对点的体素化位置执行八叉树编译。八叉树占用码生成器12003可以生成占用码。八叉树占用码生成器12003可以执行与参考图4和图6描述的点云视频编码器(或八叉树分析器40002)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
根据实施例的表面模型处理器12004可以基于表面模型来执行三联体几何编码,以基于体素来重构特定区域(或节点)中的点的位置。表面模型处理器12004可以执行与参考图4描述的点云视频编码器(例如,表面近似分析器40003)的操作和/或方法相同或类似的操作和/或方法。细节与参考图1至图9描述的细节相同。
根据实施例的帧内/帧间编译处理器12005可以对点云数据执行帧内/帧间编译。帧内/帧间编译处理器12005可以执行与参考图7描述的帧内/帧间编译相同或类似的编译。细节与参考图7描述的细节相同。根据实施例,帧内/帧间编译处理器12005可以被包括在算术编译器12006中。
根据实施例的算术编译器12006对点云数据的八叉树和/或近似的八叉树执行熵编码。例如,编码方案包括算术编码。算术编译器12006执行与算术编码器40004的操作和/或方法相同或类似的操作和/或方法。
根据实施例的元数据处理器12007处理关于点云数据的元数据(例如,设定值),并将其提供到诸如几何编码和/或属性编码这样的必要处理过程。另外,根据实施例的元数据处理器12007可以生成和/或处理与几何编码和/或属性编码相关的信令信息。可以与几何编码和/或属性编码分开地对根据实施例的信令信息进行编码。可以对根据实施例的信令信息进行交织。
颜色变换处理器12008、属性变换处理器12009、预测/提升/RAHT变换处理器12010和算术编译器12011执行属性编码。根据实施例的属性编码与参考图1至图9描述的属性编码相同或类似,因此省略对其的详细描述。
根据实施例的颜色变换处理器12008执行颜色变换编译,以变换属性中包括的颜色值。颜色变换处理器12008可以基于重构的几何结构来执行颜色变换编译。重构的几何结构与参考图1至图9描述的相同。另外,它执行与参考图4描述的颜色变换器40006的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。
根据实施例的属性变换处理器12009执行属性变换,以基于重构的几何结构和/或未被执行几何编码的位置来变换属性。属性变换处理器12009执行与参考图4描述的属性变换器40007的操作和/或方法相同或类似的操作和/或方法。省略对其的详细描述。根据实施例的预测/提升/RAHT变换处理器12010可以通过RAHT编译、预测变换编译和提升变换编译中的任一种或其组合对变换的属性进行编译。预测/提升/RAHT变换处理器12010执行与参考图4描述的RAHT变换器40008、LOD生成器40009和提升变换器40010的操作相同或类似的操作中的至少一个。另外,预测变换编译、提升变换编译和RAHT变换编译与参考图1至图9描述的那些相同,因此省略对其的详细描述。
根据实施例的算术编译器12011可以基于算术编译对编译的属性进行编码。算术编译器12011执行与算术编码器40012的操作和/或方法相同或类似的操作和/或方法。
根据实施例的发送处理器12012可以发送包含编码的几何结构和/或编码的属性和元数据的每个比特流,或发送配置有编码的几何结构和/或编码的属性和元数据的一个比特流。当根据实施例的编码的几何结构和/或编码的属性和元数据被配置成一个比特流时,该比特流可以包括一个或更多个子比特流。根据实施例的比特流可以包含信令信息,该信令信息包括用于序列级别信令的序列参数集(SPS)、用于几何信息编译的信令的几何参数集(GPS)、用于属性信息编译的信令的属性参数集(APS)以及用于图块级信令的图块参数集(TPS或图块库存)和切片数据。切片数据可以包括关于一个或更多个切片的信息。根据实施例的一个切片可以包括一个几何比特流Geom00以及一个或更多个属性比特流Attr00和Attr10
切片是表示编译的点云帧的整体或者一部分的一系列语法元素。
根据实施例的TPS可以包括关于一个或更多个图块的每个图块的信息(例如,关于边界框的高度/大小信息和坐标信息)。几何比特流可以包含报头和有效载荷。根据实施例的几何比特流的报头可以包含GPS中包括的参数集标识符(geom_parameter_set_id)、图块标识符(geom_tile_id)和切片标识符(geom_slice_id)以及关于有效载荷中包含的数据的信息。如上所述,根据实施例的元数据处理器12007可以生成和/或处理信令信息,并将其发送到发送处理器12012。根据实施例,用于执行几何编码的元件和用于执行属性编码的元件可以彼此共享数据/信息,如虚线所指示的。根据实施例的发送处理器12012可以执行与发射器10003的操作和/或发送方法相同或类似的操作和/或发送方法。细节与参考图1和图2描述的细节相同,因此省略对其的描述。
图13图示根据实施例的接收设备。
图13中图示的接收设备是图1的接收设备10004(或图10和图11的点云视频解码器)的示例。图13中图示的接收设备可以执行与参考图1至图11描述的点云视频解码器的操作和方法相同或类似的操作和方法中的一个或更多个。
根据实施例的接收设备包括接收器13000、接收处理器13001、算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器(三角形重构、上采样、体素化)13004、逆量化处理器13005、元数据解析器13006、算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009、颜色逆变换处理器13010和/或渲染器13011。根据实施例的用于解码的每个元件可以执行根据实施例的用于编码的对应元件的操作的逆处理。
根据实施例的接收器13000接收点云数据。接收器13000可以执行与图1的接收器10005的操作和/或接收方法相同或类似的操作和/或接收方法。省略对其的详细描述。
根据实施例的接收处理器13001可以从接收到的数据获取几何比特流和/或属性比特流。接收处理器13001可以被包括在接收器13000中。
算术解码器13002、基于占用码的八叉树重构处理器13003、表面模型处理器13004和逆量化处理器13005可以执行几何解码。根据实施例的几何解码与参考图1至图10描述的几何解码相同或类似,并且因此省略对其的详细描述。
根据实施例的算术解码器13002可以基于算术编译对几何比特流进行解码。算术解码器13002执行与算术解码器11000的操作和/或编译相同或类似的操作和/或编译。
根据实施例的基于占用码的八叉树重构处理器13003可以通过从解码的几何比特流(或作为解码结果而被保护的关于几何结构的信息)获取占用码来重构八叉树。基于占用码的八叉树重构处理器13003执行与八叉树合成器11001的操作和/或八叉树生成方法相同或相似的操作和/或方法。当应用三联体几何编码时,根据实施例的表面模型处理器1302可以基于表面模型方法来执行三联体几何解码和相关的几何重构(例如,三角形重构、上采样、体素化)。表面模型处理器1302执行与表面近似合成器11002和/或几何重构器11003的操作相同或类似的操作。
根据实施例的逆量化处理器1305可以对解码的几何结构进行逆量化。
根据实施例的元数据解析器1306可以解析接收到的点云数据中包含的元数据,例如,设定值。元数据解析器1306可以传递元数据以进行几何解码和/或属性解码。元数据与参考图12描述的元数据相同,并且因此省略对其的详细描述。
算术解码器13007、逆量化处理器13008、预测/提升/RAHT逆变换处理器13009和颜色逆变换处理器13010执行属性解码。属性解码与参考图1至图10描述的属性解码相同或类似,并且因此省略对其的详细描述。
根据实施例的算术解码器13007可以通过算术编译对属性比特流进行解码。算术解码器13007可以基于重构的几何结构对属性比特流进行解码。算术解码器13007执行与算术解码器11005的操作和/或编译相同或类似的操作和/或编译。
根据实施例的逆量化处理器13008可以对解码的属性比特流进行逆量化。逆量化处理器13008执行与逆量化器11006的操作和/或逆量化方法相同或相似的操作和/或方法。
根据实施例的预测/提升/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设备17300。
具有用于提供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服务相关的内容数据,并将其提供给用户。根据实施例的车辆或用户接口设备可以接收用户输入信号。根据实施例的用户输入信号可以包括指示自驾驶服务的信号。
如参考图1至图14所描述的,点云数据可以包括点的集合,并且每个点可以具有几何形状(也称为几何信息)和属性(称为属性信息)。几何信息表示每个点的三维(3D)位置信息(xyz)。即,每个点的位置由表示3D空间的坐标系中的参数(例如,表示空间的X、Y和Z轴三个轴的参数(x,y,z))来表示。属性信息表示点的颜色(RGB、YUV等)、反射率、法矢量、透明度等。
根据实施例,点云数据编码过程包括:基于八叉树、三联体或预测来压缩几何信息;以及基于利用通过压缩改变的位置信息而重构(或解码)的几何信息来压缩属性信息。点云数据解码过程包括接收:编码几何比特流和编码属性比特流;基于八叉树、三联体或预测来解码几何信息;以及基于通过解码操作重构的几何信息来解码属性信息。
由于已经参考图4至图13详细描述了根据实施例的基于八叉树或基于三联体的几何信息压缩,这里省略其描述。
在下文中,在本公开的实施例中,将描述基于预测的几何信息压缩。根据实施例的基于预测的几何信息压缩是通过定义点云数据的预测结构来执行的。该结构被表示为具有与点云数据的每个点相关联的顶点的预测树。预测树可以包括根顶点(称为根点)和叶顶点(称为叶点)。根点以下的点可能至少有一个子(child),并且深度在叶点的方向中增加。可以从预测树中的父节点预测每个点。根据实施例,可以通过基于对应点的父(parent)、祖(grandparent)和曾祖(great-grandparent)的点位置应用各种预测模式(例如,无预测、变化量预测、线性预测和平行四边形预测)之一来预测每个点。
此时,根节点(即初始值)不被预测,即点的位置信息(即根节点的x、y、z坐标)不经压缩地发送到接收侧。这是因为预测树中的每个点都是基于至少一个父节点进行预测的,但根节点没有父节点。
也就是说,基于预测的几何压缩方法可以用于减少基于连续点的位置相似性而发送的信息量。此时,可以通过应用各种预测模式来预测每个点,并且其中,初始值(例如根节点)可能没有参考的点(即父点),因此实际值(即,x、y、z坐标值)被发送到接收侧而不进行预测。
图15是图示根据实施例的预测树结构的示例的图。
也就是说,最终的预测树可以是定义作为子点要压缩的点(如图15中,具有父、祖、曾祖等关系的点云集合中的特定点)和作为父点将被预测的点并搜索父子关系的过程,可以被构造为一系列父和子。例如,如果假设点50013是要压缩的点,则点50012成为父,点50011成为祖,并且点50010成为曾祖。
根据实施例,当构建预测树时,第一次开始压缩的点被配置成根顶点(或根节点)。点50011成为以根顶点(即,根点)50010作为父的子点。根据实施例,可以基于几何假设点50011与根点50010具有最高相似度。根据实施例,预测树可以具有有着多个子点的点(或顶点)。根据实施例,子的数量可以被限制为特定数量(例如,3)或者可以是无限的。例如,如图所示,点(或顶点)50014具有三个子,并且点(或顶点)50015具有两个子。
根据实施例,当如图15所示生成预测树时,可以使用预测模式来执行点的预测。
例如,当V(p)被定义为预测树上要压缩的点,即第p个点时,V(p-1)被定义为第p个点的父点(或顶点),V(p-2)被定义为第p个点的祖点,V(p-3)被定义为第p个点的曾祖点,并且V(p-4)被定义为第p个点的曾曾祖点时,用于每个预测模式的预测误差E可以被定义为如下面的等式5所示。例如,可以通过将下面的等式5的预测模式中的每个应用到点V(p)来计算7个预测误差值E,并且计算的7个预测误差值之中具有最小预测误差值的预测模式可以被配置成点V(p)的预测模式。例如,当通过应用第二等式获得预测误差值(E={[V(p)-V(p-1)]-a*[V(p-1)-V(p-2)-b})是7个预测误差值之中的最小值(即,使误差最小化的值),则点(V(p))的预测模式可以被配置(或选择)为预测模式2(模式2)。另外,配置的(选择的)预测模式信息(pred_mode)和配置的预测模式的系数信息(例如,a、b等)可以在信令信息和/或切片中用信号发送,并且然后发送到接收设备。信令信息可以包括参数集(例如,SPS、GPS、APS和TPS(也称为图块库存))、携带对应残差信息(也称为预测误差)的切片的报头等。预测模式信息也称为帧内模式信息或帧内预测模式。
[等式5]
模式1:E=[V(p)-a*V(p-1)-b]
模式2:E={[V(p)-V(p-1)]-a*[V(p-1)-V(p-2)]-b}
模式3:E={[V(p)+V(p-1)]/2-a*[V(p-1)+V(p-2)]/2-b}
模式4:E={[V(p)-V(p-1)]-a*[V(p-2)-V(p-3)]-b}
模式5:E={[V(p)+V(p-1)+V(p-2)]/3-a*[V(p-1)+V(p-2)+V(p-3)]/3b},
模式6:E={[V(p)+V(p-1)+V(p-2)]/3-a’*[V(p-2)+V(p-3)+V(p-4)]/3-b’}
模式7:E={[V(p)-2V(p-1)+V(p-2)]-a*[V(p-1)-2V(p-2)+V(p-3)]-b}
下面的等式6指示计算用于每个预测模式的预测信息的等式的示例。例如,如果通过应用等式5选择的点V(p)的预测模式是预测模式2(模式2),则可以通过应用第二等式(V等式6的'(p)=(a+1)*V(p-1)-a*V(p-2)+b)来获得与预测模式2对应的预测信息V'(p)。也就是说,可以如下式6所示预测使等式5的误差最小化的V'(p)。
[等式6]
模式1:V’(p)=a*V(p-1)+b
模式2:V’(p)=(a+1)*V(p-1)-a*V(p-2)+b
模式3:V’(p)=(a-1)*V(p-1)+a*V(p-2)+2b
模式4:V’(p)=V(p-1)+a*V(p-2)-a*V(p-3)+b
模式5:V’(p)=(a-1)*V(p-1)+(a-1)*V(p-2)+a*V(p-3)+3b
模式6:V’(p)=V(p-1)+(a-1)*V(p-2)+a*V(p-3)+a*V(p-4)+3b
模式7:V’(p)=(a+2)*V(p-1)-(2a+1)*V(p-2)+a*V(p-3)+b
根据实施例,模式1可以被称为变化量预测,模式2或模式3可以被称为线性预测,并且模式4、模式5、模式6或模式7可以被称为平行四边形预测器或平行四边形预测。
在除根节点之外的节点(即,点)的情况下,发送侧可以向接收侧发送每个点的帧内预测模式以及该点的位置和预测位置之间的差(这被称为残差信息或预测误差)。
另外,本公开可以在特定单元(例如,切片单元、编译块单元、帧单元或N个单元)中使用并用信号发送用于上述各种预测方法的预先指定的方法或用信号发送最小化用于每个点的误差的方法。此外,即使对于预测系数a和b,也可以使用并用信号发送预定值,或者可以用信号发送最小化用于每个点的误差的方法。
此时,在根节点50010的情况下,传统上,在不进行预测的情况下用信号发送单独的预测模式,并且将位置信息直接发送到接收侧。
根据实施例,在基于预测的压缩中,预测的准确性随着相似点相邻存在而增加。考虑到这一点,可以重新布置预测目标点,使得相似点彼此相邻。可以在整个点云上执行,或者在逐切片的基础上执行重新排列,或者可以使用这两种方法。
上述基于预测的压缩是一种用于减少当前帧内的点之间的相似性的方法。
当点云数据包括连续帧时,相邻帧之间的相关性较高。在本说明书中,通过使用该特征基于帧间相关性去除冗余信息,可以获得更高的编译效率(即,压缩效率)。
本说明书公开了一种当点云数据包括连续帧时提高基于预测的几何(即,位置)信息的压缩效率的方法。
也就是说,本说明书公开了一种用于在压缩几何信息时提高基于预测的编译的压缩效率的技术,并且具体地,描述了一种用于基于不同帧之间的信息相似性来提高压缩效率的方法。换句话说,当点云数据存在于连续帧上时,相邻帧之间的点分布可能存在相似性。在这种情况下,可以通过去除帧之间的相似性来提高点云数据压缩效率。
本公开中提出的方法可以普遍用于点云数据的压缩,也可以用于点云数据的可扩展压缩。本公开中描述的基于预测的几何压缩方法也可以用于基于预测的属性压缩。
根据实施例,点云数据的编码处理可以由以下来执行:图1的点云视频编码器10002、图2的编码20001、图4的点云视频编码器、图12的点云视频编码器、图16的几何编码器51003、图17的几何编码器或图23的几何编码过程。根据实施例的点云数据的解码过程可以由以下来执行:图1的点云视频解码器10006、图2的解码20003、图11的点云视频解码器、图13的点云视频解码器、图30的几何解码器61003、图31的几何解码器或者图32的几何解码过程。下面将给出图30至图32的详细描述。
图16是图示根据实施例的点云发送设备的另一例的图。图16中所示的点云发送设备的元件如下可以由硬件、软件、处理器和/或其组合来实现。
根据实施例,点云发送设备可以包括数据输入单元51001、信令处理器51002、几何编码器51003、属性编码器51004和发送处理器51005。
图16是图示根据实施例的点云发送设备的另一例的图。在图16中所示的点云发送设备的元件可以由硬件、软件、处理器和/或其组合来实现。
根据实施例,点云发送设备可以包括数据输入单元51001、信令处理器51002、几何编码器51003、属性编码器51004和发送处理器51005。
几何编码器51003和属性编码器51004可以执行图1的点云视频编码器10002、图2的编码20001、图4的点云视频编码器和图12的点云视频编码器中描述的一些或全部操作。
根据实施例的数据输入单元51001接收或获取点云数据。数据输入单元51001可以执行图1中的点云视频获取单元10001的一些或全部操作或者图12中的数据输入单元12000的一些或全部操作。
数据输入单元51001将点云数据的点的位置输出到几何编码器51003,并将点云数据的点的属性输出到属性编码器51004。参数被输出到信令处理器51002。在一些实施例中,可以将参数提供给几何编码器51003和属性编码器51004。
几何编码器51003使用输入点的位置配置预测树,并基于预测树执行几何压缩。在这种情况下,可以在帧内或帧间执行几何压缩的预测。在本公开中,前者可以被称为帧内预测,并且后者可以被称为帧间预测。几何编码器51003对压缩的几何信息执行熵编码,并且以几何比特流的形式将该信息输出到发送处理器51005。
几何编码器51003基于通过压缩改变的位置来重新配置几何信息,并且将重新配置的(或解码的)几何信息输出到属性编码器51004。
属性编码器51004基于不执行几何编码的位置和/或重新配置的几何信息来压缩属性信息。根据实施例,可以使用RAHT编译、基于LOD的预测变换编译和提升变换编译中的任意一个或者一个或多个的组合来对属性信息进行编译。属性编码器51004对压缩的属性信息执行熵编码,并且以属性比特流的形式将该信息输出到发送处理器51005。
信令处理器51002可以生成和/或处理几何信息和属性信息的编码/解码/渲染所必需的信令信息,并将生成的和/或处理的信令信息提供给几何编码器51003、属性编码器51004和/或发送处理器51005。可替选地,可以向信令处理器51002提供由几何编码器51003、属性编码器51004和/或发送处理器51005生成的信令信息。信令处理器51002可以向几何编码器51003、属性编码器51004和/或发送处理器51005提供从接收设备反馈的信息(例如,报头定向信息和/或视口信息)。
在本公开中,能够以参数集(SPS、GPS、APS和TPS(也称为图块库存))为单位用信号发送和发送信令信息。另外,能够以每个图像的编译单元(或压缩单元或预测单元)(诸如切片或图块)为单位来用信号发送和发送信令信息。
发送处理器51005可以执行与图12的发送处理器12012的操作和/或传输方法相同或相似的操作和/或传输方法,并且执行与图1的发射器1003相同或相似的操作和/或传输方法。对于详细描述,请参考图1或图12的描述,并且在此省略详细描述。
发送处理器51005可以将从几何编码器51003输出的几何比特流、从属性编码器51004输出的属性比特流以及从信令处理器51002输出的信令比特流复用到一个比特流中。复用的比特流可以不改变地被发送或者通过封装在文件或段中被发送。在本公开的一个实施例中,该文件为ISOBMFF文件格式。
根据实施例,文件或段可以被发送到接收设备或存储在数字存储介质(例如,USB驱动器、SD、CD、DVD、蓝光盘、HDD、SSD等)中。根据实施例的发送处理器51005可以通过经由诸如4G、5G或6G的网络有线/无线通信与接收设备进行通信。另外,发送处理器51005可以根据网络系统(例如,4G、5G或6G通信网络系统)执行必要的数据处理操作。发送处理器51005可以根据点播方案发送封装的数据。
根据实施例,与几何预测有关的信息由信令处理器51002、几何编码器51003以及发送处理器51005中的至少一个被包括在GPS和/或TPS和/或几何数据单元(也称为几何切片比特流)中,并且可以被发送。
图17是示出根据实施例的几何编码器51003的详细框图的示例的图。在图17中所示的几何编码器的元件可以被实现为硬件、软件、处理器和/或其组合。
根据实施例,几何编码器51003可以包括聚类和排序单元51031、预测树生成单元51032、帧内预测单元51033、模式选择单元51034、熵编译单元51035、预测单元生成单元51036、运动估计单元51037、运动补偿单元51038和帧间预测单元51039。
聚类和排序单元51031可以被划分为聚类单元和排序单元。聚类单元可以被称为划分器。每个块的执行顺序可以改变,可以省略一些块,并且可以新添加一些块。
根据实施例,聚类和排序单元51031可以对属于相同帧的点进行排序。在这种情况下,可以对点的位置信息进行排序以提高压缩效率。
根据另一实施例,聚类和排序单元51031将基于输入点云数据的点的位置信息聚类和输入的点云数据的点划分为多个聚类(例如,切片)。此外,对于每个聚类,通过考虑聚类内每个点的几何信息对点云数据的点进行排序。
此时,可以对每个聚类中的点进行排序以提高压缩效率。例如,当从旋转轴径向获取数据时,诸如LiDAR,可以将坐标系转换为垂直位置、旋转角度和距激光器中心轴的距离以执行排序。在这种情况下,可以通过将排序方向确定为之字形来增加点之间的相关性。
预测树生成单元51032可以在聚类和排序单元51031对帧或每个聚类内的点云数据的点进行排序之后配置帧或每个聚类内的预测树。
当预测树生成单元51032中生成预测树时,帧内预测单元51033通过为预测树中的点配置父子关系确定每个点的帧内预测模式,基于所确定的帧内预测模式来获得每个点的残差信息,并且然后将帧内预测模式信息和残差信息输出到模式选择单元51034。根据实施例,帧内预测单元51033将等式5和6应用于每个点以确定提供最佳压缩比的帧内预测模式。根据实施例,每个点的帧内预测模式可以是模式1至模式7之一。
当允许帧间预测时,预测单元生成单元51036将在预测树生成单元51032中生成的预测树(或预测树内的点)划分为多个预测单元(PU)。在本公开中,PU被定义为属于预测树的子集的概念。
根据实施例,在定义PU时,属于PU的节点可以彼此具有父子关系,其可以遵循在预测树中定义的父子关系。
在本公开中,可以使用各种方法来定义PU。例如,可以使用将PU分类为预测树内的距离彼此相邻的点的集合的方法。作为另一示例,可以使用在按顺序列出预测树中的点时根据某个数量来区分PU的方法。在这种情况下,每个点可以一对一地匹配PU之一。
根据实施例,帧之间存在的运动可以被定义在诸如x、y和z的三维空间中,并且帧之间的运动可以被定义为全局运动矢量。与此不同的是,帧内可能具有区域上不同的运动,其可以被定义为局部运动矢量。
根据实施例,可以使用用于传送来自外部的运动矢量(MV)(例如,当通过安装在车辆上的LiDAR获取数据时,可以通过车辆的GPS信息等获得全局运动矢量)或估计帧之间的运动矢量(MV)的运动估计技术。另外,所获得的MV可以用于基于先前帧的信息来估计当前帧的信息。
也就是说,可以在搜索窗口内执行运动估计(ME),搜索窗口是用于寻找每个PU的参考帧(也称为先前帧)上的运动矢量(MV)的范围。
在下文中,将描述用于估计运动矢量(MV)的运动估计单元51037。
当在预测单元生成单元51036中生成PU时,运动估计单元51037以预测单元(PU)为单位执行运动估计。也就是说,可以针对每个PU执行运动估计。
图18是示出根据实施例的当前帧和先前帧之间的关系的示例的图。在图18中,帧n(即,第n帧)表示当前帧,帧n-1表示先前帧。特别地,图18图示了属于第n帧的第m预测树中的第个PU的定义并且示出了与先前帧的关系。图18示出了属于PU的点数被定义为8的情况的示例。这里,8是为了帮助本领域技术人员理解的示例,并且属于PU的点数不限于8。
根据实施例,可以通过为当前帧的第k PU(即,PU k)选择参考帧(即,先前帧)内具有相似点分布的部分来估计运动信息。在这种情况下,参考帧可以是编译帧的全部或部分。根据实施例,点云发送设备或几何编码器可以包括缓冲器(未示出)以存储其中完成编译的参考帧。另外,缓冲器可以存储多个参考帧,并且运动估计单元51037可以选择缓冲器中存储的多个参考帧中的一个或多个用于运动估计。
图18示出了在假设帧n-1是选择的参考帧的情况下,在用于寻找参考帧中的运动矢量(MV)的范围(即,搜索窗口)内获得具有与PU k相似的特性的一组点的示例。此时,搜索窗口可以被定义为参考帧的全部或部分,并且可以被定义在3D空间中。根据实施例,搜索范围内具有最相似特性的一组点可以被定义为预测器。预测器的边界框的大小可以与PU的边界框的大小相同或者是PU的边界框的大小的缩放值。
根据实施例,为了找到用于估计PU的最佳预测器,可以使用最小化搜索窗口内的PU边界框的大小的候选之间的误差的方法。此时,误差可以被定义为整个块的误差,并且作为用于估计块误差的范围的搜索窗口可以被定义为帧n-1的全部或部分。可以考虑在3维空间中定义PU边界框、预测器边界框、搜索范围等的情况,并且PU边界框、预测器边界框、搜索范围等可以具有在每个轴方向上有搜索范围的矩形棱柱。
下面的等式7是用于获得块误差的等式。
[等式7]
块误差=失真+λ速率
在等式7中,失真表示PU中的每个点与最近预测器中的点之间的位置差异、属性差异或者位置和属性差异。速率指示当使用运动矢量(MV)时所需的比特流大小预测值。λ表示控制失真权重和速率的变量。
当运动估计单元51037执行运动估计时,运动补偿单元51038可以基于作为运动估计的结果而获取的运动矢量(MV)来执行运动补偿,以生成参考帧内的与PU具有相似性的一个预测器。
在下文中,将描述运动补偿。
根据实施例,可以基于通过运动估计获得的运动矢量(MV)在参考帧中估计要被编译的PU的预测器。此时,由于接收器不能够估计PU边界框,因此可以使用单独递送的预测器的边界框信息、运动矢量(MV)和参考帧索引(ref_frame_id)来生成预测器。
图19是示出根据实施例的生成被应用了运动的预测器的示例的图。图19示出了ref_frame_id=n-1并且预测器边界框=PU边界框的情况。根据实施例,可以基于运动矢量(MV)和被称为ref_frame_id的参考帧的预测器的边界框的大小来定义预测器的位置和大小。另外,可以通过将运动矢量(MV)应用到属于预测器的点来生成被应用了运动的预测器。
当在运动补偿单元51038中生成被应用运动的预测器时,帧间预测单元51039使用该预测器执行用于选择帧间预测模式的帧间预测。也就是说,帧间预测单元51039可以在由运动补偿单元51038生成的预测器内找到与当前PU的压缩目标点相似的点,并且基于此来执行帧间预测。
在下文中,将描述帧间预测模式选择。
帧间预测模式选择
在本公开中,可以使用基于运动矢量(MV)估计的预测器来增加当前帧中的点的压缩效率。根据实施例的基于预测的压缩方法是基于编译的点的信息来估计当前点的方法。此时,为了提高估计的准确性,重要的是使用编译的点中与当前点最相似的点。因此,当基于帧间相关性进行预测(例如,帧间预测)时,可以获得比通过使用要压缩的帧(即参考帧)中与当前点相似的点基于帧内相关性的预测方法(例如帧内预测)更高的压缩效率。具体地,当在不使用诸如预测树的根之类的相邻点信息的情况下按原样压缩点信息时,可以使用相邻帧(即,参考帧)的点信息来提高压缩效率。
1)预测器的预测树的配置
根据实施例,帧间预测单元51039可以针对参考帧中具有最小MV的预测器来配置在点之间的预测树。此时,配置方法可以采用现有的预测树配置方法。例如,预测器的预测树可以按照莫顿码(Morton code)的顺序来配置,也可以按照轴优先级,例如x轴方向、y轴方向和z轴方向,每次围绕一个轴顺序排序来配置。即,可以通过固定xy平面后对z以升序排序、固定xz平面后对y以升序排序、或者固定yz平面后对x以升序排序来生成预测器的预测树。在本公开中,可以单独用信号发送预测树生成方法(例如,predictor_pred_tree_Generation_type)。
当需要坐标转换时,可以在坐标转换之后单独用信号发送排序(例如,predictor_coordinate_type)。例如,当使用单独的坐标时,可以通过根据参考帧的坐标转换后经由预定义或单独的信号发送的r轴、phi轴和激光id轴的优先级排序来配置预测器的预测树。当没有单独的信令时,这可以指示在预测编译中使用的坐标被不改变地使用。在某些情况下,可能需要将参考帧变换到坐标空间,例如预测编译坐标。
图20(a)和图20(b)是示出根据实施例的生成树的预测树的示例的图。在图20(a)和图20(b)中,附图标号51040(即,由实线表示的正方形)表示参考帧中的预测器(例如,预测器k)的3D边界框,并且圆圈表示属于参考帧的点之中属于预测器的点。在图20(b)中,圆圈之间的实线表示通过上述方法生成的预测树的父子关系。
2)帧间相关性
根据实施例,当如图20(b)所示生成预测器的预测树时,帧间预测单元51039可以将与当前点的关系指配给预测器中的点。在本公开中,作为示例,点之间的距离被用于定义预测器与属于PU的点之间的关系。
图21是同时表达根据实施例的运动矢量(MV)的差异被补偿的预测器和PU的图。在图21中,没有阴影线的圆圈表示属于当前帧的第k PU的点,并且有阴影线的圆圈表示属于参考帧的预测器的点(即,与第k PU最相似的点的集合)。圆圈之间的实线通过预测树表示父子关系,并且正方形表示PU和预测器的3D边界框。也就是说,这是PU的边界框的大小和预测器的边界框的大小相同的情况的示例。此时,预测器的预测树可以使用上一步中获得的方法,PU的预测树可以基于PU点之间的关系来配置预测树。
如图21中所示,当使用预测器(其是与第k PU最相似的点的集合)来执行压缩时,当前帧的节点位置可以被估计为具有小误差的参考帧(即,先前帧)的节点位置。
也就是说,对于属于PU的点和属于预测器的点,从PU的点到预测器的点的距离(也称为dist)可以如下面的等式8被定义。
[等式8]
dist(n,k)=|pPU(n)-ppredictor(m)|
在等式8中,pPU(n)可以表示属于PU的第n点,并且Ppredictor(m)可以表示属于预测器的第m点的位置/属性/位置和属性。基于上面定义的dist,可以获得PU中包括的每个点与属于预测器的点之间的dist,并且其中dist最小化的预测器的点可以被定义为与PU的点具有高度相关的点,其可以称为帧间相关点(inter-frame correlated point)。
此时,根据预测器可能无法进行点之间的一对一匹配。例如,预测器中的一个点可能与PU的多个点有关系。相反,预测器中的多个点可能与PU的一个点有关系。
图22是示出根据实施例的运动补偿之后属于第k PU的点和属于预测器的点之间的帧间相关关系的示例的图。图22示出了属于PU的点的数量小于属于预测器的点的数量的情况的示例。在图22中,通过虚线连接到PU的每个点的预测器的每个点表示帧间相关点。
根据实施例,点云发送设备可以传送关于与每个点相关的帧间相关点的信息(例如,corlated_point_index)。在本公开中,可以使用各种方法来传递帧间相关点的位置。例如,可以直接发送每个点的位置。作为另一示例,当可以直接发送参考帧上的位置时,可以传递基于运动矢量(MV)的每个点位置的差值以减少所需的比特。作为另一示例,可以基于连续相关点之间的每个点的位置的相似性根据PU点的编译顺序来传送先前相关点和当前相关点之间的差异。作为另一示例,基于预测器的预测树配置,可以发送点索引(或与前一点索引的差值)(例如,correlated_point_index)。根据实施例,在发送点索引的方法的情况下,要发送的信息量可以是最小的,但是点云数据接收设备中需要生成预测器的预测树的部分可能是负担。例如,作为针对参考帧中定义的预测器指定与当前点相关的点的方法,corded_point_index可以告知索引。
作为另一种方法,可以推断关于帧间相关点的信息。例如,当对第n点p(n)进行编译时,针对在预测器内编译的PU点p(0)至p(n-1)计算帧间相关点c(0)至c(n-1)。在这种情况下,基于父子相似性和PU预测器相似性,作为p(n-1)的相关点的c(n-1)的子可以被假设为p(n)d相关点c(n)。在这种情况下,存在的优点是关于相关点的信息不需要单独传输,但是当p(n)和c(n)之间的相关度不高时,残差信息(也称为残差)的大小可能会增加。
3)最佳帧间预测模式选择
根据实施例,当如图22所示确定帧间相关点时,帧间预测单元51039可以选择预测误差(也称为残差信息)被最小化的最佳帧间预测模式。
也就是说,用于第k PU的预测器k可以被用于预测PU的每个点。当在预测中使用的目标点(例如,预测器的点)和作为压缩目标的点(例如,PU的点)具有高相似性时,基于预测的压缩方法可以提高压缩效率,因为当前点是基于编译点信息预测的。在本公开的实施例中,作为选择与压缩目标点具有高相似度的预测目标点的方法,通过运动估计从参考帧选择具有最小块误差的预测器,并且选择预测器内具有最小距离(即,距PU的压缩目标点的距离)的点(称为帧间相关点)。因此,存在于不同帧中的点间相似度(帧间相关性)高的点可以用于预测。
此时,在预测PU的第n点p(n)时,当将参考帧上具有相关性的点(即,相关点)定义为c(n),相关点的父被定义为c(n-1),相关点的子被定义为c(n+1),并且PU中当前点p(n)的父被定义为p(n-1)时,可以根据下面的等式9通过加权平均来执行帧间预测。
下面的等式9是用于基于帧间相关性进行预测的实施例。在本公开中,可以使用更宽的范围(例如,祖或孙)或组合,或者作为更一般的情况,还可以在来自p(n)的距离/属性/距离和属性上使用具有高相关性的预测器相邻点的组合(例如,加权平均值)。
[等式9]
InterMode 0:p’(n)=w0*c(n
:当使用帧间相关点进行预测时
InterMode 1:p’(n)=w1*c(n)+w2*p(n-1)
:当使用当前帧的预测值(父级)和参考帧的预测值时
InterMode 2:p’(n)=w3*c(n)+w4*c(n-1)
:当使用参考帧及其父节点的预测值时
InterMode 3:p’(n)=w5*c(n)+w6*c(n-1)+w7*c(n+1)
:当使用参考帧、其父节点和/或父节点的子节点的预测值时
在等式9中,p'(n)表示p(n)的预测值,并且InterMode 0至InterMode3被称为帧间预测模式0至帧间预测模式3。w0,...,w7表示权重,并且可以被定义为比例值、任意常数或点之间距离的倒数的函数,并且可以使用预定值或者可以用信号发送任意值。例如,在interMode 1中,当假设当前帧的预测值比参考帧的预测值具有更高的精度时,可以使用诸如w1=5/8和w2=3/8的权重。
根据实施例,可以通过将等式9的帧间预测模式(即,interMode 0至interMode 3)分别应用于PU的第n点p(n)来计算4个预测误差值,并且具有四个预测误差值之中最小预测误差值的帧间预测模式可以被配置成PU的第n点p(n)的最佳帧间预测模式。
也就是说,点云发送设备可以针对使用每个帧间预测模式的情况选择在熵方面最佳的帧间预测模式,并且向点云数据接收设备传送用于识别所选择的帧间预测模式或帧间预测模式(例如,interMode)的信息。例如,当使用基于帧间的预测时,interMode可以指示所选择的帧间预测模式。根据需要,可以通过预测系数coeff来传送根据interMode的权重w0…w7。
根据实施例的点云数据接收设备可以从当前帧或参考帧选择目标点(例如,c(n)、c(n-1)、c(n+1)和p(n-1))来基于从点云发送设备接收到的用于识别帧间预测模式或帧间预测模式的信息来预测点。
在这种情况下,当如上所述选择最佳帧间预测模式时,帧间预测单元51039可以基于所选择的帧间预测模式来产生当前点p(n)的预测点p'(n),根据下面的等式10定义用于预测的残差(也称为残差信息)r(n),并将该信息传送到点云数据接收设备。
[等式10]
残差r(n)=p(n)-p’(n)
由帧间预测单元51039选择的帧间预测模式信息和基于选择的帧间预测模式信息获得的残差信息可以被输出到模式选择单元51034。
模式选择单元51034选择从帧内预测单元51033输出的帧内预测模式信息和残差信息以及从帧间预测单元51039输出的帧间预测模式信息和残差信息之一,并且向熵编译单元51035输出所选择的信息。在本公开中,从帧内预测单元51033输出的帧内预测模式信息被称为最佳帧内预测模式bestIntraMode,并且从帧间预测单元51039输出的帧间预测模式信息被称为最佳帧间预测模式bestInterMode。
模式选择单元51034能够以点/PU/切片/预测树/数据单元/帧为单位主动地选择帧间预测模式信息和残差信息或者帧内预测模式信息和残差信息。也就是说,在对压缩目标执行帧内预测和帧间预测之后,模式选择单元51034可以选择帧内预测模式和帧间预测模式之一以用于最佳预测。在这种情况下,用于选择预测模式的单位可以是帧、数据单元、预测树、切片、PU或点之一。
根据实施例,模式选择单元51034可以获得当使用帧内预测模式时和当使用帧间预测模式时引起的成本,如下面的等式11所示。
[等式11]
成本(模式)=失真(模式)+λ*速率(模式)
在等式11中,失真(模式)表示由于在使用模式时引起的失真而引起的成本。速率(模式)表示由于模式的使用而使用的比特流大小。即,其表示在使用该模式时所需的比特流大小。λ表示控制失真权重和速率的变量。
在这种情况下,模式可以是bestInterMode或bestIntraMode之一,并且可以通过比较成本以点/PU/切片/预测树/数据单元/帧为单位选择性地确定帧间预测或帧内预测。
例如,如下,当帧内预测模式中的成本小于帧间预测模式中的成本时,可以选择帧内预测模式,并且如果不是,则可以选择帧间预测模式。
如果成本(bestIntraMode)<成本(bestInterMode),帧内预测
否则帧间预测
当在模式选择单元51034中确定为每个节点(或点)提供最佳压缩比的预测模式时,所确定的预测模式、基于所确定的预测模式获得的残差信息(即,预测误差的残差)以及诸如运动矢量(MV)和边界框大小的信息由熵编译单元51035进行熵编码,并以比特流(也称为几何比特流)的形式输出。
图23是示出根据实施例的用于执行基于预测的压缩的几何编码过程的示例的流程图。
首先,对点云数据的点进行排序,然后生成预测树以配置父子关系(操作51051)。
对于帧间预测,预测树(即,预测树中的点)被划分为多个预测单元(PU)以生成PU(操作51052)。
对于每个PU,选择用于帧间预测的参考帧(操作51053),并且执行在作为执行运动矢量(MV)的选择范围的搜索窗口内以预测器大小为单位寻找具有最小误差的运动矢量(MV)的运动估计过程(操作51054)。在操作51054,可以接收搜索窗口和预测器的大小以用于运动估计。
可以基于通过运动估计选择的运动矢量(MV)来执行运动补偿处理,并且基于参考帧来生成与当前PU具有相似性的一个预测器(操作51055)。为生成的预测器配置点之间的预测树(操作51056)。在操作51056中,可以接收用于生成预测器的预测树的预测树生成方法。
在预测器的预测树内,找到与当前PU的压缩目标点最相似的点(其被称为帧间相关点)(操作51057)。即,在将预测器的预测树中的每个点指定为索引之后,使用诸如最近邻搜索之类的方法在预测器选择与当前PU的压缩目标点最接近的点。在本公开中,所选择的点被称为相关点或帧间相关点。
基于在操作51057中找到的相关点,执行帧间预测以选择最佳帧间预测模式bsetInterMode,并且基于所选择的帧间预测模式生成残差信息(操作51058至51060)。这里,残差信息被获得为压缩目标点(即,当前PU的点)的位置值与预测目标点(即,预测器的相关点)的位置值之间的差。根据实施例,通过基于每个帧间预测模式(例如,InterMode0至InterMode 3)的速率失真来比较成本,可以将具有最小成本的帧间预测模式选择为最佳帧间预测模式bsetInterMode。
当在操作51051中生成预测树时,执行帧内预测以选择最佳帧内预测模式,并且基于所选择的帧内预测模式生成残差信息(操作51062至51064)。在一些实施例中,通过基于每个帧内预测模式(例如,模式1至模式7)的速率失真比较成本,可以将具有最小成本的帧内预测模式选择为具有最小成本的最佳帧内预测模式(bsetIntraMode)。
通过比较最佳帧间预测模式和最佳帧内预测模式,以小比特大小生成低预测误差的模式可以被选择作为最终预测模式(操作51061)。可替选地,当最佳帧内预测模式中的成本小于最佳帧间预测模式中的成本时,可以选择最佳帧内预测模式,否则可以选择最佳帧间预测模式。
可以对所有点执行该处理,并且能够以帧/数据单元/切片/预测树/预测单元/点为单位来执行帧内预测或帧间预测的选择。
对于图23中未描述或省略的部分,请参考图15至图22的描述。
图24示出了根据实施例的用于发送/接收的点云数据的比特流结构的示例。根据实施例,从图1、2、4、12和16中的一个的点云视频编码器输出的比特流可以具有图24的形式。
根据实施例,点云数据的比特流提供图块或切片以按区域划分和处理点云数据。根据实施例的比特流的每个区域可以具有不同的重要性。因此,当点云数据被划分为图块时,可以对每个图块应用不同的滤波器(编码方法)和不同的滤波器单元。当点云数据被划分为切片时,可以对每个切片应用不同的滤波器和不同的滤波器单元。
根据实施例的发送设备可以根据如图24所示的比特流结构来发送点云数据,因此可以提供一种根据重要性应用不同编码操作并且在重要区域中使用具有良好质量的编码方法的方法。另外,可以支持根据点云数据的特性进行高效的编码和传输,并可以提供根据用户需求的属性值。
根据实施例的接收设备根据如图24所示的比特流结构接收点云数据,因此根据接收设备的处理能力,可以对每个区域(被划分为图块或切片的区域)应用不同的滤波方法(解码方法),而不是对整个点云数据使用复杂的解码(滤波)方法。因此,可以确保对用户重要的区域中的更好的图像质量以及系统上的适当的等待时间。
当如图24所示根据实施例的几何比特流、属性比特流和/或信令比特流(或信令信息)构成一个比特流(或G-PCC比特流)时,比特流可以包括一个或多个子比特流。根据实施例的比特流可以包括用于序列级别的信令的序列参数集(SPS)、用于几何信息编译的信令的几何参数集(GPS)、用于属性信息编译的信令的一个或多个属性参数集(APS0和APS1)、用于在图块级别的信令的图块库存(也称为TPS)、以及一个或多个切片(切片0到切片n)。也就是说,根据实施例的点云数据的比特流可以包括一个或多个图块,并且每个图块可以是包括一个或多个切片(切片0至切片n)的一组切片。根据实施例的图块库存(即,TPS)可以包括关于一个或多个图块的每个图块的信息(例如,图块边界框的坐标值信息和高度/大小信息)。每个切片可以包括一个几何比特流(Geom0)和/或一个或多个属性比特流(Attr0和Attr1)。例如,切片0可以包括一个几何比特流(Geom00)和一个或多个属性比特流(Attr00和Attr10)。
每个切片中的几何比特流可以包括几何切片报头(geom_slice_header)和几何切片数据(geom_slice_data)。根据实施例,每个切片内的几何比特流也被称为几何数据单元,几何切片报头被称为几何数据单元报头,并且几何切片数据被称为几何数据单元数据。根据实施例的几何切片报头(或几何数据单元报头)可以包括关于在几何参数集(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是与对应的几何切片数据的点数相关的信息。根据实施例的几何切片数据(或几何数据单元数据)可以包括对应切片内的点云数据的几何信息(或几何数据)。
每个切片中的每个属性比特流可以包括属性切片报头(attr_slice_header)和属性切片数据(attr_slice_data)。根据实施例,每个切片内的属性比特流也被称为属性数据单元,属性切片报头被称为属性数据单元报头,并且属性切片数据被称为属性数据单元数据。根据实施例的属性切片报头(或属性数据单元报头)可以包括关于对应的属性切片数据(或对应的属性数据单元)的信息,并且属性切片数据可以包括对应切片中的点云数据的属性信息(也称为属性数据或属性值)。当一个切片中存在多个属性比特流时,每个属性比特流可以包括不同的属性信息。例如,一个属性比特流可以包括与颜色相对应的属性信息,并且另一属性流可以包括与反射率相对应的属性信息。
根据实施例,点云数据的编码和/或解码所需的参数可以在点云数据的参数集(例如,SPS、GPS、APS和TPS(也称为图块库存))和/或对应切片的报头中定义。例如,在几何信息的编码和/或解码期间,可以将参数添加到几何参数集(GPS),并且在基于图块的编码和/或解码期间,可以将参数添加到图块和/或切片报头。
根据实施例,基于预测的几何压缩信息可以用信号发送给几何参数集、几何切片报头(也称为几何数据单元报头)或几何切片数据(也称为几何数据单元数据)中的至少一个。
根据实施例,基于预测的几何压缩信息可以结合属性编译方法用信号发送给属性参数集和/或属性切片报头(也称为属性数据单元报头)或者应用于属性编译。
根据实施例,基于预测的几何压缩信息可以用信号发送给序列参数集和/或图块参数集。
根据实施例,基于预测的几何压缩信息可以用信号发送给几何预测树数据(geometry_predtree_data())。几何预测树数据(geometry_predtree_data())可以被包括在几何切片(也称为几何数据单元)中。
根据实施例,当下面定义的语法元素将被应用于多个点云数据流以及当前点云数据流时,可以通过更高的概念的参数集等来传输基于预测的几何压缩信息。
根据实施例,可以根据应用或系统在对应的位置或单独的位置中定义基于预测的几何压缩信息,并且应用范围、应用方法等可以被不同地使用。字段(在下面描述的本说明书的语法中使用的术语)可以具有与参数或语法元素相同的含义。
根据实施例,包括基于预测的几何压缩信息的参数(其可以不同地称为元数据、信令信息等)可以由发送设备的元数据处理器(或元数据生成器)或信令处理器生成,并且可以被传送到接收设备以在解码/重构过程中使用。例如,由发送设备生成并发送的参数可以从接收设备的元数据解析器获得。
根据实施例,通过切片之间的参考关系的压缩可以被应用于针对任何节点以及切片的起始节点(即,根节点)来参考其他切片中的节点。另外,压缩可以广泛地应用于预测树之间的参考关系。
如上所述,几何切片比特流可以包括几何切片报头和几何切片数据。在本公开中,为了描述方便,将几何切片比特流称为几何数据单元,将几何切片报头称为几何数据单元报头,并且将几何切片数据称为几何数据单元数据。
根据实施例的几何参数集可以包括geom_tree_type字段。geom_tree_type字段可以指示位置信息(即,几何信息)是使用八叉树编码还是使用预测树编码。例如,当geom_tree_type字段的值为0时,这指示使用八叉树编码位置信息(即,几何信息),并且当该值为1时,这指示使用预测树编码位置信息(即,几何信息)。
图25是示出根据实施例的几何数据单元(geometry_data_unit())的语法结构的示例的图。
根据实施例的几何数据单元(geometry_data_unit())包括几何数据单元报头(geometry_data_unit_header())、byte_alignment()和geometry_data_unit_footer()。
根据实施例的几何数据单元(geometry_data_unit())当几何参数集中包括的geom_tree_type字段的值为0时还包括几何八叉树数据(geometry_octree()),并且在该值为1时还包括几何预测树数据(geometry_predtree_data())。
图26是示出根据实施例的几何数据单元报头(geometry_data_unit_header())的语法结构的示例的图。
在26图中,gsh_geometry_parameter_set_id字段表示活动GPS的gps_geom_parameter_set_id的值。
gsh_tile_id字段表示由对应的几何数据单元报头引用的对应的图块的标识符。
gsh_slice_id字段表示用于由其他语法元素参考的对应切片的标识符。
slice_tag字段可以用于识别具有slice_tag的特定值的一个或多个切片。
frame_ctr_lsb字段表示名义帧号计数器的最低有效位(LSB)。
根据实施例的几何数据单元报头在entropy_continuation_enabled_flag字段的值为假时还包括gsh_entropy_continuation_flag字段,并且在gsh_entropy_continuation_flag字段的值为真时还包括gsh_prev_slice_id字段。
entropy_continuation_enabled_flag字段可以被包括在SPS中。当entropy_continuation_enabled_flag字段的值为值1(即,真)时,这指示切片的初始熵场境状态取决于在前切片的最终熵场境状态。当entropy_continuation_enabled_flag字段的值为0(即,假)时,这指示每个切片的初始熵场境状态是独立的。
gsh_prev_slice_id字段表示按比特流顺序的先前几何数据单元的切片标识符(即,gsh_slice_id字段)的值。
当gps_gsh_box_log2_scale_present_flag字段的值为真时,根据实施例的几何数据单元报头可以包括gsh_box_log2_scale字段。
gps_gsh_box_log2_scale_present_flag字段可以被包括在GPS中。当gps_gsh_box_log2_scale_present_flag字段的值为1时,这指示gsh_box_log2_scale字段被用信号发送给参考当前GPS的每个几何数据单元。当gps_gsh_box_log2_scale_present_flag字段的值为0时,这指示gsh_box_log2_scale字段没有被用信号发送给每个几何数据单元,并且用于所有切片的公共尺度被用信号发送给当前GPS的gps_gsh_box_log2_scale字段。
gsh_box_log2_scale字段指示对应切片原点的缩放因子。
根据实施例的几何数据单元报头可以包括gsh_box_origin_bits_minus1字段。
通过将gsh_box_origin_bits_minus1字段的值加1,以比特来指示接下来定位的gsh_box_origin_xyz[k]字段的长度。
gsh_box_origin_xyz[k]字段指示对应切片原点的量化(x,y,z)坐标的第k分量。
当geom_slice_angular_origin_present_flag字段的值为真时,根据实施例的几何数据单元报头可以包括gsh_angular_origin_bits_minus1字段和gsh_angular_origin_xyz[k]字段。
geom_slice_angular_origin_present_flag字段可以被包括在GPS中。当geom_slice_angular_origin_present_flag字段的值为1时,这指示切片相对角度原点存在于对应的几何数据单元报头中。当geom_slice_angular_origin_present_flag字段的值为0时,这指示角度原点不存在于对应的几何数据单元报头中。
通过向gsh_angular_origin_bits_minus1字段加1,以比特来指示接下来定位的gsh_angular_origin_xyz[k]字段的长度。
gsh_angular_origin_xyz[k]字段指示在角度编译模式的处理中使用的原点的(x,y,z)坐标的第k分量。
当geom_tree_type字段的值为0(即,基于八叉树的编译)时,根据实施例的几何数据单元报头可以包括geom_tree_depth_minus1字段和gsh_entropy_stream_cnt_minus1字段。
通过向geom_tree_depth_minus1字段加1来指示数据单元中存在的几何树级别的数量。
通过向gsh_entropy_stream_cnt_minus1字段加1来指示用于传递几何树数据的熵流的最大数量。
根据实施例的几何数据单元报头可以当geom_tree_type字段的值为0(即,基于八叉树的编译)和geom_tree_coded_axis_list_present_flag的值为真时包括与geom_tree_depth_minus1字段的值一样多的次数重复的重复语句。重复语句可以包括geom_tree_coded_axis_flag[lvl][k]字段。
geom_tree_coded_axis_list_present_flag字段可以被包括在GPS中。当geom_tree_coded_axis_list_present_flag字段的值为1时,这指示每个几何数据单元包括用于导出几何根节点的大小的geom_tree_coded_axis_flag字段。当geom_tree_coded_axis_list_present_flag字段的值为0时,这指示geom_tree_coded_axis_flag字段不存在于对应的几何数据单元中并且编译几何树指示立方体积。
geom_tree_coded_axis_flag[lvl][k]字段指示第k轴是否在几何树的第v级(即,给定深度)处被编译。geom_tree_coded_axis_flag[lvl][k]字段可以用于确定根节点的大小。
根据实施例的几何数据单元报头当geom_scaling_enabled_flag字段的值为真时可以包括geom_slice_qp_offset字段,并且当geom_tree_type字段的值为1(即,基于预测树的编译)时,还可以包括geom_qp_offset_intvl_log2_delta字段。
geom_scaling_enabled_flag字段可以被包括在GPS中。当geom_scaling_enabled_flag字段的值为1时,这指示在几何解码过程期间调用几何位置的缩放过程。当geom_scaling_enabled_flag字段的值为0时,这指示几何位置不需要缩放。
根据实施例的几何数据单元报头在geom_tree_type字段的值为1(即,基于预测树的编译)时可以包括ptn_residual_abs_log2_bits[k]字段,并且在geometry_angular_enabled_flag字段的值为真时还可以包括ptn_radius_min_value字段。
ptn_residual_abs_log2_bits[k]字段指示用于对ptn_residual_abs_log2字段的第k分量进行编译的二元位(bin)的数量。稍后将给出ptn_residual_abs_log2字段的描述。
geometry_angular_enabled_flag字段可以被包括在GPS中。当geometry_angular_enabled_flag字段的值为1时,这指示角度编译模式是活动的。当geometry_angular_enabled_flag字段的值为0时,这指示角度编译模式未激活。
ptn_radius_min_value字段表示半径的最小值。
图27是示出根据实施例的几何预测树数据(geometry_predtree_data())的语法结构的示例的图。
根据实施例,图27的几何预测树数据(geometry_predtree_data())可以被包括在图25的几何数据单元中。几何预测树数据(geometry_predtree_data())可以被称为几何切片数据或几何数据单元数据。
几何预测树数据(geometry_predtree_data())包括以变量PtnNodeIdx=0开始并在gpt_end_of_trees_flag字段的值为假时结束的重复语句。该重复语句包括geometry_predtree_node(PtnNodeIdx)和gpt_end_of_trees_flag字段。
变量PtnNodeIdx是用于在以深度优先顺序的解析的预测树节点上迭代的计数器。变量PtnNodeIdx在解码过程开始时初始化为0,并在树的递归遍历期间递增。
当gpt_end_of_trees_flag字段的值为0时,这指示另一预测树符合该数据单元。当gpt_end_of_trees_flag字段的值为1时,这指示数据单元中不存在预测树。
图28是示出根据实施例的geometry_predtree_node(PtnNodeIdx)的语法结构的示例的图。
也就是说,根据实施例,图28的geometry_predtree_node(PtnNodeIdx)用信号发送基于预测的几何压缩信息。
为此,geometry_predtree_node(PtnNodeIdx)可以包括以下的至少一个:ptn_qp_offset_abs_gt0_flag字段、ptn_qp_offset_sign_flag字段、ptn_qp_offset_abs_minus1字段、ptn_point_cnt_gt1_flag字段、ptn_point_cnt_minus2字段、ptn_child_cnt[nodeIdx]字段、inter_prediction_enabled_flag字段、predtree_inter_prediction()、ptn_pred_mode[nodeIdx]、ptn_phi_mult_abs_gt0_flag字段、ptn_phi_mult_sign_flag字段、ptn_phi_mult_abs_gt1_flag字段、ptn_phi_mult_abs_minus2字段、ptn_phi_mult_abs_minus9字段、ptn_residual_abs_gt0_flag[k]字段、ptn_residual_sign_flag[k]字段、ptn_residual_abs_log2[k]字段、ptn_residual_abs_remaining[k]字段、ptn_sec_residual_abs_gt0_flag[k]字段、ptn_sec_residual_sign_flag[k]字段、ptn_sec_residual_abs_gt1_flag[k]字段、ptn_sec_residual_abs_minus2[k]字段或geometry_predtree_node(++PtnNodeIdx)字段。
根据实施例,当geom_scaling_enabled_flag字段的值为1并且nodeIdx%PtnQpInterval的值为0时,geometry_predtree_node(PtnNodeIdx)可以包括ptn_qp_offset_abs_gt0_flag字段,并且当ptn_qp_offset_abs_gt0_flag字段的值为1时,geometry_predtree_node(PtnNodeIdx)可以包括ptn_qp_offset_sign_flag字段和ptn_qp_offset_abs_minus1字段。
geom_scaling_enabled_flag字段可以被包括在GPS中。当geom_scaling_enabled_flag字段的值为1时,这指示在几何解码过程期间调用几何位置的缩放过程。当geom_scaling_enabled_flag字段的值为0时,这指示几何位置不需要缩放。
ptn_qp_offset_abs_gt0_flag字段、ptn_qp_offset_sign_flag字段和ptn_qp_offset_abs_minus1字段一起指示切片几何量化参数的偏移。
根据实施例,当duplicate_points_enabled_flag字段的值为1时,geometry_predtree_node(PtnNodeIdx)可以包括ptn_point_cnt_gt1_flag字段,并且当ptn_point_cnt_gt1_flag字段的值为1时,geometry_predtree_node(PtnNodeIdx)可以包括ptn_point_cnt_minus2字段。
duplicate_points_enabled_flag字段可以被包括在GPS中。当duplicate_points_enabled_flag字段的值为0时,这指示所有输出点在参考当前GPS的所有切片中的一个切片内具有唯一的位置。当duplicate_points_enabled_flag字段的值为1时,这指示两个或更多个输出点在参考当前GPS的所有切片中的一个切片中具有相同的位置。
ptn_point_cnt_gt1_flag字段和ptn_point_cnt_minus2字段一起指示由当前预测树节点表示的点的数量。
根据实施例,可以如下获得由当前预测树表示的点的数量(PtnPointCount[nodeIdx])。
PtnPointCount[nodeIdx]=1+ptn_point_cnt_gt1_flag字段+ptn_point_cnt_minus2字段
ptn_child_cnt[nodeIdx]字段指示几何预测树中存在的当前预测树节点的直接子节点的数量。
根据实施例,当inter_prediction_enabled_flag字段的值为1时,geometry_predtree_node(PtnNodeIdx)可以包括predtree_inter_prediction(),并且当该值为0时,geometry_predtree_node(PtnNodeIdx)可以包括ptn_pred_mode[nodeIdx]。
inter_prediction_enabled_flag字段指示geometry_predtree_node(PtnNodeIdx)是否包括predtree_inter_prediction()或ptn_pred_mode[nodeIdx]。
根据实施例,predtree_inter_prediction()用信号发送基于预测的几何压缩信息中包括的与帧间预测相关的信息。
将在图29中给出对predtree_inter_prediction()中包括的字段的详细描述。
ptn_pred_mode[nodeIdx]指示用于预测与当前节点相关的位置的模式。
当geometry_angular_enabled_flag字段的值为1时,这指示geometry_predtree_node(PtnNodeIdx)中包括的ptn_phi_mult_abs_gt0_flag字段、ptn_phi_mult_sign_flag字段、ptn_phi_mult_abs_gt1_flag字段、ptn_phi_mult_abs_minus2字段和ptn_phi_mult_abs_minus9字段一起可以表示在变化量角预测中使用的乘法因子。当ptn_phi_mult_sign_flag字段的值为1时,因子的符号为正,当值为0时,因子的符号为负。
根据实施例,可以如下提取当前树节点的phi因子(PtnPhiMult[nodeIdx])。
PtnPhiMult[nodeIdx]=(2×ptn_phi_mult_sign_flag-1)
×(ptn_phi_mult_abs_gt0_flag+ptn_phi_mult_abs_gt1_flag
+ptn_phi_mult_abs_minus2+ptn_phi_mult_abs_minus9)
根据实施例,geometry_predtree_node(PtnNodeIdx)中的numComp可以被获得如下。
numComp=Geometry_Angular_enabled_flag&&!number_lasers_minus1?2:3
根据实施例,geometry_predtree_node(PtnNodeIdx)可以包括与numComp的值重复次数一样多的重复语句。重复语句中包括的ptn_residual_abs_gt0_flag[k]字段、ptn_residual_sign_flag[k]字段、ptn_residual_abs_log2[k]字段和ptn_residual_abs_remaining[k]字段一起表示第k几何位置分量的第一预测残差信息。例如,当ptn_residual_sign_flag[k]字段的值为1时,残差分量的符号指示为正,并且当该值为0时,残差分量的符号为负。
根据实施例,可以如下提取与当前树节点相关联的第一预测残差(PtnResidual[nodeIdx][k])。这里,k表示x、y、z坐标。
对于(k=0;k<3;k++)
PtnResidual[nodeIdx][k]=(2×ptn_residual_sign_flag-1)×(ptn_residual_abs_gt0_flag[k]+((1<<ptn_residual_abs_log2[k])>>1)+ptn_residual_abs_remaining[k])
当geometry_angular_enabled_flag字段的值为1时包括的ptn_sec_residual_abs_gt0_flag[k]字段、ptn_sec_residual_sign_flag[k]字段、ptn_sec_residual_abs_gt1_flag[k]字段和ptn_sec_residual_abs_minus2[k]字段一起表示第k几何位置分量的第二预测残差信息。例如,当ptn_sec_residual_sign_flag[k]字段的值为1时,残差分量的符号为正,并且当该值为0时,符号为负。
根据实施例,可以如下提取与当前树节点相关联的第二预测残差信息(PtnResidual[nodeIdx][k])。这里,k表示x、y、z坐标。
对于(k=0;k<3;k++)
PtnSecResidual[nodeIdx][k]=(2×ptn_sec_residual_sign_flag-1)×(ptn_sec_residual_abs_gt0_flag[k]+ptn_sec_residual_abs_gt1_flag[k]+ptn_sec_residual_abs_minus2[k])
根据实施例,geometry_predtree_node(PtnNodeIdx)可以包括重复语句,其重复次数与ptn_child_cnt[nodeIdx]字段的值一样多。重复语句可以包括geometry_predtree_node(++PtnNodeIdx)。即,可以包括增加1的geometry_predtree_node(PtnNodeIdx)。
图29是示出根据实施例的predtree_inter_prediction()的语法结构的示例的图。
根据实施例,predtree_inter_prediction()可以被包括在geometry_predtree_node(PtnNodeIdx)中。
根据实施例,图29的predtree_inter_prediction()用信号发送基于预测的几何压缩信息中包括的与帧间预测有关的信息。
根据实施例,与帧间预测有关的信息,即predtree_inter_prediction()可以包括ref_frame_id字段、motion_vector[i]字段、predictor_bbox[i]字段、predictor_cooperative_type字段、predictor_predtree_generation_type字段、correlated_point_index字段、interMode字段和coeff字段。
ref_frame_id字段表示在当前PU的预测中使用的参考帧的索引。
motion_vector[i]字段表示基于当前PU的预测器的(x,y,z)坐标的第k分量的运动矢量(MV)。motion_vector[i]字段可以指示预测器的每个轴方向上的运动矢量(MV)。
predictor_bbox[i]字段表示基于当前PU的预测器的(x,y,z)坐标的第k分量的边界框的大小。也就是说,predictor_bbox[i]字段可以指示每个轴中的预测器的边界框的大小。
predictor_predtree_generation_type字段指示生成预测器的预测树的方法。例如,当predictor_predtree_generation_type字段的值为0时,这指示按照莫顿码顺序的排序方法,当该值为1时,这指示在固定xy平面后对z按升序的排序方法,当该值为2时,这指示在固定xz平面后对y按升序的排序方法,并且当该值为3时,这指示在固定yz平面后对z按升序的排序方法。
predictor_coordinate_type字段可以用信号发送其中定义预测器的坐标空间。当predictor_coordinate_type字段的值为0时,这指示笛卡尔坐标,当值为1时,这指示球面坐标,当值为2时,这指示半径、phi、激光id坐标空间,并且当该值为3时,这指示半径、角度id、激光id坐标空间。如果未定义,则可以在不改变的情况下使用预测几何编译中使用的坐标。
correlated_point_index字段可以通知索引作为用于相对于在参考帧中定义的预测器来指定与当前PU的点相关的点的方法。
当使用基于帧间预测的几何压缩时,interMode字段可以表示帧间预测模式。例如,用于帧间预测的帧间预测模式可以定义如下。对于每种帧间预测模式,请参考上面等式9的描述。
InterMode 0:p’(n)=w0*c(n)
InterMode 1:p’(n)=w1*c(n)+w2*p(n-1)
InterMode 2:p’(n)=w3*c(n)+w4*c(n-1)
InterMode 3:p’(n)=w5*c(n)+w6*c(n-1)+w7*c(n+1)
根据实施例,可以根据需要通过coeff字段来传送根据帧间预测模式(interMode)的预测系数w0…w7。
图30是示出根据实施例的点云数据接收设备的另一例的图。图30所示的点云数据接收设备的元件可以由硬件、软件、处理器和/或其组合来实现。
根据实施例,点云数据接收设备可以包括接收处理器61001、信令处理器61002、几何解码器61003、属性解码器61004和后处理器61005。
根据实施例的接收处理器61001可以接收一个比特流或者可以接收几何比特流、属性比特流和信令比特流中的每个。当接收文件和/或片段时,根据实施例的接收处理器61001可以解封装接收到的文件和/或片段并且以比特流输出解封装的文件和/或片段。
当接收(或解封装)一个比特流时,根据实施例的接收处理器61001可以从一个比特流解复用几何比特流、属性比特流和/或信令比特流,将解复用的信令比特流输出到信令处理器61002,将几何比特流输出到几何解码器61003,并且将属性比特输出到属性解码器61004。
当接收(或解封装)几何比特流、属性比特流和/或信令比特流时,根据实施例的接收处理器61001可以将信令比特流传送到信令处理器61002,将几何比特流传送到几何解码器61003,并且将属性比特流传送至属性解码器61004。
信令处理器61002可以解析和处理包括在信令信息中的信息,例如来自输入信令比特流的SPS、GPS、APS、TPS和元数据,并将解析和处理的信息提供给几何解码器61003、属性解码器61004和后处理器61005。根据另一实施例,包括在几何数据单元报头和/或属性数据单元报头中的信令信息也可以在解码对应的切片数据之前由信令处理器61002预先解析。
根据实施例,信令处理器61002还可以解析和处理用信号发送给几何数据单元的信令信息(例如,基于预测的几何压缩信息),并将解析和处理的信息提供给几何解码器61003。
根据实施例,几何解码器61003可以基于关于压缩几何比特流的信令信息执行图16的几何编码器51003的逆过程以恢复几何。由几何解码器61003恢复(或重构)的几何信息被提供给属性解码器61004。属性解码器61004可以通过下述方式来恢复属性:基于压缩属性比特流的信令信息和重构的几何信息来执行图16的属性编码器51004的逆过程。
根据实施例,后处理器61005可以通过将从几何解码器61003恢复并输出的几何信息(即,位置)与从属性解码器61004恢复并输出的属性信息进行匹配来重构点云数据,并显示/渲染匹配的信息。
图31是示出根据实施例的几何解码器61003的示例的详细框图。图31所示的几何解码器的元件可以由硬件、软件、处理器和/或其组合来实现。
根据实施例,几何解码器61003可以包括熵解码单元61031、模式检测单元61032、帧内预测单元61033、运动补偿单元61034、相关点检测单元61035、帧间预测单元61036和重构单元61037。每个块的执行顺序可以被改变,可以省略一些块,以及可以新添加一些块。
根据实施例,几何解码器61003通过执行发送设备的几何编码器的逆过程来恢复几何信息。即,熵解码单元61031对用于通过接收处理器61001输入的比特流中包括的每个切片的点的残差信息(即,预测误差)和预测模式信息进行熵解码。
模式检测单元61032检查由熵解码单元61031熵解码的预测模式信息是帧间预测模式信息还是帧内预测模式信息。根据实施例,可以使用包括在几何数据单元中的基于预测的几何压缩信息(即,geometry_predtree_node(PtnNodeIdx))中包括的inter_prediction_enabled_flag字段来检测预测模式信息是帧内预测模式还是帧间预测模式。在这种情况下,可以根据传送inter_prediction_enabled_flag字段的单元来使用诸如帧/数据单元/切片/预测树/预测单元/点的帧间预测或帧内预测。
当模式检测单元61032以帧间预测模式执行检测时,运动补偿单元61034可以通过基于在基于预测的几何压缩信息(即,geometry_predtree_node(PtnNodeIdx))中包括的帧间预测相关信息(即,predtree_inter_prediction())执行运动补偿来生成预测器。根据实施例,运动补偿单元61034可以接收由包括在帧间预测相关信息(即,predtree_inter_prediction())中的参考帧索引信息(ref_frame_id字段)指定的参考帧,并且通过基于预测器的运动矢量(MV)信息(motion_voctor字段)和边界框信息(predictor_bbox字段)执行运动补偿来生成参考帧内的预测器。也就是说,接收设备不能够估计PU的边界框,因此可以使用帧间预测相关信息中包括的预测器的边界框信息、运动矢量(MV)信息和参考帧索引信息来生成预测器。
相关点检测单元61035可以通过包括在帧间预测相关信息中的相关点索引信息(correlated_point_index字段)来指定在对运动补偿单元61034生成的预测器进行解码时使用的点。另外,为了根据预测器内的点索引来识别位置,可以生成预测器的预测树,并且可以使用在帧间预测相关信息中包括的预测器的预测树生成方法(predictor_predtree_Generation_type字段)中指定的索引和点之间的关系来找到相关点。
帧间预测单元61036通过使用相关点和在帧间预测相关信息中包括的帧间预测模式信息(interModefield)中指定的帧间预测方法执行帧间预测(即,帧间预测)来生成预测值(也称为预测信息)。
重构单元61037通过将由帧间预测单元61036生成的要被解码的点的预测信息和使用帧间预测模式信息(interModefield)接收到的残差信息(也称为预测残差信息)相加来恢复最终点。即,重构单元61037使用通过帧间预测预测的信息和此时的残差信息来重构(或恢复)几何信息(即,最终点的位置)。在这种情况下,当使用坐标转换时(即,当编译坐标和输出坐标不同时),两种类型的预测残差信息(残差)可以被包括在geometry_predtree_node(nodeIdx)中并且可以被传送。在这种情况下,可以基于第一预测残差信息来校正预测误差,并且可以针对校正的值基于第二预测残差信息来校正在坐标转换过程中生成的误差。
当模式检测单元61032以帧内预测模式执行检测时,帧内预测单元61033通过使用包括在基于预测的几何信息中的帧内预测模式信息执行帧内预测(即,帧内预测)来生成预测值(也称为预测信息)。
重构单元61037通过将由帧内预测单元61033生成的、要被生成的点的预测信息与利用帧内预测模式信息接收并通过解码恢复的残差信息(也称为预测残差信息)相加来恢复最终点。即,重构单元61037使用通过帧内预测预测的信息和此时的残差信息来重构(或恢复)几何信息(即,最终点的位置)。
对于图31中描述的基于预测的几何压缩信息以及基于预测的几何压缩信息中包括的帧间预测相关信息,参见图25至图29的描述。
图32是示出根据实施例的用于基于预测恢复压缩几何的几何解码方法的示例的流程图。也就是说,使用作为信令信息的基于预测的几何压缩信息中包括的inter_prediction_enabled_flag字段来确定接收到的预测模式是帧内预测模式还是帧间预测模式(操作61051)。例如,当inter_prediction_enabled_flag字段的值为0(即,否)时,预测模式可以被确定为帧内预测模式,并且当该值为1(即,是)时,预测模式可以被确定为帧间预测模式。
在操作61051中,当检查到帧间预测模式时,使用ref_frame_id字段来选择参考帧(操作61052)。对于选择的参考帧,基于motion_vector字段执行运动补偿(操作61053),并且生成要在参考帧内的预测中使用的预测器。在这种情况下,可以使用predictor_bbox字段来配置预测器的范围(操作61054)。基于predictor_predtree_generation_type字段生成预测器的预测树(操作61055),并且基于correlated_point_index字段检测要用于预测器的预测树中的预测的点(也称为预测点)(操作61056)。在这种情况下,当通过predictor_coordinate_type字段接收到在运动估计中使用的点的坐标时,可以改变参考帧的坐标。当没有单独的信令时,可以遵循编译坐标系。在本公开的实施例中,用于预测当前帧的节点(即,点)的预测器中的节点(即,点)是通过correlated_point_index字段来传递的,在这种情况下,索引指示相对预测树内的点的顺序/位置。因此,为了选择要在预测器内的预测中使用的点,可以使用predictor_predtree_generation_type字段来配置预测树,然后可以将由corded_point_index字段指定的点用作预测点。
当在操作61056中检测到预测点时,通过基于在interMode字段中指定的帧间预测模式对预测点执行帧间预测来生成预测信息(操作61057)。在这种情况下,可以通过coeff字段接收所使用的系数(例如,每个帧间预测模式的权重)。
当在操作61051检查到帧内预测模式时(即,inter_predicion_enabled_flag字段=0),通过基于帧内预测方法执行预测来生成预测信息(操作61059)。
使用基于帧间相关点或帧内相关点生成的预测信息(操作61057或操作61059)和通过解码(操作61058)恢复的残差信息(或残差值)来恢复最终点。在这种情况下,当使用坐标转换时,诸如当编译坐标和输出坐标不同时,两种类型的残差信息可以被包括在信令信息中并被接收。在这种情况下,可以使用第一残差信息来校正预测误差,并且可以通过将第二残差信息应用于校正的值来校正在坐标转换过程中出现的误差。
对于图32中描述的字段,参考图25至图29的描述。
图33是根据实施例的点云数据发送方法的流程图。
根据实施例的点云数据发送方法可以包括获取点云数据(71001)、对点云数据进行编码(71002)、以及发送编码的点云数据和信令信息(71003)。在这种情况下,包括编码的点云数据和信令信息的比特流可以被封装在文件中并被发送。
在点云数据71001的获取中,可以执行图1的点云视频获取单元10001的部分或全部操作,或者可以执行图12的数据输入单元12000的一些或全部操作。
在点云数据的编码(71002)中,为了对几何信息进行编码,可以执行图1的点云视频编码器10002、图2的编码20001、图4的点云视频编码器、图12的点云视频编码器、图16的几何编码器、图17的几何编码器或图23的几何编码过程的一些或全部操作
在根据实施例的点云数据的编码(71002)中,可以执行前述帧间预测和/或帧内预测以压缩几何信息。
在本公开中,对于帧间预测和/或帧内预测的执行,请参考以上对图15至图29的描述,并且这里省略对帧间预测和/或帧内预测的执行的详细描述。通过前述的帧间预测和/或帧内预测,对应用于每个点的预测模式和残差信息进行熵编码,然后将它们以几何比特流的形式输出。
根据实施例,在点云数据的编码(71002)中,基于不执行几何编码的位置和/或重构的几何信息来压缩属性信息。根据实施例,可以通过组合RAHT编译、基于LOD的预测编译和提升转换编译中的一个或多个来对属性信息进行编译。根据另一实施例,与前面提到的几何信息的编码类似,可以对属性信息执行基于预测树的编码。对于基于预测树的属性编码,可以参考前面提到的几何信息的编码。
在本说明书中,信令信息可以包括基于预测的几何压缩信息,并且基于预测的几何压缩信息可以包括帧间预测相关信息。根据实施例,基于预测的几何压缩信息可以被包括在几何数据单元中。根据另一实施例,基于预测的几何压缩信息可以用信号发送给SPS、GPS、APS或TPS。基于预测的几何压缩信息的详细描述如上所述,在此被省略。
图34是根据实施例的点云数据接收方法的流程图。
根据实施例的点云数据接收方法可以包括接收编码的点云数据和信令信息(81001)、基于信令信息解码点云数据(81002)、以及渲染解码的点云数据(81003)。
根据实施例的点云数据和信令信息的接收(81001)可以由图1的接收器10005、图2的发送20002或解码20003和图13的接收器13000或接收处理器13001执行。
在根据实施例的点云数据的解码(81002)中,为了解码几何信息,可以执行图1的点云视频解码器10006、图2的解码、图11的点云视频解码器、图13的点云视频解码器图、图30的几何解码器、图31的几何解码器、图31的几何解码过程的一些或全部操作。
在根据实施例的点云数据的解码(81002)中,可以通过基于信令信息中包括的基于预测的几何压缩信息执行帧间预测和/或帧内预测来解码(即,恢复)几何信息。对于详细描述,请参考图30至图32的描述。
在根据实施例的点云数据的解码(81002)中,基于恢复的几何信息对属性信息进行解码(即,解压缩)。根据实施例,可以通过组合RAHT编译、基于LOD的预测转换编译和提升转换编译中的一个或多个来解码属性信息。根据另一实施例,可以与上述对几何信息的解码类似地对属性信息执行基于预测树的解码。对于基于预测树的属性解码,参考前述几何信息的解码。
在根据实施例的渲染(81003)中,点云数据可以基于恢复的(或重构的)几何信息和属性信息来恢复,并且可以使用各种渲染方法来渲染。例如,点云内容的点可以被渲染为具有特定厚度的顶点、以顶点位置为中心的具有特定最小大小的立方体、或者以顶点位置为中心的圆。全部或部分渲染的点云内容通过显示器(例如,VR/AR显示器和一般显示器)提供给用户。根据实施例的点云数据的渲染(81003)可以由图10的渲染器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二者。换句话说,本文中的术语“或”应该被解释为“另外地或可替选地”。
实施例的各种元件可以通过硬件、软件、固件或其组合实现。实施例中的各种元件可以由单个芯片执行,诸如,单个硬件电路。根据实施例,该元件可以分别由单独的芯片选择性地执行。根据实施例,实施例的至少一个元件可以在包括用于执行根据实施例的操作的指令的一个或多个处理器中执行。
根据本说明书中描述的实施例的操作可以由包括根据实施例的一个或者多个存储器和/或一个或者多个处理器的发送/接收设备来执行。一个或者多个存储器可以存储用于处理/控制根据实施例的操作的程序,并且一个或者多个处理器可以控制本说明书中描述的各种操作。一个或者多个处理器可以被称为控制器等。在实施例中,操作可以由固件、软件和/或其组合来执行。固件、软件和/或其组合可以被存储在处理器或存储器中。
可以使用诸如第一和第二的术语来描述实施例的各种元件。然而,根据实施例的各种部件不应该受以上术语限制。这些术语只是用于将一个元件与另一个区分开。例如,第一用户输入信号可以被称为第二用户输入信号。类似地,第二用户输入信号可以被称为第一用户输入信号。这些术语的使用应该被解释为不脱离各种实施例的范围。第一用户输入信号和第二用户输入信号这两者都是用户输入信号,但不意指相同的用户输入信号,除非上下文另有明确指示。用于描述实施例的术语仅是出于描述特定实施例的目的使用的,并不旨在是限制实施例。如对实施例的描述和权利要求书中所使用的,单数形式“一(a)”、“一个(an)”和“该(the)”包括复数指示物,除非上下文另有明确规定。表述“和/或”用于包括所有可能的术语组合。诸如“包括”或“具有”的术语旨在指示图、数字、步骤、元件和/或部件的存在,并且应当被理解为不排除存在另外的图形、数字、步骤、元件和/或部件的可能性。
如本文中使用的,诸如“如果”和“当”这样的条件表述不限于可选情况,而旨在当满足特定条件时被解释为根据特定条件执行相关操作或解释相关定义。实施例可以包括在权利要求及其等效物的范围内的变化/修改。对于本领域的技术人员来说显而易见的是,在不脱离本公开的精神和范围的情况下,能够对本公开进行各种修改和变化。因此,本公开旨在覆盖落入所附权利要求及其等效物的范围内所提供的本公开的修改和变化。
另外,根据本文档中描述的实施例的操作可以由发送和接收设备来执行,根据实施例,发送和接收设备中的每个都包括存储器和/或处理器。存储器可以存储用于处理和控制根据实施例的操作的程序,并且处理器可以控制本文档中描述的各种操作。处理器可以被称为控制器等。根据实施例的操作可以通过固件、软件和/或其组合来实现,并且固件、软件和/或其组合可以存储在处理器或存储器中。
模式
已经以本公开的最佳方式具体描述了细节。
工业应用
对于本领域技术人员来说显而易见的是,在不脱离实施例的精神或范围的情况下,在实施例的范围内可以进行各种修改和变化。因此,实施例旨在涵盖所附权利要求及其等同物内提供的实施例的修改和变化。

Claims (15)

1.一种点云数据发送方法,包括:
编码点云数据的几何数据;
基于所述几何数据,对所述点云数据的属性数据进行编码;以及
发送编码的几何数据、编码的属性数据和信令信息,
其中,所述几何数据的编码包括:
基于所述几何数据来生成预测树;
将所述预测树划分为多个预测单元;
对于每个预测单元,通过对参考帧执行运动估计和运动补偿,将预测器生成为所述参考帧内的具有与当前预测单元的点相似的特性的点的集合;
在所述预测器中生成预测树;以及
通过基于所述预测器的所述预测树和帧间预测模式信息执行帧间预测来获取残差信息。
2.根据权利要求1所述的点云数据发送方法,其中,所述帧间预测的执行还包括:通过从所述预测器选择与所述当前预测单元的要编码的点相似的点来执行所述帧间预测。
3.根据权利要求1所述的点云数据发送方法,其中,对所述几何数据的编码还包括:通过基于所述预测树和帧内预测模式信息执行帧内预测来获取残差信息。
4.根据权利要求3所述的点云数据发送方法,其中,所述几何数据的编码包括:
通过比较应用于所述帧间预测的帧间预测模式信息和应用于所述帧内预测的帧内预测模式信息来选择最终的预测模式信息;以及
对基于用于识别所选择的预测模式信息的信息和所选择的预测模式信息获取的残差信息进行熵编译,并且发送熵编译的信息。
5.根据权利要求2所述的点云数据发送方法,其中,所述信令信息包括基于预测的几何压缩信息;以及
其中,所述基于预测的几何压缩信息包括用于识别所述参考帧的信息、通过所述运动估计获取的运动矢量(MV)信息、所述预测器的边界框大小信息、用于识别从所述预测器选择的所述点的信息或者所述帧间预测模式信息中的至少一个。
6.一种点云数据发送设备,包括:
几何编码器,所述几何编码器被配置成对点云数据的几何数据进行编码;
属性编码器,所述属性编码器被配置成根据所述几何数据对所述点云数据的属性数据进行编码;以及
发射器,所述发射器被配置成发送编码的几何数据、编码的属性数据和信令信息,
其中,所述几何编码器包括:
第一预测树生成单元,所述第一预测树生成单元被配置成基于所述几何数据来生成预测树;
预测单元生成单元,所述预测单元生成单元被配置成将所述预测树划分为多个预测单元;
预测器生成单元,所述预测器生成单元被配置成针对每个预测单元,通过对参考帧执行运动估计和运动补偿,将预测器生成为所述参考帧内的具有与当前预测单元的点相似的特性的点的集合;
第二预测树生成单元,所述第二预测树生成单元被配置成生成所述预测器中的预测树;以及
帧间预测单元,所述帧间预测单元被配置成通过基于所述预测器的所述预测树和帧间预测模式信息执行帧间预测来获取残差信息。
7.根据权利要求6所述的点云数据发送设备,其中,所述帧间预测单元通过从所述预测器选择与所述当前预测单元的要编码的点相似的点来执行所述帧间预测。
8.根据权利要求6所述的点云数据发送设备,其中,所述几何编码器还包括帧内预测单元,所述帧内预测单元被配置成通过基于所述预测树的要编码的点和帧内预测模式信息执行帧内预测来获取残差信息。
9.根据权利要求8所述的点云数据发送设备,其中,所述几何编码器还包括:
模式选择单元,所述模式选择单元被配置成通过将应用于所述帧间预测的帧间预测模式信息与应用于所述帧内预测的帧内预测模式信息进行比较来选择最终的预测模式信息;以及
熵编译器,所述熵编译器被配置成对基于用于识别所选择的预测模式信息的信息和所选择的预测模式信息获取的残差信息进行熵编译,并且发送熵编译的信息。
10.根据权利要求7所述的点云数据发送设备,其中,所述信令信息包括基于预测的几何压缩信息;以及
其中,所述基于预测的几何压缩信息包括用于识别所述参考帧的信息、通过所述运动估计获取的运动矢量(MV)信息、所述预测器的边界框大小信息、用于识别从所述预测器选择的所述点的信息或者所述帧间预测模式信息中的至少一个。
11.一种点云数据接收方法,包括:
接收几何数据、属性数据和信令信息;
基于所述信令信息来解码所述几何数据;
基于所述信令信息和解码的几何数据来解码所述属性数据;以及
基于所述信令信息来渲染从所述解码的几何数据和解码的属性数据恢复的点云数据,
其中,所述几何数据的解码包括:
通过基于所述信令信息对参考帧执行运动补偿来生成所述参考帧内的预测器;
基于所述信令信息,从所述预测器生成预测树;
通过基于所述信令信息中包括的预测模式信息和所述预测器的所述预测树执行帧间预测来生成预测信息;以及
基于所述预测信息以及接收和解码的残差信息来恢复所述几何数据。
12.根据权利要求11所述的点云数据接收方法,其中,所述帧间预测的执行还包括基于所述信令信息从所述预测器选择要在所述帧间预测中使用的点。
13.根据权利要求11所述的点云数据接收方法,其中,对所述几何数据的解码还包括:确定所述信令信息中包括的所述预测模式信息是否是帧间预测模式信息或帧内预测模式信息。
14.根据权利要求12所述的点云数据接收方法,其中,所述信令信息包括基于预测的几何压缩信息;以及
其中,所述基于预测的几何压缩信息包括用于识别所述参考帧的信息、用于所述运动补偿的运动矢量(MV)信息、所述预测器的边界框大小信息、用于从所述预测器选择点的信息或者所述帧间预测模式信息中的至少一个。
15.根据权利要求11所述的点云数据接收方法,其中,对所述几何数据的解码还包括:基于由发送侧执行坐标转换,基于所述信令信息中包括的第一残差信息来校正所述几何数据的预测误差,并且通过将所述信令信息中包括的第二残差信息应用到校正的几何数据来校正在所述坐标转换的过程期间出现的误差。
CN202280027598.6A 2021-03-05 2022-03-07 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 Pending CN117121487A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2021-0029535 2021-03-05
KR20210029535 2021-03-05
PCT/KR2022/003206 WO2022186675A1 (ko) 2021-03-05 2022-03-07 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Publications (1)

Publication Number Publication Date
CN117121487A true CN117121487A (zh) 2023-11-24

Family

ID=83154320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280027598.6A Pending CN117121487A (zh) 2021-03-05 2022-03-07 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法

Country Status (5)

Country Link
US (1) US20240163426A1 (zh)
EP (1) EP4304180A1 (zh)
KR (1) KR20230148197A (zh)
CN (1) CN117121487A (zh)
WO (1) WO2022186675A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11769275B2 (en) * 2017-10-19 2023-09-26 Interdigital Vc Holdings, Inc. Method and device for predictive encoding/decoding of a point cloud
WO2020146341A1 (en) * 2019-01-07 2020-07-16 Futurewei Technologies, Inc. Point cloud bitstream structure and auxiliary information differential coding
EP3944625A4 (en) * 2019-03-20 2022-05-11 Lg Electronics Inc. POINT CLOUD DATA TRANSMITTER DEVICE, POINT CLOUD DATA TRANSMITTER METHOD, POINT CLOUD DATA RECEIVE DEVICE AND POINT CLOUD DATA RECEIVE METHOD
KR20230153532A (ko) * 2019-03-21 2023-11-06 엘지전자 주식회사 포인트 클라우드 데이터 부호화 장치, 포인트 클라우드 데이터 부호화 방법, 포인트 클라우드 데이터 복호화 장치 및 포인트 클라우드 데이터 복호화 방법

Also Published As

Publication number Publication date
WO2022186675A1 (ko) 2022-09-09
KR20230148197A (ko) 2023-10-24
EP4304180A1 (en) 2024-01-10
US20240163426A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
CN114503571B (zh) 点云数据发送装置和方法、点云数据接收装置和方法
EP4138393A1 (en) Apparatus for transmitting point cloud data, method for transmitting point cloud data, apparatus for receiving point cloud data, and method for receiving point cloud data
US20220224940A1 (en) Method and device for processing point cloud data
US11483363B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230239501A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
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
US20230360273A1 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
CN116349229A (zh) 点云数据发送装置和方法、点云数据接收装置和方法
EP3971832A1 (en) Device and method for processing point cloud data
US12003769B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4373096A1 (en) Point cloud data transmission device and method, and point cloud data reception device and method
EP4340363A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230386088A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
EP4304180A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240196012A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4373098A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230206510A1 (en) Point cloud data processing device and processing method
CN118020304A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备以及点云数据接收方法
CN118202657A (zh) 点云数据发送装置和方法以及点云数据接收装置和方法
CN118202655A (zh) 发送点云数据的装置、发送点云数据的方法、接收点云数据的装置和接收点云数据的方法
CN118103731A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
CN117157983A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备以及点云数据接收方法
CN118160314A (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