極致壓縮,
保留細節。
WebP 的壓縮效率源於其基於塊的預測編碼。它使用圖像中已經解碼的部分來構建新像素的預測值。
這意味著文件體積更小,加載速度更快,頻寬消耗更低。
* 基於 SSIM 質量指標測算,同等畫質下 WebP 有損壓縮比 JPEG 小 25-34%。
壓縮原理的核心邏輯
function Predict(NeighborPixels) {
// 利用相鄰像素預測當前像素
Predicted_P = Average(Left, Top, TopLeft);
// 只存儲預測值與實際值的差值 (Residual)
return Actual_P - Predicted_P;
}
WebP 不會直接存儲每個像素的顏色(像 BMP 那樣),而是根據周圍已知的像素去“猜”當前像素的顏色。它只需要存儲“猜錯”的那一小部分數據(殘差)。這使得文件體積大幅減小。
全能選手的特性
不僅僅是 JPEG 的替代品,更是 PNG 和 GIF 的進化版。
有損與無損
WebP 是一種獨特的格式,同時支援有損壓縮(VP8 視頻編碼技術)和無損壓縮(WebP Lossless)。
Alpha 透明度
即使在有損壓縮模式下,WebP 也支援 8 位 Alpha 通道。這是 JPEG 無法做到的。
動畫支援
WebP 可以替代 GIF。它支援有損和無損動畫,體積通常比 GIF 小 64% 以上。
底層技術架構
預測編碼
WebP 有損壓縮主要基於 VP8 視頻編解碼器的關鍵幀編碼。它將圖像分割成 16x16 的宏塊,並在每個塊內部進一步分割成 4x4 的子塊進行預測。
熵編碼
預測後的殘差數據和運動矢量會經過基於上下文的算術編碼(Arithmetic Coding),這比 JPEG 使用的哈夫曼編碼(Huffman Coding)效率更高。