摘 要: HEVC作為下一代視頻編碼標準,正在由JCT-VC制定。根據最新的HEVC中提出的歸并技術,描述了B幀編解碼效率的改善。實驗驗證了運動歸并技術在低延遲低復雜度情況下對P幀的影響。通過HM6.0中運動歸并技術算法原理,分析運動歸并技術對于P幀在編解碼效率上并無明顯的提升,PSRN平均降低了0.1%。
關鍵詞: HEVC;MCL;歸并模型
雖然H.264/AVC[1]視頻編碼標準采用很多新的編碼方案,在現有的視頻編解碼取得了很好的編碼效果,但是它的編碼單元(CU)仍然固定為16像素×16像素的宏塊(MB),包含16個4像素×4像素或者8個8像素×8像素變換塊,然而在編碼器處理高分辨率的圖像時,運動估計(ME)和運動補償(MC)與CU大小只有很小的相關性。因此,HEVC(High Efficiency Video Coding)[2]中,CU在16像素×16像素MB的基礎上進行了擴展,CU的大小可以為8像素×8像素、16像素×16像素、32像素×32像素和64像素×64像素,對CU的預測,可以將CU分割為預測單元(PU),每個PU可以分割為更小的PU,假設CU大小為2N×2N(N=4,8,16,32),PU可以分割為2個N×2N或者2N×N或4個N×N像素塊,再分割為非對稱模式下,PU可以為nR×2N、nL×2N、2N×nDe和2N×nU。同樣,HEVC中處理變化和量化部分有相應的變換單元(TU),TU可以為4像素×4像素、8像素×8像素、16像素×16像素和32像素×32像素。
歸并技術應用于CU單元在作RDO運算之前,用于快速決定CU的預測模型,其中的并行運算可以降低HM編碼端吞吐量過大的問題,提高視頻編碼效率。參考文獻[3]提出了歸并技術對不同CU層編解碼效率的提升,由于8像素×8像素CU占據整體CU的54%,大塊CU的歸并技術的應用,導致PSNK值有較大的下降。參考文獻[4]提出了只對8像素×8像素CU進行歸并技術的應用,并在B幀上得到了很好的效果,將像素的Y、U與V的BD-rate提升了0.1%、0.1%與0.1%,解碼時間平均降低了12%。在本文中,將檢測及驗證歸并技術在低延遲情況下對P幀的影響,并分析P幀中歸并技術的并行運算原理。
1 MCL的并行運算
在決定CU編碼模型和獲取CU的編碼列表前,HEVC會對當前CU做歸并運算,提前決定CU的預測列表,然后才對每個CU作RDO運算,選擇最佳的編碼模型。而RDO的運算必須對當前CU作運動估計運算,HEVC編碼器中歸并候選列表(MCL)的獲取速度會影響ME的計算,HM5中每個PU都有自己的MCL,一個64像素×64像素的CU有539個MCL,嚴重阻礙了預測模型類型的確定。HM6中提出的MCL的并行運算,不僅可以減少MCL的數量,同時減少了CU內部PU的相互依賴性。在不包含不對稱CU的情況下,對于一個64×64的CU,相鄰有5個參考位置可以使用,其又可以分為4個32像素×32像素的CU,同樣擁有5個參考點,總共有4×5個參考點。同理,16像素×16像素的CU有4×4×5個參考點,8像素×8像素的CU有16×4×5個參考點,所以一個64像素×64像素大小的CU總共包含425個參考位置。在包含不對稱CU的情況下,參考點的數量可達593個[3]。這樣龐大的數量,加重了計算量,應該試圖減少MCL的數量,特別是8像素×8像素CU中MCL的數量。
歸并技術利用已編碼的PU來推導或獲取當前PU的參數列表(如運動向量、參考幀索引、參考幀列表標志等),在HM6中提出了基于CU的運動歸并列表的構造,它是將位于一個CU中所有8像素×8像素大小的PU共享同一個MCL,這不僅降低了幀間PU的相互依賴性,還減少了MCL的數量,最多可達HM5中MCL的57%。這種設計使得視屏質量平均損失了0.3%,但提高了高吞吐量和高質量編碼器的靈活性。
當N=4時,當前PU的TMVP參考索引從其左邊PU獲取,當這兩個PU位于相同的CU中時,就說這兩個PU具有依賴性。圖1列舉了PU依賴性的情況。
這種情況下,直到參考的PU編碼和解碼完成才能獲取當前PU的TMVP,HM6中通過當前CU之外已編碼的CU來獲取TMVP。TMVP參考索引的位置如圖2所示,其中位于CU內部的PU,其TMVP參考索引被設置為A1,如果A1不可用,則把TMVP的參考索引設置為0。
因為當前CU內部的PU都參考同一個CU(A1),所以CU內部PU的MCL的數量將會減少。對于CU中的不對稱PU,在去除PU間依賴性前,有13個參考點,由于同一個CU內部的PU采用同一個參考點,因此對于一個64像素×64像素的PU只有一個參考點可以選擇(即A1)。同理,32像素×32像素共有4×13個參考點,16像素×16像素共有4×4×13個參考點,8像素×8像素共有16×4×1個參考點,因此去除CU內部PU的相互依賴性后,MCL的數量總共為397個。在包含不對稱PU的CU中,其他的參考點可以相應求得。圖3表示MCL的獲取流程圖[4]。
MCL的獲取需要考慮時間和空間上的候選參考點。在空間位置上,從當前CU的5個候選參考點選擇其中4個,選擇順序為A1->B1->B0->A0->(B2),參考點B2只有在A1、B1、B0或A0無效時才可使用。在時間順序上,在當前PU的POC值小的幀里選擇兩幀,從這兩幀與當前PU相對應的位置選擇兩個參考點,然后通過比較選擇其中較好的參考點。最后從選擇的5個參考點中移除重復的參考點,增加0歸并候選參考點,得到MCL。
2 實驗平臺與仿真結果分析
本文仿真采用JCTVC小組開發(fā)的HM6.0代碼,仿真平臺是CPU為3.30 GHz Intel CoreTM i3-2120、內存為2 GB、操作系統(tǒng)為Windows XP的64位計算機,運行環(huán)境為Microsoft Visual Studio 2010。
實驗結果如表1所示,表中列出了運動歸并技術對于各類視頻P幀PSNR值、比特數與編解碼時間的影響。P幀Y、U、V的PSNR值分別降低了0.1%、0.1%和0.1%,比特率平均提升了3%,編碼時間增加了10%。
視頻的PSNR平均值降低,編碼一幀比特數增加,這是由于歸并技術在計算P幀時算法復雜度上升,使得在低延遲低復雜度配置文件下,P幀在8像素×8像素CU下需要額外的像素拷貝過程,使其運算的復雜度上升,增加了P幀在運動歸并技術中的計算時間,影響了P幀的編解碼時間。
本文分析了PU相互依賴性的解決方案,相對于HM5,merge模型的歸并運算很好地改善了編碼端視頻處理的吞吐量問題,降低了B幀的比特率,同時降低了B幀的解碼時間。由于歸并技術運用于P幀的特殊性,今后可以改善P幀歸并技術的算法,使其達到同樣的效果,在降低視頻比特率的同時,獲得較好的視頻質量。歸并技術的并行運算為HEVC編碼器的設計提出了更好的merge/skip模型決定,并且提供了更加靈活的設計方案。
參考文獻
[1] H.264 and ISO/IEC 14496-10. Advanced video coding for generic audiovisual services, ITU-T rec[S].
[2] BROSS B, HAN W J, OHM J R, et al. High efficiency video coding(HEVC) text specification draft 6. JCTVC-H1003, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA, USA, 2012.
[3] Zhou Minhua. Configurable and CU-group level parallel merge/skip. JCTVC-H0082, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA, USA, 2012.
[4] Yu Qin, Ma Siwei, Liu Hongbin, et al. Parallel AMVP candidate list constrction. JCTVC-I0036, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA, USA, 2012.
[5] KIM H Y, CHO S H, LIM S C, et al. Throughput improvement for merge/skip mode. JCTVC-H0240, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA, USA, 2012.
[6] MCCANN K, BROSS B, KIM I K, et al. High efficiency video coding(HEVC) test model 6 encoder description.JVTVC-H1002, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA, USA, 2012.