对计算设备上的数据的保护和访问的改进的制作方法

文档序号:17697432发布日期:2019-05-17 21:44阅读:132来源:国知局
对计算设备上的数据的保护和访问的改进的制作方法

本申请要求2017年11月9日提交的临时美国专利申请号62/583,666的权益和优先权,其全部公开内容通过引用并入本文并用于所有目的,如同在本文中完全阐述一样。



背景技术:

计算设备上的用户体验取决于许多因素(包括计算设备的性能和托管应用程序的性能)而变化很大。保护数据并提供对数据的访问是用户体验的相关方面。如果数据受到损害,用户体验可能会显著降低。类似地,如果需要多个步骤来访问数据,用户体验也会受到负面影响。现有的系统试图以不同方式解决这两个方面。

在示例中,计算设备上的数据对于用户可以是敏感的、私人的或机密的。因此,保护其不受未授权的访问(例如由未经用户允许的人物的访问)变得重要。当用户离开计算设备时,可以通过锁定显示器来阻止未授权的访问。锁定可以基于用户输入而手动进行,或者可以在已经一段不活动时间后自动进行。解锁通常需要用户的登录信息。

但是,这种保护过程有一些缺点。具体地,如果用户忘记手动地锁定计算设备,则未授权的人物可以在经过不活动时间段之前访问数据。此外,即使正确地锁定了,该处理也不能防止当用户操作计算设备时为获得对数据的视觉访问而对显示器的未经授权的窥视。

为了防止窥视,现有方案涉及使用硬件显示过滤器。这种过滤器通常永久或暂时地附接到显示器。然而,在附接有过滤器的情况下,即使是在没有未授权的窥视时,过滤器也总是减低显示器的亮度,因此降低了用户体验。

与授权的访问(例如,用户的访问)相关联的用户体验通常通过提供不同的快捷方式来操纵数据而改善。例如,通过按下键盘上的按钮组合,可以在计算设备上的多个位置之间复制和粘贴数据。类似地,通过按下另一按钮的组合,用户可以在显示器的前景和背景中切换打开窗口。然而,这种快捷方式通常需要用户熟悉组合并且通常依赖于触觉输入。

附图说明

通过参考以下附图可以实现对各个实施例的本质和优点的进一步理解。在附图中,类似的部件或特征可以具有相同的附图标记。此外,相同类型的各个部件可以通过用短划线跟随附图标记和区分相似部件的第二标记来区分。如果在说明书中仅使用第一附图标记,则该描述适用于具有相同第一附图标记的任何一个类似部件,而与第二附图标记无关。

图1展示了根据实施例的眼球追踪系统;

图2展示了根据实施例的由图像传感器捕获的眼球的图像的示例;

图3是说明可以实现本公开的实施例的专用计算机系统的框图;

图4说明了根据实施例的用于基于存在检测来保护用户的计算设备上的数据的示例;

图5说明了根据实施例的更新用户界面以支持数据保护的示例;

图6说明了根据实施例的用于基于计算设备的单个用户保护数据的示例流程;

图7说明了根据实施例的用于基于计算设备的多个用户保护数据的示例流程;

图8说明了根据实施例的用于基于当前检测来加密数据的流程的示例;

图9说明了根据实施例的用户界面的示例以及对围绕用户在用户界面上的视线位置的区域的确定;

图10说明了根据实施例的在图9的用户界面上呈现的查看器的示例;

图11说明了根据实施例的当用户的视线在用户界面上移动时更新查看器以追踪视线位置的示例;

图12说明了根据实施例的视线位置、区域和查看器的相对定位,以及当视线位置接近该区域的边缘时如何更新查看器的示例;

图13说明了根据实施例的用于呈现查看器的流程的示例;

图14说明了根据实施例的使用基于视线信息的用户界面(ui)对象来操纵数据的示例;

图15说明了根据实施例的ui对象中呈现的信息的示例;

图16说明了根据实施例的通过使用ui对象来完成数据操纵的示例;

图17说明了根据实施例的基于ui对象竞争数据操纵的结果的示例;

图18说明了根据实施例的基于ui对象跨两个计算设备的数据操纵的示例;

图19说明了根据实施例的基于ui对象的操纵数据的示例流程。

具体实施方式

姑且不论其他,本公开的实施例涉及使用眼球追踪技术来改善用户体验,包括对数据保护和数据访问的改进。眼球追踪技术的进步使得可以使用人物的视线信息(换句话说,用户注视着的显示器上的位置)与计算设备交互。该信息可以单独地用于交互,或与基于接触的交互技术(例如,使用用户输入设备(如键盘、鼠标或触摸屏))组合地用于交互。先前提出的使用视线信息的交互技术可以在美国专利6,204,828、美国专利申请20130169560、美国专利7,113,170、美国专利申请20140247232和美国专利9,619,020中找到。这些专利和申请的完整说明书通过引用在此并入。

关于数据保护,本公开的实施例涉及检测授权的用户相对于计算设备的存在,并且基于该存在以及可选地基于另一个人物相对于计算设备的存在来更新计算设备的用户界面。例如,在用户登录到计算设备上时,图像传感器被启用并监控用户是否继续存在。如果用户离开,则会自动地且立即地锁定用户界面。以这种方式,计算设备上的数据可以在用户不在时自动且立即受到保护。在另一示例中,当用户正在操作计算设备并且感测到他或她的存在时,如果也感测到另一人物的存在并且指示该另外的人物正在注视用户界面,则计算设备可以在检测到未授权的视线时自动减低用户界面的亮度。以这种方式,可以保护数据不受未授权的窥视,而没有安装和使用硬件显示过滤器的复杂性和对用户体验的影响。在某种程度上,对亮度的控制充当在软件中实现的显示过滤器,并在必要的时间段期间自地动启用和停用。

关于数据访问,本公开的实施例涉及使用视线信息来控制如何在用户界面上操纵和/或呈现数据。在示例中,用户可以在用户界面上具有多个打开窗口。一些窗口可以在背景中,而其他窗口可以在用户界面的前景中。通常地,前景窗口遮挡背景窗口的呈现。基于在前景窗口上检测到用户的视线,可以在该窗口上呈现查看器,并且查看器可以展示隐藏的背景窗口的内容。以这种方式,查看器充当窥视孔,提供关于背景窗口的观察,而无需用户切换该窗口(例如,通过按下按钮的组合以将窗口从背景切换到前景)。

在另一示例中,视线信息用于复制数据。例如,用户可能希望将多个文件从在前景中呈现的源文件夹复制到在背景中可用的目标文件夹。用户按下组合键以选择和复制文件。基于视线信息,在用户界面上呈现用户界面(ui)对象。ui对象追踪用户的视线并展示复制的文件的数量。用户可以通过按下按钮来扩展ui对象,使得ui对象呈现关于复制的文件的细节(例如,文件名、源位置等)。在用户注视目标文件夹并提供另一用户输入(例如,通过按下按钮的组合)时,文件被复制到目标文件夹并且ui对象被更新以展示复制的进度。以这种方式,视线信息用于在文件夹之间移动数据而无需用户在文件夹之间切换(例如,通过按下组合按钮以将目标文件夹从用户界面的背景切换到前景)。

提供这些和其它特征是为了说明的目的。结合图4-19进一步描述数据保护和数据访问。在图1-3中预先描述了视线追踪系统的细节。

眼球追踪

图1展示了根据实施例的眼球追踪系统100(也可以被称为视线追踪系统)。系统100包括用于照射用户眼球的发光器111和112,以及用于捕获用户的眼球的图像的图像传感器113。发光器111和112可以例如是以红外频带或近红外频带发射光的发光二极管。图像传感器113可以是例如,摄像头,例如互补金属氧化物半导体(cmos)摄像头或电荷耦合器件(ccd)摄像头。摄像头不限于ir摄像头或深度摄像头或光场摄像头。并且,图像传感器的快门机制可以是滚动快门或全局快门。

第一发光器111与图像传感器113同轴(或靠近)布置,使得图像传感器113可以捕获用户眼球的亮瞳孔图像。由于第一发光器111和图像传感器113同轴布置,从眼球的视网膜反射的光通过朝向图像传感器113的瞳孔返回,使得在第一发光器111照射眼球的图像中,瞳孔看起来比其周围的虹膜更亮。第二发光器112与图像传感器113非同轴地布置(或者远离光传感器113布置),用于捕获暗瞳孔图像。由于第二发光器112和图像传感器113非同轴布置,从眼球的视网膜反射的光不会到达图像传感器113,并且在第二发光器112照射眼球的图像中,瞳孔看起来比其周围的虹膜更暗。例如,发光器111和112可以轮流照射眼球,使得每个第二图像为亮瞳孔图像,或者每个第二图像为暗瞳孔图像。

眼球追踪系统100还包括用于处理由图像传感器113捕获的图像的电路120(例如,包括一个或多个处理器)。例如,电路120可以通过有线或无线连接而连接到图像传感器113和发光器111和112。在另一示例中,可以在图像传感器113的光敏表面下方的一个或多个堆叠层中设置一个或多个处理器形式的电路120。

图2展示了根据实施例的由图像传感器113捕获的眼球200的图像的示例。例如,电路120可以采用图像处理(例如数字图像处理)来提取图像中的特征。电路120可以例如采用瞳孔中心角膜反射(pccr)眼球追踪来确定眼球200正在看的位置。在pccr眼球追踪中,处理器120估计在眼球200处的瞳孔210的中心的位置以及闪烁220的中心的位置。闪烁220是由来自发光器111和112中的一个发光器的光的反射引起的。处理器120使用闪烁220计算用户在空间中的位置以及用户的眼球200使用瞳孔210指向的位置。由于眼球200的光学中心与中央凹(fovea)之间通常存在偏移,因此处理器120执行中央凹偏移的校准以能够确定用户正在看的位置。然后可以组合从左眼和右眼获得的视线方向以形成组合的估计视线方向(或观看方向)。如下所述,在形成该组合时,许多不同的因素可能影响左眼和右眼的视线方向应当如何相对于彼此加权。

在参照图1描述的实施例中,发光器111和112布置在眼球追踪模块110中,该眼球追踪模块110放置在用户观看的显示器下方。这种布置仅作为示例。应当理解,可以采用更多或更少数量的发光器和图像传感器来进行眼球追踪,并且这种发光器和图像传感器可以相对于用户观看的显示器以许多不同的方式来分布。应当理解,本发明中描述的眼球追踪方案可以例如用于远程眼球追踪(例如,在个人计算机、智能手机中,或集成在车辆中)或用于可穿戴眼球追踪(例如,在虚拟现实眼镜或增强现实眼镜中)。

图3是可以实现本公开实施例的特定计算机系统300的框图。该示例说明了专用的计算机系统300,例如该系统可以全部地、部分地或以各种修改而使用,以提供在此描述的部件的功能。

特定计算机系统300展示为包括可以经由总线390电性连接的硬件元件。硬件元件可以包括一个或多个中央处理单元310、一个或多个输入设备320(例如,鼠标、键盘、眼球追踪设备等)以及一个或多个输出设备330(例如,显示设备、打印机等)。特定计算机系统300还可以包括一个或多个储存设备340。例如,存储设备340可以是磁盘驱动器、光学存储设备、固态存储设备(例如,随机存取存储器(“ram”)和/或只读存储器(“rom”)),其可以是可编程的、可刷写更新的和/或类似的。

此外,特定计算机系统300还可以包括计算机可读存储介质读取器350、通信系统360(例如,调制解调器、网卡(无线或有线)、红外通信设备、蓝牙tm设备、蜂窝通信设备等)以及可以包括如上所述的ram和rom设备的工作存储器380。在一些实施例中,特定计算机系统300也可以包括处理加速单元370,其可以包括数字信号处理器、专用处理器和/或其他类似的处理器。

数据保护

图4说明了根据实施例的用于基于存在检测来保护用户的计算设备上的数据的示例。说明了各种场景,包括单个用户和多个用户的存在,并且包括视线信息的使用。

在一个场景410中,单个用户操作计算设备并检测到第二人物的存在。该用户被识别为计算设备的授权的用户。可以采用各种技术实现这种识别。例如,用户提供用户标识符(例如,用户名,凭证等)以登录计算设备。用户标识符用于验证用户的访问。在另一示例中,图像传感器捕获用户的图像。应用面部识别以将图像与未授权的用户的已知图像进行比较。基于该比较的图像匹配验证用户的访问。在该示例中,图像传感器可以与眼球追踪系统分离地与计算设备集成,或者可以是眼球追踪系统的图像传感器。转而,眼球追踪系统可以与计算设备集成或通信地连接。

随时间监控用户相对于计算设备的存在。该监控可以在重复的时间间隔上发生(例如,每一秒或在用户设置中指定的或定义为默认的一些其他时间间隔)。在示例中,基于由图像传感器捕获的图像来检测该存在。例如,如果图像的分析展示了用户(例如,基于面部识别检测到用户的面部),则确定用户是存在的。如本文所使用的,用户的“相对于计算设备的存在”是指用户接近计算设备(例如,通过坐在其前面与在计算设备相邻的区域而在计算设备前工作),其中接近度取决于从由图像传感器捕获的图像中检测用户的能力。

当用户相对于计算设备存在(例如,在其上工作)时,检测到第二人物的存在。这里,可以基于从图像传感器捕获的图像而类似地检测第二人物的存在。例如,如果图像展示了(除了用户之外的)第二人物,则确定存在第二人物。如本文所使用的,人物的“相对于计算设备的存在”是指接近计算设备的人(例如,在与计算设备相邻的区域),其中接近度取决于由从图像传感器中捕获的图像中检测人物的能力。“用户”和“人物”之间存在区别。“用户”是个体,用户是计算设备的授权的操作者。相比之下,“人物”也是个体,但是该个体不是计算设备的操作者。

一旦检测到另一人物,就可以确定该人物是否被授权接近计算设备(例如,第二授权的用户)。可以使用各种技术来做出该确定。在一个示例中,可以使用人物的标识符。例如,如果该人物正确地登录到计算设备,则确定他或她是被授权的。这里,登录可以是人物的凭证或基于如上所述的面部识别。在另一示例中,使用用户设置。例如,用户设置可以指定除了用户之外允许接近计算设备的人数,和/或可以存储这些人物的图像。如果可用,图像将用于面部识别以授权该人物的存在。在又一示例中,在确定中使用检测到的人物的存在的时间。更具体地,如果用户第一次出现,然后随后该人物存在,则该人物的存在被假定为是未授权的。

如果确定该人物的存在是未授权的(例如,未被计算设备的用户允许),则可以自动地更新计算设备的用户界面。例如,用户界面可被模糊和/或可以对用户界面中呈现的内容进行加扰。这些和其他更新是可能的,并且可以在用户设置中定义。替代性地,用户设置可以指定不应基于未授权的人物的存在而进行更新。

在另一场景420中,单个用户操作计算设备,离开而没有锁定计算设备,并且在用户不在时检测到第二人物的存在。基于用户不在并且检测到另一人物的存在,自动地更新计算设备的用户界面。这里,该更新包括例如锁定和/或使用户界面模糊。当然,其他更新是可能的,并且可以在用户设置中定义。

这里,类似于场景410,用户相对于计算设备的存在以及确定他或她是计算设备的授权用户可以涉及由图像传感器捕获的图像和用户的标识符。同样地,第二人物的未授权的存在可能涉及图像。

可以使用各种技术来检测用户不在。在一个示例中,如果用户不再显示在由图像传感器捕获的一个或多个图像中,则确定用户不在。在另一示例中,追踪用户在计算设备上的活动(例如,在设备的键盘上按钮按压的频率)。如果活动停止(例如,按钮不再被按下,或者不再至少以最小频率被按下),则检测到用户不在。

在另一场景430中,单个用户操作计算设备,并且把视线从计算设备移开一段时间。基于用户相对于计算设备是存在的,即使用户移开视线,也不更新(例如,调暗)用户界面。相比之下,当用户移开视线时,现有的系统(例如,现有的智能电话)会调暗用户界面。

这里,类似于场景410,用户相对于计算设备的存在以及他或她是计算设备的授权用户的确定可以涉及由图像传感器捕获的图像和用户的标识符。另外,可以基于视线信息来检测用户的存在和/或他或她的不在。具体地,视线追踪系统可以监控用户的视线在用户界面上的位置。只要检测到视线,就确定用户是存在的。如果不再感测到视线,则确定用户移开了视线。

在另一场景440中,单个用户操作计算设备,并且在用户存在时检测第二人物的存在。该人物的存在指示该人物正在窥视用户界面。基于用户和另一个人物的同时存在,自动地更新计算设备的用户界面。这里,该更新包括:例如锁定、调暗和/或使用户界面模糊。当然,其他更新是可能的,并且可以在用户设置中定义。

这里,类似于场景430,用户相对于计算设备的存在以及确定他或她是计算设备的授权用户可以涉及由图像传感器捕获的图像,由眼球追踪系统追踪的视线信息,以及用户的标识符。基于眼球追踪系统检测到的视线信息确定另一个人的窥视。

在示例中,在更新用户界面之前,确定另一个人的窥视是否是被授权的。如果未授权,则更新用户界面。可以使用不同的技术来进行该确定。在一个示例中,随时间追踪用户的视线。在检测到第二视线(例如,另一个人的视线)时,第二视线被假定为未授权,除非由用户设置另外地指定(例如,授权多个视线的用户设置)。在另一示例中,随时间追踪计算设备上用户的存在(并且不一定是视线)和活动。在用户的存在和用户活动的一段时间之后,如果检测到视线,则假定该视线是另一人物的并且是未授权的。在又一示例中,基于视线信息估计人物与用户界面之间的距离。可以对用户的视线做出类似的估计。如果人物到用户界面距离大于用户到用户界面距离,则确定该人物的视线是未经授权的。

在又一场景450中,多个用户在计算设备上工作。例如,用户正在与他或她的同事一起工作,并且两者都被授权以相对于计算设备存在。如果用户不再存在(例如,离开计算设备)但该同事仍然存在,则更新用户界面。例如,用户界面被锁定和/或模糊。当然,其他更新是可能的,并且可以在用户设置中定义。

与场景430类似,用户相对于计算设备的存在以及他或她是计算设备的授权用户的确定可以涉及由图像传感器捕获的图像、由眼球追踪系统追踪的视线信息以及用户的标识符。可以从图像传感器和/或眼球追踪系统捕获的图像来确定用户相对于计算设备的不存在,从而表明用户不再接近计算设备。

同事相对于计算设备的存在可以涉及由图像传感器捕获的图像和/或由眼球追踪系统追踪的视线信息。对同事的存在是否是被授权的确定可以根据用户的存在而变化。如果用户是存在的,则基于指示用户的授权的用户在计算机设备的输入(例如,击键)、基于预定的用户设置(例如,指示同时存在是被授权的用户设置)、或基于同事的标识符(例如,该同事登录到计算设备、针对访问控制列表标识同事的用户的输入、或针对已授权的同事的已知图像的面部识别),而确定同事的存在是被授权的。在用户是不在时,一旦同事开始注视用户界面,就假定同事的存在是未授权的或者存在变得是未授权的。

在进一步的场景460中,单个用户在计算设备上工作。一位同事加入他或她,该用户允许该同事这样做。此后,该用户离开计算设备。更新用户界面。例如,用户界面被锁定和/或模糊。当然,其他更新是可能的,并且可以在用户设置中定义。此外,如果用户设置指示不需要更新,则用户界面可以仍然是相同的。

这里,类似于场景450,用户相对于计算设备的存在以及他或她是计算设备的授权用户的确定可以涉及由图像传感器捕获的图像、由眼球追踪系统追踪的视线信息,以及用户的标识符。可以从图像传感器和/或眼球追踪系统捕获的图像确定相对于计算设备的用户的不在,从而表明用户不再接近计算设备。

在一段时间之后检测同事的存在,在此期间检测到用户的存在。同事的检测还可以涉及由图像传感器捕获的图像和/或由眼球追踪系统追踪的视线信息。对同事的存在是否是被授权的确定取决于用户的明确输入。例如,在预定的时间段之后(其中该时间段可以在用户设置中指定为一分钟或一些其他长度),如果接收到特定击键或击键的组合,则同事的存在确定为是被授权的。当用户离开时,除非在离开之前接收到用户的明确输入,否则可以假定同事的存在是未授权的。

在另一场景470中,多个用户在计算设备上工作。例如,用户与他或她的同事一起工作,并且两者都被授权相对于计算设备存在。当两者都存在时,如果检测到第三人物的存在,则可以更新用户界面。例如,使用户界面模糊或加扰其内容。当然,其他更新是可能的,并且可以在用户设置中定义。

这里,类似于场景450,对于用户和同事中的每一个的存在是被授权的存在和确定可以涉及由图像传感器捕获的图像以及用户和/或同事的标识符。类似于场景410,第三人物的存在和其未被授权的确定可涉及由图像传感器捕获的图像。

在另一场景480中,多个用户在计算设备上工作。例如,用户与他或她的同事一起工作,并且两者都被授权相对于计算设备存在。当两者都存在,并检测到第三人物的存在并且该存在指示该人物正在注视用户界面时,可以更新用户界面。例如,使用户界面模糊或加扰其内容。当然,其他更新是可能的,并且可以在用户设置中定义。

这里,类似于场景470,对于用户和同事中的每一个的存在是被授权的存在和确定可以涉及由图像传感器捕获的图像、由眼球追踪系统生成的视线信息以及用户和/或同事的标识符。类似于场景440,第三人物的存在和其未被授权的确定可涉及由图像传感器捕获的图像和/或由眼球追踪系统生成的视线信息。

图5说明了根据实施例的更新用户界面以支持数据保护的示例。通常,在图4的上述场景410-480中,更新用户界面510(在图5中展示为更新的用户界面530)以基于以下因素520的组合而自动地且立即地保护数据:用户的存在、用户的不在、同事的存在,和/或另一人物的存在。除了眼球追踪系统生成的视线信息之外或其替代性地,每个这种的个体的存在可以涉及由图像传感器和/或眼球追踪系统捕获的图像。更新界面510涉及将其从第一状态512改变为第二状态532。在第一状态512中,以用户友好的方式在用户界面上呈现数据,使得任何个人都可以容易地感知数据。在第二状态532中,改变该呈现,使得正确地感知数据变得更难。

因此,当因素520的组合指示同事或另一个人物的未授权存在时,除非用户设置另外指示,否则用户界面510从第一状态512改变到第二状态532。相反,如果因素520的组合指示现在所有的存在都被授权或者同事和/或其他人物现在不在,则更新的用户界面530可以从第二状态532改变回第一状态512。例如,返回参考图4的第一场景410,在由于第二人物被检测为存在且该存在未被授权而使用户界面被模糊之后,该人物再被感测为是存在的。因此,用户界面变回其原始的状态。当然,在图4的其余场景420-480中,类似的场景可以改变回原始的状态。

不同的更新(例如,第二状态532)是可能的,包括锁定用户界面510、使用户界面510模糊、加扰用户界面510的内容,以及调暗用户界面510(例如,改变呈现用户界面的显示器的亮度)。为了解锁锁定的用户界面532,通常需要用户的标识符。

如下所述,其他更新也是可能的。可以在用户设置中选择和指定任意的这些和上述更新。

在示例中,用户界面500呈现一个或多个窗口。检测未授权的存在,并且基于由图像传感器和/或眼球追踪系统捕获的图像,和/或基于这个人在用户界面上的视线信息,来估计未授权的个体(例如,同事或另一人物)与用户界面(或显示器)之间的距离。对用户界面的更新包括拉远用户界面的一个或所有窗口。拉远的分辨率是基于距离的。例如,未经授权的个体越近,应用越高的拉远程度。

在示例中,对用户界面510的更新包括开启与计算设备的键盘相关联的一个或多个灯。例如,打开键盘按钮下方的发光二极管(led)并形成图案。该图案基于未经授权的个体的距离。个体越接近,开启的led的数量越多,呈现的警报颜色越多(例如,红色而不是黄色),或者led的闪烁频率越高。

在示例中,对用户界面510的更新包括在用户界面530上呈现指示另一人物的存在的图标。例如,图标可以具有眼球形状以指示用户或用户界面530正在被观看。

在示例中,用户界面510呈现具有标记的第一内容和未标记的内容(例如,由用户标记为私有的文档和未标记的另一文档)。在该示例中,对用户界面510的更新包括基于标签隐藏第一内容并保留未标记内容的呈现。例如,对内容(例如,标记文档)最小化,而不对未标记内容做出改变。

在示例中,用户界面510呈现具有标签的第一窗口(例如,用户将窗口标记为呈现敏感信息)和未标记的窗口(例如,任何未标记的其他打开窗口)。在该示例中,对用户界面510的更新包括基于标签使第一窗口模糊并保留未标记窗口的呈现。

在示例中,用户界面510呈现内容。在该示例中,对用户界面510的更新包括基于标签使第一窗口模糊并保留未标记窗口的呈现并加扰内容。在该示例中,如果用户被检测为注视内容的特定部分,则该部分不被加扰,而是以其原始状态呈现。然而,内容的剩余部分(例如,用户未注视的部分)被加扰。

在示例中,对用户界面510的更新包括向用户界面530添加与呈现未授权的个体的图像数据相关联的窗口534。该窗口534可以称为镜子窗口,因为它允许用户看到他或她的背后。镜子窗口534可以呈现个体的图像。图像可以是实时图像,或者可以是基于面部识别从存储器中检索的图像。或者,镜子窗口534可以在接近计算设备存在时呈现个人的实时视频。

在示例中,用户界面510呈现一个或多个窗口。在该示例中,对用户界面510的更新包括向前放大包括的窗口中的一个或每一个,并使窗口逐渐消失。在确定不再需要保护数据并且因此用户界面530应当变回时,更新用户界面530,该变回包括缩小回原来大小和渐显窗口。

在示例中,用户被检测为不在。当存在另外的个体(并且他或她的存在是未授权的)时,对用户界面510的更新包括使用户界面510模糊并在模糊的用户界面530上添加数字叠加层,例如具有颗粒的白色层。个体(以及任何其他经过的人)能够利用他们的视线在该层上绘画。个体(和经过的人)的视线信息被检测并用于改变数字叠加层。例如,颜色和元素被添加到叠加层并追踪检测到的视线。当用户回来时(在改变到数字叠加层之后再次检测到用户的存在),用户的输入被接收并且与解除数字叠加层相关联。基于该用户输入,用户界面530变回其原始状态。例如,用户按下键、键的组合,或移动鼠标以消除数字叠加层并使用户界面530不模糊。

图6说明了根据实施例的用于基于计算设备的单个用户保护数据的示例流程。示例流程在操作602处开始,其中确定第一用户相对于计算设备的第一存在。在示例中,基于由图像传感器捕获的图像或基于由眼球追踪系统追踪的视线信息来确定第一存在。图像传感器可以是眼球追踪系统的部件,或者可以是单独的部件。类似地,眼球追踪系统可以是计算设备的部件或可以是单独的部件。眼球追踪系统可以感测第一存在,并且从该系统向计算设备提供存在的指示。附加地或替代性地,计算设备从捕获的图像确定存在。

在操作604处,确定第一用户的标识符。如结合图4所描述的,不同类型的标识符是可能的。在示例中,第一用户登录到计算设备。登录信息代表标识符。在另一示例中,对图像应用面部识别,并且检测到的面部特征(或基于面部信息的生成的签名)被用作标识符。通常,计算设备使用标识符来确定用户被授权使用计算设备。

在操作606处,确定第二用户相对于计算设备的第二存在。在示例中,类似于操作602确定第二存在。

在操作608处,基于第二存在引起对计算设备的用户界面的更新,使得用户界面从第一状态改变成第二状态。在示例中,除了第二存在之外,还可以使用许多其他因素来引起该更新。通常,做出第二存在是否被授权的确定。该确定可以取决于在检测到第二存在时是否仍然检测到第一用户的第一存在,如结合图4的场景410-440所描述的那样。如果第二存在是未授权的,则计算设备将用户界面改变为第二状态,其中变得更难地或更不用户友好地正确感知在用户界面上呈现的数据。否则,可以不进行更改。

在操作610处,确定不再感测到第二存在。例如,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像、和/或由眼球追踪系统生成的视线信息。如果第二人物不再接近计算设备,则可以将用户界面改变回其第一状态。在示例中,当不再感测到第二存在时,该改变是自动的。在另一示例中,该改变取决于其他因素,例如当第二人物不再存在时第一用户是否存在,如操作612中所描述那样。

在操作612处,确定在不再感测到第二存在之后感测到第一存在。例如,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像、和/或由眼球追踪系统生成的视线信息。该确定用作在没有用户的额外输入的情况下自动地将用户界面改变回第一状态、使得用户重新访问数据的努力减少的因素。

在操作614处,使用户界面改变回第一状态。例如,计算设备基于第二存在不再被感测到并且第一用户的第一存在仍然被感测到,而将用户界面从第二状态转换到第一状态。

图7说明了根据实施例的用于基于计算设备的多个用户保护数据的示例流程。尽管结合该流程示举例说明了两个用户(例如,授权的用户和授权的同事),但是该流程类似地适用于更大数量的用户。

示例流程在操作702处开始,其中确定第一用户相对于计算设备的第一存在。在操作704处,还确定第一用户的标识符。操作702和704分别类似于图6的操作602和604。

在操作706处,确定第二用户相对于计算设备的第二存在。在示例中,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像,和/或由眼球追踪系统生成的视线信息。第二次存在的开始可以与第一次存在的开始并行,或者可以在稍后发生。在该示例流程中的第二个用户代表授权的同事。

在操作708处,确定第二用户的第二存在是被授权的。如结合图4的场景450-480所说明的,该确定可以采用不同的技术。在示例中,该确定基于第一用户的明确输入(该明确输入指示他或她授权第二用户接近计算设备),或者基于可以针对访问控制列表(acl)检查的第二用户的标识符。

在操作710处,确定在仍然感测到第二存在的时不再感测到第一存在。例如,第一用户可能已经离开计算设备,而第二用户可能停留接近该计算机设备。在示例中,在感测到两个存在的重叠时间段之后,做出该确定,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像,和/或由眼球追踪系统生成的视线信息。

在操作712处,基于在不再感测到第一存在的时感测到第二存在而引起对用户界面的更新,使得用户界面从第一状态改变为第二状态。例如,基于当第一用户不在时自动更新用户界面的用户设置,计算设备将用户界面从第一状态转换到第二状态。

在操作714处,确定在仍然感测到第二存在的时再次感测到第一存在。例如,第一用户可能已经返回计算设备。在示例中,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像、由眼球追踪系统生成的视线信息,和/或第一用户重新登录到计算设备上。

在操作714处,使用户界面改变回第一状态。例如,计算设备基于第一用户的存在而将用户界面从第二状态转换到第一状态。

在操作716处,确定第二人物相对于计算设备的第三存在。在示例中,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像,和/或由眼球追踪系统生成的视线信息。当第一用户和第二用户也相对于计算设备存在时,第三人物被检测为是存在的。

