ImageAlpha:PNG有损压缩

PNG是一种无损图片格式,也就是说,PNG图片会完全保留一幅图片的所有细节,即使那些肉眼难以察觉的细微部分。保留这些细微部分的细节牺牲了不少文件大小。

相较而言,有损图片格式(如JPEG)可以生成更小的文件,因为有损图片格式并不保存不必要的细节。

好消息!PNG可以用作有损格式并且生成的几分之一大小的文件,同时完美兼容无损PNG的解码器。

 

有损平均滤波器

PNG具有根据左、上的相邻像素推测像素的能力。成功推测的像素几乎可以被完全压缩。

正常情况下,只有很少的像素被成功推测。但是最新的ImageAlpha的Blurizer选项可以操作图片数据匹配推测,这样使压缩效果更好。

下面是一张经过强力压缩的图片,来展示这种有损压缩的效果



对角模糊。77KB(原始尺寸550KB。这个算法基于Michael VintherWilliam MacKay 的作品。

 

PNG8

通常PNG的每个像素需要需要4个字节,R、G、B和α通道。PNG8通过存储彩色调色板的索引减小了3/4的文件大小。ImageAlpha 使用了pngquant2——它拥有一个非常高级的色彩选择算法并保留α透明度。


64色图片。111KB(原始尺寸714KB

 

色调分离

色调分离以一种比图像处理程序中色调分离过滤器更智能的方法,减少一个文件中独立色阶的数目。这种缩减是图片中的噪声更易于压缩。

中位切分色调分离。100KB(原始尺寸374KB

 

有损PNGGIFJPEG对比

GIF采用一种过时的压缩算法,完全就是浪费带宽。即使有损GIF也比经过优化的无损PNG效果差。

有损PNG是否比JPEG拥有更好的效果依赖于图片。JPEG通常效果更好,文件大小更小。除非图片中有尖锐的边(如文本)或任何透明效果(JPEG根本不支持透明)。

优化过的PNG仍然要比有损JPEG-XR/WebP/JPEG-2K文件更大一些。但于那些图片格式不同,PNG能为所有的浏览器和操作系统完美支持。

 

自己动手试试
使用ImageAlpha,你可以对每一个文件选择最合适的有损算法,并且以几乎不牺牲质量的同时获取1/2文件大小的压缩。

下载OSX最新版本(或单独下载可移植的 posterizer/blurizer 和 pngquant2)。全部是开源的。请捐款支持我的图片压缩工具和相关研究。

收藏 2 评论

关于作者:Codefor

C.Monkey~since 2007 // (新浪微博:@codefor | 个人博客:danglab ) 个人主页 · 我的文章 · 1

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部