- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DM642的EDMA 像处理系统
5 在实时图像处理系统中的应用
在实时图形处理系统中,经常是把数据块转移,例如从视频通道采集数据传送到SDRAM中作为后续处理的缓存,或是把数据传送到片内RAM中。EDMA使数据的传送简单易行。下面以把数据从视频通道传送到片内RAM中并作Sobel边缘提取算法和把数据从视频通道传送到SDRAM中并作So—bel边缘提取算法为例。
(1)把数据从视频通道通过1维方式传送到片内RAM中并作Sobel边缘提取算法
只对摄像头采集的I块数据进行Sobel边缘提取。采用一维EDMA传送方式,每1次传送采集1行中的部分数据(DAT_copy()函数)。在PAL制式下.先把1行数据放到nMemTemp数组中,然后对从144行到432行、从180列到435列的图像进行Sobel边缘提取.最后把变换后的数据输出到显示缓冲区.如图1所示。
因为Sobel算法需要3行数据,所以可以开辟1个可以存放3行数据的缓冲区,通过指针的交换把从视频通道过来的数据分别放到缓冲区中。保存的3行图像使用翻卷的缓冲区管理,3个变量分别指示当前使用的y行、y—l行和y一2行在缓冲区中的起始偏移量。可以这样:轮流往3块缓存区拷贝数据.只要改变拷贝的指针就可以。在拷贝当前这1块的时候.已经拷贝的另外2块数据依然没有变化,所以就可以实现3块数据保存采集图像中的相邻3行数据.如表2所示。
(2)把数据从视频通道通过2维方式传送到SDRAM中并作Sobel边缘提取算法可以通过DAT_copy2d 0函数直接把采集的l幅图像亮度分量存放到SDRAM中,如下:
其中.m_dbFrameBufferTemp是指向SDRAM中缓冲区的指针,numPixels是1行的像素数,num-Lines是行数。当把数据存放到SDRAM的1个数组中后.Sobel算法的实现就非常简单了。当然也可以参照1维的方法来实现。
6 结束语
大批量的图像数据传输和复杂算法的处理一直是高速数字图像处理器的速度瓶颈,利用DSP的EDMA功能可以在不中断信号处理器算法处理工作的同时完成图像数据的搬移,在有效地解决了大批量图像数据传输速度瓶颈的同时,又能让DSP的处理器核专门从事算法处理工作,极大地提高了系统的并行性能。
上一篇:基于TOPSwitch-GX系列TOP247Y芯片的低功率开关电源设计
下一篇:一种基于小波域的分形
像编码改进算法