电子科技大学 信息论基础 第4章 数据压缩 (1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非奇异码 唯一可译码 非唯一可译 非即时
即时码 0 10 110 111
0 010 01 10
10 00 11 110
17
例4
即时码x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c 3 = 11
分别发出消息串x1x 2 x 3 x 3和x 2 x 2 x1x 3所对应的码字串 及译码过程
19
=10? N 输出x3 左移2位
4.2 克拉夫特不等式 异前置码存在的充要条件: m元长度为ki , i=1,2, …,n的异前置码存在的充 分必要条件是:
− ki m ∑ ≤1 i =1 n
该充要条件称为克拉夫特(Kraft)不等式。
20
证明:异前置码存在→克拉夫特(Kraft)不等式 设m元异前置码第i个码字的长度为ki, (i=1,2, …,n) 考虑一个N级满树,在第N级共有mN个节点, 在第ki级共有mki个节点。 根据异前置码的定义,第i个码字后的节点不 能再用,故不能用的节点数为mN-ki
29
选取l k = − log P( x k )
Nn Nn
k = 1,2, , N n
− log P( x k ) ≤ l k < − log P( x k ) + 1
k =1 k =1
k = 1,2,, N
Nn k =1
n
− ∑ P( x k ) log P( x k ) ≤ ∑ P( x k )l k < −∑ P( x k ) log P( x k ) + 1
k
Nn
Nn
Nn
k
5
例1
X x1 x 2 x 3 x 4 = P(X) 1 / 2 1 / 4 1 / 8 1 / 8
信源编码及平均码长
6
某种信源编码
x1 →= c1 0, x2 → = c2 10, x3 → = c3 110, x4 → = c4 111
平均码长
1 1 1 L = ∑ P( x k )l k = ×1 + × 2 + 2 × × 3 = 1.75(bit ) 4 8 2 k =1
随机变量序列C1C2 Cl的取值ck1 ck2 ckl 为信源发出消息 xi1 xi2 xin 的码字 2 i1 , i2 , , in 1, 2, , N = k1 , k2 , , kl 1, =
3
记信源发出消息xi1 xi2 xin = xi = i1 , i2 , , in 1, = 2, , N i 1, 2, , N n
Nn Nn
k = 1,2, , N n
λ −l k P( x k ) − 2 =0 log e
−l k
k = 1,2, , N n
log eP( x k ) 2 = k = 1,2, , N n λ Nn Nn log eP( x k ) log e −lk 2 =∑ = ≤1 ∑ λ λ k =1 k =1
10
信源的熵
H(X) = −∑ P( x i ) log P( x i ) = −0.9 log 0.9 − 0.1log 0.1
i =1
2
= 0.469(bit )
L = 0.645 > H(X) = 0.469 n
11
3、非奇异码
定义
信源发出的每条消息映射为不同的码字——一一 对应
表示
x i → ci , x j → c j x i ≠ x j → ci ≠ c j
1 1 1 ×1 + ×1 + ×1 0.875 L ( c = 0) 2 8 4 P(c = 0) = = = = 0.5 1.75 1.75 L 1 1 ×1 + × 5 0.875 L(c = 1) 4 8 P(c = 1) = = = = 0.5 1.75 1.75 L
4
7
信源的熵
1 1 1 1 1 1 H(X) = −∑ P( x i ) log P( x i ) = − log − log − 2 × log 2 2 4 4 8 8 i =1 = 1.75(bit )
12
4、码的扩展编码
定义
消息串的码字等于消息的码字串
表示
x1 → c1 , x 2 → c 2 , , x n → c n x1x 2 x n → c1c 2 c n
13
5、唯一可译码
定义
码的扩展编码为非奇异码
表示
x i x i +1 x i + n −1 → ci ci +1 ci + n −1 , x j x j+1 x j+ n −1 → c jc j+1 c j+ n −1 x i x i +1 x i + n −1 ≠ x j x j+1 x j+ n −1 → ci ci +1 ci + n −1 ≠ c jc j+1 c j+ n −1
4
L = H(X)
8
例2
X 1 0 = P(X) 0.9 0.1
二次扩展信源信源编码及平均码长
01 10 11 X2 00 = 2 P(X ) 0.81 0.09 0.09 0.01
9
某种信源编码
00 →= c1 0, 01 → = c2 11, 10 →= c3 100, 11 → = c4 101
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 1/ 8 0 x 4 1/ 8
x′ 1/ 4 3
34
1
重复① ② ③步骤,直到合并出新消息的概率为1时 结束,分配给消息xk的全部码元作为该消息的码字 ck k=1,2,…,Nn
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 1/ 8 0 x 4 1/ 8
x1 1 / 2 x 2 1/ 4 x′ 1/ 4 3
0 1
x1 1 / 2 0 x′2 1 / 2 1
′ 1 x1
1 x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c3 = 110, x 4 → c 4 = 111
35
更紧凑的编码过程描述
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 x4 1/ 8 0 1/ 8 1
①将信源发出消息xk k=1,2,…,Nn按概率降序排列 ②为概率最小的两条消息各自分配一个二进制码元 ③将概率最小的两条消息合并成一条新消息,用两 者概率之和作为新消息的概率 重复① ② ③步骤,直到合并出新消息的概率为1时 结束,分配给消息xk的全部码元作为该消息的码字 ck k=1,2,…,Nn
平均码长
L = ∑ P( x k )l k = 0.81×1 + 0.09 × 2 + (0.09 + 0.01) × 3 = 1.29(bit )
k =1
4
L(c = 0) 0.81×1 + 0.09 × 2 + 0.01×1 1 P(c = 0) = = = = 0.775 L 1.29 1.29 L(c = 1) 0.09 × 3 + 0.01× 2 0.29 P(c = 1) = = = = 0.225 L 1.29 1.29
对于n次扩展信源
L* = H(X1X 2 X n ) = nH (X)
n次扩展信源的编码效率
H(X) η= =1 L* n
28
4.4 最优码长的界 定理
二进制即时码的平均码长的取值范围在其下界与 下界加1比特之间,即满足不等式
H(X1X 2 X n ) ≤ L < H(X1X 2 X n ) + 1
L ≥ H(X1X 2 X n ) = nH (X)
n次扩展信源的编码效率
H(X) η= ≤1 L n
27
l k * = − log P( x k )
Nn k =1
k = 1,2, , N n
Nn k =1
L* = ∑ P( x k )l k * = −∑ P( x k ) log P( x k ) = H(X1X 2 X n )
为什么即时码是最优码? 构造即时码的基本方法?
4.1 即时码
1、信源编码
定义
信源符号序列到不等长码序列的映射
表示
不等长离散型随机变量序列C1C2…Cl
2
C1C2 Cl = ck1 ck2 ckl P(= C1C2 Cl c= P( X = xi1 xi2 xin ) 1X 2 X n k1 ck2 ckl )
H(X1X 2 X n ) ≤ L < H(X1X 2 X n ) + 1
对于n次扩展信源
nH (X) ≤ L < nH (X) + 1 L 1 H(X) ≤ < H(X) + n n
30
1 任意给定ε = ,当n足够大 n L H(X) ≤ < H(X) + ε n
31
4.5 赫夫曼码 编码步骤
0 0 0 1 1 0 1 0
1 0 1 1 0 1
24
4.3 最优码 定理
二进制即时码的平均码长必定满足不等式
L ≥ H ( X1 X 2 X n )
当且仅当2-lk =P(xk) k=1,2, …,Nn,等式成立
25
平均码长L在∑ 2 −l k ≤ 1限制下的条件极值
k =1
Nn
∂ {∑ P( x i )li + λ[∑ 2 −li − 1]} = 0 令 ∂l k i =1 i =1
N − ki N m ≤ m ∑ i =1 n
将第N级上的树枝分为n组,各组从第N级开始 删除mN-ki个枝,一直删除到第ki+1级的mki+1 个 枝,以ki级的节点作为终结点,得到第i个码字。
23
k1=1, k2=2, k3=3, k4=3,N=3.
N − ki N ≤ m m ∑ i =1 n
x1x 2 x 3 x 3 → 0101111 x 2 x1x1x 3 → 100011
18
输入码字串 结束? N =0? N Y 输出x1 左移1位 Y 输出x2 Y 结束
0101111 → x1 101111 → x 2 1111 → x 3 11 → x 3 100011 → x 2 0011 → x1 011 → x1 11 → x 3
32
例1
X x1 x 2 x 3 x 4 = P(X) 1 / 2 1 / 4 1 / 8 1 / 8
编赫夫曼码并计算编码效率
33
①将信源发出消息xk k=1,2,…,Nn按概率降序排列 ②为概率最小的两条消息各自分配一个二进制码元 ③将概率最小的两条消息合并成一条新消息,用两 者概率之和作为新消息的概率
26
2 − l k ≤ P( x k )
l k ≥ − log P( x k )
Nn k =1
k = 1,2,, N n
k = 1,2, , N n
Nn k =1
L = ∑ P( x k )l k ≥ −∑ P( x k ) log P( x k ) = H(X1X 2 X n )
对于n次扩展信源
0
1/ 4 1/ 2
0 1
1
1
x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c3 = 110, x 4 → c 4 = 111
36
1 1 1 L = ∑ P( x k )l k = ×1 + × 2 + 2 × × 3 = 1.75(bit ) 8 2 4 k =1
4
1 1 1 1 1 1 H(X) = −∑ P( x i ) log P( x i ) = − log − log − 2 × log 2 2 4 4 8 8 i =1 = 1.75(bit )
码字ck1 ck2 ckl = c k k1 , k2 ,= , kl 1, = 2 k 1, 2, , N
n
4
2、平均码长
定义
信源各消息码字长度的数学期望,用L表示
表示
= L E = [l (ck )]
k k k k = k 1= k 1= k 1
)l (c ) ∑ P ( x= )l (c ) ∑ P ( x )l ∑ P(c=
唯一可译码——由码字串可唯一译出消息串——自 我间断码
14
6、即时码
定义
码表中无任何码字是其它码字的前缀 即时码可以用树图构造 二进制即时码0,10,11所对应的二叉树图
0 0 1 1
15
即时码——任何码字结束时即可译出的自我间断码 全体编码 非奇异码 唯一可译码 即时码
16
wenku.baidu.com
例3
奇异码 x1 x2 x3 x4 0 1 1 1
21
0 0 0 1 1 0 1 0
1 0 1 1 0 1
k1=1, k2=2, k3=3, k3=3,N=3. 异前置码的码树图上总共不用的节点总数
N − ki N − ki m ≤ m ⇒ m ∑ ∑ ≤1 i =1 n
n
i =1
22
证明:异前置码存在←克拉夫特(Kraft)不等式。
− ki m ∑ ≤1⇒ i =1 n
即时码 0 10 110 111
0 010 01 10
10 00 11 110
17
例4
即时码x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c 3 = 11
分别发出消息串x1x 2 x 3 x 3和x 2 x 2 x1x 3所对应的码字串 及译码过程
19
=10? N 输出x3 左移2位
4.2 克拉夫特不等式 异前置码存在的充要条件: m元长度为ki , i=1,2, …,n的异前置码存在的充 分必要条件是:
− ki m ∑ ≤1 i =1 n
该充要条件称为克拉夫特(Kraft)不等式。
20
证明:异前置码存在→克拉夫特(Kraft)不等式 设m元异前置码第i个码字的长度为ki, (i=1,2, …,n) 考虑一个N级满树,在第N级共有mN个节点, 在第ki级共有mki个节点。 根据异前置码的定义,第i个码字后的节点不 能再用,故不能用的节点数为mN-ki
29
选取l k = − log P( x k )
Nn Nn
k = 1,2, , N n
− log P( x k ) ≤ l k < − log P( x k ) + 1
k =1 k =1
k = 1,2,, N
Nn k =1
n
− ∑ P( x k ) log P( x k ) ≤ ∑ P( x k )l k < −∑ P( x k ) log P( x k ) + 1
k
Nn
Nn
Nn
k
5
例1
X x1 x 2 x 3 x 4 = P(X) 1 / 2 1 / 4 1 / 8 1 / 8
信源编码及平均码长
6
某种信源编码
x1 →= c1 0, x2 → = c2 10, x3 → = c3 110, x4 → = c4 111
平均码长
1 1 1 L = ∑ P( x k )l k = ×1 + × 2 + 2 × × 3 = 1.75(bit ) 4 8 2 k =1
随机变量序列C1C2 Cl的取值ck1 ck2 ckl 为信源发出消息 xi1 xi2 xin 的码字 2 i1 , i2 , , in 1, 2, , N = k1 , k2 , , kl 1, =
3
记信源发出消息xi1 xi2 xin = xi = i1 , i2 , , in 1, = 2, , N i 1, 2, , N n
Nn Nn
k = 1,2, , N n
λ −l k P( x k ) − 2 =0 log e
−l k
k = 1,2, , N n
log eP( x k ) 2 = k = 1,2, , N n λ Nn Nn log eP( x k ) log e −lk 2 =∑ = ≤1 ∑ λ λ k =1 k =1
10
信源的熵
H(X) = −∑ P( x i ) log P( x i ) = −0.9 log 0.9 − 0.1log 0.1
i =1
2
= 0.469(bit )
L = 0.645 > H(X) = 0.469 n
11
3、非奇异码
定义
信源发出的每条消息映射为不同的码字——一一 对应
表示
x i → ci , x j → c j x i ≠ x j → ci ≠ c j
1 1 1 ×1 + ×1 + ×1 0.875 L ( c = 0) 2 8 4 P(c = 0) = = = = 0.5 1.75 1.75 L 1 1 ×1 + × 5 0.875 L(c = 1) 4 8 P(c = 1) = = = = 0.5 1.75 1.75 L
4
7
信源的熵
1 1 1 1 1 1 H(X) = −∑ P( x i ) log P( x i ) = − log − log − 2 × log 2 2 4 4 8 8 i =1 = 1.75(bit )
12
4、码的扩展编码
定义
消息串的码字等于消息的码字串
表示
x1 → c1 , x 2 → c 2 , , x n → c n x1x 2 x n → c1c 2 c n
13
5、唯一可译码
定义
码的扩展编码为非奇异码
表示
x i x i +1 x i + n −1 → ci ci +1 ci + n −1 , x j x j+1 x j+ n −1 → c jc j+1 c j+ n −1 x i x i +1 x i + n −1 ≠ x j x j+1 x j+ n −1 → ci ci +1 ci + n −1 ≠ c jc j+1 c j+ n −1
4
L = H(X)
8
例2
X 1 0 = P(X) 0.9 0.1
二次扩展信源信源编码及平均码长
01 10 11 X2 00 = 2 P(X ) 0.81 0.09 0.09 0.01
9
某种信源编码
00 →= c1 0, 01 → = c2 11, 10 →= c3 100, 11 → = c4 101
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 1/ 8 0 x 4 1/ 8
x′ 1/ 4 3
34
1
重复① ② ③步骤,直到合并出新消息的概率为1时 结束,分配给消息xk的全部码元作为该消息的码字 ck k=1,2,…,Nn
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 1/ 8 0 x 4 1/ 8
x1 1 / 2 x 2 1/ 4 x′ 1/ 4 3
0 1
x1 1 / 2 0 x′2 1 / 2 1
′ 1 x1
1 x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c3 = 110, x 4 → c 4 = 111
35
更紧凑的编码过程描述
xk P( x k ) x1 1 / 2 x 2 1/ 4 x3 x4 1/ 8 0 1/ 8 1
①将信源发出消息xk k=1,2,…,Nn按概率降序排列 ②为概率最小的两条消息各自分配一个二进制码元 ③将概率最小的两条消息合并成一条新消息,用两 者概率之和作为新消息的概率 重复① ② ③步骤,直到合并出新消息的概率为1时 结束,分配给消息xk的全部码元作为该消息的码字 ck k=1,2,…,Nn
平均码长
L = ∑ P( x k )l k = 0.81×1 + 0.09 × 2 + (0.09 + 0.01) × 3 = 1.29(bit )
k =1
4
L(c = 0) 0.81×1 + 0.09 × 2 + 0.01×1 1 P(c = 0) = = = = 0.775 L 1.29 1.29 L(c = 1) 0.09 × 3 + 0.01× 2 0.29 P(c = 1) = = = = 0.225 L 1.29 1.29
对于n次扩展信源
L* = H(X1X 2 X n ) = nH (X)
n次扩展信源的编码效率
H(X) η= =1 L* n
28
4.4 最优码长的界 定理
二进制即时码的平均码长的取值范围在其下界与 下界加1比特之间,即满足不等式
H(X1X 2 X n ) ≤ L < H(X1X 2 X n ) + 1
L ≥ H(X1X 2 X n ) = nH (X)
n次扩展信源的编码效率
H(X) η= ≤1 L n
27
l k * = − log P( x k )
Nn k =1
k = 1,2, , N n
Nn k =1
L* = ∑ P( x k )l k * = −∑ P( x k ) log P( x k ) = H(X1X 2 X n )
为什么即时码是最优码? 构造即时码的基本方法?
4.1 即时码
1、信源编码
定义
信源符号序列到不等长码序列的映射
表示
不等长离散型随机变量序列C1C2…Cl
2
C1C2 Cl = ck1 ck2 ckl P(= C1C2 Cl c= P( X = xi1 xi2 xin ) 1X 2 X n k1 ck2 ckl )
H(X1X 2 X n ) ≤ L < H(X1X 2 X n ) + 1
对于n次扩展信源
nH (X) ≤ L < nH (X) + 1 L 1 H(X) ≤ < H(X) + n n
30
1 任意给定ε = ,当n足够大 n L H(X) ≤ < H(X) + ε n
31
4.5 赫夫曼码 编码步骤
0 0 0 1 1 0 1 0
1 0 1 1 0 1
24
4.3 最优码 定理
二进制即时码的平均码长必定满足不等式
L ≥ H ( X1 X 2 X n )
当且仅当2-lk =P(xk) k=1,2, …,Nn,等式成立
25
平均码长L在∑ 2 −l k ≤ 1限制下的条件极值
k =1
Nn
∂ {∑ P( x i )li + λ[∑ 2 −li − 1]} = 0 令 ∂l k i =1 i =1
N − ki N m ≤ m ∑ i =1 n
将第N级上的树枝分为n组,各组从第N级开始 删除mN-ki个枝,一直删除到第ki+1级的mki+1 个 枝,以ki级的节点作为终结点,得到第i个码字。
23
k1=1, k2=2, k3=3, k4=3,N=3.
N − ki N ≤ m m ∑ i =1 n
x1x 2 x 3 x 3 → 0101111 x 2 x1x1x 3 → 100011
18
输入码字串 结束? N =0? N Y 输出x1 左移1位 Y 输出x2 Y 结束
0101111 → x1 101111 → x 2 1111 → x 3 11 → x 3 100011 → x 2 0011 → x1 011 → x1 11 → x 3
32
例1
X x1 x 2 x 3 x 4 = P(X) 1 / 2 1 / 4 1 / 8 1 / 8
编赫夫曼码并计算编码效率
33
①将信源发出消息xk k=1,2,…,Nn按概率降序排列 ②为概率最小的两条消息各自分配一个二进制码元 ③将概率最小的两条消息合并成一条新消息,用两 者概率之和作为新消息的概率
26
2 − l k ≤ P( x k )
l k ≥ − log P( x k )
Nn k =1
k = 1,2,, N n
k = 1,2, , N n
Nn k =1
L = ∑ P( x k )l k ≥ −∑ P( x k ) log P( x k ) = H(X1X 2 X n )
对于n次扩展信源
0
1/ 4 1/ 2
0 1
1
1
x1 → c1 = 0, x 2 → c 2 = 10, x 3 → c3 = 110, x 4 → c 4 = 111
36
1 1 1 L = ∑ P( x k )l k = ×1 + × 2 + 2 × × 3 = 1.75(bit ) 8 2 4 k =1
4
1 1 1 1 1 1 H(X) = −∑ P( x i ) log P( x i ) = − log − log − 2 × log 2 2 4 4 8 8 i =1 = 1.75(bit )
码字ck1 ck2 ckl = c k k1 , k2 ,= , kl 1, = 2 k 1, 2, , N
n
4
2、平均码长
定义
信源各消息码字长度的数学期望,用L表示
表示
= L E = [l (ck )]
k k k k = k 1= k 1= k 1
)l (c ) ∑ P ( x= )l (c ) ∑ P ( x )l ∑ P(c=
唯一可译码——由码字串可唯一译出消息串——自 我间断码
14
6、即时码
定义
码表中无任何码字是其它码字的前缀 即时码可以用树图构造 二进制即时码0,10,11所对应的二叉树图
0 0 1 1
15
即时码——任何码字结束时即可译出的自我间断码 全体编码 非奇异码 唯一可译码 即时码
16
wenku.baidu.com
例3
奇异码 x1 x2 x3 x4 0 1 1 1
21
0 0 0 1 1 0 1 0
1 0 1 1 0 1
k1=1, k2=2, k3=3, k3=3,N=3. 异前置码的码树图上总共不用的节点总数
N − ki N − ki m ≤ m ⇒ m ∑ ∑ ≤1 i =1 n
n
i =1
22
证明:异前置码存在←克拉夫特(Kraft)不等式。
− ki m ∑ ≤1⇒ i =1 n