用于视频内容稳定的方法和装置与流程

文档序号:16364761发布日期:2018-12-22 08:22阅读:166来源:国知局
用于视频内容稳定的方法和装置与流程

本申请一般涉及视频捕获机制,并且更具体地涉及用于稳定由相机捕获的视频内容的方法和装置。

背景

通常,如果相机在捕获图像帧的同时移动,则在捕获的图像帧中观察到不期望的伪像。相机可以由于握持相机的手的摇动而移动,或者在一些情况下,持有相机的用户可以在捕获图像帧的同时平移或扫掠相机。结果,在图像帧中观察到诸如捕获的场景的模糊物体之类的不期望的伪像。

通常,图像捕获机制采用各种技术来补偿在图像帧捕获期间相机的移动,以获得更清晰的图像帧。然而,这些技术本身仅能够解决在图像捕获期间相机的微小移动。例如,当前技术不能充分补偿相机的相对较大的移动,诸如例如在图像捕获期间相机的平移或扫掠运动。结果,在捕获的图像帧中仅部分地解决了诸如运动模糊对象之类的不期望的伪像。

以下所描述的各实施例不限于解决已知设备的缺点的任何或所有缺点的实现。

概述

下面呈现了本公开的简要概述,以便向读者提供基本理解。本概述不是本公开的穷尽概览,且其不标识关键/重要元素或者描述本说明书的范围。其唯一的目的是以简化形式呈现本文中所公开的概念精选,作为稍后呈现的更详细描述的序言。

在一实施例中,呈现了用于视频内容稳定的方法。该方法包括使得通过相机捕获视频的一系列图像帧。相机包括透镜组件和图像传感器。该一系列图像帧中每个图像帧的捕获涉及执行以下操作:(a)在每个图像帧的捕获期间检测相机的移动;(b)对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及(c)在每个图像帧的捕获之后将透镜组件和图像传感器中的至少一个重置到预捕获位置。该方法还包括在捕获视频的该一系列图像帧之后对视频的一个或多个图像帧执行数字图像稳定(dis)。针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行。针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机的移动的影响。

在一实施例中,呈现了用于视频内容稳定的装置。该装置包括至少一个处理器和至少一个存储器。至少一个存储器包括计算机程序代码。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使得该装置通过相机捕获视频的一系列图像帧。相机包括透镜组件和图像传感器。该一系列图像帧中每个图像帧的捕获涉及执行以下操作:(a)在每个图像帧的捕获期间检测相机的移动;(b)对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及(c)在捕获每个图像帧之后将透镜组件和图像传感器中的至少一个重置到预捕获位置。该装置还被使得在捕获视频的该一系列图像帧之后对视频的一个或多个图像帧执行数字图像稳定(dis)。针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行。针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机的移动的影响。

在一实施例中,呈现了用于基于显示优先级促进显示的计算机程序产品。该计算机程序产品包括至少一个计算机可读存储介质。计算机可读存储介质包括指令集,当该指令集被一个或多个处理器执行时,使得一装置通过相机捕获视频的一系列图像帧。相机包括透镜组件和图像传感器。该一系列图像帧中每个图像帧的捕获涉及执行以下操作:(a)在每个图像帧的捕获期间检测相机的移动;(b)对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及(c)在捕获每个图像帧之后将透镜组件和图像传感器中的至少一个重置到预捕获位置。该装置还被使得在捕获视频的该一系列图像帧之后对视频的一个或多个图像帧执行数字图像稳定(dis)。针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行。针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机的移动的影响。

通过参考结合附图考虑的以下详细描述将更易于领会许多附带特征,因为这些附带特征变得更好理解。

附图描述

根据以下附图阅读以下详细描述将更好地理解本说明书,在附图中:

图1是示出根据一示例实施例的装置的框图;

图2示出了根据一示例实施例的相机的组件的简化表示,用于示出对由相机捕获的每个图像帧的ois的实现;

图3a示出了根据一示例场景,在不实现ois的情况下捕获的视频的示例图像帧;

图3b示出了根据一示例实施例的使用ois捕获的视频的示例图像帧;

图4a描绘了根据一示例场景,在捕获视频的一系列图像帧的同时相机的平移运动;

图4b描绘了根据另一示例场景,在捕获视频的一系列图像帧的同时相机的倾斜运动;

图5例示了根据一示例实施例的用于视频内容稳定的方法的示例流程图;以及

图6解说了能够实现本文中所描述的示例实施例的移动设备的示例。

在各个附图中使用相同的附图标记来指代相同的部件。

详细描述

下面结合附图提供的详细描述旨在作为本发明示例的描述,而并不旨在表示可以构建或使用本发明示例的唯一形式。然而,可通过不同示例来完成相同或等效的功能和序列。

图1是示出根据示例实施例的装置100的框图。在至少一个示例实施例中,装置100包括处理器(例如,处理器102),以及至少一个存储器(例如,存储器104)。存储器104能够储存机器可执行指令。此外,处理器102能够执行所储存的机器可执行指令。处理器102可按许多不同方式来具体化。在一实施例中,处理器102可被具体化为诸如协处理器、微处理器、控制器、数字信号处理器(dsp)、具有或不具有伴随dsp的处理电路系统之类的各种处理设备中的一个或多个,或者包括诸如举例而言,专用集成电路(asic)、现场可编程门阵列(fpga)、微控制器单元(mcu)、硬件加速器、专用计算机芯片等集成电路的各种其他处理设备。在至少一个示例实施例中,处理器102利用计算机程序代码来导致装置100执行一个或多个动作。

存储器104可被具体化为一个或多个易失性存储器设备、一个或多个非易失性存储器设备、或一个或多个易失性存储器设备和非易失性存储器设备的组合。例如,存储器104可被具体化为磁存储设备(诸如硬盘驱动器、软盘、磁带等)、光磁存储设备(例如磁光盘)、cd-rom(压缩碟只读存储器)、cd-r(可记录压缩碟)、cd-r/w(可重写压缩碟)、dvd(数字多功能碟)、bd(碟)和半导体存储器(诸如掩模rom、prom(可编程rom)、eprom(可擦除prom)、闪存rom、ram(随机存取存储器)等)。

装置100还包括输入/输出(i/o)模块106,其被配置为使装置100能够接收输入并提供输出。例如,i/o模块106可以接收与由相机捕获的视频相对应的一系列图像帧的输入,并生成被配置为致使在电子设备的显示屏幕上显示视频的输出。为此,i/o模块106可以与至少一个相机(例如相机108)进行操作通信。相机108可包括捕获一个或多个图像帧所需的硬件和/或软件。例如,相机108可以包括硬件,例如包括一个或多个透镜的透镜组件110,以及图像传感器112。图像传感器112的示例可包括但不限于互补金属氧化物半导体(cmos)图像传感器、电荷耦合器件(ccd)图像传感器、背侧照明传感器(bsi)等。在一些实施例中,相机108可以仅包括用于捕获视频的一系列图像帧的硬件,而装置100的存储器设备以软件的形式存储由处理器102执行以用于从捕捉的视频生成输出视频流的指令。在一示例实施例中,相机108可进一步包括在处理图像帧数据中协助处理器102的处理元件(诸如,协处理器),以及用于压缩和/或解压缩图像帧数据的编码器和/或解码器。编码器和/或解码器可根据标准格式(例如,联合图像专家组(jpeg)标准格式)来编码和/或解码。在一实施例中,相机108可以包括光学图像稳定(ois)电路114,其被配置为实现所捕获的图像帧的ois,如稍后将参考图2所解释的。

在一示例实施例中,i/o模块106可以与至少一个运动传感器(诸如运动传感器116)进行操作通信。运动传感器116被配置为在捕获图像帧期间检测相机108的移动。在一示例实施例中,运动传感器116可以是能够感测相机108在一个或多个方向上的旋转速度的陀螺仪。应当理解,本文提到的运动传感器116作为陀螺仪的实现仅用于说明目的,并且运动传感器116可被实现为各种其他惯性测量单元(imu),诸如例如加速计。

在图1中,相机108和运动传感器116被描绘为与装置100可操作地通信,然而在一些实施例中,相机108和运动传感器116可被包括在装置100内。在一些示例实施例中,相机108和运动传感器116可被包括在容纳装置100的电子设备内。电子设备的示例可包括但不限于相机设备、移动电话、膝上型计算机、平板计算机、媒体播放器、摄像机、视频会议系统、配备有图像/视频捕获能力的可穿戴设备等。或者,在一些实施例中,相机108和运动传感器116可被设置在电子设备的外部,并且可以可操作地耦合到容纳在电子设备内的装置100。

在一实施例中,i/o模块106还被配置为与用户界面(ui)(例如电子设备的显示屏)可操作地通信。显示屏的示例可包括但不限于发光二极管显示屏、薄膜晶体管(tft)显示屏、液晶显示屏、有源矩阵有机发光二极管(amoled)显示屏等。

在至少一个示例实施例中,装置100的各种组件,诸如处理器102、存储器104和i/o模块106,可以经由集中式电路系统118彼此通信。集中式电路系统118可以是被配置成尤其在装置100的各组件之间提供或启用通信的各种设备。在某些实施例中,集中式电路系统118可以是中央印刷电路板(pcb),诸如母板、主板、系统板或逻辑板。集中式电路系统118还可包括或者替代地包括其他印刷电路组装件(pca)或通信信道介质。

需要注意,装置100可包括比图1中所描绘的更少或更多的组件。在一实施例中,装置100的一个或多个组件可被实现为现有硬件系统之上的一组软件层。在示例性场景中,装置100可以是能够执行一组指令(顺序和/或其他方式)的任何机器,以便通过从配置视频内容的图像帧中基本上去除相机运动引起的伪像来稳定视频内容。此外,经稳定的视频内容可为视频内容的观看者提供愉快和享受的观看体验。注意,术语“视频内容”和“视频”在下文中可互换使用。

在至少一个示例实施例中,装置100被配置为使得相机108捕获视频的一系列图像帧。在说明性示例中,用户可以提供输入,诸如例如在电子设备的显示屏上的触摸输入或者与电子设备上的物理按钮的选择相关的输入,以发起对视频的捕获。i/o模块106可被配置为从用户接收这样的输入。i/o模块106还可被配置为将输入提供给处理器102,处理器102结合存储在存储器104中的指令可以发起使用相机108对视频的捕获。

在一实施例中,视频的每个图像帧的捕获涉及执行以下操作:(a)在每个图像帧的捕获期间检测相机108的移动;(b)对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机108的移动;以及(c)在捕获每个图像帧之后将透镜组件110和图像传感器112中的至少一个重置到预捕获位置。

在一示例实施例中,运动传感器116被配置为检测相机108的移动并测量相机108在一个或多个方向(诸如从在发起对视频的捕获之前被选择为相机108的初始取向的初始参考帧起沿着x轴、y轴和z轴的方向)上的旋转速度。沿着三个方向测量的旋转速度值(例如,以每秒弧度为单位)可由运动传感器116提供给i/o模块106。

i/o模块106可被配置为基本上实时地向处理器102提供这样的信息,以便于确定相机108的移动程度。相机108的移动程度的确定可被用于控制ois电路114以实现被捕获的图像帧的ois。在说明性示例中,装置100可以使相机108中的ois电路114促进对每个图像帧捕获的ois的实现。参照图2进一步说明了ois的实现。

图2示出了根据一示例实施例的相机108的组件的简化表示,用于示出对由相机108捕获的每个图像帧的ois的实现。在图2中所示的简化表示中,相机108被描绘为包括硬件,诸如透镜组件110(示例性地描绘为单个透镜并且在下文中称为透镜110)和图像传感器112。相机108还包括ois电路114。应理解,相机108可包括若干其他组件,例如快门(例如,全局快门或滚动快门),以捕获从场景中的物体反射和发射的光,并使光能够前进到透镜110上。然后,透镜110可被配置为将光导向图像传感器112的若干光敏像素或感测点(sensel)。感测点被配置为感测光,从而便于生成对应于场景的图像帧。

通常,透镜110和图像传感器112沿着光轴202在相机108内对准。光轴是这样的线,沿着该线配置光学系统(诸如包括透镜110和图像传感器112的光学系统)的旋转对称性。透镜110和图像传感器112的对准以以下方式被配置使得:从场景中的特定点发出的光线被透镜110引向图像传感器112上的特定感测点。在一个实施例中,由于在图像帧捕获期间相机108的移动(例如,由于手的抖动),观察到来自图像传感器112上的预期接收方感测点的光线的路径的移位,从而指示相机108的光轴202的移位。相机108的光轴202的移位可能导致不期望的伪像,例如捕获的图像帧中的模糊物体。

如参考图1所解释的那样,装置100的i/o模块106被配置为从运动传感器116接收检测到的相机108的移动。在一个实施例中,处理器102可被配置为从一个或多个方向上记录的旋转速度确定相机108的移动程度并且然后控制相机108中的ois电路114,使得相机108的光轴202被平移或移动以补偿在捕获每个图像帧期间检测到的相机108的移动。可以执行光轴202的移位以重新获得透镜110和图像传感器112的对准,从而抵消相机108的移动,并且能够捕获对应于视频的更清晰的图像帧。应当理解,ois电路114可以包括一个或多个致动器,以移动透镜110和图像传感器112中的至少一个,以移位相机108的光轴202。在一些实施例中,包括透镜110和图像传感器112的整个图像捕获包可以在与检测到的相机108的移动相反的方向上旋转,以引起光轴202的移位并从而实现光学图像稳定。

在一个实施例中,可以使装置100在图像帧捕获期间根据水平方向上的移动(例如,ho)和垂直方向上的移动(例如,yo)来确定检测到的相机108的移动的程度。因此,光轴202的移位或透镜110/图像传感器112的平移可被配置为(ho,yo)的函数,以便补偿检测到的相机108的移动。

在一个实施例中,在完成图像帧捕获之际,透镜110和图像传感器112中的至少一个被重置为初始预捕获位置,即,在相机移动和随后的光轴移位之前配置的透镜110和图像传感器112的对准位置。此外,可以针对与视频相对应的捕获的每个图像帧执行ois,并且之后可以在捕获每个图像帧之后将透镜110和/或图像传感器112重置为原始位置。对于与视频相对应的捕获的每个图像帧,可以遵循这样的过程。注意,对于每个图像帧执行ois导致捕获的内容中捕获更清晰的图像帧,如参考图3a和图3b示例性解释的。

图3a示出了根据一示例场景,在不实现ois的情况下捕获的视频的示例图像帧302。图像帧302对应于在图像帧捕获期间伴随相机移动捕获的视频的一系列图像帧。结果,视频的一个或多个图像帧展现出模糊的对象,如图3a中示例性地描绘的。更具体地,图像帧302显示对着相机(诸如相机108)摆姿势的三个个体。如果在捕获三个个体的视频的同时,相机经历移动,则所得到的视频可能包括图像帧,其将显示三个个体的失真的或模糊的图像,如图像帧302中示例性描绘的那样。然而,如果在其相应捕获期间对每个图像帧实现光学图像稳定,则相机运动引起的运动模糊可被显著减少并且所得到的视频可以包括更清晰的图像帧,诸如图3b中所示的图像帧304。更具体地,图3b示出了根据一示例实施例的使用ois捕获的视频的示例图像帧304。如图3b中可看到的,图像帧304明显更清晰并且不包括通常在伴随相机运动时捕获的图像帧(诸如图像帧302)中看到的任何失真伪像。

注意,对于捕获的视频的每个图像帧,在每帧的基础上实现ois可以在捕获图像帧的同时补偿相机的微小移动(诸如例如手的抖动)。然而,对于相机的相对较大的移动(诸如例如在捕获图像帧的同时相机的扫掠运动或平移运动),光轴的移位可能接近其机械极限并且因此可能无法补偿在图像帧捕获期间相机的这种不希望的移动。相机的相对较大的运动的一些说明性示例在图4a和图4b中示出。

图4a描绘了根据一示例场景,在捕获视频的一系列图像帧的同时相机108的平移运动。如参考图1和图2所解释的,用户可在捕获视频的同时有意地或以其他方式平移相机108。图4a描绘了在视频捕获期间由相机108跟踪的示例路径410。由此,路径410涉及相机108围绕虚轴420的旋转。

图4b描绘了根据另一示例场景,在捕获视频的一系列图像帧的同时相机108的倾斜运动。在说明性示例中,用户可在捕获视频的同时有意地或以其他方式倾斜相机108。图4b描绘了在视频捕获期间由相机108跟踪的示例路径450。由此,路径450涉及相机108围绕虚轴460的旋转。

在许多示例场景中,相机108(诸如例如在跟踪图4a中所示的路径420或图4b中所示的路径450时)经历的旋转可能超过15度,由于光轴旋转的机械限制,这可能难以使用ois来补偿。结果,由于在每次图像帧捕获之后ois的实现以及将透镜组件和/或图像传感器重置到预捕获位置,各个图像帧可能仍然更清晰,但是,整个视频可能会失真或颤抖。

现在参考图1,如所解释的,装置100的i/o模块106被配置为从运动传感器116接收运动传感器数据。在说明性示例中,运动传感器116可被体现为陀螺仪并且被配置为捕捉与从发起对一系列图像帧的捕获时被选择为相机的取向的初始参考帧起围绕x轴、y轴和z轴的相机旋转有关的信息。由诸如陀螺仪之类的运动传感器捕获的这种信息在本文中称为运动传感器数据。i/o模块106可被配置为在捕获视频的一系列图像帧的整个时间历时期间接收与由至少一个运动传感器(诸如陀螺仪)感测的相机运动有关的运动传感器数据并以持续的方式向存储器104提供这样的信息以用于运动传感器数据的存储。

在至少一个示例实施例中,可以使得装置100在捕获视频的一系列图像帧之后对视频的一个或多个图像帧执行数字图像稳定(dis)。例如,如果由相机108捕获的图像帧序列包括图像帧1到图像帧10,则在捕获所有图像帧之后,可以使十个图像帧中的一个或多个图像帧经受dis。

在至少一个示例实施例中,基于针对一图像帧检测到的相机108的移动以及针对该一系列图像帧中的至少一个其他图像帧检测到的相机108的移动来执行针对该图像帧的dis。在一说明性示例中,为了执行针对图像帧(例如图像帧5)的dis,可利用针对图像帧5的检测到的相机108的移动以及针对至少一个其他图像帧(诸如在捕获图像帧5之前捕获到的一个或多个图像帧(例如,图像帧1,2,3和/或4)或捕获图像帧5之后捕获到的一个或多个图像帧(诸如例如,图像帧6,7,9等)(这种图像帧在本文中也被称为“未来图像帧”))的检测到的相机108的移动。

在一实施例中,可以使用针对图像帧的检测到的相机108的移动以及针对至少一个其他图像帧的检测到的相机108的移动来确定直到捕获图像帧5为止相机108所可能行经的路径。在另一个说明性示例中,可基于针对图像帧5以及一个或多个其他图像帧的检测到的相机108的移动来确定相机108所可能行经的路径(诸如图4a中显示的路径410或图4b中显示的路径450)。在一些实施例中,表示图像捕获期间相机108的移动的一个或多个方向上的旋转速度值可被装置100的处理器102使用来确定相机108所可能行经的路径。

在至少一个示例实施例中,为了对视频的一个或多个图像帧执行数字图像稳定,处理器102可被配置为数字地移位一个或多个图像帧中的像素以平滑化直到相应的图像帧捕获为止相机108所行经的路径。在一说明性示例中,如果相机108的路径指示相机108从左到右的运动,则处理器102可被配置为适当地从右向左移位像素以平滑化相机108所行经的路径。移位可被选择性地并且仅针对受影响的像素(例如与对象边缘相关联的像素,其经历了运动模糊效应)执行。此外,可以基于在捕获的图像帧中观察到的运动模糊的确定来确定要对所选择的像素执行的移位的量。在至少一个示例实施例中,可以利用已知算法(例如,richardsonlucy算法)来计算点扩散函数(psf)和由此的运动模糊。可以基于由处理器102计算的运动模糊来确定要数字地赋予受影响的像素的移位的量。注意,dis是针对视频的以下一个或多个图像帧执行的:通过在它们各自的捕获期间实现ois被捕获并且因此包括减少的通常在没有ois的被捕获的图像帧中看到的失真伪像。

