连接到音频输出系统时的智能音频回放的制作方法

文档序号:20268318发布日期:2020-04-03 18:40阅读:191来源:国知局
连接到音频输出系统时的智能音频回放的制作方法

本申请是申请号为201610366076.5、申请日为2016年5月27日、发明名称为“连接到音频输出系统时的智能音频回放”的发明专利申请的分案申请。

相关申请的交叉引用

本申请要求2015年6月5日提交的美国临时申请no.62/171,846的权益,该申请的全部内容具体地通过引用并入本文。

本发明的实施例涉及智能地决定当便携式计算装置(诸如,智能电话)连接到音频输出系统(诸如,汽车无线电音响主机(headunit))时的音频回放。其他实施例也被描述和要求保护。



背景技术:

现代的汽车音响主机可以通过有线连接(例如,通用串行总线usb电缆)或者通过无线连接(例如,蓝牙连接)与便携式计算装置(例如,智能电话)连接以播放来自在该便携式计算装置上运行的应用的音频内容,该音频内容通过车辆的扬声器系统而被转换为声音。通过用户手动地选择暂停或停止按钮、然后选择播放按钮,音频内容的这样的回放可以被停止,然后被重新开始。当便携式计算装置与音响主机断开连接时,回放也可以自动地停止。在便携式计算装置中运行的处理通过更新识别在前台的当前正在播放音频的应用的数据结构来监视“最后播放音频应用”。例子包括音乐播放器应用、播客应用以及音乐流传输应用。

当便携式计算装置连接到音响主机时,音响主机可以将开始播放音频的命令发送到便携式计算装置。在许多情况下,便携式计算装置通过播放来自当前正在前台运行的应用的音频来做出响应。一些音响主机将请求存储在便携式计算装置的音乐库中的歌曲列表,然后将播放该列表中的第一首歌曲(例如,按字母顺序的第一首歌曲)的命令发送到便携式计算装置。在这两种情况下,播放来自哪个应用的音频的决策被过于简单地确定,并且通常,该决策不满足用户的期望。其他音响主机在便携式计算装置连接到音响主机时不自动地请求开始音频回放,而是等待用户手动地选择播放来自什么应用的音频,这可能给用户造成不便。

附图说明

本发明的实施例在附图的图中以举例的方式,而非限制的方式被例示说明,在附图中,相似的附图标记指示类似的元件。应当指出,在本公开中对“一”或“一个”实施例的论述不一定是对同一个实施例的论述,它们意指至少一个。此外,为了减少附图的总数,给定的图可以用于例示说明本发明的多于一个的实施例的特征,结果,对于给定实施例,并非图中所有的元件都是必需的。

图1是例示说明根据一些实施例的用于智能地用信号通知音频回放的处理的流程图。

图2是例示说明根据一些实施例的用于用信号通知音频回放的另一处理的流程图。

图3是例示说明根据一些实施例的可以是便携式计算装置的装置的框图。

图4例示说明根据一些实施例的便携式计算装置中的对于与音频输出系统建立的连接的可用音频回放。

图5为引入文档a中所记载的图1,其是根据引入文档a中的实施例的用于基于触发事件识别应用的方法的流程图。

图6为引入文档a中所记载的图2,其示出根据引入文档a中的实施例的用于确定触发事件的系统的框图。

图7为引入文档a中所记载的图3,其示出根据引入文档a中的实施例的用于基于触发事件为用户识别应用的系统的框图。

图8为引入文档a中所记载的图4,其示出根据引入文档a中的实施例的用于通过多个预测模型识别应用的系统的框图。

图9为引入文档a中所记载的图5,其是根据引入文档a中的实施例的对于装置基于触发事件识别应用的方法的流程图。

图10为引入文档a中所记载的图6,其是根据引入文档a中的实施例的具有用于音乐应用的用户接口的装置的简化图。

图11a和11b分别为引入文档a中所记载的图7a和7b,它们是根据引入文档a中的实施例的用于从用户接口去除被识别的应用的方法的流程图。

图12为引入文档a中所记载的图8,其是根据引入文档a中的实施例的示例性装置的框图。

具体实施方式

现在参照附图来说明本发明的几个实施例。每当这里描述的实施例的各方面未被明确定义时,本发明的范围不是仅限于示出的部分,这些部分仅仅意在用于例示说明的目的。此外,虽然阐述了许多细节,但是理解的是,本发明的一些实施例没有这些细节也可以实施。在其他情况下,没有对公知的电路、结构和技术进行详细描述,以便不使该描述的理解模糊。

图1是例示说明根据一些实施例的用于智能地用信号通知音频回放的处理的流程图。该流程图的操作可以由便携式计算装置(例如,智能电话或便携式音乐播放器)执行。在一个实施例中,当便携式计算装置检测到与音频输出系统建立连接时,发起该处理(方框110)。音频输出系统可以是车辆的音响主机(其耦合到车辆中的一个或多个扬声器)、扬声器坞站(dock)、或能够将正从便携式计算装置播放的音频内容转换为声音的任何系统。在一个实施例中,便携式计算装置和音频输出系统之间的连接是通过通用串行总线(usb)电缆建立的有线连接。在其他实施例中,连接是无线连接,诸如蓝牙连接或wi-fi连接。

当检测到与音频输出系统建立连接时,便携式计算装置确定在便携式计算装置中哪个音频回放应用最后播放音频(最近播放音频)(方框120)。如本文所使用的音频回放应用是如下这样的应用,该应用能够(例如,从音乐文件或其他音频节目文件)生成数字音频,并且允许用户通过停止和重新开始数字音频的生成来控制数字音频的生成。音频回放应用的例子包括播放存储在便携式计算装置本地的音乐内容的音乐播放器应用、流传输(例如,通过诸如互联网的数据网络)从音乐提供者接收的音乐的音乐流传输应用、以及视频回放应用。在一些情况下,web浏览器也可以是音频回放应用(例如,当它被用来播放音频或视频时)。

在一个实施例中,便携式计算装置执行对于便携式计算装置管理音频回放的音频回放控制器程序。在一个实施例中,音频回放控制器保持跟踪:1)哪个音频回放应用最后播放音频(通过便携式计算装置的内置声音转换子系统,或者通过外部声音转换子系统(仅举几个例子,诸如有线/无线连接的耳机、扬声器坞站或车辆音响主机));以及2)它何时最后播放音频。在便携式计算装置上执行的其他程序可以从音频回放控制器程序访问该存储的信息,以确定哪个音频回放应用最后播放音频。

便携式计算装置确定在便携式计算装置中最后播放音频的音频回放应用是否在过去的指定时间量内这样做(方框130)。这是要找出用户是否“最近”收听过来自该音频回放应用的音频。例如,便携式计算装置可以确定最后播放的音频回放应用是否在最后八分钟内这样做。八分钟的值是作为例子提供的、而非限制,就这一点而论,该时间间隔可以根据需要配置。如以上所介绍的,音频回放控制器可以跟踪最后播放音频的音频回放应用何时这样做,例如,通过将存储的时间戳与存储的该应用的标识符相关联。时间戳可以指示音频回放由于任何原因而被停止的时间。便携式计算装置可以从音频回放控制器访问该存储的信息,以确定最后播放音频的音频回放应用是否在过去的指定时间量内这样做。

如果最后播放音频的音频回放应用在过去的指定时间量内(例如,在最后八分钟内)这样做,则这表明用户最有可能最近收听了该音频回放应用。因此,有可能的是,用户现在将会想要继续收听该音频回放应用(当与音频输出装置/系统连接时)。就这一点而论,在便携式计算装置中运行的处理用信号通知音频回放应当从最后播放音频的音频回放应用开始。该音频回放将通过最近与音频输出系统建立的连接进行(方框140)。

指出,被信号通知开始音频回放的应用可能在那时已经在前台中(在该情况下,正在进行中的音频回放被路由到与音频输出系统的当前连接),或者它可能在后台中(在该情况下,它将被移至前台以通过连接播放音频),或者它可能被关闭(在该情况下,它将被启动以使得它可以通过连接播放音频)。

例如,考虑在走向他或她的车辆的同时在连接到他或她的智能电话的耳机上收听播客的用户。当用户靠近车辆时,用户断开耳机,这样停止回放(并且暂停播客),并且在几分钟内,在车内安顿好之后,将智能电话连接到车辆的音响主机。在该情况下,有可能的是,用户将会想要继续收听播客。这里描述的实施例在用户将智能电话连接到车辆的音响主机时将自动地重新开始暂停的播客的回放(通过车辆扬声器系统)。

另一方面,如果最后播放音频的音频回放应用没有在过去的指定时间量内(例如,在最后八分钟内)这样做,则这表明用户最近没有收听该音频回放应用。因此,有可能的是,用户将会想要继续收听用户的便携式计算装置上一次连接到(现在连接的)音频输出系统时用户收听的任何音频回放应用。该信息(即,便携式计算装置上一次连接到音频输出系统时正在播放的应用的身份)可能已经被音频回放控制器程序监视,例如,被事先存储,以供便携式计算装置中的其他程序访问。就这一点而论,在便携式计算装置中运行的处理用信号通知音频回放应当从当便携式计算装置先前连接到音频输出系统时最后播放音频的音频回放应用开始。该音频回放将通过最近与音频输出系统建立的连接进行(方框150)。例如,考虑在开车去工作的同时(通过连接到车辆的音响主机)收听智能电话上的播客(来自智能电话上的播客应用)的用户。一旦到达办公室,用户将智能电话与车辆断开连接(其暂停播客),并且在她的桌上开始工作。例如在几个小时后午餐时间期间,用户收听音乐(来自智能电话上的不同于播客应用的音乐回放应用),但不收听智能电话上的任何其他的音频回放应用。当用户在傍晚返回到车辆以便开车回家并且将智能电话连接到车辆的音响主机时,有可能的是,用户将会想要继续收听播客应用,而不是午餐时间的音乐(来自音乐回放应用)。这里描述的实施例在用户将智能电话连接到车辆的音响主机时将会自动地重新开始来自播客应用的回放。

以上所述的当便携式计算装置连接到音频输出系统时播放哪个音频回放应用的决策是启发式的,因此所述处理可能做出与用户的期望不匹配的决策。就这一点而论,在另一实施例中,便携式计算装置可以为用户提供用户接口,以允许用户选择将音频回放决策变为与最初通过启发法选择的音频回放应用不同的音频回放应用。该用户接口因此提供用户可以选择的“第二选项”,以防在通过启发法选择的主选项或第一选项不是用户期望的选项。图1用于例示说明该“另一选择”实施例。

例如,参照图1,如果在便携式计算装置中运行的处理已经决定了从最后播放音频的音频回放应用开始音频回放的主选项(例如,如方框140中那样),则便携式计算装置可以为用户提供用户接口,以便将音频回放决策变为当便携式计算装置先前连接到音频输出系统时最后播放音频的应用(方框160)。换句话说,在回放最初按照方框140被(自动地)决定时,用户然后在方框160中被提示将回放变为第二选项。

类似地,在图1中所描绘的第二选项的另一例子中,如果在便携式计算装置中运行的处理最初决定音频回放应当来自当便携式计算装置先前连接到音频输出系统时最后播放音频的音频回放应用(例如,如方框150中那样),则便携式计算装置可以为用户提供将音频回放决策变为第二选项的用户接口,其中,该情况下的第二选项是从最后播放音频的音频回放应用回放(方框170)。

更一般地,在一个实施例中,以上提及的第二选项可以不同于在图1的方框160、170中给出的第二选项,并且可以由预测模型(诸如下面参照图2描述的预测模型)确定。以这种方式,用户接口为用户提供如下选项:改变(最初通过启发法做出的)音频回放决策、改为开始从与通过启发法选择的音频回放应用不同的音频回放应用进行回放。

在一个实施例中,便携式计算装置可以在音频输出系统的显示器上提供用户接口。例如,在一个实施例中,用户接口被作为显示在车辆音响主机的显示器上的提示/虚拟按钮提供。用户可以轻敲显示器上的虚拟按钮(如果显示器是触摸显示器的话),或者致动音响主机的物理按钮以开始来自第二选项、而不是主选项的音频回放。在另一实施例中,用户接口被作为显示在被构建到便携式计算装置中的触摸屏显示器上的提示/虚拟按钮提供。用户可以轻敲触摸屏显示器上的虚拟按钮,或者致动便携式计算装置的物理按钮以重新开始来自第二选项、而不是主选项的音频回放。在一个实施例中,用户接口被作为语音命令接口提供。例如,语音命令应用可以提示用户是否想要开始来自第二选项、而不是主选项的音频回放。用户可以通过对语音命令应用说命令(例如,“是”或“否”)来对语音命令应用做出响应。

图2是例示说明根据一些实施例的用于智能地开始音频回放的另一处理的流程图。该流程图的操作可以由便携式计算装置(例如,智能电话或便携式音乐播放器)执行。在一个实施例中,当便携式计算装置检测到与音频输出系统建立连接时,发起该处理(方框210)。音频输出系统可以是车辆的音响主机(其耦合到车辆中的一个或多个扬声器)、扬声器坞站、或能够转换正从便携式计算装置播放和接收的音频内容的任何系统。便携式计算装置和音频输出系统之间的连接可以是有线的或无线的(如以上在结合图1描述的实施例中那样)。

当检测到连接被建立时,便携式计算装置检索上下文信息(方框220)。在一个实施例中,上下文信息可以与便携式计算装置的周围状况(或者其用户上下文)相关。例如,上下文信息可以与一天中的时间、日期、星期几、当前地点和/或当前天气相关。在一个实施例中,上下文信息还可以包括与便携式计算装置连接的当前的音频输出系统相关的信息。上下文信息可以从便携式计算装置的一个或多个组件获得。例如,上下文信息可以从作为内部数字时钟操作的软件代码和/或硬件装置、全球定位系统(gps)装置或日历的任何组合获得。在一个实施例中,上下文信息可以通过经由数据网络(例如,互联网)访问信息而获得。在另一实施例中,上下文信息可以包括当前的用户上下文,例如,走路、跑步、开车和锻炼。

便携式计算装置使用预测模型基于上下文信息来识别最有可能被用户访问的音频回放应用(方框230)。预测模型可以例如通过记录用户多频繁地以及在什么情况下播放来自给定音频回放应用的音频来学习用户的音频回放偏好和行为模式。因此,预测模型可以基于用户与便携式计算装置的历史交互。预测模型可以利用上下文信息,连同所学习的用户的音频回放偏好和行为模式,来预测给定音频回放应用在当前情况下将被用户访问(当与特定音频输出系统连接时)的可能性。预测模型可以基于任何合适的预测建模技术和/或机器学习技术。这样的技术的例子在所附的标题为“基于检测的触发事件的应用推荐”的引入文档a中给出,如下文所述。

例如,预测模型可能已经从用户在他或她早上上班时几乎总是(例如,十次中有九次)播放来自播客应用的新闻播客的用户过去行为进行学习。就这一点而论,当用户在早上将他或她的便携式计算装置连接到车辆的音响主机时,预测模型可以确定播客应用最有可能被用户访问(在存储在便携式计算装置中的音频回放应用之中)。

便携式计算装置开始来自最有可能被用户访问的音频回放应用的音频回放。该音频回放将通过最近与音频输出系统建立的连接进行(方框240)。因此,便携式计算装置基于上下文信息以及所学习的用户的偏好和/或行为模式智能地做出要播放哪个音频回放应用的决策。

以上所述的当便携式计算装置连接到音频输出系统时播放哪个音频回放应用的决策是可能做出与用户的期望不匹配的决策的预测。就这一点而论,在一个实施例中,便携式计算装置可以为用户提供允许用户选择将音频回放决策变为与最初通过预测模型选择的音频回放应用不同的音频回放应用的用户接口。用户接口因此提供用户可以选择的“第二选项”,以防通过预测模型选择的主选项或第一选项不是用户期望的选项。

例如,在一个实施例中,便携式计算装置通过使用预测模型基于上下文信息识别具有第二高的被用户访问的概率的音频回放应用来确定第二选项(方框250)。便携式计算装置然后为用户提供指示音频回放应当来自具有第二高的被用户访问的概率的音频回放应用的用户接口(方框260)。在一个实施例中,第二选项通过启发法(诸如以上参照图1描述的启发法)确定。以这种方式,用户接口为用户提供了开始来自与通过启发法选择的音频回放应用不同的音频回放应用的音频回放的选项。在一个实施例中,用户接口可以提供供用户从中选择的多于一个的选项。类似于以上参照图1讨论的用户接口,便携式计算装置可以在音频输出系统的显示器(例如,车辆音响主机的显示器)或者被构建到便携式计算装置中的触摸屏显示器上提供用户接口。此外,用户接口可以被作为语音命令接口提供。

启发法和预测模型的任何组合可以用于当便携式计算装置连接到音频输出系统时智能地、自动地(例如,无需来自用户的播放命令)开始音频回放。例如,如果预测模型识别具有最高的被用户访问的概率(例如,大于90%)的音频回放应用,则便携式计算装置可以决定开始来自该音频回放应用的音频回放,而不依赖于启发法。如果预测模型不能识别具有足够高的被用户访问的概率的音频回放应用,则便携式计算装置可以决定依赖于启发法来决定调用哪个音频回放应用。在一个实施例中,便携式计算装置可以超控从连接的音频输出系统接收的请求播放来自特定音频回放应用的音频的命令,而是播放来自如上所述那样基于启发法或预测模型选择的音频回放应用的音频。在便携式计算装置中运行的这些处理可以提供比音频输出系统更智能的决策,因为它们可以考虑到便携式计算装置的上下文,例如,其用户上下文。

在一个实施例中,便携式计算装置还可以确定用户将经由音频输出系统播放的内容。一旦音频回放应用被确定(例如,方框140、150、230),便携式计算装置的操作系统可以确定在回放期间将播放的推荐内容(例如,方框140、150和240)。操作系统还可以产生关于确定的音频回放应用的推荐内容的回放队列(例如,方框140、150、230)。操作系统还可以产生关于被作为替代方案呈现给用户的音频回放应用的推荐内容的回放队列(例如,方框160、170、260)。例如,在方框160、170、260,当用户被呈现指示音频回放应当来自与音频回放从其开始的音频回放应用(方框140、150和240)不同的音频回放应用的用户接口时,操作系统可以提供推荐内容的回放队列,并且在用户接口上显示来自回放队列的推荐内容。

内容可以例如是歌曲、唱片集、艺术家、播客的片段等。便携式计算装置的操作系统可以确定将被播放的内容,并且构建内容的回放队列(例如,歌曲队列、播放列表等)。当音频回放应用回放内容时,音频回放应用将词典(dictionary)发送给操作系统,该词典包括标识和描述被播放的内容的密钥和值。操作系统在回放期间动态地更新词典。密钥是标识内容的高级元数据(例如,艺术家的姓名),值可以具体地描述内容(例如,歌曲的题目、唱片集、歌曲的持续时间等)。操作系统可以将词典存储在便携式计算装置中的可供便携式计算装置的其他部分访问的存储器地点中。例如,在便携式计算装置上执行的其他程序(例如,音频回放应用)可以访问该存储器地点来获得密钥和值,并且提供该信息(例如,当前播放的歌曲的题目和艺术家)以使其在用户接口(例如,触摸屏)上显示给用户。该音频回放应用还可以将内容树发送给操作系统。内容树的根可以是艺术家的集合或列表、唱片集的集合、歌曲的集合、播放列表的集合等。如果根是播放列表的集合(例如,“全部播放列表”),则内容树中的下一级包括全部播放列表的清单(例如,“在路上”、“锻炼混录”、“学习音乐”等)。来自被选播放列表(例如,“锻炼混录”)的内容树中的下一级可以包括该播放列表中的全部歌曲的列表。

在一个实施例中,使用来自音频回放应用的词典和内容树,操作系统可以包括分析引擎,该分析引擎编译正被用户回放的内容的历史以及该内容的回放频率(例如,歌曲、唱片集、艺术家、播客等的播放计数)。内容的历史还可以编译用户回放给定内容(例如,早上回放锻炼歌曲)的时间或日期。分析引擎可以使用正被回放的内容的历史和回放频率来确定推荐内容,并且产生推荐内容的回放队列。将被播放的内容的推荐以及推荐内容的回放队列也可以经由用户接口显示给用户以允许用户选择将被播放的内容。

在另一个实施例中,分析引擎也可以使用上下文信息来确定推荐内容并且产生推荐内容的回放队列。例如,分析引擎可以从上下文信息确定用户正在跑步、用户在健身房,一天中的时间指示在早上。使用该上下文信息,分析引擎确定用户的“锻炼混录”播放列表中他最频繁播放的歌曲是推荐内容。此外,分析引擎可以提供“锻炼混录”播放列表作为推荐内容的回放队列。

图3是例示说明根据一些实施例的装置的框图,该装置可以是便携式计算装置。装置300大体上包括计算机可读介质302、处理系统304、输入/输出(i/o)子系统306、无线电路308以及音频电路310,音频电路310包括扬声器350和麦克风352。这些组件可以由一个或多个通信总线或信号线303耦合。装置300可以是任何便携式电子装置,包括手持计算机、平板计算机、移动电话、膝上型计算机、平板装置、媒体播放器、个人数字助理(pda)、密钥环、汽车钥匙、接入卡、多功能装置、便携式游戏装置、或包括这些物品中的两个或更多个的组合的类似装置。

应当显而易见的是,图3中所示的架构仅仅是装置300的架构的一个例子,装置300可以具有比所示的组件更多或更少的组件、或组件的不同配置。图3中所示的各种组件可以用硬件、软件或硬件和软件的组合(包括一个或多个信号处理和/或应用特定集成电路)来实现。

无线电路308用于通过无线链路或网络将信息发送到一个或多个其他装置的常规电路并且接收信息,所述常规电路诸如天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片组、存储器等。无线电路308可以使用各种协议,例如,如本文描述的协议。

无线电路308经由外设接口316耦合到处理系统304。接口316可以包括用于建立并且保持外设和处理系统304之间的通信的常规组件。无线电路308(例如,在言语识别或语音命令应用中)接收的语音和数据信息经由外设接口316被发送到一个或多个处理器318。一个或多个处理器318可配置为处理用于存储在介质302上的一个或多个应用程序334的各种数据格式。

外设接口316将装置的输入和输出外设耦合到处理器318和计算机可读介质302。一个或多个处理器318经由控制器320与计算机可读介质302进行通信。计算机可读介质302可以是可以存储供一个或多个处理器318使用的代码和/或数据的任何装置或介质。介质302可以包括存储器层次体系,包括高速缓存、主存储器和二级存储器。

装置300还包括用于给各种硬件组件供电的电源系统342。电源系统342可以包括电源管理系统、一个或多个电源(例如,电池、交流(ac))、再充电系统、电源故障检测电路、电源转换器或逆变器、电力状态指示器(例如,发光二极管(led))、以及典型地与移动装置中的电力的产生、管理和分配相关联的任何其他的组件。

