一种FPGA二进制文件压缩、解压方法及压缩、解压装置制造方法及图纸

技术编号:14120085 阅读:148 留言:0更新日期:2016-12-08 12:14
本发明专利技术适用于FPGA技术领域,提供了一种FPGA二进制文件压缩、解压方法及压缩、解压装置,压缩方法包括:获取FPGA二进制文件;遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;采用所述数据区对应的编码存储方式,编码存储分类数据;根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。本发明专利技术的有益效果如下:1)分析FPGA二进制文件的结构特点,把FPGA二进制文件分为几种特定类型的数据区。对于不同的数据区采用不同的编码方式压缩存储,极大的降低了文件存储空间;2)使用长度,类型,数据值的方式保存,对于一次压缩,多次解压的应用场景特别有效。解压速度远远大于压缩速度,提高了解压效果。

【技术实现步骤摘要】

本专利技术属于FPGA
,尤其涉及一种FPGA二进制文件压缩、解压方法及压缩、解压装置
技术介绍
数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。现有的压缩算法以通用压缩为主流,LZMA、GZIP、RAR等都是通用压缩算法。然而,目前的通用压缩算法,不能根据FPGA二进制文件的数据类型,进行优化压缩,不利于提高整体压缩比和整体压缩性能。其原因在于,目前的通用压缩算法都是面向全部的数据领域,不会对FPGA二进制文件进行特殊处理,因此,FPGA二进制文件的整体压缩比和整体压缩性能都不高。
技术实现思路
本专利技术实施例的目的在于提供一种FPGA二进制文件压缩方法,旨在解决目前的通用压缩算法,不能根据FPGA二进制文件的数据类型,进行优化压缩,不利于提高整体压缩比和整体压缩性能的问题。本专利技术实施例是这样实现的,一种FPGA二进制文件压缩方法,包括:获取FPGA二进制文件;遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;采用所述数据区对应的编码存储方式,编码存储分类数据;根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。本专利技术实施例的另一目的在于提供一种FPGA二进制文件解压方法,包括:根据通用解压算法,对信息熵小于设定值的分类数据,进行整体解压;采用所述数据区对应的编码存储方式,解码存储所述数据区中的数据;根据分类数据以及分类数据所在的数据区,对分类的内容进行还原,得到遍历FPGA二进制文件的内容;根据得到的内容,还原FPGA二进制文件。本专利技术实施例的另一目的在于提供一种FPGA二进制文件压缩装置,包括:FPGA二进制文件获取模块,用于获取FPGA二进制文件;判定模块,用于遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;编码存储模块,用于采用所述数据区对应的编码存储方式,编码存储分类数据;压缩模块,用于根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。本专利技术实施例的另一目的在于提供一种FPGA二进制文件解压装置,包括:整体解压模块,用于根据通用解压算法,对信息熵小于设定值的分类数据,进行整体解压;解码模块,用于采用所述数据区对应的编码存储方式,解码存储所述数据区中的数据;内容还原模块,用于根据分类数据以及分类数据所在的数据区,对分类的内容进行还原,得到遍历FPGA二进制文件的内容;FPGA二进制文件还原模块,用于根据得到的内容,还原FPGA二进制文件在本专利技术实施例中,遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;采用所述数据区对应的编码存储方式,编码存储分类数据;根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。因此解决了目前的通用压缩算法,不能根据FPGA二进制文件的数据类型,进行优化压缩,不利于提高整体压缩比和整体压缩性能的问题。其有益效果在于以下两方面,详述如下:1)分析FPGA二进制文件的结构特点,把FPGA二进制文件分为几种特定类型的数据区。对于不同的数据区采用不同的编码方式压缩存储,极大的降低了文件存储空间;2)使用长度,类型,数据值的方式保存,对于一次压缩,多次解压的应用场景特别有效。解压速度远远大于压缩速度,提高了解压效果。附图说明图1是本专利技术实施例提供的FPGA二进制文件压缩方法的实现流程图;图2是本专利技术实施例提供的FPGA二进制文件压缩方法步骤S102的实现流程图;图3是本专利技术实施例提供的FPGA二进制文件压缩方法步骤S103的实现流程图;图4是本专利技术实施例提供的FPGA二进制文件解压方法的实现流程图;图5是本专利技术实施例描述了FPGA二进制文件压缩方法,在实际应用中的较佳实施流程图;图6是本专利技术实施例提供的FPGA二进制文件压缩装置的结构框图;图7是本专利技术实施例提供的FPGA二进制文件解压装置的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一图1是本专利技术实施例提供的FPGA二进制文件压缩方法的实现流程图,详述如下:在步骤S101中,获取FPGA二进制文件;在步骤S102中,遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;其中,所述数据区包括:固定数据区、重复数据区、稀疏数据区以及随机数据区;固定数据区为:每个FPGA二进制文件共有的数据区;重复数据区为:存储全0或全1的数据区;稀疏数据区为:存储四字节数据的数据区;随机数据区为:存储随机数据的数据区。在步骤S103中,采用所述数据区对应的编码存储方式,编码存储分类数据;在步骤S104中,根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。分块划分的过程中遵循以下几条原则:每个分块的最大长度为0x0FFF。(A).bit30-bit31位用来表示分块类型;00:固定数据区;01:重复数据区;10:稀疏数据区;11:随机数据区。(B).bit28-bit29位用来表示数据单元的长度00:以一个字节为单位的数据;01:以两个字节为单位的数据;10:以四个字节为单位的数据;11:以八个字节为单位的数据,用来表示稀疏数据区和重复数据区的数据单元大小。分块和分块之间顺序排放,所有分块按照相对位置计算。在本专利技术实施例中,有益效果在于以下两方面,详述如下:1)分析FPGA二进制文件的结构特点,把FPGA二进制文件分为几种特定类型的数据区。对于不同的数据区采用不同的编码方式压缩存储,极大的降低了文件存储空间;2)使用长度,类型,数据值的方式保存,对于一次压缩,多次解压的应用场景特别有效。解压速度远远大于压缩速度,提高了解压效果。实施例二图2是本专利技术实施例提供的FPGA二进制文件压缩方法步骤S102的实现流程图,详述如下:在步骤S201中,遍历FPGA二进制文件的内容;在步骤S202中,根据遍历的内容以及预配置的数据区判定功能,对内容进行分类,判定分类数据以及分类数据所在的数据区。实施例三本专利技术实施例描述了的配置数据区判定功能的实现流程图,详述如下:配置数据区判定功能,所述配置数据区判定功能,具体包括:配置重复数据区,稀疏数据区,随机数据区的判定功能:以单字节为单位数据重复,以双字节为单位数据重复,以四字节为单位数据重复的数据区,并持续第一设定范围的区域判定为重复数据区。以四字节为单位,高位的3个字节保持不变,第4个字节数据变化,并持续较大范围的区域判定为稀疏数据区;以上两种以外没有规律,或者重复数据和稀疏数据持续范围第二设定范围的区域,判定为随机数据区;配置稀疏数据区与重复数据区的判定功能:两个重复数据区中间夹着少于设定数量的稀疏数据,优先按照稀疏数据区的方式存储;当稀疏数据区的大小大于固定值N时,并且稀疏数据区的大于重复数据的30%,则把稀疏数据区与重复数据区分别存储;配置随机数据区与稀疏数据区的判定功能:两个稀疏数据区中间夹着少于设定数量的随机数据,把随机数据转化为稀疏数据的方式存储本文档来自技高网...
一种FPGA二进制文件压缩、解压方法及压缩、解压装置

