第3章 离散信源
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信源编码速率
设离散信源输出的消息为K重符号序列消息,信源编码器采用D进制信 道符号对离散消息进行编码,生成的D进制代码组的长度为N,则信源编 码速率为:
N R log 2 D K
bit / 符号
物理意义:代表一个K重符号序列消息被编成一个由N个码元组成的D进制代码 组时,K重符号中的每一个字符所对应的由D进制码元个数及其所能携带的信 息量。
H (X ) P(x i )log 2 p(x i )
i 1
M
bit / 符号
其中,P(xi)是离散符号xi出现的概率。
离散信源的熵(续)
K重符号序列离散无记忆信源熵: 若信源X含有M个符号,而且每个符号相互独立,则当信源每次发送K个符号 代表一条消息时,其信源熵可以表示成为:
H ( X K ) K H ( X ) K p( xi ) log2 p( xi )
K ( H t X ) KH ( X ) ( Kb) H ( X ) / b
bit / s
K重符号序列离散无记忆信源对外提供信息量的速度与单符号无记忆信 源相同。
离散信源的时间熵(续)
K重符号序列离散有记忆信源的时间熵:
K K ( ) H ( Ht X X ) B H ( X ) /( Kb)
离散信源的熵(续)
马尔可夫信源熵: 设马尔可夫信源当前时刻处于L个状态中的第i个状态,下一个时刻转移到K个 状态中的某一个,P(Sj|Si)是马尔可夫信源从状态Si 转到Sj的转移概率, 则马 尔可夫信源从状态Si 发生转移发出一个信源符号的条件熵定义为:
H i p( S j | S i ) log p( S j | S i )
第三章 离散信源
若信源输出的消息为离散的符号形式,如手写文字,计算机输出的代码,则该信 源称为离散信源。其输出的消息称为离散消息。可用下列符号序列表示: …..X-2X-1X0X1X2……。 其中,Xi是在第i时刻产生的符号,i为整数,Xi为一个随机变量。 若离散信源输出的符号Xi相互独立,则称此信源为离散无记忆信源,否则称为离散 有记忆信源。 若离散信源每次发出一个符号来作为一条消息,则称为单符号离散信源;若每次发 出K个符号作为一条消息,则称为K重符号序列离散信源。
信源符号之间的相关性越强,信源的冗余信息越多,信源的冗余 度越大,信源效率越低。
离散信源的无失真编码
X
S 无失真信源编码器
离散消息集合
输出代码集合
A 信道基本符号集合
离散信源无失真编码原理图
离散信源的无失真编码(续)
X={x1,x2,...,xM}为离散信源输出的M条K重符号序列消息集 合,即xi=(xi1, xi2,…, xik) (1=<i<=M)是一条K重符号序列消 息。 A={a1,a2,...,aD}是编码信道的信道基本符号集合,一般是D 进制数的D个数值。 S={s1,s2,...,sM}为无失真编码器输出的与M条K重符号序列 消息对应的D进制代码组集合。其中si=(si1, si2,…, siN) (1<=i<=M)是一个具有N个码元的码字,即代码组的长度为 N个D进制码元。 无失真编码就是要从信道基本符号集合A中每次取出N个符 号(码元),按照某种规则生成一个代码组si
离散信源的无失真编码(续)
信源 信源编码器(I) 信源编码器(II)
二进制编码信道
输出汉字符号
输出十进制
输出二进制
中文电报信源编码器原理图
离散信源的无失真编码(续)
“0” “1 ” “2 ” “3 ” “4 ” ->01101 ->01011 ->11001 ->10110 ->11010 “5” “6” “7” “8” “9” ->00111 ->10101 ->11100 ->01110 ->10011
时间长度为bi,则该信源的时间熵定义为:Ht(X)=H(X)/b. 其中b为信源符号的
平均时间长度。
M
b p( xi ) bi
i 1
s / 符号
离散信源的时间熵(续)
K重符号序列离散无记忆信源的时间熵:
K K Ht (X ) H(X ) / B
bit / s 其中B Kb
为K重符号序列消息的平均时间长度。由于信源无记忆,上式也可以写成:
1 1
L
k
p(S j p(Si ) j
i 1 1
L
K
bit / s
| Si ) bij
信源的效率与冗余度
对于同样的信源内容及发同样的符号个数来代表一条消息,有记忆的信 源对外提供的平均信息量要比无记忆信源要小。 通常我们希望信源熵尽量的大,即它对外提供的平均信息量越大越好。 (1)信源效率:
bit / s
由于信源有记忆,所以有:
K ( H t X ) KH ( X ) (Kb) KH ( X ) /(Kb) H ( X ) / b
bit / s
有记忆信源与无记忆信源相比,对外提供信息量的速度下降了。
离散信源的时间熵(续)
马尔可夫信源的时间熵: 若信源从状态Si转移到状态Sj,发出的符号是xij,它的时间长度设为bij,则 信源从状态Si发生转移并发出一个符号时,符号的平均长度为:
i 1
M
bit / 符号序列
离散信源的熵(续)
K重符号序列离散有记忆信源熵: 若信源X含有M个符号,但是每个符号间是不独立的,则当该信源每次发出 K个符号代表一条消息时,其信源熵满足: H(XK)<KH(X).
结论:如果信源符号之间具有相关性,则每次发出K个符号代表一条消息时 对外提供的平均信息量比符号间相互独立时每次发出K个符号代表一条消息 所提供的平均信息量要小。 而且相关程度越大,其对外所能提供的平均信息量越小。
信源编码效率(续)
信源编码效率定义为:
H (X ) R
物理意义: (1)H(X)是信源平均每个符号所能提供的信息量,而R是每个符号编成D进 制码组后所对应的码元所能携带的信息量; (2)对应码元所能携带的信息量应该不小于每个符号所能提供的信息量, 当两者相等时,编码效率最大。
为便于理解,可以写成
j 1
k
马尔可夫的信源熵定义为:
H ( X ) p(S i ) H i p(S i ) p(S j | S i ) log p(S j | S i )
i 1 i 1 j 1
L
L
k
离散信源的时间熵
离散信源的时间熵是指信源在单位时间(秒)内对外所能够提供的信息量, 而不管信源是单符号信源还是符号序列信源。或者说,时间熵反映了信源对 外提供信息量的速度。 单符号离散无记忆信源的时间熵: 设信源X含有M个符号,而且符号相互独立,第i个符号xi出现的概率是P(xi),
KH ( X ) N log2 D
信源编码效率(续)
例题:设汉字符号信源的信源熵为H(X)=10 bit/符号,信 源编码器(I)输出的十进制符号“0”-“9”为等概率分布。 求信源编码器(I)与信源编码器(II)以及整个编码器的效 率。
离散无记忆信源的等长编码
设离散无记忆信源有M个符号,每次发出K重符号序列表示一条 消息。同时编码信道的基本符号有D个(D进制),信源编码器 的输出代码组长度为N。为了保证信源编码器生成的码字是唯
bi
p(S j | S i )bij j
1
K
s / 符号
K为下一个时刻的状态数。信源从任意状态发生转移,并发出一个符号, 符号的平均长度为
b
p(S i )bi i
1
L
s / 符号
离散信源的时间熵(续)
马尔可夫信源的时间熵定义为:
H (X ) H t(X ) b
p(S i ) p(S j | S i )log p(S j | S i ) i j
信源分类
若离散信源输出符号彼此间相互独立,而且所有符号服从同一种概率分布,则称之 为简单无记忆信源;
若输出符号间彼此相关,且每个符号只与它前面的一个符号相关,而这种相关性可 以用符号间的转移概率来描述,则称之为马尔可夫信源。
离散信源的熵
单符号离散无记忆信源熵: 若信源X含有M个符号,而且每个符号相互独立,则当信源每次发送一个 符号代表一条消息时,其信源熵可以表示为:
离散无记忆信源的不等长编码(续)
预备定理3.1 (Kraft不等式)设离散无记忆信源有M个符号, 每个符号被用D进制代码组进行编码,第i个符号对应的代码 组长度为Ni,则单义可译代码组存在的充分必要条件是:
D
i 1
M
N i
1
离散无记忆信源的不等长编码(续)
预备定理3.2 设{Pi},{qi} (1<=i<=M)为两个非负元素集合, 且满足:
离散信源的熵(续)
数据压缩的目的: 信源符号之间的相关性降低了信源对外提供的信息量。或者说, 要提高信源对外提供的平均信息量,就要设法降低信源符号之 间的相关性, 也就是要设法消除信源中符号间的冗余度。
离散信源的熵(续)
马尔可夫信源熵:
马尔可夫信源由两部分内容组成:一定数目的状态与一定数目的信 源符号。信源发出的符号首先是通过状态转移到某一个状态,然后 在这个状态上发出信源符号。 马尔可夫信源始终在不同状态上进行转移,并在不同的状态发出信 源符号,从而产生符号序列消息。
离散信源的无失真编码(续)
为实现无失真编码,信道基本符号数目D,代码长度N,与 编码器输入的离散消息数目M之间,必须存在下列约束条 件:
DN>=M
即用N个D进制信道基本符号进行全排列所得的结果不能 小于编码器输入的消息数目。
离散信源的无失真编码(续)
例:已知离散信源输出8个符号,即X={0,1,2,…,7},信 道基本符号集合A={0,1},即D=2。为了保证信源编码 的无失真,求出每个代码的最小长度,并写出相应的 各个代码组。
离散信源的熵(续)
例如:马尔可夫信源有四个不同的状态:s0=00, s1=01, s2=10, s3=11, 同 时有两个不同的信源符号,即x1=0, x2=1, 各状态之间的转移概率如表 所示:
s0
s1
s2
s3
s0
s1 s2
1/2
0 1/4
1/2
0 3/4
0
1/3 0
0
2/3 0
s3
0
0
1/5
4/5
H(X ) 100% 来自百度文库 ( X )max
信源符号的相关性越大,信源效率越低,要提高信源效率,要设法降 低符号之间的相关性。
信源的效率与冗余度(续)
(2)信源冗余度:
H ( X )max H ( X ) H(X ) R 1 1 100% H ( X )max H ( X )max
一可译要满足:
DN>=MK,或者
NlogD>=KlogM=KH(X)max
即必须保证输出代码组所能携带的信息量不小于信源所能提供 的最大信息量。当D=2,K=1,写为N>=log2M 码元/符号 以上分析均假设信源符号是等概率分布。
离散无记忆信源的等长编码(续)
例 将26个英文字母用二进制作成等长编码,求代码 组单义可译的最小长度。(假设字母等概率出现)
信源编码速率(续)
对于不等长编码,上式可以改写成:
N R log2 D K
其中平均码元长度
bit / 符号
N Pi N i
i 1
M
码元 / 消息
信源编码速率(续)
当D=2时
N R K
bit / 符号
表示当用二进制码对K重符号序列消息编码时,K重符号序列 的每一个符号所对应的二进制码元个数,即比特数。
信源编码速率(续)
先前假设信源输出的消息的编码所生成的码组均为等长。没有考虑到信 源的特征,在编码时均用相同长度的代码组来表示。
最佳编码方法:根据信源输出的每一条消息的统计特征不同,编码时要 区别对待,赋予每一条消息的代码组长度也应该有所不同。 对于较为重要的消息(出现概率低)用较长的代码组来表示,而不太重 要的消息(出现概率高),用较短的代码组来表示。即不等长编码。
离散信源的熵(续)
例:离散有记忆信源X含有3个符号。三个符号的概率分布分别为 P(x0)=11/36, P(x1)=4/9, P(x3)=1/4。3个符号之间的相关性可以用转移 概率来描述:
p(x0|x0)=9/11, p(x1|x0)=2/11, p(x2|x0)=0, p(x0|x1)=1/8, p(x1|x1)=3/4, p(x2|x1)=1/8, p(x0|x2)=0, p(x1|x2)=2/9, p(x2|x2)=7/9. 若信源每次发出2个符号来代表一条消息,求2重符号序列离散有记忆信 源的熵。