CN104835111A - 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 - Google Patents
一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 Download PDFInfo
- Publication number
- CN104835111A CN104835111A CN201510161653.2A CN201510161653A CN104835111A CN 104835111 A CN104835111 A CN 104835111A CN 201510161653 A CN201510161653 A CN 201510161653A CN 104835111 A CN104835111 A CN 104835111A
- Authority
- CN
- China
- Prior art keywords
- module
- sram
- address block
- data
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种基于FPGA的单SRAM实现乒乓算法的方法以及实时红外图像处理方法,包括FPGA一片、SRAM一片;FPGA内部实例化两个处理模块:第一模块、第二模块,各模块具有独立的标志位标示是否正占用SRAM总线;SRAM地址空间等分为连续的两个地址块:第一地址块、第二地址块;算法周期由若干分时片段组成,各模块在单个分时片段内交替完成对SRAM的读写操作;当第一模块处理第二地址块的数据时,第二模块处理第二地址块的数据;在数据处理结束后交换地址块进入下一个处理周期,如此循环实现单SRAM乒乓算法。本发明采用单个SRAM实现乒乓算法,减少了存储器的个数,降低了开发成本,提高了开发效率。
Description
技术领域
本发明涉及红外成像的实时矫正领域,尤其是涉及需要大面积缓存数据的实时图像处理领域。
背景技术
· 基于FPGA的实时图像处理方案,在红外图像采集过程中具有重要作用,弥补了红外探测器性能不佳的现状,增强了红外图像的可视度。
· 常用的图像处理算法——例如直方图拉伸、DDE增强等,均是建立在整幅图像信息的基础上,在具体实现过程中,通常先将整幅图像数据缓存到外部存储空间,再对缓存数据进行处理、输出。
· 为了保持图像处理过程的连续性,防止图像处理任务对数据接收造成阻塞,常采用两片存储芯片交替工作的乒乓算法实现对图像处理过程中的数据流控制。该方案中,两片存储芯片不仅增加了生产成本,而且占用了有限的I/O口,增大了电路设计的难度。
发明内容
本发明的目的是克服现有乒乓算法的不足,提出一种更好的适用于实时图像处理的基于FPGA的单SRAM实现乒乓算法的方法及实时红外图像处理方法。
本发明为实现上述目的,采用如下技术方案:
一种基于FPGA的单SRAM实现乒乓算法的方法,其特征在于,包括:
步骤A:在FPGA中实例化两个处理模块:第一模块、第二模块;
步骤B:将SRAM的地址空间等分为两个连续的地址块:第一地址块、第二地址块;
步骤C:确定时间片大小;
步骤D:第一模块、第二模块在同一个时间片内分别先后完成对SRAM第一地址块或第二地址块的读/写操作;
步骤E:经过一定数量的时间片后,当前处理状态结束,第一模块、第二模块交换SRAM地址块,进入下一处理状态。
其进一步特征在于:所述第一模块、第二模块均具有各自的标志位。
进一步的:所述第一模块、第二模块通过FPGA 的I/O口直接和同一SRAM相连。
所述第一模块、第二模块的标志位标示自身是否正占用SRAM总线,当其中一模块占用SRAM总线时,另一模块处于等待状态。
所述时间片大小不小于第一模块、第二模块均完成一次数据处理所需的时间。
进一步的:不同时间片上第一模块、第二模块对SRAM的读/写操作具有周期对称关系。
所述步骤E中一定数量的时间片,指第一模块、第二模块均处理完成相应地址块中的数据所需的时间,最小值由SRAM中待处理数据量的大小除以每个时间片所处理的数据量决定;所述下一处理状态和当前处理状态具有周期对称关系。
一种采用上述方法的实时红外图像处理方法,其特征在于,包括下述步骤:
步骤1:一块红外阵列,以单个像素点为单位,周期性的输出采集到的红外图像;
步骤2:FPGA中实例化得第一模块,所述第一模块在接收步骤1的输出数据的同时,完成包括图像的盲元补偿、两点矫正的数据预处理工作,并将处理后的图像数据缓存到SRAM的第一地址块或第二地址块中;在处理数据的同时,所述第一模块统计图像的直方图,并在一幅图像接收完成后将直方图数据写入SRAM的同一地址块,处理结束,交换第一地址块和第二地址块对应关系,转到下一状态;
步骤3:FPGA中实例化得第二模块,所述第二模块在开始时,从SRAM相应的地址块中读取步骤2写入的图像直方图数据,并根据该数据,完成对存储在相应地址块中数据的图像处理工作;
步骤4:将步骤3中处理完成的数据以图像形式显示在监视器上。
优选的:上述步骤2、3工作时间为步骤1的像素输出周期。
本发明提出了一种基于FPGA的单SRAM实现乒乓算法的方法,以及采用该方法的实时红外图像处理方法。该方法仅需一片SRAM芯片即可满足图像处理对数据缓存的要求,实现乒乓算法的功能,在降低成本、节约资源及提高工程效率方面具有明显效果。
附图说明
图1是本发明的硬件结构图。
图2是本发明的算法流程图。
图3是本发明的实时红外图像处理方法示意图。
具体实施方式
下面将参考附图详细说明本发明的实施例。
图1是本发明一种基于FPGA的单SRAM实现乒乓算法的电路图。如图1所示,该电路包括:一片FPGA 1、一片SRAM 2,并且FPGA 1及SRAM 2通过I/O口3相连。
图1中FPGA 1中实例化的两个模块:第一模块4、第二模块5,两模块的作用是协调模块间对于I/O口3的操作,防止不同模块同时对I/O口3操作时产生冒险,可根据不同的使用情况,填充额外的处理函数。当标志位6置位时,第一模块4获得I/O口3的使用权,当标志位7置位时,第二模块5获得I/O口3的使用权,运行开始时标志位6、7均置零,从而保证在两模块交替占用I/O口3的过程中,不会出现同时访问I/O口的危险情况发生。
标志位和时间片没有必然的联系,但是在一个时间片周期内,两个标志位至少各置位一次,以保证模块的并发运行。标志位由相应模块控制,因此在模块不使用SRAM时应主动将标志位置零,让出SRAM的使用权,此时模块依然可以继续运行,当模块需要占用SRAM时需先查询另一模块标志位是否置位,仅当另一模块标志位置零时,可以重新获得SRAM使用权,并且需要立即将自身标志位置位。
图1中SRAM中具有两个连续的第一地址块8和第二地址块9,根据所需空间大小,可适当调整该地址块的大小,实施例中采用等分SRAM地址空间的方法。将SRAM划分不同的地址块主要是模拟两块SRAM的功能,在大量数据处理的过程中起到数据缓存的作用,使功能模块化。
图2是本发明一种基于FPGA的单SRAM实现乒乓算法的电路的工作流程图。如图2所示,主要包括:10状态1、11标志位1、14状态2、15标志位2。
图2中12、13、16、17表示模块和地址块的对应关系,例如12表示在状态1时第一模块处理第一地址块中的数据;13表示在状态1时第二模块处理第二地址块中的数据。由于地址块之间没有交集,因此可以保证两模块同时对SRAM操作时的数据完整性。
图2中11标志位1表示10状态1是否处理结束,如果处理结束,交换模块和地址块之间的对应关系,否则继续处理本地址块中的数据;15标志位2表示14状态2是否处理结束,如果处理结束,交换模块和地址块之间的对应关系,否则继续处理本地址块中的数据。
图3是本发明在实时红外图像处理中的一种应用实例:
图3中步骤18是一块红外阵列,以单个像素点为单位,周期性的输出采集到的红外图像。
图3中步骤19是FPGA中实例化得第一模块,该模块在接收步骤18的输出数据的同时,完成图像的盲元补偿、两点矫正等数据预处理工作,并将处理后的图像数据缓存到SRAM的第一地址块或第二地址块。
步骤19在处理数据的同时,统计图像的直方图,并在一幅图像接收完成后将直方图数据写入SRAM的统一地址块,处理结束,交换地址块对应关系,转到下一状态。
图3中步骤20是FPGA中实例化得第二模块,该模块在开始时,从SRAM读取步骤19写入的图像直方图数据,并根据该数据,完成对存储在相应地址块中数据的图像处理工作,例如直方图拉伸等。
本实施例中采用的时间片大小为步骤18的像素输出周期。当有数据输出时,步骤19首先占用SRAM,在将处理后的数据写入到SRAM后,步骤20利用剩余的时间片占用SRAM,完成整幅图像的数据处理工作。
图3中步骤21完成图像的显示功能,负责将步骤20中处理完成的数据以图像形式显示在监视器上。
本发明只是一个功能模块,可嵌入到其他方案中使用,旨在解决在某些使用乒乓算法的实时图像处理系统中对于两块SRAM的依赖,从而降低生产成本,提高工程效率。
Claims (9)
1.一种基于FPGA的单SRAM实现乒乓算法的方法,其特征在于,包括:
步骤A:在FPGA中实例化两个处理模块:第一模块、第二模块;
步骤B:将SRAM的地址空间等分为两个连续的地址块:第一地址块、第二地址块;
步骤C:确定时间片大小;
步骤D:第一模块、第二模块在同一个时间片内分别先后完成对SRAM第一地址块或第二地址块的读/写操作;
步骤E:经过一定数量的时间片后,当前处理状态结束,第一模块、第二模块交换SRAM地址块,进入下一处理状态。
2.根据权利要求1所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:所述第一模块、第二模块均具有各自的标志位。
3.根据权利要求1或2所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:所述第一模块、第二模块通过FPGA 的I/O口直接和同一SRAM相连。
4.根据权利要求2所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:所述第一模块、第二模块的标志位标示自身是否正占用SRAM总线,当其中一模块占用SRAM总线时,另一模块处于等待状态。
5.根据权利要求1或2所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:所述时间片大小不小于第一模块、第二模块均完成一次数据处理所需的时间。
6.根据权利要求1或2所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:不同时间片上第一模块、第二模块对SRAM的读/写操作具有周期对称关系。
7.根据权利要求1所述的基于FPGA的单SRAM实现乒乓算法的方法,其特征在于:所述步骤E中一定数量的时间片,指第一模块、第二模块均处理完成相应地址块中的数据所需的时间,最小值由SRAM中待处理数据量的大小除以每个时间片所处理的数据量决定;所述下一处理状态和当前处理状态具有周期对称关系。
8.一种采用权利要求1-7方法的实时红外图像处理方法,其特征在于,包括下述步骤:
步骤1:一块红外阵列,以单个像素点为单位,周期性的输出采集到的红外图像;
步骤2:FPGA中实例化得第一模块,所述第一模块在接收步骤1的输出数据的同时,完成包括图像的盲元补偿、两点矫正的数据预处理工作,并将处理后的图像数据缓存到SRAM的第一地址块或第二地址块;在处理数据的同时,所述第一模块统计图像的直方图,并在一幅图像接收完成后将直方图数据写入SRAM的同一地址块,处理结束,交换第一地址块和第二地址块对应关系,转到下一状态;
步骤3:FPGA中实例化得第二模块,所述第二模块在开始时,从SRAM相应的地址块中读取步骤2写入的图像直方图数据,并根据该数据,完成对存储在相应地址块中数据的图像处理工作;
步骤4:将步骤3中处理完成的数据以图像形式显示在监视器上。
9.根据权利要求8所述的实时红外图像处理方法,其特征在于:所述步骤2、3工作时间为步骤1的像素输出周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161653.2A CN104835111A (zh) | 2015-04-07 | 2015-04-07 | 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161653.2A CN104835111A (zh) | 2015-04-07 | 2015-04-07 | 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104835111A true CN104835111A (zh) | 2015-08-12 |
Family
ID=53812981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510161653.2A Pending CN104835111A (zh) | 2015-04-07 | 2015-04-07 | 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104835111A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101712A (zh) * | 2016-06-13 | 2016-11-09 | 浙江大华技术股份有限公司 | 一种视频流数据的处理方法及装置 |
CN106772656A (zh) * | 2015-11-19 | 2017-05-31 | 上海理工大学 | 一种基于红外阵列传感器的室内人体检测方法 |
CN107220930A (zh) * | 2017-08-02 | 2017-09-29 | 珠海全志科技股份有限公司 | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 |
CN108024074A (zh) * | 2017-10-17 | 2018-05-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于sopc的小型化红外成像方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177507A1 (en) * | 2006-10-10 | 2008-07-24 | Mian Zahid F | Sensor data processing using dsp and fpga |
CN103198445A (zh) * | 2013-02-21 | 2013-07-10 | 南京理工大学 | 高速红外目标检测与跟踪图像处理装置及其处理方法 |
CN103685961A (zh) * | 2013-12-24 | 2014-03-26 | 南京理工大学 | 一种利用单片sram实现视频数据同步实时处理的系统 |
-
2015
- 2015-04-07 CN CN201510161653.2A patent/CN104835111A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177507A1 (en) * | 2006-10-10 | 2008-07-24 | Mian Zahid F | Sensor data processing using dsp and fpga |
CN103198445A (zh) * | 2013-02-21 | 2013-07-10 | 南京理工大学 | 高速红外目标检测与跟踪图像处理装置及其处理方法 |
CN103685961A (zh) * | 2013-12-24 | 2014-03-26 | 南京理工大学 | 一种利用单片sram实现视频数据同步实时处理的系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106772656A (zh) * | 2015-11-19 | 2017-05-31 | 上海理工大学 | 一种基于红外阵列传感器的室内人体检测方法 |
CN106772656B (zh) * | 2015-11-19 | 2019-04-05 | 上海理工大学 | 一种基于红外阵列传感器的室内人体检测方法 |
CN106101712A (zh) * | 2016-06-13 | 2016-11-09 | 浙江大华技术股份有限公司 | 一种视频流数据的处理方法及装置 |
CN106101712B (zh) * | 2016-06-13 | 2019-07-16 | 浙江大华技术股份有限公司 | 一种视频流数据的处理方法及装置 |
CN107220930A (zh) * | 2017-08-02 | 2017-09-29 | 珠海全志科技股份有限公司 | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 |
CN108024074A (zh) * | 2017-10-17 | 2018-05-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于sopc的小型化红外成像方法 |
CN108024074B (zh) * | 2017-10-17 | 2020-05-01 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于sopc的小型化红外成像方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104835111A (zh) | 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 | |
DE112011103209B4 (de) | Verfahren, vorrichtung und system zur steuerung von anzeigeaktivität | |
CN102460503A (zh) | 显示源图像的变形版本的设备和方法 | |
DE112014000938T5 (de) | Verfahren und Vorrichtung zur Stromeinsparung in einer Anzeige-Pipeline durch Herunterfahren des inaktiven Komponenten | |
DE112018005427T5 (de) | Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem | |
US7460136B2 (en) | Efficient scaling of image data in graphics display systems | |
CN106846255B (zh) | 图像旋转实现方法及装置 | |
DE112012000749T5 (de) | Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors | |
CN107329720B (zh) | 一种基于zynq的雷达图像显示加速系统 | |
CN101958112B (zh) | 手持设备屏幕画面同时实现90度和270度旋转的方法 | |
CN102768819A (zh) | Oled实时显示驱动控制系统及其控制方法 | |
CN102131053A (zh) | 一种适用于高速成像系统的数据采集、编码和存储方法 | |
CN104717485A (zh) | 一种基于fpga的vga接口裸眼3d显示系统 | |
US20170357570A1 (en) | Storing Arrays of Data in Data Processing Systems | |
CN106530209A (zh) | 一种基于fpga的图像旋转方法及装置 | |
CN102163404B (zh) | 基于sdram的大屏幕led显示控制装置及方法 | |
CN106293953B (zh) | 一种访问共享显示数据的方法及系统 | |
CN108256643A (zh) | 一种基于hmc的神经网络运算装置和方法 | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
CN115035128A (zh) | 基于fpga的图像重叠滑窗分割方法及系统 | |
CN204537238U (zh) | 一种基于fpga的单sram实现乒乓算法的电路 | |
CN203217927U (zh) | 一种无发送卡的低成本的led同步显示控制系统 | |
CN105243028B (zh) | 一种降低图像缩小处理时系统峰值带宽的方法和装置 | |
CN1881190B (zh) | 用于访问数据的设备和系统 | |
CN101930713A (zh) | 显示装置的存储器架构及其读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150812 |