用于说话者验证的动态阈值的制作方法

文档序号:18263108发布日期:2019-07-27 08:49阅读:266来源:国知局
用于说话者验证的动态阈值的制作方法

本申请属于申请日为2015年5月1日的中国发明专利申请no.201580006803.0的分案申请。

相关申请的交叉引用

本申请请求于2014年6月24日提交的美国专利申请号62/016,384以及于2014年7月25日提交的美国专利申请号14/340,720的优先权,其内容通过引用并入本文中。

本公开大体上涉及说话者验证。



背景技术:

热词(hotword)是用户可以在用户说出语音命令之前说出以引起计算设备注意的特定词语。计算设备可以始终倾听热词,并且当接收到热词时,计算设备可以将随后接收到的话语处理为语音命令。

在一个示例中,计算设备可以倾听热词“okcomputer”。当用户陈述“okcomputer,writeamessage”时,计算设备可以检测到热词“okcomputer”,这可以使得短语“writeamessage”被处理为语音命令。



技术实现要素:

根据在本说明书中所述主题的一个创新性方面,用户设备接收由用户说出的话语。所述用户设备确定所述话语是否包括热词,并且执行说话者验证以识别话语的说话者是所述设备的授权用户还是冒名顶替者。在执行说话者验证中,所述用户设备基于所述话语同与授权用户相关联的语音模板的相似度,生成用于所述话语的置信分值,并且将所述置信分值与阈值进行比较。此外,所述用户设备还识别与所述话语相关联的环境场境(context),诸如背景噪声的量,并且将指示所述环境场境以及所述置信分值的数据集传送至服务器,用于进一步处理。

所述服务器分析所述数据集以及来自其他设备的数据集,并且按相似的环境场境聚类这些数据集。所述服务器在每个聚类中选择特定数据集,并且选择与该数据集相关联的置信分值作为阈值。

基于特定百分比的话语应被接受的构思,选择数据集的一种方式是使用凭经验定义的目标拒绝率。所述服务器将所选择的数据集的置信分值与对应的环境场境配对并且将所述置信分值作为针对所述对应的环境场境的阈值提供给所述用户设备以及其他用户设备。所述阈值表示用于针对特定环境场境来验证说话者的截止置信分值。通过针对不同环境场境的不同阈值,所述用户设备当在诸如低噪声环境的一个环境场境中试图辨识用户的语音时可以要求较高的置信分值,并且当在诸如高噪声环境的另一个环境场境中试图辨识用户的语音时可以要求较低的置信分值。

一般而言,在本说明书中所述主题的另一个创新性方面可以被体现成多种方法,所述方法包括以下动作:针对热词的多个话语中的每一个,接收一个数据集,该数据集至少包括:(i)与所述话语相关联的说话者验证置信分值,以及(ii)与所述话语相关联的环境场境数据;从多个数据集当中选择与特定环境场境相关联的所述多个数据集的子集;基于一个或多个选择准则,从所述多个数据集的所述子集当中选择特定数据集;选择包括在所述特定数据集中的所述说话者验证置信分值作为针对所述特定环境场境的说话者验证阈值;并且提供所述说话者验证阈值以用于执行对与所述特定环境场境相关联的话语的说话者验证。

这些及其他实施例能够各自可选包括以下特征中的一个或多个。所述环境场境数据指定在接收到所述话语的前一刻所检测到的噪声量。所述环境场境数据指定所述话语的响度。所述环境场境数据指定编码所述话语的音频信号的响度的信噪比。所述一个或多个选择准则是凭经验定义的拒绝率。所述动作包括用与所述话语相关联的后触发准确性指示符来标记所述多个数据集。所述动作包括用不同的第二说话者验证置信分值来标记所述多个数据集。所述多个数据集各自进一步包括编码所述话语的音频信号。从所述多个数据集当中选择与特定环境场境相关联的所述多个数据集的子集的动作包括:确定环境场境数据范围;以及选择所述多个数据集的子集,所述子集包括在所述环境场境数据范围内的与所述话语相关联的环境场境数据。

基于一个或多个选择准则而从所述多个数据集的所述子集当中选择特定数据集的动作包括:基于所述一个或多个选择准则而确定阈值;以及从所述多个数据集的所述子集当中识别所述特定数据集,所述特定数据集不及所述多个数据集的所述子集中的其他数据集满足所述阈值。所述动作包括从所述多个数据集当中选择所述多个数据集的多个子集,所述多个子集各自与相应的特定环境场境相关联;基于所述一个或多个选择准则,选择多个特定数据集,每个特定数据集来自所述多个数据集的相应的子集;选择包括在每个特定数据集中的多个说话者验证置信分值作为多个说话者验证阈值,所述说话者验证阈值中的每一个针对所述相应的特定环境场境;以及提供所述多个说话者验证阈值以用于执行对与所述相应的特定环境场境相关联的话语的说话者验证。

所述动作包括从所述多个数据集当中选择所述多个数据集的多个子集,所述多个子集各自与相应的用户相关联;基于所述一个或多个选择准则,选择多个特定数据集,每个特定数据集来自所述多个数据集的相应的子集;选择包括在每个特定数据集中的多个说话者验证置信分值作为多个说话者验证阈值,所述说话者验证阈值中的每一个针对所述相应的用户;以及提供所述多个说话者验证阈值以用于执行对与所述相应的用户相关联的话语的说话者验证。提供所述说话者验证阈值以用于执行对与所述特定环境场境相关联的话语的说话者验证的动作包括向用户设备提供环境场境数据范围以及针对所述环境场境数据范围的说话者验证阈值。

该方面的其他实施例包括对应的系统、装置以及记录在计算机存储设备上的计算机程序,每个计算机存储设备都被配置成执行所述方法的所述操作。

本说明书中所述的主题的特定实施例能够被实施以便实现以下优点中的一个或多个。设备能够在噪声环境中识别说话者。

在附图以及下面的描述中阐明在本说明书中所述主题的一个或多个实施例的细节。参阅说明书、附图和权利要求,所述主题的其他特征、方面和优势将显而易见。

附图说明

图1是用于说话者验证的示例系统的图示。

图2是用于说话者验证的示例过程的图示。

图3示出计算设备以及移动计算设备的示例。

在各图中相似的附图标号和标记指示相似的元素。

具体实施方式

图1是用于说话者验证的示例系统100的图示。一般而言,图示100示出对计算设备106的麦克风说出话语104的用户102。计算设备106处理话语104并且收集与周围环境108相关联的数据。计算设备106将基于话语104以及环境108的数据传送至包括样本聚类器132以及阈值选择器146的服务器160。服务器160处理基于话语104的数据集以及基于其他话语的数据,以识别用于在周围环境108以及相似环境中验证用户的语音的说话者验证阈值。在一些实施方式中,验证用户的语音也能够包括识别用户的语音。

在使用计算设备106的说话者验证特征之前,用户102训练计算设备106来辨识用户的语音。为了训练计算设备106,用户102在由计算设备106提示时重复几个短语。短语可以包括热词以及其他词语和短语。例如,计算设备106可以提示用户说“okcomputer”、“open”、“call”、“message”以及其他词语。计算设备106处理来自用户的语音的音频,以创建语音模板,计算设备106能够使用该语音模板在计算设备106通过麦克风接收到音频时进行比较。计算设备106可以是桌面型计算机、膝上型计算机、智能电话或者平板计算机。

一旦计算设备106具有针对用户102的语音模板,用户便能够开始说出热词以发起语音命令。计算设备102可以处于麦克风激活并且处理通过麦克风所接收到的音频的锁定状态。计算设备106接收通过麦克风所接收到的音频并且将该音频存储在缓冲器中。计算设备106可以将前几秒的音频存储在缓冲器中。例如,计算设备106可以存储五秒的音频。代替处于锁定状态,计算设备102也可以处于非锁定状态。在此情况下,麦克风可以仍是激活的并且计算设备106能够接收特定量的音频并且存储在缓冲器中。在图1所示的示例中,用户102对计算设备106说出“okcomputer”。计算设备106接收用户的语音的音频以及在用户说话之前通过麦克风所接收到的音频并且存储经缓冲的音频110,用于进一步处理。

在一些实施方式中,尾指针112从计算设备106的缓冲器接收经缓冲的音频110。尾指针112可以在由计算设备106的一个或多个处理器执行的软件中来实现。尾指针112识别经缓冲的音频110的将话音与非话音分开的音频帧并且那些音频帧是端点。在图1所示的示例中,经缓冲的音频110包括非话音音频114以及话音音频116。非话音音频114对应于在用户开始说话之前由麦克风接收到的音频,并且话音音频116对应于用户说话。例如,非话音音频114对应于在用户102开始说话之前由麦克风拾取的噪音,并且话音音频116对应于用户说出“okcomputer”。

在一些实施方式中,代替尾指针112从计算设备106的缓冲器接收经缓冲的音频110,神经网络模块接收经缓冲的音频110。神经网络模块可以在由计算设备106的一个或多个处理器执行的软件中来实现。神经网络模块分析经缓冲的音频110以识别将话音与非话音分开的音频帧。在图1所示的示例中,神经网络识别将非话音音频114与话音音频116分开的音频帧。

热词器118从尾指针112或者神经网络模块接收话音音频116。类似于尾指针112,热词器可以在由计算设备106的一个或多个处理器执行的软件中来实现。热词器118将话音音频112与热词模板进行比较并且确定用户是否说出热词。在一些实施方式中,诸如服务器160的计算设备可以从说出热词并且组合每个热词音频片段的多个用户生成热词模板。热词模板可以是如由多个用户说出的热词音频片段的平均。在一些实施方式中,服务器160可以从说出热词的单个用户生成热词模板。在此情况下,热词模板可以是由单个用户说出的多个热词音频片段的平均。

说话者验证模块120从尾指针112接收经缓冲的音频110并且计算说话者验证置信分值122。说话者验证模块120的评分器124计算说话者验证置信分值122。说话者验证置信分值122反映用户的语音被捕捉到话音音频116中的可能性。为了计算说话者验证置信分值122,评分器124将话音音频116与针对用户的语音模板进行比较。在一些实施方式中,说话者验证置信分值122是介于0与1之间的值。用户的语音被记录在话音音频116中的可能性越高,则说话者验证置信分值122越接近于1。

