著录项信息
专利名称 | 一种动态虚拟键盘的实现方法及装置 |
申请号 | CN200810223056.8 | 申请日期 | 2008-09-26 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-03-31 | 公开/公告号 | CN101685342 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/01 | IPC分类号 | G;0;6;F;3;/;0;1查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 叶颖华;张渊毅 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明公开了一种动态虚拟键盘的实现方法,包括:建立各按键位置与对应的基准键位置之间的关系信息并保存;获取击键位置信息,所述位置关系信息用于识别输入字符时手指敲击的位置信息后,确定输入的字符。本发明还提供了相应的装置及输入方法。根据本发明无需原有虚拟键盘的绝对定位,使虚拟键盘中可通过纯触觉进行定位,从而提高了操作功效。可以为不同的用户定制不同的键盘参数,使得键盘更加适合使用者本身,是更好的人体工学设计。该键盘操作简单、使用方便。
一种动态虚拟键盘的实现方法及装置\n技术领域\n[0001] 本发明涉及电子信息技术领域,具体涉及动态虚拟键盘的实现方法及装置。\n背景技术\n[0002] 近年来,随着个人数字助理PDA、智能手机和手机邮箱等功能的大量使用,为满足手机用户以QWERTY键盘进行文本输入而提出的虚拟键盘(VKB,Virtual Keyboard)受到PDA、智能手机等便携式设备用户的欢迎。采用这种虚拟键盘VKB可以在任何平面的物体上构建出63键全尺寸键盘,用户只需轻松地在这个由红外线描绘的图像中敲击所需的字符,就可以进行文字录入。\n[0003] 目前,常见的虚拟键盘VKB有基于红外投影的虚拟键盘和基于触摸屏(板)的虚拟键盘,其共同之处在于,都没有实体的机械按键,而是通过传感器判断用户击键的绝对位置,从而识别当前的输入内容。换言之,这类键盘虽然没有实体按键,但存在一个虚拟的静态键位,用户只有正确定位每个按键的位置才能完成输入。\n[0004] 因此,用户想要在这类键盘上实现高绩效的盲打存在一个关键性的障碍,即击键定位问题。传统的机械键盘之所以可以实现盲打,一个很重要的原因在于它可以通过键帽来引导用户进行触觉定位。但当前的虚拟键盘只能提供视觉的键位引导,若要盲打,则必须完全依赖手指肌肉本身对击键位移的精确控制。因此,如果用户借助视觉辅助定位将导致击键速度的降低,如果完全依赖肌肉定位则又可能导致错误率的增加。\n发明内容\n[0005] 有鉴于此,本发明提供一种动态虚拟键盘的实现方法及装置,以解决现有技术中不能很有效地在虚拟键盘上实现盲打的问题。\n[0006] 本发明实施例提供的一种动态虚拟键盘的实现方法,包括:预先在一物理输入面投影形成动态击键的区域,所输入按键位置位于该区域中,从所述区域获取击键位置信息,或者预先在一物理输入面投影形成固定的键盘图案,该键盘图案包含所有按键位置,用于直接输入字符,所形成固定的键盘图案与动态击键的区域可进行切换;\n[0007] 建立各按键位置与对应的基准键之间的位置关系信息并保存;\n[0008] 所述位置关系信息用于识别输入字符时手指敲击的位置信息后,确定输入的字符。\n[0009] 本发明实施例提供一种利用动态虚拟键盘输入字符的方法,包括:\n[0010] 检测到用户的双手放置在一物理输入面上,检测到用户的双手放置在一物理输入面上,其中,所述物理输入面上设置有动态击键的区域,所输入按键位置位于该区域中,从所述区域获取击键位置信息,或者所述物理输入面上设置有固定的键盘图案,该键盘图案包含所有按键位置,所形成固定的键盘图案与动态击键的区域可进行切换;\n[0011] 当所述物理输入面上为固定的键盘图案时,利用所述固定的键盘图案输入字符;\n[0012] 当所述物理输入面上为动态击键的区域时,获取所述双手中接触到所述物理输入面的至少一个手指中每个手指所在位置的基准位置信息;\n[0013] 将所述每个手指所在位置作为虚拟键盘的基准键位置;\n[0014] 在检测到所述至少一个手指中的第一手指对在所述物理输入面上进行击键操作时,获取所述第一手指在所述物理输入面上的第一击键位置信息;\n[0015] 根据对应所述虚拟键盘的击键位置信息与输入字符间对应关系,确定所述第一击键位置信息对应的第一输入字符,其中,所述对应关系是根据至少包括所述基准位置信息的信息而确定的关系。\n[0016] 本发明实施例提供的一种实现动态虚拟键盘的装置,包括:\n[0017] 第一投影单元,用于在一物理输入面投射显示出击键的有效区域;\n[0018] 第二投影单元460,用于在一物理输入面投影形成固定的键盘图案,该键盘图案用于直接输入字符;\n[0019] 第二投影单元形成固定的键盘图案与第一投影单元击键的区域可进行切换;\n[0020] 感应单元,用于获取基准键位置信息以及击键位置信息;\n[0021] 存储单元,用于保存校准击键位置得到的各按键位置及其对应基准键的位置关系信息;\n[0022] 识别单元,将所述感应单元获取的击键位置信息与所述存储单元中的按键信息进行比较,确定输入的按键内容;\n[0023] 显示单元,用于显示用户击键时识别单元确定的输入字符。\n[0024] 本发明实施例提供的实现动态虚拟键盘技术方案中,通过将键盘布局(如QWERTY键盘)进行投影,并捕获击键时手指的位置信息,根据每次的击键位置与其对应的基准键之间的相对位置关系来判断输入的内容,从而实现了字符输入。可不再依赖用户对静态键位的绝对定位,而是通过击键的相对位移来判断输入的内容。\n[0025] 本发明采用对击键位置进行动态判断的方法,无需原有虚拟键盘的绝对定位,使虚拟键盘中可通过纯触觉进行定位,从而提高了操作功效。采用相对比较判断输入的方法,因此可以为不同的用户定制不同的键盘参数,使得键盘更加适合使用者本身,是更好的人体工学设计。该键盘操作简单、使用方便,凡是会盲打的用户不需要特别的训练就可以掌握这种键盘的使用方法。\n附图说明\n[0026] 图1为本发明实施例中的动态虚拟键盘位置校准流程图;\n[0027] 图2为本发明实施例中的动态虚拟键盘输入字符流程图;\n[0028] 图3为本发明实施例一中提供的动态虚拟键盘示意图;\n[0029] 图4为本发明实施例二中提供的动态虚拟键盘示意图;\n[0030] 图5为本发明实施例三中提供的动态虚拟键盘示意图;\n[0031] 图6为本发明实施例四提供的实现动态虚拟键盘的装置示意图。\n具体实施方式\n[0032] 针对背景技术中所述现有技术中存在的问题,本发明提出一种新的动态的虚拟键盘,可不再依赖用户对静态键位的绝对定位,而是通过击键的相对位移来判断输入的内容,解决了原有虚拟键盘的击键触觉定位困难,从而提高了操作功效。\n[0033] 首先,利用发光源(激光二极管的点光源或红外光源)进行投影形成击键区域,并捕获能够帮助确定“输入”内容的图像。通过传感器确定字符键何时被敲击,以及每次击键手指的移动位置。\n[0034] 例如,采用摄像头作为位置传感器检测击键手指的移动位置,具体包括:\n[0035] 建立一个人手图片库,通过对库中图像的颜色和光影进行分析,得到击键时人手,指头和指间的移动特征信息。\n[0036] 利用分析出来的特征,建立手识别的算法,使其能够识别各种姿势的人手及其对应的手指的位置。\n[0037] 利用该算法对动态键盘击键过程中的图像进行动态识别,得到十个手指的运动轨迹。\n[0038] 从得到的运动轨迹,动态计算击键的手指及其对应的位置信息。\n[0039] 另外,还可采用数据手套确定字符键何时被敲击,以及每次击键手指的移动位置。\n[0040] 通常,一种数据手套包含十个压力传感器,用于识别和判断十个手指对应的击键,以及十个加速度传感器用于识别和分析十个手指击键前对应的手指移动距离和移动角度。\n[0041] 从压力传感器判定击键的手指;\n[0042] 从加速度传感器分析该手指该次击键前的手指移动距离和移动角度。\n[0043] 本发明提供的一种动态的虚拟键盘,通过用户击键时的相对位移来判断输入的内容。\n[0044] 本发明实施例以常用的基于拉丁字母的标准的打字机和计算机键盘QWERTY键盘为例,首先通过传感器获取用户击键准备状态时十个手指的基线位置,即九个基准键(其中两个大拇指同在space键)的位置。然后通过一个简单的测试,例如根据显示字母做虚拟击键,来获得其它字符键与基准键之间的相对位移范围及角度范围,例如左手食指向下一个档位的位移对应的是字母V,斜向下一档对应的是字母B,向左一档对应的是字母G,向上一档对应的是字母R,斜向上一档对应的是字母T,向上两档对应的是数字4,斜向上两档对应的是数字5。最后,当用户开始正式输入时,系统就可以根据每次的击键位置与其对应的基准键之间的相对位置关系来判断输入的内容。\n[0045] 实施例一\n[0046] 本实施例中提供一种动态虚拟QWERTY键盘的实现方法,用红外投影生成一个无形区域,并将全尺寸的虚拟QWERTY键盘投影至一平面,并采用摄像头作为传感器捕获能够帮助确定“输入”内容的图像。\n[0047] 为了准确地获取用户击键所对应的有效范围,需要确定各键位置与基准位置键位置的关系(包括距离和角度),首先对各键的位置进行校准,如图1所示,具体包括:\n[0048] S101,用户将双手并列放置,模拟在机械键盘上的准备状态,通过传感器(如摄像头)获得九个基准键(即A、S、D、F、J、K、L和;键,其中两个大拇指同在space键)的位置信息;\n[0049] S102,系统呈现字符键(如,字母E),用户击键(即字母E),即用户输入字符E,通过传感器(如,摄像头)获得该次击键的位置;\n[0050] S103,测算该次击键位置信息与其对应的基准键位置(如,字母D)之间的位置关系,包括距离和角度;\n[0051] S104,将测算结果与该字符键(即字母E)对应的与基准键之间的位置信息(如距离、角度)进行加权叠加,并用叠加的新结果替代原有数据,保存到字符键表中;\n[0052] 需要说明的是,系统在校对前字符键位置信息空白即不提供初始字符键位置信息,也可以提供预先设置的字符键位置初始表。\n[0053] S105,按照上述步骤对QWERTY键盘中的各字符键进行位置校准,得到完整的字符键表,如表1所示,包括字符键名称、对应的基准键以及与基准键之间的距离、角度。\n[0054] 表1\n[0055] \n 按键名称 对应基准键 相对距离 相对角度\n A A 0 0\n B F d1 c1\n C D d2 c2\n ...... ...... ...... ......\n[0056] 至此,完成字符键位置校准程序。\n[0057] 用红外投影给用户显示出一个击键的有效区域;\n[0058] 通过图像识别技术根据操作者的手指初始位置来识别九个基准键的位置,用户输入字符时(即击键)时,根据手指移动位置确定每次击键的位置及其与对应的基准键;同时在屏幕上给予用户击键内容的反馈;\n[0059] 参照图2及图3,通过该虚拟键盘输入字符的步骤如下:\n[0060] S201,用户将双手并列放置,模拟在机械键盘上的准备状态,通过传感器(如,摄像头)获得九个基准键的位置(其中两个大拇指同在space键);\n[0061] S202,用户击键(如:字母E),通过传感器(如,摄像头)获得该次击键的位置;\n[0062] S203,检测该次击键与其对应的基准键位置(此例中为,字母D)之间的位置关系信息,包括距离和角度。\n[0063] S204,将检测结果与按键表中位置关系信息的进行对比,确定输入的按键内容,即输入的字符。\n[0064] 检测到的击键位置信息在所述按键表中位置关系信息确定的范围之内,则判断该按键位置为所输入的字符。\n[0065] 实施例二\n[0066] 本实施例提供一种动静态双模虚拟键盘。\n[0067] 其中动态模式与实施例一相同,也是采用红外投影及摄像头实现。\n[0068] 用红外投影给用户显示出一个击键的有效范围区;\n[0069] 通过传感器(如,摄像头)获得用户每次击键的位置;\n[0070] 检测该次击键与其对应的基准键位置之间的关系,包括距离和角度,进而确定所输入的字符。\n[0071] 在实施例一提供的动态虚拟键盘的基础上增加了静态模式虚拟键盘,用红外投影给用户显示出一个固定的QWERTY键盘图案,如图4所示,用户就像采用普通的QWERTY键盘进行字符输入。\n[0072] 用户可以在动态模式与静态模式之间进行选择切换。\n[0073] 当用户双手不在(离开)有效区,该有效区是预先在一平面投影形成动态击键的区域,所输入字符按键位置位于该区域中,从所述区域获取击键位置信息。具体地,通过红外投影在给出一个静态虚拟键盘,在一平面投影形成固定的键盘图案,该键盘图案包含所有按键位置,用于直接输入字符。当用户开始击键时,通过图像识别每次在键盘图案上击键的位置,确定输入的内容;\n[0074] 当用户双手在有效区内并列放置(模拟在机械键盘上的准备状态),计算设备通过图像识别技术来识别九个基准键的位置,则从静态模式切换到动态模式,进入动态输入识别;当用户开始击键时,通过图像识别出每次击键的位置及其对应基准键的位置关系,判断输入的字符内容。\n[0075] 实施例三\n[0076] 本实施例提供动静混合虚拟键盘,同样也采用红外投影及摄像头实现。所谓动静混合虚拟键盘就是设定几个固定按键位置,可直接敲击这几个固定按键位置输入字符,其余的按键按照与基准键的相对位置信息来确定。\n[0077] 预先在一平面投影形成具有固定按键位置的击键区域,所述固定按键位置用于直接敲击输入字符。用户根据需要或输入习惯自定义出需要静态显示的按键,如图5所示,其中按键“CTRL”、“TAB”、“backspace”、“ENTER”以及“WIN”为静态显示按键;用红外投影给用户显示出一个击键的有效范围区,及需要静态显示的按键(用户可以调整其位置);\n[0078] 当用户双手在有效区内并列放置(模拟在机械键盘上的准备状态),计算设备通过图像识别技术来识别九个基准键的位置,进入动态输入识别;当用户开始击键时,通过图像识别出每次击键的位置及其对应的基准键,如果击键的位置处于静态显示的按键区则以该静态按键作为输入,如果击键的位置不在静态显示的按键区,则按照动态模式判断输入的内容,即根据击键的位置及其对应基准键的位置关系,判断输入的字符。\n[0079] 实施例四\n[0080] 参照图6,本发明实施例还提供一种实现动态虚拟键盘的装置400,包括:\n[0081] 第一投影单元410,用于投射显示出击键的有效区域;\n[0082] 利用发光源(激光二极管的点光源或红外光源)进行投影形成击键区域。\n[0083] 感应单元420,用于获取基准键位置信息以及击键位置信息;\n[0084] 具体实施方案中,可采用摄像头作为感应单元检测按键手指的移动位置,从而获得击键位置信息;还可采用数据手套确定按键何时被“按下”,以及每次按键手指的移动位置。\n[0085] 存储单元430,用于保存校准击键位置得到的各按键位置及其对应基准键的位置关系信息;\n[0086] 识别单元440,将所述感应单元420获取的击键位置信息与所述存储单元430中的按键信息进行比较,确定输入的按键内容。\n[0087] 显示单元450,用于显示用户击键时识别单元440确定的输入字符。\n[0088] 本发明实施例提供的另一种实现动态虚拟键盘的装置,还包括:\n[0089] 第二投影单元460,用于在一平面投影形成固定的键盘图案,该键盘图案用于直接输入字符;\n[0090] 第二投影单元形成固定的键盘图案与第一投影单元击键的区域可进行切换。\n[0091] 本发明实施例提供的又一种实现动态虚拟键盘的装置,与实施例四提供的装置的区别在于,采用的不是所述的第一投影单元410而是第三投影单元470。\n[0092] 第三投影单元470,用于在一平面投影形成具有固定按键位置的击键区域,所述固定按键位置用于直接敲击输入字符;\n[0093] 所述第一、第二和第三投影单元采用红外光源投影形成击键区域、固定的键盘图案以及具有固定按键位置的击键区域。\n[0094] 更适宜地,采用摄像头作为所述感应单元检测按键手指的移动位置,获得击键位置信息;或\n[0095] 采用数据手套确定按键何时被“按下”,以及每次按键手指的移动位置,获得击键位置信息。\n[0096] 本发明实施例还提供一种具有动态虚拟键盘的电子设备。\n[0097] 将本发明提供的这种动态虚拟键盘配置到各种需要键盘输入的电子设备,尤其是,如便携PC、智能手机以及PDA等设备,可使得这些设备具有普通的机械键盘的功能,而设备本身的尺寸、体积没有变化,仍然有利于便携。\n[0098] 本发明实施例提供的实现动态虚拟键盘技术方案中,通过将键盘布局(如QWERTY键盘)进行投影,并捕获击键时手指的位置信息,根据每次的击键位置与其对应的基准键之间的相对位置关系来判断输入的内容,从而实现了字符输入。而没有采用任何实体键,保留了虚拟键盘较之机械键盘在设计上的优势(如便携性)。\n[0099] 本发明采用对击键位置进行动态判断的方法,解决了原有虚拟键盘的定位困难,使虚拟键盘中可通过纯触觉进行定位,从而提高了操作功效。采用相对比较判断输入的方法,因此可以为不同的用户定制不同的键盘参数,使得键盘更加适合使用者本身,是更好的人体工学设计。该键盘操作简单、使用方便,凡是会盲打的用户不需要特别的训练就可以掌握这种键盘的使用方法。\n[0100] 显然,本领域的技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个单元或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。\n[0101] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
法律信息
- 2012-01-25
- 2010-05-12
实质审查的生效
IPC(主分类): G06F 3/01
专利申请号: 200810223056.8
申请日: 2008.09.26
- 2010-03-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-10-18
|
2005-04-04
| | |
2
| |
2003-08-27
|
2001-02-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |