用于人机界面的控制柄交互的制作方法

文档序号:6359582阅读:212来源:国知局
专利名称:用于人机界面的控制柄交互的制作方法
用于人机界面的控制柄交互背景在过去,诸如计算机游戏和多媒体应用之类的计算应用使用控制器、遥控器、键盘、鼠标等来允许用户操纵应用的游戏角色或其他方面。近来,计算机游戏和多媒体应用已开始使用相机和软件姿势识别引擎来提供人机界面(“HCI”)。使用HCI,检测、解释用户姿势并将其用于控制应用的游戏角色或其他方面。在HCI系统中,手的姿势通常被用来控制与游戏或其他应用的交互。现有姿势识别系统通常集中于基于位置的指向姿势或基于运动的象征姿势。对于指向姿势,用户指挥屏幕上的追随该用户的手的光标。这样的姿势识别系统具有各种缺陷,包括抖动和手移动与光标位置之间的等待时间(例如,延迟时间)以及有限的用户界面(UI)密度。对于基于运动的象征姿势,解释用户的移动,并且如果匹配预定义的姿势,则采取某相关联的动作。基于运动的系统具有若干缺陷,包括虚假肯定、姿势冲突、以及不能提供立即启示和反馈(必 须首先识别ー特定姿势)。

发明内容
本发明技术一般涉及ー种使用屏上图形控制柄来控制用户与屏上对象之间的交互的系统。在各实施例中,控制柄是与给定对象相关联地显示在显示画面上的n対象。控制柄定义用户可对对象执行什么动作,如滚动遍历文本或图形导航菜単。用户占用控制柄并执行姿势来操纵该控制柄,如在显示屏上向上、下、左、右来移动该控制柄。这ー操纵造成在对象上执行相关联的动作。提供启示(affordance)来引导用户通过与控制柄进行交互的过程。在一实施例中,本发明技术涉及耦合到用于捕捉用户位置并提供人机界面的捕捉设备的计算环境。这一系统执行一种便于用户与用于人机界面的显示画面的区域进行交互的方法,包括以下步骤(a)生成与用户界面的该区域相关联的控制柄;(b)检测用户占用了在所述步骤(a)生成的控制柄;(c)接收用户的姿势的指示;以及(d)响应于所述步骤(C)对用户界面的所述区域执行动作。又一实施例涉及耦合到用于捕捉用户位置并提供人机界面的捕捉设备的计算环境的处理器可读存储介质,该处理器可读存储介质将处理器编程成执行ー种便于用户与人机界面的显示画面的动作区域进行交互的方法。这ー实施例包括(a)在显示画面上显示与用户界面的该区域相关联的图形控制柄,该图形控制柄提供用于占用该动作区域的显式占用点并且该图形控制柄定义在接收到用户的预定义的姿势之后用户可如何与该动作区域进行交互;(b)作为检测到用户位置的结果,接收用户正追踪控制柄的指示;(C)在用户追踪到控制柄时,建立对该控制柄的占用;(d)接收用户的姿势的指示;以及(e)当在所述步骤(d)接收到的姿势指示与所述步骤(a)的预定义姿势相匹配时,对显示画面的动作区域执行由该图形控制柄所定义的动作。又一实施例涉及ー种人机界面,包括显示画面上的动作区域,所述动作区域能够进行以下操作中的至少ー个执行动作和使得对它执行动作;显示在显示画面上并与该动作区域相关联的控制柄,该控制柄提供对动作区域的显式占用点并定义用户可如何与该动作区域进行交互;以及显示在显示画面上的、与该控制柄相关联的、用于定义用户可如何操纵该控制柄的导轨(rai I)。附图简述图I示出了目标识别、分析和跟踪系统的示例实施例,其中用户正在与该系统进行交互。图2示出包括根据本发明技术的一实施例的控制柄的示例屏幕显示。图3示出了可在目标识别、分析和跟踪系统中使用的捕捉设备的一个示例实施例。图4A示出了可用于本发明技术的目标识别、分析和跟踪系统中的计算环境的示例实施例。 图4B示出了可用于本发明技术的目标识别、分析和跟踪系统中的计算环境的另一示例实施例。图5是本发明技术的一实施例的操作流程图。图6是控制柄吸引光标的操作流程图。图7是本发明系统识别一姿势的操作流程图。图8示出包括根据本发明技术的一实施例的控制柄和导轨的示例屏幕显示。图9示出包括根据本发明技术的又一实施例的控制柄和导轨的示例屏幕显示。详细描述现在将参考

图1-9来描述本发明技术的各实施例,其一般涉及使用屏上控制柄来控制用户与屏上对象之间的交互的姿势识别和交互系统。在各实施例中,控制柄是用于与人机界面交互、关于人机界面进行导航以及控制人机界面的UI对象。在各实施例中,控制柄提供与诸如n上的对象之类的动作区域的显式占用点,并提供关于用户可如何与该对象交互的启示。一旦用户占用(engage) 了控制柄,用户可例如通过移动该控制柄或执行与该控制柄相关联的一个或多个姿势来操纵该控制柄。最初参考图1-3,用于实现本发明技术的硬件包括目标识别、分析和跟踪系统10,该系统可用于识别、分析和/或跟踪诸如用户18等人类目标。目标识别、分析和跟踪系统10的各实施例包括用于执行游戏或其他应用的计算环境12,以及用于提供来自游戏或其他应用的音频和视觉表示的视听设备16。系统10还包括用于捕捉用户18的位置和所执行的移动的捕捉设备20,计算环境12接收、解释并使用这些位置和移动来控制游戏或其他应用。下面将更详细地解释这些组件中的每一个。如图I所示,在一示例实施例中,在计算环境12上执行的应用可向用户18呈现n19。该n可以是游戏应用或平台的一部分,且在各实施例中可以是用于访问游戏应用或平台的所选区域的导航菜单。计算环境12在n 19上生成一个或多个控制柄21,每个控制柄绑定到或以其他方式关联到n 19上的动作区域23。每个控制柄通常是显示在屏幕上的用于控制相对于其相关联的动作区域的操作的图形对象,如下文中更为详细地解释的。在各实施例中,控制柄21可在显示画面上成形为圆形或三维球体,但是本领域的技术人员将理解在另选的实施例中控制柄可以是各种其他形状中的任何一种。如下文解释的那样,控制柄21的存在和外观可改变,这取决于用户是否存在以及取决于用户是否正占用控制柄。在各实施例中,控制柄的形状在所有动作区域23中可以是相同的,但是在其他实施例中,构想了不同动作区域具有不同形状的控制柄。尽管图I示出了单个控制柄21,但是n 19可包括多个控制柄21,每个控制柄与不同的动作区域23相关联,如下文所解释的。如此处使用的,“动作区域”是n 19上的任何区域,它可具有与之相关联的控制柄,且能够在其控制柄被操纵时执行动作,或能够在其控制柄被操纵时使动作在其上执行。在各实施例中,动作区域23可以是被显示为导航菜单的一部分的文本或图形对象。然而,在各实施例中,动作区域23无需是导航菜单的一部分,且无需是特定的所显示的图形对象。动作区域23可另选地是n的某一区域,当通过其控制柄被访问时,该区域使得某ー动作在该区域处或者是总体上在n上被执行。在动作区域是显示画面上的特定图形对象时,与该图形对象相关联的控制柄21可被显示在该图形对象上或显示在该图形对象附近(在围绕该图形对象外围的任何位置处)。在又一实施例中,控制柄21可不被映射到特定対象。在该实施例中,动作区域23可 以是n 19上的包括多个图形对象的区域。当与该动作区域相关联的控制柄21被操纵时,可对该动作区域23中的所有对象执行动作。在又一实施例中,控制柄21可被集成到图形对象中。在这ー实施例中,没有与对象分开的控制柄21的视觉显示。相反,当对象被抓住或以其他方式被选择时,对象充当控制柄21,且执行与控制柄相关联的动作。这些动作将在以下更详细地描述。界面19还可包括经由用户移动来控制的光标25。具体来说,捕捉设备20捕捉用户指向的位置,如下所解释的,且计算环境解释该图像数据以在视听设备16上的所确定的点处显示光标25。光标可向用户提供关于该用户正明确地指向视听设备上的何处的闭环反馈。这方便了对视听设备16上的控制柄的选择,如下文所解释的。类似地,每个控制柄可具有类似于磁场的引力,用于在光标足够接近控制柄时将光标拉到控制柄。该特征也在下文中更详细地解释。光标25可总是可见的,仅在用户存在于视野中时可见,或仅在用户正在跟踪显示画面上的具体对象时可见。控制柄21的ー个目的是提供显式占用点,从该点用户能够与动作区域23交互。在操作中,用户会将光标25引导到控制柄21上,并执行姿势以附连到该控制柄。用户在其中移动的三維真实空间可被定义为參照系,其中z轴是从捕捉设备20笔直水平延伸出的轴,X轴是垂直于z轴的水平轴,y轴是垂直于z轴的垂直轴。给定该參照系,用户可通过在x-y平面中移动他或她的手以将光标定位在控制柄上,然后沿z轴向捕捉设备移动手,来附连到控制柄。在光标被定位在控制柄上的情况下,计算环境12将用户的手的向内(inward)移动(即沿z轴,渐渐靠近屏幕上控制柄21)解释为用户试图附连到控制柄,且计算环境执行该动作。在各实施例中,屏幕上x-y移动是在弯曲的坐标空间中完成的。也就是说,用户的移动仍旧主要在X方向和y方向上,但考虑到人类手臂遵循的弯曲路径,计入了 z方向上的某一定量的扭曲。存在具有变化的占用方法的不同类型的控制柄。第一种控制柄可以是单手控制柄。这些类型的控制柄可由用户的右手或左手来占用,但非两手都能占用。第二种类型的控制柄可以是双手控制柄。这些类型的控制柄能够由用户的右手或左手占用。可为右手和左手版本创建双手控制柄的单独的实例,并定位到动作区域的左侧或右側,以便定位该控制柄来供用户在3D空间中进行更自然的占用。第三种类型的控制柄是两手成对控制柄。这些控制柄要求用户的两只手来完成交互。这些交互利用视觉启示以及在各实施例中利用听觉启示,来告知用户如何完成更复杂的交互,如下所解释的。图I包括单手控制柄21的示例。图2是包括控制柄的附加示例的显示画面的图示。图2中朝向n 19顶部的控制柄21是与动作区域23相关联的单手控制柄21,在该示例中该动作区域是文本导航菜单。朝向n 19的底部的两个控制柄21是与动作区域23相关联的双手控制柄的示例。在图2的示例中,动作区域23是一个或多个图形导航对象(也称为“槽”),示出通过用户选择某一槽下面的两个角处的两个控制柄21可对其执行某一动作的具体软件标题。不同的控制柄21也可能够在被用户占用时进行不同的移动。例如,某些控制柄被约束到在单个方向移动(例如沿屏幕的X轴或y轴)。提供其他控制柄用于沿X轴和y轴的二轴移动。还有控制柄被提供用于绕x_y平面的多向移动。又有一些控制柄可专门地或作为多向运动的一部分沿z轴移动。每个控制柄可包括用于清楚地指示用户可如何操纵该控 制柄的启示。例如,当用户接近控制柄21时,这里被称为“导轨”的图形指示可出现在显示 画面上控制柄附近。该导轨示出控制柄21可移动以在相关联的动作区域23上完成某一动作的方向。在下文中更详细地解释了导轨,但图I示出了导轨27,导轨27指示出可沿X轴(图I中向左)移动控制柄21。如所指示的,导轨仅在用户接近控制柄21或占用控制柄21时出现。否则,它们在屏幕上是不可见的,以便不使显示画面零乱。然而,在另选的实施例中,与控制柄相关联的任何导轨可在其控制柄可见时总是可见的。在又一实施例中,光标25也可提供关于可能的控制柄操纵的反馈和提示。也就是说,除了控制柄本身之外,光标的位置可使得导轨被显露,或提供操纵反馈。图3示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的一个示例实施例。涉及与本发明技术一起使用的捕捉设备的附加细节在题为“Device ForIdentifying And Tracking Multiple Humans Over Time (用于随时间标识和跟踪多个人的设备)”的共同待审的专利申请号12/475,308中阐述,该申请通过引用而整体结合于此。然而,在一示例实施例中,捕捉设备20可以被配置成通过任何合适的技术,包括例如,飞行时间法、结构化光、立体图像等等,来捕捉具有可包括深度值的深度图像的视频。根据一个实施例,捕捉设备20可以将所计算的深度信息组织成“Z层”,即与从深度相机沿其视线延伸的Z轴相垂直的层。如图3所示,捕捉设备20可包括图像相机组件22。根据一个示例实施例,图像相机组件22可以是可捕捉场景的深度图像的深度相机。深度图像可包括被捕捉的场景的二维(2-D)像素区域,其中2-D像素区域中的每一个像素都可以(例如以厘米、毫米等等为单位)表示来自相机的被捕捉的场景中的物体的长度。如图3所示,根据一个示例实施例,图像相机组件22可包括可用于捕捉场景的深度图像的IR光组件24、三维(3-D)相机26,以及RGB相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件24可将红外光发射到场景上,并且随后可使用传感器(未示出)、用例如3-D相机26和/或RGB相机28来检测从场景中的一个或多个目标和物体的表面反向散射的光。根据另一实施例,捕捉设备20可包括可以从不同的角度观察场景的两个或更多个在物理上分开的相机,以获取可以被解析以生成深度信息的视觉立体数据。捕捉设备20还可包括话筒30。话筒30可包括可接收声音并将其转换成电信号的变换器或传感器。根据ー个实施例,话筒30可用于减少目标识别、分析和跟踪系统10中的捕捉设备20与计算环境12之间的反馈。另外,话筒30可用于接收也可由用户提供的音频信号,以控制可由计算环境12执行的诸如游戏应用、非游戏应用等之类的应用。在一示例实施例中,捕捉设备20还可包括能与图像相机组件22通信的处理器32。处理器32可包括标准化处理器、专用处理器、微处理器等,它们可执行用于接收深度图像、判断合适的目标是否可被包括在深度图像中、将合适的目标转换为目标的骨架表示或模型的指令,或任何其他适合的指令。捕捉设备20还可包括存储器组件34,存储器组件34可存储可由处理器32执行的指令、3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一示例实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图3所示,在一个实施例中,存储器组件34可 以是与图像相机组件22和处理器32通信的分开组件。根据另ー个实施例,可将存储器组件34集成到处理器32和/或图像相机组件22中。如图3所示,捕捉设备20可经由通信链路36与计算环境12通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接和/或诸如无线802. lib、802. llg、802. Ila或802. Iln连接等无线连接。根据ー个实施例,计算环境12可以经由通信链路36向捕捉设备20提供时钟,该时钟可用于确定何时捕捉例如场景。另外,捕捉设备20可以通过通信链路36向计算环境12提供深度信息和由例如3-D相机26和/或RGB相机28捕捉到的图像、以及可以由捕捉设备20生成的骨架模型。存在用于判断由捕捉设备20检测到的目标或对象是否与人类目标相对应的各种已知技木。骨架映射技术因而可用于确定该用户的骨架上的各个点,手、腕、肘、膝、鼻、踝、肩的关节,以及骨盆与脊椎相交之处。其他技术包括将图像变换成人的人体模型表示以及将图像变换成人的网格模型表示。骨架模型随后可被提供给计算环境12,使得计算环境可以跟踪该骨架模型,以标识例如用户指向哪里以及用户正执行什么运动。如同下面所解释的,用户可以通过与控制柄21进行交互并执行特定预定义姿势来与n 19进行交互。计算环境12还可包括用于识别这些来自用户18的预定义姿势的姿势识别引擎190。下文提供了姿势识别引擎190的进
ー步细节。图4A示出可用来解释用户与控制柄21的交互并用于识别ー个或多个姿势的计算环境的示例实施例。以上參考附图I和3所描述的诸如计算环境12等计算环境可以是多媒体控制台100,诸如游戏控制台。如图4A所示,多媒体控制台100具有中央处理单元(CPU)101,所述CPU具有ー级高速缓存102、ニ级高速缓存104,以及闪存ROM 106。ー级高速缓存102和ニ级高速缓存104临时存储数据,并且因此减少存储器访问周期的数量,由此改进处理速度和呑吐量。CPU 101可被提供为具有一个以上的核,并且由此具有附加的ー级高速缓存102和ニ级高速缓存104。闪存ROM 106可存储在多媒体控制台100通电时引导过程的初始阶段期间加载的可执行代码。图形处理单元(GPU) 108和视频编码器/视频编解码器(编码器/解码器)114形成用于高速和高分辨率图形处理的视频处理流水线。将数据经由总线从GPU 108传送到视频编码器/视频编解码器114。视频处理流水线向A/V (音频/视频)端口 140输出数据,以便传输到电视机或其他显示器。存储器控制器110连接到GPU 108,以便于处理器对各种类型的存储器112 (诸如,但不限于RAM)的访问。多媒体控制台100包括优选地在模块118上实现的I/O控制器120、系统管理控制器122、音频处理单元123、网络接口控制器124、第一 USB主控制器126、第二 USB主控制器128以及前面板I/O子部件130。USB控制器126和128用作外围控制器142 (I)-142 (2)、无线适配器148、以及外置存储器设备146 (例如,闪存、外置⑶/DVD ROM驱动器、可移动介质等)的主机。网络接口 124和/或无线适配器148提供对网络(例如,因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。提供系统存储器143来存储在引导过程期间加载的应用数据。提供媒体驱动器144,并且其可包括DVD/CD驱动器、硬盘驱动器,或其他可移动媒体驱动器等。媒体驱动器144可内置或外置于多媒体控制台100。应用数据可经由媒体驱动器144访问,以供多媒体 控制台100执行、回放等。媒体驱动器144经由诸如串行ATA总线或其他高速连接(例如IEEE 1394)等总线连接到I/O控制器120。系统管理控制器122提供与确保多媒体控制台100的可用性相关的各种服务功能。音频处理单元123和音频编解码器132形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元123与音频编解码器132之间传输。音频处理流水线将数据输出到A/V端口 140,以供外置音频播放器或具有音频能力的设备再现。前面板I/O子部件130支持暴露在多媒体控制台100的外表面上的电源按钮150和弹出按钮152、以及任何LED (发光二极管)或其他指示器的功能。系统供电模块136向多媒体控制台100的组件供电。风扇138冷却多媒体控制台100内的电路。多媒体控制台100内的CPU 101、GPU 108、存储器控制器110、以及各种其他组件经由一条或多条总线互连,该总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线体系结构中的任一种的处理器或局部总线。作为示例,这些架构可以包括外围部件互连(PCI)总线、PCI-Express总线等。当多媒体控制台100通电时,应用数据可从系统存储器143加载到存储器112和/或高速缓存102、104中,并且可在CPU 101上执行。应用可在导航到多媒体控制台100上可用的不同媒体类型时呈现提供一致的用户体验的图形用户界面。在操作中,媒体驱动器144中所包含的应用和/或其他媒体可从媒体驱动器144启动或播放,以将附加功能提供给多媒体控制台100。多媒体控制台100可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台100允许一个或多个用户与该系统交互、看电影、或听音乐。然而,在通过网络接口 124或无线适配器148可用的宽带连接集成的情况下,多媒体控制台100还可作为更大网络社区中的参与者来操作。当多媒体控制台100通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可以包括存储器保留量(例如,16MB)、CPU和GPU周期保留量(例如,5%)、网络带宽保留量(例如,8kbs)等。因为这些资源是在系统引导时保留的,所以所保留的资源从应用的角度而言是不存在的。具体而言,存储器保留量优选地足够大,以包含启动内核、并发系统应用程序和驱动程序。CPU保留量优选地为恒定,使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。对于GPU保留量,通过使用GPU中断来调度代码以将弹出窗ロ渲染为覆盖图,从而显示由系统应用程序生成的轻量消息(例如,弹出窗ロ)。覆盖图所需的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在完整的用户界面被并发系统应用使用的情况下,优选使用独立于应用分辨率的分辨率。定标器可用于设置该分辨率,从而无需改变频率和引起TV重新同歩。在多媒体控制台100引导且系统资源被保留之后,执行并发系统应用来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的ー组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间 并以预定时间间隔在CPU 101上运行,以便提供对应用而言一致的系统资源视图。调度是为了使在控制台上运行的游戏应用的高速缓存中断最小化。当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所描述的)在系统应用活动时控制游戏应用的音频级别(例如,静音、衰减)。输入设备(例如,控制器142(1)和142(2))由游戏应用和系统应用共享。输入设备不是保留资源,而是在系统应用和游戏应用之间切换以使其各自具有设备的焦点。应用管理器优选控制输入流的切換,而无需知道游戏应用的知识,并且驱动器维护关于焦点切换的状态信息。相机26、28和捕捉设备20可为控制台100定义附加输入设备。图4B示出可以是用来解释用户与控制柄21的交互并解释系统10中的一个或多个姿势的、图I和3中示出的计算环境12的计算环境220的另ー示例实施例。计算系统环境220只是合适的计算环境的ー个示例,并且不g在对当前公开的主题的使用范围或功能提出任何限制。也不应该将计算环境220解释为对示例性操作环境220中示出的任ー组件或其组合有任何依赖性或要求。在一些实施例中,各个所示的计算元素可包括被配置成实例化本公开的特定方面的电路。例如,本公开中使用的术语“电路”可包括被配置成通过固件或开关来执行功能的专用硬件组件。在其他示例实施例中,术语“电路”可包括通过体现可操作以执行功能的逻辑的软件指令来配置的通用处理单元、存储器等。在电路包括硬件和软件的组合的示例实施例中,实施者可以编写体现逻辑的源代码,且源代码可以被编译为可以由通用处理单元处理的机器可读代码。因为本领域技术人员可以明白现有技术已经进化到硬件、软件或硬件/软件组合之间几乎没有差别的地歩,因而选择硬件或是软件来实现具体功能是留给实现者的设计选择。更具体地,本领域技术人员可以明白软件进程可被变换成等价的硬件结构,而硬件结构本身可被变换成等价的软件进程。由此,对于硬件实现还是软件实现的选择是设计选择之ー并留给实现者。在图4B中,计算环境220包括通常包括各种计算机可读介质的计算机241。计算机可读介质可以是能被计算机241访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。系统存储器222包括诸如ROM 223和RAM 260之类的易失性和/或非易失性存储器形式的计算机存储介质。包含诸如在启动期间帮助在计算机241内的元件之间传输信息的基本例程的基本输入/输出系统224 (BIOS)通常储存储在ROM 223中。RAM 260通常包含处理单元259可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图4B示出了操作系统225、应用程序226、其他程序模块227,以及程序数据228。计算机241也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。只作为示例,图4B示出了读写不可移动非易失性磁性介质的硬盘驱动器238、读写可移动非易失性磁盘254的磁盘驱动器239、以及读写诸如CDROM或其他光学介质之类的可移动的非易失性光盘253的光盘驱动器240。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器238通常通过诸如接口 234之类的不可移动存储器接口连接到系统总线221,并且磁盘驱动器239和光盘驱动器240通常通过诸如接口235之类的可移动存储器接口连接到系统总线221。
上面所讨论的并且在图4B中所示出的驱动器以及它们的相关联的计算机存储介质,为计算机241提供了计算机可读的指令、数据结构、程序模块及其他数据的存储。例如,在图4B中,硬盘驱动器238被示为存储了操作系统258、应用程序257,其他程序模块256,以及程序数据255。注意,这些组件可与操作系统225、应用程序226、其他程序模块227和程序数据228相同,也可与它们不同。在此操作系统258、应用程序257、其他程序模块256以及程序数据255被给予了不同的编号,以说明至少它们是不同的副本。用户可通过诸如键盘251和定点设备252 (通常称为鼠标、跟踪球或触摸垫)之类的输入设备将命令和信息输入计算机241。其他输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口 236连接到处理单元259,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。相机26、28和捕捉设备20可为控制台100定义附加输入设备。监视器242或其他类型的显示设备也通过诸如视频接口 232之类的接口连接至系统总线221。除了监视器以外,计算机还可包括诸如扬声器244和打印机243之类的其他外围输出设备,它们可通过输出外围接口 233来连接。计算机241可使用到一个或多个远程计算机(诸如,远程计算机246)的逻辑连接而在联网环境中操作。远程计算机246可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,通常包括上文参考计算机241所描述的许多或全部元件,但是图4B中只示出了存储器存储设备247。图4B中所描绘的逻辑连接包括局域网(LAN)245和广域网(WAN) 249,但是也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连接到LAN245。当在WAN联网环境中使用时,计算机241通常包括调制解调器250或用于通过诸如因特网等WAN 249建立通信的其他手段。调制解调器250可以是内置的或外置的,可经由用户输入接口 236或其他适当的机制连接到系统总线221。在联网环境中,相对于计算机241所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图4B示出了驻留在存储器设备247上的远程应用程序248。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。以下将參考图5的流程图来描述本发明技术的ー实施例。以下步骤可由与计算环境12相关联的处理器101 (图4A)或299 (图4B)来执行。在步骤300,该系统跟踪进入捕捉设备20的视野的用户。如上所示,设备20能够跟踪视野中的用户并生成他们的移动的骨架模型。在步骤304,该系统检测用户占用该系统。在各实施例中,这样的占用可通过用户将ー只手或双手举到在本文中被称为物理交互区的区域中来检测。物理交互区是用户18的物理空间中的该用户最可能从中与UI 19进行交互的区域。然而,在各实施例中,该系统在确定用户是否占用系统10时可以分析各种因素。这些因素可共同造成一置信度水平,并且在该置信度水平高于某ー预定阈值时,该系统检测到占用。这些因素可包括用户的身体移动(移动全身对只移动手降低置信度);用户的身体定向(面对相机増加置信度);哪一只手在物理交互区中(手在用户面向相机的一侧增加置信度);以及用户最后脱离(disengage)的方式和时间(増加的时间降低置信度)。这ー置信度水平可随时间累积,并且在该置信度水平总和超过某一所设立的阈值时,该系统检测 到占用。在用户尝试占用但置信度尚未达到这ー阈值的简短时间中,可以提供实时反馈(例如,光标逐渐出现)以指示该系统正在识别该用户但尚未授予姿势控制。在建立了占用之后,在步骤306,该系统检测用户跟踪到目标UI对象。具体而目,该系统感测到用户正指向一目标n対象。在各实施例中,n对象可以是控制柄21。该系统可依赖于用户来实现正确的指向运动,以使光标25处于目标控制柄21上方中心。在其他实施例中,控制柄21实际上可具有引力。因而,基于包括光标25与控制柄21的邻近度的各因素,计算环境可以将光标拉到控制柄21,从而提供与用户需要有多精确地将光标25定位在控制柄21正上方有关的误差裕量。在一另选的实施例中,该引力可能不影响光标的位置。相反,如果光标满足了以下解释的ー个或多个准则,光标可改为呈现出它好像在控制柄上方悬停的属性。例如,控制柄和/或光标的外观可改变,并且可以向用户显示视觉启示和反馈,该启示和反馈向该用户示出他或她可如何与控制柄进行交互。图6示出其中在控制柄21周围模拟引力的实施例。在这样的实施例中,在步骤324,该系统检测用户跟踪到目标控制柄。在步骤326,该系统确定光标25是否满足了被拉到控制柄21并处于控制柄21上方中心的准则。如果光标满足步骤326的准则,则在步骤330中,它能处于目标对象上方的中心并轻轻保持在其上方(轻轻保持意味着需要比在光标未处于控制柄上方中心时移动光标所需的手移动更加显著的手移动才能移动光标)。此时,控制柄和/或光标的外观也可改变以指示控制柄的激活,并且可以向用户显示视觉启示和反馈。或者,如同下面解释的,光标的位置可保持不变,但控制柄可激活,并且可以提供视觉启示和反馈。在步骤326中应用的与光标25是否被控制柄21的引力所捕捉有关的准则可包括光标25与控制柄21的邻近度,以使得邻近度越近,它越可能被拉向控制柄。该准则可包括用户的指向手相对于他或她的身体的深度的改变,以便越来越靠近捕捉设备20的移动使得光标更可能被拉到控制柄。并且该准则可包括靠近控制柄所花费的时间,其中靠近控制柄所花费的时间越长,光标越可能被拉到控制柄。在其他实施例中,可以应用其他准则。在各实施例中,光标25在被拉到控制柄时维持它的形状。在其他实施例中,光标25可被拉到控制柄或可不被拉到控制柄,但光标可变化或改变形状以指示它占用了控制柄。返回图5,一旦用户跟踪到目标控制柄,在步骤308,该系统检测用户附连到目标控制柄。如上所示,在光标位于控制柄上方时,计算环境12随后可感测附连到该对象,其中用户将他或她的手沿z轴移动得更近。作为替换或补充,该用户可以执行附连运动(将手指从张开移动到握住位置),该姿势被解释为用户附连到光标处于其上方中心的对象。感测用户希望占用控制柄的其他方法包括在物理活动区内定义特定热点,其中用户知道将他或她的手放在该特定热点以附连到控制柄并且简单地在对象上方悬停预定时间段。感测用户希望占用控制柄的其他方法可在其他实施例中中提供。一旦用户附连到控制柄(或者另选地,在光标很近时),在步骤310,该系统可以显示该控制柄21的启示。控制柄21可包括各种各样的启示,一些启示在图I和图8到9中示出。在图I中,启示是导轨27,该导轨示出用户可抓住控制柄并将它向左侧滑动(从图I的视角看)。这通过用户一旦抓住控制柄21则将他或她的手向左侧移动来实现。一旦抓住了控制柄,则控制柄对于给定手移动所移动得长度可以是与对于在显示画面上移动其他对 象相同的比率、较不敏感(即,对于给定手移动,控制柄移动得更少)、或更敏感(即,对于给定手移动,控制柄移动得更多)。导轨27 —般是一旦用户附连或几乎附连到给定控制柄21则与该控制柄相关联地显示的图形对象,它示出用户可如何操纵该控制柄。导轨可具有箭头,以阐明可以对控制柄实现的运动。在各实施例中,导轨27可以是水平和/或垂直的,以示出相关联的控制柄可被水平地和/或垂直地操纵。在其他示例中,导轨27不必是水平或垂直的。例如,导轨可示出用户能在对角线上移动控制柄,或一般地在x_y平面内移动控制柄。导轨27还可示出可以在非直线方向上操纵控制柄,如圆形运动。图8示出了图2的屏幕图示,但是是在用户已经附连到屏幕上方附近的控制柄21之后的某一时间。如此,导轨27a和27b被显示给用户。导轨27a示出用户可向上或向下移动控制柄。与对控制柄21的这种操纵相关联的动作将会是在动作区域23中向上或向下滚动文本菜单。导轨27b示出用户可将控制柄向右移动(从图8的视角来看)。与对控制柄21的这一操纵相关联的动作将会是在动作区域23中滚动到菜单项的子标题处,控制柄然后将位于该处。一旦滚动到子标题,可出现新的水平导轨,以向用户示出他或她可将控制柄向左移动(从图8的视角来看)以返回到下一更高级别的菜单。图9示出了图2的屏幕图示,但是是在用户已经附连到屏幕底部附近的控制柄21a、21b之后的某一时间。如此,导轨27c和27d被显示给用户。控制柄21a、21b以及导轨27c、27d被一起显示在槽的角落处,示出用户能够用双手选择该槽(一只手在一个控制柄上)。图9还示出朝向n 19的任一侧的控制柄21c和21d。对控制柄21c的占用并将控制柄21c向左移动(从图9的视角来看)实现了将槽29向左滚动的动作。对控制柄21d的占用并将控制柄21d向右移动(从图9的视角来看)实现了将槽29向右滚动的动作。返回图5的流程图,在用户附连到控制柄并向用户示出了启示之后,用户可在步骤311操纵控制柄或在步骤314决定释放该对象。在步骤311,如果用户选择操纵对象,则在步骤312执行该操纵。在上文参考图8和9已经解释了对控制柄21的一些操纵和相关联的动作。然而,一般而言,对控制柄21的操纵可涉及沿X轴和/或y轴滑动控制柄、沿z轴拉控制柄、以圆形运动来转动控制柄、或使用该控制柄作为x-y平面中的操纵杆。下文解释了用于执行具体动作的具体控制柄。现在将參考图7更详细地解释对控制柄21的操纵。在步骤338,一旦用户附连到特定控制柄,则该系统可寻找用户的移动。在步骤338,如果检测到运动,则在步骤340,该系统寻找与用户所执行的运动相匹配的预定义姿势。如果找到该控制柄所允许的这样的预定义姿势,则在步骤346相对于相关联的动作区域23来执行该动作。使用控制柄的ー个优点是只有某些预定义姿势将适用于该控制柄。因而,如同下面解释的,尽管可能存在计算环境12已知的各种各样的姿势,取决于所选的特定控制柄21,计算环境12需要关注的预定义姿势的数量被缩减了。本领域技术人员将理解分析用户位置和移动以确定用户的位置和/或移动是否符合预定义的姿势的各种方法。这些方法例如在以上合并的申请第12/475,308号以及题为 “Gesture-Controlled Interfaces For Self-Service Machines And OtherApplications”(用于自助机器和其他应用的姿势控制的界面)的美国专利申请公开第2009/0074248号中有公开,该公开通过整体引用结合于此。然而,一般而言,用户位置和移动由捕捉设备20来检测。从该数据中,可以收集与每一身体部分的位置/移动有关的各种 參数并将其转发给计算环境12内的姿势识别引擎。姿势识别引擎190将该位置/移动參数与所存储的姿势的库进行比较,以确定是否存在高于阈值置信度水平的匹配。如果是,则说用户执行了相匹配的姿势并采取相关联的动作。除了显著減少姿势识别引擎需要查找的所存储的姿势的数量之外,使用控制柄来占用对象还显著地降低了与是否执行了给定姿势有关的虚假肯定和虚假否定的风险。具体而言,通过限制可针对给定控制柄21执行的可能姿势的集合,不检查可能被错误地标识的其他姿势。如上所示,控制柄21可被宽泛地分类成属于定义可如何占用控制柄的几组之一。即,控制柄可以是单手控制柄、双手控制柄、或两手成对控制柄。然而,控制柄21还可被分解成特定类型的动作,其中它们使得在它们相关联的动作区域23上执行这些动作或由它们相关联的动作区域23执行这些动作。即,特定一个或多个控制柄被基于动作区域可以执行的动作和可以在动作区域上执行的动作来分配给该特定动作区域。因而,例如,当动作区域旨在向上、向下、或向侧方滚动时,该动作区域将被分配了专门识别执行这些动作的姿势的控制柄,即当用户附连到该控制柄时用户的手上移、下移、或向侧方移动。下文是可处于针对给定控制柄识别的姿势集合中的ー些姿势。下文不g在作为可被应用于给定控制柄的所有可能姿势的穷尽性列表。最常见地,在动作区域23上执行动作或由动作区域23执行动作所需的姿势只是沿其导轨之一移动控制柄21。执行这一点的用户运动将仅仅是在用户附连到控制柄时沿导轨的方向移动他或她的手。然而,可以想到,可针对给定控制柄来识别不仅仅涉及沿其导轨滑动控制柄的其他姿势。下文描述了多个控制柄名称,这些名称描述了在动作项上执行的或由动作项执行的与该控制柄相关联的动作。 转动控制柄-用户占用转动控制柄,并且取决于它所适用的特定动作区域,能够在三个平面(x-y、y_z以及x-z)中的任一平面中执行圆形姿势。这ー控制柄可被用于槽或列表导航,并且通过将对象映射到圆上的点,可被调节以用于细粒度控制或加速控制。 滑块控制柄(单向和双向)-可以在ー个或两个方向上操纵的单维度控制柄,如相关联的导轨所示。向后控制柄(如图I所示)是单向滑块控制柄的示例,而列表滚动条滑块控制柄(例如图9中所示的)是双向滑块控制柄的示例。 虚拟操纵杆控制柄-可以模拟控制器D-垫状态并可被用于UI导航的多维和多向控制柄。用户可以在从ー个状态转移到下一状态之前穿过或不穿过中性中心点。 下拉菜单控制柄-在被占用时展现附加n的部分屏上控制柄。这例如可被用来带出要从中选择的各项的快速启动面板。 上下文菜单控制柄(也被称为标记菜单控制柄)-通过占用动作区域中的对象并在三个方向(上、左或右)之一上拉动它来带出的控制柄。用户可通过在向下方向上移动来脱离该控制柄,如同下面解释的。 按钮控制柄-附连到对象的简单控制柄,该控制柄只需要用户通过占用它来选中它,以使得执行ー动作。不必需要后续导轨或用户操纵来完成该交互。
拖放(自由形式)控制柄-其在屏上和3D空间中的位置能够通过占用和操纵控制柄视觉表示到新位置来改变的控制柄。 剥除(后退和槽)控制柄-可作为显示UI 19的对象或背景场景的一部分的集成控制柄。对该控制柄的直接交互和操纵可以展现先前场景或显示画面(在后退导航的情况下),或对象的附加数据(例如槽)。 两手拉开控制柄-需要使用两只手的选择机制。在用户占用控制柄之ー时,提供反馈以告知他使用另ー只手。一旦使用了两只手,则通过将两手拉开直至达到两导轨的末端来完成该姿势。 两手轻拍控制柄-同样需要使用两只手的控制柄,但通过将两只手彼此朝对方移动来执行该姿势。视觉导轨和槽的模拟移动通知用户他要多近才能完成该姿势。 摩擦控制柄-在它被占用后允许直接操纵项目列表的控制柄。这允许对较少数量的内容项的更细粒度的操纵。 变速控制柄-类似于虚拟操纵杆的多维、多向控制柄,但该变速控制柄g在支持多个平行的次级方向,每一次级方向垂直于主方向(如同字母“E”的形状)。 棘轮控制柄-类似于滑块的控制柄,但它允许沿ー轨迹重复运动而不脱离。给定以上公开内容,本领域技术人员将明白可被用来对动作区域对象或背景执行附加动作的附加控制柄。再次參考图5,在用户操纵控制柄来实现了给定动作之后(或者在步骤311,如果用户决定不操纵该对象),则在步骤314,用户可释放该控制柄。在各实施例中,在完成姿势之后,控制柄可被自动释放。或者,对于对象的释放可另选地由用户对系统的某一手动动作来指示。这样的手动动作包括用户的手沿z轴向远处移动、向物理交互性的区域中的特定热点移动或移出该热点、用户的手移动特定距离或在不支持的方向上移动、或某一其他用户运动。在各实施例中,所模拟的引力可使得用户执行比释放不具有该模拟引力的其他对象本来所需的运动更大的运动才能脱离控制柄。如果未检测到释放,则在步骤312,该系统再一次寻找其他对象操纵。在步骤314,如果用户释放对象,则在步骤316,该系统查看用户是否脱离交互,如通过放下他们的手。如果未检测到这样的脱离,则该系统返回步骤306以寻找跟踪到对象(它可以与先前附连到的对象相同或不同)。在步骤316,如果用户脱离,则在步骤320,该系统检查用户是否离开视野。如果未离开视野,则该系统返回步骤304以检测其他用户占用。另一方面,如果用户离开视野,则该系统返回步骤300以跟踪用户何时再次进入视野。在各实施例中,取决于用户处于图5的流程图中的何处,控制柄的外观可以变化。当视野中没有用户时,没有控制柄是可见的。一旦在视野中检测到用户,则可显示控制柄。最初它们可以带着光来显示,以告知用户n 19上的哪些位置具有控制柄21。此后,控制柄可保持中性,直至用户接近它为止,此时,它可发光以示出识别到该接近。此后,一旦用户悬停在控制柄上方,则控制柄的外观可以改变,一旦用户尝试附连到它,它可再次改变,在用户附连到它之后它可又一次改变,并且一旦用户操纵它则它可又一次改变。在其他实施例中,这些改变中的一些或全部可被省略。给定以上描述,本发明技术提供了一种允许与人机界面系统中的屏上对象和动作区域容易地进行交互的系统。控制柄所提供的显式占用点以及对可被应用的姿势的缩减, 提供了具有低虚假肯定和否定的高度可靠的系统。该系统还易于使用。清楚的启示示出了什么能被附连到以及一旦附连到控制柄则可以用它怎么做和做什么。交互易于记住且易于执行。交互也是一致的,使得对如何使用该系统的一部分的学习允许使用整个系统。本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。
权利要求
1.在包括耦合到用于捕捉用户位置并提供人机界面的捕捉设备的计算环境的系统中,一种便于用户与所述人机界面的显示画面的区域的交互的方法,所述方法包括 (a)生成与所述界面的所述区域相关联的控制柄; (b)经由相机感测用户移动来检测所述用户占用在所述步骤(a)生成的所述控制柄; (C)接收所述用户的姿势的指示;以及 (d)响应于所述步骤(C)对所述用户界面的所述区域执行动作。
2.如权利要求I所述的方法,其特征在于,所述步骤(a)包括在所述用户界面的所述区域上显示所述控制柄的步骤。
3.如权利要求I所述的方法,其特征在于,所述步骤(a)包括在所述用户界面的所述区域附近显示所述控制柄的步骤。
4.如权利要求I所述的方法,其特征在于,所述步骤(a)包括将所述控制柄集成为所述用户界面的所述区域的一部分以便不显示分开的控制柄的步骤。
5.如权利要求I所述的方法,其特征在于,检测所述用户占用所述控制柄的所述步骤(b)是通过模拟所述控制柄周围的将光标拉向所述控制柄的引力来促进的,在所述光标被拉到所述控制柄后检测到占用。
6.如权利要求I所述的方法,其特征在于,生成与所述用户界面的所述区域相关联的控制柄的所述步骤(a)包括在检测到用户在占用控制柄时所执行的姿势之后,基于要对所述区域执行的动作来将所述控制柄与所述区域相关联的步骤。
7.如权利要求I所述的方法,其特征在于,还包括显示与所述控制柄相关联的指示用户可如何与在所述步骤(a)中生成的控制柄进行交互的启示的步骤(f)。
8.一种耦合到用于捕捉用户位置并提供人机界面的捕捉设备的计算环境的处理器可读存储介质,所述处理器可读存储介质将处理器编程成执行ー种便于用户与所述人机界面的显示画面的动作区域进行交互的方法,所述方法包括 (a)在所述显示画面上显示与所述界面的所述区域相关联的图形控制柄,所述图形控制柄提供用于占用所述动作区域的显式占用点,并且所述图形控制柄定义在接收到用户执行的预定义的姿势之后用户可如何与所述动作区域进行交互; (b)作为检测到所述用户的位置的结果,接收所述用户正跟踪所述控制柄的指示; (C)在用户跟踪到所述控制柄时,建立对所述控制柄的占用; (d)接收所述用户的姿势的指示; (e)当在所述步骤(d)中接收到的所述姿势指示与所述步骤(a)的所述预定义姿势相匹配时,相对于所述显示画面的所述动作区域执行所述图形控制柄所定义的动作。
9.如权利要求8所述的处理器可读存储介质,其特征在干,所述方法还包括显示定义在建立对所述控制柄的占用的所述步骤(b)之后用户可如何与所述控制柄进行交互的启示的步骤(f)。
10.如权利要求9所述的处理器可读存储介质,其特征在于,所述步骤(f)包括显示示出所述控制柄可被移动的方向的导轨的步骤。
11.如权利要求10所述的处理器可读存储介质,其特征在干,接收所述用户的姿势的指示的所述步骤(d)包括接收在由所述步骤(f)中的导轨所定义的方向上移动所述控制柄的姿势的步骤。
12.如权利要求11所述的处理器可读存储介质,其特征在于,所述步骤(e)包括在接收到向上、向下、向左、或向右移动所述控制柄的所述指示的所述步骤⑷之后导航通过对象的菜单的步骤。
13.ー种在具有耦合到用于捕捉用户位置的捕捉设备并耦合到显示画面的计算环境的计算机系统中的人机界面,包括 所述显示画面上的动作区域,所述动作区域能够进行以下操作中的至少ー个执行动作和使得对它执行动作; 显示在所述显示画面上并与所述动作区域相关联的控制柄,所述控制柄提供动作区域的显式占用点并定义用户如何与所述动作区域进行交互;以及 显示在所述显示画面上的、与所述控制柄相关联的、用于定义用户如何操纵所述控制柄的导轨。
14.如权利要求13所述的人机界面,其特征在于,所述动作区域是导航菜单,并且所述控制柄定义穿过所述导航菜单的导航路径。
15.如权利要求13所述的人机界面,其特征在于,在所述控制柄周围生成模拟的力,以使得用户对所述控制柄的占用更易于建立。
全文摘要
公开了一种用于提供屏上图形控制柄以控制用户与屏上对象之间的交互的系统。控制柄定义用户可对对象执行什么动作,如滚动文本或图形导航菜单。提供启示来引导用户通过与控制柄进行交互的过程。
文档编号G06F3/048GK102770828SQ201180008874
公开日2012年11月7日 申请日期2011年2月8日 优先权日2010年2月9日
发明者A·基普曼, A·普洛斯, A·瓦赛尔, A·达亚尔, A·马汀格利, B·克兰普, C·克莱因, J·希尔, J·马戈利斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1