说话者验证模块120的环境场境检测器125分析经缓冲的音频110以确定与经缓冲的音频110相关联的环境场境数据126。环境场境可以与非话音音频114的响度、话音音频116的响度或者话音音频116的响度与非话音音频114的响度的比相关。响度可以是非话音音频114、话音音频116的分贝水平或者二者之比。

使用说话者验证置信分值122以及环境场境126,说话者验证模块120使用阈值128来推断话音音频116是否对应于用户。根据环境场境126,可以存在不同的阈值。例如,如果环境场境指示非话音音频114的噪音水平是五十八分贝,则说话者验证模块120可以使用针对五十至六十分贝范围的阈值。说话者验证模块120将该阈值与说话者验证置信分值122进行比较,并且如果说话者验证置信分值122满足阈值,则说话者验证模块推断出说出话音音频116的说话者是授权用户。在一些实施方式中,如果说话者验证置信分值122大于或等于阈值,则说话者是授权用户。例如,如果阈值是0.7并且说话者验证置信分值122是0.7,则计算设备106推断出说话者是授权用户。

说话者验证模块120将说话者验证置信分值122以及环境场境数据126存储到数据集130中。在图1所示的示例中,数据集130包括0.7的说话者验证置信分值122以及58分贝的环境场境数据126。在一些实施方式中,数据集还包括经缓冲的音频110。

样本聚类器132从计算设备106接收数据集130。样本聚类器132可以在服务器的一个或多个处理器上运行的软件中来实现。样本聚类器132能够通过网络从计算设备106接收数据集130。样本聚类器132每当热词器118检测到说出的热词时也从计算设备106接收其他数据集并且从对他们相应的计算设备说出热词的其他用户134接收其他数据集。

在一些实施方式中,第二说话者验证模块136计算附加值以添加到数据集。包括样本聚类器132的服务器160也可以包括第二说话者验证模块136,其执行对经缓冲的音频110的处理。第二说话者验证模块136可以执行对经缓冲的音频110的更加鲁棒的分析,这在处理能力有限的计算设备106上可能无法实现。第二说话者验证模块136计算在以下方面与说话者验证模块120类似的值:该值可以介于0与1之间并且越接近1指示话音音频116与语音模板之间的匹配越接近。样本聚类器132可以将来自第二说话者验证模块136的说话者验证置信分值添加到每个数据集。

在一些实施方式中,准确性反馈模块138计算附加值以添加到数据集。准确性反馈模块138可以聚集从用户102收集的、关于用户在使用计算设备106的说话者验证特征中成功和失败的数据。可能存在用户102对计算设备106的麦克风说出热词而该计算设备106没有辨识用户102的情况。这被认为是假拒绝。替选地,可能存在冒名顶替者对计算设备106的麦克风说出热词而计算设备106不准确地将冒名顶替者识别为用户102的情况。这被认为是假接受。假接受的另一示例是用户102或冒名顶替者说出类似于热词的词语而计算设备106不准确地确定用户102说出热词。例如,用户102可能说出“heyscooter”,而计算设备106不正确地确定用户102说出“okcomputer”。对用户102的准确验证是真接受,并且对冒名顶替者或者非热词的准确拒绝是真拒绝。

为了聚集来自用户102的反馈,计算设备106可以提示用户102密码或者通过除说话者验证外的其他方式验证用户的身份。一旦用户的身份被验证,计算设备106便可以关于用户102是否曾在特定时间试图使用说话者验证特征来访问计算设备106而提示用户102。用户102可以将每次访问尝试标记为真接受、真拒绝、假接受或者假拒绝。计算设备102将用户反馈提供给准确性反馈模块138。准确性反馈模块132将用户反馈添加到数据集130。

在用户102识别假拒绝的情况下,计算设备可以使用经缓冲的音频110以进一步细化被使用于辨识用户102的语音模板。作为示例,用户102说出“okcomputer”,并且计算设备106的热词器118辨识所说的热词。因为话语的说话者验证分值在针对用户正在说话的环境场境的说话者验证阈值以下,所以计算设备106的说话者验证模块120并未辨识用户的语音。计算设备106提示用户102,用户102是否曾说出“okcomputer”。用户102确认,用户102曾说出“okcomputer”,并且计算设备将该话语标记为假拒绝。由于计算设备没有辨识用户的语音,因此说话者验证模块120用最新的话语更新语音模板,以便改进对于用户102的说话者验证并且减少假拒绝以及假接受。

在一些实施方式中,第二说话者验证模块136向数据集添加指示数据集是对应于真拒绝、真接受、假拒绝还是假接受的标签。在此情况下,计算设备106在数据集130中包括指示说话者验证模块120是否将话音音频116识别为对应于语音模板的附加数据段。第二说话者验证模块136对经缓冲的音频110执行附加计算,以识别说话者验证模块120是作出真拒绝、真接受、假拒绝还是假接受。与计算设备106的计算资源相比,第二说话者验证模块136可以具有较多的可用计算资源。

