技術(shù)宅
格式背后的故事 認(rèn)識(shí)常見(jiàn)圖片格式
無(wú)論是在手機(jī)上還是電腦上,我們幾乎天天都要面對(duì)各種各樣的圖片。常見(jiàn)的圖片格式有BMP、JPG(JPEG)、PNG、WEBP等,那么這些圖片格式有什么不同?這些圖片格式從直觀的角度看,最大的不同就是體積大小不一樣。大家可以使用系統(tǒng)自帶的“畫(huà)圖”組件測(cè)試,對(duì)于同一張圖片使用“畫(huà)圖”打開(kāi)后,依次將其另存為上述三種格式,可以看到體積從小到大依次為JPG、PNG和BMP,其中BMP大小≈40倍JPG(圖1)。
那么為什么會(huì)出現(xiàn)這種情況?其中原因就是由于這些圖片格式使用了不同的壓縮算法(其中BMP未壓縮)。和我們常見(jiàn)的RAR、ZIP壓縮格式一樣,我們?cè)趬嚎s同一個(gè)文件的時(shí)候,如果使用不同的壓縮率,最終得到的文件體積也不一樣。因?yàn)閷?duì)于很多高品質(zhì)格式的圖片,其中包含很多冗余信息,而對(duì)這些信息的壓縮不會(huì)對(duì)肉眼觀看這些圖片帶來(lái)明顯的影響。比如上述例子,PNG格式體積大約只有BMP的十分之一,但是圖片顯示質(zhì)量在我們看來(lái)并沒(méi)有降低多少,原因就在于PNG格式中將原本BMP中的很多冗余色彩信息進(jìn)行了壓縮(圖2)。
體小質(zhì)大 TPG背后的秘密
如上所述,采用不同的壓縮算法可以在不影響圖片品質(zhì)的前提下大大降低文件的體積。這次騰訊推出的TPG其實(shí)也是一種圖片壓縮算法,據(jù)官方介紹,此項(xiàng)專(zhuān)利技術(shù)由騰訊音視頻實(shí)驗(yàn)室基于AVS2內(nèi)核自主研發(fā)。那么這個(gè)算法和常見(jiàn)的圖片壓縮又有什么區(qū)別?
對(duì)于一種壓縮算法好壞的判斷指標(biāo),一是壓縮后圖片質(zhì)量比較,對(duì)同一張?jiān)磮D,分別使用不同算法進(jìn)行壓縮轉(zhuǎn)換,然后比較壓縮后的質(zhì)量,在質(zhì)量相差無(wú)幾情況下,體積越小則表明壓縮算法越好。在官方提供的測(cè)試樣片中可以看到,TPG和目前高品質(zhì)壓縮格式webP(無(wú)損壓縮后的webP比PNG文件少45%)對(duì)決中,對(duì)于同一張?jiān)磮D轉(zhuǎn)換為T(mén)PG文件要比轉(zhuǎn)換為webP小29%,而且圖片質(zhì)量幾乎沒(méi)有多大區(qū)別,顯然TPG算法要比webP好得多(圖3)。
壓縮算法好壞的另一個(gè)指標(biāo)則是壓縮率的比較,比較的方法是使用同等大小的圖片進(jìn)行顯示質(zhì)量的比較。目前主流圖片格式中,JPG的壓縮率是較高的,在和JPG格式的對(duì)比中,對(duì)于體積大小基本相同(JPG 7.4KB、TPG7.3KB),也就是使用同等壓縮率的前提下,TPG壓縮后的顯示質(zhì)量明顯比JPG的效果要好(圖4)。
在實(shí)際測(cè)試中,TPG比PNG小50%以上,比GIF小90%以上,比JPG/JPEG格式圖片(采用Libjpeg-Turbo編碼)小40%以上,比采用Guetzli編碼的JPG/JPEG格式則小了41.7%。相比于Google推出的WEBP格式,TPG的文件大小減少了近30%(圖5)。
當(dāng)然除了在體積方面的優(yōu)勢(shì)外,TPG圖片格式在動(dòng)態(tài)格式、高清、無(wú)損其他核心要求上全部支持,而目前主流的壓縮格式總是有部分不支持。比如JPG不支持透明通道,這樣一些透明背景的圖片保存為JPG格式就無(wú)法顯示背景。相比之下,TPG則完全支持常見(jiàn)壓縮算法中的全部指標(biāo),因此TPG在圖片格式處理中可以有更多的作用(圖6)。
顯然無(wú)論是從壓縮率、圖片質(zhì)量還是支持指標(biāo)上來(lái)看,TPG比目前主流的圖片編碼都要好,這主要得益于騰訊公司強(qiáng)大的研發(fā)能力,開(kāi)發(fā)出業(yè)界先進(jìn)的圖片壓縮算法才能實(shí)現(xiàn)上述效果。
不僅僅是簡(jiǎn)單壓縮 TPG給我們帶來(lái)的便利
看了上面的介紹可以知道,TPG的最大優(yōu)勢(shì)是在壓縮后體積占比上。對(duì)于常見(jiàn)圖片,TPG只是節(jié)約了幾十KB的存儲(chǔ)空間,對(duì)于我們來(lái)說(shuō)似乎并沒(méi)有多大的用處,不過(guò)大家可別小看這種壓縮帶來(lái)的實(shí)際利益。
一方面,對(duì)于網(wǎng)絡(luò)服務(wù)商來(lái)說(shuō),由于目前各種圖片充斥著網(wǎng)絡(luò),一家網(wǎng)站的服務(wù)器可能要存儲(chǔ)數(shù)以?xún)|計(jì)的圖片。以淘寶為例,根據(jù)統(tǒng)計(jì)淘寶目前保存的圖片文件數(shù)量達(dá)到286億多個(gè),平均圖片大小只有17.45KB,占用空間達(dá)到1PB(注:1PB=1024TB= 1073741824MB)。顯然如果類(lèi)似的服務(wù)器,它的圖片格式假設(shè)原來(lái)是JPG,現(xiàn)在轉(zhuǎn)換為T(mén)PG(體積縮小40%),想一想這個(gè)存儲(chǔ)成本能夠降下來(lái)多少?當(dāng)然TPG目前是騰訊專(zhuān)利格式,但是按照微信、QQ用戶(hù)數(shù)量,騰訊服務(wù)器保存的圖片也不會(huì)比淘寶要少。
另一方面,在這個(gè)“讀圖”時(shí)代,我們很多的信息都是通過(guò)圖片完成。比如微信里很多信息、QQ表情等都是通過(guò)圖片實(shí)現(xiàn),如果網(wǎng)站服務(wù)器存儲(chǔ)圖片過(guò)多,在微信里就不容易快速打開(kāi)這些圖片,給我們的閱讀、存儲(chǔ)和信息交流帶來(lái)極大的不便。TPG的出現(xiàn)則可以有效緩解圖片過(guò)多的難題,可以讓我們獲得更流暢的“讀圖”體驗(yàn)!