无损压缩 vs 有损压缩 vs 损多少

图像压缩是门古老技艺了。现如今,随着存储和网络带宽越来越便宜,目前用得也不多了。并且这个技术挺简单,也没什么好深讲的。那就随便聊聊呗。

无损压缩(PNG, GIF)的重压缩

除了常规方法,比如去掉或合并文件中的额外头信息外,对于PNG图像的话,有非常直观的方法可以略微多压一点点体积。比如说,PNG实际压缩算法就是我们平常打交道的zip(Deflate)。而zip的算法是可以调节压缩比例的。比例越大,压缩越好,但所需的压缩时间越长(不用担心,解压时间保持不变)。一般软件在生成PNG时,通常都不会把压缩比例全开。所以PNG的再压缩,其中一个思路就是用更好的的压缩算法重压一变。有一个很优秀的压缩软件叫7zip, 它的代码是公开的。利用7zip的算法处理后能贡献5~10%的文件体积减小。色彩笔PNG压缩率有时候能大幅突破这个比例,是利用除了改变压缩算法之外的其它技术。这部分和PNG的格式细节息息相关,会另写文章介绍。

对于动态GIF,如果两帧之间有重复内容,这部分是可以节约下来的。后一帧只存和前帧的差异部分。这部分的压缩比例因图而异。GIF也会另写GIF处理方法的文章介绍。

JPEG的重压缩

对于有损压缩JPEG来说,压缩比例越大,图像越模糊。JPEG就像一位素描画家,先画出人物的轮廓,再画出鼻子眼睛,再画出纹理阴影。压缩比例越大,丢失的步骤就越多,图像就越模糊。

JPEG重压缩也不能随便给个固定参数。这个参数需要因图而异。对于细节丰富的图,我们可以多压点,对于已经不剩多少细节的图,我们就要少压点或者不压。

因此,第一步,就是探知输入图像的质量(quality),看看其中有多少细节丰富度。最常见的方法就是把原图轻微模糊后再和原图比较差异度。差异度越高,说明原图像细节越丰富,图像的质量越高。

第二步,根据输入图像的质量,选择一个压缩参数,对原图减去合适的细节部分。


转载于:https://my.oschina.net/itfanr/blog/358981

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值