数值数据的压缩和解压缩制造技术

技术编号:7063111 阅读:282 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于压缩数值数据的计算机实现的方法,该数值数据包括浮点实际值的结构化集合。浮点值由正负号、指数和尾数来定义。该方法包括计算与所述集合的目标实际值相关的浮点预测值。所述计算包括对与所述集合的子集的实际值的正负号、指数和/或尾数对应的整数执行运算。该方法还包括存储表示从所述目标实际值和所述预测值导出的整数之间的差异的比特序列。这种方法尤其适用于降低CAD文件的存储大小。

【技术实现步骤摘要】
数值数据的压缩和解压缩
本专利技术涉及计算机程序和系统领域,尤其涉及用于对数值数据进行压缩和解压缩的计算机实现的方法。
技术介绍
众所周知,计算机辅助技术包括计算机辅助设计或CAD,其涉及用于创作产品设计的软件解决方案。类似地,CAE是计算机辅助工程的首字母缩写,例如,其涉及用于模拟未来产品的物理行为的软件解决方案。CAM代表计算机辅助制造,并且典型地包括用于定义制造过程和操作的软件解决方案。在计算机辅助技术中,图形用户界面(GUI)扮演着与技术效率相关的重要角色。操作和/或定位被建模的对象所需要的大部分操作都可以由用户(例如,设计者)在GUI上执行。特别地,用户可以创建、修改以及删除构成产品的被建模的对象,并且还可以对产品进行研究以理解被建模的对象如何例如经由产品结构来相互关联。通常,这些操作通过位于GUI旁边的专用菜单和图标来实现。近来,CAD系统(诸如,CATIA)允许在产品表示的附近调用这些功能。设计者不再需要将鼠标移向菜单和图标。因此,在鼠标的工作范围内,操作都是可用的。另外,在语义上这些操作的行为如下:对于由设计者选择的给定操作而言,CAD系统可以根据以前所选择操作来在鼠标附近向设计者建议该设计者可能选择的一组新的操作。众所周知的还有产品生命周期管理(PLM)解决方案,其指的是在扩展的企业的概念的基础上,帮助公司共享产品数据、应用公共过程以及利用公司的知识来从设想到产品生命终止进行产品开发的商业策略。通过包括这些角色(公司部门、商业伙伴、供应商、原始设备制造商(OEM)和客户),PLM可以允许该网络用作用于对产品和过程进行概念化、设计、构建以及支持的单个实体。一些PLM解决方案例如能够通过创建数字实体模型(mockup)(产品的3D图形模型)来设计和开发产品。可以通过使用适当的应用程序来首先定义和模拟数字产品。然后,可以定义和建模精益的数字制造过程。由达索(Dassault)系统提供的PLM解决方案(商标为CATIA、ENOVIA和DELMIA)提供了组织产品工程知识的工程中枢、管理制造工程知识的制造中枢以及能够使得企业集成并连接到工程中枢和制造中枢的企业中枢。所有这些与所述系统一起提供了用于链接产品、过程、资源的开放式对象模型,以便能够进行用于驱动优化的产品定义、制造准备、生产和服务的动态的基于知识的产品创建和判决支持。这种PLM解决方案包括产品的关系数据库。该数据库包括一组文本数据以及所述数据之间的关系。数据典型地包括与产品相关的技术数据,所述数据以数据的层次进行排序并被索引以便其是可搜索的。所述数据用于表示被建模的对象,其中,被建模的对象通常是被建模的产品和过程。典型地,意欲以协作的方式来对产品生命周期信息(包括产品配置、过程知识以及资源信息)进行编辑。因此,在市场上提供了许多系统和程序来设计对象(或零件)或对象集合,从而形成产品,诸如Dassault系统提供的商标为CATIA的产品。这些CAD系统允许用户对对象或对象集合的复杂的三维(3D)模型或二维(2D)模型进行构建和操作。这样,CAD系统就通过使用边或线(在某些情况中使用面)来提供被建模的对象的表示。可以以各种方式来表示线或边,例如,非均匀有理B样条(NURBS)。这些CAD系统将零件或零件集合作为被建模的对象进行管理,其大部分是几何形状说明。具体地,CAD文件包含说明,其中,根据该说明生成了几何形状,而几何形状反过来允许生成表示。几何形状和表示可以存储在单个CAD文件或多个CAD文件中。CAD系统包括用于向设计者展示被建模的对象的图形工具;这些工具专门用于显示复杂对象——用于表示CAD系统中的对象的文件的典型大小位于每个零件1M字节的范围内,并且一个集合可以包括几千个零件。CAD系统管理对象的模型,其存储在电子文件中。这样,用户用CAD软件创建的2D或3D模型包含几何对象,诸如点、矢量、曲线、面和网格。这些对象通常用浮点值以及其他数据类型来表示。浮点值是用于表示属于实数(在数学意义上)的数字的数据类型的值。对于浮点值而言,最广泛使用的一种标准格式是在IEEE754格式标准中(更具体的,是在IEEE754-1985中)定义的双精度浮点。在该格式中,表示实数的浮点值a在64比特上由正负号、指数以及尾数来定义。如果a是IEEE754标准中的64比特的浮点值,则我们能够用下面的分量来写a=(s,e,m):正负号s(在1个比特上编码的整数)、指数e(在11个比特上编码的整数)以及尾数m(在52个比特上编码的整数)。然后,通过该标准的定义,如果0<e<211-1,则a被规格化并表示实数其中,bias=211-1-1=1023。如果e=0并且m=0,则a为零并表示实数如果e=0并且m不等于0,则a被解规格化并表示实数其中,bias=211-1-1=1023。如果e=211-1,则a无效并且不表示任何数。CAD软件提供的基本功能是永久地支持存储第一会话期间由用户创建或修改的模型、并允许这些模型在以后被重新打开以便进一步使用的能力(例如,在本地磁盘上或服务器上的文件中)。例如,能够随后在同一软件的第二会话中、用该软件的不同版本或者在另一平台上来打开这些模型。平台可以在硬件(不同的CPU)或者软件(不同的语言编译器或解释器)方面不同。在打开之后的第二会话中的模型应当与在存储之前的第一会话中的模型精确相同。因此,存储必须是无损的(即不包括信息的丢失)并且在不同的平台间是稳定的(即,以便模型的打开在不同的平台上提供相同的结果,这些不同的平台支持用于定义该模型的数据类型)。当存储和重新打开模型涉及到转换存储的数据以定义该模型(例如,通过压缩和解压缩数据)时,尤其是如果对模型的转换涉及到算术运算时,会出现稳定性的问题。实际上,依赖于数据类型,不同的平台为同一运算提供了不同的结果。例如,如果a、b和c是浮点值,则某些平台会将运算a+b+c计算为(a+b)+c,而某些其他平台则会将同一运算计算为a+(b+c),这将不会必然地导致相同的结果。此外,浮点运算涉及用于执行计算的中间方。这些中间方在不同的平台上不具有相同的比特长度,这导致不同的结果。这样,在不同的平台上执行的相同的浮点运算会导致不同的结果,虽然是针对相同的数据来执行这些运算。DavidGoldberg的文档“Whateveryscientistshouldknowaboutfloatingpointarithmetic”,ACMComputingSurveys,Vol.23,No.1,1991年3月,提出了与浮点值的运算相关的问题。下文中,将讨论确保一个或一系列运算在任意规则的平台上产生相同的结果的稳定性问题。能够以直接的实现方式(即无压缩的方式)将模型永久地进行存储。在该实现方式中,将用于定义给定几何对象的浮点值和其他数据自身进行存储。这种直接方法(即,无压缩的方法)显著地用于CATIA和其他CAD软件中。通过采用这种方法,存储是无损的。实际上,用于定义模型的数据在存储之前没有被修改,因此,不会存在任何的数据丢失。该存储也是稳定的。实际上,在模型被重新打开时,将不必转换用于定义模型的数据,因为该数据没有被压缩。然而,这种方法不能优化CAD模型的存储大小。通常,在数据压缩领域中,de本文档来自技高网...
数值数据的压缩和解压缩

