闪光冲突检测、补偿和预防的制作方法

文档序号:11162212阅读:244来源:国知局
闪光冲突检测、补偿和预防的制造方法与工艺

本文中所揭示的系统和方法涉及图像俘获装置和技术,并且更确切地说,涉及避免对所俘获图像的额外的闪光效应的系统和技术。



背景技术:

由于例如便携式数码相机和蜂窝电话相机等个人相机的盛行,几个人可以在大约相同时间俘获场景的不同图像。举例来说,几个人可以在相同时刻俘获不同图像,包含在生日聚会中当儿童吹灭生日蛋糕上的蜡烛时、在婚礼的具有纪念意义的时刻或者在其它情境中。在多个相机发挥作用的此类情境中,来自一个相机的闪光或预闪光可将不希望的质量降级引入到通过另一相机俘获的图像中。在一些实例中,质量降级可以由于CMOS传感器的滚动快门,通过滚动快门所得图像的每一行在略微不同地时间曝光。相应地,如果来自另一相机的闪光或预闪光在帧的曝光期间关闭,那么所得图像的任何随后曝光的行可能不合需要地曝光过度。



技术实现要素:

一般而言,本发明涉及用于闪光影响检测和补偿的系统和技术。在一些实施例中,可以提供行求和逻辑以检测额外的相机闪光对所俘获图像数据的影响(在本文中被称作“闪光冲突”),包括在帧大体上类似的足够高的帧率下图像场景的所俘获的多个帧,例如,在大约每秒30帧(fps)下。举例来说,行求和逻辑可以为每一帧的每一行添加像素值以形成所得求和行值。闪光影响检测系统可以在逐行的基础上比较帧之间的求和行值以确定在俘获帧的期间是否已发生闪光冲突。如果帧的一些或全部行被额外的闪光影响,那么帧的那些行的求和值可以高于未受额外的闪光影响的前一帧的对应的行的求和值。如果没有检测到闪光冲突,那么闪光影响补偿技术可以指示相机在用户-请求时序时俘获图像。如果在一或多个帧中检测到闪光冲突,那么闪光影响补偿技术可以或者指示相机俘获图像场景的新帧,或者可以选择先前俘获的不受额外的闪光影响的帧输出给用户。

在另一实施例中,闪光业务控制协议(也被称作“闪光业务控制器”)可以基于图像俘获请求和相机是否意图在图像俘获期间使用闪光而分配时隙到联网相机。举例来说,相机可以在相机用户激活快门按钮时请求时隙,且可以告知闪光业务控制协议是否将使用闪光俘获图像。基于可用时隙和闪光使用,闪光业务控制协议可以有组织的方式分配请求相机到时隙以防止联网相机中的闪光冲突。

相应地,一个方面涉及用于闪光冲突检测和补偿的系统,该系统包括:图像传感器,其经配置以俘获描绘图像场景的多个图像帧,多个图像帧中的每一个包括布置在多个行中的多个像素;帧分析仪,其包括行求和逻辑,该行求和逻辑经配置以针对多个图像帧的当前帧中的多个行中的第一行至少部分地基于第一行中的多个像素中的每一个的值计算第一行求和值,针对多个图像帧的前一帧中的多个行中的第二行至少部分地基于第二行中的多个像素中的每一个的值计算第二行求和值,第一行和第二行描绘图像场景的大体上类似的部分,至少部分地基于第一行求和值和第二行求和值计算行求和差值,并且至少部分地基于行求和差值输出检测到闪光冲突指示或未检测到闪光冲突指示中的一个。

另一方面涉及用于闪光冲突检测和补偿的方法,该方法包括接收描绘图像场景的多个图像帧,多个图像帧中的每一个包括布置在多个行中的多个像素;针对多个图像帧的当前帧中的多个行中的第一行至少部分地基于第一行中的多个像素中的每一个的值计算第一行求和值,针对多个图像帧的前一帧中的多个行中的第二行至少部分地基于第二行中的多个像素中的每一个的值计算第二行求和值,第一行和第二行描绘图像场景的大体上类似的部分,至少部分地基于第一行求和值和第二行求和值计算行求和差值;以及至少部分地基于行求和差值输出检测到闪光冲突指示或未检测到闪光冲突指示中的一个。

另一方面涉及存储指令的非暂时性计算机可读媒体,在执行所述指令时,配置至少一个处理器以执行操作,包括:接收描绘图像场景的多个图像帧,多个图像帧中的每一个包括布置在多个行中的多个像素;针对多个图像帧的当前帧中的多个行中的第一行至少部分地基于第一行中的多个像素中的至少一些的值计算第一行求和值;针对多个图像帧的前一帧中的多个行中的第二行至少部分地基于第二行中的多个像素中的至少一些的值计算第二行求和值,第一行和第二行描绘图像场景的大体上类似的部分并且形成一对对应的行;至少部分地基于第一行求和值和第二行求和值计算行求和差值;以及至少部分地基于行求和差值输出检测到闪光冲突指示或未检测到闪光冲突指示中的一个。

另一方面涉及闪光冲突检测和补偿设备,其包括:用于接收描绘图像场景的多个预览帧、所述多个预览帧的装置;用于确定闪光冲突是否已在多个图像帧中的任一个中发生的装置;用于产生指令以基于确定闪光冲突已发生继续俘获描绘图像场景的额外的预览帧的装置;以及用于基于闪光冲突尚未发生的确定产生俘获最终图像的指令的装置。

附图说明

将在下文中结合附图和附录来描述所揭示的方面,提供附图和附录是为了说明而不是限制所揭示的方面,其中相同符号表示相同元件。

图1A和1B说明图像俘获过程和涉及闪光冲突的所得所俘获图像的一个实施例的图形概述。

图2说明闪光冲突检测和补偿体系的一个实施例的高水平图形概述和示意图。

图3A说明闪光冲突检测过程的实施例的流程图。

图3B说明闪光冲突补偿过程的实施例的流程图。

图4说明可以由行求和逻辑使用以执行图3A的闪光冲突检测过程的像素配置的实施例。

图5说明闪光业务控制系统的高水平图形概述和示意图。

图6A说明在联网相机上实施的闪光业务控制过程的实施例的流程图。

