防抖方法、电子设备和计算机可读存储介质与流程

专利2022-06-29  80


本申请涉及图像处理技术领域,特别是涉及一种防抖方法、电子设备和计算机可读存储介质。



背景技术:

传统的防抖方式包括ois(opticalimagestabilization,光学防抖)和eis(electricimagestabilization,电子防抖)。其中,电子防抖需要依赖图像帧信息和陀螺仪数据的同步。而传统的防抖方法,图像帧信息和陀螺仪数据之间同步不准确,导致防抖效果差。



技术实现要素:

本申请实施例提供一种防抖方法、电子设备和计算机可读存储介质,可以提高防抖准确性。

一种防抖方法,应用于电子设备,所述电子设备中包括图像传感器、陀螺仪和第一处理器,所述图像传感器通过硬件中断线与所述陀螺仪相连接,所述图像传感器与所述第一处理器相连接,所述陀螺仪与所述第一处理器相连接;所述方法包括:

所述第一处理器接收所述陀螺仪传输的陀螺仪数据,其中,所述陀螺仪数据是当所述陀螺仪通过所述硬件中断线接收到所述图像传感器发送的帧同步信号时采集的,所述帧同步信号是当所述图像传感器获取到第一图像帧数据时生成的;

所述第一处理器接收第二图像帧数据,其中,所述第二图像帧数据为所述第一图像帧数据或对所述第一图像帧数据进行处理后的图像帧数据;

所述第一处理器根据所述陀螺仪数据和所述第二图像帧数据进行防抖处理。

一种电子设备,所述电子设备中包括图像传感器、陀螺仪和第一处理器,所述图像传感器通过硬件中断线与所述陀螺仪相连接,所述图像传感器与所述第一处理器相连接,所述陀螺仪与所述第一处理器相连接;

所述图像传感器用于当获取到第一图像帧数据时,生成帧同步信号,通过所述硬件中断线向所述陀螺仪发送所述帧同步信号;

所述陀螺仪用于当接收到所述帧同步信号时,采集陀螺仪数据;

所述第一处理器用于接收第二图像帧数据,其中,所述第二图像帧数据为所述第一图像帧数据或对所述第一图像帧数据进行处理后的图像帧数据;

所述第一处理器用于根据所述陀螺仪数据和所述第二图像帧数据进行电子防抖。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

所述第一处理器接收所述陀螺仪传输的陀螺仪数据,其中,所述陀螺仪数据是当所述陀螺仪通过所述硬件中断线接收到所述图像传感器发送的帧同步信号时采集的,所述帧同步信号是当所述图像传感器获取到第一图像帧数据时生成的;

所述第一处理器接收第二图像帧数据,其中,所述第二图像帧数据为所述第一图像帧数据或对所述第一图像帧数据进行处理后的图像帧数据;

所述第一处理器根据所述陀螺仪数据和所述第二图像帧数据进行防抖处理。

上述防抖方法、电子设备和计算机可读存储介质,第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到图像帧数据时生成的,即图像传感器获取到图像帧数据时,会生成帧同步信号并发送给陀螺仪,从而使陀螺仪采集陀螺仪数据,图像帧数据与陀螺仪数据之间的时间差较小,能保证图像帧信息和陀螺仪数据的同步;第一处理器接收图像帧数据,第一处理器根据陀螺仪数据和图像帧数据进行防抖处理,则第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖的准确性,使成像更加清晰。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中防抖方法的应用环境图;

图2为一个实施例中防抖方法的流程图;

图3为一个实施例中图像帧数据与陀螺仪数据的映射关系示意图;

图4为另一个实施例中防抖方法的流程示意图;

图5为一个实施例中图像帧数据与陀螺仪数据的同步方法示意图;

图6为另一个实施例中防抖方法的应用环境图;

图7为一个实施例中电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中防抖方法的应用环境示意图。防抖方法应用于电子设备中。该电子设备可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备等任意终端设备。如图1所示,该应用环境包括图像传感器110、陀螺仪120和第一处理器130。陀螺仪120可以包含在imu(inertialmeasurementunit,惯性测量单元)中。第一处理器130具体可以是中央处理器(centralprocessingunit,cpu)等。图像传感器110通过第一硬件中断线与陀螺仪120相连接。具体地,通过第一硬件中断线将图像传感器110发送的帧同步信号发送至陀螺仪的硬件中断端口中。图像传感器110可通过任何能传输帧同步信号的线与第一处理器130相连接。例如图像传感器110可通过第二硬件中断线与第一处理器130相连接。陀螺仪120可通过能传输电信号的线与第一处理器相连接。

