小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

 綠蔭蟬聲 2019-05-10

大家在瀏覽網(wǎng)頁(yè)時(shí),總能看到各種各樣的精美圖片,將這些圖片下載下來(lái)后,有可能是JPG格式,也可能是JPEG格式,當(dāng)然還有其它PNG、GIF等格式,相對(duì)于PNG等格式來(lái)說(shuō),JPG格式的體積相對(duì)較小,這也是JPG格式受歡迎的原因。相信很多伙伴都不曉得JPG和JPEG格式有何關(guān)系吧?為了不讓大家總是云里霧里的,今天小編將給大家科普J(rèn)PG和JPEG的相關(guān)知識(shí)。

一、前言

JPG格式的圖片體積相對(duì)較小,是因?yàn)樗捎昧艘幌盗械膲嚎s算法,壓縮圖片弊端就是和原始的圖片相比,它犧牲掉了一些畫(huà)面細(xì)節(jié),這些丟失的細(xì)節(jié)或許可被人的肉眼看出,或許以人的肉眼難以發(fā)現(xiàn),對(duì)于這種通過(guò)犧牲畫(huà)面的精細(xì)程度來(lái)達(dá)到縮小體積的目的的壓縮算法,我們稱之為“有損壓縮”或者“破壞性壓縮”,今天,IT之家就和大家聊聊JPEG圖片壓縮的基本原理。

二、JPEG和JPG的關(guān)系

很多讀者可能會(huì)有這樣的疑惑,JPEG和JPG看起來(lái)如此相像,它們到底是不是同一種圖片格式?JPEG和JPG之間的關(guān)系到底是怎樣的?在回答這個(gè)問(wèn)題之前,我們首先要了解,JPEG的來(lái)頭。

JPEG,全稱為“Joint Photographic Experts Group”,翻譯成中文,則是“聯(lián)合圖像專家小組”,這是一個(gè)成立于1986年的組織,1992年,該組織發(fā)布了“JPEG標(biāo)準(zhǔn)”,這是一種針對(duì)圖像的壓縮而制定的標(biāo)準(zhǔn)。

使用JPEG標(biāo)準(zhǔn)壓縮的圖片文件,被稱為“JPEG文件”,這種文件的擴(kuò)展名通常是JPG、JPEG、JPE、JFIF以及JIF,在這些文件格式中,以JPG的使用最為廣泛。

如果這里JPEG指的是聯(lián)合圖像專家小組,那JPEG與JPG則是制定壓縮標(biāo)準(zhǔn)的組織與采用該組織制定的壓縮標(biāo)準(zhǔn)壓縮成的圖片的一種的格式的關(guān)系;

如果JPEG指的是JPEG壓縮標(biāo)準(zhǔn),那JPEG與JPG則是一種圖像的壓縮標(biāo)準(zhǔn)與采用該標(biāo)準(zhǔn)壓縮成的圖片的一種格式的關(guān)系;

如果JPEG指的是一張圖片文件的后綴名,那JPEG與JPG的關(guān)系則是采用JPEG標(biāo)準(zhǔn)壓縮的圖片的兩種不同的格式。

三、色彩空間轉(zhuǎn)換

要壓縮圖片,首先要知道這個(gè)圖片中都包含了些什么內(nèi)容,在對(duì)圖片的內(nèi)容進(jìn)行分解時(shí),第一步就要進(jìn)行色彩空間轉(zhuǎn)換。

所謂的色彩空間,指的是描述圖像的顏色的一組數(shù)值,比較常見(jiàn)的色彩空間有RGB、CMYK。

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

RGB,即是分別用三組數(shù)值,來(lái)表示紅、綠、藍(lán),而紅、綠、藍(lán)三種顏色經(jīng)過(guò)不同程度的配比,就會(huì)顯示出不同的顏色。通常RGB的色彩模型用于顯示屏的顯示。

CMYK,即是分別用四組數(shù)值,來(lái)表示青色、品紅、黃色和黑色,而青色、品紅、黃色和黑色四種顏色經(jīng)過(guò)不同程度的配比,就會(huì)顯示出不同的顏色。通常CMYK的色彩模型用于印刷。

