CN110769146A - 拍摄方法及电子设备 - Google Patents

拍摄方法及电子设备 Download PDF

Info

Publication number
CN110769146A
CN110769146A CN201810823880.0A CN201810823880A CN110769146A CN 110769146 A CN110769146 A CN 110769146A CN 201810823880 A CN201810823880 A CN 201810823880A CN 110769146 A CN110769146 A CN 110769146A
Authority
CN
China
Prior art keywords
data
shake
compensation
shake module
compensation data
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.)
Granted
Application number
CN201810823880.0A
Other languages
English (en)
Other versions
CN110769146B (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201810823880.0A priority Critical patent/CN110769146B/zh
Publication of CN110769146A publication Critical patent/CN110769146A/zh
Application granted granted Critical
Publication of CN110769146B publication Critical patent/CN110769146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/685Vibration or motion blur correction performed by mechanical compensation
    • H04N23/687Vibration or motion blur correction performed by mechanical compensation by shifting the lens or sensor position

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Adjustment Of Camera Lenses (AREA)

Abstract

本公开是关于一种拍摄方法及电子设备,属于电子技术领域。该方法包括:光学防抖模块和电子防抖模块获取摄像头的多组抖动数据;光学防抖模块根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过摄像头拍摄当前图像;当光学防抖模块接收到电子防抖模块发送的数据读取指令时,向电子防抖模块发送携带该多组补偿数据的数据读取响应;电子防抖模块根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。通过在光学防抖模块接收到数据读取指令时,向电子防抖模块发送携带该多组补偿数据的数据传输响应,无需将多组补偿数据分开发送,提高了传输速率,避免了传输拥塞。

Description

拍摄方法及电子设备
技术领域
本公开涉及电子技术领域,尤其涉及一种拍摄方法及电子设备。
背景技术
随着终端技术的不断发展,诸如手机、平板电脑等电子设备已经具备了强大的处理能力,深深的融入人们的工作和生活中。目前,人们在日常生活中越来越多的使用电子设备拍摄图像。而在拍摄过程中人们经常由于手的抖动或摄像头的抖动导致拍摄的图像模糊,因此需要在拍摄时进行防抖处理,以提高图像质量。
相关技术中,以摄像头拍摄第一图像后拍摄第二图像的过程为例,光学防抖模块和电子防抖模块均通过陀螺仪获取摄像头的多组抖动数据,光学防抖模块根据该多组抖动数据进行多次光学抖动补偿,得到多组补偿数据,并通过摄像头拍摄第二图像。并且,电子防抖模块还会向光学防抖模块发送数据读取指令,光学防抖模块每次接收到数据读取指令时,会向电子防抖模块返回数据读取响应,该数据读取响应携带当前获取的一组补偿数据。电子防抖模块根据光学防抖模块发送的多组补偿数据、拍摄第二图像时获取到的多组抖动数据和拍摄第一图像时获取到的多组抖动数据进行电子补偿。
为了获取到准确的补偿数据,电子防抖模块通常会采用较高的频率发送数据读取指令,导致光学防抖模块需要向电子防抖模块发送多组补偿数据,很容易出现传输拥塞的问题。
发明内容
本公开提供一种拍摄方法及电子设备。可以解决相关技术中存在的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种拍摄方法,应用于电子设备中,所述电子设备包括摄像头、陀螺仪、光学防抖模块、电子防抖模块,所述光学防抖模块包括第一缓冲区,所述方法包括:
所述光学防抖模块通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的多组抖动数据;
所述光学防抖模块根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,并通过进行多次光学补偿后的所述摄像头拍摄当前图像;
所述电子防抖模块向所述光学防抖模块发送数据读取指令;
当所述光学防抖模块接收到所述电子防抖模块发送的数据读取指令时,向所述电子防抖模块发送数据读取响应,所述数据读取响应携带所述光学防抖模块从所述第一缓冲区读取的所述多组补偿数据;
所述电子防抖模块通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的所述多组抖动数据;
所述电子防抖模块接收到所述数据读取响应时,根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
一种可能的实现方式中,所述光学防抖模块根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,包括:
所述光学防抖模块每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至所述第一缓冲区;
其中,所述第二预设时长为所述第一预设时长的n倍,所述n为正整数。
一种可能的实现方式中,所述方法还包括:
当所述电子防抖模块向所述光学防抖模块发送所述数据读取指令时,记录当前的第一系统时间;
将所述第一系统时间与所述数据读取指令的传输时长的和值作为第二系统时间,所述第二系统时间用于表示所述多组补偿数据中最后一组补偿数据对应的系统时间;
根据所述第二系统时间、所述第二预设时长和本次拍摄图像过程的持续时长,确定所述多组补偿数据中每组补偿数据对应的系统时间;
获取所述多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
一种可能的实现方式中,所述方法还包括:
所述电子防抖模块根据所述多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于所述多组抖动数据中不存在对应补偿数据的抖动数据,根据所述抖动数据对应的系统时间查询所述补偿数据曲线,得到对应的补偿数据;
将所述抖动数据与查询到的补偿数据建立对应关系。
一种可能的实现方式中,所述光学防抖模块还包括第二缓冲区,所述方法还包括:
在所述光学防抖模块从所述第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将所述补偿数据存储至所述第二缓冲区;
当所述光学防抖模块从所述第一缓冲区中读取补偿数据完成时,将所述第二缓冲区存储的补偿数据存储至所述第一缓冲区。
一种可能的实现方式中,所述根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿,包括:
所述电子防抖模块分别对所述多组补偿数据、所述多组抖动数据和所述上一次获取的多组抖动数据进行滤波处理,得到所述当前图像的补偿信息、所述当前图像的抖动信息和上一帧图像的抖动信息;
根据所述当前图像的补偿信息、所述当前图像的抖动信息和所述上一帧图像的抖动信息确定所述上一帧图像与所述当前图像之间的相对运动向量,根据所述相对运动向量对所述当前图像进行电子补偿。
根据本公开实施例的第二方面,提供一种电子设备,所述电子设备包括摄像头、陀螺仪、光学防抖模块、电子防抖模块,所述光学防抖模块包括第一缓冲区;
所述光学防抖模块用于通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的多组抖动数据;
所述光学防抖模块用于根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,所述摄像头用于拍摄当前图像;
所述电子防抖模块用于向所述光学防抖模块发送数据读取指令;
所述光学防抖模块用于当接收到所述电子防抖模块发送的数据读取指令时,向所述电子防抖模块发送数据读取响应,所述数据读取响应携带所述光学防抖模块从所述第一缓冲区读取的所述多组补偿数据;
所述电子防抖模块用于通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的所述多组抖动数据;
所述电子防抖模块用于当接收到所述数据读取响应时,根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
一种可能的实现方式中,所述光学防抖模块用于:
每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至所述第一缓冲区;
其中,所述第二预设时长为所述第一预设时长的n倍,所述n为正整数。
一种可能的实现方式中,所述电子防抖模块还用于:
当向所述光学防抖模块发送所述数据读取指令时,记录当前的第一系统时间;
将所述第一系统时间与所述数据读取指令的传输时长的和值作为第二系统时间,所述第二系统时间用于表示所述多组补偿数据中最后一组补偿数据对应的系统时间;
根据所述第二系统时间、所述第二预设时长和本次拍摄图像过程的持续时长,确定所述多组补偿数据中每组补偿数据对应的系统时间;
获取所述多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
一种可能的实现方式中,所述电子防抖模块还用于:
根据所述多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于所述多组抖动数据中不存在对应补偿数据的抖动数据,根据所述抖动数据对应的系统时间查询所述补偿数据曲线,得到对应的补偿数据;
将所述抖动数据与查询到的补偿数据建立对应关系。
一种可能的实现方式中,所述光学防抖模块还包括第二缓冲区,所述光学防抖模块还用于:
在从所述第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将所述补偿数据存储至所述第二缓冲区;
当从所述第一缓冲区中读取补偿数据完成时,将所述第二缓冲区存储的补偿数据存储至所述第一缓冲区。
一种可能的实现方式中,所述电子防抖模块还用于:
分别对所述多组补偿数据、所述多组抖动数据和所述上一次获取的多组抖动数据进行滤波处理,得到所述当前图像的补偿信息、所述当前图像的抖动信息和上一帧图像的抖动信息;
根据所述当前图像的补偿信息、所述当前图像的抖动信息和所述上一帧图像的抖动信息确定所述上一帧图像与所述当前图像之间的相对运动向量,根据所述相对运动向量对所述当前图像进行电子补偿。
本公开的实施例提供的技术方案可以包括以下有益效果:综上所述,光学防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据,根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过进行多次光学补偿后的摄像头拍摄当前图像。当光学防抖模块接收到电子防抖模块发送的数据读取指令时,向电子防抖模块发送数据读取响应,之后电子防抖模块根据该数据读取响应中携带的该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。通过设置第一缓冲区存储该多组补偿数据,在光学防抖模块接收到数据读取指令时向电子防抖模块发送携带该多组补偿数据的数据传输响应,而无需将多组补偿数据分开发送,降低了信令开销,提高了传输速率,避免了由于过多数据传输而造成电子防抖模块和光学防抖模块的传输拥塞。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例示出的一种电子设备的结构示意图。
图2是本公开实施例示出的一种拍摄方法的流程图。
图3是本公开实施例示出的另一种拍摄方法的流程图。
图4是本公开实施例示出的另一种电子设备的结构示意图。
图5是本公开实施例示出的又一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了便于理解,在对本公开实施例进行详细地解释说明之前,先对本公开实施例涉及应用场景和电子设备的结构进行介绍。
目前,随着电子设备技术的不断发展,诸如手机、平板电脑、摄像机等电子设备在人们的工作和生活中扮演着越来越重要的角色。人们在日常生活中也越来越多的使用电子设备拍摄图像。在拍摄过程中经常会出现手抖或摄像头的抖动而导致拍摄的图像模糊的情况,因此,可以通过本公开实施例提供的拍摄方法来拍摄图像,可以在拍摄时进行防抖处理,提高拍摄质量。
例如,当用户通过手机拍摄小视频时,由于手长时间举着手机会发生抖动,很容易导致摄像头发生抖动,拍出的图像模糊。为了避免上述情况,可以通过本公开实施例提供的视频拍摄方法来进行拍摄,从而可以对摄像头的抖动进行补偿,拍出清晰的图像。
又如,当用户将相机放置在固定位置拍摄图像时,可能由于外界因素的碰撞导致相机发生抖动,此时,可以通过本公开实施例提供的视频拍摄方法来进行拍摄,以消除相机的抖动造成的影响,从而拍出高质量的图像。
当然,本公开实施例不仅可以应用于上述两种应用场景中,实际应用中,还可以应用于其他的应用场景中,在此本公开实施例对其他应用场景不再一一列举。
图1是本公开实施例提供的一种电子设备的结构示意图。如图1所示,电子设备100包括:摄像头101、陀螺仪102、光学防抖模块103、电子防抖模块104,光学防抖模块包括第一缓冲区1031。
其中,摄像头101用于拍摄视频,陀螺仪102用于检测摄像头的抖动数据,光学防抖模块103用于通过光学防抖处理对拍摄每一帧图像时的抖动进行补偿,电子防抖模块104用于通过电子防抖处理对拍摄到的任两帧图像之间的抖动进行补偿。且,光学防抖模块103与电子防抖模块104之间可以通过总线连接。
摄像头101在拍摄图像的过程中,光学防抖模块103通过陀螺仪102获取摄像头101的多组抖动数据,并根据该多组抖动数据进行光学补偿,得到多组补偿数据,将多组补偿数据存储至第一缓冲区1031中,并通过进行多次光学补偿后的摄像头101拍摄图像。光学防抖模块103在接收到电子防抖模块发送的数读取指令时,向电子防抖模块104发送数据读取响应,该数据读取响应携带从第一缓冲区1031中读取的多组补偿数据。
电子防抖模块104通过陀螺仪102获取当前拍摄的图像的多组抖动数据,并在接收到该数据读取响应时,根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
一种可能的实现方式中,摄像头101中还可以包括音圈马达(Voice CoilActuator,简称为VCM)、补偿镜片组、图像传感器。音圈马达用于调整补偿镜片组的位置,补偿镜片组用于采集光线,图像传感器用于根据补偿镜片组采集的光线采集图像。在通过摄像头101拍摄图像的过程中,光学防抖模块103通过陀螺仪102获取摄像头101的多组抖动数据,并根据该多组抖动数据驱动音圈马达调整补偿镜片组的位置,以进行多次光学补偿,得到多组补偿数据,将多组补偿数据存储至第一缓冲区1031中,并通过进行多次光学补偿后的摄像头101拍摄图像。
需要说明的是,实际应用中,电子设备还可以包括主板,将陀螺仪设置在主板中,当然也可以包括其他部分,图1仅以电子设备包括摄像头、陀螺仪、光学防抖模块、电子防抖模块和第一缓冲区为例进行说明,并不对本公开实施例构成限定。
由于相关技术中,通常为了获取到准确的补偿数据,电子防抖模块会采用较高的频率发送数据读取指令,电子防抖模块采用较高的频率返回数据读取响应,每个数据读取响应包括当前获取到的补偿数据,这样,会导致光学防抖模块需要向电子防抖模块发送多组补偿数据,很容易出现传输拥塞的问题。因此,本公开提出了一种拍摄方法,光学防抖模块先将得到的多组补偿数据存储于缓冲区中,后续一起携带在数据读取响应中发给电子防抖模块,能够解决相关技术中的问题。下面将对本公开提出的拍摄方法进行说明。
图2是本公开实施例示出的一种拍摄方法的流程图,如图2所示,应用于电子设备中,包括以下步骤:
在步骤201中,光学防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据。
在步骤202中,光学防抖模块根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过进行多次光学补偿后的摄像头拍摄当前图像。
在步骤203中,电子防抖模块向光学防抖模块发送数据读取指令。
在步骤204中,当光学防抖模块接收到电子防抖模块发送的数据读取指令时,向电子防抖模块发送数据读取响应,该数据读取响应携带光学防抖模块从第一缓冲区读取的该多组补偿数据。
在步骤205中,电子防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的该多组抖动数据。
在步骤206中,电子防抖模块接收到该数据读取响应时,根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
综上所述,光学防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据,根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过进行多次光学补偿后的摄像头拍摄当前图像。当光学防抖模块接收到电子防抖模块发送的数据读取指令时,向电子防抖模块发送数据读取响应,之后电子防抖模块根据该数据读取响应中携带的该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。通过设置第一缓冲区存储该多组补偿数据,在光学防抖模块接收到数据读取指令时向电子防抖模块发送携带该多组补偿数据的数据传输响应,而无需将多组补偿数据分开发送,降低了信令开销,提高了传输速率,避免了由于过多数据传输而造成电子防抖模块和光学防抖模块的传输拥塞。
一种可能的实现方式中,光学防抖模块根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,包括:
光学防抖模块每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至该第一缓冲区;
其中,该第二预设时长为该第一预设时长的n倍,该n为正整数。
一种可能的实现方式中,该方法还包括:
当电子防抖模块向光学防抖模块发送该数据读取指令时,记录当前的第一系统时间;
将该第一系统时间与该数据读取指令的传输时长的和值作为第二系统时间,该第二系统时间用于表示该多组补偿数据中最后一组补偿数据对应的系统时间;
根据该第二系统时间、该第二预设时长和本次拍摄图像过程的持续时长,确定该多组补偿数据中每组补偿数据对应的系统时间;
获取该多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
一种可能的实现方式中,该方法还包括:
电子防抖模块根据该多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于该多组抖动数据中不存在对应补偿数据的抖动数据,根据该抖动数据对应的系统时间查询该补偿数据曲线,得到对应的补偿数据;
将该抖动数据与查询到的补偿数据建立对应关系。
一种可能的实现方式中,光学防抖模块还包括第二缓冲区,该方法还包括:
在光学防抖模块从第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将该补偿数据存储至第二缓冲区;
当光学防抖模块从第一缓冲区中读取补偿数据完成时,将第二缓冲区存储的补偿数据存储至第一缓冲区。
一种可能的实现方式中,根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿,包括:
电子防抖模块分别对该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据进行滤波处理,得到当前图像的补偿信息、当前图像的抖动信息和上一帧图像的抖动信息;
根据当前图像的补偿信息、当前图像的抖动信息和上一帧图像的抖动信息确定上一帧图像与当前图像之间的相对运动向量,根据相对运动向量对该当前图像进行电子补偿。
上述所有可选技术方案,均可按照任意结合形成本公开的可选实施例,本公开实施例对此不再一一赘述。
图3是根据本公开实施例示出的一种拍摄方法的流程图,应用于电子设备中,下面本公开实施例将对图2所示的实施例进行展开说明。如图3所示,该方法包括以下步骤:
在步骤301中,光学防抖模块和电子防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据。
其中,陀螺仪是一种角运动检测装置,用于检测摄像头在当前拍摄图像过程中的抖动情况,输出摄像头的抖动数据,其中,陀螺仪检测出的抖动数据包括摄像头的抖动方向和角速度,角速度用于表示摄像头在单位时间内抖动的角度。
通常拍摄一帧图像的过程中,摄像头会发生多次抖动,则陀螺仪会检测到多组抖动数据。光学防抖模块可以根据需求来获取陀螺仪当前检测到的抖动数据,从而得到多组抖动数据,以得到足够数量的抖动数据来进行后续的多次光学补偿。相应地,电子防抖模块也可以根据自身需求按照一定频率获取陀螺仪当前检测到的抖动数据,从而得到多组抖动数据来进行后续的电子补偿。
在步骤302中,光学防抖模块根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中。
其中,光学防抖模块根据该多组抖动数据进行多次光学补偿时,可以根据该多组抖动数据中的每组抖动数据调整摄像头中的补偿镜片组的位置,进行一次光学补偿,从而多次调整补偿镜片组的位置,以进行多次光学补偿。
需要说明的是,补偿镜片组是位于摄像头中的可移动的镜片组,电子设备可以通过移动补偿镜片组来调整采集的光线,保持光路的稳定。
由于拍摄过程中,摄像头在抖动时所采集的光线会倾斜,导致拍摄的图像变得模糊,对于该多组抖动数据中的每组抖动数据,光学防抖模块可以根据该抖动数据确定补偿镜片组的目标位置,之后对补偿镜片组的位置进行调整,使得补偿镜片组位于目标位置。此时,位于目标位置的补偿镜片组能够对采集的光线进行校正,从而对发生抖动的光路进行一次光学补偿,防止拍摄过程中拍摄的图像模糊的情况。
其中,每次进行光学补偿时确定的目标位置可以根据本次检测到的抖动数据来进行计算。实际上,可以先根据从陀螺仪获取到的角速度以及陀螺仪的检测周期,得到陀螺仪检测周期内摄像头抖动的角度,再将该角度与补偿镜片组的焦距相乘得到角速度对应的位移量。之后可以根据摄像头的抖动方向和得到的位移量确定目标位置。
拍摄图像过程中,光学防抖模块每次得到的补偿数据会将其存储于第一缓冲区中,同时摄像头会按照拍摄频率拍摄当前图像,使得当前图像拍摄完成时,多次光学补偿结束,此时第一缓冲区中存储有拍摄过程产生的多组补偿数据。
其中,第一缓冲区用于存储多组补偿数据,该第一缓冲区的大小可以预先设置,如可以根据通常拍摄一帧图像的过程中获取的补偿数据的数据量设置,只要保证该第一缓冲区的大小可以满足补偿数据的数据量的存储需求即可。其中,该第一缓冲区可以为环形缓冲区,当然也可以为其他缓冲区,对此本公开实施例不予限定。
在一种可能实现方式中,光学防抖模块每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至第一缓冲区;该第二预设时长为该第一预设时长的n倍,n为正整数。
该第一预设时长和第二预设时长可以预先设置。该第一预设时长可以根据光学防抖模块的工作频率来确定,该第二预设时长可以根据光学防抖模块的工作频率和摄像头当前拍摄图像的帧率来确定。
需要说明的是,光学防抖模块每进行一次光学补偿都会产生补偿数据,但是光学防抖模块按照第二预设时长来存储得到的补偿数据,因此,第一缓冲区存储的补偿数据的数量等于或者少于实际进行光学补偿后产生的补偿数据的数量。
例如,该第一预设时长为0.01ms,该第二预设时长为0.1ms,那么在1ms内,光学防抖模块每隔0.01ms进行一次光学补偿,共进行了100次光学补偿,每隔0.1ms将当前得到的补偿数据存储至第一缓冲区,1ms后则第一缓冲区存储了10组补偿数据。
在步骤303中,通过进行多次光学补偿后的摄像头拍摄当前图像。
通过进行了多次光学补偿后的摄像头拍摄当前图像,可以实现对拍摄当前图像时的光学抖动补偿,使得拍摄的图像更加清晰。
在步骤304中,电子防抖模块向光学防抖模块发送数据读取指令。
光学防抖模块与电子防抖模块之间可以通过总线连接,那么,电子防抖模块通过总线向光学防抖模块发送数据读取指令。其中,该总线可以为IIC(Inter-IntegratedCircuit,集成电路总线),当然,实际应用中,也可以为其他总线,例如,SPI(SerialPeripheral Interface,串行外设接口)总线等,对此本公开实施例不予限定。
需要说明的是,电子防抖模块是周期性向光学防抖模块发送数据读取指令,该周期可以根据摄像头拍摄图像的拍摄频率来确定,使得电子防抖模块向光学防抖模块发送数据读取指令的频率与电子设备拍摄图像的频率一致,以保证光学防抖模块在接收到该数据读取指令时,当前图像拍摄完成,且第一缓冲区已经存储了拍摄拍摄当前图像过程中得到的该多组补偿数据。
在步骤305中,当光学防抖模块接收到电子防抖模块发送的数据读取指令时,从第一缓冲区读取该多组补偿数据,并将该多组补偿数据携带在数据读取响应中发送给电子防抖模块。
其中,当光学防抖模块接收到电子防抖模块发送的数据读取指令时,光学防抖模块从第一缓冲区中按照存储的先后顺序依次读取补偿数据,在读取完该多组补偿数据时,将该多组补偿数据携带在数据读取响应中,发送给电子防抖模块。
相关技术中,光学防抖模块每次接收到数据读取指令时,会向电子防抖模块返回携带当前获取的一组补偿数据的数据读取响应。对于一帧图像的多组补偿数据,电子防抖模块通常会采用较高的频率发送数据读取指令,以使光学防抖模块向电子防抖模块发送该帧图像的多组补偿数据。由于相关技术中一次只传输一组补偿数据,因此需要进行多次传输,电子防抖模块才能得到一帧图像的多组补偿数据,这样很容易出现传输拥塞的问题。
而本公开提供的拍摄方法,在光学防抖模块接收到电子防抖模块发送数据读取指令时,就会将该多组补偿数据携带在数据读取响应中发送给电子防抖模块,不需要将多组补偿数据分开发送,提高了传输速率,避免了由于过多数据传输而造成电子防抖模块和光学防抖模块的传输拥塞。
在一种可能实现方式中,可以通过总线实现光学防抖模块和电子防抖模块之间的数据传输,由于总行传输的特性,在光学防抖模块接收到该数据读取指令时,需要先向电子防抖模块反馈成功接收信号,以表示成功接收到该数据读取指令,之后可以开始传输补偿数据,电子防抖模块在传输结束后还需要向光学防抖模块发送停止信号。
相关技术中,光学防抖模块每次接收到电子防抖模块发送的数据读取指令时,都需要向电子防抖模块反馈成功接收信号,之后再通过总线传输补偿数据,电子防抖模块在每次传输结束后,都需要向光学防抖模块发送停止信号,即在针对一帧图像的多组补偿数据,需要进行多次传输,容易造成传输堵塞,再加上每次传输都需要进行信令传输,使得信令开销较大,传输效率较低。
而本公开提供的拍摄方法,在光学防抖模块接收到电子防抖模块发送的数据读取指令时,反馈一次成功接收信号,之后可以将多组补偿数据携带在数据读取响应中发送给电子防抖模块,电子防抖模块在传输结束后向光学防抖模块发送一次停止信号。传输一帧图像的多组补偿数据时,光学防抖模块只需要向电子防抖模块反馈一次成功接收信号,之后就可以将一帧图像的多组补偿数据携带在数据读取响应中传输给电子防抖模块,电子防抖模块在传输结束后,也只需向光学防抖模块发送一次停止信号即可完成一帧图像的多组补偿数据的传输,节省了信令开销,避免了每拍摄一帧图像多次通过总线进行数据传输而造成的传输拥塞。
并且,在光学防抖模块与电子防抖模块之间的传输带宽可同时传输至少两组补偿数据时,本公开提供的方法通过将该多组补偿数据携带在数据读取响应中传输给电子防抖模块,可以充分利用光学防抖模块与电子防抖模块之间的传输带宽,提高传输速率,节省传输时间。
另外,在本公开实施例中,当光学防抖模块接收到电子防抖模块在传输结束后发送的停止信号时,可以将第一缓冲区的该多组补偿数据删除,以节省第一缓冲区的内存资源。或者可以为该多组补偿数据设置有效期,当存储该多组补偿数据的时间超过有效期时,删除该多组补偿数据,从而能够充分利用第一缓冲区有限的内存空间。当然也可以先不删除该多组补偿数据,当第一缓冲区的内存不足或已经存满时,光学防抖模块可以删除最早存储的补偿数据,并将当前得到的补偿数据存储至最早存储的补偿数据所在的位置。对此,本公开实施例不予限定。
在一种可能实现方式中,光学防抖模块还可以包括第二缓冲区,在光学防抖模块从第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将补偿数据存储至第二缓冲区;当光学防抖模块从第一缓冲区中读取补偿数据完成时,将第二缓冲区存储的补偿数据存储至第一缓冲区。
由于第一缓冲区的特性,在读取数据进行传输的过程中禁止写入数据,因此,此时光学防抖模块在进行光学补偿得到新的补偿数据时无法进行存储操作,那么,就有可能丢失得到的新的补偿数据。因此,为了防止丢失补偿数据,本公开提供的拍摄方法在电子设备中设置了第二缓冲区,以临时存储补偿数据,避免数据丢失。并且在传输完成后,光学防抖模块将第二缓冲区存储的补偿数据存储至第一缓冲区,并删除第二缓冲区存储的补偿数据,保证第二缓冲区的空闲内存资源,以供下一次存储补偿数据。
在步骤306中,电子防抖模块接收到该数据读取响应时,根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
其中,当电子防抖模块接收到该数据读取响应时,从该数据读取响应中获取该多组补偿数据,然后根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据,计算当前图像与上一帧图像之间的相对运动向量,根据该相对运动向量调整当前图像,以对当前图像进行电子补偿。
由于电子防抖模块在拍摄过程中获取了多帧图像,每帧图像有多组补偿数据和多组抖动数据,数量较大,为了防止数据混乱,需要将同一图像的多组抖动数据和多组补偿数据对应起来。
一种可能的实现方式中,当电子防抖模块向该光学防抖模块发送该数据读取指令时,记录当前的第一系统时间;将该第一系统时间与该数据读取指令的传输时长的和值作为第二系统时间,该第二系统时间用于表示该多组补偿数据中最后一组补偿数据对应的系统时间;根据该第二系统时间、该第二预设时长和本次拍摄图像过程的持续时长,确定该多组补偿数据中每组补偿数据对应的系统时间;获取该多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
其中,该数据读取指令的传输时长可以通过如下两种可能实现的方式来确定。当然也可以通过其他方式确定,对此本公开实施例不予限定。
第一种可能的实现方式:当电子防抖模块向光学防抖模块发送数据读取指令时,记录电子防抖模块的第一时钟指示的第一时间信息;当光学防抖模块接收到数据读取指令时,记录光学防抖模块的第二时钟指示的第二时间信息,第一时钟与第二时钟同步计时;计算将第一时间信息和第二时间信息的时间间隔,将该时间间隔作为该数据读取指令的传输时长。
第二种可能的实现方式:电子防抖模块检测出光学防抖模块与电子防抖模块之间的数据传输带宽和该数据读取指令的数据量,用该数据读取指令的数据量除以该数据传输带宽得到商值,将该商值作为该数据读取指令的传输时长。
其中,由于光学防抖模块在本次拍摄图像过程的持续时长内,每隔第二预设时长存储当前得到的补偿数据,因此,可以计算本次拍摄图像过程的持续时长与该第二预设时长的商值,该商值为当前图像的补偿数据的目标数量。由于该多组补偿数据中相邻两组补偿数据对应的系统时间之间相差该第二预设时长,因此,可以用该第二系统时间减去第二预设时长,得到该多组补偿数据中最后一组补偿数据的前一组补偿数据对应的系统时间,之后依次进行计算,直到得到目标数量的补偿数据对应的系统时间,即为该多组补偿数据对应的系统时间。
需要说明的是,由于通常情况下,电子防抖模块获取到的该多组抖动数据的数量多于该多组补偿数据的数量,那么该多组抖动数据中必然存在部分抖动数据没有与之对应的补偿数据。为了充分利用该多组抖动数据来进行更加精准的电子补偿,可以将多组抖动数据中不存在对应补偿数据的抖动数据作为指定抖动数据,通过如下方式,来获取指定抖动数据对应的补偿数据。
一种可能的实现方式中,电子防抖模块可以根据多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线,对于该多组抖动数据中不存在对应补偿数据的抖动数据,根据该抖动数据对应的系统时间查询补偿数据曲线,得到对应的补偿数据;将该抖动数据与查询到的补偿数据建立对应关系。
本公开实施例可以通过上述方式将电子防抖模块获取的摄像头在拍摄每一帧图像的过程中的抖动数据与该图像的补偿数据对应起来,从而建立补偿数据和抖动数据之间的对应关系,实现了抖动数据和补偿数据之间的时间对齐,以进行更精准的电子补偿,使得防抖效果更加准确。
需要说明的是,当对当前图像进行电子补偿时,可以根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行多次电子补偿。当然也可以根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行一次电子补偿。
当对当前图像进行多次电子补偿时,可以根据抖动数据和补偿数据的对应关系,得到多组数据,每一组数据中包括一组抖动数据,与该组抖动数据对应的补偿数据,以及对应的上一次获取的一组抖动数据。根据该多组数据中的每组数据计算出一个相对运动向量进行一次电子补偿,从而根据该多组数据进行多次电子补偿。
当对当前图像进行一次电子补偿时,可以通过电子防抖模块分别对该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据进行滤波处理,得到当前图像的补偿信息、当前图像的抖动信息和上一帧图像的抖动信息;之后根据当前图像的补偿信息、当前图像的抖动信息和上一帧图像的抖动信息确定上一帧图像与当前图像之间的相对运动向量,根据该相对运动向量对当前图像进行电子补偿。
本公开实施例中,通过建立抖动数据和补偿数据之间的对应关系,可以实现抖动数据和补偿数据之间的时间对齐,以使电子防抖模块和光学防抖模块之间的数据同步,避免数据混乱,从而使得电子补偿达到更好的效果。
综上所述,在本公开实施例中,光学防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据,根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过进行多次光学补偿后的摄像头拍摄当前图像。通过设置第一缓冲区存储将该多组补偿数据,以在光学防抖模块接收到数据读取指令时向电子防抖模块发送携带该多组补偿数据的数据读取响应,而无需将多组补偿数据分开发送,降低了信令开销,提高了传输速率。并且在光学防抖模块还设置了第二缓冲区,能够在光学防抖模块从第一缓冲区中读取补偿数据的过程中,临时存储进行光学补偿得到的新的补偿数据,避免丢失补偿数据。在读取补偿数据完成时,将第二缓冲区存储的补偿数据存储至第一缓冲区。
并且,电子防抖模块在接收到该数据读取响应时,可以建立抖动数据和补偿数据的对应关系,以实现抖动数据和补偿数据的时间对齐,使得电子防抖模块与光学防抖模块之间的数据同步,之后对当前图像进行电子补偿,以实现对当前图像进行更有效的防抖处理,避免了数据不同步造成防抖性能下降的问题。
图4是本公开实施例示出的一种电子设备的结构示意图。参照图4,该电子设备包括摄像头401、陀螺仪402、光学防抖模块403、电子防抖模块404,光学防抖模块403包括第一缓冲区4031;
光学防抖模块403用于通过陀螺仪402获取摄像头401在当前拍摄图像的过程中的多组抖动数据;
光学防抖模块403用于根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至该第一缓冲区4031中,摄像头401用于拍摄当前图像;
电子防抖模块404用于向光学防抖模块403发送数据读取指令;
光学防抖模块403用于当接收到电子防抖模块404发送的数据读取指令时,向电子防抖模块404发送数据读取响应,该数据读取响应携带光学防抖模块403从第一缓冲区4031读取的该多组补偿数据;
电子防抖模块404用于通过陀螺仪402获取摄像头401在当前拍摄图像的过程中的该多组抖动数据;
电子防抖模块404用于当接收到该数据读取响应时,根据该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
一种可能的实现方式中,光学防抖模块403用于:
每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至第一缓冲区4031;
其中,该第二预设时长为该第一预设时长的n倍,该n为正整数。
一种可能的实现方式中,电子防抖模块404还用于:
当向光学防抖模块403发送该数据读取指令时,记录当前的第一系统时间;
将该第一系统时间与该数据读取指令的传输时长的和值作为第二系统时间,该第二系统时间用于表示该多组补偿数据中最后一组补偿数据对应的系统时间;
根据该第二系统时间、该第二预设时长和本次拍摄图像过程的持续时长,确定该多组补偿数据中每组补偿数据对应的系统时间;
获取该多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
一种可能的实现方式中,电子防抖模块404还用于:
根据该多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于该多组抖动数据中不存在对应补偿数据的抖动数据,根据该抖动数据对应的系统时间查询该补偿数据曲线,得到对应的补偿数据;
将该抖动数据与查询到的补偿数据建立对应关系。
一种可能的实现方式中,光学防抖模块403还包括第二缓冲区,该光学防抖模块403还用于:
在从第一缓冲区4031中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将该补偿数据存储至第二缓冲区;
当从第一缓冲区4031中读取补偿数据完成时,将第二缓冲区存储的补偿数据存储至第一缓冲区4031。
一种可能的实现方式中,电子防抖模块404还用于:
分别对该多组补偿数据、该多组抖动数据和该上一次获取的多组抖动数据进行滤波处理,得到该当前图像的补偿信息、该当前图像的抖动信息和上一帧图像的抖动信息;
根据当前图像的补偿信息、当前图像的抖动信息和上一帧图像的抖动信息确定上一帧图像与当前图像之间的相对运动向量,根据该相对运动向量对当前图像进行电子补偿。
综上所述,光学防抖模块通过陀螺仪获取摄像头在当前拍摄图像的过程中的多组抖动数据,根据该多组抖动数据进行多次光学补偿,得到多组补偿数据,将该多组补偿数据存储至第一缓冲区中,并通过进行多次光学补偿后的摄像头拍摄当前图像。当光学防抖模块接收到电子防抖模块发送的数据读取指令时,向电子防抖模块发送数据读取响应,之后电子防抖模块根据该数据读取响应中携带的该多组补偿数据、该多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。通过设置第一缓冲区存储该多组补偿数据,在光学防抖模块接收到数据读取指令时向电子防抖模块发送携带该多组补偿数据的数据传输响应,而无需将多组补偿数据分开发送,降低了信令开销,提高了传输速率,避免了由于过多数据传输而造成电子防抖模块和光学防抖模块的传输拥塞。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是本公开实施例示出的一种电子设备的结构示意图。例如,该装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,该装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制该装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在该装置500的操作。这些数据的示例包括用于在该装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为该装置500的各种组件提供电源。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为该装置500生成、管理和分配电源相关联的组件。
多媒体组件508包括在该装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。该触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与该触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当该装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当该装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为该装置500提供各个方面的状态评估。例如,传感器组件514可以检测到该装置500的打开/关闭状态,组件的相对定位,例如该组件为该装置500的显示器和小键盘,传感器组件514还可以检测该装置500或该装置500一个组件的位置改变,用户与该装置500接触的存在或不存在,该装置500方位或加速/减速和该装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于该装置500和其他设备之间有线或无线方式的通信。该装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,该通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,该装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图2或图3所示实施例提供的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由该装置500的处理器520执行以完成上述方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种拍摄方法,其特征在于,应用于电子设备中,所述电子设备包括摄像头、陀螺仪、光学防抖模块、电子防抖模块,所述光学防抖模块包括第一缓冲区,所述方法包括:
所述光学防抖模块通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的多组抖动数据;
所述光学防抖模块根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,并通过进行多次光学补偿后的所述摄像头拍摄当前图像;
所述电子防抖模块向所述光学防抖模块发送数据读取指令;
当所述光学防抖模块接收到所述电子防抖模块发送的数据读取指令时,向所述电子防抖模块发送数据读取响应,所述数据读取响应携带所述光学防抖模块从所述第一缓冲区读取的所述多组补偿数据;
所述电子防抖模块通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的所述多组抖动数据;
所述电子防抖模块接收到所述数据读取响应时,根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
2.如权利要求1所述的方法,其特征在于,所述光学防抖模块根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,包括:
所述光学防抖模块每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至所述第一缓冲区;
其中,所述第二预设时长为所述第一预设时长的n倍,所述n为正整数。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述电子防抖模块向所述光学防抖模块发送所述数据读取指令时,记录当前的第一系统时间;
将所述第一系统时间与所述数据读取指令的传输时长的和值作为第二系统时间,所述第二系统时间用于表示所述多组补偿数据中最后一组补偿数据对应的系统时间;
根据所述第二系统时间、所述第二预设时长和本次拍摄图像过程的持续时长,确定所述多组补偿数据中每组补偿数据对应的系统时间;
获取所述多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
所述电子防抖模块根据所述多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于所述多组抖动数据中不存在对应补偿数据的抖动数据,根据所述抖动数据对应的系统时间查询所述补偿数据曲线,得到对应的补偿数据;
将所述抖动数据与查询到的补偿数据建立对应关系。
5.如权利要求1所述的方法,其特征在于,所述光学防抖模块还包括第二缓冲区,所述方法还包括:
在所述光学防抖模块从所述第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将所述补偿数据存储至所述第二缓冲区;
当所述光学防抖模块从所述第一缓冲区中读取补偿数据完成时,将所述第二缓冲区存储的补偿数据存储至所述第一缓冲区。
6.如权利要求1所述的方法,其特征在于,所述根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿,包括:
所述电子防抖模块分别对所述多组补偿数据、所述多组抖动数据和所述上一次获取的多组抖动数据进行滤波处理,得到所述当前图像的补偿信息、所述当前图像的抖动信息和上一帧图像的抖动信息;
根据所述当前图像的补偿信息、所述当前图像的抖动信息和所述上一帧图像的抖动信息确定所述上一帧图像与所述当前图像之间的相对运动向量,根据所述相对运动向量对所述当前图像进行电子补偿。
7.一种电子设备,其特征在于,所述电子设备包括摄像头、陀螺仪、光学防抖模块、电子防抖模块,所述光学防抖模块包括第一缓冲区;
所述光学防抖模块用于通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的多组抖动数据;
所述光学防抖模块用于根据所述多组抖动数据进行多次光学补偿,得到多组补偿数据,将所述多组补偿数据存储至所述第一缓冲区中,所述摄像头用于拍摄当前图像;
所述电子防抖模块用于向所述光学防抖模块发送数据读取指令;
所述光学防抖模块用于当接收到所述电子防抖模块发送的数据读取指令时,向所述电子防抖模块发送数据读取响应,所述数据读取响应携带所述光学防抖模块从所述第一缓冲区读取的所述多组补偿数据;
所述电子防抖模块用于通过所述陀螺仪获取所述摄像头在当前拍摄图像的过程中的所述多组抖动数据;
所述电子防抖模块用于当接收到所述数据读取响应时,根据所述多组补偿数据、所述多组抖动数据和上一次获取的多组抖动数据对当前图像进行电子补偿。
8.如权利要求7所述的电子设备,其特征在于,所述光学防抖模块用于:
每隔第一预设时长根据当前获取的抖动数据进行光学补偿,每隔第二预设时长将当前得到的补偿数据存储至所述第一缓冲区;
其中,所述第二预设时长为所述第一预设时长的n倍,所述n为正整数。
9.如权利要求8所述的电子设备,其特征在于,所述电子防抖模块还用于:
当向所述光学防抖模块发送所述数据读取指令时,记录当前的第一系统时间;
将所述第一系统时间与所述数据读取指令的传输时长的和值作为第二系统时间,所述第二系统时间用于表示所述多组补偿数据中最后一组补偿数据对应的系统时间;
根据所述第二系统时间、所述第二预设时长和本次拍摄图像过程的持续时长,确定所述多组补偿数据中每组补偿数据对应的系统时间;
获取所述多组抖动数据中每组抖动数据对应的系统时间,将对应同一系统时间的抖动数据与补偿数据建立对应关系。
10.如权利要求9所述的电子设备,其特征在于,所述电子防抖模块还用于:
根据所述多组补偿数据以及每组补偿数据对应的系统时间进行曲线拟合,得到补偿数据曲线;
对于所述多组抖动数据中不存在对应补偿数据的抖动数据,根据所述抖动数据对应的系统时间查询所述补偿数据曲线,得到对应的补偿数据;
将所述抖动数据与查询到的补偿数据建立对应关系。
11.如权利要求7所述的电子设备,其特征在于,所述光学防抖模块还包括第二缓冲区,所述光学防抖模块还用于:
在从所述第一缓冲区中读取补偿数据的过程中,当进行光学补偿得到新的补偿数据时,将所述补偿数据存储至所述第二缓冲区;
当从所述第一缓冲区中读取补偿数据完成时,将所述第二缓冲区存储的补偿数据存储至所述第一缓冲区。
12.如权利要求7所述的电子设备,其特征在于,所述电子防抖模块还用于:
分别对所述多组补偿数据、所述多组抖动数据和所述上一次获取的多组抖动数据进行滤波处理,得到所述当前图像的补偿信息、所述当前图像的抖动信息和上一帧图像的抖动信息;
根据所述当前图像的补偿信息、所述当前图像的抖动信息和所述上一帧图像的抖动信息确定所述上一帧图像与所述当前图像之间的相对运动向量,根据所述相对运动向量对所述当前图像进行电子补偿。
CN201810823880.0A 2018-07-25 2018-07-25 拍摄方法及电子设备 Active CN110769146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810823880.0A CN110769146B (zh) 2018-07-25 2018-07-25 拍摄方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810823880.0A CN110769146B (zh) 2018-07-25 2018-07-25 拍摄方法及电子设备

Publications (2)

Publication Number Publication Date
CN110769146A true CN110769146A (zh) 2020-02-07
CN110769146B CN110769146B (zh) 2021-01-15

Family

ID=69327948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810823880.0A Active CN110769146B (zh) 2018-07-25 2018-07-25 拍摄方法及电子设备

Country Status (1)

Country Link
CN (1) CN110769146B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499575A (zh) * 2021-06-18 2022-12-20 哲库科技(上海)有限公司 图像数据处理方法、多媒体处理芯片以及电子设备
WO2023279849A1 (zh) * 2021-07-09 2023-01-12 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933554A (zh) * 2005-12-31 2007-03-21 北京中星微电子有限公司 一种用于手持数码摄像设备的防抖方法及装置
CN101193323A (zh) * 2006-11-22 2008-06-04 乐金电子(昆山)电脑有限公司 数码影像装置的不良像素检测方法
CN101246250A (zh) * 2008-01-07 2008-08-20 北京思比科微电子技术有限公司 一种防抖动的调焦方法和系统
CN103402056A (zh) * 2013-07-31 2013-11-20 北京阳光加信科技有限公司 应用于图像捕获设备的补偿处理方法和系统
US8711230B2 (en) * 2008-05-16 2014-04-29 Casio Computer Co., Ltd. Image capture apparatus and program
US20140333784A1 (en) * 2013-05-10 2014-11-13 Tdk Taiwan Corp. Optical Image Stabilizer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933554A (zh) * 2005-12-31 2007-03-21 北京中星微电子有限公司 一种用于手持数码摄像设备的防抖方法及装置
CN101193323A (zh) * 2006-11-22 2008-06-04 乐金电子(昆山)电脑有限公司 数码影像装置的不良像素检测方法
CN101246250A (zh) * 2008-01-07 2008-08-20 北京思比科微电子技术有限公司 一种防抖动的调焦方法和系统
US8711230B2 (en) * 2008-05-16 2014-04-29 Casio Computer Co., Ltd. Image capture apparatus and program
US20140333784A1 (en) * 2013-05-10 2014-11-13 Tdk Taiwan Corp. Optical Image Stabilizer
CN103402056A (zh) * 2013-07-31 2013-11-20 北京阳光加信科技有限公司 应用于图像捕获设备的补偿处理方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499575A (zh) * 2021-06-18 2022-12-20 哲库科技(上海)有限公司 图像数据处理方法、多媒体处理芯片以及电子设备
WO2022262449A1 (zh) * 2021-06-18 2022-12-22 哲库科技(上海)有限公司 图像数据处理方法、多媒体处理芯片以及电子设备
CN115499575B (zh) * 2021-06-18 2024-07-05 哲库科技(上海)有限公司 图像数据处理方法、多媒体处理芯片以及电子设备
WO2023279849A1 (zh) * 2021-07-09 2023-01-12 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110769146B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN110858873B (zh) 电子设备和拍摄方法
CN106210496B (zh) 照片拍摄方法及装置
CN110769147B (zh) 拍摄方法及电子设备
CN105120144A (zh) 图像拍摄方法和装置
JP2016535552A (ja) 写真を取得するための方法及び装置
US20170054906A1 (en) Method and device for generating a panorama
CN106210495A (zh) 图像拍摄方法和装置
CN104869314A (zh) 拍照方法及装置
WO2017166697A1 (zh) 一种显示图像数据的方法和装置
CN110620871B (zh) 视频拍摄方法及电子设备
CN110769146B (zh) 拍摄方法及电子设备
CN110995993B (zh) 星轨视频拍摄方法、星轨视频拍摄装置及存储介质
CN105959563B (zh) 图像存储方法和图像存储装置
CN115134505B (zh) 预览画面生成方法及装置、电子设备、存储介质
CN114430453B (zh) 一种摄像头防抖动系统、控制方法、设备及介质
CN112333384B (zh) 预览图像方法、预览图像装置及存储介质
CN114079724B (zh) 起跳抓拍方法、装置及存储介质
CN117522942A (zh) 深度距离测量方法、装置、电子设备及可读储存介质
CN113315903B (zh) 图像获取方法和装置、电子设备、存储介质
CN111698414B (zh) 图像信号处理方法及装置、电子设备、可读存储介质
CN114339015B (zh) 一种拍照处理方法、拍照处理装置及存储介质
CN112203015B (zh) 相机控制方法、装置及介质系统
CN114339017B (zh) 远景对焦方法、装置及存储介质
CN109862252B (zh) 图像拍摄方法及装置
CN106454094A (zh) 拍摄方法、装置以及移动终端

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