图2为一个实施例中防抖方法的流程图。本实施例中的防抖方法,以运行于图1中的第一处理器130上为例进行描述。如图2所示,防抖方法包括步骤202至步骤206。

步骤202,第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到第一图像帧数据时生成的。

其中,陀螺仪用于角运动检测。陀螺仪数据可以是角速度数据、角加速度数据等。硬件中断线是指可实现硬件中断的电线。硬件中断是指由某个硬件的中断请求信号引发的中断。帧同步信号可以是指垂直同步脉冲信号(verticalsynchronization,vsync),或者帧同步脉冲信号(framesynchronization,fsync)等。垂直同步脉冲信号可用于表示前一图像帧数据的结束和新的图像帧数据的开始。即,图像传感器每获取一次图像帧数据,则生成一次帧同步信号。第一图像帧数据是指图像传感器直接采集的图像帧数据。

具体地,当图像传感器获取到图像帧数据时,生成一个帧同步信号。图像传感器通过硬件中断线,将帧同步信号发送至陀螺仪。陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时,采集陀螺仪数据。

步骤204,第一处理器接收第二图像帧数据,其中,第二图像帧数据为第一图像帧数据或对第一图像帧数据进行处理后的图像帧数据。

其中,第二图像帧数据是指图像信号处理器根据第一图像帧数据处理后的图像帧数据。

具体地,第一处理器从图像传感器接收第二图像帧数据,其中,第二图像帧数据为第一图像帧数据。或者,第一处理器从图像信号处理器接收第二图像帧数据,其中,第二图像帧数据是图像信号处理器对第一图像帧数据进行处理后得到的。

步骤206,第一处理器根据陀螺仪数据和第二图像帧数据进行防抖处理。

其中,防抖处理具体可以是指电子防抖处理。电子防抖处理是指利用边缘图像进行补偿的防抖处理。

具体地,eis(electricimagestabilization,电子防抖)需要依赖手机摄像头姿态信息和图像帧信息的时间同步,需要对应每一帧图像画面所对应的其所拍摄时的手机摄像头姿态。手机摄像头姿态可以通过陀螺仪产生的陀螺仪数据获得。因此,第一处理器根据陀螺仪数据和图像帧数据进行电子防抖处理。

本实施例中,第一处理器可根据陀螺仪数据第二图像帧数据进行图像防抖处理或者视频防抖处理。

本实施例中的防抖方法,第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到图像帧数据时生成的,即图像传感器获取到图像帧数据时,会生成帧同步信号并发送给陀螺仪,那么相对于通过软件为图像帧数据和陀螺仪数据标记时间戳的方式,本实施例中图像帧数据与陀螺仪数据之间的时间差则为帧同步信号在硬件中断线传输过程中的时间差,而通过硬件中断线传输时时间差较小,且时间差稳定,能够保证图像帧信息和陀螺仪数据的同步;第一处理器接收图像帧数据,第一处理器根据陀螺仪数据和图像帧数据进行防抖处理,则第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖的准确性,使成像更加清晰。

在一个实施例中,如图3所示,为一个实施例中图像帧数据与陀螺仪数据的映射关系示意图。ft、gt表示第t帧图像和对应的陀螺仪数据,lm、lm 1...表示图像帧中每一行对应的陀螺仪数据。由于cmos(complementarymetal-oxide-semiconductor,互补金属氧化物半导体)传感器按行感光成像,因此同一帧图像每一行成像时间都不一样。一帧图像成像时间约几到几十毫秒,这段时间对应了很多陀螺仪数据,因为陀螺仪数据采样率一般为几百赫兹。那么将图像传感器通过硬件中断线与陀螺仪相连接,则能确定一个唯一的陀螺仪数据,进而根据图像帧数据和对应的陀螺仪数据进行电子防抖。

在一个实施例中,如图4所示,为另一个实施例中防抖方法的流程示意图,包括:

