用于图像帧的处理的方法、设备和计算机程序产品的制作方法

文档序号:7777539阅读:359来源:国知局
用于图像帧的处理的方法、设备和计算机程序产品的制作方法
【专利摘要】根据示例实施例,提供了一种方法、设备和计算机程序产品。该方法包括接收与场景相关联的多个彩色图像帧和多个全色图像帧。所述多个彩色图像帧对应于所述多个全色图像帧。该方法还包括基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息。基于注册信息修改与所述全色图像帧对应的彩色图像帧。
【专利说明】用于图像帧的处理的方法、设备和计算机程序产品
【技术领域】
[0001]各个实现方式总体涉及用于处理图像传感器所捕获的图像帧的方法、设备和计算机程序产品。
【背景技术】
[0002]与捕获图像相关的技术上的快速发展已经导致图像内容创建的指数式增长。像移动电话和个人数字助理(PDA)这样的设备现在正越来越多地被配置有诸如相机之类的图像捕获工具而由此有助于轻松地捕获图像内容。用户可以捕获与各种环境(ambient)条件下的场景相对应的图像。所捕获的图像的质量可能基于当时的环境条件而被影响。例如,在低光照环境条件下,图像质量可能会大幅劣化,这是因为所捕获的图像可能看上去很暗并且缺少与场景相对应的细节。

【发明内容】

[0003]示例实施例的各个方面在权利要求中有所陈述。
[0004]在第一方面,提供了一种方法,该方法包括:接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧;基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息;以及基于所述注册信息修改对应于所述全色图像帧对应的彩色图像帧。
[0005]在第二方面,提供了一种设备,该设备包括至少一个处理器;和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器使得该设备至少执行如下操作:接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧;基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息;以及基于所述注册信息修改对应于所述全色图像帧的彩色图像帧。
[0006]在第三方面,提供了一种包括至少一个计算机可读存储介质的计算机程序产品,所述计算机可读存储介质包括一组指令,该组指令在由一个或多个处理器执行时使得设备至少执行如下操作:接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧;基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息;以及基于所述注册信息修改对应于所述全色图像帧的彩色图像帧。
[0007]在第四方面,提供了一种设备,该设备包括:用于接收与场景相关联的多个彩色图像帧和多个全色图像帧的装置,其中所述多个彩色图像帧对应于所述多个全色图像帧;用于基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息的装置;以及基于所述注册信息修改对应于所述全色图像帧的彩色图像帧的装置。
[0008]在第五方面,提供了一种包括程序指令的计算机程序,所述计算机程序在由设备执行时使得所述设备:接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧;基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息;以及基于所述注册信息修改对应于所述全色图像帧的彩色图像帧。
【专利附图】

