忽略流式媒体内容中的触发词的制作方法

文档序号:19073705发布日期:2019-11-08 21:06阅读:184来源:国知局
忽略流式媒体内容中的触发词的制作方法

本公开涉及语音命令设备,更具体地,涉及语音命令过滤。



背景技术:

语音命令设备(vcd)由人类语音命令控制。设备由人类语音命令控制,从而不需要利用诸如按钮、拨盘、开关、用户界面之类的手动控件来操作设备。这使用户可以在双手忙于其他任务时,或者在用户离设备不够近从而无法接触设备的情况下操作设备。

vcd可以采取各种形式,包括诸如家用电器之类的专用设备、用于其他设备的控制器、或者用作个人助手。虚拟个人助手形式的vcd可以与诸如智能电话机之类的计算设备一体化。虚拟个人助手可包括用于响应于语音命令和输入而执行任务或服务的语音激活指令。

vcd可以由呈一个或多个触发词形式的语音命令激活。vcd可以使用语音识别,被编程为只对注册的个人的语音或者一组注册的个人的语音作出响应。这可以防止非注册用户发出命令。其他类型的vcd未针对注册用户进行调整,从而允许任何用户以指定的命令词和指令的形式发出命令。



技术实现要素:

本公开的实施例包括用于忽略缓冲媒体流中的触发词的方法、计算机程序产品和系统。可在播放媒体流之前访问媒体内容的缓冲媒体流。可以识别缓冲媒体流的媒体内容中的一个或多个触发词。可相对于缓冲媒体流的媒体内容的播放时间,为一个或多个识别的触发词中的每一个生成时间戳。可以指示语音命令设备在缓冲媒体流被播放时,根据所述一个或多个识别的触发词中的每一个的时间戳忽略缓冲媒体流的音频内容。

上述发明内容并不意图说明本公开的各个例示实施例或每种实现。

附图说明

包含在本公开中的附图并入说明书中,并构成说明书的一部分。附图图解说明本公开的实施例,并且连同具体实施方式一起,用于解释本公开的原理。附图仅仅例示典型实施例,并不限制本公开。

图1是图解说明其中可实现本公开的实施例的环境的示意图。

图2是图解说明按照本公开的实施例,忽略缓冲媒体流的触发词的例证方法的流程图。

图3a是图解说明根据本公开的实施例,忽略由媒体流式传输设备处理的缓冲媒体流的触发词的例证方法的流程图。

图3b是图解说明根据本公开的实施例,忽略由语音命令设备处理的缓冲媒体流的触发词的例证方法的流程图。

图4是图解说明按照本公开的实施例,缓冲媒体流中的触发词的时间戳的示意图。

图5a是按照本公开的实施例的媒体流式传输设备的方框图。

图5b是按照本公开的实施例的语音命令设备的方框图。

图6是图解说明按照本公开的实施例,可用于实现记载在本文中的一种或多种方法、工具和模块,以及任意相关功能的例证计算机系统的高级方框图。

图7是图解说明按照本公开的实施例的云计算环境的示图。

图8是图解说明按照本公开的实施例的抽象模型层的方框图。

尽管记载在本文中的实施例适合于各种修改和备选形式,不过,其细节已在附图中举例说明,并将在下面详细描述。然而,应明白的是不应限制性地理解说明的特定实施例。相反,其目的是涵盖在本公开的精神和范围内的所有修改、等同物和备选项。

具体实施方式

本公开的各个方面一般涉及语音命令设备的领域,尤其涉及语音命令过滤。尽管本公开不一定限于这样的应用,不过通过利用本语境的各个例子的讨论,可以意识到本公开的各个方面。

语音命令设备(vcd)由人类语音命令控制。设备由人类语音命令控制,从而不需要利用诸如按钮、拨盘、开关、用户界面之类的手动控件来操作设备。这使用户可以在双手忙于其他任务时,或者在用户离设备不够近从而无法接触设备的情况下操作设备。

当vcd由来自在vcd附近发出语音的电视机、收音机、计算机或其他非人类设备的语音命令触发时,会出现混乱。

