CN113660408B - 一种视频拍摄防抖方法与装置 - Google Patents

一种视频拍摄防抖方法与装置 Download PDF

Info

Publication number
CN113660408B
CN113660408B CN202010397889.7A CN202010397889A CN113660408B CN 113660408 B CN113660408 B CN 113660408B CN 202010397889 A CN202010397889 A CN 202010397889A CN 113660408 B CN113660408 B CN 113660408B
Authority
CN
China
Prior art keywords
camera
image
shake
displacement
cameras
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
Application number
CN202010397889.7A
Other languages
English (en)
Other versions
CN113660408A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010397889.7A priority Critical patent/CN113660408B/zh
Publication of CN113660408A publication Critical patent/CN113660408A/zh
Application granted granted Critical
Publication of CN113660408B publication Critical patent/CN113660408B/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

本申请提供一种视频拍摄防抖方法与装置。该方法可应用于设置有至少两个摄像头的视频采集设备,所述至少两个摄像头之间可以协作配合以实现更优的防抖效果。该方法包括:检测到第一操作;响应于第一操作,启动第一摄像头和第二摄像头,第一摄像头开启光学防抖功能,并采集第一图像,第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像;显示第一预览图像;第一预览图像是所述第一图像和第三图像的融合,第三图像是将第二图像通过电子防抖算法得到的输出图像;第一摄像头包括一个或多个摄像头,第二摄像头包括一个或多个摄像头。

Description

