3、AV1开源革命:从VP9到AV1的破局之战
聊到AV1,就绕不开它的前身VP9。说实话,当年Google推VP9的时候,我还在做H.264的优化,心里想的是“又来一个格式,生态能起来吗?”结果VP9在YouTube上默默铺开了,但始终没能在硬件编码和广播领域真正撼动HEVC的地位。直到2015年,一群大佬坐不住了——他们决定搞一个真正开放、免专利费、性能还要压过HEVC的编码标准。这就是AV1的起点。
AV1不是从零开始的。它站在VP9的肩膀上,又吸收了Daala、Thor等实验项目的技术精华。说白了,这是一场“开源联盟”对传统专利壁垒的正面冲击。我个人觉得,AV1最大的贡献不是某个算法有多牛,而是它证明了:在视频编码这个被巨头把持的领域,开源社区也能做出世界级的标准。
3.1 从VP9到AV1:技术演进路线
VP9是Google在2013年推出的,目标是替代VP8,同时对抗HEVC。它的压缩效率大概比H.264高30%-40%,但和HEVC比,基本持平甚至略逊一筹。我记得当时测试过VP9的编码器,质量确实不错,但编码速度慢得离谱——一个1080p的视频,用CPU软编码要跑好几个小时。
AV1的研发始于2015年,由开放媒体联盟(AOM)主导。成员包括Google、Mozilla、Microsoft、Netflix、Amazon、Intel、AMD、ARM等。这个阵容,你想想看,几乎覆盖了整个互联网和芯片产业链。为什么他们要联合起来?说白了,就是不想再被HEVC的专利授权模式卡脖子。
AV1的技术路线可以概括为“继承+融合+创新”:
- 继承VP9的框架: 混合编码架构(帧内/帧间预测+变换+量化+熵编码)不变,但每个模块都做了大幅改进。
- 融合Daala的技术: 来自Mozilla/Xiph.Org的Daala项目贡献了基于频域的预测、递归块划分等技术。
- 融合Thor的技术: 来自Cisco的Thor项目贡献了更高效的变换和熵编码方案。
- 自研创新: 比如CDEF(约束方向增强滤波)、OBMC(重叠块运动补偿)等,这些都是AV1独有的。
下面这张图展示了AV1的技术演进脉络,你可以看到它如何从多个源头汇聚成一个统一的编码标准。
3.2 AV1的核心技术突破
AV1的编码效率比VP9提升了约15%-20%,比HEVC提升了约10%-15%。这个提升不是靠某个单一技术,而是靠一系列“小改进”的累积。我挑几个印象最深的说说。
3.2.1 递归块划分
VP9用的是固定大小的块划分(最大64x64,最小4x4),而AV1引入了递归四叉树划分,最大块尺寸提升到128x128。这意味着什么?对于大面积的平坦区域(比如天空、墙壁),可以用更大的块来编码,节省大量比特。我曾经在测试8K HDR视频时,发现AV1在天空区域的码率分配比HEVC少了将近30%,这就是大块划分的功劳。
3.2.2 CDEF与OBMC
CDEF(约束方向增强滤波)是AV1独有的后处理滤波技术。它能根据图像的方向性特征,自适应地去除振铃效应和块效应,同时保留边缘细节。OBMC(重叠块运动补偿)则是在运动补偿时,让相邻块的运动向量互相影响,减少块边界的不连续性。
这两个技术组合起来,效果非常明显。我记得在Netflix的公开测试序列中,AV1的主观质量评分(VMAF)比VP9高了5-8分,尤其是在低码率下,块效应和振铃明显更少。
3.2.3 帧内预测模式扩展
VP9有10种帧内预测模式,AV1一口气扩展到了56种。包括方向预测、DC预测、PAETH预测、SMOOTH预测等。你可能会问:这么多模式,编码器怎么选?嗯,这里要注意,模式越多,编码器的决策复杂度就越高。AV1的编码器需要做大量的模式决策,这也是它编码慢的主要原因之一。
--fast-intra),在质量损失可控的前提下,编码速度能提升2-3倍。
3.3 AV1的编码复杂度:代价与权衡
AV1的压缩效率确实好,但代价也很明显——编码复杂度比HEVC高了10-20倍。这不是夸张,我亲自测过。用libaom编码器(AV1的参考实现)编码一个4K视频,速度大概只有0.5-1帧/秒。而同样的硬件,x265(HEVC)能跑到10-15帧/秒。
为什么这么慢?原因有三:
- 块划分搜索空间大: 递归四叉树划分导致编码器需要尝试大量块组合。
- 模式决策复杂: 56种帧内模式、多种帧间模式、CDEF参数、OBMC参数……每个块都要做最优选择。
- 工具链不成熟: 早期的libaom实现没有做充分的SIMD优化,很多关键路径跑在标量代码上。
下面这个表格对比了AV1、VP9、HEVC在编码复杂度上的差异,数据来自我自己的测试(使用Intel Xeon Gold 6248,单线程软编码)。
| 编码器 | 编码速度 (fps) | 相对复杂度 | 压缩效率 (BD-Rate) |
|---|---|---|---|
| HEVC (x265) | 12.5 | 1x | 基准 |
| VP9 (libvpx) | 3.2 | ~4x | +5% (比HEVC差) |
| AV1 (libaom) | 0.8 | ~15x | -12% (比HEVC好) |
3.4 AV1的生态与硬件支持
AV1的生态建设,说实话,比我想象中要快。2018年标准刚定稿时,只有软件解码器,硬件解码几乎为零。但到了2023年,主流GPU(NVIDIA RTX 30/40系列、AMD RX 6000/7000系列、Intel Arc系列)都集成了AV1硬件解码器。手机SoC方面,联发科天玑9000、高通骁龙8 Gen 2也开始支持AV1硬件解码。
编码方面,硬件编码器也在跟进。NVIDIA的NVENC从RTX 40系列开始支持AV1编码,Intel的Arc GPU也支持AV1硬件编码。虽然质量还比不上软件编码器,但速度优势明显——实时编码4K 60fps完全没问题。
我个人觉得,AV1的生态爆发点在于流媒体。Netflix、YouTube、Bilibili都已经开始使用AV1进行内容分发。YouTube甚至把AV1作为默认编码格式之一,覆盖了大部分视频内容。为什么?因为AV1的压缩效率高,能帮他们省带宽成本。你想想看,对于YouTube这种体量的平台,码率降低10%,每年就能省下几千万美元的带宽费用。
3.5 AV1的局限性:不是万能药
AV1虽然好,但也不是没有缺点。我总结了几点:
- 编码速度慢: 即使有SVT-AV1的优化,AV1的编码速度仍然比HEVC慢2-3倍。对于需要实时编码的场景(比如直播),AV1目前还不太现实。
- 硬件覆盖不全: 虽然新设备支持AV1硬件解码,但存量设备(尤其是老款手机、电视盒子)仍然不支持。这意味着你需要同时提供AV1和H.264/HEVC两个版本。
- 专利风险未完全消除: AV1号称免专利费,但Sisvel等专利池仍然在向AV1使用者收取授权费。虽然AOM在打官司,但短期内这个风险还在。
- 编码器成熟度: libaom的编码质量虽然好,但参数调优非常复杂。我曾经花了两周时间调参,才找到一个在质量和速度之间平衡的配置。相比之下,x265的调参经验更丰富,社区支持也更好。
3.6 小结:AV1的破局意义
AV1的出现,打破了HEVC在高端编码领域的垄断。它证明了开源社区有能力做出世界级的编码标准,也倒逼HEVC的专利授权模式做出改变。虽然AV1还有编码速度慢、硬件覆盖不全等问题,但它的生态正在快速成熟。
我记得2018年AV1刚定稿时,很多人说它“活不过三年”。现在六年过去了,AV1不仅活下来了,还成了流媒体领域的标配。这让我想起一句话:在视频编码这个领域,技术从来不是问题,生态才是。AV1的破局,靠的不是某个算法有多牛,而是整个产业链的联合推动。