田 波, 楊宜民, 蔡述庭
(1. 銅仁學院數學與信息工程系,貴州 銅仁 554300;2. 廣東工業大學自動化學院,廣東 廣州 510090)
一種基于視覺感知的H.264碼率控制算法
田 波1,2, 楊宜民2, 蔡述庭2
(1. 銅仁學院數學與信息工程系,貴州 銅仁 554300;2. 廣東工業大學自動化學院,廣東 廣州 510090)
針對目前視頻編碼標準H.264的碼率控制算法未考慮人眼視覺感知、易導致編碼后視頻圖像質量波動的不足,提出了一種基于視覺感知的H.264碼率控制算法。首先,設計了像素域的恰可察覺失真模型。在此基礎上,根據各幀的恰可察覺失真的大小進行幀層比特分配。其次,建立了基于結構相似度的率失真模型,并采用此模型設計了基本單元層(basic unit, BU)的比特分配方案。最后結合二次速率-量化模型得到量化參數。實驗結果表明,該算法與目前H.264中典型的碼率控制算法相比,錯誤率降低了0.2%。
碼率控制;恰可察覺失真;比特分配;結構相似度
碼率控制是在給定的網絡傳輸環境下,通過合理設置編碼參數來控制編碼器輸出的碼率,對編碼器輸出高質量的平穩視頻數據流發揮了關鍵作用。目前,H.264的碼率控制算法(如 JVT-W042,JVT-GO12等),綜合考慮了率失真模型和緩沖區充盈度,并采用幀的平均絕對誤差(mean absolute difference,MAD)的線性預測模型與二次速率–量化模型進行比特分配,不僅忽略了各幀內容的不同,而且沒有考慮到人眼的視覺特性。對此,已有較多的研究文獻對其進行改進。文獻[1]提出一種基于H.264的碼率控制算法,根據各幀的局部運動區域的強度來分配目標碼率,提高了視頻播放的主觀質量,但僅僅考慮到了運動和紋理特征。文獻[2]根據每個宏塊的率失真性能,設計了線性速率-量化步長和失真-量化步長模型,并將每一幀劃分成多個不同的區域,提出了一種基于感興趣區域的碼率控制算法。雖然提高了主觀和客觀質量,但區域劃分算法較為復雜,實時性較低。文獻[3]在碼率控制中引入PID控制器以最小化目標緩沖區大小與當前緩沖區充盈度的誤差,有效提高了比特分配的合理性。文獻[4]通過對大量實驗結果的分析,得到了更準確的量化參數與碼率的關系,綜合考慮目標帶寬、幀的空間復雜度及流體模型,提出了一種復雜度較低的幀層碼率控制算法。文獻[5]改進了H.264中的圖像組(group of picture, GOP)層比特分配算法,提出新的率失真模型,雖然提高了視頻輸出的質量,但算法的復雜度較高,且沒有考慮幀層與基本單元層(basic unit,BU)的比特分配問題。
可以看出,當前針對H.264的碼率控制算法的研究工作存在以下不足:①雖然在碼率控制中考慮到了人眼的視覺感知特征,但只局限于在幀層比特分配中考慮到不同運動特征宏塊的人眼關注度,沒有同時優化幀層與宏塊層的比特分配;②率失真模型建立在客觀視頻質量評價方法的基礎上,難以有效消除視頻圖像中的視覺冗余。針對這些不足,本文提出了一種基于視覺感知的碼率控制算法(visual perception based rate control algorithm,VP-RCA)。通過綜合考慮各幀的時域和空域恰可察覺失真(just noticeable distortion, JND),建立了像素域的JND模型。在此基礎上,設計了新的幀層比特分配方案。為獲得最優的目標比特數,將BU層的比特分配轉換為優化問題以提高計算精度。由于充分地考慮了人眼的視頻感知,VP-RCA算法的碼率控制更精確、率失真優化效果更好。
1.1 恰可察覺失真模型
接收端解碼后的視頻質量最終是由人眼來感知的。換言之,碼率控制過程中應更多地考慮到人眼視覺感知的特征。視頻圖像的失真只有在超過某個閾值時,才會引起人類視覺系統的感知。這個閾值稱為 JND,代表了視頻圖像中的視覺冗余的大小。因此,本文算法首先計算視頻幀的JND,然后根據JND的值完成幀層比特分配。考慮到計算復雜度及建模的準確性,本文對各幀建立了像素域的JND模型,相應的第i幀的JND為

其中η為第i幀亮度均值,由下式計算:

M,N表示第i幀水平與垂直方向的像素個數, Ls,t為像素(s,t)亮度值, α1, α2,ω為常數。JNDs(x,y,i)為空域JND,其計算方法為[6]:



其中 Tt(x,y,i)為紋理掩蔽值, Cl,t表示掩蔽中的疊加效果, Tl(x,y,i)為亮度自適應掩蔽值。分別表示為:其中ξ為參數,為第i幀中像素(x,y)的梯度的加權平均的最大值,為第i幀中像素(x,y)通過濾波和邊緣檢測獲取的權重值, θ1~θ4為常數,由實驗中取得[7]。 (,)Ixy為平均背景亮度。

其中 (,,)xyiΔ 為第i幀與前一幀的平均幀間亮度,τ為參數。
從式(1)所示的 JND模型可以看出,由于采用兩個相鄰幀的亮度的方差來計算時域JND,其精度會有所提高。此外,由于結合了像素域的時域與空域JND,相比變換域的JND模型,該模型具有計算復雜度低、精度較高的特點。
最后,各幀JND的計算方法如下:
(1) 對GOP中的第1幀,即I幀直接按式(1)計算JND。
(2) 對B幀和P幀的JND按下式計算:


θ為閾值,采用文獻[6]的方法求得,本文將5θ的值取為1.7。
1.2 幀層的比特分配
類似于JVT-G042,幀層的比特分配考慮到了緩沖區充盈度與剩余比特數,目標比特由下式決定[8]:



其中GT為當前 GOP中剩余的比特數,pN為當前GOP中未編碼幀數。1C、2C及σ為常數。從式(11)可知,在比特分配時考慮到各幀具有不同的 JND值,在保證視頻序列播放質量的同時,有效地提高了編碼效率,這在本文中的實驗中也得到了驗證。
2.1 基于SSIM的率失真模型
基于PSNR的視頻客觀質量雖然計算簡單,但與視頻的主觀質量并不匹配。事實上,視頻實驗早已證明,人眼對視頻圖像中的結構信息更加敏感?;诖?,文獻[9]設計了基于結構相似的視頻質量評價方法,其評價結果與MOS等主觀視頻質量評價方法高度一致,得到廣泛的應用。SSIM包含了視頻圖像的對比度、亮度及結構度等幾方面的信息,定義如下:

其中 ,xy分別為參考圖像與噪聲圖像對應位置的塊;(,)lxy、 (,)cxy、 (,)sxy為亮度函數、對比度函數與結構函數。從式(12)可以看出,SSIM能提取視場中的結構信息,其與視頻的主觀質量具有高度的一致性,并能反映出亮度自適應與紋理掩蔽。為充分利用 SSIM 與人眼視覺系統一致性較強的優點,本文建立了基于SSIM的率失真模型,并將其用于BU層的碼率控制。
對第i幀的SSIM采用下式進行計算:


其中 ,λβ為參數,其值由實驗中得到。
2.2 BU層比特分配
BU層目標比特分配可轉化為下列優化問題:


其中1sT?為當前幀中第 1s?個BU編碼后剩余的比特,sr為由式(15)求出的第s個 BU最優的比特數量。
顯然,對BU的比特分配并不是進行簡單的平均,而是基于SSIM的率失真模型進行分配,以保留更多的結構信息,使之更符合人眼視覺感知的特點。

對于式(14)所示的R-D模型,其參數更新需在每一個幀中BU的比特分配完成后進行。因此,在當前幀完成 BU級比特分配后,采用文獻[11]的方法,將參數更新過程轉化為下列求極值問題:其中Ω為前一幀中R與D數據集合,相應的R-D數據點數量為w,和分別為集合Ω中的數據點對應的速率與失真,對式(17)求梯度即可得到參數 ,λβ更新后的值,詳細推導過程可參考文獻[12]。
為降低算法的時間復雜度,采用JVT-W042算法中的二次速率?量化參數模型計算幀及 BU的量化步長:

其中 Qstep為量化步長, b1,b2及 a1,a2為模型中的參數。MAD為視頻圖像編碼復雜度,根據前一幀的MADpb來預測當前幀的 MADcb。此外,式(18)中的參數 b1,b2和 a1,a2的更新分別采用與JVT-W042相同的方法,在此不予另加說明。
VP-RCA算法的實現步驟如下:
步驟1.采用JVT-W042中的GOP層碼率控制算法完成對 GOP的比特分配和初始量化參數的計算。
步驟2.根據式(1)及式(7)對當前幀的JND值進行計算,并根據式(11)完成幀層的比特分配,再采用式(18)計算當前幀的量化步長并編碼,最后更新剩余比特數及緩沖區狀態等參數。
步驟3.根據式(14)得到當前幀的基于SSIM的率失真模型,并根據式(16)完成BU級的比特分配,并采用式(18)計算量化步長并完成編碼。
步驟 4.根據式(17)完成率失真模型的參數更新,并采用與JVT-W042相同的方法完成式(18)中的二次模型的參數更新。如當前GOP所有幀編碼完畢,轉向步驟5,否則轉向步驟2。
步驟 5.如當前視頻序列編碼完畢,則結束。否則轉向步驟1,開始編碼下一個GOP。
為驗證本文的碼率控制算法的有效性,在相同的編碼參數設置環境下,在JM10中對比了VP-RCA算法與JVT-W042算法及文獻[1]中的基于視覺注意度的碼率控制算法(RC-CVA)的性能。視頻測試序列為5個CIF格式的文件,包含了各類典型場景,其分辨率為352288× 。編碼參數為:GOP結構為“IPPP···”,GOP長度為8,幀率為20幀/秒,搜索區域為32,參考幀的數量為1,初始量化參數為28,熵編碼采用CABAC,幀的數量為300。常數1α,2α,ω的值分別為4.65,2.45,3.92,1C和2C的值分別為0.67和0.33,σ的值為12.4。為衡量碼率控制的精度,定義碼率誤差(rate error,RE)為其中分別為實際和目標碼率, ()abs為取絕對值函數。
表 1顯示了三種算法的實驗結果??梢钥吹絍P-RCA算法的RE值顯著小于其他兩種算法,目標碼率與實際碼率非常接近,碼率波動也更小。這說明該算法的碼率控制更準確,對動態變化的傳輸信道的適應能力更好。當傳輸的視頻序列為Foreman與Mobile這類場景切換較頻繁、紋理較為復雜的序列時,VP-RCA算法的RE值降低了0.2%,平均PSNR在不同的目標碼率下提高了0.3 dB左右。表明VP-RCA算法由于在碼率控制中采用JND和SSIM,能夠更好地編碼視頻圖像中的結構信息,在視覺冗余的消除方面效率更高。
圖1顯示了三種算法對應兩種典型場景的視頻序列時各幀PSNR對比圖??梢?,無論是對于運動矢量較小、場景切換較少的視頻序列,還是運動矢量較大、場景切換較多的序列,VP-RCA算法可獲得更高的客觀質量,且視頻圖像的質量波動也比較小。特別是傳輸對象為Mobile序列時,VP-RCA算法對應的PSNR變化更平穩,這表明該算法由于在幀層和BU層碼率控制中考慮了JND和SSIM,在復雜紋理及場景變化頻繁的情況下很好地優化了幀層的比特分配。

表1 不同碼率控制算法的性能對比

圖1 PSNR性能比較 (64 kbps, 20 frame/s)
圖2給出了視頻序列Foreman、Mobile的碼率與SSIM值的對比。不難看出,VP-RCA算法的各幀SSIM值較其他兩種算法有明顯提高,說明本文算法由于綜合考慮了幀活動度、場景切換等因素,在采用基于SSIM的率失真模型的基礎上,獲得了最優的BU層比特分配,顯著地提高了視頻序列的客觀質量。

圖2 SSIM性能比較(64 kbps, 20 frame/s)
圖3比較了Foreman的主觀質量。Foreman主要為運動平滑的場景,視頻圖像中細節、結構等信息較多,其平坦區域包含了較多的視覺冗余。從圖中可以看出,與其他兩種算法相比,VP-RCA算法很好地保留了視頻圖像中的結構信息,對細節區域的比特分配也更加合理,因而獲得了更好的主觀質量。

