jpg和jpeg有什么不同?之間有著什么樣的聯系?
發布時間:2021-06-22 15:30:05 出處:易壓縮 閱讀數:1602
您也許對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,這對于壓縮來說是非常有用的。
相關技巧
最新資訊
快速訪問