下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Blackfin处理器在工业图像处理中的应用 随着嵌入式媒体处理器性能的提高,取代许多工业图像处理应用中基于个人计算机(PC)的系统正在成为一种趋势。由于这些处理器能提供低成本、小尺寸、可扩展的图像处理系统,所以它们比功耗和价格较高的其它同类PC系统更具吸引力。ADI公司的Blackfin处理器系列时钟频率为600 MHz,包括便于高效数据搬移和处理的增强结构,这种结构类似双乘法累加(MAC)单元,提供了用作视频和ADC数据通道的高速并行接口(PPI)。下面将介绍一些常用的图像处理和视频处理的算法,以
2、说明Blackfin处理器的这些特性如何在当今的图像处理系统中发挥其作用。 图1 Blackfin处理器具有很多适合于图像应用的特点 图2 Blackfin 处理器由于具有双MAC单元,所以可以在9个周期内产生两个输出点,相当于每4.5个周期做一个3×3卷积数据存储和搬移Blackfin处理器的分级存储体系包括了各种在速度和容量之间折衷的存储等级。其特点如图1所示,靠近内核处理器的等级是最快的,但是通常容量太小而没有大的图像缓存。这也是直接存储器存取(DMA)如此重要的原因之一。在DMA方式下,数据框架可
3、以将数据从快速内存中存入和取出,同时源自视频外围设备的数据装入片外较大的缓冲器中。DMA控制器独立于内核处理器工作,而内核周期仅仅用于在传输完成时提供中断。下面介绍的每种算法都利用了一些基于DMA的框架类型以达到尽可能最佳性能。选择这些算法是因为它们适用在很广的应用领域。 图像滤波3×3 卷积卷积是图像处理中的一种基本运算。一个给定像素的二维卷积计算是将其周围的邻域像素的亮度按权重相加。由于一个掩码的邻域集中在一个给定的像素中心,所以该掩码通常具有奇数维数。该掩码的大小通常比图像小,并且经常选用一种3×3的掩码,但是掩码又不能太小,否则将无法检测出一幅图像的边缘。
4、图2示出了3个矩阵:一个输入矩阵F,一个3×3掩码矩阵H和一个输出矩阵G。通过适当地对其输入数据,Blackfin处理器的MAC单元能够在一个处理器周期内每次处理两个输出点,同时读取与MAC运算并行执行的多个数据。这种方法允许对每次循环重复周期或者每像素4.5周期的双输出点的高效计算。 边缘检测Sobel检测使用两个上述的3×3卷积内核来逼近水平边缘和垂直边缘。第一个矩阵(Sx)检测垂直边缘的变化,而第二个矩阵(Sy)检测水平边缘的变化。这两个输出矩阵保存图像中每个像素的“边缘估计”量值。然后将这两个矩阵值设置为阈值以利用高输出值对应高边缘出现的特性。如果应用中不
5、要求准确的量值,这可以省去一个平方根运算。其它常用的生成阈值矩阵的方法包括只对各像素梯度求和或者只提取两个梯度中的最大值,这两种方法都能进一部提高图象处理性能。600 MHz时钟双内核Blackfin处理器采用保留512×512像素图像两个梯度中的较大值的方法,处理一帧大约要用10ms,同时,它使用基于DMA的二维数据框架从快速处理器内存中存/取数据。 直线检测霍夫变换因为要计算出一条适用于输入图像中每个像素的正弦曲线因此霍夫变换是计算密集型方法。有许多执行这种变换的方法。本文仅介绍能够实现快速霍夫变换的Blackfin处理器的几个特性。1. 检查图像中的所有像素以决定是否
6、可将它们看作易于控制类型的霍夫参数。在Blackfin处理器上,即使处理器有10级通道,一个预分支的处理也可以小至一个周期。这对具有信号处理功能的处理器来说是相当可观的,而且这显然有助于缩短这种情况下的计算时间。2. 计算一个浮点数的霍夫参数对定点处理器来说计算量非常繁杂。然而由于霍夫变换公式r=xCOSq+ysinq中的三角函数可以预计算并在运行时装入,利用Blackfin处理器信号处理功能可以在一个周期内完成两个乘法运算,同时访问两次存储器读取累加表值。事实证明,这种方式可以很好地完成定点霍夫变换,效果与浮点计算相当。Blackfin中参数的简单的汇编程序如下:cos_0 = cos0 |
7、 sin_1 = sin1; / prefetch sin and cos valueslsetup(l_start, l_end) / loop over the valuesa0 = i * cos_0, a1 = j * sin_0 | cos1 = cos1 | sin1 = sin1; / multiply the operands a0 += a1; / add the results.l_end:3. 为达到最高
8、效率,霍夫变换的实现必须是专用的。Blackfin处理器提供一个矢量MAX指令以从两个操作数对中找出两个最大值。这种处理方法可以有效地将找出一个(Nr× Nq)霍夫空间的全局极大值的循环重复次数减少至大约一半。 运动估计除了传统信号处理应用的双MAC和算术逻辑单元(ALU)外,Blackfin处理器还有可以应用于单周期指令的四个附加的ALU。这四个ALU可以同时处理四组字节(例如添加、删减和求平均)。在包含图像帧之间的运动估算中非常有用。此外,也可以利用一个四相8 位减法绝对值累加指令减去四对值,取每个差值的绝对值,并将每个结果累加到一个累加器中,从而对物体运动进行辨别。总
9、之,Blackfin处理器有多种有效检测相邻图像帧运动的方法。 二维实FFT快速傅立叶变换(FFT)是计算离散傅立叶变换(DFT)的快速算法。在计算二维数据时,其主要用途包括通过快速卷积滤波、快速相关、图像增强和物体识别。N×N图像的二维FFT大小也应是N×N。其旋转因子通常在运行时间之前计算。Blackfin处理器具有适应FFT算法高效运算的位反转和蝴蝶加减指令。为了完成二维位反转,将N×N输入图像展开成大小为N2的一维矢量,这主要是因为由位反转一维矢量生成的转置矩阵等于二维位反转。基于简单可用的代码,计算16×16合成二维FFT要求的周期数
10、目是3816(包括开销)。这段代码实际上可以通过将输入数组元素的虚部设为零而用来计算实数FFT。对于使用复数FFT代码的更高效实数FFT执行方法,两个实数矩阵可被打包为复数二维FFT的一个复数输入。这种被称为“打包和分装”或者“大量生产”的方法需要后端处理来分离FFT输出,并需要两个图像来变换。但这在快速卷积和快速相关中通常不是问题,因为两个FFT变换总是需要计算的。 结语当然,本篇文章里只讨论了很有限的一些算法,旨在说明Blackfin处理器的体系构造有助于使其成为工业图像处理系统中非常有用的处理器。此外,ADI公司还提供基于Blackfin处理器的图像处理和分析的公用“图像处理工具箱”内核。最新的样片ADSP-BF537将以太网MAC、CAN控制器和PPI接口集成在一颗芯片上,增强了外围设备功能,加上这些工具,将会大大扩展工业图像处理应用领域的范围。 参考文献1 G. Olmo and E. Magli, “All-Integer Hough Transform: Performance Evaluation,” in Proceedings 2001 International Conference on Image Processing, vol.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风险管理矩阵图评价法
- 企业的战略与营销策略思考-营销总监联谊会
- 护理人员院感培训
- 装配式工厂产业园区规划
- 调入专业技术人员资格审定表(中级)
- 2025版高考化学二轮复习 板块1 题型突破5 突破点3
- 时间序列分析课件
- 方法论概论课件
- 2024届江苏睢宁中学高三下第四次模拟考试数学试题
- 山东省济宁市金乡县2024-2025学年九年级上学期12月份学情监测化学试题(无答案)
- 2024年国际劳务输出合作合同(中英版)版B版
- 中华人民共和国安全生产法知识培训
- 2023年北京市燕山初三二模化学试卷及答案
- 儿童脑瘫中医治疗
- 2024年保险公司工作计划模版(2篇)
- 教育心理学-形考作业4(第十至十一章)-国开-参考资料
- 关于自主学习的文献综述
- 剖面图真倾角与视倾角换算表)
- 电子公司的物料编码规则
- 电梯设备采购安装工程量清单
- 人类用智慧设计世界——设计与生活
评论
0/150
提交评论