CN115769269A - 点云属性压缩 - Google Patents

点云属性压缩 Download PDF

Info

Publication number
CN115769269A
CN115769269A CN202180042621.4A CN202180042621A CN115769269A CN 115769269 A CN115769269 A CN 115769269A CN 202180042621 A CN202180042621 A CN 202180042621A CN 115769269 A CN115769269 A CN 115769269A
Authority
CN
China
Prior art keywords
points
point
block
sub
input
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
CN202180042621.4A
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.)
Nanyang Technological University
Original Assignee
Nanyang Technological University
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 Nanyang Technological University filed Critical Nanyang Technological University
Publication of CN115769269A publication Critical patent/CN115769269A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

提供了一种点云属性压缩方法。该方法包括:获取点云的多个3D块,每个3D块包括3D点集合;为多个3D块中的每个3D块生成该3D块的2D属性图像,以获取多个3D块的多个2D属性图像,其中,对于多个3D块中的至少第一3D块,基于第一属性图像生成过程生成该第一3D块的2D属性图像;基于多个3D块的多个2D属性图像生成点云的2D属性图像;基于2D图像编解码对点云的2D属性图像进行压缩,以获取点云的经压缩的2D属性图像。具体地,第一属性图像生成过程包括:点线性化阶段和第一2D空间填充阶段,点线性化阶段用于将输入到该点线性化阶段的输入3D块的3D点集合变换为该输入3D块的1D点序列;第一2D空间填充阶段用于将输入3D块的1D点序列映射到第一2D图像像素网格,以生成输入3D块的2D属性图像。还提供了对应的点云属性压缩系统。

Description

