1、第8章 无失真的信源编码,8.1 霍夫曼(Huffman)码 8.2 香农-费诺(Shannon-Fano)码 8.4 游程编码 8.6 字典码,2,熵编码 (Entropy Coding),香农第一定理总能找到一种编码方法,使编码后信源的信息传输率R任意地逼近信源的信息熵,而不存在失真 信源的信息熵是信源进行无失真编码的理论极限值,3,香农-费诺(Shannon-Fano)码,编码算法 将信源符号以递减概率的顺序排列 将信源符号分为两组,使每组的概率和相近 其中一组编号“0”,另一组编号“1” 对每组重复步骤2-4,直至小组内只剩一个符号 特点 考虑了信源的统计特性 分组方法多,其中容易出现
2、后期分组的概率和不相近,4,二元霍夫曼(Huffman)码,编码算法 将信源符号以递减概率的顺序排列 将码符号“0”和“1”分配给概率最小的两个符号 合并这两个符号为一个新符号,生成缩减信源 重复步骤1-3,直至剩下一个符号 从最后一级缩减信源对应的码符号是最高位。 特点 考虑了信源的统计特性,而且是最佳码 对于同一个信源,编码过程并非唯一,但平均码长都相同,5,8.4 游程(Run-Length)编码 例,6,8.4 游程(Run-Length)编码 游程概率及其平均长度,信源,码字,“0”游程,PL(0),7,8.4 游程(Run-Length)编码 游程概率及其平均长度,信源,码字,“1”游程,PL(0),8,8.4 游程(Run-Length)编码 可压缩条件,9,字典码(Dictionary Coding),基于概率统计的编码,难以压缩: 信源的概率统计特性无法测得 信源不是随机信源 解决方法:字典码 将信源符号序列分解为短语序列的组合 每读入一个短语,查找字典中是否有相同的短语 若有,就输出短语对应的编号 若无,就将该短语加入字典中 字典的大小一般有限制,超过最大值,将最不常用的短语删除。,