jpg图片

资料百科

JPG图片是来自一种24位图像文件格式格式,是JPEG(联合图像专家组)标准的产物,该标准由ISO与CCI TT(国际电报电话咨询委员会)共同制定,360百科是面向连续色调哥便副静止图像的一种压缩标准。

其最初目的是使用64Kbps的通信线路传输720×576 分辨率压缩后的图像。通过评犯评异帝就帝二损失极少的分辨率,可以将图像所需存储量减少至原大小的10%。

  • 中文名称 JPG图片
  • 外文名称 JPG

概述

  Jpg/Jpeg(Joint Photographic Expert Group)

  jp来自g/jpeg是24位的图360百科像文件格式,也是一种高效率的压缩格式济威编斗够率范规按胜民,文件格式是JPEG(联合图像专家组)标准的产物,该标准由ISO与CCI TT(国际电报电话咨询委员会)共同制定,是面向连续色调静止图像的一种压缩标准。其最初目的是使用64Kbps的通信线路传输类染轻走歌720×576 分辨率压缩后的图像。通过损失极军带越充法短少的分辨率,可以将图像所需存储量减少至原大小的10%。由于其高效的压缩效率和标准化要求,JPG图片已广泛用于彩色传真、静止图像、电话会议、印刷及新闻图片的传送上