点云属性压缩
本申请要求于2020年9月2日提交的申请号为10202008512Q的新加坡专利申请的优先权,在此出于所有目的通过引用全文将其内容并入本文。
技术领域
本发明总体上涉及用于点云属性压缩的方法和系统,并且更具体地,涉及基于图像的三维(three-dimensional,3D)点云属性压缩。
背景技术
由于光探测和测距(light detection and ranging,LiDAR,或称为激光雷达)技术和摄影测量技术的进步,以及更加平价的3D采集和数字化设备的普及,点云在各种新兴领域逐渐变得热门,上述新兴领域例如但不限于区域内的定位和姿态估计、虚拟现实和增强现实、远程沉浸式通信、文化遗产存档、和自动驾驶等。例如,为了充分表示真实世界的物体或场景的形状和外观,可以由数百万甚至数十亿个点组成点云,其中每一个点都与一组数值坐标(例如,3D坐标)和可能的属性信息(例如,亮度、颜色、表面法线、反射率等)关联。这种数字表示形式会不可避免地产生大量数据。考虑到网络带宽和存储容量的限制,点云压缩因此对于许多3D相关应用具有必要性。
为了减少点云的信息冗余,文献中报告过不同的压缩方法或方案,可以将这些压缩方法或方案大致分为两类:静态点云、动态点云、和动态获取点云的几何压缩和属性压缩。在运动图像专家组(moving pictureexpert group,MPEG)点云压缩标准化的上下文中,静态点云可以是指单个对象/场景(例如,建筑物)的3D表示并且不含任何时间信息的点云;动态点云可以是指捕捉随时间变化的移动的3D对象的位置的一组点云帧;动态获取点云可以是指由光探测和测距传感器捕捉的点云序列,例如装备在自动驾驶车辆上以用于实时感知周围环境的光探测和测距传感器。
对于有效点云属性编解码的设计,与二维(two-dimensional,2D)视觉数据压缩类似的一个重要因素是如何更好地利用3D空间中相邻点之间的空间相关性。这是因为几何上更靠近的点享有相似属性的可能性更高,因此使用传统编码方法可以减少信息冗余。然而,由于数据结构和维度方面的差异,在例如音频、图像、或视频等其他形式内容中使用的成熟编解码通常无法直接应用于3D点云。因此,已设计出相当多的专门针对点云数据的属性压缩算法。在这些算法之中,利用相邻点之间的空间相关性的传统方法是基于使用八叉树或kd树(kd-tree)结构的3D空间分解。例如,引入了一种将点云分割为分层结构并采用基于块的帧内预测方案以提高编码效率的方法。除此之外,还有各种研究将属性视作为图形的信号,并使用图形变换(graph transform,GT)对属性进行压缩。虽然基于GT的方法对于点云属性压缩有效,但其通常需要重复的特征分解,并且在点云稀疏时可能会产生孤立的子图。例如,为了解决这一问题,已经公开了一种使用区域自适应分层变换来压缩点云的方法,该方法具有较低的计算复杂度,但在率失真性能方面稍差。
除了前述的传统方法或方案,还有另一个研究分支试图弥合高维和低维的数据压缩之间的差异。这是基于以下考虑:一维(one-dimensional,1D)和2D压缩已经被广泛研究了几十年,如果可以找到将数据从高维空间转换到低维空间的有效映射样式,则3D点云属性压缩可以受益于这些相对成熟的压缩技术。为此目的,引入了几种基于图像的点云压缩方法。例如,已经公开了一种基于图像的点云压缩方法,使用八叉树构造点云的点,之后以深度优先的顺序将该点云的点线性化为1D点序列。为了获取属性图像,随后根据水平蛇形曲线样式将1D点序列中的点映射到8×8图像像素网格。之后,采用传统图像编解码对获取的属性图像进行压缩。然而,需要注意的是,这种基于图像的点云压缩方法可能会在遍历和映射过程期间引入许多大的跳变,这种大的跳变可能会破坏相邻点之间的空间相关性。近来,提出了另一种基于图像的点云属性压缩方法,通过执行主成分分析将每个点投影到点云边界框的特定平面。在这一方面,使用可移植网络图像(portable network graphic,PNG)和联合图像专家组(joint photographic experts group,JPEG)编解码压缩与深度和红绿蓝(red green blue,RGB)值对应的24个甚至更多的投影图像。虽然这一方法可以更好地利用点之间的空间相关性,但使用全局投影获取的图像通常不够紧凑,可能引入过多的额外信息来进行编码。还提出了一种基于全景图像的点云属性压缩方法。然而,这种方法是专为由某些3D激光测量系统所生成的点云而设计的。
2017年,MPEG发起了针对点云压缩标准化的提案征集,并研发出三种模型类别:用于静态点云的TMC1、用于时变点云的TMC2(也称为基于视频的点云压缩(video-basedpoint cloud compression,V-PCC))、和用于动态获取点云的TMC3。最近,TMC1和TMC3被合并为TMC13并且被称为基于几何的点云压缩(geometry-based point cloud compression,G-PCC)。对于G-PCC,属性编码有两种选择:区域自适应分层变换(region-adaptivehierarchical transform,RAHT)编码器,和基于多细节层次(level-of-details,LOD)的编码器。RAHT编码器基于分层变换和算术编码,而基于LOD的编码器采用基于插值的预测和提升变换方案进行属性压缩。对于V-PCC,还利用复杂的视频编码技术,通过正态估计和聚类将点云分割为块,之后将这些3D块直接投影到2D图像上,从而压缩点云属性。取决于点云的特性,这两种编解码均有各自的优点。根据近来研究的比较分析,V-PCC可能更适合于在3D空间中具有均匀点分布的点云,而对于非均匀点云,G-PCC可能比V-PCC表现更好。一个可能的原因是非均匀点云所表现出的噪声和几何稀疏性可能会影响正态估计的准确性。另外,对于非均匀点云,V-PCC通常需要非常大的投影平面,而这会明显降低编码效率。近来,基于深度学习的方法也被研发用于点云压缩。然而,这些现有方法中的大多数主要集中在几何信息的编码上,不能直接应用到点云属性压缩。
因此,需要提供一种用于点云属性压缩的方法和系统,试图克服或至少改善与传统的用于点云压缩(例如,点云属性压缩)的方法和系统关联的问题,例如但不限于提高点云属性压缩的效率和有效性。在此背景下研发了本发明。
发明内容
根据本发明的第一方面,提供了一种使用至少一个处理器的点云属性压缩方法,该方法包括:
获取点云的多个三维(3D)块,每个3D块包括3D点集合,每个点具有与其关联的对应的属性信息;
为所述多个3D块中的每个3D块生成所述3D块的二维(2D)属性图像,以获取所述多个3D块的多个2D属性图像,其中,对于所述多个3D块中的至少第一3D块,基于第一属性图像生成过程生成所述第一3D块的所述2D属性图像;
基于所述多个3D块的所述多个2D属性图像生成所述点云的2D属性图像;以及
基于2D图像编解码对所述点云的所述2D属性图像进行压缩,以获取所述点云的经压缩的2D属性图像,
其中,所述第一属性图像生成过程包括:
点线性化阶段,用于将输入到所述点线性化阶段的输入3D块的3D点集合变换为所述输入3D块的一维(1D)点序列;以及
第一2D空间填充阶段,用于将所述输入3D块的所述1D点序列映射到第一2D图像像素网格,以生成所述输入3D块的2D属性图像,其中,所述点线性化阶段包括:
将所述输入3D块的所述3D点集合分割为所述输入3D块的所述3D点集合的第一子点集和第二子点集;以及
将所述第一子点集和所述第二子点集中的每个子点集的3D点集合分割为新的第一子点集和新的第二子点集,以替代所述输入3D块的所述3D点集合的所述子点集,其中,对于所述分割所述第一子点集和所述第二子点集中的每个子点集的所述3D点集合,将离所述第一子点集的第一枢轴点最近的所述第二子点集的第一3D点设置为所述第二子点集的第一枢轴点。
根据本发明的第二方面,提供了一种点云属性压缩系统,包括:存储器和至少一个处理器;该至少一个处理器通信连接到该处理器并且用于执行根据上述本发明的第一方面的点云属性压缩方法。
根据本发明的第三方面,提供了一种计算机程序产品,实现在一个或多个非暂时性计算机可读存储介质中,包括可由至少一个处理器运行以执行根据上述本发明的第一方面的点云属性压缩方法。
附图说明
对于本领域普通技术人员来说,从以下仅作为示例的书面描述中以及结合附图,将使本发明的实施例易于理解和显而易见,在附图中:
图1绘出了根据本发明各实施例的点云属性压缩方法的示意性流程图;
图2绘出了根据本发明各实施例的用于点云属性压缩的系统的示意性框图;
图3绘出了根据本发明各实施例的用于实现或实施用于点云属性压缩的系统的示例性计算机系统的示意性框图;
图4A至图4C绘出了公共数据库中的非均匀3D点云的三个示例;
图5绘出了根据本发明各示例实施例的3D点云属性压缩示例方法的示意性流程图;
图6A至图6E示出了根据本发明各示例实施例的示例的超体素生成和块生成;
图7A至图7C绘出了根据本发明各示例实施例的二分图匹配(bipartitematching)和属性图像比较;
图8A至图8F绘出了根据本发明各示例实施例的基于二叉空间分割(binary spacepartition,BSP)的通用遍历方法;
图9示出了根据本发明各示例实施例的不同3D点线性化方法的遍历顺序可视化的若干示例;
图10绘出了根据本发明各示例实施例的混合2D空间填充样式方法的示意性流程图;
图11示出了根据本发明各示例性实施例的点云的两个示例3D块(即分别为第一块(标识为1)和第二块(标识为2))以及分别通过基于等距映射(isometric mapping,IsoMap)和基于空间填充曲线(space-filling curve,SFC)的属性图像生成过程生成的对应的块属性图像;
图12A至图12Q绘出了非均匀3D点云数据集中的示例点云;
图13绘出了示出本基于BSP的通用遍历方法与两种传统遍历方法的效率(对比特率(bit rate,BR)的节省和单位为dB的等效峰值信躁比(peak signal to noise ratio,PSNR)改善)比较的表格(表格I);
图14A至图14C示出了与不同遍历方法关联的不同滞后处的自相关的若干示例;
图15绘出了示出不同空间填充样式的效率(对BR的节省和单位为dB的等效PSNR改善)比较的表格(表格II);
图16A至图16Q绘出了本方法与现有技术的点云属性压缩方法的比较;以及
图17绘出了示出以RAHT编码器结果为基准的与现有技术的方法的效率比较的表格(表格III)。
具体实施方式
本发明各实施例提供了用于点云属性压缩的方法和系统,更具体地,提供了用于基于图像的3D点云属性压缩的方法和系统。如在背景技术中所讨论的,存在与传统的用于点云压缩(例如,点云属性压缩)的方法和系统关联的各种问题,导致上述传统方法和系统尤其是在与非均匀点云压缩相关时效率低和/或无效。因此,本发明各实施例提供了用于点云属性压缩的方法和系统,试图克服或至少改善与传统的用于点云压缩(例如,点云属性压缩)的方法和系统关联的问题,例如但不限于即使在与非均匀点云相关时提高点云属性压缩的效率和有效性。
图1绘出了根据本发明各实施例的使用至少一个处理器的点云属性压缩方法100的示意性流程图。方法100包括:获取(102)点云(即3D点云)的多个3D块,每个3D块包括3D点集合,每个点具有与其关联的对应的属性信息;为多个3D块中的每个3D块生成(104)该3D块的2D属性图像,以获取该多个3D块的多个2D属性图像,其中,对于该多个3D块中的至少第一3D块,基于第一属性图像生成过程生成该第一3D块的2D属性图像;基于该多个3D块的多个2D属性图像生成(106)点云的2D属性图像;基于2D图像编解码对(108)点云的2D属性图像进行压缩,以获取点云的经压缩的2D属性图像。具体地,第一属性图像生成过程包括:点线性化阶段,用于将输入到该点线性化阶段的输入3D块的3D点集合变换为该输入3D块的1D点序列;第一2D空间填充阶段,用于将该输入3D块的1D点序列映射到第一2D图像像素网格,以生成该输入3D块的2D属性图像。此外,该点线性化阶段包括:分割该输入3D块的3D点集合,将其分割为该输入3D块的该3D点集合的第一子点集和第二子点集;分割第一子点集和第二子点集中的每个子点集的3D点集合,将其分割为新的第一子点集和新的第二子点集,以替代该输入3D块的3D点集合的子点集,其中,对于分割第一子点集和第二子点集中的每个子点集的3D点集合,将离第一子点集的第一枢轴点最近的第二子点集的第一3D点设置为第二子点集的第一枢轴点。
因此,点云属性压缩的方法100有利地提高了尤其是在与非均匀点云相关时的点云属性压缩的效率和有效性。对于本领域技术人员来说,随着根据本发明各实施例和示例实施例更详细地描述点云属性压缩方法100以及用于点云属性压缩的对应系统,这些优点或技术效果和/或其他优点或技术效果将变得更为明显。本领域技术人员将理解,本发明不限于任何具体类型的属性信息,并且现有技术中已知的各种类型的点云属性信息(也可以称为点云属性)均在本发明范围内,例如但不限于颜色、亮度、表面法线、反射率等。还将理解的是,点云(并且因此点云的每个点)可以具有与该点云关联的一种或多种类型的属性信息。
在各实施例中,对于上述分割输入3D块的3D点集合,方法100还包括,将离输入3D块的3D点集合的质心最远的输入3D块的3D点集合的第一3D点设置为该输入3D块的3D点集合的第一枢轴点;将离3D点集合的第一枢轴点最远的输入3D块的3D点集合的第二3D点设置为输入3D块的3D点集合的第二枢轴点。具体地,上述分割输入3D块的3D点集合包括:将除第一3D点和第二3D点之外的输入3D块的3D点的每个3D点分配给3D点集合的第一枢轴点和第二枢轴点中的离该3D点最近的枢轴点,以形成第一子点集和第二子点集,第一子点集包括分配给3D点集合的第一枢轴点的3D点,第二子点集包括分配给3D点集合的第二枢轴点的3D点。
在各实施例中,对于上述分割第一子点集和第二子点集中的每个子点集的3D点集合,方法100还包括:将与3D点集合的第一枢轴点对应的第一子点集的第一3D点设置为该第一子点集的第二枢轴点;将离第一子点集的第二枢轴点最远的第一子点集的第二3D点设置为该第一子点集的第一枢轴点;将离第一子点集的第一枢轴点最近的第二子点集的第一3D点设置为第二子点集的第一枢轴点;将离第二子点集的第一枢轴点最远的第二子点集的第二3D点设置为第二子点集的第二枢轴点。
在各实施例中,上述分割第一子点集和第二子点集中的每个子点集的3D点集合包括:将除第一子点集的第一3D点和第二3D点之外的第一子点集的3D点中的每个3D点分配给第一子点集的第一枢轴点和第二枢轴点中离该3D点最近的枢轴点,以形成新的第一子点集和新的第二子点集来替代输入3D块的3D点集合的第一子点集,该新的第一子点集包括分配给第一子点集的第一枢轴点的3D点,新的第二子点集包括分配给第一子点集的第二枢轴点的3D点;将除第二子点集的第一3D点和第二3D点之外的第二子点集的3D点中的每个3D点分配给第二子点集的第一枢轴点和第二枢轴点中离该3D点最近的枢轴点,以形成新的第一子点集和新的第二子点集,新的第一子点集包括分配给第二子点集的第一枢轴点的3D点,新的第二子点集包括分配给第二子点集的第二枢轴点的3D点。
在各实施例中,点线性化阶段还包括,对于输入3D块的3D点集合的每个子点集,迭代地将子点集的3D点集合分割为新的第一子点集和新的第二子点集来替代输入3D块的3D点集合中的子点集,直到所有的子点集中都只有一个3D点,以获取输入3D块的经处理的3D点集合,该经处理的3D点集合包括有序子点集,每个子点集中只有一个3D点。换句话说,只要3D点集合中存在至少一个具有多个3D点的子点集,就将该至少一个子点集中的每个子点集分割为新的第一子点集和新的第二子点集,以替代3D点集合中被分割的对应子点集,直到3D点集合中不存在任何具有多个3D点的子点集。之后,基于输入3D块的经处理的3D点集合生成该输入3D块的1D点序列。
在各实施例中,第一2D图像像素网格包括一系列宏块。在这一点上,第一2D空间填充阶段包括:根据子宏块填充样式,将输入3D块的1D点序列映射到与该一系列宏块关联的子宏块像素槽阵列;根据宏块填充样式将子宏块映射到该一系列宏块。具体地,子宏块填充样式和宏块填充样式是不同的空间填充样式。
在各实施例中,子宏块填充样式是水平蛇形曲线填充样式,宏块填充样式是希尔伯特(Hilbert)曲线填充样式。
在各实施例中,一系列宏块中的每个宏块具有大小为4×4的子宏块,每个子宏块的像素槽阵列具有大小为4×4的像素槽。
在各实施例中,上述为多个3D块中的每个3D块生成(104)3D块的2D属性图像包括:选择多个属性图像生成过程中的一个以生成3D块的2D属性图像,多个属性图像生成过程包括第一属性图像生成过程和第二属性图像生成过程;基于所选择的属性图像生成过程生成3D块的2D属性图像。
在各实施例中,上述选择多个属性图像生成过程中的一个以生成3D块的2D属性图像基于3D块的3D点集合的均匀度水平。
在各实施例中,上述选择多个属性图像生成过程中的一个以生成3D块的2D属性图像包括:如果确定3D块的3D点集合满足与均匀度水平相关的预定条件,则选择第二属性图像生成过程生成3D块的2D属性图像,如果确定3D块的3D点集合不满足与均匀度水平相关的预定条件,则选择第一属性图像生成过程生成3D块的2D属性图像。
在各实施例中,如果与将3D块的3D点集合嵌入到2D空间关联的重建误差小于预定误差阈值,确定3D块的3D点集合满足与均匀度水平相关的预定条件,如果与将3D块的3D点集合嵌入到2D空间关联的重建误差大于预定误差阈值,则确定3D块的3D点集合不满足与均匀度水平相关的预定条件。
在各实施例中,对于多个3D块中的至少第二3D块,基于第二属性图像生成过程生成第二3D块的2D属性图像。具体地,第二属性图像生成过程包括:降维阶段,用于将输入到降维阶段的输入3D块的3D点集合变换为该输入3D块的2D点集合(例如,变换为2D块);第二2D空间填充阶段,用于将输入3D块的2D点集合映射到第二2D图像像素网格以生成输入3D块的2D属性图像。
在各实施例中,第二2D空间填充阶段包括:基于使输入3D块的2D点集合的成对距离与被映射到第二2D图像像素网格的2D点集合的对应的成对距离之间的误差最小化,将输入3D块的2D点集合的每个2D点映射到第二2D图像像素网格的相应像素槽。
在各实施例中,第二2D空间填充阶段还包括:将一个或多个额外2D点添加到在所述将输入3D块的2D点集合的每个2D点映射到第二2D图像像素网格的相应像素槽之后,第二2D图像像素网格中剩余的一个或多个未填充像素槽。
在各实施例中,第二2D空间填充阶段还包括:确定离输入3D块的2D点集合的中心最远的输入3D块的2D点集合的第一2D点;将一个或多个额外2D点配置为分别具有与该一个或多个额外2D点关联的属性信息,该属性信息与关联于第一2D点的属性信息相同。
在各实施例中,方法100还包括:将经压缩的点云的2D属性图像和经压缩的点云的2D属性图像的辅助信息组合,该辅助信息包括属性图像生成类型信息,该属性图像生成类型信息指示多个3D块中的每个3D块所应用以生成3D块的2D属性图像的属性图像生成过程的类型。
图2绘出了根据本发明各实施例的用于点云属性压缩的系统200的示意性框图,该系统200对应于上文中参考图1描述的根据本发明各实施例的点云属性压缩方法100。系统200包括:存储器202和至少一个处理器204,至少一个处理器204通信耦合到存储器202并且用于执行在本文中根据本发明各实施例描述的点云属性压缩方法100。因此,在各实施例中,至少一个处理器204用于:获取点云的多个3D块,每个3D块包括3D点集合,每个点具有与其关联的对应的属性信息;为多个3D块中的每个3D块生成该3D块的2D属性图像,以获取该多个3D块的多个2D属性图像,其中,对于该多个3D块中的至少第一3D块,基于第一属性图像生成过程生成该第一3D块的2D属性图像;基于该多个3D块的多个2D属性图像生成点云的2D属性图像;基于2D图像编解码压缩点云的2D属性图像,以获取点云的经压缩的2D属性图像。如上文中描述的,第一属性图像生成过程包括:点线性化阶段,用于将输入到该点线性化阶段的输入3D块的3D点集合变换为该输入3D块的1D点序列;第一2D空间填充阶段,用于将输入3D块的1D点序列映射到第一2D图像像素网格,以生成该输入3D块的2D属性图像。具体地,点线性化阶段包括:将输入3D块的3D点集合分割为该输入3D块的3D点集合的第一子点集和第二子点集;对于第一子点集和第二子点集中的每个子点集,将子点集的3D点集合分割为新的第一子点集和新的第二子点集,以替代该输入3D块的3D点集合的子点集,其中,对于分割第一子点集和第二子点集中的每个子点集的3D点集合,将离第一子点集中的第一枢轴点最近的第二子点集的第一3D点设置为第二子点集的第一枢轴点。
本领域技术人员将理解,通过可由至少一个处理器204运行以执行各种功能或操作的指令集(例如,软件模块),至少一个处理器204可用于执行各种功能或操作。因此,如图2所示,系统200可以包括点云块模块(或点云块电路)206、第一2D属性图像生成模块(或第一2D属性图像生成电路)208、第二2D属性图像生成模块(或第二2D属性图像生成电路)210、和2D属性图像压缩模块(或2D属性图像压缩电路)212,点云块模块(或点云块电路)206用于执行获取点云的多个3D块,每个3D块包括3D点集合,每个点具有与该点关联的对应的属性信息;第一2D属性图像生成模块(或第一2D属性图像生成电路)208用于为多个3D块中的每个3D块生成该3D块的2D属性图像,以获取该多个3D块的多个2D属性图像,其中,对于该多个3D块中的至少第一3D块,基于第一属性图像生成过程生成该第一3D块的2D属性图像;第二2D属性图像生成模块(或第二2D属性图像生成电路)210用于基于该多个3D块的多个2D属性图像生成点云的2D属性图像;2D属性图像压缩模块(或2D属性压缩电路)212用于基于2D图像编解码压缩点云的2D属性图像,以获取点云的经压缩的2D属性图像。
本领域技术人员将理解,上述模块不一定是单独的模块,一个或多个模块可以根据需要或者在适当时通过一个功能模块(例如,电路或软件程序)实现或实施而不偏离本发明范围。例如,点云块模块206、第一2D属性图像生成模块208、第二2D属性图像生成模块210、和2D属性图像压缩模块212中的两个或两个以上可以实现(例如,一起编译)为一个可运行的软件程序(例如,软件应用程序或简称为“app”),例如,该可执行软件程序可以存储在存储器202中并且可根据本发明各实施例由至少一个处理器204运行以执行本文中所描述的各种功能/操作。
在各实施例中,用于点云属性压缩的系统200与上文中参考图1描述的点云属性压缩方法100对应,因此,用于由至少一个处理器204执行的各种功能或操作可以对应于在本文中根据各实施例描述的点云属性压缩方法100的各个步骤或操作,因此为了简洁扼要,无需针对用于点云属性压缩的系统200进行重复。换句话说,本文中在方法的上下文中描述的各个实施例对于对应的系统也有效,反之亦然。
例如,在各实施例中,存储器202可以在其中存储点云块模块206、第一2D属性图像生成模块208、第二2D属性图像生成模块210、和/或2D属性图像压缩模块212,这些模块相应地对应于在本文中根据各实施例描述的点云属性压缩方法100的各个步骤(或操作或功能),这些步骤可由至少一个处理器204运行以执行如本文中描述的对应的功能/操作。
根据本公开中的各实施例,可以提供计算系统、控制器、微控制器、或任何其他提供处理能力的系统。可以认为这种系统包括一个或多个处理器和一个或多个计算机可读存储介质。例如,上文中描述的用于点云属性压缩的系统200可以包括处理器(或控制器)204和计算机可读存储介质(或存储器)202,例如,以用于在如本文中描述的所执行的各种处理中使用。在各实施例中使用的存储器或计算机可读存储介质可以是易失性存储器、非易失性存储器、或闪存,易失性存储器例如动态随机存取存储器(dynamic random accessmemory,DRAM),非易失性存储器例如可编程只读存储器(programmable read onlymemory,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦ROM(electrically erasablePROM,EEPROM),闪存例如浮栅存储器、电荷俘获存储器、磁阻随机存取存储器(magnetoresistive random access memory,MRAM)、或相变随机存取存储器(phasechange random access memory,PCRAM)。
在各实施例中,可以将“电路”理解为任何类别的逻辑实现实体,电路可以是专用电路或运行存储在存储器、固件、或以上任何组合中的软件的处理器。因此,在一个实施例中,“电路”可以是硬连线逻辑电路或例如可编程处理器的可编程逻辑电路,可编程处理器例如微处理器(例如,复杂指令集计算机(complex instruction set computer,CISC)处理器或精简指令集(reduced instruction set computer,RISC)计算机)。“电路”也可以是运行软件的处理器,软件例如任何类别的计算机程序,例如,使用虚拟机代码的计算机程序(例如,Java)。相应功能的任何其他类别的实施方式也可以理解为根据各实施例的“电路”。类似地,“模块”可以是根据各实施例的系统的一部分并且可以包括上文中所描述的“电路”,或者可以被理解为任何类别的逻辑实现实体。
本公开的一些部分以算法和对计算机存储器内的数据的操作的功能或符号表示来明确或隐含地呈现。这些算法描述和功能或符号表示是数据处理领域的技术人员用来最有效地将他们的实质工作内容传达给本领域的其他技术人员的手段。本文中(以及通常地)认为算法是取得期望结果的步骤的自恰序列。这些步骤是需要对物理量进行物理操作的步骤,例如能够被存储、传输、组合、比较、和以其他方式操作的电、磁、或光信号。
除非另有明确说明,并且从下文中显而易见,应理解在整个本说明书中,使用诸如“获取”、“生产”、“生成”、“压缩”、“变换”、“映射”、“分割”、“设置”、“分配”、“选择”、“确定”、“添加”、“配置”、“编码”等术语的描述或讨论是指计算机系统或类似的电子设备的动作和过程,将计算机系统内的表示为物理量的数据操作并变换为计算机系统内或其他信息存储、传输、或显示设备内的类似表示为物理量的其他数据。
本说明书还公开了用于执行本文中描述的各方法的各个操作/功能的系统(例如,该系统也可以实现为设备或装置),例如用于点云属性压缩的系统200。这种系统可以为所需目的而专门构建,或者可以包括通用计算机或由存储在计算机中的计算机程序选择性地激活或重新配置的其他设备。本文中提出的算法与任何特定计算机或其他设备没有内在相关。根据本文的教导,各种通用机器可以与计算机程序一起使用。或者,构建更专业的装置来执行各个方法步骤可能是合适的。
此外,本说明书还至少隐含地公开了一种计算机程序或软件/功能模块,从而对于本领域技术人员来说显而易见的是可以通过计算机代码实现本文中描述的各方法的各个步骤。计算机程序无意限于任何具体的编程语言及其实现方式。应当理解,可以使用各种编程语言及其编码来实现本文中包含的本公开的教导。此外,计算机程序无意限于任何具体的控制流。计算机程序有许多其他变体,这些变体可以在不脱离本发明范围的情况下使用不同的控制流。本领域技术人员将理解,本文中描述的各个模块(例如,点云块模块206、第一2D属性图像生成模块208、第二2D属性图像生成模块210、和/或2D属性图像压缩模块212)可以是由可由计算机处理器运行以执行所需功能的计算机程序或者指令集实现的软件模块,或者是被设计为执行所需功能的功能硬件单元的硬件模块。还将理解,可以实现硬件和软件模块的组合。
此外,本文中描述的计算机程序/模块或方法的一个或多个步骤可以并行执行而不是依次执行。这种计算机程序可以存储在任何计算机可读介质上。计算机可读介质可以包括例如磁盘或光盘、存储器芯片的存储设备或者适合与通用计算机接口的其他存储设备。当计算机程序在这种通用计算机上被加载和运行时,有效产生了一种实现本文中所描述方法的步骤的装置。
在各实施例中,提供了实现在一个或多个计算机可读存储介质(非暂时性计算机可读存储介质)中的计算机程序产品,包括指令(例如,点云块模块206、第一2D属性图像生成模块208、第二2D属性图像生成模块210、和/或2D属性图像压缩模块212),该指令可由一个或多个计算机处理器运行以执行本文中参考图1描述的根据各实施例的点云属性压缩方法100。因此,本文中描述的各计算机程序或模块可以存储在计算机程序产品中,该计算机程序产品可由其中的系统接收,例如,图2所示的用于点云属性压缩的系统200,以用于由系统200的至少一个处理器204运行以执行各个功能。
本文中描述的软件或功能模块也可以实现为硬件模块。更具体地,在硬件意义上,模块是被设计用于与其他组件或模块一起使用的功能硬件单元。例如,可以使用分立的电子组件实现模块,或者可以使模块形成为整个电子电路(例如,专用集成电路(applicationspecific integrated circuit,ASIC))的一部分。存在许多其他可能性。本领域技术人员将理解,本文中描述的软件或功能模块也可以实现为硬件和软件模块的组合。
在各实施例中,用于点云属性压缩的系统200可以由包括至少一个处理器和存储器的任何计算机系统(例如,台式或便携式计算机系统)实现,例如由仅作为示例而非限制的在图3中示意性示出的计算机系统300实现。各个方法/步骤或功能模块可以被实现为软件(例如,在计算机系统300内运行的计算机程序),并指示计算机系统300(具体地,本文中的一个或多个处理器)执行本文中根据各实施例描述的各个功能或操作。计算机系统300可以包括计算机模块302、例如键盘和/或触摸屏304和鼠标306的输入模块、以及例如显示器308和打印机310的多个输出设备。计算机模块302可以经由适合的收发器设备314连接到计算机网络312,以访问例如互联网或者例如局域网(local area network,LAN)或广域网(wide area network,WAN)的其他网络系统。示例中的计算机模块302可以包括用于运行各种指令的处理器318、随机存取存储器(random access memory,RAM)320、和只读存储器(random access memory,ROM)322。计算机模块302还可以包括一定数量的输入/输出(input/output,I/O)接口,例如到显示器308的I/O接口324和到键盘304的I/O接口326。计算机模块302的组件通常以相关领域技术人员已知的方式经由互连总线328进行通信。
本领域技术人员将理解,本文中使用的术语仅出于描述各个实施例的目的,无意限制本发明。除非上下文中另有明确指示,如在本文中所使用的,单数形式“一个”和“所述”旨在也包括复数形式。还应理解,当在本说明书中使用术语“包括”时,指明存在已说明的特征、整数、步骤、操作、元件、和/或组件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件、和/或它们的组合。
除非另有说明或上下文另有要求,本文中任何提及的对元件或特征使用的例如“第一”、“第二”等标号并不限制这种元件或特征的数量或顺序。例如,可以将这种标号作为区分两个或多个元件或元件实例的简便方式在本文中使用。因此,提及第一和第二元件并不意味着只能采用两个元件,或者第一元件必须在第二元件之前。此外,提及一列项中的“至少一个”的短语是指其中的任何单个项或其中的两个或多个项的任何组合。
为了使本发明易于理解和付诸实践,下文中将仅通过示例而非限制的方式描述本发明的各个示例性实施例。然而,本领域技术人员将理解,本发明可以以各种不同的形式或配置来实施,并且不应被解释为限于下文中所述的示例实施例。相反,提供这些示例实施例是为了使本公开彻底和完整,并且向本领域技术人员充分传达本发明的范围。
根据本发明各示例实施例,本发明各示例实施例提供了一种使用两阶段维度变换的基于图像的3D点云属性压缩方法(在本文中称为本方法,例如,对应于上文中根据各实施例描述的点云属性压缩方法100)。
例如,3D扫描设备的广泛可用性和不断增长的3D应用正在以空前的速度生成越来越多的点云数据,对于高效且经济的数据存储、传输、和处理提出了巨大挑战。为了使这种情况有所缓解,针对点云数据定制了各种编解码。然而,由于数据点的结构不规则性和较高的空间维数所引起的困难,这些编解码的压缩效率仍然远不能令人满意。因此,本发明各示例实施例提供了基于图像的静态点云属性压缩的方法。本方法提供两个属性图像生成过程(或方案),即第一属性图像生成过程(或在本文中简称为第一过程或方案,例如,对应于上文中根据各实施例描述的第一属性图像生成过程)和第二属性图像生成过程(或在本文中简称为第二过程或方案,例如,对应于上文中根据各实施例描述的第二属性图像生成过程),以在保留相邻点之间的空间相关性的同时将3D点云的属性(即属性信息)映射到图像像素网格中。
在各示例实施例中,对于第一属性图像生成过程,使用基于BSP的通用遍历方法(或算法)将无序3D点线性化为1D点序列(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的点线性化阶段),并且通过根据混合空间填充样式将1D点序列映射到2D网格结构布局上来获取合成的属性图像(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的第一2D空间填充阶段)。在各示例实施例中,对于第二属性图像生成过程,首先使用基于IsoMap的降维方法将3D空间中的点变换到2D(例如,对应于上文中根据各实施例描述的第二属性图像生成过程的降维阶段),之后将获取的2D点云紧凑排布到图像像素网格(例如,对应于上文中根据各实施例描述的第二属性图像生成过程的第二2D空间填充阶段)。在各示例实施例中,提供了模式选择模块,以自适应地选择最适合或更适合于点云的每个块(3D块)的属性图像生成过程。由此,可以通过利用例如但不限于JPEG和WebP的本领域中成熟或传统的图像编解码(例如,对应于上文中根据各实施例描述的2D图像编解码)实现有效的点云属性压缩。在这一点上,标准公共数据集上的实验结果说明了即使在处理非均匀点云时,本方法在点云属性压缩中的效率和有效性,这将在下文中根据本发明各示例实施例进行讨论。
如在背景技术中所讨论的,具有与传统的点云压缩(例如,点云属性压缩)的方法和系统关联的各种问题,导致上述传统方法和系统尤其是在与非均匀点云压缩相关时的效率低和/或无效。
例如,对于基于图像的点云属性压缩,传统方法可以使用基于树结构的两阶段映射范式或单阶段3D到2D映射范式。对于基于树结构的两阶段映射范式,首先使用基于八叉树的深度优先遍历将点云的3D点线性化为1D点序列,之后按照特定的空间填充样式映射到图像像素网格。然而,基于这种范式的方法的性能明显滞后于例如G-PCC的现有技术的点云属性编解码。对于单阶段3D到2D映射范例,通过执行正态估计将3D点直接投影到其对应的投影平面,之后将这些平面进行处理并打包在一起,以生成用于压缩的合成图像。基于这种范例的编解码(例如,V-PCC)可能在均匀点云上表现良好,但在非均匀点云下会出现明显的性能下降。在各示例实施例中,为了使这种情况有所缓解,本方法采用了具有一定数量组件的两阶段映射范式,在处理非均匀3D点云方面优于传统方法。
尽管基于树结构(例如,八叉树、k-d树)的传统深度优先遍历方案可以很好地维持空间相关性的很大一部分,但也可能会引入由点云的固有结构和遍历样式导致的许多不可避免的大的跳变。相反,各示例实施例提供了用于3D点线性化的基于BSP的通用遍历过程,该过程采用启发式策略,通过将给定的点集迭代地分割为1D点序列来保留点的内在一致性。与基于八叉树的深度优先遍历和基于3D Hilbert空间填充曲线遍历相比,本方法的基于BSP的通用遍历过程有利地最小化了点线性化过程期间大的跳变的数量(例如,明显减少了大的跳变),因此实现了明显的压缩性能增益。
为了获取用于属性压缩的紧凑图像,使用空间填充样式将通过点线性化方法获取的1D点序列映射到2D布局(2D图像像素网格)上。实现这一点的简单方式可以是根据常用SFC样式(例如,之字折线(zigzag)、Z阶(Z-order)、皮亚诺(Peano)等)之一将1D流中的每个点依次分配到预定义图像画布中该点对应的像素网格。然而,各示例实施例表明,这些简单方案要么容易在映射过程期间破坏点的一致性,要么无法完全发挥出先进图像编解码的块内预测的优点。为了解决这一问题,在各示例实施例中提供了上述用于点云属性图像生成的混合空间填充曲线,有利地发现与现有空间填充方案相比,该曲线能够很好地维持子宏块中的属性相关性以及相邻宏块之间的属性相关性。
各示例实施例表明,由于具有高属性方差(attribute variance)的点云的内在一致性相对较弱,使用上述两阶段变换范式(即3D-1D-2D)的点云编解码通常适用于具有高属性方差的点云。然而,各示例实施例表明,具有特定纹理样式的点云可能无法在线性化和空间填充过程期间很好地保持空间相关性。在这一点上,对于具有高属性方差或被认为足够均匀的点云,尤其是对于点云中具有高属性方差或被认为足够均匀的3D块,各示例实施例提供了上述基于IsoMap的点云属性图像生成方法,以将这种3D块中的每个3D块的维度从3D降低到2D,之后通过保距(distance-preserving)放置方法将变换后的2D点紧凑地排布到相应的2D图像像素网格,有利地发现上述基于IsoMap的点云属性图像生成方法能更好地保持相邻点之间的空间相关性。
各示例实施例表明,如何将点云分割成细密的块是可能影响编码效率的重要因素。例如,V-PCC根据点的估计法线将点云分割成块,并将获取的所有2D块打包到一个图像中进行压缩。然而,V-PCC通常会引入过多需要编码的额外信息,并且很可能会破坏相邻块之间的一致性。此外,由于非均匀点云通常需要非常大的投影平面,并且噪声和稀疏性可能会影响法线估计的准确性,因此该方法对于非均匀点云的属性压缩效率非常低。各示例实施例试图通过研发均匀3D块生成和块属性图像组合的方法来解决这一问题。通过这种统一的设置或配置,可以高效地生成点云的2D属性图像,并且可以很好地维持相邻块之间的空间相关性。在各示例实施例中,提供了属性图像生成过程模式(或类型)选择模块,以自适应地选择最适合或更适合于点云的每个3D块的属性图像生成过程,已发现该属性图像生成过程模式(或类型)选择模块可以提高非均匀点云的属性编码效率。
因此,本发明各示例实施例侧重于静态点云的属性压缩,尤其是那些表现出几何稀疏性、噪声、和不规则点分布的点云(在文本中可统称为非均匀点云,如仅作为示例的图4A至图4C所示),这提出了独特的挑战并且没有被传统研究充分解决。具体地,出于说明的目的,图4A至图4C绘出了三个公共数据库中的非均匀3D点云的示例,每个示例示出了点云的放大非均匀部分。在这一点上,各示例实施例表明,由于在实践中原始点云通常是非均匀的,因此非均匀点云的有效压缩非常实用。根据各示例实施例,可以基于3D点集合是否满足预定的条件或标准,例如,如之后将在下文中描述的,与将3D块的3D点集合嵌入2D空间关联的重建误差是否小于或大于预定误差阈值,确定是否认为点云的3D块的3D点集合是均匀的或非均匀的。
因此,各示例实施例利用了现有先进的2D视觉数据压缩技术并且实现了基于图像的非均匀3D点云的属性压缩。各示例实施例并非在所有情况下直接将3D点块映射到2D属性图像,而是采用两阶段维度变换范式(在本文中可称为阶段I和阶段II),并引入上述两种可能类型的属性图像生成过程(或方案)以通过将点云的点映射到2D图像像素网格来为给定的点云生成合成的属性图像。对于第一属性图像生成过程,在阶段I中将3D点变换为1D点序列,之后在阶段II中将该1D点序列映射到2D图像像素网格(即2D网格结构布局,每个网格位对应于一个像素)。对于第二属性图像生成过程,在阶段I中使用IsoMap将3D点转换为2D点云,IsoMap是一种基于由加权邻域图施加的测地距离来估计数据点集合的固有维度的非线性降维技术,并且之后在阶段II中基于保距点放置技术将获取的2D点分配给对应的像素位置。在各示例实施例中,根据3D块的几何特征(例如,基于3D块的3D点集的均匀度水平),为点云的每个3D块自适应地选择这两种类型的属性图像生成过程。
因此,在各示例实施例中,在点云属性压缩方法中有利地提供了基于IsoMap的属性图像生成技术、基于BSP的通用遍历技术、和混合2D空间填充样式技术。例如,提供了基于IsoMap的属性图像生成技术,以在3D到2D变换过程期间保留点之间的内在一致性,并且提高点云属性压缩的效率。例如,提供了基于BSP的通用遍历技术以线性化点云的3D点,这比使用传统遍历方法更好地保持了3D点的空间相关性。提供了混合2D空间填充样式技术以将获取的1D点序列映射到2D图像像素网格,这在消除冗余方面更有效,因此实现了比用于属性图像合成的现有空间填充技术更高的编码效率。
根据各示例实施例,为了更好地理解,将在下文中描述本方法的示例方法概述、点云超体素和块生成的示例过程、以及上述两种类型(例如,模式)的属性图像生成的示例过程,之后是实验结果和分析。
方法概述与点云预处理
本方法的示例概述
图5绘出了根据各示例实施例的3D点云属性压缩示例方法的示意性流程图(例如,对应于上文中根据各实施例描述的点云属性压缩方法100)。如图5所示,该方法可以包括三个组成部分或主要阶段,即(1)点云预处理、(2)两阶段维度变换、和(3)辅助信息和图像压缩。
在点云预处理中,使用根据本发明各示例实施例的块生成方法,将给定的3D点云处理或分割为一系列基本单元,即块(3D块)。在这一点上,可以根据每个块的几何结构复杂度将其分类为可变换块或不可变换块以供进一步处理。在各示例实施例中,可以基于块的3D点集合的均匀度水平将块分类为可变换的或不可变换的(或非可变换的)。例如,如果确定块的3D点集合是均匀的(或足够均匀的),则可以将块分类为可变换的,如果确定块的3D点集合是非均匀的(或不够均匀的),则可以将块分类为不可变换的。
在两阶段维度变换中,基于两种可能类型(或模式)的属性图像生成(attributeimage generation,AIG)过程或方案(即,上述基于IsoMap的属性图像生成过程和上述基于混合2D空间填充曲线(SFC)的属性图像生成过程)应用两阶段维度变换技术,以分别合成获取的可变换块和不可变换块的属性图像。对于基于IsoMap的属性图像生成过程,在阶段I中使用基于IsoMap的降维技术将可变换的3D块转换或变换为2D点云,之后可以在阶段II中通过基于二分图匹配技术(或算法)将经变换的2D点分配到图像像素网格(2D图像像素网格)来合成属性图像。另一方面,对于基于SFC的属性图像生成过程,在阶段I中根据各示例实施例使用基于BSP的通用遍历算法将不可变换块的3D点线性化为1D点序列,之后在阶段II中根据各示例实施例使用混合空间填充样式将不可变换块的1D点序列映射到图像像素网格。
在辅助信息和图像压缩中,通过将点云的块的所有2D属性图像组合在一起,将得到或生成整个点云的2D属性图像,同时保持相邻块之间的空间相关性。在这一点上,在各示例实施例中,可以将关联于点云的块生成(即点云的3D块的生成)的辅助信息进行存储,以使点云的2D属性图像的解码过程更便利。在各示例实施例中,如将在下文中更详细描述的,点云在块生成过程中可以被分割为超体素,并且如果关联于将超体素的3D点集合嵌入2D空间的重建误差大于(或等于或大于)预定误差阈值,可以递归地将超体素划分为两个子簇直到满足停止的预定标准。因此对于点云,每个超体素可以与二叉树关联,二叉树中的叶子节点是点云的最终块(3D块)。例如,在辅助信息中,各示例实施例可以为每个非叶子节点分配一个比特以指示该非叶子节点是否满足停止标准,以及为每个叶子节点分配一个比特以指示该叶子节点(即3D块)是可变换的还是不可变换的。对于获取的点云属性图像,可以使用例如JPEG和WebP的传统图像编解码对其进行压缩。可以通过将点云的压缩属性图像组合或附加到辅助信息来获取最终的压缩比特流。
超体素和块生成
在各示例实施例中,由于许多点云在几何和纹理上都是复杂的,因此将每个点云分割为例如超体素的基本结构单元。之后可以将超体素处理成3D块,以使如上文中描述的包括点线性化和降维的进一步处理更便利。在这一点上,各示例实施例提供了一种简单而有效的点云超体素生成方法。然而,本领域技术人员将理解,本发明不限于这一点云超体素生成示例方法,并且也可根据需要或在适当时将本领域中的其他点云超体素分割方法应用于生成点云超体素。首先,可以采用约束的泊松圆盘采样方法(或算法)(例如,如在Corsini等人的“三角形网格的蓝噪声特性的高效和灵活采样”中描述的,IEEE可视化与计算机图形学学报,第18卷,第6期,第914–924页,2012年),通过设置两个不同的样本数量N1和N2以获取原始点云的两个简化版本,其中N1是相对较大的数字,将会得到更细粒的简化点云,而N2是较小的参数,采样算法使用该参数将生成原始点云的粗糙表示,可以称为粗糙简化点云。将粗糙简化点云的点用作种子点,可以通过将基于N1获取的细粒简化点云中的点分配到离该点最近的相应的粗糙简化点云中的种子点,来生成点云的超体素。在各示例实施例中,为最近邻搜索构建了球树结构(例如,如在Omohundro的“五种球树构建算法”中描述的,伯克利国际计算机科学研究所,1989),并且通过用点云的总点数分别除以32和8192经验性地估计N1和N2,发现其实现了压缩率和计算复杂度之间的平衡。图6A至图6E示出了根据本发明各示例实施例的示例超体素和块生成,其中图6A绘出了示例原始点云(3D点云)602;图6B绘出了基于将样本数量设置为N1的示例细粒简化点云604;图6C绘出了生成的示例超体素606;图6D绘出了生成的示例简化3D块608(用最深的黑色阴影标记不可变换块,而用较浅的黑色阴影标记可变换块);图6E绘出了生成的示例原始点云的示例3D块610(类似地,用最深的黑色阴影标记不可变换块,而用较浅的黑色阴影标记可变换块)。
各示例实施例表明,尽管可以将给定点云分割为几何结构相对简单的超体素,但不能确保可以以足够小的或小到可以接受的重建误差将每个超体素嵌入到更低维度空间(3D空间到2D空间)中。为了解决这一问题,各示例实施例进一步核查每个超体素的可变换度,如果关联于将超体素的3D点集合嵌入到2D空间的重建误差大于预定误差阈值,则将超体素分割为子簇(或点簇)。在各示例实施例中,将在下文中进一步详细描述,采用基于IsoMap的方法(例如,如在Tenenbaum等人的“非线性降维的全局几何框架”,《科学》,第290卷,第5500期,第2319–2323页,2000年)使超体素从3D到2D降维,并且评估嵌入的重建误差。在下文中还将根据本发明各示例实施例更详细地描述IsoMap降维和重建误差评估。在各示例实施例中,如果重建误差大于预定或预定义阈值(例如,将在下文中描述,当重建误差如在等式4(其中σe设置为0.75)中所定义的时,大于5),则执行层次聚类以将超体素划分为两个子簇(或点簇)并重复该过程直到满足停止该过程的预定标准(例如,一个或多个预定约束条件)。在各示例实施例中,由于小块过多可能在组合过程期间破坏空间相关性,因此,还可以设置块的最小点数量(例如,可以将最小点数量设置为32或认为适当的任意数)的阈值,以避免生成过多的小块。因此,仅作为示例而非限制,可以将上述预定标准设置或定义为超体素中的点的数量小于预定数量(例如,32)或重建误差(例如,如在下文中等式4中定义的,其中σe设置为0.75)小于或等于预定阈值(例如,5)。本领域技术人员将理解,本发明不限于上述示例性预定标准或上述示例性预定标准的上述示例性数值,并且可以在不超出本发明范围的情况下根据需要或适当地修改上述示例性预定标准或上述示例性数值。
例如,图6D绘出了生成的示例简化3D块608,该示例简化3D块608包括获取的细密簇。随后,可以通过将原始点云的每个点分配到离该点最近的簇来生成原始点云的3D块,从而产生如图6E中所示的原始点云的多个3D块610。在各示例实施例中,如图6E所示,可以将被确定为不能嵌入到2D空间的3D块称为不可变换块(在图6E中用最深的黑色阴影标记),将剩余的块称为可变换块(用较浅的黑色阴影标记)。在各示例实施例中,在上述超体素的层次聚类中,可以将满足上述停止将超体素划分为两个子簇(或点簇)过程的预定标准以及具有大于预定阈值(例如,当重建误差如在等式4(其中σe设置为0.75)中所定义的时,大于5)的重建误差的点簇确定为不能嵌入到2D空间中,并且可以因此被确定或定义为不可变换的3D块。可以将上述预定标准设置或定义为超体素中的点的数量小于预定数量(例如,32)或重建误差(例如,如在下文中等式4中定义的,其中σe设置为0.75)小于或等于预定阈值(例如,5)。根据各示例实施例,使用不同的属性图像生成过程将这两种不同类型(或分类)的3D块转换为2D属性图像。
基于ISOMAP的点云属性图像生成方法
为了获取点云属性压缩的紧凑图像,各示例实施例为可变换3D块提供了基于IsoMap的属性图像生成过程(例如,对应于上文中根据各实施例描述的第二属性图像生成过程)。在这一过程中,首先通过在第一阶段(阶段I)中执行降维,将每个可变换3D块变换为2D点云。在第二阶段(阶段II)中,属性图像生成被配置为二分图匹配问题,从阶段I获取的2D点云的2D点被分配到其对应的图像像素网格,同时保留内在一致性。
基于IsoMap的降维
基于IsoMap的降维阶段(阶段I,例如,根据各种实施例,对应于上文所述的第二属性图像生成过程的降维步骤)用于使3D块的维度从3D降低到2D,以用于在阶段II中通过基于2D的二分图匹配进行进一步处理。本领域技术人员将理解,本发明不限于基于IsoMap的降维方法。然而,在各示例实施例中,由于基于IsoMap的降维方法效率高,因此该方法是优选的。给定具有N个点的3D块,IsoMap嵌入步骤包括:
·通过将每个点连接到其最邻近的K(在本实施方式中将K设置为8)个点来构建邻域图。两个相邻点pi和pj之间的边长d(i,j)等于3D空间中这两个点的欧氏距离(Euclideandistance);
·计算每对点之间的最短路径以获取对称平方测地距离矩阵GN
·通过以下运算计算双中心测地距离矩阵
Figure BDA0003999137480000151
Figure BDA0003999137480000152
其中CN是定心矩阵,定义为:
Figure BDA0003999137480000153
其中IN是大小为N的单位矩阵,并且eN是N个1的列向量;
·计算M个最大特征值λ12,…,λM和对应的特征向量v1,v2,…,vM。对于超体素的每个点pi,M维空间中向量qi的第m个分量可以通过
Figure BDA0003999137480000154
计算。
例如,为了评估IsoMap嵌入的重建误差,可以使用以下度量:
Figure BDA0003999137480000155
其中N是块的点的数量,
Figure BDA0003999137480000156
Figure BDA0003999137480000157
分别表示原始点和嵌入点的距离矩阵,‖·‖F是弗罗贝尼乌斯(Frobenius)范数。这一度量计算嵌入的总损失,但各示例实施例表明,这一度量不评估局部区域中的重建误差。在这一点上,各示例实施例引入了考虑到局部连续性的另一个成本函数(例如,如在Najim等人的“用于可视化不同数据集的可靠降维”中描述的,《信息科学》,第278卷,第206–220页,2014年),这一成本函数比上述度量更适合于评估相邻点之间的相关性变化。对于原始空间中的点
Figure BDA0003999137480000158
及其在嵌入空间中的对应变换点
Figure BDA0003999137480000159
分别将
Figure BDA00039991374800001510
Figure BDA00039991374800001511
设为该原始空间中的点和嵌入空间中的点的k个最近邻的集合,可以将成本函数定义如下:
Figure BDA00039991374800001512
其中I[·]标识指示函数,如果条件为真,则该函数值为1,否则为0。因此,在各示例实施例中,等式(4)中的度量
Figure BDA00039991374800001513
用于确定在上述块生成过程期间是否要对簇进行进一步分割。在各示例实施例中,度量
Figure BDA00039991374800001514
还可用于确定点云的3D块的3D点集合的均匀度水平,例如确定或分类3D块是可变换的还是不可变换的,以选择特定的属性图像生成过程来生成3D块的2D属性图像。
2D点和像素网格的对齐
为了生成经变换的2D块的2D属性图像,各示例实施例将2D块的2D点与图像像素网格的图像像素槽的对齐确立为二分图匹配问题,之后通过使点之间的成对的欧氏距离的误差最小化来确定优化的放置方案(阶段II,例如,对应于上文中根据各实施例描述的第二属性图像生成过程的第二2D空间填充阶段)。例如,类似于Lee等人在“非线性降维”,斯普林格科学与商业媒体,2007中描述的非线性映射中使用的函数,可以将根据各示例实施例的放置成本定义如下:
Figure BDA0003999137480000161
其中,dp(i,j)和dg(i,j)k分别表示变换后的2D块和图像像素网格中第i点和第j点之间的欧氏距离,k是归一化因子,定义为
Figure BDA0003999137480000162
作为说明性示例,图7A至图7C中示出了经变换的2D块的二分图匹配过程和对齐结果。具体地,图7A至图7C绘出了二分图匹配和属性图像比较,其中图7A绘出了经变换的2D块702(离中心最远的点用于生成虚拟点(对应于上文中根据各实施描述的额外2D点)),图7B绘出了二分图匹配过程,其中通过使点之间的成对的欧氏距离的误差最小化将点分配给图像像素网格704的像素槽,图7C绘出了2D点和像素槽对齐的结果(空心圆表示虚拟点)。因此,在二分图匹配过程中,基于使经变换的2D块702的2D点集合的成对距离与被映射到图像像素网格704的2D点集合的对应的成对距离之间的误差最小化,将经变换的2D块702的每个点映射到图像像素网格704的相应的像素槽。
各示例实施例表明,块的点的数量可能不总是与图像画布(图像像素网格)的像素的数量完全相同。为了解决这一问题,如图7C所示,各示例实施例将若干虚拟点708添加到被映射到图像像素网格704的2D点集合中以生成紧凑的图像以用于压缩。在各示例实施例中,如图7A至图7C所示,确定离经变换的2D块702的中心712最远的点714,并且将这一最远的点714的几何和属性信息用作虚拟点708的几何和属性信息。各示例实施例表明,不同大小的图像画布可能会生成非常不同的放置,并且可能进而影响压缩表现。为了解决这一问题,各示例实施例试图确定解决方案空间中的优化放置。从搜索效率的角度考虑,各示例实施例创建了解决方案空间
Figure BDA0003999137480000163
其中h设置为16,这与下文中描述的宏块的高度一致。通过指定图像画布的高度,可以计算出图像画布的宽度和虚拟点的数量。因此,如下所示,各示例实施例定义了能量函数以评估不同放置的相邻像素之间的相关性:
Figure BDA0003999137480000164
其中Yx,y是(x,y)处的像素的亮度分量,并且Ωx,y={(x±1,y),(x,y±1)}是该像素的4个相连的相邻像素的位置集合。在各示例实施例中,使用具有最小能量的放置来对块进行编码。
基于SFC的点云属性图像生成方法
各示例实施例提供了用于不可变换块的基于SFC的属性图像生成方法(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的第一2D空间填充阶段)。基于SFC的方法在阶段I中将3D块的3D点映射到1D连续阵列(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的点线性化阶段),并且在阶段II中将1D连续阵列中的每个点排布到2D属性图像的像素网格中(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的第一2D空间填充阶段)。在各示例实施例中,提供了用于这两个阶段的两种方法,即基于BSP的通用遍历阶段和混合空间填充样式阶段。
基于BSP的通用遍历
各示例实施例表明,尽管基于树结构(例如,八叉树、k-d树)的传统深度优先遍历方案可以很好地维持空间相关性的很大一部分,但也可能会引入由点云的固有结构和遍历样式导致的许多不可避免的大的跳变。因此,各示例实施例通过减少当3D块的3D点转换为1D有序序列时的大的跳变的数量来提高点云属性编码效率。在这一点上,各示例实施例提供了基于球树空间分割数据结构的基于BSP的通用遍历方法。在描述基于BSP的通用遍历方法的技术细节之前,首先在下文中描述构建球树的主要思想。给定点的集合
Figure BDA0003999137480000171
球树的构建方法或步骤可以总结为如下:
(1)计算点集的质心O;
(2)找到离O最远的点,并将该点设置为左枢轴点
Figure BDA0003999137480000172
(3)找到离
Figure BDA0003999137480000173
最远的点并将该点设置为右枢轴点
Figure BDA0003999137480000174
(4)通过将
Figure BDA0003999137480000175
中的每个点分配到与该点最近的枢轴点,来将
Figure BDA0003999137480000176
中的分割为两个子集;和
(5)对获取的每个子集执行上述步骤,直到子集中只有一个点。
各示例实施例表明,如果用深度优先顺序遍历构建的球树的叶子节点,则球树将遇到例如基于八叉树的方法中一样的大的跳变的问题。这是因为每次迭代都会重新计算质心以及左右枢轴点,这不能确保第一子集的右枢轴点
Figure BDA0003999137480000177
靠近第二子集的左枢轴点
Figure BDA0003999137480000178
为了解决这一问题,如在下文中描述的根据各示例实施例的基于BSP的通用遍历方法采用启发式策略来保留点的内在一致性。
根据上述的球树构造方法,在第一次迭代(即上述步骤1到步骤4)之后获取两个子点集。使
Figure BDA0003999137480000179
Figure BDA00039991374800001710
分别作为这一次迭代中用于分割的获取的点集(例如,对应于上文中根据各实施例描述的输入3D块的3D点集合)和左枢轴点(例如,对应于上文中根据各实施例描述的输入3D块的3D点集合的第一枢轴点)。在第二次迭代中,依次对每个子集
Figure BDA00039991374800001711
(例如,对应于上文中根据各实施例描述的输入3D块的3D点集合的第一子点集和第二子点集)执行BSP。首先,对于
Figure BDA00039991374800001712
将枢轴
Figure BDA00039991374800001713
设置为
Figure BDA00039991374800001714
的左枢轴点(例如,对应于上文中根据各实施例描述的第一子点集的第二枢轴点),并使用该左枢轴点找到
Figure BDA00039991374800001715
的右枢轴点
Figure BDA00039991374800001716
(例如,对应于上文中根据各实施例描述的第一子点集的第一枢轴点)。之后,用这两个枢轴点将
Figure BDA00039991374800001717
划分为两个子集
Figure BDA00039991374800001718
Figure BDA00039991374800001719
(例如,对应于上文中根据各实施例描述的新的第一子点集和新的第二子点集)。应该注意,与传统的球构造过程不同的是,将
Figure BDA00039991374800001720
固定为
Figure BDA00039991374800001721
中的第一子集的左枢轴点。为了减少大的跳变的次数,对于
Figure BDA00039991374800001722
将最邻近
Figure BDA00039991374800001723
的点确定为
Figure BDA00039991374800001724
的左枢轴点
Figure BDA00039991374800001725
(例如,对应于上文中根据各实施例描述的第二子点集的第一枢轴点),并进一步用
Figure BDA00039991374800001726
找到
Figure BDA00039991374800001727
的右枢轴点
Figure BDA00039991374800001728
(例如,对应于上文中根据各实施例描述的第二子点集的第二枢轴点)。类似地,将
Figure BDA0003999137480000181
划分为两个子集
Figure BDA0003999137480000182
Figure BDA0003999137480000183
(例如,对应于上文中根据各实施例描述的新的第一子点集和新的第二子点集)。用获取的新的子集替代
Figure BDA0003999137480000184
Figure BDA0003999137480000185
将收获新的或经更新的集合
Figure BDA0003999137480000186
Figure BDA0003999137480000187
之后重复上述操作,直到
Figure BDA0003999137480000188
的每个子集中只有一个点(3D点)。
现在将描述说明性示例以为了更好的理解而进一步示出根据各示例实施例的基于BSP的通用遍历方法。为了简洁且不失一般性,如图8A至图8F所示,在说明性示例中使用2D点集合(而不是3D点集合)。首先,如图8C所示,将点集合划分为两个子集,分别以p1和p9作为左枢轴点和右枢轴点(例如,分别对应于上文中根据各实施例描述的输入3D块的3D点集合的第一枢轴点和第二枢轴点),并且
Figure BDA0003999137480000189
将为{{p1,p2,p3,p4},{p5,p6,p7,p8,p9}}。在第二次迭代中,p1和p4将为第一子集的枢轴点(例如,分别对应于上文中根据各实施例描述的输入3D块的3D点集合的第一枢轴点和第二枢轴点)。之后,由于p5是离p4最近的点,因此p5将为{p5,p6,p7,p8,p9}的左枢轴点(例如,对应于上文中根据各实施例描述的第二子点集的第一枢轴点)。之后,如图8D所示,在执行BSP之后,
Figure BDA00039991374800001810
将为{{p1,p2},{p3,p4},{p5,p7,p6},{p8,p9}}。因此,如图8F所示,通过对2D点集合中的每个子点集迭代地重复上述操作,直到所有的子点集中都只有一个点,在本说明性示例中获取的最终遍历顺序为{p1,p2,p3,p4,p5,p7,p6,p8,p9}。具体地,图8A至图8F绘出了根据各示例实施例的基于BSP的通用遍历方法,其中图8A绘出了示例2D点集,图8B至图8F绘出了使用基于BSP的通用遍历方法的点线性化步骤。在各示例实施例中,最左边的枢轴点
Figure BDA00039991374800001811
在迭代期间是固定的。
各示例实施例还将点云的点线性化配置为旅行商问题(travelling salesmanproblem,TSP,也称为旅行推销员问题或货郎担问题),即给定点集合的起点和终点,任务是找到只对每个点访问一次的最短路径。使用图8A中的点作为示例,如果将p1和p9分别固定为起点和终点,则图8F所示的遍历顺序将是这一任务的可能解决方案。然而,由于计算最佳路径的复杂性,各示例实施例表明在整个点云上应用TSP可能是不可行的。因此,根据各示例实施例,基于BSP的遍历方法通过在点云的超体素上应用TSP提高了线性化效率。例如,可以用与上文中描述的确定枢轴点的相同或类似的方式找到起点和终点。之后,根据用上文中描述的基于BSP的遍历方法获取的种子点的顺序,可以将每个超体素的点序列组合在一起。出于说明的目的,图9示出了不同3D点线性化方法(即传统的基于八叉树的深度优先遍历、传统的基于3D Hilbert SFC的遍历、和本基于BSP的遍历方法)的遍历顺序可视化的若干示例。与传统的基于八叉树的深度优先遍历方法和基于3D Hilbert SFC的遍历方法相比,可以观察到,本申请的方法在线性化过程期间引入了明显更少的大的跳变。右侧的灰度条指示点云的点遍历顺序。
混合2D空间填充样式
为了获取用于属性压缩的紧凑图像,使用空间填充样式将在上述的基于BSP的遍历方法中获取的1D点序列映射到2D图像像素网格(2D网格结构布局)。实现这一映射的简单方式是根据常用SFC样式(例如,zigzag、Z-order、Peano等)之一将1D流中的每个点依次分配到预定义图像画布(2D图像像素网格)中该点对应的像素槽。各示例实施例表明,由于未经精细设计的映射方案可能会破坏点的一致性,因此画布大小和填充样式是高效点云属性编解码研发的重要因素。各示例实施例表明先前的研究没有充分解决这些问题。
因此,各示例实施例提供了混合2D SFC方法(例如,对应于上文中根据各实施例描述的第一属性图像生成过程的第一2D空间填充阶段),以解决上述关联于传统的空间填充方法的问题。图10绘出了根据本发明各示例实施例的混合2D空间填充样式方法的示意性流程图。如图10所示,图像画布1004包括一系列大小为16×16像素(或像素槽)的宏块1008。每个宏块1004被进一步划分为16个子宏块1012,该子宏块1012的大小为4×4像素(或像素槽)。这种结构或配置有利地与传统图像编解码(例如JPEG和WebP,通常采用基于块的编码技术)的设计兼容。
关于宏块1004大小的选择,还可以考虑一些其他可能的备选,例如但不限于8×8像素、32×32像素、64×64像素等。因此,本领域技术人员将理解,本发明不限于上文中描述的宏块和子宏块的特定大小。然而,各示例实施例发现,较小和较大的尺寸通常都不能充分发挥先进图像编解码的块内预测的优点。因此,在本申请的框架中采用了适度的大小,适度的大小被发现在利用图像压缩技术方面更有效。由于4×4像素在许多基于块的编解码中也被用作基本块单元并且可以很好地保留子宏块中的属性一致性,因此对于子宏块的类型各示例,实施例选择4×4像素。
为了将有序1D点序列1016映射到上文中描述的2D网格结构布局中,各示例实施例提供了一种混合模式,该混合模式可以有利地维持子宏块1012中的属性相关性以及相邻的宏块1004之间的属性相关性。采用水平蛇形曲线作为每个子宏块1012的填充样式,发现这种填充样式可以免于大的跳变并且更可能保留颜色一致性。如图10所示,根据水平蛇形曲线填充样式,从子宏块1012的像素槽的第一行(例如,顶行)到子宏块1012的像素槽的最后一行(例如,底行),一行接一行地连续填充像素槽,其中,在像素槽的每一行,从行的第一端到行的第二端填充像素槽,紧邻的两行填充方向相反。例如,令子宏块1012的大小为Ns(根据各实施例Ns=4),可以将1D序列1016中的第t个点在子宏块1012中的位置(即第i个子宏块的第x列、第y行)确定为:
Figure BDA0003999137480000191
Figure BDA0003999137480000192
x=(-1)y mod 2·(t mod Ns)+(Ns-1)·(y mod 2) (等式9)
需要注意的是,所有索引都从0开始编号。对于获取的子宏块1012,通过使用Hilbert SFC执行另一映射,以更好地利用图像编解码的块内预测模式(例如,参见图10)。与水平蛇形曲线类似,Hilbert曲线也没有大的跳变,但是根据各示例实施例发现更适合于在水平和垂直方向利用块内预测。因此,各示例实施例使用Hilbert函数(例如,如Bader等人在“空间填充曲线:在科学计算中的应用介绍”中引入的,斯普林格科学与商业媒体,2012,第9卷)将子宏块1012映射到宏块1004。图10示出了根据本发明各示例实施例的使用混合2D SFC方法获取的3D块(一个3D块)的2D属性图像1004的分段。
因此,通过基于IsoMap的属性图像生成过程和基于混合2D SFC的属性图像生成过程,可以为每个获取的3D块生成2D属性图像。例如,图11示出了点云1108的两个示例3D块1104a、1104b,即分别为第一块1104a(标识为1)和第二块1104b(标识为2),以及分别通过基于IsoMap的属性图像生成过程和基于SFC的属性图像生成过程生成的对应块属性图像。出于说明的目的,使用基于IsoMap的属性图像生成过程和基于混合2D SFC的属性图像过程来处理第一块1104a,以分别生成基于IsoMap的属性图像和基于混合2D SFC的属性图像。类似地,使用基于IsoMap的属性图像生成过程和基于混合2D SFC的属性图像过程来处理第二块1104b,以分别生成基于IsoMap的属性图像和基于混合2D SFC的属性图像。可以观察到,出于上文中根据本发明各实施例描述的原因,对于第一块,基于IsoMap的图像生成过程优于基于混合2D SFC的属性图像过程,而对于第二块则相反。
之后,将点云的所有3D块的属性图像组合在一起,得到或生成整个点云的2D属性图像以用于压缩。如在上文中描述的,通过基于IsoMap的属性图像生成过程获取的3D块的每个属性图像的高度可能会差异很大。因此,为了将这些属性图像组合在一起,各示例实施例可以将这些属性图像切割成若干个与宏块高度相等的分段。通过这种统一的高度设置,所有的分段可以水平地或依次地堆叠在一起。在各示例实施例中,为了保持相邻的3D块之间的相关性,使用本基于BSP的遍历方法遍历所有3D块的几何中心,并且按照遍历顺序依次堆叠这些分段。之后,可以使用成熟的图像编解码压缩点云的2D属性图像。
实验结果与分析
实验设置
为了评估本申请的点云属性压缩方法的有效性,通过将本申请方法与被许多现有研究广泛采用的传统点云压缩方法在公共点云数据集上进行比较,进行了一系列实验。如图12A至图12Q所示,总共收集了17个3D点云模型。具体地,图12A至图12Q绘出了来自非均匀3D点云数据集的示例点云,其中,图12A至图12L示出了全方向点云模型和半方向点云模型的混合,图12M至图12Q示出了均匀的全方向3D点云数据集。更具体地,图12A至图12E是从MICROSOFT体素化上半身数据集中选择的具有噪声和在3D空间中分布不均匀的点的五个点云;图12F至图12I是七个相对稀疏且不规则(从用于点云压缩的常用测试条件中选择)的点云。如图12M至图12Q所示,为了进一步评估本申请方法的效率,还从8i全身数据集中收集了五个密集且均匀的点云。这些点云中的点的数量从20万到500万不等。在不同的质量尺度下使用包括JPEG、WebP、和通用视频编码(versatile video coding,VVC)的传统图像编解码对属性图像进行压缩,并获取其率失真(rate-distortion,RD)曲线。还采用了Bjontegaard度量(例如,如Bjontegaard在“rd-曲线之间的平均psnr差异的计算”,VCEG-M33,2001)比较BD比特率(BD bit rate,BD-BR)和BD-PSNR方面的性能。
基于BSP的通用遍历的效率评估
1)比特率节省和PSNR增益方面的比较:为了验证本基于BSP的通用遍历方法的有效性,将其与八叉树深度优先遍历(Octree depth-first traversal,Oct)方案(例如,如Mekuria等人在“用于远程沉浸式视频的点云编解码器的设计、实现、和评估”中描述的,IEEE视频技术电路和系统学报,第27卷,第4期,第828–842页,2016,以下称为Mekuria)和3DHilbert遍历(3D Hilbert traversal,3DH)方案(例如,如Bader在“空间填充曲线:在科学计算中的应用介绍”中描述的,斯普林格科学与商业媒体,2012,第9卷,以下称为Bader)进行了比较。对于3DH,点云的边界框被划分为n×n×n个体素,体素中不超过一个点。之后使用3DH曲线构建算法对体素进行编号(参见Bader)。可以通过依次遍历这些体素来获取1D序列。为了获取用于压缩的属性图像,使用了Mekuria中引入的图像画布设置。在Mekuria中公开的八叉树深度优先遍历方法中,将宏块的大小设置为8×8像素,并且采用水平蛇形空间填充样式生成属性图像。在实验中,采用了JPEG和WebP编解码压缩这些图像以进行公平的比较(由于两者都是公知的现有的编解码)。如图13中的表格I所示,使用WebP作为编解码的本方法相比于基于八叉树的方法(Oct_WebP)平均节省了11.29%的比特率,而相比于基于3DH的方法(3DH_WebP)平均节省了6.00%的比特率。具体地,表格I示出了本基于BSP的通用遍历方法与上述两种传统遍历方法的效率(对BR的节省和单位为dB的等效PSNR改善)的比较。
例如,尤其是对于像ricardo和
Figure BDA0003999137480000211
这样的具有较强的内在颜色一致性的点云,通过使用JPEG编解码也可以看到本基于BSP的通用遍历方法的重要性。对于像Arco这样的具有非常弱的内在颜色一致性的点云,本方法实现了与3DH相比几乎相当的PSNR增益。然而,将在下文中进行说明,通过使用本申请的混合2D空间填充样式方法仍然可以提高这种点云的编码效率。
2)自相关方面的比较:由于自相关通常与压缩性能密切相关,因此被广泛用于图像/视频压缩领域中1D像素序列的一致性评估。在实验中,这一度量还用于进一步研究不同遍历算法在3D到1D映射过程期间保留点的空间相关性的有效性。图14A至图14C示出了在不同滞后处的自相关的若干示例。如图14A至图14C所示,与基于3D Hilbert的遍历方法和基于八叉树的遍历方法相比,本申请方法实现了点云phil(如图12D所示)、点云Facade(如图12I所示)、和点云Frog(图12K所示)的点属性相关的显著改进。此外,通过将图14A至图14C与图13中的表格1比较,可以看到自相关增益与比特率节省正相关。这些结果指示本申请的方法与传统方法或对等方法相比可以更好地保留点一致性。
混合SFC的效率评估
为了验证混合2D空间填充样式的有效性,将使用本申请的通用遍历方法获取的1D点序列与Mekuria中描述的水平蛇形(horizontal snake,HS)空间填充曲线进行比较。除了在HS空间填充曲线中获取的属性图像之外,还用2D Hilbert曲线(Hil)生成了另一个图像以进行比较。同样地,采用了JPEG和WebP用于比较。图15的表格II中所示出的实验结果说明了本申请的混合2D空间填充样式的有效性。具体地,表格II示出了不同空间填充样式的效率(对BR的节省和单位为Db的等效PSNR改善)的比较。具体地,使用JPEG编解码的本申请方法相比HS(HS_JPEG)和Hil(Hil_JPEG)分别降低了平均9.07%和15.08%的比特率。而对于WebP编解码,本申请方法在利用点属性相关性方面的优势也被验证优于HS(HS_WebP)和Hil(Hil_WebP),分别节省了26.30%和27.94%的比特率。
与现有技术的方法的总体比较
在这一部分,使用了专门为点云数据设计的相关现有技术压缩方法来进一步研究本申请方法的效率。用于比较的对等方法为几何引导的稀疏表示编解码(geometry-guidedsparse representation codec,GSR)(如Gu等人在“使用几何引导的稀疏表示的3D点云属性压缩”中描述的,IEEE图像处理学报,第29卷,第796–808页,2019,以下称为Gu)、区域自适应分层变换编解码(RAHT)(如de Queiroz等人在“使用区域自适应层次变换的3d点云压缩”中描述的,IEEE图像处理学报,第25卷,第8期,第3947–3956页,2016年,以下称为deQueiloz)、和具有提升变换的MPEG G-PCC细节层次(level-of-detail,LoD)(LoD)编码器(LoD encoder with lift transform,LoD LT)所述(如Schwarz等人在“点云压缩的常用测试样式”中描述的,ISO/IEC JTC1/SC29/WG11 MPEG,输出文件N,第17995卷,2019,以下称为Schwarz)。各示例实施例表明,MPEG V-PCC更适合于均匀点云压缩,现有研究已经说明了这一点,因此在进行的实验中没有选择MPEG V-PCC用于进行比较。图16A至图16Q和图17中的表格III分别示出了现有技术的方法相对于基准方法RAHT(如在de Queiroz中描述的)的率PSNR曲线和BD-PSNR(以dB为单位)的改进。具体地,图16A至图16Q绘出了点云属性压缩方法的比较。图17中的表格III绘出了以RAHT编码结果为基准的先进方法的效率比较。通过使用上述混合2D空间填充样式和VVC编解码获取本申请方法的结果。总体上,与基准方法相比,本申请方法将BD-PSNR提高了平均5.43dB,远优于现有技术方法LoD LT(0.60dB)和GSR(1.35dB)。根据Gu,GSR在颜色差异较小且几何结构相对简单的点云(例如,像ricardo9、David、和sarah9这样的来自微软体素化上半身数据集的点云)上实现了更好的性能。然而,各示例实施例表明,GSR在例如David、Frog、和loot这样的点云上与LoD LT和RAHT相比无法显示出优势。如图16A至图16Q所示,本申请方法在所有测试点云上优于RAHT和MPEG LoDLT。值得注意的是,本申请方法在例如David、Frog、和loot这样的点云上相比于现有技术实现了显著的性能改进。更具体地,与基准方法相比,本申请方法将BD-PSNR提高了5.99dB、6.65Db、和6.43dB(等效BD率增益提高了82.11%、84.42%和84.59%),而现有技术方法LoDLT仅实现了0.37dB、0.30dB、和0.44dB的BD-PSNR增益(仅实现了8.88%、9.32%、和9.95%的等效BD率增益)。值得指出的是,由于Arco(如图12L所示)同时表现出几何稀疏性、噪声、不规则点分布、和高颜色方差(color variance)等若干种特征,使用现有编解码很难实现令人满意的压缩性能,因此Arco对于有效属性压缩是最具挑战性的非均匀点云之一。即使先进点云编解码LoD LT的性能也不如基准方法RAHT。通过本申请方法,BD-PSNR相比RAHT提高了4.31dB(等效BD率增益提高了37.77%),这验证了本方法在处理非均匀点云方面的优势。
因此,各示例实施例引入了基于图像的方法来压缩点云属性。具体地,过去几十年期间研发的可用图像编码策略最适合于将大量分散、无序3D点数据变换为合成图像。这与研究界在这一领域的目前的主要努力方向一致,即,充分使用现有基础结构来解决新问题。由于对于非均匀点云,在单阶段3D到2D映射模式下使用基于图像的压缩方法通常难以具有令人满意的编码性能,因此非均匀点云的稀疏或不规则的几何结构带来了巨大的挑战。在这一点上,各示例实施例提供了一种自适应的两阶段维度变换策略,以将点云的3D点的属性(属性信息)映射到2D网格结构布局中,以获取用于压缩的紧凑属性图像。因此,上文中根据各示例实施例描述的两种3D点云属性图像生成方法被设计为更好地利用相邻点之间的空间相关性。实验结果说明了本申请方法在点云属性压缩中的有效性,以及在处理非均匀点云方面相比于现有技术编解码的优势。
随着3D扫描设备的广泛可用性和不断增长的3D应用,点云被使用在智慧城市、数字化转型、和工业4.0的许多新兴领域,例如虚拟现实(virtual reality,VR)/增强现实(augment reality,AR)、建筑信息模型(building information model,BIM)、自动驾驶、机器人导航、电子商务、老年人辅助设备、智能制造、城市规划、生物医学建模、建筑、工程和施工(architecture,engineering and construction,AEC)、文化遗产保存等。例如但不限于此,本申请的点云属性压缩方法可以用于促进这些领域中3D点云数据的高效和经济的存储、传输、和处理,充分利用了现有的、成熟的图像和视频编码标准和基础结构。此外,混合空间填充方案也可以与其他高效的3D点线性化方法配合工作,以开发例如远程沉浸式通信系统的实时3D应用。
虽然本申请的实施例已经参照特定实施例进行了具体展示和描述,但是本领域技术人员应该理解,在不脱离由所附权利要求定义的本申请的范围的情况下,可以在其中进行各种形式和细节上的改变。因此,本申请的范围由所附权利要求指示,并且因此旨在包含在权利要求的等同意义和范围内的所有变化。

Claims (19)

1.一种使用至少一个处理器的点云属性压缩方法,所述方法包括:
获取点云的多个三维(3D)块,每个3D块包括3D点集合,每个点具有与其关联的对应的属性信息;
为所述多个3D块中的每个3D块生成所述3D块的二维(2D)属性图像,以获取所述多个3D块的多个2D属性图像,其中,对于所述多个3D块中的至少第一3D块,基于第一属性图像生成过程生成所述第一3D块的所述2D属性图像;
基于所述多个3D块的所述多个2D属性图像生成所述点云的2D属性图像;以及
基于2D图像编解码对所述点云的所述2D属性图像进行压缩,以获取所述点云的经压缩的2D属性图像,
其中,所述第一属性图像生成过程包括:
点线性化阶段,用于将输入到所述点线性化阶段的输入3D块的3D点集合变换为所述输入3D块的一维(1D)点序列;以及
第一2D空间填充阶段,用于将所述输入3D块的所述1D点序列映射到第一2D图像像素网格,以生成所述输入3D块的2D属性图像,其中,所述点线性化阶段包括:
将所述输入3D块的所述3D点集合分割为所述输入3D块的所述3D点集合的第一子点集和第二子点集;以及
将所述第一子点集和所述第二子点集中的每个子点集的3D点集合分割为新的第一子点集和新的第二子点集,以替代所述输入3D块的所述3D点集合的所述子点集,
其中,对于所述分割所述第一子点集和所述第二子点集中的每个子点集的所述3D点集合,将离所述第一子点集的第一枢轴点最近的所述第二子点集的第一3D点设置为所述第二子点集的第一枢轴点。
2.根据权利要求1所述的方法,其中,对于所述分割所述输入3D块的所述3D点集合,所述方法还包括:
将离所述输入3D块的所述3D点集合的质心最远的所述输入3D块的所述3D点集合的第一3D点设置为所述输入3D块的所述3D点集合的第一枢轴点;以及
将离所述3D点集合的所述第一枢轴点最远的所述输入3D块的所述3D点集合的第二3D点设置为所述输入3D块的所述3D点集合的第二枢轴点,以及
其中,所述分割所述输入3D块的所述3D点集合包括:将除所述第一3D点和所述第二3D点之外的所述输入3D块的所述3D点的每个3D点分配给所述3D点集合的所述第一枢轴点和所述第二枢轴点中离所述3D点最近的枢轴点,以形成所述第一子点集和所述第二子点集,所述第一子点集包括分配给所述3D点集合的所述第一枢轴点的3D点,所述第二子点集包括分配给所述3D点集合的所述第二枢轴点的3D点。
3.根据权利要求2所述的方法,其中,对于所述分割所述第一子点集和所述第二子点集中的每个子点集的3D点集合,所述方法还包括:
将与所述3D点集合的所述第一枢轴点对应的所述第一子点集的第一3D点设置为所述第一子点集的第二枢轴点;
将离所述第一子点集的所述第二枢轴点最远的所述第一子点集的第二3D点设置为所述第一子点集的第一枢轴点;
将离所述第一子点集的所述第一枢轴点最近的所述第二子点集的第一3D点设置为所述第二子点集的第一枢轴点;以及
将离所述第二子点集的所述第一枢轴点最远的所述第二子点集的第二3D点设置为所述第二子点集的第二枢轴点。
4.根据权利要求3所述的方法,其中,所述分割所述第一子点集和所述第二子点集中的每个子点集的3D点集合包括:
将除所述第一子点集的所述第一3D点和所述第二3D点之外的所述第一子点集的3D点中的每个3D点分配给所述第一子点集的所述第一枢轴点和所述第二枢轴点中离所述3D点最近的枢轴点,以形成所述新的第一子点集和所述新的第二子点集来替代所述输入3D块的所述3D点集合中的所述第一子点集,所述新的第一子点集包括分配给所述第一子点集的所述第一枢轴点的3D点,所述新的第二子点集包括分配给所述第一子点集的所述第二枢轴点的3D点;以及
将除所述第二子点集的所述第一3D点和所述第二3D点之外的所述第二子点集的3D点中的每个3D点分配给所述第二子点集的所述第一枢轴点和所述第二枢轴点中离所述3D点最近的枢轴点,以形成所述新的第一子点集和所述新的第二子点集来替代所述输入3D块的所述3D点集合中的所述第二子点集,所述新的第一子点集包括分配给所述第二子点集的所述第一枢轴点的3D点,所述新的第二子点集包括分配给所述第二子点集的所述第二枢轴点的3D点。
5.根据权利要求1至4中任一项所述的方法,其中,所述点线性化阶段还包括:
对于所述输入3D块的所述3D点集合中的每个子点集,迭代地将所述子点集的3D点集合分割为新的第一子点集和新的第二子点集来替代所述输入3D块的所述3D点集合中的子点集,直到所有的子点集中都只有一个3D点,以获取所述输入3D块的经处理的3D点集合,所述经处理的3D点集合包括有序子点集,每个所述子点集中只有一个3D点;以及
基于所述输入3D块的所述经处理的3D点集合生成所述输入3D块的所述1D点序列。
6.根据权利要求1至5中任一项所述的方法,其中,
所述第一2D图像像素网格包括一系列宏块,以及
所述第一2D空间填充阶段包括:
根据子宏块填充样式,将所述输入3D块的所述1D点序列映射到与所述一系列宏块关联的子宏块的像素槽阵列;以及
根据宏块填充样式将所述子宏块映射到所述一系列宏块,
其中,所述子宏块样式和所述宏块填充样式是不同的空间填充样式。
7.根据权利要求6所述的方法,其中,所述子宏块填充样式是水平蛇形曲线填充样式,所述宏块填充样式是希尔伯特(Hilbert)曲线填充样式。
8.根据权利要求6或7所述的方法,其中,所述一系列宏块中的每个宏块具有大小为4×4的子宏块,并且每个所述子宏块的所述像素槽阵列具有大小为4×4的像素槽。
9.根据权利要求1至8中任一项所述的方法,其中,所述为所述多个3D块中的每个3D块生成所述3D块的所述2D属性图像包括:
选择多个属性图像生成过程中的一个以生成所述3D块的所述2D属性图像,所述多个属性图像生成过程包括所述第一属性图像生成过程和第二属性图像生成过程;以及
基于选择的所述属性图像生成过程生成所述3D块的所述2D属性图像。
10.根据权利要求9所述的方法,其中,所述选择所述多个属性图像生成过程中的一个以生成所述3D块的所述2D属性图像基于所述3D块的所述3D点集合的均匀度水平。
11.根据权利要求10所述的方法,其中,所述选择所述多个属性图像生成过程中的一个以生成所述3D块的所述2D属性图像包括:
如果确定所述3D块的所述3D点集合满足与所述均匀度水平相关的预定条件,则选择所述第二属性图像生成过程以生成所述3D块的所述2D属性图像,以及
如果确定所述3D块的所述3D点集合不满足与所述均匀度水平相关的所述预定条件,则选择所述第一属性图像生成过程以生成所述3D块的所述2D属性图像。
12.根据权利要求11所述的方法,其中,如果与将所述3D块的所述3D点集合嵌入到2D空间关联的重建误差小于预定误差阈值,则确定所述3D块的所述3D点集合满足与所述均匀度水平相关的所述预定条件,如果与将所述3D块的所述3D点集合嵌入到所述2D空间关联的所述重建误差大于所述预定误差阈值,则确定所述3D块的所述3D点集合不满足与所述均匀度水平相关的所述预定条件。
13.根据权利要求9至12中任一项所述的方法,其中,
对于所述多个3D块中的至少第二3D块,基于所述第二属性图像生成过程生成所述第二3D块的所述2D属性图像,并且,所述第二属性图像生成过程包括:
降维阶段,用于将输入到所述降维阶段的输入3D块的3D点集合转换为所述输入3D块的2D点集合;以及
第二2D空间填充阶段,用于将所述输入3D块的所述2D点集合映射到第二2D图像像素网格以生成所述输入3D块的2D属性图像。
14.根据权利要求13所述的方法,其中,所述第二2D空间填充阶段包括:
基于使所述输入3D块的所述2D点集合的成对距离与被映射到所述第二2D图像像素网格的所述2D点集合的对应的成对距离之间的误差最小化,将所述输入3D块的所述2D点集合的每个2D点映射到所述第二2D图像像素网格的相应像素槽。
15.根据权利要求13或14所述的方法,其中,所述第二2D空间填充阶段还包括:
将一个或多个额外2D点添加到在所述将所述输入3D块的所述2D点集合的每个2D点映射到所述第二2D图像像素网格的所述相应像素槽之后,所述第二2D图像像素网格中剩余的一个或多个未填充像素槽。
16.根据权利要求15所述的方法,其中,所述第二2D空间填充阶段还包括:
确定离所述输入3D块的所述2D点集合的中心最远的所述输入3D块的所述2D点集合的第一2D点;以及
将所述一个或多个额外2D点配置为分别具有与所述一个或多个额外2D点关联的属性信息,所述属性信息与所述第一2D点关联的属性信息相同。
17.根据权利要求1至16中任一项所述的方法,还包括:将所述点云的所述经压缩的2D属性图像与所述点云的所述经压缩的2D属性图像的辅助信息组合,所述辅助信息包括属性图像生成类型信息,所述属性图像生成类型信息指示所述多个3D块中的每个3D块所应用以生成所述3D块的所述2D属性图像的属性图像生成过程的类型。
18.一种点云属性压缩系统,所述系统包括:
存储器;以及
至少一个处理器,通信耦合到所述存储器并且用于执行根据权利要求1至17中任一项所述的点云属性压缩方法。
19.一种计算机程序产品,实现在一个或多个非暂时性计算机可读存储介质中,包括可由至少一个处理器运行以执行根据权利要求1至17中任一项所述的点云属性压缩方法的指令。
CN202180042621.4A 2020-09-02 2021-09-02 点云属性压缩 Pending CN115769269A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG10202008512Q 2020-09-02
SG10202008512Q 2020-09-02
PCT/SG2021/050533 WO2022050904A1 (en) 2020-09-02 2021-09-02 Point cloud attribute compression

Publications (1)

Publication Number Publication Date
CN115769269A true CN115769269A (zh) 2023-03-07

Family

ID=80492476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180042621.4A Pending CN115769269A (zh) 2020-09-02 2021-09-02 点云属性压缩

Country Status (2)

Country Link
CN (1) CN115769269A (zh)
WO (1) WO2022050904A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117710717B (zh) * 2024-02-05 2024-05-28 法奥意威(苏州)机器人系统有限公司 超体聚类点云分割方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3428887A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud

Also Published As

Publication number Publication date
WO2022050904A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
EP3709273A1 (en) Signalling of metadata for volumetric video
Golla et al. Real-time point cloud compression
Maglo et al. 3d mesh compression: Survey, comparisons, and emerging trends
CN102081804B (zh) 在图形硬件中细分几何图像
Kalaiah et al. Modeling and rendering of points with local geometry
TWI502547B (zh) 行星尺度之物件繪製之方法及裝置
US20070018994A1 (en) Texture encoding apparatus, texture decoding apparatus, method, and program
US7149368B2 (en) System and method for synthesis of bidirectional texture functions on arbitrary surfaces
JP7425899B2 (ja) 点群の符号化及び復号方法
JP5735114B2 (ja) エンコード方法、エンコード装置、デコード方法及びデコード装置
JP7371691B2 (ja) ホモグラフィ変換を使用した点群符号化
Xu et al. Cluster-based point cloud coding with normal weighted graph fourier transform
US6791543B2 (en) Forming method for structuring polygonal mesh data and apparatus, and storage medium
CN114004842A (zh) “分形视距”纹理压缩与彩色多边形纹理集成的三维模型可视化方法
CN115769269A (zh) 点云属性压缩
WO2013029232A1 (en) Multi-resolution 3d textured mesh coding
CN110147809B (zh) 图像处理方法及装置、存储介质及图像设备
US11989820B2 (en) Arbitrary view generation
US11989821B2 (en) Arbitrary view generation
CN114332259A (zh) 一种基于车载激光雷达的点云编解码方法
Marvie et al. Coding of dynamic 3D meshes
Yang et al. Spectrally Pruned Gaussian Fields with Neural Compensation
Navin et al. Data Oriented Model of image: as a framework for image processing
WO2023179706A1 (zh) 编码方法、解码方法及终端
Martens et al. A decomposition scheme for continuous Level of Detail, streaming and lossy compression of unordered point clouds

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