《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 視頻編碼中自適應(yīng)的初始量化參數(shù)預(yù)測算法
視頻編碼中自適應(yīng)的初始量化參數(shù)預(yù)測算法
2014年微型機與應(yīng)用第13期
方權(quán)亮
武警西藏總隊 信息化處,,西藏 拉薩
摘要: 通過分析在H.264/AVC中預(yù)測初始量化參數(shù)的方法過于簡單,,導(dǎo)致視頻序列整體編碼量化參數(shù)和重建圖像PSNR的波動,,甚至PSNR急劇下降的問題,,利用基于Cauchy分布的R-Q模型,,結(jié)合I幀圖像復(fù)雜度建立R-C-Q模型,,提出了自適應(yīng)的初始量化參數(shù)預(yù)測算法,。該算法能夠根據(jù)不同視頻序列的特性,,準(zhǔn)確地預(yù)測I幀的初始量化參數(shù),,有效地抑制視頻序列的整體量化參數(shù)及PSNR的波動,從而提高碼率控制精度和重建圖像質(zhì)量,。
Abstract:
Key words :

  摘  要: 通過分析在H.264/AVC中預(yù)測初始量化參數(shù)的方法過于簡單,,導(dǎo)致視頻序列整體編碼量化參數(shù)和重建圖像PSNR的波動,甚至PSNR急劇下降的問題,,利用基于Cauchy分布的R-Q模型,,結(jié)合I幀圖像復(fù)雜度建立R-C-Q模型,提出了自適應(yīng)的初始量化參數(shù)預(yù)測算法,。該算法能夠根據(jù)不同視頻序列的特性,,準(zhǔn)確地預(yù)測I幀的初始量化參數(shù),有效地抑制視頻序列的整體量化參數(shù)及PSNR的波動,,從而提高碼率控制精度和重建圖像質(zhì)量,。

  關(guān)鍵詞: H.264/AVC,;碼率控制;初始量化參數(shù)

  隨著數(shù)字視頻技術(shù)的快速發(fā)展,,在人們?nèi)粘9ぷ魃钪谐霈F(xiàn)了形式多樣的視頻應(yīng)用,,這些視頻業(yè)務(wù)給現(xiàn)有的存儲資源和通信系統(tǒng)帶來了巨大的挑戰(zhàn)。H.264/AVC是目前使用最廣泛的視頻編碼標(biāo)準(zhǔn),,因在碼率控制和率失真優(yōu)化過程之間存在編碼參數(shù)的依賴關(guān)系,,使其碼率控制技術(shù)也更加復(fù)雜,如何提高碼率控制精度,,更好地平衡編碼效率和圖像質(zhì)量之間的關(guān)系,,成為碼率控制領(lǐng)域的研究熱點。

  1 初始量化參數(shù)分析

  初始量化參數(shù)(QP0)是指編碼視頻序列的I幀所使用量化參數(shù),,在H.264/AVC的JVT-G012碼率控制算法提案中,,初始量化參數(shù)QP0采用兩種方法進(jìn)行預(yù)測:(1)預(yù)先定義的方法,QP0取值范圍為0~51,;(2)在沒有預(yù)先定義的情況下,,在參考軟件JM10.1中,QP0根據(jù)每像素的比特數(shù)bpp(bits per pixel)將信道分成4個級別,,不同的級別采用不同的初始量化參數(shù),,通過式(1)計算,bpp由式(2)確定,。

  12.png

  其中,,Rtarget為當(dāng)前可用的信道帶寬,即目標(biāo)比特數(shù),;f為編碼時的幀率,;Npixel為每幀圖像的像素個數(shù)。l1,、l2,、l3為經(jīng)驗常數(shù),對于QCIF視頻格式,,取l1=0.1,l2=0.3,,l3=0.6,;CIF視頻格式,取l1=0.2,,l2=0.6,,l3=1.2;其他比CIF大的視頻格式,,取l1=0.6,,l2=1.4,,l3=2.4。由式(1),、(2)可知,,對于相同視頻格式不同圖像內(nèi)容的視頻序列,在信道帶寬,、幀率相同的情況下,,將使用相同的初始量化參數(shù)。

  在編碼前預(yù)定義QP0,,如果取值過小,,編碼I幀將占用過多的目標(biāo)比特數(shù),為了避免編碼緩沖區(qū)上溢,,在編碼GOP中后續(xù)的圖像時,,就會持續(xù)增加量化參數(shù),以減少后續(xù)圖像編碼碼率,,導(dǎo)致圖像質(zhì)量急劇下降,。另一方面,如果取值過大,,就會浪費信道帶寬,,甚至出現(xiàn)緩沖區(qū)下溢造成解碼端延遲,同時增加I幀的圖像失真,,由于I幀是后續(xù)幀的參考幀,,這些后續(xù)幀的重建圖像質(zhì)量也會相應(yīng)下降。顯然,,在視頻編碼之前預(yù)先設(shè)定QP0,,不能充分考慮視頻序列的特征,要設(shè)定合適的QP0是比較困難的,。

  在不預(yù)先設(shè)定QP0的情況下,,分別選取Akiyo和Foreman兩個標(biāo)準(zhǔn)視頻序列,實驗參數(shù)設(shè)置為信道帶寬64 Kb/s,,幀率30 f/s,,視頻格式QCIF,序列結(jié)構(gòu)Ippp,,編碼幀數(shù)100,。實驗結(jié)果如圖1和圖2所示。

001.jpg

  如圖1所示,,兩個序列都采用了相同的QP0(QP0=35),。對于Foreman序列,QP0接近序列的平均量化參數(shù)(QPave=36),,整個序列的量化參數(shù)和PSNR波動不大,,如圖2所示,。而Akiyo序列的平均量化參數(shù)為25,QP0與QPave之間的差為10,,導(dǎo)致整個序列的PSNR和QP的劇烈波動,。

  由于視頻序列中I幀的圖像復(fù)雜度不同,采用相同的方式確定初始量化參數(shù),,勢必會影響碼率控制的精度,,造成重建圖像質(zhì)量的波動甚至下降。

  2 I幀的R-C-Q模型

  視頻序列中I幀沒有參考幀,,使用幀內(nèi)預(yù)測方式編碼,,因此應(yīng)考慮不同圖像的特性來預(yù)測QP0。通常在給定相同的信道帶寬時,,對于空間紋理復(fù)雜或運動劇烈的視頻序列,,需要較大的QP0,反之則對于空間內(nèi)容簡單或運動緩慢的視頻序列,,則選擇較小的QP0,。

  參考文獻(xiàn)[1]中提出Cauchy分布比Laplace分布更接近殘差圖像DCT變換系數(shù)的實際分布情況,尤其是幀內(nèi)編碼的圖像,,使用基于Cauchy分布的熵函數(shù)能使碼率估計的準(zhǔn)確度得到很大提高,,Cauchy熵函數(shù)可通過R-Q模型近似得到。

  基于Cauchy分布的R-Q模型為:

  3.png

  其中,,Rtotal為目標(biāo)比特數(shù),,包括頭比特數(shù)和紋理比特數(shù);Qstep為量化步長,;C為模型參數(shù),,與編碼圖像的內(nèi)容相關(guān),本文將其表示為圖像復(fù)雜度,;?茁(?茁<0)為與DCT系數(shù)分布相關(guān)的常數(shù),,當(dāng)編碼I幀時,取值為{-0.75,,-0.8,,-0.85}。

  假設(shè)在時間間隔ΔT內(nèi)編碼幀數(shù)為N,,信道帶寬為B,,C?琢表示N個幀的平均復(fù)雜度,則有:

  4567.jpg

  為了驗證式(7)中QPave的有效性,,選擇QCIF(Akiyo、Foreman,、Mobile)及CIF(News,、Waterfall,、Bus)格式的標(biāo)準(zhǔn)測試序列,這些序列包含從簡單到復(fù)雜的紋理細(xì)節(jié)和從低到高的運動強度,。在不同的信道帶寬下,,對每個序列(QCIF:60~800 kb/s,CIF:80~1 600 kb/s)進(jìn)行測試,。圖3所示為序列實際編碼的QPave和信道帶寬B的線性擬合結(jié)果,。圖中圓點代表序列在不同帶寬下編碼的QPave;相關(guān)系數(shù)R2表示線性擬合的準(zhǔn)確度,,其值越接近1說明樣本值越接近線性關(guān)系,。從實驗結(jié)果可以看到在不同序列的和信道帶寬之間接近線性關(guān)系,說明最佳QP0可以通過式(6)得到,。

  3 I幀圖像復(fù)雜度

  為了得到最佳QP0,,在編碼視頻序列前首先要確定I幀的圖像復(fù)雜度。目前有多種圖像復(fù)雜度測量方法,,在參考文獻(xiàn)[3]中將這些方法分為4類:基于方差的方法,、DCT系數(shù)的方法、邊緣強度的方法和梯度的方法,,這些方法在編碼前都不需要進(jìn)行預(yù)處理,,對4種方法的計算復(fù)雜度和性能進(jìn)行比較,結(jié)果顯示基于梯度的方法最有效,。通常圖像的梯度用于測量圖像局部的變化,,圖像的亮度和色度直方圖則反映了圖像全局的變化,參考文獻(xiàn)[4]中用實驗驗證了通過結(jié)合圖像局部和全局的變化信息,,其結(jié)果能更好地表示編碼圖像的復(fù)雜度,。因此,本文借簽參考文獻(xiàn)[4]中方法,,結(jié)合梯度和直方圖計算I幀的圖像復(fù)雜度,。

  8910.jpg

  11.png

