<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 視頻圖像灰度信號直方圖均衡的FPGA實現(xiàn)

          視頻圖像灰度信號直方圖均衡的FPGA實現(xiàn)

          作者: 時間:2010-12-26 來源:網(wǎng)絡 收藏

          直方圖作為一種基礎的圖像處理方法在很多領域得到應用,但大多是通過DSP或者CPU編程實現(xiàn),其優(yōu)點是靈活性比較高,調(diào)試方便,最大的缺點是很難做到實時或者準實時處理,這在某些領域是不可接受的。而使用實現(xiàn)可以很好地解決實時處理的難題,而且目前的資源容量已經(jīng)很豐富,片內(nèi)的SRAM/PLL/邏輯資源已經(jīng)足以應對一般圖像處理算法的需要,同時隨著價格的不斷下降,客觀上使得成為圖像處理算法實現(xiàn)不錯的選擇。

          本文引用地址:http://www.ex-cimer.com/article/191407.htm

            本文主要介紹在FPGA上實現(xiàn)直方圖算法的總體結(jié)構(gòu)和最重要的兩個子模塊的實現(xiàn)細節(jié),以及最終的實現(xiàn)結(jié)果。

            1 直方圖的理論基礎

            原始圖像值r歸一化在0~1之間,p(r)為原始圖像分布的概率密度函數(shù)。直方圖均衡化處理實際上就是尋找一個變換函數(shù)T,使得變化后的灰度值s=T(r), 其中,s歸一化為0~1,即建立r與s之間的映射關(guān)系,要求處理后圖像灰度分布的概率密度函數(shù)p(s)=1,期望所有灰度級出現(xiàn)概率相同。

            對于數(shù)字圖像離散情況,其直方圖均衡化處理的計算步驟如下:

            (1)統(tǒng)計原始圖像的直方圖

          公式

            式中,rk是歸一化的輸入圖像灰度;nk是輸入圖像中歸一化灰度等于rk的像素個數(shù);n是輸入圖像的像素總數(shù)。

            (2)計算直方圖累積分布曲線

          公式

            (3)用累積分布函數(shù)作變換函數(shù)進行圖像灰度變換

            根據(jù)計算得到的累積分布函數(shù),建立輸入圖像與輸出圖像灰度之間的對應關(guān)系,最后要將變換后的灰度恢復成原先范圍。

            2 FPGA實現(xiàn)的總體結(jié)構(gòu)

            從上面對直方圖均衡算法的描述可知,在進行直方圖均衡以前,首先必須對圖像灰度進行統(tǒng)計,然后再計算輸出。而要統(tǒng)計一幅圖像的全局灰度信息,就不得不把整幅圖像先寫入緩存。雖然FPGA內(nèi)部的SRAM資源豐富,但是仍然無法滿足整幅圖像存儲的需要。因此,需要以SDRAM作為圖像緩存,存儲前后兩場,然后再計算輸出。SDRAM的容量、速度都能滿足直方圖均衡算法的要求,唯一的缺點是必須有相應的SDRAM控制器控制SDRAM的讀寫和刷新操作。下面簡要介紹總體實現(xiàn)的方案,其實現(xiàn)框圖如圖1所示。

          實現(xiàn)框圖

            從圖1中可以看出,在輸入端,模擬復合視頻數(shù)據(jù)經(jīng)過解碼進入FPGA,在FPGA里先對數(shù)據(jù)進行簡單處理,產(chǎn)生內(nèi)部使用的行同步信號/場同步信號/數(shù)據(jù)有效信號和16bit YUV4:2:2格式的視頻信號。然后,灰度信息進入灰度直方圖統(tǒng)計模塊對當前灰度信息出現(xiàn)的頻率加以統(tǒng)計,將統(tǒng)計信息以乒乓的方式存入SRAM,與此同時所有視頻數(shù)據(jù)通過“寫”控制模塊和SDRAM控制器存入SDRAM;在輸出端,在“讀”控制單元的控制下通過SDRAM控制模塊從SDRAM讀出上一場的數(shù)據(jù)進入灰度變換模塊,根據(jù)存儲的上一場的灰度統(tǒng)計信息,對數(shù)據(jù)進行灰度變換。這樣就完成了完整的灰度直方圖均衡變換。

            如果需要在顯示設備(如PC顯示器)上顯示,還必須要有時序產(chǎn)生/圖像數(shù)據(jù)格式變換等模塊。另外,由于需要對某些內(nèi)部參數(shù)進行調(diào)整(如SDRAM的Latency等),必須有一個控制接口和外部相連,在這里使用了一個I2C協(xié)議接口。

            在所有模塊中最主要的實現(xiàn)單元主要有兩大部分,一個是直方圖統(tǒng)計和灰度變換模塊,另一個是SDRAM控制器和讀寫控制單元。下面將詳細介紹這兩部分。

            3 直方圖統(tǒng)計的實現(xiàn)結(jié)構(gòu)

            直方圖統(tǒng)計是通過FPGA內(nèi)部兩塊雙端口SRAM的乒乓操作實現(xiàn)的。其中每塊SRAM的地址反映了灰度值的大小,而SRAM每個單元的數(shù)據(jù)寬度必須相應于每場圖像的像素數(shù)量。例如,對于我國PAL制的電視圖像來說,根據(jù)ITU-R BT.601/656數(shù)字視頻標準規(guī)定每一場數(shù)字化后的,它的有效數(shù)據(jù)是每行720個有效點,每場288個有效行,每場總共207360個有效像素點,平均每個點16bit的數(shù)據(jù)量,其中有8bit灰度數(shù)據(jù)。所以在選取SRAM的大小時,應該選擇容量為256(2的8次方)、數(shù)據(jù)寬度為18位(207 360大于2的17次方)的SRAM。但是為了擴展的方便,實際使用中使用了容量為256、數(shù)據(jù)寬度為22位的SRAM,這樣可以對數(shù)據(jù)量更大的圖像加以處理。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 視頻圖像 灰度 均衡

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();