CN110809113A - 一种基于fpga的红外成像自动聚焦系统 - Google Patents
一种基于fpga的红外成像自动聚焦系统 Download PDFInfo
- Publication number
- CN110809113A CN110809113A CN201910074870.6A CN201910074870A CN110809113A CN 110809113 A CN110809113 A CN 110809113A CN 201910074870 A CN201910074870 A CN 201910074870A CN 110809113 A CN110809113 A CN 110809113A
- Authority
- CN
- China
- Prior art keywords
- focusing
- image
- module
- evaluation value
- video
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/67—Focus control based on electronic image sensor signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/30—Transforming light or analogous information into electric information
- H04N5/33—Transforming infrared radiation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Automatic Focus Adjustment (AREA)
Abstract
本发明公开一种基于FPGA器件的红外成像自动聚焦系统,涉及相机自动聚焦技术领域。在保留已有手动调焦功能的红外成像系统的硬件结构和器件不变的基础上,有效地利用原有调焦传感硬件机构和视频处理FPGA器件的剩余资源,采用硬件描述语言和原理图输入法,设计与原电路匹配的自动聚焦系统并集成到原有视频处理FPGA数字逻辑程序中,经过重新仿真和综合编译后再下载到FPGA器件,完成基于图像分析的视频图像的调焦评价计算和自动聚焦控制调试,实现为已有手动调焦功能的红外成像系统增加基于图像处理的自动聚焦功能的目的,并具有设计周期短、复杂度低、可靠性高和调试方便等优点。
Description
技术领域
本发明涉及相机自动聚焦技术领域,具体的涉及一种基于FPGA的红外成像自动聚焦系统。
背景技术
自动聚焦就是利用现代电子技术和机械控制方法代替人眼检测被摄目标体的聚焦清晰与否,并代替手工调节焦点,使得物体能够在探测器上清晰成像。它是一个模仿人的眼球晶状体曲率变化来改变焦距的过程。随着自动化水平不断提高,自动聚焦技术也日臻完善,在自动化、高精度、高稳定性、聚焦速度等方面都取得了很大进展,广泛应用于照相机、摄像机、显微镜、扫描仪等各种精密仪器系统中。随着现代计算技术的发展和数字图像处理理论的日益成熟,自动聚焦技术进入到一个新的数字时代,基于数字图像处理理论发展出了各种自动从图像中提取客观反映的图像清晰度的有效信息的自动聚焦方法,聚焦评价更加灵活和多样,聚焦控制更加简单便捷,聚焦更加趋于智能化。
红外成像系统由红外光学系统、红外探测器、视频信号处理电路等部分组成。来自目标和景物的红外辐射经大气传输由红外光学系统成像于红外探测器的光敏面上,探测器读出电路将红外视频信号送至电子信号预处理电路组件,经过采样、多路传输和模数转换后进入电子信号主处理组件,最终将合成的标准视频信号送至显示器。其中,红外光学系统一般包含由调焦电机控制的调焦透镜;电子信号主处理组件也包含手动调焦机构的驱动和反馈电路模块。先进的电子设计自动化(EDA)工具是目前集成电路的设计的主流,以硬件描述语言(HDL)和逻辑综合为基础的自顶向下的电路设计方法可以满足日趋复杂的集成电路系统设计需求。
现场可编程门阵列(FPGA)器件不但具有大规模、高集成度、高可靠性的优点,而且具有开发过程投资少、周期短、可反复修改、保密性好和开发工具智能化等特点。目前,很多红外成像系统的电子信号处理组件都采用包含FPGA、DSP或单片机等嵌入式计算机的数字集成电路设计。因此,为已具有手动调焦功能的红外成像系统增加自动聚焦功能就可以利用现有的调焦传感硬件机构,设计具有自动聚焦功能的嵌入式数字逻辑电路程序。
发明内容
针对现有技术存在的上述问题,本发明提供了一种基于FPGA的红外成像自动聚焦系统,在保留已有手动调焦功能的红外成像系统的硬件结构和器件不变的基础上,设计与原电路匹配的自动聚焦FPGA数字逻辑程序并集成到原有电子信号处理组件中,经过重新编译并下载到FPGA芯片器件中,实现为已有手动调焦功能的红外成像系统增加自动聚焦功能的目的。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现:
一种基于FPGA的红外成像自动聚焦系统,包含同步控制信号生成模块、视频消隐信号生成模块、聚焦区域视频分流模块、聚焦区域视频存储模块、图像空间滤波模块与调焦评价值计算和自动聚焦实施模块;
所述同步控制信号生成模块用于由同步视频数据信号传输时钟生成使视频收发端同步扫描的控制信号,包括视频行、场消隐脉冲、复合消隐脉冲信号;
所述视频消隐信号生成模块用于由视频收发端同步扫描信号生成综合消隐信号和扫描行计数信号;
所述聚焦区域视频分流模块是对视频数据信号进行处理的第一个模块,该模块既可用于将输入视频直接输出显示(即保持传输不受自动聚焦算法影响的原视频),还实现了将输入视频分流出来以便进行自动聚焦算法处理;
所述聚焦区域视频存储模块是一个种高速工作的双端口随机存储器,用于存储每场输出的聚焦区域图像;
所述图像空间滤波模块和调焦评价值计算模块是自动聚焦算法实现的核心模块,主要用于对双端口RAM中的聚焦区域图像数据信号进行线性空间掩模滤波和调焦评价值的计算,最后将滤波后聚焦区域图像输出显示,记录调焦评价值并在显示坐标系中描点绘图,同时提供各种显示的控制信号;
所述自动聚焦实施模块是自动聚焦策略实现的核心模块,其主要功能是由对聚焦区域图像计算所得的调焦评价值和由系统监测的当前调焦位置值,采用相邻微峰比较的自动聚焦策略驱动调焦电机实现自动聚焦。
进一步的,所述同步控制信号生成模块包括内部整型计数器、视频数据传输时钟计数子模块和行消隐脉冲信号生成子模块;
所述内部整型计数器用于对输出图像的分辨率范围内的视频数据传输时钟进行循环计数;视频数据传输时钟计数子模块通过操作内部计数器在行扫描周期内对视频数据传输时钟进行循环计数;行消隐脉冲信号生成子模块通过操作内部计数器来生成行消隐信号。
进一步的,所述视频消隐信号生成模块包括内部整型计数器、行消隐脉冲计数子模块和场消隐脉冲信号生成子模块;
所述内部整型计数器对输出图像的分辨率范围内的行消隐脉冲信号进行循环计数;行消隐脉冲计数子模块通过操作内部计数器在场扫描周期内对行消隐脉冲进行循环计数;场消隐脉冲信号生成子模块通过操作内部计数器来生成场消隐信号。
进一步的,所述聚焦区域视频分流模块包括图像列计数器、图像行计数器、图像帧寄存器、聚焦区域图像RAM地址计数器、聚焦区域白色外框生成子模块和聚焦区域图像分流存储子模块;
所述图像列计数器用于在一帧图像的有效和消隐的总列数范围内对视频数据传输时钟进行循环计数;图像行计数器在一帧图像的有效和消隐的总行数范围内对行消隐脉冲进行循环计数;图像帧寄存器用于内部保存对输入视频添加表示聚焦区域的白色外框操作后的视频;聚焦区域图像RAM地址计数器用于对聚焦区域视频图像的传输像素计数并转化为RAM地址信号;聚焦区域白色外框生成子模块用于在原输入视频中添加一个表示聚焦区域的白色外框;聚焦区域图像分流存储子模块用于将聚焦区域视频图像从原视频流中分离并完整存入RAM,并生成相应的RAM控制信号以及和其他模块的通讯信号。
进一步的,所述聚焦区域视频存储模块是一个双端口随机存储器(Dual-PortBlock Memory),既可选用实际器件实现,也可由XilinxFPGA自带的IP核生成。
进一步的,所述图像空间滤波和调焦评价值计算模块包括掩模中心位置寄存器、八个非掩模中心位置寄存器、掩模中心的移动的列计数器、一次掩模滤波数据接收标记寄存器、调焦评价值累加器、掩模滤波启停控制子模块、掩模移动控制子模块、空间滤波计算子模块和调焦评价值输出子模块;
所述掩模中心位置寄存器用于记录对一场聚焦区域图像进行空间滤波操作时掩模中心的位置;八个非掩模中心位置寄存器用于存储当前一次掩模滤波的所需的掩模中心的周边八个像素;掩模中心的移动的列计数器用于记录掩模中心所处的行位置;一次掩模滤波数据接收标记寄存器用于生成控制对一场聚焦区域图像中的每个可处理像素进行一次空间掩模滤波计算的有效期间标志信号;调焦评价值累加器用于存储对聚焦区域图像当前进行一次掩模滤波的计算值与之前值的累加值;掩模滤波启停控制子模块用于生成对一场聚焦区域图像进行空间掩模滤波操作的启停标志信号;掩模移动控制子模块用于控制掩模中心位置在空间掩模滤波的有效范围内移动,避免发生边界溢出;空间滤波计算子模块用于对一场聚焦区域图像进行空间掩模滤波计算并输出滤波图像;调焦评价值输出子模块用于空间滤波操作完成后计算并输出调焦评价值及其有效标志信号。
进一步的,所述自动聚焦实施模块包括调焦评价值寄存器、调焦评价值增加趋势计数器、调焦评价值减小趋势计数器、调焦评价值微峰FIFO存储器、微峰位置FIFO存储器、碰壁反弹子模块、调焦评价值变化趋势判定及峰值存储子模块和最佳聚焦位置定位子模块;
所述调焦评价值寄存器用于记录每个调焦位置处计算的调焦评价值;调焦评价值增加趋势计数器用于对处于调焦评价值增加趋势的调焦位置计数;调焦评价值减小趋势计数器用于对处于调焦评价值减小趋势的调焦位置计数;调焦评价值微峰FIFO存储器用于存储一组最新的“微峰”的调焦评价值;微峰位置FIFO存储器用于存储一组最新的“微峰”所处的调焦位置值;碰壁反弹子模块用于当调焦镜到达或超过两端调焦位置尽头时驱动调焦镜向相反方向运动;调焦评价值变化趋势判定及峰值存储子模块用于判别当前调焦评价值的变化趋势,找出并存储调焦评价值的有效峰值;最佳聚焦位置定位子模块用于根据当前调焦评价值的变化趋势和已存储的系列峰值确定最佳的聚焦位置。
本发明的有益效果:本发明的基于FPGA的红外成像自动聚焦系统,为已具有手动调焦功能的红外成像系统增加基于图像处理的实时自动聚焦功能,一方面可以在保留红外成像系统的现有硬件结构和器件不变的基础上,充分利用现有的调焦驱动和反馈硬件机构;另一方面利用先进的电子设计自动化设计工具,设计基于现场可编程门阵列(FPGA)器件的、与原电路匹配的红外成像自动聚焦系统,通过功能仿真和综合编译后,将自动聚焦FPGA数字逻辑程序下载到FPGA芯片器件中,在不改变原红外成像系统电子信号处理组件硬件架构的前提下实现基于图像处理的自动聚焦功能,具有设计周期短、复杂度低、可靠性高和调试方便等优点。
在对某双视场制冷红外成像系统(输出的红外图像分辨率为768×576、灰度级为256)加入上述红外成像自动聚焦系统后进行测试的结果表明,选择基于Prewitt或Sobel掩模空间滤波算法作为调焦评价函数,采用“相邻微峰比较”随动登山的自动聚焦控制策略的FPGA数字逻辑程序能够达到本发明的设计目的。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述基于FPGA的红外成像自动聚焦系统结构示意图;
图2为本发明实施例所述基于FPGA的红外成像自动聚焦系统功能模块组成示意图;
图3为本发明实施例所述基于FPGA的红外成像自动聚焦系统的数字逻辑电路原理图;
图4为本发明实施例所述同步控制信号生成(TVPpart)模块示意图;
图5为本发明实施例所述视频消隐信号生成(TVGen)模块示意图;
图6为本发明实施例所述聚焦区域视频分流(CodeGen)模块示意图;
图7为本发明实施例所述聚焦区域视频存储(Fig_RAM)模块示意图;
图8为本发明实施例所述图像空间滤波和调焦评价值计算(SPfilter)模块示意图;
图9为本发明实施例所述自动聚焦实施(Autofocus)模块示意图;
图10为本发明实施例所述滤波掩模及其在滤波图像中的位置示意图:(a)线性空间滤波掩模;(b)每行M像素滤波计数;(c)每行960像素滤波计数;
图11为本发明实施例所述3×3滤波掩模作用于聚焦区域图像示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
如图1-11所示
设计方式
本发明所设计的自动聚焦FPGA功能模块在的设计方式上,采用超高速集成电路硬件描述语言(VHDL)和原理图(Schematic)输入混合设计的方法。VHDL语言可以在多种EDA工具设计环境中运行,支持自顶向下和基于库设计方法,具有从系统级到门级电路的多层次描述系统硬件功能的能力,高层次的行为描述可与低层次的寄存器传输级描述混合使用,特别适合大型的数字逻辑系统的设计与输入。在本发明中首先对实现特殊功能的各个硬件功能模块进行VHDL语言编程设计、IP核生成器设计或状态机设计,生成相应的模块符号(symbol);然后,用原理图作为设计的顶层,调用和组织所生成的各种不同模块符号生成红外成像自动聚焦系统数字逻辑电路原理图,如图3所示。
接口信号
本发明所设计的自动聚焦FPGA功能模块作为整个红外成像视频信号处理的FPGA数字逻辑电路的一部分,与原电子信号处理组件之间的主要接口信号包括:视频数据传输时钟信号、全局异步清零信号、视频数据信号和调焦位置和方向传感信号等。例如,某红外成像系统的视频数据传输时钟信号为15MHz,则命名为CLK15;系统清零信号命名为VCLR;红外图像灰度级设为256,则一个像素数据为8位,将视频数据信号命名为TV(0:7);根据调焦量的范围将调焦位置传感信号设置为12位,命名为Pos_sens(0:11)等。
时序设计
本发明所设计的自动聚焦FPGA功能模块采用同步时序设计。同步时序设计使得电路的组合逻辑部分结构清晰,而且容易实现。用同步时钟确保所有操作在同一瞬间发生,这可以在很大程度上避免了冒险问题。故在本发明中同步时钟就是视频数据信号传输时钟信号,异步输入信号只是作为系统初始化之用,整个系统尽量避免使用其它异步信号。
功能模块
本发明所设计的自动聚焦FPGA数字逻辑电路包含了:同步控制信号生成模块(TVPpart)、视频消隐信号生成模块(TVGen)、聚焦区域视频分流模块(CodeGen)、聚焦区域视频存储模块(Fig_RAM)、图像空间滤波模块和调焦评价值计算(SPfilter)和自动聚焦实施模块(Autofocus)六个功能模块,如图2所示。
由于实施例的红外成像系统中视频信号处理输出视频采用PAL制式,为了使本发明所设计的自动聚焦模块具备独立调试功能,就应该为其提供PAL制式必需的各种同步扫描视频控制信号。在PAL制式中,若视频信号收发端不同步(收发端频率、相位不同)则图像将被破坏;若要确保PAL制式视频图像正确显示和视频处理正常进行,就应当确保扫描正程有良好的直线性与相同的幅型比,这是通过对视频像素数据信号的传输时钟进行严格计数,生成使视频信号收发端同步扫描的一系列控制信号(包括视频行、场消隐脉冲、复合同步脉冲和开槽场同步脉冲与均衡脉冲等信号)实现的。当然,这些同步控制信号在原红外成像系统的视频处理数字逻辑设计中已经存在,在本发明所设计的自动聚焦FPGA数字逻辑电路中重新单独生成,是为了能独立地对所设计的自动聚焦FPGA数字逻辑电路进行仿真测试。
同步控制信号生成模块1
同步控制信号生成(TVPpart)模块1是用来当对自动聚焦FPGA数字逻辑电路单独进行可视化仿真测试时产生所需的行消隐脉冲信号(HBLK)。具体的,它由内部整型计数器(TXC)101、视频数据传输时钟计数(basecount)子模块102和行消隐脉冲信号生成(hblkgen)子模块103构成,如图4所示。
内部计数器(TXC)101用于对视频数据传输时钟信号进行循环计数,计数范围可由红外成像系统输出图像的分辨率确定。例如,我国电视PAL制式规定:行扫描周期为64μs,其中行正程时间为52.2μs,行消隐为11.8μs。若输出一帧分辨率为768×576的视频图像,则行正程的列数为768,可计算出行消隐的列数为192,行扫描周期的总列数为960,则内部计数的范围设置为从0到1023已经足够。计数值最后还被变换为相应位数(0到1023的范围可变换为10位)的标准逻辑矢量信号并输出到图像列计数信号TX上,以供后续模块使用。
视频数据传输时钟计数(basecount)子模块102通过操作内部计数器(TXC)101在行扫描周期内对视频数据传输时钟进行循环计数,其工作过程如下:若检测到系统重置信号ALLCLR有效(即ALLCLR='1'),则将内部计数器(TXC)103清零;否则,当视频数据传输时钟信号CLK15的上升沿到来时,将内部计数器(TXC)103在行扫描周期的总列数范围内(如前例中的0~959)循环计数。
行消隐脉冲信号生成(hblkgen)子模块103通过检测内部计数器(TXC)103的值来生成行消隐信号HBLK,其工作过程如下:当视频数据传输时钟信号CLK15的上升沿到来时,若计数器(TXC)103的值处于行正程的列数范围内(如前例中的0~767)则将行消隐信号HBLK置为无效(HBLK<='0'),否则HBLK置为有效(HBLK<='1');当计数器(TXC)103的值达到行扫描周期的总列数(如前例中的960)时,又将行消隐信号HBLK置为无效。
当然,同步控制信号生成(TVPpart)模块1只是用于对本发明设计的自动聚焦FPGA数字逻辑电路单独进行仿真测试时增加的辅助性模块,实施本发明的任一产品中不必设置上述的同步控制信号生成模块。
(2)视频消隐信号生成模块2
视频消隐信号生成(TVGen)模块2的功能是由行消隐脉冲信号生成扫描行计数、场消隐脉冲和综合消隐信号。具体的,它是由内部整型计数器(TL)201、行消隐脉冲计数(hblkcount)子模块202和场消隐脉冲信号生成(vblkgen)子模块203构成,如图5所示。
内部计数器(TL)201用于对视频的行消隐脉冲信号进行循环计数,计数范围也由红外成像系统输出图像的分辨率确定。例如,我国电视PAL制式规定:场扫描周期为20ms,其中场正程时间为18.4ms,场消隐时间为1.6ms。若输出一帧分辨率为768×576的视频图像,一帧图像由两场图像隔行扫描而得,则一场图像的场正程行数为288,可计算出场消隐行数为24,场扫描周期的总行数为312;一帧图像的场扫描周期的总行数为624,则内部计数的范围设置为从0到1023已经足够。计数值最后也被变换为相应位数(0到1023的范围可变换为10位)的标准逻辑矢量信号并输出到图像行计数信号TLN上,以供后续模块使用。
行消隐脉冲计数(hblkcount)子模块202通过操作内部计数器(TL)201,在场扫描周期内对行消隐脉冲进行循环计数,其工作过程如下:若检测到系统重置信号(ALLCLR)有效(即ALLCLR='1')则将内部计数器(TL)201清零;否则,当行消隐脉冲信号HBLK的上升沿到来时,将内部计数器(TL)201在场扫描周期对应总行数的限制范围(如前例中的0~623)内循环计数。
场消隐脉冲信号生成(vblkgen)子模块203通过检测内部计数器(TL)201的值来生成场消隐信号VBLK。由于一帧图像是由两场图像通过隔行扫描合成,因此一场图像的有效行数和消隐行数都分别为一帧图像的1/2。例如,分辨率为768×576的视频图像,则一场图像的有效行数为288,相应消隐的行数为24;故设置第一场图像的消隐行范围为0~23,有效行范围为24~311;设置第二场图像的消隐行范围为312~335,有效行范围为336~623。该模块具体工作过程如下:当行消隐脉冲信号HBLK的上升沿到来时,若计数器(TL)201的值在场正程行数范围内(如前例中的24~311、336~623)则将VBLK置为无效(VBLK<='0'),若在场消隐行数范围内(如前例中的0~23、312~335)则将场消隐信号VBLK置为有效(VBLK<='1')。
最后,由生成的场消隐信号VBLK和输入的行消隐信号HBLK相“与”,生成综合消隐信号TVBLK。
特别地,在本发明中特别设计了PAL制式的缩小比例的图像,以减小仿真计算量、使可视化仿真快速得以进行并及时对处理结果进行验证。例如,设计输出192×144的小尺寸图像(原图像分辨率768×576的十六分之一)的视频输出显示及其同步扫描视频控制信号。这种小尺寸图像视频输出显示系统与原系统具有相同的结构,相应的同步扫描视频控制信号与原图像视频控制信号一样也是由对视频数据信号的同步计数产生,只是内部计数器(TXC)103和(TL)201的计数值范围作了相应改变。
当然,视频消隐信号生成(TVGen)模块2只是用于对本发明设计的自动聚焦FPGA数字逻辑电路单独进行可视化仿真测试时增加的辅助性模块,实施本发明的任一产品中不必设置上述的视频消隐信号生成模块。
(3)聚焦区域视频分流模块3
聚焦区域视频分流(CodeGen)模块3是将输入视频中的聚焦区域部分分流出来写入RAM保存以便进行自动聚焦算法处理,同时在原输入视频中添加一个表示聚焦区域的白色外框后直接输出(即保持原视频传输不受自动聚焦算法影响)。当聚焦区域视频完整存入RAM后,就向聚焦区域视频存储(Fig_RAM)模块4发送RAM异步读信号,并想进行自动聚焦的空间滤波和调焦评价值计算模块(SPfilter)模块5发出使能信号。准确地将聚焦区域视频像素数据存储到双口RAM、合理生成RAM的异步读写和地址信号是该模块设计的难点。
具体的,聚焦区域视频分流(CodeGen)模块3是由图像列计数器(TC)301、图像行计数器(TL)302、图像帧寄存器(TVreg)303、聚焦区域图像RAM地址计数器(WRcnt)304、聚焦区域白色外框生成(borderGen)子模块305和聚焦区域图像分流存储(WriteRAM)子模块306构成,如图6所示。
图像列计数器(TC)301用于接收同步控制信号生成(TVPpart)模块1输出的、在一帧图像的有效和消隐的总列数范围内对视频数据传输时钟的循环计数,它是由输入的标准逻辑矢量信号TX转换的整型信号得到。
图像行计数器(TL)302用于接收视频消隐信号生成(TVGen)模块2输出的、在一帧图像的有效和消隐的总行数范围内对行消隐脉冲(即图像扫描行)的循环计数,它是由输入的标准逻辑矢量信号TLN转换的整型信号得到。
图像帧寄存器(TVreg)303是一个8位的标准逻辑矢量,用于内部保存对输入视频添加表示聚焦区域的白色外框操作后的视频图像帧。
聚焦区域图像RAM地址计数器(WRcnt)304,用于对聚焦区域视频图像的传输像素计数,并转化为标准逻辑矢量类型的RAM地址信号ADDWR。例如,对于大小为192×72的聚焦区域图像所需的最大地址量为13824,则设置整型的地址计数器(WRcnt)304的计数范围为0~13823。
聚焦区域白色外框生成(borderGen)子模块305用于在原输入视频中添加一个表示聚焦区域的白色外框,其工作过程如下:通过监测图像列计数器(TC)301和图像行计数器(TL)302的数值,在输入视频图像中聚焦区域的长、宽多出一个像素的位置处将像素值设置为白色(即将"11111111"输出到内部图像帧寄存器TVreg),以在输出视频中标识聚焦区域的白色外框。例如,若输出分辨率为768×576的视频图像,设置其中心部分的192×144区域作为聚焦区域,则一场图像的聚焦区域为192×72。由此,可计算出包含“场消隐行数”在内时第一场图像的聚焦区域白色外框的上下边分别位于第131行和第204行,第二场图像的聚焦区域白色外框的上下边分别位于第443行和第516行;也可计算出包含“行消隐列数”在内时第一帧图像的聚焦区域白色外框的左右边分别位于第286列和第480列。因此,当视频数据传输时钟信号CLK15的上升沿到来时,在图像行计数器(TL)302的值为131、204、443和516时、在图像列计数器(TC)301的值位于286~479的范围内,将图像帧寄存器(TVreg)303置为最大值(TVreg<="11111111");在图像列计数器(TC)301的值为286和479时、在图像行计数器(TL)302的值位于132~203和444~515的范围内,将图像帧寄存器(TVreg)303置为最大值(TVreg<="11111111")。若计数值不在上述范围之内,则用图像帧寄存器(TVreg)303接收输入视频(TVreg<=TV)。
聚焦区域图像分流存储(WriteRAM)子模块306用于将聚焦区域视频图像从原视频流中分离并完整存入RAM,其间生成相应的RAM控制信号以及和其他模块的通讯信号。其工作过程如下:当视频数据传输时钟信号CLK15的上升沿到来时,通过对输入视频的行列计数判断当前像素是否位于聚焦区域,若是位于聚集区域内则向双口RAM发出写使能信号,即将RAM写使能信号WR和聚焦区域标记信号FZsign置为有效(WR<='1',FZsign<='1');同时聚焦区域图像RAM地址计数器(WRcnt)304开始对聚焦区域的像素计数,并将计数值转换为相应维数的标准逻辑矢量输出到RAM地址信号ADDWR上,将聚焦区域的像素数据信号TV输出到RAM写入数据信号FocusZone上。若是当前像素没有位于聚集区域内,则关闭RAM的写使能和聚焦区域标记信号(WR<='0',FZsign<='0')。
当RAM中完整存储了聚焦区域图像的前3行时,将与图像空间滤波和调焦评价值计算(SPfilter)模块5通讯的图像滤波器使能信号RDstart置为有效(RDstart<='1'),并持续2个时钟以确保图像滤波器模块监测到该使能信号。
另外,聚焦区域图像分流存储(WriteRAM)子模块306对仅做了“加框”处理的原视频流正常输出:在像素数据传输时钟信号CLK15的上升沿到来时,将非消隐期间(TVBLK='0')图像帧寄存器(TVreg)303中存储的“加框处理视频流”输出到视频芯片的视频流输出接口TVStream;还将输入的视频综合消隐信号TVBLK反相后输出到视频芯片综合消隐输出接口TVOsign。
(4)聚焦区域视频存储模块4
聚焦区域视频存储(Fig_RAM)模块4是一个双端口随机存储器(Dual-PortBlockMemory),用于存储每场输出的聚焦区域图像。它是一种高速工作的存储器,具有两组相互独立的片选控制和读写驱动,可在两个端口上独立并行地进行读写操作。当任意一端口被选中驱动时就可对整个存储器按需随意取出或存入,且存取的速度与存储单元的位置无关。将该双端口RAM的输入口设置为只能写(WriteOnly),输出口设置为只能读(ReadOnly)且读在写之后(Readafter Write)。RAM端口由上升沿触发,写使能高平有效。RAM可选用实际器件实现,也可由XilinxFPGA自带的IP核生成。
具体的,聚焦区域视频存储(Fig_RAM)模块4的写数据端口(dina)、写使能端口(wea)和写地址端口(addra)本别连接到聚焦区域视频分流(CodeGen)模块3输出的聚焦区域视频数据信号FocusZone、存储器写使能信号WR和聚焦区域图像RAM地址计数器发出的存储器地址信号ADDWR;读地址端口(addrb)接收空间滤波和调焦评价值计算(SPfilter)模块5发出的掩模滤波像素地址信号ADDRD,读数据端口(doutb)则将读出的聚焦区域视频数据FZramTV反馈给SPfilter模块5;写时钟端口(clka)连接到图像数据传输时钟CLK15;而根据SPfilter模块5中的掩模滤波方式不同,读时钟端口(clkb)有两种不同输入,设计一:连接到传输时钟CLK15的8倍频时钟,设计二:只需连接到传输时钟CLK15,如图7所示。
RAM数据端口(dina或doutb)的位数由所存储视频图像的灰度级确定,RAM地址端口(addra或addrb)的位深由所存储的聚焦区域图像的分辨率确定。例如,若输入是256灰度级的视频数据,则输入和输出端口都设置为8位;若每帧图像聚焦区域为192×144,由于一帧图像由两场图像隔行扫描构成,RAM中存储的每场图像聚焦区域为192×72,则位深设置为13824已经足够。
(5)图像空间滤波和调焦评价值计算模块5
图像空间滤波和调焦评价值计算(SPfilter)模块5是本发明中自动聚焦算法实现的核心模块,其主要功能是对RAM中存储的聚焦区域图像数据信号进行线性空间掩模滤波和调焦评价值的计算,最后将滤波后聚焦区域图像输出显示,记录调焦评价值并在显示坐标系中描点绘图,同时提供各种显示的控制信号。
对图像进行空间滤波的难点在于对掩模中心位置移动的控制,这种控制不但取决于滤波掩模大小,还与RAM中的聚焦区域图像大小密切相关。例如,若RAM中存储的每场图像聚焦区域为192×72,当采用如图10(c)所示的3×3滤波掩模作用于聚焦区域图像时,必须等到在RAM中存储了3行聚焦区域图像后才能进行。而且为了不使掩模溢出,则掩模中心可以移动的范围必须除去滤波图像四周边缘(如图11所示的阴影)部分。这样,除去第一行和最后一行后,掩模中心的移动范围从RAM中第2行的第2位(193)开始,到倒数第2行的倒数第2位(13630)结束;而掩模滤波的启动时间是当聚焦区域图像数据信号写入RAM的第3行的第3位(386)后开始。由于聚焦区域图像数据是以行的形式写入RAM,故在掩模滤波进行过程中必须控制掩模中心跳过聚焦区域图像的左右边缘。
具体的,图像空间滤波和调焦评价值计算(SPfilter)模块5是由掩模中心位置寄存器(MaskInxReg)501、八个非掩模中心位置寄存器(s1,s2,s3,s4,s5,s6,s7,s8对应于图10(a)所示的掩模位置)502、掩模中心的移动的列计数器(MX)503、一次掩模滤波数据接收标记寄存器(ReceiveDataReg)504、调焦评价值累加器(Sum)505、掩模滤波启停控制(StartStopCtrl)子模块506、掩模移动控制(MaskMoveCtrl)子模块507、空间滤波计算(DoSpFilter)子模块508和调焦评价值输出(FEValueOut)子模块509构成,如图8所示。
掩模中心位置寄存器(MaskInxReg)501用于记录对一场聚焦区域图像进行空间滤波操作时掩模中心的位置。例如,对于上述192×72的聚焦区域图像和3×3滤波掩模,则掩模中心位置的移动范围为193~13630,如图11所示。
八个非掩模中心位置寄存器(s1~s8)502用于存储当前一次掩模滤波的所需的掩模中心的周边八个像素(此时滤波掩模尺寸设定为3×3)。
掩模中心的移动的列计数器(MX)503用于记录掩模中心所处的行位置。在上例中,一场聚焦区域图像有72行,则MX在1~72之间循环计数。
一次掩模滤波数据接收标记寄存器(ReceiveDataReg)504用于生成控制对一场聚焦区域图像中的每个可处理像素进行一次空间掩模滤波计算的有效期间标志信号。它可以被设置为有效('1')、无效('0')和高阻('Z')三种状态。当没有对一场聚焦区域图像进行掩模滤波操作时被设置为高阻状态;当滤波进行时,掩模中心在一场聚焦区域图像中有效范围内的像素(如图11中的非阴影部分)上驻留时,输出掩模所覆盖的八个像素的RAM存储地址期间被设置为有效;当在掩模中心发生移动一个时钟周期间内被设置为无效。
调焦评价值累加器(Sum)505用于存储对聚焦区域图像当前进行一次掩模滤波的计算值与之前值的累加值。在累加计算过程中还需注意数值溢出的问题。一般地,对一场聚焦区域图像进行空间滤波后累加的滤波值数值较大,需要相应增加传输线的位宽。例如,对于上述的FZ=192×72的聚焦区域和3×3滤波掩模,理论上对一个掩模中心像素计算的Sobel值最大可为:
Max[Sobel]pixel=8×256=2048
掩模实际处理的聚焦区域FZ的调焦评价值最大可为:
所需位宽:
B=log2(Max[AFE])=log2(27238400)=24.7≈25
然而,25位的信号位宽对于一般的视频处理逻辑电路而言实在太大,但若数据传输线的位宽不够,也将造成调焦评价值溢出而导致输出错误。因此,本发明通过对计算所得的调焦评价值都除以一个2的乘方的常数(如除以25)来降低数据传输位宽,以避免数据溢出错误。
掩模滤波启停控制(StartStopCtrl)子模块506用于对一场聚焦区域图像进行空间掩模滤波操作时,生成滤波开启和停止标志信号,其工作过程如下:监测聚焦区域视频分流(CodeGen)模块3发出的图像滤波器使能信号RDstart,若RDstart有效则开始异步读存储聚焦区域图像的RAM中的数据,设置RAM异步读使能有效(AsynRDEn<='1');当对聚焦区域图像的空间滤波操作完毕(即掩模中心在整场聚焦区域中移动完毕)时,此时掩模中心位置位于RAM中第2行的第2位,掩模中心位置寄存器(MaskInxReg)501的监测值应为193,则设置RAM异步读使能无效(AsynRDEn<='0')。
掩模移动控制(MaskMoveCtrl)子模块507用于对一场聚焦区域图像进行空间掩模滤波操作时,控制掩模中心位置在有效范围内移动,避免发生边界溢出。将处于有效范围内的掩模覆盖位置的八个数据地址值发送给聚焦区域图像存储RAM,并设置数据接收标记寄存器的状态。其工作过程如下:若聚焦区域图像RAM异步读使能信号AsynRDEn有效(意味着RAM中已存储完整一场聚焦区域图像)时,当掩模中心位于有效范围内的某像素上驻留时,则在每个视频传输时钟将掩模覆盖的八个像素地址通过信号ADDRD依次送入RAM读地址端口(addrb),同时设置一次掩模滤波数据接收标记寄存器(ReceiveDataReg)504有效('1')。
当掩模周边八个像素地址依次输出后,即在第9个时钟移动掩模中心:由一个内部1~9循环计数的时钟计数器控制掩模像素地址输出和掩模中心移动,并设置一次掩模滤波数据接收标记寄存器(ReceiveDataReg)504为无效('0')。再通过监测列计数器(MX)503记录的掩模中心所处列位置来控制掩模中心跳过聚焦区域图像的左右边缘。例如,当MX=190时设置MaskInxReg=MaskInxReg+3,跳过图像左右边缘2个像素,重置MX=1。通过监测掩模中心位置寄存器(MaskInxReg)501判断是否到达本场图像的最后一个滤波位置。例如,当MaskInxReg=192*71-2=13630时,意味着掩模中心已经位于倒数第2行的倒数第2位(13630)的最后一个滤波位置,则重置MX=1。
若AsynRDEn无效则表明掩模中心在整场聚焦区域中移动完毕,不再进行空间掩模滤波操作,此时将RAM读地址信号ADDRD设置为高阻状态,并设置寄存器(ReceiveDataReg)504为高阻状态('Z')。
空间滤波计算(DoSpFilter)子模块508用于对一场聚焦区域图像进行空间掩模滤波计算并输出滤波图像,其工作过程如下:实时监测一次掩模滤波的数据接收标记寄存器(ReceiveDataReg)504的状态,若其有效('1')说明当前掩模中心位于一场聚焦区域图像的有效范围内可以读入掩模覆盖的八个图像数据,则延迟一个数据时钟后依次同步接收RAM地址信号ADDRD存储的聚焦区域视频数据FZramTV,并按顺序分别存入八个掩模非中心位置寄存器(s1,s2,s3,s4,s5,s6,s7,s8)502。在开始一次掩模滤波计算之前,设置标志信号FLsign为无效,设置12位的输出滤波图像信号FilterOut为高阻状态(X"ZZZ")。
若寄存器(ReceiveDataReg)504的状态为无效('0'),则说明掩模覆盖的周边八个图像数据已接收完毕(掩模中心正进行移动),可开始进行掩模滤波计算,将一次掩模滤波计算标志信号FLsign为有效。
本发明为自动聚焦选用的基于灰度梯度法的两种掩模滤波算法分别为Prewitt算法或Sobel算法:
Prewitt=s3+s5+s8-s1-s4-s6+s1+s2+s3-s6-s7-s8
Sobel=s3+2·s5+s8-s1-2·s4-s6+s1+2·s2+s3-s6-2·s7-s8
当一次掩模滤波计算完毕后,将当前滤波值Prewitt或Sobel转换为12位的标准逻辑矢量输出到滤波图像信号FilterOut,同时也对滤波值进行累加,将累加的Prewitt或Sobel存入调焦评价值累加器(Sum)505。直到新的一场待滤波的聚焦区域图像到来时,监测到RAM异步读使能无效(AsynRDEn='0'),则刷新调焦评价值累加器(Sum)504。
若寄存器(ReceiveDataReg)504的状态为高阻('Z'),则说明对一场聚焦区域图像的掩模滤波处理完毕,设置一次掩模滤波计算标志信号FLsign为无效、设置输出滤波图像信号FilterOut为X"000"。
调焦评价函数是自动聚焦过程中的唯一度量,自动聚焦算法的关键是选择一个合适的调焦评价函数。调焦评价函数应该具有以下特性:①无偏性;②单峰性;③能反映离焦极性;④较高的信噪比;⑤计算量小。常见调焦评价函数可归纳为频域函数、灰度函数、信息学函数和统计学函数四类。本发明对图像空间滤波和调焦评价值计算(SPfilter)模块5中的掩模滤波方式提出两种设计,以下将以每场聚焦区域图像大小为192×72像素、采用3×3滤波掩模为例进行说明:
设计一,对于一次掩模计算,由图像数据传输时钟CLK15驱动移动掩模中心,并以时钟CLK15的8倍以上频率发送RAM读地址,即用较高的频率读取s1~s8个掩模数据并进行计算,从而不会影响掩模中心随图像数据信号的同步移动。这种以“倍频”方式进行掩模计算的方法虽然较为直观,但在硬件方面要求系统提供8×15MHz=120MHz以上的倍频时钟,或许会对整个视频处理系统做较大改动,不易实施。
设计二,对于一次掩模计算,以图像数据传输时钟CLK15驱动发送RAM读地址,当读完s1~s8个掩模数据后,在9个时钟时进行掩模计算,在第10个时钟时发送掩模计算结果并进行掩模中心的移位。这种方法完全基于图像数据传输时钟,对系统的硬件也没有太大改动和增减;但是由于RAM的读写不同步,需要对RAM的读写和掩模计算的时序进行严格的计算和安排,设计较为复杂。例如,对一个像素的一次掩模计算需要10个CLK15时钟,意味着每当输出一个经过掩模计算的像素值时RAM中已经写入了10个新的像素数据。因此,必须确保在对RAM内像素数据进行掩模滤波计算过程中,RAM不会被下一场图像数据刷新,这就要求图像滤波必须在一场图像的行、场消隐期间完成。计算如下:
PAL制规定行正程时间为52μs,行消隐为12μs,场正程时间为18.4ms,场消隐时间为1.6ms;若对整幅图像进行滤波,显然计算不能在消隐期间完成。然而,若只对聚焦区域进行滤波计算,则得滤波计算时间取决于聚焦区域大小。例如,RAM中存储的每场图像聚焦区域为192×72,采用3×3滤波掩模,滤波时间计算如下:
由于掩模中心的移动范围从RAM中第2行开始,到倒数第2行结束,则掩模实际处理的聚焦区域大小为:
FZ=(192-2)×(72-2)=13300pixel
设像素数据传输时钟频率为τMC,则从滤波开始到结束所需时间为:
Tfilter=10·FZ·τMC=133000τMC=138.54TH
其中,TH为行扫描周期。可见,在这段滤波时间内系统传输的图像信号为133000个,即138.54行。由于聚焦区域从132行开始,滤波也从(132+2)行开始,故在滤波时间内,图像输出到第138.54+132+2=272.54行。一场图像包括场消隐共有312行,可见滤波完成后本场图像显示仍未结束,不会导致RAM被下一场图像数据信号刷新。因此,虽然RAM的写入速度远大于掩模滤波计算值的输出速度,但不会出现“读等待写”的情况。
在本发明中按以上两种滤波方法都进行了相应设计,并且仿真结果与预期一致。无论采用哪一种方法,图像空间滤波和调焦评价值计算(SPfilter)模块5都将在滤波开始时,将掩模中心定位于RAM中的滤波起始位置(图11中阴影的193处),在其移动的有效范围内将掩模中心周围的8个像素值的地址顺序发送给RAM,由读出RAM相应位置的像素数据并按选定的Prewitt或Sobel滤波算法进行计算。将计算结果输出的同时,进行掩模中心移位。通过对掩模中心移位的行、列计数,控制掩模中心跳过滤波图像的左右边缘。直到掩模中心走到尽头(图11中阴影的13630处),其移回到初始位置,并由整个聚焦区域的滤波值计算调焦评价值。
调焦评价值输出(FEValueOut)子模块509用于对当前一场聚焦区域图像的空间滤波操作完毕后,计算并输出调焦评价值及其有效标志信号。其工作过程如下:若聚焦区域图像RAM异步读使能信号AsynRDEn无效(意味着对当前一场聚焦区域图像的空间滤波操作完毕)时,将调焦评价值累加器(Sum)504的值转换为20位的标准逻辑矢量输出到信号Focus_Eval,同时发出调焦评价值输出有效的标志脉冲信号FEsign;否则,AsynRDEn有效时表明对当前聚焦区域图像的空间滤波操作正在进行中,将信号Focus_Eval置为无效(X"00000"),其输出标志脉冲信号FEsign也持续为低平。
(6)自动聚焦实施模块6
自动聚焦实施(Autofocus)模块6是自动聚焦策略实现的核心模块,其主要功能是由SPfilter模块计算所得的聚焦区域图像调焦评价值,以及由系统反馈的当前调焦透镜位置值,采用相邻微峰比较法登山搜索策略进行自动聚焦。由于这种新型的自动聚焦策略在设计的前期经过特定测试平台的从算法到实际聚焦情况的测试,实验结果表明它具有较强的准确性和可靠性(见专利《一种红外成像自动聚焦算法的测试系统及测试方法》,申请号:201811592352.5)。本发明将其用硬件描述语言实现。
具体的,自动聚焦实施(Autofocus)模块6是由调焦评价值寄存器(AFEValueReg)601、调焦评价值增加趋势计数器(TrendP)602、调焦评价值减小趋势计数器(TrendN)603、调焦评价值微峰FIFO存储器(PeakValFifo)604、微峰位置FIFO存储器(PeakPosFifo)605、碰壁反弹(Rebound)子模块606、调焦评价值变化趋势判定及峰值存储(AFETrend)子模块607和最佳聚焦位置定位(AFPosFix)子模块608构成,如图9所示。
调焦评价值寄存器(AFEValueReg)601用于记录每个调焦位置(调焦量)计算的调焦评价值,以便将相邻的两个或若干个调焦位置计算的调焦评价值进行比较。默认初始值为0。
调焦评价值增加趋势计数器(TrendP)602用于当前后相邻两个调焦位置计算的调焦评价值相比处于增加趋势时,对调焦步数进行计数。该计数器值最小值为0,且不能为负。
调焦评价值减小趋势计数器(TrendN)603用于当前后相邻两个调焦位置计算的调焦评价值相比处于减小趋势时,对调焦步数进行计数;若减小趋势计数超过3,则控制调焦镜向相反方向运动。该计数器值最小值为0,且不能为负。
调焦评价值微峰FIFO存储器(PeakValFifo)604用于存储一组(6个)最新的“微峰”的调焦评价值。
微峰位置FIFO存储器(PeakPosFifo)605用于存储一组(6个)最新的“微峰”所处的调焦位置值。
碰壁反弹(Rebound)子模块606用于当调焦模块驱动调焦镜到达或超过两端调焦位置尽头时,立即发出调焦驱动方向反转信号,驱动调焦镜向相反方向运动。其工作过程如下:监测调焦电机驱动电路发出的调焦位置信号FocusPos,并与正负最大调焦量相比较,若判定已经到达调焦“正向”尽头时,则发出停止和反转方向信号,驱动调焦镜朝向“负向”运动;反之亦然。
调焦评价值变化趋势判定及峰值存储(AFETrend)子模块607用于在接收到调焦方向反馈信号后,判别当前调焦评价值的变化趋势,最终找出并存储调焦评价值的有效峰值。其工作过程如下:监测调焦驱动电路反馈的调焦方向信号FocusDir,当其为高平时(FocusDir='1')表明调焦镜朝靠近红外探测器方向运动,驱动方向为“正向”;当其为低平时(FocusDir='0')表明调焦镜朝背离红外探测器方向运动,驱动方向为“负向”。在当前调焦位置处,将图像空间滤波和调焦评价值计算(SPfilter)模块5输出的调焦评价值信号AFEValue与寄存器(AFEValueReg)601记录的上一调焦位置的值相比较,并求二者的差值AFE_dif=AFEValue–AFEValueReg,然后做如下判定:
当驱动方向FocusDir为“正向”时,①若AFE_dif>=0表明调焦评价值有增大趋势,即调焦评价值减小趋势变弱,首先将计数器(TrendN)603减小1。接着判断计数器(TrendP)602是否小于0,若是则说明“累积正向增大趋势”不足,则设置trend_P=0和trend_N=0以重新对正向的变化趋势进行判断;否则,说明调焦评价值保持增大趋势,计数器(TrendP)602增加1。②若AFE_dif<0表明调焦评价值有减小趋势。此时,首先判断AFE_dif<Focus_Margin?若是,则说明减小幅度没有超过一个经验阈值Focus_Margin,认为调焦评价值只是存在波动而不是减小趋势,处理方法同①;若不然,表明调焦评价值有减小趋势且减小幅度超过阈值,则首先使计数器(TrendP)602减1,然后再由调焦评价值减小趋势计数器(TrendN)603的值判定是否出现“峰值”,若TrendN为负,则认为这是调焦评价值曲线上的一个“峰值”,并将当前调焦评价值FocusVal存入顺序移位后的调焦评价值微峰FIFO存储器(PeakValFifo)604,将当前调焦位置值FocusPos存入顺序移位后的微峰位置FIFO存储器(PeakPosFifo)605,以记录最新到来的调焦评价值“微峰”及其对应的调焦位置;若TrendN非负则说明调焦评价值处于继续减小趋势,计数器(TrendN)603加1。
当驱动方向FocusDir为“负向”时驱动方式与“正向”时类似。
最佳聚焦位置定位(AFPosFix)子模块608用于根据当前调焦评价值的变化趋势和已存储的系列峰值确定最佳的聚焦位置,其工作过程如下:由调焦评价值增加趋势计数器(TrendP)602和减小趋势计数器(TrendN)603的值判断:①若TrendP>0且TrendN<n,说明当前调焦正处于在调焦评价值曲线的“爬坡”状态(允许出现n个调焦量的起伏波动),因此需要继续“爬坡”。此时若驱动方向FocusDir为“正向”则将输出调焦位置AFPos朝正向加一,若驱动方向FocusDir为“负向”则将输出调焦位置AFPos朝负向加一。②若TrendP<0且TrendN=n,说明当前调焦正处于在调焦评价值曲线的“下坡”状态(且已经连续下降了n个调焦量),因此需要反转“爬坡”,反转调焦镜驱动方向FocusDir,并使调焦位置AFPos回到反方向6个调焦量的位置,同时使计数器(TrendP)602和(TrendN)603清零以便重新开始判断调焦评价值的变化趋势。此时还需要启动一个“反转驱动计数器”以便控制不允许连续反转超过两次(反转连续超过两次表明调焦在评价值曲线的最高峰值两侧振荡),否则直接回到“峰顶”处并触发微峰值比较机制。③若仅仅TrendN=n,说明当前调焦正处于在调焦评价值曲线的“过最高峰”后下坡阶段,而且连续下降了n个调焦量才认为是真正的“峰顶”而非波动,此时触发微峰值比较机制,将退回到n个调焦量处的“峰值”与调焦评价值微峰FIFO存储器(PeakValFifo)604记录的系列“峰值”进行比较,将选出的最大“峰值”映射到(PeakPosFifo)605中的值确定为最佳聚焦位置。其中描述的n在上例中实验的经验值可取为6,亦可根据不同调焦系统进行调整。
最后,当确定了调焦评价值变化趋势后触发碰壁反弹(Rebound)子模块606,判断是否已达到正负最大调焦量并相应进行调焦反转。
整个自动聚焦功能的FPGA数字逻辑电路的设计就是由以上TVPpart、TVGen、CodeGen、Fig_RAM、SPfilter和Autofocus六个模块组成,将各个模块生成各自的符号(Symbol),最后由原理图进行连接实现,如图3所示。该自动聚焦数字逻辑电路可以独立进行仿真运行调试,将调试成功的模块加入到红外成像系统的原视频处理数字逻辑电路中,模块所需的时钟信号和其他驱动信号可由系统中原视频处理电路直接提供,RAM也可在FGPA外部由器件实现。
使用ISE集成综合工具对本发明设计的自动聚焦FPGA数字逻辑电路进行综合后输出的综合报告如表1所示。
表1自动聚焦FPGA模块设计的综合报告
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (7)
1.一种基于FPGA的红外成像自动聚焦系统,其特征在于:包括同步控制信号生成模块、视频消隐信号生成模块、聚焦区域视频分流模块、聚焦区域视频存储模块、图像空间滤波模块与调焦评价值计算和自动聚焦实施模块;
所述同步控制信号生成模块用于由同步视频数据信号传输时钟生成使视频收发端同步扫描的控制信号,包括视频行、场消隐脉冲、复合消隐脉冲信号;
所述视频消隐信号生成模块用于由视频收发端同步扫描信号生成综合消隐信号和扫描行计数信号;
所述聚焦区域视频分流模块是对视频数据信号进行处理的第一个模块,该模块既可用于将输入视频直接输出显示(即保持传输不受自动聚焦算法影响的原视频),还实现了将输入视频分流出来以便进行自动聚焦算法处理;
所述聚焦区域视频存储模块是一个种高速工作的双端口随机存储器,用于存储每场输出的聚焦区域图像;
所述图像空间滤波模块和调焦评价值计算模块是自动聚焦算法实现的核心模块,主要用于对双端口RAM中的聚焦区域图像数据信号进行线性空间掩模滤波和调焦评价值的计算,最后将滤波后聚焦区域图像输出显示,记录调焦评价值并在显示坐标系中描点绘图,同时提供各种显示的控制信号;
所述自动聚焦实施模块是自动聚焦策略实现的核心模块,其主要功能是由对聚焦区域图像计算所得的调焦评价值和由系统监测的当前调焦位置值,采用相邻微峰比较的自动聚焦策略驱动调焦电机实现自动聚焦。
2.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述同步控制信号生成模块包括内部整型计数器、视频数据传输时钟计数子模块和行消隐脉冲信号生成子模块;
所述内部整型计数器用于对输出图像的分辨率范围内的视频数据传输时钟进行循环计数;视频数据传输时钟计数子模块通过操作内部计数器在行扫描周期内对视频数据传输时钟进行循环计数;行消隐脉冲信号生成子模块通过操作内部计数器来生成行消隐信号。
3.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述视频消隐信号生成模块包括内部整型计数器、行消隐脉冲计数子模块和场消隐脉冲信号生成子模块;
所述内部整型计数器对输出图像的分辨率范围内的行消隐脉冲信号进行循环计数;行消隐脉冲计数子模块通过操作内部计数器在场扫描周期内对行消隐脉冲进行循环计数;场消隐脉冲信号生成子模块通过操作内部计数器来生成场消隐信号。
4.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述聚焦区域视频分流模块包括图像列计数器、图像行计数器、图像帧寄存器、聚焦区域图像RAM地址计数器、聚焦区域白色外框生成子模块和聚焦区域图像分流存储子模块;
所述图像列计数器用于在一帧图像的有效和消隐的总列数范围内对视频数据传输时钟进行循环计数;图像行计数器在一帧图像的有效和消隐的总行数范围内对行消隐脉冲进行循环计数;图像帧寄存器用于内部保存对输入视频添加表示聚焦区域的白色外框操作后的视频;聚焦区域图像RAM地址计数器用于对聚焦区域视频图像的传输像素计数并转化为RAM地址信号;聚焦区域白色外框生成子模块用于在原输入视频中添加一个表示聚焦区域的白色外框;聚焦区域图像分流存储子模块用于将聚焦区域视频图像从原视频流中分离并完整存入RAM,并生成相应的RAM控制信号以及和其他模块的通讯信号。
5.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述聚焦区域视频存储模块是一个双端口随机存储器(Dual-Port Block Memory),既可选用实际器件实现,也可由Xilinx FPGA自带的IP核生成。
6.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述图像空间滤波和调焦评价值计算模块包括掩模中心位置寄存器、八个非掩模中心位置寄存器、掩模中心的移动的列计数器、一次掩模滤波数据接收标记寄存器、调焦评价值累加器、掩模滤波启停控制子模块、掩模移动控制子模块、空间滤波计算子模块和调焦评价值输出子模块;
所述掩模中心位置寄存器用于记录对一场聚焦区域图像进行空间滤波操作时掩模中心的位置;八个非掩模中心位置寄存器用于存储当前一次掩模滤波的所需的掩模中心的周边八个像素;掩模中心的移动的列计数器用于记录掩模中心所处的行位置;一次掩模滤波数据接收标记寄存器用于生成控制对一场聚焦区域图像中的每个可处理像素进行一次空间掩模滤波计算的有效期间标志信号;调焦评价值累加器用于存储对聚焦区域图像当前进行一次掩模滤波的计算值与之前值的累加值;掩模滤波启停控制子模块用于生成对一场聚焦区域图像进行空间掩模滤波操作的启停标志信号;掩模移动控制子模块用于控制掩模中心位置在空间掩模滤波的有效范围内移动,避免发生边界溢出;空间滤波计算子模块用于对一场聚焦区域图像进行空间掩模滤波计算并输出滤波图像;调焦评价值输出子模块用于空间滤波操作完成后计算并输出调焦评价值及其有效标志信号。
7.如权利要求1所述的基于FPGA的红外成像自动聚焦系统,其特征在于:所述自动聚焦实施模块包括调焦评价值寄存器、调焦评价值增加趋势计数器、调焦评价值减小趋势计数器、调焦评价值微峰FIFO存储器、微峰位置FIFO存储器、碰壁反弹子模块、调焦评价值变化趋势判定及峰值存储子模块和最佳聚焦位置定位子模块;
所述调焦评价值寄存器用于记录每个调焦位置处计算的调焦评价值;调焦评价值增加趋势计数器用于对处于调焦评价值增加趋势的调焦位置计数;调焦评价值减小趋势计数器用于对处于调焦评价值减小趋势的调焦位置计数;调焦评价值微峰FIFO存储器用于存储一组最新的“微峰”的调焦评价值;微峰位置FIFO存储器用于存储一组最新的“微峰”所处的调焦位置值;碰壁反弹子模块用于当调焦镜到达或超过两端调焦位置尽头时驱动调焦镜向相反方向运动;调焦评价值变化趋势判定及峰值存储子模块用于判别当前调焦评价值的变化趋势,找出并存储调焦评价值的有效峰值;最佳聚焦位置定位子模块用于根据当前调焦评价值的变化趋势和已存储的系列峰值确定最佳的聚焦位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074870.6A CN110809113B (zh) | 2019-01-25 | 2019-01-25 | 一种基于fpga的红外成像自动聚焦系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074870.6A CN110809113B (zh) | 2019-01-25 | 2019-01-25 | 一种基于fpga的红外成像自动聚焦系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110809113A true CN110809113A (zh) | 2020-02-18 |
CN110809113B CN110809113B (zh) | 2021-11-05 |
Family
ID=69487269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910074870.6A Expired - Fee Related CN110809113B (zh) | 2019-01-25 | 2019-01-25 | 一种基于fpga的红外成像自动聚焦系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110809113B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021184169A1 (zh) * | 2020-03-16 | 2021-09-23 | 中国科学院深圳先进技术研究院 | 一种用于显微镜的实时自动对焦系统 |
CN113535631A (zh) * | 2020-04-22 | 2021-10-22 | 苏州华兴源创科技股份有限公司 | 数据分配方法、装置、集成芯片及视频图像处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458169A (zh) * | 2007-12-14 | 2009-06-17 | 中国科学院沈阳自动化研究所 | 实时图像跟踪系统跟踪速度测量方法 |
CN101509998A (zh) * | 2009-03-27 | 2009-08-19 | 宁波永新光学股份有限公司 | 一种自动聚焦方法及应用该方法的显微镜 |
CN102457666A (zh) * | 2010-10-19 | 2012-05-16 | 赵菲 | 基于fpga的自动聚焦装置 |
US20130002858A1 (en) * | 2011-06-28 | 2013-01-03 | Bridge Robert F | Mechanisms for Conserving Power in a Compressive Imaging System |
CN103561203A (zh) * | 2013-11-12 | 2014-02-05 | 武汉微创光电股份有限公司 | 一种基于cpld和mcu的自动聚焦高清摄像机 |
CN103945133A (zh) * | 2014-05-08 | 2014-07-23 | 山东神戎电子股份有限公司 | 一种可见光镜头的自动聚焦装置及方法 |
-
2019
- 2019-01-25 CN CN201910074870.6A patent/CN110809113B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458169A (zh) * | 2007-12-14 | 2009-06-17 | 中国科学院沈阳自动化研究所 | 实时图像跟踪系统跟踪速度测量方法 |
CN101509998A (zh) * | 2009-03-27 | 2009-08-19 | 宁波永新光学股份有限公司 | 一种自动聚焦方法及应用该方法的显微镜 |
CN102457666A (zh) * | 2010-10-19 | 2012-05-16 | 赵菲 | 基于fpga的自动聚焦装置 |
US20130002858A1 (en) * | 2011-06-28 | 2013-01-03 | Bridge Robert F | Mechanisms for Conserving Power in a Compressive Imaging System |
CN103561203A (zh) * | 2013-11-12 | 2014-02-05 | 武汉微创光电股份有限公司 | 一种基于cpld和mcu的自动聚焦高清摄像机 |
CN103945133A (zh) * | 2014-05-08 | 2014-07-23 | 山东神戎电子股份有限公司 | 一种可见光镜头的自动聚焦装置及方法 |
Non-Patent Citations (1)
Title |
---|
倪文佳: "基于FPGA的可自动聚焦视频监控系统", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021184169A1 (zh) * | 2020-03-16 | 2021-09-23 | 中国科学院深圳先进技术研究院 | 一种用于显微镜的实时自动对焦系统 |
CN113535631A (zh) * | 2020-04-22 | 2021-10-22 | 苏州华兴源创科技股份有限公司 | 数据分配方法、装置、集成芯片及视频图像处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110809113B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7839444B2 (en) | Solid-state image-pickup device, method of driving solid-state image-pickup device and image-pickup apparatus | |
US9106837B2 (en) | Image capturing device and image capturing method | |
CN110460831A (zh) | 显示方法、装置、设备及计算机可读存储介质 | |
CN100462768C (zh) | 自动聚焦控制装置和方法 | |
CN101753820B (zh) | 信息处理装置、缓冲器控制方法和计算机程序 | |
US8588600B2 (en) | Stereoscopic auto-focus based on coordinated lens positions | |
CN101510041A (zh) | 数码相机自动对焦方法 | |
CN100460984C (zh) | 自动聚焦方法和自动聚焦照相机 | |
CN110809113B (zh) | 一种基于fpga的红外成像自动聚焦系统 | |
US11405566B2 (en) | Imaging element, imaging apparatus, image data processing method, and program | |
EP3217641B1 (en) | Photographing apparatus | |
CN110930440B (zh) | 图像对齐方法、装置、存储介质及电子设备 | |
US11792519B2 (en) | Imaging element, imaging apparatus, image data processing method, and program that performs imaging in a first frame rate and outputs data in a second frame rate | |
CN110266965A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
RU2707714C1 (ru) | Устройство автоматического получения и обработки изображений | |
CN115037867B (zh) | 拍摄方法、装置、计算机可读存储介质及电子设备 | |
CN104717419A (zh) | 自动对焦影像捕获设备与影像撷取方法 | |
CN206790590U (zh) | 高速图像采集装置 | |
JPH05145822A (ja) | 動体追尾装置 | |
CN105208373A (zh) | 一种基于光场压缩采样的通用集成成像记录装置 | |
JPH0646310A (ja) | 自動合焦装置 | |
US11375113B2 (en) | Imaging element, and imaging apparatus which changes frame rate of output image data based on derived focus evaluation value | |
EP0474483A2 (en) | High speed image pickup system | |
WO2021152933A1 (ja) | 撮像装置、撮像装置の作動方法、及びプログラム | |
JPH0483478A (ja) | 画像入出力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211105 Termination date: 20220125 |