| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
关于LZW算法的改进研究           
关于LZW算法的改进研究
【摘 要】 在分析lzw算法的基础上,对lzw算法的缺陷进行了探讨。并对lzw算法进行了改进,大幅度减少了编码的长度,降低了匹配长度取值变化的影响,完全兼容lzw算法,在平均压缩率方面有较大的提高,而且对改进的算法进行了分析论证。
【关键词】 数据压缩 lzw算法 缓冲区

lzw算法的实质是无损压缩技术[1-3],lzw算法通过对输入流进行分析,自适应地生成一个包含输入流中不重复子串的串表,将每一子串映射为一独立的码字输出。这样,它就充分利用了相邻输入之间的相关性,可以取得超过信源一阶熵的编码效率。然而,受缓存容量、计算复杂度和计算速度等因素的限制,串表的长度受到一定限制,且一般信源所具有的局部平稳性随缓存容量加大,编码效率提高不大。即:它自身固有一定的缺陷与不足,难以满足人们的需要,对它进行改进一直成为人们的研究目标之一[4-6]。为了解决这一问题,本文对lzw算法进行了改进,命名为lzwc编码算法。它兼有lzw算法的优点,还具有自身的优越性。首先对lzw算法进行一些必要的介绍和分析。
1. lzw算法
lzw算法[1]由韦尔奇(t.a.welch)于1984年通过对lz算法的改进。开发出的一种更优算法。它是一种基于字典的编码方法。并且它是lz系列码中应用最广,变形最多的一种算法。lzw压缩有3个重要的对象:数据流、编码流和编译表。在编码时,数据流是输入对象,编码流就是输出对象;在解码时,编码流则是输入对象,数据流是输出对象;而编译表是在编码和解码时都需要借助的对象。LOcAlHoSt
1.1lzw算法的编码原理
lzw算法的编码原理为:对消息序列xn=x1x2x3…xn从左到右进行阅读,并以此进行lzw编码:
(1)对x1显然是第一次出现,它的前面也没有字符,那么他的编号是1,它的码元为(1,0, x1)。
(2)对于x2它可能有两种情况发生,即x1=x2或x1≠x2。对此,有
①如果x1=x2,那么对于x2不作编码,而对x3的编码位点取2,连接位点则为1,这表示对x3作第二次编码,它与第一次编码的x1相连接。
②如果x1≠x2,那么x2的编码位点取为2,连接位点则为0,这表示对x2作第二次编码,它的前面没有出现过相同的字符。
(3)依照上述步骤递推,如果对向量xn=x1x2x3…xn,n<m,我们已经得到它的编码:c={(i,li, xji),i=1,2, …, k }.
对上式的c满足的条件:对每一个i有且只有一对(i,li),使li<i<ji成立。那么c构成一lzw树。由树的构造可知,对每个点i,它的枝li是唯一的。因此,树c的全部枝为li,i=0,1,…,k 确定,而且每个li与xn中的子向量xαi对应。
(4)如向量xn中的编码c及相应的树确定,那么我们就可读xn+1,xn+2,…, xn+k,并对它们继续进行编码,如果有一个i≦k使xαi=(xn+1,xn+2,…, xn+k)成立,而且对任何i≦k都有:xαi≠( xn+1,xn+2,…, xn+k,xn+k+1)成立。那么:
①不对字符xn+1,xn+2,…, xn+k进行编码。
②对xn+k+1作它的编码为(k+1,i, xn+k+1)。
以此类推,就可以完成对xn的编码c。
2.2 lzw算法的原理
lzw算法通过编码表来组织输人字符串,并把它们转换成一定长度的编码。lzw算法有一个重要的特性称作前缀性,即如果一个字符串在编码表上,那它的前缀串也在编码表上。例如:a、b为两个不同的字符串,ab组成一新的字符串,a为b的前缀串,如果b在编码表中,则一定在编码表中。
lzw通过编码表识别源输人字符序列,通过向编码表中增加新的字符串,从而识别更多、更长的字符序列。但由于前缀性的约束,这种识别一般每次只在原来的基础上增加一个字符,依次进行。同时,由于编码算法没有很强的分析功能,使它不知道哪些字符序列将来出现的概率较大,所以它具有一定的盲目性。例如,有一个长度为n的字符序列,lzw编码表要完全识别它,则至少需要该序列部分或全部重复出现n次。但是,当一个较长的字符串重复出现两次,我们就能够容易识别它,而且这样的字符串再次出现的概率是非常大的。基于这样一种认识,本文在lzw算法的基础上,构造了一种新的编码算法,我们把新算法称为lzwc编码算法,一般情况下它对数据的压缩率比lzw算法有大幅度提高。新算法在最差的情况下可退化成标准的lzw算法。下面对lzwc算法的原理进行详细的介绍。
2 lzwc算法
lzwc算法的基本原理是针对源输人数据中不同特点的数据序列,采用不同的编码器分别编码。数据序列的分类则是根据它的特点,通过对原始数据序列的分析来完成。
lzwc算法共有两个编码器,它们是:
(1) 重复编码器(repeatcorder),简称rc。
(2) lzw编码器。
rc对输入流中重复的数据进行编码,剩下的数据由则由lzw编码器进行编码。rc编码器和lzw编码器的编码通过lzw编码器的编码表统一起来。
2.1 lzwc算法的编码及原理
lzwc的算法过程如下:
对消息序列xn=x1x2x3…xn从左到右进行阅读,并以此进行lzwc编码:

