技术简介:
本专利提出一种基于媒体类型动态选择语音识别引擎的方法,解决了传统系统中语音识别引擎持续运行导致的高功耗问题。通过分析媒体文件的类型特征,智能启用与当前媒体内容匹配的语音识别引擎(如嵌入式或外部引擎),禁用非必要引擎,从而在保证识别精度的同时降低能耗。该方案通过媒体类型指示与引擎识别能力的匹配比较,实现资源的动态分配和功耗优化。
关键词:媒体类型识别,语音识别引擎选择,功耗优化
专利名称:用于选择性语音识别的方法和装置的制作方法
技术领域:
本发明通常涉及语音识别,更具体涉及基于媒体类型选择多个语音识别引擎之一。
背景技术:
随着语音识别引擎性能的提高,其在应用数量上有相应的增加,并且用于语音识别。基于语音识别引擎相对于用户的位置,开发了不同类型的语音识别应用和系统。一种这样的例子是嵌入式语音识别引擎,或者被称为本地语音识别引擎,诸如SpeechToGo语音识别引擎,其可以从SpeechWorks International,Inc.,696Atlantic Avenue,Boston,MA 02111购得。另一类型的语音识别引擎是基于网络的语音识别引擎,诸如也可以从SpeechWorks International,Inc.,696Atlantic Avenue,Boston,MA 02111购得的Speech Works6。
嵌入式或本地语音识别引擎在识别语音输入时提供了增加速度的好处,其中的语音输入包括任何类型的可听的或者基于音频的输入。嵌入式语音或本地语音识别引擎的缺陷在于,这些引擎通常包含有限的词汇量。由于存储有限,嵌入式或本地语音识别引擎仅能够向可以由基于网络的语音识别引擎识别的音频输入的一个片断来提供识别。
基于网络的语音识别引擎提供了增加词汇量的好处,其源于消除了存储和处理限制。尽管如此,在用户提供语音输入和语音输入可被识别并被提供给用户用于确认识别之间的额外延迟被减小了。在典型的语音识别系统中,用户提供音频输入,且由此将音频输入通过通信路径提供给服务器,由此可以得到识别。
当多语音识别引擎可用于识别语音输入时就会出现问题。尽管每个语音识别引擎提供了优点和缺点,如果能够选择特定的语音识别引擎之一将会更有效率。当前存在选择在多语音识别引擎之间使用多种因素进行选择的可能性,诸如基于用户的选择。另一种选择可以通过特定项的识别而做出,这表明了可以输入第二类型的特定输入,诸如,如果初始语音输入是单词“dial”,根据具有有选择地识别特定名称或电话簿输入的可利用性,或许可以选择第二语音识别引擎。
通过下面的附图将更容易理解本发明,其中图1说明了用于选择语音识别引擎的装置的一个例子;图2说明了用于选择语音识别引擎的方法的例子;图3说明了用于选择语音识别引擎的装置的另一个例子;图4说明了用于选择语音识别引擎的方法的另一例子;图5说明了用于选择语音识别引擎的装置的另一个例子;和图6说明了使用用于选择语音识别引擎的方法的实施例的一个例子。
具体实施例方式简言之,一种用于选择性语音识别的方法和装置包括接收具有媒体类型指示的媒体文件。媒体文件包括任何类型的文件,该文件包含或者引向提供媒体输出的内容信息。媒体文件具有媒体类型指示,其中媒体类型指示是对于媒体文件内内容信息的媒体类型的指示,诸如指示媒体文件内容信息是音频信息、视频信息、文本信息或者任何其他类型的媒体输出。
该方法和装置进一步包括响应于媒体类型指示而选择所选的语音识别引擎,其中,所选的语音识别引擎或者是第一语音识别引擎、或者是第二语音识别引擎。该方法和装置进一步包括使所选的语音识别引擎能够接收至少一个音频输入。音频输入通常是由端用户通过音频输入设备(诸如麦克风)提供的。
图1说明了一种电子设备100,其具有音频接收机102、浏览器104和语音识别引擎选择器106。电子设备100包括但不限于,蜂窝电话、笔记本电脑、桌上电脑、个人数字助理、寻呼机、智能电话、或者本领域普通技术人员所知的任何其他合适的设备,其能够执行媒体文件和提供对音频输入的本地或外部语音识别。浏览器104可以实现为硬件、软件或其组合,用于允许下载和查看内容信息。而且,语音识别引擎选择器106也可以实现为硬件、软件或其组合,用于选择语音识别引擎。
在一个实施例中,音频接收机102有效连接到第一语音识别引擎108和第二语音识别引擎110。浏览器104接收媒体文件112,其具有与之相关的媒体类型指示。浏览器104由此提取媒体类型指示114并将其提供给语音识别引擎选择器106。
语音识别引擎选择器106响应于媒体类型指示,选择第一语音识别引擎108或者第二语音识别引擎110,以接收和识别音频输入116。这样,语音识别引擎选择器106提供选择信号118给音频接收机102,以使音频接收机可以提供音频输入116给所选的语音识别引擎,108或者110。
如果选择信号118指示了第一语音识别引擎108,当向音频接收机102提供音频输入116时,向第一语音识别引擎108提供编码的音频信号120。第一语音识别引擎108根据公知的语音识别技术识别编码的输入120,并提供第一识别项122给浏览器104。当选择信号118指示了第二语音识别引擎110时,音频接收机102提供编码的音频输入124给第二语音识别引擎110。由此,第二语音识别引擎110根据公知的语音识别技术识别编码的音频输入124,并提供第二识别项126给浏览器104。
图2说明了用于所选的选择语音识别引擎的方法的例子。方法开始于150,在步骤152,接收具有媒体类型指示的媒体文件。如上面所讨论的,媒体文件可以是具有媒体内容信息或者到内容信息的指针的任何类型的文件,诸如标记语言文件、通用资源指示符(URI)、音频文件、视频文件或者任何其他类型的基于单一或多媒体的内容信息。
下一步,步骤154,包括响应于媒体类型指示,选择所选的语音识别引擎,其中,所选的语音识别引擎包括第一语音识别或第二语音识别引擎。如上面所讨论的,第一语音识别引擎108可能是嵌入式语音识别引擎,位于电子设备100内,第二语音识别引擎110可能是外部语音识别引擎,位于电子设备之外,诸如在内容服务器上。而且,如上面所讨论的,在另一实施例中,第一和第二语音识别引擎108、110可能都位于通信服务器上,或者都在电子设备内,或者跨越多个电子设备或通信服务器。
因此,本发明包括在步骤156使所选的语音识别引擎能够接收至少一个音频输入。这个步骤包括提供初始化命令或激活命令,并建立直接链路以使所有语音输入都提供给所选的语音识别引擎。这样,本方法在步骤158完成。
图3说明了用于所选的选择语音识别引擎的装置的另一例子。图3说明了电子设备100,其具有音频接收机102和浏览器104,以及位于其中的语音识别选择器106。电子设备还包括输出设备160,其有效连接到浏览器104,以使浏览器104提供媒体文件112的输出102。例如,输出设备可以是显示器,用于提供视觉输出或文本输出,或者可以是扬声器,用于提供音频输出,或者可以是本领域普通技术人员所知的任何其他类型的输出设备。电子设备100包括与网络164进行通信的能力,网络164诸如标准通信网络、蜂窝或其他无线区域网络或无线局域网。网络164同外部语音识别引擎162通过通信路径168进行通信,通信路径168可能是有线或无线的通信路径。如本领域普通技术人员所知,外部语音识别引擎166可以位于通信网络服务器上,并且可以通过一个或多个用于路由音频输入(诸如116)来进行语音识别的代理服务器(未示出)访问。
电子设备100进一步包括嵌入式语音识别引擎170,其有效连接到音频接收机102,音频接收器102又可通过网络164连接到外部语音识别引擎166。类似于上述实施例,根据图1,语音识别引擎选择器106提供选择信号118给音频接收机102。音频接收机102一旦接收到音频输入116,就将编码的音频输入172或174分别提供给外部语音识别引擎166或嵌入式语音识别引擎170。
在一个实施例中,音频接收机102在接收音频输入116之前,根据接收选择信号118,可以选择激活特定语音识别引擎之一,166或170。例如,在正常操作节能期间,嵌入式语音识别引擎170可能不可用,但在接收媒体类型指示时,使得嵌入式语音识别引擎170可以使用,音频接收机102可以发送确认或初始化信号到嵌入式语音识别引擎170。因此,当浏览器104提供用于内容信息162的输出到输出设备160时,任何音频输入116可以直接提供给嵌入式语音识别引擎170,此时该语音识别引擎响应于浏览器接收到的媒体文件112的媒体类型而已被选择性激活并且接通或开启。
在一个实施例中,媒体文件112可以从网络164中接收。媒体文件可以是任何类型的媒体文件,其能够由浏览器104接收和执行,并由此提供给输出设备160。而且,图3说明了一旦接收到编码的音频输入172,网络164就通过通信路径168提供输入到外部语音识别引擎166。外部语音识别引擎166根据公知的语音识别技术识别输入并将识别项返回给浏览器104,将识别项176从网络164提供给浏览器104。而且,如果嵌入式语音识别引擎170被激活且音频接收机102向其提供编码的音频输入174,嵌入式语音识别引擎170根据公知的语音识别技术来识别该项,并提供识别项178给浏览器104。
因此,根据一个实施例,浏览器104接收识别项,176或178,并且由此执行命令来响应识别项。例如,如果媒体文件112包括视频内容而浏览器104提供该视频内容162到输出设备160的话,端用户可以提供音频输出116,指令浏览器104暂停显示。在这个例子中,音频接收机102接收音频输入116,并根据选择信号118,将输入提供给外部语音识别引擎166或嵌入式语音识别引擎170。在选择信号118指示激活嵌入式语音识别引擎170的情况下,向其提供编码的音频输入174,以识别命令暂停并将该命令提供给浏览器104。由此,浏览器可以暂停内容信息162和输出设备160的显示。
图4说明了用于根据媒体文件类型选择性选择语音识别的方法的另一例子。方法开始于200,在步骤102,接收媒体文件,在媒体类型指示中具有内容信息。接下来的步骤包括确定媒体类型指示,该步骤可以通过响应于媒体文件,检查文件类型扩展名,诸如.HTM、.XML,或者通过检查文件MIME类型、检查媒体文件自身的内容信息、或者检测浏览器所执行的应用来完成,如步骤102所示。
因此,响应于媒体类型指示,本方法包括选择语音识别引擎,其中,所选的语音识别引擎或者是嵌入式语音识别引擎、或者是外部语音识别引擎,如步骤206所示。在一个实施例中,选择的步骤进一步包括比较媒体类型指示和用于每个语音识别引擎的识别能力信号,其中,识别能力信号包括任何能够提供关于对相关联语音识别引擎的语音识别能力的指示的信号。例如,嵌入式语音识别引擎通常具有较低的语音识别能力,而外部语音识别引擎通常具有较高的语音识别能力。识别复杂度水平对应于语音识别引擎能够使用可用资源处理多少单词或者短语。识别复杂度随着可识别语言集的增加而增加。通常,可识别的短语针对语音识别引擎的需要而表示为节点和弧的有限状态网络。例如,识别复杂度水平将是把识别限制于这样的50个节点的网络。如本领域普通技术人员所知,识别复杂度水平存在其他的实现和变化。接下来的步骤208包括启用所选的语音识别引擎,使其能够接收至少一个音频输入。
在浏览器内,接下来的步骤是执行媒体程序以响应媒体类型指示,如步骤210所示。例如,浏览器可以启动音频播放器来执行音频文件或者可以启动视频播放器来执行视频文件。接下来的步骤包括显示媒体文件的内容信息,如步骤212所示。
此处,电子设备可以接收音频输入并由此提供音频输入给所选的语音识别引擎,如步骤214所示。如上面所讨论的,为了举例,如果媒体文件是视频文件的话,音频输入可以是指向用于查看视频文件的指令的命令,诸如开始、停止、暂停。
接下来的步骤,步骤216,包括从所选的语音识别引擎接收识别的音频命令和执行操作以响应识别的音频命令。例如,如果正在显示视频文件且用户输入了“暂停”的语音输入的话,所选的语音识别引擎识别了语音输入并提供识别项给浏览器,其中,浏览器由此暂停该视频文件的显示。由此,本方法在步骤218完成。
图5说明了电子设备100的另一例子,其能够根据直接类型(immediate type)选择语音识别。电子设备包括音频接收机102,浏览器104和语音识别引擎选择器106。电子设备100进一步包括输出设备160、嵌入式语音识别引擎170和应用数据库172。应用数据库230包括可执行应用232的数据库,这些应用可以从浏览器104提取或者提供给浏览器104,以响应对应用230的请求。例如,如果浏览器104请求使用音频播放器,音频播放器可以位于应用数据库230中且提供给浏览器104,以使浏览器可以播放音频文件。浏览器104进一步有效连接到存储器234,用于从存储器向浏览器104提供媒体文件236。存储器234和数据库230可以是,但不限于,单个存储器、多个存储位置、共享存储器、CD、DVD、ROM、RAM、EEPROM、光学存储或能够储存数字数据以供浏览器104使用的任何其他非易失性存储。
类似于图3的电子设备100,电子设备100可通过通信路径168连接到网络164并由此与外部语音识别引擎166通信。图5说明了音频接收机向网络164提供编码的音频输入172,网络将识别项176提供给浏览器104,网络将媒体文件112提供给浏览器104以及进一步从语音识别引擎选择器118接收接合(engagement)信号238。如本领域普通技术人员所知,信号可以通过公共通信路径240传送,诸如从中央发射机/接收机(未示出)提供,但是显示为分离的和不同的信号仅仅是为了说明和简洁的目的。
在一个实施例中,内容服务器242,诸如通信或其他因特网服务器,可以提供内容媒体文件244给网络164,由此将媒体文件112提供给浏览器104。作为响应,浏览器104从中提取媒体文件类型指示114。在一个实施例中,媒体文件类型指示可以通过查看文件扩展名(诸如.HTM、.XML)、通过查看MIME类型、检查媒体文检自身内容、或者确定从应用数据库230中提供哪个应用232来确定。
如上面所讨论的,语音识别引擎选择器106接收媒体文件类型指示114并由此选择将使用哪个语音识别引擎。在一个实施例中,选择信号118被提供给音频接收机102,以使音频接收机可以活动地接合、启动、或者选择以路由所选的语音识别引擎166或170。在另一实施例中,语音识别引擎选择器106可以发送包括路由信息的选择信号118到音频接收机102以提供音频输入116给所选的引擎,但是语音识别引擎选择器106可以进一步生成启用信号来启用/激活所选的语音识别引擎。在选择了嵌入式语音识别引擎170的情况下,语音识别引擎选择器106生成嵌入式语音识别引擎激活信号246,而在选择了外部语音识别引擎166的情况下,语音识别引擎选择器106生成外部语音识别引擎启用信号238,该信号通过网络164来提供。因此,在图5所示的系统中,嵌入式语音识别引擎170和/或外部语音识别引擎166可以有效地禁用,直到提供了启用信号,诸如246或238,这样做的目的是为了节能和减少功耗。
而且,在另一实施例中,语音识别引擎选择器106可以提供启用信号给所选的语音识别引擎,可以是嵌入式语音识别引擎170或者外部语音识别引擎166,并且进一步提供忽略列表给没有选择的语音识别引擎,即,如果选择了嵌入式语音识别引擎170就提供给外部语音识别引擎166,如果选择了外部语音识别引擎166就提供给嵌入式语音识别引擎170。因此,在这个实施例中,音频接收机102可以提供音频输入116给这两个语音识别引擎,其中,当来自识别列表的识别项是由没有选择的语音识别引擎识别的时,没有选择的语音识别引擎不会提供识别项给浏览器104。在这个实施例中,提供了中断序列,其中,用户可以不管电子设备100所请求的所选语音输入。例如,如果用户正在输出设备160上查看视频文件,并且决定呼叫另一用户的话,该用户可以不管正在播放视频的浏览器104,而讲出命令“拨号”,其中,没有选择的语音识别引擎将识别该命令并执行分离的命令以允许电子设备100呼叫特定的一方,而不是需要端用户提供“停止”的音频输入116并进一步退出视频播放应用以提供对第三方的拨号。
图6说明了用于根据媒体类型选择性选择语音识别引擎的方法的实施例的一个例子的步骤流程图。该过程开始于300,在步骤302,用户按下电子设备上的按钮来调用新服务。例如,用户可以滚动电子设备上可用服务的菜单并且进一步选择特定的网站或服务提供商。接下来的步骤是电子设备建立与远程通信网络的通信会话,如步骤304所示。通信会话的建立依据所建立的通信技术。
远程网络发送标记页面寻找特定服务类型,例如,提供语音XML命令“你需要什么服务?”,如步骤306所示。由此,用户可以提供音频输入“新闻”,如步骤308所示。远程内容服务器将新闻网页推送到可位于电子设备上的视频浏览器,如步骤310。
电子设备显示菜单,说明有各种可获得的新闻故事,并且允许用户通过选择链接或者URL来选择视频剪辑,如步骤312。由此,电子设备上的浏览器启用嵌入式语音识别引擎,同时从远程内容服务器中提取视频剪辑,如步骤314。接下来的步骤316允许显示视频剪辑,在视频剪辑播放过程中,用户说出命令“停止”,如步骤316所示。
响应于命令“停止”,嵌入式语音识别识别输入并且指令浏览器停止播放视频剪辑,如步骤318。而且,在这个例子中,用户然后可以点击任何其他所列的新闻URL。嵌入式语音识别引擎被禁用,从远程内容服务器中提取其他的新闻项,如步骤320。由此,方法在322完成,其中,在电子设备内,嵌入式语音识别引擎被禁用,直到基于特定环境的信息表明激活嵌入式语音识别引擎来识别与浏览器媒体显示相关联的相关项。
应该理解,本发明及其各种方面存在其他变化和修改的实现,本领域普通技术人员将很容易认识到这一点,而且本发明不限于这里所描述的特定的实施例。例如,语音识别引擎选择器106可以有效连接到任意数量的电子设备内或电子设备外的语音识别引擎,并且通过网络164或者通过任何其他服务器或代理的组合来通信,以使每个特定语音识别引擎可以提供对于浏览器104通过输出设备160所显示的媒体的单独或有利的语音识别能力。同时,媒体文件可以是流媒体文件或者具有多个媒体类型指示。因此本发明可以预见和涵盖任何和所有落入到这里公开和要求保护的基本潜在原理的精神和范围内的修改、变化或等价物。
权利要求1.一种用于选择性语音识别的方法,包括接收具有媒体类型指示的媒体文件;响应于媒体类型指示,选择所选的语音识别引擎,其中,所选的语音识别引擎包括第一语音识别引擎和第二语音识别引擎中至少一个;和使得所选语音识别引擎能够接收至少一个音频输入。
2.如权利要求1所述的方法,其中,所述媒体文件包括内容信息,所述方法进一步包括执行媒体程序以响应媒体类型指示;和显示媒体文件的内容信息。
3.如权利要求1所述的方法,进一步包括接收所述至少一个音频输入;和将所述至少一个音频输入提供给所选的语音识别引擎。
4.如权利要求3所述的方法,进一步包括从所选的语音识别引擎接收识别的音频输入;和执行操作以响应识别的音频输入。
5.如权利要求1所述的方法,其中,选择的步骤进一步包括比较媒体类型指示与第一语音识别引擎和第二语音识别引擎的每个的识别能力指示。
6.如权利要求1所述的方法,其中,第一语音识别引擎是嵌入式语音识别引擎,第二语音识别引擎是外部语音识别引擎。
7.如权利要求1所述的方法,其中,启用的步骤进一步包括禁用没有选择的语音识别,其中,没有选择的语音识别引擎是下述之一不是所选的语音识别引擎的第一语音识别引擎和第二语音识别引擎。
8.如权利要求7所述的方法,其中,启用至少一个语音识别引擎的步骤进一步包括将忽略输入列表提供给没有选择的语音识别引擎。
9.一种电子设备,包括能够接收音频输入的音频接收机;能够接收具有媒体类型指示的媒体文件的浏览器,该浏览器有效连接到音频接收机并且可有效连接到第一语音识别引擎和第二语音识别引擎;和语音识别引擎选择器,使得语音识别选择器根据媒体类型指示选择所选的语音识别引擎,其中,所选的语音识别引擎包括下述至少一个第一语音识别引擎和第二语音识别引擎,其中,当接收音频输入时,音频输入被提供给所选的语音识别引擎。
10.如权利要求9所述的电子设备,进一步包括能够从浏览器接收输出信号的输出设备,其中,输出信号表示位于媒体文件内的内容信息。
11.如权利要求9所述的电子设备,其中,第一语音识别引擎是嵌入式语音识别引擎,第二语音识别引擎是外部语音识别引擎。
12.如权利要求9所述的电子设备,其中,音频接收机接收音频输入,音频输入被提供给所选的语音识别引擎,以使语音识别引擎可以识别音频输入并且提供识别的输入给浏览器,其中,浏览器执行操作以响应识别的输入。
13.一种用于选择性语音识别的方法,包括接收具有媒体类型指示的媒体文件;确定媒体类型指示;响应于媒体类型指示,选择所选的语音识别引擎,其中,所选的语音识别引擎包括第一语音识别引擎和第二语音识别引擎中至少一个;和使得所选语音识别引擎能够接收至少一个音频输入。
14.如权利要求13所述的方法,其中,媒体文件包括内容信息,所述方法进一步包括执行媒体程序以响应媒体类型指示;显示媒体文件的内容信息;接收所述至少一个音频输入;和将所述至少一个音频输入提供给所选的语音识别引擎。
15.如权利要求14所述的方法,进一步包括从所选的语音识别引擎接收识别的音频输入;和执行操作以响应识别的音频输入。
16.如权利要求13所述的方法,其中,选择的步骤进一步包括比较媒体类型指示与第一语音识别引擎和第二语音识别引擎的每个的识别能力指示。
17.如权利要求13所述的方法,其中,第一语音识别引擎是嵌入式语音识别引擎,第二语音识别引擎是外部语音识别引擎。
18.如权利要求13所述的方法,其中,媒体文件包括内容信息,确定媒体类型指示的步骤包括下面至少一个检查文件类型扩展名、检查文件MIME类型、检查媒体文件的内容信息和检查浏览器所启动的应用。
全文摘要一种用于选择性语音识别的方法和装置,包括接收具有媒体类型指示(114)的媒体文件(112)。该方法和装置进一步包括接收媒体文件的浏览器(104),从浏览器(104)接收媒体类型指示的语音识别引擎选择器(106)。所选的语音识别引擎选择器(106)随后选择第一语音识别引擎(108)或者第二语音识别引擎(110),以响应媒体类型指示。该方法和装置进一步包括音频接收机(102),其接收音频输入(116),将其提供给启用的第一语音识别引擎(108)或第二语音识别引擎(110),由此允许通过禁用语音识别引擎(108或110)直到被语音识别引擎选择器(106)有效选择而降低功耗。
文档编号G10L15/28GK1723487SQ200380105363
公开日2006年1月18日 申请日期2003年11月18日 优先权日2002年12月13日
发明者塞纳卡·巴拉苏里亚 申请人:摩托罗拉公司