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

?

去隔行的FPGA實現(xiàn)

2015-12-20 01:09周文彬
電子科技 2015年3期
關(guān)鍵詞:鋸齒閾值模塊

周文彬

(西安電子科技大學(xué)電子工程學(xué)院,陜西西安 710071)

隨著高清數(shù)字視頻的發(fā)展,人們對視頻清晰度的要求也不斷提高,隔行掃描帶來的虛影、閃爍,以及快速運動時的鋸齒現(xiàn)象等問題也變得越來越突出,從而影響了視覺觀感。解決上述問題的關(guān)鍵就在于去隔行技術(shù)。

所謂去隔行技術(shù)就是將隔行掃描的視頻轉(zhuǎn)換成逐行掃描的視頻。由于隔行掃描中,每場只傳送一幀中的1/2數(shù)據(jù),所以采用算法補齊缺失的另1/2數(shù)據(jù)組成完整一幀,是去隔行算法的關(guān)鍵。目前存在以下幾種方法:單場插值法、場合并法、運動自適應(yīng)算法。單場插值法就是利用本場數(shù)據(jù),直接通過復(fù)制本場前一行的數(shù)據(jù)或者兩行的平均值來填充缺失行。但此方法會使圖像變得柔和。場合并法即是將當(dāng)前場和前一場的數(shù)據(jù)直接進行合并得到一幀,這種方法對靜圖像效果較好,但對于運動圖像則會出現(xiàn)鋸齒現(xiàn)象。運動自適應(yīng)算法則是根據(jù)點是否運動來確定最后結(jié)果,此方法效果良好,得到了廣泛應(yīng)用[1]。

文中結(jié)合FPGA的優(yōu)勢,提出了一種運動檢測算法,該算法對傳統(tǒng)算法進行了改進,對運動點的檢測更為細致。該算法將圖像區(qū)分為運動點和靜止點,分別采用增強ELA算法插值的結(jié)果及前場數(shù)據(jù)值進行去隔行。最后將該算法在FPGA上得以實現(xiàn),得到了較為理想的實際效果。

1 系統(tǒng)總體結(jié)構(gòu)

系統(tǒng)的設(shè)計目標(biāo)是為了使輸入的隔行視頻,通過用FPGA實現(xiàn)去隔行算法,對隔行視頻進行處理,從而組成完整的一幀并顯示。

圖1為系統(tǒng)的總體結(jié)構(gòu),視頻前端數(shù)據(jù)采集由攝像頭的數(shù)據(jù)經(jīng)過A/D采集,并且經(jīng)過BT656解碼模塊得到最終數(shù)據(jù)。因為要對視頻數(shù)據(jù)進行4場緩存,所以數(shù)據(jù)緩存采用一塊DDR2 SDRAM。中間過程則是在FPGA內(nèi)部用程序?qū)崿F(xiàn)的去隔行算法并得到結(jié)果。對于顯示去隔行的結(jié)果,按照Cameralink協(xié)議送給后端的Cameralink轉(zhuǎn)VGA模塊進行輸出顯示,在VGA的顯示器上查看最終的去隔行效果。

圖1 系統(tǒng)總體結(jié)構(gòu)

2 FPGA各主要模塊的原理及功能

圖1給出了去隔行的FPGA實現(xiàn)及顯示的模塊框圖,以及各個模塊的聯(lián)系及數(shù)據(jù)走向。系統(tǒng)采用Altera公司Cyclone III實現(xiàn),為了提高設(shè)計的效果,本系統(tǒng)調(diào)用了其自帶的DDR2控制器IP核,以下對每部分的實現(xiàn)將做具體說明。

2.1 視頻采集進入

BT656是一種標(biāo)準(zhǔn)的視頻數(shù)據(jù)格式,完整的一幀圖像數(shù)據(jù)是由一個625行、每行1728個字節(jié)的數(shù)據(jù)塊組成。其中,23~311行是偶場視頻數(shù)據(jù),336~624行是奇場視頻數(shù)據(jù),其余行為垂直控制信號。為了后續(xù)去隔行的方便運用,在這里對于攝像頭輸入的BT656格式的視頻數(shù)據(jù),編寫了BT656解碼模塊,將原本一幀的數(shù)據(jù)拆分成奇偶場的數(shù)據(jù)進行輸出給后端,并給出了相應(yīng)的指示奇偶信號及行列計數(shù)器,以便后端進行采樣[2]。

2.2 DDR2控制模塊

