CN107819469B - 对表示物理属性的信号进行压缩 - Google Patents

对表示物理属性的信号进行压缩 Download PDF

Info

Publication number
CN107819469B
CN107819469B CN201710821844.6A CN201710821844A CN107819469B CN 107819469 B CN107819469 B CN 107819469B CN 201710821844 A CN201710821844 A CN 201710821844A CN 107819469 B CN107819469 B CN 107819469B
Authority
CN
China
Prior art keywords
octree
data
recursion
wavelet
coefficients
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.)
Active
Application number
CN201710821844.6A
Other languages
English (en)
Other versions
CN107819469A (zh
Inventor
J-J·塔富雷奥
M·布尔克纳福德
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.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of CN107819469A publication Critical patent/CN107819469A/zh
Application granted granted Critical
Publication of CN107819469B publication Critical patent/CN107819469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Generation (AREA)

Abstract

本发明特别涉及用于压缩表示在预定空间中的物理属性的值的数据的计算机实现的方法。该方法包括提供信号,所述信号包括从预定空间的分级细分的每个叶单元到表示在相应的叶单元处的物理属性的值的相应系数的映射。该方法还包括确定信号的离散小波变换以及对所确定的离散小波变换编码。该方法提供用于压缩表示真实对象的建模的对象的改进的方式。

Description

对表示物理属性的信号进行压缩
发明领域
本发明涉及计算机程序和系统的领域,并且更特别地涉及用于对表示在预定空间中的物理属性的值的信号进行压缩和/或解压缩的方法、系统和程序以及这样的压缩信号。
背景技术
在用于对象的设计、工程和制造的市场上提供多个系统和程序。CAD是计算机辅助设计的首字母缩略词,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩略词,例如它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩略词,例如它涉及用于定义制造过程和操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面关于技术的效率起重要的作用。这些技术可嵌在产品生命周期管理(PLM)系统内。PLM在扩展的企业的整个概念中指帮助公司共享产品数据、应用公共过程并对针对产品的发展从构思到它们寿命的结束运用公司知识的经营策略。由Dassault Systemes提供的PLM解决方案(在商标CATIA、ENOVIA和DELMIA下)提供组织产品工程知识的工程中心、管理制造工程知识的制造中心和使企业整合和连接到工程和制造中心的企业中心。系统一起传输链接产品、过程、资源的开放对象模型以实现驱动优化产品定义、制造准备、生产和服务的动态的、基于知识的产品创建和决定支持。
在这个上下文中,基于粒子的应用(例如点云渲染、具有SPH例如光滑粒子流体动力学的流体模拟)或3D建模可受益于数据压缩。因此,发展了用于执行应用于在3D(或2D)空间中扩散的大量粒子的数据压缩的方法。这样的现有技术主要由两个研究领域覆盖。第一领域是3D(或2D)网格的几何驱动压缩。第二领域是点云的压缩。
现在讨论第一领域(网格压缩)。
提出了用于压缩3D网格的大量方法。3D网格通常由几何数据(例如在空间中的网格的每个顶点的位置)、连通性数据(例如在顶点之间的关联关系,即顶点如何被链接以形成多边形端面)和可选地每顶点和/或每端面属性(即与顶点/端面位置相关联的至少一个物理属性的值,例如对应用有用的顶点/端面值,例如颜色、法向量和/或纹理坐标)组成。可在Magle等人的2013年的论文“3D mesh compression:survey,comparisons and emergingtrends”中找到这些方法的相对综合的分类法。我们可基本上识别两个主要分支。
第一分支涉及连通性压缩方法。这些方法主要使用连通性数据来对连通性数据和顶点信息编码。算法Edgebreaker(Rosslgnac的)、分层分解(Bajaj的)和生成树(Taubin和Rossignac的)是良好的示例。这些方法实现良好的结果,因为所连接的顶点具有接近的位置和属性值。这可有利地由压缩方案利用:如果我们已经对连接到它的那些顶点解码,则可预测顶点位置/属性值(例如在Edgebreaker算法中的所谓的“平行四边形预测”)。
第二分支涉及几何驱动压缩方法。在这个分支中,几何数据(和其它顶点属性)首先被压缩而不考虑连通性。之后通过使用几何数据来压缩连通性。这样的方法的思想是,与在非常大的3D网格中的顶点位置/其它属性比较,连通性数据仅仅表示数据的小部分。这样的方法因此认为更谨慎地处理几何数据是更恰当的。大部分最新发展的几何驱动压缩方案基于空间分割。那意味着顶点在分级结构如BSP、K-d树或八叉树(在2D中是四叉树)中被分割。使用K-d树来对顶点位置编码的方法的几个示例包括Lewiner等人的论文“GEn-code:Geometry-driven compression for General Meshes”(2006)和Gandoin a Devilliers的论文“Progressive lossless compression of arbitrary simplicial complexes”(2002)。使用八叉树来对顶点位置编码的方法的几个示例包括:Peng等人的论文“Geometry-guided progressive lossless 3D mesh coding with octreedecompoosition”(2005)、Tian等人的论文“Adaptive coding of generic 3D triangulameshes based on octree decompoosition”(2012)、Jamin等人的论文“CHuMI viewer:Compressive huge mesh interactive viewer”(2009)和Du等人的论文“Out-of-CoreProgressive Lossless Compression and Selective Decompression of LargeTriangle Meshes”(2009)。
现在讨论第二领域(点云压缩)。
点云仅包括几何数据(顶点位置)和每顶点属性(例如每顶点颜色和/或法向量)。点云常常由非常大的数据组成,且压缩因此是关键问题。最新发展的压缩方法也基于空间分割:这提供良好的结果,且有时允许顶点随机存取(针对点云的另一感兴趣的问题)。下面的方法都基于八叉树分解:Botsch等人的论文“Efficient high quality rendering ofpoint sampled geometry”、Schnabel和Klein的论文“Octree-based Point-CloudCompression”、Huang等人的论文“A Generic Scheme for Progressive Point CloudCoding”、Huang等人的论文“Octree-Based Progressive Geometry Coding of PointClouds”、Juiang等人的论文“Tangent-plane-continuity maximlzation based 3d pointcompression”、Kammerl等人的论文“Real-time compression of point cloud streams”和Zhang等人的论文“Point cloud attribute compression with graph transform”。
这些方法中的大部分由两个步骤组成。首先,分割在八叉树中的空间,使得每个叶包含0或1(或几个)顶点,以及包含顶点的每个叶具有小尺寸。因此知道在树中的单元的位置给出足够的精度来定位在3D空间中的顶点。然后,一种方法用于有效地对树结构编码而不管树结构的叶是否是空。这个信息足以恢复顶点位置。
不管它们是存在于第一领域中还是在第二领域中,上面列出的压缩方法都不遗余力地或精巧地增加效率。效率可与下列标准中的任一个或任何折衷进行评估:压缩比、压缩和解压缩时间、递进性、数据随机存取和时间相关性。压缩比是在压缩之后和压缩之前的数据的大小之间的比。它是具体的量化度量且通常是评估效率的第一种方式。压缩和解压缩时间也是用于评估效率的可靠和量化的度量。解压缩时间常常是更恰当的,因为真实3D应用需要加载数据并实时地解压缩数据,但这样的数据可以离线地被压缩(一劳永逸地)。也可考虑存储器消耗,因为它与它是否实时地工作的问题强烈地有关。递进性是部分地加载数据并得到已经可用的某物的能力。部分地加载的数据可被显示为最终结果的粗略版本,且进一步加载只增加更小的(和越来越小的)细节。数据随机存取是加载数据的小的良好地定位的部分,而不必读取/加载其它部分(或在最小量的时间内)的能力。如果数据随着时间的过去而是活跃的,则时间相关性是利用在帧之间的相关性(即在不同时间的数据的状态)以进一步压缩数据的能力。
尽管有它们的很多努力,上面列出的大部分方法大量地聚焦于对3D点位置而不是它们的属性进行编码的效率。这些属性在再现具有高质量的点云/3D模型时是关键的。这些顶点属性的大小与顶点位置的大小比较也很大。
一些方法仍然提供有效的、然而不足够高效的解决方案:
●Huang等人的论文“A Generic Scheme for Progressive Point CloudCoding”教导使用跟随有沿着每个变换轴的自适应量化的线性解相关变换来对颜色(每顶点属性)编码。虽然这个方案很快,但它可以只实现类似于基于八叉树的方法的编码效率。
●Huang等人的论文“Octree-Based Point-Cloud Compression”教导对在单独的八叉树结构中的位置和颜色编码。
●Zhang等人的论文“Point cloud attribute compression with graphtransform”聚焦于顶点属性的压缩并引入基于“图形变换”的方法。
主要的困难是,与属性(例如像素颜色)位于完全规则的(例如栅格状)结构上的传统图像和视频不同,在这种情况下,属性位于非结构化的和/或稀疏的点云,且因此难以压缩。
在这个上下文内,仍然存在对用于压缩表示真实对象的建模的对象的改进的方式的需要。
发明内容
因此提供了用于对表示在预定空间中的物理属性的值的数据进行压缩的计算机实现的方法。该方法包括提供包括从预定空间的分级细分的每个叶单元到表示在相应的叶单元处的物理属性的值的相应系数的映射的信号。该方法还包括使用小波卷积滤波器的预定基来确定信号的离散小波变换,从而从信号开始通过在每个当前递归使每个小波卷积滤波器在前一递归的低通子带上通过来递归地确定子带,包括低通子带。在当前递归确定的子带每个包括从同一分级细分的叶单元的相应映射,其中前一递归的分级细分是所述同一分级细分的细分,通过将相应的小波卷积滤波器应用于从细分给定叶单元的前一递归的分级细分的叶单元被映射到的前一递归的低通子带的系数,每个给定的叶单元在相应的小波卷积滤波器在前一递归的低通子带上通过期间映射到所确定的相应系数。该方法还包括对所确定的离散小波变换编码。
该方法可包括下列项中的一个或多个:
-小波卷积滤波器具有紧支集;
-至少在一个给定递归,该通过遇到未被映射到系数的前一递归的低通子带的至少一个叶单元,离散小波变换的确定包括将值分配到所遇到的单元,所分配的值被输入到每个小波卷积滤波器;
-关于与在给定递归处确定的子带中迫使一个或多个零有关的标准来确定所分配的值;
-标准是,在未被迫使为零的给定递归处确定的所有子带的系数的数量等于未被迫使为零的前一递归的低通子带的系数的数量;
-紧支集的大小小于或等于分级细分的分割符的最小值;和/或
-分级细分的分割符具有恒定值,且紧支集的大小等于分级细分的分割符的恒定值。
还提供通过上面的压缩方法可得到的压缩信号。这样的压缩信号表示在预定空间中且特别在初始分级细分的叶单元处的物理属性的值,但它比初始映射占用更少的存储器空间(形容词“初始”指初始信号,也就是说,是在离散小波变换之前的信号)。压缩信号实际上包括编码的离散小波变换,从而包括表示对起源于离散小波变换的子带的分级组织编码的结果的数据。压缩信号还可包括指示初始分级细分的叶单元的额外信息,系数从叶单元映射到初始信号。这样的额外信息可以是表示初始映射本身的数据,但在初始数据中(只)丢弃提供系数值的数据。系数值实际上以减小尺寸版本的压缩信号被提供:编码的离散小波变换。
还提供用于对通过上面的压缩方法可得到的压缩信号进行解压缩的计算机实现的方法。压缩信号可实际上通过上述压缩方法得到。可因此在压缩-然后-解压缩全局过程中顺序地执行压缩和解压缩。然而可通过其它压缩方法得到压缩信号,假定它们导致相同的压缩格式。解压缩可在于反转被执行用于实施压缩的计算,以便使用稍后讨论的选项从如本身已知的离散小波变换取回初始信号。解压缩可从而包括对压缩信号解码,以及然后反转离散小波变换(即执行离散小波变换的反量)。
在示例中,解压缩可导致不存于初始信号中的系数,即从在压缩之前不映射到任何系数的叶单元映射到的系数。解压缩可包括对于由解压缩生成的每个系数,确定系数是否最初存在。这可基于存在于压缩信号中的额外信息,例如上面提到的额外信息。解压缩可包括丢弃最初不存在的系数。
还提供包括信号的使用例如基于映射而执行的表示的显示和/或计算和/或模拟的计算机实现的方法。可在解压缩之后和/或在压缩之前在全局过程中执行该使用。
还提供包括用于执行压缩方法、解压缩方法和/或使用的指令的计算机程序。
还提供计算机可读存储介质,其具有在其上记录的计算机程序和/或压缩信号。
还提供包括耦合到存储器的处理器的系统,存储器具有在其上记录的计算机程序和/或压缩信号。
附图说明
现在将作为非限制性示例并参考附图描述本发明的实施方式,其中:
图1示出了该方法的示例的流程图;
图2示出了系统的示例;以及
图3-图11示出该方法。
具体实施方式
参考图1的流程图,提出一种用于压缩表示在预定空间中的物理属性的值的数据(即处理所述数据,使得在存储器存储装置上的数据的大小例如至少在统计上减小,例如同时失去相对少的信息或不失去信息)的计算机实现的方法。该方法包括提供(S10)包括表示在预定空间的分级细分的相应的叶单元处的物理属性的值的信号。该方法还包括使用小波卷积滤波器的预定基来确定(S20)信号的离散小波变换。基于信号的数据结构、特别是根据分级细分结构来执行离散小波变换。换句话说,在离散小波变换下递归的结构遵循分级细分的结构。然而换句话说,离散小波变换包括从叶单元开始确定在对应于倒回分级细分结构的序列中的子带。该方法然后包括例如以任何方式例如以无损方式对在S20确定的离散小波变换编码(S30)。可选地,该方法还可包括在编码S30之前,以任何经典方式(例如在这样的阶段进行无损压缩但允许增加压缩比)量化从小波变换生成的系数。这样的方法提高表示在预定空间中的物理属性的值的数据的压缩的领域。
首先,在S30编码的物理属性的离散小波变换导致数据结构,其形成原始数据和初始信号的压缩(即压缩版本)(例如该原始数据和/或初始信号可因此在该方法之后被丢弃/删除,例如从信号最初被存储于的非易失性存储器或从在通过该方法的过程下形成建模的对象并例如被发送到远程系统的任何数据,例如该方法涉及压缩在非易失性存储器上定义建模的对象的数据和/或将建模的对象的压缩发送到远程系统例如远程工作站的过程,从而节省带宽)。因此,该方法提供新压缩,其可基于任何其它压缩方案并从而增加这样的其它压缩方案的效率,且特别是压缩比。此外在示例中,压缩至少在确定S20的阶段是无损的。
此外,该方法可对表示不同于一组地点、一组位置或真实对象的形状表示的物理属性的信号的变换并编码。实际上,该方法提供以被映射到一组位置、即分级细分的叶单元的系数的形式的信号。这组位置因而已经由分级细分数据结构提供,且由映射提供的系数可因此传送超出仅仅这组位置的额外信息,在这种情况下该方法压缩这样的额外信息。该方法因此改进仅聚焦于压缩定位数据的现有技术方法。
它特别是最终被编码的离散小波变换的事实证明是特别有效的。实际上,小波压缩方案的使用允许该方法实现相对高的压缩比。特别地,物理属性值(例如标准属性,例如顶点颜色或每顶点法向量)具有良好的空间相关性,其通过小波压缩方案被很好地考虑。在示例中,物理属性的值具有高于预定阈值的空间相关性。此外,小波压缩方案的使用允许该方法是相对快的。特别地,确定S20和/或编码S30可被并行化(例如,并在GPU上实现)。
此外,离散小波变换系数(S20的输出)可被分类成频率子带。然而,该方法可根据自然地设计成提供递进性的公知的小波定向编码方案例如EZW(在Shapiro的论文“Embedded image coding using zerotrees of wavelets”中被描述)或SPIHT(在Said和Pearlman的论文“A new fast and efficient image cdec based on set partitioningin hierarchical trees”中被描述)或配置成提供递进性的其它编码方案(如本身已知的)来执行编码S30。
然后,考虑属性数据不以原始方式变换(例如,作为非结构化的一组值)。更确切地,物理属性系数与分级细分(其本身与其中提供信号的预定空间相关联)相关联,且所述特定结构以实现压缩效率的方式涉及变换,因为物理属性的空间连续性被利用。多亏基于分级细分来执行确定S20的方法,该方法考虑叶单元的不规则和/或稀疏结构和因而表示从其映射的物理属性的值的系数的不规则和/或稀疏结构。实际上,分级细分不定义规则栅格状结构,也就是说,它的叶单元都在同一水平处和/或都是非空的,使得这组系数不定义在预定空间中的物理属性的值的完美连续体。该方法仍然解释高空间相关性,所述相关性是由于被压缩的数据是物理属性的值的事实。换句话说,该方法处理不连续性,同时考虑相关性,其中存在连续性。因此,该方法实现相对高的压缩效率。总而言之,该方法可将小波压缩范式有效地应用于不规则和/或稀疏情况。
此外注意,与图1的方法的示例比较,小波变换可被确定(例如在现有技术的2D图像情况下)的特定方式的直接适应将是低效的。例如,使零值与空白空间(其中没有物理属性)相关联将比该方法的示例更不有效,因为不连续性将生成。此外,在小波变换的确定S20之前的物理属性的多项式插入执行起来相对长。该方法的示例替代地不引入不连续性,其降低压缩比且因此相对快地执行。
在示例中,该方法包括以点云或3D网格的形式提供原始数据(经由信号采集,例如使用一个或多个物理传感器,例如RGB-深度摄像机和/或从运动恢复分析结构设备和/或任何其它感测设备),其中每个离散位置或元件与物理属性的一个值相关联,且该方法处理这样的原始数据,即不完成它(例如通过零和/或多项式插入值)。换句话说,被包括在由该方法压缩的信号中的系数都是原始获取的数据的值(例如且相反,原始获取的数据的值的全部或大部分例如至少75%成为在S10提供的待压缩的信号的系数)。
而且,压缩被执行的方式允许快速解压缩(这样的解压缩方法直接起源于压缩被执行的方式,如从小波变换数据压缩的领域本身已知的)。在下文中,术语“方法”有时可以指解压缩方法。
该方法是计算机实现的。这意味着该方法的步骤(或实质上所有步骤)由至少一个计算机或任何相似的系统执行。因此,该方法的步骤可能全自动地或半自动地由计算机执行。在示例中,可通过用户-计算机交互作用来执行该方法的步骤中的至少一些的触发。所需的用户-计算机交互作用的水平可取决于所预见的自动作用的水平,并与实现用户的希望的需要相平衡。在示例中,这个水平可以是用户定义的和/或预先定义的。例如,水平根据其被确定的信号或数据可由用户提供(例如从存储器取回和/或被设计/构造),且该方法可接着全自动地被运行以压缩信号(例如可能在用户发起特定的软件功能(例如,“压缩命令”)之后)。
该方法的计算机实现的一般示例是使用适合于这个目的的系统执行该方法。系统可包括耦合到存储器(例如,且耦合到图形用户界面,即GUI)的处理器,存储器,在所述存储器上记录有包括用于执行该方法的指令的计算机程序。存储器还可从存储数据库。存储器是适合于这样的存储的任何硬件,可能包括几个物理上不同的部分(例如一个部分针对程序,且可能一个部分针对数据库)。
图2示出了系统的示例,其中系统是客户端计算机系统,例如用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到该总线的随机存取存储器(RAM)1070。客户端计算机还被提供有与连接到总线的视频随机存取存储器1100相关联的图形处理单元(GPU)1110。视频RAM 1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备例如硬盘驱动器1030的访问。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,作为示例包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘例如内部硬盘和可移动盘;磁光盘;以及CD-ROM盘1040。前述项中的任一个可由特别设计的ASIC(专用集成电路)实现或合并在特别设计的ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机也可包括触觉设备1090,例如光标控制设备、键盘等。光标控制设备在客户端计算机中用于允许用户选择性地将光标定位在显示器1080上的任何期望位置处。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括用于将控制信号输入到系统的多个信号生成设备。典型地,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或此外,客户端计算机系统可包括触敏板和/或触敏屏幕。
计算机程序可包括由计算机可执行的指令,指令包括用于使上述系统执行该方法的单元。程序可记录在包括系统的存储器的任何数据存储介质上。程序可例如在数字电子电路中或在计算机硬件、固件、软件中或在它们的组合中实现。程序可被实现为装置,例如有形地体现在机器可读存储设备中的产品,用于由可编程处理器执行。方法步骤可由可编程处理器执行,可编程处理器执行指令的程序以通过对输入数据操作并生成输出来执行该方法的功能。处理器可以因此是可编程的并被耦合来从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并将数据和结构发送到数据存储系统、至少一个输入设备和至少一个输出设备。如果需要,应用程序可以以高级过程或面向对象的编程语言或用汇编或机器语言来实现。在任何情况下,语言可以是编译或解释语言。程序可以是完全安装程序或更新程序。在系统上的程序的应用在任何情况下导致用于执行该方法的指令。
该方法可通常处理建模的对象并压缩其物理属性信号。建模的对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,表达“建模的对象”指定数据本身。根据系统的类型,建模的对象可由不同类型的数据定义。系统可以实际上是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在那些不同的系统中,建模的对象由相应的数据定义。我们可相应地提及CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是彼此排他的系统,因为建模的对象可由对应于这些系统的任何组合的数据定义。系统可因此适当地是CAD和PLM系统。
现在讨论由该方法处理的数据。通过该方法输入的数据是允许信号的提供S10的任何数据。该方法可在下文中讨论的应用的任一个或任何组合中实现,和/或预定空间和/或物理属性可以是在下文中讨论的应用的任一个或任何组合,和/或物理属性可以是真实对象之一,在这种情况下真实对象可以是例如在下文中讨论的应用的任一个或任何组合中的任一个。
该方法用于压缩表示在预定空间中的相同物理属性的值的原始数据,预定空间在整个下文中被记为S。原始数据可在任何格式下、可能已经在S10提供的信号(这意味着在S10提供的信号是原始数据)的格式下被输入到该方法。该方法可接着以任何方式在S10提供待压缩的信号的感兴趣的格式,即包括映射。信号S10表示原始数据。信号可以用任何方式从预先提供的原始数据构建,或以那种方式被取回。该方法可处理只在S10提供的信号。
物理属性是传送关于在S中出现的物理现象的行为的信息的任何函数。物理属性可以因此是表示物理现象的任何空间连续函数(相对于S)。该函数采用至少在S的位置处的值,每个值表示在所述位置处的物理现象。该函数可采用在未被该方法考虑的其它位置处且可能因此仅仅被丢弃的值。
物理属性可与颜色或测光数据、物质数据的量、形状数据、速度数据、电磁数据、温度或热量数据、质量数据、力数据、放射性数据、材料质量数据、能量数据、音频或无线电数据、化学数据和/或生物数据中的任一个或组合有关。
S是包括表示物理属性的值的位置的任何域。术语“空间”由数学定义以宽泛的方式定义为例如在“向量空间”中。术语“位置”表示在S中的任何定位,例如包括但不一定限于几何定位。在物理现象是时间相关的且空间S不包括例如时间维度且例如它被限制为几何定位的情况下,值可对应于相同的时间或相同的时间窗(例如低于10秒),这意味着值可表示在这样的相同时间或时间窗处的物理属性,从而表示物理现象的静态图片/说明。如可被理解的,S可以是二维的(例如在信号是2D图像的情况下)或三维的(例如在3D表示的情况下)。但S也可包括时间维度或任何其它维度。
物理属性可以是真实对象的物理属性,例如不同于由构成真实对象的材料占据的S的位置。真实对象可包括具有形状的任何物理实体,例如固体、流体和/或由一组粒子(例如气体)可表示的任何对象。术语“形状”表示在真实世界中的真实对象的至少一部分的任何物理结构/几何结构。在这样的情况下,分级细分可对应于真实对象的形状的分级细分表示。分级细分表示可例如具有用指示真实对象在那时的存在的信息标记的叶单元。
真实对象的物理属性可以因此是表示例如不同于它的唯一形状的其一个或多个物理特性或特征的任何集合的一条信息。物理属性可以是颜色(例如这意味着每个值表示在相关位置处的真实对象的颜色)、法向量(例如这意味着每个值表示在相关联的位置处的真实对象的表面法线)、纹理化(例如信号的值是例如由纹理图谱创建算法生成的纹理化坐标,也被称为UB纹理化,例如公知的ABF++算法)和/或速度(例如粒子速度,例如在对象包括流体的情况下的流体模拟)的任一个或组合。
在示例中,可在CAD上下文中、例如在工业度量衡过程或检查过程中应用该方法。真实对象可以是制造产品,例如机械零件的组件的机械零件。可在医学成像上下文中应用该方法。在这样的情况下,真实对象可以是生物系统,例如器官或任何其它生物系统,例如任何生物组织(例如使用任何医学数据采集系统获取的)。可在地面或都市环境修改中应用该方法。在这样的情况下,真实对象可以是城市的一部分,例如包括一个或多个建筑物或其部分的场景。可在3D重建或虚拟化上下文中应用该方法。在这样的情况下,真实对象可以是真实生活对象的3D重建。可在流体模拟上下文(例如SPH)中应用该方法。在这样的情况下,真实对象可以是流体,且这组位置中的每个可以表示其流体粒子(例如在这种情况下,该方法可应用于模拟流体的行为的序列的多个帧)。
真实对象可以是在使用例如CAD软件解决方案或CAD系统完成产品的虚拟设计之后在真实世界中制造的产品,例如(例如机械)零件或零件的组件(或等效地,零件的组件,因为零件的组件可以本身从该方法的观点被看作零件本身,或该方法可独立地应用于组件的每个零件)或更一般地,任何刚性主体组件(例如移动机构)。CAD软件解决方案允许在各种和无限的工业领域中的产品的设计,这些领域包括航天航天、建筑学、建筑物、消费者商品、高科技设备、工业设备、运输、海运业和/或近海油/气生产或运输。由该方法设计的3D建模的对象可因此表示工业产品,其可以是任何机械零件,例如陆地车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和机动车设备、卡车和公共汽车、火车)的零件、飞行器(包括例如机身设备、航空航天设备、推进设备、防御产品、航线设备、太空设备)的零件、军舰(包括例如海军设备、商船、近海设备、游艇和施工船、航海设备)的零件、一般机械零件(包括例如工业制造机器、重型汽车机器或设备、已安装的设备、工业设备产品、所制造的金属产品、轮胎制造产品)、电气机械或电子零件(包括例如消费者电子设备、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和装置)、消费者商品(包括例如家具、家用和园艺产品、休闲商品、时尚产品、耐用消费品推销员的产品、非耐用品推销员的产品)、包装(包括例如食物和饮料和烟草、美容和个人护理、家庭产品包装)。
空间S可以是其中定义真实对象的预定空间。它可以是场景,例如2D或3D场景,其中真实对象由位置表示,例如真实对象被设计、加载的场景或当真实对象在3D重建过程中被使用时的又一重建场景。空间S可以可选地是在这样的场景中为真实对象划界的框,例如在几何上包括对象的最小正方形或立方体。
可在多个上下文中应用该方法,其中一组值在S中被提供且是相对不规则和/或稀疏的(这可由具有至少一个空的叶单元、即不映射到系数或映射到空的叶单元的分级细分保证,例如所有空单元对应于S的尺寸的至少10%或50%),和/或取决于物理属性是什么,物理属性具有非零空间相关性(例如严格地高于0的值(例如相对高的值)的空间相关性)。在这样的上下文中,该方法实现特别高的压缩比。例如,该方法可应用在基于粒子的应用(例如点云渲染、使用SPH例如平滑粒子流体动力学或3D模型压缩的流体模拟)中。
在示例中,原始数据的至少部分可由使用一个或多个3D扫描仪(即3D数据获取设备)获取的数据提供。可选地或此外,原始数据的至少部分可由3D重建感测设备提供,所述3D重建感测设备包括RGB摄像机和/或深度传感器,例如RGBD摄像机。可选地或此外,原始数据的至少部分可以是用户设计的/定义的。在原始数据中的值可起源于物理现象的说明、测量、模拟和/或设计。原始数据和因而接着在S10提供的信号由此呈现相对于S的空间相关性的某个水平。
如所解释的,原始数据可采用任何格式。特别地,原始数据可包括S的一组位置,每个位置被提供有物理属性的相应值。这组位置可被提供为一组位置,例如2D或3D点云或2D或3D网格。位置可表示真实对象例如固体、流体、气体或任何有形对象的材料的形状或存在。可选地或此外,原始数据可包括其中物理属性采用不表示真实对象的材料的值的位置。然而,原始数据可相当于S10的信号。在任何情况下,原始数据表示采用在S中的值的物理属性。
如果它按照原样被提供(S10)或从其它原始数据构建,则由该方法压缩的信号具有特定的结构。特别地,它包括从S的分级细分的元素到相应的系数的映射。可以用任何方式确定映射。它可基于原始数据来确定。S的分级细分可存在于原始数据中,或在用于压缩形状信息的方法期间独立于图1的方法而被构建。在任何情况下,S的分级细分的元素即单元指向系数(或与系数“相关”、“有关”或“链接”到系数)。每个系数表示在它从中被指向的单元处的物理属性的值,其与原始数据一致。
在原始数据被提供为S的一组位置例如2D或3D点云或2D或3D网格的情况下,可以以任何方式经由关于现有技术提到的例如空间树分割(例如BSP、k-d树、八叉树(例如对于3D形状)或四叉树(例如对于2D形状))来构建分级细分。这样的分级细分可独立地和/或在图1的方法之前被执行,例如以用压缩方式表示真实对象的形状,如关于现有技术提到的。针对这组位置提供的物理属性值可被分配到表示相应位置的分级细分的相应叶单元。可以用任何方式例如通过在存在每叶单元几个原始位置的情况下平均化来执行该分配。在这里理解,分级细分可包括空的叶单元,即叶单元不一定与物理属性值相关联。在任何情况下,在S10提供的信号中的映射从本地化数据的观点看构成每位置原始属性值(例如点云)原始数据的压缩。图1的方法然而通过压缩在S10提供的信号来进一步进行。
给定空间s的分级细分按照定义是表示s到单元(即s的部分)的分级(即递归)细分的数据。下面提供本身已知的定义。但在这里注意,表示真实对象的形状的给定空间s的分级细分的示例包括空间树分割,例如BSP、k-d树、八叉树(例如对于3D形状)或四叉树(例如对于2D形状),如关于现有技术提到的。下面提供的定义因此适用于这样的特定类型的分级细分(从现有技术公知的),其可从而由该方法实现。
“单元”是空间s的任何部分。空间s可以因此是单元本身。单元可限于s的规则和/或中凸子部分。在示例中,所有单元可将相同的形状呈现为s。例如,如果s是立方体(相应地正方形),单元可相应地限于立方体(相应地正方形)。在示例中,递归的相同水平的单元可表示相同的几何结构(形状和尺寸),从而只在它们的位置方面不同。在示例中,递归的所有水平的单元可表示相同的形状,只在它们的尺寸和位置方面不同。尺寸可由在递归中的水平完全确定,可能连同空间s的尺寸一起。
所谓表示“递归细分”的数据指的是表示空间s的分级分割的数据结构,例如在(最大树深度n的)树结构的形式中,例如具有唯一的根节点的单个树(根节点例如表示s,s因而是细分的起始单元)或一组几个树,每个树具有相应的根节点。表达“递归细分”表示导致分级分割(其可以但不一定在S20之前在图1的方法内被执行)的操作和结果本身,即分级分割本身。递归细分的单元(被称为“父”单元)每个可以被细分成几个相应的单元(被称为“子”单元)。根据应用于空间的这组位置的组分割的公知的数学定义,给定(同一)父单元的子单元形成父单元的空间分割。
空间s的分级细分可以是s的最大深度n分级k细分。也由表达“具有深度n的空间s的k分割”提到的给定空间s的最大深度n分级k细分通常可在下文中被记为k_treen(s),且它按照定义是表示到单元的s的递归细分(即s的部分)的数据,在递归中的路径具有低于或等于n的长度(即在单个递归中的至多n个细分操作,对应于树数据结构的“深度”的定义)。给定单元的每个细分可导致确切地k个子单元(即具有给定单元作为它们的公共父单元的单元),其中k是可被确定的严格的正整数。k可以在不同的细分上是恒定的。如所公知的,在八叉树(相应地四叉树)的情况下,k等于8(相应地4),且给定单元的子单元被称为“八分体”(相应地“四分体”)。
可以用预定方式,即根据预定的细分方案来执行递归细分。在示例中,递归细分可在递归的每次迭代时执行相同的预定细分操作。以这种方式,在每个单元细分时,子单元可通过仅仅确定它们在形成k_treen(s)的数据结构中在逻辑上位于哪里来被几何地定位。k_treen(s)可因此简单地包括到空间s的链接(例如在关系数据库中的指针或关系)和在逻辑上表示整个递归细分的(例如极简)树数据结构,其中每个节点表示在所链接的空间(即空间s)中的单元。多亏根据预定方式执行了细分且k_treen(s)因而具有对应的和预先已知的数据类型(即指示所述预定方式),树结构的每个节点表示在空间s中的适当定位的单元,按照原样且没有与它相关联的特定几何数据。这是特别从八叉树或四叉树广泛已知的。
例如,在八叉树(相应地四叉树)中,关于预定方向(x,y,z)(相应地(x,y)),每个细分的单元可以是立方体(相应地正方形)并导致八个(相应地四个)子单元,每个子单元具有细分的单元的长度的一半的长度(即每个尺寸被切为两半)。可因此通过分配到表示单元相对于它的父单元的相对位置的在k_treen(s)中的每条数据(例如节点)并通过将根(例如节点)链接到空间s来完全确定相应单元的位置。可通过树的数据组织以极简方式确定相对定位。相对定位可相当于相对于(x,y,z)(相应地(x,y))的两个可能的值之一。在八叉树的情况下,这些可能的值可例如被记为相对于x的“左”和“右”、相对于y的“前”和“后”和相对于z的“顶”和“底”。这些仅仅是表示法约定,因为可设想任何二进制参数。在下文中保留类型的标记例如{0,1}3。在这样的k_treen(s)中的单元的位置和几何结构因而由s和表示在k_treen(s)中的单元的这条数据(例如节点)的逻辑位置的知晓而完全确定。
k_treen(s)可以因此是指向空间s并具有表示s的单元的节点的树数据结构,根节点表示空间s本身。k_treen(s)具有定向弧,每个弧从相应的起始节点到尾节点。弧捕获尾节点表示由起始节点表示的单元的尾单元的事实。具有相同的起始节点的弧可被组织,使得由其尾节点表示的每个单元的相对分割被预先确定。在这样的情况下,k_treen(s)的最大深度是k_treen(s)的最大分支的弧的数量,且它等于n。n可以被预先确定为递归细分。可选地,特别是如果递归细分在将真实对象的形状表示为有限的一组几何结构例如3D位置或3D网格瓦片或网格的顶点的数据结构上被执行,则n可由例如由递归细分方案实现的细度或分辨率标准确定。例如,n可被确定为最小整数,使得每个单元包含至多一个几何结构(例如一个位置或顶点)。这仅仅是示例。
现在,在表示形状和/或物理属性值的k_treen(s)中,每个单元是空的或非空的,意味着由k_treen(s)表示的递归细分的每个单元是否毫不包含形状和/或物理属性(即空单元)或包含形状和/或物理属性中的至少一部分(即非空单元)。空单元可以因此是不包含真实对象的材料的单元,而非空单元是包含真实对象的材料的单元。k_treen(s)因此可包括捕获这样的信息的数据,且这个数据可具有任何类型,例如包括指针,每个指针从单元到指示单元(例如由节点表示的)是否表示空单元或非空单元的值/标志符(例如二进制值)。不同于n的深度的每个非空单元可被细分成k个单元。换句话说,只要材料和/或物理属性信息存在于单元中且针对细分允许的最大深度未达到,单元就被细分,以便优化由单元传送的信息。可以用任何方式提供这个空和非空信息,且真实对象的形状的几何结构可因而由非空单元的位置表示,该位置完全由早些时候提到的逻辑定位确定。
如从现有技术已知的,k_treen(s)因此通过指定在空间s中的包括材料(在对应于空间s的n个细分的分辨率下)的单元来以逻辑方式而不是基于确切位置的几何方式构成真实对象的形状的压缩版本。如果基于确切的几何结构执行了递归细分,则可丢弃这样的确切几何结构。这样的情况可对应于以确切的几何结构的形式表示真实对象的形状的数据的无损压缩。图1的方法可遵循这样的第一无损压缩。但确切的几何结构可以可选地被保持。实际上,图1的方法应用于表示物理属性的信号,而不是表示真实对象本身的形状的数据,其可经历任何其它过程。
递归细分可配置使得每个空单元必须是叶单元。这意味着空单元不能被细分。换句话说,当在递归期间找到没有材料的单元时,该过程不再细分它。这增加压缩比,如从现有技术已知的。
由图1的方法压缩的信号可与真实对象的形状的k_treen(s)表示有关,但按照原样它不是k_treen(s)。特别地,信号最初经由在非空叶单元上的系数的分布来表示真实对象的上面提到的物理属性。系数是表示由在非空叶单元处的物理属性采用的值的任一条数据,例如双和/或浮点和/或整数或其向量/集合/列表。空也可分布在k_treeN(S)的非空叶单元上并被授权作为系数,例如且表示零值。零值也可根本不由系数表示,在这种情况下考虑物理属性在所有非零叶单元中等于零,针对其没有信息或至少没有相反的信息被提供(例如不同于0的系数)。可选地,可能要求零值只由肯定地存在的信息表示。这些是取决于所保留的约定的实现细节。
与空叶单元或非叶单元相关联的系数——如果有的话——可以不被考虑,且可因此由该方法丢弃(例如被删除和/或至少不被处理或在计算中不涉及)。在系数不是标量(即一维)而是向量/集合/列表(即多维)的情况下,图1的方法可将向量/集合/列表看作整体被应用一次或几次,每次通过将向量/集合/列表投影在具有减少的维度的集合上,例如逐个坐标(例如将每个坐标看作不同的物理属性)。
现在讨论确定S20。
按照定义且如本身从信号处理的领域已知的,确定给定初始信号的离散小波变换通常意指涉及小波卷积滤波器的预定基。预定基仅仅是小波函数的预定集合(每个函数遵守小波属性)。滤波器可以每个被传递到(即迭代地应用于)给定初始信号,且每个滤波器导致相应的子带。因而得到的子带对应于给定初始信号相对于基的坐标,且它们一起形成表示信号的压缩方式(压缩由稍后的编码实现)。被称为“低通子带”的子带之一比其它子带更少参与总压缩。由于这个原因,该过程可在这个低通子带上迭代(用相同的基),依此类推。因此按照定义,确定给定初始信号的离散小波变换意味着使用小波卷积滤波器的预定基,图1的方法迭代相应子带的确定(经由递归)(同一单个递归导致几个子带:每相应滤波器一个相应的子带),包括从给定初始信号开始的在低通子带的每次迭代。在离散小波变换中,将相应的小波卷积滤波器应用于子带被称为“使子带通过”相应的小波卷积滤波器。滤波器因此在通过滤波器传递的子带的所有初始系数上“滑动”。这本身是已知的。
基本上,该方法包括在第一次递归时在信号中提供的系数上并接着在前一递归时得到的低通子带的小波系数上的随后的递归时使每个小波滤波器通过。该通过遵循分级细分的结构。在每次递归时,每个小波系数被分配到从初始分级细分开始的相同的“下一”分级细分,后面是“当前”分级细分的结构。因此,该通过遵循分级细分的结构,不仅在每次递归时而且在变换的整个递归过程中。这确保空间相关性和因而精细结果的保持。此外,这与压缩的速度和/或解压缩时间有关。
给出在S10提供的输入信号的特定格式,现在使用八叉树的示例作为分级细分来详述离散小波变换在S20被确定的方式。该方法包括在S10提供被记为cN,000的信号。在这个示例中,相对于八叉树数据结构来定义cN,000。然而示例可应用于其它分级细分类型。
关于八叉树细分具有等于整数N的最大深度的空间S,cN,000包括来自被记为octreeN(S)的八叉树的叶单元的被记为cN,000(·)的映射(表示该映射的数据)。如早些时候解释的,不是octreeN(S)的所有叶单元都以这种方式映射到图像。例如,不同于N的深度的叶单元可以不一定是空的。深度N的一些叶单元也可以是空的。此外,octreeN(S)可属于较大的八叉树,其叶单元不同于octreeN(S)的叶单元。这仅仅是一个观点,该方法考虑八叉树,其中物理属性在叶水平处被定义。
与在上面提供和在下面保留的示例一致,被映射到相应系数的octreeN(S)的叶单元可经由它们在八叉树中的路径被记下:aN 1aN 2...aN N∈C(LN(octreeN(S)),其中每个aN n(对于每个n∈{1,...,N})是三元组,其采用在指示从根节点开始从前一节点在八叉树中采用的分支方向的∈{0,1}3中的值。LN是表示在octreeN(S)中的深度N的所有叶单元的标识符。C是对于分级细分表示被映射到信号中的系数的所有单元的标识符。在初始信号中的这样的单元的数量可被称为C(octreeN(S))的基数,且它可被记为|cN,000(·)|。在只有系数被映射到的单元仅仅是深度N的叶单元的情况下,|cN,000(·)|=C(octreeN(S)|=C(LN(octreeN(S))。
在下文中,所考虑的信号相当于映射cN,000(·),其中|cN,000(·)|=|C(LN(octreeN(S))|,意味着只有深度N的叶单元映射到信号。C(LN(octreeN(S)))因此是所有这样αN 2αN 2...αN N的集合,其为映射到系数的分级细分的所有叶单元。此外,octreeN(S)可包括未映射到系数的叶单元,包括深度N的和/或不同N的深度的叶单元。这样的信号可基于从压缩被提供有属性值的一组位置得到的八叉树,如早些时候提到的。
这样映射到相应系数的每个叶单元aN 1aN 2...aN N看到被记为cN,000(aN 1aN 2...aN N)的这样的系数。这样的系数表示在相应叶单元处的物理属性的值。这个整个映射因此表示物理属性如何在空间S上操作。
现在,如早些时候提到的,图1的方法包括使用小波卷积滤波器的任何预定基来确定(S20)这个信号的离散小波变换。滤波器的数量在示例中可以是8且因此被记为fl(d,s),l∈{0,1}3,意味着离散小波变换的每次递归产生八个子带。该示例也可在该基中对其它数量的滤波器同样运行。其中滤波器的索引采用值的集合也可被记为l∈{L,H}3,“L”指低通,而“H”指高通,指数指八叉树示例的3D情况的自然基(基的索引对于四叉树将是l∈{0,1}2)。d是小波函数,而s是定标函数。
如已知的,确定S20相当于递归地确定子带(在该示例中是八个)。每次递归(或迭代/重复)可被编索引为D,D在该示例中使在这里保留的标识符递减。在下文中聚焦的示例中,且由于在使用时不同对象的标注尺寸,D特别地从N-1一个一个递减,且这可在任何时间停止,但也一直进行到0,使得D∈{N-1,N-2,...,0}并采用这组整数的连续递减的整数值。在给定递归D确定的每个子带可因此被记为cD,l,l∈{0,1}3或{L,H}3。这八个子带包括被记为cD,000(或等效地,cD,LLL)的低通子带。如已知的,通过在被记为cD+1,000的前一迭代(迭代D+1)的低通子带上使每个小波卷积滤波器fl通过来确定每个这样的子带。在递归开始时,还没有低通子带,使得它被考虑为初始信号,即cN,000
如早些时候解释的,在传统离散小波变换中,在每次递归时,低通子带例如独立地或同等地穿过一系列滤波器,一系列滤波器在低通子带上被穿过(即滤波器在低通子带所在的位置上被滑过或移动,并涉及在由滤波器定义提供的计算中的所述系数值,这本身是已知的)。在当前的情况下,低通子带具有带有在其叶单元中的系数(通过映射)的八叉树的格式。因此使给定滤波器在这样的八叉树上通过相当于在低通子带的叶单元区上通过,其中有系数(即映射到其的系数),包括使所有这样的系数通过给定滤波器,但不由使所有这样的系数通过给定滤波器组成。
初始信号的格式被维持,使得操作在整个递归中从N-1到0重复。实际上,在递归D确定的子带cD,l且特别是低通子带cD,000每个包括从八叉树的叶单元到系数(由小波滤波器确定,且因此被称为小波系数)的相应映射cD,l(·),就像初始信号一样。在初始信号的八叉树具有深度N的场合,在迭代D处考虑的这样的八叉树具有深度D。这个八叉树对于在迭代D确定的所有子带是相同的(在它上定义的映射然而可能是不同的)。可创建不同的实例,但八叉树在体系结构上是相同的,使得它可以被记为octreeD(S)(没有子带索引l)。因此,这样的八叉树的叶单元也可在没有这样的索引的情况下被记为深度D的路径:aD 1aD 2...aD D∈C(LD(octreeD(S))),到单元的这样的路径的每个aD n,n∈(1,...,D)在{0,1}3中不同。octreeD+1(S)是octreeD(S)的细分,意味着它对应于细分octreeD(S)的一个或多个单元。在该示例中,octreeD(S)甚至是octreeD+1(S)的子树。同样,octreeD+1(S)是octreeD(S)的细分,意味着它对应于在S上执行的八叉树递归细分构造过程中的额外细分步骤。这暗示octree0(S)是S本身。如参考附图稍后在示例中显示的,图1的方法因此使octreeD(S)倒回。
基本上,C(LD(octreeD(S))的每个给定叶单元aD 1aD 2...aD D映射到被记为CD,l(aD 1aD 2...aD D)的相应的系数。通过不将fl应用于CD+1,000的任何系数但应用于从细分aD 1aD 2...aD D的octreeD+1(S)的叶单元映射到的CD+1,000的那些系数来在前一递归D+1的低通子带CD+1,000上小波卷积滤波器fl的通过期间确定cD,l(aD 1*aD 2*...aD D*)。换句话说,当使低通子带在滤波器上通过时,叶单元(即具有相同的父单元的叶单元)的块的系数产生映射到父单元(其也是与下一低通子带相关联的八叉树的叶单元)的系数。由于所保持的维度(在该示例中由于滤波器的紧支集的大小与八叉树分割符相同),在该示例中可涉及所有这样的叶单元。系数因此可以被记为cD+1,000(aD 1*aD 2*...aD D*aD+1 D+1),且aD 1*aD 2*...aD D*aD+1 D+1(aD+1 D+1在{0,1}3中变化)属于C(LD+1(octreeD+1(S)))。
小波卷积滤波器fl可具有紧支集。因此,滤波器设计成将由相邻单元映射到的系数当做输入。这允许空间相关性的保持并因而导致良好的结果。
紧支集的大小可以小于或等于分级细分的分割符的最小值。分级细分的分割符是在(例如在该方法之前被执行的)分级细分过程期间起源于一个单元的细分的单元的数量。它可以是每个父单元在分级细分中具有的子单元的数量。这可以是变化或不变值。在变化值的情况下,考虑最小值。在不变值的情况下,考虑最小值等于所述不变值。在八叉树的情况下,分割符是8(即23),因为每个单元是叶单元或具有八个孩子。小于或等于分级细分的分割符的最小值的紧支集的大小允许空间相关性的保持,甚至在相对非常稀疏的分级细分的情况下。
在分级细分的分割符具有不变值的情况下,紧支集的大小可以等于分级细分的分割符的不变值。在早些时候提到的八叉树的示例中,紧支集可以是{0,1}3,且因此具有大小8。因此,每个滤波器应用于分级细分的最大深度的叶单元(在离散小波变换的每个当前递归)“逐个姐妹单元的块”。这样的配置确保压缩的效率。
使滤波器在当前递归的分级细分上通过可以用遵守由分级细分定义的排序的任何方式执行。在该通过期间,对于至少一个给定递归D,特别是如果滤波器被约束到在紧支集上应用,该通过可能遇到未被映射到系数的至少一个叶单元。这个叶单元可被记为aD+1 1′aD+1 2′...aD+1 D+1′,且它不属于C(LD+1(octreeD+1(S)))。单元未被映射到系数,滤波器可以用任何方式处理情况。
在示例中,确定S20包括在这样的情况下将被记为c′D+1,000(aD+1 1′aD+1 2′...aD+1 D+1′)的相应值分配到这样遇到的单元。(同一)所分配的值然后被输入到每个小波卷积滤波器。换句话说,该方法用“人工”分配的值填充滤波器的紧支集,使得滤波器可直接应用。这允许实现关于已知空间的紧支集定义的任何滤波器,且特别是在四叉树的情况下的任何预定的2D图像滤波器基或在八叉树的情况下的任何预定的3D图像滤波器基。
每当滤波器在单元的块上被应用时,滤波器的变元因此是上面提到的系数cD+1,000(aD 1*aD 2*...aD D*aD+1 D+1),aD 1*aD 2*...aD D*表示到块的父单元的路径,且在被映射到系数的所有单元当中aD+1 D+1在{0,1}3中改变,当缺少的系数被遇到(即“空”单元)时用所分配的值c′D+1,000(aD+1 1′aD+1 2′...aD+1 D+1′)补充,如果情况是这样的话。
在解压缩的时间,人工分配的值可通过由解码器识别而被过滤出。例如,该方法可包括在数据信息当中保持,关于该数据信息,初始分级细分的叶单元被映射到系数。例如,图1的方法可包括标记这样的单元的步骤。标记可存在于压缩信号中。可丢弃当将信号解压缩时得到的并被映射到其它叶单元的系数。
可以用任何方式确定所分配的值。例如,它可关于与迫使在给定递归确定的子带中的一个或多个零有关的标准来被确定。换句话说,该方法不是随机地而是在涉及它们的滤波器的预料中分配值,使得零然后被得到。所分配的值因此是导致零结果(当应用滤波器时)的滤波器的变元。可基于滤波器并基于当前的系数以迭代方式(例如逐个空单元)来确定所分配的值。稍后提供这么做的示例。零可接着非常有效地被编码,并因而与高压缩速率有关。这样得到的等于零的小波系数可被称为“迫零”。
标准可以是,在没有被迫使到零的给定递归处确定的所有子带的系数的数量等于没有被迫使到零的前一递归的低通子带的系数的数量。标准可以被记为这样,在初始信号中提供的系数的数量在整个递归中被维持,且该方法实现特别高的压缩比。例如,在每个递归,系数可被视为被分派到所有子带(例如实质上公平地),按模计算通过应用滤波器来操作的变换。
现在讨论与上述内容一致的图1的方法的总体示例。图3示出作为网格(左图)或点云(右图)提供的原始数据可如何使用八叉树被分割,以便提供S10包括从八叉树的叶单元到系数的映射的信号。
利用八叉树的方法的总体示例可聚焦于顶点属性的压缩。示例的方法假设空间已经在八叉树中被分割,这与早些时候列出的大部分现有技术方法兼容,因为大部分方法使用八叉树来压缩顶点位置。因此,不是从非结构化的一组位置开始,示例的方法从八叉树(可能从非结构化的这组位置得到)开始。图4示意性示出从点云开始的八叉树分割过程,其可在该方法之前被执行。
该方法的示例可被视为与用于图像的小波压缩方案有关。该方法的示例使这个思想适应于八叉树结构。该方法的示例基于在相邻单元中的顶点的属性是相关联的(例如,如果颜色是我们想要压缩的属性,则位于同一区域中的粒子可能具有接近的颜色值)事实。小波压缩对完全规则的结构(例如图像或视频)是公知的,其中待压缩的属性(例如像素颜色)在每个地方被定义。该方法的示例使这样的方案适应于八叉树,其中叶可包含粒子(和然后待压缩的属性的规定值)或是空的。
该方法因此可在于压缩在存储单元上的2D或3D空间中的一组粒子的计算机实现的方法。在示例中该方法可应用于压缩在2D或3D中的一组粒子(顶点),其中每个粒子具有在空间中的位置和我们想要压缩的至少一个属性(通常是颜色和法向量)。该方法可假设空间已经在八叉树(或在2D中的四叉树)中被分割,其中每个叶可包含粒子(和然后待压缩的属性的规定值)或是空的。八叉树结构是方便的,因为在现有技术中已知的方法最经常地采用这个数据结构。该方法还假设八叉树使用任何预定的压缩方案被编码,该方法可在解码器处被成功地重建(通过这么做,解码器恢复粒子位置)。该方法然后提供用于对在这组粒子上的属性值例如颜色、法向量和/或速度进行压缩。对八叉树编码/解码的压缩方案可以是任何这样的方案。方便的方案是在早些时候提到的Peng等人的论文“Geoometry-guidedprogressive lossless 3D coding with octree decomposition”中描述的几何编码器。这个方案建立具有期望特性的八叉树,但可以可选地使用来自早些时候列出的论文的基于八叉树的任何方法。八叉树结构可在属性之前(和与属性分离地)被编码和/或解码。
为了更好地理解示例的方法,提供关于小波压缩方案如何对图像工作的概述。这个框架可由该方法的示例实现。
图像的小波压缩方案在于下面的步骤。首先执行小波变换:离散小波变换应用于空间结构。然后执行量化:所得到的小波系数被量化(如所公知的)。然后执行编码:量化的小波系数被编码。在一些情况下,也可应用额外的步骤(例如块划分、色空间变换和/或使用PCA的数据对齐)。该方法也可遵循这样的体系结构,且特别地包括在确定S20之后(例如与确定S20交错)的量化步骤。解码方案可以接着是确切对称相反的,每个反转的步骤以反转的顺序被应用。下面提供关于这些步骤的更详细的解释。
编码是,在数据大小被真正减小的场合:根据输入符号来输出短符号,但以操作保持可逆的方式。在小波压缩方案中使用的编码器包括通用编码器如游程长度编码器、熵编码器(例如霍夫曼编码器、算术编码器)或字典编码器(例如Lempel-Ziv编码器)和专用编码器(例如零树编码器、SPIHT、EBCOT)。也可实现这些编码器的任何组合(例如游程长度编码器+霍夫曼编码器)。这个阶段大部分时间是完全顺序的;这意味着在GPU上并行化可能很难,并且它防止数据随机访问,因为我们不能对在编码数据的中间的符号解码而不对所有前面的符号解码。编码器的效率(压缩比)通过输入数据中的符号的多样性并通过这些符号的分布影响。如果输入只使用符号的小集合,则输出较小。当远离等概率分布时,输出较小:如果输入包含很多零和仅仅几个非零符号,则压缩比很高。
量化是将输入值的大集合映射到较小集合、例如将值舍入到某个精度单位的过程。执行量化的设备或算术函数被称为量化器。由量化引入的舍入误差被称为量化误差。再一次,在小波压缩方案中使用很多量化器。这个阶段涉及一些数据被丢失(量化误差)且于是为不可逆的。无损小波压缩方案跳过这个阶段。这个阶段使编码步骤变得更有效,因为它明显减小符号的多样性。它可能也影响符号分布(例如,死区量化器试图将大部分值舍入到零)。
小波变换使在一些系数上的信号的能量紧密,让其它系数接近于零。它大部分时间是几乎可逆的变换。小波变换通常由小波的选择确定。可根据待压缩的信号的形式来做出这个选择:Haar小波非常适合于快速变化的信号。LeGall 5/3-小波和9/7-CDF-小波更适合于缓慢变化的信号。这个阶段通过影响符号分布而使编码步骤变得更有效:小波变换的图像具有很多零和仅仅几个非零系数。小波变换通过迭代地应用作为一系列卷积滤波器来被执行。由被称为滑动窗方法的方法执行图像卷积:对于图像中的每个像素,像素的本地邻域乘以加权内核,并接着被加起来以得到新像素的值。图5示意性示出了使用滑动窗算法执行的卷积的这样的示例。被称为提升滤波器的另一方法(且在Wim Sweldens的论文“Thelifting Scheme:A Construction of Secnd Generation Wavelets”中被详述)有时是优选的,因为它更快,但它完全等效于卷积滤波器方法。这个阶段被认为利用信号的空间相关性:它移除像素对它的邻居的依赖性,这可被看作冗余信息,且数据压缩由于某种原因是冗余信息的移除。
当对图像N*N执行离散小波变换步骤时,迭代地应用一系列卷积滤波器。这将图像分解成被称为子带的一系列较小的图像。这在图6上示出,图6示出多分辨率分析:N*N个得到的小波系数被分类在子带中。每个子带包含被限制到给定频率范围(包括低通)的瓦片信息。一个级别的小波分解允许从在前面的分解步骤期间得到的低通子带构建四个子带。每个子带维度比它起源于的图像/子带的维度小两倍。如可在图6上看到的,子带1HL、1LH、1HH、1LL是在完整瓦片(它们的维度是N/2)上应用的小波分解的结果。子带2HL、2LH、2HH、2LL是在子带1LL(它们的维度是N/4)上应用的小波分解的结果;依此类推。分级子带结构可被称为多分辨率分析(因为所产生的系数按照频率范围被分组)。在过程结束时小波系数的总数与输入像素的数量(N*N)相同。
所有上述内容可被扩展到3D图像。不是四个子带,一个级别的小波分解产生八个子带。这在图7上示出,图7示出当离散小波变换在3D中被执行时的子带。然而,为了使离散小波压缩方案适应于八叉树结构,主要困难是,与具有完全规则的(例如栅格状)结构的传统图像不同,在这里,属性位于更复杂的结构上,其中属性值未被定义在每个地方。然而,被这个陈述影响的唯一步骤是小波变换:卷积滤波器和提升滤波器都需要定义每个粒子的本地邻居,这现在不那么清楚。量化步骤不看像素的邻居。编码步骤可能被系数的顺序影响,但与小波变换比较在较低的程度上。因此,编码(和可选的量化)对这个情景的适应是简单明了的,主要问题是小波变换(即确定S20)。
现在讨论与参考图1讨论的方法的示例一致的这样的离散小波变换到3D八叉树的适应的示例。
现在更详细地讨论示例,其中应用于八叉树的新的离散小波变换被称为稀疏小波变换。
首先,我们可以看多分辨率分析应像什么。在通常的输入应是N*N*N个像素(在每个像素中有规定值)的3D规则图像的场合,该方法处理最大深度N的八叉树,其中每个叶可保持定义明确的值(如果粒子存在于这个单元中)与否(如果没有粒子存在)。
该示例的方法确保小波变换保持接近于“规则图像”小波变换(稍后详述)。因此,如在“规则”情况中的:
1.通过使信号通过一系列滤波器(即,使滤波器在信号上通过)来计算小波变换。
2.每个级别的分解从在前一级别得到的低通子带产生八个子带。
该方法添加下列项:
3.通过每个步骤维持描述整个图像所需的系数的数量。以简化的方式,这八个子带中的每个包含比它们来自于的低通子带少八倍的(非空或非零)系数。
在每个步骤之前和之后维持相同数量的系数推断出在稀疏小波变换中的下面的特性(如果我们将D记作在一个步骤之前的低通子带的最大深度,对于第一步骤D=N):
i.由一个步骤产生的八个子带是最大深度D-1的八叉树(更精确地,在八叉树的叶单元上定义的映射)。
ii.在低通子带中在深度d<D处的空叶产生在得到的子带中在深度d处的空叶(即在这些叶中没有信息)。
iii.在深度D处的八个单元(2x2x2)的块(一个单元是非空的)产生在得到的子带中在深度D-1处的单元。
iv.在深度D处的八个单元(2x2x2)的块可具有从一到八个非零值单元。总是为了维持相同数量的系数,包含X个非零值单元的块应产生在八个得到的子带中分派的X个非零系数(即在这个阶段中零是被迫使的,且迫零可被编码为零系数值或根本没有系数值)。
因为我们处理一组2x2x2个单元,使用具有低于或等于2的紧支集(卷积内核的宽度)的小波是相对有效的。该方法然后也可通过可选地使用具有较大的紧支集的小波来工作。Haar小波(紧支集=2)在当前的情况下是良好的候选项,但小波滤波器的其它预定基可被实现。因此,该方法可应用于小波基,其中小波具有低于或等于2的紧支集。
使用“规则图像”,其中每个像素具有要编码的属性的规定值,应用于一组2x2x2个像素(aijk,i,j,k∈{0,1})的分解的一个步骤产生下面的系数(假设小波滤波器是可分离的,这意味着我们可分解卷积滤波器作为沿着x轴的卷积和沿着y轴的卷积的乘积):
●在LLL子带中:c000=s(s(s(a000,a001),s(a010,a011)),s(s(a100,a101),s(a110,a111)))
●在LLH子带中:c001=s(s(d(a000,a001),d(a010,a011)),s(d(a100,a101),d(a110,a111)))
●在LHL子带中:c010=s(d(s(a000,a001),s(a010,a011)),d(s(a100,a101),s(a110a111)))
●在LHH子带中:c011=s(d(d(a000,a001),d(a010,a011)),d(d(a100,a101),d(a110,a111)))
●在HLL子带中:c100=d(s(s(a000,a001),s(a010,a011)),s(s(a100,a101),s(a110,a111)))
●在HLH子带中:c101=d(s(d(a000,a001),d(a010,a011)),s(d(a100,a101),d(a110,a111)))
●在HHL子带中:c110=d(d(s(a000,a001),s(a010,a011)),d(s(a100,a101),s(a110,a111)))
●在HHH子带中:c111=d(d(d(a000,a001),d(a010,a011)),d(d(a100,a101),d(a110,a111)))
其中d是小波函数,以及s是相关联的定标函数。在Haar s(x,y)=α*(x+y)和d(x,y)=*(x-y)的情况下,其中α和β是标准化因子。
在稀疏小波分解的一个步骤中:
●当在深度D处的八个单元(2x2x2)的块具有8个非空单元时,考虑一个单元在与3D图像相同的情况中。aijk都是定义明确的,且该方法可应用上面的公式。换句话说,在这种情况下,该方法应用适合于2D图像并具有2x2的像素的紧支集(例如在当前情况中的Harr小波)并针对3D配置(即2x2x2的像素的紧支集)的预定小波。
●当在深度D处的八个单元(2x2x2)的块具有X(0<X<8)个非空单元时。一些aijk是定义明确的(非空单元),而一些aijk具有无定义值(空单元)。如上面提到的,该方法确保X个非空单元产生在八个子带中分派的X个非空系数(早些时候提到的特性iv)。因此,该方法迫使8-X个cijk系数为空。该方法的示例在于针对无定义的aijk选择任意值,使得8-X个cijk系数将是空。
使用下面的表示法:
●[A]=(aijk),[A]是8x1向量。
●[C]=(cijk),[C]是8x1向量。
●[M]=与上面定义的变换相关联的矩阵。[M]是8x8矩阵,以及
●[C]=[M]*[A]
●由于离散小波变换如何工作,[M]列是正交(非空)向量。
在典型Haar小波的情况下:
我们可将[A]和[C]的元素重新排序,那样:
是定义明确的aijk,且[A-]是无定义的aijk
是我们不迫使为零的X个cijk值。
[M]矩阵必须被重新计算:新[M]基本上等于在左边和在右边乘以置换矩阵的老[M]。新[M]列仍然是正交(非零值)矢量,因为这个特性由与置换矩阵的相乘保持。
我们可将新矩阵[M]写为:
使得[C]=[M]*[A]变成:
[C+]=[M1]*[A+]+[M2]*[A-],以及
[0]=[M3]*[A+]+[M4]*[A-]
如果[M4]是可逆的:
[A-]=-[M4]-1*[M3]*[A+](方程1),以及最后
[C+]=([M1)]-[M2]*[M4]-1*[M3])*[A+](方程2)
(方程1)表明,我们应分配到无定义的aijk以使8-X个cijk为空的任意值完全由我们想要为空的8-X个cijk系数的选择确定。
(方程2)表明,如果我们可选择应为空的cijk系数,使得[M4]是可逆的,则我们可计算[C+],其为使用上面的公式的分解的步骤的结果。
最后,需要在该方法的示例中设置的唯一的事情是应为空的8-X个cijk系数的选择。可以用任何方式执行这个选择。一旦完成了这个选择,该方法就可计算[M1]、[M2]、[M3]、[M4]和最后[C+],其为分解的步骤的结果。
下文证明这样的有效选项总是存在,使得该方法可以总是执行该选择。
是[M]的8-X列。/>是在维度8-X的子空间S上的这8-X列的正交投影。这个子空间S由配置(即在八个单元(2x2x2)的块中的定义明确的aijk和无定义的aijk的位置)给出。[M]的8-X列的选择由我们对我们想要迫使为空的8-X个cijk系数的选择给出。如果/>是线性地独立的,则[M4]是可逆的。
如前面陈述的,[M]列是正交(非空)向量。这些向量ml可被标准化以得到正交基。这些基向量在S上的正交投影是S的过完备基。相应地,我们可以总是找到[M]的8-X列,例如它们在S上的投影[M4]形成S的完备基,意味着[M4]是可逆的。
下文聚焦于如何选择应为空的8-X个cijk系数。
具有X个定义明确的aijk(0<X<8)的八个单元(2x2x2)的块具有个可能的配置(在八个单元当中的X个定义明确规定的aijk的位置)。如果我们考虑每个可能的配置(具有X的每个可能的值),我们有/>个可能的情况要考虑。
为了完全定义稀疏小波分解,我们还必须对这254个可能的情况中的每个定义,这是我们想要为空的cijk系数。已经证明,对于每个配置,有至少一个有效的选择。每当该方法遇到具有X个定义明确的aijk(0<X<8)的八个单元(2x2x2)的块时,该方法可简单地检查它在哪个配置中,并应用对这个配置预先确定的选择。
事实上对于每个配置,常常有很多有效的选项。一些选项可以比其它选项更相关。选项的预先确定可遵循下面为了高效率而讨论的原理。
因为很多配置是相似的,它们可在同一类别上被分组和处理。我们也可预先确定“典型”选项。这样的典型选项是简单的并对很多配置起作用。它可被描述为:对于在{0,1}3中的每个(i,j,k),如果aijk具有无定义值,则该方法迫使cijk为空。存在其中这不是有效的选项(因为[M4]不是可逆的)一些配置。
注意,使用“规则”Haar分解,在LLL子带中:c000∝∑aijk→LLL子带存储8个像素的一类平均值。此外,其它子带存储在一个方向上的平均差异(c000几乎是沿着x轴的平均差异,c010沿着y轴,等等)。这意味着在具有X个定义明确的aijk的八个单元(2x2x2)的块中,该方法可保持c000的非空值,除了定义明确的aijk的平均值为空以外。因此,为了保持这个行为,该方法可保持c000在它不想迫使为零的8-X个cijk系数之外。
对于接下来的步骤(量化和编码),因为八叉树结构是已知的,该方法知道多分辨率分析结构看起来像什么,以及在这个结构中的哪些零是在前面的段落中产生的“迫零”。所以这些单元不需要被量化和编码。
在解压缩阶段,解压缩方法可假设八叉树结构已经被解码(顶点位置在顶点属性之前并与顶点属性分离地被解码)。当执行反转的小波变换时,该方法可考虑哪些值是真实非空单元,以及哪些值是“填充的单元”,使得这些值可被丢弃。
现在讨论这样的离散小波变换对2D四叉树的适应的示例。这个示例对应于在二维中(具有四叉树而不是八叉树)的前面的示例的应用,3D八叉树情况是这个示例的扩展。
为了使离散小波变换适应于四叉树,我们可首先看多分辨率分析应看起来像什么。应用于四叉树的这个新的离散小波变换也被称为稀疏小波变换。小波变换的经典图像N*N由最大深度N的四叉树代替。
每个级别的分解从在前面的分解步骤期间得到的低通子带产生四个子带。
为了维持在变化之前和之后的系数的相同数量:
1.这些子带是最大深度N-1的四叉树。
2.在深度M≠N处的空叶产生空叶。
3.在深度N处的一组四个单元(2x2)(一个是非空的)产生在深度N-1处的单元。因为有四个子带,这生成四个系数。这在图8上示出,图8从左到右示出原始四叉树(黑点图,其中待压缩的数据具有规定值),然后是在系数小波变换的1/2/3步骤之后的多分辨率分析。规则1到3定义多分辨率分析的结构。稀疏小波变换的每个步骤产生4个子带。每个子带是四叉树。
4.在深度N处的一组四个单元可具有1、2、3或4个非空单元。总是为了维持相同数量的系数,包含1/2/3/4个非空单元的一组可产生在四个子带中分派的1/2/3/4个系数。这在图9上示出,图9示出通过添加规则4来更新的图8的方案。系数小波变换的每个步骤在这个示例中维持相同数量的系数。
当我们处理2x2个单元的组时,一个可能性是使用具有低于或等于2的紧支集(卷积内核的宽度)的小波,这导致简单的计算。Haar小波(紧支集=2)是良好的候选项。可设想具有较大的紧支集的小波的使用。
从现在起,我们假设小波具有低于或等于2的紧支集。使用2D图像,其中每个像素具有要编码的属性的规定值,应用于一组2x2个像素(a00,a01,a10,a11)的分解的一个步骤产生下面的系数(假设小波滤波器是可分离的,这意味着我们可将卷积滤波器分解为沿着x轴的卷积和沿着y轴的卷积的乘积):
●在LL子带中:c00=s(s(a00,a01),s(a10,a11))
●在LH子带中:c01=s(d(a00,a01),d(a10,a11))
●在HL子带中:c10=d(s(a00,a01),s(a10,a11))
●在HH子带中:c11=d(d(a00,a01),d(a10,a11))
其中d是小波函数而s是相关联的定标函数,如由图10所示的(图10示出离散小波变换的一个步骤,具有应用于图像的等于2的紧支集;其中2x2个像素的块在每个子带中提供一个系数)。在Haar s(a00,a01)=α*(a00+a01)和d(σ00,a01)=*(a00-a01)的情况下,其中α和β是标准化因子。
使用Haar小波:
●在LL子带中:c00α(a00+a01+a10+a11)→LL子带存储4个像素的一类平均值。
●在LH子带中:c01α(a00-a01+a10-a11)→LH子带存储一类水平差异。
●在HL子带中:c10α(a00+a01-a10-a11)→HL子带存储一类垂直差异。
●在HH子带中:c11α(a00-a01-a10+a11)→HH子带存储一类交叉差异。
在四叉树的情况下,在深度N处的一组2x2单元可具有1、2、3或4个非空单元,且应产生在四个子带中分派的1/2/3/4个系数。这在图11上示出,图11示出应用于2*2个单元的块的稀疏小波变换的一个步骤,其中一组1/2/3/4个非空单元提供在四个子带中分派的1/2/3/4个系数。
该方法的思想是用我们的选择的值填充空单元,这帮助产生小波系数的最小数量(使我们想要为零的子带系数为空)。
●如果它有4个非空单元,则我们在与2D图像相同的情况中。
●如果它有1个非空单元(a),则我们应只保持“平均值”,即将值a存储在LL子带中。它相当于用相同的值a填充空单元并正常地应用Haar滤波器。
●如果它只有2个非空单元(a,b),该方法应只将“平均值”保持在LL子带中并将“差异”保持在其它子带之一中(取决于非空单元的相对位置)。如果非空单元在对角线中,则它相当于用(a-b)/2和(b-a)/2填充空单元并正常地应用Haar滤波器。如果非空单元不在对角线中,则它相当于用a-和b填充空单元并正常地应用Haar滤波器。
●如果它只有3个非空单元(a,b,c),该方法应只将“平均值”保持在LL子带中并将两个“差异”保持在其它子带之一中。它相当于用使第四子带系数为空的值填充空单元。

Claims (11)

1.一种用于压缩表示在预定空间S中的物理属性的值的数据的计算机实现的方法,所述方法包括:
提供信号cN,000,所述信号包括从所述预定空间的分级细分octreeN(S)的每个叶单元aN 1aN 2…aN N∈C(LN(octreeN(S))),aN n,n∈{1,…,N}∈{0,1}3到表示在相应的叶单元处的所述物理属性的值的相应系数cN,000(aN 1aN 2…aN N)的映射cN,000(·),
使用小波卷积滤波器cD,l,l∈{0,1}3或者l∈{L,H}3的预定基来确定所述信号的离散小波变换,从而通过在每个当前递归D∈{N-1,N-2,…,0}从所述信号cN,000开始使每个小波卷积滤波器fl在前一递归D+1的低通子带cD+1,000上通过来递归地确定包括所述低通子带cD,000的子带cD,l,l∈{0,1}3或者l∈{L,H}3
在当前递归D处确定的所述子带cD,l每个包括从同一分级细分octreeD(S)的叶单元aD 1aD 2…aD D∈C(LD(octreeD(S))),aD n,n∈{1,…,D}∈{0,1}3的相应映射cD,l(·),其中,所述前一递归D+1的所述分级细分octreeD+1(S)是细分,通过将相应的小波卷积滤波器fl应用于从细分给定叶单元aD 1*aD 2*…aD D*的所述前一递归D+1的所述分级细分octreeD+1(S)的叶单元aD 1*aD 2*…aD D*aD+1 D+1∈C(LD+1(octreeD+1(S))),aD+1 D+1∈{0,1}3被映射到的所述前一递归D+1的所述低通子带cD+1,000的所述系数cD+1,000(aD 1*aD 2*…aD D*aD+1 D+1),每个所述给定叶单元aD 1*aD 2*…aD D*被映射到在所述相应的小波卷积滤波器fl在所述前一递归D+1的所述低通子带cD+1,000上通过期间所确定的相应系数cD,l(aD1*aD2*…aD D*),以及
对所确定的离散小波变换编码,
其中,至少在一个给定递归D处,所述通过遇到未被映射到系数的所述前一递归D+1的所述低通子带cD+1,000的至少一个叶单元对离散小波变换的确定包括将值c’D+1,000(aD+1 1’aD+1 2’…aD+1 D+1’)分配到所遇到的单元,所分配的值被输入到所述小波卷积滤波器中的每个。
2.如权利要求1所述的方法,其中,所述小波卷积滤波器fl具有紧支集{0,1}3
3.如权利要求2所述的方法,其中,所分配的值是关于与迫使在所述给定递归D处确定的所述子带中的一个或多个零有关的标准来确定的。
4.如权利要求3所述的方法,其中,所述标准 是,未被迫使为零的在所述给定递归D处确定的所有所述子带的系数的数量等于未被迫使为零的所述前一递归D+1的所述低通子带的系数的数量。
5.如权利要求2-4中的任一项所述的方法,其中,所述紧支集的大小小于或等于所述分级细分的分割符的最小值。
6.如权利要求5所述的方法,其中,所述分级细分的所述分割符具有恒定值23,并且所述紧支集的大小等于所述分级细分的所述分割符的所述恒定值。
7.一种用于解压缩能够通过权利要求1-6中的任一项所述的方法得到的压缩信号的计算机实现的方法。
8.一种能够通过权利要求1-6中的任一项所述的方法得到的压缩信号。
9.一种包括用于执行如权利要求1-6中的任一项所述的方法和/或用于执行如权利要求7所述的方法的指令的计算机程序。
10.一种计算机可读存储介质,其具有在其上记录的如权利要求9所述的计算机程序和/或如权利要求8所述的压缩信号。
11.一种包括耦合到存储器的处理器的系统,所述存储器具有在其上记录的如权利要求9所述的计算机程序和/或如权利要求8所述的压缩信号。
CN201710821844.6A 2016-09-13 2017-09-13 对表示物理属性的信号进行压缩 Active CN107819469B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16306158.3 2016-09-13
EP16306158.3A EP3293702B1 (en) 2016-09-13 2016-09-13 Compressing a signal that represents a physical attribute

Publications (2)

Publication Number Publication Date
CN107819469A CN107819469A (zh) 2018-03-20
CN107819469B true CN107819469B (zh) 2024-03-19

Family

ID=57018105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710821844.6A Active CN107819469B (zh) 2016-09-13 2017-09-13 对表示物理属性的信号进行压缩

Country Status (4)

Country Link
US (1) US10410377B2 (zh)
EP (2) EP3293702B1 (zh)
JP (1) JP7084703B2 (zh)
CN (1) CN107819469B (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805261B (zh) * 2017-04-28 2021-11-12 微软技术许可有限责任公司 基于八叉树的卷积神经网络
EP3428887A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10805646B2 (en) * 2018-06-22 2020-10-13 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
EP3467777A1 (en) * 2017-10-06 2019-04-10 Thomson Licensing A method and apparatus for encoding/decoding the colors of a point cloud representing a 3d object
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10445401B2 (en) * 2018-02-08 2019-10-15 Deep Labs Inc. Systems and methods for converting discrete wavelets to tensor fields and using neural networks to process tensor fields
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
JP7153264B2 (ja) * 2018-08-02 2022-10-14 三菱重工業株式会社 画像解析システム、画像解析方法及び画像解析プログラム
US11030777B2 (en) * 2018-09-14 2021-06-08 Sony Group Corporation Adaptive subband coding for lifting transform
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
JP2022047546A (ja) * 2019-01-08 2022-03-25 ソニーグループ株式会社 情報処理装置および方法
CA3126760A1 (en) * 2019-02-05 2020-08-13 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020184444A1 (ja) * 2019-03-08 2020-09-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
MX2021010964A (es) 2019-03-18 2021-10-13 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
JP7480775B2 (ja) 2019-03-19 2024-05-10 ソニーグループ株式会社 情報処理装置および方法
US11403784B2 (en) * 2019-03-19 2022-08-02 Tencent America LLC Method and apparatus for tree-based point cloud compression (PCC) media stream using moving picture experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH)
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
CN110163342B (zh) * 2019-04-17 2023-07-25 腾讯科技(深圳)有限公司 一种模型压缩方法、装置、设备及存储介质
WO2020213735A1 (ja) * 2019-04-19 2020-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020241723A1 (ja) * 2019-05-28 2020-12-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2021002665A1 (ko) * 2019-07-01 2021-01-07 엘지전자 주식회사 포인트 클라우드 데이터 처리 장치 및 방법
CN113632142A (zh) * 2019-07-02 2021-11-09 腾讯美国有限责任公司 点云压缩的方法和装置
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
WO2021002444A1 (ja) * 2019-07-02 2021-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN110349230A (zh) * 2019-07-15 2019-10-18 北京大学深圳研究生院 一种基于深度自编码器的点云几何压缩的方法
JP2022544571A (ja) * 2019-08-14 2022-10-19 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。
CN114430845A (zh) * 2019-09-26 2022-05-03 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11417029B2 (en) * 2019-12-02 2022-08-16 Tencent America LLC Method and apparatus for point cloud coding
CN114930860A (zh) 2020-01-07 2022-08-19 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
JP2022002382A (ja) * 2020-06-22 2022-01-06 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US20230169690A1 (en) * 2021-11-30 2023-06-01 Verizon Patent And Licensing Inc. Methods and Systems for Scalable Compression of Point Cloud Data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428050A (zh) * 2000-07-25 2003-07-02 皇家菲利浦电子有限公司 使用小波分解的视频编码方法
US6850649B1 (en) * 1999-03-26 2005-02-01 Microsoft Corporation Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding
CN1703912A (zh) * 2002-09-17 2005-11-30 弗拉迪米尔·切佩尔科维奇 具有高压缩率和最小必需资源的快速codec
CN101924562A (zh) * 2010-06-24 2010-12-22 北京师范大学 基于整数小波变换的曲线矢量数据压缩式编码方案
CN102186069A (zh) * 2011-01-14 2011-09-14 王慧 一种保持量测性能的遥感影像数据压缩方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2309002A1 (en) * 2000-05-23 2001-11-23 Jonathan Martin Shekter Digital film grain reduction
FR2852773A1 (fr) * 2003-03-20 2004-09-24 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images par decomposition mouvement/texture et codage par ondelettes
JP4086192B2 (ja) * 2003-12-16 2008-05-14 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体
CA2499163A1 (en) * 2004-03-03 2005-09-03 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communication Research Centre Canada Curved wavelet transform for image and video compression
JP2012523804A (ja) * 2009-04-13 2012-10-04 リアルディー インコーポレイテッド 向上した解像度の立体ビデオのエンコード、デコード、および配信

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850649B1 (en) * 1999-03-26 2005-02-01 Microsoft Corporation Image encoding using reordering and blocking of wavelet coefficients combined with adaptive encoding
CN1428050A (zh) * 2000-07-25 2003-07-02 皇家菲利浦电子有限公司 使用小波分解的视频编码方法
CN1703912A (zh) * 2002-09-17 2005-11-30 弗拉迪米尔·切佩尔科维奇 具有高压缩率和最小必需资源的快速codec
CN101924562A (zh) * 2010-06-24 2010-12-22 北京师范大学 基于整数小波变换的曲线矢量数据压缩式编码方案
CN102186069A (zh) * 2011-01-14 2011-09-14 王慧 一种保持量测性能的遥感影像数据压缩方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Compression of 3D Point Clouds Using a Region-Adaptive Hierarchical Transform;Ricardo L. de Queiroz, Senior Member;《IEEE TRANSACTIONS ON IMAGE PROCESSING》;20160831;第25卷(第8期);第3948-3950页 *

Also Published As

Publication number Publication date
JP7084703B2 (ja) 2022-06-15
US10410377B2 (en) 2019-09-10
CN107819469A (zh) 2018-03-20
EP3608876A1 (en) 2020-02-12
EP3293702B1 (en) 2020-04-29
US20180075622A1 (en) 2018-03-15
EP3293702A1 (en) 2018-03-14
JP2018101404A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
CN107819469B (zh) 对表示物理属性的信号进行压缩
Cao et al. 3D point cloud compression: A survey
US10904564B2 (en) Method and apparatus for video coding
Maglo et al. 3d mesh compression: Survey, comparisons, and emerging trends
Balsa Rodríguez et al. State‐of‐the‐art in compressed GPU‐based direct volume rendering
Gobbetti et al. C‐BDAM–compressed batched dynamic adaptive meshes for terrain rendering
US7680350B2 (en) Method and system for progressive mesh storage and reconstruction using wavelet-encoded height fields
JP7425899B2 (ja) 点群の符号化及び復号方法
Milani Fast point cloud compression via reversible cellular automata block transform
Maglo et al. POMAR: Compression of progressive oriented meshes accessible randomly
KR102650334B1 (ko) 포인트 클라우드 코딩을 위한 방법 및 장치
Derzapf et al. Dependency‐free parallel progressive meshes
JP2023541271A (ja) 高密度メッシュ圧縮
Peyrot et al. HexaShrink, an exact scalable framework for hexahedral meshes with attributes and discontinuities: multiresolution rendering and storage of geoscience models
Luo et al. Dynamic data reshaping for 3D mesh animation compression
JP2005332028A (ja) 3次元グラフィックスデータ作成方法、テクスチャ画像作成方法、多次元データ符号化方法、多次元データ復号方法及びそれらの方法を実現するための装置、並びにそれらの方法を実現するためのプログラム
Marvie et al. Coding of dynamic 3D meshes
Valenzise et al. Point cloud compression
Martens et al. A decomposition scheme for continuous Level of Detail, streaming and lossy compression of unordered point clouds
EP4358519A1 (en) Point cloud data transmission device and method, and point cloud data reception device and method
WO2023179706A1 (zh) 编码方法、解码方法及终端
WO2023179710A1 (zh) 编码方法及终端
Köse et al. 3D model compression using connectivity-guided adaptive wavelet transform built into 2D SPIHT
Aliaga et al. Image warping for compressing and spatially organizing a dense collection of images
Van Aerschot et al. Normal mesh based geometrical image compression

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
GR01 Patent grant
GR01 Patent grant