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壓縮算法的图形文件格式。
歷史進程
開放媒體聯盟(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技术主要来自联盟成员過往的研究與工作內容,分別在几年前就开始实现实验性平台,如: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的目標是成為一種既先進又免版税的網絡視頻格式。
分區
於此,帧的内容被劃分(Partitioning)為相間、相鄰且大小相同的區塊,称为超區塊。相似於宏區塊的概念,超區塊呈現方形,大小可為128×128或64×64像素。超區块可以根据不同的分区模式划分为更小的區塊。四方分割模式(four-way split pattern)是唯一可以递归將分区細分的模式。这允许将超區块從大區塊划分为小至4×4像素的分區。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中的扭曲运动。
数据转换
为了将预测后剩余的误差转换(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拥有三种設定(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位元的色彩深度。
採用
内容供應商
音訊編解碼器的影片統計資料。]]
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 1.0.0发布于2022年4月22日。 SVT-AV1 1.4.0发布于2022年12月30日。
- rav1e是一个用Rust和汇编语言编写的编码器。 2022年3月18日,dav1d 1.0.0发布。
- libgav1是用C++11编写的解码器,由Google发布。
其他几个组织也在开发AV1的编解码器,包括EVE for AV1(目前为Beta测试版)、)
**Google Chrome(自2018年10月第70版後的解码器起;自2021年4月14日第90版后的編碼器起)
** Opera(自2018年11月28日第57版起)
** Microsoft Edge(自2018年10月10日Windows更新的(1809)起,带有[https://www.microsoft.com/store/apps/9MVZQVXJBQ9V 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月起)
操作系统支持
{| class="wikitable" style="width: 100%;"
|+ 不同操作系统的AV1支持
|-
! scope="col" |
! scope="col" style="min-width:20%" | Microsoft Windows
! scope="col" style="min-width:20%" | macOS
! scope="col" | BSD / Linux
! scope="col" | Android
! scope="col" style="min-width:20%" | iOS
|-
! scope="row" | 编解码支持
|
|
|
|
|
|-
! scope="row" | 容器支持
|
- 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)
|-
! scope="row" | 注释
|
- Windows 10 1809更新中通过AV1 Video Extension加入了支持
- 電影與電視等通用Windows平台应用中支持。
|
- macOS Ventura支持AVIF图像,但不能播放AV1
- macOS Sonoma支持AVIF图像,在具有硬件加速能力的硬件上支持AV1播放,如搭载Apple M3 SoC的Mac
}}
评论 (0)