因為去隔行的運動檢測需要采用4場的數(shù)據(jù)進行操作,所以本模塊的主要功能是對進來的視頻數(shù)據(jù)進行緩存處理。由圖1可知,在DDR2 SDRAM中需要開辟4場視頻區(qū)域的大小。并且由于視頻數(shù)據(jù)是不斷進入的,所以需要不斷地往DDR2中寫入數(shù)據(jù)。同時后端去隔行模塊也要不斷讀取DDR2 SDRAM中的4場數(shù)據(jù)。這樣 1進 4出,并且每個并行塊對 DDR2 SDRAM的訪問均為獨占方式,就有可能出現(xiàn)資源沖突。所以總線仲裁就是本模塊的關(guān)鍵,在對 DDR2 SDRAM的工作頻率和數(shù)據(jù)率,以及視頻數(shù)據(jù)進入的頻率評估后,設(shè)計出了底層DDR2的控制模塊對寫入和讀出之間的協(xié)調(diào)。在寫操作時,先用FPGA內(nèi)部的FIFO進行緩存,在其沒有達到一次突發(fā)寫長度時,讀狀態(tài)機依次將總線交給讀取 Fn-1、Fn-2、Fn-3、Fn-4中的4個讀模塊,并且在此期間,不斷檢查寫是否滿足突發(fā)長度,若寫滿足了一次突發(fā)時,則將內(nèi)部緩存數(shù)據(jù)一次性寫入DDR2 SDRAM中。這樣非寫即讀的方式,則可以較好地完成對去隔行模塊的數(shù)據(jù)支持[3]。

2.3 去隔行模塊

去隔行模塊是系統(tǒng)的核心。它主要分為:運動檢測部分,增強型ELA算法和結(jié)果選擇部分。

2.3.1 增強型ELA部分

為保護邊緣及消除鋸齒,對于完全運動的點,采用增強型ELA算法[4]。該算法的主要思想如下

圖2 增強ELA點示意圖

以黑點為要求取的結(jié)果點X,白點為當(dāng)前場上下兩行的點,則X為

此算法實質(zhì)是將當(dāng)前場上下兩行緩存后,按上述步驟取出相關(guān)點進行計算,從而得到丟失場的對應(yīng)點。此模塊的結(jié)果需要在FPGA內(nèi)部進行一定行數(shù)的緩存,因其既要作為最終結(jié)果輸出,又要被運動檢測所用。

2.3.2 運動檢測部分

運動檢測部分是去隔行算法的關(guān)鍵,運動檢測好,則最終效果較好。本去隔行算法主要采用5×5領(lǐng)域內(nèi)的所有點進行相關(guān)統(tǒng)計來完成運動檢測,這樣取的點更多,雖然硬件上更為復(fù)雜,但是可以取得更好的效果。具體步驟如下:首先將 Fn-1,F(xiàn)n-2組成幀 1,然后將 Fn-3,F(xiàn)n-4組成幀 2,然后兩幀相減,以某點為中心,取5×5鄰域的所有點進行統(tǒng)計,得到結(jié)果d1,然后與預(yù)先設(shè)定好的閾值進行比較,若其大于或等于閾值,則判定為運動點,若其小于閾值則判定為非運動點。這里的閾值,是通過在軟件上對大量實際圖像數(shù)據(jù)進行相關(guān)過程的仿真后,從而得出的一個綜合值

傳統(tǒng)算法一般只進行了第一步的運動檢測,這樣硬件上實現(xiàn)雖簡單,但此時僅用兩幀的信息進行判定運動點,若有高于幀頻的運動,則可能無法檢出。所以在第一步的基礎(chǔ)之上,增加了第二步ELA運動檢測。即通過增強ELA插值出來的丟失場,再次和前場的圖像進行相減得到結(jié)果d2,并且和閾值進行比較,這樣將兩次的運動檢測相或,就能夠檢出第一步未檢出的運動點,從而更好地完成運動檢測,其中1為運動點,0為靜止點[4-6]

2.3.3 結(jié)果選擇部分

該模塊完成的主要功能是對數(shù)據(jù)進行選擇性輸出。因為要完整地輸出一幀圖像,所以當(dāng)前場的圖像便直接進行輸出即可。而對于要補充的缺失場,則根據(jù)運動檢測結(jié)果進行輸出。若運動檢測為靜止點,則將前一場的像素點進行輸出;若運動檢測為運動點,則將ELA插值得到的結(jié)果輸出。這就完成了整個去隔行結(jié)果。

