用于图像的运动去模糊的方法、装置和计算机程序产品与流程

文档序号:11291264阅读:288来源:国知局
用于图像的运动去模糊的方法、装置和计算机程序产品与流程

各种实施例大体上涉及用于图像的运动去模糊的方法、装置和计算机程序产品。



背景技术:

在弱光条件下拍摄场景的图像通常需要增加相机的曝光时间。增加相机的曝光时间可以使相机内部的光更多,从而有助于在弱光条件下对场景进行图像拍摄。然而,如果要在弱光条件下拍摄的场景包括运动中的对象,诸如正在步行/正在跑步的人、移动的汽车等,则如果曝光时间显著较大,则在拍摄的图像中引入运动伪像(motionartifacts)。以与运动相关联的对象模糊的形式观察到的运动伪像的存在降低了所拍摄图像的质量。



技术实现要素:

各种示例性实施例在权利要求中阐述。

在第一实施例中,提供了一种方法,其包括:基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象,所述两个或更多个突发图像与第一曝光时间相关联;如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分;向第二相机提供与所述场景的所述一个或多个部分相关的信息,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;接收由所述第二相机拍摄的所述场景的图像,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及基于所述图像来生成与所述场景对应的去模糊后的图像。

在第二实施例中,提供了一种装置,其包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述设备至少执行:基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象,所述两个或更多个突发图像与第一曝光时间相关联;如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分;向第二相机提供与所述场景的所述一个或多个部分相关的信息,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;接收由所述第二相机拍摄的所述场景的图像,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及基于所述图像来生成与所述场景对应的去模糊后的图像。

在第三实施例中,提供了一种装置,其包括:相机模块,所述相机模块包括:第一相机,被配置为拍摄与第一曝光时间相关联的突发图像;第二相机,被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;以及像素级快门,布设在所述第二相机的图像传感器前方;至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行:基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象,所述两个或更多个突发图像与第一曝光时间相关联;如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分;向第二相机提供与所述场景的所述一个或多个部分相关的信息,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;接收由所述第二相机拍摄的所述场景的图像,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及基于所述图像来生成与所述场景对应的去模糊后的图像。

在第四实施例中,提供了一种计算机程序产品,其包括至少一个计算机可读存储介质,所述计算机可读存储介质包括指令的集合,所述指令的集合在由一个或多个处理器执行时使得装置至少执行:基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象,所述两个或更多个突发图像与第一曝光时间相关联;如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分;向第二相机提供与所述场景的所述一个或多个部分相关的信息,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;接收由所述第二相机拍摄的所述场景的图像,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及基于所述图像来生成与所述场景对应的去模糊后的图像。

在第五实施例中,提供了一种装置,其包括:用于基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象的部件,所述两个或更多个突发图像与第一曝光时间相关联;用于如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分的部件;用于向第二相机提供与所述场景的所述一个或多个部分相关的信息的部件,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;用于接收由所述第二相机拍摄的所述场景的图像的部件,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及用于基于所述图像来生成与所述场景对应的去模糊后的图像的部件。

在第六实施例中,提供了一种包括程序指令的计算机程序,所述程序指令在由装置执行时使得所述装置:基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定所述场景中存在至少一个运动对象,所述两个或更多个突发图像与第一曝光时间相关联;如果所述至少一个运动对象被确定为存在于所述场景中,则识别所述场景的与所述至少一个运动对象相关联的一个或多个部分;向第二相机提供与所述场景的所述一个或多个部分相关的信息,所述第二相机被配置为拍摄与第二曝光时间相关联的单次曝光图像,所述第二曝光时间大于所述第一曝光时间;接收由所述第二相机拍摄的所述场景的图像,其中布设在所述第二相机的图像传感器前方的像素级快门被编程为:在所述图像拍摄的整个持续时间期间,针对所述图像传感器的与所述场景的所述一个或多个部分对应的像素,周期性地打开和关闭;以及基于所述图像来生成与所述场景对应的去模糊后的图像。

附图说明

在附图的图中通过示例而非限制的方式示出了各种实施例,在附图中:

图1示出了根据示例性实施例的设备;

图2示出了根据示例实施例的用于图像的运动去模糊的装置;

图3描绘了根据示例性实施例的相机模块的部件的简化布置;

图4a-4f描绘了用于示出根据实施例的、由第二相机拍摄图像期间像素等级快门的操作区域的示例原理图;

图5示出了根据另一示例性实施例的用于图像的运动去模糊的装置;

图6是描绘根据示例实施例的用于图像的运动去模糊的示例方法的流程图;和

图7a-7b是描绘根据另一示例性实施例的用于图像的运动去模糊的示例方法的流程图。

具体实施方式

通过参考附图的图1至7b可以理解示例性实施例及其潜在的效果。

图1示出了根据示例实施例的设备100。然而,应当理解,如图所示和下文所述的设备100仅仅是可能受益于各种实施例的一种类型的设备的说明,因此,不应该被认为限制实施例的范围。因此,应当理解,下面结合设备100描述的至少一些组件可以是可选的,并且因此在示例实施例中可以包括与结合图1的示例实施例所描述的那些更多、更少或不同的组件设备100可以是多种类型的移动电子设备中的任何一种,例如便携式数字助理(pda)、寻呼机、移动电视、游戏设备、蜂窝电话、所有类型的计算机(例如,笔记本电脑、移动电话计算机或台式机)、相机、音频/视频播放器、无线电设备、全球定位系统(gps)设备、媒体播放器、移动数字助理或上述和其他类型的通信设备的任何组合。

设备100可以包括与发送器104和接收器106可操作地通信的天线102(或多个天线)。设备100还可以包括诸如控制器108或向发送器104和接收器106提供信号和从发送器104和接收器106接收信号的的其他处理设备的装置。信号可以包括根据适用蜂窝系统的空中接口标准的信令信息,和/或还可以包括对应于用户语音、所接收的数据和/或用户生成的数据的数据。在这方面,设备100可以能够与一个或多个空中接口标准、通信协议、调制类型和接入类型一起操作。作为示例,设备100可以能够根据多个第一代通信协议、第二代通信协议、第三代通信协议和/或第四代通信协议等中的任何一个来操作。例如,设备100可能能够根据第二代(2g)无线通信协议is-136(时分多址(tdma))、gsm(全球移动通信系统)和is-95(码分多址(cdma))、或根据通用移动电信系统(umts)、cdma1000、宽带cdma(wcdma)和时分同步cdma(td-scdma)等的第三代(3g)无线通信协议、根据3.9g无线通信协议(诸如具有第四代(4g)无线通信协议的演进通用陆地无线接入网络(e-utran)等)进行操作。作为替代(或另外),设备100可以能够根据非蜂窝通信机制来操作。例如,诸如因特网、局域网、广域网等计算机网络;短距离无线通信网络、如蓝牙网络、zigbee网络、电气和电子工程师协会(ieee)802.11x网络等;以及诸如公共交换电话网(pstn)等的有线电信网络。

控制器108可以包括尤其实现设备100的音频和逻辑功能的电路。例如,控制器108可以包括但不限于一个或多个数字信号处理器设备、一个或多个微处理器设备、具有附带数字信号处理器的一个或多个处理器、不伴随数字信号处理器的一个或多个处理器、一个或多个专用计算机芯片、一个或多个现场可编程门阵列(fpga)、一个或多个控制器、一个或多个专用集成电路(asic)、一个或多个计算机、各种模数转换器、数模转换器和/或其他支持电路。设备100的控制和信号处理功能根据它们各自的能力在这些设备之间分配。因此,控制器108还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器108还可以包括内部语音编码器,并且可以包括内部数据调制解调器。此外,控制器108可以包括操作可以在存储器中存储的一个或多个软件程序的功能。例如,控制器108可能能够操作连接程序,诸如传统的web浏览器。然后,连接程序可以允许设备100根据无线应用协议(wap)、超文本传输协议(http)和/或类似协议来发送和接收web内容,诸如基于位置的内容和/或其他网页内容喜欢。在示例实施例中,控制器108可以被实现为诸如双核或四核处理器的多核处理器。然而,可以在控制器108中包括任何数量的处理器。

设备100还可以包括用户接口,其包括输出设备,例如振铃器110、耳机或扬声器112、麦克风114、显示器116和用户输入接口,其可以耦合到控制器108。允许设备100接收数据的用户输入接口可以包括允许设备100接收数据的多个设备中的任何一个,诸如小键盘118、触摸显示器、麦克风或其他输入设备。在包括小键盘118的实施例中,小键盘118可以包括数字(0-9)和相关键(#,*)以及用于操作设备100的其它硬键和软键。替代地或附加地,小键盘118可以包括常规的qwerty键盘布置。小键盘118还可以包括具有相关功能的各种软键。附加地或替代地,设备100可以包括诸如操纵杆或其他用户输入接口的接口设备。装置100还包括诸如振动电池组的电池120,其用于对用于操作设备100的各种电路供电,以及可选地提供作为可检测输出的机械振动。

在示例实施例中,设备100包括与控制器108通信的至少一个媒体拍摄元件,诸如相机、视频和/或音频模块。媒体拍摄元件可以是被配置用于拍摄用于存储、显示或传输的图像、视频和/或音频的任何部件。在其中媒体拍摄元件是相机模块122的示例实施例中,相机模块122可以包括能够从拍摄的图像形成数字图像文件的至少一个数字相机。因此,相机模块122包括诸如透镜或其他光学组件的所有硬件以及用于从拍摄的图像创建数字图像文件的软件。替代地,相机模块122可以包括查看图像所需的硬件,而设备100的存储设备存储用于由软件形式由控制器108执行的指令以从所拍摄的图像创建数字图像文件。在示例实施例中,相机模块122还可以包括诸如协处理器的处理元件,其协助控制器108处理图像数据,以及用于压缩和/或解压缩图像数据的编码器和/或解码器。编码器和/或解码器可以根据jpeg标准格式或其他类似格式编码和/或解码。对于视频,编码器和/或解码器可以采用多种标准格式中的任何一种,例如与h.261、h.262/mpeg-2、h.263、h.264、h.264/mpeg-4、mpeg-4等相关联的标准。在一些情况下,相机模块122可以向显示器116提供实时图像数据。此外,在示例性实施例中,显示器116可以位于设备100的一侧,并且相机模块122可以包括位于相对于显示器116位于设备100的相对侧的透镜,以使相机模块122能够在设备100的一侧拍摄图像,并将这样的图像的视图呈现给位于设备100的另一侧上的用户。

设备100还可以包括用户标识模块(uim)124。uim124可以是具有内置处理器的存储器设备。uim124可以包括例如用户识别模块(sim)、通用集成电路卡(uicc)、通用用户识别模块(usim)、可移动用户标识模块(r-uim)或任何其他智能卡。uim124通常存储与移动用户相关的信息元素。除了uim124之外,设备100可以配备有存储器。例如,设备100可以包括易失性存储器126,诸如包括用于临时存储数据的高速缓存区域的易失性随机存取存储器(ram)。设备100还可以包括其他非易失性存储器128,其可以被嵌入和/或可以是可移除的。非易失性存储器128可以附加地或替代地包括电可擦除可编程只读存储器(eeprom)、闪存、硬盘驱动器等。存储器可以存储设备100使用以实现设备100的功能的任何数量的信息和数据。

图2示出了根据示例性实施例的用于图像的运动去模糊的装置200。本文所用的术语“图像的运动去模糊”是指从拍摄的图像中去除运动模糊。运动模糊通常是由于图像捕捉元件和被拍摄对象之间的相对运动引入的。相对运动可以是由于由稳定的相机拍摄的场景中的运动对象,或来自拍摄相当静止对象的非稳定相机。在一些实施例中,如本文所使用的术语“运动去模糊”是指对由于在与弱光条件相关联的场景中并且被相机以非常大的曝光时间拍摄的运动对象引入的运动模糊的去除。

装置200可以例如在图1的设备100中使用。然而,应当注意,装置200也可以用于移动和固定两者的各种其他设备上,因此,实施例不应该限于在诸如图1的设备100的设备上的应用。替代地,可以在包括例如上面列出的设备的组合中使用实施例。因此,各种实施例可以完全体现在单个设备(例如设备100)或设备的组合中。此外,应当注意,下面描述的设备或元件可以不是强制性的,因此在某些实施例中可以省略某些设备或元件。

装置200包括或以其他方式与至少一个处理器202和至少一个存储器204通信。至少一个存储器204的示例包括但不限于易失性和/或非易失性存储器。易失性存储器的一些示例包括但不限于随机存取存储器、动态随机存取存储器、静态随机存取存储器等。非易失性存储器的一些示例包括但不限于硬盘、磁带、光盘、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、闪存等。存储器204可以被配置为存储信息、数据、应用程序、指令等,以使装置200能够根据各种示例性实施例执行各种功能。例如,存储器204可以被配置为缓存包括媒体内容的输入数据,以供处理器202处理。另外地或替代地,存储器204可以被配置为存储由处理器202执行的指令。

处理器202的示例可以包括控制器108。处理器202可以以多种不同的方式实施。处理器202可以被实现为多核处理器、单核处理器;或多核处理器和单核处理器的组合。例如,处理器202可以被实现为各种处理部件中的一个或多个,诸如协处理器、微处理器、控制器、数字信号处理器(dsp)、具有或不具有伴随dsp的处理电路、或包括诸如例如专用集成电路(asic)、现场可编程门阵列(fpga)、微控制器单元(mcu)、硬件加速器、专用计算机芯片等的集成电路的各种其它处理部件。在示例实施例中,多核处理器可以被配置为执行存储在存储器204中的或者处理器202可访问的指令。替代地或另外地,处理器202可以被配置为执行硬编码功能。因此,无论是由硬件或软件方法配置,还是通过其组合,处理器202可以表示例如物理上体现在电路中、能够根据各种实施例进行操作同时相应地被配置的实体。例如,如果处理器202被实现为asic、fpga等中的两个或更多个,则处理器202可以是用于进行本文所述的操作的具体配置的硬件。替代地,作为另一示例,如果处理器202被实现为软件指令的执行器,则指令可以具体地配置处理器202来在执行指令时执行本文所描述的算法和/或操作。然而,在一些情况下,处理器202可以是特定设备的处理器,例如适于通过用于执行本文描述的算法和/或操作的指令来进一步配置处理器202来采用实施例的移动终端或网络设备。处理器202可以尤其包括时钟、算术逻辑单元(alu)和被配置为支持处理器202的操作的逻辑门。

用户接口206可以与处理器202通信。用户接口206的示例包括但不限于输入接口和/或输出用户接口。输入接口被配置为接收用户输入的指示。输出用户接口向用户提供声音,视觉,机械或其他输出和/或反馈。输入接口的示例可以包括但不限于键盘,鼠标,操纵杆,键盘,触摸屏,软键等。输出接口的示例可以包括但不限于诸如发光二极管显示器,薄膜晶体管(tft)显示器,液晶显示器,有源矩阵有机发光二极管(amoled)显示器,显示器麦克风,扬声器,振铃器,振动器等。在示例实施例中,用户接口206可以尤其包括扬声器,麦克风,显示器,键盘,触摸屏等中的任何或全部的其它设备或元件。在这方面,例如,处理器202可以包括被配置为控制用户接口206(例如扬声器,振铃器,麦克风,显示器和/或类似物)的一个或多个元件的至少一些功能的用户接口电路。处理器202和/或包括处理器202的用户接口电路可以被配置为通过存储在存储器(例如,可处理器202可访问的至少一个存储器204和/或类似物)上的计算机程序指令(例如软件和/或固件)来控制用户接口206中的一个或多个元件的一个或多个功能。

在示例性实施例中,装置200可以包括电子设备。电子设备的一些示例包括通信设备,具有通信能力的媒体拍摄设备,计算设备,监视设备等。电子设备的一些示例可以包括移动电话,个人数字助理(pda),监视相机等。计算设备的一些示例可以包括膝上型计算机,个人计算机等。在示例实施例中,电子设备可以包括用户接口,例如ui206,其具有用户接口电路和用户接口软件,其被配置为便于用户通过使用显示器来控制电子设备的至少一个功能,并且进一步配置为响应于用户输入。在示例实施例中,电子设备可以包括被配置为显示电子设备的用户接口的至少一部分的显示电路。显示器和显示电路可以被配置为便于用户控制电子设备的至少一个功能。

在示例性实施例中,电子设备可以被实现为包括收发器。收发器可以是根据软件操作的、或以硬件或硬件和软件的组合体现的任何设备或电路。例如,在软件控制下操作的处理器202或者被实现为专门配置为执行本文描述的操作的asic或fpga的处理器202或其组合,从而配置装置200或电路来执行收发器的功能。收发器可以被配置为接收媒体内容。媒体内容的示例可以包括音频内容、视频内容、数据及其组合。

这些组件(202-206)可以经由集中的电路系统208彼此通信,以产生运动去模糊后的图像。集中的电路系统208可以是被配置为尤其提供或实现装置200的组件(202-206)之间的通信的各种设备。在某些实施例中,集中式电路系统208可以是中央印刷电路板(pcb),诸如主板、主板、系统板或逻辑板。集中的电路系统208也可以或者替代地包括其它印刷电路组件(pca)或通信信道介质。

在实施例中,装置200与相机模块210可操作地通信。在一个实施例中,相机模块210可以在装置200的外部,尽管它可以包括在电子设备内。在一些实施例中,相机模块210可以布设在电子设备的外部并且可以可操作地耦合到装置200。相机模块210被配置为促进拍摄数字图像和视频。为此,相机模块210包括第一相机212和第二相机214。第一相机212被配置为拍摄低曝光突发图像。每个突发图像与第一曝光时间相关联。第二相机214配置成以第二曝光时间拍摄单次曝光图像。第二曝光时间明显大于第一曝光时间。在说明性示例中,如果第二曝光时间对应于“t”秒持续时间,则与第一曝光时间相关联的持续时间可以在“t/50”秒左右。在另一说明性示例中,第二曝光持续时间为500毫秒,第一曝光持续时间为10毫秒。应当理解,为了说明的目的,本文提供了第二曝光持续时间和第一曝光持续时间的数值,并且不应被认为是限制本公开的范围。实际上,可以选择用于第二曝光时间和第一曝光时间的各种这样的持续时间值以拍摄与场景对应的图像。

相机模块210还包括像素级快门216,也通常称为“颤振快门(fluttershutter)”。像素级快门216是布设在图像传感器(例如第二相机214的图像传感器)的前方的透射膜(或屏幕),并且被编程为周期性地打开和关闭,在图像拍摄的整个持续时间期间,用于与图像传感器对应的所选择的像素的图像采集。例如,对于图像传感器的给定像素,像素电平快门216可以关于以下模式打开或关闭:“1010000111000001010000110011110111010111001001100111”,其中“1”对应于像素级快门216的打开配置,“0”对应于关闭配置,如果第二相机214的曝光时间被选择为52毫秒并且由于上面提供的用于打开和关闭像素级快门216的二进制模式的长度包括52个二进制值,则像素电平快门216的周期性的打开和关闭的频率可被计算为1毫秒。应当理解,为了示例目的在本文中提供像素级快门216的操作的数值/模式,并且可以选择各种这样的模式来获得拍摄的图像的最优去模糊。

相机模块210还可以包括其它成像电路和/或软件,其组合可以是设备100的相机模块122的示例。在一个实施例中,相机模块210的双相机配置被布置为使得对应于相机的透镜、图像传感器和相关电路沿着公共基线布置以产生立体相机设置。这种设置的示例在图3中示出。

现在参考图3,根据示例性实施例,描绘了相机模块210的组件的简化布置。如上所述,相机模块210包括第一相机212、第二相机214和像素级快门216。出于说明的目的,第一相机212和第二相机214中的每一个在这里被描绘为仅包括透镜和图像传感器。因此,第一相机212被描绘为包括透镜302和图像传感器304,并且第二相机214被描绘为包括透镜306和图像传感器308。应当理解,每个相机可以与除了透镜和图像传感器之外的多个部件相关联。此外,应当理解,入射到透镜上的光由图3的“入射光”以示例方式所描绘地指向图像传感器。像素级快门216布设在第二相机214的图像传感器308的前方,使得来自被拍摄的场景的透镜306上的入射光在被图像传感器308感测之前通过像素级快门216。第一相机212和第二相机214的透镜/图像传感器电路沿着公共基线布设(即相机的透镜和图像传感器彼此对准),使得相机模块210的双相机配置对立体相机设置进行配置。立体相机设置有助于从两个不同的角度拍摄相同的被观察场景,使得能够进行深度计算,这有助于对涉及分段、对象检测和跟踪等的拍摄图像的后处理。如上所述,像素级快门216被编程为针对场景的所选择的部分(或所选择的像素)周期性地打开和关闭,或者更具体地,选择性地允许或拒绝由透镜306引导的光朝向图像传感器308通过。像素级快门216的周期性打开和关闭使得能够保留与所拍摄的场景中的运动对象相关联的高频内容。

返回参考图2,在一个实施例中,装置200被配置为接收对应于由相机模块210的第一相机212拍摄的场景的突发图像。如上所述,每个突发图像与第一曝光时间(例如,小的曝光时间)相关联。在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,使得装置200基于与由第一相机212拍摄的场景对应的两个或更多个突发图像来确定场景中存在至少一个运动对象。在一个实施例中,场景与弱光条件相关联。在一个实施例中,通过计算运动对应信息(例如运动矢量信息)来执行对一个或多个运动对象的存在的确定,该信息捕捉由于场景中的运动对象而引起的连续图像之间的转换。在一个实施例中,计算运动对应信息可以包括提取与突发图像中的对象对应的特征并且跨连续突发图像匹配该特征。特征的示例可以包括但不限于图像帧的角部、边缘或感兴趣的其它区域,诸如场景的背景。在示例实施例中,可以使装置200使用诸如尺度不变特征变换(sift)、哈里斯角检测器、最小单值段同化核(susan)角检测器、来自加速段测试(fast)的特征的算法,来提取与突发图像相关联的特征。替代地,提取特征可以通过对与突发图像对应的宏块和一个或多个连续的突发图像,应用离散余弦变换(dct)、离散正弦变换(dst)、卡亨南-洛维变换(karhunen-loeve,klt)和阿达马(hadamard)变换之一来执行。在示例实施例中,将dct应用于与突发图像和一个或多个连续的突发图像对应的宏块上,由此获得的dc分量可被视为特征。在一个实施例中,可以通过对突发图像和一个或多个连续的突发图像进行部分解码来获得dc分量。在一个实施例中,提取的特征可以例如通过使用诸如随机样本共有(ransac)之类的算法来导出突发图像之间的对象转换从而计算运动对应信息来匹配。在一个实施例中,使用已知的熵和方差技术来执行对场景中运动对象的存在的确定。在一个实施例中,使用光流技术来执行对场景中运动对象的存在的确定,为了简明起见,这里不对其进行讨论。在示例实施例中,处理部件可以被配置为基于与由第一相机212拍摄的场景对应的两个或更多个突发图像来确定场景中存在至少一个运动对象。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,以使如果一个或多个运动对象被确定为存在于场景中,则装置200识别与一个或多个运动对象相关联的场景的一个或多个部分。例如,如果从第一相机212拍摄的两个或多个突发图像确定诸如移动车辆的运动对象的存在,则识别与移动车辆对应的场景的一部分。类似地,一些场景可以包括多个运动对象,例如在舞台上跳舞的人、飞鸟群、天空中的烟花等。在这种场景下,装置200可以使用诸如运动对应、光流等的技术来识别与运动对象相关联的场景的多个部分。在示例性实施例中,如果至少一个运动对象被确定存在于场景中,则处理部件可以被配置为识别与所述至少一个运动对象相关联的场景的一个或多个部分。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,使得装置200向第二相机214提供与场景的一个或多个部分相关的信息。在一个实施例中,与场景的一个或多个部分相关的信息包括与第一相机212的图像传感器304的像素相关联的信息,这些像素与对象运动相关联。当对象移动时,不同的像素集可以与对象运动相关联。因此,与场景的一个或多个部分相关的信息包括与对象运动相关联的像素集合相关的信息(或更具体地,图像传感器304上的像素的位置)并且被提供给第二相机214。在一个实施例中,与场景的一部分相关的信息包括对应的运动对象的速度估计。例如,如果对象与突发图像中的像素集合相关联并且已经移动到连续突发图像中的其他像素集合,则可以基于在突发曝光时间内的像素位置中行进的距离来确定运动对象的速度估计,并且这样的信息可以被传递到第二相机214。在一个实施例中,与一个或多个运动对象相关联的像素相关的信息基本上立即被提供给第二相机214,以随后拍摄两个或多个突发图像。在一个实施例中,使装置200分析连续的突发图像,以确定运动对象的存在。对运动对象的存在的识别和对关于与运动对象相关联的场景的一个或多个部分的信息的相应确定被立即执行,并且以最小的延迟实时地向第二相机214提供信息。在示例实施例中,处理部件可以被配置为向第二相机214提供与像素有关的信息。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,使得装置200接收由第二相机214拍摄的场景的图像。更具体地,第一相机212和第二相机214在同一时刻开始拍摄场景,然而,在动态地接收到与场景的一个或多个部分相关的信息后,第二相机214将信息提供给像素级快门216,其被布设在第二相机214的图像传感器308的前方(如图3所示)。针对对应于场景的一个或多个部分的图像传感器308的像素,像素级快门216被编程为在图像拍摄的整个持续时间周期性地打开和关闭。以这种方式拍摄的图像保留与运动对象相关的高频内容。

在示例性实施例中,基于第一相机212和第二相机214之间的最大可允许视差(disparity)来识别对应于场景的一个或多个部分的图像传感器308的像素。更具体地,在识别与一个或多个运动对象相关联的场景的一个或多个部分后,与场景的一个或多个部分相关的信息被提供给第二相机214和像素级快门216,使得场景的相应区域可以暴露于像素级快门216的操作。用于运动对象的第二相机214的场景的对应区域是两个相机之间的基线(或距离)和运动对象的深度的函数。由于运动对象的深度是未知的,所以基于作为两个相机之间的基线的函数的最大可允许视差来确定第二相机214的相应区域。例如,考虑一种情境,由此拍摄的场景涉及宽度“w”和高度“h”的矩形运动对象,并且第一图像中的矩形运动对象的左上角坐标为(xfirst,yfirst)。此外,两个相机之间的最大可允许视差被假定为“d”。在这种情境下,像素级颤振快门216在第二图像中的具有左上坐标(xfirst,yfirst)的矩形区域被启用,其中矩形区域的宽度和高度分别为‘w+d’和‘h+d’。参考示出通过运动对象在图像传感器308上形成的图像的图4a-4f中的示例性原理图进一步说明像素级快门216的操作区域。

现在参考图4a-4f,示出了根据实施例的用于示出由第二相机214拍摄图像期间像素级快门216的操作区域的示例性示意图。更具体地,图4a、4b和4c描绘分别在时间t1、t2和t3通过滚动的球408在第二相机214的图像传感器308上形成的图像402、404和406。如参考图2所解释的,使得装置200确定连续突发图像中的运动对象的存在,并且在确定突发图像中的运动对象(即滚动的球408)的存在时,进一步使装置200识别与运动对象相关联的场景的部分并将信息提供给第二相机214和像素级快门216。因此,在第二相机214的图像拍摄的整个持续时间期间,像素级快门216周期性地打开和关闭,针对与滚动的球408相关联的场景的部分相关联的图像传感器308的像素。应当理解,像素级快门216可以利用与场景的一个或多个部分相关的信息(诸如像素的位置、运动对象的速度等)基于如上所述的最大可允许视差来选择操作区域。因此,针对分别对应于在时刻t1、t2和t3与滚动的球408相关联的场景的部分对应的图像传感器308的像素,像素级快门216可以周期性地打开和关闭。图4d、4e和4f分别示出了在时刻t1、t2和t3如区域410、412和414所描绘的像素区域快门216的操作区域(即对应于滚动的球408的场景的部分)。如上所述,以这种方式拍摄的图像保留与运动对象相关的高频内容。

现在参考图2,在一个实施例中,使装置200确定被识别为存在于场景中的运动对象是否与匀质表面相关联。可以采用各种已知的技术来确定被拍摄的场景中的对象是否与匀质表面相关联。例如,如果在对连续的突发图像比较时没有观察到对象的纹理变化,则确定这样的对象与匀质表面相关联。例如,可以将球确定为与匀质表面相关联的对象。然而,诸如车辆、个人等的运动对象可以被确定为具有不匀质表面的对象。在一个实施例中,进一步使装置200向像素级快门216提供这样的信息,像素级快门216被编程为在整个第二相机214的图像拍摄的持续时间期间针对与对应于与匀质表面相关联的运动对象的场景的一部分的边缘相关联的图像传感器308的像素周期地打开和关闭。例如,如果运动对象是具有基本上匀质表面的球,则可以将像素级快门216编程为针对与球的圆形边缘相关联的像素打开和关闭。这种方案拍摄与对象边缘相关联的高频内容,这有助于对象的去模糊。由于对象与匀质表面相关联,对象沿其边缘的去模糊可能足够(因为与匀质表面相关联的对象内的细节的模糊失真可以不显著降低拍摄图像的质量)。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,使得装置200基于由第二相机214拍摄的图像来生成对应于场景的去模糊后的图像。在一个实施例中,使装置200执行图像的去卷积以去除由场景中的一个或运动对象引起的运动模糊。如上所述,成像系统(例如第一相机212或第二相机214)与被拍摄对象之间的相对运动引入了模糊效果,这使得所拍摄的图像中的细节扭曲。在一个示例性实施例中,由光线行进的光路(对应于被拍摄的图像)可以被认为是光学上完美的并且与点扩散函数(psf)进行卷积以产生所拍摄的图像。psf是描述输入点源的成像系统的输出的数学函数。更具体地,psf描述由于在成像系统中沿着光路行进而导致的理论点光源的失真。在示例实施例中,盲去卷积方法可用于从模糊图像估计psf,并使用psf对图像进行去卷积。这些方法包括诸如理查森-露西(richardson-lucy)和维纳(wiener)去卷积等众所周知的算法。

理查森-露西算法是从贝叶斯定理导出的迭代去卷积算法,其最小化以下估计误差:

其中i是去模糊后的图像,k是模糊函数,ib是所观察的模糊图像,并且n(.)是噪声分布。可以使用如下定义的迭代更新算法来获得解:

其中*是相关操作。使用理查森-露西算法的盲去卷积算法迭代地交替优化i和k。

在示例实施例中,可以使用最小二乘估计来获得去模糊后的图像如下:

a=x-1b

其中b是所观察的图像,a是去模糊后的图像,并且x是模糊函数。估计的模糊函数x的伪逆x-1可以以最小二乘法计算,并且可以用于获得去模糊后的图像。

在示例实施例中,处理部件可以被配置为通过执行拍摄图像的去卷积来执行运动去模糊。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在实施例中,对于与场景的一个或多个部分对应的像素,在整个图像拍摄期间,图像传感器308前方的像素级快门216的周期性打开和关闭被执行以保留对应于场景的运动对象的高频内容。保存的高频内容被配置为便于图像的去卷积以去除运动模糊。更具体地,不具有高频内容的模糊图像的去卷积可能在去模糊后的图像中产生不期望的环状(ringing)伪像。因此,保存的高频内容有助于有效地从拍摄图像中去除运动模糊。在一个实施例中,从图像中去除运动模糊产生去模糊后的图像。在示例实施例中,处理部件可以被配置为基于图像来生成与场景对应的去模糊后的图像。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起使得装置200执行与在图像拍摄期间暴露于像素级快门216的周期性打开和关闭的图像传感器308的像素对应的去模糊后的图像中的一个或多个像素区域的归一化。更具体地,如参考图4a-4f所解释的,对应于拍摄图像中的场景(即像素区域)的一个或多个部分的像素经历像素级快门216的周期性打开和关闭。这样拍摄图像被去卷积以产生去模糊后的图像。然后对去模糊后的图像中的一个或多个像素区域进行归一化以产生对应于场景的最终图像。在一个实施例中,一个或多个像素区域的归一化意味着对由于暴露于像素级快门216的周期性打开和关闭而由一个或多个像素区域接收的减少的光执行补偿。对于接收的减少的光的这种补偿涉及增加相应像素区域的增益因子。例如,如果像素区域与50%的光减少相关联,则该区域(或更具体地,对于该区域中的每个像素)的增益因子增大了2倍,以归一化对应的像素区域。在示例实施例中,处理部件可以被配置为执行在图像拍摄期间与暴露于像素级快门216的周期性打开和关闭的图像传感器308的像素对应的去模糊后的图像中的一个或多个像素区域的归一化。处理部件的示例可以包括处理器202,其可以是控制器108的示例。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起,使装置200用于接收由第一相机212在与等于第二曝光时间的时间段内拍摄的场景对应的多个突发图像。例如,如果第二曝光时间为t秒,则第一相机212可以继续拍摄低曝光突发图像(例如在t/50秒),直到持续时间t秒完成。如此接收的多个突发图像还包括用于确定场景中运动对象的存在的两个或多个突发图像。在一个实施例中,使装置200基于多个突发图像,通过利用一个或多个去重影(deghosting)算法,来生成与场景对应的二次图像。更具体地,多个突发图像可以构成突发图像堆栈,其中对象可能已经移动一定距离。去重影算法可以从原始图像中提取对象并叠加在一个或多个图像上以便于二次图像的产生。在示意性示例中,检测包含运动的突发图像中的像素(例如,如上所述),然后在仅考虑检测到的重影区域中的最小饱和突发图像中的像素的同时融合突发图像。这样的去重影操作从生成的二次图像中去除重影(ghosting)伪像。在另一示意性示例中,低动态范围(ldr)图像在将它们组合成高动态范围(hdr)图像(即二次图像)之前对准参考图像。在一个实施例中,基于单基图(homography)的方案被用于图像对准。在一些示例实施例中,光流算法用于在将它们组合成二次图像之前对准不同曝光的突发图像。

分别从第一相机212和第二相机214获得的二次图像和最终图像配置用于使用立体相机设置拍摄的相同场景的两个图像。在一个实施例中,基于最终图像和二次图像,使用已知技术来计算与场景对应的深度信息。此外,在一些实施例中,可以基于所计算的深度信息来执行场景中的一个或多个对象的三维(3d)重建。更具体地,可以对场景的运动对象(例如,移动的车辆、人、鸟等)和非运动对象(例如,建筑物、自然景观、静物等)两者进行3d重建。此外,还可以在计算场景的深度信息和/或3d重建时实现诸如与分割、对象检测和跟踪等相关的后处理技术。

在示例实施例中,处理器202被配置为利用存储器204的内容,并且可选地与本文所述的其他组件一起使得装置200向第二相机214提供场景中不存在至少一个运动对象的指示。如上所述,使装置200基于与由第一相机212拍摄的场景对应的两个或更多个突发图像来确定场景中存在一个或多个运动对象。可以利用例如运动对应信息、光流等的一种或多种技术来确定场景中存在一个或多个运动对象。在一个实施例中,可以使装置200确定场景中不存在运动对象。在这种情况下,使装置200向第二相机214和像素电平快门216提供场景中不存在至少一个运动对象的指示。在一个实施例中,这种在场景中不存的至少一个运动对象的指示可以基本上即刻被提供给第二相机214和像素级快门216。在接收到指示后,对于第二相机214的图像传感器308的所有像素,在第二相机214的图像拍摄的整个持续时间内,像素级快门216被编程为保持打开。去模糊/去卷积和/或归一化操作可以在拍摄的图像上被排除,然后可以配置与场景对应的最终图像。可以如上所述从由第一相机212拍摄的多个突发图像中获得二次图像,此外,可以如上所述执行与场景对应的深度信息和/或3d重建。

应当注意,尽管使装置200与包括图2中的第一相机212、第二相机214和像素级快门216的相机模块210进行操作通信,但在一些实施例中,相机模块210可以被配置为被包括在装置200中。图5中示出了用于图像的运动去模糊的这种装置。图5的装置500被描绘为除了处理器202、存储器204、用户接口206和集中的电路系统208之外,还包括相机模块210的第一相机212、第二相机214和像素级快门216。图5的装置500的各种组件(诸如处理器202、存储器204、用户接口206集中的电路系统208、第一相机212、第二相机214和像素级快门216)执行与图2中所解释的相似的功能,本文不再赘述。更具体地,可以以与图2所述相似的方式执行:基于由第一相机212拍摄的两个或多个突发图像来确定场景中存在一个或多个运动对象、识别与一个或多个运动对象对应的场景的一个或多个部分、向第二相机214提供与场景的一个或多个部分相关的信息、在像素级快门216在图像拍摄的整个持续时间期间针对图像传感器308的与场景的一个或多个部分对应的像素周期性地打开和关闭的同时接收由第二相机214拍摄的图像、以及可以按照与如图2中解释的方式类似的方式根据拍摄的图像来生成去模糊后的图像。

图6是描绘根据示例实施例的用于图像的运动去模糊的示例方法600的流程图。流程图中描绘的方法600可以由例如图2的装置200执行。

在602,方法600包括基于由第一相机(例如,第一相机212)拍摄的与场景对应的两个或更多个突发图像来确定场景中存在至少一个运动对象。在一个实施例中,场景与弱光条件相关联。在一个实施例中,通过计算运动对应信息(例如运动矢量信息)来执行对一个或多个运动对象的存在的确定,该信息捕捉由场景中的运动对象引起的连续图像之间的转换。在一个实施例中,计算运动对应信息可以包括提取与突发图像中的对象对应的特征并且在连续突发图像之间匹配特征。在一个实施例中,使用光流技术来执行对场景中存在运动对象的确定,为了简明起见,这里不对这里进行讨论。

在604,如果所述至少一个运动对象被确定为存在于场景中,则识别场景的与所述至少一个运动对象相关联的一个或多个部分。例如,如果从由第一相机拍摄的两个或多个突发图像确定诸如运动车辆的运动对象的存在,则识别场景的与运动车辆对应的一部分。类似地,一些场景可以包括多个运动对象,例如在舞台上跳舞的人、一群飞行鸟、天空中的烟花等。在这种情况下,可以使用诸如运动对应、光流等技术来识别与运动对象相关联的场景的多个部分。

在606,将与场景的一个或多个部分相关的信息提供给第二相机。在一个实施例中,与场景的一个或多个部分相关的信息包括与第一相机的图像传感器的像素相关的信息,这些像素与对象运动相关联。当对象运动时,不同的像素集可以与对象运动相关联。因此,与场景的一个或多个部分相关的信息包括关于与对象运动相关联的像素集合的信息(或更具体地,关于图像传感器上的像素的位置的信息)并且被提供给第二相机。在一个实施例中,与场景的一部分相关的信息包括对应的运动对象的速度估计。例如,如果对象与突发图像中的像素集合相关联并且已经运动到连续突发图像中的其他像素集合,则可以基于在突发曝光时间内的像素位置中行进的距离来确定运动对象的速度估计,并且这些信息可以被传递到第二相机。在一个实施例中,在两个或多个突发图像的拍摄之后,关于与一个或多个运动对象相关联的像素的信息基本上立即被提供给第二相机。在一个实施例中,分析连续的突发图像以确定运动对象的存在。对运动对象的存在的识别和对关于与运动对象相关联的场景的一个或多个部分的信息的相应确定被立即执行,并且以最小的延迟实时地向第二相机提供信息。

在608,接收由第二相机拍摄的场景的图像。更具体地,第一相机和第二相机在同一时刻发起对场景的拍摄,然而,在动态地接收到与场景的一个或多个部分有关的信息后,第二相机将信息提供给像素级快门,其布设在第二相机的图像传感器的前方(如图3所示)。第二相机的像素级快门被编程为在图像拍摄的整个持续时间期间,针对与场景的一个或多个部分对应的图像传感器的像素,周期性地打开和关闭。在示例性实施例中,基于第一相机和第二相机之间的最大可允许视差来识别对应于场景的一个或多个部分的图像传感器的像素。更具体地,在识别与一个或多个运动对象相关联的场景的一个或多个部分后,将与场景的一个或多个部分相关的信息提供给第二相机和像素级快门,使得场景的对应区域可以暴露于像素级快门的操作。针对运动对象的第二相机的场景的对应区域是两个相机之间的基线(或距离)和运动对象的深度的函数。由于运动对象的深度未知,所以基于最大可允许视差来确定第二相机的对应区域,该最大可允许视差是两个相机之间的基线的函数。可以如参考图4a-4f所解释的那样执行用于能够实现使像素电平快门操作的对应区域的确定。在一个实施例中,如果被识别出存在于场景中的运动对象与匀质表面相关联,则将这样的信息提供给像素电平快门,该像素电平快门被编程为:在由第二相机拍摄图像的整个持续时间期间,针对与匀质表面相关联的运动对象对应的场景的一部分的边缘相关联的图像传感器的像素,周期性地打开和关闭。例如,如果运动对象是具有基本上匀质表面的球,则可以将像素级快门编程为:针对与球的圆形边缘相关联的像素周期性地打开和关闭。这种方案拍摄与对象边缘相关联的高频内容,这有助于对象的去模糊。由于对象与匀质表面相关联,因此对象的沿其边缘的去模糊可以是足够的(因为与匀质表面相关联的对象内的细节的模糊失真可能不会显著降低拍摄图像的质量)。

在610,基于由第二相机拍摄的图像来生成对应于场景的去模糊后的图像。在一个实施例中,执行图像的去卷积以去除由场景中的一个或运动对象引起的运动模糊。在示例实施例中,盲去卷积方法可用于从模糊图像估计psf,并使用psf对图像进行去卷积。这些方法包括诸如理查森-露西和维纳去卷积等众所周知的算法。可以如参照图2所解释的那样执行图像的去卷积,这里不再赘述。

在实施例中,在图像拍摄的整个持续时间期间,针对与场景的一个或多个部分对应的像素,图像传感器前方的像素级快门的周期性打开和关闭被执行以保留与场景的运动对象对应的高频内容。所保留的高频内容被配置为便于图像的去卷积以去除运动模糊。更具体地,不具有高频内容的模糊图像的去卷积可能在去模糊后的图像中产生不期望的环状伪像。因此,保留的高频内容有助于有效地从拍摄图像中去除运动模糊。在一个实施例中,从图像中去除运动模糊产生去模糊后的图像。

在实施例中,执行去模糊后的图像中的一个或多个像素区域的归一化,该像素区域对应于在图像拍摄期间暴露于像素级快门的周期性打开和关闭的图像传感器的像素。一个或多个像素区域的归一化可以如参考图2所解释的那样进行,这里不作说明。然后对去模糊后的图像中的一个或多个像素区域进行归一化以产生对应于场景的最终图像。

在示例性实施例中,接收多个突发图像,所述多个突发图像与第一相机在等于第二曝光时间的时间段内拍摄的场景对应。例如,如果第二曝光时间为t秒,则第一相机可以继续拍摄低曝光突发图像(例如在t/50秒),直到t秒的持续时间完成。如此接收的多个突发图像还包括用于确定场景中运动对象的存在的两个或多个突发图像。在一个实施例中,通过利用一个或多个去重影算法,基于多个突发图像来产生对应于场景的二次图像。可以如参考图2所解释的那样使用去重影算法来生成二次图像,在此不再赘述。分别从第一相机和第二相机获得的二次图像和最终图像配置用于使用立体相机设置拍摄的相同场景的两个图像。在一个实施例中,基于最终图像和二次图像,使用已知技术来计算与场景对应的深度信息。此外,在一些实施例中,可以基于所计算的深度信息来执行场景中的一个或多个对象(包括移动和不运动对象)的三维(3d)重建。此外,还可以在计算场景的深度信息和/或3d重建时实现诸如与分割、对象检测和跟踪等相关的后处理技术。

在示例性实施例中,向第二相机提供场景中不存在至少一个运动对象的指示。如上所述,基于由第一相机拍摄的与场景对应的两个或更多个突发图像来确定场景中存在一个或多个运动对象。可以使用诸如运动对应信息、光流等的一种或多种技术来确定场景中存在一个或多个运动对象。在一个实施例中,确定场景中不存在运动对象。在这种情况下,向第二相机提供场景中不存在至少一个运动对象的指示,并且该指示从第二相机提供给像素级快门。在一个实施例中,这样的场景中不存在至少一个运动对象的指示可以基本上立即被提供给第二相机和像素级快门。在接收到指示后,像素级快门被编程为在图像拍摄的整个持续时间期间针对第二相机的图像传感器的所有像素保持打开。可以在拍摄的图像上排除去模糊/去卷积和/或归一化操作,然后可以配置与场景对应的最终图像。可以如上所述从由第一相机拍摄的多个突发图像获得二次图像,此外,可以如上所述执行对应于场景的深度信息和/或3d重建。

图7a和7b是描绘根据另一示例性实施例的用于图像的运动去模糊的示例方法700的流程图。流程图中描绘的方法700可以由例如图2的装置200执行。

在702,方法700包括接收由第一相机拍摄的与场景对应的两个或更多个突发图像。第一相机被配置为拍摄低曝光突发图像。在一个实施例中,场景与弱光条件相关联。在704处,基于两个或更多个突发图像来确定场景中存在至少一个运动对象。对至少一个运动对象的存在的确定可以如结合方法600的602所解释的那样执行,在此不再赘述。在706,检查场景中是否存在至少一个运动对象。如果在706处确定存在至少一个运动对象,则执行708。在708,识别与至少一个运动对象相关联的场景的一个或多个部分。例如,如果从由第一相机拍摄的两个或多个突发图像确定存在诸如移动车辆的运动对象,则识别与移动车辆对应的场景的一部分。在710,将与场景的一个或多个部分相关的信息提供给第二相机。将与场景的一个或多个部分有关的信息提供给第二相机可以如结合方法600的606所解释的那样进行,在此不再赘述。对运动对象的存在的识别和对关于与运动对象相关联的场景的一个或多个部分的信息的相应确定被立即执行,并且信息被以最小的延迟实时地提供给第二相机。

在712,接收由第二相机拍摄的场景的图像。更具体地,第一相机和第二相机在同一时刻发起对场景的拍摄,然而,在动态地接收到与场景的一个或多个部分有关的信息后,第二相机将信息提供给像素级快门,其布设在第二相机的图像传感器的前方(如图3所示)。第二相机的像素级快门被编程为在图像拍摄的整个持续时间期间针对与场景的一个或多个部分对应的图像传感器的像素周期性地打开和关闭。以这样的方式拍摄的图像保留与运动对象相关的高频内容,如参考图4a-4f所解释。在一个实施例中,如果识别出存在于场景中的运动对象与匀质表面相关联,则这种信息被提供给像素级快门,像素级快门被编程为:在图像拍摄的整个持续时间期间,针对与关联于匀质表面的运动对象对应的场景的一部分的边缘相关联的图像传感器的像素,周期性地打开和关闭。例如,如果运动对象是具有基本上匀质表面的球,则可以将像素级快门编程为:针对与球的圆形边缘相关联的像素周期性地打开和关闭。这种方案拍摄与对象边缘相关联的高频内容,这有助于对象的去模糊。由于对象与匀质表面相关联,因此对象的沿其边缘的去模糊可以是足够的(因为与匀质表面相关联的对象内的细节的模糊失真可能不会显著降低拍摄图像的质量)。

在714,通过对由第二相机拍摄的图像执行去卷积来去除由场景中的一个或多个运动对象引起的运动模糊,从而产生与场景对应的去模糊后的图像。在示例实施例中,盲去卷积方法可用于从模糊图像估计psf,并使用psf对图像进行去卷积。这些方法包括诸如理查森-露西和维纳去卷积等众所周知的算法。图像的去卷积可以如参照图2所解释的那样执行,在此不再赘述。在716处,通过在图像拍摄期间对与曝光到周期性地打开和关闭像素级快门的图像传感器的像素对应的去模糊后的图像中的一个或多个像素区域进行归一化来生成对应于场景的最终图像。归一化的执行可以如参考方法600所解释的那样进行,在此不再赘述。

如果在706处确定不存在至少一个运动对象,则执行718。在718处,向第二相机提供场景中不存在至少一个运动对象的指示。在这种情况下,场景中不存在至少一个运动对象的指示被提供给第二相机,并且从第二相机提供给像素级快门。在一个实施例中,这样的场景中不存在至少一个运动对象的指示可以基本上立即提供给第二相机和像素级快门。在接收到指示后,像素级快门被编程为在图像拍摄的整个持续时间期间保持打开。在720处,与第二相机拍摄的场景对应的图像被接收并被视为最终图像。

在722处,接收由第一相机在等于第二曝光时间的时间段内拍摄的与场景对应的多个突发图像。例如,如果第二曝光时间为t秒,则第一相机可以继续拍摄低曝光突发图像(例如在t/50秒),直到t秒的持续时间完成。如此接收的多个突发图像还包括用于确定场景中运动对象的存在的两个或多个突发图像。在724处,基于多个突发图像通过利用一个或多个去重影算法来生成对应于场景的二次图像。在726处,基于最终图像和二次图像,使用已知技术来计算与场景对应的深度信息。

应当注意,为了方便对图6至图7a-7b的流程图的讨论,本文描述了某些操作构成以特定顺序执行的不同步骤。这样的实现仅在于示例而非限制性的范围。某些操作可以组合在一起并且在单个操作中执行,并且可以以与本文所阐述的示例中使用的顺序不同的顺序执行某些操作。此外,方法600和700的某些操作以自动方式执行。这些操作基本上不涉及与用户的交互。方法600和700的其他操作可以以手动方式或半自动方式执行。这些操作涉及经由一个或多个用户接口呈现与用户的交互。

流程图的操作以及流程图中的操作的组合可以通过诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他设备的各种手段来实现。例如,可以通过计算机程序指令来体现各种实施例中描述的一个或多个过程。在示例实施例中,在各种实施例中描述的体现程序的计算机程序指令可以由设备的至少一个存储设备存储并由设备中的至少一个处理器执行。任何这样的计算机程序指令可以被加载到计算机或其他可编程设备(例如,硬件)上以产生机器,使得所得到的计算机或其他可编程设备实现用于实现流程图中指定的操作的装置。这些计算机程序指令还可以存储在可以使计算机或其他可编程装置以特定方式运行的计算机可读存储器(与诸如载波或电磁信号的传输介质相反)中,使得存储在计算机可读存储器中的指令产生制造品,其执行实现流程图中指定的操作。计算机程序指令还可以被加载到计算机或其他可编程设备上,以使得在计算机或其他可编程装置上执行一系列操作以产生计算机实现的过程,使得在计算机或其他可编程装置提供用于实现流程图中的操作的操作。在装置200的帮助下描述了方法的操作。然而,可以使用任何其他装置来描述和/或实践方法的操作。

不以任何方式限制下面出现的权利要求的范围、解释或应用,本文公开的一个或多个示例性实施例的技术效果是产生运动去模糊后的图像。各种实施例公开了使用双相机设置,其中像素级快门仅对于存在对象运动的选择性区域被启用。所提出的方案被配置为使用双相机设置来处理单个静止图像,其中一个图像被正确地暴露于场景,其中选择性运动区域被暴露于像素级快门操作。像素级快门的这种实现使得能够保留场景中的对象的高频内容,这导致在去卷积之后更好的输出。此外,在对象正在运动的部分上的选择性像素级快门操作导致对于场景的其他区域的更高的曝光,而在传统机构中,这样的操作在将总体曝光时间减少50%的光圈水平下被执行,导致光透过损失。本文公开的实施例使得能够即使在当相机的曝光时间保持非常大以在相机内容纳更多光时的弱光条件下,产生排除了运动模糊的高质量图像。本文公开的技术可以特别适用于与监视、安全性、交通监控、自然摄影等有关的领域的成像应用。

上述各种实施例可以在软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合中实现。软件、应用程序逻辑和/或硬件可以驻留在至少一个存储器、至少一个处理器、装置或计算机程序产品上。在示例实施例中,应用逻辑、软件或指令集被保存在各种常规计算机可读介质中的任何一个上。在本文档的上下文中,“计算机可读介质”可以是可以包含、存储、传送、传播或传送由指令执行系统、装置或设备(诸如计算机)使用或与指令执行系统、设备或设备(诸如计算机)结合使用的指令的任何介质或部件,其中图1和/或2中描述和描绘了装置的一个示例。非暂时性计算机可读介质可以包括计算机可读存储介质,其可以是可以容纳或存储的由指令执行系统、装置或设备(诸如计算机)使用或与指令执行系统、装置或设备(诸如计算机)一起使用的指令。

如果期望的话,本文讨论的不同功能可以以不同的顺序和/或彼此同时地执行。此外,如果需要,上述功能中的一个或多个可以是可选的或可以组合。

尽管在独立权利要求中阐述了各种实施例,但是其它实施例包括来自所描述的实施例和/或从属权利要求的特征与独立权利要求的特征的其他组合,而不仅仅是权利要求中明确陈述的组合。

这里还要注意,虽然上面描述了本发明的示例性实施例,但是这些描述不应被视为限制性的。相反,在不脱离如所附权利要求限定的本公开的范围的情况下,可以进行若干变化和修改。

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