图6B说明通过闪光业务控制协议实施的闪光业务控制过程的实施例的流程图。

图7说明具有闪光冲突补偿和预防能力的装置的实施例的高水平示意图。

具体实施方式

介绍

本发明的实施例涉及用于闪光影响检测和补偿的系统和技术。用于补偿通过另一相机的闪光引入到所俘获图像的质量降级的一种技术包括比较紧密连续地俘获的多个图像帧以便确定是否检测到闪光影响。

举例来说,在一个实施方案中,可以提供行求和逻辑以检测额外的相机闪光对所俘获图像数据的影响。相机可经配置以在帧大体上类似的足够高的帧率下俘获图像场景的多个帧,例如,在大约30帧每秒(fps)下。行求和逻辑可以针对每一帧的每个行对像素值进行求和。举例来说,相机图像信号处理器(ISP)可以针对每一帧为自动白平衡(AWB)数据和自动曝光控制(AEC)数据输出统计数据。在各种实施方案中,行求和逻辑可以对AWB数据和AEC数据的至少一个组分求和,例如,R/G(通过绿色标准化的红色)、B/G(通过绿色标准化的蓝色)或Y(明度/亮度)值。

闪光影响检测技术可以在逐行的基础上比较帧之间的求和行值以确定另一相机的闪光是否影响到帧。为了说明,如果没有额外的闪光影响图像数据,那么帧之间的求和行值应该大体上类似。然而,举例来说,如果第二帧的最后四行被额外的闪光影响,那么第二帧的最后四行的求和值可以高于未受额外的闪光影响的第一帧的最后四行的求和值。闪光影响行可以具有比在未受影响的帧上对应的行亮大约4个光阑的值,其中“光阑”是指在成像中常用的亮度的度量。用于确定额外的闪光是否影响图像数据的阈值可以是用户设置或通过并入到闪光影响检测技术中的机器学习指令动态地控制的,且在各种实施方案中可以设置成1/4光阑、1/2光阑或1光阑。

如果没有检测到额外的闪光影响,那么闪光影响补偿技术可以指示相机在用户-请求时序时俘获图像。如果在一或多个帧中检测到额外的闪光影响,那么闪光影响补偿技术可以或者指示相机俘获所述图像场景的新帧,或者选择先前俘获的不受额外的闪光影响的帧输出给用户。相应地,与其中用户视觉查看所俘获图像且由于闪光讹用而决定重新拍摄图像的情境(此时已经过了风景如画的时刻)相比,所俘获图像将在大体上与用户请求时序相同的时刻。

通过提供闪光业务控制系统和技术,一些实施例可以减小或消除由于额外的闪光影响的所俘获图像的质量降级。举例来说,在一个实施方案中,用户相机可以通过用户判断配置或者基于邻近性配置以形成局部网络、加入局部网络或与局部网络通信,举例来说,通过蓝牙或WiFi。形成局部网络的相机可以由在网络上分配用于图像俘获的“时隙”到相机的闪光业务控制协议控制。举例来说,相机可以在相机用户激活快门按钮时请求时隙,且可以告知闪光业务控制协议是否将使用闪光俘获图像。

如果未采用当前时隙,那么业务控制协议可以为请求相机保留此时隙。如果当前时隙被另一不使用闪光的相机占据,那么请求相机也可以加入当前时隙且俘获图像。在此情境下,可以防止请求相机使用闪光以便避免影响在时隙中由其它相机俘获的图像。因而,如果时隙请求包括闪光被启用的指示,那么请求相机可以被放置到在队列中的下一可用时隙中。

如果当前时隙被另一使用闪光的相机占据,那么请求相机可以被放置到在队列中的下一可用时隙中。在一些实施方案中,如果请求相机请求具有能够启用闪光的当前时隙且其它相机尚未开始图像俘获,那么请求相机和其它相机的滚动快门可以同步且请求相机可以加入当前时隙。

实例闪光冲突检测和补偿概述

图1A和1B说明图像俘获过程100和涉及闪光冲突的所得的所俘获图像115、125的一个实施例的图形概述。虽然两个相机是用一个相机使用闪光说明的,但是这是出于解释的目的且本文所描述的闪光冲突检测和补偿过程可以在涉及三个或三个以上相机的情境中和其中一个以上相机在图像俘获期间使用闪光的情境中使用。

图1A说明其中多个相机用户俘获图像的实例目标图像场景100。第一相机110的用户使用闪光112俘获图像115,同时第二相机120的用户至少部分在闪光112的持续期间俘获图像125。图1B说明对应的所俘获图像115、125的实例。

由相机110使用闪光112俘获的图像115是适当曝光的,这是因为相机110(或可能在人工操作模式中的用户)基于使用闪光112校准图像俘获设置以照射图像场景100。在摄影中,曝光是每单位面积(图像平面照度乘以曝光时间)到达图像传感器的光的量,其通过快门速度、镜头光圈和现场亮度确定。通常,数码相机能够实施自动曝光(“AE”)控制技术以基于场景亮度的分析确定快门速度、镜头光圈。举例来说,相机在AE模式中可以自动计算和调节例如光圈和快门速度等曝光设置以匹配(以尽可能密切地形式)目标图像场景的中间色调到相片的中间色调。

然而,由于至少部分在其它相机的闪光112期间由俘获图像产生的闪光冲突,由其它相机120俘获的图像125包括适当曝光部分126和过度曝光部分127。这一现象通常被称为由使用滚动快门俘获图像125所引起的“部分曝光”或“分帧曝光”。滚动快门是获取图像的方法,其中不是记录从单个时间点的快照所俘获的,而是实际上通过跨越帧或者垂直地或者水平地扫描。在所说明的实例中,滚动快门在闪光112开始之前扫描对应于在所俘获图像125的适当曝光部分126中的像素行的传感器光电二极管的行,且在闪光112开始之后扫描对应于在所俘获图像125的过度曝光部分127中的像素行的传感器光电二极管的行。因为闪光112在相机120(或相机120的用户)最初校准曝光设置时没有照射图像场景100,所以由闪光引起的光的增加造成部分127的过度曝光。通常,常用在数码相机和移动装置相机中的互补型金属氧化物半导体(CMOS)传感器实施滚动快门。

虽然所描绘的实例示出了可以由闪光冲突引入到由实施滚动快门的相机俘获的图像的质量降级的实例,且由实施全局快门的相机俘获的图像也可以由于闪光冲突而遭受质量降级。举例来说,如果在图像俘获系统用全局快门确定用于图像俘获的曝光设置之后但是在图像被俘获之前闪光冲突发生,那么这可以引起整个图像的过度曝光或所俘获图像的部分各处的光透射。

另外,虽然如本文所论述“闪光冲突”通常是指另一相机的闪光在所俘获图像上的影响,其它情境也可以引起闪光冲突。举例来说,照明、闪烁光、来自武器射击的枪口闪光或图像场景的环境光的量的其它突然和/或较大增大可以在所俘获图像中以由外部相机的闪光产生的那些形式产生类似的过度曝光质量降级。另外,虽然闪光冲突在本文中通常被论述为发生在图像俘获期间且造成所俘获图像中的一些或全部的过度曝光,但是在一些实施例中闪光冲突可以在AE设置的校准期间发生且在图像俘获前结束,造成所俘获图像中的一些或全部的曝光不足。

图2说明包括相机210、帧分析仪222、预览俘获时序模块224和最终图像俘获模块230的闪光冲突检测和补偿系统200的一个实施例的高水平图形概述和示意图。

相机210可以包括图像传感器214和闪光模块216。相机210可经配置以俘获图像场景的预览帧,例如用于在包括闪光冲突检测和补偿系统200的装置的视图查找器上显示。此类预览帧可用于以由系统200俘获形式向用户呈现图像场景的“实时”预览,且可以相对于最终俘获图像缩小尺寸或降低分辨率。在一些实施例中,当系统200或包括系统200的装置处于图像俘获模式时,可以连续地或接近连续地俘获预览帧。多个预览帧可以在被新的预览帧代替之前在预定时间段存储在缓冲器或其它存储器中。在一些实施例中,包括AE设置的图像俘获设置可以基于一或多个预览帧的分析来确定。相机210还可经配置以使用所确定的图像俘获设置俘获完整分辨率的最终图像。

可以发送预览帧220到帧分析仪222以确定是否已发生闪光冲突且造成所俘获图像数据中的质量降级。举例来说,在用户激活快门按钮或者提供图像俘获命令时,相机210可以开始提供所俘获预览帧220到帧分析仪222。虽然没有说明,但是在一些实施例中一或多个所存储的预览帧可以从缓冲器或存储器中检索到。

帧分析仪222可以分析多个预览帧225、226、227和228中的每一个以确定是否已发生闪光冲突。举例来说,如下文将更详细地论述,帧分析仪222可以执行行求和数据比较以检测闪光冲突。分析仪222可以对当前分析帧和前一帧计算行求和数据(例如,基于白平衡和曝光控制数据中的一或两个),而且计算当前分析帧和前一帧的对应行求和之间的差值,并且比较每个差值与阈值。如果不发生闪光冲突,那么对应的行求和值应该是大致相同的。然而,如果对应的行求和值之间的差值超过了阈值,那么闪光冲突可能发生以造成当前分析帧的至少一部分的过度曝光。

举例而言,对预览帧225来说,行求和数据比较可以帧分析仪222能够检测适当曝光区221和过度曝光区223,而且指示闪光冲突通过使用滚动快门俘获预览帧225而中途发生。对预览帧226来说,行求和数据比较可以使得帧分析仪222能够检测由过度曝光区223组成的完整帧226,而且指示闪光冲突在俘获预览帧226的期间持续。对预览帧227来说,行求和数据比较可以允许帧分析仪222检测曝光过度区223和适当曝光区221,而且指示闪光冲突通过使用滚动快门俘获预览帧225而中途结束。对这些预览帧中的每一个来说,帧分析仪222可以输出闪光影响检测到的指示229到预览俘获时序模块224。预览俘获时序模块224可以基于接收闪光影响检测到的指示229配置相机210以继续俘获预览帧。

对预览帧228来说,行求和数据比较可以允许帧分析仪222检测由适当曝光区221组成的完整帧228,而且指示对于当前分析预览帧228没有检测到闪光冲突。相应地,帧分析仪222可以输出没有检测到闪光影响的指示234到最终图像俘获模块230。举例来说,没有检测到闪光影响的指示234可以在最终图像俘获模块230的俘获设置模块236处被接收。在一些实施例中,俘获设置模块236可以分析预览帧228以确定例如AE设置等等的图像俘获设置以及例如白平衡、色彩平衡、镜头校正等等的任何需要的后处理设置。

俘获设置模块236可以输出最终图像俘获指示232以配置相机210使用所确定的设置来俘获最终图像。相机210可以输出图像数据233到最终图像俘获模块230以用于产生最终图像235,例如,通过应用任何确定的后处理设置到图像数据233,最终图像235没有闪光冲突伪影。

图3A说明闪光冲突检测过程300A的实施例的流程图。在一些实施例中,过程300A可以由闪光冲突检测和补偿系统200实施,或由任何具有闪光冲突检测能力的图像俘获和/或处理系统实施。

在块305处,系统200可以接收包括多个帧的图像数据。举例来说,如上文所论述,可以产生多个预览或取景器帧以向用户显示由系统200俘获的图像数据的“实时”预览。可以在帧分析仪222处直接地从相机或存储装置接收此类帧。

在块310处,帧分析仪222可以为每个接收到的帧产生自动白平衡数据。在一些实施例中,专用图像信号处理器或另一处理器可以替代或与帧分析仪222一起产生白平衡(“AWB”)数据。AWB数据可用于调节所俘获图像数据的偏色,例如由于环境光照射图像场景源的色温特性,以精确地匹配所俘获图像中的色彩到由图像场景的人类观察者所感知的色彩。在一些实施例中,AWB数据可以包含对于像素或像素区域的B/G(由绿色信道标准化的蓝色信道)和/或R/G(由绿色信道标准化的红色信道)比率。在一些实施例中,如关于图4更详细地解释,每一帧可以被分成多个区域,而且AWB统计数据可以对于每个区域自动产生。

在块315处,帧分析仪222和/或专用图像信号处理器或其它处理器可以为每个接收到的帧自动产生曝光控制(“AEC”)数据。AEC数据可用于基于预览帧的分析估计曝光设置,例如光圈和快门速度。在一些实施例中,AEC数据可以包含对于像素或像素区域的Y(亮度)值。在一些实施例中,如关于图4更详细地解释,每一帧可以被分成多个区域,而且AEC统计数据可以对于每个区域自动产生。

在块320处,帧分析仪222可以在当前帧和前一帧中计算对于每一行(或行的预定子集)像素的至少一行求和值以用于执行行求和比较以检测潜在闪光冲突。在一些实施例中可以计算单独的AWB和AEC行求和,并且在一些实施例中可以计算单独的R/G和B/G AWB行求和。行求和可以通过对行中的每个像素的像素值(例如,R/G、B/G或Y)进行求和来计算。

在块325处,帧分析仪222可以针对一对对应的行计算AWB行求和与AEC行求和中的每一个之间的差值。作为一个实例,帧分析仪222可以计算针对当前帧的第一行的AWB行求和与针对前一帧的第一行的AWB行求和之间的AWB行求和差值,并且可以计算针对当前帧的第一行的AEC行求和与针对前一帧的第一行的AEC行求和之间的AEC行求和差值。

在一些实施例中,AWB行求和差值AWBΔ可以如通过以下等式(1)所定义使用AWB数据来计算:

AWBΔ=∑abs|VAWB(t)-VAWB(t-1)| (1)

其中VAWB(t)表示针对当前帧中的像素的M×N区域的(R/G,B/G)的M×2向量并且VAWB(t-1)表示针对前一帧中的像素的对应的M×N区域的向量。R/G和B/G比率值可以单独地用于产生R/G AWB行求和以及B/G行求和,并且在一些实施例中AWB行求和以及B/G行求和可以求和或者以其它方式组合成单个值。在一些实施例中,可以使用等式(2)使用AEC数据计算AEC行求和差值AECΔ

AECΔ=Σabs|VAEC(t)-VAEC(t-1)| (2)

其中VAEC(t)表示针对当前帧中的像素的M×N区域的M×2向量Y并且VAEC(t-1)表示针对前一帧中的像素的对应的M×N区域的向量。

在决策块330处,帧分析仪222可以比较行求和值与阈值。在一些实施例中,AWB行求和差值AWBΔ可以与第一阈值比较并且AEC行求和差值AECΔ可以与第二阈值比较。第一和第二阈值可以是相应地控制AWB和AEC的稳定性标准的可调谐参数,也就是说,控制由于闪光冲突或其它原因造成的多少质量降级是可接受的。在一些实施例中,前一帧中的行的总行求和值的4光阑或更多的阈值差值可以指示闪光冲突。在其它实施例中,1光阑或甚至1/2光阑的差值可以用作阈值。如本文所使用,“光阑”是指用于量化光或曝光率的单位,其中每个添加的光阑意味着二的因数,并且每个减去的光阑意味着二分之一的因数。一光阑单位也常规地被称为EV(曝光值)单元。在一些实施例中,阈值可以在帧比较之间调节以便反映图像帧的确定的过度曝光区域的行求和值。

如果针对行或行的群组AWB行求和差值AWBΔ小于或等于第一阈值并且AEC行求和差值AECΔ小于或等于第二阈值,那么当前帧可能是稳定的并且不存在闪光冲突。相应地,过程300A可以过渡到块345并且输出未检测到闪光影响的指示。过程300A可以结束并且最终图像俘获可以继续进行。

如果针对行或行的群组AWB行求和差值AWBΔ大于第一阈值并且AEC行求和差值AECΔ大于第二阈值,那么由于闪光冲突当前帧可能是不稳定的。举例来说,匹配目标图像场景中的环境光照条件的色温的闪光冲突可以由于闪光冲突造成明亮的条带出现在所俘获图像中。由于匹配色温AWB行求和差值AWBΔ可能不高于阈值,然而由于亮度的增大AEC行求和差值AECΔ可能高于阈值。相应地,过程300A可以过渡到块335并且输出检测到闪光冲突指示。在一些实施例中,过程300A还可以输出过度曝光行或行的组的指示以用于分析随后的帧。举例来说,可以对用于当前帧中的已知的过度曝光行的行求和数据与用于随后帧中的对应的行的行求和数据的比较的阈值进行调节以更加精确地确定闪光冲突是否继续,或者对应的行是否已经返回到所希望的曝光水平。

在块340处,系统200可以基于检测到闪光冲突的指示执行闪光冲突补偿过程。举例来说,在一些实施例中系统可以过渡到下文描述的闪光冲突补偿过程300B。在其它实施例中,闪光冲突指示可以触发闪光业务冲突协议的实施,如下文关于图5-6B所论述。

图3B说明闪光冲突补偿过程300B的实施例的流程图。在一些实施例中,过程300A可以由闪光冲突检测和补偿系统200实施,或由任何具有闪光冲突补偿能力的图像俘获和/或处理系统实施。

在块350处,系统200可以接收包括多个帧的图像数据。举例来说,如上文所论述,可以产生多个预览或取景器帧以向用户显示由系统200俘获的图像数据的“实时”预览。可以在帧分析仪222处直接地从相机或存储装置接收此类帧。

在块355处,帧分析仪222可以产生表示闪光冲突是否可能存在于当前分析的预览帧中的闪光影响检测到的指示。在一些实施例中闪光影响检测到的指示可以根据上文所述的闪光冲突检测过程300A产生。在其它实施例中,闪光影响检测到的指示可以其它方式产生,例如,基于光学地检测附近闪光,或基于在网络上与其它附近相机通信。

在决策块360处,帧分析仪222可以分析闪光影响检测到的指示以确定是否检测到闪光冲突。如果检测到闪光冲突,那么过程300B可以过渡到块365以继续预览帧的俘获和/或分析、循环回到块355。过程300B可以在块360、365和355之间循环直至产生不具有闪光冲突的预览帧,例如,基于预览俘获时序模块224的控制。为了补偿检测到的闪光冲突的过程300B的此循环可以在当用户起始图像俘获与当俘获最终图像时之间引入少量延迟。然而,由于与人类感知和反应时间相比较的闪光灯的相对较短的持续时间,延迟可能并不显著且不会被相机的用户注意到。举例来说,针对典型闪光灯模块的足够的闪光持续时间可以短到30微秒或0.00003秒。在配备有专业化闪光模块的相机中闪光持续时间甚至可以更短,例如,对于高速摄影,在一些情境中,持续20微秒或0.00002秒。

如果未检测到闪光冲突,那么过程300B可以过渡到块370以检索或产生图像俘获设置,例如,基于不具有检测到的闪光冲突的当前预览帧的分析。图像俘获设置可以包括AE设置以及用于将原始图像数据转换成最终图像的可能的后处理设置。

在块375处,系统200可以俘获最终图像。在一些实施例中,最终图像俘获模块230可以配置相机210以根据基于不具有检测到的闪光冲突的预览帧的分析确定的设置俘获最终图像。

图4说明可以由行求和逻辑使用以执行图3A的闪光冲突检测过程的像素配置400的实施例。像素配置400包括分成M×N个区域410的多个像素405。在一些实施例中AWB和AEC统计数据可以提供用于相机预览模式期间的每一帧中的每个区域,或者在其它实施例中用于每一帧中的预定代表性数目的区域。对于每个区域,AWB统计数据可以包括用于区域中的每个像素的R/G和B/G值,并且AEC统计数据可以包括用于区域中的每个像素的Y值。在行求和期间,行求和逻辑可以使用行415中的像素的R/G、B/G或Y值中的一些或全部以产生一或多个行求和值。用于闪光冲突检测系统中的图像传感器的像素读出架构可以结构化以包括行求和逻辑以用于产生如上文所述在一些实施例中的行求和值。

实例闪光冲突预防的概述

图5说明闪光业务控制系统500的高水平图形概述和示意图。系统500包括多个联网用户装置505、网络510和闪光业务控制模块520,所述用户装置包括相机。

用户装置505可以是配备有图像俘获能力的多个装置中的任何一个。举例来说,在各种实施例中装置505可以是移动通信装置,例如,智能电话、平板电脑或数码相机。配备有图像俘获能力的其它计算装置可以经配置以用于网络连接到闪光业务控制协议。

网络510可以是局域网或广域网,例如,互联网,或卫星网络,例如,移动通信网络,或提供装置到装置通信的另一网络。相应地,联网相机可以配备有合适的装置以用于访问网络,例如,WiFi、蓝牙、3G、4G或其它无线或有线网络连接和通信装置。

闪光业务控制模块520可用于执行闪光业务控制协议以用于在通过联网用户装置505(也被称作“联网相机”)的图像俘获期间组织或排序闪光的使用以便防止联网相机之间的闪光冲突。在一些实施例中,闪光业务控制模块520可以是一或多个远程服务器,所述远程服务器经配置以用于存储和执行指令以执行本文中描述的闪光业务控制协议。虽然闪光业务控制模块520被描绘为离开可通过网络访问的用户装置505的单独的模块,但是在一些实施例中闪光业务控制模块520可以在联网装置505中的一个上实施。在一些实施例中,闪光业务控制模块520可以是作为一组软件指令或应用可供使用的,并且可以与装置一起提供到用户或可供用户下载到装置上。在一些实施例中,联网装置505中的两个或大于两个可以配备有闪光业务控制模块520。相应地,网络510上的通信可用于指派引线装置实施闪光业务控制协议或跨越装置的闪光业务控制协议的同步操作。

如所说明,闪光业务控制模块520可以包括相机网络管理器522、请求分析仪524和时隙控制器530。这些组件可以一起操作以执行闪光业务控制协议。举例来说,相机网络管理器522可以经配置以分配标识姓名和/或标号到加入网络的相机。在闪光业务控制模块520并入到用户装置505中的一些实施例中,相机网络管理器522可经配置以扫描周围区域并且识别与之建立闪光业务控制协议网络的其它相机。在各种实施例中,闪光业务控制模块520可经配置以在装置通电之后、图像俘获起始时或在装置的操作期间连续地间歇地扫描周围区域。

请求分析仪524可以接收传入图像俘获请求,包括来自联网相机的闪光信息。闪光信息可以包括请求执行图像俘获的相机(“请求相机”)是否被设置成使用闪光执行图像俘获的指示,如果是,则包括闪光的持续时间的指示。闪光信息可以另外包括请求相机被设置成使用以用于图像俘获的一或多个预先闪光的数目和持续时间。请求分析仪可以发送包括与请求相机和闪光信息相关联的标识的请求数据到时隙控制器530。

时隙控制器530可以使用所接收的请求数据以用于将时隙分配到请求相机,在此期间请求相机可以执行图像俘获。如所说明,时隙控制器530可以存储数据储存库,包括用于时隙531、相机ID 532、闪光指示533和加入的相机ID 534中的一些或全部。用于这些领域531、532、533、534的多个不同数据关联已经出于实例的目的且不加限制的说明。在一些实施例中通过时隙控制器530分配和维持的时隙可以是固定长度的时间,并且在其它实施例中时隙的持续时间可以动态地确定,例如,基于分配到每个时隙的相机的图像俘获时间帧。

举例来说,当前时隙,时隙1,被说明为由被识别为“CAM3”的开启闪光的相机占用,并且“CAM4”加入时隙1。因为“CAM3”占据时隙1并且将使用闪光用于图像俘获,所以“CAM4”可以通过闪光业务冲突协议被阻止也使用闪光以便不会造成与由“CAM3”俘获的图像的闪光冲突。举例来说,当“CAM4”请求分配时隙用于图像俘获时,闪光业务控制协议可以确定当前时隙(时隙1)被“CAM3”占用并且可以确定“CAM4”(“请求相机”)是否意图使用闪光。如果不是,那么“CAM4”可以被允许加入当前时隙。在一些实施例中,时隙控制器530可以产生指令以同步请求相机“CAM4”的滚动快门和曝光设置到已经占用时隙“CAM3”的其它相机。在一些实施例中,滚动快门的同步可以包括提供普通滚动快门开始时间到请求相机和其它相机。在其它实施例中,滚动快门的同步可以包括提供其它相机的闪光持续时间的时间帧到请求相机,指示在此期间滚动快门的操作应该完成的时间帧。使用指令,请求相机“CAM4”可以使用具有适当曝光的其它相机“CAM3”的闪光俘获图像。

