第三章-多媒体数据压缩技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章多媒体数据压缩技术本章重点:1.数据压缩的基本概念2.各种压缩技术的分类3.预测编码的基本原理4.变换编码的基本原理5.统计编码的基本原理6.分析–合成编码的基本原理7.声音压缩标准8.图像视频压缩标准3.1数据压缩的基本原理和方法3.2音频的压缩3.3图像和视频的压缩第3章多媒体数据压缩技术3.1数据压缩的基本原理和方法•压缩的必要性音频、视频的数据量很大,如果不进行处理,计算机系统几乎无法对它进行存取和交换。例如,一幅具有中等分辨率(640×480)的真彩色图像(24b/像素),它的数据量约为7.37Mb/帧,一个100MB(Byte)的硬盘只能存放约100帧图像。若要达到每秒25帧的全动态显示要求,每秒所需的数据量为184Mb,而且要求系统的数据传输率必须达到184Mb/s。对于声音也是如此,若采用16b样值的PCM编码,采样速率选为44.1kHZ,则双声道立体声声音每秒将有176KB的数据量。3.1数据压缩的基本原理和方法•视频、图像、声音有很大的压缩潜力信息论认为:若信源编码的熵大于信源的实际熵,该信源中一定存在冗余度。原始信源的数据存在着很多冗余度:空间冗余、时间冗余、视觉冗余、听觉冗余等。3.1.1数据压缩技术的性能指标节省图象或视频的存储容量,增加访问速度,使数字视频能在PC机上实现,需要进行视频和图象的压缩。有三个关键参数评价一个压缩系统:压缩比图象质量压缩和解压的速度另外也必须考虑每个压缩算法所需的硬件和软件。3.1.1数据压缩技术的性能指标1.压缩比压缩性能常常用压缩比定义(输入数据和输出数据比)例:512×480,24bit/pixel(bpp)输出15000byte输入=737280byte压缩比=737280/15000=49:13.1.1数据压缩技术的性能指标2.图象质量压缩方法:无损压缩(图象质量不变)和有损压缩有损压缩:失真情况很难量化,只能对测试的图象进行估计。3.1.1数据压缩技术的性能指标3.压缩和解压速度在许多应用中,压缩和解压将在不同时间、不同的地点、不同的系统中进行。所以,压缩、解压速度分别估计。静态图象中,压缩速度没有解压速度严格;动态图象中,压缩、解压速度都有要求,因为需实时地从摄像机或VCR中抓取动态视频。3.1.1数据压缩技术的性能指标4.硬软件系统有些压缩解压工作可用软件实现。设计系统时必须充分考虑:算法复杂-压缩解压过程长算法简单-压缩效果差目前有些特殊硬件可用于加速压缩/解压。硬接线系统速度快,但各种选择在初始设计时已确定,一般不能更改。因此在设计硬接线压缩/解压系统时必须先将算法标准化。(1)空间冗余在同一幅图像中,规则物体和规则背景的表面物理特性具有相关性,这些相关性的光成像结果在数字化图像中就表现为数据冗余。(2)时间冗余时间冗余反映在视频帧序列中,相邻帧图像之间有较大的相关性,一幅图像中的某物体或场景可由其他帧图像中的物体或场景重构出来。1.数据冗余的类型:3.1.2数据冗余的类型与压缩方法分类(3)信息熵冗余信息熵冗余是指数据所携带的信息量少于数据本身而反映出来的数据冗余。(4)视觉冗余人类的视觉系统由于受生理特性的限制,对于图像场的注意是非均匀的,人眼并不能察觉图像场的所有变化。事实上人类视觉的一般分辨能力为26灰度等级,而一般图像的量化采用的是28灰度等级,即存在着视觉冗余。3.1.2数据冗余的类型与压缩方法分类(5)听觉冗余人耳对不同频率的声音的敏感性是不同的,不能察觉所有频率的变化,对某些频率不必特别关注,因此存在听觉冗余。(6)结构冗余数字化图像中物体表面纹理等结构往往存在着数据冗余,这种冗余称为结构冗余。(7)知识冗余由图像的记录方式与人对图像的知识之间的差异所产生的冗余称为知识冗余。3.1.2数据冗余的类型与压缩方法分类3.1.2数据冗余的类型与压缩方法分类2.数据压缩技术分类根据解码后数据与原始数据是否完全一致可以分为两大类:一类是熵编码、冗余压缩法,也称无损压缩法、无失真压缩法;二是熵压缩法,也称有损压缩法、有失真压缩法。从“熵”损失角度分为无损压缩和有损压缩两种:无失真压缩,又称熵编码。由于不会失真,多用于文本数据的压缩,但也有例外,非线性编辑系统为了保证视频质量,有些高档系统采用的是无失真压缩方法。有失真压缩,又称熵压缩法。大多数图像、声音、动态视频等数据的压缩是采用有失真压缩。3.1.2数据冗余的类型与压缩方法分类从信息语义角度分为“熵(平均信息量)编码”和“源编码”两种:熵(平均信息量)编码(EntropyCoding)熵编码是一种泛指那些不考虑被压缩信息的性质的编码和压缩技术。它是基于平均信息量的技术把所有的数据当作比特序列,而不根据压缩信息的类型优化压缩。也就是说,平均信息量编码忽略被压缩信息的语义内容。熵编码分为:重复序列消除编码(含:消零、行程编码)、统计编码等。3.1.2数据冗余的类型与压缩方法分类源编码(SourceCoding)源编码的冗余压缩取决于初始信号的类型、前后的相关性、信号的语义内容等。源编码比严格的平均信息量编码的压缩率更高。当然压缩的程度主要取决于数据的语义内容,比起平均信息量编码,它的压缩比更大。源编码主要分为:预测编码、变换编码、向量量化等3.1.2数据冗余的类型与压缩方法分类SourceCodingPrediction:DPCMandDMTransformation:FFT、DCTLayered:Sub-band、Sub-samplingandBitPositionVectorQuantizationHybridCodingJPEG、MPEG、H.261、DVI、Intel-IndeoEntropyCodingRunLengthCodingStatisticalCodingHuffmanArithmetic3.1.3常用数据压缩方法的基本原理1.统计编码方法是:识别一个给定的流中出现频率最高的比特或字节模式,并用比原始比特更少的比特数来对其编码。即就是,频率越低的模式,其编码的位数越多,频率越高的模式编码位数越少。若码流中所有模式出现的概率相等,则平均信息量最大,信源就没有冗余。3.1.3常用数据压缩方法的基本原理(1)行程编码(RunLengthCoding)是最简单、最古老的压缩技术之一,主要技术是检测重复的比特或字符序列,并用它们的出现次数取而代之。该方法有两大模式:一是消零(消空白),二是行(游)程(runlength)编码。消零(或消空白)法:将数字中连续的“0”或文本中连续的空白用一个标识符(或特殊字符)后跟数字N(连续“0”的个数)来代替。如数字序列:742300000000000000000055编码为:7423Z18553.1.3常用数据压缩方法的基本原理行程编码法:任何重复的字符序列可被一个短格式取代。该算法适合于任何重复的字符。一组n个连续的字符c将被c和一个特殊的字符取代。当然,若给定字符仅重复两次就不要用此方法。任何重复4次或4次以上的字符由“该字符+记号(M)+重复次数”代替。例如数字序列:Name:..........CR编码为:Name:.M10CR3.1.3常用数据压缩方法的基本原理(2)LZW编码LZW算法在压缩文本和程序数据的压缩技术中唱主角。它的压缩率高,压缩处理所化费的时间比其它方式要少。LZW编码时,首先将原始的数据分成多个条纹,每个条纹都单独进行压缩。LZW算法基于一个转换表或字串表,它将输入字符映象到编码中,使用可变长代码,最大代码长度为12位。3.1.3常用数据压缩方法的基本原理LZW算法中的字串表对于每个条纹都不同,并且不必保留给解压缩程序,因为解压缩过程中能自动建立完全相同的字串表。实际上,它是通过查找冗余字符串并将此字符串用较短的符号标记替代的压缩技术。3.1.3常用数据压缩方法的基本原理(3)哈夫曼编码1952年Huffman提出了对统计独立信源能达到最小平均码长的编码方法,也即最佳码。最佳性可从理论上证明。这种码具有即时性和唯一可译性。该编码是常见的一种统计编码。对给定的数据流,计算其每个字节的出现频率。根据频率表,运用哈夫曼算法可确定分配各字符的最小位数,然后给出一个最优的编码。代码字存人代码表中。3.1.3常用数据压缩方法的基本原理哈夫曼编码过程:例:现有A、B、C、D、E五个待编码的符号,它们的概率分别是0.3846、0.1795、0.1538、0.1538、0.1283,用哈夫曼算法求出这五个符号所分配的代码和熵、平均码长?(1)初始化,根据符号概率的大小,按由大到小顺序对符号进行排序。(2)把概率最小的两个符号组成一个节点,如D和E组成节点P1。3.1.3常用数据压缩方法的基本原理(3)重复步骤2,得到节点P2、P3、P4,形成一棵“树”,P4为根节点。(4)从根节点P4开始到相应每个符号的“树叶”,从上到下标上“0”(上枝)、“1”(下枝)。注:至于哪个为“1”哪个为“0”则无关紧要,最后的结果仅仅是分配的代码不同,而代码的平均长度是相同的。3.1.3常用数据压缩方法的基本原理Huffman编码的优缺点优点:当信源符号概率是2的负幂次方时,Huffman编码法编码效率达到100%。一般情况下,它的编码效率要比其它编码方法的效率高,是最佳变长码。3.1.3常用数据压缩方法的基本原理缺点:(1)编码中每个符号的编码长度只能为整数,如果源符号集的概率分布不是2的负n次方的形式,则无法达到熵极限。(2)为可变长度码,译码复杂(3)需要事先知道输入符号集的概率分布(4)没有错误保护功能3.1.3常用数据压缩方法的基本原理(4)算术编码算术编码把一个信源集合表示为实数线上的0到1之间的一个区间。这个集合中的每个元素都要用来缩短这个区间。信源集合的元素越多,所得到的区间就越小,当区间变小时,就需要一些更多的数位来表示这个区间,这就是区间作为代码的原理。算术编码首先假设一个信源的概率模型,然后用这些概率来缩小表示信源集的区间。3.1.3常用数据压缩方法的基本原理新子区间的起始位置=前子区间的起始位置+当前符号的区间左端×前子区间长度新子区间的长度=前子区间的长度×当前符号的概率(等价于范围长度)最后得到的子区间的长度决定了表示该区域内的某一个数所需的位数。3.1.3常用数据压缩方法的基本原理例:假设信源符号为{00,01,10,11},这些符号的概率分别为{0.1,0.4,0.2,0.3},根据这些概率可把间隔[0,1)分成四个子区间[0,0.1),[0.1,0.5),[0.5,0.7),[0.7,1)。如果二进制消息序列的输入为:10001100101101,请运用算数编码进行编码。符号概率初始编码间隔000.1[0,0.1)010.4[0.1,0.5)100.2[0.5,0.7)110.3[0.7,1)步骤输入符号编码间隔编码判决110[0.5,0.7)符号的间隔范围[0.5,0.7)200[0.5,0.52)[0.5,0.7)间隔的第一个1/10311[0.514,0.52)[0.5,0.52)间隔的最后三个1/10400[0.514,0.5146)[0.514,0.52)间隔的第一个1/10510[0.5143,0.51442)[0.514,0.5146)间隔的第五个1/10开始,二个1/10611[0.514384,0.51442)[0.5143,0.51442)最后三个1/10701[0.5143836,0.514402)[0.514384,0.51442)间隔的4个1/10,从第一个1/10开始8从[0.5143876,0.514402)中选择一个数作为输出:0.51438763.1.3常用数据压缩方法的基本原理2.预测编码(PredictionCoding)预测编码是指利用前面的一个或多个信号对下一个信号进行预测,然后对实际值和预测值的差进行编码。DPCM与ADPCM是两种典型的预测编码。3.1.3常用数据压缩方法的基本原理(1)差分脉码调制(DPCM)PCM(PulseCodeModulati

1 / 94
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功