F_JustWei's Studio.

哈夫曼编码

字数统计: 357阅读时长: 1 min
2021/04/26 Share

哈夫曼编码

1、哈夫曼编码简介

哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。

哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。

2、哈夫曼编码的具体步骤

  • 将字符的顺序按字符出现的概率降序排列。
  • 把两个最小的概率相加,并继续这一步骤,始终将较高的概率分支放在右边,直到最后变成概率1。
  • 画出由概率1处到每个信源符号的路径,顺序记下沿路径的0和1,所得就是该符号的霍夫曼码字。
  • 将每对组合的左边一个指定为0,右边一个指定为1(或相反)。

3、哈夫曼编码的局限性

利用哈夫曼编码,每个符号的编码长度只能为整数,所以如果字符集的概率分布不是 2-n 的形式,则无法达到熵极限。

  • 译码复杂。
  • 没有错误保护功能。
  • 需要实现知道输入字符集的概率分布。
  • 输入字符数受限于可实现的码表尺寸。
CATALOG
  1. 1. 哈夫曼编码
    1. 1.0.1. 1、哈夫曼编码简介
    2. 1.0.2. 2、哈夫曼编码的具体步骤
    3. 1.0.3. 3、哈夫曼编码的局限性