摄像头快速自动聚焦方法及装置转让专利

申请号 : CN201811626467.1

文献号 : CN109660726B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林铁楠

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明涉及聚焦技术领域,尤其涉及一种摄像头快速自动聚焦方法及装置。其包括:聚焦值计算步骤,驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值;方向确定步骤,计算当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头的移动方向;速度确定步骤,将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头的移动速度;重复执行上述步骤,直到镜头移动到所述聚焦估计值的最大值对应的聚焦位置。本发明在不同的位置采用不同的移动速度,有效减少聚焦时间,还能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。

权利要求 :

1.一种摄像头快速自动聚焦方法,其特征在于,包括有:聚焦值计算步骤,驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;

方向确定步骤,计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向;

速度确定步骤,将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度;

重复执行上述聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置;

所述聚焦估计值为通过以下任一方式进行计算得到的:边沿增强在图像相邻像素间的亮度数据的差别;

根据像素的灰度值、亮度的倒数、亮度的离差等来计算聚焦估计值;

其中,所述方向确定步骤,包括:

当所述变化率为正值时,确定镜头的当前移动方向为其下一步的移动方向;

当所述变化率为负值时,获取当前聚焦估计值;

判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;

若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;反之,确定镜头的当前移动方向为其下一步的移动方向。

2.根据权利要求1所述的方法,其特征在于,所述速度确定步骤,还包括:当所述变化率小于所述预设的聚焦变化阈值时,继续以当前预设的第一速度值为镜头下一步的移动速度;

反之,当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度;

其中所述第二速度值小于所述第一速度值。

3.根据权利要求2所述的方法,其特征在于,所述当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度的步骤中,还包括:当所述变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值;

判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;

若大于,以预设的第二速度值为镜头下一步的移动速度;反之,以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。

4.根据权利要求1所述的方法,其特征在于,所述计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。

5.根据权利要求1或3所述的方法,其特征在于:所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获得。

6.根据权利要求1所述的方法,其特征在于,所述聚焦值计算步骤,还包括:驱动镜头以预设的第一速度值移动到多个不同聚焦位置上获取某对象的各个图像数据;

基于获取的各个图像数据及预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。

7.根据权利要求1所述的方法,其特征在于,所述驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据的步骤,包括:调用驱动装置移动镜头改变镜头和对象间的距离,在该距离所对应的聚焦位置上获取所述各个图像数据。

8.一种摄像头快速自动聚焦装置,其特征在于,包括有:聚焦值计算模块,用于驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;

方向确定模块,用于计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向;

速度确定模块,用于将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度;

移动模块,用于重复执行上述聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置;

所述聚焦估计值为通过以下任一方式进行计算得到的:根据边沿增强在图像相邻像素间的亮度数据的差别进行计算得到的;

根据像素的灰度值、亮度的倒数、亮度的离差进行计算得到的;

所述方向确定模块,具体用于:

当所述变化率为正值时,确定镜头的当前移动方向为其下一步的移动方向;

当所述变化率为负值时,获取当前聚焦估计值;

判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;

若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;反之,确定镜头的当前移动方向为其下一步的移动方向。

9.根据权利要求8所述的装置,其特征在于,所述速度确定模块,还用于:当所述变化率小于所述预设的聚焦变化阈值时,继续以当前预设的第一速度值为镜头下一步的移动速度;

反之,当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度;

其中所述第二速度值小于所述第一速度值。

10.根据权利要求9所述的装置,其特征在于,所述速度确定模块,还用于:当所述变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值;

判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;

若大于,以预设的第二速度值为镜头下一步的移动速度;反之,以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。

11.根据权利要求8所述的装置,其特征在于,所述方向确定模块中计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。

12.根据权利要求8或11所述的装置,其特征在于,所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获得。

13.根据权利要求8所述的装置,其特征在于,所述聚焦值计算模块,还用于:驱动镜头以预设的第一速度值移动到多个不同聚焦位置上获取某对象的各个图像数据;

基于获取的各个图像数据及预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。

14.根据权利要求8所述的装置,其特征在于,所述聚焦值计算模块,还用于调用驱动装置移动镜头改变镜头和对象间的距离,在该距离所对应的聚焦位置上获取所述各个图像数据。

说明书 :

摄像头快速自动聚焦方法及装置

