当前位置:首页 > EDA > 电子设计自动化
[导读] 针对高清图像在中值滤波预处理过程中排序量多、速度慢的特点,提出适合邻域图像并行处理机的分块存储方法。在流水线结构下,1个时钟周期可以并行处理32个3×3邻域的中值滤波运算,实现了高速、实时的1 920×1 080灰度图像中值滤波器。

高清视频监控逐渐成为市场的热点,视频监控不仅要求把现场图像捕获并保存,而且还要尽可能清晰。在高清图像的生成和采集过程中,往往会受到各种噪声的干扰,使高清图像的质量变差,因此必须对图像进行滤波、平滑等预处理来消除噪声。中值滤波作为一种非线性滤波方法,既可以消除随机噪声和脉冲干扰,又可以很大程度地保留图像的边缘信息,得到了广泛的运用。在许多实际应用场合,如高清视频监控、X光图像的降噪等,需要快速且实时地进行中值滤波,软件实现达不到实时处理的要求,因此选用硬件实现
    在硬件实现上,文献[1]、[2]等采用行延迟的方法形成邻域数据,以实现3×3的中值滤波。文献[7]为了提高红外成像跟踪器设计了大窗口的中值滤波器。文献[3]、[4]提出了邻域图像帧存的存储结构,该结构充分利用了图像帧存的数据结构转换特性,并行高速提供邻域图像数据,配以FPGA作为并行处理器,高速实时地实现了中值滤波。但是以上研究都是基于标清图像的中值滤波器,处理的图像大小一般为256×256、512×512的灰度图等,很少有实现高清图像的中值滤波器。本文在文献[3]、[4]的理论基础上,在苏光大主持研制成功的NIPC-3邻域图像并行处理机上实时实现了1 920×1 080×8 bit的高清图像的中值滤波器。该系统的硬件是基于一个标准的PCI板卡,Altera公司的CycloneII FPGA是图像处理系统的核心,此外,该板卡还包括了若干片SRAM、视频采集转换芯片、CPLD和PCI接口芯片。NIPC-3硬件处理的结果由PCI传到计算机做后续处理,是软硬件结合的系统。
1 快速二维中值滤波器算法
    本文中值滤波器排序算法用文献[2]提出的快速排序算法。如图1,将3×3窗口内的各个像素分别定义为M11、M12、M13、M21、M22、M23、M31、M32、M33。首先分别对窗口中的每一行计算最大值、中值,最小值不难判断。9个数值中,3个最大值中的最大值和3个最小值中的最小值一定是9个像素中的最大值和最小值;3个中值中的最大值至少大于5个像素:即本行中的最小值和其他2行的中值及最小值;而3个中值中的最小值至少小于5个像素:即本行中的最大值和其他两行中的中值及最小值。最后,比较3个最大值中的最小值Min_of_Max,3个中值中的中值Med_of_Med,3个最小值中的最大值Max_of_Min,得到中间值即为滤波的最后结果Med_of_Nine。

    利用这种排序法的中值滤波运算仅需17次比较,且该算法十分适用于在FPGA上做并行处理,大大提高了滤波的速度。
2 FPGA硬件实现
    邻域图像并行处理机是一种以邻域图像帧存提供邻域图像数据、以邻域图像处理器并行邻域图像处理的图像并行处理机,其本质是邻域数据(即多数据)的并行处理[4]。中值滤波系统框图如图2所示,主机通过PCI接口将待处理数据写入共享RAM,数据再由共享RAM转入邻域存储体,利用行顺序邻域生成方法[3],将数据由串行转化为并行,实现处理并行,达到数据的高速处理。邻域存储体是由4片SRAM组成,型号是IS61SP6464,位宽为64 bit,一次可以存取8个字节,4片SRAM并行排列,一个时钟周期最多可以吞吐32个字节。见图3,考虑一个N1×1的随机邻域,N2个时钟周期就可以得到N1×N2大小的邻域。然后再将中值滤波模块结果通过FIFO缓存写入共享RAM,传到PC机显示。

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 FPGA实验结果
    图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] 徐大鹏,李从善.基于FPGA的数字图像中值滤波器设计[J].电子器件,2006,29(4):1114-1117.
[3] 苏光大.实时中值滤波器的实现[J].电视技术,1999(5):25-27.
[4] 苏光大.邻域图像处理机中的新型邻域功能流水线结构[J].电子学报,2000,27(2):1-4.
[5] 刘炯鑫.NIPC-3邻域图像并行处理机的软件设计[D].清华大学电子工程系,2007.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对有源滤波器的认识,本文将对有源滤波器的选型方法、环路滤波器对有源、无源滤波器的选择予以介绍。

关键字: 滤波器 指数 有源滤波器

为增进大家对滤波器的认识,本文将对切比雪夫滤波器阶数以及LC滤波器设计优化流程予以介绍。

关键字: 滤波器 指数 切比雪夫滤波器

为增进大家对抗混叠滤波器的认识,本文将对抗混叠滤波器的工作原理、抗混叠滤波器的性能指标等内容予以介绍。

关键字: 滤波器 指数 抗混叠滤波器

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

近日,基于TC-SAW技术,左蓝微电子发布高性能、小尺寸Band26、Band20双工器。本次发布的TC-SAW高性能Band26/20双工器封装尺寸为1.6mm × 1.2mm,相比于1814封装尺寸,面积缩小约24%...

关键字: 滤波器 双工器 无线通信系统

在现代电子技术的飞速发展中,电源滤波器的应用变得日益广泛。作为电子设备中的关键组件,电源滤波器在抑制电磁干扰、提高设备性能、增强设备可靠性以及保护设备安全等方面发挥着至关重要的作用。那么,电源为什么要滤波呢?本文将从科技...

关键字: 电源 滤波器

MC33035无刷直流电机控制器采用双极性模拟工艺制造,可在任何恶劣的工业环境条件下保证高品质和高稳定性。该控制器内含可用于正确整流时序的转子位置译码器。

关键字: 直流马达 控制电路 滤波器

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

在下述的内容中,小编将会对滤波器的相关消息予以报道,如果滤波器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 滤波器 低通滤波器 高通滤波器

e络盟现货供应超过230000种产品,客户可以一站式购买电容器、EMC/RFI抑制产品、滤波器、电感器、电位器、微调器和电阻

关键字: 滤波器 电感器 电位器
关闭
关闭