数据压缩存储方法及装置制造方法及图纸

技术编号:17347209 阅读:29 留言:0更新日期:2018-02-25 13:06
本发明专利技术实施例提供了一种动画数据压缩存储方法及装置。在本发明专利技术实施例中,将四元数归一化处理之后,从四元数中剔除一个最大的浮点数,存储剩余的三个浮点数,如此,之后当需要使用四元数时,可以根据剩余的三个浮点数计算得到被踢出的该一个浮点数,进而得到四元数。可见,通过本发明专利技术实施例的数据压缩存储方法,可以提高压缩比,节省存储空间。

Data compression storage method and device

An embodiment of the invention provides an animation data compression storage method and a device. In the embodiment of the invention, after the number of four yuan will be normalized to four yuan from the number of removed one of the largest floating-point number, three floating-point numbers, so the rest of the store, then when you need to use the four yuan number, we can calculate the a float out according to three floating-point numbers the remaining four yuan, and the number of. It can be seen that the compression ratio can be improved and storage space can be saved by the data compression storage method of the embodiment of the invention.

【技术实现步骤摘要】
数据压缩存储方法及装置
本专利技术实施例涉及动画视频
,尤其涉及一种数据压缩存储方法及装置。
技术介绍
在拍摄动画之后,往往需要预览动画,以检测拍摄的画面是否合适,在预览之前,往往需要对动画的数据进行存储。其中,动画系统中最重要的数据是位置数据、放缩数据和旋转数据,前两者可以很容易地通过两个三元的向量表示出来,而且在动画的骨骼系统中,位置和放缩一般是不变化的,所以存储空间/内存占用大小,不会随着动画变复杂而变大。最复杂的是旋转数据,随着动画细腻程序的增加,会线性增长。一般动画的旋转数据通过四维矩阵存储,这种方法最大的问题是占用的存储空间较大。因此,如何节省存储空间是一个亟待解决的技术问题。
技术实现思路
为克服相关技术中存在的问题,本专利技术实施例提供一种动画数据压缩存储方法及装置。根据本专利技术实施例的第一方面,提供一种动画数据压缩存储方法,所述方法包括:获取曲线中的目标点的用于表示旋转的四元数,所述四元数中包括四个浮点数;将所述四元数进行归一化处理;从所述四元数中剔除一个浮点数;存储剩余的三个浮点数。其中,所述从所述四元数中剔除一个浮点数,包括:从所述四元数中剔除最大的浮点数。进一步地,所述存储剩余的三个浮点数之前,还包括:减少剩余的三个浮点数的比特位。其中,所述获取旋转曲线中的目标点的四元数,包括:获取位于旋转曲线两端的第一浮点数和第二浮点数;利用第一浮点数和第二浮点数拟合得到目标点;获取所述目标点的四元数。进一步地,所述方法还包括:在读取所述目标点的位置数据、放缩数据和旋转四元数时,将位置数据、放缩数据和旋转四元数同时加载在一段连续的内存中。根据本专利技术实施例的第二方面,提供一种动画数据压缩存储装置,所述装置包括:获取模块,用于获取曲线中的目标点的用于表示旋转的四元数,所述四元数中包括四个浮点数;归一化模块,用于将所述四元数进行归一化处理;剔除模块,用于从所述四元数中剔除一个浮点数;存储模块,用于存储剩余的三个浮点数。其中,所述剔除模块具体用于从所述四元数中剔除最大的浮点数。进一步地,所述装置还包括:减少模块,用于减少剩余的三个浮点数的比特位。其中,所述获取模块包括:获取单元,用于获取位于旋转曲线两端的第一浮点数和第二浮点数;拟合单元,用于利用第一浮点数和第二浮点数拟合得到目标点;获取单元,用于获取所述目标点的四元数。进一步地,所述装置还包括:加载模块,用于在读取所述目标点的位置数据、放缩数据和旋转四元数时,将位置数据、放缩数据和旋转四元数同时加载在一段连续的内存中。本专利技术实施例提供的技术方案可以包括以下有益效果:在本专利技术实施例中,将四元数归一化处理之后,从四元数中剔除一个浮点数,存储剩余的三个浮点数,如此,之后当需要使用四元数时,可以根据剩余的三个浮点数计算得到被踢出的该一个浮点数,进而得到四元数。可见,通过本专利技术实施例的数据压缩存储方法,可以提高压缩比,节省存储空间。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术实施例。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术实施例的原理。图1是根据一示例性实施例示出的一种数据压缩存储方法的流程图;图2根据一示例性实施例示出的一种数据压缩存储装置的结构示意图;具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术实施例的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种数据压缩存储方法的流程图,如图1所示,该方法包括以下步骤。在步骤S101中,获取曲线中的目标点的用于表示旋转的四元数,四元数中包括四个浮点数;本步骤可以通过如下流程实现:11)、获取位于旋转曲线两端的第一浮点数和第二浮点数;12)、利用第一浮点数和第二浮点数拟合得到目标点;获取目标点的四元数。参见如下公式(1):Result_point=P0*(-0.5*t*t*t+t*t–0.5*t)+P1*(1.5*t*t*t-2.5*t*t+1.0)+P2*(-1.5*t*t*t+2.0*t*t+0.5*t)+P3*(0.5*t*t*t–0.5*t*t)……(1);令t=0,得到p1点,令t=1,得到p2点,然而,绘制出p1到p2之间的各个点,得到以p1和p2为端点的曲线。以p0和p1为端点的曲线以及以p2和p3为端点的曲线也可以通过上述方法绘制得到,在此不做详述。本专利技术实施例中,将以p0和p3为端点的曲线中的任意一个点为目标点进行举例说明,但不作为对本专利技术实施例保护范围的限制。在步骤S102中,将四元数进行归一化处理;在步骤S103中,从四元数中剔除一个浮点数;进一步地,还可以减少剩余的三个浮点数的比特位。例如,三个浮点数的比特位原本均为32bit,四个浮点数一共128bit。本专利技术实施例可以将剩余的三个浮点数的比特位均减少为15bit,另外再加上2个标记位和1个空闲位,一共48bit,从而可以减少bit数。在本专利技术一个实施例中,可以从四元数中随机选择一个浮点数,并剔除选择的浮点数。在本专利技术另一实施例中,从四元数中剔除最大的浮点数,如此可以尽可能地保持剩余的三个浮点数的精度。消掉最掉一个数,才能让15个bit尽可能地达到16bit浮点数的精度,因为如果w是最大的,那x*x<1/2,并且y*y<1/2并且z*z<1/2,否则w最大不成立。在步骤S104中,存储剩余的三个浮点数。在本专利技术实施例中,将四元数归一化处理之后,从四元数中剔除一个浮点数,存储剩余的三个浮点数,如此,之后当需要使用四元数时,可以根据剩余的三个浮点数计算得到被踢出的该一个浮点数,进而得到四元数。可见,通过本专利技术实施例的数据压缩存储方法,可以提高压缩比,节省存储空间。在本专利技术另一实施例中,在读取目标点的位置数据、放缩数据和旋转四元数时,可以将位置数据、放缩数据和旋转四元数同时加载在一段连续的内存中,可以避免发生cashemiss。图2是根据一示例性实施例示出的一种动画数据压缩存储装置的结构示意图。参照图2,该装置包括:获取模块11,用于获取曲线中的目标点的用于表示旋转的四元数,所述四元数中包括四个浮点数;归一化模块12,用于将所述四元数进行归一化处理;剔除模块13,用于从所述四元数中剔除一个浮点数;存储模块14,用于存储剩余的三个浮点数。其中,所述剔除模块13具体用于从所述四元数中剔除最大的浮点数。进一步地,所述装置还包括:减少模块,用于减少剩余的三个浮点数的比特位。其中,所述获取模块11包括:获取单元,用于获取位于旋转曲线两端的第一浮点数和第二浮点数;拟合单元,用于利用第一浮点数和第二浮点数拟合得到目标点;获取单元,用于获取所述目标点的四元数。进一步地,所述装置还包括:加载模块,用于在读取所述目标点的位置数据、放缩数据和旋转四元数时,将位置数据、放缩数据和旋转四元数同时加载在一段连续的内存中。可以避免发生cashemiss。因为动画数据是连续读取的,如本文档来自技高网...
数据压缩存储方法及装置

【技术保护点】
一种动画数据压缩存储方法,其特征在于,所述方法包括:获取曲线中的目标点的用于表示旋转的四元数,所述四元数中包括四个浮点数;将所述四元数进行归一化处理;从所述四元数中剔除一个浮点数;存储剩余的三个浮点数。

【技术特征摘要】
1.一种动画数据压缩存储方法,其特征在于,所述方法包括:获取曲线中的目标点的用于表示旋转的四元数,所述四元数中包括四个浮点数;将所述四元数进行归一化处理;从所述四元数中剔除一个浮点数;存储剩余的三个浮点数。2.根据权利要求1所述的方法,其特征在于,所述从所述四元数中剔除一个浮点数,包括:从所述四元数中剔除最大的浮点数。3.根据权利要求2所述的方法,其特征在于,所述存储剩余的三个浮点数之前,还包括:减少剩余的三个浮点数的比特位。4.根据权利要求1所述的方法,其特征在于,所述获取旋转曲线中的目标点的四元数,包括:获取位于旋转曲线两端的第一浮点数和第二浮点数;利用第一浮点数和第二浮点数拟合得到目标点;获取所述目标点的四元数。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在读取所述目标点的位置数据、放缩数据和旋转四元数时,将位置数据、放缩数据和旋转四元数同时加载在一段连续的内存中。6.一种动画数据压缩存储装置,其...

【专利技术属性】
技术研发人员:马明路方坚
申请(专利权)人:上海开圣影视文化传媒股份有限公司
类型:发明
国别省市:上海,31

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

1