ch6数据压缩.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《ch6数据压缩.ppt》由会员分享,可在线阅读,更多相关《ch6数据压缩.ppt(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机科学与技术系计算机科学与技术系董华松董华松多媒体技术基础多媒体技术基础第五章:第五章:数据压缩数据压缩主要内容主要内容数据压缩概述数据压缩概述经典数据压缩理论经典数据压缩理论香农范诺与霍夫曼编码香农范诺与霍夫曼编码算术编码算术编码行程编码行程编码词典编码词典编码压缩的必要性压缩的必要性音频、视频的数据量很大,如果不进行处理,计算机系统几乎无法对它进行存取和交换。例如,一幅具有中等分辨率(640480)的真彩色图像(24b/像素),它的数据量约为7.37Mb/帧,一个100MB(Byte)的硬盘只能存放约100帧图像。若要达到每秒25帧的全动态显示要求,每秒所需的数据量为184Mb,而且要
2、求系统的数据传输率必须达到184Mb/s。对于声音也是如此,若采用16b样值的PCM编码,采样速率选为44.1kHZ,则双声道立体声声音每秒将有176KB的数据量。视频、视频、图像、声音有很大的压缩潜力图像、声音有很大的压缩潜力p信息论认为:若信源编码的熵大于信源的实际熵,该信源中一定存在冗余度。p原始信源的数据存在着很多冗余度:空间冗余、时间冗余、视觉冗余、听觉冗余等。什么是数据压缩什么是数据压缩 数据压缩就是在一定的精度损失条件下,以最少的数码表示信源所发出的信号信源编码信道编码信道信道译码信源译码信源信宿分钟数字音频信号需要的存储空间1 1分钟数字视频信号需要的存储空间1 1时间域压缩迅
3、速传输媒体信源频率域压缩并行开通更多业务空间域压缩降低存储费用能量域压缩降低发射功率数据压缩的好处数据压缩的好处l压缩比要大l恢复后的失真小l压缩算法要简单、速度快l压缩能否用硬件实现数据压缩技术实现的衡量标准数据压缩技术实现的衡量标准数据压缩技术的性能指标l压缩比压缩比l图象质量图象质量l压缩和解压的速度压缩和解压的速度 另外也必须考虑每个压缩算法所需的硬件和软件。1压缩比压缩比u压缩性能常常用压缩比定义(输入数据和输出数据比)例:512480,24bit/pixel(bmp)输出15000byte输入737280byte压缩比737280/15000492图象质量图象质量u取决于压缩方法:
4、有损压缩的失真情况很难量化,只能对测试的图象进行估计u模拟图象质量的指标:信噪比、分辨率、颜色深度,但必须在观察了实际图象以后。3压缩解压速度压缩解压速度p在许多应用中,压缩和解压可能不同时用,在不同的位置不同的系统中。所以,压缩、解压速度分别估计。p静态图象中,压缩速度没有解压速度严格;动态图象中,压缩、解压速度都有要求,因为需实时地从摄像机或VCR中抓取动态视频。4硬软件系统硬软件系统有些压缩解压工作可用软件实现。设计系统时必须充分考虑:算法复杂压缩解压过程长算法简单压缩效果差目前有些特殊硬件可用于加速压缩/解压。硬接线系统速度快,但各种选择在初始设计时已确定,一般不能更改。因此在设计硬接
5、线压缩/解压系统时必须先将算法标准化。无损压缩是指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据完全相同;无损压缩用于要求重构的信号与原始信号完全一致的场合。有损压缩是指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不影响人对原始资料表达的信息造成误解。有损压缩适用于重构信号不一定非要和原始信号完全相同的场合。数据压缩技术的分类数据压缩技术的分类经典数据压缩理论经典数据压缩理论信息论中的信源编码理论解决的主要问题:(1)数据压缩的理论极限(2)数据压缩的基本途径数据冗余数据冗余的的类型类型u一一幅幅图图象象中中同同一一种种颜颜色色不不止止一一个个象象
6、素素点点,若若相相邻邻的的象象素素点点的的值值相相同同,象象素素点点间间(水水平平、垂垂直直)有有冗冗余余。(空间冗余)(空间冗余)u当当图图象象的的一一部部分分包包含含占占主主要要地地位位的的垂垂直直的的源源对对象象时时,相相邻邻线间存在冗余。线间存在冗余。(空间冗余)(空间冗余)u若若 图图 象象 稳稳 定定 或或 只只 有有 轻轻 微微 的的 改改 变变,运运 动动 序序 列列 帧帧 间间 存存 在在 冗冗 余余。(时间冗余)(时间冗余)数据冗余数据冗余的的类型类型l空间冗余:在同一幅图像中,规则物体和规则背景的表空间冗余:在同一幅图像中,规则物体和规则背景的表面物理特性具有相关性,这些
7、相关性的光成像结果在数面物理特性具有相关性,这些相关性的光成像结果在数字化图像中就表现为数据冗余字化图像中就表现为数据冗余。l时间冗余:时间冗余反映在图像序列中就是相邻帧图像时间冗余:时间冗余反映在图像序列中就是相邻帧图像之间有较大的相关性,一帧图像中的某物体或场景可以之间有较大的相关性,一帧图像中的某物体或场景可以由其它帧图像中的物体或场景重构出来。音频的前后样由其它帧图像中的物体或场景重构出来。音频的前后样值之间也同样有时间冗余。值之间也同样有时间冗余。数据冗余数据冗余的的类型类型l信息熵冗余:信源编码时,当分配给第信息熵冗余:信源编码时,当分配给第i个码元类的比特个码元类的比特数数b(y
8、i)=-logpi,才能使编码后单位数据量等于其信才能使编码后单位数据量等于其信源熵,即达到其压缩极限。但实际中各码元类的先验概源熵,即达到其压缩极限。但实际中各码元类的先验概率很难预知,比特分配不能达到最佳。实际单位数据量率很难预知,比特分配不能达到最佳。实际单位数据量dH(S),),即存在信息冗余熵。即存在信息冗余熵。l视觉冗余:人眼对于图像场的注意是非均匀的,人眼并视觉冗余:人眼对于图像场的注意是非均匀的,人眼并不能察觉图像场的所有变化。事实上人类视觉的一般分不能察觉图像场的所有变化。事实上人类视觉的一般分辨能力为辨能力为26灰度等级,而一般图像的量化采用的是灰度等级,而一般图像的量化采
9、用的是28灰灰度等级,即存在着视觉冗余。度等级,即存在着视觉冗余。数据冗余数据冗余的的类型类型l听觉冗余:人耳对不同频率的声音的敏感性是不听觉冗余:人耳对不同频率的声音的敏感性是不同的,并不能察觉所有频率的变化,对某些频率同的,并不能察觉所有频率的变化,对某些频率不必特别关注,因此存在听觉冗余。不必特别关注,因此存在听觉冗余。l其它冗余:包括结构冗余、知识冗余等其它冗余:包括结构冗余、知识冗余等。数据冗余数据冗余的的类型类型 从信息语义角度分为从信息语义角度分为“熵熵(平均信息量平均信息量)编码编码”和和“源编码源编码”两种:两种:熵熵(平均信息量平均信息量)编码编码(Entropy Codi
10、ng)熵编码是一种泛指那些不考虑被压缩信息的熵编码是一种泛指那些不考虑被压缩信息的性质的编码和压缩技术。它是基于平均信息量的性质的编码和压缩技术。它是基于平均信息量的技术把所有的数据当作比特序列,而不根据压缩技术把所有的数据当作比特序列,而不根据压缩信息的类型优化压缩。也就是说,平均信息量编信息的类型优化压缩。也就是说,平均信息量编码忽略被压缩信息的语义内容。码忽略被压缩信息的语义内容。熵编码分为:重复序列消除编码熵编码分为:重复序列消除编码(含:消零、含:消零、行程编码行程编码)、统计编码等。、统计编码等。数据冗余数据冗余的的类型类型源编码(SourceCoding)源编码的冗余压缩取决于初
11、始信号的类型、前后的相关性、信号的语义内容等。源编码比严格的平均信息量编码的压缩率更高。当然压缩的程度主要取决于数据的语义内容,比起平均信息量编码,它的压缩比更大。源编码主要分为:预测编码、变换编码、向量量化等。数据冗余数据冗余的类型与压缩方法分类的类型与压缩方法分类Source CodingPrediction:DPCM and DMTransformation:FFT、DCTLayered:Sub-band、Sub-sampling and Bit PositionVector QuantizationHybrid CodingJPEG、MPEG、H.261、DVI、Intel-Indeo
12、Entropy CodingRun Length CodingStatistical CodingHuffmanArithmetic熵(熵(Entropy)事件集合(样本空间)X中每个事件的自信息量I(x)是定义在这个样本空间上的一个随机变量,所以我们要研究它的统计特性。其数学期望为:H(X)表明了集合X中随机事件的平均不确定性,或者说平均信息量。称H(X)为一阶信息熵或者简称为熵(Entropy)熵(熵(Entropy)在符号出现之前,熵表示符号集中的符号出现的平均不确定性;在符号出现之后,熵代表接收一个符号所获得的平均信息量。根据直觉,信源编码的数据输出速率(平均码长)与信源熵之间应该有某
13、种对应关系。平均码长与熵平均码长与熵如果采用单字符二进制编码方式,设字符aj的编码长度为Lj,则信源字母表的平均码长为:根据前面对二进制信源的分析,有:在Lj log2pj时,平均码长取得极小值H(X)例例 有一幅有一幅4040个象素组成的灰度图像,灰度共有个象素组成的灰度图像,灰度共有5 5级,分别级,分别用符号用符号A A、B B、C C、D D和和E E表示,表示,4040个象素中出现灰度个象素中出现灰度A A的象素数的象素数有有1515个,出现灰度个,出现灰度B B的象素数有的象素数有7 7个,出现灰度个,出现灰度C C的象素数有的象素数有7 7个等等,如表个等等,如表4-014-01
14、所示。如果用所示。如果用3 3个位表示个位表示5 5个等级的灰度值,个等级的灰度值,也就是每个象素用也就是每个象素用3 3位表示,编码这幅图像总共需要位表示,编码这幅图像总共需要120120位。位。符 号 出现的次数157765按照仙农理论,这幅图像的熵为H(S)=(15/40)(40/15)+(7/40)(40/7)+(5/40)(40/5)=2.196这就是说每个符号用2.196位表示,40个象素需用87.84位。熵编码熵编码熵编码包括香农范诺编码、霍夫曼编码和算术编码,其宗旨在于找到一种编码使得平均码长到达熵极限,基本思想就是对出现概率较大的符号取较短的码长,而对出现概率较小的符号取较大
15、的码长。霍夫曼编码霍夫曼编码初始化,根据符号概率的大小按由大到小顺序对符号进行排序,初始化,根据符号概率的大小按由大到小顺序对符号进行排序,如表如表4-03和图和图4-02所示。所示。把概率最小的两个符号组成一个节点,如图把概率最小的两个符号组成一个节点,如图4-02中的中的D和和E组成组成节点节点P1。重复步骤重复步骤2,得到节点,得到节点P2、P3和和P4,形成一棵,形成一棵“树树”,其中的,其中的P4称为根节点。称为根节点。从根节点从根节点P4开始到相应于每个符号的开始到相应于每个符号的“树叶树叶”,从上到下标上,从上到下标上“0”(上枝上枝)或者或者“1”(下枝下枝),至于哪个为,至于
16、哪个为“1”哪个为哪个为“0”则则无关紧要,最后的结果仅仅是分配的代码不同,而代码的平均长无关紧要,最后的结果仅仅是分配的代码不同,而代码的平均长度是相同的。度是相同的。从根节点从根节点P4开始顺着树枝到每个叶子分别写出每个符号的代码,开始顺着树枝到每个叶子分别写出每个符号的代码,如表如表4-03所示。所示。按照仙农理论,这幅图像的熵为按照仙农理论,这幅图像的熵为符号出现的次数log2(1/pi)分配的代码需要的位数A15(0.3846)1.38015B7(0.1795)2.4810021C6(0.1538)2.7010118D6(0.1538)2.7011018E5(0.1282)2.961
17、1115A(0.12),E(0.42),I(0.09),O(0.30),U(0.07),A-100E-0I-1011O-11U-1010霍夫曼编码的局限性霍夫曼编码的局限性利用霍夫曼编码,每个符号的编码长度只能为整数,所以如果源符号集的概率分布不是2负n次方的形式,则无法达到熵极限。输入符号数受限于可实现的码表尺寸译码复杂需要实现知道输入符号集的概率分布没有错误保护功能香农范诺编码香农范诺编码香农范诺编码与Huffman编码相反,采用从上到下的方法。具体步骤为:(1)首先将编码字符集中的字符按照出现频度和概率进行排序。(2)用递归的方法分成两部分,使两个部分的概率和接近于相等。直至不可再分,即
18、每一个叶子对应一个字符。(3)编码。香农范诺编码举例香农范诺编码举例A BC D EABCD EDE符号ABCDE次数15776501010011算术编码算术编码Huffman编码的局限性:Huffman编码使用整数个二进制位对符号进行编码,这种方法在许多情况下无法得到最优的压缩效果。假设某个字符的出现概率为80%,该字符事实上只需要-log2(0.8)=0.322位编码,但Huffman编码一定会为其分配一位0或一位1的编码。可以想象,整个信息的80%在压缩后都几乎相当于理想长度的3倍左右。,算术编码算术编码基本思想:算术编码不是将单个信源符号映射成一个码字,而是把真个信源表示为实数线上的0
19、到1之间的一个区间,其长度等于该序列的概率,再在该区间内选择一个代表性的小数,转化为二进制作为实际的编码输出。消息序列中的每个元素都要用来缩短这个区间。消息序列中元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间。采用算术编码每个符号的平均编码长度可以为小数。算术编码举例(一)算术编码举例(一)符号符号00011011概率概率0.10.40.20.3初始区间初始区间0,0.1)0.1,0.5)0.5,0.7)0.7,1)算术编码的具体实现算术编码的具体实现因为实际只能用有限长的寄存器,这就要求将已编码的高位码字及时输出,但又不能输出过早,以免后续运算还要调整已输出的码位
20、。算术编码每次递推都要做乘法,所以效率比较低。二进制算术编码是一种实用的编码算法,用移位代替了乘法,使效率大大提高。自适应算术编码可以在编码过程中根据符号出现的频繁程度动态的修改分布概率,这样可以避免在编码之前必须精确求出信源概率的难题。自适应算术编码举例自适应算术编码举例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.行程编码(行程编码
21、(RLE)行程编码(Run-LengthEncoding):它通过将信源中相同符号序列转换成一个计数字段再加上一个重复字符标志实现压缩。例如:RTTTTTTTTABBCDG被转换为:R#8TABBCDG,其中“”作为转义字符,表明其后所跟的字符表示长度。用RLE编码方法得到的代码为:80315084180。代码中用。代码中用黑体表示的数字是行程长度,黑体字后面的数字代表象素黑体表示的数字是行程长度,黑体字后面的数字代表象素的颜色值。例如黑体字的颜色值。例如黑体字50代表有连续代表有连续50个象素具有相同个象素具有相同的颜色值,它的颜色值是的颜色值,它的颜色值是8。词典编码词典编码词典编码主要利
22、用数据本身包含许多重复的字符串的特性。例如:吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮。我们如果用一些简单的代号代替这些字符串,就可以实现压缩,实际上就是利用了信源符号之间的相关性。字符串与代号的对应表就是词典。实用的词典编码算法的核心就是如何动态地形成词典,以及如何选择输出格式以减小冗余。第一类词典编码第一类词典编码第一类词典法的想法是企图查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,它的输出仅仅是指向早期出现过的字符串的“指针”。LZ77算法算法LZ77算法又可以称为“滑动窗口压缩”,该算法将一个虚拟的,可以跟随压缩进程滑动的窗口作为词典,要压缩的字
23、符串如果在该窗口中出现,则输出其出现位置和长度。使用固定大小窗口进行词语匹配,而不是在所有已经编码的信息中匹配,是因为匹配算法的时间消耗往往很多,必须限制词典的大小才能保证算法的效率;随着压缩的进程滑动词典窗口,使其中总包含最近编码过的信息,是因为对大多数信息而言,要编码的字符串往往在最近的上下文中更容易找到匹配串。LZ77编码的基本流程编码的基本流程1、从当前压缩位置开始,考察未编码的数据,并试图在滑动窗口中找出最长的匹配字符串,如果找到,则进行步骤2,否则进行步骤3。2、输出三元符号组(off,len,c)。其中off为窗口中匹配字符串相对窗口边界的偏移,len为可匹配的长度,c为下一个字
24、符,即不匹配的第一个字符。然后将窗口向后滑动len+1个字符,继续步骤1。3、输出三元符号组(0,0,c)。其中c为下一个字符。然后将窗口向后滑动1个字符,继续步骤1。LZ77算法算法LZ77编码举例编码举例AABCBBABCA步骤位置匹配串输出110,0,A22A1,1,B340,0,C45B2,1,B57ABC5,3,ALZSS算法算法LZ77通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包含有冗余信息。冗余信息表现在两个方面,一是空指针,二是编码器可能输出额外的字符,这种字符是指可能包含在下一个匹配串中的字符。LZSS算法的思想是如果匹配串的长度比指针本身的长度长就输
25、出指针(匹配串长度大于等于MIN_LENGTH),否则就输出真实字符。另外要输出额外的标志位区分是指针还是字符。LZSS编码的基本流程编码的基本流程1、从当前压缩位置开始,考察未编码的字符,并试图在滑动窗口中找出最长的匹配字符串,如果匹配串长度len大于等于最小匹配串长度(len=MIN_LENGTH),则进行步骤2,否则进行步骤3。2、输出指针二元组(off,len)。其中off为窗口中匹配字符串相对窗口边界的偏移,len为匹配串的长度,然后将窗口向后滑动len个字符,继续步骤1。3、输出当前字符c,然后将窗口向后滑动1个字符,继续步骤1。LZSS编码举例编码举例位置123456789101
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch6 数据压缩
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内