2.3静态图象压缩标准JPEG主讲人:黄一华看下面这两幅图片:你能分辨哪一幅是Bmp格式,哪一幅是JPEG格式吗?图片1图片2Bmp格式(900K)JPEG格式(40K)为什么会有如此大的差距呢?JPEG采用了图象压缩的技术本节重点内容JPEG标准的基本系统中压缩过程有哪几步,以及各步的工作原理是什么?2.3.1JPEG标准的主要内容JPEG标准选定ADCT作为静态图象压缩的标准化算法本标准有两大分类。第一类方式以DCT为基础缺点:含有量化过程、非可逆优点:变换系数较少,还原质量高第二类方式以二维空间DPCM为基础缺点:压缩率低优点:可完全复原2.3.2JPEG静态图象压缩算法JPEG定义两种相互独立的基本压缩算法。1.一种是基于DCT的有失真压缩算法。2.另一种是基于空间线性预测技术(DPCM)的无失真压缩算法。1.基于DPCM的无失真编码为了满足无失真压缩的需要,JPEG选择的一种简单的预测编码方式。优点:硬件容易实现,图象重建质量好缺点:压缩比太低(2:1)2.基于DCT的有失真压缩编码(重点)包括两种不同的系统,基本系统和增强系统,增强系统是基本系统的扩充。基于DCT编码器的工作原理框图见图2.9。FDCT表说明熵编码器量化器表说明源图象数据(8*8)压缩图象数据编码器图2.9基于DCT编码过程1.原始图象分割成8*8子块2.离散余弦变换3.量化处理4.DC系数的编码和AC系数的行程编码5.熵编码基于DCT的有失真压缩编码五个步骤:(1).分成8*8子块原始图象顺序分割成8*8子块(共64小块,其中每一块可以作为一个整体对待)(2).离散余弦变换离散余弦正变换(FDCT)采样精度为P位(二进制),把[0,2p-1]范围的无符号数变成[-2p-1,2p-1]的有符号数,作为离散余弦正变换(forwardDCT,FDCT)的输入输出:经FDCT后输出64个基信号的幅值,即DCT系数。(3).量化处理输入:对FDCT输出的DCT系数进行量化处理关键:找最小量化失真(误差)的量化器。作用:在一定主观保真度图象质量前提下,丢掉那些对视觉影响不大的信息,通过量化可调节数据压缩比。输出:DC系数(直流)和AC系数(交流)JPEG采用线性均匀量化器,定义为对64个DCT系数除以量化步长,再四舍五入取整。FQ(u,v)=IntegerRound[F(u,v)/Q(u,v)]Q(u,v):量化器步长,是量化表的元素。量化表量化表系数随DCT系数的位置和彩色分量不同有不同的值,尺寸为8*8,与64个变换系数一一对应。例子参见教材P28表2.2和2.3表。(3).DC系数的编码和AC系数的行程编码输入:量化后的DC系数和AC系数。输出:经DPCM编码后的DC系数,和经行程编码后的AC系数。(3)直流分量DC(1).64个变换系数经量化后,坐标u=v=0的F(0,0)称DC系数,即直流分量。是64个空域图象采样值的平均值。(2).JPEG的量化后的DC系数采用DPCM编码,即对DIFF=DCi–DCi-1编码。如图:教材29页,图2.11。(3).采用这种编码方式的原因:相邻8*8块之间DC系数有较强相关性。(3)交流分量其余63个交流系数(AC)采用行程编码。(Z字型扫描)可增加行程中连续0的个数。如图:●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●DCAC01AC77(3)例2.3假设AC系数扫描结果中包含“…,3,0,0,0,0,0,12,0,0,0…”数据,则对它的行程编码的结果为“…,(5,4),(12),…”,其中(5,4)占用一个字节存放,(12)占用4位存放。(4).熵编码为了进一步压缩数据,需对DC码和AC行程编码的码字再做基于统计特性的熵编码。JPEG建议的熵编码是Huffman编码和自适应二进制编码。输入:DC码和AC行程编码的码字。输出:压缩后的数据。熵编码可分成两步进行(1)先把DC码和形成编码转换成中间符号序列。(2)然后给这些符号赋予变长码字。(1).熵编码的中间格式符号1:(行程,尺寸)符号2:(幅值)行程:前后两个非零AC系数之间连续0的个数尺寸:后一个非零AC系数幅值编码所需比特数幅值:用以表示非零AC系数的幅值。范围:直流分量DC也有类似于AC系数的编码格式:符号1:(尺寸)符号2:(幅值)尺寸:DC差值的幅值编码所需比特数。幅值:DC的幅值,范围:(2)可变长度熵编码将63个AC系数表示为符号1和符号2的序列,其中行程长度超过15时,有多个符号1,块结束(EOB)时仅有以个符号1(0,0)。可变长度熵编码就是对上述序列进行变长编码。五个步骤的关系前一个步骤的输出是下一个步骤的输入。过程:原始图象分成8*8块DCT系数量化后的DCT系数编码的DC系数和行程编码的AC系数熵编码(5).压缩比和图象质量压缩效果(比特/象素)质量0.25~0.50中~好0.50~0.75好~很好0.75~1.5极~好1.2~2.0与原始图象分不出3.基于DCT的累进操作方式编码以累进的方式对图像进行多次的扫描压缩。两种累进方式(1).频谱选择法一次扫描中只对64个DCT变换系数中某些频带的系数进行编码。(2).按位逼近法沿着DCT量化系数有效位方向分段累进编码。4.基于DCT的分层操作方式用于:在必须使用低分辨率的设备来存取或观察高分辨率图象的应用中,这种方式非常有效。课后作业1。教材第69页,第5题2。思考:JPEG还有哪些可以改进的地方?TheEnd谢谢大家!