1、1. 信息传输方式发生了很大的改变n通信方式的改变文字+语音图像+文字+语音n通信对象的改变人与人人与机器,机器与机器5.1 概述:图像编码的研究背景5.1 概述:图像编码的研究背景n数码图像的普及,导致了数据量的庞大。n图像的传输与存储,必须解决图像数据的压缩问题。 2.图像传输与存储需要的信息量空间: 1)彩色视频信息 对于电视画面的分辨率640*480的彩色图像,每秒30帧,则一秒钟的数据量为: 640*480*3*8*30=221.12M 所以播放时,需要221Mbps的通信回路。 存储时,1张CD可存640M,则仅可以存放2.89秒的数据。5.1 概述:图像编码的研究背景 2.图像传
2、输与存储需要的信息量空间: 2)传真数据 如果只传送2值图像,以200dpi(点/英寸)的分辨率传输,一张A4稿纸的内容的数据量为: 1654(行点数)*2337(行数)*1=3888768bit=390K 按14.4K的电话线传输速率,需要传送的时间是:270秒(4.5分)5.1 概述:图像编码的研究背景 图像压缩的必要性: 由于通信方式和通信对象的改变带来的最大问题是: 传输带宽、速度、存储器容量的限制。 给我们带来的一个难题,也给了我们一个机会: 如何用软件的手段来解决硬件上的物理极限。5.1 概述:图像编码的研究背景5.1 概述:图像通信系统模型5.1 概述:图像压缩的可能性3. 图像
3、压缩的可能性(1)冗余度的概念对于描述一幅图像所需要的最少信息之外的多余信息,称为冗余度。一般图像中都含有冗余度,去除图像里的冗余度便完成了数据压缩5.1 概述:图像压缩的可能性在下面的例子中,用一种最简的方式来发送一封电报:结论:只要接收端不会产生误解,就可以减少承载信息的数据量。你的妻子,Helen,将于明天晚上6点零5分在上海的虹桥机场接你。 (23*2+10=56个半角字符) 你的妻子将于明天晚上 6点零5分在虹桥机场接你。 (20*2+3=43个半角字符) Helen将于明晚6点在虹桥接你。 (10*2+7=27个半角字符)5.1 概述:图像压缩的可能性n描述语言1)“这是一幅 2*
4、2的图像,图像的第一个像素是红的,第二个像素是红的,第三个像素是红的,第四个像素是红的”。 2)“这是一幅2*2的图 像,整幅图都是红色的”。 由此我们知道,整理图 像的描述方法可以达到 压缩的目的。5.1 概述:图像压缩的可能性n图像冗余无损压缩的原理RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB16RGB(采用8级量化)从原来的16*3*8=284bits压缩为:(1+3)*8=32bits5.1 概述:图像压缩的可能性n图像冗余有损压缩的原理3635343434343432343433373034343434343434343534343
5、13434343434343434343434343434343434343434343434343425345.1 概述:图像压缩的可能性n实际图像中冗余信息的表现(灰度图)5.1 概述:图像压缩的可能性n图像的视觉冗余图像的视觉冗余 (彩色)(彩色) R G B2488822*2*2=242 =16,777,216(248,27,4)(251,32,15)(248,27,4)(248,27,4)256级量化5.1 概述:图像压缩的可能性图像冗余信息分析结论 由于一幅图像存在数据冗余和主观视觉冗余,我们的压缩方式就是从这两方面着手来开展的。1)因为有数据冗余,当我们将图像信息的描述方式改变之
6、后,可以压缩掉这些冗余。2)因为有主观视觉冗余,当我们忽略一些视觉不太明显的微小差异,可以进行所谓的“有损”压缩。5.1 概述:图像压缩的分类4.图像压缩的分类以图像信息保真为出发点,图像压缩技术分两种:1)冗余度压缩又称为无损压缩或无失真压缩。2)熵压缩又称为有损压缩。5.1 概述:图像压缩保真度准则5. 图像压缩保真度准则保真度准则即压缩后图像质量评价的标准,分两种:1)客观保真度准则压缩前后图像之间的均方根误差或均方根信噪比。2)主观保真度准则以人的视觉为主,来评价图像的质量。5.1 概述:图像压缩术语6. 编码器的若干知识如图为一编码器的示意图,输入X为信号单元;输出W为代码,Wi为码
7、字;A是构成码字的符号集合,其元素称为码元。编码器的作用:(1)用符号集合A中的符号构成代码W(2)建立输入X和输出W的对应关系编码器X=x1,xnw=w1,wnA=a1,an5.1 概述:图像压缩术语(1)独立信源的熵设信源符号表为X1,X2,Xq,出现的概率分别为P(X1),P(X2),P(Xq),则信源的熵为)(log)()(21iqiixPxPxH=5.1 概述:图像压缩术语(2)香农无干扰编码理论在无干扰条件下,总存在一种无失真编码方法,使编码的平均长度L(x)与信息源的熵H(x)任意的接近。即无失真编码的平均码长存在一个下限,这个下限就是原始图像的熵。由此定义: 编码效率 冗余度)
8、()(xLxH=)()()(1xLxHxLr=5.1 概述:图像的压缩编码n第一代压缩编码八十年代以前,主要是根据传统的信源编码方法。n第二代压缩编码 八十年代以后,突破信源编码理论,结合分形、模型基、神经网络、小波变换等数学工具,充分利用视觉系统生理心理特性和图像信源的各种特性。5.1 概述:图像的压缩编码像素 位平面编码增量调制熵编码算术编码DCT变换DPCM调制第一代压缩编码行程编码5.1 概述:图像的压缩编码子带编码模型编码分层编码分型编码第二代压缩编码5.2 预测编码1、PCM编码又称脉冲编码调制,是图像数字化和图像编码的合称数字化后可采用两种方法编码:等长和变长编码5.2 预测编码
9、2、预测编码(1)帧内预测:对预测差值编码以消除空间冗余度即差分脉冲编码调制DPCM,原理框图如下:5.2 预测编码n工作过程:(1)预测器根据存储的前若干个样值对当前值进行预测,得到预测值(2)待编码值与预测值相减得到预测误差(3)对预测误差进行量化(4)量化后的误差一方面进行熵编码并经信道传出去;另一方面与预测值相加,得到“有量化失真的复原值”,存储到预测器中,供对下一个样值预测之用(5)发送端的本地解码器与接收端的解码器完全相同线性预测n预测编码根据前面若干个样本值对当前值进行预测,若预测值是样本值的线性组合,则称为线性预测n预测器的设计是DPCM系统的核心问题,因为预测器越好,差值就越
10、集中分布在零附近,码率就能压缩得越多n最经典的方法是采用最小均方误差准则来进行最佳设计预测阶数的选择n直观上,增大预测阶数N可提高预测准确度,但实际情况并非如此。当N较小时,增大N可提高预测度;但当N足够大时,效果不明显n一般说来,当输入信源为平稳的m阶马尔可夫过程,则N=m阶最佳线性预测器就是在MMSE准则下最好的预测器5.2 预测编码(2)帧间预测:消除时间冗余度主要针对活动图像,有两种技术:运动估计ME和运动补偿MC5.3 行程编码(RLE编码)n行程编码是一种最简单的,在某些场合是非行程编码是一种最简单的,在某些场合是非常有效的一种无损压缩编码方法。常有效的一种无损压缩编码方法。n虽然
11、这种编码方式的应用范围非常有限,但虽然这种编码方式的应用范围非常有限,但是因为这种方法中所体现出的编码设计思想是因为这种方法中所体现出的编码设计思想非常明确,所以在图像编码方法中都会将其非常明确,所以在图像编码方法中都会将其作为一种典型的方法来介绍。作为一种典型的方法来介绍。 5.3 行程编码(RLE编码)n基本原理: 通过改变图像的描述方式,来实现压缩。将一行中颜色值相同的相邻像素用一个计数值和该颜色值来代替。n举例说明:aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4a3b2c1d5e7f (共12*8=96 bits)压缩比为:176:96=1
12、.83:1压缩比为: 176:70=2.5:15.3 行程编码(RLE编码)n在传真中的应用: 传真件中一般都是白色比较多,而黑色相对比较少。所以可能常常会出现如下的情况: 600W 3b 100w 12b 4w 3b 200w 上面的行程编码所需用的字节数为:5126001024计数值必须用10bit来表示:10*7=70bit因为只有白或黑,而且排版中一定要留出页边距,因为只有白或黑,而且排版中一定要留出页边距,因此,一般情况下,可以只传输计数值即可。因此,一般情况下,可以只传输计数值即可。5.3 行程编码(RLE编码)n现在,根据传真文件的特点,对其进行改进。现在,根据传真文件的特点,对
13、其进行改进。n既然已经可以预知白色多黑色少,所以可对白色和黑色既然已经可以预知白色多黑色少,所以可对白色和黑色的计数值采用不同的位数的计数值采用不同的位数。 白色:10bit,黑色:4bit 600W 3b 100w 12b 4w 3b 200w 所需字节数为: 4*10+3*4=52bit 比原来的方式10*7=70bit减少了18bit,提高了压缩比二维行程编码 基本概念二维行程编码要解决的核心问题是二维行程编码要解决的核心问题是: : 将二维排列的像素,采用某种方式转化成一将二维排列的像素,采用某种方式转化成一维排列的方式。之后按照一维行程编码方式进行维排列的方式。之后按照一维行程编码方
14、式进行编码。编码。二维行程编码 数据排序如下图所示,是两种典型的二维行程编码的排列如下图所示,是两种典型的二维行程编码的排列方式:方式:(a) (b) 二维行程编码例例:例:130130130129134133129130130130130129134133130130130130130129132132130130129130130129130130129129127128127129131 129131 130127128127128127128132132125126129129127129133132127125128128126130131131f=数据量:数据量:6464* *8=
15、512(bit)8=512(bit)二维行程编码例n 如果按照行扫描的顺序排列的话,数据分布为:如果按照行扫描的顺序排列的话,数据分布为:130130,130130,130130,129129,134134,133133,129129,130130;130130,130130,130130,129129,134134,133133,130130,130130; 130130,130130,130130,129129,132132,132132,130130,130130;129129,130130,130130,129129,130130,130130,129129,129129;127127
16、,128128,127127,129129,131131,129129,131131,130130;127127,128128,127127,128128,127127,128128,132132,132132;125125,126126,129129,129129,127127,129129,133133,132132;127127,125125,128128,128128,126126,130130,131131,131131二维行程编码例一维行程编码后为一维行程编码后为: :(3 3,130130),(),(1 1,129129),(),(1 1,134134),(),(1 1,1331
17、33),(),(1 1,129129),),(4 4,130130),(),(1 1,129129),(),(1 1,134134),(),(1 1,133133),(),(5 5,130130),),(1 1,129129),(),(2 2,132132),(),(2 2,130130),(),(1 1,129129),(),(2 2,130130),),(1 1,129129),(),(2 2,130130),(),(2 2,129129),(),(1 1,127127),(),(1 1,128128),),(1 1,127127),(),(1 1,129129),(),(1 1,1311
18、31),(),(1 1,129129),(),(1 1,131131),),(1 1,130130),(),(1 1,127127),(),(1 1,128128),(),(1 1,127127),(),(1 1,128128),),(1 1,127127),(),(1 1,128128),(),(2 2,132132),(),(1 1,125125),(),(1 1,126126),),(2 2,129129),(),(1 1,127127),(),(1 1,129129),(),(1 1,133133),(),(1 1,132132),),(1 1,127127),(),(1 1,1251
19、25),(),(2 2,128128),(),(1 1,126126),(),(1 1,130130),),(2 2,131131)数据量为数据量为:46:46* *(3+83+8)=506(bit)=506(bit)压缩比为:压缩比为:512512:506=1.02:1506=1.02:1二维行程编码例如果按照列扫描的顺序排列的话,数据分布为:如果按照列扫描的顺序排列的话,数据分布为:130130,130130,130130,129129,127127,127127,125125,127127;130130,130130,130130,130130,128128,128128,126126,
20、125125;130130,130130,130130,130130,127127,127127,129129,128128;129129,129129,129129,129129,129129,128128,129129,128128;134134,134134,132132,130130,131131,127127,127127,126126;133133,133133,132132,130130,129129,128128,129129,130130; 129129,130130,130130,129129,131131,132132,133133,131131;130130,13013
21、0,130130,129129,130130,132132,132132,131131二维行程编码 例一维行程编码为一维行程编码为: :数据量为数据量为:42:42* *(3+83+8)=462(bit) =462(bit) 压缩比为:压缩比为:512512:462=1.11:1462=1.11:1(3,130),(1,129),(2,127),(1,125),(1,127),(4, 130),(2,128),(1,126),(1,125),(4,130),(2,127),(1,129),(1,128),(5,129),(1,128),(1,129),(1,128),(2, 134),(1,1
22、32),(1,130),(1,131),(2,127),(1,126),(2,133),(1,132),(1,130),(1,129),(1,128),(1,129),(1,130), (1,129),(2,130),(1,129),(1,131),(1,132),(1,133),(1,131),(3,130),(1,129),(1,130),(2,132),(1,131)二维行程编码 例如果按照方式如果按照方式(a)(a)扫描的顺序排列的话,数据分布为:扫描的顺序排列的话,数据分布为:130,130,130,130,130,130,130,130,130;129,129,129,129,13
23、0,130,129;127,128,127,129,131,130,132,134,134;133,133,132,130,129,128,127,128,127,128,127,125,126,129,129;127,129,133,132,131,129,130,130;129,130,130,130,129,130,132,132;131,131,130,126,128,128,127,127二维行程编码 例一维行程编码为一维行程编码为: :数据量为数据量为:43:43* *(3+83+8)=473(bit) =473(bit) 压缩比为:压缩比为:512512:473=1.08:147
24、3=1.08:1(7 7,130),(2,130),(4,129),(2,130),(1,129);(1,127),(1,128),(1,127),(1,129),(1,131),(1,130),(1,132),(2,134),(2,133),(1,132),(1,130),(1,129),(1,128),(1,127),(1,128),(1,127),(1,128),(1,127),(1,125),(1,126),(2,129),(1,127),(1,129),(1,133),(1,132),(1,131),(1,129),(2,130),(1,129),(3,130),(1,129),(1
25、,130),(2,132),(2,131),(1,130),(1,126),(2,128),(2,127)5.3 行程编码(RLE编码)n实际编码过程是查表,可以实时处理n编码规则:nRL=063,用一个相应的结尾码表示nRL=641728,用一个组合基干码加一个补充结尾码n规定每行从白游程开始,若实际从黑游程开始,则需要在行首加零长度的白游程n每行结束要加行同步码EOL5.4 统计编码:匹配编码n行程编码要获得好的压缩率的前提是,有比较行程编码要获得好的压缩率的前提是,有比较长的相邻像素的值是相同的。长的相邻像素的值是相同的。n熵是指数据中承载的信息量。熵是指数据中承载的信息量。n所谓的熵编
26、码是指在完全不损失信息量前提下所谓的熵编码是指在完全不损失信息量前提下最小数据量的编码。最小数据量的编码。5.4 统计编码:匹配编码n基本原理:基本原理: 为了达到更大的压缩率,提出了一种方法,就是为了达到更大的压缩率,提出了一种方法,就是 将在图像中出现频度大的像素值给一个比较短的编将在图像中出现频度大的像素值给一个比较短的编码,将出现频度小的像数值给一个比较长的编码。码,将出现频度小的像数值给一个比较长的编码。即即匹配编码匹配编码5.4 统计编码:匹配编码n举例说明: aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7 4 3
27、2 1 5 7 匹配编码:匹配编码: f=0 e=10 a=110 b=1111 c=11100 d=11101 11011011011011111111111111100111001110110101010100000000 (共 7*1+5*2+4*3+3*4+2*5+1*5=56 bits) 压缩比为:压缩比为:176176:56=3.1456=3.14:1 15.4 统计编码: Huffman编码n首先求出图像中灰度分布的灰度直方图;首先求出图像中灰度分布的灰度直方图;n根据该直方图,对其按照分布概率从小到大的根据该直方图,对其按照分布概率从小到大的顺序进行排列;顺序进行排列;n每一次
28、从中选择出两个概率为最小的节点相加,每一次从中选择出两个概率为最小的节点相加,形成一个新的节点,构造一个称为形成一个新的节点,构造一个称为“HuffmanHuffman树树”的二叉树;的二叉树;n对这个二叉树进行编码,就获得了对这个二叉树进行编码,就获得了HuffmanHuffman编编码码字。码码字。5.4 统计编码: Huffman编码n例:对数据序列例:对数据序列 aaaaaaaa bbbbbb cccc d d eeeeeeeeee ffffffffffffff 其概率分布为:其概率分布为: a:4/22 b:3/22 c:2/22a:4/22 b:3/22 c:2/22 d:1/22
29、 e:5/22 f:7/22 d:1/22 e:5/22 f:7/22 概率大小的排序为:概率大小的排序为: d, c, b, a, e, fd, c, b, a, e, f 1/22 2/22 3/22 4/22 5/22 7/221/22 2/22 3/22 4/22 5/22 7/225.4 统计编码: Huffman编码cbafe7/227/225/225/224/224/222/222/2210f=11 e=01 a=00 b=101 c=1001 d=1000d1/221/223/223/226/226/2222/2222/2213/2213/229/229/223/223/221
30、01010105.4 统计编码: Huffman编码n对这个例子,计算出经过对这个例子,计算出经过HuffmanHuffman编码后编码后的数据为:的数据为: 0000000000000000101101101101101101100110011001100110001000010010101010110101011111111111111111111111111111 共共 7 7* *2+52+5* *2+42+4* *2+32+3* *3+23+2* *4+14+1* *4=4=5353 bit bit压缩比为压缩比为176176:53=3.32:153=3.32:1f=11 e=01
31、a=00 b=101 c=1001 d=10005.4 统计编码:Huffman 编码nHuffman编码在图像压缩中的实现 我们知道,对一幅图像进行编码时,如果图像的大小大于256时,这幅图像的不同的码字就有可能是很大,例如极限为256个不同的码字。对整幅图直接进行Huffman编码时,小分布的灰度值,就有可能具有很长的编码。如:100位以上,这样不但达不到压缩的效果反而会使数据量加大,应该如何处理?5.4 统计编码:Huffman 编码n常用的且有效的方法是: 将图像分割成若干的小块,对每块进行独立的Huffman编码。例如:分成 的子块,就可以大大降低不同灰度值的个数(最多是64而不是2
32、56)。888 8* *8 8分块的编码压缩分块的编码压缩比为比为2.12:12.12:11616* *1616分块的编码分块的编码压缩比为压缩比为1.64:11.64:1全图的编码压全图的编码压缩比为缩比为1.09:11.09:1Huffman编码 图像压缩中的应用5.5 变换编码n行程编码与行程编码与HuffmanHuffman编码的设计思想都是基编码的设计思想都是基于对于对信息表述方法的改变信息表述方法的改变,属于无损压缩方式。,属于无损压缩方式。n虽然无损压缩可以保证接收方获得的信息与发虽然无损压缩可以保证接收方获得的信息与发送方相同,但是其压缩率一定有极限。送方相同,但是其压缩率一定
33、有极限。n因此,采用忽略视觉不敏感的部分进行有损压因此,采用忽略视觉不敏感的部分进行有损压缩是提高压缩率的一条好的途径。缩是提高压缩率的一条好的途径。 5.5 变换编码变换编码的原理:通过变换去除一部分不重要的参数,达到压缩的目的其依据是图像数据经过变换后,出现能量集中的情况,则变换后可只选少量重要的系数进行编码,以达到压缩的目的5.5 变换编码变换编码的框图正变换(分块)系数选择比特分配量化编码反变换未传系数补0反量化解码信道原始图像复原图像5.5 变换编码实用中的具体问题:(1) 子块大小选择块太小,相关性被隔裂,不利于压缩;太大运算复杂;折中选8 88 8或或16161616(2)变换方
34、式选择理论上,K-L变换最佳,但变换核不固定,实现困难;实用选择DCT(3)系数选择图像是非平稳随机过程,故多采用自适应方式对不同块进行不同的系数选择(4) 比特分配对于直流分量即低频系数细量化,分配比特数多于高频5.5 变换编码系数选择n原则上,保留能量集中的、方差大的系数n选择方法:n区域编码:选择能量集中的区域编码,舍弃零星能量区域,实现压缩。n阈值编码:设定门限值,大于门限的编码,否则舍弃。适合对能量分布不清楚的情况5.5 变换编码nDCT变换编码的提出: 行程编码与Huffman编码等统计编码的设计思想是基于对信息的表述方法的改变,属于无损压缩方式。但是一定有一个极限。 DCT变换是
35、希望在接收方不产生误解的前提下进行一定的信息丢失。 由前面讲到的频域变换可以得到启示,就是将低频与高频按照不同的数据承载方式进行表述。DCT变换编码n复习DCT变换:=1010222) 12(cos) 12(cos),()()(),(MxNyMNMNcyxyxfccF正变换:=1010222) 12(cos) 12(cos),()()(),(MNMNcMNyxFccyxf=1)(21xc0=x1,.,2 , 1=Nx逆变换:其中:DCT变换编码nDCT变换编码方法:DCT变换DCT逆变换原图像除以量化矩阵取整1)编码过程:2)解码过程:压缩图像乘以量化矩阵取整压缩图像解压图像DCT变换编码Hu
36、ffman:42bitsHuffman:42bits; 压缩比为压缩比为3.05:13.05:1Huffman:16bits;Huffman:16bits;压缩比为:压缩比为:8:18:1=29221714241613141914121216111116C例:例:=56606159586059625759596157586059F原图像为:原图像为:DCTDCT变换变换除以量化系数,取整除以量化系数,取整236.254.51692.47491.56361.05920.17681.17130.78031.76780.43872.251.71251.00310.28030.86780.1768D=
37、15000000000000000D=DCT变换编码原图解压图5.6 混合编码 设计思想n每一种编码方式都有其擅长的一点,以每一种编码方式都有其擅长的一点,以及局限的一点,混合编码的思想就是将及局限的一点,混合编码的思想就是将两种以上的编码方式的优点进行综合,两种以上的编码方式的优点进行综合,达到提高编码效率的目的。达到提高编码效率的目的。5.6 混合编码 可能性分析n回顾一下讲过的几个内容的特点:回顾一下讲过的几个内容的特点:行程编码:擅长于重复数字的压缩。行程编码:擅长于重复数字的压缩。HuffmanHuffman编码:擅长于像素个数分布编码:擅长于像素个数分布不均匀情况下的编码。不均匀情
38、况下的编码。DCTDCT变换:变换: 擅长分离视觉敏感与不敏擅长分离视觉敏感与不敏感的部分。感的部分。5.6 混合编码例:例: aaaaaaaa bbbbbb cccc d d eeeeeeeeee ffffffffffffff (共共2222* *8=176 bits)8=176 bits) 4 3 2 1 5 74 3 2 1 5 7 行程编码:行程编码:4a3b2c1d5e7f 4a3b2c1d5e7f ( (共共6 6* *(8+38+3)= 66Bits = 66Bits ) ) 176 665.6 混合编码 aaaaaaaa bbbbbb cccc d d eeeeeeeeee f
39、fffffffffffff (共(共2222* *8=176 bits)8=176 bits) 4 3 2 1 5 7 4 3 2 1 5 7 HuffmanHuffman编码:编码: f=01 e=11 a=10 b=001 c=0001 d=0000f=01 e=11 a=10 b=001 c=0001 d=000010101010101010101010001001001001001001000100010001000100000000111111111111111111110101010101010101010101010101 ( (共共 7 7* *2+52+5* *2+42+4*
40、 *2+32+3* *3+23+2* *4+14+1* *4=4=5353 bits) bits) 176 66 535.6 混合编码 aaaa bbb cc d eeeee fffffff (共22*8=176 bits176 bits) 4 3 2 1 5 7 4 3 2 1 5 7 HufmanHufman与行程编码混合:与行程编码混合: 4 410103 30010012 2000100011 1000000005 511117 70101 ( (共:共:3 3+2+2+3 3+3+3+3 3+4+4+3 3+4+4+3 3+2+2+3 3+2=+2=3535 bits) bits)
41、176 66 53 35 1:12.67:13.32:1 5.03:15.6 混合编码 图像实际压缩编码例一次小波变换一次小波变换DCTDCT变换变换. .行程编码行程编码HuffmanHuffman编码编码一次小波变换一次小波变换HuffmanHuffman编码编码变字长行程编码变字长行程编码差值编码差值编码复原图复原图原图原图算法算法1 1信噪比:信噪比:66.0266.02压缩比压缩比:11.83:1:11.83:1复原图复原图原图原图信噪比:信噪比:64.5564.55压缩比压缩比:26.50:1:26.50:1算法算法 2 2原图原图JPEG 100JPEG 100:1 1混合编码混
42、合编码 400:1400:1混合编码混合编码 600:1600:15.7 子带编码n基本思想是把图像信号通过一组带通滤波器分解成不同频带内的分量,然后在每条独立的子带内,对信号进行降率采样和单独编码n优点:n频率分解可去除信号频率相关性,减少多余度n可采用不同长度的码字对不同频带内的信号进行编码,有利于数据压缩n量化噪声被限制在各个条带内,避免了能量较小的条带内信号受其他频带内量化噪声的影响5.8 JPEG压缩标准1、数据组织与系统框图n源图像以帧为单位,每帧可包含四个分量图像,每个分量图像都顺序地分割成一个个8 88 8的图像子块,块内的64个数据组成一个数据单元DUn把分辨率最低的分量图像
43、的一个数据单元所对应的帧上象区所覆盖的全部DU,编组成一个最小的编码单元n图像数据按DU分割完毕后,即可以MCU为单位顺序将DU送入二维正向DCT处理JPEG系统框图5.8 JPEG压缩标准2、正向离散余弦变换n对每个单独的彩色图像分量,把整个分量图像分成88的图像块,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上5.8 JPEG压缩标准3、量化量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因5.8 JPEG压缩标准4、Z字形编排n量化后的系数要重新编排,目的是为了增加连续
44、的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,如图所示。这样就把一个88的矩阵变成一个164的矢量,频率较低的系数放在矢量的顶部5.8 JPEG压缩标准5、直流系数的编码n88图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻88图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码5.8 JPEG压缩标准6、交流系数的编码n量化AC系数的特点是164矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(R
45、LE)对它们进行编码5.8 JPEG压缩标准7、熵编码n使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩上机实验 图像压缩1、利用DCT变换模拟JPEG压缩过程上机参考程序1实验效果图12、利用DCT变换对图像进行压缩上机参考程序2实验效果图2上机参考程序1I=imread(cameraman.tif); I1=im2double(I); T=dctmtx(8); B=blkproc(I1,8 8, P1*x*P2 ,T,T); mask= 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0
46、 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; B2=blkproc(B,8 8, P1.*x ,mask); I2= blkproc(B2,8,8, P1*x*P2 ,T,T); subplot(1,2,1);imshow(I); subplot(1,2,2); imshow(I2);上机参考程序2RGB = imread(flowers.tif);subplot(2,2,1),imshow(RGB);I = rgb2gray(RGB);subplot(2,2,2),imshow(I);J = dct2(I);subplot(2,2,3),imshow(log(abs(J),), colormap(jet(64);J(abs(J) 10) = 0;K = idct2(J);subplot(2,2,4),imshow(K,0 255);实验效果图1实验效果图2