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