一种自动对焦方法、装置及终端与流程

文档序号:18969037发布日期:2019-10-28 23:45阅读:253来源:国知局
一种自动对焦方法、装置及终端与流程

本发明涉及相机模组技术领域,尤其涉及一自动对焦方法、装置及终端。



背景技术:

随着电子技术的发展,具有照相功能的电子设备越来越普及,逐渐成为人们日常生活不可或缺的一部分。同时,人们对设备的照相性能提出了更高的要求。例如,对图像清晰度的要求。

目前,为了实现拍摄画面的高清晰度,马达需要从近焦点向远焦点移动或者从远焦点向近焦点移动,以获得画面最清晰时所对应的位置,完成对焦。当马达移动到目标位置时,若画面图像的对焦值最大,且在马达继续移动的过程中,对焦值越来越小,且变化范围较大,则认为马达在目标位置时,画面最清晰,马达需返回到目标位置,对焦完成。

但是,发明人在执行本发明的过程中发现现有技术存在如下的缺陷:当拍摄的画面细节比较少时,在马达移动到目标位置后,再继续移动的过程中,由于对焦值变化较小,所以马达移动距离目标位置较大时,对焦值才会产生较大的变化范围,因此,由于马达的迟滞,使马达不容易回到目标位置,造成对焦失败,图像模糊。



技术实现要素:

有鉴于此,本发明实施例提供一种自动对焦方法、装置及终端,以解决对焦过程中,马达移动距离画面最清晰时所对应的位置过大导致迟滞过大,造成的对焦失败的问题。

第一方面,本发明实施例提供了一种自动对焦方法,包括:

当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值;

根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置;

返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

第二方面,本发明实施例还提供了一种自动对焦装置,包括:

电流获取模块,用于当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值;

电流调整模块,用于根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置;

返回模块,用于返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

本发明实施例提供了一种终端,所述终端集成了本发明实施例提供的自动对焦装置。

本发明实施例提供的技术方案,通过调整马达的驱动电流,以使马达从当前位置移动到当前位置与目标位置之间的位置,再返回调整马达的驱动电流的操作,直至马达移动到目标位置,其中,目标位置为对焦值最大时对应的位置,即画面最清晰时所对应的位置。本发明实施例解决了在对焦过程中,马达移动距离画面最清晰时所对应的位置过大导致迟滞过大,造成的对焦失败的问题。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1a是本发明实施例一提供的一种自动对焦方法流程图;

图1b是本发明实施例一提供的马达移动路线示意图;

图2a是本发明实施例二提供的一种自动对焦方法流程图;

图2b是本发明实施例二提供的马达移动路线示意图;

图3是本发明实施例三提供的一种自动对焦方法流程图;

图4是本发明实施例四提供的一种自动对焦装置结构框图;

图5是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

实施例一

图1a是本发明实施例一提供的一种自动对焦方法流程图,所述方法由自动对焦装置来执行,所述装置由软件和/或硬件来执行,所述装置一般配置在具有照相功能的终端中。如图1a所示,本实施例提供的技术方案具体如下:

S110:当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值。

在本实施例中,对焦值是由终端对获取的画面图像进行滤波等处理并计算的数值。其中,对焦值越大,表征画面越清晰。当马达所在的位置不同时,由于获取的画面图像清晰度不同,所以对焦值也是不同的。目标位置为对焦值最大时所对应的位置,即画面最清晰时所对应的位置。在对焦过程中,马达可以从近焦点向远焦点移动,或者也可以从远焦点向近焦点移动,以寻找对焦值最大的位置。

对于对焦过程进行举例说明,例如,如图1b所示,A为近焦点,B为远焦点。若马达从近焦点A向远焦点B移动以实现对焦,随着马达从近焦点A向远焦点B的移动,对焦值先逐渐变大,若当马达移动到C点时,对焦值相对较大,且马达从C点开始移动时,下一帧画面的对焦值开始变小,并且从C点移动开始,每一帧画面的对焦值与上一帧画面对焦值相比,减小的范围较小。为了寻找对焦值最大的位置,马达需要继续向B点移动。若当马达移动到D点时,D点对应的对焦值与C点对应的对焦值之间的差值达到了预设值,则判断C点为目标位置,即画面清晰时所对应的位置,则马达不需要继续向B点移动,则从D点返回到C点即可,完成了对焦。本实施例中,当前位置为马达所处的D点的位置,即马达经过目标位置后,再继续移动预设距离到达当前位置,并且当前位置所对应的对焦值与目标位置处对应的对焦值之间的差值达到预设值。

