用眼睛凝视和按键按压组合选择和激活对象的系统和方法

文档序号:6548297阅读:254来源:国知局
专利名称:用眼睛凝视和按键按压组合选择和激活对象的系统和方法
技术领域
本发明一般地涉及凝视跟踪系统和交互式图形用户界面。具体而言,本发明涉及一种根据眼睛凝视与使用一个或多个导航键在候选目标之中进行选择键导航间的一致性,从一部分视频屏幕中选择图形对象,并使用激活键激活目标的系统。更具体地说,本发明提供用于在凝视信息不特定且预期的目标不明确的情况下的多种交互技术。通过使用可能包括几何图形、应用状态、对象高亮显示之后的眼睛移动或对象历史的概率模型,也能够降低不准确性。
背景技术
在人与计算机的交互中,最基本的因素之一涉及使用指示设备(pointing device)选择和激活目标对象。在使用鼠标“单击”打开文件、跟踪万维网链接、选择菜单项、重新定义打字或绘图插入位置和其它诸如此类的操作中涉及目标对象的激活和选择。选择和激活是交互的两个阶段。选择是指选定对象的阶段,而激活是指调用该对象的功能。工程师和科学家已经开发了多种不同的方法来以对象交互为目标。最常用的目标对象交互设备之一是计算机鼠标。尽管计算机鼠标实际上是当今计算机必不可少的,过度使用也可能导致疲劳和耗费时间。此外,对于残疾用户或由于例如腕骨通道综合症或关节炎等导致手活动性受限的用户来说,使用鼠标也很困难。
尽管这些限制,基于鼠标的目标对象选择和激活系统的进一步改进已经非常困难。一种可用于进一步改进的有趣想法是使用眼睛凝视跟踪来替代鼠标输入。存在用于监视眼睛凝视的多种公知技术。一种方法检测眼睛肌肉的电脉冲以确定眼睛凝视。另一种方法磁性地检测专用的用户佩戴的带有微小磁性线圈的隐形眼睛的位置。还有另一种称作“角膜反射”的技术通过向眼睛投影一束不可见光,并监视瞳孔位置和光束反射之间的角度差来计算出眼睛的凝视。
使用这些类型的凝视跟踪系统,根据所计算出的计算机操作者的凝视在视频屏幕上定位光标。已经研发出多种不同的技术在这些系统中选择和激活目标对象。在一种例子中,该系统在当其检测到操作员已经在确定的时间内凝视目标对象时激活该目标对象。另一种激活目标对象的方法是当操作员眨眼睛时。
这些系统的一个问题是人们作为有感觉的而非操作性的人体部件自然地使用他们的眼睛。眼睛运动通常是不由自主的,小心地根据需要控制眼睛运动以精确地使用这些目标对象激活系统可能很紧张。对于许多操作员来说,控制眨眼或凝视可能很困难,并可能导致疏忽和错误的目标对象选择。因而,尽管眼睛凝视在理论上快于任何其它的身体部件,使用非自然激活的需要(例如通过眨眼或凝视)限制了凝视受控指示与手工指示相比在速度上的优势。
上述系统的另一个限制在于在形成精确和可靠的眼睛跟踪系统时的困难。因为在精确地监视眼睛凝视时眼睛跳动和其它固有的困难,通过凝视控制指示技术仅能够激活较大的目标对象。一种解决这些问题的方法是使用凝视的当前位置来为光标设置初始显示位置(例如参见美国专利6,204,828)。
就在操作员开始移动指示设备时将光标设置在这个初始位置上。这一操作的效果在于当操作员开始移动鼠标时鼠标指针总是出现在操作员正在观看的位置上。因为操作员需要在指向目标对象之前先看着该目标对象,这种方法有效地降低了光标移动的距离。然而,对象的激活需要使用诸如鼠标的指示设备,需要用户将手从键盘移动到鼠标,或者以别的方式打乱使用键盘的自然处理。
另一种使用眼睛凝视激活图形对象的方法在整个控制处理中不使用手工输入设备的情况下使用眼睛凝视作为输入通道。参见Salvucci,D.D.和Anderson,J.R.(2000)的Intelligent Gaze-AddedInterfaces.Proc.CHI 2000ACM Conference on Human Factors inComputing Systems,第273至280页。使用诸如“输入”键的专用键来执行目标对象的激活。光标总是跟随着用户的凝视。然而,这个移动的光标可能会分散用户的注意力。此外,眼睛跟踪的精确度可能会不足以精确地定位一些小的GUI对象。
具体而言,常规的眼睛凝视系统作为用于在图形用户界面(GUI)上激活对象的设备是受限的。凝视检测不足以精确到可靠地激活在GUI上诸如小按钮的目标对象(或窗口小部件(widget))。此外,眼睛凝视同时具有自主和不自主的两个方面,使得难以使用眼睛凝视作为指示或激活设备。
需要一种能够仅使用凝视和键盘进行计算机交互的技术。已经存在多种这样的方法,但是它们依赖于用户有意识地将凝视视为指示设备,这实际上是不自然和分散注意力的。因此,需要能够在使用用户自然地做出的凝视或自然观看目标的同时支持键盘交互。在将交互通常视为选择和随后的激活,并通过在两者之间插入导航阶段的同时,本发明使用户能够调整凝视跟踪设备中的不精确性。

发明内容
本发明满足了这个需要,并介绍了一种用于使用眼睛凝视和按键按压的组合来选择和激活目标对象的系统、计算机程序产品和相关的方法(在此通称为“系统”或“本系统”)。根据本发明,凝视是例如当与显示器交互时用户通常使用的自然观看。本发明不需要在凝视或眨眼的长度上不自然地使用眼睛。
本系统是使用眼睛凝视作为暗示控制通道的指示方法(pointingmethod)。用户以自然的方式观看在图形用户界面上作为按钮的目标对象,随后按下选择键。一旦按下选择键,则本系统使用概率推理来确定最可能的目标对象,并将其高亮显示。如果高亮显示的对象是目标对象,则用户可以通过再次按下诸如选择键的按键来选择它。如果高亮显示的对象不是目标对象,则用户可以使用附加键选择另一个目标对象以导航到预期的目标对象。
本系统通过使用凝视检测和键盘上的用户输入在不使用模拟指示设备的情况下支持目标对象的选择和激活。为了解决例如当两个窗口小部件彼此靠近时可能会出现的不确定性,本系统包括用户界面机制以在多种可能性之间导航。本系统可以进一步包括概率模型以确定哪一个窗口小部件更可能是目标。
此外,本系统可以应用于诸如个人数字助理等带有小键盘的手持式设备,降低了对使用指示笔(stylus)进行数据输入的依赖性。对于带有小型虚拟屏幕或键盘的设备来说当前的数据输入单调乏味并耗费时间。使用带有小型虚拟屏幕或键盘的本系统加快了数据输入,向这些设备提供了更有效和令人愉快的用户接口。类似地,本系统也可以应用于任一带有交互式输入的设备,例如膝上型计算机、蜂窝电话机、电子白板、电视机、自适应广告板、家用设备/娱乐、计算机游戏和其它的类似设备。本方法也可以应用于“智能环境”,其中可以通过相同的方法选择和激活多个显示器、用具和设备。类似地,它可以应用于可以选择多个虚拟标识的三维虚拟环境。
最典型地,本系统工作在带有凝视跟踪设备的计算机图形用户界面(GUI)上。本发明操作在GUI上的对象空间内而非几何空间内。例如,将计算机屏幕上的每个空间分配给诸如按钮、菜单项、文本窗口和超链接等GUI对象(在此也称作目标或窗口小部件)。包括诸如一个或多个照相机的凝视测量设备测量用户的凝视位置即用户正在自然观看的点。根据概率推理模型将凝视位置分配给目标。作为一个优点,通过本系统,对象空间内的操作消除了不必要的控制分辨率。本系统并不必需确定用户正在自然观看的精确点。而是,本系统简单地确定如由所实施的模型执行的最可能目标。
本系统的凝视跟踪设备连续地确定用户的凝视位置。当用户希望选择目标对象时,用户按下选择键。目标对象包括可以由用户通过交互操作的交互按钮、文本、下拉菜单、网页上的超链接或GUI上的任何其它目标。选择键可以是键盘上的任一按键,例如输入键。可选择地,选择键可以是添加给键盘的专用于本系统使用的按键。
在许多环境下,可以使用凝视和键盘按压的一致性来明确地识别诸如按钮或超链接的目标对象。然而,在其它情况下,存在不确定性。本发明提供了依赖于进一步的键盘交互、计算机应用状态和瞬时眼睛凝视改变来解决不确定性的多种技术。可以使用后两个条件来馈送概率模型以通过似然性排列可能的目标。可以使用这个排列来选择目标,或者简单地最小化键盘交互,例如通过概率排列给目标排序。
当按下选择键时,本系统高亮显示通过概率模型确定的在GUI上的对象。如果多个对象位于凝视位置附近,则本系统高亮显示根据凝视位置确定的最可能的对象。高亮显示最可能的对象包括暗化/增亮对象的颜色、在对象上放置光标、围绕最可能的对象放置界限框或者强调最可能的对象的任何其它方法。
在一种实施例中,该模型可以是可插入的模型。存在三种概率模型的可能结果它识别出0个候选、它准确地识别出1个候选和它识别出多个候选。如果它识别出零个候选,则它应当(可能)取消选择当前的选择;如果它识别出1个,则它将加亮显示该候选,并让用户通过按下激活键来激活它;如果它识别出多个,则它将高亮显示最可能的候选,并允许交互以可能使用通过概率、几何图形或两者之组合排序的结果来选择正确的一个。
如果最可能的对象并非期望的目标对象,则用户可以使用导航键来高亮显示另一个对象,例如通过将光标(可以是限制框或其它图形手段)移动到另一个对象。通过所按下的导航键的位置可以确定光标的移动。例如,如果按下向左的导航键,则光标(高亮显示)移动到在初始高亮显示对象左侧上的可能对象。可选择地,通过概率(N最佳列表)可以排序移动的顺序,每次按下导航键时在N最佳列表上将高亮显示向下移动。
用户可以重复这一处理直到选定目标对象。用户随后可以按下激活键以激活目标对象。本质上,本系统暗中使用眼睛凝视信息将用户的需要或意图的不确定性降低到几种可能性,这些可能性的数量或信息比特小到足以通过按键按压来解决。在一种实施例中,如果用户在预先确定的时间周期内并未按下激活键,则从可能的目标上消除高亮显示。
导航键可以是在键盘上任意一组按键,例如箭头键。此外,导航键可以是键盘上的任意一组按键或按键组合。导航键可以组合在一起,或者是分离的。此外,可以将一些导航键分配给键盘的右侧,而将激活键分配给键盘的左侧。
另一种实施例允许用户保持“home”打字位置。具体而言,可以使用在“home”位置右侧附近的按键,“U”、“O”、“H”、“J”、“K”、“L”、“M”和“.”(在“QWERTY”键盘上)来导航。这个实施例可能最适合于数据输入人员,或者需要在不将他们的手从home位置上移走的情况下快速工作的其它人员。这也可以降低手移动的紧张压力。
在一种实施例中,通过眼睛凝视技术来加亮显示下一个最可能的对象。当用户按下选择键时,本系统高亮显示最可能的对象。然而,眼睛凝视跟踪器不是完全准确的,所以最可能的对象可能并非真正的目标。典型地,在这些情况下,用户将不由自主地将他们的凝视从期望的目标移动到最可能的目标。本系统注意到凝视时的移动,并自动地高亮显示期望的目标对象。


