收藏 分享(赏)

数字图象处理 第6章 图像数据压缩.ppt

上传人:yjrm16270 文档编号:6921677 上传时间:2019-04-27 格式:PPT 页数:93 大小:1.68MB
下载 相关 举报
数字图象处理 第6章 图像数据压缩.ppt_第1页
第1页 / 共93页
数字图象处理 第6章 图像数据压缩.ppt_第2页
第2页 / 共93页
数字图象处理 第6章 图像数据压缩.ppt_第3页
第3页 / 共93页
数字图象处理 第6章 图像数据压缩.ppt_第4页
第4页 / 共93页
数字图象处理 第6章 图像数据压缩.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、第六章 图像数据压缩,主要内容 6.1 概述 6.2 无损压缩算法 6.3 有损压缩算法 6.4 变换编码 6.5 混合编码 6.6 国际压缩标准简介 6.7 JPEG压缩算法,6.1 概述,6.1.1 数据压缩编码的重要性数字图像的数据量非常大 。 1) 彩色视频信息对于画面的分辨率640*480的彩色图像,每秒30帧,则一秒钟的数据量为:640*480*3*30=27.6M 所以播放时,需要27.68221Mbps的通信回路。参考数据:宽带网为512K,电话线为56K。存储时,1张CD可存640M,则仅可以存放23秒的数据。,6.1 .1 数据压缩编码的重要性,2)传真数据如果只传送2值图

2、像,以200dpi的分辨率传输,一张A4稿纸的内容的数据量为:1654*2337*1=3888768bit 按14.4K的电话线传输速率,需要传送的时间是:270秒(4.5分),6.1 .1 数据压缩编码的重要性,两个问题: 1)存储大数据量的图像信息,使存储设备(内存、外存)的存储容量消耗很快。 2)在网络上传输图像时,由于图像信息的数据量太大了,本来就已经非常紧张的网络带宽变得更加不堪重负。如何用软件的手段来解决硬件上的物理极限。,6.1 .2 数据压缩编码的可能性,能进行压缩,是因为图像中存在有各种冗余。 1)数据冗余 数据与信息是不同的概念,数据是信息的载体,相同的信息可以用不同的数据

3、量来表示。你的妻子,Helen,将于明天晚上6点零5分在上海的虹桥机场接你。(23*2+10=56个半角字符)你的妻子将于明天晚上 6点零5分在虹桥机场接你。(20*2+3=43个半角字符)Helen将于明晚6点在虹桥接你。 (10*2+7=27个半角字符),结论:只要接收端不会产生误解,就可以减少承载信息的数据量。,6.1 .2 数据压缩编码的可能性,描述语言 1)“这是一幅 2*2的图像,图像的第一个像素是红的,第二个像素是红的,第三个像素是红的,第四个像素是红的”。,2)“这是一幅2*2的图 像,整幅图都是红色的”。,由此我们知道,整理图 像的描述方法可以达到压缩的目的。,6.1 .2

4、数据压缩编码的可能性,图像的视觉冗余 (彩色),2)心理视觉冗余,人类视觉分辨率为26 ,但常用28,就是视觉冗余。,6.1 .2 数据压缩编码的可能性,3 空间冗余(象素间冗余)例: 图像中的“A”是一个规则物体。光的亮度、饱和度及颜色都一样,因此,数据A有很大的冗余。4.结构冗余图像有非常强的纹理结构。如草席图结构上存在冗余。5.知识冗余图像的理解与某些基础知识有关。人脸的图像有同样的结构:嘴的上方有鼻子,鼻子上方有眼睛,鼻子在中线上,6.1.3 图像数据压缩方法的分类,分类方法有很多。按压缩过程中信息有无损失可以将数据压缩方法分为两类: 有失真压缩(熵压缩) 又称有损压缩,这类压缩的压缩

5、过程是不可逆的,无法完全恢复出原图像,信息有一定的丢失。 无失真压缩(冗余压缩、熵编码)又称为无损压缩,其压缩过程是可逆的,也就是说,从压缩后的图像能够完全恢复出原来的图像,信息没有任何丢失。,6.1.3 图像数据压缩方法的分类,按压缩过程中编码的原理又可以将压缩算法分为:,6.1.4 衡量数据压缩技术好坏的标准,三个重要的评价指标: 1. 压缩比大。 2实现压缩的算法简单、压缩、解压速度快(实时性要求髙)。 3. 恢复效果要好。到底解压缩后图像的质量如何,采用保真度准则来评价。,6.1.5 保真度准则,保真度准则有两种:客观保真度准则和主观保真度准则。 1.客观保真度准则 以压缩前后图像的误

