进制哈夫曼编码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
下午6时48分
5.4 哈夫曼(Huffman)编码
m进制哈夫曼编码
二进制哈夫曼的编码方法可以很容易推广到m进 制的情况。只是编码过程中构成缩减信源时,每 次都是将m个概率最小的符号合并,并分别用 0,1,…,m-1码符号表示。 为使平均码长最短,必须使最后一步缩减信源有 m个信源符号。如果第一步给概率最小的符号分 配码元时,所取的符号数就不一定是m个。
1
0.4 0.2 0.2 0 0.2 1
0.4 0.2 0.2 0.2
0.4 0.4 0.2
0 1
0.6 0 0.4 1
1.0
0 1
0.4 0.4 0.2
0
0.6 0 0.4 1
1.0
1
8
5.4 哈夫曼(Huffman)编码(例2续)
第一种方法码树图
第二种方法码树图
下午6时48分
9
5.4 哈夫曼(Huffman)编码(例2续)
一般将合并的概率放在上面,这样可获得较小的码方差。
Biblioteka Baidu
需要大量的存储设备来缓冲码字长度的差异,这是码方差小的码质量 好的原因。
2 码 字长 度 的方 差 : E Ki K p(xi )(Ki K )2 i 1 2
n
下午6时48分
6
5.4 哈夫曼(Huffman)编码(例2)
5.4 哈夫曼(Huffman)编码
二进制哈夫曼码的编码方法:
(1) 将 信 源 消 息 符 号 按 其 出 现 的 概 率 大 小 依 次 排
p( x1 ) p( x2 ) p( xn )。 列:
(2)取两个概率最小的符号分别配以0和1两个码元, 并将这两个概率相加作为一个新符号的概率,与 未分配二进制码元的符号重新排队。
2
H( X ) 96.5% K
n
12 0.4(1- 2.2)2 0.2(2- 2.2)2 0.2(3- 2.2)2 (0.1 0.1)(4- 2.2)2 1.36
第二种方法:
2 2 (0.4 0.2 0.2)(2- 2.2)2 (0.1 0.1)(3- 2.2)2 0.16
两 种 方 法 的 平 均 码 长等 相 :K p(xi )K i 2 .2码 元/符 号
i 1 7
两 种 编 码 方 法 的 编 码率 效相 等 :
2
码字长度的方差: E K i K p(xi )(Ki K )2 i 1 第一种方法:
故 第 二 种 哈 夫 曼 码 的量 质好 。
下午6时48分
10
5.4 哈夫曼(Huffman)编码
进行哈夫曼编码时,为得到码方差最小的码,应使合并的 信源符号位于缩减信源序列尽可能高的位置上,以减少再 次合并的次数,充分利用短码。 哈夫曼码是用概率匹配方法进行信源编码。它有两个明显 特点:一是哈夫曼码的编码方法保证了概率大的符号对应 于短码,概率小的符号对应于长码,充分利用了短码;二 是缩减信源的最后两个码字总是最后一位不同,保证了哈 夫曼码是即时码。 哈夫曼码是最佳码。
下午6时48分
5
5.4 哈夫曼(Huffman)编码
哈夫曼编码方法得到的码并非唯一的。
每次对信源缩减时,赋予信源最后两个概率最小的符号,用0和1是可 以任意的,所以可以得到不同的哈夫曼码,但不会影响码字的长度。
对信源进行缩减时,两个概率最小的符号合并后的概率与其它信源符
号的概率相同时,这两者在缩减信源中进行概率排序,其位置放置次 序是可以任意的,故会得到不同的哈夫曼码。此时将影响码字的长度,
码长Ki2 2 2 2 3 3
7
5.4 哈夫曼(Huffman)编码(例2续)
码字
0.4 第 一 01 0.2 种 方 000 0.2 法 0010 0.1 0 0011 0.1 1 00 0.4 第 二 10 0.2 种 方 11 0.2 法 010 0.1 0 011 0.1 1 下午6时48分
下午6时48分
1
5.4 哈夫曼(Huffman)编码
(3)对重排后的两个概率最小符号重复步骤 (2)的过
程。
(4) 不断继续上述过程,直到最后两个符号配以 0 和1为止。 (5)从最后一级开始,向前返回得到各个信源符号 所对应的码元序列,即相应的码字。
下午6时48分
2
5.4 哈夫曼(Huffman)编码(例1)
下午6时48分
4
5.4 哈夫曼(Huffman)编码(例1续)
平均码长: K p( a i )K i 2.72码 元/符 号
i 1 7
信源熵: H ( X ) - p(ai ) log p(ai ) 2 .61比 特/符 号
i 1
7
对 单 符 号 信 源 编 二 进码 制 ,L 1 ,m 2, 则 信 源 采 用 哈 夫 曼 码 编 所需的信息率: K R log m K 2.72 比 特/码 元 L H ( X ) H ( X ) 2.61 编码效率: 96% R 2.72 K
3
5.4 哈夫曼(Huffman)编码(例1续)
0.20 0.19 0.18 0.17 0.15 0.10 0 0.01 1 0.20 0.19 0.18 0.17 0.15 0 0.11 1 0.26 0.20 0.19 0.180 0.171 0.35 0.26 0.20 0 0.19 1 0.39 0.610 0.35 0 0.39 1 0.26 1 1.0
例:对以下离散无记忆信源进行两种哈夫曼编码。(例5.1.6) 信源 符号ai a1 a2 a3 a4 a5
下午6时48分
概率 p(ai) 0.4 0.2 0.2 0.1 0.1
码字Wi1 码长Ki1 码字Wi2 1 01 000 0010 0011 1 2 3 4 4 00 10 11 010 011
例:对以下信源进行哈夫曼编码。 P166习题5.3
信源符号ai a1 a2 a3 a4 a5 a6 a7
下午6时48分
概率p(ai) 0.20 0.19 0.18 0.17 0.15 0.10 0.01
码字Wi 10 11 000 001 010 0110 0111
码长Ki 2 2 3 3 3 4 4
下午6时48分
5.4 哈夫曼(Huffman)编码
m进制哈夫曼编码
二进制哈夫曼的编码方法可以很容易推广到m进 制的情况。只是编码过程中构成缩减信源时,每 次都是将m个概率最小的符号合并,并分别用 0,1,…,m-1码符号表示。 为使平均码长最短,必须使最后一步缩减信源有 m个信源符号。如果第一步给概率最小的符号分 配码元时,所取的符号数就不一定是m个。
1
0.4 0.2 0.2 0 0.2 1
0.4 0.2 0.2 0.2
0.4 0.4 0.2
0 1
0.6 0 0.4 1
1.0
0 1
0.4 0.4 0.2
0
0.6 0 0.4 1
1.0
1
8
5.4 哈夫曼(Huffman)编码(例2续)
第一种方法码树图
第二种方法码树图
下午6时48分
9
5.4 哈夫曼(Huffman)编码(例2续)
一般将合并的概率放在上面,这样可获得较小的码方差。
Biblioteka Baidu
需要大量的存储设备来缓冲码字长度的差异,这是码方差小的码质量 好的原因。
2 码 字长 度 的方 差 : E Ki K p(xi )(Ki K )2 i 1 2
n
下午6时48分
6
5.4 哈夫曼(Huffman)编码(例2)
5.4 哈夫曼(Huffman)编码
二进制哈夫曼码的编码方法:
(1) 将 信 源 消 息 符 号 按 其 出 现 的 概 率 大 小 依 次 排
p( x1 ) p( x2 ) p( xn )。 列:
(2)取两个概率最小的符号分别配以0和1两个码元, 并将这两个概率相加作为一个新符号的概率,与 未分配二进制码元的符号重新排队。
2
H( X ) 96.5% K
n
12 0.4(1- 2.2)2 0.2(2- 2.2)2 0.2(3- 2.2)2 (0.1 0.1)(4- 2.2)2 1.36
第二种方法:
2 2 (0.4 0.2 0.2)(2- 2.2)2 (0.1 0.1)(3- 2.2)2 0.16
两 种 方 法 的 平 均 码 长等 相 :K p(xi )K i 2 .2码 元/符 号
i 1 7
两 种 编 码 方 法 的 编 码率 效相 等 :
2
码字长度的方差: E K i K p(xi )(Ki K )2 i 1 第一种方法:
故 第 二 种 哈 夫 曼 码 的量 质好 。
下午6时48分
10
5.4 哈夫曼(Huffman)编码
进行哈夫曼编码时,为得到码方差最小的码,应使合并的 信源符号位于缩减信源序列尽可能高的位置上,以减少再 次合并的次数,充分利用短码。 哈夫曼码是用概率匹配方法进行信源编码。它有两个明显 特点:一是哈夫曼码的编码方法保证了概率大的符号对应 于短码,概率小的符号对应于长码,充分利用了短码;二 是缩减信源的最后两个码字总是最后一位不同,保证了哈 夫曼码是即时码。 哈夫曼码是最佳码。
下午6时48分
5
5.4 哈夫曼(Huffman)编码
哈夫曼编码方法得到的码并非唯一的。
每次对信源缩减时,赋予信源最后两个概率最小的符号,用0和1是可 以任意的,所以可以得到不同的哈夫曼码,但不会影响码字的长度。
对信源进行缩减时,两个概率最小的符号合并后的概率与其它信源符
号的概率相同时,这两者在缩减信源中进行概率排序,其位置放置次 序是可以任意的,故会得到不同的哈夫曼码。此时将影响码字的长度,
码长Ki2 2 2 2 3 3
7
5.4 哈夫曼(Huffman)编码(例2续)
码字
0.4 第 一 01 0.2 种 方 000 0.2 法 0010 0.1 0 0011 0.1 1 00 0.4 第 二 10 0.2 种 方 11 0.2 法 010 0.1 0 011 0.1 1 下午6时48分
下午6时48分
1
5.4 哈夫曼(Huffman)编码
(3)对重排后的两个概率最小符号重复步骤 (2)的过
程。
(4) 不断继续上述过程,直到最后两个符号配以 0 和1为止。 (5)从最后一级开始,向前返回得到各个信源符号 所对应的码元序列,即相应的码字。
下午6时48分
2
5.4 哈夫曼(Huffman)编码(例1)
下午6时48分
4
5.4 哈夫曼(Huffman)编码(例1续)
平均码长: K p( a i )K i 2.72码 元/符 号
i 1 7
信源熵: H ( X ) - p(ai ) log p(ai ) 2 .61比 特/符 号
i 1
7
对 单 符 号 信 源 编 二 进码 制 ,L 1 ,m 2, 则 信 源 采 用 哈 夫 曼 码 编 所需的信息率: K R log m K 2.72 比 特/码 元 L H ( X ) H ( X ) 2.61 编码效率: 96% R 2.72 K
3
5.4 哈夫曼(Huffman)编码(例1续)
0.20 0.19 0.18 0.17 0.15 0.10 0 0.01 1 0.20 0.19 0.18 0.17 0.15 0 0.11 1 0.26 0.20 0.19 0.180 0.171 0.35 0.26 0.20 0 0.19 1 0.39 0.610 0.35 0 0.39 1 0.26 1 1.0
例:对以下离散无记忆信源进行两种哈夫曼编码。(例5.1.6) 信源 符号ai a1 a2 a3 a4 a5
下午6时48分
概率 p(ai) 0.4 0.2 0.2 0.1 0.1
码字Wi1 码长Ki1 码字Wi2 1 01 000 0010 0011 1 2 3 4 4 00 10 11 010 011
例:对以下信源进行哈夫曼编码。 P166习题5.3
信源符号ai a1 a2 a3 a4 a5 a6 a7
下午6时48分
概率p(ai) 0.20 0.19 0.18 0.17 0.15 0.10 0.01
码字Wi 10 11 000 001 010 0110 0111
码长Ki 2 2 3 3 3 4 4