摄像头自动聚焦控制方法及装置【技术领域】
本发明涉及聚焦技术领域,尤其涉及一种摄像头自动聚焦控制方法及装
置。
【背景技术】
由于光电图像传感器CCD和CMOS在图像视频领域的广泛应用,使得数字
相机和摄像机在工程应用以及日常生活中已随处可见。无论是数字相机、还
是摄像机,其主要功能就是获取清晰的图像,即通过调整镜头聚焦镜片组的
位置来使图像的清晰度达到最佳。所以,聚焦技术已成为成像产品的关键,
尤其是摄像机。
目前,基于数字图像处理的自动聚焦技术已逐渐取代了基于测距原理的
传统自动聚焦方法。基于数字图像处理的自动聚焦技术利用某种数字图像处
理算法,获取能判断图像清晰度的聚焦评价值,一般为图像数据的高频分量
值,并根据这一评价值,采取一定的算法和策略控制镜头的聚焦电机移动以
到达聚焦评价值对应的聚焦位置,获取清晰的图像。但是现有技术中的自动
聚焦算法中没有对局部极点的判断过程,且对聚焦电机的行程进行搜索时采
用固定的移动速度,会导致陷入局部极点所在的伪峰出现震荡的问题。
【发明内容】
本发明的目的旨在解决上述至少一个问题,提供了一种摄像头自动聚焦
控制方法及装置。
为实现该目的,本发明采用如下技术方案:
本发明提供了一种摄像头自动聚焦控制方法,其包括有:
聚焦值计算步骤,依据在多个不同聚焦位置上获取的某对象的各个图像
数据,计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下
所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;
局部极点判断步骤,在当前聚焦判断值与前一次聚焦判断值之间的变化
率大于预设的聚焦变化阈值时,获取当前聚焦估计值并将其与预设的聚焦评
估阈值进行比较,根据比较结果确定当前聚焦估计值所对应的当前聚焦位置
是否在局部极点对应的伪峰上;
速度确定步骤,根据当前聚焦位置是否在局部极点对应的伪峰上,确定
镜头下一步的移动速度。
具体的,所述速度确定步骤中,还包括:
当得到是在局部极点对应的伪峰上时,确定镜头的当前移动速度为下一
步的移动速度;反之,将镜头下一步的移动速度降低为预设的第二速度值。
进一步的,所述局部极点判断步骤之前,还包括:
变化率获取步骤,计算获取的当前聚焦判断值与前一次聚焦判断值之间
的变化率,并将该变化率与预设的聚焦变化阈值进行比较。
进一步的,所述变化率获取步骤中计算所述变化率的算法是:
变化率=(当前聚焦判断值前一次聚焦判断值)/步长,
其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判
断值所对应的聚焦位置之间的步长。
具体的,所述局部极点判断步骤中,还包括步骤:
当所述当前聚焦估计值小于所述预设的聚焦评估阈值时,确定当前聚焦
位置在局部极点对应的伪峰上;
反之,当所述当前聚焦估计值不小于所述预设的聚焦评估阈值时,确定
当前聚焦位置不在局部极点对应的伪峰上。
进一步的,所述方法还包括步骤:
重复执行上述聚焦值计算步骤、局部极点判断步骤和速度确定步骤,直
到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
进一步的,所述局部极点判断步骤中,还包括:
依据所述变化率的正负值确定镜头下一步的移动方向。
具体的,所述依据所述变化率的正负值确定镜头下一步的移动方向的步
骤,还包括:
当所述变化率为正值时,确定镜头的当前移动方向为其下一步的移动方
向;
反之,当变化率为负值时,确定与镜头的当前移动方向相反的方向为其
下一步的移动方向。
具体的,所述当变化率为负值时,确定与镜头的当前移动方向相反的方
向为其下一步的移动方向的步骤中,还包括步骤:
当所述变化率为负值时,获取前一次聚焦估计值;
判断所述前一次聚焦估计值是否大于预设的聚焦估计阈值;
若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;
反之,确定镜头的当前移动方向为其下一步的移动方向。
具体的,所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对
应;其中所述场景通过预设的场景识别算法来识别获得。
具体的,所述聚焦值计算步骤,还包括:
驱动镜头以预设的第一速度值移动到多个不同聚焦位置上获取某对象的
各个图像数据;
基于获取的各个图像数据及预设的第一计算规则,为多个聚焦位置中的
每一个计算对应的聚焦估计值和聚焦判断值。
具体的,所述驱动镜头以预设的第一速度值移动到多个不同聚焦位置上
获取某对象的各个图像数据的步骤中,包括:
调用驱动装置以预设的第一速度值移动镜头,基于一定的时间间隔改变
镜头和对象间的距离,在该距离所对应的聚焦位置上获取所述各个图像数据。
本发明还提供了一种摄像头自动聚焦控制装置,其包括有:
聚焦值计算模块,用于依据在多个不同聚焦位置上获取的某对象的各个
图像数据,计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高
频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;
局部极点判断模块,用于在当前聚焦判断值与前一次聚焦判断值之间的
变化率大于预设的聚焦变化阈值时,获取当前聚焦估计值并将其与预设的聚
焦评估阈值进行比较,根据比较结果确定当前聚焦估计值所对应的当前聚焦
位置是否在局部极点对应的伪峰上;
速度确定模块,用于根据当前聚焦位置是否在局部极点对应的伪峰上,
确定镜头下一步的移动速度。
具体的,所述速度确定模块还用于:
当得到是在局部极点对应的伪峰上时,确定镜头的当前移动速度为下一
步的移动速度;反之,将镜头下一步的移动速度降低为预设的第二速度值。
进一步的,所述装置还包括有变化率获取模块,
所述变化率获取模块,用于在所述局部极点判断模块执行相应操作之前,
计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,并将该变化
率与预设的聚焦变化阈值进行比较。
具体的,所述变化率获取模块中计算所述变化率的算法是:
变化率=(当前聚焦判断值前一次聚焦判断值)/步长,
其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判
断值所对应的聚焦位置之间的步长。
具体的,所述局部极点判断模块,还用于当所述当前聚焦估计值小于所
述预设的聚焦评估阈值时,确定当前聚焦位置在局部极点对应的伪峰上;
反之,当所述当前聚焦估计值不小于所述预设的聚焦评估阈值时,确定
当前聚焦位置不在局部极点对应的伪峰上。
进一步的,所述装置还包括有移动模块,
所述移动模块,用于重复调用上述聚焦值计算模块、局部极点判断模块
和速度确定模块执行相应的操作,直到镜头移动到所述聚焦估计值的最大值
所对应的聚焦位置。
进一步的,所述局部极点判断模块还包括有方向确定单元,
所述方向确定单元,用于依据所述变化率的正负值确定镜头下一步的移
动方向。
具体的,所述方向确定单元还用于
当所述变化率为正值时,确定镜头的当前移动方向为其下一步的移动方
向;
反之,当变化率为负值时,确定与镜头的当前移动方向相反的方向为其
下一步的移动方向。
具体的,所述方向确定单元,还用于:
当所述变化率为负值时,获取前一次聚焦估计值;
判断所述前一次聚焦估计值是否大于预设的聚焦估计阈值;
若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;
反之,确定镜头的当前移动方向为其下一步的移动方向。
具体的,所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对
应;其中所述场景通过预设的场景识别算法来识别获得。
具体的,所述聚焦值计算模块还包括:
图像数据获取单元,用于驱动镜头以预设的第一速度值移动到多个不同
聚焦位置上获取某对象的各个图像数据;
计算单元,用于基于获取的各个图像数据及预设的第一计算规则,为多
个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。
具体的,所述图像数据获取单元,还用于调用驱动装置以预设的第一速
度值移动镜头,基于一定的时间间隔改变镜头和对象间的距离,在该距离所
对应的聚焦位置上获取所述各个图像数据。
与现有技术相比,本发明具备如下优点:
本发明所述的摄像头自动聚焦控制方法,在当前聚焦判断值与前一次聚
焦判断值之间的变化率大于预设的聚焦变化阈值时,对当前聚焦估计值与预
设的聚焦估计阈值进行比较,根据比较结果确定当前聚焦评估值所对应的当
前聚焦位置是否在局部极点对应的伪峰上,从而确定镜头下一步的移动速度。
能较精确的识别出局部极点,避免了在聚焦过程中陷入局部极点而发生震荡
的问题;且能依据当前聚焦位置是否是局部极点对应的伪峰上,来改变镜头
的移动速度,即在不同的位置采用不同的移动速度,有效减少聚焦时间,还
能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的
描述中变得明显,或通过本发明的实践了解到。
【附图说明】
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述
中将变得明显和容易理解,其中:
图1是本发明中摄像头自动聚焦控制方法中不同频率下的两条聚焦曲线
图,其示出了聚焦位置和聚焦估计值之间的关系;
图2是本发明中摄像头自动聚焦控制方法的一个实施例的程序流程图;
图3是本发明中摄像头自动聚焦控制方法的一个实施例的程序流程图;
图4是本发明中摄像头自动聚焦控制装置的一个实施例的结构框图;
图5是本发明中摄像头自动聚焦控制装置的一个实施例的结构框图。
【具体实施方式】
下面结合附图和示例性实施例对本发明作进一步地描述,所述实施例的
示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件
或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,
仅用于解释本发明,而不能解释为对本发明的限制。此外,如果已知技术的
详细描述对于示出本发明的特征是不必要的,则将其省略。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式
“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,
本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操
作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、
步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”
或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以
存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或
无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全
部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包
括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理
解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被
理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样
被特定定义,否则不会用理想化或过于正式的含义来解释。
需要说明的是,本发明所述摄像头自动聚焦控制方法是应用于相机或摄
像机拍摄图像时自动聚焦过程。当然,本发明所述方法也可应用于其他具有
自动聚焦功能的手机、PAD、便携式多媒体播放器(PMP)、TV等设备。
具体的,请参见附图2,为本发明摄像头自动聚焦控制方法的一个实施
例的程序流程图,其包括步骤:
S11,聚焦值计算步骤,依据在多个不同聚焦位置上获取的某对象的各个
图像数据,计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高
频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值。
需要说明的是,本发明通过驱动装置驱动镜头在镜头和对象之间移动,
且预先设定有镜头移动的第一速度值,且基于一预设的时间间隔停止镜头,
获取镜头的当前聚焦位置的对应图像数据,可在多个不同聚焦位置上获取各
个图像数据,并计算该图像数据在第一高频下对应的聚焦估计值、及计算该
图像数据在第二高频下对应的聚焦判断值。
需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器
或驱动器来驱动转动,进而来驱动镜头的移动。不难理解,所述预设的时间
间隔和镜头初始移动的第一速度值可以预先存储在存储介质中,其中所述存
储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器
或动态随机存取存储器(DRAM)。
需要说明的是,该镜头所移动的第一速度值,也可理解为初始的单位步
长,而步长是指镜头从当前开始移动时所对应的聚焦位置到移动停止这期间
移动的距离。在实际的操作过程中,该单位步长一般用特定脉宽的脉冲数来
表示,因此具体的数值和所采用的控制器、驱动器和电机的相关参数有关,
同时该步长的取值还在一定程度上决定着算法的实时性和鲁棒性,因此必须
按照实际系统构成通过实验来确定,该步长对整个方法的一般影响是:步长
太小,导致自动聚焦过程耗时严重,同时在聚焦开始阶段容易陷入局部极点;
但是步长过大,导致在聚焦估计值得最大值搜索过程中很容易越过该最大值,
如果越过的距离非常大,则导致本方法采用的算法无法收敛。
不难理解,假定步骤S11中驱动镜头移动的多个聚焦位置上包括有目标
聚焦位置,需要说明的是,所述目标聚焦位置为聚焦估计值最大时所对应聚
焦位置。则其多组聚焦估计值及其对应的聚焦位置可形成如图1所述的聚焦
曲线S1图,同理其多组聚焦判断值及其对应的聚焦位置可形成如图1所述的
聚焦曲线S2图。所述同一个聚焦位置对应有不同频率下获取的一个聚焦估计
值及一个聚焦判断值,所述聚焦估计值的最大值和聚焦判断值的最大值均对
应于同一个目标聚焦位置。
具体的,本实施例通过调用驱动装置基于一定的时间间隔改变镜头和对
象之间的距离,在该距离所对应的聚焦位置上获取某一帧图像的图像数据。
然后,将所述图像数据通过图像信号处理装置执行降噪、伽马校正、色彩滤
波阵列差值、色彩矩阵处理、色彩校正或色彩增强来提高图像质量,并通过
不同频带的两个高通滤波器或带通滤波器滤波和去噪,可以得到该对象图像
数据在两种不同频带下的高频分量数据。然后基于该获取的数据及预设的第
一计算规则,可计算得到所述第一高频f1下所对应的聚焦估计值和第二高频
f2下所对应的聚焦判断值,其中所述f2>f1。
因此不难理解,在附图1中,由于在第二高频f2下能滤除更多的噪音,
所述第二高频f2对应的聚焦曲线在离目标聚焦位置较远的位置,其较同样聚
焦位置的第一高频f1对应的聚焦曲线要平缓;但是所述第二高频f2的聚焦
曲线在离目标聚焦位置或局部极点较近的位置时,其曲线变化率要较同样聚
焦位置的第一高频f1对应的聚焦曲线的斜率更大,即通过判断第二高频f2
的曲线变化的斜率值可更精确的得到当前镜头的聚焦位置快要达到局部极点
或者目标聚焦位置,下文会详细描述如何利用第二高频f2的曲线特点来提示
镜头快要到达局部极点或目标聚焦位置,从而改变镜头移动的速度。
具体的,根据本发明的一个实施例所揭示,得到所述多个不同聚焦位置
的图像数据后,还基于预设的第一计算规则,为多个聚焦位置中的每一个计
算对应的聚焦估计值和聚焦判断值。其中,所述预设的第一计算规则,预设
存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器
(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
需要说明的是,本发明所述的聚焦估计值或聚焦判断值是指代表清楚可
见图像的特征部分和轮廓部分的状态的数值估计指数。因此,所述聚焦估计
值或聚焦判断值可以通过边沿增强在图像相邻像素间的亮度数据的差别而计
算聚焦估计值,或者,也可以根据像素的灰度值、亮度的倒数、亮度的离差
等来计算聚焦估计值。
根据本发明的一个实施例所揭示,本发明中为多个聚焦位置中的每一个
计算对应的聚焦估计值和聚焦判断值所对应的算法是:
所述x是指水平方向,y是指垂直方向,本算法是将数据图像所得的当
前帧图像数据所有水平x和垂直y的高频能量值进行累加而得到所述的聚焦
估计值和聚焦判断值。
进一步的,请参见附图2,本发明的一个实施例中所述方法还包括步骤:
S12,局部极点判断步骤,在当前聚焦判断值与前一次聚焦判断值之间的
变化率大于预设的聚焦变化阈值时,获取当前聚焦估计值并将其与预设的聚
焦评估阈值进行比较,根据比较结果确定当前聚焦估计值所对应的当前聚焦
位置是否在局部极点对应的伪峰上。
从前述步骤S11中不难理解,由于第二频率f2所对应的聚焦曲线从平缓
处移动到目标聚焦位置附近时,曲线的斜率变化较大,即可通过该曲线的变
化率判断当前聚焦位置所在的区域是否接近目标聚焦位置或者是否接近局部
极点。
具体的,不难理解,在所述步骤S12之前,还包括有变化率获取步骤,
计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,并将该变化
率与预设的聚焦变化阈值进行比较。
具体的,在本发明的一个实施例中,所述计算获取当前聚焦判断值与前
一次聚焦判断值之间的变化率的算法是:
变化率=(当前聚焦判断值前一次聚焦判断值)/步长;
其中,所述的步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当
前聚焦判断值所对应的聚焦位置之间的步长。
具体的,在当前聚焦判断值与前一次聚焦判断值之间的变化率大于预设
的聚焦变化阈值时,获取当前聚焦估计值并将其与预设的聚焦评估阈值进行
比较;当所述当前聚焦评估值小于所述预设的聚焦评估阈值时,确定当前聚
焦位置在局部极点对应的伪峰上;反之,当所述当前聚焦估计值小于所述预
设的聚焦评估阈值时,确定当前的聚焦位置不在局部极点对应的伪峰上。
进一步的,在所述局部极点判断步骤中,驱动镜头移动时,还需要同步
判断其下一步的移动方向。具体的,在计算获取的当前聚焦判断值与前一次
聚焦判断值之间的变化率后,依据该变化率的正负值确定镜头下一步的移动
方向。
进一步的,在本发明的一个实施例中,通过该变化率的正负值确定镜头
下一步的移动方向。当计算获取的当前聚焦判断值与前一次聚焦判断值之间
的变化率为正值时,表征当前聚焦判断值大于该前一次聚焦判断值,即当前
聚焦位置没有越过目标聚焦位置的峰值,即可确定镜头的当前移动方向为其
下一步的移动方向;反之,当所述变化率为负值时,表征当前聚焦判断值小
于该前一次聚焦判断值,即当前聚焦位置可能越过了目标聚焦位置的峰值、
或者越过了一个局部极点。因此本实施例中还需要进一步的判断当前的聚焦
位置是否只是越过了的局部极点。
具体的,在本发明的一个实施例中,预先设置有聚焦估计阈值,当所述
方向确定步骤中已判断得到获取的变化率为负值时,还需要比较该当前聚焦
估计值与预设的聚焦估计阈值进行比较,当该聚焦估计值大于或等于所述聚
焦估计阈值时,表征该聚焦估计值不是局部极点,说明已越过了目标聚焦位
置,则镜头下一步的移动方向与当前的移动方向相反;反之,当前聚焦估计
值小于所述聚焦估计阈值时,表征所述前一次聚焦估计值为局部极点,则镜
头当前移动方向即为下一步的移动方向。
进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对
象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。
不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场
景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该
图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前
对象的场景。
进一步的,当在判定镜头下一步的移动方向时,还需要根据当前聚焦位
置是否在局部极点对应的伪峰上,同步判定镜头下一步的移动速度。具体的,
请参见附图2,本发明所述方法的一个实施例中,还包括有步骤:
S13,速度确定步骤,根据当前聚焦位置是否在局部极点对应的伪峰上,
确定镜头下一步的移动速度。
具体的,在本发明的一个实施例中,当前述步骤中得到的变化率小于所
述聚焦变化阈值时,表征该当前聚焦位置还处于如图1所述的S2曲线中较平
缓的区域,即当前的聚焦位置离目标聚焦位置还存在一定的距离,可以以当
前镜头移动的第一速度继续移动;反之,当变化率不小于所述预设的聚焦变
化阈值时,表征该当前聚焦位置处于如图1所述的S2曲线中斜率变化大的区
域,即当前聚焦位置在目标聚焦位置附近,则以预设的第二速度值为镜头下
一步的移动速度其中该第二速度值小于所述第一速度值。当然,不难理解,
当变化率不小于所述预设的聚焦变化阈值时,也有可能表征当前聚焦位置处
于S2曲线的伪峰处,即噪声所处的局部极点附近,下文详述如何判断该聚焦
位置是否是局部极点附近。
具体的,在本发明的一个实施例中,预先设置有聚焦估计阈值,当得到
变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值,并判断所
述当前聚焦估计值是否大于预设的聚焦估计阈值;若大于,表征该聚焦估计
值不是局部极点所对应的伪峰上,而是目标聚焦位置所位于的波峰,则以预
设的第二速度值为镜头下一步的移动速度;反之,当当前聚焦估计值不大于
预设的聚焦估计阈值时,表征该发生斜率变化所处的聚焦位置不可能是目标
聚焦位置附近,很可能是局部极点附近,则以当前移动的第一速度值为镜头
下一步的移动速度,其中第一速度值大于所述第二速度值。需要说明的是,
所述聚焦估计阈值、第二速度值均预先存储在存储介质中,其中所述存储介
质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动
态随机存取存储器(DRAM)。
进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对
象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。
不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场
景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该
图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前
对象的场景。
进一步的,请参见附图3,本发明的一个实施例中,还包括有步骤:
S14,重复执行上述聚焦值计算步骤、局部极点判断步骤和速度确定步骤,
直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
不难理解,同步执行前述的聚焦值计算步骤、局部极点判断步骤和速度
确定步骤,直到镜头移动到所述聚焦估计值最大值所对应的聚焦位置。具体
的,该步骤中调用驱动装置将镜头移动到所述目标聚焦位置。需要说明的是,
所述的驱动装置可以是步进电机,该步进电机受控制器或驱动器来驱动转动,
进而来驱动镜头的移动。
综上所述,本发明所述的摄像头自动聚焦控制方法,在当前聚焦判断值
与前一次聚焦判断值之间的变化率大于预设的聚焦变化阈值时,对当前聚焦
估计值与预设的聚焦估计阈值进行比较,根据比较结果确定当前聚焦评估值
所对应的当前聚焦位置是否在局部极点对应的伪峰上,从而确定镜头下一步
的移动速度。能较精确的识别出局部极点,避免了在聚焦过程中陷入局部极
点而发生震荡的问题;且能依据当前聚焦位置是否是局部极点对应的伪峰上,
来改变镜头的移动速度,即在不同的位置采用不同的移动速度,有效减少聚
焦时间,还能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。
基于计算机的模块化思维,本发明还提供了一种摄像头自动聚焦控制装
置,请参见附图4,其包括有聚焦值计算模块11、局部极点判断模块12和速
度确定模块13。需要说明的是,本发明所述装置是应用于具备自动聚焦功能
的相机或摄像机。当然,本发明所述装置也可应用于具有拍摄功能的手机、
PAD、便携式多媒体播放器(PMP)、TV等设备。为方便说明,本发明实施例
以数字摄像机为例来示例性说明其具体实施方式,但是该实施例并不能构成
对本发明的限制。以下具体揭示各模块实现的具体功能。
具体的,所述聚焦值计算模块11,用于依据在多个不同聚焦位置上获取
的某对象的各个图像数据,计算每个图像数据在第一高频下所对应的聚焦估
计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一
高频的频率值。
具体的,本发明所述聚焦值计算模块11还包括有图像数据获取单元和计
算单元。所述图像数据获取单元,用于通过驱动装置驱动镜头在镜头和对象
之间移动,且预先设定有镜头移动的第一速度值,且基于一预设的时间间隔
停止镜头,获取镜头的当前聚焦位置的对应图像数据,即所述聚焦值计算模
块11可在多个不同聚焦位置上获取各个图像数据,再通过所述计算单元计算
该图像数据在第一高频下对应的聚焦估计值、及计算该图像数据在第二高频
下对应的聚焦判断值。
需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器
或驱动器来驱动转动,进而来驱动镜头的移动。不难理解,所述聚焦值计算
模块11中预设的时间间隔和镜头初始移动的第一速度值可以预先存储在存
储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多
芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
需要说明的是,该镜头所移动的第一速度值,也可理解为初始的单位步
长,而步长是指镜头从当前开始移动时所对应的聚焦位置到移动停止这期间
移动的距离。在实际的操作过程中,该单位步长一般用特定脉宽的脉冲数来
表示,因此具体的数值和所采用的控制器、驱动器和电机的相关参数有关,
同时该步长的取值还在一定程度上决定着算法的实时性和鲁棒性,因此必须
按照实际系统构成通过实验来确定,该步长对整个方法的一般影响是:步长
太小,导致自动聚焦过程耗时严重,同时在聚焦开始阶段容易陷入局部极点;
但是步长过大,导致在聚焦估计值得最大值搜索过程中很容易越过该最大值,
如果越过的距离非常大,则导致本方法采用的算法无法收敛。
不难理解,假定所述聚焦值计算模块11中驱动镜头移动的多个聚焦位置
上包括有目标聚焦位置,需要说明的是,所述目标聚焦位置为聚焦估计值最
大时所对应聚焦位置。则其多组聚焦估计值及其对应的聚焦位置可形成如图
1所述的聚焦曲线S1图,同理其多组聚焦判断值及其对应的聚焦位置可形成
如图1所述的聚焦曲线S2图。所述同一个聚焦位置对应有不同频率下获取的
一个聚焦估计值及一个聚焦判断值,所述聚焦估计值的最大值和聚焦判断值
的最大值均对应于同一个目标聚焦位置。
具体的,本实施例所述聚焦值计算模块11中图像数据获取单元通过调用
驱动装置基于一定的时间间隔改变镜头和对象之间的距离,在该距离所对应
的聚焦位置上获取某一帧图像的图像数据。然后,所述聚焦值计算模块11
将所述图像数据通过图像信号处理装置执行降噪、伽马校正、色彩滤波阵列
差值、色彩矩阵处理、色彩校正或色彩增强来提高图像质量,并通过不同频
带的两个高通滤波器或带通滤波器滤波和去噪,可以得到该对象图像数据在
两种不同频带下的高频分量数据。然后所述聚焦值计算模块11中计算单元基
于该获取的数据及预设的第一计算规则,可计算得到所述第一高频f1下所对
应的聚焦估计值和第二高频f2下所对应的聚焦判断值,其中所述f2>f1。
因此不难理解,在附图1中,由于在第二高频f2下能滤除更多的噪音,
所述第二高频f2对应的聚焦曲线在离目标聚焦位置较远的位置,其较同样聚
焦位置的第一高频f1对应的聚焦曲线要平缓;但是所述第二高频f2的聚焦
曲线在离目标聚焦位置或局部极点较近的位置时,其曲线变化率要较同样聚
焦位置的第一高频f1对应的聚焦曲线的斜率更大,即通过判断第二高频f2
的曲线变化的斜率值可更精确的得到当前镜头的聚焦位置快要达到局部极点
或者目标聚焦位置,下文会详细描述如何利用第二高频f2的曲线特点来提示
镜头快要到达局部极点或目标聚焦位置,从而改变镜头移动的速度。
具体的,根据本发明的一个实施例所揭示,所述聚焦值计算模块11得到
所述多个不同聚焦位置的图像数据后,还基于预设的第一计算规则,为多个
聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。其中,所述预设
的第一计算规则,预设存储在存储介质中,其中所述存储介质可以是同步动
态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储
器(DRAM)。
需要说明的是,本发明所述的聚焦估计值或聚焦判断值是指代表清楚可
见图像的特征部分和轮廓部分的状态的数值估计指数。因此,所述聚焦估计
值或聚焦判断值可以通过边沿增强在图像相邻像素间的亮度数据的差别而计
算聚焦估计值,或者,也可以根据像素的灰度值、亮度的倒数、亮度的离差
等来计算聚焦估计值。
根据本发明的一个实施例所揭示,本发明中所述聚焦值计算模块11为多
个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值所对应的算法
是:
所述x是指水平方向,y是指垂直方向,本算法是将数据图像所得的当
前帧图像数据所有水平x和垂直y的高频能量值进行累加而得到所述的聚焦
估计值和聚焦判断值。
进一步的,请参见附图4,本发明所述的局部极点判断模块12,用于在
当前聚焦判断值与前一次聚焦判断值之间的变化率大于预设的聚焦变化阈值
时,获取当前聚焦估计值并将其与预设的聚焦评估阈值进行比较,根据比较
结果确定当前聚焦估计值所对应的当前聚焦位置是否在局部极点对应的伪峰
上。
从前述聚焦值计算模块11中不难理解,由于第二频率f2所对应的聚焦
曲线从平缓处移动到目标聚焦位置附近时,曲线的斜率变化较大,即可通过
该曲线的变化率判断当前聚焦位置所在的区域是否接近目标聚焦位置或者是
否接近局部极点。
具体的,不难理解,本发明的一个实施例中,所述装置还包括有变化率
获取模块,用于在所述局部极点判断模块12执行相应操作之前,计算获取的
当前聚焦判断值与前一次聚焦判断值之间的变化率,并将该变化率与预设的
聚焦变化阈值进行比较。
具体的,在本发明的一个实施例中,所述变化率获取模块计算获取当前
聚焦判断值与前一次聚焦判断值之间的变化率的算法是:
变化率=(当前聚焦判断值前一次聚焦判断值)/步长;
其中,所述的步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当
前聚焦判断值所对应的聚焦位置之间的步长。
具体的,所述的局部极点判断模块12在当前聚焦判断值与前一次聚焦判
断值之间的变化率大于预设的聚焦变化阈值时,获取当前聚焦估计值并将其
与预设的聚焦评估阈值进行比较;当所述当前聚焦评估值小于所述预设的聚
焦评估阈值时,确定当前聚焦位置在局部极点对应的伪峰上;反之,当所述
当前聚焦估计值小于所述预设的聚焦评估阈值时,确定当前的聚焦位置不在
局部极点对应的伪峰上。
进一步的,在所述的局部极点判断模块12中,驱动镜头移动时,还需要
同步判断其下一步的移动方向。具体的,所述局部极点判断模块12还包括有
方向确定单元,用于在计算获取的当前聚焦判断值与前一次聚焦判断值之间
的变化率后,依据该变化率的正负值确定镜头下一步的移动方向。
进一步的,在本发明的一个实施例中,所述方向确定单元通过该变化率
的正负值确定镜头下一步的移动方向。当所述变化率获取模块计算获取的当
前聚焦判断值与前一次聚焦判断值之间的变化率为正值时,表征当前聚焦判
断值大于该前一次聚焦判断值,即当前聚焦位置没有越过目标聚焦位置的峰
值,所述方向确定单元即可确定镜头的当前移动方向为其下一步的移动方向;
反之,当所述变化率获取模块得到变化率为负值时,表征当前聚焦判断值小
于该前一次聚焦判断值,即当前聚焦位置可能越过了目标聚焦位置的峰值、
或者越过了一个局部极点。因此本实施例中还需要进一步的判断当前的聚焦
位置是否只是越过了的局部极点。
具体的,在本发明的一个实施例中,本方案所述摄像镜头中预先设置有
聚焦估计阈值,当所述变化率获取模块中已判断得到获取的变化率为负值时,
还需要比较该当前聚焦估计值与预设的聚焦估计阈值进行比较,当该聚焦估
计值大于或等于所述聚焦估计阈值时,表征该聚焦估计值不是局部极点,说
明已越过了目标聚焦位置,则所述方向确定单元确定镜头下一步的移动方向
与当前的移动方向相反;反之,当前聚焦估计值小于所述聚焦估计阈值时,
表征所述前一次聚焦估计值为局部极点,则所述方向确定单元确定镜头当前
移动方向即为下一步的移动方向。
进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对
象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。
不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场
景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该
图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前
对象的场景。
进一步的,当在判定镜头下一步的移动方向时,还需要根据当前聚焦位
置是否在局部极点对应的伪峰上,同步判定镜头下一步的移动速度。具体的,
请参见附图3,本发明所述的速度确定模块13,用于根据当前聚焦位置是否
在局部极点对应的伪峰上,确定镜头下一步的移动速度。
具体的,在本发明的一个实施例中,当前述局部极点判断模块12中得到
的变化率小于所述聚焦变化阈值时,表征该当前聚焦位置还处于如图1所述
的S2曲线中较平缓的区域,即当前的聚焦位置离目标聚焦位置还存在一定的
距离,所述速度确定模块13可以以当前镜头移动的第一速度继续移动;反之,
当前述局部极点判断模块12得到变化率不小于所述预设的聚焦变化阈值时,
表征该当前聚焦位置处于如图1所述的S2曲线中斜率变化大的区域,即当前
聚焦位置在目标聚焦位置附近,则所述速度确定模块13以预设的第二速度值
为镜头下一步的移动速度,其中该第二速度值小于所述第一速度值。当然,
不难理解,当变化率不小于所述预设的聚焦变化阈值时,也有可能表征当前
聚焦位置处于S2曲线的伪峰处,即噪声所处的局部极点附近,下文详述如何
判断该聚焦位置是否是局部极点附近。
具体的,在本发明的一个实施例中,所述速度确定模块13中预先设置有
聚焦估计阈值,当前述局部极点判断模块12得到变化率大于所述预设的聚焦
变化阈值时,获取当前聚焦估计值,并判断所述当前聚焦估计值是否大于预
设的聚焦估计阈值;若大于,表征该聚焦估计值不是局部极点所对应的伪峰
上,而是目标聚焦位置所位于的波峰,则所述速度确定模块13以预设的第二
速度值为镜头下一步的移动速度;反之,当当前聚焦估计值不大于预设的聚
焦估计阈值时,表征该发生斜率变化所处的聚焦位置不可能是目标聚焦位置
附近,很可能是局部极点附近。则所述速度确定模块13以当前移动的第一速
度值为镜头下一步的移动速度,其中第一速度值大于所述第二速度值。需要
说明的是,所述聚焦估计阈值、第二速度值均预先存储在存储介质中,其中
所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)
存储器或动态随机存取存储器(DRAM)。
进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对
象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。
不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场
景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该
图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前
对象的场景。
进一步的,请参见附图5,本发明的一个实施例中,还包括有移动模块
14,用于重复调用上述聚焦值计算模块11、局部极点判断模块12和速度确
定模块13的相应操作,直到镜头移动到所述聚焦估计值的最大值所对应的聚
焦位置。
不难理解,同步重复执行上述聚焦值计算模块11、局部极点判断模块12
和速度确定模块13的相应操作,直到镜头移动到所述聚焦估计值最大值所对
应的聚焦位置。具体的,该移动模块14调用驱动装置将镜头移动到所述目标
聚焦位置。需要说明的是,所述的驱动装置可以是步进电机,该步进电机受
控制器或驱动器来驱动转动,进而来驱动镜头的移动。
综上所述,本发明所述的摄像头自动聚焦控制装置,通过局部极点判断
模块12在当前聚焦判断值与前一次聚焦判断值之间的变化率大于预设的聚
焦变化阈值时,对当前聚焦估计值与预设的聚焦估计阈值进行比较,根据比
较结果确定当前聚焦评估值所对应的当前聚焦位置是否在局部极点对应的伪
峰上,从而通过速度确定模块13确定镜头下一步的移动速度。本装置能较精
确的识别出局部极点,避免了在聚焦过程中陷入局部极点而发生震荡的问题;
且能依据当前聚焦位置是否是局部极点对应的伪峰上,来改变镜头的移动速
度,即在不同的位置采用不同的移动速度,有效减少聚焦时间,还能同时兼
顾聚焦速度和精度,具有很高的可靠性和实用性。
在此处所提供的说明书中,虽然说明了大量的具体细节。然而,能够理
解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例
中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然上面已经示出了本发明的一些示例性实施例,但是本领域的技术人
员将理解,在不脱离本发明的原理或精神的情况下,可以对这些示例性实施
例做出改变,本发明的范围由权利要求及其等同物限定。