文獻(xiàn)識(shí)別碼: A
DOI:10.16157/j.issn.0258-7998.180233
中文引用格式: 李申,嚴(yán)偉,夏珺,等. 基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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.
0 引言
與H.264/AVC相比,新一代視頻壓縮標(biāo)準(zhǔn)H.265/HEVC能夠在相同的圖像質(zhì)量下實(shí)現(xiàn)更低的碼率,即更高的壓縮比[1]。由于人眼的視覺(jué)特性,在動(dòng)態(tài)碼率編碼過(guò)程中,不同區(qū)域的碼率分配是研究中的一個(gè)關(guān)鍵問(wèn)題。如果能夠在編碼過(guò)程中將視頻劃分為感興趣區(qū)域(Region of Interest,ROI)和普通區(qū)域,動(dòng)態(tài)調(diào)整二者的碼率分配,則可以在相同甚至更低的碼率下得到更好的主觀視頻質(zhì)量,從而增強(qiáng)用戶(hù)體驗(yàn)[2-6]。ROI區(qū)域的提取速度和質(zhì)量對(duì)編碼算法影響很大,因此實(shí)現(xiàn)低復(fù)雜度、高質(zhì)量的ROI區(qū)域提取,并針對(duì)H.265/HEVC視頻編碼的自身特點(diǎn)進(jìn)行碼率的分配尤為重要。
文獻(xiàn)[7]將ROI提取及碼率分配方法用于JPEG 2000靜止圖像壓縮,提升了ROI區(qū)域的圖像質(zhì)量并取得了較好的碼率節(jié)省效果,并利用FPGA對(duì)ROI的提取進(jìn)行了VLSI硬件設(shè)計(jì),從而在不顯著提高圖像編碼時(shí)間的前提下得到了滿(mǎn)意的效果,但該系統(tǒng)只能用于靜止圖像編碼;文獻(xiàn)[2-6]均提出了基于ROI的H.265/HEVC碼率控制即壓縮性能優(yōu)化方法,并取得了一定成效。文獻(xiàn)[2-4]的研究表明雖然H.265/HEVC編碼標(biāo)準(zhǔn)已經(jīng)在一定程度上較H.264/AVC標(biāo)準(zhǔn)降低了碼率,但ROI區(qū)域碼率控制對(duì)于最新的HEVC標(biāo)準(zhǔn)同樣起作用,但未考慮ROI提取算法復(fù)雜度對(duì)編碼速率帶來(lái)的影響;文獻(xiàn)[8-9]利用高斯背景模型建立虛擬背景幀,降低了H.265/HEVC編碼的碼率,但未考慮針對(duì)人眼特性的ROI變質(zhì)量編碼,也未考慮背景幀建立效率對(duì)編碼器速率的影響。
本文基于視頻編碼算法分塊進(jìn)行的特點(diǎn)和FPGA的細(xì)粒度并行特性,提出了基于塊匹配的高斯背景建模-ROI映射方法,并利用HLS工具在FPGA平臺(tái)上進(jìn)行了算法的硬件實(shí)現(xiàn)與驗(yàn)證。FPGA處理速度達(dá)到22 fps@1 080 p,對(duì)ROI映射CTU區(qū)域進(jìn)行變質(zhì)量編碼,可得到平均10%左右的碼率節(jié)省,視頻總體質(zhì)量保持穩(wěn)定。
1 高斯背景建模及其面向視頻編碼的改進(jìn)
1.1 基于像素的高斯背景建模的基本原理
高斯背景建模是一種基于概率模型的背景建模方法,傳統(tǒng)的高斯背景建模算法是以像素為單位的。數(shù)字視頻中的一幀圖像可以看作是對(duì)于時(shí)空位置(x,y,t)的二維離散函數(shù)f(x,y,t),在給定色彩空間的給定通道下,對(duì)于給定的(x0,y0,t0),f僅有唯一值;對(duì)于給定的時(shí)間t0,f可看成是一個(gè)二維隨機(jī)場(chǎng),一般認(rèn)為其為平穩(wěn)隨機(jī)場(chǎng)。
從統(tǒng)計(jì)學(xué)角度來(lái)看,前景物體的出現(xiàn)與運(yùn)動(dòng)是暫時(shí)的、突發(fā)性的,而背景則是長(zhǎng)期的、具備一定穩(wěn)定性的,對(duì)于時(shí)間t來(lái)說(shuō),給定(x0,y0),f(x0,y0,t)滿(mǎn)足一定的概率分布,通常符合高斯分布。
高斯背景模型的表達(dá)式為:
1.2 基于塊匹配高斯背景建模-ROI映射算法
由原始高斯背景模型的表達(dá)式可知,基于像素的高斯背景建模算法需要進(jìn)行大量的復(fù)雜浮點(diǎn)計(jì)算,一般要經(jīng)過(guò)數(shù)百幀才能完成模型的建立,導(dǎo)致算法耗時(shí)很高且不適合進(jìn)行硬件實(shí)現(xiàn)。
高斯背景建模方法僅考慮了同一位置像素點(diǎn)的時(shí)間相關(guān)性,并且將所有的像素看作是孤立的點(diǎn),一方面需要進(jìn)行大量的重復(fù)性計(jì)算,另一方面在背景產(chǎn)生變化時(shí),會(huì)產(chǎn)生“虛警”現(xiàn)象。
視頻序列中存在空間冗余、時(shí)間冗余和知識(shí)冗余等。針對(duì)一幀圖像空間上的冗余,視頻編碼算法中采用分塊方式進(jìn)行幀內(nèi)預(yù)測(cè),對(duì)預(yù)測(cè)值與原始值的殘差進(jìn)行變換編碼和量化編碼,達(dá)到視頻壓縮的目的。
本文使用塊匹配方式取代原高斯背景建模的像素匹配和更新方式,提出基于塊匹配的高斯背景建模-ROI提取算法。一方面,基于塊進(jìn)行背景建模計(jì)算可以避免基于像素算法過(guò)程中的大量運(yùn)算;另一方面,基于塊進(jìn)行高斯背景建??梢詫⒈尘敖⑴c視頻編碼塊的劃分統(tǒng)一起來(lái)。
利用高斯建模建立背景后,將新的視頻幀分塊,根據(jù)SAD判別準(zhǔn)則進(jìn)行前景塊與背景塊的判定,SAD判別的表達(dá)式如式(5)所示。其中B表示已經(jīng)建立好的背景塊,C表示當(dāng)前視頻幀對(duì)應(yīng)位置的像素塊,本文中N取8。
其基本步驟描述如下:
步驟1:視頻塊劃分。按N×N尺度將原始視頻劃分成若干個(gè)不相交的子區(qū)域。
步驟2:模型初始化。針對(duì)分塊區(qū)域,初始化高斯模型的基本參數(shù)μ、σ、λ、α。
步驟3:幀計(jì)數(shù)判定。讀入視頻,若視頻幀數(shù)滿(mǎn)足更新周期p,則進(jìn)入步驟4,否則進(jìn)入步驟5。
步驟4:模型更新。更新分塊背景模型。
步驟5:前背景判定。根據(jù)SAD判別準(zhǔn)則,劃分前景與背景。
步驟6:ROI區(qū)域映射。依據(jù)前景塊分布,對(duì)視頻中的CTU進(jìn)行映射。本文中設(shè)定HEVC CTU尺度為32×32,映射結(jié)果將送入H.265/HEVC編碼器。
算法流程如圖1所示。
2 基于率失真優(yōu)化的ROI區(qū)域自適應(yīng)編碼
2.1 面向ROI區(qū)域的率失真優(yōu)化
為了降低碼率同時(shí)達(dá)到較好的圖像質(zhì)量,率失真優(yōu)化可以定義為如下優(yōu)化問(wèn)題:在碼率R≤Rmax時(shí),通過(guò)調(diào)整編碼算法使得失真D最小,即:
式(8)通常被用作RDO的依據(jù),但事實(shí)上往往編碼塊之間不相互獨(dú)立,從而導(dǎo)致求得的值為局部最優(yōu)解。
本文通過(guò)ROI區(qū)域的劃分,假設(shè)在一幀中ROI區(qū)域與非ROI區(qū)域獨(dú)立同分布,則率失真優(yōu)化函數(shù)可描述為:
由于式(9)考慮到了編碼塊的相關(guān)性問(wèn)題,能夠在一定程度上避免陷入局部最優(yōu),分析可知,式(9)將比式(8)得到更優(yōu)解。
進(jìn)一步地,從主觀視頻質(zhì)量出發(fā),人眼期望ROI區(qū)域能夠有更好的視頻質(zhì)量,因此,本文在實(shí)現(xiàn)過(guò)程中加入限制條件:
2.2 集成ROI提取的HEVC編碼
本文將ROI區(qū)域送入HEVC編碼器中進(jìn)行變質(zhì)量編碼。為了防止ROI區(qū)域與周?chē)荝OI區(qū)域的編碼參數(shù)差異過(guò)大造成明顯的方塊效應(yīng),本文利用非線性補(bǔ)償對(duì)量化參數(shù)進(jìn)行了調(diào)整,具體做法如下。
記ROI區(qū)域所在的編碼塊A的量化參數(shù)為q1,在其附近的非ROI區(qū)域中編碼塊B的量化參數(shù)為q2,A的中心點(diǎn)坐標(biāo)記作(xA,yA),B的中心點(diǎn)坐標(biāo)記作(xB,yB),則q1、q2以及A、B中心位置的漢明距離D應(yīng)滿(mǎn)足如下關(guān)系:
3 硬件設(shè)計(jì)與實(shí)現(xiàn)
為了說(shuō)明本文方法的有效性,將基于塊匹配的高斯背景建模-ROI算法進(jìn)行了硬件實(shí)現(xiàn)并嵌入到HEVC編碼的過(guò)程之中。
本文利用高層次綜合(High Level Synthesis,HLS)工具,基于Xilinx MPSoC平臺(tái)ZCU102進(jìn)行了基于背景建模的ROI區(qū)域映射與自適應(yīng)編碼的硬件設(shè)計(jì)。HLS工具可以將C/C++語(yǔ)言的高層次描述映射為硬件描述語(yǔ)言(VHDL或Verilog),提高開(kāi)發(fā)效率。
硬件包括3個(gè)模塊,分別為:背景建立、背景更新、ROI判定與映射,最終將映射結(jié)果送入視頻編碼器。其基本結(jié)構(gòu)如圖2所示。
原始視頻數(shù)據(jù)緩存在DDR中,在FPGA內(nèi)部通過(guò)行緩存加快存取速率,視頻數(shù)據(jù)多路選擇器在幀計(jì)數(shù)器的控制下,將視頻送入不同的處理單元,將ROI區(qū)域映射到H.265標(biāo)準(zhǔn)中的編碼樹(shù)單元(CTU),映射結(jié)果送入H.265編碼器。在編碼器中,根據(jù)區(qū)域性質(zhì)進(jìn)行ROI自適應(yīng)的QP調(diào)整,最終將編碼后生成的碼流寫(xiě)回DDR。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)環(huán)境
本文基于Xilinx ZCU102嵌入式開(kāi)發(fā)平臺(tái)進(jìn)行了實(shí)驗(yàn)。ZCU102搭載了Zynq UltraScale XCZU9EG-2FFVB1156 FPGA芯片。該芯片內(nèi)部架構(gòu)主要包括處理器系統(tǒng)(Processing System,PS)和可編程邏輯(Programmable Logic,PL)兩部分。
其中PL端硬件資源消耗情況如表1所示??紤]到一定的伸縮性,硬件設(shè)計(jì)中圖像的分辨率可以進(jìn)行配置,最高分辨率為1 920×1 080。
4.2 背景建模效果與ROI映射結(jié)果
圖3為基于FPGA的背景建模和ROI映射結(jié)果。所用序列為HEVC標(biāo)準(zhǔn)測(cè)試序列BasketballDrill_832×480_50.yuv。圖3(a)為視頻序列的第201幀,圖3(b)為利用前200幀建模得到的背景幀,圖3(c)為針對(duì)HEVC CTU的映射結(jié)果,其中白色區(qū)域?yàn)橛成涞玫降腞OI區(qū)域??梢钥闯鲆曨l中運(yùn)動(dòng)的人物被準(zhǔn)確映射到以CTU大小為邊界的區(qū)域中。觀察原始視頻序列可知,原始視頻序列中的背景區(qū)域隨時(shí)間變化有變動(dòng)(如籃筐會(huì)隨籃球撞擊而抖動(dòng)等),但這些變動(dòng)并未對(duì)ROI區(qū)域的映射造成影響(即未出現(xiàn)“虛警”現(xiàn)象),算法具備一定的魯棒性。
表2為不同分辨率下進(jìn)行處理的速度對(duì)比,PL部分的時(shí)鐘頻率為120 MHz。由表可知本文設(shè)計(jì)在1 920×1 080的分辨率下仍可達(dá)到較高的實(shí)時(shí)性。
4.3 嵌入ROI碼率控制的HEVC視頻編碼性能評(píng)估
為了進(jìn)一步說(shuō)明嵌入ROI區(qū)域后HEVC編碼的有效性,本文對(duì)HEVC編碼器的編碼結(jié)果進(jìn)行了實(shí)驗(yàn)驗(yàn)證。分別選取不同分辨率和不同場(chǎng)景下的測(cè)試序列,計(jì)算總體碼率及PSNR的變化情況,結(jié)果如表3所示。
從表3可以看出,采用本文提出的背景建模-ROI映射算法進(jìn)行碼率控制,編碼后圖像總體的PSNR沒(méi)有較大變化,但是碼率有了平均10%左右的節(jié)省,從而驗(yàn)證了本文算法在對(duì)碼率控制的有效性。
5 結(jié)論
基于視頻編碼算法分塊進(jìn)行的特點(diǎn),本文提出一種基于塊的高斯背景建模-ROI映射方法,通過(guò)HLS方法在FPGA上實(shí)現(xiàn),并用于H.265/HEVC視頻編碼。實(shí)驗(yàn)結(jié)果表明,在FPGA平臺(tái)上該算法運(yùn)行速度較快,可以有效地集成到H.265/HEVC硬件編碼器中;在H.265/HEVC中對(duì)提取ROI區(qū)域進(jìn)行變質(zhì)量編碼,可得到平均約10%的碼率節(jié)省,總體的視頻質(zhì)量保持穩(wěn)定。
參考文獻(xià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] 林國(guó)川,何小海,李向群,等.基于感興趣區(qū)域的HEVC壓縮性能優(yōu)化[J].電訊技術(shù),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].計(jì)算機(jī)工程與應(yīng)用,2017,53(6):188-192.
[7] 王建新,朱恩,劉文松,等.基于JPEG2000的遙感圖像感興趣區(qū)域編碼新算法及其VLSI設(shè)計(jì)[J].電子與信息學(xué)報(bào),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,嚴(yán) 偉2,夏 珺1,崔正東2,柴志雷1
(1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫214122;2.北京大學(xué) 軟件與微電子學(xué)院,北京102600)