分布式算术编码
分布式视频编解码的理论和算法研究

分布式视频编解码的理论和算法研究
分布式信源编解码技术是一种新的信源压缩技术,这项技术是基于早在20世纪70年代就提出的Slepian-Wolf和Wyner-Ziv理论。
虽然Slepian-Wolf和Wyner-Ziv理论已经有30多年的历史,但是直到本世纪初,才开始有分布式信源编解码的具体实施方案的提出。
利用分布式信源编解码的特征,研究人员对分布式视频编解码进行研究,并且设计了一系列实际的分布式视频编解码器。
分布式视频编解码代表了和传统视频编解码截然相反的思路。
传统的视频编解码由一个高复杂度的编码器和一个低复杂度的解码器构成。
而分布式视频编解码把计算复杂度从编码端移到了解码端,从理论上限而言这种转换不是以牺牲压缩性能为代价,同时还拥有了从本质上抗传输错误的能力。
但是就实际系统而言,分布式视频编解码的率失真性能虽然比传统的帧内编码优越,和基于运动补偿的帧间编码有较大性能差距。
分布式视频编解码技术非常适合于移动多媒体应用(例如802.11,移动电话或者视频传感器网络)。
在这些场合的应用存在着如下的要求:(1)由于电池供电能力的限制,需要较低的计算复杂度;(2)由于无线带宽的限制,需要较高压缩效率的编码策略;
(3)由无线接入决定了需要对信道传输错误的鲁棒性。
本文介绍了分布式信源编解码的基本概念和理论基础,同时介绍和研究了分布式信源编解码技术的实现与信道编码的密切关系。
笔者归纳了分布式视频编解码技术的基本思路和最新研究成果,并总结了前人从信息论的角度对分布式视频编解码技术和传统的预测编码技术的比较。
基于上述研究基础,笔者设计了一套分布式视频编解码系统,并对其中每个模块的设
计原理和性能表现做了深入分析。
算术编码工作原理

算术编码工作原理在给定符号集和符号概率的情况下,算术编码可以给出接近最优的编码结果。
使用算术编码的压缩算法通常先要对输入符号的概率进行估计,然后再编码。
这个估计越准,编码结果就越接近最优的结果。
例: 对一个简单的信号源进行观察,得到的统计模型如下:∙60% 的机会出现符号中性∙20% 的机会出现符号阳性∙10% 的机会出现符号阴性∙10% 的机会出现符号数据结束符. (出现这个符号的意思是该信号源'内部中止',在进行数据压缩时这样的情况是很常见的。
当第一次也是唯一的一次看到这个符号时,解码器就知道整个信号流都被解码完成了。
)算术编码可以处理的例子不止是这种只有四种符号的情况,更复杂的情况也可以处理,包括高阶的情况。
所谓高阶的情况是指当前符号出现的概率受之前出现符号的影响,这时候之前出现的符号,也被称为上下文。
比如在英文文档编码的时候,例如,在字母Q 或者q出现之后,字母u出现的概率就大大提高了。
这种模型还可以进行自适应的变化,即在某种上下文下出现的概率分布的估计随着每次这种上下文出现时的符号而自适应更新,从而更加符合实际的概率分布。
不管编码器使用怎样的模型,解码器也必须使用同样的模型。
一个简单的例子以下用一个符号串行怎样被编码来作一个例子:假如有一个以A、B、C三个出现机会均等的符号组成的串行。
若以简单的分组编码会十分浪费地用2 bits来表示一个符号:其中一个符号是可以不用传的(下面可以见到符号B正是如此)。
为此,这个串行可以三进制的0和2之间的有理数表示,而且每位数表示一个符号。
例如,“ABBCAB”这个串行可以变成0.011201(base3)(即0为A, 1为B, 2为C)。
用一个定点二进制数字去对这个数编码使之在恢复符号表示时有足够的精度,譬如0.001011001(base2) –只用了9个bit,比起简单的分组编码少(1 – 9/12)x100% = 25%。
这对于长串行是可行的因为有高效的、适当的算法去精确地转换任意进制的数字。
算术编码 ppt课件

