多媒体技术Chpter04-B.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多媒体技术Chpter04-B

步骤7: 判断码字流中是否还有码字要译  (1) 如果“是”,就返回到步骤4。  (2) 如果“否”, 结束。   LZW译码算法可用伪码表示如下: Dictionary[j] ← all n single-character,j=1,2,…,n j ← n+1 cW ← first code from Codestream Charstream ← Dictionary[cW] pW ← cW While((cW ← next Code word)!=NULL) 4.4.5 LZW算法 * Begin If cW is in Dictionary Charstream ← Dictionary[cW] Prefix ← Dictionary[pW] cW ← first Character of Dictionary[cW] Dictionary[j] ← Prefix.cW j ← n+1 pW ← cW else Prefix ← Dictionary[pW] cW ← first Character of Prefix Charstream ← Prefix.cW Dictionary[j] ← Prefix.C pW ← cW j ← n+1 end 4.4.5 LZW算法 * [例4.7] 编码字符串如表4-16所示,编码过程如表4-17所示。现说明如下:   (1) “步骤”栏表示编码步骤;   (2) “位置”栏表示在输入数据中的当前位置;   (3) “词典”栏表示添加到词典中的缀-符串,它的索引在括号中;   (4) “输出”栏表示码字输出。 表4-16 被编码的字符串 位置 1 2 3 4 5 6 7 8 9 字符 A B B A B A B A C 4.4.5 LZW算法 * 表4-17 LZW的编码过程 步骤 位置 词典 输出 (1) A (2) B (3) C 1 1 (4) A B (1) 2 2 (5) B B (2) 3 3 (6) B A (2) 4 4 (7) A B A (4) 5 6 (8) A B A C (7) 6 -- -- -- (3) 4.4.5 LZW算法 * 表4-18解释了译码过程。 每个译码步骤译码器读一个码字,输出相应的缀-符串,并把它添加到词典中。 例如,在步骤4中,先前码字(2)存储在先前码字(pW)中,当前码字(cW)是(4),当前缀-符串string.cW是输出(“A B”),先前缀-符串string.pW (B)是用当前缀-符串string.cW (A)的第一个字符,其结果(B A) 添加到词典中,它的索引号是(6) 4.4.5 LZW算法 * 表4-18 LZW的译码过程 步骤 代码 词典 输出 (1) A (2) B (3) C 1 (1) -- -- A 2 (2) (4) A B B 3 (2) (5) B B B 4 (4) (6) B A A B 5 (7) (7) A B A A B A 6 (3) (8) A B A C C 4.4.5 LZW算法 * LZW算法得到普遍采用,它的速度比使用LZ77算法的速度快,因为它不需要执行那么多的缀-符串比较操作。 对LZW算法进一步的改进是增加可变的码字长度,以及在词典中删除老的缀-符串。 在GIF图像格式和UNIX的压缩程序中已经采用了这些改进措施之后的LZW算法。 LZW算法取得了专利,专利权的所有者是美国的一个大型计算机公司—Unisys(优利系统公司),除了商业软件生产公司之外,可以免费使用LZW算法。 4.4.5 LZW算法 * P61 4.1 4.2 4.3 第4章作业: * 4.4.2 LZ77算法 位置 1 2 3 4 5 6 7 8 9 字符 A B A B A C A A C 练 习 * LZ77通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包含有冗余信息。冗余信息表现在两个方面,一是空指针,二是编码器可能输出额外的字符,这种字符是指可能包含在下一个匹配串中的字符。 LZSS算法以比较有效的方法解决这个问题,它的思想是如果匹配串的长度比指针本身的长度长就输出指针,否则就输出真实字符。由于输出的压缩数据流中包含有指针和字符本身,为了区分它们就需要有额外的标志位,即ID位。 4.4.3 LZSS算法 4.4 词典编码 * LZSS编码算法的具体执行步骤如下:  (1) 把编码位置置于输入数据流的开始位置。  (2) 在前向缓冲存储器中查找与窗口中最长的匹配串    ① Pointer :=匹配串指

文档评论(0)

woai118doc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档