6、差来度量。具体可以用原图像和压缩后图像之间的均方根误差或压缩后图像的均方根信噪比来度量。,6.1.5 保真度准则,1.客观保真度准则 1)设原图像为g(x,y),压缩后恢复的图像为f(x,y)(x,y=0,1N1),且每个象素均用m bit表示其灰度,则新旧图像的均方误差为:相应的均方根误差是 :,6.1.5 保真度准则,1.客观保真度准则 2)用压缩图像的均方信噪比:如果把压缩后恢复的图像表示成原图像和噪声的叠加,即 :,e(x,y)表示编码压缩后新旧图像之间的误差或编码噪声,压缩后图像的均方信噪比,相应的均方根信噪比,6.1.5 保真度准则,1.客观保真度准则 3)用f(x,y)的峰值平方

7、与均方噪声之比的均方根,来代替均方根信噪比,作为一种客观保真度的量度 。,6.1.5 保真度准则,2.主观保真度准则 通常,被处理的图像最终是让人进行观察,那么用人的视觉来评价图像的质量更有意义。事实上,具有相同客观保真度的不同图像,在人的视觉中可能引起不同的观察效果。这是因为客观保真度准则是一种统计平均意义下的度量准则,对于图像中的细枝末节它是无法反映出来的。,6.1.5 保真度准则,2.主观保真度准则 而且人的视觉系统还有许多特殊的性质,例如对光强敏感的对数特性,使得图像暗区的误差比其亮区误差影响更为重要。又如人的视觉系统对灰度突变的特别敏感性,使得发生于图像边缘轮廓附近的误差,比发生于一

8、般背景上的误差对图像质量有着更坏的影响等等。所有这些可能引起视觉明显差异的因素。用客观保真度准则往往是无法表示出来的,因此,根据人的主观感觉来评价图像质量十分必要。,6.1.5 保真度准则,主观保真度准则规定为: (1)极好:图像具有极高的质量,和你所想象的一样好。 (2)良好:图像质量高,能供满意的观察,干扰并不令人 讨厌。 (3)通过:图像具有可以接受的质量,干扰并不令人讨 厌。 (4)勉强:图像质量低劣,但你还希望改善它,干扰有些令人不愉快。 (5)低劣:图像质量很低劣,但还能观看,干扰确实令人讨厌。 (6)不能用:图像差得无法观看。,6.2 无损压缩算法,通过改变图像的描述方式,来实现

9、压缩。常用的有:行程(游长)编码,huffman编码、Fano-Shannon编码、预测编码等,一、行程编码(RLE编码),基本原理:在一个逐行存储的图像中,具有相同灰度(颜色)值的一些象素组成的序列称为一个行程。将一行中颜色值相同的相邻像素用一个计数值和该颜色值来代替。举例说明: aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4a3b2c1d5e7f (共12*8=96 bits),一、行程编码(RLE编码),在传真中的应用:传真件中一般都是白色比较多,而黑色相对比较少。所以可能常常会出现如下的情况:600W 3b 100w 12b 4w 3b 2

10、00w因为:5126001024所以:计数值如果均用10bit来表示10*7=70bit,一、行程编码(RLE编码),在传真中的应用:如果白色:10bit,黑色:4bit600w 3b 100w 12b 4w 3b 200w所需字节数为:4*10+3*4=52bit比原来的方式10*7=70bit减少了18bit,一、行程编码(RLE编码),致命弱点:如果图像中每两个相邻点的颜色都不同,用这种算法不但不能压缩,反而数据量增加一倍。 图像文件应用:单纯采用行程编码的压缩算法用得并不多,PCX、BMP文件算是其中的二种。 行程编码对于仅包含很少几个灰度级的图像,特别是二值图像,比较有效。,二、 H

11、uffman 编码(熵编码),信源的熵:它定义了观察到单个信源符号输出时所获得的平均信息量。如果信源各符号出现的概率P(Xi)相等,则熵达到最大。,二、 Huffman 编码(熵编码),编码的平均码长:其中ni是符号xi的长度。可以证明:编码的平均码长满足以下关系:(平均码长的下限是信源的熵),二、 Huffman 编码(熵编码),Huffman编码是50年代提出的一种基于统计的无损编码方法,它利用变长的码来使冗余量达到最小。所得到的平均码字长度可以接近信源的熵,因此在变长编码中是最佳的编码方法 。,二、 Huffman 编码(熵编码),基本原理:为了达到更大的压缩率,提出了一种方法,就是将在