步骤402,当第一处理器接收到帧同步信号时,生成数据标识,其中,帧同步信号是由图像传感器分别向陀螺仪和第一处理器发送的。

其中,数据标识可用于标识陀螺仪数据和第一图像帧数据的映射关系,也可以用于标识陀螺仪数据和第一图像帧数据的生成时间。数据标识可由数字、字母、符号、文字中至少一种组成。例如数据标识可以一个时间戳,具体可以是第一处理器接收到帧同步信号时的时间戳等不限于此。

具体地,图像传感器可通过第二硬件中断线与第一处理器相连接。通过第二硬件中断线能提高帧同步信号的传输速率。当图像传感器获取到第一图像帧数据时,分别同时向陀螺仪和第一处理器发送帧同步信号。当第一处理器通过第二硬件中断线接收到帧同步信号时,生成数据标识。那么,数据标识与陀螺仪数据、第一图像帧数据可视为同时生成的数据。

本实施例中,在第一处理器接收到帧同步信号后,在图像处理器获取到下一帧的图像帧数据之前,第一处理器生成数据标识。即一帧图像帧数据仅对应一个数据标识。

步骤404,第一处理器将第二图像帧数据与数据标识相对应,以及将陀螺仪数据与数据标识相对应。

具体地,第一处理器可建立数据标识与第二图像帧数据和陀螺仪数据之间的映射关系。第一处理器将第二图像帧数据与数据标识相对应,以及将陀螺仪数据与数据标识相对应。

本实施例中,由于第二图像帧数据为第一图像帧数据或者对第一图像帧数据进行处理后的图像帧数据,那么第一处理器也可将第一图像帧数据与数据标识相对应。

本实施例中,第一处理器将第二图像帧数据与数据标识相对应,以及将陀螺仪数据与数据标识相对应,包括:数据标识包括目标时间戳;第一处理器获取第一图像帧对应的第一时间戳以及陀螺仪数据对应的第二时间戳;当第一时间戳与目标时间戳之间的差值在预设时间差值范围内时,将第二图像帧数据与目标时间戳相对应;当第二时间戳与目标时间戳之间的差值在预设时间差值范围内时,将陀螺仪数据与目标时间戳相对应。其中,预设时间范围可以是通过硬件中断线传输数据的时长。例如通过硬件中断线传输需要a秒,那么预设时间范围可以是0~a秒等不限于此。

步骤406,第一处理器根据数据标识对应的陀螺仪数据以及第二图像帧数据进行防抖处理。

具体地,同一数据标识对应的陀螺仪数据以及第二图像帧数据则可视为同时生成的陀螺仪数据和第二图像帧数据。第一处理器根据数据标识对应的陀螺仪数据以及第二图像帧数据进行电子防抖处理。

本实施例中的防抖方法,当第一处理器接收到帧同步信号时,生成数据标识,其中,帧同步信号是由图像传感器分别向陀螺仪和第一处理器发送的,将第二图像帧数据与数据标识相对应,将陀螺仪数据与数据标识相对应,第一处理器根据数据标识对应的陀螺仪数据以及第二图像帧数据进行防抖处理,则将同一数据标识对应的陀螺仪数据和第二图像帧数据视为同一时间生成的数据,那么第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖效果,使成像更加清晰。

在一个实施例中,当第一处理器接收到帧同步信号时,生成数据标识,包括:当第一处理器接收到帧同步信号时,更新计数器的值;第一处理器将计数器的值作为数据标识。

其中,计数器(counter)可以是指中断处理软件。计数器软件可用于获取中断信号、计数、记录时间戳等。计数器也可以是一个硬件,用于当接收到帧同步信号时,更新计数器的值。计数器的值可以是时间戳,也可以是脉冲数,也可以是一个无意义的数值,例如1、2、3…等不限于此。

具体地,当第一处理器接收到帧同步信号时,更新计数器的值。例如,原计数器的值为1,那么每当接收到帧同步信号时,增加1,计数器的值为2,而每个计数器的值可以对应一个时间戳。第一处理器将计数器的值作为数据标识。

本实施例中的防抖方法,当第一处理器接收到帧同步信号时,更新计数器的值,第一处理器将计数器的值作为数据标识,能够使陀螺仪数据和第一图像帧数据相对应,并用于防抖处理。

在一个实施例中,第一电子设备还包括图像信号处理器,图像信号处理器与图像传感器和第一处理器分别相连。

第一处理器接收第二图像帧数据,其中,第二图像帧数据为对第一图像帧数据进行处理后的图像帧数据,包括:

第一处理器接收图像信号处理器传输的第二图像帧数据,第二图像帧数据是图像信号处理器对第一图像帧数据进行处理得到的。

具体地,图像信号处理器从图像传感器接收第一图像帧数据。图像信号处理器可对第一图像帧数据进行滤波、自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜阴影校正中至少一种等处理,得到第二图像帧数据。图像信号处理器向第一处理器发送第二图像帧数据。

本实施例中,由于图像传感器每获取一次图像帧数据,则生成一次帧同步信号,那么在获取当前图像帧数据之后,且在获取下一帧第一图像帧数据之前,第一处理器不会生成其他数据标识。该第一图像帧数据在进入第一处理器之前已通过帧同步信号记录了数据标识。那么,图像信号处理器处理完第一图像帧信号的时刻,只要在获取下一帧第一图像帧数据的时刻之前即可,第一处理器可实现数据标识与陀螺仪数据和第二图像帧数据的一一对应。同理,第一处理器获取陀螺仪数据的时刻也只要在获取下一帧第一图像帧数据的时刻之前即可。

本实施例中的防抖方法,第一处理器接收图像信号处理器传输的第二图像帧数据,第二图像帧数据是图像信号处理器对第一图像帧数据进行处理得到的,经过图像信号处理器处理后的图像效果更佳,从而提高防抖效果,成像更清晰以及更加个性化。

在一个实施例中,电子设备还包括第二处理器,第二处理器分别与陀螺仪和第一处理器相连接。第一处理器接收陀螺仪数据,包括:第一处理器从第二处理器中接收陀螺仪数据,第二处理器用于驱动陀螺仪获取陀螺仪数据。

具体地,第二处理器与陀螺仪相连接,第二处理器与第一处理器相连接。陀螺仪的驱动程序可安装在第二处理器中。第二处理器可视为陀螺仪的载体,负责与硬件强相关的驱动和处理。例如第二处理器可用于驱动陀螺仪获取数据,对数据进行滤波等不限于此。第二处理器可与第一处理器进行通信从而传输陀螺仪数据。图像传感器的驱动可安装在第一处理器中。第一处理器中包括共享内存。其中,第一处理器和第二处理器均可从共享内存中读取数据等。第一处理器从第二处理器中接收的陀螺仪数据可存储在共享内存中。

本实施例中的防抖方法,第一处理器从第二处理器中接收陀螺仪数据,第二处理器用于驱动陀螺仪获取陀螺仪数据,使用第二处理器能够快速从陀螺仪中得到陀螺仪数据,并且减少第一处理器的资源占用。

在一个实施例中,如图5所示,为一个实施例中图像帧数据与陀螺仪数据的同步方法示意图。在图像帧和陀螺仪数据中有同源时钟的时间戳。在相机工作的时候,每一帧图像都会被打上一个时间戳,因此视频帧中会生成一系列时间戳t1、t2、...tn。同时,在每一个陀螺仪的时钟周期里,会产生一个陀螺仪数据,这个陀螺仪数据也会打上一个时间戳,在拍摄视频的这段时间,会产生一系列的陀螺仪数据t1、t2、...tn。由于时间戳功能是由软件实现,这种同步方式本质上还是软件同步。图像帧时间与陀螺仪数据时间之间会存在时间间隔。而且该时间间隔不一定相同。如图5中第一帧图像与陀螺仪数据1之间的时间间隔为δt1;第二帧图像与陀螺仪2之间的时间间隔为δt2等。视频防抖算法在使用图像帧时间和陀螺仪数据时间时会再进行同步和校准,例如通过标定等。但由于时间戳同步方式本质上是一种软件同步,因此图像帧时间会和对应的陀螺仪数据时间存在一个时间间隔,该时间间隔会导致视频防抖的效果的下降。一种补救方法是通过校准拟合出最佳的时间间隔参数,但是这种方式仍然不能排除会有硬件个体差异性的影响,同时校准算法也会带来性能上的下降。因此,提出了本申请实施例中的防抖方法。

