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

?

基于FPGA的多路視頻實(shí)時(shí)處理系統(tǒng)的設(shè)計(jì)

2024-11-05 00:00:00郭棟梁
現(xiàn)代信息科技 2024年16期

摘 要:針對多路高清視頻信號(hào)實(shí)時(shí)處理中的畫面疊加以及畫中畫顯示實(shí)時(shí)性差的問題,設(shè)計(jì)了一種基于FPGA的多路視頻實(shí)時(shí)處理系統(tǒng)。該系統(tǒng)可接收外部參數(shù)控制,并通過跨時(shí)鐘域技術(shù),實(shí)現(xiàn)了4路HDMI視頻信號(hào)的輸入接收、畫面任意比例縮放、任意位置疊加以及畫面漫游的實(shí)時(shí)處理功能。相比現(xiàn)有系統(tǒng),該設(shè)計(jì)通過FPGA并行處理架構(gòu)實(shí)現(xiàn)了多路高清視頻的無縫實(shí)時(shí)疊加,提高了系統(tǒng)實(shí)時(shí)性能和顯示效果,為多視頻源的實(shí)時(shí)處理提供了一種新的系統(tǒng)解決方案。

關(guān)鍵詞:多路視頻;FPGA;跨時(shí)鐘域

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2024)16-0024-04

Design of a Multi-channel Real-time Video Processing System Based on FPGA

Abstract: Aiming at the problems of poor real-time performance in overlay and picture-in-picture display of multi-channel high definition video signals, this paper designs a multi-channel real-time video processing system based on FPGA. The system can receive external parameter control. Through Clock Domain Crossing technology, the system implements real-time processing functions including input reception of 4 HDMI video signals, arbitrary aspect ratio scaling, arbitrary position overlay, and picture roaming. Compared with existing systems, this design achieves seamless real-time overlay of multi-channel HD videos through the FPGA parallel processing architecture, which improves system real-time performance and display effects. It provides a new system solution for real-time processing of multi-video sources.

Keywords: multi-channel video; FPGA; Clock Domain Crossing

0 引 言

隨著工業(yè)自動(dòng)化和智能化的不斷發(fā)展,高清視頻技術(shù)在工業(yè)監(jiān)控領(lǐng)域的應(yīng)用也日益增多。在工業(yè)監(jiān)控中,實(shí)時(shí)高清視頻處理不僅提高了監(jiān)控效率,還增強(qiáng)了安全管理和質(zhì)量控制的能力。特別是在涉及危險(xiǎn)或難以接近的環(huán)境中,多路高清視頻監(jiān)控可以為操作人員提供實(shí)時(shí)、全面的視覺信息,幫助及時(shí)發(fā)現(xiàn)和處理潛在的安全隱患。然而,這些應(yīng)用場景通常要求極高的視頻處理實(shí)時(shí)性和穩(wěn)定性,尤其是在需要對多個(gè)視頻源進(jìn)行同步分析和疊加時(shí)。因此,開發(fā)一種能夠有效處理大量高清視頻數(shù)據(jù)、同時(shí)保證低延時(shí)和高可靠性的系統(tǒng),對于提升工業(yè)監(jiān)控的效能至關(guān)重要[1-3]。

基于傳統(tǒng)DSP和GPU架構(gòu)的視頻處理系統(tǒng),受限于存儲(chǔ)訪問帶寬和核心計(jì)算能力,難以滿足多路高清視頻實(shí)時(shí)畫面疊加的處理需求。而基于FPGA的視頻處理系統(tǒng)具有并行處理結(jié)構(gòu),可有效解決高清視頻大量數(shù)據(jù)處理的問題[4-5]。

但是,在FPGA系統(tǒng)中實(shí)現(xiàn)多路視頻的同步處理也面臨時(shí)鐘域劃分以及存儲(chǔ)訪問沖突等問題。為實(shí)現(xiàn)多路高清視頻信號(hào)無縫實(shí)時(shí)疊加,設(shè)計(jì)高效的跨時(shí)鐘域技術(shù)以協(xié)調(diào)多路視頻處理流程,優(yōu)化DDR存儲(chǔ)器訪問機(jī)制以提供充足的存儲(chǔ)讀寫帶寬,是FPGA處理系統(tǒng)設(shè)計(jì)的關(guān)鍵[6-8]。