根据相似的环境场境数据,样本聚类器132聚类数据集130以及其它数据集。样本聚类器132确定一个或多个环境场境数据范围,以致每个环境场境数据范围将包括最少数目的数据集。例如,样本聚类器132针对每个环境场境数据范围可以具有的最少数目的数据集为八百个数据集。在图1所示的示例中,样本聚类器132识别三个数据集聚类。数据集聚类140包含具有五十至六十分贝之间的环境场境数据的数据集。数据集聚类142包含具有六十至七十分贝之间的环境场境数据的数据集。数据集聚类144包含具有七十至八十分贝之间的环境场境数据的数据集。

在一些实施方式中,样本聚类器132聚类数据集130以及对应于由相同用户所说出的话语的其它数据集。在图1所示的示例中,样本聚类器132可以聚类对应于由用户102所说出的话语的数据集。当仅聚类对应于由特定用户所说出的话语的数据集时,每个环境场境所需的数据集的最少数目可以不同于当聚类对应于由多个用户所说出的话语的数据集时数据集的最少数目。

阈值选择器146使用选择准则148以从每个数据集聚类中选择特定数据集。所选择的数据集聚类是以下数据集:阈值选择器选择该数据集作为包括待用作用于与环境场境数据范围内的环境场境数据相关联的未来说话者验证置信值的说话者验证置信阈值的说话者验证置信值的数据集。在一些实施方式中,选择准则是凭经验定义的目标拒绝率。凭经验定义的目标拒绝率基于分析过去热词话语数据。在分析过去热词话语数据时,说出热词的授权用户与说出热词的冒名顶替者之间的界线可能变得明显,以致一定百分比的过去热词话语数据是来自说出热词的授权用户的。示例的凭经验定义的目标拒绝率是百分之七。采用百分之七的凭经验定义的目标拒绝率,阈值选择器146通过说话者验证分值来排名每个数据集聚类中的数据集并且选择说话者验证分值高于数据集聚类中的百分之七的数据集的数据集。

在图1所示的示例中,阈值选择器146针对数据集聚类140、142和144中的每一个识别处于百分之七目标拒绝率的数据集。如在说话者验证阈值表150中所示,包含具有五十至六十分贝之间的环境场境数据的数据集的数据集聚类140在百分之七的水平上具有包含0.7的说话者验证分值的数据集。包含具有六十至七十分贝之间的环境场境数据的数据集的数据集聚类142在百分之七的水平上具有包含0.6的说话者验证分值的数据集。包含具有七十至八十分贝之间的环境场境数据的数据集的数据集聚类144在百分之七的水平上具有包含0.4的说话者验证分值的数据集。

在一些实施方式中,阈值选择器146可以使用来自准确性反馈模块138的附加数据。采用来自准确性反馈模块138的数据,阈值选择器146通过说话者验证分值来排名每个数据集聚类中的数据集。阈值选择器146可以选择最好地将每个数据集组中的接受与拒绝分开的数据集,并且用于所选择的数据集的说话者验证置信分值是针对该数据集聚类的环境场境数据范围的说话者验证置信阈值。在每个数据集聚类中,所选择的数据集可以处于不同的百分率水平。当选择将每个数据集聚类中的接受与拒接分开的数据集时,因为数据集中的一些很可能是假拒绝和假接受,所以界线可能并不明显。在这些情况下,阈值选择器146可以选择划分数据集聚类的数据集,以致大多数的假拒绝与真接受在一侧,并且假接受与真拒绝在一侧。阈值选择器146也可以使用由第二说话者验证模块136添加并且以与来自准确性反馈模块138的附加数据相似的方式指示数据集是对应于真拒绝、真接受、假拒绝还是假接受的标签。

在一些实施方式中,阈值选择器146可以使用来自第二说话者验证模块136的附加数据。采用来自第二说话者验证模块136的数据,阈值选择器146可以通过来自第二说话者验证模块136的说话者验证置信分值来排名每个数据集聚类中的数据集。阈值选择器146可以使用凭经验定义的目标拒绝率来划分每个数据集聚类。阈值选择器146可以选择来自第二说话者验证模块136的说话者验证置信分值或者来自第二说话者验证模块120的说话者验证置信分值作为说话者验证置信阈值。

在一些实施方式中,阈值选择器146可以使用来自第二说话者验证模块136的附加数据以及来自准确性反馈模块138的附加数据两者。在此情况下,如前所述,阈值选择器146可以使用来自第二说话者验证模块136的说话者验证置信分值来排名数据集,并且基于来自说话者准确性反馈模块138的附加数据来选择数据集聚类。类似于上文,阈值选择器146可以选择来自第二说话者验证模块136的说话者验证置信分值或者来自第二说话者验证模块120的说话者验证置信分值作为说话者验证置信阈值。

阈值选择器146将说话者验证阈值表150提供给计算设备106以及其它计算设备152以便使用于说话者验证。阈值选择器146可以将说话者验证阈值表150周期性地,诸如每星期,或者作为其它软件更新的一部分,提供给计算设备。替选地,阈值选择器146可以在受到计算设备提示时将说话者验证阈值表150提供给计算设备。如果用户102频繁提供反馈,表明说话者验证阈值模块120具有许多假接受或者假拒绝,则计算设备120可以请求更新的说话者验证阈值表150。一旦计算设备120接收到说话者验证阈值表150,计算设备120便将说话者验证阈值表150存储在阈值128中,用于未来的说话者验证。

图2是用于说话者验证的示例过程200的图示。过程200可以由计算设备来执行,诸如图1中的包括样本聚类器132以及阈值选择器146的服务器160。过程200分析有关说话者验证的数据集并且计算说话者验证置信分值的阈值,以便用于不同的环境场境。

计算设备针对热词的多个话语中的每一个,接收数据集,该数据集至少包括:(i)与所述话语相关联的说话者验证置信分值,以及(ii)与所述话语相关联的环境场境数据(210)。数据集由从用户接收热词的话语的用户设备来创建。用户设备通过将热词话语与针对用户的语音模板进行比较而计算说话者验证置信分值。用户设备计算环境场境数据,其通常基于话语的噪声水平。在一些实施方式中,环境场境数据指定在用户说出话语之前的时间段内由用户设备检测到的噪声量。例如,环境场境数据可以基于在用户说话之前的特定时间段内所接收的音频信号的均方根或者分贝水平。在一些实施方式中,环境场境数据可以基于话语的响度。例如,环境场境数据可以基于话语的均方根或者分贝水平。在一些实施方式中,环境场境数据可以基于话语的信噪比或者是在用户说话之前的特定时间段内所接收的音频信号的响度与话语的响度之比。

在一些实施方式中,计算设备可以将附加数据添加到数据集。计算设备可以添加后触发准确性指示符。在用户设备基于音频信号进行关于用户的验证的确定之后,计算设备可以聚集后触发准确性数据。例如,用户设备拒绝对使用说话者验证特征的用户尝试并且再通过提示用户输入密码来认证用户。在此情况下,计算设备能够向数据集添加该数据集表示假拒绝。在一些实施方式中,用户设备也可以包括数据集中的音频信号。计算设备可以分析音频信号以计算不同的第二说话者验证置信分值,以包含在数据集中。

计算设备从数据集当中选择与特定环境场境相关联的数据集的子集(220)。计算设备基于环境场境数据来聚类数据集,以致聚类各自包括至少最少数目的数据集。计算设备可以选择环境场境数据范围以聚类数据集。例如,计算设备可以基于在用户说话之前的特定时间段内所接收的音频信号的响度来聚类数据集。

计算设备基于一个或多个选择准则,从数据集的子集当中选择特定数据集(230)。计算设备根据环境场境数据来排名数据集的子集。在一些实施方式中,计算设备可以基于凭经验定义的目标拒绝率来选择特定数据集。在一些实施方式中,计算设备可以基于后触发准确性数据来选择特定数据集。在一些实施方式中,计算设备可以根据不同的第二说话者验证置信分值来排名数据集的子集并且基于不同的第二说话者验证置信分值来选择特定数据集。

计算设备选择包括在特定数据集中的说话者验证置信分值作为针对特定环境场境的说话者验证阈值(240)。例如,计算设备在五十至六十分贝的环境场境数据范围内选择具有0.7的说话者验证置信分值的数据集。0.7的说话者验证置信分值是用于五十至六十分贝范围内的话语的说话者验证置信阈值。

计算设备提供说话者验证阈值以便使用于执行对与特定环境场境相关联的话语的说话者验证(250)。在一些实施方式中,计算设备将环境场境数据范围和对应的说话者验证置信阈值以及其它的环境场境数据范围和对应的说话者验证置信阈值提供给用户设备以便使用于说话者验证。

在一些实施方式中,计算设备基于环境场境数据来选择由特定用户说出的数据集的子集。在此情况下,计算设备识别针对特定用户的说话者验证阈值并且将对应的说话者验证阈值以及环境场境数据提供给特定用户的设备。计算设备也可以使用来自后触发准确性指示符的数据以及不同的第二说话者验证分值来识别针对特定用户的说话者验证阈值。

本说明书中所述的主题的实施例以及操作能够在数字电路中、或者在计算机软件、固件或硬件中、或者其中一个或多个的组合中来实现,包括本说明书中所公开的结构以及其结构等同物。本说明书中所述的主题的实施例能够被实现为一个或多个计算机程序,即在计算机存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置来执行或者控制其操作。替选地或附加地,程序指令能够被编码于人工生成的传播信号上,例如机器生成的电子、光学或者电磁信号,该信号被生成以编码用于传输至适当的接收器装置的信息,以便由数据处理装置来执行。计算机存储介质能够是计算机可读的存储设备、计算机可读的存储衬底、随机或串行存取存储器阵列或设备或者其中一个或多个的组合,或者包括在其中。此外,尽管计算机存储介质并非传播信号,但计算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也能够是一个或多个单独的物理组件或介质(例如,多个cd、盘或者其他存储设备),或者包括在其中。

