
朋友圈“出圈”的背后|七牛云 HEIC 编码优化之路
蛇年迎春,万象更新。朋友圈里,实况照片定格美好瞬间,而这背后离不开 HEIC 格式助力。从苹果实况照片的灵动,到 macOS 动态壁纸的变幻,HEIC 正悄然改变着我们的视觉体验。
HEIC 由苹果公司主推,采用了先进的 H.265 视频编码技术,可以大幅度减少文件体积,是目前主流的图片格式之一。与传统 JPEG 格式相比,HEIC 实现了体积减半,有效节省了存储空间和流量成本。
然而,HEIC 格式虽然优势明显,但在实际应用中,也面临着很多挑战。例如,编码算法的复杂度,对计算资源的需求,都可能导致编码成本上升和用户体验下降。在降本增效的大背景下,七牛云通过多种优化手段,提高 HEIC 图片格式的访问量占比,助力企业实现高效存储与传输。
HEIC 格式落地难点
随着数字图像技术的发展,图像分辨率从 240P、320P、480P,扩展到 1080P、2K、4K,图像数据量呈几十倍甚至上百倍增长,显然,JPEG 格式已经逐渐不能满足日新月异的图像压缩需求。而 HEIF(高效图像格式,以.HEIC 扩展名存储)早在 2015 年已开发完成,为什么直到近年来才开始崭露头角?阻碍其发展的关键问题之一便是算力。
在 HEIF 初期,常见的转码服务器最多只能在 200-300ms 延时内编码一张 1080P 图片。与延时只在 10ms 级别的 JPEG 相比,HEIF 的效率优势并不明显。
然而,随着硬件能力的进步与工程算法的发展,HEIF 在目前常见的服务器上的编码延时已缩减到 150ms 以内。结合多核 CPU 的强大算力,单台服务器的 QPS 已经可以达到 120-500 左右。如果考虑 GPU 的硬件编码能力,单台异构服务器的 QPS 可能突破千次大关。如今,随着 HEIF 需求日益强烈,ASIC、FPGA 等实现也逐渐涌现,这类实现已经可将 QPS 提升到单卡轻松破千的水平。
但无论是购置专用服务器还是相应的硬件运维,对企业而言,都是一笔不菲且风险较高的投资。即便不考虑折旧率和运维成本,如何充分发挥算力、最大化收益,依然是个艰巨问题。
因此,对于变革性的 HEIF 技术而言,最好的方法便是从算法层次入手,在现有资源下,显著降低 HEIF 计算复杂度。七牛云凭借自研的多标准的编码器(如 QN264、QN265、QNAV1、AVIF 和 HEIC 等),在这一领域取得了一定进展。
HEIC 编码优化实践
模式选择
在图像处理领域,为了满足低存储成本,同时满足多种分辨率、样式的适配需求,一般情况下需要实时或准实时处理。七牛云采用自研的 QN265 编码器,针对 HEIF 格式进行优化,显著减少链路耗时。CPU 提供了高效的编码压缩体验,并可根据业务需求选择不同的画质档位,灵活调整编码参数,实现画质与存储成本的平衡。
例如,在对图像质量要求不高的场景(如缩略图)中,可选择较低画质档位,以获得更高的压缩比和更低的存储成本;而在需要高质量图像的场景(如图片展示)中,则可选择高画质档位,确保图像质量。目前,七牛云编码器正在持续的优化升级,希望提供更好的压缩性能和编码速度。
参考像素填充
在分块编码过程中,参考像素填充是一种重要的技术。对于一些图像块,可能需要根据周围块的像素信息进行编码,而参考像素填充可以为这些块提供必要的参考信息,以提高编码效率和质量。
例如,当编码一个图像块时,若其与相邻块具有相似的纹理或颜色特征,使用相邻块的像素作为参考,可以更精准地预测当前块的像素,从而减少编码所需的信息量,提高压缩比。
编码工具裁剪
编码工具裁剪是一种优化编码过程的策略,旨在关闭一些耗时高但收益不明显的算法,以提高整体编码效率。在图像或视频编码中,通常会使用多种算法来对数据进行处理,以达到压缩数据、提高质量等目的。然而,某些算法可能会消耗大量的时间和计算资源,但对最终的编码效果(如压缩比、图像或视频质量)的提升有限。七牛云通过裁剪这些冗余算法,更高效地完成编码任务。
小结
七牛云提供端到端的完整解决方案,支持各种格式图片的存储、处理、访问和展示。借助图片高级压缩功能和全新格式与编码器,让用户以最低成本获得小而美的图片体验,抢先拥抱面向未来的图片格式。
此外,借助关键帧编码技术,不仅能解决图片在上传和下载过程中的成本与效率问题,还能在保证更高压缩性能的基础上,保留更多图像细节,极大地提升用户体验。在未来,七牛云将继续深耕技术创新,优化 HEIC 图片格式的落地应用,助力企业实现高效、低成本的图片存储与传输。