【技术保护点】
一种FPGA二进制文件压缩方法,其特征在于,包括:获取FPGA二进制文件;遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;采用所述数据区对应的编码存储方式,编码存储分类数据;根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。

【技术特征摘要】
1.一种FPGA二进制文件压缩方法,其特征在于,包括:获取FPGA二进制文件;遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区;采用所述数据区对应的编码存储方式,编码存储分类数据;根据通用压缩算法,对信息熵小于设定值的分类数据,进行整体压缩。2.如权利要求1所述的FPGA二进制文件压缩方法,其特征在于,所述遍历FPGA二进制文件的内容,对内容进行分类,判定分类数据以及分类数据所在的数据区,具体为:遍历FPGA二进制文件的内容;根据遍历的内容以及预配置的数据区判定功能,对内容进行分类,判定分类数据以及分类数据所在的数据区。3.如权利要求1至2任一所述的FPGA二进制文件压缩方法,其特征在于,所述FPGA二进制文件压缩方法,还包括:配置数据区判定功能,所述配置数据区判定功能,具体包括:配置重复数据区,稀疏数据区,随机数据区的判定功能:以单字节为单位数据重复,以双字节为单位数据重复,以四字节为单位数据重复的数据区,并持续第一设定范围的区域判定为重复数据区;以四字节为单位,高位的3个字节保持不变,第4个字节数据变化,并持续较大范围的区域判定为稀疏数据区;以上两种以外没有规律,或者重复数据和稀疏数据持续范围第二设定范围的区域,判定为随机数据区;配置稀疏数据区与重复数据区的判定功能:两个重复数据区中间夹着少于设定数量的稀疏数据,优先按照稀疏数据区的方式存储;当稀疏数据区的大小大于固定值N时,并且稀疏数据区的大于重复数据的30%,则把稀疏数据区与重复数据区分别存储;配置随机数据区与稀疏数据区的判定功能:两个稀疏数据区中间夹着少于设定数量的随机数据,把随机数据转化为稀疏数据的方式存储;当随机数据区的大小大于固定值N时,则把随机数据区与稀疏数据区分被存储;配置随机数据区与重复数据区的判定功能:两个重复数据区中间夹着少于设定数量的随机数据,把随机数据转化为稀疏数据的方式存储;当随机数据区的大小大于固定值N时,则把随机数据区与重复数据区分被存储。4.如权利要求1所述的FPGA二进制文件压缩方法,其特征在于,所述采用所述数据区对应的编码存储方式,编码存储分类数据,具体为:当所述数据区为固定数据区时,不做处理;当所述数据区为重复数据区时,按照重复标志标识重复数据区的位置、长度,以及重复的数据内容;当所述数据区为稀疏数据区时,省去开始三个字节,仅保存最后一个字节,按照稀疏标志标识稀疏数据区的位置、长度;当所述数据区为随机数据区时,按照随机数据标志,标识随机数据区位置、长度。5.一种FPGA二进制文件解压方法,其特征在于,包括:根据通用解压算法,对信息熵小于设定值的分类数据,进行整体解压;采用所述数据区对应的编码存储方式,解码存储所述数据区中的数据;根据分类数据以及分类数据所在的数据区,对分类的内容进行还原,得到遍历FPGA二进制文件的内容;根据得到的内容,还原FPGA二进制文件。6.一种FPGA二进制文件压缩装置,其特征在于,包括:FPGA二进制文件获取模块,用于获取FPGA二进制...

【专利技术属性】
技术研发人员:郭汇江
申请(专利权)人:深圳市恒扬数据股份有限公司
类型:发明
国别省市:广东;44

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

1