圖3 Foreman序列的主觀質量比較(128 kbps)
碼率控制對提高編碼器輸出碼率的質量與穩定性有著非常重要的作用。針對當前H.264的碼率控制算法未考慮人眼視覺感知及輸出的碼流質量起伏較大的不足,提出了一種基于人眼視覺感知的碼率控制算法。首先設計了求取各幀JND的方法,并在此基礎上完成幀層的比特分配;其次在BU層比特分配過程中采用了基于結構相似的率失真模型,有效降低了視覺冗余。實驗結果表明本文提出的算法有效地減少了編碼器輸出碼流的波動,提高了視頻圖像的主觀和客觀質量。下一步的工作是將在本文研究的基礎上,研究三維立體視頻編碼中的碼率控制問題。
[1] Shen Liquan, Liu Zhi, Zhang Zhaoyang. A novel H.264 rate control algorithm with consideration of visual attention [J]. Multimedia Tools and Applications, 2013, 63(3): 709-727.
[2] Hu Haimiao, Li Bo, Lin Weiyao, Li Wei, Sun Mingting. Region-based rate control for H.264/AVC for low bit-rate applications [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(11): 1564-1575.
[3] Zhou Yimin, Sun Yu, Feng Zhidan, Sun Shixin. PID-based bit allocation strategy for H.264/AVC rate control [J]. IEEE Transactions on Circuits and Systems, 2011, 58(3): 184-188.
[4] Kim M J, Hong M C. Fast rate control algorith m in frame-layer for H.264/AVC video coding [J]. IEEE Transaction on Consumer Electronics, 2012, 58(3): 872-879.
[5] Tan Y H, Yeo C, Li Zhengguo. Single-pass rate control with texture and non-texture rate- distortion models [J]. IEEE Transactions on Circuits and Systems for Video Technology. 2012, 22(8): 1236- 1244.
[6] 張冠軍, 朱亞培, 郁 梅. 基于區域劃分的JND快速求取算法[C]//2012年互聯網技術與應用國際學術會議論文集, 西安, 2012: 393-397.
[7] 王 曉. 基于JND的H.264編碼模式選擇算法[J]. 電子科技大學學報, 2013, 42(1): 122-124.
[8] 吳 煒, 陳 健, 宋 彬. H.264/AVC碼率控制現狀與發展[J]. 系統工程與電子技術, 2013, 35(5): 1091-1097.
[9] Zhou Wang, Bovik A C, Sheikh H R, Simoncelli E P. Image quality assessment: from error visibility to structural similarity [J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.
[10] 方志軍, 高永彬, 舒 雷, 袁非牛, 楊 勇. 場景切換視頻自適應幀間碼率控制[J]. 中國圖象圖形學報, 2013, 18(6): 693-699.
[11] Ou Taosheng, Huang Y H, Chen H H. SSIM-based perceptual rate control for video coding [J]. IEEE Transactions on Circuits and System for Video Technology, 2011, 21(5): 682-691.
[12] Xu Long, Zhao Debin, Ji Xiangyang, Deng Lei, kwong S, Gao Wen. Window-level rate control for smooth picture quality and smooth buffer occupancy [J]. IEEE Transactions on Image Processing, 2011, 20(3): 723-734.
Visual Perception Based Rate Control Algorithm for H.264
Tian Bo1,2, Yang Yimin2, Cai Shuting2
(1. Mathematics and Information Engineering Department, College of Tongren, Tongren Guizhou 554300, China; 2. School of Automation, Guangdong University of Technology, Guangzhou Guangdong 510090, China)
Due to that the conventional rate control algorithm for the latest video coding standard H.264 does not take into account the human visual perception and many result in video quality fluctuation, a visual perception based rate control algorithm (VP-RCA) for H.264 is proposed in this paper. First, bit allocation to frame is related to the Just Noticeable Distortion of frame and the rate control is performed by adaptive rate-distortion optimal. Second, the structural similarity index as the quality metric for rate-distortion modeling and the optimum bit allocation is performed in basic unit (BU) layer. And the value of quantization parameter (QP) is computed by exploring quadratic rate–quantization (R-Q) model. Experimental results show that the proposed rate control algorithm can reduces the bit-rate error by up to 0.2% comparisons with the typical rate control algorithms.
rate control; just noticeable distortion; bit allocation; structural similarity
TN 919.85
A
2095-302X(2014)05-0762-06
2014-04-03;定稿日期:2014-05-14
國家自然科學基金青年科學基金資助項目(61201392);銅仁學院科研啟動基金資助項目(TS10014)
田 波(1978–),男,湖南懷化人,講師,在讀博士生。主要研究方向為視頻編碼及傳輸、機器人遙操作。E-mail:tianbomail@163.com