CN118331428A - 放大用户界面的眼睛注视控制 - Google Patents
放大用户界面的眼睛注视控制 Download PDFInfo
- Publication number
- CN118331428A CN118331428A CN202410603682.9A CN202410603682A CN118331428A CN 118331428 A CN118331428 A CN 118331428A CN 202410603682 A CN202410603682 A CN 202410603682A CN 118331428 A CN118331428 A CN 118331428A
- Authority
- CN
- China
- Prior art keywords
- user
- computing device
- display
- content
- images
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 131
- 230000004886 head movement Effects 0.000 claims abstract description 40
- 230000001747 exhibiting effect Effects 0.000 claims abstract description 37
- 230000004424 eye movement Effects 0.000 claims abstract description 36
- 210000003128 head Anatomy 0.000 claims description 133
- 230000033001 locomotion Effects 0.000 claims description 54
- 230000004044 response Effects 0.000 claims description 30
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 14
- 230000006998 cognitive state Effects 0.000 claims description 9
- 238000004091 panning Methods 0.000 claims description 3
- 208000029257 vision disease Diseases 0.000 abstract description 33
- 206010047571 Visual impairment Diseases 0.000 abstract description 30
- 230000003044 adaptive effect Effects 0.000 abstract description 29
- 230000004393 visual impairment Effects 0.000 abstract description 25
- 230000001771 impaired effect Effects 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 description 34
- 238000005516 engineering process Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 29
- 238000010191 image analysis Methods 0.000 description 27
- 230000015654 memory Effects 0.000 description 26
- 230000006735 deficit Effects 0.000 description 24
- 230000006399 behavior Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 18
- 230000004438 eyesight Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000009877 rendering Methods 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 11
- 239000011521 glass Substances 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 239000003086 colorant Substances 0.000 description 8
- 230000000670 limiting effect Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000001815 facial effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004397 blinking Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 208000004350 Strabismus Diseases 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000002996 emotional effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 208000006992 Color Vision Defects Diseases 0.000 description 2
- 206010034960 Photophobia Diseases 0.000 description 2
- 230000006736 behavioral deficit Effects 0.000 description 2
- 201000007254 color blindness Diseases 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000000744 eyelid Anatomy 0.000 description 2
- 230000004313 glare Effects 0.000 description 2
- 208000013469 light sensitivity Diseases 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 208000028698 Cognitive impairment Diseases 0.000 description 1
- 208000016621 Hearing disease Diseases 0.000 description 1
- 208000016285 Movement disease Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 208000010877 cognitive disease Diseases 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 208000016354 hearing loss disease Diseases 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Abstract
本公开的各实施例涉及放大用户界面的眼睛注视控制。可以在计算设备上使用用于提供用于帮助有视觉障碍的用户的自适应辅助技术的技术。这些技术包括向用户显示内容、使用相机捕获用户的一系列图像或视频、分析该系列图像或视频以确定用户是否正在表现出指示视觉障碍的行为或特性、以及在显示器上绘制放大用户界面,该放大用户界面被配置为基于确定用户正在表现出指示视觉障碍的行为或特性来放大显示器的内容的至少一部分。可以基于计算设备的用户的头部和/或眼睛运动来控制放大用户界面。
Description
分案声明
本申请是于2022年4月15日提交的申请号为202080072766.4、名称为“放大用户界面的眼睛注视控制”的中国发明专利申请的分案申请。
背景技术
很多计算机用户经历某种程度的视觉障碍,这会使使用计算设备的图形用户界面变得困难。很多用户还经历听觉障碍或移动障碍,这可能使在计算设备上执行其他任务变得困难。一些计算机系统包括使得用户能够放大设备的显示器的至少一部分的内容的放大用户界面。隐藏式字幕和其他辅助技术可以帮助听觉和行动障碍。然而,现有解决方案通常由鼠标、键盘和/或对计算设备的触摸输入来控制,这对于遭受损害的用户来说可能难以控制。用于检测对这样的辅助技术的需求以及获取和控制这样的辅助技术的新的已批准的机制有很多重要领域。
发明内容
根据本发明的一个方面的一种计算设备包括处理器和存储可执行指令的计算机可读介质。该可执行指令用于使处理器执行包括以下各项的操作:在计算设备的显示器上显示内容;使用与计算设备相关联的相机捕获计算设备的用户的一系列图像;分析该系列图像以确定用户是否正在表现出指示视觉障碍的行为或特性;以及在显示器上绘制放大用户界面,放大用户界面被配置为基于确定用户正在表现出指示视觉障碍的行为或特性来放大显示器的内容的至少一部分。
根据本发明的第二方面的一种用于控制计算设备的用户界面的方法包括在计算设备的显示器上显示内容;使用与计算设备相关联的相机捕获计算设备的用户的一系列图像;分析该系列图像以确定用户是否正在表现出指示视觉障碍的行为或特性;以及在显示器上绘制放大用户界面,放大用户界面被配置为基于确定用户正在表现出指示视觉障碍的行为或特性来放大显示器的内容的至少一部分。
根据本发明的第三方面,一种存储指令的存储器设备,该指令当在计算设备的处理器上执行时使计算设备通过以下方式绘制放大用户界面:在计算设备的显示器上显示内容;使用与计算设备相关联的相机捕获计算设备的用户的一系列图像;分析该系列图像以确定用户是否正在表现出指示视觉障碍的行为或特性;以及在显示器上绘制放大用户界面,放大用户界面被配置为基于确定用户正在表现出指示视觉障碍的行为或特性来放大显示器的内容的至少一部分。
提供本发明内容以便以简化的形式介绍一系列概念,该概念将在下面的“具体实施方式”中进一步描述。本发明内容不旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用于限制要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
附图描绘了根据本教导的一种或多种实现,仅作为示例,而不是作为限制。在图中,相同的附图标记表示相同或相似的元素。此外,应当理解,附图不一定按比例绘制。
图1A、图1B、图1C和图1D示出了可以在其上实现本文中公开的放大技术的计算设备的示例;
图2A和图2B示出了可以在其上实现本文中公开的放大技术的计算设备的另一示例;
图3是可以由计算设备实现的示例放大器单元的功能框图;
图4A和图4B是示出在由计算设备的相机捕获的图像中用户的面部识别的图;
图5A和图5B是示出在由计算设备的相机捕获的图像中用户的面部和眼睛识别的图;
图5C是示出用于确定由计算设备的相机捕获的图像中的眼睛纵横比的示例的图;
图6呈现了用于在计算设备的显示器上绘制放大用户界面的示例过程的流程图;
图7A、图7B和图7C示出了示例放大用户界面;
图8是本文中公开的自适应辅助技术方法可以在其上实现的示例自适应辅助技术单元的功能框图;
图9呈现了用于在计算设备上提供辅助技术的示例过程的流程图;
图10是示出示例软件架构的框图,该软件架构的各个部分可以与本文中描述的各种硬件架构结合使用,该硬件架构可以实现本文中描述的任何特征;以及
图11是示出被配置为从机器可读介质中读取指令并且执行本文中描述的任何特征的示例机器的组件的框图。
具体实施方式
在以下详细描述中,通过示例阐述了很多具体细节以便提供对相关教导的透彻理解。然而,显然,本教导可以在没有这样的细节的情况下实践。在其他情况下,众所周知的方法、程序、组件和/或电路系统已经在相对较高的水平上进行了描述,而没有详细说明,以避免不必要地模糊本教导的方面。
在常规计算系统中,辅助技术可能对用户可用,但用户可能不知道这些辅助技术。通常,面临视觉、听觉或行动障碍的用户必须接受职业治疗师(OT)、视觉障碍教师(TVI)或了解这些技术的其他人员的训练。但是,很多用户无法获取这样的训练。很多用户错过了使用这些辅助技术的机会,除非他们知道这些辅助技术的存在并且对计算机技术足够熟悉以尝试自行配置这些辅助技术。
本文中公开的技术提供了自适应辅助技术,该自适应辅助技术可以识别出用户可能正在经历视觉障碍、听觉障碍、行动障碍、认知障碍、和/或可能影响用户有效使用计算设备的能力的其他障碍。如将在下面的示例中看到的,计算设备可以具有很多不同形状因子,每个形状因子为这些设备的用户提供独特挑战。计算设备还可以是个人计算设备、工作计算设备或公开可用的计算设备。个人和工作计算设备可以被个性化以供特定用户使用。公开可用的计算设备可以提供辅助技术,该辅助技术可以在用户正在使用公开可用的计算设备时帮助用户,但是一旦用户完成对计算设备的使用,就可以恢复到默认配置。
本文中公开的自适应辅助技术的一个方面是用于帮助可能具有视觉障碍的用户的改进的放大用户界面(本文中也称为“放大器”)。本文中公开的自适应辅助技术的另一方面是被配置为检测用户可能具有视觉障碍、听觉障碍、移动障碍和/或其他障碍的自适应辅助技术单元(本文中也称为“AATU”)。AATU提供了一种用于标识由计算设备提供的可以帮助用户克服这些问题的各种自适应技术的手段。AATU可以自动使得辅助技术能够使计算设备适应用户的需要和/或向用户呈现可用辅助技术,并且引导用户完成对这些技术的设置过程。以下示例说明了这些概念。
用于实现放大器和AATU的计算设备可以是台式计算机系统、平板计算设备、膝上型电脑或移动电话。这些技术还可以与利用显示器的其他类型的计算设备一起使用,诸如信息亭、自动柜员机(ATM)(也称为自动银行机、现金点或自动取款机)和包括显示器的其他类型的计算设备,用户可以从在显示器上放大显示的内容中受益。
与常规的放大器用户界面相比,改进的放大器在可用性方面提供了显著改进。一种显著改进是,改进的放大器可以基于用户到计算设备的显示器的接近而被自动地绘制在计算设备的显示器上。向计算设备的显示器倾斜是难以查看显示器上的内容的用户的常见反应。放大器可以将该行为识别为启动放大器以帮助用户查看显示器上的内容的触发。这提供了对常规放大器解决方案的显著改进,常规放大器解决方案通常通过组合键盘输入或通过在一系列菜单和/或配置设置中搜索放大器界面来启动。将从放大器中受益的可能具有视觉障碍的用户可能不知道计算设备上放大器的可用性。此外,使用计算设备来找到合适的菜单和/或配置设置来启动放大器的用户可能不够舒适。基于用户接近自动启动放大器通过自动将放大器呈现给用户而至少解决了这些问题。
本文中公开的技术还可以使用头部和/或眼睛跟踪作为用于控制放大器的手段。头部和/或眼睛跟踪提供了用于控制放大器的自然用户界面,因为用户可以简单地看他们想要放大的内容。头部和/或眼睛跟踪数据可以用于实时控制放大器在计算设备的显示器上的位置。常规的放大器控件通常需要用户使用一系列键盘命令、一系列鼠标输入或触摸输入来控制放大器的放置。这两种控制机制都可能对用户造成物理负担并且耗时。使用头部和/或眼睛跟踪提供了一种控制放大器的显著改进的方法,其中用户可以简单地看他们想要放大的内容,而不是为键盘和/或鼠标输入而苦恼。
用户到显示器的接近可以用于控制由放大器应用的缩放级别。如上所述,放大器可以基于用户到计算设备的显示器的接近来启动。用户到设备的接近也可以用于控制由放大器应用的放大级别。在一些实现中,放大器可以响应于用户越来越接近计算设备的显示器而增加放大率,并且响应于用户远离显示器移动而减小放大率。在一些实现中,如果用户响应于放大器增加所应用的放大级别而远离显示器移动,则缩放级别可以保持在恒定级别。当用户响应于放大器增加所应用的放大级别而远离计算设备的显示器移动时,缩放级别可以替代地增加。缩放级别可以被增加的量与用户响应于放大级别的增加而远离显示器移动的距离成比例。在一些实现中,缩放级别可以由头部和/或眼睛姿势控制,如将在以下示例中更详细讨论的。在这样的实现中,用户到显示器的接近可以用于触发放大器的启动,而头部和/或眼睛手势可以用于控制由放大器应用的缩放级别和/或放大器的其他操作参数。在又一实现中,用户接近以及头部和/或眼睛姿势的组合可以用于控制由放大器应用的缩放级别。用户接近与或不与头部和/或眼睛姿势一起提供了用于通过执行不需要用户输入复杂键盘和/或鼠标输入的一个或多个简单手势来控制放大器上的缩放级别的改进手段。此外,放大器可以被配置为响应于用户从显示器移动超过预定距离而自动关闭。
图1A是示出可以用于实现本文中公开的技术的计算设备105的一种可能配置的示例的图。示例计算设备105包括显示器110、键盘145、鼠标140。显示器包括相机120。在计算设备105的该示例实现中,相机120与显示器110集成。然而,如图1B所示,计算设备105可以与相机130相关联,相机130是被配置为经由有线或无线连接与计算设备105通信的单独或独立相机。在一些实现中,计算设备105可以包括与计算设备105集成或关联的多个相机。
用户150可以使用图1A和图1B所示的示例中的各种输入设备与计算设备交互。计算设备包括键盘145、鼠标140和显示器110,显示器110也可以是能够接收用户输入的触摸屏。计算设备105可以被配置为执行操作系统,诸如但不限于Microsoft Windows操作系统。操作系统可以提供用户可以在其中与一个或多个应用交互的图形用户界面。应用可以在“桌面”上的窗口中被绘制,该“桌面”为用户150与一个或多个应用交互提供工作区域。桌面还可以包括控件、工具、菜单栏、用于通知的显示区域、以及用户可以与之交互的其他组件。图1C和图1D分别类似于图1A和图1B,将在后面关于图3进行讨论。
图2A和图2B示出了具有交互式信息亭的形状因子的计算设备205的两个示例实施例。代替计算设备105,计算设备205可以用于实现本文中讨论的各种示例实现。交互式信息亭(诸如计算设备205)可以用于各种位置。这样的交互式信息亭可以用于机场、火车站、汽车站和酒店,以方便购票、托运行李、办理旅行登记、获取有关预订的信息、登记房间和/或租用房间、以及各种其他服务。其他类型的信息亭可以用于在博物馆、图书馆、纪念碑、国家公园和其他这样的地点提供信息和/或获取其他服务。一些信息亭还可以被配置为作为用户205可以在其中购买商品和/或服务的销售点设备或自动售货机操作。在其他实现中,信息亭可以实现自动柜员机,自动柜员机可以包括具有触摸屏界面的显示器210和/或可以包括用于接收用户输入的小键盘245。这些示例绝不是限制性的,并且计算设备205可以用于实现其他类型的信息亭类型的计算设备。
计算设备205可以包括显示器210。显示器210可以是用于接收用户输入的触摸屏。计算设备205可以可选地包括提供接收用户输入的手段的键盘或小键盘245,诸如在图2A所示的示例中。在一些实现中,计算设备205可以不包括键盘或小键盘245,诸如图2B所示,并且显示器210可以是用于接收用户输入的触摸屏。
在前面的示例中示出的计算设备105和205的示例形状因子仅示出了可以用于实现本文中公开的用于提供放大器用户界面以放大计算设备的显示器上的内容的技术的计算设备类型的一些示例,并且绝不是限制性的。可以使用其他类型的计算设备来实现放大器。计算设备可以是平板电脑、移动电话或智能电话、智能电视、和/或包括显示器并且包括一个或多个集成相机和/或与一个或多个相机相关联的其他类型的计算设备,相机可以用来捕获计算设备的用户的图像和/或视频。
图3是可以在来自前述示例的计算设备上实现的示例放大器单元305的功能框图。虽然图3的讨论涉及计算设备105,但放大器单元305也可以在图2A-图2B所示的计算设备205上实现。放大器单元305可以包括处理器可执行程序代码,该处理器可执行程序代码可以由计算设备105的处理器执行以在计算设备105的显示器110上生成放大用户界面或“放大器”。放大器可以放大在显示器110上绘制的内容的至少一部分。放大器单元305可以包括图像分析单元310、移动控制单元315、设备控制单元320、内容绘制单元325和配置单元330。
放大器单元305可以至少部分由计算设备105的操作系统来实现,和/或可以至少部分由计算设备105或计算设备205的处理器执行的一个或多个应用来实现。在这个示例中讨论的放大器单元305的功能组件仅仅是放大器单元305可以实现的一些功能的示例。这些功能组件中的一些可以实现为计算设备105的操作系统的一部分,而其他功能组件可以由一个或多个应用来实现,该应用包括可执行程序代码,该可执行程序代码在由计算设备的处理器执行时可以执行本文中描述的功能。在一些实现中,放大器单元305可以实现为在计算设备105启动时自动执行的程序或服务,或者可以是可以由计算设备105的用户手动启动的应用。
图像分析单元310可以被配置为接收由与计算设备105相关联的一个或多个相机捕获的图像和/或视频。如图所示,在前面的示例中,相机可以与计算设备105集成或者可以是被配置为经由有线或无线连接向计算设备提供图像和/或视频的独立相机。图像分析单元310可以被配置为检测用户在由相机捕获的图像和/或视频中的存在。图像分析单元310可以实现用于提取可以用于头部和/或眼睛跟踪的信息的头部姿势估计神经网络。
由头部姿势估计神经网络输出的信息可以作为输入提供给移动控制单元315。移动控制单元315可以被配置为将其转换为放大器关于显示器110的实时移动或由放大器显示的放大内容的移动,其中放大器被配置为在显示器110上静止。使得用户能够通过头部和/或眼睛运动来控制放大器的移动可以提供更自然的用户界面,用户可以该用户界面中看要放大的内容,而不是用键盘输入、鼠标或触控板输入、触摸屏输入和/或语音命令来尝试操纵放大器来放大显示器的内容的期望部分的内容。
内容绘制单元325可以在计算设备105的显示器110上绘制放大器。内容绘制单元325还可以绘制由放大器显示的放大内容。内容绘制单元325可以基于由图像分析单元310提供的头部和/或眼睛跟踪信息来动态地更新显示器上被绘制的放大器的位置和/或放大器内显示的放大内容。
设备控制单元320可以被配置为控制与计算设备105相关联的一个或多个设备以在用户正在试图查看计算设备的显示器的内容时最小化干扰。设备控制单元320可以使在可以经由计算设备控制的附近设备上播放的音频和/或视频内容静音。设备控制单元320还可以控制计算设备所在区域中的环境照明,其中这样的照明由计算设备可控制。设备控制单元320还可以暂停或静音计算设备本身上的音频和/或视频内容,以在用户尝试查看计算设备105的显示器上的内容时减少干扰。设备控制单元320可以提供附加的手段用于减少来自计算设备和与计算设备相关联的其他设备的干扰。
配置单元330可以配置计算设备105的放大器和/或显示器110的一个或多个操作参数。配置单元330可以改变字体大小、字体颜色、背景颜色、屏幕亮度、放大器的大小、和/或计算设备的放大器或显示器110的其他参数。配置单元330可以提供允许设备的用户或设备的管理员配置放大器的默认操作参数的用户界面。用户可以与放大器交互以调节操作参数,这些操作参数和其他操作参数如将在以下示例中讨论的。
在一些实现中,计算设备可以包括与计算设备的一个或多个相机分离的专用跟踪设备。在这样的实现中,由图像分析单元310执行的头部位置和/或图像跟踪的全部或部分可以由专用跟踪设备执行。专用跟踪设备可以与计算设备集成,或者可以经由有线或无线连接而连接到计算设备。专用跟踪设备可以被配置为输出可以由移动控制单元315使用的头部位置和/或跟踪信息,类似于来自上面讨论的头部姿势估计神经网络的输出。专用跟踪设备可以包括用于捕获计算设备的用户的图像和/或视频的一个或多个相机。专用跟踪设备可以包括处理器、存储器、和/或用于执行头部姿势估计和/或眼睛跟踪的其他硬件和/或软件组件。在一些实现中,专用跟踪设备可以包括一个或多个发射器,该发射器被配置为发射红外(IR)和/或在人眼通常可见的波长范围之外的其他波长的光,以便不干扰用户的视觉。专用跟踪设备的输出可以被提供给放大器单元305的一个或多个模块,以提供可以用于控制放大器的一个或多个方面的头部位置和/或眼睛跟踪信息。
图6示出了用于操作计算设备的用户界面的示例过程600的流程图。过程600涉及计算设备105,但也可以由前述示例中说明的计算设备205来实现。过程600可以由图3所示的放大器单元305来实现。
过程600包括操作610,其中向用户显示内容。内容可以显示在计算设备105的显示器110上。如在前面的示例中讨论的,可以显示的内容的类型取决于计算设备105是如何被利用的。如果计算设备105是膝上型计算机或个人计算机,则用户可能正在执行一个或多个应用,诸如网络浏览器、电子邮件客户端、电子表格、文档编辑器、用于经由文本消息、音频和/或视频内容与其他用户通信的通信应用。也可以执行用于读取和/或创建各种类型的内容的其他类型的应用。如果计算设备是智能手机或平板电脑,则用户可能正在这些设备上执行一组类似的应用,该应用被配置用于这样的计算设备的显示器的通常较小的形状因子。计算设备可以是显示银行界面、销售点界面、信息界面或如在前面的示例中讨论的其他内容的信息亭。
过程600可以包括第二操作620,其中计算设备105的用户的一系列图像和/或视频被捕获。计算设备105可以包括与计算设备集成或经由有线或无线连接而连接到计算设备105的一个或多个相机。一个或多个相机可以提供不同级别的保真度,并且本文中公开的技术可以适应相机保真度。在一些实现中,相机可以是能够捕获较低分辨率图像和/或视频的较低分辨率网络相机,在其他实现中,相机可以是能够捕获高清图像和/或视频的高分辨率相机。例如,低分辨率摄像机可以能够支持视频图形阵列(VGA)640×480分辨率,而高分辨率摄像机可以能够支持4K超高清(UHD)数字格式。与计算设备105相关联的一个或多个相机可以支持其他数字格式。在其中相机保真度较低的实现中,放大器单元305可以能够对图像执行头部跟踪,但由于相机捕获的图像和/或视频的分辨率有限而无法执行眼睛跟踪。更高分辨率的图像和/或视频可以允许放大器单元305提供更准确的头部和/或眼睛跟踪,放大器单元305可以将其转换为对放大器关于显示器110的移动和/或由放大器显示的放大内容的滚动的更细粒度的控制。
过程600可以包括第三操作630,其中分析该系列图像或视频以确定用户是否表现出指示视觉障碍的行为或特性。本文中公开的技术的一个方面是,计算设备可以被配置为分析用户的图像和/或视频以确定用户是否可能因视觉障碍而挣扎,该视觉障碍使得阅读计算设备的显示器上显示的内容很困难。用户的各种行为和/或用户的特性可以用于确定用户可能患有视觉障碍。
一种方式是可以确定用户是否被检测到靠近计算设备的显示器,这可以指示用户正在经历阅读计算设备的显示器上呈现的内容时遇到困难。计算设备可以被配置为通过确定用户头部在由计算设备110的相机捕获的图像和/或视频中的位置并且基于图像和/或视频中用户头部的大小来估计用户距显示器110有多远来确定用户距计算设备105的显示器110有多远。在图1C所示的示例中,计算设备105可以被配置为确定从相机120到用户150头部的距离175,并且在图1D所示的示例中,计算设备可以被配置为确定距相机130的距离175。在一些实现中,由相机收集的图像或视频可以被输入到头部姿势估计神经网络中,该神经网络被训练以在图像或视频中输出人的头部位置信息。头部位置信息可以包括指示用户头部的倾斜角度的头部角度信息。头部姿势估计神经网络还可以生成指示用户头部在图像或视频中的位置的信息。在一些实现中,头部姿势估计神经网络可以在用户150头部周围生成边界框405,诸如在图4A和图4B中。在其他实现中,放大器逻辑可以基于由头部姿势估计神经网络输出的头部位置信息来计算围绕用户面部的边界框405。
图4A和图4B示出了图1A所示的计算设备120的相机的示例视场400。出于参考目的,描绘了基本上平行于视场400的横轴的第一轴410和基本上正交于第一轴410的第二轴415。第二轴415在本文中也被称为视场400的“高度”或“y轴”,并且第一轴410在本文中也被称为视场400的“宽度”或“x轴”。第一轴410和第二轴415仅出于参考目的而被包括在内,并且通常不会绘制在计算设备105的相机120的视场400的图像中。
用户头部的大小可以基于边界框405的尺寸来估计。边界框405的尺寸可以通过以像素为单位确定边界框405的宽度和高度来确定。可选地,边界框405的尺寸可以被确定为计算设备105的相机120的视场400的宽度和高度的百分比。图4A示出了其中用户处于相对于计算设备105的相机120的第一位置的示例,而图4B示出了其中用户处于相对于计算设备105的相机120的第二位置的示例。用户在第二位置时更靠近相机,并且边界框405的尺寸在图4B所示的示例中更大。
可以通过将边界框405的尺寸与平均头部大小数据进行比较来确定用户150距计算设备105的显示器110有多远的估计。平均头部大小数据可以包括距相机120预定距离处的人头的平均尺寸。平均头部大小数据可以包括距相机120多个预定距离处的人头的平均尺寸。边界框405的尺寸可以与平均头部大小数据进行比较以确定用户距计算设备105的显示器110的估计距离。如果用户距计算设备105的显示器110的距离小于预定阈值距离,则放大器单元305可以被配置为确定用户的面部靠近计算设备105的显示器110。这种与显示器110的靠近度可以指示用户可能患有视觉障碍并且难以查看显示器110的内容。在一些实现中,如果用户保持靠近显示器110至少预定时间段,或者用户已经接近显示器110至少预定次数,则放大器单元将确定用户正在经历困难。在用户可能由于与视觉障碍问题无关的原因而暂时靠近计算设备105的显示器110的情况下,放大器单元可以依靠这样的阈值来防止误报。例如,用户150可能一直在调整计算设备150的组件或到达靠近计算设备105的显示器110的对象。
除了或代替用户到计算设备105的显示器110的接近,放大器单元可以基于其他因素确定用户正在经历视觉障碍问题。对于作为计算设备105的被标识或认证的用户的用户,计算设备105可能已经捕获了关于用户的生物特征信息,生物特征信息可以包括面部特征信息。该面部特征信息可以包括关于用户是否通常戴眼镜的指示。指示用户是否戴眼镜的信息可以是静态的。该信息可以在为用户设置用户帐户时确定。在其他实现中,面部特征信息可以通过捕获用户的图像来周期性地更新,可以对该图像进行分析以确定用户是否戴眼镜。如果放大器单元在由计算设备105的相机120捕获的图像和/或视频中检测到用户150没有戴眼镜但基于用户账户信息而预期会戴眼镜,则放大器单元可以确定用户可能难以查看计算设备105的显示器110的内容。
放大器单元在确定用户是否看起来有视觉障碍问题时可以考虑的另一因素是用户是否正在眯眼。当用户半闭一只或两只眼睛看某物以试图看得更清楚时出现眯眼。有视觉障碍问题的用户可能对光敏感,而眯眼可以指示显示器的亮度太高,用户无法舒适地观看。眯眼也可能是用户用力观看可能太小而不能被用户舒适地观看的内容的结果。放大器单元可以被配置为在由计算设备105的相机120捕获的图像和/或视频中检测用户的眼睛。图5A示出了图4A的视场400,但包括围绕用户150的眼睛的边界框510a和510b。图5B示出了图4B的视场400,但包括围绕用户150的眼睛的边界框510a和510b。头部姿势估计神经网络可以被配置为标识用户眼睛的位置并且提供用户的眼睛位置信息与由神经网络输出的头部位置信息。在一些实现中,头部姿势估计神经网络可以被配置为监测用户眼睛的张开度并且确定是否指示用户眯眼的眼睛张开度降低。
在一些实现方式中,图像分析单元310可以被配置为基于用户眼睛的纵横比的变化来确定用户是否正在眯眼。图5C是示出用于确定由计算设备的相机捕获的图像中的眼睛纵横比的示例的图。图5C示出了在由相机捕获的图像中标识的用户的一只眼睛550。用户眼睛550的纵横比表示沿着基本水平的X轴的眼睛张开的宽度和沿着基本垂直的Y轴的眼睛张开的高度。在该示例中,沿着X轴的眼睛张开的宽度是从位于每个眼角的点X1 593和X2 594测量的,而沿着Y轴的眼睛张开的高度可以从基本上在由下眼睑592形成的弧的中点y1 595处的点和基本上在由上眼睑591形成的弧的中点y2 596处的点来测量。除了或代替这些点,在其他实现中,其他点可以用于确定眼睛张开的纵横比。当用户闭上眼睛时,例如眯眼,眼睛的纵横比会发生变化,并且眼睛的宽度相对于眼睛的高度的比率会增加,因为眼睛张开的高度会随着用户眯眼而减小。图像分析单元310可以被配置为在眼睛张开的宽度与高度的纵横比超过预定阈值的情况下确定用户在眯眼。
放大器单元305可以被配置为在确定用户是否表现出指示视觉障碍的行为或特性时考虑上述因素中的一个或多个。在一些实现中,这些因素中的一个单独可能足以使放大器单元确定用户正在表现出指示视觉障碍的行为或特性。在一些实现中,用户头部距计算设备的显示器110的距离可能足以触发放大器单元305绘制放大器。即使用户未被确定为在距计算设备105的显示器110的预定阈值距离内,检测到用户眯眼和/或未按预期佩戴眼镜可能足以触发放大器的绘制。
过程600可以包括第四操作640,其中在显示器110上绘制放大器。放大器被配置为基于确定用户正在表现出指示视力障碍的行为或特性来放大显示器110的内容的至少一部分。放大器的属性可以基于用户的视觉障碍需求来动态地调节,这将在下面的示例中更详细地描述。放大器可以采取可以帮助用户查看绘制在计算设备110的显示器110上的内容的一些行动。
放大器可以可配置为在其中放大器覆盖整个或基本上整个显示器110的全屏模式下操作,并且用户可以滚动显示在放大器内的内容以查看显示器110的原始的未放大内容的不同部分的放大绘制。放大器可以可配置为在“透镜”模式下操作,如图7A-图7C所示。在透镜模式下,放大器的功能类似于可以关于屏幕移动以放大绘制在显示器110上的内容的一部分的放大镜。透镜的大小可以可配置为更小或更大以满足用户。放大器可以可配置为在“对接”模式下操作。在对接模式下,放大器被绘制在计算设备105的显示器110上的固定位置。用户界面的大小可以被调节以适应用户的需要,如在透镜模式下。当用户在显示器110上四处移动指针设备以提供围绕指针设备的屏幕部分的放大绘制时,对接放大器的放大内容可以被动态地更新。
放大器单元305可以使用头部和/或眼睛跟踪来确定用户在屏幕上看哪里。放大器单元还可以使用头部和/或眼睛跟踪来确定用户正在做什么。横向头部和/或眼睛运动可以指示用户正在阅读内容,而头部和/或眼睛运动跳跃聚焦在屏幕的两个不同区域上可以指示用户正在计算设备105上积极地使用一个以上的应用。放大器单元305还可以基于用户参与的应用类型来确定用户正在阅读。即使用户可以执行其他相关活动,诸如编辑或创建内容或查看应用中的非文本内容,一些应用也可以统称为“阅读”应用。阅读应用的示例可以包括文本编辑器或文档编辑器、网络浏览器、文档查看器、电子书(e-book)阅读器应用、电子邮件应用或消息传递应用。其他类型的应用也可以归类为阅读应用。
在透镜模式下,放大器单元可以使用头部和/或眼睛运动来控制放大器的运动。图7A示出了可以显示在显示器110上的计算设备105的桌面705的示例。桌面705包括单个应用窗口710。然而,其他实现可以具有与显示在桌面705上的一个或多个应用相关联的多个应用窗口。计算设备的相机120可以捕获用户的一系列图像和/或视频,并且在用户使用计算设备105时执行头部和/或眼睛跟踪。放大器单元可以响应于放大器单元确定用户正在表现出指示视觉障碍的行为或特性而自动启动显示器110上的放大器。用户还可以通过经由键盘、经由语音接口输入启动命令或者通过从计算设备105上的用户可用的应用菜单中选择放大器单元来手动启动放大器。图7B示出了绘制在桌面705上的放大器715的示例。放大器715包括应用窗口710的放大部分。放大器单元可以继续跟踪用户的头部和/或眼睛运动,并且基于检测到的用户的头部和/或眼睛运动在新位置动态地绘制放大器715。图7C示出了一个示例,其中用户的头部和/或眼睛运动指示用户正在看应用窗口710的下部并且放大器715的位置已经被更新以反映显示器110上用户正在看的新位置。放大器单元可以被配置为通过在显示器110上沿着第一位置与第二位置之间的路径在用户看起来正在看的不同位置处提供透镜的一系列绘制来将放大器715从一个位置平滑地移动到下一位置。
当放大器被配置为在全屏模式和对接模式下操作时,头部跟踪和/或眼睛跟踪也可以用于控制放大器单元。在全屏模式下,放大器单元可以使用头部和/或眼睛运动根据头部和/或眼睛运动指示用户正在查的方向来滚动显示在放大器视口中的放大内容。在对接模式下,头部和/或眼睛运动可以用来控制屏幕上指针设备的位置,并且随着指针设备关于显示器110移动,对接放大器的内容可以被更新。
头部和/或眼睛跟踪也可以用于控制放大器的一个或多个属性。放大器单元305可以被配置为分析由计算设备105的相机120捕获的图像和/或视频内容,以标识与配置命令相关联的头部和/或眼睛运动,并且执行这些配置命令以配置放大器的一个或多个参数。在一些实现中,放大器单元可以包括配置菜单,该配置菜单提供用于将配置命令与预定的一组头部和/或眼睛运动相关联的手段。用户从由放大器单元识别的头部和/或眼睛运动列表中选择特定头部和/或眼睛运动。
放大器单元305可以使用头部和/或眼睛跟踪来控制用于生成由放大器显示的放大内容的缩放级别。基于前述示例中公开的技术,放大器单元可以检测到用户已经靠近或远离计算设备105的显示器110移动。头部姿势估计神经网络可以在用户150的头部周围生成边界框405,诸如在图4A和图4B中。边界框405尺寸的增加可以指示用户已经将他们的头部移动得更靠近计算设备105的显示器110,并且边界框405的尺寸的减小可以指示用户已经远离计算设备105的显示器110移动他们的头部。在该特定示例中,放大器单元305可以被配置为标识用户何时移动更靠近计算设备105的显示器110并且增加由放大器显示的放大内容的缩放级别。放大器单元305可以被配置为标识用户何时已经远离显示器110移动并且减小由放大器显示的放大内容的缩放级别。如在前面的示例中讨论的,放大器可以被配置为响应于用户到显示器110的接近而与该示例稍有不同的操作。例如,响应于放大器增加所应用的放大级别,如果用户远离显示器移动,则缩放级别可以保持在恒定级别,或者缩放级别可以随着用户远离计算设备的显示器移动而增加,其量与用户已经远离显示器110移动的距离成比例。
放大器单元305可以被配置为响应于眼睛跟踪姿势以控制计算设备的缩放级别。在一些实现中,放大器单元305可以被配置为检测用户已经眨眼(即,短暂地闭上一只眼睛)。放大器单元305可以被配置为响应于用户用他们的右眼眨眼来增加缩放级别并且响应于用户用他们的左眼眨眼来降低缩放级别。除了或代替该示例,放大器单元305可以被配置为识别用于控制放大级别的其他眼睛姿势。
放大器单元305可以使用头部和/或眼睛跟踪来控制放大器的大小。头部姿势估计神经网络可以被配置为确定用户在由计算设备105的相机120捕获的图像和/或视频中的头部角度。放大器单元可以被配置为分析用户的头部角度。放大器单元可以被配置为基于在由计算设备105的相机120捕获的用户的图像和/或视频中检测到的用户的头部角度来增加或减小放大器的大小。在一种实现中,放大器单元可以被配置为在用户将他们的头向右倾斜的情况下增加放大器的大小并且在用户将他们的头向左倾斜的情况下减小放大器的大小。放大器单元305可以被配置为响应于眼睛跟踪姿势以控制放大器的大小。放大器单元305可以被配置为响应于用户用他们的右眼眨眼来增加放大器的尺寸并且响应于用户用他们的左眼眨眼来减小放大器的大小。除了或代替该示例,放大器单元305可以被配置为识别用于控制放大器的大小的其他眼睛姿势。
放大器单元还可以使用头部和/或眼睛跟踪来控制由放大器显示的放大内容和/或由显示器110显示的内容的一个或多个显示属性。放大器单元可以修改字体颜色、背景颜色、显示亮度、和/或显示器110的内容的其他属性。放大器单元可以被配置为响应于确定用户正在表现出指示视觉障碍的行为或特性(诸如接近显示器110和/或眯眼)而自动修改由放大器显示的放大内容和/或由显示器110显示的内容的一个或多个显示属性。有色盲的用户可能在某些背景颜色上难以阅读某些字体颜色,而某些字体颜色和背景颜色组合对于有视力障碍问题的用户可能难以阅读。一些有视力障碍问题的用户也可能会遇到光敏感问题。放大器单元可以被配置为将用于绘制由放大器和/或由显示器110显示的放大内容的字体颜色和/或背景颜色改变为对有色盲或视力障碍问题的用户阅读来说可能更容易的高对比度字体颜色和背景颜色组合。放大器单元还可以采用其他技术,诸如切换计算设备的操作系统以使用“深色模式(dark mode)”配色方案,该配色方案在深色背景上使用浅色文本和图形用户界面组件。计算设备的一些操作系统可以提供深色模式选项,并且放大器单元可以被配置为激活深色模式。在其他实现中,计算设备的操作系统可能不提供深色模式配色方案,但放大器单元可以被配置为自动改变用于字体、图形用户界面和背景的颜色,以便提供与由深色模式提供的相似的用户体验。
放大器单元305可以被配置为在“阅读模式”下操作,在“阅读模式”下,放大器的移动可以被限制为响应于放大器单元确定用户看起来正在阅读而在屏幕上“平移”。放大器单元305可以通过允许放大器横跨显示器110横向移动同时减少或防止放大器横跨显示器110垂直移动来限制放大器的移动。使用基于键盘、鼠标和/或触摸输入的常规放大镜控制技术阅读内容可能需要用户付出很大的努力,并且很快就会变得很累。此外,当用户试图阅读一行文本时,用户可能难以保持放大器单元与文本内容正确对准。放大器单元304可以被配置为防止或显著减少放大器垂直移动以允许用户横跨内容横向平移。放大器单元305可以被配置为一旦放大器到达文本行的末端就允许放大器垂直平移。放大器单元305可以被配置为允许用户通过按下计算设备105的键盘上的键或组合键、输入语音命令以取消放大器的阅读模式、或通过执行头部或眼睛姿势以使放大器单元305返回到先前的自由漫游操作模式来覆盖读取操作模式。
放大器单元305可以被配置为基于从操作系统接收的信号、用户正在阅读内容的应用、用户头部和/或眼睛运动、或其组合来确定用户看起来正在阅读。这些信号的组合可以用于确定用户的意图。应用可以提供指示该应用是阅读类型应用的信息。在一个示例中,用户正在网络浏览器中阅读基于网络的文章,并且网络浏览器可以提供关于用户正在阅读内容的指示。此外,头部和/或眼睛跟踪可以确定用户看起来正在横跨显示器横向移动他们的头部和/或眼睛,这表示用户正在阅读内容。这些信号的组合可能足以使放大器单元305确定用户打算阅读内容并且放大器的阅读模式应当被启用。在另一示例中,用户正在查看地图应用中的地图,并且头部和/或眼睛运动指示用户正在浏览地图数据,但是头部和/或眼睛运动并不指示用户正在阅读。放大器单元305可以确定用户不打算阅读内容并且放大器的阅读模式不应当启用。在又一示例中,用户可以在桌面上打开多个应用,包括文档编辑器和图像编辑器程序。操作系统可以向放大器单元305提供关于文档编辑器具有焦点的指示,并且头部和/或眼睛运动包括指示用户可能正在阅读的横向运动。放大器单元305可以确定在这种情况下应当激活放大器的阅读模式。然而,如果图像编辑器程序反而具有焦点,则放大器单元305可以确定不应当激活放大器的阅读模式,即使用户的头部和/或眼睛运动包括可能已经指示阅读的横向运动,因为非阅读应用具有焦点。前面的示例说明了放大器单元305可以用来确定是否激活放大器的阅读模式的一些信号类型。可以从操作系统、应用和/或从用户接收可以指示用户正在阅读或没有阅读的其他信号。
放大器单元305还可以被配置为控制与计算设备105相关联的设备以最小化干扰。例如,计算设备105可以与可以由计算设备105控制的一个或多个物联网(IoT)设备相关联。由计算设备105可控制的附近照明可以被调暗以减少计算设备105的显示器110上的眩光并且减少可能干扰光敏感的具有视觉障碍的用户的明亮环境照明。由计算设备105可控制的附近的音频和/或视频设备(诸如电视、扬声器、视频游戏控制台、平板电脑、移动电话和智能手表或其他可穿戴计算设备)可能具有静音的音频输出或暂停的音频或视频内容。移动电话和其他设备可以置于请勿打扰模式,以防止通知、警报和来电发出任何噪声、振动或在外部设备的显示器上显示任何可能分散注意力的内容以减少干扰。放大器单元可以被配置为在放大器关闭或被确定为不再需要时恢复这些设备中的每个的状态。
放大器单元305可以被配置为减少计算设备105上的音频和视觉干扰,以通过去除可能干扰用户集中注意力和专注于阅读的能力的其他干扰来改善用户体验。放大器单元305可以被配置为在使用放大器时减少视觉干扰,以减少可能导致用户对他们正试图完成的任务失去注意力的干扰。放大器单元305可以被配置为通过执行以下任务中的一项或多项来减少视觉干扰:(1)自动暂停正在被计算设备播放的视听媒体,(2)淡化内容以减少视觉噪声,以及(3)提供通知和警报的智能处理以减少干扰。放大器单元305可以被配置为暂停设备上的所有视听媒体,诸如流式视频内容、视频游戏和/或可能包括可能分散用户对放大器中正在观看的内容的视觉内容的其他这样的内容。放大器单元305可以被配置为暂停当前未被放大器放大的所有内容。放大器单元305可以被配置为淡化当前不是用户注意力焦点的内容,以减少视觉干扰。放大器单元305可以被配置为基于用户的头部和/或眼睛位置、屏幕上指针设备的位置、和/或与被绘制为放大器的放大内容的内容相关联的应用来确定用户正在查看哪个应用。放大器单元305可以基于放大器当前正在放大什么内容来确定什么内容是用户关注的焦点。放大器外围的内容可能会被模糊,内容的颜色饱和度可能会降低,内容的亮度可能会降低,和/或可以进行其他这样的修改以减少与该内容相关联的视觉噪声。此外,放大器单元305可以被配置为自动静音音频输出和/或暂停与当前不是用户关注焦点的其他应用相关联的视频内容。计算设备105的操作系统可以提供用于控制应用的音频输出的应用程序编程接口(API),或者应用本身可以提供用于控制由应用输出的音频音量的API。如果用户的注意力的焦点移动到音频输出已经被静音和/或内容回放已经被暂停的应用,则放大器单元305可以被配置为重新激活音频输出和/或恢复应用中的音频或视频内容的回放。
放大器单元305还可以被配置为在放大器正被使用时提供通知和警报的智能处理。通常,警报和通知被显示在显示器的特定区域上,并且可以伴随有警报或通知的发生的听觉和/或触觉指示。对于没有任何视觉障碍的用户来说,这样的警报和通知可能已经是一个很大的干扰。对于有视觉障碍的用户,这样的警报和通知会带来附加的干扰,因为用户可能需要将放大器导航到警报或通知以查看警报或通知,然后将放大器导航回用户正在使用放大器查看内容的先前位置。放大器单元305可以为这个问题提供多种解决方案。放大器单元305可以采取的一种方法是在使用放大器时抑制所有警报和通知。另一种方法是,放大器单元305可以采取暂时将放大器的视口移动到警报和/或通知以向用户提供查看警报和/或通知的机会,并且一旦用户查看了警报或通知,则将放大器的视口返回到用户在警报或通知之前正在查看的内容。另一种方法是将警报和/或通知重新定位在当前正被放大的显示器的位置处或附近,而不是移动放大器单元305的视口。在又一种方法中,放大器单元305可以被配置为响应于头部和/或眼睛姿势以查看警报或通知,以及响应于另一头部和/或眼睛姿势以指示用户已经查看警报或通知并且希望返回到在警报或通知之前正在查看的内容。
放大器单元305可以被配置为基于用户的情绪或认知状态和/或用户的参与程度来启动。图像分析单元310可以被配置为包括用于基于用户的图像和/或视频来确定用户的情绪或认知状态以确定用户的姿势或手势的功能。图像分析单元310可以包括情绪状态/认知状态估计神经网络,该情绪状态/认知状态估计神经网络可以分析用户的图像和/或视频以确定用户是否可能生气、沮丧、分心和/或努力完成任务。如果来自神经网络的输出指示用户可能生气、沮丧、分心和/或努力完成任务,则放大器单元305可以自动启动放大器。放大器单元305还可以监测按键按下、鼠标点击、以及与计算设备105的其他用户交互以确定这些用户交互是否指示用户在使用计算设备时遇到了麻烦。由放大器单元305收集的用户交互信息可以被提供给神经网络作为用于分析的输入。用户交互信息可以替代地与由计算设备105的相机捕获的图像和/或视频分开分析。放大器单元305还可以绘制用户界面,该用户界面引导用户完成说明如何使用放大器的简短演示。用户演示还可以引导用户根据用户的需要个性化放大器的配置。通过识别用户可能在计算设备上遇到困难,放大器单元305可以向用户提供主动帮助并且展示用户可用的任何辅助技术并且用户可能没有辅助技术存在的任何知识。
尽管前面的示例讨论了基于用户存在来配置放大器的操作,但是放大器仅示出了本文中公开的用于基于用户存在来配置计算设备的技术的一个示例的一种可能实现。这些技术可以由操作系统实现和/或由安装在计算设备上的一个或多个应用本地实现。计算设备上的操作系统和/或一个或多个应用可以实现在前述示例中讨论的放大器单元305的一个或多个功能方面。
操作系统可以被配置为检测用户到计算设备的显示器的接近,如上文关于放大器单元305的图像分析单元310讨论的,和/或使用如前面的示例中讨论的专用跟踪设备。操作系统可以使用头部跟踪和/或眼睛跟踪信息来调节操作系统的一个或多个参数。操作系统可以基于头部跟踪和/或眼睛跟踪信息来调节操作系统的显示相关参数,诸如显示亮度、字体大小、字体和背景颜色以及对比度。操作系统还可以调节应用于计算设备的一个或多个显示器的内容的缩放因子。缩放因子可以用于增加或减少绘制在显示器上的内容的相对大小。例如,缩放因子可以用于调节绘制在计算设备的显示器上的内容的每英寸点数(DPI)。操作系统可以将这些改变应用于计算设备上的活动应用的全部或子集,诸如当前具有焦点的应用或用户的注视看起来指向的应用。操作系统可以实现这些技术以通过使得用户能够在个性化计算设备的同时配置各种显示相关参数来改善用户的开箱即用体验(OOBE)。以下示例中讨论了讨论可以在OOBE期间配置的计算设备的附加方面的附加示例。
计算设备上的一个或多个应用可以实现用于基于用户存在来调节计算设备的一个或多个操作参数的技术的至少一部分。诸如网络浏览器、电子书阅读器、地图或导航应用和/或其他类型的应用等应用可以被配置为类似于放大器单元305的图像分析单元310的技术和/或通过专用跟踪设备获取头部和/或眼睛跟踪信息。被配置为利用这些技术的应用可以提供缩放级别控制、字体颜色和大小控制、显示亮度控制和/或以上关于放大器讨论的其他特征。这样的应用还可以促进使用头部和/或眼睛跟踪在应用中导航以控制指针设备的位置和/或应用的其他特征。
放大器单元305提供可以帮助经历视觉障碍的用户的自适应辅助技术。在随后的示例中,自适应辅助技术单元被配置为识别计算设备105的用户可以受益于由计算设备105提供的一种或多种自适应辅助技术。辅助技术可以提供用于辅助不仅具有视觉障碍而且还具有听觉、移动性和可能影响用户使用计算设备的能力的其他类型的障碍的用户的工具。AATU可以识别出用户可能正在经历损伤,并且可以向用户呈现可以帮助用户的一种或多种自适应辅助技术。AATU可以被配置为自动启动自适应辅助技术和/或可以向用户呈现指示这些技术的可用性的用户界面,并且引导用户个性化这些技术以供他们自己使用。AATU对计算设备上的辅助技术相对于常规方法进行了重大改进。AATU可以确定用户在使用计算设备时可能正在经历可能对其用户体验产生负面影响的损伤,并且主动推荐一种或多种可以帮助用户解决这些问题的自适应技术。鉴于用户所经历的损伤,这些自适应辅助技术可以帮助用户个性化计算设备的一个或多个方面,以提供显著改善的用户体验。由AATU提供的方法提供了一种交互式方法,该方法可以使辅助技术适应特定用户,而无需用户预先了解这些辅助技术或如何使用它们。
图8是可以在来自前述示例的计算设备上实现的自适应辅助技术单元(AATU)805的功能框图。虽然关于计算设备105讨论了AATU 805的示例,但是AATU 805也可以在计算设备205上实现。AATU 805可以包括存储在计算设备的有形计算机可读介质中的处理器可执行程序代码。
AATU 805可以确定计算设备的用户可能正在经历视觉障碍、听觉障碍、移动障碍或计算设备可以提供辅助技术以促进使用计算设备105的其他问题。在前述示例中,放大器单元305被配置为检测计算设备的用户的行为或特性中指示视觉障碍的信号,并且提供可以帮助用户查看计算设备的显示器的内容的自适应解决方案。通过提供用于标识指示视觉障碍、听觉障碍、移动障碍或可以使使用计算设备105或205更困难的其他问题的信号的手段,并且通过提供这些问题的解决方案,AATU 805超越了由放大器单元305提供的放大器。在一些实现中,放大器单元305的功能可以由AATU 805实现。在其他实现中,计算系统可以包括放大器单元305和AATU 805两者。
AATU 805可以包括图像分析单元810。图像分析单元810可以与放大器单元305的图像分析单元310类似地操作。图像分析单元810可以从计算设备105的相机120接收图像和/或视频内容,和/或分析图像和/或视频以检测用户的头部和/或眼睛。
AATU 805可以包括使用分析单元815。使用分析单元815可以分析用户如何与计算设备交互以确定用户交互是否指示用户以某种方式使用计算设备遇到困难,这可以通过自适应辅助技术来解决。下面的示例用例说明了AATU 805如何确定用户在使用计算设备时遇到困难,这种困难可以使用自适应辅助技术来补救。
AATU 805可以包括设备控制单元820,该设备控制单元820可以与前述示例中讨论的放大器单元305的设备控制单元320类似地操作。设备控制单元320可以被配置为控制与计算设备105相关联的一个或多个设备,并且设备控制单元320可以控制这些设备以帮助减少来自这些设备的干扰,这些干扰可能干扰用户集中注意力和有效利用计算设备105的能力。
AATU 805可以包括内容绘制单元825。内容绘制单元825可以与放大器单元305的内容绘制单元325类似地操作。内容绘制单元825可以在计算设备85的显示器110上绘制辅助技术内容。内容绘制单元825可以绘制内容,诸如在前面的示例中讨论的放大器,和/或在随后的示例中讨论的可以帮助用户处理计算设备105的功能的一个或多个方面的附加内容。
AATU 805可以包括设备配置单元830,该设备配置单元830可以与放大器单元305的配置单元330类似地操作。配置单元830可以配置计算设备105的放大器和/或显示器110的一个或多个操作参数。
使用分析单元815可以被配置为基于用户与计算设备105的交互来识别关于用户可能正在经历视觉障碍、听觉障碍、行动障碍或可以由计算设备提供辅助技术以促进使用计算设备105的其他问题的信号。AATU 805可以由AATU 805的提供者配置为识别多个不同信号。指示用户可能正在经历的特定问题的信号可以与可以由AATU 805执行以尝试帮助用户补救该问题的一个或多个动作相关联。信号与可以执行的一个或多个动作之间的映射可以存储在计算设备105的存储器中,并且AATU 805可以在AATU 805在计算设备105上被激活时访问映射信息。
以下用例说明了可以由使用分析单元815检测到的示例信号以及可以响应于检测到这样的信号而执行的动作的示例。这些示例旨在说明本文中公开的概念,而不旨在将本文中公开的自适应辅助技术限制为这些特定示例。除了或代替本文中讨论的一个或多个示例信号,AATU 805可以被配置为识别其他信号并且响应于这些信号而执行动作。
使用分析单元815可以被配置为在用户通过使用触摸屏“双指缩放”特征或通过从用户正在使用的应用的菜单中选择“放大”选项或通过输入键盘命令以增加应用正在显示的内容的放大率来放大网页、电子邮件、文档或消息等内容的情况下确定用户可能正在经历视觉障碍问题。用户可能正在经历干扰用户使用计算设备105的能力的视觉障碍。使用分析单元815确定用户可以受益于以下中的一项或多项:使用更大的文本和/或更大的指针对象(也称为“鼠标指针”)在显示器110上绘制内容。使用分析单元815可以被配置为以几种不同的方式解决这个问题。在一些实现中,使用分析单元815可以自动调节字体大小和/或指针大小。在其他实现中,使用分析单元815可以使用内容绘制单元825向用户呈现用户界面,用户界面建议增加字体大小和/或指针大小。用户界面可以呈现增加后的字体大小和/或指针大小的预览。用户界面还可以包括允许用户手动调节字体大小和/或指针大小的控件。用户可以接受对字体大小和/或指针大小的改变,并且AATU 805可以通过修改与计算设备105的这些组件相关联的显示设置来在操作系统级别、应用级别或这两者更新字体大小和/或指针大小。用户还可以选择不更新字体大小和/或指针大小,并且AATU 805可以至少暂时禁止检查这种特定类型的信号。
使用分析单元815可以被配置为响应于检测到用户正在眯眼而确定用户可能正在经历视觉障碍问题。如上面关于放大器组件讨论的,图像分析单元810可以被配置为分析使用与计算设备105相关联的相机120而捕获的用户的图像和/或视频。这些图像可以使用至少在前面的示例中讨论的技术来分析以确定用户是否正在眯眼。使用分析单元815可以确定较大的文本和在深色模式下绘制图形用户界面组件可以帮助用户响应于眯眼。使用分析单元815可以自动地对计算设备105的配置做出这些改变,或者可以向用户呈现提议做出改变的绘制用户界面。用户界面可以允许用户手动调节字体大小。如果用户接受建议的改变,则AATU 805可以通过修改与字体大小和显示模式相关联的显示设置来在操作系统级别、应用级别或这两者更新这些参数。响应于检测到用户正在眯眼,使用分析单元815还可以向设备控制单元820发送信号以指示设备控制单元820调暗计算设备105周围区域中的环境照明。如前述示例中讨论的,计算设备105可以被配置为控制靠近计算设备105的一个或多个IoT设备,并且AATU 805可以减少环境照明以减少显示设备上的眩光并且减少经历光敏感的用户的眼睛疲劳。
使用分析单元815还可以被配置为识别用户通常佩戴眼镜但当前没有佩戴眼镜,如上面关于放大器单元305讨论的。使用分析单元815可以被配置为确定在可能的情况下增加字体大小和/或将屏幕分辨率改变为更高的分辨率可以帮助用户查看计算设备的显示器上的内容。使用分析单元815可以自动地对计算设备105的配置进行这些改变,或者可以向用户呈现如前面的示例中提出作出改变的用户界面。
使用分析单元815还可以被配置为识别用户靠近计算设备105的显示器110,如上面关于放大器单元305讨论的。使用分析单元815可以确定放大器应当被绘制在用户设备的显示器110上以帮助用户查看显示器110的内容。
使用分析单元815可以确定用户已经将用于由计算设备105输出的音频的音量调到高于预定阈值或调到最大水平,这可以指示用户正在经历听觉问题。使用分析单元815可以启用隐藏式字幕以帮助用户理解音频输出。使用分析单元815可以通过修改与字体大小和显示模式相关联的显示设置来在操作系统级别、应用级别或这两者启用隐藏式字幕。使用分析单元815可以提供用于配置隐藏式字幕的一个或多个参数的用户界面,诸如字体大小、字体颜色、背景颜色、隐藏式字幕在显示器上的位置以及其他参数。在一些实现中,隐藏式字幕可能以一种以上的语言可用,并且用户界面可以允许用户选择隐藏式字幕中可以显示的语言。AATU 805还可以响应于启用隐藏式字幕而调低或静音计算设备105上的一个或多个应用或具有音频输出的一个或多个附近设备的音量。AATU 805可以使用头部和/或眼睛跟踪技术(诸如在前面的示例中讨论的那些)来确定用户当前关注的应用,以确定用户当前关注的应用,并且基于确定用户专注于特定应用,静音来自其他应用的音频输出。
AATU 805可以被配置为从计算设备805的麦克风接收音频输入并且分析音频输入以确定用户是否处于可能难以听到计算设备105的音频输出的嘈杂环境中。例如,用户可能在嘈杂的餐厅、机场、火车站或其他有大量背景噪声的环境中使用笔记本电脑、平板电脑或手机。AATU 805可以响应于检测到用户正在嘈杂环境中使用计算设备105而自动启用计算设备105上的隐藏式字幕。如上所述,AATU 805可以显示用户界面,以询问用户是否愿意启用隐藏式字幕并且解释隐藏式字幕特征如何工作。
使用分析单元815可以确定用户可能有听觉问题并且用户可能只能用一只耳朵听或主要只用一只耳朵听。使用分析单元815可以能够确定用户偏爱一只耳朵而不是另一只耳朵。在计算设备105是智能电话或其他类似通信设备的实现中,使用分析单元815可以确定用户在进行呼叫或收听音频内容时通常将设备举到哪只耳朵。使用分析单元815还可以监测用户是否调节了计算设备的音频输出上的左右音频平衡。响应于关于用户从一只耳朵听可能存在问题的指示,AATU 805可以显示用户界面,如上所述,以询问用户是否想要启用隐藏式字幕并且解释隐藏式字幕特征如何工作和/或可以询问用户是否希望从立体声切换到单声道。立体声包括左右声道信息,并且如果用户用一只耳朵听不到,则某些信息可能会丢失。切换到单声道会导致左右声道信息同时发送到左右扬声器和/或耳机。
使用分析单元815可以被配置为监测键盘输入以确定用户是否可能具有使打字困难的移动性问题。使用分析单元815可以识别出用户的打字表现出多于阈值次数的意外按键。当用户退格或删除键盘输入时,可以标识出意外的按键按下。使用分析单元815可以被配置为识别部分单词输入,这有助于区分意外的按键按压与故意的词选择决定。可以由使用分析单元815用来确定用户是否可能具有使打字困难的移动性问题的另一示例信号是应用或操作系统的自动校正特征在用户打字时激活的频率。
重复删除可以指示用户在键盘输入方面遇到困难并且可以从一个或多个键盘可访问性选项中受益。计算设备105的操作系统可以提供一个或多个辅助选项,该选项可以帮助在键盘输入方面有困难的用户,诸如粘滞键模式、过滤键模式和切换键模式。粘滞键模式将击键序列化,而不是要求用户同时按下多个键。过滤键模式被配置为忽略指示意外按键的简短或重复按键。当按下某些特殊功能键(诸如大写锁定键、数字锁定键或滚动锁定键)时,切换键模式会在屏幕上提供声音信号和/或可见信号。使用分析单元815可以自动打开一个或多个键盘可访问性选项或向用户呈现用户界面,该用户界面解释这些特征并且为用户提供激活这些特征的能力,如在前面的示例中。使用分析单元815还可以被配置为通过分析由计算设备的相机捕获的用户的图像或视频来检测用户正在使用单手输入,并且可以被配置为自动打开一个或多个键盘可访问性选项或向用户呈现用户界面,该用户界面解释这些特征并且为用户提供激活这些特征的能力,如前面的示例中。
如上面关于放大器单元305讨论的,计算设备的一些实现可以包括与计算设备的一个或多个相机分离的专用跟踪设备。在这样的实现中,以上讨论的头部位置和/或图像跟踪的全部或部分可以由专用跟踪设备执行。在这样的实现中,由图像分析单元810执行的头部位置和/或图像跟踪的全部或部分可以由专用跟踪设备执行。专用跟踪设备可以与计算设备集成,或者可以经由有线或无线连接而连接到计算设备。专用跟踪设备可以被配置为输出可以由包括AATU 805在内的各种单元使用的头部位置和/或跟踪信息,类似于来自上面讨论的头部姿势估计神经网络的输出。专用跟踪设备可以包括用于捕获计算设备的用户的图像和/或视频的一个或多个相机。专用跟踪设备可以包括处理器、存储器、和/或用于执行头部姿势估计和/或眼睛跟踪的其他硬件和/或软件组件。在一些实现中,专用跟踪设备可以包括一个或多个发射器,该发射器被配置为发射红外(IR)和/或在人眼通常可见的波长范围之外的其他波长的光,以便不干扰用户的视觉。专用跟踪设备的输出可以被提供给放大器单元305和/或AATU 305的一个或多个模块,以提供可以用于控制放大器和/或由AATU 805提供的一种或多种辅助技术的一个或多个方面的头部位置和/或眼睛跟踪信息。
前述示例说明AATU 805可以检测用户可以受益于辅助技术的情况并且可以提示用户启用各种辅助技术特征的情况。这种方法不需要用户对由计算设备105提供的辅助技术进行高级训练,也不需要用户寻找和发现提供给用户的辅助技术。相反,AATU 805提供了一种自适应方法以通过检测用户行为和/或环境条件中指示特定自适应技术可以改善计算设备105的用户的用户体验的某些信号来提供辅助技术。
AATU 805可以被配置为为用户提供个性化的开箱即用体验(“OOBE”)。OOBE是用户在准备首次使用新产品时的体验。OOBE可以发生在用户购买新的计算设备(诸如笔记本电脑、台式电脑、平板电脑、智能手机、智能手表或其他可穿戴计算设备或其他计算设备)并且首次启动该设备时。OOBE还可以在用户在其计算设备上安装新的或更新后的操作系统的情况中发生。在这两种情况下,计算设备的操作系统可以被配置为向用户呈现用于个性化计算设备、操作系统或这两者的各种参数的配置的用户界面。AATU 805可以被配置为向OOBE提供在前述示例中讨论的自适应辅助技术的至少一部分。AATU 805可以在OOBE过程期间在后台执行,并且可以识别信号,诸如但不限于眯眼、用户接近计算设备的显示器、打字模式、将音频音量水平调高到超过预定阈值、以及指示用户可以从由计算设备提供的一种或多种辅助技术中受益的其他信号。OOBE过程还可以包括收集关于用户的人口统计信息,包括用户的出生日期信息或年龄范围。OOBE可以利用该信息来确定是否向用户呈现某些辅助技术,诸如但不限于增加的字体大小和/或指针大小。
以下示例说明了如何将AATU 805集成到OOBE体验中。在第一示例中,基于在OOBE过程期间获取的人口统计信息确定第一用户为21岁。AATU 805通过分析由计算设备的相机捕获的用户的图像和/或视频来检测用户没有靠近显示器定位。因此,AATU 805可以确定用户似乎不需要辅助技术,诸如放大器或增大的字体大小,并且在OOBE体验期间不向用户呈现任何辅助技术。在第二示例中,基于由计算设备的相机捕获并且由AATU 805分析的第二用户的图像和/或视频,第二用户被确定为55岁并且被确定戴眼镜。AATU 805可以向用户呈现可以帮助有视觉障碍的用户的一种或多种自适应辅助技术,诸如增加字体大小、放大器、和/或可以促进阅读显示在计算设备的显示器上的内容的其他辅助技术。在第三示例中,第三用户尚未提供与年龄相关的人口统计信息,但用户被确定为在计算设备的显示器的预定阈值内超过预定时间段和/或超过预定次数。在没有年龄相关人口统计信息可用的情况下,AATU 805可以尝试使用计算机视觉技术来估计用户的年龄。AATU 805可以激活放大器单元305并且向用户呈现计算设备105上可用的一种或多种视觉自适应技术。这些示例说明AATU805可以如何标识指示用户可以在OOBE期间受益于自适应技术的信号。本文中公开的技术不限于这些特定信号和特定示例。
AATU 805还可以适于为先前配置的计算设备的新用户提供机会,以在计算设备上为用户提供可用的辅助技术。例如,当将新用户帐户被添加到现有Microsoft Windows计算设备时,会向用户呈现被称为“Windows欢迎体验”的用户界面,该用户界面向用户呈现有关操作系统的各种特征的信息并且当用户登录到他们在计算设备上的帐户时向该用户提供个性化计算设备和操作系统的各种特征的机会。其他操作系统可以为新用户提供类似的用户界面以个性化计算设备和/或操作系统的配置,并且AATU 805可以被配置为与这些操作系统一起使用。欢迎用户界面可以向用户呈现在计算设备上可用的各种自适应技术,作为向用户呈现用于配置操作系统和/或计算设备的选项的过程的一部分。AATU 805还可以在欢迎用户界面正在执行时在后台中执行,并且AATU 805可以识别指示用户可以受益于一种或多种辅助技术的信号,并且将这些自适应技术呈现给用户。
AATU 805还可以包括人体工程学辅助单元835。人体工程学辅助单元可以被配置为在使用计算设备时帮助用户将他们自己定位在人体工程学位置。人体工程学辅助单元835特征可以作为来自开始菜单的菜单项被提供给用户,被包括在向用户呈现的OOBE或欢迎体验中,或者AATU 805可以使用计算设备的相机定期检查用户的姿势。图像分析单元810可以被配置为分析使用计算设备的相机而捕获的用户的照片和/或视频以确定用户的姿势信息。图像分析单元810可以被配置为识别用户的头部和身体相对于计算设备105的位置。图像分析单元810可以使用头部姿势估计神经网络来产生可以用于跟踪用户的头部和/或眼睛运动的信息,或者头部位置和/或眼睛跟踪位置可以由专用跟踪设备提供。在一些实现中,人体工程学辅助单元835可以被配置为引导用户完成配置过程,其中人体工程学辅助单元835请求用户执行一系列姿势,从而人体工程学辅助单元835可以校准身体姿势估计神经网络。AATU 805可以配置有身体姿势估计神经网络,该身体姿势估计神经网络被训练以分析用户的图像和/或视频内容并且基于分析的图像和/或视频内容提供头部和身体位置信息。人体工程学辅助单元835可以基于由身体姿势估计神经网络提供的头部和身体信息来确定用户位于非人体工程学位置。人体工程学辅助单元835可以使用内容绘制单元825在计算设备的显示器上显示人机工程学辅助用户界面,人机工程学辅助用户界面可以向用户呈现人机工程学信息并且向用户提供如何调节他们的头部和/或身体位置以适应更符合人体工程学的位置的建议。人体工程学辅助单元835可以被配置为在用户调节他们的头部和/或身体位置时向用户提供实时反馈。
AATU 805可以被配置为基于情境需求而不是已经由AATU 805标识的用户的可访问性需求向计算设备的用户提供辅助技术。AATU 805可以被配置为监测计算设备部署在其中的环境的各个方面以及计算设备本身的配置的各个方面,以确定计算设备上可用的任何自适应技术是否可以解决由AATU 805标识的情景需求。关于听觉情景需求,AATU 805可以检测到计算设备处于嘈杂的环境中,并且可以自动打开隐藏式字幕。例如,计算设备可以是智能电视或被配置为显示视听内容的其他设备,其位于机场、酒吧、餐厅、体育场或环境噪声水平可能阻止设备的音频输出被听到的其他位置。关于视觉情况需求,AATU 805可以检测到计算设备处于具有明亮环境照明条件的区域中或处于可能干扰观看绘制在计算设备的显示器上的内容的明亮阳光下。AATU 805可以自动增加屏幕亮度并且对显示特性进行其他改变,诸如选择提供高对比度的字体和背景颜色以提供高可见度。关于用户移动性和交互性需求,AATU 805可以检测到计算设备105具有有限的用户界面选项并且可以激活计算设备105的语音命令能力。例如,计算设备可以是信息亭,诸如如图2B所示,或者是缺少键盘和/或鼠标输入的另一触摸屏设备。AATU 805可以激活语音命令能力以向用户提供用于与计算设备交互的另一手段。前述示例说明了AATU 805可以基于情境需求自动启动操作系统和/或计算设备的辅助技术的情况。本文中公开的技术不限于这些特定示例,并且AATU 805可以被配置为适应其他类型的情境需求。
AATU 805还可以被配置为执行除前述示例中描述的辅助技术之外的其他辅助任务。例如,AATU 805可以被配置为使用由计算设备的相机捕获的图像和/或视频来监测靠近计算设备805的用户存在。AATU 805可以被配置为自动消隐显示器的内容和/或在用户被确定为不再靠近计算设备时锁定计算设备。在屏幕内容被消隐和/或计算设备105被锁定之前的时间长度可以由设备的用户配置。在企业环境中,管理员可以定义在屏幕内容被消隐和/或计算设备被锁定之前用户如何离开设备的参数。
AATU 805也可以被配置为为设备的用户提供隐私保护。图像分析单元810可以被配置为检测计算设备的相机的视场内的多个人并且向隐私控制单元840发送信号。隐私控制单元840可以被配置为确定计算设备105的当前使用的情况并且确定是否发生了隐私问题。隐私控制单元840在确定是否发生隐私侵犯时可以考虑以下因素中的一个或多个:(1)用户是否正在访问敏感信息,(2)用户是否看起来与在相机的视场中检测到的其他人合作,以及(3)其他人的注视方向。如果相机保真度、照明条件和其他用户到相机的接近为图像分析单元810提供了足够的细节来确定该信息,则隐私控制单元840可以从图像分析单元810获取其他用户的头部位置和/或眼睛跟踪信息。隐私控制单元840还可以确定在其他人出现在相机的视场内时用户是否正在访问敏感信息。如果用户正在玩游戏或执行不存在隐私问题的某种其他任务,则隐私控制单元840可以忽略其他用户的存在。然而,如果用户正在访问潜在敏感信息,则隐私控制单元840可以采取一个或多个动作来保护用户的隐私。
隐私控制单元840可以被配置为基于用户正在访问的应用或网站来确定用户正在访问潜在的敏感信息。应用或网站可能会访问财务信息、医疗信息、税务信息、电子邮件或短信或其他潜在敏感信息。隐私控制单元840可以被配置为确定计算设备是否连接到企业内联网,用户可以从该企业内联网访问敏感的公司信息。
隐私控制单元840可以确定用户是否可以与由图像分析单元810检测到的其他人协作,并且因此,第二用户的存在不是隐私侵犯。用户在相机的视场中相对于其他人的位置可以指示用户与其他人之间的协作。例如,如果用户与其他用户并排放置,则隐私控制单元840可以确定用户正在与其他用户协作。然而,如果其他用户位于用户后面超过预定距离,则隐私控制单元840可以确定用户没有与其他用户协作。此外,隐私控制单元840可以被配置为确定位于用户后面的人是否正将他们的注视引向计算设备的显示器或其他地方。注视没有指向计算设备的显示器的用户后面的某个人的存在可以被确定不是隐私威胁。隐私控制单元840的灵敏度可以根据实现的类型而不同。例如,自动取款机可以提醒用户在用户后面有人存在,而移动电话可能不会关心用户后面有人存在,除非用户正在访问设备上的敏感数据。
隐私控制单元840可以响应于确定另一人的存在是隐私威胁而发信号通知设备配置单元830执行一个或多个动作。隐私控制单元840可以使屏幕内容消隐、锁定屏幕、向用户发出隐私警报、最小化当前打开的所有应用、或用于最小化隐私威胁的其他动作。隐私警报可以包括对用户的可听的、触觉的和/或可见的隐私警报。可见隐私警报可以包括覆盖计算设备的全部或部分显示器以隐藏潜在敏感信息的图形用户界面。如果用户不同意隐私控制单元840做出的评估,则用户可以关闭隐私警报,或者可以采取其他动作来保护敏感数据。
在一些实现方式中,由放大器单元305的图像分析单元310和设备控制单元315的设备控制能力和/或由图像分析单元810和AATU 805的设备控制单元820提供的头部跟踪和/或眼睛跟踪可以实现为提供API的单独的跟踪和控制单元,其他应用可以使用该API来实现该应用的头部和/或眼睛跟踪控制。例如,视频游戏应用可以实现头部跟踪和/或眼睛跟踪以提供身临其境的用户体验。其他类型的应用也可以利用头部和/或眼睛跟踪功能,诸如地图或导航应用,可以允许用户使用头部和/或眼睛运动在环境中导航。绘画程序可以允许用户使用头部和/或眼睛运动来控制画笔描边。3D建模程序可以允许用户使用头部和/或眼睛运动来操纵3D模型。这些示例说明了可以受益于头部和/或眼睛跟踪界面的一些应用类型。
图9示出了用于在计算设备上提供辅助技术的示例过程900的流程图。过程900涉及计算设备105,但也可以由前述示例中说明的计算设备205实现。过程900可以由AATU 805实现。
过程900可以包括操作910,其中分析用户对计算设备的动作。如前述示例中讨论的,AATU 805的图像分析单元810可以分析由与计算设备相关联的相机捕获的图像和/或视频内容,并且可以确定头部和/或眼睛跟踪信息、认知状态信息、姿势信息、和/或指示用户如何与计算设备105交互的其他信息。AATU 805的使用分析单元815还可以分析用户如何与计算设备105交互以标识可以指示用户在使用计算设备105时遇到困难的信号。
过程900可以包括操作920,其中确定用户与计算设备的交互指示用户遇到一个或多个问题,由计算设备105提供的自适应辅助技术可以帮助用户解决这些问题。如前述示例中讨论的,AATU 805可以确定用户正在经历视觉障碍、听觉障碍、移动障碍、和/或由计算设备105提供的辅助技术可以可用于的其他问题。AATU 805可以确定存在与用户与计算设备105的交互没有直接关联的情境问题,自适应辅助技术可能对该问题有用。
过程900可以包括操作930,其中由计算设备105提供的一种或多种辅助技术可以解决用户经历的一个或多个问题。AATU 805可以从计算设备上的可用辅助技术中选择可以帮助补救用户正在经历的问题的一组一个或多个辅助技术。
过程900可以包括操作940,其中可以使用所标识的一种或多种辅助技术来修改计算设备的一个或多个操作参数。AATU 805可以配置计算设备105的各种操作参数,如在前面的示例中讨论的。这些操作参数可以配置计算设备105的各个方面以适应视觉障碍、听觉障碍、移动障碍、和/或用户可能正在经历的其他问题。一个或多个操作参数可以由AATU 805自动改变或基于从计算设备105的用户接收的输入来改变。此外,一个或多个操作参数可以基于AATU 805标识的情境问题来设置。
过程900可以包括操作950,其中可以根据一个或多个已修改操作参数操作计算设备。计算设备105可以使用用户的个性化操作参数继续操作。AATU 805可以继续监测用户与计算设备105的交互,并且可以基于用户与计算设备105的持续交互自动向用户提供启动和/或呈现附加的自适应辅助技术。
结合图1A-图9描述的系统、设备和技术的详细示例在本文中呈现以用于说明本公开及其益处。这样的使用示例不应当被解释为对本公开的逻辑过程实施例的限制,也不应当将本文中描述的用户界面方法与本文中描述的那些方法的变化视为超出本公开的范围。应当理解,对显示或呈现项目(诸如但不限于在显示设备上呈现图像、经由一个或多个扬声器呈现音频、和/或使设备振动)的引用包括发出使或合理预期会使设备或系统显示或呈现该项目的指令、命令和/或信号。在一些实施例中,图1A-图9中描述的各种特征在相应模块中实现,该模块也可以称为和/或包括逻辑、组件、单元和/或机制。模块可以构成软件模块(例如,包含在机器可读介质上的代码)或硬件模块。
在一些示例中,硬件模块可以机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括被配置为执行某些操作的专用电路系统或逻辑。例如,硬件模块可以包括专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路系统,并且可以包括用于这样的配置的机器可读介质数据和/或指令的一部分。例如,硬件模块可以包括可编程处理器内包含的软件,该软件被配置为执行一组软件指令。应当理解,在专用和永久配置的电路系统中或在临时配置的电路系统(例如,由软件配置)中,机械地实现硬件模块的决定可以由成本、时间、支持和工程考虑驱动。
因此,短语“硬件模块”应当理解为包括能够执行某些操作并且可以以某种物理方式配置或布置的有形实体,即,物理构建的永久配置的实体(例如,硬连线),和/或临时配置(例如,编程)以便以某种方式操作或执行本文所述的某些操作。如本文中使用的,“硬件实现的模块”是指硬件模块。考虑其中硬件模块被临时配置(例如,编程)的示例,每个硬件模块不需要在任何一个时刻被配置或实例化。例如,在硬件模块包括通过软件配置成为专用处理器的可编程处理器的情况下,可编程处理器可以在不同时间分别配置为不同专用处理器(例如,包括不同硬件模块)。软件可以相应地配置一个或多个处理器例如以在一个时间实例构成特定硬件模块并且在不同时间实例构成不同硬件模块。使用一个或多个处理器而实现的硬件模块可以称为“处理器实现的”或“计算机实现的”。
硬件模块可以向其他硬件模块提供信息并且从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在多个硬件模块同时存在的情况下,可以通过两个或更多个硬件模块之间的信号传输(例如,通过适当电路和总线)来实现通信。在其中多个硬件模块在不同时间被配置或实例化的实施例中,这样的硬件模块之间的通信可以例如通过在多个硬件模块可以访问的存储器设备中存储和检索信息来实现。例如,一个硬件模块可以执行操作并且将输出存储在存储器设备中,然后另一硬件模块可以访问存储器设备以检索和处理所存储的输出。
在一些示例中,方法的操作中的至少一些可以由一个或多个处理器或处理器实现的模块来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,操作中的至少一些可以由多个计算机和/或在其之间执行(作为包括处理器的机器的示例),这些操作可以经由网络(例如,互联网)和/或经由一个或更多软件接口(例如,应用程序编程接口(API))访问。某些操作的性能可以分布在处理器之间,不仅驻留在单个机器内,而是部署在若干机器上。处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭或办公室环境中,或服务器群中),或者可以分布在多个地理位置。
图10是示出示例软件架构1002的框图1000,其各个部分可以结合本文中描述的各种硬件架构使用,这些硬件架构可以实现上述特征中的任何一个。图10是软件架构的非限制性示例,并且应当理解,可以实现很多其他架构以促进本文中描述的功能。软件架构1002可以在诸如图11的机器1100等硬件上执行,该硬件包括处理器1110、存储器1130和输入/输出(I/O)组件1150等。代表性硬件层1004被示出并且可以表示例如图11的机器1100。代表性硬件层1004包括处理单元1006和相关联的可执行指令1008。可执行指令1008表示软件架构1002的可执行指令,包括本文中描述的方法、模块等的实现。硬件层1004还包括存储器/存储装置1010,存储器/存储装置1010也包括可执行指令1008和伴随数据。硬件层1004还可以包括其他硬件模块1012。由处理单元1006保持的指令1008可以是由存储器/存储装置1010保持的指令1008的部分。
示例软件架构1002可以被概念化为层,每个层提供各种功能。例如,软件架构1002可以包括层和组件,诸如操作系统(OS)1014、库1016、框架1018、应用1020和表示层1044。在操作上,应用1020和/或层内的其他组件可以向其他层调用API调用1024并且接收对应结果1026。所示出的层本质上是代表性的并且其他软件架构可以包括附加的或不同的层。例如,某些移动或专用操作系统可以不提供框架/中间件1018。
OS1014可以管理硬件资源并且提供公共服务。OS1014可以包括例如内核1028、服务1030和驱动程序1032。内核1028可以充当硬件层1004与其他软件层之间的抽象层。例如,内核1028可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务1030可以为其他软件层提供其他公共服务。驱动程序1032可以负责控制底层硬件层1004或与底层硬件层1004接口。例如,驱动程序1032可以包括显示驱动程序、相机驱动程序、存储器/存储装置驱动程序、外围设备驱动程序(例如,经由通用串行总线(USB))、网络和/或无线通信驱动程序、音频驱动程序等,具体取决于硬件和/或软件配置。
库1016可以提供可以由应用1020和/或其他组件和/或层使用的公共基础设施。库1016通常提供供其他软件模块使用以执行任务的功能,而不是直接与OS1014交互。库1016可以包括系统库1034(例如,C标准库),系统库1034可以提供诸如存储器分配、字符串操作,文件操作等功能。此外,库1016可以包括API库1036,诸如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操作)、图形库(例如,用于在显示器上绘制2D和3D图形的OpenGL库)、数据库库(例如,SQLite或其他关系数据库功能)和网络库(例如,可以提供网络浏览功能的WebKit)。库1016还可以包括用于为应用1020和其他软件模块提供很多功能的多种其他库1038。
框架1018(有时也称为中间件)提供可以由应用1020和/或其他软件模块使用的更高级别的公共基础设施。例如,框架1018可以提供各种图形用户界面(GUI)功能、高级资源管理或高级定位服务。框架1018可以为应用1020和/或其他软件模块提供广泛的其他API。
应用1020包括内置应用1040和/或第三方应用1042。内置应用1040的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息应用和/或游戏应用。第三方应用1042可以包括由除特定平台的供应商之外的实体开发的任何应用。应用1020可以使用经由OS1014、库1016、框架1018和表示层1044可用的功能来创建用户界面以与用户交互。
一些软件架构使用虚拟机,如虚拟机1048所示。虚拟机1048提供了一个执行环境,其中应用/模块可以在该执行环境中执行,就好像它们在硬件机器(例如诸如图10的机器)上执行一样。虚拟机1048可以由主机OS(例如,OS1014)或管理程序托管,并且可以具有管理虚拟机1048的操作和与主机操作系统的互操作的虚拟机监测器1046。可以不同于虚拟机外部的软件架构1002的软件架构在虚拟机1048内执行,诸如OS1050、库1052、框架1054、应用1056和/或表示层1058。
图11是示出示例机器1100的组件的框图,机器1100被配置为从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中描述的任何特征。示例机器1100是计算机系统的形式,其中可以执行用于使机器1100执行本文中描述的任何特征的指令1116(例如,以软件组件的形式)。因此,指令1116可以用于实现本文中描述的模块或组件。指令1116使未编程和/或未配置的机器1100作为被配置为执行所描述的特征的特定机器来操作。机器1100可以被配置为作为独立设备操作,或者可以耦合(例如,联网)到其他机器。在联网部署中,机器1100可以在服务器客户端网络环境中以服务器机器或客户端机器的能力操作,或者在对等或分布式网络环境中作为节点操作。机器1100可以体现为例如服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、游戏机和/或娱乐系统、智能电话、移动设备、可穿戴设备(例如,智能手表)和物联网(IoT)设备。此外,虽然仅示出了单个机器1100,但术语“机器”包括个体或联合执行指令1116的机器的集合。
机器1100可以包括处理器1110、存储器1130和I/O组件1150,它们可以经由例如总线1102通信耦合。总线1102可以包括经由各种总线技术和协议耦合机器1100的各种元件的多个总线。在一个示例中,处理器1110(包括例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC或其合适组合)可以包括一个或多个处理器1112a至1112n,一个或多个处理器1112a至1112n可以执行指令1116和处理数据。在一些示例中,一个或多个处理器1110可以执行由一个或多个其他处理器1110提供或标识的指令。术语“处理器”包括多核处理器,多核处理器包括可以同时执行指令的多个核。虽然图11示出了多个处理器,但是机器1100可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、均具有单个核的多个处理器、均具有多个核的多个处理器、或其任何组合。在一些示例中,机器1100可以包括分布在多个机器中的多个处理器。
存储器/存储装置1130可以包括主存储器1132、静态存储器1134或其他存储器、以及存储单元1136,这两者都可以由处理器1110诸如经由总线1102访问。存储单元1136和存储器1132,1134存储体现本文中描述的任何一个或多个功能的指令1116。存储器/存储装置1130还可以为处理器1110存储临时的、中间的和/或长期的数据。指令1116还可以在其执行期间完全或部分地驻留在存储器1132、1134内、在存储单元1136内、在处理器1110中的至少一个内(例如,在命令缓冲器或高速缓冲存储器内)、在至少一个I/O组件1150的存储器内、或其任何合适的组合。因此,存储器1132、1134、存储单元1136、处理器1110中的存储器、和I/O组件1150中的存储器是机器可读介质的示例。
如本文中使用的,“机器可读介质”是指能够临时或永久地存储使机器1100以特定方式操作的指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光存储介质、磁存储介质和设备、高速缓冲存储器、网络可访问或云存储、其他类型的存储和/或其任何合适的组合。术语“机器可读介质”适用于用于存储供机器1100执行的指令(例如,指令1116)的单个介质或多个介质的组合,使得指令在由机器1100的一个或多个处理器1110执行时使机器1100执行本文中描述的特征中的一个或多个。因此,“机器可读介质”可以是指单个存储设备、以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
I/O组件1150可以包括适合于接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量等的多种硬件组件。特定机器中包括的特定I/O组件1150将取决于机器的类型和/或功能。例如,诸如移动电话等移动设备可以包括触摸输入设备,而无头服务器或IoT设备可以不包括这样的触摸输入设备。图11所示的I/O组件的特定示例决不是限制性的,并且机器1100中可以包括其他类型的组件。I/O组件1150的分组仅仅是为了简化这个讨论,并且分组决不是限制性的。在各种示例中,I/O组件1150可以包括用户输出组件1152和用户输入组件1154。用户输出组件1152可以包括例如用于显示信息的显示组件(例如,液晶显示器(LCD)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动电机或力反馈设备)、和/或其他信号发生器。用户输入组件1154可以包括例如字母数字输入组件(例如,键盘或触摸屏)、指向组件(例如,鼠标设备、触摸板或另一指向工具)、和/或被配置为接收各种用户输入(诸如用户命令和/或选择)的触觉输入组件(例如,提供触摸或触摸手势的位置和/或力的物理按钮或触摸屏)。
在一些示例中,I/O组件1150可以包括生物特征组件1156、运动组件1158、环境组件1160和/或其他各种物理传感器组件的宽阵列中的位置组件1162。生物特征组件1156可以包括例如用于检测身体表情(例如,面部表情、声音表情、手部或身体手势或眼动跟踪)、测量生物信号(例如,心率或脑电波)以及标识一个人(例如,通过基于语音、视网膜、指纹和/或面部标识)的组件。运动组件1158可以包括例如加速度传感器(例如,加速度计)和旋转传感器(例如,陀螺仪)。环境组件1160可以包括例如照度传感器、温度传感器、湿度传感器、压力传感器(例如,气压计)、声学传感器(例如,用于检测环境噪声的麦克风)、接近传感器(例如,附近物体的红外感应)、和/或可以提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1162可以包括例如定位传感器(例如,全球定位系统(GPS)接收器)、高度传感器(例如,可以从其导出高度的气压传感器)和/或取向传感器(例如,磁力计)。
I/O组件1150可以包括通信组件1164,通信组件1164实现多种技术,该技术可操作以经由相应的通信耦合1172和1182将机器1100耦合到(多个)网络1170和/或(多个)设备1180。通信组件1164可以包括一个或多个网络接口组件或用于与(多个)网络1170接口的其他合适的设备。通信组件1164可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(NFC)、Bluetooth通信、Wi-Fi和/或经由其他方式的通信的组件。(多个)设备1180可以包括其他机器或各种外围设备(例如,经由USB耦合)。
在一些示例中,通信组件1164可以检测标识符或包括适于检测标识符的组件。例如,通信组件1164可以包括射频标识(RFID)标签阅读器、NFC检测器、光学传感器(例如,一维或多维条形码、或其他光学代码)和/或声学检测器(例如,用于标识标记的音频信号的麦克风)。在一些示例中,位置信息可以基于来自通信组件1162的信息来确定,诸如但不限于通过互联网协议(IP)地址的地理位置、经由Wi-Fi、蜂窝、NFC、Bluetooth的位置、或其他无线站标识和/或信号三角测量。
在下文中,将通过项目来描述系统和方法的其他特征、特性和优点:项目1.一种计算设备,包括:处理器;以及计算机可读介质,存储用于使处理器执行包括以下各项的操作的可执行指令:在所述计算设备的显示器上显示内容;向用户显示内容;使用与所述计算设备相关联的相机捕获所述用户的一系列图像;分析所述一系列图像以确定所述用户是否正在表现出指示视觉障碍的行为或特性;以及在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示视觉障碍的行为或特性来放大所述显示器的所述内容的至少一部分。
项目2.根据项目1所述的计算设备,其中用于分析所述一系列图像的所述指令还包括用于使所述处理器执行包括以下各项的操作的指令:在所述一系列图像中检测所述用户的眼睛;以及确定所述用户正在眯眼。
项目3.根据项目1所述的计算设备,其中用于分析所述一系列图像的所述指令还包括用于使所述处理器执行包括以下各项的操作的指令:基于所述一系列图像确定所述用户距所述计算设备的所述显示器的距离;以及确定所述用户在距所述显示器的第一阈值距离内。
项目4.根据项目3所述的计算设备,还包括被配置为使所述处理器执行以下操作的指令:基于所述用户距所述显示器的所述距离确定由所述放大用户界面显示的放大内容的缩放级别;以及基于所确定的缩放级别绘制所述放大内容。
项目5.根据项目1所述的计算设备,其中用于分析所述一系列图像以确定所述用户是否正在表现出指示视觉障碍的行为或特性的所述指令还包括用于使所述处理器执行包括以下各项的操作的指令:确定所述计算设备的所述用户的认知状态;以及响应于所述用户表现出沮丧或愤怒,确定所述用户正在表现出指示视觉障碍的行为或特性。
项目6.根据项目1所述的计算设备,还包括被配置为使所述处理器执行以下操作的指令:基于由所述相机捕获的所述一系列图像跟踪所述用户的头部运动、眼睛运动或这两者;以及基于所述头部运动、所述眼睛运动或这两者修改所述放大用户界面的一个或多个属性。
项目7.根据项目6所述的计算设备,其中用于基于所述头部运动、所述眼睛运动或这两者修改所述用户界面的所述一个或多个属性的所述指令还包括被配置为使所述处理器执行包括以下各项的操作的指令:将所述头部运动、所述眼睛运动或这两者转换为由所述放大用户界面放大的所述显示器的所述内容的所述一部分的运动。
项目8.根据项目5所述的计算设备,还包括被配置为使所述处理器执行以下操作的指令:基于所述头部运动、所述眼睛运动或这两者确定所述用户正在阅读放大内容;以及响应于确定所述用户正在阅读放大内容,配置所述放大用户界面以横跨所述内容横向平移。
项目9.一种用于控制计算设备的用户界面的方法,所述方法包括:在所述计算设备的显示器上显示内容;使用与所述计算设备相关联的相机捕获所述计算设备的用户的一系列图像;分析所述一系列图像以确定所述用户是否正在表现出指示视觉障碍的行为或特性;以及在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示视觉障碍的行为或特性来放大所述显示器的所述内容的至少一部分。
项目10.根据项目9所述的方法,其中分析所述一系列图像还包括:在所述一系列图像中检测所述用户的眼睛;以及确定所述用户正在眯眼。
项目11.根据项目9所述的方法,其中分析所述一系列图像还包括:基于所述一系列图像确定所述用户距所述计算设备的所述显示器的距离;以及确定所述用户在距所述显示器的第一阈值距离内。
项目12.根据项目11所述的方法,还包括:基于所述用户距所述显示器的所述距离确定由所述放大用户界面显示的放大内容的缩放级别;以及基于所确定的缩放级别绘制所述放大内容。
项目13.根据项目9所述的方法,还包括:基于由所述相机捕获的所述一系列图像跟踪所述用户的头部运动、眼睛运动或这两者;以及基于所述头部运动、所述眼睛运动或这两者修改所述放大用户界面的一个或多个属性。
项目14.根据项目13所述的方法,其中基于所述头部运动、所述眼睛运动或这两者修改所述用户界面的所述一个或多个属性还包括:将所述头部运动、所述眼睛运动或这两者转换为由所述放大用户界面放大的所述显示器的所述内容的一部分的运动。
项目15.一种存储指令的存储器设备,所述指令当在计算设备的处理器上执行时使所述计算设备通过以下方式绘制放大用户界面:向用户显示内容;捕获所述用户的一系列图像;分析所述一系列图像以确定所述用户是否正在表现出指示视觉障碍的行为或特性;以及在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示视觉障碍的行为或特性来放大所述显示器的所述内容的至少一部分。
项目16.根据项目15所述的存储器设备,其中用于分析所述一系列图像的所述指令还包括用于使所述计算设备执行以下操作的指令:在所述一系列图像中检测所述用户的眼睛;以及确定所述用户正在眯眼。
项目17.根据项目15所述的存储器设备,其中用于分析所述一系列图像的所述指令还包括用于使所述计算设备执行以下操作的指令:基于所述一系列图像确定所述用户距所述计算设备的所述显示器的距离;以及确定所述用户在距所述显示器的第一阈值距离内。
项目18.根据项目17所述的存储器设备,还包括被配置为使所述计算设备执行以下操作的指令:基于所述用户距所述显示器的所述距离确定由所述放大用户界面显示的放大内容的缩放级别;以及基于所确定的缩放级别绘制所述放大内容。
项目19.根据项目17所述的存储器设备,还包括被配置为使所述计算设备执行以下操作的指令:基于由所述相机捕获的所述一系列图像跟踪所述用户的头部运动、眼睛运动或这两者;以及基于所述头部运动、所述眼睛运动或这两者修改所述放大用户界面的一个或多个属性。
项目20.根据项目19所述的存储器设备,其中基于所述头部运动、所述眼睛运动或这两者修改所述用户界面的所述一个或多个属性还包括:将所述头部运动、所述眼睛运动或这两者转换为由所述放大用户界面放大的所述显示器的所述内容的一部分的运动。
虽然已经描述了各种实施例,但是该描述旨在是示例性的,而不是限制性的,并且应当理解,在这些实施例的范围内的更多的实施例和实现是可能的。尽管在附图中示出并且在本详细描述中讨论了很多可能的特征组合,但是所公开的特征的很多其他组合也是可能的。除非特别限制,否则任何实施例的任何特征可以与任何其他实施例中的任何其他特征或元素组合使用或替代任何其他特征或元素。因此,应当理解,本公开中示出和/或讨论的任何特征可以以任何合适的组合一起实现。因此,除非根据所附权利要求及其等效物,实施例不受限制。此外,可以在所附权利要求的范围内进行各种修改和改变。
虽然上文已经描述了被认为是最佳模式和/或其他示例的内容,但应当理解,可以对其进行各种修改,并且本文中公开的主题可以以各种形式和示例来实现,并且该教导可以应用于很多应用中,本文中仅描述了其中的一些。以下权利要求旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
除非另有说明,否则本说明书(包括以下权利要求)中规定的所有测量、值、额定值、位置、幅度、大小和其他规格都是近似的,而不是精确的。它们旨在具有与它们相关的功能以及它们所属领域的惯例一致的合理范围。
保护范围仅由现在随后的权利要求限制。当根据本说明书和随后的审查历史进行解释时,该范围旨在并且应当被解释为与权利要求中使用的语言的普通含义一致并且涵盖所有结构和功能等效物。尽管如此,没有任何权利要求旨在包含未能满足专利法第101、102或103节要求的主题,也不应当以这种方式解释它们。特此声明拒绝对这样的主题的任何意外包含。
除紧接上文所述外,任何已陈述或说明的内容均不旨在或不应当被解释为导致将任何组件、步骤、特征、目标、利益、优势或等效物奉献给公众,无论其是否在权利要求中提及。
应当理解,除非在本文中另外阐述了具体含义,否则本文中使用的术语和表达具有与这些术语和表达相对于它们相应的相应调查和研究领域所赋予的普通含义。诸如第一和第二等相关术语可以单独用于将一个实体或动作与另一实体或动作区分开来,而不必要求或暗示这些实体或动作之间的任何实际的这种关系或顺序。术语“包括(comprises)”、“包括(comprising)”或其任何其他变型旨在涵盖非排他性的包括,使得包括元素列表的过程、方法、物品或设备不仅包括那些元素,而且可以包括未明确列出的或这样的过程、方法、物品或设备固有的其他元素。以“一个(a)”或“一个(an)”开头的元素在没有进一步限制的情况下不排除在包括该元素的过程、方法、物品或设备中存在附加的相同元素。
提供本公开的摘要以允许读者能够快速确定技术公开的性质。提交的理解是它不会用于解释或限制权利要求的范围或含义。此外,在上述详细描述中,可以看出,为了简化本公开的目的,在各种示例中将各种特征组合在一起。这种公开方法不应当被解释为反映权利要求需要比每个权利要求中明确叙述的特征更多的特征的意图。相反,如以下权利要求所反映的,发明主题在于少于单个公开示例的所有特征。因此,以下权利要求特此并入“具体实施方式”中,每个权利要求独立作为单独要求保护的主题。
Claims (18)
1.一种计算设备,包括:
处理器;以及
计算机可读介质,存储用于使所述处理器执行包括以下项的操作的可执行指令:
使用由与所述计算设备相关联的相机捕获用户的一系列图像;
通过检测所述一系列图像中的所述用户的眼睛,来分析所述一系列图像以确定所述用户是否正在表现出指示难以查看显示器上的内容的行为,并且通过检测所述用户的眼睛形状的纵横比的变化来确定所述用户正在眯眼,其中检测所述纵横比的变化包括:确定眼睛张开的宽度与所述眼睛张开的高度的比率是否超过预定阈值;以及
在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为来放大所述显示器的所述内容的至少一部分;
通过将由所述相机捕获的所述一系列图像提供为对神经网络的输入来基于所述一系列图像跟踪所述用户的运动,所述神经网络被配置为估计用户头部的位置并且生成第一边界框信息,所述第一边界框信息表示围绕所述用户头部的预测位置的第一边界框;
基于所述第一边界框的尺寸来估计所述用户距所述计算设备的所述显示器的距离;以及
基于所述用户距所述显示器的所述距离来修改所述放大用户界面的一个或多个属性。
2.根据权利要求1所述的计算设备,其中用于分析所述一系列图像的所述指令还包括用于使所述处理器执行包括以下项的操作的指令:
确定所述用户在距所述显示器的第一阈值距离内。
3.根据权利要求2所述的计算设备,还包括被配置为使所述处理器执行以下操作的指令:
基于所述用户距所述显示器的所述距离,确定由所述放大用户界面显示的放大的内容的缩放级别;以及
基于所确定的缩放级别,绘制所述放大的内容。
4.根据权利要求1所述的计算设备,其中用于分析所述一系列图像以确定所述用户是否正在表现出指示难以查看所述显示器上的内容的所述行为的所述指令还包括用于使所述处理器执行包括以下项的操作的指令:
确定所述计算设备的所述用户的认知状态;
基于所述计算设备的所述用户的所述认知状态来确定所述用户正在表现沮丧或愤怒;以及
响应于所述用户表现出沮丧或愤怒,确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为。
5.根据权利要求1所述的计算设备,其中所述跟踪所述用户的运动包括:跟踪所述用户的头部运动、眼睛运动或两者,其中所述第一边界框信息基于所述用户的所述头部运动而被更新,并且其中跟踪所述头部运动包括跟踪所述第一边界框的位置的变化。
6.根据权利要求5所述的计算设备,还包括被配置为使所述处理器执行以下操作的指令:
将所述头部运动、所述眼睛运动或两者转变为由所述放大用户界面放大的所述显示器的所述内容的所述一部分的运动。
7.一种计算设备,包括:
处理器;以及
计算机可读介质,存储用于使所述处理器执行包括以下项的操作的可执行指令:
使用由与所述计算设备相关联的相机捕获用户的一系列图像;
通过检测所述一系列图像中的所述用户的眼睛,来分析所述一系列图像以确定用户是否正在表现出指示难以查看显示器上的内容的行为;
在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为来放大所述显示器的所述内容的至少一部分;
基于由所述相机捕获的所述一系列图像来跟踪所述用户的头部运动、眼睛运动或两者;
基于所述头部运动、所述眼睛运动或两者来确定所述用户正在阅读放大的内容;
响应于确定用户正在阅读放大的内容,将所述放大用户界面配置为跨所述内容横向平移所述放大用户界面并且防止跨所述内容垂直平移所述放大用户界面;
确定所述用户已到达所述内容的行的末尾;和
将所述放大用户界面配置为响应于确定所述用户已到达所述内容的所述行的所述末尾而允许所述放大用户界面跨所述内容的垂直平移。
8.一种用于控制计算设备的用户界面的方法,所述方法包括:
使用与所述计算设备相关联的相机捕获所述计算设备的用户的一系列图像;
通过检测所述一系列图像中的所述用户的眼睛,来分析所述一系列图像以确定所述用户是否正在表现出指示难以查看显示器上的内容的行为,并且通过检测所述用户的眼睛形状的纵横比的变化来确定所述用户正在眯眼,其中检测所述纵横比的变化包括确定眼睛张开的宽度与所述眼睛张开的高度的比率是否超过预定阈值;
在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为来放大所述显示器的所述内容的至少一部分;
通过将由所述相机捕获的所述一系列图像提供为对神经网络的输入来基于所述一系列图像跟踪所述用户的运动,所述神经网络被配置为估计用户头部的位置并且生成第一边界框信息,所述第一边界框信息表示围绕所述用户头部的预测位置的第一边界框;
基于所述第一边界框的尺寸来估计所述用户距所述计算设备的所述显示器的距离;以及
基于所述用户距所述显示器的所述距离来修改所述放大用户界面的一个或多个属性。
9.根据权利要求8所述的方法,其中分析所述一系列图像还包括:
确定所述用户在距所述显示器的第一阈值距离内。
10.根据权利要求9所述的方法,还包括:
基于所述用户距所述显示器的所述距离,确定由所述放大用户界面显示的放大的内容的缩放级别;以及
基于所确定的缩放级别,绘制所述放大的内容。
11.根据权利要求8所述的方法,其中确定所述用户是否正在表现出指示难以查看所述显示器上的内容的所述行为还包括:
确定所述计算设备的所述用户的认知状态;
基于所述计算设备的所述用户的认知状态来确定所述用户正在表现沮丧或愤怒;以及
响应于所述用户表现出沮丧或愤怒,确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为。
12.根据权利要求11所述的方法,还包括:
将所述头部运动、所述眼睛运动或两者转变为由所述放大用户界面放大的所述显示器的所述内容的所述一部分的运动。
13.根据权利要求8所述的方法,其中所述跟踪所述用户的所述运动包括:跟踪所述用户的头部运动、眼睛运动或两者,其中所述第一边界框信息基于所述用户的所述头部运动而被更新,并且其中跟踪所述头部运动包括跟踪所述第一边界框的位置的变化。
14.一种存储器设备,存储有指令,当所述指令在计算设备的处理器上被执行时,使所述计算设备通过执行以下功能来绘制放大用户界面:
捕获所述用户的一系列图像;
通过检测所述一系列图像中的所述用户的眼睛,来分析所述一系列图像以确定所述用户是否正在表现出指示难以查看显示器上的内容的行为,并且通过检测所述用户的眼睛形状的纵横比的变化来确定所述用户正在眯眼,其中检测所述纵横比的变化包括确定眼睛张开的宽度与所述眼睛张开的高度的比率是否超过预定阈值;以及
在所述显示器上绘制放大用户界面,所述放大用户界面被配置为基于确定所述用户正在表现出指示难以查看所述显示器上的内容的所述行为来放大所述显示器的所述内容的至少一部分;
通过将所捕获的所述一系列图像提供为对神经网络的输入来基于所述一系列图像跟踪所述用户的运动,所述神经网络被配置为估计用户头部的位置并且生成第一边界框信息,所述第一边界框信息表示围绕所述用户头部的预测位置的第一边界框;
基于所述第一边界框的尺寸来估计所述用户距所述计算设备的所述显示器的距离;以及
基于所述用户距所述显示器的所述距离来修改所述放大用户界面的一个或多个属性。
15.根据权利要求14所述的存储器设备,其中分析所述一系列图像的还包括:
确定所述用户在距所述显示器的第一阈值距离内。
16.根据权利要求14所述的存储器设备,其中所述功能还包括:
基于所述用户距所述显示器的所述距离,确定由所述放大用户界面显示的放大的内容的缩放级别;以及
基于所确定的缩放级别,绘制所述放大的内容。
17.根据权利要求14所述的存储器设备,其中跟踪所述用户的所述运动包括:跟踪所述用户的头部运动、眼睛运动或两者,并且其中跟踪所述头部运动包括跟踪所述第一边界框的位置的变化。
18.根据权利要求17所述的存储器设备,其中所述功能还包括:
将所述头部运动、所述眼睛运动或两者转变为由所述放大用户界面放大的所述显示器的所述内容的所述一部分的运动。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/656,438 | 2019-10-17 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080072766.4A Division CN114556270B (zh) | 2019-10-17 | 2020-10-08 | 放大用户界面的眼睛注视控制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118331428A true CN118331428A (zh) | 2024-07-12 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11194388B2 (en) | Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device | |
US11995774B2 (en) | Augmented reality experiences using speech and text captions | |
CN114556270B (zh) | 放大用户界面的眼睛注视控制 | |
US20210117048A1 (en) | Adaptive assistive technology techniques for computing devices | |
US11416070B2 (en) | Apparatus, system and method for dynamic modification of a graphical user interface | |
US20160147429A1 (en) | Device for resizing window, and method of controlling the device to resize window | |
US10346014B2 (en) | System and method for provisioning a user interface for scaling and tracking | |
US20150138084A1 (en) | Head-Tracking Based Selection Technique for Head Mounted Displays (HMD) | |
US11545131B2 (en) | Reading order system for improving accessibility of electronic content | |
US20200033966A1 (en) | Method of controlling device using various input types and device for performing the method | |
KR102005406B1 (ko) | 디스플레이 장치 및 그 제어 방법 | |
KR20210075641A (ko) | 정보 제공 방법 및 이를 지원하는 전자 장치 | |
CN118331428A (zh) | 放大用户界面的眼睛注视控制 | |
KR20180052501A (ko) | 디스플레이 장치 및 그 동작 방법 | |
CN111373761B (zh) | 显示装置、该显示装置的控制系统以及控制该显示装置的方法 | |
KR101720607B1 (ko) | 영상 촬영 장치 및 그 동작 방법 | |
US20240037811A1 (en) | Colors as an intelligent service | |
KR20180083131A (ko) | 디스플레이 장치 및 디스플레이 장치의 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |