许多用户利用计算设备来执行任务。在示例中,用户可以利用移动设备将方向从当前位置映射到游乐场。在另一示例中,用户可以利用平板设备来阅读书籍。各种类型的输入可用于执行任务,诸如触摸姿势、鼠标输入、键盘输入、语言命令、运动控制等。对象检测组件可以例如被配置为视觉地检测用户的身体移动作为用于执行任务和/或命令的输入。
技术实现要素:
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。
除了其它方面,本文提供了用于注视跟踪的一个或多个系统和/或技术。注视跟踪组件可与用户跟踪组件和眼捕获照相机配置相关联。用户可以采取赞成动作来提供选入同意以允许注视跟踪组件执行对该用户和/或其它用户的注视跟踪。用户跟踪组件可以包括深度照相机、被动式传感器、主动式传感器、红外设备、飞行时间设备、照相机、或任何其它类型的跟踪设备。眼捕获照相机配置可以包括多个眼捕获照相机(例如,包含窄视场透镜的相对高分辨率的照相机)。在示例中,眼捕获照相机是根据固定视锥体(view frustum)配置来配置的,与否则可能会降低耐久性和/或由于(除了其他方面之外)移动部件和/或相关联的控件而增加眼捕获照相机配置的成本的云台(pan/tilt)或其它移动配置不同。在示例中,当没有主动用于注视跟踪时,注视跟踪组件使得眼捕获照相机保持处于掉电状态(例如,低功率状态或关闭状态)(例如,在用户能由眼捕获照相机检测到时眼捕获照相机可以加电,而当诸如由于用户移动离开了眼捕获照相机而导致用户不能被眼捕获照相机检测到时眼捕获照相机可以关闭),这可以降低功耗和/或带宽消耗。
在注视跟踪的示例中,注视跟踪组件可使用用户跟踪组件来获得针对用户的用户跟踪数据。注视跟踪组件可以评估用户跟踪数据以识别用户的空间位置。基于眼捕获照相机具有对应于所述空间位置的视锥体,可以从眼捕获照相机配置中选定该眼捕获照相机。眼捕获照相机可以被调用以获得用户的眼区域成像。在示例中,具有不对应于所述空间位置的视锥体的眼捕获照相机可以被掉电或者保持处于掉电状态。注视跟踪组件可以基于眼区域成像而生成用户的注视跟踪信息。可以基于注视跟踪信息来执行各种任务(例如,可以执行视频游戏命令,可以促进与用户接口的交互,可以打开文件,可以执行应用,可以播放歌曲,可以播放电影,和/或可以执行各种类型的其它计算命令)。在示例中,注视跟踪组件可以被配置为同时跟踪用户跟踪组件所检测到的多个用户的注视跟踪信息。
为了实现上述目的以及相关的目的,下面的说明书和附图阐述了一些示例性的方面和实现方式。这些指示可以采用一个或多个方面的各种方式中的仅几个方式。当结合附图考虑时,根据下面的具体实施方式本公开的其它方面、优点和新颖特征将变得显而易见。
附图说明
图1是示出示范性的注视跟踪方法的流程图。
图2A是示出用于注视跟踪的示范性的系统的组件框图,
图2B是示出用于注视跟踪的示范性的系统的组件框图,其中注视跟踪组件使用用户跟踪组件来获得第一用户的第一用户跟踪数据。
图2C是示出用于注视跟踪的示范性的系统的组件框图,其中注视跟踪组件使用一个或多个眼捕获照相机进行注视跟踪。
图2D是示出用于注视跟踪的示范性的系统的组件框图,其中注视跟踪组件使用一个或多个眼捕获照相机进行注视跟踪。
图2E是示出用于注视跟踪的示范性的系统的组件框图,其中注视跟踪组件选择性地使用一个或多个眼捕获照相机来进行多个用户的注视跟踪。
图2F是示出用于注视跟踪的示范性的系统的组件框图,其中注视跟踪组件选择性地使用一个或多个眼捕获照相机来进行多个用户的注视跟踪。
图3A是基于第一用户的注视跟踪信息来执行第一任务的示例的图示。
图3B是基于第一用户的注视跟踪信息来执行第二任务的示例的图示。
图4是示范性的计算机可读介质的图示,其中可包括被配置为具体实施本文阐述的一个或多个规定的处理器可执行指令。
图5示出了可以实现本文所阐述的一个或多个规定的示范性的计算环境。
具体实施方式
现在参考附图来描述要求保护的主题,其中相似的附图标记一般用于在通篇指代相似的元件。在下面的说明书中,为了说明的目的,阐述了大量具体的细节来提供对要求保护的主题的理解。然而,显然的是权利要求主题可以在没有这些具体细节的情况下实践。在其它实例中,以框图形式示出了结构和设备,从而利于描述要求保护的主题。
本文提供了用于注视跟踪的一个或多个技术和/或系统。用户跟踪组件可被用来获得一个或多个用户(例如,提供了对注视跟踪的选入同意的用户)的用户跟踪数据。当用户被识别为处于与眼捕获照相机的视锥体对应的空间位置时,则眼捕获照相机可被调用以获得该用户的眼区域成像。眼区域成像可用来生成注视跟踪信息,该注视跟踪信息可用来执行各种任务,诸如打开文件、执行应用、控制视频游戏,和/或与用户接口交互。当没有主动地跟踪用户时,可将眼捕获照相机保持处于掉电状态(例如,关闭),这可以降低功率和/或带宽消耗。在示例中,可对于多个用户同时生成和/或跟踪注视跟踪信息(例如,第一用户可利用眼睛命令来控制视频游戏的第一化身,而第二用户可以同时利用眼睛命令来控制视频游戏的第二化身)。
通过图1的示范性的方法100图示说明了注视跟踪的实施例。在102处,方法开始。用户跟踪组件可被配置为跟踪一个或多个用户的空间位置。在示例中,用户跟踪组件可以包括深度照相机、被动式传感器、主动式传感器、红外设备、飞行时间设备、照相机、和/或任何其它跟踪设备。眼捕获照相机配置可以包括多个眼捕获照相机,它们被配置为通过捕获描绘用户的眼睛的成像来获得注视跟踪信息。在示例中,眼捕获照相机可以具有比用户跟踪组件的像素分辨率大的像素分辨率(例如,相对较低分辨率的照相机可用来跟踪用户的空间位置,而相对较高分辨率的照相机可用来跟踪用户的眼睛,诸如能够经过用户的眼睛而捕获大约150个像素或更多像素的分辨率(例如,在x方向或水平方向上经过眼睛捕获160个像素))。在示例中,眼捕获照相机配置的眼捕获照相机可以根据固定视锥体配置来配置(例如,眼捕获照相机可以具有固定视场和/或可以具有缺少否则用于云台照相机的移动部件的固定式的非云台(non-pan non-tilt)配置),这可以减少否则由于云台或其它可动配置而导致的成本和/或可靠性问题。在眼捕获照相机的示例中,眼捕获照相机包括瞳孔照射结构(例如,围绕眼捕获照相机的明亮瞳孔环),其被配置为调用眼睛中的瞳孔响应,该瞳孔响应可由眼捕获照相机使用注视跟踪来检测到。在眼捕获照相机的另一示例中,LED暗瞳孔结构可以打开以产生闪耀角膜反射,闪耀角膜反射可以通过眼捕获照相机利用注视跟踪来检测到。在示例中,两个或更多个眼捕获照相机可以被配置为捕获重叠的视锥体内的成像,这可以减轻成像的失真或成像内的失真(例如,该失真可能在成像的边缘处更明显)。在至少两个眼捕获照相机被配置为捕获不同深度的成像的示例中,第一眼捕获照相机可以被配置为捕获具有第一深度的第一视锥体内的成像,而第二眼捕获照相机可以被配置为捕获在具有不同于第一深度的第二深度的第二视锥体内的成像。
眼捕获照相机可以被选择性地用来同时跟踪一个或多个用户的注视跟踪信息。在示例中,当未用于注视跟踪时,眼捕获照相机可以保持处于掉电状态(例如,当用户在眼捕获照相机的视锥体内时,眼捕获照相机可被加电以进行注视跟踪,而当用户离开视锥体时,眼捕获照相机可掉电),这样减少功率和/或带宽消耗。
在104处,用户跟踪组件可用来获得第一用户在第一时间T1的第一用户跟踪数据(例如,在用户跟踪组件所在的起居室内用户可能坐在沙发上)。在106处,可以评估第一用户跟踪数据来识别第一用户在第一时间T1的第一空间位置(例如,在起居室内的沙发的空间位置)。在108处,在眼捕获照相机配置内的第一眼捕获照相机可以基于第一眼捕获照相机具有对应于第一空间位置的第一视锥体而被选定(例如,第一眼捕获照相机可能朝向用户就坐的沙发定位,并且因此能够捕获第一用户眼睛的成像)。在110处,可以调用第一眼捕获照相机以获得第一用户在第一时间T1或者第一时间T1左右的第一眼区域成像(例如,经过第一用户的至少一只眼睛大约150个像素或更多)。在示例中,如果第一眼捕获照相机处于掉电状态,则第一眼捕获照相机可以加电并且被指示用于捕获可以描绘第一用户眼睛的成像。
在112处,可以基于第一眼区域成像来生成第一用户的第一注视跟踪信息(例如,对应于第一时间T1)(例如,第一眼区域成像可以包括指示第一用户的瞳孔/眼睛移动的多个图像)。可以基于第一注视跟踪信息来执行任务。例如,第一注视跟踪信息可以指示,用户向左看,这可以映射成可以被执行以执行任务的命令(例如,向左看注视输入可以映射成驾驶视频游戏的汽车左转向输入;向左看注视输入可以映射成音乐播放器应用的播放前一首歌曲输入;向左看注视输入可以映射成键入接口的空格输入;等等)。可以意识到,可以执行各种各样的任务(例如,基于从注视跟踪信息取得的模拟和/或数字命令来控制视频游戏),并且仅提供了若干示例。
在用户位于重叠的视锥体内的注视跟踪的示例中,第二眼捕获照相机可以基于第二眼捕获照相机具有对应于第一空间位置的第二视锥体而从眼捕获照相机配置中被选定(例如,用户可能正坐在沙发的对应于第一眼捕获照相机的第一视锥体和第二眼捕获照相机的第二视锥体之间的重叠的部分上)。可以调用第二眼捕获照相机以获得第一用户在第一时间T1或者第一时间T1左右的第二眼区域成像。第一眼区域成像和第二眼区域成像可以组合(例如,使用图像缝合功能;测量组合功能;和/或任何其它技术)来生成第一注视跟踪信息。
可以随着第一用户在起居室内四处走动,诸如在用户跟踪组件的可检测范围内,对第一用户执行注视跟踪。在示例中,用户跟踪组件可以获得指示第一用户在第二时间T2处于第二空间位置的第一用户跟踪数据(例如,第一用户可能已经从沙发走到起居室内的桌子)。第三眼捕获照相机可以基于该第三眼捕获照相机具有对应于第二空间位置的第三视锥体而从眼捕获照相机配置中被选定(例如,用户可能走入与图2A所示的第三照相机206相关联的第三视锥体220内)。如果第一眼捕获照相机的第一视锥体不对应于第二空间位置,则第一眼捕获照相机在第二时间T2或者第二时间T2左右转变成掉电状态。可以调用第三眼捕获照相机以获得第一用户在第二时间T2或第二时间T2左右的第三眼区域成像。基于第三眼区域成像,可以生成第一用户在第二时间T2或第二时间T2左右的第三注视跟踪信息。通过这种方式,眼捕获照相机可以被选择性地加电以用于获得第一用户的眼区域成像,并且当不使用时可以选择性掉电(例如,当第一用户不在眼捕获照相机的视锥体内时,眼捕获照相机可以掉电)。
在示例中,可以评估第一用户的空间位置数据来预测第一用户的可能的新空间位置。例如,先前的空间位置数据可能表明,第一用户在第一视锥体内,但是走向第二视锥体(例如,并且因此可推测在特定时间/持续时间内进入第二视锥体)。因此,基于空间位置数据,在第一用户被期望/预测进入第二视锥体之前(例如,略微),可以唤醒第二眼捕获照相机进入捕获就绪状态以用于获得眼区域成像。通过这种方式,可以减少与在多个眼捕获照相机之间获得注视跟踪信息相关联的滞后。
可以对于多个用户同时跟踪注视跟踪信息。在示例中,可以使用用户跟踪组件来获得第二用户在第一时间T1的第二用户跟踪数据。可以评估该第二用户跟踪数据来识别第二用户在第一时间T1的空间位置。可以基于眼捕获照相机具有对应于第二用户在第一时间T1的空间位置的视锥体而从眼捕获照相机配置中选定该眼捕获照相机。可以调用该眼捕获照相机来获得第二用户在第一时间T1或第一时间T1左右的眼区域成像。可以基于第二用户在第一时间T1的眼区域成像来生成第二用户的注视跟踪信息。通过这种方式,可以对多个用户同时执行注视跟踪,这可允许多个用户执行任务(例如,第一用户可以控制视频游戏的第一化身,而第二用户可以控制视频游戏的第二化身)。在114处,方法结束。
图2A-2F图示出用于注视跟踪的系统201的示例。图2A示出了注视跟踪组件214的示例200。注视跟踪组件214可以被配置为使用用户跟踪组件212来跟踪一个或多个用户的空间位置。注视跟踪组件214可以选择性地调用眼捕获照相机配置的眼捕获照相机来获得用户在各个时间的眼区域成像以实现注视跟踪的目的。在示例中,眼捕获照相机配置包括一个或多个眼捕获照相机,诸如被配置为从第一视锥体216获得成像的第一眼捕获照相机202、被配置为从第二视锥体218获得成像的第二眼捕获照相机204、被配置为从第三视锥体220获得成像的第三眼捕获照相机206、被配置为从第四视锥体222获得成像的第四眼捕获照相机208、被配置为从第五视锥体224获得成像的第五眼捕获照相机210和/或其它眼捕获照相机(例如,相对高分辨率的照相机,诸如约40MP或更大的照相机,包括具有约20度至约40度的水平视图(例如,约22度的水平视图)和约10度至约30度的垂直视图(例如,约17度的垂直视图)的窄视场透镜。在示例中,一个或多个视锥体会重叠,这可以减轻通过眼捕获照相机获得的成像的边缘周围的透镜失真。当不使用时(例如,当从用户跟踪组件212获得的用户跟踪数据表明用户不在眼捕获照相机的视锥体内时),眼捕获照相机可以转变成掉电状态,这可以减少功率和/或带宽消耗。
图2B示出了注视跟踪组件214使用用户跟踪组件212来获得第一用户232在第一时间T1的第一用户跟踪数据的示例230。注视跟踪组件214可以评估第一用户跟踪数据以识别第一用户232在第一时间T1的第一空间位置。因为第一空间位置对应于第一眼捕获照相机202的第一视锥体216,所以注视跟踪组件214可以打开234第一眼捕获照相机202并且可以调用第一眼捕获照相机202以获得第一用户232在第一时间T1或第一时间T1左右的第一眼区域成像(例如,第一眼捕获照相机202可能捕获包括经过第一用户232的至少一只眼睛的约150个像素或更多像素的成像)。基于第一眼区域成像,可以生成第一用户232在第一时间T1的第一注视跟踪信息。可以基于第一注视跟踪信息来执行一个或多个任务(例如,第一用户232可以眨左眼从而播放歌曲)。
图2C示出了注视跟踪组件214选择性地使用一个或多个眼捕获照相机用于注视跟踪的示例240。注视跟踪组件214可以判定,用户跟踪组件212获得了表明第一用户232在第二时间T2位于第二空间位置的第一用户跟踪数据。因为第二空间位置对应于第二眼捕获照相机204的第二视锥体218,所以注视跟踪组件214可以打开244第二眼捕获照相机204且可以调用第二眼捕获照相机204来获得第一用户232在第二时间T2或第二时间T2左右的第二眼区域成像。基于第二眼区域成像,可以生成第一用户232在第二时间T2的第一用户232的第一注视跟踪信息。可以基于第一注视跟踪信息来执行一个或多个任务(例如,第一用户232可以眨右眼从而停止播放歌曲)。因为第一用户232在第二时间T2的第二空间位置不对应于第一眼捕获照相机202的第一视锥体216,注视跟踪组件214可以使得第一眼捕获照相机202掉电242为掉电状态。
图2D示出了注视跟踪组件214选择性地使用一个或多个眼捕获照相机用于注视跟踪的示例250。注视跟踪组件214可以判定,用户跟踪组件212获得了表明第一用户232在第三时间T3位于第三空间位置的第一用户跟踪数据。因为第三空间位置对应于第二眼捕获照相机204的第二视锥体218和第三眼捕获照相机206的第三视锥体220(例如,第一用户232在第三时间T3的第三空间位置可以对应于第二视锥体218和第三视锥体220之间的重叠),所以注视跟踪组件214可以打开252第三眼捕获照相机206并且可以调用第三眼捕获照相机206来获得第一用户232在第三时间T3或第三时间T3左右的第三眼区域成像。在示例中,注视跟踪组件214可以将第二眼捕获照相机204获得的第二眼区域成像和第三眼捕获照相机206获得的第三眼区域成像组合(例如,缝合在一起)以生成用户在第三时间T3的注视跟踪信息。可以基于注视跟踪信息来执行一个或多个任务(例如,第一用户232可以向右看从而跳到下一首要播放的歌曲)。
图2E示出了注视跟踪组件214选择性地使用一个或多个眼捕获照相机来进行对多个用户的注视跟踪的示例260。在示例中,基于第一用户232在空间上位于第二视锥体218和第三视锥体220之间的重叠区域中,可以调用第二眼捕获照相机204和第三眼捕获照相机206以捕获第一用户232在第四时间T4的注视跟踪信息。注视跟踪组件214可以使用用户跟踪组件212来获得第二用户262在第四时间T4的第二用户跟踪数据。注视跟踪组件214可以评估第二用户跟踪数据以识别第二用户262在第四时间T4的空间位置。因为该空间位置对应于第五眼捕获照相机210的第五视锥体224,所以注视跟踪组件214可以打开262第五眼捕获照相机210并且可以调用第五眼捕获照相机210来获得第二用户262在第四时间T4或第四时间T4左右的眼区域成像。可以生成第二用户262在第四时间T4的注视跟踪信息。基于第一用户232在第四时间T4的注视跟踪信息,可以代表第一用户232来执行一个或多个任务,和/或基于第二用户262在第四时间T4的注视跟踪信息,可以代表第二用户262来执行一个或多个任务。
图2F示出了注视跟踪组件214选择性地使用一个或多个眼捕获照相机来进行对多个用户的注视跟踪的示例270。在示例中,用户跟踪组件212可以获得表明第一用户232在第五时间T5位于第四空间位置内的第一用户跟踪数据并且可以获得表明第二用户262在第五时间T5位于第五空间位置内的第二用户跟踪数据。因为第四空间位置和第五空间位置对应于第四眼捕获照相机208的第四视锥体222,所以注视跟踪组件214可以打开278第四眼捕获照相机208且可以调用第四眼捕获照相机208来获得第一用户232在第五时间T5或第五时间T5左右的眼区域成像以及第二用户262在第五时间T5或第五时间T5左右的眼区域成像。基于第二视锥体218、第三视锥体220和第五视锥体224不对应于第四空间位置和/或第五空间位置,注视跟踪组件可以将第二眼捕获照相机204掉电272,将第三眼捕获照相机206掉电274,以及将第五眼捕获照相机210掉电280。基于第四眼捕获照相机208捕获的第一用户232和第二用户262的眼区域成像,可以生成第一用户232在第五时间T5的注视跟踪信息以及第二用户262在第五时间T5的注视跟踪信息。基于第一用户232在第五时间T5的注视跟踪信息,可以代表第一用户232来执行一个或多个任务,和/或基于第二用户262在第五时间T5的注视跟踪信息,可以代表第二用户262来执行一个或多个任务。
图3A示出了基于第一用户在第一时间T1的注视跟踪信息302来执行第一任务(例如,视频游戏命令)的示例300。注视跟踪组件304可以基于一个或多个眼捕获照相机所获得的第一用户的眼区域成像来生成注视跟踪信息302。例如,基于用户跟踪组件表明第一用户在第一时间T1的第一空间位置在第一眼捕获照相机的第一视锥体内,注视跟踪组件304可以调用第一眼捕获照相机来获得第一用户在第一时间T1的第一眼区域成像(例如,第一用户可能向上看和向右看)。注视跟踪组件304可以确定向上看和向右看注视输入映射成冒险视频游戏308的向上和向右移动化身的视频游戏命令306。因此,化身310可以向上和向右移动312。
图3B示出了基于第一用户在第二时间T2的第二注视跟踪信息322来执行第二任务(例如,视频游戏命令)的示例320。注视跟踪组件304可以基于一个或多个眼捕获照相机获得的第一用户的第二眼区域成像来生成第二注视跟踪信息322。例如,基于用户跟踪组件表明第一用户在第二时间T2的第二空间位置在第二眼捕获照相机的第二视锥体内,注视跟踪组件304可以调用第二眼捕获照相机以获得第一用户在第二时间T2的第二眼区域成像(例如,第一用户可能向下看)。注视跟踪组件304可以确定,向下看注视输入映射成冒险视频游戏308的向下移动化身的视频游戏命令324。因此,化身310可以向下移动326。
另外的实施例涉及到包括被配置为实现本文提供的一种或多种技术的处理器可执行指令的计算机可读介质。在图4中示出了计算机可读介质或计算机可读设备的示例的实施例,其中实现方式400包括其中编码有计算机可读数据406的计算机可读介质408,诸如CD-R、DVD-R、闪速驱动器、硬盘驱动底板等。该计算机可读数据406,诸如包括零或一中的至少一个的二进制数据,进而包括被配置为根据本文阐述的一个或多个原理而操纵的一组计算机指令404。在一些实施例中,处理器可执行计算机指令404被配置为执行方法402,诸如例如图1的示范性的方法100中的至少一些。在一些实施例中,处理器可执行指令404被配置为实现系统,诸如例如图2A-2F的示范性的系统201中的至少一些。许多这样的被配置为依照本文提供的技术而操纵的计算机可读介质由本领域普通技术人员构思出。
虽然用特定于结构特征和/或方法行为的语言描述了主题,应当理解的是在随附的权利要求中限定的主题不一定限于上述的特定特征或行为。相反,上述的特定的特征和行为被公开作为实现权利要求中的至少一些的示例的形式。
如该申请中使用的,术语“组件”、“模块”、“系统”、“接口”和/或类似术语通常旨在指代计算机相关实体,或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以为但不限于在处理器上运行的进程、处理器、对象、可执行程序、执行线程、程序和/或计算机。通过示例的方式,运行于控制器上的应用和控制器都可以是组件。一个或多个组件可以驻留于进程和/或执行线程内,并且组件可以位于一台计算机上和/或分布于两台或更多台计算机之间。
此外,要求保护的主题可以实现为利用标准编程和/或工程技术来产生软件、固件、硬件或其任意组合从而控制计算机实现公开的主题的方法、装置或制品。本文所使用的术语“制品”旨在涵盖能够从任意计算机可读设备、载波或介质访问的计算机程序。当然,可以对该配置做出许多修改,而不偏离权利要求主题的范围或精神。
图5以及后面的论述提供了实现本文阐述的一个或多个规定的实施例的适合的计算环境的简要的大体的描述。图5的操作环境仅是适合的操作环境的一个示例,而不意在暗示对操作环境的使用或功能的范围的任何限制。示例的计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子设备、微型计算机、主机型计算机、包括任意上述系统或设备的分布式计算环境,等等。
虽然不做要求,在一个或多个计算设备执行“计算机可读指令”的总的背景下描述了实施例。计算机可读指令可以经由计算机可读介质(下文论述)来分配。计算机可读指令可以实现为执行特定的任务或者实现特定的抽象数据类型的程序模块,诸如函数、对象、应用编程接口(API)、数据结构等。典型地,计算机可读指令的功能可以根据需要在各环境中进行组合或分布。
图5示出了系统500的示例,该系统包括被配置为实现本文提供的一个或多个实施例的计算设备512。在一个配置中,计算设备512包括至少一个处理单元516以及存储器518。根据计算设备的确切的配置和类型,存储器518可以是易失性的(诸如例如RAM)、非易失性的(诸如例如ROM、闪速存储器等)或者两者的某组合。该配置通过虚线514图示在图5中。
在其它实施例中,设备512可以包括额外的特征和/或功能。例如,设备512还可以包括额外的存储设备(例如,可移除的和/或非可移除的),包括但不限于磁存储设备、光存储设备和类似物。该额外的存储设备在图5中由存储设备520示出。在一个实施例中,实现本文提供的一个或多个实施例的计算机可读指令可以在存储设备520中。存储设备520还可以存储实现操作系统、应用程序和类似物的其它计算机可读指令。计算机可读指令可以装载到存储器518中,以便由例如处理单元516来执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其它数据的信息的任何方法或技术实现的易失性的和非易失性的、可移除的和非可移除的介质。存储器518和存储设备520是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储设备、磁盒、磁带、磁盘存储或其它磁存储设备、或能够用于存储所需的信息且能够由设备512访问的任何其它介质。然而,计算机存储介质不包括传播信号。相反,计算机存储介质排除了传播信号。任何这样的计算机存储介质可以是设备512的部分。
设备512还可以包括允许设备512与其它设备通信的通信连接526。通信连接526可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接或将计算设备512与其它计算设备连接的其它接口。通信连接526可包括有线连接或无线连接。通信连接526可以发送和/或接收通信介质。
术语“计算机可读介质”可包括通信介质。通信介质典型地具体实施诸如载波或其它传输机制的“调制数据信号”中的计算机可读指令或其它数据并且包括任何信息递送介质。术语“调制数据信号”可以包括使其特性中的一个或多个以将信息编码在信号中的方式来设定或改变的信号。
设备512可以包括输入设备524,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其它输入设备。在设备512中还可以包括输出设备522,诸如一个或多个显示器、扬声器、打印机和/或任何其它输出设备。输入设备524和输出设备522可以经由有线连接、无线连接或其任意组合而连接到设备512。在一个实施例中,来自另一计算设备的输入设备或输出设备可以用作计算设备512的输入设备524或输出设备522。
计算设备512的组件可以通过诸如总线的各种互连来连接。这些互连可以包括外围组件互连(PCI)、诸如PCI Express、通用串行总线(USB)、火线(IEEE 1394)、光总线结构等。在另一实施例中,计算设备512的组件可通过网络来互连。例如,存储器518可由位于网络互连的不同的物理位置中的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可分布在网络中。例如,能够经由网络528访问的计算设备530可以存储实现本文提供的一个或多个实施例的计算机可读指令。计算设备512可以访问计算设备530且下载计算机可读指令的部分或全部用于执行。可替代地,计算设备512可以根据需要来下载多条计算机可读指令,或者一些指令可以在计算设备512处执行,一些在计算设备530处执行。
本文提供了实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以构成存储在一个或多个计算机可读介质上的计算机可读指令,如果由计算设备执行,则计算机可读指令将使得计算设备执行所描述的操作。描述操作中的一些或全部的顺序不应解释为暗指这些操作必然是顺序相关的。本领域技术人员在获益于本说明书后将理解到可替代的排序。此外,将理解的是,不是全部操作都必然存在于本文提供的每个实施例中。而且,将理解的是,不是全部操作都是一些实施例中所必需的。
此外,除非特别指出,否则“第一”、“第二”和/或类似术语不意在暗示时间方面、空间方面、排序等。相反,这些术语仅用作特征、元件项等的标识符、名称等。例如,第一对象和第二对象大体对应于对象A和对象B或者两个不同的或两个等同的对象或相同的对象。
而且,“示范性的”在本文用来意指充当示例、实例、图示等,而不一定是有益的。如本文所使用,“或者”意在表示包含性的“或者”,而不是排他性的“或者”。另外,在本申请中使用的“一(a)”和“一个(an)”通常解释为意指“一个或多个”,除非特别规定或者根据上下文明显是指单数形式。而且,A和B中的至少一个和/或类似措辞通常意指A或B和/或A和B两者。此外,在“包含”、“具有”、“设有”、“带有”和/或其变体在具体实施方式或权利要求中使用的程度上,这些术语意在包含性的,方式类似于术语“包括”。
而且,虽然已经结合一个或多个实现方式显示和描述了本公开,基于对该说明书以及附图的阅读和理解,等同的改动和修改对于本领域其它技术人员而言将是显而易见的。本公开包括全部这样的修改和改动,并且仅受随附权利要求的范围限制。特别地关于上述组件(例如,元件、资源等)所执行的各功能,除非特别指出,否则用于描述这些组件的术语意在对应于执行所描述的组件的规定功能(例如,功能上等同的)的任何组件,即使结构上不等同于公开的结构。另外,虽然公开的特定特征已经参考多个实现方式中的仅一个进行了公开,但该特征可以与对于任何给定的或特定的应用而言所期望或有益的其它实现方式的一个或多个其它特征相组合。