用于虚拟环境中文本输入的电子系统和方法转让专利

申请号 : CN201780005510.X

文献号 : CN108700957B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 卢智雄戴景文贺杰

申请人 : 广东虚拟现实科技有限公司

摘要 :

本公开包括用于虚拟环境中文本输入的电子系统。电子系统包括至少一个手持式控制器、检测系统和文本输入处理器。所述至少一个手持式控制器包括用于检测一个或多个手势的触摸板以及用于生成对应于所述手势的电子指令的电子电路。所述检测系统用于确定所述至少一个手持式控制器的空间位置,所述检测系统包括至少一个图像传感器和计算装置,所述图像传感器用于获取所述至少一个手持式控制器的一个或多个图像,所述计算装置用于基于所获取的图像确定空间位置。文本输入处理器执行包括从至少一个手持式控制器接收电子指令并基于接收的电子指令执行文本输入操作。

权利要求 :

1.一种用于虚拟环境中文本输入的电子系统,其特征在于,包括:至少一个手持式控制器,包括光源、用于检测一个或多个手势的触摸板、以及用于生成对应于所述手势的电子指令的电子电路;

检测系统,用于确定所述至少一个手持式控制器的空间位置和/或运动,所述检测系统包括至少一个用于获取所述至少一个手持式控制器的一个或多个图像的图像传感器和用于基于所获取的图像确定空间位置和/或运动的计算装置;

以及文本输入处理器,用于执行以下操作:从所述检测系统接收所述至少一个手持式控制器的空间位置和/或运动,基于接收的所述至少一个手持式控制器的空间位置和/或运动,在虚拟环境中的坐标处生成指示符,

当所述指示符与所述虚拟环境中的文本字段重叠并且在接收到来自所述至少一个手持式控制器的触发指令时,进入文本输入模式,在所述文本字段中生成光标,并在所述虚拟环境中生成文本输入界面,其中,所述文本输入界面包括第一虚拟界面和第二虚拟界面,所述第一虚拟界面包括虚拟键盘,所述虚拟键盘包括多个虚拟键,每个虚拟键表示一个或多个字符,所述第一虚拟界面对应有多个操作状态,每个所述操作状态对应于所述虚拟键盘的不同布局;

基于触摸板检测到的水平滑动手势,控制所述第一虚拟界面在不同的操作状态下切换;

在字符选择模式下,基于所述触摸板检测到的字符选择手势,基于当前所述操作状态对应的虚拟键盘的布局,在所述第一虚拟界面中选择该字符选择手势对应的字符,并控制所述第二虚拟界面基于用户从第一虚拟界面选择的字符来显示一个或多个候选文本字符串;

当基于触摸板检测到的垂直滑动手势时,确定所述第二虚拟界面内是否显示有文本字符串;

若显示有文本字符串,则切换到字符串选择模式,基于用户对所述第二虚拟界面的操作,由一个或多个候选文本字符串中确定用户选择的文本字符串;

若未显示有文本字符串,则保持处于字符选择模式。

2.根据权利要求1所述的电子系统,其特征在于:所述至少一个手持式控制器还包括惯性测量单元,所述惯性测量单元用于获取所述至少一个手持式控制器的运动数据;以及所述计算装置还用于基于所获取的图像和从所述至少一个手持式控制器接收的运动数据来确定所述至少一个手持式控制器的空间位置。

3.根据权利要求1所述的电子系统,其特征在于,所述文本输入界面还包括:显示一个或多个功能键的第三个虚拟界面。

4.根据权利要求3所述的电子系统,其特征在于:所述至少一个手持式控制器的触摸板包括3×3的感测区域网格;

所述第一虚拟界面为虚拟键盘,具有一个或多个3×3网格布局的虚拟键,当前布局的每个虚拟键与所述触摸板的感测区域对应;

所述文本输入模式包括至少两种操作模式,包括字符选择模式和字符串选择模式,其中,在所述字符选择模式下,在所述触摸板的感应区域中检测到的点击或敲击手势用于在所述第一虚拟界面的当前布局对应的虚拟键中选择一个字符。

5.根据权利要求4所述的电子系统,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

选择一个或多个字符,所述一个或多个字符对应于所述触摸板的一个或多个感应区域检测到的一个或多个点击手势、滑动手势、轻击手势和/或模拟射线,或者对应于所述至少一个手持式控制器的一个或多个运动;以及基于所选择的一个或多个字符在所述第二虚拟界面中显示一个或多个候选文本字符串。

6.根据权利要求5所述的电子系统,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

当接收到所述至少一个手持式控制器发送的与退格操作相对应的电子指令时,在所述第二虚拟界面显示的所述候选文本字符串中删除字符。

7.根据权利要求5所述的电子系统,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

当接收到与由触摸屏检测到的第一滑动手势对应的电子指令时,将所述第一虚拟界面的当前布局切换为先前的布局;

或者,当接收到与由所述触摸屏检测到的第二滑动手势相对应的电子指令时,将所述第一虚拟界面的当前布局切换为随后的布局;

其中,所述第一滑动手势的方向与所述第二滑动手势的方向相反。

8.根据权利要求7所述的电子系统,其特征在于,所述文本输入操作还包括:当接收到与所述触摸屏检测到的第三滑动手势相对应的电子指令时,从所述字符选择模式切换至所述字符串选择模式,其中,所述第三滑动手势的方向与所述第一滑动手势或所述第二滑动手势的方向相垂直。

9.根据权利要求4所述的电子系统,其特征在于,在字符串选择模式下,所述文本输入操作还包括:

选择一个或多个文本字符串,所述一个或多个文本字符串对应于所述触摸板的一个或多个感应区域检测到的一个或多个点击手势、滑动手势、轻击手势和/或射线模拟,或者对应于所述至少一个手持式控制器的一个或多个运动;

在所述文本字段中的所述光标之前显示选择的所述一个或多个文本字符串;

从所述第二虚拟界面的所述候选文本字符串中删除选择的所述一个或多个文本字符串;

更新所述第二虚拟界面中的候选文本字符串;以及当没有候选文本字符串在所述第二虚拟界面中时,将所述第二虚拟界面关闭。

10.根据权利要求3所述的电子系统,其特征在于,所述至少一个手持式控制器的触摸板用于检测至少部分圆形的手势;

所述第一虚拟界面为具有指针的圆形键盘,围绕所述圆形键盘圆周分布有多个虚拟键,其中,所述圆形键盘至少部分可见;以及所述文本输入模式包括至少两种操作模式,包括字符选择模式和字符串选择模式,其中,在所述字符选择模式下,由所述触摸板检测到的至少部分圆形的手势用于所述圆形键盘的旋转以及通过所述指针选择虚拟键。

11.根据权利要求10所述的电子系统,其特征在于,所述至少一个手持式控制器的电子电路根据所检测到的至少部分圆形的手势的方向和距离确定所述圆形键盘旋转的方向和距离。

12.根据权利要求10所述的电子系统,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

选择与所述触摸板检测到的一个或多个至少部分圆形的手势相对应的一个或多个字符;以及

基于所选择的一个或多个字符,显示或更新所述第二虚拟界面中的一个或多个候选文本字符串。

13.根据权利要求10所述的电子系统,其特征在于,所述文本输入操作还包括:在接收到与所述触摸板检测到的第一滑动手势相对应的电子指令时,从所述字符选择模式切换到所述字符串选择模式。

14.根据权利要求10所述的电子系统,其特征在于,在所述字符串选择模式下,所述文本输入操作还包括:

基于所述触摸板检测到的一个或多个点击、敲击或至少部分圆形的手势来选择一个或多个文本字符串;

将选择的所述一个或多个文本字符串在所述文本字段中显示;

将选择的所述一个或多个文本字符串从所述第二虚拟界面中的候选文本字符串中删除;

更新所述第二虚拟界面中的候选文本串;以及当没有候选文本串在所述第二虚拟界面中时,将所述第二虚拟界面关闭。

15.根据权利要求10所述的电子系统,其特征在于,所述圆形键盘以二维视图或三维透视图的方式显示。

16.根据权利要求1所述的电子系统,其特征在于,所述文本输入处理器,还用于当所述指示符与所述虚拟环境的文本字段不重叠时,退出所述文本输入模式。

17.根据权利要求1所述的电子系统,其特征在于,所述虚拟环境中的指示符为箭头。

18.根据权利要求1所述的电子系统,其特征在于,所述至少一个手持式控制器还包括一个或多个用于生成电子指令的控制按钮。