[0001] 本申请是2015年12月23日提交的名称为“摄像头快速自动聚焦方法及装置”的中国专利申请No.2015109820710的分案申请。【技术领域】
[0002] 本发明涉及聚焦技术领域,尤其涉及一种摄像头快速自动聚焦方法及装置。【背景技术】
[0003] 由于光电图像传感器CCD和CMOS在图像视频领域的广泛应用,使得数字相机和摄像机在工程应用以及日常生活中已随处可见。无论是数字相机、还是摄像机,其主要功能就是获取清晰的图像,即通过调整镜头聚焦镜片组的位置来使图像的清晰度达到最佳。所以,聚焦技术已成为成像产品的关键,尤其是摄像机。
[0004] 目前,基于数字图像处理的自动聚焦技术已逐渐取代了基于测距原理的传统自动聚焦方法。基于数字图像处理的自动聚焦技术利用某种数字图像处理算法,获取能判断图像清晰度的聚焦评价值,一般为图像数据的高频分量值,并根据这一评价值,采取一定的算法和策略控制镜头的聚焦电机移动以到达聚焦评价值对应的聚焦位置,获取清晰的图像。
[0005] 但是现有技术中的自动聚焦算法对聚焦电机的行程进行搜索时采用固定的小步长,会使得聚焦速度慢而浪费了聚焦时间,且会陷入因局部极点出现震荡的问题,但是增大搜索时采用的步长(减少采样点)虽然能提高自动聚焦速度,然而峰值附近的稀疏采样会使得聚焦精度不高。当前采用的自动聚焦方法及装置,大都在速度和精度上很难达到平衡。【发明内容】
[0006] 本发明的目的旨在解决上述至少一个问题,提供了一种自动聚焦控制方法、及采用该方法的装置。
[0007] 为实现该目的,本发明采用如下技术方案:
[0008] 本发明提供了一种摄像头快速自动聚焦方法,其包括有:
[0009] 聚焦值计算步骤,驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;
[0010] 方向确定步骤,计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向;
[0011] 速度确定步骤,将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度;
[0012] 重复执行上述聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
[0013] 进一步的,所述速度确定步骤,还包括:
[0014] 当所述变化率小于所述预设的聚焦变化阈值时,继续以当前预设的第一速度值为镜头下一步的移动速度;
[0015] 反之,当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度;
[0016] 其中所述第二速度值小于所述第一速度值。
[0017] 进一步的,所述当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度的步骤中,还包括:
[0018] 当所述变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值;
[0019] 判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;
[0020] 若大于,以预设的第二速度值为镜头下一步的移动速度;反之,以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。
[0021] 具体的,所述计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:
[0022] 变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,
[0023] 其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。
[0024] 进一步的,所述方向确定步骤,还包括:
[0025] 当计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率为正值时,确定镜头的当前移动方向为其下一步的移动方向;
[0026] 反之,当变化率为负值时,确定与镜头的当前移动方向相反的方向为其下一步的移动方向。
[0027] 进一步的,所述当变化率为负值时,确定与镜头的当前移动方向相反的方向为其下一步的移动方向的步骤中,还包括步骤:
[0028] 当所述变化率为负值时,获取当前聚焦估计值;
[0029] 判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;
[0030] 若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;反之,确定镜头的当前移动方向为其下一步的移动方向。
[0031] 进一步的,所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获得。
[0032] 具体的,所述聚焦值计算步骤,还包括:
[0033] 驱动镜头以预设的第一速度值移动到多个不同聚焦位置上获取某对象的各个图像数据;
[0034] 基于获取的各个图像数据及预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。
[0035] 进一步的,所述驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据的步骤,包括:
[0036] 调用驱动装置移动镜头改变镜头和对象间的距离,在该距离所对应的聚焦位置上获取所述各个图像数据。
[0037] 进一步的,所述调用驱动装置改变镜头和对象间的距离的步骤中,还包括:调用驱动装置基于一定的时间间隔改变镜头和对象间的距离。
[0038] 本发明还提供了一种摄像头快速自动聚焦装置,其包括有:
[0039] 聚焦值计算模块,用于驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值;
[0040] 方向确定模块,用于计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向;
[0041] 速度确定模块,用于将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度;
[0042] 移动模块,用于重复执行上述聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
[0043] 具体的,所述速度确定模块,还用于:
[0044] 当所述变化率小于所述预设的聚焦变化阈值时,继续以当前预设的第一速度值为镜头下一步的移动速度;
[0045] 反之,当所述变化率不小于所述预设的聚焦变化阈值时,以预设的第二速度值为镜头下一步的移动速度;其中所述第二速度值小于所述第一速度值。
[0046] 进一步的,所述速度确定模块,还用于:
[0047] 当所述变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值;
[0048] 判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;
[0049] 若大于,以预设的第二速度值为镜头下一步的移动速度;反之,以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。
[0050] 具体的,所述方向确定模块中计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:
[0051] 变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,
[0052] 其中步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。
[0053] 进一步的,所述方向确定模块,还用于:
[0054] 当计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率为正值时,确定镜头的当前移动方向为其下一步的移动方向;
[0055] 反之,当变化率为负值时,确定与镜头的当前移动方向相反的方向为其下一步的移动方向。
[0056] 具体的,所述方向确定模块,还用于:
[0057] 当所述变化率为负值时,获取当前聚焦估计值;
[0058] 判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;
[0059] 若大于,确定与镜头的当前移动方向相反的方向为其下一步的移动方向;反之,确定镜头的当前移动方向为其下一步的移动方向。
[0060] 进一步的,所述预设的聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获得。
[0061] 进一步的,所述聚焦值计算模块,还用于:
[0062] 驱动镜头以预设的第一速度值移动到多个不同聚焦位置上获取某对象的各个图像数据;
[0063] 基于获取的各个图像数据及预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。
[0064] 进一步的,所述聚焦值计算模块,还用于调用驱动装置移动镜头改变镜头和对象间的距离,在该距离所对应的聚焦位置上获取所述各个图像数据。
[0065] 具体的,所述聚焦计算模块调用驱动装置基于一定的时间间隔改变镜头和对象间的距离。
[0066] 与现有技术相比,本发明具备如下优点:
[0067] 1、本发明提供了一种摄像头快速自动聚焦方法,在镜头和对象之间多个不同聚焦位置上获取对象的各个图像数据;并计算每个图像数据在第一高频下的聚焦估计值、第二高频下的聚焦判断值;并通过当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率与预设的聚焦变化阈值的比较结果,来确定镜头的下一步的移动速度,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置;即本发明中能依据变化率的值改变镜头的移动速度,在不同的位置采用不同的移动速度,有效减少聚焦时间,还能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。
[0068] 2、本发明所述的聚焦方法,在确定镜头移动方向的过程中,当获取的聚焦判断值的变化率为负值时,对当前聚焦估计值与预设的聚焦估计阈值进行比较,当聚焦估计值小于所述聚焦估计阈值时,表征该聚焦估计值极可能为局部极点附近,将镜头的当前移动方向确定为所述的移动方向,反之才改变镜头移动的方向。能较精确的识别出局部极点,避免了在聚焦过程中陷入局部极点而发生震荡的问题。
[0069] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。【附图说明】
[0070] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0071] 图1是本发明中自动聚焦控制方法中不同频率下的两条聚焦曲线图,其示出了聚焦位置和聚焦估计值之间的关系;
[0072] 图2是本发明中摄像头快速自动聚焦方法的一个实施例的程序流程图;
[0073] 图3是本发明中摄像头快速自动聚焦装置的一个实施例的结构框图。【具体实施方式】
[0074] 下面结合附图和示例性实施例对本发明作进一步地描述,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。此外,如果已知技术的详细描述对于示出本发明的特征是不必要的,则将其省略。
[0075] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0076] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0077] 需要说明的是,本发明所述快速自动聚焦方法是应用于相机或摄像机拍摄图像时自动聚焦过程。当然,本发明所述方法也可应用于具有拍摄功能的手机、PAD、便携式多媒体播放器(PMP)、TV等设备。
[0078] 具体的,请参见附图2,为本发明摄像头快速自动聚焦方法的一个实施例的程序流程图,其包括步骤:
[0079] S11,聚焦值计算步骤,驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值。
[0080] 需要说明的是,本发明通过驱动装置驱动镜头在镜头和对象之间移动,且预先设定有镜头移动的第一速度值,且基于一预设的时间间隔停止镜头,获取镜头的当前聚焦位置的对应图像数据,可在多个不同聚焦位置上获取各个图像数据,并计算该图像数据在第一高频下对应的聚焦估计值、及计算该图像数据在第二高频下对应的聚焦判断值。
[0081] 需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器或驱动器来驱动转动,进而来驱动镜头的移动。不难理解,所述预设的时间间隔和镜头初始移动的第一速度值可以预先存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0082] 需要说明的是,该镜头所移动的第一速度,也可理解为初始的单位步长,而步长是指镜头从当前开始移动时所对应的聚焦位置到移动停止这期间移动的距离。在实际的操作过程中,该单位步长一般用特定脉宽的脉冲数来表示,因此具体的数值跟所采用的控制器、驱动器和电机的相关参数有关,同时该步长的取值还在一定程度上决定着算法的实时性和鲁棒性,因此必须按照实际系统构成通过实验来确定,该步长对整个方法的一般影响是:步长太小,导致自动聚焦过程耗时严重,同时在聚焦开始阶段容易陷入局部极点;但是步长过大,导致在聚焦估计值得最大值搜索过程中很容易越过该最大值,如果越过的距离非常大,则导致本方法采用的算法无法收敛。
[0083] 不难理解,假定镜头移动的多个聚焦位置上包括有目标聚焦位置,则其多组聚焦估计值及其对应的聚焦位置可形成如图1所述的聚焦曲线S1图,同理其多组聚焦判断值及其对应的聚焦位置可形成如图1所述的聚焦曲线S2图。所述同一个聚焦位置对应有一个聚焦估计值及一个聚焦判断值,所述聚焦估计值的最大值和聚焦判断值的最大值均对应于同一个目标聚焦位置。
[0084] 具体的,本实施例通过调用驱动装置基于一定的时间间隔改变镜头和对象之间的距离,在该距离所对应的聚焦位置上获取某一帧图像的图像数据。然后,将所述图像数据通过图像信号处理装置执行降噪、伽马校正、色彩滤波阵列差值、色彩矩阵处理、色彩校正或色彩增强来提高图像质量,并通过不同频带的两个高通滤波器或带通滤波器滤波和去噪,可以得到该对象图像数据在两种不同频带下的高频分量数据。然后基于该获取的数据及预设的第一计算规则,可计算得到所述第一高频f1下所对应的聚焦估计值和第二高频f2下所对应的聚焦判断值,其中所述f2>f1。
[0085] 因此不难理解,在附图1中,由于在第二高频f2下能滤除更多的噪音,所述第二高频f2对应的聚焦曲线在离目标聚焦位置较远的位置,其较同样聚焦位置的第一高频f1对应的聚焦曲线要平缓;但是所述第二高频f2的聚焦曲线在离目标聚焦位置较近的位置时,其曲线变化率要较同样聚焦位置的第一高频f1对应的聚焦曲线的斜率更大,即通过判断第二高频f2的曲线变化的斜率值可更精确的得到当前镜头的聚焦位置快要达到目标聚焦位置,下文会详细描述如何利用第二高频f2的曲线特点来提示镜头快要到达目标聚焦位置,从而改变镜头移动的速度。
[0086] 具体的,根据本发明的一个实施例所揭示,得到所述多个不同聚焦位置的图像数据后,还基于预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。其中,所述预设的第一计算规则,预设存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0087] 需要说明的是,本发明所述的聚焦估计值或聚焦判断值是指代表清楚可见图像的特征部分和轮廓部分的状态的数值估计指数。因此,所述聚焦估计值可以通过边沿增强在图像相邻像素间的亮度数据的差别而计算聚焦估计值,或者,也可以根据像素的灰度值、亮度的倒数、亮度的离差等来计算聚焦估计值。
[0088] 根据本发明的一个实施例所揭示,本发明中为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值所对应的算法是:
[0089]
[0090] 所述x是指水平高频分量值,y是指垂直高频分量值,本算法是将数据图像所得的当前帧图像数据所有水平x和垂直y的高频能量值进行累加而得到所述的聚焦估计值。
[0091] 进一步的,请参见附图2,本发明的一个实施例中所述方法还包括步骤:
[0092] S12,方向确定步骤,计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向。
[0093] 从前述步骤中不难理解,由于第二频率f2所对应的聚焦曲线从平缓处移动到目标聚焦位置附近时,曲线的斜率变化较大,即可通过该曲线的变化率判断当前聚焦位置所在的区域是否接近目标聚焦位置。在本发明的一个实施例中,所述计算获取当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:
[0094] 变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,
[0095] 其中,所述的步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。
[0096] 进一步的,在本发明的一个实施例中,通过该变化率的正负值在确定镜头下一步的移动方向。当计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率为正值时,表征当前聚焦判断值大于该前一次聚焦判断值,即当前聚焦位置没有越过目标聚焦位置的峰值,即可确定镜头的当前移动方向为其下一步的移动方向;反之,当所述变化率为负值时,表征当前聚焦判断值小于该前一次聚焦判断值,即当前聚焦位置可能越过了目标聚焦位置的峰值、或者越过了一个局部极点。因此本实施例中还需要进一步的判断当前的聚焦位置是否只是越过了的局部极点。
[0097] 具体的,在本发明的一个实施例中,预先设置有聚焦估计阈值,当所述方向确定步骤中已判断得到获取的变化率为负值时,还需要比较该当前聚焦估计值与预设的聚焦估计阈值进行比较,当该聚焦估计值大于或等于所述聚焦估计阈值时,表征该聚焦估计值不是局部极点,说明已越过了目标聚焦位置,则镜头下一步的移动方向与当前的移动方向相反;反之,当前聚焦估计值小于所述聚焦估计阈值时,表征所述前一次聚焦估计值为局部极点,则镜头当前移动方向即为下一步的移动方向。
[0098] 进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前对象的场景。
[0099] 进一步的,当在判定镜头下一步的移动方向时,还需要同步判定镜头下一步的移动速度。具体的,请参见附图2,本发明所述方法的一个实施例中,还包括有步骤:
[0100] S13,速度确定步骤,将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度。
[0101] 具体的,在本发明的一个实施例中,当前述步骤中得到的变化率小于所述聚焦变化阈值时,表征该当前聚焦位置还处于如图1所述的S2曲线中较平缓的区域,即当前的聚焦位置离目标聚焦位置还存在一定的距离,可以以当前镜头移动的第一速度继续移动;反之,当变化率不小于所述预设的聚焦变化阈值时,表征该当前聚焦位置处于如图1所述的S2曲线中斜率变化大的区域,即当前聚焦位置在目标聚焦位置附近,则以预设的第二速度值为镜头下一步的移动速度其中该第二速度值小于所述第一速度值。当然,不难理解,当变化率不小于所述预设的聚焦变化阈值时,也有可能表征当前聚焦位置处于S2曲线的伪峰处,即噪声所处的局部极点附近,下文详述如何判断该聚焦位置是否是局部极点附近。
[0102] 具体的,在本发明的一个实施例中,预先设置有聚焦估计阈值,当得到变化率不小于所述预设的聚焦变化阈值时,获取当前聚焦估计值,并判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;若大于,表征该聚焦估计值不是局部极点,则以预设的第二速度值为镜头下一步的移动速度;反之,当当前聚焦估计值不大于预设的聚焦估计阈值时,表征该发生斜率变化所处的聚焦位置不可能是目标聚焦位置附近,很可能是局部极点附近。则以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。当然,此处也可以继续以较快的第一速度移动镜头,但是设定一个第三速度值,避免在某些应用场景中第一速度太快而出现越过目标聚焦位置的情况,提高该系统的精度和可靠性。需要说明的是,所述聚焦估计阈值、第二速度值、第三速度值均预先存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0103] 进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前对象的场景。
[0104] 进一步的,本发明还包括有步骤:
[0105] S14,重复执行上述聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
[0106] 不难理解,同步执行前述的聚焦值计算步骤、方向确定步骤和速度确定步骤,直到镜头移动到所述聚焦估计值最大值所对应的聚焦位置。具体的,该步骤中调用驱动装置将镜头移动到所述目标聚焦位置。需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器或驱动器来驱动转动,进而来驱动镜头的移动。
[0107] 本发明提供了一种摄像头快速自动聚焦方法,在镜头和对象之间多个不同聚焦位置上获取对象的各个图像数据;并计算每个图像数据在第一高频下的聚焦估计值、第二高频下的聚焦判断值;并通过当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率与预设的聚焦变化阈值的比较结果,来确定镜头的下一步的移动速度,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置;即本发明中能依据变化率的值改变镜头的移动速度,在不同的位置采用不同的移动速度,有效减少聚焦时间,还能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。
[0108] 基于计算机的模块化思维,本发明还提供了一种摄像头快速自动聚焦装置,请参见附图3,其包括有聚焦值计算模块11、方向确定模块12、速度确定模块13和移动模块14。需要说明的是,本发明所述装置是应用于具备自动聚焦功能的相机或摄像机。当然,本发明所述装置也可应用于具有拍摄功能的手机、PAD、便携式多媒体播放器(PMP)、TV等设备。为方便说明,本发明实施例以数字摄像机为例来示例性说明其具体实施方式,但是该实施例并不能构成对本发明的限制。以下具体揭示各模块实现的具体功能。
[0109] 所述聚焦值计算模块11,用于驱动镜头移动到多个不同聚焦位置上获取某对象的各个图像数据,并计算每个图像数据在第一高频下所对应的聚焦估计值、及第二高频下所对应的聚焦判断值,其中第二高频的频率值大于第一高频的频率值。
[0110] 需要说明的是,本发明所述聚焦值计算模块11通过驱动装置驱动镜头在镜头和对象之间移动,且预先设定有镜头移动的第一速度值,且基于一预设的时间间隔停止镜头,获取镜头的当前聚焦位置的对应图像数据,即所述聚焦值计算模块11可在多个不同聚焦位置上获取各个图像数据,并计算该图像数据在第一高频下对应的聚焦估计值、及计算该图像数据在第二高频下对应的聚焦判断值。
[0111] 需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器或驱动器来驱动转动,进而来驱动镜头的移动。不难理解,所述聚焦值计算模块11中预设的时间间隔和镜头初始移动的第一速度值可以预先存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0112] 需要说明的是,所述聚焦值计算模块11中镜头所移动的第一速度,也可理解为初始的单位步长,而步长是指镜头从当前开始移动时所对应的聚焦位置到移动停止这期间移动的距离。在实际的操作过程中,该单位步长一般用特定脉宽的脉冲数来表示,因此具体的数值跟所采用的控制器、驱动器和电机的相关参数有关,同时该步长的取值还在一定程度上决定着算法的实时性和鲁棒性,因此必须按照实际系统构成通过实验来确定,该步长对整个方法的一般影响是:步长太小,导致自动聚焦过程耗时严重,同时在聚焦开始阶段容易陷入局部极点;但是步长过大,导致在聚焦估计值得最大值搜索过程中很容易越过该最大值,如果越过的距离非常大,则导致本装置中采用的算法无法收敛。
[0113] 不难理解,假定镜头移动的多个聚焦位置上包括有目标聚焦位置,则其多组聚焦估计值及其对应的聚焦位置可形成如图1所述的聚焦曲线S1图,同理其多组聚焦判断值及其对应的聚焦位置可形成如图1所述的聚焦曲线S2图。所述同一个聚焦位置对应有一个聚焦估计值及一个聚焦判断值,所述聚焦估计值的最大值和聚焦判断值的最大值均对应于同一个目标聚焦位置。
[0114] 具体的,本实施例所述聚焦值计算模块11通过调用驱动装置基于一定的时间间隔改变镜头和对象之间的距离,在该距离所对应的聚焦位置上获取某一帧图像的图像数据。然后,所述聚焦值计算模块11将所述图像数据通过图像信号处理装置执行降噪、伽马校正、色彩滤波阵列差值、色彩矩阵处理、色彩校正或色彩增强来提高图像质量,并通过不同频带的两个高通滤波器或带通滤波器滤波和去噪,可以得到该对象图像数据在两种不同频带下的高频分量数据。然后所述聚焦值计算模块11基于该获取的数据及预设的第一计算规则,可计算得到所述第一高频f1下所对应的聚焦估计值和第二高频f2下所对应的聚焦判断值,其中所述f2>f1。
[0115] 因此不难理解,在附图1中,由于在第二高频f2下能滤除更多的噪音,所述第二高频f2对应的聚焦曲线在离目标聚焦位置较远的位置,其较同样聚焦位置的第一高频f1对应的聚焦曲线要平缓;但是所述第二高频f2的聚焦曲线在离目标聚焦位置较近的位置时,其曲线变化率要较同样聚焦位置的第一高频f1对应的聚焦曲线的斜率更大,即通过判断第二高频f2的曲线变化的斜率值可更精确的得到当前镜头的聚焦位置快要达到目标聚焦位置,下文会详细描述如何利用第二高频f2的曲线特点来提示镜头快要到达目标聚焦位置,从而改变镜头移动的速度。
[0116] 具体的,根据本发明的一个实施例所揭示,所述聚焦值计算模块11得到所述多个不同聚焦位置的图像数据后,还基于预设的第一计算规则,为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值。其中,所述预设的第一计算规则,预设存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0117] 需要说明的是,本发明所述的聚焦估计值或聚焦判断值是指代表清楚可见图像的特征部分和轮廓部分的状态的数值估计指数。因此,所述聚焦估计值可以通过边沿增强在图像相邻像素间的亮度数据的差别而计算聚焦估计值,或者,也可以根据像素的灰度值、亮度的倒数、亮度的离差等来计算聚焦估计值。
[0118] 根据本发明的一个实施例所揭示,本发明中所述聚焦值计算模块11为多个聚焦位置中的每一个计算对应的聚焦估计值和聚焦判断值所对应的算法是:
[0119]
[0120] 所述x是指水平高频分量值,y是指垂直高频分量值,本算法是将数据图像所得的当前帧图像数据所有水平x和垂直y的高频能量值进行累加而得到所述的聚焦估计值。
[0121] 进一步的,请参见附图3,本发明中所述方向确定单元12,用于计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率,依据该变化率的正负值确定镜头下一步的移动方向。
[0122] 从前述聚焦值计算模块11中不难理解,由于第二频率f2所对应的聚焦曲线从平缓处移动到目标聚焦位置附近时,曲线的斜率变化较大,即可通过该曲线的变化率判断当前聚焦位置所在的区域是否接近目标聚焦位置。在本发明的一个实施例中,所述方向确定单元12计算获取当前聚焦判断值与前一次聚焦判断值之间的变化率的算法是:
[0123] 变化率=(当前聚焦判断值-前一次聚焦判断值)÷步长,
[0124] 其中,所述的步长为镜头从前一次聚焦判断值对应的聚焦位置移动到当前聚焦判断值所对应的聚焦位置之间的步长。
[0125] 进一步的,在本发明的一个实施例中,所述方向确定单元12通过该变化率的正负值在确定镜头下一步的移动方向。当所述方向确定单元12计算获取的当前聚焦判断值与前一次聚焦判断值之间的变化率为正值时,表征当前聚焦判断值大于该前一次聚焦判断值,即当前聚焦位置没有越过目标聚焦位置的峰值,即可确定镜头的当前移动方向为其下一步的移动方向;反之,当所述方向确定单元12计算得到的所述变化率为负值时,表征当前聚焦判断值小于该前一次聚焦判断值,即当前聚焦位置可能越过了目标聚焦位置的峰值、或者越过了一个局部极点。因此本实施例中所述方向确定单元12还需要进一步的判断当前的聚焦位置是否只是越过了的局部极点。
[0126] 具体的,在本发明的一个实施例中,所述方向确定单元12中预先设置有聚焦估计阈值,当所述方向确定单元12已判断得到获取的变化率为负值时,还需要比较该当前聚焦估计值与预设的聚焦估计阈值进行比较,当该聚焦估计值大于或等于所述聚焦估计阈值时,表征该聚焦估计值不是局部极点,说明已越过了目标聚焦位置,则镜头下一步的移动方向与当前的移动方向相反;反之,所述方向确定单元12得到当前聚焦估计值小于所述聚焦估计阈值时,表征所述前一次聚焦估计值为局部极点,则镜头当前移动方向即为下一步的移动方向。
[0127] 进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。不难理解,本实施例中预先设置有场景识别算法,以及相关联存储有不同场景及聚焦估计阈值。具体的,本实施例中可以通过获取的图像数据,分析该图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前对象的场景。
[0128] 进一步的,当在所述方向确定单元12判定镜头下一步的移动方向时,还需要同步判定镜头下一步的移动速度。具体的,请参见附图3,本发明所述速度确定模块13,用于将该变化率与预设的聚焦变化阈值进行比较,根据比较结果确定镜头下一步的移动速度.[0129] 具体的,在本发明的一个实施例中,当所述速度确定模块13中得到的变化率小于所述聚焦变化阈值时,表征该当前聚焦位置还处于如图1所述的S2曲线中较平缓的区域,即当前的聚焦位置离目标聚焦位置还存在一定的距离,可以以当前镜头移动的第一速度继续移动;反之,所述速度确定模块13得到变化率不小于所述预设的聚焦变化阈值时,表征该当前聚焦位置处于如图1所述的S2曲线中斜率变化大的区域,即当前聚焦位置在目标聚焦位置附近,则以预设的第二速度值为镜头下一步的移动速度其中该第二速度值小于所述第一速度值。当然,不难理解,当变化率不小于所述预设的聚焦变化阈值时,也有可能表征当前聚焦位置处于S2曲线的伪峰处,即噪声所处的局部极点附近,下文详述所述速度确定模块13如何判断该聚焦位置是否是局部极点附近。
[0130] 具体的,在本发明的一个实施例中,所述速度确定模块13中预先设置有聚焦估计阈值,当得到变化率不小于所述预设的聚焦变化阈值时,所述速度确定模块13获取当前聚焦估计值,并判断所述当前聚焦估计值是否大于预设的聚焦估计阈值;若大于,表征该聚焦估计值不是局部极点,则所述速度确定模块13以预设的第二速度值为镜头下一步的移动速度;反之,当所述速度确定模块13得到当前聚焦估计值不大于预设的聚焦估计阈值时,表征该发生斜率变化所处的聚焦位置不可能是目标聚焦位置附近,很可能是局部极点附近。所述速度确定模块13则以预设的第三速度值为镜头下一步的移动速度,其中第三速度值大于所述第二速度值、且小于所述第一速度值。当然,此处所述速度确定模块13也可以继续以较快的第一速度移动镜头,但是设定一个第三速度值,避免在某些应用场景中第一速度太快而出现越过目标聚焦位置的情况,提高该系统的精度和可靠性。需要说明的是,所述聚焦估计阈值、第二速度值、第三速度值均预先存储在存储介质中,其中所述存储介质可以是同步动态随机存取存储器(SDRAM)、多芯片封装(MCP)存储器或动态随机存取存储器(DRAM)。
[0131] 进一步的,在发明的一个实施例中,所述聚焦估计阈值与该镜头中的对象所对应的场景相对应;其中所述场景通过预设的场景识别算法来识别获取。不难理解,本实施例所述速度确定模块13中预先设置有场景识别算法,以及相关联存储有不同场景及聚焦估计阈值。具体的,本实施例中所述速度确定模块13可以通过获取的图像数据,分析该图像数据的光强信息、获得的聚焦估计值的变化规律和分布情况来判断当前对象的场景。
[0132] 进一步的,请参见附图3,本发明所述移动模块14,用于重复调用上述聚焦值计算模块、方向确定模块和速度确定模块执行相应操作,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置。
[0133] 不难理解,所述移动模块14,重复调用前述聚焦值计算模块11、方向确定模块12和速度确定模块13执行相应操作,直到镜头移动到所述聚焦估计值最大值所对应的聚焦位置。具体的,所述移动模块14调用驱动装置将镜头移动到所述目标聚焦位置。需要说明的是,所述的驱动装置可以是步进电机,该步进电机受控制器或驱动器来驱动转动,进而来驱动镜头的移动。
[0134] 本发明提供了一种摄像头快速自动聚焦装置,通过聚焦值计算模块11在镜头和对象之间多个不同聚焦位置上获取对象的各个图像数据;并计算每个图像数据在第一高频下的聚焦估计值、第二高频下的聚焦判断值;然后所述方向确定模块12通过当前聚焦判断值与前一次聚焦判断值之间的变化率,速度确定模块13依据该变化率与预设的聚焦变化阈值的比较结果,来确定镜头的下一步的移动速度,直到镜头移动到所述聚焦估计值的最大值所对应的聚焦位置;即本发明中能速度确定模块13依据变化率的值改变镜头的移动速度,在不同的位置采用不同的移动速度,有效减少聚焦时间,还能同时兼顾聚焦速度和精度,具有很高的可靠性和实用性。
[0135] 在此处所提供的说明书中,虽然说明了大量的具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0136] 虽然上面已经示出了本发明的一些示例性实施例,但是本领域的技术人员将理解,在不脱离本发明的原理或精神的情况下,可以对这些示例性实施例做出改变,本发明的范围由权利要求及其等同物限定。