WebP格式的图片
webp
WebP格式的图片越来越受欢迎,主要有以下几个原因:
1.压缩效率更高:WebP支持有损和无损压缩,并且通常可以在保持相同图像质量的情况下生成比JPEG和PNG更小的文件
较小的文件体积有助于加快网页加载速度,改善用户体验。
2.透明度支持:与JPEG不同,WebP支持透明度(alpha通道),这使得它可以替代PNG,用于需要透明背景的图片。
3.动画支持:WebP支持动画,这使得它可以替代GIF,并且通常在相同动画效果下文件大小更小。
4.兼容性逐渐提高:虽然早期WebP的浏览器兼容性有限,但现在大多数现代浏览器都支持WebP格式。
这使得WebP在实际应用中更加可行。
5.谷歌的推动:作为WebP的开发者,谷歌积极推动其在其产品(如Chrome浏览器和Google搜索)
和服务(如YouTube、Google Photos)中的使用,这也加速了WebP的普及。
6.节省带宽和存储空间:由于WebP文件较小,使用WebP可以显著减少网站的带宽消耗和存储需求,
这对于流量大的网站尤为重要。
7.使用如Glide或Picasso这样的图像加载库可以自动处理图片的加载和缓存,这些库支持WebP格式,并且可以智能地管理内存使用。
8.移动端Android4.0以上、PC端chorme 10+(14 ~ 16 有渲染bug)、opera 11+ 、safri均支持webp格式图片。
WebP格式的综合优势使得它成为许多平台在传统JPEG和PNG格式之外的一个理想选择。
使用WebP图片格式节省网站流量、带宽和存储空间,加快网站加载速度。
目前在互联网上,图片流量仍占据较大的一部分。
因此,在保证图片质量不变的情况下,节省流量带宽是大家一直需要去解决的问题。
传统的图片格式,如 JPEG,PNG,GIF 等格式图片已经没有太多的优化空间。
因此 Google 于 2010 年提出了一种新的图片压缩格式 — WebP,给图片的优化提供了新的可能。
WebP支持的像素最大数量是16383x16383。有损压缩的WebP仅支持8-bit的YUV 4:2:0格式。
而无损压缩(可逆压缩)的WebP支持VP8L编码与8-bit之ARGB色彩空间。
又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释数据。
WebP有静态与动态两种模式。动态WebP(Animated WebP)支持有损与无损压缩、ICC色彩配置、XMP诠释数据、Alpha透明通道。
如何节省内存:
- 使用WebP格式的图片
- 优化图片尺寸
- 使用合适的解码选项 options.inSampleSize = 2;
- 使用Glide或Picasso等库
- 缓存机制:实现有效的图片缓存策略,例如使用LruCache或DiskLruCache来存储和解码后的位图,
可以减少重复加载相同图片时的内存消耗。 - 适时释放资源,确保在图片不再需要时释放相关资源。
在保证图片质量不变的情况下,节省流量带宽是大家一直需要去解决的问题。
传统的图片格式,如 JPEG,PNG,GIF 等格式图片已经没有太多的优化空间(某些研究在搞二次压缩)。
因此 Google 于 2010 年提出了一种新的图片压缩格式 — WebP,给图片的优化提供了新的可能。
WebP 图片格式来源于 VP8 视频编解码器,VP8 编解码器的一个强大功能就是能够进行帧内压缩,
或者更确切地说,能将视频的每个帧都被压缩,再压缩帧与帧之间的差异。
为什么使用算术编码压缩率高于哈夫曼编码?
算术编码:算术编码通常比哈夫曼编码更加高效。
算术编码将整个数据流映射到一个单一的数值范围内,而哈夫曼编码则是将数据映射到变长的编码字串。
由于算术编码对整个数据流进行编码,因此它可以更好地利用数据中的统计特性,达到更高的压缩率。
哈夫曼编码:哈夫曼编码通过根据字符出现频率来分配变长的编码字串,出现频率高的字符使用较短的编码,出现频率低的字符使用较长的编码。
虽然哈夫曼编码在理论上可以达到信息论的熵下限,但它需要构建编码树,这可能会导致一些额外的编码开销。
WebP的压缩优于其他图片,主要得益于起继承自VP8的帧内预测技术,
相比于JPEG对图像原值进行编码来说,WebP编码的是预测值和原值的差值,
这也是WebP体积更小的主要原因,最后,WebP使用了更优秀的算法编码。
------有损压缩。