信息论第章无失真信源编码-精选课件(设计).ppt

信息论第章无失真信源编码-精选课件(设计).ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
游程编码 游程指的是由字符(或信号取样值)构成的数据流中各个字符(或取样值)连续重复出现而形成的一段数据. 游程长度RL (Run—Length),简称游程或游长,指的是这段连续重复出现的数据的长度。 基本思路:对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。其编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同代码重复的个数,从而实现数据的压缩。 9 9 9 9 9 7 7 7 7 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 3 4 4 4 5 5 5 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 (9,5),(7,4),(0,8),(1,14),(2,9),(5,9),(9,11),(8,8),(7,5),(3,1),(4,3),(5,3),(6,7),(8,13) 特点:图中的符号只有两种,其中连续的白点构成白游程,黑点构成黑游程,而且黑白游程总是交替出现的. 规定游程从白游程开始,可以编码为:34,2,7,5,2,2,3,2,2,6…… 数据有的出现的次数比较多,而有的数据出现的次数比较少,因此还可以利用Huffman编码对这些数据继续进行压缩,以得到更大的压缩比。 LZW编码 LZW(Lempel-Ziv Welch)编码又称为字串表编码,属于一种无损压缩编码。LZW编码与游程编码类似,也是对字符串进行编码从而实现压缩,但它在编码的同时还生成了特定字符串以及与之对应的索引字符串表。LZW压缩使用字典库查找方案。它读入待压缩的数据并与一个字典库(库开始是空的)中的字符串进行对比,如有匹配的字符串,则输出该字符串数据在字典库中的位置索引,否则将该字符串插入字典中。 LZW编码算法 ①将字典初始化为包含所有可能的单字字符,当前前缀P初始化为空; ②读入当前字符到C(即字符流中的下一个字符); ③判断P+C是否在字典中,如果在字典中,则用C扩展P,即P=P+C;否则输出与当前前缀P相对应的码字,同时将P+C添加到字典中并令P=C,即重新置当前前缀; ④判断字符流结束与否,如果没有结束,转②,否则把代表当前前缀P的码字输出到码字流; ⑤结束。 【例】将字符串“ABBABABAC”进行LZW编码。 码字 字典 P(当前前缀) C(当前字符) 输出 1 A ? ? ? 2 B ? ? ? 3 C ? ? ? ? ? A A ? 4 AB B B 1 5 BB B B 2 6 BA A A 2 ? ? AB B ? 7 ABA A A 4 ? ? AB B ? ? ? ABA A ? 8 ABAC C C 7 ? ? ? ? 3 2、LZW译码算法 ①初始化字典,并读入一个码字W; ②试读一个码字K,如果不存在码字K可读,则输出W对应的字符串,转③;否则,在W对应的字符(串)末尾加入码字K的第一个字符,形成的字符串加入字典(如果K还未在字典中出现,则W+FirstChar(W)放入字典)。然后输出W对应的字符(串),同时W=K(重新赋W的值);转②; ③算法结束。 对上例的输出结果1,2,2,4,7,3进行译码输出(已知该文档中按顺序出现A、B、C三个字符)。 码字 字典 W K 译码输出 1 A ? ? ? 2 B ? ? ? 3 C 1 2 ? 4 AB 2 2 A 5 BB 2 4 B 6 BA 4 7 B 7 ABA 7 3 AB 8 ABAC 3 -- ABA ? ? ? ? C 算术编码 算术编码将整个要编码的数据映射到一个位于[0,1)的实数区间中,并且输出一个小于1同时又大于0的小数来表示全部数据。利用这种方法算术编码可以让压缩率无限接近数据的熵值,从而获得理论上的最高压缩率。 进行编码时,从实数区间[0,1)开始。按照输入符号的频度将当前的区间分割成多个子区间,根据当前输入的符号选择对应的子区间。然后从选择的子区间中根据后续的输入符号继续进行下一轮分割。不断地进行这个分割过程,直到所有符号输入完毕为止。对于最后的输入符号所选择的子区间,输出属于该区间的一个小数。这个小数主是所有输入数据的编码。 设一数据由“A”、“B”、“C”三个符号组成,利用算术编码方法现对数据“BCCB”进行编码。 第4章 无失真信源编码 重庆交通大学信息科学与工程学院 通信工程系 李益才 2012年8月 第4章 无失真信源编码 4.1 信源编码的相关概念 4.2 定长码及定长编码定理 4.3 变长

文档评论(0)

老刘忙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档