CN105074626B - 对额外设备触摸事件的检测和响应 - Google Patents
对额外设备触摸事件的检测和响应 Download PDFInfo
- Publication number
- CN105074626B CN105074626B CN201480019431.0A CN201480019431A CN105074626B CN 105074626 B CN105074626 B CN 105074626B CN 201480019431 A CN201480019431 A CN 201480019431A CN 105074626 B CN105074626 B CN 105074626B
- Authority
- CN
- China
- Prior art keywords
- touch event
- extras
- mobile device
- movement
- touch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在本文中描述了允许对额外设备触摸事件(诸如在围绕移动设备的表面上手敲或者手指或铅笔轻叩)进行检测和定位的技术。在移动设备或该设备的操作系统上执行的应用可基于触摸事件的位置采取各种动作。通过响应于触摸事件而检测设备移动,移动设备传感器(诸如加速计)检测已经发生触摸事件。在一些实施例中,根据传感器读数生成触摸事件特征向量,并且将该触摸事件特征向量传递给确定触摸事件位置的分类器。还可确定其他触摸事件信息,诸如计时、强度和可引起触摸事件的物体的轮廓。对触摸事件的检测和定位允许移动设备的交互区域延伸超过该设备的物理边界,并且允许多个用户同时以更便利的方式使用移动设备。
Description
背景技术
大多数当前的移动设备的交互空间的大小受到限制。对于当前的平板计算机和智能电话,交互空间通常受限于其触摸屏和控制按钮。
附图说明
图1示出可检测额外设备触摸事件且可依据触摸事件的位置执行不同动作的示例性移动设备。
图2示出可检测额外设备触摸事件且可依据触摸事件的位置和计时执行不同动作的示例性移动设备。
图3是检测额外设备触摸事件且确定其位置的示例性方法的流程图。
图4是可确定额外设备触摸事件的位置的示例性计算设备的框图。
图5是确定在移动设备处的额外设备触摸事件的位置且执行动作的示例性方法的流程图。
图6是可实现本文中所描述的技术的示例性计算设备的框图。
图7是可执行作为实现本文中所描述的技术的一部分的计算机可执行指令的示例性处理器核的框图。
具体实施方式
本文中所公开的技术使移动计算设备的交互空间延伸超过该设备的物理边界。响应于额外设备触摸事件、可在该设备附近发生的触摸事件,内置到该设备中的传感器检测该设备在该设备正停留的表面上的移动。所检测的移动可用于至少粗略地确定触摸事件的位置。例如,移动电话可利用内置加速计来检测用户的手指在围绕电话的表面上轻叩,确定轻叩的位置,并且依据在哪里发生轻叩而执行动作。
设备的交互空间的延伸允许用户使用其整只手或双手、而不是仅仅使用一个或几个手指(手指通常只与触摸屏或者控制按钮交互)与该设备交互。举例而言,在移动电话上执行的音乐应用可响应于用户在围绕该设备的表面上击打他的手而播放打击乐器的声音。该应用可依据用户在哪里敲打他或她的手而播放不同的声音。经延伸的交互空间还允许更多用户同时与单个设备交互,或者至少允许多个用户同时与单个设备更便利地交互。例如,考虑在平板计算机上执行的问答游戏,该平板计算机可基于哪一个用户在平板邻近的表面上轻叩他的手而检测若干用户中的哪一个被给予回答问题的机会。与如果用户不得不围拢在平板周围通过与平板的触摸屏交互来参与相比,用户与这种游戏交互可能更加便利。
现在参考附图,其中相似的附图标记自始至终用于引用相似的元件。在以下描述中,出于解释的目的,阐述了大量具体细节以提供对它的透彻理解,然而,可在不具有这些具体细节的情况下实践新颖的实施例可以是显而易见的。在其他实例中,以框图的形式示出众所周知的结构和设备以便于对它们的描述。意图是覆盖权利要求范围内的所有修改、等同、以及替换。
如本文中所使用的,术语“触摸事件”和“额外空间触摸事件”指的是物体与移动设备附近的该设备所在的表面的交互。物体可以是例如用户的手指或整只手、铅笔、鼓槌或指示笔,并且表面可以是例如台面、桌子或地板。由此,触摸事件可以是各种各样的交互,诸如手指或铅笔在桌子上轻叩或者张开的手掌在台面上敲击。如果移动设备的传感器可检测触摸事件,则该触摸事件在该设备附近发生。即,如果触摸事件引起移动设备的可检测移动,则该触摸事件在该设备附近。相应地,移动设备附近可依据各种因素(诸如该设备正停留的平台的材料、用于创建触摸事件的物体、物体敲击表面的强度、以及移动传感器的灵敏度)而变化。
图1示出可检测额外设备触摸事件且可依据触摸事件的位置执行不同动作的示例性移动设备100。移动计算设备(移动设备)100可以是本文中所描述的任何类型的移动设备,诸如移动电话(如图所示)、平板或膝上计算机。移动设备100正停留在平台的表面110上并且正在执行电子鼓应用,该电子鼓应用响应于用户敲打该设备附近的表面而播放各种打击乐器的声音。当用户的手120或130敲打表面110时,创建可引起设备100移动的振动140和150,该移动由该设备的内置传感器检测。
传感器生成指示移动设备的移动的输出。典型地,传感器包括加速计,该加速计生成反映该设备在一个或多个平面(例如,X、Y和Z平面)上的加速的输出。在一些实施例中,移动设备可包括检测触摸事件的一个以上的加速计。在尚有的其他实施例中,陀螺仪可与一个或多个加速计结合使用以检测触摸事件,在一些实施例,陀螺仪提供指示设备围绕一个或多个轴(例如,X、Y和Z轴)的角定向的输出,从而实现对设备的摇动、倾跌和滚动的测量。
移动设备100可依据所检测的触摸事件的位置执行不同的动作。例如,移动设备100可依据用户在哪里敲击附近的周围表面而播放不同的声音。举例而言,如果手在表面110上敲击引起要播放的手鼓声,则移动设备100可将周围区域分割成多个区域,并且依据手已经在哪里敲击而播放不同的手鼓声。在另一实施例中,可依据触摸事件位置播放不同的打击乐器的声音。例如,可对设备100进行编程,从而响应于用户的左手敲打该设备左边的表面,可播放军鼓声,并且如果用户的右手敲打该设备右边的表面,则可播放地嗵嗵噪声。移动设备100周围的区域可被分割成任意数量的分区,并且各个分区可采用任何形状,只要用户设备能够在单独的分区内发生的触摸事件之间进行区分。举例而言,具有两个以上分区的分割方案可允许用户假装他或她打整套架子鼓,其中依据用户在表面110上哪里敲打他或她的手而播放踩镲、炸镲、军鼓、各种嗵鼓和底鼓的声音。
所确定的触摸事件的位置可包括例如相对于移动设备的方向和/或距移动设备的距离。例如,该方向可指示触摸事件已经在离移动设备的特定边缘(例如,上边、下边、左边、右边)最近处发生,或者在特定角坐标处发生。举例而言,参考图1,手120的方向可被确定为在周围区域的左半或左下象限中,在7点位置处或者在角坐标系统内的200度处。手130的方向可被确定为在右半、右下象限中,在4点位置处或者在315度处。由此,在一些实施例中,该方向可至少部分地基于该设备如何分区其周围区域。
图2示出可检测额外设备触摸事件且可依据触摸事件的位置和计时执行不同动作的示例性移动设备200。计算设备200可以是平板计算机或者本文中所描述的任何其他移动设备,正在执行问答游戏应用,其中给予用手(例如,手220、221、222或223)敲打表面210的第一用户回答问题的机会。通过使交互表面延伸超过移动设备200的触摸屏230,有可能增加可在移动设备上玩多玩家游戏的玩家的数量或者至少使多个用户玩游戏更便利。通过简单地敲击该设备附近的表面210能够与设备200交互,多个用户不需要围拢在触摸屏230周围来玩游戏。
图3是检测额外设备触摸事件且确定其位置的示例性方法300的流程图。方法300可在移动设备的任何级别上(诸如在软件应用级或者操作系统级上)操作。典型地,方法300在操作系统级上操作,并且与软件应用和/或操作系统组件进行通信。
在处理动作310,将传感器值读入该设备的缓冲器(或者其他存储器结构或组件)。虽然方法300示出如继续读取的传感器值,但是如最终返回300的流程图中的路径所指示的,只要传感器值的读取由应用或操作系统组件实现,传感器值就可同步地、异步地或连续地读取。一个或多个最近的传感器值可被存储在缓冲器中,并且传感器值可包括指示该设备在一个或多个平面上的加速度或者该设备围绕一个或多个轴的加速度的值。
在处理动作320,确定传感器值是否指示触摸事件的发生。各种方法可用于确定传感器值是否指示触摸事件。例如,在一些实施例中,可将传感器值与触摸事件阈值进行比较,其中触摸事件由超过该阈值的一个或多个加速计读数指示。在传感器值包括多个加速平面或多个传感器的值的实施例中,来自不到所有的平面和/或不到所有的传感器的传感器读数可用于确定触摸事件的存在。
如果传感器值指示触摸事件,则在处理动作330,确定触摸事件是不是额外设备触摸事件。如果为否,则该方法返回310并且读取新的传感器值。确定触摸事件是不是额外设备触摸事件可包括确定用户是否已经经由与该设备的直接物理接触(诸如经由与触摸屏的交互或者按压控制按钮)将输入供应给该设备。如果触摸事件被确定为额外设备触摸事件,则在处理动作340,方法300计算触摸事件的特征向量并将该特征向量传递给分类器。如果触摸事件被确定为不是额外设备触摸事件,则方法300返回310并且读取新的传感器值。在方法300的一些实施例中,如果传感器值指示触摸事件的存在,则省掉处理动作300并且方法300从320前进到340。处理动作330可在例如不期望用户输入直接供应给移动设备的情形中省掉。
在处理动作340,根据传感器值确定包括一个或多个触摸事件特征的向量。触摸事件特征向量可包括例如通过对传感器值进行傅立叶变换(诸如快速傅立叶变换)而获得的频域信息、最小值和最大值等。触摸事件特征向量可包括时域、频域、其他类型的信息、或者其任何组合。
一旦被确定,触摸事件特征向量就被传递给分类器。在一些实施例中,使用机器学习原理来训练分类器,其中一组训练示例(或向量)被供应给分类器以训练分类器能够确定触摸事件的位置。在一些实施例中,分类器可以是k-最邻近(kNN)分类器。在kNN分类器中,给定表示查询点的输入触摸事件特征向量,在训练数据中找到在距离上最接近于查询点的k个示例。然后,基于k个示例中的多数投票向输入特征向量分配类。该类是所确定的触摸事件位置,在一些实施例中,如果适当的训练集已经被提供给分类器,则对触摸事件特征向量的分类可确定多个用户所提供的多个同时轻叩的位置。
可使用各种方法来创建分类器。通过向移动设备提供已知触摸事件的一组训练示例来创建分类器,这被称为训练该分类器。可以各种方式创建训练集。在一个实施例中,将移动设备放置在表面上并且启动训练应用。该应用将指令提供给用户,在该应用上,用户在围绕电话的表面上创建触摸事件。训练示例可包括在围绕移动设备的不同位置处发生的触摸事件、具有强度的触摸事件、使用不同物体(例如,铅笔、指示笔)或者用户的手的一部分(例如,单个、多个手指、拳头、张开的手)创建的触摸事件、直接供应给移动设备(例如,触摸屏或控制按钮)的触摸事件、供应给不同平台(例如,木头、花岗石)的触摸事件、以及同时发生的多个触摸事件。
在一些实施例中,当移动设备移动到不同表面时,可重新训练分类器以允许该设备更可靠地检测触摸事件。例如,与用户在地毯上敲击他或她的手相比,用户在木头桌面上敲击他或她的手通常在移动设备处产生不同的加速计读数。设备可提示用户提供一组训练示例以便例如在该设备检测它已经移动到新的表面时、在启动利用触摸事件位置的应用时、或者在用户请求时重新训练分类器。
在处理动作350,将如分类器所确定的一个或多个触摸事件的位置传递给应用或操作系统组件。
在一些实施例中,设备可确定触摸事件的强度,其反映例如用户使用物体或身体部位敲击该设备附近的表面的力度。在这些实施例中,应用(或操作系统)可执行至少部分地依据触摸事件强度的动作。或者,该应用所采取的动作的特性可取决于触摸事件强度。例如,在音乐应用示例中,播放乐器声的音量可部分地基于触摸事件强度。在另一示例中,在游戏应用中,用户敲击表面的强度可使得游戏角色采取不同的动作(例如,如果强度在某一阈值以下,则该角色可跳跃,而如果该强度在阈值以上,则该角色可起飞)。
在一些实施例中,该设备可确定创建触摸事件的物体的轮廓。该轮廓可在用于创建一组训练示例中的触摸事件的各种物体之间进行区分。在这些实施例中,应用(或操作系统)可至少部分地依据物体轮廓执行动作。或者,该应用所采取的动作的特性可依据物体轮廓。例如,返回音乐应用示例,与如果用户使用他张开的手掌敲击表面相比,用户使用单个手指轻叩表面可使得该应用播放打击乐器(诸如手鼓)的不同音调或声音。类似地,如果分类器可在用户的手或鼓槌(或者铅笔、钢笔或指示笔)之间进行区分,则音乐应用可使不同的乐器得以播放,诸如如果触摸事件由鼓槌、铅笔、钢笔或指示笔引起则播放军鼓或嗵鼓,而如果触摸事件由用户的手或手指触摸表面引起则播放手鼓。
在一些实施例中,触摸事件位置以粗略的精度被确定。例如,在先前描述的问答游戏应用实施例中,如果四个玩家正在玩游戏,则移动设备只需要能够确定触摸事件位于围绕该设备的表面的哪一个象限。由此,在只需要粗略精度的实施例中,可将较少的训练示例供应给移动设备以训练分类器。在要求触摸位置的较精确精度的实施例中,可将较大的一组训练示例提供给移动设备以供分类器训练。
在一些实施例中,本文中的技术可确定触摸事件的计时信息。计时信息可包括任何类型的计时信息,诸如绝对时间(例如,日期、时、分、秒)、相对于另一触摸事件或者设备或应用事件的时间(例如,在问答游戏中,从出现上一问题起的时间)。
本文中所描述的技术还可确定多个重叠触摸事件的计时信息。即,触摸事件在时间上足够近地发生,以致于加速计在它开始对后续触摸事件做出响应时仍可呈现对在前触摸事件的响应。在一些实施例中,第一触摸事件在一系列的多个重叠触摸事件中发生的时间可被确定为传感器读数首次超过触摸事件阈值的时间。由于触摸事件的传感器读数通常快速地下降到触摸事件阈值以下,因此与第一触摸事件重叠的第二触摸事件发生的时间可以是传感器读数下一次超过触摸事件阈值的时间。
图4是可确定额外设备触摸事件的位置的示例性计算设备400的框图。计算设备400包括一个或多个传感器410、缓冲器420、一个或多个应用430、以及操作系统440。一个或多个应用430和操作系统440在计算设备400上操作。一个或多个传感器410可包括一个或多个加速计、陀螺仪、或者可检测设备移动的其他传感器。缓冲器420存储一个或多个传感器410所生成的值。在其他实施例中,传感器值可被存储在移动设备400内或者由移动设备400可存取的其他存储器结构(诸如高速缓存存储器)中。应用430可包括利用触摸事件位置的一个或多个应用。
操作系统440包括触摸事件确定模块450、向量生成模块460、分类器470、以及报告模块480。触摸事件确定模块450评估存储在缓冲器420中的传感器值以确定在计算设备附近是否已经有触摸事件。向量生成模块460生成一组传感器值的触摸事件特征向量。该向量可包括传感器值的特征,诸如特定窗口上的最小、最大、中间和平均的传感器值、以及频域信息。分类器470可用于根据触摸事件特征向量确定触摸事件的位置。例如,分类器可以是基于与训练类中的与所供应触摸事件特征向量最紧密地匹配的前N个示例相关联的位置而确定触摸事件位置的kNN分类器。分类器470可由操作系统440的组件和/或应用430所提供的一组训练示例训练。报告模块480可向应用430或者操作系统440的其他组件报告关于触摸事件的信息,诸如触摸事件位置、计时信息、强度、用于创建触摸事件的物体的轮廓。
应当理解图4示出可被包括在移动计算设备中的一组模块和组件的一个示例。在其他实施例中,移动设备可具有比图4所示的模块或组件多或少的模块或组件。举例而言,移动设备可包括与不同类型的表面(例如,木头、花岗石)相对应的多个分类器。在一些实施例中,包括与不同表面类型相对应的多个分类器的移动设备可包括自动选择分类器的模块。例如,该设备可通过分析内置相机所拍摄的图像来选择分类器以确定表面的类型。在另一示例中,设备600可通过指令用户在桌子上进行一个或多个特定轻叩来选择分类器,将通过轻叩产生的训练触摸事件特征向量与对应于不同的所存储分类器的训练向量进行比较。在这些实施例中,移动设备600可能在它移动到不同类型的表面时不需要收集一组新的训练示例。
此外,在图4中所示为分离的模块可被组合成单个模块,或者图4所示的单个模块可被分成多个模块。此外,在图4中被示为在计算设备400的操作系统中的模块中的任一个可在另一软件层(诸如应用层)上操作。此外,图4所示的模块可以以软件、硬件、固件、或者其组合实现。提及为被编程以执行方法的计算设备可被编程以经由软件、硬件、固件、或者其组合执行该方法。
图5是确定在移动设备处的额外设备触摸事件的位置且执行动作的示例性方法500的流程图。方法500可由例如执行四个玩家正在玩的问答游戏的平板计算机执行。玩家必须敲打分配给它们的平板附近表面的区域,以“进来”回答问题。平板利用加速计来检测平板的移动。
在处理动作510,基于如一个或多个移动设备传感器所检测的移动设备的移动来确定在移动设备附近发生的额外设备触摸事件的位置。该位置包括相对于移动设备的方向。在该示例中,向知道答案的仅3号玩家提出问题。3号玩家在阅读问题之后敲击分配给他的桌子的表面。平板加速计响应于玩家的手敲击桌子而检测平板的移动,并且确定在分配给3号玩家的设备附近区域中发生的触摸事件的位置。
在处理动作520,至少部分地基于该位置确定在移动设备处执行的动作。在该示例中,平板确定给予3号玩家对问题做出响应的机会。
在处理动作530,在移动设备处执行该动作。在该示例中,平板计算机询问3号玩家回答问题。
本文中所描述的技术至少具有以下示例性优点。通过检测移动设备附近的触摸事件来允许用户与移动设备交互,该设备的交互空间延伸超过该设备的物理边界。此外,所公开的技术扩展了所支持的交互的类型。典型地,用户经由单手指或多手指交互与移动设备交互(例如,在硬或软键盘上打字、向触摸屏供应单手指或多手指手势),但是本文中所描述的技术可检测整只手交互,诸如用户敲击张开的手或者在表面上猛击拳头。此外,所公开的技术允许多个用户同时与移动设备交互,或者至少允许多个用户更便利地与移动设备交互。如上所述,多个用户可聚集在移动设备周围来玩游戏,而不必围拢在该设备周围以与智能电话或平板计算机的有限触摸区域交互。此外,所公开的技术提供了低成本解决方案以延伸设备的交互空间。对当前移动设备进行修改以实现本文中所描述的技术可能只需要软件修改,因为许多当前移动设备已经拥有检测设备移动的内置加速计和陀螺仪。另外,通过能够与该设备附近的表面交互,用户在使他们的手或其他物体落到表面上不必担心弄坏该设备。
本文中所描述的技术、技艺和实施例可由各种计算设备中的任一种执行,这些计算设备包括移动设备(诸如智能电话、手持计算机、平板计算机、膝上型计算机、媒体播放器、便携式游戏控制器、相机、以及视频记录仪)、非移动设备(诸如台式计算机、服务器、固定游戏控制器、智能电视)、以及嵌入式设备(诸如结合到车辆中的设备)。如本文中所使用的,术语“计算设备”包括计算系统,并且包括具有多个分立的物理组件的设备。
图6是可实现本文中所描述的技术的示例性计算设备的框图。通常,图6所示的组件可与其他所示组件进行通信,但是为了便于解说,未示出所有连接。设备600是包括第一处理器602和第二处理器604的多处理器系统,并且被解说为包括点对点(P-P)互连。例如,处理器602的点对点(P-P)接口606经由点对点互连605耦合到处理器604的点对点接口607。应当理解,图6所示出的任何或所有点对点互连可被替换地实现为多点总线,并且图6所示出的任何或所有总线可被点对点互连替代。
如图6所示,处理器602和604是多核处理器。处理器602包括处理器核608和609,而处理器604包括处理器核610和611。处理器核608-611可以类似于以下结合图7所讨论的方式或者以其他方式执行计算机可执行指令。
处理器602和604分别进一步包括至少一个共享的高速缓存存储器612和614。共享的高速缓存612和614可存储该处理器的一个或多个组件(诸如处理器核608-609和610-611)所利用的数据(例如,指令)。共享的高速缓存612和614可以是设备600的存储器等级(hierarchy)的一部分。例如,共享的高速缓存612可在本地存储还被存储在存储器616中的数据以允许处理器602的组件更快地存取这些数据。在一些实施例中,共享的高速缓存612和614可包括多个高速缓存层,诸如级1(L1)、级2(L2)、级3(L3)、级4(L4)、和/或其他高速缓存或高速缓存层(诸如末级高速缓存(LLC))。
虽然设备600被示为具有两个处理器,但是设备600可包括任意数量的处理器。此外,处理器可包括任意数量的处理器核。处理器可采用各种形式,诸如中央处理单元、控制器、图形处理器、加速计(诸如图形加速计或数字信号处理器(DSP))、或者场可编程门阵列(FPGA)。设备中的处理器可与该设备中的其他处理器相同或不同。在一些实施例中,设备600可包括与第一处理器、加速计、FPGA、或者任何其他处理器异构或不对称的一个或多个处理器。在包括架构、微架构、热、功耗特性等的优点度量的范围方面,在系统中的处理元件之间可存在各种差异。这些差异可有效地使自身表现为系统中的处理器之间的不对称和异构。在一些实施例中,处理器602和604驻留在相同的管芯封装中。
处理器602和604进一步包括存储器控制器逻辑(MC)620和622。如图6所示,MC 620和640分别控制耦合到处理器602和604的存储器616和618。存储器616和618可包括各种类型的存储器,诸如易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))或非易失性存储器(例如,闪存)。尽管MC 620和622被示出为集成到处理器602和604中,但是在替换实施例中,这些MC可以是处理器外部的逻辑,并且可包括存储器层级的一个或多个层。
处理器602和604经由P-P互连632和634耦合到输入/输出(I/O)子系统630。点对点互连632将处理器602的点对点接口636与I/O子系统630的点对点接口638相连接,而点对点互连634将处理器604的点对点接口640与I/O子系统630的点对点接口642相连接。输入/输出子系统630进一步包括使I/O子系统630耦合到图形引擎652的接口650,该图形引擎可以是高性能图形引擎。I/O子系统630和图形引擎652经由总线654耦合。替换地,总线654可以是点对点互连。
输入/输出子系统630进一步经由接口662耦合到第一总线660。第一总线660可以是外围组件互连(PCI)总线、PCI高速总线、另一第三代I/O互连总线、或者任何其他类型的总线。
各种I/O设备664可耦合到第一总线660。总线桥670可将第一总线660耦合到第二总线680。在一些实施例中,第二总线680可以是低引脚数(LPC)总线。各种设备可耦合到第二总线680,这些设备包括例如键盘/鼠标682、音频I/O设备688、以及存储设备690,诸如硬盘驱动、固态驱动、或者用于存储计算机可执行指令(代码)692的其他存储设备。代码692可包括用于执行本文中所描述的技术的计算机可执行指令。可耦合到第二总线680的附加组件包括一个或多个通信设备684,该通信设备可经由使用一种或多种通信标准(例如,IEEE802.11标准及其补充)的一个或多个有线或无线通信链路(例如,电线、电缆、以太网连接、射频(RF)信道、红外信道、Wi-Fi信道)提供设备600与一个或多个有线或无线网络686(例如,Wi-Fi、蜂窝或卫星网络)之间的通信。另外,设备600可包括可检测设备600的运动的一个或多个传感器689,诸如加速计或陀螺仪。
设备600可包括可移除存储器,诸如闪存卡(例如,SD(安全数字)卡)、记忆棒、订户身份模块(SIM)卡。设备600中的存储器(包括高速缓存612和614、存储器616和618、以及存储设备690)可存储用于执行操作系统694与应用程序696的数据和/或计算机可执行指令。示例数据包括设备600经由一个或多个有线或无线网络发送到和/或接收自多个网络服务器之一或其他设备、或者供设备600使用的网页、文本消息、图像、声音文件、视频数据、分类器训练数据、或者其他数据集。设备600还可访问外部存储器(未示出),诸如外部硬驱动或者基于云的存储。
操作系统694可控制图6所示出的组件的分配和使用,并且支持一个或多个应用程序696。操作系统694可包括收集来自一个或多个传感器的读数、确定传感器读数是否指示该设备周围的区域中的触摸事件、确定触摸事件的特征向量、确定触摸事件位置的组件、以及用于将这些位置提供给应用程序696的一个或多个分类器697。各种分类器可被包括在设备600中,以计及例如各种类型的表面和各种传感器配置。举例而言,如果移动设备600包括两个加速计,则第一分类器可用于为从单个加速计收集的数据提供触摸事件位置,而第二分类器可为在两个加速计处收集的数据提供位置。
应用程序696可包括公用移动计算设备应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)以及其他计算应用,诸如利用对在设备600周围的区域中发生的触摸事件的检测及其位置的应用。
设备600可支持各种输入设备(诸如触摸屏、话筒、相机、物理键盘、以及轨迹球)以及一个或多个输出设备(诸如扬声器和显示器)。其他可能的输入和输出设备包括压电及其他触觉I/O设备。输入或输出设备中的任一个可在设备600内部、外部、或者与设备600可移除地附连。外部输入和输出设备可经由有线或无线连接与设备600进行通信。
另外,计算设备600可提供一个或多个自然用户界面(UI)。例如,操作系统694或应用696可包括作为语音用户界面的一部分的语音识别逻辑,该语音用户界面允许用户经由语音命令操作设备600。此外,设备600可包括允许用户经由身体、手或脸的姿势与设备600交互的输入设备和逻辑。例如,可检测和解译用户的手势以将输入提供给游戏应用。
设备600可进一步包括一个或多个通信组件684。组件684可包括耦合到一个或多个天线的无线通信组件以支持系统60和外部设备之间的通信。无线通信组件可支持各种无线通信协议和技术,诸如近场通信(NFC)、Wi-Fi、蓝牙、4G长期演进(LTE)、码分多址(CDMA)、通用移动电信系统(UMTS)、以及全球移动通信系统(GSM)。另外,无线调制解调器可支持与用于单个蜂窝网络之内、多个蜂窝网络之间、或者移动计算设备与公用交换电话网(PSTN)之间的数据和语音通信的一个或多个蜂窝网络的通信。
设备600可进一步包括至少一个输入/输出端口(该输入/输出端口可以是例如USB、IEEE 1394(火线)、以太网、和/或RS-232端口),包括物理连接器、电源、近距离传感器、罗盘、以及卫星导航系统接收机(诸如GPS接收机)。GPS接收机可耦合到GPS天线。设备600可进一步包括一个或多个附加天线,该附加天线耦合到一个或多个附加接收机、发射机、和/或收发机以实现附加功能。
应当理解,图6示出仅一个示例性计算设备架构。基于替换架构的计算设备可用于实现本文中所描述的技术。例如,代替处理器602和604以及图形引擎652位于分立的集成电路上,计算设备可包括结合多个处理器的、图形引擎、以及附加组件的SoC(片上系统)集成电路。此外,计算设备可经由不同于图6所示的总线或点对点配置连接元件。而且,图6中的所示出组件不是必需的或者全被包括的,因为在替换实施例中可移除所示的组件并且可添加其他组件。
图7是执行作为实现本文中所描述的技术的一部分的计算机可执行指令的示例性处理器核700的框图。处理器核700可以是任何类型的处理器(诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、或者网络处理器)的核。处理器核700可以是单线程核或多线程核,因为它可每一核包括一个以上的硬件线程上下文(或“逻辑处理器”)。
图7还示出耦合到处理器700的存储器710。存储器710可以是本文中所描述的任何存储器或者本领域技术人员已知的任何其他存储器。存储器710可存储可由处理器核700执行的计算机可执行指令715(代码)。
该处理器核包括从存储器710接收指令的前端逻辑720。指令可由一个或多个解码器730处理。解码器730可生成微操作(诸如以预定义格式的固定宽度微操作)作为其输出,或者生成反映原始代码指令的其他指令、微指令、或控制信号。前端逻辑720进一步包括寄存器重命名逻辑735和调度逻辑740,该调度逻辑740通常分配资源且对与转换供执行的指令相对应的操作排队。
处理器核700进一步包括执行逻辑750,该执行逻辑750包括一个或多个执行单元(EU)765-1至765-N。一些处理器核实施例可包括特定功能或多组功能专用的多个执行单元。其他实施例可能只包括一个执行单元或者可包括可执行特定功能的一个执行单元。执行逻辑750执行代码指令所指定的操作。在执行代码指令所指定的操作完成之后,后端逻辑770使用引退(retirement)逻辑775使指令引退。在一些实施例中,处理器核700允许无序的执行,但是要求使指令有序地引退。引退逻辑770可采用本领域技术人员已知的各种形式(例如,重排序缓冲器等)。
处理器核700在执行指令期间至少在解码器730所生成的输出、寄存器重命名逻辑735所利用的硬件寄存器和表、以及执行逻辑750所修改的任何寄存器(未示出)方面进行变换。
虽然在图7中未示出,但是处理器可包括与处理器核700一起位于集成芯片上的其他元件。例如,处理器可包括附加元件,诸如存储器控制逻辑、一个或多个图形引擎、I/O控制逻辑、和/或一个或多个高速缓存。
往回参考图6,网络686可提供可用于实现本文中所描述的技术的各种基于云的服务。例如,用于训练分类器的训练示例可由基于云的服务提供用于公共表面。在一些实施例中,触摸特征向量生成可在移动设备处在本地执行,并且接着被发送到基于云的服务以供位置确定。即,可远程地实现分类器。
所公开方法中的任一种可被实现为计算机可执行指令或计算机程序产品。这种指令可使计算机执行所公开方法中的任一种。通常,如本文中所使用的,术语“计算机”指本文中所提及的任何计算设备或系统、或者任何其他计算设备。由此,术语“计算机可执行指令”指可由本文中所描述和所提及的任何计算设备或者任何其他计算设备执行的指令。
计算机可执行指令或计算机程序产品、以及在实现所公开技术期间创建和使用的任何数据可被存储在一种或多种有形计算机可读存储介质(诸如光介质盘(例如,DVD、CD)、易失性存储器组件(例如,DRAM、SRAM)、或者非易失性存储器组件(例如,闪存、盘驱动))上。计算机可读存储介质可被包含在计算机可读存储介质(诸如固态驱动、USB闪存驱动、以及存储器模块)上。替换地,计算机可执行指令可由包含用于执行所有或者部分的所公开方法的硬线逻辑的特定硬件组件或者由计算机可读存储介质或者硬件组件的任何组合执行。
计算机可读指令可以是例如专用软件应用或者经由web浏览器或其他软件应用(诸如远程计算应用)访问的软件应用的一部分。例如,可在单个计算设备上或者在网络环境中使用一个或多个网络计算机来执行这种软件。此外,应当理解所公开的技术不限于任何特定计算机语言或程序。举例而言,可通过以C++、Java、Perl、JavaScript、Adobe Flash、或者任何其他合适的编程语言撰写的软件来实现所公开的技术。同样,所公开的技术不限于任何特定计算机或者任何类型的硬件。合适的计算机和硬件的某些细节是已知的,并且不需要在本公开中详细地阐述。
而且,可通过合适的通信手段来更新、下载、或者远程地访问基于软件的实施例(包括例如用于使计算机执行所公开方法中的任一种的计算机可执行指令)中的任一个。这些合适的通信手段包括例如因特网、万维网、内联网、电缆(包括纤维光缆)、磁通信、电磁通信(包括RF、微波、以及红外通信)、电子通信、或者其他此类通信手段。
如在本申请中且在权利要求中所使用的,加入术语“和/或”的一列项目可意指所列项目的任何组合。例如,词组“A、B、和/或C”可意指A,B,C,A和B,A和C,B和C,或者A、B和C。如在本申请中且在权利要求中所使用的,加入术语“中的至少一个”的一列项目可意指所列项目的任何组合。例如,短语“A、B、或C中的至少一个”可意指A,B,C,A和B,A和C,B和C,或者A、B和C。
所公开的方法、装备和系统不得注解为以任何方式进行限制。相反,本公开涉及各个所公开实施例的单独以及以彼此各种组合和子组合的所有新颖和非显而易见的特征和方面。所公开的方法、装备和系统不限于任何特定方面或特征、或者其组合,所公开的实施例也不要求任何一个或多个特定优点存在或者作为解决的问题。
在本文中参考本公开的装备或方法呈现的操作理论、科学原理、或者其他理论描述为了更好的理解而提供,并且不期望在范围上进行限制。所附权利要求中的装备和方法不限于以这些操作理论所描述的方式起作用的那些装备和方法。
虽然一些所公开方法的操作为了方便展现以特定、顺序的次序进行了描述,但是应当理解该描述方式涵盖了重新排列,除非本文中所阐述的特定语言要求特定排序。例如,在一些情况下可重新排列或并发地执行顺序描述的操作。而且,为了简化起见,所附的附图可能未示出所公开的方法可与其他方法结合使用的各种方式。
以下示例涉及本文中所公开的技术的附加实施例。
示例1.一种移动设备,包括:一个或多个传感器;一个或多个分类器,该一个或多个分类器至少部分地基于一个或多个传感器的读数来确定在移动设备附近发生的额外设备触摸事件的位置;以及报告模块,该报告模块向在移动设备上执行的应用报告额外设备触摸事件的位置。
示例2.示例1的移动设备,其中额外设备触摸事件的位置包括相对于移动设备的方向。
示例3.示例1的移动设备,其中额外设备触摸事件的位置包括与移动设备的距离。
示例4.示例1的移动设备,其中一个或多个传感器包括至少一个加速计。
示例5.示例1的移动设备,其中一个或多个传感器包括至少一个陀螺仪。
示例6.示例1的移动设备,其中该应用能够至少部分地基于报告模块提供给该应用的额外设备触摸事件位置来执行动作。
示例7.示例6的移动设备,其中该应用进一步能够如果额外设备触摸事件位置在移动设备附近的第一区域内则执行第一动作、并且如果额外设备触摸事件位置在移动设备附近的第二区域内则执行第二动作,第一动作不同于第二动作。
示例8.示例6的移动设备,进一步包括额外设备触摸事件确定模块,该额外设备触摸事件确定模块确定额外设备触摸事件的计时信息,报告模块进一步向该应用报告额外设备触摸事件的计时信息,由第一应用执行的动作进一步部分地基于额外设备触摸事件的计时信息。
示例9.示例6的移动设备,这些分类器中的至少一个进一步确定额外设备触摸事件的强度,报告模块进一步向该应用报告额外设备触摸事件的强度,该应用能够至少部分地基于报告模块提供给该应用的额外设备触摸事件位置和额外设备触摸事件的强度来执行动作。
示例10.示例1的移动设备,一个或多个分类器中的至少一个进一步确定用于创建额外设备触摸事件的物体的轮廓,报告模块进一步向该应用报告物体的轮廓,该应用能够至少部分地基于报告模块提供给该应用的额外设备触摸事件位置和物体的轮廓来执行动作。
示例11.示例1的移动设备,进一步包括:向量生成模块,该向量生成模块基于一个或多个传感器的读数来生成额外设备触摸事件特征向量以供一个或多个分类器用于确定额外设备触摸事件的位置;以及额外设备触摸事件确定模块,该额外设备触摸事件确定模块确定一个或多个传感器的读数是否指示额外设备触摸事件的发生。
示例12.示例1的移动设备,进一步包括:向量生成模块,该向量生成模块基于一个或多个传感器的读数来生成额外设备触摸事件特征向量以供一个或多个分类器用于确定额外设备触摸事件的位置和额外设备触摸事件的强度;以及额外设备触摸事件确定模块,该额外设备触摸事件确定模块确定一个或多个传感器的读数是否指示额外设备触摸事件的发生。
示例13.示例1的移动设备,进一步包括:向量生成模块,该向量生成模块基于一个或多个传感器的读数来生成额外设备触摸事件特征向量以供一个或多个分类器用于确定额外设备触摸事件的位置和用于创建额外设备触摸事件的物体的轮廓;以及额外设备触摸事件确定模块,该额外设备触摸事件确定模块确定一个或多个传感器的读数是否指示额外设备触摸事件的发生。
示例14.一种检测和响应额外设备触摸事件的方法,该方法包括:基于如一个或多个移动设备传感器所检测的移动设备的移动来确定在移动设备附近发生的额外设备触摸事件的位置;至少部分地基于该位置确定要执行的动作;以及在移动设备处执行该动作。
示例15.示例14的方法,其中该位置包括相对于移动设备的方向。
示例16.示例14的方法,其中该位置包括与移动设备的距离。
示例17.示例14的方法,进一步包括:确定额外设备触摸事件的计时信息,其中确定要执行的动作进一步基于计时信息。
示例18.示例14的方法,进一步包括:确定额外设备触摸事件的计时信息以及在移动设备附近发生的一个或多个附加额外设备触摸事件的计时信息,其中确定要执行的动作进一步基于至少部分地根据额外设备触摸事件的计时信息以及一个或多个附加额外设备触摸事件的计时信息,额外设备触摸事件以及一个或多个附加额外设备触摸事件中的哪个最早发生。
示例19.示例14的方法,其中要执行的动作是多个动作之一,多个动作包括如果该位置在移动设备附近的第一区域内则执行的第一动作、以及如果额外设备触摸事件被确定为在移动设备附近的第二区域内则执行的第二动作,第一事件不同于第二事件。
示例20.示例14的方法,进一步包括:确定额外设备触摸事件的强度,其中要执行的动作进一步基于额外设备触摸事件的强度。
示例21.示例14的方法,进一步包括:确定用于创建额外设备触摸事件的物体的轮廓,其中要执行的动作进一步基于物体的轮廓。
示例22.示例14的方法,其中确定位置包括:从一个或多个移动设备传感器读取一个或多个传感器值;确定一个或多个传感器值指示额外设备触摸事件的发生;以及根据一个或多个传感器值生成额外设备触摸事件特征向量;
其中确定位置包括将额外设备触摸事件特征向量提供给分类器。
示例23.示例22的方法,其中确定一个或多个传感器值指示额外设备触摸事件的发生包括:确定一个或多个传感器值中的至少一个超过额外设备触摸事件阈值。
示例24.示例22的方法,其中该分类器是多个分类器之一,该方法进一步包括:基于移动设备附近的表面类型从多个分类器中选择该分类器。
示例25.示例24的方法,其中至少部分地基于移动设备附近的表面的图像来确定表面类型。
示例26.示例24的方法,其中至少部分地基于响应于指令用户在桌子上进行一个或多个特定轻叩而生成的训练额外设备触摸事件特征向量、将训练额外设备触摸事件特征向量与对应于不同的所存储分类器的训练向量进行比较来确定表面类型。
示例27.一种或多种执行根据权利要求14-26所述的方法中的任一种的计算机可读存储介质。
示例28.一种装备,包括执行根据权利要求14-26所述的方法中的任一种的装置。
示例29.一种或多种具有其上存储的指令的计算机可读介质,这些指令用于使移动设备执行方法,该方法包括:基于如一个或多个移动设备传感器所检测的移动设备的移动来确定在移动设备附近发生的额外设备触摸事件的位置;至少部分地基于该位置确定要执行的动作;以及在移动设备处执行该动作。
示例30.示例29的一种或多种计算机可读介质,其中该位置包括相对于移动设备的方向。
示例31.示例29的一种或多种计算机可读介质,其中该位置包括与移动设备的距离。
示例32.示例29的一种或多种计算机可读介质,进一步包括:确定额外设备触摸事件的计时信息,其中确定要执行的动作进一步基于计时信息。
示例33.示例29的一种或多种计算机可读介质,进一步包括:确定额外设备触摸事件的计时信息以及在移动设备附近发生的一个或多个附加额外设备触摸事件的计时信息,其中确定要执行的动作进一步基于至少部分地根据额外设备触摸事件的计时信息以及一个或多个附加额外设备触摸事件的计时信息,额外设备触摸事件以及一个或多个附加额外设备触摸事件中的哪个最早发生。
示例34.示例29的一种或多种计算机可读介质,其中要执行的动作是多个动作之一,多个动作包括如果该位置在移动设备附近的第一区域内则执行的第一动作、以及如果额外设备触摸事件被确定为在移动设备附近的第二区域内则执行的第二动作,第一事件不同于第二事件。
示例35.示例29的一种或多种计算机可读介质,进一步包括:确定额外设备触摸事件的强度,其中要执行的动作进一步基于额外设备触摸事件的强度。
示例36.示例29的一种或多种计算机可读介质,进一步包括:确定用于创建额外设备触摸事件的物体的轮廓,其中要执行的动作进一步基于物体的轮廓。
示例37.示例29的一种或多种计算机可读介质,其中确定位置包括:从一个或多个移动设备传感器读取一个或多个传感器值;确定一个或多个传感器值指示额外设备触摸事件的发生;以及根据一个或多个传感器值生成额外设备触摸事件特征向量;其中确定位置包括将额外设备触摸事件特征向量提供给分类器。
示例38.示例37的一种或多种计算机可读介质,其中确定一个或多个传感器值指示额外设备触摸事件的发生包括:确定一个或多个传感器值中的至少一个超过额外设备触摸事件阈值。
示例39.示例37的一种或多种计算机可读介质,其中该分类器是多个分类器之一,该方法进一步包括:基于移动设备附近的表面类型从多个分类器中选择该分类器。
示例40.示例39的一种或多种计算机可读介质,其中至少部分地基于移动设备附近的表面的图像来确定表面类型。
示例41.一种设备包括:用于基于如一个或多个移动设备传感器所检测的移动设备的移动来确定在移动设备附近发生的额外设备触摸事件的位置的装置;用于至少部分地基于该位置确定要执行的动作的装置;以及用于在移动设备处执行该动作的装置。
示例42.示例41的设备,进一步包括:用于确定额外设备触摸事件的计时信息以及在移动设备附近发生的一个或多个附加额外设备触摸事件的计时信息的装置,其中用于确定要执行的动作的装置进一步基于至少部分地根据额外设备触摸事件的计时信息以及一个或多个附加额外设备触摸事件的计时信息,额外设备触摸事件以及一个或多个附加额外设备触摸事件中的哪个最早发生。
示例43.示例41的设备,其中用于确定额外设备触摸事件位置的装置包括:用于从一个或多个移动设备传感器读取一个或多个传感器值的装置;用于确定一个或多个传感器值指示额外设备触摸事件的发生的装置;以及用于根据一个或多个传感器值生成额外设备触摸事件特征向量的装置;其中确定位置包括将额外设备触摸事件特征向量提供给分类器。
Claims (25)
1.一种移动设备,包括:
一个或多个传感器,用于检测由额外设备触摸事件导致的所述移动设备的移动,所述额外设备触摸事件在所述移动设备所放置的表面上并且在所述移动设备附近区域;
一个或多个分类器,所述一个或多个分类器用于至少部分地基于所述一个或多个传感器的读数来确定所述额外设备触摸事件的位置;以及
报告模块,所述报告模块用于向在所述移动设备上执行的应用报告所述额外设备触摸事件的位置,
其中,所述移动设备能够将所述附近区域分割成多个分区,每个分区用于多个用户中的一个。
2.根据权利要求1所述的移动设备,其特征在于,所述额外设备触摸事件的位置包括相对于所述移动设备的方向。
3.根据权利要求1所述的移动设备,其特征在于,所述额外设备触摸事件的位置包括与所述移动设备的距离。
4.根据权利要求1所述的移动设备,其特征在于,所述应用能够至少部分地基于所述报告模块提供给所述应用的额外设备触摸事件位置来执行动作。
5.根据权利要求4所述的移动设备,其特征在于,所述应用进一步能够如果所述额外设备触摸事件位置在所述移动设备附近的第一区域内则执行第一动作、并且如果所述额外设备触摸事件位置在所述移动设备附近的第二区域内则执行第二动作,所述第一动作不同于所述第二动作。
6.根据权利要求4所述的移动设备,其特征在于,进一步包括额外设备触摸事件确定模块,所述额外设备触摸事件确定模块用于确定所述额外设备触摸事件的计时信息,所述报告模块用于进一步向所述应用报告所述额外设备触摸事件的所述计时信息,由所述应用执行的动作进一步部分地基于所述额外设备触摸事件的所述计时信息。
7.根据权利要求4所述的移动设备,其特征在于,所述分类器中的至少一个用于进一步确定所述额外设备触摸事件的强度,所述报告模块用于进一步向所述应用报告所述额外设备触摸事件的所述强度,所述应用能够至少部分地基于所述报告模块提供给所述应用的所述额外设备触摸事件位置和所述额外设备触摸事件的所述强度来执行动作。
8.根据权利要求1所述的移动设备,其特征在于,所述一个或多个分类器中的至少一个用于进一步确定用于创建所述额外设备触摸事件的物体的轮廓,所述报告模块用于进一步向所述应用报告所述物体的所述轮廓,所述应用能够至少部分地基于所述报告模块提供给所述应用的所述额外设备触摸事件位置和所述物体的所述轮廓来执行动作。
9.根据权利要求1所述的移动设备,其特征在于,进一步包括:
向量生成模块,所述向量生成模块用于基于所述一个或多个传感器的所述读数来生成额外设备触摸事件特征向量以供所述一个或多个分类器用于确定所述额外设备触摸事件的所述位置;以及
额外设备触摸事件确定模块,所述额外设备触摸事件确定模块用于确定所述一个或多个传感器的所述读数是否指示额外设备触摸事件的发生。
10.根据权利要求1所述的移动设备,其特征在于,进一步包括:
向量生成模块,所述向量生成模块用于基于所述一个或多个传感器的所述读数来生成额外设备触摸事件特征向量以供所述一个或多个分类器用于确定所述额外设备触摸事件的所述位置和所述额外设备触摸事件的强度;以及
额外设备触摸事件确定模块,所述额外设备触摸事件确定模块用于确定所述一个或多个传感器的所述读数是否指示额外设备触摸事件的发生。
11.根据权利要求1所述的移动设备,其特征在于,进一步包括:
向量生成模块,所述向量生成模块用于基于所述一个或多个传感器的所述读数来生成额外设备触摸事件特征向量以供所述一个或多个分类器用于确定所述额外设备触摸事件的所述位置和用于创建所述额外设备触摸事件的物体的轮廓;以及
额外设备触摸事件确定模块,所述额外设备触摸事件确定模块用于确定所述一个或多个传感器的所述读数是否指示额外设备触摸事件的发生。
12.一种检测和响应额外设备触摸事件的方法,所述方法包括:
基于如由所述额外设备触摸事件导致的并由一个或多个移动设备传感器所检测的移动设备的移动,确定在所述移动设备所放置的表面上并在所述移动设备附近区域发生的额外设备触摸事件的位置;
将所述附近区域分割成多个分区,每个分区用于多个用户中的一个;
至少部分地基于所述位置,确定要执行的动作;以及
在所述移动设备处执行所述动作。
13.根据权利要求12所述的方法,其特征在于,所述位置包括相对于所述移动设备的方向和/或距离。
14.根据权利要求12所述的方法,其特征在于,进一步包括:确定所述额外设备触摸事件的计时信息,其中所述确定要执行的动作进一步基于所述计时信息。
15.根据权利要求12所述的方法,其特征在于,进一步包括:确定所述额外设备触摸事件的计时信息以及在所述移动设备附近发生的一个或多个附加额外设备触摸事件的计时信息,其中所述确定要执行的动作进一步基于至少部分地根据所述额外设备触摸事件的所述计时信息以及所述一个或多个附加额外设备触摸事件的所述计时信息,所述额外设备触摸事件以及所述一个或多个附加额外设备触摸事件中的哪个最早发生。
16.根据权利要求12所述的方法,其特征在于,所述要执行的动作是多个动作之一,所述多个动作包括如果所述位置在所述移动设备附近的第一区域内则要执行的第一动作、以及如果所述额外设备触摸事件被确定为在所述移动设备附近的第二区域内则要执行的第二动作,所述第一动作不同于所述第二动作。
17.根据权利要求12所述的方法,其特征在于,进一步包括:确定所述额外设备触摸事件的强度,其中所述要执行的动作进一步基于所述额外设备触摸事件的所述强度。
18.根据权利要求12所述的方法,其特征在于,进一步包括:确定用于创建所述额外设备触摸事件的物体的轮廓,其中所述要执行的动作进一步基于所述物体的所述轮廓。
19.根据权利要求12所述的方法,其特征在于,所述确定所述位置包括:
从所述一个或多个移动设备传感器读取一个或多个传感器值;
确定所述一个或多个传感器值指示额外设备触摸事件的发生;以及
根据所述一个或多个传感器值生成额外设备触摸事件特征向量;
其中所述确定所述位置包括将所述额外设备触摸事件特征向量提供给分类器。
20.根据权利要求19所述的方法,其特征在于,所述分类器是多个分类器之一,所述方法进一步包括:基于所述移动设备附近的表面类型从所述多个分类器中选择所述分类器。
21.根据权利要求20所述的方法,其特征在于,至少部分地基于所述移动设备附近的表面的图像来确定所述表面类型。
22.根据权利要求20所述的方法,其特征在于,至少部分地基于响应于指令用户在桌子上进行一个或多个特定轻叩而生成的训练额外设备触摸事件特征向量、将所述训练额外设备触摸事件特征向量与对应于不同的所存储分类器的训练向量进行比较来确定所述表面类型。
23.一种或多种实现根据权利要求12-22所述的方法中的任一项的计算机可读存储介质。
24.一种检测和响应额外设备触摸事件的设备,包括用于执行根据权利要求12-22所述的方法中的任一项的装置。
25.一种检测和响应额外设备触摸事件的设备,包括:
用于基于由额外设备触摸事件导致的并由如一个或多个移动设备传感器所检测的移动设备的移动来确定在所述移动设备所放置的表面上并在所述移动设备附近区域发生的额外设备触摸事件的位置的装置;
用于将所述附近区域分割成多个分区的装置,每个分区用于多个用户中的一个;
用于至少部分地基于所述位置来确定要执行的动作的装置;以及
用于在所述移动设备处执行所述动作的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/874,905 | 2013-05-01 | ||
US13/874,905 US9448637B2 (en) | 2013-05-01 | 2013-05-01 | Detection of and response to extra-device touch events |
PCT/US2014/034809 WO2014179096A1 (en) | 2013-05-01 | 2014-04-21 | Detection of and response to extra-device touch events |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105074626A CN105074626A (zh) | 2015-11-18 |
CN105074626B true CN105074626B (zh) | 2019-03-05 |
Family
ID=51841213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480019431.0A Active CN105074626B (zh) | 2013-05-01 | 2014-04-21 | 对额外设备触摸事件的检测和响应 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9448637B2 (zh) |
CN (1) | CN105074626B (zh) |
WO (1) | WO2014179096A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619036B2 (en) * | 2012-05-11 | 2017-04-11 | Comcast Cable Communications, Llc | System and methods for controlling a user experience |
US9355418B2 (en) | 2013-12-19 | 2016-05-31 | Twin Harbor Labs, LLC | Alerting servers using vibrational signals |
CN107250979B (zh) | 2015-02-27 | 2020-09-25 | 微福斯有限责任公司 | 应用事件跟踪 |
EP3093767A1 (en) * | 2015-05-12 | 2016-11-16 | Optofidelity OY | Method, apparatus and computer program product for testing a device |
TWI584239B (zh) * | 2015-10-02 | 2017-05-21 | Jon Chao Hong | Electronic test system and answer device |
JP2018012188A (ja) * | 2016-06-03 | 2018-01-25 | ファナック アメリカ コーポレイション | 複数のロボットによる動的レーザタッチセンシング及び動的ユーザ座標系 |
US10261685B2 (en) * | 2016-12-29 | 2019-04-16 | Google Llc | Multi-task machine learning for predicted touch interpretations |
US11126897B2 (en) | 2016-12-30 | 2021-09-21 | Intel Corporation | Unification of classifier models across device platforms |
GB201718007D0 (en) * | 2017-10-31 | 2017-12-13 | Mogees Ltd | Trigger for game events |
EP3857337A1 (en) | 2018-09-28 | 2021-08-04 | Snap Inc. | Neural network system for gesture, wear, activity, or carry detection on a wearable or mobile device |
US11580187B2 (en) * | 2020-12-11 | 2023-02-14 | Statepoint Media, Inc. | Method and system for localized content distribution for internet media |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1926496A (zh) * | 2004-03-01 | 2007-03-07 | 苹果电脑有限公司 | 基于加速度计操作便携式设备的方法及装置 |
CN102640086A (zh) * | 2009-12-04 | 2012-08-15 | 微软公司 | 感测机械能以使得身体适用于进行数据输入 |
CN102763057A (zh) * | 2010-03-15 | 2012-10-31 | 日本电气株式会社 | 输入设备、方法和程序 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177804A1 (en) | 2006-01-30 | 2007-08-02 | Apple Computer, Inc. | Multi-touch gesture dictionary |
US6323846B1 (en) | 1998-01-26 | 2001-11-27 | University Of Delaware | Method and apparatus for integrating manual input |
US20070254271A1 (en) * | 2006-04-28 | 2007-11-01 | Volodimir Burlik | Method, apparatus and software for play list selection in digital music players |
CN104200145B (zh) * | 2007-09-24 | 2020-10-27 | 苹果公司 | 电子设备中的嵌入式验证系统 |
US8624836B1 (en) * | 2008-10-24 | 2014-01-07 | Google Inc. | Gesture-based small device input |
KR101179466B1 (ko) | 2009-09-22 | 2012-09-07 | 에스케이플래닛 주식회사 | 터치기구의 접근 인지를 이용한 휴대단말 및 그의 객체 표시 방법 |
US8549418B2 (en) * | 2009-12-23 | 2013-10-01 | Intel Corporation | Projected display to enhance computer device use |
KR101743948B1 (ko) | 2010-04-07 | 2017-06-21 | 삼성전자주식회사 | 인터렉티브 디스플레이에서 근접 센싱을 위한 방법 및 근접 센싱 이미지를 처리하는 방법 |
US8954099B2 (en) | 2010-06-16 | 2015-02-10 | Qualcomm Incorporated | Layout design of proximity sensors to enable shortcuts |
US20120052944A1 (en) * | 2010-08-26 | 2012-03-01 | Mattel, Inc. | Time reaction game with vibration sensors |
US9479698B2 (en) * | 2012-12-17 | 2016-10-25 | Egos Ventures Inc. | Vibration-induced rotation of electronic devices |
-
2013
- 2013-05-01 US US13/874,905 patent/US9448637B2/en active Active
-
2014
- 2014-04-21 CN CN201480019431.0A patent/CN105074626B/zh active Active
- 2014-04-21 WO PCT/US2014/034809 patent/WO2014179096A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1926496A (zh) * | 2004-03-01 | 2007-03-07 | 苹果电脑有限公司 | 基于加速度计操作便携式设备的方法及装置 |
CN102640086A (zh) * | 2009-12-04 | 2012-08-15 | 微软公司 | 感测机械能以使得身体适用于进行数据输入 |
CN102763057A (zh) * | 2010-03-15 | 2012-10-31 | 日本电气株式会社 | 输入设备、方法和程序 |
Also Published As
Publication number | Publication date |
---|---|
CN105074626A (zh) | 2015-11-18 |
WO2014179096A1 (en) | 2014-11-06 |
US9448637B2 (en) | 2016-09-20 |
US20140327655A1 (en) | 2014-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105074626B (zh) | 对额外设备触摸事件的检测和响应 | |
ES2643176T3 (es) | Método y aparato para proporcionar informes de actividad independientes de la vista que responden a un gesto táctil | |
US9666173B2 (en) | Method for playing virtual musical instrument and electronic device for supporting the same | |
CN105283840B (zh) | 用于同步两个或更多个显示器的设备、方法和图形用户界面 | |
Gummeson et al. | An energy harvesting wearable ring platform for gestureinput on surfaces | |
US9430106B1 (en) | Coordinated stylus haptic action | |
CN108700940A (zh) | 体量虚拟现实键盘方法、用户接口和交互 | |
US20150331659A1 (en) | Electronic device and method of playing music in electronic device | |
CN108139778A (zh) | 便携式设备和便携式设备的屏幕显示方法 | |
KR20160057407A (ko) | 동시적 호버 및 터치 인터페이스 | |
JP2017534132A (ja) | ユーザー相互作用を共有するための装置 | |
CN106796789A (zh) | 与话音参考点的协同言语交互 | |
CN104823198A (zh) | 计算装置的安全识别和安全识别方法 | |
US8525780B2 (en) | Method and apparatus for inputting three-dimensional location | |
CN101384317B (zh) | 轨迹信息处理装置以及轨迹信息处理方法 | |
US8809665B2 (en) | Electronic percussion gestures for touchscreens | |
KR20140141089A (ko) | 사용자 입력에 응답하여 어플리케이션을 실행하는 전자 장치 | |
CN109982129A (zh) | 短视频的播放控制方法、装置及存储介质 | |
US11429265B2 (en) | Output device control | |
CN105183217A (zh) | 触控显示设备及触控显示方法 | |
CN107111441A (zh) | 多级用户界面 | |
CN104137026A (zh) | 交互式制图识别 | |
CN113515209A (zh) | 音乐筛选方法、装置、设备及介质 | |
CN108829329B (zh) | 一种操作对象展示方法、装置和可读介质 | |
US20230252963A1 (en) | Computing Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |