CN107710132B - 用于施加用于表面约束控制的自由空间输入的方法和装置 - Google Patents

用于施加用于表面约束控制的自由空间输入的方法和装置 Download PDF

Info

Publication number
CN107710132B
CN107710132B CN201680036361.9A CN201680036361A CN107710132B CN 107710132 B CN107710132 B CN 107710132B CN 201680036361 A CN201680036361 A CN 201680036361A CN 107710132 B CN107710132 B CN 107710132B
Authority
CN
China
Prior art keywords
input
free space
virtual
processor
data entity
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
Application number
CN201680036361.9A
Other languages
English (en)
Other versions
CN107710132A (zh
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.)
West Texas Technology Partners LLC
Original Assignee
Atheer Inc
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 Atheer Inc filed Critical Atheer Inc
Priority to CN202111259792.0A priority Critical patent/CN113986110B/zh
Publication of CN107710132A publication Critical patent/CN107710132A/zh
Application granted granted Critical
Publication of CN107710132B publication Critical patent/CN107710132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

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)
  • Position Input By Displaying (AREA)

Abstract

自由空间输入标准在处理器上被实例化。自由空间输入被感测并传送到处理器。如果自由空间输入满足自由空间输入标准,则在操作系统中引发触摸屏输入响应。自由空间输入可以使用连续隐式、离散隐式、主动显式或被动显式方法来感测。触摸屏输入响应可以通过将虚拟触摸屏输入、虚拟输入事件或虚拟命令传送到操作系统或在操作系统内来引发。以这种方式,自由空间姿势可以控制现有的触摸屏接口和设备,而不用直接修改那些接口和设备来接受自由空间姿势。

Description

用于施加用于表面约束控制的自由空间输入的方法和装置
相关申请的交叉引用
本申请要求于2015年5月15日提交的美国专利申请第14/713,971号的优先权,其全部内容通过引用明确地并入本文。
技术领域
本公开涉及用姿态和/或姿势来控制电子设备。本公开更具体地涉及使用自由空间(例如,基本上无界的和/或三维的)姿态、姿势和/或其他输入来引发表面约束输入功能,并且控制适于对其作出响应的设备。
相关技术的说明
输入可以通过被约束给表面的操纵来递送,例如通过使用所谓的“触摸屏”接口。触摸屏包含覆盖可视显示器的接触感测表面。这种布置使得用户能够通过物理接触(例如,通过用指尖触摸触摸屏,在与触摸屏接触的同时将指尖从一个地方移动到另一个地方,等等)来递送输入。
可以将与触摸屏的各种特定的接触或各组接触分配为对应于与触摸屏通信的设备或系统的特定功能。例如,用指尖触摸屏幕、在与触摸屏保持接触的同时向右滑动指尖以及将指尖从触摸屏的表面提离可以统称为“右划”,其与诸如“向右移动屏幕内容”的功能相关联。
然而,物理接触输入和/或表面约束输入可能不是在所有情况下都期望的。例如,在至少某些情况下,可能存在关于污染、对触摸屏的潜在损害、在递送输入时保持物理屏幕的困难等的担忧。此外,触摸屏通常局限于仅接收可以在有限的二维表面上递送的输入。
发明内容
实施例涉及用于施加用于表面约束控制的自由空间输入的各种系统、装置、方法和范例。
在一个实施例中,提供了一种方法,其包括:在处理器中建立自由空间输入标准;利用传感器感测自由空间输入;以及将自由空间输入传送到处理器。如果自由空间输入满足自由空间输入标准,则在处理器中引发对表面约束输入的表面约束输入响应。
自由空间输入标准可以是三维输入标准。自由空间输入标准可以是姿势标准和/或姿态标准。自由空间输入标准可以包括自由空间中的末端执行器的运动标准。
表面约束输入可以包括触摸屏输入、触下(touchdown)、和/或触下并划动。
感测自由空间输入可以包括对所述自由空间输入进行成像、立体成像、视频成像和深度成像,可以包括随时间推移评估,并且可以包括随时间推移以一定间隔评估多个图像。
装置可以用表面约束输入响应来控制。
自由空间输入标准可以包括用于至少一个末端执行器的多个末端执行器标准,关于自由空间输入共同考虑用于末端执行器。自由空间输入标准可以包括各种标准,例如用于端部执行器的速度、速率、位置、取向、方向、加速度、关节角度、分离、伸展和/或选择的标准。
自由空间输入标准可以包括考虑到路径形状、速率、加速度和关节位置的手指伸出的侧面到侧面划动的随时间推移的分布图。自由空间输入标准可以包括各种标准,例如用于端部执行器的速度、速率、位置、取向、方向、加速度、关节角度、分离、伸展和选择的标准。
自由空间输入标准可以包括至少针对第一和第二子标准顺序考虑的用于末端执行器的多个末端执行器运动标准,第一子标准对应于表面约束输入的第一部分,第二子标准对应于表面约束输入的第二部分,第一和第二部分针对自由空间输入顺序考虑。
自由空间输入标准可以包括用于接触边界区域的执行器的标准,使得接触边界区域的末端执行器对应于与表面约束输入的约束表面的接触。
边界区域可以包括球壳、平面和/或直棱体。边界区域可以至少基本上与物理对象的表面对齐。自由空间输入标准可以包括用于端部执行器的速度、速率、位置、取向、方向、加速度、关节角度、分离、伸展和/或选择的标准。
自由空间输入标准可以包括用于末端执行器的多个末端执行器运动标准以及与末端执行器的运动至少基本上同步的指示。该指示可以包括手姿态、手姿势、眼睛姿态、眼睛姿势和/或语音命令。自由空间输入标准可以包括用于端部执行器的速度、速率、位置、取向、方向、加速度、关节角度、分离、伸展和/ 或选择的标准。
自由空间输入标准可以包括多个状态标准。状态标准可以适用于组合以形成多个自由空间输入标准,每个自由空间输入标准对应于自由空间输入。每个状态标准可以包括用于末端执行器的运动的标准。
在另一个实施例中,提供了一种装置,其包括用于在处理器中建立自由空间输入标准的部件,用于利用传感器感测自由空间输入的部件以及用于将自由空间输入传送到处理器的部件。该装置还包括用于在自由空间输入满足自由空间输入标准的情况下在处理器中引发对表面约束输入的表面约束输入响应的部件。
在另一个实施例中,提供了一种装置,其包括适于执行可执行指令的处理器,以及与处理器通信的传感器。该装置包括在处理器上实例化的自由空间输入标准,以及在处理器上实例化且适于将自由空间输入与自由空间输入标准进行比较的自由空间输入比较器。该装置还包括表面约束输入响应引发器,其在处理器上实例化,并且适于在处理器中引发对表面约束输入的表面约束输入响应。
处理器和传感器可以设置在头戴式显示器上。
在另一个实施例中,提供了一种方法,其包括:在处理器中建立自由空间输入标准;利用传感器感测自由空间输入;以及将自由空间输入传送到处理器。该方法包括在处理器中生成表面约束通信和将表面约束通信传送到数据实体,其中如果自由空间输入满足自由空间输入标准,则数据实体执行与表面约束输入相对应的响应。
数据实体可以包括操作系统,和/或可以在处理器上实例化。
自由空间输入可以包括三维输入,和/或可以包括手姿态和/或手姿势。
该方法可以包括在处理器中生成虚拟表面约束输入和将虚拟表面约束输入传送到数据实体,其中数据实体接受虚拟表面约束输入作为表面约束输入并且在自由空间输入满足自由空间输入标准时执行与表面约束输入相对应的响应。将虚拟表面约束输入传送到数据实体可以包括建立虚拟表面约束输入链接并将到数据实体的虚拟表面约束输入链接识别为实际表面约束输入源。
虚拟表面约束输入可以包括虚拟触摸屏输入。虚拟表面约束输入可以包括虚拟触下(touchdown)输入。虚拟表面约束输入可以包括虚拟触下和划动输入。虚拟表面约束输入可以至少包括随时间推移至少基本上对应于触摸屏上的触下和划动的x和y坐标以及压力。
该方法可以包括生成考虑所述自由空间输入的虚拟表面约束输入。虚拟表面约束输入可以包括将自由空间输入转换成对应的表面约束形式。该方法可以包括生成不包含自由空间输入的虚拟表面约束输入。
该方法可以包括在处理器中生成用于数据实体的虚拟表面约束输入事件和将虚拟表面约束输入事件传送到数据实体,其中数据实体接受虚拟表面约束输入事件作为表面约束输入事件并且在自由空间输入满足自由空间输入标准时执行与表面约束输入事件相对应的响应。将虚拟表面约束输入事件传送到数据实体可以包括建立虚拟事件链接并将到数据实体的虚拟事件链接识别为实际事件源。
虚拟表面约束输入事件可以包括虚拟触摸屏输入事件、虚拟触下输入事件和/或虚拟触下和划动输入事件。
该方法可以包括在处理器中为数据实体生成虚拟命令和将虚拟命令传送到数据实体,其中数据实体接受该虚拟命令作为命令,并且在自由空间输入满足自由空间输入标准时执行与该命令相对应的响应。将虚拟命令传送到所述数据实体可以包括建立虚拟命令链接并且将到数据实体的虚拟命令链接识别为实际命令源。
虚拟命令可以包括虚拟触摸屏命令、虚拟触下命令和/或虚拟触下且划动命令。
该方法可以包括用该响应来控制装置。
在另一个实施例中,提供了一种方法,其包括在头戴式显示器的处理器中建立包括在自由空间中的手姿势的速度、速率、方向、加速度、关节角度、手指分离、手指伸展和/或手指选择的标准的自由空间输入标准。该方法包括随时间推移利用头戴式显示器的深度成像器感测手姿势的自由空间输入的多个深度图像和将自由空间输入传送到处理器。如果自由空间输入满足所述自由空间输入标准,则在处理器中生成虚拟触摸屏触下和划动输入,并且将虚拟触摸屏触下和划动输入传送到操作系统,使得操作系统执行对其的响应,并用该响应来控制头戴式显示器。
在另一个实施例中,提供了一种装置,其包括用于在处理器中建立自由空间输入标准的部件,用于感测自由空间输入的部件以及用于将自由空间输入传送到处理器的部件。该装置还包括用于在处理器中生成虚拟表面约束通信和将表面约束通信传送到数据实体的部件,使得如果自由空间输入满足自由空间输入标准,则数据实体执行与该通信相对应的响应。
在另一个实施例中,提供了一种包括处理器和与处理器通信的传感器的装置。该装置包括在处理器上实例化的自由空间输入标准,以及在处理器上实例化且适于将自由空间输入与自由空间输入标准进行比较的自由空间输入比较器。该装置还包括:虚拟表面约束通信生成器,其在处理器上实例化,并且适于生成表面约束通信;以及通信器,其在处理器上实例化并且适于将表面约束通信传送到数据实体,使得数据实体执行与表面约束输入相对应的响应。
处理器和传感器可以设置在头戴式显示器上。传感器可以包括深度成像器。
附图说明
相同的附图标记通常指示附图中的对应元件。
图1A和图1B分别以俯视图和透视图示出了向右划动形式的触摸屏输入的示例。
图2A至图2D以透视图示出了触摸屏输入中的各个事件。
图3以俯视图示出了自由空间输入的示例布置。
图4A和图4B分别示出了根据前视和后视透视图的自由空间输入的另一示例布置。
图5以透视图示出了用于自由空间输入的示例初始手位置。
图6示出了用于引发具有连续隐式形式的表面约束输入的自由空间输入的示例布置。
图7示出了用于自由空间输入的示例布置,示出了可以在标准中考虑的排除现象的示例。
图8示出了用于自由空间输入的另一个示例布置,示出了可以在标准中考虑的排除现象的另一个示例。
图9示出了用于引发具有离散隐式形式的表面约束输入的自由空间输入的示例布置。
图10示出了用于引发表面约束输入的自由空间输入的布置,其具有被动显式形式并且结合了边界表面。
图11A至图11D示出了用于引发表面约束输入的自由空间输入的布置,其具有被动显式形式并且结合了包围体。
图12A至图12D示出了具有主动显式形式的用于引发表面约束输入的自由空间输入的布置。
图13以流程图形式示出了用于施加用于表面约束控制的自由空间输入的示例方法。
图14以流程图形式示出了用于利用连续隐式方法施加用于表面约束控制的自由空间输入的另一示例方法。
图15A和图15B以流程图形式示出了用于利用离散隐式方法施加用于表面约束控制的自由空间输入的另一示例方法。
图16以透视图示出了用于利用连续隐式方法来感测自由空间输入的示例布置。
图17以透视图示出了用于利用离散隐式方法来感测自由空间输入的另一示例布置。
图18以流程图形式示出了用于利用被动显式方法施加用于表面约束控制的自由空间输入的另一示例方法。
图19以流程图形式示出了用于利用主动显式方法施加用于表面约束控制的自由空间输入的另一示例方法。
图20以流程图形式示出了用于施加用于表面约束控制的自由空间输入、通过虚拟输入引发响应的示例方法。
图21以流程图的形式示出了用于施加用于表面约束控制的自由空间输入、通过对头戴式显示器的虚拟输入来引发响应的另一示例方法。
图22以流程图的形式示出了用于施加用于表面约束控制的自由空间输入、通过对头戴式显示器的虚拟事件来引发响应的示例方法。
图23以流程图的形式示出了用于施加用于表面约束控制的自由空间输入、通过对头戴式显示器的虚拟命令来引发响应的示例方法。
图24A和图24B以流程图的形式示出了用于利用离散隐式方法施加用于表面约束控制的自由空间输入并且通过对头戴式显示器的虚拟命令来引发响应的示例方法。
图25以示意图形式示出了装置的示例性实施例。
图26以示意图形式示出了装置的另一示例性实施例,示出了附加元件。
图27以透视图示出了装置的示例性实施例。
图28示出了可以实现以下操作的处理系统的框图。
具体实施方式
本公开的各种实施例提出了使用自由空间输入来引发表面约束输入,例如在空间中使用三维姿势以通过某种方式导致执行本来与触摸屏输入相关联的命令。因此,考虑例如使用触摸屏的“向右划动”输入的表面约束输入的某些属性可能是有启发性的。作为输入施加到某些触摸屏和/或由触摸屏控制的设备 (例如,智能电话、平板电脑等)的向右划动可以例如将显示的内容向右移动,在电子书上“翻页”,或执行其他功能。
参照图1A,其中示出了以向右划动的形式通过触摸屏递送的输入的俯视图。可以看出,对于向右划动,在手104A与触摸屏102A接触的同时,手104A如由运动箭头106A(在此为了清楚而示出,实际上不一定可见)所示从左向右移动。如图1A的布置所示,触摸屏102A是平板电脑的一部分,但这仅是示例。
现在参照图1B,再次示出了类似的向右划动的另一视图,在该图示中,示出了从触摸屏102B的略微上方和前方观察的透视图。同样,可以看出,手104B 与触摸屏102B接触(更具体地,其伸出的食指指尖与触摸屏102B接触),并且如由运动箭头106B所示,从左向右移动(如由观看者看到的;从所示视角来看从右向左)。
纯粹作为运动考虑,向右划动在本质上可能看起来是简单的:从左到右的运动。然而,在实践中,通过触摸屏接口递送的输入不一定仅仅是运动。支持触摸屏的操作系统和其他程序或可执行指令通常将触摸屏输入作为几个不同的事件来处理。图2A至图2D呈现了向右划动中可能存在的某些事件的示例分解。然而,应当理解,图2A至图2D中所示事件可能不一定是详尽的,并且对于某些触摸屏接口可以考虑附加的和/或不同的事件。此外,向右划动只是许多可能输入中的一个,其他输入也可以考虑其他事件。
现在参照图2A,其中显示了触摸屏202A的另一个透视图。图2A的布置表示在向右划动被输入到触摸屏之前的初始状态。手204A悬在触摸屏202A上方,在所示的时间,在手204A和触摸屏202A之间未进行接触。
继续图2B,从与图2A的比较可以看出,手204B已经朝向触摸屏202B下降,使得手204B与触摸屏202B接触。向下运动也可以从运动箭头206B理解。在图 2B中还示出指示手204B和触摸屏202B之间的接触点的接触标记208B。到目前为止,手204B在触摸屏202B的表面上没有发生从左到右的运动。
示出接触标记208B是为了强调接触确实存在于手204B和触摸屏202B之间(接触标记208B是说明性的,并且在实践中可能不可见)。接触通常在触摸屏输入中可能具有相当大的重要性,而不仅仅是作为在触摸屏202B的表面上的跟踪运动,而是本身作为输入事件。针对图2的其余部分更详细地讨论这种重要性。
现在参照图2C,从与图2B的比较可以看出,手204C已经在触摸屏202C的表面上从左到右(从观看者角度看)移动,同时与触摸屏202C接触。从运动箭头 206C也可以理解从左到右的运动。如可以看到的以及用接触标记208C强调的那样,手204C与触摸屏202C保持接触,并在由运动箭头206C所示的整个运动期间保持与触摸屏202C接触。
继续图2D,从与图2C的比较可以看出,手204D已经从触摸屏202D的表面向上移动,使得手204D不再与触摸屏202D接触。向上运动也可以从运动箭头 206D理解。出于说明目的,还示出了表示手204D和触摸屏202D之间的最后接触点的接触标记208D,尽管这种接触不再进行。
虽然术语“向右划动”外显地仅指向右的运动,但在实践中向右划动可能实际上构成了多个事件。例如,如在图2A至图2D中集体示出的,向右划动可以被概念化为合并例如:表示手204B在接触点208B处与触摸屏202B进行接触的触下事件,如图2B所示;表示适当的划动运动的划动事件,其中在与触摸屏 202C在接触标记208C处保持接触的同时,手204C在触摸屏202C上移动,如图 2C所示;和表示手204D从此前的接触点208D离开与触摸屏202D的接触的抬起事件。
尽管图2A至图2D中的布置仅是示例,但是通常触摸屏实际上可以在接收输入过程中利用类似的多事件布置。也就是说,触摸屏可能需要触下事件和划动事件(和/或抬起事件等)两者。这样的事件可以被独立地感测,并且由处理器 (和/或在其上实例化的操作系统或其他程序)不同地处理,使得如果触碰事件、抬起事件或两者不存在(或以某种方式与划动没有正确地关联),则划动事件不可以被单独地接受为划动输入。
因此,即使划动运动本身可以被认为是以对话术语来“定义”划动,但就实现而言,递送划动输入可能需要诸如触下和/或抬起事件的一个或多个附加事件。通常,这可能是一个实际的考虑因素,为了可靠地辨别划动与其他输入、噪声等,需要用于划动的明确限定的开始(触下)和/或明确限定的结束(抬起)。
如上所述,各种实施例提出使用自由空间输入来引发表面约束输入;为了继续图2A至图2D的示例,这可以包括使用三维手划动姿势来使处理器、处理器控制的设备、系统等执行通过该处理器与触摸屏的划动输入相关联的功能。
这种布置的至少某些优点可能涉及允许将用于触摸屏和其他表面约束输入接口的已经存在的硬件、软件、专业知识等应用到新的设备、接口、输入和控制方法等。
考虑例如已经适用于接受来自触摸屏的输入的诸如智能电话的电子设备。这样的设备可以至少部分地通过使用在其处理器上实例化的操作系统(例如 Android OS)来操作。在Android作为具体示例的情况中,其中已经存在支持,以用于识别诸如划动的触摸屏输入,用于感测构成姿势的事件(例如,如上所述用于向右划动的触下、划动等),并且用于响应于这样的触摸屏输入而在运行 Android的设备内调用各种命令和/或其他功能。
类似地,考虑到存在适合于接受来自触摸屏的输入的电子设备,除了操作系统之外的大量附加程序、插件、数据文件等也可以用于这样的设备。再次考虑Android作为具体的示例,这可能包括媒体播放器、游戏、消息收发应用程序、视频会议程序等。
通常,适于与接受触摸屏输入的设备或系统一起使用的操作系统和/或其他程序可以在其中包括对此类触摸屏输入进行识别、接收、响应等的能力。然而,这样的操作系统和/或其他程序通常可能不适合于使用新方法(例如,自由空间中的姿势)来接受输入。
通俗地说,现有的智能电话可能不会响应于手姿势。即使智能电话原则上具有用于感测手姿势输入的适当传感器(例如相机),情况也可能如此。即使使用这样的传感器,智能电话(或其他设备或系统)可能例如缺乏将这样的姿势辨别为明确限定的输入的能力,和/或即使被识别也响应于这种姿势的合适的指令。
各种实施例支持至少实现解决上述两个问题的能力:辨别自由空间姿势;以及传达这样的姿势以便可用作输入。尽管这些并不一定代表唯一的功能或优点,但是这两者在本文中随后将作为示例更详细地讨论。
在解决这些问题以使触摸屏输入设备和系统能够接受自由空间姿势方面,存在多种优点。例如,为接受自由空间姿势输入的电子设备编写新的操作系统和/或充分修改操作系统以实现自由空间姿势输入可能意味着不一般的问题。操作系统的创建和/或重大改变通常由于昂贵、耗时和充满潜在错误而臭名昭著。类似地,编写或调整个别程序以接受自由空间输入也可能是有问题的。各种实施例使得能够将现有的代码、操作系统、程序、库、插件等以及现有的硬件用于自由空间输入。这可能意味着时间、精力、资金等方面的潜在节省,并且还有利于继续使用大量现有软件(即“向后兼容性”)。
此外,如果使用以某种方式类似于或者说是与熟悉的触摸屏输入相对应的自由空间姿势,则用户可以更容易地适应于使用自由空间姿势。作为更具体的示例,如果在自由空间中做出从左到右的划动姿势以表示在触摸屏上的从左到右划动,并且具有类似或等同的物理运动和/或对该运动的类似或等同的系统响应,则用户可以更容易适应于使用自由空间姿势作为输入。从用户的角度来看,他或她可能会“做同样的事情”(至少就用户而言)来利用自由空间姿势控制设备或系统,以便利用触摸屏输入来控制设备或系统。尽管事实上,用于处理输入的方法对于自由空间姿势而言可能相比触摸屏输入极不相同,但是如果在考虑用户的情况下存在明显的相似性,则可以减少采用自由空间姿势输入的用户障碍。
如上所述,各种实施例提供的功能包括但不限于允许自由空间姿势被辨别,以及响应于此而调用现有功能。现在将讨论前一功能;随后将更详细地讨论后一功能。
如此前针对图2A至图2D所描述的,诸如触摸屏的表面约束输入方法可以并且通常确实依赖于与手指和物理触摸板表面之间的实际接触相对应的感测事件。因此,识别向右划动可以包括记录触下事件和与地面接触的运动(并且可以包括诸如记录抬起等的其他事件)。对于诸如手姿态和姿势的自由空间输入,通常不存在这样的物理表面。因此,将自由空间向右划动姿势识别为与触摸屏向右划动姿势相对应的输入可能是有问题的,因为某些事件(尤其是涉及物理接触的事件)不会并且通常不可能发生在自由空间姿势中。
更通俗地说,这个问题可能看作这样的问题:在没有触摸屏可触摸的情况下,如何用明显相似的自由空间划动代替触摸屏划动?
现在在这里示出和描述用于辨别可以用作对触摸屏输入的模拟的自由空间姿势输入的方法的几个示例。应该强调的是,这些仅仅是例子。尽管到目前为止作为示例使用的向右划动输入在这里同样作为示例被提出,但是输入不仅限于向右划动、划动或者任何其他特定的姿势或输入。此外,除了本文所示出和描述的那些之外的方法可能同样适合。此外,尽管在至少一些情况下利用与表面约束输入具有视觉相似性的自由空间姿势(例如,自由空间划动姿势相对于触摸屏划动)可能是有利的,但这不是必要的;自由空间姿势不需要与任何表面约束输入相同,或者必然甚至类似于任何表面约束输入。
现在参照图3,虽然触摸屏和其他表面约束输入可能依赖于严格地限定的几何形状来支持输入,但是对于自由空间姿势,可能不一定存在任何这样的几何形状。例如,在图3的布置中,存在手304,其已经执行如由运动箭头306所指示的从左到右的运动。在触摸屏可以通过与表面的物理接触来感测这种运动的情况下,图3还示出了成像器310,其具有包围手304的至少一部分及其运动 306的视场312。
转到图4A,其中图3可以被认为是有些抽象的(例如,在示出简单的、断开的相机轮廓方面),图4A示出了类似于一副眼镜的头戴式显示器形式的装置414A 的布置的透视图。可以看出,装置414A在其上包括例如用于感测手404A及其运动的两个成像器410A。(尽管通常在使用中,头戴式显示器414A可以由人佩戴,但是其头部、脸部等可能不一定直接参与姿势输入、姿势的感测、命令的处理和执行等,并且因此为了简化而被省略。应当强调的是,即使在图404A中示出了手404A,并且为了清楚的目的而在本文中的其他地方也示出和提及了手,但是作为整体的手和用户本身都不一定被认为是实施例的一部分。)
图4B示出了与图4A类似的布置,其从例如可能更接近于观看者的观察视角的不同的观察视角示出,即,设备414B从后面示出为其上设置有成像器410B,并且定位成使得成像器410B可以感测手404B和/或其运动。
现在参照图5,其中示出了自由空间中的手504。图5的布置可以被认为表示下文所示和所述的某些自由空间姿势输入的开始位置。此外,图5所示的布置可以被认为是已经描述的问题的说明:即,对于自由空间姿势,当可能不存在这样的表面时,利用与触摸屏或类似物的物理接触来识别事件和/或输入可能是麻烦的。
综合考虑图6至图11D,其中示出了与表面约束输入可比较的自由空间姿势输入中的几种布置。除非另外指明,图6至图11D中所示姿势可以被认为示出了在姿势之后或姿势期间的配置,其中的姿势已经以与图5所示的配置类似的配置开始。
转到图6,其中示出了手604,其执行了如运动标记606所示的姿势。从运动标记606可以看出,手604的运动(来自类似于图5的初始配置)是最初是向下和从左到右(如做出动作的人所看到的),然后在水平的同时从左到右,然后在继续从左到右的同时向上。图6将手604的运动基本上表示为单个连续体,如从单个连续运动标记606可以理解的那样。
可以注意到,图6中所示布置反映了各种实施例所解决的问题之一:即,与可用于表面约束输入的更具体的物理接触事件(例如,触下)相比,在自由空间姿势中缺乏明确定义的“标记”。各种实施例可以以多种方式解决这种缺乏问题,同时仍然能够通过使用至少在一定程度上与触摸屏输入相当的自由空间姿势来进行输入。
本文描述了对各种自由空间输入进行的表征、解释、区分等的许多变化。为了识别的目的,图6所示的布置可以被认为代表“连续隐式”方法。也就是说,讨论了用来辨别自由空间姿势(或其他输入)或通过其将自由空间姿势与其他输入姿势区分开来的特征,其将运动考虑为连续实体。(而不是考虑为部分,如在本文中随后描述的那样)。就“隐式”而言,对于其中自由空间姿势变得类似于表面约束输入的配置,与该表面约束输入相关联的某些事件(例如,在表面上触下、沿表面划动、从触摸屏表面抬起)的存在性在某种意义上是隐含的。也就是说,这些事件可能不是以具体形式存在的(例如,因为没有要接触的表面),并且可能没有外显的替代物。对于图6中所示的布置,例如,由于运动本身的参数和/或类似因素,运动可以被理解为划动,甚至在不一定存在要执行或感测以具体地表示对触下等的模拟的情况下。运动本身限定了划动,因此从某种意义上说,诸如触下的事件可能被认为是隐含的。然而,这只是一个描述性和解释性的例子,而术语“连续隐式”不应被视为限制性的。
对于其中自由空间姿势被呈现为单个基本上连续的运动的图6的布置,用于确定该运动是否被认为是类似于触摸屏划动的输入的标准可以由运动本身的属性限定。例如,自由空间运动可以被认为仅在从左到右的运动是基本上连续的(例如,没有停顿)、从右到左的运动等的情况下才表示划动姿势。可能存在对初始的向下运动的要求、对最终向上运动的要求和/或对运动的某个中间部分来说基本上没有垂直运动的要求。可以指定一个加速度范围。任何或全部这样的限定要求可以是图6的布置可以被认为是示例的标准的一部分。
关于在辨别姿势、姿态和/或其他输入中可能需要、排除和/或以其他方式考虑的自由空间操纵的特征,实施例不受特别限制。虽然到目前为止已经指出相对简单的特性(速度、方向、加速度等),但可以考虑其他和/或更复杂的因素。
例如,人类运动通常优先地在某些弧线和其他路径内,并且在某些情况下可能在物理上局限于某些弧线和其他路径。这可能是由于一些因素,例如关节解剖结构。作为一个简单的例子,并且仍然考虑从左到向右划动,通过在手腕处移动手而进行的姿势可以在路径、速度、运动范围等方面不同于通过在手肘处移动手臂执行的姿势。可以依靠这种差异来区分一个姿势与另一个姿势,以确定姿势是否被有意递送而不是偶然的运动等等。自由空间输入标准可以考虑这些因素(尽管这只是一个例子,并不是必需的)。
此外,标准可以包括否定和肯定因素,即禁止和要求。例如,排除某些动作被解释为某些自由空间姿势输入的因素也可以是其标准的一部分。作为一个更具体的例子,考虑两个姿势:划动和敲击。
已经提到的图6示出了自由空间划动姿势的示例。现在参照图7,其中示出了自由空间敲击姿势的示例。在某些情况下,敲击可以被认为是具有突然停止和/或突然反向运动的基本上垂直的运动,例如,向下运动。然而,在图7所示的敲击中,可以看到手704已经根据运动箭头706从左向右(如观看者所见)附加地移动。
应当指出,在实践中,自由空间姿势可能倾向于在其运动中“漂移”。也就是说,在自由空间中执行姿势的人可能不会像在触摸屏上递送的输入那样执行相同的精度、控制、可重复性等。可以推测,这种漂移可能至少部分是由于没有用户与之交互的明确限定的物理对象。诸如触摸屏的物理接口设备可以提供触觉反馈(例如,在其上敲击的表面)、与之进行交互的可见和特定目标等。缺少这种焦点可能会促进在递送姿势输入中可被认为是某种“马虎”的情况。图7中所示的布置可以是这样的示例,其中用户意图递送敲击输入,但在这样做时并不限制他或她的手704从左到右的运动。
不管原因如何,这样的漂移、马虎等都可能会混淆姿势输入。通过比较图6 和图7,可以观察到,在这两个示例中,其中的手604和704结合初始向下运动和最终向上运动而执行从左到右的运动。基于从左到右、向上和向下运动的这样的顺序的自由空间输入的标准可能不能区分图6中的划动和图7中的敲击。
然而,正如所指出的那样,自由空间输入的标准可能包含排除和肯定的要求。例如,敲击通常可以包括“反弹”、快速停止和/或向下运动到向上运动的反转。可以限定划动的标准以便排除这种反弹,例如,通过排除垂直运动中的突然停止、垂直速度中的快速反转、过量的垂直加速度(与这种快速反转相对应) 或通过其他考虑。
类似地,现在参考图8,其中显示了另一种潜在形式的自由空间敲击输入的侧视图。其中示出了手804,其中伸出的食指沿着如运动箭头806所示的向下的弧线移动。如图8所示的这种运动可以是某些敲击所典型的,但是通常可能不与划动相关联。因此,自由空间划动输入的标准可以排除和/或限制食指的第一关节的运动程度;因此如果存在如图8所示的这种运动,可以认为该运动不是划动。(相反,这样的动作可以被认为是限定自由空间敲击姿势的标准的必要或可选特征。)
更广泛地说,绝对运动和/或位置(和/或其特征,例如速率、加速度等)、解剖学运动和/或位置(例如,对于各种关节)等可以被认为是标准要求存在的肯定因素,和/或标准要求不存在的否定因素。
此外,诸如何处、何时和/或如何展现运动或其他因素的考虑也可以是自由空间输入标准的一部分。作为示例,出于人体工程学的原因,通常可以用大体上远离用户身体指向的手指而不是用向内指向用户身体的手指来执行划动姿势。因此,对于至少某些实施例,自由空间划动标准可以排除手指向内指向的布置,例如,将这种运动考虑为错误或“噪音”、来自他人的不相干的姿势、故意的干涉等。
此外,就噪音而言,标准也可以考虑各种因素的程度。例如,即使自由空间划动标准排除在其中间部分中的垂直运动(例如为了避免将马虎的敲击姿势误解为划动),这种排除也可以包括一定程度的可允许的垂直运动。也就是说,可以预料到,由于做出姿势的人的不完美的运动控制、手的不完美的位置感测 (例如,在传感器或处理器中引入错误或偏差)等,可能偶然出现一定量的垂直运动。因此,虽然垂直运动可以名义上从自由空间划动标准(或沿着其一部分) 排除,但是这种排除不一定要求是绝对的。通俗地说,就其肯定和/或否定因素而言,标准可以包括“弹性空间”。
现在转向图9,如所提到的,标准可以对给定输入的不同部分应用不同的要求和/或排除,例如,划动姿势可以允许在其开始和结束处但不在中间的垂直运动。为了有利于随时间、距离等变化而出现的标准的这种变化,对于至少某些实施例,将标准分解并因此将输入的考虑分解成不同的块可能是有用的。图9 显示了这种布置。在图9中,手904被示出为已经执行了由运动箭头906A、906B 和906C表示的一系列运动。如通过与图6比较可以观察到的,图9中由运动箭头906A、906B和906C表示的运动的组合至少在某种程度上类似于由运动标记 606在图6中表示的运动。
然而,在图9的布置中,整体运动已被细分:向下和向右的运动906A(如用户所见),在保持水平的同时向右的顺序运动906B,以及向上和向右的另一顺序运动906C。在图9的示例中,运动可以通过其某些特征被分解:例如,906A中的垂直向下运动,906B中的垂直运动的缺乏,以及906C中的垂直向上运动。
在各种实施例的范围内允许这种分解。标准可以分解成两个或更多个子标准,例如,对于图9的布置,由运动箭头906A、906B和906C表示的部分各一个子标准。这些子标准本身甚至可以被视为独立实体。例如,某些实施例可以考虑运动箭头906A、906B和906C中的每一个以表示单个“状态”,例如,具有某些参数的向下运动、具有其他参数的水平运动以及具有其他参数的向上运动。
虽然自由空间输入到状态的这样的分解在一些情况下可能仅仅是逻辑或分析方法,但是在至少某些实施例中,根据状态来定义自由空间姿势运动可以在本发明自身的实现中具有特征。例如,状态集合、状态布置规则等可以作为编程约定的形式来实现。因此,特定的自由空间姿势的标准可能是一系列状态,例如,如果状态要用大写字母标识,那么可以用ACBA来标记姿势以表示由A、B 和C状态组成的特定的四状态序列。(其他约定可以用于并行执行的状态,例如多手指姿势、双手姿势等)
作为更具体的例子,如果状态A是向下运动,状态B是快速反转,并且状态C是向上运动,则敲击姿势可以是ABC,并且两次敲击是ABCABC。应当强调的是,状态不一定是一个姿势特有的;来自敲击/两次敲击示例的状态A和C(分别是向下和向上运动)也可以被用作划动姿势的一部分,例如,ADC,其中D是水平运动(从左到右、从右到左等)。
事实上,在某些实施例中,一组状态可以类似于“语言”。如果每个状态表示(如图9所示)离散定义的运动、配置和/或其他输入元素(例如,没有运动的暂停、语音输入、打响指或手指接触表面的噪音、按键等),则可以使用相对小的一组状态来限定非常大的一组姿势。例如,假定以三种状态姿势布置的一组25个状态,在数学上可能有超过15,000个姿势。对于给定数量的状态,随着每个姿势的状态的数量增加(例如,从上述示例中的3个状态到4个状态),数学上可能的姿势的数量也增加,并且如果每个姿势的状态的数量是不固定的(例如,一个姿势包括至少1个且不超过6个状态),姿势的数量也可能增加。
实际上,并非所有这样的姿势对于用户来说都可能是方便的,可能不易于通过可用的传感器等进行区分,因此并非对于给定的一组状态的所有数学上可能的姿势都可以被使用(也不是所有可能的姿势都需要被使用,甚至对于那些使用状态语言的实施例也是如此)。然而,在上面的示例中,大约15,000个姿势中的甚至1%将代表约150个姿势。因此,相对少数的状态仍然可以支持大量的和/或不同的一组潜在的姿势输入。
使用状态以这种方式建立姿势语言可以表现出某些优点,例如在效率方面。在上面的例子中,可以从仅25个状态组合成150个独特的姿势。因此,除了对 150个不同的姿势进行定义、编码、调试等之外,可能仅适合于对25个状态进行定义、编码、调试等。这种比姿势少的状态可以在至少某些情况下代表较小的资源成本。此外,由多个状态构成的姿势通常可以比组成该姿势的每个单独状态更长和/或更复杂;因此,对每个单独的状态进行定义、编码、调试等可能比对每个完整的姿势进行定义、编码、调试等占用更少的资源,潜在地提供资源(例如,时间、金钱、处理能力、存储器等)上的额外节省。
然而,状态语言的使用,如状态和/或其他离散的姿势元素的使用,仅是示例,并不是必需的。其他布置也同样适用。
如此前针对图2A至图2D所提到的,在某些情况下,触摸屏输入可以在一些情况下被解释为一系列事件,例如触下、划动和抬起。尽管图9所示的布置可以被解释为表示与图2A至图2D的三个触摸屏事件一一对应的三个自由空间状态,但这仅是示例。与触摸屏事件的一一对应不是必需的,在建立自由空间标准时,甚至也不一定需要考虑触摸屏事件(在使用情况下)(尽管也不排除这种考虑和一一对应关系)。
与例如在图6中示出的为了比较目的而可以被描述为“连续隐式”方法的布置形成对比,图9中的布置可以被称为“离散隐式”方法。虽然图9中所示的自由空间划动姿势现在被分解为和/或被视为三个状态而不是单个连续的运动,但根据图9引发表面约束响应的自由空间姿势仍可能不包括诸如触下到表面的事件的显式等价物;这样的因素仍然可以被描述为例如从运动906A、906B 和906C来推断。
现在转向图10,一些实施例可以包括自由空间姿势的边界。在图10所示的布置中,手1004已经递送了自由空间划动输入,其中运动由运动箭头1006A、 1006B和1006C(潜在地但不一定表示构成完整运动的各个状态)示出。此外,如可以看到的,在图10中以矩形平面(为了可见而显示为交叉影线)的形式示出了边界1016。
在图10的示例中,边界1016用作诸如触摸板的物理表面的替代。在限定边界1016的情况下,也可以限定与边界1016的接触。例如,当手1004在边界 1016的某个最小距离内接触、穿过、或另外接近边界1016时,可以认为发生了对触下的模拟(在图10中由标记1008A示出)。同样地,当手1004与边界1016 中断接触、离开、或另外移动远离边界1016时,可以认为发生了对抬起的模拟 (在图10中由标记1008B示出),并且在手1004和边界1016之间的连续接触、接近等可以被认为是沿着表面的运动等。
包括例如图10中的边界的边界在至少某些实施例中可能是有用的。例如,通过定义表面或其他几何形状-即使该几何形状可能没有实物-某些定义可以被改进和/或变得更加方便。在存在边界1016表面的情况下,可以定义自由空间划动标准,使得例如用户的手1004必须接触该边界1016表面,并且不包括手1004和边界101表面之间的适当接触的任何运动可能被忽略,因为不构成自由空间划动。这可以例如帮助辨别来自噪声的输入姿势,将类似的姿势彼此区分,等等。
此外,如果边界1016对于用户可见,例如在头戴式显示器上被显示为增强现实实体,则边界1016可以帮助用户递送自由空间姿势,例如充当关于这样的姿势将被执行以便被接受为输入的地方和/或方式的可视指导。
转到图11A,其中示出了根据各种实施例的用于辨别自由空间划动姿势的另一示例布置的第一部分,其中同样结合了边界1116A,其中手1104A处于边界 1116A上方的初始位置。然而,如可以看到的,图11A中的边界1116A不像图 10那样是平面的,而是包含体积。边界可以定义为体积(即整个体积是边界)或封闭表面;出于解释的目的,这里任一种解释都可以针对图11A来进行。
在图11B中,如可以看到的,手1104B已经下降到边界1116B中,如由运动箭头1106B指示的。示出了接触标记1108B,其中手1104B的食指与边界1116B 的表面相交。所示布置为示例;对于其他实施例,在边界1116B内的手部1104B 的整个部分可以被认为与边界接触(使得接触不是点),接触点可以被认为是在手1104B的食指的指尖(或其他一些特征)处并随指尖移动等,并且其他布置也同样适用。
继续在图11C中,如从运动箭头1106C可以看到的,手1104C已经向右(如观看者所见)移动,同时保持与边界1116C的接触点1108C。同样在图11D中,如从运动箭头1106D看到的,手1104D已经向右和向上移动,离开在接触标记 1108D处与边界1116D的接触。
因此,如从图10和图11A至图11D可以看出,边界不限于一种特定形式。尽管仅示出了两种形式,但是其他实施例可以显著变化,并入包括但不限于曲面和体积、多个表面以及其他布置的边界。
此外,对于某些实施例,布置边界以便至少基本上与诸如平台、桌子、窗户、写字板等的物理对象中的一些或全部对齐可能是有用的。例如,将边界与物理世界桌面对齐可以提供触觉反馈,即,用户可以感觉到指尖与桌面之间的物理接触,至少在一定程度上类似于指尖与触摸板之间的接触,即使可能不存在物理触摸板。应当注意到,边界与物理对象之间的对齐程度并不需要是完美的或者甚至是近乎完美的。例如,为了继续与桌面对齐的边界的例子,几毫米或者甚至一厘米或更多的不对齐仍然可以有利于用户对“使用触摸屏”的触觉解释(即使不存在物理触摸屏)。用户是否注意不一定限制对齐的程度;即使用户可检测到未对齐,也可实现触觉反馈或其他优点。只要保持功能性,对于各种实施例就不必施加严格的测量、数学或逻辑限制。
事实上,对于至少一些实施例,不对齐(无论是故意的还是偶然的)本身可能是有用的。为了继续上述示例,使边界在桌面上方一定距离的不对齐可以使得用户能够将他或她的指尖保持在桌面上方以执行“悬停(hover)”动作(例如,可以类似于计算机鼠标的“鼠标悬停(mouse-over)”)。然而,这些仅仅是示例,其他布置可能同样适用。
图10至图11D中所示的布置可以被称为“被动显式”。也就是说,例如通过定义边界并将与该边界的接触考虑为表示触下,可以提供对触下事件和类似事件的显式模拟。这样的布置也可以被认为是被动的,因为用户自己不一定被要求“做任何事情”来指示接触或其等同物。相反,用户简单地执行自由空间输入,并且与边界进行接触(或不接触)。
现在参照图12A至图12D,自由空间标准可以包括将手运动识别(例如)为姿势的一些指示。在所示示例中,该指示是明显的附加的手姿态,特别是伸出小指。
在图12A中,在执行自由空间划动姿势之前,手1204A是可见的。应当指出,尽管其食指伸出,但其小指不伸出。转到图12B,再次显示手1204B,其仍处于初始位置,但其小指此时伸出;在该示例中,小指被伸出为姿势输入的指示1218B。也就是说,伸出的小指表示(例如,向评估传感器数据的处理器)所进行的运动应该被认为具有某种属性,例如被读作划动、另一姿势、一组姿势中的一个等(尽管在所示的示例中,运动表示划动)。
在图12C中,可以看到手1204C已经从左向右移动(如由控制手1204C的人所看到的),如由运动箭头1206C所示,并且小指仍然伸出为指示1218C。在图 12D中,当运动完成时,小指再次卷曲。
因此,在图12A至图12D的布置中,伸出的小指可以用作与输入标准相关的指示。指示的准确含义可以改变,即使在所示的示例中,该指示可以具体地涉及划动输入,更一般地涉及应当被视为接触虚拟表面的输入,作为仅由某些程序或者在某些情况下等考虑的输入。同样,虽然图12A至图12D示出了伸出的小指,但是其他指示也同样适合。例如,划动姿势标准可能需要伸出食指,而敲击姿势标准要求将食指和中指一起伸出,以便于区分敲击输入和划动输入。指示不仅限于手或手指位置,并且在各种实施例的范围内的潜在指示的范围可能非常大。
通常,尽管不一定,但是指示可以至少基本上与运动同时,以便共同地表示姿势。为了继续图12A至图12D中的示例,在整个手运动中存在伸出的小指(指示)(即,手指伸出),以便将手运动识别为用于输入目的的姿势。因此,可以认为图12A至图12D中的指示与运动同步。
然而,从图12A和图12D可以看出,即使当手不移动时,也存在指示(伸出的小指)。如从图12A和图12D可以理解的,不要求该指示与运动(或其他输入) 完全同时;也就是说,指示可以在运动之前和/或之后,和/或运动可以在指示之前和/或之后。因此,其中小指伸出然后再卷曲的布置仍然可以用作指示,例如,表示下一个手运动将被视为姿势输入。此外,尽管至少一些实施例可能方便地利用与运动部分地或完全地同时的指示,但这仅仅是示例,并且其他布置可能同样适合。
图12A至图12D中所示的布置可以被称为“主动显式”。同样,可以例如以诸如手姿态的指示的形式来提供对触下事件和类似事件的明显模拟。该指示是主动提供的,例如通过用户伸出手指,或者改变手姿态等。
因此,已经描述了根据各种实施例的总共四大类方法,以支持表面约束控制的自由空间输入。通俗一点来讲,这四种方法(连续隐式、离散隐式、被动显式和主动显式)用作解决自由空间输入和表面约束输入之间差异的工具。因此,根据各种实施例,通过使用一个或多个这样的方法,可以从自由空间输入中获得足以辨别和区分触摸屏输入的等同物的信息,并且其自由空间姿势可以替换或“代替”触摸屏输入以用于至少某些目的。这样的布置能够实现或者至少有助于实现通过使用自由空间姿势来接受触摸屏输入的设备、系统等的控制。
尽管已经描述了四种这样的示例性方法,但是这些方法不一定仅限于这四种,并且用于辨别和/或区分自由空间输入以便能够引发表面约束输入的其他布置可以同样适合。此外,所示的方法不一定是排他性的;例如,某些自由空间姿势可以使用连续隐式方法来解决,而其他(甚至对于相同的设备、系统等)可以使用离散隐式方法来解决。同样,可以使用两种或更多种方法中的任一种或两种来解决某些自由空间姿势,例如,对于给定的实施例,穿过平面边界或者执行手姿态指示中的任一者都可以是可接受的。
应当指出,在本文呈现的至少某些示例中,每个自由空间输入(例如向右划动姿势)可以被称为对应于表面约束输入和/或对应于单一响应。然而,这是为了简单起见。实施例不需要自由空间输入、表面约束输入和/或响应之间的一一对应。例如,两个或更多个自由空间姿势可以引发单个表面约束的输入响应,并且其他布置也可以同样适合。
现在参照图13,其中示出了用于施加用于表面约束控制的自由空间输入的示例方法。如前所述,各种实施例支持实现辨别和/或区分的自由空间姿势,并传送这样的姿势以便可用作输入。两者在图13中以广义的形式呈现;前者已经被详细描述了,附加信息将在后面提供。后面还将更详细地描述后者。
在图13中,在处理器中建立1332自由空间输入标准。如前所述,自由空间输入标准定义了对于给定实施例构成和/或不构成特定的自由空间输入的内容。例如,自由空间划动姿势可以包括手或其他末端执行器沿着某些路径,在指定的速度和加速度范围内,以某种配置(例如,食指伸出,其他卷曲)的运动,同时排除诸如食指第一关节的运动的其他因素。关于可以要求、排除或由此另外指定的内容,自由空间输入标准不受限制。
通常但不一定,但是自由空间输入标准可以至少某种程度上与诸如触摸屏输入的表面约束输入相对应,例如,自由空间划动可以具有与触摸屏划动类似的运动,在视觉上相类似的、唤起等触摸屏划动。
应当指出,根据具体情况,“建立”某种东西可能是指创造新事物(例如,建立一个企业,其中新企业被创建)和确定已经存在的条件(例如,确定一个人的行踪,其中已经出现在该位置的人的位置被发现、从另一个来源接收到,等等)。类似地,建立自由空间输入标准可以包括几种可能的方法,包括但不限于以下方法。
在处理器上建立自由空间输入标准可以包括通过诸如有线或无线调制解调器的通信器将来自例如诸如硬盘驱动器或固态驱动器的数据存储的某个源的自由空间输入标准实例化到处理器上。建立自由空间输入标准还可以包括在处理器内创建自由空间输入标准,例如通过使用其上的可执行指令以计算方式创建。关于自由空间输入标准可以如何建立,实施例不受限制。唯一的要求是,起作用的自由空间输入标准以某种方式变得可用。除了所描述的那些之外的其他布置可以是同样合适的。而且,在结合本文中的其他步骤使用的情况下,建立应该在广义上被类似地解释。
类似地,关于自由空间输入标准的性质,实施例不受限制。通常,自由空间输入标准可以是在处理器上实例化的数据和/或可执行指令的集合,例如文件或程序或其一部分。然而,这仅仅是示例,其他布置也可能同样适合。
关于在其上建立自由空间输入标准的处理器,实施例也没有特别的限制。一系列通用、专用和嵌入式系统可能适合用作处理器。此外,可能同样适合的是,处理器包括两个或更多个物理或逻辑处理器和/或处理器部件,或者是“虚拟”处理器。其他布置也可能同样适合。
先前提到的使得能够辨别和/或区分自由空间姿势的功能在一定意义上可以被认为在步骤1332中进行概括。在确定特定的现象(姿势、姿态等)是否表示自由空间输入(也就是说,自由空间输入标准是否被满足)随后在图13中被解决的同时,输入可以在某种意义上在步骤1332中被定义或创建。因此,上面结合图5至图12D进行的某些讨论可以被认为是与步骤1332特别相关的。
继续图13,利用传感器感测1334自由空间输入。关于使用什么传感器感测 1334自由空间输入和可以如何感测1334自由空间输入,实施例不受限制。通常但不一定,诸如相机、深度相机等的某种形式的成像器可以用来捕获一个或多个图像和/或视频片段,使得可以从其确定可指示自由空间输入的位置、运动等。包括但不限于CMOS和CCD相机的相机的使用可能适合于某些实施例,但是其他布置可能同样适合。此外,尽管步骤1334涉及单一传感器,但是独立或一致操作(例如立体声成像器对)的多个传感器(无论相似还是不同)的使用也是同样适合的。
自由空间输入被传送1336到处理器。关于通信的内容和/或形式(例如,图像、视频、数字数据等),实施例不受限制。关于自由空间输入可以被传送的方式,实施例也不受限制。通常但不一定,传感器可以与处理器设置在相同的设备或系统中,并且通信可以通过有线链路进行。然而,包括但不限于无线通信(无论传感器和处理器是否在相同的设备或系统中,或者接近或距离很远)的其他布置可能同样适合。
在处理器中确定1338自由空间输入(如在步骤1334中感测并且在步骤1336 中传送到处理器的)是否满足其标准(如在步骤1332中建立的)。通常但不一定,这种确定可以具有由在处理器上实例化的可执行指令执行的比较的形式,但是其他布置可以同样适合。
如果确定1338是肯定的(如果自由空间输入满足其标准),则方法继续到步骤1340。如果确定1338是否定的(如果自由空间输入不满足其标准),则跳过步骤1340。
继续到步骤1340,引发表面约束输入响应。也就是说,导致通常可以与诸如触摸屏输入的表面约束输入相关联的一些功能、动作等被执行。这可以被认为在某种意义上表示传送和/或解释自由空间姿势以便可用作表面约束输入的先前提到的功能。本文接下来更详细地描述其方法。然而,应当指出,关于如何可以引发表面约束输入响应,实施例不受特别限制。合适的方法可以包括但不限于:“欺骗”或生成表示现实世界触摸屏输入的虚拟或“假冒”信号;产生确认已经接收到触摸屏输入的虚拟信号;以及直接激活或执行与触摸屏输入相关联的命令。
尽管图13为了简化的目的示出了在步骤1340之后完成的方法,但是实际上,方法可以重复,例如在循环中返回到步骤1334,以便以持续的方式感测自由空间输入。
现在参照图14,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法。图14中所示的布置更具体地说明利用连续隐式方法(如本文此前所示和所述)的示例。
在图14中,自由空间输入标准在处理器中被实例化1432,例如通过将自由空间输入标准从诸如固态驱动器的数据存储加载到处理器上;这样的实例化可以被认为是如此前结合图13和本文其他地方所描述的建立标准的示例。
实例化1432自由空间标准可以被认为是几个子步骤,和/或展示图14中标识为1432A到1432F的若干特征。其细节仅仅是示例,并且更具体地呈现了连续隐式方法的示例,即其中自由空间输入被定义为(和/或随后被处理为)单个基本上连续的运动,而不一定包括可能与诸如触下等的触摸屏输入(或其他表面约束输入)相关联的特征的明显的“替代”。
为了示例的目的,图14(以及同样地图15、图17和图18)中的处理器上实例化1432的自由空间输入标准被呈现为自由空间中的向右划动运动,例如,类似于本文中先前描述和示出的某些其他自由空间输入。实施例不仅限于向右划动,并且其他布置可能是合适的。
在图14的示例性布置中,在处理器上实例化1432的自由空间输入标准在其中包括要求1432A伸出的食指充当用于递送自由空间输入的末端执行器。因此,对于图14的具体示例,触笔或其他末端执行器的使用可能不被认为满足自由空间输入标准,因此如果不用伸出的食指递送,甚至本来满足自由空间输入标准的输入也可能不被接受。
实施例不限于自由空间输入可以被限定的方式,以将输入仅限制到利用作为末端执行器的伸出的食指递送的输入。对于至少某些实施例,获得一个或多个图像或视频剪辑并通过图像识别来识别其中的伸出的食指的存在(或不存在) 可能是有用的。手指和/或手的外形、手的模型(例如,包括“关节”、刚性“骨骼”等的铰接模型)等可以被用作图像识别的一部分和/或独立地使用。可以考虑通过多个图像和/或视频对潜在末端执行器的运动跟踪。还可以考虑立体感测、飞行时间感测、焦点深度感测和/或将深度和/或距离作为第三维度并入的其他方法。这些仅仅是示例,其他布置也可能同样适用。虽然可以利用许多方法来确定自由空间输入是否由食指或其他特定的末端执行器递送,但实施例在可以如此使用哪些特定方法方面不受限制。
更广义地说,尽管子步骤1432A可以以各种方式来实现,但是实施例不限于步骤1432A被实现的方式。同样,除非在此另外指定,否则,图14和其他地方中的步骤1432B到1432F以及其他步骤被作为示例给出,并且不应该被认为是将实施例限制为用于其执行和/或实现的任何特定方式。
继续在图14中,处理器上实例化1432的自由空间输入标准在其中包括排除1432B其他手指的伸展。也就是说,如果伸出了食指以外的手指,则可能不满足自由空间输入标准,使得如果用伸出的食指以外的手指递送,则甚至本来满足自由空间输入标准的输入也可能不被接受。
一起考虑时,1432A和1432B可以被理解为要求食指且仅食指必须被伸出以输入满足自由空间输入标准的自由空间输入。如所指出的,图14的示例涉及向右划动自由空间输入。1432A和1432B一起可以例如用于将手运动识别为自由空间输入(例如,通过使用伸出的食指来完成)和/或区分向右划动输入与其他自由空间输入(例如,用两个手指递送的一些其他的姿势)和/或偶然的运动。
自由空间输入标准还指定1432C从左到右的位移范围。也就是说,食指从左向右的位移的整体变化必须在指定的范围内,例如,低于某个最大值和高于某个最小值。这样的范围可以用于定义向右划动和/或与其他输入和/或偶然的运动进行区分,例如,因为至少在某些情况下,向右划动可能被推定在整体的从右到左的运动方面表现出一些最小和/或最大的“尺寸”。
自由空间输入标准进一步指定1432D运动(例如,伸出的食指的运动)必须连续地并且在指定的范围内(例如,最小和最大运动,在特定路径形状的某个范围内等)呈现向下运动、从左到右的运动以及向上运动。这样的指定1432D可以用于例如通过其预期的特征运动来区分特定的运动,在图14的示例中是向右划动。
仍然参照图14,自由空间输入标准限制1432E反弹加速度。如前所述,诸如敲击的某些自由空间输入可能至少在某些情况下与向右划动相似。更广泛地说,自由空间输入可以以某种方式相互类似,特别是如果这些输入从理想形式偏离和/或退化(例如,如果用户在递送输入时变得“马虎”)。也如前所述,在至少某些情况下,各个特征(在本示例中的反弹加速度)可以被用来区分潜在地类似的出现的自由空间输入,即使在某种程度的退化的情况下。例如,敲击可以包括可以被称为反弹(快速反转为向上运动的向下运动)的加速度分布图,而划动可以不包括这样的加速度。因此,通过将反弹加速度限制1432E到某个最大值,可以排除敲击(包括但不限于包括一些从左到右运动的退化敲击,以类似于向右划动);换句话说,通过考虑加速度,可以从可能的非划动输入和/或偶然运动中辨别划动。
应当指出,对于某些实施例,完全排除反弹加速度或其他潜在地区别运动、加速度、其他特征等可能是有用的。然而,虽然这种绝对排除不被禁止,但是在至少一些实施例中,允许至少某种程度的这种区别的特征可能是有用的,至少足以适应某些形式的噪音。例如,人的手部运动可能是不完美的(例如表现出颤动、来自风的运动,由于衣服限制或受伤等引起的运动中的偏差等),由传感器感测运动可能是不完美的,基于传感器输入的处理器运动解释可能是不完美的,等等。
这样的限制可以被认为表示用于运动的“低通滤波器”的形式(并且可以在某些实施例中用其实现)。例如,低于某个速度和/或低于某个位移、某个加速度等的运动可以被滤除而不予考虑。例如,这样的布置可以消除指尖中的小“抖动”或其他偶然运动。低通滤波器(如果有的话)可以在传感器内、处理器等内实现,因此可能不是非常严格的意义上的自由空间输入标准本身的一部分。然而,就功能而言,应用用于运动的低通滤波器来消除指尖的偶然抖动,用于加速度的低通滤波器来消除太小以至于不能表示敲击姿势的一部分的微小加速度(如在上述示例中)等等可以类似地起到包括对运动和/或反弹加速度(和/或其他特征)的限制的作用。
继续在图14中,自由空间输入标准限制1432F指节的运动范围。如前所述,除了向右划动之外的某些其他输入和/或偶然运动可以包括指节运动,例如,敲击或触摸可以通过在食指的近侧指节处移动食指来实现。如同上面限制1432E 的反弹加速度一样,限制1432F指节运动可能对例如辨别划动输入和/或排除其他输入和/或非输入运动有用。
1432A到1432F总体上可以被认为代表处理器上实例化1432的自由空间输入标准。尽管在图14中将自由空间输入标准示出为包括各种类型(要求、范围、排除等)的多个独立因素(例如,1432A至1432F),但是实施例不仅限于以这种方式定义自由空间输入,也不限于其中所示的各种示例因素1432A至1432F。
例如,在姿势期间没有停止和/或暂停运动的要求可能是合适的,例如,以避免对于一个较长的姿势来说将两个连续的姿势与其间的暂停混淆。同样,要求运动落在解剖学和/或行为上优选的运动弧线内也可能是合适的。由于诸如人体关节的物理结构、运动中的文化偏好、个体习惯等的因素,人类运动通常可能遵循某个弧线和/或其他路径。在仅考虑遵循这些参数的输入时,例如,非输入运动可能被潜在地排除在作为可能的姿势的考虑之外。
此外,尽管为了简单起见,在子步骤1432A到1432F中提到的各种因素被描述为固定的,但是实施例不仅限于固定的自由空间输入标准(或其部分)。标准可以基于用户选择而变化,可以是自适应的,以响应于和/或适应变化的条件和/或所施加的姿势中的变化,和/或可以以其他方式改变。
其他布置也可能同样适合。
仍然参照图14,利用传感器感测1434自由空间输入。自由空间输入被传送 1436到处理器。在处理器中做出关于自由空间输入是否满足其标准的确定1438。如果确定1438是肯定的(如果自由空间输入满足其标准),则方法继续到步骤 1440。如果确定1438是否定的(如果自由空间输入不满足其标准),则跳过步骤 1440。继续到步骤1440,引发表面约束输入响应。
现在参照图15A和图15B,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法。图15A和图15B中所示的布置更具体地说明利用离散隐式方法(如本文此前所示和所述)的示例。
在图15A中,自由空间输入标准在处理器中被实例化1532,例如通过将自由空间输入标准从诸如固态驱动器的数据存储加载到处理器上;这样的实例化可以被认为是如本文中此前所描述的建立标准的示例。
如所指出的,图15A中的布置说明离散隐式方法,即在两个或更多个不同部分中考虑的方法。为了图15A中的示例的目的,自由空间划动输入被视为三部分:触下、划动和抬起。因此同样将自由空间输入标准视为三部分,并且将自由空间标准类似地实例化1532到处理器上可以被视为三个离散(尽管至少潜在相关)的子步骤。为了说明的目的,这三个子步骤在图15A中被称为:将自由空间触下状态子标准实例化1532A到处理器上;将自由空间划动状态子标准实例化1532B到处理器上;以及将自由空间抬起状态子标准实例化1532C到处理器上。
进而,在步骤1532A、1532B和1532C中在处理器上实例化子标准中的每一个可以被视为几个子步骤。
关于子步骤1532A,将自由空间触下状态子标准实例化在处理器上在其中包括要求1532A1伸出的食指充当用于递送自由空间输入的末端执行器,并且排除 1532A2其他手指的伸展。
自由空间触下状态子标准还指定1532A3在一范围(例如,伸出的食指向下运动的某个最小和/或最大距离)内的向下运动。
仍然参照图15A,自由空间触下状态子标准限制1532A4反弹加速度,并且还限制1532A5指节的运动范围。
1532A1至1532A5总体上可以被认为表示处理器上实例化1532A的自由空间状态子标准(更具体地用于触下状态)。尽管如已经指出的那样,自由空间触下状态子标准在图15A中被示出为包括各种类型(要求、范围、排除等)的多个独立因素(例如1532A1至1532A5),但是实施例不仅限于以这种方式定义自由空间输入,也不限于其中所示的各种示例因素1532A1至1532A5。其他布置也同样适用。
此时,注意图14和图15A的布置之间的对比可能是有用的。在图14的布置指定整体从左到右运动范围(1432C)和被视为单个连续输入的向下、从左到右和向上运动的序列的情况下,图15A中的布置将三个运动(向下、从左到右、向上)中的每一个处理为单独的状态。因此,尽管1532A中(同样在下面的1532B 和1532C中)的子步骤有所不同,但是整体运动和输入可以是相似的。尽管对于图14和图15A中所示的布置,用户为了生成输入而采取的整体动作(划动运动) 可以是相似的或者甚至是相同的,但是这些动作被解释的方式可以从一个实施例到另一个实施例变化。更具体地参照图14和图15A,图14的布置考虑连续运动的自由空间输入标准,而图15A的布置考虑三个不同状态的自由空间输入标准。
继续在图15A中(并且仍然结合其步骤1532),结合子步骤1532B,将自由空间触下状态子标准实例化在处理器上在其中包括要求1532B1伸出的食指充当用于递送自由空间输入的末端执行器,并排除1532B2其他手指的伸展。
自由空间触下状态子标准还指定1532B3在一范围内的从左到右的运动,限制1532B4反弹加速度,并且还限制1532B5指节运动的范围。
仍然关于图15A中的步骤1532,关于子步骤1532C,将自由空间触下状态子标准实例化在处理器上在其中包括要求1532C1伸出的食指充当用于递送自由空间输入的末端执行器,并排除1532C2其他手指的伸展。自由空间触下状态子标准还指定1532C3在一范围内的向上运动,限制1532C4反弹加速度,并且还限制1532C5指节运动的范围。
因此,如图15A所示,实例化1532自由空间输入标准可以被视为实例化 1532A、1532B和1532C三个不同状态的三个自由空间状态子标准。
在图15A中还可以看到,实例化1532A、1532B和1532C的子标准彼此至少具有一些相似性。例如,1532A、1532B和1532C均要求伸出的食指,限制反弹加速度等。这对于至少某些实施例可能是有用的,例如就输入的一致性而言。然而,这仅仅是一个例子,不同的状态(或者输入标准和/或输入的其他离散部分)不需要包括并行的子步骤,或者彼此相似,并且其他布置可以同样适合。
现在参照图15B,利用传感器感测1534自由空间输入。自由空间输入被传送1536到处理器。在处理器中做出关于自由空间输入是否满足其标准的确定 1538。如果确定1538是肯定的,则该方法继续到步骤1540,而如果确定1538 是否定的,则跳过步骤1540。继续到步骤1540,引发表面约束输入响应。
现在转到图16,参照图14和图15,描述了自由空间输入标准、其特征、状态子标准及其特征等。在图14和图15的示例中,诸如伸出的食指、特定运动和/或运动范围、有限加速度的特征被提及。图16示出了可以如何感测输入和/或如何做出关于这些特征是否被满足的确定(例如,如在图15B中的步骤1534 和1538中)的示例。
在图16中,示出了手表示的序列1605以及指示运动的方向的运动箭头1606。可以采用图16的布置来指示当手随着时间的推移而移动通过空间和/或配置变化时该手(或其他末端执行器)的位置和配置,其中序列1605中的每个单独的手表示在一时刻的手。(为了简单起见,在图16中没有示出手配置(例如手指相对于手的位置等的变化)。实际上,可以发生变化,并且实施例不仅限于缺少这样的配置变化的布置。)
例如图16中所示的序列1605可以以各种方式被采集,例如通过捕获随时间推移的一系列图像,使得如所示的序列1605中的每只手将代表在各个图像中的手位置和/或配置,该图像进一步代表一个时刻。通常但不一定,可以用RGB 相机、深度相机或其他传感器来采集这样的序列1605,其中图像和/或来自那些图像的数据然后被传送到处理器和/或在处理器中被评估。然而,应当指出,图 16中的布置仅仅是说明性的;这样的视觉布置在任何特定实施例中的任何点都可以存在或不存在。例如,图像可以被单独考虑,而不被布置为如图16所示那样。或者,除了图像之外或者代替图像,可以使用线框、骨架、关节模型等或者一些其他构造(潜在地但不一定从图像中得出)。作为另一种选择,考虑可能根本不是图形化的,而是数字化或采取某种其他形式。
不管如何采集和/或考虑这样的序列1605,可以理解的是,可以评估如图 16所示的这样的序列1605以确定位置、运动范围、速率、加速度、关节位置的变化等,例如此前分别针对图14中的步骤1432和图15中的1532所提及的那些特征(尽管不仅限于这些特征)。
在图16所示的布置中,其中表示的运动被总体地考虑为单个输入,例如,利用连续隐式方法(如可从单个运动箭头1606看到的那样)。然而,现在转向图 17,对序列1706的考虑也可以被认为是例如由运动箭头1706A、1706B和1706C 表示的多个运动、输入、状态等。对于诸如图17中那样的布置,运动箭头1706A 可以表示如部分或全部序列1705所展示的触下状态,运动箭头1706B可以表示如部分或全部序列1705所展示的划动状态,并且运动箭头1706C可以表示如部分或全部序列1705所展示的抬起状态。因此,图17中的布置可以被认为表示离散隐式方法。
应当指出,序列1705不一定必须将自身细分,以便辨别可以仅表示序列1705 的一些部分的状态。也就是说,可以在辨别每个状态(触下、划动和抬起)时评估整个序列1705,或者可以针对每个状态仅评估一些部分(例如,页面右侧的大致三分之一用于触下,等等)。
从图16和图17中可以理解类似的布置可应用于被动显式、主动显式和/或其他方法。被动显式布置可以类似于图16和/或图17中所示的布置(因为边界可以仅作为虚拟或信息构造存在,这样的边界可能不可见),而主动显式布置可以另外包括小指的示例性伸展或一些其他指示(如已经在图12A至图12D中示出的)。
现在转到图18,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法,说明了被动显式方法(如本文先前所示和所述)。
在图18中,在处理器中实例化1832自由空间输入标准。
将自由空间标准实例化1832到处理器上可以被认为是几个子步骤。有限的平面边界被定义1832A。该边界用作触摸屏或其他约束表面的明确“代替”,使得用户可以在没有这种约束表面的情况下在自由空间中递送输入,并且不必要主动修改这种输入(因此,“被动”)。通常但不一定,该边界可以是在空间中定义(例如由处理器)的非实质构造,例如,虚拟现实构造、增强现实构造等,其可以被显示给可以利用其递送自由空间输入的一个或多个人。然而,边界不需要被显示,并且在空间中定义而不可见的构造(例如,在处理器内指定的空间中的数学上定义的区域,而不被可视地输出)可以是同样合适的。
为了图18的目的,边界是矩形和平面的(即,基本上是二维的),例如此前在图10中示出的边界。这样的边界可能是便利的,例如类似于用户可能熟悉的物理触摸屏。然而,矩形的平面边界仅仅是示例,其他布置可能同样适合。如此前针对图10和图11A至图11D所示出和描述的那样,边界可以采取各种形式,包括但不限于平面或平坦表面、矩形固体的表面和/或体积、球体或球体部分、某些其他曲面、任意表面或体积等。
继续图18,将自由空间输入标准实例化到处理器上包括要求1832B在伸出的食指与边界之间的触下。也就是说,伸出的食指必须与边界接触(或者对于非实质边界,与边界重合和/或穿过边界)。这可以被理解为触摸屏触下事件的明显的自由空间模拟。
将自由空间输入标准实例化到处理器上还包括在与边界接触的同时要求 1832C食指从左到右的运动,以及要求1832D食指和边界之间的终止接触的抬起。这些同样可以被理解为分别是触摸屏划动事件和触摸屏抬起事件的明显的自由空间模拟。
在图18中继续,利用传感器感测1834自由空间输入。应当指出,虽然传感器可以感测运动、位置等,但是传感器可以感测或可以不感测边界。例如,如果边界部分地或全部地作为处理器内的构造而存在,则可能甚至不需要感测边界,因为其位置、范围等已经被处理器“知晓”。无论如何,通常可以通过传感器感测1834一些类型的感觉信息,包括但不限于手或其他末端执行器相对于边界的位置、运动和配置。
自由空间输入被传送1836到处理器。在处理器中做出关于自由空间输入是否满足其标准的确定1838。如果确定1838是肯定的,则该方法继续到步骤1840,而如果确定1838是否定的,则跳过步骤1840。继续到步骤1840,引发表面约束输入响应。
现在参照图19,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法,说明了主动显式方法(如本文先前所示和所述)。
在图19中,在处理器中实例化1932自由空间输入标准。
将自由空间标准实例化1932到处理器上可以被认为是几个子步骤。指示被定义1932A。该指示用于区分自由空间输入与其他自由空间输入和/或与诸如偶然姿势的非输入。对于图19中的示例布置,该指示被定义1932A为包括伸出的小指。指示本身可能不一定递送输入(姿势等),但可以被认为允许输入。也就是说,自由空间输入可以是用伸出的食指递送的姿势,并且可以针对该姿势监视食指(例如,感测食指的位置、运动、加速度等),但是该姿势可能不被接受为输入,除非所述指示存在(或者至少可能不被接受为特定输入,例如不被接受为划动,但潜在地被接受为敲击)。因此,输入和指示可以彼此不同(尽管对于所有实施例来说这不是必需的)。
将自由空间标准实例化1932到处理器上还包括指定1932B伸出的食指的从左到右位移范围。例如,可能需要伸出的食指从左向右移动至少某个最小总距离,而不从左向右移动多于某个最大总距离等。另外,如所指出的,在图19的示例中输入(在这种情况下为划动姿势)可以由食指递送,即使通过伸出的小指形式的指示允许。
将自由空间标准实例化1932到处理器上还包括指定1932B伸出的食指的从左到右位移范围。例如,可能需要伸出的食指从左向右移动至少某个最小距离,而不从左向右移动多于某个最大距离等。另外,如所指出的,在图19的示例中输入(在这种情况下为划动姿势)可以由食指递送,即使通过伸出的小指形式的指示允许。
将自由空间标准实例化1932到处理器上还包括指定1932C顺序的向下、从左到右和向上的运动。如本文此前结合其他示例所述,这些运动可以在位移、速度、方向、位置随时间推移的某个包络或范围等方面进行指定,并且其他布置也可以同样适合。
利用传感器感测1934自由空间输入。自由空间输入被传送1936到处理器。在处理器中做出关于自由空间输入是否满足其标准的确定1938。如果确定1938 是肯定的,则该方法继续到步骤1940,而如果确定1938是否定的,则跳过步骤 1940。继续到步骤1940,引发表面约束输入响应。
总体地参照图14、图15A和图15B、图18和图19,虽然在其中示出了四种方法,但是实施例不仅限于这样的方法。例如,虽然离散/连续的区别仅在诸如图14、图15A和图15B所示的那些隐式方法中详细地呈现,但是离散和/或连续方法的概念也可以例如应用于诸如图18和图19所示的显式方法。被动/主动、显式/隐式和/或连续/离散布置以及其他布置的任何组合可以适用于各种实施例。
迄今为止,一直将注意力集中在识别自由空间姿势上,例如在定义自由空间输入和/或其标准中,以使得能够方便地将现有姿势适应于触摸屏以用作自由空间姿势输入。如前所述,通过辨别自由空间姿势而允许这种适应代表了各种实施例的一个特征。
然而,也如上所述,实施例不仅限于此。一个附加特征(尽管不一定是唯一的特征)可以包括以这样的方式传送姿势和/或其他自由空间输入,使得这种自由空间输入可用于配置用于触摸屏或其他表面约束输入的系统。换言之,如果触摸屏响应将在已经配置用于触摸屏输入的系统中被引发,那么该响应如何可以用自由空间姿势来引发。现在更详细地讨论该特征。
现在参考图20,其中示出用于施加用于表面约束控制的自由空间输入的另一示例方法,其利用通过递送虚拟或“假冒”输入来引发响应的方法。
在图20的示例性布置中,数据实体正在处理器上建立2030。数据实体适用于引发对递送给它的输入的响应。例如,对于便携式电子设备,数据实体可以是操作系统。在这样的设备中,数据实体可以适于接收来自表面约束输入系统的输入并且执行一些响应作为对其的回应。作为更具体的例子,智能电话或头戴式显示器可以具有在其上实例化的诸如Android的操作系统,其中操作系统适于接受触摸屏输入并且当触摸屏输入被递送到设备时执行响应。
然而,应当强调的是,既不需要存在触摸屏也不需要另一个表面约束输入系统。在数据实体中可能存在用于识别来自触摸屏的输入的能力,但是实际的触摸屏可能存在也可能不存在。实际上,各种实施例的一个有用的特征(尽管不一定是唯一的)可以是允许在递送自由空间输入的同时利用识别表面约束输入的这种能力。
关于数据实体的性质,实施例不受限制。通常但不一定,数据实体可以是在处理器上实例化的数据和/或可执行指令的集合,例如计算机程序。虽然在这里的某些点上操作系统是作为示例性数据实体来呈现的,但是其他布置也同样适合。
此外,对于至少某些实施例,建立2030数据实体的步骤可以是可选的,并且可以被认为是或者可以不被认为是方法的一部分。尽管为了完整性而在图20 中示出了建立2030数据实体,但是通常合适的数据实体可能已经在处理器上实例化,例如上述便携式电子设备的操作系统的示例。更通俗地说,操作系统(或其他数据实体)可以是“预先存在的”,并且可能不需要建立。
如前所述,各种实施例的优点可以是允许使用已经适用于利用诸如姿势的自由空间输入接受触摸屏和/或其它表面约束输入的现有基础结构(设备、操作系统、软件等)。通过允许现有基础结构的这种使用,可以使新设备、系统等向后兼容,可以减少创建新设备、操作系统、软件等的需求,等等。作为更具体的示例,在利用智能电话处理器、Android或另一移动设备操作系统,运行编写为利用智能电话处理器和/或Android或另一移动设备操作系统的程序,利用类似地编写的库等等的同时,头戴式显示器可以利用自由空间姿势来控制。在某种意义上,可以在本身可能不适用于自由空间姿势输入的硬件、软件等之上实现各种实施例。
仍然参照图20,在处理器上建立2032自由空间输入标准。利用传感器感测 2034自由空间输入。
自由空间输入被传送2036到处理器。应当指出,尽管在处理器上建立2030 了数据实体,但是自由空间输入不一定要传送给数据实体(并且通常不传送,尽管其他布置可能是合适的)。如可以理解的,不同的数据实体、可执行指令、程序等可以设置在单个处理器上,而不一定彼此通信。
在处理器中做出关于自由空间输入是否满足其标准的确定2038。如果确定 2038是肯定的,则该方法继续到步骤2040,而如果确定2038是否定的,则跳过步骤2040。
继续到步骤2040,引发表面约束输入响应。也就是说,可以根据对自由空间输入标准的满足做出通常可以由表面约束输入产生的响应。作为更具体的例子,响应于自由空间输入而使得响应于触摸屏输入的动作发生。
关于如何可以引发2040表面约束输入,实施例不受限制。本文中的先前示例没有详细讨论该问题,并且各种方法可能同样适合。然而,提出引发表面约束输入响应的方法的若干示例可能是启发性的;这结合图21、图22和图23更详细地呈现。
例如,如图20的示例中所示,表面约束输入响应可以在数据实体内和/或通过寻址数据实体引发2040。如前所述,数据实体可以例如是操作系统。具有触摸屏的便携式电子设备中的操作系统可以在其中包括与例如不同触摸屏输入相对应的各种响应,以及可执行指令、数据和/或适于识别触摸屏输入并对此作出适当的响应的其他“机制”。
在这样的布置中,如图20所示,引发2040数据实体中的表面约束输入响应的步骤可以包括建立2040A从处理器到数据实体的虚拟表面约束输入链接。也就是说,做出一些布置,使得可以以数据实体将通信识别为表面约束输入的方式与数据实体通信,即使通信是虚拟表面约束输入。更通俗地说,设置与数据实体进行通信的与输入系统和/或虚拟输入系统本身相对应的虚拟或“假冒”连接。
应当指出,严格地讲,因为数据实体已经在处理器上(如在步骤2030中所建立的),所以从处理器到数据实体的链接2040A可以被认为是从处理器到处理器的链接;该链接不一定表示物理连接。相反,链接可以采取通信协议、数据格式化、已经与数据实体一起存在的端口或通信路径的激活等的形式。各种实施例不一定需要创建新的物理连接(尽管也不禁止这样);相反,利用该数据实体(或某个其他数据实体)内的现有可执行指令等,可以沿着处理器内的现有物理通信路径建立2040A链接。
仍然参照图20,基于自由空间输入,在处理器中生成2040B虚拟表面约束输入。也就是说,在图20的示例中,生成模仿真实表面约束输入的虚拟输入。作为更具体的示例,在处理器中生成至少有点类似于可以从实际的触摸屏生成和/或递送的输入的虚拟向右划动姿势。
从自由空间输入生成2040B虚拟表面约束输入,至少因为所生成的虚拟表面约束输入对应于由通过自由空间输入标准定义的自由空间输入所引发的响应。也就是说,如果自由空间输入标准定义了向右划动(以任何细节),则将生成虚拟表面约束输入,以便被数据实体接受为向右划动,随后数据实体经由表面约束输入系统执行对应于向右划动输入的响应。
通常但不一定,虚拟表面约束输入可以具有至少在某种程度上类似于实际表面约束输入的形式和/或内容。例如,实际的触摸屏可以随时间推移生成具有一系列x和y坐标的触摸屏数据,这些坐标表示一个或多个手指与触摸屏接触的点。实际的触摸屏也可以生成其他数据,例如施加的压力等。从实际的触摸屏生成的随时间推移的x和y坐标和压力的一些布置因此可以表示向右划动或其他姿势输入。类似地,虚拟触摸屏输入可以被生成为包括随时间推移的x和y 坐标以及压力,随时间推移的x和y坐标以及压力可以类似于用于触下和划动的实际触摸屏数据(尽管对于虚拟触摸屏输入而言实际上可能没有发生触下和划动)。
换言之,随时间的推移的虚拟x和y坐标以及压力值可以至少基本上与随时间推移的x和y坐标以及压力值相对应,随时间推移的x和y坐标以及压力值可以在实际触摸屏上的触下和划动期间由实际触摸屏生成。精确的对应可能不需要,对应的程度也不一定很高;只要虚拟触摸屏输入被接受,对应可能就是足够的。如果低对应程度足以使虚拟触摸屏输入被接受(即,虚拟数据在形式上是粗糙的,缺乏一些内容,否则不会“看起来像真实的东西”等),则低对应程度仍然可能是足够的。
然而,在某些实施例中,可以生成2040B相对于自由空间输入具有一定程度的保真性和/或可变性的虚拟表面约束输入。例如,宽泛的或快速的自由空间划动可以生成2040B宽泛的或快速的虚拟表面约束划动。对于这样的布置,虚拟表面约束输入的每个实例可以是唯一的,和/或可以对应于从中生成2040B该虚拟表面约束输入的自由空间输入的细节。
然而,在其他实施例中,虚拟表面约束输入可以生成2040B为预定的和/或固定的。也就是说,不管自由空间划动姿势的细节如何,满足其标准的任何自由空间划动姿势(如在步骤2038中)都可以导致生成单个标准虚拟表面约束划动姿势。快速自由空间划动在这种情况下会导致生成与缓慢的自由空间划动相同的表面约束划动。通俗地说,虚拟表面约束输入可以被认为是“按标准提供的 (canned)”,或者对于所有划动输入都是相同的。
其他选项可能也同样适用,包括但不限于混合方法。例如,虚拟表面约束输入可以以可变方式从自由空间输入生成2040B,但是对其设置有限制。例如,运动可以被压缩、截断等,使得即使划动姿势比用例如智能电话触摸屏实际上可能的更宽,也可以减小虚拟划动输入的尺寸,以避免“错误”响应等。
此外,在至少某些实施例中,从自由空间输入生成2040B虚拟表面约束输入可能足以使某些其他步骤变得不必要。例如,如果所生成的虚拟表面约束输入对数据实体足够现实和/或“令人信服”,则可以省略已经描述的确定2038。也就是说,如果以足够的保真性生成2040B虚拟触摸屏姿势,则数据实体本身可以充分地解决输入是否已经被递送的问题,虚拟触摸屏输入可以由数据实体评估(例如,通过用于评估实际触摸屏输入的现有手段),而不必要求评估实际的自由空间输入。
同样,如果可以省略确定2038,则也可以省略将自由空间划动标准实例化 2032到处理器上;如果没有对照标准进行确定,则标准本身可能是不必要的。
继续在图20中,虚拟表面约束输入通过虚拟表面约束输入链接被传送2040C 到数据实体。
因此,对表面约束输入的响应被引发2040。对于至少一些实施例,执行响应的至少一些部分可以被认为发生在数据实体中。例如,如果数据实体是便携式电子设备上的操作系统,那么该操作系统可能已经具有(如上所述)适当的“机制”来执行对向右划动、敲击、夹捏等的响应。应当强调的是,尽管各种实施例可以以这种方式与数据实体通信,以便引发要执行的数据实体的某个功能,但是该数据实体(操作系统、程序、其他数据实体等)不一定是各种实施例本身的一部分(尽管也不排除数据实体是实施例的一部分的布置)。
此外,应当指出,在引发响应时,各种实施例可以提供用于控制系统、硬件等。在一些实施例中,例如,在其上运行操作系统和程序而没有用于感测和/ 或响应自由空间姿势的固有能力的具有触摸屏的智能电话可以通过使用自由空间姿势来控制。
现在参照图21,其中示出用于施加用于表面约束控制的自由空间输入的另一示例方法,其也利用通过递送虚拟或“假冒”输入来引发响应的方法。图21 中的布置可以至少在一定程度上类似于此前针对图20所示出和描述的布置。然而,为了清楚的目的,图21的布置示出了更具体的示例,该示例针对便携式电子设备,并且更具体地针对在其上运行例如Android、iOS、Windows Phone等的移动操作系统(OS)的头戴式显示器(HMD)。
在图21的示例性布置中,在头戴式显示器的处理器上实例化2130移动操作系统。移动操作系统适用于引发对递送到其的触摸屏输入的响应。实际的触摸屏系统可以或不可以存在于头戴式显示器中;只要移动操作系统接受和/或识别触摸屏输入,触摸屏就被允许,但不是必需的。
如针对图20所指出的,将移动操作系统实例化2130到头戴式显示器的处理器上的步骤对于至少某些实施例可以是可选的,并且可以被视为或可以不被视为方法的一部分。
继续在图21中,在头戴式显示器的处理器上实例化2132解释器。解释器在其中包括自由空间划动标准,即用于确定自由空间划动姿势是否已经被递送的标准。
解释器代表一种用来执行某些步骤的可能但非必需的方法。在某些情况下,可以方便的是,将用于一个或多个自由空间输入的标准、用于确定输入是否满足这样的标准的可执行指令、与操作系统的通信等集成到基本上统一的集合中。更通俗地说,各种实施例的一些或全部功能可以被合并到程序中,该程序可以方便地加载到头戴式显示器或其他便携式电子设备中的处理器上,以便能够通过自由空间姿势来控制该设备。这样的程序可以被认为解释新的“输入语言”(自由空间姿势)并产生已经全部或部分存在的输入语言(具有触摸屏输入能力的移动操作系统)的效果。相应地,这样的程序在这里被称为解释器。
为了示例的目的,图21所示方法包括这样的解释器。(某些后续附图也可以引用解释器的概念。)然而,解释器的使用和解释器的所示布置都只是示例,其他布置也可以是同样合适的。
仍然参照图21,利用头戴式显示器上的传感器来感测2134自由空间划动。通常但不一定,传感器可以是相机,深度相机或类似物,但是其他布置也可以是同样合适的。
将自由空间划动输入从传感器传送2136到解释器。在解释器中做出关于自由空间划动是否满足其标准的确定2138。如果确定2138是肯定的,则该方法继续到步骤2140,而如果确定2138是否定的,则跳过步骤2140。
继续到步骤2140,在移动操作系统中引发触摸屏划动响应。在图21所示的布置中,将虚拟触摸屏链接从解释器连接2140A到移动操作系统。通常但不一定,移动操作系统可以在其中包括用于识别物理触摸屏并与之通信的一些协议。在将虚拟触摸屏链接从解释器连接到移动操作系统时,可以对移动操作系统的该协议进行处理,使得移动操作系统将解释器(或其某个部分)识别为物理触摸屏,并且将从解释器发送的至少一些信息识别为来自物理触摸屏的触摸屏输入。更通俗地说,解释器告知移动操作系统“我是触摸屏”,并安排将触摸屏数据发送到移动操作系统。尽管解释器通常实际上不是实际的触摸屏,而是呈现其虚拟版本(和相应的虚拟数据)。
换句话说,可以认为,在某种意义上,解释器通过将假冒的(即虚拟的)触摸屏连接到移动操作系统来“伪装”移动操作系统,以向其发送假冒的(即,虚拟的)触摸屏输入。
仍然参照图21,基于自由空间划动,在解释器中生成2140B虚拟表面触摸屏划动。也就是说,生成2140B模仿来自实际触摸屏的真实划动的虚拟输入。如先前针对图20所述,虚拟触摸屏划动可以被生成2140B以便对于每个自由空间划动是唯一的,对于所有自由空间划动都是标准的,是它们的一些组合等。
通过虚拟触摸屏链接将虚拟触摸屏划动传送2140C到移动操作系统。尽管图21将方法示出为在2140C(此时在移动OS内已经引发2140触摸屏划动响应) 之后完成,但是由移动操作系统、头戴式显示器等在执行相关响应过程中进行的动作可以可能无限期地继续。例如,尽管如图21所示,一旦触摸屏划动响应被引发2140,其中的方法就完成了,但是这种引发的效果(例如,以某种方式控制头戴式显示器,例如通过将显示的内容从左到右移动,调用菜单或者某个其他功能(其可以包括但不要求包括对与其通信的头戴式显示器和/或一些其他硬件和/或系统的物理响应)等)可以在图21所示步骤名义上完成之后发生和/或持续。
特别地参照步骤2140B,应当指出,在某些操作系统、程序和/或其他数据实体中,可以由此使用被称为“语法糖”的方法。语法糖表示这样的布置:其中某些输入和/或其他数据可以以标准化方式定义,和/或其中诸如输入识别、这种输入的通信、对这种输入的响应等的特征同样可以被标准化。作为更具体的示例,在适于接收触摸屏输入的移动操作系统中,将输入接受为向右划动的要求、对是或被怀疑是向右划动的输入的处理,以及当接收到向右划动输入时要执行的命令或其他响应可以被集成为数据和/或可执行指令的集合。更通俗地说,可以存在用于向右划动的代码的“构建块”(也被称为前述语法糖),使得当创建用于响应向右划动的程序时,可以简单地整体添加代码的该构建块。语法糖的使用可以被认为是一种节省工作的方法:因此可以消除对为每个单独的程序定义划动、编写代码以检测和识别划动等的需求,编码程序的标准潜在地可以被简化等。
然而,对于至少一些实施例,以这种方式使用语法糖可以有助于实现。
例如,考虑诸如Android、iOS、Windows Phone等的用于电子设备的移动操作系统。这样的操作系统可以部分地用于调解和支持也在便携式电子设备内的处理器上运行的各种程序、库等的使用。操作系统可能处理的潜在程序和其他软件的范围可能相当大,并且同样地,给定的操作系统可以在各种不同的电子设备上使用。为了简单起见,可能有用的是标准化诸如触摸屏姿势输入(以及许多潜在的其他输入)的至少某些功能,使得这样的姿势输入在各种程序和/或设备中是一致的。更通俗地说,可能有用的是,对于至少一些(如果不是所有) 程序、设备等,使“向右划动成为向右划动”。
语法糖对追求这样的标准化可能是有用的。例如,如果触摸屏向右划动块被包括在操作系统中和/或可用于操作系统,则实现使用向右划动作为触摸屏输入可以简单地利用该块而不是从头开始编码输入标准、决策、调用命令等。
在存在语法糖和/或某种其他标准化方法的情况下,对于至少某些实施例,可以对其进行使用。为了继续上面的示例,如果触摸屏向右划动的一致实现用于运行操作系统的一些或全部电子设备和/或在这些电子设备上运行的一些程序,则可能有用的是基于该一致的实现来配置用于生成2140B虚拟触摸屏划动的可执行指令(和/或一些其他方法)。如果各种各样的设备和/或软件以相同的方式处理触摸屏输入,甚至潜在地达到使用相同或类似代码(即语法糖)的程度,则用于引发触摸屏输入的过程可以被简化。
因此,语法糖可能代表以实用和/或高效的方式促进实现的机会。可以将适于生成2140B虚拟触摸屏划动的一组可执行指令写入为与用于触摸屏向右划动的语法糖对应,并且因此可以预期,由此产生的虚拟触摸屏划动可以被一系列操作系统、程序、电子设备等可靠地接受为实际触摸屏划动,以使得对其的任何相应响应也可以可靠地执行。
应当指出,语法糖不一定是各种实施例的一部分,并且语法糖或用于在操作系统和/或电子设备中标准化输入和/或其他功能的任何其他方法都不一定通过各种实施例的使用来进行、受各种实施例的使用驱动或者为各种实施例的使用所要求。相反,这样的标准化可能已经存在于至少某些操作系统、程序、电子设备等中,并且各种实施例可以利用这样的标准化来执行某些功能。
然而,即使在操作系统、电子设备、软件等中不使用语法糖,实施例仍然可以与这样的操作系统、电子设备、软件等一起使用。在没有语法糖和/或其他标准化的情况下,更复杂的一组可执行指令(或其他方法)可以被用于生成2140B 虚拟触摸屏划动,这种划动可以被接受为实际触摸屏划动,例如以便提供足够逼真的虚拟触摸屏划动以符合一系列程序、电子设备等的标准。
在某些实施例中对语法糖的考虑可能在某种意义上类似于对触摸屏设备中的实际触摸屏和处理器之间的通信的标准化协议的考虑。这样的标准通信协议可以存在,例如以促进各种触摸屏和各种设备之间的兼容性。这样的触摸屏通信标准可能尚未针对各种实施例被创建或包括在各种实施例中,可能不是各种实施例的一部分,并且不要求对于所有实施例都存在,然而各种实施例可以(例如)在连接2140A虚拟触摸屏链接和/或传送2140C虚拟触摸屏划动中利用这样的通信标准。
同样,语法糖可能尚未针对各种实施例被创建或包括在各种实施例中,可能不是各种实施例的一部分,并且不要求对于所有实施例都存在,然而各种实施例可以利用语法糖来生成2140B虚拟触摸屏划动(以及其他虚拟输入)。语法糖的潜在用途在本文中作为用于实践中如何可以实现某些功能的特定示例而提出,但是实施例不限于此。
参照图21和其中的步骤2140,其中示出的示例性布置通过实际上向移动操作系统提交假冒的触摸屏输入来引发2140触摸屏划动响应。这样的布置对于至少某些实施例可能是有用的,例如因为适于与触摸屏设备一起使用的移动操作系统可能已经接受触摸屏输入。也就是说,用于配置触摸屏输入的协议可能存在于移动操作系统中,用于传送触摸屏输入的路径也可能存在,等等,并且移动操作系统可能会“预料到”这样的触摸屏输入(使得杀毒软件、错误捕获例程等可能不太可能将虚拟触摸屏输入视为虚假数据、攻击等)。通俗地说,触摸屏设备可能已经被设置为接收触摸屏输入,以便可以有利于发送假冒(虚拟)触摸屏输入。
然而,实施例不仅限于通过使用虚拟触摸屏输入来引发响应,并且其他布置可能同样适合。
例如,现在参照图22,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法。然而,在图21的布置通过使用虚拟触摸屏输入来引发响应的情况下,图22的示例通过使用虚拟触摸屏事件来引发响应。
在图22的示例性布置中,在头戴式显示器的处理器上实例化2230移动操作系统。移动操作系统适用于引发对递送到其的触摸屏输入的响应。
在头戴式显示器的处理器上实例化2232解释器。解释器在其中包括自由空间划动标准,即用于确定自由空间划动姿势是否已经被递送的标准。
利用头戴式显示器上的传感器来感测2234自由空间划动。自由空间划动输入从传感器传送2236到解释器。在解释器中做出关于自由空间划动是否满足其标准的确定2238。如果确定2238是肯定的,则该方法继续到步骤2240,而如果确定2238是否定的,则跳过步骤2240。
继续到步骤2240,在移动操作系统中引发触摸屏划动响应。
关于针对2240使用的术语“事件”,通常但不一定,移动操作系统可以在其中包括用于跟踪诸如与触摸屏输入相关联的事件的事件的一些内部布置。如果触摸屏输入在移动操作系统中被接收并且被确定为代表(例如)划动,则触摸屏输入本身(例如,关于发生触下的位置和时间、在划动期间的接触路径、运动的速度等的详细信息)可能不会在操作系统内被转发。相反,事件可能在操作系统内发生,然后该事件被转发。例如,如果在操作系统中从触摸屏接收到触摸屏划动输入,则可以设置标志,可以设置某种形式的逻辑状态,诸如“swipe= TRUE”等等,作为划动输入已被接收的指示。
在图22所示的布置中,虚拟事件链接从解释器连接2240A到移动操作系统。这可以例如表示识别记录事件的操作系统的一部分(如果有的话)、操作系统内用于控制是否确定事件已经发生的可执行指令等。
仍然参照图22,如果真实的虚拟触摸屏划动已经被递送到操作系统并且被操作系统接受,则在解释器中生成2240B虚拟触摸屏划动事件,其对应于可能在操作系统内发生的事件。也就是说,在解释器中生成2240B虚拟事件,其模仿将在移动操作系统内发生的真实事件。
通过虚拟事件链接将虚拟触摸屏划动事件传送2240C到移动操作系统。此时,就移动操作系统而言,触摸屏划动已经发生,并且移动操作系统可以执行相应的响应。
在某种意义上,图22所示的方法可以被认为是绕过触摸屏系统的“迂回策略(endrun)”。无论是真实的还是虚拟的,触摸屏输入数据都可以递送到操作系统或者不递送到操作系统;真实或虚拟的触摸屏数据的接收和/或考虑是不相关的。相反,“知道”或“决定”是否发生了触摸屏划动的操作系统的部分变得接受触摸屏划动确实已发生的结果。如果触摸屏输入被认为是某人在游戏中得分的记录,则事件可能类似于所接收的得分。在图21中的布置产生类似于所记录的游戏的假冒品的情况下,图22中的布置直接改变了得分。
诸如图22所示的布置对于至少某些实施例可能是有用的。例如,触摸屏输入可能相对复杂,并且可以根据多个且可能复杂的准则来评估。因此,产生足以“欺骗”移动操作系统的虚拟触摸屏输入可能是具有挑战性的;如果系统没有例如如前所述利用语法糖标准化,则虚拟触摸屏输入必须满足的特定准则可以从一个设备、操作系统和/或程序到另一个设备、操作系统和/或程序不同,同样可能需要更复杂的伪造来产生合适的虚拟触摸屏输入。
相比之下,通常输入甚至可以是相对简单的,甚至可能是一位的数据,例如,“发生了”或“没有”。对于至少某些实施例,生成2240B虚拟事件可能相对简单。另一方面,连接2240A虚拟事件链接和/或传送2240C虚拟触摸屏划动事件也可能带来挑战。例如,尽管设计为与触摸屏交接的移动操作系统可以被配置为容易地接受触摸屏输入、为递送这样的输入提供明确定义的路径等等,但是如果这些事件通常在移动操作系统本身内生成,这样的移动操作系统可能不一定被配置为容易接受来自外部来源的事件。
应当理解,适合于实现各种实施例的方法可以根据给定实施例的细节而变化。在某些情况下,类似于图21中的布置可能是合适的,而在其他情况下,类似于图22中的布置可能是合适的,而在另一些情况下,可能合适的则是不同的布置。
现在参照图23,其中示出了用于施加用于表面约束控制的自由空间输入的另一示例方法。图23的示例通过向移动操作系统递送命令来引发响应。
在图23的示例性布置中,在头戴式显示器的处理器上实例化2330移动操作系统。移动操作系统适用于引发对递送到其的触摸屏输入的响应。在头戴式显示器的处理器上实例化2332解释器。解释器在其中包括自由空间划动标准。利用头戴式显示器上的传感器来感测2334自由空间划动。自由空间划动输入从传感器传送2336到解释器。在解释器中做出关于自由空间划动是否满足其标准的确定2338。如果确定2338是肯定的,则该方法继续到步骤2340,而如果确定2338是否定的,则跳过步骤2340。
继续到步骤2340,在移动操作系统中引发触摸屏划动响应。
在图23所示的布置中,虚拟命令链接从解释器连接2340A到移动操作系统。这可以例如表示识别响应于触摸屏输入而生成命令的操作系统的一部分、将命令传达到目的地的操作系统的一部分等。在图21的布置递送虚拟触摸屏输入并且图22的布置插入虚拟事件的情况下,图23的布置向操作系统发出虚拟命令。
在解释器中生成2340B虚拟操作系统命令,其对应于如果真实虚拟触摸屏划动已被递送到操作系统并且被操作系统接受时可能生成的命令。也就是说,在解释器中生成2340B模仿到移动操作系统的真实命令的虚拟命令。通常但不一定,虚拟命令可以是让操作系统执行要引发的响应的命令,和/或让操作系统指示某个其他实体(例如应用程序、视频驱动程序等)执行要引发的响应的命令。
虚拟操作系统命令通过虚拟事件链接传送2340C到移动操作系统。此时,在给出虚拟命令的情况下,可以由移动操作系统执行相应的响应。
由于图22中所示的方法可以被认为是绕过触摸屏系统的“迂回策略”,所以图23中所示的方法可以被认为是绕过操作系统在触摸屏输入方面的大部分或全部输入和评估能力的“迂回策略”。触摸屏输入数据、与其相关的事件等,无论是真实的还是虚拟的,都可以或不可以被递送。相反,在图23的布置中,可以将适当的命令直接递送给操作系统,而不必遵循操作系统在生成这样的命令时使用的正常过程。如果触摸屏输入被认为类似于游戏中得分的记录,并且事件类似于所接收的得分,则命令可以类似于宣布胜利(或失败)。图23中的布置通过使用递送给操作系统的假冒命令来直接指示操作系统执行某个功能。
诸如图23所示的布置对于至少某些实施例可能是有用的。例如,递送命令可以被认为是非常直接的方法,因为不可以产生虚拟数据,不会记录虚拟事件等。实际上,通过简单地给出命令而不是让操作系统确定是否应该给出这样的命令,操作系统本身的功能可能至少在一定程度上被忽略。然而,如参照图22 所指出的,移动操作系统可能不一定被配置为容易地接受来自外部来源的内部命令。事实上,这样的功能可以被认为是对操作系统的颠覆,并且可以通过为保护操作系统而实施的措施(例如杀毒软件)来防止。
尽管图21至图23呈现了可以用于实现各种实施例的方法的三个示例,但是实施例不仅限于此,其他方法可能同样适合。例如,对于某些实施例,可以在解释器中生成命令并将其传送到头戴式显示器或其他设备内的应用程序、驱动程序等,从而完全取代移动操作系统。此外,其中多个方法组合的混合布置也可能是合适的;所示的示例方法不一定是排他性的。
此外,尽管图21至图23中所示示例为清楚起见具体指的是单个情况,即具有在其处理器上实例化的解释器和移动操作系统的头戴式显示器,但是实施例不仅限于这样的布置。其他设备、系统、方法等可能同样适合。
如前所述,本文结合至少两个显著特征提供示例:将自由空间输入适配为表面约束输入的模拟,并且在配置成接受表面约束输入的系统中引发对自由空间输入的响应。虽然为了简单起见已经分别说明了这两个特征,但是这些特征的组合也可以在各种实施例中适用。在图24A和图24B中示出了示例。然而,应当强调的是,虽然在此详细示出了两个这样的特征,但是实施例不仅限于所示出的特征。
参照图24A,在头戴式显示器的处理器上实例化2430移动操作系统。移动操作系统适用于引发对递送到其的触摸屏输入的响应。在头戴式显示器的处理器上实例化2432解释器。解释器在其中包括自由空间划动标准。
关于实例化2432解释器,特别是实例化其自由空间输入标准,在图24A的示例中,呈现了离散隐式方法(至少在某种程度上类似于针对图15A所示出和描述的)。在步骤2432A、2432B和2432C中分别在处理器上实例化用于触下、划动和抬起状态的三个子标准。
关于子步骤2432A,将自由空间触下状态子标准实例化在处理器上在其中包括要求2432A1伸出的食指充当用于递送自由空间输入的末端执行器,并且排除 2432A2其他手指的伸展。自由空间触下状态子标准还指定2432A3在一范围内的向下运动,限制2432A4反弹加速度,并且还限制2432A5指节运动的范围。
继续在图24A中(并且仍然关于其步骤2432),结合子步骤2432B,将自由空间触下状态子标准实例化在处理器上在其中包括要求2432B1伸出的食指充当用于递送自由空间输入的末端执行器,并排除2432B2其他手指的伸展。自由空间触下状态子标准还指定2432B3在一范围内的从左到右的运动,限制2432B4 反弹加速度,并且还限制2432B5指节运动的范围。
关于子步骤2432C,将自由空间触下状态子标准实例化在处理器上在其中包括要求2432C1伸出的食指充当用于递送自由空间输入的末端执行器,并且排除2432C2其他手指的伸展。自由空间触下状态子标准还指定2432C3在一范围内的向上运动,限制2432C4反弹加速度,并且还限制2432C5指节运动的范围。
现在参照图24B,利用头戴式显示器上的传感器来感测2434自由空间划动。自由空间划动输入从传感器传送2436到解释器。在解释器中做出关于自由空间划动是否满足其标准的确定2438。如果确定2438是肯定的,则该方法继续到步骤2440,而如果确定2438是否定的,则跳过步骤2440。
继续到步骤2440,在移动操作系统中引发触摸屏划动响应。虚拟触摸屏链接从解释器连接2440A到移动操作系统。基于自由空间划动,在解释器中生成 2440B虚拟表面触摸屏划动。通过虚拟触摸屏链接将虚拟触摸屏划动传送2140C 到移动操作系统。
现在参照图25,其中以示意图形式示出了设备的示例性实施例。
在图25的示例性布置中,装置2560包括处理器2562,其中传感器2564与处理器通信。处理器还包括设置在其上的解释器2568。此外,图25的布置示出了设置在处理器2560上的数据实体2566。如前所述,数据实体(例如操作系统) 可能不一定是各种实施例的一部分,但是仍然可以存在并且与各种实施例通信。数据实体2566以虚线轮廓示出以强调这一点。
处理器2562适于执行在其上实例化的可执行指令。关于处理器2562的选择,本发明不受限制。合适的处理器2562包括但不限于数字电子微处理器。尽管处理器2562在本文的至少一些地方为了清楚的目的而被称为独立的物理设备,但是这不是必需的,并且其他布置可能是合适的。例如,处理器2562可以构成协同工作的两个或更多个物理处理器、网络中没有明确限定的物理形式的处理能力等。
传感器2564适于感测自由空间输入。如图25所示,传感器2564是诸如彩色数码相机、深度相机等的成像器。然而,这些仅仅是示例,并且实施例在可以在其中使用哪些传感器方面不受限制。合适的传感器可以包括但不限于数字和/或模拟相机(无论是以灰度和/或颜色进行操作,并且无论是否感测可见光、红外光、热辐射和/或紫外光)、深度相机、结构光传感器、飞行时间传感器和超声波传感器。
如图所示,传感器2564直接与处理器2562连接,然而这仅仅是示例。其他布置可能同样合适,包括但不限于其中传感器2564根本不是装置2560的一部分,和/或其中传感器2564在物理上远离装置2560的布置。此外,关于处理器2562和传感器2564如何可以通信,实施例不受限制。尽管如图25所示,硬连线链接可能是合适的,但是包括但不限于无线通信的其他布置可能同样适合。
如所指出的,数据实体2566可以是用于至少某些实施例的可选特征,并且在存在的情况下可以是或可以不是装置2560本身的一部分(如其虚线轮廓所示)。在存在的情况下,数据实体2566可以适于执行或者至少命令当某个功能由各种实施例引发时执行该功能,例如表面约束输入响应。关于可以存在什么数据实体2566(如果有的话),和/或是否存在该数据实体2566,实施例不受限制。此外,虽然图25的布置示出了设置在处理器2562上的数据实体2566,在相同处理器2562上设置有解释器2568,但这仅仅是示例。
在存在的情况下,数据实体2566可以存在于不同的处理器上。例如,装置 2560可以具有其上设置有解释器2568的处理器2562,该处理器与另一处理器通信。作为更具体的示例,装置2560可以作为“插入式”设备存在,适于与另一个设备连接以提供附加功能。在这种情况下,插入式设备可以具有与可能存在于其他设备中的任何处理器分离的处理器2560。类似地,作为装置2560的一部分示出的传感器2564可以是其他设备上的传感器,该传感器2564的能力然后被用于各种实施例的目的。
仍然参照图25,如所指出的,解释器2568设置在处理器2562上。如前所述,解释器2568可以包括和/或表示各种实施例的两个或更多个功能,例如自由空间输入标准和用于确定自由空间输入是否符合该标准的比较器。然而,解释器2568的使用仅仅是示例,其他布置(包括但不限于其中自由空间输入标准和比较器单独设置在处理器2562上的布置)可能同样适合。
现在参照图26,其中以示意图形式示出了设备的另一个示例性实施例。
在图26的示例性布置中,装置2660包括处理器2662,该处理器至少在某种程度上与结合图25所描述的相似。装置2660还包括与其通信的传感器2664A 和2664B。传感器2664A和2664B也可以至少类似于针对图25所描述的传感器,但是可以看出,实施例不限于仅一个传感器;同样,其他元件可以被复制、组合、细分等。
如图26所示的装置2660还包括与处理器2662通信的通信器2682,该通信器适于在处理器和其他实体之间进行通信。在存在通信器2682的情况下,关于通信器2682,实施例不受限制。通常但不一定,通信器2682可以是诸如Wi-Fi 或蓝牙通信器的无线通信器,但是其它布置可能同样适合。
装置2660包括与处理器2662通信的显示器2684。如本文别处所述,各种实施例可以应用于例如便携式电子设备,包括但不限于头戴式显示器。尽管实施例不一定需要显示器2684,但是在某些实施例中可能存在的显示器2684在本文中被示出为示例。如图26所示,显示器2684是立体显示器,其左右屏幕适于输出到观看者的左眼和右眼。然而,这也仅仅是示例。关于显示器2684的类型,实施例不受特别限制。通常但不一定,显示器2684可以是视觉显示器。在存在的情况下,一系列设备可以适合用作显示器2684,包括但不限于发光二极管(LED)、有机发光二极管(OLED)、等离子屏面板(PDP)、液晶显示器(LCD)等。同样地,使用投影的或透射的显示器也可能是合适的,其中所观看的表面本质上是用于投影或者说是在别处生成之后传输的图像的无源屏幕。包括但不限于直接将图像显示在用户的眼睛上的系统的其它布置也可能同样适合。数字或模拟显示技术可能是合适的。此外,实施例不仅限于使用视觉显示器作为显示器 2684。
仍然参照图26,其中所示的装置2660包括与处理器2662通信的数据存储 2686,例如硬盘驱动器、固态驱动器等。数据存储2686及其功能不一定是所有实施例必需的,然而,本文中结合方法和装置的先前示例和评论包括对数据存储和/或其他设备/系统的引用,例如用于促进将自由空间输入标准实例化到处理器等上。作为更具体的示例,如图26所示的数据存储2686可以存储与这样的建立相关的信息,该信息由处理器2662访问和/或在其上实例化。关于诸如数据存储2686的元件的包含和/或连接,实施例不受限制,并且虽然不一定要求,但也不禁止诸如数据存储2686(或者通信器、显示器等)的元件。关于什么数据存储2686可能是合适的,实施例也不受限制;尽管数据存储2686在图26 中被示出为硬盘驱动器,但这仅仅是示例,其他布置可能同样适合。
处理器2662包括在其上实例化的解释器2668。通常但不一定,解释器2668 和/或其元件可以包括可执行指令、数据等。
如图所示,解释器2668包括自由空间输入标准2670,其中自由空间输入标准2670包括状态标准:状态A标准2670A、状态B标准2670B、状态C标准2670C 和状态D标准2670D。状态标准2670A到2670D的使用已经在前文中进行了讨论,并且仅仅是示例;包括但不限于也在本文中详细描述的那些的其他布置可能同样适合。
解释器2668包括边界标准2672。边界标准也在前文中进行了描述。应当指出,先前的示例可能未将状态标准(例如2670A到2670D)与边界标准2672组合。同样,并非包括状态标准2670A到2670D的所有实施例都必然包括边界标准2672,反之亦然。两者在本文中一起作为示例示出(但不排除包括两者的实施例)。
解释器2668包括输入比较器2674,该输入比较器适于比较自由空间输入(例如,如从传感器2664A和/或2664B接收的)与自由空间输入标准2670和/或其状态标准2670A到2670D。
解释器2668还包括引发器2676,其适于引发触摸屏输入响应。如图26所示,引发器2676包括:虚拟触摸屏链接2678A和虚拟输入生成器2680A;虚拟触摸输入事件链接2678B和虚拟事件生成器2680B;以及虚拟操作系统命令链接 2678C和虚拟命令生成器2680C。如所指出的,每个这样的对可以适于以不同方式引发触摸屏输入响应。通常但不一定,给定实施例可以仅包括一个这样的对:虚拟触摸屏链接2678A和虚拟输入生成器2680A(分别适于传送和生成虚拟触摸屏输入);或虚拟触摸输入事件链接2678B和虚拟事件生成器2680B(分别适于传送和生成虚拟事件);或虚拟操作系统命令链接2678C和虚拟命令生成器 2680C(分别适于传送和生成虚拟命令)。图26中为了完整而示出了所有三个对,但通常可能仅存在一个这样的对(虽然不排除具有多于一个对的实施例)。
如先前结合图25所提到的,虽然装置2660的某些元件被示为解释器2668 和/或解释器2668的一部分,但是可以将类似的元件和/或其类似的功能并入到装置的各种实施例中,而不一定利用解释器2668。
装置2660还可以包括,和/或可以解决而不一定包括在处理器2662上实例化的操作系统2666,操作系统2666包括但不限于移动操作系统。
现在参照图27,实施例在形式上没有特别的限制,并且可以设置在许多形状和/或其他设备上和/或并入许多形状和/或其他设备中。合适的配置包括但不限于图27中所示的示例,示出了配置成类似一副眼镜的头戴式显示器的形式的装置。
如图27所示,其中的装置2760的示例性实施例包括主体2788,该主体2788 具有类似于一副眼镜的形式,并且适于以类似的方式佩戴。适于执行可执行指令的处理器2762设置在主体2788上。尽管看上去不是不同的实体,但是处理器2762可以在其上支持类似于图25中所示的解释器和数据实体、类似于图26 中所示的解释器(包括自由空间输入标准和/或状态标准、边界标准、输入比较器和引发器,该引发器包括虚拟触摸屏链接和虚拟输入生成器、虚拟输入事件链接和虚拟事件生成器或虚拟操作系统命令链接和虚拟命令生成器)和操作系统、和/或可执行指令和/或数据的一些其他布置。
图27中的装置2760包括均设置在主体2788上的通信器2782和数据存储 2786。装置2760还包括设置在主体2788上的传感器2764A和2764B,传感器 2764A和2764B在图27中示出为立体配置的成像器,但这些仅仅是示例。装置 2760还包括设置在主体2788上的显示器2784A和2784B,显示器2784A和2784B 示出为立体配置的左右视觉显示器。
应当指出,在所示的布置中,主体2788被配置并且传感器2764A和2764B 被设置在其上,使得当观看者佩戴主体2788时,显示器运动传感器2764A和 2764B将与观看者的眼睛的视线基本上对齐,并且假设显示器运动传感器2764A 和2764B表现出与观看者的视野范围上类似的视野,则可以潜在地包含至少在一定程度上与观看者的眼睛的视野相当的视野。类似地,在所示的布置中,主体2788被配置并且显示器2784A和2784B被设置在其上,使得当观看者佩戴主体2788时,显示器2784A和2784B将接近观看者的眼睛并且基本上在观看者的眼前。
然而,应当强调的是,图27中的布置仅仅是示例,其他布置可能同样合适,包括但不限于除了头戴式显示器以外的其他头戴式显示器和设备和系统。
图28是根据所公开的技术的实施例的装置的框图,该装置可以执行各种操作并且存储由这样的操作生成和/或使用的各种信息。该装置可以表示本文描述的任何计算机或处理系统。处理系统2890是硬件设备,可以在其上实现图1至图27的示例中描绘的任何其他实体、部件或服务(以及本说明书中描述的任何其它部件)。处理系统2890包括联接到互连器2893的一个或多个处理器2891 和存储器2892。互连器2893在图28中被示出为抽象化表示,该抽象化表示代表通过适当的网桥、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连器2893可以包括例如系统总线、外设部件互连(PCI)总线或PCI-Express总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气和电子工程师协会(IEEE)标准1394总线(也称为“火线”)。
处理器2891是处理系统2890的中央处理单元,并且因此控制处理系统2890 的整体操作。在某些实施例中,处理器2891通过执行存储在存储器2892中的软件或固件来实现这一目的。处理器2891可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路 (ASIC)、可编程逻辑设备(PLD)、可信平台模块(TPM)等,或这些设备的组合。
存储器2892是或包括处理系统2890的主存储器。存储器2892表示任何形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,存储器2892可以包含代码。在一个实施例中,代码包括通用编程模块,其被配置为识别经由计算机总线接口接收到的通用程序,并且准备通用程序以供在处理器处执行。在另一个实施例中,通用编程模块可以使用诸如ASIC、 PLD或现场可编程门阵列(FPGA)之类的硬件电路来实现。
网络适配器2894、存储设备2895和I/O设备2896也通过互连器2893连接到处理器2891。网络适配器2894为处理系统2890提供通过网络与远程设备进行通信的能力,并且可以是例如以太网适配器或光纤通道适配器。网络适配器 2894还可以为处理系统2890提供与集群内的其他计算机进行通信的能力。在一些实施例中,处理系统2890可以使用多于一个网络适配器,以分别处理集群内部和外部的通信。
I/O设备2896可以包括例如键盘、鼠标或其它定点设备、磁盘驱动器、打印机、扫描仪以及包括显示设备的其他输入和/或输出设备。I/O设备2896还可以包括例如适于接受包括但不限于姿态和/或姿势的视觉输入的相机和/或其他成像器。显示设备可以包括例如阴极射线管(CRT)、液晶显示器(LCD)或某些其他可应用的已知或方便的显示设备。显示设备可以采取各种形式,包括但不限于适用于近眼应用(例如头戴式显示器或其他可穿戴设备)的立体显示器。
存储在存储器2892中的代码可以被实现为软件和/或固件以将处理器2891 编程为执行本文所述动作。在某些实施例中,通过经由处理系统2890(例如,经由网络适配器2894)从远程系统下载,可以将这样的软件或固件初始地提供到处理系统2890。
本文的技术可以通过例如用软件和/或固件编程的可编程电路(例如,一个或多个微处理器)或完全在专用硬连线(不可编程)电路中或以这些形式的组合来实现。专用硬连线电路可以呈例如一个或多个AISC、PLD、FPGA等的形式。
用于实现这里介绍的技术的软件或固件可以存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器执行。本文使用的术语“机器可读存储介质”包括可以以机器可访问的形式存储信息的任何机制。
机器也可以是服务器计算机、客户端计算机、个人计算机(PC)、平板型PC、膝上型计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、iPhone、黑莓、处理器、电话、网络设备、网络路由器、交换机或网桥,或者能够执行指定该机器要采取的动作的一组指令(顺序或其他)的任何机器。
机器可访问的存储介质或存储设备2895包括例如可记录/不可记录介质(例如,ROM、RAM、磁盘存储介质、光存储介质、闪存设备等)等,或其任何组合。存储介质通常可以是非暂时性的或者包括非暂时性设备。在此上下文中,非暂时性存储介质可以包括有形的设备,意味着该设备具有具体的物理形式,尽管该设备可以改变其物理状态。因此,例如,非暂时性是指尽管状态发生变化仍保持有形的设备。
本文使用的术语“逻辑”可以包括例如用特定软件和/或固件编程的可编程电路、专用硬连线电路或其组合。
上面的说明书、示例和数据提供了本发明的组成的制造和使用的完整描述。由于可以在不脱离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明存在于下文所附的权利要求中。

Claims (30)

1.一种机器实现的方法,包括:
在处理器中建立自由空间输入标准;
用传感器感测自由空间输入;
将所述自由空间输入传送到所述处理器;
如果所述自由空间输入满足所述自由空间输入标准:
针对所述自由空间输入在所述处理器中生成表面约束通信;并且将所述表面约束通信传送到数据实体,其中,所述数据实体:
与所述自由空间输入不兼容;
检测所述表面约束通信;
根据所述表面约束通信将表面约束输入识别为就如同在与所述数据实体通信的触摸屏上被接收一样;并且
执行对应于所述表面约束输入的响应。
2.根据权利要求1所述的机器实现的方法,其中:
所述数据实体包括操作系统。
3.根据权利要求1所述的机器实现的方法,其中:
所述数据实体在所述处理器上被实例化。
4.根据权利要求1所述的机器实现的方法,其中:
所述自由空间输入包括三维输入。
5.根据权利要求1所述的机器实现的方法,其中:
所述自由空间输入包括手姿态和手姿势中的至少一个。
6.根据权利要求1所述的机器实现的方法,其中:
如果所述自由空间输入满足所述自由空间输入标准:
在所述处理器中生成虚拟表面约束输入;并且将所述虚拟表面约束输入传送到所述数据实体,
其中,所述数据实体接受所述虚拟表面约束输入作为所述表面约束输入并且执行与所述表面约束输入相对应的响应。
7.根据权利要求6所述的机器实现的方法,其中:
将所述虚拟表面约束输入传送到所述数据实体包括建立虚拟表面约束输入链接并将到所述数据实体的所述虚拟表面约束输入链接识别为实际表面约束输入源。
8.根据权利要求6所述的机器实现的方法,其中:
所述虚拟表面约束输入包括虚拟触摸屏输入。
9.根据权利要求6所述的机器实现的方法,其中:
所述虚拟表面约束输入包括虚拟触下输入。
10.根据权利要求6所述的机器实现的方法,其中:
所述虚拟表面约束输入包括虚拟触下和划动输入。
11.根据权利要求6所述的机器实现的方法,其中:
所述虚拟表面约束输入至少包括随时间推移至少基本上对应于触摸屏上的触下和划动的x和y坐标以及压力。
12.根据权利要求6所述的机器实现的方法,包括:
生成考虑所述自由空间输入的所述虚拟表面约束输入。
13.根据权利要求12所述的机器实现的方法,其中:
所述虚拟表面约束输入包括将所述自由空间输入转换成对应的表面约束形式。
14.根据权利要求6所述的机器实现的方法,包括:
生成不包含所述自由空间输入的所述虚拟表面约束输入。
15.根据权利要求1所述的机器实现的方法,其中:
如果所述自由空间输入满足所述自由空间输入标准:
在所述处理器中生成用于所述数据实体的虚拟表面约束输入事件;并且
将所述虚拟表面约束输入事件传送到所述数据实体,其中,所述数据实体接受所述虚拟表面约束输入事件作为表面约束输入事件并且执行与所述表面约束输入事件相对应的响应。
16.根据权利要求15所述的机器实现的方法,其中:
将所述虚拟表面约束输入事件传送到所述数据实体包括建立虚拟事件链接并将到所述数据实体的所述虚拟事件链接识别为实际事件源。
17.根据权利要求15所述的机器实现的方法,其中:
所述虚拟表面约束输入事件包括虚拟触摸屏输入事件。
18.根据权利要求15所述的机器实现的方法,其中:
所述虚拟表面约束输入事件包括虚拟触下输入事件。
19.根据权利要求15所述的机器实现的方法,其中:
所述虚拟表面约束输入事件包括虚拟触下和划动输入事件。
20.根据权利要求1所述的机器实现的方法,其中:
如果所述自由空间输入满足所述自由空间输入标准:
在所述处理器中生成用于所述数据实体的虚拟命令;并且将所述虚拟命令传送到所述数据实体,其中,所述数据实体接受所述虚拟命令作为命令并且执行与所述命令相对应的响应。
21.根据权利要求20所述的机器实现的方法,其中:
将所述虚拟命令传送到所述数据实体包括建立虚拟命令链接并且将到所述数据实体的所述虚拟命令链接识别为实际命令源。
22.根据权利要求20所述的机器实现的方法,其中:
所述虚拟命令包括虚拟触摸屏命令。
23.根据权利要求20所述的机器实现的方法,其中:
所述虚拟命令包括虚拟触下命令。
24.根据权利要求20所述的机器实现的方法,其中:
所述虚拟命令包括虚拟触下和划动命令。
25.根据权利要求1所述的机器实现的方法,包括:
利用所述响应控制装置。
26.一种机器实现的方法,包括:
在头戴式显示器的处理器中建立自由空间输入标准,所述自由空间输入标准包括在自由空间中的手姿势的速度、速率、方向、加速度、关节角度、手指分离、手指伸展和/或手指选择中的至少一个的标准;
利用所述头戴式显示器的深度成像器感测随时间推移的所述手姿势的自由空间输入的多个深度图像;
将所述自由空间输入传送到所述处理器;
如果所述自由空间输入满足所述自由空间输入标准:
针对所述自由空间输入在所述处理器中生成虚拟触摸屏触下和划动输入;
将所述虚拟触摸屏触下和划动输入传送到操作系统就如同在与数据实体通信的触摸屏上被接收一样,使得所述操作系统执行对所述虚拟触摸屏触下和划动输入的响应,其中所述操作系统不能解译所述自由空间输入;和
用所述响应来控制所述头戴式显示器。
27.一种机器实现的装置,包括:
用于在处理器中建立自由空间输入标准的部件;
用于感测自由空间输入的部件;
用于将所述自由空间输入传送到所述处理器的部件;
用于在所述自由空间输入满足所述自由空间输入标准时的以下动作的部件:
针对所述自由空间输入在所述处理器中生成虚拟表面约束通信;并且
将所述虚拟表面约束通信传送到数据实体就如同在与所述数据实体通信的触摸屏上被接收一样,使得所述数据实体执行与所述虚拟表面约束通信相对应的响应。
28.一种机器实现的装置,包括:
处理器;
传感器,其与所述处理器通信;
在所述处理器上实例化的自由空间输入标准;
自由空间输入比较器,其在所述处理器上实例化并且适于比较自由空间输入与所述自由空间输入标准;
虚拟表面约束通信生成器,其在所述处理器上实例化并且适于针对所述自由空间输入生成表面约束通信;和
通信器,其在所述处理器上实例化并适于将所述表面约束通信传送到数据实体,使得所述数据实体执行与表面约束输入相对应的响应就如同所述表面约束输入在与所述数据实体通信的触摸屏上被接收一样。
29.根据权利要求28所述的装置,其中:
所述处理器和所述传感器设置在头戴式显示器上。
30.根据权利要求28所述的装置,其中:
所述传感器包括深度成像器。
CN201680036361.9A 2015-05-15 2016-05-16 用于施加用于表面约束控制的自由空间输入的方法和装置 Active CN107710132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111259792.0A CN113986110B (zh) 2015-05-15 2016-05-16 用于施加用于表面约束控制的自由空间输入的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/713,971 US9442575B1 (en) 2015-05-15 2015-05-15 Method and apparatus for applying free space input for surface constrained control
US14/713,971 2015-05-15
PCT/US2016/032770 WO2016187152A1 (en) 2015-05-15 2016-05-16 Method and apparatus for applying free space input for surface constrained control

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111259792.0A Division CN113986110B (zh) 2015-05-15 2016-05-16 用于施加用于表面约束控制的自由空间输入的方法和装置

Publications (2)

Publication Number Publication Date
CN107710132A CN107710132A (zh) 2018-02-16
CN107710132B true CN107710132B (zh) 2021-11-02

Family

ID=56881290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036361.9A Active CN107710132B (zh) 2015-05-15 2016-05-16 用于施加用于表面约束控制的自由空间输入的方法和装置

Country Status (5)

Country Link
US (8) US9442575B1 (zh)
EP (2) EP4435577A2 (zh)
JP (3) JP2018518784A (zh)
CN (1) CN107710132B (zh)
WO (1) WO2016187152A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442575B1 (en) 2015-05-15 2016-09-13 Atheer, Inc. Method and apparatus for applying free space input for surface constrained control
US10401966B2 (en) * 2015-05-15 2019-09-03 Atheer, Inc. Method and apparatus for applying free space input for surface constrained control
US10963159B2 (en) * 2016-01-26 2021-03-30 Lenovo (Singapore) Pte. Ltd. Virtual interface offset
US20180059812A1 (en) * 2016-08-22 2018-03-01 Colopl, Inc. Method for providing virtual space, method for providing virtual experience, program and recording medium therefor
US10437070B2 (en) 2016-12-23 2019-10-08 Realwear, Inc. Interchangeable optics for a head-mounted display
US11507216B2 (en) 2016-12-23 2022-11-22 Realwear, Inc. Customizing user interfaces of binary applications
US11099716B2 (en) 2016-12-23 2021-08-24 Realwear, Inc. Context based content navigation for wearable display
US10620910B2 (en) * 2016-12-23 2020-04-14 Realwear, Inc. Hands-free navigation of touch-based operating systems
US11048407B1 (en) * 2017-02-08 2021-06-29 Michelle M Kassatly Interface and method for self-correcting a travel path of a physical object
US11435739B2 (en) * 2017-02-08 2022-09-06 L. Samuel A Kassatly Interface and method for controlling the operation of an autonomously travelling object
KR102155378B1 (ko) * 2018-09-19 2020-09-14 주식회사 브이터치 객체 제어를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US11189054B2 (en) * 2018-09-28 2021-11-30 Apple Inc. Localization and mapping using images from multiple devices
US10936874B1 (en) * 2019-08-13 2021-03-02 Dell Products, L.P. Controller gestures in virtual, augmented, and mixed reality (xR) applications
KR20210138923A (ko) * 2020-05-13 2021-11-22 삼성전자주식회사 증강 현실 서비스를 제공하기 위한 전자 장치 및 그의 동작 방법
JP7549492B2 (ja) 2020-09-08 2024-09-11 元路 小下 情報処理装置、情報処理方法及びプログラム
JPWO2023181237A1 (zh) * 2022-03-24 2023-09-28
US12099653B2 (en) 2022-09-22 2024-09-24 Apple Inc. User interface response based on gaze-holding event assessment
US12118200B1 (en) 2023-06-02 2024-10-15 Apple Inc. Fuzzy hit testing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101595417A (zh) * 2007-01-31 2009-12-02 麦可门蒂斯公司 用于轮廓形成系统的头戴式显示装置
CN101673161A (zh) * 2009-10-15 2010-03-17 复旦大学 一种可视可操作无实体的触摸屏系统
CN102981624A (zh) * 2012-12-03 2013-03-20 中国联合网络通信集团有限公司 三维手势输入方法及装置
CN103365411A (zh) * 2012-03-27 2013-10-23 索尼公司 信息输入设备、信息输入方法和计算机程序
CN103946734A (zh) * 2011-09-21 2014-07-23 谷歌公司 叠加有对于外部设备的控制和指令的可穿戴计算机
CN104335142A (zh) * 2012-06-14 2015-02-04 高通股份有限公司 用于透明头戴式显示器的用户接口交互

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533199B2 (en) * 2005-12-14 2013-09-10 Unifi Scientific Advances, Inc Intelligent bookmarks and information management system based on the same
US8842074B2 (en) 2006-09-06 2014-09-23 Apple Inc. Portable electronic device performing similar operations for different gestures
US8060841B2 (en) 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
JP2009251702A (ja) * 2008-04-02 2009-10-29 Hiroyuki Hosoda 情報処理装置、情報処理方法及び情報処理プログラム
US8754855B2 (en) * 2008-06-27 2014-06-17 Microsoft Corporation Virtual touchpad
US9652030B2 (en) * 2009-01-30 2017-05-16 Microsoft Technology Licensing, Llc Navigation of a virtual plane using a zone of restriction for canceling noise
JP5114795B2 (ja) * 2010-01-29 2013-01-09 島根県 画像認識装置および操作判定方法並びにプログラム
US20120056989A1 (en) 2010-09-06 2012-03-08 Shimane Prefectural Government Image recognition apparatus, operation determining method and program
JP5960796B2 (ja) * 2011-03-29 2016-08-02 クアルコム,インコーポレイテッド ローカルマルチユーザ共同作業のためのモジュール式のモバイル接続ピコプロジェクタ
WO2013063767A1 (en) 2011-11-01 2013-05-10 Intel Corporation Dynamic gesture based short-range human-machine interaction
US9501152B2 (en) * 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
JP5646532B2 (ja) * 2012-03-26 2014-12-24 ヤフー株式会社 操作入力装置、操作入力方法、及び、プログラム
JP5875456B2 (ja) * 2012-04-27 2016-03-02 三菱電機株式会社 タッチパネル誤操作防止入出力装置
US9767720B2 (en) 2012-06-25 2017-09-19 Microsoft Technology Licensing, Llc Object-centric mixed reality space
US9874977B1 (en) * 2012-08-07 2018-01-23 Amazon Technologies, Inc. Gesture based virtual devices
US9626889B2 (en) * 2012-09-24 2017-04-18 Semiconductor Energy Laboratory Co., Ltd. Method and program for driving information processing device
US10013138B2 (en) * 2012-10-22 2018-07-03 Atheer, Inc. Method and apparatus for secure data entry using a virtual interface
US9658695B2 (en) * 2012-11-08 2017-05-23 Cuesta Technology Holdings, Llc Systems and methods for alternative control of touch-based devices
TWI471756B (zh) * 2012-11-16 2015-02-01 Quanta Comp Inc 虛擬觸控方法
EP2957919B1 (en) 2013-02-14 2017-10-18 Mitsubishi Electric Corporation Determining device, determining method, and program
US9041741B2 (en) * 2013-03-14 2015-05-26 Qualcomm Incorporated User interface for a head mounted display
US9687730B2 (en) * 2013-03-15 2017-06-27 Steelseries Aps Gaming device with independent gesture-sensitive areas
US20140282274A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Detection of a gesture performed with at least two control objects
JP5900393B2 (ja) * 2013-03-21 2016-04-06 ソニー株式会社 情報処理装置、操作制御方法及びプログラム
JP2014219938A (ja) * 2013-05-10 2014-11-20 株式会社ゲッシュ 入力支援装置、入力支援方法、および、プログラム
US9158115B1 (en) * 2013-09-16 2015-10-13 Amazon Technologies, Inc. Touch control for immersion in a tablet goggles accessory
KR102147430B1 (ko) * 2013-10-07 2020-08-24 한국전자통신연구원 가상 공간 멀티 터치 인터랙션 장치 및 방법
US20150205358A1 (en) 2014-01-20 2015-07-23 Philip Scott Lyren Electronic Device with Touchless User Interface
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
EP4239456A1 (en) * 2014-03-21 2023-09-06 Samsung Electronics Co., Ltd. Method and glasses type wearable device for providing a virtual input interface
KR20150118813A (ko) * 2014-04-15 2015-10-23 삼성전자주식회사 햅틱 정보 운용 방법 및 이를 지원하는 전자 장치
US9335764B2 (en) * 2014-05-27 2016-05-10 Recreational Drone Event Systems, Llc Virtual and augmented reality cockpit and operational control systems
US9766674B2 (en) * 2014-06-27 2017-09-19 Intel Corporation USB power delivery controller sharing
US9596749B2 (en) * 2014-12-11 2017-03-14 Intel Corporation Circuit board having a signal layer with signal traces and a reference plane with an additional signal trace larger than the signal traces
US9905052B2 (en) * 2015-01-05 2018-02-27 Worcester Polytechnic Institute System and method for controlling immersiveness of head-worn displays
JP6452456B2 (ja) * 2015-01-09 2019-01-16 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
US10401966B2 (en) 2015-05-15 2019-09-03 Atheer, Inc. Method and apparatus for applying free space input for surface constrained control
US9442575B1 (en) 2015-05-15 2016-09-13 Atheer, Inc. Method and apparatus for applying free space input for surface constrained control

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101595417A (zh) * 2007-01-31 2009-12-02 麦可门蒂斯公司 用于轮廓形成系统的头戴式显示装置
CN101673161A (zh) * 2009-10-15 2010-03-17 复旦大学 一种可视可操作无实体的触摸屏系统
CN103946734A (zh) * 2011-09-21 2014-07-23 谷歌公司 叠加有对于外部设备的控制和指令的可穿戴计算机
CN103365411A (zh) * 2012-03-27 2013-10-23 索尼公司 信息输入设备、信息输入方法和计算机程序
CN104335142A (zh) * 2012-06-14 2015-02-04 高通股份有限公司 用于透明头戴式显示器的用户接口交互
CN102981624A (zh) * 2012-12-03 2013-03-20 中国联合网络通信集团有限公司 三维手势输入方法及装置

