欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 智能科技 > 一种改进的LZW编码数据压缩算法的设计与仿真

一种改进的LZW编码数据压缩算法的设计与仿真

日期:2023-01-24 阅读量:0 所属栏目:智能科技


摘 要:分析了传统LZW编码算法的不足,根据语音数据的特点,对传统LZW编码数据压缩算法进行了改进,将字典初始化为16位,采用散列法和拉链法进行词条检索,采用阈值判断和LRU淘汰机制改进条目更新的方式,编码时采用自适应变码长方式。经测试,相比于传统LZW编码数据压缩算法,改进的算法对不同码长的数据的适应性更好,并且压缩比提高了约8%。

关键词:数据压缩,LZW,字典

1.引文
  数据压缩一般分为两大类,无损数据压缩和有损数据压缩[1]。无损数据压缩指在解码后可以无失真的恢复出原始数据,不会丢失信息;有损数据压缩允许在解码后的数据与原始数据存在一定的误差。下面将主要研究无损数据压缩。
  无损数据压缩技术的发展从最初的单纯的熵编码,发展到今天,出现了很多新的压缩方法[2]。现在比较常见的数据压缩方法有:
1.1 Huffman编码
  Huffman编码是1952年由D.A Huffman在《论最小冗余度代码的构造》论文中提出,Huffman编码由于完全按照字符出现的概率构造编码,但存在没有错误保护功能和需要缓存区较大等局限性,效率不高。
1.2 算数编码
  算数编码压缩也是一种基于统计模型的压缩方案,由Elias提出,在80年代发展起来的一种熵编码方法。和Huffman编码不同的是,算数编码不用单个信源符号去映射一个码字,而是将整条输入序列映射成为[0,1)区间内的一个小区间,该序列的概率就等于区间的长度;实际的编码输出是从上述小区间内选择一个代表性的二进制小数,这就实现高效编码的目的。不足的是实现较为复杂。
1.3 LZ编码
  LZ编码是字典编码的英文简称,是一种基于字典方法的数据压缩技术。是1970年代末由两位以色列科学家Jacoh Ziv和Abraham Lempel提出,现在由 LZ编码衍生出来的算法很多,比较著名的有LZ77、LZ78、LZS、LZW等,LZ字典编码与基于统计的数据压缩技术不同,前者既不使用变长码,,也不使用统计模型,使有的是字符串,利用字典将需要的字符串进行编码形成一个标识,字典保存这些字符串及其标识。字典保存的字符串既可以是静态的,也可以是动态的(自适应的)。静态字典是固定的,添加字符串是允许的,但删除是不允许的;而动态字典中的字符串是先前输入流中出现过的,当读取新的字符串时,允许字符串的添加或删除。字典编码以压缩效果好和实现方法简单的优势,得到人们的一致认可。
  但是,LZW压缩算法也存在着一些不足之处:
  (1)在LZW算法中,字典的初始化需要按照ASCLL码表,消耗256个左右的字典词条数,而实现字典的寻址,至少需要9位的地址位去表示相应的词条位置,需要消耗大量的码字。这样的初始化过程中浪费了大量的字典容量,直接导致输出码长的浪费,严重降低最终的压缩比。
  (2)传统的LZW算法在执行过程中,字典的生成和查找是基于顺序插入和检索模式,当需要处理的数据量较大时,会导致生成的字典项较多,严重降低查找效率;同时,通过顺序检索模式浪费了大量的算法执行时间,无法充分利用数据之间的局部相关性,降低算法的执行效率。
  (3)传统的LZW压缩算法采用8位数据输入,固定长度编码输出,随着字典内容的不断增多,输出编码的位数不断增加,固定的输出编码长度造成资源的浪费,系统的压缩率下降。
  本文对LZW算法进行相应改进,实现了高效数据压缩,提高了压缩性能。
2.改进的LZW方法
2.1对于字典初始化的方式,由于在语音识别中使用的更多的是16进制的数据,因此,对于字典的初始化,只需要将16进制数进行字典的初始化,不需要将所有的ASCLL字符全部初始化。
2.2LZW压缩算法的执行速度依赖于字典查找的速度。在LZW压缩算法中,若直接检索字典,编码的速度很低,同时时间复杂度较高,为。因此,选择一种效率较高的字典存储和遍历索引的方式是提高LZW编码效率的主要途径。为了提高字典的存储和索引效率,引入散列表(Hash Table)来存储字典,只需通过关键字就可以确定结点的存储位置,这样能有效提高字符串表的检索效率。2.3为了提高编码的效率,采用可变长度的编码方法。在系统中,使用的可变编码位数从8位开始,当编码长度超过了8位的表示范围,则自动增加到9位编码,依次递增编码位数。但增加编码位数使得算法性能和执行效率都受到影响,因此,设定编码长度的最大范围为12位,当编码超出12位(4096)表示范围,需要重新开始字典的生成和编码。
2.4当词条数目过多导致字典容量饱和时,需要重新生成字典,clear操作会严重影响压缩编码的压缩比和执行效率,因此,为了解决传统的LZW编码压缩效率低的问题,现作出以下改进:
  当字典中串表填满之后,不立即输出clear信号,删除字典表,而是继续输入一定长度的数据流,使用现有的字典表表对其进行压缩编码,同时计算出这时被压缩的数据流的压缩比,如果所得到的压缩比较低,满足系统要求即(其中为当前计算的压缩比,为系统给定的一个阀值),则继续先前的操作;如果所得到的压缩比时,表示现在的字典表无法满足当前数据压缩的要求,则进行删除和重建字典表的操作。这样可以有效抑制那些突发的数据对整体压缩性能的影响,使得系统不会由于一些数据毛刺的影响导致多次删除和重建字典表,提高了LZW压缩算法的压缩比和执行效率。
  改进的LZW编码算法的软件流程图如下图1所示:

图1 改进的LZW算法实现流程图
  可以通过流程图看出,改进的LZW编码方式主要在添加新词条字符串时,需要判断码长是否满足要求,同时当系统码长达到最大,即12位码长之后,是否输出clear信号需要通过判断一段数据流的压缩比后决定。
3.算法的压缩比性能仿真
  在对算法性能测试时使用系统中需要存储的数据,分别使用改进的LZW算法和传统LZW算法在不同输出码长情况下进行数据压缩,得到部分节点的输出数据,再将这些点的数据通过MATLAB以线图形式输出,得到对于改进的LZW压缩算法的性能通过与传统LZW编码方法分别通过8位码长和12位码长输出的压缩比性能比较数据图如图2所示,其中压缩比的定义为:
    式(1) 

图2 LZW算法压缩比性能比较仿真图


4. 结论
  在图2中可以看出,改进型LZW算法的压缩比小于传统的LZW算法,实测结果表明,对于传统的LZW压缩算法,在选择输出码长为12位时,在文件较大时,压缩性能优于8位输出的LZW算法,但是压缩数据较小时,压缩性能较差;传统的LZW算法在 压缩过程中,压缩比在更新字典起初有明显上升,而在改进型LZW算法中,在字典更新过程中压缩比明显改善,提高了约8%。
  

参考文献:
.Signal Processing:Image Communication .2000.16(4).367-372.

本文链接:http://www.qk112.com/lwfw/jsjlw/zhinengkeji/231764.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学