WebP

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋

Template:NoteTA 腳本錯誤:沒有「Infobox」這個模塊。腳本錯誤:沒有「Check for unknown parameters」這個模塊。

WebP(發音:weppy[1][2])是一種同時提供了有損壓縮無損壓縮(可逆壓縮)的圖片檔案格式[3]

WebP最初在2010年9月釋出,其支持庫於2018年4月發布1.0版本。截至2021年5月,已有94%瀏覽器支持此格式[4]

WebP的設計目標是在減少檔案容量同時,達到和JPEGPNGGIF格式相同的圖片品質,並希望藉此能夠減少圖片檔在網路上的傳送時間。[5]根據Google較早的測試,WebP的無損壓縮比網路上找到的PNG檔少了45%檔案容量,即使這些PNG檔在使用pngcrushPNGOUT處理過,WebP還是可以減少28%的檔案容量[6]

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[7],有認為是WebM多媒體格式的姊妹項目,是Google在購買On2 Technologies後獲得技術發展而來的[8],該格式及其衍生的支持庫以BSD授權條款釋出。[9]

2011年10月3日,Google給WebP添加了擴展格式以讓其支持ICC色彩特性文件可擴展後設資料平台EXIF[10]

2011年11月8日,Google開始讓WebP支援無損壓縮和透明色(alpha通道)的功能,而在2012年8月16日的參考實做libwebp 0.2.0中正式支援[11][12]

截至2024年8月,已有96.45%的瀏覽器支持此格式[13]

技術[編輯]

簡單WebP
內容
 0- 3 R I F F
 4- 7 length+8
 8-11 W E B P
12-15 V P 8 [10]
16-19 length (padded)
20- … VP8關鍵幀
pad (even length)

WebP的有損壓縮算法是基於VP8視頻格式的幀內編碼[14],並以RIFF作為容器格式[15] 因此,它是一個具有八位色彩深度和以1:2的比例進行色度子採樣亮度-色度模型YCbCr 4:2:0)的基於塊的轉換方案。[16] 不含內容的情況下,RIFF容器要求只需20字節的開銷,依然能保存額外的元數據(metadata)。[15] WebP圖像的邊長限制為16383像素。[17]

WebP是基於塊預測的。每個塊都是根據它上面三個塊的值和其左邊一個塊的值來預測(塊解碼以光柵掃描順序完成:從左到右,從上到下)。塊預測有四種基本模式:水平、垂直、DC(單色)和TrueMotion。利用離散餘弦變換沃爾什-阿達瑪轉換將預測錯誤的數據和未預測塊壓縮在4×4像素子塊中。這兩種轉換都是使用Template:Le完成的,以避免捨入誤差。輸出使用熵編碼進行壓縮。[16] WebP也明確支持並行解碼。[16]

參考實現包含一個Linux命令行程序的轉換器,以及用於解碼的,與WebM相同。開源社區很快設法將轉換器移植到其他平台,例如Windows。[18]

WebP的無損壓縮採用先進技術,例如用於不同顏色通道的專用熵代碼,利用反向參考距離的2D位置和最近使用的顏色的顏色緩存。這補充了字典編碼、霍夫曼編碼和顏色索引變換等基本技術。[12]

支援[編輯]

瀏覽器[編輯]

Chrome和所有基於Chromium的瀏覽器(如OperaBrave等)均原生支援靜態與動態的WebP格式[19][20],且自12版開始支援WebP的漸進式解碼功能[21]

從2020年1月後發布基於Chromium的Edge版本原生支持WebP格式。在此之前基於EdgeHTML的Edge版本則在除安全應用保護模式外,通過默認安裝的平台擴展實現支持[22]

Firefox和所有延伸自Firefox的瀏覽器(如Pale MoonWaterfox等)瀏覽器亦在65.0版本起支援WebP圖像。[23]

2020年9月,在iOS 14macOS Big SurSafari 14中加入了WebP支持。[24]

Linux中使用的GNOME WebKDE圖片瀏覽器Gwenview也支援WebP。

