亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,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)域,高層次綜合工具變得越來越受歡迎,其能夠?qū)/C++、SystemC、Matlab等高級(jí)語言的函數(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 高層次綜合概述

        在過去20年,占主導(dǎo)地位的電子設(shè)計(jì)流程中,硬件設(shè)計(jì)人員需要手工完成從系統(tǒng)功能指標(biāo)到RTL級(jí)代碼的所有工作。如今,這樣的設(shè)計(jì)流程開始變得困難,因?yàn)樵絹碓蕉嗟墓δ芸梢员患稍谝粋€(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)率必須有所提高。高層次綜合能夠通過從算法層到RTL層的自動(dòng)化來提高設(shè)計(jì)生產(chǎn)率,從圖1(b)中可以看到,應(yīng)用高層次綜合,系統(tǒng)設(shè)計(jì)從功能指標(biāo)到自動(dòng)化設(shè)計(jì)流程開端的距離縮短了。

        在設(shè)計(jì)流程中,應(yīng)用高層次綜合工具能夠給設(shè)計(jì)工作帶來以下便利:首先,需要設(shè)計(jì)人員編寫的代碼量顯著減少,在縮短開發(fā)周期的同時(shí)降低了錯(cuò)誤率。其次,在如今的產(chǎn)品開發(fā)過程中,驗(yàn)證所需的時(shí)間往往超過設(shè)計(jì)的時(shí)間,使用高層次綜合工具能夠縮短驗(yàn)證時(shí)間,在高層次綜合工具生成設(shè)計(jì)代碼的同時(shí),還能夠同時(shí)生成測(cè)試平臺(tái)代碼,可以直接通過測(cè)試數(shù)據(jù)來驗(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)算處理前,視頻流的獲取通過一塊Black Magic板卡來實(shí)現(xiàn),其接收到的每一幀圖像的像素信息通過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ǔ)空間,用來存儲(chǔ)11個(gè)像素點(diǎn),Linebuffer是一個(gè)二維存儲(chǔ)空間,用來存儲(chǔ)11行像素點(diǎn)。Linebuffer在每一個(gè)工作頻率上接收新的輸入像素,之前的像素在每一個(gè)工作頻率上向存儲(chǔ)空間的下方移動(dòng)一個(gè)位置,即最新接收的像素點(diǎn)總是存儲(chǔ)在Linebuffer中的初始位置。當(dāng)Linebuffer填滿后,Downscaling運(yùn)算開始,即通過Window存儲(chǔ)11個(gè)采樣像素,并對(duì)像素信息進(jìn)行濾波運(yùn)算。相比存儲(chǔ)一幀完整圖像后再進(jìn)行運(yùn)算的“軟件處理”方式,通過使用Linebuffer和Window作為“硬件處理”方式的存儲(chǔ)單元大幅降低了模塊對(duì)存儲(chǔ)空間的需求。“軟件處理”和“硬件處理”Down 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è)串行過程,分別是水平鏡像、水平縮小、豎直鏡像和豎直縮小,使用Vivado HLS工具的Dataflow模式將串行過程并行執(zhí)行后,在不改變模塊工作頻率的條件下,只能夠滿足對(duì)1920×1080P/25 fps的視頻進(jìn)行實(shí)時(shí)運(yùn)算。為了進(jìn)一步提高運(yùn)算性能,需要進(jìn)一步降低運(yùn)算過程之間的數(shù)據(jù)依賴性。新的算法只包含兩個(gè)縮小過程,即水平縮小和豎直縮小,鏡像運(yùn)算被整合在縮小運(yùn)算中,并且只在需要的時(shí)刻進(jìn)行。對(duì)鏡像運(yùn)算的整合雖然增加了算法編寫的復(fù)雜程度,但是縮短了過程間的數(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核,用來產(chǎn)生不同格式的輸入視頻流;

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

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

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

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

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

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

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

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

        結(jié) 語

        本設(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)過本文設(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ì)的主流方式。未來的設(shè)計(jì)者可以從算法的角度直接下降到硬件平臺(tá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
        一本一道久久综合久久| 国产乱码精品一区二区三区久久| 无码国产一区二区色欲| 日韩精品无码一区二区三区视频| 亚洲国产精品久久久性色av| 久久国产劲爆内射日本| 国内免费自拍9偷1拍| 亚洲日韩精品a∨片无码加勒比| 人人摸人人操| 人妻无码中文专区久久综合| 久久精品中文字幕亚洲| 高潮精品熟妇一区二区三区| 亚洲av无码专区在线| 国产精品一区二区久久不卡| 免费观看一区二区| 91国内偷拍一区二区三区| 中文字幕av人妻少妇一区二区| 丰满少妇被粗大猛烈进人高清| 欧美日韩一卡2卡三卡4卡 乱码欧美孕交| av中文字幕少妇人妻| 国产精品午夜福利天堂| 亚洲精品国产精品乱码视色| 国产免费内射又粗又爽密桃视频| 亚洲男人天堂| 中文字幕人成乱码中文乱码| 人妖啪啪综合av一区| 蜜臀亚洲av无码精品国产午夜.| 国产96在线 | 欧美| 激情亚洲的在线观看| 一区二区三区高清视频在线| 浓毛老太交欧美老妇热爱乱| 成人a级视频在线观看| 久久婷婷色香五月综合激情| 亚洲最大视频一区二区三区| 亚洲av久播在线一区二区| 欧美人与动牲交a精品| 人伦片无码中文字幕| 日韩精品一级在线视频| 中文字幕亚洲一区二区不下| 日韩精品久久久肉伦网站| 欧美伊人亚洲伊人色综|