關(guān) 閉

新聞中心

EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 一種基于FPGA的實(shí)時視頻圖像處理算法

一種基于FPGA的實(shí)時視頻圖像處理算法

作者: 時間:2014-07-07 來源:網(wǎng)絡(luò) 收藏

  摘要 為有效提高應(yīng)用領(lǐng)域中畫面顯示的清晰度、分辨度等問題,提出了一種基于的實(shí)時視頻圖像處理算法。文中介紹了系統(tǒng)的整體結(jié)構(gòu),然后針對模塊介紹了視頻圖像的緩存及圖像分割,并針對視頻的輸出顯示要求,重點(diǎn)介紹了基于算法的實(shí)現(xiàn)。ModelSim的仿真結(jié)果表明,該算法符合顯示系統(tǒng)的要求。

本文引用地址:http://2s4d.com/article/249273.htm

  關(guān)鍵詞 ;視頻圖像處理;;;

  隨著網(wǎng)絡(luò)信息化的發(fā)展,顯示設(shè)備作為獲取信息的直接手段,有著不可或缺的作用。為滿足用戶對更大屏幕的觀看需要以及使信息顯示更優(yōu)化,大屏幕拼接技術(shù)應(yīng)運(yùn)而生。大屏幕圖像尺寸的增大使在普通顯示器上不易察覺的細(xì)節(jié)暴露無遺,提高了可視化的準(zhǔn)確性。高分辨率圖形圖像數(shù)據(jù)處理和可視化,用于解決基于單一硬件顯示設(shè)備無法可視化的高分辨率圖形圖像。

  而拼接控制器是大屏幕系統(tǒng)中的核心顯示控制設(shè)備。拼接控制器的核心是其處理能力和穩(wěn)定性,基于計算機(jī)體系構(gòu)架的傳統(tǒng)控制器,其性能和穩(wěn)定性完全取決于它所依賴的計算機(jī),無論傳統(tǒng)控制器如何改進(jìn),最多只能算量的積累,難以獲得質(zhì)的提升。采用大規(guī)模FPGA陣列式組合處理構(gòu)架,全嵌入式硬件設(shè)計的拼接控制器集視頻信號采集、實(shí)時高分辨率數(shù)字圖像處理、二維高階數(shù)字濾波等高端圖像處理技術(shù)于一身,具有強(qiáng)大的處理能力。

  本文正是在這種背景下,設(shè)計了一種基于FPGA的視頻圖像處理算法,實(shí)現(xiàn)實(shí)時數(shù)字視頻的分割、插值放大,通過并行處理機(jī)制,保證了視頻的實(shí)時處理和畫面流暢。

  1 系統(tǒng)總體概述

  文中將完成一路監(jiān)控攝像頭采集的畫面在2×2的液晶拼接屏上顯示一幅完整大圖的效果。

  系統(tǒng)的總體框架圖如圖1所示。由網(wǎng)絡(luò)攝像頭采集到的視頻信號,經(jīng)過DVI接收器后,發(fā)出數(shù)據(jù)及控制信號供給FPGA。通過FPGA主控芯片對輸入的視頻信號進(jìn)行分割、插值放大等處理;視頻輸出模塊將FPGA處理后的數(shù)據(jù)再通過DVI接口輸出到屏幕上。

  

 

  只要數(shù)據(jù)讀出速度高于寫入速度,就不會使圖像產(chǎn)生突變現(xiàn)象,從而達(dá)到實(shí)時處理的目的。

  2 FPGA模塊的實(shí)現(xiàn)

  FPGA內(nèi)部系統(tǒng)對視頻圖像的處理如圖2所示。主要分為幀存儲模塊、分割模塊、插值模塊3部分。

  

 

  2.1 幀模塊及存儲模塊

  DVI接口是將顯卡中經(jīng)過處理的待顯示R、G、B數(shù)字信號與水平同步信號(Hsync,行同步信號)、垂直同步信號(Vsync,場同步信號)進(jìn)行組合,按最小非歸零編碼,將每個像素點(diǎn)按10 bit(8 bit像素數(shù)據(jù)和2 bit控制信號)的數(shù)字信號進(jìn)行并串轉(zhuǎn)換,把編碼后的R、G、B數(shù)字流與像素時鐘4組信號按照最小化傳輸差分信號(Transition Minimized Differential Signal,TMDS)方式進(jìn)行傳輸。

  FPGA的分時切換邏輯是依據(jù)輸入視頻流的垂直同步控制信號Vsync發(fā)生由高電平到低電平的轉(zhuǎn)換,以此作為新數(shù)據(jù)幀到來的標(biāo)識,如圖3所示。

  

 

  當(dāng)FPGA內(nèi)部的信號控制采集信號為0時,采集系統(tǒng)停止工作,地址發(fā)生器不計數(shù)。當(dāng)其為1時,系統(tǒng)處于采集狀態(tài)。首先只有Vsync上升沿到來后,才允許Hsync通過,從而保證采集的圖像為完整的一幀圖像。當(dāng)Vsync上升沿到來后,對所有計數(shù)器及觸發(fā)器清零。Vsync上升沿后,場消隱延時用來對Hsync計數(shù),場消隱期后,可以采集圖像。行同步計數(shù)器對Hsync進(jìn)行計數(shù)。在計數(shù)的每一行中,當(dāng)Hsync上升沿到來時,行消隱延時對其計數(shù)。行消隱過后,點(diǎn)同步計數(shù)器開始對其計數(shù)。當(dāng)行同步計數(shù)停止計數(shù)時,一幀圖像采集完畢,等待下一個Vsync到來。

  數(shù)據(jù)緩沖區(qū)為兩片SDRAM,以一幀圖像為單位進(jìn)行切換控制。采用乒乓存儲機(jī)制完成數(shù)據(jù)的無縫緩沖與處理。乒乓操作可以通過“輸入數(shù)據(jù)選擇控制”和“輸出數(shù)據(jù)選擇控制”按節(jié)拍、相互配合地進(jìn)行來回切換,將經(jīng)過緩沖的數(shù)據(jù)流沒有停頓地送到“后續(xù)處理”模塊。

  2.2 分割模塊

  由于一個像素的輸出值只取決于輸入圖像的相應(yīng)像素值,因此,可通過對每個輸入像素依次進(jìn)行處理這種流水化的處理模式,來實(shí)現(xiàn)對圖像的點(diǎn)操作。由于每個像素是單獨(dú)處理的,所以點(diǎn)操作很容易并行實(shí)現(xiàn)。因此,可以把圖像分割成若干部分,然后再對每個部分單獨(dú)進(jìn)行處理。

  視頻分割模塊實(shí)現(xiàn)單幀視頻圖像的分割剪裁,得到4路完整格式的子視頻像素流,并控制4個子視頻的相互時序關(guān)系,各個拼接屏幕的像素點(diǎn)的掃描規(guī)律相同,均為逐行掃描形式,并且子視頻像素點(diǎn)顯示同步,即行同步和場同步。

  2.3 算法的實(shí)現(xiàn)

  實(shí)現(xiàn)圖片處理的插值方法有很多,例如最近鄰插值、雙線性插值、雙三次插值等。最近鄰插值是最簡單的插值方式,但當(dāng)圖像中的像素灰度級有細(xì)微變化時,該方法會在圖像中產(chǎn)生人工的痕跡。雙三次插值可以得到更平滑的結(jié)果,但在存儲管理更復(fù)雜,并增加了邏輯資源的消耗。因此,選取了雙線性插值方法。

  與點(diǎn)操作的圖像分割不同,雙線性插值屬于幾何變換,其輸出的像素通常并不是來自同一個輸入像素位置。因此需要一些形式的緩存來處理由幾何形狀改變而引起的延遲。

  本文采用預(yù)載入緩存的方法來緩沖圖像數(shù)據(jù),并使用雙端口RAM來實(shí)現(xiàn)行緩沖器的設(shè)計方案。

  采用雙口RAM可在一個時鐘周期內(nèi)同時在每一行上提供兩個輸入像素,即提供了所有的4個像素。然后將數(shù)據(jù)輸送到插值計算模塊。而整幅圖像的存儲將保存在外部的幀緩存中,每個時鐘周期只能對其進(jìn)行一次訪問。每個像素應(yīng)僅從外部存儲器中讀取一次,然后暫存在片上緩存中用于隨后的窗口。將數(shù)據(jù)預(yù)載入緩存,每次訪問時直接從緩存中讀取像素,如圖4所示。共需計算兩次:一次用于載人緩存;一次用于執(zhí)行插值。輸入和輸出像素間的映射采用前向映射。

fpga相關(guān)文章:fpga是什么


負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