為此,本文設(shè)計(jì)了一種基于FPGA的多路高清視頻實(shí)時(shí)處理系統(tǒng)。該系統(tǒng)在片上資源有效劃分多個(gè)時(shí)鐘域,實(shí)現(xiàn)低延時(shí)的多路視頻畫面無縫實(shí)時(shí)疊加。相比現(xiàn)有系統(tǒng),本設(shè)計(jì)提供了一種高效可靠的多路高清視頻實(shí)時(shí)處理方案,能夠有效解決實(shí)時(shí)性和穩(wěn)定性問題。

1 系統(tǒng)硬件設(shè)計(jì)

該系統(tǒng)硬件主要由Xilinx公司的Kintex-7系列FPGA XC7K325TFFG676、解碼芯片ADV7611、串口芯片CP2104、DDR3存儲(chǔ)芯片MT41K128M256等芯片組成。其系統(tǒng)硬件框圖如圖1所示。

在該系統(tǒng)中,F(xiàn)PGA首先通過I2C總線對視頻解碼芯片ADV7611進(jìn)行配置初始化,完成寄存器參數(shù)的設(shè)置。配置完成后,系統(tǒng)輸入的4路高清HDMI視頻信號(hào)首先通過ADV7611解碼芯片進(jìn)行解碼,輸出RGB視頻格式的數(shù)字信號(hào)。上位機(jī)通過USB串口(CP2104)將控制命令和參數(shù)傳輸?shù)紽PGA。FPGA根據(jù)接收到的控制指令,對輸入的4路RGB數(shù)字視頻信號(hào)進(jìn)行裁剪、縮放等處理。處理后的視頻數(shù)據(jù)通過幀緩存機(jī)制暫存到DDR3存儲(chǔ)器中。最后,F(xiàn)PGA按時(shí)序讀取DDR3存儲(chǔ)器中的視頻幀數(shù)據(jù),轉(zhuǎn)換成HDMI格式的視頻信號(hào)輸出。

2 多路視頻實(shí)時(shí)處理系統(tǒng)程序設(shè)計(jì)

多路視頻實(shí)時(shí)處理系統(tǒng)程序設(shè)計(jì)由FPGA完成,主要由系統(tǒng)參數(shù)初始化模塊、ADV7611配置模塊、視頻裁剪模塊,視頻縮放模塊、DDR3讀寫仲裁模塊、視頻疊加模塊、RGB轉(zhuǎn)HDMI模塊組成。多路視頻實(shí)時(shí)處理系統(tǒng)程序框圖如圖2所示。

系統(tǒng)上電時(shí),ADV7611配置模塊通過I2C總線對ADV7611進(jìn)行配置,設(shè)置輸出格式為GRB888,在參數(shù)設(shè)置完成后,產(chǎn)生一個(gè)ADV7611_Init_Done的信號(hào),結(jié)合MIG IP核產(chǎn)生的init_calib_complete信號(hào),共同作為系統(tǒng)復(fù)位信號(hào)。系統(tǒng)參數(shù)初始化模塊隨后將視頻裁切默認(rèn)參數(shù)、視頻縮放默認(rèn)參數(shù)、視頻疊加默認(rèn)參數(shù)下發(fā)。系統(tǒng)按照指定的剪切參數(shù)設(shè)置,通過視頻輸入像素時(shí)鐘(pixle_clk)、視頻輸入使能信號(hào)(DE)、行同步信號(hào)(Hsync)、場同步信號(hào)(Vsync)將24位并行視頻數(shù)據(jù)采集進(jìn)異步FIFO中。之后,通過指定的縮放參數(shù)與雙線性插值算法,完成視頻數(shù)據(jù)的縮放??s放后的數(shù)據(jù)通過異步FIFO,將24位位寬的RGB888數(shù)據(jù)首先通過補(bǔ)齊高8位來形成一個(gè)32位的數(shù)據(jù),之后通過拼接處理將數(shù)據(jù)拼接為256位后,通過讀寫仲裁模塊寫入到DDR中。

在DDR讀寫仲裁模塊中,需要分別進(jìn)行4路視頻數(shù)據(jù)寫入操作和4路視頻數(shù)據(jù)讀取操作,這就對DDR仲裁讀寫操作提出了較高的要求。在本文設(shè)計(jì)的DDR讀寫仲裁模塊中,首先使用message_queue消息隊(duì)列模塊來管理消息隊(duì)列。消息隊(duì)列模塊首先通過雙級(jí)觸發(fā)器同步所有輸入信號(hào),以減少亞穩(wěn)態(tài)的可能性并提高信號(hào)穩(wěn)定性。接著,設(shè)計(jì)了一個(gè)三段式狀態(tài)機(jī)來控制消息隊(duì)列的狀態(tài)轉(zhuǎn)換,涵蓋了空閑、各通道的讀寫以及等待狀態(tài),確保按照預(yù)定邏輯和順序處理請求。為了在請求處理期間保持信號(hào)狀態(tài),模塊使用寄存器緩存了每個(gè)通道的讀寫請求信號(hào)。當(dāng)處理完某個(gè)通道的請求后,相應(yīng)的緩存信號(hào)才會(huì)被清零。之后,DDR讀寫仲裁模塊讀取消息隊(duì)列中的信息,確定當(dāng)前的DDR操作模式、操作地址、突發(fā)讀寫長度,在完成單次DDR操作后,再次讀取消息隊(duì)列中的信息,進(jìn)行下一次的DDR操作。該仲裁機(jī)制最大限度地減少了內(nèi)存訪問的延遲,提升了數(shù)據(jù)吞吐量,確保了在高負(fù)載條件下系統(tǒng)的穩(wěn)定運(yùn)行和高性能。

視頻疊加模塊接收到系統(tǒng)復(fù)位完成信號(hào)后,按照系統(tǒng)參數(shù)初始化模塊指定的參數(shù),首先生成一個(gè)對應(yīng)分辨率的行同步信號(hào)、場同步信號(hào)及使能信號(hào)。之后,系統(tǒng)按照產(chǎn)生的視頻同步信號(hào),通過DDR讀寫仲裁模塊將4路視頻數(shù)據(jù)讀出。數(shù)據(jù)讀出后,首先將256位位寬的數(shù)據(jù)拆解8個(gè)32位位寬的RGB888的數(shù)據(jù),之后按照指定的顯示方式,通過級(jí)聯(lián)的方式逐級(jí)產(chǎn)生視頻時(shí)序與視頻數(shù)據(jù)。最后,通過RGB轉(zhuǎn)HDMI模塊將RGB數(shù)據(jù)轉(zhuǎn)為TMDS數(shù)據(jù)發(fā)送出去。多路視頻實(shí)時(shí)處理系統(tǒng)工作流程圖如圖3所示。

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

多路視頻實(shí)時(shí)處理系統(tǒng)中存在多個(gè)時(shí)鐘源:系統(tǒng)工作100 Hz系統(tǒng)時(shí)鐘sys_clk、4路HDMI轉(zhuǎn)RGB后的148.5 Hz像素時(shí)鐘pixle_in_clk0、pixle_in_clk1、pixle_in_clk2、pixle_in_clk3、DDR3使用的200 MHz用戶時(shí)鐘mem_clk、視頻疊加模塊使用的148.5MHz輸出像素時(shí)鐘pixle_out_clk。在FPGA多路視頻處理系統(tǒng)中,正確進(jìn)行時(shí)鐘域劃分和管理對于整個(gè)系統(tǒng)的性能和穩(wěn)定運(yùn)行非常重要。由于不同模塊或IP核心的工作時(shí)鐘頻率各不相同,在數(shù)據(jù)傳輸時(shí)就需要進(jìn)行頻域轉(zhuǎn)換。如果直接進(jìn)行不同時(shí)鐘域間的相互訪存、操作,將導(dǎo)致嚴(yán)重的時(shí)序問題,使系統(tǒng)產(chǎn)生時(shí)序故障。特別是對于數(shù)據(jù)量吞吐量大的視頻處理系統(tǒng),其數(shù)據(jù)傳輸和操作涉及多個(gè)不同頻率的時(shí)鐘域??鐣r(shí)鐘域的異步處理技術(shù)可以協(xié)調(diào)多個(gè)視頻處理模塊的工作時(shí)序,避免數(shù)據(jù)競爭和傳輸錯(cuò)誤,保證視頻數(shù)據(jù)能夠在不同模塊間精確流水線傳輸,從而大幅提高系統(tǒng)的數(shù)據(jù)吞吐量和穩(wěn)定性[9-10]。