如图6所示,为另一个实施例中防抖方法的应用环境图。该应用环境包括图像传感器110、陀螺仪120、第一处理器130、图像信号处理器140和第二处理器150。其中,图像信号处理器140分别与图像传感器110和第一处理器130分别相连。图像信号处理器140和图像传感器110和第一处理器130能传输电信号即可。第二处理器150与第一处理器130不是同一处理器。第二处理器150可以是单片机或者cpu等。第二处理器150与陀螺仪120相连接。第二处理器150与第一处理器130相连接。图6中的连接线均可采用硬件中断线。当图像传感器110接收到第一图像帧数据时,生成帧同步信号。图像传感器110将帧同步信号通过第一硬件中断线发送至陀螺仪,将帧同步信号通过第二硬件中断线发送至第一处理器130。当接收到帧同步信号时,第一处理器130更新计数器的值。图像传感器110将第一图像帧数据发送至图像信号处理器140。图像信号处理器140对第一图像帧数据进行图像处理,得到第二图像帧数据。图像信号处理器140将第二图像帧数据发送至第一处理器130。当接收到帧同步信号时,第二处理器150驱动陀螺仪120获取陀螺仪数据,将陀螺仪数据发送至第一处理器130。第一处理器130将第二图像帧数据,以及陀螺仪数据与计数器的值相对应。第一处理器130根据与计数器的值相对应的陀螺仪数据以及第二图像帧数据进行电子防抖处理。

在一个实施例中,一种防抖方法,应用于电子设备,电子设备中包括图像传感器、陀螺仪和第一处理器,图像传感器通过硬件中断线与陀螺仪相连接,图像传感器与第一处理器相连接,陀螺仪与第一处理器相连接,第一电子设备还包括图像信号处理器。图像信号处理器与图像传感器和第一处理器分别相连,包括:

步骤a1,第一处理器从第二处理器中接收陀螺仪数据,第二处理器用于驱动陀螺仪获取陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到第一图像帧数据时生成的,并由图像传感器分别向陀螺仪和第一处理器发送的。

步骤a2,当第一处理器接收到帧同步信号时,更新计数器的值。

步骤a3,第一处理器将计数器的值作为数据标识。

步骤a4,第一处理器接收第二图像帧数据,其中,第二图像帧数据为第一图像帧数据或图像信号处理器对第一图像帧数据进行处理后得到的图像帧数据。

步骤a5,第一处理器将第二图像帧数据与数据标识相对应,以及将陀螺仪数据与数据标识相对应。

步骤a6,第一处理器根据数据标识对应的陀螺仪数据以及第二图像帧数据进行防抖处理。

本实施例中的防抖方法,第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到图像帧数据时生成的,即图像传感器获取到图像帧数据时,会生成帧同步信号并发送给陀螺仪,那么相对于通过软件为图像帧数据和陀螺仪数据标记时间戳的方式,本实施例中图像帧数据与陀螺仪数据之间的时间差则为帧同步信号在硬件中断线传输过程中的时间差,而通过硬件中断线传输时时间差较小,且时间差稳定,能够保证图像帧信息和陀螺仪数据的同步;第一处理器接收图像帧数据,第一处理器根据陀螺仪数据和图像帧数据进行防抖处理,则第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖的准确性,使成像更加清晰。

应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图1所示,一种电子设备,包括图像传感器110、陀螺仪120和第一处理器130,图像传感器110通过硬件中断线与陀螺仪120相连接,图像传感器110与第一处理器130相连接,陀螺仪120与第一处理器130相连接;

图像传感器110用于当获取到第一图像帧数据时,生成帧同步信号,通过硬件中断线向陀螺仪120发送帧同步信号;

陀螺仪120用于当接收到帧同步信号时,采集陀螺仪数据;

第一处理器130用于接收第二图像帧数据,其中,第二图像帧数据为第一图像帧数据或对第一图像帧数据进行处理后的图像帧数据;

第一处理器130用于根据陀螺仪数据和第二图像帧数据进行电子防抖。