应当理解,在捕获一系列图像帧之后执行dis是优选的,因为可以通过与针对更多数量的图像帧(包括未来图像帧)的相机108的移动有关的信息的可用性更准确地确定相机108所可能行经的路径,从而有助于有效补偿相机108在一个或多个图像帧中所行经的路径。

如参考图1所解释的,相机运动的影响包括由于在捕获一系列图像帧期间的相机运动而在若干图像帧中观察到的模糊伪像。在至少一个示例实施例中,数字图像稳定被配置为基本上从视频的一个或多个图像帧中去除相机运动的影响,从而产生对应于视频的更清晰的图像帧。本文中使用的术语“基本上去除相机运动的影响”意味着,去除(优选地完全去除)图像帧期间不想要的相机移动的影响到失真伪像对于观看者的肉眼而言不再明显的程度。可以理解,包括更清晰图像帧(诸如图像帧304)的经稳定的视频为观看者提供了愉快的观看体验。在图5中描绘了用于视频内容稳定的流程图。

图5例示了根据一示例实施例的用于视频内容稳定的方法500的示例流程图。方法500的操作可通过图1的装置100以及其他示例来执行。

在502,方法500包括使得通过相机捕获视频的一系列图像帧。相机包括透镜组件和图像传感器。视频的每个图像帧的捕获涉及执行以下操作:(a)在每个图像帧的捕获期间检测相机的移动;(b)对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及(c)在捕获每个图像帧之后将透镜组件和图像传感器中的至少一个重置到预捕获位置。如参考图1所解释的,运动传感器(诸如运动传感器116)可被配置为检测相机的移动。更具体地,运动传感器可被配置为测量相机在一个或多个方向(诸如例如从在发起捕获视频之前被选择为相机的初始取向的初始参考帧起沿着x轴、y轴和z轴的方向)上的旋转速度。沿三个方向测量的旋转速度值(例如,以每秒弧度为单位)可被用于基本上实时地确定相机的移动程度。相机的移动程度的确定可被用于控制ois电路(诸如参考图2所解释的ois电路114)以实现被捕获的图像帧的ois。

进一步地,在完成图像帧捕获之际,透镜组件和图像传感器中的至少一个被重置为初始预捕获位置,即,在相机移动和随后的光轴移位之前配置的透镜组件和图像传感器的对准位置。此外,可以针对与视频相对应的捕获的每个图像帧执行ois,并且之后可以在捕获每个图像帧之后将透镜组件和/或图像传感器重置为原始位置。对于与视频相对应的捕获的每个图像帧,可以遵循这样的过程。

在504,方法500包括在捕获视频的一系列图像帧之后对视频的一个或多个图像帧执行数字图像稳定。在至少一个示例实施例中,基于针对一图像帧的检测到的相机的移动以及针对该一系列图像帧中的至少一个其他图像帧的检测到的相机的移动来执行针对该图像帧的dis。如参考图1所解释的,可以使用针对图像帧的检测到的相机的移动和针对捕获的图像帧中的至少一个其他图像帧的检测到的相机的移动来确定直到捕获图像帧为止相机所可能行经的路径。通过数字化地移位像素以电子化地补偿在图像帧捕获期间相机所行经的路径来执行针对图像帧的dis。数字图像稳定被配置为基本上从视频的一个或多个图像帧中去除相机运动的影响,从而得到经稳定的视频内容。在506,方法500包括在基本上从视频的一个或多个图像帧中去除相机运动的影响之后,向观看者显示包括一系列图像帧的视频(例如,在与观看者相关联的电子设备的显示屏上)。

通过以下可实现公开的方法500:使用包括存储在一个或多个计算机可读介质(例如,非瞬态计算机可读介质,诸如一个或多个光学介质盘、易失性存储器组件(例如,dram或sram)或非易失性存储器或存储组件(例如,硬盘驱动器或固态非易失性存储器组件,诸如闪存组件))上以及在计算机(例如,嵌入在设备中的任何合适的计算机或图像处理器,该设备诸如膝上型计算机、娱乐控制台、上网本、网络书籍、平板计算设备、智能电话或其他移动计算设备)上执行的计算机可执行指令的软件。此类软件可例如在单个本地计算机上或者在使用一个或多个网络计算机的网络环境中(例如,经由互联网、广域网、局域网、远程基于web的服务器、客户机-服务器网络(诸如,云计算网络)或其他此类网络)执行。附加地,在所公开的方法或系统的实现期间创建和使用的任何中间数据或最终数据也可被储存在一个或多个计算机可读介质(例如,非瞬态计算机可读介质)上,且被认为在所公开技术的范围内。此外,任何基于软件的实施例可通过适当的通信手段被上传、下载或远程访问。此类适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括rf、微波和红外通信)、电子通信或其他这样的通信手段。

现在参考图6,示出了移动设备600的示意性框图,其能够实现本文中所描述的用于视频内容稳定的技术的实施例。应当理解,如所解说及在下文描述的移动设备600仅仅解说一种类型的设备,且不应当被视为限制实施例的范围。由此,应当理解,下面结合移动设备600描述的至少一些组件可以是任选的,且因此在示例实施例中可包括与结合图6的示例实施例描述的组件相比更多、更少或不同的组件。由此,除了其他示例之外,移动设备600可以是任何移动电子设备,诸如例如个人数字助理(pda)、移动电视机、游戏设备、蜂窝电话、平板计算机、膝上型计算机、移动计算机、相机、移动数字助理或上述的任何组合,以及其他类型的通信或多媒体设备。

