由于处理器(PC))能提供低成本、小尺寸、可扩展的图像处理系统,所以它们比功耗和价格较高的其它同类系统更具吸引力。公司的处理器系列时钟频率为,包括便于高效数据搬移和处理的增强结构,这种结构类似双乘法累加单元,提供了用作视频和数据通道的高速并行接口。下面将介绍一些常用的图像处理和视频处理的算法,以说明处理器的这些特性如何在当今的图像处理系统中发挥其作用。
1Blackfin处理器具有很多适合于图像应用的特点
2Blackfin 处理器由于具有双单元,所以可以在个周期内产生两个输出点,相当于每个周期做一个×卷积
1所示,靠近内核处理器的等级是最快的,但是通常容量太小而没有大的图像缓存。这也是直接存储器存取如此重要的原因之一。在方式下,数据框架可以将数据从快速内存中存入和取出,同时源自视频外围设备的数据装入片外较大的缓冲器中。控制器独立于内核处理器工作,而内核周期仅仅用于在传输完成时提供中断。下面介绍的每种算法都利用了一些基于的框架类型以达到尽可能最佳性能。选择这些算法是因为它们适用在很广的应用领域。
3×卷积
3×的掩码,但是掩码又不能太小,否则将无法检测出一幅图像的边缘。
2示出了个矩阵:一个输入矩阵,一个×掩码矩阵和一个输出矩阵。通过适当地对其输入数据,处理器的单元能够在一个处理器周期内每次处理两个输出点,同时读取与运算并行执行的多个数据。这种方法允许对每次循环重复周期或者每像素周期的双输出点的高效计算。
3×卷积内核来逼近水平边缘和垂直边缘。第一个矩阵检测垂直边缘的变化,而第二个矩阵检测水平边缘的变化。
Blackfin处理器采用保留×像素图像两个梯度中的较大值的方法,处理一帧大约要用,同时,它使用基于的二维数据框架从快速处理器内存中存取数据。
Blackfin处理器的几个特性
Blackfin处理器上,即使处理器有级通道,一个预分支的处理也可以小至一个周期。这对具有信号处理功能的处理器来说是相当可观的,而且这显然有助于缩短这种情况下的计算时间。
Blackfin处理器信号处理功能可以在一个周期内完成两个乘法运算,同时访问两次存储器读取累加表值。事实证明,这种方式可以很好地完成定点霍夫变换,效果与浮点计算相当。
// loop over the values
a0 += a1; // add the results
Blackfin处理器提供一个矢量指令以从两个操作数对中找出两个最大值。这种处理方法可以有效地将找出一个 N
MAC和算术逻辑单元外,处理器还有可以应用于单周期指令的四个附加的。这四个可以同时处理四组字节例如添加、删减和求平均。在包含图像帧之间的运动估算中非常有用。
8 位减法绝对值累加指令减去四对值,取每个差值的绝对值,并将每个结果累加到一个累加器中,从而对物体运动进行辨别。总之,处理器有多种有效检测相邻图像帧运动的方法。
FFT
(FFT)是计算离散傅立叶变换的快速算法。在计算二维数据时,其主要用途包括通过快速卷积滤波、快速相关、图像增强和物体识别。×图像的二维大小也应是×。其旋转因子通常在运行时间之前计算。
FFT算法高效运算的位反转和蝴蝶加减指令。为了完成二维位反转,将×输入图像展开成大小为2的一维矢量,这主要是因为由位反转一维矢量生成的转置矩阵等于二维位反转。
16×合成二维要求的周期数目是包括开销。这段代码实际上可以通过将输入数组元素的虚部设为零而用来计算实数。对于使用复数代码的更高效实数执行方法,两个实数矩阵可被打包为复数二维的一个复数输入。这种被称为“打包和分装”或者“大量生产”的方法需要后端处理来分离输出,并需要两个图像来变换。但这在快速卷积和快速相关中通常不是问题,因为两个变换总是需要计算的。
Blackfin处理器的体系构造有助于使其成为工业图像处理系统中非常有用的处理器。此外,公司还提供基于处理器的图像处理和分析的公用“图像处理工具箱”内核。最新的样片——将以太网、控制器和接口集成在一颗芯片上,增强了外围设备功能,加上这些工具,将会大大扩展工业图像处理应用领域的范围。
Numerical Recipes in C: The Art of Scientific Computing 2nd Edition, Chapter 12.