Also Published As

Publication number Publication date
US10126881B2 (en) 2018-11-13
EP3295289A4 (en) 2019-01-23
WO2016187152A1 (en) 2016-11-24
EP3295289A1 (en) 2018-03-21
CN113986110A (zh) 2022-01-28
US20160334940A1 (en) 2016-11-17
US20220187945A1 (en) 2022-06-16
US20190050112A1 (en) 2019-02-14
JP2023015274A (ja) 2023-01-31
JP2018518784A (ja) 2018-07-12
US20180101278A1 (en) 2018-04-12
US20210357073A1 (en) 2021-11-18
US11269459B2 (en) 2022-03-08
US20200278770A1 (en) 2020-09-03
EP3295289B1 (en) 2024-08-07
US11029784B2 (en) 2021-06-08
US20240241607A1 (en) 2024-07-18
EP4435577A2 (en) 2024-09-25
US9710110B2 (en) 2017-07-18
JP2024133567A (ja) 2024-10-02
US9442575B1 (en) 2016-09-13
EP3295289C0 (en) 2024-08-07
CN107710132A (zh) 2018-02-16
US10620753B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
CN107710132B (zh) 用于施加用于表面约束控制的自由空间输入的方法和装置
US11836295B2 (en) Method and apparatus for applying free space input for surface constrained control
CN110633008B (zh) 用户交互解释器
CN106845335B (zh) 用于虚拟现实设备的手势识别方法、装置及虚拟现实设备
US11782514B2 (en) Wearable device and control method thereof, gesture recognition method, and control system
WO2019245768A1 (en) System for predicting articulated object feature location
US20160216792A1 (en) Head mounted display, and control method and control program for head mounted display
CN111077987A (zh) 基于手势识别产生交互式虚拟用户界面的方法及相关装置
KR101370027B1 (ko) 안경형 디스플레이 디바이스용 마우스 장치 및 그 구동 방법
CN113986110B (zh) 用于施加用于表面约束控制的自由空间输入的方法和装置
US20240353931A1 (en) Method and apparatus for applying free space input for surface constrained control
CN114923418A (zh) 基于点选择的测量
US20230042447A1 (en) Method and Device for Managing Interactions Directed to a User Interface with a Physical Object
CN116868152A (zh) 用于在三维环境中呈现化身的界面
Moberg et al. Interacting with Hand Gestures in Augmented Reality: A Typing Study

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240618

Address after: Texas USA

Patentee after: West Texas Technology Partners LLC

Country or region after: U.S.A.

Address before: California, USA

Patentee before: ATHEER, Inc.

Country or region before: U.S.A.