本发明涉及数据压缩,尤其涉及一种数据压缩方法及相关装置。
背景技术:
1、在现有的数据压缩技术中,通过熵来表征数据中的无序或随机性的水平,无序或随机性水平较高的未经过处理的数据的熵值较高。当原始数据的熵值较高时就会对数据压缩效率产生一些负面影响,首先,它可能导致存储需求增加,当数据无序且不可预测时,可能需要更多存储空间来容纳所有可能的变化。进一步的,这可能会导致更高的存储成本和更长的处理时间。在速度至关重要的实时应用中尤其存在问题。因此在对原始数据进行压缩前可以对原始数据进行处理以降低原始数据的熵值,具体可以通过分类压缩等方法降低原始数据的熵值,但是对原始数据进行分类,压缩等处理后又会出现原始数据的数据损失等问题。
技术实现思路
1、针对上述问题,本申请实施例提供了一种数据压缩方法及相关装置,可以在解压缩时降低重建数据相对于目标数据的数据损失,保证了较高的压缩率,节省了存储空间和提高了传输速率。
2、第一方面,本申请实施例提供了一种数据压缩方法,该方法包括:确定目标数据的关键数据和关键数据在目标数据中的位置,并确定关键数据信息,关键数据信息包括目标数据的关键数据和关键数据的位置数据,位置数据是根据关键数据在目标数据中的位置得到的;对目标数据进行排序,以得到第一数据序列,并将第一数据序列转换为第二数据序列,第二数据序列中第i个数据为第一数据序列中第i个数据与第i-1个数据的差值的绝对值,i大于1;第二数据序列中第1的数据与第一数据序列中的第1个数据相同。
3、结合第一方面,在一种可能的实施例中,确定目标数据的关键数据,包括:获取目标数据中每个数据占用的比特数;若目标数据中占用比特数小于预设比特数的数据的数量不大于第一预设数量,则将目标数据中占用比特数小于预设比特数的数据确定为目标数据的关键数据。
4、可以看出,通过将目标数据中占用比特数小于预设比特数的数据确定为目标数据的关键数据,并记录关键数据的值和在目标数据中的位置,在解压缩还原目标数据时,提高了解压缩效率,降低了目标数据的数据损失。
5、结合第一方面,在一种可能的实施例中,方法还包括:若占用比特数小于预设比特数的数据的数量大于第一预设数量,根据预设长度将目标数据分为多个子数据段;对于多个子数据段中任一子数据段a,若在子数据段a中的占用比特数小于预设比特数的数据数量大于第二预设数量,将子数据段a中占用比特数最小的数据确定为子数据段a的关键数据,目标数据的关键数据包括子数据段a的关键数据,第二预设数量小于第一预设数量。
6、可以看出,当占用比特数小于预设比特数的数据的数量大于第一预设数量时,通过将目标数据分为多个子数据段,并通过第二预设数量显示每个子数据段中的关键数据数量,从而保证了目标数据的压缩率,并且记录较为分散的关键数据,从而在解压缩时,利用分散的关键数据进行解压缩,提高了解压缩模型预测目标数据的准确率,降低了解压缩得到的原始数据的数据损失。
7、结合第一方面,在一种可能的实施例中,位置数据为十进制格式的目标数字对应的二进制格式的数据:目标数字是对关键数据进行组合得到的。
8、可以看出,关键数据可以通过组合得到目标数字,并将目标数字通过二进制的格式进行保存,进一步节省了存储空间。
9、结合第一方面,在一种可能的实施例中,第一数据序列是对目标数据进行升序排序或者降序排序得到的。
10、第二方面,本申请实施例提供一种数据压缩装置,用于执行数据压缩方法,该装置包括:
11、确定单元:用于确定目标数据的关键数据和关键数据在目标数据中的位置,并确定关键数据信息,关键数据信息包括目标数据的关键数据和关键数据的位置数据,位置数据是根据关键数据在目标数据中的位置得到的。
12、压缩单元:用于对目标数据进行排序,以得到第一数据序列,并将第一数据序列转换为第二数据序列,第二数据序列中第i个数据为第一数据序列中第i个数据与第i-1个数据的差值的绝对值,i大于1;第二数据序列中第1的数据与第一数据序列中的第1个数据相同。
13、第三方面,本申请实施例提供了一种数据解压缩方法,该方法包括:获取关键数据信息和第二数据序列;第二数据序列中第i个数据为第一数据序列中第i个数据与第i-1个数据的差值的绝对值,i大于1;第二数据序列中第1的数据与第一数据序列中的第1个数据相同,第一数据序列是对目标数据进行排序得到的;将关键数据信息和第二数据序列输入解压缩模型中进行解压,以得到目标数据的重建数据。
14、可以看出,通过将关键数据信息和第二数据序列输入解压缩模型中进行解压,解压缩模型根据关键数据信息,确定关键信息的数值和预测关键信息在目标数据中的位置,以得到目标数据的重建数据,减少了关键数据信息和第二数据序列解压缩为目标数据的重建数据时的数据损失。
15、第四方面,本申请实施例提供一种数据解压缩装置,用于执行数据解压缩方法,该装置包括:
16、获取单元:用于获取关键数据信息和第二数据序列;第二数据序列中第i个数据为第一数据序列中第i个数据与第i-1个数据的差值的绝对值,i大于1;第二数据序列中第1的数据与第一数据序列中的第1个数据相同,第一数据序列是对目标数据进行排序得到的;
17、解压单元:用于将关键数据信息和第二数据序列输入解压缩模型中进行解压,以得到目标数据的重建数据。
18、第五方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,一个或多个程序被存储在存储器中,并且被配置由处理器执行,一条或多条指令适于由处理器加载并执行如第一方面的方法和/或第三方面的方法的部分或者全部。
19、第六方面,本申请实施例提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,计算机程序使得计算机执行如第一方面方法和/或第三方面方法的部分或者全部。
1.一种数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定目标数据的关键数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述位置数据为十进制格式的目标数字对应的二进制格式的数据:所述目标数字是对所述关键数据进行组合得到的。
5.根据权利要求1-4任一项所述的方法,其特征在于,
6.一种数据解压缩方法,其特征在于,所述方法包括:
7.一种数据压缩装置,其特征在于,用于执行数据压缩方法,所述装置包括:
8.一种数据解压缩装置,其特征在于,用于执行数据解压缩方法,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6中任一项所述的方法。