WebP(發音:weppy[6][7])是一種同時提供了有損壓縮與無損壓縮(可逆壓縮)的圖片檔案格式[8]。
WebP最初在2010年9月釋出,其支援庫於2018年4月發佈1.0版本。截至2021年5月,已有94%的瀏覽器支援此格式[9]。
WebP的設計目標是在減少檔案大小的同時,達到和JPEG、PNG、GIF格式相同的圖片質素,並希望藉此能夠減少圖片檔在網絡上的傳送時間。[10]根據Google較早的測試,WebP的無損壓縮比網絡上找到的PNG檔少了45%的檔案大小,即使這些PNG檔在使用pngcrush和PNGOUT處理過,WebP還是可以減少28%的檔案大小[11]。
WebP支援的像素最大數量是16383x16383。有損壓縮的WebP僅支援8-bit的YUV 4:2:0格式。而無損壓縮(可逆壓縮)的WebP支援VP8L編碼與8-bit之RGBA色彩空間。而無論是有損或無損壓縮皆支援Alpha透明通道、ICC色彩組態、XMP詮釋資料。
WebP有靜態與動態兩種模式。動態WebP(Animated WebP)支援有損與無損壓縮、ICC色彩組態、XMP詮釋資料、Alpha透明通道。
歷史
Google於2010年9月30日首次公佈WebP格式,它衍生自影像編碼格式VP8[12],被認為是WebM多媒體格式的姊妹項目,是Google在購買On2 Technologies後獲得技術發展而來的[13],該格式及其衍生的支援庫以BSD授權條款釋出。[14]
2011年10月3日,Google給WebP添加了擴充格式以讓其支援ICC色彩特性檔案、可延伸後設資料平台和EXIF[15]。
2011年11月8日,Google開始讓WebP支援無損壓縮和透明色(alpha通道)的功能,而在2012年8月16日的參考實做libwebp 0.2.0中正式支援[16][17]。
截至2024年8月,已有96.45%的瀏覽器支援此格式[18]。
技術
位 | 內容 | |||
---|---|---|---|---|
0- 3
|
R | I | F | F |
4- 7
|
length+8 | |||
8-11
|
W | E | B | P |
12-15
|
V | P | 8 | [15] |
16-19
|
length (padded) | |||
20- …
|
VP8關鍵幀 | |||
pad | ? (even length) |
WebP的失真壓縮演算法是基於VP8影片格式的幀內編碼[19],並以RIFF作為容器格式。[2] 因此,它是一個具有八位色彩深度和以1:2的比例進行色度子採樣的亮度-色度模型(YCbCr 4:2:0)的基於塊的轉換方案。[20] 不含內容的情況下,RIFF容器要求只需20位元組的開銷,依然能儲存額外的元數據(metadata)。[2] WebP圖像的邊長限制為16383像素。[5]
WebP是基於塊預測的。每個塊都是根據它上面三個塊的值和其左邊一個塊的值進行預測的(塊解碼以光柵掃描順序完成:從左到右,從上到下)。塊預測有四種基本模式:水平、垂直、DC(單色)和TrueMotion。利用離散餘弦變換或沃爾什-阿達瑪轉換將預測錯誤的數據和未預測塊壓縮在4×4像素子塊中。這兩種轉換都是使用定點算術完成的,以避免捨入誤差。輸出使用熵編碼進行壓縮。[20] WebP也明確支援並列解碼。[20]
參考實現包含一個Linux命令列程式的轉換器,以及用於解碼的庫,與WebM相同。開源社區很快設法將轉換器移植到其他平台,例如Windows。[21]
WebP的無損壓縮採用先進的技術,例如用於不同顏色通道的專用熵代碼,利用反向參考距離的2D位置和最近使用的顏色的顏色快取。這補充了字典編碼、霍夫曼編碼和顏色索引變換等基本技術。[17]
支援
Chrome和所有基於Chromium的瀏覽器(如Opera、Brave等)均原生支援靜態與動態的WebP格式[22][23],且自12版開始支援WebP的漸進式解碼功能[24]。
從2020年1月後發佈的基於Chromium的Edge版本原生支援WebP格式。在此之前基於EdgeHTML的Edge版本則在除安全應用保護模式外,通過預設安裝的平台擴充實現支援[25]
Firefox和所有延伸自Firefox的瀏覽器(如Pale Moon和Waterfox等)瀏覽器亦在65.0版本起支援WebP圖像。[26]
2020年9月,在iOS 14和macOS Big Sur的Safari 14中加入了WebP支援。[27]
在Linux中使用的GNOME Web和KDE圖片瀏覽器Gwenview也支援WebP。
此外所有可以原生播放WebM影像的瀏覽器,也可以透過javascript來顯示WebP影像[28][29]。不過在Internet Explorer 6和以上版本中是通過Flash實現的。
圖像軟件當中,Picasa(從3.9版本起)、PhotoLine[30]、Pixelmator[31]、ImageMagick、XnView、IrfanView、GDAL[32]、Aseprite和GIMP(2.10起)皆原生支援WebP格式。
FFmpeg 在連結 VP8/VP9 參考代碼庫 libvpx 的情況下可以從 WebM 影片提取 VP8 關鍵幀,並有指令碼追加 WebP RIFF 檔頭,並對怪異的幀長度追加 NUL 填充位元組。同時 FFmpeg 也支援直接使用 libwebp。
Gmail 和 Google 相簿都支援 WebP。
Sumatra PDF 從2.4版開始支援 WebP。[34]
Telegram 將 WebP 用於他們的表情符號,聲稱它們的顯示速度比訊息應用程式中通常使用的其他格式快5倍[35]。
Signal 在非動態圖片貼紙中使用 WebP 格式。[36]
LibreOffice 從7.4版本開始支援匯入及匯出 WebP 圖像,[37]採用同樣技術的 Collabora Online 也獲得這一格式的支援。
Godot 引擎 4.0 版支援匯入及匯出 WebP 圖像,並使用 WebP 作為編排已匯入的壓縮紋飾圖像的內部格式。[38]
評論
x264的開發者之一:Jason Garrett-Glaser,在2010年時針對WebP做出了幾點評論[39],根據和其他編碼器(JPEG、x264、Theora)測試的結果,他認為WebP的影像質素是最差的,多數是在模糊度方面。他也評論Google應該等到WebP可以超越JPEG之後再發佈。不過在2011年4月20日,他提到新的WebP編碼器表現的非常好,超越JPEG指日可待。
WebP 2
WebP 2是Google自2021年6月起開發的新一代WebP。它的具體實現為libwebp2
。這種新格式的主要目標是達到與AV1類似的壓縮比,並同時保有更快的編碼和解碼速度[40]。
相關條目
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.