新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的实时中值滤波器硬件实现

基于FPGA的实时中值滤波器硬件实现

作者:时间:2011-07-11来源:网络收藏

2.1 分块存储方法和并行运算结构
如图4,以256×256大小的图像为例,将其划分为8个256行32列的图像块,运算就是按照块的顺序,对每块图像从上到下进行[5]。每一次存储体访问读出一行邻域后,通过流水线队列即可形成n×32的邻域,对于算法n为3。为了最大化地提高图像处理速度,采取了32个3×3邻域的并行计算。但是构造32个3×3邻域,需要额外增加2列数据,组成3行34列的运算矩阵。这额外的2列数据正是前一图像块的最右端的2列,为了后续运算的需要,已经保存在RAMa或RAMb中了。RAMa、RAMb的作用是实现乒乓RAM操作,例如向RAMa中写当前图像块的最右端2列时,处理单元同时从RAMb中取出前一个图像块的最右端2列数据参与运算。运算单元架构如图5,这样每一次并行计算就得到了32个8 bit的结果,对应32个结果像素,即图5中的result为256 bit。

2.2 FIFO缓存
共享RAM芯片采用了Cypress公司的CY7C1380,这是一款32 bit位宽、2 MB容量的同步SRAM。因为系统采用流水线结构,一个clk即可产生256 bit的结果,需要写入到32 bit的SRAM,如果不加入缓冲器,必定会有结果数据的丢失,为此,加入一个FIFO,将256 bit结果分8次写入共享RAM,每次写32 bit,这样,FIFO完成了写快读慢的缓冲过程。FIFO的深度取决于需要缓冲的数据量,缓冲的数据量取决于写速率和读速率,见式(1)。

3 实验结果
图6(a)是从高清摄像机随机采得的带噪图像,从图6(b)可看出本文设计的针对大图像(1 920×1 080)的器有较好的去噪效果。

整个电路结构采用Verilog编写,该中值滤波器能达到的最大工作频率为60 MHz,该中值滤波器对如图6所示的1 920×1 080灰度图执行中值滤波的时间约为10 ms,这个速度要比实时快4倍。为了突出本文设计的中值滤波器的性能,本文采用512×512的灰度图做实验。将本文设计的中值滤波器与文献[1]、[3]设计的中值滤波器的性能比较,可以看出,本文设计的中值滤波器的处理速度约为文献[1]方法的8倍,约为文献[3]方法的20倍,如表1所示。
本文针对NIPC-3的特点,用适合并行处理的存储方法,成功实现了1 920×1 080大小图像的实时中值滤波系统。该系统有较好的去噪效果,同时在速度上完全满足实时需要,是一个高速且完整的系统。该系统可以用于高清视频图像的预处理,有很大的实用价值。
参考文献
[1] 石婷,张红雨,黄自立.基于Stratix II EP2S60的改进中值滤波器的设计实现[J].国外电子元器件,2007(1):12-15.
[2] 徐大鹏,李从善.基于的数字图像中值滤波器设计[J].电子器件,2006,29(4):1114-1117.
[3] 苏光大.实时中值滤波器的实现[J].电视技术,1999(5):25-27.
[4] 苏光大.邻域图像处理机中的新型邻域功能流水线结构[J].电子学报,2000,27(2):1-4.
[5] 刘炯鑫.NIPC-3邻域图像并行处理机的软件设计[D].清华大学电子工程系,2007.

滤波器相关文章:滤波器原理


fpga相关文章:fpga是什么


滤波器相关文章:滤波器原理


电源滤波器相关文章:电源滤波器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