HEIF & HEVC图像格式你知道多少?哪个有优势?( 三 )

HEIF & HEVC图像格式你知道多少?哪个有优势?

文章插图
压缩效率
下面的数据均是官方提出:
Webp 同等质量下 。比 JPEG 图像小 25-34% 。
JPEG 平均需要比 HEVC 多 139% 的比特率 。意味着同等质量下 。JPEG 的大小是 HEVC 的 2.39 倍!
把两个的参考标准统一一下:
Webp 比 JPEG 小 25-34% HEVC 比 JPEG 小 58%
但是在我自己的本地的测试中,测试了五组图片 。webp 以 80 的质量进行压缩 。hevc 以 crf 18 (视觉无损)压缩 。同时增加一个 320x240 的缩略图 。
自己进行 HEIF 转码的流程是 。将图片通过 ffmpeg 编码到 H.265 。再通过 Nokia 的库转成 HEIC 文件(Heif) 。
//生成主图像编码 ffmpeg -i $1 -crf 18 -preset slower -pix_fmt yuv420p -f hevc bitstream.265 //生成缩略图编码 ffmpeg -i $1 -vf scale=320:240 -crf 28 -preset slower -pix_fmt yuv420p -f hevc bitstream.thumb.265 //调用 Nokia 的工具 ./writerapp config.json
HEIF & HEVC图像格式你知道多少?哪个有优势?

文章插图
除了一组特大图的表现不一样外 。其他几组图片相比 。heif 确实比 webp 压缩效率高 10-20% 。
毕竟和 HEVC 对标的技术应该是 VP9 。所以 heif 能够领先也是情理之中 。
解码的消耗测试
主要测试设备是 iPhone 6s Plus 系统 iOS 11 。用的解码方法 webp 为 Google 提供的库 。hevc 和 jpeg 用的是 CGImageSource 来解码 。测试用图片还是之前的五组图片 。同时对 JPEG 进行了一些压缩 。测试了 5 组平均值(去一个最高 。去一个最低) 。估计加载的时候存在缓存 。所以第一次读图片数据的时候耗时较大 。
第一组用第一张 7.7 mb 的 jpeg 压缩后大小 1.1mb jpeg 7.43 2.77 1.46 1.9 2.14 2.00 【占用率 6 %】 hevc 41.0 3.45 3.35 2.62 2.92 2.66 【占用率 6 %】 webp 216.6 216.8 217.5 261.9 195.2 【占用率 21 %】
HEIF & HEVC图像格式你知道多少?哪个有优势?

文章插图
第二组用第三张 1.8 mb 的 tff 。转换成 jpeg 之后大小为** 815 KB 。** hevc 58.4 3.1 2.8 1.13 2.65 2.82 2.02 【 2% 】 jpeg 65.3 2.67 2.76 2.73 2.69 2.87 1.34 【 2% 】 webp 130.2 110.9 117.5 114.8 120.9 112.8 124.84 【 12% 】
HEIF & HEVC图像格式你知道多少?哪个有优势?

文章插图
第三组用的最后一张 243KB PNG。转换成 JPEG 之后大小为 43 KB 。
hevc 47 3.24 2.7 3.21 2.63 1.74 【 1 %】 jpeg 16 6.70 6.97 4.46 7.2 6.76 7.08 【 1% 】 webp 20.7 20.2 12.5 22.0 19.3 19.4 【 2 % 】
HEIF & HEVC图像格式你知道多少?哪个有优势?

文章插图
测试结果由于硬解码的支持 。jpeg 和 hevc 解码速度和 CPU 占用率都比 webp 快和小很多 。jpeg 和 hevc 不相伯仲 。可见苹果内部对其优化也相当到位 。才把它放到 iOS 11 中 。
总结
相比 JPEG 来比很强大 。毕竟是下一代技术 。但是兼容性可想而知 。在“最大效率”和“最大兼容”两者中间还是要根据使用场景进行权衡 。目前的优势也只有最新的 iPhone 能体验到 。但不久的将来可能所有的手机都去支持照片深度 。动态照片 。更广的色域等 。HEVC 也许和推行 H.264 一样 。逐渐成为了工业界的标准 。但又可能和推行 acc 的处境一样 。只是成为了苹果的标准而已 。终究还是要看市场的反应了 。

推荐阅读