第3章 多媒体数据压缩-2010_第1页
第3章 多媒体数据压缩-2010_第2页
第3章 多媒体数据压缩-2010_第3页
第3章 多媒体数据压缩-2010_第4页
第3章 多媒体数据压缩-2010_第5页
已阅读5页,还剩163页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第3章多媒体数据压缩3.1数据压缩的基本原理和方法3.2音频压缩标准3.3图像压缩标准3.4视频压缩标准23.1数据压缩的基本原理和方法所谓“数据”,通常是指信源所发信号的数字化表示或记录所谓数据压缩,就是以最少的数码表示信源所发出的信号,减少容纳给定消息集合或数据采样集合的信息空间。信息空间亦即被压缩对象是指:物理空间:如储存器、磁盘、光盘等数据存储介质时间区间:如传输给定消息集合所需的时间电磁频谱区域:如传输给定消息集合所需的带宽等。压缩的必要性音频、视频的数据量很大,如果不进行处理,计算机系统几乎无法对它进行存取和交换。33.1数据压缩的基本原理和方法1950年在计算机普及之前,世界范围内信息量的增长速度是每150年翻一番;随着计算机的广泛应用,1950-1960年间信息量的增长达到每10年翻一番;1960-1992年间缩短为每5年翻一番。人们预计2020年以后信息量每73天就要翻一番。几个未经压缩的数字化信息的例子:B5(180x255mm)、300dpi(12像素点/mm)-------6.61MB/页----CD-ROM98页双声道立体声激光唱盘(CD-DA):

44.1x103x16x2=1.41Mb/s,650M:----约一小时数字音频磁带(DAT):48x103x16=768kb/s43.1数据压缩的基本原理和方法SIF(SourceInputFormat)格式,NTSC制式,4:4:4采样每帧数据:352x240x3=253KB每秒数据:253x30=7.603MB/sCCIR(InternationalConsultativeCommitteeforRadio)格式,PAL制式,4:4:4采样每帧数据:720x576x3=1.24MB每秒数据:1.24x25=31.3MB/s实验表明,176×144的YUV原始视频在10Mbps的LAN上传送速率是3帧/秒左右。陆地卫星遥感图片的水平和垂直分辨率分别为2340及3240,四波段、采样精度为7bit的一幅图像的数据量为212Mb,按每天30幅计算,其数据量为6.36Gb,而每年的数据量则高达2300Gb。53.1数据压缩的基本原理和方法压缩的可行性信息论认为:若信源编码的熵大于信源的实际熵,该信源中一定存在冗余度。空间冗余、时间冗余、视觉冗余、听觉冗余等63.1.1数据压缩技术的性能指标有三个关键参数评价一个压缩系统压缩比压缩性能常常用压缩比定义(输入数据和输出数据比)图象质量无损压缩(图象质量不变)有损压缩,失真情况很难量化,只能对测试的图象进行估计。压缩和解压的速度压缩和解压可能不同时用,压缩、解压速度分别估计。73.1.2数据冗余的类型与压缩方法分类数据冗余的类型空间冗余时间冗余信息熵冗余视觉冗余听觉冗余其它冗余结构冗余知识冗余83.1.2数据冗余的类型与压缩方法分类空间冗余这是图像数据中经常存在的一种冗余。在同一幅图像中,规则物体和规则背景的表面物理特性具有相关性,这些相关性的光成像结构在数字化图像中就表现为数据冗余。A93.1.2数据冗余的类型与压缩方法分类时间冗余这是序列图像(电视图像、运动图像)和语音数据中经常出现的冗余。T103.1.2数据冗余的类型与压缩方法分类信息熵冗余(编码冗余)信息熵(entropy)是指一组数据所携带的信息量H=-Pilog2Pi(i=0~k-1)k为数据类数或码元个数Pi为第i个数据类数或码元发生的概率d=Pib(yi)(i=0~k-1)b(yi)是分配给码元yi的比特数,理论上应该是b(yi)=-log2Pi

,实际中很难估计出码元的的概率,当选用等概率时,d则大于H113.1.2数据冗余的类型与压缩方法分类视觉冗余人类视觉系统对于图像场的任何变化,并不是都能感知的。人类视觉系统一般的分辨能力约为26灰度级一般图像量化采用28灰度级听觉冗余人耳对不同频率的声音的敏感性是不同的,并不能察觉所有频率的变化,对某些频率不必特别关注,存在听觉冗余。知识冗余有许多图像的理解与某些基础知识有相当大的相关性。例如人脸的图像有固定的结构。123.1.2数据冗余的类型与压缩方法分类结构冗余133.1.2数据冗余的类型与压缩方法分类根据解码后数据与原始数据是否完全一致可以分为两大类:一类是熵编码、冗余压缩法,也称无损压缩法、无失真压缩法、可逆编码等多用于文本、数据的压缩,非线性编辑系统为了保证视频质量,有些高档系统采用的是无失真压缩方法。二是熵压缩法,也称有损压缩法、有失真压缩法。图像、声音、动态视频根据编码原理预测编码,变换编码,统计编码,分析-合成编码,混合编码等143.1.3常用数据压缩方法的基本原理统计编码识别一个给定的数据流中出现频率最高的比特或字节模式,并用比原始比特更少的比特数来对其编码。频率越低的模式,其编码的位数越多,频率越高的模式编码位数越少。若码流中所有模式出现的概率相等,则平均信息量最大,信源就没有冗余。(1)香农-范诺编码(2)行程编码(3)LZW编码(4)霍夫曼编码(5)算术编码153.1.3常用数据压缩方法的基本原理(1)香农-范诺编码香农-范诺编码算法需要用到下面两个基本概念:①Entropy(熵)的概念:熵是信息量的度量方法,它表示某一事件出现的消息越多,事件发生的可能性就越小,数学上就是概率越小。某个事件的信息量用:Ii=-pi*log2pi表示,其中pi为第i个事件的概率0<pi<1②信源S的熵的定义:按照香农(Shannon)的理论,信源S的熵定义为H(S)=E{Ii}=pi*log2(1/pi)i:1~n其中pi是符号Si在S中出现的概率;log2(1/pi)表示包含在Si中的信息量,也就是编码Si所需要的位数。163.1.3常用数据压缩方法的基本原理例如,一幅用256级灰度表示的图象,如果每一个象素点灰度的概率均为pi=1/256,编码每一个象素点就需要

比特。有一幅40个象素组成的灰度图象,灰度共有5级,分别用符号A、B、C、D和E表示,40个象素中出现灰度A的象素数有15个,出现灰度B的象素数有7个,出现灰度C的象素数有7个等等,如表3-01所示。如果用3个比特表示5个等级的灰度值,也就是每个象素用3比特表示,编码这幅图象总共需要120比特。按照香农理论,这幅图象的熵为:H(S)=(15/40)*log2(40/15)+(7/40)*log2(40/7)+...+(5/40)*log2(40/5)=2.196这就是说每个符号用2.196比特表示可以,40个象素需用87.84比特。8表3-01173.1.3常用数据压缩方法的基本原理最早阐述和实现这种编码的是香农(1948年)和范诺(1949年)。它采用从上到下的方法进行编码。首先按照符号出现的频度或概率排序,例如A、B、C、D、E,如表3-02所示,然后使用递归方法分成两个部分,每一部分具有近似相同的次数,如图3-01所示。按照这种方法进行编码得到的总比特数为91。压缩比约为1.3:1。表3-02Shannon-Fano算法举例表183.1.3常用数据压缩方法的基本原理Shannon-Fano算法编码过程:符号ABCDE概率15/407/407/406/405/4001000111码字000110110111193.1.3常用数据压缩方法的基本原理(2)行程编码基本原理:文字、图象、声音等数据中,会出现大量重复的字符或数值。重复的数据可以用该值以及重复的次数来代替。将一个相同值的连续串用其值和串长来代替。比如在传真通信中,所传的文件多数为二值(黑、白)图像…

…。连续出现的像素点数称为行程长度,简称长度。适合:如文字输入的二值图像、黑白或彩色图像(它们的分布都属于平稳的随机分布,在同一行或相邻行的像素之间具有较强的相关性)--效果好;纯随机的“沙丘型”图像---效果差203.1.3常用数据压缩方法的基本原理主要技术是检测重复的比特或字符序列,并用它们的出现次数取而代之。该方法有两大模式:一是消零(消空白),将数字中连续的“0”或文本中连续的空白用一个标识符(或特殊字符)后跟数字N(连续“0”的个数)来代替。如数字序列:742300000000000000000055编码为:7423Z1855213.1.3常用数据压缩方法的基本原理二是行(游)程(runlength)编码。任何重复的字符序列可被一个短格式取代。任何重复4次或4次以上的字符由“该字符+记号(M)+重复次数”代替。例如数字序列:Name:..........CR

编码为:Name:.M10CR用RLE编码方法得到的代码为:80315084180。223.1.3常用数据压缩方法的基本原理AAAAAAAAAAAAAAA15A压缩率15bytes/2bytes=7.5AAAABBBBBCCCCCCCCDEEEE4A5B8C1D4E压缩率22bytes/10bytes=2.2MyDogHasFleas1M1y1D1o1g1H1a1s1F1l1e1a1s压缩率13bytes/26bytes=0.523RLE编码方式24RLE编码流程图253.1.3常用数据压缩方法的基本原理RLE编码模式由于所针对的编码类型的不同,RLE算法也有很大的区别对位图图像编码时,根据所编码的元素的类型,RLE编码模式可以分为:位模式对Bit进行编码,而忽略Byte和Word的界限单色图像(monochrome)字节模式对Byte进行编码,而忽略Bit和Word的界限2字节的数据包,适用于1Byte/Pixel像素模式对Pixel进行编码,一个Pixel用多个Byte表示一个Pixel包含多少个Byte的信息保存的图像的Header部分26RLE编码模式273.1.3常用数据压缩方法的基本原理RLE中的负压缩MyDogHasFleas经过RLE编码之后,长度被压缩了0.5倍(即膨胀了1倍)如何解决?随之而来的问题压缩数据的行程由3个字符变成了4个,影响了压缩效率控制字符的引入涉及到了控制字符的选择,并且要把出现在数据中的控制字符编码成3个283.1.3常用数据压缩方法的基本原理RLE的三字节编码模式293.1.3常用数据压缩方法的基本原理RLE图片格式选用RLE作为压缩编码算法的图片文件格式有:MacPaintBMPPDFPCXTIFFRLE(CompuServe,Utah以及Microsoft)以RLE(CompuServe)格式为例进行说明观看2个RLE图片使用PMView软件303.1.3常用数据压缩方法的基本原理RLE(CompuServe)CompuServeRLE文件格式形成于80年代,是为1-bit图像制定的标准文件头包含3个字符ASCIIESC(HEX1B)ASCIIG(HEX47)ASCIIH(HEX48)或者M(HEX4D)<ESC><G><H>表示高分辨率图像模式,分辨率为256×192<ESC><G><M>表示中分辨率图像模式,分辨率为128×96313.1.3常用数据压缩方法的基本原理文件体文件体位于文件头之后由一对ASCII码表示,第一位ASCII码表示背景像素(黑)的值,第二位ASCII码表示前景像素(白)的值。ASCII值=相应的像素个数+32如HEX(207E)表示0个背景象素,94个前景像素文件尾<ESC><G><N>再次浏览RLE图片用16进制编辑器打开RLE文件,找到其中的文件头,文件体以及文件尾323.1.3常用数据压缩方法的基本原理(3)LZW编码词典编码的思想:数据本身包含有重复代码这个特性。例如文本文件就具有这种特性。词典编码法的种类很多,归纳起来大致有两类。第一类词典法的想法是企图查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,它的输出仅仅是指向早期出现过的字符串的“指针”。这里所指的“词典”:是指用以前处理过的数据来表示编码过程中遇到的重复部分。第二类算法的想法是企图从输入的数据中创建一个“短语词典(dictionaryofthephrases)”,短语可以是任意字符的组合。编码数据过程中当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中的短语的“索引号”,而不是短语本身。333.1.3常用数据压缩方法的基本原理343.1.3常用数据压缩方法的基本原理J.Ziv和A.Lempel在1978年首次发表了介绍这种编码方法的文章。在他们的研究基础上,TerryA.Weltch在1984年发表了改进这种编码算法的文章,因此把这种编码方法称为LZW(Lempel-ZivWalch)压缩编码。LZW算法得到普遍采用,对LZW算法进一步的改进是增加可变的码字长度,以及在词典中删除老的缀-符串。在GIF图象格式和UNIX的压缩程序中已经采用了这些改进措施之后的LZW算法。参考《多媒体技术基础》,林福宗,清华大学出版社353.1.3常用数据压缩方法的基本原理LZW编码LZW编码时,首先将原始的数据分成多个条纹,每个条纹都单独进行压缩。LZW算法基于一个转换表或字串表,它将输入字符映象到编码中,使用可变长代码,最大代码长度为12位。LZW算法中的字串表对于每个条纹都不同,并且不必保留给解压缩程序,因为解压缩过程中能自动建立完全相同的字串表。实际上,它是通过查找冗余字符串并将此字符串用较短的符号标记替代的压缩技术。363.1.3常用数据压缩方法的基本原理LZW的实现有很多的技巧性,但是算法本身却是非常简单的。用字符串表中的一个索引代码来替代相应的字符串在具体实现时,大多都使用12位的索引代码来代替8位的输入字符。字符串表有4096个存储空间,正好可以采用12位的代码来定位.前256个空间用来存储单个字符(location0stores0,location1stores1,等).<256>专门用于清零代码,<257>专门用于信息结束代码当从输入字符串中发现一个新串时,将其添加到字符串表中,其存储空间从258到4095,数据解析器一直解析新输入的字符,只要新生成的字符串位于字符串表中。一旦新的字符产生了一个新的字符串,把这个新的字符串添加到字符串表中,并输出上次已知的字符串的索引代码373.1.3常用数据压缩方法的基本原理LZW压缩算法用单个字符初始化字符串表

