基于达芬奇平台的图像帧处理优化方法技术

技术编号:8533723 阅读:268 留言:0更新日期:2013-04-04 17:23
一种基于达芬奇平台的图像帧处理优化方法,在内存中同时指定三个视频图像帧存储地址,即增强型直接内存存取EDMA的目的地址,记为buffer1、buffer2、buffer3;将图像数据帧通过EDMA按buffer1、buffer2、buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写入图像数据帧时,CPU同时处理另外两个视频图像帧存储地址中的两帧图像数据,从而使CPU的执行形成pingpong机制。提高了cpu利用率,而在cpu进行图像帧处理时,同时读取两帧图像,省去了memcpy的执行步骤,从而大大提高了执行效率。

【技术实现步骤摘要】

本专利技术涉及图像处理的
,具体说是一种省去memcpy操作,具有更高效率的。
技术介绍
目前,嵌入式智能交通产品的需求和应用越来越广,不论是高速卡口还是路口,都需要车辆检测设备。代替传统的地感线圈方式,纯视频车辆检测已经越来越多的应用。而纯视频车辆检测的一个重要方法是基于虚拟线圈的灰度图像帧差算法。帧差算法是将两帧或多帧连续图像逐像素相减,以去除静止或移动缓慢的物体及背景,它是消除两帧连续图像中的静止物体以及提供运动物体或车辆运动轨迹最直接 的方法。设AB是相邻(或相差几帧)两帧灰度图像,宽M高N,res是帧差结果图,帧差算法的公式如下 Res (i,j) = I A(i,j) _B(i,j) I (O 彡 i 彡N,0 彡 j 彡Μ) 现有技术中基于达芬奇平台的图像帧处理方法如下 设由EDMA传来视频图像帧在内存的固定地址(假设为0x80000000),图像为yuV422sp格式,也就是从0x80000000开始连续存储亮度数据,数据长度是图片长*宽个字节,后紧随色度数据。我们这里只处理亮度数据。假设帧率为25帧/s,也就是每隔40ms,从0x80000000开始处的图像数据更新一次,也就是所有图像处理操作必须在40ms内完成。图像帧处理的具体步骤为 1.EDMA传来视频第η帧图像到0x80000000 ; 2.内存拷贝(memcpy)第η帧图像到另外指定或申请的一块内存区假设0x81000000; 3.EDMA传来视频第η + I帧图像到0x80000000 ; 4.根据帧差算法公式,将两幅图像进行帧差计算得到结果图像; 5.内存拷贝(memcpy)第η+ I巾贞图像到0x81000000 ; 6.返回第3步,循环执行。由上述步骤可见,该方法要求4,5两步在40ms内完成。其中步骤4中帧差算法是可以用一些算法策略和内联汇编优化的,但步骤5中memcpy操作既费时又无法优化,图像越大越费时,甚至40ms内无法完成,如果要求相隔2帧甚至多帧帧差,那么memcpy的次数会更多。
技术实现思路
本专利技术要解决的技术问题是提供一种省去memcpy操作,具有更高效率的。本专利技术为解决公知技术中存在的技术问题所采取的技术方案是本专利技术的,在内存中同时指定三个视频图像帧存储地址,即增强型直接内存存取EDMA的目的地址,记为bufferl、buffer2、buffer3 ;将图像数据巾贞通过EDMA按bufferl、buffer2、buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写入图像数据帧时,CPU同时处理另外两个视频图像帧存储地址中的两帧图像数据。本专利技术的还可以采用以下技术措施 由EDMA存入视频图像帧存储地址的图像数据帧为相邻的连续图像帧。由EDMA存入视频图像帧存储地址的图像数据帧为彼此间隔的图像帧。本专利技术具有的优点和积极效果是 本专利技术的中,图像数据帧通过EDMA按buffer 1>buffer2>buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写入图像数据帧时,CPU同时处理另外两个视频图像帧存储地址中的两巾贞图像数据,从而使CPU的执行形成pingpong机制。提高了 cpu利用率,而在cpu进行图像帧处理时,同时读取两帧图像,省去了 memcpy的执行步骤,从而大大提高了执行效率。附图说明图1是中图像数据帧的循环示意图。具体实施例方式以下参照附图及实施例对本专利技术进行详细的说明。本专利技术的,在内存中同时指定三个视频图像帧存储地址,即增强型直接内存存取EDMA的目的地址,记为bufferl、buffer2、buffer3 ;将图像数据巾贞通过EDMA按bufferl、buffer2、buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写入图像数据帧时,CPU同时处理另外两个视频图像帧存储地址中的两帧图像数据。图1是中图像数据帧的循环示意图。如图1所示,内存中划分出三个视频图像巾贞存储地址,记为bufferl、buffer2>buffer3,在EDMA向视频图像帧存储地址内存入图像数据帧的同时,CPU从视频图像帧存储地址中同时读取两帧图像数据帧进行处理。方便起见,图1中将一个执行循环分为三个阶段进行描述。在图中第一阶段中EDMA将当前帧存入到buffer3中,而CPU读取处理分别存储在bufferl中的前帧和buffer2中的后帧,将后帧和前帧利用帧差算法进行运算处理;当有新的图像数据帧到来时,即进入图中的第二阶段,EDMA向bufferl中存入新的图像数据帧以替代第一阶段中的前帧,使bufferl中存储第二阶段的当前帧,buffer3中原来存储的第一阶段中的当前帧作为第二阶段中的后帧,而buffer2中原来存储的第一阶段中的后帧作为第二阶段中的前帧,此时CPU同时读取并处理buffer2和buffer3中新的前帧和新的后帧;再有新的图像数据帧到来时,即进入图中的第三阶段,EDMA向buffer2中存入新的图像数据巾贞以替代第二阶段中的前巾贞,使buffer2中存储第三阶段的当前巾贞,buffer3中原来存储的第二阶段中的后帧作为第三阶段中的前帧,而bufferl中原来存储的第二阶段中的当前帧作为第三阶段中的后帧,此时CPU同时读取并处理bufferl和buffer3中新的前帧和新的后帧。上述三个阶段循环执行,使EDMA和CPU的工作同时进行。由EDMA存入视频图像帧存储地址的图像数据帧为相邻的连续图像帧。由EDMA存入视频图像帧存储地址的图像数据帧为彼此间隔的图像帧。如果需要隔帧帧差,则可以相应的扩大队列长度而不增加任何memcpy操作,具有可扩展性。以上所述,仅是本专利技术的较佳实施例而已,并非对本专利技术作任何形式上的限制,虽然本专利技术已以较佳实施例公开如上,然而,并非用以限定本专利技术,任何熟悉本专业的技术人员,在不脱离本专利技术技术方案范围内,当然会利用揭示的
技术实现思路
作出些许更动或修饰,成为等同变化的等效实施例,但凡是未脱离本专利技术技术方案的内容,依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本专利技术技术方案的范围内。本文档来自技高网
...

【技术保护点】
一种基于达芬奇平台的图像帧处理优化方法,在内存中同时指定三个视频图像帧存储地址,即增强型直接内存存取EDMA?的目的地址,记为buffer1、buffer2、buffer3;将图像数据帧通过EDMA按buffer1、buffer2、buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写入图像数据帧时,CPU同时处理另外两个视频图像帧存储地址中的两帧图像数据。

【技术特征摘要】
1.一种基于达芬奇平台的图像帧处理优化方法,在内存中同时指定三个视频图像帧存储地址,即增强型直接内存存取EDMA的目的地址,记为bufferl、buffer2、buffer3 ;将图像数据巾贞通过EDMA按bufferl、buffer2、buffer3的顺序循环依次存储在上述多个视频图像存储地址中,EDMA向上述某一视频图像帧存储地址中写...

【专利技术属性】
技术研发人员:谢晓霞靳璐
申请(专利权)人:天津市天祥世联网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1