在一些实施例中,装置300包括照相机344。在一些实施例中,装置300包括传感器346。传感器可以包括加速度计、指南针、陀螺仪、压力传感器、音频传感器、光传感器、气压表等。传感器346可以用于感测地点方面,诸如地点的听觉或光签名。

在一些实施例中,装置300可以包括gps接收器,有时被称为gps单元348。移动装置可以使用卫星导航系统(诸如全球定位系统(gps))来获得位置信息、时序信息、海拔高度或其他导航信息。在操作期间,gps单元可以从绕地球的轨道运行的gps卫星接收信号。gps单元对这些信号进行分析以做出渡越时间和距离估计。gps单元可以确定移动装置的当前位置(当前地点)。基于这些估计,移动装置可以确定定位方位(locationfix)、海拔高度和/或当前速度。定位方位可以是地理坐标,诸如纬度和经度信息。

一个或多个处理器318运行存储在介质302中的各种软件组件以执行用于装置300的各种功能。在一些实施例中,软件组件包括操作系统322、通信模块(或指令集)324、定位模块(或指令集)326、音频回放应用选择模块328、以及其他应用(或指令集)334(诸如汽车定位器app和导航app)。

操作系统322可以是任何合适的操作系统,包括ios、macos、darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统(诸如vxworks)。操作系统可以包括各种过程、指令集、软件组件和/或用于控制和管理一般系统任务(例如,存储器管理、存储装置控制、电源管理等)的驱动器,并且有助于各种硬件和软件组件之间的通信。

通信模块324有助于与其他装置通过一个或多个外部端口336或者经由无线电路308的通信,并且包括用于处理从无线电路308和/或外部端口336接收的数据的各种软件组件。外部端口336(例如,usb、firewire、lightning连接器、60脚连接器等)适于直接地或者通过网络(例如,互联网、无线lan等)间接地耦合到其他装置。

定位/运动模块326可以帮助确定装置300的当前位置(例如,坐标或其他地理地点标识符)和运动。现代的定位系统包括基于卫星的定位系统(诸如全球定位系统(gps))、基于“小区id”的蜂窝网络定位、以及基于wi-fi网络的wi-fi定位技术。gps还依赖于多个卫星的可见性来确定位置估计,该位置估计在室内或者在“城市峡谷”中可能是不可见的(或者具有微弱的信号)。在一些实施例中,定位/运动模块326从gps单元348接收数据,并且对信号进行分析以确定移动装置的当前位置。在一些实施例中,定位/运动模块326可以使用wi-fi或蜂窝定位技术来确定当前地点。例如,可以使用附近的小区站点和/或wi-fi接入点的知识、还有它们的地点的知识来估计移动装置的地点。标识wi-fi或蜂窝发送器的信息在无线电路308处被接收,并且被传递给定位/运动模块326。在一些实施例中,定位模块接收一个或多个发送器id。在一些实施例中,可以将发送器id序列与将发送器id映射或关联到对应发送器的位置坐标的参考数据库(例如,小区id数据库、wi-fi参考数据库)进行比较,并且基于对应发送器的位置坐标来计算装置300的估计位置坐标。不管使用的特定定位技术如何,定位/运动模块326接收从其可以导出定位方位的信息,对该信息进行解译,并且返回地点信息,诸如地理坐标、纬度/经度或其他定位方位数据。

音频回放应用选择模块328可以执行以上针对实施例中的一个或多个讨论的操作或处理中的任何一个,以当装置300连接到音频输出系统(未示出)时智能地用信号通知音频回放的开始。

移动装置上的一个或多个应用334可以包括安装在装置300上的任何应用,包括但不限于浏览器、地址簿、联系人列表、电子邮件、即时消息传送、字处理、键盘仿真、窗口小部件、启用java的应用、加密、数字权限管理、语音识别、语音复制、音乐播放器(其回放存储在一个或多个文件(诸如mp3或aac文件)中的记录的音乐)等。

可以存在其他模块或指令集(未示出),诸如图形模块、时间模块等。例如,图形模块可以包括用于在显示器表面上渲染、动画绘制和显示图形对象(包括但不限于文本、网页、图标、数字图像、动画等)的各种常规的软件组件。在另一个例子中,定时器模块可以是软件定时器。定时器模块也可以用硬件实现。时间模块可以维护用于任何数量的事件的各种定时器。

i/o子系统306可以耦合到显示系统(未示出),显示系统可以是触敏(即,触摸屏)显示器。显示器在gui中向用户显示视觉输出。视觉输出可以包括文本、图形、视频以及它们的任何组合。视觉输出中的一些或全部可以对应于用户接口对象。显示器可以使用led(发光二极管)、lcd(液晶显示器)技术或lpd(发光聚合物显示器)技术,但是在其他实施例中可以使用其他显示技术。

在一些实施例中,i/o子系统306可以包括显示器和用户输入装置,诸如键盘、鼠标和/或跟踪板。在一些实施例中,i/o子系统306可以包括触敏显示器。触敏显示器也可以基于触觉和/或触感接触从用户接受输入。在一些实施例中,触敏显示器形成接受用户输入的触敏表面。触敏显示器/表面(连同任何相关联的模块和/或介质302中的指令集)在触敏显示器上的接触(以及接触的任何移动或释放)发生时检测该接触并且将检测到的接触转换为与显示在触摸屏幕上的用户接口对象(诸如一个或多个软键)的交互。在一些实施例中,触敏显示器和用户之间的接触点对应于用户的一个或多个手指。用户可以使用任何合适的对象或附加物(诸如触针、笔、手指头等)来与触敏显示器进行接触。触敏显示器表面可以使用任何合适的触摸敏感性技术(包括电容式、电阻式、红外和表面声波技术、以及其他接近传感器阵列或用于确定与触摸敏感显示器的一个或多个接触点的其他元件)来检测接触及其任何移动或释放。

此外,i/o子系统可以耦合到一个或多个其他的物理控制装置(未示出),诸如按钮、按键、开关、波动按钮、转盘、滑动开关、操纵杆、led等,这些物理控制装置用于控制或执行各种功能,诸如电源控制、扬声器音量控制、铃声响度、键盘输入、滚动、保持、菜单、屏幕锁、清除和结束通信等。在一些实施例中,除了触摸屏之外,装置300还可以包括用于启动或停用特定功能的触控板(未示出)。在一些实施例中,触控板是装置的与触摸屏不同的、不显示视觉输出的触敏区域。触控板可以是与触敏显示器分离的触敏表面或者由触敏显示器形成的触敏表面的延伸部分。

在一些实施例中,本文描述的操作中的一些或全部可以使用在用户的装置上执行的应用来执行。电路、逻辑模块、处理器和/或其他组件可以被配置为执行本文描述的各种操作。本领域技术人员将意识到,根据实现,这样的配置可以通过特定组件的设计、设置、互连和/或编程来实现,并且再次根据实现,配置的组件可以或者不可以针对不同的操作重新配置。例如,可编程处理器可以通过提供合适的可执行代码来配置;专用逻辑电路可以用适当连接逻辑门和其他电路元件来配置;等等。

本申请中描述的软件组件或功能中的任何一个可以被实现为将被处理器执行的软件代码,其中,该软件代码可以为任何合适的计算机语言,诸如,举例来说,java、c、c++、c#、obiective-c、swift、或使用常规的或面向对象的技术的脚本语言(诸如perl或python)。软件代码可以被作为一系列指令或命令存储在计算机可读介质上以供存储和/或传输。合适的非暂时性计算机可读介质可以包括随机存取存储器(ram)、只读存储器(rom)、磁性介质(诸如硬盘驱动器或软盘)、或光学介质(诸如紧凑盘(cd)或dvd(数字多功能盘))、闪存等。计算机可读介质可以是这样的存储或传输装置的任何组合。

实施例可以是一种制造品,在该制造品中,机器可读存储介质上存储将一个或多个数据处理组件(这里通称为“处理器”)编程为执行上述操作的指令。机器可读存储介质的例子包括只读存储器、随机存取存储器、cd-rom、dvd、磁带、光学数据存储装置以及载波。机器可读存储介质也可以分布在网络上以使得软件指令被以分布式的方式存储和执行。在其他实施例中,这些操作中的一些可以由包含硬连线逻辑的特定硬件组件执行。这些操作可替代地可以由编程的数据处理组件和固定硬连线电路组件的任何组合执行。

图4例示说明根据一些实施例的在便携式计算装置中对于与音频输出系统建立的连接的可用音频回放。如所示,便携式计算装置300连接到音频输出系统400(例如通过有线连接或无线连接)。便携式计算装置300存储多个音频回放应用410a-z。便携式计算装置300中的控制器/选择器组件420可以实现以上针对一个或多个实施例描述的操作和处理,以智能地选择当便携式计算装置300连接到音频输出系统400时调用哪个音频回放应用(例如,在音频回放应用410a-z之中)。一旦决策已经被做出,便携式计算装置300用信号通知音频输出系统400通过与音频输出系统400建立的连接开始来自选择的音频回放应用410的回放。

虽然已经描述了并且在附图中示出了某些实施例,但是要理解,这样的实施例仅仅例示说明广泛的发明,而非限制广泛的发明,并且本发明不限于所示出的和所描述的特定构造和布置,这是因为各种其他修改可以被本领域的普通技术人员想到。

以下为引入本申请的说明书的标题为“基于检测的触发事件的应用推荐”的引入文档a的全文。

引入文档a

基于检测的触发事件的应用推荐

基于检测的触发事件的应用推荐

相关申请的交叉引用

本申请与gauci等人的标题为“segmentationtechniquesforlearninguserpatternstosuggestapplicationsresponsivetoaneventonadevice”的共有美国专利申请(律师卷号90911-p26712us1-939087)有关,该共有美国专利申请的公开的全部内容出于所有目的通过引用并入本文。

背景技术

现代的移动装置(诸如,智能电话)可包含许多应用。每个应用可被设计为执行一种或多种特定功能。例如,应用可被设计为播放音乐或视频。随着现代移动装置越来越多地融入到现代生活中,移动装置中存储的应用的数量增加。现代移动电话具有数百个应用并不是罕见的。具有大量应用可允许移动装置对于用户尤其有用;但是,用户在所有可用的应用中找到并运行希望的应用可能会困难并且耗时。



技术实现要素:

实施例提供了用于基于触发事件推荐应用的改进的装置和方法。例如,一些事件可被装置检测到,并且被识别为触发事件。不同的触发事件可具有不同的预测模型,这样可允许更加准确的推荐。所选择的预测模型可使用上下文信息(例如,在事件被检测之前或之后被收集的)以识别用于呈现给用户以便更容易访问的应用,例如,允许在锁定屏幕上访问。

在一些实施例中,对于一个或多个输入装置监测触发事件。当触发事件被检测到时,可从一个或多个源(例如,已经获得上下文信息的装置的另一应用)收集上下文信息。上下文信息可与在触发事件发生时或者附近的装置的上下文有关,诸如位置或一天中的时间。一旦上下文信息被接收,然后历史信息可被从历史事件数据库收集。数据库可保持用户与装置之间的历史交互的记录。根据触发事件,上下文信息和历史信息可被用于为用户识别一个或多个应用的集合。然后,所识别的应用可通过以不同于所识别的应用通常被如何访问、何时访问或者何处访问(例如,在主屏幕上)的方式提供用户界面而被建议给用户,由此为用户提供了在希望时运行该应用的选项。