所解说的移动设备600包括用于执行任务的控制器或处理器602(例如,信号处理器、微处理器、asic或其他控制和处理逻辑电路系统),所述任务诸如信号编码、数据处理、图像处理、输入/输出处理、功率控制、和/或其他功能。操作系统604控制移动设备600的各组件的分配和使用,且支持一个或多个应用程序(参见应用606),该一个或多个应用程序被配置成支持视频内容稳定,其实现本文中所描述的一个或多个创新特征。除视频内容应用以外,应用程序可包括常见的移动计算应用(例如,电话应用、电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)、或任何其他计算应用。

所解说的移动设备600包括一个或多个存储器组件,例如不可移动存储器608和/或可移动存储器610。不可移动存储器608可包括ram、rom、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器610可包括闪存、智能卡或订户身份模块(sim)。一个或多个存储器组件可被用于储存供运行操作系统604和应用606的数据和/或代码。数据的示例可包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、图像数据、视频数据或者其他数据集。移动设备600可进一步包括用户身份模块(uim)612。uim612可以是具有内置处理器的存储器设备。uim612可包括例如sim、通用集成电路卡(uicc)、通用订户身份模块(usim)、可去除用户身份模块(r-uim)或任何其他智能卡。uim612通常储存与移动订户相关的信息元素。sim卡形式的uim612在全球移动通信系统(gsm)通信系统、码分多址(cdma)系统,或使用第三代(3g)无线通信协议的诸如通用移动电信系统(umts)、cdma9000、宽带cdma(wcdma)和时分同步cdma(td-scdma),或使用第四代(4g)无线通信协议的诸如lte(长期演进)中是众所周知的。

移动设备600可支持一个或多个输入设备620和一个或多个输出设备630。输入设备620的示例可包括但不限于(例如,能够捕捉手指轻敲输入、手指姿势输入、多手指轻敲输入、多手指姿势输入、或来自虚拟键盘或按键板的键击输入的)触摸屏622、(例如,能够捕捉语音输入的)话筒624、(例如,能够捕捉静止画面图像和/或视频图像帧的)相机模块626以及物理键盘628。输出设备630的示例可包括但不限于扬声器632和显示器634。其他可能的输出设备(未示出)可包括压电或其他触觉输出设备。一些设备可供应多于一个输入/输出功能。例如,触摸屏622和显示器634可被组合在单个输入/输出设备中。

在一实施例中,相机模块626可包括能够从捕捉的视频形成视频流的数字相机。在一些实现中,相机模块626可包括两个或更多个相机,例如,被定位在移动设备600的两侧(例如,在移动设备中)的前置相机和后置相机。由此,相机模块626包括所有硬件(诸如透镜或(诸)其他光学组件),以及用于从捕获的视频创建视频流的软件。替换地,相机模块626可包括观看视频所需的硬件,而移动设备600的存储器设备以软件的形式存储由处理器102执行的指令,以用于从捕获的视频创建视频流。在一示例实施例中,相机模块626可进一步包括协助处理器602处理图像帧数据的处理元件(诸如,协处理器),以及用于压缩和/或解压缩图像数据的编码器和/或解码器。在一实施例中,相机模块626可向显示器634提供实况图像数据(取景器图像数据)。

无线调制解调器640可被耦合至一个或多个天线(图6中未示出),并且可支持处理器602与外部设备之间的双向通信,如本领域中充分理解的那样。无线调制解调器640一般被示为并可包括例如用于通过移动通信网络进行长程通信的蜂窝调制解调器642、用于通过外置的配备有蓝牙的设备或者本地无线数据网络或路由器进行短程通信的可兼容wi-fi的调制解调器644、和/或可兼容蓝牙的调制解调器646。无线调制解调器640一般被配置成与一个或多个蜂窝网络(诸如gsm网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(pstn)之间的数据和语音通信。

移动设备600可进一步包括一个或多个输入/输出端口650、电源652、一个或多个传感器654(例如,用于检测移动设备600的取向或运动的加速度计、陀螺仪、罗盘或红外邻近度传感器)、收发机656(用于无线发射模拟或数字信号)和/或物理连接器660,它可以是usb端口、ieee1394(火线)端口、和/或rs-232端口。所解说的组件不是必需的或包括所有的,因为可删除所示组件中的任一个且可添加其他组件。

利用图像帧处理应用和/或其他软件或硬件组件,移动设备600可实现本文中所描述的技术。例如,处理器602可以促进通过相机模块626对场景的一系列图像帧的捕获,并且执行对捕获的一系列图像帧的后处理。

尽管图6中以智能电话的形式来解说移动设备600,但更具体而言,本文中所描述的技术和解决方案可用具有其他屏幕能力和设备形状因素的连接的设备来实现,诸如平板计算机、连接到移动或台式计算机的虚拟现实设备、附接到游戏控制台或电视的图像传感器等。

一种方法的实施例,该方法包括使得通过相机捕获视频的一系列图像帧,该相机包括透镜组件和图像传感器,其中该一系列图像帧中的每个图像帧的捕获涉及执行以下操作:

在每个图像帧的捕获期间检测相机的移动;

针对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及

在每个图像帧的捕获之后,将透镜组件和图像传感器中的至少一个重置为预捕获位置;以及

该方法进一步包括:

在视频的该一系列图像帧的捕获之后针对视频的一个或多个图像帧执行数字图像稳定(dis),其中针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像的检测到的相机的移动来执行,并且其中针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机移动的影响。

在一个实施例中,该方法包括在针对视频的一个或多个图像帧执行dis之后,致使在电子设备的显示屏上显示视频。

在该方法的一个实施例中,替代地或附加地,对每个图像帧实现ois包括移位光轴以重新获得透镜组件和图像传感器的对准,其中光轴的移位补偿在每个图像帧的捕获期间检测到的相机的移动。

在该方法的一个实施例中,替代地或附加地,检测到的相机的移动包括相机在一个或多个方向上的旋转移动。

在该方法的一个实施例中,替代地或附加地,该方法还包括确定直到图像帧的捕获为止相机所可能行经的路径,该路径根据针对图像帧的检测到的相机的移动和针对至少一个其他图像帧的检测到的相机的移动来确定,其中针对图像帧的dis被配置为电子地补偿图像帧中相机所可能行经的路径的影响。

在该方法的一个实施例中,替代地或附加地,在该一系列图像帧的捕获期间相机的移动的影响包括在视频的至少一个图像帧中观察到的模糊伪像。

在该方法的一个实施例中,替代地或附加地,在该一系列图像帧的捕获期间相机的移动是使用被配置为测量相机在一个或多个方向上的旋转速度的陀螺仪来检测的。

一种装置的一方面包括:

至少一个处理器;以及

包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以下:

使得通过相机捕获视频的一系列图像帧,该相机包括透镜组件和图像传感器,其中该一系列图像帧中的每个图像帧的捕获涉及执行以下操作:

在每个图像帧的捕获期间检测相机的移动;

针对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及

在每个图像帧的捕获之后,将透镜组件和图像传感器中的至少一个重置为预捕获位置;以及

在视频的该一系列图像帧的捕获之后针对视频的一个或多个图像帧执行数字图像稳定(dis),其中针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行,并且其中针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机移动的影响。

在一个实施例中,该装置被进一步使得至少部分地:

在针对视频的一个或多个图像帧的dis的执行之后在电子设备的显示屏上显示视频。

在一个实施例中,替代地或附加地,该装置被进一步使得至少部分地:

通过移位光轴以重新获得透镜组件和图像传感器的对准来针对每个图像帧实现ois,其中光轴的移位补偿在每个图像帧的捕获期间检测到的相机的移动。

在该装置的一个实施例中,替代地或附加地,检测到的相机的移动包括相机在一个或多个方向上的旋转移动。

在一个实施例中,替代地或附加地,该装置被进一步使得至少部分地:

确定直到图像帧的捕获为止相机所可能行经的路径,该路径根据针对图像帧的检测到的相机的移动和针对至少一个其他图像帧的检测到的相机的移动来确定,其中针对图像帧的dis被配置为电子地补偿图像帧中相机所可能行经的路径的影响。

在该装置的一个实施例中,替代地或附加地,在该一系列图像帧的捕获期间相机的移动的影响包括在视频的至少一个图像帧中观察到的模糊伪像。

在一个实施例中,替代地或附加地,该装置还包括:

被配置来捕获视频的相机;以及

被配置来测量相机在一个或多个方向上的旋转速度的运动传感器。

在一个实施例中,替代地或附加地,该装置是移动电话、智能电话、膝上型计算机、平板计算机、个人计算机、相机设备、可穿戴设备和个人数字助理中的电子设备。一种装置的第二方面包括:

包括透镜组件和图像传感器的相机;

被配置来在图像帧捕获期间检测相机的移动的陀螺仪;

至少一个处理器;以及

包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以下:

使得通过相机捕获视频的一系列图像帧,该一系列图像帧中每个图像帧的捕获涉及以下操作:

在每个图像帧的捕获期间检测相机的移动;

针对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动;以及

在每个图像帧的捕获之后,将透镜组件和图像传感器中的至少一个重置为预捕获位置;以及

在视频的该一系列图像帧的捕获之后针对视频的一个或多个图像帧执行数字图像稳定(dis),其中针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行,并且其中针对一个或多个图像帧的dis的执行基本上从视频的一个或多个图像帧中去除相机移动的影响。

在一个实施例中,该装置的第二方面被进一步使得至少部分地:

在针对视频的一个或多个图像帧的dis的执行之后在电子设备的显示屏上显示视频。

在该装置的第二方面的一个实施例中,替代地或附加地,电子设备是移动电话、智能电话、膝上型计算机、平板计算机、个人计算机、相机设备、可穿戴设备和个人数字助理之一。

在该装置的第二方面的一个实施例中,替代地或附加地,该装置被进一步使得至少部分地:

通过移位光轴以重新获得透镜组件和图像传感器的对准来针对每个图像帧实现ois,其中光轴的移位补偿在每个图像帧的捕获期间检测到的相机的移动。

在该装置的第二方面的一个实施例中,替代地或附加地,该装置被进一步使得至少部分地:

确定直到图像帧的捕获为止相机所可能行经的路径,该路径根据针对图像帧的检测到的相机的移动和针对至少一个其他图像帧的检测到的相机的移动来确定,其中针对图像帧的dis被配置为电子地补偿图像帧中相机所可能行经的路径的影响。

除了其他益处之外,各种示例实施例提供了用于向视频内容的观看者提供愉快和舒适的观看体验的技术。本文公开的各种实施例建议对每个图像帧实现光学图像稳定(ois)以去除相机的微小移动的影响并且之后使用运动传感器数据执行数字图像稳定(dis)以去除在视频捕获期间相机的较大移动(诸如例如在捕获视频的图像帧的同时相机的扫掠运动或平移运动)的影响。由此,即使在低光条件下,在视频捕获期间由相机运动引起的失真伪像也基本上被去除,从而能够生成具有更清晰图像帧的经稳定的视频内容。这种视频内容的观看者可能能够观看不具有任何相机运动引起的失真的内容,从而为观看者提供愉快和舒适的观看体验。

注意的是,本文中描述的各种示例实施例可在多种多样的设备、网络配置和应用中(例如,在相机设备中、在移动设备中、或者作为任何电子设备中所使用的软件成像应用的一部分)实现。

可以使用基于计算的设备能够访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质可包括例如诸如存储器之类的计算机存储介质和通信介质。诸如存储器之类的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,ram、rom、eprom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可被用来储存信息以供计算设备访问的任何其他非传输介质。相比而言,通信介质可以以诸如载波或其它传输机制之类的已调数据信号来体现计算机可读指令、数据结构、程序模块等。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应当被理解成是传播信号。虽然在基于计算的设备中示出了计算机存储介质,但是应当领会,该存储可以是分布式的或者位于远程且经由网络或其他通信链路(例如,通过使用通信接口)来访问。

本文中所描述的方法可由有形存储介质上的机器可读形式的软件来执行,例如计算机程序的形式,该计算机程序包括在该程序运行于计算机上时被适配成执行本文中所描述的任何方法的所有步骤的计算机程序代码装置,并且其中该计算机程序可被具体化在计算机可读介质上。有形存储介质的示例包括计算机存储设备,计算机存储设备包括计算机可读介质,诸如盘、拇指型驱动器、存储器等而不包括所传播的信号。传播的信号可存在于有形存储介质中,但是传播信号本身不是有形存储介质的示例。软件可适于在并行处理器或串行处理器上执行以使得各方法操作可以按任何合适的次序执行或者同时执行。

作为替换或补充,本文中所描述的功能性(诸如图像处理指令)可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,可被使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、程序专用集成电路(asic)、程序专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)、图形处理单元(gpu)。例如,某些或所有设备功能性或方法序列可由一个或多个硬件逻辑组件来执行。

本文所解说并描述的各实施例以及没有在此专门描述但在本发明的各方面的范围之内的各实施例构成了用于捕获视频的图像帧以及用于稳定所捕获的视频的示例性装置。例如,参考图1、2和6示出和描述的当被配置时在处理器102和存储器104中的程序代码的控制下执行参考图5示出和描述的操作的各元素构成:用于使得通过相机108、626捕获视频的一系列图像帧的示例性捕获装置108、110、112、626,该相机包括透镜组件110和图像传感器112;用于在每个图像帧的捕获期间检测相机的移动的示例性检测装置116、654;用于针对每个图像帧实现光学图像稳定(ois)以补偿检测到的相机的移动的示例性光学图像稳定(ois)装置114;用于在每个图像帧的捕获之后将透镜组件和图像传感器中的至少一个重置为预捕获位置的示例性重置装置102、104、602、604、606;以及用于在视频的该一系列图像帧的捕获之后针对视频的一个或多个图像帧执行数字图像稳定(dis)的示例性数字图像稳定装置(dis)102、104、602、604、606、626,其中针对一个或多个图像帧中一图像帧的dis基于针对该图像帧的检测到的相机的移动以及针对该一系列图像帧中至少一个其他图像帧的检测到的相机的移动来执行。

将会理解,以上所描述的益处及优点可以涉及一个实施例或可以涉及若干实施例。各实施例并不限于解决所阐述的问题中的任何或全部问题的那些实施例、或者具有所阐述的益处和优点中的任何或全部益处和优点的那些实施例。

本文中所描述的方法的步骤可按任何合适次序执行,或者在恰适的地方同时执行。附加地,在不偏离本文中所描述的主题的精神和范围的情况下,可以从任何一种方法中增加或删除各单独的框。以上所描述的示例中的任一者的诸方面可以与所描述的其他示例中的任一者的诸方面相结合,以形成进一步的示例而不会丢失所寻求的效果。

可以理解,上面的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对各示例性实施例的结构和使用的全面描述。虽然上文以一定的详细度或参考一个或多个单独实施例描述了各个实施例,但是,在不偏离本说明书的精神或范围的情况下,本领域技术人员可以对所公开的实施例作出很多改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1