CN105224069B - 一种增强现实虚拟键盘输入方法及使用该方法的装置 - Google Patents
一种增强现实虚拟键盘输入方法及使用该方法的装置 Download PDFInfo
- Publication number
- CN105224069B CN105224069B CN201410314179.8A CN201410314179A CN105224069B CN 105224069 B CN105224069 B CN 105224069B CN 201410314179 A CN201410314179 A CN 201410314179A CN 105224069 B CN105224069 B CN 105224069B
- Authority
- CN
- China
- Prior art keywords
- keystroke
- operator
- dummy keyboard
- input
- movement
- 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.)
- Active
Links
Abstract
本发明公开了一种增强现实虚拟键盘输入方法及使用该方法的装置。根据操作者做出定位虚拟键盘的手势动作或预先设置来确定虚拟键盘的摆放位置和摆放角度,通过增强现实技术将虚拟键盘叠加到真实场景中,使虚拟键盘对操作者的动作做出感应。对操作者操作虚拟键盘的手势动作进行分析,分析出输入结果并反馈给操作系统或应用程序。操作方式简单,输入时不用发出任何声音,无需佩戴指环设备,无需集成投影设备,可适应各种输入姿势,无需训练系统。适用于各种需要键盘输入信息的设备,如手机、单片机设备、智能家具、智能电器、电脑,特别适用于智能眼镜这类不便使用键盘和触摸屏输入的可穿戴设备,大大拓展了智能设备使用虚拟键盘输入时的操控性能。
Description
技术领域
本发明涉及虚拟键盘输入技术领域,尤其涉及一种增强现实虚拟键盘输入方法及使用该方法的装置。本发明可以用于使用键盘输入信息的设备,例如移动智能设备,穿戴式智能设备,单片机设备,智能家具,智能电器,个人电脑,中型电脑,大型电脑等。
背景技术
现在的便携式智能设备有两类,一类是适合以触摸屏为输入解决方案的智能设备(例如平板电脑,带有触摸屏的智能手机),另一类是不适合以触摸屏为输入解决方案的智能设备(例如以智能眼镜、智能手表为代表的可穿戴智能设备)。
可穿戴智能设备由于不便通过触摸屏操作,通过语音识别是常见的输入方案,但是在公众场合用语音识别输入会泄露隐私并影响到他人,而且易遭到噪音干扰从而出现识别失误。
还有一种激光投射键盘输入方案,通过智能设备内置的激光投影仪模块将虚拟键盘投射显示出来,通过摄像头可以解读操作者手势,操作者就能通过点击虚拟按键来输入信息。但这种方式需要集成一个微型投影仪到接受装置上,由于激光投影仪模块耗电量很大,因此使用此方案会大大降低续航时间。另外激光投影仪对于操作者的光线环境有很高的要求,过于明亮的环境无法使用,对操作手势也有很高的要求,要求操作者不能在剧烈摇晃的车厢中或运动中使用。
还有一种方式需要在多个手指上套一个环,通过指环监视手指的加速度动作进行输入,但这类设备的指环除了佩戴不舒适外还需要充电。
在一个现有的技术方案中也是通过采集手势,先检测哪根手指是操作者意图进行点击动作的手指,再根据词库辅助猜词。因为操作者操作时手指势必一起动作,所以需要先捕获到各个手指的动作幅度,然后配以实现设定的位移和时间的阀值,经过一定算法来过滤分析出哪根手指是操作者真正意图去点击按键的手指。对于检测到的结果会存入到系统的一块存储区域,直到检测到一个结束输入动作为止。这个结束输入动作一般是大拇指动作,因为通常在键盘输入过程中,大拇指对应的按键是空格键。当结束输入动作被检测到后,意味着一个单词或某种语言的文字组合的输入结束,系统对之前存储区域中的一连串结果进行分析,并用词库来进行辅助猜词。例如,存储区域中的结果是三个手指动作,分别是左手中指敲击动作,左手小拇指敲击动作,左手食指敲击动作,那么可能的结果有如下排列:
EQR;EQT;EQF;EGG;EQV;EQB;
EAR;EAT;EAF;EAG;EAV;EAB;
EZR;EZT;EZF;EZG;EZV;EZB;
DQR;DQT;DQF;DQG;DQV;DQB;
DAR;DAT;DAF;DAG;DAV;DAB;
DZR;DZT;DZF;DZG;DZV;DZB;
CQR;CQT;CQF;CQG;CQV;CQB;
CAR;CAT;CAF;CAG;CAV;CAB;
CZR;CZT;CZE;CZG;CZV;CZB;
将如上排列中每一种组合在词库中查询后,可知常见有意义的单词为EAR,EAT,CAR,CAT四个,操作者需要输出的可能性最大的就是这四个。接下来将会把这四个组合作为结果选项反馈给操作者,由操作者选择最终结果是哪个。系统还可以根据操作者之前输入的词来判断操作者的意图,如果操作者输入的是“DRIVE”,那么可以认为结果是“CAR”的可能性更大。
可以看出这种方案需要词库来辅助,每检测到一个击键动作,都要将该手指对应的所有字符组合在词库中进行检索,会占用大量的系统资源,降低系统响应速度。单词或文字组合的字符数量越大,生成的需要在词库中检索的组合数量将呈现几何级数式的增加。此外,如果操作者不是要输出一个常见单词而是一种特殊缩写,那么词库内也许就无法找到这个词了。即使选项够全面,由于操作者需要在大量结果中进行选择,也会降低输入速度。而如果系统自动根据操作者的上一个输出来判断本次结果,那么不但响应速度会降低,还可能造成结果的不准确;此外每个操作者的按键习惯幅度不同,会导致不同的操作者都需要去适应该方案的默认幅度,例如右手食指从起始位置向显示器移动多远才是数字7,而不是U。
还有一种虚拟键盘技术的专利是通过静态手势信息和手指弯曲度来判断的,但需要操作者进行训练,适应性和鲁棒性也有待进一步提高。
近年来,虚拟现实在各个行业和领域应用得越来越广泛,而同时也暴露出了一些不可忽视的问题。如对现实世界的隔离,与人类感知外部世界的方式有冲突等等。为了克服这些问题,增强现实技术应运而生。它将计算机生成的虚拟物体或关于真实物体的非几何信息叠加到真实世界的场景之上,实现了对真实世界的增强。同时由于用于与真实世界的联系并未被切断,交互方式也就显得更加自然。增强现实是在虚拟现实基础上发展起来的新技术,是通过计算机系统提供的信息增加用户对现实世界感知的技术,并将计算机生成的虚拟物体、场景或系统提示信息叠加到真实场景中,从而实现对现实的“增强”。
本发明的说明书和权利要求书所提到的能够侦测人体动作的模块或设备可以选用体感模块或体感设备来实现本发明的技术方案,但不仅限于体感设备或体感模块。本发明可通过体感设备或体感模块这样的能够侦测人体动作的模块或设备捕获操作者的手势动作信息,并转化为空间位置坐标信息。目前比较先进的体感设备或三维扫描设备都已经使用了三维扫描分析相关技术和3D模型重建技术。已经出现的一种体感设备利用红外摄像头采集所标记的结构光激光散斑(结构光),交由芯片进行计算后得到空间中物体的三维景深数据,传感器生成景深图像流,重建3D模型和再现周围环境。本发明需要的硬件的技术已经出现。
发明内容
针对现有技术存在的上述不足,本发明的目的是提供一种增强现实虚拟键盘输入方法及使用该方法的装置。
为实现上述目的,下面将列出本发明的技术方案,下面所列出的对本发明的技术方案的方法进行描述的那部分仅仅是对本发明方法的内容进行描述,并没有对方法的步骤和顺序进行限定,本发明所采用的技术方案是:
一种增强现实虚拟键盘输入方法,应用于使用键盘输入信息的设备,该方法包括:通过增强现实技术将虚拟键盘叠加到真实场景中;侦测模块侦测和捕获操作者操作虚拟键盘的动作并获得动作数据;通过对侦测模块捕获到的动作数据进行识别和分析,使得虚拟键盘可以对操作者操作键盘的动作做出感应,并分析出操作者意图输入的结果;将分析出的输入结果发送给操作系统或应用程序。
该方法包括:根据侦测模块侦测捕获操作者手势动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘在真实场景中的摆放位置和摆放角度。
该方法包括:通过对侦测模块捕获操作者的手势动作进行识别和分析,识别出该手势动作的类型。
该方法包括:对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型,若动作的类型为定位键盘动作,则根据该手势动作获得对虚拟键盘叠加到真实场景时的摆放位置和摆放角度,并通过增强现实技术将该虚拟键盘叠加到真实场景中或调整虚拟键盘在场景中的摆放位置和摆放角度。
该方法包括:通过增强现实技术将虚拟键盘叠加到真实场景中,侦测模块和分析模块对操作者的动作进行分析,使得该虚拟键盘对操作者操作键盘的动作能做出感应,但对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求,即该虚拟键盘是可见的或隐形的。
该方法包括:对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型,若动作的类型为模拟击键动作,则根据操作者做出该模拟击键动作时手指空间坐标变化识别出操作者意图击键的那根手指,并获得那根手指的击键位置。
该方法包括: 对一次或多次连续的模拟击键的手势动作进行分析,并最终将分析出的候选项提供给操作者选择以便确认输入,该流程采用方案A1或方案A2或方案A3;
方案A1:每当检测到一次模拟击键动作,都将保存模拟击键的数据,该模拟击键的数据至少包括击键位置的数据,直到识别到操作者做出结束输入动作再根据这些模拟击键数据和虚拟键盘的位置来分析这些模拟击键动作可能产生的候选项,即识别到操作者做出结束输入动作后再计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置之间的距离的值,再将该距离的值根据排序规则来求出排序结果;
方案A2:每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果;
方案A3:在每一次模拟击键动作完成后,根据本次模拟击键动作求得的以上提到的距离值和之前的那些模拟击键动作求出的以上提到的距离的值根据排序规则进行分析,并更新候选项以便操作者可以选择确认输入,如果操作者不选择这些候选项来确认输入,而是继续做出模拟击键动作,则重复执行本方案,直到操作者选择了候选项确认输入才结束输入,本方案的流程中没有侦测、分析和判断操作者是否做出了结束输入动作的步骤。
该方法包括:为了避免在模拟击键过程中因手指触摸不到虚拟键盘上键的位置而导致对模拟击键动作无法做出响应,采取方案B1或方案B2来应对;
方案B1:
在操作者做出模拟击键动作的过程中,根据意图击键的那根手指做出击键动作时的击键位置来调整虚拟键盘的位置,使得虚拟键盘自动贴合到该击键位置上;或调整虚拟键盘的位置使得虚拟键盘放置在手指下方的位置,以便在做出模拟击键动作时做出模拟击键动作的那根手指指尖可以敲击到虚拟键盘的位置;
模拟击键位置和键盘在同一个平面上,操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置的距离是指在二维空间中的距离;
方案B2:
在操作者做出模拟击键动作的过程中,虚拟键盘的位置不做调整,所以模拟击键位置和键盘不在同一个平面上,操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置的距离是指在三维空间中的距离。
对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型,若该动作的类型为结束输入动作,则对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项提供给操作者以便确认输入。
该方法包括:对模拟击键动作进行分析以便确认排序结果时,对是否结合输入法进行分析不做要求。
该方法包括:根据排序规则和做出结束输入动作前的每一次模拟击键操作中虚拟键盘上的一个或多个符合某种规则的键和操作者本次模拟击键位置之间的距离来求出排序结果,该排序规则体现了概率与该距离的关系。
一种使用增强现实虚拟键盘输入方法的装置,该装置包括:侦测模块、分析模块、增强现实输出模块,其中,
侦测模块:侦测和捕获操作者操作虚拟键盘的动作并获得动作数据,将捕获到的数据发送给分析模块;
分析模块:分析模块对侦测模块发送来的操作者的动作数据进行识别和分析,使得通过增强现实技术叠加到真实场景中的虚拟键盘能对操作者操作键盘的动作做出感应,并分析出操作者意图输入的结果;将分析出的输入结果发送给操作系统或应用程序;
增强现实输出模块:若采用虚拟键盘是可见的方案,通过增强现实技术将虚拟键盘叠加到真实场景中,通过增强现实输出模块的输出让操作者通过视觉感知到该虚拟键盘的存在,通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项;若采用虚拟键盘是隐形的方案,通过增强现实技术将虚拟键盘叠加到真实场景中,无需让操作者通过视觉感知到该虚拟键盘的存在,通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项。
所述装置的分析模块根据侦测模块侦测捕获操作者手势动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘在真实场景中的摆放位置和摆放角度。
所述装置的分析模块对侦测模块发送来的数据进行识别和分析,识别出该手势动作的类型。
所述装置的分析模块对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型,若该动作的类型为定位键盘动作,则分析模块根据该手势动作获得对虚拟键盘叠加到真实场景时的摆放位置和摆放角度,并通过增强现实技术将该虚拟键盘叠加到真实场景中或调整虚拟键盘在场景中的摆放位置和摆放角度。
所述装置的通过增强现实技术将虚拟键盘叠加到真实场景中,侦测模块和分析模块对操作者的动作进行分析,使得该虚拟键盘对操作者操作键盘的动作能做出感应,但对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求,即该虚拟键盘是可见的或隐形的。
所述装置的分析模块对侦测模块发送来的数据进行识别和分析,若该动作的类型为模拟击键动作,则根据操作者做出该模拟击键动作时手指空间坐标变化识别出操作者意图击键的那根手指,并获得那根手指的击键位置。
所述装置的分析模块对一次或多次连续的模拟击键的手势动作进行分析,并最终将分析出的候选项提供给操作者选择以便确认输入,该流程采用方案C1或方案C2或方案C3;
方案C1:每当检测到一次模拟击键动作,都将保存模拟击键的数据,该模拟击键的数据至少包括击键位置的数据,直到识别到操作者做出结束输入动作再根据这些模拟击键数据和虚拟键盘的位置来分析这些模拟击键动作可能产生的候选项,即识别到操作者做出结束输入动作后再计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置之间的距离的值,再将该距离的值根据排序规则来求出排序结果;
方案C2:每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果;
方案C3:在每一次模拟击键动作完成后,根据本次模拟击键动作求得的以上提到的距离值和之前的那些模拟击键动作求出的以上提到的距离的值根据排序规则进行分析,并更新候选项以便操作者可以选择确认输入,如果操作者不选择这些候选项来确认输入,而是继续做出模拟击键动作,则重复执行本方案,直到操作者选择了候选项确认输入才结束输入,本方案的流程中没有侦测、分析和判断操作者是否做出了结束输入动作的步骤。
所述装置为了避免在模拟击键过程中因手指触摸不到虚拟键盘上键的位置而导致对模拟击键动作无法做出响应,采取方案D1或方案D2来应对;
方案D1:
在操作者做出模拟击键动作的过程中,根据意图击键的那根手指做出击键动作时的击键位置来调整虚拟键盘的位置,使得虚拟键盘自动贴合到该击键位置上;或调整虚拟键盘的位置使得虚拟键盘放置在手指下方的位置,以便在做出模拟击键动作时做出模拟击键动作的那根手指指尖可以敲击到虚拟键盘的位置;
模拟击键位置和键盘在同一个平面上,操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置的距离是指在二维空间中的距离;
方案D2:
在操作者做出模拟击键动作的过程中,虚拟键盘的位置不做调整,所以模拟击键位置和键盘不在同一个平面上,操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置的距离是指在三维空间中的距离。
所述装置的分析模块对侦测模块发送来的数据进行识别和分析,从而识别出动作的类型,若该动作的类型为结束输入动作,则分析模块对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项提供给操作者以便确认输入。
所述装置的分析模块对模拟击键动作进行分析以便确认排序结果的过程中,对是否结合输入法进行分析不做要求。
所述装置的分析模块根据排序规则和做出结束输入动作前的每一次模拟击键操作中虚拟键盘上的一个或多个符合某种规则的键和操作者本次模拟击键位置之间的距离来求出排序结果,该排序规则体现了概率与该距离的关系。
所述装置的分析模块可以由本地的硬件来担任,也可以由远程主机上的硬件来担任。
本发明的有益效果是:本发明公开的一种增强现实虚拟键盘输入方法及使用该方法的装置适用于各种需要键盘输入信息的设备,如手机、单片机设备、智能家具、智能电器、电脑,特别适用于智能眼镜这类不便使用键盘和触摸屏输入的可穿戴设备。使用本发明的方法进行输入时,设备不用发出任何声音,无需佩戴指环设备,无需集成投影设备。
根据该手势动作获得对虚拟键盘叠加到真实场景时的摆放位置和摆放角度,或预先设置的参数来迅速获得和调整虚拟键盘的摆放位置和摆放角度,并通过增强现实技术将该虚拟键盘叠加到真实场景中或调整虚拟键盘在场景中的摆放位置和摆放角度
可以实现手指用悬空模拟击键的方式输入,可以适应操作者的各种输入姿势,无需操作者去训练该系统和设备。本发明的解决方案不仅操作方式简单,而且有较高的鲁棒性和适应性,将大大拓展智能设备使用虚拟键盘输入时的操控性能。
附图说明
图1是本发明一种增强现实虚拟键盘输入方法的实施例1的流程图;
图2是本发明一种增强现实虚拟键盘输入方法的实施例2的流程图;
图3是本发明一种增强现实虚拟键盘输入方法的实施例3的流程图;
图4是本发明一种增强现实虚拟键盘输入方法的实施例4的流程图;
图5是本发明一种使用增强现实虚拟键盘输入方法的装置结构示意图,同时也是实施例1、实施例2、实施例3、实施例4的装置结构示意图。
具体实施方式
为了本发明实施例的技术方案和优点更加清楚明白,下面结合附图和实施例对本发明作进一步详细说明。附图及以下实施例仅用于解释本发明的技术方案,并不作为对本发明的权利要求范围的限定。
本发明公开了一种增强现实虚拟键盘输入方法及使用该方法的装置
本发明说明书的实施例所提到的虚拟键盘以标准104键盘为例,为了简化说明书,只考虑字母键,忽略非字母键。本发明说明书的实施例仅针对英文的输入方法来举例,但本发明可作为适用于任何语言的输入方法。本发明的实施方法或使用本发明方法的装置在对模拟击键动作进行分析输入的命令或文字组合时,对是否结合输入法来分析没有要求。
实施例1:
如图1所示,为本发明实施例1的流程图。
具体的,每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果;
该流程图包括:
步骤101激活输入框或打开程序,等待输入。
具体地,激活输入框是程序已经打开的情况下重新激活输入框进入输入状态,或打开程序后自动激活输入框而进入输入状态。也可以采用其它进入输入状态的方式。
步骤102分析模块根据侦测模块捕获的定位键盘动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘的摆放位置和摆放角度。
具体地,在操作者对虚拟键盘做出模拟击键的输入动作前,需要确定虚拟键盘在场景空间中的摆放位置和摆放角度,一旦虚拟键盘的摆放位置和摆放角度确定了,那么虚拟键盘被叠加到空间中后,虚拟键盘上各个键中心的空间坐标也就可以确定了。
以下3种情况需要通过定位键盘动作来确定虚拟键盘摆放位置和摆放角度。
(1)当操作者是第一次准备对虚拟键盘做出模拟击键动作输入时。
(2)当操作者已经有一段时间没有操作,准备重新对虚拟键盘做出模拟击键动作输入时。
(3)在输入过程中,当操作者准备调整虚拟键盘在场景中的位置,即通过定位键盘动作重新调整该虚拟键盘的摆放位置和摆放角度。
可以使用以下的方案E或方案F来实现定位键盘。
若采用的方案E(包括子方案E1和E2)来定位键盘,则手势动作类型中有定位键盘动作的类型。装置的分析模块对侦测模块发送来的数据进行识别和分析,识别出该手势动作的类型。手势动作类型有:定位键盘动作、模拟击键动作、结束输入动作。
若采用方案F来定位键盘,则手势动作类型中无需定位键盘动作的类型。装置的分析模块对侦测模块发送来的数据进行识别和分析,识别出该手势动作的类型。手势动作类型有:模拟击键动作、结束输入动作。
方案E:侦测模块捕获操作者的手势动作的数据信息并发送给分析模块,分析模块对侦测模块捕获并发送来的数据进行识别和分析,分析判断操作者是否做出了定位键盘动作。若分析模块识别出操作者做出的动作类型为定位键盘动作,则侦测模块和分析模块根据该定位键盘动作来确定虚拟键盘的摆放位置和摆放角度。
具体操作时,操作者将双手的手指伸出做出将手放在一个假想的键盘上的姿势,保持该手势超过一个时间阀值,在本实施例中时间阀值取1秒钟,装置检测到该姿势保持超过阀值1秒后就开始分析并确定虚拟键盘的摆放位置和摆放角度,分析模块对侦测模块捕获并发送来的数据进行识别和分析,识别出左手食指和右手食指的空间坐标。根据键指对应关系,左手食指指尖的空间坐标就是虚拟键盘F键位置的空间坐标,右手食指指尖的空间坐标就是虚拟键盘J键位置的空间坐标。根据这2个键的空间坐标就可以确定虚拟键盘的摆放角度和摆放位置。
但需注意的是,在多次做出定位虚拟键盘的动作中,做出确定虚拟键盘的摆放位置和摆放角度的手势时左手食指和右手食指的距离并不总是相同的,有时大些,有时小些。那么对一个确定大小和确定键位关系的标准104键的虚拟键盘来说,并不是每次都可以实现左手食指和右手食指指尖的距离等于该虚拟键盘上F键和J键的距离。 也就是说,并不是每次的该定位键盘的动作,都可以把左手食指放在虚拟键盘的F键上同时把右手食指放在虚拟键盘的J键上。
本方案可采用以下子方案E1和E2来解决以上问题:
方案E1:将该虚拟键盘拆分成2个单独的虚拟键盘,分别由左手控制和右手控制,根据键指关系,左手手指对应的所有键组成摆放在左边的虚拟键盘,右手手指对应的所有键组成摆放在右边的虚拟键盘。摆放虚拟键盘的时候,2个虚拟键盘由104键键盘断开成左虚拟键盘和右虚拟键盘,2个虚拟键盘之间的距离根据2只手食指的位置来调整。调整距离使得左手手指在左键盘的F键上,右手手指在右键盘的J键上。使用本方案可实现虚拟键盘大小是固定的。
方案E2: 调整虚拟键盘的大小比例、虚拟键盘摆放位置和摆放角度,使得虚拟键盘上F键在操作者左手食指指尖空间坐标位置上和J键在操作者右手食指指尖空间坐标位置上。
方案F:虚拟键盘的摆放位置和摆放角度是预先设置好的,只需要读取该设置方案的配置信息或读取默认设置即可,操作者可以更改设置。
步骤103通过增强现实技术将虚拟键盘叠加到真实场景中,对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求。
具体地,由于已经获得了虚拟键盘的摆放角度和摆放位置,本步骤通过增强现实技术将虚拟键盘叠加到真实场景中。
通常概念中所指的增强现实技术通常是将虚拟对象通过显示器显示、投影仪投影、激光投影、投影到操作者的视网膜上等方式让操作者通过视觉感知到虚拟对象的存在,并且操作者可以与该虚拟对象交互的技术。本发明提到的增强现实技术即可以指通常概念上的增强现实技术,也可以指:不让操作者通过视觉感知到虚拟物体对象的存在,但通过感应操作者的动作来实现操作者对隐形虚拟对象交互的技术。
即本发明提到的增强现实的技术中,被操作的虚拟对象对操作者来说可以是可见的,也可以是隐形的。但无论该虚拟对象隐形与否,操作者都可以通过触摸、敲击动作等手势来操控该虚拟对象。
在本步骤中,侦测模块和分析模块对操作者的动作进行分析,使得该增强现实中的虚拟键盘对操作者操作键盘的动作能做出感应,但对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求。
步骤104初始化二维数组S。
具体地,如果该二维数组S已经存在,且不为空,则清空该数组的值。否则建立二维数组S,,并将数组S元素赋空值。数组S可采用动态数组,或先假定数组S为一个较小的元素个数的数组,若当元素个数超出数组大小的时候,可以自动增加数组的大小。
数组S可以采用二维HASH数组,即采用键的名称和模拟击键的次数来作为数组的下标,该数组用来保存虚拟键盘上某键与模拟击键位置的距离的值。例如S1F这个数组元素的值为第一次模拟击键的模拟击键位置离F键的距离,S2A这个数组元素的值为第二次模拟击键的击键位置离A键的距离。利用HASH数组可以更便捷的实现数组元素的查询和更新。
若S2A=”24”,表示的意义是第二次模拟击键的击键位置离A键的距离为24mm。
步骤105侦测模块侦测捕获操作者手势动作,并由分析模块进行识别和分析。
具体地,本发明使用的侦测模块指任何能直接捕获或间接获取手势姿态信息如手指相对位置等信息的设备或技术方法,或多种设备方法技术混用。本实施例的侦测模块优选采用外置的体感设备或内置的体感模块,当然也可以采用能起到侦测操作者手势动作的其它类型的设备或模块来实现。装置的分析模块对侦测模块发送来的数据进行识别和分析,可识别出手势动作的类型有:定位键盘动作(若采用步骤102、步骤202、步骤302、步骤402中的方案E需检测定位键盘动作,存在定位键盘动作的类型;若采用方案F可无定位键盘动作的类型的存在。)、模拟击键动作、结束输入动作。
假设操作者向正前方为Y轴正方向,向正后方为Y轴负方向,垂直Y轴的水平方向为X轴,向右为X轴正方向,向左为X轴负方向,垂直地面的方向为Z轴,Z轴向下为负,向上为正,地面标高是Z坐标的原点。通过侦测模块捕获操作者模拟击键的敲击动作,以便捕获到操作者做出模拟击键动作时人体关节的空间坐标(例如指尖的空间坐标)。侦测模块产生一个输出信号将这些信息序列交给分析模块进行分析。分析模块根据操作者做出模拟击键动作时上臂关节、手指关节和指尖的空间坐标信息序列中来判断出手势动作类型。
关于侦测模块或体感模块或体感设备如何获得并转换为空间坐标信息是现有的技术,并不在本发明的权利要求范围之内。
步骤106是否有模拟击键动作?
具体地,侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作类型是模拟击键动作则跳转到下步骤107,若该动作类型不是模拟击键动作则跳转到步骤105。
步骤107根据手指的空间坐标变化识别出操作者意图击键的那个手指,并获得那根手指的击键位置。
具体地,在操作者做出模拟击键输入动作时,操作者在做出模拟敲击键盘动作时各个手指必然同时做出动作,不但不同的手指在同一时刻的坐标可能是不同的,而且同一个手指在一次击键过程中,手指的坐标也是变化的。所以需要通过侦测模块捕获操作者模拟击键过程中各个手指指尖的空间坐标的变化,再来分析哪根手指是操作者真正的意图去模拟击键的手指。
对于某一次模拟击键动作,可通过比较操作者在做出模拟击键输入动作的那只手的手指指尖的空间坐标变化来分析判断出哪一根手指是操作者意图击键的手指,可采用方案G和方案H来实现。
方案G:即找出获得最接近地面的坐标的手指或找出Z坐标最小的那根手指,即为意图模拟击键的那只手指。这个最小Z轴坐标值即是某根手指完成一次模拟击键过程中最小的,也是本次模拟击键过程中作出模拟击键的那只手上所有手指的最小坐标值中最小的。并获得操作者意图击键的那根手指在模拟击键操作时击键位置的空间坐标。
方案H:即找出在模拟击键过程中做出了最大动作幅度的那根手指,即为意图模拟击键的那只手指。即根据手指指尖动作过程中在空间中坐标的变换情况来求出模拟击键的那只手上所有手指在该模拟击键动作过程中的最大位移。将它们的最大位移的值进行比较,找出有最大位移的那根手指即为操作者意图击键的手指。这个最大位移值即是某根手指完成一次模拟击键过程中最大的,也是本次模拟击键过程中作出模拟击键的那只手上所有手指的最大位移中最大的。并获得该手指在模拟击键操作时击键位置的空间坐标。
步骤108根据意图击键的那根手指的击键位置来调整虚拟键盘的位置,使虚拟键盘自动贴合到该击键位置上;或使虚拟键盘自动调整后放置在手指下方的位置,以便做出模拟击键动作的那根手指可以触摸到虚拟键盘的位置。
具体地,由于虚拟键盘没有触感,手指离虚拟键盘的距离太远而做出模拟击键动作时的时候可能导致操作者在无法触碰到虚拟键盘的位置和无法感应操作者的模拟击键动作。为了避免在模拟击键过程中因手指触摸不到虚拟键盘上键的位置而导致对模拟击键动作无法做出响应,采取以下方案:
在操作者做出模拟击键动作的过程中,根据意图击键的那根手指做出击键动作时的击键位置来调整虚拟键盘的摆放位置和摆放角度,可采用以下方案I1、方案I2、方案J1、方案J2。
方案I1:侦测到定位键盘动作时,调整虚拟键盘的位置使得虚拟键盘与对地面平行,使得虚拟键盘所在平面上的各点有相同的Z坐标,使得虚拟键盘F键在与左手食指指尖有相同的X坐标和Y坐标的位置上,使得虚拟键盘的J键在与右手食指指尖有相同的X坐标和Y坐标的位置上。在模拟击键时随手指模拟击键的位置调整坐标,调整虚拟键盘的位置使得虚拟键盘自动贴合到该击键位置上;Z坐标不断调整,而X坐标和Y坐标不变。由于模拟击键位置的Z坐标和虚拟键盘各键的Z坐标相同,所以在后续的步骤中,根据X坐标和Y坐标求出模拟击键位置和虚拟键盘上各键的距离。
方案I2:侦测到定位键盘动作时,调整虚拟键盘的位置时不要求虚拟键盘与对地面平行,使得虚拟键盘F键在左手食指指尖位置上,使得虚拟键盘的J键在右手食指指尖位置上。在模拟击键时调整虚拟键盘的位置使得虚拟键盘自动贴合到该击键位置上,在模拟击键时随手指模拟击键的位置调整坐标,虚拟键盘各键的X坐标、Y坐标、Z坐标不断变化。由于模拟击键位置的Z坐标和虚拟键盘各键的Z坐标不相同,所以在后续的步骤中,根据X坐标、Y坐标、Z坐标求出模拟击键位置和虚拟键盘上各键的距离。
方案J1:侦测到定位键盘动作时,调整虚拟键盘的位置使得虚拟键盘与对地面平行,使得虚拟键盘所在平面上的各点有相同的Z坐标,使得虚拟键盘F键在与左手食指指尖有相同的X坐标和Y坐标的位置上,使得虚拟键盘的J键在与右手食指指尖有相同的X坐标和Y坐标的位置上。在模拟击键时调整虚拟键盘的位置使得虚拟键盘自动调整后放置在手指下方的位置,以便在做出模拟击键动作时做出模拟击键动作的那根手指指尖可以敲击到虚拟键盘的位置。Z坐标不断调整,而X坐标和Y坐标不变。由于模拟击键位置的Z坐标和虚拟键盘各键的Z坐标相同,所以在后续的步骤中,根据X坐标和Y坐标求出模拟击键位置和虚拟键盘上各键的距离。
方案J2:侦测到定位键盘动作时,调整虚拟键盘的位置时不要求虚拟键盘与对地面平行,使得虚拟键盘F键在左手食指指尖位置上,使得虚拟键盘的J键在右手食指指尖位置上。在模拟击键时调整虚拟键盘的位置使得虚拟键盘自动调整后放置在手指下方的位置,以便在做出模拟击键动作时做出模拟击键动作的那根手指指尖可以敲击到虚拟键盘的位置。虚拟键盘各键的X坐标、Y坐标、Z坐标不断变化。由于模拟击键位置的Z坐标和虚拟键盘各键的Z坐标不相同,所以在后续的步骤中,根据X坐标、Y坐标、Z坐标求出模拟击键位置和虚拟键盘上各键的距离。
步骤109计算出在虚拟键盘所在平面中模拟击键位置与虚拟键盘上的一个或多个符合某种规则的键中心位置之间的距离,并将该距离的值作为数组元素添加至二维数组S中。
具体地,由于模拟击键位置与虚拟键盘在同一个平面内,计算虚拟键盘上符合某种规则的那些键的位置与该击键位置在该二维平面中的距离,并将距离的值保存在二维数组S中。该二维数组可使用HASH数组,即将模拟击键的次数的序号和键作为该数组元素的下标。
在一次模拟击键动作中,根据操作者意图击键的那根手指在模拟击键操作时击键位置的空间坐标和虚拟键盘上的一个或多个符合某种规则的键的空间坐标来求出该击键位置和虚拟键盘上这些键的位置之间的距离。
本步骤提到的一个或多个符合某种规则的键是指,为了简化运算和提高系能而无需求出虚拟键盘上所有键与操作者模拟敲击键盘的坐标的距离,只需根据指法考虑做出击键动作的那个手指对应的那些键即可。例如对某一次模拟击键动作判断出使用的是右手食指,那么只需计算Y键、U键、H键、J键、N键、M键与做出模拟击键位置的坐标之间的距离即可。
侦测模块和分析模块将监控并分析获得模拟击键时虚拟键盘上的一个或多个符合某种规则的键的坐标和操作者击键位置的坐标之间的距离。
步骤110是否有结束输入动作?
具体地,侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作是结束输入动作则跳转到步骤111,若没有检测到结束输入动作则跳转到步骤105。以标准104键盘为例,这个结束输入动作通常是大拇指做出模拟击键动作,因为通常在键盘输入时大拇指对应的键是空格键。当结束输入动作被检测到后,也就意味着命令、单词或某种语言的文字组合的输入结束。若将左手大拇指或右手大拇指的模拟击键动作作为结束输入动作,则该结束输入动作同时也是模拟击键动作。
步骤111根据排序规则和二维数组S来分析出文字组合、命令,并列出选项供操作者选择确认,对是否结合输入法来分析不做要求。
具体地,本发明的方法是输入方法,而不是输入法。
通常所说的输入法是指为将各种符号输入计算机或其他设备(如手机)而采用的编码方法。不同语言、国家、或地区,有多种不同的输入法。多数的输入法软件是为汉语,韩语,和日语而设计,是因为键盘原在打字机时代为英文字母而设计,而中文、日文等文字却无法直接输入,所以需集中输入法编码来输入相应的文字。
分析模块根据排序规则和做出结束输入动作前的每一次模拟击键操作中虚拟键盘上的一个或多个符合某种规则的键和操作者本次模拟击键位置之间的距离来分析操作者可能意图输入的文字组合或命令,并求出排序结果,该排序规则体现了该文字组合或命令是操作者意图输入的概率与该距离的关系。
对在结束输入动作前操作者已做出的一次或数次模拟击键动作,分析模块已通过分析获得每一次模拟击键动作中的符合某种规则的那些键的位置坐标与操作者在本次模拟击键动作中的击键位置坐标之间的距离。对在结束输入动作前有连续多次模拟击键动作的情况,对所有可能的模拟击键组合求出连续击键中的每一次击键时模拟击键的位置离虚拟键盘上该键位置的距离,并将这些距离相乘并由此获得一个值,分析模块对击键组合所代表的文字组合或命令或快捷键将按照此值按从小到大进行排序;对在结束输入动作前只有一次模拟击键动作的情况,直接取距离的值按从小到大排序。此排序结果可以认为等同于将虚拟键盘上的这些键是操作者意图的概率按从大到小排序的结果。
以上提到的符合要求的键可以是模拟击键的那只手指根据键指关系对应的那些键,也可以是虚拟键盘上所有的键,也可以是根据任意规则选取的那些键。
该排序结果作为候选项提供给操作者选择,以便确认输入的内容。该排序结果可以是不同的输入指令、快捷键、单个字符和各种可能的文字组合。该文字组合可以是单词、汉字词语以及各种语言的文字组合。
使用本发明的输入方法或使用该方法的装置在分析提供给操作者选择的候选项的过程中可结合任何
输入法的编码规则来分析,也可以不结合输入法的编码规则来分析。
下面举出操作者在做出结束输入动作前做出了二次模拟击键动作的例子来举例说明排序规则和排序方法。
根据操作者在一次模拟击键动作中意图击键那只手指在击键位置时的空间坐标和键位布局关系来计算出本次操作手指指尖在击键位置时的坐标离虚拟键盘上的一个或多个符合某种规则的键的中心的距离。
第一次模拟击键动作完成时,分析模块通过对侦测模块捕获并发送来的数据进行分析,判断出是右手食指击键,右手食指根据键指关系对应Y键、U键、H键、J键、N键、M键。
按模拟击键坐标离键中心坐标的距离的从小到大的排列顺序为M、N、J、H、U、Y,其中:
模拟击键坐标离M键中心的距离 0.2cm;
模拟击键坐标离N键中心的距离 1.7cm;
模拟击键坐标离J键中心的距离 2.0cm;
模拟击键坐标离H键中心的距离 3.4cm;
模拟击键坐标离U键中心的距离 4.1cm;
模拟击键坐标离Y键中心的距离 5.0cm。
第二次模拟击键动作完成时,分析模块通过对侦测模块捕获并发送来的数据进行分析,判断出是左手中指击键,左手中指根据键指关系对应E键、D键、C键。
按模拟击键坐标离键中心坐标的距离的从小到大的排列顺序为E、D、C,其中:
模拟击键坐标离E键中心的距离0.5cm
模拟击键坐标离D键中心的距离1.5cm
模拟击键坐标离C键中心的距离3.6cm
将M、E的模拟击键坐标离M键和E键中心的距离相乘 0.2X0.5=0.1
将M、D的模拟击键坐标离M键和D键中心的距离相乘 0.2X1.5=0.3
将M、C的模拟击键坐标离M键和C键中心的距离相乘 0.2X3.6=0.72
将N、E的模拟击键坐标离N键和E键中心的距离相乘 1.7X0.5=0.85
分析时有方案K和方案L供选择:
方案K:本方案为无需结合输入法来实现的情况,一般用于英文这样的语言,通常的键盘为英文设计,所以无需通过结合输入法来分析也可以实现输入。
不结合输入法时,没有类似联想输入编码方式和其他方式的编码功能。每一次模拟击键都是单独分析的。
在本实施例中,当第一次模拟击键完成后,如上述步骤完成了对键按距离的排列为(1)M、(2)N、(3)J、(4)H、(5)U、(6)Y。
当第一次模拟击键完成时,有2个子方案可以选择:
子方案K1:第一次模拟击键完成之后,排序也将立刻完成。该排序为(1)M、(2)N、(3)J、(4)H、(5)U、(6)Y。这时由客户选择选项以便确认输入。当操作者选择了选项之后才可进行下一次模拟击键的操作或选择了选项之后才可做出结束输入的动作。若操作者选择了选项(2)则将N输出,这时操作者再做出第二次模拟击键动作,第二次模拟打击键动作完成之后,排序也将立刻完成。该排序为(1)E、(2)D、(3)C。这时由操作者选择选项以便确认输入。若操作者选择了选项(1)则将E输出。操作者再做出结束输入动作。
最终输入输入结果为NE。
子方案K2:第一次模拟击键完成之后,排序也将立刻完成。这时已默认选择了离模拟击键位置距离最近的M。此时有3种情况:(1)若此时做出结束输入动作,若空格代表结束输入动作,则模拟击键空格键确认输入为M;这时可进行结束输入动作或模拟击键动作。若做出第二次模拟击键动作,已默认选择了离模拟击键位置最近的E,这时刻进行结束输入动作或模拟击键动作,这是做出结束输入动作。最终输入结果为ME。(2)若继续完成第二次模拟击键动作则确认输入的为M,第二次的默认选择为E; 这时可进行结束输入动作或模拟击键动作。若做出结束输入动作,则最终输入结果为ME。(3)第一次模拟击键完成后,默认选择了M,但提供给操作者更改默认选择的机会,操作者使用某种交互方式做出了选择,若操作者选择了选项(1)则最终输入为N。这时可进行结束输入动作或模拟击键动作。若做出结束输入动作,则最终输入结果为NE。
方案L:本方案为结合输入法来实现的情况,一般用于汉语,韩语,和日语这样非英文语言通过结合输入法来分析实现输入,英文这样的语言当然也可以结合输入法来分析实现输入。下面仍然以英文的某种编码方法为例做出说明。
将N、D的模拟击键坐标离N键和D键中心的距离相乘 1.7X1.5=2.55
将N、C的模拟击键坐标离N键和C键中心的距离相乘 1.7X3.6=6.12
将J、E的模拟击键坐标离J键和E键中心的距离相乘 2.0X0.5=1.0
将J、D的模拟击键坐标离J键和D键中心的距离相乘 2.0X1.5=3
将J、C的模拟击键坐标离J键和C键中心的距离相乘 2.0X3.6=7.2
将H、E的模拟击键坐标离H键和E键中心的距离相乘 3.4X0.5=1.7
将H、D的模拟击键坐标离H键和D键中心的距离相乘 3.4X1.5=5.1
将H、C的模拟击键坐标离H键和C键中心的距离相乘 3.4X3.6=12.24
将U、E的模拟击键坐标离U键和E键中心的距离相乘 4.1X0.5=2.05
将U、D的模拟击键坐标离U键和D键中心的距离相乘 4.1X1.5=6.15
将U、C的模拟击键坐标离U键和C键中心的距离相乘 4.1X3.6=14.76
将Y、E的模拟击键坐标离Y键和E键中心的距离相乘 5.0X0.5=2.5
将Y、D的模拟击键坐标离Y键和D键中心的距离相乘 5.0X1.5=7.5
将Y、C的模拟击键坐标离Y键和C键中心的距离相乘 5.0X3.6=18
将上述相乘后的结果按从小到大排列为:
(1)ME(2)MD(3)MC(4)NE(5)JE(6)HE(7)UE(8)YE(9)ND(10)JD(11)HD(12)NC(13)UD(14)JC(15)YD(16)HC(17)UC(18)YC;
可以看出对本身并不是以个完整单词的文字组合,还可以结合以下方法来联想出完整文字组合。并且根据概率和这些联想出的词在生活中使用的频率从大到小排序, 再列出选项提供给操作者选择,提供的选择可以是单词、汉字、命令或文字组合。
(1)ME除了是单词me外,还可能是men、meet、mean、media、mess、metting等词的前2个字母;
(2)MD除了是单词md外,还可能是mdr、mdl等词的前2个字母;
(3)MC除了是单词缩写外,还可能是mcc、mci等词的前2个字母;
(4)NE 除了是单词缩写外,还可能是new、net、news、near、nest、neil、nell等词的前2个字母;
(5)JE除了是单词缩写外,还可能是jet、Jerry、Jeff、Jenny、jeep、jean、jerk等词的前2个字母;
(6)HE除了是单词HE外,还可能是hello、Hey、her、here、help、heart、hero、hell、heat等词的前2个字母;
(7)UE除了是单词UE外,也可能是单词的缩写,还可能是uestc的等词的前2个字母;
(8)YE除了是单词缩写外,还可能是yes、year、yeah、yet、yellow、yesterday等词的前2个字母;
(9)ND除了是单词缩写外,还可能是NDS、NDA等词的前2个字母;
(10)JD除了是单词缩写外,还可能是JDate等词的前2个字母;
(11)HD除了是单词缩写外,还可能是hdmi、hdd、hdc等词的前2个字母;
(12)NC除了是单词缩写外,还可能是nce、NCV、NCAA、NCR、NCBI等词的前2个字母;
(13)UD除了是单词缩写外,还可能是udb、udp、Udine等词的前2个字母;
(14)JC除了是单词缩写外,还可能是JCB等词的前2个字母;
(15)YD是单词缩写;
(16)HC除了是单词缩写外,还可能是hcg、hcl等词的前2个字母;
(17)UC除了是单词UC外,还可能是UCWEB、UCCUCE等词的前2个字母;
(18)YC是单词缩写;
以上的组合可能本身是一个完整的单词,也可能是缩写或某个单词的前2个字母
需要根据它们在语言中出现的频率来调整排序。为了减少运算量,提高性能。只对上述18个组合中的一部分组合进行单词联想的分析。首先对它们排序的值设定一个阀值,例如2次击键的击键坐标离虚拟键盘该键中心的距离相乘阀值设定为3,即2次击键的击键坐标离虚拟键盘该键中心的距离相乘之后小于3才能满足要求,那么只需考虑(1)ME(2)MD(3)MC(4)NE(5)JE(6)HE(7)UE(8)YE(9)ND(10)JD这一部分组合即可。
需要注意的是,根据击键数量的不同,设定的阀值可能是不相同的,例如1次击键的阀值为2、2次击键的阀值为3、3次击键的阀值为4。可根据模拟击键次数的不同可选择设定不同的阀值。或根据产生命令或文字组合的数量取不同的阀值,即如果生成的组合数量多些,就取小一点的阀值,如果生成组合的数量少些就取大一点的阀值。
以上选出的10组中本身就是单词的排在最前面,只有me这个单词。再对前5组联想出的单词或缩写men、meet、mean、media、mess、metting、mdr、mdl、mcc、mci、new、net、news、near、nest、neil、nell、jet Jerry、Jeff、Jenny、jeep、jean、jerk,根据它们在语言中出现的频率来排序。并显示出来提供给操作者选择。
其中me是没有经过联想得出的单词。再假设near在该语言中出现的频率都大,mean次之、media再次之。最终排序前5个单词为(1)me(2)near(3)mean(4)media。将以上选项和内容提供给操作者做输入选择的确认。
假设操作者采用某种交互方式选择了(2)near作为确认的输入,则最终输出结果为near。
方案L是结合了一种简单的英文输入法(编码方法)的实施例,本发明也可以结合任意一种可以实现本发明的输入法来实现本发明的方案,也不仅限于英文的输入。
步骤112操作者选择确认输入的选项。
具体地,操作者通过触摸增强现实中的选项或通过其它输入方式来确定选择某个候选项以便确认输入。再将这些组合作为候选项根据显示出来或某种方法让操作者通过视觉感知到这些组合,以便操作者可以选择确认输入。
步骤113将确认的输入结果传输给操作系统或应用程序。
具体地,操作者一旦确认了输入选择,将输入结果传输给操作系统或应用程序处理。例如如果输入的是文字,则会在输入框显示出来,如果输入的是命令则操作系统执行该命令。本步骤的实施过程已经在上一步骤中做了描述。
步骤114输入框或应用程序是否关闭或转为失活状态?
具体地,若有关闭输入框、关闭应用程序、最小化应用程序,让输入框失活等操作则跳转到步骤115,否则跳转到步骤105。
步骤115输入结束,停止侦测,关闭相应模块。
具体地,由于输入框已经失活或程序已关闭,所以操作者无法再进行输入操作,所以此时关闭相应模块可以减少不必要的资源和电能的浪费。直到操作者再次激活输入框或打开程序时相应模块将再次被打开,从步骤101开始执行。
实施例2:
如图2所示,为本发明实施例2的流程图,
具体的,每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果;
该流程图包括:
步骤201激活输入框或打开程序,等待输入。
具体地,同步骤101。
步骤202分析模块根据侦测模块捕获的定位键盘动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘的摆放位置和摆放角度。
具体地,同步骤102。
步骤203通过增强现实技术将虚拟键盘叠加到真实场景中,对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求。
具体地,同步骤103。
步骤204初始化二维数组S。
具体地,同步骤104。
步骤205侦测模块侦测捕获操作者手势动作,并由分析模块进行识别和分析。
具体地,同步骤105。
步骤206是否有模拟击键动作?
具体地,设备的侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作类型是模拟击键动作则跳转到下步骤207,若该动作类型不是模拟击键动作则跳转到步骤205。
步骤207根据手指的空间坐标变化识别出操作者意图击键的那个手指,并获得那根手指的击键位置。
具体地,同步骤107。
步骤208计算出在三维空间中模拟击键位置与虚拟键盘上的一个或多个符合某种规则的键中心位置之间的距离,并将该距离的值作为数组元素添加至二维数组S中。
具体地,由于虚拟键盘没有触感,手指离虚拟键盘的距离太远而做出模拟击键动作时的时候可能导致操作者在无法触碰到虚拟键盘的位置和无法感应操作者的模拟击键动作。为了避免在模拟击键过程中因手指触摸不到虚拟键盘上键的位置而导致对模拟击键动作无法做出响应,采取以下本步骤的方案来应对:
在操作者做出模拟击键动作的过程中,分析模块计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置的距离是指在三维空间中的距离,而不是计算出在二维空间中的距离。
计算出虚拟键盘上符合某种规则的那些键的位置与该击键位置在该三维空间中的距离,并将距离的值保存在二维数组S中。该二维数组可使用HASH数组,即将模拟击键的次数的序号和键作为该数组元素的下标。
在一次模拟击键动作中,根据操作者意图击键的那根手指在模拟击键操作时击键位置的空间坐标和虚拟键盘上的一个或多个符合某种规则的键的空间坐标来求出该击键位置和虚拟键盘上这些键的位置之间的距离。
为了简化计算和提高系能,无需求出虚拟键盘上所有键与操作者模拟敲击键盘的坐标的距离,只需根据指法考虑做出击键动作的那个手指对应的那些键即可。例如对某一次模拟击键动作判断出使用的是右手食指,那么只需计算Y键、U键、H键、J键、N键、M键与做出模拟击键位置的坐标之间的距离即可。
侦测模块和分析模块将监控并分析获得模拟击键时虚拟键盘上的一个或多个符合某种规则的键的坐标和操作者击键位置的坐标之间的距离。
步骤209是否有结束输入动作?
具体地,设备的侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作是结束输入动作则跳转到步骤210,若没有检测到结束输入动作则跳转到步骤205。以标准104键盘为例,这个结束输入动作通常是大拇指做出模拟击键动作,因为通常在键盘输入时大拇指对应的键是空格键。当结束输入动作被检测到后,也就意味着命令、单词或某种语言的文字组合的输入结束。若将左手大拇指或右手大拇指的模拟击键动作作为结束输入动作,则该结束输入动作同时也是模拟击键动作。
步骤210根据排序规则和二维数组S来分析出文字组合、命令,并列出选项供操作者选择确认,对是否结合输入法来分析不做要求。
具体地,同步骤111。
步骤211操作者选择确认输入的选项。
具体地,同步骤112。
步骤212将确认的输入结果传输给操作系统或应用程序。
具体地,同步骤113。
步骤213输入框或应用程序是否关闭或转为失活状态?
具体地,若有关闭输入框、关闭应用程序、最小化应用程序,让输入框失活等操作则跳转到步骤214,否则跳转到步骤205。
步骤214输入结束,停止侦测,关闭相应模块。
具体地,由于输入框已经失活或程序已关闭,所以操作者无法再进行输入操作,所以此时关闭相应模块可以减少不必要的资源和电能的浪费。直到操作者再次激活输入框或打开程序时相应模块将再次被打开,从步骤201开始执行。
实施例3:
如图3所示,为本发明实施例3的流程图。
具体的,在每一次模拟击键动作完成后,根据本次模拟击键动作求得的以上提到的距离值和之前的那些模拟击键动作求出的以上提到的距离的值根据排序规则进行分析,并更新候选项以便操作者可以选择确认输入,如果操作者不选择这些候选项来确认输入,而是继续做出模拟击键动作,则由步骤305重复执行本过程,直到操作者选择了候选项确认输入才结束输入,本实施例的流程中没有侦测、分析和判断操作者是否做出了结束输入动作的步骤。
该流程图包括:
步骤301激活输入框或打开程序,等待输入。
具体地,同步骤101。
步骤302分析模块根据侦测模块捕获的定位键盘动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘的摆放位置和摆放角度。
具体地,同步骤102。
步骤303通过增强现实技术将虚拟键盘叠加到真实场景中,对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求。
具体地,同步骤103。
步骤304初始化二维数组S。
具体地,同步骤104。
步骤305侦测模块侦测捕获操作者手势动作,并由分析模块进行识别和分析。
具体地,同步骤105。
步骤306是否有模拟击键动作?
具体地,设备的侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作类型是模拟击键动作则跳转到下步骤307,若该动作类型不是模拟击键动作则跳转到步骤305。
步骤307根据手指的空间坐标变化识别出操作者意图击键的那个手指,并获得那根手指的击键位置。
具体地,同步骤107。
步骤308计算出在三维空间中模拟击键位置与虚拟键盘上的一个或多个符合某种规则的键中心位置之间的距离,并将该距离的值作为数组元素添加至二维数组S中。
具体地,同步骤208。
步骤309根据排序规则和二维数组S来分析出文字组合、命令,并列出选项供操作者选择确认,对是否结合输入法来分析不做要求。更新提供给操作者选择输入的候选项。
具体地,同步骤111。并且在每一次模拟击键后的分析完成后,更新选项的显示,让操作者通过视觉感知到,以便操作者可以做出输入的选择。
步骤310操作者是否选择确认输入的选项?
具体地,同步骤112。
步骤311将确认的输入结果传输给操作系统或应用程序。
具体地,同步骤113。
步骤312输入框或应用程序是否关闭或转为失活状态?
具体地,若有关闭输入框、关闭应用程序、最小化应用程序,让输入框失活等操作则跳转到步骤313,否则跳转到步骤305。
步骤313输入结束,停止侦测,关闭相应模块。
具体地,由于输入框已经失活或程序已关闭,所以操作者无法再进行输入操作,所以此时关闭相应模块可以减少不必要的资源和电能的浪费。直到操作者再次激活输入框或打开程序时相应模块将再次被打开,从步骤301开始执行。
实施例4:
如图4所示,为本发明实施例4的流程图。
具体的,每当检测到一次模拟击键动作,都将保存模拟击键的数据,该模拟击键的数据至少包括击键位置的数据,还可以包括手指编号数据。直到识别到操作者做出结束输入动作再根据这些模拟击键数据和虚拟键盘的位置来分析这些模拟击键动作可能产生的候选项,即识别到操作者做出结束输入动作后再计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置之间的距离的值,再将该距离的值根据排序规则来求出排序结果;
该流程图包括:
步骤401激活输入框或打开程序,等待输入。
具体地,同步骤101。
步骤402分析模块根据侦测模块捕获的定位键盘动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘的摆放位置和摆放角度。
具体地,同步骤102。
步骤403通过增强现实技术将虚拟键盘叠加到真实场景中,对是否让操作者通过视觉感知到该虚拟键盘的存在不做要求。
具体地,同步骤103。
步骤404初始化一维数组S。
具体地,如果该一维数组S已经存在,且不为空,则清空该数组的值。否则建立一维数组S,并将数组S元素赋空值。数组S可采用动态数组,或先假定数组S为一个较小的元素个数的数组,若当元素个数超出数组大小的时候,可以自动增加数组的大小。
数组S可以采用一维HASH数组,即采用模拟击键的次数来作为数组的下标,
方案M:该数组元素用来保存模拟击键位置的坐标
方案N:该数组元素用来保存模拟击键位置的坐标和用于模拟击键手指的编号。
如果采用方案M,则在分析过程中,无法通过键指关系来过滤掉不是模拟击键手指对应的那部分键,需要对虚拟键盘上所有的键求该键与模拟击键位置的距离,或采用其他的过滤策略来过滤掉一部分键后再求过滤后的那部分键与模拟击键位置的距离。
其中方案N是更合理的方案,因为根据键指关系,每个手指对应特定的键,在分析过程中,只需要对手指对应的那些键求到模拟击键位置的距离。
步骤405侦测模块侦测捕获操作者手势动作,并由分析模块进行识别和分析。
具体地,同步骤105。
步骤406是否有模拟击键动作?
具体地,设备的侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作类型是模拟击键动作则跳转到下步骤407,若该动作类型不是模拟击键动作则跳转到步骤405。
步骤407 根据意图击键的那根手指的击键位置来调整虚拟键盘的位置,使虚拟键盘自动贴合到该击键位置上;或使虚拟键盘自动调整后放置在手指下方的位置,以便做出模拟击键动作的那根手指可以触摸到虚拟键盘的位置。
具体地,同步骤108。
步骤408根据手指的空间坐标变化识别出操作者意图击键的那个手指,并获得那根手指的击键位置。将击键位置数据和手指编号作为数组元素添加至数组S中,或将击键位置数据作为数组元素添加至数组S中。
具体的,同步骤107。
另外,本步骤中“将击键位置数据和手指编号作为数组元素添加至数组S中”用方案O1或方案O2实现,“或将击键位置数据作为数组元素添加至数组S中。”用方案P来实现。
方案O1:对应步骤407的方案I1、方案J1,数组S的元素用来保存模拟击键位置坐标的值和手指的编号。例如S1这个数组元素的值包含了第一次模拟击键的模拟击键位置的X坐标、Y坐标、手指编号,S2这个数组元素的值包含了第二次模拟击键的击键位置的X坐标、Y坐标、手指编号。利用HASH数组可以更便捷的实现数组元素的查询和更新。数组元素的代表式为 “空间X坐标的值,空间Y坐标的值,手指编号”。其中关于手指编号的说明:左手小拇指为1号手指;左手无名指为2号手指;左手中指为3号手指;左手食指编号为4号手指;左手大拇指为5号手指;右手大拇指为6号手指;右手食指为7号手指;右手中指为8号手指;右手无名指为9号手指;右手小拇指为10号手指。
若S2=”0.05,18.2,1”,表示第二次模拟击键的击键位置的X坐标为0.05,Y坐标为18.2,手指编号为1代表模拟击键的手指是左手小拇指,
方案O2: 对应步骤407的方案I2、方案J2,数组S的元素用来保存模拟击键位置坐标的值和手指的编号。例如S1这个数组元素的值包含了第一次模拟击键的模拟击键位置的X坐标、Y坐标、Z坐标、手指编号,S2这个数组元素的值包含了第二次模拟击键的击键位置的X坐标、Y坐标、Z坐标、手指编号。利用HASH数组可以更便捷的实现数组元素的查询和更新。数组元素的代表式为 “空间X坐标的值,空间Y坐标的值,空间Z坐标的值,手指编号”。其中关于手指编号的说明:左手小拇指为1号手指;左手无名指为2号手指;左手中指为3号手指;左手食指编号为4号手指;左手大拇指为5号手指;右手大拇指为6号手指;右手食指为7号手指;右手中指为8号手指;右手无名指为9号手指;右手小拇指为10号手指。
若S2=”0.05,18.2,500.3,1”,表示第二次模拟击键的击键位置的X坐标为0.05,Y坐标为18.2,Z坐标为500.3,手指编号为1代表模拟击键的手指是左手小拇指,
方案P: 对应步骤407的方案I1、方案J1,数组S的元素用来保存模拟击键位置坐标的值。例如S1这个数组元素的值包含了第一次模拟击键的模拟击键位置的X坐标和Y坐标,S2这个数组元素的值包含了第二次模拟击键的击键位置的X坐标和Y坐标。利用HASH数组可以更便捷的实现数组元素的查询和更新。数组元素的代表式为 “空间X坐标的值,空间Y坐标的值”。
若S2=”0.05,18.2”,表示第二次模拟击键的击键位置的X坐标为0.05,Y坐标为18.2。
以上方案O1、方案O2、方案P通过计算机编程语言中的分割字符串的函数,便可以取出数组元素中保存的各个坐标的值和手指编号的值。
步骤409是否有结束输入动作?
具体地,设备的侦测模块捕获操作者的手势动作信息,并由分析模块分析判断操作者是否做出了动作,并判断该动作的类型,若该动作是结束输入动作则跳转到步骤410,若没有检测到结束输入动作则跳转到步骤405。以标准104键盘为例,这个结束输入动作通常是大拇指做出模拟击键动作,因为通常在键盘输入时大拇指对应的键是空格键。当结束输入动作被检测到后,也就意味着命令、单词或某种语言的文字组合的输入结束。若将左手大拇指或右手大拇指的模拟击键动作作为结束输入动作,则该结束输入动作同时也是模拟击键动作。
步骤410根据数组S计算出在虚拟键盘所在平面中这些模拟击键动作的击键位置与虚拟键盘上一个或多个符合某种规则的键中心位置之间的距离,并将这些距离的值根据排序规则计算分析出文字组合、命令,并列出选项供操作者选择确认,对是否结合输入法来分析不做要求。
具体地,若采用步骤408方案O,数组S保存的是模拟击键位置的坐标和手指编号,则需要先分析计算出采用该手指编号的手指对应的那些键离模拟打击键位置的距离,再进行同步骤111的类似的步骤。
若采用步骤408方案P,数组S保存的是模拟击键位置的坐标,则需要先分析计算出多个符合某种规则的那些键或虚拟键盘上所有的键离模拟击键位置的距离,再进行同步骤111的类似的步骤。以上提到的符合某种规则是指过滤掉一些键,使得无需对虚拟键盘上所有的键求出离模拟击键位置的距离
步骤411操作者选择确认输入的选项。
具体地,同步骤112。
步骤412将确认的输入结果传输给操作系统或应用程序。
具体地,同步骤113。
步骤413输入框或应用程序是否关闭或转为失活状态?
具体地,若有关闭输入框、关闭应用程序、最小化应用程序,让输入框失活等操作则跳转到步骤414,否则跳转到步骤405。
步骤414输入结束,停止侦测,关闭相应模块。
具体地,由于输入框已经失活或程序已关闭,所以操作者无法再进行输入操作,所以此时关闭相应模块可以减少不必要的资源和电能的浪费。直到操作者再次激活输入框或打开程序时相应模块将再次被打开,从步骤401开始执行。
如图5所示,图5是本发明一种使用增强现实虚拟键盘输入方法的装置的结构示意图,同时也是实施例1、实施例2、实施例3、实施例4的实施例装置结构示意图,包括:
501侦测模块
具体的,侦测和捕获操作者的手势动作并获得动作数据,将捕获到的数据发送给分析模块;侦测模块是指可以侦测和捕获操作者的手势动作的模块或设备,例如作为外设的体感设备或内置于装置内的体感模块,也可以是基于其它原理能起到类似功能的设备或模块。
502分析模块
具体的,分析模块通过对侦测模块捕获到的动作数据进行识别和分析,使得通过增强现实技术叠加到真实场景中的虚拟键盘能对操作者操作键盘的动作做出感应,将感应到的模拟击键结果进行分析以便获得操作者意图输入的结果。将该意图输入的最终结果数据发送给操作系统或应用程序处理。
分析模块通过对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型:
若该动作的类型为定位键盘动作,则分析模块根据该手势动作获得对虚拟键盘叠加到真实场景时的摆放位置和摆放角度,并通过增强现实技术将该虚拟键盘叠加到真实场景中或调整虚拟键盘在场景中的摆放位置和摆放角度;
若该动作的类型为模拟击键动作,则分析模块对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项输出提供给操作者以便确认输入;
若该动作的类型为结束输入动作,则分析模块对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项提供给操作者以便确认输入。
若通过采用触摸候选项的动作来作出候选项的选择,则侦测模块和分析模块通过对动作的捕获和分析使候选项能对操作者的动作作出感应,也可以采用其它方式确认候选项的选择。
分析模块可以由本地的硬件来担任,也可以由远程主机上的硬件来担任。
503操作系统或应用程序。
具体的,将最终输入结果发送给操作系统或应用程序。输入结果可以是发送给操作系统或应用程序的文本、快捷键、命令等。
504增强现实输出模块
具体的,在增强现实环境中虚拟键盘可以是可见的或隐形的。
若采用虚拟键盘是可见的方案,通过增强现实输出模块的输出让操作者通过视觉感知到该虚拟键盘的存在,并通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项。例如可以采用将要显示的虚拟键盘、输入过程中输入的字符和候选项投影到操作者视网膜上的方式。该可见的虚拟键盘能对操作者操作键盘的动作做出感应。
若采用虚拟键盘是隐形的方案,无需让操作者通过视觉感知到该虚拟键盘的存在,通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项。例如可以采用将要显示的输入过程中的字符和候选项投影到操作者视网膜上的方式。该隐形的虚拟键盘能对操作者操作键盘的动作做出感应。
实施例1、实施例2、实施例3、实施例4的流程图是按顺序来表示流程的。但在具体实施时,本发明并不要求完全按上述方法来实现,可以在本实施例的流程基础上增加或减少流程。
由于计算机程序可以用多线程来执行,又由于使用本发明的方法或使用本发明方法的装置包括了使用程序来实现的部分 ,所以对在本发明的方法和使用本发明方法的设备来说,对各步骤的执行顺序并不做限定。例如虽然实施例1步骤114、实施例2步骤213、实施例3步骤312、实施例4步骤413在流程图中表示的是在同一个流程中执行的,但在具体实施时无论其它线程执行到哪个步骤,只要侦测到符合该步骤的判断条件(关闭输入框、关闭应用程序、最小化应用程序、输入输入框转为失活状态),则均立即跳转到实施例1步骤115、实施例2步骤214、实施例3步骤313、实施例4步骤414(输入结束,停止侦测,关闭相应模块)。
本发明的说明书和权利要求书中所提到的侦测模块不仅限于体感模块,可以是体感模块,还可以是基于其它原理但可以起到类似作用的模块。
本发明的说明书和权利要求书中提到的装置指智能设备本身或接在智能设备上实现相应功能的外设。
本发明的说明书和权利要求书中提到的模块可以是该装置内置的模块、也可以借用其他设备的内部模块来担任、也可以由远程主机上的硬件模块来担任。
对凡是在本发明的权利要求范围之内对本实施例所做的任何修改,包括替换、改进、增减流程等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种增强现实虚拟键盘输入方法,应用于使用键盘输入信息的设备,其特征是,该方法包括:通过增强现实技术将虚拟键盘叠加到真实场景中;侦测模块侦测和捕获操作者操作虚拟键盘的动作并获得动作数据;通过对侦测模块捕获到的动作数据进行识别和分析,使得虚拟键盘可以对操作者操作键盘的动作做出感应,并分析出操作者意图输入的结果;将分析出的输入结果发送给操作系统或应用程序;
根据侦测模块侦测捕获操作者手势动作的数据来确定虚拟键盘在真实场景中的摆放位置、摆放角度和缩放比例,或根据预先设置来确定虚拟键盘在真实场景中的摆放位置、摆放角度、缩放比例;
根据排序规则和做出结束输入动作前的每一次模拟击键操作中虚拟键盘上的一个或多个符合某种规则的键和操作者本次模拟击键位置之间的距离来求出排序结果,该排序规则体现了概率与该距离的关系;
对一次或多次连续的模拟击键的手势动作进行分析,并最终将分析出的候选项提供给操作者选择以便确认输入,每当检测到一次模拟击键动作,都将保存模拟击键的数据,该模拟击键的数据至少包括击键位置的数据,直到识别到操作者做出结束输入动作再根据这些模拟击键数据和虚拟键盘的位置来分析这些模拟击键动作可能产生的候选项,即识别到操作者做出结束输入动作后再计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置之间的距离的值,再将该距离的值根据排序规则来求出排序结果;
或每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果。
2.根据权利要求1所述一种增强现实虚拟键盘输入方法,其特征是,该方法包括:对侦测模块捕获到的动作数据进行识别和分析,从而识别出动作的类型,若该动作的类型为结束输入动作,则对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项提供给操作者以便确认输入。
3.一种使用增强现实虚拟键盘输入方法的装置,其特征是,该装置包括:侦测模块、分析模块、增强现实输出模块,其中,
侦测模块:侦测和捕获操作者操作虚拟键盘的动作并获得动作数据,将捕获到的数据发送给分析模块;
分析模块:分析模块对侦测模块发送来的操作者的动作数据进行识别和分析,使得通过增强现实技术叠加到真实场景中的虚拟键盘能对操作者操作键盘的动作做出感应,并分析出操作者意图输入的结果;将分析出的输入结果发送给操作系统或应用程序;
增强现实输出模块:若采用虚拟键盘是可见的方案,通过增强现实技术将虚拟键盘叠加到真实场景中,通过增强现实输出模块的输出让操作者通过视觉感知到该虚拟键盘的存在,通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项;若采用虚拟键盘是隐形的方案,通过增强现实技术将虚拟键盘叠加到真实场景中,无需让操作者通过视觉感知到该虚拟键盘的存在,通过增强现实输出模块的输出让操作者通过视觉感知到输入过程中输入的字符和候选项;
分析模块根据侦测模块侦测捕获操作者手势动作的数据来确定虚拟键盘在真实场景中的摆放位置和摆放角度,或根据预先设置来确定虚拟键盘在真实场景中的摆放位置、摆放角度、缩放比例;
所述装置的分析模块根据排序规则和做出结束输入动作前的每一次模拟击键操作中虚拟键盘上的一个或多个符合某种规则的键和操作者本次模拟击键位置之间的距离来求出排序结果,该排序规则体现了概率与该距离的关系;
所述装置的分析模块对一次或多次连续的模拟击键的手势动作进行分析,并最终将分析出的候选项提供给操作者选择以便确认输入,每当检测到一次模拟击键动作,都将保存模拟击键的数据,该模拟击键的数据至少包括击键位置的数据,直到识别到操作者做出结束输入动作再根据这些模拟击键数据和虚拟键盘的位置来分析这些模拟击键动作可能产生的候选项,即识别到操作者做出结束输入动作后再计算出操作者意图击键的那根手指的击键位置与虚拟键盘上符合某种规则的那些键的位置之间的距离的值,再将该距离的值根据排序规则来求出排序结果;或每当检测到一次模拟击键动作,先求出虚拟键盘上符合某种规则的那些键的位置与该击键位置的距离的值,并保存这些距离的值,直到识别到操作者做出结束输入动作再将该距离的值根据排序规则来求出排序结果。
4.根据权利要求3所述的一种使用增强现实虚拟键盘输入方法的装置,其特征是:所述装置的分析模块对侦测模块发送来的数据进行识别和分析,从而识别出动作的类型,若该动作的类型为结束输入动作,则分析模块对该结束命令前作出的一系列模拟击键动作进行分析,或对该结束命令前作出的每一步模拟击键动作完成时分析产生的中间变量来进行进一步分析,并将最终分析出的排序结果作为候选项提供给操作者以便确认输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410314179.8A CN105224069B (zh) | 2014-07-03 | 2014-07-03 | 一种增强现实虚拟键盘输入方法及使用该方法的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410314179.8A CN105224069B (zh) | 2014-07-03 | 2014-07-03 | 一种增强现实虚拟键盘输入方法及使用该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224069A CN105224069A (zh) | 2016-01-06 |
CN105224069B true CN105224069B (zh) | 2019-03-19 |
Family
ID=54993096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410314179.8A Active CN105224069B (zh) | 2014-07-03 | 2014-07-03 | 一种增强现实虚拟键盘输入方法及使用该方法的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224069B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293127B (zh) * | 2016-08-10 | 2019-03-19 | 北京英梅吉科技有限公司 | 用于三维空间中的阵列式输入方法及系统 |
CN106845335B (zh) * | 2016-11-29 | 2020-03-17 | 歌尔科技有限公司 | 用于虚拟现实设备的手势识别方法、装置及虚拟现实设备 |
CN108415654A (zh) * | 2017-02-10 | 2018-08-17 | 上海真曦通信技术有限公司 | 虚拟输入系统和相关方法 |
CN107168541A (zh) * | 2017-04-07 | 2017-09-15 | 北京小鸟看看科技有限公司 | 一种输入的实现方法和装置 |
CN107633551B (zh) * | 2017-08-18 | 2018-07-06 | 中山叶浪智能科技有限责任公司 | 一种虚拟键盘的展示方法及装置 |
US11720222B2 (en) | 2017-11-17 | 2023-08-08 | International Business Machines Corporation | 3D interaction input for text in augmented reality |
CN109814704B (zh) * | 2017-11-22 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种视频数据处理方法和装置 |
CN108063936B (zh) * | 2017-12-29 | 2020-11-03 | 光锐恒宇(北京)科技有限公司 | 增强现实ar的实现方法、装置和计算机可读存储介质 |
CN108646910A (zh) * | 2018-03-20 | 2018-10-12 | 重庆邮电大学 | 一种基于深度图像的三维动态手指文本输入系统及方法 |
TWI710926B (zh) * | 2018-03-23 | 2020-11-21 | 宏碁股份有限公司 | 鍵盤投影裝置及智慧選字方法 |
US10719173B2 (en) * | 2018-04-04 | 2020-07-21 | Facebook Technologies, Llc | Transcribing augmented reality keyboard input based on hand poses for improved typing accuracy |
CN109597492B (zh) * | 2018-12-05 | 2022-03-04 | 谷东科技有限公司 | 激光虚拟键盘与ar眼镜交互系统 |
US10901495B2 (en) | 2019-01-10 | 2021-01-26 | Microsofttechnology Licensing, Llc | Techniques for multi-finger typing in mixed-reality |
CN110096166A (zh) * | 2019-04-23 | 2019-08-06 | 广东工业大学华立学院 | 一种虚拟输入方法 |
CN110189578A (zh) * | 2019-05-20 | 2019-08-30 | 北京悉见科技有限公司 | 一种基于增强现实进行飞行员训练的方法和装置 |
CN111142675A (zh) * | 2019-12-31 | 2020-05-12 | 维沃移动通信有限公司 | 输入方法及头戴式电子设备 |
CN114661201A (zh) * | 2020-12-23 | 2022-06-24 | 广州视享科技有限公司 | 应用程序的三维输入方法、装置、存储介质和电子设备 |
US11656723B2 (en) | 2021-02-12 | 2023-05-23 | Vizio, Inc. | Systems and methods for providing on-screen virtual keyboards |
US11757951B2 (en) | 2021-05-28 | 2023-09-12 | Vizio, Inc. | System and method for configuring video watch parties with gesture-specific telemojis |
CN113342174A (zh) * | 2021-07-06 | 2021-09-03 | 物芯智能科技有限公司 | 一种ar眼镜及vos操作系统 |
WO2023155672A1 (en) * | 2022-02-15 | 2023-08-24 | Beijing Source Technology Co., Ltd. | Input device model projecting method, apparatus and system |
CN114167997B (zh) * | 2022-02-15 | 2022-05-17 | 北京所思信息科技有限责任公司 | 一种模型显示方法、装置、设备和存储介质 |
CN116069169A (zh) * | 2023-03-29 | 2023-05-05 | 深圳市光速时代科技有限公司 | 一种基于智能手表输入虚拟文本的数据处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662585A (zh) * | 2012-04-06 | 2012-09-12 | 潘晓雷 | 一种自适应调整屏幕触控输入范围的方法和移动终端 |
CN103019377A (zh) * | 2012-12-04 | 2013-04-03 | 天津大学 | 基于头戴式可视显示设备的输入方法及装置 |
CN103105930A (zh) * | 2013-01-16 | 2013-05-15 | 中国科学院自动化研究所 | 一种基于视频图像的非接触式智能输入方法及装置 |
CN103336575A (zh) * | 2013-06-27 | 2013-10-02 | 深圳先进技术研究院 | 一种人机交互的智能眼镜系统及交互方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6600480B2 (en) * | 1998-12-31 | 2003-07-29 | Anthony James Francis Natoli | Virtual reality keyboard system and method |
CN1258108C (zh) * | 2003-01-17 | 2006-05-31 | 财团法人工业技术研究院 | 产生虚拟键盘/显示器的装置及方法 |
KR20080106265A (ko) * | 2006-02-16 | 2008-12-04 | 에프티케이 테크놀로지스 리미티드 | 컴퓨팅 시스템에 데이터를 입력하는 시스템 및 방법 |
US8300023B2 (en) * | 2009-04-10 | 2012-10-30 | Qualcomm Incorporated | Virtual keypad generator with learning capabilities |
US9069164B2 (en) * | 2011-07-12 | 2015-06-30 | Google Inc. | Methods and systems for a virtual input device |
-
2014
- 2014-07-03 CN CN201410314179.8A patent/CN105224069B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662585A (zh) * | 2012-04-06 | 2012-09-12 | 潘晓雷 | 一种自适应调整屏幕触控输入范围的方法和移动终端 |
CN103019377A (zh) * | 2012-12-04 | 2013-04-03 | 天津大学 | 基于头戴式可视显示设备的输入方法及装置 |
CN103105930A (zh) * | 2013-01-16 | 2013-05-15 | 中国科学院自动化研究所 | 一种基于视频图像的非接触式智能输入方法及装置 |
CN103336575A (zh) * | 2013-06-27 | 2013-10-02 | 深圳先进技术研究院 | 一种人机交互的智能眼镜系统及交互方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105224069A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224069B (zh) | 一种增强现实虚拟键盘输入方法及使用该方法的装置 | |
JP7411133B2 (ja) | 仮想現実ディスプレイシステム、拡張現実ディスプレイシステム、および複合現実ディスプレイシステムのためのキーボード | |
US11720223B2 (en) | Virtual user input controls in a mixed reality environment | |
US10861242B2 (en) | Transmodal input fusion for a wearable system | |
CN106104421A (zh) | 一种指环式无线指感控制器、控制方法及控制系统 | |
CN103440033B (zh) | 一种基于徒手和单目摄像头实现人机交互的方法和装置 | |
CN103105930A (zh) | 一种基于视频图像的非接触式智能输入方法及装置 | |
CN106393113A (zh) | 机器人和机器人的交互控制方法 | |
CN102819751A (zh) | 一种基于动作识别的人机互动方法及装置 | |
CN106502416B (zh) | 一种智能识别双手手势的模拟驾驶系统及其控制方法 | |
CN117075726A (zh) | 一种视觉手势与肌电传感混合交互的协同控制方法及系统 | |
KR101525011B1 (ko) | Nui 기반의 실감형 가상공간 디스플레이 제어장치 및 제어방법 | |
LaViola Jr et al. | Multimodal input for perceptual user interfaces | |
Fu et al. | Research on application of cognitive-driven human-computer interaction | |
CN113807280A (zh) | 一种基于Kinect的虚拟船舶机舱系统与方法 | |
TWI587175B (zh) | Dimensional pointing control and interaction system | |
Habibi | Detecting surface interactions via a wearable microphone to improve augmented reality text entry | |
Kavakli et al. | Virtual hand: an interface for interactive sketching in virtual reality | |
AU2021106326A4 (en) | Intelligent gesture keyboard system & method for visually impaired user using machine learning & iot technology | |
Bhowmik | Senses, Perception, and Natural Human‐Interfaces for Interactive Displays | |
Honye | LITERATURE REVIEW: SIMULATING MOUSE AND KEYBOARD INTERACTION FOR MOTOR-IMPAIRED USERS. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |