信源编码算法(费诺编码&&哈夫曼编码)

信源编码算法

  • 费诺编码 Fano coding
  • 哈夫曼编码 Huffman coding

费诺编码

编码步骤
  1. 将信源符号按照其概率大小,从大到小排列;
  2. 将这一组信源符号分成概率之和尽可能接近或者相等的一组(即两组分别的概率和之间的差尽可能小!);
  3. 将上面一组符号编码成0,下面一组编码成1,反之亦可;
  4. 将已经分好的组重复步骤2,3,直到不能再进行分组为止;
  5. 从左到右一次写出码字。
费诺编码演示

已知:
信源分布
编码过程为:
费诺编码编码过程

哈夫曼编码 Huffman coding

编码步骤
  1. 将信源符号按照概率大小从大到小排列;
  2. 把概率最小的两个信源符号分成一组,其中,上面一个编码为0,下面一个编码为1,并将这两个符号的概率加起来,其结果再与尚未处理过的符号重新按照大小排序;
  3. 重复步骤2,直到所有的信源符号都处理完毕;
  4. 从右至左按照编码路径返回,即可得到各个码字。
哈夫曼编码演示

已知:
信源分布
编码过程为:
哈夫曼编码编码过程

  • 13
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值