基于加速度计数据激活应用的制作方法

文档序号:8000410阅读:238来源:国知局
基于加速度计数据激活应用的制作方法
【专利摘要】本发明涉及基于加速度计数据激活应用。在一些实施方式中,一种计算机实现的方法包括:将多个加速度简档存储在移动设备中;从移动设备中的加速度计接收加速度计数据;将加速度计数据与多个加速度计简档中的一个加速度计简档相互关联;以及激活移动设备的与相互关联的加速度计简档相关联的用户应用。每一个加速度简档可以对应于移动设备被用户携带时在与相互关联的加速度简档相对应的活动期间会经受到的加速度力的序列。
【专利说明】基于加速度计数据激活应用
[0001]分案申请说明
[0002]本申请属于国际申请日为2008年11月10日的PCT国际申请PCT/US2008/083031的中国国家阶段专利申请200880124230.1的分案申请。
[0003]相关申请的交叉引用
[0004]本文档主张于2007年11月9日提交的在先美国临时专利申请60/986,873之权
Mo
【技术领域】
[0005]本文档一般地描述用于自动激活移动设备中的应用的系统和技术,更具体地描述用于基于能够由移动设备中的加速度计捕捉的加速度数据来自动激活应用的系统和技术。
【背景技术】
[0006]许多人随身携带各种类型的移动计算设备(例如,智能手机、个人数字助理(PDA)、蜂窝电话、媒体播放器等),并且他们可以全天使用其移动计算设备来接收或处理信息或媒体内容,或与其他人通信。例如,智能手机用户可以利用智能手机来在早晨慢跑期间播放音乐,在通勤期间提供新闻,或在办公室管理电子邮件、文本和语音通信。PDA用户可以利用PDA来在从停车库步行到办公室期间显示日历信息,或在规则的现场(field)通话期间提供地图信息。

【发明内容】

[0007]本文档描述了用于基于对由移动设备测量的当前实时加速度数据与存储在移动设备中的加速度简档的比较来自动激活移动设备上的应用的系统和技术。每一个存储的加速度简档可以与用户在使用对应的移动设备应用时可以从事的活动相关联。例如,如作为上面【背景技术】所描述的,慢跑者可以在慢跑时使用他或她的智能手机提供的媒体播放器应用来收听音乐。智能手机可以检测慢跑者何时开始慢跑,例如基于检测与存储在移动设备上与慢跑以及与媒体播放器应用相关联的加速度简档相匹配的实时加速度数据。
[0008]在下面的附图和描述中阐述了一个或多个实施方式的细节。其它特征、目的和优势从描述和附图以及从权利要求将是显而易见的。
【专利附图】

【附图说明】
[0009]图1A-1H图示了与移动设备用户可以从事的各种活动相对应的示例加速度简档。
[0010]图1J图示了可以被识别并进一步处理的加速度数据的示例窗口。
[0011]图2A图示了响应于移动设备捕捉的实时加速度数据激活应用的示例方法。
[0012]图2B图示了自适应训练移动设备来将应用与加速度简档相关联的示例方法。
[0013]图3A是描绘了移动计算设备的用户可以从事的示例活动序列以及用户在从事所述活动时可以运行的对应的移动设备应用的图表。[0014]图3B图示了可以被用来将各种用户活动(以及对应的加速度简档)与移动设备应用相关联的示例用户界面。
[0015]图3C图示了可以被利用来将移动设备配置为响应于活动序列激活各种应用的一个示例用户界面。
[0016]图4A和4B分别描绘了在其中移动设备可以自适应地将对应用的激活与实时加速度数据相互关联的示例训练模式以及对应的操作模式。
[0017]图5是可以接收并处理实时加速度数据、将处理后的实时加速度信息与一个或多个加速度简档相互关联以及基于相互关联来激活一个或多个应用的示例移动设备的框图。
[0018]图6是可以基于实时加速度数据来自动激活应用的示例性移动设备的示意表示。
[0019]图7是图示了图6的设备的内部架构的额外细节的框图。
[0020]图8是图示了图6的设备所使用的操作系统的示例性组件的框图。
[0021]图9是图示了图8的操作系统所实现的示例性进程的框图。
[0022]图10示出了可以被用来实现在此描述的技术的计算机设备和移动计算机设备的示例。
[0023]各附图中相同的参考标记指示相同的元素。
【具体实施方式】
[0024]本文档描述了用于基于对由移动设备测量的当前实时加速度数据与存储在移动设备中的加速度简档的比较来自动激活移动设备上的应用的系统和技术。每一个存储的加速度简档可以与用户在使用对应的移动设备应用时可以从事的活动相关联。例如,慢跑者可以在慢跑时使用他或她的智能手机提供的媒体播放器应用来收听音乐。智能手机可以检测慢跑者何时开始慢跑,例如基于检测与存储在移动设备上与慢跑以及与媒体播放器应用相关联的加速度简档相匹配的实时加速度数据。
[0025]移动设备可以存储多个不同的加速度简档,加速度简档中的每一个可以对应于不同的活动并且可以与移动设备用户在从事该活动时可以运行的对应的应用相关联。特别地,一个加速度简档可以存储指示慢跑运动的数据,并且该简档可以与音乐应用相关联。
[0026]在一些实施方式中,向移动设备提供已存储的加速度简档(例如,在将移动设备递送给其初始终端用户时预载)。例如,特别地,可以在移动设备中预载下述加速度简档:对许多不同的用户或移动设备可以是通用的,使得移动设备将容易地确定移动设备捕捉的实时加速度数据何时与已存储的加速度简档中的一个相匹配。可以通过分析各种类型的设备(例如,包括在其中预载通用简档的移动设备、或除移动设备外的各种其它设备,其中可以计算简档的平均值来考虑各种设备之间的不同)来生成一些这样的通用加速度简档。在一些实施方式中,可以在将设备递送到初始终端使用后,将通用加速度简档存储在移动设备中。例如,特别地,可以(例如,经由电缆从另一个设备、经由可移动的存储设备等)将加速度简档下载到移动设备或传送到移动设备。在一些实施方式中,可以由移动设备记录加速度简档或将加速度简档存储在移动设备中(例如,使得所记录的加速度简档对特定移动设备或该移动设备的特定用户而言是定制的)。
[0027]在操作中,移动设备可以(例如,用加速度计)捕捉实时加速度数据并且对实时加速度数据与存储在移动设备中的加速度简档进行比较。如果移动设备确定实时加速度数据与加速度简档(例如,用于慢跑的加速度简档)相对应(例如,基于比较算法并且由该比较算法确定的相似性的测量落入相似性的阈值测量(例如,至少80%、90%或95%的相似性的统计测量;在实时数据和被确定为匹配的加速度简档之间的相似性比在实时数据和任何其它加速度简档之间的相似性大至少10%、15%等;等)内而相匹配),则移动设备可以自动激活与匹配的加速度简档相关联的应用(例如,媒体播放器应用)。在下面关于图2A更详细地描述了接收实时加速度数据以及将其与先前存储的加速度简档进行比较的过程。
[0028]在加速度简档与应用之间的关联可以是用户可配置的,使得用户可以确定在检测到某些活动时待被激活的某些应用。在下面关于图3A和3B更详细地描述了将应用与加速度简档进行关联。
[0029]实时加速度数据和所存储的加速度简档可以包括从加速度计接收的数据。不同类型的加速度计可以提供不同类型的数据,但是总的来说,一些加速度计测量在一个或多个方向上的力,并且特别地,许多加速度计测量在三个方向一即,沿着X轴、y轴和z轴上的力。从力数据,可以确定加速度、速度和位置数据。例如,利用三轴加速度计,可以基于哪个轴测量重力来确定加速度计的位置。在一些实施方式中,可以由三轴线性加速度计(例如,可以以100-400HZ的频率输出三个不同轴上的力数据的基于MEMS的加速度计(微机电系统))来提供加速度数据。其它设备也可以提供加速度数据。
[0030]在一些实施方式中,加速度简档存储加速度数据的集合。加速度数据可以包括某个时段内与三个轴中的每一个相对应的力数据。为简单起见,在此可以可替换地使用力和加速度,但是读者将理解的是,加速度计通常测量力,并且从力数据和加速度计组件的质量,可以确定加速度值。关于图1A-1H描述了不同活动的加速度数据的各种示例。
[0031]为了示例的目的,在图1A-1H中图形地描述了三个不同轴(例如,X轴106、y轴107以及z轴108)上的原始数据。在实际实施方式中,原始数据可以包括对应于每一个方向上的力值的时序数列(例如,{(Flx, Fly, Flz),(F2x, F2y, F2z),....,(Fnx, Fny, Fj,...},其中以定期时间间隔提供新的力值,诸如每2.5ms或以便利加速度简档的生成的某个其它频率)。在其它实施方式中,两轴或一轴加速度计可以提供加速度数据,或可以利用除加速度计外的设备来提供指示加速度的数据或运动简档。
[0032]图1A图示了可以与正在慢跑或跑步的用户携带的移动设备相对应的加速度数据110。为了该描述,可以将轴定义为图1A中所描绘的。特别地,X轴106可以对应于相对于慢跑者位于水平面并且与慢跑者行进的前向路径同轴(in-line)的线;7轴107可以对应于慢跑者的垂直面,以及z轴108可以对应于慢跑者的在垂直于X轴106的方向上的水平面。基于该定向,沿着X轴捕捉的数据可以测量前向加速度(例如,慢跑者的加速或减速);沿着y轴107捕捉的数据可以测量垂直加速度(例如,慢跑者的弹跳);以及沿着z轴108捕捉的数据可以测量侧向加速度(例如,慢跑者的摇摆)。
[0033]对于正以相对恒定的步速和相对直线慢跑的慢跑者来说,X轴106 (例如,前向)力口速度值可以是相对恒定的;7轴107 (例如,垂直)加速度值可以指示与重力相关联的基面力以及来自慢跑者的垂直弹跳的周期加速和减速;以及z轴108 (例如,侧向)加速度值可以是相对恒定的。Y轴分量的频率可以对应于用户的步进率,以及y轴分量的幅度可以对应于用户跨步的力。幅度和频率两者在用户正在慢跑或跑步的情况下比在步行的情况下可以都高。为了示例和比较的目的,在图1B中示出了正在步行的用户的示例加速度。[0034]图1B图示了可以与正在步行的用户携带的移动设备相对应的示例加速度数据120。如同正以相对恒定的步速相对直线慢跑的慢跑者,做同样的事情的步行者可以体验沿着X轴106或z轴108的很小的加速度(例如,除偶尔增大或减小步速外,或变向到另一边的一侧)。沿着y轴107,加速度110示出了对应于与用户的步幅相关联的小量垂直运动的周期加速和减速。周期加速的频率可以对应于用户的步进率。如图1B中所描绘,考虑到步行步伐通常比慢跑或跑步步伐更轻柔(例如,具有较少的冲击),y轴107数据的幅度可以比与慢跑相关联的y轴数据更小。现将描述各种其它示例加速度简档。
[0035]图1C图示了可以与正乘坐火车的用户携带的移动设备相对应的示例加速度数据130。如图1C中所描绘,随着火车离开以及到达其路线上的车站,火车可以使移动设备经受到沿着X轴106的周期加速132和减速133力。沿着y轴107,随着火车在其路线上的向上和向下倾斜,火车可以使移动设备经受到加速和减速。另外,随着火车越过它在其上行进的铁轨中的规定间隔的接缝或裂缝,移动设备可以检测到沿着y轴107的较高频率加速。例如,随着火车穿越铁轨中的相对急弯,移动设备还可以检测沿着z轴108的加速力134。
[0036]图1D图示了可以与交通繁忙(例如,时停时走交通)时在车辆中的用户携带的移动设备相对应的示例加速度数据140。如图1D中所描绘,时停时走交通可以导致沿着交通中的车辆(以及对应地,车辆中的移动设备中)的X轴106的频繁发生、可能逐步的加速141和减速142,其可以与汽车在时停时走交通中执行的发动和停止(或减速和加速)相关联。沿着y轴107的小量周期加速可以与道路伸缩缝相关联。在没有车辆的任何转向的情况下,沿着z轴108的加速度可以是可忽略的。
[0037]图1E图示了可以与交通稀疏(例如,以公路速度行进的顺畅交通)时在车辆中的用户携带的移动设备相对应的示例加速度数据150。特别地,图1E沿着X轴106描绘了例如初始加速152,后跟稳定巡行速度153 (没有加速度),然后突然但是短暂的减速154,然后迅速加速155。沿着y轴107,加速度数据可以包括与公路伸缩缝相关联的高频分量。沿着z轴108,除对应于短暂减速的转向156外,加速度数据被示出为相对恒定的。
[0038]图1F图示了可以与正乘坐电梯的用户携带的移动设备相对应的示例加速度数据160。特别地,图1F描绘了沿着X轴106和z轴108 (分别前向或横向运动)的最小加速度。沿着I轴107的相对大幅度的加速162和减速163可以分别对应于电梯在不同楼层的起动和停止。
[0039]图1G图示了可以对应于正跌落的移动设备的示例加速度数据170。特别地,图1G描述了正相对轴成一定角度跌落,导致在该示例中在每一个轴上反映的急剧减速加速度分量的移动设备。
[0040]图1H图示了可以与正被放在硬表面(例如,办公桌)上的移动设备相对应的示例加速度数据180。特别地,随同非常小的X轴106分量,沿着y轴107描绘了急剧减速。在该示例中,与在移动设备以一定角度跌落的图1G中所描绘的减速力相比,减速力被描述为主要沿着y轴107集中(由于移动设备可能被平坦地放下)。此外,由于将移动设备放在硬表面上可能使移动设备经受比跌落移动设备更小的力,所以图1H中描绘的减速力具有比图1G中描绘的减速力更低的幅度。
[0041]为了说明的目的,图1A-H示出了移动计算设备的加速度数据的示例,其将设备描绘为定向成使得沿着X轴106的数据与一般前向方向的运动相对应,沿着y轴107的数据与一般垂直方向的运动相对应,以及沿着Z轴108的数据与一般横向水平方向的运动相对应。然而,读者将理解的是,可以将移动计算设备相对于用户或用户正以其行进的车辆以任何方式放置。因此,加速度数据可以沿着与所示的轴相比不同的轴,或沿着组合中的多个轴来检测。在一些实施方式中,三轴加速度计(或对应的电路)被配置为从原始加速度数据提取沿着三个正交轴的加速度值而不管移动设备的定向如何(例如,根据需要将加速度数据算术地转换成不同的轴集)。换句话说,可以处理加速度数据以移除在两个轴或所有三个轴上检测到的相同加速力的影响(例如,由于移动设备定向)。
[0042]如关于图1A-H所示,许多活动可以具有相似的加速度简档。例如,如图1A中所示的慢跑以及图1B中所示的步行可以产生沿着I轴107的相似加速力,以及沿着X轴106或z轴108的只是很小的(以及相似的)力。在图1A-B中图示的示例数据中,在步行和慢跑之间沿着I轴107的区别可以包括对慢跑来说加速和减速周期的增加的频率(例如,更快的步进率),以及增加的幅度(在垂直方向上增加的力,或换句话说,更重的步伐)。
[0043]如另一个示例,与正跌落的移动设备相对应的加速度数据(参见图1G)以及与正被放在硬表面的移动设备相对应的加速度数据(参见图1H)可以是沿着一个或多个轴的相似冲力式响应。然而,与跌落相关联的加速力可以在幅度上更大,并且可以在多于一个轴上看至IJ (例如,考虑到设备以某一角度跌落的可能性,使得沿着多个轴检测到尖锐的力),而与正被放下的移动设备相关联的加速力可以在幅度上更小,并且可以更可能主要沿着单个轴看到。
[0044]如另一个示例,与火车相关联的加速力(参见图1C)可以相似于与车辆相关联的加速力。然而,沿着z轴的更大加速力(例如对应于横向运动)可以与正绕过比车辆可以行驶的那些更急的弯道的火车相关联。
[0045]图2A图示了响应于移动设备实时捕捉的加速度数据激活应用的示例方法201。在一些实施方式中,将加速度简档存储(203)在移动设备中。例如,可以将诸如在图1A-1H中所图示并且关于图1A-1H所描述的那些的各种加速度简档存储在移动设备中。可以在向终端用户递送移动设备时将加速度简档预存储在移动设备中;可以由终端使用将加速度简档下载至移动设备;可以由移动设备捕捉(例如,记录)加速度简档;等。
[0046]可以在加速度简档和在接收(209)被确定与已存储的加速度简档相匹配(212)的实时加速度数据时待被激活的应用之间配置(206)关联。在一些实施方式中,以配置模式进行关联(例如,使用诸如在下面关于图3B或3C描述的配置界面的配置界面)。
[0047]可以由移动设备捕捉(209)实时加速度数据。例如,在一些实施方式中,移动设备中的加速度计持续捕捉加速度数据(或以25Hz、50Hz、100Hz、400Hz的采样率一仅列出一些示例采样率一基本上持续地捕捉加速度数据)。在一些实施方式中,将捕捉到的实时加速度数据存储在存储某一数量的加速度数据(例如,5秒的数据、30秒的数据、2分钟的数据、10分钟的数据、I小时的数据等)的循环缓冲器(或其它存储器结构)中。
[0048]方法201可以包括确定(212)捕捉到的实时加速度数据是否与任何已存储的加速度简档相匹配。例如,特别地,可以在实时加速度数据和被存储在移动设备中的任何加速度简档中的每一个之间应用比较算法。如果在实时加速度数据和加速度简档中的任何加速度简档之间没有找到匹配,则也可以不采取进一步行为(即,没有应用可以被激活;然而,可以以实时加速度数据的一部分周期性地重复整个方法201,如下所述以考虑更新近的加速度数据)。
[0049]如果确定(212)在实时加速度数据和已存储的加速度简档中的一个之间存在匹配,则移动设备可以激活(215)与匹配的加速度简档相关联的应用。在这种情况下,激活(215)应用可以包括:如果应用尚未运行于移动设备的存储器中(例如,作为无论前景还是活动的应用,或作为目前不具有输入/输出设备焦点的背景应用),则启动该应用。激活(215)应用还可以包括将已经运行的应用的状态从背景应用改变为前景应用。在一些实施方式中,状态从背景应用到前景应用的改变可以包括例如在包括在移动设备中的显示屏的顶层中显示与应用相关联的任何用户界面,或给予应用活动焦点,使得应用从适当的输入设备接收输入并且向适当的输出设备提供输出。
[0050]在一些实施方式中,激活(215)应用可以进一步包括配置应用的状态。例如,如果激活的应用为媒体播放器应用,则激活(215)媒体播放器应用可以包括启动该媒体播放器应用(例如,在存储器中起动它),并且开始播放默认媒体。作为另一个示例,如果激活的应用为浏览器应用程序,则激活(215)浏览器应用可以包括自动访问某些网络可访问的信息并且与浏览器应用一起显示该信息。例如,更特别地,激活浏览器可以包括激活三个浏览器窗口并且在一个浏览器窗口中访问(例如检索)并显示来自一个网络可访问站点(例如,来自WWW.cnn.com)的国际新闻信息,在另一个浏览器中访问并显示(例如,来自www.karell.com)本地新闻信息,以及在第三个浏览器窗口中访问并显示(例如,来自online, barrons.com)金融信息。
[0051]在一些实施方式中,可以周期性地执行方法201。S卩,可以每五秒、十秒、30秒、两分钟或以某个其它间隔来进行(212)在实时加速度数据(例如,存储在循环缓冲器的一部分中的数据,诸如存储最近的实时加速度数据的一部分)与加速度简档之间的比较。通过频繁地执行方法201,移动设备可以快速响应用户对活动的改变。例如,关于上面的慢跑示例,如果每五秒执行方法201,则用户可以更可能在开始慢跑的非常短的时间内享受媒体播放器应用播放的媒体。因此,短周期可以促进用于响应于当前实时加速度数据激活应用的快速响应时间。
[0052]在一些实施方式中,移动设备利用较长的周期来比较(212)实时加速度数据和加速度简档。由于较长的周期可以在激活和失活应用时提供某个数量的“滞后作用”,所以较长的周期在某些情况下可以是有利的。即,在慢跑示例的情况下,如果用户停止慢跑一分钟,则较长的周期可以阻止移动设备失活媒体播放器应用。此外,较长的周期可以允许在与已存储的加速度简档进行比较(212)时使用更实时的加速度数据,这可以增加匹配的准确度。例如,特别地,如果使用更实时的加速度数据(以及在一些实施方式中较长的对应周期),则移动设备可以更好地辨别相似的已存储的加速度简档(例如,慢跑和步行简档、火车和车辆简档等)。另外,与其它加速度简档相比,较长周期的数据可以最佳地表征一些简档。例如,准确地表征时停时走交通时的行进比表征慢跑可以需要更多的数据(例如,对应于较长时段的数据)。
[0053]在一些实施方式中,可以以允许其比原始数据本身被更容易地分类或表征为对应于特定类型的活动的方式来变换原始加速度数据(例如,移动设备捕捉的用于与已存储的加速度简档进行比较的实时数据)。例如,在一些实施方式中,可以最初分析或过滤原始加速度数据的时序序列以识别具有相对一致和周期性质的序列的一部分(例如,考虑到与感兴趣的活动相关联的许多加速度简档具有某个周期分量)。可以进一步分析所识别的部分或窗口(例如,变换为如下所述的识别标志),并且可以忽略时序序列的其它部分。特别地,关于图1J,可以识别窗口 190。在一些实施方式中,移动设备可以通过分析原始加速度数据不同部分的频率含量来识别窗口 190 (例如,以诸如离散快速傅立叶变换(DFFT)的变换算法;相对于原始加速度数据的其它部分具有相对小量的一致频率分量的那些部分可以被识别为被包括在窗口中)。在其它实施方式中,可以将统计分析应用于原始加速度数据。总的来说,可以应用各种技术来识别加速度数据的相关部分。
[0054]一旦识别了原始加速度数据的适当部分,可以将原始加速度数据变换为可以与其它已存储的简档更容易地进行比较的识别标志或简档。在一些实施方式中,通过以某些方式操纵原始数据来生成识别标志或简档。例如,可以通过将数学算法或变换应用于X轴、y轴和z轴加速力值的序列来生成识别标志。实际上,数学算法可以压缩数据并且突出数据中的区别特征。作为更具体的示例,可以将变换算法应用于数据(例如,诸如图1A或IB中描绘的数据)以识别沿着y轴107的数据的主频和平均幅度。对于极富周期性的数据,识别标志可以包括沿着每一个轴的平均幅度和主频。
[0055]为了进一步帮助对识别标志的随后分析,还可以标准化或以其他方式处理已存储的简档或实时加速度简档的某些方面。例如,考虑到不同的用户在跑步或步行时具有不同的步进频率,可以将对应于用户的步进频率的加速度数据的频率含量例如从1.3-2.7Hz(75-160步/分钟一许多用户的步行速度)的范围标准化到2.1Hz (125步/分钟);相似地,可以将对应于用户的步进频率的频率含量例如从2.7-3.3Hz的范围(160-200步/分钟一许多用户的跑步速度)标准化到3.0Hz (180步/分钟)。
[0056]如果频率分量表明是步行,则还可以将幅度数据标准化为例如第一值,如果频率分量表明是跑步,则可以将幅度数据标准化为另一个较高的幅度值。作为处理的另一个示例,可以对加速度数据“窗口化”以为特定简档排除不相关的数据(例如,在上面关于图1J所描述的)。例如,在开始慢跑之前的用户运动可以包括伸展以及将移动计算设备放置在口袋中或将移动计算设备捆扎到手臂上。这些运动可以被识别并排除,或过滤出表示用户跑步的加速度简档。在另一个示例中,可以对关于以公路速度行进的汽车的简档窗口化以排除与用户进入并发动汽车相关联的运动。
[0057]可以以各种方式对从实时加速度数据生成的标准化的加速度简档或识别标志与已存储的加速度简档进行比较。例如,存在用于相互比较图像(例如,为了分类或对象识别的目的)、或用于将音频内容与引用内容进行比较(例如,为了验证来源或检测复制的目的)的许多算法和系统。读者将理解的是,可以将相似的算法和系统(或其它适当的算法或系统)应用于分类以及比较加速度简档或识别标志。在一些实施方式中,可以以数字化格式将加速度数据存储在简档中。还可以对从实时加速度数据生成的标准化加速度简档或识别标志进行数字化。可以比较数字化后的文件以确定接近的匹配。
[0058]在一些实施方式中,可以以同样的方式对存储在移动设备上的加速度简档和实时加速度数据进行标准化或处理,以帮助对实时数据与已存储的简档的比较。
[0059]图2B图示了自适应训练移动设备来将应用激活与加速度简档相关联的示例方法251,其中移动设备可以自身构建所述关联。在关于自适应训练提供额外的描述后,将在下面更详细地描述图2B。[0060]转至图3A和3B,现将图示并描述一系列示例活动、应用和对应的加速度简档(图3A),以及用于将某些应用与某些活动相关联的示例用户界面(图3B)。
[0061]图3A是描绘了移动计算设备(例如,智能手机、PDA、蜂窝电话等)的用户全天可能从事的示例活动序列,以及用户在从事所述活动时可以运行的对应的应用的图表200。在一个示例中,如图2中所示,用户可能有规律地在早晨慢跑。在慢跑时,用户可以利用在他或她的移动设备306上的媒体播放器应用304来收听音乐。在用户正在慢跑时,用户的移动设备可以捕捉(在上面关于图1A描述的)加速度简档110。
[0062]早晨的晚些时候,用户可以乘坐火车到他或她的办公室。在乘坐火车时,用户可能有规律地利用浏览器应用310来检查股票价格、获取这天的天气报告以及阅读来自一个或多个网络可访问站点(例如,www.msbnc.com、www.nytimes.com、news.google, com、online.barrons.com等)的当前新闻。当用户正乘坐火车时,用户的移动设备可以捕捉(在上面关于图1C描述的)加速度简档130。
[0063]在下火车后,用户可以从火车站步行至他或她的办公室。当用户正在步行时,用户可以利用日历应用314来检查日历以查看为这天安排的约会和其它活动。当用户正在步行时,用户的移动设备可以捕捉(在上面关于图1B描述的)加速度简档120。
[0064]一旦在办公室,用户可以在办公桌316前坐下,将移动设备放在办公桌上并且通过利用消息应用318来检查电子消息(例如,电子邮件消息、文本消息等)开始工作日,在用户将移动设备放在办公桌316上时,移动设备可以捕捉(在上面关于图1H描述的)加速度简档 180。
[0065]图3B图示了可以被用来将各种用户活动(以及对应的加速度简档)与移动设备应用相关联的示例用户界面301。如在一个实施方式中所示,用户界面301可以涉及(例如,经由活动昵称302)活动、应用304、加速度简档306,以及可选地(如所示)过滤器设置(例如,基于时间的过滤器设置322和基于位置的过滤器设置340),其可以在将活动302与应用304 (或更特别地,将对应于活动302的加速度简档306与应用304)相关联时使用。现将描述应用304和加速度简档306的数个具体的编组。
[0066]在一些实施方式中,用户界面301使用户能够将图标拖放到界面的各个部分上以创建关联。例如,特别地,图形图标可以与不同的应用(例如,地图应用312、浏览器应用318、媒体播放器应用等)相关联。还可以将加速度简档拖(例如,从与加速度简档相关联的图标库,包括可以表示图1D中示出的加速度简档140的“简档140”以及可以表示图1E中示出的加速度简档150的“简档150”)放在用户界面301中的适当位置上。
[0067]可以以其它方式将其它信息输入用户界面中。例如,可以在文本输入框(未明确示出文本输入框)中输入活动昵称302以及过滤器信息322和340。作为另一个示例,可以通过对下拉框或菜单(未示出下拉框或菜单)的使用来输入时间过滤器信息322。总的来说,读者将理解的是,可以以任何适当的方式输入数据;用户界面301仅是示例性的。
[0068]如所述,移动设备的用户可以利用用户界面301来将加速度简档与应用相关联。在一些情况下,多于一个加速度简档可以与一个应用相关联。例如,特别地,“简档140”(例如,对应于繁忙、时停时走交通时的车辆中的移动设备的加速度简档)和“简档150”(例如,对应于以公路速度行进的顺畅交通时的移动设备的加速度简档)可以均与地图应用312相关联。即,如果检测到车辆行进一无论在时停时走交通时的车辆行进还是以公路速度的车辆行进一可以启动地图应用312。
[0069]在一些实施方式中,还可以响应于加速度简档来配置设备设置。例如,如果实时加速度数据与“简档140”或“简档150”(即,时停时走或公路行进)相匹配,则移动设备可以被切换至扬声器模式(例如,由设置314所描绘)。即,产生音频输出的应用可以被切换至通过扬声器(例如,而不是通过例如有线或蓝牙耳机连接)提供音频输出的模式。
[0070]在一些实施方式中,多个应用可以与一个加速度简档相关联。如在一个示例中所示,浏览器应用318、媒体播放器应用328和音频书籍应用330可以均与“简档130”(例如,对应于火车上的移动设备的加速度简档)相关联。在一些情况下,可以激活多个应用(例如,浏览器应用318和媒体播放器应用328)。在一些情况下,多个应用中只有一个可以被自动激活,并且自动激活哪个应用可以基于过滤器设置322。
[0071]提供了过滤的两个示例一基于时间的过滤和基于位置的过滤。然而,读者将理解的是,可以应用各种其它方法的过滤,诸如基于一周的一天、月、联合季度、年等的过滤。转至基于时间的过滤,对在火车上行进的检测可以基于时间过滤器设置324和332来选择地启动应用。特别地,在示出的示例中,在早晨可以响应于对应于乘坐火车行进的实时加速度数据(例如,当用户在他或她去工作的路上时),激活浏览器和媒体播放器应用318和328 ;在下午或傍晚(例如,当用户在他或她从工作回家的路上时),可以响应于对与乘坐火车行进相对应的实时加速度数据的检测激活音频书籍应用330。在上面的示例中,基于在AM和PM之间的辨别来应用基于时间的过滤;在一些实施方式中,基于时间的过滤可以基于接近由至少预定的阈值(例如,一小时、两小时、四小时、八小时等)分隔的两个不同的时间。
[0072]可以提供其它类型的过滤。例如,移动设备中的GPS功能可以使得能够实现基于位置的过滤。对与慢跑(例如,简档110)相对应的实时加速度数据的检测可以促使媒体播放器应用328被激活一但是只有当移动设备在“家”附近时(例如,如由当前的基于GPS的位置信息(或其它形式的位置信息)以及可以(例如,使用未示出的另一个界面)被配置的“家”设置确定)。在该示例的情况下,移动设备可以在用户将在他或她的家附近进行定期慢跑时激活媒体播放器应用,而在用户在不同的情况(例如,当用户在他或她的办公室附近的街道上冲刺以赶上火车时)下从事相似的活动(例如,慢跑或跑步)时可以不激活媒体播放器。
[0073]在一些实施方式中,可以基于活动序列(以及实时加速度数据与加速度简档的匹配序列)来启动应用。图3C图示了可以被利用来将移动设备配置为响应于活动序列启动各种应用的一个示例用户界面351。在该示例中,用户可以通过拖放序列中的适当图标,并且可选地指定活动之间的时间来填充用户界面351。
[0074]在用户界面351中图形地描绘了加速度数据,但是可以省略该图形描绘,并且可以仅基于带标记的加速度简档图标、应用图标、时延图标以及各种连接符(例如,指示序列的双头箭头;指示响应于原因(在箭头对面的一端)的结果(箭头端)的单头箭头)来配置用户界面351。
[0075]如在一个示例中所示,对与火车相关联的加速度简档130的实时检测可以促使浏览器应用310被启动。在检测到与火车简档130相匹配的实时加速度数据后大约2-5分钟,对与步行相关联的加速度简档120的实时检测可以促使日历应用被启动314。在检测到与步行简档120相匹配的实时加速度数据后大约1-3分钟,对与电梯相关联的加速度简档160的实时检测,1-3分钟后接着对与对应于放下移动设备的简档相匹配的实时加速度数据的检测,可以促使消息应用318被激活。
[0076]在一些实施方式中,如果当前实时加速度数据与适当的简档相匹配并且如果先前实时加速度数据与另一个适当的简档相匹配,则才启动应用。即,在一些实施方式中,移动设备可以通过识别与时序序列的加速度简档相匹配的实时加速度数据来改进识别准确度。例如,特别地,在孤立地(即,不是在与火车简档130相匹配的实时加速度数据后2-5分钟)检测到与步行简档120相匹配的实时加速度数据时可以不自动启动日历应用314。相似地,可以不自动启动消息应用318,除非检测到与该示例序列相匹配的实时加速度数据。
[0077]用户界面301和351仅是示例性的。总的来说,用于配置在活动与其对应的加速度简档之间的关联以及激活应用的用户界面可以采用任何形式。在一些实施方式中,通过数个不同的界面来提供用户界面301。在一些实施方式中,在移动设备自身上提供用户界面301 ;在其它实施方式中,通过对于移动设备是外部的(例如,在基于计算机或基于web的应用中)配置工具来提供用户界面301—在这种情况下,可以以任何适当的方式将配置设置传送给移动设备。许多其它变化是预期的。
[0078]在一些实施方式中,如在下面更详细地描述的,可以对移动计算设备进行自适应训练以用自动的方式“学习”用户的日程安排。可以随着移动设备自适应学习用户的习惯和活动视情况填写用户界面301 (或可以在不填充用户界面301的情况下存储对应的配置设置)。还可以在训练过程期间使用户界面301对用户可用。例如,用户可以通过填写在特定时间点未填充的用户界面300的区域来加快训练过程。替选地,用户可以利用用户界面301来覆盖训练的设置。
[0079]为了自适应训练,移动设备可以提供训练模式和操作模式。在训练模式下,移动设备可以监视实时加速度数据和用户的对各种应用的激活两者。随着时间的推移,移动设备可以进行并加强在实时加速度数据和对某些应用的激活(或失活)之间的相互关联。在操作模式下,移动设备可以监视实时加速度数据并且应用先前进行的相互关联来激活适当的应用。将关于图4A和4B更详细地图示并描述这些过程。
[0080]图4A和4B分别描绘了在其中移动设备可以自适应地将对应用的激活与实时加速度数据相互关联的示例训练模式以及对应的操作模式。为了说明的目的,该示例描绘了三个早晨中的每一个早晨与用户慢跑相对应的实时加速度数据,以及在慢跑时激活媒体播放器应用。如在一个示例中所描绘的,用户在星期一大约5:15AM开始慢跑并且几乎即刻激活媒体播放器应用。用户在接近6: OOAM停止慢跑并且几乎即刻停止媒体播放器应用。
[0081]为了自适应训练,移动设备可以分析在激活或失活应用之前和之后两者(例如,关于之前和之后的预定时间,诸如五秒、30秒、一分钟、两分钟等)的实时加速度数据。因此,在训练模式下,在第一天后,移动设备可以将对媒体播放器应用的激活与在激活之前的随机加速度数据(例如,与用户准备慢跑相关联的加速度数据)以及在激活之后的具有某个频率和幅度含量的周期加速度数据(例如,与慢跑相关联的加速度数据)相关联。相似地,移动设备可以将对媒体播放器激活的失活与在失活之前的具有某个频率和幅度含量的周期加速度数据以及在失活之后的随机加速度数据相关联。激活和失活可以进一步与时间(例如,诸如5:15AM和6: OOAM的具体时间、或诸如5:00-5:30AM和5:45-6:15AM的时间范围)或通常位置(例如,基于GPS信息,其在图4A和4B中未描绘)相关联。
[0082]在检测到相似的实时加速度数据以及在检测到的实时加速度数据与对媒体播放器应用的激活和失活之间的相似关系(以及与实时加速度数据、应用和一天的时间的大体相似的关系)的第二和第三天(例如,星期二和星期三)之后,移动设备可以自适应配置自身。例如,特别地,移动设备可以配置自身来在检测到具有与在训练模式期间检测到的(以及与慢跑相关联的)频率和幅度含量相似的频率和幅度含量的实时加速度数据后即刻激活媒体播放器应用;此外,移动设备可以配置自身来在不再检测到具有训练后的频率和幅度含量的实时加速度数据之后失活媒体播放器应用。
[0083]图4B图示了在操作模式下移动设备的操作一例如,基于自适应训练的操作。如由虚线箭头所描绘的,媒体播放器应用可以在检测到实时周期加速度数据(例如,与慢跑简档相匹配的实时加速度数据)后被自动激活以及在不再检测到实时周期加速度数据后被自动失活。
[0084]在一些实施方式中,移动设备可以自适应学习在加速度数据序列与对各个移动设备应用的多个激活或失活(例如,诸如图3C中描绘的那样的序列)之间的关系。例如,移动设备经由训练期可以配置自身来检测在一天的常规时间的第一加速度简档(例如,对应于火车行进的加速度简档),在这期间激活第一应用(例如,浏览器应用);在某个时段(例如,几分钟)后,检测第二加速度简档(例如,对应于步行的加速度简档),在这期间激活第二应用(例如,日历应用);以及在另一个时段(例如,几分钟)后,检测第三和第四加速度简档(例如,对应于乘坐电梯以及将移动设备放在硬表面上的加速度简档),在这之后激活第三应用(例如,电子邮件应用)。
[0085]在上面的示例中,可以忽略在第一和第二加速度简档之间的时段的实时加速度数据。实际上该数据可以是随机的,或该数据可以具有与之前和之后的实时加速度数据不同的规律特征。在一些实施方式中,该数据对应于用户的从一个活动到另一个的转变。例如,移动设备可以检测与乘坐火车一致的实时加速度数据,接着随机实时加速度数据,接着与步行一致的实时加速度。随机实时加速度数据可以对应于转变期,在这期间用户下火车、以及在到达用户可以能够正常地步行的人行道(在这点移动设备可以检测与步行一致的一致的、周期的实时加速度)之前,可能在繁忙的人群中向上或向下走台阶。
[0086]可以将与加速度简档之间的时段相关联的时间作为自适应配置模型的因素。例如,移动设备可以自适应确定与火车相关联的实时加速度数据,接着三分钟的随机实时加速度数据,接着与步行相关联的实时加速度数据应当促使日历应用被激活。
[0087]可以利用用于自适应训练的任何适当的方法。即,可以将任何适当的算法应用来确定在加速度数据和对应用的激活或失活之间的相互关联(例如,训练识别标志)。还可以使用任何适当的训练期。例如,取决于用户的日程安排和习惯的复杂度,可能需要收集两周的训练数据以供移动设备自适应构建加速度数据一应用模型;在其它情况下,可能需要更多或更少的时间(例如,三天、三周等)。
[0088]在一些实施方式中,训练过程可以逐步地填充并且精化用户界面,诸如图3B中示出的用户界面301。在这样的实施方式中,用户可以通过填写或改变由训练过程填充的任何信息来加快训练过程。
[0089]一旦完成了足够的训练,用户可以将他或她的移动设备切换至操作模式,在操作模式下移动设备监视实时加速度数据,将实时加速度数据与移动设备上的各个加速度简档进行比较,以及基于自适应配置的模型激活适当的应用。[0090]在一些实施方式中,可以使用训练模式来精化或更新加速度一应用模型。S卩,在用户界面301被填充(无论由用户手动地,由训练算法自动地,还是由两者的组合)后,移动设备的用户可以切换至训练模式(例如,几天或一周或两周后)来自动更新移动设备以检测新的活动模式(例如,以精化应用一加速度模型)。
[0091]在上面的描述中,加速度数据由其可以表示的活动来描述,但是读者将理解的是,可以自动建立在应用与在移动设备上的确定对应于特定加速度简档的活动的加速度数据之间的相互关联。即,移动设备可以在不需要确定实时加速度数据与“慢跑”相关联的情况下检测在性质上周期出现的、具有特定频率和幅度并且与激活特定应用(例如,媒体播放器应用)相关联的实时加速度数据。然而,为了帮助对应用一加速度模型的手动改变,用户可以将标签或活动昵称(或图形图标)输入给不同的加速度简档。相似地,预存的加速度简档或可以由第三方提供的加速度简档可以变为预贴标签的或与说明性的图形图标相关联。
[0092]转回至图2B,进一步描述了自适应训练。特别地,图2B图示了自适应训练移动设备来在训练模型下自适应构建应用一加速度模型,然后在操作模式下使用该模型来响应于实时加速度数据自动激活应用的示例方法251。
[0093]方法251可以包括确定(252)移动设备处于训练模式还是操作模式。在一些实施方式中,由用户输入来确定模式。例如,特别地,用户可以将移动设备配置为处于训练模式,在这种情况下移动设备检测(254)实时加速度数据以及监视(257)手动应用激活(以及在一些情况下,监视失活),以及自适应构建(260)模型来将特定加速度数据与特定应用激活相互关联。即,经过几天或几周时间后,移动设备可以应用学习算法来学习在加速度数据的特定模式或序列与特定应用激活之间的相互关联。
[0094]在一些实施方式中,加速度简档自适应构建自身(260 )。S卩,移动设备可以识别相似加速度数据的窗口(例如,具有一致、周期特征的数据,诸如图1J中描绘的加速度数据的窗口 190)。可以在训练模式期间计算相似加速度数据的平均值并且将其存储为加速度简档。如上所述,可以以一些其它方式对每一个加速度简档进行标准化或处理以帮助随后对实时加速度数据与简档的比较。
[0095]如果确定(252 )移动设备处于操作模式,可以检测(263 )实时加速度数据,以及可以将比较算法应用于实时加速度数据以确定(266)在实时数据与已存储的简档之间是否存在匹配。如果确定(266)存在匹配,则可以基于自适应构建(260)的关联模型来激活(269)(或失活)适当的应用。
[0096]图5是可以接收并处理实时加速度数据、将处理后的加速度信息与一个或多个加速度简档相互关联以及基于相互关联来激活一个或多个应用的示例移动设备501的框图。关于图5仅描述了不例移动设备501的一些方面;将关于图6-10描述其它方面。
[0097]在如所示的一个实施方式中,移动设备501包括I/O设备502 (例如,键盘或按钮以及显示屏),其可以接口至应用模块505 (例如,基于软件的操作系统组件或管理应用的其它组件)。应用模块505可以控制对各个应用508A、508B、508C和508D的激活和失活。活动的应用可以通过例如从I/O设备502接收输入、处理所接收的输入(以及存储在存储器(未示出)中或从网络可访问的源(未示出)可获得的其它数据)以及提供待在包括在I/O设备502中的输出设备上呈现的输出(例如,图形输出)来提供各种用户功能。
[0098]移动设备501还可以包括加速度计511 (或实时加速度信息的另一个源)。加速度计511可以向学习模块514提供实时加速度数据,其还可以接收激活或失活应用508A-D的用户输入。在一些实施方式中,学习模块在训练模式下基于同期加速度数据自适应地将加速度数据与激活应用的用户输入相互关联。在操作模式下,学习模块可以基于实时加速度数据和自适应构建的相互关联来激活应用。在一些实施方式中,学习模块还构建加速度简档(例如,识别应当被包括在简档中的加速度数据的窗口并且自适应构建(例如,随着时间的推移计算平均值或精化)加速度简档)。
[0099]在一些实施方式中,可以以相互关联模块替代学习模块514,该相互关联模块可以存储各种加速度简档(例如,如在图1A-1H中描绘的简档)并且在从加速度计511接收到的实时加速度数据匹配应用与之相关联的已存储的加速度简档中的一个时促使应用被启动。
[0100]在一些实施方式中,学习模块514(或相互关联模块一未不出)可以从GPS模块517(或获得移动设备501的当前位置信息的另一个组件)以及从时间基准(例如,内部或网络可访问的时钟或其它时间信号)接收额外的输入。如上所述,可以在自适应构建相互关联时使用位置信息(例如,来自GPS模块517的信息)和时间信息(来自时间基准520)中的任何一个或两者。例如,如关于图3B所描述的,相互关联可以是时间过滤的、位置过滤的或基于某个其它参数来过滤的。
[0101]现参见图6,图示了帮助响应于由设备600捕捉的对应于设备600的实时加速度数据自动激活应用的示例设备600的外观。简单地说,除其它组件外,设备600包括处理器,其被配置为分析实时加速度数据(例如,由包括在设备中的加速度计提供)、将实时加速度数据与存储在设备600中的加速度简档进行比较以识别匹配的加速度简档以及如果应用先前与匹配的加速度简档相关联,则激活该应用。
[0102]更详细地,设备600的硬件环境包括用于向用户显示文本、图像和视频的显示601 ;用于将文本数据和用户命令输入设备600的键盘602 ;用于指示、选择以及调整在显示601上显示的对象的指示设备604 ;天线605 ;网络连接606 ;摄像头607 ;麦克风609 ;以及扬声器610。尽管设备600示出了外部天线605,但是设备600可以包括对用户而言不可见的内部天线。
[0103]显示601可以显示组成由设备600使用的软件应用以及用来操作设备600的操作系统程序的用户界面的视频、图形、图像和文本。可以在显示601上显示的可能的元素包括例如警示用户存在新的消息的新邮件指示符611 ;指示正在接收电话呼叫、正在打电话或正在通话的活动通话指示符612 ;指示设备600当前使用来传送以及接收数据的数据标准的数据标准指示符614 ;指示对通过经由天线605接收的信号的强度的测量的信号强度指示符615,诸如通过使用信号强度条;指示对剩余电池寿命的测量的电池寿命指示符616 ;或输出当前时间的时钟617。
[0104]显示601还可以示出表示对用户可用的各个应用的应用图标,诸如web浏览器应用图标619、电话应用图标620、搜索应用图标621、联系人应用图标622、地图应用图标624、电子邮件应用图标625或其它应用图标。在一个不例实施方式中,显不601是四分之一视频图形阵列(QVGA)薄膜晶体管(TFT)液晶显示(IXD),能够显示16位彩色或更好。
[0105]用户使用键盘(或“小键盘”)602来输入命令和数据以操作并控制操作系统和应用。键盘602包括与字母数字字符相关联的标准键盘按钮或键,诸如在单独被选择时与字母数字字符“Q”和“W”相关联、或在与键629组合按下时与字符和“ I ”相关联的键626和627。单个键还可以基于操作系统或由操作系统调用的应用的状态来与特殊字符或功能相关联,包括未标记的功能。例如,在应用要求输入数字字符时,单独对键627的选择可以促使“I”被输入。
[0106]除传统上与字母数字小键盘相关联的键外,键盘602还包括其它特殊功能键,诸如促使接收到的呼叫被接听或新的呼叫被发起的建立通话键630 ;促使终止活动通话的终止通话键631 ;促使菜单在显示601内出现的下拉菜单键632 ;促使先前访问过的网络地址再次被访问的后进导航键634 ;促使活动网页被放置在收藏站点的书签文件夹中或促使标签文件夹出现的收藏网站键635 ;促使在设备600上调用的应用导航至预定网络地址的主页键636 ;或提供多方式导航、应用选择以及电源和音量控制的其它键。
[0107]用户使用指示设备604来选择以及调整在显示601上显示的图形和文本对象,作为与设备600和在设备600上调用的应用的交互以及对设备600和在设备600上调用的应用的控制的一部分。指示设备604是任何适当类型的指示设备,并且可以是操纵杆、跟踪球、触摸板、摄像头、语音输入设备、与显示601组合实现的触摸屏设备或任何其它输入设备。
[0108]可以是外部天线或内部天线的天线605是用于传送以及接收实现点对点无线电通信、无线局域网(LAN)通信或位置确定的射频(RF)信号的定向或全向天线。天线605可以使用专用移动无线电(SMR)、蜂窝或个人通信服务(PCS)频带来帮助点对点无线电通信,并且可以使用任何数字或数据标准来实现对数据的传送。例如,天线605可以使用诸如下述的技术来允许数据在设备600和基站之间被传送:无线带宽(WiBix))、全球互通微波接入(WiMAX)、3GPP长期演进(LTE)、超移动宽带(UMB)、高性能无线电城域网(HIPERMAN)、iBurst或高容量空分多址(HC-SDMA)、高速OFDM分组接入(HS0PA)、高速分组接入(HSPA)、HSPA演进、HSPA+、高速上载分组接入(HSUPA)、高速下行链路分组接入(HSDPA)、通用接入网络(GAN)、时分同步码分多址(TD-SCDMA)、演进数据优化(或仅演进数据)(EVDO)、时分码分多址(TD-CDMA)、自由移动媒体接入(F0MA)、通用移动通信系统(UMTS)、宽带码分多址(W-CDMA )、增强型数据速率GSM演进(EDGE )、增强型GPRS (EGPRS )、码分多址-2000(CDMA2000)、宽带综合调度增强网络(WiDEN)、高速电路交换数据(HSCSD)、通用分组无线业务(GPRS)、个人手持式电话系统(PHS)、电路交换数据(CSD)、个人数字蜂窝(PDC)、CDMAone、数字高级移动电话系统(D-AMPS)、集成数字增强型网络(IDEN)、全球移动通信系统(6310、0&丨&14(:、101^丨61、蜂窝数字分组数据(0)1^)、!1化&?、高级移动电话系统(410^)、北欧移动电话(NMP)、Autoradiopuhelin (ARP)、Autotel或公共自动陆地移动(PALM)、Mobiltelefonisystem D (MTD)、Offentlig Landmobil Telefoni (0LT (公共陆地移动电话))、高级移动电话系统(AMTS)、改进的移动电话服务(IMTS)、移动电话系统(MTS)、即按即说(PTT)或其它技术。例如使用QUALCOMM MSM7200A芯片集以及QUALCOMM RTR6285?收发器和PM7540?电源管理电路可以发生经由W-CDMA、HSUPA、GSM、GPRS以及EDGE网络的通?目。
[0109]无线或有线计算机网络连接606可以是调制解调器连接、包括以太网的局域网(LAN)连接或宽带广域网(WAN)连接,诸如数字用户线路(DSL)、电缆高速互联网连接、拨号连接、T-1线路、T-3线路、光纤连接或卫星连接。网络连接606可以连接到LAN网络、企业或政府WAN网络、因特网、电话网络或其它网络。网络连接606使用有线或无线连接器。示例无线连接器包括例如红外数据协会(IrDA)无线连接器、W1-Fi无线连接器、光学无线连接器、电气和电子工程师协会(IEEE)标准802.11无线连接器、蓝牙无线连接器(诸如蓝牙版本1.2或3.0连接器)、近场通信(NFC)连接器、正交频分复用(OFDM)超宽带(UWB)无线连接器、时间调制超宽带(TM-UWB)无线连接器或其它无线连接器。示例有线连接器包括例如IEEE-1394FIREWIRE连接器、通用串行总线(USB)连接器(包括min1-B USB接口连接器)、串行端口连接器、并行端口连接器或其它有线连接器。在另一个实施方式中,将网络连接606和天线605的功能集成入单个组件。
[0110]摄像头607允许设备600捕捉数字图像,并且可以是扫描仪、数字静态照相机、数字视频摄像机、其它数字输入设备。在一个示例实施方式中,摄像头607是利用互补金属氧化物半导体(CMOS)的3兆像素(MP)摄像头。
[0111]麦克风609允许设备600捕捉声音,并且可以是全向麦克风、单向麦克风、双向麦克风、猎枪麦克风或其它类型的将声音转换为电信号的装置。可以例如在经由设备600通话期间用户正对另一个用户说话时使用麦克风609来捕捉由该用户生成的声音。
[0112]扬声器610允许设备将电信号转换成声音,诸如来自另一个用户的由电话应用程序生成的语音、或自铃声应用程序生成的铃声。此外,尽管设备600在图6中被图示为手持式设备,但是在另外的实施方式中,设备600可以是膝上型机、工作站、中型计算机、大型机、嵌入式系统、电话、台式机、平板计算机、PDA或其它类型的计算设备。
[0113]图7是图示了设备600的内部架构700的框图。架构包括中央处理单元(CPU)701,其中处理包括操作系统或应用的计算机指令;显示接口 702,其提供用于在显示601上呈现视频、图形、图像和文本的通信接口和处理功能、提供内置控件集(诸如按钮、文本和列表)、以及支持多样的屏幕尺寸;键盘接口 704,其向键盘602提供通信接口 ;指示设备接口 705,其向指示设备604提供通信接口 ;天线接口 706,其向天线605提供通信接口 ;网络连接接口 707,其通过计算机网络连接606向网络提供通信接口 ;摄像头接口 708,其提供用于从摄像头607捕捉数字图像的通信接口和处理功能;声音接口 709,其提供用于使用麦克风609将声音转换为电信号以及使用扬声器610将电信号转换为声音的通信接口 ;随机存取存储器(RAM)710,其中用于CPU701处理的计算机指令和数据被存储在易失性存储器设备中;只读存储器(R0M)711,其中用于诸如基本输入和输出(I/O)、启动或对来自键盘602的键击的接收的基本系统功能的不变的低层次系统代码或数据被存储在非易失性存储器设备中;存储介质712或其它合适类型的存储器(例如,诸如RAM、R0M、可编程只读存储器(PR0M)、可擦可编程只读存储器(EPR0M)、电可擦可编程只读存储器(EEPR0M)、磁盘、光盘、软盘、硬盘、可移动盒式磁带、闪存驱动器),其中存储包括操作系统713、应用程序715(视需要包括例如web浏览器应用、小组件或小工具引擎或其它应用,并且进一步包括用于分析实时加速度数据、将实时加速度数据与已存储的加速度简档进行比较以识别匹配的加速度简档、启动与匹配的加速度简档相关联的应用以及自适应构建加速度简档并且学习在加速度数据与对各个应用的激活之间的相互关联的应用)和数据文件716的文件;导航模块717,其提供设备600的真实世界或相对位置或地理位置;电源719,其向电力组件提供适当的交流电(AC)或直流电(DC);以及电话子系统720,其允许设备600通过电话网络传送以及接收声音。组分设备和CPU710通过总线721相互通信。
[0114]CPU701可以是多个计算机处理器中的一个。在一种布置中,计算机CPU701多于一个处理单元。RAM710与计算机总线721交互以在执行诸如操作系统应用程序和设备驱动程序的软件程序期间向CPU701提供快速RAM存储。更具体地,CPU701将计算机可执行过程步骤从存储介质712或其它介质加载至RAM710的区中以执行软件程序。将数据存储在RAM710中,其中在执行期间由计算机CPU701访问所述数据。在一个示例配置中,设备600包括至少128MB RAM以及256MB闪存。
[0115]存储介质712自身可以包括多个物理驱动单元,诸如独立磁盘冗余阵列(RAID)、软盘驱动、闪存、USB闪存驱动、外部硬盘驱动、拇指驱动、笔驱动、键驱动、高密度数字多功能盘(HD-DVD)光盘驱动、内部硬盘驱动、蓝光光盘驱动或全息数字数据存储(HDDS)光盘驱动、外部小型双列直插内存模块(DMM)同步动态随机存取存储器(SDRAM)或外部微型DMMSDRAM。这样的计算机可读存储介质允许设备600访问存储在可移动和不可移动存储器介质上的计算机可执行过程步骤、应用程序等、从设备600卸载数据或将数据上载到设备600。
[0116]计算机程序产品被有形地包含在存储介质712、机器可读存储介质中。计算机程序产品包括在由机器读取时操作来促使数据处理装置将图像数据存储在移动设备中的指令。在一些实施方式中,计算机程序产品包括处理加速度数据、自适应构建加速度数据一应用相互关联、响应于在实时加速度数据和先前存储的加速度简档之间的匹配激活应用以及执行在此描述的其它方法的指令。
[0117]操作系统713可以是基于LINUX的操作系统,诸如GOOGLE移动设备平台;APPLEMAC OS X !MICROSOFT WINDOWS NT/ffIND0WS2000/ffIND0ffS XP/WINDOWS MOBILE ;多种类UNIX操作系统;或用于计算机或嵌入式系统的专有操作系统。用于操作系统713的应用开发平台或框架可以是:BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW)(无线二进制运行环境);使用 SUN MICROSYSTEMS JAVASCRIPT 编程语言的 JAVA Platform, MicroEditionQAVA ME)或 JAVA2Platform, Micro Edition (J2ME) ;PYTHON?、FLASH LITE 或MICROSOFT.NET Compact或另一种适当的环境。
[0118]设备存储用于操作系统713以及诸如电子邮件、即时消息、视频服务应用、地图应用、文字处理、电子表格、演示文稿、游戏、绘图、web浏览、JAVASCRIPT引擎或其它应用的应用程序715的计算机可执行代码。例如,一个实施方式可以允许用户访问GOOGLE GMAIL电子邮件应用、GOOGLE TALK即时消息应用、YOUTUBE视频服务应用、GOOGLE MAPS或G00GLEEARTH地图应用或GOOGLE PICASA图像编辑和演示应用。应用程序715还可以包括小组件或小工具引擎,诸如TAFRI?小组件引擎、诸如WINDOWS SIDEBAR小工具引擎或KAPSULES?小工具引擎的MICR0S0FT小工具引擎、诸如K0NFABULT0R?小组件引擎的ΥΑΗ00!小组件弓丨擎、APPLE DASHBOARD小组件引擎、G00GLE小工具引擎、KLIPF0L10小组件引擎、OPERA?小组件引擎、WIDSETS?小组件引擎、专有小组件或小工具引擎或为桌面上的物理启发的小程序提供主机系统软件的其它小组件或小工具引擎。
[0119]尽管基于对实时加速度的分析来自动激活应用是可能的,但是还可以是可能的是,将在此描述的功能作为动态链接库(DLL)或作为针对诸如因特网web浏览器的其它应用程序的插件来实现,所述因特网web浏览器诸如FOXFIRE web浏览器、APPLE SAFARI web浏览器或 MICROSOFT INTERNET EXPLORER web 浏览器。
[0120]导航模块717可以诸如通过使用全球定位系统(GPS)信号、全球导航卫星系统(GLONASS)、伽利略定位系统、北斗卫星导航定位系统、惯性导航系统、航位推算系统,或通过访问地址、网际协议(IP)地址或数据库中的位置信息来确定设备的绝对或相对位置。诸如通过使用一个或多个加速度计,还可以使用导航模块717来测量设备600的角位移、方向或速度。
[0121]图8是图示了设备600所使用的操作系统713的示例性组件的框图,在该实例中操作系统713是GOOGLE移动设备平台。在操作系统713确保相关联的电话应用是易响应的,并且反复无常的应用不会导致操作系统的故障(或崩溃)时,操作系统713调用多个进程。使用任务切换,操作系统731允许在打电话时在不会丢失每一个相关联的应用的状态的情况下对应用进行切换。操作系统713可以使用应用框架来鼓励对组件的重用,并且通过组合指示设备和键盘输入以及通过允许枢转来提供可升级的用户体验。因此,当操作系统使用高级的、基于标准的web浏览器时,操作系统可以提供丰富的图形系统和媒体体验。
[0122]在一些实施方式中,将操作系统713组织成六个组件:内核800、库801、操作系统运行时间802、应用库804、系统服务805以及应用806。内核800包括允许诸如操作系统713和应用程序715的软件经由显示接口 702与显示601交互的显示驱动器807,允许软件与摄像头607交互的摄像头驱动器809 ;蓝牙驱动器810 ;M-Systems驱动器811 ;binder(IPC)驱动器812、USB驱动器814、允许软件经由键盘接口 704与键盘602交互的小键盘驱动器815 ;WiFi驱动器816 ;允许软件经由声音接口 709与麦克风609和扬声器610交互的音频驱动器817 ;以及允许软件与电源719交互并且管理电源719的电源管理组件819。还可以包括加速度计驱动器818以允许应用程序与包括在移动设备600中的加速度计交互。
[0123]在一个实施方式中为基于用于基于LINUX的操作系统的BlueZ蓝牙协议栈的蓝牙驱动器为耳机和免提设备、拨号网络、个人区域网络(PAN)或音频流提供配置文件支持(诸如通过高级音频分发配置文件(A2DP)或音频/视频远程控制配置文件(AVRCP))。蓝牙驱动器提供用于扫描、配对和取消配对以及服务查询的JAVA绑定。
[0124]库801包括媒体框架820,其使用高效JAVA应用程序编程接口(API)层来支持标准视频、音频和静止帧格式(诸如运动图像专家组(MPEG ) -4、H.264、MPEG-1音频层-3 (MP3)、高级音频编码(AAC)、自适应多速率(AMR)、联合图像专家组(JPEG)以及其它格式);外观管理器821 ;用于二维应用绘图的简单图形库(SGL) 822 ;用于游戏和三维呈现的嵌入式系统的开放式图形库(OpenGL ES) 824 ;C标准库(LIBC) 825 ;LIBffEBCORE库826 ;FreeType 库 827 ;SSL829 ;以及 SQLite 库 830。
[0125]操作系统运行时间802包括核心JAVA库831和Dalvik虚拟机832。Dalvik虚拟机832是运行定制文件格式(.DEX)的自定义虚拟机。
[0126]操作系统731还可以包括移动信息设备配置文件(MIDP)组件,诸如如图8中所示的MIDP JAVA规范要求(JSRs)组件、MIDP运行时间以及MIDP应用。MIDP组件可以支持运行于设备600上的MIDP应用。
[0127]关于图形呈现,将OpenGL ES824和二维硬件加速度计用于其合成,全系统创作器管理外观和帧缓冲器并且处理窗口转变。
[0128]由于Dalvik虚拟机832非常高效地使用运行时间存储器、实现CPU优化的字节码解释器以及支持每设备多个虚拟机进程,所以Dalvik虚拟机832可以与嵌入式环境一起使用。使用共享常量池以减少存储器、使用只读结构以提高跨进程共享、使用简明和固定宽度的指令以减少解析时间,从而允许安装的应用在构建时间被翻译成自定义文件格式,自定义文件格式(.DEX)为运行时间效率而设计。由于基于寄存器而不是基于堆栈的指令减少了存储器和调度开销、由于使用固定宽度的指令使解析简化以及由于16位码单元使读取最小化,所以相关联的字节码为快速解释而设计。
[0129]应用库804包括视图系统834、资源管理器835和内容提供器837。系统服务805包括状态栏839 ;应用启动器840 ;为所有安装的应用维护信息的包管理器841 ;向电话子系统720提供应用级JAVA接口的电话管理器842 ;允许所有应用访问状态栏和屏幕上的通知的通知管理器844 ;允许多个应用与多个窗口共享显示601的窗口管理器845 ;以及在单独进程中运行每一个应用、管理应用寿命周期以及维护跨应用历史的活动管理器846。
[0130]应用806包括本地应用847、拨号器应用849、联系人应用850、浏览器应用851以及加速度数据处理组件852 (或成套组件852)。
[0131]电话管理器842提供事件通知(诸如电话状态、网络状态、用户识别模块(SM)状态或语音邮件状态)、允许对状态信息(诸如网络信息、SIM信息或语音邮件存在)的访问、发起呼叫以及查询并控制呼叫状态。浏览器应用851在完整的、类似桌面的管理器中呈现网页,包括导航功能。此外,浏览器应用851允许单列、小屏幕呈现,以及提供对HTML视图到其它应用的嵌入。
[0132]图9是图示了由操作系统内核900实现的示例性进程的框图。通常,应用和系统服务在单独进程中运行,其中活动管理器910在单独进程中运行每一个应用并且管理应用寿命周期。尽管许多活动或服务还可以在同一进程中运行,但是应用在其自己的进程中运行。视运行应用的组件的需要启动和停止进程,以及可以终止进程以回收资源。为每一个应用分配它自己的进程,其名称为应用的包名,以及可以为应用的对应部分分配另一个进程名。
[0133]一些进程可以是持续的。例如,与诸如外观管理器910、窗口管理器914或活动管理器910的核心系统组件相关联的进程可以在设备600开机期间连续执行。额外地,一些特定于应用的进程也可以是持续的。例如,与拨号器应用849或加速度数据处理组件852相关联的进程可以是持续的。
[0134]通常可以将操作系统内核900实现的进程分类为系统服务进程901、拨号器进程902、浏览器进程904以及地图进程905。系统服务进程901包括与状态栏839相关联的状态栏进程906 ;与应用启动器840相关联的应用启动器进程907 ;与包管理器841相关联的包管理器进程909 ;与活动管理器846相关联的活动管理器进程910 ;与提供对图形、本地化字符串和XML布局描述的访问的资源管理器835相关联的资源管理器进程911 ;与通知管理器844相关联的通知管理器进程912 ;与窗口管理器845相关联的窗口管理器进程914 ;与核心JAVA库831相关联的核心JAVA库进程915 ;与外观管理器821相关联的外观管理器进程916 ;与Dalvik虚拟机832相关联的Dalvik虚拟机进程917 ;与LIBC库825相关联的LIBC进程919 ;以及与加速度数据处理组件852相关联的加速度数据处理进程。
[0135]拨号器进程902包括与拨号器应用849相关联的拨号器应用进程921 ;与电话管理器842相关联的电话管理器进程922 ;与核心JAVA库831相关联的核心JAVA库进程924 ;与Dalvik虚拟机832相关联的Dalvik虚拟机进程925 ;与LIBC库825相关联的LIBC进程 926。
[0136]浏览器进程904包括与浏览器应用851相关联的浏览器应用进程927 ;与核心JAVA库831相关联的核心JAVA库进程929 ;与Dalvik虚拟机832相关联的Dalvik虚拟机进程930 ;与LIBWEBCORE库826相关联的LIBWEBCORE进程931 ;与LIBC库825相关联的LIBC 进程 932。
[0137]地图进程905包括地图应用进程934、核心JAVA库进程935、Dalvik虚拟机进程936和LIBC进程937。明显地,诸如Dalvik虚拟机进程的一些进程可以存在于系统服务进程901、拨号器进程902、浏览器进程904和地图进程905中的一个或多个中。
[0138]图10示出了可以与在此描述的技术一起使用的通用计算机设备1000和通用移动计算机设备1050的示例。计算设备1000意在表示各种形式的数字计算机,诸如膝上型机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其它适当的计算机。计算设备1050意在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能手机以及其它相似的计算设备。在此示出的组件、其连接和关系以及其功能意在只是示例性的,并且并不意在限制在本文档中描述和/或主张的本发明的实施方式。
[0139]计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和高速扩展端口 1010的高速接口 1008以及连接到低速总线1014和存储设备1006的低速接口 1012。组件1002、1004、1006、1008、1010和1012中的每一个使用各种总线互连,并且可以视情况被安装在公共主板上或以其它方式安装。处理器1002可以处理用于在计算设备1000内执行的指令,包括存储在存储器1004中或存储设备1006上用来在诸如耦接到高速接口 1008的显示1016的外部输入/输出设备上显示⑶I的图形信息的指令。在其它实施方式中,可以视情况使用多个处理器和/或多个总线以及多个存储器和存储器类型。并且,可以连接多个计算设备1000,其中每一个设备提供部分必需操作(例如,作为服务器簇、刀片服务器组或多处理器系统)。
[0140]存储器1004存储在计算设备1000内的信息。在一个实施方式中,存储器1004是易失性存储器单元。在另一个实施方式中,存储器1004是非易失性存储器单元。存储器1004还可以是另一种形式的计算机可读介质,诸如磁或光盘。
[0141]存储设备1006能够为计算设备1000提供海量存储。在一个实施方式中,存储设备1006可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它相似的固态存储器设备、或设备阵列,包括在存储区域网络或其它配置中的设备。计算机程序产品可以被有形地包含在信息载体中。计算机程序产品还可以包含在被执行时执行诸如上述那些方法的一个或多个方法的指令。信息载体是计算机或机器可读介质,诸如存储器1004、存储设备1006、在处理器1002上的存储器或传播信号。
[0142]高速控制器1008管理关于计算设备1000的带宽密集型操作,而低速控制器1012管理较低带宽密集型操作。职责的这样的分配只是示例性的。在一个实施方式中,高速控制器1008 (例如通过图形处理器或加速器)耦接到存储器1004、显示1016,以及耦接到可以接受各种扩展卡(未示出)的高速扩展端口 1010。在该实施方式中,低速控制器1012耦接到存储设备1006和低速扩展端口 1014。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦接到诸如键盘、指示设备、扫描仪的一个或多个输入/输出设备,或例如通过网络适配器耦接到诸如交换机或路由器的联网设备。
[0143]计算设备1000可以如图中所示以多种不同的形式实现。例如,计算设备1000可以被实现为标准服务器1020或更多时间被实现在在一组这样的服务器中。计算设备1000还可以被实现为机架服务器系统1024的一部分。另外,计算设备1000可以在诸如膝上型计算机1022的个人计算机中实现。替选地,来自计算设备1000的组件可以与诸如设备1050的移动设备(未示出)中的其它组件相结合。这样的设备中的每一个可以包含计算设备1000、1050中的一个或多个,以及整个系统可以由相互通信的多个计算设备1000、1050组成。
[0144]除其它组件外,计算设备1050包括处理器1052、存储器1064、诸如显示1054的输入/输出设备、通信接口 1066以及收发器1068。设备1050还可以拥有诸如微型驱动或其它设备的存储设备以提供额外的存储。组件1050、1052、1064、1054、1066和1068中的每一个使用各种总线互连,以及组件中的数个可以视情况被安装在公共主板上或以其它方式安装。
[0145]处理器1052可以执行在计算设备1050内的指令,包括存储在存储器1064中的指令。处理器可以被实现为包括独立和多个模拟和数字处理器的芯片的芯片集。处理器可以提供例如对设备1050的其它组件的协调,诸如对用户接口、由设备1050运行的应用以及经由设备1050的无线通信的控制。
[0146]处理器1052可以通过耦接到显示1054的控制接口 1058和显示接口 1056与用户通信。显示1054可以是例如TFT IXD (薄膜晶体管液晶显示)或OLED (有机发光二极管)显示或其它适当的显示技术。显示接口 1056可以包括用于驱动显示1054向用户呈现图形和其它信息的适当的电路。控制接口 1058可以从用户接收命令并且将命令进行转换以提交给处理器1052。另外,可以提供与处理器1052通信的外部接口 1062,以使得设备1050能够与其它设备进行近区域通信。外部接口 1062可以例如在一些实施方式中提供有线通信,或在其它实施方式中提供无线通信,以及还可以使用多个接口。
[0147]存储器1064存储在计算设备1050内的信息。存储器1064可以被实现为计算机可读介质、易失性存储器单元或非易失性存储器单元中的一个或多个。还可以提供扩展存储器1074并且通过可以包括例如SIMM (单列直插内存模块)卡接口的扩展接口 1072将其连接到设备1050。这样的扩展存储器1074可以为设备1050提供额外的存储空间,或还可以存储用于设备1050的应用或其它信息。具体地,扩展存储器1074可以包括指令来实现或补充上述过程,以及还可以包括安全信息。因此,扩展存储器1074可以例如作为用于设备1050的安全模块提供,以及可以被编程有许可安全使用设备1050的指令。另外,安全应用以及额外的信息可以经由SMM卡提供,诸如以不可非法侵入的方式将识别信息放置在SMM卡上。
[0148]存储器可以如下所述包括例如闪存和/或NVRAM存储器。在一个实施方式中,将计算机程序产品有形地包含在信息载体中。计算机程序产品包含在被执行时执行诸如上述那些方法的一个或多个方法的指令。信息载体是计算机或机器可读介质,诸如存储器1064、扩展存储器1074、在处理器1052上的存储器或可以例如通过收发器1068或外部接口 1062接收的传播信号。
[0149]设备1050可以在需要的情况下通过可以包括数字信号处理电路的通信接口 1066无线地通信。通信接口 1066可以提供在各种模式或协议下的通信,诸如GSM语音通话、SMS、EMS或MMS消息、CDMA、TDMA, PDC、WCDMA, CDMA2000或GPRS等。可以例如通过射频收发器1068来发生这样的通信。另外,诸如使用蓝牙、WiFi或其它这样的收发器(未示出),可以发生短程通信。另外,GPS (全球定位系统)接收器模块1070可以向设备1050提供可以由运行在设备1050上的应用视情况使用的额外的导航和位置相关的无线数据。
[0150]设备1050还可以使用音频编解码器1060可听见地通信,音频编解码器1060可以从用户接收口语信息并且将其转换为可使用的数字信息。同样,音频编解码器1060可以诸如通过例如在设备1050的送受话器中的扬声器,为用户生成可听见的声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括已记录的声音(例如,语音消息、音乐文件等)以及还可以包括由在设备1050上操作的应用生成的声音。
[0151]计算设备1050可以如图中所示以多种不同的形式实现。例如,计算设备1050可以被实现为蜂窝电话1080。计算设备1050还可以被实现为智能电话1082、个人数字助理或其它相似的移动设备的部分。
[0152]可以在数字电子电路、集成电路、专门设计的ASIC (专用集成电路)、计算机硬件、固件、软件和/或以上的组合中实现在此描述的系统和技术的各种实施方式。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括至少一个可编程处理器,其可以是专用或通用的,被耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备传送数据和指令。
[0153]这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级程序和/或面向对象的编程语言、和/或汇编/机器语言来实现。如在此所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用来向可编程处理器提供机器指令和/或数据的任何信号。
[0154]为了提供与用户的交互,在此描述的系统和技术可以在具有下述的计算机上实现:用于向用户显示信息的显示设备(例如,CRT (阴极射线管)或IXD (液晶显示)监视器),以及用户通过其可以向计算机提供输入的键盘和指示设备(例如,鼠标或跟踪球)。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感知反馈(例如,视觉反馈、听觉反馈或触觉反馈);以及可以以任何形式,包括声学的、话音的或触觉的输入,接收来自用户的输入。
[0155]在此描述的系统和技术可以在包括后端组件(例如作为数据服务器)、或包括中间件组件(例如应用服务器)、或包括前端组件(例如具有用户通过其可以与在此描述的系统和技术的实施方式交互的图形用户界面或Web浏览器的客户端计算机)、或者这样的后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网("LAN")、广域网("WAN")以及因特网。
[0156]计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络交互。客户端和服务器的关系依靠在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。
[0157]已描述了多个实施方式。然而,将理解的是,可以在不背离所公开的实施方式的精神和范围的情况下进行各种修改。例如,在移动设备的语境下提供了许多示例,但是还可以将在此描述的系统和方法应用于在传统上未表征为移动的设备,包括例如内置式车辆导航系统或车辆计算机(其可以基于对时停时走公路交通、顺畅公路交通、城市交通等的检测来激活不同的应用)。作为其它的示例,可以将在此描述的系统和方法应用于海事设备(例如,其检测水的波浪起伏或其它参数并且相应地激活应用)、或可以响应于检测地震活动、疾风等激活应用的消费类器具。在激活应用的语境下提供了各种示例,但是还可以响应于在实时加速度数据与加速度简档之间的匹配失活应用。另外,图中所描绘的逻辑流不需要所示的特定顺序或相继顺序才能获得期望的结果。另外,可以提供其它步骤,或可以从所描述的流程除去步骤,以及可以将其它组件添加到所描述的系统或从所描述的系统移除组件。因此,其它实施方式在权利要求的范围内。
【权利要求】
1.一种用于自动激活在运行多个应用的移动计算设备中的应用的方法,所述方法包括: 存储多个加速度简档,所述多个加速度简档中的每一个加速度简档对应于移动计算设备被用户携带时在对应于所述多个加速度简档的多个活动中的一个活动期间会经受到的加速度力的序列,当接收到启动与所述多个加速度简档相关联的多个用户应用中的一个用户应用的用户输入时,所述多个加速度简档中的每一个加速度简档进一步与所述移动计算设备的位置相关联,所述多个用户应用中的每一个用户应用都与所述多个加速度简档中的相应加速度简档相关联; 从所述移动计算设备中的加速度计接收加速度计数据; 将所述加速度计数据与所述多个加速度简档中的一个加速度简档相互关联;以及 激活所述移动计算设备的与已相互关联的一个加速度简档相关联的用户应用。
2.如权利要求1所述的方法,其中基于对不同于所述移动计算设备的多个设备的分析生成所述多个加速度简档中的特定加速度简档。
3.如权利要求2所述的方法,其中在将所述移动计算设备递送给所述用户之前将所述特定加速度简档预存储在所述移动计算设备中。
4.如权利要求2所述的方法,其中将所述特定加速度简档从内容提供者无线地下载到所述移动计算设备。
5.如权利要求1所述的方法,其中加速度力的至少一个序列由所述移动计算设备在训练模式期间存储,在所述训练模式下所述移动计算设备经受到的实际加速度力被实时地采样并且被存储在所述移动计算设备中。
6.如权利要求1所述的方法,其中相互关联包括对所接收的加速度计数据进行采样,以及使用比较算法来将所采样的加速度计数据与所述多个加速度简档中的一个或多个进行比较以确定所采样的加速度计数据是否与所述多个加速度简档中的加速度简档相匹配。
7.如权利要求1所述的方法,其中存储所述多个加速度简档包括:将所述多个加速度简档存储在所述移动计算设备外部的网络可访问的位置;其中将所述加速度计数据相互关联包括:在接收到所述加速度计数据之后访问所述网络可访问的位置。
8.如权利要求1所述的方法,其中将所述加速度计数据相互关联包括:处理所述加速度计数据以移除所述移动计算设备的位置定向的效果。
9.如权利要求8所述的方法,其中处理所述加速度计数据包括:将多轴加速度计数据转换为与所述多轴加速度计数据在其中被捕获的坐标系不同的坐标系。
10.一种用于自动激活在运行多个应用的移动计算设备中的应用的方法,所述方法包括: 在训练模式中: 接收关于移动计算设备的训练加速度数据, 接收启动所述多个应用中的应用的用户输入, 基于所接收的加速度数据和所述用户输入来生成一个或多个训练识别标志, 接收关于所述移动计算设备的额外加速度数据和启动所述应用的额外用户输入,以及自适应地精化所述一个或多个训练识别标志,其中在接收到所述用户输入时进一步基于所述移动计算设备的位置而生成所述训练识别标志,从移动计算设备中的加速度计接收加速度计数据; 基于所接收的加速度计数据来生成识别标志; 将所生成的识别标志与存储在所述移动计算设备中的加速度简档相互关联;以及 激活所述移动计算设备中的与和所生成的识别标志相互关联的加速度简档相关联的应用。
11.如权利要求10所述的方法,其中相互关联包括:将所生成的识别标志与存储在所述移动计算设备中的一个或多个加速度简档进行比较,以及确定所生成的识别标志与所述一个或多个加速度简档中的一个何时在相似性的阈值测量内匹配。
12.如权利要求10所述的方法,其中接收训练加速度数据包括从所述移动计算设备中的所述加速度计接收数据。
13.如权利要求12所述的方法,其中所述训练加速度数据包括关于所述移动计算设备的在至少两个轴上的加速度数据。
14.如权利要求13所述的方法,其中接收训练加速度数据包括以至少25Hz的频率周期性地接收关于所述移动计算设备的所述训练加速度数据。
15.如权利要求10所述的方法,进一步包括将所接收的训练加速度数据存储在先进先出循环缓冲器中,使得在给定时间预定量的最近所接收的训练加速度数据被存储。
16.如权利要求10所述的方法,其中基于所述用户输入被接收的时间来进一步生成所述训练识别标志。
17.如权利要求10所述的方法,其中基于所述用户输入被接收的周内日期来进一步生成所述训练识别标志。
18.如权利要求10所述的方法,进一步包括:基于在第一时间接收到所述训练加速度数据和激活所述应用的所述用户输入来生成第一训练识别标志,以及基于在不同于所述第一时间至少预定阈值的第二时间接收到第二训练加速度数据和启动所述应用的第二用户输入来生成不同的第二训练识别标志。
19.如权利要求10所述的方法,其中生成所述训练识别标志包括:基于在接收启动所述应用的所述用户输入之前的预定时间段接收到所述训练加速度数据,来生成所述训练识别标志。
20.如权利要求19所述的方法,其中生成所述训练识别标志进一步包括基于在接收启动所述应用的所述用户输入之后的第二预定时间段接收的第二训练加速度数据来生成所述训练识别标志。
21.一种用于自动激活在运行多个应用的移动计算设备中的应用的方法,所述方法包括: 接收关于移动计算设备的训练加速度数据; 接收启动所述多个应用中的应用的用户输入; 基于(a)所接收的训练加速度数据,(b)所述用户输入,以及(C)接收到所述用户输入时所述移动计算设备的位置,生成训练识别标志; 从所述移动计算设备中的加速度计接收加速度计数据; 基于所接收的加速度计数据来生成识别标志; 将所生成的识别 标志与所述训练识别标志相互关联;以及激活所述移动计算设备中的与和所生成的识别标志相互关联的所述训练识别标志相关联的应用。
22.如权利要求21所述的方法,其中相互关联包括将所生成的识别标志与存储在所述移动计算设备外部的网络可访问设备中的一个或多个现有的训练识别标志进行比较。
23.如权利要求21所述的方法,进一步包括:在激活所述应用之前从所述移动计算设备的用户接收确认输入。
24.如权利要求21所述的方法,其中基于所述用户输入被接收的周内日期来进一步生成所述训练识别标志。
25.一种用于自动激活在运行多个应用的移动计算设备中的应用的系统,所述系统包括: 用于存储多个加速度简档的装置,所述多个加速度简档中的每一个加速度简档对应于移动计算设备被用户携带时在对应于所述多个加速度简档的多个活动中的一个活动期间会经受到的加速度力的序列,当接收到启动与所述多个加速度简档相关联的多个用户应用中的一个用户应用的用户输入时,所述多个加速度简档中的每一个加速度简档进一步与所述移动计算设备的位置相关联,所述多个用户应用中的每一个用户应用都与所述多个加速度简档中的相应加速度简档相关联; 用于从所述移动计算设备中的加速度计接收加速度计数据的装置; 用于将所述加速度计数据与所述多个加速度简档中的一个加速度简档相互关联的装置;以及 用于激活所述移动计算设备的与已相互关联的一个加速度简档相关联的用户应用的>j-U ρ?α`装直。
26.一种用于自动激活在运行多个应用的移动计算设备中的应用的系统,所述系统包括: 用于接收关于移动计算设备的训练加速度数据的装置; 用于接收启动所述多个应用中的应用的用户输入的装置; 用于基于(a)所接收的训练加速度数据,(b)所述用户输入,以及(C)接收到所述用户输入时所述移动计算设备的位置,生成训练识别标志的装置; 用于从所述移动计算设备中的加速度计接收加速度计数据的装置; 用于基于所接收的加速度计数据来生成识别标志的装置; 用于将所生成的识别标志与所述训练识别标志相互关联的装置;以及用于激活所述移动计算设备中的与和所生成的识别标志相互关联的所述训练识别标志相关联的应用的装置。
【文档编号】H04M1/725GK103561154SQ201310219027
【公开日】2014年2月5日 申请日期:2008年11月10日 优先权日:2007年11月9日
【发明者】安德鲁·E·鲁宾 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1