基本介绍
JPEG图片JPEG(Joint Photographic Experts Group)是在国际标準化组织(ISO)领导之下製定静态图像压缩标準的委员会,第一套国际静态图像压缩标準ISO 10918-1(JPEG)就是该委员会製定的。由于JPEG优良的品质,使他在短短几年内获得了成功,被广泛套用于网际网路和数码相机领域,网站上80%的图像都採用了JPEG压缩标準。
JPEG本身只有描述如何将一个影像转换为位元组的资料串流(streaming),但并没有说明这些位元组如何在任何特定的储存媒体上被封存起来。.jpeg/.jpg是最常用的图像档案格式,由一个软体开发联合会组织製定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像资料的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜採用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像资料,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁碟空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对档案进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,品质就越高。比如可以把1.37Mb的BMP点阵图档案压缩至20.3KB。当然也可以在图像质量和档案尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合套用于网际网路,可减少图像的传输时间,可以支持24bit真彩色,也普遍套用于需要连续色调的图像。
详细介绍
JPEG是第一个国际图像压缩标準,用于连续色调静态图像(即包括灰度图像和彩色图像)。JPEG是联合图像专家组(Joint Photographic Experts Group)的缩写,这个图像压缩标準是国际电信联盟(International Telecommunication Union,ITU)、国际标準化组织(International Organization for Standardization,ISO)和国际电工委员会(International Electrotechnical Commisson,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不能在单一码流中提供有损和无损压缩,并且不能支持大于64×64 K的图像压缩。同时,尽管当前的JPEG标準具有重新啓动间隔的规定,但当碰到比特差错时图像质量将受到严重的损坏。
针对这些问题,自1997年3月起,JPEG图像压缩标準委员会开始着手製定新一代的图像压缩标準以解决上述问题。2000年3月的东京会议,确定了彩色静态图像的新一代编码方式JPEG2000图像压缩标準的编码演算法。
JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30%左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输资料,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的"感兴趣区域" 特徵,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。在有些情况下,图像中只有一小块区域对使用者是有用的,对这些区域,採用低压缩比,而感兴趣区 域之外採用高压缩比,在保证不丢失重要信息的同时,又能有效地压缩资料量,这就是基于感兴趣区域的编码方案所採取的压缩策略。其优点在于它结合了接收方对压缩的主观需求,实现了互动式压缩。而接收方随着观察,常常会有新的要求,可能对新的区域感兴趣,也可能希望某一区域更清晰些。
JPEG2000和JPEG相比优势明显,从无损压缩到有损压缩可以兼容,而JPEG不行,JPEG的有损压缩和无损压缩是完全不同的两种方法。JPEG2000即可套用于传统的JPEG市场,如扫瞄器、数码相机等,又可套用于新兴领域,如网路传输、无线通讯等等。
JPEG图片注意:JPEG标準不指定任何固有的档案格式。它只定义压缩比特流的文法。这就产生了一定数量的档案格式来存储JPEG压缩后的图像,例如JPEG档案交换格式(JPEG File Interchange Format,JFIF),JPEG推广到TIFF6.0、FlashPix等。但它们中的每一个都不能认为是由国际标準委员会支持的正式定义的国际标準。
部分JPEG标準
⑴核心图像编码系统,为JPEG2000指定了基本的特征集合和码流文法;
⑵扩充(给⑴的核心定义增加更多的特征和完善度);
JPEG图片⑶运动JPEG2000指定了档案格式(MJ2),它包含用于动态影片的具有JPEG2000核心编码演算法的图像序列编码;
⑷ISO/IEC15444-4:2002。它指定了使用第一部分的JPEG2000用于编码/解码一致性测试;
⑸参考软体 (包含Java和C实现)。在这一部分中,提供了两个软体源包(使用Java和C程式语言)用于测试和开发商对于JPEG2000系统实现的有效性检验;
⑹复合图像档案格式(用于档案扫描和传真应用程式)指定了其他档案格式(JPM)用于存储复合图像。ITU-TT.441ISO 16485多层混合光栅内容(mixed raster content,MRC)模型用于表示在第6部分的JPEG2000复合图像;
⑺对⑴的最小支持(技术报告)【已摒弃】。
⑻安全JPEG2000(JPSEC)。这一部分设计了用于JPEG2000套用的安全方面,例如加密、数位水印等;
⑼互动工具、API和协定(JPIP)。这一部分定义了一个互动式网路协定,并且它指定了用于JPEG2000图像和相关元资料高效的交换工具;
⑽3D和浮点资料(JP3D)。这一部分开发与三维资料有关的内容,以3D医疗图像重建作为例子;
⑾无线(JPWL)。这一部分开发了用于无线多媒体的套用。主要涉及用JPEG2000在易出错的无线网环境中JPWL的差错保护、检测和修正;
⑿对MPEG-4,ISO基本媒介档案格式(media file format)具有共同的文本ISO/IEC 14496-12
截止于2007年,⑴为完全被认可的ISO标準,定义了核心压缩技术和最小档案格式,⑵~⑹定义压缩和档案格式的扩充。其中,⑺已摒弃。⑻~仍在发展之中
技术概括
JPEG图片在电脑处理中,JPEG是一种广泛适用的压缩图像标準方式。JPEG就是「联合图像专家组」(JointPhotographicExpertsGroup)的首字母缩写。採
用这种压缩格式的档案一般就称为JPEG;此类档案的一般扩展名有:.jpeg、.jfif、.jpg或.jpe,其中在主流平台最常见的是.jpg。JPEG只描述一副图像如何转换成一组资料流,而不论这些位元组存储在何种介质上。由独立JPEG组创立的另一个进阶标準,JFIF(JPEGFileInterchangeFormat,JPEG档案交换格式)则描述JPEG资料流如何生成适于电脑存储或传送的图像。在一般套用中,我们从数码相机等来源获得的"JPEG档案",指的就是JFIF档案,有时是ExifJPEG档案。
JPEG/JFIF是网际网路上最常见的图像存储和传送格式。但此格式不适合用来绘製线条、文字或图示,因为它的压缩方式对这几种图片损坏严重。PNG和GIF档案更适合以上几种图片。不过GIF每像素只支持8bits色深,不适合色彩丰富的照片,但PNG格式就能提供JPEG同等甚至更多的图像细节。
JPEG(发音为/jay-peg/)是一种针对相片影像而广泛使用的一种失真压缩标準方法。使用这种压缩的档案格式一般也被称为JPEG;虽然在所有平台上.jpg是最普遍的,但是针对这种格式一般的扩展名是.jpeg、.jfif、.jpg、.JPG、或是.JPE。
这个名称代表JointPhotographicExpertsGroup(联合图像专家小组)。一个由独立JPEG小组(IndependentJPEGGroup)所建立的额外标準,称为JFIF(JPEGFileInterchangeFormat,JPEG档案交换格式)详细说明如何从一个JPEG串流,产出一个适合于电脑储存和传输(像是在因特网上)的档案。在普遍的用法,当有人称呼一个"JPEG档案",一般而言他是意指一个JFIF档案,或有时候是一个ExifJPEG档案。然而,也有其他以JPEG为基础的档案格式,像是JNG。JPEG/JFIF是最普遍在全球资讯网(WorldWideWeb)上被用来储存和传输照片的格式。它并不适合于线条绘图(drawing)和其他文字或图示(iconic)的图形,因为它的压缩方法用在这些图形的型态上,会得到不适当的结果(PNG和GIF格式通常是用来针对这种目的之图形;GIF每一像素只有8位元,并不很适合于用在彩色照片,PNG可以被用来无失真地储存照片,但是档案太大让它不适合在网页上放照片)。
在ISO公布的JPEG标準方案中,包含了两种压缩方式。一种是基于DCT变换的有损压缩编码方式,它包含了基本功能和扩展系统两部分:一种是基于空间DPCM(差分脉沖编码调製,是预测编码的一种)方法的无损压缩编码方式
特点分析
优点:摄影作品或写实作品支持高级压缩,能到达1:2甚至1:40的压缩率
利用可变的压缩比可以控製档案大小。
JPEG图片支持交错(对于渐近式JPEG档案)。
广泛支持Internet标準。
缺点:有损耗压缩会使原始图片资料质量下降。
当您编辑和重新储存JPEG档案时,JPEG会混合原始图片资料的质量下降。这种下降是累积性的。
JPEG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片,因为JPEG格式压缩是将肉眼不易察觉的颜色移除,故对图片的损坏是无法修复的。
压缩标準
压缩操作模式
1.基于DCT的连续模式(Sequential DCT-based mode of operation)
1) baseline sequential;
2) extended sequential, Huffman coding, 8-bit sample precision;
3) extended sequential, arithmetic coding, 8-bit sample precision;
4) extended sequential, Huffman coding, 12-bit sample precision;
5) extended sequential, arithmetic coding, 12-bit sample precision.
一次将图像由左到右、由上到下顺序处理。
2.基于DCT的渐进模式(Progressive DCT-based mode of operation)
1) spectral selection only, Huffman coding, 8-bit sample precision;
2) spectral selection only, arithmetic coding, 8-bit sample precision;
3) full progression, Huffman coding, 8-bit sample precision;
4) full progression, arithmetic coding, 8-bit sample precision;
5) spectral selection only, Huffman coding, 12-bit sample precision;
6) spectral selection only, arithmetic coding, 12-bit sample precision;
7) full progression, Huffman coding, 12-bit sample precision;
8) full progression, arithmetic coding, 12-bit sample precision.
当图像传输的时间较长时,可将图像分数次处理,以从模糊到清晰的方式来传送图像(效果类似GIF在网路上的传输)。
3.无失真模式(Lossless mode of operation)
1) lossless processes with Huffman coding;
2) lossless processes with arithmetic coding.
使用预测性编码代替基于DCT的变换,而且在这个模式中没有涉及量化。
4.分级模式(Hierarchical mode of operation)
图像以数种解析度来压缩,其目的是为了让具有高解析度的图像也可以在较低解析度的设备上显示。
JPEG编解码器
下图为JPEG基本系统的编解码器原理图,输入的彩色图像为Y、U、V三个分量,JPEG对它们分别进行编码。
压缩步骤
由于JPEG的有损压缩方式(Lossy mode of operation)并不比其他的压缩方法更优秀,
因此我们着重来看它的有损压缩中最常用的基线JPEG演算法(baseline sequential)。以一幅24位彩色图像为例,JPEG的压缩步骤分为:
JPEG图片1.颜色转换
JPEG支持图像採用任何一个色彩空间,支持1~4个颜色分量。灰度图像颜色分量数为1。RGB、YUV、YCbCr等拥有3种颜色分量。4种颜色分量的例子是青、洋红、黄和黑(Cyan,Magenta,Yellow,and Black,CMYK)。为了减少色度通道包含的大量的冗余信息,本例中採用YCbCr色彩空间。首先需要进行从RGB到YCbCr的色彩空间变换:
Y = 0.299000R + 0.587000G + 0.114000B
Cb = -0.168736R - 0.331264G + 0.500002B
Cr = 0.500000R - 0.418688G - 0.081312B
其中,Y表示亮度分量,Cb和Cr表示蓝红色度分量。
2.DC电平偏移
最初,在图像中的像素存储在无符号的整数中。对于数学计算,在图像中任何变换或数学计算开始之前,根本上是将这些採样转换成两个补码表示。DC电平偏移的目的是保证输入图像的採样有近似地集中在零附近的动态範围。DC电平偏移执行的图像採样只通过无符号数表示。
方法:假设图片分量的採样精度为n,那麽分量中的每个像素值应减去2的(n-1)次幂。
对于图像而言他的採样由无符号的整数表示,例如CT(X光断层成像)图像,动态範围已经集中于零附近,所以不需要DC电平偏移。
3.子採样
色彩空间转换之后,图像的大多数空间信息包含在亮度分量Y中。色度分量Cb和Cr包含大量冗余的颜色信息,所以我们运用子採样较少色度资料量以在丢失少量信息的情况下压缩图像。
基线JPEG常用的子採样格式为4:2:0,同时支持4:2:2和4:4:4颜色格式。
3.DCT变换
DCT(DiscreteCosineTransform)是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程。然后再对图像的高频部分(即图像细节)进行压缩,以达到压缩图像资料的目的。首先将图像划分为多个8*8的矩阵。然后对每一个矩阵作DCT变换。变换后得到一个频率系数矩阵,其中的频率系数都是浮点数。
4.量化
由于在后面编码过程中使用的码本都是整数,因此需要对变换后的频率系数进行量化,将之转换为整数。由于进行资料量化后,矩阵中的资料都是近似值,和原始图像资料之间有了差异,这一差异是造成图像压缩后失真的主要原因。
在这一过程中,质量因子的选取至为重要。值选得过大,可以大幅度提高压缩比,但是图像质量就比较差;反之,质量因子越小(最小为1),图像重建质量越好,但是压缩比越低。对此,ISO已经製定了一组供JPEG代码实现者使用的标準量化值(如右图所示)。
右图的两个量化表的设计是根据由Lohscheller做的心理视觉实验来确定二维基函式的可见阈值。
这些表也不适用于各种各样的图像,但他们为大多8位精度自然图像进行亮度和色度採样提供了合理的、出色的结果。
5.编码
从前面过程我们可以看到,颜色转换完成到编码之前,图像并没有得到进一步的压缩,DCT变换和量化可以说是为编码阶段做準备。
编码採用两种机製:一是0值的行程长度编码;二是熵编码(EntropyCoding)。
①之字形排序(Zig-zag ordering)
在JPEG中,採用曲徊序列,即以矩阵对角线的法线方向作"之"字排列矩阵中的元素。这样做的优点是使得靠近矩阵左上角、值比较大的元素排列在行程的前面,而行程的后面所排列的矩阵元素基本上为0值。
②使用RLE对交流系数(AC)进行编码
行程长度编码是非常简单和常用的编码方式,在此不再赘述。
需要注意的是,AC系数的之字形序列编码中有两个特殊符号--(0,0)和(15,0)。第一个特殊符号指的是块的结束(end-of-block,EOB),用来表明在之字形块中剩余的元素都是零。另一个特殊符号是指零游程长度(zero-run-length,ZRL),用来表明16个零游程。基线JPEG允许的零游程最大长度是16个。如果这裏的零超过16个,那麽这个游程分成几个长度为16的零游程。
③使用DPCM对直流系数(DC)进行编码
DCT系数量化之后,通过差分编码对量化后的DC系数编码。当前块的DC系数减去前个块的DC系数,然后对其差值进行编码,如右图所示。这就利用了邻接块DC值之间的空间相关性。
④熵编码
编码实际上是一种基于统计特徵的编码方法。在JPEG中允许採用HUFFMAN编码或者算术编码。而基线JPEG演算法(baseline sequential)採用的是前者。
经过RLE编码的AC系数可以对应成两个标志(RUNLENGTH,CATEGORY)和(AMPLITUDE),前者採用的是霍夫曼编码,而后者採用的是VLI编码。同理经过DPCM编码的DC系数同样可以对应成两个标志(CATEGORY)和(AMPLITUDE),,前者採用霍夫曼编码,后者採用VLI编码。
基线JPEG允许使用4个霍夫曼表,两个用于AC系数编码,两个用于DC系数编码。具体的编码表请查询ITU-T.81的表K.3~K.6
资料压缩格式
1.JPEG定义了三种压缩资料格式:
a) 交换格式 (interchange format)
b) 压缩图像资料的缩略格式(abbreviated format for compressed image data,)
c) 规範表资料的缩略格式(abbreviated format for table-specification data)
2.压缩资料规範的基本内容(General aspects of the compressed data formatspecifications)
在结构上,压缩资料格式包含一个由参数、标志和熵编码资料段组成的有序集合。参数和标记往往又形成标志段。由于所有这些组成部分是由位元组对齐的代码表示的,因此每一个压缩资料格式由一个8-bits位元组的有序序列组成。对于每一个位元组,都定义了一个最高有效位(MSB)和一个最低有效位(LSB)。
3.插图的文法规定 (Conventions for syntax figures)
如右图:
为了便于了解JPEG压缩资料流中每一个frame和scan的内容,必须掌握以下文法
– 参数/标记指示符:一个细线框包含一个标志或一个单独的参数;
– 段指示符:一个粗线框包含一个标志段、一个熵编码段或他们的结合;
– 参数长度指示符:细线框的宽度与其包含的参数或标志的位长成正比(如图B.1中的E(4位),B(8位)和D(16位)所示)。相反,粗线框的宽度是无意义的;
– 可选的/有条件的指示符:方括弧标明,在压缩资料中,当前标志段或标记只是可选的或有条件的。
– 次序:交换格式中,图中所示的参数或标志都先于其右边所示的参数或标志,并跟在它左边的参数后面。
– 熵编码资料指示符:尖括弧标明,其包围的内容是已经经过了熵编码的。
4.高层文法 (High-level syntax)
如右图:
Figure specifies the order of the high-level constituent parts of the interchange format for all non-hierarchical encoding processes specified in this Specification.


















