CN108415654A - 虚拟输入系统和相关方法 - Google Patents

虚拟输入系统和相关方法 Download PDF

Info

Publication number
CN108415654A
CN108415654A CN201710073964.2A CN201710073964A CN108415654A CN 108415654 A CN108415654 A CN 108415654A CN 201710073964 A CN201710073964 A CN 201710073964A CN 108415654 A CN108415654 A CN 108415654A
Authority
CN
China
Prior art keywords
touch tablet
target
touch
user
detected
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.)
Pending
Application number
CN201710073964.2A
Other languages
English (en)
Inventor
张旭
赵铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xi Xi Communication Technology Co Ltd
Original Assignee
Shanghai Xi Xi Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Xi Xi Communication Technology Co Ltd filed Critical Shanghai Xi Xi Communication Technology Co Ltd
Priority to CN201710073964.2A priority Critical patent/CN108415654A/zh
Priority to US15/594,551 priority patent/US20180232106A1/en
Publication of CN108415654A publication Critical patent/CN108415654A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04108Touchless 2D- digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface without distance measurement in the Z direction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种用于提供虚拟输入的方法,其特征在于,包括生成多个包含了触摸板以及邻近触摸板的用户的手的图像帧;生成虚拟输入界面的用户可感知表示;从多个图像帧中检测与用户的手关联的一个或多个指向装置;从多个图像帧中确定与一个或多个被检测到指向装置中的每一个指向装置的位置相对应的候选目标;突出显示从多个图像帧中确定的每个相应候选目标;检测任一指向装置每次点击触摸板时在触摸板上对应的相应触摸点;以及通过将检测到的触摸点与从多个图像帧中确定的每个相应候选目标进行比较来确定所选择的目标。本文还揭示了一个实现上述方法的系统。

Description

虚拟输入系统和相关方法
技术领域
本申请涉及计算机领域,更具体地涉及虚拟输入技术。
背景技术
本申请以及本文揭示的创新和相关主题(以下统称为“发明”)涉及通过虚拟输入人机接口实现用户输入的系统和方法,本发明可以被用于增强现实(AR)或虚拟现实(VR)技术。
传统上,键盘是最常用的输入设备之一,通过键盘用户可以将数据或命令输入到计算环境中,以便实现例如操作计算机或操控在计算机上的程序。例如,通过键盘,用户可以通过按压键盘上的一个或多个键来输入数据或命令。键可以对应于字符、数字、功能符号,标点符号等。在本发明中,术语“虚拟键盘”是指:一种不存在物理组件的视觉表示,这种视觉表示模拟了键盘布局,并被允许与用户交互,使用户可以通过它选择并输入一个或多个键,完成将数据或命令输入计算环境的任务。
一些公司已经在尝试开发可以被用于AR或VR应用的虚拟键盘技术。然而,现有技术存在一个或多个缺陷。用于实现虚拟键盘的一种常规技术是对记录了使用人的手和/或手指运动的实时图像进行跟踪处理。在该方法下,系统使用摄像头来记录用户的手和/或手指相对于任何的一个触摸表面,例如桌面的位置,系统然后连续地分析手和/或手指相对于摄像头视野中的触摸表面的移动。基于图像分析的结果,系统可以生成对应于该触摸表面的虚拟键盘,然后将用户的手和/或手指移动解释为虚拟键盘上的输入。虽然这种方法可以消除对物理键盘的依赖,但是它存在一些缺陷。例如,为了确定用户的手和/或手指在三维空间中的移动,该技术需要使用实时图像处理的高级算法,这会增加计算的复杂度和功耗。此外,单纯依赖图像处理并不能保证在虚拟键盘上识别出的用户输入的准确性。这些问题可能因为摄像头的位置而进一步被恶化,例如,当摄像头位于头戴式设备(HMD),例如一副智能眼镜上时,摄像头的视角和手指的位置决定了其无法很好地记录手指和触摸表面的距离。一个按键动作可以被解释为手指和触摸表面的距离小于一个预定义的阈值。
用于实现虚拟键盘的另一常规技术是基于接近感知。在该方法下,系统使用了一个感知板,上面有能够感知用户的手和/或手指接近(悬浮)或物理接触的传感器,例如电容传感器。通过将用户的手和/或手指靠近感知板,系统可以检测手和/或手指的位置,系统可以基于该位置来判断用户的预期输入。然而,这种方法也存在一些缺点。例如,为了实现可靠的感知,用户必须将他的手和/或手指靠近并悬浮在感知板上方,例如在大约1-2cm的距离内。在相对长的时间段内保持这样的近距离会导致人的疲劳甚至疲劳损伤。此外,用户可能无意中触摸了感知板,尽管他的意图是保持手和/或手指处于悬浮状态,这会导致错误的用户输入。
此外,虽然期望一个用户输入界面能够实现“您所看到的就是您所选择的”,但是现有的虚拟键盘技术对于用户输入的容错性很低。例如,即使用户确定了目标键,在输入目标键的过程中,由于用户手指的偏移,系统会错误的选择一个相邻键作为输入,从而导致输入错误。此外,大多数现有的虚拟键盘技术不具有足够的灵活性,不能根据不同的应用动态地改变键盘布局;或者动态地调整虚拟键盘的大小和/或位置从而不仅方便了用户输入,又不阻挡AR或VR本身的内容显示。
因此,我们仍然需要一种新的虚拟输入技术,可以为AR或VR系统提供更高效,准确,可靠和灵活的用户输入。
发明内容
本文揭示的发明克服了现有虚拟键盘输入技术中的许多问题,并且提供了在前述或其它虚拟输入领域需要的一个或多个解决方案。在一些方面,本文揭示的发明涉及用于提供虚拟输入的方法和系统,可以被应用于AR或VR系统中。
一种用于虚拟输入的方法可以生成包含了触摸板和与触摸板相邻的用户的手的多个图像帧。该方法可以生成虚拟输入界面的用户可感知表示。在多个图像帧中,与用户的手相关联的一个或多个指向装置可以被检测到。在多个图像帧中,与一个或多个指向装置中的每一个指向装置的位置相对应的相应候选目标可以被确定。从多个图像帧中被确定的每个相应候选目标可以被突出显示。该方法还可以检测到任何一个指向装置点击触摸板时在触摸板上对应于每次触摸的相应触摸点。可以通过将检测到的触摸点与从多个图像帧中确定的每个相应候选目标进行比较来确定所选择的目标。
在前述和其它实施例中,所确定的候选目标可以具有相对于触摸板的第一坐标位置。检测到的触摸点可以具有相对于触摸板的第二坐标位置。将所确定的候选目标与检测到的触摸点进行比较可以包括计算第一坐标位置和第二坐标位置之间的距离。
在前述和其它实施例中,所选择的目标可以是在所有确定的候选目标中其第一坐标位置到第二坐标位置距离最小的候选目标。
在前述和其它实施例中,虚拟输入界面可以具有与触摸板的形状基本一致的形状,并且虚拟输入界面的尺寸可以和触摸板的尺寸成比例,使得在虚拟输入界面上的每个点可以对应于触摸板上的唯一点,并且触摸板上的每个点可以对应于虚拟输入界面上的唯一点。在某些实施例中,虚拟输入界面可以具有包含多个预定义输入目标的布局,每个目标对应于触摸板上的一个二维区域。
在前述和其它实施例中,该方法还可以在多个图像帧中检测触摸板的形状,并检测触摸板上的标记。在某些实施例中,该方法可以根据被检测到的触摸板的形状和触摸板上的标记确定对应的虚拟输入界面上的键盘布局。在一些实施例中,标记可以在触摸板上动态显示,并且可以被用户实时修改更新。
在前述和其它实施例中,确定相应候选目标可以包括从多个图像帧检测多个悬浮目标。可以基于相应的指向装置相对于触摸板的位置,在相应的图像帧中检测出每个悬浮目标。
在前述和其它实施例中,候选目标可以是多个检测到的悬浮目标中满足一组预定规则的悬浮目标。
在前述和其它实施例中,通过多个悬浮目标确定候选目标的一组预定义的规则可以包括从多个图像帧检测到的多个悬浮目标之间的顺序模式和/或时间关系。
在前述和其它实施例中,该方法还可以在头戴式设备上显示虚拟输入界面的用户可感知表示。在某些实施例中,头戴式设备可以是一副智能眼镜。
在前述和其它实施例中,突出显示候选目标可以包括基于候选目标的置信度得分生成候选目标的用户可感知表示。置信度得分可以度量用户意图使用指向装置指向候选目标的可能性。
在前述和其它实施例中,与用户的手相关联的一个或多个指向装置可以包括用户的手指和/或可以通过点击触摸板来产生对触摸板的触摸输入的物体。
在前述和其它实施例中,虚拟输入界面可以是虚拟键盘。候选目标可以是虚拟键盘上的候选键。所选目标可以是虚拟键盘上的所选键。
本发明还揭示了一种用于提供虚拟输入的系统。该系统可以包括有适于生成包含了触摸板和与触摸板相邻的用户的手的多个图像帧的摄像头。该系统还可以包括适于生成虚拟输入界面的用户可感知表示的投影仪。该系统还可以包括适于从多个图像帧中检测与用户的手相关联的一个或多个指向装置的指向检测单元。该系统还可以包括键检测单元,其适于从多个图像帧确定与一个或多个检测到的指向装置的每个位置相对应的相应候选目标。另外,系统可以包括适于突出显示从多个图像帧确定的每个相应候选目标的键标识单元。该系统还可以包括有触摸板,其适于检测任何一个指向装置点击它时的相应触摸点。此外,系统可以包括有比较单元,其适于通过将检测到的触摸点与从多个图像帧确定的每个相应候选目标进行比较,从而确定所选择的目标。
在前述和其它实施例中,所确定的候选目标可以具有相对于触摸板的第一坐标位置,检测到的触摸点可以具有相对于触摸板的第二坐标位置。将所确定的候选目标与检测到的触摸点进行比较可以包括计算所述第一坐标位置和所述第二坐标位置之间的距离。
在前述和其它实施例中,所选择的目标可以是在所有确定的候选目标中其第一坐标位置到第二坐标位置距离最小的候选目标。
在前述和其它实施例中,虚拟输入界面可以具有与触摸板的形状基本一致的形状,并且虚拟输入界面的尺寸可以和触摸板的尺寸成比例,使得在虚拟输入界面上的每个点对应于触摸板上的唯一点,并且触摸板上的每个点对应于虚拟输入界面上的唯一点。在某些实施例中,虚拟输入界面可以具有包含多个预定义目标的布局,每个目标对应于触摸板上的一个二维区域。
在前述和其它实施例中,系统还可以包括触摸板检测单元,适于检测多个图像帧中的触摸板的形状,并检测触摸板上的标记。在某些实施例中,系统可以根据被检测到的触摸板的形状和触摸板上的标记确定对应的虚拟输入界面上的键盘布局。在一些实施例中,标记可以在触摸板上动态显示,并且可以被用户实时修改更新。
在前述和其它实施例中,键检测单元可以适于从多个图像帧中检测多个悬浮目标。每个悬浮目标可以通过在相应图像帧中相应指向装置相对于触摸板的位置来检测获得。
在前述和其它实施例中,键检测单元可以适于从多个悬浮目标中选择候选目标。候选目标可以是多个检测到的悬浮目标中满足一组预定规则的悬浮目标。
在前述和其它实施例中,通过多个悬浮目标确定候选目标的一组预定规则可以包括从多个图像帧检测到的多个悬浮目标之间的顺序模式和/或时间关系。
在前述和其它实施例中,系统还可以包括用于在头戴式设备上显示虚拟输入界面的用户可感知表示的显示单元。在某些实施例中,头戴式设备可以是一副智能眼镜。
在前述和其它实施例中,候选目标可以通过基于候选目标的置信度得分的候选目标的用户可感知表示来被突出显示。置信度得分可以度量用户意图使用指向装置指向候选目标的可能性。
在前述和其它实施例中,与用户的手相关联的一个或多个指向装置可以包括用户的手指和/或可以通过点击触摸板来产生对触摸板的触摸输入的物体。
在前述和其它实施例中,虚拟输入界面可以是虚拟键盘。候选目标可以是虚拟键盘上的候选键。所选目标可以是虚拟键盘上的所选键。
本文描述的用于虚拟输入的方案,包括用于实现虚拟输入的方法和系统、突出显示候选目标、检测并确定所选择的目标等,可以以硬件、软件、固件或其任何组合来实现。因此,本文所使用的术语“单元”、“模块”或“器”是指用于实现所描述的特征的硬件、软件和/或固件。
通过参考附图进行的以下详细描述,前述和其它特征和优点将变得更加显而易见。
附图说明
除非另有说明,附图展示了本文所描述的发明的多各方面。参考附图,其中在几个附图和本文中,相同的附图标识数字表示相同的单元。在附图中,本发明的方法和系统的原理通过若干个实施例的方式被描述,但只是示例,不是对本发明的方法和系统的限制。
图1示意性地展示出了用户如何通过虚拟键盘输入;
图2展示出了通过虚拟键盘实现输入的系统框图;
图3展示出了一个示例性的虚拟键盘布局;
图4展示出了一个具有虚拟键盘的覆盖布局的触摸板;
图5展示出了一个虚拟键盘映射表的示例;
图6展示出了包括两个检测到的指向装置的触摸板的图像;
图7展示出了通过虚拟键盘实现输入的过程;
图8展示出了检测候选键的过程;
图9展示出了选择所选键的过程;
图10展示出了一个适合实现本文揭示的一个或多个技术的计算环境的示意性框图。
具体实施方式
下面描述了与虚拟输入的系统和方法相关的多个创新原理。例如,这些创新原理的某些方面可以包括用于实现AR或VR系统(例如智能眼镜)中用户通过虚拟键盘人机接口完成输入的系统和方法。在AR或VR系统中的这样的系统和方法的实施例仅仅是虚拟输入可适用的系统和方法的特定示例,并且被选择为所揭示原理的方便说明性示例。所揭示的原理中的一个或多个可以被集成到不同的其它系统中,用于提供虚拟输入以实现各种相应的特性和功能。
因此,本发明中用于提供虚拟输入和相关技术的系统和方法,包含一个或多个本文揭示的创新原理,可以具有与本文讨论的那些具体示例不同的属性,并且可以被用于本文未详细描述的应用中,例如:在会议系统、游戏控制终端中等。这样的各种替代实施例当然也包含在本发明的范围内。
一、系统概述
图1示意性地展示出了用户如何与系统100交互并通过虚拟键盘80实现了输入。系统100可以包括触摸板170,适于在用户触摸输入时检测相应的触摸点175(图2中示出)。系统100还可以包括摄像头110,适于取景图像输入105,并且生成包含触摸板170以及与触摸板170相邻的用户的手63a、63b的多个图像帧115(图2中示出)。系统100还可以包括控制器190,其可以从多个图像帧115中检测出例如用户的手指65a、65b的一个或多个指向装置。控制器190还可以从多个图像帧115中确定一个或多个指向装置65a、65b中的每一个指向装置相对应的相应候选键84a、84b。控制器190可以通过将检测到的触摸点175与对应于指向装置65a、65b的候选键84a、84b进行比较来进一步确定所选择的键85(图2中示出)。另外,系统100可以生成虚拟键盘80的用户可感知表示(例如:图像、照明像素阵列或发光设备等),并突出显示虚拟键盘80上的候选键84a、84b。
在该示例中,摄像头110和控制器190被放置在头戴式设备(HMD)20上,该头戴式设备具有可以将HMD固定到用户头部的框架30。HMD可以具有显示单元40,系统100可以通过该显示单元40产生视觉显示70供用户观看。如本领域所知,显示单元40可以是基于液晶显示器(LCD),有机发光二极管(OLED)或硅基液晶(LCOS)技术的一种可透视、非可透视、或虚拟显示显示器。如本文所述,显示单元40可以放置在用户的右眼,左眼或双眼的前方。另外在某些实施例中,显示单元40是可选的,例如除了将视觉显示70投影在用户眼睛的前方,系统100也可以将视觉显示70直接投射到用户的视网膜。根据应用,视觉显示70可以显示内容视图88,具体包括例如:文本文档、图形、图像、视频或其组合等,以及显示用于输入的虚拟键盘80。虚拟键盘80可以被合理地调整在视觉显示70中的位置和大小,使得虚拟键盘80不覆盖或遮挡内容视图88的显示。这种方式的一个优点是,为了实现向系统100输入信息,用户仅需要关注虚拟显示70而不需要视线切换并跟踪在触摸板170上的实际手指移动。这适合于AR或VR,其需要人眼聚焦在虚拟信息上,而不是在物理输入设备上或者在虚拟信息和物理设备上来回切换。它还可以提高输入效率和防止眼睛疲劳。
在一些实施例中,系统100可以具有合成器180(图2中示出),其可以将内容视图88和/或虚拟键盘80投影在视觉显示70上。系统100还可以使用合成器180来高亮显示虚拟键盘80上的候选键84a、84b,以向用户提供视觉反馈。在某些其它实施例中,摄像头110、合成器180或控制器190可以不设置在HMD 20上。在某些实施例中,摄像头110和/或合成器180可以与控制器190集成在单个模块中。
二、系统组件
图2展示出了通过虚拟键盘实现输入的系统100的示例性框图。
如图2所示,系统100可以包括触摸板170,其适于感知用户触摸165,并检测用户通过使用某一个指向装置产生触摸165时代表被触摸位置的触摸点175。例如,触摸板170可以包含一个感知用户的手指或触控笔的点击或按压的触摸表面,并且其可以生成代表按压点位置坐标的数值。
系统100还可具有适于接收图像输入105的摄像头110。根据一些典型实施例,摄像头110可具有至少包含了触摸板170的视场角。据此,摄像头110可产生多个包含了触摸板170以及邻近触摸板170的用户的手63a、63b的图像帧115。根据某些实施例,摄像头110在捕获含触摸板的图像时,其方向不需要垂直于触摸板170。这在摄像头110被安置在HMD上时是有帮助的,它使得佩戴HMD的用户可以在合理范围内自由地移动头部,而摄像头110仍然可以捕获包含触摸板170的图像。类似地,用户可以在合理的范围内自由地移动触摸板170,只要确保触摸板170在摄像头的视场角范围内。在捕获包含触摸板170的图像时,由摄像头110记录的每秒帧数可以决定系统100执行键检测(例如,在下文中被更全面描述的检测悬浮键和确定候选键的过程)的频率。
系统100可以包括适于生成视觉显示70的合成器180。合成器180可以包括适于生成虚拟键盘80的键盘投影仪182,适于突出显示虚拟键盘80上的候选键84的键标识单元184,以及适于生成内容视图88的内容投影仪186。在一些实施例中,视觉显示70可以经由显示单元40呈现给用户。在一些实施例中,视觉显示70可以直接投射到用户的视网膜。视觉显示70允许用户与虚拟键盘80交互并且控制内容视图88中的显示。
系统100还可以包括适于控制系统操作各个方面的控制器190,诸如检测一个或多个指向装置65,确定一个或多个候选键84,确定所选择的键85等。例如,控制器190可以包括指向检测单元130,适于从多个图像帧115中检测出与用户的手相关联的一个或多个指向装置65。控制器190还可以包括键检测单元140,适于从多个图像帧中一个或多个指向装置65中每一个指向装置的位置确定相应的候选键84。此外,控制器190可以包括比较单元160,适于通过将检测到的触摸点175与从多个图像帧中确定的每个相应候选键84进行比较来确定所选择的键85。
在某些实施例中,键检测单元140适于检测对应于一个或多个指向装置65的在多个图像帧115中的多个悬浮键83。每个悬浮键83可以基于指向装置65在相应图像帧115中相对于触摸板的位置来检测获取。控制器190可以包括过滤单元145,过滤单元145可以基于一组预定规则从多个悬浮键83中选择候选键84。所确定的候选键84可以被保存在候选列表150中,其可以被比较单元160用来确定所选择的键85。键标识单元184还可以高亮显示候选列表150中保存的候选键84。
在某些实施例中,控制器190可以包括触摸板检测单元120,适于检测多个图像帧115中的触摸板170的形状,并检测触摸板上的标记178。在一些实施例中,触摸板检测单元120适于首先检测标记178,然后通过检索标记178周围的区域来检测触摸板170。由于标记178可以被事先唯一定义以便于检测,因此检测触摸板的任务可以通过首先检测标记178,然后将触摸板的检索限制到与标记178相邻的区域来简化。控制器190还可以包括触摸板描述单元125,其可以根据触摸板170的形状和触摸板上的标记178的每个不同组合在虚拟键盘80上定义相对应的特定键盘布局。据此,触摸板检测单元120可以确定虚拟键盘80对应于检测到的触摸板170形状和检测到的标记178的键盘布局。在其它实施例中,虚拟键盘80的键盘布局可以是预定义的。
在某些实施例中,标记178可以在触摸板170上动态显示,并且可以被用户实时修改更新。例如,标记178可以是具有预定义图案(例如:形状、颜色等)的外部元素,其可以被用户通过粘合,粘贴,夹持,扣紧等可拆卸地方式附接到触摸板170。标记178也可以由嵌入或附接到触摸板170上的显示单元(例如,LED,LCD等)呈现,并且用户可以控制或编程显示单元以动态地或按需地生成或更新标记178。该特征是有益的,因为其允许用户在观看和/或与AR或VR内容交互的同时通过更新标记来改变键盘布局。作为示例而非限制,用户可以通过简单地改变触摸板170上的标记178,实现在标准QWERT键盘、箭头键盘(例如:上、下、左、右)、数字键盘(例如电话键盘等)或其它定制键盘(例如游戏键盘)之间灵活的切换。
由于摄像头110和触摸板170可以随时间改变位置和/或角度,所以多个图像帧115中的触摸板和/或用户的指向装置在图像中的位置可以随时间而变化。例如,触摸板和/或用户的手指可以在多个图像帧115中在不同的位置和/或以不同的视角出现,比如,具有不一样的三维倾斜角度。指向检测单元130和/或触摸板检测单元120可以在处理多个图像帧115中补偿或校正这种位置和/或视角变化。在某些实施例中,触摸板170上的标记178可用作图像处理中的位置参考以补偿或校正多个图像帧115中的位置和/或视角变化。通过补偿或校正位置和/或视角变化,键检测单元140可以基于多个图像帧115中的指向装置65相对于触摸板的被补偿或校正后的位置更精确地检测悬浮键83。
在某些实施例中,控制器190可以包括键输入服务模块187,其在确定了所选择的键85时被激活。键输入服务模块187可以被配置以实现系统100的多个功能。例如,基于所选择的键85,键输入服务模块187可以检索或控制被发送到内容投影仪186用的显示内容185;或定义虚拟键盘80的外观(例如:大小、位置,开/关状态等)和键标识属性(例如:键颜色、阴影、大小,动画等);或更新触摸板170上的标记178;或通过控制单元195调整系统参数(例如:摄像头110或触摸板170的灵敏度设置,打开/关闭某些系统功能等),等等。
应该理解的是,图2仅表示了本发明的一个示例性实施例。事实上可以基于在此描述的相同的原理来实现其它实施例。例如,本文所述的一些模块或单元可以被组合在一个集成模块或单元中。在一个示例性,非限制性实施例中,过滤单元145可以被嵌入在键检测单元140中。或者,本文描述的单独的模块或单元中的一些可以被分成一个或多个子模块或子单元。另外,一些模块或单元可以被配置在不同的结构中。例如,在一些实施例中,显示内容185可以是合成器180的组件而不是控制器190的组件,或者键标识单元184可以是控制器190的一部分,而不是合成器180的一部分等。在某些实施例中,本文所描述的模块或单元中的一些可以是可选的。在其它实施例中,系统100可以包括用于实现特定功能的附加模块或单元(例如,听觉输入/输出,无线通信等)。
三、虚拟键盘的布局和映射
图3展示出了一个虚拟键盘80的示例性键盘布局,其中预定义的一组按键分布在一个二维(2D)空间中。一些按键可以支持多于一个键的输入,以便基于按键选择的顺序支持组合键(例如,数字“1”可以与符号“!”共享一个按键,后者可以通过按键SHIFT+“1”的组合输入)。为了说明的目的,两个按键“A”和“B”被突出显示,表示用户可能选择作为输入的两个候选键84a、84b。如下面更全面地描述的,候选键84a、84b对应于各自的指向装置,并且可以由键检测单元140从多个图像帧115中自动确定。键标识单元184可以通过改变在虚拟键盘上的候选键84a、84b的一个或多个显示属性来标识它们。例如,候选键84a、84b可以通过按钮闪烁,颜色改变,覆盖图标和/或按钮凸起或任何其它用户可感知的方式(例如,视觉提示、声音等)来告诉用户它们是可以被输入的候选键。
在一些实施例中,虚拟键盘80的键盘布局可以是预定义并且固定的。在其它实施例中,虚拟键盘80的键盘布局可以是自适应于触摸板170,即特定的键盘布局对应于触摸板170的外形和触摸板上的标记178的不同组合,由触摸板描述单元125决定的。例如,触摸板170可以被设计为具有各种规则形状(例如:正方形、矩形、梯形、圆形、椭圆形等),或不规则形状,并且标记178也可以变化(例如,通过形状、图案、颜色等)。基于被检测到的触摸板170外形和/或标记178,触摸板检测单元120可以生成虚拟键盘80的相应键盘布局。这一特征可能在一些应用中有用,比如系统100可以根据为某一款应用定制的触摸板(包括预定义的外形和标记)自动选择一个匹配的键盘布局。预期的益处可以包括,但不限于,提高用户的输入效率(例如,某些应用可能只需要一个按键的子集,并且这些按键被特别布局),或增强系统的安全性(例如,用户仅可通过使用被授权并具有所需形状和标记的触摸板查看AR或VR内容并与系统交互),等。
图4展示出了一个示例性触摸板170,上面图示有覆盖的虚拟键盘80,在这里图示的虚拟键盘80只是作为一种图示参考,在实际的触摸板170上不需要显示虚拟键盘80。触摸板170具有触摸表面172和标记178。如上所述,标记178可以提供与触摸板170相关联的信息,它可以被摄像头110捕获,并被触摸板检测单元120识别。标记178可以位于触摸板170中不太可能被用户的手所覆盖的区域,例如,在触摸表面172以外的区域。在某些实施例中,标记物178可以是人眼不可见的。在某些实施例中,标记178可以包括非光通信部件用以识别触摸板170。在一个示例性的非限制性的实施例中,标记178可以包括附加的射频识别(RFID)组件,其信号可以被控制器190检测和识别,其中RFID组件可以包含关于触摸板170的规范信息(例如:形状、大小、键盘布局,等)。
在一些实施例中,虚拟键盘80可具有与触摸板170的形状基本一致的形状,并且虚拟键盘80的尺寸与触摸板170的尺寸成比例,这使得在虚拟键盘80上的每个点对应于在触摸板170的唯一点,并且在触摸板170的每个点对应于虚拟键盘80的唯一点。在某些实施例中,触摸表面172可以覆盖触摸板170的大部分或全部表面。如此,触摸板170的尺寸也可以指代触摸表面172的尺寸。在图4的示例中,虚拟键盘80具有和触摸表面172相同的形状和尺寸。实际上虚拟键盘80可以具有和触摸表面172不同的尺寸。例如,虚拟键盘80可以相对于触摸表面172的有一个缩放比例(例如,假设触摸表面172是一个矩形,虚拟键盘80的长度和宽度可以正比于触摸表面172的长度和宽度)。因此,通过施加适当的缩放因子,触摸表面172和虚拟键盘80各个位置之间的一对一对应关系就可以被建立。
如图4所示,触摸板170及触摸表面172的区域可以通过在二维空间中的坐标系统来量化。在一个有代表性的非限制性的示例中,触摸板170和触摸表面172是一个矩形:长度是沿x轴的176a,宽度是沿y轴的176b,原点174被定义为触摸板170的左下角。因此,触摸板170或触摸表面172上的每个点都可以通过一对上述触摸板坐标来定义。基于标记178和触摸板170,一个相应的坐标系统(例如,x轴,y轴,和原点)也可以同时在虚拟键盘80上建立,使得在虚拟键盘80上的每一个点由一对虚拟键盘的坐标来定义。如上所述,该虚拟键盘80的坐标系统可以是对应的触摸表面172的坐标系统的一个按比例的缩放。
在一些实施例中,虚拟键盘80可以具有预定义的按键的布局,其中每个按键可以对应于触摸板170上的一个两维(2D)区域。这样的位置对应关系可以通过一个键盘映射表预先定义。图5展示出了一个示例性的键盘映射表。例如,根据图4的示例性触摸表面172的尺寸12×20(任意单位),在该键盘映射表中,触摸板170上不同的区域对应不同的字符。在一些实施例中,触摸板描述单元125可以定义对应多个不同的键盘布局的多个不同的键盘映射表。
据此,当指向检测单元130从图像帧115之一中检测到用户的指向装置65悬浮在触摸板170上方的某一个位置时,键检测单元140就会根据这个位置检索到在键盘映射表上的对应键,以次找到相应的悬浮键83,并进一步确定候选键84。例如,图6展示出了由摄像头110捕获的图像帧115之一。这个图像帧115示出了包含了触摸板170和两个检测出的指向装置84a、84b的图像。如上所述,系统100可以检测到触摸板170的形状和在触摸板170上的标记178,据此,系统100可以确定对应的包括x轴176a,y轴176b以及原点174在内的坐标系。因此,每个被检测到的指向装置84a,84b相对于触摸板170的位置可以被表述为坐标(x,y),由此可以根据键盘映射表来确定其在虚拟键盘80上的对应键。例如,在图6中,检测到的指向装置84a和84b分别具有坐标(3.1,6.1)和(12.6,4.7),基于图5中所示的示范性键盘映射表,系统100可确定指向装置84a和84b分别对应于虚拟键盘80上的按键“A”和“B”。
四、过程概述
图7展示了通过虚拟键盘实现输入的示例性过程的流程图。在某些实施例中,一些在流程图中所示的步骤可以被合并,或者以不同的顺序出现。
在200,摄像头可以实时产生多个包含了触摸板以及邻近触摸板的用户的手的图像帧。基于捕获的图像帧,系统可以在210处生成如上所述的虚拟键盘的显示,虚拟键盘上的键盘布局可以被预定义,或自适应于触摸板的形状和在触摸板上的标记。在220,一个或多个用户手上的指向装置可以从多个图像帧中被检测到。在230,系统可以从多个图像帧中确定一个或多个指向装置中每一个指向装置对应的候选键。在240,一个或多个指向装置中每一个指向装置对应的候选键可以在虚拟键盘上被突出显示。用户可以不断的移动指向装置直到候选键之一成为用户想要选择的按键。然后,用户可以使用该候选键对应的指向装置触摸或点击触摸板。在250,当用户点击触摸板时的触摸点被获得时,系统可以通过比较所检测到的触摸点位置和对应于一个或多个指向装置的候选键位置,在260确定被选择的按键。
五、键检测过程
图8展示出了一个键检测示范性过程的流程图。在某些实施例中,一些在流程图中所示的步骤可以被合并,或者以不同的顺序出现。
键检测可以通过对摄像头获取的连续图像帧进行实时分析来基本实现。在300开始准备键检测,某些初始化操作可以在此进行,例如,复位某些操作参数,清除先前检测到的悬浮键和/或候选键等。在305,由摄像头获取的一幅新的图像帧被用于分析。图像帧可以被预处理以去除背景噪声。图像帧也可以被另行处理,以补偿或校正摄像头相对于触摸板的的位置和/或角度的变化。
在310,系统可以从图像帧中检测到触摸板。如上所述,基于检测到的触摸板,相应的虚拟键盘的布局可以被确定。触摸板和虚拟键盘的坐标系,以及相应的键盘映射表也可以被确定。如果检测到的触摸板与前面图像帧中的保持相同,则没有必要更新。否则(例如,当检测到的触摸板具有不同的形状和/或在触摸板上有不同的标记时),系统可以更新虚拟键盘布局,触摸板和虚拟键盘的坐标系,以及关联的键盘映射表。
在315,所有悬浮在触摸板上的指向装置都可以从图像帧中被检测到。这可以通过如本领域中已知的常规的模式识别技术来实现。例如,系统可以保存一个图像模板和/或一组定量特征用以表述每一个系统所支持的指向装置,例如,几何度量、形状、阴影等。如果图像帧中的一个物体实质上匹配一个图像模板和/或一组定量特征,则该物体可以被检测为一个指向装置。在某些实施例中,该指向装置可以是用户的手指。在某些实施例中,该指向装置可以是触控笔或由系统支持的其它触摸板输入装置。
每一个被检测到的指向装置会在320被选择用于进一步的分析。在325,在图像帧中指向装置相对于触摸板的位置会被确定。然后在330,基于触摸板的坐标系能够获得指向装置对应的触摸板位置坐标(xT,yT)。在335,使用键盘映射表,对应于坐标(xT,yT)的按键可被确定为一个悬浮键。如此处所述,悬浮键是指在虚拟键盘上的按键,其对应的触摸板区域至少在一个图像帧中,有一个指向装置在它上面悬浮。
在340,对应于指向装置的候选键被确定。如此处所述,候选键是指在虚拟键盘上被突出显示的,用户可以选择作为输入的虚拟键盘按键。需要特别指出,候选键是悬浮键,但悬浮键不一定成为候选键。例如,用户可能不能够保持他的手在一个完全稳定的位置,因此可能造成指向装置无意中悬浮经过多个键,当指向装置悬浮在两个或更多相邻的键的边界上时,这样情况更容易发生。在这种情况下,系统可能在若干个连续的图像帧中检测到不同的悬浮键,虽然用户其实只试图指向一个候选键。为了提高用户输入的可靠性和准确性,区分候选键和那些非候选的悬浮键是非常重要的。在一些实施例中,在多个悬浮键中,任何一个满足一组预定规则的悬浮键可以被选择成为候选键。在一些实施例中,该组预定的规则可以描述从多个图像帧检测到的多个悬浮键之间的顺序模式和/或时间关系。
在一个有代表性的,非限制性的实施例中,系统可以在连续N个图像帧中检测到N个悬浮键,并保存它们在一个缓冲器中,其中N可以是预定义或者用户可编程的参数。这N个悬浮键可以被表示为[K(1),K(2),...,K(N)],其中K(i)代表在第i个图像帧中的第i个悬浮键(i=1...N)。在N个悬浮键中的任何一个可以和其它悬浮键相同或不同。为了确定K(N)(假设它是在本图像帧中检测出的悬浮键)能够成为候选键,K(N)可与来自先前图像帧中被检测出,并存储在缓冲器内的其它悬浮键进行比较(即K(1),K(2),...,K(N-1)),并评估K(N)是否满足预定的一组规则。以举例的方式,而不是限制,其中一个规则可能要求候选键是在连续m个(m≤N)图像帧中都保持不变的悬浮键。另一条规则可能要求候选键应为在y个图像帧中至少出现x次的同一悬浮键(x≤y≤N)。另一种替代规则可能要求候选键应是在前面n个(n≤N)图像帧中出现次数最多的同一悬浮键。此外,规则可以要求,预先确定的候选键不应被更新,除非事先设定的保持时间已经结束。这样,可以为系统建立某些滞后分析,来确定和/或更新候选键。另外,进一步的规则可能要求候选键应该与前面的图像帧中检测出的悬浮键的空间距离符合一定的预定义的标准。其它规则可基于相同或相似的原理来定义。任何的这些规则可使用任何逻辑关系组合(例如:和、或等),以形成一个新的规则。
如果在335被检测到的悬浮键满足一组预定规则,则它可以在340被判定为候选键。据此,在345候选键可以在虚拟键盘上被突出显示。在350,一个条件判断会被执行,用于检查是否存在其它需要被分析的指向装置。如果存在,则该流程分支到320,并且再次分析另一个指向装置。否则,对应于全部指向装置的候选键都已被确定,流程会返回到300,为下一个键检测做准备。该系统可以保持一个候选列表150,其包括所有确定的候选键,用于在下文中会被更详细描述的键选择过程。支持多个指向装置对虚拟键盘进行输入是很有优势的,它可以提高输入速度。例如,如果触摸板大到足以容纳两只手,则用户可以使用十个手指输入,每个手指可以可以覆盖一个或多个按键。或者,用户可以使用左右手的拇指分别覆盖虚拟键盘的左半边按键和右半边按键。
在一些实施例中,在340确定的候选键可以与置信度分数相关联,并且候选键可以通过用户可感知的,并且基于置信度得分的表示被突出显示。例如,具有不同的置信度得分的候选键在345可以被不同的突出属性所表示。置信得分可以是体现候选键是用户意图指向的按键之可能性的度量。以举例的方式,而非限制,如果候选键是一个在缓冲器中被k次(k≤N)图像帧中检测到的同一个悬浮键,则置信度得分可以被定义为k/N或一个类似指标。据此,所检测到的候选键可以以不同的格式被突出显示(例如:不同的尺寸、颜色、阴影等),从而匹配相关联的置信度得分,并告知用户指向装置确实指向预期键的可能性或可靠性,从而在需要时用户可以移动指向装置以校准指向的位置。
六、键选择过程
图9展示出了一个键选择示例性过程的流程图。在某些实施例中,一些在流程图中所示的步骤可以被合并,或者以不同的顺序出现。
如上所述,键选择可以通过比较单元160来实现,其通过比较来自触摸板检测到的触摸点和在多个图像帧中检测出的候选键,从而确定所选择的键。在400,经由触摸板的触摸事件被检测到。在405,系统暂时中断图8所示的键检测流程。在410,系统可以从候选列表中检索到对应于全部指向装置的所有被确定的候选键。在415,系统能够获得触摸板检测到的触摸点在触摸板上的位置A。例如,基于触摸板的坐标系,相对于触摸板的触摸点的位置A可以由一对触摸板的坐标(xA,yA)来表示。
在420,系统选择一个候选键并且获得其位置B。如上所述,候选键是来自于由指向装置指向的悬浮键。因此,候选键的位置B可以被由指向装置所对应的一对虚拟键盘坐标(xV,yV)来表示。作为一种替代方案,虚拟键盘上的每个键也可以被分配一对相应的坐标(xV,yV),用于反映其在虚拟键盘上的位置。例如,每个键可以依据其质心(几何中心)的位置被分配坐标。据此,候选键的位置B可以被其质心在虚拟键盘上的坐标来表示。
在425,位置A和位置B之间的距离D被计算。距离的计算可以是基于触摸板的坐标系。如上所述,触摸板和虚拟键盘之间一对一的位置对应关系可以被建立(例如,通过施加适当的缩放因子)。因此,候选键的位置B可以由虚拟键盘坐标(xV,yV)换算为触摸板坐标(xB,yB)来表示。据此,坐标位置A(xA,yA)和坐标位置B(xB,yB)之间的距离D可使用任何常规的距离度量来计算,例如欧几里得距离或城市街区距离等。同样的,触摸板坐标(xA,yA)也可以被转换为虚拟键盘坐标,从而可以基于虚拟键盘的坐标系进行距离的计算。
在430,条件判断被执行,用于检查是否存在其它需要被分析的候选键。如果存在,则该流程分支到420,提取另一候选键并重复距离计算。否则,流程进阶到435,以确定所选择的键。在一个示例性的非限制性的实施例中,那个距离D具有最小值的候选键可以被确定为所选择的键。例如,如果用(B1)来表示k个被保留在候选列表中的候选键的对应位置,并且用(D1,D2,...,Dk)来表示触摸点位置A和各个候选键的位置对应的被计算出的距离。对应于(D1,D2,....,Dk)中最小值的那个候选键可以被确定为所选择的键。换句话说,假设存在多个指向装置,并且每一个都具有相应的候选键,检测到触摸板的触摸事件之后,系统可以通过评估哪个候选键最接近触摸板上的触摸点自动确定所选择的键。
基于候选键与触摸点的比较来完成键选择可以简化系统的操作,并增强用户通过虚拟键盘输入的鲁棒性。例如,当用户决定选择一个突出显示的候选键后,在其触摸或点击触摸板那一刻之前,用户的指向装置可能已经无意中移动到了该候选键对应的位置之外。通过选择最接近触摸点的候选键,系统可以忽略这种错误,仍然正确输入用户选择的键(即最接近触摸点的被突出显示的键)。此外,通过利用接收到的光输入(例如摄像头图像帧)和接触输入(例如触摸点的位置)这两种不同但互补的信息,系统或可以放松或降低对一些硬件和/或软件的要求,例如触摸板的分辨率、摄像头的分辨率、图像处理算法的复杂性和/或精度等,从而提高效率,同时降低了系统的整体复杂度和成本。
所选的键被确定后,系统可以在440启动针对所选择的键的输入服务,并在445恢复键检测过程。基于哪一个键被选择了,输入服务可以触发不同的功能。例如,根据所选择的键,键输入服务可以通过虚拟键盘执行文本输入,控制显示的内容,改变虚拟键盘外观或键突出显示的属性,调整系统参数,等等。
七、计算环境
图10展示出了适合的计算环境500的一个一般化示例,在该环境中可以实现前面所描述的方法、实施例、技术和与例如实现虚拟输入相关联的科技。计算环境500并非旨在暗示任何对此处揭示的技术的功能和使用范围的限制,因为这些技术可以在不同的通用或专用计算环境中被实现。例如,每个被提及的技术可以由其它计算机系统配置实现,包括可穿戴和手持设备(例如移动通信设备)、多处理器系统、基于微处理器的或可编程的消费电子产品、嵌入式平台、网络计算机、小型计算机、大型计算机、智能电话、平板电脑、游戏机、游戏引擎、视频电视,等。每个提及的技术也可以在分布式计算环境中被实现,其任务由通过通信或网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储设备中。
计算环境500包括至少一个中央处理单元510和存储器520。在图10中,一个最基本的配置530被包括在虚线框内。中央处理单元510执行计算机可执行的指令,并可以是一个实际的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力,也就是说,多个处理器可以同时运行。存储器520可以是易失性存储器(例如:寄存器、高速缓存、RAM)、非易失性存储器(例如:ROM、EEPROM、闪存等)或两者的某种组合。存储器520存储了软件580a,例如,当被一个处理器执行的时候,可以实现被说明的一个或多个创新技术。
计算环境可具有其它功能。例如,计算环境500可以包括存储540,一个或多个输入单元550,一个或多个输出单元560,以及一个或多个通信单元570。一种互连机制(未示出)诸如总线、控制器、或一个网络可以被用来连接计算环境500的各个单元组件。通常,操作系统软件(未示出)为在计算环境500中被执行的其它软件提供了一个操作环境,并协调计算环境500的各组件的活动。
存储540可以是可拆卸或不可拆卸的,并且可以包括被选择的机器可读介质格式。通常的机器可读介质包括磁盘、磁带或磁带盒、非易失性固态存储器、光盘、可读写光盘、DVD光盘、光学数据存储装置、和载波,或者其它任何机器可读的媒质,其可以被用来存储信息且可以在计算环境500内被访问。存储540存储软件580b的指令,这些指令可以实现在本文中被提及的技术。
存储540还可以分布于一个网络,使软件指令以分布方式被存储和执行。在其它实施例中,某些操作也可能由包含固化逻辑的特定硬件组件来执行。这些操作或者也可能由被编程的数据处理组件和固化的硬件电路组件的任一组合来执行。
一个或多个输入单元550可以包括物理输入设备,诸如按钮、笔、鼠标或跟踪球、操纵杆、触摸表面或触摸板、语音输入设备(例如,麦克风或其它声音转换器)、图像/视频采集装置、手势识别装置、扫描装置,或其它物理设备,用以提供输入到计算环境500。输入单元550还可以包括虚拟输入界面。虚拟接口的实例可以包括,但不限于,由系统100如上所述生成的虚拟键盘80。一个或多个输出单元560可以是显示器(例如在图1中所示的显示单元40)、打印机、扬声器、CD刻录机、或从计算环境500内提供输出的另一设备。
一个或多个通信连接570利用通信介质(例如一个连接的网络)经由有线或无线通信的方式使计算环境连接到另一计算实体。通信介质传达诸如计算机可执行指令、压缩的图形图像信息、或以已调制数据信号方式承载的其它数据。
有形的机器可读介质是任何存在的,可以被计算环境500访问的有形的介质。通过示例而非限制的方式,在计算环境500,计算机可读介质包括存储器520、存储540、通信介质(未示出),以及任何上述的组合。有形计算机可读介质不包括不持续信号。
八、其它实施例
上述的例子主要涉及了虚拟键盘作为一种方便输入的系统和方法。这种虚拟键盘可以用于AR或VR技术。然而,基于本文揭示的原理,伴随对本文所述的相应系统和方法的配置改变,可以得出除上述被详细说明之外的其它虚拟输入界面实施例。仅作为一个具体的实例,虚拟输入界面可以是虚拟鼠标(或虚拟操纵杆),它具有多个用户可以突出显示和/或选择的目标按钮和/或滚动的轮子,用以操作该虚拟鼠标(或虚拟操纵杆)。
方向和其它相关参考表述,例如:上、下、左、右、质心等,可用于促进对本文附图和原理的讨论,但不是旨在进行限制。例如,可以使用某些术语如“高于”、“低于”、“水平”、“垂直”、“顶”、“底”等。这些术语的使用,在合适的时候,可以在描述相对关系时提供更清晰的表述,特别是针对于所示实施例。然而,这些术语没有旨在暗示绝对关系、位置和/或方向。如本文中所使用的,“和/或”是指“和”或者“或”,还有“和”并且“或”。此外,本文引用的所有专利和非专利文献包含了其对应于全部目的的完整的一个论述。
上述任何特定的实施例中描述的原理可以在与本文所述的另一实施例所描述的原理相结合。据此,详细描述不应该被解释为一种限制,并且通过了解本发明,本领域的普通技术人员可以使用本文描述的各种概念设计出各种各样新的信号处理技术。
此外,本领域的普通技术人员将会理解,这里揭示的示例性实施例可以被改变各种配置和/或用途,而并不脱离其揭示的原理。通过应用本文揭示的原理,也可以使各种各样的系统使用虚拟键盘进行用户输入成为可能,如在会议演示系统、游戏机中等。
上述各实施例的描述能够使所属领域的有经验的技术人员实现或使用本发明。本领域有经验的技术人员显然有能力对那些实施例作各种修改,并且本文定义的一般原理可被应用于其它实施例,而并不脱离本发明的原则或范围。因此,我们主张的权利并不旨在限于本文所示的实施例,而是符合本权利要求书语言描述的全部的范围,其中用单数提及一个单元的,例如用数量“一”时除非明示,并不旨在表示“一个且仅一个”,而是“一个或多个”。所有与本文实施例中的特征和方法在结构和功能上的等同物,不论其是本领域的普通技术人员已知的或将要知道的,均被主张包含在本文描述并被要求保护的特征内。
因此,鉴于所揭示的原理可以被应用于许多可能的实施例,我们保留权利主张被本领域中普通技术人员理解的本文描述的特征和技术的所有组合,包括例如,所有那些在所述权利主张的原则和范围内的。

Claims (20)

1.一种用于提供虚拟输入的方法,其特征在于,包括:
生成多个包含了触摸板以及邻近触摸板的用户的手的图像帧;
生成虚拟输入界面的用户可感知表示;
从所述多个图像帧中检测与用户的手关联的一个或多个指向装置;
从所述多个图像帧中确定与一个或多个被检测到的指向装置中的每一个指向装置的位置相对应的相应候选目标;
突出显示从所述多个图像帧中确定的每个相应候选目标;
检测所述指向装置中的一个指向装置点击触摸板时在触摸板上对应的相应触摸点;以及
通过将检测到的触摸点与从所述多个图像帧中确定的每个相应候选目标进行比较来确定所选择的目标。
2.根据权利要求1所述的方法,其特征在于,所确定的候选目标具有相对于触摸板的第一坐标位置,检测到的触摸点具有相对于触摸板的第二坐标位置,并且将所确定的候选目标与检测到的触摸点进行比较的动作包括计算第一坐标位置和第二坐标位置之间的距离。
3.根据权利要求2所述的方法,其特征在于,所选择的目标是在所有确定的候选目标中第一坐标位置和第二坐标位置距离最小的候选目标。
4.根据权利要求1所述的方法,其特征在于,所述虚拟输入界面具有与触摸板的形状基本一致的形状,并且虚拟输入界面的尺寸和触摸板的尺寸成比例,使得在虚拟输入界面上的每个点对应于触摸板上的唯一点,并且触摸板上的每个点对应于虚拟输入界面上的唯一点,并且虚拟输入界面具有预定义的目标的布局,其中每个目标对应于触摸板上的一个二维区域。
5.根据权利要求1所述的方法,其特征在于,还包括在所述多个图像帧中检测触摸板的形状,并检测触摸板上的标记,且根据被检测到的触摸板的形状和触摸板上的标记确定对应的虚拟输入界面上的目标的布局,其中标记能在触摸板上被显示,并且能被用户修改更新。
6.根据权利要求1所述的方法,其特征在于,确定相应候选目标的动作包括从所述多个图像帧检测多个悬浮目标,其中每个悬浮目标是基于相应指向装置相对于触摸板的位置从相应图像帧检测到的。
7.根据权利要求6所述的方法,其特征在于,候选目标是从多个检测到的悬浮目标中选择的满足一组预定规则的悬浮目标。
8.根据权利要求7所述的方法,其特征在于,该组预定规则描述了从所述多个图像帧检测到的所述多个悬浮目标之间的顺序模式和/或时间关系。
9.根据权利要求1所述的方法,其特征在于,还包括在头戴式设备上显示虚拟输入界面的用户可感知表示。
10.根据权利要求1所述的方法,其特征在于,突出显示候选目标的动作包括基于与候选目标相关联的置信度得分来生成候选目标的用户可感知表示,其中置信度得分度量用户意图使用所述指向装置中的一个指向装置指向候选目标的可能性。
11.一种用于提供虚拟输入的系统,其特征在于,该系统包括:
摄像头,适于生成多个包含了触摸板以及邻近触摸板的用户的手的图像帧;
键盘投影仪,适于生成虚拟输入界面的用户可感知表示;
指向检测单元,适于从所述多个图像帧中检测与用户的手相关联的一个或多个指向装置;
键检测单元,适于从所述多个图像帧中确定与一个或多个被检测到的指向装置的每一个位置相对应的相应候选目标;
键标识单元,适于突出显示从所述多个图像帧中确定的每个相应候选目标;
触摸板,适于检测所述指向装置中的一个指向装置点击触摸板时在触摸板上对应的相应触摸点;以及
比较单元,适于通过将检测到的触摸点与从所述多个图像帧中确定的每个相应候选目标进行比较来确定所选择的目标。
12.根据权利要求11所述的系统,其特征在于,所确定的候选目标具有相对于触摸板的第一坐标位置,检测到的触摸点具有相对于触摸板的第二坐标位置,并且将所确定的候选目标与检测到的触摸点进行比较的动作包括计算第一坐标位置和第二坐标位置之间的距离。
13.根据权利要求12所述的系统,其特征在于,所选择的目标是在所有确定的候选目标中第一坐标位置和第二坐标位置距离最小的候选目标。
14.根据权利要求11所述的系统,其特征在于,所述虚拟输入界面具有与触摸板的形状基本一致的形状,并且虚拟输入界面的尺寸和触摸板的尺寸成比例,使得在虚拟输入界面上的每个点对应于触摸板上的唯一点,并且触摸板上的每个点对应于虚拟输入界面上的唯一点,并且虚拟输入界面具有预定义目标的布局,其中每个目标对应于触摸板上的一个二维区域。
15.根据权利要求11所述的系统,其特征在于,还包括有触摸板检测单元,适于在所述多个图像帧中检测触摸板的形状,并检测触摸板上的标记,且根据被检测到的触摸板的形状和触摸板上的标记确定对应的虚拟输入界面上的目标的布局,标记能在触摸板上被显示,并且能被用户修改更新。
16.根据权利要求11所述的系统,其特征在于,该键检测单元适于从所述多个图像帧检测多个悬浮目标,其中每个悬浮目标是基于相应指向装置相对于触摸板的位置从相应图像帧检测到的。
17.根据权利要求16所述的系统,其特征在于,该键检测单元适于从多个检测到的悬浮目标中选择候选目标,候选目标是满足一组预定规则的悬浮目标。
18.根据权利要求17所述的系统,其特征在于,其中该组预定规则描述了从所述多个图像帧检测到的所述多个悬浮目标之间的顺序模式和/或时间关系。
19.根据权利要求11所述的系统,其特征在于,还包括头戴式设备上的显示单元,该显示单元适于显示虚拟输入界面的用户可感知表示。
20.根据权利要求11所述的系统,其特征在于,确定的候选目标是基于与候选目标相关联的置信度得分通过候选目标的用户可感知表示被突出显示的,其中置信度得分预测用户意图使用所述指向装置中的一个指向装置指向候选目标的可能性。
CN201710073964.2A 2017-02-10 2017-02-10 虚拟输入系统和相关方法 Pending CN108415654A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710073964.2A CN108415654A (zh) 2017-02-10 2017-02-10 虚拟输入系统和相关方法
US15/594,551 US20180232106A1 (en) 2017-02-10 2017-05-12 Virtual input systems and related methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710073964.2A CN108415654A (zh) 2017-02-10 2017-02-10 虚拟输入系统和相关方法

Publications (1)

Publication Number Publication Date
CN108415654A true CN108415654A (zh) 2018-08-17

Family

ID=63106357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710073964.2A Pending CN108415654A (zh) 2017-02-10 2017-02-10 虚拟输入系统和相关方法

Country Status (2)

Country Link
US (1) US20180232106A1 (zh)
CN (1) CN108415654A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787410A (zh) * 2020-07-03 2020-10-16 三星电子(中国)研发中心 一种键盘输入方法和键盘输入装置
CN112256121A (zh) * 2020-09-10 2021-01-22 苏宁智能终端有限公司 基于ar技术输入法的实现方法及装置
CN115033170A (zh) * 2022-05-20 2022-09-09 阿里巴巴(中国)有限公司 一种基于虚拟键盘的输入控制系统、方法及相关装置
CN116931735A (zh) * 2023-08-03 2023-10-24 北京行者无疆科技有限公司 Ar眼镜显示终端设备按键悬浮位置识别系统及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6839519B2 (ja) * 2016-10-25 2021-03-10 東プレ株式会社 キーボード閾値変更装置及びキーボード
KR102389185B1 (ko) * 2017-10-17 2022-04-21 삼성전자주식회사 컨텐츠의 적어도 일부를 통해 표시된 입력 인터페이스를 이용하여 기능을 실행하기 위한 전자 장치 및 방법
US11669243B2 (en) * 2018-06-03 2023-06-06 Apple Inc. Systems and methods for activating and using a trackpad at an electronic device with a touch-sensitive display and no force sensors
US11144115B2 (en) * 2019-11-01 2021-10-12 Facebook Technologies, Llc Porting physical object into virtual reality
WO2021208965A1 (zh) * 2020-04-14 2021-10-21 Oppo广东移动通信有限公司 文本输入方法、移动设备、头戴式显示设备以及存储介质
US11442582B1 (en) * 2021-03-05 2022-09-13 Zebra Technologies Corporation Virtual keypads for hands-free operation of computing devices
US12026344B2 (en) * 2022-12-05 2024-07-02 Cypress Semiconductor Corporation Hover detection for touchscreens

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915979A (zh) * 2014-03-10 2015-09-16 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
CN105224069A (zh) * 2014-07-03 2016-01-06 王登高 一种增强现实虚拟键盘输入方法及使用该方法的装置
CN106233227A (zh) * 2014-03-14 2016-12-14 索尼互动娱乐股份有限公司 具有体积感测的游戏装置
CN106383652A (zh) * 2016-08-31 2017-02-08 北京极维客科技有限公司 一种虚拟输入方法及系统装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915979A (zh) * 2014-03-10 2015-09-16 苏州天魂网络科技有限公司 跨移动平台实现沉浸式虚拟现实的系统
CN106233227A (zh) * 2014-03-14 2016-12-14 索尼互动娱乐股份有限公司 具有体积感测的游戏装置
CN105224069A (zh) * 2014-07-03 2016-01-06 王登高 一种增强现实虚拟键盘输入方法及使用该方法的装置
CN106383652A (zh) * 2016-08-31 2017-02-08 北京极维客科技有限公司 一种虚拟输入方法及系统装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787410A (zh) * 2020-07-03 2020-10-16 三星电子(中国)研发中心 一种键盘输入方法和键盘输入装置
CN112256121A (zh) * 2020-09-10 2021-01-22 苏宁智能终端有限公司 基于ar技术输入法的实现方法及装置
CN115033170A (zh) * 2022-05-20 2022-09-09 阿里巴巴(中国)有限公司 一种基于虚拟键盘的输入控制系统、方法及相关装置
CN116931735A (zh) * 2023-08-03 2023-10-24 北京行者无疆科技有限公司 Ar眼镜显示终端设备按键悬浮位置识别系统及方法
CN116931735B (zh) * 2023-08-03 2024-05-28 北京行者无疆科技有限公司 Ar眼镜显示终端设备按键悬浮位置识别系统及方法

Also Published As

Publication number Publication date
US20180232106A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
CN108415654A (zh) 虚拟输入系统和相关方法
US10261595B1 (en) High resolution tracking and response to hand gestures through three dimensions
CN110308789B (zh) 用于与外围设备的混合现实交互的方法和系统
US10444908B2 (en) Virtual touchpads for wearable and portable devices
CN105339870B (zh) 用于提供虚拟输入界面的方法和可穿戴装置
CN107615214B (zh) 界面控制系统、界面控制装置、界面控制方法及程序
US7774075B2 (en) Audio-visual three-dimensional input/output
US11030980B2 (en) Information processing apparatus, information processing system, control method, and program
JP2016523420A (ja) デジタルデバイスとの対話のための直接的なポインティング検出のためのシステムおよび方法
US11054896B1 (en) Displaying virtual interaction objects to a user on a reference plane
US11009949B1 (en) Segmented force sensors for wearable devices
US11803233B2 (en) IMU for touch detection
US10621766B2 (en) Character input method and device using a background image portion as a control region
US11886643B2 (en) Information processing apparatus and information processing method
US20170131760A1 (en) Systems, methods and techniques for inputting text into mobile devices using a camera-based keyboard
US20160139693A9 (en) Electronic apparatus, correction method, and storage medium
US11620790B2 (en) Generating a 3D model of a fingertip for visual touch detection
JP2013171529A (ja) 操作入力装置、操作判定方法およびプログラム
US12026326B2 (en) Pen state detection circuit and method, and input system
US11392237B2 (en) Virtual input devices for pressure sensitive surfaces
US11782548B1 (en) Speed adapted touch detection
CN110291495B (zh) 信息处理系统、信息处理方法及程序
WO2021161769A1 (ja) 情報処理装置、情報処理方法、およびプログラム
EP3059664A1 (en) A method for controlling a device by gestures and a system for controlling a device by gestures
US20230290071A1 (en) Model display method, apparatus and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180817