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

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

  關鍵詞: H.264/AVC;碼率控制;初始量化參數

  隨著數字視頻技術的快速發(fā)展,在人們日常工作生活中出現了形式多樣的視頻應用,這些視頻業(yè)務給現有的存儲資源和通信系統(tǒng)帶來了巨大的挑戰(zhàn)。H.264/AVC是目前使用最廣泛的視頻編碼標準,因在碼率控制和率失真優(yōu)化過程之間存在編碼參數的依賴關系,使其碼率控制技術也更加復雜,如何提高碼率控制精度,更好地平衡編碼效率和圖像質量之間的關系,成為碼率控制領域的研究熱點。

  1 初始量化參數分析

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

  12.png

  其中,Rtarget為當前可用的信道帶寬,即目標比特數;f為編碼時的幀率;Npixel為每幀圖像的像素個數。l1、l2、l3為經驗常數,對于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)可知,對于相同視頻格式不同圖像內容的視頻序列,在信道帶寬、幀率相同的情況下,將使用相同的初始量化參數。

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

  在不預先設定QP0的情況下,分別選取Akiyo和Foreman兩個標準視頻序列,實驗參數設置為信道帶寬64 Kb/s,幀率30 f/s,視頻格式QCIF,序列結構Ippp,編碼幀數100。實驗結果如圖1和圖2所示。

001.jpg

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

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

  2 I幀的R-C-Q模型

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

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

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

  3.png

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

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

  4567.jpg

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

  3 I幀圖像復雜度

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

  8910.jpg

  11.png

002.jpg

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

003.jpg

  4 實驗結果及分析

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

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

  本文分析了JVT-G012碼率控制提案中預測初始量化參數的方法過于簡單、沒有考慮不同I幀圖像特性的問題,提出了基于Cauchy分布R-Q模型的自適應初始量化參數預測方法。實驗結果表明,本文算法減少了視頻序列整體的量化參數和PSNR的波動,在提高碼率控制精度的同時,保持了穩(wě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.


此內容為AET網站原創(chuàng),未經授權禁止轉載。