[1] [2] [3] 下一页

  • 上一个论文:

  • 下一个论文:


  • 看了《关于LZW算法的改进研究》的网友还看了:
    [经济论文]关于加强企业内部控制的研究与探讨
    [经济论文]关于我国企业薪酬管理有关问题探究
    [企业管理]关于高校考试管理工作的一些探析
    [企业管理]关于会计教学方法与教学质量
    [经济论文]关于对固定资产转资滞后的几点思考
    [今日更新]关于国学与软实力关系若干问题的思考
    [今日更新]关于人民助学金的民主评定
    [今日更新]关于我国民族法与民族法学的几个基本问题
    [经济论文]关于当前形势下我国环境监测制度存在的问题及其应
    [今日更新]关于企业财务审计核心要求的思考

    计算机论文
    普通论文点特征提取算法探讨
    普通论文基于SDO的异构服务数据模型研究
    普通论文3G系统多用户检测技术研究
    普通论文探析计算机网络安全的现状和防范
    普通论文谈软件的破解与保护
    普通论文浅谈网络交际与语言学研究新视角
    普通论文基于WinDis 32技术实现网络通信监
    普通论文浅谈虚拟机在计算机教学中的应用
    普通论文试论应用密码技术安全策略
    普通论文市场潜力可变的ICT标准扩散模型研
    普通论文谈中职计算机专业课程考核改革
    普通论文浅议非c/s实现上机考试系统
    论文
    普通论文[今日更新]《阿凡提的故事》读后感
    普通论文[企业管理]混合型经营管理模式
    普通论文[免费范文]全市组织工作座谈会主持
    普通论文[今日更新]信用社信贷员清收不良贷
    普通论文[免费范文]乡镇行政执法自查工作总
    普通论文[企业管理]中小型国有企业内部会计
    普通论文[免费范文]中国企业的战略盲点:战
    普通论文[企业管理]利用会计技能大赛 推动会
    范文大全
    普通范文[规章制度]保持*党员先进性学习管理
    普通范文[范文大全]县统计局2010年党风廉政
    普通范文[范文大全]2012年开展“六扫除六确
    普通范文[范文大全]火锅文化节策划方案
    普通范文[范文大全]大学生赴油田社会实践报
    普通范文[规章制度]公司考勤制度
    普通范文[零八零一]-市局局长在全市地税系统
    普通范文[范文大全]2012年“讲政治顾大局守
    演讲致词
    普通演讲[会议发言稿]工商局长在2005年政治业务
    普通演讲[教师演讲稿范文]班主任研讨会发言稿:做智
    普通演讲[主持词]校园文艺晚会主持人台词
    普通演讲[学生演讲稿范文]学校推广普通话倡议书
    普通演讲[生日祝福范文]父亲生日祝福语100条
    普通演讲[庆典致辞]在城市管理行政执法局揭牌
    工作范文
    普通公文方案[模板范例]撤回海事诉前财产保全申请
    普通总结[工作计划]财务年度工作计划
    普通汇报体会[心得体会]怎么做好优质服务
    普通公文方案[公文写作]乡镇上消化道疾病普查工作
    普通汇报体会[工作体会]司法局党组贯彻民主集中制
    普通公文方案[公文写作]柳传志:把职业经理人改成
    普通公文方案[公文写作]冬季征兵工作动员报告
    普通总结[工作计划]幼儿园下学期中班班务计划
    普通汇报体会[征文演讲]2012年中学生在清明节扫墓
    普通公文方案[公文写作]关于建立健全严打经常性工
    普通总结[工作计划]优秀班主任交流材料
    普通公文方案[公文写作]企业文化支撑基业常青的两