AOMedia Video 1

AOMedia Video 1（简称AV1）是一个开放、免专利的影片编码格式，为网络串流传输而设计。它由开放媒体联盟（AOMedia）开发，目标是取代其前身VP9，该联盟由半导体企业、随选视讯供应商和网页浏览器开发商于2015年成立。2018年，Facebook进行接近真实使用环境条件测试，测试结果显示AV1资料压缩率与x264 main profile、x264 high profile和libvpx-vp9相较之下，分别提升50.3%、46.2%和34.0%。

AV1在授权上与VP9类似，可以免版税使用，不会像按销售量计授权费的H.264/AVC和HEVC一样对开源软件的采用造成障碍。

AVIF是一种使用AV1压缩算法的图形文件格式。

## 历史进程

<image>

开放媒体联盟（AOMedia）创建AV1主要是因为HEVC的专利许可成本高昂，授权空间模糊。AV1有望取代MPEG设计开发的编解码器AVC。联盟最初由七间公司，Amazon、Cisco、Google、Intel、Microsoft、Mozilla和Netflix所组成，并宣布技术重点为提供高品质网络影像。于2015年7月21日，HEVC Advance，现为ACCESS Advance，初始授权被宣布增加对AVC的权利金，除了权利金所增加的成本外，还增加了授权复杂度。这进而促成了同年9月1日，开放媒体联盟发布AV1的官方公告并宣布成立。与过往MPEG规范不同，MPEG可以只从MPEG-LA获得许可，而当完成HEVC规范时，已经形成了两个专利池，第三个专利池也即将出现。普遍而言，专利持有人拒绝将专利共享于专利池上，这增添HEVC授权的不确定性。据微软的Lan LeGrow所说，开源、免版税可视为不确定性消除的方法。

此外，创建AV1另一个原因是专利授权对自由开源软件的负面影响。例如在浏览器中，如果不向MPEG-LA支付权利金，就不能集成H.264。欧洲自由软件基金会认为，由于与自由软体许可证的各种不兼容，不可能实现公平及合理非歧视条款许可实践使标准的自由软体。

AV1技术主要来自联盟成员过往的研究与工作内容，分别在几年前就开始实现实验性平台，如：Xiph与Mozilla的Daala，于2014年9月12日发布的Google实验性质的VP9的下一代VP10，以及2015年8月11日发布的Cisco的Thor。AV1以VP9的代码库为基础，与其他技术结合产生，AV1编解码器参考规范初始版本0.1.0，并于2016年4月7日发布。

2017年10月下旬，尽管对于开发的冻结开始生效，但数个重要功能仍在继续发展。其中一项正在开发的功能──比特流格式，原定于2018年1月冻结开发，但仍有关键错误，以及需要对转换方法、语法设计、运动矢量预测的修改，也有法律的妥善性问题，最终发布日期延期至同年3月28日，联盟发布官方AV1比特流规范与软件的编解码器参考规范，2018年6月25日发布经验证过后的比特流规范1.0.0版，最终于2019年1月8日，发布1.0.0版附带的规格刊误。

据联盟成员Bitmovin中Martin Smole表示，在比特流格式完成冻结后，计算效率在官方参考编解码器仍具挑战。虽然尚可处理比特流格式，但此并非商用用途，速度优化也未考量。因此，早期版本的AV1比现有的HEVC编码器慢几个数量级。近期，开发者趋于优化官方参考编码器。发布后一年的2019年3月，参考编码器的效率有大幅提升，并且与其他常见的编解码器在可比拟的效率范围内。

2021年1月21日，AV1的多用途互联网邮件扩展（MIME）类型被定义为“video/AV1”。使用此MIME类型的AV1的使用仅限于实时传输协议目的。

## 目的

AV1的目标是成为一种既先进又免版税的网络视频格式。根据谷歌Chrome媒体团队战略和合作伙伴关系主管 Matt Frost 的说法，“开放媒体联盟的使命与WebM项目相同。”

标准制定中反复出现的一个问题，尤其是免版税的多媒体格式，是不小心侵犯其创建者和用户不知道的专利的危险。关于 AV1和之前的VP8、 VP9、Theora和IVC已经提出了这种担忧。这个问题并不是免版税格式独有的，但它独特地威胁到他们免版税的地位。

