天天看點

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

文 / 範逵

整理 / LiveVideoStack

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取
大家好,我是來自北京大學的範逵,本次分享的主題是AVS3關鍵技術介紹、性能和複雜度分析。
AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取
首先做一個自我介紹,我于2019年博士畢業于北京大學,2018-2019年新加坡南洋理工大學通路學者,2016-2019年間擔任MPEG Internet Video Coding(IVC)标準專題小組副主席,目前擔任AVS3标準參考軟體維護人。主要研究領域是視訊編解碼算法、視訊編碼快速算法以及圖像和視訊處理三個方面。

1. AVS發展曆史

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

本次分享将主要從AVS發展曆史、AVS3關鍵技術介紹、AVS3性能測試和AVS3資料擷取四個部分展開。

1.1 AVS1與AVS+

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

AVS1指第一代AVS标準,制定起始于2002年,于2006年2月頒布,性能與同期國際标準MPEG-2相當。AVS+于2012年7月獲批成為廣電行标,性能與同期的MPEG-4 AVC/H.264相當。

1.2 AVS2及其産業化

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

第二代的AVS标準簡稱AVS2,于2016年5月被頒布為廣電行标,2016年的12月30日被頒布為國家标準,壓縮效率與國際标準H.265/HEVC相當,但在全I幀編碼以及監控場景編碼中性能優于HEVC。在産業化方面,AVS2視訊标準全面應用于IPTV和廣東省4K超高清,解碼晶片已由華為海思、晨星(Mstar)等研發并推向市場,廣播級AVS2超高清實時編碼器由深圳優微視覺等公司推向市場。

1.3 AVS3

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

說到AVS3,就不得不提AVS3的封閉開發。在去年十二月廈門會議後AVS标準工作組決定進行封閉開發,從去年的12月10日到2019年1月28日,曆時48天完成了AVS3第一階段标準制定任務,AVS3 Baseline Profile編碼性能相比AVS2和HEVC提升超過20%。2019年3月9日的青島會議上,AVS3的基準檔次起草完成,預計于2022年投入應用,我國的AVS3+5G+8K産業發展将領先全球部署。之後進行的标準制定工作是AVS3 High Profile,即AVS3第二階段标準,預計會在2020年6月制定完成,目标編碼性能比AVS2提升一倍,也就是在現有AVS3 Baseline Profile的基礎上提升20-30%的性能。

2. AVS3 關鍵技術介紹

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

2.1 基礎塊劃分結構

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

AVS3采用了QT+BT+EQT的基礎塊劃分結構,在上一代标準(AVS2和HEVC)中采用的是四叉樹(QT)劃分将一個CU劃分為四個subCU。在AVS3中除了支援四叉樹劃分,還支援二叉樹(BT)和EQT劃分。其中,BT可以将一個CU劃分為左右/上下兩個subCU;EQT包含水準和豎直兩種工字型劃分方式,将一個CU劃分為4個subCU,該技術由位元組跳動公司提出。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

AVS3中QTBT+EQT基礎塊劃分結構在碼流中的表征方式如上圖所示。首先判斷是否為QT,如果是QT,直接進行四叉樹劃分,如果不是QT就需要進一步判斷是否不劃分,如果不劃分就結束判斷,如果需要劃分還要再判斷是EQT還是BT,無論是EQT還是BT都需要判斷是水準還是豎直劃分。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

基礎塊劃分中很重要的一個部分是劃分限制,在AVS3中所包含的限制劃分為三種。第一種為劃分尺寸限制,主要是指QT、BT和EQT最大/最小可使用的CU尺寸,括号中的數值為AVS3參考軟體中設定的預設數值。除此之外的限制包括劃分深度,AVS3中最大劃分深度為6層;另外AVS3中編碼單元最大的寬高比是1:8;QT劃分要優先于BT/EQT劃分,一旦進入BT/EQT劃分就無法再進行QT劃分。

第二種限制是邊界限制,邊界限制有三個,在圖像右邊界的時候隻能進行BT的豎直劃分,在圖像下邊界的時候隻能進行BT的水準劃分,在圖像右下角邊界隻能進行QT劃分。

第三種是VPDU的限制,VPDU限制更多是為了配合硬體實作的友善,如果目前單元出現了128x64/64x128的CU,就必須劃分成兩個64x64的CU。

2.2 幀間編碼工具

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

2.2.1 AMVR

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