在本说明书中所述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或者从其他源接收的数据执行的操作。

术语“数据处理装置”涵盖所有类型的用于处理数据的装置、设备和机器,例如包括可编程的处理器、计算机、片上系统或者前述项的多个或组合。所述装置能够包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。所述装置除硬件之外还能够包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者其中一个或多个的组合的代码。所述装置和执行环境能够实现各种不同计算模型的基础设施,诸如web服务、分布式计算以及网格计算的基础设施。

计算机程序(也称为程序、软件、软件应用、脚本或者代码)能够以任何形式的编程语言来编写,包括编译或解释语言、声明性或过程式语言,并且其能够以任何形式来部署,包括部署为独立程序或者模块、组件、子例程、对象或者适于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序能够被存储于保存其他程序或者数据(例如存储成标记语言文档的一个或多个脚本)的文件的一部分中、专用于考虑中的程序的单个文件中或者多个协作文件(例如存储一个或多个模块、子程序或者代码的多个部分的文件)中。计算机程序能够被部署成在一个计算机上或者在位于一个地点或者分布于多个地点并且通过通信网络而互联的多个计算机上来执行。

本说明书中所述的过程以及逻辑流程能够由执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行动作的一个或多个可编程处理器来执行。所述的过程以及逻辑流程也能够通过专用逻辑电路来执行,并且装置也能够被实现为专用逻辑电路,所述专用逻辑电路例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。

适于执行计算机程序的处理器例如包括通用和专用的微处理器以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器会从只读存储器或随机存取存储器或者二者接收指令和数据。计算机的基本元素是用于根据指令来执行动作的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还会包括或者可操作地耦合至用于存储数据的一个或多个大容量存储设备以自其接收数据或向其传送数据或者两者,所述大容量存储设备例如磁盘、磁光盘或者光盘。然而,计算机不必具有这样的设备。此外,计算机能够被嵌入另一设备,例如,移动电话、个人数字助理(pda)、移动式音频或视频播放器、游戏机、全球定位系统(gps)接收器或者便携式存储设备(例如通用串行总线(usb)闪盘驱动器),仅此举出几例。适于存储计算机程序指令和数据的设备包括所有形式的非易失存储器、介质和存储设备,例如包括半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如内置硬盘或可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器能够增加或结合专用逻辑电路。

为提供与用户的交互,本说明书中所述的主题的实施例能够在计算机上来实现,该计算机具有用于将信息显示给用户的显示设备,例如crt(阴极射线管)或者lcd(液晶显示器)监视器,以及用户能够借以向计算机提供输入的键盘和定点设备,例如鼠标或跟踪球。其他种类的设备也能够被使用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入能够以任何形式来接收,包括声音、话音或者触觉输入。此外,计算机能够通过将文档发送至由用户所使用的设备并且从由用户所使用的设备接收文档,例如通过响应于从用户的客户端设备上的web浏览器所接收的请求而将网页发送至该web浏览器,来与用户交互。

本说明书中所述主题的实施例能够在包括例如作为数据服务器的后端组件、包括例如应用服务器的中间件组件、包括例如具有用户能够借以与本说明书中所述主题的实施方式交互的图形用户界面或者web浏览器的客户端计算机的前端组件或者一个或多个这样的后端、中间件或前端组件的任意组合的计算系统中来实现。系统的组件能够通过任何形式或者介质的数字数据通信来互联,例如,通信网络。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)以及点对点网络(例如,ad-hoc点对点网络)。

一个或多个计算机的系统能够被配置成借助具有安装于所述系统上、在操作中使得所述系统执行动作的软件、固件、硬件或其组合而执行特定的操作或动作。一个或多个计算机程序能够被配置成借助包括当由数据处理装置执行时使得所述装置执行所述动作的指令而执行特定的操作或动作。

计算系统能够包括客户端以及服务器。客户端与服务器一般彼此远离,并且通常通过通信网络来进行交互。客户端与服务器的关系借助在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序来实现。在一些实施例中,服务器将数据(例如,html页面)传送至客户端设备(例如,目的在于向与客户端设备交互的用户显示数据并且从该用户接收用户输入)。在客户端设备处所生成的数据(例如,用户交互的结果)能够在服务器处从客户端设备来接收。

虽然本说明书包含许多特定的实施方式细节,但这些不应当被解释为对任何发明或者可能要求保护的内容的范围的限制,而应被理解为针对特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也能够在单个实施例中组合来实施。反之,在单个实施例的上下文中描述的各种特征也能够单独地在多个实施例中或者以任何适当的子组合来实施。此外,尽管在上文可以将特征描述为以某些组合进行动作乃至最初如此要求保护特征,但来自要求保护的组合的一个或多个特征在一些情况下能够从所述组合中排除,并且所要求保护的组合可以涉及子组合或者子组合的变型。

类似地,虽然在图中以特定顺序来描绘操作,但这不应被理解为要求以所示的特定顺序或者以相继顺序来执行这样的操作,或者执行所有图示的操作,以获得期望的结果。在某些情况下,多任务以及并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中要求这样的分离,而应理解的是,所述的程序组件和系统一般能够一起被集成于单个软件产品中或者被封装到多个软件产品中。

