论文部分内容阅读
数据压缩是把输入数据流(源流和原始数据)转变为另一种较小数据流(输出流或者压缩流)的过程。现有的大多数数据压缩算法是对某些特殊领域或者数据冗余度比较大的文件进行处理,对于二进制文件或者数据冗余度不高的文件压缩效果一般,甚至可能出现负压缩。本文在DMC(Dynamic Markov Chain)算法和Deflate算法的基础上,提出了一种新的压缩算法,目的是获得更高的数据压缩率。本算法由两个阶段组成,首先使用LZ77方法对整个输入流进行压缩,然后通过Markov决策过程和算术编码,计算当前状态的转移概率获得最终的数据压缩编码。基本思想是在整体上使用LZ77方法,然后通过Markov决策过程对状态空间的控制,结合算术编码的方法,计算当前状态的转移概率获得最终压缩编码。本算法的核心处理过程是Markov决策过程对Markov状态集的控制、实时调用寻优策略来获得最大报酬。根据每次数据处理长度的不同,决策过程的复杂度、压缩效果也存在差异。状态空间的结构多样化,给Markov决策过程提供了更广泛的应用空间,使压缩效果得到提高,处理过程复杂度增加。为了平衡压缩率与算法处理复杂度之间的关系,本算法选择了每次处理2 bits数据。这样Markov状态空间中每个状态都可以输入00、01、10和11四种符号,包含四个输出的转移概率,当前状态转移到下一个状态的可选择的路径为四条。算法的主体部分体现了Makrov决策过程中的关键步骤。Makrov决策过程包括决策、寻优和获得最大报酬。在决策阶段,算法处理的是判定状态是否需要复制以及复制方式的选择,重要的两个衡量指标分别是当前状态的转移概率(Count比率关系)和当前状态内部入口与出口之间的映射关系(Mapping)。在寻优阶段,算法处理的是状态计数器的动态调整,动态调整的对象是决策过程中用于决策的各个衡量指标。在取得最大报酬阶段,算法处理方法是调用自适应算术编码。本文最后给出了测试结果数据及其分析,并对本文的研究工作出了总结。验结果显示,对于*.jpg,*.mp3等数据冗余度比较小的文件算法比Zip算法压缩效果更加明显,获得了更高的数据压缩率。