一些实施例针对与文中所述的方法相关联的系统、便携式消费器件、和计算机可读介质。

参照以下的详细描述和附图可更好地理解本发明的实施例的本质和优点。

附图说明

图1是根据本发明的实施例的用于基于触发事件识别应用的方法的流程图。

图2示出根据本发明的实施例的用于确定触发事件的系统的框图。

图3示出根据本发明的实施例的用于基于触发事件为用户识别应用的系统的框图。

图4示出根据本发明的实施例的用于通过多个预测模型识别应用的系统的框图。

图5是根据本发明的实施例的对于装置基于触发事件识别应用的方法的流程图。

图6是根据本发明的实施例的具有用于音乐应用的用户接口的装置的简化图。

图7a和7b是根据本发明的实施例的用于从用户接口去除被识别的应用的方法的流程图。

图8是根据本发明的实施例的示例性装置的框图。

术语

“用户接口”对应于用户与装置进行交互的任何接口。用于应用的用户接口可允许用户与该应用进行交互。在应用运行时用户接口可以是该应用的接口。作为另一示例,用于接口可以是提供减少的应用的集合以供用户从中选择,由此使得用户更容易使用该应用的系统接口。

“主屏幕”是当装置被第一次通电时出现的装置的屏幕。对于移动装置,主屏幕常常显示对应于可在装置上运行的各种应用的图标的排列。额外的屏幕可被访问以浏览没有在主屏幕上出现的其它应用。

“锁定屏幕”是当用户未被认证、因此装置对于大多数应用被锁定时被显示的屏幕。一些功能可被露出,例如照相机。在一些实施例中,如果对应于建议的应用的用户接口暴露于锁定屏幕上,与所建议的应用相关联的一些功能可被获得。例如,应用可运行。如果该应用被从锁定屏幕运行,则功能是受限的,并且受限的功能可在用户被认证时被扩展。

“上下文信息”总体上指的是可用于定义装置的上下文的任何数据。对于给定上下文的上下文信息可包括一个或多个上下文数据,每个上下文数据对应于装置的不同特性。可能的特性可属于不同的类别,诸如时间类别或位置类别。上下文数据被用作模型(或者子模型)的特征,用于训练模型的数据可包括同一类别的不同特性。特定上下文可对应于装置的特性的特定组合,或者仅对应于一个特性。

具体实施方式

当前的移动装置可在其固态驱动器上存储有许多应用。在一些情况中,移动装置可在其固态驱动器上存储数百个应用。当用户希望在其移动装置上运行应用时,他或她必须解锁该装置,搜索装置中的所有应用以识别希望的应用,然后开始执行该应用。经历寻找希望的应用的过程会非常耗时且冗长,对于比其它应用被更频繁地使用的应用而言尤其如此。

用户可对装置预先编程以当特定条件被满足时(例如,触发事件发生时)自动执行预定应用的指定动作。例如,装置可被编程以在触发事件发生时建议预定的应用。但是,这样的操作是静态的,并且需要用户进行配置。

不是自动建议预定应用,而是本发明的实施例可在触发事件发生时利用预测模型来建议在给定上下文中可能由用户运行的应用。对于相同的触发事件,不同的应用可对于不同的上下文被识别。作为示例,一个应用可在第一上下文被建议,而另一应用可在第二上下文中被建议。

识别用户可能使用的应用具有若干益处。用户接口可以合适的方式或者在合适的屏幕中被提供给用户,这样可节省时间并且使装置的操作流水线化。用户无需搜索大量的应用来识别要使用的应用。应用的用户接口可被以各种方式提供,该方式可依赖于用户将使用该应用的概率有多高。此外,如果特定动作具有高的被执行的概率,则预测模型可提供特定用户接口。因此,与仅仅提供更容易打开应用的机制相反,在一些实施例中,使用的概率越高,则可采取更加积极主动的动作,诸如通过对应的用户接口(例如,视觉或语音命令)自动打开应用。

i、应用预测

实施例可基于触发事件建议应用。例如,当耳机被插入耳机插孔时,音乐应用可被建议。在一些实施例中,上下文信息可与触发事件相结合地使用,以识别要建议给用户的应用。作为示例,当一组耳机被插入耳机插孔时,与位置相关联的上下文信息可被使用。如果装置在健身房中,例如,当耳机被插入耳机插孔时,应用a可被建议。作为替代,如果装置在家中,则在耳机被插入耳机插孔时,应用b可被建议。因此,可能在某些上下文中被使用的应用可在合适的时间被建议,从而提高了用户体验。

图1是根据本发明的实施例的基于触发事件建议应用的方法100的流程图。方法100可由移动装置(例如,电话、平板电脑)或者非移动装置执行,并且利用装置的一个或多个用户接口。

在块102,检测触发事件。不是所有在装置处发生的事件都是触发事件。触发事件可被标识为非常可能与装置的独特操作相关。作为触发事件的事件的列表可被存储在装置上。这样的事件可以是默认列表并且可被保持为操作系统的一部分,可以被或者可以不被用户配置。

触发事件可以是用户和/或外部装置引起的事件。例如,触发事件可以是辅助装置连接到移动装置。示例包括将耳机插入耳机插孔,进行蓝牙连接等。在此示例中,这些示例中的每一个可被归类为不同的触发事件,或者触发事件可总体上为任何辅助装置连接到移动装置。作为其它示例,触发事件可以是用户与装置的特定交互。例如,用户可能以与跑步相同的方式来移动移动装置,装置的跑步状态是触发事件。这样的跑步状态(或其它状态)可基于装置的传感器被确定。

在块104,与触发事件相关联的应用被识别。作为示例,音乐应用可在耳机插入耳机插孔时被识别。在一些实施例中,多于一个的应用可被识别。预测模型可识别相关联的应用,该预测模型可对于特定的触发事件被选择。预测模型可使用上下文信息来识别应用,例如,因为不同的应用更有可能在不同的上下文中被使用。一些实施例可仅在有足够高的被用户选择的概率(例如,从用户与该装置的历史交互确定)时才识别应用。各种预测模型可被使用。预测模型的示例包括神经网络、决策树、多标记逻辑回归以及它们的组合。

在块106,与该应用相关联地执行动作。在一个实施例中,该动作可以是提供用于用户接口以供用户选择来运行该应用。用户接口可被以各种方式提供,例如通过在装置的屏幕上显示,投影在表面上,或者提供音频接口。

在其它实施例中,应用可运行,并且该应用特定的用户接口可被提供给用户。任何用户接口可响应于识别应用被提供,例如在锁定屏幕上。在其它实现中,要与应用交互的用户接口可在用户被认证(例如,通过密码或生物辨识)之后被提供。当用户接口被显示时,这样的用户接口将比仅仅主屏幕更加明确,即,要运行的建议应用的列表比在主屏幕上的较小。用户接口可在触发事件被检测到之后立即在装置的显示器上显示。在其它实施例中,用户接口可在用户提供一些输入(例如,一个或多个点击手势)之后被显示,这样与没有应用被建议的情况相比用户输入(例如,点击的数量)仍然较少。

ii.事件启动预测

触发事件可以是触发要被提供给用户的一个或多个应用的识别的预定的事件集合。事件可通过使用装置组件生成的信号被检测。如何检测触发事件的另外的细节在下文被更详细地讨论。

图2示出了根据本发明的实施例的用于确定触发事件的检测系统200的简化框图。检测系统200可驻留在对于其确定触发事件的装置中。如图所示,检测系统200可检测多个不同的事件。所检测的事件中的一个或多个可由检测系统200确定为触发事件。其它处理模块可然后使用触发事件执行处理。

a.检测事件

在实施例中,检测系统200包括用于检测事件的硬件和软件组件。作为示例,检测系统200可包括多个输入装置,诸如输入装置202。输入装置202可以是能够响应于事件而产生信号的任何合适的装置。例如,输入装置202可包括可分别检测装置连接事件、用户交互事件、和位置事件的装置连接输入装置204、用户接口输入装置206、和位置输入装置208。当事件在输入装置处被检测到时,输入装置可发送指示特定事件的信号以便进一步分析。

在一些实施例中,组件的集合可对单个事件起作用。例如,基于运动传感器和gps位置装置,用户可被检测为正在跑步。

1、装置连接事件

装置连接事件可以是当其它装置与该装置连接时发生的事件。例如,装置连接输入装置204可以检测装置与该装置通信地耦合的事件。与外部装置形成有线或无线连接的任何合适的装置组件都可用作装置连接输入装置204。装置连接输入204的示例包括耳机插孔210和数据连接212,诸如无线连接电路(例如,蓝牙、wi-fi等)或者有线连接电路(诸如,以太网等)。

耳机插孔允许一组耳机耦接到装置。信号可在耳机耦接(例如通过插入耳机插孔210而产生电气连接)时被生成。在一些更复杂的实施例中,耳机插孔210可包括电路,该电路将识别耳机插孔的类型的标识信号提供给该装置。因此,该事件可被以各种方式检测,并且信号被以各种方式生成和/或传递。

数据连接212可与外部装置通信地(例如通过无线连接)耦接。例如,蓝牙连接可耦接到车辆的计算机、或者无线耳塞的计算机。因此,当外部装置经由数据连接212耦接到移动装置时,可确定外部装置连接,并且可生成对应的装置连接事件信号。

2、用户交互事件

用户交互输入装置206可被用于检测用户交互事件。用户交互事件可在用户与装置交互时发生。在一些实施例中,用户可经由用户交互输入装置206之一直接激活所显示的用户接口。在其它实施例中,用户接口可能未被显示,但是用户仍可访问,例如经由用户摇动该装置或者提供一些其它类型的手势。此外,交互可能不包括用户接口,例如当状态引擎使用来自装置的传感器的值时。

用户接口的任何合适的装置组件可用作用户交互输入装置206。合适的用户交互输入装置的示例是按钮214(例如,主按钮或者电源按钮)、触摸屏216和加速度器218。例如,移动装置的按钮214(诸如,主按钮、电源按钮、音量按钮等)可以是用户交互输入装置204。另外,诸如静音开关的开关可以是用户交互输入装置204。当用户与装置交互时,可确定用户已经提供用户输入,并且对应的用户交互事件可被生成。这样的事件可依赖于装置的当前状态,例如装置在早上(或者其它的长期未激活时段)第一次开机或者被激活时。这样的信息还可在确定事件是否是触发事件时被使用。

触摸屏216可允许用户经由显示屏幕提供用户输入。例如,用户可将他或她的手指滑过显示器以生成用户输入信号。当用户执行该动作时,对应的用户交互事件可被检测到。

加速度器218或者其它运动传感器可以是(例如,使用陀螺仪等)检测移动装置的诸如摇动和倾斜的运动的无源组件。移动装置的这样的运动可被事件管理器230检测到,该事件管理器230可确定运动是特定类型的。事件管理器230可生成在装置的给定状态对应于特定类型的用户输入事件的事件信号232。装置的状态可由状态引擎确定,进一步的细节可从标题为“activitydetection”的美国专利公布第2012/0310587号以及标题为“determiningexitfromavehicle”的美国专利公布第2015/0050923号中找到,这两个美国专利公布的公开的全部内容通过引用被并入此。

一个示例是用户正在跑步,加速度器可感测到摇动,并且生成要被提供给事件管理器230的信号。事件管理器230可分析加速度器信号以确定事件类型。一旦事件类型被确定,则时间管理器230可生成对应于该事件类型的事件信号232。移动装置可被以指示用户正在跑步的方式来移动。因此,此特定用户交互可被识别为跑步事件。事件管理器230可然后生成并发生指示跑步事件已经被检测到的事件信号232。