时隙2被说明为也由开启闪光的“CAM3”占用而没有加入相机。时隙3被说明为未占据。时隙4被说明为由关闭闪光的“CAM1”占用而没有加入相机。

时隙5被说明为由关闭闪光的“CAM1”占用,并且“CAM2”和“CAM4”加入时隙5。因为“CAM1”被分配到关闭闪光的“CAM1”,可以阻止加入相机“CAM2”和“CAM4”使用闪光以便不会与由“CAM1”俘获的图像造成闪光冲突。

因为有可能的是在附近可能存在没有配置有网络连接能力的可以使用闪光而不受制于闪光业务控制协议的其它相机,所以在一些实施例中可以有益于用户装置505的是配备有上文所述的闪光冲突检测和补偿能力。

图6A说明在联网相机上实施的闪光业务控制过程600A的实施例的流程图。在一些实施例中,过程600A可以通过上文所述的闪光业务控制系统500实施,或者通过具有执行闪光业务控制协议的能力的任何其它系统实施。过程600A提供从包括相机的用户装置的角度执行的闪光业务控制协议的一个实例。

在块605处,用户装置可以确定闪光冲突业务控制的需要。举例来说,在一些实施例中闪光冲突检测过程300A可以输出闪光指示在预览帧中被检测到的指示。在其它实施例中,可以光学地检测闪光。在一些实施例中,当具有网络功能的相机检测到预定范围内的其它具有网络功能的相机时过程600A可以初始。

在块610处,用户装置可以加入闪光业务控制网络并且打开与闪光业务控制协议的通信。如上文所述,在一些实施例中,闪光业务控制协议可以与用户装置远程,例如,在另一联网相机上或在一或多个服务器上。在一些实施例中,用户装置可以配备有闪光业务控制协议。

在块615处,用户装置从用户接收图像俘获命令,例如,如通过按下机械快门按钮或触碰提供在装置的触控面板上的触敏快门按钮区域所指示。

在块620处,用户装置发送包括闪光信息的俘获请求到闪光业务控制协议。闪光信息包括用户装置的相机是否被设置成通过闪光或不通过闪光俘获所请求的图像的指示,并且如果相机将使用闪光,那么包括闪光的持续时间的指示。闪光信息还可以包括相机将在图像俘获期间使用的预先闪光的数目和持续时间。

在块625处,用户装置接收来自闪光业务控制协议的时隙和闪光分配。举例来说,用户装置可以基于来自其它联网相机的先前提交的请求分配当前时隙或随后时隙。闪光分配可以包括闪光是否可以由用户装置使用的限制和/或闪光的持续时间以便避免与其它联网相机的闪光冲突。如上文所述,在一些实施例中,用户装置可以另外接收指令以同步装置的滚动快门与分配到所述用户装置加入的时隙的另一相机的闪光或滚动快门以便利用另一相机的闪光。

在块630处,用户装置可以根据所分配的时隙和闪光分配俘获最终图像。虽然未说明,但是在一些实施例中如果分配的时隙大于距离当前时隙的预定时间长度,那么所述用户装置可以继续进行图像俘获而不使用闪光业务控制协议,例如,根据上文所述的过程300A和300B。在一些实施例中预定时间长度可以基于图像俘获的起始与最终图像的俘获之间的用户所感知的时延的公差确定。

图6B说明通过闪光业务控制协议实施的闪光业务控制过程600B的实施例的流程图。在一些实施例中,过程600B可以通过上文所述的闪光业务控制系统500实施,或者通过具有执行闪光业务控制协议的能力的任何其它系统实施。过程600B提供从执行闪光业务控制协议的模块的角度执行的闪光业务控制协议的一个实例。

在块635处,闪光业务控制模块可以提供闪光业务控制协议到多个联网相机。相机可以是数码相机或包括图像俘获技术的个人计算装置。在各种实施例中,闪光业务控制模块可以在一或多个服务器上远程地实施、在联网相机中的一个上远程地实施,或跨越多个联网相机同步。

在块640处,闪光业务控制模块可以从请求联网相机接收图像俘获请求。图像俘获请求可以包括来自请求联网相机的用户已经初始图像俘获以及闪光信息的指示。

在决策块645处,闪光业务控制模块可以确定当前时隙是否被占用。如果当前时隙未被占用,那么过程600B可以过渡到块650,在块650处闪光业务控制模块可以分配当前时隙到请求联网相机。举例来说,闪光业务控制模块可以存储与同当前时隙相关联的请求联网相机相关联的ID、通过请求联网相机提供的闪光信息,以及任何加入的相机也根据请求联网相机的闪光信息使用当前时隙执行图像俘获。

在块655处,闪光业务控制模块可以释放当前时隙。在各种实施例中当前时隙可以在从请求联网相机接收图像俘获完成指示之后、在预定时间周期(例如,通过请求联网相机提供图像俘获持续时间)过去之后,或在全部加入的相机和请求联网相机完成图像俘获之后释放。

如果当前时隙被另一相机占用,那么过程600B过渡到决策块660,在决策块660中分析请求联网相机的闪光信息。如果请求联网相机被设置成使用闪光,那么过程600B过渡到块665,在块665中相机被分配到下一可用时隙。虽然未说明,但是在一些实施例中闪光业务控制模块还可以确定占用当前时隙(或随后占用的时隙)的另一相机是否也使用闪光并且可以发送指令到请求联网相机以在此时隙使用另一相机的闪光执行图像俘获。

如果请求联网相机未被设置成使用闪光,那么过程600B过渡到决策块670,在决策块670中闪光业务控制模块确定被分配到当前时隙的另一相机是否被设置成使用闪光。如果另一相机被设置成使用闪光,那么过程600B过渡到块665,在块665中相机被分配到下一可用时隙。闪光业务控制模块可以存储与同下一可用时隙相关联的请求联网相机相关联的ID、通过请求联网相机提供的闪光信息,以及任何加入的相机也根据请求联网相机的闪光信息使用当前时隙执行图像俘获。在一些实施例中,闪光业务控制模块可以分配请求联网相机到由设置成执行图像俘获而不闪光的另一相机占用的下一时隙。

