System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,尤其涉及一种数据压缩、解压缩方法及装置。
技术介绍
1、数据在存储过程中,为了减少存储空间,提高传输、存储和处理效率,会按照一定的算法对数据进行压缩,其中,数据压缩包括有损压缩和无损压缩。
2、现有的数据有损压缩方法主要有两种,一种是变换域压缩,另一种是预测压缩。以变换域压缩为例,其涉及到的变换压缩通常为离散余弦变换(dct for discrete cosinetransform,dct)压缩,将待压缩的数据经过dct运算实现数据压缩,根据压缩后数据余数部分占据的存储位宽,分配存储空间。
3、但是现有的数据有损压缩方法,压缩后数据占用的存储空间较大。
技术实现思路
1、本申请提供一种数据压缩、解压缩方法及装置,用以解决现有的数据有损压缩方法中,压缩后数据占用的存储空间较大的问题。
2、第一方面,本申请提供一种数据压缩方法,包括:
3、获取待压缩的数据块;
4、计算所述数据块内各数据的平均有效位数值;
5、根据预设压缩率,计算并存储压缩所述数据块内各数据的余数部分占据的平均存储位宽;
6、根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据的原始余数部分进行动态移位处理,得到所述数据块内各数据压缩后的余数部分。
7、可选的,所述获取待压缩的数据块,包括:
8、获取待压缩的数据;
9、对所述待压缩的数据进行分块处理,获取多个所述待压缩数
10、确定并存储所述待压缩数据块内各数据对应的有效位数。
11、可选的,所述对所述数据块内各数据的原始余数部分进行动态移位处理,包括:
12、对分块得到的各个所述数据块进行并行处理,以对每个所述数据块内各数据的原始余数部分进行动态移位处理。
13、可选的,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据的原始余数部分进行动态移位处理,得到所述数据块内各数据压缩后的余数部分,包括:
14、根据所述平均有效位数值及所述平均存储位宽,计算所述数据块内各数据的原始余数部分的动态移位位宽;
15、根据所述数据块内各数据对应的有效位数、所述平均有效位数值及所述平均存储位宽,计算所述数据块内各数据的原始余数部分的动态截位位宽;
16、将所述数据块内各数据的原始余数部分移位对应的所述动态移位位宽,最高位取对应的所述动态截位位宽,得到所述数据块内各数据压缩后的余数部分。
17、可选的,所述将所述数据块内各数据的原始余数部分移位对应的所述动态移位位宽,最高位取对应的所述动态截位位宽,得到所述数据块内各数据压缩后的余数部分,包括:
18、利用下述公式得到所述数据块内各数据压缩后的余数部分:
19、mn[i]=sat_shift(d[i],avg_e-db,db+e[i]-avg_e+1)
20、其中,mn[i]为所述数据块内第i个数据压缩后的余数部分;d[i]为所述数据块内第i个数据的原始余数部分;avg_e-db为所述数据块内第i个数据的原始余数部分的动态移位位宽;avg_e为所述平均有效位数值;db为所述平均存储位宽;db+e[i]-avg_e+1为所述数据块内各数据的原始余数部分的动态截位位宽;e[i]为所述数据块内第i个数据对应的有效位数;sat_shift可用于表示前述的移位操作,对应的参数可以是括号里配置的三个值,即d[i],avg_e-db,db+e[i]-avg_e+1。
21、可选的,若计算的所述动态移位位宽小于0,则所述数据块内各数据的原始余数部分向左移位所述动态移位位宽;
22、或者,若计算的所述动态移位位宽大于0,则所述数据块内各数据的原始余数部分向右移位所述动态移位位宽。
23、可选的,根据预设压缩率,计算并存储压缩所述数据块内各数据的余数部分占据的平均存储位宽,包括:
24、获取所述数据块内各数据未压缩时占据的存储位宽及所述数据块内各数据有效位数部分占据的存储位宽;
25、将所述数据块内各数据未压缩时占据的存储位宽与所述预设压缩率相乘,并减去所述数据块内各数据有效位数部分占据的存储位宽,得到所述数据块内各数据的余数部分占据的平均存储位宽。
26、可选的,所述确定并存储所述待压缩数据块内各数据对应的有效位数,包括:
27、若所述数据块内各数据为实数,则确定并存储的所述数据块内各数据的有效位数为所述实数对应的有效位数;
28、或者,若所述数据块内各数据为复数,则确定并存储的所述数据块内各数据的有效位数为所述复数实数部分与虚数部分两者中的最大的有效位数。
29、第二方面,本申请提供一种数据解压缩方法,包括:
30、获取待解压缩的数据,所述数据包括在压缩过程存储的数据块内各数据对应的有效位数及数据块内各数据的余数部分占据的平均存储位宽、数据块内各数据压缩后的余数部分;
31、根据所述数据块内各数据对应的有效位数,计算所述数据块内数据的平均有效位数值;
32、根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据压缩后的余数部分进行动态移位处理,得到所述数据块内各数据的原始余数部分。
33、可选的,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据压缩后的余数部分进行动态移位处理,得到所述数据块内各数据的原始余数部分,包括:
34、根据所述平均有效位数值及所述平均存储位宽,计算所述数据块内各数据压缩后的余数部分的动态移位位宽;
35、将所述数据块内各数据压缩后的余数部分移位对应的所述动态移位位宽,得到所述数据块内各数据的原始余数部分。
36、可选的,所述将所述数据块内各数据压缩后的余数部分移位对应的所述动态移位位宽,得到所述数据块内各数据的原始余数部分,包括:
37、利用下述公式得到所述数据块内各数据的原始余数部分:
38、d′[i]=shift(mn[i],db-avg_e)
39、其中,d′[i]为所述数据块内第i个数据的原始余数部分;
40、mn[i]为所述数据块内第i个数据压缩后的余数部分;db-avg_e为所述数据块内第i个数据压缩后的余数部分的动态移位位宽,avg_e为所述平均有效位数值;db为所述平均存储位宽。
41、可选的,若计算的所述动态移位位宽小于0,则所述数据块内各数据压缩后的余数部分向左移位所述动态移位位宽;
42、或者,若计算的所述动态移位位宽大于0,则所述数据块内各数据压缩后的余数部分向右移位所述动态移位位宽。
43、可选的,所述数据还包括在压缩过程存储的数据块内各数据未压缩时占据的存储位宽及数据块内各数据有效位数部分占据的存储位宽;
44、所述数本文档来自技高网...
【技术保护点】
1.一种数据压缩方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待压缩的数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述数据块内各数据的原始余数部分进行动态移位处理,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据的原始余数部分进行动态移位处理,得到所述数据块内各数据压缩后的余数部分,包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述数据块内各数据的原始余数部分移位对应的所述动态移位位宽,最高位取对应的所述动态截位位宽,得到所述数据块内各数据压缩后的余数部分,包括:
6.根据权利要求5所述的方法,其特征在于,若计算的所述动态移位位宽小于0,则所述数据块内各数据的原始余数部分向左移位所述动态移位位宽;
7.根据权利要求1所述的方法,其特征在于,所述根据预设压缩率,计算并存储压缩所述数据块内各数据的余数部分占据的平均存储位宽,包括:
8.根据权利要求2-6任一项所述的方法,其特
9.一种数据解压缩方法,其特征在于,包括:
10.根据权利要求9所述的方法,其特征在于,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据压缩后的余数部分进行动态移位处理,得到所述数据块内各数据的原始余数部分,包括:
11.根据权利要求10所述的方法,其特征在于,所述将所述数据块内各数据压缩后的余数部分移位对应的所述动态移位位宽,得到所述数据块内各数据的原始余数部分,包括:
12.根据权利要求11所述的方法,其特征在于,若计算的所述动态移位位宽小于0,则所述数据块内各数据压缩后的余数部分向左移位所述动态移位位宽;
13.根据权利要求9所述的方法,其特征在于,所述数据还包括在压缩过程存储的数据块内各数据未压缩时占据的存储位宽及数据块内各数据有效位数部分占据的存储位宽;
14.根据权利要求9-12任一项所述的方法,其特征在于,所述数据块内各数据对应的有效位数,包括:
15.一种数据压缩存储的方法,其特征在于,应用于任一数据块,所述数据块包括至少两个待压缩数据,所述方法包括:
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:
18.一种数据解压缩的方法,其特征在于,应用于采用如权利要求15-17中任一项所述方法所得到的数据组合的压缩数据,所述方法包括:
19.一种数据压缩装置,其特征在于,包括:
20.一种数据解压缩装置,其特征在于,包括:
21.一种数据压缩设备,其特征在于,包括:至少一个处理器、存储器、接收器、发送器;
22.一种数据解压缩设备,其特征在于,包括:至少一个处理器、存储器、接收器、发送器;
...【技术特征摘要】
1.一种数据压缩方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待压缩的数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述数据块内各数据的原始余数部分进行动态移位处理,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据的原始余数部分进行动态移位处理,得到所述数据块内各数据压缩后的余数部分,包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述数据块内各数据的原始余数部分移位对应的所述动态移位位宽,最高位取对应的所述动态截位位宽,得到所述数据块内各数据压缩后的余数部分,包括:
6.根据权利要求5所述的方法,其特征在于,若计算的所述动态移位位宽小于0,则所述数据块内各数据的原始余数部分向左移位所述动态移位位宽;
7.根据权利要求1所述的方法,其特征在于,所述根据预设压缩率,计算并存储压缩所述数据块内各数据的余数部分占据的平均存储位宽,包括:
8.根据权利要求2-6任一项所述的方法,其特征在于,所述确定并存储所述待压缩数据块内各数据对应的有效位数,包括:
9.一种数据解压缩方法,其特征在于,包括:
10.根据权利要求9所述的方法,其特征在于,所述根据所述平均有效位数值及所述平均存储位宽,对所述数据块内各数据压缩后的余数部分进行动态移位处理,得到所述数据块内各数据的原始余数部分,包括:
...【专利技术属性】
技术研发人员:徐其,
申请(专利权)人:加特兰微电子科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。