002.jpg

  如圖3所示,在相同的信道帶寬下,,QCIF和CIF序列的QP0明顯不同,,即使是相同格式序列的QP0也存在較大差異,QP0的差異是由I幀的圖像復(fù)雜度不同造成的,。用式(11)計算所有測試序列的最佳QP0,,實驗結(jié)果如圖4所示,最佳QP0呈線性分布,,這說明式(11)能夠準(zhǔn)確地反映不同內(nèi)容視頻序列I幀的特性,。通過線性擬合方法得到式(11)中的參數(shù)?準(zhǔn)和?漬,分別為?準(zhǔn)=-6.532,?漬=51.44,。參數(shù)?滋可根據(jù)應(yīng)用場景進(jìn)行調(diào)整,,對于空間內(nèi)容簡單或運動緩慢的場景,選擇較小值,;反之,,取較大值。

003.jpg

  4 實驗結(jié)果及分析

  將本文算法寫入JVT-G012參考軟件JM10.1中,,選取QCIF和CIF格式的視頻序列,,參數(shù)設(shè)置如表1所示。QCIF和CIF序列的信道帶寬分別設(shè)定為60~512 kb/s及120~1 024 kb/s,。實驗結(jié)果如表2所示,。

  從表2可以看出,本文算法的平均碼率誤差?駐R降低了0.438%,,說明能夠更準(zhǔn)確地控制編碼輸出碼率,。對于不同格式和不同圖像復(fù)雜度的序列,在不預(yù)定義QP0時,,本文算法得到的初始QP0非常接近JM10.1算法的平均QP,,兩者最大誤差僅為3,說明本文的QP0更加準(zhǔn)確,。本文算法有效提高了重建圖像質(zhì)量,,PSNR的增益最高達(dá)到1.31 dB,平均PSNR增益達(dá)到0.61 dB,,由于本文算法在編碼前僅需要計算視頻序列第一個I幀的圖像復(fù)雜度,,計算復(fù)雜度增加有限,序列每幀的編碼時間僅比JM10.1平均增加了0.47%,。

  本文分析了JVT-G012碼率控制提案中預(yù)測初始量化參數(shù)的方法過于簡單,、沒有考慮不同I幀圖像特性的問題,提出了基于Cauchy分布R-Q模型的自適應(yīng)初始量化參數(shù)預(yù)測方法,。實驗結(jié)果表明,,本文算法減少了視頻序列整體的量化參數(shù)和PSNR的波動,在提高碼率控制精度的同時,,保持了穩(wěn)定的重建圖像質(zhì),。

  參考文獻(xiàn)

  [1] KAMACI N, ALTINBASAK Y,, MERSEREAU R M. Frame bit allocation for the H.264/AVC video coder via cauchy density-based rate and distortion models[J]. IEEE Transactions on Circuits and System for Video Technology,, 2005,15(8):994-1006.

  [2] Ma Siwei,, Gao Wen,, Lu Yan. Rate-distortion analysis for H.264/AVC videocoding and its application to rate control[J]. IEEE Transactions on Circuits and System for Video Technology, 2005,15(12):1533-1544.

  [3] KIM W J, YI J W, KIM S D. A bit allocation method based on pictureactivity for still image coding[J].IEEE Transactions on Image Processing,,1999,,8(7):974-977.

  [4] Zhou Yimin, Sun Yu,, Feng Zhidan,, et al. New rate-distortion modeling and efficient rate controlfor H.264/AVC video coding[J]. Signal Processing: Image Communication,2009,,24(5):345-356.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。