上述模塊設(shè)計難點在于要用到多個數(shù)據(jù)點,而且所采用數(shù)據(jù)點的分布是呈窗狀的,所以要使用FPGA內(nèi)部多條RAM塊進行數(shù)據(jù)緩存和交替切換。同時為了保持數(shù)據(jù)的處理速度,爭取一個周期出一個數(shù),使用了流水線技術(shù)進行計算,從而得到所需結(jié)果。下面結(jié)合實例對RAM條操作:因需對5×5的窗狀數(shù)據(jù)進行統(tǒng)計,將從底層DDR2模塊取出的兩行數(shù)據(jù)減后,存入第一條RAM,依次存入到第5條的第5個數(shù)據(jù)時,便己達到5×5的鄰域點,可以進行相關(guān)統(tǒng)計,在下一個數(shù)存入RAM前,將寄存的5×5數(shù)據(jù)的第一列丟棄,后4列依次前向寄存。同時將下一列數(shù)據(jù)從RAM中取出,和寄存的前4列又組成一個新的鄰域進行統(tǒng)計。當(dāng)?shù)?行數(shù)據(jù)進來時,相當(dāng)于對第一條RAM進行覆蓋寫入,這時鄰域窗的第5行則等同于第一條RAM的數(shù),依次類推,完成對RAM的操作。

2.4 Cameralink顯示模塊

本模塊的主要功能是將去隔行產(chǎn)生的數(shù)據(jù)結(jié)果按照Cameralink數(shù)字時序送給后端的Cameralink轉(zhuǎn)VGA模塊,以便在VGA上進行顯示,Cameralink時序如圖3所示。

圖3 Cameralink時序圖

圖中,cam_fe為幀同步信號;cam_le為行同步信號;cam_de為數(shù)據(jù)同步信號;cam_data即為送給后端的去隔行的結(jié)果。其中行同步信號和數(shù)據(jù)同步一致,有效數(shù)據(jù)必須在cam_de為高電平時輸出。后端Cameralink轉(zhuǎn)VGA屬于另一系統(tǒng),這里不做詳述。

3 實驗結(jié)果

圖4 組合幀結(jié)果

圖5 單場內(nèi)插結(jié)果

圖6 本文算法結(jié)果

從實際結(jié)果可以看出,組合幀方法對靜止圖像效果良好,但只要運動就會有鋸齒的出現(xiàn);而單場插值的結(jié)果對運動沒有鋸齒,但圖像較為模糊,清晰度不夠。本文去隔行實現(xiàn)的效果較為有效地克服了鋸齒、模糊等現(xiàn)象,使圖像質(zhì)量得到了明顯提高。

4 結(jié)束語

在對現(xiàn)有的去隔行算法的分析基礎(chǔ)之上,提出了改進的方法,得到了一種新的去隔行算法。使用FPGA在實際的硬件平臺上加以實現(xiàn),實際效果表明,該系統(tǒng)能較好的去除隔行掃描帶來的細節(jié)模糊以及運動鋸齒等現(xiàn)象,適用于工程實踐。

[1]Altera Conpration.使用FPGA實現(xiàn)高清晰去隔行功能白皮書[M].San Jose:Altera Conpration,2009.

[2]李娟.基于FPGA的圖像預(yù)處理及顯示系統(tǒng)設(shè)計[D].長春:中國科學(xué)院長春光學(xué)精密機械與物理研究所,2011.

[3]Altera Conpration.DDR and DDR2 SDRAM controller compiler user guide[M].San Jose:Altera Conpration,2009.

[4]蔡玉強,楊剛,蔣泉,等.一種新型去隔行算法的FPGA實現(xiàn)[J].現(xiàn)代顯示,2010(1):51-56.

[5]周津,姚素英,柳崎峰.一種基于全局運動統(tǒng)計和邊緣平滑濾波的視頻去隔行方法[J].電子技術(shù)應(yīng)用,2008,34(8):126-129.

[6]黃敏敏.去隔行算法研究及其FPGA實現(xiàn)[D].廈門:廈門大學(xué),2006.

猜你喜歡
鋸齒閾值模塊
28通道收發(fā)處理模塊設(shè)計
“選修3—3”模塊的復(fù)習(xí)備考
猛犸殺手——鋸齒虎
小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
基于自適應(yīng)閾值和連通域的隧道裂縫提取
比值遙感蝕變信息提取及閾值確定(插圖)
鋸齒線在整形美容領(lǐng)域的應(yīng)用
室內(nèi)表面平均氡析出率閾值探討
集成水空中冷器的進氣模塊
傷口多了就是鋸
广丰县| 崇仁县| 平陆县| 建始县| 永丰县| 屯留县| 佛教| 成武县| 石河子市| 荥阳市| 江安县| 保亭| 赤城县| 凤凰县| 大新县| 雷山县| 大姚县| 玛纳斯县| 蕲春县| 邛崃市| 乐至县| 麦盖提县| 砚山县| 梅州市| 玉环县| 白沙| 新乡市| 涿鹿县| 朝阳区| 庆阳市| 诸暨市| 措勤县| 葫芦岛市| 兰溪市| 许昌市| 贺兰县| 邵武市| 新乡县| 青神县| 盐边县| 湘乡市|