别误会,JPEGmini不是无损压缩或者“不失真”


JPEGmini不是无损压缩或者“不失真”ICTV的JPEGmini经过各种博客的宣传已经快“家喻户晓”了吧,但是在这些宣传中有一个关键问题非常值得商榷——JPEGmini不是无损压缩或者缩小体积而不失真。JPEGmini官网也从来没有说过是无损,“JPEGmini系统会自动分析一张照片在对画质不产生可见损失前提下可用的最大压缩率”。


JPEG本身就是失真压缩编码

JPEG是失真压缩编码,PNG是无损压缩编码,相信一般都知道这个简单对比。既然JPEG本身就是失真压缩编码,何来支持无损压缩?这个和《关于破解免费下载虾米音乐的误区》一样:既然MP3文件已经是有损压缩文件,不管你怎么调整编码参数,只能更加失真。
JPEG格式的无损操作一般是指JPEG文件的无损旋转和裁剪。


JPEGmini的适用范围有限

“JPEGmini系统会自动分析一张照片在对画质不产生可见损失前提下可用的最大压缩率”——既然只是“可见损失”,那么JPEGmini的适用范围就有限。
官方的FAQ页面已经说明过专门针对数码设备拍摄出来的照片,而经过照片编辑软件处理的图片压缩起来效果会很差。没有处理过的原始图片色彩越丰富,处理的效果越好,压缩率也越大。而单一色彩经过JPEGmini处理后会有明显的偏差。
一张原始非照片图片,960*854,体积在220KB左右,图片上部大部分为单一蓝色。经过JPEGmini处理后得到体积仅为40KB的图片:

JPEGmini “可见损失”

从肉眼看的确发现不了多少“可见损失”,但是通过极端放大和在更高显示效果的手机屏幕上就可以看到不少的“可见损失”。

PC屏幕

PC上直接放大处理后图片的上半部蓝色区域:

JPEGmini图片放大

可以发现经过放大“相当大”倍数后,蓝色单一色彩区域明显多了不少色块,呈现横向纹路。当然换个角度也说明,如果不折腾放大“相当大”倍数,的确算是没有“可见损失”。
因为版面有限,没有截取原图的放大对比,原图是没有这样的色块的。

手机屏幕

将处理后的图片移动到更高清屏幕(更高PPI)的手机上,截图中的蓝色单一色彩区域的横向纹路更明显,只是在PC屏幕上显示不是那么真实,实际在手机屏幕上可以发现更加明显的横向纹路:

JPEGmini手机显示效果

这样的体积和显示效果和IrfanView直接保存90%质量的jpg格式文件也差不多。


当然并非说JPEGmini无用,而是说其适用的对象是“数码设备拍摄出来的照片”,压缩的是“可见损失”,并非所有的jpeg图片都可以拿去无损压缩。
这个问题本来并不需要纠缠,这个博客也一直使用JPEGmini处理jpg格式图片。但是使用高清晰屏幕的手机后才发现JPEGmini处理的jpg格式图片显示是那么糟糕。这还只是TFT,还有那更高级的IPS和AMOLED等。
JPEGmini那坑爹的访问速度,偏偏新出的桌面版还只有MAC,PC版已经正式发布——《JPEGmini for Windows》。