CN114338994B - 光学防抖方法、装置、电子设备和计算机可读存储介质 - Google Patents

光学防抖方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN114338994B
CN114338994B CN202111654871.1A CN202111654871A CN114338994B CN 114338994 B CN114338994 B CN 114338994B CN 202111654871 A CN202111654871 A CN 202111654871A CN 114338994 B CN114338994 B CN 114338994B
Authority
CN
China
Prior art keywords
shake
motor
compensation
lens
compensation amount
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.)
Active
Application number
CN202111654871.1A
Other languages
English (en)
Other versions
CN114338994A (zh
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111654871.1A priority Critical patent/CN114338994B/zh
Publication of CN114338994A publication Critical patent/CN114338994A/zh
Application granted granted Critical
Publication of CN114338994B publication Critical patent/CN114338994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Adjustment Of Camera Lenses (AREA)
  • Studio Devices (AREA)

Abstract

本申请涉及一种光学防抖方法、装置、电子设备和存储介质。应用于摄像模组中,所述摄像模组包括镜头马达和感光芯片马达,所述方法包括:获取所述摄像模组的防抖补偿信息;基于所述防抖补偿信息分别确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量;控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿。采用本方法能够更准确进行光学防抖。

Description

光学防抖方法、装置、电子设备和计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种光学防抖方法、装置、电子设备和计算机可读存储介质。
背景技术
随着影像技术的发展,人们越来越经常通过电子设备上的摄像头等图像采集设备拍摄图像或视频,记录各种信息。在进行拍摄的过程中,由于外界的抖动,会带来拍摄画面的抖动,造成图像的运动模糊。为了保证拍摄的质量,需要对拍摄过程进行防抖。
但是,传统的防抖方案往往是仅采用马达驱动镜头进行防抖,存在光学防抖不够准确的问题。
发明内容
本申请实施例提供了一种光学防抖方法、装置、电子设备、计算机可读存储介质,可以更准确进行光学防抖。
一种光学防抖方法,应用于摄像模组中,所述摄像模组包括镜头马达和感光芯片马达,所述方法包括:
获取所述摄像模组的防抖补偿信息;
基于所述防抖补偿信息分别确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量;
控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿。
一种光学防抖装置,应用于摄像模组中,所述摄像模组包括镜头马达和感光芯片马达,所述装置包括:
获取模块,用于获取所述摄像模组的防抖补偿信息;
补偿量确定模块,用于基于所述防抖补偿信息分别确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量;
抖动补偿模块,用于控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的光学防抖方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法的步骤。
上述光学防抖方法、装置、电子设备、计算机可读存储介质,应用于摄像模组中,摄像模组包括镜头马达和感光芯片马达,获取摄像模组的防抖补偿信息;基于防抖补偿信息可以分别确定出镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,那么,控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿,将镜头的抖动补偿与感光芯片的抖动补偿进行结合,使得光线更准确地通过镜头,并且更准确地投射至该感光芯片上,从而实现镜头模组更准确地光学防抖,生成更清晰的图像。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中电子设备的示意图;
图2为一个实施例中光学防抖方法的流程图;
图3为一个实施例中镜头模组的结构图;
图4为一个实施例中步骤获取摄像模组的防抖补偿信息的流程图;
图5为一个实施例中步骤基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息的流程图;
图6为一个实施例中镜头在线性行程被推动的示意图;
图7为另一个实施例中镜头在线性行程被推动的示意图;
图8为另一个实施例中光学防抖方法的流程示意图;
图9为一个实施例中光学防抖装置的结构框图;
图10为一个实施例中电子设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
在一个实施例中,如图1所示,电子设备100包括手机、平板电脑、笔记本电脑、柜员机、闸机、智能手表、头显设备等,可以理解,电子设备100还可以是其他任意图像处理功能的装置。电子设备100包括摄像模组20、处理器30和壳体40。摄像模组20和处理器30均设置在壳体40内,壳体40还可用于安装电子设备100的供电装置、通信装置等功能模块,以使壳体40为功能模块提供防尘、防摔、防水等保护。
摄像模组20可以是前置摄像模组、后置摄像模组、侧置摄像模组、屏下摄像模组等,在此不做限制。摄像模组20包括镜头、光学防抖器件和图像传感器21等,摄像模组20在拍摄图像时,光线穿过镜头并到达图像传感器21,图像传感器21用于将照射到图像传感器21上的光信号转化为电信号。
图2为一个实施例中光学防抖方法的流程图。本实施例中的光学防抖方法,以运行于图1中的电子设备上的摄像模组为例进行描述,该摄像模组包括镜头马达和感光芯片马达。如图2所示,光学防抖方法包括步骤202至步骤206。
步骤202,获取摄像模组的防抖补偿信息。
摄像模组指的是包括多个元器件,并且多个元器件相互配合以实现摄像的模组。
如图3所示,摄像模组包括镜头马达和感光芯片马达,还包括镜头、滤光片、感光芯片、支架1、支架2和线路板(PCB)。其中,镜头马达用于驱动镜头进行XYZ方向运动。感光芯片马达用于驱动感光芯片进行XYZ方向运动。镜头用于采集光信号,内含多片镜片。滤光片用于过滤红外光。感光芯片用于感应光信号。支架1用于承载滤光片。支架2用于承载镜头马达和感光芯片马达之间的连接。线路板用于传输信号。其中,镜头和感光芯片的运动可以包括自动对焦和光学防抖。
防抖补偿信息可以包括总防抖补偿量,总防抖补偿量包括镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。防抖补偿信息还可以包括总防抖补偿所需行程,总防抖补偿所需行程包括镜头马达防抖补偿所需行程和感光芯片马达防抖补偿所需行程。可以理解的是,镜头马达防抖补偿所需行程小于或等于镜头马达的第一防抖补偿行程,即镜头马达防抖补偿所需行程小于或等于镜头马达的最大行程。感光芯片马达防抖补偿所需行程小于或等于感光芯片马达的第二防抖补偿行程,即感光芯片马达的最大行程。
在一个实施例中,电子设备通过传感器获取抖动信息,基于该抖动信息确定摄像模组的防抖补偿信息。其中,传感器包括陀螺仪和惯性传感器等。
在另一个实施例中,电子设备可以基于当前时刻的当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
当前姿态信息是指表征摄像模组在当前时刻的姿态的信息,当前姿态信息可包括曝光时间和运动速度中的至少一种。曝光时间是为了将光线投射到感光芯片的感光面上,快门所要打开的时间,就是指从快门打开到关闭的时间间隔。运动速度是指摄像模组在当前时刻的运动状态所产生的速度,该运动速度可包括角速度和加速度中的至少一种。角速度可转换为摄像模组在世界坐标系下的旋转矩阵。因此,旋转矩阵可用于表征摄像模组的当前姿态信息。前序时刻是指在当前时刻之前的时刻,可以是当前时刻的前一时刻、前多个时刻,前多个时刻例如前两个时刻、前三个时刻等,但不限于此。
在其他实施例中,电子设备还可以通过其他方式获取摄像模组的防抖补偿信息,在此不做限定。
步骤204,基于防抖补偿信息分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。
镜头补偿量是镜头马达对抖动所要补偿的量。芯片补偿量是感光芯片马达对抖动所要补偿的量。
在一种实施方式中,电子设备可以基于防抖补偿信息中的总补偿量分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。其中,镜头补偿量和芯片补偿量的和等于总补偿量。分配的方式可以是随机分配;还可以是按照镜头马达的第一防抖补偿行程和感光芯片马达的第二防抖补偿行程之间的比例,分别分配镜头马达的镜头补偿量和感光芯片马达的芯片补偿量;还可以是其他方式,在此不做限定。步骤206,控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿。
可以理解的是,光线通过镜头投射至感光芯片上,则镜头马达驱动镜头进行抖动补偿,可以通过镜头采集到更准确的光线,而感光芯片马达驱动感光芯片进行抖动补偿,可以将光线更准确地投射至感光芯片的感光面上,从而实现整个镜头模组的抖动补偿。
在一个实施例中,基于镜头马达的镜头补偿量和镜头马达对应的增益值,确定出镜头目标行程位置,控制镜头马达驱动镜头移动至镜头目标行程位置;基于感光芯片马达的芯片补偿量和感光芯片马达对应的增益值,确定出芯片目标行程位置,控制感光芯片马达驱动感光芯片移动至芯片目标行程位置。
其中,镜头目标行程位置是指镜头进行防抖补偿后的位置,即镜头消除所产生的抖动后所处的位置。芯片目标行程位置是指芯片进行防抖补偿后的位置,即感光芯片消除所产生的抖动后所处的位置。
镜头马达对应的增益值和感光芯片马达对应的增益值均是镜头马达和感光芯片马达本身的参数,电子设备可以从本地存储的参数中调取。
具体地,电子设备将镜头补偿量乘以镜头马达对应的增益值,再基于镜头的当前行程位置加上该乘积,可以确定出镜头目标行程位置。同样的,电子设备将芯片补偿量乘以感光芯片马达对应的增益值,再基于感光芯片的当前行程位置加上该乘积,可以确定出芯片目标行程位置。在其他实施例中,电子设备也可以采用其他计算方式对补偿量和增益值进行计算,如求和、加权乘积等,在此不做限定。
在另一个实施例中,根据镜头的当前行程位置和镜头补偿量,确定镜头的镜头目标行程位置,控制镜头马达驱动镜头移动至镜头目标行程位置;根据感光芯片的当前行程位置和芯片补偿量,确定感光芯片的芯片目标行程位置,控制感光芯片马达驱动感光芯片移动至芯片目标行程位置。
电子设备的ISP(Image Signal Processing)处理器或中央处理器根据镜头的当前行程位置和镜头补偿量,计算镜头的镜头目标行程位置。电子设备的ISP处理器或中央处理器控制镜头马达驱动镜头,从当前行程位置移动至镜头目标行程位置,以消除镜头产生的抖动。
同样的,电子设备的ISP处理器或中央处理器根据感光芯片的当前行程位置和芯片补偿量,计算感光芯片的芯片目标行程位置。电子设备的ISP处理器或中央处理器控制感光芯片马达驱动感光芯片,从当前行程位置移动至芯片目标行程位置,以消除感光芯片产生的抖动。
在一个实施例中,电子设备的ISP处理器或中央处理器根据镜头在X方向上的当前行程位置和在X方向上的镜头补偿量,计算镜头在X方向上的镜头目标行程位置。根据镜头在Y方向上的当前行程位置和在Y方向上的镜头补偿量,计算镜头在Y方向上的镜头目标行程位置。电子设备的ISP处理器或中央处理器控制镜头马达驱动镜头,使得镜头移动到X方向上的镜头目标行程位置和Y方向上的镜头目标行程位置。
同样的,电子设备的ISP处理器或中央处理器根据感光芯片在X方向上的当前行程位置和在X方向上的芯片补偿量,计算感光芯片在X方向上的芯片目标行程位置。根据感光芯片在Y方向上的当前行程位置和在Y方向上的芯片补偿量,计算感光芯片在Y方向上的芯片目标行程位置。电子设备的ISP处理器或中央处理器控制感光芯片马达驱动感光芯片,使得感光芯片移动到X方向上的芯片目标行程位置和Y方向上的芯片目标行程位置。
进一步地,将镜头的当前行程位置和镜头防抖补偿所需行程进行融合处理,得到镜头目标行程位置;将感光芯片的当前行程位置和芯片防抖补偿所需行程进行融合处理,得到芯片目标行程位置。
具体地,电子设备的ISP处理器或中央处理器可分别确定镜头的当前行程位置和感光芯片的当前行程位置;将镜头的当前行程位置和镜头防抖补偿行程进行融合处理,通过融合处理得到镜头目标行程位置;将感光芯片的当前行程位置和芯片防抖补偿行程进行融合处理,通过融合处理得到芯片目标行程位置。
在一个实施例中,融合处理可以是卡尔曼滤波处理。电子设备的ISP处理器或中央处理器可将镜头的当前行程位置和镜头防抖补偿所需行程进行卡尔曼滤波处理,得到镜头目标行程位置。进一步地,可将镜头的当前行程位置和镜头防抖补偿所需行程输入卡尔曼滤波器,通过卡尔曼滤波器输出镜头目标行程位置。电子设备的ISP处理器或中央处理器可将感光芯片的当前行程位置和芯片防抖补偿所需行程进行卡尔曼滤波处理,得到芯片目标行程位置。进一步地,可将感光芯片的当前行程位置和芯片防抖补偿所需行程输入卡尔曼滤波器,通过卡尔曼滤波器输出芯片目标行程位置。
上述光学防抖方法,应用于摄像模组中,摄像模组包括镜头马达和感光芯片马达,获取摄像模组的防抖补偿信息;基于防抖补偿信息可以分别确定出镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,那么,控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿,将镜头的抖动补偿与感光芯片的抖动补偿进行结合,使得光线更准确地通过镜头,并且更准确地投射至该感光芯片上,从而实现更准确地抖动补偿,生成更清晰的图像。
在一个实施例中,基于防抖补偿信息分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,包括:在第一防抖模式下,获取镜头马达的第一防抖补偿行程和感光芯片马达的第二防抖补偿行程;基于第一防抖补偿行程从防抖补偿信息中确定镜头马达的镜头补偿量,基于第二防抖补偿行程从防抖补偿信息中确定感光芯片马达的芯片补偿量;防抖补偿行程与补偿量呈正相关。
第一防抖模式可以是默认模式或普通模式。即在通常情况下,采用第一防抖模式进行抖动补偿。在其他情况下,也可以接收到用户的指定进入第一防抖模式。
第一防抖补偿行程是镜头马达的最大防抖补偿行程。第二防抖补偿行程是感光芯片马达的最大防抖补偿行程。可以理解的是,第一防抖补偿行程是镜头马达本身的硬件参数,电子设备可以直接从镜头马达的各个参数中获取到该第一防抖补偿行程。同样的,第二防抖补偿行程是感光芯片马达本身的硬件参数,电子设备可以直接从感光芯片马达的各个参数中获取到该第二防抖补偿行程。
在一种实施方式中,基于第一防抖补偿行程从防抖补偿信息中确定镜头马达的镜头补偿量,基于第二防抖补偿行程从防抖补偿信息中确定感光芯片马达的芯片补偿量,包括:基于第一防抖补偿行程和第二防抖补偿行程确定总防抖补偿行程,确定第一防抖补偿行程在总防抖补偿行程中所占的第一比例,以及第二防抖补偿行程在总防抖补偿行程中所占的第二比例;确定防抖补偿信息对应的总防抖补偿量的第一比例为镜头马达的镜头补偿量,以及确定防抖补偿信息对应的总防抖补偿量的第二比例为感光芯片马达的芯片补偿量。
总防抖补偿行程为第一防抖补偿行程和第二防抖补偿行程的和。
例如,镜头马达的第一防抖补偿行程为150μm,感光芯片马达的第二防抖补偿行程为200μm,则总防抖补偿行程为350μm,总补偿量为140μm,第一防抖补偿行程在总防抖补偿行程中所占的第一比例为3/7,第二防抖补偿行程在总防抖补偿行程中所占的第二比例为4/7,则镜头马达的镜头补偿量为140*3/7=60μm,感光芯片马达的芯片补偿量为140*4/7=80μm。
在另一种实施方式中,基于第一防抖补偿行程从防抖补偿信息中确定镜头马达的镜头补偿量,基于第二防抖补偿行程从防抖补偿信息中确定感光芯片马达的芯片补偿量,包括:将第一防抖补偿行程和第二防抖补偿行程进行比较,确定出较大的防抖补偿行程和较小的防抖补偿行程;确定较大的防抖补偿行程确定的补偿量为第一补偿量,以及确定较小的防抖补偿行程确定的补偿量为第二补偿量;其中,第一补偿量大于第二补偿量,并且第一补偿量和第二补偿量的和等于总补偿量。
可以理解的是,电子设备中可以将总补偿量分割为第一补偿量和第二补偿量,第一补偿量大于第二补偿量,并且第一补偿量和第二补偿量的和等于总补偿量。从第一防抖补偿行程和第二防抖补偿行程中确定出较大的防抖补偿行程和较小的防抖补偿行程,将第一补偿量分配给较大的防抖补偿行程对应的马达,将第二补偿量分配给较小的防抖补偿行程对应的马达。
例如,总补偿量为100μm,将总补偿量分割为60μm和40μm,较大的防抖补偿行程对应的马达为镜头马达,较小的防抖补偿行程对应的感光芯片马达,则镜头马达的镜头补偿量为60μm,感光芯片马达的芯片补偿量为40μm。
在其他实施方式中,电子设备还可以采用其他方式确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,在此不做限定。
在本实施例中,在第一防抖模式下,通过镜头马达的第一防抖补偿行程和感光芯片马达的第二防抖补偿行程,可以准确地确定出镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,防抖补偿行程与补偿量呈正相关,较大的防抖补偿行程进行较大的补偿,较小的防抖补偿行程进行较小的补偿,可以避免补偿量大于对应的行程,从而实现更准确的光学防抖。
在一个实施例中,基于防抖补偿信息分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,包括:在第二防抖模式下,获取镜头马达的第一优先级和感光芯片马达的第二优先级;基于第一优先级和第二优先级,分别从防抖补偿信息中确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量;优先级与补偿量呈正相关。
镜头马达和感光芯片马达中至少一个马达,在第二防抖模式下的防抖要求高于在第一防抖模式下的防抖要求。
第二防抖模式即优先级模式。若镜头马达和感光芯片马达中至少一个马达,在第二防抖模式下的防抖要求高于在第一防抖模式下的防抖要求,则进入第二防抖模式。进一步地,若检测到镜头马达和感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则进入第二防抖模式。可以理解的是,若马达需要在旋转方向上进行抖动补偿,则需要在旋转方向上有足够的空间,抖动补偿的要求较高,故进入第二防抖模式。其中,旋转方向具体可以是X轴方向、Y轴方向、Z轴方向或X/Y/Z坐标系中其他角度的方向均可,在此不做限定。
在电子设备中,预先设置镜头马达的抖动补偿情况与优先级的关系,若镜头马达仅需要平移进行抖动补偿,则基于该关系获取镜头马达的第一优先级;若感光芯片马达需要在旋转方向上进行抖动补偿,则基于该关系获取感光芯片马达的第二优先级。其中,优先级与补偿量呈正相关,即马达的优先级越高,则马达平移进行抖动补偿的补偿量越高。其中,平移的方向可以是X方向、Y方向和Z方向中任意一种或多种,平移的方向也可以是其他的方向,在此不做限定。
在本实施例中,在第二防抖模式下,获取镜头马达的第一优先级和感光芯片马达的第二优先级,则可以基于第一优先级和第二优先级,准确地确定出镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。
在一个实施例中,上述方法还包括:若检测到镜头马达和感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则进入第二防抖模式;基于第一优先级和第二优先级,分别从防抖补偿信息中确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,包括:获取第一优先级和第二优先级中较高优先级的马达平移的最大补偿量;其中,需要在旋转方向上进行抖动补偿的马达的优先级低于不需要在旋转方向上进行抖动补偿的马达的优先级;基于最大补偿量和防抖补偿信息对应的总防抖补偿量,确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。
优先级与补偿量呈正相关,则较高优先级的马达对应的补偿量较大,较低优先级的马达对应的补偿量较小。
可以理解的是,镜头马达和感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则不需要在旋转方向上进行抖动补偿的马达需要更多地分配平移的补偿量,从而确保需要在旋转方向上进行抖动补偿的马达在旋转方向上具有足够的空间,因此需要在旋转方向上进行抖动补偿的马达的优先级低于不需要在旋转方向上进行抖动补偿的马达的优先级,不需要在旋转方向上进行抖动补偿的马达平移进行抖动补偿具有更高的优先级。
进一步地,电子设备可以同时控制较高优先级的马达和较低优先级的马达进行抖动补偿;也可以先控制较高优先级的马达进行抖动补偿,再控制较低优先级的马达进行抖动补偿。
在本实施例中,进入第二防抖模式后,获取第一优先级和第二优先级中较高优先级的马达平移的最大补偿量;可以基于最大补偿量和防抖补偿信息对应的总防抖补偿量,为需要在旋转方向上进行抖动补偿的马达在旋转方向上留出更多的空间,从而更准确地进行抖动补偿。
在一个实施例中,基于最大补偿量和防抖补偿信息对应的总防抖补偿量,确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,包括:若最大补偿量大于或等于防抖补偿信息对应的总防抖补偿量,则确定较高优先级的马达平移的补偿量为总防抖补偿量,较低优先级的马达平移的补偿量为零;控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿,包括:若较高优先级的马达为镜头马达,则根据总防抖补偿量控制镜头马达驱动镜头进行抖动补偿,以及获取旋转补偿量,根据旋转补偿量控制感光芯片马达在旋转方向上进行抖动补偿;若较高优先级的马达为感光芯片马达,则根据总防抖补偿量控制感光芯片马达驱动镜头进行抖动补偿,以及获取旋转补偿量,根据旋转补偿量控制镜头马达在旋转方向上进行抖动补偿。其中,电子设备通过惯性传感器获取旋转角度,基于该旋转角度获取旋转补偿量。其中,惯性传感器是一种传感器,主要是检测和测量加速度、倾斜、冲击、振动、旋转和多自由度(DoF)运动,是解决导航、定向和运动载体控制的重要部件。惯性传感器可以包括陀螺仪、加速度传感计等。在一种实施方式中,电子设备可以将该旋转角度确定为旋转补偿量。在另一种实施方式中,电子设备还可以将旋转角度乘以预设的权重因子,得到旋转补偿量。在其他实施方式中,电子设备还可以采用其他方式获取到旋转补偿量,在此不做限定。
若最大补偿量大于或等于防抖补偿信息对应的总防抖补偿量,则将该总防抖补偿量均在该较高优先级的马达平移进行抖动补偿,而较低优先级的马达平移的补偿量为零,以确保较低优先级在旋转方向上具有足够的空间进行抖动补偿。
若检测到镜头马达和感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则获取该需要在旋转方向上进行抖动补偿的旋转补偿量,根据旋转补偿量控制需要在旋转方向上进行抖动补偿的马达在旋转方向上进行抖动补偿。
在本实施例中,若最大补偿量大于或等于防抖补偿信息对应的总防抖补偿量,则较高优先级的马达平移的补偿量可以为总防抖补偿量,而较低优先级的马达平移的补偿量为零,以确保该较低优先级的马达在旋转方向上具有足够的空间进行抖动补偿,从而实现摄像模组更准确地进行光学防抖。
在另一个实施例中,基于最大补偿量和防抖补偿信息对应的总防抖补偿量,确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,包括:若最大补偿量小于防抖补偿信息对应的总防抖补偿量,则确定较高优先级的马达平移的补偿量为最大补偿量,较低优先级的马达平移的补偿量为总防抖补偿量与最大补偿量之间的差值;控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿,包括:若较高优先级的马达为镜头马达,则根据最大补偿量控制镜头马达驱动镜头进行抖动补偿,根据差值控制感光芯片马达驱动感光芯片进行抖动补偿,并获取旋转补偿量,根据旋转补偿量控制感光芯片马达在旋转方向上进行抖动补偿;若较高优先级的马达为感光芯片马达,则根据最大补偿量控制感光芯片马达驱动感光芯片进行抖动补偿,根据差值控制镜头马达驱动镜头进行抖动补偿,并获取旋转补偿量,根据旋转补偿量控制镜头马达在旋转方向上进行抖动补偿。
若最大补偿量小于防抖补偿信息对应的总防抖补偿量,也就是说,较高优先级的马达即使平移进行补偿最大补偿量,仍有剩余的总防抖补偿量,故将较高优先级的马达平移的补偿量确定为该较高优先级的马达的最大补偿量,较低优先级的马达平移的补偿量确定为总防抖补偿量和最大补偿量的差值,以确保在旋转方向上具有最大的空间进行抖动补偿,从而实现摄像模组更准确地进行光学防抖。
在一个实施例中,获取摄像模组的防抖补偿信息,包括:
步骤402,确定摄像模组在当前时刻的当前姿态信息。
其中,当前姿态信息是指表征摄像模组在当前时刻的姿态的信息,当前姿态信息可包括曝光时间和运动速度中的至少一种。曝光时间是为了将光线投射到感光芯片的感光面上,快门所要打开的时间,就是指从快门打开到关闭的时间间隔。运动速度是指摄像模组在当前时刻的运动状态所产生的速度,该运动速度可包括角速度和加速度中的至少一种。角速度可转换为摄像模组在世界坐标系下的旋转矩阵。因此,旋转矩阵可用于表征摄像模组的当前姿态信息。
具体地,电子设备的ISP处理器或中央处理器可检测摄像模组在当前时刻的曝光时间和运动速度中的至少一种,将曝光时间和运动速度中的至少一种作为当前姿态信息。进一步地,可检测摄像模组在当前时刻的角速度和加速度中的至少一种,将当前时刻的角速度和加速度中的至少一种作为当前时刻的运动速度。角速度可通过陀螺仪(Gyroscope,简称Gyro)传感器检测,加速度可通过加速度(acceleration transducer,简称Acc)传感器检测。其中,陀螺仪传感器是一个简单易用的基于自由空间移动和手势定位的控制***,加速度传感器是一种能够测量加速度的传感器。
在一个实施例中,电子设备的ISP处理器或中央处理器可通过摄像模组在当前时刻的加速度确定当前时刻的运动速度。
在一个实施例中,电子设备的ISP处理器或中央处理器可通过陀螺仪传感器检测摄像模组的角速度,以得到摄像模组在当前时刻的角速度,将当前角速度信息作为摄像模组的运动速度。进一步地,电子设备的ISP处理器或中央处理器可通过陀螺仪传感器获取摄像模组的三轴角速度,将该三轴角速度经过校正和在时间域上的积分处理,输出三轴角速度。将当前时刻的三轴角速度作为摄像模组在当前时刻的运动速度。
或者,电子设备的ISP处理器或中央处理器可通过加速度传感器检测摄像模组的加速度,以得到摄像模组在当前时刻的加速度,将当前时刻的加速度作为摄像模组的在当前时刻的运动速度。
步骤404,获取与当前姿态信息对应的防抖强度信息,防抖强度信息与当前姿态信息呈正相关。
具体地,电子设备中预先配置了不同姿态信息所对应的防抖强度信息,姿态信息与所对应的防抖强度信息之间呈正相关关系。例如,姿态信息通过具体的数值表征,防抖强度信息通过防抖强度值表征时,表征姿态信息的数值越大,所对应的防抖强度值越大;表征姿态信息的数值越小,所对应的防抖强度值越小。
电子设备的ISP处理器或中央处理器可根据摄像模组在当前时刻的当前姿态信息,获取与该当前姿态信息相对应的防抖强度信息。
步骤406,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
其中,前序时刻是指在当前时刻之前的时刻,可以是当前时刻的前一时刻、前多个时刻,前多个时刻例如前两个时刻、前三个时刻等,但不限于此。
具体地,电子设备的ISP处理器或中央处理器可获取当前时刻的前序时刻所对应的滤波姿态信息,根据基于防抖强度信息、当前姿态信息和前序时刻所对应的滤波姿态信息,确定防抖补偿信息。例如,根据基于防抖强度信息、当前姿态信息和当前时刻的前一时刻所对应的滤波姿态信息,确定防抖补偿信息。
进一步地,电子设备的ISP处理器或中央处理器可获取当前时刻的前序时刻所对应的姿态信息,对前序时刻的姿态信息进行滤波处理,得到前序时刻对应的滤波姿态信息。
在本实施例中,通过确定摄像模组在当前时刻的当前姿态信息,以获取与当前姿态信息呈正相关的防抖强度信息,从而能够基于当前姿态信息适配合适的防抖强度信息。基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确地确定防抖补偿信息,从而根据防抖补偿信息可以镜头马达和感光芯片马达分别分配更准确的补偿量,使得光学防抖更准确。并且,基于当前姿态信息适配合适的防抖强度信息,能够针对容易产生运动模糊和不容易产生运动模糊等多种场景进行对应的防抖补偿处理,从而能够有效适配不同的抖动场景。
在一个实施例中,当前姿态信息包括运动速度和曝光时间,防抖强度信息包括防抖强度值;获取与当前姿态信息对应的防抖强度信息,包括:根据摄像模组在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,运动速度、曝光时间均与防抖强度值正相关。
具体地,电子设备中可预先配置运动速度和防抖强度值之间的映射关系,或者曝光时间和防抖强度值之间的映射关系,还可以配置运动速度、曝光时间和防抖强度值三者的映射关系。运动速度与防抖强度值呈正相关,曝光时间与防抖强度值呈正相关。
电子设备的ISP处理器或中央处理器可检测摄像模组在当前时刻的曝光时间和运动速度中的至少一种,可根据运动速度和曝光时间中的至少一种获取对应的防抖强度值。
在一个实施例中,电子设备中预先配置了不同曝光时间所对应的防抖强度值。电子设备的ISP处理器或中央处理器可检测摄像模组在当前时刻的曝光时间,基于曝光时间与防抖强度值之间的映射关系,获取与该曝光时间所对应的防抖强度值。
在一个实施例中,电子设备中预先配置了不同运动速度所对应的防抖强度值。电子设备的ISP处理器或中央处理器可检测摄像模组在当前时刻的运动速度,基于运动速度与防抖强度值之间的映射关系,获取与该运动速度所对应的防抖强度值。
在一个实施例中,电子设备的ISP处理器或中央处理器可检测摄像模组在当前时刻的曝光时间和运动速度,基于曝光时间和防抖强度值之间的映射关系、运动速度和防抖强度值之间的映射关系,或者,运动速度、曝光时间和防抖强度值三者的映射关系中的任意一个映射关系,获取对应的防抖强度值。
当运动速度较小或曝光时间较短时,运动模糊不容易产生,此时产生的抖动比较小。当运动速度较大或曝光时间较长时,容易产生运动模糊,即产生的抖动比较大。本实施例中预先配置运动速度、曝光时间和防抖强度值的映射关系,确保运动速度、曝光时间均与防抖强度值正相关,根据摄像模组在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,使得运动速度较小或曝光时间较短时,适配一个较小的防抖强度值,可计算得到较小的防抖补偿量,能够准确对不容易产生运动模糊的场景进行防抖补偿,使得镜头保持在最补偿状态。在运动速度较大或曝光时间较长时,适配一个较大的防抖强度值,可计算得到较大的防抖补偿量,能够准确对产生运动模糊的场景进行防抖补偿,同样使得镜头保持在最补偿状态。
在一个实施例中,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息,包括:基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息。
基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息。
具体地,电子设备的ISP处理器或中央处理器可基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,将当前姿态信息和前序时刻的滤波姿态信息进行姿态融合处理,得到当前时刻的滤波姿态信息。电子设备的ISP处理器或中央处理器可确定当前姿态信息和当前时刻的滤波姿态信息之间的差异,基于差异确定防抖补偿信息。防抖补偿信息是指对摄像模组产生的抖动进行补偿的信息。
在一个实施例中,可将防抖强度信息作为当前姿态信息的权重信息,并基于防抖强度信息确定前序时刻的滤波姿态信息所对应的权重信息。当前姿态信息的权重信息可表征当前姿态信息在姿态融合过程中所占的权重,前序时刻的滤波姿态信息所对应的权重信息可表征前序时刻的滤波姿态信息在姿态融合过程中所占的权重。电子设备的ISP处理器或中央处理器可基于当前姿态信息和对应的权重信息,以及前序时刻的滤波姿态信息和对应的权重信息,将当前姿态信息和前序时刻的滤波姿态信息进行姿态融合处理,得到当前时刻的滤波姿态信息。
在一个实施例中,姿态融合处理可以是卡尔曼滤波处理,可通过卡尔曼滤波器实现。卡尔曼滤波(Kalman filtering)是一种利用线性***状态方程,通过***输入输出观测数据,对***状态进行最优估计的算法。由于观测数据中包括***中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。卡尔曼滤波器是一种由卡尔曼(Kalman)提出的用于时变线性***的递归滤波器。这个***可用包含正交状态变量的微分方程模型来描述,这种滤波器是将过去的测量估计误差合并到新的测量误差中来估计将来的误差。
本实施例中,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确确定当前时刻的滤波姿态信息,从而能够当前姿态信息和当前时刻的滤波姿态信息之间的差异,准确确定防抖补偿信息,以实现抖动补偿。
在一个实施例中,如图5所示,防抖补偿信息包括总防抖补偿量和总防抖补偿所需行程;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息,包括:
步骤502,基于当前姿态信息和当前时刻的滤波姿态信息,确定总防抖补偿量。
具体地,防抖补偿信息包括总防抖补偿量和总防抖补偿所需行程。总防抖补偿量表征对摄像模组产生的抖动进行补偿的数值。可以理解的是,总防抖补偿量包括镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。总防抖补偿所需行程包括镜头马达的第一防抖补偿行程和感光芯片马达的第二防抖补偿行程。
电子设备通过推动镜头和感光芯片来实现光学防抖,镜头可在第一方向和第二方向上被推动,第一方向与第二方向相互垂直。同样的,感光芯片可在第三方向和第四方向上被推动,第三方向与第四方向相互垂直。
例如镜头可在X方向和Y方向上被推动,被推动的行程单位为code。而防抖补偿行程是指摄像模组产生抖动时,在X方向或Y方向上被推动的行程,该行程用于对摄像模组产生的抖动进行补偿。该X方向垂直于Y方向。
在一个实施例中,镜头的第一方向和感光芯片的第三方向可以相同,则镜头的第二方向和感光芯片的第四方向可以相同。例如,镜头的第一方向和感光芯片的第三方向均为X方向,镜头的第二方向和感光芯片的第四方向均为Y方向。在其他实施例中,镜头的第一方向和感光芯片的第三方向也可以不同,则镜头的第二方向和感光芯片的第四方向也可以不同。
电子设备的ISP处理器或中央处理器可基于当前姿态信息和当前时刻的滤波姿态信息,确定总防抖补偿量。进一步地,电子设备的ISP处理器或中央处理器可基于当前姿态信息和当前时刻的滤波姿态信息,分别计算出在X方向上的总防抖补偿量和在Y方向上的总防抖补偿量。
步骤504,获取预设校准值,基于总防抖补偿量和预设校准值,确定摄像模组的总防抖补偿所需行程。
具体地,电子设备中预先设置了总防抖补偿量、预设校准值和行程中心位置三者之间的关联关系。预设校准值是预先设置的经验值,能够表征总防抖补偿量和行程中心位置之间的关系。行程中心位置是指摄像模组在可以推动的整个行程中的中心位置。
电子设备的ISP处理器或中央处理器可确定摄像模组当前所处行程的行程中心位置,并获取预设校准值,根据总防抖补偿量、预设校准值和行程中心位置,计算出对应的总防抖补偿所需行程。
在一个实施例中,将总防抖补偿量和预设校准值的乘积,与行程中心位置之和,作为对应的总防抖补偿所需行程。
在一个实施例中,电子设备中预先设置了在X方向上的总防抖补偿量、预设校准值和行程中心位置三者之间的第一关联关系,以及在Y方向上的总防抖补偿量、预设校准值和行程中心位置三者之间的第二关联关系。电子设备的ISP处理器或中央处理器可确定摄像模组所处行程在X方向上和Y方向上的行程中心位置。根据在X方向上的总防抖补偿量、X方向上的预设校准值和在X方向上的行程中心位置,计算出X方向上的总防抖补偿所需行程。根据在Y方向上的总防抖补偿量、Y方向上的预设校准值和在Y方向上的行程中心位置,计算出Y方向上的总防抖补偿所需行程。
进一步地,电子设备的ISP处理器或中央处理器可将在X方向上的总防抖补偿量和在X方向上的预设校准值的乘积,与在X方向上的行程中心位置之和,作为在X方向上对应的总防抖补偿所需行程。将在Y方向上的总防抖补偿量和在Y方向上的预设校准值的乘积,与在Y方向上的行程中心位置之和,作为在Y方向上对应的总防抖补偿所需行程。
进一步地,电子设备基于总防抖补偿量分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,以及基于总防抖补偿所需行程分别确定镜头马达的镜头防抖补偿所需行程和感光芯片马达的芯片防抖补偿所需行程;根据镜头的当前行程位置和镜头防抖补偿所需行程,驱动镜头进行防抖补偿;根据感光芯片的当前行程位置和芯片防抖补偿所需行程,驱动感光芯片进行防抖补偿。
其中,镜头的当前行程位置是指镜头在当前所处行程中的实际位置。感光芯片的当前行程位置是指感光芯片在当前所处行程中的实际位置。
具体地,电子设备的ISP处理器或中央处理器可根据镜头的当前行程位置,将镜头从当前行程位置推动该镜头防抖补偿所需行程,以实现防抖补偿。同样的,电子设备的ISP处理器或中央处理器可根据感光芯片的当前行程位置,将感光芯片从当前行程位置推动该芯片防抖补偿所需行程,以实现防抖补偿。
本实施例中,基于当前姿态信息和当前时刻的滤波姿态信息,能够准确计算出克服本次抖动所需要的总防抖补偿量。获取预设校准值,基于总防抖补偿量、预设校准值和摄像模组当前所处行程的行程中心位置,能够准确计算出克服抖动所需要的总防抖补偿行程,从而能够分别确定出镜头马达和感光芯片马达的防抖补偿所需行程,控制镜头马达和感光芯片马达分别进行抖动补偿。
在一个实施例中,在基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息之前,还包括:
获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,得到前序时刻对应的滤波姿态信息。
其中,低通滤波(Low-pass filter)是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波目的而改变。低通滤波也被叫做高频去除过滤(high-cut filter)或者最高去除过滤(treble-cut filter)。
具体地,电子设备的ISP处理器或中央处理器可确定当前时刻的前序时刻,并获取前序时刻所对应的滤波姿态信息。电子设备的ISP处理器或中央处理器对前序时刻的姿态信息进行低通滤波处理,得到前序时刻对应的滤波姿态信息。
在一个实施例中,可通过低通滤波器进行低通滤波处理。电子设备的ISP处理器或中央处理器将前序时刻的姿态信息输入低通滤波器,得到低通滤波器输出的滤波姿态信息。该低通滤波器可以是巴特沃斯滤波器或切比雪夫滤波器。
本实施例中,获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,能够对前序时刻的姿态信息进行平滑去噪处理,有效剔除了短期波动,得到前序时刻对应的平滑的滤波姿态信息。
光学防抖(Optical image stabilization,OIS)的本质是通过推镜头和感光芯片来实现光学防抖。以镜头进行光学防抖为例进行说明,如图6所示,镜头分别在X方向和Y方向被推动,被推动的行程单位为code。行程范围受硬件约束,是有限的,其中线性行程范围相对更小。防抖补偿能力跟镜头的行程位置相关,如图6,当镜头位于全行程的中间位置时,镜头的两个方向的防抖补偿能力一样,镜头往左的线性行程占整个线性行程的一半,镜头向右的线性行程也是。而如图7所示,当镜头偏右的时候,此时镜头向右的防抖补偿能力减弱,同时镜头向左的补偿能力增大。由于运动方向是随机位置的,一般会追求镜头尽量在一个方向上保持居中,使得在两个方向均有最大的补偿能力。
传统的OIS主要是抑制运动模糊,运动模糊主要受两个因素影响,一个是曝光时长,一个是运动速度。曝光时间长容易造成运动模糊,运动速度过快容易造成运动模糊。则当运动速度较小或曝光时间较短的时候,运动模糊不容易产生。那么针对那些不容易产生运动模糊的场景,应该让镜头尽量在X和Y方向保持居中,以保持最佳防抖补偿状态。而传统的光学防抖方法无法对运动速度较小或曝光时间较短等不容易产生运动模糊的场景进行防抖补偿,直接使用传统的光学防抖方法对不容易产生运动模糊的场景进行防抖补偿,会造成防抖补偿能力的削弱。例如,在图7中,当向左运动速度很小但持续较大时长的时候,按照传统的光学防抖方法会推动镜头去做防抖补偿,镜头的位置距离中心逐渐变远,此时镜头向右的防抖补偿能力已经被削弱很多,若向左的运动速度加快,快到会造成运动模糊运动的程度,镜头继续向左防抖补偿,则镜头很快会被推动到线性行程的最右边,从而因为撞限位丧失防抖能力。
如图8所示,为一个实施例中镜头的光学防抖方法的流程示意图。通过陀螺仪传感器Gyro和加速度传感器Acc检测的数据,计算出目标物的实时姿态,该目标物是指摄像模组的镜头或者陀螺仪。确定摄像模组的镜头当前时刻在XY方向的实时位置值,即在X方向上的当前行程位置Hall_x和在Y方向上的当前行程位置Hall_y,通过两个值用来计算目标行程位置target Hall。具体处理过程如下:
基于Gyro传感器或Acc传感器检测的值计算目标物在当前时刻的当前姿态信息,即实时姿态Qi,Qi为一个向量,代表在X、Y、Z轴方向的姿态。根据当前的实时姿态Qi获取对应的防抖强度值alpha。
在一个实施例,实时姿态Q可以是(X,Y,Z)三个欧拉角量,也可以是包括加速度计的(X,Y,Z,shift_x,shift_y)五个量,前三个是欧拉角旋转量,后面两个是平移量。
根据防抖强度值alpha,基于实时姿态Qi和上一时刻的滤波姿态Qfilteri-1计算当前时刻的滤波姿态Qfilter,公式如下:
Qfilter=f(Qi,alpha)
Qfilter为Qi和Qfilteri-1进行姿态融合的结果,其中alpha决定了融合过程中实时姿态Qi和上一时刻的滤波姿态Qfilteri-1各自的权重。
通过实时姿态Qi和当前时刻的滤波姿态Qfilter计算防抖补偿量△Q:
△Q=Qi-Qfilter
其中,防抖补偿量△Q是一个向量(△x,△y,△z),△x,△y,△z分别代表在XYZ轴上的补偿量。其中△z暂时没有参与计算target Hall值,因为target Hall为XY方向的值。
获取预设校准值(gain_x,gain_y),计算target Hall:
△code_x=(△x*gain_x)+center_code_x;
△code_y=(△y*gain_y)+center_code_y;
target_Hall_x=f(△code_x,Hall_x);
target_Hall_y=f(△code_y,Hall_y);
其中,center_code_x、center_code_y为镜头全行程的中间位置,f为当前镜头的当前行程值Hall_x、Hall_y与计算出来的补偿行程值△code_x、△code_y的融合,该融合方式可以是卡尔曼滤波也可以是其他融合算法。
下发target_Hall给驱动电路driverIC,让镜头马达VCM将镜头推到目标行程位置target_Hall_x、target_Hall_y,完成本次的防抖补偿。
重复上述各个操作可实现OIS防抖的处理流程,以克服摄像模组的镜头所产生的抖动。
本实施例中,当运动速度较小或曝光时间较短时,适配一个较小的防抖强度值alpha,基于此时的alpha值,将得到一个较小的△Q补偿量,从而让镜头不会离中心点太远,继续保持较强的防抖补偿能力。当运动速度较大或曝光时间较长时,适配一个较大的防抖强度值alpha,基于此时的alpha值,将得到一个较大的△Q补偿量,以准确对当前的抖动进行补偿。可以根据不同曝光时长和运动速度适配防抖补偿强度,从而避免了线性行程的浪费,让镜头保持在最补偿状态。
应该理解的是,虽然图2、图4和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4和图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图9为一个实施例的光学防抖装置的结构框图。如图9所示,提供了一种光学防抖装置,应用于摄像模组中,摄像模组包括镜头马达和感光芯片马达,该光学防抖装置包括:获取模块902、补偿量确定模块904和抖动补偿模块906,其中:
获取模块902,用于获取摄像模组的防抖补偿信息。
补偿量确定模块904,用于基于防抖补偿信息分别确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。
抖动补偿模块906,用于控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿。
上述光学防抖装置,应用于摄像模组中,摄像模组包括镜头马达和感光芯片马达,获取摄像模组的防抖补偿信息;基于防抖补偿信息可以分别确定出镜头马达的镜头补偿量和感光芯片马达的芯片补偿量,那么,控制镜头马达基于镜头补偿量驱动镜头进行抖动补偿,控制感光芯片马达基于芯片补偿量驱动感光芯片进行抖动补偿,将镜头的抖动补偿与感光芯片的抖动补偿进行结合,使得光线更准确地通过镜头,并且更准确地投射至该感光芯片上,从而实现镜头模组更准确地防抖,生成更清晰的图像。
在一个实施例中,补偿量确定模块904还用于在第一防抖模式下,获取镜头马达的第一防抖补偿行程和感光芯片马达的第二防抖补偿行程;基于第一防抖补偿行程从防抖补偿信息中确定镜头马达的镜头补偿量,基于第二防抖补偿行程从防抖补偿信息中确定感光芯片马达的芯片补偿量;防抖补偿行程与补偿量呈正相关。
在一个实施例中,上述补偿量确定模块904还用于基于第一防抖补偿行程和第二防抖补偿行程确定总防抖补偿行程,确定第一防抖补偿行程在总防抖补偿行程中所占的第一比例,以及第二防抖补偿行程在总防抖补偿行程中所占的第二比例;确定防抖补偿信息对应的总防抖补偿量的第一比例为镜头马达的镜头补偿量,以及确定防抖补偿信息对应的总防抖补偿量的第二比例为感光芯片马达的芯片补偿量。
在一个实施例中,上述补偿量确定模块904还用于在第二防抖模式下,获取镜头马达的第一优先级和感光芯片马达的第二优先级;基于第一优先级和第二优先级,分别从防抖补偿信息中确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量;优先级与补偿量呈正相关。
在一个实施例中,上述光学防抖装置还包括检测模块;该检测模块用于若检测到镜头马达和感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则进入第二防抖模式;上述补偿量确定模块904还用于获取第一优先级和第二优先级中较高优先级的马达平移的最大补偿量;其中,需要在旋转方向上进行抖动补偿的马达的优先级低于不需要在旋转方向上进行抖动补偿的马达的优先级;基于最大补偿量和防抖补偿信息对应的总防抖补偿量,确定镜头马达的镜头补偿量和感光芯片马达的芯片补偿量。
在一个实施例中,上述补偿量确定模块904还用于若最大补偿量大于或等于防抖补偿信息对应的总防抖补偿量,则确定较高优先级的马达平移的补偿量为总防抖补偿量,较低优先级的马达平移的补偿量为零;上述抖动补偿模块906还用于若较高优先级的马达为镜头马达,则根据总防抖补偿量控制镜头马达驱动镜头进行抖动补偿,以及获取旋转补偿量,根据旋转补偿量控制感光芯片马达在旋转方向上进行抖动补偿;若较高优先级的马达为感光芯片马达,则根据总防抖补偿量控制感光芯片马达驱动镜头进行抖动补偿,以及获取旋转补偿量,根据旋转补偿量控制镜头马达在旋转方向上进行抖动补偿。
在一个实施例中,上述补偿量确定模块904还用于若最大补偿量小于防抖补偿信息对应的总防抖补偿量,则确定较高优先级的马达平移的补偿量为最大补偿量,较低优先级的马达平移的补偿量为总防抖补偿量与最大补偿量之间的差值;上述抖动补偿模块906还用于若较高优先级的马达为镜头马达,则根据最大补偿量控制镜头马达驱动镜头进行抖动补偿,根据差值控制感光芯片马达驱动感光芯片进行抖动补偿,并获取旋转补偿量,根据旋转补偿量控制感光芯片马达在旋转方向上进行抖动补偿;若较高优先级的马达为感光芯片马达,则根据最大补偿量控制感光芯片马达驱动感光芯片进行抖动补偿,根据差值控制镜头马达驱动镜头进行抖动补偿,并获取旋转补偿量,根据旋转补偿量控制镜头马达在旋转方向上进行抖动补偿。
在一个实施例中,上述获取模块902还用于确定摄像模组在当前时刻的当前姿态信息;获取与当前姿态信息对应的防抖强度信息,防抖强度信息与当前姿态信息呈正相关;基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
在一个实施例中,当前姿态信息包括运动速度和曝光时间,防抖强度信息包括防抖强度值;上述获取模块902还用于根据摄像模组在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,运动速度、曝光时间均与防抖强度值正相关。
上述获取模块902还用于基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息。
上述光学防抖装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将光学防抖装置按照需要划分为不同的模块,以完成上述光学防抖装置的全部或部分功能。
关于光学防抖装置的具体限定可以参见上文中对于光学防抖方法的限定,在此不再赘述。上述光学防抖装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图10为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过***总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作***和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种光学防抖方法。内存储器为非易失性存储介质中的操作***计算机程序提供高速缓存的运行环境。
本申请实施例中提供的光学防抖装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行光学防抖方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行光学防抖方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种光学防抖方法,其特征在于,应用于摄像模组中,所述摄像模组包括镜头马达和感光芯片马达,所述方法包括:
获取所述摄像模组的防抖补偿信息;
若检测到所述镜头马达和所述感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则进入第二防抖模式;
在第二防抖模式下,获取所述镜头马达的第一优先级和所述感光芯片马达的第二优先级;
获取所述第一优先级和所述第二优先级中较高优先级的马达平移的最大补偿量;其中,需要在旋转方向上进行抖动补偿的马达的优先级低于不需要在旋转方向上进行抖动补偿的马达的优先级,所述不需要在旋转方向上进行抖动补偿的马达的优先级与平移方向上的补偿量呈正相关;
基于所述最大补偿量和所述防抖补偿信息对应的总防抖补偿量,确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量;
控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿。
2.根据权利要求1所述的方法,其特征在于,所述基于所述防抖补偿信息分别确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量,包括:
在第一防抖模式下,获取所述镜头马达的第一防抖补偿行程和所述感光芯片马达的第二防抖补偿行程;
基于所述第一防抖补偿行程从所述防抖补偿信息中确定所述镜头马达的镜头补偿量,基于所述第二防抖补偿行程从所述防抖补偿信息中确定所述感光芯片马达的芯片补偿量;防抖补偿行程与补偿量呈正相关。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一防抖补偿行程从所述防抖补偿信息中确定所述镜头马达的镜头补偿量,基于所述第二防抖补偿行程从所述防抖补偿信息中确定所述感光芯片马达的芯片补偿量,包括:
基于所述第一防抖补偿行程和所述第二防抖补偿行程确定总防抖补偿行程,确定所述第一防抖补偿行程在所述总防抖补偿行程中所占的第一比例,以及所述第二防抖补偿行程在所述总防抖补偿行程中所占的第二比例;
确定所述防抖补偿信息对应的总防抖补偿量的第一比例为所述镜头马达的镜头补偿量,以及确定所述防抖补偿信息对应的总防抖补偿量的第二比例为所述感光芯片马达的芯片补偿量。
4.根据权利要求1所述的方法,其特征在于,所述基于所述最大补偿量和所述防抖补偿信息对应的总防抖补偿量,确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量,包括:
若所述最大补偿量大于或等于所述防抖补偿信息对应的总防抖补偿量,则确定所述较高优先级的马达平移的补偿量为所述总防抖补偿量,较低优先级的马达平移的补偿量为零;
所述控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿,包括:
若所述较高优先级的马达为镜头马达,则根据所述总防抖补偿量控制所述镜头马达驱动镜头进行抖动补偿,以及获取旋转补偿量,根据所述旋转补偿量控制所述感光芯片马达在旋转方向上进行抖动补偿;
若所述较高优先级的马达为感光芯片马达,则根据所述总防抖补偿量控制所述感光芯片马达驱动芯片进行抖动补偿,以及获取旋转补偿量,根据所述旋转补偿量控制所述镜头马达在旋转方向上进行抖动补偿。
5.根据权利要求1所述的方法,其特征在于,所述基于所述最大补偿量和所述防抖补偿信息对应的总防抖补偿量,确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量,包括:
若所述最大补偿量小于所述防抖补偿信息对应的总防抖补偿量,则确定所述较高优先级的马达平移的补偿量为最大补偿量,较低优先级的马达平移的补偿量为所述总防抖补偿量与所述最大补偿量之间的差值;
所述控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿,包括:
若所述较高优先级的马达为镜头马达,则根据所述最大补偿量控制所述镜头马达驱动镜头进行抖动补偿,根据所述差值控制所述感光芯片马达驱动感光芯片进行抖动补偿,并获取旋转补偿量,根据所述旋转补偿量控制所述感光芯片马达在旋转方向上进行抖动补偿;
若所述较高优先级的马达为感光芯片马达,则根据所述最大补偿量控制所述感光芯片马达驱动感光芯片进行抖动补偿,根据所述差值控制所述镜头马达驱动镜头进行抖动补偿,并获取旋转补偿量,根据所述旋转补偿量控制所述镜头马达在旋转方向上进行抖动补偿。
6.根据权利要求1所述的方法,其特征在于,所述获取所述摄像模组的防抖补偿信息,包括:
确定所述摄像模组在当前时刻的当前姿态信息;
获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
7.根据权利要求6所述的方法,其特征在于,所述当前姿态信息包括运动速度和曝光时间,所述防抖强度信息包括防抖强度值;所述获取与所述当前姿态信息对应的防抖强度信息,包括:
根据所述摄像模组在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,所述运动速度、所述曝光时间均与所述防抖强度值正相关。
8.根据权利要求6所述的方法,其特征在于,所述基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息,包括:
基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定所述当前时刻的滤波姿态信息;
基于所述当前姿态信息和所述当前时刻的滤波姿态信息,确定防抖补偿信息。
9.一种光学防抖装置,其特征在于,应用于摄像模组中,所述摄像模组包括镜头马达和感光芯片马达,所述装置包括:
获取模块,用于获取所述摄像模组的防抖补偿信息;
检测模块,用于若检测到所述镜头马达和所述感光芯片马达的其中一个马达需要在旋转方向上进行抖动补偿,则进入第二防抖模式;
补偿量确定模块,用于在第二防抖模式下,获取所述镜头马达的第一优先级和所述感光芯片马达的第二优先级;获取所述第一优先级和所述第二优先级中较高优先级的马达平移的最大补偿量;其中,需要在旋转方向上进行抖动补偿的马达的优先级低于不需要在旋转方向上进行抖动补偿的马达的优先级,所述不需要在旋转方向上进行抖动补偿的马达的优先级与平移方向上的补偿量呈正相关;基于所述最大补偿量和所述防抖补偿信息对应的总防抖补偿量,确定所述镜头马达的镜头补偿量和所述感光芯片马达的芯片补偿量;
抖动补偿模块,用于控制所述镜头马达基于所述镜头补偿量驱动镜头进行抖动补偿,控制所述感光芯片马达基于所述芯片补偿量驱动感光芯片进行抖动补偿。
10.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的光学防抖方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
CN202111654871.1A 2021-12-30 2021-12-30 光学防抖方法、装置、电子设备和计算机可读存储介质 Active CN114338994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111654871.1A CN114338994B (zh) 2021-12-30 2021-12-30 光学防抖方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111654871.1A CN114338994B (zh) 2021-12-30 2021-12-30 光学防抖方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114338994A CN114338994A (zh) 2022-04-12
CN114338994B true CN114338994B (zh) 2024-06-11

Family

ID=81018971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111654871.1A Active CN114338994B (zh) 2021-12-30 2021-12-30 光学防抖方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114338994B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866807A (zh) * 2022-05-12 2022-08-05 平安科技(深圳)有限公司 虚拟形象视频生成方法、装置、电子设备及可读存储介质
CN115103108A (zh) * 2022-06-06 2022-09-23 Oppo广东移动通信有限公司 防抖处理方法、装置、电子设备和计算机可读存储介质
CN115022548A (zh) * 2022-06-23 2022-09-06 Oppo广东移动通信有限公司 控制方法、控制装置、电子设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489889A (zh) * 2021-08-03 2021-10-08 Oppo广东移动通信有限公司 双防抖***、方法、电子设备及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5552918B2 (ja) * 2010-06-24 2014-07-16 ソニー株式会社 接続設定方法、カメラシステム及び記憶媒体
CN111355872B (zh) * 2018-12-24 2021-09-07 华为技术有限公司 摄像模组、防抖组件及终端
CN110035228B (zh) * 2019-03-26 2021-09-07 Oppo广东移动通信有限公司 摄像头防抖***、方法、电子设备和计算机可读存储介质
CN110012224B (zh) * 2019-03-26 2021-07-09 Oppo广东移动通信有限公司 摄像头防抖***、方法、电子设备和计算机可读存储介质
CN109951639A (zh) * 2019-03-26 2019-06-28 Oppo广东移动通信有限公司 摄像头防抖***、方法、电子设备和计算机可读存储介质
CN210725001U (zh) * 2019-10-11 2020-06-09 南昌欧菲光电技术有限公司 摄像模组及电子设备
CN113489910B (zh) * 2021-08-03 2023-01-24 Oppo广东移动通信有限公司 光学防抖方法、***、计算机可读存储介质及电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489889A (zh) * 2021-08-03 2021-10-08 Oppo广东移动通信有限公司 双防抖***、方法、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN114338994A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN114338994B (zh) 光学防抖方法、装置、电子设备和计算机可读存储介质
US8264553B2 (en) Hardware assisted image deblurring
JP6700872B2 (ja) 像振れ補正装置及びその制御方法、撮像装置、プログラム、記憶媒体
CN109194876B (zh) 图像处理方法、装置、电子设备和计算机可读存储介质
CN105933594B (zh) 控制设备、摄像设备和控制方法
JP4500875B2 (ja) モーションブラー効果を除去する方法および装置
JP4586534B2 (ja) 撮像装置、手ブレ補正装置、携帯電話機および手ブレ補正方法
US8159541B2 (en) Image stabilization method and apparatus
JP6098874B2 (ja) 撮像装置および画像処理装置
KR20180101466A (ko) 심도 정보 취득 방법 및 장치, 그리고 이미지 수집 디바이스
US20070098383A1 (en) Motion blur reduction and compensation
CN110300263B (zh) 陀螺仪处理方法和装置、电子设备、计算机可读存储介质
WO2017185265A1 (zh) 一种图像拍摄参数的确定方法及摄像装置
US20210006721A1 (en) Image blur information acquisition apparatus and method, and storage medium
JP6098873B2 (ja) 撮像装置および画像処理装置
CN114466129A (zh) 图像处理方法、装置、存储介质及电子设备
JP2017219635A5 (zh)
CN108668074A (zh) 图像模糊校正装置及其控制方法、摄像设备和存储介质
CN116437206A (zh) 防抖方法、装置、电子设备和计算机可读存储介质
JP6250446B2 (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
JP2012163824A (ja) ブレ補正装置及び光学機器
JP2013054193A (ja) ブレ補正装置及び光学機器
JP2019083580A (ja) 画像処理装置、画像処理方法、プログラム
JP2013182196A (ja) ブレ補正装置及び光学機器
JP5957796B2 (ja) ブレ補正装置及び光学機器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant