一种利用单片sram实现视频数据同步实时处理的系统的制作方法

文档序号:7781944阅读:375来源:国知局
一种利用单片sram实现视频数据同步实时处理的系统的制作方法
【专利摘要】本发明提出一种利用单片SRAM实现视频数据同步实时处理的系统。包括数据模块、数据延迟模块、第一时钟转换模块、数据存取模块和第二时钟转换模块;数据模块同时与数据延迟模块和第一时钟转换模块相连,第一时钟转换模块、数据存取模块和第二时钟转换模块依次相连。本发明可以节省FPGA上的片外资源,并实现视频的实时处理。
【专利说明】—种利用单片SRAM实现视频数据同步实时处理的系统
【技术领域】
[0001]本发明属于图像处理的【技术领域】,具体涉及一种利用单片SRAM实现视频数据同步实时处理的系统。
【背景技术】
[0002]目标搜索跟踪系统中,由CCD采集目标视频,对视频进行图像处理,提取到目标。图像处理是整个跟踪系统中最重要的部分,能否实时高效的处理好视频图像是整个跟踪系统能否实用的关键。近年来,对目标跟踪系统的研究越来越多,为提高目标跟踪系统的实时性,算法的硬件化成为了一种主流的方式。而一般的图像数据都很大,单纯的使用FPGA的内部资源是远远不够的,而SRAM拥有较大的存储空间。2007年,康艳霞等人提出了用两片SRAM实现数据的乒乓缓存设计(康艳霞,剑中.实时视频处理系统中乒乓缓存的设计.弹箭与制导学报.2007.27 (4): 218-221),用两片SRAM完成乒乓缓存,虽然实现起来简单,并且实时性也很好,但是却造成了片外资源的浪费。

【发明内容】

[0003]本发明提供一种利用单片SRAM实现视频数据同步实时处理的系统,可以节省FPGA上的片外资源,并实现视频的实时处理。
[0004]为了解决上述技术问题,本发明提供一种利用单片SRAM实现视频数据同步实时处理的系统,包括数据模块、数据延迟模块、第一时钟转换模块、数据存取模块和第二时钟转换模块;数据模块同时与数据延迟模块和第一时钟转换模块相连,第一时钟转换模块、数据存取模块和第二时钟转换模块依次相连;所述数据模块利用AD芯片将CCD采集的模拟图像数据转化为数字图像数据;所述数据延迟模块利用同步fifo完成当前帧图像数据的延迟,使当前帧图像与前一帧图像保持同步;所述第一时钟转换模块利用异步fifo将低频率图像数据转换为高频率图像数据,完成时钟转换;所述数据存取模块利用单片SRAM实现图像数据的存取,其中,SRAM分为两个存储区,即第一存储区和第二存储区,第一存储区存储奇数帧的图像数据,第二存储区存储偶数帧的图像数据;所述第二时钟转换模块利用异步fifo将高频率图像数据转换为低频率图像数据,完成时钟转换。
[0005]本发明与现有技术相比,其显著优点在于,(I)本发明运用FPGA实现数据的采集和处理能够有效的提高运算速度可实现图像数据的实时处理;(2)本发明采用一片SRAM完成图像数据的乒乓操作,有效的节省了 FPGA处理板上的片外资源,为后续算法的实现提供了更多的资源,可用FPGA实现更复杂的算法。
【专利附图】

