葉海雄,陶寧蓉,匡興紅,呂春峰,王世明,Lionel Lacassagne,Laurent Cabaret
(1.上海海洋大學(xué) 工程學(xué)院,上海201306;2.巴黎南大學(xué) 計(jì)算機(jī)學(xué)院,埃松 奧賽91405;3.巴黎皮埃爾和瑪麗居里大學(xué) 計(jì)算機(jī)學(xué)院,巴黎 朱西厄75006;4.巴黎中央學(xué)院 上塞納 謝特那馬拉比92295)
基于Catapult C高層次綜合工具平臺(tái)優(yōu)化運(yùn)動(dòng)檢測(cè)算法的研究
葉海雄1,2,陶寧蓉1,匡興紅1,呂春峰1,王世明1,Lionel Lacassagne3,Laurent Cabaret4
(1.上海海洋大學(xué) 工程學(xué)院,上海201306;2.巴黎南大學(xué) 計(jì)算機(jī)學(xué)院,埃松 奧賽91405;3.巴黎皮埃爾和瑪麗居里大學(xué) 計(jì)算機(jī)學(xué)院,巴黎 朱西厄75006;4.巴黎中央學(xué)院 上塞納 謝特那馬拉比92295)
以視頻監(jiān)控設(shè)備作為應(yīng)用背景,針對(duì)全自動(dòng)視頻監(jiān)控裝置能耗高的問題,在硬件SoC設(shè)計(jì)層面,通過利用Catapult C高層次綜合工具優(yōu)化視頻算法Sigma-Delta(ΣΔ)的方法以改善電路能耗。即在視頻圖像中提取有效背景與基準(zhǔn)背景進(jìn)行差分運(yùn)算,找出運(yùn)動(dòng)目標(biāo)區(qū)域并二值處理,使用形態(tài)學(xué)開運(yùn)算先腐蝕后膨脹操作以消除區(qū)域噪音。實(shí)驗(yàn)結(jié)果表明,在高層次綜合工具平臺(tái)上同時(shí)優(yōu)化硬件資源與軟件算法的方法,能使電路的性能提高9倍,能耗降低9.15倍,達(dá)到國際領(lǐng)先水平,滿足高性能、低能耗的視頻監(jiān)控電路設(shè)計(jì)要求。
視頻監(jiān)控;Catapult C;能耗;算法;Sigma-Delta
在高層次綜合平臺(tái)上設(shè)計(jì)超大規(guī)模硬件電路的研究作為一個(gè)挑戰(zhàn)性的前沿課題,涉及到計(jì)算機(jī)科學(xué)、集成電路、圖像信息、通訊工程等多學(xué)科領(lǐng)域。在此領(lǐng)域開展研究工作的意義在于[1]:運(yùn)用行為級(jí)抽象描述語言,通過高層次綜合工具自動(dòng)物理實(shí)現(xiàn)RTL級(jí)硬件描述語言[2]。該設(shè)計(jì)方法在確保電路性能的前提下,可有效減少設(shè)計(jì)的中間環(huán)節(jié),縮短研發(fā)時(shí)間,在算法層面預(yù)先優(yōu)化電路以使整個(gè)設(shè)計(jì)更加靈活。文獻(xiàn)[3-4]描述了高層次綜合工具Compaan,MMAlpha的編譯器具有展開循環(huán)和流水線[5-6]的軟件優(yōu)化功能。文獻(xiàn)[7-8]描述了在輸入語言為C語言的高層次綜合工具Gaut中,通過加入約束條件,工具自動(dòng)生成硬件描述語言VHDL,其優(yōu)勢(shì)在于可重用代碼、快速得到結(jié)果、迅速評(píng)估電路。文中以Catapult-C[9-11]高層次綜合工具平臺(tái)為核心,以優(yōu)化視頻監(jiān)控中常見的ΣΔ算法。整個(gè)電路硬件設(shè)計(jì)先建立定點(diǎn)型算法模型、確立構(gòu)架和約束資源條件、安排電路時(shí)序,其次生成RTL級(jí)代碼,最后在門級(jí)電路層面評(píng)估電路的面積和能耗。在Catapult C工具中,可以通過手工調(diào)整間距啟動(dòng)ii值的參數(shù)方式直接影響電路面積大小和速度快慢。通常ii值越小,表示沒有重用電子元件,即電路面積大,速度快。反之亦然。
1.1 ΣΔ算法與形態(tài)學(xué)后處理濾波算法
開發(fā)全自動(dòng)視頻監(jiān)控系統(tǒng)的關(guān)鍵在于快速建立可靠、魯棒的運(yùn)動(dòng)檢測(cè)算法。該算法不僅可區(qū)分出圖像序列的每一幀的背景像素(即對(duì)應(yīng)像素歸屬靜態(tài)場(chǎng)景,用‘0’表示)和相應(yīng)的前景像素(即運(yùn)動(dòng)物體用‘1’表示),而且能準(zhǔn)確地從背景中區(qū)分移動(dòng)區(qū)域?qū)ο蟮拇笮?。系統(tǒng)如果涉及到大量的數(shù)據(jù)處理,則需要花費(fèi)大量計(jì)算資源。為此,A.Manzanera與L.Lacassagne等人[12-14]提出一種基于背景差分技術(shù)的ΣΔ調(diào)制器的估算方法。其基本原理是通過使用ΣΔ調(diào)制來估算背景參數(shù)以檢測(cè)目標(biāo)圖像。在ΣΔ調(diào)制背景差分法中,It為當(dāng)前圖像,Mt為背景圖像,Ot指 Mt與 It絕對(duì)值之差,Vt為ΣΔ的協(xié)方差,N是協(xié)方差的放大倍數(shù),其選取范圍為1~4。通過計(jì)算,可得到二值輸出圖像Et的值,輸出0和1分別為前景和背景?;诒尘安罘值倪\(yùn)動(dòng)目標(biāo)檢測(cè)的具體步驟如下:
1)比較第t幀圖像與背景圖像:
2)在第t幀圖像與背景圖像之間,計(jì)算差分圖像Ot:
3)比較第t幀圖像的協(xié)方差值與放大N倍的差分圖像:
4)將運(yùn)動(dòng)目標(biāo)轉(zhuǎn)換成二值圖像Et:
5)在序列圖像中,運(yùn)動(dòng)目標(biāo)對(duì)應(yīng)一定尺度的連通區(qū)域,故對(duì)二值圖像進(jìn)行腐蝕、膨脹操作以消除該區(qū)域的噪聲,從而得到更加準(zhǔn)確的處理結(jié)果ES。
該檢測(cè)方法的優(yōu)勢(shì)在于操作簡(jiǎn)單、檢測(cè)迅速,能夠滿足視頻實(shí)時(shí)處理的需求,更為重要的是該計(jì)算只使用了比較、加法和絕對(duì)值差等算術(shù)運(yùn)算,相比高斯估計(jì)檢測(cè)方法[15],節(jié)約大量計(jì)算資源。
1.2 形態(tài)學(xué)后處理濾波算法的軟件優(yōu)化方法
形態(tài)學(xué)操作主要分為二進(jìn)制和灰度2類?;叶炔僮餍枰?jì)算最大值與最小值,對(duì)于一般編譯器而言,產(chǎn)生的條件語句會(huì)存在中斷流水線執(zhí)行的潛在風(fēng)險(xiǎn),故本文采用式(5)的SE 3x3二進(jìn)制結(jié)構(gòu),該結(jié)構(gòu)由膨脹、腐蝕、開操作基本運(yùn)算組成,具體運(yùn)算由‘與’和‘或’2個(gè)邏輯運(yùn)算組成。其結(jié)構(gòu)如圖1:
圖1 形態(tài)學(xué)后處理濾波結(jié)構(gòu)圖
該算法需要讀取源圖像中9個(gè)相鄰像素點(diǎn)a00、a01、a02、a10、a11、a12、a20、a21、a22的 值 以 計(jì) 算 新 圖 像 像 素點(diǎn)b11的值,源圖像與新圖像分別保存在不同的內(nèi)存中,所以如何合理重復(fù)使用源圖像相鄰像素點(diǎn)以計(jì)算新像素點(diǎn)是優(yōu)化算法的關(guān)鍵。為此,本文提出寄存器(Reg)算法、循環(huán)使用寄存器(Rot)算法與減少移位操作(Red)算法。算法由n*n的矩陣構(gòu)成,在計(jì)算機(jī)上實(shí)現(xiàn)該算法需要兩個(gè)嵌套的循環(huán)。Reg算法步驟如下,
1)在內(nèi)循環(huán)體內(nèi)依次讀取源圖像9個(gè)相鄰像素點(diǎn)的值;
2)計(jì)算新圖像像素點(diǎn)的值;
3)把計(jì)算的值保存到新內(nèi)存。
Rot算法步驟如下,
1)在外循環(huán)體內(nèi),從源圖像中分別讀取2組各3個(gè)相鄰像素點(diǎn)的值。
2)在內(nèi)循環(huán)體內(nèi)讀取剩余3個(gè)相鄰像素點(diǎn)的值;
3)計(jì)算新圖像像素點(diǎn)的值;
4)把計(jì)算的值保存到新內(nèi)存,
5)在內(nèi)循環(huán)體內(nèi),位移寄存器只需保存6個(gè)像素點(diǎn)的值用于下次計(jì)算。
Red算法步驟如下,
1)在外循環(huán)體內(nèi)從源圖像中分別讀取2組各3個(gè)相鄰像素點(diǎn)的值;
2)分別計(jì)算出2組各3個(gè)相鄰像素點(diǎn)的值3)在內(nèi)循環(huán)體內(nèi)讀取剩余相鄰像素點(diǎn)的值;4)計(jì)算新圖像像素點(diǎn)的值;
5)把計(jì)算的值保存到新內(nèi)存;
6)在內(nèi)循環(huán)體內(nèi),位移寄存器只需保存2個(gè)值用于下次計(jì)算。
相比Reg算法,Rot算法通過移位的方式減少數(shù)據(jù)的重復(fù)讀?。欢鳵ed算法優(yōu)勢(shì)在于從6次移位運(yùn)算減少到2次。
1.3 優(yōu)化硬件資源的方法
優(yōu)化硬件資源的方法是指增加讀取內(nèi)存數(shù)據(jù)通路的能力以達(dá)到降低能耗的目的。
優(yōu)化硬件資源方法由3種形式構(gòu)成。第1種雙門內(nèi)存 (DP),該內(nèi)存的數(shù)據(jù)讀寫通路比單門內(nèi)存(SP)大一倍。
第2種多個(gè)交錯(cuò)單門內(nèi)存(Interleaving Memories),如圖2,如果源圖像的行數(shù)是3的整數(shù)倍,以3個(gè)交錯(cuò)單門內(nèi)存為例,把源圖像像素點(diǎn)交錯(cuò)組合并重新分配到3個(gè)交錯(cuò)單門內(nèi)存中,每個(gè)交錯(cuò)單門內(nèi)存尺寸是原圖像大小的三分之一,然后3個(gè)移位寄存器分別從3個(gè)交錯(cuò)單門內(nèi)存依次讀取3組各3個(gè)像素點(diǎn),最后只需要計(jì)算移位寄存器中像素點(diǎn)的值。每完成一次計(jì)算后,寄存器里的值做一次移位操作并從各個(gè)交錯(cuò)單門內(nèi)存中讀取下一個(gè)像素點(diǎn)的值。如果源圖像行數(shù)不是3的整數(shù)倍,可以通過創(chuàng)建狀態(tài)機(jī)以控制移位寄存器從各個(gè)交錯(cuò)單門內(nèi)存讀取數(shù)據(jù)的先后次序,缺點(diǎn)是該狀態(tài)機(jī)會(huì)導(dǎo)致在硬件設(shè)計(jì)中電路面積和功耗方面額外的開銷。
第3種是多緩存結(jié)構(gòu),該算法需要同時(shí)做緩存自身的移位操作和移位寄存器的移位操作。如圖3,緩存的長(zhǎng)度與源圖像行的長(zhǎng)度一致,當(dāng)源圖像的像素點(diǎn)依次寫入3個(gè)緩存和移位寄存器分別讀取像素點(diǎn) a00、a01、a02、a10、a11、a12、a20、a21、a22后, 計(jì)算新像素點(diǎn)的值。每完成一次計(jì)算,移位寄存器做一次移位操作并從對(duì)應(yīng)的緩存中讀取下一個(gè)像素點(diǎn)的值,同時(shí)緩存自身也需要做一次移位操作,即第一行緩存中a20移位到第二行緩存中,第二行緩存a10移位到第三行緩存中,源圖像補(bǔ)充1個(gè)像素點(diǎn)到第一行緩存中。不足之處在于像素點(diǎn)依次寫入緩存需要一定的初始化時(shí)間。
圖2 3個(gè)交錯(cuò)單門內(nèi)存(3xSP)+移位寄存器的結(jié)構(gòu)
圖3 緩沖(CB)+寄存器移位的結(jié)構(gòu)
為了測(cè)試本文提出的優(yōu)化方法,實(shí)驗(yàn)在Intel多核CPU 3.2 GHz、Solaris Sun平臺(tái)上,使用ST公司的CMOS 65納米工藝庫和Synopsys公司Design Compile工具進(jìn)行仿真實(shí)驗(yàn)。得到電路面積、靜態(tài)功耗、動(dòng)態(tài)功耗、執(zhí)行時(shí)間、吞吐量等數(shù)據(jù)結(jié)果。通過計(jì)算總時(shí)間與總功耗的乘積再除以總像素點(diǎn),得到單位像素點(diǎn)的能耗,用cpp表示。
從圖表1中可以看出,相比Reg、Rot算法,Red算法在能耗方面有明顯的改善。一方面Red算法減少了移位操作,即減少了寄存器的面積和功耗;另一方面該算法的間距啟動(dòng)值最小,縮短電路的時(shí)間。3xSP Red算法可以使能耗節(jié)省9.15倍,速度提高9倍,但該算法不足在于先要拆分原圖像大小,然后重新把數(shù)據(jù)分配到3個(gè)新的交錯(cuò)內(nèi)存中,造成設(shè)計(jì)者額外的編寫代碼的時(shí)間開銷。CB+Red算法可以降低2.93倍的能耗,只需要加入多個(gè)緩存,而且保留原圖像的尺寸;在實(shí)際工作中,設(shè)計(jì)者可以選擇使用合適的算法進(jìn)行電路設(shè)計(jì)。
表1 ΣΔ和形態(tài)學(xué)后處理濾波算法的能耗
在采用Catapult C高級(jí)綜合工具平臺(tái)的基礎(chǔ)上,文中提出一種對(duì)ΣΔ和形態(tài)學(xué)濾波算法及優(yōu)化方法,以評(píng)估視頻監(jiān)測(cè)電路的能耗。實(shí)驗(yàn)結(jié)果表明,通過算法優(yōu)化,電路在速度和能耗方面有明顯的改善,達(dá)到了綠色環(huán)保、節(jié)能減排效果。下一步工作將對(duì)該算法在DSP C66x、ARM Neon上的能耗與面積進(jìn)一步研究,以評(píng)估不同工具對(duì)運(yùn)動(dòng)檢測(cè)方法的能耗的影響。
[1]Walker R A,Camposano R.A Survey of High-Level Synthesis Systems[M].Berlin:Springer,2009.
[2]Coussy P,Gajski D D,Meredith M,et al.An Introduction to High-Level Synthesis[J].IEEE Design&Test of Computers,2009,26(4):8-17.
[3]Stefanov T,Zissulescu C,Turjan A,et al.System Design Using Kahn Process Networks:The Compaan/Laura Approach[C]//Design,Automation&Test in Europe Conference&ExhibitionIEEE Computer Society.2004:10340-10340.
[4]Mozipo A L T,Massicotte D,Quinton P,et al.A parallel architecture for adaptive channel equalization based on Kalman filter using MMAlpha [C]//IEEE Canadian Conferenceon Electrical&Computer Engineering,1999:554-559.
[5]Kennedy K,Allen J R.Optimizing compilers for modern architectures: a dependence -based approach[M].San Francisco:Morgan Kaufmann Publishers,2002.
[6]Amar A,Boulet P,Dumont P.Projection of the Array-OL specification languag e onto the Kahn process network computation model[J].Proceedings of the International Symposium on Parallel Architectures,Algorithms and Networks,I-SPAN,2006(5):496-503.
[7]Coussy P,Morawiec A.High-Level Synthesis:from Algorithm to Digital Circuit[M].Berlin:Springer Publishing Company,2010.
[8]Coussy P,Heller D,Chavet C.High-Level Synthesis:On the path to ESL design[C]//IEEE International Conference on Asic.IEEE,2011:1098-1101.
[9]Fingeroff M.High-Level Synthesis Blue Book[M].Xlibris Corporation,2010.
[10]李楊.基于 Catapult C Synthesis的圖像校正算法設(shè)計(jì)[J].電子測(cè)量技術(shù),2016,39(7):92-95.
[11]謝正,張開鋒.基于Catapult C的DCT算法設(shè)計(jì)[J].信息化研究,2011,37(4):42-45.
[12]Manzanera A.Σ-Δ background subtraction and the Zipf law[C]//Congress on Pattern Recognition,Iberoamerican Conference on Progress in Pattern Recognition,Image Analysis and Applications.Springer-Verlag,2007:42-51.
[13]Lacassagne L,Manzanera A,Denoulet J,et al.High performance motion detection:some trends toward new embedded architectures forvision systems [J].Journal of Real-Time Image Processing,2009,4(2):127-146.
[14]Manzanera A, Richefeu J.A robust and computationally efficient motion detection algorithm based on sigma-delta background estimation[J].Collection of Czechoslovak Chemical Communications,2010,47(2):702-708.
[15]Shin D H,Park R H,Yang S,et al.Block-based noise estimation using adaptive Gaussian filtering[J].IEEE Transactions on Consumer Electronics,2005,51(1):263-264.
Optimization motion detection algorithm based on Catapult C high-level synthesis tool platform
YE Hai-xiong1,2,TAO Ning-rong1,KUANG Xing-hong1,LV Chun-feng1,WANG Shi-ming3,Lionel Lacassagne3,Laurent Cabaret4
(1.Department of Engineering Science and Technology,Shanghai Ocean University,Shanghai 201306,China; 2.Laboratoire Recherche d'informatique,Paris Sud University,Orsay 91405,F(xiàn)rance; 3.Pierre and Marie-Curry University,LIP6,Jussieu 75006,F(xiàn)rance; 4.Ecole Centrale de Paris,Haut-de-Seine,Chatenay-Malabry 92295,F(xiàn)rance)
Based on the video monitoring system applications,for the massive energy consumption in full automatic video surveillance,this paper presented a designing the video surveillance hardware circuit method based on Catapult C high level synthesis tool platform.We extract the efficient background from the frames in video steam and use the background subtraction respectively in order to find the binary moving targets.Then we use the morphological open erosion and dilation operation to filter noises.The experimental results show that the circuit is 9 times faster and the energy consumption saving is 9.15 times.Both hardware and software algorithm optimization achieve fully high performance and low power requirement.
video surveillance;Catapult C;energy consumption;algorithm;Sigma-Delta
TN4
:A
:1674-6236(2017)14-0001-04
2016-09-08稿件編號(hào):201609082
國家自然科學(xué)基金項(xiàng)目 (71501125);上海市青年教師高校新進(jìn)教師培訓(xùn)及科研啟動(dòng)基金(ZZHY14033);上海海洋大學(xué)博士科研啟動(dòng)基金
葉海雄(1982—),男,浙江象山人,博士,講師。研究方向:信號(hào)、圖像處理、嵌入式系統(tǒng)、ASIC和SoC方向。