19.根据权利要求1所述的电子系统,其特征在于,所述虚拟环境由虚拟现实系统生成,所述文本输入处理器为所述虚拟现实系统的一部分。

20.根据权利要求1所述的电子系统,其特征在于,所述光源包括至少一个用于发射可见光和/或不可见光的LED。

21.一种用于虚拟环境中文本输入的方法,其特征在于,包括:使用至少一个处理器接收至少一个手持式控制器的空间位置和/或运动,所述至少一个手持式控制器包括光源、用于检测一个或多个手势的触摸板以及用于生成对应于所述手势的一个或多个电子指令的电子电路;

所述至少一个处理器基于接收的所述至少一个手持式控制器的空间位置和/或移动来在所述虚拟环境中的坐标处生成指示符;

当所述指示符与所述虚拟环境中的文本字段重叠,并且接收到来自所述至少一个手持式控制器的触发指令时,所述至少一个处理器输入文本输入模式;

所述至少一个处理器在所述文本字段中生成光标,并在所述虚拟环境中生成文本输入界面,其中,所述文本输入界面包括第一虚拟界面和第二虚拟界面,所述第一虚拟界面包括虚拟键盘,所述虚拟键盘包括多个虚拟键,每个虚拟键表示一个或多个字符,所述第一虚拟界面对应有多个操作状态,每个所述操作状态对应于所述虚拟键盘的不同布局;

基于触摸板检测到的水平滑动手势,控制所述第一虚拟界面在不同的操作状态下切换;

在字符选择模式下,基于所述触摸板检测到的字符选择手势,基于当前所述操作状态对应的虚拟键盘的布局,在所述第一虚拟界面中选择该字符选择手势对应的字符,并控制所述第二虚拟界面基于用户从第一虚拟界面选择的字符来显示一个或多个候选文本字符串;

当基于触摸板检测到的垂直滑动手势时,确定所述第二虚拟界面内是否显示有文本字符串;

若显示有文本字符串,则切换到字符串选择模式,基于用户对所述第二虚拟界面的操作,由一个或多个候选文本字符串中确定用户选择的文本字符串;

若未显示有文本字符串,则保持处于字符选择模式。

22.根据权利要求21所述的方法,其特征在于,还包括:由检测系统确定所述至少一个手持式控制器的空间位置,其中,所述检测系统包括至少一个图像传感器和计算装置,所述图像传感器用于获取所述至少一个手持式控制器的一个或多个图像,所述计算装置用于基于所获取的图像确定空间位置。

23.根据权利要求22所述的方法,其特征在于,所述至少一个手持式控制器还包括惯性测量单元,所述惯性测量单元获取所述至少一个手持式控制器的运动数据,且所述计算装置基于所获取的图像和从所述至少一个手持式控制器接收的运动数据来确定所述至少一个手持式控制器的空间位置。

24.根据权利要求21所述的方法,其特征在于,所述文本输入界面包括:显示一个或多个功能键的第三个虚拟界面。

25.根据权利要求24所述的方法,其特征在于,所述至少一个手持式控制器的触摸板包括3×3的感测区域网格;

所述第一虚拟界面为虚拟键盘,具有一个或多个3×3网格布局的虚拟键,当前布局的每个虚拟键与所述触摸板的感测区域对应;

所述文本输入模式包括至少两种操作模式,包括字符选择模式和字符串选择模式,其中,在所述字符选择模式下,在所述触摸板的感应区域中检测到的点击或敲击手势用于在所述第一虚拟界面的当前布局对应的虚拟键中选择一个字符。

26.根据权利要求25所述的方法,其特征在于,在所述字符选择模式下,所述文本输入操作包括

选择一个或多个字符,所述一个或多个字符对应于所述触摸板的一个或多个感应区域检测到的一个或多个点击手势、滑动手势、轻击手势和/或模拟射线,或者对应于所述至少一个手持式控制器的一个或多个运动;以及基于所选择的一个或多个字符在所述第二虚拟界面中显示一个或多个候选文本字符串。

27.根据权利要求26所述的方法,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

当接收到所述至少一个手持式控制器发送的与退格操作相对应的电子指令时,在所述第二虚拟界面显示的所述候选文本字符串中删除字符。

28.根据权利要求26所述的方法,其特征在于,在所述字符选择模式下,所述文本输入操作还包括:

当接收到由所述触摸板检测到的与第一滑动手势对应的电子指令时,将所述第一虚拟界面的当前布局切换为先前的布局;或者,当接收到由所述触摸板检测到的与第二滑动手势相对应的电子指令时,将所述第一虚拟界面的当前布局切换为随后的布局,其中,所述第一滑动手势的方向与所述第二滑动手势的方向相反。

29.根据权利要求28所述的方法,其特征在于,所述文本输入操作还包括:当接收到与所述触摸板检测到的第三滑动手势相对应的电子指令时,从所述字符选择模式切换至所述字符串选择模式,其中,所述第三滑动手势的方向与所述第一滑动手势或所述第二滑动手势的方向相垂直。

30.根据权利要求25所述的方法,其特征在于,在字符串选择模式下,所述文本输入操作还包括:

选择一个或多个文本字符串,所述一个或多个文本字符串对应于所述触摸板的一个或多个感应区域检测到的一个或多个点击手势、滑动手势、轻击手势和/或射线模拟,或者对应于所述至少一个手持式控制器的一个或多个运动;

在所述文本字段中的所述光标之前显示选择的所述一个或多个文本字符串;

从所述第二虚拟界面的所述候选文本字符串中删除选择的一个或多个文本字符串;

更新所述第二虚拟界面中的候选文本字符串;以及当没有候选文本字符串在所述第二虚拟界面中时,将所述第二虚拟界面关闭。

31.根据权利要求21所述的方法,其特征在于,还包括:当所述指示符与所述虚拟环境的文本字段不重叠时,所述至少一个处理器退出所述文本输入模式。

32.根据权利要求24所述的方法,其特征在于:所述至少一个手持式控制器的触摸板用于检测至少部分圆形的手势;

所述第一虚拟界面为具有指针的圆形键盘,围绕所述圆形键盘圆周分布有多个虚拟键,其中,所述圆形键盘至少部分可见;以及所述文本输入模式包括至少两种操作模式,包括字符选择模式和字符串选择模式,其中,在所述字符选择模式下,由所述触摸板检测到的至少部分圆形的手势用于所述圆形键盘的旋转以及通过所述指针选择虚拟键。

33.根据权利要求32所述的方法,其特征在于,所述至少一个手持式控制器的电子电路根据所检测到的至少部分圆形的手势的方向和距离确定所述圆形键盘旋转的方向和距离。

34.根据权利要求32所述的方法,其特征在于:选择与所述触摸板检测到的一个或多个至少部分圆形的手势相对应的一个或多个字符;以及

基于所选择的一个或多个字符,显示或更新所述第二虚拟界面中的一个或多个候选文本字符串。

35.根据权利要求32所述的方法,其特征在于,所述文本输入操作还包括:在接收到与所述触摸板检测到的第一滑动手势相对应的电子指令时,从所述字符选择模式切换到所述字符串选择模式。

36.根据权利要求32所述的方法,其特征在于,在字符串选择模式下,所述文本输入操作还包括:

基于所述触摸板检测到的一个或多个点击、敲击或至少部分圆形的手势来选择一个或多个文本字符串;

将选择的所述一个或多个文本字符串在所述文本字段中显示;

将选择的所述一个或多个文本字符串从所述第二虚拟界面中的候选文本字符串中删除;

更新所述第二虚拟界面中的候选文本串;以及当没有候选文本串在所述第二虚拟界面中时,将所述第二虚拟界面关闭。

37.根据权利要求32所述的方法,其特征在于,所述圆形键盘以二维视图或三维透视图的方式显示。

38.一种用于虚拟环境中文本输入的方法,包括:确定至少一个手持式控制器的空间位置;

基于所述至少一个手持式控制器的空间位置和/或运动,在所述虚拟环境中的坐标处生成指示符;

进入准备执行文本输入操作的待机模式;

在接收到来自所述至少一个手持式控制器的触发指令时,从所述待机模式进入文本输入模式;

在所述文本字段中生成光标,并在所述虚拟环境中生成文本输入界面,其中,所述文本输入界面包括第一虚拟界面和第二虚拟界面,所述第一虚拟界面包括虚拟键盘,所述虚拟键盘包括多个虚拟键,每个虚拟键表示一个或多个字符,所述第一虚拟界面对应有多个操作状态,每个所述操作状态对应于所述虚拟键盘的不同布局;

基于触摸板检测到的水平滑动手势,控制所述第一虚拟界面在不同的操作状态下切换;

在字符选择模式下,基于所述触摸板检测到的字符选择手势,基于当前所述操作状态对应的虚拟键盘的布局,在所述第一虚拟界面中选择该字符选择手势对应的字符,并控制所述第二虚拟界面基于用户从第一虚拟界面选择的字符来显示一个或多个候选文本字符串;

当基于触摸板检测到的垂直滑动手势时,确定所述第二虚拟界面内是否显示有文本字符串;

若显示有文本字符串,则切换到字符串选择模式,基于用户对所述第二虚拟界面的操作,由一个或多个候选文本字符串中确定用户选择的文本字符串;

若未显示有文本字符串,则保持处于字符选择模式。

说明书 :

用于虚拟环境中文本输入的电子系统和方法

技术领域

[0001] 本发明总体上涉及虚拟现实领域。更具体而言,且非限制性地,所公开的实施例涉及用于虚拟环境中文本输入的电子系统和方法。

背景技术

[0002] 虚拟现实(VR)系统或VR应用程序创建虚拟环境,并将用户沉浸于虚拟环境,或模拟用户存在于虚拟环境中。通常,虚拟环境通过适当的虚拟现实或增强现实技术的电子设
备向用户展示。例如,该电子设备可以是头戴式显示器、可穿戴耳机或透视式头盔显示器。
或者,电子设备还可以是投影仪,能够将虚拟环境投射到房间的墙壁上或在一个或多个屏
幕上以创建沉浸式体验。电子设备还可以是个人计算机。
[0003] VR应用程序变得越来越具有交互性。在许多情况下,在虚拟环境中的某些位置输入文本数据是有效且可行的。然而,将文本数据输入到操作系统(如物理键盘或鼠标)的传
统方法不适用于在虚拟环境中输入文本数据。这是因为沉浸在虚拟现实环境中的用户通常
看不到自己的双手,而此时,用户的双手可能同时持有控制器,以便与虚拟环境中的对象进
行交互。使用键盘或鼠标输入文本数据的方式,可能需要用户离开虚拟环境或释放控制器。
因此,需要一种方法和系统,其允许在虚拟环境中进行简单且直观的文本输入,而不损害用
户的并行沉浸式体验。

发明内容

[0004] 本申请公开的实施例包括用于虚拟环境中文本输入的电子系统和方法。本示例性实施例使用手持式控制器和文本输入处理器并基于由触摸板检测到的一个或多个手势和/
或手持式控制器的运动,在虚拟环境中的合适位置处输入文本。本示例性实施例的文本输
入处理器能够生成虚拟文本输入界面,从而允许用户通过虚拟文本输入界面进行交互从而
输入文本,进而提供简单而直观的虚拟环境中的文本输入方法,并能够改善用户体验。
[0005] 根据本公开的示例性实施例,提供了一种用于虚拟环境中文本输入的电子系统。电子系统包括至少一个手持式控制器、用于确定至少一个手持式控制器的空间位置和/或
运动的检测系统以及用于执行操作的文本输入处理器。所述至少一个手持式控制器包括光
源、用于检测一个或多个手势的触摸板以及用于生成与所述手势对应的电子指令的电子电
路。检测系统包括至少一个图像传感器及计算装置,该图像传感器用于获取至少一个手持
式控制器的一个或多个图像,计算装置能够基于获取的图像确定该手持式控制器的空间位
置。则前述操作包括:从检测系统接收至少一个手持式控制器的空间位置和/或运动,例如
旋转;基于至少一个手持式控制器的空间位置和/或运动,在虚拟环境中的坐标处生成指示
符;当所述指示符与所述虚拟环境中的文本字段重叠并且在接收到来自所述至少一个手持
式控制器的触发指令时,进入文本输入模式;接收来自至少一个手持式控制器的电子指令;
以及在文本输入模式中基于所接收的电子指令执行文本输入操作。
[0006] 根据本公开的另一示例性实施例,提供了一种用于虚拟环境中文本输入的方法。该方法包括使用至少一个处理器接收至少一个手持式控制器的空间位置和/或运动。至少
一个所述手持式控制器包括光源、用于检测一个或多个手势的触摸板以及用于生成对应于
所述手势的一个或多个电子指令的电子电路。该方法还包括由至少一个处理器基于所接收
的至少一个手持式控制器的空间位置和/或移动来在虚拟环境中的坐标处生成指示符;当
所述指示符与所述虚拟环境中的文本字段或虚拟按钮(未示出)重叠,并且接收到来自所述
至少一个手持式控制器的触发指令时,由所述至少一个处理器输入文本输入模式;由所述
至少一个处理器从所述至少一个手持式控制器接收所述电子指令;以及,由至少一个处理
器基于在文本输入模式中接收到的电子指令来执行文本输入操作。
[0007] 根据本公开的又一个示例性实施例,提供了一种用于虚拟环境中文本输入的方法。该方法包括:确定至少一个手持式控制器的空间位置和/或运动。所述至少一个手持式
控制器包括光源,用于检测一个或多个手势的触摸板以及用于基于手势生成一个或多个电
子指令的电子电路。该方法还包括基于至少一个手持式控制器的空间位置和/或运动,在虚
拟环境中的坐标处生成指示符;进入准备执行文本输入操作的待机模式;在接收到来自所
述至少一个手持式控制器的触发指令时,从待机模式进入文本输入模式;接收来自至少一
个手持式控制器的电子指令;在文本输入模式下,基于所接收的电子指令执行文本输入操
作。
[0008] 在此公开的主题的一个或多个变型的细节在下面和附图中阐述。从下面的详细描述,附图和权利要求中,本文公开的主题的其它特征和优点将显而易见。
[0009] 鉴于本文的公开,进一步的修改和替代实施例对于本领域的普通技术人员来说将是显而易见的。例如,为了操作的清楚起见,系统和方法可以包括从图和描述中省略的附加
组件或步骤。因此,下面的详细描述仅被解释为说明性的,并且用于教导本领域技术人员实
施本公开的一般方式。应该理解的是,这里公开的各种实施例将被视为是示例性的。一些元
件和结构,以及这些元件和结构的排列,可以代替这里所示以及所公开的元件和结构,对象
和步骤可以颠倒,并且本教导的某些特征可以独立使用,所有这些对于本领域技术人员而
言在得益于本文公开内容后将是显而易见的。

附图说明

[0010] 附图结合在本说明书中并构成其一部分,其示出了本公开的示例性实施例,并且与说明书一起用于解释本公开的原理。
[0011] 图1示出了本公开实施例提供的用于虚拟环境中文本输入的电子系统的示意图;
[0012] 图2A示出了本公开实施例提供的图1所示的电子系统中手持式控制器的侧视图;
[0013] 图2B示出了图2A所示的手持式控制器的俯视图;
[0014] 图3示出了图1所示的电子系统中检测系统的示意图;
[0015] 图4示出了图1所示的电子系统在虚拟环境中生成的文本输入界面的示意图;
[0016] 图5示出了由图1所示的电子系统执行的文本输入操作的一实施例的状态图;
[0017] 图6示出了由图1所示的电子系统执行的文本输入操作的另一实施例的状态图;
[0018] 图7A示出了图1所示的电子系统的文本输入界面的另一实施例的示意图;
[0019] 图7B示出了图1所示的电子系统的文本输入界面的又一实施例的示意图;
[0020] 图8示出了由图1所示的电子系统执行的文本输入操作的又一实施例的状态图;
[0021] 图9示出了本公开实施例提供的用于虚拟环境中文本输入的方法实施例的流程图;
[0022] 图10示出了图9所示的方法在字符选择模式中文本输入操作的流程图;
[0023] 图11示出了图9所示的方法在字符串选择模式中文本输入操作的流程图。

具体实施方式

[0024] 本示例性实施例所示出的说明书和附图不应该被限制。在不脱离本说明书和权利要求书的范围的情况下可以做出各种机械、结构、电气和操作变化,包括等同物。两个或更
多图中的类似参考数字表示相同或相似的元件。此外,参考一个实施例详细公开的元件及
其相关特征,可以在任何实际情况下被包括在未具体示出或描述的其他实施例中。例如,如
果参照一个实施例详细描述了元件,并且没有参照第二实施例来描述该元件,则该元件仍
然可以被要求包括在第二实施例中。
[0025] 所公开的实施例涉及用于在由虚拟现实或增强现实技术创建的虚拟环境中进行文本输入的电子系统和方法。该虚拟环境可以通过诸如头戴式显示器(例如,可佩戴式耳机
或透视头戴式显示器等),投影仪或个人计算机之类的合适的电子装置向用户显示。本公开
的实施例可以在VR系统中实现,该系统允许用户使用手持式控制器与虚拟环境交互。
[0026] 根据本公开的一方面,用于虚拟环境中文本输入的电子系统包括手持式控制器。该手持式控制器包括发出可见光和/或红外光的光源。例如,光源可以发射一种或多种颜色
的可见光,例如红色、绿色和/或蓝色,以及红外光,例如近红外光。根据本公开的另一方面,
手持式控制器包括触摸板,该触摸板具有用于检测用户的手势的一个或多个感测区域。手
持式控制器还包括与触摸板相关的电子电路,该电子电路基于由触摸板检测到的手势来生
成文本输入指令。
[0027] 根据本公开的另一个方面,能够使用检测系统来跟踪手持式控制器的空间位置和/或运动。检测系统包括一个或多个图像传感器,以获取手持式控制器的一个或多个图
像。检测系统可以进一步包括计算装置,用于基于所获取的图像来确定空间位置。有利地,
检测系统通过利用来自光源的可见光和/或红外光,允许对手持式控制器进行精确和自动
的识别和跟踪,由此允许通过由用户移动手持式控制器而选择在虚拟环境中的位置处输入
文本。
[0028] 根据本公开的另一方面,手持式控制器的空间位置由虚拟环境中的相应位置处的指示符表示。例如,当指示符与虚拟环境中的文本字段或虚拟按钮重叠时,文本字段可被配
置为显示用户输入的文本。在此种情况下,基于由触摸板检测到的手势和/或手持式控制器
的移动而产生的电子指令用于执行文本输入操作。有利地,手势和手持式控制器的使用允
许用户通过与虚拟环境的简单和直观的交互,在虚拟环境中所期望的位置处输入文本。
[0029] 现在将详细参考本公开的实施例和各个方面,其示例将在附图中示出。在可能的情况下,在整个附图中将使用相同的附图标记来指代相同或相似的部分。鉴于本文的公开
内容,本领域的普通技术人员将认识到,可以选择性地组合或替代地使用本公开中描述的
一个或多个实施例的特征。
[0030] 图1示出了用于虚拟环境中文本输入的电子系统10的实施例的示意图。如图1所示,系统10包括至少一个手持式控制器100、检测系统200和文本输入处理器300。手持式控
制器100可以是用户用于控制视频游戏或机器的输入设备,或者是用于与虚拟环境交互的
输入设备(例如操纵杆)。手持式控制器100包括棒体120、安装在棒体120上的光源110以及
触摸板122。检测系统200包括具有一个或多个图像传感器的图像采集装置210。手持式控制
器100和检测系统200的实施例将在下文参考图1和图2进行描述。文本输入处理器300包括
文本输入界面生成器310和数据通信模块320。文本输入界面生成器310可以生成用户在虚
拟环境中输入的一个或多个文本输入界面和/或显示文本。数据通信模块320可以接收由手
持式控制器100产生的电子指令,并且可以接收由检测系统200确定的手持式控制器100的
空间位置和/或运动数据。文本输入处理器300使用文本输入界面生成器310和数据通信模
块320执行的操作将在下文参照图4‑8进行描述。
[0031] 图2A是手持式控制器100的侧视图,图2B是本公开实施例的手持式控制器100的俯视图。如图2A和2B所示,手持式控制器100的光源110具有发射可见光和/或红外光的一个或
多个LED(发光装置)112,以及包围该LED的透明或半透明盖。可见光可以具有不同的颜色,
从而可以利用由光源110发射的可见光的颜色为手持式控制器100编码唯一标识。光源110
的空间位置可以由检测系统200检测和跟踪,并且可以用于确定手持式控制器100的空间位
置。
[0032] 触摸板122包括一个或多个触觉感测区域,该一个或多个触觉感测区域用于检测由用户的至少一个手指施加的手势。例如,触摸板122可以包括一个或多个电容感测或压力
感测传感器,其用于检测触摸板122上的一个或多个手指的运动或位置,诸如敲击、点击、滚
动、滑动、捏或旋转。在一些实施例中,如图2A所示,触摸板122可以被划分为多个感测区域,
诸如3×3的感测区域网格。每个感测区域可以检测施加在其上的手势或运动。另外或可选
地,触摸板122的一个或多个感测区域可以作为整体来操作,以共同地检测一个或多个手指
的运动或手势。例如,触摸板122可以整体检测手指的旋转或圆形的手势。作为进一步的示
例,触摸板122可以作为整体被按下,从而作为功能按钮来操作。手持式控制器100还可以包
括电子电路(未示出),其将检测到的手势或运动转换为用于文本输入操作的电子信号。下
文将参照图4‑8进一步描述基于由触摸板122检测到的手势或运动的文本输入操作。
[0033] 在一些实施例中,如图2A所示,手持式控制器100可以进一步包括惯性测量单元(IMU)130,其获取手持式控制器100的运动数据,诸如在三个垂直轴上的线性运动和/或围
绕三个垂直轴的加速度(滚动,俯仰和偏航)。运动数据可用于获得手持式控制器100在给定
时间的位置,速度、取向、旋转和运动方向。手持式控制器100还可以包括通信接口140,该通
信接口140将手持式控制器100的运动数据发送到检测系统200。通信接口140可以是有线或
无线连接模块,例如USB接口模块,蓝牙模块(BT模块)或射频模块(RF模块)(例如,Wi‑Fi 
2.4GHz模块)。可以对手持式控制器100的运动数据进一步处理,以确定和/或跟踪手持式控
制器100的空间位置和/或运动(例如横向移动或旋转)。
[0034] 图3示出了本公开实施例的检测系统200的示意图。如图3所示,检测系统200包括图像采集装置210、图像处理装置220、计算装置230和通信装置240。图像采集装置210包括
一个或多个图像传感器,例如,图像传感器210a和210b。图像传感器210a和210b可以是CCD
或CMOS传感器、CCD或CMOS相机、高速CCD或CMOS相机、彩色或灰度相机、或者具有预定滤波
器阵列的相机(诸如RGB滤波器阵列或RGB‑IR滤波器阵列或任何其他合适类型的传感器阵
列)。图像传感器210a和210b可以捕获可见光、近红外光和/或紫外光。图像传感器210a和
210b均可以高速获取手持式控制器100和/或光源110的图像。在一些实施例中,计算装置
230可以根据两个图像传感器获取的图像确定手持式控制器100和/或光源110在三维(3‑D)
空间中的空间位置。或者,计算装置230可以根据一个图像传感器采集的图像确定手持式控
制器100和/或光源110在二维(2‑D)平面上的空间位置和/或运动。
[0035] 在一些实施例中,由图像传感器210a和210b两者采集的图像在被用于提取手持式控制器100的空间位置和/或运动信息之前,还可以被图像处理装置220进一步处理。图像处
理装置220可直接从图像采集装置210或通过通信装置240接收所获取的图像。图像处理装
置220可以包括从一组处理器中选择的一个或多个处理器,该组处理器包括例如微控制器
(MCU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、数字
信号处理器(DSP)、ARM处理器等。图像处理设备220可以执行存储在非暂时性计算机可读介
质中的一个或多个图像处理操作。该图像处理操作可以包括去噪、一种或多种类型的滤波、
增强、边缘检测、分割、阈值化及抖动等。计算装置230可以使用经处理的图像来确定光源
110在该经处理的图像和/或所采集的图像中的位置。基于手持式控制器100在图像中的位
置和一个或多个参数,计算装置230可以确定手持式控制器100和/或光源110在3‑D空间或
2‑D平面中的空间位置和/或运动。该一个或多个参数可以包括图像传感器的焦距和/或焦
点以及两个图像传感器之间的距离等。
[0036] 在一些实施例中,计算装置230可以通过通信装置240接收由图1所示的IMU 130获取的运动数据。该运动数据可以包括关于三个垂直轴线的直线运动以及关于手持式控制器
100的三个垂直轴(滚动,俯仰和偏航)的旋转运动,例如角加速度。计算装置230可根据由
IMU 130获得的运动数据来计算手持式控制器100在给定时间的移动的位置、速度、取向、旋
转和/或方向。因此,计算装置230可以确定手持式控制器100的空间位置、旋转和方位,从而
提高了虚拟环境中用于确定文本输入位置的手持式控制器100的空间位置的准确性。
[0037] 图4是虚拟环境400中文本输入界面430的示意图。虚拟环境400可以由VR系统或VR应用创建,并且由诸如可佩戴式耳机或其他显示设备之类的电子设备向用户显示。如图4所
示,虚拟环境400可以包括用于接收文本输入的一个或多个文本字段410。图1所示的文本输
入处理器300可以基于由计算装置230确定的手持式控制器100的空间位置,在虚拟环境400
的坐标处生成指示符420。指示符420可以具有预设的3‑D或2‑D形状。例如,指示符420可以
具有圆形、球形、多边形或箭头的形状。如本文所述,文本输入处理器300可以是创建或修改
虚拟环境400的VR系统或VR应用程序的一部分。
[0038] 在一些实施例中,在虚拟环境400中,指示符420的坐标随着手持式控制器100的空间位置而变化。因此,用户可以通过将手持式控制器100沿着使得指示符420朝向期望文本
字段410移动的方向移动,来选择期望文本字段410以输入文本。当指示符420与虚拟环境
400中的期望文本字段410重叠时,图1所示的文本输入处理器300可以进入准备执行操作的
待机模式,以在期望文本字段410中输入文本。另外或替代地,在虚拟环境400中,指示符420
的坐标可以随着手持式控制器100的空间移动(例如旋转)而改变。例如,可以由IMU130检测
用于指示手持式控制器100的三个垂直轴线(滚动,俯仰和偏转)的旋转或角加速度的运动
数据。计算装置230可以使用由IMU 130获得的运动数据来确定手持式控制器100的朝向、旋
转方向和/或角加速度。因此,手持式控制器100的旋转运动能够确定指示符420在虚拟环境
400中的坐标。
[0039] 如本文所述,可以基于所选择的参数组合来确定指示符420在虚拟环境400中的当前坐标,该坐标还可以基于手持式控制器100的空间位置和/或运动而确定。例如,可以使用
空间位置、方位、线性运动和/或旋转的一个或多个测量结果来确定指示符420的对应坐标。
反之,又可以通过虚拟环境400中的指示符420的坐标提高手持式控制器100的空间位置的
表示精度。
[0040] 在一些实施例中,用户可以通过在一个方向上移动手持式控制器100来选择期望的文本字段410以输入文本,使得指示符420与虚拟环境400中的虚拟按钮(未示出,诸如虚
拟TAB键)重叠。另外或替代地,可以通过手势来生成触发指令,例如点击、滑动或敲击手势,
其中,该触发指令用于选择文本输入所需的文本字段410。其中,点击、滑动或敲击手势可以
由手持式控制器100的触摸板122检测到。
[0041] 在待机模式下,当接收到触发指令时,文本输入处理器300可以进入文本输入模式,其中,图1所示的文本输入界面生成器310可以在期望的文本字段410中生成光标412,并
且在虚拟环境400中生成文本输入界面430。然后,文本输入界面生成器310可以在光标412
之前显示用户输入的文本。在一些实施例中,触发器指令可以通过手势来生成,例如点击、
滑动或敲击手势,该触发器指令用于选择由图2A所示的手持式控制器100的触摸板122检测
的字符,并由文本输入处理器300通过图1所示的数据通信模块320接收。在其他实施例中,
触发指令可以通过手持式控制器100的移动产生,例如手持式控制器100的旋转、跳跃、敲
击、滚动、倾斜、颠簸或其他合适的运动。
[0042] 在一些实施例中,当指示符420离开文本字段410或虚拟按钮时,例如,由于手持式控制器100的移动,文本输入处理器300可以保持在文本输入模式中。然而,当指示符420远
离文本字段410时执行进一步操作时,文本输入处理器300可以退出文本输入模式。
[0043] 下面请参照图4‑6,将详细描述由文本输入处理器300基于文本输入界面430执行的文本输入操作的实施例。
[0044] 如图4所示,示例性地,文本输入界面430可以包括显示一个或多个字符的第一虚拟界面432和显示一个或多个候选文本字符串的第二虚拟界面434。第一虚拟界面432可以
显示多个字符,诸如字母、数字和符号。在一个实施例中,如图4所示,第一虚拟界面432是具
有多个虚拟键的3×3网格布局的虚拟键盘。该虚拟键盘的虚拟键可以与从1到9的数字、字
符、标点符号和/或恰当的功能键(例如空格键或回车键)的组合相对应。在这种情况下,第
一虚拟界面432可以引导用户以通过基于虚拟键盘的布局选择数字、字符、标点和/或空格
来生成文本字符串。例如,图2A所示的触摸板122的感测区域可以具有对应的3×3网格布
局,使得由触摸板122的感测区域检测到的用户的手势可以生成用于文本输入处理器300的
电子指令,以在第一虚拟界面432中的相应键中选择一个字符。
[0045] 第一虚拟界面432可以选择使用虚拟键盘的任何合适的类型或布局,而不限于这里描述的示例。选择和/或输入文本字符串或文本特征的指令,可以由适合于所选择的虚拟
键盘的类型或布局的手持式控制器100的各种交互动作生成。在一些实施例中,第一虚拟界
面432可以是光线投射键盘,其中可以模拟一个或多个激光射线,并指向虚拟环境400中的
虚拟键盘中的键。改变手持式控制器100的方向和/或位置可将激光射线引导到具有所需字
符的键。另外或可选地,可以生成一个或多个虚拟鼓槌或其他视觉指示符并指向虚拟环境
400中的虚拟键盘中的键。改变手持式控制器100的方向和/或位置可以指示鼓槌触摸或敲
击具有所需字符的按键。在其他实施例中,第一虚拟界面432可以是在触摸屏或表面上显示
的直接触摸键盘。点击或敲击键盘中的键允许选择由该键表示的所需字符。
[0046] 第二虚拟界面434可以基于由用户从第一虚拟界面432选择的字符来显示一个或多个候选文本字符串(图4中示出的候选文本字符串“XYZ”可以表示任何合适的文本字符
串)。第一虚拟界面432和第二虚拟界面434可以不同时显示。例如,当文本输入处理器300处
于待机模式时,在接收到触发指令时,文本输入处理器300可以进入文本输入模式,其中文
本输入界面生成器310在虚拟环境400中生成第一虚拟界面432。文本输入界面生成器310还
可以在虚拟环境400中生成第二虚拟界面434,并且基本上同时在虚拟环境400中显示第二
虚拟界面434和第一虚拟界面432。
[0047] 在一些实施例中,文本输入界面430可以包括第三虚拟界面436。第三虚拟界面436可以包括一个或多个功能键,例如修饰符键、导航键和系统命令键,以执行诸如小写和大写
之间切换或传统或简化字符之间切换的功能。在第三虚拟界面436中的功能键可以通过移
动指示符420来选择,使得指示符420与所选择的键重叠。在这种情况下,当文本输入处理器
300接收到对应于触摸板122检测到的点击、滑动或敲击手势的电子指令时,可以激活所选
择的键的功能。其他合适的手势可以用于在第三虚拟界面436中选择合适的功能键。例如,
可以通过在手持式控制器100上按下控制按钮(未示出)来生成用于激活第三虚拟界面436
中的功能键的电子指令。
[0048] 图5和图6示出了一种文本输入操作的实施例的状态图,该文本输入操作由图1所示的文本输入处理器300基于图4所示的文本输入界面430而执行。文本输入处理器300的文
本输入模式可以包括字符选择模式和字符串选择模式,这些将在下文参考图5和图6详细描
述。
[0049] 如图5所示,在一些实施例中,文本输入处理器300可以具有相对于第一虚拟界面432的多个操作状态,该多个操作状况以a0到an表示。文本输入处理器300在字符选择模式下
在状态a0到an中操作,其中第一虚拟界面432被激活并响应从手持式控制器100接收的电子
指令。图5所示的状态X表示文本输入处理器300的字符串选择模式,其中第二虚拟界面434
被激活并响应从手持式控制器100接收的电子指令。文本输入处理器300可以基于从手持式
控制器100接收的电子指令在这些操作状态之间切换。
[0050] 在一些实施例中,状态a0到an对应于虚拟键盘的不同布局或类型。下面的描述以键盘的多个3×3网格布局为例。第一虚拟界面432的每个网格布局可以显示不同的字符集。例
如,第一网格布局在状态0时可以显示拉丁字母、其他字母语言的字母或者非字母语言(例
如中文)的字母或字根,第二个网格布局在状态a1时可以显示0到9,并且第三网格布局在状
态a2下可以显示符号和/或符号。在这种情况下,基于来自手持式控制器100的一个或多个
电子指令,可以从第一虚拟界面432的多个网格布局中选择用于文本输入的当前网格布局。
[0051] 在一些实施例中,基于与触摸板122检测到的第一滑动手势相对应的电子指令,文本输入界面生成器310可以将第一虚拟界面432从状态a0的第一网格布局切换到状态a1的第
二网格布局。例如,如图5所示,第一滑动手势可以是从左向右或从右向左水平滑动的手势。
文本输入界面生成器310可以基于与触摸板122检测到的第一滑动手势A对应的电子指令,
进一步将状态a1的第二网格布局切换到状态a2的第三网格布局。
[0052] 另外,如图5所示,基于与触摸板122检测到的第二滑动手势相对应的电子指令,文本输入界面生成器310可以将状态a2的第三网格布局切换回状态a1的第二网格布局。如图5
中,第二滑动手势A’可以具有与第一滑动手势A相反的方向。例如,第二滑动手势A'可以是
从右向左或从左向右水平滑动的手势。文本输入界面生成器310可以基于与触摸板122检测
到的第二滑动手势A'对应的电子指令,进一步将状态a1的第二网格布局切换回状态a0的第
一网格布局。
[0053] 从状态a0到an的每个状态中显示第一虚拟界面432的一个网格布局中,并且通过在虚拟键盘中选择具有字符的键,可以选择该字符来进行文本输入。例如,触摸板122的感测
区域可以具有对应的3×3网格键盘布局,使得由触摸板122的感测区域检测到的用户的字
符选择手势可以生成用于文本输入处理器300的电子指令,以在第一虚拟界面432中选择相
应键中的一个字符。如图5中B所示,字符选择手势可以是点击或敲击手势。如图5所示,在接
收到与字符选择手势相对应的电子指令时,文本输入界面生成器310可以不改变第一虚拟
界面432的当前网格布局,允许用户从当前布局中继续选择一个或多个字符。
[0054] 如本文所描述的,文本输入处理器300可以基于从手持式控制器100接收的电子指令(诸如上述的滑动手势)在操作状态a0与字符选择模式之间进行切换。另一方面,手持式
控制器100的电子指令可以基于手持式控制器100的移动而产生。这种移动可以包括手持式
控制器100的旋转、跳跃、敲击、滚动、倾斜、颠簸或其他合适的移动。
[0055] 方便地,在文本输入处理器300的字符选择模式中,用户可以通过沉浸在虚拟环境400时,在触摸板122上应用直观手势来从第一虚拟界面432的一个或多个网格布局中选择
一个或多个字符。文本输入界面生成器310可以基于用户选择的字符在第二虚拟界面434中
显示一个或多个候选文本字符串。
[0056] 当在第二虚拟界面434中显示一个或多个候选文本字符串时,文本输入处理器300可以从字符选择模式切换到字符串选择模式。例如,基于与通过触摸板122检测到的第三滑
动手势相对应的电子指令,文本输入处理器300可以从任何状态a0切换到状态X,其中,第二
虚拟界面434被激活用于文本字符串选择。如图5中所示的C1,第三滑动手势可以是在触摸
板122上从顶部向底部或从底部向顶部垂直滑动的手势。第三滑动手势的方向与第一或第
二滑动手势的方向正交。在一些实施例中,当在第二虚拟界面434中不显示任何文本字符串
时,文本输入处理器300可以不从字符选择模式切换到字符串选择模式。在这种情况下,第
三手势(如图5中所示的C2)和文本输入处理器300保持当前状态并且不切换到状态X,而且
第一虚拟界面432保持在当前网格布局中。
[0057] 图6示出了文本输入处理器300相对于第二虚拟界面434的多个操作状态。文本输入处理器300在状态S1到Sn的字符串选择模式下运行,其中,在第二虚拟界面434中显示的候
选文本字符串的数量范围为1到n。例如,基于用户选择的字符生成的多个候选文本字符串
被编号,并在第二虚拟界面434中显示。在状态00中,第二虚拟界面434未被示出且被关闭,
或者不显示候选文本字符串。状态X表示文本输入处理器300的字符串选择模式,其中第二
虚拟界面434被激活并响应从手持式控制器100接收的电子指令。文本输入处理器300可以
基于从手持式控制器100接收的电子指令在这些操作状态之间切换。
[0058] 如图6所示,当触摸板122的感测区域检测到用户的字符选择手势时(如图6所示的B),文本输入处理器300可以从状态00切换到状态S1,从状态S1切换到状态S2,从状态Sn‑1切
换到状态Sn等。如上所述,字符选择手势B可以是点击或敲击手势。在这种情况下,文本输入
界面生成器310可以基于用户选择的一个或多个附加字符来更新第二虚拟界面434中的一
个或多个候选文本字符串。另外或可选地,当执行从候选文本字符串中删除字符的操作时
(如图6所示的E),文本输入处理器300可以从状态S1切换到状态00,从状态S2切换到状态S1,
从状态Sn切换到状态Sn‑1,等等。例如,文本输入界面生成器310可以基于与退格操作对应的
电子指令来删除在第二虚拟界面434中显示的每个候选文本字符串中的字符。例如,可以通
过按压手持式控制器100上的按钮或者选择第三虚拟界面436的功能键中的一个来产生与
退格操作对应的电子指令。
[0059] 文本输入处理器300可基于与触摸板122检测到的第三滑动手势C1对应的电子指令,从状态S1至Sn中的任一状态切换至状态X,即字符串选择模式。在状态X中,第二虚拟界面
434被激活用于文本字符串选择。然而,在状态00中,当在第二虚拟界面434中没有显示文本
字符串时,或者当第二虚拟界面434关闭时,文本输入处理器300不会从状态00切换到状态
X。
[0060] 如本文所述,在字符串选择模式中,文本输入处理器300可以基于从手持式控制器100接收到的电子指令,在操作状态S1到Sn之间切换。如上所述,来自手持式控制器100的电
子指令可以基于由触摸板122检测到的手势和/或手持式控制器100的运动而生成。该运动
可以包括手持式控制器100的旋转、跳跃、敲击、滚动、倾斜、颠簸或其他类型的直观的运动。
[0061] 在一些实施例中,当文本输入处理器300处于状态X或在字符串选择模式下操作时,对触摸板122的3×3网格布局的感测区域的选择和/或第一虚拟界面432的虚拟键的选
择均可以被分配一个数字,例如,可以是从1到9的数。如图4所示,在第二虚拟界面434中显
示的候选文本字符串也可以被编号。用户可以通过点击或敲击感测区域,或者在被分配相
同数字的触摸板122的感测区域上滑动来选择期望的文本字符串。所选文本字符串可以从
第二虚拟界面434中的候选文本字符串中移除,然后,可以更新剩余候选文本字符串的编
号。当所有候选文本字符串被选择和/或被移除时,文本输入界面生成器310可以关闭第二
虚拟界面434,并且返回到状态00。
[0062] 在一些实施例中,可以从第二虚拟界面434中显示的候选文本字符串中按顺序选择多个所需的文本字符串。另外或可选地,在选择期望的文本字符串之后,可以将一个或多
个字符添加到候选文本字符串或从候选文本字符串移除。在这种情况下,文本输入界面生
成器310可以将第二虚拟界面434中显示的候选文本字符串和/或候选文本字符串的编号更
新。如图4所示,所选择的一个或多个文本字符串可以在虚拟环境400的文本字段410中,在
光标412之前由文本输入界面生成器310显示或插入。当选择附加字符串时,光标412可以移
动到文本字段410的末尾。
[0063] 在某些实施例中,当第二虚拟界面434关闭或停用时(例如,基于与触摸板122检测到的手势对应的电子指令),用户可以编辑文本字段410中已经存在的文本输入。例如,当接
收到与退格操作相对应的电子指令时,文本输入界面生成器310可以删除光标412之前的文
本字段410中的字符,例如,图4所示的文本字符串XYZ中的字符Z。另外或可选地,当接收到
与导航操作相对应的电子指令时,文本输入界面生成器310可以将光标412移动到文本字段
410中输入的字符之间所需的位置,以便进行进一步的插入或删除操作。
[0064] 如本文所述,图5和6中所示的文本输入处理器300的运行状态,可以在手持式控制器100上使用一个或多个控制按钮(未显示)进行切换,也可以基于手持式控制器100的一个
动作切换,或者基于用户作用于触摸板122的上述手势切换。
[0065] 在一些实施例中,可以使用两个手持式控制器100来提高用户执行上述文本输入操作的效率和便利性。例如,文本输入界面430可以包括两个第一虚拟界面432,每个第一虚
拟界面432对应于手持式控制器100。其中一个手持式控制器100可用于基于第一个3×3网
格布局的第一虚拟界面432输入文本,而另一个手持式控制器100可用于基于第二个3×3网
格布局输入文本。或者,其中一个手持式控制器100可用于基于第一虚拟界面432选择一个
或多个字符,而另一个手持式控制器100可用于从第二虚拟界面434中选择一个或多个文本
字符串。
[0066] 图7A和7B是第一虚拟界面432的其他示例性实施例的示意图。第一虚拟界面432可以具有如图7A所示的2‑D圆形键盘438或如图7B所示的圆柱形形状的3D圆形键盘438。
[0067] 如图7A和7B所示,圆形键盘438可具有沿其圆周布置的多个虚拟键438a,并且每个虚拟键438a可表示一个或多个字符。例如,圆形键盘438可以具有分布在圆周周围的选定数
量的虚拟键,其中每个虚拟键438a表示一种语言的字母表,例如,英语或俄语中从A到Z的拉
丁字母,或非字母语言的字母或词根,如汉语或日语。或者,圆形键盘438可以具有预定数量
的虚拟键438a,每个虚拟键438a代表不同的字符或字符的不同组合,例如字母、数字、符号
或符号。每个虚拟键438a中的字符的类型和/或数量可以基于设计选择和/或人为因素来预
先确定。
[0068] 如图7A和7B所示,圆形键盘438还可以包括用于选择虚拟键438a的指针440。例如,当指针440重叠和/或突出显示所需的虚拟键时,可以选择所需的虚拟键。当接收到与触摸
板122检测到的点击、滑动或敲击等手势对应的电子指令时,文本输入处理器300可以选择
由所需虚拟键表示的一个或多个字符。如图7A所示,可见部分可以在指针440附近显示一个
或多个虚拟键。将圆形键盘438的一部分不可见,可以节省文本输入界面430在虚拟环境400
中占据的空间,和/或可以允许圆形键盘438的具有更多数量的虚拟键438a,同时提供用于
用户进行字符选择的简单设计。
[0069] 基于作用于在手持式控制器100的触摸板122上的一个或多个手势,可以从圆形键盘438中选择字符。例如,文本输入处理器300可以接收与施加在触摸板122上的圆周运动相
对应的电子指令。圆周运动可以是部分圆周运动。手持式控制器100的电子电路可将检测到
的圆周或部分圆周运动转换为包含运动方向和移动距离信息的电子信号。文本输入界面生
成器310可以基于触摸板122检测到的圆周运动的方向,以顺时针方向或逆时针方向旋转圆
形键盘438。圆形键盘438旋转过程中所经过的虚拟键的数量,取决于圆周运动的移动距离。
因此,圆形键盘438可以根据需要旋转,直到指针440重叠或选择了虚拟键438a,该虚拟键
438a表示要选择的一个或多个字符。当文本输入处理器300接收到与由触摸板122检测到的
点击、滑动或轻击手势相对应的电子指令时,可以从所选的虚拟键中选择一个或多个字符
添加到候选文本字符串中。
[0070] 两个圆形键盘438,可以用来提高用户执行文本输入操作的效率和便利性,其中,该两个圆形键盘438中的每个圆形键盘438对应一个手持式控制器100。在一些实施例中,如
图7A所示,左圆形键盘438和左手持式控制器100可用于选择从a到M的字母,而右圆形键盘
438和右手持式控制器10可用于选择从N到Z的字母。在其他实施例中,左圆形键盘438和左
手持式控制器100可用于选择拉丁字母,而右圆形键盘438和右手持式控制器10可用于选择
数字、符号或符号。在其他实施例中,可使用左圆形键盘438和左手持式控制器100来选择字
符,而右圆形键盘438和右手持式控制器10可用于选择第二虚拟界面434中显示的候选文本
字符串,以输入到文本字段410。
[0071] 图8是一个状态图,说明了文本输入处理器300根据图7A和7B所示的第一虚拟界面432而执行的文本输入操作。
[0072] 如图8所示,文本输入处理器300可以具有多个操作状态,该多个操作状态对应于具有圆形键盘438布局的第一虚拟界面432。文本输入处理器300的字符选择模式中的两个
操作状态可以表示为状态R1和状态R2,其中,第一虚拟界面432被激活,并响应从手持式控制
器100接收的电子指令。在状态R1中,指针440与圆形键盘438的第一虚拟键重叠,而在状态R2
中,指针440与圆形键盘438的第二虚拟键重叠。文本输入处理器300可以基于与触摸板122
检测到的圆形的手势(如上述图7A和7B所示)相对应的电子指令在状态R1和状态R2之间切
换。
[0073] 与图5和6类似,状态X(如图8所示)表示文本输入处理器300的字符串选择模式,其中,第二虚拟界面434被激活并响应从手持式控制器100接收的电子指令。参照上述图5和6
所述,文本输入处理器300可以从字符选择模式中的状态R1和R2中的任何一个状态切换到状
态X或者基于与由触摸板122检测到的第三滑动手势(由C1表示)相对应的电子指令的字符
串选择模式。当文本输入处理器300处于状态X或在字符串选择模式下运行时,在文本字段
410中选择一个或多个文本字符串时,可以执行类似于上面描述的在状态X中的操作。
[0074] 图1中的系统10可以用于虚拟环境中的各种文本输入方法。根据本公开的实施例,图9是用于虚拟环境中文本输入的方法500的一种实施例的流程图。方法500可以应用于上
述图1‑8所示的系统10和系统10的特征。在某些实施例中,方法500可由系统10执行。在其他
实施例中,方法500可由包括系统10的虚拟现实系统执行。
[0075] 如图9所示,在步骤512中,图1的文本输入处理器300可以从图1的检测系统200接收到图1中至少一个手持式控制器100的空间位置。例如,文本输入处理器300的数据通信模
块320可以从检测系统200的通信装置240接收空间位置。如前所述,检测系统200的计算装
置230可以基于由图像传感器210A和210B采集的一个或多个图像和/或手持式控制器
IMU130获取的运动数据来确定和/或跟踪一个或多个手持式控制器100的空间位置。该运动
数据可以由手持式控制器100的通信接口140发送,并由检测系统200的通信装置240接收。
[0076] 在步骤514中,文本输入处理器300可以基于接收到的手持式控制器100的空间位置和/或运动,在图4所示的虚拟环境400中的坐标处生成指示符420。在步骤516中,文本输
入处理器300确定指示符420是否与虚拟环境400中的文本字段410或虚拟按钮重叠。例如,
文本输入处理器300可将虚拟环境400中的指示符420的坐标与文本字段410的坐标进行比
较,并确定指示符420是否落入文本字段410的区域内。如果指示符420不与文本字段410重
叠,则文本输入处理器300可以返回到步骤512。
[0077] 在某些实施例中,当指示符420与文本字段410重叠时,文本输入处理器300可以继续执行步骤517并进入待机模式,准备在文本字段410中执行输入文本的操作。在步骤518
中,文本输入处理器300确定是否通过数据通信模块320接收到触控指令,例如与手持式控
制器100的触摸板122检测到的敲击、滑动或点击手势对应的电子信号。如果文本输入处理
器300未接收到触发指令,则文本输入处理器300可以停留在待机模式中等待触发指令或返
回到步骤512。在步骤520中,当文本输入处理器300接收到触发指令时,文本输入处理器300
可以进入文本输入模式。在文本输入模式下操作时,在步骤522和524中,文本输入处理器
300可以继续接收进一步的电子指令,并在文本输入模式下执行文本输入操作。电子指令可
以通过手持式控制器100的通信接口140发送,通过数据通信模块320接收。文本输入操作可
以进一步包括如下图10和11中所示的步骤。
[0078] 图10是图9所示的方法500的字符选择模式下的文本输入操作的流程图。如图10所示,在步骤530中,文本输入处理器300可以在虚拟环境400中的文本字段410中生成光标
412。在步骤532中,文本输入处理器300可以在虚拟环境400中生成文本输入界面430。文本
输入界面430可以包括用于文本输入的多个虚拟界面,诸如用于字符选择的第一虚拟界面
432,用于文本字符串选择的第二虚拟界面434以及用于功能键选择的第三虚拟界面436。在
步骤530中可以显示一个或多个虚拟界面。
[0079] 在步骤534中,文本输入处理器300可以基于与由触摸板122检测到的手势和/或手持式控制器100的移动相对应的电子指令来选择字符。电子指令可以由通信接口140发送并
由数据通信模块320接收。在一些实施例中,文本输入处理器300可以基于一系列电子指令
从第一虚拟界面432中选择多个角色。在一些实施例中,可以在选择一个或多个字符之前或
之间激活第三虚拟界面436的一个或多个功能键。
[0080] 当至少一个字符被选择时,文本输入处理器300可以执行步骤536。在步骤536中,文本输入处理器300可以在步骤534中基于所选择的一个或多个字符,在第二虚拟界面434
中显示一个或多个候选文本字符串。在一些实施例中,文本输入处理器300可以在步骤534
中基于所选择的一个或多个字符来更新已经在第二虚拟界面434中显示的候选文本字符
串。在接收到与退格操作对应的电子指令时,在步骤538中,文本输入处理器300可以在第二
虚拟界面434中显示的候选文本字符串中删除字符。文本输入处理器300可以根据手持式控
制器100发送的电子指令重复或省略步骤538。
[0081] 在步骤540中,文本输入处理器300可以确定是否接收到与作用于触摸板122的用于切换第一虚拟界面432的当前布局的手势对应的电子指令。如果未接收到,则文本输入处
理器300可以返回到步骤534以继续选择一个或多个字符。如果接收到与第一滑动手势对应
的电子指令,则在步骤542中,文本输入处理器300可以将第一虚拟界面432的当前布局(诸
如3×3网格布局)切换为先前的布局。或者,如果接收到与第二滑动手势相对应的电子指
令,则文本输入处理器300可以将第一虚拟界面432的当前布局切换为随后的布局。第一滑
动手势的方向与第二滑动手势的方向相反。例如,第一滑动手势的方向可以从右向左水平
滑动,而第二滑动手势的方向可以从左向右水平滑动,反之亦然。
[0082] 图11是图9所述的方法500在字符串选择模式下的文本输入操作的流程图。如图11所示,在步骤550中,文本输入处理器300可以确定是否接收到与触摸板122上的手势相对应
的电子指令和/或手持式控制器100的移动,该移动用于将字符选择模式切换到串选择模
式。在步骤552中,在接收到与由触摸板122检测到的第三滑动手势相对应的电子指令时,文
本输入处理器300可以确定在第二虚拟界面434中是否显示一个或多个候选文本字符串。如
果显示一个或多个候选文本字符串,文本输入处理器300可执行步骤554,并进入字符串选
择模式,其中第二虚拟界面434被激活,并响应从手持式控制器100接收的电子指令,以用于
文本字符串选择。
[0083] 在步骤556中,文本输入处理器300可基于与触摸板122检测到的手势和/或手持式控制器100的移动相对应的电子指令,从第二虚拟界面434中的候选文本字符串中选择文本
字符串。电子指令可以由通信接口140发送并由数据通信模块320接收。如上所述,触摸板
122可以具有一个或多个感测区域,并且每个感测区域可以被分配与在第二虚拟界面434中
显示的候选文本字符串相对应的编号。在一些实施例中,文本输入处理器300可以在步骤
556中选择多个文本字符串。
[0084] 在步骤558中,文本输入处理器300可以在虚拟环境400中的文本字段410中显示选择的一个或多个文本字符串。文本字符串可以在文本字段410中的光标412之前显示,使得
光标412随着文本字符串的增加而移动到文本字段410的末尾。在一些实施例中,在步骤560
中,从第二虚拟界面434中的候选文本字符串中删除所选文本字符串。在步骤562中,文本输
入处理器300可以确定在第二虚拟界面434中是否存在至少一个候选文本字符串。如果存在
候选文本字符串,文本输入处理器300可以继续执行步骤564,以更新剩余候选文本字符串
和/或它们的编号。在更新之后,文本输入处理器300可以返回执行步骤556,以选择更多的
文本字符串以输入到文本字段410。或者,文本输入处理器300可基于由控制按钮生成的电
子指令或从手持式控制器100接收的滑动手势切换回字符选择模式。如果不存在候选文本
字符串,则文本输入处理器300可以继续执行步骤566,其中,文本输入处理器300可以关闭
第二虚拟界面434。在步骤566之后,文本输入处理器300可以返回到字符选择模式或退出文
本输入模式。
[0085] 如本文所述,图9‑11所示的方法500各个步骤,可在图4‑8的各个实施例中执行。方法500的一些步骤可以省略或重复,也可以同时执行。
[0086] 本公开中的部分或全部方法可以由专用集成电路(ASIC),现场可编程门阵列(FPGA),复杂可编程逻辑器件(CPLD),印刷电路板(PCB),数字信号处理器(DSP),可编程逻
辑组件和可编程互连,单个中央处理单元(CPU)芯片,组合在主板上的CPU芯片,通用计算机
或能够在本文公开的虚拟环境中提供文本输入的设备或模块的任何其他组合执行。
[0087] 上述描述是为了说明而提出的。这不是穷尽的,并且不限于所公开的精确形式或实施例。考虑到所公开的实施例的说明和实践,实施例的修改和改变将变得显而易见。例
如,所描述的实施方式包括硬件和软件,但是与本公开一致的系统和方法单独作为硬件或
软件来实现。另外,虽然某些部件已经被描述为彼此耦合或可操作地连接,但是这些部件可
以彼此集成或以任何合适的方式分布。
[0088] 此外,虽然这里已经描述了说明性实施例,但该范围包括任何和所有实施例,其具有基于本公开的等效元件、修改、省略、组合(例如,在各个实施例中的方面)、改编和/或改
变。权利要求中的要素将基于权利要求中使用的语言进行广泛地解释,而不限于本说明书
中描述的或在本申请的起诉期间描述的示例,这些示例被解释为非排他性的。此外,所公开
的方法的步骤可以以任何方式进行修改,包括重新排序步骤和/或插入或删除步骤。
[0089] 由计算机可读介质存储的指令或操作步骤可以是计算机程序,程序模块或代码的形式。如本文所述,基于本说明书的书面描述的计算机程序、程序模块和代码(诸如由控制
器使用的)很容易在软件开发人员的权限范围内。可以使用各种编程技术来创建计算机程
序、程序模块或代码。例如,它们可以通过Java,C,C++,汇编语言或任何此类编程语言进行
设计。一个或多个这样的程序、模块或代码可以被集成到设备系统或现有的通信软件中。程
序、模块或代码也可以作为固件或电路逻辑来实现或被复制。
[0090] 根据上述详细说明书,本公开的特征和优点是显而易见的,因此,所附权利要求旨在涵盖落入本公开的真实精神和范围内的所有系统和方法。如本文所使用的不定冠词“一”
和“一个”表示“一个或多个”。类似地,复数术语的使用不一定表示复数,除非在给定的上下
文中是明确的。除非特别指出,否则诸如“和”或“或”的词意味着“和/或”。此外,由于通过研
究本公开内容可以使得本公开的内容发生许多修改和变化,因此,不希望将本公开限制为
所图示和描述的确切构造和操作,因此在所公开的范围内,可以采取所有合适的修改和替
换方案。
[0091] 在一些方面,与公开的实施例一致的方法可以排除所公开的方法步骤,或者可以改变所公开的方法步骤的顺序或公开的方法步骤之间的分离程度。例如,方法步骤可以根
据需要被省略、重复或组合,以实现相同或相似的目标。在各个方面,非临时性计算机可读
介质可以存储用于执行与所公开的实施例一致的方法的指令,所述方法排除所公开的方法
步骤,或者改变所公开的方法步骤的顺序或所公开的方法步骤之间的分离程度。例如,非暂
时性计算机可读介质可以存储用于执行与所公开的实施例一致的方法的指令,该方法根据
需要省略、重复或组合用于实现相同或类似目标的方法步骤。在某些方面,系统不一定包括
每个公开的部分,并且可以包括其他未公开的部分。例如,系统可以根据需要省略、重复或
组合以实现相同或类似的目标。
[0092] 考虑到本文公开的实施例的说明和实践,其他实施例将变得显而易见。目的是仅将说明书和实例视为示例,所公开的实施例的真实范围和精神由以下权利要求指示。