第12讲 霍夫曼码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12讲 霍夫曼码

1. 简介

1951年,霍夫曼(Huffman)在MIT 攻读博士时,信息论课程的导师法诺(Fano )给全班学生布置的学期报告的题目是,寻找最优的二进制编码。1952年,霍夫曼找到了一种编码方法,并证明它是最优即时码。霍夫曼码被普遍应用于传真、卫星通信、MP3音频压缩等技术领域。

2. 霍夫曼码的构造方法 根据信源符号的概率,自底向上地构造码树。下面给出二元霍夫曼码的构造方法,

第 第第例解 (1)编码前的通信效率:先计算信源熵H ∞, 再计算通信效率0

H H ∞

。 (2)编码后的通信效率:先计算平均码长L ,再计算码率H R L

=,最后计算编码后的通信效率 l o g R

r

,其中r 是码元数。

二元霍夫曼码的特点:

1. 从码字的尾巴开始构造,先构造长码字的尾巴,后构造短码字的尾巴。

2. 每次给两个概率最小的符号添加码元。

3. 是概率匹配码。

4. 是即时码。

5. 在最长的两个码字中,至少有两个码字的形式分别为w0,w1,其中w 是这两个码字共同的前缀。

6. 将这两个兄弟码字用w 代替,其它码字保持不变,则所得的仍然是霍夫曼码。

注:若合并所得的概率与某个信源符号的概率相等,则对调二者的次序,这样可以减小码长的方差。码长方差较小,则编码时编码器输出码符号的速率会比较平稳。

3. 二元霍夫曼码在组合测试中的应用

例2. 设计一种组合测试方法,从几瓶红酒中找出一瓶劣质红酒。所谓组合测试指可以将几瓶酒中各取一点,混合起来后再测试其中有没有劣质酒。借助于霍夫曼码编码,可以设计出期望测试次数最小的最优组合测试方法。在这种测试方法中,每次测试可以获得尽可能大的平均信息,从而使得平均测量次数最小。

假设有四瓶红酒分别记为a 1, a 2, a 3, a 4,其是劣质红酒的概率分布为

1

2340.50.250.1250.125a a a a ⎡⎤⎢⎥⎣⎦

根据例1,这四瓶红酒有如下霍夫曼编码:

组合测试方法:

第1步 根据码字的首字符将待测试的4瓶酒分为两组,即首字符为0的构成一组,即{a 1},首字符为1的构成一组,即{a 2, a 3, a 4}。测试其中一组可知道劣质红酒在哪一组中。

第2步 如果上一步测试还没有找出劣质红酒,则对所确定的劣质红酒所在的组继续进行分组,这次分组所依据的是这一组中各瓶红酒的码字的下一个符号。

第3步 重复第二步直到找出劣质红酒。

信源符号 码字 a 1 0 a 2 10 a 3 110 a 4 111

4. N -分组霍夫曼编码

例3. 设某无记忆信源符号集的概率分布为

120.70.3a a ⎡⎤⎢⎥⎣⎦

显然{0,1}是该信源的霍夫曼码。然而,由于编码对象只有两个,这个霍夫曼码没

有能够应用概率匹配策略。为了克服编码对象太少的局限,可以增大编码的分组长度。这里我们尝试构造一个2-分组霍夫曼码。由于该信源是无记忆的,故所有2-分组的概率分布为

((

5. 最优的即时码。

直观依据:根据上面的例1,可以看出,在二元霍夫曼码的码树的构造过程中, (1) 码长与概率是相匹配的;

(2) 每次添加的两个码元符号都是必须要添加的。这让我们在直觉上相信霍夫

曼码是最优的即时码。

为了论证这个直觉的合理性,我们继续观察二元霍夫曼码的码树,可以看到如下性质:

(3) 有两个高度最大的叶结点是兄弟,是同一个父结点的子结点。

(4) 对最高的两个兄弟叶结点进行剪枝后,所得的树仍然是霍夫曼码的码树。

这给予我们的一个启发是,用归纳法证明霍夫曼码的最优性。

定理1. 霍夫曼编码是最优即时码。

证明:我们这里仅考虑二元霍夫曼码的最优性,多元情形可类似证明。根据霍夫曼码的构造方法,可知霍夫曼码是即时码。

以下,剪枝是指对码树中最高的两个兄弟叶结点进行剪枝。若码树所对应的即时码是最优的,则称该码树是最优的。

1. 对二元霍夫曼码的码树不断地剪枝,最终得到高度为1且只有两个叶结点的码树。这个最小的码树所对应的即时码显然是最优的。

2. 下面证明,对于霍夫曼码的码树来说,若剪枝后的码树是最优的,则剪枝前的码树也是最优的。

(1)设T 是某二元霍夫曼码的码树,剪枝后的霍夫曼码树为T ’。设被剪枝的两个叶结点为a n-1和a n ,其概率之和为p ,则剪枝后平均码长缩小了p 。

(2)设f 是同一个信源的最优的二元即时码,平均码长为L 。易知,f 的码树上也有两个高度最大的兄弟叶结点。不妨设这两个叶结点就是a n-1和a n 。因此,可以对它进行剪枝,剪枝后平均码长为L -p 。

(3)若霍夫曼码树T ’是最优的,则其平均码长等于L-p 。于是,T 的平均码长为L ,从而是最优的。

3. 结合1,2两个结论可知,任何霍夫曼码都是最优的。 证毕

6. 马尔科夫信源的霍夫曼编码

设S 是离散的时齐、遍历的马尔科夫信源,状态集为Q ={1,2,…,n}。一般来说,在不同状态下,信源符号的概率分布是不同的。因此,为了更好地让码长与概率相匹配,我们可以为每个状态i 分别设计一个霍夫曼编码

:N i f S C

所有状态下的霍夫曼编码组成了信源S 的一个霍夫曼编码

:N f Q S C ⨯→

令各状态下的子码:N i f S C →的平均码长分别为i L ,则f 的平均码长为

1n

i i i L p L ==∑

其中p i 是状态i 的发生概率。

相关文档
最新文档