VP9到HEVC轉碼的幀間加速演算法
背景介紹
互聯網多媒體技術的普及使數字視頻得到了廣泛的應用,更大解析度、更高清晰度的視頻逐漸進入人們的生活。傳統視頻編碼標準如ITU(國際電信聯盟)和ISO/IEC(國際標準化組織/國際電工委員會)共同制定的H.264/AVC標準針對大解析度視頻,如2K、4K等,壓縮性能不夠優良。其下一代標準高效視頻編碼(HEVC, High Efficiency Video Coding)編碼標準相對於H.264/AVC有50%的壓縮率提升,更適合大解析度視頻的壓制,也因此成為目前主流的國際標準。國內自主研製的標準包括AVS2(音視頻標準2)。以上這些標準代表了目前最先進的壓縮技術,但使用它們往往需要支付相關的專利費用,對於商業使用來說是一筆不小的成本開銷。
另一方面,以Google公司為代表的另一陣營AOM(Alliance for Open Media)則將視頻壓縮的關注點放在了網路視頻上,這也與其公司的商業平台Youtube有著密切的聯繫。AOM致力於開發免費、開源的視頻編解碼標準以適應不斷增長的網路視頻服務及相關需求,這一動作吸引了包括Facebook、Netflix、Cisco、Intel、Microsoft、Mozilla等國際知名公司的參與和開發,先後形成了VP8、Daala、VP9、AV1等高效開源視頻編解碼器及相關標準,用於打破傳統編解碼標準的技術和專利壁壘,特別針對網路視頻進行優化,以實現在不同功耗設備和帶寬環境下高質量、低延遲的視頻內容編解碼、傳輸等服務。
不同的用戶往往選擇不同的編碼方式對視頻進行壓縮,各大網路視頻平台對於視頻編碼標準的選擇都有自己的偏好,例如Google公司的Youtube視頻分享平台主要使用VP9標準進行編碼,目前正在向AV1逐漸過渡,而國內的商業網站則以MPEG-x和H.264/AVC為主,另外,一些主流的高清電影愛好者搭建的分享網站則往往使用HEVC標準進行高清晰度視頻編碼,以保證高質量的諸如1080p、2K的片源。由此可見,隨著技術的進步和視頻編碼標準的爆髮式增長,在不同視頻標準之間進行轉碼的需求將越來越多,因此優秀的轉碼加速演算法在未來有著巨大的前景和實用價值。
我們選擇兩個陣營中各自的代表標準VP9和HEVC,設計它們之間的轉碼加速演算法。為此,我們首先比較了HEVC和VP9在部分編碼技術上的異同,兩者的對比如表1所示
表1. HEVC與VP9部分技術對比
轉碼框架及相關研究介紹
視頻轉碼分為不同的類型,包括空間解析度轉碼、碼率轉碼、幀率轉碼以及在不同編碼標準之間轉碼等,而VP9到HEVC的轉碼就是在不同標準之間進行轉碼。對於轉碼框架來說,圖1所表示的級聯轉碼框架,首先利用原標準的解碼器還原成重建視頻,然後使用目標編碼器重新編碼,從而完成轉碼的要求。該轉碼器原理簡單、實現容易,但再編碼過程的計算複雜度大,是一個全解全編的轉碼框架。
圖1. 級聯轉碼框架
對此進行改進就得到了圖2所示的轉碼加速框架。轉碼加速的核心在於相似信息的重複利用,通常來說,不同的編碼器和編碼標準對於同一個視頻的編碼決策信息是有相似性和差異性的。利用相似性,我們就可以很大程度上減少再編碼過程中極為耗時的搜索和決策過程,達到加速的效果,不僅如此,還可以在一定程度上保證轉碼後視頻的質量下降在可接受的範圍內。相比於全解全編的轉碼器,該框架提取了VP9解碼過程中的決策信息和運動信息,這類信息是在源視頻經VP9編碼的過程中產生的,一定程度上反映了視頻本身的特性,例如細節、紋理、運動劇烈程度等等,這些信息與HEVC在對應區域的決策模式應該是存在相關性的,如何挖掘並利用這些相關性來設計轉碼器,則是演算法設計的關鍵所在。
圖2. 轉碼加速框架
轉碼加速相關的研究工作也有很多。
目前大量的轉碼演算法相關研究工作集中在H.264/AVC到HEVC的轉碼加速上,Peixoto和Izquierdo在文獻[1]中首先提出了一個複雜度自適應的H.264/AVC到HEVC的轉碼器。在演算法的設計上,該演算法利用CU中的運動矢量MV的水平分量和垂直分量作為計算基礎,計算出了兩個門限值Tlow和Thigh,作為劃分決策的依據。在此基礎上,Peixoto在[2]中改進了模式映射的演算法,並利用機器學習提高模式映射的精準度,達到轉碼加速的效果。Shen在[3]中使用了HEVC中的WPP並行特性來進行H.264/AVC到HEVC的轉碼加速,演算法結合了多核的計算環境,使用單指令多數據流(SIMD)優化代碼達到並行計算的效果,提高了編碼過程中的計算吞吐率。由於篇幅所限,更多的H.264/AVC到HEVC的轉碼論文請見參考文獻部分。
而VP9相關的轉碼加速研究目前並不多,比較重要的一個是文獻[4],其實現了HEVC到VP9的轉碼加速。主要有兩個關鍵點,其一是減少幀間模式的搜索。該演算法在HEVC的解碼過程中獲取了HEVC劃分塊的編碼模式,主要區分了幀間模式和幀內模式。幀內模式的搜索量小,因而幀內模式編碼速度要大大快於幀間模式,文獻[4]利用了這一點,在VP9的編碼過程中參考HEVC對該塊的劃分方式,優化VP9的決策過程。其二是參考幀選取的簡化,VP9有3類參考幀的選取,分別是ARF、GOLDEN和LASTREF,演算法在HEVC的解碼端記錄了參考幀的使用情況,在VP9的編碼端使用HEVC用過的參考幀進行匹配,配合ARF、GOLDEN和LASTREF的類型,可以大大減少選取參考幀過程中的計算量。
轉碼演算法和結果說明
上海交通大學圖像所研究團隊基於傳統H.264/AVC到HEVC的轉碼方法研究,提出了VP9到HEVC轉碼的幀間加速演算法,一定程度上加速了轉碼過程,此方案主要包含以下幾個步驟:
第一步是特徵信息的提取。在解碼信息的獲取方面,VP9標準相比於傳統解碼端標準的優勢在於,其基於四叉樹劃分的方式提供了傳統解碼端標準無法提供的豐富信息,這成為VP9的特點所在,因而VP9的解碼端能夠提供豐富而獨特的參考信息用於決策和映射,圖3所示為VP9與HEVC的劃分深度示意圖,在特徵信息提取過程中收集了三類信息。
圖3. VP9(左)與HEVC(右)對同一區域的劃分示意圖
第一類是VP9的深度信息,包含深度圖和子塊劃分數目。其中VP9深度信息主要體現了VP9編碼器對每個塊的劃分決策,一般來說,紋理複雜的區域劃分細緻,而平坦區域劃分簡單,這一點對於VP9和HEVC都是類似的,依據此使用VP9的劃分深度指導HEVC的劃分深度。子塊劃分數則不如深度圖記錄那麼詳細的信息,它記錄了每個64x64的Super Block一共被劃分成了多少個塊,一般來說,細節區域的劃分細緻,子塊劃分數就稍大,而平坦區域劃分少,子塊劃分數也就小,這一信息雖不如深度圖記錄的細緻,但是也可以作為指導。圖4所示即為子塊劃分數的一個示意圖,圖中VP9的編碼器劃分決策如黑色實線所示,通過藍色標誌性的Z字形掃描我們統計出這個Super Block被劃分成了22個大小不一的子塊,這個數目中等偏多,說明該塊的圖像還是存在一些細節的,因此HEVC在決策時應該更多的劃分,這是通過一個例子進行的簡單說明。
圖4. 子塊劃分數示意圖
圖5. VP9(左)與HEVC(右)運動矢量分布示意圖
第二類是VP9的運動矢量信息,圖5所示為VP9與HEVC的運動矢量分布對比。很明顯運動矢量的分布呈現出相似性,並且運動矢量這一特徵在眾多的轉碼研究中被廣泛使用,是常見的解碼端特徵。
第三類是HEVC編碼端的特徵,包括2Nx2N和SKIP模式的代價,這兩個模式的代價在編碼的時候首先被計算出來,我們選取其作為特徵。
第二步是映射模型的訓練。模型的作用是將VP9解碼信息盡量準確的映射到編碼端以優化編碼端的搜索過程,在實現過程中,演算法使用的是基於樸素貝葉斯的機器學習方法,在眾多學習演算法中樸素貝葉斯簡單有效。通過監督學習就可以建立輸入輸出之間的映射關係,在實際的轉碼過程中利用映射關係完成VP9到HEVC轉碼的幀間加速部分。以下為相關的共識推導,其中r為決策結果,vj代表了各個特徵,通過貝葉斯公式進行變形以及獨立性進行化簡後就可以得到最終的判決公式。
第三步是HEVC端的加速。在HEVC端編碼的遞歸搜索過程中,通過對CU64x64和CU32x32搜索進行提前終止,達到轉碼加速的效果。演算法的關注點在於每個CU64×64和CU32×32是否繼續分割,這個決策應該由映射演算法給出。如果決策是繼續分割,則跳過當前未計算的PU劃分模式,並將CU分成4個子CU繼續進行判決;反之,如果決策是停止繼續分割,則檢查當前大小的CU中所有的PU模式,並不再將CU分成4個子CU,而是直接跳到下一個CU進行計算。以上文字描述的演算法流程圖如圖6所示。
圖6. 加速演算法
表2所示為VP9到HEVC轉碼的幀間加速的實驗結果,其中Depth0是僅對CU64進行加速的實驗結果,Depth1是僅對CU32進行加速的實驗結果,Depth0&1是結合了兩者。可以看到平均BD-Rate增加為2.8%,而轉碼時間節省約為43.5%。進一步分析,可以發現對於大解析度的視頻會產生一定的質量損失,而從CU64x64和CU32x32的數據來看,質量損失更多是由對CU32x32的加速決策導致的。
表2. 幀間轉碼加速的實驗結果
下圖給出了部分序列率失真曲線的對比,其中藍色的為全解全編曲線,橙色的為轉碼加速曲線,可以看到雖然存在一定的失真,但是整體來說,兩條曲線還是貼合比較緊密的。
圖7.全解全編與轉碼加速曲線對比
下圖給出了相應的主觀圖像質量對比,雖然在放大後會有部分細節處存在失真,但是整體的效果是比較好的,這也與實驗結果是吻合的。
圖8. 主觀質量對比
更多論文細節和實驗分析詳見論文:
Li X, Xie R, Song L, et al. Machine learning based VP9-to-HEVC video transcoding[C]// IEEE International Symposium on Broadband Multimedia Systems and Broadcasting. IEEE, 2017:1-6.


TAG:媒礦工廠 |