CN101976431A - 一种基于动态可重构技术的通用图像处理平台及其实现方法 - Google Patents

一种基于动态可重构技术的通用图像处理平台及其实现方法 Download PDF

Info

Publication number
CN101976431A
CN101976431A CN 201010528722 CN201010528722A CN101976431A CN 101976431 A CN101976431 A CN 101976431A CN 201010528722 CN201010528722 CN 201010528722 CN 201010528722 A CN201010528722 A CN 201010528722A CN 101976431 A CN101976431 A CN 101976431A
Authority
CN
China
Prior art keywords
module
image
processing platform
image processing
fpga chip
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
Application number
CN 201010528722
Other languages
English (en)
Inventor
李万才
汤志伟
陈建永
沈冬青
梅林�
吴轶轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Third Research Institute of the Ministry of Public Security
Original Assignee
Third Research Institute of the Ministry of Public Security
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Third Research Institute of the Ministry of Public Security filed Critical Third Research Institute of the Ministry of Public Security
Priority to CN 201010528722 priority Critical patent/CN101976431A/zh
Publication of CN101976431A publication Critical patent/CN101976431A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明的目的在于公开一种基于动态可重构技术的通用图像处理平台及其实现方法,采用动态可重构技术,提供了一个可重构模块,一方面可重构模块可根据不同的计算任务对系统做出相应的算法配置,从而具有很强的通用性和灵活性;另一方面在重构时,非重构部分仍然在运行,其中相关寄存器的内容不会丢失,不需要在重构时将寄存器的内容保存到FPGA外的存储器中,从而缩短了系统重构的开销,提高系统的运行效率,具备良好的通用性,实现本发明的目的。

Description

一种基于动态可重构技术的通用图像处理平台及其实现方法
技术领域
本发明涉及一种图像处理平台及及其实现方法,特别涉及一种图像处理和嵌入式系统架构领域的基于动态可重构技术的通用图像处理平台及其实现方法。
背景技术
图像处理的特点是数据量大和实时性;实时性可以理解为图像处理的数据传输和处理是以一定的速度连续进行的,为了保持实时性,图像处理的速度不能低于图像数据的传输速度;换而言之,就是图像数据的处理不能导致数据的丢失或者传输的阻塞、中断。通常图像处理算法都比较复杂,况且又要在如此大量的数据情况下保证足够高的处理速度,这是软件设计很难做到的,所以图像处理系统最常见的设计方案是采用硬件设计。ASIC是用硬件芯片设计直接实现算法,所以速度较快,但也有其无法克服的缺点。设计和开发ASIC往往意味着较高的设计成本和较长的开发周期。另外,ASIC一般都是为特定应用设计的,缺乏通用性。
近年来,随着微电子技术和计算机技术的发展,基于FPGA的可重构计算技术开始越来越多地应用在图像处理领域,它利用FPGA可多次配置逻辑状态的特性,在运行时根据需要改变系统的电路结构,从而使系统兼具灵活、简捷、硬件资源可复用、易于升级等多种优良性能。基于此技术设计的动态可重构系统在视频处理方面有着广阔的应用前景,逐渐成为国际上计算系统研究中的一个新热点。
可重构技术又可分为静态可重构(Static Reconfiguration)和动态可重构(Dynamic Reconfiguration)两种,所谓动态可重构技术,是相对于静态可重构技术而言的。静态可重构技术是指在可重构计算系统开始执行任务时,一次性将可重构逻辑器件配置为系统所需的某个或几个功能,这些配置好的功能在整个任务执行期间不会被改变,直到系统完成该任务后,可重构逻辑器件才可以被配置为其他的功能去完成别的任务。动态可重构技术与此相反,在任务执行过程中可重构逻辑器件的功能可以被随时改变。
动态可重构技术的设计主要有两种方法:基于差分和基于模块,基于差分方法多用于两个设计之间差别很小,只改动两个设计查找表功能、I/O引脚属性等方面,一般只需要用FPGA编辑器对经过布局布线后的电路描述文件(native circuit description,NCD)进行改动;基于模块的设计方法是将模块化设计方法拓展到重构系统的设计中,多用于设计的系统较大,每个模块之间相对独立。目前,基于差分方法的设计效率低,对于设计较大的系统还无能为力。
基于可重构系统还有一项优势使得它在图像处理应用中受到特别关注,即创造并行处理结构的潜在能力。图像处理算法中的并行性主要体现在两个方面:空间并行性和时间并行性,对于这两种形式可重构系统都能实现。通常,图像数据的实时处理过程是按照系统时钟进行的,鉴于图像处理系统的数据量庞大,在一个系统时钟周期内不可能完成实时处理的算法,所以常常采用流水线设计,这种结构正是FPGA的强项。这种流水线方法将整个算法分解成一系列比较简单的级联子函数,每个特定子函数都能在一个时钟周期内由一个电路模块来实现。而视频处理算法往往实现较为复杂,必须保证器件资源留有一定余量,这样不仅可以避免布线拥挤,也便于测试修改和功能扩展。
综上所述,针对现有技术的缺陷,特别需要一种基于动态可重构技术的通用图像处理平台及其实现方法,以解决以上提到的问题。
发明内容
本发明的目的在于提供一种基于动态可重构技术的通用图像处理平台及其实现方法,针对图像处理中的大数据量和实时性需求,充分利用FPGA的并行处理能力,实现对图像算法的硬件加速,同时可结合实际应用灵活增加不同的功能模块,如边缘检测和图像滤波等,具备良好的通用性,并且在系统运行时,可实现算法模块的实时在线切换。
本发明所解决的技术问题可以采用以下技术方案来实现:
本发明第一方面提供一种基于动态可重构技术的通用图像处理平台,其特征在于,它包括一FPGA芯片、一用于将PAL制视频转换成YUV格式视频对所述FPGA芯片进行视频输入的ADC模块、一将所述FPGA芯片处理后的视频输出的DAC模块及一将所述DAC模块输出的视频进行显示的VGA显示模块;所述ADC模块的输入端接收视频,所述ADC模块的输出端连接所述FPGA芯片的输入端,所述FPGA芯片的输出端连接所述DAC模块的输入端,所述DAC模块的输出端连接所述VGA显示模块;所述FPGA芯片内设置有用于完成视频图像的图像滤波和图像边缘检测的可重构模块。
在本发明的一个实施例中,所述FPGA芯片还连接有ACE控制器,所述FPGA芯片通过所述ACE控制器连接存储介质,在所述可重构模块进行重构时,从存储介质中选择所需的图像滤波和图像边缘检测的图像算法。
进一步,所述存储介质包括CF卡、TF卡、SD卡。
在本发明的一个实施例中,所述FPGA芯片上设置有ICAP接口,在所述可重构模块进行重构时通过ICAP接口对所述可重构模块进行配置。
在本发明的一个实施例中,所述图像边缘检测采用Sobel算法,其公式如下:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A and G y = + 1 + 2 + 1 0 0 0 - 1 - 2 - 1 * A
其中,A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像。
在本发明的一个实施例中,所述图像滤波采用中值滤波算法。其公式如下:
G(x,y)=median{F(x-i,y-j)}(i,j)∈ω
式中:G(x,y)和F(x-i,y-j)分别代表输出和输入像素灰度值,ω为模板窗口。
本发明第二方面提供一种基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,它包括如下步骤:
(1)进行硬件系统结构与模块划分,将图像滤波和图像边缘检测对应的设计文件分别存放在独立目录下,每个部分单独综合网表、布局布线;
(2)在FPGA编辑器中检查各个部分生成的文件,以保证每个部分都被限制在约束文件指定的区域内,总线宏也根据约束文件放在指定位置,且在每个部分的生成文件中其占用的长线位置总是不变的;
(3)将所有功能完好的部分通过顶层的设计封装起来;
(4)系统重构时,初始化FPGA芯片的ACE控制器和FPGA芯片的ICAP接口;通过按键选择,从存储介质中选择所需的图像滤波和图像边缘检测的图像算法,并通过ICAP接口对可重构模块进行配置。
在本发明的一个实施例中,所述存储介质包括CF卡、TF卡、SD卡。
在本发明的一个实施例中,图像滤波和图像边缘检测的图像算法均与OPB总线进行通信。
在本发明的一个实施例中,所述图像边缘检测采用Sobel算法,其公式如下:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A and G y = + 1 + 2 + 1 0 0 0 - 1 - 2 - 1 * A
其中,A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像。
在本发明的一个实施例中,所述图像滤波采用中值滤波算法。其公式如下:
G(x,y)=median{F(x-i,y-j)}(i,j)∈ω
式中:G(x,y)和F(x-i,y-j)分别代表输出和输入像素灰度值,ω为模板窗口。
本发明的基于动态可重构技术的通用图像处理平台及其实现方法,采用动态可重构技术,提供了一个可重构模块,一方面可重构模块可根据不同的计算任务对系统做出相应的算法配置,从而具有很强的通用性和灵活性;另一方面在重构时,非重构部分仍然在运行,其中相关寄存器的内容不会丢失,不需要在重构时将寄存器的内容保存到FPGA外的存储器中,从而缩短了系统重构的开销,提高系统的运行效率,具备良好的通用性,实现本发明的目的。
本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了解。
附图说明
图1为本发明的基于动态可重构技术的通用图像处理平台的结构示意图;
图2为本发明的基于动态可重构技术的通用图像处理平台的系统架构示意图;
图3为本发明的图像四维方向Sobel算子及其检测方向的示意图;
图4为本发明的图像边缘检测的设计框图;
图5为本发明的图像中值滤波实现过程的示意图;
图6为本发明的图像3x3窗口数据排列的示意图;
图7为本发明的图像边缘检测算法的公式;
图8为本发明的图像处理系统重构流程的示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
如图1、图2所示,本发明的基于动态可重构技术的通用图像处理平台,它包括一FPGA芯片100、一用于将PAL制视频转换成YUV格式视频对所述FPGA芯片100进行视频输入的ADC模块200、一将所述FPGA芯片100处理后的视频输出的DAC模块300及一将所述DAC模块300输出的视频进行显示的VGA显示模块400;所述ADC模块200的输入端接收视频,所述ADC模块200的输出端连接所述FPGA芯片100的输入端,所述FPGA芯片100的输出端连接所述DAC模块300的输入端,所述DAC模块300的输出端连接所述VGA显示模块400;所述FPGA芯片100内设置有用于完成视频图像的图像滤波和图像边缘检测的可重构模块110。
在本发明中,所述FPGA芯片100还连接有ACE控制器500,所述FPGA芯片100通过所述ACE控制器500连接存储介质,在所述可重构模块110进行重构时,从存储介质中选择所需的图像滤波和图像边缘检测的图像算法;所述存储介质包括CF卡、TF卡、SD卡。
在本发明中,所述FPGA芯片100上设置有ICAP接口120,在所述可重构模块110进行重构时通过ICAP接口120对所述可重构模块110进行配置。
在本发明中,所述FPGA芯片100采用Virtex-4选用Xilinx公司的Virtex-4系列产品XC4VF60,FPGA芯片100具有128列×48行阵列、24576个Slice、56880个逻辑单元、176MB的内部RAM块、2个PowerPC处理器核、4个以太网控制器核以及576个I/O端口。根据目前已有的算法。其性能和资源可以较好地满足边缘检测算法和中值滤波算法对硬件资源(逻辑门数、RAM大小、乘法加法器等)的需求。它是Xilinx公司新推出的实现动态可重构的FPGA芯片,器件中内嵌了PowerPC处理器,且FPGA本身在Virtex-II系列的基础上新增了对二维动态重构区域的支持,使得重构模块的放置更为灵活。Virtex-4系列芯片将高级硅片组合模块(ASMBL)架构与种类繁多的灵活功能相结合,大大提高了可编程逻辑设计能力,从而成为替代ASIC技术的强有力产品。
FPGA芯片100实现动态重构的方式有两种,即基于模块的动态可重构和基于增量的动态可重构。基于增量的可重构特点是重构时的配置文件是功能模块的增量,故此方式重构速度快,但是实现系统较复杂,特别是针对较大的模块实现往往效率很低。基于模块的动态可重构设计允许设计者独立地综合每个模块,全部综合完毕后再将所有模块一起编译,这种并行方法即节省时间又允许每个模块独立终止、运行。
本发明采用基于模块的重构设计方法,模块化设计总体分功能设计、资源预估、模块实现、模块集成四个阶段进行。
功能设计包括顶层设计和模块设计。顶层设计实现模块的组合和连接。项层逻辑在IO、时钟逻辑和模块的实例化都要受到总线宏的约束,设计中必须保证模块间通信的信号由总线宏传递。每个总线宏提供4位的模块通信位。有多少位数据要进行通信,则必须要实例化相应个数的总线宏。模块设计是具体实现模块的功能。每个模块作为独立的工程,相对顶层是“黑盒子”,只暴露和其它模块的接口。在逻辑层次上,必须是自包含的模块,所有的模块端口必须明确定义为输入或者输出并且不能出现端口缓冲。所有模块必须使用全局时钟,模块间不能直接共享除全局时钟之外的任何信号,包括复位、使能等。完成顶层设计和模块设计后就应该对模块占用的资源进行预估,并根据预估结果创建顶层设计的约束文件(user constrain file,UCF)。预估阶段必须实现模块布局、IOB布局以及全局逻辑的布局。模块布局:把FPGA内部资源分配给每个模块。根据不同FPGA特性,分配资源时应注意几点:资源的最小宽度;模块边界的对齐方式;部分可重构区域中配置的比特流属性在约束文件中描述。全局逻辑布局:底层的非模块逻辑如总线宏必须通过位置约束来指定逻辑在设备中具体的位置,不允许存在非约束的非模块逻辑。所有模块的输入输出都与IO、全局逻辑或者总线宏相连。预估阶段产生约束文件,包含所有全局的布局和时序约束,具体模块实现时还可能要修改约束文件来实现模块独立的布局和时序约束。
模块功能设计和资源预估完成后,需要将每个模块单独实现,在指定约束下将描述模块的HDL语言或原理图转化成为对应FPGA内部资源设置和连接的文件。具体流程和一般模块实现方法类似,首先利用综合工具将HDL语言或原理图综合成网表,而后转换成能够映射入FPGA内部的初始数据库文件,再对此文件进行解析,布局布线工具将其在FPGA内部实现,需要重构的模块还必须生成对应的部分比特流文件,实现运行时配置。每个模块进行布局布线时,必须受到项层约束的限制,只能添加模块内部的时序约束,不允许对顶层的约束进行改动。模块实现时只考虑模块内部的连接关系以及约束文件中规定的总线宏位置,不受其它模块的影响。
模块集成时,因为重构模块只能在特定重构区域进行配置,所以首先设计一个顶层的模块,并在FPGA中正常运行,然后将所有的重构的逻辑放置并且锁定,重构模块才能正常运行在重构区域中。因此,必须将各个单独的模块按顶层设计合并起来形成一个完整的FPGA设计,生成完整地比特流文件。
完成以上四个设计阶段后,下载运行重构系统。
本发明的最大优点在于提供了一个可重构模块110,一方面可重构模块110可根据不同的计算任务对系统做出相应的算法配置,从而具有很强的通用性和灵活性;另一方面在重构时,非重构部分仍然在运行,其中相关寄存器的内容不会丢失,不需要在重构时将寄存器的内容保存到FPGA芯片100外的存储器中,从而缩短了系统重构的开销,提高系统的运行效率。
按照上所述方法示例说明设计过程,功能模块的实现包括:
一、图像边缘检测的实现
图像的边缘分为多种类型,大部分图像的边缘可分为阶跃型、房顶型、凸缘型。由于3种边缘在灰度上都有明显的变化,所以通过对图像取微分,可以提取以上3种边缘的信息。
在本发明中,所述图像边缘检测采用Sobel算法,其公式如下:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A and G y = + 1 + 2 + 1 0 0 0 - 1 - 2 - 1 * A
其中,A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像。
Sobel算法是一个较成熟的微分边缘检测算法,它计算简单,只涉及到加法运算,同时具有非线性和一定的平滑效果,所以在对边缘精度要求不是很高的项目中有着广泛的应用。一般而言,Sobel算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小,然后可用以下公式计算梯度方向。结合实际应用,本文实现了一种四个方向的边沿检测,其四个Sobel算子和检测方向如下图3所示。
本设计中,两个缓冲器和六个寄存器被设计用来存储数据流和读取相邻像素数据。如下图5所示的设计框图,先进来的数据被移位到缓冲器产生一段延时,这样就能实现同时将像素数据送进乘法阵列。每个乘法节点参照上图的四个Sobel完成运算,并由加法器输出计算结果。在图中我们可以看到完成检测算法需要4次加法和9次乘法运算。
二、图像滤波的实现
在本发明中,所述图像滤波采用中值滤波算法。其公式如下:
G(x,y)=median{F(x-i,y-j)}(i,j)∈ω
式中:G(x,y)和F(x-i,y-j)分别代表输出和输入像素灰度值,ω为模板窗口;窗ω可以取线形、方形、十字形、圆形、菱形等。
中值滤波是一种非线性的图像平滑方法,与均值滤波器以及其它线性滤波器相比,它能够很好地滤除脉冲噪声,同时又能够保护目标图像边缘。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。标准的中值滤波器都是由一个奇数大小尺寸的滑动窗组成,通常为3x3窗或5x5窗等。
以3x3窗为例,该窗沿着图像数据的行方向逐像素滑动,在每一次滑动期间内,方形窗中的所有像素按照灰度值被排序,这组数据中的中值作为输出,替代原来窗函数的中心位置像素的灰度值。其实现过程如下图5所示
如上图所示的灰度值排序通常运算量巨大,而用硬件实现不仅要消耗大量的资源,而且运算速度很慢,难以满足图像系统处理的实时性要求。针对大小为3x3的窗口采用了一种快速排序算法,可以在很大程度上减少运算量,且易于用较少的硬件资源实现。具体实现方法如下:如下图6,将一个3x3窗口的按照排列方式,从左至右.从上至下依次定义为M11、M12、M13、M21、M22、M23、M31、M32、M33。
处理时,先分别对每一行的数据进行排序,得到每一行的最大值、中间值和最小值。其中第一行得到的最大值为:Max1=max{M11,M12,M13};中间值为:Mid1=mid{M11,M12,M13};最小值为:Min1=min{M11,M12,M13};同样,也可得到第二行的三个值Max2,Mid2,Min2和第三行的三个值Max3,Mid3,Min3。由于在上述这九个数中,三个最大值中的最大值一定是九个像素的最大值。同理,三个最小值中的最小值一定是九个像素值中的最小值。三个中值中的最大值至少大于五个像素值;即本行的最小值和其他两行中的中值及最小值。而三个中值中的最小值至少小于五个像素值;即本行的最大值和其他两行的中值和最小值。所以比较三个最大值中的最小值Min_Max,三个中值中的中间值Mid_Mid,以及三个最小值中的最大值Max_Min,所得到的中间值就是最终的滤波结果。滤波的设计框图如下图8。
这种设计可采用Xilinx中的Core generator实现。设计长度为行数据256。系统开始工作后,先对FIFO2写第一行图像数据.写满后再对FIFO1写第二行图像数据,直到FIFO1也写满。在此期间,FIFO1和FIFO2只写不读。当完成两行数据的写入后,将数据输入端和FIFO1、FIF02上图所示进行连接,此时的FIFO1和FIFO2只读不写,待三个时钟周期后,将FIFO1和FIFO2设为既读又写。这样,在寄存器输出端和两个FIFO的输出端即可获得第一个3x3模板中的图像灰度数据。此后,随着图像数据的输入,模板也沿着图像从左至右、从上至下移动。与传统的排序方法相比,这种方法的比较次数大大减少,求出中值只用了8次比较运算,因而十分方便在FPGA上进行并行处理。
两种算法实现后,将对应的设计文件分别存放在独立目录下,每个模块单独综合网表、布局布线。然后在FPGA编辑器中检查各个模块生成的文件,以保证每个模块都被限制在约束文件指定的区域内。总线宏也根据约束文件放在指定位置,且在每个模块的生成文件中其占用的长线位置总是不变的。最后将所有功能完好的模块通过顶层的设计封装起来。所有的模块对于顶层设计,都是“黑盒子”。
系统重构时首先初始化ACE(Advanced Configuration Environment)控制器500和ICAP接口120。通过按键选择,从CF卡中选择所需的图像算法,并通过ICAP接口120对重构区域进行配置。两个算法模块均与OPB总线进行通信。具体重构流程如下图8。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (11)

