基於FPGA的HEVC感興趣區域編碼算法研究與設計

0 引言

與H.264/AVC相比,新一代視頻壓縮標準H.265/HEVC能夠在相同的圖像質量下實現更低的碼率,即更高的壓縮比[1]。由於人眼的視覺特性,在動態碼率編碼過程中,不同區域的碼率分配是研究中的一個關鍵問題。如果能夠在編碼過程中將視頻劃分為感興趣區域(Region of Interest,ROI)和普通區域,動態調整二者的碼率分配,則可以在相同甚至更低的碼率下得到更好的主觀視頻質量,從而增強用戶體驗[2-6]。ROI區域的提取速度和質量對編碼算法影響很大,因此實現低複雜度、高質量的ROI區域提取,並針對H.265/HEVC視頻編碼的自身特點進行碼率的分配尤為重要。

文獻[7]將ROI提取及碼率分配方法用於JPEG 2000靜止圖像壓縮,提升了ROI區域的圖像質量並取得了較好的碼率節省效果,並利用FPGA對ROI的提取進行了VLSI硬件設計,從而在不顯著提高圖像編碼時間的前提下得到了滿意的效果,但該系統只能用於靜止圖像編碼;文獻[2-6]均提出了基於ROI的H.265/HEVC碼率控制即壓縮性能優化方法,並取得了一定成效。文獻[2-4]的研究表明雖然H.265/HEVC編碼標準已經在一定程度上較H.264/AVC標準降低了碼率,但ROI區域碼率控制對於最新的HEVC標準同樣起作用,但未考慮ROI提取算法複雜度對編碼速率帶來的影響;文獻[8-9]利用高斯背景模型建立虛擬背景幀,降低了H.265/HEVC編碼的碼率,但未考慮針對人眼特性的ROI變質量編碼,也未考慮背景幀建立效率對編碼器速率的影響。

本文基於視頻編碼算法分塊進行的特點和FPGA的細粒度並行特性,提出了基於塊匹配的高斯背景建模-ROI映射方法,並利用HLS工具在FPGA平臺上進行了算法的硬件實現與驗證。FPGA處理速度達到22 fps@1 080 p,對ROI映射CTU區域進行變質量編碼,可得到平均10%左右的碼率節省,視頻總體質量保持穩定。

1.1 基於像素的高斯背景建模的基本原理

高斯背景建模是一種基於概率模型的背景建模方法,傳統的高斯背景建模算法是以像素為單位的。數字視頻中的一幀圖像可以看作是對於時空位置(x,y,t)的二維離散函數f(x,y,t),在給定色彩空間的給定通道下,對於給定的(x0,y0,t0),f僅有唯一值;對於給定的時間t0,f可看成是一個二維隨機場,一般認為其為平穩隨機場。

從統計學角度來看,前景物體的出現與運動是暫時的、突發性的,而背景則是長期的、具備一定穩定性的,對於時間t來說,給定(x

0,y0),f(x0,y0,t)滿足一定的概率分佈,通常符合高斯分佈。

高斯背景模型的表達式為:

基于FPGA的HEVC感兴趣区域编码算法研究与设计

1.2 基於塊匹配高斯背景建模-ROI映射算法

由原始高斯背景模型的表達式可知,基於像素的高斯背景建模算法需要進行大量的複雜浮點計算,一般要經過數百幀才能完成模型的建立,導致算法耗時很高且不適合進行硬件實現。

高斯背景建模方法僅考慮了同一位置像素點的時間相關性,並且將所有的像素看作是孤立的點,一方面需要進行大量的重複性計算,另一方面在背景產生變化時,會產生“虛警”現象。

視頻序列中存在空間冗餘、時間冗餘和知識冗餘等。針對一幀圖像空間上的冗餘,視頻編碼算法中採用分塊方式進行幀內預測,對預測值與原始值的殘差進行變換編碼和量化編碼,達到視頻壓縮的目的。

本文使用塊匹配方式取代原高斯背景建模的像素匹配和更新方式,提出基於塊匹配的高斯背景建模-ROI提取算法。一方面,基於塊進行背景建模計算可以避免基於像素算法過程中的大量運算;另一方面,基於塊進行高斯背景建模可以將背景建立與視頻編碼塊的劃分統一起來。

利用高斯建模建立背景後,將新的視頻幀分塊,根據SAD判別準則進行前景塊與背景塊的判定,SAD判別的表達式如式(5)所示。其中B表示已經建立好的背景塊,C表示當前視頻幀對應位置的像素塊,本文中N取8。

其基本步驟描述如下:

步驟1:視頻塊劃分。按N×N尺度將原始視頻劃分成若干個不相交的子區域。

步驟2:模型初始化。針對分塊區域,初始化高斯模型的基本參數μ、σ、λ、α。

步驟3:幀計數判定。讀入視頻,若視頻幀數滿足更新週期p,則進入步驟4,否則進入步驟5。

步驟4:模型更新。更新分塊背景模型。

步驟5:前背景判定。根據SAD判別準則,劃分前景與背景。

步驟6:ROI區域映射。依據前景塊分佈,對視頻中的CTU進行映射。本文中設定HEVC CTU尺度為32×32,映射結果將送入H.265/HEVC編碼器。

算法流程如圖1所示。

基于FPGA的HEVC感兴趣区域编码算法研究与设计

2 基於率失真優化的ROI區域自適應編碼

2.1 面向ROI區域的率失真優化

為了降低碼率同時達到較好的圖像質量,率失真優化可以定義為如下優化問題:在碼率R≤Rmax時,通過調整編碼算法使得失真D最小,即:

基于FPGA的HEVC感兴趣区域编码算法研究与设计

式(8)通常被用作RDO的依據,但事實上往往編碼塊之間不相互獨立,從而導致求得的值為局部最優解。

本文通過ROI區域的劃分,假設在一幀中ROI區域與非ROI區域獨立同分布,則率失真優化函數可描述為:

由於式(9)考慮到了編碼塊的相關性問題,能夠在一定程度上避免陷入局部最優,分析可知,式(9)將比式(8)得到更優解。

進一步地,從主觀視頻質量出發,人眼期望ROI區域能夠有更好的視頻質量,因此,本文在實現過程中加入限制條件:

2.2 集成ROI提取的HEVC編碼

本文將ROI區域送入HEVC編碼器中進行變質量編碼。為了防止ROI區域與周圍非ROI區域的編碼參數差異過大造成明顯的方塊效應,本文利用非線性補償對量化參數進行了調整,具體做法如下。

記ROI區域所在的編碼塊A的量化參數為q1,在其附近的非ROI區域中編碼塊B的量化參數為q2,A的中心點座標記作(xA,yA),B的中心點座標記作(x

B,yB),則q1、q2以及A、B中心位置的漢明距離D應滿足如下關係:

3 硬件設計與實現

為了說明本文方法的有效性,將基於塊匹配的高斯背景建模-ROI算法進行了硬件實現並嵌入到HEVC編碼的過程之中。

本文利用高層次綜合(High Level Synthesis,HLS)工具,基於Xilinx MPSoC平臺ZCU102進行了基於背景建模的ROI區域映射與自適應編碼的硬件設計。HLS工具可以將C/C++語言的高層次描述映射為硬件描述語言(VHDL或Verilog),提高開發效率。

硬件包括3個模塊,分別為:背景建立、背景更新、ROI判定與映射,最終將映射結果送入視頻編碼器。其基本結構如圖2所示。

基于FPGA的HEVC感兴趣区域编码算法研究与设计

原始視頻數據緩存在DDR中,在FPGA內部通過行緩存加快存取速率,視頻數據多路選擇器在幀計數器的控制下,將視頻送入不同的處理單元,將ROI區域映射到H.265標準中的編碼樹單元(CTU),映射結果送入H.265編碼器。在編碼器中,根據區域性質進行ROI自適應的QP調整,最終將編碼後生成的碼流寫回DDR。

4 實驗結果與分析

4.1 實驗環境

本文基於Xilinx ZCU102嵌入式開發平臺進行了實驗。ZCU102搭載了Zynq UltraScale XCZU9EG-2FFVB1156 FPGA芯片。該芯片內部架構主要包括處理器系統(Processing System,PS)和可編程邏輯(Programmable Logic,PL)兩部分。

其中PL端硬件資源消耗情況如表1所示。考慮到一定的伸縮性,硬件設計中圖像的分辨率可以進行配置,最高分辨率為1 920×1 080。

