《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的HDTV視頻圖像灰度直方圖統(tǒng)計算法設計
基于FPGA的HDTV視頻圖像灰度直方圖統(tǒng)計算法設計
摘要: 本文介紹了如何在FPGA 中利用Block RAM 的特殊結(jié)構(gòu)實現(xiàn)HDTV 視頻增強算法中灰度直方圖統(tǒng)計。
關(guān)鍵詞: FPGA HDTV 視頻圖像 Spartan-3E
Abstract:
Key words :

       引言

       隨著HDTV 的普及,以LCD-TV 為主的高清數(shù)字電視逐漸進入蓬勃發(fā)展時期。與傳統(tǒng)CRT 電視不同的是,這些高清數(shù)字電視需要較復雜的視頻處理電路來驅(qū)動,比如:模數(shù)轉(zhuǎn)換(A/D Converter)、去隔行(De-interlacer)、視頻縮放(Scaler)和視頻圖像增強(Video Enhancement)等等。由于HDTV 的帶寬較高,720p 信號(1280×720?Hz)的像素速率達到74MHz,因此針對HDTV 的視頻處理算法需要更高性能的器件。采用大規(guī)模高工藝的ASIC 芯片是目前這個問題的主要解決方案,Pixelworks、Genesis 等公司均推出了基于大規(guī)模ASIC 的解決方案。但是,隨著FPGA 工藝的不斷改善,其性價比與日俱增,尤其是Xilinx、Altera 等廠商紛紛采用90nm 工藝量產(chǎn)后,其價格不斷降低,Xilinx 最新推出的Spartan-3E系列FPGA 120 萬門的售價只有9 美元,已經(jīng)在小量產(chǎn)品的IC 設計中開始替代結(jié)構(gòu)化ASIC,在數(shù)字高清電視這類價格敏感型消費類電子產(chǎn)品中也開始大量采用。

       本文介紹了如何在FPGA 中利用Block RAM 的特殊結(jié)構(gòu)實現(xiàn)HDTV 視頻增強算法中灰度直方圖統(tǒng)計。

 

       灰度直方圖統(tǒng)計

       灰度直方圖統(tǒng)計是圖像處理過程中很常用的一個步驟,簡單來講,就是對一幅圖像各個灰度的像素進行計數(shù),得到一張灰度分布表。例如,8 位量化的灰度圖像統(tǒng)計結(jié)果就是256個值,分別代表0-255 每個灰度像素的數(shù)量,如圖1 所示為Lena 圖像的灰度直方圖統(tǒng)計結(jié)果。直方圖是分析一幅圖像亮度分布特性有力的工具,根據(jù)它的結(jié)果可以進行諸如灰度拉伸、自動對比度、動態(tài)伽馬調(diào)整等操作。

Lena 圖像的灰度直方圖統(tǒng)計

圖1 Lena 圖像的灰度直方圖統(tǒng)計

 

       FPGA算法統(tǒng)計

       在計算機或者DSP 上實現(xiàn)直方圖統(tǒng)計時,我們通常會使用數(shù)組結(jié)構(gòu),即在內(nèi)存中開辟一個整數(shù)數(shù)組來進行計數(shù),但是在FPGA 中定義數(shù)組是非常消耗資源的,尤其是當數(shù)組成員的位寬很大時。例如用觸發(fā)器來統(tǒng)計256 灰度的720p 圖像的直方圖,將消耗4000 個邏輯單元(每個邏輯單元是一個四輸入查找表),這幾乎消耗了一個Spartan-3E 25 萬門器件(XC3S250E)80%的邏輯資源。

       幸運的是,F(xiàn)PGA 器件提供了一個很好的結(jié)構(gòu)可以處理這類問題,這就是Block RAM。在Altera 和Xilinx 的各型號FPGA 器件上都集成了一種稱為Block RAM 的片上內(nèi)存,它們以若干Kbits 為一塊,不同型號集成不同數(shù)量的塊,例如在Spartan-3E 系列中以18Kbits 為一塊,在規(guī)模最小的型號XC3S100E 上集成了4 塊這樣的內(nèi)存,如圖2 所示:

