EDN China > 设计实例 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 用FPGA来加速采用OpenCL的多功能打印机图像处理

Timothy M. Hunter?? EEE成员;Dmitry Denisenko?? EEE成员;Sarnath Kannan?? Jared M. Bold?? IEEE学生成员;Prasanthi Thippabathini?? Peter Dusel博士?? 2015年03月10日 ?? 收藏1

III. MFP核心复印流水线

CCP由5个内核组成:7×7滤波器;用pad/crop缩放或减小与放大;色彩空间转换;调整和误差扩散。我们将简要地回顾各个算法和相关的内存需求。

A. 7×7滤波器

7×7滤波器是一个2D对称滤波器,可降低图像噪声。它的每一行需要跨连续7行乘连续7个像素的49个像素的上下文(context)。MFP应用通常使用一组系数来实现一个平均或锐化滤波器。7×7滤波器的一般形式是:

7×7滤波器

图3示出了该系数阵列和输入像素阵列。系数C0 - C9足以定义一个7×7滤波器。

7×7系数阵列
7×7系数阵列

7×7输入像素阵列
7×7输入像素阵列

图3:7×7系数和输入滤波器阵列

由于系数值经常重复,滤波处理可以避免重复的乘法和加法。相反,乘以相同系数的像素可首先加入,然后与滤波器系数相乘一次。图4直观地显示了潜在的优化。这个数字仅为了清晰起见,并不代表OpenCL设计。

图4:滤波器工作矩阵
图4:滤波器工作矩阵

图字:

M每页扫描线

N每扫描线像素

像素;减少的滤波矩阵;有相同颜色的条目分享共同系数

工作矩阵对称滤波器计算的高度概括,针对左到右滑动进行了优化,包括:

1. 针对每一个加载的新的像素栏3种加法A

2. 针对属于图4所示4×7矩阵中相同滤波器系数像素的18种加法

3. 针对每个系数一个C0至C9的10种乘法M

4. 计算系数乘法最终结果的9种加法