科技魔方

Meta专利分享了AR/VR虚拟键盘的解决方案

AR/VR

2023年07月14日

  键盘是PC或笔记本电脑的典型输入机制。然而,这对于AR/VR不太便利。所以,头显厂商都会提供基于软件的用户界面元素,以虚拟输入机制来替代物理输入机制。例如,以虚拟键盘代表物理键盘。

  在名为“Software-based user interface element analogues for physical device elements”的专利申请中,Meta就介绍了一种相关的方法。

  在图1中,UI系统106以不同的方式控制客户端设备100的用户界面以实现不同的目标,例如允许用户与虚拟按钮或其他UI元素交互,和在适当时呈现基于声音的UI以允许调光或关闭显示器102。

  在一个实施例中,UI系统106用虚拟UI元素的图像增强显示在显示器102的其他视觉效果。虚拟UI元素充当物理UI元素的虚拟模拟物,从而免除将物理UI元素内置于客户机设备100本身的需要。

  虚拟UI元素可以是用户可以与之交互的任何类型控件。Meta指出,使用虚拟UI元素而非物理元素提供了诸多优势,例如降低制造成本,消除物理组件损坏的风险,并在UI元素的数量、类型和位置方面允许更大的灵活性和可定制性。

  在实施例中,UI系统106需要一种方法来获取关于用户运动的输入,以便能够确定用户是否/如何与虚拟UI元素交互。所以,用户101可以使用具有获取读数的传感器的可穿戴设备110。所述传感器可以导出有关用户运动、位置和/或动作的信息,并短距离无线方式传送到客户端设备100。

  使用所述信息,客户端设备然后确定所述用户是否以及如何与所述显示器102显示的用户界面交互。在一个实施例中,所述可穿戴设备110可以作用在手臂之上,例如作为智能腕表或智能戒指。

  在一个实施例中,UI系统106交替地和/或额外地提供具有基于声音的元素的用户界面。在所述实施例中,用户界面元素以听觉而不是视觉方式指示给用户。然后,可以分析用户的运动,以确定用户打算选择什么选项。

  图4示出了根据图1UI系统106的子模块。

  UI系统106包括UI元素放置模块405,所述模块确定放置UI元素以供用户选择的位置。在UI系统106使用虚拟UI元素的实施例中,虚拟UI元素的位置表示相对于正在向其呈现UI的用户的空间位置,例如坐标。

  虚拟UI元素的位置可以在不同的实施例中以各种方式确定。例如,UI元素放置模块405在添加虚拟UI元素之前对显示在显示器102上的图像执行可视化分析。客户端设备100可以是智能眼镜,其中显示器102最初显示物理世界的“正常”视图图像,而UI元素放置模块405可以相应地执行视图的视觉分析以识别视图中存在的不同对象。

  接下来,识别对象在视图中的位置。可视化分析的结果可以用作放置虚拟UI元素的锚点。回到智能眼镜的例子,视图可以包括用户的手。然后,UI元素放置模块405可以为虚拟UI元素分配一个位置,并且用户可以将另一只手的手指移动到其上,从而营造一种按下虚拟按钮的感觉。

  作为位置确定的另一个相关示例,在UI元素放置模块405对图像执行视觉分析,以区分图像的高优先级区域与低优先级区域。

  将虚拟UI元素仅放置在图像的低优先级区域内,以便不遮蔽高优先级区域。例如,高优先级区域可以包括显示用户可能希望仔细检查的细节的区域,比方说包含文本的区域、具有高度图形细节/变化的区域、随时间变化很大的区域等。

  在一个实施例中,视觉元素放置模块405交替地和/或额外地使用产生在显示器和/或用户界面显示的视觉效果的应用程序的API,调用返回有关显示器102的各个区域的优先级的信息的函数,从而利用应用程序本身具有的关于区域优先级的信息。

  在一个实施例中,可视元素放置模块405交替地和/或额外地使用当前用户和/或其他用户过去使用用户界面的历史统计数据来确定UI元素的放置。例如,可视元素放置模块405可以识别过去与用户交互最频繁的用户界面区域,并将UI元素放置在这些位置或其附近。

  另外,可以使用应用程序设置或通过考虑情景来确定放置位置。例如,当用户静止时的一种模式,以及当用户运动时的另一种模式。

  作为位置确定的另一个示例,UI元素放置模块405根据用户选择元素或以其他方式与元素交互的可能性,对所有或一定的虚拟UI元素进行排序。

  UI元素放置模块405然后将更可能与之交互的虚拟UI元素放置在显示的更可访问的区域中,例如更靠近显示的中心,更靠近与用户的手或其他指向设备相对应的区域等等。

  这可以最大限度地减少用户与虚拟UI元素交互的工作量,例如,通过最小化用户需要移动她的手来选择虚拟UI元素的距离。

  在一个实施例中,使用虚拟UI元素的可能性由应用程序开发人员给出的参数指定。在其他实施例中,UI系统106通过分析关于当前用户和/或其他用户先前使用的历史统计数据来预测虚拟UI元素使用的可能性。

  作为位置确定的另一个示例,UI元素放置模块405考虑环境音频。例如,可以分析相对于显示器102的各个位置的环境音频的程度。如果特定位置具有更大的音频程度,则降低UI元素放置模块405将UI元素放置在显示器102相应位置的概率。

  例如,如果有一个高度的环境音频来自显示器102的左侧附近,则UI元素放置模块405可能会避免将UI元素放置在显示器的左侧。作为说明,假设场景在左侧是复杂的,则不应该使用额外的UI元素进一步使其复杂化。

  在UI系统106使用基于声音的UI元素的实施例中,基于声音的UI元素的位置代表相对于用户的空间位置。UI元素放置模块405可以在不同的实施例中以不同的方式确定所述位置。

  例如,控制应用程序可以显式地指定位置,或者使用特定的用户相对位置,或者使用可以映射到位置的其他指示符。作为另一个示例,控制应用程序可以仅指定虚拟UI元素集,UI元素放置模块405根据虚拟UI元素的数量为每个虚拟UI元素分配位置。

  例如,如果只有两个虚拟UI元素,UI元素放置模块405可能会随机地将其中一个虚拟UI元素分配到用户左侧的位置,而将另一个虚拟UI元素分配到位置的右侧。

  所述UI系统106包括UI元素呈现模块410,所述UI元素呈现模块410根据由所述UI元素放置模块405所确定的UI元素的位置呈现所述UI元素。

  在虚拟UI元素以视觉方式显示在显示器102上的情况,“呈现”意味着使虚拟UI元素以视觉方式出现在显示器上的给定位置。如上所述,虚拟UI元素可以被显示为锚定在场景中的特定对象之上。

  在基于声音的UI元素的情况下,“渲染”意味着让UI元素听起来像是从分配给所述元素的位置发出来的。为了实现这种效果,UI元素呈现模块410可以使用HRTF来设置基于声音的UI元素的表观位置。

  UI系统106同时包括输入位置确定模块415和UI元素交互确定模块420,它们根据用户手势的特征共同确定是否与UI元素交互以及如何与UI元素交互。

  输入位置确定模块415确定与用户移动相关联的位置。根据UI元素是使用图像呈现还是使用声音呈现,这种判断可能会有所不同。当使用图形呈现UI元素时,所述输入位置确定模块415使用从所述可穿戴设备110接收到的传感器数据来确定所述可穿戴设备110相对于所述用户的位置,以及旋转方向、速度、加速度等其他运动信息。

  当UI元素使用声音呈现时,输入位置确定模块415同样可以使用来自可穿戴设备110的传感器数据,例如,基于指示用户似乎向其左侧手势的智能手表的传感器数据确定输入位置。

  另外,输入位置确定模块415同时可以考虑来自客户端设备100的传感器数据。通常,当UI元素使用声音而不是图形呈现时,客户端设备100的显示器102关闭以节省能量,并且作为选项呈现的UI元素相对较少,因此用户可能使用非常通用的粗粒度手势来指示呈现的UI元素之一。

  UI元素交互确定模块420使用由输入位置确定模块415确定的位置来更具体地确定哪些UI元素与用户的手势有关。例如,UI元素交互确定模块420可以将由输入位置确定模块415确定的位置与由UI元素放置模块405确定的呈现UI元素的位置进行比较。

  UI元素交互确定模块420可以另外考虑输入位置确定模块415获得的其他移动信息,以确定用户的移动是否构成表示与UI元素交互的手势,而不是仅仅位于UI元素附近但具有不同的目的。

  例如,来自腕表可穿戴设备110的加速度计数据可用于确定用户正在以与按下虚拟按钮一致的方式快速移动她的手。作为另一个例子,来自耳机客户端设备100的加速度计数据可能表明用户正在移除头显,因此用户的任何动作都是纯粹为了移除头显而不是与UI元素交互,因此UI元素应该视为暂时禁用。

  如果UI元素支持多种不同类型的用户交互,则UI元素交互确定模块420可以另外确定相对于特定UI元素正在执行哪种特定类型的操作。例如,指示在UI元素上向右滑动运动的可穿戴设备110的传感器数据可解释为指定应移除UI元素,而向前戳动可解释为指定正在选择或激活UI元素。

  所述UI系统106同时包括操作模块425,所述操作模块425接受与所选UI元素和在该UI元素上执行的操作类型相适应的操作。对特定UI元素采取的操作可由事件处理程序注册代码预先指定,例如,当用户的手势激活特定UI元素时,注册对特定函数的调用。

  名为“Software-based user interface element analogues for physical device elements”的Meta专利申请最初在2021年12月提交,并在日前由美国专利商标局公布。

+1

来源:映维网

延展资讯