码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-06-20 15:43:47      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:编码   算法   符号   哈夫曼编码   费诺编码   

信源编码算法

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

费诺编码

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

已知:
技术分享
编码过程为:
技术分享

哈夫曼编码 Huffman coding

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

已知:
技术分享
编码过程为:
技术分享

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

标签:编码   算法   符号   哈夫曼编码   费诺编码   

原文地址:http://blog.csdn.net/yongf2014/article/details/46573557

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!