14 2013 ,49 (23 ) Computer Engineering and Applications 计算机工程与应用
几种CUDA 加速高斯滤波算法的比较
刘进锋
LIU Jinfeng
宁夏大学 数学计算机学院,银川 750021
School of Mathematics and Computer, Ningxia University, Yinchuan 750021, China
LIU Jinfeng. Comparation of several CUDA accelerated Gaussian filtering algorithms. Computer Engineering and Appli-
cations, 2013, 49 (23 ):14-18.
Abstract :There are some image filtering algorithms based on CUDA, but some of them are not clearly described, and no one to
compare the performance of these algorithms, which brings difficulties for understanding and using these algorithms. This paper
discusses five different Gaussian image filters based on CUDA, they are naive method, separable share memory method, separa-
ble texture memory method, FFT convolution filtering and recursive Gaussian filter. Core ideas are emphasized, time complexi-
ties are compared, and performances are analyzed through experiments.
Key words :Gaussian filter; separable filter; recursive Gaussian filter; Compute Unified Device Architecture (CUDA ); Graphics
Processing Unit (GPU )
摘 要:目前已有几种CUDA 加速的图像高斯滤波算法,但这些算法有的描述不清楚,也没有人对它们的性能进行详尽的
比较,这给理解及应用带来了困难。描述了几种CUDA 加速的图像高斯滤波算法,包括直观的实现方式、使用共享内存的
分离滤波器方法、使用纹理内存的分离滤波器方法、基于CUFFT 的卷积滤波以及递归高斯滤波器。强调了这些算法的核
心思想,比较了它们的时间复杂度,通过实验对它们的性能进行了分析。
关键词:高斯滤波;可分离滤波器;递归高斯滤波器;统一计算设备架构;图形处理器
文献标志码:A 中图分类号:TP391 doi :10.3778/j.issn. 1002-8331.1306-0035
1 引言 圆。滤波时中心像素的值有最大的高斯分布值,所以有最
图像滤波是图像处理时常用的方法。图像滤波总体 大的权重,周围像素随着距离中心像素越来越远,其权重
上讲包括空域滤波和频域滤波。频域滤波需要先进行傅 也越来越小。这样进行处理比其他的均衡滤波器更好地
里叶变换至频域处理,然后再反变换回空域还原图像。空 保留了边缘效果。
域滤波是一种邻域运算,即输出图像中任何像素的值都是 近十年来,计算机图形处理器(Graphics Processing
通过采用一定的算法,根据输入图像中一定邻域内像素的 Unit ,GPU )由原本只是处理计算机图形的专用设备发展成
值得来的。如果输出像素是输入像素邻域像素的线性组