首先介紹自适應矢量精度,簡稱AMVR,在上一代AVS和HEVC标準中,運動矢量的精度均為¼像素,AVS3中新引入了½、1、2、4四種像素精度。在編碼端對這五個像素精度進行編碼,通過RDO過程選擇最優的運動矢量精度,并将對應的索引傳輸到解碼端。由于需要進行五次編碼嘗試,這會極大地增加編碼端的複雜度,是以在AMVR中引入了三種快速算法:提前跳出、基于曆史的MVR搜尋政策以及對應不同的運動矢量精度設計了對運動估計的加速。AMVR由三星公司提出。

2.2.2 HMVP

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

HMVP是基于曆史資訊的運動矢量預測,該方法由位元組跳動公司提出。HMVP技術從先前編碼塊拷貝八個運動資訊候選到FIFO中,FIFO保持不斷更新。上圖中間部分反映了FIFO以先進先出的方式進行更新的例子,在這個例子中FIFO的第三個HMVP候選與剛剛編碼完成的運動資訊相同,這個重複的候選首先會被移除,在FIFO的尾部會加入目前編碼單元的運動資訊。如果目前編碼單元的運動資訊與FIFO中任意候選的運動資訊均不相同,就會去掉FIFO中第一個候選,再将最新的運動資訊加到FIFO末尾,保證FIFO中永遠保留八個最新的運動候選。

HMVP中的運動候選與AVS2中已有的運動候選一起進行辨別,使用Unary的方式進行二值化。AVS2中包含了五個運動候選,但在AVS3中去掉了對稱模式,隻剩餘四個運動候選,再加上HMVP的8個候選一共是12個候選。

2.2.3 UMVE

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

UMVE技術,中文名為進階運動資訊表達,該技術是在已經生成的運動候選基礎上進行偏移,進而得到更優的運動候選。例如上圖所示,将一個運動候選作為起始點,從上下左右四個方向進行搜尋,偏移分别為¼、½、1、2、4像素,起始點有兩個(2 base),四個偏移方向(4 direction)和5種offset,總共生成40個運動候選,該方法由三星公司提出。

2.2.4 AFFINE

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

已有的标準中支援的MV都是兩個參數的(即X方向和Y方向的偏移),這種運動模型稱為平移運動。4參數可以表達更豐富的運動模型,包括縮放、旋轉或者斜切,6參數代表Affine模型,可以表達更複雜的運動。在AVS3中的仿射運動補償支援4參數和6參數的運動模型,使用的運動矢量精度是1/16像素,針對尺寸大于16x16的CU,按照8x8的小塊進行運動補償。該技術由華為公司提出。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

AVS3中的AFFINE技術可以分為AFFINE skip/direct和AFFINE inter兩個部分。AFFINE skip/direct就是使用目前塊周圍的一些資訊進而導出AFFINE模型和目前塊的運動矢量,在目前的AVS3中最多支援5個AFFINE模式候選,并且需要将AFFINE index傳輸到解碼端。AFFINE skip/direct運動候選清單的建構主要分為三步,第一是從臨近AFFINE編碼單元拷貝Affine模型;第二是利用目前塊周圍角點的運動資訊生成AFFINE模型;最後,如果目前AFFINE運動矢量候選沒有到達五個,就填充零。

AFFINE inter是在AFFINE skip/direct基礎上加入了MVD,每一個控制點均需傳輸MVD。

2.2.5 PBT

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

PBT是基于位置的變換,被應用于幀間預測殘差塊,可以更好地拟合幀間殘差特性。例如上圖中左下角四分之一的區域分别辨別了0,1,2,3,他們對應的水準和豎直的變換組合如右表中所示,通過在不同區域使用不同的變換組合,實作更高效的殘差信号表達。PBT允許的變換類型包括DCT8和DST7。使用該方法的編碼單元尺寸最大為32x32,最小為8x8,且編碼單元長寬比不大于2。該方法由清華大學提出。

2.3 幀内編碼工具

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

2.3.1 Intra DT

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

Intra Derived Tree簡稱Intra DT,叫做幀内衍生模式,這個方法主要是在編碼單元的基礎上加上了PU的概念,該方法總共支援六種PU劃分(水準/豎直各三種),使用非對稱和長條形劃分方式,提升幀内編碼效率。使用條件包括編碼單元尺寸最大64x64,最小16x16,編碼單元長寬比小于4,且目前編碼單元使用IPF時,禁用Intra DT。該方法由清華大學提出。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