本实施例中的电子设备,第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到图像帧数据时生成的,即图像传感器获取到图像帧数据时,会生成帧同步信号并发送给陀螺仪,那么相对于通过软件为图像帧数据和陀螺仪数据标记时间戳的方式,本实施例中图像帧数据与陀螺仪数据之间的时间差则为帧同步信号在硬件中断线传输过程中的时间差,而通过硬件中断线传输时时间差较小,且时间差稳定,能够保证图像帧信息和陀螺仪数据的同步;第一处理器接收图像帧数据,第一处理器根据陀螺仪数据和图像帧数据进行防抖处理,则第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖的准确性,使成像更加清晰。

在一个实施例中,图像传感器110用于分别向陀螺仪120和第一处理器130发送帧同步信号。第一处理器130用于当接收到帧同步信号时,生成数据标识;第一处理器130用于将第二图像帧数据与数据标识相对应,以及将陀螺仪数据与数据标识相对应;第一处理器130用于根据数据标识对应的陀螺仪数据以及第二图像帧数据进行防抖。

本实施例中的电子设备,当第一处理器接收到帧同步信号时,生成数据标识,其中,帧同步信号是由图像传感器分别向陀螺仪和第一处理器发送的,将第二图像帧数据与数据标识相对应,将陀螺仪数据与数据标识相对应,第一处理器根据数据标识对应的陀螺仪数据以及第二图像帧数据进行防抖处理,则将同一数据标识对应的陀螺仪数据和第二图像帧数据视为同一时间生成的数据,那么第一处理器能够得到时间差小且稳定的陀螺仪数据和图像帧数据,从而提高防抖效果,使成像更加清晰。

在一个实施例中,第一处理器130用于当接收到帧同步信号时,更新计数器的值;第一处理器130用于将计数器的值作为数据标识。

本实施例中的电子设备,当第一处理器接收到帧同步信号时,更新计数器的值,第一处理器将计数器的值作为数据标识,能够使陀螺仪数据和第一图像帧数据相对应,并用于防抖处理。

在一个实施例中,电子设备还包括图像信号处理器140,图像信号处理器140与图像传感器110和第一处理器130分别相连;图像信号处理器140用于接收第一图像帧数据;图像信号处理器140用于对第一图像帧数据进行图像处理,得到第二图像帧数据。

本实施例中的电子设备,第一处理器接收图像信号处理器传输的第二图像帧数据,第二图像帧数据是图像信号处理器对第一图像帧数据进行处理得到的,经过图像信号处理器处理后的图像效果更佳,从而提高防抖效果,成像更清晰以及更加个性化。

在一个实施例中,电子设备还包括第二处理器150,第二处理器150分别与陀螺仪120和第一处理器130相连接。第一处理器130用于从第二处理器150中接收陀螺仪数据,第二处理器150用于驱动陀螺仪120获取陀螺仪数据。

本实施例中的电子设备,第一处理器从第二处理器中接收陀螺仪数据,第二处理器用于驱动陀螺仪获取陀螺仪数据,使用第二处理器能够快速从陀螺仪中得到陀螺仪数据,并且减少第一处理器的资源占用。

图7为一个实施例中电子设备的内部结构示意图。如图7所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种防抖方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。

本申请实施例中提供的电子设备中的各个器件的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行防抖方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行防抖方法。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


技术特征:

1.一种防抖方法,其特征在于,应用于电子设备,所述电子设备中包括图像传感器、陀螺仪和第一处理器,所述图像传感器通过硬件中断线与所述陀螺仪相连接,所述图像传感器与所述第一处理器相连接,所述陀螺仪与所述第一处理器相连接;所述方法包括:

所述第一处理器接收所述陀螺仪传输的陀螺仪数据,其中,所述陀螺仪数据是当所述陀螺仪通过所述硬件中断线接收到所述图像传感器发送的帧同步信号时采集的,所述帧同步信号是当所述图像传感器获取到第一图像帧数据时生成的;

所述第一处理器接收第二图像帧数据,其中,所述第二图像帧数据为所述第一图像帧数据或对所述第一图像帧数据进行处理后的图像帧数据;