在JPEG壓縮圖像過(guò)程中,是怎么用數(shù)值來(lái)表示圖像內(nèi)容的呢?事實(shí)上,JPEG量化圖像的顏色時(shí)并非采用RGB模式,也非CMYK模式,而是YCbCr模式,其中,Y表示的是亮度,Cb表示的是彩度(藍(lán)),Cr表示的是彩度(紅)。那么問(wèn)題來(lái)了,為什么JPEG在壓縮圖像時(shí),不采用RGB和CMYK的色彩模型,而偏偏采用YCbCr這種看似奇葩的模式呢?這還要從人眼的工作機(jī)制談起。

我們的眼睛之所以能感知圖像,是因?yàn)槿搜蹆?nèi)含有視錐細(xì)胞和視桿細(xì)胞,其中,視錐細(xì)胞具有感知顏色的能力,而視桿細(xì)胞具有感知亮度的能力,通常,我們的眼睛中,視桿細(xì)胞數(shù)量相對(duì)較多,所以人眼對(duì)亮度的敏感程度要高于對(duì)色彩的敏感程度。就像你熄燈時(shí),你可以在暗光下漸漸地看清周圍的事物,而對(duì)周圍事物的顏色,你可能就不那么敏感了。

JPEG正是利用了人眼的這一特性,在壓縮圖像時(shí),將亮度和顏色分開(kāi)處理。

科普:關(guān)于圖像格式JPG和JPEG你知多少?

由于人眼對(duì)亮度很敏感,所以JPEG不會(huì)對(duì)亮度做太多改變,而人眼對(duì)顏色不甚敏感(科學(xué)研究表明,人眼大概可以區(qū)分出1000萬(wàn)種不同的顏色,這種感知能力相比于電腦,就沒(méi)那么精確了),所以在人眼開(kāi)始察覺(jué)色彩不對(duì)了之前,JPEG對(duì)顏色進(jìn)行壓縮處理,這樣就算圖像損失了部分細(xì)節(jié),人眼也不太容易捕捉得到。

JPEG在壓縮圖像時(shí)所進(jìn)行的色彩空間轉(zhuǎn)換,指的就是將RGB轉(zhuǎn)換為YCbCr。

四、縮減取樣

在YCbCr模型中,Cb通道和Cr通道中所包含的信息量遠(yuǎn)遠(yuǎn)少于Y通道中包含的信息量,同時(shí),人眼對(duì)色彩的敏感程度有限,因此,JPEG的壓縮算法主要對(duì)Cb和Cr通道中的數(shù)據(jù)進(jìn)行縮減取樣,取樣的比例可以是4:4:4(無(wú)縮減取樣)、4:2:2(在水平方向2的倍數(shù)中取樣)和4:2:0(在水平方向和垂直方向的2的倍數(shù)中取樣),其中,以4:2:0最為常見(jiàn)。

五、離散余弦變換(DCT)

通常我們認(rèn)為,在8*8像素的一塊方格里,它里面的像素往往非常相似,因此,當(dāng)進(jìn)行到這一步時(shí),JPEG會(huì)將圖像分為一個(gè)又一個(gè)的8*8的像素塊。

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

一個(gè)8*8的像素塊,圖片來(lái)自維基百科

每一個(gè)像素塊都利用離散余弦變換來(lái)編碼,法國(guó)數(shù)學(xué)家傅里葉告訴我們,幾乎所有的周期函數(shù),都可以用一系列的“弦波”來(lái)表示,也就是說(shuō),靠著帶權(quán)重的一系列不同余弦值的相加,就可以重構(gòu)出我們的原圖。最后,每個(gè)8*8的像素塊都會(huì)通過(guò)特定的函數(shù),來(lái)生成一個(gè)新的8*8的數(shù)字矩陣。

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

一個(gè)8*8的數(shù)字矩陣,圖片來(lái)自維基百科

六、量化

事情到這里還沒(méi)算完,通過(guò)離散余弦變換所得到的數(shù)字可不能被直接壓縮,他們還需要再處理一下,這就是量化。

量化的過(guò)程,實(shí)際上就是對(duì)DTC系數(shù)的一個(gè)優(yōu)化過(guò)程,在一個(gè)8*8像素的區(qū)域中,每個(gè)像素點(diǎn)間的差異都很大時(shí),它的弦波頻率就很高,我們稱之為高頻區(qū),相反地,一個(gè)8*8像素的區(qū)域中,每個(gè)像素點(diǎn)間的差異很小,那它的弦波頻率就很低,我們稱之為低頻區(qū),剛剛的DCT算法已經(jīng)把哪里頻率高、哪里頻率低給整理出來(lái)了。

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

越接近左上,頻率越低,越接近右下,頻率越高。

人眼對(duì)高頻區(qū)(小范圍、高復(fù)雜度)的辨識(shí)能力較差,而對(duì)低頻區(qū)(大范圍、低復(fù)雜度)的辨識(shí)能力較好,因此JPEG就根據(jù)人眼的這一特征將高頻區(qū)進(jìn)行大幅的簡(jiǎn)化和壓縮,量化的過(guò)程,實(shí)際上就是把頻率領(lǐng)域上的每個(gè)成分,除以一個(gè)特定的常數(shù),然后將計(jì)算結(jié)果四舍五入,取一個(gè)整數(shù),JPEG會(huì)將高頻區(qū)的成分通過(guò)算法,使其接近于0,然后四舍五入,取該成分的值為0,最后,我們大概會(huì)得到這樣一個(gè)矩陣:

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

圖片來(lái)源:維基百科

可以看到,這個(gè)矩陣中有很多連續(xù)的0,這就對(duì)壓縮非常有利了。

七、熵編碼

終于到了最后一步了,那就是壓縮,仔細(xì)觀察剛剛得到的最終的矩陣,可以看到,從左上角到右下角,連續(xù)的0的數(shù)量急劇上升,這種情況就要用熵編碼技術(shù),對(duì)數(shù)據(jù)進(jìn)行編碼。

JPEG從左上角開(kāi)始,以Z字形來(lái)回穿梭,直至經(jīng)歷了矩陣中的所有數(shù)字,到達(dá)右下角。

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

Z字形穿梭掃描的路徑,圖片來(lái)自維基百科

此時(shí)的編碼就變成了這樣:

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

當(dāng)剩下的數(shù)字都是0,且過(guò)早結(jié)束的編碼,可以將連續(xù)的0的部分采用霍夫曼編碼表示為“EOB”,最后,這串編碼就成了這個(gè)樣子:

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

現(xiàn)在,我們就得到了JPEG的編碼了。通過(guò)一系列的處理,可以看到,圖像中的信息達(dá)到了壓縮和簡(jiǎn)化的目的。這就是一幅原始圖像被壓縮為JPEG的大概過(guò)程。

八、圖片質(zhì)量

在生成一張JPG圖像文件時(shí),你通常需要設(shè)置圖像質(zhì)量參數(shù),這個(gè)參數(shù)的數(shù)值越大,圖像的質(zhì)量也就越高,同時(shí)圖片文件的體積也就越大,相反地,數(shù)值越小,圖像的質(zhì)量就越低,同時(shí)圖片文件的體積越小,下面是三張圖片:

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

圖片一

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

圖片二

普及一下關(guān)于圖像格式JPG和JPEG區(qū)別

圖片三

第一張圖片的質(zhì)量參數(shù)是100,第二張圖片的質(zhì)量參數(shù)是60,第三張圖片的質(zhì)量參數(shù)是20,很容易可以看出,第一張圖片的細(xì)節(jié)較為豐富,第二張圖片的畫(huà)面中好像稍微有一些噪點(diǎn),第三章圖片的直接可以看到大塊的馬賽克了。

九、代碼示例

現(xiàn)在你已經(jīng)了解了JPEG算法的工作原理,如果你想更進(jìn)一步地學(xué)習(xí),那么在GitHub中有這樣一個(gè)代碼示例,其作用就是進(jìn)行JPEG壓縮,感興趣的同學(xué)可以點(diǎn)擊這里查看和研究。

上述便是小編給大家科普J(rèn)PG和JPEG圖像格式的相關(guān)知識(shí)講解,相信大家對(duì)于JPG圖片格式有更深的了解了吧,JPG是一種有損壓縮圖像格式,體積相對(duì)較小,打開(kāi)速度較快,但是圖片相對(duì)沒(méi)有那么清晰,大家可以根據(jù)自己的需求來(lái)選擇圖片格式。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多