本系統(tǒng)中涉及跨時(shí)鐘域的數(shù)據(jù)傳輸均為多比特?cái)?shù)據(jù)傳輸,所以使用異步FIFO來完成。系統(tǒng)參數(shù)初始化模塊與視頻裁剪模塊通過異步FIFO完成裁剪參數(shù)的傳輸;系統(tǒng)參數(shù)初始化模塊與視頻縮放模塊完成縮放參數(shù)的傳輸;系統(tǒng)參數(shù)初始化模塊與視頻疊加模塊完成開窗位置、開窗大小等參數(shù)的傳輸。系統(tǒng)時(shí)鐘域劃分圖如圖4所示。

4 上位機(jī)軟件設(shè)計(jì)

該系統(tǒng)的上位機(jī)軟件采用Python+PyQt 5編程完成。PyQt 5是一套專為Python語言設(shè)計(jì)的圖形用戶界面(GUI)軟件開發(fā)框架。PyQt5提供了超過600個(gè)類以及6 200個(gè)函數(shù)和方法,使得開發(fā)者能夠輕松地構(gòu)建具有豐富交互性的應(yīng)用程序。PyQt5不僅支持Python 2和Python 3,并且作為一個(gè)跨平臺(tái)的工具包,它可以在Windows、Mac OS、UNIX等多種操作系統(tǒng)上運(yùn)行。

上位機(jī)軟件能夠?qū)崿F(xiàn)顯示模式的命令下發(fā)、回傳信號(hào)的接收等功能。在該軟件中,用戶能夠方便地實(shí)現(xiàn)固定顯示模式的設(shè)置,例如單畫面的全幅顯示、4畫面等分顯示、1大三小顯示等,同時(shí)還支持畫面漫游顯示功能。對于有特殊顯示需求的場景,軟件內(nèi)設(shè)有視頻參數(shù)設(shè)置區(qū),用戶可分別設(shè)置4路輸入視頻的輸入分辨率、縮放后的顯示大小、縮放后的顯示位置信息,實(shí)現(xiàn)特殊的現(xiàn)實(shí)需求。上位機(jī)軟件界面如圖5所示。

5 系統(tǒng)搭建與驗(yàn)證

本系統(tǒng)支持4路全高清視頻信號(hào)的輸入和1路高清視頻輸出。在測試中,使用能輸出1 920×

1 080@60Hz高清視頻的筆記本作為視頻源,通過FPGA內(nèi)部邏輯實(shí)現(xiàn)將1路高清視頻輸入復(fù)制并擴(kuò)展為4路高清視頻信號(hào)。筆記本通過串口連接至信號(hào)板上,打開上位機(jī)軟件,設(shè)置顯示模式,F(xiàn)PGA即將處理后的視頻信號(hào)通過HDMI接口輸出到顯示器上進(jìn)行顯示。如圖6所示,系統(tǒng)能夠?qū)崿F(xiàn)4等分縮放顯示。如圖7所示,系統(tǒng)能夠?qū)崿F(xiàn)可調(diào)比例可調(diào)位置縮放顯示。

6 結(jié) 論

本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA的多路高清視頻實(shí)時(shí)處理系統(tǒng)。該系統(tǒng)通過FPGA并行處理結(jié)構(gòu),有效解決了高清視頻大數(shù)據(jù)量處理的難題,實(shí)現(xiàn)了多路HD視頻信號(hào)的實(shí)時(shí)裁剪、縮放和疊加處理。系統(tǒng)采用ADV7611視頻解碼芯片接收HDMI視頻源,經(jīng)處理后通過DDR3存儲(chǔ)器進(jìn)行緩存,并最終轉(zhuǎn)換為HDMI格式的輸出。

關(guān)鍵的跨時(shí)鐘域技術(shù)應(yīng)用確保了系統(tǒng)各處理模塊之間的精確數(shù)據(jù)傳輸與同步,避免了多頻率異步時(shí)鐘之間的時(shí)序故障。系統(tǒng)采用異步FIFO進(jìn)行視頻數(shù)據(jù)的跨時(shí)鐘域傳輸,相比直接邏輯傳輸,這種方法大幅減少了時(shí)序約束壓力,保證了穩(wěn)定可靠的數(shù)據(jù)傳輸。

