1、 图像压缩基础图像压缩基础 无损压缩无损压缩 有损压缩有损压缩 静止图像压缩编码的技术标准静止图像压缩编码的技术标准JPEG1谢谢观赏2019-8-23 数字图象通常有很大的数字图象通常有很大的比特数,这给图象的传比特数,这给图象的传输和存储带来相当大的输和存储带来相当大的困难。数据的压缩是必困难。数据的压缩是必不可少的。不可少的。图象压缩的必要性图象压缩的必要性the total byte number is:4605203=2谢谢观赏2019-8-23 一部一部90分钟的彩色电影,每秒放映分钟的彩色电影,每秒放映24帧。把它帧。把它数字化,每帧数字化,每帧512512象素,每象素的象素,每
2、象素的、三分量分别占三分量分别占1byte,总比特数为,总比特数为 9060243512512=若用一张可存若用一张可存600兆字节数据的兆字节数据的CD光盘存储这光盘存储这部电影,光图象(还有声音)就需要部电影,光图象(还有声音)就需要张张CD光盘。光盘。图象压缩的必要性图象压缩的必要性3谢谢观赏2019-8-23 对图象数据进行压缩显得非常必要对图象数据进行压缩显得非常必要 本章讨论的问题:在满足一定条件下,本章讨论的问题:在满足一定条件下,能否减小图象能否减小图象比特数比特数,以及用什么样的,以及用什么样的编码方法使之减少。编码方法使之减少。图象压缩的必要性图象压缩的必要性4谢谢观赏20
3、19-8-23图象压缩是可能的图象压缩是可能的u 一般原始图象中存在很大的冗余度一般原始图象中存在很大的冗余度5谢谢观赏2019-8-23u 用户通常允许图象失真用户通常允许图象失真 当信道的分辨率不及原始图象的分辨率时,当信道的分辨率不及原始图象的分辨率时,降低输入的原始图象的分辨率对输出图象降低输入的原始图象的分辨率对输出图象分辨率影响不大。分辨率影响不大。用户所关心的图像区域有限,可对其余部用户所关心的图像区域有限,可对其余部分图像采用空间和灰级上的粗化。分图像采用空间和灰级上的粗化。根据人的视觉特性对不敏感区进行降分辨根据人的视觉特性对不敏感区进行降分辨率编码率编码(视觉冗余)。(视觉
4、冗余)。6谢谢观赏2019-8-23图象压缩是可能的图象压缩是可能的7谢谢观赏2019-8-23压缩的极限还相差很远压缩的极限还相差很远,图象数据压缩的潜力是很大的图象数据压缩的潜力是很大的,图象压缩是可能的图象压缩是可能的8谢谢观赏2019-8-23 6.1 图像压缩基础图像压缩基础 图像压缩所解决的问题是尽量减少表图像压缩所解决的问题是尽量减少表示数字图像时需要的数据量。减少数据量示数字图像时需要的数据量。减少数据量的基本原理是除去其中多余的数据。的基本原理是除去其中多余的数据。以数学的观点看,这一过程实际上就以数学的观点看,这一过程实际上就是将二维像素阵列变换为一个在统计上无是将二维像素
5、阵列变换为一个在统计上无关联的数据集合。关联的数据集合。9谢谢观赏2019-8-23charbitdpdpdHmiii/)(log)()(12 图像编码压缩名词术语图像编码压缩名词术语10谢谢观赏2019-8-23 10)(LkkrkavgrprlL11谢谢观赏2019-8-23%avgLrH12谢谢观赏2019-8-23香农无干扰编码定理香农无干扰编码定理 在无干扰条件下在无干扰条件下,存在一种无存在一种无失真的编码方法失真的编码方法,使编码的平均码使编码的平均码长和信源的熵任意接近。长和信源的熵任意接近。13谢谢观赏2019-8-23%100 sdsrLLLP14谢谢观赏2019-8-23
6、u 15谢谢观赏2019-8-23 a a)输入图和输出图之间的均方根()输入图和输出图之间的均方根(rmsrms)误差)误差 b b)输入图和输出图的均方根信噪比)输入图和输出图的均方根信噪比1111220000(,)/(,)(,)MNMNmsxyxySNRf x yf x yf x yPSNR峰值信噪比(1)客观保真度标准客观保真度标准 10102,1MyNxrmsyxfyxfMNe16谢谢观赏2019-8-23(2)主观保真度标准主观保真度标准 通过视觉比较两个图像,给出一个通过视觉比较两个图像,给出一个定性的评价,如很粗、粗、稍粗、相定性的评价,如很粗、粗、稍粗、相同、稍好、较好、很好
7、,这种评价被同、稍好、较好、很好,这种评价被称为称为主观保真度标准主观保真度标准。17谢谢观赏2019-8-23u 冗余冗余 在数字图像压缩中的三种基本的数据冗余在数字图像压缩中的三种基本的数据冗余:编码冗余编码冗余 像素间冗余像素间冗余 心理视觉冗余心理视觉冗余18谢谢观赏2019-8-23 编码冗余编码冗余 通过图像灰度级直方图可以深入了解编码通过图像灰度级直方图可以深入了解编码结构,从而减少表达图像所需的数据量。结构,从而减少表达图像所需的数据量。1.037.21bits 7.2)()(702DkkrkavgRrprlL例:例:19谢谢观赏2019-8-23 由于任何给定的像素值,原理上
8、都可以通由于任何给定的像素值,原理上都可以通过它的邻居预测到,所以单个像素携带的过它的邻居预测到,所以单个像素携带的信息相对是小的。信息相对是小的。为减少图像中的像素间冗余,二维像素阵为减少图像中的像素间冗余,二维像素阵列必须变换为更有效的形式。列必须变换为更有效的形式。像素间冗余像素间冗余n 空间冗余空间冗余n 几何冗余几何冗余n 帧间冗余帧间冗余例:原图像数据:例:原图像数据:234 223 231 238 235 压缩后数据:压缩后数据:234 11 -8 -7 320谢谢观赏2019-8-23 心理视觉冗余心理视觉冗余 在正常的视觉处理过程中各种信息的相在正常的视觉处理过程中各种信息的
9、相对重要程度不同,那些不重要的信息称对重要程度不同,那些不重要的信息称做做心理视觉冗余心理视觉冗余21谢谢观赏2019-8-23无损压缩与有损压缩无损压缩与有损压缩有损预测有损预测编码等编码等22谢谢观赏2019-8-23 实验二实验二 图像增强图像增强 下周二做下周二做,地点不变,地点不变(交邮政编码分割程序)(交邮政编码分割程序)No.1323谢谢观赏2019-8-236.2 无损压缩无损压缩 在很多应用中,如医疗和商业文档的归档、在很多应用中,如医疗和商业文档的归档、卫星成像的处理、数字卫星成像的处理、数字X光照相术,无损光照相术,无损压缩时唯一可以接受的数据压缩方式。压缩时唯一可以接受
10、的数据压缩方式。无损压缩常由两种彼此独立的操作组成:无损压缩常由两种彼此独立的操作组成:(1)为减少像素间冗余建立一种可替代的图为减少像素间冗余建立一种可替代的图像表达方式;像表达方式;(2)对这种表达方式进行编码对这种表达方式进行编码以便消除编码冗余。以便消除编码冗余。24谢谢观赏2019-8-23 一、基本原理一、基本原理 通过减少编码冗余来达到压缩的目的。将通过减少编码冗余来达到压缩的目的。将在图像中出现次数多的像素值给一个短的编码,在图像中出现次数多的像素值给一个短的编码,将出现次数少的像数值给一个长的编码。将出现次数少的像数值给一个长的编码。二、霍夫曼编码是即时码二、霍夫曼编码是即时
11、码:是唯一可译码是唯一可译码,其中其中任意一个码字都只能与一种信号存在对应关系任意一个码字都只能与一种信号存在对应关系,而且任意一个码字都不能是其他码字的前缀。而且任意一个码字都不能是其他码字的前缀。6.2.1 霍夫曼编码(属于霍夫曼编码(属于统计编码)统计编码)25谢谢观赏2019-8-23 i.i.将信源符号按出现概率从大到小排成一将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,列,然后把最末两个符号的概率相加,合成一个概率。合成一个概率。编码举例编码举例26谢谢观赏2019-8-23编码编码ii.ii.把这个符号的概率与其余符号的概率按把这个符号的概率与其余符号的概率
12、按从大到小排列,然后再把最末两个符号从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。的概率加起来,合成一个概率。iii.iii.重复上述做法,直到最后剩下两个概率重复上述做法,直到最后剩下两个概率为止。为止。iv.iv.从最后一步剩下的两个概率开始逐步向从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码予一个二进制码,如对概率大的赋予码元元0,对概率小的赋予码元,对概率小的赋予码元1。27谢谢观赏2019-8-23 建立概率统计表和编码树建立概率统计表和编码树符号符号 概率概率 1 2 3 4
13、a2 0.4 0.4 0.4 0.4 0.6 a6 0.3 0.3 0.3 0.3 0.4 a1 0.1 0.1 0.2 0.3 a4 0.1 0.1 0.1 a3 0.06 0.1 a5 0.04 霍夫曼编码举例霍夫曼编码举例28谢谢观赏2019-8-23编码过程编码过程:符号符号 概率概率 编码编码 1 2 3 4a2 0.4 1 0.4 1 0.4 1 0.4 1 0.6 0a6 0.3 00 0.3 00 0.3 00 0.3 00 0.4 1a1 0.1 011 0.1 011 0.2 010 0.3 01a4 0.1 0100 0.1 0100 0.1 011 a3 0.06 01
14、010 0.1 0101 a5 0.04 01011霍夫曼编码举例霍夫曼编码举例29谢谢观赏2019-8-23霍夫曼编码霍夫曼编码例子:将例子:将010100111100解码解码 解码过程:解码过程:01010 011 1 1 00 a3 a1 a2 a2 a6a2 a6 a1 a4 a3 a5 1 00 011 0100 01010 01011 30谢谢观赏2019-8-23 a2 a6 a1 a4 a3 a5 1 00 011 0100 01010 01011 编码的平均长度编码的平均长度:symbolbitsLavg/2.2)5)(04.0(50)(06.0()4)(1.0()3)(1.
15、0()2)(3.0()1)(4.0(其信源的熵为其信源的熵为2.14bits/symbol,霍夫曼编码编码效霍夫曼编码编码效率为率为0.93731谢谢观赏2019-8-23霍夫曼编码霍夫曼编码 静态编码静态编码 在压缩之前就建立好一个概率统计表在压缩之前就建立好一个概率统计表和编码树。算法速度快,但压缩效果和编码树。算法速度快,但压缩效果不是最好不是最好 动态编码动态编码 对每一个图像,临时建立概率统计表对每一个图像,临时建立概率统计表和编码树。算法速度慢,但压缩效果和编码树。算法速度慢,但压缩效果最好最好32谢谢观赏2019-8-23霍夫曼编码的特点霍夫曼编码的特点 编码值不唯一编码值不唯一
16、 当图像灰度值分布很不均匀时,霍夫曼编当图像灰度值分布很不均匀时,霍夫曼编码效率高。码效率高。编码过程要经过编码过程要经过-次合并(有个灰次合并(有个灰度级),较大时,计算量大度级),较大时,计算量大 改进:用亚最优变长码:截断霍夫曼编码,改进:用亚最优变长码:截断霍夫曼编码,霍夫曼平移编码霍夫曼平移编码33谢谢观赏2019-8-236.2.2 算术编码(属于统计编码算术编码(属于统计编码)(自学)(自学)假设某个字符的出现概率为假设某个字符的出现概率为 80%,该字符事实上只,该字符事实上只需要需要-log2(0.8)=0.322 个二进制位进行编码个二进制位进行编码难道真的能只输出难道真的
17、能只输出 0.322 个个 0 或或 0.322 个个 1 吗?吗?算术编码的输出是:一个小数算术编码的输出是:一个小数算术编码对整条信息(无论信息有多么长),其输出仅仅是一个数,而且是一个介于0和1之间的二进制小数。例如算术编码对某条信息的输出为1010001111,那么它表示小数0.1010001111,也即十进制数0.6434谢谢观赏2019-8-23 从整个符号序列出发,采用递推形式连续从整个符号序列出发,采用递推形式连续编码编码 在算术编码中源符号和码字间的一一对应在算术编码中源符号和码字间的一一对应关系并不存在。关系并不存在。1个算术码字要赋给整个个算术码字要赋给整个信源符号序列而
18、码字本身确定信源符号序列而码字本身确定0和和1之间的之间的1个实数区间个实数区间 随着符号序列中的符号数量增加,用来代随着符号序列中的符号数量增加,用来代表它的区间减小,而表达区间的信息单位表它的区间减小,而表达区间的信息单位数量变大数量变大算术编码的特点算术编码的特点35谢谢观赏2019-8-23例:来自一个例:来自一个4-符号信源符号信源a,b,c,d的由的由5个符号组成的个符号组成的符号序列:符号序列:abccd.已已P(a)=0.2,P(b)=0.2,P(c)=0.4,P(d)=0.2.可用可用0.068来表示整个符号序列来表示整个符号序列36谢谢观赏2019-8-236.2.3 行程
19、编码行程编码 RLE(属于统计编码属于统计编码)行程行程:具有相同灰度值的像素序列。:具有相同灰度值的像素序列。是一种熵编码,广泛应用于各种图象格式的数是一种熵编码,广泛应用于各种图象格式的数据压缩处理中据压缩处理中,如如BMP,TIFF,JPEG。编码思想:用行程的灰度和行程的长度代替行编码思想:用行程的灰度和行程的长度代替行程本身。程本身。例:设重复次数为例:设重复次数为 iC,重复像素值为重复像素值为 iP 编码为:编码为:iCiP iCiP iCiP编码前:编码前:aaaaaaabbbbbbcccccccc 编码后:编码后:7a6b8c37谢谢观赏2019-8-23RLE比较适合于二值
20、图像的编码比较适合于二值图像的编码38谢谢观赏2019-8-23(1)一维行程编码一维行程编码 对图象进行行扫描时,行内各象素的灰度对图象进行行扫描时,行内各象素的灰度级可组成一个整数序列级可组成一个整数序列x1,x2,xN。在行程在行程编码中,我们将这个序列映射成整数对编码中,我们将这个序列映射成整数对(gk,lk),其中其中gk表示灰度级,表示灰度级,lk表示行程表示行程。行程编码行程编码39谢谢观赏2019-8-23(2)二维行程编码二维行程编码 一维行程编码只考虑消除每行内象素的相关性,未考虑行间象素的相关性。二维行程编码的基本原理是跟踪各个黑色和白色游程的起始和终结点。40谢谢观赏2
21、019-8-23原图象文件:原图象文件:277560字节字节行程编码文件:行程编码文件:279860字节字节压缩比:压缩比:0.99241谢谢观赏2019-8-23原图象文件:原图象文件:66616字节字节行程编码文件:行程编码文件:9272字节字节压缩比:压缩比:7.18542谢谢观赏2019-8-23行程编码行程编码 如果图像是由很多块颜色或灰度相同的如果图像是由很多块颜色或灰度相同的大面积区域组成的,特别是二值图象,大面积区域组成的,特别是二值图象,采用行程编码可以达到很高的压缩比。采用行程编码可以达到很高的压缩比。如果图像中的数据非常分散,则行程编如果图像中的数据非常分散,则行程编码不
22、但不能压缩数据,反而会增加图像码不但不能压缩数据,反而会增加图像文件的大小。文件的大小。为了达到较好的压缩效果,一般不单独为了达到较好的压缩效果,一般不单独采用行程编码,采用行程编码,而是和其他编码方法结而是和其他编码方法结合使用。合使用。分析:分析:43谢谢观赏2019-8-236.3 有损压缩有损压缩 有损压缩是以牺牲图像重构的准确度为有损压缩是以牺牲图像重构的准确度为代价换取压缩能力增加的概念为基础的。代价换取压缩能力增加的概念为基础的。如果产生的失真是可以容忍的,则压缩如果产生的失真是可以容忍的,则压缩能力上的增加就是有效的。能力上的增加就是有效的。44谢谢观赏2019-8-23有损预
23、测编码有损预测编码:直接对像素在图像空:直接对像素在图像空间进行操作间进行操作,称为空域方法。邻近的称为空域方法。邻近的M个个值预测当前值,当前值与预测值之差量化值预测当前值,当前值与预测值之差量化编码,(一维、二维预测等)编码,(一维、二维预测等)变换编码变换编码:基于图像变换的编码方法,:基于图像变换的编码方法,称为频域方法。称为频域方法。45谢谢观赏2019-8-23 预测编码的基本原理预测编码的基本原理 利用已有样本对新样本进行预测,将利用已有样本对新样本进行预测,将样本的实际值与其预测值相减得到误差样本的实际值与其预测值相减得到误差值,再对误差值进行编码。通常误差值值,再对误差值进行
24、编码。通常误差值比样本值小得多,从而达到数据压缩的比样本值小得多,从而达到数据压缩的效果。效果。6.3.1 有损预测编码有损预测编码46谢谢观赏2019-8-23 ),(11nmnmnnxxxfx 可以是固定的,也可以是自适应的;可可以是固定的,也可以是自适应的;可以是线性的,也可以是非线性的。以是线性的,也可以是非线性的。预测器设计得越好,对输入的数据压缩预测器设计得越好,对输入的数据压缩就越多。就越多。有损预测编码有损预测编码47谢谢观赏2019-8-23有损预测编码有损预测编码DPCM(差分脉冲编码调制差分脉冲编码调制)系统系统nfne 量化器量化器编码器编码器预测器预测器nfnfne压
25、缩图像压缩图像nf解码器解码器预测器预测器压缩压缩图像图像解压图像解压图像nfne 输入输入图像图像48谢谢观赏2019-8-23 德尔塔调制德尔塔调制 最优量化器最优量化器 最佳线性预测器最佳线性预测器 线性自适应预测编码线性自适应预测编码有损预测编码有损预测编码49谢谢观赏2019-8-23预测的阶数。预测系数,其中,则称为线性预测,的线性组合,是若mafafffefafffffimiininnnnmiininnmnmnn1111,有损预测编码有损预测编码50谢谢观赏2019-8-23 采用均方误差(采用均方误差(MSEMSE)为极小值的准则来获得)为极小值的准则来获得DPCMDPCM,称
26、为最佳线性预测,亦即此时预测误差,称为最佳线性预测,亦即此时预测误差最小。对于图像来说,最佳线性预测的关键就最小。对于图像来说,最佳线性预测的关键就是求出各个预测系数,使得预测误差最小,从是求出各个预测系数,使得预测误差最小,从而使得接收图像和原图像差别最小。而使得接收图像和原图像差别最小。有损预测编码有损预测编码22nnnffEeE51谢谢观赏2019-8-23nfne 量化器量化器编码器编码器预测器预测器nfnfne压缩图像压缩图像输入输入图像图像为简化分析,设:为简化分析,设:miininnnnnnnfafffefef152谢谢观赏2019-8-23 选选 ak 使使EEe 2n 最小。
27、最小。021222inmiininnnnaeEfafEffEeE令在假在假fn具有零均值和方差为具有零均值和方差为2 2的条件下解出联立的条件下解出联立方程的解集:方程的解集:rRai153谢谢观赏2019-8-23R-1是是mm自相关矩阵的逆矩阵自相关矩阵的逆矩阵212221212111mnmnnmnnmnmnnnnnnmnnnnnnffEffEffEffEffEffEffEffEffERTmaaaa21TmnnnnnnffEffEffEr 2154谢谢观赏2019-8-23 方程的解方程的解 a1,a2,am 便是一组最佳的便是一组最佳的预测系数。压缩效果可用方差预测系数。压缩效果可用方差
28、2e(n)来衡量来衡量:原始序列相关性越强,原始序列相关性越强,R(i)越大,越大,2e(n)越小,越小,压缩效果越显著;原始序列互不相压缩效果越显著;原始序列互不相关,即关,即R(i)=0,i0,则,则,2e(n)=2一点也一点也不能压缩。不能压缩。miineiRa122)()(55谢谢观赏2019-8-236.3.2 变换编码变换编码通常是指将某种正交变换作为通常是指将某种正交变换作为映射变换,用变换系数来表示原始图象,映射变换,用变换系数来表示原始图象,对变换系数进行编码。对变换系数进行编码。对一个对一个 N N 的图像的图像f(x,y):1010,1010,),(),(),(),(),
29、(),(NuNvvuNxNyvuyxhvuTyxfyxgyxfvuT正变换正变换逆变换逆变换56谢谢观赏2019-8-23变换编码变换编码 若输入是广义平稳序列,则存在一种最佳的若输入是广义平稳序列,则存在一种最佳的正交变换正交变换。所谓最佳:。所谓最佳:1.变换系数互不相关;变换系数互不相关;2.数值较大的方差出现在少数系数中,即数值较大的方差出现在少数系数中,即能量高度集中。能量高度集中。这样,可在允许的总的均方误差一定这样,可在允许的总的均方误差一定的条件下,将数据减到最少。的条件下,将数据减到最少。57谢谢观赏2019-8-23变换编码变换编码 由于卡洛变换由于卡洛变换(KLT)的基向
30、量是原始图象的基向量是原始图象协方差矩阵的特征向量,对于不同的图象,协方差矩阵的特征向量,对于不同的图象,有着不同的最佳基向量。基向量不是固定有着不同的最佳基向量。基向量不是固定的,所以一般没有快速算法,因此只宜于的,所以一般没有快速算法,因此只宜于作理论分析和试验用。作理论分析和试验用。实用上用得较多的是离散傅立叶变换实用上用得较多的是离散傅立叶变换(DFT)、离散余弦变换离散余弦变换(DCT)、离散小波变离散小波变换换(DWT)和沃尔什和沃尔什哈达玛变换哈达玛变换(WHT)。它们的基向量是固定的,有比较成熟的快它们的基向量是固定的,有比较成熟的快速算法。速算法。58谢谢观赏2019-8-2
31、3变换编码压缩框图变换编码压缩框图?各框图实现了何种冗余压缩各框图实现了何种冗余压缩?59谢谢观赏2019-8-23 基于基于DCT的图像压缩编码的图像压缩编码 离散余弦变换离散余弦变换 是图像压缩中最常用的一种是图像压缩中最常用的一种变换变换。1,.,2,1for 2 0for 1)(where2)12(cos2)12(cos)()(),(),(,NuNuNuNvyNuxvuyxhyxgvuvuDCT变换在信息压缩变换在信息压缩能力和计算复杂性之能力和计算复杂性之间提供了平衡。间提供了平衡。60谢谢观赏2019-8-23vu MATLAB函数函数 g=dct2(f);反变换反变换 f =id
32、ct2(g);61谢谢观赏2019-8-23讨论讨论 1:子图像的选择子图像的选择 保留保留 25%的系数来重构图像的系数来重构图像计算复杂度计算复杂度 子图像的尺寸对变换编码重构误差的影响子图像的尺寸对变换编码重构误差的影响8x8 足够了足够了DCT 最好最好62谢谢观赏2019-8-23子图像的选择子图像的选择放大的原图放大的原图使用使用 25%的的DCT系数、系数、8x8子图恢复子图恢复图像图像DCT 系数系数子图子图:8x8 pixels子图子图:2x2 pixels子图子图:4x4 pixels63谢谢观赏2019-8-23讨论讨论 2:表示变换系数时,可根据每个系数的重要程表示变换
33、系数时,可根据每个系数的重要程度分配不同比特数度分配不同比特数:-较重要的系数较重要的系数 分配大比特数分配大比特数 -不太重要的系数不太重要的系数 分配小比特数或不分分配小比特数或不分配配 两种常用的比特分配方法两种常用的比特分配方法 -区域编码区域编码:基于最大方差分配比特基于最大方差分配比特,对所有对所有子图使用单一固定的模板进行编码子图使用单一固定的模板进行编码 -门限编码门限编码:基于最大量级的变换系数分配基于最大量级的变换系数分配比特比特64谢谢观赏2019-8-23区域编码举例区域编码举例65谢谢观赏2019-8-23门限编码举例门限编码举例门限模板门限模板门限系数排序序列门限系
34、数排序序列66谢谢观赏2019-8-23讨论讨论3:DCT 量化矩阵量化矩阵 图像质量和量化程度的矛盾:大的量化图像质量和量化程度的矛盾:大的量化步长会产生大的图像失真;小的又会导步长会产生大的图像失真;小的又会导致低压缩率致低压缩率 如何有效地量化如何有效地量化 DCT 系数系数?由于人眼对高频不敏感,低频信号就比高频由于人眼对高频不敏感,低频信号就比高频信号更重要。信号更重要。如,如,JPEG 对高频系数用了大的量化步长,对高频系数用了大的量化步长,图像并没有出现明显的失真。图像并没有出现明显的失真。67谢谢观赏2019-8-23原图原图512x512 pixelsFourierHadam
35、ardDCTError子图像子图像:8x8 pixels量化时截取量化时截取50%系数系数(只保留只保留32 个个最大系数最大系数)RMS Error=1.28RMS Error=0.86RMS Error=0.6868谢谢观赏2019-8-23 制定图像标准的国际组织制定图像标准的国际组织:ISO(国际标准化组织)国际标准化组织)CCITT(国际电报电话咨询委员会)国际电报电话咨询委员会)联合组织下进行制定的联合组织下进行制定的 连续色调图像压缩标准连续色调图像压缩标准 静止帧黑白、彩色压缩(静止帧黑白、彩色压缩(JPEG标准)标准)连续帧单色、彩色压缩(连续帧单色、彩色压缩(MPEG标准)
36、标准)6.4 静止图像压缩编码的技术标准静止图像压缩编码的技术标准JPEG69谢谢观赏2019-8-23静止帧黑白、彩色压缩静止帧黑白、彩色压缩(JPEG)JPEG标准简述标准简述 JPEG压缩流程压缩流程 JPEG压缩算法的实现压缩算法的实现 颜色变换颜色变换零偏置转换零偏置转换 频域变换频域变换系数量化系数量化 符号编码符号编码 JPEG压缩举例压缩举例70谢谢观赏2019-8-23有三种压缩系统:有三种压缩系统:(1)基线编码系统基线编码系统:面向大多数有损压缩的应用,采:面向大多数有损压缩的应用,采用用DCT变换压缩。变换压缩。(2)扩展编码系统扩展编码系统:面向递进式应用,从低分辨率
37、到:面向递进式应用,从低分辨率到高分辨率逐步递进传递的应用。高分辨率逐步递进传递的应用。(3)独立编码系统独立编码系统:面向无损压缩的应用,采用无损:面向无损压缩的应用,采用无损预测压缩,符号编码采用霍夫曼或算术编码。预测压缩,符号编码采用霍夫曼或算术编码。一个产品或系统必须包括对基线系统的支持一个产品或系统必须包括对基线系统的支持1.JPEG标准简述标准简述71谢谢观赏2019-8-232.JPEG压缩流程压缩流程72谢谢观赏2019-8-23(2)颜色空间转换颜色空间转换 人眼对亮度更敏感,提取亮度特征,将人眼对亮度更敏感,提取亮度特征,将RGB转换为转换为YCbCr模型,编码时对亮度采用
38、特殊编码:模型,编码时对亮度采用特殊编码:Y =0.299R+0.5870G+0.1140B(亮度)Cb=0.1787R 0.3313G+0.5000B+128(色度)Cr=0.5000R 0.4187G 0.0813B+128(色度)颜色解码:颜色解码:R=Y+1.40200(Cr 128)G=Y 0.34414(Cb 128)0.71414(Cr 128)B=Y+1.77200(Cb 128)(1)构造子图像构造子图像 (子图像尺寸:子图像尺寸:8 x 8)JPEG73谢谢观赏2019-8-23()零偏置转换零偏置转换 对于灰度级是对于灰度级是2n的像素,通过减去的像素,通过减去2n-1,
39、替换像素本身替换像素本身 对于对于n=8,即将即将0255的值域,通过减去的值域,通过减去128,转换为值域在,转换为值域在-128127之间的值之间的值 目的:目的:使像素的绝对值出现使像素的绝对值出现3位位10进制的进制的概率大大减少概率大大减少JPEG74谢谢观赏2019-8-23例例:用用8x8的的JEPG基线标准,压缩并重构下列子图基线标准,压缩并重构下列子图525561667061647363596690109856972625968113144104667363587112215410670696761681041268868707965607077685875857164595
40、56165838779696865767894JPEG75谢谢观赏2019-8-230偏置转换后偏置转换后-76-73-67-62-58-67-64-55-65-69-62-38-19-43-59-56-66-69-60-1516-24-62-55-65-70-57-626-22-58-59-61-67-60-24-2-40-60-58-49-63-68-58-51-65-70-53-43-57-64-69-73-67-63-45-41-49-59-60-63-52-50-34JPEG76谢谢观赏2019-8-23()频域变换频域变换(DCT 变换)变换)频域变换产生频域变换产生64个系数个系
41、数1.第一个系数称为第一个系数称为直流系数直流系数(DC系系数)数)2.其余的其余的63个系数称为个系数称为交流系数交流系数(AC系数)系数)JPEG77谢谢观赏2019-8-23正向正向DCT变换(变换(N=8)后变成后变成-415-29-62 25 55-20-1 3 7-21-62 9 11-7-6 6-46 8 77-25-30 10 7-5-50 13 35-15-9 6 0 3 11-8-13-2-1 1-4 1-10 1 3-3-1 0 2-1-4-1 2-1 2-3 1-2-1-1-1-2-1-1 0-1JPEG78谢谢观赏2019-8-23()系数量化系数量化 对于亮度和度色
42、使用不同的量化阈值模板,并取整对于亮度和度色使用不同的量化阈值模板,并取整 亮度的量化模板系数亮度的量化模板系数 16 11101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399JPEG79谢谢观赏2019-8-23 色度的量化模板系数色度的量化模板系数17 18244799999999182126669999999924265699999999994766999999999999
43、9999999999999999999999999999999999999999999999999999999999999999量化是量化是JPEGJPEG算法中损失图像精度的根源算法中损失图像精度的根源JPEG80谢谢观赏2019-8-23量化变换后的数组量化变换后的数组(取整采用四舍五入取整采用四舍五入方式方式)经正向经正向DCT变换后变换后81谢谢观赏2019-8-23()符号编码 将量化后的系数,按之字形重新排序成矢量,将量化后的系数,按之字形重新排序成矢量,全零结尾用特殊符号全零结尾用特殊符号EOBZig-Zag编码-26-3 1-3-2-6 2-4 1-4 1 1 5 0 2 0
44、0-1 2 0 0 0 0 0-1-1 EOB82谢谢观赏2019-8-23 符号编码符号编码:-26-3 1-3-2-6 2-4 1-4 1 1 5 0 2 0 0-1 2 0 0 0 0 0-1-1 EOB区间号编码区间号编码(SSSS)+系数预测误差本身编码系数预测误差本身编码(VVVV)u DC的编码方式(预测的编码方式(预测+统计)统计):编码由两部分组成:编码由两部分组成:DC和AC系数用不同的方式分别编码JPEG83谢谢观赏2019-8-23DCDC的编码方式(预测的编码方式(预测+统计)统计)第一步第一步:求:求DPCM(差分脉冲调制码差分脉冲调制码),用当,用当前的前的DC,
45、减去前一个子图的减去前一个子图的DC VVVV:DIFF=DC PRE_DC 第二步第二步:根据:根据DIFF求出区间号:求出区间号:SSSS 通过通过DIFF查区间编号表得出区间号查区间编号表得出区间号SSSS根据根据SSSS查哈夫曼编码表得出查哈夫曼编码表得出SSSS的哈夫的哈夫曼编码曼编码 第三步第三步:对:对VVVV编码,正数是自己,负数编码,正数是自己,负数用补码(求反)用补码(求反)JPEG84谢谢观赏2019-8-23用用-9查查区间表区间表得:得:SSSS=4 用用4查哈夫曼查哈夫曼编码表编码表得:得:101 VVVV=-9二进制编码为二进制编码为:1001求反求反:1001=
46、0110 最后的编码为最后的编码为:101+0110=1010110PreDC-17DC-26DC的编码方式(预测的编码方式(预测+统计)统计)例子例子:DC=-26PRE_DC=-17 DIFF=-26-(-17)=-9JPEG85谢谢观赏2019-8-23u AC系数的编码方式编码由两部分组成:编码由两部分组成:区间号编码区间号编码(RRRR/SSSS)+系数本身系数本身(VVVV)第一部分第一部分:SSSS:区间号区间号(查查AC区间表区间表)RRRR:该系数前值为该系数前值为0的系数的个数(行程的系数的个数(行程数)。数)。RRRR/SSSS的编码的编码:查查区间编码表区间编码表第二部
47、分第二部分:VVVV:系数本身编码系数本身编码-26-3 1-3-2-6 2-4 1-4 1 1 5 0 2 0 0-1 2 0 0 0 0 0-1-1 EOBJPEG86谢谢观赏2019-8-23 符号编码结果举例符号编码结果举例完成后的编码数组(重排的)是:完成后的编码数组(重排的)是:1010110 0100 001 0100 0101 100001 0110 100011 001 100011 001 001 100101 1101110 111000 0110 11110100 000 1010 完成编码的重排数组的总位数是完成编码的重排数组的总位数是92,不压缩需,不压缩需要要8x
48、8x8=512位。结果的压缩率是位。结果的压缩率是5.6:1。-26-3 1-3-2-6 2-4 1-4 1 1 5 0 2 0 0-1 2 0 0 0 0 0-1-1 EOBJPEG87谢谢观赏2019-8-23JPEG2000 vs.JPEGlow bit-rate performance88谢谢观赏2019-8-23作业:已知信源已知信源a,b,c,d,e,f,g,h出现的概出现的概率分别为率分别为0.20,0.09,0.11,0.13,0.07,0.12,0.08,0.20。试将该信试将该信源编为霍夫曼编码,要求写出编码过源编为霍夫曼编码,要求写出编码过程,并计算霍夫曼编码的平均码长及
49、程,并计算霍夫曼编码的平均码长及编码效率编码效率89谢谢观赏2019-8-23区间区间DC哈夫曼编码表哈夫曼编码表区间区间 编码编码 区间区间 编码编码 0 00 6 1110 1 010 7 11110 2 011 8 111110 3 100 9 1111110 4 101 A 11111110 5 110 B 111111110返90谢谢观赏2019-8-23区间表区间表 范围范围 DCDC差区间差区间 ACAC区间区间 0 0 N/A -1,1 1 1-3,-2,2,3 2 2 -7,-4,4,7 3 3 -15,-8,8,15 4 4 -31,-16,16,31 5 5 -63,-32,32,63 6 6ACDC91谢谢观赏2019-8-23区间区间AC哈夫曼编码表哈夫曼编码表行程行程/区间区间 编码编码 行程行程/区间区间 编码编码 0/0 1010 0/7 1111000 0/1 00 0/8 1111110110 0/2 01 0/9 11111111100000 0/3 100 0/A 11111111100000 0/4 1011 1/1 1100 0/5 11010 1/2 11011 0/6 111000 1/3 1111001 .BJPEG92谢谢观赏2019-8-23