STRING=第一个输入字符WHILE输入流中还有字符CHARACTER=下一个输入字符IFSTRING+CHARACTER在字符串表中

STRING=STRING+CHARACTERELSE输出STRING的索引代码把STRING+CHARACTER添加到字符串表中STRING=CHARACTERENDWHILE

输出string的索引代码383.1.3常用数据压缩方法的基本原理BABAABAAAENCODEROUTPUTSTRINGTABLEoutputcodeRepresentingcodewordstring66B258BA65A259AB258BA260BAA259AB261ABA65A262AA262257AA393.1.3常用数据压缩方法的基本原理LZW解压算法用单个字符初始化字符串表OLD_CODE=第一个输入代码输出OLD_CODE所代表的字符WHILE输入流中还有代码NEW_CODE=下一个输入代码IFNEW_CODE不在字符串表中STRING=得到OLD_CODE所对应的字符(串)STRING=STRING+CHARACTERELSE STRING=得到NEW_CODE所对应的字符(串)输出STRINGCHARACTER=STRING的第一个字符把OLD_CODE+CHARACTER添加到字符串表中OLD_CODE=NEW_CODEENDWHILE403.1.3常用数据压缩方法的基本原理<66><65><258><259><65><262><257>OutputOldcodeNewcodeStringcharStringTablecodestringB66A6565AA258BABA258258BAB259ABAB259259ABA260BAAA6565AA261ABAAA262262AAA262AAEOL257413.1.3常用数据压缩方法的基本原理(4)霍夫曼编码1952年Huffman提出了对统计独立信源能达到最小平均码长的编码方法,也即最佳码。最佳性可从理论上证明。这种码具有即时性和唯一可译性。原理:对出现概率大的信源符号赋予短码字,而对于出现概率小的信源符号赋予长码字。如果码字长度严格按照所对应符号出现概率大小的逆序排列,则编码结果平均码字长度一定小于任何其他排列方式。Morse码:用较少的点和线表示出现频率较大的字母E(.)T(-)Q(--.-)423.1.3常用数据压缩方法的基本原理现仍以一个具体的例子说明它的编码步骤1、初始化,根据符号概率的大小按由大到小顺序对符号进行排序,如表3-03和图3-02所示。2、把概率最小的两个符号组成一个节点,如图3-02中的D和E组成节点P1。3、重复步骤2,得到节点P2、P3和P4,形成一棵“树”,其中的P4称为根节点。4、从根节点P4开始到相应于每个符号的“树叶”,从上到下标上“0”(上枝)或者“1”(下枝),至于哪个为“1”哪个为“0”则无关紧要,最后的结果仅仅是分配的代码不同,而代码的平均长度是相同的。5、从根节点P4开始顺着树枝到每个叶子分别写出每个符号的代码,如表3-03所示。电信-伍卫国433.1.3常用数据压缩方法的基本原理按照Shannon理论,这幅图象的熵为H(S)=(15/40)*log2(40/15)+(7/40)*log2(40/7)+…

…+(5/40)*log2(40/5)=2.196压缩比1.37:1。表3-03443.1.3常用数据压缩方法的基本原理图3-02霍夫曼编码方法霍夫曼码的码长虽然是可变的,但却不需要另外附加同步代码。例如,码串中的第1位为0,那末肯定是符号A,因为表示其它符号的代码没有一个是以0开始的,因此下一位就表示下一个符号代码的第1位。同样,如果出现“110”,那么它就代表符号D。如果事先编写出一本解释各种代码意义的“词典”,即码簿,那么就可以根据码簿一个码一个码地依次进行译码。A(15/40)B(7/40)C(7/40)D(6/40)E(5/40)00001111P2(14/40)P1(11/40)P3(25/40)P4(40/40)0100101110111453.1.3常用数据压缩方法的基本原理Huffman编码举例463.1.3常用数据压缩方法的基本原理概率分布为2的负数幂473.1.3常用数据压缩方法的基本原理Huffman---双字长编码举例483.1.3常用数据压缩方法的基本原理Huffman编码小结Huffman方法的构造程序是明确的,但构造出来的码字并不是唯一的。为什么?编码码字字长参差不齐,硬件实现不方便。码字在存储或传输过程中,如果出现误码时,可能引起误码的连续传播。为什么?变化的码距对不同的信源其编码效率是不同的什么情况下最高?什么情况下最低?解码时必须参照Huffman编码表Huffman编码表的缺省使用:减少了编码时间,便于硬件实现493.1.3常用数据压缩方法的基本原理(5)算术编码算术编码把一个信源集合表示为实数线上的0到1之间的一个开闭区间。这个集合中的每个元素都要用来缩短这个区间。信源集合的元素越多,所得到的区间间隔就越小,当区间变小时,就需要更多的数位来表示这个区间,这就是区间作为代码的原理。方法:首先假设一个信源的概率模型,然后用这些概率来缩小表示信源集的区间间隔。对二进制编码来说,信源符号只有两个。因此在编码初始阶段可预置一个大概率Pe和一个小概率Qe,然后对被编码比特流符号进行判断。503.1.3常用数据压缩方法的基本原理编码过程描述:初始化子区间为[0,1),0的概率:Qe,1的概率:Pe=1-Qe新子区间的起始位置=前子区间的起始位置+当前符号的区间左端×前子区间长度新子区间的长度=前子区间的长度×当前符号的概率最后得到的子区间的长度决定了表示该区域内的某一个数所需的二进制位数。513.1.3常用数据压缩方法的基本原理例1

