《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 視頻圖像灰度信號直方圖均衡的FPGA實現

視頻圖像灰度信號直方圖均衡的FPGA實現

2008-03-27
作者:魯恒

  摘 要: 介紹了視頻圖像" title="視頻圖像">視頻圖像灰度信號直方圖均衡" title="直方圖均衡">直方圖均衡實時處理" title="實時處理">實時處理的FPGA實現,重點介紹了灰度信號直方圖統計和SDRAM控制器實現的方案。
  關鍵詞: 直方圖均衡 直方圖統計 FPGA SDRAM控制器


  直方圖均衡作為一種基礎的圖像處理方法在很多領域得到應用,但大多是通過DSP或者CPU編程實現,其優點是靈活性比較高,調試方便,最大的缺點是很難做到實時或者準實時處理,這在某些領域是不可接受的。而使用FPGA實現可以很好地解決實時處理的難題,而且目前的FPGA資源容量已經很豐富,片內的SRAM/PLL/邏輯資源已經足以應對一般圖像處理算法的需要,同時隨著價格的不斷下降,客觀上使得FPGA成為圖像處理算法實現不錯的選擇。
  本文主要介紹在FPGA上實現直方圖均衡算法的總體結構和最重要的兩個子模塊的實現細節,以及最終的實現結果。
1 直方圖均衡的理論基礎
  原始圖像灰度值r歸一化在0~1之間,p(r)為原始圖像灰度分布的概率密度函數。直方圖均衡化處理實際上就是尋找一個灰度變換函數T,使得變化后的灰度值s=T(r), 其中,s歸一化為0~1,即建立r與s之間的映射關系,要求處理后圖像灰度分布的概率密度函數p(s)=1,期望所有灰度級出現概率相同。
  對于數字圖像離散情況,其直方圖均衡化處理的計算步驟如下:
  (1)統計原始圖像的直方圖
  
  式中,rk是歸一化的輸入圖像灰度;nk是輸入圖像中歸一化灰度等于rk的像素個數;n是輸入圖像的像素總數。
  (2)計算直方圖累積分布曲線
  
  (3)用累積分布函數作變換函數進行圖像灰度變換
  根據計算得到的累積分布函數,建立輸入圖像與輸出圖像灰度之間的對應關系,最后要將變換后的灰度恢復成原先范圍。
2 FPGA實現的總體結構
  從上面對直方圖均衡算法的描述可知,在進行直方圖均衡以前,首先必須對圖像灰度進行統計,然后再計算輸出。而要統計一幅圖像的全局灰度信息,就不得不把整幅圖像先寫入緩存。雖然FPGA內部的SRAM資源豐富,但是仍然無法滿足整幅圖像存儲的需要。因此,需要以SDRAM作為圖像緩存,存儲前后兩場視頻圖像,然后再計算輸出。SDRAM的容量、速度都能滿足直方圖均衡算法的要求,唯一的缺點是必須有相應的SDRAM控制器控制SDRAM的讀寫和刷新操作。下面簡要介紹總體實現的方案,其實現框圖如圖1所示。


  從圖1中可以看出,在輸入端,模擬復合視頻數據經過視頻圖像解碼進入FPGA,在FPGA里先對數據進行簡單處理,產生內部使用的行同步信號/場同步信號/數據有效信號和16bit" title="16bit">16bit YUV4:2:2格式的視頻信號。然后,灰度信息進入灰度直方圖統計模塊對當前灰度信息出現的頻率加以統計,將統計信息以乒乓的方式存入SRAM,與此同時所有視頻數據通過“寫”控制模塊和SDRAM控制器存入SDRAM;在輸出端,在“讀”控制單元" title="控制單元">控制單元的控制下通過SDRAM控制模塊從SDRAM讀出上一場的數據進入灰度變換模塊,根據存儲的上一場的灰度統計信息,對數據進行灰度變換。這樣就完成了完整的灰度直方圖均衡變換。
  如果需要在顯示設備(如PC顯示器)上顯示,還必須要有時序產生/圖像數據格式變換等模塊。另外,由于需要對某些內部參數進行調整(如SDRAM的Latency等),必須有一個控制接口和外部相連,在這里使用了一個I2C協議接口。
