信息论基础与编码 无失真信源编码ch05article.docx
- 文档编号:27862456
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:36
- 大小:380.18KB
信息论基础与编码 无失真信源编码ch05article.docx
《信息论基础与编码 无失真信源编码ch05article.docx》由会员分享,可在线阅读,更多相关《信息论基础与编码 无失真信源编码ch05article.docx(36页珍藏版)》请在冰豆网上搜索。
信息论基础与编码无失真信源编码ch05article
信息论基础与编码—无失真信源编码
Contents
1无失真信源编码基本概念1
2定长无失真信源编码2
3渐进等同分割性5
4定长无失真信源编码定理6
5变长无失真编码8
5.1Kraft不等式8
5.2唯一可译码判决准则.........................9
6变长无失真信源编码定理10
7无失真信源编码技术11
7.1Huffman编码12
7.2Shannon编码12
7.3Shannon-Fano-Elias编码12
7.4Fano编码12
7.5Huffman编码的几个问题13
7.6算数编码................................14
7.7游程编码................................15
7.8通用编码................................15
7.9几种编码方案的性能对比.......................22
1无失真信源编码基本概念
•对于信源来说有两个基本问题:
如何计算信源输出的信息量;如何有效地表示信源输出,即在不失真或允许一定失真的条件下,如何用尽可能少的符号来表示信源,以便提高信息传输的效率。
•编码实质上是对信源的原始符号按照一定的数学规则进行的一种变换。
信源编码器
C:
{W1,W✲
S:
{s1,s2,...,sq}✲
✻X:
{x1,x2,...,xr}
Figure1:
信源编码器模型
2,...,Wq}
•将信源符号集合中的si(或者长为N的信源符号序列)变换成由xj组成的长度为li的一一对应的码符号序列Wi。
•编码的一些基本概念
–这种码符号序列Wi称为码字;长度li称为码字长度,简称码长;全体码字的集合C称为码。
–若码符号集合为X={0,1},则所得的码字都是二元序列,称为二元码或二进制码。
–若一个码中所有码字的码长都相等,则称为等长码;否则为变长码。
–若一个码中无重复码字,则称为非奇异码;否则为奇异码。
–若码符号集合中每个码符号所占的传输时间都相同,则所得的码称为同价码。
–若任意一串有限长的码符号序列只能被唯一地译为对应的信源符号序列,则称此码为唯一可译码。
–若某个唯一可译码在译码时无需参考后续的码符号就能立即作出判断,将码符号序列译成相应的信源符号序列。
则称此码为即时码;否则为非即时码。
即时码又称为逗点码、非延长码。
2定长无失真信源编码
•对一个信源进行定长编码时每个信源符号所需要的二进制码符号个数(码长)将由信源符号的个数唯一决定:
L≥H0(X)=log2∥X∥
Definition1.X的原始编码容量定义为:
H0(X)=log2∥X∥
(1)
•当信源符号个数正好是2的幂次时,可以得到整数L=H0(X);
•否则L=⌈H0(X)⌉。
此时实际码长略大于信源的最大熵,效率不高,可以通过对信源进行扩展的方法来提高编码效率。
•另一种提高编码效率的手段为近似无失真编码。
•无失真编码可分为严格无失真和近似无失真两种情况。
•严格无失真编码是一个信源符号到码字的一一映射;而近似无失真则会将一些不同的信源符号映射为相同的码字,因此一旦信源真的产生了这些被混淆的信源符号,就会产生一次译码失败。
我们通常用δ来表示信源产生被混淆的符号的概率。
当δ足够小时,这种近似无失真的编码方法在实际生产中也就可以近似认为是无失真的了。
Example2.给定一8符号信源:
[X]
[abcdefgh]
(2)
4
44
16
P(X)=1113
11
6464
11
6464
当要求δ=0时对此信源进行二进制等长编码,每个信源符号需要3个二进制码符号,即L=3bit.
我们注意到Pr{s∈{a,b,c,d}}=15/16,因此如果我们愿意承受1/16的译码失败概率的话,就可以将信源的后4个符号忽略,只对前4个符号编码,此时L=2bit,信源得到了有效的压缩。
•为此,我们定义两个新的概念:
Definition3(最小δ充分子集).Xδ为包含元素个数最少的、满足下述条件的、
X的子集:
Pr{x∈Xδ}≥1−δ(3)
Definition4(基本编码容量).X的基本编码容量为:
Hδ(X)=log2∥Xδ∥(4)
Example5.图2显示了上例中基本编码容量与δ的关系:
Figure2:
基本编码容量与δ的关系I
Example6.考虑抛掷一枚偏畸硬币N次得到的结果序列x=(x1,x2,...,xN),
其中xn∈{0,1},概率分布为p0=0.9。
令r(x)为序列x中1的个数,则
p(x)=pN−r(x)
r(x)
0p1(5)
为了计算Hδ(X)我们必须先确定相应的Xδ.显然最小δ充分子集将包含r(x)=0,1,2...直到rmax(δ)−1的所有序列和r(x)=rmax(δ)的部分序列。
下图给出了N=4和10以及N=10,210,410,610,810,1010时的基本编码容量和δ的关系
Figure3:
基本编码容量和δ的关系II
Figure4:
基本编码容量和δ的关系III
•由前面的三幅图可以看出,当N较小时Hδ(X)的取值严重依赖于δ,而当N足够大时,Hδ(X)基本与δ无关,且其值逼近NH(X).
3渐进等同分割性
•设x=x1x2...xN是离散无记忆信源输出的一个特定序列,则对∀ε>
0,δ>0,总可以找到一个整数N0,使得当N⩾N0时,有:
{
H
∞
Pr
(X)−−
logp(x)}
>1−ε(6)
<δ
N
•对于离散无记忆信源,−logp(x)/N=IN。
即长度为N的符号序列中平均每个符号的自信息量。
•其中ε和δ的关系可以由弱大数定理得到:
σ2
ε=I
Nδ2
(7)
•我们将满足上述条件的序列集合称为典型列集合Tϵ。
•典型列集合具有下述性质:
–Pr{x∈Tϵ}⩾1−ε
–若x∈Tϵ,则
2−N[H(X)+ε]⩽p(x)⩽2−N[H(X)−ε](8)
–当N足够大时典型列中元素的数目满足:
(1−ε)2N[H(X)−ε]⩽∥Tϵ∥⩽2N[H(X)+ε](9)
•典型列集合中每个序列出现的概率近似相等,且总和趋向于1。
•个别非典型列出现的概率不一定比典型列出现的概率小;虽然非典型列总概率小,但非典型列的数目不一定少。
Example7.典型列示例—“偏畸硬币抛掷”投掷一枚偏畸硬币,出现正面的概率为p,则进行N次投掷,平均有Np
次出现正面、N(1−p)次出现反面,所以每个典型列出现的概率趋于pNp·(1−p)N(1−p)。
当p<0.5时,全为反面的序列是非典型列,它出现的概率为(1−p)N>pNp·(1−p)N(1−p)。
设p=0.1,N=100,(1−p)N=2.656×10−5,
pNp·(1−p)N(1−p)=7.618×10−15,H(X)=0.469bit/symbol,∥Tϵ∥=246.9,
∥XN∥=2100,所以典型列仅占246.9/2100=2−53.1,而绝大多数是非典型列。
•下图是从上例的X100中随机抽取出来的15个序列,最后两行是概率最大和最小的两个序列,最右边的一列是序列概率的对数,请将其与信源的熵进行比较。
•稍后的几副小图分别显示了当N=100和N=1000时包含r个1的序列的个数n(r)、包含r个1的序列的概率p(x)、概率的对数以及包含r个1的所有序列的总概率n(r)p(x).
Figure5:
典型列示例
Figure6:
n(r)和p(x)曲线
•图中的虚横线对应NH(X),T对应典型列集合。
•最后这一幅图显示了将所有N长序列按概率由小到大排列和典型列的示例。
4定长无失真信源编码定理
Theorem8.设熵率为H∞(S)的离散无记忆信源产生的信源符号序列被分为长为N的源符号组,并用长为L的码符号组进行编码,码符号表的大小为r,则
∀ε>0和δ>0,当N足够大,并且L满足:
L·logr/N⩾H∞(S)+δ,则源符号组没有自己特定码符号组的概率可以小于ε。
Figure7:
logp(x)和n(r)p(x)曲线
Figure8:
典型列全貌
•对于恒稳遍历信源可以得到类似的结果。
•改写上述定理的条件:
L·logr>N·H∞(S),即只要L个码符号所能传输的最大信息量大于N长信源符号序列所携带的信息量,就可以实现几乎无失真编码。
Definition9.R=L·logr/N为编码速率;η=H∞(S)/R为编码效率。
•根据上述定理,最佳编码效率为:
η∗=H∞(S)/(H∞(S)+δ)。
•ε为允许的编码错误概率上限。
∞
•因此在已知自信息方差和信源熵的条件下,信源符号序列长度N与最佳编码效率和允许编码错误概率之间的关系为:
N⩾D[I(si)]·η2/[H2(S)·
(1−η)2·ε]
•定长编码在实际应用中存在两个问题:
–编译码同步的问题;
–如何均衡分组长度、编译码复杂性、编译码延时和差错概率之间的关系。
5变长无失真编码
•当使用等概的码符号序列对信源符号序列进行定长编码时,为了使编码有效,信源符号序列的长度必须很大才行。
这在实际应用中很难实现。
为了解决这一难题,可以采用可变长度的码符号序列去适应不同概率的信源符号(序列)。
•最典型的变长编码的例子就是电报中使用的Morse码:
Table1:
Morse电码
A
BCDEFGHI
·−
−···
−·−·
−··
·
··−·
−−·
····
··
J
KLMNOPQR
·−−−
−·−
·−··
−−
−·
−−−
·−−·
−−·−
·−·
S
TUVWXYZ
···
−
··−
···−
·−−
−··−
−·−−
−−··
•上表给出了Morse码的一部分。
•Morse码实际上是一个三元码,具有点、划和间隔三种符号。
划所对应的时间长度是点所对应的时间长度的三倍。
在一个字母中点和划之间的时间间隔是一个时间单位,在字母之间是三个时间单位,而在单词之间是七个时间单位。
5.1Kraft不等式
•在唯一可译码中,即时码显然要比非即时码要好。
下面的Kraft定理给出了即时码存在的充要条件。
Theorem10(Kraft不等式).设含有q个信源符号的信源要用r个符号的码符号表进行变长编码,则当且仅当各码字的长度l1,l2,...,lq满足Kraft不等式
时才存在即时码。
q
∑r−li⩽1(10)
i=1
•同样,唯一可译码存在的充要条件由下述定理给出:
Theorem11(McMillan不等式).唯一可译码存在的充要条件为:
q
∑r−li⩽1(11)
i=1
•上述两个定理都是存在性定理。
•即时码的一种简单的构造方法是树图法,既用一棵码树来表示一个码。
•码树最上面的节点称为根节点,每个节点伸出来的树枝的数目不大于码符号的个数。
树枝的另一头为子节点。
没有子节点的节点称为叶子节点,其它的节点称为中间节点。
•每个中间节点(包括根节点)都有r个子节点的树称为整树,某个节点到根节点所经过的树枝数称为此节点的深度,所有叶子节点的深度都相同的整树称为完全树。
•若将一棵完全树的叶子节点都安排为码字,那么就会得到一个等长码。
•若所有的码字都安排在叶子节点上,则相应的变长码为即时码。
5.2唯一可译码判决准则
•非奇异的等长码一定是唯一可译码。
•如果一个变长码不满足Kraft不等式,则它一定不是唯一可译码。
•但是满足Kraft不等式的变长码不一定是唯一可译码。
为此,A.A.Sardinas
和G.W.Patterson于1957年提出下述算法用于判断码C的唯一可译性。
•此算法的原理如下图所示:
A1
A2
A3
......
Am−1
Am
B1
B2
B3
......
Bn−1
Bn
•其中Ai,Bi都是码字。
由上图可知,当且仅当某个有限长的码符号序列能译成两种不同的码字序列时,此码不是唯一可译码,此时B1一定是A1的前缀,而A1的尾随后缀一定是另一码字B2的前缀;而B2的尾随后缀又是其它码字的前缀。
最后,码符号序列的尾部一定是一个码字。
•设C为码字集合,按以下步骤构造此码的尾随后缀集合F:
1.考查C中所有的码字,若Wi是Wj的前缀,则将相应的后缀作为一个尾随后缀码放入集合F1中;
2.考查C和Fi两个集合,若Wk∈C是Wj∈Fi的前缀或Wk∈Fi是Wj∈C的前缀,则将相应的后缀作为尾随后缀码放入集合Fi+1中,i=1,2,...;
3.F=∪Fi即为码C的尾随后缀集合;
i
4.若F中出现了C中的元素,则算法终止,返回假(C不是唯一可译码);否则若F中没有出现新的元素,则返回真。
Example12.设有码C为{a,c,ad,abb,bad,deb,bbcde},请判断是否为唯一可译码。
解:
按照上述算法构造右表所示的尾随后缀集F5中的第一个元素正好是C
中的码字,因此C不是唯一可译码。
C
F1
F2
F3
F4
F5
a
d
eb
de
b
ad
c
bb
cde
bcde
ad
abb
bad
deb
bbcde
Example13.设有码C为{0,01,11},请判断是否为唯一可译码。
6变长无失真信源编码定理
•由上一节讨论可知,对于已知信源S可以用码符号X进行变长编码,而且对同一信源可以得到多种即时码。
究竟哪一种最好呢?
Definition14.码的平均码长定义为码长的数学期望:
q
L=△∑p(si)li(12)
i=1
其单位为r进制码符号/信源符号。
Definition15.码长的方差:
q
2
li
σ2=△∑p(si)(li−L)
(13)
i=1
Definition16.编码后平均每个码符号所携带的信息量称为编码后信道的信息传输率:
R=△H(X)=H(S)
L
(14)
Definition17.对于某一信源来说,若存在一个唯一可译码,其平均码长L小于所有其他唯一可译码的平均码长,则该码称为紧致码,或最佳码。
Theorem18.离散信源S的熵为H(S),用r个码符号对其进行编码,则总可以找到一种编码方法构成唯一可译码,使其平均码长满足:
H(S)
logr+1>L⩾
H(S)(15)
logr
•根据Kraft定理我们知道只要满足Kraft不等式,就一定能够通过树图法构造一个即时码。
现在的问题是找到具有最小平均码长的即时码。
•上述问题可等效为在满足∑r−li⩽1的条件下寻找一组最佳的l1,l2,...,lq,使得L=∑pili达到极小值。
•应用Lagrange乘数法可求出:
l∗=−log
pi。
又因为所有的码长都应该是
整数,所以有:
−logr
i
⩽l∗<−log
r
pi+1,因此我们有上面的定理。
piir
Theorem19(变长无失真信源编码定理).离散无记忆信源S的N次扩展信源SN,其熵为H(SN),总可以找到一种编码方法构成唯一可译码,使信源S中每个信源符号所需的平均码长满足:
H(S)1
LNH(S)
logr+N>
⩾(16)
Nlogr
Definition20.对信源S进行无失真编码所得到的平均码长为L,则L⩾Hr(S),定义
为编码效率,η⩽1.
Definition21.定义
η=Hr(S)
L
Hr(S)
(17)
为码的剩余度。
γ=1−η=1−
(18)
L
7无失真信源编码技术
•Huffman编码
•Shannon编码
•Shannon-Fano-Elias编码
•Fano编码
•算数编码
•游程编码
•通用编码
Algorithm1HuffmanAlgorithm.
1:
procedureHuffman({si},{pi})
2:
ifq==2then
3:
返回s01→0,s11→1
4:
else
5:
降序排序{pi}
6:
缩减信源:
创建一个符号s′以取代sq−2,sq−1,其概率为p′=pq−2+
pq−1
7:
递归调用Huffman以得到s0,...,sq−3,s′的编码:
w0,...,wq−3,w′,
相应的概率分布为p0,...,pq−3,p′
8:
返回编码:
s01→w0,...,sq−31→wq−3,sq−21→w′0,sq−11→w′1
9:
endif
10:
endprocedure
7.1Huffman编码
7.2Shannon编码
1.将信源符号按其概率降序排序
2.计算⌈−logrpi⌉得到相应的码长li
i−1
3.计算第i个信源符号的累加概率:
Pi=∑pk
k=1
4.将累加概率变为r进制小数
5.取小数点后li位作为码字输出
7.3Shannon-Fano-Elias编码
1.计算⌈−logrpi⌉+1得到相应的码长li
i−1
2
2.计算第i个信源符号的修正累加概率:
Pi=∑pk+1pi
3.将累加概率变为r进制小数
4.取小数点后li位作为码字输出
7.4Fano编码
1.将信源符号按其概率降序排序
k=1
2.求取k,使得∑pi−
k
i=1
q
∑
i=k+1
pi取得最小值,即在位置k将信源符号分为
两个子集,其概率和最为接近
3.为两个子集分别分配码符号‘0’和‘1’
4.对两个子集递归
7.5Huffman编码的几个问题
•加权码字的Huffman编码:
Huffman算法可以用于任意的pi⩾0的集合,而不要求∑pi=1。
在这种情况下,Huffman编码可以得到最小的加权码
i
长和∑wili而不是平均码长。
i
•信源编码和“20问游戏”:
假设我们需要设计一个最有效的问题序列用以在一组对象中找到某个特定的对象。
我们应该如何去设计这个问题序列?
假定对任何问题的回答都只可能是Yes/No。
首先,一个问题序列和一个对对象的编码是等效的。
每个问题仅仅依赖于前一个问题的答案,而答案的序列唯一地确定一个对象,并且每个对象都对应一个不同的答案序列。
如果我们将Yes/No分别对应‘0’和‘1’,则相应的解答过程就构成了一棵二叉树,每个码字对应一个对象,平均码长对应问题的平均数目。
通过对对象进行二进制Huffman编码,我们可以解决上述问题。
•Huffman编码和“分片”问题:
在“20问游戏”中Huffman编码相当于下列形式的任意问题:
X∈A吗?
其中A⊆{1,2,...,q}
现在我们进一步限制:
对象集合已经排好序,并且问题只能是“X>a吗?
”这种形式。
则Huffman编码无法解决这种问题。
而上述的Fano编码算法正好是一个“分片”算法。
p
•Huffman编码和Shannon编码:
针对某些特定的分布,采用⌈log1⌉作为
i
码长将比Huffman编码方案差很多。
Example22.考虑拥有两个信源符号的信源,其概率分布为:
(0.9999,0.0001)。
采用Shannon编码算法将为第二个信源符号选择14作为码长,而Huffman编码算法对两个信源符号都使用1bit进行编码。
p
•对一个最佳码来说,是否每个信源符号对应的码长都小于⌈log1⌉?
答案
i
是否定的。
Example23.考虑这样一个信源:
(1,1,1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息论基础与编码 无失真信源编码ch05article 信息论 基础 编码 失真 信源 ch05article
![提示](https://static.bdocx.com/images/bang_tan.gif)