彭金虎,岑 峰
(同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
雖然H.264/AVC[1]視頻編碼標(biāo)準(zhǔn)采用很多新的編碼方案,在現(xiàn)有的視頻編解碼取得了很好的編碼效果,但是它的編碼單元(CU)仍然固定為 16像素×16像素的宏塊 (MB), 包含 16個(gè) 4像素×4像素或者 8個(gè) 8像素×8像素變換塊,然而在編碼器處理高分辨率的圖像時(shí),運(yùn)動(dòng)估計(jì)(ME)和運(yùn)動(dòng)補(bǔ)償(MC)與CU大小只有很小的相關(guān)性。 因此,HEVC(High Efficiency Video Coding)[2]中,CU在16像素×16像素MB的基礎(chǔ)上進(jìn)行了擴(kuò)展,CU的大小可以為 8像素×8像素、16像素×16像素、32像素×32像素和64像素×64像素,對(duì)CU的預(yù)測,可以將CU分割為預(yù)測單元(PU),每個(gè)PU可以分割為更小的 PU,假設(shè) CU 大小為 2N×2N (N=4,8,16,32),PU 可以分割為 2個(gè) N×2N或者 2N×N或 4個(gè) N×N像素塊,再分割為非 對(duì) 稱 模 式下,PU 可 以 為 nR×2N、nL×2N、2N×nDe 和2N×nU。同樣,HEVC中處理變化和量化部分有相應(yīng)的變換單元(TU),TU可以為 4像素×4像素、8像素×8像素、16像素×16像素和 32像素×32像素。
歸并技術(shù)應(yīng)用于CU單元在作RDO運(yùn)算之前,用于快速?zèng)Q定CU的預(yù)測模型,其中的并行運(yùn)算可以降低HM編碼端吞吐量過大的問題,提高視頻編碼效率。參考文獻(xiàn)[3]提出了歸并技術(shù)對(duì)不同CU層編解碼效率的提升,由于8像素×8像素CU占據(jù)整體 CU的54%,大塊CU的歸并技術(shù)的應(yīng)用,導(dǎo)致PSNK值有較大的下降。參考文獻(xiàn)[4]提出了只對(duì)8像素×8像素CU進(jìn)行歸并技術(shù)的應(yīng)用,并在B幀上得到了很好的效果,將像素的Y、U與 V的BD-rate提升了0.1%、0.1%與 0.1%,解碼時(shí)間平均降低了12%。在本文中,將檢測及驗(yàn)證歸并技術(shù)在低延遲情況下對(duì)P幀的影響,并分析P幀中歸并技術(shù)的并行運(yùn)算原理。
在決定CU編碼模型和獲取CU的編碼列表前,HEVC會(huì)對(duì)當(dāng)前CU做歸并運(yùn)算,提前決定CU的預(yù)測列表,然后才對(duì)每個(gè)CU作RDO運(yùn)算,選擇最佳的編碼模型。而RDO的運(yùn)算必須對(duì)當(dāng)前CU作運(yùn)動(dòng)估計(jì)運(yùn)算,HEVC編碼器中歸并候選列表(MCL)的獲取速度會(huì)影響ME的計(jì)算,HM5中每個(gè)PU都有自己的MCL,一個(gè)64像素×64像素的CU有539個(gè)MCL,嚴(yán)重阻礙了預(yù)測模型類型的確定。HM6中提出的MCL的并行運(yùn)算,不僅可以減少M(fèi)CL的數(shù)量,同時(shí)減少了CU內(nèi)部PU的相互依賴性。在不包含不對(duì)稱CU的情況下,對(duì)于一個(gè)64×64的CU,相鄰有5個(gè)參考位置可以使用,其又可以分為4個(gè) 32像素×32像素的 CU,同樣擁有 5個(gè)參考點(diǎn),總共有 4×5個(gè)參考點(diǎn)。同理,16像素×16像素的 CU有 4×4×5個(gè)參考點(diǎn),8像素×8像素的 CU有 16×4×5個(gè)參考點(diǎn),所以一個(gè)64像素×64像素大小的CU總共包含425個(gè)參考位置。在包含不對(duì)稱CU的情況下,參考點(diǎn)的數(shù)量可達(dá)593個(gè)[3]。這樣龐大的數(shù)量,加重了計(jì)算量,應(yīng)該試圖減少M(fèi)CL的數(shù)量,特別是8像素×8像素CU中MCL的數(shù)量。
歸并技術(shù)利用已編碼的PU來推導(dǎo)或獲取當(dāng)前PU的參數(shù)列表(如運(yùn)動(dòng)向量、參考幀索引、參考幀列表標(biāo)志等),在HM6中提出了基于CU的運(yùn)動(dòng)歸并列表的構(gòu)造,它是將位于一個(gè)CU中所有8像素×8像素大小的PU共享同一個(gè)MCL,這不僅降低了幀間PU的相互依賴性,還減少了MCL的數(shù)量,最多可達(dá)HM5中 MCL的57%。這種設(shè)計(jì)使得視屏質(zhì)量平均損失了0.3%,但提高了高吞吐量和高質(zhì)量編碼器的靈活性。
當(dāng)N=4時(shí),當(dāng)前PU的TMVP參考索引從其左邊PU獲取,當(dāng)這兩個(gè)PU位于相同的CU中時(shí),就說這兩個(gè)PU具有依賴性。圖1列舉了PU依賴性的情況。
圖1 同一個(gè)CU內(nèi)PU參考相鄰PU獲取TMVP
這種情況下,直到參考的PU編碼和解碼完成才能獲取當(dāng)前 PU的 TMVP,HM6中通過當(dāng)前CU之外已編碼的CU來獲取 TMVP。TMVP參考索引的位置如圖2所示,其中位于CU內(nèi)部的PU,其TMVP參考索引被設(shè)置為A1,如果A1不可用,則把TMVP的參考索引設(shè)置為 0。
因?yàn)楫?dāng)前CU內(nèi)部的PU都參考同一個(gè) CU(A1),所以CU內(nèi)部PU的MCL的數(shù)量將會(huì)減少。對(duì)于CU中的不對(duì)稱PU,在去除PU間依賴性前,有13個(gè)參考點(diǎn),由于同一個(gè)CU內(nèi)部的PU采用同一個(gè)參考點(diǎn),因此對(duì)于一個(gè)64像素×64像素的PU只有一個(gè)參考點(diǎn)可以選擇(即 A1)。 同理,32像素×32像素共有 4×13個(gè)參考點(diǎn),16像素×16像素共有 4×4×13個(gè)參考點(diǎn),8像素×8像素共有16×4×1個(gè)參考點(diǎn),因此去除 CU內(nèi)部PU的相互依賴性后,MCL的數(shù)量總共為397個(gè)。在包含不對(duì)稱PU的CU中,其他的參考點(diǎn)可以相應(yīng)求得。圖3表示MCL的獲取流程圖[4]。
圖2 TMVP參考索引的位置
圖3 MCL選取過程
MCL的獲取需要考慮時(shí)間和空間上的候選參考點(diǎn)。在空間位置上,從當(dāng)前CU的5個(gè)候選參考點(diǎn)選擇其中4個(gè),選擇順序?yàn)锳1->B1->B0->A0->(B2),參考點(diǎn)B2只有在A1、B1、B0或A0無效時(shí)才可使用。在時(shí)間順序上,在當(dāng)前PU的POC值小的幀里選擇兩幀,從這兩幀與當(dāng)前PU相對(duì)應(yīng)的位置選擇兩個(gè)參考點(diǎn),然后通過比較選擇其中較好的參考點(diǎn)。最后從選擇的5個(gè)參考點(diǎn)中移除重復(fù)的參考點(diǎn),增加0歸并候選參考點(diǎn),得到MCL。
本文仿真采用JCTVC小組開發(fā)的HM6.0代碼,仿真平臺(tái)是 CPU為 3.30 GHz Intel?CoreTMi3-2120、內(nèi)存為2 GB、操作系統(tǒng)為 Windows XP的64位計(jì)算機(jī),運(yùn)行環(huán)境為 Microsoft Visual Studio 2010。
實(shí)驗(yàn)結(jié)果如表1所示,表中列出了運(yùn)動(dòng)歸并技術(shù)對(duì)于各類視頻P幀PSNR值、比特?cái)?shù)與編解碼時(shí)間的影響。P幀 Y、U、V的 PSNR值分別降低了 0.1%、0.1%和0.1%,比特率平均提升了3%,編碼時(shí)間增加了10%。
表1 P幀運(yùn)動(dòng)歸并技術(shù)
視頻的PSNR平均值降低,編碼一幀比特?cái)?shù)增加,這是由于歸并技術(shù)在計(jì)算P幀時(shí)算法復(fù)雜度上升,使得在低延遲低復(fù)雜度配置文件下,P幀在8像素×8像素 CU下需要額外的像素拷貝過程,使其運(yùn)算的復(fù)雜度上升,增加了P幀在運(yùn)動(dòng)歸并技術(shù)中的計(jì)算時(shí)間,影響了P幀的編解碼時(shí)間。
本文分析了PU相互依賴性的解決方案,相對(duì)于HM5,merge模型的歸并運(yùn)算很好地改善了編碼端視頻處理的吞吐量問題,降低了B幀的比特率,同時(shí)降低了B幀的解碼時(shí)間。由于歸并技術(shù)運(yùn)用于P幀的特殊性,今后可以改善P幀歸并技術(shù)的算法,使其達(dá)到同樣的效果,在降低視頻比特率的同時(shí),獲得較好的視頻質(zhì)量。歸并技術(shù)的并行運(yùn)算為HEVC編碼器的設(shè)計(jì)提出了更好的merge/skip模型決定,并且提供了更加靈活的設(shè)計(jì)方案。
[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.JCTVCH1003, JCT-VC of ITU-T SG16 WP3 and ISO/IEC, CA,USA,2012.
[3]Zhou Minhua.Configurable and CU-group levelparallel 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 model6 encoderdescription.JVTVC-H1002,JCT-VC of ITU-T SG16 WP3 and ISO/IEC,CA,USA,2012.