【技术保护点】
1.一种用于对包括浮点实际值的结构化集合的数值数据进行压缩的计算机实现的方法,其中,浮点值由正负号、指数和尾数来定义,该方法包括:计算与所述集合的目标实际值相关的浮点预测值,所述计算包括对与所述集合的子集的实际值的正负号、指数和/或尾数对应的整数执行运算;存储表示从所述目标实际值和所述预测值导出的整数之间的差异的比特序列。

【技术特征摘要】
2010.05.11 EP 10305502.61.一种计算机实现的方法,该方法包括:向计算机系统提供数值数据,所述数值数据表示对象并且包括浮点实际值的结构化集合,浮点值由正负号、指数和尾数来定义,以及至少在所述集合的子集上并根据所述集合的顺序来迭代以下步骤:选择目标实际值,其中,在每一次迭代,所述目标实际值是所述集合的新选择的实际值,根据依赖于由所述数值数据表示的所述对象的种类的预定预测方案,计算与所述集合的所述目标实际值相关的浮点预测值,所述计算包括对与所述集合的子集的实际值的正负号对应的整数、与所述集合的子集的实际值的指数对应的整数和/或与所述集合的子集的实际值的尾数对应的整数执行运算;在所述系统的数据库上存储表示从所述目标实际值导出的整数和从所述预测值导出的整数之间的差异的比特序列,其中,对于所述迭代中的至少一些迭代,所述比特序列具有的大小比所述目标实际值的大小更小,所述方法由此压缩所述数值数据。2.根据权利要求1所述的方法,其中,存储所述集合的至少一个开始实际值,并且在所述集合的所有其他实际值上迭代所述计算步骤,以及在每次迭代时,在迭代之后执行如下步骤:将所述迭代的所计算出的预测值与阈值进行比较;当所述预测值高于所述阈值时,存储表示从所述迭代的所述目标实际值导出的整数和从所述迭代的所述预测值导出的整数之间的差异的比特序列,或者当所述迭代的所述预测值低于所述阈值时,存储所述迭代的所述目标实际值。3.根据权利要求1至2中任一项所述的方法,其中,所述集合的所述实际值是与几何对象相关联的坐标。4.根据权利要求3所述的方法,其中,所述集合的所述实际值是所述几何对象的控制点的坐标。5.根据权利要求3所述的方法,其中,所述子集的所述实际值是所述几何对象的、邻近所述几何对象的另一控制点的控制点的坐标,所述目标实际值是所述另一控制点的坐标。6.根据权利要求5所述的方法,其中,根据与所述另一控制点相关联的至少一个参数、所述子集的所述实际值以及与邻近所述另一控制点的每个控制点相关联的至少一个参数来确定所述预测值。7.根据权利要求6所述的方法,其中,根据所述几何对象的各个节点矢量来确定所述至少一个参数。8.根据权利要求7所述的方法,其中,所述几何对象是NURBS表面,并且所述至少一个参数是Gréville参数。9.根据权利要求1至2中任一项所述的方法,其中,从所述目标实际值导出的整数和从所述预测值导出的整数是由分别定义所述目标实际值和所述预测值的字符串定义的整数。10.根据权利要求1至2中任一项所述的方法,其中,表示所述差异的所述比特序列包括:指示所述差异的有效比特的数量的前缀比特序列;等于被截取了前导零的所述差异的主体比特序列,其中,所述主体比特序列的大小为所述有效比特的数量。11.根据权利要求1至2中任一项所述的方法,其中,所述运算包括包含整数加法、减法、乘法和/或除法的算术运算、...

【专利技术属性】
技术研发人员:A·P·J·德朗德
申请(专利权)人:达索系统公司
类型:发明
国别省市:FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1