需要说明的是,图1b中长度较长的箭头(图的下方)表征马达从近焦点向远焦点的移动方向,图1b中长度较短的箭头(图的上方)表征马达从当前位置向目标位置的移动方向。

同理,当马达从远焦点向近焦点移动以实现对焦的原理,与马达从近焦点向远焦点移动以实现对焦的原理相同,不再累述。

在本实施例中,在实现对焦的过程中,马达所在的位置不同,输入给马达的驱动电流值也是不同的。当马达所在的位置为D点时,获取马达在D点时的驱动电流值。

S120:根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置。

在本实施例中,调整输入给马达的驱动电流,改变马达的位置,使马达从当前位置移动到当前位置与目标位置之间的位置。例如,如图1b所示,当马达从D点向C点移动时,调整输入给马达的电流,使马达移动到E点,其中,E点位于D点和C点之间。当使马达从D点移动到E点时,输入给马达的驱动电流值小于马达从D点移动到C点时输入给马达的驱动电流值。

S130:返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

在本实施例中,举例说明,当马达移动到E点时,获取在E点时输入给马达的驱动电流值,再继续调整马达的驱动电流,直至马达移动到目标位置,即马达移动到C点。

在本实施例中,在马达从当前位置移动到目标位置过程中,可以控制输入给马达的驱动电流值每一次变化一设定步长值,或者也可以控制输入给马达的驱动电流值按照设定的公式或者函数进行变化;或者也可以是其他调整的方式,以使马达从当前位置逐步移动到目标位置。

通过上述的方法,通过逐步调整电流,使马达从当前的位置逐步返回到目标位置,避免了电流调整范围较大导致马达移动距离较大的情形,且解决了马达移动距离较大导致迟滞过大,造成的对焦失败的问题。

需要说明的是,马达的驱动电流值可以是实际输入给马达的电流值,或者可以是输入给马达的逻辑电流值,其中,输入给马达的逻辑电流值与实际输入给马达的电流值具有对应关系。

本实施例提供的一种自动对焦方法,通过调整马达的驱动电流,以使马达从当前位置移动到当前位置与目标位置之间的位置,再返回调整马达的驱动电流的操作,直至马达移动到目标位置,其中,目标位置为对焦值最大时对应的位置,即画面最清晰时所对应的位置,解决了在对焦过程中,马达移动距离画面最清晰时所对应的位置过大导致迟滞过大,造成的对焦失败的问题。

实施例二

图2a是本发明实施例二提供的一种自动对焦方法的流程图,在上述实施例的基础上,可选的,所述根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置,包括:

若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,则控制输入给所述马达的驱动电流变化一设定步长值,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置。

由此,通过控制马达的驱动电流变化一设定步长值,以使马达从当前位置移动到当前位置与目标位置之间,解决了因马达移动距离过大导致迟滞过大,而造成的对焦失败的问题。

可选的,所述返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置,包括:

返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达的驱动电流值与所述目标电流值之间的差值小于所述设定阈值时,控制输入给所述马达的驱动电流值与所述目标电流值相等,以使所述马达移动到目标位置。

由此,通过返回获取马达在当前位置的驱动电流的操作,能够实现多次对马达驱动电流的调整,直至控制马达的驱动电流值与目标电流值相等,以使马达移动到目标位置,解决了因马达迟滞过大造成的对焦失败的问题。

基于上述的优化,如图2a所示,本实施例提供的技术方案具体如下:

S210:当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值。

在本实施例中,可选的,驱动电流值为输入给马达的逻辑电流值。

S220:判断马达在所述当前位置的驱动电流值与目标电流值之间的差值是否大于设定阈值。

在本实施例中,目标电流值为马达在目标位置处的驱动电流值。设定阈值可根据需要进行设定。举例说明,如图2b所示,C点为目标位置,D点为马达所在的当前位置。驱动电流值采用逻辑电流值进行表示。若马达在D点时的驱动电流值为450code,马达在C点时的驱动电流值为300code,设定阈值为50code。由于马达在当前位置(D点)的驱动电流值(450code)与目标电流值(300code)之间的差值为150code,判断该差值是否大于设定阈值(50code)。

若是,执行S230,并返回210。若否,返回S240。

S230、控制输入给所述马达的驱动电流变化一设定步长值,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置。

