[论文解读] High Throughput 2D Spatial Image Filters on FPGAs
本文提出了一种基于FPGA的高性能2D空间图像滤波器架构,充分利用现代DSP模块实现最大性能,同时支持运行时系数重新配置。通过利用DSP模块的并行处理能力以及轻量级的边界管理方案,该设计在全高清(1920×1080)视频下实现了超过190帧每秒的处理速率,相较于HLS生成的滤波器在像素处理速率上提升了1.7倍,且具备完整的运行时灵活性。
FPGAs are well established in the signal processing domain, where their fine-grained programmable nature allows the inherent parallelism in these applications to be exploited for enhanced performance. As architectures have evolved, FPGA vendors have added more heterogeneous resources to allow often-used functions to be implemented with higher performance, at lower power and using less area. DSP blocks, for example, have evolved from basic multipliers to support the multiply-accumulate operations that are the core of many signal processing tasks. While more features were added to DSP blocks, their structure and connectivity has been optimised primarily for one-dimensional signal processing. Basic operations in image processing are similar, but performed in a two-dimensional structure, and hence, many of the optimisations in newer DSP blocks are not exploited when mapping image processing algorithms to them. We present a detailed study of two-dimensional spatial filter implementation on FPGAs, showing how to maximise performance through exploitation of DSP block capabilities, while also presenting a lean border pixel management policy.
研究动机与目标
- 解决实时视觉系统中因2D空间滤波效率低下导致的性能瓶颈。
- 克服现代FPGA中DSP模块利用率不足的问题,这些模块虽专为1D信号处理优化,但在2D图像滤波中未被充分使用。
- 通过支持运行时系数重新配置,实现在智能视觉系统中灵活、多用途的图像处理。
- 通过高效的边界像素处理和流水线架构设计,最小化面积和延迟开销。
- 在现代FPGA上实现接近理论最大吞吐量,同时保持低资源占用和高时钟频率。
提出的方法
- 采用流式数据流设计,输入为扫描行顺序的图像数据,并使用行缓冲区存储前w−1行,实现直接形式2D空间滤波器。
- 利用DSP模块实现输入像素与可配置系数的并行乘法运算,支持运行时系数更新。
- 集成状态机控制单元,用于管理滤波器流水线的预热、清空、激活和去激活。
- 应用先前工作中的重叠预热与清空方案,以最小化边界处理开销,而无需完整帧缓冲。
- 对比多种累加树设计(基于DSP、纯逻辑和混合式),以优化累加阶段的延迟与资源使用。
- 选用Xilinx Zynq FPGA作为目标平台,充分利用其DSP模块和处理逻辑与可重构逻辑之间的高带宽互连。
实验结果
研究问题
- RQ1尽管原始设计用于1D信号处理,现代FPGA DSP模块能否被有效用于实现高性能2D空间滤波?
- RQ2运行时系数重新配置对FPGA图像滤波器的面积、延迟和性能有何影响?
- RQ3边界像素管理的性能开销有多大?是否可在不牺牲吞吐量的前提下将其最小化?
- RQ4不同累加树实现方式(基于DSP与基于逻辑)在吞吐量、延迟和资源利用率方面有何对比?
- RQ5与Vivado HLS等高层次综合(HLS)工具相比,所提出的架构在性能和灵活性方面表现如何?
主要发现
- 所提出的基于DSP的设计最高时钟频率达462 MHz,可实现全高清(1920×1080)视频流超过190帧每秒的处理速率。
- 纯逻辑实现使用2833个切片寄存器和3101个LUT,而基于DSP的版本仅使用49个DSP模块和3444个切片寄存器,展现出更优的面积效率。
- 采用[15]方案的边界管理使逻辑资源增至552个切片寄存器和484个LUT,但仅导致1.5%的延迟增加,同时保持了高吞吐量。
- 尽管HLS工具针对固定系数进行了优化,本设计的像素处理速率仍比Vivado HLS生成的滤波器高出1.7倍(369 MHz vs. 214 MHz)。
- 该架构支持运行时系数更新,可实现无需重新编程即可在不同图像处理功能(如模糊、锐化、边缘检测)之间动态切换。
- 采用基于DSP的累加树的直接形式滤波器,对640×480图像的延迟为3874个周期,吞吐量接近FPGA架构的理论最大值。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。