12、图像中出现频度大的像素值给一个比较短的编码,将出现频度小的像数值给一个比较长的编码,每个数据的代码各不相同。,二、 Huffman 编码(熵编码),举例说明:aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7编码: f=0 e=10 a=110 b=1111 c=11100 d=1110111011011011011111111111111100111001110110101010100000000 (共 7*1+5*2+4*3+3*4+2*5+1*5=57 bits) 问题:怎样给每个数据分配唯一的编码,并使平均码长最短?,二、

13、Huffman 编码(熵编码),通过一个二叉树来编码,使常出现的字符用较短的码代表,不常出现的字符用较长的码代表。静态Huffman编码使用一棵依据字符出现的概率事先生成好的编码树进行编码。而动态Huffman编码需要在编码的过程中建立编码树。,二、 Huffman 编码(熵编码),Huffman算法的基本步骤 1. 对L个符号按其概率值P从大到小顺序排列,并将每个符号作为一棵树的叶结点 2. 如果没有到根结点,则1)两个概率值最小的结点合并成一个新结点并赋其概率为两子结点概率之和。2)结点到两个子结点的树枝分别赋值1和0 3. 从根结点开始到叶结点,将树枝上的值按顺序组成二进制值,则为该叶结

14、点上符号的Huffman码字。,二、 Huffman 编码(熵编码),c,b,a,f,e,7/22,5/22,4/22,2/22,1,0,f=11 e=01 a=00 b=101 c=1001 d=1000,d,1/22,3/22,6/22,22/22,13/22,9/22,3/22,1,0,1,0,1,0,1,0,二、 Huffman 编码(熵编码),aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7 经过Huffman编码之后的数据为: 0000000010110110110011001100001010101011111111

15、1111111(共 7*2+5*2+4*2+3*3+2*4+1*4=53 bits) 熵:平均码长:,二、Huffman 编码(熵编码),Huffman编码在图像压缩中的实现我们知道,对一幅图像进行编码时,如果图像的大小大于256时,这幅图像的不同的码字就有可能是很大,例如极限为256个不同的码字。对整幅图直接进行Huffman编码时,小分布的灰度值,就有可能具有很长的编码。如:100位以上,这样不但达不到压缩的效果反而会使数据量加大,应该如何处理?,二、 Huffman 编码(熵编码),常用的且有效的方法是:将图像分割成若干的小块,对每块进行独立的Huffman编码。例如:分成 的子块,就可

16、以大大降低不同灰度值的个数(最多是64而不是256)。 这种编码方法形成的码字是可辨别的,即一个码字不能成为另一码字的前缀。 Huffman编码对不同的信源其编码效率不同,适合于对概率分布不均匀的信源编码。,三、FanoShannon编码,Huffman编码需要多次排序,当Xi很多时十分不便。 FanoShannon编码更简单。,三、FanoShannon编码,1)排序:把X1 Xn 按概率大小从大到小排序。 2)分组:然后分为两组:X1 Xk 、 Xk1 Xn 使:3)赋值:给两组分别赋予0和1。 4)重复2)、3)直到每组仅包含一个Xi。,三、FanoShannon编码,H=2.14、N2

17、.2 近熵编码,四、算术编码,理论上Huffman编码对信源进行编码可以达到最佳编码效果。但计算机是按“位”进行处理。例如:设信源由两个符号组成x、y,概率分别为2/3和1/3。最优码长:计算机中不可能出现0.585位,只能用1位。Huffman编码结果分别为0和1。对于概率较大的X不能用较短的编码来表示。这是实际编码效果达不到理论压缩比的原因。,四、算术编码,算术编码不用一个特定的代码代替一个输入符号。 将要处理的数据映射到0,1)内的一个区间,构造出小于1且大于或等于0的数值,这个值就是这段数据的可译代码。,四、算术编码,例如:4符号信源a1a2a3a4,各字符出现的概率和设定的取值范围如

18、下:,四、算术编码,“范围”给出了字符的赋值区间,这个区间根据字符的概率进行划分(具体把a1、a2、a3、a4、a5分到哪个区间对编码本身没有影响,只要保证编解码器对字符的概率区间有相同定义即可)。,四、算术编码,假定:Ns=Fs+Cl*LNe=Fs+Cr*L式中:Ns为新子区间的起始位置; Fs为前子区间的起始位置; Cl当前符号的区间左端;Ne为新子区间的结束位置;Fe为前子区间的结束位置;Cr当前符号的区间右端;L为前子区间的长度。,四、算术编码,假定输入序列为a1、a2、a3、a2、a4输入a2时:Ns=Fs+Cl*L0.2+0.4*0.2=0.28Ne=Fs+Cr*L0.2+0.8*

19、0.2=0.36,四、算术编码,随着字符的输入,范围越来越小。当序列a1、a2、a3、a2、a4输入完毕后,编码范围为0.29152,0.2928)。换句话说,这范围内的每一个数值都对应这个序列。可取任意一个值比如: 0.29152即可。 解码过程相反,根据概率分配区间表和0.2915可以确定第一个字符为a1,去掉第一个字符的影响,就可以得到第二个字符。 这种方法用一个浮点数表示了一个序列。,五、无损预测编码,基本思想:提取每个象素中的新信息并对它们编码来消除象素间的冗余。这里1个象素的新信息定义为该象素的当前或现实值与预测值的差。注意这里正是由于象素间有相关性,所以才使预测成为可能。,五、无

20、损预测编码,无损预测编码系统的组成 1个编码器和1个解码器,它们各有1个相同的预测器 。符号编码器采用变长码对误差进行编码以产生压缩的数据,五、无损预测编码,可以提高数据压缩率。主要原因:误差值与原象素值相比小的多 ,且概率密度函数一般在0点有一个高峰。因此,对误差编码所需要的位数比原来少,压缩率可以进一步提高。解码器根据接收到的变长码重建,并执行下列操作,恢复原图像。,五、无损预测编码,问题:预测器如何设计?即:如何计算 一般用前m个象素(上一行、前一列等)的线性组合来进行预测:,m是线性预测器的阶, 是预测系数,round是舍入函数 。 n表示的是象素的空间坐标。,五、无损预测编码,1-D

21、线性预测:2-D线性预测:是图像从左到右,从上到下进行扫描时所扫描到的先前m个象素的函数。,五、无损预测编码,举例 最简单的1-D线性预测器:前值预测器 对应的编码方法称为差分编码或前值编码 最简单的2-D线性预测器:,6.3 有损压缩算法,行程编码、Huffman编码等无损压缩方式的设计思想是基于对信息的表述方法的改变,可以在一定程度上压缩数据量,但是一定有一个极限。 为进一步提高压缩比,可以根据人眼的视觉特性,通过消除视觉冗余,在接收方不产生误解的前提下进行一定的信息丢失,来实现压缩。,一、 量化,将图像用较少的灰度级别来表示。这是一种最简单的减小数据量的方法。量化又可以分为:均匀量化和非

22、均匀量化,1、均匀量化,采用相等的量化间隔对采样得到的信号作量化。均匀量化就是采用相同的“等分尺”来度量采样得到的幅度,也称为线性量化,如图所示。量化后的样本值Y和原始值X的差E=Y-X称为量化误差或量化噪声。,1、均匀 量化,为了用尽可能少的位数,得到尽可能髙的量化质量,通常采用非均匀量化的方法,这种方法也叫做非线性量化。,2、非均匀 量化,非均匀量化的基本想法是,对输入信号进行量化时,不同的输入信号采用不同的量化间隔。如图所示,这样就可以在满足精度要求的情况下用较少的位数来表示。,二、有损预测编码,基本思想:在无损预测编码的基础上加了一个量化器,通过对预测误差进行量化,进一步压缩数据量。,

23、二、有损预测编码,差分脉冲编码调制DPCM(differential pulse code modulation)量化器位于预测误差和符号编码器之间,取代无损编码器中的整数舍入模块,将预测误差映射到有限个输出 中, 的多少、大小就确定了有损预测编码中的压缩量和失真量,二、有损预测编码,预测器取最简单的预测器 ,即取作两级,即:可以构成所谓的Delta调制编码(DM)。由DM方法得到的码率是:1bit/象素。图像处理和分析(章毓晋)p308页(老版P161)给出了DM编码的一个例子。,二、有损预测编码,问题 斜率过载现象:在图像变化比较剧烈时,DM编码可能产生斜率过载现象,预测值总小于实际值,输

24、出跟不上输入的变化,使原陡峭的边沿轮廓变为平滑的轮廓。使图像边缘轮廓变模糊或者产生纹理。 边沿忙乱:在电视图像的DPCM中会出现这种情况。因为不同帧在同一象元位置上的量化噪声可不同,因此边沿呈现闪烁或跳动。,二、有损预测编码,问题 颗粒噪声:在图像灰度变化平缓的区域,恢复的图像会呈现“颗粒噪声”。这是因为灰度变化平缓,量化器的输出总是在小输出电平附近来回摆动,而视觉系统对这些区域的噪声特别敏感。 伪轮廓:如通常的量化一样,量化间隔太大,对于缓慢变化的边缘就会产生等高线一样的图形,叠加在图像上形成轮廓噪声。 以上四种噪声的解决办法:采用自适应量化,即量化间隔随信号变化的陡、缓而自己调节。,6.4

25、 变换编码,1变换编码系统前述编码都是对象素直接在空域实现的。压缩比一般较小。变换编码的基本思路:用可逆线性变换将图像映射成一组变换系数,然后将系数量化和编码。一个典型的变换编码系统框图如下:,压缩图像,6.4 变换编码,1变换编码系统一般采用正交变换,正交变换具有去相关和能量集中特性,因此经过正交变换之后,可以解除图像内部图像的相关性或将尽可能多的信息集中到尽可能少的变换系数上,此后进行量化时,对携带信息较多的变换系数,采用较小的间隔进行量化,而对携带信息较少的变化系数,进行粗量化甚至完全忽略。变换本身并不能压缩数据,压缩是在量化变换系数时取得的。,6.4 变换编码,2变换的选择许多图像变换

26、都可用于变换编码。但针对给定的编码应用,如何选择变换取决于可允许的重建误差和计算要求。变换具有将能量或信息集中于某些变换系数的能力。通常一个能把最多的信息集中到最少系数上去的变换所产生的重建误差最小。DCT比DFT有更强的能量集中能力。理论上,KLT是所有变换中信息集中能力最强的变换。从信息集中能力和计算复杂性综合考虑,DCT变换最优。,6.4 变换编码,3子图像尺寸选择子图像大小也是影响变换编码误差和计算复杂度的一个重要因素。在多数情况下,子图像大小应满足如下两个条件:相邻子图像之间的相关较少到某个可接受的水平;子图像的长和宽都是2的整数次幂(简化计算)。一般压缩量与计算复杂度都随子图像大小

27、的增加而增加。最常用的子图像大小为:88 1616 变换编码重建误差与子图像之间的关系,见图像处理和分析(章毓晋)P169页(新版P315)图6.5.2,6.4 变换编码,4比特分配 对变换系数如何处理(考虑丢掉那些变换系数、如何量化和编码等)。在多数变换编码中,保留的系数根据如下两种原则之一来选择确定:最大方差准则,称为分区编码;最大幅度准则 ,称为阈值编码。对整个子图像的系数截断、量化和编码的全过程称为比特分配。,6.4 变换编码,分区编码 基础是信息论中的不确定性原理。具有最大方差的变换系数带有最多的图像信息,它们应当保留在编码过程中。 分区编码对所有子图像采用同一模板,1表示保留的系数

28、、0表示去掉的系数。,6.4 变换编码,分区编码,对分区采样后保留的系数进行量化、编码。这样,分区模块中的每个象素可以用对每个系数编码所需的比特数表示。,6.4 变换编码,分区编码 一般有两种分配策略: 1)各系数分配相同的比特 2)给不同的系数分别分配几种固定数量的比特(右图)。,6.4 变换编码,分区编码 优点:(1)压缩比高 (2)视觉感觉好缺点: 计算复杂。,6.4 变换编码,阈值编码 分区编码所有子图像使用一个固定的模板。而阈值编码本质上是自适应的,可以做到为各个子图像保留的变换系数随子图像的不同而不同,因此是一种自适应变换编码方法。 在编码时,通常给出一个阈值模板,利用模板中的阈值

29、对图像变换系数进行量化。,6.4 变换编码,取阈值模板处理后结果 Z字形编码用Z字形扫描得到nn的1-D序列,用游长编码,6.4 变换编码,对变换子图像取阈值的方法有三种: 1. 所有子图像用一个全局阈值2.各个子图像分别用不同的阈值3.根据子图像中各个系数的位置选取阈值。,6.5 混合编码,混合编码实现的可能性及有效性:回顾一下讲过的几个内容的特点 1. 行程编码:擅长于重复数字的压缩。 2. Huffman编码:擅长于像素个数不同的编码。 3. 变换编码:擅长将高频部分分离出来。,6.5 混合编码,例:aaaa bbb cc d eeeee fffffff (共228=176 bits)

