凝视辅助的计算机界面的制作方法

xiaoxiao2020-7-22  3

【专利下载】Tel:18215660330

凝视辅助的计算机界面的制作方法
【专利摘要】本发明提供了使用户与图形用户界面(GUI)相连接的方法、系统和计算机程序。一种方法包括用于识别所述用户的凝视点(POG)的操作。在光标限定出与执行所述GUI的计算机程序相关的聚焦区域处检测到所述用户开始进行移动所述光标在显示器上位置的身体动作。进一步,所述方法包括用于确定在所述光标的当前位置与所述POG之间的距离是否大于阈值距离的操作。所述光标从所述当前位置移至邻近所述POG的区域以响应对所述POG的确定和对所述身体动作开始的检测。
【专利说明】凝视辅助的计算机界面
【技术领域】
[0001]本发明涉及图形用户界面(GUI),且尤其涉及用于与提供凝视辅助导航的⑶I相连接的方法、系统和计算机程序。
【背景技术】
[0002]在当前计算机界面中,鼠标控制的屏幕光标在显示器所提供桌面的虚拟实际使用面积上游走,且其速度由手速和鼠标灵敏度所确定。多年来,由于更大屏幕尺寸、更高的屏幕分辨率、多个屏幕等的出现,虚拟桌面的实际使用面积的大小已经增加。然而,控制光标的人体输入装置和鼠标的传动仍未改变。例如,在640X480的桌面上移动鼠标至多仅需要几英寸的手部运动,这通常仅涉及手腕运动。然而,对于分辨率为2560X1600的桌面或在使用多个屏幕时分辨率更大的桌面而言,用户不能仅使用手腕将鼠标光标从桌面的一侧移至相反侧或从一个显示器移至另一个。在这种情况下,有时会需要“用手拖动鼠标”,即用户在鼠标脱离鼠标垫前将鼠标移至尽可能远的地方,然后向上抬起鼠标,将鼠标移回,并再次将鼠标落下以及再次在鼠标垫上移动鼠标。这是一个繁琐的操作,且会使与大显示器的连接很累人。
[0003]在这种背景下,产生了实施方案。

【发明内容】

[0004]本发明的实施方案提供了使用户与图形用户界面(GUI)相连接的方法、系统和计算机程序。应理解的是可通过多种方式,如计算机可读介质上的进程、设备、系统、装置或方法实施本发明。下面将描述本发明的几个发明性实施方案。
[0005]在一个实施方案中,一种方法包括用于识别用户的凝视点(POG)的操作。在光标限定出与执行GUI的计算机程序相关的聚焦区域处检测到用户开始进行移动光标在显示器上位置的身体动作。进一步,该方法包括用于确定在光标的当前位置与POG之间的距离是否大于阈值距离的操作。光标从当前位置移至邻近POG的区域以响应对POG的确定和对身体动作开始的检测。
[0006]在另一实施方案中,一种具有⑶I的系统包括处理器、输入装置和凝视检测模块。处理器执行提供GUI的计算机程序,且在一个或多个显示器中提供有GUI。输入设备可操作以当用户在输入装置上开始进行身体动作时移动光标在一个或多个显示器上的位置。另夕卜,凝视检测模块可操作以识别用户的P0G,且计算机程序确定在光标的当前位置与POG之间的距离是否大于阈值距离。计算机程序将光标从当前位置移至邻近POG的区域以响应对距离的确定和对身体动作的检测。
[0007]在另一实施方案中,提供了一种具有程序指令的非临时性计算机可读介质,当计算机执行程序指令时,实施一种使用户与计算机程序相连接的方法。该方法包括用于识别用户的凝视点(POG)的操作。在光标限定出与执行GUI的计算机程序相关的聚焦区域处检测到用户开始进行移动光标在显示器上位置的身体动作。进一步,该方法包括用于确定在光标的当前位置与POG之间的距离是否大于阈值距离的操作。光标从当前位置移至邻近POG的区域以响应对POG的确定和对身体动作开始的检测。
[0008]根据下面的详细描述并结合附图可使其它方面变得显而易见。
【专利附图】

【附图说明】
[0009]可参考下列描述并结合附图以最好地理解本发明。
[0010]图1示出根据一个实施方案的用户将光标移动很长距离所需的努力。
[0011]图2A-2B示出减少将光标移动很长距离所需努力的凝视辅助的计算机系统的实施方案。
[0012]图3示出根据一个实施方案对凝视点(POG)与光标的当前位置之间的距离的估

