《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設計
基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設計
2018年電子技術應用第7期
李 申1,嚴 偉2,夏 珺1,崔正東2,柴志雷1
1.江南大學 物聯網工程學院,江蘇 無錫214122;2.北京大學 軟件與微電子學院,北京102600
摘要: 為了在保證視頻質量的前提下降低視頻編碼碼率,基于FPGA并行處理和HEVC視頻分塊編碼的特點,提出一種基于塊匹配的高斯背景建模-感興趣區(qū)域(ROI)映射算法,并用于HEVC視頻編碼。通過基于塊匹配的高斯方法建立背景幀后,利用SAD判別準則對視頻幀的編碼塊進行二分類,進而映射到編碼樹單元(CTU);然后根據率失真特性對ROI區(qū)域和非ROI區(qū)域的量化參數進行自適應調整,并進入后續(xù)的HEVC編碼過程。實驗結果表明,在FPGA平臺上該算法運行速度高達22 fps@ 1080 p;建模后提取的ROI映射CTU區(qū)域變質量編碼可得到平均約10%的碼率節(jié)省,視頻質量保持穩(wěn)定。
中圖分類號: TN919.8
文獻識別碼: A
DOI:10.16157/j.issn.0258-7998.180233
中文引用格式: 李申,嚴偉,夏珺,等. 基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設計[J].電子技術應用,2018,44(7):52-55.
英文引用格式: Li Shen,Yan Wei,Xia Jun,et al. Study and design of region of interest encoding algorithm for HEVC based on FPGA[J]. Application of Electronic Technique,2018,44(7):52-55.
Study and design of region of interest encoding algorithm for HEVC based on FPGA
Li Shen1,Yan Wei2,Xia Jun1,Cui Zhengdong2,Chai Zhilei1
1.School of Internet of Things Engineering,Jiangnan University,Wuxi 214122,China; 2.School of Software & Microelectronics,Peking University,Beijing 102600,China
Abstract: In order to decrease the bit-rate of video encoding while keeping quality of video, considering the parallel feature of FPGA and block processing feature of HEVC, a block based Gaussian background model-ROI extraction mapping algorithm is proposed and implemented for HEVC video encoder. Firstly, background frame is set by this method, and current frame is classified as foreground and background by SAD rule, then mapping them into coding tree unit(CTU). Secondly quantization parameter is adjusted according to distortion-rate automatically, well followed by the HEVC encoding procedure. The experimental results show that the speed of this algorithm on FPGA has reached the speed at 22 fps@1 080 p, and the bit-rate is saved about 10% with stable video quality.
Key words : ROI extraction;background model building;FPGA;vary-quality video encoding;HEVC

0 引言

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

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

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

1 高斯背景建模及其面向視頻編碼的改進

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

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

    從統(tǒng)計學角度來看,前景物體的出現與運動是暫時的、突發(fā)性的,而背景則是長期的、具備一定穩(wěn)定性的,對于時間t來說,給定(x0,y0),f(x0,y0,t)滿足一定的概率分布,通常符合高斯分布。

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

wdz5-gs1-4.gif

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

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

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

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

    本文使用塊匹配方式取代原高斯背景建模的像素匹配和更新方式,提出基于塊匹配的高斯背景建模-ROI提取算法。一方面,基于塊進行背景建模計算可以避免基于像素算法過程中的大量運算;另一方面,基于塊進行高斯背景建??梢詫⒈尘敖⑴c視頻編碼塊的劃分統(tǒng)一起來。

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

    wdz5-gs5.gif

    其基本步驟描述如下:

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

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

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

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

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

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

    算法流程如圖1所示。

wdz5-t1.gif

2 基于率失真優(yōu)化的ROI區(qū)域自適應編碼

2.1 面向ROI區(qū)域的率失真優(yōu)化

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

wdz5-gs6-8.gif

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

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

wdz5-gs9-10.gif

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

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

    wdz5-gs11.gif

2.2 集成ROI提取的HEVC編碼

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

    記ROI區(qū)域所在的編碼塊A的量化參數為q1,在其附近的非ROI區(qū)域中編碼塊B的量化參數為q2,A的中心點坐標記作(xA,yA),B的中心點坐標記作(xB,yB),則q1、q2以及A、B中心位置的漢明距離D應滿足如下關系:

     wdz5-gs12.gif

3 硬件設計與實現

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

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

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

wdz5-t2.gif

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

4 實驗結果與分析

4.1 實驗環(huán)境

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

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

wdz5-b1.gif

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

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

wdz5-t3.gif

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

wdz5-b2.gif

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

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

wdz5-b3.gif

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

5 結論

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

參考文獻

[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] 林國川,何小海,李向群,等.基于感興趣區(qū)域的HEVC壓縮性能優(yōu)化[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] 曾鴻軍,沈燕飛,王毅.基于感興趣區(qū)域的頭像視頻前處理方法[J].計算機工程與應用,2017,53(6):188-192.

[7] 王建新,朱恩,劉文松,等.基于JPEG2000的遙感圖像感興趣區(qū)域編碼新算法及其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)

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