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

?

基于FPGA 的通用多路視頻輸入處理系統(tǒng)設(shè)計(jì)

2022-10-22 03:36宋長(zhǎng)駿湯勇明
電子器件 2022年4期
關(guān)鍵詞:視頻流存儲(chǔ)器時(shí)鐘

宋長(zhǎng)駿湯勇明

(東南大學(xué)顯示技術(shù)研究中心,江蘇 南京 210096)

隨著高清顯示器的普及,全景顯示、視頻融合、畫中畫等顯示應(yīng)用越來(lái)越多。這類視頻拼接或視頻融合的設(shè)計(jì)中都有多路視頻同時(shí)輸入后的處理問題[1]。

本文依托FPGA 硬件平臺(tái),在多視頻輸入情況下,規(guī)劃對(duì)應(yīng)的多時(shí)鐘域處理方案,建立通用的視頻緩沖控制模式,為后續(xù)實(shí)現(xiàn)視頻縮放拼接、畫中畫顯示等功能提供解決方案。

本文工作分為兩個(gè)部分:第一,規(guī)劃了多視頻輸入處理方案,設(shè)計(jì)多視頻源的時(shí)序緩沖控制機(jī)制,利用全局緩沖減少關(guān)鍵時(shí)鐘信號(hào)的傳播延時(shí),使用FIFO 實(shí)現(xiàn)跨時(shí)鐘域信號(hào)同步,并設(shè)計(jì)仲裁策略使多路視頻流共享存儲(chǔ)資源。第二,在FPGA 硬件驗(yàn)證平臺(tái)上實(shí)現(xiàn)緩沖控制機(jī)制?;贔PGA 平臺(tái)和硬件編程設(shè)計(jì)實(shí)現(xiàn)之前的多視頻輸入緩沖控制模式。借助于多路視頻緩沖模式實(shí)現(xiàn)了四進(jìn)一出的視頻拼接、畫中畫疊加等顯示功能,在12.5 GB/s 存儲(chǔ)帶寬條件下支持了4 路1080P60 幀的視頻輸入和1 路輸出。

1 多視頻源緩沖機(jī)制設(shè)計(jì)

因?yàn)镕PGA 片上存儲(chǔ)資源十分有限,視頻處理系統(tǒng)對(duì)視頻數(shù)據(jù)流輸入的緩沖,主要是依托外部存儲(chǔ)器[2]。多視頻輸入緩沖機(jī)制設(shè)計(jì),按照視頻處理的流程分階段討論,視頻緩沖處理過程可劃分為如下四個(gè)階段:預(yù)處理階段,時(shí)鐘域轉(zhuǎn)換階段,存儲(chǔ)器寫階段和存儲(chǔ)器讀階段。

在預(yù)處理階段,完成對(duì)輸入時(shí)鐘的緩沖處理和視頻圖像的縮放預(yù)處理。時(shí)鐘信號(hào)具有高扇出的特點(diǎn),采用FPGA 全局時(shí)鐘資源驅(qū)動(dòng)高扇出的時(shí)鐘信號(hào)。對(duì)于每路視頻流,可以在各自的時(shí)鐘域內(nèi)執(zhí)行縮放預(yù)處理,縮放處理主要指縮小,圖像的縮小操作不需借助外部存儲(chǔ)器,可以用降采樣的方式簡(jiǎn)單實(shí)現(xiàn)[3],從而可以降低對(duì)存儲(chǔ)器的帶寬需求。

圖1 多視頻輸入處理機(jī)制

第二個(gè)階段是時(shí)鐘域轉(zhuǎn)換階段。各路視頻流有著獨(dú)立的像素時(shí)鐘,需要將信號(hào)從輸入視頻流時(shí)鐘域同步到系統(tǒng)工作時(shí)鐘域。對(duì)于單比特信號(hào)的跨時(shí)鐘同步,可使用打拍法實(shí)現(xiàn),將兩個(gè)或多個(gè)觸發(fā)器串聯(lián)。在大多數(shù)多時(shí)鐘域設(shè)計(jì)里,兩級(jí)的同步電路足以避免亞穩(wěn)態(tài)的出現(xiàn)[4]。多比特的信號(hào)跨時(shí)鐘同步多使用握手法和異步FIFO 法,相比于握手法,異步FIFO 法用更多的資源換取更高的傳輸速度[5]。