例如,呈包含声控智能个人助手的智能扬声器形式的vcd可设置在客厅中。智能扬声器可能会错误地响应来自电视机的音频。有时,这可能是智能扬声器不理解的良性命令;不过,偶尔所述音频是可能导致智能个人助手的动作的有效命令或触发词。

本公开的各个方面通过利用媒体流式传输设备的可以缓冲内容的特征,区分真正的人类命令和非人类来源(例如,电视机或收音机)发出的命令,从而未来的内容可被预占(pre-empt)。智能媒体流式传输设备,例如,智能电视流式传输媒体可以与诸如个人助手设备之类的语音命令设备建立连接。当用户观看视频或者收听音频时,未来的内容可以被缓冲。当内容正被观看或收听时,媒体流式传输设备可把即将来临的触发词的时间和持续时间传送给语音命令设备。从而当流式内容播放触发词(发出包含触发词的音频)时,语音命令设备可以忽略命令。

参见图1,示意图100描述按照本公开的实施例,vcd120可位于其中的房间110。例如,vcd120可以呈智能扬声器的形式,该智能扬声器包括位于在房间110中的沙发117旁边的桌子上的声控智能个人助手。

房间110可包括可从两个扬声器115、116发出音频的电视机114。房间110还可包括具有扬声器的收音机112。电视机114和收音机112都可呈向房间110中的用户流式传输视频和/或音频内容的智能媒体流式传输设备的形式。

vcd120可接收来自两个电视机扬声器115、116以及收音机112的音频输入。这些音频输入可包括用于可能错误触发vcd120或者向vcd120提供输入的命令的触发词。

本公开的各个方面向诸如电视机114或收音机112和vcd120之类的智能媒体流式传输设备提供附加功能,以在vcd120处忽略触发词或者(与触发词类似的词语)的来自媒体流式传输设备的音频输出,从而避免在vcd120处的错误命令执行。在实施例中,vcd120可被配置成接收并执行用于来自在电视机114或收音机112附近的人类用户140的命令的触发词的音频输入。

图2是图解说明按照本公开的实施例,在vcd处预占(例如,忽略)缓冲媒体流的触发词的例证方法200的流程图。

在识别语音命令触发词时开始方法200。这例示在步骤201。在实施例中,数据仓库可包含所有触发词及对于各个相应触发词要执行的对应动作的表格。这些可被保存在vcd的本地存储器上。在一些实施例中,可以动态更新触发词。例如,触发词可由用户配置,或者可根据接收的音频输入自动调整。触发词(或触发短语)是当被vcd识别时,导致特定动作执行的音频信号(例如,触发短语“poweroff”可导致关闭vcd的对应动作)。

随后在媒体流被播放(例如,由媒体设备输出)之前,访问缓冲媒体流。这例示在步骤202。在实施例中,可通过网络访问媒体流。媒体流可以按拉(例如,由vcd请求)或者按推(例如,由媒体设备推送给vcd)的方式被访问。在被媒体设备输出之前,媒体流可被缓冲任何适当的时段。例如,在被媒体设备输出之前,媒体流可被缓冲5秒、10秒、1分钟等。在实施例中,可以在缓冲时立即自动访问媒体流。

随后分析缓冲媒体流,以识别触发词(包括实质上与触发词类似的词语)。这例示在步骤203。可以按任何适当的方式,完成缓冲媒体流的分析。在一些实施例中,利用常规的音频识别技术来识别存在于缓冲媒体流中的触发词。在一些实施例中,根据相对于已知触发词的快速傅里叶变换(fft)识别触发词。在一些实施例中,获得缓冲媒体流的副本(transcript)(例如,利用自然语言处理(nlp)技术或者伴随媒体内容的字幕),并针对触发词分析所述副本。例如,可通过利用已知触发词的表格来识别即将来临的触发词,解析所述副本。在实施例中,自然语言处理可包括把词语分成语素的语素切分,确定每个词语的词性(例如,名词、动词等)的词性(pos)标注,确定给定句子的解析树的解析,确定词语的情感(例如,主观信息)的情感分析,确定实体之间的关系(例如,个人和企业之间的关系可以是“雇员”)的关系提取,确定词语的声音(例如,声音比较)的语音确定,词汇语义学,等等。在一些实施例中,可相对于来自流式传输服务的媒体内容,预先标注触发词。

对于每个识别的触发词(和/或类似触发词的词语),生成时间戳。这例示在步骤203。生成的时间戳对应于媒体内容中朗诵(recite)该触发词的时间。因而,如果用户在内容期间暂停,那么即将来临的时间戳仍然有效。时间戳还可以包括触发词的持续时间,以致可以忽略所有潜在的触发。例如,时间戳可包括命令要被忽略的时间范围(例如,5秒)。

随后,根据时间戳忽略音频内容。这例示在步骤205。在一些实施例中,在加盖时间戳的时段,只忽略来自媒体流式传输设备的方向(例如,借助安装在vcd中的两个或更多个麦克风,通过三角测量法或到达时间差(tdoa)识别的方向)的音频内容。在一些实施例中,在加盖时间戳的时段,在vcd处忽略(例如,来自每个方向)的所有音频输入。在一些实施例中,在加盖时间戳的时段,只允许已识别的语音。通过在vcd处不处理命令或者通过在vcd处处理但忽视命令,可以忽略音频输入和防止命令被处理。vcd在指示的时间和指示的持续时间内执行所述忽略。

图3a是图解说明按照本公开的实施例,忽略由媒体流式传输设备310处理的流式媒体内容中的触发词的例证方法300的流程图。媒体流式传输设备310可以通信耦接到vcd320(例如,vcd120)。例如,可通过有线连接(例如,以太网)、wifi或蓝牙,建立通信。

媒体流式传输设备310接收并缓冲媒体流。这例示在步骤311。可通过网络,从媒体内容提供者接收媒体流。在实施例中,媒体流可包括对应音频的字幕(例如,文本副本)。媒体流可被缓冲(例如,临时保存)任何适当的时段(例如,5秒、30秒、1分钟、10分钟、1小时等)。媒体流可以是视频或音频媒体。媒体流式传输设备310可借助在媒体流式传输设备310提供或访问的软件程序或扩展,实现所说明的功能。

访问语音命令触发词,以识别适用的触发词。这例示在步骤312。在一些实施例中,触发词保存在媒体流式传输设备310上。在一些实施例中,触发词从语音命令设备320被传送给媒体流式传输设备310。这例示在步骤321。

随后在输出媒体流之前,访问缓冲媒体流。这例示在步骤313。在实施例中,在媒体设备上输出之前的预定一段时间,访问缓冲媒体流。随后媒体流式传输设备310分析缓冲媒体流,以识别缓冲媒体流中的即将来临的语音命令触发词。这例示在步骤314。可根据音频比较,完成该分析。例如,可以利用音频识别来比较流式媒体内容和触发词,以便识别匹配。在一些实施例中,根据文本比较,完成识别触发词的流式媒体内容的分析。例如,可以获得流式媒体内容的文本副本(例如,利用自然语言处理,音频-文本转换,或者通过获得流式媒体内容的字幕),并比较所述文本副本与触发词的字符,以识别匹配。

对于每个识别的触发词(和/或类似触发词的词语),生成时间戳。这例示在步骤315。在实施例中,时间戳是根据媒体内容的播放时间生成的。时间戳可覆盖触发词的持续时间(例如,如果触发词被朗诵0.5秒,那么时间戳可对应于触发词被朗诵的0.5秒)。在一些实施例中,时间戳持续时间包括其中触发词被朗诵的预定时间间隔(例如,在朗诵识别的触发词之前和之后的3秒钟,命令被忽略)。

媒体流式传输设备310随后指示语音命令设备320根据时间戳忽略音频内容。这例示在316。语音命令设备接收该指示,并根据时间戳,忽略音频内容。这例示在步骤322。在实施例中,可根据媒体流式传输设备310的方向,完成所述忽略。在实施例中,可根据时间戳,对于任意方向完成所述忽略。在一些实施例中,只允许已识别的语音,在vcd320处的任何其他音频输入被忽略。

媒体流式传输设备310随后向语音命令设备320输出(播放)媒体内容。这例示在步骤317。媒体内容输出可包括媒体内容的播放时间,以致可相对于播放时间,根据时间戳忽略触发词。vcd320接收音频内容,并在加盖时间戳的时间忽略音频。这例示在步骤323。这样,媒体流式传输设备输出的任何触发词或者混淆地类似于触发词的任何词语被vcd320忽略,从而不会导致vcd320的错误命令。

现在参见图3b,图中表示的是按照本公开的实施例,忽略由语音命令设备420处理的流式媒体内容的触发词的流程图。媒体流式传输设备380可以任何适当的方式(例如,局域网(lan)、wifi、蓝牙等)通信耦接到语音命令设备420。媒体流式传输设备380和语音命令设备420可以分别与图3a的媒体流式传输设备310和语音命令设备320相同或实质相似。

媒体流式传输设备380接收并缓冲媒体流。这例示在步骤351。可通过网络,从媒体内容提供者接收媒体流。在实施例中,媒体流可包括对应音频的字幕(例如,文本副本)。媒体流可被缓冲(例如,临时保存)任何适当的时段(例如,5秒、30秒、1分钟、10分钟、1小时等)。媒体流可以是视频或音频媒体。媒体流式传输设备380可借助在媒体流式传输设备380处提供或访问的软件程序或扩展,实现所说明的功能。

缓冲媒体流随后由媒体流式传输设备380传送给语音命令设备420。这例示在步骤352。语音命令设备420随后在播放之前,接收并访问缓冲媒体流。这例示在步骤361。在实施例中,在媒体设备上输出之前的预定一段时间,访问缓冲媒体流。

随后,语音命令设备420分析缓冲媒体流,以识别缓冲媒体流中的即将来临的语音命令触发词。这例示在步骤363。可根据音频比较,完成该分析。例如,可以利用音频识别来比较流式媒体内容和触发词,以便识别匹配。在一些实施例中,根据文本比较,完成识别触发词的流式媒体内容的分析。例如,可以获得流式媒体内容的文本副本(例如,利用自然语言处理,音频-文本转换,或者通过获得流式媒体内容的字幕),并比较所述文本副本与触发词的字符,以识别匹配。

对于每个识别的触发词(或类似触发词的词语),生成时间戳。这例示在步骤364。在实施例中,时间戳是根据媒体内容的播放时间生成的。时间戳可覆盖触发词的持续时间(例如,如果触发短语被朗诵5秒,那么时间戳可对应于触发词被朗诵的5秒)。

随后,(例如,vcd420本身)指示vcd420根据时间戳忽略音频内容。这例示在步骤365。在实施例中,可根据(例如,通过三角测量法或tdoa识别的)媒体流式传输设备380的方向,完成所述忽略。在实施例中,可以根据时间戳,对于任意方向完成所述忽略。在一些实施例中,只允许已识别的语音,在vcd420处的任何其他音频输入被忽略。在其中保存一个或多个被遮挡方向的一些实施例中,只有源于所述一个或多个被遮挡方向的音频被忽略。

媒体流式传输设备380随后向语音命令设备420输出(例如,播放)媒体内容。这例示在步骤353。媒体内容输出可包括媒体内容的播放时间,以致可相对于播放时间,根据时间戳忽略触发词。vcd420接收流式媒体内容,并在加盖时间戳的时间忽略音频。这例示在步骤366。这样,媒体流式传输设备输出的任何触发词(或者混淆地类似于触发词的任何词语)被vcd320忽略,从而不会导致vcd320的错误命令。

图4是图解说明按照本公开的实施例,缓冲流式媒体内容中的触发词的时间戳的示意图。

对照时间轴411描述缓冲媒体流的音频内容410。分析音频内容410,以识别音频的包括触发词或者混淆地类似于触发词的词语的各个部分。这可利用参考图1-3说明的任意方法(例如,文本比较、音频识别、fft等)完成。

在一些实施例中,流式传输服务可以预先标注要忽略的词语,可以提供与媒体流相关、识别触发词的媒体流中的时间戳的元数据。

可以与流式内容一起地以元数据的形式提供预先标注。可能存在显示“潜在的语音命令”的标记,以及可能在该时间戳解释的触发词。内容可以由媒体公司利用触发词或特定的一组vcd的已知定义,预先标注内容。例如,如果已知的触发词是“charlie”(例如,基于用户的姓名)和“poweron”,那么媒体内容提供者可以预先标注这些触发词。

在另一个实施例中,可以利用音频-文本转换来识别触发词。分析可以利用语音-文本转换来获得音频内容410中的词语的副本。

可以利用多种已知的音频比较方法任意之一来进行分析。音频比较方法可利用动态时间规整(其中在音频文件中对齐口语单词的速度,以便更好地进行比较)。另一种选择是用快速傅里叶变换(fft)进行比较。

另一种选择是利用文本的语音表达来比较字符串相似性。语音-文本组件可以获得缓冲内容中的词语的副本。该副本随后可被转换成语音表达。随后可以比较该语音表达和触发词的语音表达。利用已知的字符串相似性和文本比较方法,可以考虑到词语的细微差异。

在例证的音频内容410中,存在被识别成触发词的两个短语。第一个短语412“charlieismyfriend”出现在06:24~06:32的时间戳413处。第二个短语“welostpoweronmonday”出现在17:04~17:10的时间戳415处。触发词加有下划线。

于是,在vcd(例如,vcd120、320、420)处可提供并处理指示,以忽略在06:24~06:32及17:04~17:10的时间戳413、415处接收的命令。

尽管本例描述了音频内容410中的与触发词匹配的词语,不过在实施例中,类似的词语也可被加盖时间戳。利用这个例子,“charles”、“charcoal”、“karlie”等可以是混淆地类似于“charlie”的词语。在一些实施例中,与触发词类似的词语可以通过将它们输入vcd来验证,以判定是否执行对应的响应。这里引用的“触发词”不仅指的是明确定义的触发词,而且指的是与触发词类似或者实质相似的词语。

图5a是图解说明按照本公开的实施例的媒体流式传输设备500的方框图。媒体流式传输设备500可以与图3a的媒体流式传输设备310,或者图3b的媒体流式传输设备380相同或者实质上相似。

媒体流式传输设备500可具有至少一个处理器、硬件模块、或者配置成执行所说明组件的功能的电路,所述组件可以是在所述至少一个处理器上运行的软件单元。可以设置运行并行处理线程的多个处理器,从而使各个组件的一些或所有功能的并行处理成为可能。存储器502可被配置成向所述至少一个处理器510提供计算机指令503,以进行各个组件的功能。

媒体流式传输设备500可包括配置成在媒体流播放组件513输出媒体流之前,接收媒体流并把媒体流缓冲在缓冲器512中的媒体流接收组件510和媒体流缓冲组件511。

媒体流式传输设备500包括触发词忽略系统520,触发词忽略系统520包括配置成例如通过wifi或蓝牙通信与附近的vcd通信的vcd(例如,vcd120、320、420)通信组件521。

在媒体流式传输设备310处的触发词忽略系统520可包括配置成访问vcd通过vcd通信组件521提供的语音命令触发词的细节的触发词访问组件522。

触发词忽略系统520还可包括配置成在播放媒体流之前访问缓冲媒体流的媒体流访问组件523,和配置成识别缓冲媒体流中的即将来临的语音命令触发词(或者混淆地类似于命令触发词的词语)的触发词识别组件530。

在实施例中,触发词识别组件530可包括配置成把缓冲媒体流的音频内容从音频转换成文本的转换组件531,和配置成比较该文本与已知触发词的文本的比较组件532。

在实施例中,触发词识别组件530可包括配置成读取与缓冲媒体流一起接收的元数据,以便识别媒体流的音频内容中的语音命令触发词的元数据读取组件533。

触发词忽略系统520还可包括配置成相对于缓冲媒体流内容的内容播放时间生成识别的词语的时间戳的时间戳加盖组件524,和指示组件525,所述指示组件525包括配置成指示vcd在缓冲媒体流被播放时,在加盖时间戳的时间忽略音频内容的指示发送组件526。

在本实施例中,vcd可具有常规功能,外加接收在加盖时间戳的时间忽略音频输入的指示的指示接收组件。

图5b是图解说明按照本公开的实施例的语音命令设备550的方框图。该vcd可以与图1的vcd120、图3a的vcd320或图3b的vcd420相同,或者实质上相同。

vcd550可以是专用设备,或者多用途计算设备的一部分,所述多用途计算设备包括至少一个处理器551、硬件模块、或者用于执行所说明的组件的功能的电路,所述组件可以是在所述至少一个处理器上运行的软件单元。可以设置运行并行处理线程的多个处理器,从而使各个组件的一些或所有功能的并行处理成为可能。存储器552可被配置成向所述至少一个处理器551提供计算机指令553,以进行各个组件的功能。

vcd550可包括用于取决于设备的类型的vcd的已知功能,以及已知语音处理的组件。在一个实施例中,vcd550可包括语音输入接收器554,语音输入接收器554包括呈阵列地设置的多个(两个或更多个)麦克风,以接收来自相对于vcd550的不同方向的语音输入。该特征使vcd550可以确定到来的音频的方向(例如,借助三角测量或tdoa)。vcd550还可包括呈vcd的现有软件形式的命令处理系统556,用于接收和处理语音命令。包括语音命令识别处理的vcd软件可在本地提供给vcd550或计算设备,或者可作为远程服务(例如作为基于云的服务)通过网络提供。

在实施例中,vcd550可包括触发词忽略系统570,触发词忽略系统570包括媒体流式传输设备通信组件571,媒体流式传输设备通信组件571被配置成例如通过wifi或蓝牙通信,与在vcd550附近的媒体流式传输设备(例如,图3a的媒体流式传输设备310、图3b的380或图5a的500)通信。

在vcd550处的触发词忽略系统570可包括用于访问vcd550的语音命令触发词的细节的触发词访问组件572。触发词可被保存在vcd550上的任何适当存储器中。在一些实施例中,包含所有触发词的表格被保存在vcd550上的存储器中。

触发词忽略系统570还可包括配置成访问缓冲媒体流的音频内容的媒体流访问组件573。媒体流访问组件573可包括配置成在从来自媒体流式传输设备的媒体的播放接收音频输入之前,从媒体流式传输设备接收音频内容的音频内容接收组件577。

触发词忽略系统570还可包括配置成识别接收的缓冲媒体流的音频内容中的即将来临的语音命令触发词(和/或混淆地类似于命令触发词的词语)的触发词识别组件580。

在实施例中,触发词识别组件580可包括配置成把缓冲媒体流的音频内容从音频转换成文本的转换组件581;和配置成比较该文本与已知触发词的文本的比较组件582。

触发词识别组件580的另一个实施例可包括配置成读取与缓冲媒体流的音频内容一起接收的元数据,以便识别媒体流的音频内容中的语音命令触发词的元数据读取组件583。

触发词忽略系统570还可包括配置成通过对音频内容加盖时间戳,相对于缓冲媒体流内容的内容播放时间,生成所识别词语的时间戳的时间戳加盖组件574。触发词忽略系统570还可包括配置成指示vcd550的命令处理组件556在媒体流式传输设备播放缓冲媒体流时,在加盖时间戳的时间忽略音频内容的指示组件575。

在本实施例中,媒体流式传输设备可具有常规功能,外加在播放媒体流之前,通过通信信道把缓冲媒体流的音频内容发送给vcd550的音频内容发送组件。

现在参见图6,图中表示的是按照本公开的实施例,可用于(例如,利用计算机的一个或多个处理器电路或计算机处理器)实现记载在本文中的一种或多种方法、工具和模块,以及任意相关功能的例证计算机系统601(例如,图1的vcd120、图3a的vcd320、图3b的vcd420、图3b的媒体流式传输设备380、图5a的媒体流式传输设备500)的高级方框图。在一些实施例中,计算机系统601的主要组件可包括一个或多个cpu602、存储器子系统604、终端接口612、存储接口614、i/o(输入/输出)设备接口616和网络接口618,它们都可以通过存储器总线603、i/o总线608和i/o总线接口单元610直接或间接地通信耦接,以便进行组件间通信。

