Loading AI tools
開放媒體聯盟開發的開放且免專利費用的影片編碼格式 来自维基百科,自由的百科全书
AOMedia Video 1(簡稱AV1)是一個開放、免專利的影片編碼格式,為網路串流傳輸而設計。它由開放媒體聯盟(AOMedia)開發,目標是取代其前身VP9[2],該聯盟由半導體企業、隨選視訊供應商和網頁瀏覽器開發商於2015年成立。2018年,Facebook進行接近真實使用環境條件測試,測試結果顯示AV1資料壓縮率與x264 main profile、x264 high profile和libvpx-vp9相較之下,分別提昇50.3%、46.2%和34.0%[3]。
![]() | 此條目需要精通或熟悉相關主題的編者參與及協助編輯。 |
AV1在授權上與VP9類似,可以免版稅使用,不會像按銷售量計授權費的H.264/AVC和HEVC一樣對開源軟體的採用造成障礙。[4][5][6][7][8][9]
開放媒體聯盟(AOMedia)建立AV1主要是因為HEVC的專利許可成本高昂,授權空間模糊。AV1有望取代MPEG設計開發的編解碼器AVC[11][12]。聯盟最初由七間公司,Amazon、Cisco、Google、Intel、Microsoft、Mozilla和Netflix所組成,並宣布技術重點為提供高品質網路影像[13]。於2015年7月21日,HEVC Advance,現為ACCESS Advance,初始授權被宣布增加對AVC的權利金[14],除了權利金所增加的成本外,還增加了授權複雜度。這進而促成了同年9月1日,開放媒體聯盟發布AV1的官方公告並宣布成立。與過往MPEG規範不同,MPEG可以只從MPEG-LA獲得許可,而當完成HEVC規範時,已經形成了兩個專利池,第三個專利池也即將出現。普遍而言,專利持有人拒絕將專利共享於專利池上,這增添HEVC授權的不確定性。據微軟的Lan LeGrow所說,開源、免版稅可視為不確定性消除的方法[11]。
此外,建立AV1另一個原因是專利授權對自由開源軟體的負面影響[12]。例如在瀏覽器中,如果不向MPEG-LA支付權利金,就不能整合H.264[15]。歐洲自由軟體基金會認為,由於與自由軟體許可證的各種不相容,不可能實作公平及合理非歧視條款許可實踐使標準的自由軟體[16]。
AV1技術主要來自聯盟成員過往的研究與工作內容,分別在幾年前就開始實作實驗性平台,如:Xiph與Mozilla的Daala,於2014年9月12日發布的Google實驗性質的VP9的下一代VP10[17],以及2015年8月11日發布的Cisco的Thor。AV1以VP9的代碼庫為基礎,與其他技術結合產生[18],AV1編解碼器參考規範初始版本0.1.0,並於2016年4月7日發布。
2017年10月下旬,儘管對於開發的凍結開始生效,但數個重要功能仍在繼續發展。其中一項正在開發的功能──位元流格式,原定於2018年1月凍結開發,但仍有關鍵錯誤,以及需要對轉換方法、語法設計、運動向量預測的修改,也有法律的妥善性問題,最終發布日期延期至同年3月28日,聯盟發布官方AV1位元流規範與軟體的編解碼器參考規範[19],2018年6月25日發布經驗證過後的位元流規範1.0.0版[20],最終於2019年1月8日,發布1.0.0版附帶的規格刊誤。
據聯盟成員Bitmovin中Martin Smole表示,在位元流格式完成凍結後,計算效率在官方參考編解碼器仍具挑戰[21]。雖然尚可處理位元流格式,但此並非商用用途,速度最佳化也未考量。因此,早期版本的AV1比現有的HEVC編碼器慢幾個數量級。近期,開發者趨於優化官方參考編碼器。發布後一年的2019年3月,參考編碼器的效率有大幅提升,並且與其他常見的編解碼器在可比擬的效率範圍內[22]。
2021年1月21日,AV1的多用途網際網路郵件擴展(MIME)類型被定義為「video/AV1」。使用此MIME類型的AV1的使用僅限於即時傳輸協定目的[23]。
AV1的目標是成為一種既先進又免版稅的網路影片格式[24]。 根據谷歌Chrome媒體團隊戰略和合作夥伴關係主管 Matt Frost 的說法,「開放媒體聯盟的使命與WebM項目相同。」[25]
標準制定中反復出現的一個問題,尤其是免版稅的多媒體格式,是不小心侵犯其建立者和使用者不知道的專利的危險。關於 AV1和之前的VP8、 VP9、Theora和IVC已經提出了這種擔憂。這個問題並不是免版稅格式獨有的,但它獨特地威脅到他們免版稅的地位。
為實現免版稅的目標,開發過程要求在兩個獨立方獨立確認不侵犯競爭公司的專利之前,不得採用任何功能。如果無法獲得專利保護技術的替代方案,相關專利的所有者將被邀請加入聯盟(即使他們已經是另一個專利池的成員)。例如,聯盟成員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標準的影片編碼器[26]。
於此,訊框的內容被劃分(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形分割。
在不同區塊空間的部分上使用兩個獨立預測,可以使用平滑的傾斜過渡線(楔形分割區預測)。這使得對象得以準確地分割,而無需沿方形邊界的傳統階梯線。
基於瓦形行列之間的可預測的相依性這使得可以實作更多的編碼器平行性[27]。
AV1以更高的精度(10或12位元樣本頻率)執行內部處理,由於解析度提高,圖像中的四捨五入的誤差較小,使得壓縮效能改進。
預測(Prediction)可以在一個區塊中以更進階的方式組合成複合預測,包括不同方向平滑與尖銳的楔形分割區預測,以及基於使用兩個預測器探究兩者之間差異的隱式遮罩,這將比取平均來得優秀。這允許在同一超區塊中使用兩個訊框間預測或訊框間和訊框內預測的組合[28]。
於訊框間預測時,一個訊框可以訪問8個可用訊框緩衝區中的6個而不是3個,且可同時為雙向預測,即訊框間與訊框內預測組合預測[29]。
在AV1中的扭曲運動[27]和全域運動分析工具,用於藉由辨識由相機運動產生的模式,以減少運動向量中的冗餘資訊,如噪音即為冗於資訊[27]。這實現了以往的格式中試圖卻仍未被實現的做法,例如儘管採用適用於三維的新穎方法的MPEG-4 ASP。位元流中提供的訊框有一組扭曲參數,隱式區域參數可根據周圍的區塊計算得到並於區塊中使用。
切換訊框(S訊框)是一種新的訊框間類型,可以使用來自同一影像更高解析度的已解碼參考訊框進行預測以允許切換至低解析度,於自適性位元串串流媒體實例中,無需在開始時使用完整的關鍵訊框影像片段。
訊框內預測(Intra Prediction)使用當前訊框中可用資訊來預測目標區塊的像素。大多數情況下,訊框內預測是從待預測目標區塊上方和左側的相鄰像素構建的。DC預測器藉由平均區塊左側和上方像素進行預測。
根據指定的角度,方向預測器可以推斷相鄰像素。在AV1中,以45度角開始,每次差距22.5度,逐步增加至203度,共計八種模式。每個方向模式中,可以為較大的區塊給予每個3度,共計六組的偏移訊號,主角上方與下方各三組,從而產生總共56個角。
其中,真實運動預測器被替換為Paeth預測器,這將判別左上角已知像素與新像素的左側與上方的的像素的差異,而後選擇位於較小梯度方向的像素作為預測器。
另調色盤預測器可用於較少顏色最多8個顏色的區塊,如部分電腦螢幕內容,可使用基於亮度平面樣本的色度塊預測器來利用亮度和顏色資訊之間的相關性[27]。
為了減少沿訊框間預測區塊邊界的可視邊界,可使用重疊塊運動補償(OBMC)技術,與相鄰區塊重疊2到32個像素,並混合重疊部分[30]。
為了將預測後剩餘的誤差轉換(Data transformation)到頻域,AV1編碼器可以使用正方形、或2:1/1:2和4:1/1:4矩形進行離散餘弦變換[29],以及非對稱的離散正弦變換[31][32],對來自附近像素,預測左側或上方邊緣具有較低誤差的區塊,或者選擇不進行變換。
這可以複合兩個一維變換,使得水平和垂直維度得以使用不同的變換。
AV1具有最佳化量化(Quantization)矩陣,每訊框可選擇和傳送資訊八組量化參數,具有兩個色度平面的單獨參數,並且可以使用空間預測。在每個新的超區塊上,量化參數可以透過傳送偏移訊號進行調整。
Thor的約束低通濾波器(Filter)和Daala的定向去振鈴濾波器,對於環路濾波有卓越的成效:結合二者之約束定向增強濾波器,超過了單獨或一起使用一般濾波器的結果。
這是一種邊緣定向條件替換濾波器,平滑具有可組態強度的區塊沿主要邊緣方向,以消除振鈴效應。
還有基於Wiener濾波器和自引導恢復濾波器的環路恢復濾波器,用於去除由於區塊處理引起的模糊振鈴。
膠片顆粒合成使用參數影片編碼方法改進了噪聲訊號的編碼。由於膠片顆粒噪聲原生的隨機性,該訊號分量傳統上編碼成本昂貴,容易遺失與損壞,並可能會留下嚴重的編碼振鈴作為殘留物。使用膠片顆粒合成來規避這些問題,其使用視覺上主觀視覺印象相似的部分替換部分訊號而不是客觀相似性。消除從訊號中去除顆粒成分與分析其非隨機特徵,取而代之的是僅將描述性參數傳輸到解碼器,解碼器會添加回原始組成成分之後重塑並合成偽隨機噪聲訊號。膠片顆粒合成是AC3、AAC、Vorbis和Opus音訊編解碼器中使用的感知噪聲替代技術的視覺等效項。
Daala的熵編碼器,是一種非二進制的算術編碼器,作為替代原先VP9二進制的編碼器。非二進制算術編碼的有利於避開現有專利,同時也讓位元層級的串列過程增加了平行性,藉而降低硬體實作對於石英震盪器的速率要求。如前文參考之適應性二元算術編碼之現代二進制算術編碼的有效性,其正在使用比二進制更大的字母表來實作,因此速度更快,就像霍夫曼編碼一樣,雖然仍不及霍夫曼編碼簡單而快速。AV1在算術編碼器中擁有按編碼符號而不是按訊框調整符號概率的能力[27]。
對於視訊最重要的是,可適性視訊編碼是一種泛用技術而不是由AV1獨有,以便可以從更高位元速率的影像流中提取品質更好的低位元速率影片流。這與自適應位元速率流傳輸差別在於,每個更高位元速率適配中的一些壓縮效率被放棄,以獲得整體影像流的效能。編碼過程也較少冗餘與較低的要求。
AV1提供了時間和空間可適性[33],訊框速率和解析度都是定義為低位元流可用的方法。
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位元的色彩深度[34]。
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 | Max (抽樣) |
Max (抽樣) |
Max (抽樣) |
Max (Hz) |
Max (Hz) |
Max |
Main (Mbit/s) |
High (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 |
其他幾個組織也在開發AV1的編解碼器,包括EVE for AV1(目前為Beta測試版)、[48] NGCodec、[49] Socionext、[50] Aurora[51] 和MilliCast。[52]
Microsoft Windows | macOS | BSD / Linux | Android | iOS | |
---|---|---|---|---|---|
編解碼 |
未預設啟用,需擴充程式 | 是 | 是 | 是 | 是 |
容器 |
|||||
注釋 |
|
|
YouTube已開始嘗試在部份影片使用AV1影片格式。2020年2月5日,Netflix開始在Android裝置上使用AV1影片格式播放影片,AV1的壓縮效率較原先的VP9提升了20%[78]。Facebook表示AV1效能超乎預期,一旦時機成熟將逐步採用AV1影片格式[79]。
Twitch計劃在2022年或2023年於關注度較高的影片採用AV1影片格式,並在2024年或2025年全面採用[80]。
2020年4月30日,愛奇藝宣佈在電腦瀏覽器和Android裝置上支援AV1影片格式[81]。
2022年2月6日,嗶哩嗶哩已在網頁端測試AV1影片格式的解碼播放。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.