測試結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了實(shí)時(shí)處理4路高清1080P視頻,并具備任意畫面分割、縮放以及多畫面疊加顯示等功能,整個(gè)系統(tǒng)保證了低延時(shí)的多路高清視頻無縫實(shí)時(shí)處理效果。

本設(shè)計(jì)的基于FPGA的多路高清視頻實(shí)時(shí)處理系統(tǒng),不僅在技術(shù)上實(shí)現(xiàn)了多路視頻信號(hào)的高效實(shí)時(shí)處理,而且具有重要的工業(yè)應(yīng)用價(jià)值。在工業(yè)監(jiān)控領(lǐng)域,該系統(tǒng)可以顯著提高監(jiān)控效率和安全性,特別是在對實(shí)時(shí)性要求高的環(huán)境中,如自動(dòng)化生產(chǎn)線、關(guān)鍵基礎(chǔ)設(shè)施監(jiān)控以及危險(xiǎn)區(qū)域的安全監(jiān)視。系統(tǒng)的低延時(shí)處理能力確保了緊急情況下可以迅速響應(yīng),為工業(yè)監(jiān)控領(lǐng)域提供了一種高效、可靠的視頻處理解決方案,展示了在高要求工業(yè)環(huán)境中實(shí)現(xiàn)精確和實(shí)時(shí)監(jiān)控的巨大潛力。

1g6MPy7HI5r8TuKTXsi08tQp15JUXFELamHInGYBiBo=考文獻(xiàn):

[1] 宋長駿,湯勇明.基于FPGA的通用多路視頻輸入處理系統(tǒng)設(shè)計(jì) [J].電子器件,2022,45(4):805-809.

[2] 王軼楷.實(shí)時(shí)視頻圖像縮放系統(tǒng)的FPGA硬件實(shí)現(xiàn) [D].太原:中北大學(xué),2023.

[3] 嚴(yán)飛,丁兆東,劉銀萍,等.基于FPGA的多路實(shí)時(shí)視頻處理系統(tǒng)設(shè)計(jì) [J].液晶與顯示,2022,37(7):861-870.

[4] 劉洪慶.機(jī)載多路視頻采集設(shè)備設(shè)計(jì)與實(shí)現(xiàn) [J].中國電子科學(xué)研究院學(xué)報(bào),2021,16(10):1029-1033.

[5] SUN K C,KOCH M,WANG Z,et al. An FPGA-Based Residual Recurrent Neural Network for Real-Time Video Super-Resolution [J].IEEE Transactions on Circuits and Systems for Video Technology,2021,32(4):1739-1750.

[6] 吝毅.基于FPGA的實(shí)時(shí)圖像預(yù)處理系統(tǒng)研究 [D].西安:長安大學(xué),2023.

[7] COSTA A,CORNA N,GARZETTI F,et al. High-Performance Computing of Real-Time and Multichannel Histograms: A Full FPGA Approach [J].IEEE Access,2022,10:47524-47540.

[8] 張麗紅.基于FPGA的多路音視頻控制系統(tǒng)的實(shí)現(xiàn) [J].電子元器件與信息技術(shù),2021,5(10):96-98.

[9] JAIN D K,JACOB S,ALZUBI J,et al. An Efficient and Adaptable Multimedia System for Converting PAL to VGA in Real-Time Video Processin [J].Journal of Real-Time Image Processing,2020,17:2113-2125.

[10] 昱人.車載多路視頻記錄與回放系統(tǒng)設(shè)計(jì) [D].太原:中北大學(xué),2020.

鄱阳县| 徐汇区| 周口市| 荆州市| 临安市| 绿春县| 商都县| 阿坝县| 静乐县| 姚安县| 洪泽县| 乐山市| 保亭| 乌拉特中旗| 赤水市| 靖州| 扎鲁特旗| 分宜县| 平舆县| 抚州市| 阳西县| 盐边县| 扶沟县| 南靖县| 定襄县| 泾源县| 日喀则市| 潮州市| 虎林市| 西和县| 南乐县| 西宁市| 吉林省| 黎川县| 九龙坡区| 阳曲县| 团风县| 重庆市| 区。| 梁河县| 康乐县|