1、静态图像的国际压缩标准JPEG2005年fall1 概述nJPEG(Joint Photographic Experts Group)是一个由 ISO和IEC两个组织机构联合组成的一个专家组n1992年成为国际标准 nJPEG是国际上彩色、灰度、静止图像的第一个国际标准,也是一个适用范围广泛的通用标准。它不仅适用于静止图像的压缩,电视图像序列的帧内图像的压缩编码,也常采用JPEG压缩方法。可用于多媒体CD-ROM,彩色图像传真,图文档案管理等。n该标准制定了有损压缩和无损压缩的编码方案。nJPEG的目的是为了给出一个适用于连续色调图像的压缩方法,使之满足以下要求:-达到或接近当前压缩比与图形保
2、真度的技术水平,能覆盖一个较宽的图形质量等级范围,能达到“很好”或“极好”的评估,与原始图像相比,人的视觉难以区分。-能适用于任何种类连续色调图像,且宽高比不受限制,同时也不受限于景物内容、图形复杂程度和统计特性。-计算的复杂性是可控制的,其软件可在各种CPU上完成,算法也可用硬件实现。-Sequential(line by line)and progressive(successive refinement of the whole image)decoding should both be possible.A lossless,hierarchical coding of the sam
3、e image with different resolutions should also be possible.-The user can select parameters to trade off-the quality of the reproduced image,-the compression processing time,-the size of the compressed image.格式nThe encoded data stream has a fixed interchange format-encoded image data-the chosen param
4、eters-tables of the coding process.n简化的中间格式n标准的非简化格式基本步骤颜色模式转换及采样;DCT变换;量化;编码;JPEG ModesnThe lossy,sequential DCT-based mode(baseline process,base mode)nThe expanded lossy,DCT-based modenThe lossless modenThe hierarchical moden 压缩比 10:1-100:1 (一般压缩比40:1)n试验表明,经压缩25倍还原后的彩色图像与原图相比,对非行家来说很难加以区别。n在损失某些图
5、像信息的情况下,JPEG可以把图像压缩比提的更高。例如当把 30:1 的压缩比用于一个全彩色的图像帧时,要求的图像存储空间就从1000K降至33K,而数据传输率则降至每秒1MB,这就降到了目前大多数存储设备可以处理的范围内了。2 图像预处理nAn image consists of at least one and at most N=255 components or planes.nEach component is a rectangular array XiYi of pixels(the samples).nThe resolution of the individual compo
6、nents may be different.nEach pixel is represented by p bits with values in the range from 0 to 2 p1.nAll pixels of all components of an image must have the same number of bits.-The lossy modes of JPEG use a precision of either 8 or 12 bits per pixel.-The lossless modes can use between 2 and 12 bits
7、per pixel.-With any other number of bits,the application must suitably transform the image.nThe compressed data includes:-X(maximum of all Xi)-Y(maximum of all Yi)-factors Hi and Vi for each plane.-Hi:relative horizontal resolution-Vi:relative vertical resolutionn例题:P100nthe image is divided into da
8、ta units-The lossless mode uses one pixel as one data unit.-The lossy mode uses blocks of 88 pixels.nNon-interleaved data orderingnInterleaved data orderingnInterleaved data units of different components are combined into Minimum Coded Units(MCU).nAccording to the JPEG standard-a maximum of four com
9、ponents can be encoded using the interleaved mode.-Each MCU can contain at most ten data units.-Within an image,some components can be encoded in the interleaved mode and others in the noninterleaved mode.3 基于DCT的有损顺序模式nAfter image preparation,the uncompressed image samples are grouped into data uni
10、ts of 88 pixelsnIn this baseline mode,each sample is encoded using p=8bit.Each pixel is an integer in the range 0 to 255.Example of DCT and IDCTDCT变换nDCT变换:空间域矩阵(P矩阵)和频率域矩阵(T矩阵)NjyNixyxPjCiCNjiTNxNy2)12(cos2)12(cos),()()(21),(10100,21)(),(jijCiC当1)(),(jCiC否则nThe pixel values are shifted into the zer
11、o-centered interval(128,127).在逆向离散余弦变换后,对重构图像中的每个样本值数据要加上128。nThis transformation must be carried out 64 times per data unit.The result is 64 coefficients.DCT对一个88的矩阵进行处理,得到一个88的频率系数矩阵。n物理意义:将信号从一种表达形式(空间域,即图像的像素值)变成另一种等同的表达形式(频率域,即频率系数),并且这种变换过程是可逆的。n数组T中每个元素称为变换系数,这些系数都有明确的物理意义:-i=0,j=0的值称为DC系数,它与
12、数组的平均值有关。-其余的值称为AC系数。随着i和j值的增加,相应系数分别代表逐步增加的水平空间频率分量和垂直空间频率分量的大小。u离散余弦变换方法研究较早,技术成熟,图像压缩实践证明DCT是许多图像的最佳变换,将88图像的空间表达式转换为频率域,只需要少量的数据点来表示图像。uDCT算法的性能很好,可以进行高效的运算,在硬件和软件中都容易实现。它的快速算法已可由专用芯片来实现,因而被广泛采用。n如果源图像为640480的分辨率(即由640480像素组成),则划分后的图像将包含8060个子块。JPEG将源图像划分为若干个子块,每个子块包含88个像素 一个被放大的88个像素的子块 表示图像灰度(
13、或颜色)的矩阵 经过离散余弦变换后的频率系数矩阵T n如果P矩阵中所有的值都是一样的,将对应一幅只包含一种颜色没有任何变化的图像。这时所有的AC系数对应余弦函数的和,它们将相互消去,所有的AC系数都为0。n如果P值中有一点小小的变化,对应一幅颜色均匀变化而不太精细的图像。矩阵T将包含许多值为0的AC系数,但不是全部的AC系数为0。n如果P值中有很大的变化,表示一幅小范围内颜色变化剧烈的图像,或一幅有许多精密细节的图像。这时的AC系数值为0的将很少,或者都不为零。n一般而言,如果像素值作为其位置的函数变化越快,越不均匀,则AC系数对应越大的数值。另外,有更多的空间频率较高的值不为零。总的来说,A
14、C系数本质上是像素变化的一种尺度。量化nDCT变换的作用是使空间域的能量重新分布,降低图像的相关性。DCT变换本身并不能达到数据压缩的作用。n要实现图像压缩,需要选择适当的比特分配方案和量化方法。n量化的作用是在保证主观图像质量的前提下,丢掉那些对视觉效果影响不大的信息。n量化是一种降低精度的过程,所以是有损的。n88的图像块经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。n由于该低频分量包含了图像的主要信息,而高频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。n如何将高频分量去掉,这就要用到量化,它是产生信息
15、损失的根源。量化操作,就是将某一个值除以量化表中对应的值。由于量化表左上角的值较小,右下角的值较大,这样就起到了保持低频分量,抑制高频分量的目的。nJPEG标准中采用线性均匀量化器,量化过程为对64个DCT系数除以量化步长并取整,量化步长由量化表(量化矩阵)决定。n量化的计算公式:量化值(,)T(,)量化矩阵(,)n由公式可见,当量化值较大时,可以保证所有较高频率的分量实际上都将被四舍五入为。仅在高频系数很大时才将其编码为非值,但这种情况很少出现。n在解码过程中,逆量化公式为:T(,)量化值(,)量化矩阵(,)n当使用大的量化值时,在逆量化过程中所用的输出会有大的误差,幸运的是逆量化过程中高频
16、分量的误差不会对图像的质量有严重影响。n有许多方案可用来选择量化矩阵中的元素值。经量化后,源图像(左)与IDCT运算后得到的图像(右)会产生一定的失真,失真程度视量化等级而定 JPEG推荐的量化表nJPEG使用的颜色是YCrCb 格式。Y分量代表了亮度信息,CrCb 分量代表了色差信息。相比而言,Y分量更重要一些。可以对Y采用细量化,对CrCb 采用粗量化,可进一步提高压缩比。所以量化表通常有两张,一张是针对Y的,一张是针对CrCb 的.nJPEG基本算法的量化表是从广泛的实验中得出来的。我们提到过,JPEG使用的颜色是YCrCb 格式。Y分量代表了亮度信息,CrCb 分量代表了色差信息。相比
17、而言,Y分量更重要一些。我们可以对Y采用细量化,对YCrCb 采用粗量化,可进一步提高压缩比。所以所说的量化表通常有两张,一张是针对Y的,一张是针对YCrCb 的。JPEG基本算法包括一套量化表,它是从广泛的实验法中得出的。表10-3和10-4分别给出了JPEG标准所推荐的亮度量化表和色度量化表。n量化表中元素为1-255之间的任意整数,其值规定了所对应DCT系统的步长。n当频率系数经过量化后,将频率系数由浮点数转变为整数,这才便于执行最后的编码。不过,经过量化阶段后,所有数据只保留整数近似值,也就再度损失了一些数据内容。16 11 10 16 24 40 51 6112 12 14 19 2
18、6 58 60 5514 13 16 24 40 57 69 5614 17 22 29 51 87 80 6218 22 37 56 68 109 103 7724 35 55 64 81 104 113 9249 64 78 87 103 121 120 10172 92 95 98 112 100 103 9917 18 24 47 99 99 99 9918 21 26 66 99 99 99 9924 26 56 99 99 99 99 9947 66 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 9999
19、99 99 99 99 99 99 9999 99 99 99 99 99 99 99亮度量化表 色度量化表 量化表的优化用户可根据人类视觉系统和压缩图像类型的特点对量化表进行优化,并作为编码器的一个输入。显然有许多方案可用来选择量化矩阵中的元素值。一般用两种实验方法检测不同量化方案,一种是测量输入图像和已解压图像间的数学误差,第二种方法就是用人眼去判断解压后的效果。但是后者并非总是与误差水平内的数学差异完全一致。在运行时选择量化矩阵的好处是在压缩图像时控制图像的质量很容易。这样用户有很大的灵活性,从而可根据所想象的要求存储能力来选择图像的质量。编码n直流系数(DC)的编码因为图像中相邻块之间
20、有很强的相关性,JPEG标准对DC系数采用DPCM编码(差分编码)方法,即对相邻的88像素块之间的DC系数的差值进行编码,可以提高压缩比。这个差值可用公式表示为:1iiiDCDCDCn交流系数(AC)编码T矩阵中有63个元素是交流(AC)系数,可采用行程编码进行压缩。需要考虑的问题是:这63个系数应该按照怎么样的顺序排列?为了保证低频分量先出现,高频分量后出现,这63个元素采用了“之”字型(Zig-Zag)的排列方法,称之为Z形扫描。Z型扫描算法能够实现高效压缩的原因之一是经过量化后,大量的矩阵元素被截成。而且零值通常是从左上角开始沿对角线方向分布的。由于这么多值,对的处理与对其他数的处理不大
21、相同的,采用行程编码算法(RLE)沿Z型路径可有效地累积图像中的的个数,所以这种编码的压缩效率非常高。Z字型扫描过程 63个AC系数行程编码的码字用两个字节表示熵编码n为了进一步达到压缩数据的目的,需要对DC码和AC行程编码的码字再作基于统计特性的熵编码(entropy coding)。nJPEG建议使用两种熵编码方法:哈夫曼编码和自适应二进制算术编码。熵编码可分成两步进行,首先把DC码行程码字转换成中间符号序列,然后给这些符号赋以变长码字。这个过程比较繁琐,具体实现细节可阅读附参考资料。nFor the lossy sequential DCT-based base mode,only Hu
22、ffman encoding is allowed.nIn the base mode,two different Huffman tables can be used,one for AC-coefficients and for DC-coefficients.Example of sequential picture preparationJPEG举例 源图像质量 38384 bytes 高质量压缩(High quality),11331 bytes 中等质量(Medium quality),6968 bytes 低质量(Low quality),3687 bytes复原图复原图原图原图
23、信噪比:信噪比:66.02压缩比压缩比:11.83:1复原图复原图原图原图信噪比:信噪比:64.55压缩比压缩比:26.50:1n在一般的图像处理软件中,对一幅图像按JPEG格式进行压缩时,用户可以选择压缩品质因子(Quality Factor)。nPhotoshop图像软件按四大类质量(低、中、高、最佳),把压缩品质分为012等级nPhotoPaint图像软件把质量因子量化为2250等分。压缩质量 maximum medium low质量因子 8 3 0压缩比 3.7:1 7.1:1 8.8:1压缩质量 maximum medium low质量因子 8 3 0压缩比 7.6:1 11.8:1
24、 13.3:1Factor:100 Size=326321 bytes Factor:50 Size=46295 bytes Factor:25 Size=29360 bytes Factor:5 Size=9438 bytesu10.6.5 新一代静态图像压缩标准-JPEG2000JPEG所具有的优良品质,使它获得极大的成功。然而,随著多媒体应用领域的激增,传统JPEG压缩技术也存在着许多不足,无法满足人们对多媒体图像资料的要求。离散余弦变换将图像压缩为88 的小块,然后依次放入文件中,这种算法靠丢弃频率信息实现压缩,因而图像的压缩率越高,频率信息被丢弃的越多。在极端情况下,JPEG图像只保
25、留了反映图像外貌的基本信息,精细的图像细节都损失了。JPEG 2000 与传统 JPEG 最大的不同,在于它放弃了 JPEG 所采用的以离散余弦变换(Discrete Cosine Transform)为主的区块编码方式,而改采以小波转换(Wavelet transform)为主的解析编码方式。JPEG2000 主要有以下特点:q高压缩率JPEG2000压缩性能比JPEG提高了30%50%,也就是说,在同样的图像质量下,JPEG2000可以使图像文件的大小比JPEG图像文件小30%50%。同时,使用JPEG2000的系统稳定性好,运行平稳,抗干扰性好,易于操作。q同时支持有损和无损压缩 JPE
26、G只支持有损压缩,而JPEG2000能支持无损压缩。在实际应用中,诸如卫星遥感图像、医学图像、文物照片等重要的图像都非常适合于采用JPEG2000压缩。q实现了渐进传输渐进传输(Progressive Transmission)是指可以先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示,而不必像现在的 JPEG 那样,由上到下慢慢显示,这在网络传输中有重大意义。q支持“感兴趣区域”用户可以任意指定图像上感兴趣区域(Region of Interest)的压缩质量,还可以选择指定的部分先解压缩,从而使重点突出。这种方法的优点在于它结合了接收方对压缩的主观需求,实现了交互
27、式压缩。JPEG2000的压缩比在JPEG的基础上可再提高10%至30%。由于 JPEG2000采用的是小波变换算法,它所产生的压缩图像比JPEG图像更细腻、更逼真。而它所采用的新的文件格式也更利于对图像进行数字化处理。小波变换n小波分析方法最早是1910年Harr提出的小“波”规范正交基的概念。到80年代,Stromberg证明了小波函数的存在性,1984年法国地球物理学家Morlet在分析地震波的局部性质时,发现传统的付立叶(Fourier)变换难以达到要求,因而引入小波概念于信号分析中。1987年,Mallat将计算机视觉领域内的多尺度分析的思路引入到小波分析中,小波函数的构造以及信号按
28、小波变换的分解与重构,其相应的算法(称为Mallat算法)有效地应用于图像分析与重构。n近几年来,小波变换(Wavelet Transformation)倍受科学技术界的重视,它不仅在数学上已形成一个新的分支,而且在应用上,如信号处理、图像压缩、模式识别以及众多的非线性科学领域,被认为是继离散余弦变换之后的一种最具潜力的变换编码技术。由于小波变换具有Fourier变换所没有的时频特性及多分辨率分析,以及它的快速算法(Mallat算法)并不逊色于快速Fourier变换,因而小波变换一经出现,立即引起了人们的关注,成为当前最为热门的研究方向。n小波变换对图像的压缩类似于离散余弦变换,即都是对图像进
29、行变换,由时域变换到频域,然后再量化,编码,输出。不同之处在于小波变换是对整幅图像进行变换,而不是先对图像进行小区域分割。n另外在量化技术上也是采用不同的方法。离散余弦变换是采用一种与人类视觉相匹配的矢量量化表,而小波变换则没有这样的量化表,它主要依据变换后各级分辨率之间的自相似的特点,采用逐级逼近技术实现减少数据存储的目的。n 利用小波变换技术实现对图像,视频及声音的压缩可以取得极好压缩的效果。小波压缩的速度都很快速,而且其还原的影像质量也更为精细。小波压缩算法对动态影像的压缩比率为4801,而对静止影像画面的压缩比率也高达3001以上。小波压缩算法的出现,将会更加促进包括在Inernet上
30、的视频点播、更高容量和更高画质的CDROM影视节目的创作、交互式电视、图书检索和异地远程视讯会议的发展。n基于小波压缩技术的良好性能,美国生产DSP的著名厂商AnalogDevices公司,已开始提供支持小波压缩的编码/解码芯片。nIntel公司更是利用小波压缩算法重新设计了它的Indeo视频交互系统。在新的Indeo视频交互系统中,舍弃了原来的压缩技术,而采用了更加复杂的基于小波压缩的算法。源图像 小波压缩后重构的图像(压缩比:22:1)n由于小波变换继承了Fourier分析的优点,同时又克服它的许多缺点,所以它在静态和动态图像压缩领域得到广泛的应用,并且已经成为某些图像压缩国际标准(如MPEG-4)的重要环节。n当然,像其他变换编码一样,在压缩比特别高的时候,小波变换压缩量化后的重建图像也会产生几何畸变。由于小波分析克服了Fourier分析的许多弱点,因此它不仅可以用于图像压缩,还可以用于许多其他领域,如信号分析、静态图像识别、计算机视觉、声音压缩与合成、视频图像分析、CT成像、地震勘探和分形力学等领域。总之,可以说凡能用Fourier分析的地方,都可以进行小波分析。小波分析应用前景十分广阔。