基于FPGA的HEVC感兴趣区域编码算法研究与设计

4.2 背景建模效果與ROI映射結果

圖3為基於FPGA的背景建模和ROI映射結果。所用序列為HEVC標準測試序列BasketballDrill_832×480_50.yuv。圖3(a)為視頻序列的第201幀,圖3(b)為利用前200幀建模得到的背景幀,圖3(c)為針對HEVC CTU的映射結果,其中白色區域為映射得到的ROI區域。可以看出視頻中運動的人物被準確映射到以CTU大小為邊界的區域中。觀察原始視頻序列可知,原始視頻序列中的背景區域隨時間變化有變動(如籃筐會隨籃球撞擊而抖動等),但這些變動並未對ROI區域的映射造成影響(即未出現“虛警”現象),算法具備一定的魯棒性。

表2為不同分辨率下進行處理的速度對比,PL部分的時鐘頻率為120 MHz。由表可知本文設計在1 920×1 080的分辨率下仍可達到較高的實時性。

基于FPGA的HEVC感兴趣区域编码算法研究与设计

4.3 嵌入ROI碼率控制的HEVC視頻編碼性能評估

為了進一步說明嵌入ROI區域後HEVC編碼的有效性,本文對HEVC編碼器的編碼結果進行了實驗驗證。分別選取不同分辨率和不同場景下的測試序列,計算總體碼率及PSNR的變化情況,結果如表3所示。

基于FPGA的HEVC感兴趣区域编码算法研究与设计

從表3可以看出,採用本文提出的背景建模-ROI映射算法進行碼率控制,編碼後圖像總體的PSNR沒有較大變化,但是碼率有了平均10%左右的節省,從而驗證了本文算法在對碼率控制的有效性。

5 結論

基於視頻編碼算法分塊進行的特點,本文提出一種基於塊的高斯背景建模-ROI映射方法,通過HLS方法在FPGA上實現,並用於H.265/HEVC視頻編碼。實驗結果表明,在FPGA平臺上該算法運行速度較快,可以有效地集成到H.265/HEVC硬件編碼器中;在H.265/HEVC中對提取ROI區域進行變質量編碼,可得到平均約10%的碼率節省,總體的視頻質量保持穩定。

參考文獻

[1] BOSSEN F,BROSS B,SUHRING K,et al.HEVC complexity and implementation analysis[J].IEEE Transactions on Circuits & Systems for Video Technology,2012,22(12):1685-1696.

[2] MEDDEB M,CAGNAZZO M,PESQUET B P.ROI-based rate control using tiles for an HEVC encoded video stream over a lossy network[C].2015 IEEE International Conference on Image Processing(ICIP),2015:1389-1393.

[3] ZHANG Z,JING T,HAN J,et al.A New rate control scheme for video coding based on region of interest[J].IEEE Access,2017,5:13677-13688.

[4] 林國川,何小海,李向群,等.基於感興趣區域的HEVC壓縮性能優化[J].電訊技術,2016,56(1):38-43.

[5] KO J H,NA T,MUKHOPADHYAY S.An energy-efficient wireless video sensor node with a region-of-interest based multi-parameter rate controller for moving object surveillance[C].2016 13th IEEE International Conference on Advanced Video and Signal Based Surveillance(AVSS),2016:138-144.

[6] 曾鴻軍,沈燕飛,王毅.基於感興趣區域的頭像視頻前處理方法[J].計算機工程與應用,2017,53(6):188-192.

[7] 王建新,朱恩,劉文松,等.基於JPEG2000的遙感圖像感興趣區域編碼新算法及其VLSI設計[J].電子與信息學報,2016,38(4):958-963.

[8] CHEN F,LI H,LI L,et al.Block-composed background reference for high efficiency video coding[J].IEEE Transactions on Circuits and Systems for Video Technology,2017,27(12):2639-2651.

[9] CHEN F,LI L,LIU D,et al.Efficient background picture coding for videos obtained from static cameras[C].2015 Visual Communications and Image Processing(VCIP),2015:1-4.

作者信息:

李 申1,嚴 偉2,夏 珺1,崔正東2,柴志雷1

(1.江南大學 物聯網工程學院,江蘇 無錫214122;2.北京大學 軟件與微電子學院,北京102600)


分享到:


相關文章: