一种计算机数据压缩方法及装置制造方法及图纸

技术编号:7589852 阅读:201 留言:0更新日期:2012-07-21 02:01
本发明专利技术披露了一种计算机数据压缩方法及装置,其中方法包括:根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。本发明专利技术根据数据类型的不同选择相应的压缩算法压缩数据;同时从压缩算法集里选择算法时,根据一定的突变概率绕过自适应的压缩算法选择,直接指定压缩集里的一个算法进行压缩。本发明专利技术通过使用隐马尔可夫模型自适应地选取压缩算法集中的算法,并在进行压缩后进行块的数据压缩效果分析,以决定此次压缩操作是成功还是失败,分析结果反馈给隐马尔可夫模型,进而指导下一次压缩算法的选取,由此使得整体的压缩效率和压缩比最优化。

【技术实现步骤摘要】

本专利技术涉及计算机应用技术,尤其涉及计算机数据压缩的优化方法及装置。
技术介绍
数据压缩是将数据重新组织为一种可还原的格式,依这种格式处理的数据所占用的空间大小要远远小于原始数据的空间大小。在计算机应用领域中,数据压缩可以减小存储空间,可以降低传输代宽,减少输入输出(IO)读写次数等,具有诸多积极意义。衡量一个数据压缩算法的好坏无外乎是看其压缩比和压缩效率。由于不同的压缩算法的设计着眼点不同,每个压缩算法在不同的场景下,压缩比都是不同的。有的压缩算法(如zlib)对文本的压缩能力很强,但对二进制文件的压缩效果却不尽如人意;有的压缩算法(如Izw)对二进制文件的压缩能力很强,但对其它文件的压缩能力却不是很理想。因此,需要提供一种机制,能够根据待压缩数据本身的特点选择最合适的压缩算法,以便让每种压缩算法都充分发挥其最大的功效,这将具有十分重要的意义。隐马尔可夫模型(HMM, Hidden Markov Model)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程,然后利用这些参数作进一步分析,例如模式识别。其难点是从可观察的参数中确定该过程的隐含参数。在正常的马尔可夫模型中,状态对于观察者来说是直接可见的。这样状态的转换概率便是全部的参数。而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的某些变量则是可见的。每一个状态在可能输出的符号上都有一概率分布。因此输出符号的序列能够透露出状态序列的一些信息。目前,隐马尔可夫模型在语音识别上有着非常积极的应用。在生物信息学的遗传算法中,有一个概念叫做基因突变,是指在进行染色体杂交的时候,某个染色体的某个成员会以一定的概率变为染色体成员中的其它成员。这种突变保证了生物遗传最优结果集的产生。如果能够采用隐马尔可夫模型来选取数据压缩算法,同时附加将突变概念运用到数据压缩算法最优结果的产生上,将会使压缩算法的选取更平均,取得更好的压缩效果。
技术实现思路
本专利技术所要解决的技术问题是提供一种计算机数据压缩方法及装置,能够优化整体的压缩效率。为了解决上述技术问题,本专利技术提供了一种计算机数据压缩方法,包括根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。进一步地,在执行根据待压缩数据的类型选择相应的压缩算法压缩数据之前,还包括判断待压缩数据是否需要采用突变的压缩算法来压缩,是则选择突变算法压缩数据;否则,执行根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。进一步地,判断待压缩数据是否需要采用突变的压缩算法来压缩,是则选择突变算法压缩数据,具体包括将生成的一个随机数与指定的概率阀值进行比较,如果生成的随机数大于所述概率阀值,则从压缩算法集中任意选择一个压缩算法压缩数据。进一步地,根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据,具体包括第一步采用采用隐马尔可夫模型的如下公式计算每一压缩算法的选取概率权利要求1.一种计算机数据压缩方法,其特征在于,包括根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。2.按照权利要求I所述的方法,其特征在于,在执行所述根据待压缩数据的类型选择相应的压缩算法压缩数据之前,还包括判断待压缩数据是否需要采用突变的压缩算法来压缩,是则选择突变算法压缩数据; 否则,执行所述根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。3.按照权利要求2所述的方法,其特征在于,所述判断待压缩数据是否需要采用突变的压缩算法来压缩,是则选择突变算法压缩数据,具体包括将生成的一个随机数与指定的概率阀值进行比较,如果生成的所述随机数大于所述概率阀值,则从所述压缩算法集中任意选择一个压缩算法压缩数据。4.按照权利要求I至3任一项所述的方法,其特征在于,所述根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据,具体包括第一步采用采用隐马尔可夫模型的如下公式计算每一压缩算法的选取概率P{x)=p^\y)p(y),P(y\xt)式中所述i代表压缩算法集中的一个压缩算法,所述P(Xi)为压缩算法i的出现概率,设且Σ^)=ι;i=0所述P (XiIy)代表本次压缩成功时,选择所述压缩算法i的概率;所述P(y)表示本次进行数据压缩的成功概率;初始时,所述P (y)为预设的初始值; 所述P (y I Xi)表示选择所述压缩算法i时压缩成功的概率;第二步选择所述选取概率最大的那个压缩算法进行数据压缩;第三步根据压缩比判断本次压缩是否成功,当进行本次数据压缩后计算出来的压缩率比上一次数据压缩后的压缩率高时,判断所述压缩成功,否则判断压缩失败;第四步更新每个压缩算法总的成功概率及条件选取概率。5.按照权利要求4所述的方法,其特征在于,所述第四步中更新每个压缩算法总的成功概率及条件选取概率,具体包括针对每一压缩算法,用两个记数器分别记录该压缩算法的选取次数nr_total和当前压缩的成功次数nr_success ;每次使用该压缩算法进行所述数据压缩时,所述nr_total加单位计数,每成功压缩一次,所述nr_success加单位计数,则每个压缩算法总的成功概率由公式P(y) = nr_ success/nr_total求得;同时,针对每一压缩算法使用一计数单元M^sutseli来记录本次压缩成功条件下选择所述压缩算法i出现的次数;在压缩成功的条件下选取所述压缩算法i的所述条件选取概率由下列公式算得6.按照权利要求4所述的方法,其特征在于,所述第一步初始时,根据每个压缩算法权重的不同,为所述压缩算法i首选一个初始 的选取概率,且保证7.一种计算机数据压缩装置,其特征在于,包括自适应算法选择模块,用于根据待压缩数据的类型从备选的压缩算法集内选择合适的压缩算法压缩数据。8.按照权利要求7所述的装置,其特征在于,还包括相互连接的突变决策模块和突变算法选择模块,其中突变决策模块,还与所述自适应算法选择模块连接,用于在判断待压缩数据需要采用突变的压缩算法来压缩时,向突变算法选择模块输出突变选择算法指令;否则,向自适应算法选择模块输出自适应选择算法指令;突变算法选择模块,用于根据输入的突变选择算法指令从所述压缩算法集中任意选择一个压缩算法压缩数据;所述自适应算法选择模块根据输入的所述自适应选择算法指令采用隐马尔可夫模型根据待压缩数据的类型选择合适的压缩算法压缩数据。9.按照权利要求8所述的装置,其特征在于,所述突变决策模块将生成一个随机数与指定的概率阀值进行比较,如果该随机数大于指定的概率阀值,则输出所述突变选择算法指令,否则输出所述自适应选择算法指令。10.按照权利要求8所述的装置,其特征在于,所述自适应算法选择模块首先计算压缩算法集中每一压缩算法的选取概率,选择选取概率最大的压缩算法进行数据压缩;然后,根据本次压缩和上次压缩的压缩比判断本次压缩是否成功,并更新每个压缩算法总的成功概率及条件选取概率,为下次计算压缩算法集中每一压缩算法的选取概率进行准备。全文摘要本专利技术披露了一种计算机数据压缩方法及装置,其中方法包括根据待压缩数据的类型从备选的压缩算法集内自适应地选择相应的压缩算法压缩数据。本专利技术根据数据类型的不同选择相应的压缩算法压缩数据;本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王旭刘正伟
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:

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

1
相关领域技术