在本实施例中,当马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,则控制输入给所述马达的驱动电流变化一设定步长值。其中,设定步长值可根据需要进行说明,以避免导致马达移动较短的距离为目的。

举例说明,若设定步长值为50code,如图2b所示,箭头方向为马达从当前位置向目标位置的移动方向。当马达从D点返回到C点的过程中,调整马达驱动电流值,在当前电流值的基础上变化50code,即在当前电流值的基础上减少50code,以使马达移动到D点和C之间的位置,即移动到E点。返回S210的操作,获取马达在E点的驱动电流值为400code,马达在E点的驱动电流值(400code)与目标电流值(300code)之间的差值大于设定阈值(50code),则在400code的基础上减少一设定步长值(50code),以使马达继续向C点移动,到达F点。继续返回S210,重复上述的操作,直至马达的当前驱动电流值与目标电流值之间的差值小于预设阈值。

S240:控制输入给所述马达的驱动电流值与所述目标电流值相等,以使所述马达移动到目标位置。

在本实施例中,举例说明,如图2b所示,若马达在C点以及D点的驱动电流值分别为300code和350code,则当马达从D点向C点移动时,控制马达的驱动电流值等于300,以使马达到达目标位置。由于马达在C点和D点的驱动电流之间的差值较小,故马达需要从D点向C点移动时距离较小,马达的迟滞较小,不容易产生对焦失败的问题。

通过上述的方法,通过控制输入给马达的驱动电流变化一设定步长值,以使马达每次移动较短的距离,并使马达逐步移动到对焦值最大时所对应的目标位置,能够避免马达移动距离过大导致迟滞过大,致使对焦失败的现象。

本实施例提供了一种自动对焦方法,通过控制马达的驱动电流变化一设定步长值,以使马达从当前位置移动到当前位置与目标位置之间,避免了因马达电流调整过大导致迟滞过大,而造成的对焦失败的问题;通过返回获取马达在当前位置的驱动电流的操作,能够实现多次对马达驱动电流的调整,直至控制马达的驱动电流值与目标电流值相等,以使马达移动到目标位置,解决了因马达迟滞过大造成的对焦失败的问题。

实施例三

图3是本发明实施例三提供的一种自动对焦方法流程图,在上述实施例的基础上,可选的,返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置,包括:

经过设定时间,返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

由此,通过经过设定时间,返回获取马达在当前位置的驱动电流的操作,能够保证马达的稳定性,实现精确对焦。

可选的,根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,包括:若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,且所述马达在所述当前位置的驱动电流值大于所述目标电流值,控制输入给所述马达的驱动电流减小一设定步长值。

进一步,可选的,根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,包括:若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,且所述马达在所述当前位置的驱动电流值小于所述目标电流值,控制输入给所述马达的驱动电流增加一设定步长值。

由此,通过控制马达的驱动电流增加或者减少一设定步长值,以使马达从当前位置移动到当前位置与目标位置之间,直至移动到目标位置,解决了因马达移动距离过大导致迟滞过大,而造成的对焦失败的问题。

基于上述优化,如图3所示,本发明实施例提供的技术方案具体如下:

S310:当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值。

S320:判断马达在所述当前位置的驱动电流值与目标电流值之间的差值是否大于设定阈值。

若是,执行S330,若否,执行S370

S330:判断马达在当前位置的驱动电流值是否大于目标电流值。

若是,执行S340,若否,执行S350

S340:控制输入给所述马达的驱动电流减小一设定步长值。

在本实施例中,当马达在当前位置的驱动电流值大于目标电流值时,控制输入给马达的驱动电流值减少一设定步长值。若马达的驱动电流值用逻辑电流值进行表征,则当马达在当前位置的驱动电流值大于目标电流值时,马达需从当前位置向近焦点移动。

S350:控制输入给所述马达的驱动电流增加一设定步长值。

在本实施例中,当马达在当前位置的驱动电流值小于目标电流值,控制输入给马达的驱动电流值增加一设定步长值。若马达的驱动电流值采用逻辑电流值进行表征,则当马达在当前位置的驱动电流值大于目标电流值时,马达需从当前位置向远焦点移动。

S360:经过设定时间,返回S310。

在本实施例中,设定时间可根据需要进行设定,以保证马达每移动一次保持稳定后再进行下一次的移动。可选的,本实施例中,设定时间为20ms。其中设定时间还可以是其他的时间值,对设定时间的大小并不做限定。

在本实施例中,举例说明,如图2b所示,当马达从D点移动到C点的过程中,调整马达驱动电流值,输入给马达的驱动电流为在当前电流值的基础上变化50code,以使马达移动到D点和C之间的位置,即移动到E点。当输入给马达驱动电流开始计时,经过20ms,返回S310,重复上述的操作。

S370:控制输入给所述马达的驱动电流值与所述目标电流值相等,以使所述马达移动到目标位置。

本实施例中,通过控制马达的驱动电流增加或者减少一设定步长值,且当马达进行每一次电流调整之后,经过设定时间再进行下一次的电流调整,能够保证马达的稳定性,解决迟滞造成的对焦失败的问题,实现精确对焦。

需要说明的是,本发明实施例示例性的将S310-S370组成一个实施例执行一种自动对焦的方法,但是仅仅是一种示例,在本发明的其他实施例中,S360还可以与实施例一中的S110-S130组成一个实施例,执行一种自动对焦的方法,或者S360与实施例二中的S210-S240组成一个实施例执行一种自动对焦的方法。

需要说明的是,本发明实施例示例性的将S350放在S340之后进行执行,但S340和S350的执行顺序并不受限制。

本实施例提供的一种自动对焦方法,通过经过设定时间,返回获取马达在当前位置的驱动电流的操作,能够保证马达的稳定性,实现精确对焦,通过控制马达的驱动电流增加或者减少一设定步长值,以使马达从当前位置移动到当前位置与目标位置之间,直至移动到目标位置,解决了因马达移动距离过大导致迟滞过大,而造成的对焦失败的问题。

实施例四

图4是本发明实施例四提供的一种自动对焦装置的结构框图,所述装置用于执行自动对焦方法。如图4所示,所述装置包括电流获取模块410、电流调整模块420以及返回模块430。

其中,电流获取模块410,用于当确定马达需从当前位置向对焦值最大时所对应的目标位置移动时,获取所述马达在所述当前位置的驱动电流值;

电流调整模块420,用于根据所述当前位置的驱动电流值调整输入给所述马达的驱动电流,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置;

返回模块430,用于返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

进一步的,所述电流调整模块420,具体用于:

若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,则控制输入给所述马达的驱动电流变化一设定步长值,以使所述马达从当前位置移动到所述当前位置与所述目标位置之间的位置;其中,所述目标电流值为所述马达在所述目标位置处的驱动电流值;

所述返回模块430,具体用于:

返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达的驱动电流值与所述目标电流值之间的差值小于所述设定阈值时,控制输入给所述马达的驱动电流值与所述目标电流值相等,以使所述马达移动到目标位置。

进一步的,所述返回模块430,具体用于:

经过设定时间,返回获取所述马达在所述当前位置的驱动电流值的操作,直至所述马达移动到所述目标位置。

进一步的,若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,则控制输入给所述马达的驱动电流变化一设定步长值,包括:

若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,且所述马达在所述当前位置的驱动电流值大于所述目标电流值,控制输入给所述马达的驱动电流减小一设定步长值。

进一步的,若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,则控制输入给所述马达的驱动电流变化一设定步长值,包括:

若所述马达在所述当前位置的驱动电流值与目标电流值之间的差值大于设定阈值,且所述马达在所述当前位置的驱动电流值小于所述目标电流值,控制输入给所述马达的驱动电流增加一设定步长值。

本实施例提供了一种自动对焦装置,通过调整马达的驱动电流,以使马达从当前位置移动到当前位置与目标位置之间的位置,再返回调整马达的驱动电流的操作,直至马达移动到目标位置,其中,目标位置为对焦值最大时对应的位置,即图像最清晰时所对应的位置,解决了在对焦过程中,马达移动距离图像最清晰时所对应的位置过大导致迟滞过大,造成的对焦失败的问题。

实施例五

本发明实施例五提供了一种终端,集成了本发明任意实施例所提供自动对焦装置。具体的,如图5所示,本发明实施例提供一种终端,该终端包括:

一个或者多个处理器510,图5中以一个处理器510为例;

存储器520;以及一个或者多个模块。

所述终端还可以包括:输入装置530和输出装置540。所述终端中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的自动对焦方法对应的程序指令/模块(例如,附图4所示的电流获取模块410、电流调整模块420以及返回模块430)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述方法实施例中的自动对焦方法。

存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

上述终端可执行本发明任意实施例所提供的自动对焦方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1