之后是存儲(chǔ)器寫和存儲(chǔ)器讀階段。在存儲(chǔ)器寫階段,系統(tǒng)將輸入數(shù)據(jù)寫入存儲(chǔ)器。寫入的數(shù)據(jù)在讀階段讀出,交付給后續(xù)的算法處理和顯示輸出。在寫和讀階段,需要實(shí)現(xiàn)存儲(chǔ)器讀寫邏輯。本文設(shè)計(jì)使用DDR3 作為存儲(chǔ)芯片。多路視頻流需要訪問存儲(chǔ)器,而存儲(chǔ)器是單端口的,所以設(shè)計(jì)一個(gè)多路復(fù)用器是有必要的。多路仲裁策略包括先到先得服務(wù)調(diào)度,優(yōu)先級(jí)調(diào)度,和輪詢調(diào)度策略[6]。為了保證視頻數(shù)據(jù)的連續(xù)性,使用了乒乓緩存策略[7],在存儲(chǔ)器開辟兩塊緩沖區(qū)域,一個(gè)寫入數(shù)據(jù),一個(gè)數(shù)據(jù)被讀出用以后續(xù)處理。通過一對(duì)2-1 選擇器,每次處理完成后交換功能。以掃描顯示為例,使用兩個(gè)幀緩存,當(dāng)一個(gè)在掃描輸出的時(shí)候,另一個(gè)在改寫數(shù)據(jù).到下一個(gè)周期改寫好數(shù)據(jù)的一幀作掃描輸出,而另一個(gè)幀緩存改寫數(shù)據(jù).總之是一個(gè)在接收數(shù)據(jù)一個(gè)在處理,處理完后兩個(gè)再交換。從最后的輸出來(lái)看,保證了數(shù)據(jù)的連續(xù)性。

圖2 乒乓緩存策略

2 系統(tǒng)的FPGA 實(shí)現(xiàn)

2.1 系統(tǒng)硬件電路

系統(tǒng)使用Xilinx 的XC7K325T FPGA 芯片,硬件板卡搭載了4 對(duì)HDMI 編解碼芯片,編碼芯片型號(hào)為ADV7511,解碼芯片型號(hào)為ADV7611,存儲(chǔ)芯片使用MT8KTF51264-DDR3 芯片[8]。編解碼芯片支持1920×1080P 60Hz 的HDMI 視頻編解碼,系統(tǒng)只需要處理RGB 行場(chǎng)信號(hào)。DDR3 芯片提供了12.5 GB/s 的帶寬資源。

圖3 硬件平臺(tái)架構(gòu)布局

2.2 緩沖控制模式的硬件實(shí)現(xiàn)

緩沖控制模式圍繞著存儲(chǔ)器進(jìn)行設(shè)計(jì)。Xilinx公司已提供DDR3 控制器IP[9]。IP 支持上電后對(duì)DDR3 控制寄存器做預(yù)配置操作,在使用DDR3 執(zhí)行讀寫操作過程中可自動(dòng)進(jìn)行預(yù)充電以及自刷新等操作而無(wú)需用戶單獨(dú)控制,使用該控制器只需按照接口協(xié)議發(fā)送控制信號(hào)和讀寫數(shù)據(jù)即可??芍苯蛹傻奖鞠到y(tǒng)中使用[10]。

DDR3 存儲(chǔ)器位寬為64 bit,數(shù)據(jù)讀寫速率設(shè)置為1 200 MB/s,設(shè)置8 突發(fā)寫長(zhǎng)度(burst lenth),一次讀寫操作存儲(chǔ)512 bit 的數(shù)據(jù)。用戶時(shí)鐘接口速率為150 MHz,每個(gè)時(shí)鐘節(jié)拍有512 bit 數(shù)據(jù)被寫入或讀出DDR3。由于該用戶時(shí)鐘與模塊外部邏輯時(shí)鐘為異步時(shí)鐘,因此需要對(duì)數(shù)據(jù)做跨時(shí)鐘域同步。DDR3 讀寫電路架構(gòu)如圖4 所示。

圖4 DDR3 讀寫電路架構(gòu)圖

多路輸入數(shù)據(jù)通道讀寫需要對(duì)DDR3 存儲(chǔ)資源分時(shí)復(fù)用,因此需要設(shè)計(jì)狀態(tài)機(jī)切換數(shù)據(jù)通道。全局狀態(tài)機(jī)為多通道數(shù)據(jù)仲裁器,實(shí)現(xiàn)數(shù)據(jù)通道調(diào)度切換,局部狀態(tài)機(jī)為讀寫控制器,負(fù)責(zé)生成DDR3 控制IP 的讀寫信號(hào)。

