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

一种图像处理方法和电子设备与流程

2022-04-24 17:58:01 来源:中国专利 TAG:


1.本技术实施例涉及图像处理领域,尤其涉及一种图像处理方法和电子设备。


背景技术:

2.目前,电子设备大多具有拍摄功能。通过该拍摄功能,电子设备能够为用户提供拍摄照片或者视频的服务。以用户通过电子设备进行视频拍摄为例。在进行视频拍摄的过程中,由于电子设备不可避免地或出现位置移动(如用户在拍摄过程中的手部抖动),由此会使得拍摄获取的视频出现不清晰的情况。
3.为了应对这种情况,电子设备可以通过视频防抖技术(如电子防抖技术以及光学防抖技术),对拍摄获取的视频中的各个帧图像进行校正,以最终获得较为清晰的视频。但是,使用目前的方案进行校正的过程对于计算带宽的要求较高,由此使得电子设备的功耗显著提升,同时使得提供拍摄功能的模块的硬件选型受限,成本较高。


技术实现要素:

4.本技术实施例提供一种图像处理方法和电子设备,可以在拍摄过程中,根据预测的有效曝光范围,调整图像传感器的输出图像的尺寸,由此在起到第一级防抖效果的同时,减小isp 优化处理的计算压力,提升电子设备的计算效率。
5.为了达到上述目的,本技术实施例采用如下技术方案:
6.第一方面,提供一种图像处理方法,应用于具有拍摄功能的电子设备,方法包括:在拍摄时,电子设备获取第一图像对应的原始输入图像,原始输入图像的画幅小于电子设备对第一图像进行全画幅曝光时获取的图像。电子设备对原始输入图像进行优化处理,以获取防抖输入图像。电子设备对防抖输入图像进行防抖处理,以获取第一图像对应的防抖输出图像。
7.基于该方案,电子设备可以在图像传感器进行图像输出时,就起到第一级防抖的效果。其中,在本示例中,画幅的大小可以对应到图像的fov(或视野范围)的大小。在一些实现方式中,图像传感器可以根据预测的第一图像的有效曝光范围,进行选择性曝光,或者对获取的全画幅曝光进行裁切,获取与后续防抖处理时接近范围的原始输入图像。由此使得电子设备(如isp)可以在进行优化处理之前,即进行第一级防抖裁切掉一部分像素,以便isp 不需要对被裁切掉的部分像素进行无效的优化处理,进而降低isp的计算压力。同时,由于原始输入图像在被输出时已经进行了第一次防抖(如上述说明中的达到了第一次裁切的效果),因此结合后续的防抖处理,能够获取更好的防抖效果。
8.在一种可能的设计中,第一图像是电子设备拍摄的视频流中的第k帧图像,k为大于或等于2的整数。电子设备在获取原始输入图像之前,方法还包括:电子设备根据视频流中,第k-m帧到第k-n帧中每一帧图像分别对应的运动矢量,预测第k帧图像的有效曝光范围,帧图像对应的运动矢量用于标识获取帧图像时,电子设备的抖动情况,m为大于或等于1的整数。n为大于或等于1,且小于或等于m的整数。电子设备获取原始输入图像,包括:电子
设备在有效曝光范围内进行曝光,获取原始输入图像。或者,电子设备对第一帧图像进行全画幅曝光,根据有效曝光范围,对全画幅曝获取的图像进行裁切,获取原始输入图像。基于该方案,提供了一种预测第k帧图像的有效曝光范围的具体方案。即根据电子设备缓存的历史帧图像获取过程中的抖动情况(如上述运动矢量)预测获取第k帧图像的有效曝光范围。在该示例中,获取有效曝光范围之后,电子设备可以通过调整图像传感器的有效曝光范围,直接获取对应区域的原始输入图像。电子设备还可以先进行全画幅的曝光,并结合预测的有效曝光范围,对该曝光结果进行裁切,以获取上述原始输入图像。由于有效曝光范围的预测是结合了运动矢量进行的,因此能够有效地根据当前手机的抖动情况,自适应地调整有效曝光范围的预测结果,由此达到第一级防抖的目的。
9.在一种可能的设计中,电子设备根据第k-m帧到第k-n帧中每一帧图像分别对应的运动矢量,预测第k帧图像的有效曝光范围,包括:电子设备根据p个运动矢量,预测第k帧图像的运动矢量,p个运动矢量包括在第k-m帧到第k-1帧中每一帧图像分别对应的m个运动矢量中,p为小于或等于m的整数。电子设备根据预测的第k帧图像的运动矢量,以及平滑处理后的第k帧图像的运动矢量,预测确定第k帧图像对应的单应性变换h矩阵。电子设备根据预测的h矩阵,以及防抖输出图像的范围,确定第k帧图像的防抖输入图像的范围。电子设备根据防抖输入图像的范围,确定第k帧图像的有效曝光范围。基于该方案,提供了一种具体的预测获取第k帧图像的有效曝光范围的示例。在该示例中,电子设备可以根据第k 帧图像之前的帧图像,(如第k-m帧图像到第k-1帧图像的运动矢量,或者这些运动矢量中的一部分运动矢量)预测获取第k帧图像的运动矢量。可以理解的是,该运动矢量可以是未做平滑处理之前的运动矢量,而为了达到第一级防抖的效果,所预测获取的有效曝光范围应当是与平滑处理之后的运动矢量对应的,因此,在本示例中,可以对上述预测获取的第k帧图像的运动矢量进行平滑处理,以获取对应的平滑处理之后的运动矢量。结合上述说明,根据该平滑处理之后的运动矢量,即可预测确定第k帧图像的防抖输入图像的范围。因此,就可以根据该预测的防抖输入图像的范围,确定第k帧图像的有效曝光范围。例如,防抖输入图像的范围可以与有效曝光范围相当,也可是防抖输入图像的范围稍小于有效曝光范围。另外,在图像传感器只能够进行矩形区域的曝光时,该有效曝光范围可以是一个与防抖输入图像对应的矩形区域,其中应当包括防抖输入图像中的大部分像素。
10.在一种可能的设计中,帧图像的运动矢量是获取帧图像的过程中,获取帧图像的中心行像素时刻的运动矢量。帧图像的中心行像素时刻的运动矢量通过以下方法获得:电子设备在获取帧图像的过程中,采集两个或多个运动矢量,电子设备对两个或多个运动矢量进行插值计算,确定获取帧图像的中心行像素的时刻的运动矢量。其中,获取帧图像的中心行像素的时刻是曝光中心行像素过程中的一个时刻,或者读取中心行像素的时刻。基于该方案,提供了一种确定帧图像对应的运动矢量的方案示例。在本示例中,由于帧图像的曝光或读取是一个时间段内发生的,而在这个时间段内可以采集多个运动矢量,而不同时刻的运动矢量可以是不同的。因此,在本示例中可以通过曝光帧图像中间行像素的时刻对应的运动矢量作为该帧图像的运动矢量,也可将读取中间行像素的时刻对应的运动矢量作为该帧图像的运动矢量。当然,在另一些实现方式中,也可采用获取其他行像素的时刻对应的运动矢量作为该这图像的运动矢量。
11.在一种可能的设计中,运动矢量是通过运动传感器获取的旋转角度矢量。基于该
方案,提供了一种运动矢量的具体实现。在本示例中,运动矢量可以是陀螺仪等运动传感器采集获取的旋转角度矢量。该旋转角度矢量可以是在某一时刻,以预设的参考零点为基准,旋转角度的累积量。当然,在其他一些实现方式中,该运动适量还可通过其他运动传感器获取,其具体实现也可不同。
12.在一种可能的设计中,第一图像是电子设备拍摄的视频流中的第k帧图像,k为大于或等于2的整数,第k帧图像对应的防抖输入图像在进行防抖处理时,第k r帧图像完成对应的优化处理,获取第k r帧对应的防抖输入图像。r为大于或等于0的整数。电子设备对防抖输入图像进行防抖处理,包括:电子设备根据q个运动矢量,对第k帧图像的运动矢量进行平滑处理,获取平滑处理后的第k帧图像的运动矢量。其中,q个运动矢量包括在视频流的第k-m帧到第k r帧图像中每一个帧图像分别对应的m 1 r个运动矢量中,q为小于或等于m 1的整数。根据第k帧图像的运动矢量,以及平滑处理后的第k帧图像的运动矢量,确定第k帧图像对应的单应性变换h矩阵。电子设备根据h矩阵,以及防抖输出图像的范围,确定第k帧图像的防抖输入图像的范围。电子设备根据防抖输入图像的范围,确定第k帧图像的有效曝光范围。基于该方案,提供了一种对优化后的防抖输入图像进行防抖处理的具体方案。例如,根据第k-m帧到第k r帧图像中各个帧图像对应的运动矢量的全部或部分,对第k帧图像的运动矢量进行平滑处理,由此获取第k帧对应的h矩阵,并据此确定防抖输出图像的区域,进而进行第二级裁剪,以获取更好的防抖效果。
13.在一种可能的设计中,该方法还包括:电子设备接收用户的第一操作,第一操作用于指示电子设备进行二级防抖。响应于第一操作,电子设备根据预测的第一图像的有效曝光范围获取原始输入图像。基于该方案,电子设备可以根据用户的操作,灵活调整防抖机制。例如,可以根据用户进行二级防抖的指令,进行原始图像获取过程中的第一级裁切和对优化后的防抖输入图像的第二级裁切,由此实现二级防抖,获取较好的防抖效果。
14.在一种可能的设计中,该方法还包括:电子设备接收用户的第二操作,第二操作用于指示电子设备进行一级防抖。响应于第二操作,电子设备对第一图像进行全画幅曝光,获取对应的曝光结果。电子设备对曝光结果进行优化处理,以获取对应的优化结果。电子设备对优化结果进行防抖处理,以获取对应的防抖结果。基于该方案,电子设备还可以通过用户的指令,将防抖机制调整为一级防抖。
15.第二方面,提供一种电子设备,电子设备用于执行如第一方面及其可能的设计中任一项所述的图像处理方法。
16.第三方面,提供一种电子设备,电子设备具有拍摄功能。电子设备包括一个或多个处理器和一个或多个存储器。一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令。当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面及其可能的设计中任一项所述的图像处理方法。
17.第四方面,提供一种计算机可读存储介质,包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面及其可能的设计中任一项所述的图像处理方法。
18.第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其可能的设计中任一项所述的图像处理方法。
19.应当理解的是,上述第二方面,第三方面,第四方面,以及第五方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的图像处理方法,因此能够达
到的有益效果类似,此处不再赘述。
附图说明
20.图1为一种拍摄显示的示意图;
21.图2为一种多帧图像的抖动示意图;
22.图3为一种电子防抖的逻辑过示意图;
23.图4为一种多个相邻帧图像处理的对比示意图;
24.图5为本技术实施例提供的一种电子设备的组成示意图;
25.图6为本技术实施例提供的一种图像处理方法的流程示意图;
26.图7为本技术实施例提供的一种图像的处理对比示意图;
27.图8为本技术实施例提供的又一种图像的处理对比示意图;
28.图9为本技术实施例提供的一种帧图像与运动矢量的对比示意图;
29.图10为本技术实施例提供的一种实施效果的示意图;
30.图10a为本技术实施例提供的一种卷帘门效应的示意图;
31.图10b为本技术实施例提供的一种不同变焦倍率下的实施效果的示意图;
32.图10c为本技术实施例提供的一种帧图像的时序示意图;
33.图11为本技术实施例提供的一种防抖图像的预测示意图;
34.图12为本技术实施例提供的一种图像处理方法的处理逻辑示意图;
35.图13为本技术实施例提供的一种操作界面的示意图;
36.图14为本技术实施例提供的又一种操作界面的示意图;
37.图15为本技术实施例提供的又一种操作界面的示意图;
38.图16为本技术实施例提供的又一种操作界面的示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a 和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
40.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
41.在电子设备进行拍摄时,可以采集场景中的光信号,并生成基于该光信号的送显信号在显示屏上进行显示。示例性的,请参考图1,在电子设备中可以设置有包括镜头111,图像传感器112的拍摄模块110。拍摄模块110可以获取与当前拍摄场景对应的信号,并将该信号传输给图像处理器(image signal processor,isp)120进行处理。该isp 120可以对来自拍摄模块110的信号进行处理后获取当前拍摄场景的数字信号,并将该数字信号传输给电子设备的显示模块(图1中未示出)进行显示。
42.电子设备可以通过上述如图1所示的方案拍摄照片,也可以通过如图1所示的方法实现视频的拍摄。可以理解的是,视频可以包括多个帧图像。在电子设备连续地在显示屏上依次按照顺序显示各个帧图像时,用户就可以在显示屏上看到拍摄的视频画面。
43.示例性的,以电子设备拍摄视频为例。对于该视频中的任意一个帧图像的拍摄,电子设备可以通过拍摄模块110中的镜头111获取场景中拍摄对象对应的光信号。拍摄模块110中的图像传感器112可以对该光信号进行曝光,通过图像传感器112上设置的多个光电转换单元,将对应位置接收到的光信号转换为电信号,在完成对于一次快门的光信号的曝光后,图像传感器112即可输出与当前帧图像对应的原始图像的电信号数据流(也可称为电信号流)。该电信号流可以被传输给isp 120进行处理,获取处理后的信号。其中,isp 120对于电信号流的处理可以包括去噪,防抖等处理。电子设备可以对该处理后的信号进行编码,以获取能够被显示屏所处理的数字信号,进而将该数字信号传输给显示屏显示当前帧图像。类似的,电子设备还可以通过上述方式获取并在显示屏上显示该视频的其他帧图像,由此就可以通过显示屏向用户展示预览过程中/拍摄过程中的视频画面。
44.应当理解的是,在进行拍摄过程中,电子设备不可避免地会出现位置的移动和/或姿态的变化。例如,在用户手持电子设备进行视频拍摄时,由于手部的轻微抖动,会使得不同帧图像出现偏移。比如,结合图2的示意,拍摄不同帧图像时电子设备出现横向的移动,使得第 a帧图像相较于第a-1帧图像出现了向右的偏移,而第a 1帧图像相较于第a帧图像出现了向左的偏移。这样,如果直接在显示屏上顺序显示上述三个帧图像(即第a-1帧,第a帧,第a 1帧),就会使得视频画面晃动不清楚,进而显著地影响到拍摄效果。本技术中,可以将上述不同帧图像出现偏移的现象称为视频图像帧的抖动。
45.为了解决上述问题,目前可以采用电子防抖(electronic image stabilization,eis) 和光学防抖(optical image stabilization,ois)等视频防抖技术对视频图像帧的抖动进行平滑稳定处理,以此提升拍摄效果。
46.示例性的,以光学防抖为例。在根据光学防抖技术提升拍摄效果时,电子设备可以通过其中设置的机械结构(如位移马达)调整镜头中各个镜片的相对位置,以及镜头与图像传感器之间的位置关系,以便对电子设备的抖动进行补偿,由此提升拍摄效果。作为一种示例,电子设备可以根据其中设置的陀螺仪、加速度传感器、位置传感器等传感器,结合比例-积分
ꢀ‑
微分(proportion integral differential,pid)等控制算法,获取位移马达的目标位置。进而通过控制位移马达移动到目标位置,实现对于镜头和/或图像传感器的位置调整,由此补偿电子设备的抖动造成的视频帧图像的抖动,实现提升拍摄效果的目的。
47.可以理解的是,在采用光学防抖提升拍摄效果时,由于需要在电子设备中设置位移马达等机械结构,因此需要占用较大的空间。而受限于马达的行程以及调整精度,难以实现较大幅度的调整,因此补偿相对位移的能力有限。
48.电子防抖能够通过对图进行处理,实现较大幅度的调整,因此也经常被使用在电子设备中。示例性的,电子设备可以通过其中设置的陀螺仪(gyroscope),以及当前帧图像的特征等信息,计算获取不同帧图像随时间变化的运动情况。电子设备可以根据不同帧图像随时间变化的运动情况,对各个帧图像进行调整,使得时序相邻或相近的帧图像视野(field of view, fov)内容变化更加平滑。由此使得在显示时序相邻或相近的帧图像时,同一拍摄对象对应的像素在不同帧图像中的位置变化不会过于激烈,达到提升拍摄效果的
目的。一般而言,在根据电子防抖对各个帧图像进行处理时,需要根据抖动情况选择性去除图像边缘的部分像素,使得保留下来的像素所构成的帧图像的的内容更加平滑稳定。因此,处理后的帧图像一般会小于处理前的帧图像。也就是说,在对帧图像的处理过程中,从效果上相当于对获取的帧图像进行了“裁切”(或称为“裁剪”),使得由多个帧图像构成的视频画面能够稳定在较为平滑的拍摄路径上。作为一种示例,图3示出了一种电子防抖的逻辑过程。其中,将图像传感器获取的帧图像称为原始帧图像,经过电子防抖处理后的帧图像称为输出帧图像。如图3所示,在isp中进行电子防抖的处理后,输出帧图像相比于原始帧图像,会有一部分(如图中的裁切部分)被裁切掉。类似的,在对视频的其他帧图像进行处理时,电子设备也可以按照如图3所示的逻辑分别对其进行防抖处理。图4示出了多个相邻帧图像在被处理后的示意图。其中,以相邻的帧图像为第a-1帧,第a帧,以及第a 1帧图像为例。如图4所示,电子设备可以根据原始的三个帧图像以及帧图像对应的运动情况,确定目标各个帧图像之间的运动情况。例如,第a帧图像与第a-1帧图像相比,出现了401所示的位移。又如,第a 1帧图像与第a帧图像相比,出现了402所示的位移。电子设备可以根据401所示的位移方向以及大小,以及402所示的位移方向以及大小,对第a-1帧图像、第a帧图像以及第a 1帧图像进行防抖处理。以获取裁切后的图像作为防抖处理的输出图像(如图4所示的阴影部分)。可以看到,处理后的三个帧图像在画面中心较为平滑稳定,因此在连续播放裁切后的第a-1帧图像、第a帧图像,以及第a 1帧图像时,视频画面就会比显示防抖处理前的帧图像更加稳定。
49.应当理解的是,在相邻或相近的帧图像的抖动幅度增大时,为保持同样的帧图像防抖效果,所需要的裁切区域就会比较大。当裁切区域固定时,随着相邻或相近帧图像抖动幅度增加,防抖裁切后的图像帧更接近原始帧图像的边界,当抖动幅度增加到超过某种临界幅度时,由于防抖裁切后的图像帧已经濒临原始帧图像的边界,为保证防抖后的帧图像素有效,只能牺牲相邻帧间的平滑程度。例如,结合图4所示的第a帧和第a 1帧图像,由于需要将这两帧图像进行路径平滑,而这两帧图像的相对位移较大,因此需要裁切掉原始帧图像中的较多区域。结合图3,在电子设备实际处理过程中,输入isp的图一般为原始帧图像,在进行裁切之前,isp可以对各个帧图像进行降噪等优化处理,这些优化处理消耗大量运算资源,并且通常与帧图像的尺寸正相关。而由于在防抖处理之后,各个帧图像都需要被裁切掉一定区域,这部分区域不会用于最终图像显示,这使得被裁切掉部分的优化处理事实形成电子设备处理能力的浪费(即浪费了电子设备的计算带宽)。
50.例如,表1示出了裁剪比例与裁剪区域在原始帧图像中占比的对应关系示例。
51.表1
52.裁切比例20%30%40%面积比例36%51%64%
53.其中,裁切比例为对裁切前后,输出图像与输入图像(即原始帧图像)相比,被裁切掉的区域对应长/宽在输入图像的长/宽中所占比例。比如,输入图像的长为1,宽也为1,输出图像的长为0.8,宽也为0.8,则裁切比例即为(1-0.8)/1=20%。如表1所示,当裁切比例为20%时,输入帧图像中有36%的区域被裁切,也就是说,isp对于该输入帧图像的优化处理过程中,有36%的计算被浪费。当裁切比例为30%时,输入帧图像中有51%的区域被裁切,也就是说,isp对于该输入帧图像的优化处理过程中,有51%的计算被浪费。当裁切比例
为40%时,输入帧图像中有64%的区域被裁切,也就是说,isp对于该输入帧图像的优化处理过程中,有64%的计算被浪费。
54.另外,在实际实现过程中,isp能够处理的最大图分辨率、最大计算吞吐量有限,而随着对拍摄要求的不断提高,来自于图像传感器的原始帧图像的分辨率越来越大,这样也就会使得一些较大分辨率的原始帧图像无法被isp处理。想要实现对这类较大分辨率的原始帧图像进行处理,就需要采用处理能力更为强大的isp部件,这也就造成了产品设计过程中的硬件选型受限,成本提升。
55.当然,在一些是实现方式中,还可以结合上述两种方案(如电子防抖和光学防抖),以提升拍摄效果。但是,上述处理计算能力的浪费以及硬件成本的提升问题依然存在。
56.为了解决上述问题,本技术实施例提供一种图像处理方法,在图像传感器曝光过程中根据预测的运动情况,调整图像传感器的曝光区域,使得在图像传感器进行曝光过程中实现第一级防抖裁剪。图像传感器可以将裁剪后的帧图像输入给isp进行优化以及二次防抖处理,由此能够显著地提升isp的运算效率,节省设备功耗,降低硬件选型限制和设计成本,同时提升防抖效果。
57.以下结合附图对本技术实施例提供的方案进行详细说明。
58.本技术实施例提供的图像处理方法,能够应用于具有拍摄功能的电子设备中。例如,该电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda) 等移动终端,也可以是专业的相机等设备,本技术实施例对电子设备的具体类型不作任何限制。
59.示例性的,图5示出了电子设备500的一种结构示意图。电子设备500可以包括处理器 510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,usb) 接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块 550,无线通信模块560,音频模块570,扬声器570a,受话器570b,麦克风570c,耳机接口570d,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriber identification module,sim)卡接口595等。其中传感器模块 580可以包括压力传感器580a,陀螺仪传感器580b,气压传感器580c,磁传感器580d,加速度传感器580e,距离传感器580f,接近光传感器580g,指纹传感器580h,温度传感器580j,触摸传感器580k,环境光传感器580l,骨传导传感器580m等。
60.处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器 (application processor,ap),调制解调处理器,图形处理器(graphics processing unit, gpu),图信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器 (neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
61.其中,控制器可以是电子设备500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
62.处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器
510 中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
63.电子设备500通过gpu,显示屏594,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏594和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
64.显示屏594用于显示图,视频等。显示屏594包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode, oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic lightemitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled, microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled) 等。在一些实施例中,电子设备500可以包括1个或n个显示屏594,n为大于1的正整数。例如,显示屏594可以用于显示延时摄影模式下的预览界面和拍摄界面,以及延时摄影视频的播放界面等。
65.电子设备500可以通过isp,摄像头593,视频编解码器,gpu,显示屏594以及应用处理器等实现拍摄功能。
66.isp用于处理摄像头593反馈的数据。例如,在拍摄照片或者拍摄视频时,打开快门,光线通过镜头被传递到摄像头曝光元件(如图像传感器)上,光信号转换为电信号,摄像头曝光元件将电信号传递给isp处理,转化为肉眼可见的图。isp还可以对图的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp 可以设置在摄像头593中。应当理解的是,结合图1,在该示例中的摄像头可以对应到如图1 所示的拍摄模块510。图1中是以isp设置在拍摄模块510之外为例进行说明的,在本技术的另一些实现方式中,如上述说明,isp也可设置在拍摄模块510之中。
67.摄像头593用于捕获静态图或视频。物体通过镜头生成光学图投射到曝光元件。曝光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,cmos)光电晶体管。曝光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图信号。dsp将数字图信号转换成标准的rgb, yuv等格式的图信号。在一些实施例中,电子设备500可以包括1个或n个摄像头593,n为大于1的正整数。
68.其中,摄像头593还可以包括多种类型。例如,摄像头593可以包括具有不同焦段的长焦摄像头,广角摄像头或超广角摄像头等。其中,长焦摄像头的视场角小,适用于拍摄远处小范围内的景物;广角摄像头的视场角较大;超广角摄像头的视场角大于广角摄像头,可以用于拍摄全景等大范围的画面。在一些实施例中,视场角较小的长焦摄像头可转动,从而可以拍摄不同范围内的景物。
69.在本技术的实施例中,曝光元件采集的尚未经过isp处理的图可以称为原始输入图像。或者原始帧图像。原始输入图像可以被传输给isp进行处理(例如原始输入图像可以被传输给配置有不同优化算法的isp通道(pipeline)进行优化处理,以获取对应的防抖输入图像。防抖输入图像可以在isp或者其他处理器(如gpu或者cpu等)中进行防抖处理,以获取具有防抖效果的防抖输出图像。以拍摄视频为例,视频中的各个帧图像经过上述优化处
理以及防抖处理之后,可以经过编码以及送显,在电子设备500中的显示屏594上顺序显示,以便向用户展示预览过程中(或者拍摄过程中)获取的视频画面。
70.需要说明的是,在本技术实施例中,某一帧图像原始输入图像可以是图像传感器根据预测的当前帧图像对应的有效曝光范围获取的。其中,当前帧图像对应的有效曝光范围可以是电子设备(如电子设备中的具有预测功能的模块,比如该模块可以为cpu,gpu或者isp等) 根据获取的各个帧图像对应的运动矢量,结合各个已经获取的防抖输出图像的范围预测获取的。各个帧图像的有效曝光范围对应的帧图像可以被传输给图像传感器进行缓存。以便图像传感器在获取对应帧图像时,根据该有效曝光范围获取对应的原始输入图像。可以理解的是,该原始输入图像的尺寸一般小于通过全画幅曝光后获取的图像的尺寸,而通过上述方案后获取的原始输入图像能够筛除掉在后续防抖处理过程中将要被裁切掉的部分像素,因此,在被输入给isp进行优化处理的过程中,可以有效地提升计算效率,减小对isp运算的压力。
71.数字信号处理器用于处理数字信号,除了可以处理数字图信号,还可以处理其他数字信号。例如,当电子设备500在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
72.视频编解码器用于对数字视频压缩或解压缩。电子设备500可以支持一种或多种视频编解码器。这样,电子设备500可以播放或录制多种编码格式的视频,例如:动态图专家组 (moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
73.内部存储器521可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行电子设备500的各种功能应用以及数据处理。内部存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图播放功能等)等。存储数据区可存储电子设备500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
74.在本技术的实施例中,处理器510可以运行存储在内部存储器521中的指令,在拍摄视频时,根据预测的运动矢量,控制调整图像传感器的曝光区域,在采集光信号的过程中滤除后续会在防抖处理中被裁切的部分像素,达到对原始输入图像的第一级防抖裁切的效果。原始输入图像进行第一级防抖裁切之后可以被传输给isp进行优化处理,其后可以在其他处理部件中进行防抖处理进行第二级防抖裁切,并获取对应的输出图像进行送显。在本示例的说明中,防抖裁切的操作也可简称为裁切。比如,第一级防抖裁切也可称为第一级裁切,第二级防抖裁切也可称为第二级裁切。
75.触摸传感器580k,也称“触控面板”。触摸传感器580k可以设置于显示屏594,由触摸传感器580k与显示屏594组成触摸屏,也称“触控屏”。触摸传感器580k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏594提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器580k也可以设置于电子设备500的表面,与显示屏594所处的位置不同。
76.可以理解的是,本技术实施例示意的结构并不构成对电子设备500的具体限定。在本技术另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部
件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
77.应当理解的是,电子设备(如手机)中可以运行有一个或多个拍照应用程序,以便通过运行拍照应用程序,实现拍摄的功能。例如,该拍照应用程序可以包括系统级应用“相机”应用。又如,该拍照应用还可以包括其他安装在电子设备中的能够用于拍摄的应用程序。
78.以下将以电子设备为手机,手机的屏幕为上述触控屏,用户使用手机中的“相机”应用拍摄视频为例,对本技术实施例提供的图像处理方法进行阐述。
79.为了使得本领域技术人员能够更加清楚地对本技术实施例提供的方案进行清楚的了解,以下对视频中的任意一个帧图像(如第一图像),采用本技术实施例提供的方案进行采集和处理的方法进行详细说明。
80.请参考图6,为本技术实施例提供的一种图像处理方法的流程示意图。如图6所示,该方法可以包括:
81.s601、根据预测的第一运动矢量,获取第一图像对应的第一原始输入图像。
82.其中,第一图像的第一原始输入图像的尺寸小于图像传感器所能够采集图的最大尺寸。
83.在本示例中,手机可以根据历史数据(如采集当前的第一图像之前获取的传感器所采集的运动数据,又如采集当前第一图像之前经过防抖处理的图数据),预测未来一段时间内手机的抖动情况,并且根据当前的出帧信息匹配未来该段时间内各帧全画幅原始输入图像。需要说明的是,第一原始输入图像的范围的确定,可以是根据其他帧图像及其对应的运动矢量预测确定的。其中,出帧信息可以包括全画幅原始输入帧图像的出帧时间间隔、帧的曝光时长、帧的首行完成曝光时间、帧的末行完成曝光时间等信息。该抖动情况可以通过第一运动矢量标识。作为一种示例,该第一运动矢量可以为手机当前抖动时对应的三维旋转角度矢量,比如,该三维旋转角度矢量可以标识为(θx,θy,θz)。其中,θx为采集该第一图像时,对应时刻手机旋转角度矢量在x方向的分量,θy为对应时刻手机旋转角度矢量在y方向的分量,θz为对应时刻手机旋转角度矢量在z方向的分量。需要说明的是,图像曝光成像过程需要一定的时间。比如,对于卷帘快门的相机,图像曝光过程是从首行开始到末行逐行开始曝光,也就是说每行起始曝光时间有所不同。因此,图像的不同行像素的曝光可以对应到一列时间序列。另外。在图像曝光过程中,运动矢量可以是通过对运动传感器采样所获得的。在一个帧图像的曝光过程中,可以通过运动传感器获取多个运动矢量,因此,该多个运动矢量的获取时间也可构成一个时间序列(简称为时序)。由于帧图像的曝光过程中的时序与运动传感器获取运动矢量的时序可能不同,因此,在本技术的一些实现方式中,可以将图像数据(如图像曝光过程中的时序)与运动传感器获取运动矢量过程中的时序进行配准对其,以获取图像数据与运动矢量在时序上的准确的对应。需要说明的是,上述示例中,是以对图像曝光过程的时序与运动矢量的获取时序进行配准为例进行说明的。在本技术的另一些实现方式中,还可以针对图像曝光完成后,数据读出的时序与运动矢量的获取时序进行配准,以便确定图像的获取与运动矢量的获取过程中的对应。
84.可以理解的是,结合对现有的电子防抖方案的说明,在手机控制图像传感器进行全画幅的图采集时,根据该第一运动矢量,手机就可以对该全画幅的原始输入图像进行优
化处理以及防抖处理。在防抖处理的过程中,会对图进行裁切,以获取与相邻或相近的帧图像能够平滑播放的效果。由于上述裁切,在优化处理过程中的部分图会被丢弃,因此造成这部分运算的浪费。本示例中,可以根据预测的第一运动矢量,调整输入isp进行优化处理之前的原始输入图像,得到在输入isp进行优化处理之前的第一级裁切的效果。在该第一级裁切过程中,可以将在后续防抖处理过程中可能会被丢弃的部分图去除,获取小于全画幅曝光时获取的原始输入图像的第一原始输入图像。由此使得第一原始输入图像在被输入isp进行优化处理过程中,大部分优化处理的像素都会被后续防抖处理过程保留,以此提升计算效率。
85.示例性的,在一些实现方式中,电子设备可以根据第一运动矢量,调整图像传感器的有效曝光范围,使得图像传感器只在该有效曝光范围中进行曝光。在该有效曝光范围之外接收到的光信号可以被视为无效信号。由此,通过曝光,图像传感器就可以输出具有与第一运动矢量对应的第一原始输入图像。例如,请参考图7。在电子设备控制图像传感器进行如图7 中的(a)所示的全画幅曝光时,其对应获取的原始输入图像如图7中的(b)所示。而根据本示例中所述方法进行原始图像的获取时,电子设备中的isp可以根据第一运动矢量,确定在获取第一图像时,需要设置的图像传感器的有效曝光范围,使得图像传感器可以在获取第一图像时,根据上述有效曝光范围(如图7中的(c)所示的黑色填充区域)进行曝光。图像传感器还可以将该有效曝光范围之外的光电感应单元(如图7中的(c)所示的白色填充区域) 曝光所获取的信息确定为无效信息。由此图像传感器就可以输出如图7中的(d)所示的第一原始输入图像。对比如图7中的(b)和图7中的(d)所示的原始输入图像,可以看到,根据本示例所示方法获取的原始输入图像的尺寸更小,因此在被输入到isp中进行优化处理时,所占用的计算带宽更小,更有利于计算效率的提升。
86.在另一些实现方式中,电子设备还可以控制图像传感器进行全画幅的曝光,获取全画幅曝光对应的中间图像。电子设备还可以根据第一运动矢量,对上述中间图像进行裁切,将裁切后的图作为第一图像对应的第一原始输入图像进行输出。例如,结合图8,电子设备可以在采集第一图像时,控制如图8中的(a)所示的图像传感器中的所有光电转换单元进行有效曝光,以此获取如图8中的(b)所示的中间图像。根据第一运动矢量,电子设备中的预测模块(如cpu)可以确定该中间图像中可能会被裁切掉的区域,并确定该区域的坐标。cpu可以将该可能会被裁切掉的区域的坐标传输给图像传感器,以便图像传感器可以根据该区域的坐标,对中间图像进行裁切,获取如图8中的(c)中黑色填充区域所示的第一原始输入图像。需要说明的是,该对中间图像的裁切,可以是由具有该功能的图像传感器的相关单元执行的,也可以是由isp执行的。
87.应当理解的是,上述两种方案的选取可以是根据实际需要灵活选择以获取第一原始输入图像。例如,在电子设备的图像传感器能够支持动态调整有效曝光范围时,可以采用如图7 所示的方案。又如,在电子设备的图像传感器能够在曝光后对曝光获取的图中的数据进行选择性输出(即输出裁切后保留部分的图像对应的数据)时,可以采用如图8所示的方案。本技术实施例对于第一原始输入图像的具体获取方式不做限定。
88.需要说明的是,本技术实施例中,是以图像传感器从cpu中获取第一运动矢量对应的有效区域的信息为例进行说明的,在本技术的另一些实现中,图像传感器还可以是从其他部件,如gpu,isp等能够根据第一运动矢量确定有效区域的信息的部件中获取的。该获取
的过程可以是图像传感器主动获取,也可以是图像传感器被动接收的。
89.s602、对第一原始图像进行优化处理,获取第一防抖输入图像。
90.在获取如上述s601中所示的第一原始输入图像之后,图像传感器可以见该第一原始输入图像传输给isp进行优化处理。结合前述说明,在isp中可以配置有一个或多个优化算法,对应于一个或多个isp pipeline。第一原始输入图像的数据可以被输入到对应的isppipeline中进行优化计算,以便获取与第一图像对应的防抖输入图像。
91.s603、对第一防抖图像进行防抖处理,获取第一防抖输出图像。
92.应当理解的是,由于视频拍摄过程中的手部抖动等原因,导致不同帧图像的拍摄路径会出现突变,由此使得在连续播放帧图像时出现拍摄对象不清楚的问题。也就是说,要解决该问题,在对当前帧图像进行防抖处理时,需要结合该帧图像之前的图进行防抖处理,才能达到处理之后的多个帧图像的拍摄路径变得平滑的目的。
93.本示例中,可以根据各个帧图像对应的旋转角度矢量对当前帧图像进行防抖处理。其中,旋转角度矢量可以根据电子设备中的陀螺仪提供的各个时刻的三维角速度计算获取。
94.以下对旋转角度矢量的获取进行示例性说明:
95.一般而言,电子设备对于帧图像的采样频率和陀螺仪采集三维角速度的采样频率可能不同,也就是说,每一帧图像可能对应到不止一个三维角速度。本示例中,电子设备可以根据图像传感器对当前帧图像曝光的过程中,采集到的三维角速度,确定当前帧图像的曝光过程中,各个时刻的旋转角度。根据旋转角度,电子设备就可以确定获取第k帧图像时的旋转角度矢量。
96.例如,请参考图9,电子设备在采样第b-3帧图像的过程中,进行了三次三维角速度的采集。类似的,电子设备在采样第b-2帧图像的过程中,也进行了三次三维角速度的采集。电子设备在采样第b-1帧图像的过程中,也进行了三次三维角速度的采集。电子设备在采样第b帧图像的过程中,同样可以进行三次三维角速度的采集。电子设备可以将第一次陀螺仪采样的时刻手机所处位置记为0点,根据读取所有像素数据过程中采样获取的不同时刻的三维角速度(如(w
x1
,w
y1
,w
z1
),(w
x2
,w
y2
,w
z2
)以及(w
x3
,w
y3
,w
z3
)),计算获取对应时刻下旋转角度的累积(如(θ
x1

y1

z1
),(θ
x2

y2

z2
)以及(θ
x3

y3

z3
))。通过在曝光(或读取)第b帧的所有像素时间范围内,对(θ
x1

y1

z1
),(θ
x2

y2

z2
)以及(θ
x3

y3

z3
)进行插值。即可获取该第b帧图像的曝光(或读取)过程中,各个时刻下手机角度的变化情况。比如,在曝光(或读取)第b帧图像的过程中,相邻两个时刻的旋转角度可以由如下公式(1)进行说明:
97.θ
t
=θ
t-1
t*0.5*(ω
t
ω
t-1
)
……
公式(1)。
98.本示例中,可以将图像传感器中间行像素曝光中间时刻(或读取时刻)的旋转角度作为处理对象,代表对应帧图像在被获取时手机所处角度。例如,可以将第b帧图像的中间行对应的角度θk=(θ
xk

yk

zk
)作为第b帧图像对应的旋转角度。
99.类似的,电子设备还可以获取第b-1帧的旋转角度θ
k-1
=(θ
x(k-1)

y(k-1)

z(k-1)
),以及其他帧图像对应的旋转角度。应当理解的是,按照上述方案确定的不同帧图像的旋转角度,可以以相同的0点为基础,因此,每个帧图像对应的旋转角度均可称为一个旋转角度矢量。也就是说,每个帧图像可以对应与一个旋转角度矢量。
100.需要说明的是,在本示例的说明中,是以通过陀螺仪提供的三维角速度作为运动
矢量为例进行说明的。在本技术的另一些实现方式中,还可以通过电子设备中其他传感器(如重力传感器,又如加速度传感器,又如磁传感器,又如位置传感器,又如图像传感器等)采集获取的数据,来标识采集不同帧图像时手机的运动情况。本技术实施例对此不做限制。
101.在获取各个帧图像对应的旋转角度矢量之后,电子设备就可以据此对当前处理的帧图像进行防抖处理。需要说明的是,进行防抖处理的部件可以是电子设备中的isp,也可以是其他能够用于实现对应功能的部件,比如,可以在gpu或者cpu中进行防抖处理。本技术实施例对于进行防抖操作的主体不做限定。以下以在cpu中进行防抖处理为例进行说明。
102.示例性的,以电子设备的cpu在接收到第k帧图像时,电子设备中存储有m个帧图像以及每个帧图像对应的运动矢量为例。其中,帧图像和/或帧图像对应的运动矢量可以是存储在 cpu中的缓存区域中的,也可以是存储在电子设备中的其他存储介质(如图4所示的内部存储器121中),在isp需要使用时从内部存储器121中的调用的。本技术实施例对于相关数据的存储位置不做限定。
103.结合上述对图9的说明,cpu可以确定存储的m个帧图像(如第k-m帧图像,第k-m 1 帧图像,
……
,第k-1帧图像)以及第k帧图像各自的运动矢量。本示例中,将这些帧图像对应的运动矢量组成的集合记为{θcenter,i},其中i为[k-m,k]中的一个整数。cpu可以根据该{θcenter,i}对第k帧图像进行防抖处理。
[0104]
在本技术的另一些实现中,由于第k帧图像在cpu中进行防抖处理时,电子设备已经可以获取第k帧图像之后的一些帧图像对应的运动矢量,因此,在本示例中,{θcenter,i}中除了可以包括以上第k-m帧图像到第k帧图像的运动矢量,还可以包括上述第k帧之后的运动矢量,并据此进行以下处理,由此即可获取更加准确的第k帧对应的平滑处理之后的运动矢量,从而提升第k帧图像的防抖效果。
[0105]
可以理解的是,对第k帧图像的防抖处理,可以分解为多第k帧图像中各个像素的变换处理。而由于{θcenter,i}中各个旋转角度矢量即可表征各个帧图像在获取时手机的运动情况,因此,可以对{θcenter,i}中的各个元素进行平滑处理,以便获取平滑处理后的各个帧图像对应的旋转角度矢量。根据平滑处理后的旋转角度矢量,对第k帧图像中的各个像素进行变换,即可获取防抖处理之后的第k帧图像的各个像素。
[0106]
在本示例中,帧图像(如第k帧图像)的每个像素从平滑处理之前到平滑处理之后的变换记为单应性变换,即对应于h变换矩阵。也就是说,第k帧图像中的各个像素通过h变换矩阵的计算,即可获取防抖处理之后的像素。其中,h矩阵可以根据旋转矩阵r,相机内参矩阵k确定。例如,h矩阵可以根据如下公式(2)确定。
[0107]
h=krk-1
……
公式(2)。
[0108]
其中,旋转矩阵r可以根据{θcenter,i}以及平滑处理之后的各个帧图像对应的旋转角度矢量构成的集合{θsmooth,i}确定。可以将{(θcenter,i)-(θsmooth,i)}作为旋转角度矢量带入罗德里格斯公式,由此即可计算获取旋转矩阵r。
[0109]
此外,可以理解的是,由于防抖处理是基于原始输入图像进行的优化处理,因此,在进行防抖处理时,需要保证防抖输出图像中的像素都在原始输入图像的范围内。本技术中,将该需求称为需要保证不出现对于无效像素的索引。
[0110]
基于上述说明,本示例提供以下方案a,确定{θsmooth,i}中帧图像对应的平滑稳像后对应的运动矢量(如θ
smooth,k
),以使得经过该防抖处理之后的帧图像中的每个像素在进
行基于上述h矩阵的单应性变换后获取的像素可以变得更加平滑,同时不出现无效像素的索引。
[0111]
方案a:使用提供将θ
smooth,k
作为目标求解项,以相邻帧位姿(即相邻帧图像的旋转角度矢量)的一阶、二阶、三阶差分作为控制项约束位姿序列(如θ
smooth,k
)曲线的平滑性,以 (θ
center,k
)-(θ
smooth,k
)作为惩罚项,约束目标平滑后位姿与原始位姿的差,降低因过度平滑产生的迟滞。在约束项中,以防抖输出图像边界点在h变换下对应输入图像坐标为有效像素作为约束。使用数值计算求解器进行迭代求解,并将符合上述约束条件的最优解确定为θ
smooth,k

[0112]
这样,根据上述方案确定θ
smooth,k
后,即可结合上述公式(2),计算获取h矩阵,由此即可建立第k帧图像的防抖输入图像和防抖输出图像的映射关系。根据该映射关系,cpu即可计算获取防抖输出图像。类似的,cpu还可据此获取其他帧图像对应的h矩阵。由此,cpu即可对包括第k帧图像在内的视频中的帧图像进行防抖处理,以获取拍摄路径平滑的各个帧图像对应的防抖输出图像。
[0113]
可以看到,基于上述方案说明,应用本技术实施例提供的图像处理方案,由于输入isp 进行优化处理的图小于图像传感器全画幅采集的原始输入图像,因此能够显著降低isp的处理压力。另外,图像传感器在输入原始输入图像时,已经根据预测的运动矢量对曝光区域进行了调整,起到了初步防抖的功效,因此能够在提升isp运算效率的同时,结合在cpu中的第二级防抖处理,实现对于帧图像的更优化防抖。示例性的,请参考图10。按照现有技术中的方案执行过程如图10中的(a),图10中的(b)以及图10中的(c)所示。其中,如图 10中的(a)所示,图像传感器进行全画幅曝光,获取如图10中的(b)所示的全画幅原始输入图像。该原始输入图像在进行isp的优化处理以及在cpu中的防抖处理之后,可以获取如图10中的(c)所示的黑色区域的防抖输出图像。可以看到,在优化处理过程中被处理的第1行,最后1行,以及前两列的像素都被裁切掉了,使得对于这些像素的优化处理计算被浪费。而采用本技术所述方案时,图像传感器可以控制其有效曝光范围为如图10中的(d) 所示的范围。由此即可进行曝光输入如图10中的(e)所示的原始输入图像。可以看到,该原始输入图像的尺寸小于如图10中的(b)所示的现有技术提供的原始输入图像。如图10中的(e)所示的原始输入图像可以被传输给isp进行优化处理以及在cpu中的防抖处理,后获取如图10中的(f)所示的防抖输出图像。比较图10中的(e)以及图10中的(f),可以看到,防抖处理过程中所裁切的像素中仅有将第二列的部分像素经过优化处理,因此被裁切掉部分的经过优化处理的像素数量远小于现有技术中对应的像素数。而由于防抖效果近似,因此本技术所述方案能够在实现有效的防抖效果的同时,节省优化计算过程中的计算带宽,提升运算效率。
[0114]
应当理解的是,对于视频中的其他帧图像,也可参考上述第一图像的获取以及处理方法,实现不同帧图像之间的防抖处理。在本技术的另一些实现方式中,还提供解决同一帧图像内不同行像素的防抖处理方案。
[0115]
示例性的,由于图像传感器在工作时,曝光是逐行进行的。也就是说,不同行像素的曝光时间有差异。例如,结合图10a。第1行像素从时刻1开始曝光,在时刻3结束曝光。第2 行像素则从时刻2开始曝光,在时刻4结束曝光。可以看到,第1行像素的曝光时间段与第 2行像素的曝光时间段并不相同。由此导致在结束曝光时第1行像素的读出时间(如时刻3) 与第2行像素的读出时间(如时刻4)存在延迟。类似的,第2行和第3行,第3行和第4 行,第4
行和第5行,图像传感器的其他行(如10a中未示出)也存在上述读出时间的延迟。一般而言,该延迟可以在10毫秒左右。这样就会导致该帧图像在根据读出的数据合成为一个完整的图像时,出现纵向失真。这种纵向失真也可称为由于卷帘门效应(rolling shuttereffect,或称为果冻效应)导致的图像失真。
[0116]
结合上述对图6及其可能实现方式的说明,本示例中,在通过上述方案实现不同帧图像之间的防抖处理的同时,还可以对同一帧图像中不同行像素进行防抖处理,由此减轻卷帘门效应对于一个帧图像的成像影响。作为一种可能的实现方式,并结合上述说明,电子设备可以根据曝光帧图像的时间段内获取的多个运动矢量,插值确定在该时间段内运动矢量的变化情况。由此,就可以根据曝光每一行像素的时刻,确定对应的运动矢量。例如,结合图9,根据第b帧图像曝光过程(如时刻a到时刻b)中,获取的3个运动矢量(如运动矢量a,运动矢量b,以及运动矢量c),电子设备可以通过插值计算,获取在曝光该第b帧图像的过程中,从时刻a到时刻b运动矢量的连续变化情况。由于第b帧图像中每行像素的曝光时间(如曝光一行像素的中间时刻)是确定的,因此,可以从上述时刻a到时刻b运动矢量的连续变化中提取每行像素在曝光时对应的运动矢量。
[0117]
结合对图6的说明,电子设备可以确定第b帧图像中间行像素对应的运动矢量θ
center,b
以及对应的平滑后的运动矢量θ
center,b
。在本示例中,电子设备可以以该θ
center,b
为平滑目标,以各个行像素对应的运动矢量为输入,计算获取每行对应的h矩阵。由此,在对该第b帧图像进行h矩阵的像素映射(即图像形变(warp)变换)时,就可以将每行像素均平滑到中间行像素的目标路径上。这样,就能够补偿由于卷帘门效应导致的不同行像素之间的延时导致的图像变形。
[0118]
当然,针对其他帧图像,电子设备也可按照上述方式进行该帧图像内的防抖处理,以便提升每帧图像的成像效果。
[0119]
另外,采用本技术实施例提供的方案,也能够适应于不同变焦倍率(zoom ratio)下的计算效率的提升。结合图10b进行说明。图10b中,是以变焦倍率大于1x(1倍)为例进行说明的,在该变焦倍率下对应所需的fov小于1x的变焦倍率下对应所需的fov大小。现有技术中,无论变焦倍率是多少,图像传感器都会输出全画幅的原始输入图像1。该全画幅的原始输入图像1可以被传输给isp。isp可以对该原始输入图像1进行优化处理,后根据当前的变焦倍率对优化处理后的图像进行对应的fov裁切,获取与当前变焦倍率相应的fov区域,这样即可获取防抖输入图像1。该防抖输入图像1可以被cpu进行防抖处理,以获取防抖输出图像1。相较于现有技术,本技术中,由于原始输入图像的获取是根据预测的有效区域进行选择性曝光获取的,而在预测有效区域的过程中,已经参考了当前倍率下图像的尺寸。因此,如图10b所示,根据本技术所述方法获取的原始输入图像2的尺寸是与变焦倍率相适应的。原始输入图像2的尺寸显著小于原始输入图像1的尺寸。因此,在isp进行优化处理时,所处理的图像中不会包括由于变焦倍率需要被裁切掉的部分,在不需要裁切的操作,即可优化获取对应的防抖输入图像2。可以理解的是,在总的裁切区域相同的条件下,采用本技术所述方案,isp输入的图像更小,而且不需要根据变焦倍率调整原始输入图像,由此能够显著地降低isp的处理压力。
[0120]
需要说明的是,现有技术中,根据变焦倍率调整fov的过程一般为中心裁切,因此不具备任何防抖效果。而本技术提供的方案,能够根据预测的结果动态地调整原始输入图
像的区域位置,由此起到第一级防抖的效果。因此,本技术实施例提供的方案能够提供更好的防抖效果。
[0121]
在本技术实施例的上述说明中,提出了根据历史存储的运动矢量,预测未获取的帧图像的运动矢量,并据此调整图像传感器的有效曝光范围,进而达到对全画幅的原始输入图像进行第一级裁切效果的方案。为了使得本领域技术人员能够更加清楚地了解本方案的实施,以下对预测帧图像的有效区域的方法进行示例性说明。
[0122]
在本技术实施例中,电子设备可以通过预测尚未获取的帧图像的运动矢量,结合已经获取的帧图像的防抖输出图像的范围,预测确定尚未获取的帧图像的防抖输入图像的范围。图像传感器可以根据该防抖输入图像的范围,进行选择性曝光,以便图像传感器可以在曝光后输出原始输入图像时,即筛除可能在后续防抖过程中被裁切部分的像素。其中,图像传感器的有效曝光范围可以与防抖输入图像的范围一致,也可以不同。例如,图像传感器的有效曝光案范围可以稍大于防抖输入图像的范围,以便在原始输入图像中可以保存更多的有效像素,使得第二级防抖的效果更好。需要说明的是,在图像传感器的有效曝光范围为矩形时,防抖输入图像的范围如果不是规则的矩形,那么,可以在图像传感器上选取一个矩形区域,使得该矩形区域能够对防抖输入图像的范围进行覆盖。
[0123]
示例性的,以电子设备中的cpu执行防抖处理,cpu当前接收到第k帧图像的防抖输入图像为例。结合图10c,示出了视频中包括的多个帧图像的时序关系。可以理解的是,cpu即将对第k帧图像进行防抖处理时,当前时刻cpu输出的防抖输出图像对应的帧图像应当是第 k帧图像之前的某一图像(如第k-p)帧图像。而在获取第k-p帧图像之前,电子设备还可以存储有对更多帧图像(如第k-m帧到第k-p-1帧)进行防抖处理的相关信息。其中,该相关信息可以包括各个帧图像对应的防抖输出图像,以及在获取这些帧图像时各个帧图像分别对应的运动矢量。另外,第k-p帧到第k帧之间的帧图像,虽然尚未输出对应的防抖输出图像,但是cpu也能够知晓各个帧图像对应的运动矢量。此外,由于在对第k帧图像进行防抖处理,预测的计算,以及图像传感器的配置和信号在图像传感器与isp和cpu之间的传递会引入延时,因此,在本示例中,cpu可以根据第k-m帧图像到第k帧图像的运动矢量,预测第k帧之后的帧图像(如第k 1帧到第k n帧)分别对应的运动矢量。cpu还可以第k-m帧图像到底k n帧图像的运动矢量进行平滑处理,并据此确定第k 1帧到第k n帧分别的防抖输入图像的范围。由此,cpu就可以通过isp将第k 1帧到第k n帧各自帧图像对应的防抖输入图像的范围(也可对应到有效曝光范围的范围)传输给图像传感器,以便图像传感器可以在需要获取对应帧图像时,根据cpu预测的该帧图像的有效曝光范围的范围,进行选择性曝光,以便达到实现第一级裁切的效果。
[0124]
上述说明中,m、n、p均为非负的整数。特别的,在本技术实施例的一些实现中,p可以为16或30。在本技术的另一些实现中,m可以为30。
[0125]
可以理解的是,由于预测的防抖输入图像的范围是根据防抖输出图像的范围结合运动矢量预测获取的,因此,根据该预测的防抖输入图像的范围获取的原始输入图像,能够有效地将在防抖处理过程中会被筛除掉的部分像素排除在外。也就是说,由此获取的原始输入图像在经过isp优化处理,以及cpu的防抖处理之后,只会有很少一部分像素被裁切,因此能够显著提升isp优化处理过程中的计算效率。
[0126]
示例性的,以预测第k n帧图像对应的有效区域为例。在cpu中可以预先配置有能
够进行旋转角度矢量预测的预测神经网络模型。例如,该预测神经网络模型可以是以统计的陀螺仪采集的数据作为真实值进行训练确定的。在cpu接收到第k帧图像的防抖输入图像时,可以将上述第k-m帧到第k帧的旋转角度矢量输入到该预测神经网络模型中,预测获取第k帧之后的帧图像的旋转角度矢量。例如,可以根据该预测神经网络模型,获取第k 1帧图像的旋转角度矢量,第k 2帧图像的旋转角度矢量,以及第k n帧图像的旋转角度矢量。
[0127]
cpu可以根据m 1个帧图像对应的旋转角度矢量,以及预测神经网络模型进行计算,获取第k帧图像之后的n帧图像的旋转角度矢量。比如,以n=3为例,预测结果可以为第k 1 帧,第k 2帧以及第k 3帧的旋转角度矢量。cpu可以将该预测的3个旋转角度矢量与缓存的m 1个旋转角度矢量(即第k-m帧到第k帧图像分别对应的旋转角度矢量)组合以获取完整的旋转角度矢量序列,如将该旋转角度矢量序列记为{θraw,i},其中,i为k-m到k之间任一个整数。可以理解的是,该旋转角度矢量序列{θraw,i}可以用于标识从第k-m帧图像到第 k 3帧图像在被获取时手机的运动状态。结合上述关于在cpu中进行防抖处理的方案说明, isp在预测第k 1帧图像到第k 3帧图像在防抖处理之后的旋转角度矢量,还需要确定各个帧图像的{θraw,i}对应的平滑处理之后的旋转角度矢量序列{θsmooth,i}。其中,该平滑处理之后的旋转角度矢量序列{θsmooth,i}的获取可以根据前述方案a确定。在本技术的另一些实现方式中,还提供了一下方案b,能够用于确定{θsmooth,i}。以下以获取θ
smooth,k
为例。
[0128]
方案b:该方案使用滤波的方式根据θ
raw,k
确定对应的θ
smooth,k
。例如,该方案b可以包括:
[0129]
步骤1、使用预先训练好的平滑神经网络对θ
raw,k
进行平滑,由此获取平滑旋转角度矢量 1(如记为θ1)。
[0130]
步骤2、cpu可以将该θ
raw,k
与θ1进行融合处理。在一些实现中,cpu可以根据阿尔法(alpha) 滤波对θ
raw,k
与进行融合处理,由此获取旋转角度矢量2(如记为θ2)。
[0131]
步骤3、确定θ2与{θraw,i}中对应第k帧图像的运动矢量θ
k,θraw
的差值δθ。即,δθ=θ
2-θ
k,θraw

[0132]
步骤4、cpu可以确定δθ是否落在预设的第一预设范围内,当δθ没有落在该第一预设范围内时,则调整θ2以使得调整后的θ'2能够满足重新计算的δθ落入该第一预设范围内。可以理解的是,当δθ落在该第一预设范围内时,则不需对θ2进行调整,也就是说,此时存在以下对应关系:θ'2=θ2。
[0133]
步骤5、将θ'2与θ2做差,并将结果带入罗德里格斯公式计算获取对应的旋转矩阵r。进而根据该旋转矩阵r,结合上述公式(2),计算获取第k帧图像对应的单应性变换矩阵h。
[0134]
步骤6、确定防抖输出图像的边界点(如防抖输出图像的四个端点的坐标,或者防抖输出图像的中心点,以及长宽信息),以根据步骤5获取的矩阵h对该边界点进行变换以获取的防抖输入图像的坐标为原始输入图像中的有效坐标为约束条件。当所有边界点对应的防抖输入图像的坐标都落入原始输入图像的有效范围之内时,则认为不需对θ'2再次进行调整。而当存在边界点对应的防抖输入图像的坐标没有落入原始输入图像的有效范围之内时,则对θ'2继续进行调整,以获取能够使得所有防抖输入图像的边界都在原始输入图像的有效像素范围内。将符合上述要求的运动矢量记为θ
″2。
[0135]
步骤7、对θ
″2进行高斯滤波,并以滤波后的θ
″′2对应在h变换之前的防抖输入图像的边界落入原始输入图像的有效范围之内作为约束条件。如果不满足上述约束条件,则适
应性地降低高斯滤波强度,直至满足上述约束条件,以获取对应的滤波结果θ
″′2。
[0136]
需要说明的是,上述处理过程中,步骤4、步骤6以及步骤7中的约束与调整,能够保证预测的运动矢量能够保证防抖输入图像的边界不超过原始输入图像的边界。例如,请参考图11。在上述三个步骤中,cpu可以根据当前的h变换矩阵,确定与防抖输出图像的四个顶点对应的防抖输入图像的顶点位置。在防抖输入图像上的一个顶点(如p1)出现在了原始输入图像的范围之外时,则需要对当前的h变换矩阵对应的平滑处理后的矢量序列进行调整,以便将p1点调整到如图11所示的p1’所示的在原始输入图像的有效像素范围内。由此保证能够顺利按照滤波计算获取的矢量序列还原防抖输入图像的边界点位置。
[0137]
可以理解的是,通过上述步骤1-步骤7,可以获取各个帧图像对应的平滑稳像之后的运动矢量。比如,cpu可以据此确定k 1帧,第k 2帧,以及第k n帧的平滑稳像后的运动矢量预测结果。该预测结果计算获取的h矩阵即可提供对应帧图像的防抖输入图像和防抖输出图像之间的坐标映射关系。cpu可以根据确定的防抖输出图像边界点,确定防抖输入图像的有效范围。例如,以防抖输出图像边界点为四个顶点为例。可以根据上述映射关系,以及防抖输出图像的四个顶点的坐标,变换确定防抖输入图像对应的四个顶点的坐标位置。由此,可以根据防抖输入图像对应的四个顶点的坐标位置,确定图像传感器进行有效曝光的有效曝光范围。cpu可以将该有效曝光范围的顶点坐标传输给图像传感器,以便图像传感器据此调整有效曝光范围,获取对应的原始输入图像。
[0138]
需要说明的是,在对预测得到的各个帧图像进行平滑处理的过程中,可以采用上述方案 b滤波获取。在另一些实施例中,还可以采用前述方案a进行迭代计算获取。当然,也可结合方案a和方案b,比如将方案b的结果作为方案a的输入继续进行迭代计算,以获取更加精确的计算结果。在实际的实现过程中,可以灵活选取上述方案或者搭配使用,本技术实施例对此不作限制。
[0139]
结合上述说明,本技术实施例提供的方案可以通过如图12所示的逻辑过程说明。如图 12所示,图像传感器可以在获取帧图像之前,获取cpu对于将要获取的帧图像的有效曝光范围的预测结果。图像传感器可以在获取对应帧图像时,根据该帧图像对应的有效曝光范围,进行部分画幅的曝光,并获取小于全画幅曝光的原始输入图像。这就完成了第一级裁切。原始输入图像可以被输入给isp进行优化处理。经过优化处理的图像可以被称为防抖输入图像。防抖输入图像可以在cpu中被进行防抖处理,执行第二级裁切。在进行防抖处理之后的防抖输出图像就可以被编码送显,在电子设备中的显示屏上展示给用户。另外,根据该防抖输入图像,cpu还可以预测未来帧图像的有效曝光范围,并将该预测结果发送给图像传感器(如通过isp发送给图像传感器),以便与图像传感器据此在获取未来帧图像时调整有效曝光范围,循环指向上述过程。需要说明的是,图12中是以防抖输出图像直接用于编码送显为例进行说明的,在本技术的另一些实现方式中,经过防抖处理的防抖输出图像还可以在编码送显之前经过其他部件进行相应的处理,本技术实施例对此不作限制。
[0140]
需要说明的是,在本技术的另一些实现方式中,电子设备还可以结合其他因素,在预测的基础上,灵活调整第一级裁切的比例和第二级裁切的比例分布,以获取更好的防抖效果。
[0141]
示例性的,在一些实施例中,电子设备可以根据环境亮度以及曝光时间的长短等环境信息,调整第一级裁切比例和/或第二级裁切比例。比如,在高亮度场景向低亮度场景
中进行切换时,电子设备可以适当减弱第二级裁切的比例,增加第一级裁切的比例,由此达到电子防抖动态减弱的效果。以便在较低亮度的场景中不会由于防抖效果太强导致主观上运动模糊过于明显。又如,在电子设备从低运动场景向高运动场景中切换时,电子设备可以适当增加第二级裁切的比例,对应减小第一级裁切的比例,由此达到电子防抖动态增强的效果。
[0142]
在另一些实现方式中,电子设备还可以结合当前的变焦倍率(zoom ratio),对预测的防抖输入图像的区域进行调整。由此实现根据不同变焦倍率,适应性地调整第一级裁剪范围的效果。
[0143]
结合上述说明,在用户使用手机进行视频拍摄时,手机可以根据上述说明中提供的图像处理方法对视频中的帧图像进行防抖处理,以在提高计算效率的同时获取较好的防抖效果。示例性的,结合图13。用户可以点击或触摸如图13中的(a)所示的相机应用的图标1301,使得手机进入拍摄预览界面。拍摄预览界面可以显示如图13中的(b)所示的预览图像1302。用户可以通过选取界面上显示的“人像”按钮进行人像照片的拍摄,通过选取界面上显示的“拍照”按钮进行普通照片的拍摄,用户还可以通过选取界面上显示的“录像”按钮进行视频的拍摄。以用户拍摄视频为例。用户在选取“录像”按钮之后,可以点击或触摸界面上的开始拍摄按钮1303。响应于该操作,手机就可以开始录制视频。需要说明的是,结合上述对本方案的说明,手机可以在开始录制视频之后第n帧开始,根据预测的有效曝光范围进行第一级裁切。在本示例中,从开始录制视频的第1帧到第n-1帧图像,手机可以控制图像传感器进行全画幅的曝光获取对应的原始输入图像,或者,手机可以控制图像传感器以isp能够处理的最大画幅为依据,进行中心裁切,即裁切掉外围像素,保留中心部分像素,使得保留的像素所生成的原始输入图像能够被isp进行优化处理。而从第n帧开始,图像传感器就可以根据isp预测的有效曝光范围进行选择性曝光,将有效曝光范围对应的光信号转换为电信号并输出为原始输入图像。或者,图像传感器可以在进行全画幅曝光之后根据有效曝光范围对该全画幅曝光获取的中间图像进行裁切,以获取与有效曝光范围对应的原始输入图像。
[0144]
应当理解的是,在实际应用中,本技术实施例提供的两次裁剪的防抖方案,可以是预置在电子设备中的,也可以是用用户手动设置的。例如,结合图14,在手机的预览界面上,可以显示有防抖提示信息(如图14中的(a)所示的1401)。用户可以点击或触摸用于标识只进行一级防抖的图标1402,以控制手机在进行录像时,只进行第一级裁切或者第二级裁切。其中,进行一级防抖时,手机对应进行第一级裁切或第二级裁切,可以是预先配置的,也可以是用户自行设置的。在用户点击或触摸如图14中的(b)所示的1403时,手机可以响应于该操作同时启用第一级裁切和第二级裁切,按照本示例中示出的图像处理方案实现二级防抖。需要说明的是,上述示例中,是以用户通过点击界面上对应的操作调整防抖等级为例进行说明的。在本技术的另一些实现方式中,用户还可以在对应区域输入滑动操作,以实现对防抖等级的调整。例如,结合图15。如图15中的(a)所示,当前的防抖等级默认为一级防抖,即只进行一次裁切。用户可以在界面上输入如1501所示的上滑操作,以增加防抖等级。响应于该操作,手机可以将防抖等级调整为二级防抖,并在界面上显示如图15中的(b)所示的界面。可以看到,通过接收用户的上滑操作,实现了将如图15中的(a)所示的一级防抖切换为二级防抖的目的。
[0145]
另外,在本技术的另一些实现方式中,用户还可以通过操作手机进入设置界面,调整防抖等级。例如,请参考图16。在预览界面上,可以显示有如图16中的(a)所示的设置按钮 1601。用户可以通过点击或触摸该设置按钮1601进入设置界面。在设置界面上可以包括如图 16中的(b)所示的防抖等级选项卡1602。用户可以通过点击一级防抖对应的按钮1603,打开或关闭一级防抖功能。比如,用户在打开一级防抖功能时,按钮1603可以显示为如图16 中的(b)所示的状态。类似的,用户可以通过点击二级防抖对应的按钮1604,打开或关闭二级防抖功能。比如,用户在打开二级防抖功能时,按钮1604可以显示为如图16中的(c) 所示的状态。由此,就实现了一级防抖和二级防抖的动态调整。
[0146]
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0147]
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0148]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包括这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献