用于虚拟环境中文本输入的电子系统和方法转让专利
申请号 : CN201780005510.X
文献号 : CN108700957B
文献日 : 2021-11-05
发明人 : 卢智雄 , 戴景文 , 贺杰
申请人 : 广东虚拟现实科技有限公司
摘要 :
权利要求 :
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.一种用于虚拟环境中文本输入的方法,包括:确定至少一个手持式控制器的空间位置;
基于所述至少一个手持式控制器的空间位置和/或运动,在所述虚拟环境中的坐标处生成指示符;
进入准备执行文本输入操作的待机模式;
在接收到来自所述至少一个手持式控制器的触发指令时,从所述待机模式进入文本输入模式;
在所述文本字段中生成光标,并在所述虚拟环境中生成文本输入界面,其中,所述文本输入界面包括第一虚拟界面和第二虚拟界面,所述第一虚拟界面包括虚拟键盘,所述虚拟键盘包括多个虚拟键,每个虚拟键表示一个或多个字符,所述第一虚拟界面对应有多个操作状态,每个所述操作状态对应于所述虚拟键盘的不同布局;
基于触摸板检测到的水平滑动手势,控制所述第一虚拟界面在不同的操作状态下切换;
在字符选择模式下,基于所述触摸板检测到的字符选择手势,基于当前所述操作状态对应的虚拟键盘的布局,在所述第一虚拟界面中选择该字符选择手势对应的字符,并控制所述第二虚拟界面基于用户从第一虚拟界面选择的字符来显示一个或多个候选文本字符串;
当基于触摸板检测到的垂直滑动手势时,确定所述第二虚拟界面内是否显示有文本字符串;
若显示有文本字符串,则切换到字符串选择模式,基于用户对所述第二虚拟界面的操作,由一个或多个候选文本字符串中确定用户选择的文本字符串;
若未显示有文本字符串,则保持处于字符选择模式。
说明书 :
用于虚拟环境中文本输入的电子系统和方法
技术领域
背景技术
备向用户展示。例如,该电子设备可以是头戴式显示器、可穿戴耳机或透视式头盔显示器。
或者,电子设备还可以是投影仪,能够将虚拟环境投射到房间的墙壁上或在一个或多个屏
幕上以创建沉浸式体验。电子设备还可以是个人计算机。
统方法不适用于在虚拟环境中输入文本数据。这是因为沉浸在虚拟现实环境中的用户通常
看不到自己的双手,而此时,用户的双手可能同时持有控制器,以便与虚拟环境中的对象进
行交互。使用键盘或鼠标输入文本数据的方式,可能需要用户离开虚拟环境或释放控制器。
因此,需要一种方法和系统,其允许在虚拟环境中进行简单且直观的文本输入,而不损害用
户的并行沉浸式体验。
发明内容
或手持式控制器的运动,在虚拟环境中的合适位置处输入文本。本示例性实施例的文本输
入处理器能够生成虚拟文本输入界面,从而允许用户通过虚拟文本输入界面进行交互从而
输入文本,进而提供简单而直观的虚拟环境中的文本输入方法,并能够改善用户体验。
运动的检测系统以及用于执行操作的文本输入处理器。所述至少一个手持式控制器包括光
源、用于检测一个或多个手势的触摸板以及用于生成与所述手势对应的电子指令的电子电
路。检测系统包括至少一个图像传感器及计算装置,该图像传感器用于获取至少一个手持
式控制器的一个或多个图像,计算装置能够基于获取的图像确定该手持式控制器的空间位
置。则前述操作包括:从检测系统接收至少一个手持式控制器的空间位置和/或运动,例如
旋转;基于至少一个手持式控制器的空间位置和/或运动,在虚拟环境中的坐标处生成指示
符;当所述指示符与所述虚拟环境中的文本字段重叠并且在接收到来自所述至少一个手持
式控制器的触发指令时,进入文本输入模式;接收来自至少一个手持式控制器的电子指令;
以及在文本输入模式中基于所接收的电子指令执行文本输入操作。
一个所述手持式控制器包括光源、用于检测一个或多个手势的触摸板以及用于生成对应于
所述手势的一个或多个电子指令的电子电路。该方法还包括由至少一个处理器基于所接收
的至少一个手持式控制器的空间位置和/或移动来在虚拟环境中的坐标处生成指示符;当
所述指示符与所述虚拟环境中的文本字段或虚拟按钮(未示出)重叠,并且接收到来自所述
至少一个手持式控制器的触发指令时,由所述至少一个处理器输入文本输入模式;由所述
至少一个处理器从所述至少一个手持式控制器接收所述电子指令;以及,由至少一个处理
器基于在文本输入模式中接收到的电子指令来执行文本输入操作。
控制器包括光源,用于检测一个或多个手势的触摸板以及用于基于手势生成一个或多个电
子指令的电子电路。该方法还包括基于至少一个手持式控制器的空间位置和/或运动,在虚
拟环境中的坐标处生成指示符;进入准备执行文本输入操作的待机模式;在接收到来自所
述至少一个手持式控制器的触发指令时,从待机模式进入文本输入模式;接收来自至少一
个手持式控制器的电子指令;在文本输入模式下,基于所接收的电子指令执行文本输入操
作。
组件或步骤。因此,下面的详细描述仅被解释为说明性的,并且用于教导本领域技术人员实
施本公开的一般方式。应该理解的是,这里公开的各种实施例将被视为是示例性的。一些元
件和结构,以及这些元件和结构的排列,可以代替这里所示以及所公开的元件和结构,对象
和步骤可以颠倒,并且本教导的某些特征可以独立使用,所有这些对于本领域技术人员而
言在得益于本文公开内容后将是显而易见的。
附图说明
具体实施方式
多图中的类似参考数字表示相同或相似的元件。此外,参考一个实施例详细公开的元件及
其相关特征,可以在任何实际情况下被包括在未具体示出或描述的其他实施例中。例如,如
果参照一个实施例详细描述了元件,并且没有参照第二实施例来描述该元件,则该元件仍
然可以被要求包括在第二实施例中。
或透视头戴式显示器等),投影仪或个人计算机之类的合适的电子装置向用户显示。本公开
的实施例可以在VR系统中实现,该系统允许用户使用手持式控制器与虚拟环境交互。
的可见光,例如红色、绿色和/或蓝色,以及红外光,例如近红外光。根据本公开的另一方面,
手持式控制器包括触摸板,该触摸板具有用于检测用户的手势的一个或多个感测区域。手
持式控制器还包括与触摸板相关的电子电路,该电子电路基于由触摸板检测到的手势来生
成文本输入指令。
像。检测系统可以进一步包括计算装置,用于基于所获取的图像来确定空间位置。有利地,
检测系统通过利用来自光源的可见光和/或红外光,允许对手持式控制器进行精确和自动
的识别和跟踪,由此允许通过由用户移动手持式控制器而选择在虚拟环境中的位置处输入
文本。
置为显示用户输入的文本。在此种情况下,基于由触摸板检测到的手势和/或手持式控制器
的移动而产生的电子指令用于执行文本输入操作。有利地,手势和手持式控制器的使用允
许用户通过与虚拟环境的简单和直观的交互,在虚拟环境中所期望的位置处输入文本。
内容,本领域的普通技术人员将认识到,可以选择性地组合或替代地使用本公开中描述的
一个或多个实施例的特征。
制器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进行描述。
多个LED(发光装置)112,以及包围该LED的透明或半透明盖。可见光可以具有不同的颜色,
从而可以利用由光源110发射的可见光的颜色为手持式控制器100编码唯一标识。光源110
的空间位置可以由检测系统200检测和跟踪,并且可以用于确定手持式控制器100的空间位
置。
感测传感器,其用于检测触摸板122上的一个或多个手指的运动或位置,诸如敲击、点击、滚
动、滑动、捏或旋转。在一些实施例中,如图2A所示,触摸板122可以被划分为多个感测区域,
诸如3×3的感测区域网格。每个感测区域可以检测施加在其上的手势或运动。另外或可选
地,触摸板122的一个或多个感测区域可以作为整体来操作,以共同地检测一个或多个手指
的运动或手势。例如,触摸板122可以整体检测手指的旋转或圆形的手势。作为进一步的示
例,触摸板122可以作为整体被按下,从而作为功能按钮来操作。手持式控制器100还可以包
括电子电路(未示出),其将检测到的手势或运动转换为用于文本输入操作的电子信号。下
文将参照图4‑8进一步描述基于由触摸板122检测到的手势或运动的文本输入操作。
绕三个垂直轴的加速度(滚动,俯仰和偏航)。运动数据可用于获得手持式控制器100在给定
时间的位置,速度、取向、旋转和运动方向。手持式控制器100还可以包括通信接口140,该通
信接口140将手持式控制器100的运动数据发送到检测系统200。通信接口140可以是有线或
无线连接模块,例如USB接口模块,蓝牙模块(BT模块)或射频模块(RF模块)(例如,Wi‑Fi
2.4GHz模块)。可以对手持式控制器100的运动数据进一步处理,以确定和/或跟踪手持式控
制器100的空间位置和/或运动(例如横向移动或旋转)。
一个或多个图像传感器,例如,图像传感器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)平面上的空间位置和/或运动。
理装置220可直接从图像采集装置210或通过通信装置240接收所获取的图像。图像处理装
置220可以包括从一组处理器中选择的一个或多个处理器,该组处理器包括例如微控制器
(MCU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、数字
信号处理器(DSP)、ARM处理器等。图像处理设备220可以执行存储在非暂时性计算机可读介
质中的一个或多个图像处理操作。该图像处理操作可以包括去噪、一种或多种类型的滤波、
增强、边缘检测、分割、阈值化及抖动等。计算装置230可以使用经处理的图像来确定光源
110在该经处理的图像和/或所采集的图像中的位置。基于手持式控制器100在图像中的位
置和一个或多个参数,计算装置230可以确定手持式控制器100和/或光源110在3‑D空间或
2‑D平面中的空间位置和/或运动。该一个或多个参数可以包括图像传感器的焦距和/或焦
点以及两个图像传感器之间的距离等。
100的三个垂直轴(滚动,俯仰和偏航)的旋转运动,例如角加速度。计算装置230可根据由
IMU 130获得的运动数据来计算手持式控制器100在给定时间的移动的位置、速度、取向、旋
转和/或方向。因此,计算装置230可以确定手持式控制器100的空间位置、旋转和方位,从而
提高了虚拟环境中用于确定文本输入位置的手持式控制器100的空间位置的准确性。
示,虚拟环境400可以包括用于接收文本输入的一个或多个文本字段410。图1所示的文本输
入处理器300可以基于由计算装置230确定的手持式控制器100的空间位置,在虚拟环境400
的坐标处生成指示符420。指示符420可以具有预设的3‑D或2‑D形状。例如,指示符420可以
具有圆形、球形、多边形或箭头的形状。如本文所述,文本输入处理器300可以是创建或修改
虚拟环境400的VR系统或VR应用程序的一部分。
字段410移动的方向移动,来选择期望文本字段410以输入文本。当指示符420与虚拟环境
400中的期望文本字段410重叠时,图1所示的文本输入处理器300可以进入准备执行操作的
待机模式,以在期望文本字段410中输入文本。另外或替代地,在虚拟环境400中,指示符420
的坐标可以随着手持式控制器100的空间移动(例如旋转)而改变。例如,可以由IMU130检测
用于指示手持式控制器100的三个垂直轴线(滚动,俯仰和偏转)的旋转或角加速度的运动
数据。计算装置230可以使用由IMU 130获得的运动数据来确定手持式控制器100的朝向、旋
转方向和/或角加速度。因此,手持式控制器100的旋转运动能够确定指示符420在虚拟环境
400中的坐标。
空间位置、方位、线性运动和/或旋转的一个或多个测量结果来确定指示符420的对应坐标。
反之,又可以通过虚拟环境400中的指示符420的坐标提高手持式控制器100的空间位置的
表示精度。
拟TAB键)重叠。另外或替代地,可以通过手势来生成触发指令,例如点击、滑动或敲击手势,
其中,该触发指令用于选择文本输入所需的文本字段410。其中,点击、滑动或敲击手势可以
由手持式控制器100的触摸板122检测到。
且在虚拟环境400中生成文本输入界面430。然后,文本输入界面生成器310可以在光标412
之前显示用户输入的文本。在一些实施例中,触发器指令可以通过手势来生成,例如点击、
滑动或敲击手势,该触发器指令用于选择由图2A所示的手持式控制器100的触摸板122检测
的字符,并由文本输入处理器300通过图1所示的数据通信模块320接收。在其他实施例中,
触发指令可以通过手持式控制器100的移动产生,例如手持式控制器100的旋转、跳跃、敲
击、滚动、倾斜、颠簸或其他合适的运动。
离文本字段410时执行进一步操作时,文本输入处理器300可以退出文本输入模式。
显示多个字符,诸如字母、数字和符号。在一个实施例中,如图4所示,第一虚拟界面432是具
有多个虚拟键的3×3网格布局的虚拟键盘。该虚拟键盘的虚拟键可以与从1到9的数字、字
符、标点符号和/或恰当的功能键(例如空格键或回车键)的组合相对应。在这种情况下,第
一虚拟界面432可以引导用户以通过基于虚拟键盘的布局选择数字、字符、标点和/或空格
来生成文本字符串。例如,图2A所示的触摸板122的感测区域可以具有对应的3×3网格布
局,使得由触摸板122的感测区域检测到的用户的手势可以生成用于文本输入处理器300的
电子指令,以在第一虚拟界面432中的相应键中选择一个字符。
键盘的类型或布局的手持式控制器100的各种交互动作生成。在一些实施例中,第一虚拟界
面432可以是光线投射键盘,其中可以模拟一个或多个激光射线,并指向虚拟环境400中的
虚拟键盘中的键。改变手持式控制器100的方向和/或位置可将激光射线引导到具有所需字
符的键。另外或可选地,可以生成一个或多个虚拟鼓槌或其他视觉指示符并指向虚拟环境
400中的虚拟键盘中的键。改变手持式控制器100的方向和/或位置可以指示鼓槌触摸或敲
击具有所需字符的按键。在其他实施例中,第一虚拟界面432可以是在触摸屏或表面上显示
的直接触摸键盘。点击或敲击键盘中的键允许选择由该键表示的所需字符。
串)。第一虚拟界面432和第二虚拟界面434可以不同时显示。例如,当文本输入处理器300处
于待机模式时,在接收到触发指令时,文本输入处理器300可以进入文本输入模式,其中文
本输入界面生成器310在虚拟环境400中生成第一虚拟界面432。文本输入界面生成器310还
可以在虚拟环境400中生成第二虚拟界面434,并且基本上同时在虚拟环境400中显示第二
虚拟界面434和第一虚拟界面432。
之间切换或传统或简化字符之间切换的功能。在第三虚拟界面436中的功能键可以通过移
动指示符420来选择,使得指示符420与所选择的键重叠。在这种情况下,当文本输入处理器
300接收到对应于触摸板122检测到的点击、滑动或敲击手势的电子指令时,可以激活所选
择的键的功能。其他合适的手势可以用于在第三虚拟界面436中选择合适的功能键。例如,
可以通过在手持式控制器100上按下控制按钮(未示出)来生成用于激活第三虚拟界面436
中的功能键的电子指令。
本输入模式可以包括字符选择模式和字符串选择模式,这些将在下文参考图5和图6详细描
述。
在状态a0到an中操作,其中第一虚拟界面432被激活并响应从手持式控制器100接收的电子
指令。图5所示的状态X表示文本输入处理器300的字符串选择模式,其中第二虚拟界面434
被激活并响应从手持式控制器100接收的电子指令。文本输入处理器300可以基于从手持式
控制器100接收的电子指令在这些操作状态之间切换。
如,第一网格布局在状态0时可以显示拉丁字母、其他字母语言的字母或者非字母语言(例
如中文)的字母或字根,第二个网格布局在状态a1时可以显示0到9,并且第三网格布局在状
态a2下可以显示符号和/或符号。在这种情况下,基于来自手持式控制器100的一个或多个
电子指令,可以从第一虚拟界面432的多个网格布局中选择用于文本输入的当前网格布局。
二网格布局。例如,如图5所示,第一滑动手势可以是从左向右或从右向左水平滑动的手势。
文本输入界面生成器310可以基于与触摸板122检测到的第一滑动手势A对应的电子指令,
进一步将状态a1的第二网格布局切换到状态a2的第三网格布局。
中,第二滑动手势A’可以具有与第一滑动手势A相反的方向。例如,第二滑动手势A'可以是
从右向左或从左向右水平滑动的手势。文本输入界面生成器310可以基于与触摸板122检测
到的第二滑动手势A'对应的电子指令,进一步将状态a1的第二网格布局切换回状态a0的第
一网格布局。
区域可以具有对应的3×3网格键盘布局,使得由触摸板122的感测区域检测到的用户的字
符选择手势可以生成用于文本输入处理器300的电子指令,以在第一虚拟界面432中选择相
应键中的一个字符。如图5中B所示,字符选择手势可以是点击或敲击手势。如图5所示,在接
收到与字符选择手势相对应的电子指令时,文本输入界面生成器310可以不改变第一虚拟
界面432的当前网格布局,允许用户从当前布局中继续选择一个或多个字符。
控制器100的电子指令可以基于手持式控制器100的移动而产生。这种移动可以包括手持式
控制器100的旋转、跳跃、敲击、滚动、倾斜、颠簸或其他合适的移动。
一个或多个字符。文本输入界面生成器310可以基于用户选择的字符在第二虚拟界面434中
显示一个或多个候选文本字符串。
动手势相对应的电子指令,文本输入处理器300可以从任何状态a0切换到状态X,其中,第二
虚拟界面434被激活用于文本字符串选择。如图5中所示的C1,第三滑动手势可以是在触摸
板122上从顶部向底部或从底部向顶部垂直滑动的手势。第三滑动手势的方向与第一或第
二滑动手势的方向正交。在一些实施例中,当在第二虚拟界面434中不显示任何文本字符串
时,文本输入处理器300可以不从字符选择模式切换到字符串选择模式。在这种情况下,第
三手势(如图5中所示的C2)和文本输入处理器300保持当前状态并且不切换到状态X,而且
第一虚拟界面432保持在当前网格布局中。
选文本字符串的数量范围为1到n。例如,基于用户选择的字符生成的多个候选文本字符串
被编号,并在第二虚拟界面434中显示。在状态00中,第二虚拟界面434未被示出且被关闭,
或者不显示候选文本字符串。状态X表示文本输入处理器300的字符串选择模式,其中第二
虚拟界面434被激活并响应从手持式控制器100接收的电子指令。文本输入处理器300可以
基于从手持式控制器100接收的电子指令在这些操作状态之间切换。
换到状态Sn等。如上所述,字符选择手势B可以是点击或敲击手势。在这种情况下,文本输入
界面生成器310可以基于用户选择的一个或多个附加字符来更新第二虚拟界面434中的一
个或多个候选文本字符串。另外或可选地,当执行从候选文本字符串中删除字符的操作时
(如图6所示的E),文本输入处理器300可以从状态S1切换到状态00,从状态S2切换到状态S1,
从状态Sn切换到状态Sn‑1,等等。例如,文本输入界面生成器310可以基于与退格操作对应的
电子指令来删除在第二虚拟界面434中显示的每个候选文本字符串中的字符。例如,可以通
过按压手持式控制器100上的按钮或者选择第三虚拟界面436的功能键中的一个来产生与
退格操作对应的电子指令。
434被激活用于文本字符串选择。然而,在状态00中,当在第二虚拟界面434中没有显示文本
字符串时,或者当第二虚拟界面434关闭时,文本输入处理器300不会从状态00切换到状态
X。
子指令可以基于由触摸板122检测到的手势和/或手持式控制器100的运动而生成。该运动
可以包括手持式控制器100的旋转、跳跃、敲击、滚动、倾斜、颠簸或其他类型的直观的运动。
择均可以被分配一个数字,例如,可以是从1到9的数。如图4所示,在第二虚拟界面434中显
示的候选文本字符串也可以被编号。用户可以通过点击或敲击感测区域,或者在被分配相
同数字的触摸板122的感测区域上滑动来选择期望的文本字符串。所选文本字符串可以从
第二虚拟界面434中的候选文本字符串中移除,然后,可以更新剩余候选文本字符串的编
号。当所有候选文本字符串被选择和/或被移除时,文本输入界面生成器310可以关闭第二
虚拟界面434,并且返回到状态00。
个字符添加到候选文本字符串或从候选文本字符串移除。在这种情况下,文本输入界面生
成器310可以将第二虚拟界面434中显示的候选文本字符串和/或候选文本字符串的编号更
新。如图4所示,所选择的一个或多个文本字符串可以在虚拟环境400的文本字段410中,在
光标412之前由文本输入界面生成器310显示或插入。当选择附加字符串时,光标412可以移
动到文本字段410的末尾。
收到与退格操作相对应的电子指令时,文本输入界面生成器310可以删除光标412之前的文
本字段410中的字符,例如,图4所示的文本字符串XYZ中的字符Z。另外或可选地,当接收到
与导航操作相对应的电子指令时,文本输入界面生成器310可以将光标412移动到文本字段
410中输入的字符之间所需的位置,以便进行进一步的插入或删除操作。
动作切换,或者基于用户作用于触摸板122的上述手势切换。
拟界面432对应于手持式控制器100。其中一个手持式控制器100可用于基于第一个3×3网
格布局的第一虚拟界面432输入文本,而另一个手持式控制器100可用于基于第二个3×3网
格布局输入文本。或者,其中一个手持式控制器100可用于基于第一虚拟界面432选择一个
或多个字符,而另一个手持式控制器100可用于从第二虚拟界面434中选择一个或多个文本
字符串。
量的虚拟键,其中每个虚拟键438a表示一种语言的字母表,例如,英语或俄语中从A到Z的拉
丁字母,或非字母语言的字母或词根,如汉语或日语。或者,圆形键盘438可以具有预定数量
的虚拟键438a,每个虚拟键438a代表不同的字符或字符的不同组合,例如字母、数字、符号
或符号。每个虚拟键438a中的字符的类型和/或数量可以基于设计选择和/或人为因素来预
先确定。
板122检测到的点击、滑动或敲击等手势对应的电子指令时,文本输入处理器300可以选择
由所需虚拟键表示的一个或多个字符。如图7A所示,可见部分可以在指针440附近显示一个
或多个虚拟键。将圆形键盘438的一部分不可见,可以节省文本输入界面430在虚拟环境400
中占据的空间,和/或可以允许圆形键盘438的具有更多数量的虚拟键438a,同时提供用于
用户进行字符选择的简单设计。
对应的电子指令。圆周运动可以是部分圆周运动。手持式控制器100的电子电路可将检测到
的圆周或部分圆周运动转换为包含运动方向和移动距离信息的电子信号。文本输入界面生
成器310可以基于触摸板122检测到的圆周运动的方向,以顺时针方向或逆时针方向旋转圆
形键盘438。圆形键盘438旋转过程中所经过的虚拟键的数量,取决于圆周运动的移动距离。
因此,圆形键盘438可以根据需要旋转,直到指针440重叠或选择了虚拟键438a,该虚拟键
438a表示要选择的一个或多个字符。当文本输入处理器300接收到与由触摸板122检测到的
点击、滑动或轻击手势相对应的电子指令时,可以从所选的虚拟键中选择一个或多个字符
添加到候选文本字符串中。
图7A所示,左圆形键盘438和左手持式控制器100可用于选择从a到M的字母,而右圆形键盘
438和右手持式控制器10可用于选择从N到Z的字母。在其他实施例中,左圆形键盘438和左
手持式控制器100可用于选择拉丁字母,而右圆形键盘438和右手持式控制器10可用于选择
数字、符号或符号。在其他实施例中,可使用左圆形键盘438和左手持式控制器100来选择字
符,而右圆形键盘438和右手持式控制器10可用于选择第二虚拟界面434中显示的候选文本
字符串,以输入到文本字段410。
操作状态可以表示为状态R1和状态R2,其中,第一虚拟界面432被激活,并响应从手持式控制
器100接收的电子指令。在状态R1中,指针440与圆形键盘438的第一虚拟键重叠,而在状态R2
中,指针440与圆形键盘438的第二虚拟键重叠。文本输入处理器300可以基于与触摸板122
检测到的圆形的手势(如上述图7A和7B所示)相对应的电子指令在状态R1和状态R2之间切
换。
所述,文本输入处理器300可以从字符选择模式中的状态R1和R2中的任何一个状态切换到状
态X或者基于与由触摸板122检测到的第三滑动手势(由C1表示)相对应的电子指令的字符
串选择模式。当文本输入处理器300处于状态X或在字符串选择模式下运行时,在文本字段
410中选择一个或多个文本字符串时,可以执行类似于上面描述的在状态X中的操作。
述图1‑8所示的系统10和系统10的特征。在某些实施例中,方法500可由系统10执行。在其他
实施例中,方法500可由包括系统10的虚拟现实系统执行。
块320可以从检测系统200的通信装置240接收空间位置。如前所述,检测系统200的计算装
置230可以基于由图像传感器210A和210B采集的一个或多个图像和/或手持式控制器
IMU130获取的运动数据来确定和/或跟踪一个或多个手持式控制器100的空间位置。该运动
数据可以由手持式控制器100的通信接口140发送,并由检测系统200的通信装置240接收。
入处理器300确定指示符420是否与虚拟环境400中的文本字段410或虚拟按钮重叠。例如,
文本输入处理器300可将虚拟环境400中的指示符420的坐标与文本字段410的坐标进行比
较,并确定指示符420是否落入文本字段410的区域内。如果指示符420不与文本字段410重
叠,则文本输入处理器300可以返回到步骤512。
中,文本输入处理器300确定是否通过数据通信模块320接收到触控指令,例如与手持式控
制器100的触摸板122检测到的敲击、滑动或点击手势对应的电子信号。如果文本输入处理
器300未接收到触发指令,则文本输入处理器300可以停留在待机模式中等待触发指令或返
回到步骤512。在步骤520中,当文本输入处理器300接收到触发指令时,文本输入处理器300
可以进入文本输入模式。在文本输入模式下操作时,在步骤522和524中,文本输入处理器
300可以继续接收进一步的电子指令,并在文本输入模式下执行文本输入操作。电子指令可
以通过手持式控制器100的通信接口140发送,通过数据通信模块320接收。文本输入操作可
以进一步包括如下图10和11中所示的步骤。
412。在步骤532中,文本输入处理器300可以在虚拟环境400中生成文本输入界面430。文本
输入界面430可以包括用于文本输入的多个虚拟界面,诸如用于字符选择的第一虚拟界面
432,用于文本字符串选择的第二虚拟界面434以及用于功能键选择的第三虚拟界面436。在
步骤530中可以显示一个或多个虚拟界面。
由数据通信模块320接收。在一些实施例中,文本输入处理器300可以基于一系列电子指令
从第一虚拟界面432中选择多个角色。在一些实施例中,可以在选择一个或多个字符之前或
之间激活第三虚拟界面436的一个或多个功能键。
中显示一个或多个候选文本字符串。在一些实施例中,文本输入处理器300可以在步骤534
中基于所选择的一个或多个字符来更新已经在第二虚拟界面434中显示的候选文本字符
串。在接收到与退格操作对应的电子指令时,在步骤538中,文本输入处理器300可以在第二
虚拟界面434中显示的候选文本字符串中删除字符。文本输入处理器300可以根据手持式控
制器100发送的电子指令重复或省略步骤538。
理器300可以返回到步骤534以继续选择一个或多个字符。如果接收到与第一滑动手势对应
的电子指令,则在步骤542中,文本输入处理器300可以将第一虚拟界面432的当前布局(诸
如3×3网格布局)切换为先前的布局。或者,如果接收到与第二滑动手势相对应的电子指
令,则文本输入处理器300可以将第一虚拟界面432的当前布局切换为随后的布局。第一滑
动手势的方向与第二滑动手势的方向相反。例如,第一滑动手势的方向可以从右向左水平
滑动,而第二滑动手势的方向可以从左向右水平滑动,反之亦然。
的电子指令和/或手持式控制器100的移动,该移动用于将字符选择模式切换到串选择模
式。在步骤552中,在接收到与由触摸板122检测到的第三滑动手势相对应的电子指令时,文
本输入处理器300可以确定在第二虚拟界面434中是否显示一个或多个候选文本字符串。如
果显示一个或多个候选文本字符串,文本输入处理器300可执行步骤554,并进入字符串选
择模式,其中第二虚拟界面434被激活,并响应从手持式控制器100接收的电子指令,以用于
文本字符串选择。
字符串。电子指令可以由通信接口140发送并由数据通信模块320接收。如上所述,触摸板
122可以具有一个或多个感测区域,并且每个感测区域可以被分配与在第二虚拟界面434中
显示的候选文本字符串相对应的编号。在一些实施例中,文本输入处理器300可以在步骤
556中选择多个文本字符串。
光标412随着文本字符串的增加而移动到文本字段410的末尾。在一些实施例中,在步骤560
中,从第二虚拟界面434中的候选文本字符串中删除所选文本字符串。在步骤562中,文本输
入处理器300可以确定在第二虚拟界面434中是否存在至少一个候选文本字符串。如果存在
候选文本字符串,文本输入处理器300可以继续执行步骤564,以更新剩余候选文本字符串
和/或它们的编号。在更新之后,文本输入处理器300可以返回执行步骤556,以选择更多的
文本字符串以输入到文本字段410。或者,文本输入处理器300可基于由控制按钮生成的电
子指令或从手持式控制器100接收的滑动手势切换回字符选择模式。如果不存在候选文本
字符串,则文本输入处理器300可以继续执行步骤566,其中,文本输入处理器300可以关闭
第二虚拟界面434。在步骤566之后,文本输入处理器300可以返回到字符选择模式或退出文
本输入模式。
辑组件和可编程互连,单个中央处理单元(CPU)芯片,组合在主板上的CPU芯片,通用计算机
或能够在本文公开的虚拟环境中提供文本输入的设备或模块的任何其他组合执行。
如,所描述的实施方式包括硬件和软件,但是与本公开一致的系统和方法单独作为硬件或
软件来实现。另外,虽然某些部件已经被描述为彼此耦合或可操作地连接,但是这些部件可
以彼此集成或以任何合适的方式分布。
变。权利要求中的要素将基于权利要求中使用的语言进行广泛地解释,而不限于本说明书
中描述的或在本申请的起诉期间描述的示例,这些示例被解释为非排他性的。此外,所公开
的方法的步骤可以以任何方式进行修改,包括重新排序步骤和/或插入或删除步骤。
器使用的)很容易在软件开发人员的权限范围内。可以使用各种编程技术来创建计算机程
序、程序模块或代码。例如,它们可以通过Java,C,C++,汇编语言或任何此类编程语言进行
设计。一个或多个这样的程序、模块或代码可以被集成到设备系统或现有的通信软件中。程
序、模块或代码也可以作为固件或电路逻辑来实现或被复制。
和“一个”表示“一个或多个”。类似地,复数术语的使用不一定表示复数,除非在给定的上下
文中是明确的。除非特别指出,否则诸如“和”或“或”的词意味着“和/或”。此外,由于通过研
究本公开内容可以使得本公开的内容发生许多修改和变化,因此,不希望将本公开限制为
所图示和描述的确切构造和操作,因此在所公开的范围内,可以采取所有合适的修改和替
换方案。
据需要被省略、重复或组合,以实现相同或相似的目标。在各个方面,非临时性计算机可读
介质可以存储用于执行与所公开的实施例一致的方法的指令,所述方法排除所公开的方法
步骤,或者改变所公开的方法步骤的顺序或所公开的方法步骤之间的分离程度。例如,非暂
时性计算机可读介质可以存储用于执行与所公开的实施例一致的方法的指令,该方法根据
需要省略、重复或组合用于实现相同或类似目标的方法步骤。在某些方面,系统不一定包括
每个公开的部分,并且可以包括其他未公开的部分。例如,系统可以根据需要省略、重复或
组合以实现相同或类似的目标。