如果占用当前时隙的另一相机未被设置成使用闪光如同请求联网相机未被设置成使用闪光,那么过程600B过渡到块675,在块675中请求联网相机被分配到加入当前时隙。在一些实施例中,请求联网相机可以通过闪光业务控制模块被禁止改变图像俘获设置以在当前时隙期间使用闪光(或预先闪光)。

在块680处,在请求联网相机、另一相机和已经完成图像俘获的任何额外的加入的相机之后可以释放当前时隙。

可以操作上文所论述的时隙分配以防止联网相机中的闪光冲突。然而,如所论述,在一些实施例中如果分配的时隙在预定时间帧外部,那么联网相机可以偏离来自闪光业务控制协议的分配,并且在一些实施例中可以存在额外的非联网相机。相应地,可以有益于联网相机的同样是配备有上文所述的闪光冲突检测和补偿技术。

实例闪光冲突检测、补偿和预防装置的概述

图7说明具有闪光冲突补偿和预防能力的装置700的实施例的高水平示意图,装置700具有包括链接到相机701的图像处理器720的一组组件。图像处理器720还与工作存储器765、存储器720和装置处理器755通信,所述工作存储器765、存储器720和装置处理器755继而与存储装置770和任选的电子显示器760通信。

装置700可以是便携式个人计算装置,例如,移动电话、数码相机、平板计算机、个人数字助理或类似物。存在其中使用如本文所述的闪光冲突检测、补偿和/或预防技术的许多便携式计算装置将提供优势。装置700也可以是静止计算装置或其中闪光冲突检测、补偿和/或预防技术将是有利的任何装置。多个应用程序可在装置700上可用于用户。这些应用程序可以包括传统的照相和视频应用程序以及闪光业务控制协议应用程序。

图像俘获装置700包括用于俘获外部图像的相机701。在一些实施例中相机701可以包括图像传感器715和闪光模块710。相机701可以经配置以用于连续或间歇地俘获预览帧以及俘获完整分辨率最终图像。

图像处理器720可经配置以在接收到的预览帧上执行各种处理操作,以便执行闪光冲突检测、补偿和/或预防技术。处理器720可为通用处理单元或专门设计用于成像应用的处理器。图像处理操作的实例包括AWB和AEC数据产生、行求和与比较、裁剪、按比例缩放(例如,按比例缩放到不同分辨率)、图像拼接、图像格式转换、色彩内插、色彩处理、图像滤波(例如,空间图像滤波)、透镜假影或缺陷校正等。在一些实施例中,处理器720可包括多个处理器。处理器720可以是一或多个专用图像信号处理器(ISP)或处理器的软件实施方案。

如所示出,图像处理器720连接到存储器720和工作存储器765。在所说明的实施例中,存储器720存储俘获控制模块735、闪光补偿模块740、闪光业务控制模块780和操作系统750。存储器720的模块包括配置装置处理器755的图像处理器720来执行各种图像处理和装置管理任务的指令。工作存储器765可由图像处理器720用于存储包含于存储器720的模块中的处理器指令的工作集。替代地,工作存储器255还可由图像处理器720使用来存储装置200的操作期间创建的动态数据。

如上所提及,图像处理器720由存储在存储器中的若干模块来配置。俘获控制模块735可以包括配置图像处理器720以调节相机701的聚焦位置的指令。俘获控制模块735可进一步包括控制装置700的总体图像俘获功能的指令。举例来说,俘获控制模块735可以包括调用子例程以配置图像处理器720来使用相机701俘获包括目标图像场景的一或多个帧的预览图像数据的指令。在一个实施例中,俘获控制模块735可随后调用闪光补偿模块740或闪光业务控制模块780以消除或减小由于所俘获的帧中的闪光冲突造成的质量降级。

闪光补偿模块740包括子模块:预览帧分析仪742、俘获时序模块722和最终图像俘获模块745。一起,这些模块可以包括配置图像处理器720以执行上文关于图2-4所论述的闪光冲突检测和补偿技术的指令。在一些实施例中,预览帧分析仪742、俘获时序模块722和最终图像俘获模块745可以各自存储配置图像处理器720以执行上文相对于预览帧分析仪222、俘获时序模块224和最终图像俘获模块230所述的各种任务的指令。

闪光业务控制模块780包括子模块:相机网络管理器782、请求分析仪784和时隙控制器786。一起,这些模块可以包括配置图像处理器720以执行上文关于图5-6B所论述的闪光冲突预防或缓解技术的指令。在一些实施例中,相机网络管理器782、请求分析仪784和时隙控制器786可以各自存储配置图像处理器720以执行上文相对于相机网络管理器522、请求分析仪524和时隙控制器530所述的各种任务的指令。

操作系统模块750配置图像处理器720以管理装置700的工作存储器765和处理资源。举例来说,操作系统模块750可以包括装置驱动器以管理例如相机701等硬件资源。因此,在一些实施例中,上文所论述的图像处理模块中包含的指令可不与这些硬件资源直接交互,而是经由位于操作系统组件750中的标准子例程或API交互。操作系统750内的指令可随后与这些硬件组件直接交互。操作系统模块750可进一步配置图像处理器720以与装置处理器755共享信息。

装置处理器755可经配置以控制显示器760以向用户显示所俘获图像或所俘获图像的预览。显示器760可在成像装置200外部或可为成像装置200的一部分。显示器760还可经配置以提供显示预览图像以供在俘获图像之前使用的视图查找器,例如向用户呈现闪光冲突的视觉表示。显示器760可包括LCD或LED屏幕,且可实施触敏技术。

装置处理器755可以将数据写入到存储模块770,例如,表示所俘获图像和行求和值以及比较的数据。虽然存储模块770以图形方式表示为传统磁盘装置,但所属领域的技术人员将理解,存储模块770经配置为任何存储媒体装置。举例来说,存储模块770可包含磁盘驱动器,例如,软盘驱动器、硬盘驱动器、光盘驱动器或磁光盘驱动器,或固态存储器,例如,快闪存储器、RAM、ROM和/或EEPROM。存储模块770还可包含多个存储器单元,且所述存储器单元中的任一者可经配置以处于图像俘获装置700内,或可在图像俘获装置700的外部。举例来说,存储模块770可包括含有存储在图像俘获装置700内的系统程序指令的ROM存储器。存储模块770还可包含经配置以存储所俘获图像的存储卡或高速存储器,其可从相机移除。存储模块770也可在装置700外部,且在一个实例中,装置700可将数据无线传输到存储模块770,例如,经由网络连接。

尽管图7描绘具有单独组件以包括处理器、成像传感器及存储器的装置,但所属领域的技术人员将认识到,这些单独组件可用多种方式组合以实现特定的设计目标。举例来说,在替代实施例中,所述存储器组件可与处理器组件组合,例如以节约成本和/或改进性能。

另外,虽然图7说明了两个存储器组件,包含包括若干模块的存储器组件720以及包括工作存储器的单独存储器765,但是所属领域的技术人员将认识到利用不同存储器架构的若干实施例。举例来说,一种设计可利用ROM或静态RAM存储器来存储实施在存储器720中包含的模块的处理器指令。处理器指令可加载到RAM中以促进由图像处理器720执行。举例来说,工作存储器765可包括RAM存储器,其具有在由图像处理器720执行之前被加载到工作存储器765中的指令。

实施系统及术语

本文中所揭示的实施方案提供用于闪光冲突检测、补偿和预防的系统、方法及设备。所属领域的技术人员将认识到,这些实施例可实施于硬件、软件、固件或其任何组合中。

在一些实施例中,可在无线通信装置中利用上文所论述的电路、过程和系统。无线通信装置可为用来与其它电子装置无线通信的一种电子装置。无线通信装置的实例包含蜂窝电话、智能电话、个人数字助理(PDA)、电子读取器、游戏系统、音乐播放器、上网本、无线调制解调器、膝上型计算机、平板计算机装置等。

无线通信装置可以包括一或多个图像传感器、一或多个图像信号处理器、包括用于执行上文所论述的闪光冲突检测、补偿和预防过程的指令或模块的存储器。装置也可具有数据、从存储器加载指令和/或数据的处理器、一或多个通信接口、一或多个输入装置、一或多个输出装置(例如,显示装置)和电源/接口。无线通信装置可另外包括发射器及接收器。发射器和接收器可共同称作收发器。收发器可耦合到一或多个天线以供发射和/或接收无线信号。

无线通信装置可以无线地连接到另一电子装置(例如,执行闪光业务控制协议的装置)。无线通信装置可替代地被称作移动装置、移动台、订户台、用户设备(UE)、远端台、接入终端、移动终端、终端、用户终端、订户单元等。无线通信装置的实例包括膝上型计算机或台式计算机、蜂窝电话、智能电话、无线调制解调器、电子阅读器、平板计算机装置、游戏系统等。无线通信装置可根据例如第三代合作伙伴计划(3GPP)等一或多个业界标准操作。因此,通用术语“无线通信装置”可包括根据业界标准的不同命名法来描述的无线通信装置(例如,接入终端、用户设备(UE)、远程终端等)。

可将本文中所描述的功能作为一或多个指令存储在处理器可读或计算机可读媒体上。术语“计算机可读媒体”是指可由计算机或处理器存取的任何可供使用的媒体。借助于实例而非限制,此类媒体可包括RAM、ROM、EEPROM、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。如本文中所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。应注意,计算机可读媒体可为有形且非暂时性的。术语“计算机程序产品”是指计算装置或处理器,其与可由计算装置或处理器执行、处理或计算的代码或指令(例如,“程序”)结合。如本文所使用,术语“代码”可指可由计算装置或处理器执行的软件、指令、代码或数据。

也可经由传输媒体来传输软件或指令。举例来说,如果软件是从网站、服务器或其它远程源使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)传输的,那么例如红外、无线电和微波等无线技术也包含在传输媒体的定义中。

本文所揭示的方法包括用于实现所描述的方法的一或多个步骤或动作。在不脱离权力要求书的范围的情况下,方法步骤和/或动作可以彼此互换。换句话说,除非正在描述的方法的适当操作需要步骤或动作的特定顺序,否则在不脱离权利要求书的范围的情况下可修改特定步骤和/或动作的顺序和/或使用。

应注意,如本文中所使用,术语“耦合(couple、coupling、coupled)”或词语耦合的其它变体可指示间接连接或者直接连接。举例来说,如果第一组件“耦合”到第二组件,那么第一组件可能间接连接到第二组件或者直接连接到第二组件。如本文所使用,术语“多个”表示两个或大于两个。举例来说,多个组件指示两个或大于两个组件。

术语“确定”涵盖多种多样的动作,且因此“确定”可包括计算、运算、处理、导出、调查、查找(例如,在表、数据库或另一数据结构中查找)、查实等等。并且,“确定”可以包含接收(例如,接收信息)、存取(例如,在存储器中存取数据)等。并且,“确定”可包括解析、选择、抉择、建立等等。

除非另有明确规定,否则短语“基于”并不意味着“仅基于”。换句话说,短语“基于”描述“仅基于”与“至少基于”两者。

在以上描述中,给出具体细节以提供对实例的透彻理解。然而,所属领域的一般技术人员将理解,可在没有这些具体细节的情况下实践所述实例。举例来说,可在框图中示出电气组件/装置,以免以不必要的细节混淆所述实例。在其它情况下,可详细示出此类组件、其它结构和技术以便进一步解释所述实例。

本文中包含数个标题,是为了参考和辅助定位各个部分。这些标题并不意图限制关于其描述的概念的范围。此类概念可贯穿整个说明书适用。

还应注意,可将所述实例描述成过程,这个过程被描绘成流程图、流图、有限状态图、结构图或方框图。虽然流程图可以将操作描述成顺序过程,但是许多操作可以并行或同时执行,并且所述过程可以重复。另外,可以重新布置操作的顺序。过程在其操作完成时终止。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于软件函数时,其终止对应于所述函数返回到调用函数或主函数。

提供对所揭示的实施方案的前述描述,是为了使得所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将易于明白对这些实施方案的各种修改,且本文中所定义的通用原理可在不脱离本发明的精神或范围的情况下应用于其它实施方案。因此,本发明并非意图限于本文中所示的实施方案,而是应被赋予与本文中所揭示的原理和新颖特征相一致的最广范围。

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