3、位置事件

位置输入装置208可被用于生成位置事件。任何合适的定位系统可被用于生成位置事件。例如,全球定位系统(gps)可被用于生成位置事件。位置事件可以是与特定地理位置对应的事件。例如,如果移动装置到达特定位置,则gps组件可生成与位置事件对应的输入信号。典型地,移动装置可每天移动到数十甚至数百个位置,这些位置中的许多位置可能不会重要到被认为是位置事件。因此,不是每个检测到的位置将是位置事件。在实施例中,位置事件可以是比其它位置更频繁的位置。例如,如果其在一段时间中频繁地出现至少阈值次数(例如6个月到1年的跨度中5次),则事件可是位置事件。因此,重要的位置可与不重要的位置分离,并且被确定为是位置事件。

b.确定触发事件

如在图2中进一步示出的,输入装置202可输出检测的事件222,例如作为任何对应事件的结果。检测的事件可包括关于哪个输入装置正发送用于检测的事件222的信号的信息,特定事件的子类型(例如,哪种耳机或者哪种数据连接)。这样的信息可被用于确定检测的事件222是否是触发事件,并且可被传递到后面的模块以用于确定对于建议的应用将使用哪种预测模型或者将执行什么动作。

检测的事件222可由事件管理器230接收。事件管理器230可接收来自输入装置202的信号,并且确定哪种类型的事件被检测到。依赖于事件的类型,事件管理器230可输出信号(例如,事件信号232)至不同的引擎。不同的引擎可以订阅事件管理器230以接收对于它们的功能重要的特定的事件信号232。例如,触发事件引擎224可同意接收响应于来自输入装置202的检测的事件222而生成的事件信号232。事件信号232可对应于从检测的事件222确定的事件的类型。

触发事件引擎224可被配置为确定所检测的事件222是否是触发事件。为了进行此确定,触发事件引擎224可参考指定触发事件数据库226,该数据库可耦接到触发事件引擎224。指定触发事件数据库226可包括被指定为触发事件的预定事件的列表。

触发事件引擎224可将接收的检测的事件222与预定事件列表相比较,并且如果检测的事件222与指定触发事件数据库226中列出的预定事件相匹配,则输出触发事件228。预定事件的列表的示例可包括以下中的任一个:(1)将耳机插入耳机插孔,(2)经由蓝牙连接与外部装置连接,(3)在经过了一段时间之后(例如,在早晨醒来时)按下按钮,(4)感测到装置的某种类型的移动,(5)到达某一位置。对于(5),指定触发事件数据库226可包括某一位置的规定。

如文中所描述的,本发明的技术的一个方面是收集并使用可从各种源得到的数据以向用户建议应用。本公开构想在一些情况中,此被收集的数据可包括个人信息数据,该个人信息数据唯一地标识或者可被用于联系或者定位特定人。这样的个人信息数据可包括基于位置的数据、家庭地址、或者任何其它标识信息。

本公开认识到,在本技术中,这样的个人信息数据的使用可对于用户有利地被使用。例如,个人信息数据可用于建议用户非常感兴趣的应用。因此,这样的个人信息数据的使用使得能够对发送的内容进行计算控制。此外,本公开还可构想到对于用户有益的个人信息数据的其它使用。

本公开进一步构想到,负责这样的个人信息数据的收集、分析、公开、传递、存储或者其它使用的实体将遵从良好制定的隐私策略和/或隐私实践。特别地,这样的实体应该实现并且一贯地使用通常被认为满足甚至超出维护个人信息数据隐私和安全的行业或政府需求的隐私策略和实践。例如,来自用户的个人信息应对于该实体的合法和合理使用被收集,而不应在这些合法使用之外被共享或销售。此外,这样的收集仅应在接收到用户的知情同意之后才能进行。另外,这样的实体将采取任何必需的步骤来保护和保卫这样的个人信息数据的访问,并且确保其他对于个人信息数据的访问遵从它们的隐私策略和过程。此外,这样的实体本身可经受第三方的评估以确认它们遵从广泛接受的隐私策略和实践。

尽管前文所述内容,但是本公开还构想了如下这样的实施例,其中用户选择性地阻止对个人信息数据的使用或访问。即,本公开构想了硬件和/或软件元件可被提供以防止或者阻止对于这样的个人信息数据的访问。例如,用户可选择不对于作为目标的内容输送服务提供位置信息。在还另一示例中,用户可选择不提供精确的位置信息,而允许传递位置区域信息。

iii.建议应用确定

一旦检测到触发事件,则可基于触发事件来识别应用。在一些实施例中,应用的识别不是预先编程的行为。相反,应用的识别可以是动态行为,其可根据额外的信息而改变。例如,建议应用的识别可基于上下文信息和/或历史信息、以及还基于其它信息被确定。

a.基于触发事件确定应用的系统

图3示出了根据本发明的实施例的用于基于触发事件和上下文信息识别应用和对应的动作命令的预测系统300的简化框图。预测系统300驻留在识别应用的装置中。预测系统300可包括硬件和软件组件。

预测系统300包括用于识别建议的应用的预测引擎302。预测引擎302可接收触发事件,诸如图2中讨论的触发事件228。预测引擎302可使用从触发事件228收集的信息,来识别建议的应用304。如图所示,除了触发事件228之外,预测引擎302还可接收上下文数据306。预测引擎302可使用从触发事件228以及上下文信息306收集的信息来识别建议的应用304。预测引擎302还可确定要被执行的动作,例如用户接口如何以及何时被提供给用户以与建议的应用进行交互。

在一些实施例中,建议的应用304可以是移动装置的固态驱动器上存在的任何应用。预测引擎302因此可具有在检测到触发事件时建议任何应用的能力。作为替代,在一些实施例中,预测引擎302可具有在检测到触发事件时建议少于全部的应用的能力。例如,用户可选择预测引擎302不可访问的一些应用。因此,当触发事件被检测到时,预测引擎302将不能建议那些应用。

1、上下文信息

上下文信息可被从上下文数据306收集。在实施例中,上下文信息可在任何时间被接收到。例如,上下文信息可在触发事件228被检测到之前和/或之后被接收到。另外,上下文信息可在触发事件228的检测期间被接收到。上下文信息可指定对于某一上下文的装置的一个或多个特性。上下文可以是在触发事件228被检测到时装置的周围环境(上下文类型)。例如,上下文信息可以是触发事件228被检测到时的一天中的时间。在另一示例中,上下文信息可以是在触发事件228被检测到时的装置的某一位置。在还另一示例中,上下文信息可以是触发事件228被检测到时的一年中的哪一天。另外,上下文信息可以是从日历收集的数据。例如,当前时间和事件时间之间的时间量(例如,天数或小时数)。这样的上下文信息可提供关于装置的上下文的更有意义的信息,使得预测引擎302可准确地建议在该上下文中可能被用户使用的应用。因此,与不利用上下文信息相比,利用上下文信息的预测引擎302可更准确地向用户建议应用。

上下文数据306可被上下文源308生成。上下文源308可以是提供与移动装置的当前状况有关的数据的移动装置的组件。例如,上下文源308可以是硬件装置和/或软件代码,其作为内部数字时钟310、gps装置312和日历314操作,以便分别提供与一天中的时间、装置的位置以及一年中的哪一天有关的信息。其它上下文源可被使用。

为预测引擎302收集上下文数据306可被以功率高效的方式执行。例如,连续地轮询gps312来确定装置的位置可能是非常功率密集的,这样会降低电池寿命。为了避免电池寿命降低,预测引擎302可通过从除gps312之外的源请求装置的位置来确定装置的位置。位置信息的另一源可以是最近已经轮询gps312以获得装置位置的应用。例如,如果应用a是最近的已经轮询gps312以获得装置位置应用,则预测引擎302可从应用a请求和接收位置数据,而不是单独地轮询gps312。

2、历史信息

除了上下文源308之外,在一些实施例中,历史事件数据库316还可被预测引擎302利用。历史事件数据库316可包括在触发事件被检测到之后用户与移动装置之间的先前交互的历史信息。

历史事件数据库316可保持在某一触发事件之后应用被打开的次数的记录。例如,数据库316可保持指示在耳机插入耳机插孔之后10次中有8次用户打开应用a的记录。因此,预测引擎302可接收此信息作为历史数据318来确定在一组耳机插入耳机插孔时应用a是否应被对于用户被识别。

历史事件数据库316还可保持在触发事件被检测到时在不同的上下文中应用被打开的次数的记录。例如,数据库316可保持如下记录,该记录指示当用户在家时在耳机插入耳机插孔之后10次中有9次用户打开应用a,而当用户在健身房时10次中有1次用户打开应用a.因此,预测引擎302可接收此信息作为历史数据318,并且确定当在家中、而不是在健身房中,耳机插入耳机插孔时应用a应被识别。应理解,尽管这里讨论的示例涉及位置,如“家”或“健身房”,但是代表“家”或“健身房”的上下文数据306可以是为数字坐标的形式。本领域技术人员理解,作为位置的替代,与一天中的时间以及一年中的哪一天有关的信息可被以相似的方式利用以识别其它应用。

历史事件数据库316还可保持用户有多频繁地以及在何种情况下决定不运行所识别的应用的记录。例如,数据库316可保持如下记录,即该记录指示当在家中用户将耳机插入装置时应用b被建议给用户时,10次中有2次用户不选择应用b。因此,预测引擎302可接收此信息作为历史数据318以调整当用户在家中将耳机插入装置时建议应用b的概率。

在一些实施例中,当触发事件被检测到时,上下文信息306和/或历史信息(文中进一步讨论)可能不可用或者受到限制。在这样的情况中,当触发事件被检测到时,默认应用可被建议。默认应用可以是通常与触发事件的类型相关联的一种应用。例如,如果一组耳机被插入耳机插孔,则可建议音乐应用。作为替代,当与汽车进行蓝牙连接时,可建议地图应用。一旦获得更多的历史信息,则可提供建议的应用,而不是默认应用。

b.多预测模型

由于不同的触发事件可能导致不同的建议应用,实施例可对于不同的触发事件使用不同的预测模型。这样,预测模型可被细化以对于特定的触发事件提供更准确的建议。

图4更详细地示出了根据本发明的实施例的预测引擎302。预测引擎302可以是存储在存储装置上的程序代码。在实施例中,预测引擎302包括一个或多个预测模型。例如,预测引擎302可包括预测模型1到n。每个预测模型可以是被具体设计以对于特定触发事件228识别应用的一段代码和/或数据。例如,预测模型1可被具体设计以对于一组耳机插入耳机插孔的触发事件识别应用。预测模型2可被涉及以对于连接蓝牙装置的触发事件识别应用。

预测模型3可被设计以对于在长时间段之后用户与装置的用户接口进行交互(例如,在用户早晨醒来时第一次与移动装置进行交互时)的触发事件识别应用。其它预测模型可被设计以对于与某一模式的检测运动(例如,当用户与移动装置一起跑步时)、到达特定位置、以及选择特定应用(例如,选择与汽车的计算机通信的应用)相关联的触发事件,识别应用。依赖于触发事件228的数量,任何数量的预测模型可被包含在预测引擎302中。

如图所示,预测模型1到n中的每个可耦接到上下文源和历史事件数据库以接收上下文数据306和历史数据318。因此,根据文中所讨论的实施例,每个预测模型可利用上下文数据306和历史数据318来识别建议应用304。

返回图3,预测引擎302可将建议应用304发送到专家中心模块320。在实施例中,事件管理器320可以是管理在装置上(例如在锁定屏幕上)显示什么、搜索屏幕何时打开或者其它屏幕的一段代码。例如,专家中心320可调整什么信息被显示给用户,例如建议应用、建议联系或者其它信息。专家中心320还可确定何时将这样的信息提供给用户。

iv.用户接口

如果事件管理器320确定是适宜的时间将建议的应用输出给用户,则事件管理器320可将应用322输出到用户接口324。在实施例中,输出应用322可对应于建议的应用304。用户接口324可将输出应用322传递给用户,并且请求用户关于输出应用322的响应。

在实施例中,用户接口324可以是用户可与其进行交互的装置组件的组合。例如,用户接口324可以是能够向用户输出信息和/或允许用户向装置输入信号的装置组件的组合。

a.显示器

用户接口324可以被显示在装置的显示器上。显示器可对于触摸是灵敏的,从而可通过与显示器的物理交互而生成输入信号。在这样的实施例中,显示器可包括叠置在图像显示层上的触敏层,以检测用户对于显示器的触摸。因此,显示器可以是可向用户输出信息和输入来自用户的信息的用户接口324的一部分。作为示例,显示器可示出建议的应用的图像,并且当用户轻击显示面板的对应位置时输入信号以运行该应用。

现代装置具有防止装置的未被授权的使用的安全措施。这样的装置在用户可访问装置上存储的所有应用之前可需要用户解锁装置。装置可根据装置安全状态限制所有应用的可访问性。例如,在装置允许访问所有其应用之前,装置可能需要用户解锁装置。解锁后的装置可具有示出主屏幕的显示器。主屏幕可显示和/或提供对于装置的所有应用的访问。但是,锁定的装置可具有示出锁定屏幕的显示器。显示器的一些区域可被解锁装置的提示占据。因此,由于提高的装置安全状态以及受限的显示空间,锁定屏幕可允许与比主屏幕较少的应用交互。例如,锁定屏幕可仅允许访问比装置的所有应用少的应用,诸如一个到三个应用。在一些实施例中,文中关于图3讨论的建议的应用304可以显示在锁定屏幕上。

b.其它输入和输出装置组件

尽管显示器可能是能够向用户输出信息以及输入来自用户的信息的用户接口324的一部分,但是,用户接口324的其它部分并不因此受限。例如,在文中的实施例中还可构想可输入来自用户的信息的其它装置组件。作为示例,按钮和开关可以是用户接口324的一部分。按钮可以是当用户在按钮上施加压力时生成输入的装置组件。开关可以是当用户使杆翻转到另一位置时生成输入的装置组件。因此,根据文中论述的实施例,按钮和/或开关可被用户致动以运行建议的应用304。

在文中的实施例中还可构想可输出来自用户的信息的装置组件。作为示例,扬声器或触觉装置可以是向用户输出信息的用户接口的一部分。扬声器可输出音频通知以指示被识别的应用已被建议。触觉装置可输出触觉通知以指示被识别的应用已被建议。应理解,这样的装置仅是实施例,其它实施例并不局限于这样的装置。

c.交互层级

用户接口324可需要不同的交互层级以便用户运行输出应用322。各种层级可对应于用户将运行建议的应用304的概率程度。例如,如果预测引擎302确定建议的应用304被用户运行的概率高于阈值概率,则用户接口324可输出提示,允许用户通过跳过中间步骤更快地运行该应用。

作为示例,如果预测引擎302确定用户运行建议的音乐应用的概率大于高阈值概率,则建议的音乐应用可被自动运行,并且用户接口324因此显示用于该音乐应用的控件,例如播放、暂停以及快进/快退。因此,用户无需执行点击运行音乐应用的中间步骤。

作为替代,如果预测引擎302确定用户运行音乐应用的概率小于该高阈值概率但是仍高于低阈值概率,则音乐应用可被显示为图标。低阈值概率可高于基准阈值概率。基准阈值概率可建立对应应用将被建议的最小概率。因此,用户必须执行额外的点击图标以运行该建议的音乐应用的步骤。但是,点击次数仍可少于在不向用户建议应用时所需要的点击次数。在实施例中,阈值概率可根据应用类型改变。在各种实施例中,高阈值概率可在75%到100%之间,低阈值概率可在50%到75%之间,而基准阈值可在25%到50%之间。在特定实施例中,高阈值概率为75%,低阈值概率为50%,而基准概率为25%。

在实施例中,越高的概率可导致更加积极主动的应用建议。例如,如果应用具有约90%的高概率,则预测引擎302可在装置的锁定屏幕上提供图标以允许用户通过一次点击该图标来访问该应用。如果应用具有约95%的甚至更高的概率,则预测引擎302甚至可为用户自动运行所建议的应用,而无需用户进行任何点击。在这样的情况中,预测引擎302可不仅输出建议的应用,而且还输出该应用特定的命令,诸如在音乐应用中播放所选择的音乐的命令,或者在地图应用中开始特定路线的引导的命令。

根据本发明的实施例。预测引擎302可确定需要哪种层级的交互,然后将该信息输出至事件管理器320。事件管理器320然后可将此信息发送至用户接口324以输出给用户。

在实施例中,用户接口324可在显示屏幕上向用户显示通知。通知可通过例如推送通知被发送。通知可以是视觉通知,包括向用户告知建议的应用的图片和/或文字。通知可向用户建议应用以便用户有空时选择和运行。当被选择时,应用可运行。在一些实施例中,对于更加积极主动的预测,通知还可包括建议的应用中的建议的动作。即,通知可将建议的应用以及建议的应用中的建议的动作告知用户。因而,用户可被给予运行建议的应用或者执行建议的应用中的建议的动作的选项。作为示例,通知可告知用户建议的应用是音乐应用,建议的动作是在音乐应用中播放特定歌曲。用户可指示他或她将通过点击示出建议的歌曲的图标来播放歌曲。作为替代,用户可指示他或她将通过在屏幕上滑动该通知来运行该应用以播放另一首歌曲。

不同于在一个通知中将建议的应用和建议的动作输出给用户接口324,预测引擎302可在一个通知中向用户接口324输出两个建议的动作。例如,预测引擎302可输出播放第一首歌曲的建议动作,和播放第二首歌曲的第二建议动作。用户可通过点击通知中的相应图标来选择要播放哪首歌曲。在实施例中,建议的动作可基于不同的准则被确定。例如,一个建议的动作可能是不管上下文信息如何都播放被最近播放的歌曲,而另一个建议的动作可能是播放在相同或者相似的上下文信息下最后播放的歌曲。作为示例,对于如下情况,即用户进入他或她的汽车并且触发事件使得预测引擎302建议与播放某一歌曲有关的两个动作,歌曲a可以是在家中最后播放的歌曲,歌曲b可以是当用户在汽车中时最后播放的歌曲。当用户选择要被播放的歌曲时,歌曲可从开头继续播放,或者从上次停止的地方(例如,在歌曲中部)继续播放。

为了预测引擎302能够建议动作,预测引擎302可访问存储关于装置的活动状态的信息的存储装置。装置的活动状态可表示在选择建议的应用之后执行的动作。例如,音乐应用的活动状态可以是播放某一歌曲。活动状态可跟踪何时歌曲被最后停止。在实施例中,图3的历史数据库316可记录与装置的活动状态有关的历史数据。因此,预测引擎302可建议要由建议的应用运行的动作。

v.确定建议应用的方法

图5是示出根据本发明的实施例的基于触发事件识别应用的方法500的流程图。方法500可完全或者部分地由该装置执行。作为各种示例,该装置可以是电话、平板电脑、膝上型电脑、或者文中已经讨论的其它移动装置。

在块502,装置(例如,移动装置)检测事件。例如,一组耳机可插入装置的耳机插孔。作为另一示例,无线耳机可经由蓝牙连接耦接到装置。图2中的输入装置202可被用于检测事件。事件可以是移动装置与诸如外部装置或用户的外部实体交互的任何动作。

在块504,装置确定所检测的事件是否是触发事件。为了确定所检测的事件是否是触发事件,所检测的事件可与预定事件列表(例如,图2中的指定触发事件数据库226中的事件列表)相比较。如果所检测的事件匹配预定事件列表中的一个事件,则所检测的事件可被确定为触发事件。

在块506,装置选择预测模型,例如图4中的预测模型1到n之一。所选择的预测模型可依赖于触发事件。例如,当触发事件涉及与外部装置建立蓝牙连接时,可选择为蓝牙连接设计的预测模型。作为另一示例,当触发事件涉及将一组耳机插入耳机插孔时,可选择为耳机连接设计的预测模型。

在块508,装置接收上下文信息。上下文信息可被从多个源(例如,图3中的上下文源308)接收。在实施例中,上下文信息可涉及装置的周围状况。例如,上下文信息可涉及一天中的时间、一年中的哪一天、或者装置的位置。另外,装置也可接收历史信息。历史信息可涉及存储于数据库(例如,历史事件数据库316)中的装置与用户之间的交互的历史。

在块510,装置可识别至少具有被用户访问的阈值概率的一个或多个应用。如文中已经提及的,可存在多个阈值。在一些实施例中,阈值概率可以是基准阈值概率、低阈值概率或者高阈值概率。例如,一个或多个应用均具有大于该阈值概率的概率。在另一示例中,一个或多个应用可具有大于该阈值概率的组合概率。该一个或多个应用可以是具有顶部概率的应用,并且可针对各种标准被选择(例如,所有都具有大于阈值的概率,因为许多应用需要超过阈值但是受限于最大数,等等)。在一些实施例中,具有低于基准阈值概率的概率的应用可被忽略。

用户访问的概率可通过预测模型被确定。预测模型可通过利用上下文信息以及历史信息来确定概率。在实施例中,所识别的应用是文中相对于图3和4论述的应用。

在一些实施例中,如果应用具有相等的概率,则它们可被忽略,即不被识别。在这些状况下,装置可能需要生成额外的历史信息来合适地识别该一个或多个应用。随着收集越多的历史信息,装置变得更准确地识别正确的应用,例如在给定上下文中希望被用户访问的应用。在其它实施例中,两个应用都可被提供,例如如果它们的组合概率足够高,这在两个应用具有最高的两个概率的情况下会发生。

在块512,装置可向用户提供用户接口。例如,装置可经由接口向用户显示被识别的应用,用户可与该接口进行交互以指示用户是否想要访问被识别的应用。例如,用户接口可包括触敏显示器,该触敏显示器向用户示出被识别的应用中的一个或多个,并且允许用户通过与触敏显示器交互而访问被识别的应用中的该一个或多个。

在一些实施例中,用户接口可在锁定屏幕中被提供,或者在主屏幕中被提供。主屏幕可以是在解锁状态下按压主按钮之后而显示的屏幕。锁定屏幕可以是在长时间的不活动之后按压主按钮以唤醒装置之后显示的屏幕。在实施例中,锁定屏幕具有比主屏幕少的可用于显示应用的显示空间,因为锁定屏幕的一部分被保留用于装置解锁。在一些实施例中,用户接口可与已经运行的应用相关联。作为示例,用户接口可以是具有与运行的音乐应用相关联的音乐控件的音乐播放器接口,如图6所示。

