算术编码二进制例题a1a2a3a4_算术编码与lz编码.ppt

算术编码与LZ编码 第九讲 算术编码 前面所讨论的无失真编码,都是建立在信源符号与码字一一对应的基础上,这种编码方法通常称为块码或分组码,此时信源符号一般是多元的。 如果要对二元序列进行编码,则需采用合并信源符号方法,把二元序列转换成多值符号,转换时二元符号之间的相关性不予考虑,转换后这些多值符号之间的相关性也不予考虑。这就使信源编码的匹配原则不能充分满足,编码效率一般不高。 为了克服这种局限性,需要跳出分组码范畴,从整个符号序列出发,采用递推形式进行编码。 从整个符号序列出发,将各信源序列的概率映射到[0,1) 区间上,然后选取区间内的一点(也就是一个二进制的小数)来表示信源序列。 算术编码基本思想 设信源字母表为{a1, a2},概率p(a1)=0.6, p(a2)=0.4, 将[0,1]按概率比例分为区间[0,0.6],[0.6,l]。 p(a1) p(a2) 0 0.6 1 0 0.36 0.6 0.84 1 p(a1a1) p(a1a2) p(a2a1) p(a2a2) 随着序列的长度不断增加,C所在区间的长度就越短,也就可以更加精确地确定C的位置 设信源符号集A={a1,a2,…,an}, 其相应概率分布为pi, pi >0 (i=1,2, …,n), 定义信源符号的累积概率(分布函数)为 P1= 0; P2= p1 ; P3= p1+p2 ; … 累积概率 r=1,2, …,n pr = Pr+1 - Pr P1 p1 P2 P3 P4 1 p2 p3 … … 0 当A={0,1}二元信源时,P(0)= 0 ; P(1) = p0 P(0) P(1) 0 1 p0 p1 二元序列的累积概率 引例 设有二元序列S=011,求S的累积概率 P(S)=p(000)+ p(001)+ p(010) 若S后面接0 P(S0)=p(0000)+ p(0001)+ p(0010)+p(0011)+ p(0100)+ p(0101) =p(000)+ p(001)+ p(010) =P(S) 若S后面接1 P(S1)=p(0000)+ p(0001)+ p(0010)+p(0011)+ p(0100)+ p(0101)+ p(0110) =P(S)+ p(0110) =P(S)+p(S)P1 二元序列的累积概率 P(Sr)=P(S)+p(S)Pr 0110 0111 P(0) 0 P(1) 1 p0 设符号序列S = 011 p1 P(0) P(1) p(00)=p(0)P1 P(01) p(01) P(01) P(1) P(011) p(010)=p(01)P1 p(011) 二元序列的累积概率 P(Sr)=P(S)+p(S)Pr 累积概率递推公式 一般多元信源序列的累积概率递推公式 序列的概率(所对应区间的宽度)递推公式 实际中,求序列累积概率只需两个存储器,起始时可令: A(Φ) =1, C(Φ) = 0 每输入一个符号,存储器C和A 就按照上式更新一次,直至符号输入完毕,这时存储器C的内容即为该序列的累积概率。 累积概率递推公式 累积概率递推计算 注意:计算过程中,每输入一个符号只要进行乘法和加法运算。 通过信源符号序列累积概率计算,把区间分割成许多小区间,不同的信源符号序列对应不同的区间为[P(S), P(S) + p(S)) ,可取小区间内的一点来代表这序列。 将符号序列的累积概率写成二进位小数,取小数点后L位,若后面有尾数,就进位到第L位,即 算术编码 若P(S) = 0L=3 则C = 0.110 算术编码的唯一可译性 由码C的形成方法, 又 可知 可知 由此可见C必在 ,因而唯一可译。 对于长序列,p(S)必然很小,L与概率倒数对数几乎相等,也就是说取整造成的差别很小,因而平均码长将接近于信源熵H(S) 设二元无记忆信源S={0,1},p(0)=1/4,p(1)=3/4。 S对其做算术编码。 P(S) = p + p + p + …    + p(111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值