1.一种基于动态可重构技术的通用图像处理平台,其特征在于,它包括一FPGA芯片、一用于将PAL制视频转换成YUV格式视频对所述FPGA芯片进行视频输入的ADC模块、一将所述FPGA芯片处理后的视频输出的DAC模块及一将所述DAC模块输出的视频进行显示的VGA显示模块;所述ADC模块的输入端接收视频,所述ADC模块的输出端连接所述FPGA芯片的输入端,所述FPGA芯片的输出端连接所述DAC模块的输入端,所述DAC模块的输出端连接所述VGA显示模块;所述FPGA芯片内设置有用于完成视频图像的图像滤波和图像边缘检测的可重构模块。
2.如权利要求1所述的基于动态可重构技术的通用图像处理平台,其特征在于,所述FPGA芯片还连接有ACE控制器,所述FPGA芯片通过所述ACE控制器连接存储介质,在所述可重构模块进行重构时,从存储介质中选择所需的图像滤波和图像边缘检测的图像算法。
3.如权利要求2所述的基于动态可重构技术的通用图像处理平台,其特征在于,所述存储介质包括CF卡、TF卡、SD卡。
4.如权利要求1所述的基于动态可重构技术的通用图像处理平台,其特征在于,所述FPGA芯片上设置有ICAP接口,在所述可重构模块进行重构时通过ICAP接口对所述可重构模块进行配置。
5.如权利要求1所述的基于动态可重构技术的通用图像处理平台,其特征在于,所述图像边缘检测采用Sobel算法,其公式如下:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A and G y = + 1 + 2 + 1 0 0 0 - 1 - 2 - 1 * A
其中,A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像。
6.如权利要求1所述的基于动态可重构技术的通用图像处理平台,其特征在于,所述图像滤波采用中值滤波算法。其公式如下:
G(x,y)=median{F(x-i,y-j)}(i,j)∈ω
式中:G(x,y)和F(x-i,y-j)分别代表输出和输入像素灰度值,ω为模板窗口。
7.一种基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,它包括如下步骤:
(1)进行硬件系统结构与模块划分,将图像滤波和图像边缘检测对应的设计文件分别存放在独立目录下,每个部分单独综合网表、布局布线;
(2)在FPGA编辑器中检查各个部分生成的文件,以保证每个部分都被限制在约束文件指定的区域内,总线宏也根据约束文件放在指定位置,且在每个部分的生成文件中其占用的长线位置总是不变的;
(3)将所有功能完好的部分通过顶层的设计封装起来;
(4)系统重构时,初始化FPGA芯片的ACE控制器和FPGA芯片的ICAP接口;通过按键选择,从存储介质中选择所需的图像滤波和图像边缘检测的图像算法,并通过ICAP接口对可重构模块进行配置。
8.如权利要求7所述的基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,所述存储介质包括CF卡、TF卡、SD卡。
9.如权利要求7所述的基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,图像滤波和图像边缘检测的图像算法均与OPB总线进行通信。
10.如权利要求7所述的基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,所述图像边缘检测采用Sobel算法,其公式如下:
G x = - 1 0 + 1 - 2 0 + 2 - 1 0 + 1 * A and G y = + 1 + 2 + 1 0 0 0 - 1 - 2 - 1 * A
其中,A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像。
11.如权利要求7所述的基于动态可重构技术的的通用图像处理平台的实现方法,其特征在于,所述图像滤波采用中值滤波算法。其公式如下:
G(x,y)=median{F(x-i,y-j)}(i,j)∈ω
式中:G(x,y)和F(x-i,y-j)分别代表输出和输入像素灰度值,ω为模板窗口。
CN 201010528722 2010-11-02 2010-11-02 一种基于动态可重构技术的通用图像处理平台及其实现方法 Pending CN101976431A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010528722 CN101976431A (zh) 2010-11-02 2010-11-02 一种基于动态可重构技术的通用图像处理平台及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010528722 CN101976431A (zh) 2010-11-02 2010-11-02 一种基于动态可重构技术的通用图像处理平台及其实现方法