一种视频拍摄防抖方法与装置
技术领域
本申请涉及终端技术领域,尤其涉及一种视频拍摄防抖方法与装置。
背景技术
在视频拍摄过程中,尤其是手持视频采集设备拍摄时,会出现一定程度的抖动,导致拍摄的视频画面不平稳。因此,视频防抖技术是视频采集设备的一项基本需求,采用该技术可以使拍摄的视频更加稳定。视频防抖技术主要包括电子防抖(electric imagestabilization,EIS)和光学防抖(optical image stabilizer,OIS)。
电子防抖主要通过软件算法对采集的视频流进行处理,处理后的视频流相对稳定。电子防抖对视频采集设备机身的大幅度抖动的防抖效果较好,当存在运动模糊(motionblur)时,EIS会在视觉上造成视频帧间清晰度变差的现象。光学防抖主要对视频采集设备上的相机模组作硬件上的改进,能够采集到稳定的视频流。具体而言,相机模组中设置有补偿镜片组,通过补偿镜片组的位移量来解决运动模糊,改善帧间清晰度问题。通常,光学防抖只能解决相机模组的微小抖动,对于视频采集设备机身的大幅度抖动防抖效果较差。电子防抖和光学防抖各有优势和劣势,为了提升防抖效果,还可以结合光学防抖和电子防抖,即双重防抖。
目前,多摄像头视频采集设备逐渐成为趋势,多摄像头设备也需要考虑防抖技术,但现有的多摄像头设备中各个摄像头是各自防抖,相互不影响,灵活性较差。
发明内容
本申请的目的在于提供了一种视频拍摄防抖方法与装置,多个摄像头之间可以协作配合实现更优的防抖效果。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,提供一种视频拍摄防抖方法,该方法可以由具有多个摄像头的视频采集设备执行,比如手机。该方法包括:检测到第一操作;响应于所述第一操作,启动第一摄像头和第二摄像头,所述第一摄像头开启光学防抖功能,并采集第一图像,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像;显示第一预览图像;所述第一预览图像是所述第一图像和第三图像的融合,所述第三图像是将所述第二图像通过电子防抖算法得到的输出图像;所述第一摄像头包括一个或多个摄像头,所述第二摄像头包括一个或多个摄像头。
也就是说,本申请实施例中,具有多摄像头的视频采集设备,多摄像头之间可以实现协作配合以实现更优的防抖效果。比如,第二摄像头可以校正第一摄像头的光学防抖参数,校正后的光学防抖参数可以对第一摄像头采集的第一图像反补偿,由于校正后的光学防抖参数接近真实的光学防抖参数,所以反补偿得到的图像较为准确,该图像作为电子防抖的输入图像,有助于可以提升电子防抖的防抖效果。
在一种可能的设计中,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,包括:所述光学防抖参数包括所述第一摄像头内补偿镜头组的位移估计量;所述第二摄像头采集第四图像,所述第四图像用于确定所述第二摄像头的姿态参数;所述姿态参数用于校正所述补偿镜头组的位移估计量得到所述补偿镜头组的真实位移量,所述真实位移量用于对所述第一图像反补偿得到所述第二图像。
应理解,第一摄像头启动光学防抖功能,可以调整光学防抖参数比如内部补偿镜头组的位移量,采集的第一图像。因此,第二摄像头可以校正第一摄像头内补偿镜头组的位移量,得到补偿镜头组的真实位移量,使用真实位移量对第一摄像头采集的第一图像反补偿得到的图像作为电子防抖的输入图像,有助于可以提升电子防抖的防抖效果。
在一种可能的设计中,所述补偿镜头组的位移估计量为记录的所述补偿镜头组需要移动的位移量。
需要说明的是,视频采集设备中处理器会向第一摄像头下发指令,该指令包括第一摄像头内的补偿镜头组需要移动的位移量(位移估计量),比如5cm,但实际上补偿镜头组可能移动或4.5cm或5.5cm等等,与指令中指示的补偿镜头组需要移动的位移量有差异,但是视频采集设备记录的是所述指令中补偿镜头组需要移动的位移量即位移估计量如5cm,并不清楚真实位移量,所以对第一图像反补偿时使用的是位移估计量,这样会导致反补偿得到的图像不准确,即电子防抖算法的输入图像不准确,电子防抖效果欠佳。
因此,本申请实施例中,视频采集设备通过第二摄像头对记录的第一摄像头内补偿镜头组需要移动的位移量进行校正,得到所述补偿镜头组的真实位移量,使用真实位移量对第一摄像头采集的第一图像反补偿得到的图像作为电子防抖的输入图像,有助于可以提升电子防抖的防抖效果。
在一种可能的设计中,所述第二摄像头的姿态参数,包括:通过所述第四图像上第一特征点和第五图像上第二特征点确定的单应矩阵,所述第五图像是在所述第四图像之前的所述第二摄像头采集的一帧或多帧图像,所述第一特征点和所述第二特征点对应。
在本申请实施例中,视频采集设备通过第二摄像头的姿态参数校正第一摄像头的光学防抖参数。其中,第二摄像头的姿态参数可以通过第二摄像头采集的图像确定。因此,多摄像头之间可协作配合以实现更优的防抖效果。
在一种可能的设计中,所述姿态参数用于校正所述补偿镜头组的位移估计量,包括:使用所述姿态参数和所述位移估计量的最小误差估计值校正所述位移估计量;或者,取所述姿态参数和所述位移估计量的平均值。
需要说明的是,上述仅是两种使用第二摄像头的姿态参数校正第一摄像头内补偿镜头组位移估计量的示例,还可以使用其他数学方式,本申请不一一列举。
在一种可能的设计中,所述姿态参数和所述位移估计量的最小误差估计值满足:argmin‖A1-B1‖2;其中,A1是所述位移估计量,B1是所述姿态参数;‖A1-B1‖是指取A1-B1的范数。
示例性的,当视频采集设备使用第二摄像头的姿态参数和所述位移估计量的最小误差估计值校正所述位移估计量时,所述最小误差估计值满足上述公式,但是,还可以使用其他的数学算法,本申请实施例对比不作限定。
在一种可能的设计中,所述第一预览图像为所述第一图像、所述第三图像和第六图像的融合,所述第六图像为所述第四图像输入到所述电子防抖算法得到的输出图像。
在一些示例中,第一预览图像中还可以融入第六图像,即第一预览图像为第一图像、第三图像和第六图像的融合,第六图像为第四图像输入到所述电子防抖算法得到的输出图像。也就是说,第一预览图像中,还融入第二摄像头(校正摄像头)采集的图像经过电子防抖算法的输出图像,使得最终的融合图像包括更多的图像信息,拍摄质量更佳。
在一种可能的设计中,响应于所述第一操作,启动第一摄像头和第二摄像头,包括:响应于所述第一操作,启动所述第一摄像头,显示取景界面,所述取景界面内显示第二预览图像,所述第二预览图像为所述第一摄像头采集的图像;在所述取景界面内检测到用于指示第一防抖模式的第二操作;响应于所述第二操作,启动所述第二摄像头。
也就是说,视频采集设备检测到第一操作后,可以暂不启动第二摄像头;当在取景界面内检测到用于指示第一防抖模式的第二操作时,启动第二摄像头。比如,视频采集设备默认进入第二防抖模式(比如普通防抖模式,各个摄像头各自防抖),在用户的指示下进入第一防抖模式即超防抖模式。因此,用户可以选择使用哪种防抖模式,用户体验更高。
示例性的,所述第二操作为点击所述取景界面内用于指示所述第一防抖模式的控件的操作;或者,在所述取景界面内的特定手势操作。
需要说明的是,上述仅是第二操作的两种示例,不是限定,还可以是其它类型的操作,本申请实施例对此不作限定。
在一种可能的设计中,所述方法还包括:若检测到所述第二摄像头开启光学防抖功能,关闭所述第二摄像头的光学防抖功能。
在本申请实施例中,第二摄像头可以不启动光学防抖功能。因为,若第二摄像头不具备光学防抖功能,通过第二摄像头采集的图像确定的姿态矩阵较为准确的反映第二摄像头的真实抖动情况,可以更准确的对第一摄像头的位移估计量进行校正。而且,还可以节省功耗。
在一种可能的设计中,所述第二摄像头包括如下至少一个摄像头:
预设摄像头;或者,
不具备或未开启光学防抖功能的摄像头;或者,
长焦摄像头;或者,
广角摄像头;或者,
视频采集设备中使用频率最低的摄像头;或者,
视频采集设备中性能最低的摄像头。
需要说明的是,上述仅是第二摄像头的举例,不是限定,还可以是其它类型的摄像头,比如用户指定的摄像头等,本申请实施例对此不作限定。
第二方面,还提供一种视频拍摄防抖装置,该装置比如手机,包括:
N个摄像头,其中,N为大于等于2的整数;
一个或多个处理器;
一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述装置执行如下步骤:
检测到第一操作;
响应于所述第一操作,启动第一摄像头和第二摄像头,所述第一摄像头开启光学防抖功能,并采集第一图像,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像;
显示第一预览图像;所述第一预览图像是所述第一图像和第三图像的融合,所述第三图像是将所述第二图像通过电子防抖算法得到的输出图像;
所述第一摄像头包括一个或多个摄像头,所述第二摄像头包括一个或多个摄像头。
在一种可能的设计中,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,包括:
所述光学防抖参数包括所述第一摄像头内补偿镜头组的位移估计量;
所述第二摄像头采集第四图像,所述第四图像用于确定所述第二摄像头的姿态参数;所述姿态参数用于校正所述补偿镜头组的位移估计量得到所述补偿镜头组的真实位移量,所述真实位移量用于对所述第一图像反补偿得到所述第二图像。
在一种可能的设计中,所述补偿镜头组的位移估计量为记录的所述补偿镜头组需要移动的位移量。
在一种可能的设计中,所述第二摄像头的姿态参数,包括:通过所述第四图像上第一特征点和第五图像上第二特征点确定的单应矩阵,所述第五图像是在所述第四图像之前的所述第二摄像头采集的一帧或多帧图像,所述第一特征点和所述第二特征点对应。
在一种可能的设计中,所述姿态参数用于校正所述补偿镜头组的位移估计量,包括:
使用所述姿态参数和所述位移估计量的最小误差估计值校正所述位移估计量;或者,取所述姿态参数和所述位移估计量的平均值。
在一种可能的设计中,所述姿态参数和所述位移估计量的最小误差估计值满足:argmin‖A1-B1‖2;其中,A1是所述位移估计量,B1是所述姿态参数;‖A1-B1‖是指取A1-B1的范数。
在一种可能的设计中,所述第一预览图像为所述第一图像、所述第三图像和第六图像的融合,所述第六图像为所述第四图像输入到所述电子防抖算法得到的输出图像。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述装置具体执行如下步骤:
响应于所述第一操作,启动所述第一摄像头,显示取景界面,所述取景界面内显示第二预览图像,所述第二预览图像为所述第一摄像头采集的图像;
在所述取景界面内检测到用于指示第一防抖模式的第二操作;
响应于所述第二操作,启动所述第二摄像头。
在一种可能的设计中,所述第二操作为点击所述取景界面内用于指示所述第一防抖模式的控件的操作;或者,在所述取景界面内的特定手势操作。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述装置还执行如下步骤:若检测到所述第二摄像头开启光学防抖功能,关闭所述第二摄像头的光学防抖功能。
在一种可能的设计中,所述第二摄像头包括如下至少一个摄像头:
预设摄像头;或者,
不具备或未开启光学防抖功能的摄像头;或者,
长焦摄像头;或者,
广角摄像头;或者,
所述装置中使用频率最低的摄像头;或者,
所述装置中性能最低的摄像头。
第三方面,还提供一种视频采集设备,包括:执行上述第一方面或第一方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,还提供一种芯片,所述芯片与视频采集设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如上述第一方面提供的方法。
第五方面,还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在视频采集设备上运行时,使得所述视频采集设备执行如上述第一方面提供的方法。
第六方面,还提供一种计算机程序产品,包括指令,当所述指令在计算机上运行时,使得所述计算机及执行如上述第一方面提供的方法。
第七方面,还提供一种视频采集设备上的图形用户界面,所述视频采集设备具有一个或多个存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述一个或多个存储器中的一个或多个计算机程序,所述图形用户界面包括所述视频采集设备执行上述第一方面所述的方法时显示的图形用户界面。
以上第二方面到第七方面的有益效果,请参考第一方面的有益效果,不再赘述。
附图说明
图1为本申请一实施例提供的电子防抖的示意图;
图2为本申请一实施例提供的光学防抖的示意图;
图3A为本申请一实施例提供的双重防抖的示意图;
图3B为本申请一实施例提供的另一种双重防抖的示意图;
图4为本申请一实施例提供的基于多摄像头的视频防抖拍摄流程的示意图;
图5为本申请一实施例提供的阵列式摄像头的示意图;
图6为本申请一实施例提供的手机的一种GUI的示意图;
图7为本申请一实施例提供的手机的另一GUI的示意图;
图8-图10为本申请一实施例提供的校正摄像头和非校正摄像头采集图像的示意图;
图11为本申请一实施例提供的一个校正摄像头、两个非校正摄像头的视频防抖拍摄流程示意图;
图12为本申请一实施例提供的两个校正摄像头、一个非校正摄像头的视频防抖拍摄流程示意图;
图13为本申请一实施例提供的一种视频采集设备的硬件结构示意图;
图14为本申请一实施例提供的一种视频采集设备的软件结构示意图;
图15为本申请一实施例提供的视频防抖拍摄方法的流程示意图。
具体实施方式
视频稳像是视频采集设备的一项基本需求,视频稳像是指拍摄视频的过程中,视频画面不受视频采集设备的抖动而模糊。视频稳像基于防抖技术实现,主流的防抖技术包括电子防抖和光学防抖。
下面先简单介绍电子防抖和光学防抖。
电子防抖,视频采集设备内预设有电子防抖软件算法,相机模组采集的图像是电子防抖软件算法的输入图像,经过运算输出稳定图像。较为简单的实现方式为,电子防抖软件算法用于将每帧输入图像的边缘裁剪掉,剩余图像合成视频。这种方式主要考虑视频画面抖动通常发生在图像边缘,图像中心部位的抖动概率相对较小,将图像边缘裁剪掉,剩余图像就相对稳定。或者,电子防抖软件算法还可以是通过主板陀螺仪检测到的机身姿态对采集的视频流处理。请参考图1所示,视频采集设备中的主板陀螺仪对应一个由X-Y-Z构成的三维坐标系。其中,绕X轴旋转的角称为俯仰角(Pitch),绕Y轴旋转的角称为偏航角(Yaw),绕Z轴旋转的角称为翻滚角(Roll)。假设pitch以θ表示,roll以
Figure BDA0002488257470000061
表示,yaw以l表示,主板陀螺仪实时检测pitch、roll和yaw,得到表征机身姿态的矩阵H(简称姿态矩阵)。示例性的,姿态矩阵
Figure BDA0002488257470000062
姿态矩阵H用于对视频采集设备采集的图像作补偿,补偿后的图像是较为稳定的图像。对图像的补偿过程:视频采集设备根据几何成像原理将姿态矩阵H映射成图像偏移量,根据该图像偏移量对采集的视频流中图像进行处理,比如,按照所述图像偏移量将采集的图像上的各个像素点移动位置,得的新的图像,新的图像组合成视频,该视频的画面相对稳定。
电子防抖对视频采集设备机身的大幅度抖动的防抖效果较好,但存在缺陷:电子防抖认为相机模组的抖动与主板陀螺仪检测的抖动是一致的,而忽略相机模组自身产生的微小抖动,比如,用户按动快门的瞬间产生的微小抖动。
光学防抖,主要通过对相机模组硬件上的改进实现防抖。请参见图2所示,具备光学防抖的相机模组内设置有补偿镜头组,该补偿镜头组的位置可以改变,通过补偿镜头组的位移量抵消抖动。若相机模组发生抖动,内部的镜头发生偏移,使得光路发生偏移,通过改变移动补偿镜头组的位置以校正光路使成像稳定。
区别于电子防抖,具备光学防抖功能的相机模组采集的图像是相对稳定的,无需依赖软件算法对采集的图像进行稳定性处理。
然而,光学防抖只能解决相机模组自身的微小抖动,对于视频采集设备机身的大幅度抖动,防抖效果较差。
为了提升防抖效果,还可以使用双重防抖方式,即电子防抖和光学防抖结合的方式。
双重防抖,简单来说,就是通过光学防抖得到的图像与通过电子防抖得到的图像的融合。通过光学防抖得到的图像就是具有光学防抖功能的相机模组采集的图像。通过电子防抖得到的图像是经过电子防抖软件算法的输出图像。
下面介绍双重防抖的实现过程。
请参见图3A所示,正常流程为:具有光学防抖的相机模组采集到图像(即相机模组的输出图像),该图像被传输到处理器,处理器执行电子防抖软件算法对该图像进行处理。也就是说,具有光学防抖的相机模组的输出图像是电子防抖软件算法的输入图像。
但双重防抖需要考虑补偿过渡的问题,所以电子防抖软件算法的输入图像最好是没有经过光学防抖的图像。这是因为,具有光学防抖的相机模组的输出图像是已经过一次防抖补偿得到的图像(即相机模组内的补偿镜头组的位移补偿),而电子防抖的软件算法默认相机模组和机身防抖一致,如果将具有光学防抖的相机模组的输出图像直接作为电子防抖软件算法的输入图像,会对相机模组输出图像过渡补偿。
那么,为了解决过渡补偿的问题,需要确定具有光学防抖的相机模组不使用光学防抖时可能会采集到的图像,将该图像作为电子防抖软件算法的输入图像。一种可实现方式为,获取具有光学防抖功能的相机模组内补偿镜头组的位移量,通过该位移量对相机模组输出图像进行反补偿得到所述相机模组不使用光学防抖时可能会采集到的图像。其中,对图像的反补偿即补偿(正补偿或正向补偿)的逆向运算,比如,对图像补偿是将补偿镜头组的位移量映射成第一图像偏移量,按照第一图像偏移量改变采集的图像上的像素点的位置;反补偿是指按照所述第一图像偏移量的反方向改变采集的图像上的像素点的位置。
示例性的,参见图3B,相机模组输出图像输入到反补偿模块,反补偿模块获取具有光学防抖功能的相机模组内补偿镜头组的位移量,通过该位移量对相机模组输出图像反补偿得到相机模组不使用光学防抖时会得到的图像,将该图像作为电子防抖软件算法的输入图像。
第一种方式,假设相机模组内的补偿镜头组的位移量是矩阵为H1,H1={x,y,z},其中x、y、z分别是补偿镜头组在三个方向的位移量。通过H1对相机模组输出图像进行反补偿,即根据几何光学将H1映射成第一图像偏移量,将相机模组输出图像上的像素点按照所述第一图像偏移量的反方向移动得到的新的图像,该新的图像即估测的相机模组不使用光学防抖采集的图像,作为输入图像输入到电子防抖软件算法。电子防抖软件算法的实现过程为:确定主板陀螺仪检测到的机身姿态矩阵H2,
Figure BDA0002488257470000071
通过H2对输入图像进行补偿得到输出图像。比如,按照H2映射的第二图像偏移量将输入图像上的像素点移动位置,得到新的图像即电子防抖算法的输出图像。第一种方式涉及两次图像偏移量的映射。第二种方式,通过H1对H2进行反补偿,得到H3,H3映射到图像偏移量,通过该图像偏移量对相机模组的输出图像进行正补偿得到的图像即电子防抖软件算法的输出图像。区别于方式一,方式二中,两个矩阵之间进行反补偿,只需一次图像偏移量的映射。
通过电子防抖软件算法得到的输出图像与相机模组输出图像(经过光学防抖的图像)融合得到最终的图像,即双重防抖得到的图像。
双重防抖的防抖效果虽然优于单独使用电子防抖和单独使用光学防抖,但也存在一定的缺陷:以图3B为例,反补偿运算模块获取的补偿镜头组的位移矩阵并不等于补偿镜头组的真实位移。这是因为,相机模组接收到处理器下发的指令,指令中包括补偿镜头组需要移动的位移量,然后通过马达带动补偿镜头组进行位移,在移动位置的过程中难免存在误差;比如,处理器指示应该移动5cm,但是实际上只移动4.5cm,存在0.5cm的误差。然而,视频采集设备所记录的位移量是处理器下发的指令中携带的位移量即5cm,并不知道补偿镜头组的真实位移量;所以反补偿运算模块获取的补偿镜头组的位移量是5cm,不是补偿镜头组的真实位移量。这会导致反补偿运算模块无法准确的确定相机模组不使用光学防抖时会得到的图像,也就无法得到准确的电子防抖输入图像,无法达到最佳防抖效果。
以上简单的介绍电子防抖、光学防抖以及双重防抖的原理。下面结合附图介绍本申请实施例的技术方案。
用户对视频拍摄质量的要求越来越高,为了提升拍摄质量,多摄像头视频采集设备逐渐成为趋势。多摄像头设备也需要考虑防抖技术,但现有的多摄像头设备中各个摄像头是各自防抖,相互不影响,以两个摄像头为例,第一摄像头使用光学防抖、电子防抖或双重防抖方式中的任一种,第二摄像头使用光学防抖、电子防抖或双重防抖方式中的任一种。两个摄像头使用各自防抖方式得到的图像融合得到最终图像。这种方式,灵活性较差,而且各个摄像头使用光学防抖、电子防抖或双重防抖方式中的任一种时,仍会存在相应的缺陷(如前文描述),多摄像头的配置并没有对视频防抖起到优化作用。
本申请提供一种基于多摄像头的视频拍摄防抖方式,多摄像头之间可以协同配合以实现更优的防抖效果。
下面介绍本申请提供的技术方案适用的场景。
一种示例性的场景为,多个摄像头中有一个或多个摄像头是双重防抖,如前文所述,现有技术中双重防抖无法获取准确的电子防抖输入图像,主要是因为无法获取具有光学防抖相机模组内补偿镜头组的真实位移量,只能获取到位移估计量,与真实位移量存在偏差,所以通过位移估计值对相机模组输出图像反补偿得到图像不准确,即电子防抖输入图像不准确,电子防抖效果欠佳。
对于上述场景,本申请供的基于多摄像头的视频拍摄防抖方式,总体思想为,多个摄像头设备中,通过第二摄像头校正第一摄像头(双重防抖摄像头)内补偿镜头组的位移估计量,使得校正之后的位移估计量接近补偿摄像头的真实位移量。具体的,请参见图4,第二摄像头采集图像,通过该图像对第二摄像头进行姿态计算得到姿态参数(比如姿态矩阵)。第一摄像头采集图像,然后获取第一摄像头内补偿镜头组的位移值即位移估计量(比如可以从处理器下发的指令中读取),通过第二摄像头的姿态矩阵对位移估计量进行校正,得到校正后的位移量,然后使用校正后的位移量对第一摄像头采集的图像(经过光学防抖的图像)反补偿得到第一摄像头不使用光学防抖会得到的图像,该图像作为电子防抖软件算法的输入图像。电子防抖软件算法的输出图像与第一摄像头输出图像融合(即电子防抖和光学防抖融合)得到最终的图像。
因此,本申请实施例可以校正双重防抖摄像头内补偿镜头组的位移估计量,通过校正后的位移量确定的电子防抖输入图像较为准确,提升电子防抖的防抖效果。
本申请提供的视频拍摄防抖方式适用于任何具有多摄像头的视频采集设备,例如手机、平板电脑、数码相机、笔记本电脑等等。
下文中将用于校正其它摄像头的摄像头称为校正摄像头,将所述其它摄像头称为待校正或非校正摄像头。
视频采集设备上设置阵列式摄像头,比如包括N个摄像头,N为大于或等于2的整数。图5示出阵列式摄像头的示意图。N个摄像头位于视频采集设备的同一侧,比如,均设置在视频采集设备的正面(例如显示屏所在的一面),即所述N个摄像头均是前置摄像头;或者,均设置在视频采集设备的背面(即与所述正面相对的一面),即所述N个摄像头均是后置摄像头。N个摄像头可以是多种不同类型摄像头的组合,比如,包括长焦摄像头、普通摄像头、广角摄像头、超广角摄像头,黑白摄像头、彩色摄像头,深度摄像头(或称为景深摄像头),等等。其中,普通摄像头是相对广角摄像头而言的,比如视场角处于第一阈值到第二阈值范围内的摄像头是普通摄像头,视场角大于第二阈值小于第三阈值的摄像头是广角摄像头,视场角大于第三阈值的摄像头是超广角摄像头。或者,普通摄像头也可以是相对长焦摄像头而言,比如,焦距大于预设焦距时,该摄像头为长焦摄像头,焦距小于所述预设焦距时,该摄像头为普通摄像头。具有而言,长焦摄像头可以实现远景细节或变焦拍摄,普通摄像头可以作为主摄像头拍摄,广角摄像头可以拍摄视场角较大的图像,超广角摄像头可以拍摄视场角更大的图像,黑白摄像头可以增强细节拍摄,彩色摄像头可以获取更多颜色信息。因此,不同类型的摄像头组合成的阵列式摄像头可实现不同拍摄效果。
校正摄像头可以是阵列式摄像头中的一个或多个摄像头。非校正摄像头可以是阵列式摄像头中的一个或多个摄像头,比如,阵列式摄像头中除去校正摄像头剩余的一个或多个摄像头为非校正摄像头。如前文所述,使用双重防抖功能的摄像头存在电子防抖输入图像不准确的问题,所以非校正摄像头可以是摄像头阵列中使用双重防抖功能的一个或多个摄像头。
下面给出校正摄像头的几种示例。
作为一种示例,校正摄像头可以是阵列式摄像头中不具备或未开启光学防抖功能的摄像头。若校正摄像头不具备光学防抖功能,通过校正摄像头采集的图像确定的姿态矩阵较为准确的反映校正摄像头的真实抖动情况,可以更准确的对非校正摄像头的位移估计量进行校正。
或者,校正摄像头可以是阵列式摄像头中的预设摄像头,比如,出厂之前预配置好某个摄像头作为校正摄像头。
或者,校正摄像头可以是阵列式摄像头中的长焦摄像头。由于长焦摄像头的视场角相对较小,采集的图像发生畸变的程度较小,通过采集的图像确定的姿态矩阵较为准确,可以更准确的对非校正摄像头的位移估计量进行校正。
或者,校正摄像头可以是阵列式摄像头中的广角摄像头。广角摄像头的视场角相对较大,采集的图像发生畸变的程度较大,可以先对图像进行畸变校正,使用畸变校正后的图像确定的姿态矩阵较为准确,可以更准确的对非校正摄像头的位移估计量进行校正。
或者,校正摄像头可以是阵列式摄像头中使用频率最低的摄像头,或者,距离上次使用时刻最久的摄像头。
或者,校正摄像头可以是阵列式摄像头中性能最低的摄像头。性能最低的摄像头可以是满足焦距最短、分辨率最低、帧率最小或视场角最小中的至少一种的摄像头。
上述几种示例可以单独使用,也可以结合使用。比如,在存在长焦摄像头的情况下,长焦摄像头作为校正摄像头,不存在长焦摄像头的情况下,广角摄像头作为校正摄像头。
需要说明的是,除去上述几种示例之外,还可以有其它的方式确定校正摄像头,比如,根据摄像头布局方式确定校正摄像头。以图5为例,第一行第二个作为第一行第一个摄像头的校正摄像头,第一行第四个作为第一行第三个摄像头的校正摄像头,第二行也是同理。或者,每一行或第一列设置一个校正摄像头等等,本申请实施例对此不作限定。
下面以阵列式摄像头的两种特殊情况即N=2和N=3为例介绍。
第一种情况:N=2
视频采集设备上设置两个摄像头,即第一摄像头和第二摄像头,两个摄像头均是前置或后置摄像头。第一摄像头和第二摄像头可以是不同的摄像头组合。例如,第一摄像头可以是广角摄像头,第二摄像头可以是长焦摄像头。或者,第一摄像头是彩色摄像头,第二摄像头是黑白摄像头。或者,第一摄像头是普通摄像头,第二摄像头是长焦摄像头。或者,第一摄像头是普通摄像头,第二摄像头是广角摄像头。或者,第一摄像头是广角摄像头,第二摄像头是超广角摄像头,等等,本申请实施例不作限定。
两个摄像头其中一个作为校正摄像头,另一个摄像头即非校正摄像头。示例性的,第一摄像头是广角摄像头,第二摄像头是长焦摄像头的情况下,第二摄像头可作为校正摄像头。或者,第一摄像头是彩色摄像头,第二摄像头是黑白摄像头的情况下,第二摄像头可作为校正摄像头。或者,第一摄像头是普通摄像头,第二摄像头是长焦摄像头的情况下,第一摄像头或第二摄像头可作为校正摄像头。或者,第一摄像头是普通摄像头,第二摄像头是广角摄像头,第一摄像头可作为校正摄像头。或者,第一摄像头是广角摄像头,第二摄像头是超广角摄像头的情况下,第一摄像头可作为校正摄像头。
为了节省成本,校正摄像头可以不设置或不开启光学防抖,非校正摄像头使用双重防抖。
下文以手机为例介绍,为了方便描述,下文中将多摄像头协同防抖的模式称为超防抖模式。
图6中的(a)示出了手机的一种图形用户界面(graphical user interface,GUI),该GUI为手机的桌面601。当手机检测到用户点击桌面601上的相机应用的图标602的操作后,可以启动相机应用,显示如图6中的(b)所示的另一GUI,该GUI可以称为取景界面603。该取景界面603是录像模式下的取景界面。应理解,若手机检测到用户点击图标602的操作后,默认显示拍照模式的取景界面,用户可以通过输入操作例如在图6中的(b)中区域604(虚线框中的区域)中的滑动操作,选择录像模式,然后手机显示录像模式的取景界面。
在一些实施例中,手机进入录像模式下的取景界面时,默认启动超防抖模式。比如,手机检测到针对图标602的操作,进入录像模式下的取景界面,启动超防抖模式;或者,手机检测到针对图标602的操作之后,首先进入拍照模式的取景界面,检测在区域504内的用于选择录像模式的滑动操作时,进入录像模式下的取景界面,启动超防抖模式。
在另一些实施例中,手机提供至少两种防抖模式,例如普通防抖模式和超防抖模式。超防抖模式即本申请提供的多摄像头协同防抖的模式。普通防抖模式即多摄像头各自防抖模式,例如,各自使用光学防抖、电子防抖或双重防抖中的任一种。普通防抖模式无需区分校正摄像头和非校正摄像头。需要说明的是,普通防抖模式也可以称为第二防抖模式,超防抖模式也可以称为第一防抖模式,本申请对两种防抖模式的名称不作限定,能区分即可。
作为一种示例,用户可以指定手机进入普通防抖模式或超防抖模式。例如,手机默认启动普通防抖模式,取景界面内显示用于指示超防抖模式的控件,当手机检测到针对该控件的操作时,从普通防抖模式切换到超防抖模式。示例性的,参见图7,手机显示一GUI,该GUI为录像模式的取景界面,该取景界面中显示提示信息701“当前处于普通防抖模式”。手机可以输出提示信息702,用于提示用户是否进入超防抖模式。当手机检测到针对提示信息702的操作比如点击操作,进入超防抖模式。或者,手机还可以提供其它的用于设置普通防抖模式或成超防抖模式的入口,比如,手机检测到针对图7中的“更多”选项的操作时,显示普通防抖模式和超防抖模式的选项,以便用户选择。或者,手机检测到用户在取景界面内的特定手势操作时,进入超防抖模式,所述特定手势操作例如在取景界面内的画圈、长按、多指同时按压屏幕并滑动的操作,等等,本申请实施例不作限定。
或者,手机可以自动进入超防抖模式或普通防抖模式。例如,上一次用户指定进入超防抖模式,则此次自动进入超防抖模式;或者,手机检测到当前处于相对静止状态,进入普通防抖模式或关闭防抖模式;检测到当前处于抖动状态,进入超防抖模式。其中,相对静止状态是指陀螺仪对应的X-Y-Z坐标系中pitch、roll和yaw的变化量为0或变化量小于阈值,比如,手机设置在支撑物上处于静止状态拍摄视频。抖动状态是指陀螺仪对应的X-Y-Z坐标系中pitch、roll和yaw的变化量大于阈值,比如,用户手持手机拍摄视频。
一种可能的情况为,手机处于普通防抖模式时,第一摄像头和第二摄像头启动,各自使用各自的防抖方式,比如,第一摄像头和第二摄像头均开启光学防抖功能。取景界面中显示预览图像,该预览图像是第一摄像头和第二摄像头各自防抖之后得到图像融合而成。手机由普通防抖模式切换到超防抖模式后,第一摄像头和第二摄像头中一个摄像头进入校正摄像头的角色,比如,普通防抖模式下第一摄像头启动光学防抖功能,切换到超级防抖模式时,第一摄像头关闭防抖功能,作为校正摄像头。另一种可能的情况为,以第二摄像头是校正摄像头为例,手机处理普通防抖模式时,不开启第二摄像头。手机从普通防抖模式切换为超防抖模式时,启动第二摄像头。
下文介绍手机进入超防抖模式后的处理过程。
请参考图8,手机进入超防抖模式之后,非校正摄像头一帧一帧采集图像,比如,第一帧、第二帧、第N帧等等。每帧摄像头可以对应不同编号以作区分。非校正摄像头具有光学防抖功能,可以调整补偿镜头组的位移,在不同位移下采集不同的图像,比如,采集第一帧图像时对应一个位移矩阵A1,采集第二帧图像对应一个位移矩阵A2,采集第N帧图像对应一个位移矩阵An。
同理,校正摄像头也是一帧一帧采集图像,比如,第一帧、第二帧、第N帧。通过第一帧图像和第一帧图像的前一帧图像可以得到校正摄像头采集的第一帧图像时的姿态矩阵B1,通过第二帧图像和第一帧矩阵可以得到校正摄像头采集第二帧图像时的姿态矩阵B2,以此类推,通过第N帧图像和第N-1帧图像可以得到校正摄像头采集第N帧图像时的姿态矩阵Bn。
下面以通过第二帧图像和第一帧图像确定校正摄像头采集第二帧图像时的姿态矩阵B2为例,介绍确定校正摄像头的姿态矩阵的过程。
通过第一帧图像和第二帧图像确定第一帧图像和第二帧图像之间的单应矩阵,该单应矩阵B2即校正摄像头的姿态矩阵B2。示例性的,姿态矩阵B2可以满足如下公式:
Figure BDA0002488257470000111
上述公式中H表示姿态矩阵B2,(u1,v1,1)表示第一帧图像中的第一特征点的像点,(u2,v2,1)是第二帧图像中的第二特征点的像点。第一特征点和第二特征点是对应的特征点,比如是第一帧图像和第二帧图像上同时存在的对象,所述对象例如人、动物、植物;或者可以更细化,比如,人的眼睛,动物的眼睛等等,本申请实施例不作限定。
上述是通过第二帧图像和第一帧图像确定校正摄像头采集第二帧图像时的姿态矩阵B2的过程,确定校正摄像头采集第三帧图像时的姿态矩阵B3、采集第N帧图像时的姿态矩阵Bn原理类似,不重复赘述。
校正摄像头的姿态矩阵B用于对非校正摄像头的补偿镜头组的位移矩阵A作校正。因为,校正摄像头没有光学防抖功能,通过校正摄像头采集的图像确定的校正摄像头的姿态矩阵A可以反映校正摄像头的真实抖动情况,而非校正摄像的补偿镜头组的位移矩阵A是位移估计值,通过校正摄像头的抖动真实值校正非校正摄像头的抖动估计值。具体可以使用如下几种方式中的任一种。
方式一,确定校正摄像头采集的第一帧图像时的姿态矩阵B1,与非校正摄像头采集的第一帧图像对应的位移矩阵A1之间的最小误差估计,通过该最小误差估计值对位移矩阵A1进行校正。比如,将A1中每个元素的值加上计算出的最小误差估计值,得到新的A1,该新的A1即对位移矩阵A1校正后的位移矩阵。
示例性的,B1和A1的最小误差估计可以满足如下公式:
argmin‖A1-B1‖2
其中,argmin{f(x)}是指使得f(x)取最小值的x。‖A1-B1‖是指取A1-B1的范数。
上述方式一,可以在每采集一帧图像之后,执行一次最小误差估计,提升每帧图像的稳定性。
方式二,区别于方式一,无需对每帧图像执行一次最小误差估计,可以间隔一定时长执行一次最小误差估计。比如,每M帧图像执行一次最小误差估计。请参见图9所示,假设M=3,即每3帧图像执行一次最小误差估计。比如,采集第一帧图像之后执行一次最小误差估计,即上述方式一,得到最小误差估计值,该最小误差估计值可以用于校正第二帧图像对应的姿态矩阵A2、第三帧图像对应的姿态矩阵A3。当校正摄像头采集到第四帧图像后,执行第二次最小误差估计。第二次最小误差估计得到的最小误差值可以作用于第四帧、第五帧、第六帧图像对应的位移矩阵,直到采集到第7帧图像执行第三次最小误差估计,以此类推。
相对于上述方式一,方式二在一定程度上可以节省计算,提升效率。
方式三,上述方式一和方式二中,执行最小误差估计时,使用的数据样本量是一对图像对应的A和B。方式三中,执行最小误差估计时,可以使用更多的数据样本量。比如,仍然以每3帧图像执行一次最小误差估计为例。采集第一帧图像之后执行一次最小误差估计,即上述方式一,得到最小误差估计值,该最小误差估计值可以作用到第一帧、第二帧、第三帧图像对应的位移矩阵。非校正摄像头采集到第四帧图像,校正摄像头采集到第四帧图像时,确定非校正摄像头采集的第一帧图像到第四帧图像对应的位移矩阵A1、A2、A3、A4,与校正摄像头采集的第一帧图像到第四帧图像对应的姿态矩阵B1、B2、B3、B4之间的最小误差值估计。示例性的,所述最小误差估计可以满足如下公式;
Figure BDA0002488257470000121
其中,M是样本数据总数(沿用上述例子的话,M为4,第一帧到第四帧图像),i是M帧图像中的第i帧图像,Ai是非校正摄像头采集的第i帧图像对应的位移矩阵,Bi是校正摄像头采集的第i帧图像对应的姿态矩阵。
同理,对于在上一次执行最小误差估计到下一次执行最小误差估计期间非校正摄像头采集的图像,可以使用上一次执行误差估计值计算出的最小误差估计值进行校正。
也就是说,方式三中执行最小误差估计时,使用的样本数据量包括多对图像对应的A和B,相对于上述方式一和方式二,可以确定较为准确的最小误差估计。
应理解,除去最小误差估计算法,其他的用于校正位移估计值的算法也是可以的。比如如下方式四。
方式四,确定校正摄像头采集的第一帧图像时的姿态矩阵B1、非校正摄像头采集的第一帧图像对应的位移矩阵A1,确定姿态矩阵B1与位移矩阵A1的平均值作为校正后的位移矩阵。所述平均值可以是算术平均值或加权平均值;若使用加权平均值,B1与A1权重的设置可以根据经验值确定。比如,A1的权重稍大于B1的权重。
同理,可以每采集一帧图像之后计算一次算术平均值,也可以每M帧图像计算一次算法平均值,本申请实施例不作限定。
得到校正后的位移矩阵之后,通过校正后的位移矩阵对非校正摄像头输出图像(光学防抖摄像头输出图像)反补偿得到非校正摄像头不使用光学防抖时采集的图像,该图像作为电子防抖软件算法的输入图像。
以上述方式一为例,对非校正摄像头采集的每帧图像对应的位移矩阵进行一次校正,得到一个校正后的位移矩阵,通过所述每帧图像对应的校正后的位移矩阵确定一个电子防抖输入图像。示例性的,参见图10所示,通过校正后的位移矩阵A1反补偿非校正摄像头采集的第一帧图像得到电子防抖算法的第一帧输入图像,通过校正后的位移矩阵A2反补偿非校正摄像头采集的第二帧图像得到电子防抖算法的第二帧输入图像,以此类推。反补偿过程参见前文描述。每个输入图像输入到电子防抖软件算法中得到相应的输出图像,比如,第一帧输入图像得到第一帧输出图像,第二帧输入图像得到第二帧输出图像,以此类推。
电子防抖算法的输出图像与非校正摄像头输出图像融合,即电子防抖和光学防抖结合。
方式A,电子防抖软件算法的第一帧输出图像和非校正摄像头输出的第一帧图像融合得到第一帧最终图像,电子防抖软件算法的第二帧输出图像与非校正摄像头输出的第二帧图像融合得到第二帧最终图像,以此类推。所述第一帧最终图像即手机进入超防抖模式后第一帧预览图像,所述第二帧最终图像即第二帧预览图像。因此,每帧预览图像都比较稳定。
在该方式A中,预览图像中未融合校正摄像头采集的图像,因为校正摄像头未使用光学防抖功能,采集的图像稳定性较差画面比较模糊,所以校正摄像头采集的图像仅用于计算校正摄像头的姿态矩阵B,不融合到预览图像中。
方式B,区别于上述方式A,校正摄像头可以使用电子防抖,比如,校正摄像头采集的第一帧图像输入电子防抖算法得到第一输出图像,采集的第二帧图像输入电子防抖算法得到第二输出图像。因此,手机进入超防抖模式后第一帧预览图像是上述方式A中所述第一帧最终图像继续与校正摄像头经过电子防抖得到第一帧输出图像融合而成,第二预览图像是上述方式A中所述第二帧最终图像继续与校正摄像头经过电子防抖得到的第二帧输出图像融合而成,以次类推。
相对于上述方式A,方式B中预览图像中融入了校正摄像头采集的图像,图像信息更多,拍摄质量较高。
第二种情况N=3
视频采集设备上设置三个摄像头,即第一摄像头、第二摄像头和第三摄像头。所述三个摄像头可以是不同类型的摄像头组合。例如,第一摄像头是长焦摄像头,第二摄像头是主摄像头,第三摄像头是广角摄像头。或者,第一摄像头是彩色摄像头,第二摄像头是黑白摄像头,第三摄像头是广角摄像头。或者,第一摄像头是彩色摄像头,第二摄像头是长焦摄像头,第三摄像头是广角摄像头,等等,本申请实施例不作限定。
校正摄像头可以是三个摄像头中的一个或者两个。假设校正摄像头数量为1。示例性的,三个摄像头是长焦摄像头、主摄像头和广角摄像头的组合下,长焦摄像头可以作为校正摄像头。或者,三个摄像头是彩色摄像头、黑白摄像头和广角摄像头的组合下,黑白摄像头可作为校正摄像头。或者,三个摄像头是彩色摄像头、长焦摄像头和广角摄像头的组合下,彩色摄像头可作为校正摄像头。假设校正摄像头的数量为2。示例性的,三个摄像头是长焦摄像头、主摄像头和广角摄像头的组合下,长焦摄像头和广角摄像头可以作为校正摄像头。或者,三个摄像头是彩色摄像头、黑白摄像头和广角摄像头的组合下,黑白摄像头和彩色摄像头可作为校正摄像头。或者,三个摄像头是彩色摄像头、长焦摄像头和广角摄像头的组合下,彩色摄像头和长焦摄像头可作为校正摄像头。
假设校正摄像头数量是1,比如,第一摄像头是校正摄像头,第二摄像头和第三摄像头是非校正摄像头。如果第二摄像头开启双重防抖功能,第三摄像头不开启双重防抖功能,通过第一摄像头对第二摄像头的位移矩阵进行校正,具体参见前文N=2的情况,无需对第三摄像头的位移矩阵进行校正。如果第二摄像头和第三摄像头均开启双重防抖功能,第一摄像头可以分别对第二摄像头和第二摄像头的位移矩阵作校正。示例性的,参见图11所示,通过第一摄像头的姿态矩阵对第二摄像头内的补偿镜头组的位移量校正,通过第一摄像头的姿态矩阵对第三摄像头内的补偿镜头组的位移量校正。具体的实现过程参见前文,这里不重复赘述。需要说明的是,第二摄像头的第一融合图像是第二摄像头采集的图像和电子防抖软件算法的输出图像的融合,第三摄像头同理;最终融合图像是第一融合图像和第二融合图像的融合。最终融合图像即预览图像。
假设校正摄像头数量是2,比如,第一摄像头和第二摄像头是校正摄像头,第三摄像头是非校正摄像头。如果第三摄像头使用双重防抖功能,第一摄像头和第二摄像头分别对第三摄像头的位移矩阵作校正。示例性的,参见图12所示,第一摄像头的姿态矩阵A和第二摄像头的姿态矩阵C对第三摄像头内补偿镜头组的位移量(例如位移矩阵B)校正。比如,取姿态矩阵A、姿态矩阵C与位移矩阵B的最小误差估计值,通过该最小误差估计校正位移矩阵B,得到校正后的位移矩阵B;或者,取姿态矩阵A、姿态矩阵C、位移矩阵B的平均值(算术平均值或加权平均值)作为校正后的位移矩阵B。
本申请实施例提供的视频拍摄防抖方法可以应用于任何具有多摄像头的视频采集设备,诸如手机、平板电脑、可穿戴设备(例如,手表、手环、头盔、耳机、项链等)、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对视频采集设备的具体类型不作任何限制。
示例性的,图13示出了视频采集设备100的结构示意图。视频采集设备100例如手机。如图13所示,视频采集设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是视频采集设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为视频采集设备100充电,也可以用于视频采集设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
视频采集设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。视频采集设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在视频采集设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在视频采集设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,视频采集设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得视频采集设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobilecommunications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面,例如相机应用的取景界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,视频采集设备100可以包括1个或N个显示屏194,N为大于1的正整数。
视频采集设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。
在本申请实施例中,视频采集设备100可以包括N个摄像头193(例如阵列式摄像头),N为大于或等于2的整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当视频采集设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。视频采集设备100可以支持一种或多种视频编解码器。这样,视频采集设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现视频采集设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行视频采集设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存储数据区可存储视频采集设备100使用过程中所产生的数据(例如拍摄的图像、录制的视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展视频采集设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
视频采集设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定视频采集设备100的机身姿态。在一些实施例中,可以通过陀螺仪传感器180B确定视频采集设备100围绕三个轴(即,x,y和z轴)的角速度。
气压传感器180C用于测量气压。在一些实施例中,视频采集设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。视频采集设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当视频采集设备100是翻盖机时,视频采集设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180E可检测视频采集设备100在各个方向上(一般为三轴)加速度的大小。当视频采集设备100静止时可检测出重力的大小及方向。还可以用于识别视频采集设备100姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。视频采集设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,视频采集设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。视频采集设备100通过发光二极管向外发射红外光。视频采集设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定视频采集设备100附近有物体。当检测到不充分的反射光时,视频采集设备100可以确定视频采集设备100附近没有物体。视频采集设备100可以利用接近光传感器180G检测用户手持视频采集设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。视频采集设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测视频采集设备100是否在口袋里,以防误触。指纹传感器180H用于采集指纹。视频采集设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,视频采集设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,视频采集设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,视频采集设备100对电池142加热,以避免低温导致视频采集设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,视频采集设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于视频采集设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。视频采集设备100可以接收按键输入,产生与视频采集设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现与视频采集设备100的接触和分离。
可以理解的是,图13所示的部件并不构成对视频采集设备100的具体限定,手机还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图13中的部件之间的组合/连接关系也是可以调整修改的。
在本申请实施例中,视频采集设备100中包括N个摄像头193,其中,一个或多个摄像头可以作为校正摄像头。在一些实施例中,N个摄像头中M个摄像头均是后置摄像头,N-M个摄像头均是前置摄像头,那么M个后置摄像头中存在一个或多个校正摄像头,该校正摄像头用于校正N个后置摄像头中具有双重防抖功能的摄像头中补偿镜头组的位移估计量。N-M个前置摄像头存在一个或多个校正摄像头,该校正摄像头用于校正N-M个前置摄像头中具有双重防抖功能的摄像头中补偿镜头组的位移估计量。
图14示出了本申请一实施例提供的视频采集设备的软件结构框图。如图14所示,视频采集设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层(framework,FWK),安卓运行时(Androidruntime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图14所示,应用程序层可以包括相机、设置、皮肤模块、用户界面(user interface,UI)、三方应用程序等。其中,三方应用程序可以包括微信、QQ、图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图14所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供视频采集设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,视频采集设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
此外,系统库还可以包括图像处理库,用于对图像进行处理,以实现摇、移、升、降的拍摄效果。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
硬件层可以包括各类传感器,例如本申请实施例中涉及的加速度传感器、陀螺仪传感器、触摸传感器等。
下面结合本申请实施例的视频拍摄防抖方法,示例性说明视频采集设备的软件以及硬件的工作流程。
触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。以该触摸操作是触摸单击操作为例,假设该单击操作所对应的控件为相机应用图标的控件,相机应用启动。相机应用通过内核层中的摄像头驱动来启动第一摄像头和第二摄像头。假设第二摄像头作为校正摄像头。第一摄像头具有双重防抖功能。第一摄像头采集第一图像,第二摄像头采集第二图像。
系统库(或应用程序框架层、应用层)根据第二图像确定第二摄像头的姿态参数,该姿态参数用于校正第一摄像头内的补偿镜头组的位移估计量。系统库获取第一摄像头采集的第一图像,然后使用校正后的位移量对第一图像进行反补偿,将反补偿得到的图像作为电子防抖算法的输入图像从而得到输出图像,输出图像和第一图像的融合得到最终图像。系统库调度硬件层中显示屏显示取景界面,取景界面中包括预览图像,预览图像即所述最终图像。
结合上述实施例及相关附图,本申请实施例提供了一种视频拍摄防抖方法,该方法可以在如图13、图14所示的具有多摄像头的视频采集设备(例如手机、平板电脑等)中实现。如图15所示,该方法可以包括以下步骤:
S1501,检测到第一操作。
示例性的,第一操作例如是用于打开相机的操作,比如,以图6为例,第一操作可以是用户点击界面601中的相机图标602的操作。或者,以图7为例,第一操作也可以是点击取景界面中提示信息702的操作,本申请实施例对第一操作的类型不作限定,还可以是其它操作,比如,微信应用中打开与某个联系人视频通话的操作,或者,朋友圈中拍摄视频的操作等等。
S1502,响应于所述第一操作,启动第一摄像头和第二摄像头,所述第一摄像头开启光学防抖功能,并采集第一图像,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像。
第一摄像头是非校正摄像头,第二摄像头是校正摄像头,用于校正第一摄像头的光学防抖参数。其中,第一摄像头可以是一个或多个摄像头,第二摄像头可以是一个或多个摄像头,具体参见前文,在此不重复赘述。
其中,第二摄像头可以是如下至少一个摄像头:
预设摄像头;或者,
不具备或未开启光学防抖功能的摄像头;或者,
长焦摄像头;或者,
广角摄像头;或者,
所述视频采集设备中使用频率最低的摄像头;或者,
所述视频采集设备中性能最低的摄像头。
以上几种校正摄像头仅是举例,不是限定,对于每种校正摄像头的描述请参见前文描述。
在一些实施例中,以图6为例,第一操作可以是用户点击界面601中的相机图标602的操作,即视频采集设备检测到用户点击相机图标的操作时,自动启动第一摄像头和第二摄像头。在另一些实施例中,视频采集设备检测到第一操作(比如图6中点击相机图标的操作)后,启动所述第一摄像头,显示取景界面,取景界面内显示第二预览图像,第二预览图像为所述第一摄像头采集的图像;此时暂不启动第二摄像头;当视频采集设备在取景界面内检测到用于指示第一防抖模式的第二操作时,响应于所述第二操作,启动所述第二摄像头。所述第二操作例如特定的手势操作或针对取景界面中用于指示第一防抖模式的控件的点击操作。也就是说,视频采集设备默认进入普通防抖模式,在用户的指示下进入第一防抖模式即前述超防抖模式,具体参见前文所述。
第一摄像头启动光学防抖功能,可以调整光学防抖参数比如内部补偿镜头组的位移量,采集的第一图像。如前述内容可知,视频采集设备中处理器会向第一摄像头下发指令,该指令包括第一摄像头内的补偿镜头组需要移动的位移量(位移估计量),比如5cm,但实际上补偿镜头组可能移动或4.5cm或5.5cm等等,与指令中指示的补偿镜头组需要移动的位移量有差异,但是视频采集设备记录的是所述指令中补偿镜头组需要移动的位移量即位移估计量如5cm,并不清楚真实位移量,所以对第一图像反补偿时使用的是位移估计量,这样会导致反补偿得到的图像不准确,即电子防抖算法的输入图像不准确,电子防抖效果欠佳。
本申请中,第二摄像头作为校正摄像头,用于校正第一摄像头的光学防抖参数,即校正第一摄像头内补偿镜头组的位移估计量,得到真实位移量,使用真实位移量对所述第一图像反补偿。
示例性的,通过第二摄像头校正第一摄像头的光学防抖参数的方式为,第二摄像头采集第四图像,第四图像用于确定所述第二摄像头的姿态参数;所述姿态参数用于校正所述补偿镜头组的位移估计量得到所述补偿镜头组的真实位移量。第二摄像头的姿态参数的一种可能的确定方式为:通过第四图像上第一特征点和第五图像上与第一特征点对应的第二特征点确定的单应矩阵,第五图像是在所述第四图像之前的所述第二摄像头采集的一帧或多帧图像。具体参见前文所述,在此不重复赘述。
一种可能的实现方式为,视频采集设备确定第二摄像头的姿态参数和第一摄像头的位移估计量的最小误差估计值,使用该最小误差估计值校正所述位移估计量。示例性的,姿态参数和位移估计量的最小误差估计值满足:argmin‖A1-B1‖2;其中,A1是所述位移估计量,B1是所述姿态参数;‖A1-B1‖是指取A1-B1的范数。
另一种可能的实现方式为,视频采集设备确定所述姿态参数和所述位移估计量的平均值为真实位移量,这里的平均值可以是算术平均值或加权平均值,可参见前文描述。
S1503,显示第一预览图像;所述第一预览图像是所述第一图像和第三图像的融合,所述第三图像是将所述第二图像通过电子防抖算法得到的输出图像。
在一些实施例中,第一预览图像是第一摄像头采集的第一图像和电子防抖输出的第三图像的融合,其中,电子防抖的输入图像是第二图像即使用校正后的光学防抖参数对第一图像反补偿得到的图像,由于校正后的光学防抖参数是真实位移量,所以使用真实位移量对第一图像反补偿得到的图像较为准确,电子防抖输入图像较为准确,电子防抖效果较好。这种情况即第一摄像头启动双重防抖功能,第二摄像头不使用电子防抖功能。
在另一些实施例中,第一预览图像中还可以融入第六图像,即第一预览图像为第一图像、第三图像和第六图像的融合,第六图像为第四图像输入到所述电子防抖算法得到的输出图像。也就是说,第一预览图像中,还融入第二摄像头(校正摄像头)采集的图像经过电子防抖算法的输出图像,使得最终的融合图像包含更多的图像信息,拍摄质量更佳。这种情况即第一摄像头启动双重防抖功能,而第二摄像头使用电子防抖功能。
其中,第二摄像头可以不启动光学防抖功能。因为,若校正摄像头不具备光学防抖功能,通过校正摄像头采集的图像确定的姿态矩阵较为准确的反映校正摄像头的真实抖动情况,可以更准确的对第一摄像头(非校正摄像头)的位移估计量进行校正。因此,视频采集设备检测到第二摄像头开启光学防抖功能,可以关闭所述第二摄像头的光学防抖功能。
以上实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
上述本申请提供的实施例中,从视频采集设备(例如手机)作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。

Claims (23)

1.一种视频拍摄防抖方法,其特征在于,包括:
检测到第一操作;
响应于所述第一操作,启动第一摄像头和第二摄像头,所述第一摄像头开启光学防抖功能,并采集第一图像,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像;
显示第一预览图像;所述第一预览图像是所述第一图像和第三图像的融合,所述第三图像是将所述第二图像通过电子防抖算法得到的输出图像;
所述第一摄像头包括一个或多个摄像头,所述第二摄像头包括一个或多个摄像头。
2.如权利要求1所述的方法,其特征在于,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,包括:
所述光学防抖参数包括所述第一摄像头内补偿镜头组的位移估计量;
所述第二摄像头采集第四图像,所述第四图像用于确定所述第二摄像头的姿态参数;所述姿态参数用于校正所述补偿镜头组的位移估计量得到所述补偿镜头组的真实位移量,所述真实位移量用于对所述第一图像反补偿得到所述第二图像。
3.如权利要求2所述的方法,其特征在于,所述补偿镜头组的位移估计量为记录的所述补偿镜头组需要移动的位移量。
4.如权利要求2或3所述的方法,其特征在于,所述第二摄像头的姿态参数,包括:
通过所述第四图像上第一特征点和第五图像上第二特征点确定的单应矩阵,所述第五图像是在所述第四图像之前的所述第二摄像头采集的一帧或多帧图像,所述第一特征点和所述第二特征点对应。
5.如权利要求2或3所述的方法,其特征在于,所述姿态参数用于校正所述补偿镜头组的位移估计量,包括:
使用所述姿态参数和所述位移估计量的最小误差估计值校正所述位移估计量;或者,
取所述姿态参数和所述位移估计量的平均值。
6.如权利要求5所述的方法,其特征在于,所述姿态参数和所述位移估计量的最小误差估计值满足:argmin||A1-B1||2;其中,A1是所述位移估计量,B1是所述姿态参数;||A1-B1||是指取A1-B1的范数。
7.如权利要求2或3所述的方法,其特征在于,所述第一预览图像为所述第一图像、所述第三图像和第六图像的融合,所述第六图像为所述第四图像输入到所述电子防抖算法得到的输出图像。
8.如权利要求1所述的方法,其特征在于,响应于所述第一操作,启动第一摄像头和第二摄像头,包括:
响应于所述第一操作,启动所述第一摄像头,显示取景界面,所述取景界面内显示第二预览图像,所述第二预览图像为所述第一摄像头采集的图像;
在所述取景界面内检测到用于指示第一防抖模式的第二操作;
响应于所述第二操作,启动所述第二摄像头。
9.如权利要求8所述的方法,其特征在于,所述第二操作为点击所述取景界面内用于指示所述第一防抖模式的控件的操作;或者,在所述取景界面内的特定手势操作。
10.如权利要求1所述的方法,其特征在于,还包括:
若检测到所述第二摄像头开启光学防抖功能,关闭所述第二摄像头的光学防抖功能。
11.如权利要求1所述的方法,其特征在于,所述第二摄像头包括如下至少一个摄像头:
预设摄像头;或者,
不具备或未开启光学防抖功能的摄像头;或者,
长焦摄像头;或者,
广角摄像头;或者,
视频采集设备中使用频率最低的摄像头;或者,
视频采集设备中性能最低的摄像头。
12.一种视频拍摄防抖装置,其特征在于,包括:
N个摄像头,其中,N为大于等于2的整数;
一个或多个处理器;
一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述装置执行如下步骤:
检测到第一操作;
响应于所述第一操作,启动第一摄像头和第二摄像头,所述第一摄像头开启光学防抖功能,并采集第一图像,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,校正后的光学防抖参数用于对所述第一图像反补偿得到第二图像;
显示第一预览图像;所述第一预览图像是所述第一图像和第三图像的融合,所述第三图像是将所述第二图像通过电子防抖算法得到的输出图像;
所述第一摄像头包括一个或多个摄像头,所述第二摄像头包括一个或多个摄像头。
13.如权利要求12所述的装置,其特征在于,所述第二摄像头用于校正所述第一摄像头的光学防抖参数,包括:
所述光学防抖参数包括所述第一摄像头内补偿镜头组的位移估计量;
所述第二摄像头采集第四图像,所述第四图像用于确定所述第二摄像头的姿态参数;所述姿态参数用于校正所述补偿镜头组的位移估计量得到所述补偿镜头组的真实位移量,所述真实位移量用于对所述第一图像反补偿得到所述第二图像。
14.如权利要求13所述的装置,其特征在于,所述补偿镜头组的位移估计量为记录的所述补偿镜头组需要移动的位移量。
15.如权利要求13或14所述的装置,其特征在于,所述第二摄像头的姿态参数,包括:通过所述第四图像上第一特征点和第五图像上第二特征点确定的单应矩阵,所述第五图像是在所述第四图像之前的所述第二摄像头采集的一帧或多帧图像,所述第一特征点和所述第二特征点对应。
16.如权利要求13或14所述的装置,其特征在于,所述姿态参数用于校正所述补偿镜头组的位移估计量,包括:
使用所述姿态参数和所述位移估计量的最小误差估计值校正所述位移估计量;或者,
取所述姿态参数和所述位移估计量的平均值。
17.如权利要求16所述的装置,其特征在于,所述姿态参数和所述位移估计量的最小误差估计值满足:argmin||A1-B1||2;其中,A1是所述位移估计量,B1是所述姿态参数;||A1-B1||是指取A1-B1的范数。
18.如权利要求13或14所述的装置,其特征在于,所述第一预览图像为所述第一图像、所述第三图像和第六图像的融合,所述第六图像为所述第四图像输入到所述电子防抖算法得到的输出图像。
19.如权利要求12所述的装置,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述装置具体执行如下步骤:
响应于所述第一操作,启动所述第一摄像头,显示取景界面,所述取景界面内显示第二预览图像,所述第二预览图像为所述第一摄像头采集的图像;
在所述取景界面内检测到用于指示第一防抖模式的第二操作;
响应于所述第二操作,启动所述第二摄像头。
20.如权利要求19所述的装置,其特征在于,所述第二操作为点击所述取景界面内用于指示所述第一防抖模式的控件的操作;或者,在所述取景界面内的特定手势操作。
21.如权利要求12所述的装置,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述装置还执行如下步骤:
若检测到所述第二摄像头开启光学防抖功能,关闭所述第二摄像头的光学防抖功能。
22.如权利要求12所述的装置,其特征在于,所述第二摄像头包括如下至少一个摄像头:
预设摄像头;或者,
不具备或未开启光学防抖功能的摄像头;或者,
长焦摄像头;或者,
广角摄像头;或者,
所述装置中使用频率最低的摄像头;或者,
所述装置中性能最低的摄像头。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在视频采集设备上运行时,使得所述视频采集设备执行如权利要求1至11任一所述的方法。
CN202010397889.7A 2020-05-12 2020-05-12 一种视频拍摄防抖方法与装置 Active CN113660408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010397889.7A CN113660408B (zh) 2020-05-12 2020-05-12 一种视频拍摄防抖方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010397889.7A CN113660408B (zh) 2020-05-12 2020-05-12 一种视频拍摄防抖方法与装置

Publications (2)

Publication Number Publication Date
CN113660408A CN113660408A (zh) 2021-11-16
CN113660408B true CN113660408B (zh) 2022-11-11

Family

ID=78488712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010397889.7A Active CN113660408B (zh) 2020-05-12 2020-05-12 一种视频拍摄防抖方法与装置

Country Status (1)

Country Link
CN (1) CN113660408B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115278077B (zh) * 2022-07-27 2024-05-10 维沃移动通信有限公司 光学防抖方法、装置、电子设备和可读存储介质
CN117714824A (zh) * 2022-08-24 2024-03-15 华为技术有限公司 一种电子设备、摄像模块及其控制方法
CN116320784B (zh) * 2022-10-27 2023-11-28 荣耀终端有限公司 图像处理方法及装置
CN116709023B (zh) * 2022-12-14 2024-03-26 荣耀终端有限公司 视频处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600548A (zh) * 2018-11-30 2019-04-09 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质
CN110278360A (zh) * 2019-06-28 2019-09-24 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质
CN110636223A (zh) * 2019-10-16 2019-12-31 Oppo广东移动通信有限公司 防抖处理方法和装置、电子设备、计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10868961B2 (en) * 2016-08-05 2020-12-15 Sony Corporation Imaging device, solid-state image sensor, camera module, drive control unit, and imaging method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600548A (zh) * 2018-11-30 2019-04-09 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质
CN110278360A (zh) * 2019-06-28 2019-09-24 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质
CN110636223A (zh) * 2019-10-16 2019-12-31 Oppo广东移动通信有限公司 防抖处理方法和装置、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
CN113660408A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
WO2021093793A1 (zh) 一种拍摄方法及电子设备
WO2020073959A1 (zh) 图像捕捉方法及电子设备
EP3893491A1 (en) Method for photographing the moon and electronic device
US11669242B2 (en) Screenshot method and electronic device
CN113132620B (zh) 一种图像拍摄方法及相关装置
CN113660408B (zh) 一种视频拍摄防抖方法与装置
JP7403551B2 (ja) 記録フレームレート制御方法及び関連装置
CN114092364B (zh) 图像处理方法及其相关设备
CN113452898B (zh) 一种拍照方法及装置
WO2021185250A1 (zh) 图像处理方法及装置
CN112351156B (zh) 一种镜头切换方法及装置
CN112532892B (zh) 图像处理方法及电子装置
CN116055874B (zh) 一种对焦方法和电子设备
CN114365482A (zh) 一种基于Dual Camera+TOF的大光圈虚化方法
CN115967851A (zh) 快速拍照方法、电子设备及计算机可读存储介质
CN115150542B (zh) 一种视频防抖方法及相关设备
WO2022206589A1 (zh) 一种图像处理方法以及相关设备
CN116723382B (zh) 一种拍摄方法及相关设备
WO2022206783A1 (zh) 拍摄方法、装置、电子设备及可读存储介质
CN113452895A (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