所述第一处理器根据所述陀螺仪数据和所述第二图像帧数据进行防抖处理。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当所述第一处理器接收到所述帧同步信号时,生成数据标识,其中,所述帧同步信号是由所述图像传感器分别向所述陀螺仪和所述第一处理器发送的;

所述第一处理器将所述第二图像帧数据与所述数据标识相对应,以及将所述陀螺仪数据与所述数据标识相对应;

所述第一处理器根据所述陀螺仪数据和所述第二图像帧数据进行防抖处理,包括:

所述第一处理器根据所述数据标识对应的所述陀螺仪数据以及所述第二图像帧数据进行防抖处理。

3.根据权利要求2所述的方法,其特征在于,所述当所述第一处理器接收到所述帧同步信号时,生成数据标识,包括:

当所述第一处理器接收到所述帧同步信号时,更新计数器的值;

所述第一处理器将所述计数器的值作为所述数据标识。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一电子设备还包括图像信号处理器;所述图像信号处理器与所述图像传感器和所述第一处理器分别相连;

所述第一处理器接收第二图像帧数据,其中,所述第二图像帧数据为对所述第一图像帧数据进行处理后的图像帧数据,包括:

所述第一处理器接收所述图像信号处理器传输的第二图像帧数据,所述第二图像帧数据是所述图像信号处理器对第一图像帧数据进行处理得到的。

5.根据权利要求1至3任一项所述的方法,其特征在于,所述电子设备还包括第二处理器,所述第二处理器分别与所述陀螺仪和所述第一处理器相连接;

所述第一处理器接收陀螺仪数据,包括:

所述第一处理器从所述第二处理器中接收陀螺仪数据,所述第二处理器用于驱动所述陀螺仪获取陀螺仪数据。

6.一种电子设备,其特征在于,所述电子设备中包括图像传感器、陀螺仪和第一处理器,所述图像传感器通过硬件中断线与所述陀螺仪相连接,所述图像传感器与所述第一处理器相连接,所述陀螺仪与所述第一处理器相连接;

所述图像传感器用于当获取到第一图像帧数据时,生成帧同步信号,通过所述硬件中断线向所述陀螺仪发送所述帧同步信号;

所述陀螺仪用于当接收到所述帧同步信号时,采集陀螺仪数据;

所述第一处理器用于接收第二图像帧数据,其中,所述第二图像帧数据为所述第一图像帧数据或对所述第一图像帧数据进行处理后的图像帧数据;

所述第一处理器用于根据所述陀螺仪数据和所述第二图像帧数据进行电子防抖。

7.根据权利要求6所述的电子设备,其特征在于,所述图像传感器用于分别向所述陀螺仪和所述第一处理器发送所述帧同步信号;

所述第一处理器用于当接收到所述帧同步信号时,生成数据标识;

所述第一处理器用于将所述第二图像帧数据与所述数据标识相对应,以及将所述陀螺仪数据与所述数据标识相对应;

所述第一处理器用于根据所述数据标识对应的所述陀螺仪数据以及所述第二图像帧数据进行防抖。

8.根据权利要求7所述的电子设备,其特征在于,所述第一处理器用于当接收到所述帧同步信号时,更新计数器的值;

所述第一处理器用于将所述计数器的值作为所述数据标识。

9.根据权利要求6所述的电子设备,其特征在于,所述电子设备还包括图像信号处理器,所述图像信号处理器与所述图像传感器和所述第一处理器分别相连;

所述图像信号处理器用于接收所述第一图像帧数据;

所述图像信号处理器用于对所述第一图像帧数据进行图像处理,得到第二图像帧数据。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。

技术总结
本申请提供一种防抖方法、电子设备和计算机可读存储介质。所述防抖方法包括:第一处理器接收陀螺仪传输的陀螺仪数据,其中,陀螺仪数据是当陀螺仪通过硬件中断线接收到图像传感器发送的帧同步信号时采集的,帧同步信号是当图像传感器获取到第一图像帧数据时生成的;第一处理器接收第二图像帧数据,其中,第二图像帧数据为第一图像帧数据或对第一图像帧数据进行处理后的图像帧数据;第一处理器根据陀螺仪数据和第二图像帧数据进行防抖处理。采用本申请的方法能够提高防抖的准确性。

技术研发人员:戴朋飞
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:2020.01.13
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54519.html

最新回复(0)