一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2023-07-20 09:07:37 来源:中国专利 TAG:


1.本技术涉及影像领域,特别是涉及一种光学防抖方法和装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.随着影像技术的发展,人们越来越经常通过电子设备上的摄像头等图像采集设备拍摄图像或视频,记录各种信息。在进行拍摄的过程中,由于外界的抖动,会带来拍摄画面的抖动,造成图像的运动模糊。为了保证拍摄的质量,需要对拍摄过程进行防抖。
3.但是,传统的防抖方案往往是针对运动模糊进行处理,无法适配不同的场景。


技术实现要素:

4.本技术实施例提供一种光学防抖方法、装置、电子设备、计算机可读存储介质和计算机程序产品,可以适配不同的抖动场景。
5.一种光学防抖方法,包括:
6.确定摄像头在当前时刻的当前姿态信息;
7.获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
8.基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息;
9.根据所述防抖补偿信息驱动所述摄像头进行防抖补偿。
10.一种光学防抖装置,包括:
11.第一确定模块,用于确定摄像头在当前时刻的当前姿态信息;
12.获取模块,用于获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
13.第二确定模块,用于基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息;
14.补偿模块,用于根据所述防抖补偿信息驱动所述摄像头进行防抖补偿。
15.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
16.确定摄像头在当前时刻的当前姿态信息;
17.获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
18.基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息;
19.根据所述防抖补偿信息驱动所述摄像头进行防抖补偿。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执
行时实现如下步骤:
21.确定摄像头在当前时刻的当前姿态信息;
22.获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
23.基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息;
24.根据所述防抖补偿信息驱动所述摄像头进行防抖补偿。
25.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如下步骤:
26.确定摄像头在当前时刻的当前姿态信息;
27.获取与所述当前姿态信息对应的防抖强度信息,所述防抖强度信息与所述当前姿态信息呈正相关;
28.基于所述防抖强度信息、所述当前姿态信息和所述当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息;
29.根据所述防抖补偿信息驱动所述摄像头进行防抖补偿。
30.上述光学防抖方法、装置、电子设备、计算机可读存储介质和计算机程序产品,通过确定摄像头在当前时刻的当前姿态信息,以获取与当前姿态信息呈正相关的防抖强度信息,从而能够基于当前姿态信息适配合适的防抖强度信息。基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确地确定防抖补偿信息,从而根据防抖补偿信息驱动摄像头进行防抖补偿,使得光学防抖更准确。并且,基于当前姿态信息适配合适的防抖强度信息,能够针对容易产生运动模糊和不容易产生运动模糊等多种场景进行对应的防抖补偿处理,从而能够有效适配不同的抖动场景。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为一个实施例中电子设备的图像处理电路;
33.图2为一个实施例中光学防抖方法的流程图;
34.图3为一个实施例中根据防抖补偿信息驱动摄像头进行防抖补偿的流程图;
35.图4为一个实施例中镜头在线性行程被推动的示意图;
36.图5为另一个实施例中镜头在线性行程被推动的示意图;
37.图6为另一个实施例中光学防抖方法的流程示意图;
38.图7为一个实施例中光学防抖装置的结构框图;
39.图8为一个实施例中电子设备的内部结构框图。
具体实施方式
40.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
41.本技术实施例中的光学防抖方法可应用于电子设备。该电子设备可为带有至少一个摄像头的计算机设备、个人数字助理、平板电脑、智能手机、穿戴式设备等。
42.在一个实施例中,上述电子设备中可包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(image signal processing,图像信号处理)管线的各种处理单元。图1为一个实施例中图像处理电路的示意图。如图1所示,为便于说明,仅示出与本技术实施例相关的图像处理技术的各个方面。
43.如图1所示,提供了带有两个摄像头的电子设备的图像处理电路。该图像处理电路包括第一isp处理器130、第二isp处理器140和控制逻辑器150。第一摄像头110包括一个或多个第一透镜112和第一图像传感器114。第一图像传感器114可包括色彩滤镜阵列(如bayer滤镜),第一图像传感器114可获取用第一图像传感器114的每个成像像素捕捉的光强度和波长信息,并提供可由第一isp处理器130处理的一组图像数据。第二摄像头120包括一个或多个第二透镜122和第二图像传感器124。第二图像传感器124可包括色彩滤镜阵列(如bayer滤镜),第二图像传感器124可获取用第二图像传感器124的每个成像像素捕捉的光强度和波长信息,并提供可由第二isp处理器140处理的一组图像数据。
44.第一摄像头110采集的第一图像传输给第一isp处理器130进行处理,第一isp处理器130处理第一图像后,可将第一图像的统计数据(如图像的亮度、图像的反差值、图像的颜色等)发送给控制逻辑器150,控制逻辑器150可根据统计数据确定第一摄像头110的控制参数,从而第一摄像头110可根据控制参数进行自动对焦、自动曝光等操作。第一图像经过第一isp处理器130进行处理后可存储至图像存储器160中,第一isp处理器130也可以读取图像存储器160中存储的图像以对进行处理。另外,第一图像经过isp处理器130进行处理后可直接发送至显示器170进行显示,显示器170也可以读取图像存储器160中的图像以进行显示。
45.其中,第一isp处理器130按多种格式逐个像素地处理图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,第一isp处理器130可对图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
46.图像存储器160可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括dma(direct memory access,直接直接存储器存取)特征。
47.当接收到来自第一图像传感器114接口的图像数据时,第一isp处理器130可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器160,以便在被显示之前进行另外的处理。第一isp处理器130从图像存储器160接收处理数据,并对处理数据进行rgb和ycbcr颜色空间中的图像数据处理。第一isp处理器130处理后的图像数据可输出给显示器170,以供用户观看和/或由图形引擎或gpu(graphics processing unit,图形处理器)进一步处理。此外,第一isp处理器130的输出还可发送给图像存储器160,且显示器170可从图像存储器160读取图像数据。在一个实施例中,图像存储器160可被配置为实现一个或多个帧缓冲器。
48.第一isp处理器130确定的统计数据可发送给控制逻辑器150。例如,统计数据可包
括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、第一透镜112阴影校正等第一图像传感器114统计信息。控制逻辑器150可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定第一摄像头110的控制参数及第一isp处理器130的控制参数。例如,第一摄像头110的控制参数可包括增益、曝光控制的积分时间、防抖参数、闪光控制参数、第一透镜112控制参数(例如聚焦或变焦用焦距)、或这些参数的组合等。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩校正矩阵,以及第一透镜112阴影校正参数。
49.同样地,第二摄像头120采集的第二图像传输给第二isp处理器140进行处理,第二isp处理器140处理第一图像后,可将第二图像的统计数据(如图像的亮度、图像的反差值、图像的颜色等)发送给控制逻辑器150,控制逻辑器150可根据统计数据确定第二摄像头120的控制参数,从而第二摄像头120可根据控制参数进行自动对焦、自动曝光等操作。第二图像经过第二isp处理器140进行处理后可存储至图像存储器160中,第二isp处理器140也可以读取图像存储器160中存储的图像以对进行处理。另外,第二图像经过isp处理器140进行处理后可直接发送至显示器170进行显示,显示器170也可以读取图像存储器160中的图像以进行显示。第二摄像头120和第二isp处理器140也可以实现如第一摄像头110和第一isp处理器130所描述的处理过程。
50.在一个实施例中,第一摄像头110可为彩色摄像头,第二摄像头120可为tof(time of flight,飞行时间)摄像头或结构光摄像头。tof摄像头可获取tof深度图,结构光摄像头可获取结构光深度图。第一摄像头110和第二摄像头120可均为彩色摄像头。通过两个彩色摄像头获取双目深度图。第一isp处理器130和第二isp处理器140可为同一isp处理器。
51.第一摄像头110进行拍摄时,第一isp处理器130可确定第一摄像头110在当前时刻的当前姿态信息。isp处理器可获取与当前姿态信息对应的防抖强度信息,防抖强度信息与当前姿态信息呈正相关。isp处理器可基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。isp处理器根据防抖补偿信息驱动第一摄像头110进行防抖补偿。
52.光学防抖(optical image stabilization,简称ois防抖),是指在拍摄过程中镜头内的陀螺仪侦测到微小的移动时,会将信号传至微处理器立即计算需要补偿的位移量,然后通过补偿镜片组,根据镜头的抖动方向及位移量加以补偿,从而能够有效克服因摄像头的抖动导致影像模糊的问题,并且能够适配不同的抖动场景。
53.图2为一个实施例中光学防抖方法的流程图。本实施例中的光学防抖方法,以运行于图1中的电子设备上为例进行描述。如图2所示,该光学防抖方法包括:
54.步骤202,确定摄像头在当前时刻的当前姿态信息。
55.其中,当前姿态信息是指表征摄像头在当前时刻的姿态的信息,当前姿态信息可包括曝光时间和运动速度中的至少一种。曝光时间是为了将光投射到照相感光材料的感光面上,快门所要打开的时间,就是指从快门打开到关闭的时间间隔。运动速度是指摄像头在当前时刻的运动状态所产生的速度,该运动速度可包括角速度和加速度中的至少一种。角速度可转换为摄像头在世界坐标系下的旋转矩阵。因此,旋转矩阵可用于表征摄像头的当前姿态信息。
56.具体地,电子设备的isp处理器或中央处理器可检测摄像头在当前时刻的曝光时
间和运动速度中的至少一种,将曝光时间和运动速度中的至少一种作为当前姿态信息。进一步地,可检测摄像头在当前时刻的角速度和加速度中的至少一种,将当前时刻的角速度和加速度中的至少一种作为当前时刻的运动速度。角速度可通过陀螺仪(gyroscope,简称gyro)传感器检测,加速度可通过加速度(acceleration transducer,简称acc)传感器检测。其中,陀螺仪传感器是一个简单易用的基于自由空间移动和手势定位的控制系统,加速度传感器是一种能够测量加速度的传感器。
57.在一个实施例中,电子设备的isp处理器或中央处理器可通过摄像头在当前时刻的加速度确定当前时刻的运动速度。
58.在一个实施例中,电子设备的isp处理器或中央处理器可通过陀螺仪传感器检测摄像头的角速度,以得到摄像头在当前时刻的角速度,将当前角速度信息作为摄像头的运动速度。进一步地,电子设备的isp处理器或中央处理器可通过陀螺仪传感器获取摄像头的三轴角速度,将该三轴角速度经过校正和在时间域上的积分处理,输出三轴角速度。将当前时刻的三轴角速度作为摄像头在当前时刻的运动速度。
59.或者,电子设备的isp处理器或中央处理器可通过加速度传感器检测摄像头的加速度,以得到摄像头在当前时刻的加速度,将当前时刻的加速度作为摄像头的在当前时刻的运动速度。
60.步骤204,获取与当前姿态信息对应的防抖强度信息,防抖强度信息与当前姿态信息呈正相关。
61.具体地,电子设备中预先配置了不同姿态信息所对应的防抖强度信息,姿态信息与所对应的防抖强度信息之间呈正相关关系。例如,姿态信息通过具体的数值表征,防抖强度信息通过防抖强度值表征时,表征姿态信息的数值越大,所对应的防抖强度值越大;表征姿态信息的数值越小,所对应的防抖强度值越小。
62.电子设备的isp处理器或中央处理器可根据摄像头在当前时刻的当前姿态信息,获取与该当前姿态信息相对应的防抖强度信息。
63.步骤206,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
64.其中,前序时刻是指在当前时刻之前的时刻,可以是当前时刻的前一时刻、前多个时刻,前多个时刻例如前两个时刻、前三个时刻等,但不限于此。
65.具体地,电子设备的isp处理器或中央处理器可获取当前时刻的前序时刻所对应的滤波姿态信息,根据基于防抖强度信息、当前姿态信息和前序时刻所对应的滤波姿态信息,确定防抖补偿信息。例如,根据基于防抖强度信息、当前姿态信息和当前时刻的前一时刻所对应的滤波姿态信息,确定防抖补偿信息。
66.进一步地,电子设备的isp处理器或中央处理器可获取当前时刻的前序时刻所对应的姿态信息,对前序时刻的姿态信息进行滤波处理,得到前序时刻对应的滤波姿态信息。
67.步骤208,根据防抖补偿信息驱动摄像头进行防抖补偿。
68.具体地,电子设备的isp处理器或中央处理器可基于防抖补偿信息驱动摄像头进行防抖补偿。
69.本实施例中,通过确定摄像头在当前时刻的当前姿态信息,以获取与当前姿态信息呈正相关的防抖强度信息,从而能够基于当前姿态信息适配合适的防抖强度信息。基于
防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确地确定防抖补偿信息,从而根据防抖补偿信息驱动摄像头进行防抖补偿,使得光学防抖更准确。并且,基于当前姿态信息适配合适的防抖强度信息,能够针对容易产生运动模糊和不容易产生运动模糊等多种场景进行对应的防抖补偿处理,从而能够有效适配不同的抖动场景。
70.在一个实施例中,当前姿态信息包括运动速度和曝光时间,防抖强度信息包括防抖强度值;获取与当前姿态信息对应的防抖强度信息,包括:
71.根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,运动速度、曝光时间均与防抖强度值正相关。
72.具体地,电子设备中可预先配置运动速度和防抖强度值之间的映射关系,或者曝光时间和防抖强度值之间的映射关系,还可以配置运动速度、曝光时间和防抖强度值三者的映射关系。运动速度与防抖强度值呈正相关,曝光时间与防抖强度值呈正相关。
73.电子设备的isp处理器或中央处理器可检测摄像头在当前时刻的曝光时间和运动速度中的至少一种,可根据运动速度和曝光时间中的至少一种获取对应的防抖强度值。
74.在一个实施例中,电子设备中预先配置了不同曝光时间所对应的防抖强度值。电子设备的isp处理器或中央处理器可检测摄像头在当前时刻的曝光时间,基于曝光时间与防抖强度值之间的映射关系,获取与该曝光时间所对应的防抖强度值。
75.在一个实施例中,电子设备中预先配置了不同运动速度所对应的防抖强度值。电子设备的isp处理器或中央处理器可检测摄像头在当前时刻的运动速度,基于运动速度与防抖强度值之间的映射关系,获取与该运动速度所对应的防抖强度值。
76.在一个实施例中,电子设备的isp处理器或中央处理器可检测摄像头在当前时刻的曝光时间和运动速度,基于曝光时间和防抖强度值之间的映射关系、运动速度和防抖强度值之间的映射关系,或者,运动速度、曝光时间和防抖强度值三者的映射关系中的任意一个映射关系,获取对应的防抖强度值。
77.当运动速度较小或曝光时间较短时,运动模糊不容易产生,此时产生的抖动比较小。当运动速度较大或曝光时间较长时,容易产生运动模糊,即产生的抖动比较大。本实施例中预先配置运动速度、曝光时间和防抖强度值的映射关系,确保运动速度、曝光时间均与防抖强度值正相关,根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,使得运动速度较小或曝光时间较短时,适配一个较小的防抖强度值,可计算得到较小的防抖补偿量,能够准确对不容易产生运动模糊的场景进行防抖补偿,使得镜头保持在最补偿状态。在运动速度较大或曝光时间较长时,适配一个较大的防抖强度值,可计算得到较大的防抖补偿量,能够准确对产生运动模糊的场景进行防抖补偿,同样使得镜头保持在最补偿状态。
78.在一个实施例中,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息,包括:
79.基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息。
80.具体地,电子设备的isp处理器或中央处理器可基于防抖强度信息、当前姿态信息
和当前时刻的前序时刻所对应的滤波姿态信息,将当前姿态信息和前序时刻的滤波姿态信息进行姿态融合处理,得到当前时刻的滤波姿态信息。电子设备的isp处理器或中央处理器可确定当前姿态信息和当前时刻的滤波姿态信息之间的差异,基于差异确定防抖补偿信息。防抖补偿信息是指对摄像头产生的抖动进行补偿的信息。
81.在一个实施例中,可将防抖强度信息作为当前姿态信息的权重信息,并基于防抖强度信息确定前序时刻的滤波姿态信息所对应的权重信息。当前姿态信息的权重信息可表征当前姿态信息在姿态融合过程中所占的权重,前序时刻的滤波姿态信息所对应的权重信息可表征前序时刻的滤波姿态信息在姿态融合过程中所占的权重。电子设备的isp处理器或中央处理器可基于当前姿态信息和对应的权重信息,以及前序时刻的滤波姿态信息和对应的权重信息,将当前姿态信息和前序时刻的滤波姿态信息进行姿态融合处理,得到当前时刻的滤波姿态信息。
82.在一个实施例中,姿态融合处理可以是卡尔曼滤波处理,可通过卡尔曼滤波器实现。卡尔曼滤波(kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。卡尔曼滤波器是一种由卡尔曼(kalman)提出的用于时变线性系统的递归滤波器。这个系统可用包含正交状态变量的微分方程模型来描述,这种滤波器是将过去的测量估计误差合并到新的测量误差中来估计将来的误差。
83.本实施例中,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确确定当前时刻的滤波姿态信息,从而能够当前姿态信息和当前时刻的滤波姿态信息之间的差异,准确确定防抖补偿信息,以实现抖动补偿。
84.在一个实施例中,如图3所示,防抖补偿信息包括防抖补偿量和防抖补偿行程;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息,包括步骤302-步骤304:
85.步骤302,基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿量。
86.具体地,防抖补偿信息包括防抖补偿量和防抖补偿行程。防抖补偿量表征对摄像头产生的抖动进行补偿的数值。
87.电子设备通过推镜头来实现光学防抖,镜头可在第一方向和第二方向上被推动,第一方向与第二方向相互垂直。例如镜头可在x方向和y方向上被推动,被推动的行程单位为code。而防抖补偿行程是指摄像头产生抖动时,在x方向或y方向上被推动的行程,该行程用于对摄像头产生的抖动进行补偿。该x方向垂直于y方向。
88.电子设备的isp处理器或中央处理器可基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿量。进一步地,电子设备的isp处理器或中央处理器可基于当前姿态信息和当前时刻的滤波姿态信息,分别计算出在x方向上的防抖补偿量和在y方向上的防抖补偿量。
89.在一个实施例中,基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿量,包括:基于当前姿态信息和当前时刻的滤波姿态信息,分别确定角度补偿量和平移补偿量;根据角度补偿量和平移补偿量确定防抖补偿量。
90.具体地,当前姿态信息可包括角旋转量和平移量,则当前时刻的滤波姿态信息中也包括滤波后的角旋转量和平移量。可通过加速度计检测摄像头在当前时刻的角旋转量和平移量,角旋转量包括在xyz方向上的旋转角度,平移量包括在xy方向上平移的量。角旋转
量和平移量可用于确定摄像头在当前时刻的运动速度。通过当前姿态信息中的角旋转量和滤波后的角旋转量,可计算出角度补偿量。通过当前姿态信息中的平移量和滤波后的平移量,可计算出平移补偿量。将角度补偿量和平移补偿量进行融合,得到防抖补偿量。进一步地,将角度补偿量、平移补偿量和各自的权重加权求和,得到防抖补偿量。
91.在一个实施例中,可根据摄像头和拍摄对象之间的距离确定角度补偿量和平移补偿量对应的权重。摄像头和拍摄对象之间的距离越小,则平移补偿量对应的权重越大,角度补偿量对应的权重越小。摄像头和拍摄对象之间的距离越大,则平移补偿量对应的权重越小,角度补偿量对应的权重越大。
92.步骤304,获取预设校准值,基于防抖补偿量和预设校准值,确定摄像头的防抖补偿行程。
93.具体地,电子设备中预先设置了防抖补偿量、预设校准值和行程中心位置三者之间的关联关系。预设校准值是预先设置的经验值,能够表征防抖补偿量和行程中心位置之间的关系。行程中心位置是指摄像头在可以推动的整个行程中的中心位置。
94.电子设备的isp处理器或中央处理器可确定摄像头当前所处行程的行程中心位置,并获取预设校准值,根据防抖补偿量、预设校准值和行程中心位置,计算出对应的防抖补偿行程。
95.在一个实施例中,将防抖补偿量和预设校准值的乘积,与行程中心位置之和,作为对应的防抖补偿行程。
96.在一个实施例中,电子设备中预先设置了在x方向上的防抖补偿量、预设校准值和行程中心位置三者之间的第一关联关系,以及在y方向上的防抖补偿量、预设校准值和行程中心位置三者之间的第二关联关系。电子设备的isp处理器或中央处理器可确定摄像头所处行程在x方向上和y方向上的行程中心位置。根据在x方向上的防抖补偿量、x方向上的预设校准值和在x方向上的行程中心位置,计算出x方向上的防抖补偿行程。根据在y方向上的防抖补偿量、y方向上的预设校准值和在y方向上的行程中心位置,计算出y方向上的防抖补偿行程。
97.进一步地,电子设备的isp处理器或中央处理器可将在x方向上的防抖补偿量和在x方向上的预设校准值的乘积,与在x方向上的行程中心位置之和,作为在x方向上对应的防抖补偿行程。将在y方向上的防抖补偿量和在y方向上的预设校准值的乘积,与在y方向上的行程中心位置之和,作为在y方向上对应的防抖补偿行程。
98.根据防抖补偿信息驱动摄像头进行防抖补偿,包括步骤306:
99.步骤306,根据摄像头的当前行程位置和防抖补偿行程,驱动摄像头进行防抖补偿。
100.其中,当前行程位置是指摄像头在当前所处行程中的实际位置。
101.具体地,电子设备的isp处理器或中央处理器可根据摄像头的当前行程位置,将摄像头从当前行程位置推动该防抖补偿行程,以实现防抖补偿。
102.本实施例中,基于当前姿态信息和当前时刻的滤波姿态信息,能够准确计算出克服本次抖动所需要的防抖补偿量。获取预设校准值,基于防抖补偿量、预设校准值和摄像头当前所处行程的行程中心位置,能够准确计算出克服抖动所需要的防抖补偿行程,从而能够根据摄像头的当前行程位置和防抖补偿行程,驱动摄像头进行防抖补偿。
103.在一个实施例中,根据防抖补偿信息驱动摄像头进行防抖补偿,包括:根据摄像头的当前行程位置和防抖补偿信息,确定摄像头的目标行程位置;驱动摄像头移动至目标行程位置。
104.具体地,电子设备的isp处理器或中央处理器根据摄像头的当前行程位置和防抖补偿信息,计算摄像头的目标行程位置。其中,目标行程位置是指摄像头进行防抖补偿后的位置,即摄像头消除所产生的抖动后所处的位置。电子设备的isp处理器或中央处理器驱动摄像头,从当前行程位置移动至目标行程位置,以消除摄像头产生的抖动。
105.在一个实施例中,电子设备的isp处理器或中央处理器根据摄像头在x方向上的当前行程位置和在x方向上的防抖补偿量,计算摄像头在x方向上的目标行程位置。根据摄像头在y方向上的当前行程位置和在y方向上的防抖补偿量,计算摄像头在y方向上的目标行程位置。驱动摄像头,使得摄像头移动到x方向上的目标行程位置和y方向上的目标行程位置。
106.在一个实施例中,电子设备的isp处理器或中央处理器计算出摄像头在x、y方向上的目标行程位置后,将在x、y方向上的目标行程位置下发给驱动电路,使得马达将摄像头的镜头推到x、y方向上的目标行程位置,以完成本次防抖补偿。
107.本实施例中,根据摄像头的当前行程位置和防抖补偿信息,计算出摄像头要克服本次抖动应该处于哪个位置,即目标行程位置,从而能够驱动摄像头移动至目标行程位置,以实现对本次抖动的补偿处理,使得摄像头的镜头保持在最补偿状态。
108.在一个实施例中,根据摄像头的当前行程位置和防抖补偿行程,确定摄像头的目标行程位置,包括:将摄像头的当前行程位置和防抖补偿行程进行融合处理,得到摄像头的目标行程位置。
109.具体地,电子设备的isp处理器或中央处理器可确定摄像头的当前行程位置,将摄像头的当前行程位置和防抖补偿行程进行融合处理,通过融合处理得到摄像头的目标行程位置。
110.在一个实施例中,融合处理可以是卡尔曼滤波处理,电子设备的isp处理器或中央处理器可将摄像头的当前行程位置和防抖补偿行程进行卡尔曼滤波处理,得到摄像头的目标行程位置。进一步地,可将当前行程位置和防抖补偿行程输入卡尔曼滤波器,通过卡尔曼滤波器输出摄像头的目标行程位置。
111.本实施例中,将摄像头的当前行程位置和防抖补偿行程进行融合处理,能够准确计算出摄像头处于哪个位置能够有效克服抖动。
112.在一个实施例中,在基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息之前,还包括:
113.获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,得到前序时刻对应的滤波姿态信息。
114.其中,低通滤波(low-pass filter)是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波目的而改变。低通滤波也被叫做高频去除过滤(high-cut filter)或者最高去除过滤(treble-cut filter)。
115.具体地,电子设备的isp处理器或中央处理器可确定当前时刻的前序时刻,并获取
前序时刻所对应的滤波姿态信息。电子设备的isp处理器或中央处理器对前序时刻的姿态信息进行低通滤波处理,得到前序时刻对应的滤波姿态信息。
116.在一个实施例中,可通过低通滤波器进行低通滤波处理。电子设备的isp处理器或中央处理器将前序时刻的姿态信息输入低通滤波器,得到低通滤波器输出的滤波姿态信息。该低通滤波器可以是巴特沃斯滤波器或切比雪夫滤波器。
117.本实施例中,获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,能够对前序时刻的姿态信息进行平滑去噪处理,有效剔除了短期波动,得到前序时刻对应的平滑的滤波姿态信息。
118.ois的本质是通过推镜头来实现光学防抖,如图4所示,镜头分别在x方向和y方向被推动,被推动的行程单位为code。行程范围受硬件约束,是有限的,其中线性行程范围相对更小。防抖补偿能力跟镜头的行程位置相关,如图4,当镜头位于全行程的中间位置时,镜头的两个方向的防抖补偿能力一样,镜头往左的线性行程占整个线性行程的一半,镜头向右的线性行程也是。而如图5所示,当镜头偏右的时候,此时镜头向右的防抖补偿能力减弱,同时镜头向左的补偿能力增大。由于运动方向是随机位置的,一般会追求镜头尽量在一个方向上保持居中,使得在两个方向均有最大的补偿能力。
119.传统的ois主要是抑制运动模糊,运动模糊主要受两个因素影响,一个是曝光时长,一个是运动速度。曝光时间长容易造成运动模糊,运动速度过快容易造成运动模糊。则当运动速度较小或曝光时间较短的时候,运动模糊不容易产生。那么针对那些不容易产生运动模糊的场景,应该让镜头尽量在x和y方向保持居中,以保持最佳防抖补偿状态。而传统的光学防抖方法无法对运动速度较小或曝光时间较短等不容易产生运动模糊的场景进行防抖补偿,直接使用传统的光学防抖方法对不容易产生运动模糊的场景进行防抖补偿,会造成防抖补偿能力的削弱。例如,在图5中,当向左运动速度很小但持续较大时长的时候,按照传统的光学防抖方法会推镜头去做防抖补偿,镜头的位置距离中心逐渐变远,此时镜头向右的防抖补偿能力已经被削弱很多,若向左的运动速度加快,快到会造成运动模糊运动的程度,镜头继续向右防抖补偿,则镜头很快会被推动到线性行程的最右边,从而因为撞限位丧失防抖能力。
120.如图6所示,为一个实施例中光学防抖方法的流程示意图。通过陀螺仪传感器gyro和加速度传感器acc中的至少一种检测的数据,计算出目标物的实时姿态,该目标物是指摄像头、摄像头的镜头或者陀螺仪。确定摄像头的镜头当前时刻在xy方向的实时位置值,即在x方向上的当前行程位置hall_x和在y方向上的当前行程位置hall_y,通过两个值用来计算目标行程位置target hall。具体处理过程如下:
121.基于gyro传感器和acc传感器至少一种检测的值计算目标物在当前时刻的当前姿态信息,即实时姿态qi,qi为一个向量,代表在x、y、z轴方向的姿态。根据当前的实时姿态qi获取对应的防抖强度值alpha。
122.根据防抖强度值alpha,基于实时姿态qi和上一时刻的滤波姿态qfilter
i-1
计算当前时刻的滤波姿态qfilter,公式如下:
123.qfilter=f(qi,alpha)
124.qfilter为qi和qfilter
i-1
进行姿态融合的结果,其中alpha决定了融合过程中实时姿态qi和上一时刻的滤波姿态qfilter
i-1
各自的权重。
125.通过实时姿态qi和当前时刻的滤波姿态qfilter计算防抖补偿量

q:
126.△
q=qi-qfilter
127.其中,防抖补偿量

q是一个向量,可以是角度补偿量,也可以是角度补偿量和平移补偿量的融合。
128.当实时姿态qi是(x,y,z)三个欧拉角量时,所计算得到的防抖补偿量

q是角度补偿量

q1,包括在xyz轴上的旋转角度的补偿量(

x,

y,

z),

x,

y,

z分别代表在xyz轴上的补偿量。其中

z暂时没有参与计算target hall值,因为target hall为xy方向的值。
129.在一个实施例中,实时姿态qi也可以是包括加速度计的(x,y,z,shift_x,shift_y)五个量,前三个是欧拉角旋转量,后面两个是平移量,则所计算得到的防抖补偿量

q是角度补偿量和平移补偿量的融合。
130.当实时姿态qi包括角旋转量和平移量时,即包括加速度计的(x,y,z,shift_x,shift_y)时,可使用加速度计的(x,y,z)按照上述公式计算出角度补偿量

q1,使用加速度计的(shift_x,shift_y)按照上述公式计算出平移补偿量

q2。

q2包括在xy轴上平移的补偿量。将角度补偿量

q1和平移补偿量

q2在对应方向上融合得到防抖补偿量

q,具体可以是将角度补偿量

q1、平移补偿量

q2和各自对应的权重分别在xy方向上进行加权求和,得到防抖补偿量

q。
131.获取预设校准值(gain_x,gain_y),计算target hall:
132.△
code_x=(

x*gain_x) center_code_x;
133.△
code_y=(

y*gain_y) center_code_y;
134.target_hall_x=f(

code_x,hall_x);
135.target_hall_y=f(

code_y,hall_y);
136.其中,center_code_x、center_code_y为镜头全行程的中间位置,f为当前镜头的当前行程值hall_x、hall_y与计算出来的补偿行程值

code_x、

code_y的融合,该融合方式可以是卡尔曼滤波也可以是其他融合算法。
137.下发target_hall给驱动电路driveric,让马达vcm将镜头推到目标行程位置target_hall_x、target_hall_y,完成本次的防抖补偿。
138.重复上述各个操作可实现ois防抖的处理流程,以克服摄像头的镜头所产生的抖动。
139.本实施例中,当运动速度较小或曝光时间较短时,适配一个较小的防抖强度值alpha,基于此时的alpha值,将得到一个较小的

q补偿量,从而让镜头不会离中心点太远,继续保持较强的防抖补偿能力。当运动速度较大或曝光时间较长时,适配一个较大的防抖强度值alpha,基于此时的alpha值,将得到一个较大的

q补偿量,以准确对当前的抖动进行补偿。可以根据不同曝光时长和运动速度适配防抖补偿强度,从而避免了线性行程的浪费,让镜头保持在最补偿状态。
140.在一个实施例中,提供了一种光学防抖方法,包括:
141.电子设备的isp处理器或中央处理器确定摄像头在当前时刻的运动速度和曝光时间中的至少一种,将运动速度和曝光时间中的至少一种作为摄像头在当前时刻的当前姿态信息。
142.接着,电子设备的isp处理器或中央处理器根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,运动速度、曝光时间均与防抖强度值正相关。
143.进一步地,电子设备的isp处理器或中央处理器基于防抖强度值、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息。
144.接着,电子设备的isp处理器或中央处理器基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿量。
145.接着,电子设备的isp处理器或中央处理器获取预设校准值,基于防抖补偿量、预设校准值和摄像头所处行程的行程中心位置,确定防抖补偿行程。
146.进一步地,电子设备的isp处理器或中央处理器将摄像头的当前行程位置和防抖补偿行程进行融合处理,得到摄像头的目标行程位置,并通过马达驱动摄像头移动至目标行程位置。
147.当运动速度较小或曝光时间较短时,运动模糊不容易产生,此时产生的抖动比较小。当运动速度较大或曝光时间较长时,容易产生运动模糊,即产生的抖动比较大。本实施例中预先配置运动速度、曝光时间和防抖强度值的映射关系,确保运动速度、曝光时间均与防抖强度值正相关,根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,使得运动速度较小或曝光时间较短时,适配一个较小的防抖强度值,可计算得到较小的防抖补偿量,能够准确对不容易产生运动模糊的场景进行防抖补偿,使得镜头保持在最补偿状态。在运动速度较大或曝光时间较长时,适配一个较大的防抖强度值,可计算得到较大的防抖补偿量,能够准确对产生运动模糊的场景进行防抖补偿,同样使得镜头保持在最补偿状态。
148.基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确确定当前时刻的滤波姿态信息。基于当前姿态信息和当前时刻的滤波姿态信息,能够准确计算出克服本次抖动所需要的防抖补偿量。获取预设校准值,基于防抖补偿量、预设校准值和摄像头当前所处行程的行程中心位置,能够准确计算出摄像头要克服本次抖动应该处于哪个位置,即目标行程位置,从而能够驱动摄像头移动至目标行程位置,以实现对本次抖动的补偿处理,使得摄像头的镜头保持在最补偿状态。并且,基于当前姿态信息适配合适的防抖强度信息,能够针对容易产生运动模糊和不容易产生运动模糊等多种场景进行对应的防抖补偿处理,从而能够有效适配不同的抖动场景。
149.应该理解的是,虽然图2-图3、图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3、图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
150.图7为一个实施例的光学防抖装置的结构框图。如图7所示,该光学防抖装置700包括:第一确定模块702、获取模块704、第二确定模块706和补偿模块708,其中:
151.第一确定模块702,用于确定摄像头在当前时刻的当前姿态信息。
152.获取模块704,用于获取与当前姿态信息对应的防抖强度信息,防抖强度信息与当前姿态信息呈正相关。
153.第二确定模块706,用于基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定防抖补偿信息。
154.补偿模块708,用于根据防抖补偿信息驱动摄像头进行防抖补偿。
155.本实施例中,通过确定摄像头在当前时刻的当前姿态信息,以获取与当前姿态信息呈正相关的防抖强度信息,从而能够基于当前姿态信息适配合适的防抖强度信息。基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确地确定防抖补偿信息,从而根据防抖补偿信息驱动摄像头进行防抖补偿,使得光学防抖更准确。并且,基于当前姿态信息适配合适的防抖强度信息,能够针对容易产生运动模糊和不容易产生运动模糊等多种场景进行对应的防抖补偿处理,从而能够有效适配不同的抖动场景。
156.在一个实施例中,获取模块704,还用于根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,运动速度、曝光时间均与防抖强度值正相关。
157.当运动速度较小或曝光时间较短时,运动模糊不容易产生,此时产生的抖动比较小。当运动速度较大或曝光时间较长时,容易产生运动模糊,即产生的抖动比较大。本实施例中预先配置运动速度、曝光时间和防抖强度值的映射关系,确保运动速度、曝光时间均与防抖强度值正相关,根据摄像头在当前时刻的运动速度和曝光时间中的至少一种获取对应的防抖强度值,使得运动速度较小或曝光时间较短时,适配一个较小的防抖强度值,可计算得到较小的防抖补偿量,能够准确对不容易产生运动模糊的场景进行防抖补偿,使得镜头保持在最补偿状态。在运动速度较大或曝光时间较长时,适配一个较大的防抖强度值,可计算得到较大的防抖补偿量,能够准确对产生运动模糊的场景进行防抖补偿,同样使得镜头保持在最补偿状态。
158.在一个实施例中,第二确定模块706,还用于基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,确定当前时刻的滤波姿态信息;基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿信息。
159.本实施例中,基于防抖强度信息、当前姿态信息和当前时刻的前序时刻所对应的滤波姿态信息,能够准确确定当前时刻的滤波姿态信息,从而能够当前姿态信息和当前时刻的滤波姿态信息之间的差异,准确确定防抖补偿信息,以实现抖动补偿。
160.在一个实施例中,第二确定模块706,还用于基于当前姿态信息和当前时刻的滤波姿态信息,确定防抖补偿量;获取预设校准值,基于防抖补偿量和预设校准值,确定摄像头的防抖补偿行程;
161.补偿模块708,还用于根据摄像头的当前行程位置和防抖补偿行程,驱动摄像头进行防抖补偿。
162.本实施例中,基于当前姿态信息和当前时刻的滤波姿态信息,能够准确计算出克服本次抖动所需要的防抖补偿量。获取预设校准值,基于防抖补偿量、预设校准值和摄像头当前所处行程的行程中心位置,能够准确计算出克服抖动所需要的防抖补偿行程,从而能够根据摄像头的当前行程位置和防抖补偿行程,驱动摄像头进行防抖补偿。
163.在一个实施例中,补偿模块708,还用于根据摄像头的当前行程位置和防抖补偿信
息,确定摄像头的目标行程位置;驱动摄像头移动至目标行程位置。
164.本实施例中,根据摄像头的当前行程位置和防抖补偿信息,计算出摄像头要克服本次抖动应该处于哪个位置,即目标行程位置,从而能够驱动摄像头移动至目标行程位置,以实现对本次抖动的补偿处理,使得摄像头的镜头保持在最补偿状态。
165.在一个实施例中,补偿模块708,还用于将摄像头的当前行程位置和防抖补偿行程进行融合处理,得到摄像头的目标行程位置。
166.本实施例中,将摄像头的当前行程位置和防抖补偿行程进行融合处理,能够准确计算出摄像头处于哪个位置能够有效克服抖动。
167.在一个实施例中,第二确定模块706,还用于获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,得到前序时刻对应的滤波姿态信息。
168.本实施例中,获取当前时刻的前序时刻所对应的姿态信息,对前序时刻所对应的姿态信息进行低通滤波处理,能够对前序时刻的姿态信息进行平滑去噪处理,有效剔除了短期波动,得到前序时刻对应的平滑的滤波姿态信息。
169.上述光学防抖装置中各个模块的划分仅用于举例说明,在其他实施例中,可将光学防抖装置按照需要划分为不同的模块,以完成上述光学防抖装置的全部或部分功能。
170.图8为一个实施例中电子设备的内部结构示意图。如图8所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种光学防抖方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
171.本技术实施例中提供的光学防抖装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本技术实施例中所描述方法的步骤。
172.本技术实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行光学防抖方法的步骤。
173.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行光学防抖方法。
174.本技术实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(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)。
175.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表