IPF是由北大深研院提出的,該方法針對的問題是目前幀内預測中會忽略一些參考像素點與目前預測單元之間的關聯性,通過預測濾波的方式可以有效增強空間關聯性,進而提升幀内預測精度。如左圖所示,預測方向是從右上到左下,生成目前幀内預測塊主要使用的是MRB這一條參考像素點,預測樣本塊的左側因為沒有考慮與URB的關聯性,是以預測效果較差。為了解決這一問題,IPF使用了URB中的參考像素對幀内預測塊進行濾波,濾波器包括三種類型,分别為水準、豎直的2-tap濾波器和同時對水準和垂直方向濾波的3-tap濾波器,3-tap濾波器被應用在非角度預測模式以及右下對角模式。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

TSCPM是一種分量間預測技術,通過探索不同分量之間的線性關系去除分量間備援,如公式所示,recL代表亮度分量的重建值,通過兩個線性參數α和β生成chroma的預測值predC。之是以稱該技術是Two-Step,是因為它分為兩個步驟執行。首先使用Co-located luma塊,通過參數α和β生成尺寸相同的臨時預測塊;第二步再進行下采樣,得到色度分量的預測值,該方法由位元組跳動公司提出。

2.4 濾波器

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

2.4.1 deblock去塊濾波器

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

在AVS3中直接繼承了AVS2中的去塊濾波方案,但由于嚴格的濾波條件,AVS2中現有的去塊濾波方案常常會引入嚴重的塊效應。這個問題在AVS3中的deblock去塊濾波器中得到解決。首先濾波條件被放寬并且對濾波器系數進行了優化,另外簡化了色度分量的去塊操作,進而降低了色度濾波的計算複雜度。

3. AVS3性能測試

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

3.1 測試條件

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

性能測試采用了AVS3的通用測試條件進行測試,軟體使用了AVS3的參考軟體HPM-3.3,對比軟體為RD-19.5和HM-16.20,配置使用random access(RA)。

3.2 Basic structure

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

AVS3基礎結構相對于AVS2的平均性能增益為10.56%。基礎結構不僅包括基礎塊劃分結構,還包括對參考幀結構的優化和編碼端決策的優化。AVS3的編碼時間和解碼時間相比AVS2均有下降,尤其是解碼時間縮短為AVS2參考軟體的一半。原因是AVS3的參考軟體HPM已經經過了部分優化,該參考軟體由北大深研院和華為公司共同提出。在HPM中主要包含三部分優化,第一個部分是所設計的資料結構較為簡單,第二個是尋址方式更加快捷,第三個是在HPM中已經對關鍵的子產品進行了資料并行加速。

相比HEVC,AVS3的編碼性能增益為9.45%,編碼時間是HEVC的一倍,解碼時間略有上升。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

之後進行tool-off測試,即在AVS3的參考軟體中隻關閉單個工具的性能,tool-off的實驗結果基本可以反映單個工具在AVS3标準中的性能。上圖中顯示HMVP、UMVE、AFFINE和AMVR的性能分别為0.81%、0.94%、1.94%和3.87%。圖中關閉UMVE後編碼時間上升,這是因為UMVE和HMVP的運動候選是放在一起優化的,使用SATD進行粗選對編碼端進行加速,随後再使用RDO進行編碼決策。由于這個快速算法是放在UMVE工具下,是以在關閉UMVE之後時間有所上升。AMVR關閉之後時間減少30%,由此可見AMVR對時間複雜度的影響是非常大的。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

IntraDT和IPF的性能分别是0.4%和0.71%,TSCPM在Y/U/V分量中的性能分别是0.51%、9.28%和9.20%,由于TSCPM主要是對色度分量的優化,是以它的主要性能來自于色度。IntraDT、IPF和TSCPM都是針對Intra的工具,是以在random access的配置下性能不是太高,IntraDT、IPF在All Intra配置下的性能分别是0.6%和1.4%。

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

總體性能對比結果來看,AVS3相比AVS2編碼性能高出23.52%,時間複雜度增加了一倍,解碼複雜度是AVS2參考軟體的一半。相對HEVC平均編碼性能提高了22.25%,時間複雜度大概是HEVC的7倍,解碼時間略有上升。

4. AVS3資料擷取

AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

————————————————

版權聲明:本文為CSDN部落客「LiveVideoStack_」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:

https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/98810506
「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。
AVS3關鍵技術、性能和複雜度分析1. AVS發展曆史2. AVS3 關鍵技術介紹3. AVS3性能測試4. AVS3資料擷取

繼續閱讀