30、4 3 2 1 5 7行程编码:4a3b2c1d5e7f (共6(38)= 66Bits ),176,66,6.5 混合编码,aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7 Huffman编码:f=11 e=01 a=00 b=101 c=1001 d=10000000000000101101101100110011000010101010111111111111111(共 7*2+5*2+4*2+3*3+2*4+1*4=53 bits),176,66,53,6.5 混合编码,aaaa bbb cc d eeeee ffffff

31、f (共22*8=176 bits) 4 3 2 1 5 7 Hufman与行程编码混合:40031012100111000501711 (共:3+2+3+3+3+4+3+4+3+2+3+2=35 bits),176,66,53,35,6.6 国际标准简介,一、二值图像压缩标准 1G3和G4码 CCITT的两个小组负责指定的。G3码:自适应、1D游长编码技术,或者每组N行(N2、4)扫描线中的后N-1行用2-D游长编码。13:1G4码:G3码的简化版,只使用2-D编码。26:1 2JBIG 1991年由G3、G4组联合制定的。 采用了一种自适应技术提高对半调灰度图像的压缩比。,6.6 国际标准

32、简介,二、静止图像压缩标准1.JPEG压缩编码标准算法2. JPEG20002000年推出的,利用小波变换的一种变换编码方法。,6.6 国际标准简介,三、序列图像压缩标准 H.261 H.263 H.264 MPEGI MPEGII MPEG4 MPEG7,6.7 JPEG压缩算法,一、算法概要,6.7 JPEG压缩算法,JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB, YCbCr和CMYK。,6.7 JPEG压缩算法,二、JPEG算法的主要计算

33、步骤 1、图像分块。 2、FDCT变换。 3、量化(quantization)。 4、Z字形扫描(zigzag scan)。,6.7 JPEG压缩算法,二、JPEG算法的主要计算步骤 5、使用差分脉冲编码调制DPCM(differential pulse code modulation)对直流系数(DC)进行编码。 6、使用行程长度编码RLE(run-length encoding)对交流系数(AC)进行编码。 7、熵编码(entropy coding)。 8、组成位数据流,6.7 JPEG压缩算法,1、图像分块。对每个单独的彩色图像分量,把整个分量图像分成88的图像块。 2、FDCT变换。将

34、每个88的图像块作为二维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。,6.7 JPEG压缩算法,3、量化(quantization)目的:对经过FDCT变换后的频率系数进行量化 ,减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。对于有损压缩算法,JPEG算法使用均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。由于人眼对亮度信号比对色差信号更敏感,因此JPEG使用了两种量化表:,6.7 JPEG压缩算法,3、量化(quantization)表1 色度量化值( U、V ) 表2 亮度量化值( Y ),6.7

35、JPEG压缩算法,4、Z字形扫描(zigzag scan)。 目的:是为了增加连续的“0”系数的个数,就是“0”的游程长度。,把一个8 8的矩阵变成一个1 64的矢量,频率较低的系数放在矢量的顶部。,6.7 JPEG压缩算法,5、直流系数的编码8 8图像块经过DCT变换之后得到的DC直流系数有两个特点:一是系数的数值比较大,二是相邻8 8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码DCPM(differential pulse code modulation)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码,DeltaDC(0, 0)k-DC(0,

36、 0)k-1 ,6.7 JPEG压缩算法,6、交流系数的编码量化AC系数的特点是164矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码RLE(run length encode)对它们进行编码。,6.7 JPEG压缩算法,6、交流系数的编码JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。Bits 7 6 5 4 3 2 1 0 后续数连续0的个数 非0数bit数 非0系数值(015个) (015位),6.7 JPEG压缩算法,7、熵编码目的:对DCPM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。 在JPEG有损压缩算法中,使用哈夫曼编码器来减少熵。使用哈夫曼编码器的理由是可以使用很简单的查表(lookup table)方法进行编码。,6.7JPEG压缩算法,8、组成位数据流JPEG编码的最后一个步骤是把各种标记代码和编码后的图像数据组成一帧一帧的数据,这样做的目的是为了便于传输、存储和译码器进行译码,这样的组织的数据通常称为JPEG位数据流(JPEG bitstream)。,JPEG压缩编码示例,原图,JPEG 100:1,400:1,600:1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 图形图像

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报