WebP 大戰 JPEG,誰纔是真正的王者?

目前在互聯網上,圖片流量仍佔據較大的一部分。所以,在保證圖片質量不變的狀況下,節省流量帶寬是你們一直須要去解決的問題。傳統的圖片格式,如 JPEG,PNG,GIF 等格式圖片已經沒有太多的優化空間。所以 Google 於 2010 年提出了一種新的圖片壓縮格式 — WebP,給圖片的優化提供了新的可能。web

WebP,JPEG 的升級版

WebP 就像 JPEG 的升級版。它是 Google 推出的圖片文件格式,它的目的就是爲 Web 上的圖片資源提供卓越的有損、無損壓縮。在與其餘格式同等質量指數下提供更小,更豐富的圖片資源,以便資源在 Web 上訪問傳輸。算法

WebP 圖片格式來源於 VP8 視頻編解碼器,也就是 WebM 視頻容器,是 WebM 視頻格式地單個壓縮框架。VP8 編解碼器的一個強大功能就是可以進行幀內壓縮,或者更確切地說,能將視頻的每一個幀都被壓縮,再壓縮幀與幀之間的差別。瀏覽器

WebP 特性框架

  • 有損壓縮:有損壓縮基於 VP8 關鍵編碼。VP8 是 On2 Technologies 建立的視頻格式,是 VP6 和 VP7 格式的後續版本。
  • 無損壓縮:採用預測變換,顏色變換,減去綠色,LZ77 反響參考等技術進行壓縮。
  • 透明度:8位 Alpha 通道對圖形圖像頗有用。Alpha 通道能夠於有損 RGB 一塊兒使用。與其它格式圖片所不支持的 WebP 特有的功能。
  • 動畫:它支持真彩色動畫圖像,便可以支持動態圖( 類Gif 圖)
  • 元數據:它可能具備 EXIF 和 XMP 元數據
  • 顏色配置文件:它可能具備嵌入式 ICC 配置文件。

關於壓縮性能

爲何能夠對圖片進行有損壓縮,由於使用有損壓縮的一個關鍵原則是:人類的感知能力並無計算機那麼精確。科學證實,人的眼睛只能區分 1000 萬種不一樣的顏色,而且人眼對亮度比色度更敏感,這意味着咱們會忽略較大的色度變化,而不影響咱們對圖片的敏感度。這就是爲何「黑藍白金裙」事件能引發那麼大的討論,它必定上也是受到咱們人類的視覺敏感度所影響。優化

 
 

有損壓縮動畫

WebP 的壓縮是使用與 VP8 相同的方式來預測幀。VP8 基於塊預測與任何基於塊的編解碼器同樣,VP8 將幀劃分爲稱爲宏塊(MarcoBlocking)的小塊。在每一個宏塊內,編碼器能夠基於先前處理的塊來預測冗餘運動和顏色信息。圖像幀是「關鍵」,意思是它僅使用已經在每一個宏塊的直接空間鄰域中解碼的像素。並試圖對它們的未知部分進行賦值。這就稱爲與預測編碼。而後能夠從塊中減去冗餘數據,進而有效壓縮。網站

宏塊(MarcoBlocking)編碼

編碼器的第一階段是將圖像分割成「宏塊」。宏塊包含一個 16x16 的亮度像素塊,和兩個 8x8 的色度像素塊。這個階段很是像 JPEG 格式裏轉換顏色空間,對色度通道下降採樣,以及細分圖片。3d

 
 

預測(Prediction)

而後,「宏塊」的每一個 4x4 子塊都有一個預測模型。它在一塊周圍定義兩個像素:有一行在它上面 A(Raw A),左邊是一列 L(Column L)。利用 A 和 L,編碼器會將它們放在一個 4x4 的預測像素塊填滿,並肯定哪個生成了最接近原始塊的值。這些用不通方法填充的塊叫作‘預測塊’。

塊預測常見有四種模式:

  • 水平預測:塊的每一列都帶有前一列的副本
  • 垂直預測:使用前一行的副本填充塊的每一行。
  • T M 預測:一種模式,On2 Technologies 開發壓縮技術,下次另將。
  • D G 預測:使用 A 上方和 L 左側列中的像素平均值,使用單個值填充快。

值得注意的是, 4x4 的亮度塊還有另外 6 種模式。

 
 

基本流程就是咱們找到這個最快的預測塊,並導出過濾結果(剩餘偏差),而後送到下個階段。

自適應量化

爲了提升圖像質量,圖像被分割成具備明顯類似特稱的區域。對於這些段中的每個,壓縮質量都獨立調諧。經過將位從新分配到最有用的位置,實現高效壓縮。

JPGify it

爲何說 WebP 是 JPEG 的升級版,由於它們有不少類似的地方,而且在一些壓縮處理上又優於 JPEG。

相同點:

  • 對塊裏剩餘的值執行 DCT 過濾
  • DCT 矩陣後量化
  • 轉成量化矩陣後從新排序,而後送到一個靜態壓縮器裏。
 
 

不一樣點:

  • 在 DCT 階段輸入的數據不是原始的數據塊自己,而是預測後的數據。
  • WebP 用的靜態壓縮器是算術壓縮器(Arithmetic Compressor),它和 JPEG 用的霍夫曼編碼器(Huffman encoder) 相似。對比性能,算術壓縮器提高了 5%~10% 的壓縮性能。

有損 WebP VS JPEG

 
做爲 JPEG 升級版,當 WebP 將 JPEG 壓縮到至關於原圖 90% 質量 時,圖片體積減小了 50% 左右。當 WebP 將 JPEG 壓縮到至關於原圖 80% 質量時,圖片體積則減小了 60%~80%。直觀有效的下降的資源大小,下降帶寬流量。
 

如何開啓 WebP 自適應

WebP 憑藉優異的圖片壓縮性能,以及兼備無損和有損兩種壓縮算法,迅速在各大網站、App 普及。那麼要如何在網站中開啓 WebP 格式呢?

 
 

又拍雲目前已經支持 WebP 圖片格式轉換,並且還支持 WebP 自適應功能,在後臺一鍵開啓 WebP 自適應功能,便可經過 CDN 平臺智能判斷客戶端瀏覽器是否支持 WebP 解碼,若是支持則返回 WebP格式圖片,若是不支持則會返回原圖,在客戶端以及源站無需任何改動。

 

推薦閱讀:

WebP - 圖片格式轉換體驗

相關文章
相關標籤/搜索