采用固定模式符号概率分配如下:
字符: a
e
i
o
u
概率: 0.2 0.3
0.1
0.2
0.2
范围:[0,0.2) [0.2,0.5) [0.5,0.6)[0.6,0.8)[0.8,1.0)
编码数据串为eai。令high间隔的高端, 符分配的 间隔低端, rangehigh为编码字符分配的间隔高端。
o 0.6
i 0.5
e
0.2 a
0
e 0.5 u o i
e
ea 0.26 u o i e
a 0.2
a 0.2
eai 0.236 u
o i
e
a 0.23
ppt课件
9
9
算术编码应用(2)
ppt课件
10
10
算术编码
设定初值
high=1.0 low=0 length=high-low=1.0
ppt课件
5
5
算术编码应用(1)
初始high=1,low=0, range=high-low, 一个字符编码后新的low和high按下式计算: low=low+range×rangelow; high=low+range×rangehigh。
(1) 在第一个字符e被编码时, e的rangelow=0.2, rangehigh=0.5, 因此: low=0+1×0.2=0.2 high=0+1×0.5=0.5 range=high-low=0.5-0.2=0.3 此时分配给e的范围为[0.2, 0.5)
ppt课件
1
1
算术编码特点
非分组码,它是从全序列出发,考虑符号之间的依赖关系。 经香农-费诺-埃利斯编码推广而来的,直接对信源符号序列
分布式信源编码关键技术研究

分布式信源编码关键技术研究分布式信源编码关键技术研究随着信息通信技术的快速发展和互联网的广泛应用,大规模数据的传输和存储需求持续增长。
为了实现高效、可靠的数据传输和存储,分布式信源编码作为一种重要的技术手段被广泛关注和研究。
本文将重点探讨分布式信源编码的关键技术,并对其在网络通信中的应用进行分析和讨论。
一、分布式信源编码的概念及原理分布式信源编码是一种利用分布式计算和编码技术,对数据进行切割、压缩和分发,以实现高效传输和存储的技术。
与传统的源编码不同,分布式信源编码将编码和传输过程分离,可以充分利用网络中各个节点的计算和存储资源,提高传输效率和稳定性。
其原理可以简单描述如下:1. 数据切割和压缩:将待传输的数据切割成多个子块,并对每个子块进行压缩,以减小传输带宽和存储空间的需求。
2. 信源编码:利用纠错编码或者压缩编码对每个子块进行编码,增加数据冗余度以提高数据传输的可靠性和抗丢包能力。
3. 分布式计算和传输:将编码后的数据分发到网络中的各个节点,通过分布式计算和传输协同工作,实现数据的高效传输和存储。
二、分布式信源编码的关键技术1. 数据切割和压缩技术数据切割和压缩是分布式信源编码的基础。
数据切割技术主要包括块切割和流切割两种方式。
块切割是将待传输的数据按照固定大小切割成若干个块,而流切割则是根据数据的特性进行切割,以达到更好的传输效果。
数据压缩技术可以采用常见的压缩算法,如Huffman编码、Lempel-Ziv-Welch编码等,以减小数据的大小。
2. 信源编码技术信源编码技术是分布式信源编码的核心。
常用的信源编码技术包括纠错编码和压缩编码。
纠错编码通过添加冗余信息实现对数据传输错误的检测和纠正,如海明码、Reed-Solomon码等;压缩编码则是通过对数据进行重新编码,以减小数据的大小和冗余度,如LZ77、算术编码等。
在分布式信源编码中,可以根据数据的特性和传输需求选择合适的信源编码方式。
算术编码详细讲解