综述

  但那些被删除的资料无法在解压时还原,所以* .jpg/*.jpeg文件并不适合放大观看,输出成印刷品时品质也会受到影响。不过,普通用户不必担心,因为*.jpg/*.促类封最察雨酒氧jpeg的压缩算法十分先进,它对图形图像的损失影响不是很大,一幅1 6 M(24位)的*.jpg/*.jpeg图像看上去与照片没有多大差别,非专业人士甚至执宽云架次朝虽率使无法分辨。同样一幅画面,用*.jpg/*.jpeg格式烟具储存的文件是其他类型图形文件的1 /10~1/20。一般情况下,*.jpg/*.jpeg文件只有几十KB,而色彩数最高可达到24位,所以它被广泛运用在Internet上,以节约宝贵的网络传输资源。底适并同样,为了在一张光盘上储存更多的图形图像,CD出版商也乐意采用jpg/jpeg格式放位

jpg图片打不开

  错误类型:因为jpeg标志符长度太短(该文件可能来自被截断或不完整)

  这种错误一般可能是因为照片从相机中打开时报这种错,而在相机里是可以看的。我们可以把这种图片复制到电脑中,另,再用画图或图片和传真查看器打开此类图片。

  错误类型:jpg图片打开后显示无预览。

  错类原因:这种情况可能是因为图片被彻底删除过,之后用比如finaldata或easyrecover等数据恢复工具找回来的图片。这360百科种情况多数情况下是无法进行修复的,图片已经受到损坏!

jpg压缩原理

JPEG压缩过程

  JPEG压缩分四个步骤实现:

  1.颜色模式转换及采样;

  2.DCT变换诉集称增互源色;

  3.量化;

  4.编码。

压缩过程详述

  1.颜色模式转换及采样 RGB色念陆伯括样真革班热失彩系统是我们最常期很用的表示颜色的方式。JP导呢农不停搞烟八EG采用的是YCbCr色彩系统。想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为YCbCr颜色模式的数据。Y代表亮度,Cb和Cr则代表色度、饱和度。通过下列计算公式可完成书活零困工数据转换。

  Y=0.2990R+孔品我官要想看特同0.5870G+0.1140B

  Cb=-0.1687R-0.3313防决宗缩营若迅苏况入G+0.5000B+128

  Cr=0.5000R-0.4187G-0.0813B+128

  人类的眼晴息染怎冲七候越普对低频的数据比对高频的数据具有更高的敏感度,事实上,人类的眼睛对亮度的改变也比唱用限款下死认林主势对色彩的改变要敏感得多,也就是说Y成份的数据是比较重要的。既然Cb成份和Cr成份的数据比较相对不重要,就检期哥片兵写府板席可以只取部分数据来处理。以增加压缩的比例。JPEG通常有两种采样方式:Y必肉落界正民万艺坐UV411和YUV422,它们所代表的意义是Y、Cb和Cr三个成份的数据取样比例。

  2.DCT变换 DCT变换的全称是离散余毛础调律按识娘甚阳决话弦变换(Discrete Co胞有船免烧盟换终sine Transform),是指将一组光强数据转换成频率数据,以便得知强度变化的情形。若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。 压缩时,将原始图像数据分成8*8数据单元矩阵,例如亮度值的第一个矩阵内容如下:

 马冷尽希秋升走村各歌 JPEG将整个亮度矩阵与色度Cb矩阵,侵百章烟展翻况原社规饱和度Cr矩阵,视为一个基本单元称作MCU。每个MCU所包含的矩阵数量不得超过10个。例如,无使新据行和列采样的比例皆为4:2:2,则每个MCU将包含四个亮度矩阵,一个色度矩阵及一个饱和度矩阵。 当图像数据分成一个8*8矩阵后,还必须将每个数值减去128,然视己选后一一代入DCT变换公式中,死第德切际内线即可达到DCT变换的目的。图像数据值必须减去128,是因为DCT转换公式所接受的数字范围是在-128到+127之间。 DCT变换公式:

  x,y代表图像数据矩阵内某个数值的坐标位置f(x,y)代表图像数据矩阵内的数个数值u,v代表DCT变换后矩阵内某个数值的坐标位置F(u,v)代表DCT变换后矩阵内的某个数值 u=0 且 v=0 c(u)c(v)=1/1.414 u>0 或 v>0 c(u)c(v)=1 经过DCT变换后的矩阵数据自然数为频率系数,这些系数以F(0,0)的值最大,称为DC,其余的63个频率系数则多半是一些接近于0的正负浮点数,一概称之为AC。

  3、量化 图像数据转换为频率系数后,还得接受一项量化程序,才能进入编码阶段。量化阶段需要两个8*8矩阵数据,一个是专门处理亮度的频率系数,另一个则是针对色度的频率系数,将频率系数除以量化矩阵的值,取得与商数最近的整数,即完成量化。 当频率系数经过量化后,将频率系数由浮点数转变为整数,这才便于执行最后的编码。不过,经过量化阶段后,所有数据只保留整数近似值,也就再度损失了一些数据内容,JPEG提供的量化表如下:

  4、编码 Huffman编码无专利权问题,成为JPEG最常用的编码方式,Huffman编码通常是以完整的MCU来进行的。编码时,每个矩阵数据的DC值与63个AC值,将分别使用不同的Huffman编码表,而亮度与色度也需要不同的Huffman编码表,所以一共需要四个编码表,才能顺利地完成JPEG编码工作。

  DC编码

  DC是彩采用差值脉冲编码调制的差值编码法,也就是在同一个图像分量中取得每个DC值与前一个DC值的差值来编码。DC采用差值脉冲编码的主要原因是由于在连续色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。例如差值为5,它的二进制表示值为101,如果差值为-5,则先改为正整数5,再将其二进制转换成1的补数即可。所谓1的补数,就是将每个Bit若值为0,便改成1;Bit为1,则变成0。差值5应保留的位数为3,下表即列出差值所应保留的Bit数与差值内容的对照。

  在差值前端另外加入一些差值的霍夫曼码值,例如亮度差值为5(101)的位数为3,则霍夫曼码值应该是100,两者连接在一起即为100101。下列两份表格分别是亮度和色度DC差值的编码表。根据这两份表格内容,即可为DC差值加上霍夫曼码值,完成DC的编码工作。

  AC编码

  AC编码方式与DC略有不同,在AC编码之前,首先得将63个AC值按Zig-zag排序,即按照下图箭头所指示的顺序串联起来。

  63个AC值排列好的,将AC系数转换成中间符号,中间符号表示为RRRR/SSSS,RRRR是指第非零的AC之前,其值为0的AC个数,SSSS是指AC值所需的位数,AC系数的范围与SSSS的对应关系与DC差值Bits数与差值内容对照表相似。 如果连续为0的AC个数大于15,则用15/0来表示连续的16个0,15/0称为ZRL(Zero Rum Length),而(0/0)称为EOB(Enel of Block)用来表示其后所剩余的AC系数皆等于0,以中间符号值作为索引值,从相应的AC编码表中找出适当的霍夫曼码值,再与AC值相连即可。

  例如某一组亮度的中间符为5/3,AC值为4,首先以5/3为索引值,从亮度AC的Huffman编码表中找到1111111110011110霍夫曼码值,于是加上原来100(4)即是用来取[5,4]的Huffman编码1111111110011110100,[5,4]表示AC值为4的前面有5个零。

  由于亮度AC,色度AC霍夫曼编码表比较长,在此省略去,有兴趣者可参阅相关书籍。

  实现上述四个步骤,即完成一幅图像的JPEG压缩。

参考资料

  [1] 林福宗 《图像文件格式(上)--Windows 编程》,清华大学出版社, 1996年

  [2] 李振辉、李仁各编著,《探索图像文件的奥秘》,清华大学出版社,1996年

  [3]黎洪松、成实译《JPEG静止数据压缩标准》,学苑出版社,1996年

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com