已知信源:,按以上规则,对1011进行算术编码:011/43/4X=

设C表示子区间的起始位置,A表示子区间的长度。Qe=1/4,Pe=3/4,所以符号“0”的区间左端为0,“1”的区间左端为1/4,初始子区间为[0,1),初始值为C=0,A=1。编码过程如下:523.1.3常用数据压缩方法的基本原理最后的子区间的起始位置=(85/256)d=0.33203125=(0.01010101)b子区间的长度=(27/256)d=0.10546875(0.00011011)b

子区间尾=(7/16)d=0.4375d=(0.0111)b编码结果为子区间头尾间的取值,其值为“0.011”,可编码为”011“。解码是编码的逆过程。533.1.3常用数据压缩方法的基本原理例2:假设信源符号为{00,01,10,11},这些符号的概率为{0.1,0.4,0.2,0.3},根据概率可把间隔[0,1)分成4个子间隔:[0,0.1),[0.1,0.5),[0.5,0.7),[0.7,1),其中[x,y)表示半开放间隔,即包含x不包含y。上面的信息可综合在表3-04中。表3-04543.1.3常用数据压缩方法的基本原理如果二进制消息序列的输入为:10001100101101。编码时首先输入的符号是10,找到它的编码范围是[0.5,0.7)。由于消息中第2个符号00的编码范围是[0,0.1),因此它的间隔就取[0.5,0.7)的第一个十分之一作为新间隔[0.5,0.52)。依此类推,编码第3个符号11时取新间隔为[0.514,0.52),编码第4个符号00时,取新间隔为[0.514,0.5146),…