算术编码详细讲解
嘿,朋友们!今天咱来唠唠算术编码。
这算术编码啊,就像是一个神奇的魔法盒子,能把信息压缩得紧紧的。
你看啊,平时咱们说话、写东西,那字啊、词啊就像一群小精灵,到处乱跑。
可算术编码呢,就像是个厉害的精灵管理员,能把它们整整齐齐地归置起来,还不占太多地方。
比如说吧,咱平时发消息,那字打得老长了,要是用了算术编码,嘿,说不定一下子就变短了好多呢!这多省事儿啊!
它不是那种简单粗暴的压缩方式,而是很精细、很巧妙的。
就好像你收拾房间,不是随便把东西乱扔,而是仔细地分类、摆放,让每样东西都有自己合适的位置。
算术编码就像是个聪明的小工匠,一点点地雕琢着信息,让它们变得更紧凑、更精炼。
你能想象到吗,那么多的信息,经过它的手,就变得小巧玲珑啦!
而且哦,算术编码还特别可靠。
就跟你有个特别靠谱的朋友似的,你把事情交给他,就特别放心。
它不会随便弄丢你的信息,也不会弄错,总是能把信息原原本本地给你保留下来。
咱再打个比方,算术编码就像是个厉害的厨师,能把一堆食材变成一道美味又精致的菜肴。
它把那些信息“加工”一下,让它们变得更有价值,更方便我们使用。
你说这算术编码神奇不神奇?它在信息处理的世界里,可真是个大功臣呢!能让我们的信息传输更快、更省空间。
所以啊,大家可别小瞧了这算术编码,它虽然不声不响的,但作用可大着呢!它就像一个隐藏在幕后的高手,默默地为我们的信息世界贡献着力量。
以后再遇到信息压缩的问题,咱就可以想到这个厉害的算术编码啦,它肯定能帮上大忙!怎么样,是不是对算术编码有了更深的认识呀?。
算术编码原理

