新聞 | iThome ( ) • 2024-04-10 23:33

Google释出了一个新的JPEG编码函式库Jpegli,其设计比传统JPEG更快更有效率,图片也更美观。在高品质的压缩设定下,Jpegli可比传统JPEG解编码器压缩比提高35%,更重要的是该函式库保持高度的向后相容性,可与现有系统无缝整合。

Jpegli提供与原始JPEG标准完全可互通的编码器和解码器,以及和libjpeg-turbo、MozJPEG的API/ABI高度相容性,其采用最为广泛使用的8位元格式来处理和储存图像资料,如此确保了Jpegli的泛用性,在不牺牲现有系统和应用稳定性的前提下,供用户马上获得效能提升。

特别的是,当图片透过Jpegli压缩或是解压缩时,函式库会执行精确且符合心理视觉(Psychovisually Effective)特性的计算,这将使整体影像看起来更加清晰,且可观察到的失真更少。Jpegli能比传统JPEG解编码器更有效地压缩图像,可节省频宽和储存空间,以及加快网页速度。

Jpegli还有一项特性是执行快速,在提高影像品质和压缩比的同时,Jpegli的编码速度并没有因此变慢,仍与libjpeg-turbo和MozJPEG等传统方法相当,这使得开发人员可以将Jpegli整合进现有的工作流程中,且不会牺牲额外的编码效能或是记忆体使用。

传统JPEG编码解决方案仅对每个色彩成分(Color Component),仅使用8位元来表示,如此大幅限制颜色的表达范围,容易产生可见的色带(Banding)失真,但在Jpegli中,每个色彩成分都可以使用10+位元进行编码。

不过Jpegli的10+位元编码是以原始8位元格式进行,因此所产生的图像能够与8位元图像浏览器完全相容,Google提到,Jpegli应用了许多新技术来降低杂讯并提高影像品质。这些技术包括自JPEG XL参照实作的自适应量化启发式演算法、改进的量化矩阵选择,以及精确计算中继结果,并且尽可能使用进阶色彩空间。

自适应量化启发式演算法主要是根据心理视觉模型,控制量化的死域(Quantization Deadzone),这种方法是Google为JPEG XL设计,其核心概念在于动态调整图像不同部分的压缩强度,根据人眼对于亮度、色彩和细节等感知差异,在细节丰富或是视觉重点区块,执行较少的压缩,而在视觉不敏感的地方加强压缩。

Jpegli还使用了一组量化矩阵,这些矩阵会根据心理视觉品质指标进行最佳化选择,而Jpegli精确计算的中继结果则可提高图像品质,且编码和解码都会产生更高品质的结果。Jpegli还会使用JPEG XL的XYB色彩空间,进一步提高图像品质和密度。