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