算术编码原理算术编码是一种将字符序列压缩成一个浮点数的方法,它的压缩效率比传统的哈夫曼编码更高,因为它可以使用原本不是整数的浮点数表示更多的信息。
本文将介绍算术编码的原理,分为以下几个部分:一、概念解释1.1 算术编码的基本概念算术编码是在一个有限长度的区间内对字符序列进行编码的方式,其中每个字符对应的编码值是一个实数。
编码值在编码区间内是唯一的,且编码值可以通过解码得到压缩前的字符序列。
1.2 字符频率在进行算术编码时,需要知道每个字符在字符序列中出现的频率,频率可以是小数或整数,且每个字符的频率之和必须为1。
二、算法过程2.1 编码过程算术编码主要分为以下几个步骤:(1)定义初始编码区间根据字符频率,可以计算出每个字符的编码区间,例如字符A的编码区间是[0,0.3),字符B的编码区间是[0.3,0.5),字符C的编码区间是[0.5,0.6),字符D的编码区间是[0.6,1]。
(2)收缩编码区间根据每个字符的频率,计算每次的编码区间长度。
例如,如果字符序列是ABCD,且字符频率分别为0.3、0.2、0.1和0.4,那么初始编码区间的长度为1,第一次收缩后,区间缩小到0.3,表示字符A出现的概率为0.3。
第二次收缩后,区间缩小到0.06,表示字符AB出现的概率为0.06。
一直推进到最后,得到压缩后的编码值。
2.2 解码过程解码过程需要使用压缩后的编码值和字符频率进行计算。
例如,解码一个值为0.2的字符时,需要找到0.2所在的字符区间,然后计算该区间对应的字符。
三、算法特点3.1 压缩率高由于算术编码可以对每个字符对应的区间进行无限分割,因此可以表示更多的信息。
相比于传统的哈夫曼编码,算术编码可以达到更高的压缩率。
3.2 复杂度高虽然算术编码的压缩效果好,但是编码和解码的计算复杂度非常高,因此需要配合分治法、搜索算法等其它算法来减少计算量。
3.3 广泛应用算术编码在数据压缩、无损图像压缩、音频压缩、视频压缩等多个领域都有广泛应用。
分布式视频编码概述与应用(来自百度百科)和Wyner-ZivCoding算法
分布式视频编码概述与应⽤(来⾃百度百科)和Wyner-
ZivCoding算法
分布式视频编码
分布式视频编码(Distributed Video Coding)基于Slepian-Wolf理论和Wyner-Ziv理论,对两个或多个独⽴同分布的信源进⾏独⽴编码,然后由单⼀解码器利⽤信源之间的相关性对所有编码的信源进⾏联合解码。
它与传统的视频编码技术的区别在于:传统的技术标准通常都⽤于在编码端充分挖掘视频信号的冗余信息,因此编码复杂度⼀般是解码复杂度的5~10倍,适合于对视频信号⼀次编码、多次解码的场合(如视频⼴播、、存储等);⽽分布式视频编码具有编码器复杂度低、编码端耗电量低、好等特点,适合于⼀些计算能⼒、、耗电量都受限的⽆线视频终端(如、视频等)。
算术编码例题详解
算术编码例题详解算术编码是一种数学运算技术,它通过使用特定的算法、编码表和数字来对数据进行编码和解码。
它通常被用于安全传输,信息加密和解密,以及文件传输等任务中。
它的原理是分布信息的数字编码,以保证安全传输。
本文将介绍几种常见的算术编码例题及其解决方案。
第一个算术编码例题是:给定一个五位数,让用户完成这样的计算:将每一位数整体视为一个整体,最左边的位置为个位,最右边的位置为十位,然后用位数乘以位数,最后将所得结果相加,最终得出答案。
例如,给定一个五位数为12345,那么此题的答案就是:1*1+2*2+3*3+4*4+5*5=55。
第二个算术编码例题是:给定两个正整数A和B,要求用户计算A+B的和。
要解决这个问题,首先要将A和B的每一位数分别相加,这样就得到一个结果,然后将结果的每一位数相加,最终得出答案。
例如,如果给定A=12,B=15,那么A+B=12+15=27,最终得出答案为27。
第三个算术编码例题是:给定两个正整数X和Y,要求用户计算X-Y的差。
要解决这个问题,首先要将X和Y的每一位数分别相减,这样就得到一个结果,然后将结果的每一位数相减,最终得出答案。
例如,如果给定X=20,Y=7,那么X-Y=20-7=13,最终得出答案为13。
以上是我们介绍的三个算术编码例题及其解答,它们可以帮助用户更好地理解算术编码,并能够更好地运用它来处理日常应用中的各种数据编码和解码任务。
在现代社会,算术编码既能够提高数据安全,又能保护用户的隐私。
因此,给用户提供一些算术编码的基本原理和例题解答,对用户来说是很有帮助的。
总之,算术编码是一种重要的数据编码技术,它的应用越来越广泛,大大提高了数据的安全性和隐私性。
本文重点介绍了几种常见的算术编码例题及其解答,以期帮助用户在日常应用中更好地运用算术编码技术。
算术编码译码
算术编码译码
算术编码是一种无损数据压缩方法,也是一种熵编码的方法。
和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足0.0≤n≤1的数。
算术编码是将一个符号序列表示成0和1之间的一个间隔(Interval),并用该间隔内的一个浮点小数表示,再将该小数转换成二进制数。
符号序列越长,对应的间隔越小,表示这一间隔的二进制位数就越多。
算术编码的译码过程是:根据算术编码的原理,将输入的二进制序列解码为原始的符号序列。
具体步骤如下:
1.将输入的二进制序列按照一定的精度进行解码,得到一个浮点
小数。
2.根据解码后的浮点小数,计算出对应的符号序列。
3.将符号序列按照原始的顺序排列,得到原始的符号序列。
需要注意的是,由于C++小数位的精度有限,在信源符号过长时容易因为精度不够导致编码错误,固对一段信源采用分组编译码(每组8个)。
在译码时,需要将每组二进制序列分别进行解码,然后再将每组符号序列按照原始的顺序排列。
算术编码
算术编码原理在给定符号集和符号概率的情况下,算术编码可以给出接近最优的编码结果。
使用算术编码的压缩算法通常先要对输入符号的概率进行估计,然后再编码。
这个估计越准,编码结果就越接近最优的结果。
例: 对一个简单的信号源进行观察,得到的统计模型如下:▪60% 的机会出现符号中性▪20% 的机会出现符号阳性▪10% 的机会出现符号阴性▪10% 的机会出现符号数据结束符. (出现这个符号的意思是该信号源'内部中止',在进行数据压缩时这样的情况是很常见的。
当第一次也是唯一的一次看到这个符号时,解码器就知道整个信号流都被解码完成了。
)算术编码可以处理的例子不止是这种只有四种符号的情况,更复杂的情况也可以处理,包括高阶的情况。
所谓高阶的情况是指当前符号出现的概率受之前出现符号的影响,这时候之前出现的符号,也被称为上下文。
比如在英文文档编码的时候,例如,在字母Q或者q出现之后,字母u出现的概率就大大提高了。
这种模型还可以进行自适应的变化,即在某种上下文下出现的概率分布的估计随着每次这种上下文出现时的符号而自适应更新,从而更加符合实际的概率分布。
不管编码器使用怎样的模型,解码器也必须使用同样的模型。
一个简单的例子以下用一个符号串行怎样被编码来作一个例子:假如有一个以A、B、C三个出现机会均等的符号组成的串行。
若以简单的分组编码会十分浪费地用2 bits来表示一个符号:其中一个符号是可以不用传的(下面可以见到符号B正是如此)。
为此,这个串行可以三进制的0和2之间的有理数表示,而且每位数表示一个符号。
例如,―ABBCAB‖ 这个串行可以变成0.011201(base3)(即0为A, 1为B, 2为C)。
用一个定点二进制数字去对这个数编码使之在恢复符号表示时有足够的精度,譬如0.001011001(base2) –只用了9个bit,比起简单的分组编码少(1 –9/12)x100% = 25%。
这对于长串行是可行的因为有高效的、适当的算法去精确地转换任意进制的数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26卷第5期 2010年10月 上海电 力 学 院学报
Journal of Shanghai University of Electric Power Vo1.26。No.5 0ct. 2010
文章编号:1006—4729(2010)05—0461—04
分布式算术编码 逄玉叶 (上海电力学院计算机与信息工程学院,上海200090)
摘要:围绕分布式算术编码的原理,介绍了两种主要的针对非对称Slepian-wolf问题的分布式算术编码实 现方案——分布式重叠算术编码和分布式类算术编码.分析了其编码原理,比较了这两种方案在分布式信源 编码应用中的优缺点;然后介绍了用分布式重叠算术编码解决对称Slepian-Wolf问题的方案;最后,对分布式 算术编码的发展前景作了展望.
关键词:分布式信源编码;分布式算术编码;Slepian—wolf问题 中图分类号:TNgl1;TN919.3 1 文献标识码:A
Distributed Arithmetic Coding PANG Yu—ye (School ofComputer and Information Engineering,Shanghai University of Electric Power,Shanghai 200090,China)
Abstract:The coding theory of distributed arithmetic coding is introduced including two implements for asymmetric Slepian-Wolf problem,namely,distributed arithmetic coding and distributed quasi—arithmetic coding.The coding theories are analyzed.The two implements for asymmetric Slepian—Wolf problem of distributed SOurce coding are compared.Then the implement of DAC for symmetric Slepian—Wolf problem is introduced.Finally,development prospects of distributed arithmetic coding are given. Key words:distributed source coding;distributed arithmetic coding;Slepian—Wolf problem
分布式信源编码(Distributed Source Coding, DSC)是研究两个或两个以上统计相关的信源必 须进行独立编码的问题.它主要应用在无线传感 器网络和视频编码领域.分布式信源编码是在 Slepian—Wolf理论¨ 的基础上发展起来的.该理论 证明,如果两个相关信源 和y的编码码率 和Ry满足R +Ry≥H(X,l,),R ≥H(X/Y),Ry ≥ (X/Y),并且能进行联合解码,那么即使这两 个编码器之间不进行通信,也可以实现 和l,的 无损压缩.上述理论描述的问题也被称为对称的 Slepian.Wolf问题.还有一类问题被称为非对称的 Slepian—Wolf问题,其中的第2个信源】,用其熵日 (y)进行编码,而第1个信源 用条件熵H( 】,)进行编码,而在解码端,用 的压缩序列和边 信息】,来估计 后来,WYNER和ZIV又在此理 论的基础上,将其扩展到了连续信源的有损编码 区域,建立了在解码端使用边信息的有损分布式 编码率失真理论l2 J.这一理论证明,在进行有损
收稿日期:2010—07—12 通讯作者简介:逢玉叶(1976一),女,博士,讲师,山东诸城人.主要研究方向为联合编码和图像通信.E-mail: pangyuye@1 63.com. 上海电力学院学报 压缩时,独立编码和联合解码同样可以得到最优 的率失真性能.至此,分布式信源编码的理论体系 被建立起来. Slepian—Wolf问题的编码可以用信道码实现, 也可以用信源码实现.但已有的很多实现方案多 数是用信道码实现的.如第一个针对非对称 Slepian—Wolf问题的实现方案DISCUS-3 采用传输 信道码的校验子方法实现信源压缩.近来更多的 实现方案采用了接近信道容量的信道码,如Turbo 码 和LDPC码 J.但是这些信道码的优良性能 是在信源序列足够长时取得的,通常要大于1O 个信源符号.同时,信道码编码不能考虑信源的概 率和信源的相关性.因此,如何利用熵编码来解决 Slepian.Wolf问题成为一个新的研究方向.分布式 算术编码就是其中的一个研究热点.初步的研究 已经表明,相对于信道编码,分布式算术编码不仅 能够利用信源的概率和自身的相关性,而且对于 短信源也可以取得优良的性能. 本文首先介绍了分布式算术编码的原理,然 后分析和讨论了当前各种实现方案,指出了其中 存在的问题,最后对其前景作了分析和展望.
1分布式算术编码原理 当前分布式算术编码有两种实现方法:一种 采用了重叠算术编码;另一种采用了类算术编码. 由于其实现差别较大,本文将对其分别介绍.
1.1分布式重叠算术编码 分布式重叠算术编码(DAC) 是由 GRANGETYO提出来的.本文以二进制信源符号 序列为例介绍其原理,如图1所示.
, — 一,一、———— =—————————一 、 o 这
0 ~ ,一 I overlapped
1 0 强
图1 DAC编码过程 设X=[ , ,…,置,…, 一 ]表示二进制 符号序列,其符号概率为P。=P(X =0),P =P (置=O)=1一P。;l,=[ , ,l,2,…, 一,]表示与 对应的边信息序列.传统的算术编码将初始编
码区间设定为[0,1),然后根据信源符号置当前 编码区间分割两个相邻的子区间,其长度分别为 P。和P ,代表置的子区间被选为下一次要分割的 编码区间,这个过程如此反复,直到Ⅳ个信源符 号处理完毕为止.最终区间,可以表示该信源序 列,通常用区间,中的长度不超过一log:I,I比特 的码字C 来表示,其中l,l表示最终区间的长度. 如此得到的平均码率通常大于或等于信源的熵 H. 对于分布式重叠算术编码,尽管初始区间也 设为[0,1),而且编码过程与算术码相同,但信源 概率已经进行了修正,使得 。≥p。, ≥p .而要
把P一。和 放在[0,1)内,必然会有部分区间重 叠.解码时如果没有其他信息的帮助,这种区间重 叠必然引起解码的不确定.而在Slepian—Wo/f问 题中,不仅可以在编码端利用这种区间重叠进一 步压缩信源,而且可以在解码端利用边信息帮助 解码.实际上,分布式重叠算术编码中的信源符号 概率修正是根据压缩码率的需要设定的.通常设 = ,
O/ ≥1,使 。+ 。≥1,则平均码率可以表
示为: 1 =一∑Pi(1og2Pi+log2 )=
I=0 1 ∑p (r 一 ) (1)
式中: ——第i个输入符号的二进制表示所节 省的比特数. 如果令 /r =k,0≤.j}≤1,且k为一个常数, 也就是使这种不确定性在所有的比特中均匀分 布,从而有a =Pi-‘.因此,平均码率可以进一步简 化为: 1 =一(1-k)∑pilog2pl=(1一|j})日(2)
从式(2)可以看出,可以任意选择常数k来 得到期望的压缩码率. 分布式重叠算术码的解码可以直接采用序列 译码算法,只是当解码区间落人重叠区域时,需要 存储2条备择路径,直到能确定解码符号为止.
1.2分布式类算术码 分布式类算术编码(DQAC) 以类算术码编 码为基础,用于实现非对称Slepian—Wolf问题,可 适应于无记忆信源和有记忆信源.它将传统算术 逢玉叶:分布式算术编码 编码的编码区间整数化,限定了不能直接产生输 出的跟随比特值的最大值,同时考虑了信源的相 关性,从而得到一个有限状态机表示的类算术码. 类算术码的编码状态可以由{0,N,厂,s}来表 示,其中Ⅳ表示初始区间可以表示的最大值,其 大小决定了编码器精度,,表示允许跟随比特的 最大值,s表示前一个编码符号.图2为用符号a 和b构成的具有一阶马尔科夫特性的二进制信源 序列进行编码的有限状态机.其中,大概率符号的 概率为P=0.8,信源的相关系数为P =0.3,N: 8 =1.其编码过程分为以下几个步骤: (1)初始化状态区间为{0,8,0,Null}; (2)根据信源概率P当前编码区间 被分成 两部分,即 =[ ,u ]和, =[z ,u ]; (3)对区间 和 根据需要进行归一化调 整; (4)将得到两个状态{z。,u。,f,s}和{Z , ,f, s},如果这些状态从未出现过,则将其加入状态机 中最为新的状态,否则直接到(5). (5)重复(2),(3),(4),直到没有新的状态 产生为I匕. b/1 图2 DQhC编码状态机 为了得到需要的分布式信源压缩码率,分布 式类算术码采用了删除比特的方式.删除间隔由 理论码率R ,期望码率R。,信源序列的长度L 和 压缩后的实际码长 。来确定.因为有r(R。一R。) £。]个比特需要被删除,则实际删除间隔为L( 一R。) 。/£ 一l J个比特.但如果( 。一尺 )L。>L / 2,删除间隔将变为不要删除的比特位置. 由于采用状态机表示后,算术码实际上变成 了变长输入、变长输出的变长码.因此,对Viterbi 算法或BCJR算法改进后,可以借助边信息和信 源的相关性对分布式类算术码进行解码. 1.3分布式重叠算术编码与分布式类算术编码 比较 DAC和DQAC都是以算术码为基础,通过改 变所得的期望码率实现了分布式编码的目的. DAC的码率改变是在编码的过程中通过直接调 整信源的概率实现的,其码率改变只涉及一个参 数,非常灵活,而且可以达到任意期望的码率.而 DQAC的码率改变是通过删除比特实现的,删除 的方式比较灵活,对解码的影响不大.在编码方 面,DAC根据传统的算术码编码实现;而DQAC 依据QAC实现,尽管QAC的实现相对简单,但如 果把分布式的方案运用到已有的视频或图像压缩 方案中,必须对熵编码重新设计,而DAC则不需 要进行任何修改.在解码方面,由于DAC是在二 叉树中搜索最佳路径,就容易造成因计算复杂度 和存储能力的限制导致解码失败;而DQAC因为 使用了有限状态机模型,可以利用Viterbi算法或 BCJR算法进行解码,使解码变得简单. 实际上,DQAC也可以利用类似DAC编码过 程中的重叠来更新状态中的编码区间,从而获得 期望的码率,而不需要通过删除比特来实现.