運(yùn)動估計(jì)是去除視頻序列相鄰幀之間冗余信息的有效方法,對整個(gè)視頻編碼效果有重要的影響。由兩大國際標(biāo)準(zhǔn)化組織(ISO/IEC的MPEG和ITU-T的VCEG)共同制定的最新的國際視頻編碼標(biāo)準(zhǔn)H.264/AVC仍然采用成熟的基于塊的混合編碼框架,但由于引入了很多新的編碼技術(shù),如多參考幀預(yù)測運(yùn)動估計(jì),從而可以提供更高的編碼效率。
以前的視頻編碼標(biāo)準(zhǔn)如MPEG-4和H.263等都只支持一個(gè)參考幀預(yù)測。H.264不同于以前的標(biāo)準(zhǔn),采用了多參考幀預(yù)測技術(shù),使得運(yùn)動搜索范圍從原來的一個(gè)參考幀擴(kuò)展為多個(gè)解碼后的參考幀,這樣通常能找到更精確的匹配,從而有助于獲得更高的編碼效率。但是多參考幀預(yù)測技術(shù)同時(shí)也存在一些缺點(diǎn),對存儲空間和計(jì)算能力要求更高。
H.264中引入的拉格朗日率失真最優(yōu)策略采用窮盡搜索在所有候選參考幀中選擇率失真成本最低的參考幀。拉格朗日率失真最優(yōu)模式選擇問題可表述為:
其中m=(mx,my)T表示某個(gè)運(yùn)動矢量,REF表示某個(gè)參考幀,Jmotion(s,c,m,REF\f1λMotion)表示在運(yùn)動矢量m和參考幀REF下的率失真成本,s為原始的視頻信號,c(m,REF)為在運(yùn)動矢量m和參考幀REF下的重構(gòu)視頻信號,λmotion為拉格朗日乘子,R(m-P)表示編碼運(yùn)動矢量m的比特?cái)?shù),R(REF)表示編碼參考幀REF的比特?cái)?shù),SAD(s,c,m,REF)(Sum Absolute Difference)為原始信號和重構(gòu)信號之間的絕對差和,采用(2)式計(jì)算:
其中B1,B2表示塊的水平和垂直像表數(shù),可以取值16,8或4。
設(shè)m表示運(yùn)動矢量搜索范圍,若只允許一個(gè)參考幀進(jìn)行預(yù)測,那么每個(gè)宏塊需要搜索(2×m+1)2個(gè)候選點(diǎn);若允許N個(gè)參考幀進(jìn)行預(yù)測,那么每個(gè)宏塊總共有N×2×m+1)2個(gè)候選搜索點(diǎn)。這意味著,運(yùn)動搜索的計(jì)算量、編碼時(shí)間隨著預(yù)測中總參考幀數(shù)成倍增長。允許的參考幀數(shù)越多,運(yùn)動搜索的計(jì)算量、編碼時(shí)間就越大。
為了減少上述多參考幀預(yù)測技術(shù)中存在的問題,本文利用相鄰幀間很高的相關(guān)性提出了一種低復(fù)雜度的快速多參考幀選擇算法。
1 快速多參考幀預(yù)測算法
在H.264運(yùn)動估計(jì)中,多參考幀運(yùn)動搜索過程在7種不同的塊大小和形狀條件下進(jìn)行,執(zhí)照從16×16到4×4的順序依次進(jìn)行。對于每一個(gè)塊編碼大小,需要在所有可能的參考幀中找出率失真成本最低的參考幀和其相應(yīng)的運(yùn)動矢量。多參考幀運(yùn)動搜索過程首先從概率較高的參考幀REF(0)開始,一直進(jìn)行到距離當(dāng)前編碼幀最遠(yuǎn)的參考幀REF(N-1)。
由于視頻序列相鄰幀間存在很強(qiáng)的時(shí)域相關(guān)性,一般情況下,最優(yōu)的匹配通常位于與當(dāng)前編碼幀緊密相鄰的參考幀,本文采用REF(0)表示這一參考幀;其余的參考幀(在本文中表示為REF(i),i=1,2,…,N-1,設(shè)允許的最大參考幀數(shù)為N)被選中的概率遠(yuǎn)遠(yuǎn)小于第一個(gè)參考幀REF(0)。
為了進(jìn)一步了解不同參考幀在實(shí)際視頻序列中被采納的情況,本文選擇了幾個(gè)典型的視頻測試序列,并利用拉格朗日率失真最優(yōu)搜索策略,在不同參考幀數(shù)條件下統(tǒng)計(jì)不同參考幀的被選中概率,實(shí)驗(yàn)數(shù)據(jù)如表1所示。從表1可以看出,在所有參考幀,REF(0)成為最優(yōu)參考幀的概率最高,概率高達(dá)88.67%,而其余所有參考幀被選中的概率遠(yuǎn)遠(yuǎn)小于REF(0)。
從上述分析可知,參考幀REF(0)成為最終預(yù)測幀的概率最高,在這一參考幀中獲得的運(yùn)動搜索結(jié)果對整個(gè)編碼性能有著重要的影響。因此,可以認(rèn)為在REF(0)中的搜索范圍越大,對整個(gè)編碼性能的改善也會越大。相比較,由于其余的參考幀被選 中的概率很低,而且每增加一個(gè)參考幀就會增加很大一部分計(jì)算量,所以在一定條件下合理地減少在這些參考幀中運(yùn)動搜索的計(jì)算量,
對整個(gè)編碼性能不會產(chǎn)生顯著影響。由于相鄰幀間存在很強(qiáng)的進(jìn)域相關(guān)性,前一個(gè)參考幀中運(yùn)動搜索后得到的運(yùn)動信息可以用來預(yù)測下一個(gè)參考幀的搜索中心。根據(jù)運(yùn)動矢量的中心偏置定理,最優(yōu)的運(yùn)動矢量通常位于搜索中心周圍的小范圍里,利用螺旋搜索順序,只需搜索這一小部分區(qū)域。
減少多參考幀預(yù)測計(jì)算量的思路如圖1所示。在最重要的參考幀REF(0)中,搜索范圍較大以保證取得較高的預(yù)測精度;而在其余不很重要的參考幀中,可以選擇較小的搜索范圍,同時(shí)利用前一幀已得到的運(yùn)動信息預(yù)測下一幀的搜索中心。這樣既能減少計(jì)算量,同時(shí)又不會顯著影響整個(gè)編碼性能。
本文提出了一種減少多參考幀預(yù)測計(jì)算量的快速算法。本算法不僅利用了運(yùn)動矢量的空域相關(guān)性來預(yù)測第一個(gè)參考幀REF(0)的搜索中心,即利用當(dāng)前宏塊周圍的三個(gè)空域相鄰塊的中值運(yùn)動矢量來預(yù)測REF(0)的搜索中心;而且利用了運(yùn)動矢量的時(shí)域相關(guān)性,即利用前一幀REF(i-1)所得到的運(yùn)動信息對下一個(gè)參考幀REF(i)的搜索中心進(jìn)行修正。由于相鄰 幀間存在很高的時(shí)域相關(guān)性,下一幀的最優(yōu)運(yùn)動矢量很可能就位于修正后的搜索中心附件,只需對搜索中心周圍的很少一部分候選點(diǎn)進(jìn)行匹配運(yùn)算。這樣就省略了很大一部分運(yùn)算量。
2 模擬結(jié)果和分析
為了測試本文算法的性能,本文采用H.264參考軟件JM7.0作為實(shí)驗(yàn)平臺。實(shí)驗(yàn)參數(shù)設(shè)置如下:6個(gè)典型的視頻測試序列(Ailent、Mobile、Foreman、Template、Bus和Suzi)、CIF(352×288)或QCIF(176×144)圖像格式,每個(gè)序列150幀,幀率為30f/s,運(yùn)動矢量搜索范圍為16,量化參數(shù)為32,采用Hadamard transform,GOP結(jié)構(gòu)為IPPP。
表2列出了本文提出的算法與原始的采用窮盡搜索的拉格朗日率失真最優(yōu)模式選擇方法的比較結(jié)果。在表2中,ΔPSNR表示平均峰值信噪比(PSNR)下降值,單位為Db, Δbits表示平均碼率增長百分?jǐn)?shù),Δtime表示運(yùn)動估計(jì)編碼時(shí)間的減少百分?jǐn)?shù)。Δtime和Δbits分別采用式(3)和式(4)得到:
其中Toriginal和Borigind分別表示采用原始方法時(shí)所用的運(yùn)動估計(jì)編碼時(shí)間和總比特?cái)?shù);Tproposed和Bproposed分別表示采用本文提出的方法時(shí)所用的運(yùn)動估計(jì)編碼時(shí)間和總比特?cái)?shù)。
從表2中的實(shí)驗(yàn)數(shù)據(jù)可以看出,與原始的采用窮盡搜索的拉格朗日率失真最優(yōu)模式選擇方法相比,本文提出的算法可以使運(yùn)動估計(jì)編碼時(shí)間平均減少15.18%,同時(shí)平均PSNR僅僅下降0.077dB,碼率增長僅僅1.56%(5個(gè)參考幀情況下)。此外,對比不同參考幀數(shù)的實(shí)驗(yàn)結(jié)果,很容易發(fā)現(xiàn)允許的參考幀數(shù)越多,節(jié)省的編碼時(shí)間就越多。
模擬結(jié)果表明本文提出的算法可以節(jié)省H.264多參考幀運(yùn)動預(yù)測的計(jì)算復(fù)雜度,同時(shí)對率失真性能的影響很小。這對H.264編碼的實(shí)時(shí)實(shí)現(xiàn)很有利。
責(zé)任編輯:gt
-
視頻
+關(guān)注
關(guān)注
6文章
1967瀏覽量
73600 -
存儲
+關(guān)注
關(guān)注
13文章
4473瀏覽量
86936
發(fā)布評論請先 登錄
H. 264 /AVC幀內(nèi)預(yù)測模式選擇算法研究
基于蘭氏距離的H.264/AVC幀內(nèi)快速算法
基于紋理復(fù)雜度的快速幀內(nèi)預(yù)測算法
改進(jìn)的H.264快速幀內(nèi)預(yù)測模式選擇算法
一種新的H.264 AVC快速幀內(nèi)預(yù)測模式選擇判決算法
基于H.264與AVC標(biāo)準(zhǔn)的幀內(nèi)預(yù)測算法

基于MPI的H.264并行編碼代碼移植與優(yōu)化

H.264多參考幀技術(shù)的探索

基于I幀復(fù)雜度的初始量化參數(shù)(QP)選擇算法
利用PLB總線和FPGA技術(shù)對H.264整數(shù)變換量化軟核實(shí)現(xiàn)優(yōu)化設(shè)計(jì)
H.264標(biāo)準(zhǔn)中CABAC算法和CAVLC算法的比較與研究

基于H.264/AVC的多參考幀時(shí)域誤碼掩蓋

評論