国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Vivado HLS的Down Scaler視頻系統(tǒng)設(shè)計(jì)

2016-03-20 09:14:40
關(guān)鍵詞:視頻流鏡像運(yùn)算

安 航

(西安電子科技大學(xué)微電子學(xué)院,西安710126)

基于Vivado HLS的Down Scaler視頻系統(tǒng)設(shè)計(jì)

安 航

(西安電子科技大學(xué)微電子學(xué)院,西安710126)

介紹一種基于FPGA的Down Scaler視頻系統(tǒng)設(shè)計(jì)。系統(tǒng)的核心部件采用Xilinx Kintex-7的板載XC7K325T芯片,系統(tǒng)設(shè)計(jì)使用Vivado工具,包括使用Vivado HLS進(jìn)行Down Scaler模塊設(shè)計(jì)。首先按照Vivado HLS的代碼規(guī)范進(jìn)行Down Scaler模塊的C/C++代碼編寫,然后利用編譯工具生成RTL級(jí)代碼和綜合結(jié)果Down Scaler IP核,最后將Down Scaler IP核與TPG、VDMA等Xilinx視頻IP核互連,構(gòu)建實(shí)時(shí)視頻系統(tǒng)。在滿足實(shí)時(shí)性要求和FPGA資源消耗要求的條件下,該設(shè)計(jì)實(shí)現(xiàn)了對(duì)Down Scaler視頻算法從PC端軟件處理方式向FPGA平臺(tái)硬件處理方式的移植。

Vivado HLS;FPGA;Down Scaler;高層次綜合

引 言

在電子設(shè)計(jì)自動(dòng)化領(lǐng)域,高層次綜合工具變得越來(lái)越受歡迎,其能夠?qū)/C++、SystemC、Matlab等高級(jí)語(yǔ)言的函數(shù)轉(zhuǎn)譯成RTL級(jí)的代碼,這一功能將數(shù)字電路設(shè)計(jì)的抽象層進(jìn)一步提升。隨著嵌入式系統(tǒng)復(fù)雜程度的增加,高層次綜合工具開始深入電子系統(tǒng)尤其是嵌入式系統(tǒng)的設(shè)計(jì)流程。本文介紹一種基于Xilinx公司的高層次綜合工具Vivado HLS的Down Scaler視頻系統(tǒng)設(shè)計(jì)。

1 高層次綜合概述

在過(guò)去20年,占主導(dǎo)地位的電子設(shè)計(jì)流程中,硬件設(shè)計(jì)人員需要手工完成從系統(tǒng)功能指標(biāo)到RTL級(jí)代碼的所有工作。如今,這樣的設(shè)計(jì)流程開始變得困難,因?yàn)樵絹?lái)越多的功能可以被集成在一個(gè)芯片上,按照傳統(tǒng)的設(shè)計(jì)流程,開發(fā)人員獨(dú)自一人完成所有的功能變得越發(fā)困難,但因?yàn)樵O(shè)計(jì)功能的增多而增加設(shè)計(jì)團(tuán)隊(duì)的人員數(shù)量,從經(jīng)濟(jì)角度上看是不可行的,這意味著設(shè)計(jì)生產(chǎn)率必須有所提高。高層次綜合能夠通過(guò)從算法層到RTL層的自動(dòng)化來(lái)提高設(shè)計(jì)生產(chǎn)率,從圖1(b)中可以看到,應(yīng)用高層次綜合,系統(tǒng)設(shè)計(jì)從功能指標(biāo)到自動(dòng)化設(shè)計(jì)流程開端的距離縮短了。

在設(shè)計(jì)流程中,應(yīng)用高層次綜合工具能夠給設(shè)計(jì)工作帶來(lái)以下便利:首先,需要設(shè)計(jì)人員編寫的代碼量顯著減少,在縮短開發(fā)周期的同時(shí)降低了錯(cuò)誤率。其次,在如今的產(chǎn)品開發(fā)過(guò)程中,驗(yàn)證所需的時(shí)間往往超過(guò)設(shè)計(jì)的時(shí)間,使用高層次綜合工具能夠縮短驗(yàn)證時(shí)間,在高層次綜合工具生成設(shè)計(jì)代碼的同時(shí),還能夠同時(shí)生成測(cè)試平臺(tái)代碼,可以直接通過(guò)測(cè)試數(shù)據(jù)來(lái)驗(yàn)證設(shè)計(jì)代碼是否正確。

2 Down Scaler模塊設(shè)計(jì)