在操作720处,基于第三存在引起对用户界面的更新,使得用户界面从第一状态改变到第三状态。该第三状态可以与第二状态相同或者可以是不同的状态,在该状态中甚至更难正确地感知所呈现的数据,和/或在该状态中在用户界面上的窗口中呈现第三人物的图像或视频。在示例中,除了第三存在之外,还可以使用许多其他因素来引起该更新。通常,确定第三存在是否是被授权的。该确定可以取决于在检测到第三存在时是否仍然检测到第一用户的第一存在,如结合图4的情景450-480所描述的那样。如果第三存在是未授权的,则计算设备将用户界面改变为第三状态。否则,该改变可能无法执行。

在操作722处,确定不再感测到第三人物的第三存在。例如,第三人物离开计算设备。在示例中,该确定涉及由图像传感器和/或眼球追踪系统捕获的图像,和/或由眼球追踪系统生成的视线信息。

在操作724处,使用户界面改变回第一状态。例如,计算设备基于不再感测到的第三存在并且仍然感测到第一用户的第一存在,将用户界面从第三状态转换到第一状态。

除了通过基于存在检测而更新用户界面来保护对数据的访问之外,替代性地或附加地,可以使用存在检测来保护数据本身。例如,计算机系统包括通过数据网络通信地耦合的两个(或更多个)计算设备。每个计算设备包括眼球追踪系统和/或图像传感器,或与眼球追踪系统和/或图像传感器通信地连接。图像传感器可以是眼球追踪系统的部件或单独的部件。基于由与该计算设备相关联的图像传感器和/或眼球追踪系统捕获的图像、由眼球追踪系统生成的视线信息来检测第一用户相对于第一计算设备的第一存在。基于第一用户的第一标识符(例如,登录信息或单独的面部识别)来验证(例如,确定被授权或认证)用户的第一存在。类似地,确定第二用户相对于第二计算设备的第一存在,并且验证第二存在(例如,基于第二计算设备的相关部件和第二用户的相关的第二标识符)。基于这两个存在,加密密钥(或密钥组)用于加密要通过数据网络在两个计算设备之间共享的数据。

不同类型的密钥是可能的,包括对称和非对称密钥。在对称密钥的示例中,两个计算设备可以共享对称密钥。每个计算设备都将其用于加密和解密。在非对称密钥的示例中,每个计算设备与一对公共密钥和私人密钥相关联。第一计算设备利用第二计算设备的公共密钥对其发送到第二计算设备的数据进行加密。该第二设备利用其私人密钥解密经加密的数据。对于由第二计算设备的加密和由第一计算设备的解密也是如此。

可以使用不同的技术来标识加密密钥(或类似地,密钥组)。在一个示例中,加密密钥是在两个计算设备之间预定义或预协商的。通过检测和验证两个用户的存在来控制对其的访问。如果其中一个用户不在或者他或她的存在未被验证,则拒绝用户的计算设备对加密密钥的访问。

在另一示例中,基于由图像传感器和/或眼球追踪系统感测的图像或基于视线信息来生成加密密钥。例如,执行密钥生成工作流以生成加密密钥。将第一用户的第一图像、第二用户的第二图像、第一用户的第一视线信息和/或第二用户的第二视线信息输入到工作流。例如,这些各种信息或其散列用于生成随机的128位密钥。

图8说明了根据实施例的用于基于当前检测来加密数据的流程的示例。示例流程在操作802处开始,其中计算机系统确定第一用户相对于第一计算设备的第一存在。例如,第一计算设备基于由第一计算设备的图像传感器和/或眼球追踪系统捕获的图像和/或由眼球追踪系统生成的视线信息来检测第一存在。

在操作804处,计算机系统确定第一用户的第一标识符。例如,第一计算设备基于登录信息确定第一用户正确登录到第一计算设备,和/或第一计算设备基于该用户的图像(例如,通过应用面部识别)确定该第一用户的存在是有效的。

在操作806处,计算机系统确定第二用户相对于第二计算设备的第二存在。例如,第二计算设备基于由第二计算设备的图像传感器和/或眼球追踪系统捕获的图像和/或由眼球追踪系统生成的视线信息来检测第二存在。

在操作808处,计算机系统确定第二用户的第二标识符。例如,第二计算设备基于登录信息确定第二用户正确登录到第二计算设备,和/或第二计算设备基于该用户的图像(例如,通过应用面部识别)确定第二用户的存在是有效的。

在操作810处,计算机系统基于第一存在、第一标识符、第二存在和第二标识符使得来自第一计算设备的数据与第二计算设备共享。例如,基于两个用户的存在和标识符来识别(例如,访问或生成)加密密钥。加密用于加密从第一计算设备发送到第二计算设备的数据。如果使用对称加密,则第二计算设备可以使用相同的密钥来解密经加密的数据并加密其他数据以发送到第一计算设备。如果使用非对称加密,则每个计算设备使用适当的密钥以加密和解密数据。

在说明性的示例中,数据包括第一计算设备上的文件。基于第一用户在第一计算设备的用户界面(或类似地,显示器)上的视线,可以加密该文件。

数据访问

图9-13涉及使用视线信息从在用户界面的背景中的打开窗口将数据提前的实施例。数据由查看器呈现,该查看器充当通过在用户界面的前景中打开并且遮挡背景窗口的另一窗口的窥视孔。图14-19涉及用于基于视线信息操纵数据的实施例。可以基于视线信息在计算设备上的位置之间或计算设备之间移动数据。在查看器中呈现本来会被遮挡的数据并操纵数据是数据访问的两个示例。

图9说明了根据实施例的用户界面910以及确定围绕用户在用户界面910上的视线位置940的区域950的示例。如图所示,当在计算设备上(例如,在计算设备的显示器上)呈现时,用户界面910包括在用户界面910的前景中的第一打开窗口920和在用户界面910的背景的第二打开窗口930。当然,无论是在前景还是在背景中,可能有不同数量的打开窗口。打开窗口可以是呈现数据的窗口,并且可以由计算设备的操作系统(os)或在计算设备上运行的应用程序(例如,非本机应用程序)来渲染。在前景中的打开窗口指的是打开的(例如,可以最小化)、活动的并且通常不被其他窗口遮挡的窗口。背景中的打开窗口指的是打开的、不活动的、并且可以但不一定被另一打开窗口遮挡的窗口。为了便于参考,前景中的第一打开窗口920在本文中称为前景窗口。并且背景中的第二打开窗口930在本文称为背景窗口。

前景窗口920呈现不同的元素,包括例如文本元素922和图像元素924(例如,文件浏览器窗口中的文件的图标和文件名,或web浏览器中的web内容)。背景窗口930的部分被前景窗口920遮挡,如图9中的虚线所示。背景窗口也包括文本元素932和936以及图像元素934。由于前景窗口920的遮挡,这些元素932-936的呈现在用户界面910中被隐藏。

视线位置940由计算设备的眼球追踪系统检测。区域950围绕视线位置940定义。通常,该区域950是部分地或完全地围绕视线位置940的用户界面910的子区域(或部分)。在一个示例中,区域950具有预定的形状和尺寸(例如,具有特定像素半径的圆)并且最初以视线位置940为中心(但是如下所述,该中心不是必须始终保持的)。

由于多种原因而使用区域950。一个原因是定义查看器(例如,结合下面的附图进一步描述的窥视孔)。另一个原因涉及视线位置940。当用户的眼球倾向于移动并且他或她的视线倾向于改变时,区域950用于在必须更新查看器之前定义围绕视线位置940的改变的边缘。例如,只要视线落在区域950内,查看器就可以保持在适当位置。当视线接近区域950的边缘时,可以开始对查看器的更新。因此,区域950在本文中可称为视线区域。

在示例中,可以在用户设置中指定区域950的尺寸和/或形状。在另一示例中,用户到用户界面910(或显示器)的距离可用于设置尺寸和/或形状。该距离可以从视线信息导出。在图示中,用户越近,区域950可以变得越大。在又一示例中,区域950的尺寸和/或形状取决于视线位置940与用户界面910(或显示器)的边缘的接近度。例如,当视线位置940在用户界面的中心时,区域950具有预定义的形状和尺寸。当视线位置940接近边缘时(例如,在小于区域950的像素半径的像素距离内),可以调整区域950的尺寸(例如,变得更小)以保持其形状(例如,圆形)或者,其尺寸和形状可保持不变,但其位置将被移动,使得区域950完全包含在用户界面910中,同时其边缘的一部分与用户界面910的边缘相邻。

图10说明了根据实施例的在图9的用户界面910上呈现的查看器1010的示例。查看器1010呈现在前景窗口920上并且展示了背景窗口930的至少一部分的屏幕截图。以这种方式,查看器1010充当对前景窗口920的窥视孔,允许用户感知背景窗口930的内容,而不必激活窗口930并将该窗口930带到前景。

在示例中,查看器1010具有与区域950基本相同的形状或者具有可以包围区域950的形状。此外,查看器1010的尺寸可以等于或大于区域950的尺寸。通常,查看器1010以区域950的中心为中心。进一步地还类似于区域950的尺寸和形状,查看器1010的尺寸和/或形状可以取决于类似的因素,包括用户设置、用户到用户界面910(或显示器)的距离、以及视线位置940到用户界面910(或显示器)的边缘的接近度。

可以通过击键或击键组合或一些其他用户输入(例如,鼠标点击并保持)来激活查看器1010。可以在用户设置中定义激活触发。一旦检测到激活触发,计算设备确定视线位置940,生成区域950,拍摄背景窗口930的快照,确定与用户界面上的查看器1010的位置相对应的快照的一部分,并在查看器1010中呈现快照的这部分。

如图10所示,查看器1010遮挡部分前景窗口920的文本元素922和图像元素924,因为该查看器覆盖在前景窗口920的顶部(不必停用前景窗口920或将该窗口920设置到背景)。查看器1010还呈现背景窗口930的文本元素932和图像元素934,因为这些元素922和924落在区域950中(如图9所示)。背景窗口930的其他文本元素936未在图10中示出,以强调该元素936不在查看器1010中并且对于用户将是不可见的,因为它在区域950之外。

当用户界面910中有多个背景窗口可用时,用户输入可以在这些窗口之间选择或切换(例如,基于鼠标点击或击键)。更新查看器1010以呈现所选的背景窗口的相关部分。

图11说明了根据实施例的当用户的视线在用户界面910上移动时更新查看器1010以追踪视线位置的示例。更新的查看器1010展示为图11中的查看器1110。

通常,如果视线位置940落在区域950内,则不在用户界面上更新查看器1010(和区域950)。一旦视线位置940在区域950之外,就围绕更新的视线位置定义更新的区域。该更新的区域最初可以围绕该更新的视线位置。然后围绕更新的区域生成并定义查看器1110。因此,当用户的视线围绕用户界面910移动并且他或她的视线被追踪时,可以根据最新的视线位置来更新查看器(和下面的区域)。以这种方式,查看器在某种程度上是可移动的窥视孔,允许用户围绕用户界面移动并查看背景窗口930的不同部分。

如图11所示,用户的视线朝上移动到右边。相应地,更新的查看器1110(相对于图10的查看器1010)朝上到右边呈现。在用户界面上的新的位置处,更新的查看器1110现在仅显示来自背景窗口930的文本元素932和图像元素934的部分。然而,其他文本元素936的一部分落入更新的查看器1110内。因此,更新的查看器1110现在展示其他文本元素936的该部分。

除了允许用户围绕用户界面910注视以查看背景窗口930的不同部分之外,其他技术也可以提供通过查看器展示不同部分,而不必改变视线位置。例如,基于用户输入(例如,击键或鼠标点击)或基于用户到用户界面910(或显示器)的距离,更新背景窗口930所展示的部分的分辨率。例如,该用户输入指示或距离控制要应用于背景窗口930的快照的扭曲操作或拉取水平。例如,用户离用户界面910越近,对快照应用更多的拉远以提供背景窗口930的更宽视野。这样,查看器可以充当真正的门上的窥视孔,其中用户在内侧越靠近,外侧的视野变得越宽。

图12示出了根据实施例的视线位置940、区域950和查看器1010的相对定位、以及当视线位置940接近区域950的边缘时如何更新查看器1010的示例。如图所示,区域950最初以视线位置940为中心。查看器1010最初也以区域950为中心。

如果视线位置940改变但保留在区域950内,则不定义更新的区域。视线位置940可以接近区域950的边缘(在图12中示为更新的视线位置1210)。在示例中,定义区域950的内周界以确定是否发生了该接近。可以将内周界定义为区域950的外边界的函数(例如,区域950的像素半径的90%)。一旦更新的视线位置1210穿过区域950的内周界而跨越其外边界,则确定更新的视线位置1210已接近区域950的边缘。在此,在用户界面上呈现更新的查看器1220。

更新的查看器1220可以与用户界面910上的查看器1010的呈现同时呈现一段时间,在此期间更新的视线位置1210在区域950的内周界和外边界之间。如果更新的视线位置1220通过穿过内周界移动回到视线区域950的内侧,则从用户界面910移除更新的查看器1210的呈现。如果更新的视线位置1210穿过区域950的外边界,则定义更新的区域,并且可以但不需要修改更新的查看器1220以重新以更新的区域为中心并围绕更新的区域。

通过使用更新的查看器1220并与查看器1010同时呈现该更新的查看器,可以使查看器之间的过渡更加平滑并且对于用户来说看起来更自然。如图所示,当呈现两个查看器时,它们重叠(例如,它们具有重叠部分),并且更新的查看器1220可以具有与查看器1010的透明度不同的透明度(例如,可以相对更透明)。在同时呈现期间,背景窗口930的部分可以但不需要仅在查看器1010而不在更新的查看器1210中显示。当查看器1010不再呈现在用户界面910上时,更新的查看器1220的属性(例如,透明度)与查看器1010呈现时的属性相似。然后,仅在更新的查看器1220中呈现背景窗口930的相关部分。

图13说明根据实施例的用于呈现查看器的流程的示例。结合计算机系统描述示例流程。该计算机系统包括呈现用户界面的计算设备和与计算设备通信地连接的眼球追踪系统。如果眼球追踪系统集成在计算设备中,则计算机系统代表计算设备。

示例流程在操作1302处开始,其中计算机系统检测用户界面上的视线位置。在操作1304处,计算机系统确定围绕视线位置的区域,例如视线区域。在操作1306处,计算机系统基于该区域显示查看器。例如,查看器以该区域为中心并围绕该区域且具有等于或大于该区域的尺寸。查看器展示在用户界面背景中的打开窗口的一部分的快照。计算机系统将查看器覆盖在在用户界面前景中的打开窗口的顶部,而不将该窗口切换到背景。在示例中,计算机系统生成背景窗口的快照并确定与查看器的位置相对应的快照的部分(例如,基于查看器的坐标和快照的坐标,其中坐标系可以是相对于用户界面定义的)。计算机系统在查看器中呈现快照的该部分。

在操作1308处,计算机系统确定用户界面上的更新的视线位置。在操作1310处,计算机系统确定更新的视线位置是否落入该区域内。如果是,则进行操作1312。否则,进行操作1314。

在操作1312处,更新的视线位置仍在该区域内。因此,计算机系统保持查看器的显示。例如,计算机系统不更新查看器的呈现。此外,计算机系统可以确定更新的视线位置是否已经接近该区域的边缘,如果是,则同时呈现如结合图12所述的更新的查看器。

在操作1314处,更新的视线位置在该区域外侧。因此,计算机系统确定围绕更新的视线位置的更新区域。在操作1316处,计算机系统在更新的区域中显示查看器并更新视图中所展示的内容。例如,计算机系统显示以更新的区域为中心并围绕更新的区域的更新的查看器,并确定落入更新的查看器中的快照的不同部分。该位置呈现在更新的查看器中。

在操作1318处,计算机系统接收与查看器中所示内容相关联的用户输入。例如,用户输入指示要应用于快照的变形操作或拉取级别。在另一示例中,代替于接收明确的用户输入,用户朝向(或远离)用户界面。(例如,基于用户的视线)估计用户到用户界面距离,并且该距离用于控制变形操作或拉取级别。附加地或替代性地,计算机系统接收在背景窗口之间切换的用户输入。

在操作1320处,计算机系统基于操作1318的用户输入和/或用户到用户界面距离来更新查看器中显示的内容。例如,如果用户输入或该距离指示拉远,则更新查看器以显示背景窗口的拉远部分。如果用户输入指示不同的背景窗口的选择,则更新查看器以显示该另一背景窗口的快照的相关部分。

图14说明了根据实施例的基于视线信息使用用户界面(ui)对象来操纵数据的示例。为了清楚地解释,结合将文件从源文件夹复制并粘贴到目标文件夹的示例来描述该实施例。文件是可以基于ui对象操纵的数据类型。然而,该实施例类似地适用于其他数据和/或数据操纵类型。例如,该数据包括在第一计算设备上的应用程序(例如,microsoftword应用程序)中打开的文档(例如,像microsoftword文档的结构化文档)。ui对象可用于在第一计算设备上或在第二计算设备上的不同应用程序(例如,googledocs应用程序)中打开文档,和/或在第二计算设备上在相同应用程序的不同实例中打开文档。在该示例中,第一计算设备的应用程序中的文档(例如,应用程序的第一实例)具有一状态(例如,microsoftword文档长十页,并且在第一计算设备的microsoftword应用程序中渲染第五页)。当由第一计算设备上的其他应用程序(例如,googledocs应用程序)或第二计算设备上的应用程序的第二实例(例如,microsoftword应用程序)打开时,文档也以相同的状态打开(例如,渲染第五页)。

如图14所述,当在计算设备上呈现时(例如,在计算设备的显示器上),用户界面1410包括在用户界面1410的前景中的第一打开窗口1420和在用户界面410的背景中的第二打开窗口1430。当然,无论是在前景还是在背景中,打开窗口的数量可能是不同的。在以文件作为数据类型的示例中,前景窗口1420可以是列出各种可用文件数据的在前景中(本文称为前景文件夹)的第一打开文件夹(本文称为前景文件夹),并且背景窗口1430可以在背景中的第二打开文件夹(本文称为背景文件夹),可以将一些或所有可用文件复制到该文件夹中。换句话说,前景文件夹是源文件夹,背景文件夹是目标文件夹。在图14的示例中,这两个文件夹在同一计算设备上。尽管如此,并且如结合图18所示,两个文件夹可以在单独的计算设备上。

ui对象1440用于将可从前景窗口1420获得的数据放置到背景窗口1430中。例如,从前景窗口1420(或源文件夹)复制所选文件1422并将其粘贴在背景窗口1430(或目标文件夹)中。可以不选择来自前景窗口1420的可用的其他文件1424,并因此不将其复制到背景窗口1430。放置数据(例如,粘贴所选文件1422)不需要激活背景窗口1430。换句话说,背景窗口1430保持在用户界面1410的背景中。

各种触发器可以调用ui对象1440。在一个示例中,用户输入(例如击键的特定组合、在选择和复制所选文件1422之后的特定击键)可用于激活ui对象1440。可以在选择和/或复制所选文件1422之前、并行或之后接收该用户输入。

通常,在ui对象1440被调用时,ui对象1440在视线位置1450处定位在用户界面1410上。ui对象1440以视线位置1450为中心并围绕视线位置1450,并且该ui对象呈现在用户界面1410的前景中作为前景窗口1420顶部上的叠加层。如果视线位置1450此后基于用户视线的移动而改变,则改变ui对象1440的位置以追踪更新的视线位置。

当ui对象1440呈现时,ui对象1440可以具有预定义的形状和尺寸,例如气泡或圆形。当然,其他几何形状也是可能的,并且可以在用户设置中指定。ui对象1440的形状、尺寸和/或其他视觉属性可以根据操纵数据的量而改变。例如,所选文件1422的数量越多,可以产生的气泡越大或者其颜色变得越警告(例如,随着所选文件1422的数量的增加,从绿色逐渐变为黄色并且从黄色变为红色)。

另外,ui对象1440可以呈现关于操纵数据的各种类型的信息。图14说明了这种信息的一个示例。如图所示,ui对象1440展示了操纵的数据的量1442(例如,所选择的和复制的文件的总数1422)。

图15说明了根据实施例的ui对象中呈现的信息的另一示例。例如,提供用户输入(例如特定的击键或在超过时间阈值的时间段的相同视线位置处的持续的视线)以提供关于操纵数据的细节。在这种情况下,更新ui对象1440并且扩展更新的ui对象(展示为元素1510)以显示细节1522。例如,更新的ui对象1510具有不同的形状(例如,矩形的,而不是圆形气泡),并且增大其尺寸以提供相关的细节(例如,在文件的情况下,所选择文件1422的文件名和源位置)。

在示例中,相同的用户输入或不同的用户输入也暂停更新的ui对象1510的移动。因此,更新的ui对象1510被展示在用户界面1410上的恒定位置处(例如,在接收用户输入之前的与最后视线位置相对应的位置处)。这样,用户可以暂停数据操纵。可以接收附加的用户输入以恢复或取消数据操纵。如果重新开始,则可以将更新的ui对象1510改变回原始ui对象1440,并且ui对象1440将从该点开始跟随视线位置。如果取消,则从用户界面1410移除更新的ui对象1510。

图16说明了根据实施例的通过使用ui对象1440来完成数据操纵的示例。在示例中,ui对象1440跟随用户的视线。因此,在检测到视线位置1610在背景窗口1430上时,计算设备在背景窗口1430上的该位置处呈现ui对象1440,而不将背景窗口1430带到用户界面1410的前景。在当ui对象1440在背景窗口1430上(或者,等同地,视线位置1610在该位置处)接收到用户输入以完成数据操纵(例如,特定的击键或击键的组合、鼠标点击等)时,计算设备完成数据操纵。例如,计算设备将所选择和复制的数据放置在背景窗口1430中而不激活它(例如,将所选和复制的文件1422粘贴到目标文件夹中而不将该文件夹带到用户界面1410的前景)。

另外,计算设备可以更新ui对象1440的内容以显示数据操纵完成的进度。例如,ui对象1440可视地指示复制数据的百分比(例如,粘贴文件的数量)。该视觉指示可以是数字(例如,百分比),状态栏和/或检查符号(例如,在完成时)。

图17说明了根据实施例的基于ui对象1440竞争数据操纵的结果的示例。如图所示,在完成数据操纵时,解除ui对象1440并且不再呈现在用户界面上。数据被放置在背景窗口1430中而不激活该数据。这在图17中示出,利用虚线勾画出元素1710以强调放置的数据1710现在在背景窗口1730中,但是该放置的数据1710的呈现被前景窗口1420遮挡。因此,在文件的示例中,将复制的文件粘贴到目标文件夹中,而没有将该文件夹带到用户界面1410的前景。

图18说明了根据实施例的基于ui对象跨两个计算设备的数据操纵的示例。尽管示出了两个计算设备,但是该实施例类似地适用于更大数量的计算设备。

在示例中,两个计算设备通过数据网络通信地连接,并且这些设备中的每一个设备使用单独的眼球追踪系统。两个眼球追踪系统也通过数据网络通信连接。通常,两个计算设备彼此接近,使得用户可以注视一个计算设备,然后将他或她的视线移动到下一个计算设备。在该示例中,为两个眼球追踪系统定义单个坐标系统(例如,其原点位于计算设备的用户界面的左下角,该计算设备在另一计算设备的左手侧)。以这种方式,视线位置和关于ui对象的信息(例如,其坐标位置)可以相对于坐标系参考并在两个计算设备之间交换。

如图所示,第一计算设备(例如,在第一计算设备的显示器上)呈现第一用户界面1810。当呈现时,第一用户界面1810包括第一源文件夹1820,其包含多个文件(或更一般地,呈现数据的前景窗口)。基于用户输入选择这些文件(或数据)中的一些(展示为所选文件1822),而不选择剩余的文件(展示为未选择的文件1824)。

类似于上文结合图14-17所描述的内容,调用ui对象1830并跟随视线位置。用户的视线从第一计算设备的用户界面1810移动1840到第二计算设备的用户界面1850(例如,在第二计算设备的显示器上呈现)。因此,关于ui对象1830的信息通过数据网络从第一计算设备发送到第二计算设备。该信息包括复制的文件(或复制的文件本身)的标识符和/或ui对象1830的其他内容(例如,复制的文件的数量或复制的数据的总量,关于文件或数据的细节等)、ui对象1830的视觉特性(例如,形状、尺寸、颜色等)。

基于第二用户界面1850上的视线位置和所接收的关于ui对象1830的信息,第二计算设备在用户界面上(例如,在前景中)显示ui对象1830。相反,第一计算设备解除对ui对象1830的呈现。在示例中,第二计算设备保留ui对象1830的视觉属性,使得从第一用户界面1810到第二用户界面1850的移动对于用户而言是无缝的。在另一示例中,第二计算设备改变ui对象1830的一个或多个视觉特性(例如,改变其颜色)以警告用户ui对象1830从第一用户界面1810到第二用户界面1850的转换。在两个示例中,通常不改变ui对象1830的内容,使得ui对象1830可以在第二用户界面1850上显示其能够在第一用户界面1810上显示的相同的信息。

当第二用户界面1850呈现时,第二用户界面1850包括要将文件复制到的第二目标文件夹1860(或者更一般地,应当放置数据的背景窗口)。当在接收到用户输入并且ui对象1830位于目标文件夹1860上(或者,等同地,视线位置在该文件夹1860上)时,第二计算设备将文件粘贴到目标文件夹1860(展示为复制的文件1862),而不激活目标文件夹1860(例如,不将其带到前景)。在示例中,当视线位置移动到第二计算设备时,经由第一计算设备的推送自动地从第一计算设备接收所选择的文件1822。在另一示例中,第二计算设备基于与ui对象1830一起传递的信息来标识所选择的文件1822,并从第一计算设备拉取(例如,请求和接收)这些文件1822。在两个示例中,第二计算设备将所接收的文件粘贴到第二目标文件夹1860。尽管图18描述了将所选文件发送到用户界面背景中的文件夹,该实施例类似地适用于将这些文件发送到用户界面前景中的文件夹。

图19说明了根据实施例的基于ui对象的操纵数据的示例流程。结合计算机系统描述该流程。根据使用情况,计算机系统可以是单个计算设备,其中数据从一个前景窗口复制并放置在该计算设备的用户界面的背景窗口中。在另一个用户情况中,计算机系统可以包括多个计算设备,其中数据从第一计算设备的前景窗口复制并放置在第二计算设备的打开窗口(无论是前景还是背景)中。

示例流程在操作1902处开始,其中计算机系统接收从源选择数据的第一用户输入。例如,用户输入从源文件夹中选择多个文件。

在操作1904处,计算机系统检测用户界面上的第一视线位置。在操作1906处,计算机系统在第一视线位置处在用户界面上呈现ui对象。可以基于数据的选择和/或基于特定于调用ui对象的附加的用户输入来调用ui对象。

在操作1908处,计算机系统在视线位置改变时移动ui对象。ui对象展示所选数据的总量(例如,所选文件的总数)。例如,计算机系统在视线位置围绕用户界面移动时追踪视线位置,并更新ui对象的呈现以跟随视线位置。此外,计算机系统标识所选择的数据并生成其概要(例如,所选数据的总量),并将该概要呈现为ui对象的内容。

在操作1910处,计算机系统基于第二用户输入更新ui对象,以显示关于所选择的数据的细节。例如,计算机系统接收请求暂停ui对象和扩展其内容的第二用户输入。计算机系统相应地响应。

在操作1912处,计算机系统检测目标上的第二视线位置。例如,基于追踪视线位置,计算机系统确定现在用户现在正在注视的目标上的位置。目标可以是用户界面上的背景窗口或(例如,当有两个计算设备上有两个界面可用时)不同的界面上的另一打开窗口。

在操作1914处,计算机系统在目标上呈现ui对象。例如,计算机系统更新ui对象的呈现,使得其展示在第二视线位置的位置处。

在操作1916处,计算机系统接收第三用户输入以将数据放置在目标中。基于ui对象定位在目标上(或者,等效地,基于第二视线位置)并响应于第三用户输入,计算机系统启动将所选择的数据放置在目标中。例如,在复制文件的背景中,计算机系统开始粘贴所复制的文件。

在操作1918处,计算机系统在ui对象中展示将数据放置在目标中的进度。例如,计算机系统连续地监控已放置在目标中的复制的数据的量(例如,粘贴的文件的数量),并更新ui对象的呈现以指示该量。

在操作1920处,计算机系统将所选择的数据放置在目标中。该操作可以与操作1918并行发生。在完成数据放置后,计算机系统更新ui对象以指示完成,并且此后,可以自动地或基于用户输入来关闭ui对象。

为了清楚和理解的目的,现已具体描述了本公开。然而,应当理解,在所附权利要求的范围内可以实施某些改变和修改。

上述说明书仅提供示例性实施例,并且不旨在限制本公开的范围、适用性或配置。相反,上述说明书的示例性实施例将向本领域技术人员提供用于实现一个或多个示例性实施例的有利描述。应该理解,在不脱离如在此阐述的本公开的精神和范围的情况下,可以对元件的功能和布置进行各种改变。

例如,讨论的与一个实施例有关的任何细节可以存在或不存在于该实施例的所有预期版本中。类似地,讨论的与一个实施例有关的任何细节可以存在或不存在于在本文描述的另外的实施例的所有预期版本中。最后,没有讨论与本文的实施例有关的细节应当是隐含的认识,这种细节可以存在或不存在于本文讨论的任何实施例的任何版本中。

下文给出了具体细节以供对实施例的透彻理解。然而,本领域技术人员将理解,实施例可以在没有这些具体细节的情况下实施。例如,在本公开中的电路、系统、网络、处理器及其他元件可以以框图的形式示出为部件,以便不会在不必要的细节上使实施例模糊。

另外,应当注意单独的实施例可被描绘为流程图、作业图、数据流程图、结构图或框图描述的过程。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时地执行。此外,操作的顺序可以被重新安排。可以在其操作完成时终止该过程,但是可以有未在图中讨论或包括的附加步骤。此外,并非任何特定描述的过程中的所有操作都可以发生在所有实施例中。过程可以对应于方法、功能、步骤、子例程、子程序等。当过程对应于功能时,其终止对应于到调用函数或主函数的函数的返回。

术语“计算机可读介质”包括但不限于暂时性和非暂时性的便携式或固定的存储设备、光学存储设备、无线信道,以及能够存储、包含或携带指令和/或数据的各种其他的介质。代码段或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任何组合。代码段可以通过传送和/或接收信息、数据、自变量、参数或存储内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以通过任何合适的方式传送、转发或传输,该方法包括存储共享、信息传递、令牌传递、网络传输等。

进一步地,本公开的实施例至少部分可以手动或自动地实现。可以通过使用机器、硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来执行或至少辅助手动或自动实现。当在软件、固件、中间件或微码中实现时,执行必要任务的程序代码或代码段可以存储在机器可读介质中。处理器或多个处理器可以执行必要任务。

如这里所使用的,短语“基于第二件事的第一件事”等可能意味着第一件事仅仅基于第二件事,或者第一件事是基于第二件事以及其他事件中的一个或多个事件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1