什么是 AVIF?

什么是 AVIF? 本站点就使用 AVIF. 作为一种图像压缩技术,它可以减少带宽和存储空间占用。如果您曾经看到过 .webp 这样的后缀名,那么您也应该算见识过现代一些的图像压缩技术了。AVIF 的本质也是一种较新的图像有损压缩技术标准。

一般来说,互联网上传递和直接能在浏览器中显示的图像文件都是经过压缩的。而压缩存在两种形式:有损 (Lossy) 压缩和无损 (Lossless) 压缩。后者包括众所周知的 zip, 7zip 一类,适用于几乎所有文件类型。后者则包括 JPEG, AV1 等等,主要针对多媒体文件。这里压缩对象的差别是非常情有可原的:人类一下就能判断出文本的损耗,所以文本不可能有损压缩;但人眼和人耳对于图像、声音则可能忽略掉很多信息——如果压缩算法能够精准地把这些人类通常忽略的信息删除掉,那就可以大而有损地压缩一个文件,而不让人类察觉到明显的区别,或不至于让文件内容无法被识别。算法科学家们通过严谨的心理学实验、人工智能分析等方法,可以找出人类容易忽略的信息,并且用相应的算法剔除它们。AVIF 和 WebP 是两种比较新的图像压缩技术,而它们对应的视频压缩技术则是 AV1 和 VPx (很显然,视频本质是静态图像的集合). 它们之所以能在不怎么影响文件质量的前提下,有损压缩,提供高的压缩率,其本质是对人类认知这类信息的过程有了新的认识,并通过新的算法来利用这些过程,更精确地剔除不必要信息。

下面提供了三张图片,图片内容均一致为一条小狗,图片质量看起来也差不多。但是它们采用了三种压缩技术。JPEG, WebP, AVIF. 您可能会发现新技术提供的不可思议的压缩率。(需要注意,AVIF 和 WebP 例图均采用 JPEG 作为样板原图) 原图片地址. 点击压缩工具的名称可以访问它们的主页。

JPEG WebP AVIF
Input cwebp (Q:80) cavif (Q:80)
954.2 kB 404.6 kB (~42%) 293.2 kB (~30%)

如果您用肉眼看上去,几乎没有差别;但是实际上压缩后文件大小只有源文件的三分之一。这就是算法的威力。这样高的压缩率当然不是依靠简单地合并像素来降低画质、使用字典来无损压缩(当然,这些技术是采用的,只是不是主要)。这样的技术,研究的是客观反映到主观的过程。在这个过程中,量变会导致质变,如果合并的像素过多,那么人类会在某一个时刻觉得“图片不清晰”了。而变哪里也是非常重要的;图片的一些方面是这种变化的主要方面(提前透露:是颜色),另一些则是次要的。

刚才已经阐明,人眼对一部分信息其实相当不敏感。这种信息主要为两种:颜色信息,和人类“不关注”区域的像素信息。人类视觉在生物中算是颜色相对匮乏、关注轮廓的那一种——这源自于人类的杂食性生物特征所致的自然选择,普遍适用。利用这一规律,图片压缩应该重在保留轮廓(亮度信息)、丢弃部分无法感知或不敏感的色彩信息。无论是 JPEG, WebP, 还是 AVIF 都在事实上采用了基于颜色的有损压缩。这种压缩本质上是在信号学层面上对于复杂的颜色波动(譬如图片中一行像素对应的颜色的波动)进行一种抽象。或者,将颜色通过更高效(更适配人类视觉细胞感知色彩范围和人类神经认识色彩范围)的方式表达出来。

AVIF 在压缩过程中首先会将颜色空间 (Color Space) 从 RGB 转换为 YUV. 后者更关注颜色的亮度和纯度;颜色空间可以简单理解为色彩的表达方式,后者占用的大部分空间都用来描述人眼敏感的信息,抓住人眼识别内容的主要方面。接下来,它会处理人类不关注的图片像素信息。但在这之前,它需要先考虑到一个问题:一张图片本身也是变化的,不是静止的,不存在一个通用的方法,能够处理一张图片内的所有问题。必须关注到图片内部内容的特殊性。这就需要把图片拆开来看。所以,为了更贴合每个区域的实际,AVIF 会将图片拆分成(一般为)64 * 64 像素的小块,以便更有效地处理图片细节。再接着 AVIF 可以开始量化 (Quantize) 这些信息,简单来说就是把像素在整个图片中的“变化”变成波动,本质上是找到变化中的规律。通过利用这些规律,隐去一部分人类视觉不易察觉的波动信息,于是又实现了不易察觉的有损压缩。其他步骤还包括动态地编码来找出人类更有可能关注的图片区域,相应地提高没那么重要的区域的水平。

愈是高级的压缩,就愈是关注动态,关注变化。因为只有关注动态和变化,用动态的视觉看问题,才能更好地描述客观,也就是更好地做到有损压缩。

新事物取代旧事物,这是一个过程,不会一蹴而就。所以,今天仍有相当数量的旧浏览器、旧设备不能支持显示 AVIF 格式的图片。然而,新事物是处于优势的。现在 “AVIF Image Format” 已被列入 Baseline 2024 支持列表,并受到主流现代浏览器较新版本的普遍支持。未来,更高级的压缩技术也一定会出现,推动互联网继续发展。