在所有模塊中最主要的實現單元主要有兩大部分,一個是直方圖統計和灰度變換模塊,另一個是SDRAM控制器和讀寫控制單元。下面將詳細介紹這兩部分。
3 直方圖統計的實現結構
  直方圖統計是通過FPGA內部兩塊雙端口SRAM的乒乓操作實現的。其中每塊SRAM的地址反映了灰度值的大小,而SRAM每個單元的數據寬度必須相應于每場圖像的像素數量。例如,對于我國PAL制的電視圖像來說,根據ITU-R BT.601/656數字視頻標準規定每一場數字化后的視頻圖像,它的有效數據是每行720個有效點,每場288個有效行,每場總共207360個有效像素點,平均每個點16bit的數據量,其中有8bit灰度數據。所以在選取SRAM的大小時,應該選擇容量為256(2的8次方)、數據寬度為18位(207 360大于2的17次方)的SRAM。但是為了擴展的方便,實際使用中使用了容量為256、數據寬度為22位的SRAM,這樣可以對數據量更大的圖像加以處理。
  每當一個新的圖像數據進入統計模塊,就將SRAM內相應地址的統計數據讀出,累加后再存入該地址。由于前后數據可能是一樣的,會造成對同一個SRAM地址同時讀寫而引起錯誤。這就需要一個模塊對整個過程加以控制。基本的思路是:對前后數據進行比較,若前后數據相等就將計數器累加,直到發現數據不等才將統計數據寫入SRAM,這樣就從根本上避免了讀寫同一個地址的可能性。直方圖統計狀態機實現框圖如圖2所示。


  由于使用了乒乓模式(一塊SRAM用于當前場的統計,另一塊用于前一場灰度均衡的計算),狀態機在上電復位后首先需要將用于統計的SRAM清空,這可以利用視頻的場消隱時間加以處理(相應的狀態機狀態是CLEAR SRAM狀態),然后等待有效數據進入(對應于STBY狀態),一旦有效灰度數據進入,狀態機就進入統計狀態0(CALCULATION HISTOGRAM STEP0)。此時,首先讀出SRAM相應于該灰度值的數據,同時將數據延遲并觀察前后數據是否相同,如相同則繼續停留在該狀態,將計數器加1;否則進入統計狀態1(CALCULATION HISTOGRAM STEP1)。進入狀態1后,計算上一個灰度值的統計數據(將從SRAM中讀出的值加上計數器的值再加1)存入SRAM,同時還要讀出SRAM里相應于當前灰度值的數據。此后的工作與狀態0相似。以此類推,狀態不斷在狀態0和狀態1之間切換,直到有效數據結束后進入統計狀態2(CALCULATION HISTOGRAM STEP2),狀態2 的作用是將這一行的最后一個灰度數據的統計信息寫入SRAM。隨后回到STBY狀態,等待下一行數據。當所有有效行都統計完后,進入狀態機的統計狀態3(CALCULATION HISTOGRAM STEP3),重新將灰度統計數據累計后存入SRAM。
4 SDRAM 控制器的實現結構
  輸入輸出視頻圖像的速度(13.5MHz)遠低于SDRAM的最高速度(143MHz),假如以單個數據對SDRAM讀寫(Single Write/Single Read),根本無法發揮SDRAM高速的優勢,所以必須使用SDRAM的突發模式(BURST MODE),即一次讀出或者寫入多個數據。以美光公司(MICRON)MT48LC1M16A1S SDRAM為例,它支持1、2、4、8個字或者整頁(256個字)的讀寫。由于屬于兩個時鐘域,所以必須對寫入或者讀出SDRAM的數據緩存。在這里,讀寫模塊分別使用兩個深度為64、寬度為16bit的雙口SRAM以乒乓的方式加以實現。一次突發模式讀寫的數據量都是64個字,因此選擇深度為64的SRAM是一種折衷的辦法,數據過少無法發揮突發模式的優勢,數據過大則需要更多的SRAM作為緩存,使開銷過高。實踐證明一次讀寫64個數據比較合適。
  由于SDRAM結構的特殊性,它的讀寫刷新操作需要滿足一定的時序要求,所以需要專門的控制器來維護對SDRAM的操作。圖3是Hynix Electronics公司HY5DV641622AT 的SDRAM的狀態機框圖,該框圖包含SDRAM上電時序、模式寄存器的設置、讀寫控制、預充電和定時刷新等多個環節。控制器的具體實現可以參考Xillinx或者Altera公司相關文檔和各家DRAM廠商的資料。


  需要說明的是對SDRAM的地址劃分問題。由于采用了乒乓模式,SDRAM也自然被劃分為兩個部分,一部分用于當前場的存儲,另一部分用于前一場的讀取,也就是說在存儲/統計當前場的同時,將前一場讀出并且計算灰度后輸出。至于地址的具體劃分則要考慮到SDRAM容量大小和輸入視頻大小。以MT48LC1M16A1S SDRAM為例,該SDRAM 的結構是512K×16×2,每塊SDRAM被分為兩個BANK,每個BANK有2 048行,每行256個16bit的字,總計1M字。而PAL制電視以ITU656數字化后的單場數據大約是202K字,NTSC大約是170K字,480P(YUV4:2:2格式)每幀大約是337K字,所以可以考慮將SDRAM以BANK劃分,每個BANK存儲一場/一幀。
  另外一個問題牽涉到邏輯地址到物理地址的映射問題,即由于PAL制每行有720個點,而SDRAM每行只有256個存儲單元,所以一行圖像需要占據稍小于三行的SDRAM空間,三行中的最后一行的最后一點空間不加利用。SDRAM讀寫控制單元的地址產生模塊需要注意這一點。SDRAM的具體劃分圖如圖4所示。


