CN110049238B - 摄像头防抖系统和方法、电子设备、计算机可读存储介质 - Google Patents
摄像头防抖系统和方法、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN110049238B CN110049238B CN201910232564.0A CN201910232564A CN110049238B CN 110049238 B CN110049238 B CN 110049238B CN 201910232564 A CN201910232564 A CN 201910232564A CN 110049238 B CN110049238 B CN 110049238B
- Authority
- CN
- China
- Prior art keywords
- angular velocity
- data
- driving
- chip
- jitter compensation
- 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
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/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- 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/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/685—Vibration or motion blur correction performed by mechanical compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Adjustment Of Camera Lenses (AREA)
- Studio Devices (AREA)
Abstract
本申请涉及一种摄像头防抖系统和方法、电子设备、计算机可读存储介质。系统包括:陀螺仪,用于获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;主控芯片,与陀螺仪连接,用于接收陀螺仪输出的第一角速度数据,根据第一角速度数据计算得到抖动补偿数据,或接收陀螺仪输出的第二角速度数据,根据第二角速度数据进行应用处理;驱动芯片,与主控芯片连接,用于接收主控芯片发送的抖动补偿数据,并根据抖动补偿数据输出电信号;马达,用于接收驱动芯片输出的电信号,并根据电信号驱动镜头移动。上述摄像头防抖系统和方法、电子设备、计算机可读存储介质,可以提高图像采集的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种摄像头防抖系统和方法、电子设备、计算机可读存储介质。
背景技术
摄像头在拍摄图像的过程中,可以收集拍摄场景的光线,然后通过感光元件将收集的光线转化成电信号进行存储。摄像头从手机光线到成像的过程中,需要一定的时长,如果在成像的过程中摄像头产生了抖动,就会造成收集的光线产生变化,从而使得成像得到的图像产生模糊。
发明内容
本申请实施例提供一种摄像头防抖系统和方法、电子设备、计算机可读存储介质,可以提高图像采集的准确性。
一种摄像头防抖系统,包括:
陀螺仪,用于获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
主控芯片,与所述陀螺仪连接,用于接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据计算得到抖动补偿数据,或接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
驱动芯片,与所述主控芯片连接,用于接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
马达,用于接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动。
一种摄像头防抖方法,包括:
控制陀螺仪获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
通过主控芯片接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据计算得到抖动补偿数据,或接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
控制陀螺仪获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
通过主控芯片接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据计算得到抖动补偿数据,或接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
控制陀螺仪获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
通过主控芯片接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据计算得到抖动补偿数据,或接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动。
上述摄像头防抖系统和方法、电子设备、计算机可读存储介质,可以通过陀螺仪可以获取第一角速度数据或第二角速度数据,并通过主控芯片分别根据第一角速度数据计算抖动补偿数据以及第二角速度数据进行应用处理,驱动芯片可以根据抖动补偿数据对马达上电,从而驱动镜头移动。这样可以根据获取的角速度数据侦测镜头的抖动情况,然后驱动镜头在不同驱动方向上移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。另外,上述摄像头防抖系统中陀螺仪可以采集不同属性的角速度数据,主控芯片根据不同属性的角速度数据可以实现不同的处理,这样就不需要针对不同处理分别安装对应的陀螺仪,节省了系统的成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中摄像头防抖系统的结构示意图;
图2为另一个实施例中摄像头防抖系统的结构示意图;
图3为又一个实施例中摄像头防抖系统的结构示意图;
图4为一个实施例中马达和驱动芯片的结构示意图;
图5为又一个实施例中摄像头防抖系统的结构示意图;
图6为一个实施例中摄像头防抖方法的流程图;
图7为另一个实施例中摄像头防抖方法的流程图;
图8为又一个实施例中摄像头防抖方法的流程图;
图9为又一个实施例中摄像头防抖方法的流程图;
图10为一个实施例中图像处理电路的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一角速度数据称为第二角速度数据,且类似地,可将第二角速度数据称为第一角速度数据。第一角速度数据和第二角速度数据两者都是角速度数据,但其不是同一角速度数据。
图1为一个实施例中摄像头防抖系统的结构示意图。如图1所示,该摄像头防抖系统包括陀螺仪102、主控芯片104、驱动芯片106、马达108。其中,陀螺仪102与主控芯片104连接,主控芯片104与驱动芯片106连接,驱动芯片106与马达108连接。其中:
陀螺仪102,用于获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
主控芯片104,与陀螺仪连接,用于接收陀螺仪输出的第一角速度数据,根据第一角速度数据计算得到抖动补偿数据,或接收陀螺仪输出的第二角速度数据,根据第二角速度数据进行应用处理;
驱动芯片106,与主控芯片连接,用于接收主控芯片发送的抖动补偿数据,并根据抖动补偿数据输出电信号;
马达108,用于接收驱动芯片输出的电信号,并根据电信号驱动镜头移动。
在本申请实施例中,镜头可以采集拍摄场景中的光线,通过图像传感器将镜头采集的光线转换为图像。陀螺仪可以侦测镜头的抖动,当镜头产生抖动的时候,就可以将采集的数据发送给主控芯片计算镜头产生的位移量,然后根据计算得到的位移量控制马达带动镜头进行移动,从而对抖动产生的误差进行补偿,以避免因镜头的抖动导致图像模糊。
陀螺仪是一种高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的角运动检测装置,可以包括压电陀螺仪、机械陀螺仪、光纤陀螺仪、激光陀螺仪等,不限于此。陀螺仪可以检测镜头在一个或多个方向上的角速度,从而根据检测得到角速度判断镜头的抖动情况。
本实施例中提供的陀螺仪包括一个输出端,可以通过输出端输出一路数据。上述陀螺仪可以获取不同属性的第一角速度数据和第二角速度数据,并通过输出端输出。上述陀螺仪采集数据的模式可以调节,在第一模式下陀螺仪采集第一属性的第一角速度数据,在第二模式下陀螺仪采集第二属性的第二角速度数据,第一角速度数据和第二角速度数据都通过陀螺仪的输出端发送给主控芯片,但是一次只能输出一种角速度数据。
其中,角速度数据的属性可以但不限于是角速度数据的输出频率、测量范围、带宽等,输出频率是指陀螺仪输出角速度数据的频率,测量范围是指陀螺仪测量的角速度数据的变化范围,带宽是指单位时间内输出的角速度数据的数据量。例如,第一角速度数据可以是以30HZ(赫兹)频率输出的,第二角速度数据可以是以200HZ(赫兹)频率输出的。
具体的,陀螺仪的输出端分别通过SPI(Serial Peripheral Interface,串行外设接口)与主控芯片连接,也可以是通过其他方式与主控芯片连接,不限于此。主控芯片可以是SOC(System on Chip,系统级芯片)、CPU(Central Processing Unit,中央处理器)等,在此不做限定。主控芯片可以用于根据第一角速度数据进行防抖处理,还可以根据第二角速度数据进行应用处理。
应用处理是指对系统中安装的应用程序发起的指令进行处理,也就是说主控芯片是系统级芯片,既可以实现镜头的防抖功能,又可以实现对应用程序的处理。例如,电子设备中安装该摄像头防抖系统,还可以安装其他器件或应用程序,摄像头防抖系统中的主控芯片处理除了能实现对镜头的防抖功能之外,还能对其他器件或应用程序发起的应用指令进行处理。该系统级主控芯片拥有强大的处理功能,既能提高防抖精度,又能避免单独针对摄像头防抖系统安装处理芯片所造成的浪费,从而节省了系统成本。
具体的,抖动补偿数据是指根据对镜头产生抖动进行补偿的数据,主控芯片中可以预先设置计算抖动补偿数据的算法,在获取到第一角速度数据之后,就可以根据第一角速度数据计算抖动补偿数据。
例如,抖动补偿数据具体可以是对镜头补偿的偏移量,当镜头发生抖动的时候,镜头会向某个方向上偏移一定的距离,抖动补偿数据则可以表示为镜头往抖动的反方向补偿的距离。
驱动芯片(Driver Integrated Circuit)可以包括单通道驱动芯片和多通道驱动芯片,不限于此。单通道驱动芯片是指只有一路电信号到马达的驱动芯片,多通道驱动芯片是指可以同时输出多路电信号到马达的驱动芯片。可以理解的是,单通道驱动芯片并不限于只有一个输出端,也可以有多个输出端,而输出电信号到马达的输出端只有一个。电信号可以是电流信号、电压信号,还可以是其他类型的电信号,在此不做限定。
驱动芯片连接马达,在接收到主控芯片发送的抖动补偿数据之后,就可以根据抖动补偿数据输出电信号。马达可以根据电信号上电,上电之后的马达可以驱动镜头移动。电信号中可以携带的方向标识和信号强度,根据方向标识可以识别推动镜头在哪个方向上移动,根据信号强度可以推动镜头移动不同的距离。
在一个实施例中,上述驱动芯片可以包括至少两个单通道驱动芯片,该至少两个单通道驱动芯片分别对应不同的驱动方向。上述主控芯片还用于根据第一角速度数据计算对应于各个驱动方向的抖动补偿数据,并将各个驱动方向的抖动补偿数据分别发送给对应的单通道驱动芯片;上述单通道驱动芯片用于接收主控芯片发送的抖动补偿数据,并根据抖动补偿数据输出驱动方向对应的电信号;上述马达还用于接收单通道驱动芯片输出的电信号,并根据电信号驱动镜头在对应的驱动方向上移动。
若上述摄像头防抖系统中包含至少两个单通道驱动芯片,则可以通过各个单通道驱动芯片来传输不同驱动方向上的信号。具体的,驱动方向用于表示对镜头进行抖动补偿的方向,即为镜头克服抖动偏移的方向。可以预先设置镜头的驱动方向,主控芯片可以根据第一角速度数据分别计算对应于各个驱动方向的抖动补偿数据,然后将各个抖动补偿数据发送到对应的单通道驱动芯片。
上述每一个单通道驱动芯片接收到抖动补偿数据之后,都会根据抖动补偿数据输出一个电信号。单通道驱动芯片输出的电信号可以包含信号强度和方向标识,信号强度用于表示输出的电流大小,方向标识用于表示对应的镜头的驱动方向。将不同信号强度和方向标识的电信号分别输出给对应的马达,马达根据电信号驱动镜头在对应的驱动方向上移动,并驱动镜头移动信号强度对应的距离。
进一步地,上述摄像头防抖系统中还可以包括至少两个马达,即每一个单通道驱动芯片连接一个马达,上述至少两个马达都与镜头连接。这样每一个马达都对应一个驱动方向,从而推动镜头在对应的驱动方向上移动。
举例说明,假设电子设备中安装可以两个单通道驱动芯片,每一个单通道驱动芯片连接一个马达,两个马达可以分别驱动镜头在x、y方向上移动,那么马达就可以根据电信号的信号强度驱动镜头分别在x、y方向上移动不同的距离。
在本申请提供的实施例中,陀螺仪生成的第一角速度数据或第二角速度数据是根据采集的原始角速度数据生成的,即陀螺仪可以首先采集原始角速度数据,然后再根据原始角速度数据生成第一角速度数据或第二角速度数据。例如,以200HZ的频率采集原始角速度数据,然后可以根据采集的原始角速度数据分别以100HZ的频率输出第一角速度数据,以50HZ的频率输出第二角速度数据。因此上述陀螺仪还用于采集原始角速度数据,并根据原始角速度数据生成第一属性的第一角速度数据,或根据原始角速度数据生成第二属性的第二角速度数据。
在上述摄像头防抖系统中,主控芯片还可以用于主控芯片还用于获取第一角速度数据对应的第一属性数据,并根据第一属性数据配置陀螺仪的寄存器;或获取第二角速度数据对应的第二属性数据,并根据第二属性数据配置陀螺仪的寄存器。
属性数据用于表示角速度数据的属性,具体可以包括角速度数据的输出频率、测量范围、带宽等,不限于此。第一属性数据用于表示第一角速度数据的属性,第二属性数据用于表示第二角速度数据的属性,第一属性数据和第二属性数据不同。例如,第一属性数据可以是输出频率为25HZ、测量范围为-30度/秒到30度/秒;第一属性数据可以是输出频率为100HZ、测量范围为-150度/秒到150度/秒。
陀螺仪在采集角速度之前,可以先对陀螺仪的参数进行配置,主要是配置陀螺仪输出的角速度数据的属性。具体的,可以在陀螺仪对应的寄存器中写入配置参数,即对应写入输出的角速度数据的属性数据。在配置寄存器的时候,还可以将输出角速度数据的输出端地址写入寄存器,陀螺仪在输出角速度数据的时候,会先从寄存器中读取输出端地址,然后通过输出端地址对应的输出端输出角速度数据。
在本申请实施例中,上述主控芯片还用于当检测到图像采集指令时,获取发起图像采集指令的目标应用程序的目标应用标识;根据目标应用标识获取第一角速度数据对应的第一属性数据。
可以理解的是,图像采集指令是用于采集图像的指令,当检测到图像采集指令的时候,会给图像传感器上电,以采集图像。在检测到图像采集指令之后,可以通过陀螺仪采集第一角速度数据,并根据第一角速度数据实现对镜头的防抖处理。因此,当检测到图像采集指令时,可以根据发起图像采集指令的目标应用程序来调整对应的属性。例如,数据精度要求比较高的应用程序,可以控制陀螺仪输出高频率的角速度数据。
具体的,图像采集指令中可以包含目标应用程序的目标应用标识,该目标应用标识可以唯一标示目标应用程序。预先建立应用标识和第一属性数据的对应关系,根据该预先建立的对应关系可以即可获取目标应用标识对应的第一属性数据。
在一个实施例中,上述陀螺仪还用于读取寄存器中存储的第一属性数据,根据原始角速度数据生成第一属性数据对应的第一角速度数据;或读取寄存器中存储的第二属性数据,根据原始角速度数据生成第二属性数据对应的第二角速度数据。陀螺仪在采角速度数据之前,会在寄存器中读取角速度数据的属性数据,根据读取的属性数据生成对应的角速度数据,然后将生成的角速度数据输出。
上述摄像头防抖系统,包括陀螺仪、主控芯片、驱动芯片和马达,通过陀螺仪可以采集第一角速度数据或第二角速度数据,并通过主控芯片分别根据第一角速度数据计算抖动补偿数据以及第二角速度数据进行应用处理,驱动芯片可以根据抖动补偿数据对马达上电,从而驱动镜头移动。这样可以根据采集的角速度数据侦测镜头的抖动情况,然后驱动镜头在不同驱动方向上移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。另外,上述摄像头防抖系统中陀螺仪可以采集不同属性的角速度数据,主控芯片根据不同属性的角速度数据可以实现不同的处理,这样就不需要针对不同处理分别安装对应的陀螺仪,节省了系统的成本。
图2为另一个实施例中摄像头防抖系统的结构示意图。如图2所示,该摄像头防抖系统包括陀螺仪102、主控芯片104、单通道驱动芯片1060、单通道驱动芯片1062、马达108。其中,陀螺仪102与主控芯片104连接,主控芯片104分别与单通道驱动芯片1060和单通道驱动芯片1062连接,单通道驱动芯片1060和单通道驱动芯片1062均与马达108连接。其中:
陀螺仪102,用于获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
主控芯片104,用于根据第一角速度数据计算对应于各个驱动方向的抖动补偿数据,并将各个驱动方向的所述抖动补偿数据分别发送给对应的单通道驱动芯片1060和单通道驱动芯片1062;
单通道驱动芯片1060和单通道驱动芯片1062,用于接收主控芯片104发送的抖动补偿数据,并根据抖动补偿数据输出驱动方向对应的电信号;
马达108,接收单通道驱动芯片1060和单通道驱动芯片1062输出的电信号,并根据电信号驱动镜头110在对应的驱动方向上移动。
在本申请实施例中,陀螺仪可以为两轴、四轴等,不限于此。陀螺仪采集的角速度数据可以表示镜头的在单位时长内转动的角度,例如角速度数据可以是60度/秒、12度/秒、34度/秒等,在此不做限定。
在拍摄图像的过程,若镜头产生了抖动,就会造成图像的偏移。镜头的抖动可能是多个方向的,例如对镜头建立一个三维空间直角坐标系,则镜头的抖动方向则可以通过三个方向的向量进行表示。因此,在对镜头做抖动补偿的时候,也可以从多个方向上对镜头进行补偿。
驱动方向用于表示对镜头进行抖动补偿的方向,即为镜头克服抖动偏移的方向。可以预先设置镜头的驱动方向,主控芯片在接收到第一角速度数据之后,可以根据第一角速度数据计算镜头在任一方向上的偏移量,然后根据镜头的偏移量计算出对镜头的在各个驱动方向上的抖动补偿数据。
可以预先设置第一角速度数据和抖动补偿数据的对应关系,在读取到陀螺仪采集到的第一角速度数据之后,就可以根据第一角速度数据计算得到对应的抖动补偿数据。抖动补偿数据可以包括对应于不同驱动方向上镜头的补偿偏移量,根据抖动补偿数据可以驱动镜头在不同的驱动方向上移动,从而实现对抖动的补偿。
在一个实施例中,可以预先建立一个拟合函数,在拍摄图像之前可以控制镜头产生抖动,并通过陀螺仪采集镜头抖动过程中的参考角速度数据以及镜头的偏移量,根据镜头的偏移量可以得到对应的参考抖动补偿数据。然后根据采集的参考角速度数据和参考抖动补偿数据,计算拟合函数中的常量。最后将计算得到的常量带入拟合函数从而建立模型,即得到表示第一角速度数据和抖动补偿数据的对应关系的模型。
例如,拟合函数可以表示为其中,x表示陀螺仪采集的第一角速度数据,y(x,w)表示镜头的抖动补偿数据,wj为常量,j可以为任意自然数,在此不做限定。求出各个常量wj之后就可以建立第一角速度数据和抖动补偿数据的对应关系。
具体的,主控芯片可以包括至少两个输出端,每个输出端分别与一个单通道驱动芯片相连,然后分别通过各个输出端输出对应的抖动补偿数据。单通道驱动芯片输出的电信号可以包含信号强度和方向标识,信号强度用于表示输出的电流大小,方向标识用于表示镜头的驱动方向。马达可以根据电信号中包含的方向标识和信号强度上电,从而驱动镜头在不同的方向上移动相应的距离。
例如,主控芯片包括输出端A和输出端B,单通道驱动芯片包括单通道驱动芯片A和单通道驱动芯片B,主控芯片输出端A与单通道驱动芯片A连接,主控芯片输出端B与单通道驱动芯片B连接,单通道驱动芯片A和单通道驱动芯片B分别对应驱动方向X和驱动方向Y。则主控芯片在发送抖动补偿数据的时候,就可以将驱动方向X对应的抖动补偿数据从输出端A输出到驱动芯片A,将驱动方向Y对应的抖动补偿数据从输出端B输出到驱动芯片B。
在一个实施例中,主控芯片与各个单通道驱动芯片之间分别通过集成电路总线IIC(Inter-Integrated Circuit,集成电路总线)连接,每一个单通道驱动芯片对应一个IIC地址。主控芯片在发送数据给单通道驱动芯片的时候,可以先查找IIC地址查找到连接驱动芯片的IIC,然后通过IIC传给对应的驱动芯片。具体的,主控芯片可以获取各个单通道驱动芯片对应的IIC地址,并根据获取的IIC地址将各个驱动方向的抖动补偿数据分别发送给对应的单通道驱动芯片。
马达在接收单通道驱动芯片输出的电信号之后,可以根据电信号上电,并在上电之后产生相应的磁场,驱动镜头在对应的驱动方向上移动,从而控制镜头通过移动产生的偏移来对抖动进行补偿。
在一个实施例中,可以以镜头对应的图像传感器所在的平面建立二维直角坐标系,其二维坐标系的原点位置在本申请中不做进一步的限定。抖动补偿数据可以理解为镜头抖动后的位置与镜头抖动前的位置在二维坐标系中的矢量偏移,也即,镜头抖动后的位置相对于镜头抖动前的位置的矢量距离。
镜头在抖动过程中会产生移动,而图像传感器是保持不动的,因此在移动镜头之后采集的图像会产生一定程度上的偏移。镜头偏移量的单位为code,图像偏移量的单位为像素(pixel),可以根据镜头的偏移量获取到图像的偏移量。
上述摄像头防抖系统,可以根据采集的角速度数据侦测镜头的抖动情况,然后通过至少两个单通道驱动芯片计算对应于不同驱动方向的电信号,从而驱动镜头在不同驱动方向上移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。另外,上述摄像头防抖系统中陀螺仪可以采集不同属性的角速度数据,主控芯片根据不同属性的角速度数据可以实现不同的处理,这样就不需要针对不同处理分别安装对应的陀螺仪,节省了系统的成本。
图3为又一个实施例中摄像头防抖系统的结构示意图。如图3所示,该摄像头防抖系统包括主板10和摄像头模组12,主板10上设置陀螺仪102、主控芯片104和驱动芯片106,摄像头模组12中设置马达108和镜头110。其中,上述驱动芯片106中还设置霍尔传感器1064。上述霍尔传感器1064用于采集镜头110的位置数据;驱动芯片106可以根据抖动补偿数据和霍尔传感器1064采集的位置数据输出电信号。
具体的,霍尔传感器(Hall sensor)是根据霍尔效应制作的一种磁场传感器,霍尔效应从本质上讲是运动的带电粒子在磁场中受洛仑兹力作用引起的偏转。当带电粒子(电子或空穴)被约束在固体材料中,这种偏转就导致在垂直电流和磁场的方向上产生正负电荷的聚积,从而形成附加的横向电场。
霍尔传感器可以检测镜头的位置,并将检测到的镜头的位置反馈给驱动芯片,驱动芯片可以结合镜头的位置输出电信号。具体地,可以对镜头所在的平面建立坐标系,如以镜头未产生抖动时的初始位置为原点建立坐标系,从而根据霍尔传感器输出的霍尔值确定镜头在坐标系中的坐标,即可以确定镜头的位置数据。其中,镜头所在的平面一般是指镜头所在的,平行于镜头对应的图像传感器的平面。
在一个实施例中,上述马达108具体为音圈马达(Voice Coil Motor,VCM),上述驱动芯片106设置于音圈马达108内。这样可以节省摄像头防抖系统的空间,提高系统稳定性。
图4为一个实施例中马达和驱动芯片的结构示意图。如图4所示,马达108为音圈马达,马达108的线圈内可以设置驱动芯片106,如此减少驱动芯片占用的面积,提高系统稳定性。上述摄像头防抖系统还可以包括轨道112、磁铁114、镜头架116和滚珠118,其镜头架116用于固定镜头。由左手定律可知,马达108上电后线圈中的电流与磁铁114形成的磁场会生成安培力,通过生成的安培力推动滚珠118在轨道112中移动,通过滚珠118的移动带动镜头架116的移动,从而使镜头产生移动。
由此可见,马达在驱动镜头移动的时候,镜头停留的位置不同,所处的磁场也会有变化,对马达上电的电流也会有所影响。因此单通道驱动芯片可以根据抖动补偿数据和镜头的位置数据来输出电信号。
上述摄像头防抖系统,可以根据采集的角速度数据侦测镜头的抖动情况,根据角速度数据计算抖动补偿数据,然后根据抖动补偿数据和镜头的位置数据输出的电信号对马达上电,从而驱动镜头移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。
图5为又一个实施例中摄像头防抖系统的结构示意图。如图5所示,该摄像头防抖系统包括陀螺仪502、主控芯片504、第一驱动芯片506、第二驱动芯片508、第一马达520、第一镜头522、第二马达540和第二镜头542。其中,陀螺仪502与主控芯片504连接,主控芯片504还分别与第一驱动芯片506和第二驱动芯片508连接,第一驱动芯片506与第一马达520连接,第一马达520和第一镜头522连接,第二驱动芯片508和第二马达540连接,第二马达540和第二镜头542连接。其中,陀螺仪502、主控芯片504、第一驱动芯片506、第二驱动芯片508设置于主板50上,第一马达520和第一镜头522设置于第一摄像头模组52中,第二马达540和第二镜头542设置于第二摄像头模组54中。
陀螺仪502,用于获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据;
主控芯片504,用于接收陀螺仪502输出的第一角速度数据,根据第一角速度数据计算得到第一抖动补偿数据和第二抖动补偿数据,将第一抖动补偿数据发送给第一驱动芯片506,将第二抖动补偿数据发送给第二驱动芯片508,或接收第二输出端输出的第二角速度数据,根据第二角速度数据进行应用处理;
第一驱动芯片506,用于接收主控芯片504发送的第一抖动补偿数据,并根据第一抖动补偿数据输出第一电信号;
第二驱动芯片508,用于接收主控芯片504发送的第二抖动补偿数据,并根据第二抖动补偿数据输出第二电信号;
第一马达520,用于接收第一驱动芯片506输出的第一电信号,并根据第一电信号驱动第一镜头522移动;
第二马达540,用于接收第二驱动芯片508输出的第二电信号,并根据第二电信号驱动第二镜头542移动。
具体的,上述摄像头防抖系统中可以包括一个镜头,也可以包括两个或两个以上的镜头,这样在对镜头进行防抖的时候,可以对每一个镜头分别设置对应的马达和驱动芯片,从而实现防抖功能。
上述摄像头防抖系统,可以根据采集的角速度数据侦测镜头的抖动情况,然后根据角速度数据驱动至少两个镜头移动,以实现对至少两个镜头抖动的补偿,提高了采集图像的准确性。
在一个实施例中,第一摄像头模组52中还可以设置第一霍尔传感器,第一霍尔传感器与第一驱动芯片506连接,第一霍尔传感器用于获取第一镜头522的第一位置数据,并将第一位置数据发送给第一驱动芯片506。第一驱动芯片508还用于接收主控芯片504发送的第一抖动补偿数据,接收第一霍尔传感器发送的第一位置数据,并根据第一抖动补偿数据和第一位置数据输出第一电信号。
第二摄像头模组54中还可以设置第二霍尔传感器,第二霍尔传感器与第二驱动芯片508连接,第二霍尔传感器用于获取第二镜头542的第二位置数据,并将第二位置数据发送给第二驱动芯片508。第二驱动芯片508还用于接收主控芯片504发送的第二抖动补偿数据,接收第二霍尔传感器发送的第二位置数据,并根据第二抖动补偿数据和第二位置数据输出第二电信号。
在本申请提供的实施例中,第一驱动芯片506还可以包括至少两个第一单通道驱动芯片,至少两个第一单通道驱动芯片分别对应522第一镜头的不同第一驱动方向,第二驱动芯片508包括至少两个第二单通道驱动芯片,至少两个第二单通道驱动芯片分别对应第二镜头542的不同第二驱动方向;
主控芯片还用于根据第一角速度数据计算对应于各个第一驱动方向的第一抖动补偿数据,将各个第一驱动方向的第一抖动补偿数据分别发送给对应的第一单通道驱动芯片,以及根据第二角速度数据计算对应于各个第二驱动方向的第二抖动补偿数据,将各个第二驱动方向的第二抖动补偿数据分别发送给对应的第二单通道驱动芯片;
第一单通道驱动芯片用于接收主控芯片发送的第一抖动补偿数据,并根据第一抖动补偿数据输出各个第一驱动方向对应的第一电信号;
第二单通道驱动芯片用于接收主控芯片发送的第二抖动补偿数据,并根据第二抖动补偿数据输出各个第二驱动方向对应的第二电信号;
第一马达还用于接收第一单通道驱动芯片输出的第一电信号,并根据第一电信号驱动第一镜头在对应的第一驱动方向上移动;
第二马达还用于接收第二单通道驱动芯片输出的第二电信号,并根据第二电信号驱动第二镜头在对应的第二驱动方向上移动。
图6为一个实施例中摄像头防抖方法的流程图。如图6所示,该摄像头防抖方法包括步骤602至步骤608。其中:
步骤602,控制陀螺仪获取第一属性的第一角速度数据,或获取第二属性的第二角速度数据。
步骤604,通过主控芯片接收陀螺仪输出的第一角速度数据,根据第一角速度数据计算得到抖动补偿数据,或接收陀螺仪输出的第二角速度数据,根据第二角速度数据进行应用处理。
步骤606,通过驱动芯片接收主控芯片发送的抖动补偿数据,并根据抖动补偿数据输出电信号。
输出电信号的步骤具体可以包括:通过驱动芯片中设置的霍尔传感器采集镜头的位置数据,并根据抖动补偿数据和位置数据输出电信号。
步骤608,通过马达接收驱动芯片输出的电信号,并根据电信号驱动镜头移动。
驱动镜头移动之后,可以控制镜头对应的图像传感器上电,从而进行上电生成图像。在步骤606之后还可以包括:控制镜头对应的图像传感器上电,采集目标图像,并获取采集上述目标图像时镜头的目标位置数据,然后根据预设转换函数确定与目标位置数据相对应的图像偏移量,并根据图像偏移量对上述目标图像进行补偿。
其中,上述目标位置数据是指在采集目标图像时镜头的位置,由于该位置是在坐标系中表示的,因此根据目标位置数据就可以得到镜头相对于坐标原点的镜头偏移量。预设转换函数可以根据特定的标定方式获取,预设转换函数可以用于将镜头偏移的位置信息转换为图像偏移量,即将镜头偏移量转换为图像偏移量。例如,可以将镜头在XY平面沿x轴的镜头偏移量与沿y轴的镜头偏移量带入至预设偏移转换函数中对应的变量,通过计算获取对应的图像偏移量d1。
上述摄像头防抖方法,通过陀螺仪采集第一角速度数据或第二角速度数据,并通过主控芯片分别根据第一角速度数据计算抖动补偿数据以及第二角速度数据进行应用处理,驱动芯片可以根据抖动补偿数据对马达上电,从而驱动镜头移动。这样可以根据采集的角速度数据侦测镜头的抖动情况,然后驱动镜头在不同驱动方向上移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。另外,上述摄像头防抖系统中陀螺仪可以采集不同属性的角速度数据,主控芯片根据不同属性的角速度数据可以实现不同的处理,这样就不需要针对不同处理分别安装对应的陀螺仪,节省了系统的成本。
图7为另一个实施例中摄像头防抖方法的流程图。如图7所示,该摄像头防抖方法包括步骤702至步骤708。其中:
步骤702,控制陀螺仪采集原始角速度数据,并根据原始角速度数据生成第一属性的第一角速度数据,或根据原始角速度数据生成第二属性的第二角速度数据。
根据原始角速度数据生成第一角速度数据或第二角速度数据之前,还包括:获取第一角速度数据对应的第一属性数据,并根据第一属性数据配置陀螺仪的寄存器;或获取第二角速度数据对应的第二属性数据,并根据第二属性数据配置陀螺仪的寄存器。
在一个实施例中,获取第一属性数据的步骤具体可以包括:当检测到图像采集指令时,获取发起图像采集指令的目标应用程序的目标应用标识;根据目标应用标识获取第一角速度数据对应的第一属性数据。
在一个实施例中,生成角速度数据的步骤具体包括:读取寄存器中存储的第一属性数据,根据原始角速度数据生成第一属性数据对应的第一角速度数据;或读取寄存器中存储的第二属性数据,根据原始角速度数据生成第二属性数据对应的第二角速度数据。
步骤704,通过主控芯片接收陀螺仪输出的第一角速度数据,根据第一角速度数据计算对应于各个驱动方向的抖动补偿数据,并将各个驱动方向的抖动补偿数据分别发送给对应的单通道驱动芯片,或接收陀螺仪输出的第二角速度数据,根据第二角速度数据进行应用处理。
步骤706,通过单通道驱动芯片接收主控芯片发送的抖动补偿数据,并根据抖动补偿数据输出驱动方向对应的电信号。
步骤708,通过马达接收单通道驱动芯片输出的电信号,并根据电信号驱动镜头在对应的驱动方向上移动。
上述摄像头防抖方法,可以根据采集的角速度数据侦测镜头的抖动情况,然后通过至少两个单通道驱动芯片计算对应于不同驱动方向的电信号,从而驱动镜头在不同驱动方向上移动,以实现对镜头抖动的补偿,提高了采集图像的准确性。另外,上述摄像头防抖系统中陀螺仪可以采集不同属性的角速度数据,主控芯片根据不同属性的角速度数据可以实现不同的处理,这样就不需要针对不同处理分别安装对应的陀螺仪,节省了系统的成本。
在一个实施例中,上述驱动芯片可以包括第一驱动芯片和第二驱动芯片,马达包括第一马达和第二马达,镜头包括第一镜头和第二镜头。如图8所示,上述摄像头防抖方法还可以包括:
步骤802,根据第一角速度数据计算得到第一抖动补偿数据和第二抖动补偿数据。
步骤804,通过第一驱动芯片接收主控芯片发送的第一抖动补偿数据,根据第一抖动补偿数据输出第一电信号,通过第二驱动芯片接收主控芯片发送的第二抖动补偿数据,并根据第二抖动补偿数据输出第二电信号。
步骤806,通过第一马达用于接收第一驱动芯片输出的第一电信号,根据第一电信号驱动第一镜头移动,通过第二马达接收第二驱动芯片输出的第二电信号,并根据第二电信号驱动第二镜头移动。
根据采集的角速度数据侦测镜头的抖动情况,然后根据角速度数据驱动至少两个镜头移动,以实现对至少两个镜头抖动的补偿,提高了采集图像的准确性。
在一个实施例中,上述第一驱动芯片包括至少两个第一单通道驱动芯片,至少两个第一单通道驱动芯片分别对应第一镜头的不同第一驱动方向,第二驱动芯片包括至少两个第二单通道驱动芯片,至少两个第二单通道驱动芯片分别对应第二镜头的不同第一驱动方向。如图9所示,上述摄像头防抖方法具体还可以包括:
步骤902,根据第一角速度数据计算对应于各个第一驱动方向的第一抖动补偿数据,将各个第一驱动方向的第一抖动补偿数据分别发送给对应的第一单通道驱动芯片,以及根据第一角速度数据计算对应于各个第二驱动方向的第二抖动补偿数据,将各个第二驱动方向的第二抖动补偿数据分别发送给对应的第二单通道驱动芯片。
步骤904,通过第一单通道驱动芯片接收主控芯片发送的第一抖动补偿数据,根据第一抖动补偿数据输出各个第一驱动方向对应的第一电信号,通过第二单通道驱动芯片接收主控芯片发送的第二抖动补偿数据,并根据第二抖动补偿数据输出各个第二驱动方向对应的第二电信号。
步骤906,通过第一马达接收第一单通道驱动芯片输出的第一电信号,根据第一电信号驱动第一镜头在对应的第一驱动方向上移动,通过第二马达接收第二单通道驱动芯片输出的第二电信号,并根据第二电信号驱动第二镜头在对应的第二驱动方向上移动。
可以理解的是,虽然图6-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例还提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图10为一个实施例中图像处理电路的示意图。如图10所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
如图10所示,图像处理电路包括ISP处理器1040和控制逻辑器1050。成像设备1010捕捉的图像数据首先由ISP处理器1040处理,ISP处理器1040对图像数据进行分析以捕捉可用于确定和/或成像设备1010的一个或多个控制参数的图像统计信息。成像设备1010可包括具有一个或多个镜头1012和图像传感器1014的照相机。图像传感器1014可包括色彩滤镜阵列(如Bayer滤镜),图像传感器1014可获取用图像传感器1014的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器1040处理的一组原始图像数据。传感器1020(如陀螺仪)可基于传感器1020接口类型把采集的图像处理的参数(如防抖参数)提供给ISP处理器1040。传感器1020接口可以利用SMIA(Standard Mobile Imaging Architecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
此外,图像传感器1014也可将原始图像数据发送给传感器1020,传感器1020可基于传感器1020接口类型把原始图像数据提供给ISP处理器1040,或者传感器1020将原始图像数据存储到图像存储器1030中。
ISP处理器1040按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器1040可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
ISP处理器1040还可从图像存储器1030接收图像数据。例如,传感器1020接口将原始图像数据发送给图像存储器1030,图像存储器1030中的原始图像数据再提供给ISP处理器1040以供处理。图像存储器1030可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(Direct Memory Access,直接直接存储器存取)特征。
当接收到来自图像传感器1014接口或来自传感器1020接口或来自图像存储器1030的原始图像数据时,ISP处理器1040可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器1030,以便在被显示之前进行另外的处理。ISP处理器1040从图像存储器1030接收处理数据,并对所述处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。ISP处理器1040处理后的图像数据可输出给显示器1070,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器1040的输出还可发送给图像存储器1030,且显示器1070可从图像存储器1030读取图像数据。在一个实施例中,图像存储器1030可被配置为实现一个或多个帧缓冲器。此外,ISP处理器1040的输出可发送给编码器/解码器1060,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器1070设备上之前解压缩。编码器/解码器1060可由CPU或GPU或协处理器实现。
ISP处理器1040确定的统计数据可发送给控制逻辑器1050单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、镜头1012阴影校正等图像传感器1014统计信息。控制逻辑器1050可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备1010的控制参数及ISP处理器1040的控制参数。例如,成像设备1010的控制参数可包括传感器1020控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、镜头1012控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。ISP控制参数可包括用于自动白平衡和颜色调整(例如,在RGB处理期间)的增益水平和色彩校正矩阵,以及镜头1012阴影校正参数。
在一个实施例中,可以运用图10中图像处理技术实现上述实施例提供的摄像头防抖方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的摄像头防抖方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的摄像头防抖方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种摄像头防抖系统,其特征在于,包括:
陀螺仪,用于采集原始角速度数据,并根据所述原始角速度数据生成第一属性的第一角速度数据和第二属性的第二角速度数据;
主控芯片,与所述陀螺仪连接,用于接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据采用镜头对应的目标拟合模型计算得到抖动补偿数据,所述抖动补偿数据包括对应于不同驱动方向上镜头的补偿偏移量;所述主控芯片还用于接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
驱动芯片,与所述主控芯片连接,用于接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
马达,用于接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动;
所述驱动芯片包括至少两个单通道驱动芯片,所述至少两个单通道驱动芯片分别对应不同的驱动方向;
所述主控芯片还用于根据所述第一角速度数据计算对应于各个驱动方向的抖动补偿数据,并将各个驱动方向的所述抖动补偿数据分别发送给对应的单通道驱动芯片;
所述单通道驱动芯片用于接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出所述驱动方向对应的电信号;
所述马达还用于接收所述单通道驱动芯片输出的所述电信号,并根据所述电信号驱动所述镜头在对应的驱动方向上移动。
2.根据权利要求1所述摄像头防抖系统,其特征在于,所述主控芯片还用于获取所述第一角速度数据对应的第一属性数据,并根据第一属性数据配置所述陀螺仪的寄存器;或获取所述第二角速度数据对应的第二属性数据,并根据所述第二属性数据配置所述陀螺仪的寄存器。
3.根据权利要求2所述摄像头防抖系统,其特征在于,所述主控芯片还用于当检测到图像采集指令时,获取发起所述图像采集指令的目标应用程序的目标应用标识;根据所述目标应用标识获取所述第一角速度数据对应的第一属性数据。
4.根据权利要求2所述摄像头防抖系统,其特征在于,所述陀螺仪还用于读取所述寄存器中存储的第一属性数据,根据所述原始角速度数据生成第一属性数据对应的第一角速度数据;或读取所述寄存器中存储的第二属性数据,根据所述原始角速度数据生成第二属性数据对应的第二角速度数据。
5.根据权利要求1所述摄像头防抖系统,其特征在于,所述驱动芯片中设置霍尔传感器,所述霍尔传感器用于采集所述镜头的位置数据;
所述驱动芯片还用于根据所述抖动补偿数据和位置数据输出电信号。
6.根据权利要求1所述摄像头防抖系统,其特征在于,所述马达为音圈马达,所述驱动芯片设置于所述音圈马达内。
7.根据权利要求1所述摄像头防抖系统,其特征在于,所述驱动芯片包括第一驱动芯片和第二驱动芯片,所述第一驱动芯片包括至少两个第一单通道驱动芯片,所述第二驱动芯片包括至少两个第二单通道驱动芯片,所述马达包括第一马达和第二马达,所述镜头包括第一镜头和第二镜头;
所述主控芯片还用于根据所述第一角速度数据计算得到第一抖动补偿数据和第二抖动补偿数据;
所述第一驱动芯片用于接收所述主控芯片发送的第一抖动补偿数据,并根据所述第一抖动补偿数据输出第一电信号;
所述第一马达用于接收所述第一驱动芯片输出的所述第一电信号,并根据所述第一电信号驱动所述第一镜头移动;
所述第二驱动芯片用于接收所述主控芯片发送的第二抖动补偿数据,并根据所述第二抖动补偿数据输出第二电信号;
所述第二马达用于接收所述第二驱动芯片输出的所述第二电信号,并根据所述第二电信号驱动所述第二镜头移动。
8.根据权利要求7所述摄像头防抖系统,其特征在于,所述至少两个第一单通道驱动芯片分别对应所述第一镜头的不同第一驱动方向,所述至少两个第二单通道驱动芯片分别对应所述第二镜头的不同第二驱动方向;
所述主控芯片还用于根据所述第一角速度数据计算对应于各个第一驱动方向的第一抖动补偿数据,将各个第一驱动方向的所述第一抖动补偿数据分别发送给对应的第一单通道驱动芯片,以及根据所述第一角速度数据计算对应于各个第二驱动方向的第二抖动补偿数据,将各个第二驱动方向的所述第二抖动补偿数据分别发送给对应的第二单通道驱动芯片;
所述第一单通道驱动芯片用于接收所述主控芯片发送的第一抖动补偿数据,并根据所述第一抖动补偿数据输出各个所述第一驱动方向对应的第一电信号;
所述第二单通道驱动芯片用于接收所述主控芯片发送的第二抖动补偿数据,并根据所述第二抖动补偿数据输出各个所述第二驱动方向对应的第二电信号;
所述第一马达还用于接收所述第一单通道驱动芯片输出的所述第一电信号,并根据所述第一电信号驱动所述第一镜头在对应的所述第一驱动方向上移动;
所述第二马达还用于接收所述第二单通道驱动芯片输出的所述第二电信号,并根据所述第二电信号驱动所述第二镜头在对应的所述第二驱动方向上移动。
9.根据权利要求1至8中任一项所述摄像头防抖系统,其特征在于,所述摄像头防抖系统包括主板和摄像头模组,所述陀螺仪、主控芯片和驱动芯片设置在所述主板上,所述马达设置在所述摄像头模组中。
10.一种摄像头防抖方法,其特征在于,包括:
控制陀螺仪采集原始角速度数据,并根据所述原始角速度数据生成第一属性的第一角速度数据和第二属性的第二角速度数据;
通过主控芯片接收所述陀螺仪输出的第一角速度数据,根据所述第一角速度数据采用镜头对应的目标拟合模型计算得到抖动补偿数据,所述抖动补偿数据包括对应于不同驱动方向上镜头的补偿偏移量;所述主控芯片还用于接收所述陀螺仪输出的第二角速度数据,根据所述第二角速度数据进行应用处理;
通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号;
通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动;
所述驱动芯片包括至少两个单通道驱动芯片,所述至少两个单通道驱动芯片分别对应不同的驱动方向;
所述根据所述第一角速度数据计算得到抖动补偿数据,包括:
根据所述第一角速度数据计算对应于各个驱动方向的抖动补偿数据,并将各个驱动方向的所述抖动补偿数据分别发送给对应的单通道驱动芯片;
所述通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号,包括:
通过所述单通道驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出所述驱动方向对应的电信号;
所述通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动,包括:
通过马达接收所述单通道驱动芯片输出的所述电信号,并根据所述电信号驱动所述镜头在对应的驱动方向上移动。
11.根据权利要求10所述摄像头防抖方法,其特征在于,所述控制陀螺仪采集原始角速度数据,并根据所述原始角速度数据生成第一属性的第一角速度数据和第二属性的第二角速度数据之前,还包括:
获取所述第一角速度数据对应的第一属性数据,并根据第一属性数据配置所述陀螺仪的寄存器;或
获取所述第二角速度数据对应的第二属性数据,并根据所述第二属性数据配置所述陀螺仪的寄存器。
12.根据权利要求11所述摄像头防抖方法,其特征在于,所述获取所述第一角速度数据对应的第一属性数据,包括:
当检测到图像采集指令时,获取发起所述图像采集指令的目标应用程序的目标应用标识;
根据所述目标应用标识获取所述第一角速度数据对应的第一属性数据。
13.根据权利要求11所述摄像头防抖方法,其特征在于,所述根据所述原始角速度数据生成第一属性的第一角速度数据,或根据所述原始角速度数据生成第二属性的第二角速度数据,包括:
读取所述寄存器中存储的第一属性数据,根据所述原始角速度数据生成第一属性数据对应的第一角速度数据;或
读取所述寄存器中存储的第二属性数据,根据所述原始角速度数据生成第二属性数据对应的第二角速度数据。
14.根据权利要求10所述摄像头防抖方法,其特征在于,所述根据所述抖动补偿数据输出电信号,包括:
通过所述驱动芯片中设置的霍尔传感器采集所述镜头的位置数据,并根据所述抖动补偿数据和位置数据输出电信号。
15.根据权利要求10所述摄像头防抖方法,其特征在于,所述驱动芯片包括第一驱动芯片和第二驱动芯片,所述第一驱动芯片包括至少两个第一单通道驱动芯片,所述第二驱动芯片包括至少两个第二单通道驱动芯片,所述马达包括第一马达和第二马达,所述镜头包括第一镜头和第二镜头;
所述根据所述第一角速度数据计算得到抖动补偿数据,包括:
根据所述第一角速度数据计算得到第一抖动补偿数据和第二抖动补偿数据;
所述通过驱动芯片接收所述主控芯片发送的抖动补偿数据,并根据所述抖动补偿数据输出电信号,包括:
通过所述第一驱动芯片接收所述主控芯片发送的第一抖动补偿数据,根据所述第一抖动补偿数据输出第一电信号,通过所述第二驱动芯片接收所述主控芯片发送的第二抖动补偿数据,并根据所述第二抖动补偿数据输出第二电信号;
所述通过马达接收所述驱动芯片输出的所述电信号,并根据所述电信号驱动镜头移动,包括:
通过所述第一马达用于接收所述第一驱动芯片输出的所述第一电信号,根据所述第一电信号驱动所述第一镜头移动,通过所述第二马达接收所述第二驱动芯片输出的所述第二电信号,并根据所述第二电信号驱动所述第二镜头移动。
16.根据权利要求15所述摄像头防抖方法,其特征在于,所述至少两个第一单通道驱动芯片分别对应所述第一镜头的不同第一驱动方向,所述至少两个第二单通道驱动芯片分别对应所述第二镜头的不同第一驱动方向;
所述根据所述第一角速度数据计算得到第一抖动补偿数据和第二抖动补偿数据,包括:
根据所述第一角速度数据计算对应于各个第一驱动方向的第一抖动补偿数据,将各个第一驱动方向的所述第一抖动补偿数据分别发送给对应的第一单通道驱动芯片,以及根据所述第一角速度数据计算对应于各个第二驱动方向的第二抖动补偿数据,将各个第二驱动方向的所述第二抖动补偿数据分别发送给对应的第二单通道驱动芯片;
所述通过所述第一驱动芯片接收所述主控芯片发送的第一抖动补偿数据,根据所述第一抖动补偿数据输出第一电信号,通过所述第二驱动芯片接收所述主控芯片发送的第二抖动补偿数据,并根据所述第二抖动补偿数据输出第二电信号,包括:
通过所述第一单通道驱动芯片接收所述主控芯片发送的第一抖动补偿数据,根据所述第一抖动补偿数据输出各个所述第一驱动方向对应的第一电信号,通过所述第二单通道驱动芯片接收所述主控芯片发送的第二抖动补偿数据,并根据所述第二抖动补偿数据输出各个所述第二驱动方向对应的第二电信号;
所述通过所述第一马达用于接收所述第一驱动芯片输出的所述第一电信号,根据所述第一电信号驱动所述第一镜头移动,通过所述第二马达接收所述第二驱动芯片输出的所述第二电信号,并根据所述第二电信号驱动所述第二镜头移动,包括:
通过所述第一马达接收所述第一单通道驱动芯片输出的所述第一电信号,根据所述第一电信号驱动所述第一镜头在对应的所述第一驱动方向上移动,通过所述第二马达接收所述第二单通道驱动芯片输出的所述第二电信号,并根据所述第二电信号驱动所述第二镜头在对应的所述第二驱动方向上移动。
17.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求10至16中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求10至16中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232564.0A CN110049238B (zh) | 2019-03-26 | 2019-03-26 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
PCT/CN2020/079594 WO2020192479A1 (zh) | 2019-03-26 | 2020-03-17 | 摄像头防抖系统和方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910232564.0A CN110049238B (zh) | 2019-03-26 | 2019-03-26 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110049238A CN110049238A (zh) | 2019-07-23 |
CN110049238B true CN110049238B (zh) | 2021-09-07 |
Family
ID=67275273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910232564.0A Active CN110049238B (zh) | 2019-03-26 | 2019-03-26 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110049238B (zh) |
WO (1) | WO2020192479A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035228B (zh) * | 2019-03-26 | 2021-09-07 | Oppo广东移动通信有限公司 | 摄像头防抖系统、方法、电子设备和计算机可读存储介质 |
CN110049238B (zh) * | 2019-03-26 | 2021-09-07 | Oppo广东移动通信有限公司 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
CN111371997A (zh) * | 2020-03-16 | 2020-07-03 | Oppo广东移动通信有限公司 | 移动设备的控制方法及移动设备 |
CN114257718B (zh) * | 2020-09-25 | 2024-02-09 | 北京小米移动软件有限公司 | 电子设备 |
CN112616003B (zh) * | 2020-12-30 | 2022-05-06 | 维沃移动通信有限公司 | 摄像头模组及电子设备 |
CN115190222A (zh) * | 2021-04-06 | 2022-10-14 | 广州视源电子科技股份有限公司 | 电子设备及可移动摄像头的控制方法 |
CN116761074B (zh) * | 2022-10-28 | 2024-04-19 | 荣耀终端有限公司 | 光学防抖模组、光学防抖方法及电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009008164A1 (ja) * | 2007-07-09 | 2009-01-15 | Panasonic Corporation | デジタル一眼レフカメラ |
KR102196231B1 (ko) * | 2013-12-11 | 2020-12-30 | 아사히 가세이 일렉트로닉스 가부시끼가이샤 | 손떨림 보정 장치 및 그 조정 방법, 손떨림 보정 회로 및 손떨림 보정 방법과, 카메라 모듈 및 그 광학 요소의 위치 제어 방법 |
KR101642569B1 (ko) * | 2014-04-18 | 2016-07-26 | 삼성전기주식회사 | 디지털 촬영시스템 및 그 제어방법 |
CN104079836A (zh) * | 2014-07-04 | 2014-10-01 | 广东欧珀移动通信有限公司 | 一种基于移动终端的拍照方法和拍照装置 |
CN104994304B (zh) * | 2015-07-31 | 2018-04-27 | 小米科技有限责任公司 | 光学防抖的方法、装置及终端设备 |
CN106131395A (zh) * | 2016-06-17 | 2016-11-16 | 上海与德通讯技术有限公司 | 防抖系统及防抖方法 |
CN110049236A (zh) * | 2019-03-26 | 2019-07-23 | Oppo广东移动通信有限公司 | 摄像头防抖电路、移动终端、组装方法 |
CN109951640A (zh) * | 2019-03-26 | 2019-06-28 | Oppo广东移动通信有限公司 | 摄像头防抖方法和系统、电子设备、计算机可读存储介质 |
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广东移动通信有限公司 | 摄像头防抖系统、方法、电子设备和计算机可读存储介质 |
CN110049238B (zh) * | 2019-03-26 | 2021-09-07 | Oppo广东移动通信有限公司 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
CN109922264B (zh) * | 2019-03-26 | 2022-02-18 | Oppo广东移动通信有限公司 | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 |
-
2019
- 2019-03-26 CN CN201910232564.0A patent/CN110049238B/zh active Active
-
2020
- 2020-03-17 WO PCT/CN2020/079594 patent/WO2020192479A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020192479A1 (zh) | 2020-10-01 |
CN110049238A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110049238B (zh) | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 | |
CN109922264B (zh) | 摄像头防抖系统和方法、电子设备、计算机可读存储介质 | |
CN110012224B (zh) | 摄像头防抖系统、方法、电子设备和计算机可读存储介质 | |
CN109842753B (zh) | 摄像头防抖系统、方法、电子设备和存储介质 | |
CN108737734B (zh) | 图像补偿方法和装置、计算机可读存储介质和电子设备 | |
CN108769528B (zh) | 图像补偿方法和装置、计算机可读存储介质和电子设备 | |
CN110035228B (zh) | 摄像头防抖系统、方法、电子设备和计算机可读存储介质 | |
CN109194876B (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN110536057B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN109951638B (zh) | 摄像头防抖系统、方法、电子设备和计算机可读存储介质 | |
EP2698766B1 (en) | Motion estimation device, depth estimation device, and motion estimation method | |
CN109194877B (zh) | 图像补偿方法和装置、计算机可读存储介质和电子设备 | |
US8159541B2 (en) | Image stabilization method and apparatus | |
CN108347563B (zh) | 视频处理方法和装置、电子设备、计算机可读存储介质 | |
CN110300263B (zh) | 陀螺仪处理方法和装置、电子设备、计算机可读存储介质 | |
CN109963080B (zh) | 图像采集方法、装置、电子设备和计算机存储介质 | |
CN109951640A (zh) | 摄像头防抖方法和系统、电子设备、计算机可读存储介质 | |
KR102452564B1 (ko) | 광학식 이미지 안정화 움직임을 추정하기 위한 장치 및 방법 | |
CN110177213B (zh) | 陀螺仪参数调整方法和装置、终端、计算机可读存储介质 | |
CN110336993B (zh) | 深度摄像头控制方法、装置、电子设备和存储介质 | |
CN108260360B (zh) | 场景深度计算方法、装置及终端 | |
JP2006054518A (ja) | 撮像装置 | |
CN110113542B (zh) | 防抖方法和装置、电子设备、计算机可读存储介质 | |
US11159725B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP5393877B2 (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 |