【附图说明】
[0009]各个实施例通过示例的方式而非限制的方式被示出,在附图中:
[0010]图1图示根据示例实施例的设备;
[0011]图2图示根据示例实施例的用于图像帧的处理的设备;
[0012]图3是图示根据示例实施例的用于图像帧的处理的逻辑过程总览的示意图;
[0013]图4A、图4B和图4C图示根据示例实施例的用于计算本地注册信息的差别图像帧的计算。
[0014]图5是描绘根据示例实施例的用于图像帧的处理的示例方法的流程图;
[0015]图6A和6B图示描绘根据另一示例实施例的用于图像帧的处理的示例方法的流程图。
【具体实施方式】
[0016]示例实施例和它们潜在的效果可通过参考附图的图1到图6B来理解。
[0017]图1图示根据示例实施例的设备100。然而,应当理解如图所示的下文中所描述的设备100只是图示可能得益于各个实施例的一种类型的设备,因此不应当被用来限制实施例的范围。因此,应当理解下面结合设备100所描述的组件中的至少一些组件可以是可选的,因而在示例实施例中可以包括比结合图1的示例实施例所描述的那些组件更多、更少或者不同的组件。设备100可以是多种移动电子设备中的任意一种,例如便携式数字助理(PDA)、寻呼机、移动电视、游戏设备、蜂窝电话、各种类型的计算机(例如,膝上型计算机、移动计算机或台式计算机)、相机、音频/视频播放器、无线电、全球定位系统(GPS)设备、媒体播放器、移动数字助理或者上述设备的任意组合以及其它类型的通信设备。
[0018]设备100可以包括与发射器104和接收器106进行可操作通信的天线102(或者多个天线)。设备100还可以包括诸如控制器108或者其它处理设备之类的设备,该处理设备分别向发射器104提供信号和从接收器106接收信号。所述信号可以包括根据适用的蜂窝系统的空中接口标准的信令信息,并且/或者还可以包括与用户语音相对应的数据,接收到的数据和/或用户生成的数据。就此而言,设备100能够以一个或多个空中接口标准、通信协议、调制类型和接入类型进行操作。作为例示,设备100能够根据多个第一代、第二代、第三代和/或第四代通信协议等中的任一个协议进行操作。例如,设备100能够根据第二代(2G)无线通信协议IS-136 (时分多路接入(TDMA))、GSM (全球移动通信系统)和IS-95 (码分多路接入(CDMA))或者根据诸如通用移动通信系统(UMTS)、CDMA1000、宽带CDMA (WCDMA)和时分同步CDMA (TD-SCDMA)之类的第三代(3G)无线通信协议、根据诸如演进通用地面无线电接入网络(E-UTRAN)之类的3.9G无线通信协议、根据第四代(4G)无线通信协议等进行操作。作为替代(或者附加地),设备100能够根据非蜂窝通信机制进行操作。例如,诸如因特网、局域网、广域网之类的计算机网络;诸如BI uetooth $网络、Z i gbee?网络、电气电子工程协会(IEEE) 802.1lx网络之类的短距离无线通信网络;诸如公共交换电话网络(PSTN)之类的有线电信网络。
[0019]控制器108除其他之外可以包括实现设备100的音频和逻辑功能的电路装置。例如,控制器108可以包括但不限于一个或多个数字信号处理器设备、一个或多个微处理器设备、具有随附的数字信号处理器的一个或多个处理器、不具有随附的数字信号处理器的一个或多个处理器、一个或多个专用计算机芯片、一个或多个现场可编程门阵列(FPGA)、一个或多个控制器、一个或多个专用集成电路(ASIC)、一个或多个计算机、各种模拟数字转换器、数字模拟转换器和/或其它支持电路。设备100的控制和信号处理功能根据这些设备各自的能力被分配在这些设备之间。因而,控制器108因此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器108还可以包括内部语音编码器,并且可以包括内部数据调制解调器。此外,控制器108可以包括操作一个或多个软件程序的功能,所述软件程序可以被存储在存储器中。例如,控制器108能够操作连接程序,比如传统的Web浏览器。然后,该连接程序可以允许设备100根据无线应用协议(WAP)、超文本传输协议(HTTP)等发送和接收Web内容,比如基于位置的内容和/或其它web页面内容。在示例实施例中,控制器108可以被体现为诸如双核或四核处理器之类的多核处理器。然而,在控制器108中可以包括任意数目的处理器。
[0020]设备100还可以包括可以被耦合到控制器108的用户接口,包括诸如振铃器110、耳机或扬声器112、麦克风114、显示器116之类的输出设备和用户输入接口。允许设备100接收数据的用户输入接口可以包括允许设备100接收数据的多个设备中的任意设备,例如小键盘118、触摸显示器、麦克风或者其它输入设备。在包括小键盘118的实施例中,小键盘118可以包括数字(0-9)和相关的键(#、*),以及被用于操纵设备100的其它硬按键和软按键。替代地或附加地,小键盘118可以包括传统的QWERTY小键盘布置。小键盘118还可以包括具有相关联的功能的各种软按键。附加地或者替代地,设备100可以包括诸如游戏杆或者其它用户输入接口之类的接口设备。设备100还包括诸如振动电池组之类的电池120以用于为被用于操纵设备100的各种电路供电以及可选地提供机械振动作为可检测的输出。
[0021]在示例实施例中,设备100包括与控制器108进行通信的诸如相机、视频和/或音频模块之类的媒体捕获元件。该媒体捕获元件可以是用于捕获图像帧、视频和/或音频用以存储、显示或传输的任意装置。在示例实施例中,媒体捕获元件是相机模块122,该模块可以包括能够由所捕获的图像形成数字图像文件的数字相机。因此,相机模块122包括诸如透镜或其它光学组件之类的所有硬件和用于由所捕获的图像帧创建数字图像文件的软件。替代地或者附加地,相机模块122可以包括查看图像帧所需要的硬件,同时设备100的存储器设备以软件的形式存储由供控制器108执行的指令以由所捕获的图像帧创建数字图像文件。在示例实施例中,相机模块122还可以包括辅助控制器108处理图像数据的诸如协同处理器之类的处理元件以及用于压缩和/或解压缩图像数据的编码器和/或解码器。该编码器和/或解码器可以根据JPEG标准格式或者另一种类似的格式进行编码和/或解码。对于视频,编码器和/或解码器可以利用诸如与H.261、H.262/MPEG-2、H.263、H.264/MPEG-4、MPEG-4等相关联的标准之类的多个标准格式中的任一种标准格式。在一些情况下,相机模块122可以向显示器116提供实时图像数据。在示例实施例中,显示器116可以位于设备100的一侧并且相机模块122可以包括被置于设备100相对于显不器116的相对侧的透镜,以使得相机模块122能够捕获设备100的一侧的图像帧并且向位于设备100的另一侧的用户呈现这样的图像帧的视图。
[0022]设备100还可以包括用户识别模块(UM) 124。ΠΜ124可以是内置有处理器的存储器设备。ΠΜ124可以包括例如订户识别模块(S頂)、通用集成电路卡(UICC)、通用订户识别模块(USM)、可去除订户识别模块(R-UM)或者任何其它智能卡。ΠΜ124通常存储与移动订户相关的信息元素。除了 UMI124之外,设备100可以配备有存储器。例如,设备100可以包括易失性存储器126,例如包括用于暂时存储数据的高速缓存区域的易失性随机访问存储器(RAM)。设备100还可以包括可以是嵌入式的和/或可以是可移除的其它非易失性存储器128。附加地或替代地,非易失性存储器128可以包括电可擦除可编程只读存储器(EEPR0M)、闪存、硬盘驱动器等。存储器可以存储被设备100用来实现设备100的功能的任意条信息和数据。
[0023]图2图示根据示例实施例的用于图像帧的处理的设备200。用于图像帧的处理的设备200可以在例如图1的设备100中被采用。但是,应当注意设备200还可以被用在各种其它移动的和固定的设备上,因此,实施例应当不限于在诸如图1的设备100之类的设备上的应用。可替换地,实施例可以在包括例如以上所列出的那些设备的组合上被采用。因此,各个实施例可以作为整体在单个设备上(例如在设备100上或者在设备的组合中)被体现。还应当注意以下所描述的设备或元件可以不是强制性的,因而在特定实施例中一些设备或元件可以被省略。
[0024]在实施例中,图像帧可以包括利用设备100的相机模块122捕获并且存储在设备100的存储器中的彩色图像帧和全色图像帧。图像帧可以被存储在诸如设备200的硬盘驱动器、随机访问存储器(RAM)之类的内部存储器中,或者被存储在诸如数字通用盘、致密盘、闪存驱动器、存储卡之类的外部存储介质中,或者通过因特网、Bluetooth?等来自外部存储位置。
[0025]设备200包括至少一个处理器202和至少一个存储器204或者另外与其进行通信。所述至少一个存储器204的示例包括但不限于易失性和/或非易失性存储器。易失性存储器的一些示例包括但不限于随机访问存储器、动态随机访问存储器、静态随机访问存储器等。非易失性存储器的一些示例包括但不限于硬盘、磁带、光盘、可编程只读存储器、可擦除的可编程只读存储器、电可擦除的可编程只读存储器、闪存等。存储器204可以被配置为存储信息、数据、应用、指令等,以用于使设备200能够执行根据各个示例实施例的各个功能。例如,存储器204可以被配置为对包括供处理器202处理的图像帧的输入数据进行缓冲。附加地或者替代地,存储器204可以被配置为存储供处理器202执行的指令。
[0026]处理器202的示例可以包括控制器108。处理器202可以以多种不同的方式来体现。处理器202可以被体现为多核处理器、单核处理器或者多核处理器和单核处理器的组合。例如,处理器202可以被体现为各种处理装置中的一个或多中,例如协同处理器、微处理器、控制器、数字信号处理器(DSP)、有或没有随附的DSP的处理电路装置,或者包括诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、微控制器单元(MCU)、硬件加速器、专用计算机芯片之类的集成电路的各种其它处理设备。在示例实施例中,多核处理器可以被配置为执行存储在存储器204中或者处理器202可以其它方式存取的指令。替代地或附加地,处理器202可以被配置为执行硬编码功能。因此,不管是通过硬件、软件方法还是硬件和软件方法的组合来配置,处理器202都可以代表例如以物理上在电路装置中体现的实体,该实体在被相应地配置时能够执行根据各个实施例的操作。例如,如果处理器202被体现为ASIC、FPGA等中的两种或多种,则处理器202可以是用于执行这里所描述的操作的专门配置的硬件。可替换地,作为另一示例,如果处理器202被体现为软件指令的执行器,则这些指令可以专门配置处理器202以在这些指令被执行时执行这里所描述的算法和/或操作。然而,在一些情况下,处理器202可以是特定设备的处理器,例如适于通过利用用于执行这里所描述的算法和/或操作的指令进一步配置处理器202来采用实施例的移动终端或网络设备。处理器202除其他之外可以包括被配置为支持处理器202的操作的时钟、算术逻辑单元(ALU)和逻辑门等。
[0027]用户接口 206可以与处理器202进行通信。用户接口 206的示例包括但不限于输入接口和/或输出用户接口。输入接口被配置为接收用户输入的指示。输出用户接口向用户提供可听的、可视的、机械的或者其它输出和/或反馈。输入接口的示例可以包括但不限于键盘、鼠标、游戏杆、小键盘、触摸屏、软按键等。输出接口的示例可以包括但不限于诸如发光二极管显示器、薄膜晶体管(TFT)显示器、液晶显示器、有源矩阵有机发光二极管(AMOLED)显示器之类的显示器、麦克风、扬声器、振铃器、振动器等。在示例实施例中,用户接口 206除其他设备或元件之外可以包括扬声器、麦克风、显示器和键盘、触摸屏等中的任一个或所有。就此而言,例如,处理器202可以包括被配置为控制诸如扬声器、振铃器、麦克风、显示器之类的用户接口 206的一个或多个元件的至少一些功能的用户接口电路装置。处理器202和/或包括处理器202的用户接口电路装置可以被配置为通过计算机程序指令控制用户接口 206的一个或多个元件的一个或多个功能,所述计算机程序指令例如是在处理器202可访问的存储器(例如至少一个存储器204等)上存储的软件和/或固件。
[0028]在示例实施例中,设备200可以包括电子设备。该电子设备的一些示例包括通信设备、具有通信能力的媒体捕获设备、计算设备等。通信设备的一些示例可以包括移动电话、个人数字助理(PDA)等。计算设备的一些示例可以包括膝上型计算机、个人计算机等。在示例实施例中,该电子设备可以包括具有用户接口电路装置和用户接口软件的用户接口,例如Π206,所述用户接口电路装置和用户接口软件被配置为有助于用户通过使用显示器控制该电子设备的至少一个功能并且还被配置为对用户输入做出响应。在示例实施例中,该电子设备可以包括被配置为显示该电子设备的用户接口的至少一部分的显示器电路装置。显示器和显示器电路装置可以被配置为有助于用户控制该电子设备的至少一个功能。
[0029]在示例实施例中,所述电子设备可以被体现为包括收发器。该收发器可以是根据软件操作或者另外以硬件或者硬件和软件的组合的形式体现的任意设备或电路装置。例如,在软件控制下操作的处理器202或者被体现为专门被配置为执行这里所描述的操作的ASIC或FPGA的处理器202或者这两种处理器的组合而由此配置所述设备或电路装置执行收发器的功能。收发器可以被配置为接收图像帧。在实施例中,图像帧对应于场景。
[0030]在示例实施例中,所述电子设备可以被体现为包括诸如彩色图像传感器208之类的彩色图像传感器和诸如全色图像传感器210之类的全色图像传感器。彩色图像传感器208和全色图像传感器210可以与处理器202和/或设备200的其它组件进行通信。彩色图像传感器208和全色图像传感器210可以与其它成像电路装置和/或软件进行通信,并且被配置为捕获数字图像帧或者制作视频或其它图形媒体文件。彩色图像传感器208、全色图像传感器210和其它电路装置的组合例如可以是设备100的相机模块122的示例。在特定示例实施例中,彩色图像传感器208和全色图像传感器210可以是在设备200外部的,但是可由设备200访问和/或控制。
[0031]这些组件(202-210)可以通过集中式电路系统212与彼此通信以用于图像帧的处理。集中式电路系统212可以是被配置为除其他之外提供或允许设备200的组件(202-210)之间的通信等的 各种设备。在特定实施例中,集中式电路系统212可以是中央印刷电路板(PCB),比如母板、主板、系统板或逻辑板。集中式电路系统212还可以包括或者可替换地包括其它印刷电路组件(printed circuit assembly, PCA)或通信信道介质。
[0032]在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件来使得设备200接收与场景相关联的多个彩色图像帧和多个全色图像帧。在实施例中,可以从诸如彩色图像传感器208之类的彩色图像传感器接收所述多个彩色图像帧,并且可以从全色图像传感器210接收所述多个全色图像帧。在实施例中,对对应于场景的所述多个彩色图像帧和所述多个全色图像帧的捕获可以由设备100的相机模块122协助进行。该场景可以包括在设备200的周围环境中的一个或多个物体,例如人、或个人的集会、鸟、书、操场、诸如山之类的自然风景等。在实施例中,可以从诸如设备200的硬盘驱动器、随机访问存储器(RAM)之类的内部存储器,或者从诸如数字通用盘、致密盘、闪存驱动器、存储卡之类的外部存储介质,或者通过因特网、Bluetooth?.等从外部存储位置处被接收所述多个彩色图像帧和所述多个全色图像帧。还可以从存储器204被接收所述多个彩色图像帧和所述多个全色图像帧。在实施例中,可以经由网络接收所述多个彩色图像帧和所述多个全色图像帧。网络的示例可以包括有线网络、无线网络和/或其组合。有线网络的示例包括但不限于局域网、广域网、以太网等。无线网络的示例包括但不限于蜂窝网络、W1-Fi网络、无线局域网、Zigbee网络等。有线网络和无线网络的组合的示例可以包括但不限于因特网。在示例实施例中,处理装置可以被配置为接收对应于场景的所述多个彩色图像帧和所述多个全色图像帧。处理装置的示例可以包括处理器202,该处理器202可以是控制器108的示例。
[0033]在实施例中,彩色图像帧对应于全色图像帧。例如,如果彩色图像传感器208和全色图像传感器210同时捕获场景,则所述多个彩色图像帧和所述多个全色图像帧可以考虑到在捕获的场景和时间方面的共性而彼此相关。在实施例中,每个彩色图像帧可以对应于全色图像帧。例如,如果C1, C2, (^…(^和P1, P2, Pn分别为彩色图像传感器208和全色图像传感器210所捕获的所述多个彩色图像帧和所述多个全色图像帧,则彩色图像帧C1可以对应于全色图像帧P1,彩色图像帧C2可以对应于全色图像帧P2,依此类推。
[0034]在实施例中,与所述多个彩色图像帧的捕获相关联的帧速率可以被配置为等于与全色图像帧的捕获相关联的帧速率。在实施例中,由于全色图像传感器210的敏感度几乎是彩色图像传感器208的敏感度的三倍,所以全色图像传感器210的自动曝光可以被配置为彩色图像传感器208的自动曝光的1/3,以在给定的持续时间中捕获等同数目的帧。在实施例中,彩色图像传感器208用于捕获图像帧的自动曝光可以使用标准的自动曝光算法被确定,并且与全色图像传感器210相关联的自动曝光可以被配置为为彩色图像传感器208确定的自动曝光的1/3。
[0035]在示例实施例中,处理器202被配置为利用存储器204的内容并且可选地利用这里所描述的其它组件来使得设备200基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息。在实施例中,所述一个或多个全色图像帧在捕获顺序上可以在所述全色图像帧之前。在一些实施例中,可以在对应于场景的物体在运动时、或者当在捕获物体的图像帧时图像捕获设备不稳时或者在这两种情况下捕获所述多个彩色图像帧和所述多个全色图像帧。与场景对应的物体的运动可以被称为本地运动,而由于(例如由于被手持而)不稳的图像捕获设备而在所捕获的图像帧中引入的运动可以被称为全局运动。由于全局运动和/或本地运动,所捕获的图像帧可能包括内容的模糊,这可能在图像帧中所包括的细节上产生扭曲效果。注册可以指当考虑全局运动和/或本地运动时跨所捕获的图像帧将类似的内容对齐的过程。在实施例中,与注册过程相关联的信息可以被称为注册信息并且可以包括运动对应信息,例如运动矢量信息,该运动对应信息捕获由于全局运动和本地运动而导致的图像帧之间的过渡。在实施例中,计算注册信息可以包括计算全局注册信息(例如单应变换,homography transformation)和本地注册信息(例如本地运动矢量信息)。
[0036]在实施例中,计算基于全色图像帧和一个或多个全色图像帧的注册信息。更具体而言,计算全色图像帧与一个或多个全色图像帧之间的全局注册信息和本地注册信息。在实施例中,计算全局注册信息包括从所述全色图像帧和所述一个或多个全色图像帧中提取特征。这些特征的示例可以包括但不限于图像帧的角点、边缘或者诸如场景的背景之类的其它感兴趣的区域。在示例实施例中,可以使得设备200使用诸如尺度不变特征变换(SIFT)、Harris角点检测器、最小吸收同值核区(SUSAN)角点检测器、加速分割测试特征(FAST)之类的算法来提取与所述全色图像帧和所述一个或多个全色图像帧相关联的特征。可替换地,提取特征可以通过在与所述全色图像帧和所述一个或多个全色图像帧对应的宏块上应用DCT、DST、KLT变换和Hadamard变换中的一个来执行。在示例实施例中,在与所述全色图像帧和所述一个或多个全色图像帧对应的宏块上应用DCT并且因此而得到的直流分量可以被视为特征。在实施例中,该直流分量可以通过对所述全色图像帧和所述一个或多个全色图像帧进行部分解码而得到。
[0037]在实施例中,计算全局注册信息还包括将从所述全色图像帧和所述一个或多个全色图像帧中所提取的特征进行匹配。在实施例中,计算全局注册信息还包括基于所提取的特征的匹配确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。在实施例中,可以使用诸如随机抽样一致性(RANSAC)之类的算法来确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。在实施例中,对于涉及相机平移运动的图像捕获实例而言,可以通过估计三维旋转角度来获得全局注册信息。在实施例中,所述全色图像帧与另一全色图像帧之间的单应变换可以用注册矩阵的形式来表示。例如,可以对来自全色图像帧P1和全色图像帧P2的特征进行提取和匹配。可以在P1与P2之间确定单应变换并且所确定的单应变换可以用注册矩阵H12的形式来表示。
[0038]在实施例中,计算本地注册信息包括基于与所述一个或多个全色图像帧中的至少一个全色图像帧相关联的单应变换生成对应于所述至少一个全色图像帧的经补偿的全色图像帧。例如,如果所述全色图像帧用P1表示并且所述一个或多个全色图像帧用p2、P3和P4表示,则针对全色图像帧P2 — P4中的至少一个全色图像帧,基于与全色图像帧P2 — P4相关联的单应变换生成经补偿的全色图像帧。如果针对全色图像帧P2 - P4的单应变换分别用单应变换矩阵H12、H13和H14表示,则与全色图像帧P2 - P4对应的经补偿的全色图像帧可以分别被获得为h12*p2、h13*p3和h14*p4。
[0039]在实施例中,计算本地注册信息还包括基于所述经补偿的全色图像帧和所述全色图像帧计算差别图像帧。在实施例中,可以通过从所述全色图像帧中减去所述经补偿的全色图像帧来计算差别图像帧。例如,如果针对全色图像帧P2生成经补偿的全色图像帧(被计算为H12*p2),则被表示为D12的差别图像帧可以按等式(I)所表达的方式被计算为:
[0040]D12=P1 - H12*P2....................................等式(I)
[0041]在实施例中,计算本地注册信息还包括将与配置所述差别图像帧的多个像素块中的每个像素块相关联的像素值属性(attribute)与预定义的阈值进行比较。在实施例中,像素值属性是与配置所述差别图像帧的多个像素块中的每个像素块相关联的平均像素值、最大像素值、像素值之和中的一个。在实施例中,差别图像帧D12中的每个像素的像素值通过将全色图像帧与经补偿的全色图像帧的像素值相减来计算。例如,在差别图像帧D12(x,y)中的坐标(x,y)处的每个像素的像素值可以基于等式(I)按等式(2)中所表达的方式来计算:
[0042]D12(x,y)=P1(x,y) _H12*P2(x,y).................................等式(2)
[0043]其中,P1(x,y)和H12*P2(x,y)分别对应于在全色图像帧P1和经补偿的全色图像帧P2中的坐标(x,y)处的像素的像素值。基于按等式(2)所表达的方式计算出的像素值,平均像素值、最大像素值、像素值之和中的一个可以针对配置差别图像帧的多个像素块中的每个像素块而被计算,并且可以作为像素值属性与相应的像素块相关联。
[0044]在实施例中,可以计算与配置差别图像帧的多个像素块中的每个像素块(例如32X32的不重叠的像素块)相关联的诸如平均像素值之类的像素值属性并且将其与预定义的阈值进行比较。在示例实施例中,预定义的阈值可以被试探性地确定并且可以对应于接近零的非常小的值。在示例实施例中,计算本地注册信息还包括对来自针对配置差别图像帧的所述多个像素块当中的一个或多个像素块进行运动补偿,其中与所述一个或多个像素块中的每个像素块相关联的像素值属性被确定为超过预定义的阈值。例如,如果针对所述多个像素块中的像素块的平均像素值(用D(x,y)表示)与为I的预定义的阈值进行比较并且如果如等式(3)中所表达的D(x,y)大于1,
[0045]D(x,y)>l................................................等式(3)
[0046]则可以对对应的像素块进行运动补偿。在实施例中,对每个像素块进行运动补偿可以生成本地运动矢量信息。在实施例中,所计算出的本地注册信息可以包括对应于差别图像帧的一个或多个块的本地运动矢量信息。在示例实施例中,处理装置可以被配置为计算全色图像帧与多个全色图像帧中的一个或多个全色图像帧之间的注册信息。处理装置的示例可以包括处理器202,该处理器202可以是控制器108的示例。
[0047]在示例实施例中,处理器202被配置为利用存储器204的内容并且可选地利用这里所描述的其它组件来使得设备200基于注册信息修改对应于所述全色图像帧的彩色图像帧。例如,如果针对全色图像帧?1计算注册信息,则可以基于所计算出的注册信息来修改来自彩色图像帧当中、对应于全色图像帧P1的彩色图像帧(例如彩色图像帧C1X在实施例中,针对对应于一个或多个彩色图像帧的所述彩色图像帧确定注册信息。在实施例中,所述一个或多个彩色图像帧对应于计算注册信息所基于的所述一个或多个全色图像帧。例如,如果针对对应于所述一个或多个全色图像帧匕己…Pn的全色图像帧P1计算注册信息,则针对对应于一个或多个彩色图像帧C2,C^Cn的彩色图像帧C1确定注册信息,其中彩色图像帧C1对应于全色图像帧P1并且其中彩色图像帧C2,C^Cn对应于全色图像帧P2,Pf PN。在实施例中,来自所述一个或多个彩色图像帧和所述彩色图像帧的注册信息等于基于所述全色图像帧所计算出的注册信息。如所解释的,所述多个彩色图像帧和所述多个全色图像帧可以按相同的帧速率同时被对应于场景的彩色图像传感器208和全色图像传感器210捕获。因此,每个彩色图像帧对应于来自所述多个全色图像帧中的全色图像帧。由于该对应,所以针对所述彩色图像帧和所述一个或多个彩色图像帧的注册信息(例如全局注册信息和本地注册信息)可以等同于根据所述多个全色图像帧所计算出的注册信息。在实施例中,彩色图像传感器208和全色图像传感器210可以被附接于刚体(例如设备200或设备100的主体)上。由于刚体的运动,在连续帧之间的两种图像传感器的全局运动和场景的本地运动在彩色图像传感器208和全色图像传感器210中产生相同的效果。所述彩色图像帧(例如彩色图像帧C1)可以基于针对所述全色图像帧(例如全色图像帧P1)所计算出的注册信息而被修改。在示例实施例中,处理装置可以被配置为基于注册信息修改对应于所述全色图像帧相对应的彩色图像帧。处理装置的示例可以包括处理器202,该处理器202可以作为控制器108的示例。
[0048]在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其 它组件来使得设备200基于注册信息将所述一个或多个彩色图像帧的像素的像素值与所述彩色图像帧的对应像素的像素值相加以用于修改所述彩色图像帧。如所解释的,针对全色图像帧所计算出的注册信息可以被用作所述彩色图像帧与所述一个或多个彩色图像帧之间的注册信息。基于该注册信息,可以对齐所述彩色图像帧和所述一个或多个彩色图像帧上的类似像素并且所述一个或多个彩色图像帧中的像素值(例如对应于亮度/色度和对应于所产生的像素的强度的值)可以与所述彩色图像帧中的对应像素的像素值相加以提高与所述彩色图像帧相关联的强度。例如,基于所述彩色图像帧C1与所述一个或多个彩色图像帧C2, (V..Cn之间所确定的注册信息,与所述一个或多个彩色图像帧C2, CfCn中像素相关联的像素值可以与所述彩色图像帧C1的对应像素的像素值相加以由此修改所述彩色图像帧Q。由于像素值与对应于所述彩色图像帧的像素的相加,所述经修改的彩色图像帧的强度比与未经修改的彩色图像帧C1相关联的强度大。可以类似地修改一个或多个彩色图像帧以由此提高在低光照状况下所捕获的彩色图像帧的亮度。在示例实施例中,处理装置可以被配置为基于注册信息将所述一个或多个彩色图像帧的像素的像素值与所述彩色图像帧的相应像素的像素值相加以用于修改所述彩色图像帧。处理装置的示例可以包括处理器202,该处理器202可以作为控制器108的示例。
[0049]在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件使得设备200可以基于注册信息利用通过对所述一个或多个彩色图像帧中的像素的像素值和所述彩色图像帧的对应像素的像素值求平均而获得的平均像素值来更新所述彩色图像帧的像素的像素值以用于修改所述彩色图像帧。例如,基于所述彩色图像帧C1和所述一个或多个彩色图像帧C2,C^Cn之间所确定的注册信息,可以通过对与所述一个或多个彩色图像帧C2,C^Cn中的像素相关联的像素值和所述彩色图像帧C1的相应像素的像素值求平均来得到平均像素值。与所述彩色图像帧C1相关联的像素的像素值可以利用所述平均像素值来更新以由此修改所述彩色图像帧Ci。由于对像素的像素值的平均,经修改的彩色图像帧的强度比与未经修改的彩色图像帧C1相关联的强度大。在实施例中,可以将所述一个或多个彩色图像帧的像素值相加并且可以对其之和的值和所述彩色图像帧的像素值求平均。可以利用所述平均像素值来更新所述彩色图像帧的像素值以用于修改彩色图像帧。可以类似地修改一个或多个彩色图像帧以由此提高在低光照状况下所捕获的所述多个彩色图像帧的亮度。在示例实施例中,处理装置可以被配置为可以基于注册信息利用通过对所述一个或多个彩色图像帧中的像素的像素值和所述彩色图像帧的对应像素的像素值求平均而获得的平均像素值来更新所述彩色图像帧的像素的像素值以用于修改所述彩色图像帧。处理装置的示例可以包括处理器202,该处理器202可以作为控制器108的示例。
[0050]在示例实施例中,处理器202被配置为利用存储器204的内容以及可选地利用这里所描述的其它组件来使得设备200确定所述一个或多个彩色图像帧中彩色图像帧的数目以用于修改彩色图像帧。在实施例中,所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目基于色调映射而被确定。例如,基于色调映射可以确定所述彩色图像帧中所希望的光强度可能需要将来自所述一个或多个彩色图像帧当中的‘X’个彩色图像帧的像素值相加和/或对其求平均。因此,基于全局注册信息和本地注册信息,只有来自那‘X’个彩色图像帧的像素值可以被用于修改所述彩色图像帧。在实施例中,针对被修改的彩色图像帧中的每个位置,选自相邻彩色图像帧的像素的数目可能是变化的并且可以不包括所有的彩色图像帧C2, (V..CN。在实施例中,可以通过将与被修改的彩色图像帧相关联的光强度和目标彩色图像帧C/的光强度不断进行比较来确定要被相加/求平均的像素的数目。在实施例中,彩色图像巾贞C1可以经受色调映射(例如具有gamma值2.2的gamma曲线)以生成目标彩色图像帧C/。可以通过检查在被修改的彩色图像帧中的像素位置处的像素的累加之和的值/平均值来计算要被相加和/或求平均的像素的数目(例如K个像素,其中K〈=N),使得该像素值与在目标彩色图像帧C/中的对应像素位置处的像素的值相同或更接近。例如,如果在像素位置(X1, Y1)处,在对来自彩色图像帧(:2、(:3和C4的像素值相加和/或求平均之后,如果像素值与目标彩色图像帧C/在位置(Xl,yi)处的像素值匹配,则可以只通过仅将来自C2、C3和C4的像素值相加来修改位置(X1, Y1)处的彩色图像帧。在示例实施例中,处理装置可以被配置为确定所述一个或多个彩色图像帧中彩色图像帧的数目以用于修改彩色图像帧。处理装置的示例可以包括处理器202,该处理器202可以作为控制器108的示例。参考图3解释图示用于诸如彩色图像帧之类的图像帧的处理的总览的示意图。
[0051]图3是图示根据示例实施例的以用于诸如彩色图像帧之类的图像帧的处理逻辑过程总览300的示意图。如参考图2所解释的,可以例如分别从彩色图像传感器208和全色图像传感器210处接收与场景相关联的多个彩色图像帧和多个全色图像帧,在图3中,所接收的所述多个全色图像帧和所述多个彩色图像帧分别用302和304表示。所述多个全色图像帧包括多个全色图像帧,例如图像帧306a、306b、306c、306d、306e、306f、306g到306η(下文中被称为图像所述多个彩色图像帧包括多个彩色图像帧,例如图像帧308a、308b、308c、308d、308e、308f、308g 到 308η (下文中被称为图像帧 C1-CnX
[0052]此外,如参考图2所解释的,与所述多个全色图像帧和所述多个彩色图像帧相关联的帧速率可以被配置为相同的。由于彩色图像传感器208和全色图像传感器210按照相同的帧速率同时捕获对应于场景的图像帧,所以所述多个彩色图像帧C1-Cn可以对应于所述多个全色图像帧P1-Pntj在示例实施例中,每个彩色图像帧可以对应于全色图像帧,如图3中的条状箭头所示。例如,彩色图像帧C1对应于全色图像帧P1,彩色图像帧C2对应于全色图像帧P2,依此类推。
[0053]可以基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息。例如,可以基于全色图像帧匕和全色图像帧P1-P3来计算注册信息。计算注册信息可以包括计算全局注册信息和本地注册信息。对于计算全局注册信息,可以对来自所述多个全色图像帧的特征进行提取和匹配,如参考图2所解释的。可以根据所匹配的全色图像帧的特征对确定单应变换(例如按单应变换矩阵的形式)。例如,可以确定全色图像帧P4与全色图像帧P3之间的单应变换。以曲线箭头310、312和314的形式示例性地描绘了全色图像帧之间的单应变换的确定,曲线箭头310、312和314对应于全色图像帧对
P4-P1之间的单应变换的确定。此外,每个曲线箭头与描述所确定的全色图像帧对之间的单应变换的单应变换矩阵表示相关联。例如,曲线箭头310与捕获全色图像帧P4和全色图像帧P3之间的单应变换的H43相关联。类似地,曲线箭头312和314与分别对应于全色图像帧P4和P2以及P4和P1之间的单应变换相对应的H42和H41相关联。
[0054]可以利用单应变换形式的全局注册信息以用于计算本地注册信息。在下面参考全色图像帧P3解释针对全色图像帧P4的本地注册信息的计算。要注意的是可以类似地对应于全色图像帧P2和P1来针对全色图像帧P4计算本地注册信息。
[0055]对于计算针对全色图像帧P4的本地注册信息,可以生成基于单应变换(例如H43)的对应于全色图像帧P3的经补偿的全色图像帧。经补偿的全色图像帧可以被表示为H43*P3。可以基于经补偿的全色图像帧h43*p3根据全色图像帧P4来计算差别图像帧。例如,被表示为D43的差别图像帧可以按等式(4)所表达的方式被计算为:
[0056]D43=P4 — H43*P3..........................................等式(4)
[0057]可以计算与配置差别图像帧D43的多个像素块中的每个像素块(例如32X32的像素块)相关联的诸如平均像素值或最大像素值之类的像素值属性并且将其与预定义的阈值进行比较。针对像素值属性超过预定义阈值的每个像素块,可以执行运动补偿并且可以生成本地运动矢量信息。与全色图像帧P3相对应的本地运动矢量信息可以包括针对像素值属性超过预定义阈值的全部像素块的运动矢量信息。可以类似地计算针对全色图像帧P4的、对应于全色图像帧P2和P1的本地注册信息。
[0058]可以利用对应于全色图像帧P4的所计算出的全局注册信息和本地注册信息以用于修改对应于全色图像帧P4的彩色图像帧c4。由于所述多个彩色图像帧和所述多个全色图像帧之间的对应关系,针对彩色图像帧C4的、对应于彩色图像帧C1-C3的全局注册信息和本地注册信息可以被认为是等同于全色图像帧P4和全色图像帧P1-P3之间的注册信息。基于该注册信息,可以将来自彩色图像帧C1-C3的像素的像素值与彩色图像帧C4的对应像素的像素值相加以用于修改彩色图像帧c4。可替换地,基于注册信息,可以利用通过对彩色图像帧C1-C3的像素的像素值和彩色图像帧C4的对应像素的像素值的平均所获得的平均像素值来更新针对彩色图像帧C4的像素的像素值以用于修改彩色图像帧c4。基于与彩色图像帧C1-C3中的对应像素相关联的像素值对对应于彩色图像帧C4的像素的像素值的相加/更新按图3中的曲线箭头316、318和320的形式被示出。由于对应于彩色图像帧C4的像素的像素值的相加/更新,经修改的彩色图像帧的强度比与未经修改的彩色图像帧C4相关联的强度大。可以类似地修改诸如彩色图像帧c2,C5, C6之类的一个或多个彩色图像帧以由此提高在低光照状况下所捕获的彩色图像帧的亮度。为了实现彩色图像帧中所希望的光强度,可以如参考图2所解释的那样基于色调映射确定其中的像素值可以被相加/求平均的彩色图像帧的数目。
[0059]图4A、4B和4C图示根据示例实施例的用于计算本地注册信息的差别图像帧的计算。图4A和4B分别图示全色图像帧402和404。可以从设备200的全色图像传感器210接收全色图像帧402和404。此外,如参考图2所解释的,诸如全色图像传感器210之类的图像传感器所捕获的图像帧可能包括由于图像捕获介质的移动而造成的扭曲。此外,被捕获的图像也可能对应于其中物体在运动的场景。例如,在全色图像帧402之后被捕获的全色图像帧404显示了儿童的腿部相对于其在全色图像帧402中的初始位置的移动(用图4B中的圆形区域406表示)。作为这种本地运动的结果,除了执行全局注册的计算以考虑图像传感器的移动之外,可以执行本地注册可以以考虑所捕获的图像帧中的本地运动。
[0060]对于计算本地注册信息,可以计算当前全色图像帧404与前一全色图像帧402之间的单应变换。可以基于所计算出的单应变换来补偿前一全色图像帧402。此外,可以从当前全色图像帧404中减去经补偿的全色图像帧402以生成差别图像帧。按这种方式计算出的差别图像帧在图4C中被显示为差别图像帧408。差别图像帧408捕获被描绘为被包括在圆形区域410中的本地运动信息。差别图像帧408可以被分成像素块(例如32X32的像素块)并且可以计算每个像素块的像素值属性(例如平均像素值、最大像素值和/或像素值总和)。可以将每个像素块的像素值属性与诸如参考图2所解释的预定义的阈值之类的预定义的阈值进行比较。如果对应于像素块的像素值属性超过预定义的阈值,则可以对这样的块执行运动补偿,并且生成对应的本地运动矢量信息。可以将本地运动矢量信息与单应变换一起用于修改对应于全色图像帧404的彩色图像帧,如参考图2和图3所解释的。在图5中解释了用于图像帧的处理的方法。
[0061]图5是描绘根据示例实施例的用于图像帧的处理的示例方法500的流程图。流程图中所描述的方法500可以例如由图2的设备200执行。流程图的操作和流程图中的操作的组合可以用各种装置来实现,例如硬件、固件、处理器、电路装置和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备。例如,各个实施例中所描述的过程中的一个或多个过程可以用计算机程序指令来体现。在示例实施例中,在各个实施例中所描述的体现这些过程的计算机程序指令可以被设备的至少一个存储器设备存储并且由设备中的至少一个处理器执行。任何这样的计算机程序指令可以被加载到计算机或其它可编程设备(例如硬件)上以产生一种机器,使得所得到的计算机或其它可编程设备体现用于执行流程图中所指定的操作的装置。可以引导计算机或其它可编程设备按特定方式工作的这些计算机程序指令也可以被存储在计算机可读存储器(与诸如载波或电磁信号之类的传输介质相对)中,使得存储在计算机可读存储器中的指令产生一种制品,对该制品的执行实现流程图中所指定的操作。计算机程序指令也可以被加载到计算机或其它可编程设备上以使得一系列操作在计算机或其它可编程设备上被执行以产生一种计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现流程图中的操作的操作。借助于图2的设备200描述方法500的操作。然而,可以利用任何其它设备来描述和/或实践该方法的操作。
[0062]在方法500的框502处,接收与场景相关联的多个彩色图像帧和多个全色图像帧。在实施例中,可以从诸如彩色图像传感器208之类的彩色图像传感器接收所述多个彩色图像帧。在实施例中,可以从诸如全色图像传感器210之类的全色图像传感器接收所述多个全色图像帧。所述场景可以包括在周围环境中的一个或多个物体,例如人、或个人的集会、鸟、书、操场、诸如山之类的自然风景等。在实施例中,可以从诸如设备200的硬盘驱动器、随机访问存储器(RAM)之类的内部存储器,或者从诸如数字通用盘、致密盘、闪存驱动器、存储卡之类的外部存储介质,或者通过因特网、Bluetooth?等从外部存储位置接收所述多个彩色图像帧和所述多个全色图像帧。还可以从存储器204接收所述多个彩色图像帧和所述多个全色图像帧。在实施例中,可以经由网络接收所述多个彩色图像帧和所述多个全色图像帧。网络的示例可以包括有线网络、无线网络和/或其组合。有线网络的示例包括但不限于局域网、广域网、以太网等。无线网络的示例包括但不限于蜂窝网络、W1-Fi网络、无线局域网、Zigbee网络等。有线网络和无线网络的组合的示例可以包括但不限于因特网。[0063]在实施例中,与所述多个彩色图像帧的捕获相关联的帧速率可以被配置为等于与所述多个全色图像帧的捕获相关联的帧速率。在实施例中,由于全色图像传感器的敏感度大约是彩色图像传感器的敏感度的三倍,所以全色图像传感器的自动曝光可以被配置为彩色图像传感器的自动曝光的1/3,以在给定的时间段中捕获相等数目的帧。在实施例中,彩色图像传感器用于捕获图像帧的自动曝光可以利用标准的自动曝光算法被确定,并且与全色图像传感器相关联的自动曝光可以被配置为所确定的用于彩色图像传感器的自动曝光的1/3。由于帧速率被配置为相同的,所以所述多个彩色图像帧对应于所述多个全色图像帧。在实施例中,每个彩色图像帧可以对应于全色图像帧。例如,如果C1, C2, CfCN和P1, P2, Ρ^..ΡΝ分别为彩色图像传感器和全色图像传感器所捕获的所述多个彩色图像帧和所述多个全色图像帧,则彩色图像帧C1可以对应于全色图像帧P1,彩色图像帧C2可以对应于全色图像帧P2,依此类推。
[0064]在框504处,基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息。在实施例中,计算注册信息可以包括计算全局注册信息(例如单应变换)和本地注册信息(例如本地运动矢量信息)。可以如参考图2 —图4Β所解释的那样执行全局注册信息和本地注册信息的计算。
[0065]在框506处,基于注册信息修改对应于所述全色图像帧的彩色图像帧。例如,如果针对全色图像帧P1计算注册信息,则可以基于所计算出的注册信息来修改来自所述多个彩色图像帧当中、对应于全色图像帧P1的彩色图像帧,例如彩色图像帧Cp
[0066]在实施例中,可以基于注册信息将所述一个或多个彩色图像帧的像素的像素值与所述彩色图像帧的对应像素的像素值相加以用于修改所述彩色图像帧。如所解释的,针对全色图像帧所计算出的注册信息可以被用作针对所述彩色图像帧和所述一个或多个彩色图像帧的注册信息。基于该注册信息,可以对齐所述彩色图像帧和所述一个或多个彩色图像帧上的类似像素并且所述一个或多个彩色图像帧中的像素值(例如对应于亮度/色度和所产生的像素的强度的值)可以与所述彩色图像帧中的对应像素的像素值相加以提高与所述彩色图像帧相关联的强度。在实施例中,可以基于注册信息利用通过对所述一个或多个彩色图像帧中的像素的像素值和所述彩色图像帧的对应像素的像素值求平均而获得的平均像素值来更新所述彩色图像帧的像素的像素值。在实施例中,可以将所述一个或多个彩色图像帧的像素值相加并且可以对其之和的值和所述彩色图像帧的像素值求平均。可以利用所述平均像素值来更新所述彩色图像帧的像素值以用于修改彩色图像帧。
[0067]在实施例中,所述经修改的彩色图像帧的强度大于与所述未经修改的彩色图像帧相关联的强度。可以类似地修改一个或多个彩色图像帧以由此提高在低光照条件下所捕获的所述彩色图像帧的亮度。参考图6A和6B详细解释用于图像帧的处理的另一种方法。
[0068]图6A和6B图不描绘根据另一不例实施例的用于图像巾贞的处理的不例方法600的流程图。图2的设备200可以采用用于图像帧的处理的方法600。在方法600的框602处,接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧。可以如参考图5的框502所解释的那样执行所述多个彩色图像帧和所述多个全色图像帧的接收。
[0069]在框604处,从所述全色图像帧和所述一个或多个全色图像帧中提取特征。这些特征的示例可以包括但不限于图像帧的角点、边缘或者诸如场景的背景之类的其它感兴趣的区域。在示例实施例中,可以使用诸如尺度不变特征变换(SIFT)、HarriS角点检测器、最小吸收同值核区(SUSAN)角点检测器、加速分割测试特征(FAST)之类的算法来提取与所述全色图像帧和所述一个或多个全色图像帧相关联的特征。可替换地,提取特征可以通过在与所述全色图像帧和所述一个或多个全色图像帧对应的宏块上应用DCT、DST、KLT变换和Hadamard变换中的一个来执行。在示例实施例中,在与所述全色图像帧和所述一个或多个全色图像帧相对应的宏块上应用DCT并且因此而得到的直流分量可以被视为特征。在实施例中,直流分量可以通过对所述全色图像帧和所述一个或多个全色图像帧进行部分解码而得到。
[0070]在框606处,将从所述全色图像帧和所述一个或多个全色图像帧中所提取的特征进行匹配。在框608处,基于所提取的特征的匹配确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。在实施例中,可以使用诸如随机抽样一致性(RANSAC)之类的算法来确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。在实施例中,所述全色图像帧与另一全色图像帧之间的单应变换可以用注册矩阵的形式来表示。例如,可以对来自全色图像帧P1和全色图像帧P2的特征可以被提取和匹配。可以在P1与P2之间确定单应变换并且所确定的单应变换可以用注册矩阵H12的形式来表示。
[0071]在框610处,基于与所述一个或多个全色图像帧中的至少一个全色图像帧相关联的单应变换来生成对应于所述至少一个全色图像帧的经补偿的全色图像帧。在框612处,基于所述经补偿的全色图像帧和所述全色图像帧计算差别图像帧。可以如参考图2 - 4B所解释的那样执行经补偿的全色图像帧的生成和差别图像帧的计算。
[0072]在框614处,计算与配置差别图像帧的多个像素块中的每个像素块(例如32X32的像素块)相关联的像素值属性(例如平均像素值、最大像素值、像素值之和等)并且将其与预定义的阈值进行比较以用于计算本地注册信息。在示例实施例中,预定义的阈值可以被试探性地确定并且可以对应于接近零的非常小的值。在框616处,对来自配置差别图像帧的所述多个像素块当中的一个或多个不重叠的像素块执行运动补偿,其中与所述一个或多个像素块中的每个像素块相关联的像素值属性被确定为超过预定义的阈值。在实施例中,对每个像素块执行运动补偿而生成本地运动矢量信息。在实施例中,本地注册信息可以包括对应于差别图像帧的一个或多个块的本地运动矢量信息。在框618处,基于单应变换和运动补偿(例如,本地注册信息)修改对应于所述全色图像帧的彩色图像帧。可以如图5的框506所解释的那样执行彩色图像帧的修改。
[0073]在实施例中,确定所述一个或多个彩色图像帧中彩色图像帧的数目以用于修改彩色图像帧。在实施例中,所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目基于色调映射而被确定。例如,基于色调映射可以确定所述彩色图像帧中所希望的光强度可能需要将来自所述一个或多个彩色图像帧当中的‘X’个彩色图像帧的像素值相加和/或对其求平均。因此,基于单应变换和本地注册信息,只有来自那‘X’个彩色图像帧的像素值可以被用于修改所述彩色图像帧。在实施例中,可以如参考图2所解释的那样确定所述一个或多个彩色图像帧中的多个彩色图像帧。
[0074]为了有助于讨论图5、6A和6B的方法500和/或600,特定操作在这里被描述为构成按特定顺序执行的不同步骤。这样的实现方式是示例性的而非限制性的。特定操作可以被组合在一起并且在单个操作中被执行,并且特定操作可以按不同于这里所提供的示例中所采用的顺序的顺序被执行。此外,方法500和/或600的特定操作按自动方式被执行。这些操作基本不涉及与用户的交互。方法500和/或600的其它操作可以按人工方式或半自动方式被执行。这些操作涉及经由一个或多个用户接口呈现与用户的交互。
[0075]在不以任何方式限制下面的权利要求的范围、解释或应用的情况下,这里所公开的示例实施例的一个或多个实施例的技术效果在于执行图像帧的处理。如图2-6B中所解释的,图像帧的处理涉及利用全色图像帧准确地计算注册信息。由于全色图像传感器与彩色图像传感器(例如是Bayer传感器)相比为大约3倍的敏感度,所以全色图像帧具有更高的光强度,因而注册信息是准确的。此外,针对全色图像帧的运动估计/补偿的可靠性与彩色图像帧相比更稳健,从而实现了准确的本地运动矢量计算。由于全色图像帧与彩色图像帧与彼此对应,所以可以利用针对全色图像传感器计算的注册信息以用于彩色图像帧以修改彩色图像帧。对彩色图像帧的修改涉及对来自相邻彩色帧的像素值求和/求平均,这在降低彩色图像帧中的噪声的同时提高了信号强度,从而增强低光照视频。还可以利用根据全色图像帧计算出的注册信息以用于修改和凭借彩色图像帧以增强低光照全景图像帧。
[0076]上述各个实施例可以用软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合来实现。软件、应用逻辑和/或硬件可以驻留于至少一个存储器、至少一个处理器、设备或计算机程序产品上。在示例实施例中,应用逻辑、软件或指令集被保存在各种传统计算机可读介质中的任意一种介质上。在本文档的上下文中,“计算机可读介质”可以是可以包含、存储、与其进行通信、传播或传送指令的任何介质或设备,所述指令供指令执行系统、设备或装置(例如计算机)使用或者与其结合使用,该设备的一个示例如图1和/或图2中所描述和示出的。计算机可读介质可以包括计算机可读存储介质,该计算机可读存储介质可以是可以包含或存储供指令执行系统、设备或装置(例如计算机)使用或者与其结合使用的指令。
[0077]如果需要,这里所讨论的不同功能可以彼此按不同的顺序和/或同时地被执行。此外,如果需要,上述功能中的一个或多个功能可以是可选的或者可以被组合。
[0078]虽然实施例的各个方面在独立权利要求中有所陈述,但是其它方面包括来自所描述的实施例和/或具有独立权利要求的特征的从属权利要求的特征的其它组合,而不只是在权利要求中被明确陈述的组合。[0079]这里还要注意的是虽然以上描述了本发明的示例实施例,但是这些描述不应当被视为限制性的。相反,可以在不脱离如所附权利要求所限定的本公开的范围的情况下做出若干改变和修改。
【权利要求】
1.一种用于图像帧的处理的方法,包括: 接收与场景相关联的多个彩色图像帧和多个全色图像帧,其中所述多个彩色图像帧对应于所述多个全色图像帧; 基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息;以及 基于所述注册信息修改对应于所述全色图像帧的彩色图像帧。
2.根据权利要求1所述的方法,还包括: 根据来自所述多个彩色图像帧当中的一个或多个彩色图像帧和所述彩色图像帧确定注册信息,其中所述一个或多个彩色图像帧对应于所述一个或多个全色图像帧。
3.根据权利要求2所述的方法,其中根据所述彩色图像帧和所述一个或多个彩色图像帧的所述注册信息等同于基于所述多个全色图像帧的所计算出的注册信息。
4.根据权利要求2或3所述的方法,其中修改所述彩色图像帧包括基于所述注册信息将所述一个或多个彩色图像帧的像素的像素值与所述彩色图像帧的对应像素的像素值相加。
5.根据权利要求2或3所述的方法,其中修改所述彩色图像帧包括基于所述注册信息利用通过对所述一个或多个彩色图像帧中的像素的像素值和所述彩色图像帧的对应像素的像素值求平均而获得的平均像素值来更新所述彩色图像帧的像素的像素值。
6.根据权利要求4所述的方法,其中计算所述注册信息包括计算全局注册信息和本地注册信息中的至少一个。
7.根据权利要求6所述的方法,其中计算所述全局注册信息包括: 从所述全色图像帧和所述一个或多个全色图像帧中提取特征; 将从所述全色图像帧和所述一个或多个全色图像帧中所提取的所述特征进行匹配;以及 基于所提取的特征的所述匹配确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。
8.根据权利要求7所述的方法,其中计算所述本地注册信息包括: 基于与所述一个或多个全色图像帧中的至少一个全色图像帧相关联的所述单应变换来生成对应于所述至少一个全色图像帧的经补偿的全色图像帧; 基于所述经补偿的全色图像帧和所述全色图像帧计算差别图像帧;以及将与配置所述差别图像帧的多个像素块中的每个像素块相关联的像素值属性与预定义的阈值进行比较。
9.根据权利要求8所述的方法,其中计算所述差别图像帧包括从所述全色图像帧中减去所述经补偿的全色图像帧。
10.根据权利要求8所述的方法,其中所述像素值属性是平均像素值、最大像素值、与配置所述差别图像帧的所述多个像素块中的每个像素块相关联的像素值之和中的一个。
11.根据权利要求8至10中的任一项所述的方法,其中计算所述本地注册信息包括: 对来自配置所述差别图像帧的所述多个像素块当中的一个或多个像素块执行运动补偿,其中与所述一个或多个像素块中的每个像素块相关联的所述像素值属性被确定为超过所述预定义的阈值。
12.根据权利要求11所述的方法,还包括: 确定所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目。
13.根据权利要求12所述的方法,其中所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目基于色调映射而被确定。
14.根据权利要求1至3中的任一项所述的方法,其中与所述多个全色图像帧相关联的帧速率被配置为等于与所述多个彩色图像帧相关联的帧速率。
15.根据权利要求1至3中的任一项所述的方法,其中所述经修改的彩色图像帧的光强度高于所述彩色图像帧的光强度。
16.一种用于图像帧的处理的设备,包括: 用于接收与场景相关联的多个彩色图像帧和多个全色图像帧的装置,其中所述多个彩色图像帧对应于所述多个全色图像帧; 用于基于来自所述多个全色图像帧当中的一个或多个全色图像帧和某全色图像帧来计算注册信息的装置;以及 用于基于所述注册信息修改对应于所述全色图像帧的彩色图像帧的装置。
17.根据权利要求16所述的设备,其中所述设备还包括: 用于根据来自所述多个彩色图像帧当中的一个或多个彩色图像帧和所述彩色图像帧确定注册信息的装置,其中所述一个或多个彩色图像帧对应于所述一个或多个全色图像帧。
18.根据权利要求17所述的设备,其中根据所述彩色图像帧和所述一个或多个彩色图像帧的所述注册信息等同于基于所述多个全色图像帧的所计算出的注册信息。
19.根据权利要求17或18所述的设备,其中所述设备还包括: 用于基于所述注册信息将所述一个或多个彩色图像帧的像素的像素值与所述彩色图像帧的对应像素的像素值相加以用于修改所述彩色图像帧的装置。
20.根据权利要求17或18所述的设备,其中所述设备还包括: 用于基于所述注册信息利用通过对所述一个或多个彩色图像帧中的像素的像素值和所述彩色图像帧的对应像素的像素值求平均而获得的平均像素值来更新所述彩色图像帧的像素的像素值的装置。
21.根据权利要求19所述的设备,其中计算所述注册信息包括计算全局注册信息和本地注册信息中的至少一个。
22.根据权利要求21所述的设备,其中计算所述全局注册信息包括: 从所述全色图像帧和所述一个或多个全色图像帧中提取特征; 将从所述全色图像帧和所述一个或多个全色图像帧中所提取的所述特征进行匹配;以及 基于所提取的特征的所述匹配确定所述全色图像帧与所述一个或多个全色图像帧之间的单应变换。
23.根据权利要求22所述的设备,其中计算所述本地注册信息包括: 基于与所述一个或多个全色图像帧中的至少一个全色图像帧相关联的所述单应变换来生成对应于所述至少一个全色图像帧的经补偿的全色图像帧; 基于所述经补偿的全色图像帧和所述全色图像帧计算差别图像帧;以及将与配置所述差别图像帧的多个像素块中的每个像素块相关联的像素值属性与预定义的阈值进行比较。
24.根据权利要求23所述的设备,其中计算所述差别图像帧包括从所述全色图像帧中减去所述经补偿的全色图像帧。
25.根据权利要求23所述的设备,其中所述像素值属性是平均像素值、最大像素值、与配置所述差别图像帧的所述多个像素块中的每个像素块相关联的像素值之和中的一个。
26.根据权利要求23至25中的任一项所述的设备,其中计算所述本地注册信息还包括: 对来自配置所述差别图像帧的所述多个像素块当中的一个或多个像素块执行运动补偿,其中与所述一个或多个像素块中的每个像素块相关联的所述像素值属性被确定为超过所述预定义的阈值。
27.根据权利要求26所述的设备,其中所述设备还包括: 用于确定所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目的装置。
28.根据权利要求27所述的设备,其中所述一个或多个彩色图像帧中用于修改所述彩色图像帧的彩色图像帧的数目基于色调映射而被确定。
29.根据权利要求16至18中的任一项所述的设备,其中与所述多个全色图像帧相关联的帧速率被配置为等于与所述多个彩色图像帧相关联的帧速率。
30.根据权利要求16至18中的任一项所述的设备,其中所述经修改的彩色图像帧的光强度高于所述彩色图像帧的光强度。
31.根据权利要求16所述的设备,其中所述设备包括电子设备,所述电子设备包括: 用户接口电路装置和用户接口软件,所述用户接口电路装置和所述用户接口软件被配置为有助于用户通过使用显示器来控制所述电子设备的至少一个功能并且进一步被配置为对用户输入做出响应;以及 显示器电路装置,所述显示器电路装置被配置为显示所述电子设备的用户接口的至少一部分,所述显示和所述显示电路装置被配置为有助于所述用户控制所述电子设备的至少一个功能。
32.根据权利要求31所述的设备,其中所述电子设备包括用于捕获所述多个彩色图像帧的彩色图像传感器和用于捕获所述多个全色图像帧的全色图像传感器。
33.根据权利要求31或32所述的设备,其中所述电子设备包括移动电话。
34.一种被配置为执行根据权利要求1至15中的任一项所述的方法的设备。
【文档编号】H04N5/243GK103841386SQ201310601160
【公开日】2014年6月4日 申请日期:2013年11月25日 优先权日:2012年11月26日
【发明者】V·慕尼恩德 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1