极致压缩,
保留细节。
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)效率更高。