数据压缩方法及数据解压缩装置的制造方法

文档序号:8415267阅读:232来源:国知局
数据压缩方法及数据解压缩装置的制造方法
【技术领域】
[0001]本发明属于数据压缩领域,尤其涉及一种数据压缩方法及数据解压缩装置。
【背景技术】
[0002]随着电子技术及网络技术的发展,电子产品、网络存储的数据量越来越大。为了在有限的存储空间保存尽量多的数据,人们通常对数据实现压缩后再存储。
[0003]现有的压缩方法有字典压缩法,该方法的原理是构建一个字典,用索引来代替重复出现的字符或字符串。该方法在字符串较长时,将导致构建的字典过大,并且随着字典的增大,匹配的速度快速下降,从而导致压缩速度过慢。

【发明内容】

[0004]本发明实施例提供了一种数据压缩方法,旨在解决现有方法导致的压缩速度过慢的问题。
[0005]本发明实施例是这样实现的,一种数据压缩方法,所述方法包括下述步骤:
[0006]接收待压缩数据;
[0007]将接收的待压缩数据分为第一部分数据和第二部分数据,所述第一部分数据作为压缩所述第二部分数据的动态字典,所述动态字典的长度为预先设定;
[0008]将第二部分数据与所述动态字典匹配,若匹配成功,将所述待压缩数据转换成匹配成功对应的格式,若匹配失败,分析所述第二部分数据的格式,并将分析了格式的具有重复特性的第二部分数据转换成匹配失败对应的格式,所述匹配成功对应的格式含有所述待压缩数据中被压缩的字符数和被压缩数据的起始位置的信息;所述匹配失败对应的格式含有不匹配数据、字符数,或含有不匹配数据、字符数以及连续字符重复特性的信息;
[0009]更新动态字典;
[0010]输出压缩数据。
[0011]本发明实施例的另一目的在于提供一种数据压缩装置,所述装置包括:第一接收器,用于接收待压缩数据;
[0012]第一数据划分单元,用于将接收的待压缩数据分为第一部分数据和第二部分数据,所述第一部分数据作为压缩所述第二部分数据的动态字典,所述动态字典的长度为预先设定;
[0013]第一匹配器,用于将第二部分数据与所述动态字典匹配,若匹配成功,将所述待压缩数据转换成匹配成功对应的格式,若匹配失败,分析所述第二部分数据的格式,并将分析了格式的具有重复特性的第二部分数据转换成匹配失败对应的格式,所述匹配成功对应的格式含有所述待压缩数据中被压缩的字符数和被压缩数据的起始位置的信息;所述匹配失败对应的格式含有不匹配数据、字符数,或含有不匹配数据、字符数以及连续字符重复特性的信息;
[0014]第一数据处理器,用于更新动态字典;
[0015]第一输出单元,用于输出压缩数据。
[0016]本发明实施例的另一目的在于提供一种数据解压缩装置,所述装置包括:
[0017]第二接收器,用于接收待解压缩数据,所述待解压缩数据含有被压缩的字符数和被压缩数据的起始位置的信息;或者,所述待解压缩数据含有不匹配数据、字符数,或含有不匹配数据、字符数以及连续字符重复特性的信息;
[0018]第二数据划分单元,用于将接收的待解压缩数据分为第一部分数据和第二部分数据,所述第一部分数据作为解压缩所述第二部分数据的动态字典,所述动态字典的长度为预先设定;
[0019]数据分析器,用于分析待解压数据的首字符,判断待解压数据是否为匹配的压缩数据;若为匹配的压缩数据,根据待解压缩数据所包含的被压缩数据的字符数和被压缩数据的起始位置的信息,在动态字典中,标示出对应位置的字符串,标示的字符串作为解压出的数据;若为不匹配的压缩数据,则分析待解压数据中首字符后的数据是否具有重复特性,若无重复特性,根据待解压缩数据所包含的被压缩数据的不匹配数据、字符数直接将待解压数据作为解压出的数据,若有重复特性,则根据待解压缩数据所包含的被压缩数据的不匹配数据、字符数以及连续字符重复特性将重复的待解压数据展开,作为解压出的数据;
[0020]第二数据处理器,用于将解压出的数据添加到动态字典的尾部,作为新的动态字典,并将动态字典起始位置后移,后移长度为数据分析器中分析出的被压缩数据的字符数,以此完成动态字典的更新操作;
[0021]第二输出单元,用于输出解压数据。
[0022]本发明实施例中,由于动态字典在与数据匹配后及时更新,因此能够确保高效率压缩,达到高效的压缩性能。
【附图说明】
[0023]图1是本发明第一实施例提供的一种数据压缩方法的流程图;
[0024]图2是本发明第二实施例提供的一种数据压缩装置的结构图;
[0025]图3是本发明第三实施例提供的一种数据解压缩装置的结构图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]本发明实施例中,将待压缩数据分为两部分,一部分数据作为压缩另一部分数据的动态字典,根据数据与动态字典匹配的结果,将待压缩数据转换为相应的格式,从而实现待压缩数据的快速压缩。
[0028]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0029]实施例一:
[0030]图1示出了本发明第一实施例提供的一种数据压缩方法的流程图,详述如下:
[0031]步骤S11、接收待压缩数据。
[0032]该步骤中,接收的待压缩数据可以具有位流特性的字符,常见的具有位流特性的数据有现场可编程门阵列(Field — Programmable Gate Array, FPGA)的配置数据。
[0033]步骤S12、将接收的待压缩数据分为第一部分数据和第二部分数据,所述第一部分数据作为压缩所述第二部分数据的动态字典,所述动态字典的长度为预先设定。
[0034]该步骤中,动态字典是待压缩数据的一部分,该动态字典的长度根据实际需要设定。以待压缩数据是FPGA配置数据为例,可将输入的前256个配置数据作为动态字典的数据,该动态字典的数据将对后面输入的数据进行压缩。
[0035]步骤S13、将第二部分数据与所述动态字典匹配,若匹配成功,将所述待压缩数据转换成匹配成功对应的格式,若匹配失败,分析所述第二部分数据的格式,并将分析了格式的具有重复特性的第二部分数据转换成匹配失败对应的格式,所述匹配成功对应的格式含有所述待压缩数据中被压缩的字符数和被压缩数据的起始位置的信息;所述匹配失败对应的格式含有不匹配数据、字符数,或含有不匹配数据、字符数以及连续字符重复特性的信肩、O
[0036]该步骤中,当第二部分数据与动态字典匹配成功时,记录该第二部分数据中与动态字典匹配的字符数、被压缩数据在动态字典的起始位置的信息,即将该第二部分数据转为相应格式,其中,字符数即字符长度。;当第二部分数据与动态字典匹配失败,即该第二部分数据不存在与动态字典相同的字符时,分析该第二部分数据是否具有重复的字符,若没有,直接将该第二部分数据作为压缩数据,若有,则分析该第二部分数据中连续重复的字符及重复的字符数,再根据分析结果将该第二部分数据转换到包含有不匹配数据、字符数以及连续字符重复特性的信息的相应格式。其中,连续字符重复特性是指包含有连续重复字符的信息,比如,字符串11115与动态字典不匹配时,转换的格式可为145,使用“4”表示4个“1”,该“4”即为字符串11115的连续字符重复特性。
[0037]将第二部分数据转换为含有被压缩的字符数和被压缩数据的起始位置的信息的格式,采用这种格式不仅简单而且可以将待压缩数据完整的表示出来,以达到高效准确的压缩效果。
[0038]其中,将第二部分数据与所述动态字典匹配,若匹配成功,将所述待压缩数据转换成匹配成功对应的格式的步骤具体为:
[0039]Al、在动态字典中查找与所述第二部分数据的首字节相同的字符;
[
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1