多媒体数字压缩技术.ppt
《多媒体数字压缩技术.ppt》由会员分享,可在线阅读,更多相关《多媒体数字压缩技术.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、多媒体数据压缩技术多媒体数据压缩技术什么是数据压缩 数据压缩就是在一定的精度损失条件下,以最少的数码表示信源所发出的信号信源编码信道编码信道信道译码信源译码信源信宿分钟分钟数字数字音频信号需要的存储空间音频信号需要的存储空间1 1分钟分钟数字视频信号需要的存储空间数字视频信号需要的存储空间1 1压缩编码技术基础压缩编码技术基础l多媒体数据压缩的必要性多媒体数据压缩的必要性多媒体信息是海量信息:彩色电视信号信息量多媒体信息是海量信息:彩色电视信号信息量100Mb/S、图象、声音、图象、声音多媒体海量信息的数据存储、处理、传输是软、硬件技术难题多媒体海量信息的数据存储、处理、传输是软、硬件技术难题
2、l数据压缩的可行性数据压缩的可行性信息论观点:信源数据是信息量(信源熵)和信息冗余量之和信息论观点:信源数据是信息量(信源熵)和信息冗余量之和信息冗余:空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余等信息冗余:空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余等数据压缩通过减少冗余量而尽可能保留信源信息量数据压缩通过减少冗余量而尽可能保留信源信息量l压缩编码方法分类压缩编码方法分类冗余度压缩:无损压缩,信息保持编码或熵编码,可逆运算冗余度压缩:无损压缩,信息保持编码或熵编码,可逆运算信息量压缩:有损压缩,失真度编码或熵压缩编码,不可逆,允许失真信息量压缩:有损压缩,失真度编码或熵压缩编码,不可
3、逆,允许失真空间冗余一幅图像表面上各采样点的颜色之间往往存在着空间连贯性,基于离散像素采样来表示物体表面颜色的像素存储方式可利用空间连贯性,达到减少数据量的目的。例如,在静态图像中有一块表面颜色均匀的区域,在此区域中所有点的光强和色彩以及饱和度都是相同的,因此数据有很大的空间冗余。时间冗余运动图像一般为位于一时间轴区间的一组连续画面,其中的相邻帧往往包含相同的背景和移动物体,只不过移动物体所在的空间位置略有不同,所以后一帧的数据与前一帧的数据有许多共同的地方,这种共同性是由于相邻帧记录了相邻时刻的同一场景画面,所以称为时间冗余。同理,语音数据中也存在着时间冗余。视觉冗余人类的视觉系统对图像场的
4、敏感度是非均匀的。但是,在记录原始的图像数据时,通常假定视觉系统近似线性的和均匀的,对视觉敏感和不敏感的部分同等对待,从而产生比理想编码(即把视觉敏感和不敏感的部分区分开来的编码)更多的数据,这就是视觉冗余。时间域压缩时间域压缩迅速传输媒体信源迅速传输媒体信源频率域压缩频率域压缩并行开通更多业务并行开通更多业务空间域压缩空间域压缩降低存储费用降低存储费用能量域压缩能量域压缩降低发射功率降低发射功率数据压缩的好处压缩编码的衡量指标压缩编码的衡量指标l压缩比要大压缩比要大l恢复后的失真小恢复后的失真小l压缩算法要简单、速度快压缩算法要简单、速度快l压缩能否用硬件实现压缩能否用硬件实现经典数据压缩理
5、论信息论中的信源编码理论解决的主要问题:(1)数据压缩的理论极限(2)数据压缩的基本途径信源n信源被抽象为一个随机变量序列(随机过程)。n如果信源输出的随机变量取值于某一连续区间,就叫做连续信源。比如语音信号X(t)。n如果信源输出的随机变量取值于某一离散符号集合,就叫做离散信源。比如平面图像X(x,y)和电报。信源 X1,X2,X3,X4离散信源n如果随机序列中各个变量具有相同的概率分布,则称为离散平稳信源。n如果离散平稳信源的输出序列中各个变量是相互独立的,即前一个符号的出现不影响以后任何一个符号出现的概率,则称为离散无记忆平稳信源,否则称为离散有记忆平稳信源。信源 X1,X2,X3,X4
6、 a1,a2,a3,am信息量和熵信息量和熵l信息量的度量信息量的度量l信源信源S熵的定义熵的定义l信源熵举例信源熵举例一幅用一幅用256级灰度表示的图象,每个像素点灰度的概率均等,编码每个像素级灰度表示的图象,每个像素点灰度的概率均等,编码每个像素需需8位位40个像素组成的灰度图象,灰度为个像素组成的灰度图象,灰度为5级,级,ABCDE,出现每个灰度的像素个,出现每个灰度的像素个数不同,为:数不同,为:15、7、7、6、5,该图象的熵为,该图象的熵为H(s)=2.196,40个像素个像素需需40*2.196=87.84位位信息量和熵n仙农信息论把一个事件(字符a1)所携带的信息量定义为:I(
7、a1)=log2(1/p)=-log2 p (bit)其中p为事件发生(字符出现)的概率nI(a1)即随机变量X取值为a1时所携带的信息量n因为X的信息量也是一个随机变量,所以我们要研究它的统计特性。其数学期望为:n称H(X)为一阶信息熵或者简称为熵(Entropy)熵(Entropy)n在符号出现之前,熵表示符号集中的符号出现的平均不确定性;在符号出现之后,熵代表接收一个符号所获得的平均信息量。n根据直觉,信源编码的数据输出速率(平均码长)与信源熵之间应该有某种对应关系。信源的概率分布与熵的关系n熵的大小与信源的概率模型有着密切的关系。n最大离散熵定理:当与信源对应的字符集中的各个字符为等概
8、率分布时,熵具有极大值log2m。m为字符集中字符个数。二进制信源的熵n二进制信源输出一个二进制数码所携带的平均信息量最大为1bit。pH10.501最大离散熵定理的应用n对于同一个信源其总的信息量是不变的,如果能够通过某种变换(编码),使信源尽量等概率分布,则每个输出符号所独立携带的信息量增大,那么传送相同信息量所需要的序列长度就越短。n离散无记忆信源的冗余度隐含在信源符号的非等概率 分布之中。只要H(X)小于log2m,就存在数据压缩的可能。编码信源 X1,X2,X3,X4 a1,a2,a3,am信源 X1,X2,X3,X4 b1,b2,b3,bn0,1平均码长与熵n如果对字符aj的编码长
9、度为Lj,则X的平均码长为:n根据前面对二进制信源的分析,有:在Lj log2pj时,平均码长取得极小值H(X)关于离散无记忆平稳信源的结论n一阶熵即为离散无记忆平稳信源的压缩极限。(基本极限)n只要信源不是等概率分布,就存在着数据压缩的可能性。n数据压缩的基本途径之一:使各字符的编码长度尽量等于字符的信息量。联合熵与条件熵n设随机变量X和Y分别取值于符号表a1,a2,am和b1,b2,b3,bnn定义X与Y的联合熵为:n定义X关于Y的条件熵为:离散有记忆信源的冗余联合熵与其可能达到的最大值之间的差值反映了该有记忆信源所含的冗余度,这种冗余是由于随机变量序列之间的相关性造成的。关于离散有记忆平
10、稳信源的结论n离散有记忆平稳信源的压缩极限为:n压缩的基本途径之二:尽量去除各分量之间的相关性,再对各分量进行独立编码。n压缩的基本途径之三:可利用条件概率进行编码,阶越高越有利。n压缩的基本途径之四:可将多个分量合并成向量,利用其联合概率进行编码,联合的分量越多越有利。多媒体数据压缩编码分类多媒体数据压缩编码分类l无损压缩无损压缩香农香农-范诺编码范诺编码哈夫曼编码哈夫曼编码算术编码算术编码(前三个为统计编码)(前三个为统计编码)RLE编码(行程编码)编码(行程编码)增量调制编码增量调制编码词典编码词典编码l有损压缩有损压缩预测编码:预测编码:DPCM,运动补偿等,运动补偿等面向频率域方法:
11、正交变换(面向频率域方法:正交变换(DCT)、子带)、子带编码等编码等面向空间域方法:统计分块编码等面向空间域方法:统计分块编码等基于重要性方法:滤波、子采样、比特分配、基于重要性方法:滤波、子采样、比特分配、矢量量化等矢量量化等模型方法:分形编码、模型基编码等模型方法:分形编码、模型基编码等l混合压缩编码混合压缩编码JBIG、JPEG、MPEG、H.261等技术标准等技术标准熵编码熵编码n熵编码包括香农范诺编码、霍夫曼编码和算术编码,其宗旨在于找到一种编码使得平均码长到达熵极限,基本思想就是对出现概率较大的符号取较短的码长,而对出现概率较小的符号取较大的码长。无损压缩编码算法无损压缩编码算法
12、l香农香农-范诺编码与哈夫曼编码范诺编码与哈夫曼编码哈夫曼编码:根据统计频率生成哈夫曼编码:根据统计频率生成Huffman树,然后编码树,然后编码前缀码:编解码简单前缀码:编解码简单实际使用时,对文件进行两遍扫描,第一遍统计频率,第二遍编码实际使用时,对文件进行两遍扫描,第一遍统计频率,第二遍编码压缩比不高压缩比不高对错误敏感,没有错误保护功能,形成错误传播对错误敏感,没有错误保护功能,形成错误传播霍夫曼编码n具体步骤:(1)初始化(2)合并概率最小的两个事件(3)排序(4)如果事件个数大于2则重复(2)和(3)(5)赋值(6)编码霍夫曼编码举例符号S1S2S3S4出现概率1/21/41/81
13、/8等长编码00011011霍夫曼010110111H(X)=1.75 L1=2 L2=1.75源S1S2S1S3S2S1S1S4等0001001001000011霍01001101000111霍夫曼编码的局限性n利用霍夫曼编码,每个符号的编码长度只能为整数,所以如果源符号集的概率分布不是2负n次方的形式,则无法达到熵极限。n输入符号数受限于可实现的码表尺寸n译码复杂n需要实现知道输入符号集的概率分布n没有错误保护功能香农范诺编码n香农范诺编码与Huffman编码相反,采用从上到下的方法。n具体步骤为:(1)首先将编码字符集中的字符按照出现频度和概率进行排序。(2)用递归的方法分成两部分,使两
14、个部分的概率和接近于相等。直至不可再分,即每一个叶子对应一个字符。(3)编码。香农范诺编码举例A BC D EABCD EDE符号符号ABCDE次数次数15776501010011无损压缩编码算法无损压缩编码算法l算术编码算术编码消息用消息用0到到1之间的实数进行编码之间的实数进行编码两个参数:符号的概率和它的编码间隔两个参数:符号的概率和它的编码间隔信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔对错误敏感,容易形成错误传播对错误敏感,容易形成错误传播算术编码nHuffman 编码的局限性:Huffman 编码使
15、用整数个二进制位对符号进行编码,这种方法在许多情况下无法得到最优的压缩效果。假设某个字符的出现概率为 80%,该字符事实上只需要-log2(0.8)=0.322 位编码,但 Huffman 编码一定会为其分配一位 0 或一位 1 的编码。可以想象,整个信息的 80%在压缩后都几乎相当于理想长度的 3 倍左右。算术编码n基本思想:算术编码不是将单个信源符号映射成一个码字,而是把真个信源表示为实数线上的0到1之间的一个区间,其长度等于该序列的概率,再在该区间内选择一个代表性的小数,转化为二进制作为实际的编码输出。消息序列中的每个元素都要用来缩短这个区间。消息序列中元素越多,所得到的区间就越小,当区
16、间变小时,就需要更多的数位来表示这个区间。n采用算术编码每个符号的平均编码长度可以为小数。算术编码举例(一)符号00011011概率0.10.40.20.3初始区间0,0.1)0.1,0.5)0.5,0.7)0.7,1)算术编码举例(二)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信源分布:信源分布:算术编码的具体实现n因为实际只
17、能用有限长的寄存器,这就要求将已编码的高位码字及时输出,但又不能输出过早,以免后续运算还要调整已输出的码位。(请看参考书上给出的算法)n算术编码每次递推都要做乘法,所以效率比较低。二进制算术编码是一种实用的编码算法,用移位代替了乘法,使效率大大提高。n自适应算术编码可以在编码过程中根据符号出现的频繁程度动态的修改分布概率,这样可以避免在编码之前必须精确求出信源概率的难题。自适应算术编码举例cba1.00000.66670.33330.00000.66670.58340.41670.33330.66670.63340.60010.58340.66670.65010.63900.6334c1/31
18、/42/53/6b1/32/42/52/6a1/31/41/51/6输入序列为:输入序列为:bcc.行程编码(RLE)n行程编码(Run-Length Encoding):它通过将信源中相同符号序列转换成一个计数字段再加上一个重复字符标志实现压缩。n例如:RTTTTTTTTABBCDG被转换为:R#8TABBCDG,其中“”作为转义字符,表明其后所跟的字符表示长度。n行程编码多用于黑白二值图像的压缩中。例如被转化为一系列黑串和白串长度的编码:81257。因为串长度并非等概率分布,所以一般要配合以统计编码(Huffman编码)。无损压缩编码算法无损压缩编码算法lRLE行程编码行程编码一系列重复值
19、有一个单独值和计数值代替一系列重复值有一个单独值和计数值代替当一行中有连续当一行中有连续n(n=MIN_LENGTH),则进行步骤 2,否则进行步骤 3。2、输出指针二元组(off,len)。其中 off 为窗口中匹配字符串相对窗口边界的偏移,len 为匹配串的长度,然后将窗口向后滑动 len 个字符,继续步骤 1。3、输出当前字符c,然后将窗口向后滑动 1 个字符,继续步骤 1。LZSS编码举例位置位置1234567891011字符字符AABBCBBAABC步骤步骤位置位置匹配串匹配串输出输出11A22AA33B44BB55C66BB(3,2)78AAB(7,3)811CC输入数据流:输入数
20、据流:编码过程编码过程MIN_LEN=2LZSS算法n在相同的计算机环境下,LZSS算法比LZ77可获得比较高的压缩比,而译码同样简单。这也就是为什么这种算法成为开发新算法的基础,许多后来开发的文档压缩程序都使用了LZSS的思想。例如,PKZip,GZip,ARJ,LHArc和ZOO等等,其差别仅仅是指针的长短和窗口的大小等有所不同。nLZSS同样可以和熵编码联合使用,例如ARJ就与霍夫曼编码联用,而PKZip则与Shannon-Fano联用,它的后续版本也采用霍夫曼编码。第二类词典编码n第二类算法的想法是企图从输入的数据中创建一个“短语词典(dictionary of the phrases
21、)”,这种短语可以是任意字符的组合。编码数据过程中当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中的短语的“索引号”,而不是短语本身。LZ78算法nLZ78的编码思想是不断地从字符流中提取新的字符串(String),通俗地理解为新“词条”,然后用“代号”也就是码字(Code word)表示这个“词条”。这样一来,对字符流的编码就变成了用码字(Code word)去替换字符流(Char stream),生成码字流(Code stream),从而达到压缩数据的目的。nLZ78编码器的输出是码字-字符(W,C)对,每次输出一对到码字流中,与码字W相对应的字符串(String)用字符C进行扩
22、展生成新的字符串(String),然后添加到词典中。LZ78编码算法步骤1:将词典和当前前缀P都初始化为空。步骤2:当前字符C:=字符流中的下一个字符。步骤3:判断PC是否在词典中 (1)如果“是”,则用C扩展P,即让P:=PC,返回到步骤2。(2)如果“否”,则 输出与当前前缀P相对应的码字W和当前字符C,即(W,C);将PC添加到词典中;令P:=空值,并返回到步骤2LZ78编码举例位置位置123456789字符字符ABBCBCABA步骤步骤位置位置词典词典输出输出11A(0,A)22B(0,B)33BC(2,C)45BCA(3,A)58BA(2,A)输入数据流:输入数据流:编码过程:编码过
23、程:LZW算法 J.Ziv和A.Lempel在1978年首次发表了介绍第二类词典编码算法的文章。在他们的研究基础上,Terry A.Welch在1984年发表了改进这种编码算法的文章,因此把这种编码方法称为LZW(Lempel-Ziv Walch)压缩编码。在编码原理上,LZW与LZ78相比有如下差别:LZW只输出代表词典中的字符串(String)的码字(code word)。这就意味在开始时词典不能是空的,它必须包含可能在字符流出现中的所有单个字符。即在编码匹配时,至少可以在词典中找到长度为1的匹配串。LZW编码是围绕称为词典的转换表来完成的。LZW算法的词典 LZW编码器(软件编码器或硬件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 数字 压缩 技术
限制150内