此外所有可以原生播放WebM影像的瀏覽器,也可以透過javascript來顯示WebP影像[25][26]。不過在Internet Explorer 6和以上版本中是通過Flash實現的。

圖像軟件[編輯]

圖像軟體當中,Picasa(從3.9版本起)、Template:Le[27]Pixelmator[28]ImageMagickXnViewIrfanViewGDAL[29]、Aseprite和GIMP(2.10起)皆原生支援WebP格式。

系統[編輯]

Android 4.0 支持解碼和編碼 WebP 圖像(通過位圖和 Skia 引擎)。[30]

其他程序[編輯]

FFmpeg 在鏈接 VP8/VP9 參考代碼庫 libvpx 的情況下可以從 WebM 視頻提取 VP8 關鍵幀,並有腳本追加 WebP RIFF 標頭,並對怪異的幀長度追加 NUL 填充字節。同時 FFmpeg 也支持直接使用 libwebp。

Gmail 和 Google 相冊都支持 WebP。

Sumatra PDF 從2.4版開始支持 WebP。[31]

Telegram 將 WebP 用於他們的表情符號,聲稱它們的顯示速度比消息應用程序中通常使用的其他格式快5倍[32]

Signal 在非動態圖片貼紙中使用 WebP 格式。[33]

LibreOffice 從7.4版本開始支持導入及導出 WebP 圖像,[34]採用同樣技術的 Collabora Online 也獲得這一格式支持。

Godot 引擎 4.0 版支持導入及導出 WebP 圖像,並使用 WebP 編排已導入的壓縮紋飾圖像的內部格式。[35]

評論[編輯]

x264的開發者之一:Jason Garrett-Glaser,在2010年時針對WebP做出了幾點評論[36],根據和其他編碼器(JPEG、x264、Theora)測試結果,他認為WebP影像品質是最差的,多數是在模糊度方面。他也評論Google應該等到WebP可以超越JPEG之後再發佈。不過在2011年4月20日,他提到新的WebP編碼器表現非常好,超越JPEG指日可待。

WebP 2[編輯]

WebP 2是Google自2021年6月起開發的新一代WebP。它具體實現為libwebp2。這種新格式的主要目標是達到與AV1類似壓縮比,並同時保有更快編碼和解碼速度[37]

相關條目[編輯]

參考文獻[編輯]

  1. WebP Home頁面存檔備份,存於網際網路檔案館): "Did you know? WebP is pronounced 'weppy'. /(wĕpˈē)/"
  2. Template:Cite web
  3. Template:Cite web
  4. Template:Cite web
  5. Template:Cite web
  6. Template:Cite web
  7. Template:Cite web
  8. Template:Cite web
  9. Template:Cite web
  10. 10.0 10.1 WebP Container Specification頁面存檔備份,存於網際網路檔案館): U+0020 for lossy images, and "L" for lossless images.
  11. Template:Cite web
  12. 12.0 12.1 Template:Cite web
  13. Template:Cite web
  14. Template:Cite web
  15. 15.0 15.1 引用錯誤:無效的 <ref> 標籤,未定義名稱為 Announcement-in-chromium 的參考文獻內容文字。
  16. 16.0 16.1 16.2 Template:Cite web腳本錯誤:沒有「Unsubst」這個模塊。
  17. 引用錯誤:無效的 <ref> 標籤,未定義名稱為 faq 的參考文獻內容文字。
  18. Template:Cite web
  19. Template:Cite news
  20. Template:Cite news
  21. Template:Cite web
  22. Template:Cite web
  23. Template:Cite web
  24. Template:Cite web
  25. Template:Cite web
  26. Template:Cite web
  27. Template:Cite web
  28. Template:Cite web腳本錯誤:沒有「Unsubst」這個模塊。
  29. Template:Cite web
  30. Template:Cite web
  31. Template:Cite web
  32. Template:Cite web
  33. Template:Cite web
  34. Template:Cite web
  35. Template:Cite web
  36. Template:Cite web
  37. Template:Cite web

外部連結[編輯]

Template:Commonscat

  1. 重定向 Template:Official website

腳本錯誤:沒有「Navbox」這個模塊。