傳統(tǒng)的Down Scaler運(yùn)算是在PC架構(gòu)下進(jìn)行的,以湯姆遜視頻網(wǎng)絡(luò)公司的產(chǎn)品THVN VS7000為例,其中的Down Scaler模塊是PC服務(wù)器中的一個(gè)C++應(yīng)用程序,在進(jìn)行運(yùn)算處理前,視頻流的獲取通過(guò)一塊Black Magic板卡來(lái)實(shí)現(xiàn),其接收到的每一幀圖像的像素信息通過(guò)PCI-e傳輸?shù)絇C服務(wù)器。服務(wù)器首先將像素信息存儲(chǔ)在3個(gè)不用的內(nèi)存空間Y、U、V,之后應(yīng)用程序Down Scaler對(duì)這3個(gè)空間的像素信息進(jìn)行運(yùn)算處理。本文描述的設(shè)計(jì)目標(biāo)是使用FPGA中的一個(gè)Down Scaler IP核實(shí)現(xiàn)對(duì)視頻流的“硬件處理”,代替?zhèn)鹘y(tǒng)PC端的Down Scaler C++程序?qū)D像進(jìn)行“軟件處理”的方案,從而取消完整幀像素信息Y、U、V成分的預(yù)儲(chǔ)存步驟。

圖1 高層次綜合的Gasjki-Kuhn Y-chart圖描述[1]

2.1 模塊參數(shù)要求

視頻的縮小比例為2/3,像素的相位數(shù)為2,根據(jù)相位數(shù)、亮度色度、水平豎直的不同情況,共計(jì)有8個(gè)濾波窗,每個(gè)濾波窗包含11個(gè)參數(shù),由Lanczos算法提前計(jì)算確定,“鏡像”處理針對(duì)圖像邊緣的5個(gè)像素點(diǎn)進(jìn)行。

2.2 模塊設(shè)計(jì)關(guān)鍵點(diǎn)

2.2.1 計(jì)算單元

根據(jù)參數(shù)要求,Down Scaler模塊包括兩種BRAM計(jì)算單元,分別是Window和Linebuffer。Window是一個(gè)一維存儲(chǔ)空間,用來(lái)存儲(chǔ)11個(gè)像素點(diǎn),Linebuffer是一個(gè)二維存儲(chǔ)空間,用來(lái)存儲(chǔ)11行像素點(diǎn)。Linebuffer在每一個(gè)工作頻率上接收新的輸入像素,之前的像素在每一個(gè)工作頻率上向存儲(chǔ)空間的下方移動(dòng)一個(gè)位置,即最新接收的像素點(diǎn)總是存儲(chǔ)在Linebuffer中的初始位置。當(dāng)Linebuffer填滿后,Downscaling運(yùn)算開始,即通過(guò)Window存儲(chǔ)11個(gè)采樣像素,并對(duì)像素信息進(jìn)行濾波運(yùn)算。相比存儲(chǔ)一幀完整圖像后再進(jìn)行運(yùn)算的“軟件處理”方式,通過(guò)使用Linebuffer和Window作為“硬件處理”方式的存儲(chǔ)單元大幅降低了模塊對(duì)存儲(chǔ)空間的需求?!败浖幚怼焙汀坝布幚怼盌own Scaler模塊的計(jì)算單元大小對(duì)比如表1所列。

表1 “軟件處理”和“硬件處理”Down Scaler模塊的計(jì)算單元大小對(duì)比

2.2.2 像素信息計(jì)算和鏡像運(yùn)算整合

與傳統(tǒng)Down Scaler算法對(duì)像素分量Y、U、V進(jìn)行區(qū)分后再做鏡像、濾波運(yùn)算不同,本文中的Down Scaler對(duì)輸入的像素點(diǎn)信息直接進(jìn)行鏡像和濾波運(yùn)算,這樣做是為了簡(jiǎn)化IP結(jié)構(gòu),更好地適應(yīng)AXI4-Stream協(xié)議[2]。另外,傳統(tǒng)Down Scaler算法包含4個(gè)串行過(guò)程,分別是水平鏡像、水平縮小、豎直鏡像和豎直縮小,使用Vivado HLS工具的Dataflow模式將串行過(guò)程并行執(zhí)行后,在不改變模塊工作頻率的條件下,只能夠滿足對(duì)1920×1080P/25 fps的視頻進(jìn)行實(shí)時(shí)運(yùn)算。為了進(jìn)一步提高運(yùn)算性能,需要進(jìn)一步降低運(yùn)算過(guò)程之間的數(shù)據(jù)依賴性。新的算法只包含兩個(gè)縮小過(guò)程,即水平縮小和豎直縮小,鏡像運(yùn)算被整合在縮小運(yùn)算中,并且只在需要的時(shí)刻進(jìn)行。對(duì)鏡像運(yùn)算的整合雖然增加了算法編寫的復(fù)雜程度,但是縮短了過(guò)程間的數(shù)據(jù)傳輸鏈路,使設(shè)計(jì)最終能夠達(dá)到性能參數(shù)要求,滿足對(duì)1920×1080P/60 fps的視頻進(jìn)行實(shí)時(shí)運(yùn)算。

3 視頻系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)參數(shù)要求

輸入視頻流為全高清視頻、1920×1080P/60 fps、YUV4:4:4格式,輸出視頻流為高清視頻、1080×720P/60 fps、YUV4:4:4格式,要求Down Scaler模塊的工作頻率等于輸入視頻像素頻率,即148.5 MHz。

3.2 Down Scaler視頻系統(tǒng)搭建

實(shí)時(shí)視頻系統(tǒng)架構(gòu)可以分為兩大類,一類是不含幀緩存模塊的系統(tǒng),另一類是包含幀緩存模塊的系統(tǒng),本文中的Down Scaler視頻系統(tǒng)屬于第二類架構(gòu)。

根據(jù)圖2所示的系統(tǒng)架構(gòu),使用IP integrator搭建的Down Scaler視頻系統(tǒng),該系統(tǒng)用到以下IP核:

①Test Pattern Generator[3]——Xilinx IP核,用來(lái)產(chǎn)生不同格式的輸入視頻流;

②Down Scaler——Vivado HLS生成的IP核;

③AXI Video Direct Memory Access[4]、AXI Interconnect[5]、MIG 7 Series[6]——XilinxIP核,用來(lái)在DDR內(nèi)存中構(gòu)建幀緩存器;

④Clocking Wizard[7]——Xilinx IP核,用來(lái)生成系統(tǒng)時(shí)鐘信號(hào);

⑤Proc Sys Reset——Xilinx IP核,用來(lái)生成系統(tǒng)重置信號(hào);

⑥Video In to AXI4-S[8]、AXI4-S to Video Out[9]——Xilinx IP核,用來(lái)進(jìn)行AXI4-Stream和視頻協(xié)議轉(zhuǎn)換;

⑦VTC(Video Timing Controller[10])——Xilinx IP核,用來(lái)檢測(cè)輸入視頻時(shí)鐘周期和產(chǎn)生輸出視頻時(shí)鐘周期。

圖2 Down Scaler視頻系統(tǒng)架構(gòu)

至此,一個(gè)基于Vivado HLS的Down Scaler視頻系統(tǒng)設(shè)計(jì)完成。

結(jié) 語(yǔ)

本設(shè)計(jì)選取Xilinx Kintex-7評(píng)估板作為開發(fā)平臺(tái),使用高層次綜合工具Vivado HLS進(jìn)行Down Scaler模塊的設(shè)計(jì)、仿真和驗(yàn)證,使用Vivado進(jìn)行實(shí)時(shí)視頻系統(tǒng)構(gòu)建,在滿足實(shí)時(shí)性要求和FPGA資源消耗要求下,實(shí)現(xiàn)了對(duì)Down Scaler視頻算法從PC端軟件處理向FPGA平臺(tái)硬件處理的移植。經(jīng)測(cè)試,由TPG生成的1080P視頻流經(jīng)過(guò)本文設(shè)計(jì)的Down Scaler系統(tǒng),成功輸出了720P視頻流,Down Scaler的性能滿足了設(shè)計(jì)要求。

隨著系統(tǒng)設(shè)計(jì)和算法日益復(fù)雜,新的設(shè)計(jì)方法——高層次綜合開始出現(xiàn)并將逐漸取代傳統(tǒng)的硬件系統(tǒng)設(shè)計(jì)方法,成為系統(tǒng)設(shè)計(jì)的主流方式。未來(lái)的設(shè)計(jì)者可以從算法的角度直接下降到硬件平臺(tái)來(lái)完成硬件開發(fā),對(duì)于復(fù)雜的算法,這一方法將大幅縮短開發(fā)周期,顯著降低代碼量,同時(shí)也為算法工程師和軟件工程師打開了硬件設(shè)計(jì)的大門。

[1]Wim Meeus,Kristof Van Beeck,Toon Goedemé,et al.An overview of today’s high-level synthesis tools[J].Design Automation for Embedded System,2012,16(3):31-51.

[2]ARM.AMBA 4 AXI4-Stream Protocol Specification[EB/ OL].[2016-05].http://infocenter.arm.com/help/index. jsp?topic=/com.arm.doc.ihi0051a/index.html.

[3]Xilinx.LogiCORE IP Test Pattern Generator v5.0[EB/OL]. [2016-05].http://www.xilinx.com/support/answers/ 56929.html.

[4]Xilinx.LogiCORE IP AXI Video Direct Memory Access v6.0 [EB/OL].[2016-05].http://www.xilinx.com/support/documentation/ip_documentation/axi_vdma/v6_0/pg020_axi_vdma. pdf.

[5]Xilinx.LogiCORE IP AXI Interconnect v2.0[EB/OL]. [2016-05].http://www.xilinx.com/support/documentation/ip_documentation/axi_interconnect/v2_0/pg059-axi-interconnect.pdf.

[6]Xilinx.7 Series FPGAs Memory Interface Solutions v1.9 and v1. 9a[EB/OL].[2016-05].http://www.xilinx.com/support/documentation/ip_documentation/ug586_7Series_MIS.pdf.

[7]Xilinx.LogiCORE IP Clocking Wizard v5.0[EB/OL].[2016-05].http://www.xilinx.com/support/documentation/ip_ documentation/clk_wiz/v5_0/pg065-clk-wiz.pdf.

[8]Xilinx.LogiCORE IP Video In to AXI4-Stream v3.0[EB/ OL].[2016-05].http://www.xilinx.com/support/documentation/ip_documentation/v_axi4s_vid_out/v3_0/pg044_v_axis_ vid_out.pdf.

[9]Xilinx.LogiCORE IP AXI4-Stream to Video Out v3.0[EB/ OL].[2016-05].http://www.xilinx.com/support/documentation/ip_documentation/v_axi4s_vid_out/v3_0/pg044_v_axis_ vid_out.pdf.

[10]Xilinx.LogiCORE IP Video Timing Controller v6.0[EB/ OL].[2016-05].http://www.xilinx.com/support/documentation/ip_documentation/v_tc/v6_0/pg016_v_tc.pdf.

[11]徐家惠,戚海峰,高健,等.基于Vivado HLS的AC97音頻系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2014,32(12):35-38.

安航(工程師),研究方向?yàn)榍度胧较到y(tǒng)開發(fā)與應(yīng)用。

Down Scaler Video System Based on Vivado HLS

An Hang
(School of Microelectronics,Xidian University,Xi'an 710126,China)

The design of Down Scaler video system based on FPGA is introduced.The key component of the system is XC7K325T chip on Xilinx Kintex-7 board,and Vivado design suite is used to design,including the use of Vivado HLS for Down Scaler module design.Firstly,the Down Scaler is described with C/C++language according to the specifications of Vivado HLS.Then,the RTL model and the IP core are generated by the Vivado HLS tool.Finally,a real-time video system is built by connecting the Down Scaler IP core and other Xilinx IP cores such as TPG and VDMA.The design transforms the Down Scaler video algorithm from the PC-based software processing method to the FPGA-based hardware processing method under the condition of meeting the requirementsof real-time performance and FPGA resource consumption.

Vivado HLS;FPGA;Down Scaler;high-level synthesis

TN791

:A

薛士然

2016-05-27)

猜你喜歡
視頻流鏡像運(yùn)算
邊緣實(shí)時(shí)視頻流分析系統(tǒng)配置動(dòng)態(tài)調(diào)整算法研究
重視運(yùn)算與推理,解決數(shù)列求和題
基于視頻流傳輸中的擁塞控制研究
鏡像
有趣的運(yùn)算
鏡像
小康(2018年23期)2018-08-23 06:18:52
“整式的乘法與因式分解”知識(shí)歸納
撥云去“誤”學(xué)乘除運(yùn)算
美國(guó)視頻流市場(chǎng)首現(xiàn)飽和征兆
鏡像
小康(2015年4期)2015-03-31 14:57:40
曲麻莱县| 广灵县| 周宁县| 勐海县| 政和县| 清新县| 伊宁市| 桦川县| 阿勒泰市| 瑞金市| 临安市| 祁东县| 白河县| 九台市| 云霄县| 纳雍县| 简阳市| 夹江县| 新平| 夏津县| 祁阳县| 哈巴河县| 新营市| 商洛市| 佛冈县| 肇东市| 连山| 长泰县| 黄龙县| 慈利县| 营口市| 保亭| 通许县| 稷山县| 增城市| 元朗区| 宜昌市| 儋州市| 乌鲁木齐市| 彩票| 正镶白旗|