JPEG 是Joint Photographic Experts Group(联合图像专家小组)的缩写,是第一个国际图像压缩标准。JPEG图像压缩算法能够在提供良好的压缩性能的同时,具有比较好的重建质量,被广泛应用于图像、视频处理领域。人们日常碰到的“.jpeg”、‘’.jpg“等指代的是图像数据经压缩编码后在媒体上的封存形式,不能与JPEG压缩标准混为一谈。
JPEG是第一个国际图像压缩标准,用于连续色调静态图像(即包括灰度图像和彩色图像)。JPEG是联合图像专家组(Joint Photographic Experts Group)的缩写,这个图像压缩标准是国际电信联盟(International Telecommunication Union,ITU)、国际标准化组织(International Organization for Standardization,ISO)和国际电工委员会(International Electrotechnical Commission,IEC)合作努力的成果。JPEG标准正式地称为ISO/IEC IS(国际标准)10918-1:连续色调静态图像数字压缩和编码(Digital Compression and Coding of Continuous-tone Still Images)和ITU-T建议T.81。这个标准目的在于支持用于大多数连续色调静态图像压缩的各种各样的应用,这些图像可以是任何一个色彩空间,用户可以调整压缩比,并能达到或者接近技术领域中领先的压缩性能,且具有良好的重建质量。这个标准的另一个目标是对普遍实际的应用提供易处理的计算复杂度。
在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,以0—10级表示。其中0级压缩比最高,图像品质最差。即使采用细节几乎无损的10 级质量保存时,压缩比也可达 5:1。以BMP格式保存时得到4.28MB图像文件,在采用JPG格式保存时,其文件仅为178KB,压缩比达到24:1。经过多次比较,采用第8级压缩为存储空间与图像质量兼得的最佳比例。
注意:JPEG标准不指定任何固有的文件格式。它只定义压缩比特流的语法。这就产生了一定数量的文件格式来存储JPEG压缩后的图像,例如JPEG文件交换格式(JPEG File Interchange Format,JFIF),JPEG推广到TIFF6.0、FlashPix等。但它们中的每一个都不能认为是由国际标准委员会支持的正式定义的国际标准。
JPEG(发音为/jay-peg/)是一种针对相片影像而广泛使用的一种失真压缩标准方法。使用这种压缩的档案格式一般也被称为JPEG;虽然在所有平台上.jpg是最普遍的,但是针对这种格式一般的扩展名是.jpeg、.jfif、.jpg、.JPG、或是.JPE。
优点:摄影作品或写实作品支持高级压缩。
基于DCT的连续模式(Sequential DCT-based mode of operation)
一次将图像由左到右、由上到下顺序处理。
基于DCT的渐进模式(Progressive DCT-based mode of operation)
无失真模式(Lossless mode of operation)
使用预测性编码代替基于DCT的变换,而且在这个模式中没有涉及量化。
分级模式(Hierarchical mode of operation)
下图为JPEG基本系统的编解码器原理图,输入的彩色图像为Y、U、V三个分量,JPEG对它们分别进行编码。
颜色转换
JPEG支持图像采用任何一个色彩空间,支持1~4个颜色分量。灰度图像颜色分量数为1。RGB、YUV、YCbCr等拥有3种颜色分量。4种颜色分量的例子是青、洋红、黄和黑(Cyan,Magenta,Yellow,and Black,CMYK)。为了减少色度通道包含的大量的冗余信息,本例中采用YCbCr色彩空间。首先需要进行从RGB到YCbCr的色彩空间变换:
其中,Y表示亮度分量,Cb和Cr表示蓝红色度分量。
DC电平偏移
最初,在图像中的像素存储在无符号的整数中。对于数学计算,在图像中任何变换或数学计算开始之前,根本上是将这些采样转换成两个补码表示。DC电平偏移的目的是保证输入图像的采样有近似地集中在零附近的动态范围。DC电平偏移执行的图像采样只通过无符号数表示。
方法:假设图片分量的采样精度为n,那么分量中的每个像素值应减去2的(n-1)次幂。
对于图像而言他的采样由无符号的整数表示,例如CT(X光断层成像)图像,动态范围已经集中于零附近,所以不需要DC电平偏移。
子采样
色彩空间转换之后,图像的大多数空间信息包含在亮度分量Y中。色度分量Cb和Cr包含大量冗余的颜色信息,所以我们运用子采样较少色度数据量以在丢失少量信息的情况下压缩图像。基线JPEG常用的子采样格式为4:2:0,同时支持4:2:2和4:4:4颜色格式。
DCT变换
量化
在这一过程中,质量因子的选取至为重要。值选得过大,可以大幅度提高压缩比,但是图像质量就比较差;反之,质量因子越小(最小为1),图像重建质量越好,但是压缩比越低。对此,ISO已经制定了一组供JPEG代码实现者使用的标准量化值。
右图的两个量化表的设计是根据由Lohscheller做的心理视觉实验来确定二维基函数的可见阈值。
这些表也不适用于各种各样的图像,但他们为大多8位精度自然图像进行亮度和色度采样提供了合理的、出色的结果。
编码
具体示意图如下所示:
使用RLE对交流系数(AC)进行编码
使用DPCM对直流系数(DC)进行编码
总体上来说,如下图所示。
还可以如下表示:
上面的逆过程就是解码过程。
JPEG定义了三种压缩数据格式
压缩数据规范的基本内容(General aspects of the compressed data formatspecifications)
在结构上,压缩数据格式包含一个由参数、标志和熵编码数据段组成的有序集合。参数和标记往往又形成标志段。由于所有这些组成部分是由字节对齐的代码表示的,因此每一个压缩数据格式由一个8-bits字节的有序序列组成。对于每一个字节,都定义了一个最高有效位(MSB)和一个最低有效位(LSB)。
插图的语法规定 (Conventions for syntax figures)
为了便于了解JPEG压缩数据流中每一个frame和scan的内容,必须掌握以下语法