ο
[0013]图4A示出用于使用角膜反射的POG检测的实施方案。
[0014]图4B示出根据一个实施方案的用于使用图像分析和人脸跟踪的POG检测的方法。
[0015]图5示出根据一个实施方案的用于使用凝视检测以在手持装置中快速滚动的方法。
[0016]图6示出根据一个实施方案的用于使用凝视检测和用户输入以进行快速光标移动的方法。
[0017]图7示出根据一个实施方案的凝视辅助的游戏界面。
[0018]图8示出根据一个实施方案的响应于手势的窗口的图形用户界面。
[0019]图9示出根据一个实施方案的利用凝视检测、语音识别以及一个或多个计算机外围设备的界面。
[0020]图10为实施本发明的实施方案的计算机系统的简化示意图。
[0021]图11示出说明根据本发明的一个实施方案的使用户与在计算装置中执行的计算机程序相连接的算法的流程图。
【具体实施方式】
[0022]本发明的实施方案利用凝视跟踪以帮助在显示器中移动光标以及使用较少的努力达到目标光标位置。在一个实施方案中,凝视检测与表现为身体动作的用户意图相结合,从而加强用户与计算装置之间的界面。
[0023]将显而易见的是,本实施方案可在缺少一些或所有这些具体细节的情况下进行实践。在其它情况下,未详细描述众所周知的操作以避免使本实施方案产生不必要的费解。
[0024]图1示出根据一个实施方案的用户将光标移动很长距离所需的努力。三个显示器110a、IlOb和IlOc被连接至计算机108上。在三个显示器中显示有窗口环境,使得窗口环境的桌面包含三个显示器,每个显示器呈现桌面的一部分。三个部分均逻辑性的相互连接以模拟出区域形成连续的桌面。换句话说,三个显示器如单一显示器一样运行,但是在单一显示器上的呈像被划分成三个部分,且每个部分均被显示在显示器110a、110b和IlOc的一个中。
[0025]当用户102移动鼠标时,鼠标可越过三个显示器,但仅存在于一个显示器中。例如,当显示器IlOa中的鼠标被移至显示器IlOa的右侧时,鼠标出现在显示器IlOb的左侧,这是因为三个显示器表示单一的桌面。
[0026]三个显示器为用户提供大桌面并为希望同时显示多个窗口的用户提供一个有用的功能。然而,在大桌面中移动鼠标可以是非常繁琐的,特别是当鼠标的灵敏度高时(即,对于桌面上相同量的光标位移而言,具有高灵敏度的鼠标比具有低灵敏度的鼠标需要更多的鼠标运行)。因此,高的鼠标灵敏度有利于需要精确鼠标运动和对象选择的行为(例如,图形创建和编辑),但是高的鼠标灵敏度不利于快速地越过桌面移动鼠标。例如,如果用户102要将鼠标光标从窗口 112中的位置116移至显示器IlOa上的位置118时,必须将鼠标104从右向左移动很大的距离。由于鼠标运动的范围通常是有限的,鼠标光标的大位移通常需要用户将鼠标移至左侧、抬起鼠标、将鼠标放在右侧,然后将鼠标再移至左侧,重复该操作106数次以将光标移至位置118。在移动过程中,由于“用手拖动鼠标”,鼠标光标会移过轨迹120,其包括几个停顿。
[0027]本文所使用的“光标”是指与计算机程序相关的且为计算机程序指示焦点形式的指针或指示器。光标可指鼠标光标,其指示由鼠标控制的指针的当前位置且显示于显示器上;或指文本光标(例如,垂直线),其指示在文本字段(例如,文字处理器和网页中的字段)中输入文本的位置;或指页面光标,其指示用于页面(例如,网页)上所进行操作(例如,向上翻页、向下翻页、向上滚动等)的参考点;等等。光标可能在屏幕上以不同形式表示出来,如箭头、手、手指、竖线、滚动条等,或有时可隐藏起来以使光标为隐式,但仍可用于进行一些界面操作,如“向下翻页”。光标在本文中可被称为“聚焦区域”、“鼠标光标”、“页面光标”、“窗口光标”、“文本插入点”等。虽然实施方案是使用特定形式的光标进行表述的,但也可利用任何类型的光标,因此所表述的实施方案不应被解释为排他性或限制性的,而是示例性或说明性的。
[0028]通常,用户102是看着光标所需的目的地,而不是鼠标光标的当前位置。本发明的实施方案利用凝视检测以加强用户与计算机系统相连接的方式。例如,使用凝视检测以确定用户想要移动光标的位置,并随后较快地且使用较少努力地将光标移至所需位置。有时,用户可能甚至不知道鼠标在显示器上,且用户必须在用户实际开始移动鼠标光标前花时间寻找光标。然而,通过使用凝视检测,无需定位鼠标,这是因为所需了解的是光标要去的地方,而不是光标碰巧所在的位置。
[0029]应注意的是尽管在一些实施方案中仅使用凝视以与计算机系统相连接,但是其它实施方案需要用户进行相关的身体运动。用户的POG可能是不稳定的,因此,仅使用POG可能会产生问题,需要用户的确认或需要用较长时间才能完成的操作(例如,需要将一点上的凝视设置为2秒)。通过结合凝视和其它动作(如,一旦光标在POG的普通区域中,则使用鼠标移动光标),提供了一种易于使用的界面。
[0030]图2A-2B示出减少将光标移动很长距离所需努力的凝视辅助的计算机系统的实施方案。在一个实施方案中,通过用户的凝视辅助的光标控制。为了简单起见,本发明的实施方案所描述的区域利用典型图形用户界面(GUI)上的鼠标光标的操作以用于显示器所提供的桌面。其它实施方案可以利用光标或化身控制的不同形式、不同输入机构(例如,键盘、小键盘、触摸屏、踏板等),或指不同显示机构(例如,大显示器、多个显示器、分节的显示器等)。因此,示出的实施方案不应被解释为排他性或限制性的,而是示例性或说明性的。
[0031]眼睛跟踪或眼睛凝视跟踪为测量凝视点(POG)(即用户正在观看的点)或测量眼睛相对于头部的运动的过程。POG为人凝视所指向的空间中的点且已被定义为在每只眼睛的视网膜(中央小窝)的最高敏锐度区域中心上所成像的空间中的点。下面将参照图3和图4提供有关凝视检测的更多细节。
[0032]参照图2A,用户102想将鼠标光标从显示器IlOc中的位置204移至显示器IlOa中的位置208。在计算机108上执行的凝视检测系统确定用户在包括有GUI桌面的显示器中的P0G。用户将凝视210固定在鼠标光标的所需目的地上(即,看向光标的目标的方向),且凝视检测系统确定大概的位置206。当用户102的凝视210位于目标上时,用户102移动202鼠标104以将光标移至目标处。当计算机系统108检测到鼠标移动的开始时,使用凝视检测移动光标以接近目的地(即,鼠标光标“跳”至接近目的地的地方或至目的地)。应注意的是,当利用凝视辅助移动光标时,将光标从第一位置移至第二位置,而无需用户拖动鼠标以进行凝视辅助的运动。凝视检测是基于对摄像头214拍摄的图像进行图像分析,但其它类型的凝视检测也是可能的。
[0033]系统将鼠标光标移至位置206,其为凝视检测系统所计算出的P0G,且随后系统仅依赖鼠标移动而找到光标的最终目的地。用户甚至无需知道鼠标目前处在何处,这是因为目的地才是要完成鼠标光标的移动而所需了解的事情。通过这种方式,用户不需要搜寻鼠标光标以找到光标当前在桌面上的位置。
[0034]在一个实施方案中,光标移动的速度是可变的,使得在光标接近POG的过程中使光标移动的速度变慢。通过这种方式,当光标远离POG时,光标移动速度快,但是当光标开始接近目的地时,光标会减慢并增加鼠标的灵敏度,从而允许用户更好地控制鼠标光标接近目的地。在光标远离目标时不需要精细的灵敏度,这是因为用户想要的是快速地到达目标,而且鼠标所遵循的到达目的地的轨迹也并不重要。
[0035]通过使用凝视检测,系统能够在需要的时候提供更高级别的鼠标灵敏度,即当用户在感兴趣的区域中进行操作时。其它加速方案是基于用户移动鼠标的速度的有多快,但这些方案往往会提供意想不到的结果且很难进行适当的调整以在灵敏度与快速将鼠标移动很长距离的能力之间提供平衡。在另一实施方案中,鼠标光标提供磁效应,使得鼠标光标被附接至显示器上的POG处。
[0036]在一个实施方案中,通过凝视检测和POG区域中显示对象的背景辅助鼠标运动。通过这种方式,如果在包含多个屏幕对象中的一个或多个对象的区域中设置P0G,则将光标位置改至多个屏幕对象中最接近所估计POG的屏幕对象。例如,如果用户凝视的目标区域似乎接近位于Windows桌面左下方的快速启动图标,则将光标位置改至最接近POG的快速启动图标。
[0037]在另一实施方案中,凝视检测用于辅助在一个窗口中字段间的导航。如果用户使用键盘导航,页面光标则基于键盘输入和POG的组合进行移动,使得POG可用于加速导航,而导航在不使用凝视辅助的其它情况下会使用更多的键击。页面光标在本文中被称为页面中的指针,其指示页面的焦点,如在文字处理器中打字时的插入点,或在包含多个可能的输入字段的形式中的活动字段。因此,页面光标是不同于鼠标光标的,这是因为鼠标光标是基于鼠标移动的且与移动的鼠标相关的指针。例如,在具有多个录入字段且具有位于页面上顶部字段的页面光标的页面中,用户希望移至页面底部的字段。在不使用凝视检测的情况下,典型的顺序为用户按下Tab键或向下箭头键、多次从顶部字段移至底部字段通过所有的中间字段(或当然也可使用鼠标)。然而,在使用凝视检测的情况下,用户看向底部字段,然后用户按下Tab键(或其它键)、接着页面光标立即跳至底部字段,从而节省了用户的键击且无需使用鼠标。
[0038]一些基于Windows的⑶I具有窗口焦点的概念。在一个时间点,只有一个窗口被选中以与用户进行交互,即所选中的窗口为“焦点对准”,除非选中了桌面且无窗口处于焦点对准中。在另一实施方案中,凝视检测用于改变桌面中焦点对准的窗口。当用户看向桌面中的窗口且开始移动鼠标时,用户所看的窗口则变为具有GUI焦点的窗口。光标也被定位于窗口中的某个位置上,如窗口的中心、顶部、底部、窗口上的POG等。
[0039]由于时常会出现眼睛的不稳定移动,因此很难仅使用凝视而控制鼠标光标,这是因为鼠标光标有时会表现不稳定且难于让用户所跟随。此外,有时用户可能只是想阅读一些东西,因此使光标沿POG移动是令人分心和恼人的。这就是为什么一些实施方案需要显示用户要移动光标的意图,且该意图是经除改变凝视以外的身体动作而进行表现的,如移动鼠标或按下一个键。
[0040]在一个实施方案中,阈值定时器被定义为在凝视检测被激活前用于待置于一个目标上的凝视所需的最小时间量。定时器能够过滤凝视中的潜在不稳定的变化。例如,当用户开始移动鼠标时,在使用凝视检测前用户必须看向屏幕窗口至少一秒。
[0041]图2B示出根据一个实施方案的使用户与计算机系统相连接的环境。大显示器252被分成三个相邻的面板。窗口 260与计算机应用程序相关并横越三个不同面板而扩展。计算机应用程序包括可位于窗口 260中不同区域的屏幕对象(例如,工具箱262a)。在一个实施方案中,屏幕对象262a位于鼠标光标所在显示器的面板中,或在使用多个显示器的情况下,位于鼠标光标所在的显示器中。
[0042]最初,鼠标光标(在位置204上)和工具箱262a位于显不器252的左面板上。用户102将凝视210设置在P0G256上并开始移动202鼠标104。如前所述,当系统检测到用户经身体动作所表现的移动鼠标的意图时,鼠标光标跳至位置258,其位于P0G256上或邻近P0G256。由于鼠标光标已跳至左面板,与鼠标光标的当前位置相关的屏幕对象也被移至左面板上的位置262b。因此,用户得益于凝视辅助的光标运动,以及屏幕对象凝视辅助的运动。
[0043]在一个实施方案中,系统在使用凝视辅助的光标导航前确定P0G256是否位于源自鼠标光标的阈值距离中。在一个实施方案中,阈值距离(例如,100个屏幕像素)限定出环绕P0G256的圆254。当要使用凝视辅助时,也可使用环绕POG的其它类型的区域,如正方形、矩形、椭圆形、八边形、任何正多边形等来进行确定。如果在光标的当前位置与POG之间的距离大于阈值距离(或如果当前位置位于环绕POG的限定区域外),则对鼠标光标运动进行凝视辅助。然而,如果距离小于阈值距离(或当前鼠标光标位于区域中),则不使用凝视辅助,这是因为用户可容易地将鼠标移至目的地附近。通过这种方式,凝视辅助仅用于较大的光标移动,从而在用户进行小光标移动时避免混乱。
[0044]在另一实施方案中,触发确定是否使用凝视辅助的情况为POG是否处于与当前鼠标光标相同的窗口中。在这种情况下,图2B中所描绘的情况不会触发凝视辅助,这是因为鼠标是在同一窗口中进行移动的。
[0045]在图2B所示的实施方案中,鼠标运动的开始为触发凝视辅助的用户的身体动作。其它实施方案可利用其它类型的用户的身体动作作为触发,如按键盘、按下按钮、触摸屏.、说话、弹手指、拍手等。
[0046]在一个实施方案中,用户移动鼠标而不想在屏幕上移动鼠标光标。例如,用户在按住鼠标时可阅读网页,并且由于小的手部运动,用户可将鼠标移动几毫米。在一个实施方案中,为了过滤随机的小鼠标运动,在触发凝视辅助前要设置用于鼠标运动的阈值。因此,仅在至少将鼠标移动阈值鼠标距离时才开始进行凝视辅助。在一个实施方案中,阈值距离为约0.5-5厘米的鼠标运动,且在另一实施方案中,其为0.5-4厘米,而在另一实施方案中,其大于I厘米,但也可根据连接环境使用其它阈值。在另一实施方案中,可参照鼠标光标在屏幕上的运动测量阈值距离。例如,可将阈值设置为鼠标光标在屏幕上至少移动2、5、10、20、25或多于20个像素,然而其它数值也是可能的。
[0047]此外,可通过多个方式将鼠标光标从初始位置204移至接近P0G258的位置。例如,光标可从原来的位置消失并重新出现在目的地位置(即,光标跳跃),或光标可快速地通过原来的位置与目的地之间的桌面进行移动,或光标可短暂地在原来的位置闪烁并随后在目的地位置上重新出现和闪烁,或可快速地移过桌面并随光标接近目的地而减速,或光标可在原来的位置与目的地之间的轨迹中的桌面上的几个位点中短暂地出现(即,离开鼠标踪迹)等。因此,有许多方法用于向用户指示鼠标光标是使用凝视辅助而进行移动的。
[0048]图3示出根据一个实施方案对POG与光标的当前位置之间的距离的估计。不同方法使用不同距离度量以测量在POG与当前光标之间的距离,该距离用于确定是否要利用凝视辅助的光标移动。
[0049]在一个实施方案中,距离是按像素进行测量的。通常情况下,显示器具有用于像素的水平和垂直分辨率。一旦估计出POG在桌面上的位置,距离312则被计算为包括位于相对顶点上的POG和当前光标的矩形的对角线的以像素为单位的尺寸。如果POG与光标水平对齐或垂直对齐,那么距离则分别等于两点之间的水平或垂直像素的数量。
[0050]在另一实施方案中,将距离测量为POG与光标之间的实际物理距离。POG限定在显示器上的第一点,且光标限定在显示器上的第二点。将距离计算为第一点与第二点之间的距离(例如,以英寸为单位进行测量)。
[0051]在另一实施方案中,将距离测量为顶点在用户102处(例如,在眼睛之间、在鼻尖处等)的角Φ308,第一光线302从顶点发出到达P0G256处,且第二光线310从顶点发出到达光标的当前位置204。因此,角Φ308越宽,鼠标到达POG所要经过的路线越长。用于凝视激活的阈值是以度进行限定的(例如,当角Φ308大于30度时使用凝视辅助运动,但是其它值也是可能的)。在另一实施方案中,基于角Φ308和用户的深度304触发凝视辅助,其中深度为用户至显示器中某个位置的距离。例如,当用户进一步远离显示器时,以度为单位测得的阈值可以更小,这是因为用户进一步远离显示器将比用户更接近显示器的情况下对同样的距离限定出更小的角度。
[0052]图4A示出用于使用角膜反射的POG检测的实施方案。眼动仪是用于测量眼位和眼睛移动的装置。有很多用于测量眼睛移动和凝视方向的方法。有些方法使用提取眼位的视频图像,而其它方法则基于眼电图使用搜索线圈,或使用红外光线以进行凝视检测。通过利用凝视检测,装置可向用户提供更直观的交互和改进的经验。
[0053]图4A示出用于凝视检测的一个实施方案,其中对朝向用户的光线所进行的角膜反射进行了分析。如图4A所示,红外光源404发射红外光线,并通过红外摄像头406捕捉从用户402的角膜所反射的红外光线。然后,分析该反射以确定用户402的POG。红外光源404也可嵌在摄像头406里。在另一实施方案中,使用可见光谱中的光线代替红外光线,且也可结合可见光线和红外光线使用。
[0054]使用虹膜-巩膜边界(边缘)的透视投影估计空间中眼睛的位置和方向,以便计算POG。POG估计确定瞳孔中心的位置以及一个或多个角膜反射。角膜反射为照射眼睛的光源(例如,红外)的虚拟图像且是通过作为凸面镜的角膜前表面所创建的。更多有关使用角膜反射的凝视检测的细节请参见2006年E.Guestrin和M.Eizenman所著的《IEEETransactions on Biomedical Engineering》中的“General theory of remote gazeestimation using the pupil center and corneal reflections,,,其以弓I用方式并入本文。
[0055]图4B示出根据一个实施方案的用于使用图像分析和人脸跟踪的POG检测的方法。在一个实施方案中,利用对用户区域410的视频图像412的图像分析确定凝视检测,其包括对用户特征,如眼睛416和418、脸、鼻子422、嘴巴420、躯干414等进行检测和跟踪。在图4B所示的实施方案中,跟踪脸部特征以估计头部的三维位置并获得眼睛旋转中心的位置。所跟踪的特征越多,凝视检测则越可靠。例如,如果用户转动其头部使其远离摄像头,则只有一只眼睛对于摄像头而言是可见的。通过了解鼻子和嘴巴的位置,系统确定用户已转动其头部,而不是假设眼睛检测失败。一旦确定了用户特征的位置,则可计算P0G。头部与脸部跟踪可用于提高凝视检测的精确度。通常,头部跟踪比凝视跟踪更准确,这是因为头部不会像眼睛一样不时地进行不稳定的移动。
[0056]从用户的凝视方向和摄像头相对于显示器的位置,可确定在显示器上用户凝视所聚焦的地方。由于摄像头和显示器可彼此相分开,因此也可进行校准操作以确定显示器的位置。请用户看着显示器,且系统估计显示器的位置。在另一实施方案中,校准操作可包括使用户朝显示器或多个显示器中的一个或多个目标看,从而进一步地改进对显示器位置以及对显示器中⑶I对象的位置的估计。
[0057]在一个实施方案中,当基于图像分析使用凝视检测时,桌面上一批凝视位置都聚集在一起。由于人视觉系统的不稳定性,这些位置可能会是特定区域中的一个随机系列的点。可使用算法从一批点中获得中央聚焦位置,该算法利用统计分析确定P0G。对一个时间段内从多个图像中获得的聚焦位置进行平均以过滤不稳定的凝视移动。
[0058]聚焦位置限定出“目标区域”的中心。也可根据凝视位置流以及之前的聚焦位置确定目标区域的大小。一种算法包括找到每个凝视位置至目标区域中心(聚集位置)的距离以及使用这些距离的平均值或总和估计质心,其限定出目标区域的中心。
[0059]使用凝视焦点的目标区域,应用改变光标的移动方式以更有效地达到目标。如前所述,这包括基于距目标区域的距离改变鼠标光标的速度、将光标吸引至目标聚焦区域或使光标的位置跳至目标区域。
[0060]在一个实施方案中,跟踪可被分为几个阶段,第一阶段由头部跟踪所限定,且第二阶段则由凝视检测所限定。当头部移动时,使用头部跟踪确定目标区域,这是因为头部跟踪通常比凝视跟踪更可靠。一旦头部运动基本上停下来时,利用凝视跟踪对目标区域的位置进行细调,然后进行鼠标运动以获得更精细的分辨率,从而将光标移至其目的地。在另一实施方案中,跟踪的阶段至少包括使用头部跟踪以从多个显示器选择一个显示器的第一阶段,以及使用凝视跟踪在所选择的显示器中限定目标的第二阶段。
[0061]图5示出根据一个实施方案的用于使用凝视检测以在手持装置中快速滚动的方法。便携装置506包括用于进行凝视检测的前置摄像头。然而,由于显示区域小,当与独立显示器的区域相比时,很难仅使用凝视检测以在显示器中选择小的对象。然而,本发明的实施方案通过检测屏幕中或屏幕外的POG而在使用便携装置506时提供导航辅助以加速导航。
[0062]用户502使凝视504对着位于便携装置506的显示器外部的区域以向计算机程序提供命令或暗示以进行导航。例如,如果用户502正在阅读较长的文件且一次仅显示文件的一部分,那么用户在使用另一输入(例如,按钮或触摸屏)时凝视屏幕的上方、下方、左侧或右侧以指示用户希望对导航加速。因此,如果用户在触摸屏上向下滑动手指且同时保持凝视在屏幕上,程序则将向上滚动显示。然而,如果用户使凝视504位于显示器上方,这指示用户想到达文件的顶部,所以当用户开始在显示器上滑动手指时,程序将跳至文件的顶部,且不管正在显示的是文件的哪一部分。同样,用户可以看着显示器的下方以跳至页面的底部。这在一些在电子邮件底部显示附件图标的电子邮件客户端中则特别有用。如果电子邮件很长,则需要大量的手指滚动以到达附件图标。通过使用凝视,可以跳至底部,从而节约精力和时间。
[0063]在另一实施方案中,向正在阅读智能手机或平板装置中的书籍或杂志的用户提供凝视辅助导航。当用户想翻页时,用户看向屏幕左侧或右侧的远方,然后则在屏幕上进行轻点以进行翻页。在另一实施方案中,用户仅看向显示器的左边缘或右边缘,并结合在屏幕上的轻点,从而促使翻页,而不需要用户看向屏幕外侧。平板装置具有更大的显示器,且凝视检测可以具有足够的精确度以确定用户是看向左侧还是右侧。例如,角膜分析将指示瞳孔是向左还是向右。
[0064]图6示出根据一个实施方案的用于使用凝视检测和用户输入以进行快速光标移动的方法。在一个实施方案中,与身体动作相关的预定输入可使计算机程序将凝视用作补充输入。例如,用户602正使用包括触控板612、显示器610和面向用户的摄像头的笔记本电脑604进行工作。基于用户的凝视,两个手指轻点触控板以触发鼠标光标的移动。
[0065]在图6所示的实施方案中,鼠标光标在位置614上。当用户执行两手指轻点触控板612时,在将用户的凝视608引向P0G620时,鼠标光标跳至位置618,其紧邻P0G620或正好位于P0G620处。选择窗口 616,这是因为鼠标光标现正处于窗口 616中。
[0066]应注意的是图6所示的实施方案为示例性的。其它实施方案可利用不同的输入(例如,双击鼠标、在触控板上进行两次连续轻点、在键盘上按下一个键等)触发凝视辅助导航,或其它实施方案可通过不同方式(例如,选择窗口、改变浏览器的活动标签、滚动窗口等)辅助导航。因此,图6所示的实施方案不应被解释为排他性或限制性的,而是示例性或说明性的。
[0067]在一个实施方案中,当检测到用户的凝视时,GUI在显示器上提供反馈。例如,近似位于POG上中心的区域在显示器中进行放大,⑶I上的一些窗口变得透明,图标或窗口进行重排,或显示弹出式菜单,等等。
[0068]图7示出根据一个实施方案的凝视辅助的游戏界面。用户702正在玩在游戏控制台704上所执行的游戏,且该游戏控制台704被连接至用于凝视检测的摄像头706。当用户702按下控制器708上的一个按钮时,游戏根据按下按钮时用户的凝视而以不同动作进行响应。在图7所示的实施方案中,用户正控制与敌人角色714进行战斗的游戏角色712。游戏根据用户的POG做出不同反应。
[0069]当用户的P0G716a位于边缘或显示器上或位于显示器外时,按下控制器708上的X按钮710将会使游戏执行第一个动作(例如,角色712对枪进行重载)。当用户的P0G716b位于用户702所控制的角色712上时,按下X按钮710将会使游戏执行第二个动作(例如,提高游戏角色的健康水平)。当用户的P0G716C位于敌人角色714上时,按下X按钮710将会促使游戏执行第三个动作(例如,使角色712在P0G716C的位置进行射击)。
[0070]应注意的是图7所示的实施方案为示例性的。其它实施方案可利用不同的按钮、不同类型的输入装置,或使游戏做出不同的反应(例如,选择一个对象、打开门、使角色移动等等)。因此,图7所示的实施方案不应被解释为排他性或限制性的,而是示例性或说明性的。
[0071]图8示出根据一个实施方案的响应于手势的窗口的图形用户界面。GUI使用凝视和手势作为输入以加强用户与GUI的交互。当用户执行预定手势时,在与用户凝视相关或经用户凝视选择的对象上执行动作。
[0072]例如,用户814希望将窗口 810从显示器802移至显示器806。为了进行移动,用户看着窗口 810、抬起手818并将手818从左侧移动816至右侧,指示用户814想将窗口 810从左侧移向右侧。由于桌面显示在两个显示器上,将窗口从左侧移动804至右侧将使窗口810在显示器806中的位置812中终止。从摄像头820获得的图像用于凝视检测和手势检测,然而也可使用任何进行凝视检测或手势检测的方法。在这种情况下,以使用手所进行的手势的身体动作表现用户的意图。
[0073]在另一实施方案中,用户的手势用于操作呈现在显示器上且通过凝视所选择的对象。例如,在游戏环境中,用户看着游戏中的对象(例如,武器、宝藏、硬币、梯子等),且当用户移动手时,游戏通过在对象上进行相关的动作而响应手的运动。例如,用户可通过凝视选择地面上的硬币,然后用户移动手就好像要捡起硬币一样,从而使用户所控制的化身或游戏角色捡起硬币。
[0074]图9示出根据一个实施方案的利用凝视检测、语音识别以及一个或多个计算机外围设备的界面。在一个实施方案中,凝视用于选择显示器中的一个区域或一个对象,用户输入指示对象的选择(例如,移动鼠标或按键),且语音识别用于在对象上执行一个动作。
[0075]例如,用户912在窗口环境中工作且想要打开在桌面上以文件夹图标所表示的文件夹904。鼠标位于桌面中远离文件夹904的位置908处。用户912使凝视对着文件夹904并开始移动914鼠标916。当检测到鼠标运动时,系统检查用户的凝视并确定POG为接近文件夹图标904的目标区域906。然后,系统使鼠标光标移动或跳至在文件夹904上或接近文件夹904的位置902。如果光标位置不在文件夹上,用户进行小的鼠标运动以将光标定位在文件夹904的顶部。一旦鼠标位于文件夹904上,用户则说出910通过语音识别程序所检测的命令(例如,“打开”、“复制”、“删除”、“移动”)。一旦检测到语音命令,则进行所要求的操作(例如,打开窗口以显示文件夹904的内容)。
[0076]图10为实施本发明的实施方案的计算机系统的简化示意图。应理解的是,可使用数字处理系统,如传统的通用计算机系统执行本文所述的方法。在替代方案中也可使用专用计算机,其被设计或编程为仅执行一个功能。计算装置1012包括处理器1032,其被耦合到存储器1034、永久存储装置1058以及内部的其它模块,或被连接至计算装置1012。⑶I计算机程序1036存在于存储器1034中,但也可存在于永久存储装置1058中。
[0077]计算装置1012与声音捕获装置1008、图像捕获装置1020和显示器1026进行通信。在一个实施方案中,声音捕获装置1008、图像捕获装置1020和显示器1026可嵌入计算装置1012中,或可被组合至一个或多个装置,如视频记录器中。在一个实施方案中,声音捕获装置包括麦克风,在另一实施方案中,声音捕获装置包括麦克风阵列。
[0078]如前所述,在显示器中限定出凝视目标1028,然而也可在显示器外部设置凝视目标1028,如在计算装置1012上,或在显示器周围的区域1028上。凝视检测模块1024确定用户的P0G,并确定用户1002的凝视1006是否朝向凝视目标1028。在语音方面,语音识别模块1016处理从声音捕获装置1008接收到的声音1004,并进行语音识别以确定是否已发出有效的用户口头命令。GUI计算机程序1036从凝视检测1024、语音识别模块1016和头部跟踪模块1038接收输入以实现上述本发明的实施方案。
[0079]永久存储装置1058表示持久性数据存储装置,如软盘驱动器或固定盘驱动器,其可以是本地的或远程的。网络接口 1046提供网络连接,允许与其它装置进行通信。应理解的是,处理器1032可以嵌入通用处理器、专用处理器或专门的编程逻辑装置中。输入/输出(I/O)接口 1042提供与不同外围设备,如显示器1026、键盘1052、鼠标1050、声音捕获装置1008、图像捕获装置1020、扬声器1054、按钮、传感器、触摸屏1056等等的通信。通用串行总线(USB)模块1044提供了与USB装置的连接。
[0080]显示器1026被配置来显示本文所述的用户界面。键盘1052、鼠标1050和其它外围设备被耦合至I/O接口 1042,以便将信息传送给处理器1032。应理解的是,可通过I/O接口 1042传送到达和源自外部装置的数据。本发明也可在分布式计算环境中予以实践,该分布式计算环境通过经基于有线的或无线网络而链接的远程处理装置执行任务。
[0081]应注意的是图10所示的实施方案为示例性的。其它实施方案可利用不同模块或具有通过一个模块所执行的多个功能等。因此,图10所示的实施方案不应被解释为排他性或限制性的,而是示例性或说明性的。
[0082]图11示出说明根据本发明的一个实施方案的使用户与在计算装置中执行的计算机程序相连接的算法的流程图。在操作1102中,识别了用户的P0G,且在操作1104中,进行检查以确定用户是否已发起身体动作以移动光标。如果用户已发起身体动作,方法前进至操作1106,且如果用户还未发起身体动作,则返回至操作1102。
[0083]在操作1106中,进行检查以确定在光标的当前位置与POG之间的距离是否大于阈值距离。如果距离大于阈值距离,该方法前进至操作1108,其中光标被移至紧邻POG的区域。如果距离不大于阈值距离,该方法流回至操作1102。
[0084]可使用各种计算机系统配置,包括手持装置、微处理器系统、基于微处理器或可编程的消费电子产品、微型计算机、大型计算机等实践本发明的实施方案。本发明也可在分布式计算环境中予以实践,该分布式计算环境通过经网络链接的远程处理装置执行任务。
[0085]考虑到上述实施方案,应理解的是,本发明可采用各种涉及存储在计算机系统中数据的由计算机所实现的操作。这些操作是需要对物理量进行物理操作的那些。形成本发明一部分的本文所描述的任何操作均为有用的机器操作。本发明还涉及用于执行这些操作的装置或设备。可对设备进行专门构造以用于所需目的,如专用计算机。当限定为专用计算机时,计算机还可进行不构成特殊用途一部分的其它处理、程序执行或例程,其同时还能够进行操作以用于特殊用途。可替代地,可通过选择性激活的通用计算机处理或通过存储于计算机存储器和缓存器中的一个或多个计算机程序配置或经网络获得该操作。当经网络获得数据时,可通过网络上的其它计算机,例如,计算资源云处理数据。
[0086]本发明的一个或多个实施方案也可被制造为计算机可读介质上的计算机可读编码。计算机可读介质是为任何可存储数据的数据存储装置,其随后可通过计算机系统进行阅读。计算机可读介质的实例包括硬盘驱动器、网络附加存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其它光学和非光学数据存储装置。计算机可读介质可包括分布在网络耦合的计算机系统中的计算机可读有形介质,以便通过分布方式存储和执行计算机可读编码。
[0087]尽管该方法的操作是以特定顺序进行描述的,应理解的是,其它内务操作可在操作之间执行,或可对操作进行调整以使其发生的时间略有不同,或操作可分布在一个系统中,只要按所需方式进行叠置操作的处理,则该系统允许与处理相关的处理操作以不同间隔发生。
[0088]虽然前面已对本发明的一些细节进行描述以使人们清楚地理解本发明,但显而易见的是可在所附权利要求的范围内实施某些变化和修改。相应地,本实施方案被认为是说明性而非限制性的,且本发明并不限于本文所给出的细节,但可在所附权利要求的范围和等同范围内进行修改。
【权利要求】
1.一种使用户与在计算装置中所执行的计算机程序相连接的方法,所述方法包括: 识别所述用户的凝视点(POG); 检测所述用户开始进行的用于移动光标在显示器上位置的身体动作,所述光标限定出与所述计算机程序相关的聚焦区域; 确定在所述光标的当前位置与所述POG之间的距离是否大于阈值距离;以及 将所述光标从所述当前位置移至邻近所述POG的区域以响应所述确定和所述检测。
2.根据权利要求1所述的方法,其中所述身体动作为移动鼠标、按下键、按下按钮、触摸屏幕、触摸触控板、做出手势或说话中的一个。
3.根据权利要求1所述的方法,其中确定所述距离还包括: 确定在所述当前位置与所述POG之间的屏幕像素中测得的距离值。
4.根据权利要求1所述的方法,其中确定所述距离还包括: 确定所述当前位置和所述POG是否位于所述GUI中的不同窗口中。
5.根据权利要求1所述的方法,其中所述光标为鼠标光标、文本光标、字段选择光标或页面光标中的一个。
6.根据权利要求1所述的方法,其中移动所述光标还包括: 将所述光标从所述当前位置移除并将所述光标置于所述POG上。`
7.根据权利要求1所述的方法,其中移动所述光标还包括下列操作中的一个或多个: 将所述光标置于所述POG所处的窗口上; 将所述光标置于所述POG所处的显示器上; 将所述光标置于邻近所述POG的GUI对象上;或者 将所述光标置于邻近所述POG的录入字段上。
8.根据权利要求1所述的方法,其还包括: 基于在所述光标与所述POG之间的距离改变控制所述光标的鼠标的灵敏度。
9.根据权利要求1所述的方法,其还包括: 跟踪所述用户的头部位置。
10.根据权利要求1所述的方法,其还包括: 检测所述用户触发立即凝视辅助导航的输入;以及 在检测到输入后将所述光标移至所述P0G。
11.一种具有图形用户界面(⑶I)的系统,所述系统包括: 处理器,其执行提供所述GUI的计算机程序,在一个或多个显示器中提供有所述GUI ;输入装置,其可操作以当所述用户在所述输入装置上开始进行身体动作时移动光标在所述一个或多个显示器上的位置;和 凝视检测模块,其可操作用于识别所述用户的凝视点(P0G),其中所述计算机程序确定在所述光标的当前位置与所述POG之间的距离是否大于阈值距离,且其中所述计算机程序将光标从所述当前位置移至邻近所述POG的区域以响应对距离的确定和对身体动作的检测。
12.根据权利要求11所述的系统,其中所述凝视检测模块使用角膜反射分析或对摄像头拍摄的用户图像的分析中的一个。
13.根据权利要求12所述的系统,其中所述凝视检测模块分析若干用户图像以确定所述用户的多个身体特征中的一个的位置。
14.根据权利要求11所述的系统,其中所述GUI在所述POG被置于所述GUI中的对象上时向所述用户提供提示。
15.根据权利要求11所述的方法,其还包括: 语音识别模块,其可操作以基于所述POG执行语音命令。
16.一种具有程序指令的非临时性计算机可读介质,当计算机执行所述程序指令时,实施一种使用户与计算机程序相连接的方法,所述方法包括: 识别所述用户的凝视点(POG); 检测所述用户开始进行的用于移动光标在显示器上位置的身体动作,所述光标限定出与所述计算机程序相关的聚焦区域; 确定在所述光标的当前位置与所述POG之间的距离是否大于阈值距离;以及 将所述光标从所述当前位置移至邻近所述POG的区域以响应所述确定和所述检测。
17.根据权利要求16所述的非临时性计算机可读介质,所述方法还包括下列操作中的一个或多个: 移动所述⑶I的窗口; 按下所述⑶I的按钮; 打开所述⑶I的窗口 ;` 关闭所述⑶I的窗口; 打开所述GUI的菜单; 从所述菜单选择选项;或 隐藏除了 POG所在窗口以外的所述⑶I的窗口。
18.根据权利要求16所述的非临时性计算机可读介质,其中所述计算机为游戏控制台,其中所述计算机程序为计算机游戏,且其中所述计算机游戏在所述用户按下控制器上按钮时确定所述计算机游戏的反应,所述反应是基于所述P0G。
19.根据权利要求16所述的非临时性计算机可读介质,所述方法还包括: 检测所述用户正在阅读;以及 在所述POG接近窗口的边缘时,滚动所述窗口的内容。
20.根据权利要求16所述的非临时性计算机可读介质,所述方法还包括: 确定所述POG位于所述显示器的外部; 检测所述用户的另一身体动作的开始;以及 基于所述POG滚动窗口的内容。
【文档编号】G06F3/0485GK103518172SQ201280022042
【公开日】2014年1月15日 申请日期:2012年4月6日 优先权日:2011年4月21日
【发明者】J.R.斯塔福德 申请人:索尼计算机娱乐公司

最新回复(0)