
《第三章 数据压缩》由会员分享,可在线阅读,更多相关《第三章 数据压缩(49页珍藏版)》请在文档大全上搜索。
1、主要内容主要内容n3.1 数据压缩技术概述n3.2 熵的概念n3.3 无损压缩和常用无损压缩算法。n香农范诺编码n霍夫曼编码和算术编码n算术编码n行程编码(RLE)n词典编码3.1多媒体数据压缩技术概述多媒体数据压缩技术概述n数据压缩就是用比较少的数据量表达原始的图像或声音等信息。n多媒体数据压缩的必要性n数据存储容量n传输带宽武汉书武汉书P793.1.1多媒体数据冗余类型多媒体数据冗余类型n多媒体数据有大量的冗余数据,如将重复的数据,改用数学方法表示,就可以减少数据量。n将人的眼睛和耳朵感觉不到的信息去掉,也可以压缩数据。数据冗余类型有六种:武汉书武汉书P793.1.1多媒体数据冗余类型多媒
2、体数据冗余类型n空间(空域)冗余如一幅图像,规则物体和规则背景的表面物理特性具有相关性。n时间(时域)冗余如图像序列的后一幅图像与前一幅之间有较大的相关。人在说话时声音的音频是一个连续渐变的过程,也存在时间冗余。武汉书武汉书P793.1.1多媒体数据冗余多媒体数据冗余类型类型n信息熵冗余(编码冗余)信息熵是指一组数据所携带的平均信息量。n结构冗余数字化图像中的物体表面纹理(如草席的纹理)等结构,存在冗余。3.1.1多媒体数据冗余类型多媒体数据冗余类型n知识冗余许多图像的理解与某些基础知识有相关性,如人脸的结构可由先验知识和背景知识得到。n视觉冗余人类的视觉系统对于图像的注意是非均匀和非线性的,
3、视觉系统并不是图像的任何变化都能感知的。n按解码后的数据与原始数据一致性分类:按解码后的数据与原始数据一致性分类: 无损压缩无损压缩是指使用压缩后的数据进行重构是指使用压缩后的数据进行重构( (或者叫做或者叫做还原,解压缩还原,解压缩) ),重构后的数据与原来的数据完全相同;无,重构后的数据与原来的数据完全相同;无损压缩用于要求重构的信号与原始信号完全一致的场合。损压缩用于要求重构的信号与原始信号完全一致的场合。 有损压缩有损压缩是指使用压缩后的数据进行重构,重构后的是指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响人对原始资料表达数据与原来的数据有所不同,但不影响人对原
4、始资料表达的信息造成误解。有损压缩适用于重构信号不一定非要和的信息造成误解。有损压缩适用于重构信号不一定非要和原始信号完全相同的场合。原始信号完全相同的场合。新一代数据压缩方法有矢量量化和子带编码,基于模新一代数据压缩方法有矢量量化和子带编码,基于模型的压缩,分形压缩和小波变换压缩等。型的压缩,分形压缩和小波变换压缩等。3.1.2数据压缩方法分类数据压缩方法分类武书武书P803.1.2数据压缩方法分类数据压缩方法分类n按方法的原理分类:n 信息熵编码n 预测编码n 变换编码n 量化与向量量化编码n 频带编码n 模型编码1. 基于知识的编码武汉书武汉书P803.1.3数据压缩方法的基本原理数据压
5、缩方法的基本原理n统计冗余度的压缩n空间冗余度的压缩n时间冗余度的压缩n视觉冗余度的压缩武汉书武汉书P81压缩比要大压缩比要大恢复后的失真小恢复后的失真小压缩算法要简单、速度快压缩算法要简单、速度快压缩能否用硬件实现压缩能否用硬件实现3.1.4 数据压缩技术实现的衡量标准数据压缩技术实现的衡量标准数据压缩的性能指标数据压缩的性能指标算法的编码效率算法的编码效率编码图像的质量编码图像的质量算法的适用范围算法的适用范围算法的复杂度算法的复杂度n信源被抽象为一个随机变量序列(随机过程)。信源被抽象为一个随机变量序列(随机过程)。n如果信源输出的随机变量取值于某一连续区间,如果信源输出的随机变量取值于
6、某一连续区间,就叫做就叫做连续信源连续信源。比如语音信号。比如语音信号X(t)。n如果信源输出的随机变量取值于某一离散符号如果信源输出的随机变量取值于某一离散符号集合,就叫做集合,就叫做离散信源离散信源。比如平面图像。比如平面图像X(x,y)和电报。和电报。信源信源 X1, X2, X3, X43.2熵的概念熵的概念3.2.1 决策量、信息量和熵决策量、信息量和熵n香农信息论把一个事件(字符香农信息论把一个事件(字符a1)所携带的所携带的信信息量息量定义为:定义为: I(a1) = log2 (1/p) = - log2 p (bit) 其中其中p p为事件发生(字符出现)的为事件发生(字符出
7、现)的概率概率nI(a1)即随机变量即随机变量X取值为取值为a1时所携带的信息量时所携带的信息量n因为因为X的信息量也是一个随机变量,所以我们的信息量也是一个随机变量,所以我们要研究它的统计特性。其数学期望为:要研究它的统计特性。其数学期望为: 称称H(X)为一阶为一阶信息熵信息熵或者简称为或者简称为熵熵(Entropy)mjmjjjjjppaIpxH11log)()(2信源的概率分布与熵的关系信源的概率分布与熵的关系n熵的大小与信源的概率模型熵的大小与信源的概率模型(分布分布)有着密有着密切的关系。是无序的表现。切的关系。是无序的表现。n最大离散熵定理最大离散熵定理:当与信源对应的字符:当与
8、信源对应的字符集中的各个字符为集中的各个字符为等概率分布等概率分布时,熵具时,熵具有极大值有极大值log2m。m为字符集中字符个数。为字符集中字符个数。mjjjppxH1log)(3.2.3 平均码长与熵平均码长与熵n如果对字符如果对字符aj的编码长度为的编码长度为Lj,则则X的平均码的平均码长为:长为:n根据前面的分析,有:根据前面的分析,有:mjjjLpL1)(1)(XHLLXHmjjjjmjjppLp121log 在在Lj log2pj时,平均码长取得极小值时,平均码长取得极小值H(X)数据冗余量数据冗余量数据的冗余量数据的冗余量(R) = 决策量决策量(H0) - 熵熵(H)例如:令a
9、,b,c为3个事件构成的数据集,它们出现的概率分别为P(a)=0.5, P(b)=0.25, P(c)=0.25则数据冗余量为R= H0-H = 1.58 1.50 =0.08熵编码熵编码n熵编码包括香农范诺编码、霍夫曼编码和算术编码,其宗旨在于找到一种编码使得平均码长达到熵极限,基本思想就是对出现概率较大的符号取较短的码长,而对出现概率较小的符号取较大的码长。3.3无损数据压缩无损数据压缩3.3.1 香农香农-范诺编码范诺编码n 在香农的源编码理论中,熵的大小表示非冗余的不可压缩的信息量。n在计算熵时,以2为底的对数时,单位就是“位bit”。n例 2.1 见书P27 压缩比的理论值 符号编码
10、 压缩比的实际值统计编码统计编码 香农香农-范诺编码范诺编码符号符号出现的次数出现的次数(p(xi)Log2(1/ p(xi)分配的分配的代码代码需要的需要的位数位数A15(0.375)1.41500030B7(0.175)2.51450114C7(0.175)2.51451014D6(0.150)2.736911018E5(0.125)3.000011115统计编码统计编码3.3.2 霍夫曼编码霍夫曼编码nHuffman(霍夫曼) 1952年问世,依据变字长编码理论n具体步骤:(1)初始化,按概率排序(2)合并概率最小的两个事件(3)重复(2),形成一棵树(4)从根节点开始分配代码(5)写出
11、每个符号的代码(6)按照香农理论计算熵P29统计编码统计编码霍夫曼编码举例霍夫曼编码举例例 2.2 见书P28符号符号出现的次数出现的次数(p(xi)Log2(1/ p(xi)分配的分配的代码代码需要的需要的位数位数A15(0.3846)1.38015B7(0.1795)2.4810021C6(0.1538)2.7010118D6(0.1538)2.7011018E5(0.1282)2.9611115统计编码统计编码局限性局限性n霍夫曼码没有错误保护功能,错误传播n可变长度码,很难随意查找压缩文件中间的内容。霍夫曼编码是自含同步的代码霍夫曼编码是自含同步的代码n虽然分配的代码长度不是固定的,但
12、编码时却不需要在生成的码流中附加同步代码。 因为解码时,可以根据码表进行译码。统计编码统计编码3.3.3 算术编码算术编码n基本思想:算术编码不是将单个信源符号映射基本思想:算术编码不是将单个信源符号映射成一个码字,成一个码字,而是把整个信源表示为实数线上而是把整个信源表示为实数线上的的0到到1之间的一个区间,其长度等于该序列的之间的一个区间,其长度等于该序列的概率,再在该区间内选择一个代表性的小数,概率,再在该区间内选择一个代表性的小数,转化为二进制作为实际的编码输出。转化为二进制作为实际的编码输出。消息序列消息序列中的每个元素都要用来缩短这个区间。消息序中的每个元素都要用来缩短这个区间。消
13、息序列中元素越多,所得到的区间就越小,当区间列中元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间。变小时,就需要更多的数位来表示这个区间。n采用算术编码每个符号的平均编码长度可以为采用算术编码每个符号的平均编码长度可以为小数。小数。统计编码统计编码算术编码举例算术编码举例符号符号00011011概率概率0.10.40.20.3初始区间初始区间0, 0.1)0.1, 0.5)0.5, 0.7)0.7, 1)P30统计编码统计编码算术编码的具体实现算术编码的具体实现n因为实际只能用有限长的寄存器,这就要求将因为实际只能用有限长的寄存器,这就要求将已编码的高位码字及时输出,
14、但又不能输出过已编码的高位码字及时输出,但又不能输出过早,以免后续运算还要调整已输出的码位。早,以免后续运算还要调整已输出的码位。(具体算法见相关参考书)(具体算法见相关参考书)n算术编码每次递推都要做乘法,所以效率比较算术编码每次递推都要做乘法,所以效率比较低。低。二进制算术编码二进制算术编码是一种实用的编码算法,是一种实用的编码算法,用移位代替了乘法,使效率大大提高。用移位代替了乘法,使效率大大提高。n自适应算术编码自适应算术编码可以在编码过程中根据符号出可以在编码过程中根据符号出现的频繁程度动态的修改分布概率,这样可以现的频繁程度动态的修改分布概率,这样可以避免在编码之前必须精确求出信源
15、概率的难题。避免在编码之前必须精确求出信源概率的难题。统计编码统计编码自适应算术编码举例自适应算术编码举例cba1.00000.66670.33330.00000.66670.58340.41670.33330.66670.63340.60010.58340.66670.65010.63900.6334c1/31/42/53/6b1/32/42/52/6a1/31/41/51/6输入序列为:输入序列为:bcc.统计编码统计编码3.3.4 行程编码(行程编码(RLE)n行程编码(行程编码(Run-Length Encoding):):它通它通过将信源中相同符号序列转换成一个计数字过将信源中相同符
16、号序列转换成一个计数字段再加上一个重复字符标志实现压缩。段再加上一个重复字符标志实现压缩。n例如:例如:RTTTTTTTTABBCDG被转换为:被转换为:R#8TABBCDG,其中其中“”作为转义字符,作为转义字符,表明其后所跟的字符表示长度。表明其后所跟的字符表示长度。n行程编码多用于行程编码多用于黑白二值图像黑白二值图像的压缩中。例的压缩中。例如如00000000111111111111000001111111被转化为被转化为一系列黑串和白串长度的编码:一系列黑串和白串长度的编码:81257。因。因为串长度并非等概率分布,所以一般要配合为串长度并非等概率分布,所以一般要配合以统计编码(以统
17、计编码(Huffman编码)。编码)。武P89,清P513.3.5 词典编码词典编码n词典编码主要利用数据本身包含许多重复的字词典编码主要利用数据本身包含许多重复的字符串的特性。符串的特性。例如:吃葡萄不吐葡萄皮,不吃例如:吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮。葡萄倒吐葡萄皮。 我们如果用一些简单的代号我们如果用一些简单的代号代替这些字符串,就可以实现压缩,实际上就代替这些字符串,就可以实现压缩,实际上就是利用了信源符号之间的相关性。字符串与代是利用了信源符号之间的相关性。字符串与代号的对应表就是词典。号的对应表就是词典。n实用的词典编码算法的核心就是如何实用的词典编码算法的核心就是如何动态地
18、形动态地形成词典成词典,以及如何选择输出格式以减小冗余。,以及如何选择输出格式以减小冗余。第一类词典编码第一类词典编码n第一类词典法的想法是企图查找正在压缩的字符序列第一类词典法的想法是企图查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,它的输出仅仅是指向早期的字符串替代重复的部分,它的输出仅仅是指向早期出现过的字符串的出现过的字符串的“指针指针”。第二类词典编码第二类词典编码n第二类算法的想法是企图从输入的数据中创建一个第二类算法的想法是企图从输入的数据中创建一个“短语词典短语词典 (dictionar
19、y of the phrases)”,这种短语可这种短语可以是任意字符的组合。编码数据过程中当遇到已经在以是任意字符的组合。编码数据过程中当遇到已经在词典中出现的词典中出现的“短语短语”时,编码器就输出这个词典中时,编码器就输出这个词典中的短语的的短语的“索引号索引号”,而不是短语本身。,而不是短语本身。3.3.5.1 LZ77算法算法nLZ77 算法在某种意义上又可以称为算法在某种意义上又可以称为“滑动窗口压滑动窗口压缩缩”,该算法将一个虚拟的,可以跟随压缩进程滑,该算法将一个虚拟的,可以跟随压缩进程滑动的窗口作为词典,要压缩的字符串如果在该窗口动的窗口作为词典,要压缩的字符串如果在该窗口中
20、出现,则输出其出现中出现,则输出其出现位置和长度位置和长度。使用固定大小窗口进行词语匹配,而不是在所有已经使用固定大小窗口进行词语匹配,而不是在所有已经编码的信息中匹配,是因为匹配算法的时间消耗往编码的信息中匹配,是因为匹配算法的时间消耗往往很多,必须限制词典的大小才能保证算法的效率;往很多,必须限制词典的大小才能保证算法的效率;随着压缩的进程滑动词典窗口,使其中总包含最近编随着压缩的进程滑动词典窗口,使其中总包含最近编码过的信息,是因为对大多数信息而言,要编码的码过的信息,是因为对大多数信息而言,要编码的字符串往往在最近的上下文中更容易找到匹配串。字符串往往在最近的上下文中更容易找到匹配串。
21、LZ77编码的基本流程编码的基本流程1、从当前压缩位置开始,考察未编码的数据,并、从当前压缩位置开始,考察未编码的数据,并试图在滑动窗口中找出最长的匹配字符串,如果试图在滑动窗口中找出最长的匹配字符串,如果找到,则进行步骤找到,则进行步骤 2,否则进行步骤,否则进行步骤 3。2、输出三元符号组、输出三元符号组 ( off, len, c )。其中其中 off 为窗口为窗口中匹配字符串相对窗口边界的偏移,中匹配字符串相对窗口边界的偏移,len 为可匹为可匹配的长度,配的长度,c 为下一个字符,即为下一个字符,即不匹配的第一个不匹配的第一个字符字符。然后将窗口向后滑动。然后将窗口向后滑动 len
22、+ 1 个字符个字符,继,继续步骤续步骤 1。3、输出三元符号组、输出三元符号组 ( 0, 0, c )。其中其中 c 为下一个字为下一个字符。然后将窗口向后滑动符。然后将窗口向后滑动 1 个字符,继续步骤个字符,继续步骤 1。书P34 LZ77算法算法LZ77编码举例编码举例AABCBBABCA步骤位置匹配串输出110, 0, A22A1, 1, B340, 0, C45B2, 1, B57AB5, 3, A书P35 位置位置 1 2 3 4 5 6 7 8 9 103.3.5.2 LZSS算法算法nLZ77通过通过输出真实字符输出真实字符解决了在窗口中出现没解决了在窗口中出现没有匹配串的问
23、题,但这个解决方案包含有匹配串的问题,但这个解决方案包含有冗余有冗余信息信息。冗余信息表现在两个方面,一是空指针,。冗余信息表现在两个方面,一是空指针,二是编码器可能输出额外的字符,这种字符是二是编码器可能输出额外的字符,这种字符是指可能包含在下一个匹配串中的字符。指可能包含在下一个匹配串中的字符。nLZSS算法的思想是如果匹配串的长度比指针本算法的思想是如果匹配串的长度比指针本身的长度长就输出指针(匹配串长度大于等于身的长度长就输出指针(匹配串长度大于等于MIN_LENGTH),),否则就输出真实字符。另否则就输出真实字符。另外要输出额外的标志位区分是指针还是字符。外要输出额外的标志位区分是
24、指针还是字符。LZSS编码的基本流程编码的基本流程1、从当前压缩位置开始,考察未编码的字符,并、从当前压缩位置开始,考察未编码的字符,并试图在滑动窗口中找出最长的匹配字符串,如试图在滑动窗口中找出最长的匹配字符串,如果匹配串长度果匹配串长度len大于等于最小匹配串长度(大于等于最小匹配串长度(len = MIN_LENGTH),),则进行步骤则进行步骤 2,否则进,否则进行步骤行步骤 3。2、输出指针二元组、输出指针二元组 ( off, len)。其中其中 off 为窗口中为窗口中匹配字符串相对窗口边界的偏移,匹配字符串相对窗口边界的偏移,len 为匹配串为匹配串的长度,然后将窗口向后滑动的长
25、度,然后将窗口向后滑动 len 个字符,继个字符,继续步骤续步骤 1。3、输出当前字符、输出当前字符c,然后将窗口向后滑动然后将窗口向后滑动 1 个字个字符,继续步骤符,继续步骤 1。LZSS编码举例编码举例位置1234567891011字符AABBCBBAABC步骤位置匹配串输出11A22AA33B44BB55C66BB(3,2)78AAB(7,3)811CC输入数输入数据流:据流:编码过程编码过程MIN_LEN =2LZSS算法算法n在相同的计算机环境下,在相同的计算机环境下,LZSS算法比算法比LZ77可获可获得比较高的压缩比,而译码同样简单。这也就是得比较高的压缩比,而译码同样简单。这
26、也就是为什么这种算法成为开发新算法的基础,许多后为什么这种算法成为开发新算法的基础,许多后来开发的文档压缩程序都使用了来开发的文档压缩程序都使用了LZSS的思想。的思想。例如,例如,PKZip, GZip, ARJ, LHArc和和ZOO等等,等等,其差别仅仅是指针的长短和窗口的大小等有所不其差别仅仅是指针的长短和窗口的大小等有所不同。同。nLZSS同样可以和熵编码联合使用,例如同样可以和熵编码联合使用,例如ARJ就与就与霍夫曼编码联用,而霍夫曼编码联用,而PKZip则与则与Shannon-Fano联联用,它的后续版本也采用霍夫曼编码。用,它的后续版本也采用霍夫曼编码。3.3.5.3 LZ78
27、算法算法nLZ78的编码思想是不断地从字符流中提取新的字的编码思想是不断地从字符流中提取新的字符串符串(String),通俗地理解为新通俗地理解为新“词条词条”,然后用,然后用“代号代号”也就是也就是码字码字(Code word)表示这个表示这个“词词条条”。这样一来,对字符流的编码就变成了。这样一来,对字符流的编码就变成了用码用码字字(Code word)去替换字符流去替换字符流(Char stream),生成生成码字流码字流(Code stream),从而达到压缩数据的目的。从而达到压缩数据的目的。nLZ78编码器的输出是编码器的输出是码字码字-字符字符(W,C)对,每次输对,每次输出一对
28、到码字流中,与码字出一对到码字流中,与码字W相对应的字符串相对应的字符串(String)用字符用字符C进行扩展生成新的字符串进行扩展生成新的字符串(String),然后添加到词典中。然后添加到词典中。LZ78编码算法编码算法步骤1:将词典和当前前缀P都初始化为空。步骤2:当前字符C:=字符流中的下一个字符。步骤3:判断PC是否在词典中 (1)如果“是”,则用C扩展P,即让P:=PC,返回到步骤2。 (2)如果“否”,则 输出与当前前缀P相对应的码字W和当前字符C, 即(W,C); 将PC添加到词典中; 令P:=空值,并返回到步骤2LZ78编码举例编码举例位置123456789字符ABBCBCA
29、BA步骤位置词典输出11A(0, A)22B(0, B)33BC(2, C)45BCA(3, A)58BA(2, A)输入数据流:输入数据流:编码过程:编码过程:3.3.5.4 LZWLZW算法算法 J.Ziv和和A.Lempel在在1978年首次发表了介绍年首次发表了介绍第二类词典编码算法的文章。在他们的研究基础第二类词典编码算法的文章。在他们的研究基础上,上,Terry A.Welch在在1984年发表了改进这种编码年发表了改进这种编码算法的文章,称为算法的文章,称为LZW 压缩编码。压缩编码。 在编码原理上,在编码原理上,LZW与与LZ78相比有如下差别:相比有如下差别: LZW只输出代
30、表词典中的字符串只输出代表词典中的字符串(String)的码的码字字(code word)。这就意味在这就意味在开始时词典不能是空开始时词典不能是空的,它必须包含可能在字符流出现中的的,它必须包含可能在字符流出现中的所有单个所有单个字符字符。即在编码匹配时,至少可以在词典中找到即在编码匹配时,至少可以在词典中找到长度为长度为1的匹配串。的匹配串。 LZW编码是围绕称为词典的转换表来完成的。编码是围绕称为词典的转换表来完成的。书P38 LZWLZW算法的词典算法的词典 LZW编码器编码器(软件编码软件编码器或硬件编码器器或硬件编码器)就是通过管就是通过管理这个词典完成输入与输出理这个词典完成输入
31、与输出之间的转换。之间的转换。LZW编码器的编码器的输入是字符流输入是字符流(Char stream),字符流可以是用字符流可以是用8位位ASCII字字符组成的字符串,而输出是符组成的字符串,而输出是用用n位位(例如例如12位位)表示的码字表示的码字流流 (Code stream),码字代表码字代表单个字符或多个字符组成的单个字符或多个字符组成的字符串字符串(String)。LZWLZW编码算法编码算法步骤1:将词典初始化为包含所有可能的单字符,当前前缀P初始化为空。步骤2:当前字符C:=字符流中的下一个字符。步骤3:判断PC是否在词典中 (1)如果“是”,则用C扩展P,即让P:=PC, (2
32、)如果“否”,则 输出与当前前缀P相对应的码字W; 将PC添加到词典中; 令P:=C,/(现在的P仅包含一个字符C)步骤4:判断是否还有码字要译 (1)如果“是” 则返回到步骤2 (2)如果“否” 则把当前的P输出,结束。LZWLZW编码举例编码举例位置123456789字符ABBABABAC输入数据流:输入数据流:编码编码过程过程书P42 步骤位置码字词典输出1A2B3C114AB1225BB2336BA2447ABA4568ABAC76-3编码结果编码结果122473LZW算法算法 LZWLZW算法得到普遍采用,它的速度比使用算法得到普遍采用,它的速度比使用LZ77LZ77算算法的速度快,
33、因为它不需要执行那么多的缀法的速度快,因为它不需要执行那么多的缀- -符串比符串比较操作。对较操作。对LZWLZW算法进一步的改进是增加可变的码字算法进一步的改进是增加可变的码字长度,以及在词典中删除老的缀长度,以及在词典中删除老的缀- -符串。在符串。在GIFGIF图像图像格式和格式和UNIXUNIX的压缩程序中已经采用了这些改进措施的压缩程序中已经采用了这些改进措施之后的之后的LZWLZW算法。算法。 LZWLZW算法取得了专利,专利权的所有者是美国算法取得了专利,专利权的所有者是美国的一个大型计算机公司的一个大型计算机公司Unisys(Unisys(优利系统公司优利系统公司) ),除了商
34、业软件生产公司之外,可以免费使用除了商业软件生产公司之外,可以免费使用LZWLZW算法算法。小小 结结n理解无损压缩和常用无损压缩算法。理解无损压缩和常用无损压缩算法。n熵是一种具有统计特性的平均信息量。熵是一种具有统计特性的平均信息量。n算术编码具有比哈夫曼编码更好的压缩率算术编码具有比哈夫曼编码更好的压缩率n几种典型的无损压缩算法在多媒体数据压几种典型的无损压缩算法在多媒体数据压缩中都有应用。缩中都有应用。作作 业业n书书(清华版本清华版本)的的P43的的1-10算术编码举例(二)算术编码举例(二)n最后的子区间起始位置 85/256 = 0.01010101n 子区间长度 27/256 = 0.00011011n 子区间尾 7/16 = 0.0111n取编码区间中的一个值,最后编码为:011符号01频度1/43/4消息序列1011区间起始1/41/419/6485/256区间长度3/43/169/6427/256信源分布:信源分布: