用于差异图像比较的场景曝光自动补偿的制作方法

文档序号:11532807阅读:340来源:国知局
背景现代图像和视频捕捉系统可自动调整曝光设置以捕捉更好质量的图像。除了诸如对快门速度或光圈的调整之类的相机调整外,数字视频捕捉通常还包括在存储每一捕捉图像之前的数字曝光校正。数字曝光校正可包括诸如色彩平衡和伽马(gamma)校正之类的处理。在视频捕捉系统中,这些调整通常是动态的,即随着正被捕捉的场景改变或者随着场景上的照明改变而改变捕捉到的帧之间的调整。视频捕捉系统可能不总是随时间产生相同场景的一致表示。概述如本文中所描述的,一种装置可包括处理器;以及耦合到所述处理器的存储器,所述存储器包括可执行指令,所述可执行指令在被所述处理器执行时,使得所述处理器实现以下操作,包括:通过向参考图像应用掩模来生成经掩模的参考图像,所述经掩模的参考图像包括表示场景的一部分的多个像素;通过以下方式来生成用于补偿包含在所述经掩模的参考图像内的像素的特定像素值的补偿估计:聚集所述特定像素值和第二图像中与所述经掩模的参考图像中具有所述特定像素值的像素相对应的像素的值之间的差异,其中当所述参考图像中的像素和所述第二图像中的像素表示场景的同一部分时,所述参考图像中的像素对应于所述第二图像中的像素;以及,通过将所述估计加到处于所述参考图像的补偿部分中并且还具有等于所述特定像素值的像素值的像素的值中来生成所述参考图像的经补偿的图像部分。本文中描述的方法可包括:确定场景的第一表示的像素的特征的第一值和所述场景的第二表示的相应像素的特征的第二值之间的差异;针对所述第一值,基于所确定的差异和至少一个其他值确定聚集;以及,基于聚集值调整在所述第一表示或所述第二表示中的至少一者的调整部分中的像素的特征。本文中所描述的系统可包括:处理器;以及耦合到所述处理器的存储器,所述存储器包括可执行指令,所述可执行指令在被所述处理器执行时,使得所述处理器实现以下操作,包括:确定场景的第一表示的像素的特征的第一值和所述场景的第二表示的相应像素的特征的第二值之间的差异;针对所述第一值,基于所确定的差异和至少一个其他值确定聚集;以及,基于聚集值调整所述第一表示或所述第二表示中的至少一者的调整部分的特征。提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图简述图1和图2描绘可在其中执行曝光调整补偿的说明性计算环境。图3描绘可部分地被用于实现曝光调整补偿的说明性捕捉设备。图4是曝光调整补偿的说明性概览的流程图。图5是解说图4的创建补偿表步骤的流程图。图6是解说图4的应用补偿表步骤的流程图。图7解说可作为图1-3中示出的多媒体控制台103的计算系统的示例。图8解说可作为图1-3所示的多媒体控制台103的计算系统的另一示例。各附图中相同的附图标记指示相同的元素。除非另外指明否则各元素不是按比例绘制的。详细描述本公开提供一种系统和方法来补偿用于创建存储在计算机上的两个图像的曝光设置方面的未知差异。使用两个或更多个源视频帧的许多计算机图像处理算法、视频处理算法或计算机视觉算法将不会正确地工作,或者不会同样工作,如果输入该算法的所有帧不是用相同的曝光设置来捕捉的话。通过首先估计由曝光设置方面的调整导致的改变,并随后补偿这些调整,视频处理算法可高效地工作,而不管曝光设置的未知改变。曝光设置的调整可能是常见的问题。在诸如具有自然用户界面(nui)捕捉设备(诸如,kinect图像捕捉设备)的视频游戏系统之类的系统中,捕捉设备将运行长时间段,甚至运行几个小时,而不停止。优质数字图像的捕捉需要曝光调整以使对于所记录的每一像素存储在有限数目的比特中的信息最大化,并且还校正传感器的特性和显示器的特性中的差异。这些调整包括色彩平衡和伽马校正(在捕捉时间,伽马校正通常被称为伽马编码或压缩)。随着时间的推移,正被捕捉的场景将改变。例如,场景的照明将随着日落而慢慢变暗,从而导致慢慢变黑的场景。或者,小型明亮对象可朝向前景移动以占据图像的大部分,从而导致总平均亮度递增的场景。自动曝光系统将随着场景改变而改变曝光设置,尝试使捕捉到的图像的质量最大化。曝光设置改变可能不会随场景改变而连续改变,但仅一旦阈值被达到时,就导致针对例如随着日落连续而慢慢改变的场景的曝光设置方面不频发但突然的改变。在一些系统中,曝光补偿可被直接完成。在图像捕捉组件被很好地集成在视频处理组件中的情况下,实际曝光控制过程可能是视频处理组件已知的,并且每一视频帧的曝光控制设置可(例如作为与每一帧一起存储的元数据)被从捕捉组件传递到视频处理组件。在该情况下,比较或以其他方式处理两个图像所需的视频处理组件可使用准确的曝光控制设置并通过已知的曝光控制过程来补偿任何曝光调整。然而,在其他系统中,用于任何两个图像的曝光控制过程和/或曝光设置可能不是已知的。使用本公开的设计提供用于补偿同一场景的两个或更多个图像之间的未知曝光控制差异的方式。视频不是本文中公开的方法的限制示例应用。尽管本文中公开的方法与在两个不同的时间从单个相机处捕捉到的两个(或更多个)图像(例如,视频)一起工作,但本文中描述的方法可适用于同一场景的任何两个图像。例如,如果两个分开的相机在同一时间从相似的角度(并且可能用不同的曝光设置以及甚至不同的曝光控制过程)拍摄了场景的照片,则基于本公开的设计可有助于补偿曝光差异。这个的具体示例将是具有自动曝光系统的立体相机系统,这些自动曝光系统针对每一相机独立地操作。将理解,尽管术语帧有时暗示随时间拍摄的图像序列(视频)中的一个图片,但本公开中对帧的引用可类似地被解释为同一场景的任何两个图像,而不管这些图像是否来自同一相机或来自不同的时间。曝光调整补偿的第一部分将是估计由两个输入图像之间曝光设置方面的调整造成的改变。这可通过比较第一帧中的一个像素和第二帧中的另一像素的像素值来完成,其中两个像素表示实际场景的同一部分。两个像素可表示例如在两个图片中的场景中的地板上的地毯上的同一点。现在,例如,如果第一帧中的像素具有为10的红值,而与场景的同一部分相对应的第二帧中的像素具有为14的红值,并且两个像素表示地毯上的同一点(该点很可能没有改变色彩),则可假定已发生了曝光调整,该曝光调整导致实际场景中的同一红色色彩在第一帧中被存储为10而在第二帧中被存储为14。除了红色外,该比较(以及后续的调整)也可对由红-绿-蓝(rgb)色彩空间表示的像素中的一个像素的绿值或蓝值进行。这样的比较也可对其他像素表示进行,作为非限制性示例,包括诸如亮度、红色差色度、蓝色彩色度(ycrcb)之类的其他三元素色彩空间,诸如青色、洋红、黄色、黑色(cmyk)之类的四元素色彩空间,或者诸如灰度图像之类的单元素色彩空间。比较也可对非可见光的像素表示进行,诸如深度图(其中每一像素的值指示场景和传感器中的对象之间的距离的图像,在以下更详细描述)或红外(ir)图像。比较和调整可对任何数字像素表示进行,包括任何类型的光(可见或不可见)的表示。来自多个像素的估计可被组合以提供对曝光设置调整的更好估计。自然图像的数字表示一般总是包含噪声,并且多个估计的某种方式的平均或聚集可提供较少的噪声或者更可靠的估计。扩展其中一个像素红值在第一帧和第二帧之间从10增加到14的以上示例,可能在第一帧中存在同样具有为10的红值的另一像素,但其在第二帧中的对应像素具有为16的红值。此另一像素提供对为16-10=6而非14–10=4的曝光改变的影响的估计,这是来自第一示例像素的改变估计。这两个估计可通过对其求平均来组合,从而导致针对第一帧中为红值10的像素的平均曝光改变为(6+4)/2=5。这样的平均可被直截了当地扩展,并且可能通过对第一帧中以为10的红值开始的所有像素的曝光改变求平均来降低估计噪声。聚集估计的其他方法也是可行的,诸如加权平均、或仅聚集邻近像素的局部平均。估计也可跨不同的像素值被平滑。例如,具有值10的各像素的估计改变可与相邻像素值(诸如值5-9和值11-15)估计进行组合。存在跨各像素值组合估计的许多方式。例如,低通滤波器可被应用,或者在滑动窗口上跨各像素值求平均可被进行。替换地,如果捕捉系统所使用的曝光控制过程的模型已知,例如如果捕捉系统使用特定非线性伽马校正曲线,则该曲线的参数可被拟合到针对不同像素值的估计。当无法作出某些像素值的估计时,这样的跨各像素值的平滑技术可能尤其有价值。例如,如果第一帧中不存在具有为30的红值的像素,则估计过程可能无法产生为30的像素红值的任何估计。跨各像素值的平滑技术在创建了估计后就可解决该问题。掩模还可通过从估计过程中消除某些像素来提升估计曝光调整影响的质量。具体地,它可能有助于屏蔽掉打破估计过程的假设的像素。第一可能假设是实际对象尚未改变色彩或亮度,使得像素值的任何改变仅归因于曝光调整。如果对象改变色彩,例如电视屏幕,则该假设将被打破。另一假设涉及针对第一帧中的给定像素标识第二帧中的哪个像素表示实际场景的同一片(例如地毯上的同一点)的需要。如果两个源图像是使用安装在固定位置的同一相机拍摄的(如可以是其中用于实现自然用户界面的视频传感器附连到计算机或多媒体游戏设备的情况),则合理的假设是相应的第二像素将只是第二帧内与第一帧中的该像素在同一位置的像素。例如,第一帧的第三行、第二列中的像素对应于第二帧的第三行、第二列中的像素。如果像素表示的对象在这两个帧之间移动,则该假设将被打破。估计可通过标识打破估计过程的这些或其他假设的像素,并随后在估计过程中将那些像素屏蔽掉来改善。许多方法可被用来确定要排除或屏蔽哪些像素。例如,如果该系统包括标识人类并跟踪移动对象的自然用户界面,则可能正在改变或移动的对象可能已经被自然用户界面标识出。对应于那些改变或移动对象的像素可随后在估计过程期间被屏蔽。用于生成掩模的另一技术包括使用光流或其他计算机视觉技术来标识将那些像素屏蔽掉的图像中的运动。或者用于生成掩模的另一技术是仅针对像素值增量的最大阈值设置阈值,使得如果对应像素之间值方面的差异高于该阈值,则将那个像素屏蔽并且在确定聚集差异时不包括那个像素。移动对象可具有在各帧之间移动的掩模。由于来自两个帧的像素可被需要,因此针对两个帧的排除掩模可被考虑。假设这两个掩模被表示为二进制图像,其中1=在估计计算中排除像素,并且0=在估计计算中包括像素,则这样做的一种方式是将这两个掩模逻辑或在一起。结果是仅落在两个帧中的掩模之外的像素将被用作估计曝光调整影响的输入。其他设计可跟踪移动对象,并且该运动估计可被用于通过确定第一帧中的哪些像素对应于第二帧中的哪些像素来补偿该运动,而不是简单地屏蔽掉这样的对象。对于像素对应而言的重要的不是这些像素在图像的帧中的同一位置,而是这些像素表示场景中的对象的同一点。因此如果例如一球正移动经过场景,则例如由自然用户界面生成的运动信息可被用于在估计曝光调整影响时确定第一帧中的哪些像素对应于第二帧中的哪些像素,而不是屏蔽该球。在两个不同的相机产生两个源图像的情况下,或者在单个相机不是固定的而在移动,从而捕捉两个图像的情况下,对象位置的跟踪也可在设计中被使用。从简单的全球运动向量到复杂的变形和掩模的任何事物都可被用于在两个源帧之间配准对象。这样的运动向量或变形可被用于确定第一帧中的哪些像素与第二帧中的哪些像素配对(对应)。在估计被作出后,它可在最后进行期望的视频处理操作之前被应用于任一源图像。对曝光调整影响的估计可为每一可能的第一源帧值或色彩指示该色彩值在第二源帧中应当是什么。关于这样的输入色彩值到输出色彩值的映射的设计是查找表,有时被称为色彩查找表(clut)。关于影响估计的设计采用其中各条目指示从第一帧到第二帧的改变的查找表的形式。这样的查找表可被应用于第一帧。这导致可随后在任何后续处理操作中与原始的第二帧一起使用的经补偿的第一帧。替换地,其条目指示由第一帧像素值给出第二帧像素值的反转查找表可被应用于第二帧而非第一帧。在一些实现中,估计不需要被应用于整个图像(第一或第二),而仅需要被应用于图像的一部分。在一些情况下,估计被应用于的部分可仅仅是在创建估计时被屏蔽的部分。各实现不限于两个源帧。需要两个以上输入帧的图像或视频处理操作可需要针对所有输入帧的曝光调整补偿。在该情况下,实现可包括分开地估计单个参考帧和所有其他帧之间的曝光调整影响,并随后将这些分开的估计分开地应用于其他帧,从而将其全部补偿以对应回参考帧的曝光设置。多帧视频处理操作可随后被应用于整个图像群组(有时被称为图片群组或gop)。可跟随用于曝光调整的校正的图像或视频处理操作是相当多变的。许多计算机视觉和机器类型的操作需要一个以上的输入帧,并且可从曝光调整校正或补偿中获益。计算机视觉操作的示例类别包括视频跟踪、对象识别、运动估计和图像恢复。使用一个或多个相机来检测人类身体部位或小的物理姿势的具有自然用户界面的计算机是一些计算机视频或机器视觉操作的较具体的应用。具有诸如xboxkinect之类的光感测设备的自然用户界面系统可使用视频处理操作来仅用用户的脸的视频图像通过跟踪对应于人的心脏的跳动的皮肤色彩方面的轻微改变来测量人的心率。测量这样的色彩方面的小改变需要人脸的非常稳定的图像,而脸的归因于曝光校正的改变是有问题的。经由摄像机来测量人的心率是可通过用于补偿曝光调整的实现来改善的视频处理的具体示例。转至附图,图1示出可在其中实现本曝光调整补偿的说明性计算环境100。需要强调的是,环境100旨在是说明性,包括其他类型的设备、应用和使用场景的其他环境也可能能够使用此处描述的原理。环境100包括诸如多媒体控制台103的计算平台,该多媒体控制台通常被配置成用于使用本地和/或联网的编程和内容来运行游戏和非游戏应用、播放预先录制的多媒体(诸如包括dvd(数字多功能盘)和cd(紧致盘)的光盘)、从网络流传输多媒体、参与社交媒体、使用诸如电视机等耦合的音频/视觉显示器108来浏览因特网和其他联网媒体和内容等等。多媒体控制台103在此例中被操作地耦合至捕捉设备113,捕捉设备113可使用被配置为在视觉上监视站着地毯118上的用户119所占据的物理空间116(在图1中大致由虚线指示)的一个或多个摄像机来实现。如以下更详细地描述的,捕捉设备113被配置成捕捉、跟踪以及分析用户119的移动和/或姿势,使得这些移动和/或姿势能被用作可被用来影响例如多媒体控制台103上运行的应用或操作系统的控制。用户119的手121或其他身体部位的各种运动可对应于常见的系统范围任务,诸如从主用户界面中选择游戏或其他应用。捕捉设备113还被配置成捕捉场景中包括物理空间116而非用户119的任何对象(诸如地毯和地毯118上的点110)。例如如图1所示,用户119可在可选对象122(包括显示在耦合显示器108上的各种图标1251-n)之间导航、浏览分层菜单中的项目、打开文件、关闭文件、保存文件等等。此外,用户119可使用移动和/或姿势来结束、暂停或保存游戏、选择级别、查看高分、与朋友交流等。事实上,操作系统和/或应用的任何可控方面都可以由用户119的移动来控制。用户119的全范围运动可以用任何合适的方式来获得、使用并分析以与在环境100中执行的应用或操作系统进行交互。捕捉设备113也可被用来捕捉、跟踪以及分析用户119的移动以在游戏应用在多媒体控制台103上执行时控制玩游戏过程。例如,如图2所示,游戏应用(诸如拳击游戏)使用显示器108来提供用户119的拳击对手的视觉表示以及用户119可用他或她的移动来控制的玩家化身的视觉表示。用户119可在物理空间116中作出移动(例如,挥拳)以使得玩家化身在游戏空间中作出相应的移动。可在物理空间116中识别并分析用户119的移动,使得执行用于对游戏空间中玩家化身的游戏控制的相应移动。多媒体控制台103所支持的游戏应用提供其中本曝光调整补偿可被有利地利用的示例性上下文。例如,在上述拳击游戏中,游戏设计者可能希望添加其中用户的心率连同其他因素(诸如每轮挥拳和击中的次数)一起得到监测的游戏特征作为对用户的表现、技能或健康水平的指示。将进一步理解,心率跟踪在包括游戏和非游戏上下文的其他上下文中可能是有用的。如上所述,心率跟踪可通过曝光调整补偿来改善。附加地,用于跟踪和检测拳击游戏输入的用户119的自然用户界面功能中许多功能可通过曝光调整补偿来改善。图3示出捕捉设备113的说明性功能组件,捕捉设备113的功能性组件可作为目标识别、分析和跟踪系统300的一部分用于在物理空间116(图1)的捕捉区域识别人类和非人类目标而无需使用附加到这些主体的专门感测设备,唯一地标识人类和非人类目标,以及在三维空间跟踪人类和非人类目标。系统300可向自然用户界面系统提供输入或提供自然用户界面系统的一部分。捕捉设备113可被配置成经由任何合适的技术(包括例如飞行时间、结构化光、立体图像等)来捕捉具有深度信息的视频,包括可包括深度值的深度图像。在一些实施例中,捕捉设备113可将所计算的深度信息组织为“z层”,即可垂直于从深度相机沿其视线延伸的z轴的层。如图3所示,捕捉设备113包括图像相机组件303。图像相机组件303可被配置成用作可捕捉场景的深度图像的深度相机。深度图像可包括所捕捉的场景的二维(2d)像素区域,其中2d像素区域中的每个像素都可以表示深度值,诸如所捕捉的场景中的对象与相机相距的距离,例如以厘米、毫米等为单位。在此例中,图像相机组件303包括ir光组件306、ir相机311和可见光rgb相机314。可利用各种技术来捕捉深度视频帧。例如,在飞行时间分析中,捕捉设备113的ir光组件306可以将红外光发射到捕捉区域上,然后可用例如ir相机311和/或rgb相机314来检测从捕捉区域中的一个或多个目标和对象的表面反向散射的光。在某些实现中,可以使用脉冲式红外光从而可以测量出射光脉冲和相应的入射光脉冲之间的时间并将其用于确定从捕捉设备113到捕捉区域中的目标或对象上的特定位置的物理距离。此外,可将出射光波的相位与入射光波的相位进行比较来确定相移。然后可以使用该相移来确定从捕捉设备到目标或对象上的特定位置的物理距离。可使用飞行时间分析,通过经由包括例如快门式光脉冲成像的各种技术来分析反射光束随时间的强度以间接地确定从捕捉设备113到目标或物体上的特定位置的物理距离。在其他实施例中,捕捉设备113可使用结构化光来捕捉深度信息。在这样的分析中,图案化光(即,被显示为诸如网格图案或条纹图案等已知图案的光)可经由例如ir光组件306被投射到捕捉区域上。在撞击到捕捉区域中的一个或多个目标或对象的表面时,作为响应,图案可变形。图案的这种变形可由例如ir相机311和/或rgb相机314来捕捉,然后可被分析来确定从捕捉设备到目标或对象上的特定位置的物理距离。捕捉设备113可使用两个或更多物理上分开的相机,这些相机可从不同角度查看捕捉区域以获得视觉立体数据,该视觉立体数据可被解析以生成深度信息。使用单个或多个相机的其他类型的深度图像布置也可用来创建深度图像。捕捉设备113还可包括话筒318。话筒318可包括可接收声音并将其转换成电信号的换能器或传感器。话筒318可以被用来减少目标识别、分析及跟踪系统300中的捕捉设备113和多媒体控制台103之间的反馈。附加地,话筒318可用来接收也可由用户119提供的音频信号,以控制可由多媒体控制台103执行的诸如游戏应用、非游戏应用等应用。捕捉设备113还可包括可以通过总线328与图像相机组件303可操作地通信的处理器325。处理器325可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于储存简档的指令、用于接收深度图像的指令、用于确定合适的目标是否被包括在深度图像中的指令、用于将合适的目标转换成该目标的骨架表示或模型的指令,或任何其他合适的指令。捕捉设备113还可以包括存储器组件332,该存储器组件432可以存储可以由处理器325执行的指令、由相机捕捉到的图像或图像的帧、用户简档或任何其他合适的信息、图像等。根据一个示例,存储器组件332可包括随机存取存储器(ram)、只读存储器(rom)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图3所示,存储器组件332可以是与图像捕捉组件303和处理器325进行通信的分开的组件。替代地,存储器组件332可被集成到处理器325和/或图像捕捉组件303中。在一个实现中,捕捉设备113的组件303、306、311、314、318、325、328和332中的部分或全部位于单个外壳中。捕捉设备113通过通信链路335可操作地与多媒体控制台103进行通信。通信链路335可以是包括例如usb(通用串行总线)连接、火线连接(firewireconnection)、以太网电缆连接等的有线连接和/或诸如无线802.11连接之类的无线连接。多媒体控制台103可以经由通信链路335向捕捉设备113提供时钟,该时钟可以用来确定何时捕捉例如场景。捕捉设备113可经由通信链路335来向多媒体控制台103提供由例如ir相机311和/或rgb相机314捕捉的深度信息和图像,包括可由捕捉设备113生成的骨架模型和/或面部跟踪模型。多媒体控制台103然后可使用骨架和/或面部跟踪模型、深度信息和所捕捉的图像来例如创建虚拟屏幕、适配用户界面、以及控制应用。运动跟踪引擎341使用骨架和/或面部跟踪模型以及深度信息来向在捕捉设备113所耦合至的多媒体控制台103上运行的一个或多个应用(在图3中由应用345代表性地指示)提供控制输出。姿势识别引擎351、深度图像处理引擎354、操作系统359和/或曝光调整补偿引擎362也可使用该信息。深度图像处理引擎354使用深度图像来跟踪诸如用户和其他对象等对象的运动。深度图像处理引擎354会将检测到的每个对象的标识以及每帧的对象的位置报告给操作系统359。操作系统359可使用该信息来更新例如化身或显示器108上示出的其他图像的位置或移动,或者对用户界面执行动作。姿势识别引擎351可使用可包括姿势过滤器集合的姿势库(未示出),每个姿势过滤器都包含关于例如可由骨架模型(在用户移动时)执行的姿势的信息。姿势识别引擎351可将由捕捉设备113所捕捉的帧(其形式为骨架模型以及与其相关联的移动)与姿势库中的姿势过滤器进行比较来标识用户(其由骨架模型来表示)何时执行了一个或多个姿势。那些姿势可与应用的各种控制相关联。这样,多媒体控制台103可采用姿势库来解释骨架模型的移动并基于该移动来控制在多媒体控制台上运行的操作系统或应用。图4是曝光调整补偿的说明性概览的流程图。过程400是图3的曝光补偿引擎362的可能实现的说明性示例。过程400始于使用第一曝光设置集合捕捉第一图像415和使用第二曝光设置集合捕捉第二图像420。如果输入是视频,则第二帧将在第一帧之后的某个点处被捕捉,但这些帧不需要是连续的。在替换实现中,如上所述,两个输入帧不需要来自视频或来自同一相机或来自不同的捕捉时间,而改为可使用两个不同的相机在相同时间被捕捉。在425使用掩模和两个捕捉到的图像创建补偿表。图5中解说了这个的示例过程。图4的设计采用补偿表,该补偿表旨在补偿第一图像(或其部分)以创建第一图像的好像该第一图像是用第二图像的曝光设置来捕捉的版本。因此,在430,将补偿表应用于第一图像的一部分。所使用的部分是在步骤435执行视频处理操作所期望的部分。图6中解说了这个的示例过程。如上所述,替换实现包括作为该补偿表的反转,并将被用于创建第二图像的好像该第二图像已用第一图像的曝光设置来捕捉的版本。最后,在435使用第二图像和第一图像的经补偿的部分来执行视频处理操作。过程400在440处结束。图5是解说图4的创建补偿表步骤的流程图。过程500在510处开始,并且表[]阵列和计数[]阵列的所有元素的值被初始化到0。表[]阵列和计数[]阵列的尺寸是相同的,并且在该实现中,这些阵列尺寸等于输入图像的像素值的数目。例如,如果正考虑的像素值是由8比特数字来表示的,则阵列尺寸将为256。步骤525到550是第一帧中的所有像素上的循环。在步骤525,将循环变量i初始化为对应于第一帧中的第一像素。如上所述,掩模被用于消除第一帧中可能由用于估计补偿表的差基础造成的像素。掩模可包括移动图像,并且可包括这些图像中的将在图4的步骤435中对其应用视频处理操作的部分。掩模在步骤530通过测试循环变量i所指示的像素是否在该掩模中而发生。如果它在该掩模中,则循环在步骤535立即移动到下一i(下一像素)。如果i不在掩模中,则在步骤540和545中使用当前像素i来估计补偿表。在步骤540中,使针对第一帧的像素i的值的表[]条目增加第一帧和第二帧中的像素i的值之间的差异的量。该实现采用例如静态相机和在经掩模的区域之外的静态场景,使得第一帧中的第i个像素位置与第二帧中的第i个像素位置表示捕捉到场景的相同部分。在步骤545,增加对应于被修改的表[]条目的计数。在步骤550,如果i不是第一帧中的最后一个像素,则循环继续到步骤535。在循环通过第一帧中的所有像素后,在步骤555,所有表[]条目被加到每一条目的像素差异的数目标准化。最后结果应当是table[]阵列,其中每一条目是帧1中(在掩模之外)的每一像素的平均像素值差异。图6是解说图4的应用补偿表步骤的流程图。过程600在610处开始。整个过程是通过第一图像的感兴趣部分中的所有像素的循环(包括步骤615-630)。感兴趣部分是将对其应用图4中的步骤435的视频处理操作的帧1的部分。在步骤615,将循环变量i初始化到该部分中的第一像素。随后在步骤620,针对每一像素i,确定经补偿的部分图像是第一帧中的那个像素的值加上针对那个第一帧像素值的补偿表条目。补偿表(图6中的表[])是图5中创建的表。最后,如果i已到达感兴趣部分的结束处,则过程600在635处结束,否则i在步骤630被增加到该部分中的下一像素。图7解说了计算系统的一示例实施例,该计算系统可以是图1-3所示的用于实现曝光调整补偿并跟踪运动和/或动画化(或以其他方式更新)应用所显示的化身或其他屏幕上对象的多媒体控制台103。诸如以上参考图1-2所述的多媒体控制台103之类的计算系统可以是诸如游戏控制台之类的多媒体控制台。如图7所示,多媒体控制台700具有含有一级高速缓存702、二级高速缓存704和闪存rom(只读存储器)706的中央处理单元(cpu)701。一级高速缓存702和二级高速缓存704临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。cpu701可被提供为具有一个以上的核,并且由此具有附加的一级高速缓存702和二级高速缓存704。闪存rom706可存储在多媒体控制台700通电时引导过程的初始阶段期间加载的可执行代码。图形处理单元(gpu)708和视频编码器/视频编解码器(编码器/解码器)714形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从图形处理单元708向视频编码器/视频编解码器714运送数据。视频处理流水线向a/v(音频/视频)端口740输出数据,用于传输至电视或其他显示器。存储器控制器710连接到gpu708以方便处理器访问各种类型的存储器712,诸如但不局限于ram(随机存取存储器)。多媒体控制台700包括优选地在模块718上实现的i/o控制器720、系统管理控制器722、音频处理单元723、网络接口724、第一usb主控制器726、第二usb控制器728以及前面板i/o子部件330。usb控制器726和728用作外围控制器742(1)-742(2)、无线适配器748、以及外置存储器设备746(例如,闪存、外置cd/dvdrom驱动器、可移动介质等)的主机。网络接口724和/或无线适配器748提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。系统存储器743被提供来存储在引导过程期间被加载的应用数据。提供媒体驱动器744,且其可包括dvd/cd驱动器、蓝光驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器744可位于多媒体控制台700的内部或外部。应用数据可经由媒体驱动器744来访问,以供多媒体控制台700执行、回放等。媒体驱动器744经由诸如串行ata总线或其他高速连接(例如ieee1394)之类的总线被连接到i/o控制器720。系统管理控制器722提供与确保多媒体控制台700的可用性相关的各种服务功能。音频处理单元723和音频编解码器732形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元723与音频编解码器732之间传输。音频处理流水线将数据输出到a/v端口740,以供外置音频播放器或具有音频能力的设备再现。前面板i/o子部件730支持被展示在多媒体控制台700的外表面上的电源按钮750和弹出按钮752、以及任何led(发光二极管)或其他指示器的功能。系统供电模块736向多媒体控制台700的组件供电。风扇738冷却多媒体控制台700内的电路。多媒体控制台700内的cpu701、gpu708、存储器控制器710,以及各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例,这样的架构可包括外围部件互连(pci)总线、pci-express总线等。当多媒体控制台700通电时,应用数据可从系统存储器743加载到存储器712和/或高速缓存702、704中,并且可在cpu701上执行。应用可在导航到多媒体控制台700上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,媒体驱动器744中所包含的应用和/或其他媒体可从媒体驱动器744启动或播放,以将附加功能提供给多媒体控制台700。多媒体控制台700可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台700允许一个或多个用户与该系统交互、看电影,或听音乐。然而,在通过网络接口724或无线适配器748可用的宽带连接集成的情况下,多媒体控制台700可进一步作为更大网络社区中的参与者来操作。当多媒体控制台700通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16mb)、cpu和gpu周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源从应用的视角而言是不存在的。具体地,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动器。cpu保留量优选地为恒定,以使得若所保留的cpu用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。对于gpu保留,通过使用gpu中断来调度代码以将弹出窗口呈现为覆盖图,显示由系统应用生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起tv重新同步。在多媒体控制台700引导并且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在cpu701上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。输入设备(例如,控制器742(1)和742(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用和游戏应用之间被切换以使其各自将具有设备的焦点。应用管理器较佳地控制输入流的切换,而无需游戏应用的知识,而驱动程序维护有关焦点切换的状态信息。相机226、228和捕捉设备120可经由usb控制器726或其他接口来定义控制台700的附加输入设备。图8解说了计算系统820的另一示例,该计算系统820可以是图1-3所示的用于实现曝光调整补偿并跟踪运动和/或动画化(或以其他方式更新)应用所显示的化身或其他屏幕上对象的多媒体控制台103。计算系统820只是合适的计算系统的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算系统820解释为对示例性计算系统820中示出的任一组件或其组合有任何依赖性或要求。在一些实现中,所描绘的各种计算元素可包括被配置成实例化本发明的各具体方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实现中,术语电路可包括由软件指令配置的实施可用于执行功能的逻辑的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实现中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。附加地,此处描述的功能(如软件)可以至少部分由一个或多个硬件逻辑组件来执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)、等等。计算系统820包括计算机841,计算机441通常包括各种计算机可读介质。计算机可读介质可以是能由计算机841访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器822包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(rom)823和随机存取存储器(ram)460。包含诸如在启动期间帮助在计算机841内的元件之间传输信息的基本例程的基本输入/输出系统824(bios)通常存储在rom823中。ram460通常包含处理单元859可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图4示出了操作系统825、应用程序826、其他程序模块827和程序数据828。计算机841也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图8示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器838,从可移动、非易失性磁盘854中读取或向其写入的磁盘驱动器839,以及从诸如cdrom或其他光学介质等可移动、非易失性光盘853中读取或向其写入的光盘驱动器840。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态ram、固态rom等。硬盘驱动器838通常通过诸如接口834之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器839和光盘驱动器840通常通过诸如接口835之类的可移动存储器接口连接到系统总线821。以上讨论并在图8中示出的驱动器及其相关联的计算机存储介质为计算机841提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图8中,例如,硬盘驱动器838被示为存储操作系统858、应用程序857、其他程序模块856和程序数据855。注意,这些组件可与操作系统825、应用程序826、其他程序模块827和程序数据828相同,也可与它们不同。在此操作系统858、应用程序857、其他程序模块856以及程序数据855被给予了不同的编号,以至少说明它们是不同的副本。用户可以通过输入设备,如键盘851和定点设备852(通常被称为鼠标、跟踪球或触摸垫)向计算机841输入命令和信息。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口836连接到处理单元859,但也可通过诸如并行端口、游戏端口或通用串行总线(usb)之类的其他接口和总线结构来连接。相机226、228和捕捉设备120可经由用户输入接口836来定义计算系统820的附加输入设备。监视器842或其他类型的显示设备也经由诸如视频接口832之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器844和打印机843之类的其他外围输出设备,它们可通过输出外围接口833来连接。捕捉设备120可经由输出外围接口833、网络接口837或其他接口连接到计算系统820。注意,结合图7和8或在本公开中的别处讨论的存储器或存储可包括具有具体的、有形的、物理的结构的存储介质。如所公知的,信号不具有具体的、有形的、物理的结构。存储器以及本文所述的任何计算机可读存储介质不被解释为信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为瞬态信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为传播信号。存储器以及本文所述的任何计算机可读存储介质都不被解释为具有具体的、有形的、物理的结构的制品。计算机841可使用到一个或多个远程计算机(诸如,远程计算机846)的逻辑连接而在联网环境中操作。远程计算机846可以是个人计算机、服务器、路由器、网络pc、对等设备或其他常见网络节点,并且通常包括许多或所有以上相对计算机841所描述的元件,但在图4中仅示出了存储器存储设备847。所描绘的逻辑连接包括局域网(lan)845和广域网(wan)849,但也可以包括其它网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在lan联网环境中使用时,计算机841通过网络接口837连接到lan845。当在wan联网环境中使用时,计算机841通常包括调制解调器850或用于通过诸如因特网等wan849建立通信的其他手段。调制解调器850可以是内置的或外置的,可经由用户输入接口836或其他适当的机制连接到系统总线821。在联网环境中,相关于计算机841所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非局限,图4示出应用程序848驻留在存储器设备847上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。尽管用结构特征和/或动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述特定特征和动作是作为实现权利要求书的示例而公开的,并且其他等价特征和动作旨在处于权利要求书的范围内。示例装置可包括:处理器;以及耦合到所述处理器的存储器,所述存储器包括可执行指令,所述可执行指令在被所述处理器执行时,使得所述处理器实现以下操作,包括:通过向参考图像应用掩模来生成经掩模的参考图像,所述经掩模的参考图像包括多个像素;为包含在所述经掩模的参考图像中的像素值生成补偿估计,其中特定像素值的估计是针对所述经掩模的参考图像中具有特定像素值的像素,第二图像中的相应像素的像素值和该特定像素值之间的像素值差异的聚集,其中当参考图像中的像素和第二图像中的像素表示场景的同一部分时,参考图像中的像素对应第二图像中的像素;以及,通过将所述估计应用于参考图像的补偿部分来生成经补偿的图像部分,其中经补偿的图像部分中的每一像素是通过将参考图像中的相应像素的值加到该相应像素值的估计中来生成的。另一示例装置是以上装置,其中操作进一步包括通过将参考图像的二进制掩模与第二图像的二进制掩模进行逻辑或来生成掩模。另一示例装置是以上装置,其中操作进一步包括对经补偿的图像部分以及第二图像的对应于补偿部分的部分执行视频处理操作。另一示例装置是以上装置,其中操作进一步包括通过在掩模中包括以下中的至少一者来构造掩模:所述图像的正在移动的部分以及补偿部分。另一示例装置是以上装置,其中视频处理操作检测参考图像和第二图像中的人类对象的心率。另一示例装置是以上装置,其中像素值差异的聚集是通过对这些像素值差异求平均来确定的。另一示例装置是以上装置,其中像素值表示以下中的至少一者:红、绿、蓝、亮度、红色差异色度、蓝色差异色度、或红外、或光谱的其他部分。一种示例方法可包括确定场景的第一表示的像素的特征的第一值和所述场景的第二表示的相应像素的特征的第二值之间的差异;针对所述第一值,基于所确定的差异和至少一个其他值确定聚集;以及,基于聚集值调整在所述第一表示或所述第二表示中的至少一者的调整部分中的像素的特征。另一示例方法是以上方法,其进一步包括如果一像素被包含在掩模中,则从聚集中排除该像素。另一示例方法是以上方法,其进一步包括通过将所述第一表示的二进制掩模与所述第二表示的二进制掩模进行逻辑或来构造掩模。另一示例方法是以上方法,其进一步包括通过在掩模中包括以下中的至少一者来构造掩模:这些表示中正在移动的部分以及调整部分。另一示例方法是以上方法,其进一步包括对经调整的调整部分和另一表示的相应部分执行视频处理操作,其中视频处理操作检测所述第一表示和所述第二表示中的人类对象的心率。另一示例方法是以上方法,其进一步包括通过对确定的差异的集合求平均来确定所述聚集,其中该集合包括参考帧中具有该特征的相同第一值的像素,并且其中参考帧是所述第一表示或所述第二表示。一种示例系统可包括:处理器;以及耦合到所述处理器的存储器,所述存储器包括可执行指令,所述可执行指令在被所述处理器执行时,使得所述处理器实现以下操作,包括:确定场景的第一表示的像素的特征的第一值和所述场景的第二表示的相应像素的特征的第二值之间的差异;针对所述第一值,基于所确定的差异和至少一个其他值确定聚集;以及,基于聚集值调整所述第一表示或所述第二表示中的至少一者的调整部分的特征。另一示例系统是以上系统,其中操作进一步包括如果一像素被包含在掩模中,则从聚集中排除该像素。另一示例系统是以上系统,其中操作进一步包括通过将所述第一表示的二进制掩模与所述第二表示的二进制掩模进行逻辑或来构造掩模。另一示例系统是以上系统,其中操作进一步包括通过在掩模中包括以下中的至少一者来构造掩模:这些表示中正在移动的部分以及补偿部分。另一示例系统是以上系统,其中操作进一步包括对经补偿的表示部分和所述第二表示的对应于所述调整部分的部分执行视频处理操作,其中所述视频处理操作检测所述第一表示和所述第二表示中的人类对象的心率。另一示例系统是以上系统,其中操作进一步包括通过对确定的差异的集合求平均来确定所述聚集,其中该集合仅包括参考帧中具有该特征的相同第一值的像素,并且其中参考帧是所述第一表示或所述第二表示。另一示例系统是以上系统,其中像素的特征是以下中的至少一者的数字值:红、绿、蓝、亮度、红色差异色度、蓝色差异色度、或红外、或光谱的其他部分。一种示例装置包括:处理器;以及耦合到所述处理器的存储器,所述存储器包括可执行指令,所述可执行指令在被所述处理器执行时,使得所述处理器实现以下操作,包括:通过向参考图像应用掩模来生成经掩模的参考图像,所述经掩模的参考图像包括表示场景的一部分的多个像素;通过以下方式来生成用于补偿包含在所述经掩模的参考图像内的像素的特定像素值的补偿估计:聚集所述特定像素值和第二图像中与所述经掩模的参考图像中具有所述特定像素值的像素相对应的像素的值之间的差异,其中当所述参考图像中的像素和所述第二图像中的像素表示场景的同一部分时,所述参考图像中的像素对应于所述第二图像中的像素;以及,通过将所述估计加到处于所述参考图像的补偿部分中并且还具有等于所述特定像素值的像素值的像素的值中来生成所述参考图像的经补偿的图像部分。另一示例装置是以上装置,其包括通过将所述参考图像的二进制掩模与所述第二图像的二进制掩模逻辑或来生成掩模。另一示例装置是以上装置,其进一步包括确定所述参考图像和所述第二图像中表示的对象的心率。另一示例装置是以上装置,其中所确定的心率基于速搜参考图像的经补偿的图像部分以及所述第二图像的对应于所述补偿部分的部分。另一示例装置是以上装置,其中所述掩模包括以下中的至少一者:所述图像的正在移动的部分或所述补偿部分。另一示例装置是以上装置,其中所述差异是通过对所述差异求平均来聚集的。另一示例装置是以上装置,其中像素值表示以下中的至少一者:红、绿、蓝、亮度、红色差异色度、蓝色差异色度、或红外、或光谱的一部分。一种示例方法包括:确定场景的第一表示的像素的特征的第一值和所述场景的第二表示的相应像素的特征的第二值之间的差异;针对所述第一值,基于所确定的差异和至少一个其他值确定聚集;以及,基于聚集值调整在所述第一表示或所述第二表示中的至少一者的调整部分中的像素的特征。另一示例方法是进一步包括如果一像素被包含在掩模中,则从聚集中排除该像素的以上方法。另一示例方法是以上方法,其进一步包括检测所述第一表示和所述第二表示中的对象的心率。另一示例方法是以上方法,其进一步包括通过对确定的差异的集合求平均来确定所述聚集,其中该集合包括参考帧中具有该特征的同一第一值的像素,并且其中参考帧是所述第一表示或所述第二表示。另一示例方法是以上方法,其进一步包括通过将所述第一表示的二进制掩模与所述第二表示的二进制掩模进行逻辑或来构造掩模。另一示例方法是进一步包括通过在掩模中包括以下中的至少一者来构造掩模的以上方法:这些表示中正在移动的部分以及补偿部分。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1