Publications (1)

Publication Number Publication Date
CN101976431A true CN101976431A (zh) 2011-02-16

Family

ID=43576313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010528722 Pending CN101976431A (zh) 2010-11-02 2010-11-02 一种基于动态可重构技术的通用图像处理平台及其实现方法

Country Status (1)

Country Link
CN (1) CN101976431A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446342A (zh) * 2011-08-30 2012-05-09 西安交通大学 可重构二值运算器、可重构二值图像处理系统及其实现基本形态学算法的方法
CN102495980A (zh) * 2011-11-25 2012-06-13 中国航天科工集团第二研究院七〇六所 一种可动态重构的可信密码模块
CN102609922A (zh) * 2012-03-05 2012-07-25 天津天地伟业数码科技有限公司 基于fpga的图像锐化系统及图像锐化方法
CN102646262A (zh) * 2012-02-28 2012-08-22 西安交通大学 一种可重构的视觉前处理器和视觉处理系统
CN102749510A (zh) * 2012-07-12 2012-10-24 中国石油大学(北京) 一种进行多通道数字频率测量的方法及fpga装置
CN102819818A (zh) * 2012-08-14 2012-12-12 公安部第三研究所 基于fpga芯片的动态可重构技术实现图像处理的方法
CN104112053A (zh) * 2014-07-29 2014-10-22 中国航天科工集团第三研究院第八三五七研究所 一种面向图像处理的可重构架构平台设计方法
CN104200467A (zh) * 2014-08-25 2014-12-10 西安交通大学 可重构灰度形态学图像处理器及其灰度运算单元和实现形态学运算的方法
CN104732849A (zh) * 2015-04-07 2015-06-24 山东大学 基于动态部分可重构fpga的计算机系列课程实验平台装置
CN109684498A (zh) * 2018-12-21 2019-04-26 北京贝思科技术有限公司 图像分析算法模型的运行方法、通用平台及存储介质
WO2019091348A1 (zh) * 2017-11-13 2019-05-16 阿里巴巴集团控股有限公司 Fpga云主机开发方法和系统
CN110659047A (zh) * 2019-09-16 2020-01-07 Oppo广东移动通信有限公司 算法模型更新方法和装置、电子设备、计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336588A (zh) * 2000-08-02 2002-02-20 国际商业机器公司 用动态可重构测试电路来跟踪硬件状态的方法和装置
CN1434953A (zh) * 1999-12-14 2003-08-06 爱特梅尔股份有限公司 实现动态可重构逻辑电路结构设计的方法
CN101086729A (zh) * 2007-07-09 2007-12-12 西安飞鹰科技有限责任公司 一种基于fpga的动态可重构高性能运算方法与装置
US20080098211A1 (en) * 2006-10-24 2008-04-24 Masaki Maeda Reconfigurable integrated circuit, circuit reconfiguration method and circuit reconfiguration apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434953A (zh) * 1999-12-14 2003-08-06 爱特梅尔股份有限公司 实现动态可重构逻辑电路结构设计的方法
CN1336588A (zh) * 2000-08-02 2002-02-20 国际商业机器公司 用动态可重构测试电路来跟踪硬件状态的方法和装置
US20080098211A1 (en) * 2006-10-24 2008-04-24 Masaki Maeda Reconfigurable integrated circuit, circuit reconfiguration method and circuit reconfiguration apparatus
CN101086729A (zh) * 2007-07-09 2007-12-12 西安飞鹰科技有限责任公司 一种基于fpga的动态可重构高性能运算方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《ISNN 2009, Part III, LNCS 5553》 20091231 Jie Li 等 A General-Purpose FPGA-Based Reconfigurable Platform for Video and Image Processing 正文第3-10页 1-11 , 2 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446342A (zh) * 2011-08-30 2012-05-09 西安交通大学 可重构二值运算器、可重构二值图像处理系统及其实现基本形态学算法的方法
CN102446342B (zh) * 2011-08-30 2013-04-17 西安交通大学 可重构二值运算器、可重构二值图像处理系统及其实现基本形态学算法的方法
CN102495980A (zh) * 2011-11-25 2012-06-13 中国航天科工集团第二研究院七〇六所 一种可动态重构的可信密码模块
CN102646262A (zh) * 2012-02-28 2012-08-22 西安交通大学 一种可重构的视觉前处理器和视觉处理系统
CN102646262B (zh) * 2012-02-28 2014-07-02 西安交通大学 一种可重构的视觉前处理器和视觉处理系统
CN102609922A (zh) * 2012-03-05 2012-07-25 天津天地伟业数码科技有限公司 基于fpga的图像锐化系统及图像锐化方法
CN102749510A (zh) * 2012-07-12 2012-10-24 中国石油大学(北京) 一种进行多通道数字频率测量的方法及fpga装置
CN102819818A (zh) * 2012-08-14 2012-12-12 公安部第三研究所 基于fpga芯片的动态可重构技术实现图像处理的方法
CN104112053A (zh) * 2014-07-29 2014-10-22 中国航天科工集团第三研究院第八三五七研究所 一种面向图像处理的可重构架构平台设计方法
CN104112053B (zh) * 2014-07-29 2017-09-15 中国航天科工集团第三研究院第八三五七研究所 一种面向图像处理的可重构架构平台设计方法
CN104200467A (zh) * 2014-08-25 2014-12-10 西安交通大学 可重构灰度形态学图像处理器及其灰度运算单元和实现形态学运算的方法
CN104200467B (zh) * 2014-08-25 2017-02-15 西安交通大学 可重构灰度形态学图像处理器及其灰度运算电路和实现形态学运算的方法
CN104732849A (zh) * 2015-04-07 2015-06-24 山东大学 基于动态部分可重构fpga的计算机系列课程实验平台装置
WO2019091348A1 (zh) * 2017-11-13 2019-05-16 阿里巴巴集团控股有限公司 Fpga云主机开发方法和系统
CN109783118A (zh) * 2017-11-13 2019-05-21 阿里巴巴集团控股有限公司 Fpga云主机开发方法和系统
US11132436B2 (en) 2017-11-13 2021-09-28 Alibaba Group Holding Limited FPGA cloud host development method and system
CN109684498A (zh) * 2018-12-21 2019-04-26 北京贝思科技术有限公司 图像分析算法模型的运行方法、通用平台及存储介质
CN110659047A (zh) * 2019-09-16 2020-01-07 Oppo广东移动通信有限公司 算法模型更新方法和装置、电子设备、计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN101976431A (zh) 一种基于动态可重构技术的通用图像处理平台及其实现方法
CN102819818A (zh) 基于fpga芯片的动态可重构技术实现图像处理的方法
CN108874745B (zh) 原生张量处理器及张量缩并的分割
Benedetti et al. Real-time 2-D feature detection on a reconfigurable computer
Kowalczyk et al. Real-time implementation of contextual image processing operations for 4K video stream in Zynq ultrascale+ MPSoC
Aguilar-González et al. An FPGA 2D-convolution unit based on the CAPH language
JPH04507021A (ja) プログラム化されたコンパイラを用いたデジタル信号プロセサの実現化方法
CN102446342B (zh) 可重构二值运算器、可重构二值图像处理系统及其实现基本形态学算法的方法
US10846449B1 (en) Conversion of block model-based circuit designs into circuit implementations
Kestur et al. SHARC: A streaming model for FPGA accelerators and its application to saliency
Saidani et al. Hardware acceleration of video edge detection with hight level synthesis on the Xilinx Zynq platform
CN101640795B (zh) 一种视频解码优化方法及装置
CN113301221A (zh) 一种深度网络相机图像处理方法、系统及应用
Benedetti et al. A novel system architecture for real-time low-level vision
Toledo et al. Xilinx system generator based HW components for rapid prototyping of computer vision SW/HW systems
Zhang et al. Coarse-grained dynamically reconfigurable processor for vision pre-processing
CN110351482A (zh) 图像预处理装置、方法和一种相机
Bailey Adapting algorithms for hardware implementation
Matsuda et al. M-based filter design for communication and imaging systems
Vignesh et al. Implementation of Multiple Kernels for Edge Detection using Pipelined Architecture on FPGA
CN102103755A (zh) 一种图像边缘检测ip软核及装置
JP2806436B2 (ja) 演算回路
Ganesh et al. Low power and single multiplier design for 2D convolutions
US6237125B1 (en) High-level synthesis method including processing for optimizing arithmetic sequence of an operation string
Garcés-Socarrás et al. Model-based implementation of self-configurable intellectual property modules for image histogram calculation in FPGAs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110216