【附图说明】
[0006]图1是本发明一种实施本发明的FPGA处理系统。
[0007]图2是本发明一种利用单片SRAM实现视频数据同步实时处理的系统框图。【具体实施方式】
[0008]如图2所示,一种利用单片SRAM实现视频数据同步实时处理的系统,包括数据模块、数据延迟模块、第一时钟转换模块、数据存取模块和第二时钟转换模块;数据模块同时与数据延迟模块和第一时钟转换模块相连,第一时钟转换模块、数据存取模块和第二时钟转换模块依次相连;
[0009]所述数据模块利用AD芯片将CCD采集的模拟图像数据转化为数字图像数据;
[0010]所述数据延迟模块利用同步fifo完成当前帧图像数据的延迟,使当前帧图像与前一帧图像保持同步;
[0011]所述第一时钟转换模块利用异步fifo将低频率图像数据转换为高频率图像数据,完成时钟转换;
[0012]所述数据存取模块利用单片SRAM实现图像数据的存取,其中,根据SRAM的地址,可以将SRAM分为两个存储区,即第一存储区和第二存储区,第一存储区存储奇数帧的图像数据,第二存储区存储偶数帧的图像数据;
[0013]所述第二时钟转换模块利用异步fifo将高频率图像数据转换为低频率图像数据,完成时钟转换。
[0014]本发明工作过程为:数据模块从CCD相机中获取模拟图像数据,然后将模拟图像转换为数字图像数据后将数字图像当前帧的数据同时输入到数据延迟模块和第一时钟转换模块;数据延迟模块接收到当前帧数据后进行延迟处理,输出后供后端处理;第一时钟转换模块收到当前帧数据后进行时钟转换,将低频率图像数据转换为高频率图像数据,并将数据发送给数据存取模块;数据存取模块接收到当前帧数据后将数据存储到SRAM中进行乒乓操作,并将前一帧图像的数据发送到第二时钟转换模块;第二时钟转换模块收前一帧图像的数据后进行时钟转换,将高频率图像数据转换为低频率图像数据后输出前一帧图像的数据;数据延迟模块输出的当前帧图像数据与第二时钟模块输出的前一帧图像的数据共同构成图像序列的前后两帧图像。
[0015]本发明工作过程中,在向SRAM写入当前帧数时,当前帧若为奇数帧图像,则将当前帧图像数据按行写入到第一存储区,在写入过程中写完一行后就按行读取存储在第二存储区中的前一帧图像数;当前帧若为偶数帧图像,则将当前帧图像数据按行写入到第二存储区,在写入过程中写完一行之后就按行读取存储在第一存储区中的前一帧图像数据;如此循环操作,最后将当前帧图像数据写入SRAM中,并将前一帧图像数据从SRAM中读出。
[0016]实施例
[0017]本实施例处理系统如图1所示,以FPGA为主处理芯片,包括一个视频接口,一片SRAM和一个CCD ;CCD与FPGA处理板相连接;FPGA处理板的主芯片为Virtex5FX30T ;SRAM选用的芯片为IS61WV102416BLL,含有20个地址位以及16个数据位,以地址400000为分界线,分为两部分,即第一存储区和第二存储区;算法使用Verilog语言描述,程序编写和仿真在ISE13.1上完成。实施过程如下:
[0018]第一步:首先分别给CXD和FPGA处理板上电,将CXD采集到的视频数据通过视频接口输入到FPGA处理板中,然后经过FPGA控制数据模块中的AD转换芯片完成模拟数据到数字数据的转换,其中每帧图像的大小为640*480。
[0019]第二步:在第一时钟转换模块中,将带有行场信号的图像数据输入到第一个异步fifo中,完成数据的转换,其中写入时钟为27Mhz,读时钟为108Mhz。当场信号由O变为I时,即当场信号到来的时候进入数据等待状态,并将choose (奇偶信号)信号加1,其中choose信号位宽为I位,每次加I后则在O和I之间变化,利用此变化进行奇偶帧的选择。等到行信号到来的时候将第一个异步fifo的写使能信号置为1,因当前时钟下无法写入数据的,故将数据输入到一个D触发器当中,然后再输入到fifo中,以此确保数据不会缺失。而当行信号的下降沿到来的时候将写使能置为O ;
[0020]数据读出第一个异步fifo时,由于读时钟的速度要大于写时钟的速度,如果边写边读,则很快就能将数据读空。所以鉴于C⑶产生的图像数据的行消隐有160个时钟,一行有640个数据,可以在行消隐时间段内将数据读完。但一般为了确保能将一行数据完全读出,奔实施例当写计数信号为560,即当第一个异步fifo写入560个数据时,将读使能信号置为1,开始读取第一个异步fifo中的数据,当将第一个异步fifo中的数据读空时,即读计数为O时,将读使能信号置为0,停止读数据;
[0021]当场信号的下降沿到来的时候,说明一帧图像已经结束,并进入数据等待状态,等待场信号的到来,循环的执行,完成数据时钟的转换。
[0022]第三步:数据存取模块中,当场信号上升沿到来时,若choose为0,则从SRAM中地址400000开始写入数据,从地址O开始读取数据,当行信号上升沿到来的时候将SRAM的写使能信号置0,地址从400000开始不断的加1,当加完一行数据时,把写使能信号置I。当行信号的下降沿到来的时,将写使能信号置1,将读使能信号置0,停止写数据,从地址O开始读数据,然后地址不断加1,当一行读完的时候将读使能信号置1,直到下一个上升沿来临的时候再开始读写操作。这样不断循环,直到写地址到707199,读地址到307199,即完成一帧图像的数据的读写的时候停止;
[0023]当场信号上升沿到来时,若choose为1,则将从地址O开始写入数据,从地址400000开始读取数据,当行信号上升沿到来的时候将SRAM的写使能信号置0,地址从O开始不断的加1,当加完一行数据时,把写使能信号置I。当行信号的下降沿到来的时候将写使能信号置I,将读使能信号置0,停止写数据,从地址400000开始读数据,然后地址不断加1,当一行读完的时候将读使能信号置1,直到下一个上升沿来临的时候再开始读写操作。这样不断循环,直到当写地址到307199,读地址到707199,即完成一帧图像的数据的读写的时候停止。
[0024]第四步:第二时钟转换模块中,类似于第二步的操作,将SRAM中读出的数据输入到第二个异步fifo中,其中写时钟为108Mhz,读时钟为27Mhz,由于写入的速度要大于读的速度,故直接将读使能信号置为1,直到将fifo中的数据读空的时候再将读使能信号置为O0
[0025]最后,根据第四步输出的数据与第一步输出的数据做对比,经过调试观察第四步输出的数据延迟时钟的个数,然后相应地在数据模块连接一个数据延迟模块,使数据延迟模块输出前帧图像数据与第四步输出前一帧图像数据保持同步。最终数据延迟模块输出前帧图像数据与第四步输出前一帧图像数据保持同步构成视频流的前后两帧图像。
[0026]实施本实施例时,FPGA资源占FPGA可用用情况如表I所示。
[0027]表I本实施例硬件平台FPGA资源消耗情况
[0028]
【权利要求】
1.一种利用单片SRAM实现视频数据同步实时处理的系统,其特征在于,包括数据模块、数据延迟模块、第一时钟转换模块、数据存取模块和第二时钟转换模块;数据模块同时与数据延迟模块和第一时钟转换模块相连,第一时钟转换模块、数据存取模块和第二时钟转换模块依次相连; 所述数据模块利用AD芯片将CCD采集的模拟图像数据转化为数字图像数据; 所述数据延迟模块利用同步fifo完成当前帧图像数据的延迟,使当前帧图像与前一帧图像保持同步; 所述第一时钟转换模块利用异步fifo将低频率图像数据转换为高频率图像数据,完成时钟转换; 所述数据存取模块利用单片SRAM实现图像数据的存取,其中,SRAM分为两个存储区,即第一存储区和第二存储区,第一存储区存储奇数帧的图像数据,第二存储区存储偶数帧的图像数据; 所述第二时钟转换模块利用异步fifo将高频率图像数据转换为低频率图像数据,完成时钟转换。
2.如权利要求1所述的利用单片SRAM实现视频数据同步实时处理的系统,其特征在于,数据模块从CCD相机中获取模拟图像数据,然后将模拟图像转换为数字图像数据后将数字图像当前帧的数据同时输入到数据延迟模块和第一时钟转换模块;数据延迟模块接收到当前帧数据后进行延迟处理,输出后供后端处理;第一时钟转换模块收到当前帧数据后进行时钟转换,将低频率图像数据转换为高频率图像数据,并将数据发送给数据存取模块;数据存取模块接收到当前帧数据后将数据存储到SRAM中进行乒乓操作,并将前一帧图像的数据发送到第二时钟转换模块;第二时钟转换模块收前一帧图像的数据后进行时钟转换,将高频率图像数据转换为低频率图像数据后输出前一帧图像的数据;数据延迟模块输出的当前帧图像数据与第二时钟模块输出的前一帧图像的数据共同构成图像序列的前后两帧图像。
3.如权利要求1所述的利用单片SRAM实现视频数据同步实时处理的系统,其特征在于,在向SRAM写入当前帧数时,当前帧若为奇数帧图像,则将当前帧图像数据按行写入到第一存储区,在写入过程中写完一行后就按行读取存储在第二存储区中的前一帧图像数;当前帧若为偶数帧图像,则将当前帧图像数据按行写入到第二存储区,在写入过程中写完一行之后就按行读取存储在第一存储区中的前一帧图像数据;如此循环操作,最后将当前帧图像数据写入SRAM中,并将前一帧图像数据从SRAM中读出。
【文档编号】H04N5/232GK103685961SQ201310723459
【公开日】2014年3月26日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】任侃, 刘恒建, 韩鲁, 刘琳, 陆恺立, 顾国华, 钱惟贤 申请人:南京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1