将参考下面的描述、权利要求书和附图更详细地描述本发明的各种特征和实现它们的方式,其中在适当的时候重复使用参考数字以表示所指项目之间的对应关系,在附图中图1是在其中可以使用本发明的目标对象选择系统的示例性操作环境的示意图;图2图示示例性的计算机系统,说明用于图1的目标对象选择系统的用于捕获凝视位置的眼睛凝视设备的放置;图3图示示例性的个人数字助理,说明用于图1的目标对象选择系统的用于捕获凝视位置的眼睛凝视设备的放置;
图4图示显示器,说明可以由图1的目标对象选择系统选择的图形用户界面对象;图5是高层流程图,说明图1的目标对象选择系统的图形用户界面对象的选择;图6是概率图,说明用于在显示器上的图形用户界面对象的通过图1的目标对象选择系统确定的概率;图7图示申请表格,说明图1的目标对象选择系统的执行;图8是处理流程图,说明在显示器上选择目标时图1的目标对象选择系统的方法;图9是处理流程图,说明涉及在文本块内移动插入符号位置的图1的目标对象选择系统的使用方法;图10是说明图9的方法的示例性键盘的图;图11是说明在已经选择初始目标之后通过用户眼睛不由自主的移动选择目标的图;和图12是说明图1的目标对象选择系统的实施例的图,其中通过移动手指来执行选择和导航功能。
具体实施例方式
下面的定义和解释提供涉及本发明技术领域的背景信息,并将在不限制本发明保护范围的情况下便于理解本发明。
注视用户的眼睛自然观看在视频屏幕上的特定对象。
凝视位置计算出的用户将自然观看的点。
GUI(图形用户界面)在显示器上带有图片和文字并结合有可移动窗口、图标和鼠标的基于图形的用户界面。
交互式对象(也称作窗口小部件)通过键入的命令、语音命令、鼠标单击或其它接口装置接收用户输入并作为输入结果执行动作或功能的对象或单元。
因特网由路由器通过一组标准协议链接在一起以构成全球分布式网络的互连公用和私用计算机网络的集合。
自然观看用户在给定方向或在给定对象上使用视线的动作。
扫视在注视之间不由自主地快速断续的眼睛移动。
目标用户希望通过自然观看识别的诸如按钮或滚动条超链接的交互式图形单元或GUI单元或者诸如文本的非交互式对象。
高亮显示可视地强调一个或多个交互式对象。
选择正确地选择一个对象以激活。它可以包括高亮显示的不同形式。
激活调用交互式对象的功能,例如当释放按钮时。
选择键与眼睛凝视组合使用以选择对象的任一按键。
导航键用于将选择从对象改变成另一个对象的任一按键。
激活键用于触发对象功能的任一按键。
网页浏览器允许用户请求和读取超文本文档的软件程序。该浏览器提供观看网页文档内容和从一个文件导航到另一个文件的某些方法。
万维网(WWW,也称作Web)因特网客户机-服务器超文本分布式信息检索系统。
图1图示包括目标对象选择系统10的集成凝视/手工控制系统100的示例性高层结构。系统100包括通常内嵌在计算机内或者安装在计算机上的软件编程代码或计算机程序产品。可选择地,系统10可以存储在合适的存储介质上,例如磁盘、CD、硬盘驱动器或类似设备。
通常,集成凝视/手工控制系统100包括计算机15、凝视跟踪设备20、用户输入设备25和显示器30。系统100例如可以由“用户”,也称作“操作员”使用。
凝视跟踪设备20是用于监视计算机操作员自然观看的设备。根据应用的具体需要,凝视跟踪设备20可以使用多种不同的已知或可用的技术来监视用户的自然观看。举一个例子,凝视跟踪设备20可以使用一种或多种下述技术
1.眼电描记术,它围绕眼睛放置皮肤电极,并记录代表眼睛位置的电势差。
2.角膜反射,它将红外光束射向操作员的眼睛,并测量操作员的移动瞳孔和固定光束发射之间的角度差。
3.Lumbus、瞳孔和眼睑跟踪。这种技术包括使用电视照相机或其它扫描器等设备扫描眼部区域,并分析最终图像。
4.隐形眼镜。这种技术使用带有特殊制造的隐形眼镜的接触眼睛的某种设备。例如使用“光学杠杆”,在隐形眼镜上的一个或多个平面镜表面将来自光源的光反射到照相底板、光单元或象限检测器阵列。另一种方法使用与带有植入磁线圈的隐形眼睛相结合的磁传感器。
在下述参考文献中描述了多种不同的凝视跟踪方法Young等人的“Method & DesignsSurvey of Eye Movement RecordingMethods”,Behavior Research Methods & Instrumentation,1975年,第7(5)卷,第397至429页。已经阅读该文献的普通技术人员还将认识到多种不同的设备适合于用作凝视跟踪设备20。
作为在系统100中使用的一种凝视跟踪方法的具体例子,参见在此引用作为参考的下述专利美国专利US 4,836,670、US 4,950,069和US 4,595,990。尽管凝视跟踪设备20可以是定制产品,但是也可以使用购买的产品。
与凝视跟踪设备20相关的软件编程可以包括在凝视跟踪设备20自身内。图1的具体例子图示了在下文中描述的凝视跟踪模块35内实现的相关软件。根据具体应用,凝视跟踪模块35可以单独地包括在计算机15、凝视跟踪设备20或两者之组合内。
有利地,本发明能够以不同的眼睛跟踪精确度来操作。如果是高精确度系统,则将不需要或需要很少的导航键按压来抵达目标。如果是廉价的较低分辨率的凝视跟踪设备20,则导航键按压的平均次数可能较高,但是系统依然将工作。例如,使用大约+/-0.3至0.5度的凝视跟踪精确度能够获得显著的益处,该凝视跟踪精确度是对凝视跟踪系统较低的误差要求。使用这一等级的可允许误差,凝视跟踪设备20可以包括廉价的视频照相机,许多这样的廉价照相机是公知的,并且在计算机系统内变得越来越普遍使用。
用户输入设备25包括对于压力、物理接触或操作员的其它手工控制灵敏的单元的操作员输入设备。“手工”输入是指“机械地”激活用户输入设备25,与来自凝视跟踪设备20的自然观看输入不同。举一个例子,用户输入设备25可以包括一个或多个下述设备计算机键盘、鼠标、“跟踪球”、足开关或触发器、诸如IBM TRACKPOINT产品的压敏传感棒、舌形指示器、指示笔/输入板、触摸屏和/或任何其它的机械控制设备。
在图1所示的具体实施例中,图示了键盘40、组合激活和选择键45和导航键50。导航键例如包括向上键55、向下键60、向右键65和向左键70。可以提供其它导航键用于诸如对角线方向的其它方向。
尽管与用户输入设备25相关的软件编程可以包括在用户输入设备25内,图1的具体例子图示在下文中描述的用户输入模块50内实现的必需的输入设备软件。根据具体的应用,用户输入模块50可以单独地包括在计算机15、用户输入设备25或者两者之组合内。
显示器30提供用于向操作员光学地显示文本和图形的电子介质。显示器30可以通过具有显示包括指示符的图形图像或其它高亮显示对象方法的足够能力的任一合适的计算机显示器来实现。例如,显示器30可以使用阴极射线管、液晶二极管屏幕、发光二极管屏幕或任何其它合适的视频设备。显示器30还可以覆盖有用手指或指示笔操作的触摸表面。显示器30的图像通过来自下面描述的视频模块55的信号来确定。显示器30也可以用其它的名称来表示,例如视频显示器、视频屏幕、显示屏、视频监视器和显示监视器等。所显示的指示符可以包括箭头、括号、短线、点、十字线、方框或适合于选择或高亮显示目标和为文本或图形等定位插入点(插入符号)的任何其它图形。
计算机15包括一个或多个应用程序60、用户输入模块50、凝视跟踪模块35、系统10和视频模块55。计算机15可以是新机器,或者从诸如已知的个人计算机、计算机工作站、主机计算机或其它合适的数字数据处理设备等任意数量的不同产品中选择出的一个产品。举一个例子,计算机15可以是IBM THINKPAD计算机。尽管这样一个计算机显然包括除了图1的部件之外的多个其它部件,为了便于说明从图1中删除了这些部件。
视频模块55包括生成表示图像的视频信号的产品。这些信号与显示器30兼容,并使显示器30显示对应的图像。视频模块55可以通过硬件、软件或其组合来提供。作为更具体的一个例子,视频模决55可以是诸如SVGA卡的视频显示卡。
应用程序60包括在计算机15上运行的各种程序,并时常要求操作员输入。这个输入可以包括文本(通过键盘40输入)以及位置和目标选择信息(使用在这个实施例中同时是激活和选择键的45以及导航键55、60、65和70输入)。位置信息相对地定位指示符,或者高亮显示由应用程序提供的图像。目标选择信息在操作员执行诸如按下激活键45等操作时选择在所显示的屏幕图像上用凝视位置识别出的一个或多个目标。应用程序60的例子包括可购买的程序,例如数据库程序、字处理、财务软件和计算机辅助设计等。
用户输入模块50包括配置以接收和解释来自用户输入设备25的信号的软件模块。举一个具体的例子,用户输入模块50可以包括接收来自导航键75的电信号并提供用于在显示器30上移动指示符的x-y输出的键盘驱动器。类似地,凝视跟踪模块35包括配置以接收和解释来自凝视跟踪设备20的信号的软件模块。举一个具体的例子,凝视跟踪模块35可以包括接收来自凝视跟踪设备20的电信号,并提供表示计算出的称作“凝视位置”的操作员正在凝视的点的x-y输出的程序。
系统10用于综合手工操作员输入(来自用户输入模块50和用户输入设备25)和眼睛凝视输入(来自凝视跟踪设备20和凝视跟踪模块35)。系统10将某一标准应用于来自凝视跟踪设备20和用户输入设备25的输入以确定如何在显示器30上显示对象。
图2图示可以使用集成凝视/手工控制系统100的示例性计算机系统200。小照相机205用作凝视跟踪设备20。监视器210用作显示器30。键盘215用作输入设备25。在一个实施例中,照相机205放置在位置220上。在其它实施例中,照相机205可以放置在位置225、230、235或者在监视器210上可以从其确定用户凝视位置的任何其它位置上。在又一个实施例中,诸如照相机205的其它照相机可以放置在位置225、230、235或在监视器210上通过其可以确定用户凝视位置的任何其它位置上。
在又一种实施例中,照相机205可以放置在键盘215上的位置240内或者在键盘215上通过其可以确定用户凝视位置的任何位置上。此外,在位置240内的照相机205可以是由凝视跟踪模块使用的唯一设备,或者位置240内的照相机205可以与其它照相机结合使用,所述其它照相机例如是在监视器210上的位置225、230和235等其它位置内的照相机205。
图3图示在其中可以使用集成凝视/手工控制系统100的诸如个人数字助理300的示例性设备。小照相机305用作凝视跟踪设备20。虚拟键盘310用作输入设备25。屏幕315用作显示器30。在一种实施例中,照相机305放置在位置320内。在其它实施例中,照相机305可以放置在个人数字助理上的位置325或任何其它位置内,通过它可以确定用户的凝视位置。
在另一种实施例中,照相机305可以在单独的外壳内并由用户放置在最佳确定用户凝视位置的位置内提供作为个人数字助理300的附件330。在又一实施例中,激活键45和导航键75可以在单独的外壳内提供作为个人数字助理300的附件,如通过用户输入设备335图示的。以类似的方式,用户输入设备340可以提供作为任一系统的附件,其中用户选择图形用户界面上的对象。在又一实施例中,用户输入设备340包括在例如位置340等位置内的照相机305。
与目标的交互并不限制于使用激活键45和导航键50。在一种实施例中,集成凝视/手工控制系统100捕获来自用户的手势,例如移动手指。捕获用户手势的设备用作用户输入设备25。这样一个设备例如可以是红外设备。不同的手势可以由系统10解释为激活、选择或导航。在又一实施例中,用户输入设备25是用户可以提供用于激活和导航的语音命令的话筒。用户可以向集成凝视/手工控制系统100传送激活、选择和导航等简单命令的任一方法可以由系统10用于选择和激活在图形用户界面上的目标。
系统10操作在对象空间内而非几何空间内。例如,将显示器30定义为一组对象,显示器30上的每个点属于一个目标。图4图示带有若干目标的显示器30的示例性屏幕截图,所述目标是按钮405、文本块410、插入点415(在此也称作插入符号415)、菜单项420和桌面430,通称为目标435。
用户以自然的方式观看(自然观看)诸如按钮405的对象,并按下诸如激活键45的按键。使用凝视跟踪模块35的输入,系统10确定哪一个目标435是最希望的目标,并高亮显示所希望的目标,按钮405。可以通过多种方法中的任一种方法来选择或高亮显示按钮405,例如在按钮405上放置指示符,围绕按钮405放置方框,改变按钮405的颜色,围绕按钮405放置颜色,等等。
如果多个目标435是可能的目标,则系统10高亮显示最可能的一个或多个目标。如果另一个目标是所希望的目标对象,通过使用导航键75将指示符移动到其它目标435之一上,则用户可以选择其它被高亮显示的目标435之一。用户通过再次按下按键45激活该对象。
图5是高层流程图,图示一种用于由图1的目标对象选择系统10选择图形用户界面对象的方法500。在步骤505,用户观看而非凝视屏幕上的目标图标,并按下选择键。由于眼睛跟踪误差,选择(例如高亮显示)另一个相邻的图标,例如在目标图标下方的图标。在步骤510,用户使用向上箭头键(或另一按键)调整到目标图标的选择(在这个例子中高亮显示)。在步骤515,一旦选定目标图标,则用户再次按下按键以完成交互处理。
在一种实施例中,当用户保持按下例如控制键时,用户瞬时按下诸如制表符键的按键。进一步高亮显示最可能的目标。用户释放控制键以激活目标。如果已经高亮显示多个目标,则系统10例如通过下拉列表向用户提供选择多个目标之一的选项。用户例如可以保持按下控制键并按下制表符键以循环通过各个目标。当循环时,以不同于其它多个目标的方式高亮显示当前有效的目标。当释放控制键时,激活当前高亮显示的目标。
在一种实施例中,系统10显示表示目标的菜单而非目标的实际图形表示。用户随后可以循环通过菜单上的目标列表以选择所希望的目标对象。在一种实施例中,系统10在菜单上提供选项(即“退出”选项),通过该选项用户可以选择不选择在菜单上显示的任一目标。
根据系统10的概率模型,将凝视位置分配给目标430之一。系统10可以使用任意数量的概率模型。简单的凝视分配算法将凝视位置与凝视位置之下的对象相联系。较复杂的方法使用凝视位置之下每个对象的似然模型。似然性例如可以是二维高斯模型12πσ2exp{-(xg-xo)2+(yg-yo)22σ2}]]>其中(xg,yg)是凝视位置的坐标和(xo,yo)是对象O的坐标。通过对象大小、对象到其相邻对象的距离、对象类型和定位对象的情形来确定标准偏差σ。例如,桌面430具有比诸如按钮405等按钮组合阵列更大的标准偏差的分布模型。
图6在二维中图示对象A 605或对象B 610是凝视位置615的预期目标的概率。根据这个例子,对象A 605作为预期目标的概率620小于对象B 610的概率625。然而,系统10操作在对象空间内,并具有与对象A 605和对象B 610的功能和当前状态相关的知识。例如,对象A 610可以是在文本块410的文本区域末尾带有插入点415的文本块410。
对象B 610可以是桌面430的一部分。系统10意识到尽管对象B610具有比对象A 605更大的概率,但是用户当前在输入文本。因此,由系统10选择表示文本块410的对象A 605作为目标,并高亮显示。系统10使用与图形用户界面上的每个对象的功能和当前状态相关的知识来智能地工作,并向用户提供灵活性。
系统10对对象状态的使用用图7的简单例子即在因特网的网页上用户完成的典型申请表格700来说明。系统10使用将要完成的项目的自然顺序以及申请表格700在其被完成时的当前状态来改进由系统10使用的概率模型的可靠性。
诸如申请表格700的应用程序通常具有能够在概率模型内起调节作用的某些属性。例如,表格通常具有将要完成表格内字段的自然顺序。自然顺序通常与制表符键结合使用以在该表格内导航。有时,这个顺序直接由表格内项目的放置和可以由表格开发者编码的其它项目来确定。如果表格内的单元标号为1至n和用户当前正在修改表格内的字段k,则概率模型倾向于k+1上的表格单元。例如,用户正在完成城市字段705。在申请表700上的下一个可能字段随后是州字段710。在完成城市字段705之后,用户可能会自然观看州字段710,并按下激活键45。
系统10选择州字段710作为最可能的字段,即使在多个按钮组围绕州字段710的情况下。表格通常具有“自然顺序”,其中许多GUI工具允许表格单元按照它们应当按制表符键(tab)循环通过的顺序实际地编号。举一个例子,如果存在10个表格单元,则填完表格单元1至5,理想上偏向于6。如果可以使用附加信息,例如该表格字段是可选的还是必需的,则可以将这个信息馈送到更普遍的模型内。类似地,也可以将历史馈送到这个模型内。例如,如果一个人总是以与自然顺序不同的顺序填充表格,则这个行为可以是可学习的。
可以以类似的方式将其它信息编码到可以由系统10使用的表格内。例如,表格通常具有选择和必填单元。一旦完成所有的必填单元,则视为完成该表格(即等待处理)。系统10使用这个信息进一步通知概率模型,例如通过比可选的表格单元更偏向于必填的表格单元。
系统10使用状态信息以增强可用于概率模型的信息,从而提高系统10在选择最可能目标时的精确度。例如,如果网页正在装载在网页浏览器内,则如果网页正在自然地观看“停止”按钮和“重新装载按钮”区域,则“停止”按钮可能是期望的目标。如果网页当前不在装载,则“重新装载”按钮更可能是期望的目标,而非“停止”按钮。
在图8中图示处理流程图,它图示系统10的方法800。在整个方法800中,系统10持续地跟踪用户的凝视位置。然而,当用户按下键盘上的选择键时,仅使用这个凝视位置。方法800描述了使用选择和导航键以控制如何将眼睛凝视用于高亮显示和选择GUI对象的处理。在高层上,图8中的基本流程包括下述步骤(1)观看GUI对象;(2)压下选择键以将其高亮显示;(3)可选地使用导航键以调整高亮显示;和(4)压下导航键以激活所高亮显示的对象。现在将更详细地研究这些步骤。
在步骤805,用户观看目标对象,随后在步骤810按下按键。在步骤815,方法800询问已经按下的按键是否是预先分配的选择键。如果不是,则方法800返回步骤805,并跟随用户的观看和凝视。
反之,如果已经按下的按键是选择键,则方法800在步骤820从眼睛凝视跟踪器查询用户最后凝视的位置。在步骤825,由系统10使用这个眼睛凝视位置以高亮显示最可能是用户已经选择的GUI对象。系统10使用它在可选择GUI对象上的概率模型以帮助选择最可能的对象。
在用户在步骤830按下另一按键之后,系统10在步骤835从跟踪器获得最后的凝视位置,并在步骤840查询眼睛凝视是否靠近所高亮显示的对象。如果不是,则方法800返回步骤825,并如先前所述地继续处理。如果用户在第二键按压时已不再看着高亮显示的对象,则他们可能希望继续选择不同的GUI对象。
然而,如果方法800在步骤840确定眼睛凝视足够靠近所高亮显示的对象,在它在步骤845查询在步骤830按下的按键是否是激活键。如果是,则系统10在步骤850激活所高亮显示的对象,并消除高亮显示。方法800随后返回步骤805,并如前所述地继续。
如果方法800在判决步骤845中确定所按下的键并非激活键,则方法800在判决步骤855查询所按下的键是否是导航键。如果不是,则系统10为该键执行常规操作系统功能,并如前所述地返回步骤805。
如果方法800在判决步骤855确定所按下的键是导航键,则系统10在步骤860根据导航键指令移动选择高亮显示,并如前所述地返回步骤830。
在一种实施例中,系统10允许用户使用键盘上的任一组五个键或更多的键导航到下一最可能的目标。在又一实施例中,将诸如箭头的指示符放置在最可能的目标上。可选择地,可以通过多种方法中的任一种方法指示最可能的目标,例如通过围绕最可能的目标对象放置方框、高亮显示最可能的目标对象、等等。随后,可以使用该组五个或更多的按键来将指示符移动到期望的目标上,或者以其他方式调整指示符的放置。该组五个或更多的按键提供除了导航和选择键45以及导航键55、60、65和70之外的功能。还可以使用一组9个按键(包括四个箭头键上、下、左和右),所以用户可以在对角线上移动高亮显示。
在图9中图示的系统10的方法900是当选定对象是文本字段时的基本方法的优化。在步骤905,用户观看目标对象,随后在步骤910按下按键。在步骤915,方法900查询已经按下的按键是否是预先分配的选择键。如果不是,则方法900返回步骤905,并跟随用户的观看和凝视。
反之,如果已经按下的按键是选择键,则方法900在步骤920从眼睛凝视跟踪器查询用户最后凝视的位置,并根据系统10的概率模型计算最可能的GUI对象。随后,方法900在判决步骤925查询最可能的对象是否是文本字段。如果不是,则系统10根据用户的眼睛凝视高亮显示最可能的GUI对象,如先前结合图8描述的,开始于步骤830。
然而,如果方法900在判决步骤925确定最可能的目标是文本字段,则方法900在判决步骤930确定当按下键盘1000上的按键时最可能的对象是否是插入符号(caret)415。如果插入符号415是最可能的目标,则用户正在在文本框410内输入文本的处理中,系统10在步骤935继续文本输入,并将用户按下的字符添加给在插入点即插入符号415上的文本串。
如果方法900在判决步骤930确定插入符号415不是最可能的对象,则系统10在步骤940将插入符号415移动到凝视点。当用户在步骤945上按下另一按键时,则方法900在步骤950从跟踪器获得最后的位置,并前进到判决步骤955。
在判决步骤955,方法900查询眼睛凝视是否临近插入符号415。如果不是,则方法900返回步骤940,并如前所述地继续。反之,如果方法900在判决步骤955确定眼睛凝视靠近插入符号415,则方法900在判决步骤960查询在步骤945已经按下的按键是否是激活键。如果是,则系统10将插入符号415交给其当前位置。
反之,方法900在判决步骤970查询所按下的按键是否是导航键。如果是,则系统10在步骤975根据导航键移动插入符号415,随后前进到如前所述的步骤945。
然而,如果方法900在判决步骤970确定所按下的键并非导航键,则它前进到步骤980,在此系统10继续在步骤980的文本输入,并前进到如前所述的步骤905。
图10图示系统10使用在典型键盘1000上的任一组五个或更多按键以识别和激活目标。例如,用户可以按下“K”键1005以选择在显示器30上的目标。K键1005变成锚键(anchor key)。在一种实施例中,符号或者其它指示符出现在最可能的目标上。可选择地,以先前讨论的某种其它形式高亮显示最可能的目标。围绕“K”键1005的按键在从“K”键1005到这些按键的方向的对应方向内移动指示符。
用户现在可以按下“L”键1010以将指示符移动到右侧,高亮显示在当前所高亮显示的对象右侧的目标。按下“,”,按键1015向下移动指示符。按下“J”键1020向左移动指示符。按下“I”键1025向上移动指示符。此外,按下“O”键1030沿对角线向右上方移动指示符。按下“.”键向右下方移动指示符。按下“M”键1040向左下方移动指示符。按下“U”键向右上方移动指示符。用户第二次按下“K”键1005(锚键)激活高亮显示的对象,导致所高亮显示的对象执行其分配的功能。
在又一种实施例中,系统10允许左手和右手使用的按键用于选择、激活和导航。例如,左手可以按下控制键或“Alt”键以选择目标。右手可以使用其它键导航到候选目标,并例如使用输入键激活该目标。
在图11(图11A、11B)图示的实施例中,系统10使用眼睛凝视反馈而非导航键50来选择除了高亮显示的目标之外的目标。例如,用户在按下选择和激活键45时观看目标A,1105。由于当前可用的凝视跟踪设备的自然不准确性,系统10可以选择对象B 1110而非对象A 1105作为最可能的目标。系统10随后高亮显示对象B 1110。用户在观看对象A 1105,期望系统10高亮显示对象A 1105。当用户注意到高亮显示了项目B 1110时,用户表现出从项目A 1105到项目B 1110的不自主的扫视。这个扫视可能是短暂的,但是它是可以由凝视跟踪模块35检测出的。
系统10检测到扫视,并使用它快速地高亮显示所期望的目标。可以将扫视表示为从所期望的选择(项目A,1105)到初始选择(项目B,1110)的二维扫视矢量1115。系统10确定项目A 1105是所期望的目标,从项目B 1110消除高亮显示,并高亮显示项目A 1105。
在又一实施例中,系统10如图11B所示使用显示器30的二维构图建立在不同情况下扫视的概率模型900。就在高亮显示项目B1110之前,如图11B所示,系统10围绕项目B 1110在二维(x,y)“扫视”空间900内建立概率模型。系统10把将要高亮显示的项目即项目B1110放在“扫视”空间1100的中心。围绕将要高亮显示的项目放置在预定凝视直径内的所有其它的可能目标。在这个例子中,其它可能目标是项目A 1105、项目C 1120、项目D 1125和项目E 1130,通称作可能目标1135。
在“扫视”空间1100内,将每个可能目标1130放在从所期望的目标到所高亮显示的目标的不由自主的扫视中用户眼睛经历的位置内。例如,如果项目E 1115在显示器30上在项目B 1105的右下方,则表示项目E 1115是所期望的目标的扫视是从项目E 1115到项目B 1105或者在到右上角的对角线上的矢量1140。因此,在图11B中,将扫视E 1145放在扫视B 1150的右上方。扫视E 1145在扫视矢量1140的尾部,而非扫视矢量1140的起点。为其它的每个可能目标1135使用类似的放置扫视D 1155放在扫视B 1150的上方;扫视C 1160放在扫视B 1150的右方;和扫视A 1165放在扫视B 1150的下方。扫视矢量1170和1175保持相同,但是初始目标(项目B 1105)和其它可能目标1135的相对位置是相反的。
系统10仅使用在系统10高亮显示最可能的目标之后由凝视跟踪模块35在规定扫视时间窗口内捕获的扫视。在一种实施例中,扫视时间窗口大约为200毫秒。由符合预先确定的概率分布的系统10使用所捕获的扫视。当所捕获的扫视在扫视时间窗口内出现并表示出在由该扫视表示的区域内的最大概率时,系统10从初始目标消除高亮显示,并高亮显示该扫视表示的目标。
因为系统10并不需要来自指示设备的输入,可以在捕获来自用户的信号的多种应用中实现系统10。例如,用户可以如图12所示通过在手指上佩戴一组移动监视设备来执行激活键45的功能和导航键50的功能。图12图示将移动监视设备图示为指环,例如指环1205、1210、1215、1220和1225,通称为指环1230。在一种实施例中,可以通过手套提供指环1230的功能。例如,指环1250用作激活键45,指环1210、1215、1220和1225用作导航键。
应当理解已经描述的本发明的具体实施例仅仅说明了本发明原理的某些应用。在不脱离本发明的精神和范围的情况下,可以对在此描述的用于使用眼睛凝视和选择键选择目标对象的系统和方法进行多种修改。
权利要求
1.一种用于从多个对象中选择目标对象的指示方法,包括在显示器上显示多个对象;跟踪用户在观看显示器时自然观看的位置;同时监视手工选择键的按压;根据手工选择键的按压和检测到的用户对目标对象附近区域的自然观看的一致性,选择显示器上的目标对象;如果需要,使用导航键改变选定的对象;和使用激活键激活选定的目标对象。
2.权利要求1的方法,其中显示器包括计算机监视器或电视显示器中任何一个。
3.权利要求1的方法,还包括使用概率分析在多个对象中确定最可能的目标对象。
4.权利要求3的方法,其中概率分析包括图形用户界面对象的历史。
5.权利要求1的方法,其中目标对象是图形用户界面对象。
6.权利要求1的方法,其中选择目标对象包括一旦用户按下手工选择键则捕获自然观看的位置。
7.权利要求1的方法,其中选择目标对象包括高亮显示目标对象。
8.权利要求7的方法,其中利用限制框实现高亮显示目标对象。
9.权利要求7的方法,其中通过改变目标对象的颜色实现高亮显示目标对象。
10.权利要求7的方法,其中通过与目标对象相邻地放置光标实现高亮显示目标对象。
11.权利要求7的方法,其中通过将箭头指向目标对象实现高亮显示目标对象。
12.权利要求1的方法,其中选择目标对象包括选择候选对象,随后手工地调整从候选对象到目标对象的选择。
13.权利要求12的方法,还包括用户按压导航键以将指示符移向另一个可能的目标对象。
14.权利要求13的方法,还包括一旦用户选择,就高亮显示所述另一个可能目标。
15.权利要求1的方法,其中手工选择键和激活键是同一按键。
16.权利要求1的方法,其中利用两个按键的组合按压来实现选择目标对象。
17.权利要求16的方法,其中两个按键是控制键和制表符键。
18.权利要求17的方法,其中改变所选择的对象包括使用制表符键导航多个对象。
19.权利要求18的方法,其中激活目标对象包括释放控制键。
20.权利要求1的方法,还包括确定最可能的目标对象是否包括文本字段。
21.权利要求19的方法,还包括如果自然观看的位置在文本字段中的插入符号处或者附近,则继续文本输入;和如果自然观看的位置不在文本字段中的插入符号附近,则将插入符号移动到自然观看的位置。
22.权利要求1的方法,其中手工选择键是键盘上的专用键。
23.权利要求1的方法,其中手工选择键是键盘上的用户定义键。
24.权利要求1的方法,其中手工选择键是键盘上的任意键。
25.权利要求1的方法,其中激活键是键盘上的专用键。
26.权利要求1的方法,其中激活键是键盘上的用户定义键。
27.权利要求1的方法,其中激活键是键盘上的任意键。
28.一种用于从多个对象中选择目标对象的指示设备,包括显示器,用于显示多个对象;凝视跟踪模块,跟踪用户在观看显示器时自然观看的位置;用户输入模块,同时监视手工选择键的按压;用户输入模块,根据手工选择键的按压和检测到的用户对目标对象邻近区域的自然观看的一致性,进一步选择显示器上的目标对象;导航键,用于改变选择的对象,如果需要的话;和激活键,用于激活所选择的目标对象。
29.权利要求28的指示设备,其中显示器包括计算机监视器或电视显示器中的任何一个。
30.权利要求28的指示设备,其中用户输入模块使用概率分析来确定多个对象之中最可能的目标对象。
31.权利要求30的指示设备,其中概率分析包括图形用户界面对象的历史。
32.权利要求28的指示设备,其中目标对象是图形用户界面对象。
33.权利要求28的指示设备,其中用户输入模块通过一旦用户按下手工选择键即捕获自然观看的位置来选择目标对象。
34.一种计算机程序产品,包括一组指令代码,用于从多个对象中选择目标对象,包括第一组指令代码,用于在用户观看多个对象时跟踪自然观看的位置;第二组指令代码,用于同时监视手工选择键的按压;第三组指令代码,用于根据手工选择键的按压和所检测的用户对目标对象邻近区域的自然观看的一致性来选择目标对象;和激活键,用于激活选定的目标对象。
35.权利要求34的计算机程序产品,其中第三组指令代码通过一旦用户按下手工选择键即捕获自然观看的位置来选择目标对象。
36.权利要求34的计算机程序产品,其中第三组指令代码使用概率分析来确定多个对象之中最可能的目标对象。
37.权利要求36的计算机程序产品,其中概率分析包括图形用户界面对象的历史。
38.权利要求34的计算机程序产品,其中目标对象是图形用户界面对象。
39.权利要求34的计算机程序产品,还包括第四组指令代码,用于改变所选择的对象,如果需要的话。
全文摘要
一种指示方法使用眼睛凝视作为隐含的控制通道。用户以自然方式观看作为图形用户界面上的按钮的目标对象,随后按下手工选择键。一旦按下选择键,则本方法使用概率分析来确定最可能的目标对象并将其高亮显示。如果所高亮显示的对象是目标对象,则用户可以通过再次按下诸如选择键等按键来选择它。如果所高亮显示的对象不是目标对象,则用户可以使用附加按键选择另一个目标对象以导航到预期的目标对象。
文档编号G06F3/01GK1694043SQ20051006720
公开日2005年11月9日 申请日期2005年4月19日 优先权日2004年4月29日
发明者戴维·贝伊梅尔, 斯蒂芬·P·法雷尔, 翟树民 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1