因此,已对所述主题的特定实施例进行了描述。其他实施例在所附权利要求的范围内。在一些实例中,能够以不同的顺序来执行权利要求中所述的动作并且仍然获得期望的结果。此外,在附图中所描绘的过程不一定要求所示的特定顺序或者相继顺序来获得期望的结果。在某些实施方式中,多任务以及并行处理可能是有利的。

图3示出能够被使用于实现本文所述技术的计算设备300以及移动计算设备350。计算设备300旨在表示各种形式的数字计算机,诸如膝上型计算机、桌面型计算机、工作站、个人数字助理、服务器、刀片服务器、主机以及其他适当的计算机。移动计算设备350旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话以及其他类似的计算设备。在此所示的组件、它们的连接和关系以及它们的功能意在仅作示例,而并非意在是限制性的。

计算设备300包括处理器302、存储器304、存储设备306、连接至存储器304和多个高速扩展端口310的高速接口308以及连接至低速扩展端口314和存储设备306的低速接口312。处理器302、存储器304、存储设备306、高速接口308、高速扩展端口310以及低速接口312中的每一个使用各种总线来互联,并且可以被安装于公共母板上或者酌情以其他方式安装。处理器302能够处理用于在计算设备300内执行的指令,包括存储在存储器304中或者存储设备306上的指令,以在诸如耦合至高速接口308的显示器316的外部输入/输出设备上显示gui图形信息。在其他实施方式中,可以酌情使用多个处理器和/或多个总线连同多个存储器和多种类型的存储器。此外,可以连接多个计算设备,每个设备提供所需操作的多个部分(例如,作为服务器组(serverbank)、刀片服务器组或者多处理器系统)。

存储器304存储计算设备300内的信息。在一些实施方式中,存储器304是一个或多个易失性存储器单元。在一些实施方式中,存储器304是一个或多个非易失性存储器单元。存储器304也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。

存储设备306能够为计算设备300提供大容量存储。在一些实施方式中,存储设备306可以是或者包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或者带设备、闪存或者其他类似的固态存储器设备、或者设备的阵列,包括存储区域网络或者其他配置中的设备。指令能够被存储在信息载体中。指令当由一个或多个处理设备(例如处理器302)执行时执行一个或多个方法,诸如上文所述那些方法。指令也能够由诸如计算机或机器可读的介质的一个或多个存储设备来存储(例如,存储器304、存储设备306或者处理器302上的存储器)。

高速接口308管理用于计算设备300的带宽密集(bandwidth-intensive)操作,而低速接口312管理较低的带宽密集操作。这样的功能分配仅为示例。在一些实施方式中,高速接口308耦合至存储器304、显示器316(例如,通过图形处理器或者加速器)以及可以接受各种扩展卡(未示出)的高速扩展端口310。在该实施方式中,低速接口312耦合至存储设备306以及低速扩展端口314。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口314可以耦合至一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或者诸如通过例如网络适配器的交换机或者路由器的网络设备。

如图中所示,计算设备300可以以数种不同的形式来实现。例如,它可以被实现为标准服务器320或者多倍这样的服务器组。此外,它可以被实现在诸如膝上型计算机322的个人计算机中。它还可以被实现为架式(rack)服务器系统324的一部分。替选地,来自计算设备300中的组件可以与诸如移动计算设备350的移动设备(未示出)中的其他组件组合。这样的设备中的每一个可以包含计算设备300以及移动计算设备350中的一个或多个,并且整个系统可以由相互通信的多个计算设备组成。

移动计算设备350除其他组件外还包括处理器352、存储器364、诸如显示器354的输入/输出设备、通信接口366以及收发器368。移动计算设备350还可以具有用于提供附加存储的存储设备,诸如微驱动器或者其他设备。处理器352、存储器364、显示器354、通信接口366以及收发器368中的每一个使用各种总线互联,并且组件中的几个可以被安装在公共母板上或者酌情以其他方式安装。

处理器352可以执行移动计算设备350内的指令,包括存储在存储器364中的指令。处理器352可以被实现为包括单独的多个模拟和数字处理器的芯片的芯片组。例如,处理器352可以提供移动计算设备350的其他组件的协作,诸如用户界面的控制、由移动计算设备350运行的应用以及通过移动计算设备350的无线通信。

处理器352可以通过耦合至显示器354的控制接口358以及显示器接口356与用户通信。例如,显示器354可以是tft(薄膜晶体管液晶显示器)显示器或者oled(有机发光二极管)显示器或者其他适当的显示技术。显示器接口356可以包括用于驱动显示器354将图形信息以及其他信息呈现给用户的适当电路。控制接口358可以从用户接收命令并且将它们进行变换以便提交给处理器352。此外,外部接口362可以提供与处理器352的通信,以便实现移动计算设备350与其他设备的邻近区域通信。例如,外部接口362可以提供在一些实施方式中的有线通信,或者在其他实施方式中的无线通信,并且还可以使用多个接口。