计算机系统601可包含一个或多个通用可编程中央处理器(cpu)602a、602b、602c和602d,这里统称为cpu602。在一些实施例中,计算机系统601可包含较大系统特有的多个处理器;不过,在其他实施例中,计算机系统602或者可以是单cpu系统。各个cpu602可执行保存在存储器子系统604中的指令,可包括一级或多级板载高速缓存。

系统存储器604可包括易失性存储器形式的计算机系统可读介质,比如随机存取存储器(ram)622或高速缓冲存储器624。计算机系统601还可包括其他可拆卸/不可拆卸、易失性/非易失性计算机系统存储介质。只是作为例子,可以设置用于读写不可拆卸的非易失性磁介质,比如“硬盘驱动器”的存储系统626。尽管未图示,不过可以设置用于读写可拆卸的非易失性磁盘(例如,“usb拇指驱动器”或“软盘”)的磁盘驱动器,或者用于读写可拆卸的非易失性光盘,比如cd-rom、dvd-rom或其他光介质的光盘驱动器。另外,存储器604可包括闪存,例如闪速记忆棒驱动器或闪盘驱动器。存储设备可通过一个或多个数据媒体接口,连接到存储器总线603。存储器604包括至少一个程序产品,所述程序产品具有配置成进行各个实施例的功能的一组(例如,至少一个)程序模块。

都具有至少一组程序模块630的一个或多个程序/实用程序628可被保存在存储器604中。所述程序/实用程序628可包括管理程序(也称为虚拟机监视器)、一个或多个操作系统、一个或多个应用程序、其他程序模块和程序数据。所述操作系统、一个或多个应用程序、其他程序模块和程序数据每一个,或者它们的某种组合都可包括连网环境的实现。程序628和/或程序模块630通常执行各个实施例的功能或方法。

在一些实施例中,计算机系统601的程序模块630包括缓冲媒体流忽略模块。缓冲媒体流忽略模块可被配置成在播放媒体流之前,访问缓冲媒体流,并识别一个或多个即将来临的触发词。缓冲媒体流忽略模块可进一步被配置成为缓冲媒体流中的每个识别的触发词,生成时间戳。缓冲媒体流忽略模块可进一步被配置成根据生成的时间戳忽略音频输入(例如,来自缓冲媒体流的音频内容、语音命令等)。

尽管存储器总线603在图6中被表示成提供cpu602、存储子系统604和i/o总线接口610之间的直接通信路径的单总线结构,不过在一些实施例中,存储器总线603可包括按任意各种形式,比如分层的点对点链接、星型或web构成、多个分层总线、并行且冗余的路径、或者任何其他适当类型的构成布置的多个不同总线或通信路径。此外,尽管i/o总线接口610和i/o总线608被表示成单一的相应单元,不过在一些实施例中,计算机系统601可包含多个i/o总线接口610和/或多个i/o总线608。此外,尽管表示了把i/o总线608和通往各个i/o设备的各个通信路径分开的多个i/o接口单元,不过在其他实施例中,一些或所有的i/o设备可以直接连接到一个或多个系统i/o总线。

在一些实施例中,计算机系统601可以是多用户大型计算机系统、单用户系统、或者几乎没有直接用户接口,但是接收来自其他计算机系统(客户端)的请求的服务器计算机或类似设备。此外,在一些实施例中,计算机系统601可被实现成桌上型计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、袖珍计算机、电话机、智能电话机、网络交换机或路由器、或者任何其他适当类型的电子设备。

