韓 霜,林其偉,張偉龍,饒 琴,張志剛
(華僑大學 信息科學與工程學院,福建 泉州 362021)
快速增長的視頻通信需求刺激著視頻壓縮技術的發(fā)展。與已有的其他視頻壓縮標準相比,最新的H.264/AVC標準因采用多參考幀、運動補償等新的編碼技術,在編碼效率上提供了重要的改進。目前,碼率控制(RC)作為視頻編碼的重要組成部分也變得越來越完善,并且得到了學者們的高度關注。
為了在碼率和失真之間實現最好的折中性能,在H.264標準中提出了率失真優(yōu)化(RDO)。然而,RDO使得H.264碼率控制更加復雜并且導致了蛋雞悖論[1],這就對H.264的碼率控制算法提出了新的挑戰(zhàn),也是一個非常熱門的研究課題。
為了解決蛋雞悖論的問題,一些碼率控制算法已經開發(fā)出來[1-3]。LI等人提出了一次編碼碼率控制算法JVT-G012。鑒于其效率,它已在H.264/AVC的參考軟件中被采用。然而在此方案中仍然存在著一些不足之處:(1)不精確的初始QP估計:在JVT-G012中,初始 QP的估計僅僅取決于每像素的比特數(bpp),然而,這種初始化方案沒有考慮幀的復雜度,不夠精確;(2)緩存控制能力不足:可以看到,緩存器有時會失控導致跳幀,尤其是在低比特率的情況下;(3)不精確的幀層比特控制:有時,一幀的目標比特和它實際產生的編碼比特偏差相當大。
所有這些不足都可能引起跳幀、平均PSNR值下降及不良的PSNR波動,特別是對于復雜的視頻序列和低目標比特率的情況。本文主要針對第一個不足進行改進。
在JVT-G012中,碼率控制開始時,第一個 GOP的第一個I幀的初始QP值是根據經驗預先設定的,在沒預先設定時采用如下方法計算:
由bpp的表達式不難看出,對于不同的視頻序列,在已設定的目標比特率、幀率及同一圖像格式的情況下,計算出來的bpp的值是一樣的,再通過式(1)計算就得到相同的初始QP值。即不同視頻序列的第一個I幀均采用相同的初始QP值編碼。但不同視頻序列的復雜度是不同的,其需求的目標比特數也不相同,若采用統一的初始QP值編碼,勢必會導致碼率控制不精確。
目前已有很多針對QP初始化設置的算法研究[4-7],但為了減少算法及編碼的復雜度,本文采用基于bpp和I幀復雜度的算法來設置QP的初始值。參考文獻[6]提到采用梯度來衡量圖像復雜度的方法性能較好,因此本文采用基于梯度的方法來衡量I幀復雜度。梯度G的定義如下:
其中,W和H分別是一幀圖像的寬度和高度,Pi,j表示(i,j)處的像素值。
為了更好地看出每個視頻序列的第一個I幀復雜度與最佳初始 QP的關系, 選擇 foreman、football、news、mobile等視頻序列進行試驗。使用H.264/AVC的參考軟件JM8.6,測試序列為標準QCIF格式,目標碼率為64 kb/s,幀率為15 S/s,編碼50 S,采用IPPP編碼模式。實驗結果如圖1所示。
圖中QP=25的直線是在上述給定的實驗條件下通過式(1)計算出來的初始QP值,再次說明了JVT-G012中不同視頻采用相同初始QP值。從圖中不難看出,在一定的條件下,復雜度低的圖像初始QP值應較小,而復雜度高的圖像初始QP值應較大。同時也發(fā)現G與最佳初始QP的關系比較難擬合。因此根據參考文獻[7]定義F(G)函數如下:
對 QCIF和 CIF格式的圖像編碼時,e1、e2、e3的取值分別為{0.68,-7.21,12.29}和{-0.76,18.87,-91.42}。
本文算法是在式(1)計算出的qp的基礎上結合G對初始QP的影響,來確定最終的初始QP值,經大量數據統計,最終的算法如下:
對于序列后續(xù)GOP的量化參數,由下式計算得到:
其中,SumPQP表示前一個GOP中所有P幀的量化參數的和,Np是前一個GOP中P幀的總數。
為了驗證本文改進算法的有效性,本文使用了H.264/AVC的參考軟件JM8.6并與其碼率控制算法進行比較。實驗條件:測試序列為標準QCIF格式,目標碼率為64 kb/s,幀率為 15幀/s,GOP長度為 25,編碼 100幀,采用IPPP編碼格式。結果如表1所示。
表1 不同序列測試結果
本文對JVT-G012算法中初始QP的設置進行改進,盡管表達式(4)不夠精確,計算出的初始QP值可能不是最佳值,但相對于式(1)僅利用bpp計算得出的初始QP卻比較合理。從表1可以看出本文算法可以選擇較優(yōu)的初始QP值,使編碼效果在PSNR值及碼率控制準確度兩方面均優(yōu)于原算法,尤其對于運動較劇烈的football、mobile序列效果明顯。而且從圖2和圖3中可以看到,本文算法得到的PSNR曲線的波動范圍更小。此外,與目前很多相關算法相比,本文算法簡單,相對于JVTG012算法,引入的編碼復雜度也較小。
[1]LI Z G,PAN F,et al.Adaptive basic unit layer rate control for JVT.JVT-G012,7th meeting,Thailand,2003.
[2]JING X,CHAU L P.A novel intra-rate estimation method for H.264 Rate Control.Proc.of IEEE International Symposium on Circuits and Systems,Greece,2006.
[3]ZHOU S,LI J J.Improvement on rate-distortion performance of H.264 rate control in low bit rate.IEEE Trans.on Circ.and Sys.for Video Tech.,2007,17.
[4]JING Xuan,CHAU L P,SIU W C.Frame complexitybased rate-quantization model for H.264/AVC intraframe rate control[J].IEEE Signal Processing Letters,2008,15.
[5]WANG Han Li,KWONG S.Rate-distortion optimization of rate control for H.264 with adaptive initial quantization parameter Determination[J].IEEE Transactions on Circuits and Systems for Video Technology,2008,18(1).
[6]王海嬰,張新發(fā).I幀QP設置算法及其在場景變換中的應用[J].北京郵電大學學報,2008,31(16).
[7]侯晨娟,何小海,曾強宇,等.優(yōu)化的 H.264/AVC碼率控制算法[J].計算機工程與應用,2009,45(24).