存储器364存储移动计算设备350内的信息。存储器364能够被实现为以下中的一个或多个:一种或多种计算机可读介质、一个或多个易失性存储单元或者一个或多个非易失性存储单元。还可以提供扩展存储器374并且通过扩展接口372连接至移动计算设备350,该扩展接口372可以包括例如simm(单列直插存储模块)卡接口。扩展存储器374可以提供用于移动计算设备350的额外存储空间,或者还可以存储用于移动计算设备350的应用或者其他信息。具体地,扩展存储器374可以包括用于实行或者补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器374可以被提供作为用于移动计算设备350的安全模块,并且可以用允许移动计算设备350的安全使用的指令来进行编程。此外,安全应用可以连同附加信息一起经由simm卡来提供,诸如将识别信息以不可遭受黑客攻击的方式设置在simm卡上。

存储器可以包括例如快闪存储器和/或nvram存储器(非易失性随机存取存储器),如下文所讨论。在一些实施方式中,指令被存储在信息载体中,指令当由一个或多个处理设备(例如处理器352)执行时执行一个或多个方法,诸如上文所述那些方法。指令也能够由诸如一个或多个计算机或机器可读的介质的一个或多个存储设备来存储(例如,存储器364、扩展存储器374或者处理器352上的存储器)。在一些实施方式中,能够在传播信号中接收指令,例如通过收发器368或者外部接口362。

移动计算设备350可以通过通信接口366进行无线通信,该通信接口366必要时可以包括数字信号处理电路。通信接口366可以提供在各种模式或者协议下的通信,诸如gsm语音呼叫(全球移动通信系统)、sms(短消息服务)、ems(增强型消息收发服务)或者mms消息收发(多媒体消息收发服务)、cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝)、wcdma(宽带码分多址)、cdma2000或者gprs(通用分组无线电服务)等等。这样的通信可以例如通过使用射频的收发器368来发生。此外,可以发生短距离通信,诸如使用蓝牙、wifi或者其他这样的收发器(未示出)。此外,gps(全球定位系统)接收器模块370可以将另外的导航与位置相关的无线数据提供给移动计算设备350,其可以酌情供移动计算设备350上运行的应用使用。

移动计算设备350还可以使用音频编解码器360来进行可听通信,该音频编解码器360可以从用户接收所说的信息并且将其变换为可用的数字信息。音频编解码器360可以同样为用户生成可听声音,诸如通过例如在移动计算设备350的听筒中的扬声器。这样的声音可以包括来自语音电话呼叫的声音,可以包括已记录的声音(例如,语音消息、音乐文件等)并且还可以包括通过在移动计算设备350上操作的应用所生成的声音。

移动计算设备350可以以数种不同的形式来实现,如图中所示。例如,它可以被实现为蜂窝电话380。它还可以被实现为智能电话382、个人数字助理或者其他类似的移动设备的一部分。

本文所述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中来实现。这些各种实施方式可以包括可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,所述可编程系统包括耦合以从存储系统接收数据和指令并且向存储系统传送数据和指令的、可以是专用或通用的至少一个可编程处理器、至少一个输入设备以及至少一个输出设备。

这些计算机程序(也被称作程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且能够以高级程序语言和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文中所使用,术语机器可读介质和计算机可读介质是指用于将机器指令和/或数据提供给可编程处理器的任意计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于将机器指令和/或数据提供给可编程处理器的任意信号。

为提供与用户的交互,本文所述的系统和技术能够在计算机上来实现,该计算机具有用于将信息显示给用户的显示设备(例如crt(阴极射线管)或者lcd(液晶显示器)监视器)以及用户能够借以向计算机提供输入的键盘和定点设备(例如鼠标或跟踪球)。其他种类的设备也能够被使用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且来自用户的输入能够以任何形式来接收,包括声音、话音或者触觉输入。

本文所述的系统和技术能够在包括后端组件(例如作为数据服务器)、包括中间件组件(例如应用服务器)、包括前端组件(例如具有用户能够借以与本文所述的系统和技术的实施方式交互的图形用户界面或者web浏览器的客户端计算机)或者这样的后端、中间件或前端组件的任意组合的计算系统中来实现。系统的组件能够通过任何形式或者介质的数字数据通信(例如,通信网络)来互联。通信网络的示例包括局域网(lan)、广域网(wan)以及因特网。

计算系统能够包括客户端以及服务器。客户端与服务器一般彼此远离,并且通常通过通信网络来进行交互。客户端与服务器的关系借助在相应计算上运行并且彼此具有客户端-服务器关系的计算机程序来实现。

虽然上文已详细描述几个实施方式,但其他修改可行。例如,尽管客户端应用被描述为访问代表,但在其他实施方式中,代表可以供由一个或多个处理器实现的其他应用所采用,诸如在一个或多个服务器上执行的应用。此外,在附图中所描绘的逻辑流程并不要求所示的特定顺序或者相继顺序来获得期望的结果。此外,可以提供其他动作,或者可以从所述的流程中除去多个动作,并且可以将其他组件添加到所述系统,或者从所述系统移除其他组件。因此,其他实施方式在所附权利要求的范围内。

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