信息论 第5章(基于字典编码和算术编码)
信息论 基础理论与应用第三版(傅祖芸) 第5章 讲义
则不可能实现无失真编码,当N趋向于无穷大时,译码错误 率接近于1。
•分析:定理中的条件式可写成
l log r NH (S )
左边: 长为 l 的码符号(码字)所能载荷的最大信息量; 右边: 长为N的信源符号序列平均携带的信息量。 因此,定理说明了:只要码字传输的最大信息量大于信源序 列携带的信息量,则可以实现无失真编码 。
第5章 无失真信源编码定理
5.1 编码器 5.2 等长码 5.4 等长信源编码定理 5.5 变长码 5.6 变长信源编码定理
引 言
信息通过信道传输到信宿的过程。要做到既不失真又快速地 通信,需要解决两个问题: 信源编码: 在不失真或允许一定失真条件下,提高信息传输率. 信道编码: 在信道受到干扰的情况下,增加信号的抗干扰能力,同时又 使得信息传输率最大.
信源 符号
码字
00: W1W1=B1
001:W1W2=B2 0001:W1W3=B3 0111:W1W4=B4
信源 符号
码字
010:W2W1=B5
信源 符号
码字
α1
α2 α3 α4
α5
: : :
:
: : α16
:
: :
111111:W4W4=B16
: : :
6、唯一可译码(单义可译码)
由码构成的任意一串有限长的码符号序列只能被唯一的 译成所对应的信源符号序列。 否则,就为非惟一可译码或非单义可译码。
最佳编码: 一般来说,抗干扰能与信息传输率二者相互矛盾。而编码 定理理论上证明,至少存在某种最佳的编码能够解决上述矛盾, 做到既可靠又有效地传输信息。 信源编码: 信源虽然多种多样,但无论是哪种类型的信源,信源符号 之间总存在相关性和分布的不均匀性,使得信源存在冗余度。 信源编码的目的就是要减少冗余,提高编码效率。
信息论基础第五章课后答案
5.1设有信源⎭⎬⎫⎩⎨⎧=⎪⎪⎭⎫ ⎝⎛01.01.015.017.018.019.02.0)(7654321a a a a a a a X P X (1)求信源熵H(X)(2)编二进制香农码(3)计算其平均码长及编码效率解:(1)H(X)=-)(log )(21i ni i a p a p ∑=H(X)=-0.2log 20.2-0.19log 20.19-0.18log 20.18-0.17log 20.17-0.15log 20.15-0.log 20.1-0.01log 20.01H(X)=2.61(bit/sign)(2)ia i P(ai)jP(aj)ki码字a 001a 10.210.0030002a 20.1920.2030013a 30.1830.3930114a 40.1740.5731005a 50.1550.7431016a 60.160.89411107a 70.0170.9971111110(3)平均码长:-k =3*0.2+3*0.19+3*0.18+3*0.17+3*0.15+4*0.1+7*0.01=3.14(bit/sign)编码效率:η=R X H )(=-KX H )(=14.361.2=83.1%5.2对习题5.1的信源二进制费诺码,计算器编码效率。
⎭⎬⎫⎩⎨⎧=⎪⎪⎭⎫ ⎝⎛0.01 0.1 0.15 0.17 0.18 0.19 2.0 )(7654321a a a a a a a X P X 解:Xi)(i X P 编码码字ik 1X 0.2000022X 0.191001033X 0.18101134X 0.17101025X 0.151011036X 0.110111047X 0.01111114%2.9574.2609.2)()(74.2 01.0.041.0415.0317.0218.0319.032.02 )(/bit 609.2)(1.5=====⨯+⨯+⨯+⨯+⨯+⨯+⨯===∑KX H R X H X p k K sign X H ii i η已知由5.3、对信源⎭⎬⎫⎩⎨⎧=⎪⎪⎭⎫ ⎝⎛01.01.015.017.018.019.02.0)(7654321x x x x x x x X P X 编二进制和三进制赫夫曼码,计算各自的平均码长和编码效率。
信息论与编码第五章部分PPT课件
符号概率
pi
0.100(1/2)
符号累积概率
Pr
0.000(0)
b 0.010(1/4) 0.100(1/2)
c 0.001(1/8) 0.110(3/4)
d 0.001(1/8) 0.111(7/8)
译码
C(abda)=0.010111<0.1[0,0.1] 第一个符号为a 放大至[0,1](×pa-1):
可以纠正一位错码 dmin=3
可以纠正一位错码
可纠正一位错码同时 检出二位错码dmin=4
定理(1)能检出e个错码的条件是d0>=e+1;
(2)能纠正t个错码的条件是t=INT[(dmin-1)/2];
(3)能纠正t个错码,同时检出e个错码的条件是d0>=e+t+1。
刚才的发言,如 有不当之处请多指
正。谢谢大家!
2021/3/9
28
信源消息
符号ai
a1 a2 a3 a4 a5 a6 a7
符号概
率(ai)
0.20 0.19 0.18 0.17 0.15 0.10 0.01
累加概 -log p(ai)
率Pi
0 0.2 0.39 0.57 0.74 0.89 0.99
2.32 2.39 2.47 2.56 2.74 3.32 6.64
C ( ) 0, A( ) 1
C ( Sr
A
(
Sr
) )
C (S A(S
) )
pi
A(S
) Pr
L log 1 A(S )
C() 0, A() 1
C(Sr) A(Sr)
C(S) A(S)pi
A(S)Pr
信息论与编码第五章习题参考答案
5.1某离散无记忆信源的概率空间为采用香农码和费诺码对该信源进行二进制变长编码,写出编码输出码字,并且求出平均码长和编码效率。
解:计算相应的自信息量1)()(11=-=a lbp a I 比特 2)()(22=-=a lbp a I 比特 3)()(313=-=a lbp a I 比特 4)()(44=-=a lbp a I 比特 5)()(55=-=a lbp a I 比特 6)()(66=-=a lbp a I 比特 7)()(77=-=a lbp a I 比特 7)()(77=-=a lbp a I 比特根据香农码编码方法确定码长1)()(+<≤i i i a I l a I平均码长984375.164/6317128/17128/1664/1532/1416/138/124/112/1L 1=+=⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯=由于每个符号的码长等于自信息量,所以编码效率为1。
费罗马编码过程5.2某离散无记忆信源的概率空间为使用费罗码对该信源的扩展信源进行二进制变长编码,(1) 扩展信源长度,写出编码码字,计算平均码长和编码效率。
(2) 扩展信源长度,写出编码码字,计算平均码长和编码效率。
(3) 扩展信源长度,写出编码码字,计算平均码长和编码效率,并且与(1)的结果进行比较。
解:信息熵811.025.025.075.075.0)(=--=lb lb X H 比特/符号 (1)平均码长11=L 比特/符号编码效率为%1.81X)(H 11==L η(2)平均码长为84375.0)3161316321631169(212=⨯+⨯+⨯+⨯=L 比特/符号 编码效率%9684375.0811.0X)(H 22===L η(3)当N=4时,序列码长309.3725617256362563352569442569242562732562732256814=⨯+⨯+⨯⨯+⨯⨯+⨯⨯+⨯+⨯⨯+⨯=L平均码长827.04309.34==L %1.98827.0811.0X)(H 43===L η可见,随着信源扩展长度的增加,平均码长逐渐逼近熵,编码效率也逐渐提高。
信息论与编码第5章
信息论与编码第5章第五章信源编码(第⼗讲)(2课时)主要内容:(1)编码的定义(2)⽆失真信源编码重点:定长编码定理、变长编码定理、最佳变长编码。
难点:定长编码定理、哈夫曼编码⽅法。
作业:5。
2,5。
4,5。
6;说明:本堂课推导内容较多,枯燥平淡,不易激发学⽣兴趣,要注意多讨论⽤途。
另外,注意,解题⽅法。
多加⼀些内容丰富知识和理解。
通信的实质是信息的传输。
⽽⾼速度、⾼质量地传送信息是信息传输的基本问题。
将信源信息通过信道传送给信宿,怎样才能做到尽可能不失真⽽⼜快速呢?这就需要解决两个问题:第⼀,在不失真或允许⼀定失真的条件下,如何⽤尽可能少的符号来传送信源信息;第⼆,在信道受⼲扰的情况下,如何增加信号的抗⼲扰能⼒,同时⼜使得信息传输率最⼤。
为了解决这两个问题,就要引⼊信源编码和信道编码。
⼀般来说,提⾼抗⼲扰能⼒(降低失真或错误概率)往往是以降低信息传输率为代价的;反之,要提⾼信息传输率常常⼜会使抗⼲扰能⼒减弱。
⼆者是有⽭盾的。
然⽽在信息论的编码定理中,已从理论上证明,⾄少存在某种最佳的编码或信息处理⽅法,能够解决上述⽭盾,做到既可靠⼜有效地传输信息。
这些结论对各种通信系统的设计和估价具有重⼤的理论指导意义。
§3.1 编码的定义编码实质上是对信源的原始符号按⼀定的数学规则进⾏的⼀种变换。
讨论⽆失真信源编码,可以不考虑⼲扰问题,所以它的数学描述⽐较简单。
图 3.1是⼀个信源编码器,它的输⼊是信源符号},,, {21q s s s S =,同时存在另⼀符号},,,{21r x x x X =,⼀般来说,元素xj 是适合信道传输的,称为码符号(或者码元)。
编码器的功能就是将信源符号集中的符号s i (或者长为N 的信源符号序列)变换成由x j (j=1,2,3,…r)组成的长度为l i 的⼀⼀对应的序列。
输出的码符号序列称为码字,长度l i 称为码字长度或简称码长。
可见,编码就是从信源符号到码符号的⼀种映射。
信息论与编码习题与答案第五章
5-10 设有离散无记忆信源}03.0,07.0,10.0,18.0,25.0,37.0{)(=X P 。
(1)求该信源符号熵H(X)。
(2)用哈夫曼编码编成二元变长码,计算其编码效率。
(3)要求译码错误小于310-,采用定长二元码达到(2)中的哈夫曼编码效率,问需要多少个信源符号连在一起编? 解:(1)信源符号熵为symbolbit x p x p X H i ii /23.203.0log 03.007.0log 07.010.0log 10.018.0log 18.025.0log 25.037.0log 37.0)(log )()(222222=------=-=∑ (2)1x 3x 2x 6x 5x 4x 0.370.250.180.100.070.030111110.100.200.380.621.0000011110110001001符号概率编码该哈夫曼码的平均码长为符号码元/3.2403.0407.0310.0218.0225.0237.0)(=⨯+⨯+⨯+⨯+⨯+⨯==∑iii K x p K 编码效率为9696.03.223.2)(===KX H η (3)信源序列的自信息方差为2222)(792.0)]([)]()[log ()(bit X H x p x p X i ii =-=∑σ7.00696.90)()(==+=εεη得,由X H X H53222102.6110)7.00(92.70)(⨯=⨯=≥-δεσX L 由切比雪夫不等式可得所以,至少需要1.62×105个信源符号一起编码才能满足要求。
5-12 已知一信源包含8个消息符号,其出现的概率}04.0,07.0,1.0,06.0,05.0,4.0,18.0,1.0{)(=X P ,则求:(1)该信源在每秒内发出1个符号,求该信源的熵及信息传输速率。
(2)对这8个符号作哈夫曼编码,写出相应码字,并求出编码效率。
信息论算术编码教材
代表大于或等于的最小整数。
2. 把积累概率P(S)写成二进位的小数,取其前L位;如果有尾数,就进位到第L 位,这样得到一个数C 。
算术编码
• 实际应用中,采用累积概率P(S)表示码字C(S),符号概率p(S)表示状态区间 A(S),则有:
C A((SS, , rr)) C A((SS))prA(S)Pr
算术编码
• 由于Pr+1和Pr都是小于1的正数,可用[0,1]区间内的两个点来表示,则pr就是这 两点间的小区间的长度,如图所示:
0(P1) P2 P3
P4
P5
……
1
p1
p2
p3
p4
……
算术编码
• 有一序列S=011, P(S)=p(000)+p(001)+p(010), P(S,0)=p(0000)+p(0001)+p(0010)+p(0011)+p(0100)+p(0101) =p(000)+P(001)+P(010)=P(S) P(S,1)=p(0000)+p(0001)+p(0010)+p(0011)+p(0100)+p(0101)+p(0110) =P(S)+p(0110)=P(S)+p(S)p0
谢 谢!
0.010 10.0 10 100 0 00.1 010111
A(a,b,d,a)A(a,b,d)pa0.0000 0.1 01 0.0000001
因此,C(a,b,d,a)即为编码后的码字010111 。
算术编码
算术编码过程:(单位区间的划分表示) A()
C()
《信息论与编码》第5章哈夫曼编码
哈夫曼编码
例:
假设用于通信的电文仅由4个字母{ a,d,i,n } 构成,它们 在电文中出现的概率分别为{ 2,7,5,4},试构建相应的哈 夫曼树,并为这4个字母进行哈夫曼编码
构建哈夫曼树 进行哈夫曼编码
按左分支为0、右分支为1的规则对哈夫曼树的左右分支 进行标记 将从根结点到叶子结点的路径上所有分支标记组成一个 代码序列
字母a的编码为110 字母n的编码为111
1
4 n
因此,在电文中出现频率 高的字母的编码相对短, 而出现频率低的字母的编 码相对长
111 字符编码表HC=((d,0),(i,10),(a,110),(n,111))
哈夫曼编码过程演示
编码 A1 A2 A3 0.23 0.21 0.18
1
0 1 0 1 0.10 0
进行哈夫曼编码 形成代码报文CC 输出
字符频度表W
哈 夫 曼 编 码 系 统 功 能 流 程
形成字符频度表
W
构建哈夫曼树
HT W
进行哈夫曼编码
HC
OC
形成代码报文
CC
原码报文中出现的不同符号个数和频率
代码报文CC
输出CC和W 返回开头
到哈夫曼译码系统
哈夫曼译码系统
来自哈夫曼编码系统 输入W、 CC
这个序列就是该叶子结点对应的字符的编码
哈夫曼编码
4个字母{ a,d,i,n } 在电文中出现的概率分别为{ 2,7,5,4}
字母d的编码为0
18 0
可见:
1
11 0 5
字母i的编码为10
7 d 0 i 10
信息论与编码_算术编码
•
+0.0000_ Pa = 1/3
+0.3333
Pb = 1/3
+ 0.6667
Pc = 1/3
+1.0000
• 现在拿到第一个字符 b,把目光投向 b 对 应的区间 0.3333 - 0.6667。这时由于多 了字符 b,三个字符的概率分布变成:Pa = 1/4,Pb = 2/4,Pc = 1/4。好,按照新 的概率分布比例划分 0.3333 - 0.6667 这 一区间,划分的结果可以用图形表示为:
二进制转化成十进制 开始译码
重新分配概率
判断是否是 最后一个字符
重新分配概率 N
循环是否结束
N
YHale Waihona Puke 转化成二进制输出Y 输出译码结果
静态算术编码和译码流程图
开始编码 开始译码
判断读入的字符 分配在哪个区间
比较该数据 在哪个区间
循环是否结束
N
循环是否结束
N
Y 输出结果
Y
输出结果
在算术编码中需要注意的几个问 题:
分类
• 算术编码是用符号的概率和它的编码间隔 两俩个基本参数来描述的。算术编码可以 是静态的或是自适应的。 • 在自适应算术编码中,信源符号的概率根 据编码时符号出现的频繁程度动态地进行 修改。 • 在静态算术编码中,信源符号的概率是固
2、自适应算术编码
• 例1:算术编码对某条信息的输出为 1010001111,那么它表示小数 0.1010001111,也即十进制数 0.64。 • 考虑某条信息中可能出现的字符仅有 a b c 三种,要压缩保存的信息为 bccb。 • 采用的是自适应模型,开始时暂时认为三 者的出现概率相等,也就是都为 1/3,将
信息论与编码-曹雪虹-第五章-课后习题答案
信息论与编码-曹雪虹-第五章-课后习题答案第五章(2) 哪些码是⾮延长码?(3) 对所有唯⼀可译码求出其平均码长和编译效率。
解:⾸先,根据克劳夫特不等式,找出⾮唯⼀可译码31123456231244135236:62163:22222216463:164:22421:2521:2521C C C C C C --------------?<+++++=<<++?=+?>+?<5C ∴不是唯⼀可译码,⽽4C :⼜根据码树构造码字的⽅法1C ,3C ,6C 的码字均处于终端节点∴他们是即时码(1) 因为A,B,C,D四个字母,每个字母⽤两个码,每个码为0.5ms, 所以每个字母⽤10ms当信源等概率分布时,信源熵为H(X)=log(4)=2平均信息传递速率为bit/ms=200bit/s(2) 信源熵为H(X)==0.198bit/ms=198bit/s5-541811613216411281128H(U)=1 2Log2() 14Log4() +18Log8() +116Log16 ()+132Log32 ()Log64()+1128Log128()+1128Log128()+ 1.984= (2) 每个信源使⽤3个⼆进制符号,出现0的次数为出现1的次数为P(0)=P(1)=(3)相应的费诺码(5)⾹农码和费诺码相同平均码长为编码效率为:5-11(1)信源熵(2)⾹农编码:平均码长:编码效率为(3)平均码长为:编码效率:4平均码长为:编码效率:5.16 已知⼆元信源{0,1},其p0=1/4,p1=3/4,试⽤式(4.129)对序列11111100编算术码,并计算此序列的平均码长。
解:根据算术编码的编码规则,可得:P(s=11111100) = P2(0)P6(1) = (3/4)6 (1/4)27)(1log =??=S P l根据(4.129)可得:F(S) = P(0) + P(10) + P(110) + P(1110) + P(11110) + P(111110) = 1–∑≥sy y P )(= 1 – P(11111111) – P(11111110) – P(11111101) – P(11111100)= 1– P(111111) = 1– (3/4)6 = 0.82202 = 0.110100100111⼜P(S) = A(S)= 0.0000001011011001,所以F(S) + P(S) = 0.1101010 即得C = 0.1101010 得S 的码字为1101010平均码长L 为 0.875。
信息论基础与编码(第五章)
信息论基础与编码(第五章)信息论基础与编码(第五章)5-1 有⼀信源,它有六种可能的输出,其概率分布如下表所⽰,表中给出了对应的六种编码12345C C C C C 、、、、和6C 。
(1)求这些码中哪些是唯⼀可译码;(2)求哪些是⾮延长码(即时码);(3)对所有唯⼀可译码求出其平均码长。
001111解:(1)1,2,3,6是唯⼀可译码; (2)1,3,6是即时码。
5-2证明若存在⼀个码长为12,,,ql l l 的唯⼀可译码,则⼀定存在具有相同码长的即时码。
证明:由定理可知若存在⼀个码长为的唯⼀可译码,则必定满⾜kraft 不等式1。
由定理4可知若码长满⾜kraft 不等式,则⼀定存在这样码长的即时码。
所以若存在码长的唯⼀可译码,则⼀定存在具有相同码长P (y=0)的即时码。
5-3设信源126126()s s s S p p p P s=?,611ii p==∑。
将此信源编码成为r 元唯⼀可译变长码(即码符号集12{,,,}r X x x x =),其对应的码长为(126,,,l l l )=(1,1,2,3,2,3),求r 值的最⼩下限。
解:要将此信源编码成为 r 元唯⼀可译变长码,其码字对应的码长(l 1 ,l 2 ,l 3, l 4,l 5, l 6)=(1,1,2,3,2,3) 必须满⾜克拉夫特不等式,即LqL L ,,2,1Λ∑=-qi l ir1≤4?LqL L ,,2,1Λ132321161≤+++++=------=-∑r r r r r r ri li所以要满⾜ 122232≤++rr r ,其中 r 是⼤于或等于1的正整数。
可见,当r=1时,不能满⾜Kraft 不等式。
当r=2, 1824222>++,不能满⾜Kraft 。
当r=3, 127262729232<=++,满⾜Kraft 。
所以,求得r 的最⼤值下限值等于3。
5-4设某城市有805门公务电话和60000门居民电话。
信息论与编码技术第五章课后习题答案
码,并求出其编码效率。
解:
信源符号 概率 编码
码字 码长
X1
3/8 0
0
1
X2
1/6 1
0
10 2
X3
1/8
1
11 2
X4
1/8 2
0
20 2
X5
1/8
1
21 2
X6
1/12
2
22 2
H(X)=-((3/8)*log(3/8)+(1/6)*log(1/6)+(1/8)*log(1/8)+(1/8)*log(1/8)+(1/8)*log(1/8)+(1/12)*log(1/12))
=2.3852 (三进制单位/信源符号)
H3(X)= H(X)/ 1.5850=2.3852/1.5850= 1.5049(三进制单位/信源符号)
L =(3/8)*1+ (1/6)*2+ (1/8)*2+ (1/8)*2+ (1/8)*2+ (1/12)*2=1.625(码符号/信源符号)
η= H3(X)/ L =1.5049/1.625= 92.61 %
5.8 已知符号集合 {x1, x2 , x3,"} 为无限离散消息集合,它们出现的概率分别为 p(x1) = 1/ 2 , p(x2 ) = 1/ 4 , p(x3 ) = 1/ 8 , p(xi ) = 1/ 2i ,……。
(1) 用香农编码方法写出各个符号消息的码字。 (2) 计算码字的平均信息传输速率。
L =4*(1/4)*1=1(码符号/信源符号)
Rt= H(X)/(t* L )=1/(1*10*10-2)=10(比特/秒)
第5章-3信息论与编码
• 多元序列也存在相应的游程序列 • 多元序列变换成游程序列再进行压缩编码 没有多大意义 • 游程编码只适用于二元序列,对于多元信 源,一般不能直接利用游程编码
8
冗余位编码——游程编码在多元信 源的应用
如下多元序列
x1 ,x2 ,…,xm1 ,y,y,…,y,x xm1+2,…x m2,y,y,… 可以用下面两个序列表示 11,…,100,…,011,…,100 ,…
• 序列的概率公式
p(S , ar ) p(S ) pr
22
算术编码
• 实际应用中,采用累积概率P(S)表示码字C(S), 符号概率p(S)表示状态区间A(S),则有: C(S,r) = C(S)+A(S)Pr
A(S,r) = A(S) pr
• 实际编码时,只需两个存储器,起始时可令:
A(Φ) =1, C(Φ) = 0 • 每输入一个信源符号,存储器C和A 就按照上式更 新一次,直至信源符号输入完毕,就可将存储器C 的内容作为该序列的码字输出。
11 • 根据信源S1的情况,把C所在的段再次按概率比例划分
累积概率
• 设信源符号集A={a1,a2,…,an},其相应概率分布为 p(ai), p(ai) >0(i=1,2, …,n) • 信源符号的累积概率为
Pr pi
• 显然
i 1
r 1
• 而且
P1= 0; P2= p1 ; P3= p1+p2 ; … pr = Pr+1 - Pr
5.3 限失真信源编码定理
• 在本章一开始我们就分析了在很多实际信
源中,特别在模拟的连续信源中,无失真要求 是完全没有必要的,而且也是达不到的。 • 在实际中限失真信源是具有现实意义的
信息论讲义-第五章(13讲)
信息理论基础第13讲北京航空航天大学201教研室陈杰21.编码器—信源符号集S =(s 1,s 2, …s q )—码符号集X =(x 1,x 2…x r )—代码组(Source Code ) C =(W 1, W 2,…W q )—码字(Codeword ) W i =(x l1,x l2,…x li )2. 分组码—奇异性(Non-singular )—唯一可译性(Uniquely decodable )—即时码(Instantaneous )All codesNon-singular codesUniquely decodable codesInstantaneous codesFigure 5.1. Classes of codes343. 定长编码3.1 唯一可译定长码编码速率编码效率log log L ql N r=≥log 1log q r +>log log L r R qN=≥()()log H S H S R qη=≤例:英文字符数q =27,且log 2q=4.754 bit 信源熵H (S )=4.03 bit ,取编码速率R=log 2q 则编码效率η=85%53. 定长编码3.2 定长码编码定理(1)正定理:(2)逆定理:log ()L rR H S Nε=≥+2[()]i E D I s p N ε≤log ()2L rR H S Nε=≤−12N E p ε−≥−0E p →1E p →63. 定长编码3.2 定长码编码定理根据正定理,令p E <δlog ()L rR H S Nε=≥+2[()]i E D I s p N δε≤<2[()]i D I s N εδ≥()H S Rη=()()H s H s ε≤+[]222()()(1)i D I s N H S ηηδ≥⋅−1()H s ηεη−=75.4 变长码•引入1. 变长码无需很长的码长就能实现高效率的无失真信源编码2.变长码必须是唯一可译码,才能实现无失真编码3.变长码是唯一可译码的充要条件:(1)非奇异码(2)任意有限次扩展码是非奇异码4. 变长码必须即时码85.4.1码的分类和主要编码方法信源编码方法:⑴匹配编码:概率大的信源符号,代码长度短;反之,代码长度长⑵变换编码:从一种空间变换成另一种空间,然后进行编码⑶识别编码:对有标准形状的文字、符号和数据进行编码9定理:设信源符号集为S=(s 1,s 2, …,s q,),码符号集为X=(x 1,x 2, …x r ),对信源进行编码,代码组C=(W 1,W 2, …W q ),相应码长分别l 1,l 2,…l q ,即时码存在(唯一可译码存在)的充要条件为:11≤∑=−qi l ir10释:(1)克拉夫特(Kraft)不等式为即时码存在充要条件(2)麦克米伦(McMilan )不等式为唯一可译码存在充要条件(3)该定理不能作为判别一种码是否为即时码(唯一可译码)的判据(4)当码字长度和码符号满足该不等式时,必可构造出即时码(唯一可译码)115.4.3 唯一可译码判别准则•唯一可译码:如果一个分组码对于任意有限的整数N ,其N 次扩展码均为非奇异码,则为唯一可译码•唯一可译码的充要条件:(见书上128页)121.码平均长度离散无记忆信源为编码后的码子码字的长度因为是唯一可译码,s i 和W i 一一对应则码字平均长度为[]1212()()()q q s s s S P p s p s p s ⎡⎤=⎢⎥⎣⎦""12,,,qW W W "ql l l ,,,21"()()i i p s p W =11()()q qi i i ii i L p W l p s l ====∑∑13释:(1)是每个信源符号编码需要的平均码符号个数;(2) 编码后,每个信源符号s i 平均用个码符号来表示,平均每个码符号携带的信息量是信道的信息传输率(3) 若传输一个码符号需要t 秒,则每秒传输率为故L L L s H X H R )()(==Ls H R t R t )(1==bit/码符号bit/秒L R t 信息传输率高2.紧致码定义:对于某一个信源和某一码符号集,若有一L个唯一可译码,其平均码长度小于所有其它唯一可译码的平均码长度,则称该码为紧致码(也称最佳码)•释:无失真信源编码核心问题是寻找紧致码14153.定理:(平均码长下界)设离散无记忆信源的信源熵为H (S ),用码符号集进行编码,则存在一种编码方式构成唯一可译码,平均码长满足[]1212()()()q q s s s SP p s p s p s ⎡⎤=⎢⎥⎣⎦""},,,{21q x x x X "=L rS H L r S H log )(1log )(+<≤16释:(1) 的极限值为,即下界;小于下界,则唯一可译码不存在(2) 当选择时,才能达到下界(3) 紧致码平均码长不一定达到下界(4) 达到下界的唯一可译码是紧致码(5) 紧致码最短码长L ()log H S r Llog ()log i i p s l r=−rS H L log )(=174 变长无失真信源编码定理(香农第一定理)定理:设离散无记忆信源其信源熵为H (S ),它的N 次扩展信源为[]1212()()()q q s s s SP p s p s p s ⎡⎤=⎢⎥⎣⎦""1212()()()N N qN q S P p p p αααααα⎡⎤⎡⎤=⎢⎥⎣⎦⎢⎥⎣⎦""18扩展信源熵为H (S N ),码符号集X =(x 1,x 2, …x r ),用X 对S N 编码,则总可以找到一种编码方法,构成唯一可译码,使信源S 中的每个信源符号所需要的码字平均长度满足或rS H N L N r S H N log )(1log )(≥>+)(1)(S H NL N S H r N r ≥>+19当时,则其中,是扩展信源中每个信源符号对应的平均码长式中,是对应的码字长度∞→N )(lim S H N L r N N =∞→rS H N L N N log )(lim =∞→N L i α1()Nq N i ii L p αλ==∑i λi α20释:对于平稳遍历的离散有记忆信源(如马尔可夫信源),有其中,为有记忆信源的极限熵N L N L 原始信源平均码长N次扩展信源编码后每原始信源符号的平均码长≥rH N L N N log lim ∞∞→=∞H5.4.4变长信源编码定理5.编码速率、编码效率、剩余度(1) 编码速率:变长编码的编码速率为 LN R= log r N (2) 编码效率:编码效率定义为H ( S ) NH r ( S ) NH ( S ) = = η= R LN LN log r(3) 剩余度:定长码的剩余度为NH r ( S ) γ = 1 −η = 1 − LN21例题 例5.2 设离散无记忆信源Ss2 ⎤ ⎡S ⎤ ⎡ s1 ⎢ P( S ) ⎥ = ⎢0.75 0.25⎥ ⎣ ⎦ ⎣ ⎦ 对信源S及其扩展信源进行二元变长编码, 求当信源扩展次数N=2,3,4时的平均码长和 编码效率。
信息论讲义-第五章(13讲)
信息理论基础第13讲北京航空航天大学201教研室陈杰21.编码器—信源符号集S =(s 1,s 2, …s q )—码符号集X =(x 1,x 2…x r )—代码组(Source Code ) C =(W 1, W 2,…W q )—码字(Codeword ) W i =(x l1,x l2,…x li )2. 分组码—奇异性(Non-singular )—唯一可译性(Uniquely decodable )—即时码(Instantaneous )All codesNon-singular codesUniquely decodable codesInstantaneous codesFigure 5.1. Classes of codes343. 定长编码3.1 唯一可译定长码编码速率编码效率log log L ql N r=≥log 1log q r +>log log L r R qN=≥()()log H S H S R qη=≤例:英文字符数q =27,且log 2q=4.754 bit 信源熵H (S )=4.03 bit ,取编码速率R=log 2q 则编码效率η=85%53. 定长编码3.2 定长码编码定理(1)正定理:(2)逆定理:log ()L rR H S Nε=≥+2[()]i E D I s p N ε≤log ()2L rR H S Nε=≤−12N E p ε−≥−0E p →1E p →63. 定长编码3.2 定长码编码定理根据正定理,令p E <δlog ()L rR H S Nε=≥+2[()]i E D I s p N δε≤<2[()]i D I s N εδ≥()H S Rη=()()H s H s ε≤+[]222()()(1)i D I s N H S ηηδ≥⋅−1()H s ηεη−=75.4 变长码•引入1. 变长码无需很长的码长就能实现高效率的无失真信源编码2.变长码必须是唯一可译码,才能实现无失真编码3.变长码是唯一可译码的充要条件:(1)非奇异码(2)任意有限次扩展码是非奇异码4. 变长码必须即时码85.4.1码的分类和主要编码方法信源编码方法:⑴匹配编码:概率大的信源符号,代码长度短;反之,代码长度长⑵变换编码:从一种空间变换成另一种空间,然后进行编码⑶识别编码:对有标准形状的文字、符号和数据进行编码9定理:设信源符号集为S=(s 1,s 2, …,s q,),码符号集为X=(x 1,x 2, …x r ),对信源进行编码,代码组C=(W 1,W 2, …W q ),相应码长分别l 1,l 2,…l q ,即时码存在(唯一可译码存在)的充要条件为:11≤∑=−qi l ir10释:(1)克拉夫特(Kraft)不等式为即时码存在充要条件(2)麦克米伦(McMilan )不等式为唯一可译码存在充要条件(3)该定理不能作为判别一种码是否为即时码(唯一可译码)的判据(4)当码字长度和码符号满足该不等式时,必可构造出即时码(唯一可译码)115.4.3 唯一可译码判别准则•唯一可译码:如果一个分组码对于任意有限的整数N ,其N 次扩展码均为非奇异码,则为唯一可译码•唯一可译码的充要条件:(见书上128页)121.码平均长度离散无记忆信源为编码后的码子码字的长度因为是唯一可译码,s i 和W i 一一对应则码字平均长度为[]1212()()()q q s s s S P p s p s p s ⎡⎤=⎢⎥⎣⎦""12,,,qW W W "ql l l ,,,21"()()i i p s p W =11()()q qi i i ii i L p W l p s l ====∑∑13释:(1)是每个信源符号编码需要的平均码符号个数;(2) 编码后,每个信源符号s i 平均用个码符号来表示,平均每个码符号携带的信息量是信道的信息传输率(3) 若传输一个码符号需要t 秒,则每秒传输率为故L L L s H X H R )()(==Ls H R t R t )(1==bit/码符号bit/秒L R t 信息传输率高2.紧致码定义:对于某一个信源和某一码符号集,若有一L个唯一可译码,其平均码长度小于所有其它唯一可译码的平均码长度,则称该码为紧致码(也称最佳码)•释:无失真信源编码核心问题是寻找紧致码14153.定理:(平均码长下界)设离散无记忆信源的信源熵为H (S ),用码符号集进行编码,则存在一种编码方式构成唯一可译码,平均码长满足[]1212()()()q q s s s SP p s p s p s ⎡⎤=⎢⎥⎣⎦""},,,{21q x x x X "=L rS H L r S H log )(1log )(+<≤16释:(1) 的极限值为,即下界;小于下界,则唯一可译码不存在(2) 当选择时,才能达到下界(3) 紧致码平均码长不一定达到下界(4) 达到下界的唯一可译码是紧致码(5) 紧致码最短码长L ()log H S r Llog ()log i i p s l r=−rS H L log )(=174 变长无失真信源编码定理(香农第一定理)定理:设离散无记忆信源其信源熵为H (S ),它的N 次扩展信源为[]1212()()()q q s s s SP p s p s p s ⎡⎤=⎢⎥⎣⎦""1212()()()N N qN q S P p p p αααααα⎡⎤⎡⎤=⎢⎥⎣⎦⎢⎥⎣⎦""18扩展信源熵为H (S N ),码符号集X =(x 1,x 2, …x r ),用X 对S N 编码,则总可以找到一种编码方法,构成唯一可译码,使信源S 中的每个信源符号所需要的码字平均长度满足或rS H N L N r S H N log )(1log )(≥>+)(1)(S H NL N S H r N r ≥>+19当时,则其中,是扩展信源中每个信源符号对应的平均码长式中,是对应的码字长度∞→N )(lim S H N L r N N =∞→rS H N L N N log )(lim =∞→N L i α1()Nq N i ii L p αλ==∑i λi α20释:对于平稳遍历的离散有记忆信源(如马尔可夫信源),有其中,为有记忆信源的极限熵N L N L 原始信源平均码长N次扩展信源编码后每原始信源符号的平均码长≥rH N L N N log lim ∞∞→=∞H5.4.4变长信源编码定理5.编码速率、编码效率、剩余度(1) 编码速率:变长编码的编码速率为 LN R= log r N (2) 编码效率:编码效率定义为H ( S ) NH r ( S ) NH ( S ) = = η= R LN LN log r(3) 剩余度:定长码的剩余度为NH r ( S ) γ = 1 −η = 1 − LN21例题 例5.2 设离散无记忆信源Ss2 ⎤ ⎡S ⎤ ⎡ s1 ⎢ P( S ) ⎥ = ⎢0.75 0.25⎥ ⎣ ⎦ ⎣ ⎦ 对信源S及其扩展信源进行二元变长编码, 求当信源扩展次数N=2,3,4时的平均码长和 编码效率。
信息论与编码(傅祖云 讲义)第五章
平均错误率为:
PE''' 1 * P(b / a) (0.125 0.05) (0.075 0.075) (0.05 0.125) 0.5 3 Y , X a
第二节 错误概率与编码方法
一般信道传输时都会产生错误,而选择译码准则并不会 消除错误,那么如何减少错误概率呢?下边讨论通过编码 方法来降低错误概率。 例:对于如下二元对称信道
第二节 错误概率与编码方法 我们再讨论一个例子,取M=4,n=5,这4个码字按 2 如下规则选取:R
5
设输入序列为:
ai (ai1 ai 2
ai3
ai 4
ai5 )
满足方程: ai 3 ai1 ai 2
ai 4 ai1 a a a i1 i2 i5
若译码采取最大似然准则:
P(b j / a* ) P(a* ) P(b j ) P(b j / ai ) P(ai ) P(b j )
第一节 错误概率与译码规则 即: P(bj / a* )P(a* ) P(bj / ai )P(ai ) 当信源等概分布时,上式为:
P(bj / a* ) P(bj / ai )
和B: (b ) a F 1 1
F (b2 ) a3 F (b3 ) a2
译码规则的选择应该有一个依据,一个自然的依据就 是使平均错误概率最小 有了译码规则以后,收到 bj 的情况下,译码的条件正 确概率为: P( F (b ) / b ) P(a / b )
j j i j
第一节 错误概率与译码规则 而错误译码的概率为收到 bj 后,推测发出除了 ai 之 外其它符号的概率:
第一节 错误概率与译码规则
为了减少错误,提高通信的可靠性,就必到什么程 度。 前边已经讨论过,错误概率与信道的统计特性有关, 但并不是唯一相关的因素,译码方法的选择也会影响错误 率。
(完整版)信息论第五章答案
5.1 设信源⎭⎬⎫⎩⎨⎧=⎥⎦⎤⎢⎣⎡01.01.015.017.018.019.02.0)(7654321x x x x x x x X P X (1) 求信源熵H(X); (2) 编二进制香农码;(3) 计算平均码长和编码效率。
解: (1)symbolbit x p x p X H i i i /609.2)01.0log 01.01.0log 1.015.0log 15.017.0log 17.018.0log 18.019.0log 19.02.0log 2.0()(log )()(2222222712=⨯+⨯+⨯+⨯+⨯+⨯+⨯-=-=∑=%1.8314.3609.2)()(14.301.071.0415.0317.0318.0319.032.03)(=====⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑KX H R X H x p k K ii i η5.2 对信源⎭⎬⎫⎩⎨⎧=⎥⎦⎤⎢⎣⎡01.01.015.017.018.019.02.0)(7654321x x x x x x x X P X 编二进制费诺码,计算编码效率。
%2.9574.2609.2)()(74.201.041.0415.0317.0218.0319.032.02)(=====⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑KX H R X H x p k K ii i η5.3 对信源⎭⎬⎫⎩⎨⎧=⎥⎦⎤⎢⎣⎡01.01.015.017.018.019.02.0)(7654321x x x x x x x X P X 编二进制和三进制哈夫曼码,计算各自的平均码长和编码效率。
解:%9.9572.2609.2)()(72.201.041.0415.0317.0318.0319.022.02)(=====⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑KX H R X H x p k K ii i η%4.913log 8.1609.2log )()(8.1)01.01.015.017.018.019.0(22.01)(22=⨯====+++++⨯+⨯==∑m LK X H R X H x p k K ii i η5.4 设信源⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧=⎥⎦⎤⎢⎣⎡12811281641321161814121)(87654321x x x x x x x x X P X (1) 求信源熵H(X);(2) 编二进制香农码和二进制费诺码;(3) 计算二进制香农码和二进制费诺码的平均码长和编码效率; (4) 编三进制费诺码;(5) 计算三进制费诺码的平均码长和编码效率;解: (1)symbolbit x p x p X H i i i /984.1128log 1281128log 128164log 64132log 32116log 1618log 814log 412log 21)(log )()(22222222812=⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯=-=∑==127/64 bit/symbol (2)二进制费诺码:香农编码效率:%100984.1984.1)()(64/127984.17128171281664153214161381241121)(======⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑KX H R X H x p k K ii i η费诺编码效率:%100984.1984.1)()(984.17128171281664153214161381241121)(=====⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑KX H R X H x p k K ii i η(5)%3.943log 328.1984.1log )()(328.14128141281364133212161281141121)(22=⨯=⋅===⨯+⨯+⨯+⨯+⨯+⨯+⨯+⨯==∑m K X H R X H x p k K ii i η5.5 设无记忆二进制信源⎭⎬⎫⎩⎨⎧=⎥⎦⎤⎢⎣⎡1.09.010)(X P X先把信源序列编成数字0,1,2,……,8,再替换成二进制变长码字,如下表所示。
信息论 第5章(基于字典编码和算术编码)
P1=p(x1) P2=P1+p(x2)…
算术编码的基本原理
由于每个消息的起点位置等于前面各个消 息的概率累积,故将它定义为累积概率Pk. 反过来,也可以由累积概率来计算某个消 息的概率:pk=Pk-Pk-1 ,即两个相邻起点之间的 距离等于这个线段的长度.每个消息所对应的 线段从起点开始,到下一个线段的起点为此,但 不包含下一个线段的起点,即消息Xk的对应区 间为[Pk-1,Pk). 任意选择一个小数,它必然落在某个消息 对应的线段上这说明,可以用一个具有大小概 念的小数来表示某个消息,这就是算术编码的 基本出发点.
当 前 单 词 前缀 FFF 041 FFF FFF 042 FFF 041 100 FFF 041 100 105 尾字符 A A B B B A B C A B C A 码字 041 107 042 042 109 041 100 105 041 100 105 10B
读入 字符 A B B B A B C A B C A 无
二元独立信源的算术编码原理
二元独立信源输出的消息是由0和1组成的 码流,其长度从1开始,逐步增加,直到全部 码元输出为止。 算术编码的过程和信源输出码元的过程同 步进行,一边读取码元,一边进行迭代计算。 迭代计算的内容为P(累积概率)和A(概率) 两个量,P就是当前消息区间的起点,A就是当 前消息区间的宽度。
二元独立信源的算术编码过程
设码元0的概率为p,则码元1的概率为1-p, 编码过程如下: (1)初始化:区间的起点P=0,区间的宽度A=1; (2)如果信源输出的码元已经全部处理,转到第 五步.否则从信源读入一个码元,如果读入的码 元为“0”,则转到第三步,如果读入的码元为 “1”,则转到第四步;
(3)读入的码元为0,则区间的起点P不变,区间 的宽度缩短为Ap.用公式 P = P
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LZW编码算法 LZW编码算法
LZW压缩编码算法如下: (1)字典初始化:将被压缩文件中所有使用到的 单字节字符放入字典中.为了压缩任何类型的文 件,可以将字典前256个位置分配给计算机文件 中出现的所有256个可能的单个字符. (2)动态数据初始化:初始化新单词存放位置 指针P,将它指向字典的第一个空位置;读入被 压缩文件的第一个字符cha,作为待处理单词W. 单词的前缀为空,即Q=4095,尾字符就是cha, 码字N也是cha.
P1=p(x1) P2=P1+p(x2)…
算术编码的基本原理
由于每个消息的起点位置等于前面各个消 息的概率累积,故将它定义为累积概率Pk. 反过来,也可以由累积概率来计算某个消 息的概率:pk=Pk-Pk-1 ,即两个相邻起点之间的 距离等于这个线段的长度.每个消息所对应的 线段从起点开始,到下一个线段的起点为此,但 不包含下一个线段的起点,即消息Xk的对应区 间为[Pk-1,Pk). 任意选择一个小数,它必然落在某个消息 对应的线段上这说明,可以用一个具有大小概 念的小数来表示某个消息,这就是算术编码的 基本出发点.
FFF FFF FFF FFF 041 FFF FFF 041 FFF 043 FFF
A B C A B D A B C A A
041 042 043 041 100 044 041 100 043 102 041
B C A B D A B C A A A
AB BC CA AB ABDBiblioteka DA AB ABC CA CAA AA
算术编码的例子
若二元独立信源中“0”的概率为0.25(二进 制0.01),“1”的概率为0.75(二进制0.11),对消 息 11011101 进行算术编码.
算术编码的过程
算术编码过程如下:
顺序 码元 0 1 2 3 4 5 6 7 8 1 1 0 1 1 1 0 1 区间起点P 区间起点P 0.0 0.01 0.0111 0.0111 0.01111001 0.0111111111 0.100001001101 0.100001001101 区间宽度A 区间宽度A 1.0 0.11 0.1001 0.001001 0.00011011 0.0001010001 0.000011110011 0.00000011110011 1 1 3 4 4 5 7 7 0.1 0.1 0.100 0.1000 0.1000 0.10001 0.1000011 0.1000011 码字 长度 码 字
Lz算法基本原理 Lz算法基本原理
计算机文件是以字节为单位组成的,每个 字节的取值从0到255(28=256).把每个字节都 看成一个“字符”,我们再把连续的若干个 “字符”看成一个“单词”将全部“单词”组 合起来就成为“字典”. 只要知道某个“单词”在字典中的位置(即 序号),就可以知道这个“单词”的内容,“单词” 的序号和“单词”的内容存在一一对应的关系. 我们将计算机文件按“单词”进行分割,然后用 “单词”在字典中的序号取代“单词”的内容, 就可以得到全部由序号组成的编码结果.
信息论基础
The Basis of Information Theory
主题No5: 主题No5:基于字典编码和算术编码 No5
基于字典编码概论
哈夫曼编码和游程编码得到的结果是变长 码,而基于字典的编码方法得到的结果是定长 码,特别适合计算机文件的压缩和保存。此类 压缩编码方法是两位以色列研究人员在1977年 提出来的,由于他们的名字分别为Abraham Lempel和Jakob Ziv,所以基于字典的压缩编 码方法简称为LZ算法。
算术编码的思想
假设某离散独立信源有n个消息:x1,…,xn, 且对应的概率分别为:p(x1),…,p(xn).如果将这 些概率用线段的长度来表示,则概率大的消息对 应长的线段,概率小的消息对应短的线段.再将 这些线段顺序连接起来,其总长度必然等于1.
x1 0 x2 … xn Pn-1=Pn-2+p(xn-1) Pn=1
二元独立信源的算术编码原理
二元独立信源输出的消息是由0和1组成的 码流,其长度从1开始,逐步增加,直到全部 码元输出为止。 算术编码的过程和信源输出码元的过程同 步进行,一边读取码元,一边进行迭代计算。 迭代计算的内容为P(累积概率)和A(概率) 两个量,P就是当前消息区间的起点,A就是当 前消息区间的宽度。
无 无 无 100 无 无 100 无 102 无 无
A B C
041 042 043
100 101 102
AB BC CA
AB D
100 044
103 104
ABD DA
AB
100
105
ABC
CA A
102 041
106 107
CAA AA
步骤 12 13 14 15 16 17 18 19 20 21 22 23
记忆码字 041 042 043 100 044 100 102 041 107 042 109 105
解码输出 A B C AB D AB CA A AA B BB ABC ABCA
字典位置 100 101 102 103 104 105 106 107 108 109 10A 10B
新单词 AB BC CA ABD DA ABC CAA AA AAB BB BBA ABCA
通常序号的长度为12比特,即0到4095,而 “单词”的平均长度远大于12比特,从而达到压 缩的效果.从而达到压缩目的. 由于字典的容量有限,不可能包罗万象.故 在LZ压缩算法中,字典的内容直接由被压缩的 文件生成.一边编码,一边将新发现的“单词” 增加到字典中.在解码的过程中,同样是一边解 码,一边生成字典.故LZ编码算法在储存压缩文 件时不需要保存字典,是一种自适应算法. 1984年,Terry Welch对LZ算法进行改进, 使得所以的单词有同样的结构,推出LZW压缩编 码算法.
0.1000010111000011 0.0000001011011001
从而码字为1000011
算术编码的译码原理
设码字为C,起点为P,宽度为A,译码过程如下: (1)初始化:区间起点P=0,区间宽度A=1; (2)计算分割点Q的位置; (3)判断码字与分割点的关系: 若C-Q≥0,表示码字落在分割点的右边,进入第 四步; 若C-Q<0,表示码字落在分割点的左边,进入第 五步;
查找 对象 AA AAB BB BB BBA AB ABC ABCA AB ABC ABCA
查找 结果 107 无 无 109 无 100 105 无 100 105 10B
编码输出 内容 码字
字典扩充 位置 新单词
AA B
107 042
108 109
AAB BB
BB
109
10A
BBA
ABC
105
10B
(5)如果在字典有码字对应的单词,则采用递归 算法,输出该单词的内容.并将该单词的第一个 字符作为尾字符,将已经记忆的前一个码字作 为前缀,组成一个新的单词,写入字典,然后记 下当前码字,返回第(3)步;否则先在字典生成 新的单词,再输出这个单词,将新单词的码字记 忆下,再返回第(3)步.
LZW解码算法的例子 LZW解码算法的例子
二元独立信源的算术编码过程
设码元0的概率为p,则码元1的概率为1-p, 编码过程如下: (1)初始化:区间的起点P=0,区间的宽度A=1; (2)如果信源输出的码元已经全部处理,转到第 五步.否则从信源读入一个码元,如果读入的码 元为“0”,则转到第三步,如果读入的码元为 “1”,则转到第四步;
(3)读入的码元为0,则区间的起点P不变,区间 的宽度缩短为Ap.用公式 P = P
X0 (p0=0.20) P0=0 X1 (p1=0.30) P1=0.2 X2 (p2=0.35) X3 (p3=0.15) P4=1
P2=0.5
P3=0.85
算术具体编码
[编码]由条件p3=0.15,P3=0.85得: I = −Log2 (0.15) = 2.737 取L=3,将消息X3的起点P3=0.85用二进制表示为
p A = A
完成迭代计算后返回第二步; (4)读入的码元为1,则区间的起点右移Ap,区间 的宽度缩短为A(1-p),用公式 P = P + Ap 完成迭代计算后返回第二步;
A = A(1− p)
(5)根据最终区间宽度A,通过2-L≤A<2-(L-1)求得 码字长度L,然后将区间起点P截取小数点后的L 位,剩余部分如果不为零,则进位到小数点后的 第L位,便得到最终编码结果.
算术编码具体过程
设消息Xk的概率为pk,其对应区间为[Pk-1,Pk) 计算Xk的信息量I(Xk),取 I(Xk)≤L<I(Xk)+1 的整数L,再将Xk的起点Pk用二进制小数表示保 留小数点后L位,将后面的余数进位到小数点后 第L位,得到的小数C就是消息Xk的算术编码结果.
算术编码的例子
[例1]某个信源有四个消息X0,X1,X2,X3,其概率 分别为: p0=0.20,p1=0.30,p2=0.35,p3=0.15 用线段长度表示如下:
(4)进入分割点右边的区间,若该区间宽度小于 码字最低位的值,则译码结束;否则译码输出码 元“1”,然后将分割点作为新的区间起点,使用 迭代公式A=A(1-p)进行计算后返回第二步; (5)进入分割点左边的区间,若该区间宽度小于 码字最低位的值,则译码结束;否则译码输出码 元“0”,然后维持区间起点不变,使用迭代公式 A=Ap进行计算后返回第二步.
ABCA
ABCA
10B
LZW解码算法 LZW解码算法
(1)字典初始化:将字典的前256给位置分配给 256个单字节字符. (2)动态数据初始化:初始化新单词存放位置指 针P,将它指向字典的第一个空位置;读入压缩 文件的第一个码字,由于第一个码字必定是一 个单字符,可以从初始字典中查表得到,译码输 出,并记忆它的码字N. (3)如果压缩文件没有码字,则解码结束,否则 继续. (4)如果读入的码字是无效码字(FFF),则解码 结束,否则继续.