。消息的编码输出可以是最后一个间隔中的任意数。整个编码过程如图3-03所示。553.1.3常用数据压缩方法的基本原理图3-03整个编码过程563.1.3常用数据压缩方法的基本原理从[0.5143836,0.514402中选择一个数作为输出:0.51439573.1.3常用数据压缩方法的基本原理译码的消息:10001100101101583.1.3常用数据压缩方法的基本原理在算术编码中有几个问题需要注意:由于实际的计算机的精度不可能无限长,运算中出现溢出是一个明显的问题,但多数机器都有16-,32-或者64位的精度,因此这个问题可使用比例缩放的方法来解决。算术编码器对整个消息只产生一个码字,这个码字是在间隔[0,1)中的一个实数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就会导致整个消息译错。593.1.3常用数据压缩方法的基本原理算术编码总结:算术编码可以是静态的或者自适应的。在静态算术编码中,信源符号的概率是固定的。在自适应算术编码中,信源符号的概率根据编码时符号出现的频繁程度动态地进行修改。在编码期间估算信源符号概率的过程叫做建模。需要开发动态算术编码的原因是因为事先知道精确的信源概率是很难的,而且是不切实际的。当压缩消息时,我们不能期待一个算术编码器获得最大的效率,所能做的最有效的方法是在编码过程中估算概率。因此动态建模就成为确定编码器压缩效率的关键。603.1.3常用数据压缩方法的基本原理-有损压缩预测编码是数据压缩理论的一个重要分支预测编码是指利用前面的一个或多个信号对下一个信号进行预测,然后对实际值和预测值的差进行编码。DPCM与ADPCM是两种典型的预测编码。线性预测、非线性预测理论基础:现代统计学和控制论目标:减少数据在时间和空间上的相关性应用:时间序列数据,如语音的分析与合成图像的编码与解码关键技术:预测器的设计--线性预测函数613.1.3常用数据压缩方法的基本原理差分脉冲编码调制DPCM(DifferentialPulseCodeModulation)原理

预测器

量化器编码器解码器

预测器信道接收端输出XN’+++XNe’NXNeNe’NXN’++输入^XN^发送端+-623.1.3常用数据压缩方法的基本原理符号说明:XN

:为采样的图像或声音数据XN

:是XN的预测值eN:是实际值与预测值的差值(XN-XN

)eN’

:是eN的量化值XN’

:是引入了量化误差的XN

。^^633.1.3常用数据压缩方法的基本原理例子:假设预测器的预测值为前一个样值(即预测器为单位延迟),量化器不进行量化,系统的输入为:0、1、2、1、1、2、3、3、4、4、…

…XN

:0、1、2、1、1、2、3、3、4、4…

…XN

:0、0、1、2、1、1、2、3、3、4…

…eN

:0、1、1、-1、0、1、1、0、1、0…

…^量化器预测器输入输出+++-XNeNXN’eN’XN^643.1.3常用数据压缩方法的基本原理预测器的设计:预测器通常设计成用前面几个样值来预测新样值,而不是利用整个数据信源模型,这是因为模型太复杂,且是时变的,在大多数情况下预测几乎不能够实现。科尔莫戈罗夫(1941年)、维纳(1942年)进行了关于线性预测的开创性工作。最小均方预测误差为最优预测,即:通常采用的误差函数是均方误差(mse)mse=E[(S0

–S0)2]E:数学期望,S0:实际值,S0:预测值。DPCM的改进ADPCM^^653.1.3常用数据压缩方法的基本原理预测器的设计(续):若线性预测器用前面的样值s1、s2、…

…、sn来预测S0,则预测值为:S0=a1s1+a2s2+…

…+ansn

(3.1)令E0=S0-S0S0的最佳估计值是能使平方误差E0的期望值最小的S0。为求出这一最小值,需计算偏导数,并令偏导数为零,并由协方差的定义可等到一组联立方程。预测系数依赖与原始数据的统计特性,这对实际使用是不方便的。^^^663.1.3常用数据压缩方法的基本原理

预测器的设计(续):为了简化预测器,使DPCM系统能做到实时压缩,在实际中常常用固定的预测参数来代替最佳系数。如JPEG:选用前一样值作为下一样值的预测值。图像处理中采用四点预测:a1=0.702,a2=-0.200,a3=0.437,a4=0.061a1=0.75,a2=-0.5,a3=0.5,a4=0.25(日本人)考虑到硬件实现方便、人的主观因素673.1.3常用数据压缩方法的基本原理ADPCM:进一步改善量化性能或压缩数据率的方法分类:线性自适应预测、非线性自适应预测自适应量化根据信号分布不均匀的特点,系统具有随输入信号的变化而改变量化区间大小以保持输入量化器的信号基本均匀的能力。自适应预测预测参数仍采用固定的;但此时有多组预测参数可供选择。编码时具体采用哪组预测参数根据信源的特征来自适应的确定。通常将信源数据分区间编码,编码时自动地选择一组预测参数,使该区间实际值与预测值的均方误差最小。683.1.3常用数据压缩方法的基本原理DPCM和ADPCM通常把样值压缩到3~4比特,比PCM用8比特或16比特可减少一半以上空间。MSADPCM预测系数表693.1.3常用数据压缩方法的基本原理变换编码定义:是指先对信号进行某种函数变换,从一种信号(空间)变换到另一种信号(空间),然后对变换后的信号进行编码。例如:将时域信号变换到频域,因为声音、图像大部分信号都是低频信号,在频域中,信号的能量集中,再进行采样、编码可以进一步压缩数据。如傅氏变换:将时间函数变换成频率函数703.1.3常用数据压缩方法的基本原理变换编码的原理框图:数据压缩三步骤:变换、变换域采样、量化采样量化编码变换解码器反变换信道或存储输入输出-GAUA’填零G’U`713.1.3常用数据压缩方法的基本原理离散变换:可以用矩阵表示。设信源序列为一个n行k列矩阵X(例如图像扫描结果);假设采用一维变换,变换后输出序列为Y;变换矩阵为T。则有:Y=TX(信源端)如果取正交变换,则有:X=T-1Y(接收端)T:的寻找,协方差矩阵!723.1.3常用数据压缩方法的基本原理最佳的正交变换:当经过正交变换后的协方差矩阵为一对角矩阵,且具有最小均方误差时,该变换称最佳变换,也称Karhunen-Loeve变换。变换编码的关键在于:在已知X的条件下,根据它的协方差矩阵去寻找一种正交变换T,使变换后的协方差矩阵满足或接近为一对角矩阵。K-L(Karhunen-Loeve)变换是最佳变换,在数据压缩技术中占有重要的地位。采用这种变换,对图像信号而言,变换后2b/样值的质量可与7b/样值的质量相比拟。变换矩阵由信源特征确定,不是恒定形式。计算量大、实用性不太高733.1.3常用数据压缩方法的基本原理次最佳的正交变换:DFT变换:变换后的协方差矩阵接近对角矩阵。对不同信源有固定的正交变换矩阵。简便、易于实现运算次数太多,为了加快速度可使用快速傅立叶变换(FFT),但它需要复数运算。所以使用不方便,速度不理想。DCT:是DFT取实部,有快速算法,对于平稳过度的信源来说,DCT的性能十分接近KLT,所以DCT在图像压缩中得到广泛应用743.1.3常用数据压缩方法的基本原理

分析-合成编码通过对原始数据的分析,将其分解为一系列更适合于表示的基元或者从中提取出更有本质意义的参数,编码仅对这些基本单元或者特征参数进行,而解码时则借助于一定的规则或者模型,按照一定的算法将这些基元或者参数再综合成原始数据的一个逼近。(1)矢量量化(2)小波变换编码(3)分形图像编码(4)子带编码753.1.3常用数据压缩方法的基本原理(1)矢量量化量化编码按照一次量化的码元个数,可分为标量量化和矢量量化两种。对数字化后的数据或PCM数据(样本值)一个一个地进行量化,称为标量量化。标量量化中可在随机变量X出现概率比较高的间隔内,选择较小的判决间隔,而在其他区域内选择较大的间隔,这样可以以较小的量化均方误差进行量化。将这些数据分组,每组K维矢量,再以矢量为单元逐个进行量化,称其为矢量量化。基于语义编码,其基本思想是采用非线性量化器,即对空间频率及能量分布较大的系数分配较多比特数;反之分配较少的比特数,从而达到压缩的目的。763.1.3常用数据压缩方法的基本原理(2)小波变换编码小波变换是一个线性变换,能够将一个信号分解成对空间和时间、频率的独立贡献,同时又不失原信号所包含的信息。经过小波变换后的图像能量很集中,便于对不同的分量作不同的处理,达到较高的压缩比。(3)分形图像编码分形编码是一种模型编码,它利用模型的方法,对需要传输的图像进行参数估测。(4)子带编码利用带通滤波器组把信号频带分割成若干子频带,然后分别处理。773.1.4音频压缩编码的基本方法通常把已有的话音编译码器分成三种类型:波形编译码器(waveformcodecs),音源编译码器(sourcecodecs)和混合编译码器(hybridcodecs)。一般来说:波形编译码器的话音质量高,但数据率也很高;音源编译码器的数据率很低,产生的合成话音的音质有待提高;混合编译码器使用音源编译码技术和波形编译码技术,数据率和音质介于它们之间。78图三种编译码器的话音质量和数据率的关系793.1.4音频压缩编码的基本方法无失真压缩音频压缩方法有失真压缩Huffman编码行程编码波形编码参数编码混合编码全频带编码PCMDPCMADPCM子带编码自适应变换编码ATC

心理学模型矢量量化线性预测LPC矢量和激励线性预测VSELP多脉冲线性预测MP-LPC码本激励线性预测CELP803.1.4音频压缩编码的基本方法波形编译码波形编译码的想法是,不利用生成话音信号的任何知识而企图产生一种重构信号,它的波形与原始话音波形尽可能地一致。这种编译码器的复杂程度比较低,数据速率在16kbps以上,质量相当高。低于这个数据速率时,音质急剧下降。813.1.4音频压缩编码的基本方法声音数字化有两个步骤:第一步是采样,就是每隔一段时间间隔读一次声音的幅度;第二步是量化,就是把采样得到的声音信号幅度转换成数字值。量化有好几种方法,但可归纳成两类:一类称为均匀量化,另一类称为非均匀量化。采用的量化方法不同,量化后的数据量也就不同。因此,可以说量化也是一种压缩数据的方法。823.1.4音频压缩编码的基本方法均匀量化如果采用相等的量化间隔对采样得到的信号作量化,那么这种量化称为均匀量化。均匀量化就是采用相同的“等分尺”来度量采样得到的幅度,也称为线性量化量化后的样本值Y和原始值X的差E=Y-X称为量化误差或量化噪声。833.1.4音频压缩编码的基本方法非均匀量化对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号采用小的量化间隔。这样就可以在满足精度要求的情况下用较少的位数来表示。声音数据还原时,采用相同的规则。843.1.4音频压缩编码的基本方法子带编码SBC(subbandcoding)

:首先使用一组带通滤波器BPF(band-passfilter)把输入音频信号的频带分成若干个连续的频段,每个频段称为子带。对每个子带中的音频信号采用单独的编码方案编码。在信道上传送时,将每个子带的代码复合起来。在接收端译码时,将每个子带的代码单独译码,然后把它们组合起来,还原成原来的音频信号。853.1.4音频压缩编码的基本方法采用对每个子带分别编码的好处有:第一,对每个子带信号分别进行自适应控制,量化阶的大小(quantizationstep)可以按照每个子带的能量电平加以调节。具有较高能量电平的子带用大的量化阶去量化,以减少总的量化噪声。第二,可根据每个子带信号在感觉上的重要性,对每个子带分配不同的比特数,用来表示每个样本值。例如,在低频子带中,为了保护音调和共振峰的结构,就要求用较小的量化阶、较多的量化级数,即分配较多的比特数来表示样本值。而话音中的摩擦音和类似噪声的声音,通常出现在高频子带中,对它分配较少的比特数。863.1.4音频压缩编码的基本方法音源编译码的思想是:企图从话音波形信号中提取生成话音的参数,使用这些参数通过话音生成模型重构出话音。针对话音的音源编译码器叫做声码器(vocoder)。在话音生成模型中,声道被等效成一个时变滤波器(time-varyingfilter),它由白噪声—无声话音段激励,或者由脉冲串——有声话音段激励。因此需要传送给解码器的信息就是滤波器的规格、发声或者不发声的标志和有声话音的音节周期,并且每隔10~20ms更新一次。这种声码器的数据率在2.4kbps左右,产生的语音虽然可以听懂,但其质量远远低于自然话音。增加数据率对提高合成话音的质量无济于事,这是因为受到话音生成模型的限制。尽管它的音质比较低,但它的保密性能好,因此这种编译码器一直用在军事上。873.1.4音频压缩编码的基本方法线性预测编码LPC(linearpredictivecoding)是一种非常重要的编码方法。从原理上讲,LPC是通过分析话音波形来产生声道激励和转移函数的参数,对声音波形的编码实际就转化为对这些参数的编码,这就使声音的数据量大大减少。在接收端使用LPC分析得到的参数,通过话音合成器重构话音。合成器实际上是一个离散的随时间变化的时变线性滤波器,它代表人的话音生成系统模型。时变线性滤波器既当作预测器使用,又当作合成器使用。分析话音波形时,主要是当作预测器使用,合成话音时当作话音生成模型使用。随着话音波形的变化,周期性地使模型的参数和激励条件适合新的要求。883.1.4音频压缩编码的基本方法线性预测器是使用过去的P个样本值来预测当前时刻的采样值x(n)。预测值可以用过去P个样本值的线性组合来表示:线性预测误差为在给定的时间范围里,如[n0,n1],使e(n)的平方和即β=[e(n)]2为最小,这样可使预测得到的样本值更精确。通过求解偏微分方程,可找到系数ai的值。899091923.1.4音频压缩编码的基本方法混合编译码企图填补波形编译码和音源编译码之间的间隔。波形编译码器虽然可提供高质量的话音,但数据率低于16kbps的情况下,在技术上还没有很好地解决音质的问题;声码器的数据率虽然可降到2.4kbps甚至更低,但它的音质根本不能与自然话音相提并论。为了得到音质高而数据率又低的编译码器,历史上出现过很多形式的混合编译码器,但最成功并且普遍使用的编译码器是时域合成-分析器。933.1.4音频压缩编码的基本方法思想:这种编译码器使用的声道线性预测滤波器模型与线性预测编码LPC(linearpredictivecoding)使用的模型相同,不使用两个状态(有声/无声)的模型来寻找滤波器的输入激励信号,而是企图寻找这样一种激励信号,使用这种信号激励产生的波形尽可能接近于原始话音的波形。AbS编译码器由Atal和Remde在1982年提出,并命名为多脉冲激励MPE(multi-pulseexcited)编译码器,在此基础上随后出现的是等间隔脉冲激励RPE(regular-pulseexcited)编译码器、码激励线性预测CELP(codeexcitedlinearpredictive)编译码器和混合激励线性预测MELP(mixedexcitationlinearprediction)等编译码器。94图Abs编码器(上)和译码器(下)953.1.4音频压缩编码的基本方法AbS编译码器把输入话音信号分成许多帧(frames),一般来说,每帧的长度为20ms。合成滤波器的参数按帧计算,然后确定滤波器的激励参数。AbS编码器是一个负反馈系统,通过调节激励信号u(n)可使话音输入信号s(n)与重构的话音信号之差为最小,也就是重构的话音与实际的话音最接近。这就是说,编码器通过“合成”许多不同的近似值来“分析”输入话音信号,这也是“合成-分析编码器”名称的来由。MPE,RPE和CELP编译码器之间的差别在于所使用的激励信号的表示方法。963.1.4音频压缩编码的基本方法在MPE中,对每帧话音所用的激励信号u(n)是固定数目的脉冲,在一帧中脉冲的位置和幅度必须由编码器来确定,这在理论上可以找到很好的值,但实际上不太可能,因为计算太复杂。因此在实际上就使用次佳方法,一般来说,每5ms使用4个脉冲,在数据率为10kbps时可以获得好的重构话音。RPE像MPE那样,编译码器使用固定间隔的脉冲,于是编码器就只需要确定第一个激励脉冲的位置和所有其他脉冲的幅度,所需要的脉冲位置信息也就可以减少,而脉冲的数目则比MPE使用的数目多。数据率在10kbps左右时,每5ms可使用10个脉冲,比MPE多6个,产生比MPE音质高一些的重构话音。973.1.4音频压缩编码的基本方法然而RPE仍然显得比较复杂,因此欧洲的GSM移动电话系统使用了一个带长期预测的简化了的RPE编译码器,数据率为13kbps。虽然MPE和RPE编译码器在10kbps左右的数据率下可提供好的音质,但数据率低于10kbps情况下提提供的音质还不能接受,这是因为它们需要提供大量有关激励脉冲的位置和幅度信息。对要求音质好而数据率又低于10kbps的编译码器,现在普遍使用的算法是1985年由Schroeder和Atal提出的CELP算法。与MPE和RPE的不同之处是,CELP使用的激励信号是量化矢量。激励信号由一个矢量量化大码簿的表项给出,还有一个增益项用来扩展它的功率。983.1.4音频压缩编码的基本方法典型的码簿索引有10位,就是有1024个表项的码簿,增益用5位表示。因此激励信号的位数可以减少到15位,这与GSMRPE编译码器中使用的47位相比减少了32位。原始CELP编译码器的计算量太大,难以实时执行。1985年开始,在简化码簿结构方面做了大量的工作,用芯片提高执行速度方面也取得了很大的进展,因此现在在低成本的DSP上实时执行CELP算法相对容易了,在CELP基础上制定了好几个重要的话音编码标准,例如美国的“DepartmentofDefence(DoD)4.8kbpscodec”标准和CCITT的“low-delay16kbpscodec”标准。CELP编译码器在话音通信中取得了很大成功,话音的速率介于4.8kbps和16kbps之间。993.1.5图像和视频压缩编码的基本方法图像和视频压缩方法无失真压缩有失真压缩Huffman编码行程编码算术编码LZW编码预测编码运动补偿变换编码DCT变换小波变换子带编码模型编码分形编码基于重要性滤波子采样矢量量化混合编码JPEGMPEGH.2611003.2音频压缩标准1013.2音频压缩标准音频频率范围低频声音(Infra-sound):0Hz-20Hz人类听觉频率范围的声音:20Hz-20kHz高频(Ultrasound):20kHz-1GHz超声波(Hypersound):1GHz-10THz不同音频的带宽电话语音:200Hz-3.4kHz调幅广播:50Hz-7kHz调频广播:20Hz-15kHz宽带音响:20Hz-20kHz1023.2.1电话质量的语音压缩标准ITU-TS建议的语音压缩的标准G.711:采用PCM编码,采样速率为8kHz,量化位数为8bit,对应的比特流速率为64kbit/s。对于采样频率为8kHz,样本精度为13比特、14比特或者16比特的输入信号,使用率压扩编码或者使用A率压扩编码,经过PCM编码器之后每个样本的精度为8比特,输出的数据率为64kbps。这个数据就是CCITT推荐的G.711标准G.721:ITU建议的G.721将64Kbps的比特流转换为32Kbps的流,它是基于ADPCM技术。每个数值差分用4位编码,其采样率为8kHz。G.721ADPCM的输出代码是“自适应量化器”的输出,该输出是用4位表示的差分信号,它的采样率仍然是8kHz,它的数据率为32kbps1033.2.1电话质量的语音压缩标准G.723:G.723是一种以24Kbps运行的基于ADPCM的有损耗压缩标准。其音质不如非压缩的G.711PCM标准以及基于SB—ADPCM的G.722标准。G.723.1和G.723.2用于H.324标准。G.728:它的比特率为16Kbps,带宽限于3.4kHz。其音质比G.711或G.722差得多。它基于一种称为低延迟代码激励线性预测(LD—CELP)的向量量化技术。1043.2.2调幅广播质量的音频压缩标准调幅广播质量:50Hz-7kHz,称“7kHz音频信号”。G.722:G.722基于子带ADPCM技术(SB—ADPCM),它是将现有的带宽分成两个独立的子带信道分别采用差分脉码调制算法。G.722压缩信号的带宽范围为50Hz到7kHz,而G.711仅限于3.4kHz。其比特率为48、56、64Kbps,在标准模式下,采样速率是16KHz,幅度深度为14比特。低频带宽略大于常规的电话话音带宽。对高子带分配2位表示每个样本值,而低子带分配6位。因为64kbps的G.722标准主要还是针对宽带话音,其次才是音乐。105图G.7227kHz音频信号64kbps数据率的编译码方块图1063.2.3高保真立体声音频压缩标准高质量的声音信号频率范围:50Hz-20kHz目前国际上比较成熟的高质量声音压缩标准为MPEG音频。MPEG声音编码分为:层-l、层-2、层-3。随着层数的增加算法的复杂度也增大。所有3层都分级兼容。层-3工作的译码器也可对层-2或层-l的码流进行译码。所有3层都运用同一原理:变换编码和子带编码。频谱被分为32个子带。应用快速博里叶变换来表示高频域中的信号。应用心理声学模式来变换信号以估计刚能引起注意的噪音级。1073.3图像压缩标准1083.3.1JPEG压缩标准JPEG(JointPhotographicExpertsGroup)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图象数据压缩编码标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图象数据压缩标准,既可用于灰度图象又可用于彩色图象。JPEG专家组开发了两种基本的压缩算法,一种是采用以DCT(DiscreteCosineTransform)为基础的有损压缩算法;另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图象与原始图象相比较,非图象专家难于找出它们之间的区别,因此得到了广泛的应用。为了在保证图象质量的前提下进一步提高压缩比,JPEG专家组制定了JPEG2000(简称JP2000)标准,这个标准中将采用小波变换(wavelet)算法。1093.3.1JPEG压缩标准JPEG是一种混合编码标准编码步骤:DCT,量化,行程编码,霍夫曼编码等四种工作模式无损预测编码算法无损模式的压缩比为2:1基于DCT的有损编码算法有损模式的压缩比为20:1或25:1基于DCT的增强系统基于DCT的分层操作方式1103.3.1JPEG压缩标准无损预测编码算法1113.3.1JPEG压缩标准JPEG有损压缩利用了人的视觉特性,使用量化和无损压缩编码相结合来去掉视觉的冗余信息和数据本身的冗余信息。压缩编码大致分成三个步骤:使用正向离散余弦变换FDCT(forwarddiscretecosinetransform)把空间域表示的图变换频率域表示的图。使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。使用霍夫曼可变字长编码器对量化系数进行编码。解压缩的过程与压缩编码过程正好相反。JPEG算法与彩色空间无关。因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图象是单独的彩色分量图象,因此它可以压缩来自不同彩色空间的数据,如RGB,YCbCr和CMYK。1123.3.1JPEG压缩标准色度抽样在数字图像处理领域中,色度抽样是指在表示图像时使用较亮度信息低的分辨率来表示色彩(色度)信息。当对模拟分量视频或者YUV信号进行数字抽样时,一般会用到色度抽样。由于人眼对色度的敏感度不及对亮度的敏感度,图像的色度分量不需要有和亮度分量相同的清晰度,所以许多视频系统在色差通道上进行较低(相对亮度通道)清晰度(例如,抽样频率)的抽样。这样在不明显降低画面质量的同时降低了视频信号的总带宽。因抽样而丢失的色度值用内插值,或者前一色度值来替代。113视频系统的抽样率通常用一个三分比值表示。第一个值是亮度(Y)分量样本的数量,后两个值是两个色彩(“色度”)分量样本的数量:U/Cb分量在前,V/Cr分量在后。在比较图像质量时,这三个值之间的比值才是重要的,所以4:4:4可以简化为1:1:1;但是习惯上亮度样本的数量值总为4,其他两个值依此类推。有时抽样率为四分比值,如4:2:2:4。这时第四个值”4”是调制通道的抽样频率比值。事实上,因为在调制应用中非常需要高质量图像,所以这个值在任何情况下都为4。3.3.1JPEG压缩标准1143.3.1JPEG压缩标准4:4:4三个通道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特或10比特),经过8比特量化之后,未经压缩的每个象素3个字节。码流Y0U0V0Y1U1V1Y2U2V2Y3U3V3将被映射为下面的四个像素:[Y0U0V0][Y1U1V1][Y2U2V2][Y3U3V3]这是最好的色度抽样比率(实际上它完整的表示了原先的色度信息),作为一种中间格式,它被用在高端的底片扫描仪和影片后期处理上。1153.3.1JPEG压缩标准4:2:2每个色差通道的抽样率是亮度通道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的视频来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。码流Y0U0Y1V1Y2U2Y3V3将被映射为下面的四个像素:[Y0U0V1][Y1U0V1][Y2U2V3][Y3U2V3]4:2:2仍旧是质量相当高的色度抽样方法,大多数高端数字视频格式采用这一比率。1163.3.1JPEG压缩标准4:1:14:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存。码流Y0U0Y1Y2V2Y3将被映射为下面的四个像素:[Y0U0V2][Y1U0V2][Y2U0V2][Y3U0V2]1173.3.1JPEG压缩标准4:2:04:2:0并不意味着只有Y,Cb而没有Cr分量。它指的是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率都是2:1,所以可以说色度的抽样率是4:1。PAL制式和SECAM制式的色彩系统特别适合于用这种方式来存储。绝大多数视频编解码器都采用这种格式作为标准的输入格式。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。1184:2:0码流Yo0Uo0Yo1Yo2Uo2Yo3Ye0Ve0Ye1Ye2Ve2Ye3将被映射为下面的两行各四个像素:[Yo0Uo0Ve0][Yo1Uo0Ve0][Yo2Uo2Ve2][Yo3Uo2Ve2][Ye0Uo0Ve0][Ye1Uo0Ve0][Ye2Uo2Ve2][Ye3Uo2Ve2]使用这种方法的质量很接近于4:1:11193.3.1JPEG压缩标准(a)基于DCT的JPEG压缩编码步骤(b)基于DCT的JPEG解压缩步骤1203.3.1JPEG压缩标准JPEG压缩编码算法的主要计算步骤如下:FDCT变换。量化(quantization)。使用差分脉冲编码调制DPCM(differentialpulsecodemodulation)对直流系数(DC)进行编码。使用行程长度编码RLE(run-lengthencoding)对交流系数(AC)进行编码。熵编码(entropycoding)。1213.3.1JPEG压缩标准块准备将一帧帧图像分成8×8的数据块。假设彩色图像由Y、U和V三种分量组成,且色度分解为4:2:0(4:1:1)对于640×480的一副图像,亮度分量Y是一个640×480的数值矩阵;色差分量是一个320×240的数值矩阵为了满足DCT过程的要求,块准备必须划分出4800个亮度块和两份1200个色差块。将原始数据从无符号整数变成有符号整数。若采样精度为P位,采样数据范围在[0,2p-1]内,则变成在范围[-2p-1,2p-1-1]内。1223.3.1JPEG压缩标准离散余弦变换DCT对每个单独的彩色图象分量,把整个分量图象分成8×8的图象块DCT变换使用下式计算逆变换上面两式中(u,v=0,1,…,7)

经DCT变换之后,是直流系数,其他为交流系数。当其他1233.3.1JPEG压缩标准量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图象质量下降的最主要原因。JPEG算法使用均匀量化器进行量化。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表。量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。1243.3.1JPEG压缩标准JPEG色度参考量化表JPEG亮度参考量化表1253.3.1JPEG压缩标准源图像数据FDCT系数1263.3.1JPEG压缩标准亮度量化表量化后的系数1273.3.1JPEG压缩标准逆量化后的系数重构图像数据1283.3.1JPEG压缩标准FDCT系数逆量化后的系数1293.3.1JPEG压缩标准源图像数据重构图像数据1303.3.1JPEG压缩标准重构图像与源图像数据绝对误差重构图像与源图像数据相对误差最大正误差最大负误差平均误差1.17%1313.3.1JPEG压缩标准DCT系数的编码直流系数相邻的8×8块之间的DC系数有强相关性,JPEG对量化后的DC系数采用DPCM编码,即对DIFF=DCi–DCi-1编码。交流系数对于剩下的63个交流系数采用行程编码(RLE)。从左上方AC01开始沿对角线方向“Z”字形扫描直到AC77扫描结束,这样可增加行程中连续0的个数。1323.3.1JPEG压缩标准AC系数行程编码码字1333.3.1JPEG压缩标准熵编码为了进一步压缩数据,需要对DC码和AC行程编码的码字再作基于统计特性的熵编码。Huffman编码自适应二进制算术编码熵编码分两步进行把DC码和AC行程码字转换成中间符号序列给这些符号序列赋以变长码字熵编码的中间格式表示由两个符号组成符号1 (行程,尺寸)符号2 (幅值)1343.3.1JPEG压缩标准熵编码的中间格式表示符号1的第一个信息参数“行程”,表示前后两个非零AC系数之间连续零的个数;第二个信息参数“尺寸”是后一个非零AC系数幅值编码所需的比特数。一个基本符号1可表示的行程范围为1——15,当两个非零AC系数之间连续零的个数超过15时,用增加扩展符号1,“(15,0)”的个数来扩充。符号2中的幅值用以表示非零AC系数的数值,其范围为[-210,210-1]对于DC系数而言,符号1只代表尺寸信息,即DC差值的幅值编码所需的比特数,符号2表示差值的幅值,其动态范围为[-211,211-1]1353.3.1JPEG压缩标准对DC系数和AC系数中的符号1采用Huffman表中的变长码(VLC)进行编码。Huffman变长码表必须作为JPEG编码器的输入。数据流中的Huffman表的表示格式是一个间接的说明,在解码时,解码器利用这一间接说明重构真正的Huffman表。JPEG解码器能够同时存储最多4套不同的熵编码表。亮度DC系数表色度DC系数表亮度AC系数表色度AC系数表1363.3.1JPEG压缩标准亮度DC系数表用16个字节说明亮度DC系数表的码字长度表:00010501010101010100000000000000紧接着的一组值(说明亮度表的分类):000102030405060708090A0B1373.3.1JPEG压缩标准基于DCT的增强系统在量化器的输出与熵编码的输入之间,增加一个足以存储量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论