《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設(shè)計(jì)
基于FPGA的HEVC感興趣區(qū)域編碼算法研究與設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第7期
李 申1,嚴(yán) 偉2,夏 珺1,崔正東2,柴志雷1
1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫214122;2.北京大學(xué) 軟件與微電子學(xué)院,北京102600
摘要: 為了在保證視頻質(zhì)量的前提下降低視頻編碼碼率,基于FPGA并行處理和HEVC視頻分塊編碼的特點(diǎn),提出一種基于塊匹配的高斯背景建模-感興趣區(qū)域(ROI)映射算法,并用于HEVC視頻編碼。通過(guò)基于塊匹配的高斯方法建立背景幀后,利用SAD判別準(zhǔn)則對(duì)視頻幀的編碼塊進(jìn)行二分類(lèi),進(jìn)而映射到編碼樹(shù)單元(CTU);然后根據(jù)率失真特性對(duì)ROI區(qū)域和非ROI區(qū)域的量化參數(shù)進(jìn)行自適應(yīng)調(diào)整,并進(jìn)入后續(xù)的HEVC編碼過(guò)程。實(shí)驗(yàn)結(jié)果表明,在FPGA平臺(tái)上該算法運(yùn)行速度高達(dá)22 fps@ 1080 p;建模后提取的ROI映射CTU區(qū)域變質(zhì)量編碼可得到平均約10%的碼率節(jié)省,視頻質(zhì)量保持穩(wěn)定。
中圖分類(lèi)號(hào): TN919.8
文獻(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.
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相比,新一代視頻壓縮標(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á)式為:

wdz5-gs1-4.gif

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。

    wdz5-gs5.gif

    其基本步驟描述如下:

    步驟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所示。

wdz5-t1.gif

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最小,即:

wdz5-gs6-8.gif

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

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

wdz5-gs9-10.gif

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

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

    wdz5-gs11.gif

2.2 集成ROI提取的HEVC編碼

    本文將ROI區(qū)域送入HEVC編碼器中進(jìn)行變質(zhì)量編碼。為了防止ROI區(qū)域與周?chē)荝OI區(qū)域的編碼參數(shù)差異過(guò)大造成明顯的方塊效應(yīng),本文利用非線(xiàn)性補(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)系:

     wdz5-gs12.gif

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所示。

wdz5-t2.gif

    原始視頻數(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。

wdz5-b1.gif

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)象),算法具備一定的魯棒性。

wdz5-t3.gif

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

wdz5-b2.gif

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所示。

wdz5-b3.gif

    從表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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。