专利授权｜AV1, VP9, Theora｜VVC, HEVC, AVC｜GIF, MP3, MPEG-1, MPEG-2, MPEG-4 Part 2

由知名专利持有人｜免版税｜按销售量计授权费（Royalty bearing）｜专利过期

由不知名的专利持有人｜无法确定（在格式的所有专利过期后才可确定，在WTO国家至少20年）

为实现免版税的目标，开发过程要求在两个独立方独立确认不侵犯竞争公司的专利之前，不得采用任何功能。如果无法获得专利保护技术的替代方案，相关专利的所有者将被邀请加入联盟（即使他们已经是另一个专利池的成员）。例如，联盟成员Apple、Cisco、Google和Microsoft也是MPEG-LA H.264专利池的许可人。

## 技术

AV1是一种使用传统的基于区块编码但也加入了新技术的频率变换格式，AV1所使用的编码技术主要来源于谷歌VP9的下一代视频压缩格式VP10，但同时也包含了由Xiph.Org基金会的主要赞助者Mozilla开发的Daala视频压缩格式和由Cisco开发的Thor视频压缩格式中所使用的视频编码技术。

开放媒体联盟根据FreeBSD 2许可证发布了一个用C语言和汇编语言编写的编解码器参考实例libaom。该参考实例的开发接受开放媒体联盟成员资助并且公开进行。此外还有另一个开源编码器rav1e，rav1e编码器以牺牲编码效率为代价，成为最简单、最快符合AV1标准的视频编码器。

### 分区

<image>

于此，帧的内容被划分（Partitioning）为相间、相邻且大小相同的区块，称为超区块。相似于宏区块的概念，超区块呈现方形，大小可为128×128或64×64像素。超区块可以根据不同的分区模式划分为更小的区块。四方分割模式（four-way split pattern）是唯一可以递归将分区细分的模式。这允许将超区块从大区块划分为小至4×4像素的分区。

<image>

T形分区模式是VP10开发的一项新功能，水平或垂直拆分超区块分割为4:1和1:4长条形分区。分区模式的使用因超区块大小而有所限制，其中128×128和8×8超区块都不能使用4:1或1:4长条型分区拆分，而只有8×8超区块则不能使用T形分割。

在不同区块空间的部分上使用两个独立预测，可以使用平滑的倾斜过渡线（楔形分区预测）。这使得对象得以准确地分割，而无需沿方形边界的传统阶梯线。

基于瓦形行列之间的可预测的相依性这使得可以实现更多的编码器平行性。

### 预测

AV1以更高的精度（10或12位样本频率）执行内部处理，由于分辨率提高，图像中的四舍五入的误差较小，使得压缩效能改进。

预测（Prediction）可以在一个区块中以更高级的方式组合成复合预测，包括不同方向平滑与尖锐的楔形分区预测，以及基于使用两个预测器探究两者之间差异的隐式掩码，这将比取平均来得优秀。这允许在同一超区块中使用两个帧间预测或帧间和帧内预测的组合。

于帧间预测时，一个帧可以访问8个可用帧缓冲区中的6个而不是3个，且可同时为双向预测，即帧间与帧内预测组合预测。

在AV1中的扭曲运动和全局运动分析工具，用于借由识别由相机运动产生的模式，以减少运动向量中的冗余资讯，如噪音即为冗于资讯。这实现了以往的格式中试图却仍未被实现的做法，例如尽管采用适用于三维的新颖方法的MPEG-4 ASP。比特流中提供的帧有一组扭曲参数，隐式区域参数可根据周围的区块计算得到并于区块中使用。

切换帧（S帧）是一种新的帧间类型，可以使用来自同一影像更高分辨率的已解码参考帧进行预测以允许切换至低分辨率，于自适性比特串流媒体实例中，无需在开始时使用完整的关键帧影像片段。

### 帧内预测

帧内预测（Intra Prediction）使用当前帧中可用资讯来预测目标区块的像素。大多数情况下，帧内预测是从待预测目标区块上方和左侧的相邻像素构建的。DC预测器借由平均区块左侧和上方像素进行预测。

根据指定的角度，方向预测器可以推断相邻像素。在AV1中，以45度角开始，每次差距22.5度，逐步增加至203度，共计八种模式。每个方向模式中，可以为较大的区块给予每个3度，共计六组的偏移信号，主角上方与下方各三组，从而产生总共56个角。

其中，真实运动预测器被替换为Paeth预测器，这将判别左上角已知像素与新像素的左侧与上方的的像素的差异，而后选择位于较小梯度方向的像素作为预测器。

另调色板预测器可用于较少颜色最多8个颜色的区块，如部分电脑萤幕内容，可使用基于亮度平面样本的色度块预测器来利用亮度和颜色信息之间的相关性。

为了减少沿帧间预测区块边界的可视边界，可使用重叠块运动补偿（OBMC）技术，与相邻区块重叠2到32个像素，并混合重叠部分。

### 数据转换

为了将预测后剩余的误差转换（Data transformation）到频域，AV1编码器可以使用正方形、或2:1/1:2和4:1/1:4矩形进行离散余弦变换，以及非对称的离散正弦变换，对来自附近像素，预测左侧或上方边缘具有较低误差的区块，或者选择不进行变换。

这可以复合两个一维变换，使得水平和垂直维度得以使用不同的变换。

### 量化

AV1具有最佳化量化(Quantization）矩阵，每帧可选择和发送资讯八组量化参数，具有两个色度平面的单独参数，并且可以使用空间预测。在每个新的超区块上，量化参数可以通过发送偏移信号进行调整。

### 滤波器

Thor的约束低通滤波器（Filter）和Daala的定向去振铃滤波器，对于环路滤波有卓越的成效：结合二者之约束定向增强滤波器，超过了单独或一起使用一般滤波器的结果。

这是一种边缘定向条件替换滤波器，平滑具有可配置强度的区块沿主要边缘方向，以消除振铃效应。

还有基于Wiener滤波器和自引导恢复滤波器的环路恢复滤波器，用于去除由于区块处理引起的模糊振铃。

胶片颗粒合成使用参数视频编码方法改进了噪声信号的编码。由于胶片颗粒噪声固有的随机性，该信号分量传统上编码成本昂贵，容易遗失与损坏，并可能会留下严重的编码振铃作为残留物。使用胶片颗粒合成来规避这些问题，其使用视觉上主观视觉印象相似的部分替换部分信号而不是客观相似性。消除从信号中去除颗粒成分与分析其非随机特征，取而代之的是仅将描述性参数传输到解码器，解码器会添加回原始组成成分之后重塑并合成伪随机噪声信号。胶片颗粒合成是AC3、AAC、Vorbis和Opus音频编解码器中使用的感知噪声替代技术的视觉等效项。

### 熵编码

Daala的熵编码器，是一种非二进制的算术编码器，作为替代原先VP9二进制的编码器。非二进制算术编码的有利于避开现有专利，同时也让比特层级的串列过程增加了平行性，藉而降低硬件实现对于石英震荡器的速率要求。如前文参考之适应性二元算术编码之现代二进制算术编码的有效性，其正在使用比二进制更大的字母表来实现，因此速度更快，就像霍夫曼编码一样，虽然仍不及霍夫曼编码简单而快速。AV1在算术编码器中拥有按编码符号而不是按帧调整符号概率的能力。

### 可适性视讯编码

对于视讯最重要的是，可适性视讯编码是一种泛用技术而不是由AV1独有，以便可以从更高比特率的影像流中提取质量更好的低比特率视频流。这与自适应比特率流传输差别在于，每个更高比特率适配中的一些压缩效率被放弃，以获得整体影像流的效能。编码过程也较少冗余与较低的要求。

AV1提供了时间和空间可适性，帧速率和分辨率都是定义为低比特流可用的方法。

## 编码规范

AV1拥有三种设定（Profile）供解码器使用Main、High与Professional。Main允许8、10位元的色彩深度以及4:0:0（灰阶）和4:2:0的色度抽样。High后续会支持4:4:4的色度抽样。Professional将会完整支持4:0:0、4:2:0、4:2:2、4:4:4的色度抽样以及8、10、12位元的色彩深度。

Main (0)｜High (1)｜Professional (2)

色彩深度｜8、10｜8、10｜8、10、12

色度抽样｜4:0:0｜是｜是｜是

4:2:0｜是｜是｜是

4:2:2｜否｜否｜是

4:4:4｜否｜是｜是

seq_level_idx｜Level｜MaxPicSize(抽样)｜MaxHSize(抽样)｜MaxVSize(抽样)｜MaxDisplayRate(Hz)｜MaxDecodeRate(Hz)｜MaxHeaderRate (Hz)｜MainMbps(Mbit/s)｜HighMbps(Mbit/s)｜Min Comp Basis｜Max Tiles｜Max Tile Cols｜Example

0｜2.0｜147456｜2048｜1152｜4,423,680｜5,529,600｜150｜1.5｜2｜8｜4｜426×240@30fps

1｜2.1｜278784｜2816｜1584｜8,363,520｜10,454,400｜150｜3.0｜2｜8｜4｜640×360@30fps

4｜3.0｜665856｜4352｜2448｜19,975,680｜24,969,600｜150｜6.0｜2｜16｜6｜854×480@30fps

5｜3.1｜1065024｜5504｜3096｜31,950,720｜39,938,400｜150｜10.0｜2｜16｜6｜1280×720@30fps

8｜4.0｜2359296｜6144｜3456｜70,778,880｜77,856,768｜300｜12.0｜30.0｜4｜32｜8｜1920×1080@30fps

9｜4.1｜2359296｜6144｜3456｜141,557,760｜155,713,536｜300｜20.0｜50.0｜4｜32｜8｜1920×1080@60fps

12｜5.0｜8912896｜8192｜4352｜267,386,880｜273,715,200｜300｜30.0｜100.0｜6｜64｜8｜3840×2160@30fps

13｜5.1｜8912896｜8192｜4352｜534,773,760｜547,430,400｜300｜40.0｜160.0｜8｜64｜8｜3840×2160@60fps

14｜5.2｜8912896｜8192｜4352｜1,069,547,520｜1,094,860,800｜300｜60.0｜240.0｜8｜64｜8｜3840×2160@120fps

15｜5.3｜8912896｜8192｜4352｜1,069,547,520｜1,176,502,272｜300｜60.0｜240.0｜8｜64｜8｜3840×2160@120fps

16｜6.0｜35651584｜16384｜8704｜1,069,547,520｜1,176,502,272｜300｜60.0｜240.0｜8｜128｜16｜7680×4320@30fps

17｜6.1｜35651584｜16384｜8704｜2,139,095,040｜2,189,721,600｜300｜100.0｜480.0｜8｜128｜16｜7680×4320@60fps

18｜6.2｜35651584｜16384｜8704｜4,278,190,080｜4,379,443,200｜300｜160.0｜800.0｜8｜128｜16｜7680×4320@120fps

19｜6.3｜35651584｜16384｜8704｜4,278,190,080｜4,706,009,088｜300｜160.0｜800.0｜8｜128｜16｜7680×4320@120fps

## 采用

### 内容供应商

<image>

2016年10月，Netflix表示他们预计将成为AV1的最早采用者。2020年2月5日，Netflix开始在Android装置上使用AV1来串流特定影片，相较于Netflix原本使用的VP9串流，压缩效率提升了20%，并且开始向部分内建AV1解码器的智慧电视串流AV1内容。

2018年，YouTube开始部署AV1，并且推出了AV1 Beta Launch Playlist影片播放清单。根据说明，这些播放清单的影片以高位元速率编码，用于测试解码效能，而YouTube对于全面推广AV1有着“雄心勃勃的目标”。自2020年初释出的2.10.13版本开始，Android TV版本的YouTube应用程序已支援在相容平台上播放以AV1编码的影片。2020年，YouTube开始以AV1格式提供8K分辨率的影片。

2019年2月，Facebook在内部测试取得正面结果后，表示会逐渐推广AV1编解码器。他们计划从最受欢迎的影片开始，一旦主流浏览器普遍支援AV1格式，就会开始全面部署。

Twitch于2022年或2023年较受欢迎的内容部署了AV1，并预计在2024年或2025年全面支援。

2020年4月30日，爱奇艺宣布在电脑浏览器和Android设备上支持AV1视频格式。

2022年2月6日，哔哩哔哩已在网页端测试AV1视频格式的解码播放。

### 软件实现

- Libaom是AV1的参考实现，它包含一个编码器（aomenc）和一个解码器（aomdec）。它特性与标准实现最全，但是编码速度非常缓慢。后续开发中Libaom的性能得到了显著优化。
- SVT-AV1包含了主要由英特尔与Netflix合作开发的开源编码器和解码器。这一编解码器特别关注多线程性能。2020年8月，开放媒体联盟接受了SVT-AV1作为生产就绪的编码器。SVT-AV1 1.0.0发布于2022年4月22日。SVT-AV1 1.4.0发布于2022年12月30日。
- rav1e是一个用Rust和汇编语言编写的编码器。rav1e采用了与aomenc相反的开发方法：从最快、最简单的兼容编码器开始，然后在后续开发中提高效率，同时保持速度。
- dav1d是一个用C99和汇编语言编写的解码器，注重速度和可移植性。在2019年3月，dav1d 0.3发布，经过进一步优化，此时dav1d已经比Libaom的aomdec快2到5倍。在2019年5月，Firefox 67将默认解码器从Libaom切换到了dav1d。2019年，与libgav1和libaom 相比，dav1d v0.5解码性能更好。2022年3月18日，dav1d 1.0.0发布。
- libgav1是用C++11编写的解码器，由Google发布。

其他几个组织也在开发AV1的编解码器，包括EVE for AV1（目前为Beta测试版）、 NGCodec、 Socionext、 Aurora 和MilliCast。

### 软件支持

- Firefox（自2019年5月第67.0版起；在所有桌面平台上预设启动-适用于32位和64位系统的Windows、macOS和Linux）
- Google Chrome（自2018年10月第70版后的解码器起；自2021年4月14日第90版后的编码器起）
- Opera（自2018年11月28日第57版起）
- Microsoft Edge（自2018年10月10日Windows更新的(1809）起，带有 AV1影像扩展插件）
- Vivaldi（自2018年10月起）
- VLC媒体播放器（自3.0版起）
- mpv（自0.29.0版起）
- Xine-lib（自1.2.10起）
- PotPlayer（自2018年10月16日第1.7.14804版起）
- K-Lite编解码器包（自2018年9月13日起14.4.5版起）
- FFmpeg（自2018年4月20日4.0版起）
- HandBrake（自2019年11月9日1.3.0版起支持解码）
- Bitmovin编码（自2018年7月4日1.50.0版起）
- DaVinci Resolve（自2021年5月17.2版起支持解码）
- GStreamer（自1.14版起）
- MKVToolNix（自版本28开始采用最终的av1-in-mkv规范）
- MediaInfo（自18.03版起）
- Elecard StreamEye Studio（影像品质分析工具）
- Google Duo（自2020年4月起）

### 操作系统支持

Microsoft Windows｜macOS｜BSD / Linux｜Android｜iOS

编解码支持｜是｜是｜是｜是｜是

容器支持｜、MP4 (.mp4)、WebM (.webm)、Matroska (.mkv)｜、MP4 (.mp4)、WebM (.webm)｜、MP4 (.mp4)、WebM (.webm)、Matroska (.mkv)｜、MP4 (.mp4)、WebM (.webm)、Matroska (.mkv)｜、MP4 (.mp4)、WebM (.webm)

注释｜、Windows 10 1809更新中通过AV1 Video Extension加入了支持、Windows 10 1909更新中加入了硬件加速支持、电影与电视等通用Windows平台应用中支持。｜、macOS Ventura支持AVIF图像，但不能播放AV1、macOS Sonoma支持AVIF图像，在具有硬件加速能力的硬件上支持AV1播放，如搭载Apple M3 SoC的Mac｜、Android 10后支持｜、iOS 16支持AVIF图像，但不能播放AV1、iOS 17支持AVIF图像，在具有硬件加速能力的硬件上支持AV1播放，如iPhone 15 Pro和iPhone 15 Pro Max

## 基本资料

- 发行日期：2018年3月28日
- 最新版本：1.0.0 Errata 1
- 最新版本：2019年1月9日
- 免费在线档案：是
- 网站： aomedia.org/av1-features/
- 所有者：开放媒体联盟
- 类型：视频编码格式
- 扩展自：VP10、Daala、Thor
- 扩展为：AV2
- 使用容器：Matroska、WebM、ISOBMFF、RTP（WebRTC）
- 标准： AOM AV1
- 日语原文：libaom
- 开发者：开放媒体联盟
- 编程语言：C语言、汇编语言
- 许可协议：FreeBSD 2（自由）
- 网站： aomedia.googlesource.com/aom