LZW编码算法详解.docx
《LZW编码算法详解.docx》由会员分享,可在线阅读,更多相关《LZW编码算法详解.docx(7页珍藏版)》请在第壹文秘上搜索。
1、LZW编码算法详解1.ZW(Lempel-Ziv&WeICh)编码又称字串表编码,是Welch将Lemple和Ziv所提出来的无损压缩技术改良后的压缩方法。GIF图像文件采用的是一种改良的LZW压缩算法,通常称为GIFTZW压缩算法。下面简要介绍GIF-LZW的编码与解码方程解:例现有来源于二色系统的图像数据源(假设数据以字符串表示):aabbbaabb,试对其进展LZW编码及解码。1)根据图像中使用的颜色数初始化一个字串表如表1),字串表中的每个颜色对应一个索引。在初始字串表的LZW_CLEAR和LZW_EOI分别为字串表初始化标志和编码完毕标志。设置字符串变量SI、S2并初始加为空。2)输
2、出LZTLCLEAR在字串表中的索引3H(见表2第一行)。3)从图像数据流中第一个字符开场,读取一个字符a,将其赋给字符串变量S2。判断Sl+S2=a在字符表中,那么S1=S1+S2=(见表2第二行)。4读取图像数据流中下一个字符a,将其赋给字符串变量S2o判断Sl+S2=aa不在字符串表中,输出Sl=a在字串表中的索引OH,并在字串表末尾为Sl+S2=aa添加索引4H,且S1=S2=(见表2第三行)。5)读下一个字符b赋给S2。判断Sl+S2=ab不在字符串表中,输出Sl=a在字串表中的索引0H,并在字串表末尾为Sl+S2=ab添加索引5H,且Sl=S2=b(见表2第四行).6)读下一个字符
3、b赋给S2。Sl+S2=bb不在字串表中,输出Sl=b在字串表中的索引1H,并在字串表末尾为Sl+S2=bb添加索引6H,且S1=S2=b(见表2第五行)。7)读字符b赋给S2。Sl+S2=bb在字串表中,那么S1=S1+S2=bb(见表2第六行)。8)读字符a赋给S2。Sl+S2=bba不在字串表中,输出Sl=bb在字串表中的索引6H,并在字串表末尾为SI表末“bba添加索引7H,且S1=S2=a(见表2第七行)。9)读字符a赋给S2。Sl+S2=aa”在字串表中,那么S1=S1+S2=aa见表2第八行)。10)读字符b赋给S2。Sl+S2=aab不在字串表中,输出Sl=aa在字串表中的索引
4、4H,并在字串表末尾为Sl+S2=aab添加索引8H,且S1=S2=b(见表2第九行)。11)读字符b赋给S2。Sl+S2=bb,在字串表中,那么S1=S1+S2=b(见表2第十行)。12)输出Sl中的字符串b在字串表中的索引IH(见表2第H一行)。13)输出完毕标志LZW_EOI的索引3H,编码完毕。最后的编码结果为30016463下面对上述编码结果“30016463进展解码。同样先初始化字符串表,结果如表1所示。1)首先读取第一个编码COde=3H,由于它为LZW/LEAR,无输出见表3第一行)。2)读入下一个编码Code=0H,由于字符串表中存在该索引,因此输出字符串表中OH对应的字符串
5、a,同时使OldCode=COde=OH(见表3第二行)。3)读下一个编码Cocle=OH,字符串表中存在该索引,输出OH所对应的字符串然后将OldCode=OH所对应的字符串加上Code=OH所对应的字符串的第一个字符a,即aa添加到字串表中,其索引为4H,同时使OldCode=Code=OH(见表3第三行)。4)读下一个编码COde=IH,字串表中存在该索引,输出IH所对应的字符串b,然后将OldCode=OH所对应的字符串a加上Code=IH所对应的字符串的第一个字符b,即ab添加到字串表中,其索引为5H,同时使OldCode=Code=IH(见表3第四行)。5)读入下一个编码Code=
6、6H,由于字串表中不存在该索引,因此输出OldCode=IH所对应的字符串b加上OldCode的第一个字符b“,即bb,同时将bb添加到字符串表中,其索引为6H,同时使Oldeode=Code=6H(见表3第五行)。6)读下一个编码CoCle=4H,字串表中存在该索引,输出4H所对应的字符串aa”,然后将01dCode=6H所对应的字符串bb加上Code=4H所对应的字符串的第一个字符a,即bba添加到字串表中,其索引为7H,同时使Oldeode=COde=4H(见表3第六行)。7)读下一个编码Code=6H,字串表中存在该索引,输出6H所对应的字符串bb,然后将OldCodeMH所对应的字符
7、串aa加上Code=6H所对应的字符串的第一个字符b,即aab添加到字串表中,其索引为8H,同时使01dCode=Code=6H(见表3第七行)。8)读下一个编码COde=3H,它等于LZW_EOI,数据解码完毕(见表3第八行)。最后的解码结果为aabbbaabbo由此可见,LZW编码算法在编码与解码过程中所建设的字符串表是一样的,都是动态生成的,因此在压缩文件中不必保存字符串表。1 .LZW的全称是什么?LemPel-ZiV-WelCh(LZW).LZW的简介和压缩原理是什么LZW压缩算法是种新颖的压缩方法,由1.emple-Ziv-Welch三人共同创造,用他们的名字命名。它采用了种先进的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LZW 编码 算法 详解
