jpg和jpeg有什么不同?之间有着什么样的联系?
发布时间:2021-06-22 15:30:05 出处:易压缩 阅读数:1358
您也许对JPEG和JPG看起来如此相似感到疑惑,它们究竟是同一种图片格式吗?JPEG与JPG之间究竟有什么关系?要回答这个问题,我们必须先理解JPEG的来源。
JPEG,全名为"JohnPhotographicExpertsyup",译成中文,是1986年成立的“图像联合专家组”,1992年,它发布了“JPEG标准”,这是一项专门对图像进行压缩的标准。
在JPG、JPEG、JFIFI和JIF等文件格式中,使用JPEG标准压缩的图片文件,被称为"JPEG文件",JIG文件的扩展名最常见。
JPEG是指JPG的后缀名,JPEG与JPG的关系,就是JPEG标准中JPEG压缩图像的两种不同格式。
为了压缩图片,首先要知道图片中包含的内容是什么,在分解图片内容时,首先要做的是颜色空间转换。色彩空间是指描述图像颜色的一组数,比较常用的色彩空间有RGB、CMYK。
也就是说,RGB用三组数值,分别代表红、绿、蓝,而红、绿、蓝三种颜色在不同程度上被配比后,就会呈现出不同的颜色。一般RGB颜色模式用于显示显示器。
CMYK表示为四组数,分别表示色、品红色、色、艳,而青、品红色、色、艳四种颜色经过不同程度的配比,就会出现不同的颜色。CMYK色彩模型通常用于印刷。
如何才能在JPEG压缩图像的过程中,用数字表达图像内容?实际上,JPEG定量分析图像颜色时,不使用RGB模式,也不使用CMYK模式,而是使用YCbCr模式,其中,Y是一种颜色度(蓝色),Cb是一种颜色度(红色)。所以问题来了,为什么JPEG不采用RGB和CMYK的颜色模型,而采用YCbCr这样一种看似奇葩的颜色模式?这里也要谈到人类眼睛的工作机制。
人的眼睛能够感知图像,是因为人的眼睛包含了视锥细胞和视杆细胞,其中视锥细胞具有感知颜色的能力,视杆细胞则具有知性的能力,通常,人的眼睛中视杆细胞的数目较多,因此人的眼睛比颜色更敏感。比如当你熄灯的时候,你可以在黑暗的光线下逐渐看到周围的事物,而对于周围事物的颜色,你可能就不那么敏感了。而JPEG正是利用了人眼的这个特点,在压缩图像时,分别处理色彩和颜色。
因为人眼对亮度非常敏感,所以JPEG不会对亮度做太多的改变,而人类眼睛对颜色比较不敏感(科学研究表明,人眼可能能分辨1000万种不同的颜色,与电脑相比,这种感知能力要差得多),因此JPEG在人眼发现颜色错误之前,会对颜色进行压缩,这样即使图像丢失了一些细节,人眼也不容易捕捉到。
JPEG图像压缩过程中颜色空间的转换,指的是RGB到YCbCr的转换。
对于YCbCr模型,Cb通道和Cr通道中的信息量远远小于Y通道中的信息量,同时,人眼对颜色的敏感度也很有限,因此JPEG的压缩算法会将Cb通道和Cr通道中的数据缩减至4:4:4(无缩减采样),4:2:2(横向2倍),4:0(纵向2倍),而4:0(横向2倍)最常见。
离散余弦变换(DCT )
一般认为,8*8像素的格子里的像素往往非常相似,所以,当我们走到这一步时,JPEG就会把图像分成8*8像素的两部分。
每个象元都使用离散的余弦变换来编码,法国数学家傅里叶告诉我们,几乎所有的周期函数,都可以表示为一系列的"弦波",即,通过将一系列带有权重的不同余弦的值相加,可以重构出原始图。最终,每一个8*8的象素块通过一个特定的功能,产生一个8*8的新的数字矩阵。
一个8*8的数字矩阵在此之前,通过离散余弦变换得到的数字可以直接进行压缩,而且它们还需要再处理一次,这就是量化。这一过程,实际上是DTC系数-优化过程,在8*8像素的一个8像素区域,每个像素点之间的差值很大,它的弦波频率很高,我们称之为高频区,相反,在一个8*8像素的区域,每个像素点之间的差值很小,这就是它的弦波频率,我们称之为低频区,DCT算法已将哪里频率高,哪里频率低称为低频区。
人的眼睛对高频区(小范围、复杂度)的识别能力较差,而对低频区(大范围、低复杂度)的识别能力较好,因此JPEG根据人的这一特点对高频区进行了大量的简化和压缩,实际上就是将频率域中的每一组元素,除以一组特定的常数,然后将计算结果四舍五入,取一个整数,JPEG将高频区中的所有元素都算到零,然后四舍五入,取该频域的数值为0。
你会发现,这个矩阵中有许多连续的0,这对于压缩来说是非常有用的。
相关技巧
最新资讯
快速访问