注意,图6意图描述例证计算机系统601的代表性主要组件。不过在一些实施例中,各个组件的复杂性可能大于或小于图6所示,可能存在不同于图6中所示或者除图6中所示之外的组件,并且这些组件的数量、类型和构成可能有所不同。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参见图7,图中描述了例证的云计算环境。如图所示,云计算环境710包括一个或多个云计算节点700,云消费者使用的本地计算设备,比如个人数字助手(pda)或蜂窝电话机700a(例如,vcd120、320、420和500,以及媒体流式传输设备310、380和550)、桌上型计算机700b(例如,vcd120、320、420和500,以及媒体流式传输设备310、380和550)、膝上型计算机700c(例如,vcd120、320、420和500,以及媒体流式传输设备310、380和550)、和/或汽车计算机系统700n可以与所述一个或多个云计算节点700通信。节点700可以相互通信。可以在一个或多个网络,比如如上面所述的专用、社区、公共或混合云,或者它们的组合中,对节点700进行物理或虚拟分组(未图示)。这允许云计算环境710提供云消费者不需要在本地计算设备维持资源的基础架构、平台和/或软件即服务。要明白的是图7中所示的各种计算设备700a-n仅仅是例证性的,计算节点700和云计算环境710可通过任意类型的网络和/或网络可寻址连接(例如,利用web浏览器),与任意类型的计算机化设备通信。

现在参考图8,其中显示了云计算环境10(图7)提供的一组功能抽象层。首先应当理解,图8所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图8所示,提供下列层和对应功能:

硬件和软件层800包括硬件和软件组件。硬件组件的例子包括:主机802;基于risc(精简指令集计算机)体系结构的服务器804;服务器806;刀片服务器808;存储设备810;网络和网络组件812。软件组件的例子包括:网络应用服务器软件814以及数据库软件816。

虚拟层820提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器822、虚拟存储824、虚拟网络826(包括虚拟私有网络)、虚拟应用和操作系统828,以及虚拟客户端830。

在一个示例中,管理层840可以提供下述功能。资源供应功能842提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。例如,资源供应功能842可以向被指示具有高活动性的设备分配额外的计算资源。计量和定价功能844在云计算环境内对资源的使用提供成本跟踪,并为这些资源的消耗提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。在一些实施例中,计量和定价功能844指示向系统中的机器分配的许可的个数。安全功能为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能846为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能848提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能850为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层860提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航862;软件开发及生命周期管理864;虚拟教室的教学提供866;数据分析处理868;交易处理870;以及识别可识别的介质872。

如这里更详细所述,可以预见的是记载在本文中的方法的一些实施例的一些或所有操作可以按照备选的顺序进行,或者可能根本不进行,只要它们在本文中的一致的;此外,多个操作可能同时发生,或者作为更大过程的内部部分发生。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

这里使用的术语只是用于说明特定的实施例,并不意图限制各个实施例。这里使用的单数形式意图还包括复数形式,除非上下文明确地另有所示。另外要明白当用在说明书中时,术语“包括”指定陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或它们的群体的存在或增加。在各个实施例的例证实施例的上述详细说明中,参考了构成所述说明的一部分,并且其中举例表示了其中可以实现各个实施例的具体例证实施例的附图(其中相同的附图标记表示相同的元件)。足够详细地说明了这些实施例,以使本领域的技术人员能够实践所述实施例,不过可以使用其他实施例,可以作出逻辑、机械、电气和其他变化,而不脱离各个实施例的范围。在前面的说明中,陈述了众多的具体细节,以透彻理解各个实施例。不过,可以在没有这些具体细节的情况下实践各个实施例。在其他情况下,未详细表示公知的电路、结构和技术,以避免模糊各个实施例。

本说明书中使用的词语“实施例”的不同实例未必指的是同一实施例,不过它们可以是同一实施例。本文中例示或说明的任意数据和数据结构只是例子,在其他实施例中,可以使用不同数量的数据、数据类型、字段、字段数目和类型、字段名称、行数目和类型、记录、条目或数据组织。另外,任意数据可以与逻辑结合,以致不需要独立的数据结构。于是,不应限制性地理解前面的详细说明。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

尽管利用具体实施例,说明了本公开,不过,预计对本领域的技术人员来说,各种变更和修改将变得明显。于是,以下的权利要求书应被解释成包括在本公开的精神和范围内的所有这样的变更和修改。

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