显示器作为照片或视频的照明
背景
在过去,诸如计算机游戏和多媒体应用之类的计算应用使用控制器、遥控器、键盘、鼠标等来允许用户操纵应用的游戏角色或其他方面。近来,计算机游戏和多媒体应用已开始使用相机和软件姿势识别引擎来提供自然用户界面(“NUI”)。使用NUI,检测、解释原始关节数据和用户姿势并将其用于控制应用的游戏角色或其他方面。
一些游戏或其他NUI应用具有向用户提供摆姿势并给他们拍照的选项的软件例程。然而,可能发生的是,当要捕捉用户的图像时,在用户周围存在低环境光。在这样的场景中,所捕捉的图像可能过暗。
概述
在此公开了用于在与一个或多个显示器相关联的图像捕捉设备进行图像捕捉期间将所述一个或多个显示器用作闪光或照明源的系统和方法。在一个示例中,本系统可以使用NUI系统来实现,该NUI系统包括图像捕捉设备、一个或多个显示器以及用于控制图像捕捉设备和所述一个或多个显示器的计算设备。在这样的示例中,运行在计算设备上的NUI应用可以具有图像捕捉软件引擎,其用于捕捉和存储捕捉设备的视野内的用户的图像。根据本公开的系统,图像捕捉引擎可以在要捕捉图像时向显示器发送将每个像素设置为白色的指令。来自所有像素的所述白光组合地帮助在图像捕捉的时间照亮视野中的用户和/或其他对象。
在实施例中,图像捕捉引擎使显示器闪白光以捕捉单帧图像数据。然而,在另外的实施例中,图像捕捉引擎改变显示器的亮度和/或对比度以捕捉多帧视频图像数据。在这样的实施例中,显示器的像素可以全部显示白光。然而,在要随时间捕捉图像的情况下,可能有图像被显示在显示器上,该图像优选地在视频被捕获的同时不被中断。在这样的示例中,屏幕可以以某种方式被划分为使得一些像素显示白光,而其他像素显示图像。附加地或可替代地,显示图像的各像素的对比度可以被改变以增加来自那些像素的亮度以及视野中的光。
在实施例中,可以存在单个被用于照明所捕捉图像的显示器。在另外的实施例中,可以存在一个以上显示器。例如,可以存在一个或多个可用设备,每个都具有显示器,这些显示器与运行图像捕捉引擎的计算设备联网或配对。在这样的示例中,各个联网或配对设备的显示器中的每个都可以在图像捕捉时闪白光。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图说明
图1A示出了目标识别、分析和跟踪系统的示例实施例。
图1B示出了目标识别、分析和跟踪系统的另一示例性实施例,其中显示器的像素被设置为在图像捕捉期间产生白光。
图1C示出了目标识别、分析和跟踪系统的又一示例性实施例,其中多个显示器的像素被设置为在图像捕捉期间产生白光。
图2示出了可以在目标识别、分析和跟踪系统中使用的捕捉设备的示例实施例。
图3是根据本公开的图像捕捉引擎的示例性实施例的流程图。
图4是根据本公开的图像捕捉引擎的另一示例性实施例的流程图。
图5是根据本公开的图像捕捉引擎的另一示例性实施例的流程图。
图6是根据本公开的图像捕捉引擎的另一示例性实施例的流程图。
图7A示出了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的示例实施例。
图7B示出了可用于解释目标识别、分析和跟踪系统中的一个或多个姿势的计算环境的另一示例实施例。
详细描述
现在将参考附图1A-7B来描述本发明的技术的各实施例,这些实施例总体上涉及用于将一个或多个显示器用作照明源以亮射由图像捕捉设备所捕捉的视野(FOV)的系统。在后面予以说明的一个示例中,本系统可以通过NUI系统来实现,该NUI系统包括图像捕捉设备、一个或多个显示器以及用于控制图像捕捉设备和显示器的计算设备。然而,能够理解,本公开的系统可以与不采用NUI系统的各种平台一起使用。这样的系统一般而言可以包括诸如静止帧和/或视频相机之类的捕捉设备以及一个或多个显示器。
最初参考图1A-2,用于实现本发明的技术的硬件的一个示例包括目标识别、分析和跟踪系统10,该系统可用于识别、分析和/或跟踪诸如用户18等人类目标。目标识别、分析和跟踪系统10的实施例包括用于执行游戏或其他应用的计算设备12。计算设备12可包括硬件组件和/或软件组件,使得计算设备12可用于执行诸如游戏和非游戏应用之类的应用。在一个实施例中,计算设备12可以包括可执行存储在处理器可读存储设备上的用于执行在此描述的过程的指令的处理器,比如标准化处理器、专用处理器、微处理器等等。
系统10还包括捕捉设备20,捕捉设备20用于捕捉与捕捉设备所感测的一个或多个用户和/或对象有关的图像和音频数据。在各实施例中,捕捉设备20可用于捕捉与一个或多个用户的身体和手移动和/或姿势和话音相关的信息,该信息由计算环境接收并且用于呈现游戏或其他应用的各方面、与这些方面交互和/或控制这些方面。捕捉设备20还可以用于捕捉和存储用户18和/或FOV内的其他对象的静止帧或视频图像。下面更详细地解释计算设备12和捕捉设备20的示例。
目标识别、分析和跟踪系统10的各个实施例可连接到具有显示器14的音频/视觉(A/V)设备16。设备16可以例如是可向用户提供游戏或应用视觉和/或音频的电视机、监视器、高清电视机(HDTV)等。例如,计算设备12可包括诸如图形卡之类的视频适配器和/或诸如声卡之类的音频适配器,这些适配器可提供与游戏或其他应用相关联的音频/视觉信号。A/V设备16可从计算设备12接收音频/视觉信号,并且随后可向用户18输出与这些音频/视觉信号相关联的游戏或应用视觉和/或音频。根据一个实施例,音频/视觉设备16可经由例如S-视频电缆、同轴电缆、HDMI电缆、DVI电缆、VGA电缆、分量视频电缆等连接到计算设备12。
在实施例中,计算设备12、A/V设备16和捕捉设备20可协作以在显示器14上呈递化身或屏幕上角色。一个或多个用户的移动被跟踪并被用于动画化相应屏幕上化身的移动。在实施例中,化身模仿用户18在现实世界空间中的移动,使得用户18可执行对化身在显示器14上的移动和动作进行控制的移动和姿势。
系统10及其组件的合适的示例在以下共同待审的专利申请中找到,这些专利申请全部特此通过引用结合于此:于2009年5月29日提交的名称为“Environment And/Or Target Segmentation(环境和/或目标分割)”的美国专利申请S/N.12/475,094;于2009年7月29日提交的名称为“Auto Generating aVisual Representation(自动生成视觉表示)”的美国专利申请S/N.12/511,850;于2009年5月29日提交的名称为“Gesture Tool(姿势工具)”的美国专利申请S/N.12/474,655;于2009年10月21日提交的名称为“Pose Tracking Pipeline(姿态跟踪流水线)”的美国专利申请S/N.12/603,437;于2009年5月29日提交的名称为“Device for Identifying and Tracking Multiple Humans Over Time(用于随时间标识和跟踪多个人的设备)”的美国专利申请S/N.12/475,308;于2009年10月7日提交的名称为“Human Tracking System(人类跟踪系统)”的美国专利申请S/N.12/575,388;于2009年4月13日提交的名称为“GestureRecognizer System Architecture(姿势识别器系统架构)”的美国专利申请S/N.12/422,661;以及于2009年2月23日提交的名称为“Standard Gestures(标准姿势)”的美国专利申请S/N.12/391,150。
图2示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的一个示例实施例。在一个示例实施例中,捕捉设备20可被配置成经由任何合适的技术来捕捉具有可包括深度值的深度图像的图像数据,这些技术包括例如飞行时间、结构化光、立体图像等。根据一个实施例,捕捉设备20可以将所计算的深度信息组织成“Z层”,即可与从深度相机沿其视线延伸的Z轴相垂直的层。X和Y轴可被定义为与Z轴垂直。Y轴可以是垂直的,而X轴可以是水平的。X、Y和Z轴一起定义捕捉设备20所捕捉的3-D真实世界空间。
如图2所示,捕捉设备20可包括图像相机组件22。根据一个示例实施例,图像相机组件22可以是可捕捉场景的深度图像的深度相机。深度图像可以包括所捕捉场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素都可表示深度值,比如例如所捕捉场景中的对象距相机的以厘米、毫米等为单位的长度或距离。
如图2所示,根据一个示例实施例,图像相机组件22可包括可用于捕捉场景的深度图像的IR光组件24、三维(3-D)相机26,以及RGB相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件24可将红外光发射到场景上,并且随后可使用传感器(未示出)、用例如3-D相机26和/或RGB相机28来检测从场景中的一个或多个目标和物体的表面反向散射的光。
在一些实施例中,可以使用脉冲红外光,以使得可以测量出射光脉冲与相应入射光脉冲之间的时间,并且将其用于确定从捕捉设备20到场景中的目标或物体上的特定位置的物理距离。另外,在其他示例实施例中,可以将出射光波的相位与入射光波的相位相比较来确定相移。然后可以使用该相移来确定从捕捉设备20到场景中的目标或物体上的特定位置的物理距离。
根据另一示例性实施例,飞行时间分析可被用来通过经由包括例如快门式光脉冲成像在内的各种技术分析反射光束随时间的强度间接地确定从捕捉设备20到目标或物体上的特定位置的物理距离。
在另一示例实施例中,捕捉设备20可以使用结构化光来捕捉深度信息。在此类分析中,图案化光(即,被显示为诸如网格图案或条纹图案之类的已知图案的光)可经由例如IR光组件24投影到场景上。在落到场景中的一个或多个目标或物体的表面上以后,作为响应,图案可以变为变形的。图案的这样的变形可以被例如3-D相机26和/或RGB相机28捕捉,并且随后可被分析以确定从捕捉设备20到目标或物体上的特定位置的物理距离。
根据另一实施例,捕捉设备20可包括可以从不同的角度观察场景的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。在另一示例实施例中,捕捉设备20可以使用点云数据(point cloud data)和目标数字化技术来检测用户18的特征。其他传感器系统可被用在又一些实施例中,诸如举例而言能够检测x、y和z轴的超声系统。
捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的换能器或传感器。根据一个实施例,话筒30可用来减少在目标识别、分析和跟踪系统10中的捕捉设备20与计算设备12之间的反馈。附加地,话筒30可用来接收也可由用户提供的音频信号,以控制可由计算设备12执行的诸如游戏应用、非游戏应用等应用。
在一示例实施例中,捕捉设备20还可包括能与图像相机组件22通信的处理器32。处理器32可包括可执行指令的标准处理器、专用处理器、微处理器等,这些指令可包括用于接收深度图像的指令、用于确定合适的目标是否可包括在深度图像中的指令、用于将合适的目标转换成该目标的骨架表示或模型的指令、或任何其他合适的指令。
捕捉设备20还可包括存储器组件34,存储器组件34可存储可由处理器32执行的指令、3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一示例实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一个实施例中,存储器组件34可以是与图像相机组件22和处理器32通信的单独组件。根据另一个实施例,可将存储器组件34集成到处理器32和/或图像相机组件22中。
如图2所示,捕捉设备20可以通过通信链路36与计算设备12通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等无线连接。根据一个实施例,计算设备12可以通过通信链路36向捕捉设备20提供可用于确定例如何时捕捉场景的时钟。
另外,捕捉设备20可提供由例如3-D照相机26和/或RGB照相机28所捕捉的深度信息和图像。有了这些设备的帮助,可根据本发明的技术开发部分骨架模型,其中经由通信链路36将所得到的数据提供给计算设备12。
已知的是,各个游戏和其他应用可以包括用于由捕捉设备20拍摄FOV内的一个或多个用户18和/或对象的照片或视频的软件例程。该图像或视频然后可以存储和和/或向用户18回放。与作为较大软件应用中的例程不同,软件应用本身可以专用于由捕捉设备20拍摄FOV内的一个或多个用户18和/或对象的照片或视频。无论是较大应用中的例程、还是应用的专用功能,这样的应用都可以包括根据本公开的在此称为图像捕捉引擎190的软件引擎。下面参考图3的流程图和图1A和1B的图示来说明图像捕捉引擎190的操作的一个实施例。尽管对于本公开的系统不是关键的,但是计算设备12还可以包括用于识别姿势的姿势识别引擎192,这例如将在上面并入的一个或多个应用中予以说明。
现在参考图3的流程图,图像捕捉引擎190可以在步骤200拍摄FOV的照片、即捕捉图像数据帧。在拍摄照片以前,图像捕捉引擎190可以向用户18指示:即将拍摄照片,使得用户18可以为照片摆姿势。用户可以任选地如图1A所示那样被显示在显示器14上,使得用户可以看见他们将在要拍摄的照片上看上去如何。
在步骤202,图像捕捉设备20可以与A/V设备16时间同步。这使得A/V设备16的显示器14能够使所有像素在图像数据被捕捉的同一时刻闪白光。在实施例中,同步可以自动发生,例如由于捕捉设备20和A/V设备16流逝例如驻留在计算设备12中的共同的时钟。在另外的实施例中,捕捉设备20和A/V设备16可以流逝单独的时钟,该时钟可以通过已知同步模型彼此同步,使得图像捕捉和闪光在同一时刻发生。同步步骤202可以在拍摄照片以前的任何时间进行,这将在下面予以说明。
在步骤204,在照片被拍摄的时间,图像捕捉引擎190可以致使计算设备12将信号发送给A/V设备16以将显示器14上的每个像素的颜色填充改变为白光。作为一个示例,颜色红、蓝和绿可以在像素中启用以产生白光。例如如图1B中所示,将显示器中的每个像素设置成白光将以相机上的闪光类似的方式增加对FOV的照射。能够理解,像素不需要被设置为纯白,并且相反可以使用灰色的色调,该色调也增加显示器14的照射输出。
每个像素的颜色填充到白色的改变的时长可以比为了捕捉图象数据帧所花费的时间更短、时长相同、或更长。在该时长以后,计算设备12可以再次将每个像素的颜色填充改变回然后在计算设备12上运行的应用所引导的显示。
在实施例中,在步骤204,将显示器上的所有像素都改变成白光。然而,可以构想的是,在其他实施例中,像素的小于100%的某个百分比可以被改变成白光。在该实施例中改变成白色的像素可以来自除不改变的像素以外的单独显示区域。可替代地,在该实施例中改变的像素可以以任何所期望的图案被点缀上不改变的像素。
在摄影术中已知的是,在同步图像捕捉和最终闪光以前一次或多次照射闪光。其目的是缩小对象的眼睛的瞳孔,由此减少称为红眼的效应。在实施例中,显示器可以在步骤204以前一次或多次闪白光以减少红眼。可替代地可以省略该红眼减少步骤。
并发地在步骤204继续,图像捕捉设备20可以在步骤208捕捉由显示器16照射的FOV。所捕捉的图像也可以在步骤208被存储。在实施例中,图像不必被存储。在步骤210,图像捕捉引擎190可以向用户18呈现查看所捕捉图像的选项。用户18可以通过预定义的NUI姿势来响应。根据步骤210的响应,所捕捉的图像可以在步骤214在显示器16上向用户18显示。步骤210或步骤210和214二者可以在其他实施例中被省略。然后,用户18可以通过预定义的姿势与图像捕捉引擎190交互以存储或删除所捕捉的图像、将所捕捉的图像传送给用户的朋友或中央存储位置、和/或拍摄新照片。
附加于照亮单个图象数据帧的捕捉,本公开的系统还可以提供针对多个视频图象数据帧的照明。这样的实施例是参考图4的流程图来描述的。在步骤220,图像捕捉引擎190检测视频是否要被捕捉,并且在步骤222,图像捕捉设备与A/V设备同步,这二者都已经在上面予以了描述。
在步骤224,用所显示的图像在所捕捉图像的时长内优化显示器的亮度和/或对比度。具体而言,当如图3中所述那样捕捉单个图像数据帧时,显示器的像素可以针这个帧全部变为白光,并且然后将显示返回到之前所显示的图像。然而,在如图4中所述捕捉多个帧视频图像的情况下,显示器的像素可能需要在延长的时间段内变为白光,这可能干扰在显示器上显示图像。
一个解决方案是在步骤224中在图像捕捉的时长内让显示的像素保持用白光照射,并且然后将显示返回到显示其后的图像。另一解决方案是让像素的100%以下在步骤224变为白光,其中其余像素显示图像。另一解决方案是在显示器14上将图像保持原样(没有像素变为白色),而是增加所显示图像的对比度,由此增加显示器14产生的照射。
在步骤228,图像可以与步骤224并发地被捕捉并且如上所述任选地存储。在步骤230,可以向用户18呈现查看所捕捉图像的选项,并且在该选项在步骤230被选中的情况下可以在步骤234向用户呈现该图像。
在上述的实施例中,通过将显示器的像素设置为白色来增加来自显示器14的照射。在参考图5的流程图所述的另一实施例中,A/V设备16的与亮度和/或对比度相关的设定也可以被改变以增加每个像素发出白光的亮度。这例如可以用在计算设备12被并入A/V设备16时。在步骤240,图像捕捉引擎190检测图像是否要被捕捉,并且在步骤242,图像捕捉设备与A/V设备同步,这二者都已经在上面予以了描述。
在步骤244,当如上所述要捕捉图像时,将显示器14上的一些或全部像素设置成白色。另外,根据该实施例,当要捕捉图像时还在步骤248改变A/V设备显示设定中的一个或多个。这些所修改的设定可以包括A/V设备16的亮度或者黑色等级设定和/或对比度设定。具体而言,通过增加亮度和/或对比度设定,这可以进一步增加A/V设备16输出的照明。在该实施例的一些示例中,可以省略将像素设置成白色的步骤244。
在步骤252,图像可以与步骤244和248并发地被捕捉并且如上所述任选地存储。在图像被捕捉以后,在步骤248被改变的显示设定可以在步骤254被复位为其在先设定。在步骤258,可以向用户18呈现查看所捕捉图像的选项,并且在该选项在步骤258被选中的情况下可以在步骤260向用户呈现该图像。
在上述实施例中,存在例如通过将显示器14的像素转变为白色来增强FOV的照明的单个A/V设备16。在参照图6的流程图所述的另一实施例中,可以存在两个或更多显示设备。在步骤264,图像捕捉引擎190检测图像是否要被捕捉,并且在步骤266,图像捕捉设备与A/V设备同步,这二者都已经在上面予以了描述。
在步骤270,可以将多个显示器中的一些或全部像素设置为白色。在一个示例中,可以存在多个A/V设备16,每个都具有显示器14并且每个都由计算设备12来控制。在这样的实施例中,所有显示器14都可以让它们的像素在图像捕捉的时长内变为白色。可替代地,一个或多个显示器可以让它们的像素变为白色,而一个显示器继续根据运行在计算设备12上的应用来显示图像。在另外的实施例中,多个显示设备可以以其他方式共享图像的显示以及图像捕捉时的白色像素的显示。
已知的是,多个设备可以联网在一起,并且一个或多个设备可以彼此配对,以便在设备之间共享职责。为此目的对该设备的配对例如在2010年6月22日提交的名称为“System for Interaction of Paired Devices(用于配对设备的交互的系统)”的美国专利申请No.12/820,982中予以了描述,该申请的全部内容通过引用结合于此。在本公开的系统的另一示例中,具有显示器的一个或多个附加计算设备可以如上所述那样与系统10配对。这样的示例在图1C中示出,其中膝上型计算设备19与系统10配对。
在这样的示例中,配对设备19可以帮助A/V设备16照亮FOV和/或显示图像。在图1C所示的示例中,膝上型计算机19的显示器的像素也与显示器14中的像素同时变为白色以帮助照亮FOV。在另一示例中,膝上型计算机19显示器和显示器14之一可以变为白色,而另一个显示图像。在另外的实施例中,膝上型计算机19显示器和显示器14可以以其他方式共享图像的显示以及图像捕捉时的白色像素的显示。
在步骤274,图像可以与步骤270并发地被捕捉并且如上所述任选地存储。在步骤276,可以向用户18呈现查看所捕捉图像的选项,并且在该选项在步骤258被选中的情况下可以在步骤280向用户呈现该图像。
图7A示出了可以用于在目标识别、分析和跟踪系统中解释用户的一个或多个位置和运动的计算环境的示例实施例。上面参考图1A-2所描述的诸如计算设备12等计算环境可以是诸如游戏控制台等多媒体控制台600。如图7A所示,多媒体控制台600具有中央处理单元(CPU)601,所述CPU具有一级高速缓存602、二级高速缓存604,以及闪存ROM606。一级高速缓存602和二级高速缓存604临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。CPU601可被提供为具有一个以上的核,并且由此具有附加的一级高速缓存602和二级高速缓存604。闪存ROM606可存储在多媒体控制台600通电时引导过程的初始阶段期间加载的可执行代码。
图形处理单元(GPU)608和视频编码器/视频编解码器(编码器/解码器)614形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从GPU608向视频编码器/视频编解码器614运送数据。视频处理流水线向A/V(音频/视频)端口640输出数据,用于传输至电视机或其他显示器。存储器控制器610连接到GPU608,以便于处理器对各种类型的存储器612(诸如,但不限于RAM)的访问。
多媒体控制台600包括优选地在模块618上实现的I/O控制器620、系统管理控制器622、音频处理单元623、网络接口控制器624、第一USB主控制器626、第二USB主控制器628以及前面板I/O子部件630。USB控制器626和628用作外围控制器642(1)-642(2)、无线适配器648、以及外置存储器设备646(例如,闪存、外置CD/DVD ROM驱动器、可移动介质等)的主机。网络接口624和/或无线适配器648提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。
提供系统存储器643来存储在引导过程期间加载的应用数据。提供媒体驱动器644,且其可包括DVD/CD驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器644可以是对多媒体控制器600内置的或外置的。应用数据可经由媒体驱动器644访问,以供多媒体控制台600执行、回放等。媒体驱动器644经由诸如串行ATA总线或其他高速连接(例如IEEE1394)等总线连接到I/O控制器620。
系统管理控制器622提供与确保多媒体控制台600的可用性相关的各种服务功能。音频处理单元623和音频编解码器632形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元623与音频编解码器632之间传输。音频处理流水线将数据输出到A/V端口640,以供外置音频播放器或具有音频能力的设备再现。
前面板I/O子部件630支持暴露在多媒体控制台600的外表面上的电源按钮650和弹出按钮652、以及任何LED(发光二极管)或其他指示器的功能。系统供电模块636向多媒体控制台600的组件供电。风扇638冷却多媒体控制台600内的电路。
多媒体控制台601内的CPU600、GPU608、存储器控制器610、以及各种其他组件经由一条或多条总线互连,该总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线体系结构中的任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台600通电时,应用数据可从系统存储器643加载到存储器612和/或高速缓存602、604中,并且可在CPU601上执行。应用可在导航到多媒体控制台600上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,媒体驱动器644中所包含的应用和/或其他媒体可从媒体驱动器644启动或播放,以将附加功能提供给多媒体控制台600。
多媒体控制台600可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台600允许一个或多个用户与该系统交互、看电影、或听音乐。然而,在通过网络接口624或无线适配器648可用的宽带连接集成的情况下,多媒体控制台600还可作为更大网络社区中的参与者来操作。
当多媒体控制台600通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间保留的,所保留的资源从应用的视角而言是不存在的。
具体而言,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动程序。CPU保留量优选地为恒定,以使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留量,通过使用GPU中断来调度代码以将弹出窗口渲染为覆盖图,从而显示由系统应用生成的轻量消息(例如,弹出窗口)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在完整的用户界面被并发系统应用使用的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起TV重新同步。
在多媒体控制台600引导且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU601上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。
当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所描述的)在系统应用活动时控制游戏应用的音频级别(例如,静音、衰减)。
输入设备(例如,控制器642(1)和642(2))由游戏应用和系统应用共享。输入设备不是保留资源,而是在系统应用和游戏应用之间切换以使其各自将具有设备的焦点。应用管理器优选控制输入流的切换,而无需知道游戏应用的知识,并且驱动器维护关于焦点切换的状态信息。相机26、28和捕捉设备20可为控制台600定义附加输入设备。
图7B示出了计算环境720的另一示例实施例,它可以是用来解释目标识别、分析和跟踪系统中的一个或多个位置和运动的图1A-2中示出的计算设备12。计算系统环境720只是合适的计算环境的一个示例,并且不旨在对当前公开的主题的使用范围或功能提出任何限制。也不应当将计算环境720解释为对示例性操作环境720中所示的任一组件或其组合有任何依赖性或要求。在一些实施例中,各个所示的计算元素可包括被配置成实例化本公开的特定方面的电路。例如,本公开中使用的术语电路可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实施例中,术语电路可包括通过体现可操作以执行功能的逻辑的软件指令来配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地步,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之一并留给实现者。
在图7B中,计算环境720包括通常包括各种计算机可读介质的计算机741。计算机可读介质可以是能由计算机741访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器722包括诸如ROM723和RAM760之类的易失性和/或非易失性存储器形式的计算机存储介质。包含诸如在启动期间帮助在计算机741内的元件之间传输信息的基本例程的基本输入/输出系统724(BIOS)通常存储在ROM723中。RAM760通常包含处理单元759可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图7B示出了操作系统725、应用程序726、其他程序模块727,以及程序数据728。图7B还包括具有用于高速和高分辨率的图形处理和存储的相关联的视频存储器730的图形处理器单元(GPU)729。GPU729可通过图形接口731连接到系统总线721。
计算机741也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。只作为示例,图7B示出了读写不可移动非易失性磁性介质的硬盘驱动器738、读写可移动非易失性磁盘754的磁盘驱动器739、以及读写诸如CDROM或其他光学介质之类的可移动的非易失性光盘753的光盘驱动器740。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器738通常通过诸如接口734之类的不可移动存储器接口连接到系统总线721,并且磁盘驱动器739和光盘驱动器740通常通过诸如接口735之类的可移动存储器接口连接到系统总线721。
上面所讨论的并且在图7B中所示出的驱动器以及它们的相关联的计算机存储介质,为计算机741提供了计算机可读的指令、数据结构、程序模块及其他数据的存储。例如,在图7B中,硬盘驱动器738被示为存储了操作系统758、应用程序757,其他程序模块756,以及程序数据755。注意,这些组件可与操作系统725、应用程序726、其他程序模块727和程序数据728相同,也可与它们不同。在此操作系统758、应用程序757、其他程序模块756以及程序数据755被给予了不同的编号,以说明至少它们是不同的副本。用户可通过诸如键盘751和定点设备752(通常称为鼠标、跟踪球或触摸垫)之类的输入设备将命令和信息输入计算机741。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口736连接到处理单元759,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。相机26、28和捕捉设备20可为控制台700定义附加输入设备。监视器742或其他类型的显示设备也经由诸如视频接口732之类的接口连接至系统总线721。除了监视器以外,计算机还可包括诸如扬声器744和打印机743之类的其他外围输出设备,它们可通过输出外围接口733来连接。
计算机741可使用到一个或多个远程计算机(诸如,远程计算机746)的逻辑连接而在联网环境中操作。远程计算机746可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,通常包括上文参考计算机741所描述的许多或全部元件,但是图7B中只示出了存储器存储设备747。图7B中所描绘的逻辑连接包括局域网(LAN)745和广域网(WAN)749,但是也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机741通过网络接口或适配器737连接到LAN745。当在WAN联网环境中使用时,计算机741通常包括调制解调器750或用于通过诸如因特网等WAN749建立通信的其他手段。调制解调器750可以是内置的或外置的,可经由用户输入接口736或其他适当的机制连接到系统总线721。在联网环境中,相关于计算机741所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图7B示出了驻留在存储器设备747上的远程应用程序748。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。
本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。