CN116634179A - 点云数据处理方法、装置、电子设备及存储介质 - Google Patents
点云数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116634179A CN116634179A CN202310615039.3A CN202310615039A CN116634179A CN 116634179 A CN116634179 A CN 116634179A CN 202310615039 A CN202310615039 A CN 202310615039A CN 116634179 A CN116634179 A CN 116634179A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- mode
- decoded
- point cloud
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 28
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000013139 quantization Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 238000005192 partition Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供了一种点云数据处理方法、装置、电子设备及存储介质,涉及点云编解码技术、云技术等领域。该点云数据处理方法在解码阶段可以获取点云数据的压缩码流;针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定;若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定,即本申请实施例中,针对待解码的第一节点,充分考虑空间划分时的节点信息来确定是否可以直接跳过针对第一节点的孤立点模式判定过程,提高点云数据的编码效率。
Description
技术领域
本申请涉及点云编解码技术领域,具体而言,本申请涉及一种点云数据处理方法、装置、电子设备及存储介质。
背景技术
点云是对物体表面进行采集形成的3D(3 Dimension,三维)空间中的一组点。点云数据的数据量往往是非常庞大的,给点云数据的传输带来了严峻的挑战。因此,点云数据通常需要进行压缩后进行传输,而点云数据的压缩可以通过编码实现。
由于三维点云具有空间分布不均匀的特性,对点云数据进行编解码时,提出了孤立点模式,用于对位置相对独立的点进行独立编解码。但目前的孤立点模式计算复杂度较高,影响点云数据的编解码效率。
发明内容
本申请实施例的目的旨在能解决如何提高点云数据的编解码效率的计算问题。
根据本申请实施例的第一方面,提供了一种点云数据处理方法,该方法包括:
获取点云数据的压缩码流;
针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;
基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定;
若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定。
根据本申请实施例的第二方面,还提供了一种点云数据处理方法,该方法包括:
获取待编码的点云数据;
针对点云数据中待编码的第四节点,确定与第四节点相关的已编码的第五节点的节点信息;
基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定;
若基于已编码的第五节点的节点信息,确定不进入针对第四节点的孤立点模式,则跳过针对第四节点的孤立点模式判定。
根据本申请实施例的第三方面,提供了一种点云数据处理装置,该装置包括:
第一获取模块,用于获取点云数据的压缩码流;
第一确定模块,用于针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;
第一判定模块,用于基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定;
第一跳过模块,用于若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定。
根据本申请实施例的第四方面,还提供了一种点云数据处理装置,该装置包括:
第二获取模块,用于获取待编码的点云数据;
第二确定模块,用于针对点云数据中待编码的第四节点,确定与第四节点相关的已编码的第五节点的节点信息;
第二判定模块,用于基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定;
第二跳过模块,用于若基于已编码的第五节点的节点信息,确定不进入针对第四节点的孤立点模式,则跳过针对第四节点的孤立点模式判定。
根据本申请实施例的第五方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本申请实施例的第一方面提供的点云数据处理方法。
根据本申请实施例的第六方面,还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本申请实施例的第二方面提供的点云数据处理方法。
根据本申请实施例的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例的第一方面提供的点云数据处理方法。
根据本申请实施例的第八方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例的第二方面提供的点云数据处理方法。
根据本申请实施例的第九方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请实施例的第一方面提供的点云数据处理方法。
根据本申请实施例的第十方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请实施例的第二方面提供的点云数据处理方法。
本申请实施例提供的点云数据处理方法、装置、电子设备及存储介质,该点云数据处理方法在解码阶段可以获取点云数据的压缩码流;针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定;若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定,即本申请实施例中,针对待解码的第一节点,充分考虑空间划分时的节点信息来确定是否可以直接跳过针对第一节点的孤立点模式判定过程,提高点云数据的编码效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1a为本申请实施例提供的一种编码框架的示意图;
图1b为本申请实施例提供的另一种编码框架的示意图;
图2为本申请实施例提供的一种点云数据处理系统的架构示意图;
图3为本申请实施例提供的一种点云数据处理方法的流程示意图;
图4a为本申请实施例提供的一种八叉树编码的示意图;
图4b为本申请实施例提供的另一种八叉树编码的示意图;
图5为本申请实施例提供的一种包围盒的示意图;
图6为本申请实施例提供的一种块结构编码的示意图;
图7为本申请实施例提供的另一种点云数据处理方法的流程示意图;
图8为本申请实施例提供的一种点云数据处理装置的结构示意图;
图9为本申请实施例提供的另一种点云数据处理装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
(1)点云(Point Cloud):点云是指三维空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。点云可以按照不同的分类方式进行划分,例如,从数据的获取方式划分,可以分为密集型点云和稀疏型点云;从数据的时序类型划分,可以分为静态点云和动态点云。
(2)点云数据(Point Cloud Data):点云中各个点具备的几何信息和属性信息共同组成数据。
(3)几何信息:也可以称为三维位置信息,点云中某个点的几何信息是指该点的空间坐标(x,y,z),可以包括该点在三维空间的各个坐标轴方向上的坐标值。
(4)属性信息:点云中某个点的属性信息可以包括但不限于以下至少一种:颜色信息、材质信息、激光反射强度信息(也可以称为反射率)。通常,点云中的每个点具有相同数量的属性信息。
(5)点云编码(Point Cloud Compression,PCC):点云编码是指对点云中各点的几何信息和属性信息进行编码,得到压缩码流的过程。点云编码可以包括几何信息编码和属性信息编码两个主要过程。
(6)点云解码:点云解码是指对点云编码得到的压缩码流进行解码,以重建点云的过程;详细地说,是指基于压缩码流中的几何比特流和属性比特流,重建点云中各点的几何信息和属性信息的过程。
现代主流的点云编码技术,针对不同的点云类型,可以分为基于几何结构的点云编码以及基于投影的点云编码。在此以MPEG(Moving Picture Expert Group,国际视音频编解码标准)中的G-PCC(Geometry-Based Point Cloud Compression,基于几何结构的点云编码),AVS(Audio Video Coding Standard,中国国家视频编解码标准)中的点云编码标准AVS-PCC为例进行介绍。
G-PCC及AVS-PCC均针对静态的稀疏型点云,其编码框架大致相同,如图1a示出了AVS-PCC的编码框架,如图1b示出了G-PCC的编码框架,均分为几何信息编码以及属性信息编码。
其中,对于几何信息的编码过程,主要操作和处理可以参见如下描述:
1、预处理(Pre-Processing):包括坐标变换(Transform Coordinates)和体素化(Voxelize)。可以通过缩放和平移的操作,将3D空间中的点云数据转换成整数形式,并将其最小几何位置移至坐标原点处。
2、几何编码:几何编码中主要包括两种模式,分别是基于八叉树的几何编码(Octree)和基于三角表示的几何编码(Trisoup),这两种编码模式可以在不同的条件下使用。其中:
(a)基于八叉树的几何编码:八叉树是一种树形数据结构,在3D空间划分中,对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。通过对八叉树各个子节点的占用与否采用“1”和“0”指示,获得占用码信息(Occupancy Code)作为点云几何信息的码流。
(b)基于三角表示的几何编码:将点云划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。
3、几何量化(GeometryQuantization):量化的精细程度通常由量化参数(Quantization Parameter,QP)来决定,QP取值越大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值越小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
4、几何熵编码(Geometry Entropy Encoding):针对八叉树的占用码信息,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码(Content Adaptive Binary Arithmetic Coding,CABAC)。
对于属性信息的编码过程,主要操作和处理可以参见如下描述:
1、属性重上色(Recoloring):有损编码情况下,在几何信息编码后,需编码设备解码并重建几何信息,即恢复3D点云各点的坐标信息。在原始点云中寻找对应一个或多个邻近点的属性信息,作为该重建点的属性信息。
2、属性变换编码(Transform):属性变换编码中可以包括四种模式,分别是预测、变换、预测变换、以及(d)变换预测,这四种编码模式可以在不同的条件下使用。其中:
(a)预测:根据距离或空间关系等信息,在已编码点中确定待编码点的邻居点作为预测点,根据设定的准则计算该点的预测值。计算当前点属性值与预测值之间的差值作为属性残差信息,对属性残差信息进行量化、变换(可选)及熵编码。
(b)变换:利用DCT(Discrete Cosine Transform,离散余弦变换)、Haar(哈尔变换,是一种正交归一化变换)等变换方法,对属性信息进行分组、变换,对变换系数做量化;通过逆量化,逆变换后得到属性重建值;计算原始属性和属性重建值的差值得到属性残差信息并对其量化;将量化后的变换系数和属性残差信息编码。
(c)预测变换:利用预测获得的残差值信号进行变换。
(d)变换预测:将变换后的参数信息进行预测。
3、属性信息量化(Attribute Quantization):量化的精细程度通常由量化参数(QP)来决定。在预测变换(Predicting Transform)编码及提升变换(Lifting Transform)编码中,是对量化后的残差值进行熵编码;在分层区域自适应变换(Region AdaptiveHierarchical Transform,RAHT)编码中,是对量化后的变换系数进行熵编码。
4、属性熵编码(Attribute Entropy Coding):量化后的属性残差信号或变换系数一般使用行程编码(Run Length Coding)及算数编码(Arithmetic Coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
可以理解的是,解码过程与编码过程互逆,即几何比特流解码过程与上述几何信息编码过程是相逆的,属性比特流解码过程与上述属性信息编码过程是相逆的。
具体而言,根据上述编码过程,解码设备获得压缩码流后,首先进行熵解码,获得各种模式信息及量化后的几何信息以及属性信息。一方面,几何信息经过反量化,得到重建的3D点位置信息。另一方面,属性信息经过反量化,得到残差信息或变换系数,从而可以根据采用的变换模式确认参考信号,得到重建的属性信息,并按顺序与重建的几何信息一一对应,输出重建的点云数据。
基于上述基础概念和基础技术的相关介绍,本申请实施例提供了一种针对孤立点模式的编码优化,针对基于划分树(划分树可以包括但不限于八叉树、四叉树、二叉树等基于空间划分的几何结构)对几何信息进行编码的情况,结合八叉树等划分过程中的节点信息对几何模式的判定进行优化,提高几何信息编码效率。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
首先,结合图2对适于实现本申请实施例提供的点云数据处理方法的点云数据处理系统进行介绍。如图2所示,点云数据处理系统20中可以包括编码设备201和解码设备202,编码设备201可以是终端,也可以是服务器,解码设备202可以是终端,也可以是服务器,编码设备201和解码设备202之间可以建立通信连接。其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能穿戴设备(例如手表、眼镜等)、智能电视、智能音箱、车载终端、个人数字助理、便携式多媒体播放器、导航装置等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。为便于阐述,本申请实施例对编码设备和编码端不作区分描述,同理对解码设备和解码端不作区分描述。
(1)对于编码设备201:
编码设备201可以获取点云数据(即点云中各点的几何信息和属性信息),点云数据可以通过场景捕获或设备生成两种方式获取得到。场景捕获点云数据是指通过编码设备201关联的捕获设备采集真实世界的视觉场景得到点云数据;其中,捕获设备用于为编码设备201提供点云数据的获取服务,捕获设备可以包括但不限于以下任一种:摄像设备、传感设备、扫描设备;其中,摄像设备可以包括普通摄像头、立体摄像头、以及光场摄像头等,传感设备可以包括激光设备、雷达设备等,扫描设备可以包括三维激光扫描设备等;编码设备201关联的捕获设备可以是指设置于编码设备201中的硬件组件,例如捕获设备是终端的摄像头、传感器等,编码设备关联的捕获设备也可以是指与编码设备201相连接的硬件装置,例如与服务器相连接的摄像头等。设备生成点云数据是指编码设备201根据虚拟对象(例如通过三维建模得到的虚拟三维物体及虚拟三维场景)生成的点云数据。
在生成点云数据后,编码设备201可以对点云数据进行编码处理,得到码流数据。具体地,编码设备201在编码的过程中,可以采用本申请实施例提供的技术方案。在编码得到点云数据的压缩码流后,编码设备201将码流数据传输至解码设备202。
(2)对于解码设备202:
解码设备202接收到编码设备201传输的压缩码流后,可以对压缩码流进行解码,并基于解码结果呈现点云数据。具体地,解码设备202在解码的过程中,可以采用本申请实施例提供的技术方案。
可以理解的是,本申请实施例描述的点云数据处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术技术人员应能理解,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于对点云数据处理系统的相关描述,下面对本申请实施例提供的点云数据处理方法进行更为详细地介绍。
请参阅图3,为本申请实施例提供的一种点云数据处理方法,该点云处理方法可以由计算机设备执行,该计算机设备具体可以是图2所示的点云数据处理系统20中的解码设备202。如图3所示,该方法包括:
步骤S301:获取点云数据的压缩码流;
由上文的介绍可知,编码设备在对点云数据进行编码后,可以得到相应的压缩码流,并发送至解码设备进行处理。其中,压缩码流包括几何比特流和属性比特流。相应地,解码设备在接收到该点云数据的压缩码流后,可以对其进行解码。
步骤S302:针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;
对于本申请实施例,第一节点可以是指点云中任意一个还未被解码的节点。第二节点是指点云中与第一节点相关的且已经被解码的节点。第二节点的节点信息是指该节点解码过程中使用的信息,例如第二节点是否采用几何模式,采用的几何模式、点云数信息、空间占用信息、包围盒信息、邻域信息等,但不限于此。
其中,几何模式也可以称为几何编码模式,包含多种模式,例如针对基于划分树(例如八叉树等基于空间划分的几何结构)对几何信息进行编码的情况,可以包括但不限于孤立点模式(也可称为孤立点编码模式)、平面模式(也可称为平面编码模式)等。下文中为便于阐述,以基于八叉树对几何信息进行编码为例进行介绍。
八叉树是一种树形数据结构,目前在G-PCC或是AVS-PCC中主要采用八叉树结构对点云进行划分。对3D空间中的点云数据,八叉树划分方式是逐层地对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点,如图4a所示。假设其占位码可以按照如图4a所示的顺序编码,即从位置0开始按顺序编码到位置7,可以理解,实际应用中还可以按照需要设计其他编码顺序,这里不做限定。对于八叉树各个子节点的占用与否可以采用‘1’和‘0’指示,如图4b所示,假设在该立方体对应的节点中,位置0处的子节点以及位置7处的子节点被占用,则其对应的占位码可为10000001;位置0处的子节点以及位置7处的子节点可以划分为8个更小的子节点,从而根据各子节点的占用情况得到位置0处的子节点和位置7处的子节点对应的占位码,分别为00011000(位置3和4被占用)和10001000(位置0和4被占用)。获得占用码信息(occupancy code)作为点云几何信息的码流。
可选地,可以基于莫顿序(Morton)实现八叉树的构建,即将点云数据的3D坐标信息通过查询莫顿顺序表,转换成对应的莫顿码。根据每一位莫顿码的排序,获得每层八叉树的对应点。目前主流的点云编码技术是利用八叉树划分对点云数据进行表示,对几何信息和属性信息采用不同的处理流程。
其中,上述提及的包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(如最小长方体)来近似地代替复杂的几何对象,即包含输入点云数据中所有点,该几何体便可称为包围盒。一种示例性的包围几何对象的包围盒可以如图5所示。该包围盒所占的三维空间区域内包括完整的几何对象。
步骤S303:基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定
在进行多叉树几何编码过程中,在当前块同时满足下列三个条件时可能生效孤立点编码模式:
1、几何头信息中孤立点编码模式标识符为1;
2、待编码块对应层级的孤立点编码标识符为真;
在八叉树划分过程中,使用SinglePointEligibleFlagDepth[k](孤立点编码标识符)指示八叉树K层级是否开启或满足孤立点编码模式,不同的K对应不同的层级。只有上述标识符为真时,对应层级的孤立点编码模式才生效。八叉树当前层点云点数除以当前层节点个数小于某阈值(M)时,当前层孤立点模式为真,即SinglePointEligibleFlagDepth[k]=1时,当前八叉树层满足孤立点编码模式,该参数需传入解码设备,层级判定阈值M可以设置为50。
另外,还引入一个使能参数gbh.OctreelevelDcmEligibleEnable,根据点云疏密度决定是否使用孤立点编码模式,当点云判定为稠密点云,不使用孤立点直接编码模式。例如当slice(分片)体密度大于430000时,才开启层级孤立点密度判定。
3.当前块内仅含有一个点云数据点。
当上述三个条件均成立时进入孤立点编码模式判定。引入一个flag标识位表示当前节点是否使用孤立点编码模式,该flag使用一个context(上下文)进行熵编码。如果flag为True(真),则采用孤立点模式,直接编码该点的几何坐标,同时结束八叉树划分。如果flag为False(假),则编码占用码,并继续八叉树划分。
在编码了flag标识位之后,由于当前块内仅含有一个点云数据点,则直接编码该点云数据点几何坐标对应莫顿码的未编码的比特。具体的按照x,y,z顺序依次逐编码,其中已经到达最小边长的方向不需编码。
在八叉树编码过程中,需要限制singlePointFlag编码为0的节点数量,提升编码效率。设计存在两种模式:mode0与mode1。mode0模式下,节点通过孤立点先验信息判定的节点都会像原方案一样正常编码,只是需要记录singlePointFlag为1的个数;而mode1模式下只会对通过孤立点先验信息判定的部分节点进行编码。每当一种模式编码完成之后,都会根据编码结果来决定接下来的节点进入哪一种模式。
mode0模式下,以n1个通过孤立点先验信息判定的节点为一组,其编码方式同原方案,只需记录此n1个节点中,singelPointFlag为1的节点数。若singelPointFlag为1的节点数大于等于一个阈值,则接下来的节点继续进入mode0;反之进入mode1。
mode1模式下,n2个通过孤立点先验信息判定的节点为一组,第1至n2-1个节点进行八叉树编码,并记录其八叉树编码结果。若这n2-1个节点的八叉树编码结果中,只有一个被占据子节点的节点的数目大于等于阈值s,第n2个节点才会进行正常的孤立点编码,否则第n2个节点也直接进行八叉树编码。如果第n2个节点直接进行了八叉树编码,则接下来的节点继续进入mode1,否则将根据第n2个节点singelPointFlag判定结果决定接下来的节点进入哪一种模式。若第n2个节点判定结果为1,则接下来的节点会转入mode0;反之接下来的节点继续mode1。
以上的孤立点编码方式未充分考虑空间划分时的几何信息和邻域信息。而本申请实施例中,会基于利用历史已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定。
步骤S304:若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定。
本申请实施例中,对于一些特定情况,可以跳过针对第一节点的孤立点模式判定,即跳过flag标识位判定和编码,提高点云几何信息的编码效率,并省去编码flag的比特。
作为示例地,一个特定情况下,如果当前块的父块已经可以允许使用孤立点编码模式,并且当前块是父块的唯一一个子节点,那么当前块中一定不包含孤立点,上述flag标识位可能推断为False。本申请实施例中,针对这种子节点可以直接跳过孤立点模式判定。
可以理解,与第一节点相关的已解码的第二节点可以存在多种情况。从空间结构上看,与第一节点相关的已解码的第二节点可以包括但限于以下至少一种:
(1)第一节点的已解码的父节点;
本申请实施例中对第一节点在其父节点中的位置不做限定,例如,假设上述图4a所示的节点为第一节点的父节点,那么该第一节点可以位于位置0~位置7中的任意一个位置。
(2)第一节点的已解码的邻居节点;
本申请实施例的邻居节点包括但是不限于:共面节点(节点的6面中有一面相同)、共线节点(节点的12条线中有至少一条相同)、共点节点(节点的8个顶点中有至少一个相同),同层固定方向最近的(已解码)节点,同层相邻节点的(已解码)子节点等;
(3)父节点所在的已解码的祖父节点;
同理地,本申请实施例中对第一节点的父节点在其父节点(第一节点的祖父节点)中的位置不做限定。
(4)父节点的已解码的邻居节点;
同理地,包括但是不限于:父节点的共面节点、父节点的共线节点、父节点的共点节点,父节点的同层固定方向最近的(已解码)节点,父节点的同层相邻节点的(已解码)子节点等。
(5)第一节点的已解码的前序节点。
第一节点的前序节点是指解码顺序位于第一节点之前的已解码节点。
本申请实施例中,可以获取已解码的以上至少一种相关节点的节点信息,利用已解码的节点信息作为参考信息,判定第一节点是否进入孤立点编码模式判定,例如判定当前节点大概率不是孤立点,则跳过孤立点编码模式判定和对应的标识位解析。
本申请实施例中,为步骤S303提供了一种可选的实施方式,具体地,可以包括:基于已解码的第二节点的几何模式信息,确定是否进入针对第一节点的孤立点模式判定。
即本申请实施例中,会将平面模式等几何模式信息作为参考信息,即根据第二节点采用的具体几何模式和位置情况,确定是否跳过针对第一节点的孤立点模式判定。作为示例地,若第一节点的大量前序节点均采用平面模式,则可以跳过针对第一节点的孤立点模式判定,直接采用平面编码模式。
在一种可选的实施方式中,若第二节点为第一节点的已解码的父节点和父节点所在的已解码的祖父节点至少一种,第二节点的节点(统计)信息包括以下至少一项:第二节点所含点云点数、第二节点的占用节点数、第二节点的占用节点分布、第二节点的节点边长。
具体而言,在步骤S303中,具体可以包括以下至少一种方式:
(1)基于第二节点所含点云点数与第一阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第二节点所含点云点数大于第一阈值,确定不进入针对第一节点的孤立点模式判定。实际应用中,第二节点所含点云点数与第一阈值的关系不限于“大于”,也可以是其他关系。
其中,父节点对应的第一阈值和祖父节点对应的第一阈值可以相同或不同,本领域技术人员可以根据实际情况对第一阈值M3的数值进行设置,本申请实施例在此不做限定。
(2)基于第二节点的占用节点数与第二阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第二节点的占用节点数大于第二阈值,确定不进入针对第一节点的孤立点模式判定。实际应用中,第二节点的占用节点数与第二阈值的关系不限于“大于”,也可以是其他关系。
其中,父节点对应的第二阈值和祖父节点对应的第二阈值可以相同或不同,本领域技术人员可以根据实际情况对第二阈值M4的数值进行设置,本申请实施例在此不做限定。
(3)基于指定方向和第二节点的占用节点分布,确定是否进入针对指定方向上的至少两个第一节点的孤立点模式判定。
作为示例地,基于指定方向和第二节点的占用节点分布,确定指定方向上的两层(如图4b所示的两层)节点的节点个数,对于两层节点中节点个数较大的一层,确定不进入针对该层的第一节点的孤立点模式判定;
一个示例中,以指定方向是z方向为例,可以比较该方向上层节点个数s1和下层节点个数s2。
可选地,若s1<s2,则下层节点不进入孤立点判定;反之亦然。例如,若父节点的占位码是0x01110100,参见图4a,则位于z方向上层的节点数为3(位置1、3、5),下层节点数为1(位置2),确定上层节点不进入孤立点模式判定;
再次作为示例地,基于指定方向和第二节点的占用节点分布,确定指定方向上的两层(如图4b所示的两层)节点的节点个数,对于两层节点中节点均被占用的层,确定不进入针对该层的第一节点的孤立点模式判定;
一个示例中,以指定方向是z方向为例,可以统计该方向每层的节点个数。
可选地,若上层节点个数s1为4,即全占满,则该层节点不进入孤立点模式判定,同理地,若下层节点个数s1为4,则该层节点不进入孤立点判定(两者也可同时存在)。
(4)基于第二节点包围盒最大边长与最小边长的比例与第三阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第二节点包围盒最大边长与最小边长的比例小于第三阈值,确定不进入针对第一节点的孤立点模式判定。实际应用中,第二节点包围盒最大边长与最小边长的比例与第三阈值的关系不限于“小于”,也可以是其他关系。
假设输入点云的p点的浮点类型的坐标表示为(xp,yp,zp),p=0,...,P-1,P是点云中的点数,坐标点(xmin,ymin,zmin)和(xmax,ymax,zmax)表示如下:
xmin=min(x0,x1,...,xP-1)
ymin=min(y0,y1,...,yP-1)
zmin=min(z0,z1,...,zP-1)
xmax=max(x0,x1,...,xP-1)
ymax=max(y0,y1,...,yP-1)
zmax=max(z0,z1,...,zP-1)
函数min(s0,s1,...,sP-1)和max(s0,s1,...,sP-1)分别表示取当前输入的最小值和最大值。
则包围盒的原点(xorigin,yorigin,zorigin)可以按如下方式计算:
xorigin=int(floor(xmin))
yorigin=int(floor(ymin))
zorigin=int(floor(zmin))
包围盒在x,y,z方向上的尺寸可以计算如下:
BoudingBoxSizex=int(xmax-xorigin)+1
BoudingBoxSizey=int(ymax-yorigin)+1
BoudingBoxSizez=int(zmax-zorigin)+1
其中,int(s)是取整函数,floor(s)函数返回小于或等于s的最大整数值。
基于此,可以计算出第二节点包围盒最大边长与最小边长,再计算最大边长与最小边长的比例,与第三阈值进行比较。其中,父节点对应的第三阈值和祖父节点对应的第三阈值可以相同或不同,本领域技术人员可以根据实际情况对第三阈值N1的数值进行设置,本申请实施例在此不做限定。
(5)基于第一节点在父节点中的索引值与预定索引值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第一节点在父节点中的索引值为预定索引值,则确定进入针对第一节点的孤立点模式判定。或者,若第一节点在父节点中的索引值为预定索引值,则确定不进入针对第一节点的孤立点模式判定。
本领域技术人员可以根据实际情况对预定索引值Idx的数值进行设置,本申请实施例在此不做限定。
相应地,若第一节点在父节点中的索引值非预定索引值,则确定不进入针对第一节点的孤立点模式判定。若第一节点在父节点中的索引值非预定索引值,则确定进入针对第一节点的孤立点模式判定。
在一种可选的实施方式中,若第二节点为第一节点的已解码的邻居节点和父节点的已解码的邻居节点中的至少一种,则在步骤S303,具体可以包括以下至少一种方式:
(1)若第一节点与被占用的第二节点处于同方向,或被占用的第二节点的节点数大于第四阈值时,确定进入针对第一节点的孤立点模式判定,且第一节点可采用孤立点编码模式。
否则,确定不进入针对第一节点的孤立点模式判定,即针对第一节点跳过孤立点模式判定和编码。
(2)若第二节点的子节点中与第一节点相邻的节点被占用,确定不进入针对第一节点的孤立点模式判定;
即如果邻居节点与第一节点相邻的子节点被占据,则针对第一节点跳过孤立点模式判定和编码。
(3)若第二节点的子节点中与第一节点相邻的节点被占用且非孤立点模式,确定不进入针对第一节点的孤立点模式判定;
即如果邻居节点与第一节点相邻的子节点被占据且非孤立点模式(即没有进入孤立点模式判定或进入孤立点模式后没有被判断为孤立点),则针对第一节点跳过孤立点模式判定和编码。
(4)基于第二节点的子节点中孤立点的比例与第五阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第二节点的子节点中孤立点的比例小于第五阈值,确定不进入针对第一节点的孤立点模式判定。实际应用中,第二节点的子节点中孤立点的比例与第五阈值的关系不限于“小于”,也可以是其他关系。
即如果邻居节点的子节点中孤立点的比例小于第五阈值N3,则针对第一节点跳过孤立点模式判定和编码。其中,本领域技术人员可以根据实际情况对第五阈值的数值进行设置,本申请实施例在此不做限定。
(5)基于第二节点中与第一节点距离最近的孤立点和第一节点的距离与第六阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
作为示例地,若第二节点中与第一节点距离最近的孤立点(即进入孤立点模式判定,并被判断为孤立点的第二节点)与第一节点的距离大于第六阈值时,确定不进入针对第一节点的孤立点模式判定。
即如果最近距离的孤立点与第一节点的距离大于第六阈值S1时,则第一节点跳过孤立点模式判定和编码。其中,本领域技术人员可以根据实际情况对第六阈值S1的数值进行设置,本申请实施例在此不做限定,例如可由节点边长等相关数据决定。实际应用中,该距离与第六阈值的关系不限于“大于”,也可以是其他关系。
在一种可选的实施方式中,若第二节点为第一节点的前序节点,第二节点的节点信息包括以下至少一项:
(1)第一预定数量的非空前序节点所对应的空节点的个数;
即可以统计前序N4(第一预定数量)个非空节点,对应的空节点的个数N5,作为确定是否进入针对第一节点的孤立点模式判定的参考信息。实际应用中,本领域技术人员可以根据实际情况对N4和N5的值进行设置,本申请实施例在此不做限定。
(2)前序节点中采用孤立点模式的节点个数;
即可以统计前序节点中孤立点编码的节点个数,作为确定是否进入针对第一节点的孤立点模式判定的参考信息。
(3)前序节点中子节点占用数为第二预定数量的节点个数。
即可以统计前序节点中子节点占用数为M5(第二预定数量)的节点个数,作为确定是否进入针对第一节点的孤立点模式判定的参考信息。实际应用中,本领域技术人员可以根据实际情况对M5的值进行设置,本申请实施例在此不做限定。
在一种可选的实施方式中,可以设置在固定位置进入针对第一节点的孤立点模式判定,例如,设置预设间隔M5,每隔M5个点进入针对第一节点的孤立点模式判定,而这些点以外的点跳过针对第一节点的孤立点模式判定。
即本申请实施例中,若第一节点为预设间隔所对应的节点,则进入针对第一节点的孤立点模式判定。
相应地,若第一节点不是预设间隔所对应的节点(即是预设间隔点之间的节点),则跳过针对第一节点的孤立点模式判定。
本申请实施例中,在进入针对第一节点的孤立点模式判定之后,或若判定第一节点采用孤立点模式,或跳过针对第一节点的孤立点模式判定,直接确定第一节点采用孤立点模式,那么在确定第一节点采用孤立点模式之后,还可以包括步骤:基于以下至少一种方式来确定参考节点,并基于参考节点来解析几何残差值,几何残差值用于对第一节点进行解码处理,即利用最近邻点作为参考点,解析几何残差值,选择参考点的方式包括但是不限于以下至少一种:
(1)顺序最近的八叉树占位码为1的节点;
(2)第一节点的包围盒信息和层级信息中至少一种,例如第一节点中心点、顶点的几何坐标值等,其中中心点或顶点的信息都可以由包围盒和层级信息得到,层级是当前八叉树划分的层数。具体的确定方式可以参见上文的介绍,在此不再赘述。
(3)顺序最近的已解码孤立点;
(4)同层已解码孤立点。
其中,已解码孤立点是指进入孤立点模式判定,并被判断为孤立点并解码节点。
本申请实施例中,还可以利用孤立点模式信息,判定其他几何模式编码信息。可选地,针对第一节点的平面模式判定,不采用第二节点中采用孤立点模式的节点作为参考节点。
一种可选的实施方式中,确定是否进入针对第一节点的预定几何模式判定,不采用第二节点中采用孤立点模式的节点作为参考节点。
本申请实施例中,第二节点中采用孤立点模式,包括但不限于第二节点进入孤立点模式判定,或者第二节点进入孤立点模式判定后被判断为孤立点等情况。
作为示例地,对于平面编码模式,不采用前序节点中为孤立点模式的节点作为是否进入针对第一节点的平面模式判定的参考节点。
其中,对于平面编码模式的处理过程,在几何slice头信息参数集中添加gsh_planar_mode(片几何平面模式标志字段),指示平面编码模式是否被启用。当gsh_planar_mode为1时,平面编码模式启用。当gsh_planar_mode为0时,平面编码模式关闭。编码设备对于slice包围盒体积与点数之比在750~280000范围内的slice,执行以下操作:
1、对当前节点进行资格判定。
选择5个当前节点的已编码同层邻居节点作为参考节点。
若当前节点的坐标为(x,y,z),则参考节点为(x-1,y,z),(x-2,y,z),(x,y-1,z),(x,y-2,z),(x-1,y-1,z)。
在八叉树结构中,每个平面由四个节点组成。沿着特定轴,首先布置低平面,然后布置高平面。例如,沿着X轴,Y-Z平面中父节点的最先四个节点形成低平面,而同一父节点中的后面四个节点形成高平面。低平面和高平面的这种顺序也是编码的顺序。此外,树结构中位于深度D+1的相邻节点的一组子级节点的占位被用来确定平面位置上下文信息。
若5个参考节点中满足低平面子节点全不被占据或者高平面子节点全不被占据的节点数量大于3,则继续以下步骤。
2、根据参考节点的子节点占位情况得到当前节点状态。
参考节点中,位于低平面的子节点数量记为LowOccNum,位于高平面的子节点数量记为HighOccNum,其中:
1)LowOccNum>1且HighOccNum<1,为状态0;
2)LowOccNum<1且HighOccNum>1,为状态1;
3)其余皆为状态2。
3、根据当前节点的状态以及各子节点位置设置三种上下文:
1)当前节点为状态0且待编码子节点位于当前节点的高平面;
2)当前节点为状态1且待编码子节点位于当前节点的低平面;
3)其余所有情况。
在编码各子节点的占位比特时,为满足第1、2种情况的子节点各分配一个contextModel(上下文模型);满足第3种情况的子节点用现有方案中的上下文继续细分。总共在现有上下文基础上增加2个contextModel。
本申请实施例中,若当前节点的坐标为(x,y,z)的参考节点包括采用孤立点模式的节点,则去除该参考节点,或选取别的参考节点。这样做的好处是,可以避免采用孤立点模式的节点对上述平面模式的执行产生干扰,提高平面模式的判定精度。
实际应用中,预定几何模式可以是孤立点模式、平面模式、或其他几何模式,本申请实施例在此不做限定。
另一种可选的实施方式中,若基于第二节点中存在采用孤立点模式的节点,不进入针对第一节点的预定几何模式判定。
同理地,本申请实施例中,第二节点中采用孤立点模式,包括但不限于第二节点进入孤立点模式判定,或者第二节点进入孤立点模式判定后被判断为孤立点等情况。
作为示例地,当第二节点中存在孤立点,或存在可能进入孤立点模式的节点,当前第一节点不进入平面模式。
实际应用中,预定几何模式可以是孤立点模式、平面模式、或其他几何模式,本申请实施例在此不做限定。其中,若预定几何模式是孤立点模式,该步骤可以在步骤S304之前执行,例如在步骤S303中执行。若预定几何模式是平面模式等其他模式,该步骤可以在步骤S304之后执行。本领域技术人员可以根据实际情况进行设置。本申请实施例中,在步骤S301之后,可以先判定当前点云是否使用几何模式编码。具体地,在点云数据、分片层、宏块层和八叉树层级中的至少一种层次中,通过以下至少一项,确定点云数据是否采用几何模式。
其中,点云数据可以分成一个或几个slice(分片),slice由宏块(Largest CodingUnit,LCU)组成,宏块是编码单元(编码处理的基本单元)。块结构编码方法引入类似于视频编码中编码块的概念,将三维空间划分成若干大小的不重叠的编码宏块,每个宏块作为基本的编码单元,这里对划分的宏块数量不做限定。可以通过设置八叉树划分深度d,或者通过相关参数(如nodeSizeLog2,即节点尺寸参数)来控制3D宏块的大小。当八叉树划分到每个节点的大小为/>并且满足下列条件时:
nodeSizeLog2>max(dx,dy,dz)
每个节点按照宏块(LCU)进行编码。其中,这里的划分深度表示几何划分的深度,根节点的深度可定义为0,每划分一次深度值增加1。
如图6所示,在2D四叉树划分场景下,假设从第二层开始按照宏块顺序编码,每一个宏块可以看作一个单独的树划分结构。目前实现中,每个编码宏块内部可采用广度优先遍历,例如,在宏块1内部,先遍历第二层(节点1),再遍历第三层(节点2、节点3),第四层(节点4、节点5)。这种块结构编码方法具有很高的灵活性。例如,对每个宏块,可以根据其特性采用不同的几何编码方式,例如,对图6所示的宏块1采用基于划分树的几何编码,对图6所示的宏块2采用基于预测树的几何编码,本申请实施例对宏块所采用的几何编码方式不做限定。此外,也可以在对一个宏块几何编码完后进行属性编码,这样不需要等待整个点云几何编码后才能进行属性编码,从而可以提升编码方式的灵活性。
具体地,在点云数据或分片层确定点云数据是否采用几何模式,可以通过但不限于以下至少一种方法:
(1)是否采用默认模式;
解码设备和编码设备可以共同协商设置默认编码模式,默认编码模式为点云中的待解码节点的编码模式,也是点云中的所有节点所共用的编码模式。可以确定当前几何模式是否采用默认模式。
(2)从参数集中或者压缩码流中解析出的模式信息;
可以解析点云的编码参数集或压缩码流,得到点云中的待解码节点的编码模式,将待解码节点的编码模式确定为点云的编码模式信息。当编码参数集中包含模式信息时,解码设备可以通过对该编码参数集进行解析,得到待解码节点的编码模式信息;当编码参数集中不包含模式信息时,直接解析压缩码流可以得到待解码节点的几何模式。
(3)基于采用的默认参数信息确定的对应模式信息;
其中,默认参数信息可以是由编码设备和解码设备共同协商确定的。
(4)从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
其中,参数信息可以是从点云的编码参数集中或者压缩码流中解析得到的。
例如,参数信息可以包括但不限于:待解码节点的残差解析信息所对应的统计特性信息,包围盒所对应的边长比值信息,待解码节点的量化参数等,与相应阈值之间的比对关系,确定待解码节点的几何模式。
具体地,在宏块(LCU)层级判定进入八叉树编码的节点是否使用几何模式编码模式,可以通过但不限于以下至少一种方法:
(1)是否采用默认模式;
(2)从参数集中或者压缩码流中解析出的模式信息;
(3)基于采用的默认参数信息确定的对应模式信息;
(4)从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
其中,参数信息包括以下至少一种:宏块划分时是否有预测树邻居节点;宏块划分时的密度。即基于参数信息确定的对应模式信息,可以是根据LCU划分时是否有预测树邻居节点确定,可以是根据LCU划分时的密度确定等。
其他未详尽之处可以参见上文中对在点云数据或分片层确定点云数据是否采用几何模式的介绍,在此不再赘述。
具体地,在在当前八叉树层级(depth)判定是否使用几何模式编码模式,可以通过但不限于以下至少一种方法:
(1)是否采用默认模式;
(2)从参数集中或者压缩码流中解析出的模式信息;
(3)基于采用的默认参数信息确定的对应模式信息;
(4)从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
其中,参数信息包括以下至少一种:层级节点的包围盒信息;层级阈值范围;层级节点的数量;基于所含点云点数与第三预定数量的关系确定的层级节点的数量(例如层级节点中所含点云点数小于第三预定数量的节点数,或者,层级节点中所含点云点数大于第三预定数量的节点数等)即基于参数信息确定的对应模式信息,可以是根据以下至少一种方式:
1)根据当前层节点的包围盒信息(边长信息等)确定;
2)根据层级阈值范围d1,d2(可以同时使用也可以单独使用)确定,例如当前depth<d1时或depth>d2时,不进入层级孤立点模式判定;
3)根据层级阈值范围d3确定,若当前depth>d3时,所有点采用孤立点模式进行编码,无需传输singlePointFlag;
4)根据统计当前层的节点数M6,其中所含点云点数小于m的节点数M7(作为可能的孤立点预测值);例如,若a×M6+b×M7<c×M7,则开启层级孤立点模式判定;若a×M6+b×M7≥c×M7,则关闭层级孤立点模式判定。其中a、b、c可以进行设置,本申请实施例在此不做限定。例如可以参考b为当前层节点边长信息(nodeSizeLog2-1)进行设置。
基于以上至少一个实施例,本申请实施例提供了解码设备执行的一个流程示例,如以下各步骤所示,所有步骤均可以单独使用也可以组合使用:
1、利用上述至少一种实施方式,判定当前点云是否使用几何模式编码
2、利用上述至少一种实施方式,利用已解码的节点信息作为参考信息,判定当前节点是否进入孤立点编码模式判定
3、获取singlePointInfer,若singlePointInfer=1,singlePointFlag为默认值无需编码;若singlePointInfer=0,编码singlePointFlag;
4、对孤立点几何位置信息进行编码,包括但是不限于以下方式:
1)直接编码该点云点几何坐标对应莫顿码的未编码的比特。具体地,可以按照x,y,z顺序依次逐编码,其中已经到达最小边长的方向不需编码。
2)通过上述至少一种方法,利用最近邻点作为参考点,解析几何残差值。
5、对于平面编码模式,不采用前序节点中为孤立点模式的节点作为平面模式判定的参考节点;若基于第二节点中存在采用孤立点模式的节点,不进入针对第一节点的平面模式判定。
要说明的是,上述解码过程可能还包括反量化、坐标转换等一些步骤,具体参照已有技术的描述,在此不再赘述。
本申请实施例提供的点云数据处理方法,充分利用了历史的空间占位信息,邻域信息等节点,提高点云几何信息的编码效率,提高平面模式的判定精度。
相应地,本申请实施例还提供了一种点云数据处理方法,该点云处理方法可以由计算机设备执行,该计算机设备具体可以是图2所示的点云数据处理系统20中的编码设备201。如图7所示,该方法包括:
步骤S701:获取待编码的点云数据;
步骤S702:针对点云数据中待编码的第四节点,确定与第四节点相关的已编码的第五节点的节点信息;
步骤S703:基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定;
步骤S704:若基于已编码的第五节点的节点信息,确定不进入针对第四节点的孤立点模式,则跳过针对第四节点的孤立点模式判定。
可选地,与第四节点相关的第五节点,包括以下至少一种:
第四节点的已编码的父节点;
第四节点的已编码的邻居节点;
父节点所在的已编码的祖父节点;
父节点的已编码的邻居节点;
第四节点的已编码的前序节点。
可选地,若第五节点为第四节点的已编码的父节点和父节点的已编码的邻居节点中至少一种,第五节点的节点信息包括以下至少一项:第五节点所含点云点数、第五节点的占用节点数、第五节点的占用节点分布、第五节点的节点边长;基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定,包括以下至少一种方式:
基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定,包括以下至少一种方式:
基于第五节点所含点云点数与第一阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第五节点的占用节点数与第二阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于指定方向和第五节点的占用节点分布,确定是否进入针对指定方向上的至少两个第四节点的孤立点模式判定;
基于第五节点包围盒最大边长与最小边长的比例与第三阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第一节点在父节点中的索引值与预定索引值的关系,确定是否进入针对第四节点的孤立点模式判定。
可选地,若第五节点为第四节点的已编码的邻居节点和父节点的已编码的邻居节点中的至少一种,基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定,包括以下至少一种方式:
若第四节点与被占用的第五节点处于同方向,或被占用的第五节点的节点数大于第四阈值时,确定进入针对第四节点的孤立点模式判定,否则,确定不进入针对第四节点的孤立点模式判定;
若第五节点的子节点中与第四节点相邻的节点被占用,确定不进入针对第四节点的孤立点模式判定;
若第五节点的子节点中与第四节点相邻的节点被占用且非孤立点模式,确定不进入针对第四节点的孤立点模式判定;
基于第五节点的子节点中孤立点的比例与第五阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第五节点中与第四节点距离最近的孤立点和第四节点的距离与第六阈值的关系,确定是否进入针对第四节点的孤立点模式判定。
可选地,若第五节点为第四节点的前序节点,第五节点的节点信息包括以下至少一项:
第一预定数量的非空前序节点所对应的空节点的个数;
前序节点中采用孤立点模式的节点个数;
前序节点中子节点占用数为第二预定数量的节点个数。
可选地,基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定,包括:
基于已编码的第五节点的几何模式信息,确定是否进入针对第四节点的孤立点模式判定。
可选地,该方法还包括:
若第四节点为预设间隔所对应的节点,则进入针对第四节点的孤立点模式判定。
可选地,确定第四节点采用孤立点模式之后,还包括:
基于以下至少一种方式来确定参考节点,并基于参考节点来解析几何残差值,几何残差值用于对第四节点进行编码处理:
顺序最近的八叉树占位码为1的节点;
第四节点的包围盒信息和层级信息中至少一种;
顺序最近的已编码孤立点;
同层已编码孤立点。
可选地,该方法还包括以下至少一项:
确定是否进入针对第四节点的预定几何模式判定,不采用第二节点中采用孤立点模式的节点作为参考节点;
若基于第五节点中存在采用孤立点模式的节点,不进入针对第四节点的预定几何模式判定。
可选地,获取点云数据的压缩码流之后,还包括:
在点云数据、分片层、宏块层和八叉树层级中的至少一种层次中,通过以下至少一项,确定点云数据是否采用几何模式;
是否采用默认模式;
从参数集中或者压缩码流中解析出的模式信息;
基于采用的默认参数信息确定的对应模式信息;
从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
可选地,参数信息包括以下至少一种:
宏块划分时是否有预测树邻居节点;
宏块划分时的密度;
层级节点的包围盒信息;
层级阈值范围;
层级节点的数量;
基于所含点云点数与第三预定数量的关系确定的层级节点的数量。
应理解,点云数据的编码方法为上述点云数据的解码方法的逆过程。点云数据的编码方法中各步骤的具体实施方式可以参考点云数据的解码方法中的相应步骤,为避免重复,在此不再赘述。
本申请涉及点云数据的处理技术可以依托于云技术实现;例如,将云服务器作为解码设备或编码设备。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
本申请实施例还可与云技术中的云计算、云存储等技术结合。其中:
云计算(CloudComputing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务,云计算可为点云编码过程和点云解码过程提供强大的计算支持,这样可以大大提升点云的几何编解码效率。
云存储(Cloud Storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统,云存储可为点云编码阶段和点云解码阶段提供强大的存储支持,这样降低点云在编解码过程中的数据存储压力,进而可以提升数据处理效率。
本申请实施例提供了一种点云数据处理装置,如图8所示,该点云数据处理装置80可以包括:第一获取模块801、第一确定模块802、第一判定模块803以及第一跳过模块804。其中,
第一获取模块801用于获取点云数据的压缩码流;
第一确定模块802用于针对压缩码流中待解码的第一节点,确定与第一节点相关的已解码的第二节点的节点信息;
第一判定模块803用于基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定;
第一跳过模块804用于若基于已解码的第二节点的节点信息,确定不进入针对第一节点的孤立点模式判定,则跳过针对第一节点的孤立点模式判定。
在一种可选的实施方式中,与第一节点相关的第二节点,包括以下至少一种:
第一节点的已解码的父节点;
第一节点的已解码的邻居节点;
父节点所在的已解码的祖父节点;
父节点的已解码的邻居节点;
第一节点的已解码的前序节点。
在一种可选的实施方式中,第一判定模块803在基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定时,具体用于:
基于已解码的第二节点的几何模式信息,确定是否进入针对第一节点的孤立点模式判定。
在一种可选的实施方式中,若第二节点为第一节点的已解码的父节点和父节点所在的已解码的祖父节点至少一种,第二节点的节点信息包括以下至少一项:第二节点所含点云点数、第二节点的占用节点数、第二节点的占用节点分布、第二节点的节点边长。
第一判定模块803在基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定时,具体用于:
基于第二节点所含点云点数与第一阈值的关系,确定是否进入针对第一节点的孤立点模式判定;
基于第二节点的占用节点数与第二阈值的关系,确定是否进入针对第一节点的孤立点模式判定;
基于指定方向和第二节点的占用节点分布,确定是否进入针对指定方向上的至少两个第一节点的孤立点模式判定;
基于第二节点包围盒最大边长与最小边长的比例与第三阈值的关系,确定是否进入针对第一节点的孤立点模式判定;
基于第一节点在父节点中的索引值与预定索引值的关系,确定是否进入针对第一节点的孤立点模式判定。
在一种可选的实施方式中,若第二节点为第一节点的已解码的邻居节点和父节点的已解码的邻居节点中的至少一种;
第一判定模块803在基于已解码的第二节点的节点信息,确定是否进入针对第一节点的孤立点模式判定时,具体用于:
若第一节点与被占用的第二节点处于同方向,或被占用的第二节点的节点数大于第四阈值时,确定进入针对第一节点的孤立点模式判定,否则,确定不进入针对第一节点的孤立点模式判定;
若第二节点的子节点中与第一节点相邻的节点被占用,确定不进入针对第一节点的孤立点模式判定;
若第二节点的子节点中与第一节点相邻的节点被占用且非孤立点模式,确定不进入针对第一节点的孤立点模式判定;
基于第二节点的子节点中孤立点的比例与第五阈值的关系,确定是否进入针对第一节点的孤立点模式判定;
基于第二节点中与第一节点距离最近的孤立点和第一节点的距离与第六阈值的关系,确定是否进入针对第一节点的孤立点模式判定。
在一种可选的实施方式中,若第二节点为第一节点的前序节点,第二节点的节点信息包括以下至少一项:
第一预定数量的非空前序节点所对应的空节点的个数;
前序节点中采用孤立点模式的节点个数;
前序节点中子节点占用数为第二预定数量的节点个数。
在一种可选的实施方式中,该点云数据处理装置80还包括:第一进入模块805,用于:
若第一节点为预设间隔所对应的节点,则进入针对第一节点的孤立点模式判定。
在一种可选的实施方式中,该点云数据处理装置80还包括:解码模块806,第一进入模块805确定第一节点采用孤立点模式之后,用于:
基于以下至少一种方式来确定参考节点,并基于参考节点来解析几何残差值,几何残差值用于对第一节点进行解码处理:
顺序最近的八叉树占位码为1的节点;
第一节点的包围盒信息和层级信息中至少一种;
顺序最近的已解码孤立点;
同层已解码孤立点。
在一种可选的实施方式中,第一判定模块803还用于以下至少一项:
确定是否进入针对第一节点的预定几何模式判定,不采用第二节点中采用孤立点模式的节点作为参考节点;
若基于第二节点中存在采用孤立点模式的节点,不进入针对第一节点的预定几何模式判定。
在一种可选的实施方式中,在第一获取模块801用于获取点云数据的压缩码流之后,第一确定模块802还用于:
在点云数据、分片层、宏块层和八叉树层级中的至少一种层次中,通过以下至少一项,确定点云数据是否采用几何模式;
是否采用默认模式;
从参数集中或者压缩码流中解析出的模式信息;
基于采用的默认参数信息确定的对应模式信息;
从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
在一种可选的实施方式中,参数信息包括以下至少一种:
宏块划分时是否有预测树邻居节点;
宏块划分时的密度;
层级节点的包围盒信息;
层级阈值范围;
层级节点的数量;
基于所含点云点数与第三预定数量的关系确定的层级节点的数量。
本申请实施例还提供了一种点云数据处理装置,如图9所示,该点云数据处理装置90可以包括:第二获取模块901、第二确定模块902、第二判定模块903以及第二跳过模块904。
第二获取模块901用于获取待编码的点云数据;
第二确定模块902用于针对点云数据中待编码的第四节点,确定与第四节点相关的已编码的第五节点的节点信息;
第二判定模块903用于基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定;
第二跳过模块904用于若基于已编码的第五节点的节点信息,确定不进入针对第四节点的孤立点模式,则跳过针对第四节点的孤立点模式判定。
在一种可选的实施方式中,与第四节点相关的第五节点,包括以下至少一种:
第四节点的已编码的父节点;
第四节点的已编码的邻居节点;
父节点所在的已编码的祖父节点;
父节点的已编码的邻居节点;
第四节点的已编码的前序节点。
在一种可选的实施方式中,第二判定模块903在用于基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定时,具体用于:
基于已编码的第五节点的几何模式信息,确定是否进入针对第四节点的孤立点模式判定。
在一种可选的实施方式中,若第五节点为第四节点的已编码的父节点和父节点的已编码的邻居节点中至少一种,第五节点的节点信息包括以下至少一项:第五节点所含点云点数、第五节点的占用节点数、第五节点的占用节点分布、第五节点的节点边长。
第二判定模块903在用于基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定时,具体用于以下至少一项:
基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定,包括以下至少一种方式:
基于第五节点所含点云点数与第一阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第五节点的占用节点数与第二阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于指定方向和第五节点的占用节点分布,确定是否进入针对指定方向上的至少两个第四节点的孤立点模式判定;
基于第五节点包围盒最大边长与最小边长的比例与第三阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第一节点在父节点中的索引值与预定索引值的关系,确定是否进入针对第四节点的孤立点模式判定。
在一种可选的实施方式中,若第五节点为第四节点的已编码的邻居节点和父节点的已编码的邻居节点中的至少一种,第二判定模块903在用于基于已编码的第五节点的节点信息,确定是否进入针对第四节点的孤立点模式判定时,具体用于:
若第四节点与被占用的第五节点处于同方向,或被占用的第五节点的节点数大于第四阈值时,确定进入针对第四节点的孤立点模式判定,否则,确定不进入针对第四节点的孤立点模式判定;
若第五节点的子节点中与第四节点相邻的节点被占用,确定不进入针对第四节点的孤立点模式判定;
若第五节点的子节点中与第四节点相邻的节点被占用且非孤立点模式,确定不进入针对第四节点的孤立点模式判定;
基于第五节点的子节点中孤立点的比例与第五阈值的关系,确定是否进入针对第四节点的孤立点模式判定;
基于第五节点中与第四节点距离最近的孤立点和第四节点的距离与第六阈值的关系,确定是否进入针对第四节点的孤立点模式判定。
在一种可选的实施方式中,若第五节点为第四节点的前序节点,第五节点的节点信息包括以下至少一项:
第一预定数量的非空前序节点所对应的空节点的个数;
前序节点中采用孤立点模式的节点个数;
前序节点中子节点占用数为第二预定数量的节点个数。
在一种可选的实施方式中,该点云数据处理装置90还包括:第二进入模块905,用于:
若第四节点为预设间隔所对应的节点,则进入针对第四节点的孤立点模式判定。
在一种可选的实施方式中,该点云数据处理装置90还包括:编码模块906,第二进入模块905确定第四节点采用孤立点模式之后,用于:
基于以下至少一种方式来确定参考节点,并基于参考节点来解析几何残差值,几何残差值用于对第四节点进行编码处理:
顺序最近的八叉树占位码为1的节点;
第四节点的包围盒信息和层级信息中至少一种;
顺序最近的已编码孤立点;
同层已编码孤立点。
在一种可选的实施方式中,第二判定模块903还用于以下至少一项:
确定是否进入针对第四节点的预定几何模式判定,不采用第二节点中采用孤立点模式的节点作为参考节点;
若基于第五节点中存在采用孤立点模式的节点,不进入针对第四节点的预定几何模式判定。
在一种可选的实施方式中,在第二获取模块901用于获取点云数据的压缩码流之后,第二确定模块902还用于:
在点云数据、分片层、宏块层和八叉树层级中的至少一种层次中,通过以下至少一项,确定点云数据是否采用几何模式;
是否采用默认模式;
从参数集中或者压缩码流中解析出的模式信息;
基于采用的默认参数信息确定的对应模式信息;
从参数集中或者压缩码流中解析出的参数信息确定的对应模式信息。
在一种可选的实施方式中,参数信息包括以下至少一种:宏块划分时是否有预测树邻居节点;宏块划分时的密度;层级节点的包围盒信息;层级阈值范围;层级节点的数量;基于所含点云点数与第三预定数量的关系确定的层级节点的数量。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现各方法实施例的步骤。可选地,电子设备可以是指图2所示的点云数据处理系统20中的解码设备202,或者电子设备可以是指图2所示的点云数据处理系统20中的编码设备201。
在一个可选实施例中提供了一种电子设备,如图10所示,图10所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (17)
1.一种点云数据处理方法,其特征在于,包括:
获取点云数据的压缩码流;
针对所述压缩码流中待解码的第一节点,确定与所述第一节点相关的已解码的第二节点的节点信息;
基于所述已解码的第二节点的节点信息,确定是否进入针对所述第一节点的孤立点模式判定;
若基于所述已解码的第二节点的节点信息,确定不进入针对所述第一节点的孤立点模式判定,则跳过针对所述第一节点的孤立点模式判定。
2.根据权利要求1所述的方法,其特征在于,所述与所述第一节点相关的已解码的第二节点,包括以下至少一种:
所述第一节点的已解码的父节点;
所述第一节点的已解码的邻居节点;
所述父节点所在的已解码的祖父节点;
所述父节点的已解码的邻居节点;
所述第一节点的已解码的前序节点。
3.根据权利要求2所述的方法,其特征在于,若所述第二节点为所述第一节点的已解码的父节点和所述父节点所在的已解码的祖父节点至少一种,所述第二节点的节点信息包括以下至少一项:所述第二节点所含点云点数、所述第二节点的占用节点数、所述第二节点的占用节点分布、所述第二节点的节点边长;
所述基于所述已解码的第二节点的节点信息,确定是否进入针对所述第一节点的孤立点模式判定,包括以下至少一种方式:
基于所述第二节点所含点云点数与第一阈值的关系,确定是否进入针对所述第一节点的孤立点模式判定;
基于所述第二节点的占用节点数与第二阈值的关系,确定是否进入针对所述第一节点的孤立点模式判定;
基于指定方向和所述第二节点的占用节点分布,确定是否进入针对所述指定方向上的至少两个第一节点的孤立点模式判定;
基于所述第二节点包围盒最大边长与最小边长的比例与第三阈值的关系,确定是否进入针对所述第一节点的孤立点模式判定;
基于所述第一节点在所述父节点中的索引值与预定索引值的关系,确定是否进入针对所述第一节点的孤立点模式判定。
4.根据权利要求2所述的方法,其特征在于,若所述第二节点为所述第一节点的已解码的邻居节点和所述父节点的已解码的邻居节点中的至少一种;
所述基于所述已解码的第二节点的节点信息,确定是否进入针对所述第一节点的孤立点模式判定,包括以下至少一种方式:
若所述第一节点与被占用的所述第二节点处于同方向,或所述被占用的第二节点的节点数大于第四阈值时,确定进入针对所述第一节点的孤立点模式判定,否则,确定不进入针对所述第一节点的孤立点模式判定;
若所述第二节点的子节点中与所述第一节点相邻的节点被占用,确定不进入针对所述第一节点的孤立点模式判定;
若所述第二节点的子节点中与所述第一节点相邻的节点被占用且非孤立点模式,确定不进入针对所述第一节点的孤立点模式判定;
基于所述第二节点的子节点中孤立点的比例与第五阈值的关系,确定是否进入针对所述第一节点的孤立点模式判定;
基于所述第二节点中与所述第一节点距离最近的孤立点和所述第一节点的距离与第六阈值的关系,确定是否进入针对所述第一节点的孤立点模式判定。
5.根据权利要求2所述的方法,其特征在于,若所述第二节点为所述第一节点的前序节点,所述第二节点的节点信息包括以下至少一项:
第一预定数量的非空前序节点所对应的空节点的个数;
前序节点中采用孤立点模式的节点个数;
前序节点中子节点占用数为第二预定数量的节点个数。
6.根据权利要求2所述的方法,其特征在于,所述基于所述已解码的第二节点的节点信息,确定是否进入针对所述第一节点的孤立点模式判定,包括:
基于所述已解码的第二节点的几何模式信息,确定是否进入针对所述第一节点的孤立点模式判定。
7.根据权利要求2所述的方法,其特征在于,还包括:
若所述第一节点为预设间隔所对应的节点,则进入针对所述第一节点的孤立点模式判定。
8.根据权利要求1-7任一项所述的方法,其特征在于,确定所述第一节点采用孤立点模式之后,还包括:
基于以下至少一种方式来确定参考节点,并基于所述参考节点来解析几何残差值,所述几何残差值用于对所述第一节点进行解码处理:
顺序最近的八叉树占位码为1的节点;
所述第一节点的包围盒信息和层级信息中至少一种;
顺序最近的已解码孤立点;
同层已解码孤立点。
9.根据权利要求1-7任一项所述的方法,其特征在于,还包括以下至少一项:
确定是否进入针对所述第一节点的预定几何模式判定,不采用所述第二节点中采用孤立点模式的节点作为参考节点;
若基于所述第二节点中存在采用孤立点模式的节点,不进入针对所述第一节点的预定几何模式判定。
10.根据权利要求1-7任一项所述的方法,其特征在于,所述获取点云数据的压缩码流之后,还包括:
在所述点云数据、分片层、宏块层和八叉树层级中的至少一种层次中,通过以下至少一项,确定所述点云数据是否采用几何模式;
是否采用默认模式;
从参数集中或者所述压缩码流中解析出的模式信息;
基于采用的默认参数信息确定的对应模式信息;
从参数集中或者所述压缩码流中解析出的参数信息确定的对应模式信息。
11.根据权利要求10所述的方法,其特征在于,所述参数信息包括以下至少一种:
宏块划分时是否有预测树邻居节点;
宏块划分时的密度;
层级节点的包围盒信息;
层级阈值范围;
层级节点的数量;
基于所含点云点数与第三预定数量的关系确定的层级节点的数量。
12.一种点云数据处理方法,其特征在于,包括:
获取待编码的点云数据;
针对所述点云数据中待编码的第四节点,确定与所述第四节点相关的已编码的第五节点的节点信息;
基于所述已编码的第五节点的节点信息,确定是否进入针对所述第四节点的孤立点模式判定;
若基于所述已编码的第五节点的节点信息,确定不进入针对所述第四节点的孤立点模式,则跳过针对所述第四节点的孤立点模式判定。
13.一种点云数据处理装置,其特征在于,包括:
第一获取模块,用于获取点云数据的压缩码流;
第一确定模块,用于针对所述压缩码流中待解码的第一节点,确定与所述第一节点相关的已解码的第二节点的节点信息;
第一判定模块,用于基于所述已解码的第二节点的节点信息,确定是否进入针对所述第一节点的孤立点模式判定;
第一跳过模块,用于若基于所述已解码的第二节点的节点信息,确定不进入针对所述第一节点的孤立点模式判定,则跳过针对所述第一节点的孤立点模式判定。
14.一种点云数据处理装置,其特征在于,包括:
第二获取模块,用于获取待编码的点云数据;
第二确定模块,用于针对所述点云数据中待编码的第四节点,确定与所述第四节点相关的已编码的第五节点的节点信息;
第二判定模块,用于基于所述已编码的第五节点的节点信息,确定是否进入针对所述第四节点的孤立点模式判定;
第二跳过模块,用于若基于所述已编码的第五节点的节点信息,确定不进入针对所述第四节点的孤立点模式,则跳过针对所述第四节点的孤立点模式判定。
15.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-11或权利要求12任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11或权利要求12任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11或权利要求12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615039.3A CN116634179A (zh) | 2023-05-26 | 2023-05-26 | 点云数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615039.3A CN116634179A (zh) | 2023-05-26 | 2023-05-26 | 点云数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116634179A true CN116634179A (zh) | 2023-08-22 |
Family
ID=87636371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310615039.3A Pending CN116634179A (zh) | 2023-05-26 | 2023-05-26 | 点云数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116634179A (zh) |
-
2023
- 2023-05-26 CN CN202310615039.3A patent/CN116634179A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115379190B (zh) | 一种点云处理方法、装置及计算机设备、存储介质 | |
KR102609776B1 (ko) | 포인트 클라우드 데이터 처리 방법 및 장치 | |
KR102634079B1 (ko) | 포인트 클라우드 데이터 처리 장치 및 방법 | |
CN113632142B (zh) | 点云编解码的方法和装置 | |
CN115379191B (zh) | 一种点云解码方法、点云编码方法及相关设备 | |
WO2023241107A1 (zh) | 点云处理方法、装置及计算机设备、存储介质 | |
US11983907B2 (en) | Techniques and apparatus for explicit quad-tree and binary-tree partitioning for geometry coding | |
WO2024124901A1 (zh) | 点云处理方法、装置、设备、介质和程序产品 | |
EP4133728A1 (en) | Trisoup syntax signaling for geometry-based point cloud compression | |
WO2024188009A1 (zh) | 几何模式的确定方法、装置、设备及存储介质 | |
WO2022121650A1 (zh) | 点云属性的预测方法、编码器、解码器及存储介质 | |
CN115086658A (zh) | 点云数据的处理方法、装置、存储介质及编解码设备 | |
WO2023024840A1 (zh) | 点云编解码方法、编码器、解码器及存储介质 | |
WO2022188582A1 (zh) | 点云中邻居点的选择方法、装置及编解码器 | |
US20230412837A1 (en) | Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device | |
CN115100302A (zh) | 点云处理方法、装置、设备以及介质 | |
WO2022109885A1 (zh) | 点云编解码方法、编码器、解码器以及计算机存储介质 | |
CN116634179A (zh) | 点云数据处理方法、装置、电子设备及存储介质 | |
CN115474041B (zh) | 点云属性的预测方法、装置及相关设备 | |
WO2023103564A1 (zh) | 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN116781927A (zh) | 一种点云处理方法及相关设备 | |
WO2024212043A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024212042A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024187380A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024082135A1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092192 Country of ref document: HK |