2.3 視頻處理系統(tǒng)的時(shí)序約束優(yōu)化

當(dāng)不同觸發(fā)器之間時(shí)鐘信號(hào)延遲越小,其電路最大運(yùn)行頻率越高[11]。Xilinx 7 series FPGA 設(shè)置有多種針對(duì)時(shí)鐘信號(hào)傳輸?shù)膶S寐窂健?/p>

全局時(shí)鐘緩沖器(Global Clock Buffers,BUFG)輸入端為時(shí)鐘信號(hào),輸出端為全局時(shí)鐘網(wǎng)絡(luò)。BUFG可以驅(qū)動(dòng)FPGA 所有邏輯資源、RAM 資源和DSP 資源,亦可驅(qū)動(dòng)其他時(shí)鐘電路結(jié)構(gòu)。由于BUFG 驅(qū)動(dòng)端到達(dá)FPGA 任意一處資源的路徑通道經(jīng)過專門設(shè)計(jì),因此經(jīng)過BUFG 時(shí)鐘網(wǎng)絡(luò)的時(shí)鐘信號(hào)到達(dá)不同驅(qū)動(dòng)端的時(shí)鐘抖動(dòng)(clock jitter)和時(shí)鐘偏移(clock skew)極小[12]。

系統(tǒng)輸入時(shí)鐘包括200 MHz 差分時(shí)鐘sysclk 和各路HDMI 解碼后的148.5 MHz 像素時(shí)鐘pixel_clk_ci(i取0,1,2,3)。200 MHz 差分時(shí)鐘用于DDR3 IP 控制器,通過PLL 電路生成600 MHz 的DDR3 運(yùn)行時(shí)鐘ddr3_clk 和150 MHz 用戶接口時(shí)鐘ui_clk,像素時(shí)鐘用于實(shí)時(shí)處理視頻流數(shù)據(jù),像素時(shí)鐘的引入同樣經(jīng)過一級(jí)PLL 電路用于穩(wěn)定時(shí)鐘信號(hào),生成新的穩(wěn)定像素時(shí)鐘ci_clk。因?yàn)橄到y(tǒng)占用邏輯資源分布遍及整個(gè)FPGA,因此為避免時(shí)鐘偏移問題,所有經(jīng)過PLL 后生成的時(shí)鐘信號(hào)都要經(jīng)過BUFG 結(jié)構(gòu)[13]。圖5 描述了本系統(tǒng)的時(shí)鐘樹設(shè)計(jì)。

圖5 系統(tǒng)時(shí)鐘樹

通過在xdc 文件中添加時(shí)序約束語(yǔ)句可令軟件在綜合電路的時(shí)候優(yōu)化結(jié)構(gòu)設(shè)計(jì),避免時(shí)序邏輯電路內(nèi)組合邏輯鏈過長(zhǎng)導(dǎo)致時(shí)序邏輯電路不滿足建立時(shí)間和保持時(shí)間,約束語(yǔ)句如下:

高扇出信號(hào)是指的某一信號(hào)被過多的邏輯資源同時(shí)使用,信號(hào)到達(dá)不同邏輯塊的時(shí)間不同可能導(dǎo)致時(shí)序不收斂問題,因此需要對(duì)此類信號(hào)做單獨(dú)處理。

本文設(shè)計(jì)中的高扇出信號(hào)主要為時(shí)鐘信號(hào),對(duì)于高扇出信號(hào)可利用BUFG 驅(qū)動(dòng),Xilinx 原語(yǔ)聲明使用BUFG 驅(qū)動(dòng)信號(hào)方式如圖6 所示。

圖6 BUFG 例化

2.4 跨時(shí)鐘域信號(hào)同步設(shè)計(jì)

系統(tǒng)中有多個(gè)異步時(shí)鐘域,包括以HDMI 接口輸入的像素時(shí)鐘為源的時(shí)鐘域和以系統(tǒng)200 MHz差分時(shí)鐘輸入為源的時(shí)鐘域。不同時(shí)鐘域之間的信號(hào)交互必須同步,否則會(huì)導(dǎo)致出現(xiàn)亞穩(wěn)態(tài)問題。對(duì)于多位數(shù)據(jù),通過異步FIFO 進(jìn)行數(shù)據(jù)同步。比如DDR 接口和外部數(shù)據(jù)通過異步FIFO 進(jìn)行數(shù)據(jù)交互;對(duì)于單比特信號(hào),如復(fù)位信號(hào)和控制信號(hào),可以通過打拍法來(lái)進(jìn)行,Xilinx 提供單bit 異步信號(hào)同步化原語(yǔ)[14-15],用法如圖7 所示。

圖7 使用XPM 原語(yǔ)例化同步器

綜合后電路如圖8 所示。

圖8 單比特同步器電路

3 系統(tǒng)搭建與測(cè)試

3.1 系統(tǒng)搭建說(shuō)明

本系統(tǒng)支持4 路全高清視頻輸入和1 路輸出。系統(tǒng)采用高清網(wǎng)絡(luò)機(jī)頂盒作為視頻源,該視頻源可以提供1920×1080@60 Hz 的視頻數(shù)據(jù)輸出。通過1 進(jìn)4 出的HDMI 矩陣輸出為4 路獨(dú)立的視頻源,將這4 路視頻數(shù)據(jù)接入本文設(shè)計(jì)的多視頻源處理系統(tǒng),系統(tǒng)輸出的視頻連接顯示器進(jìn)行顯示。具體連接情況如圖9 所示。

圖9 測(cè)試平臺(tái)示意圖

3.2 系統(tǒng)功能指標(biāo)測(cè)試

本系統(tǒng)在DDR3 芯片提供的12.5 GB/s 存儲(chǔ)帶寬條件下,接收4 路1920×1080@60 Hz 視頻輸入,輸出1 路視頻。實(shí)現(xiàn)了視頻拼接與疊加等顯示功能。

圖10 系統(tǒng)功能測(cè)試

系統(tǒng)對(duì)FPGA 資源占用不多,僅使用了7K325芯片內(nèi)部6.09%的LUT、2.28%的FlipFlop 和6.18%的BRAM,表1 具體給出了系統(tǒng)資源使用。

表1 系統(tǒng)資源使用

4 結(jié)論

本文依托FPGA 硬件平臺(tái),在多路高清視頻輸入情況下,提出了通用的視頻緩沖控制設(shè)計(jì),為后續(xù)實(shí)現(xiàn)視頻縮放拼接、畫中畫顯示等功能提供解決方案。

本文工作分為兩個(gè)部分:第一,規(guī)劃了多視頻輸入處理方案,針對(duì)視頻輸入處理流程,設(shè)計(jì)通用視頻緩沖控制機(jī)制。包括在預(yù)處理階段全局緩沖時(shí)鐘信號(hào),在視頻時(shí)鐘域內(nèi)執(zhí)行縮放預(yù)處理;在跨時(shí)鐘同步階段利用同步器和異步FIFO 傳遞信號(hào);在存儲(chǔ)器寫入讀出階段,設(shè)計(jì)多路調(diào)度機(jī)制和使用乒乓緩存策略。第二,基于FPGA 平臺(tái)硬件實(shí)現(xiàn)本文的多視頻輸入緩沖控制模式,并進(jìn)行時(shí)序電路優(yōu)化。實(shí)現(xiàn)四進(jìn)一出的視頻拼接,畫中畫疊加顯示功能,在12.5 GB/s存儲(chǔ)帶寬條件下,支持4 路1080P 60 幀的視頻輸入和1 路輸出。

本文將多視頻應(yīng)用中的多輸入視頻緩沖處理這一部分單獨(dú)做研究,探討緩沖控制機(jī)制的實(shí)現(xiàn),提出的電路設(shè)計(jì)可應(yīng)用在諸多應(yīng)用中,具備實(shí)用性與通用性。

猜你喜歡
視頻流存儲(chǔ)器時(shí)鐘
邊緣實(shí)時(shí)視頻流分析系統(tǒng)配置動(dòng)態(tài)調(diào)整算法研究
別樣的“時(shí)鐘”
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
基于視頻流傳輸中的擁塞控制研究
古代的時(shí)鐘
鐵路貨場(chǎng)智能大門集裝箱全景圖像采集方法研究
有趣的時(shí)鐘
美國(guó)視頻流市場(chǎng)首現(xiàn)飽和征兆
時(shí)鐘會(huì)開“花”
存儲(chǔ)器——安格爾(墨西哥)▲