图6示出了与已经运行的应用相关联的装置602的示例性用户接口600。用户接口600可以是音乐应用的用户接口,但是文中还可想到不同应用的其它用户接口。用户接口600可由触屏显示器604提供。触屏显示器604可显示音频控件608、音量控件610、歌曲标题612、和/或专辑封面614。音频控件608可提供用于快进、倒回、播放和暂停歌曲的用户接口。音量控件610允许用户调整输出声音的音量。歌曲标题612和专辑封面614可显示关于正在播放的歌曲的信息。在实施例中,当用户接口600由触屏显示器604显示时,装置的602的背光可被照亮。背光的照亮允许用户看到运行的应用,并且注意到装置602运行建议的应用。通过自动运行音乐应用并且向用户提供用户接口600,装置602可通过允许用户访问他或她希望的应用而无需点击一个或多个图标,提高了用户体验。

用户接口600的部分可在一些情况下被隐藏。例如,如果装置602的专家中心(例如,图3中的专家中心320)判定另一应用的优先级高于所建议的应用,专辑封面614可被隐藏,并且另一应用可作为替代被显示。另一应用可被显示为显示器604上的用于运行该另一应用的可访问图标。在其它实施例中,另一应用可被显示为通知,当用户点击该通知时允许访问另一应用的图标。在这样的情况中,通知将替代专辑封面614被显示。在实施例中,如果用户接口被显示在锁定屏幕上,则通知可也可被显示在锁定屏幕上。因此,可使得用户注意到并且有机会运行被认为具有更高优先级的应用。

vi.运行应用的时间限制

在实施例中,如果所识别的应用在一段时间内未被访问,则装置可去除用户接口,就好像起初没有提供用户接口一样。如果用户在一段时间内不访问该应用,则认为用户对于访问该应用不感兴趣。因此,用户接口被去除,使得用户不能访问所识别的应用,并且用户不会分心。

图7a和7b是示出根据实施例的用于去除用户接口的方法的流程图。具体而言,图7a是示出了在经过了一段时间之后去除用户接口的方法700的流程图。图7b是在阈值时间段内触发事件已经被去除之后去除用户接口的方法703的流程图。方法700和703可完全或者部分地由装置执行。

参照图7a,方法700通过在块701向用户提供用户接口开始。块701可如文中参照图5论述的块512处提及的那样执行。

在块702,装置确定自用户接口被首次提供给用户以来是否已经经过了阈值时间段。用户接口可在锁定屏幕或者主屏幕中被提供给用户。在实施例中,阈值时间段表示在将用户接口提供给用户之后马上开始的预定时间段,其中用户没有与装置交互。

阈值时间段可依赖于触发事件的类型而改变。例如,如果触发事件是一种涉及直接用户交互的事件(例如,预期导致事件的用户的认知行为),则阈值时间段可相对短,例如15到30秒。这样的触发事件的例子包括将一组耳机插入耳机插孔。另一个示例包括通过在长时间段之后按压按钮来唤醒装置。阈值时段可相对短,因为可假定用户正与电话直接交互,并且可立即注意到输出的被识别的应用。由于用户立即注意到被识别的应用,因此被识别的应用未被访问的短时间段的过去表明用户不打算访问被识别的应用。

作为替代,如果触发事件是一种不涉及直接用户交互的事件,则阈值时段可比用于涉及直接用户交互的触发事件的阈值时段长。在实施例中,用于不涉及直接用户交互的触发事件的阈值时段可相对长,例如15到30分钟。一个这样的示例包括到达位置。当装置到达特定位置时,假定用户在旅行并且没有关注装置。用户可能不会马上注意到被输出的被识别的应用。因此,在用户检查装置并且注意到被识别的应用之前,会经过较长的时间。

在块704,如果经过了阈值时间段,则用户接口可被去除,从而用户可能根本不会认识到被建议了应用。但是,如果阈值段还没有经过,则在块706,装置确定用户是否想要访问该应用。用户可经由用户接口以任何形式的用户输入来指示他或她想要访问应用,例如通过与触敏屏交互、按下按钮、翻转开关或者使用生物识别装置。

如果确定用户还没有指示他或她想要访问应用,则装置可在块701继续向用户提供用户接口。但是,如果装置接收到用户想要访问应用的指示,则在块708,装置可运行该应用。因此,装置可通过提供到所希望的应用的快捷方式来节省用户的时间,从而增强用户体验。

在一些实施例中,用户接口可在阈值时间的持续期之前被去除。如图7b所示,在块710,装置确定触发事件是否已经被去除,例如是否已经检测到与触发事件相反的事件。例如,如果触发事件是将一组耳机插入耳机插孔,则触发事件的去除是从耳机插孔拔出该组耳机。在另一示例中,如果触发事件是建立蓝牙连接,则触发事件的去除是断开蓝牙连接。触发事件的去除可被装置解释为指的是用户不打算访问建议的应用。因此,如果触发事件被去除,则用户接口可在块704被去除,例如应用可被清除,并且用于该应用的任何用户接口可被隐藏。

vii.训练例程

由于在移动装置的使用期间累积了历史信息,预测模型(例如,图4中讨论的预测模型1到n)可在考虑到新历史信息的情况下被定期训练(即,更新)。在训练之后,预测模型1到n可根据用户和移动装置之间的最新交互模式更准确地建议应用和动作。当大量的历史信息已被记录时,训练预测模型1到n可最有效。因此,训练可被以足够长的时间间隔进行,以允许移动装置检测与用户的大量交互。但是,训练之间等待过长时间会妨碍预测引擎的适应性。因此,训练之前的合适的时间段可在15到20小时之间,比如18小时。

训练预测模型1到n会花费时间,并且可能干扰与移动装置的使用。因此,训练可在用户最不可能使用装置时发生。一种预测用户将不使用装置的方式是在装置不被使用时(例如当没有按钮按下时以及当装置不移动时)等待一段时间。这可指的是用户处于用户将在不久的将来的一段时间内不与电话交互的状态,例如用户睡觉时。对于等待时间段可使用任何合适的持续时间,例如1到3个小时。在特定实施例中,等待时间段为2个小时。

在两个小时结束时,预测模型1到n可被更新。但是,如果在两个小时结束之前用户与移动装置交互(例如,按下按钮或者移动装置),这两个小时的时间段倒计时会重新开始。如果在达到不活动两个小时之前时间段总是重新开始,则移动装置可在绝对时间段之后强制训练预测模型1到n。在实施例中,绝对时间段可被确定为如下的阈值时间段,在该阈值时间段用户的手机友好性由于过期的预测模型而开始衰退。绝对时间段可在10到15小时之间,或者在特定实施例中为12小时。因此,训练之间的最大时间量可以在28小时(18+10小时)到33小时(18+15小时)之间。在特定实施例中,最大时间量为30小时(18+12小时)。

viii.示例

图8是示例性装置800的框图,该装置可以是移动装置。装置800大体上包括计算机可读介质802、处理系统804、输入/输出(i/o)子系统806、无线电路808以及音频电路810,音频电路810包括扬声器850和麦克风852。这些组件可以由一个或多个通信总线或信号线803耦合。装置800可以是任何便携式电子装置,包括手持计算机、平板计算机、移动电话、膝上型计算机、平板装置、媒体播放器、个人数字助理(pda)、密钥环、汽车钥匙、接入卡、多功能装置、便携式游戏装置、汽车显示单元或包括这些物品中的两个或更多个的组合的类似装置。

应当显而易见的是,图7中所示的架构仅仅是装置800的架构的一个例子,装置800可以具有比所示的组件更多或更少的组件、或组件的不同配置。图7中所示的各种组件可以用硬件、软件或硬件和软件的组合(包括一个或多个信号处理和/或应用特定集成电路)来实现。

无线电路808用于通过无线链路或网络将信息发送到一个或多个其他装置的常规电路并且接收信息,所述常规电路诸如天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片组、存储器等。无线电路808可以使用各种协议,例如,如本文描述的协议。

无线电路808经由外设接口816耦合到处理系统804。接口816可以包括用于建立并且保持外设和处理系统804之间的通信的常规组件。无线电路808(例如,在言语识别或语音命令应用中)接收的语音和数据信息经由外设接口816被发送到一个或多个处理器818。一个或多个处理器818可配置为处理用于存储在介质802上的一个或多个应用程序834的各种数据格式。

外设接口816将装置的输入和输出外设耦合到处理器818和计算机可读介质802。一个或多个处理器818经由控制器820与计算机可读介质802进行通信。计算机可读介质802可以是可以存储供一个或多个处理器818使用的代码和/或数据的任何装置或介质。介质802可以包括存储器层次体系,包括高速缓存、主存储器和二级存储器。

装置800还包括用于给各种硬件组件供电的电源系统842。电源系统842可以包括电源管理系统、一个或多个电源(例如,电池、交流(ac))、再充电系统、电源故障检测电路、电源转换器或逆变器、电力状态指示器(例如,发光二极管(led))、以及典型地与移动装置中的电力的产生、管理和分配相关联的任何其他的组件。

在一些实施例中,装置800包括照相机844。在一些实施例中,装置800包括传感器846。传感器可以包括加速度计、指南针、陀螺仪、压力传感器、音频传感器、光传感器、气压表等。传感器846可以用于感测地点方面,诸如地点的听觉或光签名。

在一些实施例中,装置800可以包括gps接收器,有时被称为gps单元848。移动装置可以使用卫星导航系统(诸如全球定位系统(gps))来获得位置信息、时序信息、海拔高度或其他导航信息。在操作期间,gps单元可以从绕地球的轨道运行的gps卫星接收信号。gps单元对这些信号进行分析以做出渡越时间和距离估计。gps单元可以确定移动装置的当前位置(当前地点)。基于这些估计,移动装置可以确定定位方位(locationfix)、海拔高度和/或当前速度。定位方位可以是地理坐标,诸如纬度和经度信息。

一个或多个处理器818运行存储在介质802中的各种软件组件以执行用于装置800的各种功能。在一些实施例中,软件组件包括操作系统822、通信模块(或指令集)824、定位模块(或指令集)826、音频回放应用选择模块828、以及其他应用(或指令集)834(诸如汽车定位器app和导航app)。

操作系统822可以是任何合适的操作系统,包括ios、macos、darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统(诸如vxworks)。操作系统可以包括各种过程、指令集、软件组件和/或用于控制和管理一般系统任务(例如,存储器管理、存储装置控制、电源管理等)的驱动器,并且有助于各种硬件和软件组件之间的通信。

通信模块824有助于与其他装置通过一个或多个外部端口836或者经由无线电路808的通信,并且包括用于处理从无线电路808和/或外部端口836接收的数据的各种软件组件。外部端口836(例如,usb、firewire、lightning连接器、60脚连接器等)适于直接地或者通过网络(例如,互联网、无线lan等)间接地耦合到其他装置。

定位/运动模块826可以帮助确定装置800的当前位置(例如,坐标或其他地理地点标识符)和运动。现代的定位系统包括基于卫星的定位系统(诸如全球定位系统(gps))、基于“小区id”的蜂窝网络定位、以及基于wi-fi网络的wi-fi定位技术。gps还依赖于多个卫星的可见性来确定位置估计,该位置估计在室内或者在“城市峡谷”中可能是不可见的(或者具有微弱的信号)。在一些实施例中,定位/运动模块826从gps单元848接收数据,并且对信号进行分析以确定移动装置的当前位置。在一些实施例中,定位/运动模块826可以使用wi-fi或蜂窝定位技术来确定当前地点。例如,可以使用附近的小区站点和/或wi-fi接入点的知晓、还有它们的地点的知晓来估计移动装置的地点。标识wi-fi或蜂窝发送器的信息在无线电路808处被接收,并且被传递给定位/运动模块826。在一些实施例中,定位模块接收一个或多个发送器id。在一些实施例中,可以将发送器id序列与将发送器id映射或关联到对应发送器的位置坐标的参考数据库(例如,小区id数据库、wi-fi参考数据库)进行比较,并且基于对应发送器的位置坐标来计算装置800的估计位置坐标。不管使用的特定定位技术如何,定位/运动模块826接收从其可以导出定位方位的信息,对该信息进行解译,并且返回地点信息,诸如地理坐标、纬度/经度或其他定位方位数据。

触发事件模块828可包括例如文中参照图2描述的各种子模块或系统。此外,预测模块830可包括如文中参照图3描述的各种子模块或系统。

移动装置上的一个或多个应用834可包括安装在装置800上的任何应用,包括但不限于浏览器、地址本、联系人列表、电子邮件、即时信息、文字处理、键盘仿真、窗口小部件、启用java的应用、加密、数字权限管理、语音识别、语音复制、音乐播放器(其回放存储在一个或多个文件(诸如mp3或aac文件)中的记录的音乐)等。

可以存在其他模块或指令集(未示出),诸如图形模块、时间模块等。例如,图形模块可以包括用于在显示器表面上渲染、动画绘制和显示图形对象(包括但不限于文本、网页、图标、数字图像、动画等)的各种常规的软件组件。在另一个例子中,定时器模块可以是软件定时器。定时器模块也可以用硬件实现。时间模块可以维护用于任何数量的事件的各种定时器。

i/o子系统806可以耦合到显示系统(未示出),显示系统可以是触敏(即,触摸屏)显示器。显示器在gui中向用户显示视觉输出。视觉输出可以包括文本、图形、视频以及它们的任何组合。视觉输出中的一些或全部可以对应于用户接口对象。显示器可以使用led(发光二极管)、lcd(液晶显示器)技术或lpd(发光聚合物显示器)技术,但是在其他实施例中可以使用其他显示技术。

在一些实施例中,i/o子系统806可以包括显示器和用户输入装置,诸如键盘、鼠标和/或跟踪板。在一些实施例中,i/o子系统806可以包括触敏显示器。触敏显示器也可以基于触觉和/或触感接触从用户接受输入。在一些实施例中,触敏显示器形成接受用户输入的触敏表面。触敏显示器/表面(连同任何相关联的模块和/或介质802中的指令集)在触敏显示器上的接触(以及接触的任何移动或释放)发生时检测该接触并且将检测到的接触转换为与显示在触摸屏幕上的用户接口对象(诸如一个或多个软键)的交互。在一些实施例中,触敏显示器和用户之间的接触点对应于用户的一个或多个手指。用户可以使用任何合适的对象或附加物(诸如触针、笔、手指头等)来与触敏显示器进行接触。触敏显示器表面可以使用任何合适的触摸敏感性技术(包括电容式、电阻式、红外和表面声波技术、以及其他接近传感器阵列或用于确定与触摸敏感显示器的一个或多个接触点的其他元件)来检测接触及其任何移动或释放。

此外,i/o子系统可以耦合到一个或多个其他的物理控制装置(未示出),诸如按钮、按键、开关、波动按钮、转盘、滑动开关、操纵杆、led等,这些物理控制装置用于控制或执行各种功能,诸如电源控制、扬声器音量控制、铃声响度、键盘输入、滚动、保持、菜单、屏幕锁、清除和结束通信等。在一些实施例中,除了触摸屏之外,装置800还可以包括用于启动或停用特定功能的触控板(未示出)。在一些实施例中,触控板是装置的与触摸屏不同的不显示视觉输出的触敏区域。触控板可以是与触敏显示器分离的触敏表面或者由触敏显示器形成的触敏表面的延伸部分。

在一些实施例中,本文描述的操作中的一些或全部可以使用在用户的装置上执行的应用来执行。电路、逻辑模块、处理器和/或其他组件可以被配置为执行本文描述的各种操作。本领域技术人员将意识到,根据实现,这样的配置可以通过特定组件的设计、设置、互连和/或编程来实现,并且再次根据实现,配置的组件可以或者不可以针对不同的操作重新配置。例如,可编程处理器可以通过提供合适的可执行代码来配置;专用逻辑电路可以用适当连接逻辑门和其他电路元件来配置;等等。

本申请中描述的软件组件或功能中的任何一个可以被实现为将被处理器执行的软件代码,其中,该软件代码可以为任何合适的计算机语言,诸如,举例来说,java、c、c++、c#、objective-c、swift、或使用常规的或面向对象的技术的脚本语言(诸如perl或python)。软件代码可以被作为一系列指令或命令存储在计算机可读介质上以供存储和/或传输。合适的非暂时性计算机可读介质可以包括随机存取存储器(ram)、只读存储器(rom)、磁性介质(诸如硬盘驱动器或软盘)、或光学介质(诸如紧凑盘(cd)或dvd(数字多功能盘))、闪存等。计算机可读介质可以是这样的存储或传输装置的任何组合。

合并有本发明的各种特征的计算机程序可被编码在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如压缩盘(cd)或dvd(数字通用盘)的光学存储介质、闪存等。通过程序代码比恩编码的计算机可读存储介质可被兼容装置封装,或者与其它装置分离地提供。另外,程序代码可经由有线光学和/或遵从各种协议的无线网络(包括因特网)被编码和传输,从而允许分配,例如经由因特网下载被分配。任何这样的计算机可读介质可驻留在单个计算机产品(例如,固态驱动器、硬盘驱动器、cd或者整个计算机系统)上或内,并且可存在于系统或网络中的不同计算机产品上或内。计算机系统可包括监视器、打印机或者用于将文中提及的结果中的任一个提供给用户的其它合适的显示器。

虽然已经参照具体实施例描述了本发明,但是应理解,本发明预期覆盖以下权利要求的范围内的所有变型和等同。

1.一种用于向用户提供用户接口以便与在计算装置上执行的建议的应用交互的计算机实现的方法,该方法包括,在该计算装置处:

在计算装置的输入装置处检测事件;

确定所述事件对应于被指定用于识别一个或多个建议的应用的触发事件组中的一个触发事件;

选择与所述事件对应的第一预测模型;

接收关于所述计算装置的上下文信息,所述上下文信息指定对于第一上下文的所述计算装置的一个或多个特性;

通过第一预测模型识别至少具有当事件与第一上下文相关联地发生时被用户访问的阈值概率的一个或多个应用的集合,在所述事件被检测到之后,第一预测模型使用用户与所述计算装置的历史交互;

将用户接口提供给用户以便与所述一个或多个应用的集合进行交互。

2.根据权利要求1所述的方法,其中,在计算装置的输入装置处检测事件包括:

检测计算装置与辅助装置的连接。

3.根据权利要求2所述的方法,其中,辅助装置包括耳机或者车辆的计算机。

4.根据权利要求1所述的方法,其中,所述上下文信息指定所述计算装置的位置。

5.根据权利要求1所述的方法,其中,用户接口允许具有比所述计算装置的主屏幕上提供的应用少的应用的屏幕上的交互。

6.根据权利要求1所述的方法,其中,在计算装置的输入装置处检测事件包括:

通过一个或多个运动传感器检测所述计算装置的移动;以及

基于所述移动确定所述计算装置的运动状态,其中,被指定用于识别一个或多个建议的应用的触发事件组中的所述一个触发事件包括所述计算装置的所述运动状态。

7.根据权利要求1所述的方法,其中,当另一触发事件被检测到时选择第二预测模型,所述另一触发事件不同于所述事件,其中,所述第二预测模型不同于所述第一预测模型。

8.根据权利要求1所述的方法,其中,所述一个或多个应用的集合包括多个应用,并且其中,所述一个或多个应用的集合整体具有大于阈值概率的概率。

9.根据权利要求1所述的方法,其中,所述用户接口在所述计算装置的锁定屏幕上被提供,所述用户接口允许从所述锁定屏幕选择所述应用集合中的一个应用。

10.根据权利要求1所述的方法,进一步包括运行所述一个或多个应用的集合,所述用户接口特定于正运行的所述一个或多个应用。

11.根据权利要求1所述的方法,其中,所述一个或多个特性包括以下中的至少一个:所述计算装置的位置、所述计算装置确定的一天中的时间、所述计算装置确定的一年中的哪一天。

12.根据权利要求1所述的方法,还包括:

确定阈值时间段是否已过去;

当确定阈值时间段已经过去时去除所述用户接口;

当确定阈值时间段还未过去时,确定用户是否试图访问所述一个或多个应用的集合;以及

当确定用户试图访问所述一个或多个应用的集合时运行所述一个或多个应用的集合。

13.根据权利要求12所述的方法,其中,所述阈值时间段对于涉及直接用户交互的触发事件比对于不涉及直接用户交互的触发事件短。

14.一种计算机产品,包括存储多个指令的非暂态计算机可读介质,该指令在被执行时控制包括一个或多个处理器的装置,该指令包括:

在装置的输入装置处检测事件;

确定所述事件对应于被指定用于识别一个或多个建议的应用的触发事件组中的一个触发事件;

选择与所述事件对应的第一预测模型;

接收关于所述装置的上下文信息,所述上下文信息指定对于第一上下文的所述装置的一个或多个特性;

通过第一预测模型识别至少具有当事件与第一上下文相关联地发生时被用户访问的阈值概率的一个或多个应用的集合,在所述事件被检测到时,第一预测模型使用用户与所述装置的历史交互;

将用户接口提供给用户以便与所述一个或多个应用的集合进行交互。

15.根据权利要求14所述的计算机产品,其中,在装置的输入装置处检测事件包括:

检测装置与辅助装置的连接。

16.一种装置,包括:

触发事件存储器,用于存储触发事件;

历史存储器,用于存储历史数据;

一个或多个输入装置;

一个或多个上下文源;以及

一个或多个处理器,被配置为:

在所述一个或多个输入装置处检测事件;

确定所述事件对应于被指定用于识别一个或多个建议的应用的触发事件组中的一个触发事件;

选择与所述事件对应的第一预测模型;

接收来自所述一个或多个上下文源的关于所述装置的上下文信息,所述上下文信息指定对于第一上下文的所述装置的一个或多个特性;

通过第一预测模型识别至少具有当事件在第一上下文中发生时被用户访问的阈值概率的一个或多个应用的集合,在所述事件被检测到时,第一预测模型使用用户与所述装置的历史交互;

将用户接口提供给用户以便与所述一个或多个应用的集合进行交互。

17.根据权利要求16所述的装置,其中,所述一个或多个输入装置包括耳机插孔、蓝牙装置、按钮、触摸屏、加速度器和gps中的至少一个。

18.根据权利要求16所述的装置,其中,触发事件是预定事件。

19.根据权利要求16所述的装置,其中,用户接口允许与比计算装置的主屏幕上提供的应用少的应用进行交互。

20.根据权利要求16所述的装置,其中,所述一个或多个应用的集合包括多个应用,并且其中,所述一个或多个应用的集合中的每个应用具有大于阈值概率的概率。

事件可被输入装置检测。通过将事件与一组触发事件相比较,事件可被确定为是触发事件。然后选择对应于该事件的第一预测模型。然后接收在第一上下文中指定计算装置的一个或多个特性的关于装置的上下文信息,并且识别一个或多个应用的集合。一个或多个应用的集合可至少具有当事件在第一上下文中发生时被用户访问的阈值概率。此后,向用户提供用户接口以便与该一个或多个应用的集合进行交互。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1