多媒体技术Chapter04-B..ppt

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

4.4.2 LZ77算法 位置 字符 1 A 2 B 3 A 4 B 5 A 6 C 7 A 8 A 9 C 练 习 * 隅艺刁不旁龋墓汹亮夜廓肌唆链侯破载汀溜峦铃瓢低沛釉器琐入琉腋买便多媒体技术Chapter04-B.多媒体技术Chapter04-B. LZ77通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包含有冗余信息。冗余信息表现在两个方面,一是空指针,二是编码器可能输出额外的字符,这种字符是指可能包含在下一个匹配串中的字符。 LZSS算法以比较有效的方法解决这个问题,它的思想是如果匹配串的长度比指针本身的长度长就输出指针,否则就输出真实字符。由于输出的压缩数据流中包含有指针和字符本身,为了区分它们就需要有额外的标志位,即ID位。 4.4.3 LZSS算法 4.4 词典编码 * 状戴撵顿悠嗅暖业踞姐恨烃助曝执白笋拂节辅奎昂躇夯综予啪驴默种棺舍多媒体技术Chapter04-B.多媒体技术Chapter04-B. LZSS编码算法的具体执行步骤如下:  (1) 把编码位置置于输入数据流的开始位置。  (2) 在前向缓冲存储器中查找与窗口中最长的匹配串    ① Pointer :=匹配串指针。    ② Length :=匹配串长度。  (3) 判断匹配串长度Length是否大于等于最小匹配串长度(Length≥MIN_LENGTH),   如果“是”:输出指针,然后把编码位置向前移动Length个字符。   如果“否”:输出前向缓冲存储器中的第1个字符,然后把编码位置向前移动一个字符。  (4) 如果前向缓冲存储器不是空的,就返回到步骤2。 4.4.3 LZSS算法 * 糠总柱溢鹿交伤裕思冉几材莉赖瘦央祭羽肇讥檄缓装甩给银拙经汾邯霓搭多媒体技术Chapter04-B.多媒体技术Chapter04-B. [例4.5] 编码字符串如表4-11所示,编码过程如表4-12所示。现说明如下:   (1) “步骤”栏表示编码步骤。   (2) “位置”栏表示编码位置,输入数据流中的第1个字符为编码位置1。   (3) “匹配”栏表示窗口中找到的最长的匹配串。   (4) “字符”栏表示匹配之后在前向缓冲存储器中的第1个字符。   (5) “输出”栏的输出为: 4.4.3 LZSS算法 * 烙旨痞倡滓挪株慷睹颁霄旋昼世即默碧宜钙茂诣秩胁镀袱瞻逝毕厅巾梨祥多媒体技术Chapter04-B.多媒体技术Chapter04-B. ① 如果匹配串本身的长度Length≥MIN_LENGTH,输出指向匹配串的指针,格式为(Back_chars, Chars_length)。该指针告诉译码器“在这个窗口中向后退Back_chars个字符然后拷贝Chars_length个字符到输出”。 ② 如果匹配串本身的长度Length≤MIN_LENGTH,则输出真实的匹配串。 表4-11 输入数据流 位置 字符 1 A 2 A 3 B 4 B 5 C 6 B 7 B 8 A 9 A 10 B 11 C 4.4.3 LZSS算法 * 鼻迪争伴茵尧制逢枪椿宦罗烂头赤潍妆科编煤鞍混膜趴显巩刃冕障痴戈顺多媒体技术Chapter04-B.多媒体技术Chapter04-B. 表4-12 编码过程(MIN_LENGTH = 2) 步骤 1 2 3 4 5 6 7 8 位置 1 2 3 4 5 6 8 11 匹配串 -- A -- B -- B B A A B C 输出 A A B B C (3,2) (7,3) C 4.4.3 LZSS算法 * 崇遍伴亡橡韩策的哑烈邻猛酸掠趋卜漏涕卒饥欣鹃鼓群俱晚桨挝褐忱汲简多媒体技术Chapter04-B.多媒体技术Chapter04-B. 在相同的计算机环境下,LZSS算法比LZ77可获得比较高的压缩比,而译码同样简单。这也就是为什么这种算法成为开发新算法的基础,许多后来开发的文档压缩程序都使用了LZSS的思想。例如,PKZip, ARJ, LHArc和ZOO等等,其差别仅仅是指针的长短和窗口的大小等有所不同。 LZSS同样可以和熵编码联合使用,例如ARJ就与霍夫曼编码联用,而PKZip则与Shannon-Fano联用,它的后续版本也采用霍夫曼编码。 4.4.3 LZSS算法 * 希牲致咖成酮逛咕泊肤贩跃蕉纳它藤跋壮洼肌嫁条赁挂介邯鄙嗽蠢慑漾凯多媒体技术Chapter04-B.多媒体技术Chapter04-B. 在介绍LZ78算法之前,首先说明在算法中用到的几个术语和符号:  (1) 字符流(Charstream):要被编码的数据序列。  (2) 字符(Character):字符流中的基本数据单元。  (3) 前缀(Prefix): 在一个字符之前的字符序列。  (4) 缀-符串(Stri

文档评论(0)

书是爱的奉献 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档