5 實驗結果與說明
  實驗結果如圖5、圖6所示。從實驗結果可以看出,直方圖均衡后的圖像對比度得到了明顯的提高。但是,直方圖均衡算法的缺點同樣明顯,噪聲對直方圖均衡的影響非常大。從對原圖的處理結果就可以看到,原圖的背景噪聲并不明顯,但是經過直方圖均衡后變得非常突出。這就需要對算法進行改進,例如對局部圖像進行統計,然后和全局圖像統計數據進行比較,最后決定是否對該區域進行均衡。但這超出了本文的論述范圍。

?


參考文獻
1 Gonzalez R C. Digital image processing. 北京:電子工業出版社, 2003
2 XAPP 134(V3.4). Synthesizable high-performance SDRAM controllers. Xilinx公司, 2005
3 SDR SDRAM controller white paper. Altera公司,2005
4 MT48LC1M16A1S data Sheet.Micron 公司,1999
5 HY5DV641622 data sheet. Hynix Electronic公司,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产欧美日韩| 日韩一二在线观看| 欧美午夜宅男影院| 欧美v亚洲v综合ⅴ国产v| 久久精品国产精品| 午夜视频在线观看一区| 亚洲一区二区在线| 亚洲图片在区色| 99视频精品免费观看| 亚洲日本乱码在线观看| 亚洲第一搞黄网站| 亚洲第一精品夜夜躁人人躁| 亚洲在线一区二区三区| 中日韩美女免费视频网站在线观看| 亚洲毛片一区| 亚洲美女av电影| 日韩视频免费在线| 亚洲另类黄色| 日韩香蕉视频| 亚洲天堂视频在线观看| 亚洲色无码播放| 亚洲午夜电影| 亚洲一区欧美一区| 香蕉尹人综合在线观看| 性伦欧美刺激片在线观看| 欧美一区91| 亚洲国产另类 国产精品国产免费| 亚洲第一在线| 亚洲日韩中文字幕在线播放| 日韩亚洲不卡在线| 在线一区二区三区四区五区| 艳女tv在线观看国产一区| 亚洲视频电影图片偷拍一区| 亚洲尤物在线| 欧美一区二区在线观看| 久久久www免费人成黑人精品 | 激情亚洲成人| 亚洲二区视频| 99视频在线观看一区三区| 亚洲香蕉成视频在线观看| 欧美一级大片在线观看| 久久精品国产精品| 亚洲精品国产精品久久清纯直播| 亚洲精品日韩综合观看成人91| 99日韩精品| 香蕉免费一区二区三区在线观看 | 国产精品欧美一区喷水| 国内精品视频在线播放| 亚洲黄色成人久久久| 一本久久a久久精品亚洲| 亚洲一区二区综合| 久久精品国产一区二区三区| 亚洲人体大胆视频| 亚洲一区二区三区四区在线观看| 欧美一级日韩一级| 久久阴道视频| 国产精品国产a| 影音先锋亚洲电影| 亚洲性xxxx| 亚洲人成绝费网站色www| 亚洲小说春色综合另类电影| 久久久亚洲成人| 欧美区视频在线观看| 国产日韩欧美视频| 亚洲免费观看高清在线观看| 亚洲欧洲99久久| 99v久久综合狠狠综合久久| 欧美在线免费视屏| 欧美日韩hd| 国内精品一区二区| 一区二区三区成人精品| 久久狠狠亚洲综合| 亚洲一区一卡| 欧美福利影院| 国产亚洲综合性久久久影院| 日韩视频免费看| 亚洲国产福利在线| 欧美一区2区视频在线观看 | 欧美日韩三级一区二区| 伊人精品成人久久综合软件| 一本色道久久| 亚洲国产一区在线| 香蕉成人久久| 欧美日韩高清一区| 国产欧美欧洲在线观看| 亚洲精品一区二区三区婷婷月| 亚洲专区一二三| 久久精品二区| 亚洲专区免费| 欧美成人精品| 国产精品网红福利| 亚洲欧洲一级| 欧美一进一出视频| 正在播放欧美视频| 欧美黄色一区二区| 国产午夜亚洲精品羞羞网站| 亚洲精品乱码久久久久久黑人| 午夜精品视频在线观看一区二区| 亚洲乱码精品一二三四区日韩在线 | 亚洲丰满少妇videoshd| 亚洲欧美日韩另类| 99香蕉国产精品偷在线观看| 久久精品五月| 国产精品麻豆成人av电影艾秋| 亚洲激情校园春色| 久久www成人_看片免费不卡| 午夜欧美不卡精品aaaaa| 欧美日韩精品一区二区三区四区 | 免费成人网www| 国产欧美日韩激情| 999亚洲国产精| 99综合精品| 免费观看一级特黄欧美大片| 国产女精品视频网站免费| 日韩一级免费观看| 亚洲美女视频在线免费观看| 久久精品人人做人人综合| 国产精品毛片va一区二区三区| 亚洲精品免费在线观看| 亚洲乱码视频| 免费亚洲视频| 国内久久视频| 欧美中文字幕第一页| 欧美一区三区二区在线观看| 欧美午夜女人视频在线| 亚洲精品孕妇| 日韩亚洲不卡在线| 欧美国产日韩精品| 亚洲第一天堂无码专区| 久久福利资源站| 一区二区av在线| 欧美精品aa| 亚洲黄色视屏| 亚洲人成毛片在线播放| 欧美乱大交xxxxx| 亚洲毛片在线观看| 这里只有精品电影| 国产精品白丝av嫩草影院| 99在线观看免费视频精品观看| 99精品热视频只有精品10| 欧美高清一区| 亚洲国产高清在线| 亚洲人线精品午夜| 欧美女主播在线| av不卡免费看| 亚洲综合精品四区| 国产精品视频一二| 亚洲午夜一级| 欧美一区二区日韩| 在线播放亚洲一区| 亚洲日本中文字幕免费在线不卡| 久久九九精品99国产精品| 国模精品一区二区三区| 久久黄金**| 欧美国产精品人人做人人爱| 一道本一区二区| 午夜一区二区三区不卡视频| 国产女优一区| 久久精品91久久香蕉加勒比| 久久综合色婷婷| 亚洲激情在线| 欧美一二三区在线观看| 国产视频一区三区| 亚洲电影下载| 欧美喷潮久久久xxxxx| 亚洲视频专区在线| 欧美一区二区免费| 91久久亚洲| 亚洲一区国产| 国产欧美在线看| 亚洲电影免费在线观看| 欧美精品一区二区三区久久久竹菊 | 欧美一区二区三区电影在线观看| 久久久久久久高潮| 1024成人| 性色av一区二区三区在线观看| 国产无一区二区| 91久久综合| 欧美日韩专区| 欧美在线播放一区| 欧美激情视频网站| 亚洲欧美日韩综合| 你懂的视频欧美| 一区二区三区三区在线| 久久久国产精彩视频美女艺术照福利 | 国产日产亚洲精品| 亚洲精品美女免费| 国产精品久久久久aaaa| 久久精品99久久香蕉国产色戒| 欧美激情aⅴ一区二区三区| 夜夜爽99久久国产综合精品女不卡| 久久在线观看视频| 9人人澡人人爽人人精品| 久久精品国产91精品亚洲| 最新国产拍偷乱拍精品| 销魂美女一区二区三区视频在线| 国内精品美女av在线播放| 亚洲欧美清纯在线制服| 在线精品高清中文字幕| 亚洲影视在线|