基于FPGA的图像处理硬件加速系统的设计
2024-03-21张灿宇封岸松张华良王俊彭
张灿宇,封岸松,张华良,易 星,王俊彭
(1.沈阳化工大学 信息工程学院,辽宁 沈阳 110142;2.中国科学院 沈阳自动化研究所,辽宁 沈阳 110016;3.中国科学院 网络化控制系统重点实验室,辽宁 沈阳 110016)
0 引 言
图像处理算法[1,2]日益复杂,使用普通的计算平台无法解决算法计算量越来越大、内存需求越来越高的问题,而现场可编程门阵列(field-programmable gate array,FPGA)可以很好地解决这个问题。当前主流的图像处理计算平台有:GPU(graphics processing unit,GPU)、ASIC(application specific integrated circuit,ASIC)[3,4]。GPU可以很好地对算法进行硬件加速,但使用GPU对环境和库的依赖性大,应用场景受限不适合在移动应用;ASIC可为具有特定功能的应用进行设计开发,但ASIC的设计和开发周期长,研究成本高,灵活性差导致其并不适合图像处理算法的部署[5]。
而FPGA不仅内部包含大量的乘法单元,同时还可以对大量变量进行逻辑运算和赋值实现并行计算,让图像处理算法更加适合在FPGA上部署。FPGA有着丰富的片上资源和良好的内存带宽,兼具高性能、低功耗、适应性强的优点,而且根据FPGA的可重构性,在不需要更换芯片的情况下就可以让用户自己设计算法架构和接口类型,极大地方便了开发人员后续的维护工作[6]。然而FPGA使用硬件描述语言开发周期长,调试手段不足导致硬件相关的研究进展缓慢,在HLS(high-level synthesis,HLS)高层次综合技术出现之后突破了以往使用硬件描述语言的局限性,可以快速地描述和实现所需的硬件结构,加速了OpenCV算法的实现过程。
目前已有许多研究人员利用FPGA进行算法的硬件加速并取得了一定的研究成果。……