Spartan-3E 系列FPGA 集成的Block RAM

圖2 Spartan-3E 系列FPGA 集成的Block RAM

       這種內(nèi)存很容易實現(xiàn)數(shù)組類型的結(jié)構(gòu),而且這種內(nèi)存被設計成雙端口方式,即可以用兩組獨立的地址數(shù)據(jù)總線來讀寫,因此可以用不到一塊的Block RAM 就實現(xiàn)256×24 這樣的高位寬計數(shù)器陣列來進行HDTV 視頻圖像的直方圖統(tǒng)計,如圖3 所示:

用Block RAM 實現(xiàn)計數(shù)器陣列

圖3 用Block RAM 實現(xiàn)計數(shù)器陣列

       以Block RAM 的結(jié)構(gòu)為核心,按照以下幾點來設計直方圖統(tǒng)計算法:

       1. Block RAM 使用雙端口方式,端口A 用來將內(nèi)存單元計數(shù)值讀出,端口B 將計數(shù)值加一后寫回該內(nèi)存單元。

       2. 內(nèi)存的地址在像素有效時由像素灰度值選擇,在行同步期間不計數(shù),在場同步期間使用一個遞增計數(shù)器在前256 個時鐘將統(tǒng)計結(jié)果輸出,在之后的256 個時鐘將RAM 塊清零。       3. 雙端口讀寫時鐘相位相差180 度,以避免雙端口讀寫沖突。

       4. 數(shù)據(jù)的讀出、加一和寫入采用了流水線結(jié)構(gòu)以提高性能,所以在地址控制上要進行適當暫存以保證數(shù)據(jù)同步。

       圖4 為256 級灰度720p 視頻圖像直方圖統(tǒng)計的算法實現(xiàn)功能框圖:

用FPGA 的Block RAM 實現(xiàn)直方圖統(tǒng)計

 

圖4 用FPGA 的Block RAM 實現(xiàn)直方圖統(tǒng)計

 

       結(jié)語

       該算法借助FPGA 片上的高性能Block RAM(讀寫速度可以到200 兆以上),可以實現(xiàn)SMPTE 定義的從720p 到1080p 的各種HDTV 視頻圖像的實時直方圖統(tǒng)計,僅占用FPGA不到一百個邏輯單元和一塊Block RAM,是一種性價比較高的FPGA 實現(xiàn)直方圖統(tǒng)計的算法,而且該算法具有很好的通用性,可以應用到各

 

種需要大量高位寬計數(shù)器的高速FPGA設計中。

 

       參考文獻:

       1. Xilinx,Spartan-3E FPGA datasheet,2005.3
       2. Xilinx,Using Block RAM in Spartan-3 Generation FPGAs,2005.3

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 丝袜美女足淫美足美脚网站 | 一区二区免费播放 | 天天天色 | 国产成年人在线观看 | 奇米777狠狠色噜噜狠狠狠 | 黄色毛片黄色毛片 | av小说网站| 五月天婷婷免费视频 | 天天色天天色 | 毛片在线观看网站 | 亚洲免费高清 | 欧美成人手机在线 | 久久久久久久久网站 | 免费看羞羞视频网站 | 欧美乱妇高清无乱码 | 黄色毛片黄色毛片 | 黄色一级国产 | 2021国产精品成人免费视频 | 久久天天拍天天爱天天躁 | 在线黄色网页 | 噜噜色综合噜噜色噜噜色 | 日本成人免费 | 久久久美女视频 | 91这里只有精品 | 黄色视屏免费在线观看 | 日韩高清一区二区 | 开心成人激情 | 今天免费中文字幕视频 | 男人使劲桶女人下面动态图片 | 久久精品国产欧美日韩亚洲 | 一级做a爰片性色毛片武则天五则 | 黄网站在线免费 | 欧美成人aaaa免费高清 | 欧美视频一区二区 | 小明永久免费看看 | 欧美中文字幕无线码视频 | 成人在线欧美 | 日本三级网| 欧美日本道免费一区二区三区 | aaa在线视频 | 一区二区三区在线视频播放 |